UI Kit
Optional components for Qalma editor surfaces
@qalma/editor stays headless. @qalma/kit is the optional Tailwind-first layer for teams that want ready-made buttons, toolbar pieces, floating menus, and editor popovers without giving up ownership of their product UI.
When to use it
Use the kit when Qalma's default interaction pieces match your editor surface. Skip it, or use only part of it, when your application already owns controls through PrimeNG, Material, Kendo, ng-zorro, or a private design system.
Headless first
The editor contract remains commands, queries, plugins, and Angular templates.
Token driven
The kit reads app-owned CSS variables through Tailwind utilities.
Replaceable
Every visual piece can be swapped for your own design-system component.
Installation
Install the kit next to the headless editor. The package expects your app to provide Tailwind utilities and the CSS token contract described in the theming page.
pnpm add @qalma/editor @qalma/kit @ng-icons/core @ng-icons/lucideThe kit does not ship a stylesheet to import. With Tailwind v4, point Tailwind at the installed package so it generates the utilities used inside kit components.
@import 'tailwindcss';
/* Adjust the path if your global stylesheet is not src/styles.css. */
@source '../node_modules/@qalma/kit';Theming
The kit reads normal Tailwind classes such as bg-popover, text-muted-foreground, border-border, and ring-ring. Map those to your app tokens once, then override individual components where your product needs a stronger opinion.
Components
Each component has its own page with a live preview, expandable source snippet, API notes, and integration guidance.
Toolbar Button
Icon command button wired to the headless QalmaCommand API.
Toolbar Registry
Declarative command groups with separators and custom template slots.
Mention Menu
Caret-anchored mention suggestions with keyboard movement.
Slash Command Menu
Block command palette for slash workflows.
Link Popover
Preview/edit surface for link marks.
Contextual Toolbar
Floating inline formatting toolbar for text selections.
Drag Handle
Block handle, action menu, highlight, and drop indicator.
Behavior primitives
Some exports are not visible components, but are still public because consumers may need the same placement, dismissal, or keyboard behavior for custom surfaces.
View behavior primitives