Klarhimmel UI

Components

  • Collection controlsCollection controls

    Native search, filter and sort controls that collapse their options in narrow containers.

  • Score ringScore ring

    A score from 0 to 100 with a text equivalent. Unassessed is distinct from zero.

  • Source noteSource note

    A quiet provenance message next to the data: source, freshness and limitations.

  • ButtonButton

    Triggers an action. Five variants, three sizes, a 44 pixel hit area at every size.

  • Button linkButton link

    An anchor styled as a button, for navigation that should look like an action.

  • Text linkText link

    An inline link with an underline that stays visible, and a focus ring.

  • Copy buttonCopy button

    An icon button that copies a value and confirms with a check.

  • InputInput

    A single-line text field with the system's border, focus ring and invalid state.

  • TextareaTextarea

    Multi-line text, resizable vertically.

  • FieldField

    Label, control and a hint or error, with the ids wired for assistive tech.

  • SwitchSwitch

    An on/off control for settings that apply right away. Built on Radix Switch.

  • TabsTabs

    Switch between views of the same thing. Built on Radix Tabs, arrow keys move between tabs.

  • BadgeBadge

    A short label for status or category.

  • CardCard

    A surface that groups related content: flat, raised or sunken.

  • KbdKbd

    A keyboard key, for shortcuts in text and menus.

  • Icon buttonIcon button

    A button with only an icon. The label is its accessible name and its tooltip, so it can never be unnamed.

  • AvatarAvatar

    A person or team as a photo, or as initials on a colour picked from the name.

  • BannerBanner

    An inline message in the page flow: information, a notice or an error, with an optional next step.

  • CheckboxCheckbox

    A box that is on, off or mixed, with its label inside a 44 px row. Built on Radix Checkbox.

  • DialogDialog

    A modal window that traps focus, closes on Escape and gives focus back. Built on Radix Dialog.

  • Empty stateEmpty state

    What a list or page shows when there is nothing yet: an icon, one sentence and one next step.

  • File fieldFile field

    A styled file picker: label, button, the chosen names, and a hint or an error. The native input stays in the form.

  • MenuMenu

    A list of actions behind a button. Arrow keys move, type-ahead jumps. Built on Radix Dropdown Menu.

  • Native selectNative select

    The browser's own select in the system's field style. Best on phones and for short lists.

  • PopoverPopover

    A small floating panel next to its trigger, for extra detail or a tiny form. Built on Radix Popover.

  • SkeletonSkeleton

    A pulsing placeholder for content that is on its way. It stops pulsing when motion is reduced.

  • ToastToast

    A short message that appears at the bottom, from anywhere in the app, and leaves by itself.

  • TooltipTooltip

    A short label for a control, shown on hover and keyboard focus. Built on Radix Tooltip.

  • AccordionAccordion

    A stack of headings that each open and close a panel. One open at a time, or several.

  • CollapsibleCollapsible

    One button that shows or hides extra content below it.

  • BreadcrumbBreadcrumb

    The path to the current page: links up the tree, then the page itself.

  • PaginationPagination

    Page navigation with Previous, Next and numbered pages, as buttons or as plain links.

  • LabelLabel

    The visible text that names a form control.

  • Radio groupRadio group

    One choice from a few options that are all visible. Built on native radio inputs.

  • SelectSelect

    A custom dropdown with a keyboard-complete listbox, type-ahead and form value.

  • ComboboxCombobox

    A text field that filters a list as you type and picks one option.

  • SliderSlider

    A single-value slider on the native range input.

  • ToggleToggle

    A button that stays pressed: bold, favourite, mute.

  • Toggle groupToggle group

    A row of toggles that belong together: pick one, or any number.

  • TableTable

    A semantic data table in a keyboard-scrollable frame, with sortable headers.

  • SeparatorSeparator

    A hairline between groups, horizontal or vertical.

  • ProgressProgress

    A bar for a task with a known share done, or an indeterminate one while it works.

  • Alert dialogAlert dialog

    A confirmation that cannot be dismissed by accident. Built on Dialog.

  • SheetSheet

    A modal side panel for a task that keeps the page in view. Built like Dialog.

  • Input groupInput group

    One field made of parts: a prefix or suffix, the input and a button, sharing one border and one focus ring.

  • Input OTPInput OTP

    A code split into boxes that behave as one field: paste fills them all, Backspace goes back, autofill works.

  • Number fieldNumber field

    A number you can type or step, with minus and plus buttons: the WAI-ARIA spin button.

  • StepperStepper

    Where someone is in a flow: numbered steps, the current one marked, each step's state said in words.

  • Avatar groupAvatar group

    People who share something, overlapped, with the rest collapsed into a named +N chip.

  • Scroll areaScroll area

    Content that scrolls inside a fixed box: a named region, a tab stop, a thin scrollbar and a soft edge where there is more.

  • CalendarCalendar

    A month of days to choose from: the WAI-ARIA date picker grid, with today named and unavailable days said.

  • Date pickerDate picker

    A date field you can type or pick: the text takes ISO or day-first, the button opens the calendar in a dialog.

  • CommandCommand

    A search box over a list of actions, and the Cmd+K palette that puts it in a dialog.

  • Context menuContext menu

    The menu that opens where you right-click, and from the keyboard with the Menu key or Shift+F10.

  • Hover cardHover card

    A preview of where a link goes, shown on hover and on keyboard focus, never the only copy.