{
 "spec": "1.0.0",
 "generatedFrom": "src/lib/foundation, packages/css, packages/tokens",
 "vocabulary": {
  "variant": [
   "primary",
   "secondary",
   "ghost",
   "danger"
  ],
  "size": [
   "sm",
   "md",
   "lg"
  ],
  "tone": [
   "neutral",
   "accent",
   "ok",
   "warn",
   "danger",
   "info",
   "progress"
  ],
  "density": [
   "compact",
   "default",
   "comfortable"
  ]
 },
 "components": [
  {
   "name": "Accordion",
   "family": "disclosure",
   "description": "Native details/summary accordion with optional exclusive groups",
   "status": "beta",
   "dataAttributes": [
    "data-disabled"
   ],
   "file": "src/lib/foundation/Accordion.svelte",
   "import": "@tcpsystems/ui/foundation/Accordion",
   "rootClass": "tcp-accordion",
   "passthrough": true,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "name",
     "type": "string",
     "required": false
    },
    {
     "name": "headingLevel",
     "type": "2 | 3 | 4",
     "required": false,
     "default": "3"
    }
   ],
   "snippets": [
    "panel"
   ],
   "events": []
  },
  {
   "name": "AnchorNav",
   "family": "navigation",
   "description": "Sticky in-page anchor navigation with scroll spy",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/AnchorNav.svelte",
   "import": "@tcpsystems/ui/foundation/AnchorNav",
   "rootClass": "tcp-anchor-nav",
   "passthrough": true,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "AppShell",
   "family": "navigation",
   "description": "Topbar, rail, main and aside. One frame for console, docs and status.",
   "status": "beta",
   "dataAttributes": [
    "data-layout"
   ],
   "file": "src/lib/foundation/AppShell.svelte",
   "import": "@tcpsystems/ui/foundation/AppShell",
   "rootClass": "tcp-shell",
   "passthrough": false,
   "props": [
    {
     "name": "layout",
     "type": "'page' | 'console' | 'docs'",
     "required": false,
     "default": "'page'"
    },
    {
     "name": "mainId",
     "type": "string",
     "required": false,
     "default": "'main'"
    }
   ],
   "snippets": [
    "top",
    "rail",
    "aside",
    "children"
   ],
   "events": []
  },
  {
   "name": "AspectRatio",
   "family": "<AspectRatio>",
   "description": "A container that constrains its content to a fixed aspect ratio.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/AspectRatio.svelte",
   "import": "@tcpsystems/ui/foundation/AspectRatio",
   "rootClass": "tcp-aspect",
   "passthrough": true,
   "props": [
    {
     "name": "ratio",
     "type": "number",
     "required": true
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Avatar",
   "family": "layout-2",
   "description": "A circular or square identity image with initials fallback, colored by a stable name hash.",
   "status": "beta",
   "dataAttributes": [
    "data-cat",
    "data-shape",
    "data-size"
   ],
   "file": "src/lib/foundation/Avatar.svelte",
   "import": "@tcpsystems/ui/foundation/Avatar",
   "rootClass": "tcp-avatar",
   "passthrough": false,
   "props": [
    {
     "name": "name",
     "type": "string",
     "required": true
    },
    {
     "name": "src",
     "type": "string",
     "required": false
    },
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    },
    {
     "name": "shape",
     "type": "'round' | 'square'",
     "required": false,
     "default": "'round'"
    },
    {
     "name": "decorative",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "AvatarGroup",
   "family": "layout-2",
   "description": "A compact row of avatars that collapses overflow into a +N count.",
   "status": "beta",
   "dataAttributes": [
    "data-size"
   ],
   "file": "src/lib/foundation/AvatarGroup.svelte",
   "import": "@tcpsystems/ui/foundation/AvatarGroup",
   "rootClass": "tcp-avatar-group",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": false,
     "default": "4"
    },
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Badge",
   "family": "data",
   "description": "Count or short annotation.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Badge.svelte",
   "import": "@tcpsystems/ui/foundation/Badge",
   "rootClass": "tcp-badge",
   "passthrough": true,
   "props": [
    {
     "name": "tone",
     "type": "'neutral' | 'accent' | 'ok' | 'warn' | 'danger' | 'info'",
     "required": false,
     "default": "'neutral'"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Banner",
   "family": "feedback-2",
   "description": "Full-width persistent message with tone, optional action, and optional dismiss.",
   "status": "beta",
   "dataAttributes": [
    "data-dismiss-key",
    "data-tone"
   ],
   "file": "src/lib/foundation/Banner.svelte",
   "import": "@tcpsystems/ui/foundation/Banner",
   "rootClass": "tcp-banner",
   "passthrough": true,
   "props": [
    {
     "name": "tone",
     "type": "'neutral' | 'accent' | 'ok' | 'warn' | 'danger' | 'info'",
     "required": false,
     "default": "'info'"
    },
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "dismissLabel",
     "type": "string",
     "required": false
    },
    {
     "name": "dismissKey",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [
    "action"
   ],
   "events": []
  },
  {
   "name": "Brand",
   "family": "navigation",
   "description": "Mark, wordmark and product name.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Brand.svelte",
   "import": "@tcpsystems/ui/foundation/Brand",
   "rootClass": "tcp-brand",
   "passthrough": false,
   "props": [
    {
     "name": "href",
     "type": "string",
     "required": false,
     "default": "'/'"
    },
    {
     "name": "name",
     "type": "string",
     "required": false,
     "default": "'tcpsystems'"
    },
    {
     "name": "product",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Breadcrumbs",
   "family": "navigation",
   "description": "Location trail. Every parent is a link.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Breadcrumbs.svelte",
   "import": "@tcpsystems/ui/foundation/Breadcrumbs",
   "rootClass": "tcp-breadcrumbs",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "{ label: string; href?: string }[]",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "BulkBar",
   "family": "data",
   "description": "Selection count and bulk actions.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/BulkBar.svelte",
   "import": "@tcpsystems/ui/foundation/BulkBar",
   "rootClass": "tcp-bulkbar",
   "passthrough": false,
   "props": [
    {
     "name": "count",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Button",
   "family": "actions",
   "description": "Triggers an action, or navigates when given href. One primary per view.",
   "status": "beta",
   "dataAttributes": [
    "data-block",
    "data-icon-only",
    "data-size",
    "data-tcp-track",
    "data-variant"
   ],
   "file": "src/lib/foundation/Button.svelte",
   "import": "@tcpsystems/ui/foundation/Button",
   "rootClass": "tcp-button",
   "passthrough": true,
   "props": [
    {
     "name": "variant",
     "type": "'primary' | 'secondary' | 'ghost' | 'danger'",
     "required": false,
     "default": "'secondary'"
    },
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    },
    {
     "name": "href",
     "type": "string",
     "required": false
    },
    {
     "name": "icon",
     "type": "string",
     "required": false
    },
    {
     "name": "iconEnd",
     "type": "string",
     "required": false
    },
    {
     "name": "iconOnly",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "block",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "loading",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "loadingLabel",
     "type": "string",
     "required": false
    },
    {
     "name": "disabled",
     "type": "native",
     "required": false,
     "default": "false"
    },
    {
     "name": "type",
     "type": "native",
     "required": false,
     "default": "'button'"
    },
    {
     "name": "target",
     "type": "native",
     "required": false
    },
    {
     "name": "rel",
     "type": "native",
     "required": false
    },
    {
     "name": "track",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "ButtonGroup",
   "family": "inputs-2",
   "description": "Groups related buttons into a single joined control with shared focus layering.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/ButtonGroup.svelte",
   "import": "@tcpsystems/ui/foundation/ButtonGroup",
   "rootClass": "tcp-button-group",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Callout",
   "family": "feedback",
   "description": "In-content message with tone, title and optional action.",
   "status": "beta",
   "dataAttributes": [
    "data-layout",
    "data-tone"
   ],
   "file": "src/lib/foundation/Callout.svelte",
   "import": "@tcpsystems/ui/foundation/Callout",
   "rootClass": "tcp-callout",
   "passthrough": true,
   "props": [
    {
     "name": "tone",
     "type": "Tone",
     "required": false,
     "default": "'info'"
    },
    {
     "name": "title",
     "type": "string",
     "required": false
    },
    {
     "name": "layout",
     "type": "'banner'",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [
    "action"
   ],
   "events": []
  },
  {
   "name": "CharacterCount",
   "family": "feedback",
   "description": "A counter that shows characters used and announces near the limit.",
   "status": "beta",
   "dataAttributes": [
    "data-state"
   ],
   "file": "src/lib/foundation/CharacterCount.svelte",
   "import": "@tcpsystems/ui/foundation/CharacterCount",
   "rootClass": "tcp-char-count",
   "passthrough": false,
   "props": [
    {
     "name": "value",
     "type": "string",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": true
    },
    {
     "name": "id",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Choice",
   "family": "forms",
   "description": "Checkbox, radio or switch with its label.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Choice.svelte",
   "import": "@tcpsystems/ui/foundation/Choice",
   "rootClass": "tcp-check",
   "passthrough": false,
   "props": [
    {
     "name": "kind",
     "type": "'checkbox' | 'radio' | 'switch'",
     "required": false,
     "default": "'checkbox'"
    },
    {
     "name": "label",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Cluster",
   "family": "layout",
   "description": "Horizontal group that wraps.",
   "status": "beta",
   "dataAttributes": [
    "data-gap",
    "data-justify",
    "data-min",
    "data-width"
   ],
   "file": "src/lib/foundation/Cluster.svelte",
   "import": "@tcpsystems/ui/foundation/Cluster",
   "rootClass": "tcp-cluster",
   "passthrough": true,
   "props": [
    {
     "name": "as",
     "type": "string",
     "required": false,
     "default": "'div'"
    },
    {
     "name": "gap",
     "type": "string",
     "required": false
    },
    {
     "name": "min",
     "type": "string",
     "required": false
    },
    {
     "name": "width",
     "type": "string",
     "required": false
    },
    {
     "name": "justify",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "CodeBlock",
   "family": "content",
   "description": "Code on a dark surface in both themes, with title and copy.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/CodeBlock.svelte",
   "import": "@tcpsystems/ui/foundation/CodeBlock",
   "rootClass": "tcp-code",
   "passthrough": false,
   "props": [
    {
     "name": "code",
     "type": "string",
     "required": true
    },
    {
     "name": "html",
     "type": "string",
     "required": false
    },
    {
     "name": "lang",
     "type": "string",
     "required": false
    },
    {
     "name": "title",
     "type": "string",
     "required": false
    },
    {
     "name": "label",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Collapse",
   "family": "layout-2",
   "description": "A native details disclosure with a labeled summary and rotating chevron.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Collapse.svelte",
   "import": "@tcpsystems/ui/foundation/Collapse",
   "rootClass": "tcp-collapse",
   "passthrough": false,
   "props": [
    {
     "name": "summary",
     "type": "string",
     "required": true
    },
    {
     "name": "name",
     "type": "string",
     "required": false
    },
    {
     "name": "open",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "ColorInput",
   "family": "inputs",
   "description": "A colour picker with an editable hex value and optional swatches.",
   "status": "beta",
   "dataAttributes": [
    "data-color-swatch"
   ],
   "file": "src/lib/foundation/ColorInput.svelte",
   "import": "@tcpsystems/ui/foundation/ColorInput",
   "rootClass": "tcp-color",
   "passthrough": true,
   "props": [
    {
     "name": "value",
     "type": "string",
     "required": false,
     "default": "$bindable('#000000')"
    },
    {
     "name": "name",
     "type": "string",
     "required": false
    },
    {
     "name": "id",
     "type": "string",
     "required": false
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "id ? undefined : d.label ?? 'Colour'"
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true' | 'false' | boolean",
     "required": false
    },
    {
     "name": "disabled",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "swatches",
     "type": "string[]",
     "required": false,
     "default": "[]"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "CommandPalette",
   "family": "overlays",
   "description": "Search and commands: Ctrl or Cmd K, combobox over a listbox, items loaded on first open.",
   "status": "beta",
   "dataAttributes": [
    "data-position",
    "data-size",
    "data-src"
   ],
   "file": "src/lib/foundation/CommandPalette.svelte",
   "import": "@tcpsystems/ui/foundation/CommandPalette",
   "rootClass": "tcp-dialog",
   "passthrough": false,
   "props": [
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "src",
     "type": "string",
     "required": false
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Search'"
    },
    {
     "name": "placeholder",
     "type": "string",
     "required": false,
     "default": "'Search'"
    },
    {
     "name": "empty",
     "type": "string",
     "required": false,
     "default": "'Nothing matches. Try fewer words, or part of a name.'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Container",
   "family": "layout",
   "description": "Page gutter and maximum width.",
   "status": "beta",
   "dataAttributes": [
    "data-gap",
    "data-justify",
    "data-min",
    "data-width"
   ],
   "file": "src/lib/foundation/Container.svelte",
   "import": "@tcpsystems/ui/foundation/Container",
   "rootClass": "tcp-container",
   "passthrough": true,
   "props": [
    {
     "name": "as",
     "type": "string",
     "required": false,
     "default": "'div'"
    },
    {
     "name": "gap",
     "type": "string",
     "required": false
    },
    {
     "name": "min",
     "type": "string",
     "required": false
    },
    {
     "name": "width",
     "type": "string",
     "required": false
    },
    {
     "name": "justify",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "DescriptionList",
   "family": "data",
   "description": "Term and value pairs, or a rule list.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/DescriptionList.svelte",
   "import": "@tcpsystems/ui/foundation/DescriptionList",
   "rootClass": "tcp-rules",
   "passthrough": true,
   "props": [
    {
     "name": "items",
     "type": "{ term: string; value: string; mono?: boolean }[]",
     "required": true
    },
    {
     "name": "variant",
     "type": "'rows' | 'rules'",
     "required": false,
     "default": "'rows'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Dialog",
   "family": "overlays",
   "description": "Native modal dialog with focus return.",
   "status": "beta",
   "dataAttributes": [
    "data-size",
    "data-variant"
   ],
   "file": "src/lib/foundation/Dialog.svelte",
   "import": "@tcpsystems/ui/foundation/Dialog",
   "rootClass": "tcp-dialog",
   "passthrough": false,
   "props": [
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "size",
     "type": "'sm' | 'lg'",
     "required": false
    }
   ],
   "snippets": [
    "foot",
    "children"
   ],
   "events": []
  },
  {
   "name": "Divider",
   "family": "<Divider>",
   "description": "A horizontal rule that can show an optional centered label.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Divider.svelte",
   "import": "@tcpsystems/ui/foundation/Divider",
   "rootClass": "tcp-divider-labelled",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "DocPager",
   "family": "navigation",
   "description": "Previous and next page links.",
   "status": "beta",
   "dataAttributes": [
    "data-dir"
   ],
   "file": "src/lib/foundation/DocPager.svelte",
   "import": "@tcpsystems/ui/foundation/DocPager",
   "rootClass": "tcp-pager",
   "passthrough": false,
   "props": [
    {
     "name": "prev",
     "type": "L",
     "required": false
    },
    {
     "name": "next",
     "type": "L",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Dropzone",
   "family": "inputs",
   "description": "A file chooser that also accepts dropped files with type and size limits.",
   "status": "beta",
   "dataAttributes": [
    "data-max-bytes"
   ],
   "file": "src/lib/foundation/Dropzone.svelte",
   "import": "@tcpsystems/ui/foundation/Dropzone",
   "rootClass": "tcp-dropzone",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Files'"
    },
    {
     "name": "hint",
     "type": "string",
     "required": false,
     "default": "d.hint"
    },
    {
     "name": "name",
     "type": "string",
     "required": false,
     "default": "'file'"
    },
    {
     "name": "accept",
     "type": "string",
     "required": false,
     "default": "d.accept"
    },
    {
     "name": "multiple",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "maxBytes",
     "type": "number",
     "required": false,
     "default": "d.maxBytes"
    },
    {
     "name": "id",
     "type": "string",
     "required": false,
     "default": "uid"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "EmptyState",
   "family": "feedback",
   "description": "First-use, filtered, error, forbidden and unavailable states.",
   "status": "beta",
   "dataAttributes": [
    "data-kind"
   ],
   "file": "src/lib/foundation/EmptyState.svelte",
   "import": "@tcpsystems/ui/foundation/EmptyState",
   "rootClass": "tcp-empty",
   "passthrough": false,
   "props": [
    {
     "name": "kind",
     "type": "'first-use' | 'filtered' | 'error' | 'forbidden' | 'unavailable'",
     "required": false,
     "default": "'first-use'"
    },
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "text",
     "type": "string",
     "required": false
    },
    {
     "name": "code",
     "type": "string",
     "required": false
    },
    {
     "name": "as",
     "type": "'h1' | 'h2' | 'h3'",
     "required": false,
     "default": "'h2'"
    }
   ],
   "snippets": [
    "actions"
   ],
   "events": []
  },
  {
   "name": "EnvironmentBand",
   "family": "nav-3",
   "description": "A full-width, non-dismissible band that shows which environment the user is in.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/EnvironmentBand.svelte",
   "import": "@tcpsystems/ui/foundation/EnvironmentBand",
   "rootClass": "tcp-env-band",
   "passthrough": false,
   "props": [
    {
     "name": "name",
     "type": "string",
     "required": true
    },
    {
     "name": "tone",
     "type": "'neutral' | 'warn' | 'danger'",
     "required": false,
     "default": "'warn'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "ErrorSummary",
   "family": "forms",
   "description": "Top-of-form list of errors linking to each field.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/ErrorSummary.svelte",
   "import": "@tcpsystems/ui/foundation/ErrorSummary",
   "rootClass": "tcp-error-summary",
   "passthrough": false,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": false,
     "default": "'Fix these before continuing'"
    },
    {
     "name": "errors",
     "type": "{ href: string; text: string }[]",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Field",
   "family": "forms",
   "description": "Label, hint, control and error wired together. The label is required.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Field.svelte",
   "import": "@tcpsystems/ui/foundation/Field",
   "rootClass": "tcp-field",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "hint",
     "type": "string",
     "required": false
    },
    {
     "name": "error",
     "type": "string",
     "required": false
    },
    {
     "name": "optional",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [
    "control"
   ],
   "events": []
  },
  {
   "name": "FileInput",
   "family": "inputs",
   "description": "A native file chooser with a named trigger and selected filenames.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/FileInput.svelte",
   "import": "@tcpsystems/ui/foundation/FileInput",
   "rootClass": "tcp-file-input",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'File'"
    },
    {
     "name": "name",
     "type": "string",
     "required": false,
     "default": "'file'"
    },
    {
     "name": "accept",
     "type": "string",
     "required": false
    },
    {
     "name": "multiple",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "disabled",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true' | 'false' | boolean",
     "required": false
    },
    {
     "name": "buttonLabel",
     "type": "string",
     "required": false,
     "default": "'Choose file'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "FileList",
   "family": "inputs",
   "description": "A list of files with upload status, progress and file actions.",
   "status": "beta",
   "dataAttributes": [
    "data-state"
   ],
   "file": "src/lib/foundation/FileList.svelte",
   "import": "@tcpsystems/ui/foundation/FileList",
   "rootClass": "tcp-file-list",
   "passthrough": true,
   "props": [
    {
     "name": "files",
     "type": "File[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "removeLabel",
     "type": "(name: string) => string",
     "required": false,
     "default": "(name: string) => `Remove ${name}`"
    },
    {
     "name": "retryLabel",
     "type": "(name: string) => string",
     "required": false,
     "default": "(name: string) => `Retry ${name}`"
    }
   ],
   "snippets": [],
   "events": [
    "onremove",
    "onretry"
   ]
  },
  {
   "name": "Footer",
   "family": "navigation",
   "description": "Site footer with link groups.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Footer.svelte",
   "import": "@tcpsystems/ui/foundation/Footer",
   "rootClass": "tcp-footer",
   "passthrough": false,
   "props": [
    {
     "name": "groups",
     "type": "Group[]",
     "required": false,
     "default": "[]"
    }
   ],
   "snippets": [
    "end"
   ],
   "events": []
  },
  {
   "name": "Grid",
   "family": "layout",
   "description": "Auto-fit responsive grid.",
   "status": "beta",
   "dataAttributes": [
    "data-gap",
    "data-justify",
    "data-min",
    "data-width"
   ],
   "file": "src/lib/foundation/Grid.svelte",
   "import": "@tcpsystems/ui/foundation/Grid",
   "rootClass": "tcp-grid",
   "passthrough": true,
   "props": [
    {
     "name": "as",
     "type": "string",
     "required": false,
     "default": "'div'"
    },
    {
     "name": "gap",
     "type": "string",
     "required": false
    },
    {
     "name": "min",
     "type": "string",
     "required": false
    },
    {
     "name": "width",
     "type": "string",
     "required": false
    },
    {
     "name": "justify",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Heading",
   "family": "<Heading>",
   "description": "A semantic heading that renders the requested heading level.",
   "status": "beta",
   "dataAttributes": [
    "data-size"
   ],
   "file": "src/lib/foundation/Heading.svelte",
   "import": "@tcpsystems/ui/foundation/Heading",
   "rootClass": "tcp-heading",
   "passthrough": true,
   "props": [
    {
     "name": "level",
     "type": "1 | 2 | 3 | 4",
     "required": true
    },
    {
     "name": "size",
     "type": "HeadingSize",
     "required": false
    },
    {
     "name": "id",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Hero",
   "family": "blocks",
   "description": "One large statement, then copy beside the product.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Hero.svelte",
   "import": "@tcpsystems/ui/foundation/Hero",
   "rootClass": "tcp-hero",
   "passthrough": false,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "lead",
     "type": "string",
     "required": false
    },
    {
     "name": "id",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "actions",
    "aside"
   ],
   "events": []
  },
  {
   "name": "Icon",
   "family": "foundations",
   "description": "Inline SVG icon on a 24 px grid, 1.5 stroke, currentColor. Decorative unless given a label.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Icon.svelte",
   "import": "@tcpsystems/ui/foundation/Icon",
   "rootClass": null,
   "passthrough": true,
   "props": [
    {
     "name": "name",
     "type": "IconName",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Image",
   "family": "layout-2",
   "description": "A sized image with required dimensions, lazy loading, and an optional fallback when src is empty.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Image.svelte",
   "import": "@tcpsystems/ui/foundation/Image",
   "rootClass": "tcp-image",
   "passthrough": false,
   "props": [
    {
     "name": "src",
     "type": "string",
     "required": true
    },
    {
     "name": "alt",
     "type": "string",
     "required": true
    },
    {
     "name": "width",
     "type": "number",
     "required": true
    },
    {
     "name": "height",
     "type": "number",
     "required": true
    },
    {
     "name": "loading",
     "type": "'lazy' | 'eager'",
     "required": false,
     "default": "'lazy'"
    }
   ],
   "snippets": [
    "fallback"
   ],
   "events": []
  },
  {
   "name": "Indicator",
   "family": "layout-2",
   "description": "A badge wrapper that annotates a child with an optional count and accessible label.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Indicator.svelte",
   "import": "@tcpsystems/ui/foundation/Indicator",
   "rootClass": "tcp-indicator",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "count",
     "type": "number",
     "required": false
    },
    {
     "name": "tone",
     "type": "'neutral' | 'accent' | 'ok' | 'warn' | 'danger' | 'info'",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Input",
   "family": "forms",
   "description": "Native single-line text control.",
   "status": "beta",
   "dataAttributes": [
    "data-kind"
   ],
   "file": "src/lib/foundation/Input.svelte",
   "import": "@tcpsystems/ui/foundation/Input",
   "rootClass": "tcp-input",
   "passthrough": true,
   "props": [
    {
     "name": "kind",
     "type": "'mono'",
     "required": false
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true'",
     "required": false
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "InputGroup",
   "family": "control",
   "description": "A group that joins prefix or suffix adornments to one input control.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/InputGroup.svelte",
   "import": "@tcpsystems/ui/foundation/InputGroup",
   "rootClass": "tcp-input-group",
   "passthrough": false,
   "props": [
    {
     "name": "prefix",
     "type": "string",
     "required": false
    },
    {
     "name": "suffix",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "start",
    "end",
    "children"
   ],
   "events": []
  },
  {
   "name": "Kbd",
   "family": "actions",
   "description": "Keyboard key hint.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Kbd.svelte",
   "import": "@tcpsystems/ui/foundation/Kbd",
   "rootClass": "tcp-kbd",
   "passthrough": true,
   "props": [
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Link",
   "family": "actions",
   "description": "Inline or quiet navigation link, with an external form.",
   "status": "beta",
   "dataAttributes": [
    "data-variant"
   ],
   "file": "src/lib/foundation/Link.svelte",
   "import": "@tcpsystems/ui/foundation/Link",
   "rootClass": "tcp-link",
   "passthrough": true,
   "props": [
    {
     "name": "variant",
     "type": "'quiet'",
     "required": false
    },
    {
     "name": "external",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "List",
   "family": "<List>",
   "description": "A list primitive that renders disc, numbered, or markerless items.",
   "status": "beta",
   "dataAttributes": [
    "data-marker"
   ],
   "file": "src/lib/foundation/List.svelte",
   "import": "@tcpsystems/ui/foundation/List",
   "rootClass": "tcp-list",
   "passthrough": true,
   "props": [
    {
     "name": "marker",
     "type": "'disc' | 'number' | 'none'",
     "required": false,
     "default": "'disc'"
    },
    {
     "name": "items",
     "type": "string[]",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "LoadingOverlay",
   "family": "feedback",
   "description": "An overlay that blocks interaction with wrapped content while showing a loading status.",
   "status": "beta",
   "dataAttributes": [
    "data-active"
   ],
   "file": "src/lib/foundation/LoadingOverlay.svelte",
   "import": "@tcpsystems/ui/foundation/LoadingOverlay",
   "rootClass": "tcp-loading-overlay",
   "passthrough": true,
   "props": [
    {
     "name": "active",
     "type": "boolean",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Menu",
   "family": "overlays",
   "description": "Action menu on the popover API.",
   "status": "beta",
   "dataAttributes": [
    "data-size",
    "data-tone",
    "data-variant"
   ],
   "file": "src/lib/foundation/Menu.svelte",
   "import": "@tcpsystems/ui/foundation/Menu",
   "rootClass": "tcp-menu",
   "passthrough": false,
   "props": [
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "items",
     "type": "Item[]",
     "required": true
    },
    {
     "name": "size",
     "type": "'sm' | 'md'",
     "required": false,
     "default": "'sm'"
    },
    {
     "name": "icon",
     "type": "string",
     "required": false,
     "default": "'more'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Meter",
   "family": "data",
   "description": "Usage against a limit. Warns at 80%, critical at 95%.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Meter.svelte",
   "import": "@tcpsystems/ui/foundation/Meter",
   "rootClass": "tcp-meter",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "value",
     "type": "number",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": true
    },
    {
     "name": "unit",
     "type": "string",
     "required": false,
     "default": "''"
    },
    {
     "name": "tone",
     "type": "'warn' | 'danger'",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Notice",
   "family": "feedback-2",
   "description": "One-line inline status message with a tone mark, never colour alone.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Notice.svelte",
   "import": "@tcpsystems/ui/foundation/Notice",
   "rootClass": "tcp-notice",
   "passthrough": true,
   "props": [
    {
     "name": "tone",
     "type": "'neutral' | 'accent' | 'ok' | 'warn' | 'danger' | 'info'",
     "required": false,
     "default": "'neutral'"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "NumberInput",
   "family": "control",
   "description": "A numeric field with decrement and increment buttons and optional unit.",
   "status": "beta",
   "dataAttributes": [
    "data-dir",
    "data-kind"
   ],
   "file": "src/lib/foundation/NumberInput.svelte",
   "import": "@tcpsystems/ui/foundation/NumberInput",
   "rootClass": "tcp-number",
   "passthrough": true,
   "props": [
    {
     "name": "kind",
     "type": "'mono'",
     "required": false
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true'",
     "required": false
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    },
    {
     "name": "min",
     "type": "number | string",
     "required": false
    },
    {
     "name": "max",
     "type": "number | string",
     "required": false
    },
    {
     "name": "step",
     "type": "number | string",
     "required": false,
     "default": "1"
    },
    {
     "name": "unit",
     "type": "string",
     "required": false
    },
    {
     "name": "decrementLabel",
     "type": "string",
     "required": false,
     "default": "'Decrease'"
    },
    {
     "name": "incrementLabel",
     "type": "string",
     "required": false,
     "default": "'Increase'"
    },
    {
     "name": "disabled",
     "type": "native",
     "required": false
    },
    {
     "name": "readonly",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "OverflowList",
   "family": "navigation",
   "description": "Navigation links that move into a menu when space runs out.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/OverflowList.svelte",
   "import": "@tcpsystems/ui/foundation/OverflowList",
   "rootClass": "tcp-overflow",
   "passthrough": true,
   "props": [
    {
     "name": "items",
     "type": "{ label: string; href: string }[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "moreLabel",
     "type": "string",
     "required": false,
     "default": "'More'"
    },
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Navigation'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "PageHeader",
   "family": "surfaces",
   "description": "Page title, lead, status and actions.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/PageHeader.svelte",
   "import": "@tcpsystems/ui/foundation/PageHeader",
   "rootClass": "tcp-page-header",
   "passthrough": false,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "lead",
     "type": "string",
     "required": false
    },
    {
     "name": "id",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "status",
    "actions"
   ],
   "events": []
  },
  {
   "name": "Pagination",
   "family": "navigation",
   "description": "Link-based pagination with a summary.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Pagination.svelte",
   "import": "@tcpsystems/ui/foundation/Pagination",
   "rootClass": "tcp-pagination",
   "passthrough": false,
   "props": [
    {
     "name": "page",
     "type": "number",
     "required": true
    },
    {
     "name": "pages",
     "type": "number",
     "required": true
    },
    {
     "name": "summary",
     "type": "string",
     "required": false
    },
    {
     "name": "href",
     "type": "(p: number) => string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Panel",
   "family": "surfaces",
   "description": "Titled surface for a group of content.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Panel.svelte",
   "import": "@tcpsystems/ui/foundation/Panel",
   "rootClass": "tcp-panel",
   "passthrough": true,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [
    "actions"
   ],
   "events": []
  },
  {
   "name": "PasswordInput",
   "family": "control",
   "description": "A password field with a toggle that reveals or hides the value.",
   "status": "beta",
   "dataAttributes": [
    "data-hide-label",
    "data-kind",
    "data-show-label",
    "data-variant"
   ],
   "file": "src/lib/foundation/PasswordInput.svelte",
   "import": "@tcpsystems/ui/foundation/PasswordInput",
   "rootClass": "tcp-password",
   "passthrough": true,
   "props": [
    {
     "name": "kind",
     "type": "'mono'",
     "required": false
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true'",
     "required": false
    },
    {
     "name": "showLabel",
     "type": "string",
     "required": false,
     "default": "'Show password'"
    },
    {
     "name": "hideLabel",
     "type": "string",
     "required": false,
     "default": "'Hide password'"
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "PinInput",
   "family": "control",
   "description": "A single one-time-code input styled as segmented characters.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/PinInput.svelte",
   "import": "@tcpsystems/ui/foundation/PinInput",
   "rootClass": "tcp-pin",
   "passthrough": true,
   "props": [
    {
     "name": "length",
     "type": "number",
     "required": false,
     "default": "6"
    },
    {
     "name": "name",
     "type": "string",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "numeric",
     "type": "boolean",
     "required": false,
     "default": "true"
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Preview",
   "family": "content",
   "description": "Stage for a live example with an actions bar.",
   "status": "beta",
   "dataAttributes": [
    "data-pad"
   ],
   "file": "src/lib/foundation/Preview.svelte",
   "import": "@tcpsystems/ui/foundation/Preview",
   "rootClass": "tcp-preview",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "pad",
     "type": "boolean",
     "required": false,
     "default": "true"
    }
   ],
   "snippets": [
    "actions",
    "children"
   ],
   "events": []
  },
  {
   "name": "Progress",
   "family": "feedback",
   "description": "A labeled progress bar that shows determinate completion or an indeterminate wait.",
   "status": "beta",
   "dataAttributes": [
    "data-size",
    "data-tone"
   ],
   "file": "src/lib/foundation/Progress.svelte",
   "import": "@tcpsystems/ui/foundation/Progress",
   "rootClass": "tcp-progress-field",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "value",
     "type": "number",
     "required": false
    },
    {
     "name": "max",
     "type": "number",
     "required": false,
     "default": "100"
    },
    {
     "name": "tone",
     "type": "Tone",
     "required": false
    },
    {
     "name": "size",
     "type": "Size",
     "required": false,
     "default": "'md'"
    },
    {
     "name": "showValue",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Prose",
   "family": "content",
   "description": "Long-form content styles at reading width.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Prose.svelte",
   "import": "@tcpsystems/ui/foundation/Prose",
   "rootClass": "tcp-prose",
   "passthrough": true,
   "props": [
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "RailToggle",
   "family": "nav-3",
   "description": "A button that collapses or expands the navigation rail and remembers the state.",
   "status": "beta",
   "dataAttributes": [
    "data-collapse-label",
    "data-expand-label",
    "data-icon-only",
    "data-size",
    "data-variant"
   ],
   "file": "src/lib/foundation/RailToggle.svelte",
   "import": "@tcpsystems/ui/foundation/RailToggle",
   "rootClass": "tcp-rail-toggle",
   "passthrough": false,
   "props": [
    {
     "name": "collapsed",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "collapseLabel",
     "type": "string",
     "required": false,
     "default": "'Collapse navigation'"
    },
    {
     "name": "expandLabel",
     "type": "string",
     "required": false,
     "default": "'Expand navigation'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "RangeSlider",
   "family": "inputs-2",
   "description": "Selects low and high numeric values with paired range and number inputs that stay ordered.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/RangeSlider.svelte",
   "import": "@tcpsystems/ui/foundation/RangeSlider",
   "rootClass": "tcp-range",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "min",
     "type": "number",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": true
    },
    {
     "name": "step",
     "type": "number",
     "required": false,
     "default": "1"
    },
    {
     "name": "low",
     "type": "number",
     "required": false,
     "default": "$bindable(min)"
    },
    {
     "name": "high",
     "type": "number",
     "required": false,
     "default": "$bindable(max)"
    },
    {
     "name": "names",
     "type": "[string, string]",
     "required": false
    },
    {
     "name": "unit",
     "type": "string",
     "required": false,
     "default": "''"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Rating",
   "family": "inputs-2",
   "description": "Lets users choose a rating from a radio group, or shows a read-only rating value.",
   "status": "beta",
   "dataAttributes": [
    "data-filled"
   ],
   "file": "src/lib/foundation/Rating.svelte",
   "import": "@tcpsystems/ui/foundation/Rating",
   "rootClass": "tcp-rating",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "name",
     "type": "string",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": false,
     "default": "5"
    },
    {
     "name": "value",
     "type": "number",
     "required": false
    },
    {
     "name": "readonly",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Result",
   "family": "feedback-2",
   "description": "Whole-page outcome for states like 404, 403, or 500 with code, text, and request id.",
   "status": "beta",
   "dataAttributes": [
    "data-kind"
   ],
   "file": "src/lib/foundation/Result.svelte",
   "import": "@tcpsystems/ui/foundation/Result",
   "rootClass": "tcp-result",
   "passthrough": true,
   "props": [
    {
     "name": "code",
     "type": "string",
     "required": false
    },
    {
     "name": "title",
     "type": "string",
     "required": true
    },
    {
     "name": "text",
     "type": "string",
     "required": true
    },
    {
     "name": "requestId",
     "type": "string",
     "required": false
    },
    {
     "name": "as",
     "type": "'h1' | 'h2'",
     "required": false,
     "default": "'h1'"
    }
   ],
   "snippets": [
    "actions"
   ],
   "events": []
  },
  {
   "name": "RingProgress",
   "family": "feedback",
   "description": "A circular progress indicator with a centered percentage and progressbar semantics.",
   "status": "beta",
   "dataAttributes": [
    "data-size",
    "data-tone"
   ],
   "file": "src/lib/foundation/RingProgress.svelte",
   "import": "@tcpsystems/ui/foundation/RingProgress",
   "rootClass": "tcp-ring",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "value",
     "type": "number",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": false,
     "default": "100"
    },
    {
     "name": "tone",
     "type": "Tone",
     "required": false
    },
    {
     "name": "size",
     "type": "Size",
     "required": false,
     "default": "'md'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "RouteProgress",
   "family": "feedback",
   "description": "A top fixed route-loading bar that announces status text while active.",
   "status": "beta",
   "dataAttributes": [
    "data-active"
   ],
   "file": "src/lib/foundation/RouteProgress.svelte",
   "import": "@tcpsystems/ui/foundation/RouteProgress",
   "rootClass": "tcp-route-progress",
   "passthrough": true,
   "props": [
    {
     "name": "active",
     "type": "boolean",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Loading page'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SaveStatus",
   "family": "feedback-2",
   "description": "Inline save indicator showing idle, saving, saved, or error state.",
   "status": "beta",
   "dataAttributes": [
    "data-state"
   ],
   "file": "src/lib/foundation/SaveStatus.svelte",
   "import": "@tcpsystems/ui/foundation/SaveStatus",
   "rootClass": "tcp-save-status",
   "passthrough": true,
   "props": [
    {
     "name": "state",
     "type": "'idle' | 'saving' | 'saved' | 'error'",
     "required": true
    },
    {
     "name": "savedAt",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "retry"
   ],
   "events": []
  },
  {
   "name": "ScopeSwitcher",
   "family": "nav-3",
   "description": "A popover trigger that shows the current scope and links to switch between scopes.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/ScopeSwitcher.svelte",
   "import": "@tcpsystems/ui/foundation/ScopeSwitcher",
   "rootClass": "tcp-scope-switcher",
   "passthrough": false,
   "props": [
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "current",
     "type": "{ name: string; href?: string }",
     "required": true
    },
    {
     "name": "options",
     "type": "Option[]",
     "required": true
    },
    {
     "name": "createHref",
     "type": "string",
     "required": false
    },
    {
     "name": "createLabel",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "ScrollArea",
   "family": "<ScrollArea>",
   "description": "A focusable scrollable region with an accessible label.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/ScrollArea.svelte",
   "import": "@tcpsystems/ui/foundation/ScrollArea",
   "rootClass": "tcp-scroll",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "height",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "SearchDialog",
   "family": "overlays",
   "description": "Search dialog shell.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SearchDialog.svelte",
   "import": "@tcpsystems/ui/foundation/SearchDialog",
   "rootClass": "tcp-dialog",
   "passthrough": false,
   "props": [
    {
     "name": "id",
     "type": "string",
     "required": true
    },
    {
     "name": "results",
     "type": "R[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "query",
     "type": "string",
     "required": false,
     "default": "''"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SearchTrigger",
   "family": "forms",
   "description": "Button that opens search, showing the shortcut.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SearchTrigger.svelte",
   "import": "@tcpsystems/ui/foundation/SearchTrigger",
   "rootClass": "tcp-search-trigger",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Search'"
    },
    {
     "name": "shortcut",
     "type": "string",
     "required": false,
     "default": "'Ctrl K'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Section",
   "family": "surfaces",
   "description": "Titled page section.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Section.svelte",
   "import": "@tcpsystems/ui/foundation/Section",
   "rootClass": "tcp-section",
   "passthrough": true,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": false
    },
    {
     "name": "lead",
     "type": "string",
     "required": false
    },
    {
     "name": "id",
     "type": "native",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SegmentedControl",
   "family": "forms",
   "description": "Mutually exclusive options as a radio group. Works without JS.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SegmentedControl.svelte",
   "import": "@tcpsystems/ui/foundation/SegmentedControl",
   "rootClass": "tcp-segmented",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "name",
     "type": "string",
     "required": true
    },
    {
     "name": "options",
     "type": "Option[]",
     "required": true
    },
    {
     "name": "value",
     "type": "string",
     "required": false,
     "default": "$bindable()"
    }
   ],
   "snippets": [],
   "events": [
    "onvaluechange"
   ]
  },
  {
   "name": "Select",
   "family": "forms",
   "description": "Native select. Use for short lists.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Select.svelte",
   "import": "@tcpsystems/ui/foundation/Select",
   "rootClass": "tcp-select",
   "passthrough": true,
   "props": [
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true'",
     "required": false
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SideNav",
   "family": "navigation",
   "description": "Rail navigation, two levels at most.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SideNav.svelte",
   "import": "@tcpsystems/ui/foundation/SideNav",
   "rootClass": "tcp-sidenav",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "NavItem[]",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Primary'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Skeleton",
   "family": "feedback",
   "description": "Loading placeholder with reserved size. Appears after the feedback delay.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Skeleton.svelte",
   "import": "@tcpsystems/ui/foundation/Skeleton",
   "rootClass": "tcp-skeleton",
   "passthrough": false,
   "props": [
    {
     "name": "width",
     "type": "string",
     "required": false,
     "default": "'100%'"
    },
    {
     "name": "height",
     "type": "string",
     "required": false
    },
    {
     "name": "label",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SkipLinks",
   "family": "nav-3",
   "description": "A set of keyboard skip links that jump focus to key page regions.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SkipLinks.svelte",
   "import": "@tcpsystems/ui/foundation/SkipLinks",
   "rootClass": "tcp-skip-links",
   "passthrough": false,
   "props": [
    {
     "name": "links",
     "type": "Link[]",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Slider",
   "family": "inputs-2",
   "description": "Selects a single numeric value from a range using a native range input and output.",
   "status": "beta",
   "dataAttributes": [
    "data-unit"
   ],
   "file": "src/lib/foundation/Slider.svelte",
   "import": "@tcpsystems/ui/foundation/Slider",
   "rootClass": "tcp-slider-field",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "value",
     "type": "number",
     "required": false,
     "default": "$bindable(0)"
    },
    {
     "name": "min",
     "type": "number",
     "required": true
    },
    {
     "name": "max",
     "type": "number",
     "required": true
    },
    {
     "name": "step",
     "type": "number",
     "required": false,
     "default": "1"
    },
    {
     "name": "unit",
     "type": "string",
     "required": false,
     "default": "''"
    },
    {
     "name": "showValue",
     "type": "boolean",
     "required": false,
     "default": "true"
    },
    {
     "name": "name",
     "type": "string",
     "required": false
    },
    {
     "name": "disabled",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SortHeader",
   "family": "data",
   "description": "Sortable column header as a link, with aria-sort.",
   "status": "beta",
   "dataAttributes": [
    "data-kind",
    "data-priority"
   ],
   "file": "src/lib/foundation/SortHeader.svelte",
   "import": "@tcpsystems/ui/foundation/SortHeader",
   "rootClass": null,
   "passthrough": false,
   "props": [
    {
     "name": "href",
     "type": "string",
     "required": true
    },
    {
     "name": "sort",
     "type": "'none' | 'ascending' | 'descending'",
     "required": false,
     "default": "'none'"
    },
    {
     "name": "kind",
     "type": "'num'",
     "required": false
    },
    {
     "name": "priority",
     "type": "'medium' | 'low'",
     "required": false
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Sparkline",
   "family": "data",
   "description": "Word-sized trend with a required text alternative.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Sparkline.svelte",
   "import": "@tcpsystems/ui/foundation/Sparkline",
   "rootClass": "tcp-spark",
   "passthrough": false,
   "props": [
    {
     "name": "values",
     "type": "number[]",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Spinner",
   "family": "feedback",
   "description": "Inline loading indicator. Appears after the feedback delay.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Spinner.svelte",
   "import": "@tcpsystems/ui/foundation/Spinner",
   "rootClass": "tcp-spinner",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Loading'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Split",
   "family": "layout",
   "description": "Two columns from the large breakpoint, 5 to 7.",
   "status": "beta",
   "dataAttributes": [
    "data-gap",
    "data-justify",
    "data-min",
    "data-width"
   ],
   "file": "src/lib/foundation/Split.svelte",
   "import": "@tcpsystems/ui/foundation/Split",
   "rootClass": "tcp-split",
   "passthrough": true,
   "props": [
    {
     "name": "as",
     "type": "string",
     "required": false,
     "default": "'div'"
    },
    {
     "name": "gap",
     "type": "string",
     "required": false
    },
    {
     "name": "min",
     "type": "string",
     "required": false
    },
    {
     "name": "width",
     "type": "string",
     "required": false
    },
    {
     "name": "justify",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "SplitButton",
   "family": "inputs-2",
   "description": "Combines a primary action button with a menu of related actions.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/SplitButton.svelte",
   "import": "@tcpsystems/ui/foundation/SplitButton",
   "rootClass": "tcp-button-group",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "menuLabel",
     "type": "string",
     "required": true
    },
    {
     "name": "items",
     "type": "Item[]",
     "required": true
    },
    {
     "name": "variant",
     "type": "'primary' | 'secondary' | 'ghost' | 'danger'",
     "required": false
    },
    {
     "name": "id",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": [
    "onclick"
   ]
  },
  {
   "name": "Splitter",
   "family": "navigation",
   "description": "Two panes separated by a draggable resize handle.",
   "status": "beta",
   "dataAttributes": [
    "data-orientation"
   ],
   "file": "src/lib/foundation/Splitter.svelte",
   "import": "@tcpsystems/ui/foundation/Splitter",
   "rootClass": "tcp-splitter",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Resize panes'"
    },
    {
     "name": "min",
     "type": "number",
     "required": false,
     "default": "20"
    },
    {
     "name": "max",
     "type": "number",
     "required": false,
     "default": "80"
    },
    {
     "name": "value",
     "type": "number",
     "required": false,
     "default": "50"
    },
    {
     "name": "orientation",
     "type": "'horizontal' | 'vertical'",
     "required": false,
     "default": "'horizontal'"
    }
   ],
   "snippets": [
    "start",
    "end"
   ],
   "events": []
  },
  {
   "name": "Spoiler",
   "family": "layout-2",
   "description": "A native details disclosure that clamps content to a fixed line count until expanded.",
   "status": "beta",
   "dataAttributes": [
    "data-lines"
   ],
   "file": "src/lib/foundation/Spoiler.svelte",
   "import": "@tcpsystems/ui/foundation/Spoiler",
   "rootClass": "tcp-spoiler",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Show more'"
    },
    {
     "name": "lessLabel",
     "type": "string",
     "required": false,
     "default": "'Show less'"
    },
    {
     "name": "lines",
     "type": "3 | 5 | 8",
     "required": false,
     "default": "3"
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Stack",
   "family": "layout",
   "description": "Vertical flow with a token gap.",
   "status": "beta",
   "dataAttributes": [
    "data-gap",
    "data-justify",
    "data-min",
    "data-width"
   ],
   "file": "src/lib/foundation/Stack.svelte",
   "import": "@tcpsystems/ui/foundation/Stack",
   "rootClass": "tcp-stack",
   "passthrough": true,
   "props": [
    {
     "name": "as",
     "type": "string",
     "required": false,
     "default": "'div'"
    },
    {
     "name": "gap",
     "type": "string",
     "required": false
    },
    {
     "name": "min",
     "type": "string",
     "required": false
    },
    {
     "name": "width",
     "type": "string",
     "required": false
    },
    {
     "name": "justify",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Stat",
   "family": "data",
   "description": "Metric with unit, delta and trend.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Stat.svelte",
   "import": "@tcpsystems/ui/foundation/Stat",
   "rootClass": "tcp-stat",
   "passthrough": false,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "value",
     "type": "string",
     "required": true
    },
    {
     "name": "unit",
     "type": "string",
     "required": false
    },
    {
     "name": "delta",
     "type": "string",
     "required": false
    },
    {
     "name": "deltaTone",
     "type": "'good' | 'bad'",
     "required": false
    },
    {
     "name": "foot",
     "type": "string",
     "required": false
    }
   ],
   "snippets": [
    "spark"
   ],
   "events": []
  },
  {
   "name": "Status",
   "family": "data",
   "description": "System state as shape plus text, never colour alone.",
   "status": "beta",
   "dataAttributes": [
    "data-tone"
   ],
   "file": "src/lib/foundation/Status.svelte",
   "import": "@tcpsystems/ui/foundation/Status",
   "rootClass": "tcp-status",
   "passthrough": true,
   "props": [
    {
     "name": "tone",
     "type": "Tone",
     "required": false,
     "default": "'neutral'"
    },
    {
     "name": "date",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Stepper",
   "family": "progress",
   "description": "Progress step navigation with accessible state markers",
   "status": "beta",
   "dataAttributes": [
    "data-orientation",
    "data-state"
   ],
   "file": "src/lib/foundation/Stepper.svelte",
   "import": "@tcpsystems/ui/foundation/Stepper",
   "rootClass": "tcp-stepper",
   "passthrough": true,
   "props": [
    {
     "name": "steps",
     "type": "Step[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "orientation",
     "type": "'horizontal' | 'vertical'",
     "required": false,
     "default": "'horizontal'"
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Swatch",
   "family": "data",
   "description": "Colour chip with a label.",
   "status": "beta",
   "dataAttributes": [
    "data-size"
   ],
   "file": "src/lib/foundation/Swatch.svelte",
   "import": "@tcpsystems/ui/foundation/Swatch",
   "rootClass": "tcp-swatch",
   "passthrough": false,
   "props": [
    {
     "name": "value",
     "type": "string",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false
    },
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Table",
   "family": "data",
   "description": "Native table in a named, focusable scroll region.",
   "status": "beta",
   "dataAttributes": [
    "data-height"
   ],
   "file": "src/lib/foundation/Table.svelte",
   "import": "@tcpsystems/ui/foundation/Table",
   "rootClass": "tcp-table-frame",
   "passthrough": true,
   "props": [
    {
     "name": "label",
     "type": "string",
     "required": true
    },
    {
     "name": "height",
     "type": "'bounded'",
     "required": false
    },
    {
     "name": "busy",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Tabs",
   "family": "navigation",
   "description": "Link tabs by default, ARIA panel tabs when given a panel.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Tabs.svelte",
   "import": "@tcpsystems/ui/foundation/Tabs",
   "rootClass": "tcp-tabs",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "TabItem[]",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [
    "panel"
   ],
   "events": []
  },
  {
   "name": "Tag",
   "family": "data",
   "description": "User metadata or an applied filter, optionally removable.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Tag.svelte",
   "import": "@tcpsystems/ui/foundation/Tag",
   "rootClass": "tcp-tag",
   "passthrough": true,
   "props": [
    {
     "name": "href",
     "type": "string",
     "required": false
    },
    {
     "name": "removeLabel",
     "type": "string",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": [
    "onremove"
   ]
  },
  {
   "name": "Text",
   "family": "<Text>",
   "description": "A text primitive with size, tone, mono, and truncation options.",
   "status": "beta",
   "dataAttributes": [
    "data-mono",
    "data-size",
    "data-tone",
    "data-truncate"
   ],
   "file": "src/lib/foundation/Text.svelte",
   "import": "@tcpsystems/ui/foundation/Text",
   "rootClass": "tcp-text",
   "passthrough": true,
   "props": [
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    },
    {
     "name": "tone",
     "type": "TextTone",
     "required": false,
     "default": "'neutral'"
    },
    {
     "name": "mono",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "truncate",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "as",
     "type": "'p' | 'span' | 'div'",
     "required": false,
     "default": "'p'"
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "Textarea",
   "family": "forms",
   "description": "Native multi-line control that grows with content.",
   "status": "beta",
   "dataAttributes": [
    "data-kind"
   ],
   "file": "src/lib/foundation/Textarea.svelte",
   "import": "@tcpsystems/ui/foundation/Textarea",
   "rootClass": "tcp-textarea",
   "passthrough": true,
   "props": [
    {
     "name": "kind",
     "type": "'mono'",
     "required": false
    },
    {
     "name": "describedby",
     "type": "string",
     "required": false
    },
    {
     "name": "invalid",
     "type": "'true'",
     "required": false
    },
    {
     "name": "value",
     "type": "native",
     "required": false,
     "default": "$bindable()"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "ThemeSwitch",
   "family": "navigation",
   "description": "Light and dark toggle, persisted.",
   "status": "beta",
   "dataAttributes": [
    "data-storage-key",
    "data-variant"
   ],
   "file": "src/lib/foundation/ThemeSwitch.svelte",
   "import": "@tcpsystems/ui/foundation/ThemeSwitch",
   "rootClass": "tcp-theme-switch",
   "passthrough": false,
   "props": [
    {
     "name": "storageKey",
     "type": "string",
     "required": false,
     "default": "'tcp-theme'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Tile",
   "family": "surfaces",
   "description": "One tile, optionally a link.",
   "status": "beta",
   "dataAttributes": [
    "data-size"
   ],
   "file": "src/lib/foundation/Tile.svelte",
   "import": "@tcpsystems/ui/foundation/Tile",
   "rootClass": "tcp-tile",
   "passthrough": true,
   "props": [
    {
     "name": "title",
     "type": "string",
     "required": false
    },
    {
     "name": "text",
     "type": "string",
     "required": false
    },
    {
     "name": "href",
     "type": "string",
     "required": false
    },
    {
     "name": "size",
     "type": "'sm'",
     "required": false
    },
    {
     "name": "as",
     "type": "'h2' | 'h3' | 'h4'",
     "required": false,
     "default": "'h3'"
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [
    "meta",
    "badge"
   ],
   "events": []
  },
  {
   "name": "Tiles",
   "family": "surfaces",
   "description": "Mosaic of tiles, hairline or block.",
   "status": "beta",
   "dataAttributes": [
    "data-min",
    "data-variant"
   ],
   "file": "src/lib/foundation/Tiles.svelte",
   "import": "@tcpsystems/ui/foundation/Tiles",
   "rootClass": "tcp-tiles",
   "passthrough": true,
   "props": [
    {
     "name": "variant",
     "type": "'block'",
     "required": false
    },
    {
     "name": "min",
     "type": "'sm'",
     "required": false
    },
    {
     "name": "children",
     "type": "native",
     "required": false
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Timeline",
   "family": "data",
   "description": "Time-ordered events.",
   "status": "beta",
   "dataAttributes": [
    "data-gap"
   ],
   "file": "src/lib/foundation/Timeline.svelte",
   "import": "@tcpsystems/ui/foundation/Timeline",
   "rootClass": "tcp-timeline",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Toast",
   "family": "feedback",
   "description": "Transient confirmation. Never the only carrier of an error.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Toast.svelte",
   "import": "@tcpsystems/ui/foundation/Toast",
   "rootClass": "tcp-toast",
   "passthrough": false,
   "props": [
    {
     "name": "tone",
     "type": "'status' | 'alert'",
     "required": false,
     "default": "'status'"
    }
   ],
   "snippets": [
    "action",
    "children"
   ],
   "events": []
  },
  {
   "name": "Toc",
   "family": "navigation",
   "description": "On-this-page list, with a collapsed mobile form.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Toc.svelte",
   "import": "@tcpsystems/ui/foundation/Toc",
   "rootClass": "tcp-toc-mobile",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": true
    },
    {
     "name": "title",
     "type": "string",
     "required": false,
     "default": "'On this page'"
    },
    {
     "name": "mobile",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "ToggleButton",
   "family": "inputs-2",
   "description": "A button that toggles a pressed state and exposes it with aria-pressed.",
   "status": "beta",
   "dataAttributes": [
    "data-block",
    "data-icon-only",
    "data-size",
    "data-variant"
   ],
   "file": "src/lib/foundation/ToggleButton.svelte",
   "import": "@tcpsystems/ui/foundation/ToggleButton",
   "rootClass": "tcp-button",
   "passthrough": true,
   "props": [
    {
     "name": "pressed",
     "type": "boolean",
     "required": false,
     "default": "$bindable(false)"
    },
    {
     "name": "variant",
     "type": "'primary' | 'secondary' | 'ghost' | 'danger'",
     "required": false,
     "default": "'secondary'"
    },
    {
     "name": "size",
     "type": "'sm' | 'md' | 'lg'",
     "required": false,
     "default": "'md'"
    },
    {
     "name": "icon",
     "type": "string",
     "required": false
    },
    {
     "name": "iconEnd",
     "type": "string",
     "required": false
    },
    {
     "name": "iconOnly",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "block",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "loading",
     "type": "boolean",
     "required": false,
     "default": "false"
    },
    {
     "name": "loadingLabel",
     "type": "string",
     "required": false
    },
    {
     "name": "disabled",
     "type": "native",
     "required": false,
     "default": "false"
    },
    {
     "name": "type",
     "type": "native",
     "required": false,
     "default": "'button'"
    }
   ],
   "snippets": [
    "children"
   ],
   "events": [
    "onpressedchange",
    "onclick"
   ]
  },
  {
   "name": "Toolbar",
   "family": "data",
   "description": "Search, filters and actions above a list.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/Toolbar.svelte",
   "import": "@tcpsystems/ui/foundation/Toolbar",
   "rootClass": "tcp-toolbar",
   "passthrough": false,
   "props": [],
   "snippets": [
    "search",
    "end",
    "children"
   ],
   "events": []
  },
  {
   "name": "Tooltip",
   "family": "overlays",
   "description": "Short text on hover and focus. Dismiss with Esc. Never essential information.",
   "status": "beta",
   "dataAttributes": [
    "data-side"
   ],
   "file": "src/lib/foundation/Tooltip.svelte",
   "import": "@tcpsystems/ui/foundation/Tooltip",
   "rootClass": "tcp-tooltip-host",
   "passthrough": false,
   "props": [
    {
     "name": "text",
     "type": "string",
     "required": true
    },
    {
     "name": "side",
     "type": "'top' | 'bottom'",
     "required": false,
     "default": "'top'"
    }
   ],
   "snippets": [
    "children"
   ],
   "events": []
  },
  {
   "name": "TopNav",
   "family": "navigation",
   "description": "Top-level sections in the topbar.",
   "status": "beta",
   "dataAttributes": [],
   "file": "src/lib/foundation/TopNav.svelte",
   "import": "@tcpsystems/ui/foundation/TopNav",
   "rootClass": "tcp-topnav",
   "passthrough": false,
   "props": [
    {
     "name": "items",
     "type": "{ label: string; href: string; current?: boolean }[]",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Sections'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "Topbar",
   "family": "navigation",
   "description": "Suite header: brand, sections, search and account.",
   "status": "beta",
   "dataAttributes": [
    "data-variant"
   ],
   "file": "src/lib/foundation/Topbar.svelte",
   "import": "@tcpsystems/ui/foundation/Topbar",
   "rootClass": "tcp-topbar",
   "passthrough": false,
   "props": [
    {
     "name": "hasRail",
     "type": "boolean",
     "required": false,
     "default": "false"
    }
   ],
   "snippets": [
    "brand",
    "nav",
    "search",
    "end"
   ],
   "events": []
  },
  {
   "name": "Tree",
   "family": "navigation",
   "description": "A hierarchy of links with keyboard navigation.",
   "status": "beta",
   "dataAttributes": [
    "data-expanded",
    "data-id"
   ],
   "file": "src/lib/foundation/Tree.svelte",
   "import": "@tcpsystems/ui/foundation/Tree",
   "rootClass": "tcp-tree",
   "passthrough": true,
   "props": [
    {
     "name": "items",
     "type": "Item[]",
     "required": false,
     "default": "[]"
    },
    {
     "name": "label",
     "type": "string",
     "required": false,
     "default": "'Tree'"
    }
   ],
   "snippets": [],
   "events": []
  },
  {
   "name": "UptimeStrip",
   "family": "data",
   "description": "One block per period with text for every block.",
   "status": "beta",
   "dataAttributes": [
    "data-state"
   ],
   "file": "src/lib/foundation/UptimeStrip.svelte",
   "import": "@tcpsystems/ui/foundation/UptimeStrip",
   "rootClass": "tcp-uptime",
   "passthrough": false,
   "props": [
    {
     "name": "days",
     "type": "Day[]",
     "required": true
    },
    {
     "name": "label",
     "type": "string",
     "required": true
    }
   ],
   "snippets": [],
   "events": []
  }
 ],
 "cssFamilies": {
  "code": [
   "tcp-code",
   "tcp-code-inline",
   "tcp-code__bar",
   "tcp-code__body",
   "tcp-code__copy",
   "tcp-prose",
   "tcp-tok-c",
   "tcp-tok-f",
   "tcp-tok-k",
   "tcp-tok-n",
   "tcp-tok-s"
  ],
  "control": [
   "tcp-brand__product",
   "tcp-button",
   "tcp-check",
   "tcp-checkbox",
   "tcp-field",
   "tcp-field__error",
   "tcp-field__hint",
   "tcp-field__label",
   "tcp-field__optional",
   "tcp-fieldset",
   "tcp-input",
   "tcp-kbd",
   "tcp-link",
   "tcp-radio",
   "tcp-search-trigger",
   "tcp-segmented",
   "tcp-segmented__item",
   "tcp-select",
   "tcp-spinner",
   "tcp-switch",
   "tcp-textarea",
   "tcp-topbar",
   "tcp-topbar__search"
  ],
  "display": [
   "tcp-badge",
   "tcp-callout",
   "tcp-callout__action",
   "tcp-callout__body",
   "tcp-callout__icon",
   "tcp-callout__title",
   "tcp-delta",
   "tcp-dl",
   "tcp-empty",
   "tcp-empty__actions",
   "tcp-empty__code",
   "tcp-empty__text",
   "tcp-empty__title",
   "tcp-error-summary",
   "tcp-meter",
   "tcp-meter__fill",
   "tcp-meter__label",
   "tcp-meter__track",
   "tcp-meter__value",
   "tcp-page-header",
   "tcp-page-header__lead",
   "tcp-page-header__text",
   "tcp-page-header__title",
   "tcp-panel",
   "tcp-panel__body",
   "tcp-panel__head",
   "tcp-panel__title",
   "tcp-preview",
   "tcp-preview__bar",
   "tcp-preview__stage",
   "tcp-rules",
   "tcp-section",
   "tcp-section__head",
   "tcp-section__lead",
   "tcp-section__title",
   "tcp-skeleton",
   "tcp-spark",
   "tcp-stack",
   "tcp-stale",
   "tcp-stat",
   "tcp-stat__foot",
   "tcp-stat__label",
   "tcp-stat__unit",
   "tcp-stat__value",
   "tcp-status",
   "tcp-status__date",
   "tcp-status__mark",
   "tcp-swatch",
   "tcp-swatch__chip",
   "tcp-tag",
   "tcp-tag__remove",
   "tcp-tile",
   "tcp-tile__meta",
   "tcp-tile__text",
   "tcp-tile__title",
   "tcp-tiles",
   "tcp-timeline",
   "tcp-timeline__item",
   "tcp-timeline__text",
   "tcp-timeline__time",
   "tcp-timeline__title",
   "tcp-toast",
   "tcp-toast__action",
   "tcp-uptime",
   "tcp-uptime__cell"
  ],
  "f-feedback-1": [
   "tcp-loading-overlay",
   "tcp-loading-overlay__content",
   "tcp-loading-overlay__label",
   "tcp-loading-overlay__scrim",
   "tcp-loading-overlay__status",
   "tcp-progress",
   "tcp-progress-field",
   "tcp-progress-field__head",
   "tcp-progress-field__label",
   "tcp-progress-field__value",
   "tcp-ring",
   "tcp-ring__bar",
   "tcp-ring__text",
   "tcp-ring__track",
   "tcp-route-progress",
   "tcp-route-progress__bar"
  ],
  "f-feedback-2": [
   "tcp-banner",
   "tcp-banner__action",
   "tcp-banner__body",
   "tcp-banner__dismiss",
   "tcp-button",
   "tcp-icon",
   "tcp-notice",
   "tcp-notice__mark",
   "tcp-result",
   "tcp-result__actions",
   "tcp-result__code",
   "tcp-result__request",
   "tcp-result__text",
   "tcp-result__title",
   "tcp-save-status"
  ],
  "f-inputs-1": [
   "tcp-char-count",
   "tcp-input",
   "tcp-input-group",
   "tcp-input-group__adorn",
   "tcp-number",
   "tcp-number__input",
   "tcp-number__step",
   "tcp-number__unit",
   "tcp-password",
   "tcp-password__input",
   "tcp-password__toggle",
   "tcp-pin"
  ],
  "f-inputs-2": [
   "tcp-button",
   "tcp-button-group",
   "tcp-range",
   "tcp-range__head",
   "tcp-range__input",
   "tcp-range__input--high",
   "tcp-range__number",
   "tcp-range__numbers",
   "tcp-range__tracks",
   "tcp-rating",
   "tcp-rating--readonly",
   "tcp-rating__input",
   "tcp-rating__mark",
   "tcp-rating__marks",
   "tcp-rating__option",
   "tcp-rating__options",
   "tcp-rating__text",
   "tcp-slider",
   "tcp-slider-field",
   "tcp-slider-field__head",
   "tcp-slider__output"
  ],
  "f-inputs-3": [
   "tcp-color",
   "tcp-color__controls",
   "tcp-color__picker",
   "tcp-color__sample",
   "tcp-color__swatches",
   "tcp-dropzone",
   "tcp-dropzone__error",
   "tcp-dropzone__hint",
   "tcp-field__label",
   "tcp-file-input",
   "tcp-file-input__names",
   "tcp-file-input__native",
   "tcp-file-input__trigger",
   "tcp-file-list",
   "tcp-file-list__empty",
   "tcp-file-list__error",
   "tcp-file-list__name",
   "tcp-file-list__progress",
   "tcp-file-list__row",
   "tcp-file-list__size",
   "tcp-input"
  ],
  "f-layout-1": [
   "tcp-aspect",
   "tcp-divider",
   "tcp-divider-labelled",
   "tcp-divider-labelled__label",
   "tcp-divider-labelled__line",
   "tcp-heading",
   "tcp-list",
   "tcp-scroll",
   "tcp-text"
  ],
  "f-layout-2": [
   "tcp-avatar",
   "tcp-avatar--more",
   "tcp-avatar-group",
   "tcp-collapse",
   "tcp-collapse__body",
   "tcp-collapse__summary",
   "tcp-icon",
   "tcp-image",
   "tcp-indicator",
   "tcp-indicator__badge",
   "tcp-spoiler",
   "tcp-spoiler__content",
   "tcp-spoiler__less",
   "tcp-spoiler__more",
   "tcp-spoiler__toggle"
  ],
  "f-nav-1": [
   "tcp-accordion",
   "tcp-accordion__chev",
   "tcp-accordion__heading",
   "tcp-accordion__item",
   "tcp-accordion__panel",
   "tcp-accordion__summary",
   "tcp-anchor-nav",
   "tcp-anchor-nav__label",
   "tcp-anchor-nav__link",
   "tcp-anchor-nav__list",
   "tcp-stepper",
   "tcp-stepper__desc",
   "tcp-stepper__item",
   "tcp-stepper__label",
   "tcp-stepper__label-text",
   "tcp-stepper__link",
   "tcp-stepper__list",
   "tcp-stepper__marker",
   "tcp-stepper__text"
  ],
  "f-nav-2": [
   "tcp-overflow",
   "tcp-overflow__link",
   "tcp-overflow__links",
   "tcp-overflow__more",
   "tcp-splitter",
   "tcp-splitter__handle",
   "tcp-splitter__pane",
   "tcp-tree"
  ],
  "f-nav-3": [
   "tcp-env-band",
   "tcp-env-band__mark",
   "tcp-env-band__name",
   "tcp-icon",
   "tcp-nav-group__label",
   "tcp-nav-link",
   "tcp-rail-toggle",
   "tcp-scope-switcher",
   "tcp-scope-switcher__chevron",
   "tcp-scope-switcher__create",
   "tcp-scope-switcher__filter",
   "tcp-scope-switcher__filter-input",
   "tcp-scope-switcher__option",
   "tcp-scope-switcher__option-desc",
   "tcp-scope-switcher__option-name",
   "tcp-scope-switcher__options",
   "tcp-scope-switcher__panel",
   "tcp-scope-switcher__popover",
   "tcp-scope-switcher__trigger",
   "tcp-shell",
   "tcp-shell__rail",
   "tcp-sidenav__abbr",
   "tcp-sidenav__label",
   "tcp-sidenav__link",
   "tcp-skip-link",
   "tcp-skip-links",
   "tcp-visually-hidden"
  ],
  "hero": [
   "tcp-hero",
   "tcp-hero__actions",
   "tcp-hero__aside",
   "tcp-hero__copy",
   "tcp-hero__lead",
   "tcp-hero__title"
  ],
  "nav": [
   "tcp-brand",
   "tcp-brand__mark",
   "tcp-brand__product",
   "tcp-breadcrumbs",
   "tcp-footer",
   "tcp-footer__end",
   "tcp-footer__grid",
   "tcp-footer__title",
   "tcp-icon",
   "tcp-pager",
   "tcp-pager__dir",
   "tcp-pager__link",
   "tcp-pager__title",
   "tcp-shell",
   "tcp-shell__aside",
   "tcp-shell__main",
   "tcp-shell__menu",
   "tcp-shell__page",
   "tcp-shell__rail",
   "tcp-shell__top",
   "tcp-sidenav",
   "tcp-sidenav__label",
   "tcp-sidenav__link",
   "tcp-tab",
   "tcp-tabs",
   "tcp-tabs__list",
   "tcp-tabs__panel",
   "tcp-toc",
   "tcp-toc-mobile",
   "tcp-toc__title",
   "tcp-topbar",
   "tcp-topbar__end",
   "tcp-topbar__search",
   "tcp-topnav"
  ],
  "overlay": [
   "tcp-dialog",
   "tcp-dialog__body",
   "tcp-dialog__foot",
   "tcp-dialog__head",
   "tcp-dialog__title",
   "tcp-kbd",
   "tcp-menu",
   "tcp-menu__item",
   "tcp-menu__sep",
   "tcp-popover",
   "tcp-search-dialog",
   "tcp-search-dialog__empty",
   "tcp-search-dialog__input",
   "tcp-search-results",
   "tcp-search-results__group",
   "tcp-search-results__path",
   "tcp-tooltip",
   "tcp-tooltip-host"
  ],
  "prose": [
   "tcp-prose",
   "tcp-table-frame"
  ],
  "table": [
   "tcp-bulkbar",
   "tcp-empty",
   "tcp-filter-chips",
   "tcp-icon",
   "tcp-pagination",
   "tcp-pagination__item",
   "tcp-pagination__list",
   "tcp-prose",
   "tcp-table",
   "tcp-table-frame",
   "tcp-table__sort",
   "tcp-table__state",
   "tcp-toolbar",
   "tcp-toolbar__end",
   "tcp-toolbar__search"
  ]
 },
 "tokens": [
  "--tcp-border-hairline",
  "--tcp-border-offset-inner",
  "--tcp-border-offset-outer",
  "--tcp-border-ring",
  "--tcp-border-ring-offset",
  "--tcp-border-style-solid",
  "--tcp-border-width-hairline",
  "--tcp-border-width-ring",
  "--tcp-border-width-thick",
  "--tcp-breakpoint-lg",
  "--tcp-breakpoint-md",
  "--tcp-breakpoint-sm",
  "--tcp-breakpoint-xl",
  "--tcp-chart-axis",
  "--tcp-chart-cat-1",
  "--tcp-chart-cat-2",
  "--tcp-chart-cat-3",
  "--tcp-chart-cat-4",
  "--tcp-chart-cat-5",
  "--tcp-chart-cat-6",
  "--tcp-chart-cat-7",
  "--tcp-chart-cat-8",
  "--tcp-chart-div-1",
  "--tcp-chart-div-10",
  "--tcp-chart-div-11",
  "--tcp-chart-div-2",
  "--tcp-chart-div-3",
  "--tcp-chart-div-4",
  "--tcp-chart-div-5",
  "--tcp-chart-div-6",
  "--tcp-chart-div-7",
  "--tcp-chart-div-8",
  "--tcp-chart-div-9",
  "--tcp-chart-grid",
  "--tcp-chart-label",
  "--tcp-chart-other",
  "--tcp-chart-seq-1",
  "--tcp-chart-seq-2",
  "--tcp-chart-seq-3",
  "--tcp-chart-seq-4",
  "--tcp-chart-seq-5",
  "--tcp-chart-seq-6",
  "--tcp-chart-seq-7",
  "--tcp-chart-seq-8",
  "--tcp-chart-seq-9",
  "--tcp-color-accent-action",
  "--tcp-color-accent-action-active",
  "--tcp-color-accent-action-hover",
  "--tcp-color-accent-focus",
  "--tcp-color-accent-on-action",
  "--tcp-color-accent-solid",
  "--tcp-color-accent-text",
  "--tcp-color-accent-text-hover",
  "--tcp-color-accent-tint",
  "--tcp-color-accent-tint-active",
  "--tcp-color-accent-tint-border",
  "--tcp-color-accent-tint-hover",
  "--tcp-color-bg-active",
  "--tcp-color-bg-canvas",
  "--tcp-color-bg-hover",
  "--tcp-color-bg-inset",
  "--tcp-color-bg-inverse",
  "--tcp-color-bg-panel",
  "--tcp-color-bg-raised",
  "--tcp-color-bg-scrim",
  "--tcp-color-bg-selected",
  "--tcp-color-border-control",
  "--tcp-color-border-default",
  "--tcp-color-border-focus",
  "--tcp-color-border-strong",
  "--tcp-color-border-subtle",
  "--tcp-color-danger-action",
  "--tcp-color-danger-action-active",
  "--tcp-color-danger-action-hover",
  "--tcp-color-danger-bg",
  "--tcp-color-danger-bg-hover",
  "--tcp-color-danger-border",
  "--tcp-color-danger-fg",
  "--tcp-color-danger-on-action",
  "--tcp-color-danger-solid",
  "--tcp-color-fg-disabled",
  "--tcp-color-fg-inverse",
  "--tcp-color-fg-link",
  "--tcp-color-fg-link-hover",
  "--tcp-color-fg-muted",
  "--tcp-color-fg-primary",
  "--tcp-color-fg-secondary",
  "--tcp-color-info-action",
  "--tcp-color-info-action-hover",
  "--tcp-color-info-bg",
  "--tcp-color-info-bg-hover",
  "--tcp-color-info-border",
  "--tcp-color-info-fg",
  "--tcp-color-info-on-action",
  "--tcp-color-info-solid",
  "--tcp-color-neutral-bg",
  "--tcp-color-neutral-border",
  "--tcp-color-neutral-fg",
  "--tcp-color-ok-action",
  "--tcp-color-ok-action-hover",
  "--tcp-color-ok-bg",
  "--tcp-color-ok-bg-hover",
  "--tcp-color-ok-border",
  "--tcp-color-ok-fg",
  "--tcp-color-ok-on-action",
  "--tcp-color-ok-solid",
  "--tcp-color-selection-bg",
  "--tcp-color-shadow-ambient",
  "--tcp-color-shadow-key",
  "--tcp-color-warn-action",
  "--tcp-color-warn-action-hover",
  "--tcp-color-warn-bg",
  "--tcp-color-warn-bg-hover",
  "--tcp-color-warn-border",
  "--tcp-color-warn-fg",
  "--tcp-color-warn-on-action",
  "--tcp-color-warn-solid",
  "--tcp-font-family-mono",
  "--tcp-font-family-sans",
  "--tcp-font-line-height-2xl",
  "--tcp-font-line-height-3xl",
  "--tcp-font-line-height-4xl",
  "--tcp-font-line-height-5xl",
  "--tcp-font-line-height-lg",
  "--tcp-font-line-height-md",
  "--tcp-font-line-height-prose",
  "--tcp-font-line-height-sm",
  "--tcp-font-line-height-xl",
  "--tcp-font-line-height-xs",
  "--tcp-font-size-2xl",
  "--tcp-font-size-3xl",
  "--tcp-font-size-4xl",
  "--tcp-font-size-5xl",
  "--tcp-font-size-lg",
  "--tcp-font-size-md",
  "--tcp-font-size-sm",
  "--tcp-font-size-xl",
  "--tcp-font-size-xs",
  "--tcp-font-tracking-body",
  "--tcp-font-tracking-caps",
  "--tcp-font-tracking-normal",
  "--tcp-font-tracking-tight1",
  "--tcp-font-tracking-tight2",
  "--tcp-font-tracking-tight3",
  "--tcp-font-tracking-tight4",
  "--tcp-font-weight-medium",
  "--tcp-font-weight-regular",
  "--tcp-font-weight-semibold",
  "--tcp-motion-duration-base",
  "--tcp-motion-duration-fast",
  "--tcp-motion-duration-instant",
  "--tcp-motion-duration-moderate",
  "--tcp-motion-duration-slow",
  "--tcp-motion-easing-enter",
  "--tcp-motion-easing-exit",
  "--tcp-motion-easing-standard",
  "--tcp-motion-enter",
  "--tcp-motion-exit",
  "--tcp-motion-fade",
  "--tcp-motion-feedback-delay",
  "--tcp-motion-feedback-min",
  "--tcp-motion-hover",
  "--tcp-motion-layout",
  "--tcp-radius-0",
  "--tcp-radius-1",
  "--tcp-radius-2",
  "--tcp-radius-3",
  "--tcp-radius-control",
  "--tcp-radius-dot",
  "--tcp-radius-full",
  "--tcp-radius-overlay",
  "--tcp-radius-structure",
  "--tcp-shadow-dialog",
  "--tcp-shadow-hairline",
  "--tcp-shadow-menu",
  "--tcp-shadow-toast",
  "--tcp-size-control-lg",
  "--tcp-size-control-md",
  "--tcp-size-control-sm",
  "--tcp-size-icon-lg",
  "--tcp-size-icon-md",
  "--tcp-size-icon-sm",
  "--tcp-size-icon-xs",
  "--tcp-size-measure-dialog-lg",
  "--tcp-size-measure-dialog-md",
  "--tcp-size-measure-dialog-sm",
  "--tcp-size-measure-drawer",
  "--tcp-size-measure-form",
  "--tcp-size-measure-lead",
  "--tcp-size-measure-page",
  "--tcp-size-measure-prose",
  "--tcp-size-measure-rail",
  "--tcp-size-measure-rail-collapsed",
  "--tcp-size-measure-tile",
  "--tcp-size-measure-tile-sm",
  "--tcp-size-measure-toc",
  "--tcp-size-measure-topbar",
  "--tcp-size-row",
  "--tcp-size-step-20",
  "--tcp-size-step-24",
  "--tcp-size-step-28",
  "--tcp-size-step-32",
  "--tcp-size-step-36",
  "--tcp-size-step-40",
  "--tcp-size-step-44",
  "--tcp-size-step-48",
  "--tcp-size-step-56",
  "--tcp-size-step-64",
  "--tcp-size-target-min",
  "--tcp-space-0",
  "--tcp-space-0-5",
  "--tcp-space-1",
  "--tcp-space-1-5",
  "--tcp-space-10",
  "--tcp-space-12",
  "--tcp-space-16",
  "--tcp-space-2",
  "--tcp-space-20",
  "--tcp-space-24",
  "--tcp-space-3",
  "--tcp-space-4",
  "--tcp-space-5",
  "--tcp-space-6",
  "--tcp-space-8",
  "--tcp-space-gap-lg",
  "--tcp-space-gap-md",
  "--tcp-space-gap-sm",
  "--tcp-space-gap-xs",
  "--tcp-space-gutter",
  "--tcp-space-inset-lg",
  "--tcp-space-inset-md",
  "--tcp-space-inset-sm",
  "--tcp-space-inset-xl",
  "--tcp-space-inset-xs",
  "--tcp-space-px",
  "--tcp-type-body-family",
  "--tcp-type-body-line-height",
  "--tcp-type-body-size",
  "--tcp-type-body-strong-family",
  "--tcp-type-body-strong-line-height",
  "--tcp-type-body-strong-size",
  "--tcp-type-body-strong-tracking",
  "--tcp-type-body-strong-weight",
  "--tcp-type-body-tracking",
  "--tcp-type-body-weight",
  "--tcp-type-caption-family",
  "--tcp-type-caption-line-height",
  "--tcp-type-caption-size",
  "--tcp-type-caption-tracking",
  "--tcp-type-caption-weight",
  "--tcp-type-code-family",
  "--tcp-type-code-line-height",
  "--tcp-type-code-size",
  "--tcp-type-code-tracking",
  "--tcp-type-code-weight",
  "--tcp-type-data-family",
  "--tcp-type-data-line-height",
  "--tcp-type-data-size",
  "--tcp-type-data-tracking",
  "--tcp-type-data-weight",
  "--tcp-type-display-family",
  "--tcp-type-display-line-height",
  "--tcp-type-display-size",
  "--tcp-type-display-tracking",
  "--tcp-type-display-weight",
  "--tcp-type-h1-family",
  "--tcp-type-h1-line-height",
  "--tcp-type-h1-size",
  "--tcp-type-h1-tracking",
  "--tcp-type-h1-weight",
  "--tcp-type-h2-family",
  "--tcp-type-h2-line-height",
  "--tcp-type-h2-size",
  "--tcp-type-h2-tracking",
  "--tcp-type-h2-weight",
  "--tcp-type-h3-family",
  "--tcp-type-h3-line-height",
  "--tcp-type-h3-size",
  "--tcp-type-h3-tracking",
  "--tcp-type-h3-weight",
  "--tcp-type-h4-family",
  "--tcp-type-h4-line-height",
  "--tcp-type-h4-size",
  "--tcp-type-h4-tracking",
  "--tcp-type-h4-weight",
  "--tcp-type-hero-family",
  "--tcp-type-hero-fluid",
  "--tcp-type-hero-line-height",
  "--tcp-type-hero-size",
  "--tcp-type-hero-tracking",
  "--tcp-type-hero-weight",
  "--tcp-type-label-family",
  "--tcp-type-label-line-height",
  "--tcp-type-label-size",
  "--tcp-type-label-tracking",
  "--tcp-type-label-weight",
  "--tcp-type-mono-label-family",
  "--tcp-type-mono-label-line-height",
  "--tcp-type-mono-label-size",
  "--tcp-type-mono-label-tracking",
  "--tcp-type-mono-label-weight",
  "--tcp-type-prose-family",
  "--tcp-type-prose-line-height",
  "--tcp-type-prose-size",
  "--tcp-type-prose-tracking",
  "--tcp-type-prose-weight",
  "--tcp-z-base",
  "--tcp-z-overlay",
  "--tcp-z-popover",
  "--tcp-z-rail",
  "--tcp-z-sticky",
  "--tcp-z-toast",
  "--tcp-z-tooltip",
  "--tcp-z-topbar"
 ]
}
