Skip to content

@adonia/ui API

Canonical inventory of every public subpath and TypeScript export in @adonia/ui.

@adonia/ui

Export Kind Source Summary
Ability type-only type packages/ui/src/types.ts:44 Authorization ability vocabulary (TECH_SPEC §12; frozen in protocol v1 §10). Per-record can projections carry a subset of these.
AbilityMap type-only type packages/ui/src/types.ts:62 Ability → boolean projection. Keys are optional: fixtures and real payloads carry only the abilities relevant to the projection context (resource-level abilities vs per-record can). The JsonObject intersection keeps the mapped type assignable to inertia’s Record<string, JSONDataTypes> render constraint (the JSON page-props constraint).
ACCENT_STEPS constant packages/ui/src/theme/accent_ramp.ts:21 The eleven ramp steps, light → dark (Tailwind-compatible naming).
AccentRamp type-only type packages/ui/src/theme/accent_ramp.ts:27 Step → CSS oklch() colour, the shape written into --adonia-accent-*.
accentRampVariables function packages/ui/src/theme/accent_ramp.ts:120 Map a ramp onto its CSS custom properties, ready to spread into a style attribute or a :root block.
AccentStep type-only type packages/ui/src/theme/accent_ramp.ts:24 One ramp step key, e.g. '600'.
ActionBatchStatus type-only type packages/ui/src/types.ts:238 Monotonic progress payload returned by the action status route (TECH_SPEC §15.1).
ActionButtons function packages/ui/src/components/actions.tsx:201 Action surfaces shared by row menus, bulk selection bars, and page headers.
ActionButtonsProps type-only type packages/ui/src/components/actions.tsx:61 Props for row, bulk, and page action buttons.
ActionDescriptor type-only type packages/ui/src/types.ts:189 Authorized action descriptor (§10.3).
ActionFailure type-only type packages/ui/src/types.ts:213 One target rejected or failed during an action run (TECH_SPEC §15.1).
ActionFetcher type-only type packages/ui/src/components/actions.tsx:49 JSON transport used by action run/status calls.
ActionModal function packages/ui/src/components/actions.tsx:348 Modal form, queued progress, and safe partial-failure presentation.
ActionModalProps type-only type packages/ui/src/components/actions.tsx:335 Props for the action confirmation/schema/progress modal.
ActionRequest type-only type packages/ui/src/types.ts:207 Exact action request and result wire contracts.
ActionResult type-only type packages/ui/src/types.ts:227 Result union returned by inline and queued actions (TECH_SPEC §15.1).
ActionTargets type-only type packages/ui/src/hooks/use_table_state.ts:58 Action target payload (§10.3). ids is an explicit row selection; query is the “all N matching” escalation — the SERIALIZED QUERY STATE, so the server re-runs the exact same filtered query rather than trusting a client-supplied id list it would have to authorize row by row anyway.
adonia function packages/ui/src/adonia.tsx:57 Build the Adonia client config: create a registry pre-populated with the built-ins, apply the user’s registry customizer, and bind a provider.
AdoniaCommand type-only type packages/ui/src/registry/index.ts:191 A command contribution that either navigates or executes a callback.
AdoniaCommandContext type-only type packages/ui/src/registry/index.ts:166 Runtime capabilities handed to an AdoniaCommand runner.
AdoniaCommandItem type-only type packages/ui/src/registry/index.ts:201 One item accepted by ComponentRegistry.commands.
AdoniaConfig type-only type packages/ui/src/adonia.tsx:24 User-facing client config (TECH_SPEC §13.1), as authored in the scaffolded inertia/adonia.ts:
AdoniaContextValue type-only type packages/ui/src/context.tsx:40 Value provided by AdoniaProvider.
AdoniaDensityToggle function packages/ui/src/theme/density_toggle.tsx:33 Switch the panel between comfortable and compact rows, or hand the choice back to the panel’s own default.
AdoniaEnvelope type-only type packages/ui/src/types.ts:355 Shared adonia page prop injected by AdoniaInertiaMiddleware.share(), identical across all pages of a panel (protocol v1 §1). Clients MUST hard-fail when protocolVersion differs from 1.
AdoniaI18nContextValue type-only interface packages/ui/src/i18n.tsx:24 Browser translation state supplied by AdoniaI18nProvider.
AdoniaI18nProvider function packages/ui/src/i18n.tsx:125 Installs locale, direction, and the framework-owned catalog for panel descendants. It is SSR-safe: server rendering never reads the DOM. In a browser it keeps the document root direction synchronized for portals and host chrome.
AdoniaI18nProviderProps type-only interface packages/ui/src/i18n.tsx:36 Props accepted by AdoniaI18nProvider.
AdoniaProvider function packages/ui/src/context.tsx:79 Root provider exposing the ComponentRegistry, the theme tokens and the field transports to the renderer tree. SSR-safe; rendering without a provider falls back to the shared default registry and the built-in transports, so packaged pages and tests work standalone.
AdoniaProviderProps type-only type packages/ui/src/context.tsx:60 Props of AdoniaProvider.
AdoniaTheme type-only type packages/ui/src/context.tsx:20 Theme configuration carried by the Adonia context (TECH_SPEC §13.5).
AdoniaThemeToggle function packages/ui/src/theme/theme_toggle.tsx:20 Flip the panel between light and dark. Renders nothing unless the panel opted into the 'class' dark-mode strategy — under 'system' the OS preference owns the scheme and a toggle would lie, and under 'off' there is nothing to toggle to.
AdoniaTokenName type-only type packages/ui/src/theme/tokens.ts:20 Any Adonia custom property name.
AdoniaTransports type-only type packages/ui/src/transports.ts:172 The transports a panel can override (TECH_SPEC §13.2 extension surface). Both are optional; each falls back to its default independently.
AdoniaUiPlugin type-only type packages/ui/src/registry/index.ts:274 A callback plugin or a duplicate-safe named plugin object.
AdoniaUiPluginCallback type-only type packages/ui/src/registry/index.ts:252 Callback-form UI plugin. Callbacks are intentionally unnamed and may be composed repeatedly; use a named plugin when duplicate detection matters.
Alert function packages/ui/src/components/ui/alert.tsx:26 Styled status alert container with semantic alert behavior.
AlertAction function packages/ui/src/components/ui/alert.tsx:73 Layout region for actions associated with an alert.
AlertDescription function packages/ui/src/components/ui/alert.tsx:56 Styled description region for alert details.
AlertDialog constant packages/ui/src/components/ui/alert-dialog.tsx:10 Base UI alert-dialog root re-exported for ejected pages.
AlertDialogClose function packages/ui/src/components/ui/alert-dialog.tsx:172 Styled Base UI control that closes an alert dialog.
AlertDialogDescription function packages/ui/src/components/ui/alert-dialog.tsx:158 Styled Base UI description for an alert dialog.
AlertDialogFooter function packages/ui/src/components/ui/alert-dialog.tsx:119 Layout container for alert-dialog actions.
AlertDialogHeader function packages/ui/src/components/ui/alert-dialog.tsx:102 Layout container for an alert-dialog heading.
AlertDialogPopup function packages/ui/src/components/ui/alert-dialog.tsx:68 Styled Base UI popup containing alert-dialog content.
AlertDialogTitle function packages/ui/src/components/ui/alert-dialog.tsx:141 Styled Base UI title for an alert dialog.
AlertDialogTrigger function packages/ui/src/components/ui/alert-dialog.tsx:27 Styled Base UI trigger that opens an alert dialog.
appendStateQuery function packages/ui/src/form/refetch.ts:51 Append a withState slice to a capability URL as query parameters, one per declared key under its own name.
applyDerived function packages/ui/src/form/derive.ts:89 Merge derived values into a state map, restricted to keys the descriptor actually declares.
assertProtocolVersion function packages/ui/src/components/chrome/protocol_version.ts:20 Throw unless the envelope’s protocolVersion is the one this build understands.
BADGE_TONES constant packages/ui/src/components/badge_tones.ts:19 Palette token → semantic Badge variant.
BadgeCell function packages/ui/src/components/cells/badge_cell.tsx:14 Built-in badge cell (TECH_SPEC §8.1 C.badge().colors(map).icons(map)). A null value is not a badge — it renders the same em dash every other cell uses for “no value”, so an empty column reads as empty rather than as a grey pill labelled “—”.
BadgeEntry function packages/ui/src/components/display/badge_entry.tsx:30 Built-in badge-entry display projection (protocol v1 §8): the detail counterpart of a select/radio/checkbox-list whose options carry colours, and of a hand-written s.badgeEntry(attr).colors(map).
badgeToneClass function packages/ui/src/components/badge_tones.ts:94 Compatibility classes for non-Badge callers; prefer badgeToneVariant.
badgeToneVariant function packages/ui/src/components/badge_tones.ts:89 Semantic Badge variant for a palette token; unknown tokens read neutral.
BelongsToInput function packages/ui/src/components/fields/relation_input.tsx:264 To-one relation picker with remote search and inline create.
BelongsToManyInput function packages/ui/src/components/fields/relation_input.tsx:357 To-many relation picker with an optional pivot form per selection.
BooleanCell function packages/ui/src/components/cells/boolean_cell.tsx:15 Built-in boolean cell (TECH_SPEC §8.1 C.boolean().trueIcon().falseIcon()).
booleanValue function packages/ui/src/components/fields/checkbox_input.tsx:17 Read a boolean field’s state tolerantly.
BreadcrumbItem type-only type packages/ui/src/components/chrome/breadcrumbs.tsx:24 One crumb. url is absent on the trailing crumb (the current page) and on any purely structural ancestor that has no page of its own.
Breadcrumbs function packages/ui/src/components/chrome/breadcrumbs.tsx:50 Render the trail, or nothing when there is none — an empty nav landmark is noise for screen-reader users.
BreadcrumbsProps type-only type packages/ui/src/components/chrome/breadcrumbs.tsx:30 Props of Breadcrumbs.
buildAccentRamp function packages/ui/src/theme/accent_ramp.ts:104 Build the eleven --adonia-accent-* values from one accent colour.
buildFormState function packages/ui/src/form/nodes.ts:63 Project incoming state onto the descriptor’s key set — the client half of the state-hygiene invariant (protocol v1 §7).
buildSubmitPayload function packages/ui/src/form/reactivity.ts:88 The payload a submit sends: the current value of every VISIBLE key, with sets derivations overlaid (mirroring R3 + R6).
BUILTIN_TRANSFORMS constant packages/ui/src/transforms.ts:33 Built-in transforms pre-registered by createAdoniaRegistry.
Button function packages/ui/src/components/ui/button.tsx:57 Styled Base UI-compatible button with loading-state support.
buttonVariants constant packages/ui/src/components/ui/button.tsx:9 Variant styles shared by the Adonia button component.
cellHref function packages/ui/src/components/cells/cell_link.tsx:42 Resolve a column’s link prop to an href (TECH_SPEC §8.1 .link('detail' | 'edit' | UrlFn)).
CellLink function packages/ui/src/components/cells/cell_link.tsx:66 Wrap cell content in an Inertia link when the column declares one, and render it bare otherwise. SSR-safe: prefers the enclosing table’s base path, otherwise the current page URL from usePage().
CellLinkProps type-only type packages/ui/src/components/cells/cell_link.tsx:55 Props of CellLink.
CellProps type-only type packages/ui/src/registry/index.ts:137 Props of a registered cell component (table column position).
Checkbox function packages/ui/src/components/ui/checkbox.tsx:6 Styled Base UI checkbox with checked and indeterminate indicators.
CheckboxInput function packages/ui/src/components/fields/checkbox_input.tsx:32 Built-in checkbox field (TECH_SPEC §7.3: inline()).
CheckboxListInput function packages/ui/src/components/fields/checkbox_list.tsx:29 Built-in checkbox-list field (TECH_SPEC §7.3, “array state”: options(), columns(n), minSelected/maxSelected).
civilFromInstant function packages/ui/src/components/fields/temporal.ts:102 Render a UTC ISO instant as the civil string <input type="datetime-local"> expects, in timeZone. Seconds are included only when they are non-zero, because a control showing :00 invites the user to edit a precision the record never had.
clearColumnPreference function packages/ui/src/hooks/column_preferences.ts:160 Remove a local layout so descriptor defaults apply again.
ClientOnly function packages/ui/src/components/client_only.tsx:42 Render children in the browser only, fallback on the server.
ClientOnlyProps type-only type packages/ui/src/components/client_only.tsx:19 Props of ClientOnly.
cn function packages/ui/src/lib/utils.ts:5 Compose conditional class names and dedupe Tailwind conflicts.
CodeEntry function packages/ui/src/components/display/code_entry.tsx:22 Built-in code-entry display projection (TECH_SPEC §7.1): the detail counterpart of code and json.
CodeInput function packages/ui/src/components/fields/code_input.tsx:36 Source editor with a lazily loaded highlighter.
collectFieldNodes function packages/ui/src/form/nodes.ts:37 Every state-bearing node of a descriptor tree, in DOCUMENT ORDER.
collectStateKeys function packages/ui/src/utils.ts:53 Collect every state-bearing node key in a descriptor tree. Used to enforce the state-hygiene invariant on submit (protocol v1 §7): keys without a node are dropped and never submitted.
COLOR_SCHEME_STORAGE_KEY constant packages/ui/src/theme/color_scheme.ts:31 localStorage key holding the user’s manual choice.
ColorInput function packages/ui/src/components/fields/color_input.tsx:30 Built-in color field (TECH_SPEC §7.3; hex(), oklch(), alpha(), swatches()).
ColorScheme type-only type packages/ui/src/theme/color_scheme.ts:28 A resolved colour scheme.
ColorSchemeControls type-only type packages/ui/src/theme/color_scheme.ts:34 What useColorScheme hands a toggle component.
ColumnDescriptor type-only type packages/ui/src/types.ts:136 Table column (protocol v1 §3). key addresses the row map VERBATIM — dotted keys like author.fullName read row["author.fullName"] and MUST NOT be split into a nested lookup.
columnPreferenceKey function packages/ui/src/hooks/column_preferences.ts:42 localStorage key for one resource and viewer.
ColumnPreferences type-only type packages/ui/src/hooks/column_preferences.ts:17 Persistent layout for one resource table. Pinned columns are pinned left.
ColumnPreferenceViewer type-only type packages/ui/src/hooks/column_preferences.ts:29 Optional identity supplied by the additive protocol envelope.
CommandPalette function packages/ui/src/components/chrome/command_palette.tsx:219 Panel-wide ⌘K / Ctrl+K search palette.
CommandPaletteGroup type-only type packages/ui/src/components/chrome/command_palette.tsx:56 One grouped resource result.
CommandPaletteHit type-only type packages/ui/src/components/chrome/command_palette.tsx:42 One global-search hit.
CommandPaletteProps type-only type packages/ui/src/components/chrome/command_palette.tsx:66 Props of CommandPalette.
ComponentRegistry class packages/ui/src/registry/index.ts:284 ComponentRegistry — the ABI-stable contribution surface for descriptor components and panel commands (TECH_SPEC §13.2). Registration is last-write-wins; overriding a built-in component logs a dev-build warning.
ControlledDataTable function packages/ui/src/components/table/table.tsx:167 Table renderer for pages that share one URL-state controller with adjacent controls.
copyTransform constant packages/ui/src/transforms.ts:30 copy built-in: pass the source value through unchanged.
CountCell function packages/ui/src/components/cells/count_cell.tsx:16 Built-in count cell (TECH_SPEC §8.1 C.count(relation) and its sum/exists siblings).
createAdoniaRegistry function packages/ui/src/registry/index.ts:709 Create a registry pre-populated with every core schema renderer, table renderer, widget, and built-in transform.
CreateModal function packages/ui/src/components/fields/create_modal.tsx:113 Modal dialog rendering the target resource’s create form.
CreateModalProps type-only type packages/ui/src/components/fields/create_modal.tsx:94 Props of CreateModal.
DANGER_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:41 Destructive button: outlined until confirmed, never filled by default.
DarkModeStrategy type-only type packages/ui/src/theme/color_scheme.ts:25 Dark-mode strategy declared by a panel’s theme.darkMode.
DashboardPageProps type-only type packages/ui/src/types.ts:460 Props of the packaged adonia/dashboard page (§10.1 dashboard).
DataTable function packages/ui/src/components/table/table.tsx:156 The descriptor-driven index table (TECH_SPEC §8, §13.3).
DataTableProps type-only type packages/ui/src/components/table/table.tsx:59 Props of DataTable.
DateCell function packages/ui/src/components/cells/date_cell.tsx:94 Built-in date cell (TECH_SPEC §8.1 C.date().format(fmt).since()).
DateInput function packages/ui/src/components/fields/date_input.tsx:25 Built-in date field (TECH_SPEC §7.3; timezone, displayTimezone, after, before).
DateRangeFilter function packages/ui/src/components/filters/date_range_filter.tsx:32 Built-in date-range filter: separate From/To coss day pickers.
DateTimeInput function packages/ui/src/components/fields/datetime_input.tsx:30 Built-in datetime field (TECH_SPEC §7.3; timezone, displayTimezone, after, before).
DEFAULT_ACCENT constant packages/ui/src/theme/accent_ramp.ts:40 Accent used when a panel declares none, and the fallback for an accent string this module cannot parse.
defaultJsonFetcher constant packages/ui/src/transports.ts:150 Default JSON transport: the global fetch, with the same credential, Accept and CSRF posture every Adonia capability request uses.
Density type-only type packages/ui/src/theme/tokens.ts:497 Density preset name accepted by AdoniaTheme.density.
DENSITY_STORAGE_KEY constant packages/ui/src/theme/density.ts:30 localStorage key holding the operator’s density override.
DENSITY_UNITS constant packages/ui/src/theme/tokens.ts:491 Density presets (TECH_SPEC §13.5 “density spacing”). A panel picks one and the whole spacing scale follows, because every step is a multiple of --adonia-density.
DensityControls type-only type packages/ui/src/theme/density.ts:38 What useDensity hands a density control.
DensityPreference type-only type packages/ui/src/theme/density.ts:35 The operator’s choice, or null to defer to the panel’s own default.
densityUnit function packages/ui/src/theme/density.ts:155 The CSS value --adonia-density takes for a resolved density.
DerivationResult type-only type packages/ui/src/form/derive.ts:25 Outcome of one derivation pass: the derived values plus dev-mode warnings.
deriveSets function packages/ui/src/form/derive.ts:53 Run every sets entry declared by nodes, in document order, against one state snapshot.
DescriptorNode type-only type packages/ui/src/types.ts:103 One node of the descriptor tree (protocol v1 §2). The skeleton is frozen: new top-level keys require a protocol bump; props contents are the open, additive-only escape hatch.
DIRTY_GUARD_MESSAGE constant packages/ui/src/form/guard.ts:30 Bundled-English default for direct callers outside React; form hooks pass the active catalog value.
DirtyGuardDialog function packages/ui/src/components/chrome/dirty_guard_dialog.tsx:39 Render the discard confirmation.
DirtyGuardPrompt type-only type packages/ui/src/form/guard.ts:36 Asks the user whether to discard unsaved changes: true leaves the page, false stays on it.
EditorLoader type-only type packages/ui/src/components/fields/lazy.tsx:33 A dynamic-import thunk resolving to a default-exported component.
Empty function packages/ui/src/components/ui/empty.tsx:21 Styled container for an empty-state presentation.
EMPTY_VALUE constant packages/ui/src/components/display/entry_shell.tsx:27 Rendered for an entry whose value is absent — one dash, everywhere.
EmptyContent function packages/ui/src/components/ui/empty.tsx:125 Layout container for empty-state actions or supporting content.
EmptyDescription function packages/ui/src/components/ui/empty.tsx:108 Styled description for an empty-state message.
EmptyHeader function packages/ui/src/components/ui/empty.tsx:38 Layout container for an empty-state heading.
EmptyTitle function packages/ui/src/components/ui/empty.tsx:94 Styled title for an empty-state message.
EntryShell function packages/ui/src/components/display/entry_shell.tsx:46 Label + value block shared by every entry. The label is a real <dt>, and its id is exposed on the <dd> through aria-labelledby so a value read on its own still announces what it is.
EntryShellProps type-only type packages/ui/src/components/display/entry_shell.tsx:30 Props of EntryShell.
ErrorPageProps type-only type packages/ui/src/types.ts:472 Props of the packaged adonia/error page (TECH_SPEC §17), built server-side by errorPageProps in @adonia/core. Every member is always present: the production/development split is a server decision, so the page never has to ask which environment it runs in.
EvalResult type-only type packages/ui/src/json_logic.ts:50 Result of evaluating one rule: the raw value plus dev-mode warnings.
evaluate function packages/ui/src/json_logic.ts:112 Evaluates one rule against the root form state. ./-prefixed var paths resolve against scope (a repeater row sub-state, the repeater-scoping contract); every other path is absolute against the root state.
evaluateCondition function packages/ui/src/json_logic.ts:244 Evaluates a reactive rule for a visibility/requiredness/disabledness decision: Boolean() applied to the raw rule value, per the reactivity contract’s pinned truthiness. Warnings are dropped — decisions never throw and never block a render.
evaluateReactivity function packages/ui/src/form/reactivity.ts:44 Evaluate visibleWhen / disabledWhen / requiredWhen for every node against one flat state (mirroring R1: a single pass, no fixpoint, hidden fields’ values still visible to rules).
extractInputErrors function packages/ui/src/utils.ts:92 Extract field-keyed validation errors from the Inertia errors page prop.
FALLBACK_DENSITY constant packages/ui/src/theme/density.ts:50 Density the panel falls back to when neither operator nor panel chose.
Field function packages/ui/src/components/ui/field.tsx:6 Styled Base UI field root for grouping form controls and messages.
FIELD_CONTROL_CLASS constant packages/ui/src/components/fields/field_shell.tsx:122 Token-only input styling retained for consumers outside the field registry. Built-in fields use the coss control primitives directly.
FieldChrome type-only type packages/ui/src/components/fields/field_shell.tsx:38 Resolved chrome for one field instance: the ids its markup needs and the effective flags, with the node’s static props and the controller’s reactive verdicts already reconciled.
FieldControl constant packages/ui/src/components/ui/field.tsx:78 Base UI field control re-exported for ejected pages.
FieldController type-only type packages/ui/src/registry/index.ts:104 Control surface handed to field components (TECH_SPEC §13.2: FieldController). useFormEngine builds one per state-bearing node, with reactive rules already evaluated and dependent options already fetched; SchemaRenderer synthesizes a bare one when it renders without an engine (a detail projection, a preview), in which case FieldController.refetchOptions delegates to the optional onRefetchOptions render prop and otherwise dev-warns.
FieldError function packages/ui/src/components/ui/field.tsx:64 Styled Base UI validation error for a form field.
FieldLabel function packages/ui/src/components/ui/field.tsx:24 Styled Base UI label for a form field.
FieldNode type-only type packages/ui/src/form/nodes.ts:21 A state-bearing descriptor node: a DescriptorNode narrowed to a non-null key. Layout and display chrome (key: null) never appears.
FieldOption type-only type packages/ui/src/components/fields/options.ts:20 One selectable option, as carried by props.options (protocol v1 §10).
fieldOptions function packages/ui/src/components/fields/options.ts:54 Normalize a props.options payload. Accepts the protocol shape ([{ value, label, color?, icon?, disabled? }]) and the bare scalar list an enum-backed field serializes to. Malformed entries are skipped rather than rendered as blanks — a broken option is invisible, never a crash (protocol v1 §8).
FieldProps type-only type packages/ui/src/registry/index.ts:124 Props of a registered field component (schema child position).
FieldShell function packages/ui/src/components/fields/field_shell.tsx:164 The labelled block every field renders. Grouped fields get a <fieldset>/<legend>; everything else a <label htmlFor> pointing at FieldChrome.controlId.
FieldShellProps type-only type packages/ui/src/components/fields/field_shell.tsx:126 Props of FieldShell.
FileInput function packages/ui/src/components/fields/file_input.tsx:85 Drag-and-drop upload widget bound to urls.upload. The drop target contains a coss button that activates the real file input: keyboard and pointer users get the same named control, while drag handlers remain pure enhancement on top of a standard picker.
FilterField function packages/ui/src/components/filters/filter_field.tsx:105 Labelled wrapper shared by every built-in single-control filter.
FilterFieldProps type-only type packages/ui/src/components/filters/filter_field.tsx:97 Props of FilterField.
filterLabel function packages/ui/src/components/filters/filter_field.tsx:48 A filter’s display label, falling back to its query-string key (§8.2).
FilterOption type-only type packages/ui/src/components/filters/filter_field.tsx:17 One selectable option, as carried by props.options or urls.options.
filterOptions function packages/ui/src/components/filters/filter_field.tsx:27 Normalize an options prop. Accepts the protocol shape ([{ value, label }]) and a bare string list, which is what a filter built from an enum column serializes to.
FilterProps type-only type packages/ui/src/registry/index.ts:152 Props of a registered filter component (table filter position).
FlashEnvelope type-only type packages/ui/src/types.ts:393 The adonia.flash block (protocol v1 §1), rendered by the toaster.
formatCellValue function packages/ui/src/utils.ts:114 Human-readable fallback rendering for a raw table-cell value.
FormConflict type-only type packages/ui/src/hooks/use_form_engine.ts:96 One field changed differently in the local draft and the latest server state.
FormEngine type-only type packages/ui/src/hooks/use_form_engine.ts:117 Everything a form page (packaged or ejected) needs. The three verdict maps carry an entry for every state-bearing key of the descriptor, so a missing key means “no such node”, never “false”.
FormEngineOptions type-only type packages/ui/src/hooks/use_form_engine.ts:76 Options of useFormEngine; every one has a working default.
FormState type-only type packages/ui/src/types.ts:343 Flat form state keyed by node key (protocol v1 §7). Invariant: state MUST NOT contain a key for which no node exists in descriptor.schema (state hygiene); the client drops unknown keys and never submits them.
getColorScheme function packages/ui/src/theme/color_scheme.ts:59 The client’s current scheme, reading localStorage on first access. Storage can throw (opaque origins, Safari private mode, disabled cookies); a panel that cannot remember the choice is still a working panel, so the failure degrades to 'light'.
getDefaultRegistry function packages/ui/src/registry/index.ts:743 Lazily created shared registry used when no AdoniaProvider supplies one. Module-eval free (SSR-friendly) and pre-populated with the built-ins.
getDensityPreference function packages/ui/src/theme/density.ts:75 The operator’s stored override, reading localStorage on first access. Storage can throw (opaque origins, private mode, disabled cookies); a panel that cannot remember the choice is still a working panel, so the failure degrades to “no override” rather than propagating.
getServerColorScheme function packages/ui/src/theme/color_scheme.ts:73 Scheme assumed while server-rendering: the :root defaults are light.
getServerDensityPreference function packages/ui/src/theme/density.ts:93 Preference assumed while server-rendering: none. The server cannot know the operator’s choice, and guessing produces a first paint at one density that snaps to another on hydration.
HiddenInput function packages/ui/src/components/fields/hidden_input.tsx:25 Built-in hidden field (TECH_SPEC §7.3: “value participates in validation/fill but not UI”).
HtmlEntry function packages/ui/src/components/display/html_entry.tsx:32 Built-in html display projection (protocol v1 §8): the detail counterpart of rich-text and markdown.
ImageCell function packages/ui/src/components/cells/image_cell.tsx:26 Built-in image cell (TECH_SPEC §8.1 C.image().rounded().stacked(rel)).
ImageEntry function packages/ui/src/components/display/image_entry.tsx:25 Built-in image-entry display projection (protocol v1 §8): the detail counterpart of image.
Input function packages/ui/src/components/ui/input.tsx:15 Styled text input supporting Base UI and native input rendering.
installDirtyGuard function packages/ui/src/form/guard.ts:93 Install the guard. Returns the teardown function (safe to call twice).
instantFromCivil function packages/ui/src/components/fields/temporal.ts:121 Inverse of civilFromInstant: resolve a civil YYYY-MM-DDTHH:mm[:ss] reading in timeZone to a UTC ISO instant.
isAdoniaPage function packages/ui/src/adonia.tsx:108 Is name (the Inertia page name given to createInertiaApp’s resolve) one of Adonia’s packaged pages?
isEmptyFilterValue function packages/ui/src/hooks/table_query.ts:222 True when a filter value carries nothing worth sending (§8.2).
JsonInput function packages/ui/src/components/fields/json_input.tsx:48 Structured editor over a JSON column, with parse feedback.
JsonLogicRule type-only type packages/ui/src/types.ts:38 A JsonLogic rule. The protocol owns only the placement of rules (protocol v1 §5); the closed grammar (strict ===/!==, null-safe relational operators) is owned by the reactivity contract and evaluated by the form engine with server mirroring.
JsonObject type-only type packages/ui/src/types.ts:30 JSON object whose values are all JsonValue.
JsonValue type-only type packages/ui/src/types.ts:27 JSON-serializable value. Descriptors MUST survive JSON.stringify unchanged (protocol v1 §2 rule 1: no functions, no secrets).
KeyValueEntry function packages/ui/src/components/display/key_value_entry.tsx:37 Built-in key-value-entry display projection (TECH_SPEC §7.1): the detail counterpart of key-value.
KeyValueInput function packages/ui/src/components/fields/key_value_input.tsx:91 Add/remove/edit rows over an object value.
LayoutProps type-only type packages/ui/src/registry/index.ts:130 Props of a registered layout component (grid, section, aside, …).
lazyEditor function packages/ui/src/components/fields/lazy.tsx:43 Wrap a dynamic import into a component that renders fallback on the server and until the chunk resolves.
lensLocation function packages/ui/src/components/table/lens_switcher.tsx:35 Splits a lens route into its resource index path and active lens slug.
LensOption type-only type packages/ui/src/components/table/lens_switcher.tsx:19 Wire lens identity.
LensSwitcher function packages/ui/src/components/table/lens_switcher.tsx:52 Compact lens strip rendered above the table toolbar.
LensSwitcherProps type-only type packages/ui/src/components/table/lens_switcher.tsx:27 Props of LensSwitcher.
localTimeZone function packages/ui/src/components/fields/temporal.ts:38 The browser’s own zone. Read through Intl rather than a Date offset, so it is an IANA name and matches what the server would call it — and so nothing touches window (§13.4 SSR safety).
LoginPageProps type-only type packages/ui/src/types.ts:445 Props of the packaged adonia/login page (§10.1 login), built by AuthController.showLogin. Brand and theme arrive through the shared adonia envelope; these are the three things the page cannot derive.
lookup function packages/ui/src/json_logic.ts:84 Dotted-path lookup into form state. Numeric segments index into arrays (items.0.price). Missing segments yield null (never undefined, never throw).
lowercaseTransform constant packages/ui/src/transforms.ts:26 lowercase built-in (the reactivity contract).
MarkdownInput function packages/ui/src/components/fields/markdown_input.tsx:41 Markdown editor with a live preview.
MorphToInput function packages/ui/src/components/fields/morph_to_input.tsx:45 Two-stage morph picker: stable resource slug first, then scoped row id.
MultiSelectFilter function packages/ui/src/components/filters/multi_select_filter.tsx:23 Built-in multi-select-filter (TECH_SPEC §8.2 Filter.multiSelect).
NamedAdoniaUiPlugin type-only type packages/ui/src/registry/index.ts:262 Named client half of an Adonia plugin.
NavNode type-only type packages/ui/src/types.ts:346 Navigation tree node for panel chrome (protocol v1 §1).
NavTree function packages/ui/src/components/chrome/nav_tree.tsx:55 Render NavNode[] as a nested list of links.
NavTreeProps type-only type packages/ui/src/components/chrome/nav_tree.tsx:15 Props of NavTree.
NestedParentContext type-only type packages/ui/src/types.ts:270 Context of the authorized parent row for a nested resource page.
nextRowId function packages/ui/src/components/fields/rows.ts:29 Allocate the next row id.
normalizeTime function packages/ui/src/components/fields/temporal.ts:143 Normalize a <input type="time"> reading to the HH:mm:ss wire form. The control yields HH:mm whenever its step is a whole minute, and the §11.1 base accepts both — but state must be ONE shape, or an untouched field and an edited one serialize differently.
NumberCell function packages/ui/src/components/cells/number_cell.tsx:16 Built-in number cell (TECH_SPEC §8.1 C.number().decimal(n).money(cur)).
NumberInput function packages/ui/src/components/fields/number_input.tsx:35 Built-in number field (TECH_SPEC §7.3: min/max/step, decimal(places)).
NumberRangeFilter function packages/ui/src/components/filters/number_range_filter.tsx:27 Built-in number-range-filter (TECH_SPEC §8.2 Filter.numberRange).
NUMERIC_CELL_CLASS constant packages/ui/src/components/surfaces.ts:85 Numeric cell treatment. Tabular figures are not a nicety in a table of records: proportional digits make columns of IDs, counts, money and dates fail to align vertically, which is the single fastest way to make dense data look untrustworthy.
Operator type-only type packages/ui/src/json_logic.ts:47 An operator of the closed subset.
OPERATOR_SET constant packages/ui/src/json_logic.ts:31 The closed operator set of the Adonia JsonLogic subset (the reactivity contract).
OptionsFetcher type-only type packages/ui/src/form/refetch.ts:23 Injectable transport, defaulting to the global fetch. Exists so the engine can be driven deterministically in tests and so hosts can add auth headers or a custom base without patching globals.
optionToken function packages/ui/src/components/fields/options.ts:42 The DOM-safe string form of a state value.
PAGE_KEYS constant packages/ui/src/pages/page_keys.ts:30 The six page keys registry.page() accepts for packaged pages — one per page @adonia/core can render (§10.1: dashboard, login, the three resource screens, and the §17 error page).
PAGE_STACK_CLASS constant packages/ui/src/components/surfaces.ts:119 Vertical rhythm between the major regions of a page.
PageHeader function packages/ui/src/pages/page_chrome.tsx:67 Heading strip: one <h1> per page, with the page’s actions opposite it.
PageHeaderProps type-only type packages/ui/src/pages/page_chrome.tsx:47 Props of PageHeader.
PageKey type-only type packages/ui/src/pages/page_keys.ts:40 One of the six packaged PAGE_KEYS values.
pagePath function packages/ui/src/pages/breadcrumbs.ts:33 The current path with query string and any trailing slash removed.
PaginationMeta type-only type packages/ui/src/types.ts:323 Frozen subset of the Lucid-style paginator meta (protocol v1 §6).
PanelEnvelope type-only type packages/ui/src/types.ts:390 The adonia.panel block (protocol v1 §1) — everything the panel chrome needs and nothing page-specific. Derived from AdoniaEnvelope so the two can never drift.
PanelShell function packages/ui/src/components/chrome/panel_shell.tsx:51 Wrap a page in the panel chrome: theme tokens, sidebar, topbar, toaster.
PanelShellProps type-only type packages/ui/src/components/chrome/panel_shell.tsx:21 Props of PanelShell.
parseColumnPreference function packages/ui/src/hooks/column_preferences.ts:82 Parse the current object model, including the visibility-array v1 format.
parseTableQuery function packages/ui/src/hooks/table_query.ts:267 Parse a URL (or bare query string) into TableQueryState. Never throws and never passes anything through: everything outside the allowlists is dropped, matching the server’s §8.3 behaviour exactly.
PartitionMetricWidget function packages/ui/src/components/widgets.tsx:441 Built-in partition tile.
PRIMARY_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:29 Filled accent button/link: the one primary action of a page.
pruneUnknownStateKeys function packages/ui/src/utils.ts:68 Drop state keys that have no corresponding node (protocol v1 §7).
RadioInput function packages/ui/src/components/fields/radio_input.tsx:24 Built-in radio field (TECH_SPEC §7.3: options(), inline()).
rangeBound function packages/ui/src/components/filters/filter_field.tsx:57 Read one half of a { from, to } range value as an input-ready string. Anything else (a scalar left over from an older URL, a nested object) reads as empty rather than crashing the panel.
rangeValue function packages/ui/src/components/filters/filter_field.tsx:67 Build the next { from, to } value, or null when both halves are empty — an empty range is an absent filter, not a filter matching nothing.
ReactiveSpec type-only type packages/ui/src/types.ts:69 Reactive behavior block (protocol v1 §5 + the reactivity contract). ALWAYS a top-level sibling of props on a DescriptorNode — never nested inside props.
ReactiveVerdicts type-only type packages/ui/src/form/reactivity.ts:25 Per-key verdicts for one evaluation state. Every state-bearing key of the descriptor has an entry in all three maps, so a missing key means “no such node” rather than “false by omission”.
readColumnPreference function packages/ui/src/hooks/column_preferences.ts:119 Read the cached layout, consulting localStorage once per key.
readOptionsPayload function packages/ui/src/form/refetch.ts:73 Narrow an options-endpoint response body to the option list.
readUploadResult function packages/ui/src/transports.ts:65 Read a { key, url } upload response, tolerating the { data: … } wrapper a proxying host may add. A body with no usable key is an error: the form state IS the key, so a “successful” upload without one would commit undefined and lose the file silently.
RecordsEnvelope type-only type packages/ui/src/types.ts:333 Paginated records envelope shipped to index pages (protocol v1 §6).
recordTitle function packages/ui/src/pages/breadcrumbs.ts:48 A human title for one record: a conventional title attribute, else the first string-valued field of the descriptor in document order, else the singular label with the id.
registerDirtyGuardPrompt function packages/ui/src/form/guard.ts:48 Register the UI that confirms leaving a dirty form. Returns the teardown, which never unregisters a prompt that has already replaced this one.
RegistryMapName type-only type packages/ui/src/registry/index.ts:215 Registry-map names, one per syntactic position (TECH_SPEC §13.2, ABI stable): schema children resolve against field + layout, table columns against cell, table filters against filter, dashboard tiles against widget, generic-page overrides against page, reactive.sets fn:* transforms against transform, and render-hook slots against slot.
RelationCell function packages/ui/src/components/cells/relation_cell.tsx:19 Built-in relation cell (TECH_SPEC §8.1 C.relation('author.fullName')).
RelationEntry function packages/ui/src/components/display/relation_entry.tsx:52 Built-in relation-entry display projection (protocol v1 §8): the detail counterpart of belongs-to, belongs-to-many and morph-to.
RelationFilter function packages/ui/src/components/filters/relation_filter.tsx:59 Built-in relation-filter (TECH_SPEC §8.2 Filter.relation): filter by a related record, with options fetched from the node’s options capability URL (protocol v1 §4, GET …/field/:key/options?q=&values=).
RelationManager function packages/ui/src/components/relation_manager.tsx:86 Parent-scoped child table/cards with descriptor-reused create, attach, and edit dialogs.
RelationManagerDescriptor type-only type packages/ui/src/types.ts:248 Parent-scoped child manager embedded in detail/edit descriptors.
relationRoutes function packages/ui/src/components/fields/relation_routes.ts:47 Derive the target’s routes, or undefined when they cannot be known.
RelationRoutes type-only type packages/ui/src/components/fields/relation_routes.ts:30 The two routes the inline-create modal drives.
RepeaterEntry function packages/ui/src/components/display/repeater_entry.tsx:31 Read-only list of the repeater’s items.
RepeaterInput function packages/ui/src/components/fields/repeater_input.tsx:112 Array-of-objects editor with add/remove/reorder and two layouts.
resetColorScheme function packages/ui/src/theme/color_scheme.ts:138 Drop the cached snapshot so the next read re-consults localStorage. Exported for tests and for host apps that clear storage on logout.
resetColumnPreferences function packages/ui/src/hooks/column_preferences.ts:195 Drop cached snapshots so the next read re-consults localStorage.
resetDensity function packages/ui/src/theme/density.ts:163 Drop the cached snapshot so the next read re-consults localStorage. Exported for tests and for host apps that clear storage on logout.
resetFormEngineWarnings function packages/ui/src/hooks/use_form_engine.ts:71 Test seam: reset the warn-once dedupe set.
resolveCapabilityUrl function packages/ui/src/form/refetch.ts:29 Resolve a node’s refetch.url reference against its urls map. Returns undefined (with the reason) when the capability is missing.
ResolvedAdoniaConfig type-only type packages/ui/src/adonia.tsx:43 Resolved client config: a ready registry plus a bound provider component that installs registry + theme context around the app.
ResolvedTransports type-only type packages/ui/src/transports.ts:180 The transports with every hole filled by its default.
resolveTransports function packages/ui/src/transports.ts:186 Fill a partial AdoniaTransports with the built-in defaults.
ResourceDescriptor type-only type packages/ui/src/types.ts:282 Resource descriptor (protocol v1 §3). descriptor.schema is always a single layout node (type: 'grid', key: null) — never a bare array (§2 rule 4).
ResourceDetailPageProps type-only type packages/ui/src/types.ts:433 Props of the packaged adonia/resource_detail page (protocol v1 §3 detail mode). The descriptor’s schema is the display projection — every field already mapped to its displayType — and record is the flat map its entries read values from (§6).
ResourceFormPageProps type-only type packages/ui/src/types.ts:416 Props of the packaged adonia/resource_form page (create and edit modes). record is present in edit mode; state is the initial FormState.
ResourceIndexPageProps type-only type packages/ui/src/types.ts:400 Props of the packaged adonia/resource_index page: the page-specific keys sit BESIDE the adonia envelope (protocol v1 §1). records is partial-reloadable (only: ['records'], §10.2).
ResourceMode type-only type packages/ui/src/types.ts:122 Descriptor compilation/rendering mode (protocol v1 §3).
resourceTrail function packages/ui/src/pages/breadcrumbs.ts:81 The trail for a resource page, derived from the descriptor’s mode and labels plus the current path (§10.1 route shapes).
RichTextInput function packages/ui/src/components/fields/rich_text_input.tsx:59 WYSIWYG editor over sanitized HTML.
sameState function packages/ui/src/form/nodes.ts:84 Deep value equality over two flat state maps, used for dirty tracking and for suppressing no-op re-renders. Reuses the evaluator’s structEq so “changed” means exactly what ===/!== mean inside a JsonLogic rule.
SchemaRenderer function packages/ui/src/components/schema_renderer.tsx:95 Walk a descriptor tree and render it through the ComponentRegistry.
SchemaRendererProps type-only type packages/ui/src/components/schema_renderer.tsx:13 Props of SchemaRenderer.
SEARCH_DEBOUNCE_MS constant packages/ui/src/hooks/use_table_state.ts:50 Search debounce window (TECH_SPEC §13.3: “mutations debounce (300 ms search)”).
selectedTokens function packages/ui/src/components/fields/options.ts:93 The tokens a field’s current value selects. Handles both state shapes of the choice family: a scalar for select/radio, an array for select().multiple() and checkbox-list. null selects nothing — it is “no choice”, never the option whose value happens to be empty.
SelectFilter function packages/ui/src/components/filters/select_filter.tsx:28 Built-in select-filter (TECH_SPEC §8.2 Filter.select): one value out of a closed option list. The empty option clears the filter rather than filtering on the empty string — filters[status]= is an absent filter on both sides of the wire (§10.2).
SelectInput function packages/ui/src/components/fields/select_input.tsx:37 Built-in choice field backed by coss Select or searchable Combobox.
SerializedRow type-only type packages/ui/src/types.ts:314 Serialized record/row (protocol v1 §6). A flat map keyed VERBATIM by column key (dotted keys included), plus id and the per-record can authorization projection. Intersection form keeps both the named members and the open index signature JSON-compatible.
serializeTableQuery function packages/ui/src/hooks/table_query.ts:333 Render TableQueryState back into the §10.2 query string (no leading ?). Defaults are omitted so a pristine table has a clean URL, and key order is fixed so two equal states always produce byte-identical URLs — otherwise Inertia would treat a no-op as a navigation.
setColorScheme function packages/ui/src/theme/color_scheme.ts:78 Persist a scheme and notify every subscriber (including other tabs’ UI).
setDensityPreference function packages/ui/src/theme/density.ts:98 Persist an override (or clear it) and notify every subscriber.
Sidebar function packages/ui/src/components/chrome/sidebar.tsx:129 The panel’s primary navigation column.
SidebarProps type-only type packages/ui/src/components/chrome/sidebar.tsx:20 Props of Sidebar.
SimpleShell function packages/ui/src/components/chrome/simple_shell.tsx:37 Panel theme, brand and toaster around a centred card — no sidebar, no topbar, no account menu.
SimpleShellProps type-only type packages/ui/src/components/chrome/simple_shell.tsx:18 Props of SimpleShell.
Skeleton function packages/ui/src/components/ui/skeleton.tsx:5 Animated placeholder representing content while it loads.
SliderInput function packages/ui/src/components/fields/slider_input.tsx:29 Built-in slider field (TECH_SPEC §7.3, “single or range”).
Slot function packages/ui/src/components/chrome/slot.tsx:41 Render the component an app registered for a slot, or nothing.
SLOT_KEYS constant packages/ui/src/components/chrome/slot.tsx:17 The closed v1 slot set (TECH_SPEC §13.2), in render order through a resource page. ComponentRegistry.slot() accepts these keys directly; plugins adding a namespaced slot opt in through { custom: true }.
SlotKey type-only type packages/ui/src/components/chrome/slot.tsx:26 One of the five v1 SLOT_KEYS.
SlotProps type-only type packages/ui/src/components/chrome/slot.tsx:29 Props of Slot.
slugifyTransform constant packages/ui/src/transforms.ts:11 slugify built-in: lowercase, ASCII-folded, hyphen-separated.
SOLID_TONES constant packages/ui/src/components/badge_tones.ts:60 Solid fill classes retained for the field slice’s toggle compatibility.
solidToneClass function packages/ui/src/components/badge_tones.ts:99 Solid fill classes for a palette token; unknown tokens read as the accent.
stableJson function packages/ui/src/components/fields/rows.ts:44 Order-independent JSON of a value, for “did this change UNDERNEATH me?” comparisons.
stateSlice function packages/ui/src/form/nodes.ts:95 The withState slice a reactive.refetch declares (protocol v1 §5): exactly the named keys, in declaration order, and nothing else. Keys absent from state are omitted rather than sent as null.
stepForDecimal function packages/ui/src/components/fields/number_input.tsx:20 The step an input gets when the resource declared none but did declare decimal(places): one unit in the last accepted place. Without it the browser’s default step of 1 rejects the very precision the field asked for, and the spinner walks past every fractional value.
stringValue function packages/ui/src/components/fields/field_shell.tsx:298 Read a field’s value as the string a text-shaped control needs. null and undefined are the empty string — a controlled input must never receive undefined, which is what silently turns it uncontrolled.
structEq function packages/ui/src/json_logic.ts:60 Structural strict equality: primitives by ===, arrays element-wise (order matters), objects key-by-key (order-insensitive). No type coercion, ever (the reactivity contract).
subscribeColorScheme function packages/ui/src/theme/color_scheme.ts:105 Subscribe to scheme changes, including cross-tab storage events so a panel opened twice does not disagree with itself.
subscribeDensity function packages/ui/src/theme/density.ts:123 Subscribe to density changes, including cross-tab storage events.
SUBTLE_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:35 Outlined neutral button/link: secondary navigation and cancels.
SUPPORTED_PROTOCOL_VERSION constant packages/ui/src/components/chrome/protocol_version.ts:8 The single protocol version this build of @adonia/ui speaks.
tableAllowlists function packages/ui/src/hooks/table_query.ts:95 Build the allowlists a table descriptor implies. Filter keys come from the filter NODES (node.key), which is the same key the server registered — trashed included, even though it rides its own top-level query parameter.
TableAllowlists type-only type packages/ui/src/hooks/table_query.ts:66 Allowlists derived from the table descriptor. The client validates against the same sets the server will, so a hand-edited URL degrades identically on both sides instead of rendering phantom sort arrows.
TableBasePathProvider function packages/ui/src/components/cells/cell_link.tsx:23 Supplies the resource index path used by CellLink.
TableBasePathProviderProps type-only type packages/ui/src/components/cells/cell_link.tsx:17 Props of TableBasePathProvider.
TableColumnToggle function packages/ui/src/components/table/column_toggle.tsx:42 Column visibility menu (TECH_SPEC §8.1). Coss Menu supplies the roving focus, escape dismissal and checked-state semantics.
TableColumnToggleProps type-only type packages/ui/src/components/table/column_toggle.tsx:23 Props of TableColumnToggle.
TableDescriptor type-only type packages/ui/src/types.ts:146 Index-table descriptor (protocol v1 §3).
TableEmptyState function packages/ui/src/components/table/empty_state.tsx:32 Index empty state. Distinguishes “this resource has no records” from “your filters matched nothing” — the second is a dead end unless the user is offered the way out, so the reset button only appears when there is something to reset.
TableEmptyStateProps type-only type packages/ui/src/components/table/empty_state.tsx:15 Props of TableEmptyState.
TableFilterPanel function packages/ui/src/components/table/filter_panel.tsx:30 Filter panel (TECH_SPEC §8.2): renders descriptor.table.filters through the registry filter map. Unknown filter types degrade to <UnknownComponent position="filter"> and never throw (protocol v1 §8) — a plugin whose client half is not installed must not take the index page down with it.
TableFilterPanelProps type-only type packages/ui/src/components/table/filter_panel.tsx:10 Props of TableFilterPanel.
TableLoadingState function packages/ui/src/components/table/loading_state.tsx:26 Loading affordance for a partial reload (§10.2 only: ['records']).
TableLoadingStateProps type-only type packages/ui/src/components/table/loading_state.tsx:11 Props of TableLoadingState.
TablePagination function packages/ui/src/components/table/pagination.tsx:49 Pagination footer: result summary, page-size selector and prev/next.
TablePaginationProps type-only type packages/ui/src/components/table/pagination.tsx:30 Props of TablePagination.
TableQueryState type-only type packages/ui/src/hooks/table_query.ts:42 The parsed §10.2 query string — the client mirror of the server’s IndexQueryState, and the payload of targets.query when an action runs against “all N matching” rows (§10.3).
tableQueryUrl function packages/ui/src/hooks/table_query.ts:358 Join a path with a serialized TableQueryState.
TableSelection type-only type packages/ui/src/hooks/use_table_state.ts:61 Row selection surface handed to the selection bar and to actions (§10.3).
TableSelectionBar function packages/ui/src/components/table/selection_bar.tsx:36 Bulk-selection bar (TECH_SPEC §10.3).
TableSelectionBarProps type-only type packages/ui/src/components/table/selection_bar.tsx:15 Props of TableSelectionBar.
TableSortDirection type-only type packages/ui/src/hooks/table_query.ts:21 Sort direction; - prefixed in the query string means desc (§10.2).
TableSortInstruction type-only type packages/ui/src/hooks/table_query.ts:24 One resolved sort instruction (§10.2 sort=-publishedAt).
TableStateController type-only type packages/ui/src/hooks/use_table_state.ts:76 Everything useTableState hands the table (TECH_SPEC §13.3).
TableToolbar function packages/ui/src/components/table/toolbar.tsx:51 Index toolbar: search, the filter-panel disclosure and the column menu.
TableToolbarProps type-only type packages/ui/src/components/table/toolbar.tsx:31 Props of TableToolbar.
TableWidgetComponent function packages/ui/src/components/widgets.tsx:524 Built-in resource table widget, rendered by the existing index DataTable.
temporalDisplay function packages/ui/src/components/display/format_value.ts:39 Render a value under one of the temporal format names, or null when the format is not temporal or the value does not match its wire shape — in which case the caller falls back to the raw value, never to “Invalid Date”.
TemporalDisplay type-only type packages/ui/src/components/display/format_value.ts:20 A formatted temporal value and the machine-readable original.
TernaryFilter function packages/ui/src/components/filters/ternary_filter.tsx:33 Built-in ternary-filter (TECH_SPEC §8.2 Filter.ternary): yes / no / any, where “any” is the absence of the filter.
Textarea function packages/ui/src/components/fields/textarea.tsx:27 Built-in textarea field (TECH_SPEC §7.3: rows, autosize).
TextCell function packages/ui/src/components/cells/text_cell.tsx:18 Built-in text cell (TECH_SPEC §8.1 C.text).
TextDirection type-only type packages/core/dist/i18n.d.ts:354 Text direction carried in the panel envelope.
TextEntry function packages/ui/src/components/display/text_entry.tsx:27 Built-in text-entry display projection (protocol v1 §8). The detail counterpart of text-input, textarea, number, slider, color, the boolean pair and the whole date family — which is why it is the one entry that has to understand format.
TextInput function packages/ui/src/components/fields/text_input.tsx:19 Built-in text-input field (TECH_SPEC §7.3: maxLength, mask, datalist).
ThemeProvider function packages/ui/src/theme/theme_provider.tsx:101 Apply the resolved panel theme to the wrapper and its owned portal root.
ThemeProviderProps type-only type packages/ui/src/theme/theme_provider.tsx:32 Props of ThemeProvider.
TimeInput function packages/ui/src/components/fields/time_input.tsx:27 Built-in time field (TECH_SPEC §7.3; timezone, after, before).
Toaster function packages/ui/src/components/chrome/toaster.tsx:37 Render adonia.flash.success / adonia.flash.error.
ToasterProps type-only type packages/ui/src/components/chrome/toaster.tsx:17 Props of Toaster.
ToggleInput function packages/ui/src/components/fields/toggle_input.tsx:24 Built-in toggle field (TECH_SPEC §7.3: onLabel/offLabel/onColor).
TOKEN_LIST constant packages/ui/src/theme/tokens.ts:484 The manifest as a flat list. TOKENS keeps each entry’s literal type so an IDE shows the real default on hover; iterating code wants the widened TokenSpec instead, where dark is simply optional.
TOKEN_NAMES constant packages/ui/src/theme/tokens.ts:477 Every token name in declaration order.
TokenGroup type-only type packages/ui/src/theme/tokens.ts:26 Token families, used by the docs generator for grouping and by the Tailwind preset to decide which theme key a token belongs under.
TokenName type-only type packages/ui/src/theme/tokens.ts:474 A token name the manifest actually declares.
TOKENS constant packages/ui/src/theme/tokens.ts:54 The complete token manifest. Ordered by family so the generated docs table and styles.css read the same way top to bottom.
TokenSpec type-only type packages/ui/src/theme/tokens.ts:29 One documented token: its default in each colour scheme, plus prose.
toneLookup function packages/ui/src/components/badge_tones.ts:111 Read value’s entry from a Record<value, string> prop (colors, icons, labels — every value→presentation map a choice field’s detail projection emits). Absent maps, non-object maps and non-string entries all read as undefined — a malformed prop degrades to the default tone rather than to a crash (protocol v1 §8: unknown props are ignored, never fatal).
Topbar function packages/ui/src/components/chrome/topbar.tsx:48 The location strip: where you are on the left, what you can reach from anywhere on the right.
TopbarProps type-only type packages/ui/src/components/chrome/topbar.tsx:24 Props of Topbar.
TransformFn type-only type packages/ui/src/transforms.ts:8 A named state derivation referenced by reactive.sets[].transform (protocol v1 §5). fn:<name> transforms resolve from the registry’s transform map; the four literals below are the built-ins.
TransformResolver type-only type packages/ui/src/form/derive.ts:22 Resolves a transform name against a ComponentRegistry’s transform map.
translateMessage function packages/ui/src/i18n.tsx:170 Translates against an envelope catalog, retaining English fallback for missing keys.
TranslationCatalog type-only type packages/core/dist/i18n.d.ts:348 A complete, type-checked translation catalog.
TranslationFunction type-only type packages/ui/src/i18n.tsx:18 Function signature used by non-component helpers that need catalog copy.
TranslationKey type-only type packages/core/dist/i18n.d.ts:346 A framework-owned translation key.
TranslationMessages type-only type packages/core/dist/i18n.d.ts:352 An additive host override. Missing entries deterministically fall back to bundled English.
TranslationParameters type-only type packages/core/dist/i18n.d.ts:356 Values accepted by translation template interpolation.
TrashedScope type-only type packages/ui/src/hooks/table_query.ts:30 Soft-delete scope selected by the trashed ternary filter (§8.2).
TrendMetricWidget function packages/ui/src/components/widgets.tsx:308 Built-in trend tile with a lazy bklit chart and readable point-list fallback.
UnknownComponent function packages/ui/src/components/unknown_component.tsx:32 Frozen unknown-type behavior (protocol v1 §8): a node whose type resolves to no registered component renders a visible placeholder in development (showing type and key), renders nothing in production, logs a console warning in both — and NEVER throws. On the client it also reports one privacy-safe telemetry event per mounted occurrence through the active registry. This keeps plugin client-halves optional at runtime (TECH_SPEC §16.3).
UnknownComponentEvent type-only type packages/ui/src/registry/index.ts:236 Privacy-safe telemetry emitted when a renderer encounters an unregistered descriptor component.
UnknownComponentPosition type-only type packages/ui/src/registry/index.ts:226 Syntactic position at which a descriptor component could not be resolved.
UnknownComponentProps type-only type packages/ui/src/components/unknown_component.tsx:14 Props of UnknownComponent.
UnknownComponentSubscriber type-only type packages/ui/src/registry/index.ts:246 Subscriber invoked for each unknown-component occurrence.
UPLOAD_PART_NAME constant packages/ui/src/transports.ts:57 Multipart part name the field.upload endpoint reads (FieldCallbackController.uploadedPart). Pinned here because the transport is replaceable and a custom one still has to send this name.
UploadRequest type-only type packages/ui/src/transports.ts:26 One upload in flight, as handed to an UploadTransport.
UploadResult type-only type packages/ui/src/transports.ts:44 The field.upload response (protocol v1 §4): a temp Drive key plus a URL to preview it with. The KEY is what the form submits; the URL is chrome.
UploadRow type-only type packages/ui/src/components/fields/use_uploads.ts:23 One file in the widget: uploading, uploaded, or failed.
UploadsController type-only type packages/ui/src/components/fields/use_uploads.ts:55 The surface useUploads hands the file/image components.
UploadTransport type-only type packages/ui/src/transports.ts:50 Transport for UploadRequests; rejects on a non-2xx or a network error.
uppercaseTransform constant packages/ui/src/transforms.ts:22 uppercase built-in.
useAdonia function packages/ui/src/context.tsx:117 Read the full Adonia context, falling back to defaults outside a provider.
useAdoniaCommands function packages/ui/src/context.tsx:142 Read the active registry’s command contributions.
useAdoniaI18n function packages/ui/src/i18n.tsx:179 Reads the SSR-safe framework translation state.
useAdoniaRegistry function packages/ui/src/context.tsx:131 Read the active ComponentRegistry.
useAdoniaTransports function packages/ui/src/context.tsx:147 Read the resolved field transports (§7.3 relation and upload fields).
useColorScheme function packages/ui/src/theme/color_scheme.ts:126 Read and change the manual colour scheme — the hook behind a light/dark toggle in topbar.right or sidebar.footer.
useDensity function packages/ui/src/theme/density.ts:142 Read and change the density in force.
useDirection function packages/ui/src/i18n.tsx:189 Returns the active writing direction.
useFieldChrome function packages/ui/src/components/fields/field_shell.tsx:77 Reconcile a node’s props with its controller into FieldChrome.
useFormEngine function packages/ui/src/hooks/use_form_engine.ts:171 Build the form engine for a descriptor.
useLocale function packages/ui/src/i18n.tsx:184 Returns the active locale.
usePageOverride function packages/ui/src/pages/page_keys.ts:50 The component an app registered for a page key, or undefined.
usePortalContainer function packages/ui/src/context.tsx:157 Read the body-level container owned by the nearest AdoniaProvider.
useTableState function packages/ui/src/hooks/use_table_state.ts:310 Drive an index table from the URL (TECH_SPEC §13.3).
UseTableStateOptions type-only type packages/ui/src/hooks/use_table_state.ts:146 Options of useTableState.
useTranslation function packages/ui/src/i18n.tsx:194 Returns the stable catalog translator for framework-owned copy.
useUploads function packages/ui/src/components/fields/use_uploads.ts:96 Drive the upload widget’s rows.
UseUploadsOptions type-only type packages/ui/src/components/fields/use_uploads.ts:41 Everything useUploads needs from the field.
ValueMetricWidget function packages/ui/src/components/widgets.tsx:255 Built-in scalar metric tile.
WELL_CLASS constant packages/ui/src/components/surfaces.ts:33 A recessed grouped region on the page canvas: widget tiles, form sections, detail panels, the data-table frame.
WELL_CONTENT_CLASS constant packages/ui/src/components/surfaces.ts:47 Content raised back to the canvas colour inside a well: table bodies, inputs, chart plots. Keeps data the brightest plane on the page.
WidgetProps type-only type packages/ui/src/registry/index.ts:161 Props of a registered widget component.
withAdonia function packages/ui/src/adonia.tsx:82 Merge an Adonia client config into the app’s createInertiaApp config (TECH_SPEC §13.1). The installer wires the resolved provider around Adonia pages, imports @adonia/ui/styles.css, and installs the toaster/command palette while leaving non-Adonia pages untouched.
withAdoniaLayout function packages/ui/src/adonia.tsx:140 Guard an app-wide Inertia layout so it never wraps a packaged Adonia page (TECH_SPEC §13.4).
writeColumnPreference function packages/ui/src/hooks/column_preferences.ts:141 Persist a complete layout locally and notify every subscriber.
xhrUploadTransport function packages/ui/src/transports.ts:88 Default UploadTransport: one XMLHttpRequest per file, with real upload.onprogress events.

