ComposeKit Docs
Render Mode 3

Individual Components

Every ComposeKit plugin is also a standalone React component. Import only what you need — no renderer, no widget ID, no CDN. You own the layout; ComposeKit provides the components. This mode is fully tree-shakeable.

Most components are built on top of Radix UI primitives and shadcn/ui, styled with Tailwind CSS v4. The Chart component is powered by Recharts. Additional components will be added in future releases.

Available components
ComponentImport pathCategorySince
ComposeKitButton@brainpiper/composekit/buttonActions0.0.1-beta.1
ComposeKitButtonGroup@brainpiper/composekit/button-groupActions0.0.1-beta.1
ComposeKitOverlay@brainpiper/composekit/overlayActions0.0.1-beta.1
ComposeKitInput@brainpiper/composekit/inputForm0.0.1-beta.1
ComposeKitTextarea@brainpiper/composekit/textareaForm0.0.1-beta.1
ComposeKitSelect@brainpiper/composekit/selectForm0.0.1-beta.1
ComposeKitRadioGroup@brainpiper/composekit/radio-groupForm0.0.1-beta.1
ComposeKitToggle@brainpiper/composekit/toggleForm0.0.1-beta.1
ComposeKitHeading@brainpiper/composekit/headingDisplay0.0.1-beta.1
ComposeKitParagraph@brainpiper/composekit/paragraphDisplay0.0.1-beta.1
ComposeKitBadge@brainpiper/composekit/badgeDisplay0.0.1-beta.1
ComposeKitAlert@brainpiper/composekit/alertDisplay0.0.1-beta.1
ComposeKitAvatar@brainpiper/composekit/avatarDisplay0.0.1-beta.1
ComposeKitImage@brainpiper/composekit/imageDisplay0.0.1-beta.1
ComposeKitSeparator@brainpiper/composekit/separatorDisplay0.0.1-beta.1
ComposeKitCard@brainpiper/composekit/cardStructure0.0.1-beta.1
ComposeKitSection@brainpiper/composekit/sectionStructure0.0.1-beta.1
ComposeKitAccordion@brainpiper/composekit/accordionStructure0.0.1-beta.1
ComposeKitTabs@brainpiper/composekit/tabsStructure0.0.1-beta.6
ComposeKitStepper@brainpiper/composekit/stepperStructure0.0.1-beta.6
ComposeKitToast@brainpiper/composekit/toastActions0.0.1-beta.6
ComposeKitList@brainpiper/composekit/listStructure0.0.1-beta.1
ComposeKitCarousel@brainpiper/composekit/carouselStructure0.0.1-beta.1
ComposeKitGrid@brainpiper/composekit/gridStructure0.0.1-beta.1
ComposeKitSpinner@brainpiper/composekit/spinnerFeedback0.0.1-beta.6
ComposeKitTree@brainpiper/composekit/treeStructure0.0.1-beta.7
ComposeKitChart@brainpiper/composekit/chartCharts0.0.1-beta.2
ComposeKitPagination@brainpiper/composekit/paginationStructure0.0.1-beta.10NEW
ComposeKitNavigationMenu@brainpiper/composekit/navigation-menuStructure0.0.1-beta.10NEW
ComposeKitSidebar@brainpiper/composekit/sidebarStructure1.0.8
Import
MyPage.tsx
// Import only what you need — fully tree-shakeable
import { ComposeKitButton }    from '@brainpiper/composekit/button';
import { ComposeKitInput }     from '@brainpiper/composekit/input';
import { ComposeKitSelect }    from '@brainpiper/composekit/select';
import { ComposeKitToggle }    from '@brainpiper/composekit/toggle';
import { ComposeKitChart }     from '@brainpiper/composekit/chart';
import { ComposeKitTabs }      from '@brainpiper/composekit/tabs';
import { ComposeKitStepper }   from '@brainpiper/composekit/stepper';
import { ComposeKitToast }     from '@brainpiper/composekit/toast';
import { ComposeKitSpinner }   from '@brainpiper/composekit/spinner';
import { ComposeKitTree }      from '@brainpiper/composekit/tree';
// ... any of the available components
No init required
ProfileForm.tsx
// No ComposeKitClient.init() needed.
// No widgetId, no CDN fetch, no layout descriptor.
import { ComposeKitButton } from '@brainpiper/composekit/button';
import { ComposeKitInput }  from '@brainpiper/composekit/input';

function ProfileForm() {
    return (
        <form>
            <ComposeKitInput label="Name" dataPath="profile.name" />
            <ComposeKitInput label="Email" type="email" dataPath="profile.email" />
            <ComposeKitButton label="Save" variant="default" />
        </form>
    );
}

Live demos

Edit the code on the left — the preview updates live on the right.