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. |