Skip to main content

Module components

Module components 

Source
Expand description

Components implemented against the pinned upstream CSS and fixtures.

Modules§

alert
Static and announced feedback from alert.css.
avatar
Initials or a picture standing in for a person, from avatar.css.
badge
Status labels, interactive tags, and keyboard keys from badge.css.
breadcrumb
The path to the current page, from breadcrumb.css.
button
Native actions styled by upstream’s button.css.
button_group
Groups of related actions: connected button groups and general control groups, from button-group.css and control-group.css.
card
Composable surfaces matching card.css and its reference fixtures.
carousel
A scrolling row of slides with paging buttons, from carousel.css. A port of upstream’s carousel.ts.
chat
The chat surface: a log of message groups, from chat.css.
check
Checkboxes, radios, switches, and their groups, from check.css.
citation
Inline citation markers and the source list they point to, from citation.css.
code
Source code for reading, from code.css.
composer
The chat composer, from composer.css. Behaviour ports upstream’s composer.ts.
context_strip
Provider, model, and effort as one piece of state, from context-strip.css. The rules are crate::behavior::context, ported from upstream’s context-strip.ts.
datepicker
A month grid for browsing and choosing dates, and a segmented time entry, from datepicker.css. The grid ports upstream’s datepicker.ts.
description_list
Term and value pairs, from description-list.css.
dialog
Modal and non-modal dialogs, side sheets, and bottom sheets, from dialog.css.
diff
A line diff for review, from diff.css, on upstream’s fc-diff model (Myers’ O(ND) diff, the same code upstream can run as WASM).
disclosure
Native show/hide sections, from disclosure.css.
divider
A thematic break or a vertical separator, matching divider.css.
editor
A rich text editor from editor.css, with Prose for rendered rich text.
empty_state
What a region shows when it has nothing to show, from empty-state.css.
fab
The floating action button and its menu, from fab.css.
field
Labelled form fields, inputs, input groups, choice cards, and the error summary, from field.css and form-variants.css.
git
A working-tree view: branch, status counts, changed files, and per-file line stats, from git.css, on upstream’s fc-git model.
grid
A spreadsheet-like data grid from grid.css: sticky headers, one tab stop, rectangular selection, and in-cell editing, on upstream’s fc-grid cell and range model.
icon
Upstream’s built-in SVG icon set, styled by icon.css, and icon-only buttons.
list
Rows of one to three lines with optional leading and trailing content, from list.css.
loading
Skeletons, linear progress, and the progress ring, from loading.css.
masthead
The application header, from masthead.css.
menu
Menus, menu buttons, and context menus, from menu.css, on upstream’s fc-context-menu model.
multiselect
A disclosure of checkboxes with filtering and bulk actions, from multiselect.css. A port of upstream’s multiselect.ts.
nav
The navigation sidebar and its icon rail, from nav.css. Collapsing ports upstream’s nav.ts.
navbar
The bottom navigation bar for narrow screens, from navbar.css.
pagination
Numbered page navigation, from pagination.css.
popover
Native popovers and tooltips, from popover.css.
reasoning
A collapsible reasoning trace, from reasoning.css.
search
A search landmark with a suggestions view, from search.css.
segmented
A row of mutually exclusive or independent options drawn as one control, from segmented.css.
select
A value-selecting combobox and its listbox, from select.css, on upstream’s fc-select model.
semantic
Lifecycle-aware cards for agent interfaces: agent status, metric, transfer, approval, user prompt, and device authorization, from their stylesheets of the same names.
slider
A native range input with a filled track and visible value, from slider.css. The fill is a port of upstream’s slider.ts.
spinner
Indeterminate activity indicators and shimmering status text, from spinner.css.
split_button
A main action joined to a menu of related actions, from split-button.css.
splitter
Resizable split panes and edge handles on the WAI-ARIA window splitter pattern, from splitter.css. The behaviour ports upstream’s splitter.ts; the arithmetic is in crate::behavior::splitter.
suggestion
Suggested prompts and follow-ups, from suggestion.css.
table
Data tables with sortable columns, from table.css. Sorting ports upstream’s table.ts; see crate::behavior::sort.
tabs
Tabs on the APG keyboard contract, from tabs.css. A port of upstream’s tabs.ts.
terminal
A terminal transcript from terminal.css: styled output lines, a prompt, a status bar with the exit code, and a cursor.
theme_picker
A theme picker from theme-picker.css: every design as a live preview card, and selects for palette, scheme, and contrast.
toast
Brief, non-blocking notifications and the queue that times them, from toast.css.
tool_call
A recorded or running operation, from tool-call.css.
toolbar
A toolbar on the WAI-ARIA keyboard contract, from toolbar.css. A port of upstream’s toolbar.ts: one tab stop, arrows within, Home and End to the ends; natively disabled items are skipped, while aria-disabled ones stay reachable so they can be discovered.
webview
Embedded browser chrome from webview.css: page tabs, back and forward, an address bar with a security indicator, the frame, and a load-error overlay.