Everything @umriss-ui/core exports, with its signature. A component's props stand on its own page.
AccordionAccordion – Long content in sections behind headers the user opens one or several at a time (also called collapsible sections or a disclosure). Reach for it where a reader needs a few of many sections, such as settings, a runbook or a report.
Used on CommandPalette and Accordion.
AccordionItemAccordion – One section of an Accordion: its header and the content it opens.
Used on Accordion.
AlertAlert – A message that stays in the page until its matter is settled (also called a banner or callout). Reach for it when the reader must notice something here: a failed import, an approval waiting, a form that did not save.
Used on Scenarios, Splitter, Textarea, Slider, FileInput, DateTimePicker, Alert and Stepper.
AngleGlyphThe chevron that expands and collapses a branch. Drawn pointing right; rotate it by 90 degrees for an open branch.
function AngleGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;Used on CommandPalette.
BadgeBadge – A small word or number at the edge of something else: a status, a count (also called a label or chip). Reach for it to mark the state of a row, or how many items wait behind a button.
Used on Scenarios, Theming, Stack and Grid, Card, Splitter, Typography, Slider, Switch, MultiSelect, ProgressBar, Toast, Menu, Drawer, Tabs, Accordion and Badge.
BreadcrumbBreadcrumb – Shows where the current page sits in a hierarchy and leads back up to any level above it (also called a trail or path). Where the trail runs out of room, its middle levels fold into a menu.
Used on Scenarios and Breadcrumb.
ButtonButton – Starts one action when pressed: save, send, deploy, delete. Its variant says how much weight the action carries beside its neighbours, and while the action runs it shows that it is busy and cannot be pressed twice.
Used on Scenarios, Installation, UmrissProvider, Theming, Sizes, Language, Stack and Grid, Divider, Card, Splitter, VisuallyHidden, Button, IconButton, ButtonGroup, Input, FormField, Textarea, FileInput, Combobox, Spinner, ProgressBar, Skeleton, Alert, Toast, EmptyState, Tooltip, Popover, Menu, Modal, Drawer, ConfirmDialog, CommandPalette, Breadcrumb, Accordion, Stepper, TreeView, Benchmark, Badge and Tag.
ButtonGroupButtonGroup – Joins buttons that act on the same thing into one control. Its companion SplitButton runs one main action and keeps the rarer variants in a menu beside it (also called a dropdown or menu button).
Used on Sizes, IconButton and ButtonGroup.
CalendarGlyphA calendar leaf: a sheet with its header and two rings. With range, a
bar across the sheet stands for the span a range picker chooses.
function CalendarGlyph({ ref, size, range, ...rest }: GlyphProps & {
range?: boolean;
}): import("react").JSX.Element;CardCard – A surface that holds one block of a screen together: a head with its title and actions, and a body (also called a panel or tile). Reach for it for each block of a dashboard or a detail view.
Used on Scenarios, UmrissProvider, Theming, Sizes, Stack and Grid, Card, Splitter, Typography, Button, NumberInput, Slider, Switch, SegmentedControl, FileInput, Combobox, Spinner, ProgressBar, EmptyState, CommandPalette, Breadcrumb, Tabs, Accordion, Stepper and Stat.
CardBodyCard – The content of a Card; the part that folds away in a collapsible card.
flush removes the padding for a table or a log.
Used on Scenarios, UmrissProvider, Theming, Sizes, Stack and Grid, Card, Typography, Button, NumberInput, Slider, Switch, SegmentedControl, FileInput, Combobox, Spinner, ProgressBar, EmptyState, Breadcrumb, Tabs, Accordion, Stepper and Stat.
CardHeaderCard – The head of a Card: title, an optional eyebrow and actions on the right.
In a collapsible card it carries the fold key.
Used on Scenarios, UmrissProvider, Theming, Sizes, Card, Button, NumberInput, Slider, Switch, FileInput, Combobox, Spinner, ProgressBar, EmptyState, Tabs, Accordion, Stepper and Stat.
CheckboxCheckbox – A yes or no that counts when the form is saved (tick box). It also shows the mixed state of a parent whose children are partly checked.
Used on Scenarios, Theming, Sizes, ButtonGroup, FormField, Checkbox, Popover, Drawer and CommandPalette.
ClockGlyphA clock face at a quarter past - the time pickers' character.
function ClockGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;ComboboxCombobox – One choice from a long list, found by typing (autocomplete, typeahead, searchable select): a driver, a service, an account. The list filters along while the value stays exactly one.
Used on Scenarios, Language, Combobox, Popover and CommandPalette.
CommandPaletteCommandPalette – A search field above the page that finds commands and places as you type (also called a command menu or quick switcher). Reach for it when an application has more actions and pages than any menu can show.
Used on CommandPalette.
ConfirmDialogConfirmDialog – A small modal window with one question and two buttons, for the moment before something that cannot be undone (also called a confirmation). Reach for it before deleting, rejecting or closing for good.
Used on Scenarios, Modal and ConfirmDialog.
ContextMenuContextMenu – A menu that opens at a point, for a right-click on something that is not a button: a row, a canvas, a bar in a schedule (also called a right-click menu). The entries and the keyboard are those of the menu.
Used on ContextMenu.
ControlSizeProviderSizes – Sets the size of the controls inside it - every control with size takes
it unless it says its own. A popover, dialog or tooltip opened from inside
starts without it.
Used on Sizes and SegmentedControl.
CrossGlyphThe cross that clears a field, removes a tag or a chip, and closes a dialog, a toast or an alert - one drawing at the size of its place.
function CrossGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;Used on IconButton.
DatePickerDatePicker – One day, picked in a calendar (date field): a delivery date, a due date. Weeks begin on Monday.
Used on Scenarios, UmrissProvider, Sizes, Language, FormField and DatePicker.
DateRangePickerDateRangePicker – A span of days, from one day to another (date range): leave, a sprint, a reporting period. Two months side by side, presets for the usual spans, and the days counted while the pointer moves.
Used on Sizes and DateRangePicker.
DateTimePickerDateTimePicker – One moment, day and time of day in one field (date-time field): when an incident began, when an alert fired.
Used on Scenarios and DateTimePicker.
DateTimeRangePickerDateTimeRangePicker – A span with a time at each end (date-time range): a planned downtime, a release freeze, the minutes an objective was breached. The footer shows the duration while it is set.
Used on Sizes and DateTimeRangePicker.
DividerDivider – A line between two groups of content, across or upright, that may name the part after it (also called a separator or rule).
Used on Stack and Grid, Divider, Switch, ProgressBar and CommandPalette.
DrawerDrawer – A modal window that slides in from the left or right edge of the screen (also called a side sheet or side panel). Reach for it for the detail of something picked from a list, while the list stays in sight behind it.
Used on Scenarios, Modal, Drawer and CommandPalette.
EmptyStateEmptyState – What stands where a list or panel has nothing to show: what is missing, why, and the way forward (also called a blank slate). Reach for it for a first use, a filter that found nothing, or a queue that is clear.
Used on Card, EmptyState, Tabs and Tag.
FileInputFileInput – Choose files from the system's dialog or drop them on the zone (file picker, upload field). The chosen files are listed with their size and can be removed one by one.
FormFieldFormField – The frame around a field: its label, a hint below it and the error that replaces the hint. Wrap every field in one, so the question, the help and the problem are read out together.
Used on Scenarios, UmrissProvider, Sizes, Language, Button, Input, FormField, Textarea, NumberInput, Slider, Checkbox, Switch, RadioGroup, SegmentedControl, FileInput, Select, Combobox, MultiSelect, DatePicker, DateTimePicker, DateRangePicker, DateTimeRangePicker, Alert, Toast, Modal, Breadcrumb, Accordion and TreeView.
FormFieldBoundaryResets the FormField context. For the innards of panels (search field, option checkboxes) that are rendered through a portal inside a FormField: without a boundary they inherit its field id - a click on an option label then activates the field's trigger through htmlFor and closes the panel again immediately.
function FormFieldBoundary({ children }: {
children: ReactNode;
}): import("react").JSX.Element;GridStack and Grid – Children in a grid: a fixed number of columns, a list of column widths,
or as many columns as fit at minItemWidth.
Used on Scenarios, Theming, Sizes, Language, Stack and Grid, Card, Splitter, Typography, Input, FormField, Textarea, NumberInput, Slider, Checkbox, Switch, RadioGroup, FileInput, Select, Combobox, MultiSelect, DatePicker, DateTimePicker, DateRangePicker, DateTimeRangePicker, Modal, Drawer, CommandPalette, Breadcrumb, Tabs, TreeView, Stat and Meter.
GridGlyphThe grid laid over an area. Two by two lines; the frame is missing on purpose, otherwise it would be a window.
function GridGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;Used on CommandPalette.
GripGlyphThe grip a drag is taken by: two grooves. Dots are fill, and point 4 of the specification draws with the stroke.
function GripGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;HeadingTypography – A heading whose level and size are independent: a small heading can still be the second level of the page.
Used on Scenarios, Stack and Grid, Typography and Breadcrumb.
IconButtonIconButton – A square button that shows only an icon (also called an icon-only button): refresh, export, close, the actions of a row. Reach for it where the icon is known well enough to stand alone; its name is required and shows as a tooltip.
Used on Button, IconButton and Menu.
InputInput – A single line of text (text field, text box): names, references, addresses, search terms. Reach for it whenever the answer is short free text; for numbers take a NumberInput.
Used on Sizes, Button, Input, FormField, Alert, Toast, Modal, CommandPalette and Accordion.
LanguageProviderSets formatting and wording for the subtree below. Used by the root provider, and usable directly for a section as well.
function LanguageProvider({ formats, wording, children }: LanguageProviderProps): import("react").JSX.Element;Used on Language.
LinkTypography – A link in the size of its text; external opens it in a new tab with the
protective attributes set.
Used on Scenarios, Theming, Typography and Menu.
MeasureGlyphMeasuring: a line with two end marks. Not a ruler with a scale: the teeth would be a grey stripe at ten nominal units.
function MeasureGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;MenuMenu – A list of actions that opens under a button (also called a dropdown menu). Reach for it when a place has more actions than room for buttons, or for the actions of each row in a list.
Used on Scenarios, UmrissProvider, IconButton, Popover, Menu and CommandPalette.
MenuItemMenu – An entry of a Menu or a ContextMenu. It runs onSelect and closes the
menu.
Used on Scenarios, UmrissProvider, IconButton, ButtonGroup, Menu and ContextMenu.
MenuSeparatorFine dividing line between groups of menu entries.
function MenuSeparator({ ref, className, ...rest }: HTMLAttributes<HTMLDivElement> & RefProp<HTMLDivElement>): import("react").JSX.Element;Used on Scenarios, IconButton, ButtonGroup, Menu and ContextMenu.
MeterMeter – A bar that shows a measured share, such as capacity booked or budget used, coloured by your verdict on it (also called a gauge bar or level indicator). Reach for it in lists and tables where a percentage alone is hard to compare.
MinusGlyphThe minus of NumberInput's step buttons.
function MinusGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;Used on IconButton.
ModalModal – A window above the page that holds the focus until it is answered or closed (also called a dialog). Reach for it for a short task that interrupts the page: create an item, edit its settings, read a policy.
Used on Scenarios, Sizes, Toast, Modal, Drawer and CommandPalette.
ModalBodyThe content of a Modal or Drawer - the part that scrolls while head and
foot stand fast.
function ModalBody({ ref, className, children, ...rest }: HTMLAttributes<HTMLDivElement> & RefProp<HTMLDivElement>): import("react").JSX.Element;ModalFooterThe foot of a Modal or Drawer, for its buttons; they stand at the end.
function ModalFooter({ ref, className, children, ...rest }: HTMLAttributes<HTMLDivElement> & RefProp<HTMLDivElement>): import("react").JSX.Element;ModalHeaderModal – The head of a Modal or Drawer: its title, which names the dialog for a
screen reader, an optional sentence below it, and the close cross.
MultiSelectMultiSelect – Several values from a list (multi-select, tag picker): a project team, services to filter by. The chosen ones stand as chips in the field, with a view in the panel that shows only them.
Used on Scenarios, Sizes, MultiSelect, Popover and CommandPalette.
NumberInputNumberInput – A number typed exactly (numeric field, spin box): an amount, a weight, hours. It shows the unit inside the field, keeps the value in its range and steps with the arrow keys.
Used on Scenarios, Sizes, Language, FormField, NumberInput, Slider, Switch, Modal, CommandPalette and Accordion.
PlusGlyphThe plus of NumberInput's step buttons.
function PlusGlyph({ ref, size, ...rest }: GlyphProps): import("react").JSX.Element;Used on IconButton.
PopoverPopover – A surface that hangs from a trigger and closes on Escape, an outside click or scrolling (also called a popup, flyout or dropdown panel). Reach for it for a small panel of your own: a filter, a detail, a short form.
Used on Popover and CommandPalette.
ProgressBarProgressBar – A bar that shows how far a job has come, or that it runs while nobody knows how far (also called a progress indicator). Reach for it for imports, uploads and anything else that counts towards an end.
Used on Scenarios, ProgressBar and Stepper.
RadioGroupRadioGroup – One choice out of a few that all stay in view (radio buttons, option group). Each option may carry a sentence that explains it.
Used on Scenarios, Sizes and RadioGroup.
SegmentedControlSegmentedControl – One choice out of a few short possibilities, drawn as one control with a segment for each (segmented button, button toggle): a sunken track, the choice lifted out of it. As tall as a select, so it stands in a row of fields too.
Used on Sizes and SegmentedControl.
SelectSelect – One choice from a short, known list (dropdown). Under a mouse and the keys it opens the Combobox's list; under a finger the system's picker, a wheel on the phone.
Used on Scenarios, Sizes, FormField, SegmentedControl, Select, Toast, Popover, Modal, CommandPalette, Accordion and Tag.
SkeletonSkeleton – Grey shapes that stand where content is still loading and hold the height it will have (also called a placeholder or shimmer). Reach for it when you know the layout of what is coming, so nothing jumps when it arrives.
SliderSlider – A value set roughly between two bounds (range slider): a share of traffic, an alert threshold, weekly hours. The position on the track says as much as the figure.
Used on Scenarios, Sizes, Slider, CommandPalette, Breadcrumb and Accordion.
SparklineSparkline – A small line of a history, at the height of a line of text, without axes or labels (also called a micro chart). Reach for it beside a value or in a table cell, where the shape of the last hours tells more than the figure alone.
SpinnerSpinner – A turning circle that says something is running, without saying how far (also called a loading indicator). Reach for it for short waits whose length nobody knows, beside a word that says what runs.
Used on Spinner.
SplitButtonButtonGroup – A main action with a menu of its variants: the button on the left runs
onClick, the arrow on the right opens menu. The ref goes to the main
button.
Used on ButtonGroup.
SplitterSplitter – Two panes with a draggable line between them (also called a split view or resizable panes). Use it when the user needs both at once and decides how much of each: a list beside its detail, a chart above its alerts.
Used on Splitter and CommandPalette.
StackStack and Grid – Children below or beside one another, spaced by a step of the spacing scale.
Used on Scenarios, UmrissProvider, Theming, Sizes, Language, Stack and Grid, Divider, Card, Splitter, Typography, VisuallyHidden, Button, IconButton, ButtonGroup, Input, FormField, Textarea, NumberInput, Slider, Checkbox, Switch, SegmentedControl, FileInput, Select, Combobox, MultiSelect, DatePicker, DateTimePicker, DateRangePicker, DateTimeRangePicker, Spinner, ProgressBar, Skeleton, Alert, Toast, EmptyState, Tooltip, Popover, Menu, ContextMenu, Modal, Drawer, ConfirmDialog, CommandPalette, Breadcrumb, Tabs, Accordion, Stepper, TreeView, Badge, Tag, Stat, Meter and Sparkline.
StatStat – A single figure with its verdict: read against limits, with the history before it, the deviation from its target and how fresh it is (also called a KPI tile or metric card). Reach for it for the few numbers a screen is watched for.
StepperStepper – Shows how far a procedure has come: which steps are done, which one is being worked on, which lie ahead and which failed (also called a progress tracker). Reach for it for approvals, rollouts and closing routines.
SwitchSwitch – On or off, taking effect at once (toggle): paging at night, autoscaling, a feature for one service. A screen reader announces it as a switch, on or off.
Used on Scenarios, Theming, Sizes, Switch, Toast, Drawer, CommandPalette and Accordion.
TabTabs – One tab of a TabList; choosing it shows the TabPanel of the same
value.
Used on Scenarios, Card, Typography, VisuallyHidden, Button, IconButton, ButtonGroup, Input, Textarea, RadioGroup, SegmentedControl, Select, Alert, Toast, Tooltip, Menu, Modal, Drawer, ConfirmDialog, Breadcrumb, Tabs, Accordion and Tag.
TabListThe row of Tabs inside Tabs. The arrow keys, Home and End move
between the tabs and choose them.
function TabList({ ref, className, children, onKeyDown, ...rest }: HTMLAttributes<HTMLDivElement> & RefProp<HTMLDivElement>): import("react").JSX.Element;TabPanelTabs – The content of one tab. Only the panel whose value is chosen stands in
the document.
TabsTabs – Several views of one thing in one place, exactly one of them visible (also called a tab bar). Reach for tabs when the views are alternatives the user switches between, not content to compare side by side.
Used on Scenarios, CommandPalette and Tabs.
TagTag – A short label on content that the user can remove where you allow it (also called a chip). Reach for it for active filters, chosen values and assignments.
Used on Scenarios, Stack and Grid, EmptyState and Tag.
TagGroupTag – A list of Tags with one tab stop: the arrow keys move between them, and
the focus stays in the group when one is removed.
Used on Scenarios, EmptyState and Tag.
TextTypography – Body text from the token set; as chooses the element, independent of the
size.
Used on Scenarios, UmrissProvider, Theming, Sizes, Language, Stack and Grid, Divider, Card, Splitter, Typography, VisuallyHidden, Button, IconButton, ButtonGroup, Input, FormField, Textarea, NumberInput, Slider, Switch, SegmentedControl, FileInput, Select, Combobox, MultiSelect, DatePicker, DateTimePicker, DateRangePicker, DateTimeRangePicker, Spinner, ProgressBar, Skeleton, Toast, EmptyState, Tooltip, Popover, Menu, ContextMenu, Modal, Drawer, ConfirmDialog, CommandPalette, Breadcrumb, Tabs, Accordion, Stepper, TreeView, Benchmark, Badge, Tag, Stat, Meter and Sparkline.
TextareaTextarea – Text over several lines (multi-line text field): a comment, a summary, a note to the driver. It can grow with its text and count the characters left.
Used on Scenarios, Sizes, Textarea and CommandPalette.
ToastProviderHolds the toasts and draws them; useToast works only below it. Put it
once at the root of the application: a second one draws a second deck at
the same place, and the two lie on each other. Duration, position and limit
come from UmrissProvider's toast where one stands around it.
function ToastProvider({ children, held }: ToastProviderProps): import("react").JSX.Element;Used on Scenarios, UmrissProvider and Toast.
TooltipTooltip – A sentence of explanation that appears while the pointer rests on an element or the keyboard focus is on it (also called a hint). Reach for it to explain an abbreviation or a control; an icon button names itself as an IconButton.
Used on Scenarios, IconButton, Toast, Tooltip, Popover and CommandPalette.
TreeSearchTreeView – The search field of a tree: an Input that writes into the tree's search
text, so that the TreeView filters on it.
Used on TreeView.
TreeViewTreeView – A hierarchy the user expands, walks with the keys and optionally ticks (also called a tree or outline). Reach for it for folders, teams and cost-centre structures; large trees stay quick because only the visible rows are drawn.
UmrissProviderUmrissProvider – Sets once, at the root, what an application shares: the density of its tables, where overlays open, how long toasts stay and where they stand, and the language. It is optional; every component works the same without it.
Used on UmrissProvider and Toast.
VisuallyHiddenVisuallyHidden – Text a screen reader announces but the eye does not see (also called screen-reader-only or sr-only). Reach for it when a visible label is clear from its surroundings but not on its own, and for a skip link.
Used on VisuallyHidden.
useCommandPaletteShortcutBinds Cmd+K/Ctrl+K and "/" to the opening of a palette.
onOpen may be new on every render: the hook remembers the current version
rather than unsubscribing and resubscribing the listener each time.
function useCommandPaletteShortcut(onOpen: () => void): void;Used on CommandPalette.
useDensityThe configured density; without a provider, "comfortable".
const useDensity: () => Density;useDensityForA component's density: its own value, else the density the provider
explicitly configured, else its own default.
"comfortable" means "regular" here. A compact set of tokens does not exist.
function useDensityFor(own: "regular" | "compact" | undefined, fallback: "regular" | "compact"): "regular" | "compact";useFormatsOnly the formatting.
const useFormats: () => Formats;Used on Language, NumberInput, Slider, DatePicker, DateTimePicker, DateRangePicker and DateTimeRangePicker.
useFormFieldUsed by Input, Select and Checkbox to wire up id and aria automatically.
function useFormField(): FormFieldContextValue | null;Used on FormField.
useFreshnessJudges a value's as-of time continuously and causes a redraw when it changes state. The caller gives the ages; there is deliberately no default, because "stale" on a live latency panel means something other than "stale" on a monthly budget overview.
function useFreshness(asOf: Date | number | null | undefined, ages: FreshnessAges): FreshnessReading;Used on Stat.
useLanguageFormatting and wording together; without a provider, the defaults.
const useLanguage: () => Language;usePortalTargetResolves the configured portal target.
null means expressly "no statement" and not "to the body": the callers have
rules of their own that take precedence - the popover seam portals into the
nearest <dialog> ancestor, because a portal at the body does not reach the
top layer. That rule beats the setting; otherwise a panel inside a modal
would be invisible.
function usePortalTarget(): () => HTMLElement | null;useToastAccess to toast(), update() and dismiss(); requires a ToastProvider.
function useToast(): ToastContextValue;Used on Scenarios, UmrissProvider and Toast.
useToastConfigThe setting for toasts; without a provider, empty.
const useToastConfig: () => ToastConfig;useTreeThe state of a tree - which branches are open, which nodes are checked, the active node, the anchor and the search text - and the gestures on it. Each of these can be controlled from outside, so that a tree can be restored from a link.
roots – The top-level nodes, in your own type.options – How a node is read, and the initial or controlled state with its change handlers.TreeView and TreeSearch.function useTree<K, S extends Key = string>(roots: readonly K[], options: TreeOptions<K, S>): Tree<K, S>;useUmrissThe whole configuration; without a provider, the defaults.
const useUmriss: () => UmrissConfig;useVirtualHolds the scroll position and the measured heights and derives the window from them. It is measured on the first rendered row rather than taken from the caller's value: row height depends on density, font size and zoom, and a small error adds up over many rows to a scrollbar that lies.
function useVirtual(count: number, options: VirtualOptions): VirtualRows;Used on Benchmark.
ageThe age of an as-of time at the reference time, in milliseconds.
Never negative: an as-of time in the future is real - the clocks of source
and screen drift apart - and does not mean that a value is about to become
true, but that it is true right now. It counts as zero old.
null where there is no computable age: without an as-of time there is
none.
function age(asOf: Instant, now: Instant): number | null;Used on Scenarios.
allBranchesEvery loaded branch with content. Empty ones stay out because expanding them showed nothing; unloaded ones stay out because one click would otherwise trigger a thousand requests (ADR-0005).
function allBranches<K, S extends Key = string>(roots: readonly K[], reader: NodeReader<K, S>): S[];announceThe library's one voice: says text in a polite live region, for what
happened without a visible change in the place a reader is at - a copy made,
a count after a filter. Use it instead of a region of your own: there is one
region, so two announcements never speak over each other.
Says text once announcements have rested for ANNOUNCE_REST; a later call
within the rest replaces an earlier one.
at is the element that speaks. Inside a modal <dialog> everything else
is inert and a region there is silent, so the region is the dialog's own -
the portal target's rule, without the provider's setting: that decides where
a surface is laid out, and a region is laid out nowhere.
function announce(text: string, at?: Element | null): void;Used on VisuallyHidden and CommandPalette.
assessWhat the value is, given the limit set. A pure function of the two.
A missing or non-finite value yields unknown - and nothing else: nobody
knows the deviation of a value nobody has.
Where several bounds are violated the most severe wins, and among equally
severe ones the one with the greatest excess. A warning must not hide an
alarm, even where the value lies further beyond the warning.
No hysteresis: that would need the previous state, and a function of a
single value has none.
function assess(value: number | null | undefined, set?: LimitSet): Assessment;cadenceThe cadence at which a display has to re-judge itself, in milliseconds - derived from the ages, not from a fixed second. A tile that goes stale after five minutes must not look sixty times a minute. A tenth of the smaller age: the change then appears late by at most ten per cent of that age. Clamped to at most once a second and at least once a minute. Where no age ever takes effect - infinite, not a number - or where both took effect at once, the state no longer changes by itself; the slowest cadence is then enough.
function cadence(ages: FreshnessAges): number;duplicateKeyThe first key that occurs twice, otherwise null. Two nodes with the same
key break the cascade and the active node silently - useTree reports
that during development.
function duplicateKey<K, S extends Key = string>(roots: readonly K[], reader: NodeReader<K, S>): S | null;freshnessThe freshness of a value: its as-of time, measured against a reference time,
placed against the two ages.
A missing as-of time yields lost, and that is decided rather than
computed: stale presupposes that we know the age. Where we do not know it,
nothing covers the value, and that is the same statement as a broken
connection. The check therefore stands before any arithmetic and not inside
it.
What the value means - good, critical, whatever - is not at issue here and
is not touched by this function.
function freshness(asOf: Instant, now: Instant, ages: FreshnessAges): Freshness;mergeLanguageBuilds a complete instance from the default and a partial value.
function mergeLanguage(options: LanguageOptions | undefined): Language;rangeDaysThe number of days in the range, both ends included. It is calculated on day boundaries and rounded, so that the 23 and 25 hour days of the daylight saving change do not shift the result.
const rangeDays: (from: Date, to: Date) => number;Used on DateRangePicker.
scrollForRowThe scroll position at which a row is visible - or null where it already is.
This is the arithmetic the keyboard handling hangs on: without it the focus
moves into a row that is not rendered.
The sticky header counts against the upper edge: a row standing exactly at
scrollTop lies behind it.
function scrollForRow(index: number, { rowHeight, scrollTop, viewportHeight, headerHeight }: RowPlacement): number | null;separatorsOfThe separators a set of formats writes, read off the formats themselves.
A field that formats a number must be able to read its own output back, and
an application may have replaced number with anything. So the
separators are measured: one number with one decimal place, digits struck
out, and what remains is the notation's own punctuation.
function separatorsOf(formats: Formats): Separators;treeModelThe visible nodes in reading order. While a search runs: a node survives if it matches itself or a descendant matches - so a match always appears together with the path that leads to it. A branch that stands there only because of its descendant is treated as if it were open, without the expanded state being written: if the search text falls away, the tree stands exactly as it did before. A branch that matches itself brings its whole subtree along, but only visibly so if it is actually expanded.
function treeModel<K, S extends Key = string>(roots: readonly K[], reader: NodeReader<K, S>, snapshot: TreeSnapshot<S>): readonly FlatteningEntry<K, S>[];verdictWeightHow heavily a verdict weighs - for sorting and comparing, as when a matrix brings the worst tile to the top. It stands here so that the order is not reinvented at every call site.
function verdictWeight(verdict: Verdict): number;visibleWindowThe window for the current scroll position.
before + rendered + after always adds up to the full height of all rows.
That is the promise the scrollbar hangs on: it must not jump while scrolling
because the rendered set changed.
function visibleWindow({ count, rowHeight, scrollTop, viewportHeight, overscan, }: WindowInput): RowWindow;DEFAULT_FORMATSThe instance shipped by default: English notation on a 24-hour clock
(ADR-0024). German is GERMAN_FORMATS in @umriss-ui/core/wording/de.
Every entry, with its value, stands in the table Formats on the Language page.
const DEFAULT_FORMATS: Formats;DEFAULT_LANGUAGEEnglish formats and English wording - what every component uses without a
LanguageProvider.
const DEFAULT_LANGUAGE: Language;AccordionItemPropsIts table stands on Accordion.
AccordionPropsIts table stands on Accordion.
AlertPropsIts table stands on Alert.
AlertToneHow urgent an alert is; it also decides whether a screen reader is interrupted.
type AlertTone = "neutral" | "accent" | "success" | "warning" | "danger";AlignWhere the panel lines up with its anchor along the side it stands on.
type Align = "start" | "end" | "center";AssessmentThe verdict and what led to it.
| Name | Type | Default | Description |
|---|---|---|---|
verdictrequired | Verdict| "ok" | — | |
limit | Limit | — | The violated limit - the same object the caller passed in. Absent where none is violated. |
excess | number | — | The amount beyond the bound, always positive. Absent where none is violated. |
deviation | number | — | The signed distance from the target. Absent where none is set: no target means no deviation, not a deviation of zero. |
BadgePropsIts table stands on Badge.
BadgeToneWhat a badge stands for - never the only statement, a word stands beside it.
type BadgeTone = "neutral" | "accent" | "success" | "warning" | "danger";Used on Badge.
BreadcrumbEntryIts table stands on Breadcrumb.
BreadcrumbPropsIts table stands on Breadcrumb.
ButtonGroupPropsIts table stands on ButtonGroup.
ButtonPropsIts table stands on Button.
ButtonSizeA button's two heights - the controls' (ControlSize).
type ButtonSize = ControlSize;Resolves to "sm" | "md".
ButtonVariantHow loud a button is: primary for the one main action, secondary by
default, ghost quiet in the accent, plain quiet and neutral, danger
for a destructive action.
type ButtonVariant = "primary" | "secondary" | "ghost" | "plain" | "danger";CardBodyPropsIts table stands on Card.
CardHeaderPropsIts table stands on Card.
CardPropsIts table stands on Card.
CheckboxPropsIts table stands on Checkbox.
ComboboxPropsIts table stands on Combobox.
CommandPalettePropsIts table stands on CommandPalette.
ConfirmDialogPropsIts table stands on ConfirmDialog.
ContextMenuPropsIts table stands on ContextMenu.
ControlSizeThe two heights of a control: sm for a toolbar and dense forms, md
otherwise.
type ControlSize = "sm" | "md";Used on Sizes and SegmentedControl.
ControlSizeProviderPropsIts table stands on Sizes.
DatePickerPropsIts table stands on DatePicker.
DateRangeA span between two dates, both ends included - the value of
DateRangePicker and DateTimeRangePicker.
| Name | Type | Default | Description |
|---|---|---|---|
fromrequired | Date | — | Shown in: Narrow places (Sizes), A span of days (DateRangePicker), Presets (DateRangePicker) and 6 more |
torequired | Date | — | Shown in: Narrow places (Sizes), A span of days (DateRangePicker), Presets (DateRangePicker) and 6 more |
Used on Sizes, DateRangePicker and DateTimeRangePicker.
DateRangePickerPropsIts table stands on DateRangePicker.
DateTimePickerPropsIts table stands on DateTimePicker.
DateTimeRangePickerPropsIts table stands on DateTimeRangePicker.
DensityHow densely the library builds. A component with a density of its own
takes it through useDensityFor as the default for its density - in
type Density = "comfortable" | "compact";DirectionWhere the active node moves: up and down the visible rows, in and out of a branch, to the first or the last row.
type Direction = "up" | "down" | "in" | "out" | "start" | "end";DividerPropsIts table stands on Divider.
DrawerPropsIts table stands on Drawer.
EmptyStatePropsIts table stands on EmptyState.
FileInputPropsIts table stands on FileInput.
FlatteningEntry<K, S extends Key = string>One visible node of a tree, with everything a row needs to be drawn and read out: level, branch or leaf, check state, search state and position among its siblings.
| Name | Type | Default | Description |
|---|---|---|---|
noderequired | K | — | Shown in: A tree (TreeView), Tick a selection (TreeView), Load branches on demand (TreeView) and 5 more |
keyrequired | S | — | |
levelrequired | number | — | Roots stand at 0. Drives the indentation and what is read out. |
labelrequired | string | — | The node's text; here, so that typeahead can be a pure function over the flattening and needs no reader. |
branchrequired | boolean | — | |
emptyrequired | boolean | — | Branch without content: expanding it showed nothing. An unloaded branch is not empty - it could have children. |
disabledrequired | boolean | — | May not be checked (ADR-0005). It stays navigable. |
unloadedrequired | boolean | — | Could have children that are not present. For checking exactly the same as disabled: whatever has to reach its descendants may not act on it. |
expandedrequired | boolean | — | |
checkedrequired | boolean | — | |
indeterminaterequired | boolean | — | Derived: not checked itself, but at least one descendant is. |
activerequired | boolean | — | |
matchesrequired | boolean | — | Matched the search itself. Without a search text every entry matches, so that the surface needs no special case. |
pathOnlyrequired | boolean | — | Stands there only because a descendant matches - a signpost. The surface dims these and only these. A child under a matching branch is neither a match nor a signpost but context: it stays normal. |
positionrequired | number | — | 1-based, among the siblings that survive the filter. |
siblingsrequired | number | — |
FormatsEverything the library knows about formatting.
| Name | Type | Default | Description |
|---|---|---|---|
daterequired | (d: Date) => string | — | Date as displayed: 17/03/2026 Shown in: A span of days (DateRangePicker) |
dateShortrequired | (d: Date) => string | — | Short form without the year, in the range footer: 17/03 |
monthrequired | (d: Date) => string | — | The calendar's month header: March 2026 |
dateLongrequired | (d: Date) => string | — | Accessible name of a calendar cell: Tuesday, 17 March 2026 |
timerequired | (d: Date, withSeconds: boolean) => string | — | Time of day, optionally with seconds: 09:05 or 09:05:03 |
dateTimerequired | (d: Date, withSeconds: boolean) => string | — | Date and time together: 17/03/2026, 09:05 Shown in: Use the language in your own components (Language), Pick a day (DatePicker), Set an instant (DateTimePicker) and 1 more |
offsetrequired | (d: Date) => string | — | Short form of the UTC offset: GMT+2 Shown in: Set an instant (DateTimePicker) |
numberrequired | (n: number, decimals?: number) => string | — | A number in the set's notation. Without a digit count the value stands to
the tenth decimal place; with one it is padded and rounded to exactly that
many places. Shown in: Write numbers in your own notation (Language), Price an invoice line (NumberInput), Split a budget (Slider) |
countrequired | (n: number) => string | — | A count. Kept apart from number because it makes a different promise: a
count is whole, and Intl's own rounding (at most three decimal places) is
right for it and wrong for a measurement.Shown in: Write numbers in your own notation (Language), Use the language in your own components (Language) |
percentrequired | (share: number) => string | — | A share from 0 to 1 as whole per cent: 74 % |
compareTextrequired | (a: string, b: string) => number | — | The ordering of two texts by the set's collation. |
relativerequired | (ms: number) => string | — | An elapsed duration as a phrase: "3 minutes ago". The amount comes in milliseconds, counted back from now. |
FormFieldPropsIts table stands on FormField.
FreshnessHow much a value can be relied on right now - independently of how it is judged.
type Freshness = "fresh" | "stale" | "lost";Used on Stat.
FreshnessAgesThe two ages at which a value changes its state, in milliseconds. Both
bounds belong to the older state: exactly five minutes old is already
stale.
alt <= lost is the sensible order. Stated the other way round, the
harder statement still wins - the middle state simply falls away.
| Name | Type | Default | Description |
|---|---|---|---|
stalerequired | number | — | From this age on the value counts as stale, but keeps its verdict. Shown in: Show how fresh a value is (Stat), Watch the services that page at night (Stat), Watch a kiln line over a shift (Scenarios) |
lostrequired | number | — | From this age on the connection counts as disconnected. Shown in: Show how fresh a value is (Stat), Watch the services that page at night (Stat), Watch a kiln line over a shift (Scenarios) |
FreshnessReadingWhat useFreshness returns: how fresh the value is, how old, and the time
the reading was taken at.
| Name | Type | Default | Description |
|---|---|---|---|
freshnessrequired | Freshness| "fresh" | — | fresh, stale or lost - never a verdict.Shown in: Show how fresh a value is (Stat) |
agerequired | number | null | — | Age in milliseconds, never negative; null without an as-of time. For the wording. |
nowrequired | number | — | The reference time of this reading, in milliseconds since the epoch. |
GlyphPropsThe props of a glyph: an SVG's attributes and its edge length.
| Name | Type | Default | Description |
|---|---|---|---|
size | number | 12 | Edge length in pixels. The default is the size the glyph is drawn at in the components. |
ref | Ref<SVGSVGElement> | — | Receives the component's root element. from RefPropShown in: A row that holds still (Sizes), An anchored surface (Popover), Take the width of the trigger (Popover) and 2 more |
Also takes every attribute of <svg> – without children, viewBox.
GridColumnWidthThe width of one column in Grid's list: a number in pixels, or
"fill" for a share of what the other columns leave.
type GridColumnWidth = number | "fill";GridPropsIts table stands on Stack and Grid.
HeadingPropsIts table stands on Typography.
IconButtonPropsIts table stands on IconButton.
InputPropsIts table stands on Input.
KeyA node's key, as reader.key returns it.
type Key = string | number;LanguageA complete language: the formats for numbers and dates, and the wording.
Used on Toast.
LanguageProviderPropsThe props of LanguageProvider: the parts of the formats and the wording
that differ from the default.
| Name | Type | Default | Description |
|---|---|---|---|
childrenrequired | ReactNode | — | Shown in: German (Language), English and German side by side (Language), Replace single entries (Language) and 2 more |
formats | Partial<Formats> | — | How numbers, dates and durations are written. Overridden entry by entry;
what is left out keeps writing as DEFAULT_FORMATS does - in English
notation, whatever the wording says (ADR-0024). from LanguageOptionsShown in: Set up an application (UmrissProvider), German (Language), English and German side by side (Language) and 2 more |
wording | Partial<Omit<Wording, "presets">> & { presets?: Partial<Wording["presets"]> } | — | The presets are a register of their own and are likewise overridden entry
by entry. from LanguageOptionsShown in: Set up an application (UmrissProvider), German (Language), English and German side by side (Language) and 2 more |
LimitA bound: a value, a side, a severity.
No tolerance band as input. A band is derived - two limits of equal
severity on opposite sides enclose one - and as an input type it would
force a null on one edge in the one-sided case.
| Name | Type | Default | Description |
|---|---|---|---|
valuerequired | number | — | Shown in: English and German side by side (Language), Replace single entries (Language), Three panes (Splitter) and 12 more |
siderequired | Side"upper" | "lower" | — | Shown in: English and German side by side (Language), Replace single entries (Language), Three panes (Splitter) and 12 more |
severityrequired | Severity"warning" | "alarm" | — | Shown in: English and German side by side (Language), Replace single entries (Language), Three panes (Splitter) and 12 more |
LimitSetThe set a value is read against. The target stands beside the limits and is not one: it is missed, never violated, and it is never the edge of a region.
| Name | Type | Default | Description |
|---|---|---|---|
limits | readonly Limit[] | — | In any order; none, one or several. Shown in: English and German side by side (Language), Replace single entries (Language), Three panes (Splitter) and 12 more |
target | number | — | Shown in: English and German side by side (Language), Replace single entries (Language), Measure against a target (Stat) and 3 more |
LinkPropsIts table stands on Typography.
MenuItemPropsIts table stands on Menu.
MenuPropsIts table stands on Menu.
MeterPropsIts table stands on Meter.
MeterToneThe colour of a meter's bar - an assessment, never the only statement.
type MeterTone = "neutral" | "accent" | "success" | "warning" | "danger";Used on Meter.
ModalHeaderPropsIts table stands on Modal.
ModalPropsIts table stands on Modal.
ModalSizeThe width of a Modal.
type ModalSize = "sm" | "md" | "lg";Used on Modal.
MultiSelectPropsIts table stands on MultiSelect.
NodeReader<K, S extends Key = string>How a node is read - handed over once, not per node. The node's own type thereby stays entirely the caller's.
| Name | Type | Default | Description |
|---|---|---|---|
keyrequired | (node: K) => S | — | Shown in: A tree (TreeView), Tick a selection (TreeView), Load branches on demand (TreeView) and 5 more |
childrenrequired | (node: K) => readonly K[] | undefined | — | undefined means leaf, an empty list means empty branch - the
difference is visible and intended.Shown in: A tree (TreeView), Tick a selection (TreeView), Load branches on demand (TreeView) and 5 more |
labelrequired | (node: K) => string | — | Text the search checks against. Shown in: A tree (TreeView), Tick a selection (TreeView), Load branches on demand (TreeView) and 5 more |
disabled | (node: K) => boolean | — | May this node be checked? Without an answer: everyone may.
Disabled is a statement about the checkbox, not about the node -
it stays navigable (ADR-0005). Shown in: Search, check and reveal in a large tree (TreeView) |
unloaded | (node: K) => boolean | — | Can this branch have children that are not present? Without an answer:
no. Shown in: Load branches on demand (TreeView), Search, check and reveal in a large tree (TreeView) |
matches | (node: K) => boolean | — | Does this node match? Given, it filters instead of the search text, which is then not read - a table matches by its columns and filters, not by one label. The path rule stays the same. |
NumberInputPropsIts table stands on NumberInput.
PopoverPropsIts table stands on Popover.
PortalTargetWhere overlays portal to.
A function is evaluated on every opening - a target that only comes into the
tree later cannot be given otherwise. null, or a result of null, means
"as before".
type PortalTarget = HTMLElement | (() => HTMLElement | null) | null;Used on UmrissProvider.
ProgressBarPropsIts table stands on ProgressBar.
RadioGroupPropsIts table stands on RadioGroup.
RadioOptionIts table stands on RadioGroup.
RangePresetA shortcut in a range picker's panel: its label, and a function that computes the range when it is chosen - so that "Last 7 days" is counted from the moment of the click.
| Name | Type | Default | Description |
|---|---|---|---|
labelrequired | string | — | Shown in: Presets (DateRangePicker) |
rangerequired | () => DateRange | — | Shown in: Presets (DateRangePicker) |
RefProp<E extends Element>The ref of a component: the element it renders at its root.
| Name | Type | Default | Description |
|---|---|---|---|
ref | Ref<E> | — | Receives the component's root element. Shown in: A row that holds still (Sizes), An anchored surface (Popover), Take the width of the trigger (Popover) and 2 more |
RowPlacementWhat scrollForRow needs to know about a scroll area.
| Name | Type | Default | Description |
|---|---|---|---|
rowHeightrequired | number | — | |
scrollToprequired | number | — | |
viewportHeightrequired | number | — | |
headerHeight | number | — | Height of the sticky header; it covers the upper edge. |
RowWindowThe rows to render - from up to, not including, to - and the heights
of the filler rows that stand for the rest.
SegmentedControlPropsIts table stands on SegmentedControl.
SegmentedOptionIts table stands on SegmentedControl.
SelectPropsIts table stands on Select.
SeverityHow seriously a violation weighs: one severity that advises and one that calls for action. Exactly two; for a third distinction one sets a second limit.
type Severity = "warning" | "alarm";SideWhether a limit is an upper or a lower bound.
type Side = "upper" | "lower";SkeletonPropsIts table stands on Skeleton.
SliderMarkA mark on the track: a value, or a value with the word beneath it.
type SliderMark = number | { value: number; label?: ReactNode };SliderPropsIts table stands on Slider.
SpaceStepA step of the spacing scale, from 1 (4 px) to 8 (40 px) - the tokens
--u-space-1 to --u-space-8.
type SpaceStep = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;SparklinePropsIts table stands on Sparkline.
SpinnerPropsIts table stands on Spinner.
SplitButtonPropsIts table stands on ButtonGroup.
SplitterPropsIts table stands on Splitter.
StackPropsIts table stands on Stack and Grid.
StatPropsIts table stands on Stat.
StepperPropsIts table stands on Stepper.
StepperStepIts table stands on Stepper.
SwitchPropsIts table stands on Switch.
TabPanelPropsIts table stands on Tabs.
TabPropsIts table stands on Tabs.
TabsPropsIts table stands on Tabs.
TagGroupPropsIts table stands on Tag.
TagPropsIts table stands on Tag.
TagToneWhat a tag stands for - never the only statement, its text says it too.
type TagTone = "neutral" | "accent" | "success" | "warning" | "danger";TextareaPropsIts table stands on Textarea.
TextLeadingThe line height of the token set.
type TextLeading = "normal" | "tight";TextPropsIts table stands on Typography.
TextSizeA type size of the token set.
type TextSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";TextToneHow loud a text is; secondary and muted step back without falling below
the contrast threshold.
type TextTone = "default" | "secondary" | "muted";TextTrackingThe letter spacing of the token set.
type TextTracking = "normal" | "tight" | "display" | "caps";TextWeightA font weight of the token set.
type TextWeight = "regular" | "medium" | "semibold";ToastActionIts table stands on Toast.
ToastCloseReasonWhy a toast went: its time ran out, it was closed (or gave way to a newer one), or its action was taken.
type ToastCloseReason = "timeout" | "dismiss" | "action";Used on Toast.
ToastOptionsIts table stands on Toast.
ToastPositionWhere the toasts stand: an edge of the window and a place along it. On a phone they take the width of the window, and only the edge counts.
type ToastPosition = "top-start" | "top-center" | "top-end" | "bottom-start" | "bottom-center" | "bottom-end";Used on Toast.
ToastProviderPropsThe props of ToastProvider.
| Name | Type | Default | Description |
|---|---|---|---|
childrenrequired | ReactNode | — | Shown in: Resolve an incident (Scenarios), Approve spending against a budget (Scenarios), Set up a team (Scenarios) |
held | boolean | false | While true, the toasts are held back: none is seen or heard, no time runs
out, and a new one waits. When false again they come back with the time
they had left. For a surface the toasts must not cover for a while, where
there is no room beside it: nothing is lost, as it would be by dismissing. Shown in: Hold the toasts (Toast) |
ToastToneHow the message turns out; loading is a toast still at work.
type ToastTone = "neutral" | "success" | "warning" | "danger" | "loading";TooltipPropsIts table stands on Tooltip.
Tree<K, S extends Key = string>What useTree returns: the visible nodes and the gestures on them. Hand it
to TreeView and TreeSearch.
| Name | Type | Default | Description |
|---|---|---|---|
flatteningrequired | readonly FlatteningEntry<K, S>[] | — | The visible nodes – complete, even where only a window of them is rendered. Positions and sibling counts come from here and never from what stands in the document (ADR-0004). |
activerequired | S | null | — | Shown in: Search, check and reveal in a large tree (TreeView) |
searchrequired | string | — | |
toggleExpandedrequired | (key: S) => void | — | |
toggleCheckrequired | (key: S) => void | — | |
activaterequired | (key: S) => void | — | |
moverequired | (direction: Direction) => void | — | |
setSearchrequired | (text: string) => void | — | |
revealNoderequired | (key: S) => S | null | — | Expands the ancestors, brings the row into view and sets the active
node. Returns the key, or null if it does not exist in the data. Shown in: Search, check and reveal in a large tree (TreeView) |
revealPathrequired | (path: readonly S[]) => S | null | — | Like revealNode, but with a path the caller knows and the data does not yet - from a deep link, say. Returns the deepest key reached; if the run gets stuck at an unloaded branch, that is its key, and it has been expanded in the process. Loading and calling again is the caller's business. |
expandAllrequired | () => void | — | Shown in: Search, check and reveal in a large tree (TreeView) |
collapseAllrequired | () => void | — | Shown in: Search, check and reveal in a large tree (TreeView) |
typeaheadrequired | (prefix: string) => void | — | Moves the active node to the next one whose label starts like this. Changes nothing else – not the expanding, not the checks, not the search. |
checkTorequired | (to: S) => void | — | Checks the range from the anchor up to this node. |
moveAndCheckrequired | (direction: Direction) => void | — | Moves the active node and toggles the new one – one gesture, one report. Separate from move(), so that plain movement checks nothing; to be called instead of move(), not in addition to it. |
toggleAllrequired | () => void | — | Checks everything checkable – or empties, if everything is on already. |
revealCountrequired | number | — | Counts up every explicit request "show me this node". Otherwise the presentation follows the focus to the active node only where it already lies inside the tree - otherwise a state change from outside would tear the focus away. An explicit request, however, is exactly the opposite of an incidental change, and for that it needs a sign. |
virtual | VirtualRows | — | Set where virtualisation runs; goes to <TreeView virtual={…}>. |
TreeOptions<K, S extends Key = string>The options of useTree: how a node is read, and each of its values
either uncontrolled (default…) or controlled with its on… handler.
| Name | Type | Default | Description |
|---|---|---|---|
onExpanded | (next: ReadonlySet<S>) => void | — | |
onChecked | (next: ReadonlySet<S>) => void | — | Shown in: Tick a selection (TreeView), With an error (TreeView), Search, check and reveal in a large tree (TreeView) |
onActive | (next: S | null) => void | — | Shown in: Dispatch a tour (Scenarios) |
onAnchor | (next: S | null) => void | — | |
onSearch | (text: string) => void | — | Shown in: Search with the path (TreeView), Search, check and reveal in a large tree (TreeView) |
onActivate | (node: K) => void | — | Enter on a node, or a click on its label. |
onLoadChildren | (node: K) => void | — | An unloaded branch has been expanded: now would be the moment to fetch its
children. The tree fetches nothing – it is driven by nested data, and
whoever adds to them sees it render anew. Concurrency, errors and
cancellation thereby stay outside (ADR-0005). Shown in: Load branches on demand (TreeView), Search, check and reveal in a large tree (TreeView) |
TreeSearchPropsIts table stands on TreeView.
TreeSnapshot<S extends Key = string>The whole state of a tree, as plain values: the open branches, the checked nodes, the active node, the anchor and the search text. The transitions take one and return the next.
| Name | Type | Default | Description |
|---|---|---|---|
expandedrequired | ReadonlySet<S> | — | |
checkedrequired | ReadonlySet<S> | — | |
activerequired | S | null | — | |
anchorrequired | S | null | — | Where a range selection spans from: the node checked last on its own. Neither the active one nor part of the checked set - it stands in the snapshot so that a range is repeatable and steerable from outside. |
searchrequired | string | — |
TreeViewPropsIts table stands on TreeView.
UmrissConfigThe settings of UmrissProvider as the components read them, every value
filled in.
| Name | Type | Default | Description |
|---|---|---|---|
densityrequired | Density"comfortable" | "compact" | — | |
portalTargetrequired | PortalTarget | — | |
toastrequired | ToastConfig | — |
VerdictWhat a value is. Four outcomes, ordered by severity, unknown between
ok and warning: a value nobody has is a reason to look.
The fourth outcome is not a null, which would invite ?? "ok" at the
call site: a dead data source would look like a healthy service.
type Verdict = "ok" | "unknown" | "warning" | "alarm";VirtualOptionsThe options of useVirtual.
| Name | Type | Default | Description |
|---|---|---|---|
rowHeightrequired | number | — | Expected row height in pixels. It is re-measured on a real row after the
first render; the value given is the starting point, so that the first
window is not empty. Shown in: Search, check and reveal in a large tree (TreeView), Measure a large tree (Benchmark) |
overscan | number | 4 | Rows above and below the visible area. |
VirtualRowsWhat useVirtual returns: the ref for the scroll area, the window of rows
to render and the heights of the filler rows around it.
| Name | Type | Default | Description |
|---|---|---|---|
scrollRefrequired | RefObject<HTMLDivElement | null> | — | Goes on the scroll area - in |
fromrequired | number | — | Index of the first rendered row within the filtered set. |
torequired | number | — | |
fillerBeforerequired | number | — | Height of the upper filler row, in pixels. |
fillerAfterrequired | number | — | Height of the lower filler row, in pixels. |
countrequired | number | — | Rows in total - the filler rows carry the rest. |
showRowrequired | (index: number) => void | — | Brings a row into view; for the keyboard. |
| Name | Type | Default | Description |
|---|---|---|---|
onScrollrequired | () => void | — | Reports a new scroll position to the container. Internal. |
VisuallyHiddenPropsIts table stands on VisuallyHidden.
WindowInputWhat visibleWindow needs to know about a scroll area and its rows.
| Name | Type | Default | Description |
|---|---|---|---|
countrequired | number | — | Rows in total, not only the rendered ones. |
rowHeightrequired | number | — | Measured height of one row, in pixels. |
scrollToprequired | number | — | The container's current scroll position. |
viewportHeightrequired | number | — | Visible height of the scroll area. |
overscan | number | 4 | Rows rendered along above and below the visible area. Without an overscan a blank area appears briefly during fast scrolling, because rendering trails the scrolling by a frame. |
WordingEverything the library puts out as text.
| Name | Type | Default | Description |
|---|---|---|---|
clearInputrequired | string | — | The cross in the text field. |
clearSelectionrequired | string | — | The cross in the select and in the combobox. |
decreaseValuerequired | string | — | Stepper buttons of the number field. |
increaseValuerequired | string | — | |
comboboxPlaceholderrequired | string | — | |
noMatchesrequired | string | — | Empty state of both lists. |
multiSelectPlaceholderrequired | string | — | |
multiSelectSearchPlaceholderrequired | string | — | |
searchOptionsrequired | string | — | |
optionsrequired | string | — | Group name of the option list. |
optionScoperequired | string | — | Group name of the scope switch. |
optionScopeAllrequired | string | — | |
optionScopeSelectedrequired | (count: number) => string | — | The second scope, with the count in the text. |
selectAllrequired | string | — | |
selectNonerequired | string | — | |
invertSelectionrequired | string | — | |
nothingSelectedrequired | string | — | |
removeSelectedValuerequired | (beschriftung: string) => string | — | The cross on a selected value in the trigger. |
manageMoreSelectedrequired | (count: number) => string | — | The "+N" counter in the trigger. |
multiSelectSummaryrequired | (gewaehlt: number, total: number) => string | — | The summary in the panel: "3 / 12". The sentence structure belongs to the language, even where it is only a slash here. |
optionCountrequired | (count: number) => string | — | How many options stand, when a list opens or its filter changes; never zero - an empty list says its own empty text. Named, like the three below, after the moment it is spoken in: an announcement labels no element. |
optionActiverequired | ( label: string, state: { selected?: boolean; disabled?: boolean; group?: string }, ) => string | — | The option the keys moved onto, with what VoiceOver leaves out. |
optionAddedrequired | (label: string) => string | — | A value the multi-select took or gave away where no checkbox had the focus to say it - Enter in the search, a chip, Backspace. |
optionRemovedrequired | (label: string) => string | — | |
palettePlaceholderrequired | string | — | What stands in the empty field. |
paletteFieldrequired | string | — | Accessible name of the field. Deliberately kept apart from the placeholder - whoever labels the field differently does not thereby rename the window. |
palettePanelrequired | string | — | Accessible name of the window. |
paletteListrequired | string | — | Accessible name of the list of finds. |
paletteNoFindsrequired | string | — | The one line when the query finds nothing. |
paletteFindCountrequired | (count: number) => string | — | What the screen reader hears when the number of finds changes. |
paletteMoreFindsrequired | (count: number) => string | — | The last line when more finds exist than maxFinds lets stand. |
paletteHintMoverequired | string | — | The three key hints in the footer, each the text beside the key. |
paletteHintChooserequired | string | — | |
paletteHintCloserequired | string | — | |
paletteKeyEscrequired | string | — | The legend on the Escape key. The arrows and the return key are glyphs and therefore do not stand here; "Esc" is a word and is called something else elsewhere. |
datePlaceholderrequired | string | — | |
datePanelrequired | string | — | Accessible name of the panel. Deliberately kept apart from the placeholder: whoever labels the field differently does not thereby rename the dialog. |
dateClearrequired | string | — | |
dateTimePlaceholderrequired | string | — | |
dateTimePanelrequired | string | — | |
dateTimeClearrequired | string | — | |
dateRangePlaceholderrequired | string | — | |
dateRangePanelrequired | string | — | |
dateRangeClearrequired | string | — | |
dateTimeRangePanelrequired | string | — | Accessible name of the panel in the range with time of day. |
dateTimeRangeClearrequired | string | — | The clearing x of the range with time - kept apart from the range without, so that an application can call the two differently. |
previousMonthrequired | string | — | |
nextMonthrequired | string | — | |
quickSelectrequired | string | — | Group name of the preset column. |
todayrequired | string | — | Shown in: Use the language in your own components (Language) |
nowrequired | string | — | |
clearrequired | string | — | |
applyrequired | string | — | |
allDayrequired | string | — | |
timeOfDayrequired | string | — | |
hourrequired | string | — | |
minuterequired | string | — | |
secondrequired | string | — | |
sideFromrequired | string | — | Header of the two time columns in the range with time of day. |
sideTorequired | string | — | |
startHourrequired | string | — | Accessible name of the time fields, per side. |
startMinuterequired | string | — | |
startSecondrequired | string | — | |
endHourrequired | string | — | |
endMinuterequired | string | — | |
endSecondrequired | string | — | |
timeFieldIncreaserequired | (feld: string) => string | — | Stepper buttons of a time field; the label comes from above. |
timeFieldDecreaserequired | (feld: string) => string | — | |
chooseStartDaterequired | string | — | Footer of the range panels. |
chooseEndDaterequired | string | — | |
daysrequired | (count: number) => string | — | "3 days" or "1 day" - the plural belongs to the language. |
daysSelectedrequired | (count: number) => string | — | "3 days selected" |
rangePreviewrequired | (from: string, to: string, count: number) => string | — | "17.03. – 19.03. · 3 days" while dragging; the dates come from the formats. |
daysAllDayrequired | (count: number) => string | — | "3 days (all day)" |
durationrequired | (teile: readonly string[]) => string | — | "Duration: 1 day 2 hrs 30 min" |
hoursShortrequired | (count: number) => string | — | |
minutesShortrequired | (count: number) => string | — | |
timeMissingHintrequired | (timeOfDay: string) => string | — | Daylight-saving change: the hour that does not exist. |
timeMissingHintSiderequired | (side: string, timeOfDay: string) => string | — | The same, with the side put in front ("From"/"To"). |
timeAmbiguousHintrequired | string | — | Daylight-saving change: the hour that occurs twice. |
timeAmbiguousHintSiderequired | (side: string) => string | — | |
timeEarlierrequired | (versatz: string) => string | — | |
timeLaterrequired | (versatz: string) => string | — | |
weekdaysrequired | readonly string[] | — | The calendar's weekday headers, starting at Monday. |
presetsrequired | { today: string; yesterday: string; last7Days: string; last30Days: string; thisMonth: string; previousMonth: string; thisQuarter: string; thisYear: string; } | — | The quick-select ranges, in the order of PRESET_LABELS. |
paginationrequired | string | — | |
rowsrequired | string | — | |
rowsPerPagerequired | string | — | |
pageOfPagesrequired | (page: number, total: number, formatted?: { page: string; total: string }) => string | — | "Page 2 of 7". formatted carries both numbers in the provider's
formats, where the caller has them - a table over a server has "Page 1 of
100,000". |
previousPagerequired | string | — | |
nextPagerequired | string | — | |
filterResetrequired | string | — | The two buttons in the column filter's footer. |
filterDonerequired | string | — | |
columnsrequired | string | — | The column menu's button. |
arrangeColumnsrequired | string | — | Accessible name of the list in the column menu. |
columnForwardrequired | (column: string) => string | — | The two buttons that move a column in the column menu. |
columnBackwardrequired | (column: string) => string | — | |
pinColumnToStartrequired | (column: string) => string | — | The column menu's pin keys: to a side, and back when it is pinned there. |
pinColumnToEndrequired | (column: string) => string | — | |
unpinColumnrequired | (column: string) => string | — | |
columnForwardHintrequired | string | — | The tooltips over those four keys: short, without the column, which stands in the same line. The keys' names above keep it for a screen reader. |
columnBackwardHintrequired | string | — | |
pinToStartHintrequired | string | — | |
pinToEndHintrequired | string | — | |
unpinHintrequired | string | — | |
exportLabelrequired | string | — | The export button. |
exportPageLabelrequired | string | — | The export button of a table in server mode, which holds and writes one page. |
exportFileNamerequired | string | — | The export's file name, where the application names none. |
tableSearchPlaceholderrequired | string | — | Placeholder and accessible name of the search field. |
tableSearchLabelrequired | string | — | |
filterColumnrequired | (column: string) => string | — | The filter button of a column: "Filter Region". |
filterHintrequired | string | — | The tooltip over that button. |
selectRowrequired | (row: string) => string | — | The selection of one row, named after its row header. |
selectAllRowsrequired | string | — | The selection of every row in the filtered set. |
selectAllOnPagerequired | string | — | The same checkbox in server mode, where the table holds one page of a server's. |
expandRowNamedrequired | (row: string) => string | — | The expand button, named after the row header. |
collapseRowNamedrequired | (row: string) => string | — | |
rowActionsrequired | string | — | Header of the actions column - for the screen reader, not visible. |
rowActionrequired | (aktion: string, row: string) => string | — | One action on a row: "Open: A-2041". |
rowActionsMenurequired | (row: string) => string | — | The menu holding a row's actions. |
editCellrequired | (column: string, row: string) => string | — | The editor of a cell in a table's grid mode, named after its column and its row: "Edit Budget: Marketing". |
newRowrequired | string | — | The button above a grid that opens an empty row to fill in, and the name of that row while it has none (ADR-0036). |
saveRowrequired | string | — | A row draft's buttons, named with the row through rowAction. |
discardRowrequired | string | — | |
deleteRowrequired | string | — | A row's delete button, and its question once pressed: Delete? Delete / Keep. |
deleteRowAskrequired | string | — | |
keepRowrequired | string | — | |
saveOrDiscardFirstrequired | string | — | Said where someone tries to leave a row draft unsaved. |
cellAbsentValuerequired | string | — | What the screen reader hears for an absent value. Visibly a muted dash stands there. |
booleanYesrequired | string | — | A boolean without a presentation of its own. |
booleanNorequired | string | — | |
footerSumrequired | string | — | The kind of a footer number, read out before the number. |
footerAveragerequired | string | — | |
footerMinimumrequired | string | — | |
footerMaximumrequired | string | — | |
footerRangerequired | string | — | |
footerCountrequired | string | — | |
footerDistinctrequired | string | — | |
footerAggregaterequired | string | — | An aggregate the application computes itself. |
groupingrequired | string | — | The grouping section of the column menu, and the menu entry per column. |
groupByrequired | (label: string) => string | — | |
groupedByrequired | string | — | The grouping's tag in the table toolbar: "Grouped by" Region › Customer. |
removeGroupingrequired | string | — | |
removeGroupingLevelrequired | (label: string) => string | — | |
foldAllrequired | string | — | |
unfoldAllrequired | string | — | |
groupNoValuerequired | string | — | The group of rows without a value. |
groupContinuedrequired | string | — | Beside a group repeated at the top of a page that begins inside it. |
foldGrouprequired | (name: string, count: string) => string | — | The fold of a group, with its value and its count. |
unfoldGrouprequired | (name: string, count: string) => string | — | |
foldBranchrequired | (row: string) => string | — | The fold of a branch in a table with tree rows, named after its row -
not expandRowNamed, which names the row detail's expander on the same row. |
unfoldBranchrequired | (row: string) => string | — | |
levelColumnrequired | string | — | The first column of a tree's export. |
pathRowrequired | string | — | A row shown only because a descendant matches the search or a filter. |
footerTopLevelrequired | string | — | The footer of a tree: it sums the top level, since a parent holds its children. |
selectGrouprequired | (name: string) => string | — | The box that selects every row of a group. |
calendarWeekrequired | (week: number, year: number) => string | — | A group of the week key: "Week 42, 2026". |
entriesrequired | (count: number, formatted: string) => string | — | "128 entries" in the pagination bar; the plural belongs to the language. |
selectedCountrequired | (count: number, formatted: string) => string | — | "3 selected" in the pagination bar and the table toolbar. |
copiedRowsrequired | (count: number, formatted: string) => string | — | Said to a screen reader after Ctrl+C copied rows: "3 rows copied". |
copiedCellrequired | string | — | Said after Ctrl+C copied the active cell of a grid. |
copyFailedrequired | string | — | Said when the clipboard refused or is not there. |
noEntriesrequired | string | — | Empty because there are no rows. |
nothingMatchesFiltersrequired | string | — | Empty because search and filters leave nothing - something else. |
treeSearchPlaceholderrequired | string | — | |
treeNoMatchesrequired | string | — | |
conditionsrequired | string | — | Group name of the conditions in the table toolbar. |
removeConditionNamedrequired | (label: string, value: string) => string | — | The button that removes a condition: "Remove Region: EU, US". |
editConditionNamedrequired | (label: string, value: string) => string | — | The condition itself, which opens its filter: "Edit Region: EU, US". |
moreValuesrequired | (count: number, formatted: string) => string | — | The remainder of a long list in a condition: "+1". |
filterFromrequired | string | — | The two fields of the range filter. |
filterTorequired | string | — | |
rangeFromTorequired | (from: string, to: string) => string | — | The condition of a range filter: "100–500", "from 100", "to 500". |
rangeFromrequired | (from: string) => string | — | |
rangeTorequired | (to: string) => string | — | |
rangeInvalidrequired | string | — | When "From" lies behind "To". The condition stays the last valid one. |
resetAllrequired | string | — | Clears search and conditions - in the table toolbar and in the empty body. |
filteredOfTotalrequired | (matches: string, total: string) => string | — | "43 of 1.204" - the numbers come from the formats. |
verdictOkrequired | string | — | The four outcomes of an assessment, as a word beside the value. Colour
alone carries no meaning - the word stands here for that reason. Shown in: Replace single entries (Language) |
verdictWarningrequired | string | — | Shown in: Replace single entries (Language) |
verdictAlarmrequired | string | — | Shown in: Replace single entries (Language) |
verdictUnknownrequired | string | — | |
statAbsentValuerequired | string | — | What stands in the value field when there is no value. No dash, no zero: either could be a value. |
targetrequired | string | — | |
deviationAboverequired | (betrag: string) => string | — | "3,2 above target" or "1,5 below target" - the amount comes from the formats, which is where the comma is from. |
deviationBelowrequired | (betrag: string) => string | — | |
deviationOnTargetrequired | string | — | |
freshnessFreshrequired | string | — | The three freshness states. They are a DIFFERENT axis from the verdict: a stale value keeps its verdict (ADR-0010). |
freshnessStalerequired | string | — | |
freshnessDisconnectedrequired | string | — | |
asOfAgorequired | (duration: string) => string | — | "As of: 3 minutes ago", where the duration comes from the formats. |
closerequired | string | — | |
closeToastrequired | string | — | |
toastDeckCountrequired | (count: number) => string | — | The count on the front toast of a closed deck; pressing it shows them all. |
toastRegionrequired | string | — | The name of the toasts' region, which Alt+T moves the focus into. |
confirmrequired | string | — | |
cancelrequired | string | — | |
loadingrequired | string | — | |
fillLevelrequired | string | — | Generic name of a fill-level bar, where the caller names none. |
progressrequired | string | — | Generic name of a progress bar, where the caller names none. |
breadcrumbrequired | string | — | The accessible name of a breadcrumb's navigation landmark. |
breadcrumbFoldedrequired | string | — | The key that opens a breadcrumb's folded middle levels as a menu. |
splitterrequired | string | — | The separator between a splitter's panes, where the caller names none - a caller who can should name the first pane instead (APG). |
stepDonerequired | string | — | A stepper's step that is behind it, said beside its label to a screen
reader; the current step is aria-current and needs no word. |
stepUpcomingrequired | string | — | A step still ahead. |
stepFailedrequired | string | — | A step that failed - behind the current one or the current one itself. |
chooseFilerequired | string | — | The key of a file input that takes one file - and its name where no field names it. |
chooseFilesrequired | string | — | The same key where it takes several. |
dropFilerequired | string | — | The words beside the key that say the zone takes a drop. |
dropFilesrequired | string | — | |
removeFilerequired | (name: string) => string | — | The cross beside a chosen file. |
fileNotAcceptedrequired | (name: string) => string | — | A dropped file the input's accept does not take. |
showrequired | string | — | |
hiderequired | string | — | |
moreActionsrequired | string | — | |
removerequired | string | — | The cross on a tag without text content. |
removeTagrequired | (beschriftung: string) => string | — | The cross on a tag with text content. |
scheduleOverlaprequired | string | — | The two findings, named on the ghost of a drag. |
scheduleViolatedDependencyrequired | string | — | |
scheduleGhostTimesrequired | (from: string, to: string) => string | — | The new times on the ghost: "08:15–10:00" - the times come from the formats. |
scheduleLeadInrequired | string | — | The parts of a subtask and a dependency, named in the tooltip. |
scheduleLeadOutrequired | string | — | |
scheduleDependencyrequired | string | — | |
scheduleRouterequired | (from: string, to: string) => string | — | "A-2041-1 → A-2041-2": the two subtasks a dependency joins. |
scheduleOverlapWithrequired | (other: string) => string | — | "Overlap with A-2043-2" - the other subtask on the lane. |
scheduleViolatedByrequired | (amount: string) => string | — | "Violated dependency, 15 min short" - the amount from minutesShort. |
scheduleLaneRefusedrequired | string | — | On the ghost of a drag over a lane the subtask may not go to. |
scheduleBlockedTimerequired | string | — | On the ghost of a drag held back from a lane's blocked time. |
scheduleInBlockedTimerequired | (label: string | undefined) => string | — | "In blocked time (Leave)" - a subtask covering its lane's blocked time, with the blocked time's label where it has one. |
scheduleMilestonerequired | (name: string) => string | — | "Milestone: Release" - a milestone named by its label (or id), so that the tooltip and the spoken readout say what kind of thing it is. |
scheduleFoldGrouprequired | string | — | The chevron of a lane group's header, which folds it into one row and unfolds it again. The group's own label stands beside the button, so the name is what the ACTION is, not which group it acts on. |
scheduleUnfoldGrouprequired | string | — | |
scheduleLaneCountrequired | (count: number) => string | — | How many lanes a group holds, beside its name in the header. |
scheduleRoleDescriptionrequired | string | — | What a screen reader calls the plot that takes the keys
(aria-roledescription, schedule-a11y S1). |
scheduleSummaryrequired | (summary: { lanes: number; subtasks: number; from: string; to: string; overlaps: number; violated: number; /** Subtasks in blocked time; said only where there are any. */ blocked: number; /** Milestones of the plan; said only where there are any. */ milestones: number; }) => string | — | The plot's description (S6): the lanes, the subtasks in view, the visible span with both ends formatted, and the findings of the plan by kind. |
scheduleKeyHelprequired | string | — | The keys that walk the plot, select and edit - read after the summary. |
dashboardEditrequired | string | — | The editing bar's buttons and the label that says the mode is on. |
dashboardEditingrequired | string | — | |
dashboardCancelrequired | string | — | |
dashboardDonerequired | string | — | |
dashboardUndorequired | string | — | |
dashboardRedorequired | string | — | |
dashboardResetrequired | string | — | |
dashboardMenurequired | (title: string) => string | — | The name of a widget's menu button: the widget's title is the thing. |
dashboardPlacerequired | (place: number, of: number) => string | — | At the top of the menu, and in the name of a head the arrow keys move. |
dashboardHeadrequired | (title: string, place: number, of: number) => string | — | |
dashboardMoveStartrequired | string | — | |
dashboardMoveEarlierrequired | string | — | |
dashboardMoveLaterrequired | string | — | |
dashboardMoveEndrequired | string | — | |
dashboardRemoverequired | string | — | |
dashboardSizesrequired | { small: string; medium: string; wide: string; tall: string; large: string; full: string } | — | The closed set of size names, worded once for every widget type. |
dashboardSizeEntryrequired | (size: string, share: string, current: boolean) => string | — | A size's entry in a widget's menu: its name and its share of the width
(share is "¼" or "5/12", empty for the whole width); current marks the size the widget stands at. |
dashboardHeadingLabelrequired | string | — | The built-in heading type: its name, its sentence in the catalogue, the text a new heading starts with and the label of its text field. |
dashboardHeadingSentencerequired | string | — | |
dashboardHeadingTextrequired | string | — | |
dashboardHeadingFieldrequired | string | — | |
dashboardLeftrequired | string | — | Said when "Done" leaves the mode and nothing was changed. |
dashboardMovedrequired | (title: string, from: number, to: number, of: number) => string | — | What is spoken after a change. |
dashboardDragCancelledrequired | (title: string) => string | — | |
dashboardResizedrequired | (title: string, size: string) => string | — | |
dashboardRemovedrequired | (title: string) => string | — | |
dashboardKeptrequired | string | — | |
dashboardCancelledrequired | string | — | |
dashboardAddWidgetrequired | string | — | The catalogue and the options. |
dashboardCataloguerequired | string | — | |
dashboardCatalogueSentencerequired | string | — | |
dashboardAddrequired | string | — | |
dashboardAddTyperequired | (label: string) => string | — | |
dashboardFootprintrequired | (columns: number, rows: number) => string | — | |
dashboardAddedrequired | (title: string, place: number, of: number) => string | — | |
dashboardOptionsrequired | string | — | |
dashboardOptionsChangedrequired | (title: string) => string | — | |
dashboardEmptyrequired | string | — | |
dashboardEmptyEditingrequired | string | — | |
dashboardFailedrequired | string | — | |
dashboardUndonerequired | string | — | |
dashboardRedonerequired | string | — | |
dashboardResetDonerequired | string | — | |
calculationSumSymbolrequired | string | — | The four operators as symbols in a formula line. |
calculationDifferenceSymbolrequired | string | — | |
calculationProductSymbolrequired | string | — | |
calculationQuotientSymbolrequired | string | — | |
calculationSumWordrequired | string | — | The same four as words, in the accessible sentence of a line. |
calculationDifferenceWordrequired | string | — | |
calculationProductWordrequired | string | — | |
calculationQuotientWordrequired | string | — | |
calculationEqualsrequired | string | — | Between the parts of the sentence: "Availability equals ...". |
calculationApproximatelyrequired | string | — | Before a result marked "≈" in the sentence. |
calculationApproximateNoterequired | string | — | Beside a result marked "≈": why the rounded operands do not give it. |
calculationPercentrequired | string | — | How a percentage is read out: "91.6 percent". |
calculationMissingrequired | (label: string) => string | — | Why a quantity has no number - the label is the given at the root of it, or the divisor that is zero. |
calculationDivisionByZerorequired | (label: string) => string | — | |
calculationAboveTargetrequired | (target: string) => string | — | The target beside the result, with the target's number and unit. |
calculationBelowTargetrequired | (target: string) => string | — | |
calculationOnTargetrequired | (target: string) => string | — | |
calculationWorstInsiderequired | (verdict: string) => string | — | The quiet marker on a folded quantity whose derivation holds a worse
verdict than its own; the verdict word comes from verdict*. |
calculationSourcerequired | (source: string) => string | — | Where a given number came from. |
calculationShowDerivationrequired | (label: string) => string | — | The disclosure button of a derivation, named after the quantity. |
calculationHideDerivationrequired | (label: string) => string | — | |
calculationOperandCountrequired | (count: number) => string | — | On a folded line whose operator has more operands than are written out beneath it (ADR-0028): how many there are. |
calculationNoOperandsrequired | string | — | On the line of a sum with no operands, where its formula would stand (ADR-0049). |
Used on Language.
GERMAN_FORMATSThe German notation: 17.03.2026, 09:05, 1.204,5, "vor 3 Minuten" - and German collation, which files Ä with A. The clock is 24-hour here as it is in the default; that never was a question of language.
Every entry, with its value, stands in the table Formats on the Language page.
const GERMAN_FORMATS: Formats;Used on UmrissProvider and Language.
GERMAN_WORDINGThe German instance. Complete, because it is typed Wording.
Every entry, with its value, stands in the table Wording on the Language page.
const GERMAN_WORDING: Wording;Used on UmrissProvider and Language.
FormFieldContextValue| Name | Type | Default | Description |
|---|---|---|---|
idrequired | string | — | |
labelIdrequired | string | — | The label's own id. label htmlFor names only what HTML can label -
an input, a select, a button; a group (role="radiogroup") is named
through aria-labelledby with this. |
describedBy | string | — | |
invalidrequired | boolean | — | |
requiredrequired | boolean | — | A required field. Every field whose role carries it turns this into
aria-required - just as it does with aria-describedby and
aria-invalid. |
ToastContextValue| Name | Type | Default | Description |
|---|---|---|---|
toastrequired | (options: ToastOptions) => number | — | Shows a toast and returns its id. Shown in: Show a toast (Toast), Tones (Toast), Undo (Toast) and 10 more |
updaterequired | (id: number, options: Partial<ToastOptions>) => void | — | Changes a standing toast. A new tone or a new duration starts its time
afresh - so a loading toast turned into success begins to count then.
An id that no longer stands is ignored: a timed toast that gave way
to newer ones has said so through onClose. A loading toast turned into
its outcome counts toward the limit from the next arrival on; update
itself pushes nothing out.Shown in: Save, and say how it went (Toast) |
dismissrequired | (id: number) => void | — | Closes a toast, with the reason dismiss. |
InstantWhat may come in as an as-of time or a reference time.
type Instant = Date | number | null | undefined;