{ "$schema" : "http://json-schema.org/draft-07/schema#", "$id" : "https://mateu.io/uidl/schema.json", "version" : "3.0", "title" : "Mateu UIDL Schema", "description" : "JSON Schema for Mateu UI Definition Language (UIDL) components. Use the 'type' discriminator field to identify the concrete component type. GENERATED from the component records by UidlSchemaGenerator — do not edit by hand.", "oneOf" : [ { "$ref" : "#/$defs/Component" } ], "$defs" : { "Access" : { "type" : "object", "properties" : { "roles" : { "type" : "array", "items" : { "type" : "string" } }, "groups" : { "type" : "array", "items" : { "type" : "string" } }, "scopes" : { "type" : "array", "items" : { "type" : "string" } }, "permissions" : { "type" : "array", "items" : { "type" : "string" } } } }, "AccordionLayout" : { "description" : "A stack of collapsible panels where one or more can be expanded at a time.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AccordionLayout" }, "id" : { "type" : "string" }, "panels" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "variant" : { "$ref" : "#/$defs/AccordionLayoutVariant" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AccordionLayoutVariant" : { "type" : "string", "enum" : [ "filled", "small", "reverse" ] }, "AccordionPanel" : { "description" : "One collapsible panel of an accordion, with a label and its content.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AccordionPanel" }, "label" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "active" : { "type" : "boolean" }, "disabled" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Action" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "background" : { "type" : "boolean" }, "validationRequired" : { "type" : "boolean" }, "confirmationRequired" : { "type" : "boolean" }, "rowsSelectedRequired" : { "type" : "boolean" }, "confirmationTexts" : { "$ref" : "#/$defs/ConfirmationTexts" }, "modalStyle" : { "type" : "string" }, "modalTitle" : { "type" : "string" }, "customEvent" : { "$ref" : "#/$defs/CustomEvent" }, "href" : { "type" : "string" }, "js" : { "type" : "string" }, "sse" : { "type" : "boolean" }, "fieldsToValidate" : { "type" : "string" }, "bubble" : { "type" : "boolean" }, "shortcut" : { "type" : "string" }, "timeoutMillis" : { "type" : "integer" }, "idempotent" : { "type" : "boolean" }, "restAction" : { "$ref" : "#/$defs/RestAction" }, "steps" : { "type" : "array", "items" : { "$ref" : "#/$defs/Step" } }, "description" : { "type" : "string" } } }, "ActionPanel" : { "description" : "A categorised ACTION PANEL: a trigger button that opens a layer over the page with the actions of the record grouped in columns, one per category (e.g.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ActionPanel" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "shortcut" : { "type" : "string" }, "categories" : { "type" : "array", "items" : { "$ref" : "#/$defs/ActionPanelCategory" } }, "maxPerCategory" : { "type" : "integer" }, "hideUnpopulatedToggle" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ActionPanelCategory" : { "type" : "object", "properties" : { "title" : { "type" : "string" }, "actions" : { "type" : "array", "items" : { "$ref" : "#/$defs/ActionPanelItem" } } } }, "ActionPanelItem" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "actionId" : { "type" : "string" }, "parameters" : { "type" : "object" }, "count" : { "type" : "integer" }, "populated" : { "type" : "boolean" }, "disabled" : { "type" : "boolean" } } }, "Actionable" : { "description" : "One of the Actionable implementations.", "oneOf" : [ { "$ref" : "#/$defs/ContentLink" }, { "$ref" : "#/$defs/FieldLink" }, { "$ref" : "#/$defs/Menu" }, { "$ref" : "#/$defs/MenuSeparator" }, { "$ref" : "#/$defs/MethodLink" }, { "$ref" : "#/$defs/RemoteMenu" }, { "$ref" : "#/$defs/RouteLink" }, { "$ref" : "#/$defs/RuleLink" } ] }, "AddOn" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "icon" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "price" : { "type" : "number" }, "unit" : { "type" : "string" }, "includedLabel" : { "type" : "string" }, "added" : { "type" : "boolean" } } }, "AddOnPicker" : { "description" : "Priced extras with a live running total (e.g. upsell packages at check-in): a responsive grid of AddOn cards, each with a +/✓ toggle, and a header-right total (totalLabel + currency + sum of added prices, computed client-side).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AddOnPicker" }, "id" : { "type" : "string" }, "totalLabel" : { "type" : "string" }, "currency" : { "type" : "string" }, "actionId" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/AddOn" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Anchor" : { "description" : "A hyperlink with text that opens a URL, optionally in another window (target).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Anchor" }, "text" : { "type" : "string" }, "url" : { "type" : "string" }, "target" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AppContextSelector" : { "type" : "object", "properties" : { "fieldName" : { "type" : "string" }, "label" : { "type" : "string" }, "options" : { "type" : "array", "items" : { "$ref" : "#/$defs/Option" } }, "optionsSource" : { "$ref" : "#/$defs/RestDataSource" } } }, "AppData" : { "description" : "Invisible holder that sets the data available to expressions across the app.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AppData" }, "data" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AppGlobalSearchSource" : { "type" : "object", "properties" : { "source" : { "$ref" : "#/$defs/RestDataSource" } } }, "AppHeaderAction" : { "type" : "object", "properties" : { "actionId" : { "type" : "string" }, "label" : { "type" : "string" }, "icon" : { "type" : "string" }, "children" : { "type" : "array", "items" : { "$ref" : "#/$defs/AppHeaderAction" } }, "route" : { "type" : "string" } } }, "AppLayout" : { "type" : "string", "enum" : [ "SINGLE_SLOT", "SPLIT" ] }, "AppNotificationsSource" : { "type" : "object", "properties" : { "source" : { "$ref" : "#/$defs/RestDataSource" }, "markRead" : { "$ref" : "#/$defs/RestDataSource" } } }, "AppShell" : { "description" : "The application frame: title, menu, header widgets, layout variant and home route of an app.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AppShell" }, "clientSideComponentId" : { "type" : "string" }, "route" : { "type" : "string" }, "homeRoute" : { "type" : "string" }, "homeBaseUrl" : { "type" : "string" }, "homeServerSideType" : { "type" : "string" }, "homeUriPrefix" : { "type" : "string" }, "homeConsumedRoute" : { "type" : "string" }, "serverSideType" : { "type" : "string" }, "favicon" : { "type" : "string" }, "pageTitle" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "menu" : { "type" : "array", "items" : { "$ref" : "#/$defs/Actionable" } }, "variant" : { "$ref" : "#/$defs/AppVariant" }, "layout" : { "$ref" : "#/$defs/AppLayout" }, "widgets" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "drawerClosed" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "logo" : { "type" : "string" }, "accentColor" : { "type" : "string" }, "backLink" : { "$ref" : "#/$defs/BackLink" }, "actions" : { "type" : "array", "items" : { "$ref" : "#/$defs/Action" } }, "themeToggle" : { "type" : "boolean" }, "commandCenter" : { "type" : "boolean" }, "chromeless" : { "type" : "boolean" }, "accessKeys" : { "type" : "boolean" }, "shortcuts" : { "type" : "array", "items" : { "$ref" : "#/$defs/AppShortcutEntry" } }, "headerValues" : { "type" : "array", "items" : { "$ref" : "#/$defs/HeaderValue" } }, "liveUpdates" : { "type" : "boolean" }, "idleTimeoutMinutes" : { "type" : "integer" }, "idleWarningSeconds" : { "type" : "integer" }, "idleSignOutUrl" : { "type" : "string" }, "mobileQr" : { "type" : "boolean" }, "contextSelectors" : { "type" : "array", "items" : { "$ref" : "#/$defs/AppContextSelector" } }, "headerActions" : { "type" : "array", "items" : { "$ref" : "#/$defs/AppHeaderAction" } }, "notifications" : { "$ref" : "#/$defs/AppNotificationsSource" }, "globalSearch" : { "$ref" : "#/$defs/AppGlobalSearchSource" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AppShortcutEntry" : { "type" : "object", "properties" : { "key" : { "type" : "string" }, "route" : { "type" : "string" }, "actionId" : { "type" : "string" }, "label" : { "type" : "string" }, "code" : { "type" : "string" } } }, "AppState" : { "description" : "Invisible holder that sets the app-wide state shared by all screens.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AppState" }, "state" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AppVariant" : { "type" : "string", "enum" : [ "HAMBURGUER_MENU", "HAMBURGER_MENU", "HAMBURGER_SECTIONS", "MENU_ON_LEFT", "MENU_ON_TOP", "TABS", "TILES", "RAIL", "AUTO", "MEDIATOR" ] }, "AutoSaveTrigger" : { "description" : "Runs an action automatically, after a debounce delay, whenever the user changes a field.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AutoSaveTrigger" }, "actionId" : { "type" : "string" }, "debounceMillis" : { "type" : "integer" } } }, "Avatar" : { "description" : "A round user avatar showing an image, initials or a name abbreviation.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Avatar" }, "name" : { "type" : "string" }, "abbreviation" : { "type" : "string" }, "image" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "AvatarGroup" : { "description" : "A compact row of overlapping avatars that collapses extras into a +N chip.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "AvatarGroup" }, "avatars" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "maxItemsVisible" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "BackLink" : { "type" : "string", "enum" : [ "BREADCRUMBS", "PARENT" ] }, "Badge" : { "description" : "A small colored label (chip) for a status or count, optionally with icons.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Badge" }, "text" : { "type" : "string" }, "iconOnLeft" : { "type" : "string" }, "iconOnRight" : { "type" : "string" }, "color" : { "type" : "string" }, "primary" : { "type" : "boolean" }, "small" : { "type" : "boolean" }, "pill" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "BannerTheme" : { "type" : "string", "enum" : [ "NONE", "INFO", "SUCCESS", "WARNING", "DANGER" ] }, "BoardLayout" : { "description" : "A responsive dashboard board made of rows of items that share the row width in columns.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "BoardLayout" }, "id" : { "type" : "string" }, "rows" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "BoardLayoutItem" : { "description" : "One cell of a board row holding a component, spanning a number of board columns.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "BoardLayoutItem" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "boardCols" : { "type" : "integer" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "BoardLayoutRow" : { "description" : "A row of a board layout; its items share the width.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "BoardLayoutRow" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Bpmn" : { "description" : "A BPMN diagram rendered from BPMN 2.0 XML.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Bpmn" }, "xml" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Breadcrumb" : { "type" : "object", "properties" : { "text" : { "type" : "string" }, "link" : { "type" : "string" } } }, "Breadcrumbs" : { "description" : "A breadcrumb trail of links showing where the current page sits in the hierarchy.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Breadcrumbs" }, "currentItemText" : { "type" : "string" }, "breadcrumbs" : { "type" : "array", "items" : { "$ref" : "#/$defs/Breadcrumb" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "BulletedList" : { "description" : "A plain bulleted list — renders as a simple of text items.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "BulletedList" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "type" : "string" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Button" : { "description" : "A button of a component tree (the fluent counterpart of @Button/@Toolbar): a label and/or icons, an appearance (ButtonStyle, ButtonColor, ButtonSize) and what it does — an actionId the enclosing component runs (an action method of the same name), or a handler of its own (runnable/callable). parameters travel to the action.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Button" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "iconOnLeft" : { "type" : "string" }, "iconOnRight" : { "type" : "string" }, "image" : { "type" : "string" }, "color" : { "$ref" : "#/$defs/ButtonColor" }, "variant" : { "$ref" : "#/$defs/ButtonVariant" }, "buttonStyle" : { "$ref" : "#/$defs/ButtonStyle" }, "size" : { "$ref" : "#/$defs/ButtonSize" }, "autofocus" : { "type" : "boolean" }, "disabled" : { "type" : "boolean" }, "actionId" : { "type" : "string" }, "actionable" : { "$ref" : "#/$defs/Actionable" }, "runnable" : { }, "callable" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "parameters" : { }, "shortcut" : { "type" : "string" }, "separatorBefore" : { "type" : "boolean" }, "rowsSelectedRequired" : { "type" : "boolean" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ButtonColor" : { "type" : "string", "enum" : [ "none", "success", "error", "warning", "contrast", "normal" ] }, "ButtonGroup" : { "description" : "A group of buttons shown together, usually collapsed into a single dropdown trigger.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ButtonGroup" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "iconOnLeft" : { "type" : "string" }, "iconOnRight" : { "type" : "string" }, "separatorBefore" : { "type" : "boolean" }, "buttons" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ButtonSize" : { "type" : "string", "enum" : [ "none", "small", "normal", "large" ] }, "ButtonStyle" : { "type" : "string", "enum" : [ "none", "primary", "secondary", "tertiary", "tertiaryInline" ] }, "ButtonVariant" : { "type" : "string", "enum" : [ "danger", "warning", "error" ] }, "Calendar" : { "description" : "A calendar with events. month is the ANCHOR date: any day of the month to show in the month and list views, the day of the day view, a day of the week in the week view.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Calendar" }, "id" : { "type" : "string" }, "month" : { }, "events" : { "type" : "array", "items" : { "$ref" : "#/$defs/CalendarEvent" } }, "view" : { "$ref" : "#/$defs/CalendarView" }, "views" : { "type" : "array", "items" : { "$ref" : "#/$defs/CalendarView" } }, "days" : { "type" : "array", "items" : { "$ref" : "#/$defs/CalendarDay" } }, "dayActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "CalendarDay" : { "type" : "object", "properties" : { "date" : { }, "label" : { "type" : "string" }, "tone" : { "type" : "string" } } }, "CalendarEvent" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "date" : { }, "endDate" : { }, "startTime" : { "type" : "string" }, "endTime" : { "type" : "string" }, "color" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "CalendarView" : { "type" : "string", "enum" : [ "month", "week", "day", "list" ] }, "CalloutCard" : { "description" : "A highlighted call-to-action block: an icon, a title, a description and an optional CTA button (ctaLabel + actionId). theme tints it — one of \"info\", \"success\", \"warning\" or \"danger\" (default info).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CalloutCard" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "icon" : { "type" : "string" }, "ctaLabel" : { "type" : "string" }, "actionId" : { "type" : "string" }, "theme" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Card" : { "description" : "A card: optional media, a header (prefix, title, subtitle, suffix), the content and a footer — each slot any component.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Card" }, "id" : { "type" : "string" }, "media" : { "$ref" : "#/$defs/Component" }, "headerPrefix" : { "$ref" : "#/$defs/Component" }, "header" : { "$ref" : "#/$defs/Component" }, "title" : { "$ref" : "#/$defs/Component" }, "subtitle" : { "$ref" : "#/$defs/Component" }, "headerSuffix" : { "$ref" : "#/$defs/Component" }, "content" : { "$ref" : "#/$defs/Component" }, "footer" : { "$ref" : "#/$defs/Component" }, "variants" : { "type" : "array", "items" : { "$ref" : "#/$defs/CardVariant" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "CardVariant" : { "type" : "string", "enum" : [ "outlined", "elevated", "horizontal", "stretchMedia", "coverMedia" ] }, "CarouselLayout" : { "description" : "A slideshow that shows one child component at a time with navigation controls.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CarouselLayout" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "alt" : { "type" : "boolean" }, "animating" : { "type" : "boolean" }, "auto" : { "type" : "boolean" }, "direction" : { "$ref" : "#/$defs/Orientation" }, "disabled" : { "type" : "boolean" }, "disableSwipe" : { "type" : "boolean" }, "disableKeys" : { "type" : "boolean" }, "duration" : { "type" : "integer" }, "dots" : { "type" : "boolean" }, "end" : { "type" : "boolean" }, "loop" : { "type" : "boolean" }, "nav" : { "type" : "boolean" }, "selected" : { "type" : "integer" }, "total" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Chart" : { "description" : "A chart (bar, line, pie and others) drawn from labelled datasets.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Chart" }, "chartType" : { "$ref" : "#/$defs/ChartType" }, "chartData" : { "$ref" : "#/$defs/ChartData" }, "chartOptions" : { "$ref" : "#/$defs/ChartOptions" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ChartAxisScale" : { "type" : "object", "properties" : { "beginAtZero" : { "type" : "boolean" } } }, "ChartData" : { "type" : "object", "properties" : { "labels" : { "type" : "array", "items" : { "type" : "string" } }, "datasets" : { "type" : "array", "items" : { "$ref" : "#/$defs/ChartDataset" } } } }, "ChartDataset" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "data" : { "type" : "array", "items" : { "type" : "number" } } } }, "ChartOptions" : { "type" : "object", "properties" : { "maintainAspectRatio" : { "type" : "boolean" }, "scales" : { "$ref" : "#/$defs/ChartScales" } } }, "ChartScales" : { "type" : "object", "properties" : { "y" : { "$ref" : "#/$defs/ChartAxisScale" }, "z" : { "$ref" : "#/$defs/ChartAxisScale" } } }, "ChartType" : { "type" : "string", "enum" : [ "bar", "line", "scatter", "polarArea", "bubble", "pie", "doughnut", "radar" ] }, "Chat" : { "description" : "The AI assistant chat panel as a component.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Chat" }, "sseUrl" : { "type" : "string" }, "uploadUrl" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Checklist" : { "description" : "A checklist with a progress bar: a list of ChecklistItems (done/undone) and a header showing how many are complete.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Checklist" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/ChecklistItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ChecklistItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "done" : { "type" : "boolean" }, "actionId" : { "type" : "string" } } }, "Chip" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "color" : { "type" : "string" } } }, "CloseOverlay" : { "description" : "Close the top overlay (dialog/drawer), optionally emitting a named result event as it closes.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CloseOverlay" }, "event" : { "type" : "string" } } }, "ColumnAlignment" : { "type" : "string", "enum" : [ "start", "center", "end" ] }, "Comment" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "author" : { "type" : "string" }, "avatar" : { "type" : "string" }, "text" : { "type" : "string" }, "timestamp" : { "type" : "string" }, "replies" : { "type" : "array", "items" : { "$ref" : "#/$defs/Comment" } } } }, "CommentThread" : { "description" : "A read-only discussion thread: a list of Comments, each with an author, text, timestamp and nested replies.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CommentThread" }, "id" : { "type" : "string" }, "comments" : { "type" : "array", "items" : { "$ref" : "#/$defs/Comment" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ComparisonCard" : { "description" : "A side-by-side comparison of two values (e.g. two periods, plans or options): a title, a left and right label+value, and a delta with a trend (\"up\" / \"down\" / \"flat\") between them.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ComparisonCard" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "leftLabel" : { "type" : "string" }, "leftValue" : { "type" : "string" }, "rightLabel" : { "type" : "string" }, "rightValue" : { "type" : "string" }, "delta" : { "type" : "string" }, "trend" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Component" : { "description" : "Any UI component. Use the 'type' field to indicate the concrete component.", "oneOf" : [ { "$ref" : "#/$defs/AccordionLayout" }, { "$ref" : "#/$defs/AccordionPanel" }, { "$ref" : "#/$defs/ActionPanel" }, { "$ref" : "#/$defs/AddOnPicker" }, { "$ref" : "#/$defs/Anchor" }, { "$ref" : "#/$defs/AppData" }, { "$ref" : "#/$defs/AppShell" }, { "$ref" : "#/$defs/AppState" }, { "$ref" : "#/$defs/Avatar" }, { "$ref" : "#/$defs/AvatarGroup" }, { "$ref" : "#/$defs/Badge" }, { "$ref" : "#/$defs/BoardLayout" }, { "$ref" : "#/$defs/BoardLayoutItem" }, { "$ref" : "#/$defs/BoardLayoutRow" }, { "$ref" : "#/$defs/Bpmn" }, { "$ref" : "#/$defs/Breadcrumbs" }, { "$ref" : "#/$defs/BulletedList" }, { "$ref" : "#/$defs/Button" }, { "$ref" : "#/$defs/ButtonGroup" }, { "$ref" : "#/$defs/Calendar" }, { "$ref" : "#/$defs/CalloutCard" }, { "$ref" : "#/$defs/Card" }, { "$ref" : "#/$defs/CarouselLayout" }, { "$ref" : "#/$defs/Chart" }, { "$ref" : "#/$defs/Chat" }, { "$ref" : "#/$defs/Checklist" }, { "$ref" : "#/$defs/CommentThread" }, { "$ref" : "#/$defs/ComparisonCard" }, { "$ref" : "#/$defs/ComponentRef" }, { "$ref" : "#/$defs/ConfirmDialog" }, { "$ref" : "#/$defs/Container" }, { "$ref" : "#/$defs/ContentLayout" }, { "$ref" : "#/$defs/ContextMenu" }, { "$ref" : "#/$defs/CookieConsent" }, { "$ref" : "#/$defs/CustomComponent" }, { "$ref" : "#/$defs/CustomField" }, { "$ref" : "#/$defs/DashboardLayout" }, { "$ref" : "#/$defs/DashboardPanel" }, { "$ref" : "#/$defs/Data" }, { "$ref" : "#/$defs/Details" }, { "$ref" : "#/$defs/Dialog" }, { "$ref" : "#/$defs/Directory" }, { "$ref" : "#/$defs/Div" }, { "$ref" : "#/$defs/Drawer" }, { "$ref" : "#/$defs/DropZone" }, { "$ref" : "#/$defs/Element" }, { "$ref" : "#/$defs/EmbeddedView" }, { "$ref" : "#/$defs/EmptyState" }, { "$ref" : "#/$defs/EntityHeader" }, { "$ref" : "#/$defs/Faq" }, { "$ref" : "#/$defs/FeatureGrid" }, { "$ref" : "#/$defs/FileList" }, { "$ref" : "#/$defs/FoldoutLayout" }, { "$ref" : "#/$defs/FoldoutPanel" }, { "$ref" : "#/$defs/Form" }, { "$ref" : "#/$defs/FormEditor" }, { "$ref" : "#/$defs/FormField" }, { "$ref" : "#/$defs/FormItem" }, { "$ref" : "#/$defs/FormLayout" }, { "$ref" : "#/$defs/FormRow" }, { "$ref" : "#/$defs/FormSection" }, { "$ref" : "#/$defs/FormSubSection" }, { "$ref" : "#/$defs/FullWidth" }, { "$ref" : "#/$defs/Funnel" }, { "$ref" : "#/$defs/FutureComponent" }, { "$ref" : "#/$defs/Gantt" }, { "$ref" : "#/$defs/Grid" }, { "$ref" : "#/$defs/GridColumn" }, { "$ref" : "#/$defs/GridGroupColumn" }, { "$ref" : "#/$defs/Heatmap" }, { "$ref" : "#/$defs/HeroSection" }, { "$ref" : "#/$defs/HorizontalLayout" }, { "$ref" : "#/$defs/Icon" }, { "$ref" : "#/$defs/Image" }, { "$ref" : "#/$defs/KPI" }, { "$ref" : "#/$defs/Kanban" }, { "$ref" : "#/$defs/Ledger" }, { "$ref" : "#/$defs/Listing" }, { "$ref" : "#/$defs/Map" }, { "$ref" : "#/$defs/Markdown" }, { "$ref" : "#/$defs/MasterDetailLayout" }, { "$ref" : "#/$defs/MatrixGrid" }, { "$ref" : "#/$defs/MenuBar" }, { "$ref" : "#/$defs/MessageInput" }, { "$ref" : "#/$defs/MessageList" }, { "$ref" : "#/$defs/Meter" }, { "$ref" : "#/$defs/MetricCard" }, { "$ref" : "#/$defs/MicroFrontend" }, { "$ref" : "#/$defs/NotFound" }, { "$ref" : "#/$defs/Notice" }, { "$ref" : "#/$defs/Notification" }, { "$ref" : "#/$defs/OfferCard" }, { "$ref" : "#/$defs/OrgChart" }, { "$ref" : "#/$defs/Partial" }, { "$ref" : "#/$defs/PaymentPicker" }, { "$ref" : "#/$defs/PlanningBoard" }, { "$ref" : "#/$defs/Popover" }, { "$ref" : "#/$defs/PricingTable" }, { "$ref" : "#/$defs/ProcessMonitor" }, { "$ref" : "#/$defs/ProgressBar" }, { "$ref" : "#/$defs/ProgressSteps" }, { "$ref" : "#/$defs/RecordMerge" }, { "$ref" : "#/$defs/ResourceGrid" }, { "$ref" : "#/$defs/ResponsiveGrid" }, { "$ref" : "#/$defs/Scoreboard" }, { "$ref" : "#/$defs/Scroller" }, { "$ref" : "#/$defs/Separator" }, { "$ref" : "#/$defs/Skeleton" }, { "$ref" : "#/$defs/Slotted" }, { "$ref" : "#/$defs/SplitLayout" }, { "$ref" : "#/$defs/Stat" }, { "$ref" : "#/$defs/State" }, { "$ref" : "#/$defs/StatusList" }, { "$ref" : "#/$defs/Tab" }, { "$ref" : "#/$defs/TabLayout" }, { "$ref" : "#/$defs/TaskProgress" }, { "$ref" : "#/$defs/TaskQueue" }, { "$ref" : "#/$defs/Testimonials" }, { "$ref" : "#/$defs/Text" }, { "$ref" : "#/$defs/Timeline" }, { "$ref" : "#/$defs/Tooltip" }, { "$ref" : "#/$defs/TrendChart" }, { "$ref" : "#/$defs/VerticalLayout" }, { "$ref" : "#/$defs/VirtualList" }, { "$ref" : "#/$defs/Workflow" } ] }, "ComponentRef" : { "description" : "A reference to a named business component in the ComponentCatalog (coherence-plan .13): drop new ComponentRef(\"AgencySelector\") anywhere a component goes and it stands for that catalogue entry's bound composition.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ComponentRef" }, "ref" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ConfirmDialog" : { "description" : "A modal that asks the user to confirm, reject or cancel, running an action for each choice.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ConfirmDialog" }, "header" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "canCancel" : { "type" : "boolean" }, "canReject" : { "type" : "boolean" }, "rejectText" : { "type" : "string" }, "confirmText" : { "type" : "string" }, "openedCondition" : { "type" : "string" }, "confirmActionId" : { "type" : "string" }, "rejectActionId" : { "type" : "string" }, "cancelActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ConfirmationTexts" : { "type" : "object", "properties" : { "title" : { "type" : "string" }, "message" : { "type" : "string" }, "confirmationText" : { "type" : "string" }, "denialText" : { "type" : "string" } } }, "Container" : { "description" : "A plain wrapper around one component, used for styling or grouping.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Container" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ContentAsidePosition" : { "type" : "string", "enum" : [ "start", "end" ] }, "ContentLayout" : { "description" : "Redwood-style content page layout: the uniform slot grammar shared by the page archetypes.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ContentLayout" }, "id" : { "type" : "string" }, "main" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "aside" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "footer" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "asidePosition" : { "$ref" : "#/$defs/ContentAsidePosition" }, "asideWidth" : { "type" : "string" }, "asideSticky" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ContentLink" : { "description" : "A menu entry that shows a component or component tree in the content area when selected.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ContentLink" }, "path" : { "type" : "string" }, "label" : { "type" : "string" }, "componentSupplier" : { "$ref" : "#/$defs/Component" }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "hidden" : { "type" : "boolean" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "ContextMenu" : { "description" : "A menu that opens on right click (or left click) over a wrapped component.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ContextMenu" }, "menu" : { "type" : "array", "items" : { "$ref" : "#/$defs/Actionable" } }, "wrapped" : { "$ref" : "#/$defs/Component" }, "activateOnLeftClick" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "CookieConsent" : { "description" : "A cookie-consent banner with a message, learn-more link and dismiss button.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CookieConsent" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "position" : { "$ref" : "#/$defs/CookieConsentPosition" }, "cookieName" : { "type" : "string" }, "message" : { "type" : "string" }, "theme" : { "type" : "string" }, "learnMore" : { "type" : "string" }, "learnMoreLink" : { "type" : "string" }, "dismiss" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "CookieConsentPosition" : { "type" : "string", "enum" : [ "Top", "Bottom", "TopLeft", "TopRight", "BottomLeft", "BottomRight" ] }, "CustomComponent" : { "description" : "A genuinely NEW component type the platform does not ship (coherence-plan .14): the explicit, relegated per-renderer escape hatch.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CustomComponent" }, "id" : { "type" : "string" }, "name" : { "type" : "string" }, "props" : { "type" : "object" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "CustomEvent" : { "type" : "object", "properties" : { "eventName" : { "type" : "string" }, "detail" : { } } }, "CustomField" : { "description" : "A form field slot that holds an arbitrary component with a label.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "CustomField" }, "label" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "colspan" : { "type" : "integer" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "DashboardLayout" : { "description" : "A responsive grid of dashboard tiles (Scoreboard, DashboardPanel, MetricCard or any other component). columns fixes the number of grid columns; 0 (the default) lets the renderer pick a responsive column count.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "DashboardLayout" }, "id" : { "type" : "string" }, "columns" : { "type" : "integer" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "DashboardPanel" : { "description" : "A titled tile inside a DashboardLayout.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "DashboardPanel" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "colSpan" : { "type" : "integer" }, "rowSpan" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Data" : { "description" : "An action result that sets the enclosing component's DATA — values the screen reads (options, search results, anything referenced as ${data.…}) without being part of the form state. newState, when set, also replaces the state.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Data" }, "data" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "newState" : { }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "DataStep" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "status" : { "type" : "string" } } }, "Details" : { "description" : "A collapsible block with a summary that expands to reveal its content.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Details" }, "summary" : { "$ref" : "#/$defs/Component" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "opened" : { "type" : "boolean" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Dialog" : { "description" : "A modal dialog with optional header, content and footer, opened over the current page.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Dialog" }, "id" : { "type" : "string" }, "headerTitle" : { "type" : "string" }, "header" : { "$ref" : "#/$defs/Component" }, "content" : { "$ref" : "#/$defs/Component" }, "footer" : { "$ref" : "#/$defs/Component" }, "noPadding" : { "type" : "boolean" }, "modeless" : { "type" : "boolean" }, "top" : { "type" : "string" }, "left" : { "type" : "string" }, "draggable" : { "type" : "boolean" }, "width" : { "type" : "string" }, "height" : { "type" : "string" }, "resizable" : { "type" : "boolean" }, "closeButtonOnHeader" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "initialData" : { }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Directory" : { "description" : "A page listing menu entries as a browsable directory of links.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Directory" }, "menu" : { "type" : "array", "items" : { "$ref" : "#/$defs/Actionable" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Div" : { "description" : "A generic block element holding text or child components, for custom layout and styling.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Div" }, "content" : { "type" : "string" }, "children" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Drawer" : { "description" : "A panel that slides in from a side of the viewport, overlaying the current page.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Drawer" }, "id" : { "type" : "string" }, "headerTitle" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "header" : { "$ref" : "#/$defs/Component" }, "content" : { "$ref" : "#/$defs/Component" }, "footer" : { "$ref" : "#/$defs/Component" }, "position" : { "$ref" : "#/$defs/DrawerPosition" }, "width" : { "type" : "string" }, "size" : { "$ref" : "#/$defs/DrawerSize" }, "maximizable" : { "type" : "boolean" }, "collapsible" : { "type" : "boolean" }, "peerNav" : { "$ref" : "#/$defs/PeerNav" }, "noPadding" : { "type" : "boolean" }, "modeless" : { "type" : "boolean" }, "layout" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "initialData" : { }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "DrawerPosition" : { "type" : "string", "enum" : [ "start", "end", "bottom" ] }, "DrawerSize" : { "type" : "string", "enum" : [ "s", "m", "l", "xl" ] }, "DropZone" : { "description" : "A place to DROP dragged listing rows (a listing marked @DragRows(type)): a titled area — a card, a column, an item of a list of destinations — wrapping any content.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "DropZone" }, "id" : { "type" : "string" }, "accept" : { "type" : "string" }, "actionId" : { "type" : "string" }, "parameters" : { "type" : "object" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Element" : { "description" : "An arbitrary HTML element or web component with attributes, event bindings and content.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Element" }, "name" : { "type" : "string" }, "attributes" : { "type" : "object" }, "on" : { "type" : "object" }, "content" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "html" : { "type" : "boolean" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "EmbeddedView" : { "description" : "Embeds a routed view (a @UI/@Route model view — e.g. a Wizard) as an INDEPENDENT server-side component: it renders inside the host tree but routes its OWN actions back to itself (its step navigation, saves, etc.), unlike ModelViewComponent, which renders the view inline and lets its actions bubble to the host.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "EmbeddedView" }, "view" : { }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Emit" : { "description" : "Emit a named event on the app event bus (pub/sub — refinement R1), optionally with a payload.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Emit" }, "event" : { "type" : "string" }, "payload" : { } } }, "EmptyState" : { "description" : "A friendly placeholder for \"there is nothing here yet\": an icon, a title, a description and an optional call-to-action button.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "EmptyState" }, "id" : { "type" : "string" }, "icon" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "actionId" : { "type" : "string" }, "actionLabel" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "EntityHeader" : { "description" : "A persistent context banner for the entity a flow operates on (e.g. the guest of a check-in wizard): the title with its badges (Chips), a subtitle, key facts (Fact label-over-value pairs) and one highlighted metric on the right (metricLabel, big accent-colored metricValue, metricCaption).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "EntityHeader" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "badges" : { "type" : "array", "items" : { "$ref" : "#/$defs/Chip" } }, "subtitle" : { "type" : "string" }, "facts" : { "type" : "array", "items" : { "$ref" : "#/$defs/Fact" } }, "metricLabel" : { "type" : "string" }, "metricValue" : { "type" : "string" }, "metricCaption" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Fact" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "value" : { "type" : "string" }, "actionId" : { "type" : "string" }, "icon" : { "type" : "string" }, "actionLabel" : { "type" : "string" }, "parameters" : { "type" : "object" } } }, "Faq" : { "description" : "A read-only FAQ list: collapsible question/answer rows.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Faq" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/FaqItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FaqItem" : { "type" : "object", "properties" : { "question" : { "type" : "string" }, "answer" : { "type" : "string" }, "open" : { "type" : "boolean" } } }, "Feature" : { "type" : "object", "properties" : { "icon" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "FeatureGrid" : { "description" : "A responsive grid of feature cards (icon + title + description), for landing/marketing pages.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FeatureGrid" }, "id" : { "type" : "string" }, "features" : { "type" : "array", "items" : { "$ref" : "#/$defs/Feature" } }, "columns" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FieldDataType" : { "type" : "string", "enum" : [ "integer", "string", "number", "date", "time", "dateTime", "bool", "array", "file", "status", "money", "component", "menu", "range", "action", "actionGroup", "dateRange" ] }, "FieldLink" : { "description" : "A menu entry that navigates to a screen exposed by a field of the app class.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FieldLink" }, "path" : { "type" : "string" }, "label" : { "type" : "string" }, "serverSideType" : { "type" : "string" }, "fieldName" : { "type" : "string" }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "description" : { "type" : "string" }, "hidden" : { "type" : "boolean" }, "presentation" : { "$ref" : "#/$defs/MenuPresentation" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "FieldStereotype" : { "type" : "string", "enum" : [ "regular", "radio", "checkbox", "textarea", "toggle", "combobox", "select", "email", "password", "richText", "listBox", "html", "markdown", "image", "uploadableImage", "fileUpload", "icon", "link", "money", "grid", "color", "choice", "popover", "slider", "button", "stars", "searchable", "badge", "plainText", "bulletedList", "dateRange", "numberRange", "treeSelect", "signature", "camera", "multiSelect", "primary" ] }, "FileItem" : { "type" : "object", "properties" : { "name" : { "type" : "string" }, "size" : { "type" : "string" }, "type" : { "type" : "string" }, "url" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "FileList" : { "description" : "A read-only list of attached files, each shown with a type icon, name and size.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FileList" }, "id" : { "type" : "string" }, "files" : { "type" : "array", "items" : { "$ref" : "#/$defs/FileItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FiltersLayout" : { "type" : "string", "enum" : [ "auto", "inline", "popover", "drawer", "dialog" ] }, "FoldoutLayout" : { "description" : "Redwood-style foldout: a fixed overview panel on the left with general information about the current record, plus two or more lateral FoldoutPanels with categories of associated information that the user folds in and out.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FoldoutLayout" }, "id" : { "type" : "string" }, "overview" : { "$ref" : "#/$defs/Component" }, "panels" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "headerTitle" : { "type" : "string" }, "badges" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "orientation" : { "$ref" : "#/$defs/FoldoutOrientation" }, "navigation" : { "$ref" : "#/$defs/FoldoutNavigation" }, "overviewEditActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FoldoutNavigation" : { "type" : "object", "properties" : { "title" : { "type" : "string" }, "parentLabel" : { "type" : "string" }, "parentActionId" : { "type" : "string" }, "previousActionId" : { "type" : "string" }, "nextActionId" : { "type" : "string" } } }, "FoldoutOrientation" : { "type" : "string", "enum" : [ "vertical", "horizontal" ] }, "FoldoutPanel" : { "description" : "One lateral panel of a FoldoutLayout: a category of information associated to the record shown in the overview.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FoldoutPanel" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "icon" : { "type" : "string" }, "open" : { "type" : "boolean" }, "width" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "summary" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Form" : { "description" : "A page: a header (title, subtitle, toolbar…) over its content — what a YAML page authors as type: Form.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Form" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "noHeader" : { "type" : "boolean" }, "avatar" : { "$ref" : "#/$defs/Component" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "header" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "footer" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "toolbar" : { "type" : "array", "items" : { "$ref" : "#/$defs/UserTrigger" } }, "buttons" : { "type" : "array", "items" : { "$ref" : "#/$defs/UserTrigger" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "overline" : { "type" : "string" }, "titlePlaceholder" : { "type" : "string" }, "timestamp" : { "type" : "string" }, "badges" : { "type" : "array", "items" : { "$ref" : "#/$defs/Chip" } }, "kpis" : { "type" : "array", "items" : { "$ref" : "#/$defs/Fact" } }, "peerNav" : { "$ref" : "#/$defs/PeerNav" }, "recordSwitcher" : { "$ref" : "#/$defs/RecordSwitcher" }, "banners" : { "type" : "array", "items" : { "$ref" : "#/$defs/PageBanner" } }, "fabs" : { "type" : "array", "items" : { "$ref" : "#/$defs/PageFab" } }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormEditor" : { "description" : "A form-definition editor component. value is the JSON FormDefinition string.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormEditor" }, "value" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormField" : { "description" : "One field of a fluent form: an id (the key of the component state it is bound to), a label, a FieldDataType and an optional FieldStereotype (how it is edited — select, textarea, grid…), plus the usual modifiers (required, read-only, placeholder, options…).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormField" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "dataType" : { "$ref" : "#/$defs/FieldDataType" }, "stereotype" : { "$ref" : "#/$defs/FieldStereotype" }, "readOnly" : { "type" : "boolean" }, "required" : { "type" : "boolean" }, "autofocus" : { "type" : "boolean" }, "placeholder" : { "type" : "string" }, "description" : { "type" : "string" }, "options" : { "type" : "array", "items" : { "$ref" : "#/$defs/Option" } }, "remoteCoordinates" : { "$ref" : "#/$defs/RemoteCoordinates" }, "optionsSource" : { "$ref" : "#/$defs/RestDataSource" }, "initialValue" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "inlineEditing" : { "type" : "boolean" }, "onItemSelectionActionId" : { "type" : "string" }, "rowSelectionShortcut" : { "type" : "string" }, "colspan" : { "type" : "integer" }, "formPosition" : { "$ref" : "#/$defs/FormPosition" }, "formStyle" : { "type" : "string" }, "formTheme" : { "type" : "string" }, "formColumns" : { "type" : "integer" }, "sliderMin" : { "type" : "integer" }, "sliderMax" : { "type" : "integer" }, "stepButtonsVisible" : { "type" : "boolean" }, "step" : { "type" : "number" }, "min" : { "type" : "number" }, "max" : { "type" : "number" }, "itemIdPath" : { "type" : "string" }, "attributes" : { "type" : "object" }, "detailPath" : { "type" : "string" }, "useButtonForDetail" : { "type" : "boolean" }, "minHeightWhenDetailVisible" : { "type" : "string" }, "optionsColumns" : { "type" : "integer" }, "mainFilter" : { "type" : "boolean" }, "treeLeavesOnly" : { "type" : "boolean" }, "multiline" : { "type" : "boolean" }, "propertyRow" : { "type" : "boolean" }, "link" : { "$ref" : "#/$defs/NavLink" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." }, "fieldType" : { "type" : "string", "description" : "The id of a field type of the app's catalogue (specs/ui/types.yaml): its attributes are this field's defaults, and what the field declares itself wins." } } }, "FormItem" : { "description" : "One item of a form layout, wrapping the components that make up a field.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormItem" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormLayout" : { "description" : "A responsive form grid: its content (fields, rows) flows into up to maxColumns columns, with labels on top or, with labelsAside, to the left of each field.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormLayout" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "autoResponsive" : { "type" : "boolean" }, "labelsAside" : { "type" : "boolean" }, "maxColumns" : { "type" : "integer" }, "columnWidth" : { "type" : "string" }, "expandColumns" : { "type" : "boolean" }, "expandFields" : { "type" : "boolean" }, "responsiveSteps" : { }, "itemLabelWidth" : { "type" : "string" }, "columnSpacing" : { "type" : "string" }, "itemRowSpacing" : { "type" : "string" }, "itemLabelSpacing" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormPosition" : { "type" : "string", "enum" : [ "top", "right", "bottom", "left", "modalLeft", "modalRight", "modal" ] }, "FormRow" : { "description" : "A row of a form layout grouping components side by side.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormRow" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormSection" : { "description" : "A titled section of a form that groups fields, with an optional toolbar.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormSection" }, "title" : { "type" : "string" }, "toolbar" : { "type" : "array", "items" : { "$ref" : "#/$defs/UserTrigger" } }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FormSubSection" : { "description" : "A titled sub-group of fields inside a form section.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FormSubSection" }, "title" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FullWidth" : { "description" : "Wraps a component so it stretches across the full width of its container.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FullWidth" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Funnel" : { "description" : "A read-only conversion funnel: stacked horizontal bars, each narrower than the last, showing how a value drops through stages with the conversion percentage between them.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Funnel" }, "id" : { "type" : "string" }, "stages" : { "type" : "array", "items" : { "$ref" : "#/$defs/FunnelStage" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "FunnelStage" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "value" : { "type" : "number" }, "color" : { "type" : "string" } } }, "FutureComponent" : { "description" : "A placeholder for a component that is resolved asynchronously on the server.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "FutureComponent" }, "instance" : { }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Gantt" : { "description" : "A Gantt/timeline chart: one row per GanttTask, bars spanning the task's dates on a shared time axis, with per-task progress and a today marker.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Gantt" }, "id" : { "type" : "string" }, "tasks" : { "type" : "array", "items" : { "$ref" : "#/$defs/GanttTask" } }, "onTaskSelectionActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "GanttTask" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "start" : { }, "end" : { }, "progress" : { "type" : "number" }, "color" : { "type" : "string" } } }, "Grid" : { "description" : "A data table with columns, rows and optional tree, striping and border options.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Grid" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "page" : { "$ref" : "#/$defs/Page" }, "tree" : { "type" : "boolean" }, "size" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "wrapCellContent" : { "type" : "boolean" }, "compact" : { "type" : "boolean" }, "noBorder" : { "type" : "boolean" }, "noRowBorder" : { "type" : "boolean" }, "columnBorders" : { "type" : "boolean" }, "rowStripes" : { "type" : "boolean" }, "vaadinGridCellBackground" : { "type" : "string" }, "vaadinGridCellPadding" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "GridColumn" : { "description" : "A column of a grid or listing: header label, data type, alignment, sorting and width.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "GridColumn" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "dataType" : { "$ref" : "#/$defs/FieldDataType" }, "stereotype" : { "$ref" : "#/$defs/FieldStereotype" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "align" : { "$ref" : "#/$defs/ColumnAlignment" }, "sortable" : { "type" : "boolean" }, "sortingProperty" : { "type" : "string" }, "filterable" : { "type" : "boolean" }, "frozen" : { "type" : "boolean" }, "frozenToEnd" : { "type" : "boolean" }, "autoWidth" : { "type" : "boolean" }, "flexGrow" : { "type" : "string" }, "resizable" : { "type" : "boolean" }, "width" : { "type" : "string" }, "tooltipPath" : { "type" : "string" }, "actionId" : { "type" : "string" }, "text" : { "type" : "string" }, "captionPath" : { "type" : "string" }, "leadingPath" : { "type" : "string" }, "priority" : { "type" : "integer" }, "identifier" : { "type" : "boolean" }, "editable" : { "type" : "boolean" }, "editorType" : { "type" : "string" }, "editorOptions" : { "type" : "array", "items" : { "$ref" : "#/$defs/Option" } }, "weight" : { "type" : "number" }, "aggregate" : { "type" : "string" }, "line" : { "type" : "integer" }, "tones" : { "type" : "object" }, "valueLabels" : { "type" : "object" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." }, "fieldType" : { "type" : "string", "description" : "The id of a field type of the app's catalogue (specs/ui/types.yaml): its attributes are this field's defaults, and what the field declares itself wins." } } }, "GridGroupColumn" : { "description" : "A column header that groups several grid columns under a shared label.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "GridGroupColumn" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "GridLayout" : { "type" : "string", "enum" : [ "auto", "table", "list", "cards", "masterDetail", "tree" ] }, "GridTrack" : { "type" : "object", "properties" : { "size" : { "$ref" : "#/$defs/SizeMode" }, "length" : { "type" : "string" } } }, "GroupRelationship" : { "type" : "string", "enum" : [ "alternative", "sequential", "simultaneous" ] }, "HeaderValue" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "value" : { "type" : "string" } } }, "HeatCell" : { "type" : "object", "properties" : { "date" : { }, "value" : { "type" : "number" }, "label" : { "type" : "string" } } }, "Heatmap" : { "description" : "A read-only calendar heatmap (GitHub-contributions style): one square per day, laid out in week-columns, colored by intensity from 0 to the maximum value.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Heatmap" }, "id" : { "type" : "string" }, "cells" : { "type" : "array", "items" : { "$ref" : "#/$defs/HeatCell" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "HeroSection" : { "description" : "A prominent page hero: a large title and subtitle, optionally over a background image, with slotted content below (search box, call-to-action buttons…).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "HeroSection" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "image" : { "type" : "string" }, "height" : { "type" : "string" }, "centered" : { "type" : "boolean" }, "tone" : { "$ref" : "#/$defs/HeroTone" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "HeroTone" : { "type" : "string", "enum" : [ "auto", "ocean", "pine", "lilac", "teal", "rose", "pebble", "slate", "plum", "sienna" ] }, "HorizontalAlignment" : { "type" : "string", "enum" : [ "START", "CENTER", "END", "STRETCH" ] }, "HorizontalLayout" : { "description" : "Lays its content out side by side, with optional spacing, alignment and wrapping (wrap lets a child drop below the others on a narrow screen; flexGrows gives each child its share of the width).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "HorizontalLayout" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "spacing" : { "type" : "boolean" }, "padding" : { "type" : "boolean" }, "margin" : { "type" : "boolean" }, "spacingVariant" : { "$ref" : "#/$defs/SpacingVariant" }, "verticalAlignment" : { "$ref" : "#/$defs/VerticalAlignment" }, "justification" : { "$ref" : "#/$defs/HorizontalLayoutJustification" }, "wrap" : { "type" : "boolean" }, "flexGrows" : { "type" : "array", "items" : { "type" : "integer" } }, "fullWidth" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "HorizontalLayoutJustification" : { "type" : "string", "enum" : [ "START", "CENTER", "END", "BETWEEN", "AROUND", "EVENLY" ] }, "Icon" : { "description" : "A single icon from the built-in icon set.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Icon" }, "icon" : { "$ref" : "#/$defs/IconKey" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "IconKey" : { "type" : "string", "enum" : [ "None", "Abacus", "AbsolutePosition", "AcademyCap", "Accessibility", "AccordionMenu", "AddDock", "Adjust", "AdobeFlash", "Airplane", "Alarm", "AlignCenter", "AlignJustify", "AlignLeft", "AlignRight", "AltA", "Alt", "Ambulance", "Anchor", "AngleDoubleDown", "AngleDoubleLeft", "AngleDoubleRight", "AngleDoubleUp", "AngleDown", "AngleLeft", "AngleRight", "AngleUp", "Archive", "Archives", "AreaSelect", "ArrowBackward", "ArrowCircleDownO", "ArrowCircleDown", "ArrowCircleLeftO", "ArrowCircleLeft", "ArrowCircleRightO", "ArrowCircleRight", "ArrowCircleUpO", "ArrowCircleUp", "ArrowDown", "ArrowForward", "ArrowLeft", "ArrowLongDown", "ArrowLongLeft", "ArrowRight", "ArrowUp", "ArrowsCross", "ArrowsLongH", "ArrowsLongRight", "ArrowsLongUp", "ArrowsLongV", "Arrows", "Asterisk", "At", "Automation", "BackspaceA", "Backspace", "Backwards", "Ban", "BarChartH", "BarChartV", "BarChart", "Barcode", "Bed", "BellO", "BellSlashO", "BellSlash", "Bell", "Boat", "Bold", "Bolt", "Bomb", "BookDollar", "BookPercent", "Book", "BookmarkO", "Bookmark", "Briefcase", "Browser", "BugO", "Bug", "BuildingO", "Building", "Bullets", "Bullseye", "Bus", "Buss", "Button", "CalcBook", "Calc", "CalendarBriefcase", "CalendarClock", "CalendarEnvelope", "CalendarO", "CalendarUser", "Calendar", "Camera", "Car", "CaretDown", "CaretLeft", "CaretRight", "CaretSquareDownO", "CaretSquareLeftO", "CaretSquareRightO", "CaretSquareUpO", "CaretUp", "CartO", "Cart", "Cash", "Chart3d", "ChartGrid", "ChartLine", "ChartTimeline", "Chart", "Chat", "CheckCircleO", "CheckCircle", "CheckSquareO", "CheckSquare", "Check", "ChevronCircleDownO", "ChevronCircleDown", "ChevronCircleLeftO", "ChevronCircleLeft", "ChevronCircleRightO", "ChevronCircleRight", "ChevronCircleUpO", "ChevronCircleUp", "ChevronDownSmall", "ChevronDown", "ChevronLeftSmall", "ChevronLeft", "ChevronRightSmall", "ChevronRight", "ChevronUpSmall", "ChevronUp", "Child", "CircleThin", "Circle", "ClipboardCheck", "ClipboardCross", "ClipboardHeart", "ClipboardPulse", "ClipboardText", "ClipboardUser", "Clipboard", "Clock", "CloseBig", "CloseCircleO", "CloseCircle", "CloseSmall", "Close", "CloudDownloadO", "CloudDownload", "CloudO", "CloudUploadO", "CloudUpload", "Cloud", "Cluster", "Code", "Coffee", "CogO", "Cog", "Cogs", "CoinPiles", "Coins", "Combobox", "CommentEllipsisO", "CommentEllipsis", "CommentO", "Comment", "CommentsO", "Comments", "Compile", "CompressSquare", "Compress", "ConnectO", "Connect", "Controller", "CopyO", "Copy", "Copyright", "CornerLowerLeft", "CornerLowerRight", "CornerUpperLeft", "CornerUpperRight", "CreditCard", "Crop", "CrossCutlery", "Crosshairs", "Css", "CtrlA", "Ctrl", "Cube", "Cubes", "CurlyBrackets", "CursorO", "Cursor", "Cutlery", "Dashboard", "Database", "DateInput", "Deindent", "DelA", "Del", "DentalChair", "Desktop", "DiamondO", "Diamond", "DiplomaScroll", "Diploma", "Disc", "DoctorBriefcase", "Doctor", "Dollar", "DotCircle", "DownloadAlt", "Download", "Drop", "Edit", "Eject", "Elastic", "EllipsisCircleO", "EllipsisCircle", "EllipsisDotsH", "EllipsisDotsV", "EllipsisH", "EllipsisV", "EnterArrow", "Enter", "EnvelopeO", "EnvelopeOpenO", "EnvelopeOpen", "Envelope", "EnvelopesO", "Envelopes", "Eraser", "EscA", "Esc", "Euro", "Exchange", "ExclamationCircleO", "ExclamationCircle", "Exclamation", "ExitO", "Exit", "ExpandFull", "ExpandSquare", "Expand", "ExternalBrowser", "ExternalLink", "EyeSlash", "Eye", "Eyedropper", "FacebookSquare", "Facebook", "Factory", "Family", "FastBackward", "FastForward", "Female", "FileAdd", "FileCode", "FileFont", "FileMovie", "FileO", "FilePicture", "FilePresentation", "FileProcess", "FileRefresh", "FileRemove", "FileSearch", "FileSound", "FileStart", "FileTable", "FileTextO", "FileText", "FileTreeSmall", "FileTreeSub", "FileTree", "FileZip", "File", "Fill", "Film", "Filter", "Fire", "FlagCheckered", "FlagO", "Flag", "Flash", "Flask", "FlightLanding", "FlightTakeoff", "FlipH", "FlipV", "FolderAdd", "FolderO", "FolderOpenO", "FolderOpen", "FolderRemove", "FolderSearch", "Folder", "Font", "Form", "Forward", "FrownO", "Funcion", "Function", "Funnel", "Gamepad", "Gavel", "Gift", "Glass", "Glasses", "GlobeWire", "Globe", "Golf", "GooglePlusSquare", "GooglePlus", "Grab", "GridBevel", "GridBigO", "GridBig", "GridH", "GridSmallO", "GridSmall", "GridV", "Grid", "Group", "Hammer", "Hand", "HandleCorner", "HandsUp", "Handshake", "HarddriveO", "Harddrive", "Hash", "Header", "Headphones", "Headset", "HealthCard", "HeartO", "Heart", "HomeO", "Home", "Hospital", "HourglassEmpty", "HourglassEnd", "HourglassStart", "Hourglass", "Inbox", "Indent", "InfoCircleO", "InfoCircle", "Info", "Input", "Insert", "Institution", "Invoice", "Italic", "KeyO", "Key", "KeyboardO", "Keyboard", "Laptop", "Layout", "LevelDownBold", "LevelDown", "LevelLeftBold", "LevelLeft", "LevelRightBold", "LevelRight", "LevelUpBold", "LevelUp", "Lifebuoy", "Lightbulb", "LineBarChart", "LineChart", "LineH", "LineV", "LinesList", "Lines", "Link", "ListOl", "ListSelect", "ListUl", "List", "LocationArrowCircleO", "LocationArrowCircle", "LocationArrow", "Lock", "Magic", "Magnet", "Mailbox", "Male", "MapMarker", "MarginBottom", "MarginLeft", "MarginRight", "MarginTop", "Margin", "Medal", "Megafone", "Megaphone", "MehO", "Menu", "Microphone", "MinusCircleO", "MinusCircle", "MinusSquareO", "Minus", "MobileBrowser", "MobileRetro", "Mobile", "ModalList", "Modal", "MoneyDeposit", "MoneyExchange", "MoneyWithdraw", "Money", "MoonO", "Moon", "Morning", "Movie", "Music", "Mute", "NativeButton", "Newspaper", "Notebook", "Nurse", "Office", "OpenBook", "OptionA", "Option", "Options", "Orientation", "Out", "Outbox", "Package", "PaddingBottom", "PaddingLeft", "PaddingRight", "PaddingTop", "Padding", "PaintRoll", "Paintbrush", "Palete", "Palette", "Panel", "Paperclip", "PaperplaneO", "Paperplane", "Paragraph", "Password", "Paste", "Pause", "Pencil", "PhoneLandline", "Phone", "Picture", "PieBarChart", "PieChart", "PiggyBankCoin", "PiggyBank", "Pill", "Pills", "PinPost", "Pin", "PlayCircleO", "PlayCircle", "Play", "Plug", "PlusCircleO", "PlusCircle", "PlusMinus", "PlusSquareO", "Plus", "Pointer", "PowerOff", "Presentation", "Print", "Progressbar", "PuzzlePiece", "PyramidChart", "Qrcode", "QuestionCircleO", "QuestionCircle", "Question", "QuoteLeft", "QuoteRight", "Random", "RasterLowerLeft", "Raster", "Records", "Recycle", "Refresh", "ReplyAll", "Reply", "ResizeH", "ResizeV", "Retweet", "Rhombus", "RoadBranch", "RoadBranches", "RoadSplit", "Road", "Rocket", "RotateLeft", "RotateRight", "RssSquare", "Rss", "SafeLock", "Safe", "ScaleUnbalance", "Scale", "ScatterChart", "Scissors", "Screwdriver", "SearchMinus", "SearchPlus", "Search", "Select", "Server", "ShareSquare", "Share", "Shield", "ShiftArrow", "Shift", "Shop", "SignInAlt", "SignIn", "SignOutAlt", "SignOut", "Signal", "Sitemap", "Slider", "Sliders", "SmileyO", "Sort", "SoundDisable", "SparkLine", "Specialist", "SpinnerArc", "SpinnerThird", "Spinner", "SplineAreaChart", "SplineChart", "SplitH", "SplitV", "Split", "Spoon", "SquareShadow", "StarHalfLeftO", "StarHalfLeft", "StarHalfRightO", "StarHalfRight", "StarO", "Star", "StartCog", "StepBackward", "StepForward", "Stethoscope", "Stock", "StopCog", "Stop", "Stopwatch", "Storage", "Strikethrough", "Subscript", "Suitcase", "SunDown", "SunO", "SunRise", "Superscript", "Sword", "TabA", "Tab", "Table", "Tablet", "Tabs", "Tag", "Tags", "Tasks", "Taxi", "Teeth", "Terminal", "TextHeight", "TextInput", "TextLabel", "TextWidth", "ThinSquare", "ThumbsDownO", "ThumbsDown", "ThumbsUpO", "ThumbsUp", "Ticket", "TimeBackward", "TimeForward", "Timer", "Toolbox", "Tools", "Tooth", "Touch", "Train", "Trash", "TreeTable", "TrendindDown", "TrendingDown", "TrendingUp", "Trophy", "Truck", "TwinColSelect", "TwitterSquare", "Twitter", "Umbrella", "Underline", "Unlink", "Unlock", "UploadAlt", "Upload", "UserCard", "UserCheck", "UserClock", "UserHeart", "UserStar", "User", "Users", "VaadinH", "VaadinV", "Viewport", "VimeoSquare", "Vimeo", "VolumeDown", "VolumeOff", "VolumeUp", "Volume", "Wallet", "Warning", "Workplace", "Wrench", "YoutubeSquare", "Youtube" ] }, "Image" : { "description" : "An image, by url or data URI.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Image" }, "src" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "alt" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "KPI" : { "description" : "A small key-performance-indicator pair showing a title and a value.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "KPI" }, "title" : { "type" : "string" }, "text" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Kanban" : { "description" : "A read-only kanban board: columns of cards.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Kanban" }, "id" : { "type" : "string" }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/KanbanColumn" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "KanbanCard" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "badge" : { "type" : "string" }, "color" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "KanbanColumn" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "color" : { "type" : "string" }, "cards" : { "type" : "array", "items" : { "$ref" : "#/$defs/KanbanCard" } } } }, "Ledger" : { "description" : "A folio/invoice breakdown with a total: lines (LedgerLine) rendered as concept-left, monospace-amount-right rows (negative amounts in error red, included lines show their label instead of an amount), then a divider and the totalLabel with the big total (null → the client computes the sum of non-included amounts).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Ledger" }, "id" : { "type" : "string" }, "currency" : { "type" : "string" }, "totalLabel" : { "type" : "string" }, "lines" : { "type" : "array", "items" : { "$ref" : "#/$defs/LedgerLine" } }, "total" : { "type" : "number" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "LedgerLine" : { "type" : "object", "properties" : { "concept" : { "type" : "string" }, "amount" : { "type" : "number" }, "included" : { "type" : "boolean" }, "includedLabel" : { "type" : "string" } } }, "Listing" : { "description" : "A searchable, filterable, paginated list of rows with columns, a toolbar and row actions.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Listing" }, "listingType" : { "$ref" : "#/$defs/ListingType" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "triggers" : { "type" : "array", "items" : { "$ref" : "#/$defs/Trigger" } }, "toolbar" : { "type" : "array", "items" : { "$ref" : "#/$defs/UserTrigger" } }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "searchable" : { "type" : "boolean" }, "filters" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "emptyStateMessage" : { "type" : "string" }, "searchOnEnter" : { "type" : "boolean" }, "autoFocusOnSearchText" : { "type" : "boolean" }, "allRowsVisible" : { "type" : "boolean" }, "size" : { "type" : "integer" }, "lazyLoading" : { "type" : "boolean" }, "lazyColumnRendering" : { "type" : "boolean" }, "infiniteScrolling" : { "type" : "boolean" }, "useButtonForDetail" : { "type" : "boolean" }, "columnReorderingAllowed" : { "type" : "boolean" }, "pageSize" : { "type" : "integer" }, "rowsSelectionEnabled" : { "type" : "boolean" }, "header" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "footer" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "preSearch" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "wrapCellContent" : { "type" : "boolean" }, "compact" : { "type" : "boolean" }, "noBorder" : { "type" : "boolean" }, "noRowBorder" : { "type" : "boolean" }, "columnBorders" : { "type" : "boolean" }, "rowStripes" : { "type" : "boolean" }, "vaadinGridCellBackground" : { "type" : "string" }, "vaadinGridCellPadding" : { "type" : "string" }, "gridStyle" : { "type" : "string" }, "detailPath" : { "type" : "string" }, "rowRoute" : { "type" : "string" }, "onRowSelectionChangedActionId" : { "type" : "string" }, "contentHeight" : { "type" : "string" }, "initialPage" : { "type" : "integer" }, "filtersLayout" : { "$ref" : "#/$defs/FiltersLayout" }, "gridLayout" : { "$ref" : "#/$defs/GridLayout" }, "groupBy" : { "type" : "string" }, "groupActions" : { "type" : "array", "items" : { "$ref" : "#/$defs/UserTrigger" } }, "rowsSource" : { "$ref" : "#/$defs/RestDataSource" }, "rowStatusField" : { "type" : "string" }, "dragType" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ListingType" : { "type" : "string", "enum" : [ "table", "card" ] }, "Map" : { "description" : "A street map: tiles centred on position (\"lat, lon\") at zoom, with optional markers.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Map" }, "id" : { "type" : "string" }, "position" : { "type" : "string" }, "zoom" : { "type" : "string" }, "markers" : { "type" : "array", "items" : { "$ref" : "#/$defs/MapMarker" } }, "markerActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "tileUrl" : { "type" : "string" }, "attribution" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MapMarker" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "latitude" : { "type" : "number" }, "longitude" : { "type" : "number" }, "label" : { "type" : "string" }, "description" : { "type" : "string" }, "color" : { "type" : "string" } } }, "MarkClean" : { "description" : "Mark the current view clean (e.g. after a save) — suppresses the unsaved-changes guard.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MarkClean" } } }, "MarkDirty" : { "description" : "Mark the current view dirty — arms the unsaved-changes navigation guard.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MarkDirty" } } }, "Markdown" : { "description" : "A block of text rendered from Markdown.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Markdown" }, "markdown" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MasterDetailLayout" : { "description" : "A two-pane layout with a master list and a detail area that shows the selected item.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MasterDetailLayout" }, "id" : { "type" : "string" }, "master" : { "$ref" : "#/$defs/Component" }, "detail" : { "$ref" : "#/$defs/Component" }, "orientation" : { "$ref" : "#/$defs/Orientation" }, "variant" : { "$ref" : "#/$defs/SplitLayoutVariant" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MatrixCell" : { "type" : "object", "properties" : { "value" : { "type" : "string" }, "tone" : { "type" : "string" }, "link" : { "type" : "boolean" } } }, "MatrixColumn" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "group" : { "type" : "string" }, "tone" : { "type" : "string" } } }, "MatrixGrid" : { "description" : "A MATRIX of values by column — typically metrics or types (rows) by dates (columns), the shape of an availability or forecast grid.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MatrixGrid" }, "id" : { "type" : "string" }, "rowHeaderLabel" : { "type" : "string" }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/MatrixColumn" } }, "sections" : { "type" : "array", "items" : { "$ref" : "#/$defs/MatrixSection" } }, "cellActionId" : { "type" : "string" }, "editActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MatrixRow" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "cells" : { "type" : "array", "items" : { "$ref" : "#/$defs/MatrixCell" } }, "editable" : { "type" : "boolean" }, "emphasis" : { "type" : "boolean" } } }, "MatrixSection" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "collapsed" : { "type" : "boolean" }, "rows" : { "type" : "array", "items" : { "$ref" : "#/$defs/MatrixRow" } } } }, "Menu" : { "description" : "A menu entry built in code (the fluent counterpart of a @Menu field): a label, the path it navigates to, or a submenu of further entries; selected, disabled and hidden as their names say.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Menu" }, "path" : { "type" : "string" }, "label" : { "type" : "string" }, "submenu" : { "type" : "array", "items" : { "$ref" : "#/$defs/Actionable" } }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "description" : { "type" : "string" }, "hidden" : { "type" : "boolean" }, "presentation" : { "$ref" : "#/$defs/MenuPresentation" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "MenuBar" : { "description" : "A horizontal bar of menu entries, some of which may open submenus.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MenuBar" }, "options" : { "type" : "array", "items" : { "$ref" : "#/$defs/Actionable" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MenuDisplay" : { "type" : "string", "enum" : [ "list", "cards" ] }, "MenuPresentation" : { "type" : "object", "properties" : { "display" : { "$ref" : "#/$defs/MenuDisplay" }, "icon" : { "type" : "string" }, "image" : { "type" : "string" } } }, "MenuSeparator" : { "description" : "A visual divider between entries of a menu.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MenuSeparator" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "MergeField" : { "type" : "object", "properties" : { "fieldId" : { "type" : "string" }, "label" : { "type" : "string" }, "values" : { "type" : "array", "items" : { } }, "chosen" : { "type" : "string" }, "editable" : { "type" : "boolean" } } }, "MergeRecord" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "caption" : { "type" : "string" } } }, "MessageInput" : { "description" : "A chat-style message input.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MessageInput" }, "id" : { "type" : "string" }, "actionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MessageList" : { "description" : "A read-only chat-style list of MessageListItems (Vaadin/PatternFly message list).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MessageList" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/MessageListItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MessageListItem" : { "type" : "object", "properties" : { "text" : { "type" : "string" }, "userName" : { "type" : "string" }, "time" : { "type" : "string" }, "userImg" : { "type" : "string" }, "userAbbr" : { "type" : "string" }, "userColorIndex" : { "type" : "integer" } } }, "Meter" : { "description" : "Consumption against a limit (e.g. balance vs preauthorization): a small-caps label, the formatted value big with the unit symbol appended, a progress track filled to value/max, and a muted caption (absent → the computed fill percent).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Meter" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "value" : { "type" : "number" }, "max" : { "type" : "number" }, "unit" : { "type" : "string" }, "caption" : { "type" : "string" }, "warnAt" : { "type" : "number" }, "dangerAt" : { "type" : "number" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MethodLink" : { "description" : "A menu entry that runs a method of the app class when selected.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MethodLink" }, "path" : { "type" : "string" }, "label" : { "type" : "string" }, "serverSideType" : { "type" : "string" }, "methodName" : { "type" : "string" }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "hidden" : { "type" : "boolean" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "MetricCard" : { "description" : "A KPI tile for dashboards: a title, a prominent value, an optional trend indicator and an optional drill-in action.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MetricCard" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "value" : { "type" : "string" }, "unit" : { "type" : "string" }, "trend" : { "$ref" : "#/$defs/MetricTrend" }, "trendLabel" : { "type" : "string" }, "icon" : { "type" : "string" }, "description" : { "type" : "string" }, "actionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "timeframe" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "MetricTrend" : { "type" : "string", "enum" : [ "up", "down", "neutral" ] }, "MicroFrontend" : { "description" : "Embeds a UI served from another backend (baseUrl) or route inside the current page.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "MicroFrontend" }, "baseUrl" : { "type" : "string" }, "route" : { "type" : "string" }, "consumedRoute" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "serverSideType" : { "type" : "string" }, "appState" : { }, "actionId" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "NavLink" : { "type" : "object", "properties" : { "href" : { "type" : "string" }, "icon" : { "type" : "string" }, "title" : { "type" : "string" }, "target" : { "type" : "string" } } }, "Navigate" : { "description" : "Navigate to a route.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Navigate" }, "route" : { "type" : "string" } } }, "NotFound" : { "description" : "The page shown in place of a screen whose record or route does not exist: an icon, a heading, a short explanation and a way back.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "NotFound" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "message" : { "type" : "string" }, "backRoute" : { "type" : "string" }, "backLabel" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Notice" : { "description" : "A compact inline banner: a rounded, theme-tinted strip with a small severity icon and one line of text — for notices like \"2 quejas pendientes\" embedded anywhere in the UI (inside cards, columns, forms).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Notice" }, "id" : { "type" : "string" }, "text" : { "type" : "string" }, "theme" : { "type" : "string" }, "icon" : { "type" : "string" }, "noIcon" : { "type" : "boolean" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" }, "status" : { "type" : "string" }, "slim" : { "type" : "boolean" }, "fullWidth" : { "type" : "boolean" }, "inlineContent" : { "type" : "boolean" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Notification" : { "description" : "A transient toast notification with an optional title and text.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Notification" }, "title" : { "type" : "string" }, "text" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "OfferCard" : { "description" : "A current-vs-upgrade offer card: an optional image header, a floating tag chip, title + subtitle, features as outline chips and a footer.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OfferCard" }, "id" : { "type" : "string" }, "tag" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "image" : { "type" : "string" }, "features" : { "type" : "array", "items" : { "type" : "string" } }, "priceLabel" : { "type" : "string" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" }, "current" : { "type" : "boolean" }, "currentLabel" : { "type" : "string" }, "added" : { "type" : "boolean" }, "addedLabel" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "OnCustomEventTrigger" : { "description" : "Runs an action when a named custom event is dispatched by another component or the page.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OnCustomEventTrigger" }, "actionId" : { "type" : "string" }, "eventName" : { "type" : "string" }, "condition" : { "type" : "string" }, "source" : { "$ref" : "#/$defs/SubscriptionSource" }, "from" : { "type" : "string" } } }, "OnErrorTrigger" : { "description" : "Runs an action when another action fails.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OnErrorTrigger" }, "actionId" : { "type" : "string" }, "calledActionId" : { "type" : "string" }, "condition" : { "type" : "string" } } }, "OnLoadTrigger" : { "description" : "Runs actionId when the component loads. background = true runs it as a silent refresh — no loading veil, no busy affordance — which is what a status poll wants: a detail that re-fetches itself every couple of seconds should update in place, not dim the whole page on every tick.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OnLoadTrigger" }, "actionId" : { "type" : "string" }, "timeoutMillis" : { "type" : "integer" }, "times" : { "type" : "integer" }, "condition" : { "type" : "string" }, "background" : { "type" : "boolean" } } }, "OnSuccessTrigger" : { "description" : "After calledActionId succeeds, runs actionId (optionally after timeoutMillis). background = true runs it as a silent refresh (no loading veil) — what a self-re-scheduling poll wants: refresh → wait → refresh → … must not dim the page on every tick.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OnSuccessTrigger" }, "actionId" : { "type" : "string" }, "calledActionId" : { "type" : "string" }, "condition" : { "type" : "string" }, "timeoutMillis" : { "type" : "integer" }, "background" : { "type" : "boolean" } } }, "OnValueChangeTrigger" : { "description" : "Runs an action when a field value changes, optionally only if a condition holds.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OnValueChangeTrigger" }, "actionId" : { "type" : "string" }, "propertyName" : { "type" : "string" }, "condition" : { "type" : "string" } } }, "Option" : { "type" : "object", "properties" : { "value" : { }, "label" : { "type" : "string" }, "description" : { "type" : "string" }, "image" : { "type" : "string" }, "imageStyle" : { "type" : "string" }, "icon" : { "type" : "string" }, "children" : { "type" : "array", "items" : { "$ref" : "#/$defs/Option" } } } }, "OrgChart" : { "description" : "A read-only top-down hierarchy chart (org chart, category tree): a single root OrgNode whose children fan out below it, connected by lines.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "OrgChart" }, "id" : { "type" : "string" }, "root" : { "$ref" : "#/$defs/OrgNode" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "OrgNode" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "avatar" : { "type" : "string" }, "color" : { "type" : "string" }, "actionId" : { "type" : "string" }, "children" : { "type" : "array", "items" : { "$ref" : "#/$defs/OrgNode" } } } }, "Orientation" : { "type" : "string", "enum" : [ "horizontal", "vertical" ] }, "Page" : { "type" : "object", "properties" : { "searchSignature" : { "type" : "string" }, "pageSize" : { "type" : "integer" }, "pageNumber" : { "type" : "integer" }, "totalElements" : { "type" : "integer" }, "content" : { "type" : "array", "items" : { } } } }, "PageBanner" : { "type" : "object", "properties" : { "theme" : { "$ref" : "#/$defs/BannerTheme" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "closeable" : { "type" : "boolean" }, "timeoutSeconds" : { "type" : "integer" } } }, "PageFab" : { "type" : "object", "properties" : { "icon" : { "type" : "string" }, "label" : { "type" : "string" }, "actionId" : { "type" : "string" }, "order" : { "type" : "integer" }, "buttonStyle" : { "type" : "string" } } }, "Partial" : { "description" : "A reference to a reusable piece of UI, usable anywhere a component is.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Partial" }, "ref" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "PaymentMethod" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" } } }, "PaymentPicker" : { "description" : "A payment method picker with context and confirm CTA: a row of segmented buttons (PaymentMethod, initial selection seeded from selected, toggled client-side), an optional success-tinted context chip (contextLabel over contextValue) and a primary confirmLabel button dispatching actionId with { \"_method\": selectedId }.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "PaymentPicker" }, "id" : { "type" : "string" }, "actionId" : { "type" : "string" }, "methodActionId" : { "type" : "string" }, "methods" : { "type" : "array", "items" : { "$ref" : "#/$defs/PaymentMethod" } }, "selected" : { "type" : "string" }, "contextLabel" : { "type" : "string" }, "contextValue" : { "type" : "string" }, "confirmLabel" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "PeerNav" : { "type" : "object", "properties" : { "prevLabel" : { "type" : "string" }, "prevRoute" : { "type" : "string" }, "nextLabel" : { "type" : "string" }, "nextRoute" : { "type" : "string" } } }, "PlanningBlock" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "resourceId" : { "type" : "string" }, "start" : { }, "end" : { }, "label" : { "type" : "string" }, "color" : { "type" : "string" }, "status" : { "type" : "string" }, "icon" : { "type" : "string" }, "summary" : { "type" : "string" } } }, "PlanningBoard" : { "description" : "A planning board / tape chart: one row per PlanningResource, one column per day between from and to, and colored PlanningBlocks spanning their date ranges on their resource's row — the rooms × days grid every hotel/rental/staffing back-office needs.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "PlanningBoard" }, "id" : { "type" : "string" }, "resources" : { "type" : "array", "items" : { "$ref" : "#/$defs/PlanningResource" } }, "blocks" : { "type" : "array", "items" : { "$ref" : "#/$defs/PlanningBlock" } }, "from" : { }, "to" : { }, "moveActionId" : { "type" : "string" }, "selectActionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "attributeColumns" : { "type" : "array", "items" : { "type" : "string" } }, "resizeActionId" : { "type" : "string" }, "openActionId" : { "type" : "string" }, "rangeSelectActionId" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "PlanningResource" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "label" : { "type" : "string" }, "group" : { "type" : "string" }, "attributes" : { "type" : "array", "items" : { "type" : "string" } }, "icon" : { "type" : "string" } } }, "Popover" : { "description" : "A popover: the wrapped component, and the content shown in a small floating panel next to it — on click by default, or on hover/focus with trigger = hover (read-only details: a rate breakdown, a reservation summary).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Popover" }, "id" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "wrapped" : { "$ref" : "#/$defs/Component" }, "trigger" : { "$ref" : "#/$defs/PopoverTrigger" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "PopoverTrigger" : { "type" : "string", "enum" : [ "click", "hover" ] }, "PricingPlan" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "name" : { "type" : "string" }, "price" : { "type" : "string" }, "period" : { "type" : "string" }, "featured" : { "type" : "boolean" }, "features" : { "type" : "array", "items" : { "type" : "string" } }, "ctaLabel" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "PricingTable" : { "description" : "A pricing / plan-comparison table: a row of PricingPlan cards side by side, one optionally marked featured (highlighted).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "PricingTable" }, "id" : { "type" : "string" }, "plans" : { "type" : "array", "items" : { "$ref" : "#/$defs/PricingPlan" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ProcessItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "name" : { "type" : "string" }, "systems" : { "type" : "array", "items" : { "type" : "string" } }, "ok" : { "type" : "integer" }, "warnings" : { "type" : "integer" }, "errors" : { "type" : "integer" }, "status" : { "type" : "string" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "ProcessMonitor" : { "description" : "A monitored-automations health board: a bordered list of ProcessItem rows, each with a colored status dot, the process name and involved systems, OK/warning/error counters and an optional fix button dispatching the item's actionId with no parameters.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ProcessMonitor" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/ProcessItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ProgressBar" : { "description" : "A progress bar showing a value between a minimum and maximum, or an indeterminate wait.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ProgressBar" }, "indeterminate" : { "type" : "boolean" }, "min" : { "type" : "integer" }, "max" : { "type" : "integer" }, "value" : { "type" : "number" }, "valueKey" : { "type" : "string" }, "text" : { "type" : "string" }, "theme" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ProgressSteps" : { "description" : "A read-only horizontal progress indicator: a row of numbered Steps connected by a line, showing where a multi-step process stands.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ProgressSteps" }, "id" : { "type" : "string" }, "steps" : { "type" : "array", "items" : { "$ref" : "#/$defs/DataStep" } }, "vertical" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "resultTitle" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "QueueGroup" : { "type" : "object", "properties" : { "label" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/QueueItem" } } } }, "QueueItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "caption" : { "type" : "string" }, "badges" : { "type" : "array", "items" : { "$ref" : "#/$defs/Chip" } }, "selected" : { "type" : "boolean" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "RecordMerge" : { "description" : "COMPARE AND MERGE: two (or more) records of the same type side by side, one column per record and one row per field, with the rows whose values differ highlighted and a pick per row (\"use the value from A\") — plus a free edit where a field is editable.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "RecordMerge" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "records" : { "type" : "array", "items" : { "$ref" : "#/$defs/MergeRecord" } }, "fields" : { "type" : "array", "items" : { "$ref" : "#/$defs/MergeField" } }, "mergeActionId" : { "type" : "string" }, "mergeLabel" : { "type" : "string" }, "parameters" : { "type" : "object" }, "differencesOnly" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "RecordSwitcher" : { "type" : "object", "properties" : { "options" : { "type" : "array", "items" : { "$ref" : "#/$defs/Option" } }, "value" : { "type" : "string" }, "type" : { "$ref" : "#/$defs/SwitcherType" }, "label" : { "type" : "string" }, "searchable" : { "type" : "boolean" }, "disabled" : { "type" : "boolean" }, "optionsSource" : { "$ref" : "#/$defs/RestDataSource" }, "route" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "RemoteCoordinates" : { "type" : "object", "properties" : { "baseUrl" : { "type" : "string" }, "route" : { "type" : "string" }, "consumedRoute" : { "type" : "string" }, "action" : { "type" : "string" }, "params" : { "type" : "object" } } }, "RemoteMenu" : { "description" : "A section of a federated shell served by another app: the shell asks baseUrl for its menu and puts it where this entry is, and a deep link under one of that app's routes is mounted from it.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "RemoteMenu" }, "baseUrl" : { "type" : "string" }, "route" : { "type" : "string" }, "consumedRoute" : { "type" : "string" }, "serverSideType" : { "type" : "string" }, "params" : { "type" : "object" }, "explode" : { "type" : "boolean" }, "label" : { "type" : "string" }, "path" : { "type" : "string" }, "hidden" : { "type" : "boolean" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "ResourceGrid" : { "description" : "An availability/selection grid (e.g. a room picker): a CSS grid of ResourceItem cards with a fixed columns count (0/absent → responsive auto-fill).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ResourceGrid" }, "id" : { "type" : "string" }, "actionId" : { "type" : "string" }, "columns" : { "type" : "integer" }, "recommendedLabel" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/ResourceItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "ResourceItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "subtitle" : { "type" : "string" }, "statusLabel" : { "type" : "string" }, "statusColor" : { "type" : "string" }, "note" : { "type" : "string" }, "noteColor" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "recommended" : { "type" : "boolean" }, "selected" : { "type" : "boolean" } } }, "ResponsiveGrid" : { "description" : "One responsive grid — THE general layout foundation (coherence-plan .9).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "ResponsiveGrid" }, "id" : { "type" : "string" }, "columns" : { "type" : "array", "items" : { "$ref" : "#/$defs/GridTrack" } }, "gap" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "colSpans" : { "type" : "array", "items" : { "type" : "integer" } }, "stackBelow" : { "type" : "string" }, "gridTemplateAreas" : { "type" : "string" }, "stickyAreas" : { "type" : "array", "items" : { "type" : "string" } }, "reorderable" : { "type" : "boolean" }, "style" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "RestAction" : { "type" : "object", "properties" : { "source" : { "$ref" : "#/$defs/RestDataSource" }, "successMessage" : { "type" : "string" }, "resultPath" : { "type" : "string" }, "successRoute" : { "type" : "string" }, "forEachSelectedRow" : { "type" : "boolean" } } }, "RestDataSource" : { "type" : "object", "properties" : { "ref" : { "type" : "string" }, "url" : { "type" : "string" }, "method" : { "type" : "string" }, "headers" : { "type" : "object" }, "body" : { "type" : "string" }, "itemsPath" : { "type" : "string" }, "valuePath" : { "type" : "string" }, "labelPath" : { "type" : "string" }, "proxy" : { "type" : "boolean" }, "sample" : { } } }, "RouteLink" : { "description" : "A menu entry that navigates to a route, optionally on another backend.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "RouteLink" }, "path" : { "type" : "string" }, "route" : { "type" : "string" }, "label" : { "type" : "string" }, "target" : { "$ref" : "#/$defs/RouteTarget" }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "serverSideType" : { "type" : "string" }, "consumedRoute" : { "type" : "string" }, "description" : { "type" : "string" }, "icon" : { "type" : "string" }, "hidden" : { "type" : "boolean" }, "presentation" : { "$ref" : "#/$defs/MenuPresentation" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "RouteTarget" : { "type" : "string", "enum" : [ "Top", "Parent" ] }, "Rule" : { "type" : "object", "properties" : { "filter" : { "type" : "string" }, "action" : { "$ref" : "#/$defs/RuleAction" }, "fieldName" : { "type" : "string" }, "fieldAttribute" : { "$ref" : "#/$defs/RuleFieldAttribute" }, "value" : { }, "expression" : { "type" : "string" }, "actionId" : { "type" : "string" }, "result" : { "$ref" : "#/$defs/RuleResult" } } }, "RuleAction" : { "type" : "string", "enum" : [ "SetAppDataValue", "SetAppStateValue", "SetDataValue", "RunAction", "RunJS", "SetAttributeValue", "SetStateValue", "SetCssClass", "SetStyle" ] }, "RuleFieldAttribute" : { "type" : "string", "enum" : [ "required", "disabled", "hidden", "pattern", "minValue", "maxValue", "minLength", "maxLength", "css", "style", "theme", "errorMessage", "description", "none" ] }, "RuleLink" : { "description" : "A menu leaf that RUNS client-side rules when clicked instead of navigating to a route.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "RuleLink" }, "path" : { "type" : "string" }, "label" : { "type" : "string" }, "rules" : { "type" : "array", "items" : { "$ref" : "#/$defs/Rule" } }, "selected" : { "type" : "boolean" }, "component" : { "$ref" : "#/$defs/Component" }, "className" : { "type" : "string" }, "disabled" : { "type" : "boolean" }, "disabledOnClick" : { "type" : "boolean" }, "itemData" : { }, "description" : { "type" : "string" }, "hidden" : { "type" : "boolean" }, "access" : { "$ref" : "#/$defs/Access", "description" : "Who may see this menu item: it is not sent to a caller whose token does not satisfy it. A RouteLink with none inherits its route's `access:`." } } }, "RuleResult" : { "type" : "string", "enum" : [ "Continue", "Stop" ] }, "RunAction" : { "description" : "Run a server action by id (the \"call the server\" verb — needs a backend).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "RunAction" }, "actionId" : { "type" : "string" } } }, "Scoreboard" : { "description" : "A horizontal band of MetricCards summarising essential status information, typically placed at the top of a dashboard.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Scoreboard" }, "id" : { "type" : "string" }, "metrics" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Scroller" : { "description" : "A scrollable viewport around a component whose content may overflow.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Scroller" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Separator" : { "description" : "A horizontal divider line () separating contents inside a section, form or any layout.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Separator" }, "id" : { "type" : "string" }, "attributes" : { "type" : "object" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "SizeMode" : { "type" : "string", "enum" : [ "hug", "fill", "fixed" ] }, "Skeleton" : { "description" : "A shimmering placeholder shown while real content loads.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Skeleton" }, "id" : { "type" : "string" }, "variant" : { "$ref" : "#/$defs/SkeletonVariant" }, "count" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "SkeletonVariant" : { "type" : "string", "enum" : [ "text", "card", "grid", "form" ] }, "Slotted" : { "description" : "Places a component into a named slot of a template (coherence-plan .7).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Slotted" }, "slot" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "SpacingVariant" : { "type" : "string", "enum" : [ "xs", "s", "m", "l", "xl" ] }, "SplitLayout" : { "description" : "A two-pane layout separated by a draggable splitter.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "SplitLayout" }, "id" : { "type" : "string" }, "master" : { "$ref" : "#/$defs/Component" }, "detail" : { "$ref" : "#/$defs/Component" }, "orientation" : { "$ref" : "#/$defs/Orientation" }, "variant" : { "$ref" : "#/$defs/SplitLayoutVariant" }, "fullWidth" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "SplitLayoutVariant" : { "type" : "string", "enum" : [ "small", "minimal" ] }, "Stat" : { "description" : "A compact KPI stat: a label, a big value (with optional unit), a delta with a trend direction (\"up\" / \"down\" / \"flat\") and an inline sparkline drawn from spark.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Stat" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "value" : { "type" : "string" }, "unit" : { "type" : "string" }, "delta" : { "type" : "string" }, "trend" : { "type" : "string" }, "spark" : { "type" : "array", "items" : { "type" : "number" } }, "actionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "State" : { "description" : "An action result that sets the enclosing component's STATE from an object's fields — typically return new State(this); after the action changed the view model's fields, so the form shows the new values without re-rendering the whole screen.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "State" }, "state" : { }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "StatusItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "icon" : { "type" : "string" }, "avatar" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "status" : { "type" : "string" }, "statusColor" : { "type" : "string" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" }, "actionLabel2" : { "type" : "string" }, "actionId2" : { "type" : "string" }, "actionLabel3" : { "type" : "string" }, "actionId3" : { "type" : "string" }, "actionIcon" : { "type" : "string" }, "actionIcon2" : { "type" : "string" }, "actionIcon3" : { "type" : "string" }, "lines" : { "type" : "array", "items" : { "type" : "string" } } } }, "StatusList" : { "description" : "A bordered list of rows with an icon, a title plus description, and a status chip and/or a small action button on the right (see StatusItem) — incidents, side-effects checklists, pending-tasks lists.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "StatusList" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/StatusItem" } }, "compact" : { "type" : "boolean" }, "frameless" : { "type" : "boolean" }, "rowActionId" : { "type" : "string" }, "columns" : { "type" : "integer" }, "itemHeadingLevel" : { "type" : "integer" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Step" : { "description" : "One of the Step implementations.", "oneOf" : [ { "$ref" : "#/$defs/CloseOverlay" }, { "$ref" : "#/$defs/Emit" }, { "$ref" : "#/$defs/MarkClean" }, { "$ref" : "#/$defs/MarkDirty" }, { "$ref" : "#/$defs/Navigate" }, { "$ref" : "#/$defs/RunAction" } ] }, "SubscriptionSource" : { "type" : "string", "enum" : [ "DOCUMENT", "COMPONENT", "SELF" ] }, "SwitcherType" : { "type" : "string", "enum" : [ "object", "context" ] }, "Tab" : { "description" : "One tab of a TabLayout: a label (with an optional badge) and the content it shows. active makes it the tab selected on first render; shortcut (e.g. \"alt+1\") selects it from the keyboard.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Tab" }, "label" : { "type" : "string" }, "content" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "shortcut" : { "type" : "string" }, "active" : { "type" : "boolean" }, "routeKey" : { "type" : "string" }, "badge" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TabLayout" : { "description" : "A set of tabs where selecting a tab shows its content.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "TabLayout" }, "id" : { "type" : "string" }, "tabs" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "orientation" : { "$ref" : "#/$defs/Orientation" }, "variant" : { "$ref" : "#/$defs/TabLayoutVariant" }, "groupRelationship" : { "$ref" : "#/$defs/GroupRelationship" }, "adaptable" : { "type" : "boolean" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TabLayoutVariant" : { "type" : "string", "enum" : [ "small", "minimal", "centered", "bordered", "equalWidth" ] }, "TaskProgress" : { "description" : "A subtask completion banner (e.g. \"pax 1/4 registered\"): a label, done/total pills (filled up to done) and a right-aligned button (actionLabel + actionId, dispatched with no parameters; hidden when absent).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "TaskProgress" }, "id" : { "type" : "string" }, "label" : { "type" : "string" }, "total" : { "type" : "integer" }, "done" : { "type" : "integer" }, "actionLabel" : { "type" : "string" }, "actionId" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TaskQueue" : { "description" : "A grouped work queue rail (e.g. \"Llegadas hoy\" / \"Salidas hoy\"): vertical groups (QueueGroup) of clickable cards (QueueItem).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "TaskQueue" }, "id" : { "type" : "string" }, "actionId" : { "type" : "string" }, "groups" : { "type" : "array", "items" : { "$ref" : "#/$defs/QueueGroup" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Testimonial" : { "type" : "object", "properties" : { "quote" : { "type" : "string" }, "author" : { "type" : "string" }, "role" : { "type" : "string" }, "avatar" : { "type" : "string" }, "rating" : { "type" : "integer" } } }, "Testimonials" : { "description" : "A responsive grid of testimonial / quote cards (a quote, an author with role and avatar, an optional star rating), for landing/marketing pages.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Testimonials" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/Testimonial" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Text" : { "description" : "A piece of text: a block (div) by default, or a paragraph, a span or a heading (TextContainer h1…h6), with an optional TextSize and variants. text may carry ${…} templates over the component's state and data. noMargins drops the container's block margins (for tight captions).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Text" }, "id" : { "type" : "string" }, "text" : { "type" : "string" }, "container" : { "$ref" : "#/$defs/TextContainer" }, "variants" : { "type" : "array", "items" : { "$ref" : "#/$defs/TextVariant" } }, "size" : { "$ref" : "#/$defs/TextSize" }, "noMargins" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "attributes" : { "type" : "object" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TextContainer" : { "type" : "string", "enum" : [ "div", "p", "h1", "h2", "h3", "h4", "h5", "h6", "span" ] }, "TextSize" : { "type" : "string", "enum" : [ "xl", "l", "m", "s", "xs" ] }, "TextVariant" : { "type" : "string", "enum" : [ "b", "i" ] }, "Timeline" : { "description" : "A read-only vertical timeline / activity feed: a chronological list of TimelineItems, each a dot on a vertical rail with a title, optional description, timestamp label and icon.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Timeline" }, "id" : { "type" : "string" }, "items" : { "type" : "array", "items" : { "$ref" : "#/$defs/TimelineItem" } }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TimelineItem" : { "type" : "object", "properties" : { "id" : { "type" : "string" }, "title" : { "type" : "string" }, "description" : { "type" : "string" }, "timestamp" : { "type" : "string" }, "icon" : { "type" : "string" }, "color" : { "type" : "string" }, "actionId" : { "type" : "string" } } }, "Tooltip" : { "description" : "Wraps a component and shows explanatory text when the user hovers or focuses it.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Tooltip" }, "text" : { "type" : "string" }, "wrapped" : { "$ref" : "#/$defs/Component" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "TrendChart" : { "description" : "A read-only lightweight line/area chart: a single series of values plotted as an SVG line (optionally area-filled), with optional x-axis labels, min/max markers and a hover tooltip.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "TrendChart" }, "id" : { "type" : "string" }, "title" : { "type" : "string" }, "values" : { "type" : "array", "items" : { "type" : "number" } }, "labels" : { "type" : "array", "items" : { "type" : "string" } }, "color" : { "type" : "string" }, "area" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Trigger" : { "description" : "One of the Trigger implementations.", "oneOf" : [ { "$ref" : "#/$defs/AutoSaveTrigger" }, { "$ref" : "#/$defs/OnCustomEventTrigger" }, { "$ref" : "#/$defs/OnErrorTrigger" }, { "$ref" : "#/$defs/OnLoadTrigger" }, { "$ref" : "#/$defs/OnSuccessTrigger" }, { "$ref" : "#/$defs/OnValueChangeTrigger" } ] }, "UserTrigger" : { "description" : "One of the UserTrigger implementations.", "oneOf" : [ { "$ref" : "#/$defs/Button" }, { "$ref" : "#/$defs/ButtonGroup" } ] }, "VerticalAlignment" : { "type" : "string", "enum" : [ "START", "CENTER", "END", "BETWEEN", "AROUND", "EVENLY", "BASELINE" ] }, "VerticalLayout" : { "description" : "Stacks its content vertically, with optional spacing, padding and alignment (flexGrows gives each child its share of the height).", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "VerticalLayout" }, "id" : { "type" : "string" }, "content" : { "type" : "array", "items" : { "$ref" : "#/$defs/Component" } }, "spacing" : { "type" : "boolean" }, "padding" : { "type" : "boolean" }, "margin" : { "type" : "boolean" }, "spacingVariant" : { "$ref" : "#/$defs/SpacingVariant" }, "horizontalAlignment" : { "$ref" : "#/$defs/HorizontalAlignment" }, "justification" : { "$ref" : "#/$defs/HorizontalLayoutJustification" }, "wrap" : { "type" : "boolean" }, "flexGrows" : { "type" : "array", "items" : { "type" : "integer" } }, "fullWidth" : { "type" : "boolean" }, "hiddenOverflow" : { "type" : "boolean" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "VirtualList" : { "description" : "A lazily rendered, scrollable list of components that loads pages on demand.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "VirtualList" }, "page" : { "$ref" : "#/$defs/Page" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } }, "Workflow" : { "description" : "A workflow-definition editor component. value is the JSON WorkflowDefinition string.", "type" : "object", "required" : [ "type" ], "properties" : { "type" : { "type" : "string", "const" : "Workflow" }, "value" : { "type" : "string" }, "style" : { "type" : "string" }, "cssClasses" : { "type" : "string" }, "note" : { "type" : "string", "description" : "A design note: what this piece of the screen is meant to do. For the people and agents reading the file (the visual editor puts notes in the prompts it writes); never rendered." }, "eyesOnly" : { "$ref" : "#/$defs/Access", "description" : "Who may SEE this component: removed for a caller whose token does not satisfy it (roles/groups/scopes/permissions — AND across, OR within). Decided on the server." }, "readOnlyUnless" : { "$ref" : "#/$defs/Access", "description" : "Read-only (with every field under it) unless the caller satisfies it; the server also ignores the client's value for a locked field." }, "disabledUnless" : { "$ref" : "#/$defs/Access", "description" : "Disabled unless the caller satisfies it (a FormField, which has no disabled state, becomes read-only)." } } } } }