{
  "name": "slex-component-catalog",
  "packageName": "slexkit",
  "version": "0.4.0",
  "schemaVersion": "2026-06",
  "protocolVersion": "0.1",
  "componentCount": 28,
  "components": [
    {
      "type": "accordion",
      "category": "Disclosure",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Accordion",
      "summary": "Expandable grouped panels.",
      "description": "Use accordion to reveal one or more sections from a compact list of panels.",
      "props": {
        "value": {
          "type": "string | string[]",
          "dynamic": true,
          "description": "Current expanded item value; use an array when multiple is true."
        },
        "multiple": {
          "type": "boolean",
          "default": false,
          "description": "Allow multiple items to be expanded at the same time."
        },
        "items": {
          "type": "array",
          "description": "Panel definitions with value, label, content, and optional icon."
        },
        "items[].icon": {
          "type": "string",
          "description": "Icon name shown before an item trigger label."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when expanded items change."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_accordion_typical",
            "layout": {
              "accordion:faq": {
                "multiple": true,
                "value": [
                  "install"
                ],
                "items": [
                  {
                    "value": "install",
                    "label": "Install",
                    "icon": "download-simple",
                    "content": "Prepare dependencies."
                  },
                  {
                    "value": "review",
                    "label": "Review",
                    "icon": "check-circle",
                    "content": "Check the result."
                  },
                  {
                    "value": "ship",
                    "label": "Ship",
                    "icon": "rocket-launch",
                    "content": "Publish the change."
                  }
                ]
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/accordion",
        "anchors": {
          "api": "accordion-api-reference",
          "examples": "accordion-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "Current expanded item value; use an array when multiple is true."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "multiple": {
            "type": "boolean",
            "description": "Allow multiple items to be expanded at the same time.",
            "default": false
          },
          "items": {
            "type": "array",
            "description": "Panel definitions with value, label, content, and optional icon."
          },
          "items[].icon": {
            "type": "string",
            "description": "Icon name shown before an item trigger label."
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when expanded items change."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "ff1be273"
    },
    {
      "type": "badge",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Badge",
      "summary": "Compact label for status or classification.",
      "description": "Use badge to annotate nearby content with a short semantic label.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Badge text."
        },
        "text": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for label."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the badge label."
        },
        "tone": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger",
            "muted"
          ],
          "default": "info",
          "description": "Semantic tone applied to the badge."
        },
        "variant": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger",
            "muted"
          ],
          "description": "Alias for tone."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_badge_typical",
            "layout": {
              "row:badges": {
                "badge:ready": {
                  "label": "ready",
                  "icon": "check-circle",
                  "tone": "success"
                },
                "badge:pending": {
                  "label": "pending",
                  "tone": "warning"
                },
                "badge:info": {
                  "label": "info",
                  "tone": "info"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/badge",
        "anchors": {
          "api": "badge-api-reference",
          "examples": "badge-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Badge text."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "text": {
            "type": "string",
            "description": "Alias for label."
          },
          "$text": {
            "type": "string",
            "description": "Dynamic expression for 'text'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for label."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the badge label."
          },
          "tone": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger",
              "muted"
            ],
            "description": "Semantic tone applied to the badge.",
            "default": "info"
          },
          "variant": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger",
              "muted"
            ],
            "description": "Alias for tone."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "eece8f49"
    },
    {
      "type": "button",
      "category": "Action",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Button",
      "summary": "Action trigger.",
      "description": "Use button for explicit actions in interactive SlexKit layouts.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Visible button text and accessible name."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the label."
        },
        "iconOnly": {
          "type": "boolean",
          "default": false,
          "description": "Show only the icon while retaining label as the accessible name."
        },
        "variant": {
          "type": "string",
          "values": [
            "primary",
            "secondary",
            "danger",
            "ghost"
          ],
          "default": "primary",
          "description": "Semantic action variant."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable the action."
        },
        "href": {
          "type": "string",
          "dynamic": true,
          "description": "Render the button surface as a link to this URL."
        },
        "target": {
          "type": "string",
          "description": "Link target used when href is present."
        },
        "title": {
          "type": "string",
          "dynamic": true,
          "description": "Tooltip and accessible-label fallback."
        },
        "selected": {
          "type": "boolean",
          "dynamic": true,
          "description": "Render the icon in its selected visual state."
        },
        "active": {
          "type": "boolean",
          "dynamic": true,
          "description": "Render the icon in its active visual state."
        },
        "pressed": {
          "type": "boolean",
          "dynamic": true,
          "description": "Expose pressed state and render the selected icon style."
        },
        "onclick": {
          "type": "write-expression",
          "description": "Write expression invoked when the button is clicked."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_button_typical",
            "layout": {
              "row:actions": {
                "button:save": {
                  "label": "Save",
                  "icon": "floppy-disk",
                  "variant": "primary"
                },
                "button:cancel": {
                  "label": "Cancel",
                  "variant": "secondary"
                },
                "button:delete": {
                  "label": "Delete",
                  "variant": "danger"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/button",
        "anchors": {
          "api": "button-api-reference",
          "examples": "button-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Visible button text and accessible name."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the label."
          },
          "iconOnly": {
            "type": "boolean",
            "description": "Show only the icon while retaining label as the accessible name.",
            "default": false
          },
          "variant": {
            "enum": [
              "primary",
              "secondary",
              "danger",
              "ghost"
            ],
            "description": "Semantic action variant.",
            "default": "primary"
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the action.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "href": {
            "type": "string",
            "description": "Render the button surface as a link to this URL."
          },
          "$href": {
            "type": "string",
            "description": "Dynamic expression for 'href'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "target": {
            "type": "string",
            "description": "Link target used when href is present."
          },
          "title": {
            "type": "string",
            "description": "Tooltip and accessible-label fallback."
          },
          "$title": {
            "type": "string",
            "description": "Dynamic expression for 'title'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "selected": {
            "type": "boolean",
            "description": "Render the icon in its selected visual state."
          },
          "$selected": {
            "type": "string",
            "description": "Dynamic expression for 'selected'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "active": {
            "type": "boolean",
            "description": "Render the icon in its active visual state."
          },
          "$active": {
            "type": "string",
            "description": "Dynamic expression for 'active'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "pressed": {
            "type": "boolean",
            "description": "Expose pressed state and render the selected icon style."
          },
          "$pressed": {
            "type": "string",
            "description": "Dynamic expression for 'pressed'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "onclick": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when the button is clicked."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "3bd71fe1"
    },
    {
      "type": "callout",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Callout",
      "summary": "Highlighted contextual message.",
      "description": "Use callout for notes, warnings, and other contextual blocks.",
      "props": {
        "title": {
          "type": "string",
          "dynamic": true,
          "description": "Callout title."
        },
        "heading": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for title."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for title."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the title."
        },
        "text": {
          "type": "string",
          "dynamic": true,
          "description": "Callout body text."
        },
        "message": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "tone": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger"
          ],
          "default": "info",
          "description": "Semantic tone for the callout."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_callout_typical",
            "layout": {
              "callout:notice": {
                "tone": "info",
                "title": "Notice",
                "icon": "info",
                "text": "Use callout for information that should stand out."
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/callout",
        "anchors": {
          "api": "callout-api-reference",
          "examples": "callout-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "title": {
            "type": "string",
            "description": "Callout title."
          },
          "$title": {
            "type": "string",
            "description": "Dynamic expression for 'title'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "heading": {
            "type": "string",
            "description": "Alias for title."
          },
          "$heading": {
            "type": "string",
            "description": "Dynamic expression for 'heading'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Alias for title."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the title."
          },
          "text": {
            "type": "string",
            "description": "Callout body text."
          },
          "$text": {
            "type": "string",
            "description": "Dynamic expression for 'text'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "message": {
            "type": "string",
            "description": "Alias for text."
          },
          "$message": {
            "type": "string",
            "description": "Dynamic expression for 'message'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for text."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "tone": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger"
            ],
            "description": "Semantic tone for the callout.",
            "default": "info"
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "0fee87ac"
    },
    {
      "type": "card",
      "category": "Layout",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Card",
      "summary": "Grouping container for related content.",
      "description": "Use card to group related content on a framed surface.",
      "props": {
        "title": {
          "type": "string",
          "dynamic": true,
          "description": "Card title."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the title."
        },
        "tone": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger",
            "muted"
          ],
          "description": "Optional semantic tone for the card surface."
        },
        "variant": {
          "type": "string",
          "values": [
            "tool"
          ],
          "description": "Use tool for ToolHost input cards with compact chrome."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_card_typical",
            "layout": {
              "card:metrics": {
                "title": "Metrics",
                "icon": "chart-bar",
                "grid:items": {
                  "columns": 2,
                  "stat:requests": {
                    "label": "Requests",
                    "value": "1.2k",
                    "unit": "/min"
                  },
                  "stat:latency": {
                    "label": "Latency",
                    "value": "42",
                    "unit": "ms"
                  }
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/card",
        "anchors": {
          "api": "card-api-reference",
          "examples": "card-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "title": {
            "type": "string",
            "description": "Card title."
          },
          "$title": {
            "type": "string",
            "description": "Dynamic expression for 'title'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the title."
          },
          "tone": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger",
              "muted"
            ],
            "description": "Optional semantic tone for the card surface."
          },
          "variant": {
            "enum": [
              "tool"
            ],
            "description": "Use tool for ToolHost input cards with compact chrome."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "7dc2e68e"
    },
    {
      "type": "checkbox",
      "category": "Input",
      "status": "ready",
      "state": "checked",
      "since": "0.1.0",
      "title": "Checkbox",
      "summary": "Boolean checkbox input.",
      "description": "Use checkbox for binary choices that can be toggled independently.",
      "props": {
        "checked": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Checked state."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Checkbox label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the visible label."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable the checkbox."
        },
        "haptic": {
          "type": "boolean",
          "default": true,
          "description": "Enable vibration feedback on supported devices."
        },
        "haptics": {
          "type": "boolean",
          "default": true,
          "description": "Alias for haptic."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when checked state changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_checkbox_typical",
            "layout": {
              "checkbox:agree": {
                "checked": true,
                "label": "I agree",
                "icon": "handshake"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/checkbox",
        "anchors": {
          "api": "checkbox-api-reference",
          "examples": "checkbox-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "checked": {
            "type": "boolean",
            "description": "Checked state.",
            "default": false
          },
          "$checked": {
            "type": "string",
            "description": "Dynamic expression for 'checked'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Checkbox label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the visible label."
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the checkbox.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "haptic": {
            "type": "boolean",
            "description": "Enable vibration feedback on supported devices.",
            "default": true
          },
          "haptics": {
            "type": "boolean",
            "description": "Alias for haptic.",
            "default": true
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when checked state changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "f02a8e1f"
    },
    {
      "type": "code-block",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Code Block",
      "summary": "Formatted code or log block.",
      "description": "Use code-block for static code samples, configuration snippets, and logs.",
      "props": {
        "code": {
          "type": "string",
          "dynamic": true,
          "description": "Code text content."
        },
        "source": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for code."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for code."
        },
        "language": {
          "type": "string",
          "description": "Language label."
        },
        "title": {
          "type": "string",
          "description": "Code block title."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the title."
        },
        "lineNumbers": {
          "type": "boolean",
          "default": true,
          "description": "Show line numbers."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_code_block_typical",
            "layout": {
              "code-block:config": {
                "title": "Config",
                "icon": "code",
                "language": "js",
                "code": "export const enabled = true;"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/code-block",
        "anchors": {
          "api": "code-block-api-reference",
          "examples": "code-block-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "code": {
            "type": "string",
            "description": "Code text content."
          },
          "$code": {
            "type": "string",
            "description": "Dynamic expression for 'code'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "source": {
            "type": "string",
            "description": "Alias for code."
          },
          "$source": {
            "type": "string",
            "description": "Dynamic expression for 'source'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for code."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "language": {
            "type": "string",
            "description": "Language label."
          },
          "title": {
            "type": "string",
            "description": "Code block title."
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the title."
          },
          "lineNumbers": {
            "type": "boolean",
            "description": "Show line numbers.",
            "default": true
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "70ce858c"
    },
    {
      "type": "collapsible",
      "category": "Disclosure",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Collapsible",
      "summary": "Single expandable region.",
      "description": "Use collapsible to show or hide one related content region.",
      "props": {
        "open": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Expanded state."
        },
        "trigger": {
          "type": "string",
          "dynamic": true,
          "description": "Trigger button text."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before trigger text."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Static body content."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when open state changes."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_collapsible_typical",
            "layout": {
              "collapsible:more": {
                "open": true,
                "trigger": "Details",
                "icon": "caret-circle-down",
                "content": "This secondary content can be collapsed."
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/collapsible",
        "anchors": {
          "api": "collapsible-api-reference",
          "examples": "collapsible-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "open": {
            "type": "boolean",
            "description": "Expanded state.",
            "default": false
          },
          "$open": {
            "type": "string",
            "description": "Dynamic expression for 'open'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "trigger": {
            "type": "string",
            "description": "Trigger button text."
          },
          "$trigger": {
            "type": "string",
            "description": "Dynamic expression for 'trigger'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before trigger text."
          },
          "content": {
            "type": "string",
            "description": "Static body content."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when open state changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "fbb14382"
    },
    {
      "type": "column",
      "category": "Layout",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Column",
      "summary": "Vertical layout container.",
      "description": "Use column to stack child components vertically in field order.",
      "props": {},
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_column_typical",
            "layout": {
              "column:form": {
                "input:name": {
                  "placeholder": "Name"
                },
                "input:email": {
                  "placeholder": "Email"
                },
                "button:save": {
                  "label": "Save"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/column",
        "anchors": {
          "api": "column-api-reference",
          "examples": "column-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {},
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "764d30da"
    },
    {
      "type": "divider",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Divider",
      "summary": "Visual separator.",
      "description": "Use divider to separate related regions, optionally with a label.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Text shown in the divider."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the label."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_divider_typical",
            "layout": {
              "column:content": {
                "text:top": {
                  "text": "Above"
                },
                "divider:line": {
                  "label": "Divider",
                  "icon": "flag"
                },
                "text:bottom": {
                  "text": "Below"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/divider",
        "anchors": {
          "api": "divider-api-reference",
          "examples": "divider-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Text shown in the divider."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the label."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "447bf44a"
    },
    {
      "type": "formula",
      "category": "Display",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Formula",
      "summary": "Reactive KaTeX formula display.",
      "description": "Use formula to render SlexKit state and computed values through KaTeX.",
      "props": {
        "tex": {
          "type": "string",
          "dynamic": true,
          "description": "KaTeX source to render."
        },
        "formula": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for tex."
        },
        "value": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for tex."
        },
        "displayMode": {
          "type": "boolean",
          "default": true,
          "description": "Render as display math when true; inline math when false."
        },
        "display": {
          "type": "boolean",
          "default": true,
          "description": "Alias for displayMode."
        },
        "block": {
          "type": "boolean",
          "default": true,
          "description": "Alias for displayMode."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_formula_typical",
            "g": {
              "r": 10000,
              "c": 100,
              "fc": 159.15
            },
            "layout": {
              "formula:cutoff": {
                "$tex": "'f_c = \\\\frac{1}{2\\\\pi RC} = ' + g.fc + '\\\\text{ Hz}'"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/formula",
        "anchors": {
          "api": "formula-api-reference",
          "examples": "formula-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "tex": {
            "type": "string",
            "description": "KaTeX source to render."
          },
          "$tex": {
            "type": "string",
            "description": "Dynamic expression for 'tex'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "formula": {
            "type": "string",
            "description": "Alias for tex."
          },
          "$formula": {
            "type": "string",
            "description": "Dynamic expression for 'formula'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "value": {
            "type": "string",
            "description": "Alias for tex."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "displayMode": {
            "type": "boolean",
            "description": "Render as display math when true; inline math when false.",
            "default": true
          },
          "display": {
            "type": "boolean",
            "description": "Alias for displayMode.",
            "default": true
          },
          "block": {
            "type": "boolean",
            "description": "Alias for displayMode.",
            "default": true
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "61a9d4ee"
    },
    {
      "type": "grid",
      "category": "Layout",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Grid",
      "summary": "Responsive grid container.",
      "description": "Use grid to arrange child components in responsive columns.",
      "props": {
        "columns": {
          "type": "number",
          "default": 1,
          "dynamic": true,
          "description": "Base column count."
        },
        "smColumns": {
          "type": "number",
          "dynamic": true,
          "description": "Column count at the small breakpoint."
        },
        "mdColumns": {
          "type": "number",
          "dynamic": true,
          "description": "Column count at the medium breakpoint."
        },
        "lgColumns": {
          "type": "number",
          "dynamic": true,
          "description": "Column count at the large breakpoint."
        },
        "xlColumns": {
          "type": "number",
          "dynamic": true,
          "description": "Column count at the extra-large breakpoint."
        },
        "gap": {
          "type": "string",
          "dynamic": true,
          "description": "Spacing between grid items."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_grid_typical",
            "layout": {
              "grid:stats": {
                "columns": 1,
                "mdColumns": 3,
                "stat:a": {
                  "label": "Requests",
                  "value": "1.2k"
                },
                "stat:b": {
                  "label": "Success",
                  "value": "98%"
                },
                "stat:c": {
                  "label": "Errors",
                  "value": "3"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/grid",
        "anchors": {
          "api": "grid-api-reference",
          "examples": "grid-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "columns": {
            "type": "number",
            "description": "Base column count.",
            "default": 1
          },
          "$columns": {
            "type": "string",
            "description": "Dynamic expression for 'columns'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "smColumns": {
            "type": "number",
            "description": "Column count at the small breakpoint."
          },
          "$smColumns": {
            "type": "string",
            "description": "Dynamic expression for 'smColumns'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "mdColumns": {
            "type": "number",
            "description": "Column count at the medium breakpoint."
          },
          "$mdColumns": {
            "type": "string",
            "description": "Dynamic expression for 'mdColumns'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "lgColumns": {
            "type": "number",
            "description": "Column count at the large breakpoint."
          },
          "$lgColumns": {
            "type": "string",
            "description": "Dynamic expression for 'lgColumns'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "xlColumns": {
            "type": "number",
            "description": "Column count at the extra-large breakpoint."
          },
          "$xlColumns": {
            "type": "string",
            "description": "Dynamic expression for 'xlColumns'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "gap": {
            "type": "string",
            "description": "Spacing between grid items."
          },
          "$gap": {
            "type": "string",
            "description": "Dynamic expression for 'gap'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "912458b7"
    },
    {
      "type": "icon",
      "category": "Component",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Icon",
      "summary": "Shared icon field capability.",
      "description": "Icon is a shared field capability, not an independent icon component type.",
      "props": {
        "icon": {
          "type": "string",
          "description": "Icon name resolved through the global icon manager."
        },
        "iconOnly": {
          "type": "boolean",
          "description": "Render only the icon while retaining an accessible label where supported."
        },
        "items[].icon": {
          "type": "string",
          "description": "Accordion item trigger icon."
        },
        "options[].icon": {
          "type": "string",
          "description": "Select or radio option icon."
        },
        "columns[].icon": {
          "type": "string",
          "description": "Table column header icon."
        },
        "tabs[].icon": {
          "type": "string",
          "description": "Tab trigger icon."
        },
        "tabs[].iconOnly": {
          "type": "boolean",
          "description": "Tab trigger icon-only mode."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Icon field usage",
          "source": {
            "slex": "0.1",
            "namespace": "spec_button_basic",
            "layout": {
              "button:demo": {
                "label": "Settings",
                "icon": "gear-six",
                "iconOnly": true,
                "variant": "ghost"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/icon",
        "anchors": {
          "api": "icon-api-reference",
          "examples": "icon-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "icon": {
            "type": "string",
            "description": "Icon name resolved through the global icon manager."
          },
          "iconOnly": {
            "type": "boolean",
            "description": "Render only the icon while retaining an accessible label where supported."
          },
          "items[].icon": {
            "type": "string",
            "description": "Accordion item trigger icon."
          },
          "options[].icon": {
            "type": "string",
            "description": "Select or radio option icon."
          },
          "columns[].icon": {
            "type": "string",
            "description": "Table column header icon."
          },
          "tabs[].icon": {
            "type": "string",
            "description": "Tab trigger icon."
          },
          "tabs[].iconOnly": {
            "type": "boolean",
            "description": "Tab trigger icon-only mode."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "0b7a18c9"
    },
    {
      "type": "input",
      "category": "Input",
      "status": "ready",
      "state": "value",
      "since": "0.1.0",
      "title": "Input",
      "summary": "Text or engineering-value input.",
      "description": "Use input for editable text and engineering numeric values.",
      "props": {
        "value": {
          "type": "string",
          "dynamic": true,
          "description": "Current input value."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Input label."
        },
        "unit": {
          "type": "string",
          "dynamic": true,
          "description": "Trailing unit text."
        },
        "description": {
          "type": "string",
          "dynamic": true,
          "description": "Assistive description below the input."
        },
        "help": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for description."
        },
        "hint": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for description."
        },
        "error": {
          "type": "string",
          "dynamic": true,
          "description": "Error text shown below the input and linked with aria-describedby."
        },
        "errorMessage": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for error."
        },
        "invalid": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Mark the input as invalid with aria-invalid and error styling."
        },
        "placeholder": {
          "type": "string",
          "description": "Placeholder text for empty values."
        },
        "type": {
          "type": "string",
          "default": "text",
          "description": "Input value kind; use engineering for parsed engineering values."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable editing."
        },
        "readonly": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Make the input read-only."
        },
        "readOnly": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Alias for readonly."
        },
        "required": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Mark the input as required."
        },
        "id": {
          "type": "string",
          "description": "Native input id; defaults to a stable id derived from the component name."
        },
        "name": {
          "type": "string",
          "description": "Native input name attribute."
        },
        "min": {
          "type": "string | number",
          "dynamic": true,
          "description": "Minimum value used by numeric input controls."
        },
        "max": {
          "type": "string | number",
          "dynamic": true,
          "description": "Maximum value used by numeric input controls."
        },
        "step": {
          "type": "string | number",
          "dynamic": true,
          "description": "Step size used by numeric input controls."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when the value changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_input_typical",
            "layout": {
              "input:name": {
                "label": "Project",
                "value": "SlexKit",
                "placeholder": "Enter name",
                "description": "Visible labels keep form fields scannable."
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/input",
        "anchors": {
          "api": "input-api-reference",
          "examples": "input-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "value": {
            "type": "string",
            "description": "Current input value."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Input label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "unit": {
            "type": "string",
            "description": "Trailing unit text."
          },
          "$unit": {
            "type": "string",
            "description": "Dynamic expression for 'unit'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "description": {
            "type": "string",
            "description": "Assistive description below the input."
          },
          "$description": {
            "type": "string",
            "description": "Dynamic expression for 'description'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "help": {
            "type": "string",
            "description": "Alias for description."
          },
          "$help": {
            "type": "string",
            "description": "Dynamic expression for 'help'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "hint": {
            "type": "string",
            "description": "Alias for description."
          },
          "$hint": {
            "type": "string",
            "description": "Dynamic expression for 'hint'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "error": {
            "type": "string",
            "description": "Error text shown below the input and linked with aria-describedby."
          },
          "$error": {
            "type": "string",
            "description": "Dynamic expression for 'error'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "errorMessage": {
            "type": "string",
            "description": "Alias for error."
          },
          "$errorMessage": {
            "type": "string",
            "description": "Dynamic expression for 'errorMessage'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "invalid": {
            "type": "boolean",
            "description": "Mark the input as invalid with aria-invalid and error styling.",
            "default": false
          },
          "$invalid": {
            "type": "string",
            "description": "Dynamic expression for 'invalid'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder text for empty values."
          },
          "type": {
            "type": "string",
            "description": "Input value kind; use engineering for parsed engineering values.",
            "default": "text"
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable editing.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "readonly": {
            "type": "boolean",
            "description": "Make the input read-only.",
            "default": false
          },
          "$readonly": {
            "type": "string",
            "description": "Dynamic expression for 'readonly'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "readOnly": {
            "type": "boolean",
            "description": "Alias for readonly.",
            "default": false
          },
          "$readOnly": {
            "type": "string",
            "description": "Dynamic expression for 'readOnly'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "required": {
            "type": "boolean",
            "description": "Mark the input as required.",
            "default": false
          },
          "$required": {
            "type": "string",
            "description": "Dynamic expression for 'required'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "id": {
            "type": "string",
            "description": "Native input id; defaults to a stable id derived from the component name."
          },
          "name": {
            "type": "string",
            "description": "Native input name attribute."
          },
          "min": {
            "type": [
              "string",
              "number"
            ],
            "description": "Minimum value used by numeric input controls."
          },
          "$min": {
            "type": "string",
            "description": "Dynamic expression for 'min'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "max": {
            "type": [
              "string",
              "number"
            ],
            "description": "Maximum value used by numeric input controls."
          },
          "$max": {
            "type": "string",
            "description": "Dynamic expression for 'max'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "step": {
            "type": [
              "string",
              "number"
            ],
            "description": "Step size used by numeric input controls."
          },
          "$step": {
            "type": "string",
            "description": "Dynamic expression for 'step'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when the value changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "69ec164d"
    },
    {
      "type": "link",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Link",
      "summary": "Inline navigation link.",
      "description": "Use link to navigate to another page or resource.",
      "props": {
        "href": {
          "type": "string",
          "description": "Target URL."
        },
        "text": {
          "type": "string",
          "dynamic": true,
          "description": "Visible link text."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before link text."
        },
        "target": {
          "type": "string",
          "description": "Native link target attribute."
        },
        "variant": {
          "type": "string",
          "values": [
            "default",
            "muted"
          ],
          "default": "default",
          "description": "Link visual variant."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_link_typical",
            "layout": {
              "column:links": {
                "link:docs": {
                  "href": "/components",
                  "icon": "arrow-square-out",
                  "text": "View components"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/link",
        "anchors": {
          "api": "link-api-reference",
          "examples": "link-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "href": {
            "type": "string",
            "description": "Target URL."
          },
          "text": {
            "type": "string",
            "description": "Visible link text."
          },
          "$text": {
            "type": "string",
            "description": "Dynamic expression for 'text'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Alias for text."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for text."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before link text."
          },
          "target": {
            "type": "string",
            "description": "Native link target attribute."
          },
          "variant": {
            "enum": [
              "default",
              "muted"
            ],
            "description": "Link visual variant.",
            "default": "default"
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "1404518b"
    },
    {
      "type": "playground",
      "category": "Tooling",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Playground",
      "summary": "Interactive source preview.",
      "description": "Use playground in documentation surfaces to render editable SlexKit or Markdown examples.",
      "props": {
        "source": {
          "type": "object | string",
          "description": "SlexKit or Markdown source to preview."
        },
        "sourceType": {
          "type": "string",
          "values": [
            "slex",
            "markdown",
            "auto-markdown"
          ],
          "default": "slex",
          "description": "Source parser mode."
        },
        "title": {
          "type": "string",
          "description": "Playground title."
        },
        "previewAlign": {
          "type": "string",
          "values": [
            "center",
            "start"
          ],
          "default": "center",
          "description": "Vertical preview alignment in render mode."
        },
        "alignPreview": {
          "type": "string",
          "values": [
            "center",
            "start"
          ],
          "description": "Alias for previewAlign."
        },
        "previewPlacement": {
          "type": "string",
          "values": [
            "center",
            "start"
          ],
          "description": "Alias for previewAlign."
        },
        "previewMinHeight": {
          "type": "string",
          "description": "Minimum preview area height."
        },
        "previewMaxWidth": {
          "type": "string",
          "description": "Maximum preview content width."
        },
        "themeToggle": {
          "type": "boolean",
          "default": false,
          "description": "Show the theme toggle action."
        },
        "showThemeToggle": {
          "type": "boolean",
          "default": false,
          "description": "Alias for themeToggle."
        },
        "enableThemeToggle": {
          "type": "boolean",
          "default": false,
          "description": "Alias for themeToggle."
        },
        "themeLabel": {
          "type": "string",
          "description": "Accessible label for the theme toggle action."
        },
        "themeToggleLabel": {
          "type": "string",
          "description": "Alias for themeLabel."
        },
        "sourceTypeLabel": {
          "type": "string",
          "description": "Accessible label for the source type selector."
        },
        "copyLabel": {
          "type": "string",
          "description": "Accessible label for the copy source action."
        },
        "openWebLabel": {
          "type": "string",
          "description": "Accessible label for opening the source in the standalone playground."
        },
        "webUrl": {
          "type": "string",
          "description": "Standalone playground URL used by the open action."
        },
        "playgroundUrl": {
          "type": "string",
          "description": "Alias for webUrl."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_playground_typical",
            "layout": {
              "playground:demo": {
                "title": "Stat Playground",
                "previewMinHeight": "180px",
                "source": {
                  "namespace": "inner_stat_demo",
                  "layout": {
                    "stat:value": {
                      "label": "Requests",
                      "value": "1.2k",
                      "unit": "/min"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/playground",
        "anchors": {
          "api": "playground-api-reference",
          "examples": "playground-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "source": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": true
              },
              {
                "type": "string"
              }
            ],
            "description": "SlexKit or Markdown source to preview."
          },
          "sourceType": {
            "enum": [
              "slex",
              "markdown",
              "auto-markdown"
            ],
            "description": "Source parser mode.",
            "default": "slex"
          },
          "title": {
            "type": "string",
            "description": "Playground title."
          },
          "previewAlign": {
            "enum": [
              "center",
              "start"
            ],
            "description": "Vertical preview alignment in render mode.",
            "default": "center"
          },
          "alignPreview": {
            "enum": [
              "center",
              "start"
            ],
            "description": "Alias for previewAlign."
          },
          "previewPlacement": {
            "enum": [
              "center",
              "start"
            ],
            "description": "Alias for previewAlign."
          },
          "previewMinHeight": {
            "type": "string",
            "description": "Minimum preview area height."
          },
          "previewMaxWidth": {
            "type": "string",
            "description": "Maximum preview content width."
          },
          "themeToggle": {
            "type": "boolean",
            "description": "Show the theme toggle action.",
            "default": false
          },
          "showThemeToggle": {
            "type": "boolean",
            "description": "Alias for themeToggle.",
            "default": false
          },
          "enableThemeToggle": {
            "type": "boolean",
            "description": "Alias for themeToggle.",
            "default": false
          },
          "themeLabel": {
            "type": "string",
            "description": "Accessible label for the theme toggle action."
          },
          "themeToggleLabel": {
            "type": "string",
            "description": "Alias for themeLabel."
          },
          "sourceTypeLabel": {
            "type": "string",
            "description": "Accessible label for the source type selector."
          },
          "copyLabel": {
            "type": "string",
            "description": "Accessible label for the copy source action."
          },
          "openWebLabel": {
            "type": "string",
            "description": "Accessible label for opening the source in the standalone playground."
          },
          "webUrl": {
            "type": "string",
            "description": "Standalone playground URL used by the open action."
          },
          "playgroundUrl": {
            "type": "string",
            "description": "Alias for webUrl."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "7d8e1d36"
    },
    {
      "type": "progress",
      "category": "Feedback",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Progress",
      "summary": "Progress bar.",
      "description": "Use progress to show completion as a percentage.",
      "props": {
        "value": {
          "type": "number",
          "default": 0,
          "dynamic": true,
          "description": "Progress percentage from 0 to 100."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Progress label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the label."
        },
        "indeterminate": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Render an indeterminate progress state without aria-valuenow."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_progress_typical",
            "layout": {
              "progress:build": {
                "label": "Build progress",
                "icon": "gear-six",
                "value": 64
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/progress",
        "anchors": {
          "api": "progress-api-reference",
          "examples": "progress-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "value": {
            "type": "number",
            "description": "Progress percentage from 0 to 100.",
            "default": 0
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Progress label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the label."
          },
          "indeterminate": {
            "type": "boolean",
            "description": "Render an indeterminate progress state without aria-valuenow.",
            "default": false
          },
          "$indeterminate": {
            "type": "string",
            "description": "Dynamic expression for 'indeterminate'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "706fde5e"
    },
    {
      "type": "radio-group",
      "category": "Input",
      "status": "ready",
      "state": "value",
      "since": "0.1.0",
      "title": "Radio Group",
      "summary": "Single-choice option group.",
      "description": "Use radio-group for one-of-many choices.",
      "props": {
        "value": {
          "type": "string",
          "dynamic": true,
          "description": "Current selected value."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Group label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the group label."
        },
        "options": {
          "type": "array",
          "description": "Options with label, value, and optional icon."
        },
        "options[].icon": {
          "type": "string",
          "description": "Icon name shown before a single option label."
        },
        "options[].description": {
          "type": "string",
          "description": "Secondary text shown below the option label."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable every radio option in the group."
        },
        "orientation": {
          "type": "string",
          "values": [
            "vertical",
            "horizontal"
          ],
          "default": "vertical",
          "description": "Radio option layout direction."
        },
        "variant": {
          "type": "string",
          "values": [
            "list"
          ],
          "description": "Use list for full-row option surfaces in ToolHost decision cards."
        },
        "haptic": {
          "type": "boolean",
          "default": true,
          "description": "Enable vibration feedback on supported devices."
        },
        "haptics": {
          "type": "boolean",
          "default": true,
          "description": "Alias for haptic."
        },
        "name": {
          "type": "string",
          "description": "Native radio group name shared by options."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when selection changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_radio_group_typical",
            "layout": {
              "radio-group:mode": {
                "label": "Mode",
                "icon": "sliders-horizontal",
                "value": "auto",
                "options": [
                  {
                    "label": "Auto",
                    "value": "auto",
                    "icon": "sparkle"
                  },
                  {
                    "label": "Manual",
                    "value": "manual",
                    "icon": "wrench"
                  }
                ]
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/radio-group",
        "anchors": {
          "api": "radio-group-api-reference",
          "examples": "radio-group-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "value": {
            "type": "string",
            "description": "Current selected value."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Group label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the group label."
          },
          "options": {
            "type": "array",
            "description": "Options with label, value, and optional icon."
          },
          "options[].icon": {
            "type": "string",
            "description": "Icon name shown before a single option label."
          },
          "options[].description": {
            "type": "string",
            "description": "Secondary text shown below the option label."
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable every radio option in the group.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "orientation": {
            "enum": [
              "vertical",
              "horizontal"
            ],
            "description": "Radio option layout direction.",
            "default": "vertical"
          },
          "variant": {
            "enum": [
              "list"
            ],
            "description": "Use list for full-row option surfaces in ToolHost decision cards."
          },
          "haptic": {
            "type": "boolean",
            "description": "Enable vibration feedback on supported devices.",
            "default": true
          },
          "haptics": {
            "type": "boolean",
            "description": "Alias for haptic.",
            "default": true
          },
          "name": {
            "type": "string",
            "description": "Native radio group name shared by options."
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when selection changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "e5ab8c91"
    },
    {
      "type": "row",
      "category": "Layout",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Row",
      "summary": "Horizontal layout container.",
      "description": "Use row to place child components horizontally in field order.",
      "props": {
        "justify": {
          "type": "string",
          "values": [
            "start",
            "center",
            "end",
            "space-between",
            "space-around"
          ],
          "default": "start",
          "description": "Main-axis distribution."
        },
        "align": {
          "type": "string",
          "values": [
            "start",
            "center",
            "end",
            "baseline",
            "stretch"
          ],
          "default": "center",
          "description": "Cross-axis alignment."
        },
        "gap": {
          "type": "string",
          "dynamic": true,
          "description": "Spacing between children."
        },
        "variant": {
          "type": "string",
          "values": [
            "actions"
          ],
          "description": "Use actions for compact ToolHost action rows."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_row_typical",
            "layout": {
              "row:toolbar": {
                "justify": "space-between",
                "text:title": {
                  "text": "Runtime status"
                },
                "button:refresh": {
                  "label": "Refresh"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/row",
        "anchors": {
          "api": "row-api-reference",
          "examples": "row-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "justify": {
            "enum": [
              "start",
              "center",
              "end",
              "space-between",
              "space-around"
            ],
            "description": "Main-axis distribution.",
            "default": "start"
          },
          "align": {
            "enum": [
              "start",
              "center",
              "end",
              "baseline",
              "stretch"
            ],
            "description": "Cross-axis alignment.",
            "default": "center"
          },
          "gap": {
            "type": "string",
            "description": "Spacing between children."
          },
          "$gap": {
            "type": "string",
            "description": "Dynamic expression for 'gap'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "variant": {
            "enum": [
              "actions"
            ],
            "description": "Use actions for compact ToolHost action rows."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "4c0190e0"
    },
    {
      "type": "section",
      "category": "Content",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Section",
      "summary": "Page section with optional heading chrome.",
      "description": "Use section to group page content with title, subtitle, and optional action link.",
      "props": {
        "title": {
          "type": "string",
          "dynamic": true,
          "description": "Section title."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the title."
        },
        "eyebrow": {
          "type": "string",
          "dynamic": true,
          "description": "Small label above the title."
        },
        "subtitle": {
          "type": "string",
          "dynamic": true,
          "description": "Subtitle text below the title."
        },
        "actionLabel": {
          "type": "string",
          "dynamic": true,
          "description": "Optional action link label."
        },
        "actionHref": {
          "type": "string",
          "description": "Optional action link target."
        }
      },
      "children": {
        "allowed": true,
        "description": "Nested component fields are rendered as child content in field order."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_section_typical",
            "layout": {
              "section:overview": {
                "eyebrow": "Dashboard",
                "title": "Runtime overview",
                "icon": "chart-bar",
                "subtitle": "This section groups the most important state.",
                "stat:latency": {
                  "label": "Latency",
                  "value": "42",
                  "unit": "ms"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/section",
        "anchors": {
          "api": "section-api-reference",
          "examples": "section-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "title": {
            "type": "string",
            "description": "Section title."
          },
          "$title": {
            "type": "string",
            "description": "Dynamic expression for 'title'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the title."
          },
          "eyebrow": {
            "type": "string",
            "description": "Small label above the title."
          },
          "$eyebrow": {
            "type": "string",
            "description": "Dynamic expression for 'eyebrow'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "subtitle": {
            "type": "string",
            "description": "Subtitle text below the title."
          },
          "$subtitle": {
            "type": "string",
            "description": "Dynamic expression for 'subtitle'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "actionLabel": {
            "type": "string",
            "description": "Optional action link label."
          },
          "$actionLabel": {
            "type": "string",
            "description": "Dynamic expression for 'actionLabel'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "actionHref": {
            "type": "string",
            "description": "Optional action link target."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "d2fe0297"
    },
    {
      "type": "select",
      "category": "Input",
      "status": "ready",
      "state": "value",
      "since": "0.1.0",
      "title": "Select",
      "summary": "Dropdown selection input.",
      "description": "Use select for compact single-choice selection from an option list.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Select label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the top label."
        },
        "value": {
          "type": "string",
          "dynamic": true,
          "description": "Current selected value."
        },
        "options": {
          "type": "array",
          "description": "Options with label, value, and optional icon."
        },
        "options[].icon": {
          "type": "string",
          "description": "Icon name shown before an option label."
        },
        "placeholder": {
          "type": "string",
          "description": "Placeholder shown when no value is selected."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable the select trigger and native select."
        },
        "required": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Require a non-placeholder value in the native select."
        },
        "variant": {
          "type": "string",
          "values": [
            "default",
            "toolbar"
          ],
          "default": "default",
          "description": "Select surface variant."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when selection changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_select_typical",
            "layout": {
              "select:env": {
                "label": "Environment",
                "icon": "server",
                "value": "prod",
                "options": [
                  {
                    "label": "Development",
                    "value": "dev",
                    "icon": "code"
                  },
                  {
                    "label": "Production",
                    "value": "prod",
                    "icon": "rocket-launch"
                  }
                ]
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/select",
        "anchors": {
          "api": "select-api-reference",
          "examples": "select-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Select label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the top label."
          },
          "value": {
            "type": "string",
            "description": "Current selected value."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "options": {
            "type": "array",
            "description": "Options with label, value, and optional icon."
          },
          "options[].icon": {
            "type": "string",
            "description": "Icon name shown before an option label."
          },
          "placeholder": {
            "type": "string",
            "description": "Placeholder shown when no value is selected."
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the select trigger and native select.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "required": {
            "type": "boolean",
            "description": "Require a non-placeholder value in the native select.",
            "default": false
          },
          "$required": {
            "type": "string",
            "description": "Dynamic expression for 'required'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "variant": {
            "enum": [
              "default",
              "toolbar"
            ],
            "description": "Select surface variant.",
            "default": "default"
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when selection changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "0636d6dd"
    },
    {
      "type": "slider",
      "category": "Input",
      "status": "ready",
      "state": "value",
      "since": "0.1.0",
      "title": "Slider",
      "summary": "Numeric range input.",
      "description": "Use slider for bounded numeric adjustments such as volume, brightness, or thresholds.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Slider label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the label."
        },
        "value": {
          "type": "number",
          "default": 0,
          "dynamic": true,
          "description": "Current numeric value."
        },
        "min": {
          "type": "number",
          "default": 0,
          "dynamic": true,
          "description": "Minimum value."
        },
        "max": {
          "type": "number",
          "default": 100,
          "dynamic": true,
          "description": "Maximum value."
        },
        "step": {
          "type": "number",
          "default": 1,
          "dynamic": true,
          "description": "Step interval."
        },
        "unit": {
          "type": "string",
          "dynamic": true,
          "description": "Unit shown after the value."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable the range input."
        },
        "orientation": {
          "type": "string",
          "values": [
            "horizontal",
            "vertical"
          ],
          "default": "horizontal",
          "description": "Slider orientation metadata used for styling."
        },
        "haptic": {
          "type": "boolean",
          "default": true,
          "description": "Enable vibration feedback on supported devices."
        },
        "haptics": {
          "type": "boolean",
          "default": true,
          "description": "Alias for haptic."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when the value changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_slider_typical",
            "layout": {
              "slider:volume": {
                "label": "Volume",
                "icon": "speaker-high",
                "value": 42,
                "min": 0,
                "max": 100,
                "step": 1,
                "unit": "%"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/slider",
        "anchors": {
          "api": "slider-api-reference",
          "examples": "slider-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Slider label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the label."
          },
          "value": {
            "type": "number",
            "description": "Current numeric value.",
            "default": 0
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "min": {
            "type": "number",
            "description": "Minimum value.",
            "default": 0
          },
          "$min": {
            "type": "string",
            "description": "Dynamic expression for 'min'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "max": {
            "type": "number",
            "description": "Maximum value.",
            "default": 100
          },
          "$max": {
            "type": "string",
            "description": "Dynamic expression for 'max'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "step": {
            "type": "number",
            "description": "Step interval.",
            "default": 1
          },
          "$step": {
            "type": "string",
            "description": "Dynamic expression for 'step'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "unit": {
            "type": "string",
            "description": "Unit shown after the value."
          },
          "$unit": {
            "type": "string",
            "description": "Dynamic expression for 'unit'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the range input.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "orientation": {
            "enum": [
              "horizontal",
              "vertical"
            ],
            "description": "Slider orientation metadata used for styling.",
            "default": "horizontal"
          },
          "haptic": {
            "type": "boolean",
            "description": "Enable vibration feedback on supported devices.",
            "default": true
          },
          "haptics": {
            "type": "boolean",
            "description": "Alias for haptic.",
            "default": true
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when the value changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "490f7f36"
    },
    {
      "type": "stat",
      "category": "Display",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Stat",
      "summary": "Metric display.",
      "description": "Use stat to present a labeled metric value with optional unit and semantic tone.",
      "props": {
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Metric label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the label."
        },
        "value": {
          "type": "string | number",
          "dynamic": true,
          "description": "Metric value."
        },
        "unit": {
          "type": "string",
          "dynamic": true,
          "description": "Unit shown after the value."
        },
        "tone": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger",
            "muted"
          ],
          "description": "Optional semantic tone."
        },
        "animateInitial": {
          "type": "boolean",
          "default": false,
          "description": "Animate the initial rendered value."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_stat_typical",
            "layout": {
              "grid:stats": {
                "columns": 2,
                "stat:requests": {
                  "label": "Requests",
                  "icon": "activity",
                  "value": "1.2k",
                  "unit": "/min"
                },
                "stat:success": {
                  "label": "Success",
                  "icon": "check-circle",
                  "value": "98.4",
                  "unit": "%",
                  "tone": "success"
                }
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/stat",
        "anchors": {
          "api": "stat-api-reference",
          "examples": "stat-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "label": {
            "type": "string",
            "description": "Metric label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the label."
          },
          "value": {
            "type": [
              "string",
              "number"
            ],
            "description": "Metric value."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "unit": {
            "type": "string",
            "description": "Unit shown after the value."
          },
          "$unit": {
            "type": "string",
            "description": "Dynamic expression for 'unit'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "tone": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger",
              "muted"
            ],
            "description": "Optional semantic tone."
          },
          "animateInitial": {
            "type": "boolean",
            "description": "Animate the initial rendered value.",
            "default": false
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "cd525fc5"
    },
    {
      "type": "switch",
      "category": "Input",
      "status": "ready",
      "state": "enabled",
      "since": "0.1.0",
      "title": "Switch",
      "summary": "Boolean switch input.",
      "description": "Use switch for an on/off setting.",
      "props": {
        "enabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Enabled state."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Switch label."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown before the visible label."
        },
        "disabled": {
          "type": "boolean",
          "default": false,
          "dynamic": true,
          "description": "Disable the switch."
        },
        "haptic": {
          "type": "boolean",
          "default": true,
          "description": "Enable vibration feedback on supported devices."
        },
        "haptics": {
          "type": "boolean",
          "default": true,
          "description": "Alias for haptic."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when enabled state changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_switch_typical",
            "layout": {
              "switch:feature": {
                "enabled": true,
                "label": "Enable sync",
                "icon": "arrows-clockwise"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/switch",
        "anchors": {
          "api": "switch-api-reference",
          "examples": "switch-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Enabled state.",
            "default": false
          },
          "$enabled": {
            "type": "string",
            "description": "Dynamic expression for 'enabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Switch label."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown before the visible label."
          },
          "disabled": {
            "type": "boolean",
            "description": "Disable the switch.",
            "default": false
          },
          "$disabled": {
            "type": "string",
            "description": "Dynamic expression for 'disabled'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "haptic": {
            "type": "boolean",
            "description": "Enable vibration feedback on supported devices.",
            "default": true
          },
          "haptics": {
            "type": "boolean",
            "description": "Alias for haptic.",
            "default": true
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when enabled state changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "c5fd6169"
    },
    {
      "type": "table",
      "category": "Data",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Table",
      "summary": "Simple data table.",
      "description": "Use table to render rows of keyed data against a column definition.",
      "props": {
        "columns": {
          "type": "array",
          "description": "Column definitions with key, label, and optional icon."
        },
        "columns[].icon": {
          "type": "string",
          "description": "Icon name shown before a column label."
        },
        "rows": {
          "type": "array",
          "description": "Row data objects keyed by column key."
        },
        "items": {
          "type": "array",
          "description": "Alias for rows."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_table_typical",
            "layout": {
              "table:routes": {
                "columns": [
                  {
                    "key": "name",
                    "label": "Name",
                    "icon": "text-t"
                  },
                  {
                    "key": "status",
                    "label": "Status",
                    "icon": "check-circle"
                  }
                ],
                "rows": [
                  {
                    "name": "Parse",
                    "status": "ready"
                  },
                  {
                    "name": "Publish",
                    "status": "pending"
                  }
                ]
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/table",
        "anchors": {
          "api": "table-api-reference",
          "examples": "table-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "columns": {
            "type": "array",
            "description": "Column definitions with key, label, and optional icon."
          },
          "columns[].icon": {
            "type": "string",
            "description": "Icon name shown before a column label."
          },
          "rows": {
            "type": "array",
            "description": "Row data objects keyed by column key."
          },
          "items": {
            "type": "array",
            "description": "Alias for rows."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "546ee458"
    },
    {
      "type": "tabs",
      "category": "Navigation",
      "status": "ready",
      "state": "value",
      "since": "0.1.0",
      "title": "Tabs",
      "summary": "Tabbed view switcher.",
      "description": "Use tabs to switch between named content panels.",
      "props": {
        "value": {
          "type": "string",
          "dynamic": true,
          "description": "Current active tab value."
        },
        "tabs": {
          "type": "array",
          "description": "Tab definitions with value, label, content, icon, and iconOnly."
        },
        "tabs[].icon": {
          "type": "string",
          "description": "Icon name shown before a tab trigger label."
        },
        "tabs[].iconOnly": {
          "type": "boolean",
          "description": "Show only the tab icon while retaining label as accessible text."
        },
        "orientation": {
          "type": "string",
          "values": [
            "horizontal",
            "vertical"
          ],
          "default": "horizontal",
          "description": "Tab list orientation."
        },
        "onchange": {
          "type": "write-expression",
          "description": "Write expression invoked when the active tab changes."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_tabs_typical",
            "layout": {
              "tabs:main": {
                "value": "overview",
                "tabs": [
                  {
                    "value": "overview",
                    "label": "Overview"
                  },
                  {
                    "value": "settings",
                    "label": "Settings"
                  }
                ]
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/tabs",
        "anchors": {
          "api": "tabs-api-reference",
          "examples": "tabs-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "value": {
            "type": "string",
            "description": "Current active tab value."
          },
          "$value": {
            "type": "string",
            "description": "Dynamic expression for 'value'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "tabs": {
            "type": "array",
            "description": "Tab definitions with value, label, content, icon, and iconOnly."
          },
          "tabs[].icon": {
            "type": "string",
            "description": "Icon name shown before a tab trigger label."
          },
          "tabs[].iconOnly": {
            "type": "boolean",
            "description": "Show only the tab icon while retaining label as accessible text."
          },
          "orientation": {
            "enum": [
              "horizontal",
              "vertical"
            ],
            "description": "Tab list orientation.",
            "default": "horizontal"
          },
          "onchange": {
            "type": "string",
            "xSlexkitExpressionKind": "write",
            "description": "Write expression invoked when the active tab changes."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "e5cff5dc"
    },
    {
      "type": "text",
      "category": "Display",
      "status": "ready",
      "state": "readable",
      "since": "0.1.0",
      "title": "Text",
      "summary": "Plain text display.",
      "description": "Use text for short static or dynamic copy inside SlexKit layouts.",
      "props": {
        "text": {
          "type": "string",
          "dynamic": true,
          "description": "Displayed text."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for text."
        },
        "variant": {
          "type": "string",
          "values": [
            "default",
            "muted"
          ],
          "default": "default",
          "description": "Text visual variant."
        },
        "color": {
          "type": "string",
          "dynamic": true,
          "description": "Optional CSS color for controlled previews."
        },
        "size": {
          "type": "string | number",
          "dynamic": true,
          "description": "Optional font size. Numbers are treated as px."
        },
        "class": {
          "type": "string",
          "description": "Additional host-controlled CSS class."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_text_typical",
            "layout": {
              "text:status": {
                "text": "System is healthy"
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/text",
        "anchors": {
          "api": "text-api-reference",
          "examples": "text-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "text": {
            "type": "string",
            "description": "Displayed text."
          },
          "$text": {
            "type": "string",
            "description": "Dynamic expression for 'text'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for text."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Alias for text."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "variant": {
            "enum": [
              "default",
              "muted"
            ],
            "description": "Text visual variant.",
            "default": "default"
          },
          "color": {
            "type": "string",
            "description": "Optional CSS color for controlled previews."
          },
          "$color": {
            "type": "string",
            "description": "Dynamic expression for 'color'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "size": {
            "type": [
              "string",
              "number"
            ],
            "description": "Optional font size. Numbers are treated as px."
          },
          "$size": {
            "type": "string",
            "description": "Dynamic expression for 'size'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "class": {
            "type": "string",
            "description": "Additional host-controlled CSS class."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "c99b2de6"
    },
    {
      "type": "toast",
      "category": "Feedback",
      "status": "ready",
      "state": "none",
      "since": "0.1.0",
      "title": "Toast",
      "summary": "Transient notification.",
      "description": "Use toast to show an inline notification with semantic status.",
      "props": {
        "title": {
          "type": "string",
          "dynamic": true,
          "description": "Toast title."
        },
        "heading": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for title."
        },
        "label": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for title."
        },
        "icon": {
          "type": "string",
          "description": "Icon name shown at the left of the toast."
        },
        "description": {
          "type": "string",
          "dynamic": true,
          "description": "Toast body text."
        },
        "text": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for description."
        },
        "message": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for description."
        },
        "content": {
          "type": "string",
          "dynamic": true,
          "description": "Alias for description."
        },
        "type": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger"
          ],
          "default": "info",
          "description": "Semantic notification type."
        },
        "tone": {
          "type": "string",
          "values": [
            "info",
            "success",
            "warning",
            "danger"
          ],
          "default": "info",
          "description": "Alias for type."
        },
        "duration": {
          "type": "number",
          "description": "Auto-hide delay in milliseconds."
        },
        "dismissable": {
          "type": "boolean",
          "default": true,
          "description": "Show a close button."
        },
        "dismissible": {
          "type": "boolean",
          "default": true,
          "description": "Alias for dismissable."
        },
        "closeLabel": {
          "type": "string",
          "default": "Close notification",
          "description": "Accessible close button label."
        },
        "closeAriaLabel": {
          "type": "string",
          "description": "Alias for closeLabel."
        }
      },
      "children": {
        "allowed": false,
        "description": "This component does not render nested child components."
      },
      "examples": [
        {
          "id": "basic",
          "title": "Basic usage",
          "source": {
            "slex": "0.1",
            "namespace": "doc_toast_typical",
            "layout": {
              "toast:saved": {
                "type": "success",
                "title": "Saved",
                "icon": "check-circle",
                "description": "Changes have been written."
              }
            }
          }
        }
      ],
      "docs": {
        "href": "/docs/components/toast",
        "anchors": {
          "api": "toast-api-reference",
          "examples": "toast-canonical-example"
        }
      },
      "jsonSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "title": {
            "type": "string",
            "description": "Toast title."
          },
          "$title": {
            "type": "string",
            "description": "Dynamic expression for 'title'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "heading": {
            "type": "string",
            "description": "Alias for title."
          },
          "$heading": {
            "type": "string",
            "description": "Dynamic expression for 'heading'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "label": {
            "type": "string",
            "description": "Alias for title."
          },
          "$label": {
            "type": "string",
            "description": "Dynamic expression for 'label'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "icon": {
            "type": "string",
            "description": "Icon name shown at the left of the toast."
          },
          "description": {
            "type": "string",
            "description": "Toast body text."
          },
          "$description": {
            "type": "string",
            "description": "Dynamic expression for 'description'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "text": {
            "type": "string",
            "description": "Alias for description."
          },
          "$text": {
            "type": "string",
            "description": "Dynamic expression for 'text'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "message": {
            "type": "string",
            "description": "Alias for description."
          },
          "$message": {
            "type": "string",
            "description": "Dynamic expression for 'message'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "content": {
            "type": "string",
            "description": "Alias for description."
          },
          "$content": {
            "type": "string",
            "description": "Dynamic expression for 'content'. Evaluated with the Slex logic profile.",
            "xSlexkitExpressionKind": "read"
          },
          "type": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger"
            ],
            "description": "Semantic notification type.",
            "default": "info"
          },
          "tone": {
            "enum": [
              "info",
              "success",
              "warning",
              "danger"
            ],
            "description": "Alias for type.",
            "default": "info"
          },
          "duration": {
            "type": "number",
            "description": "Auto-hide delay in milliseconds."
          },
          "dismissable": {
            "type": "boolean",
            "description": "Show a close button.",
            "default": true
          },
          "dismissible": {
            "type": "boolean",
            "description": "Alias for dismissable.",
            "default": true
          },
          "closeLabel": {
            "type": "string",
            "description": "Accessible close button label.",
            "default": "Close notification"
          },
          "closeAriaLabel": {
            "type": "string",
            "description": "Alias for closeLabel."
          }
        },
        "required": [],
        "patternProperties": {
          "^[a-z][a-z0-9-]*:[A-Za-z0-9_$-]*$": {
            "$ref": "#/$defs/componentNode"
          },
          "^on[A-Za-z_$][\\w$-]*$": {
            "type": "string",
            "description": "Write-pipe event handler expression.",
            "xSlexkitExpressionKind": "write"
          }
        }
      },
      "hash": "cc0c6b05"
    }
  ]
}