@adonia/ui/pages

Export Kind Source Summary
DANGER_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:41 Destructive button: outlined until confirmed, never filled by default.
DashboardPage function packages/ui/src/pages/dashboard.tsx:47 The panel’s landing page inside the panel chrome.
DashboardPageBody function packages/ui/src/pages/dashboard.tsx:58 The default body: responsive grid, deferred state, and registered tiles.
DashboardPageProps type-only type packages/ui/src/types.ts:460 Props of the packaged adonia/dashboard page (§10.1 dashboard).
ERROR_PAGE_KEY constant packages/ui/src/pages/error_page.tsx:36 Registry key of the error page body (TECH_SPEC §17: “overridable via the registry”). r.page('error', MyErrorBody) replaces ErrorPageBody while keeping the chrome — an app that wants a branded 404 wants it inside its own sidebar, not on a bare white page. Same mechanism, same reasoning, as the other five packaged pages (PAGE_KEYS).
ErrorPage function packages/ui/src/pages/error_page.tsx:49 The error page inside the panel chrome.
ErrorPageBody function packages/ui/src/pages/error_page.tsx:68 The default body: status, heading, safe description, then the two developer-facing extras.
ErrorPageProps type-only type packages/ui/src/types.ts:472 Props of the packaged adonia/error page (TECH_SPEC §17), built server-side by errorPageProps in @adonia/core. Every member is always present: the production/development split is a server decision, so the page never has to ask which environment it runs in.
LoginPage function packages/ui/src/pages/login.tsx:30 The panel’s sign-in screen, rendered by AuthController.showLogin.
LoginPageBody function packages/ui/src/pages/login.tsx:60 The default body: identifier, password, submit.
LoginPageProps type-only type packages/ui/src/types.ts:445 Props of the packaged adonia/login page (§10.1 login), built by AuthController.showLogin. Brand and theme arrive through the shared adonia envelope; these are the three things the page cannot derive.
PAGE_KEYS constant packages/ui/src/pages/page_keys.ts:30 The six page keys registry.page() accepts for packaged pages — one per page @adonia/core can render (§10.1: dashboard, login, the three resource screens, and the §17 error page).
PageHeader function packages/ui/src/pages/page_chrome.tsx:67 Heading strip: one <h1> per page, with the page’s actions opposite it.
PageHeaderProps type-only type packages/ui/src/pages/page_chrome.tsx:47 Props of PageHeader.
PageKey type-only type packages/ui/src/pages/page_keys.ts:40 One of the six packaged PAGE_KEYS values.
pagePath function packages/ui/src/pages/breadcrumbs.ts:33 The current path with query string and any trailing slash removed.
PRIMARY_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:29 Filled accent button/link: the one primary action of a page.
recordTitle function packages/ui/src/pages/breadcrumbs.ts:48 A human title for one record: a conventional title attribute, else the first string-valued field of the descriptor in document order, else the singular label with the id.
ResourceDetailPage function packages/ui/src/pages/resource_detail.tsx:42 The record detail screen inside the panel chrome.
ResourceDetailPageBody function packages/ui/src/pages/resource_detail.tsx:77 The default body: the display projection, the record’s own affordances, and the detail.aside slot.
ResourceDetailPageProps type-only type packages/ui/src/types.ts:433 Props of the packaged adonia/resource_detail page (protocol v1 §3 detail mode). The descriptor’s schema is the display projection — every field already mapped to its displayType — and record is the flat map its entries read values from (§6).
ResourceFormPage function packages/ui/src/pages/resource_form.tsx:36 The create/edit form inside the panel chrome.
ResourceFormPageBody function packages/ui/src/pages/resource_form.tsx:76 The default body. Deliberately thin: useFormEngine (§13.3) owns the flat state tree, JsonLogic reactivity, sets derivations, dependent-option refetching, inputErrorsBag mapping, dirty tracking and the unsaved-changes guard. What is left here is chrome and the submit target.
ResourceFormPageProps type-only type packages/ui/src/types.ts:416 Props of the packaged adonia/resource_form page (create and edit modes). record is present in edit mode; state is the initial FormState.
ResourceIndexPage function packages/ui/src/pages/resource_index.tsx:43 The resource index inside the panel chrome.
ResourceIndexPageBody function packages/ui/src/pages/resource_index.tsx:71 The default body: heading, create affordance, the index.header slot, then the descriptor-driven table.
ResourceIndexPageProps type-only type packages/ui/src/types.ts:400 Props of the packaged adonia/resource_index page: the page-specific keys sit BESIDE the adonia envelope (protocol v1 §1). records is partial-reloadable (only: ['records'], §10.2).
resourceTrail function packages/ui/src/pages/breadcrumbs.ts:81 The trail for a resource page, derived from the descriptor’s mode and labels plus the current path (§10.1 route shapes).
SUBTLE_ACTION_CLASS constant packages/ui/src/pages/page_chrome.tsx:35 Outlined neutral button/link: secondary navigation and cancels.
usePageOverride function packages/ui/src/pages/page_keys.ts:50 The component an app registered for a page key, or undefined.

