Typix LogoTypix
Primitives

Primitives

Low-level building blocks for Typix UI — three editor-specific primitives plus the full shadcn primitive set, all vendorable via the CLI.

Primitives are the smallest unit of Typix UI. Most are standard shadcn/ui primitives with no Typix-specific behavior — you can use them anywhere in your app. Three are editor-aware: Toolbar (with role="toolbar" semantics), Kbd (for shortcut hints), and ColorSelector (the palette picker used by color buttons).

All primitives are auto-vendored as dependencies when you run typix ui add for a component that needs them. You can also vendor any primitive on its own:

npx typix ui add button dropdown-menu tooltip

Typix-specific

PrimitiveDescription
Toolbarrole="toolbar" container, with ToolbarGroup, ToolbarSeparator, ToolbarSpacer, ToolbarButton, ToolbarToggleGroup, ToolbarToggleItem, and ToolbarLink.
KbdStyled <kbd> for keyboard shortcut hints.
ColorSelectorPalette picker used by the color text + highlight buttons.

Shadcn primitives

These follow the standard shadcn/ui API. The vendored source lives in components/typix/primitives/<name>/ and you can edit it like any shadcn component. See ui.shadcn.com for full API references.

PrimitiveVendor namePurpose
AvataravatarUser / entity avatar with image + fallback.
BadgebadgeSmall label / status pill.
ButtonbuttonBase button with variants.
CalendarcalendarDate picker grid.
CardcardSurface container with header / content / footer.
CheckboxcheckboxBoolean input.
CommandcommandSearchable command palette primitive (used by MentionUI, SlashDropdownMenu).
ContextMenucontext-menuRight-click menu (the primitive, not EditorContextMenu).
DialogdialogModal dialog.
DropdownMenudropdown-menuClick-anchored menu.
InputinputSingle-line text input.
LabellabelAccessible form label.
PopoverpopoverFloating positioned content.
RadioGroupradio-groupSingle-select radio set.
ScrollAreascroll-areaStyled overflow container.
SelectselectNative-style dropdown.
Separatorseparator1px divider.
SkeletonskeletonLoading-state placeholder.
SlidersliderRange input.
SwitchswitchBoolean toggle.
TabstabsTabbed panels.
TextareatextareaMulti-line text input.
ToggletoggleTwo-state press button.
ToggleGrouptoggle-groupGroup of toggles (single or multi).
TooltiptooltipHover-anchored hint.

On this page