Skip to main content

UI Kit

The Kittl UI Kit provides a set of ready-made components that match the Kittl editor's look and feel. Use them to build extensions that feel native to the platform.

Packages

PackageDescriptionInstall
@kittl/uiWeb Components (Lit)npm install @kittl/ui
@kittl/ui-reactReact wrappersnpm install @kittl/ui-react
@kittl/ui-iconsIcon library (380+ icons)npm install @kittl/ui-icons
@kittl/ui-tokensDesign tokensnpm install @kittl/ui-tokens

Installation

Web Components

npm install @kittl/ui @kittl/ui-icons
import '@kittl/ui';

You can also import individual components for a smaller bundle:

import '@kittl/ui/Button';
import '@kittl/ui/Text';
caution

When importing individual components, you must also import the style loader once at the root of your app:

import '@kittl/ui/styles';

Without this import, components will render without their styles. The full import '@kittl/ui' includes styles automatically.

Using React?

Use @kittl/ui-react instead of @kittl/ui — it provides typed React components out of the box. See the React section below.

React

npm install @kittl/ui-react @kittl/ui-icons
import { Button, Text } from '@kittl/ui-react';

function App() {
return (
<div>
<Text variant="h2">My Extension</Text>
<Button variant="primary" size="m">Click me</Button>
</div>
);
}

Available Components

Browse the individual component pages in the sidebar for detailed props, events, slots, and usage examples.

ComponentTagDescription
Accordionkittl-accordionCollapsible content sections
Avatarkittl-avatarUser or team avatars
Badgekittl-badgeStatus and label badges
Buttonkittl-buttonPrimary action buttons
Cardkittl-cardContent cards with optional media
Headerkittl-headerExtension panel headers
Iconkittl-iconSVG icon renderer
Imagekittl-imageImage display with aspect ratios
Inputkittl-inputText input fields
Menukittl-menuDropdown menus
Popoverkittl-popoverFloating content panels
ScrollableAreakittl-scrollable-areaScrollable containers
SearchInputkittl-search-inputSearch input with icon and clear
Spinnerkittl-spinnerLoading indicators
Tabskittl-tabsTab navigation
Tagkittl-tagClickable tag labels
Textkittl-textTypography component
Toastkittl-toastNotification toasts
Tooltipkittl-tooltipHover tooltips