@adonia/ui/registry

Export Kind Source Summary
AdoniaCommand type-only type packages/ui/src/registry/index.ts:191 A command contribution that either navigates or executes a callback.
AdoniaCommandContext type-only type packages/ui/src/registry/index.ts:166 Runtime capabilities handed to an AdoniaCommand runner.
AdoniaCommandItem type-only type packages/ui/src/registry/index.ts:201 One item accepted by ComponentRegistry.commands.
AdoniaUiPlugin type-only type packages/ui/src/registry/index.ts:274 A callback plugin or a duplicate-safe named plugin object.
AdoniaUiPluginCallback type-only type packages/ui/src/registry/index.ts:252 Callback-form UI plugin. Callbacks are intentionally unnamed and may be composed repeatedly; use a named plugin when duplicate detection matters.
CellProps type-only type packages/ui/src/registry/index.ts:137 Props of a registered cell component (table column position).
ComponentRegistry class packages/ui/src/registry/index.ts:284 ComponentRegistry — the ABI-stable contribution surface for descriptor components and panel commands (TECH_SPEC §13.2). Registration is last-write-wins; overriding a built-in component logs a dev-build warning.
createAdoniaRegistry function packages/ui/src/registry/index.ts:709 Create a registry pre-populated with every core schema renderer, table renderer, widget, and built-in transform.
FieldController type-only type packages/ui/src/registry/index.ts:104 Control surface handed to field components (TECH_SPEC §13.2: FieldController). useFormEngine builds one per state-bearing node, with reactive rules already evaluated and dependent options already fetched; SchemaRenderer synthesizes a bare one when it renders without an engine (a detail projection, a preview), in which case FieldController.refetchOptions delegates to the optional onRefetchOptions render prop and otherwise dev-warns.
FieldProps type-only type packages/ui/src/registry/index.ts:124 Props of a registered field component (schema child position).
FilterProps type-only type packages/ui/src/registry/index.ts:152 Props of a registered filter component (table filter position).
getDefaultRegistry function packages/ui/src/registry/index.ts:743 Lazily created shared registry used when no AdoniaProvider supplies one. Module-eval free (SSR-friendly) and pre-populated with the built-ins.
LayoutProps type-only type packages/ui/src/registry/index.ts:130 Props of a registered layout component (grid, section, aside, …).
NamedAdoniaUiPlugin type-only type packages/ui/src/registry/index.ts:262 Named client half of an Adonia plugin.
RegistryMapName type-only type packages/ui/src/registry/index.ts:215 Registry-map names, one per syntactic position (TECH_SPEC §13.2, ABI stable): schema children resolve against field + layout, table columns against cell, table filters against filter, dashboard tiles against widget, generic-page overrides against page, reactive.sets fn:* transforms against transform, and render-hook slots against slot.
UnknownComponentEvent type-only type packages/ui/src/registry/index.ts:236 Privacy-safe telemetry emitted when a renderer encounters an unregistered descriptor component.
UnknownComponentPosition type-only type packages/ui/src/registry/index.ts:226 Syntactic position at which a descriptor component could not be resolved.
UnknownComponentSubscriber type-only type packages/ui/src/registry/index.ts:246 Subscriber invoked for each unknown-component occurrence.
WidgetProps type-only type packages/ui/src/registry/index.ts:161 Props of a registered widget component.

@adonia/ui/styles.css

Public asset: ./styles.css.

@adonia/ui/tailwind

Export Kind Source Summary
adoniaPreset constant packages/ui/src/tailwind/preset.ts:58 The preset object. Utilities land under an adonia- prefix for colours (bg-adonia-surface, text-adonia-text-muted, bg-adonia-accent-600) and under plain names for the scales (rounded-adonia, p-adonia-4, text-adonia-sm, font-adonia).
AdoniaTailwindPreset type-only type packages/ui/src/tailwind/preset.ts:32 The subset of Tailwind’s config shape this preset fills. Declared locally because tailwindcss is not a dependency of @adonia/ui — the preset must be importable by an app whose Tailwind version we do not control.
default constant packages/ui/src/tailwind/preset.ts:58 The preset object. Utilities land under an adonia- prefix for colours (bg-adonia-surface, text-adonia-text-muted, bg-adonia-accent-600) and under plain names for the scales (rounded-adonia, p-adonia-4, text-adonia-sm, font-adonia).
Navigation

Type to search…

↑↓ navigate↵ selectEsc close