views keys
Source file: client/lib/theme/vueda-tailwind/views/index.js
Action banner meta keys
| Component | Kind | Slots | Description |
|---|---|---|---|
| _ActionBanner | primitive | 5 | Shared banner row scaffold: icon tile plus body column with a bottom separator. |
Action forms
| Component | Kind | Slots | Description |
|---|---|---|---|
| ActionForm | key | 19 | Outer wrapper. Caps content at the 7xl content column so a confirmation form does not stretch the full width of a wide viewport. |
| ModelActionForm | key | 26 | Outer wrapper. Empty so the card or bare slot owns all visible chrome; layout decisions belong to whichever inner shell the form renders. |
| ViewDestroy | key | 8 | Outer wrapper. Empty; the card below owns all visible chrome. |
Authentication forms
| Component | Kind | Slots | Description |
|---|---|---|---|
| AuthForm | key | 7 | Outer wrapper that fills the viewport vertically so the framed card can sit against the page background without a separate page chrome. |
| AuthorizingForm | key | 7 | Outer wrapper that fills the viewport and centers the framed card both axes. Uses min-h-svh rather than min-h-full so the fill works regardless of whether an integrator's shell gives this component's ancestors an explicit height; it never depends on a height cascade it does not control. Differs from AuthForm.root which flows top-aligned; the consent step is short enough that a vertically centered card reads as a focused decision surface. |
List views
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewList | key | 15 | Class forwarded to the selected_ checkbox column on the embedded ObjectsGrid. Collapses the column to w-0 at the lg+ table breakpoint so card layouts keep room for the selection toggle while the table layout absorbs it into the row chrome. The breakpoint is hard-coded rather than derived from the tableBreakpoint prop because Tailwind purges classes it cannot see at build time; keep this aligned with the prop default. |
| ViewHistoryList | key | 23 | Outer wrapper. Empty by default; the meta strip, embedded grid, and empty-state card own all visible chrome so the wrapper stays a layout-only anchor. |
CRUD views
| Component | Kind | Slots | Description |
|---|---|---|---|
| DetailView | key | 2 | Outer wrapper. Layout-only; PageTitle, the StickyBar, and the body below own the visible chrome, so this stays empty by default. The class prop merges here. |
| ViewCreate | key | 2 | Outer wrapper. Layout-only; PageTitle, the StickyBar, and the form body below own the visible chrome, so this stays empty by default. The class prop merges here. |
| ViewRead | key | 2 | Outer wrapper. Layout-only; PageTitle, the StickyBar, and the body below own the visible chrome, so this stays empty by default. |
| ViewUpdate | key | 2 | Outer wrapper. Layout-only; PageTitle, the StickyBar, and the form body below own the visible chrome, so this stays empty by default. The class prop merges here. |
System views
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewLoading | key | 10 | Centering wrapper that fills the viewport vertically and centers the embedded SystemMessageCard on both axes. The card chassis is fixed-width, so a flex parent is required for it to sit in the middle of an otherwise-empty page. |
| ViewNotFound | key | 2 | Centering wrapper around the embedded SystemMessageCard. The card chassis is fixed-width, so a flex parent is required for it to sit in the middle of the viewport. Mirrors ViewLoading.root. |
| ViewActionNotFound | key | 2 | Centering wrapper around the embedded SystemMessageCard. See ViewNotFound.root; the two views share the recipe so missing-route and missing-action surfaces read as siblings. |
Workflow views
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewAction | key | 1 | Outer wrapper around the embedded PageTitle and ModelActionForm. Empty by default; the two inner shells own all visible chrome, so this key exists only as the consumer-facing override surface and the data-qa anchor. |
| ViewActivate | key | 1 | Outer wrapper around the embedded PageTitle and the activate-flow ModelActionForm. Empty by default; the chrome lives on the inner shells. The view also renders a centred LoadingSpinnerBlock while ModelActionForm's model config loads; that fallback inherits its own block recipe and is not themed here. |
| ViewDeactivate | key | 3 | Centering wrapper around the embedded warning-toned SystemMessageCard. The card chassis is fixed-width, so a flex parent is required for it to sit in the middle of the viewport; mirrors ViewLoading.root and the other system-view roots so deactivation reads as a sibling of the missing-route and slow-load surfaces. |
Authentication workflows
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewTwoFactorAuth | key | 5 | Outer wrapper. Empty; the embedded AuthorizingForm owns the framed card and viewport-centred chrome, so this key is left open as the consumer-facing override surface. |
| ViewSetupDevice | key | 13 | Horizontal stepper rail above the form body. mb-4 opens a 16 px gap between the rail and the first field so the progress indicator reads as supporting chrome, not the form's leading row. Used as the <ol> element so screen readers see the steps as a list; the consumer supplies aria-label="Setup progress". |
Workflow transitions
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewExecuteTransition | key | 1 | Outer wrapper around the embedded PageTitle and ModelActionForm. Empty by default; the two inner shells own all visible chrome, so this key exists only as the consumer-facing override surface and the data-qa anchor. |
Recovery codes
| Component | Kind | Slots | Description |
|---|---|---|---|
| ViewRecoveryCodes | key | 12 | Outer wrapper. Empty; the embedded AuthForm owns the framed card chassis, and the slots inside it own all visible chrome. |