{
  "generatedAt": "2026-07-07T12:17:11.091Z",
  "version": "4.4.0",
  "totals": {
    "components": 43,
    "patterns": 20,
    "tokens": 918
  },
  "figma": {
    "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
    "fileName": "Kanso-Protocol-Design-System",
    "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System",
    "pages": {
      "components": {
        "id": "0:1",
        "name": "🧩 Components"
      },
      "patterns": {
        "id": "3612:2",
        "name": "📐 Patterns"
      },
      "foundations": {
        "id": "6:4",
        "name": "🎨 Foundations"
      },
      "examples": {
        "id": "3753:2",
        "name": "🖼️ Example Pages"
      },
      "assets": {
        "id": "17:2",
        "name": "⚙️ Assets"
      },
      "manifest": {
        "id": "6:3",
        "name": "📋 Manifest"
      },
      "cover": {
        "id": "6:2",
        "name": "📖 Cover"
      }
    },
    "iconLibrary": {
      "$comment": "Tabler icons used in this library are now detached (inlined into the Kanso file) so community duplicators don't need an external library subscription. To add NEW icons inside Figma, use the official Tabler Icons plugin and drag glyphs in directly. The previous external file ref (0bgkes9nJYbk0vonduKaVZ) has been removed — every icon node now lives locally."
    },
    "foundations": {
      "typography": "3043:2",
      "colors": "3051:2",
      "spacing": "3055:2",
      "sizing": "3056:2",
      "radius": "3057:2",
      "elevation": "3881:2",
      "overlays": "3881:30",
      "foreground-on-dark": "3881:73",
      "motion": "3881:93"
    }
  },
  "components": [
    {
      "name": "accordion",
      "className": "KpAccordionComponent",
      "selector": "kp-accordion",
      "subSelectors": [
        "kp-accordion-item"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/accordion",
      "description": "Kanso Protocol — Accordion\n\nContainer for `<kp-accordion-item>` children. Coordinates the\nexpand/collapse behavior via `[mode]`:\n  - `single` — only one item can be open; expanding a new one collapses the previous.\n  - `multi`  — any number of items can be open simultaneously.\n\nCascades `size` to every projected item so callers set it once on\nthe container. Set `[showOuterBorder]=\"true\"` to wrap the group in\na 1px border with rounded corners (for standalone accordions on\nflat surfaces). Otherwise only the per-item bottom borders show.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpAccordionItemSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "mode",
          "type": "KpAccordionMode",
          "default": "'single'",
          "description": ""
        },
        {
          "name": "showOuterBorder",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-accordion--docs",
      "sourcePath": "packages/ui/accordion/src/accordion.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11103",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11103"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpAccordionComponent",
        "selector": "kp-accordion",
        "import": "import { KpAccordionComponent } from '@kanso-protocol/ui/accordion';",
        "docs": "docs/components/accordion.md",
        "storybook": "components-accordion--docs"
      }
    },
    {
      "name": "alert",
      "className": "KpAlertComponent",
      "selector": "kp-alert",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/alert",
      "description": "Kanso Protocol — Alert\n\nIn-page banner for statuses, errors, warnings, and short messages. 3 sizes ×\n4 appearances (subtle / solid / outline / left-accent) × 6 color roles, plus\nan optional leading icon, an action slot (inline right or stacked below),\nand a close button.",
      "examples": [
        "<kp-alert color=\"success\" title=\"Changes saved\" description=\"Profile updated.\">\n  <svg kpAlertIcon .../>\n</kp-alert>\n\n<kp-alert color=\"warning\" appearance=\"left-accent\" title=\"Review required\"\n          description=\"3 items need your approval.\">\n  <button kpButton kpAlertAction size=\"sm\" variant=\"subtle\">Review</button>\n</kp-alert>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpAlertSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpAlertAppearance",
          "default": "'subtle'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpAlertColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "actionPlacement",
          "type": "KpAlertActionPlacement",
          "default": "'inline'",
          "description": ""
        },
        {
          "name": "closable",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "close",
          "payload": "MouseEvent"
        }
      ],
      "ariaRole": "alert",
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-alert--docs",
      "sourcePath": "packages/ui/alert/src/alert.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11044",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11044"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpAlertComponent",
        "selector": "kp-alert",
        "import": "import { KpAlertComponent } from '@kanso-protocol/ui/alert';",
        "docs": "docs/components/alert.md",
        "storybook": "components-alert--docs"
      }
    },
    {
      "name": "avatar",
      "className": "KpAvatarComponent",
      "selector": "kp-avatar",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/avatar",
      "description": "Kanso Protocol — Avatar\n\nUser-facing identity surface: image / initials / icon. Six sizes\n× two shapes, seven color appearances, optional presence status\ndot and ring (for stacks).\n\nContent precedence: `src` → image, else `initials` → initials,\nelse projected `<svg>` / default user glyph.",
      "examples": [
        "<kp-avatar size=\"md\" initials=\"GB\"/>\n<kp-avatar size=\"lg\" src=\"/me.jpg\" [showStatus]=\"true\" status=\"online\"/>\n<kp-avatar size=\"xl\" shape=\"square\" appearance=\"neutral\">\n  <svg><!-- company glyph --></svg>\n</kp-avatar>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpAvatarSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "shape",
          "type": "KpAvatarShape",
          "default": "'circle'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpAvatarAppearance",
          "default": "'default'",
          "description": ""
        },
        {
          "name": "initials",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "src",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "alt",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showStatus",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "status",
          "type": "KpAvatarStatus",
          "default": "'online'",
          "description": ""
        },
        {
          "name": "showRing",
          "type": "boolean",
          "default": "false",
          "description": "Adds a contrasting outer ring — used by AvatarGroup for overlapping stacks"
        },
        {
          "name": "ariaLabelOverride",
          "type": "string | null",
          "default": "null",
          "description": "Override the auto-computed aria-label (defaults to initials/alt)"
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl",
        "2xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-avatar--docs",
      "sourcePath": "packages/ui/avatar/src/avatar.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11139",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11139"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpAvatarComponent",
        "selector": "kp-avatar",
        "import": "import { KpAvatarComponent } from '@kanso-protocol/ui/avatar';",
        "docs": "docs/components/avatar.md",
        "storybook": "components-avatar--docs"
      }
    },
    {
      "name": "avatar-group",
      "className": "KpAvatarGroupComponent",
      "selector": "kp-avatar-group",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/avatar-group",
      "description": "Kanso Protocol — AvatarGroup\n\nOverlapping stack of Avatars with an optional \"+N\" count chip.\nItems after `max` collapse into the count; `total` drives the\ndisplayed number (\"+N\" = `total - visible.length`).\n\nEach avatar is rendered with `showRing=true` so the overlap\nreads cleanly against any background.",
      "examples": [
        "<kp-avatar-group size=\"sm\" [items]=\"members\" [max]=\"4\" [total]=\"members.length\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "Exclude<KpAvatarSize, '2xl'>",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "overlap",
          "type": "KpAvatarGroupOverlap",
          "default": "'normal'",
          "description": ""
        },
        {
          "name": "showCount",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "2xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-avatargroup--docs",
      "sourcePath": "packages/ui/avatar-group/src/avatar-group.component.ts",
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpAvatarGroupComponent",
        "selector": "kp-avatar-group",
        "import": "import { KpAvatarGroupComponent } from '@kanso-protocol/ui/avatar-group';",
        "docs": "docs/components/avatar-group.md",
        "storybook": "components-avatargroup--docs"
      }
    },
    {
      "name": "badge",
      "className": "KpBadgeComponent",
      "selector": "kp-badge",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/badge",
      "description": "Kanso Protocol — Badge\n\nCompact label for statuses, tags, and counters. 3 sizes × 4 appearances\n× 6 color roles. A leading dot and a leading icon are independent\noptional slots; the dot appearance drops the background and border so\nthe dot becomes the only colour cue.",
      "examples": [
        "<kp-badge color=\"success\">Active</kp-badge>\n<kp-badge appearance=\"dot\" color=\"warning\" [showLeadingDot]=\"true\">Away</kp-badge>\n<kp-badge pill [closable]=\"true\" color=\"neutral\" appearance=\"subtle\" (close)=\"remove()\">Design</kp-badge>\n<kp-badge size=\"xs\" color=\"danger\" [count]=\"true\">12</kp-badge>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpBadgeSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpBadgeAppearance",
          "default": "'filled'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpBadgeColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "pill",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "count",
          "type": "boolean",
          "default": "false",
          "description": "Counter shape: a tight circle for short numeric content (notification badges, \"1\", \"12\", \"99+\"). Use `pill` for word-bearing chips."
        },
        {
          "name": "counter",
          "type": "number | string | null",
          "default": "null",
          "description": "Numeric counter rendered as a small chip after the label (same idea as the\ncount chip in Tabs). Fully additive: it shows only when set and never\nchanges the label, icon, dot, or shape. Set a number (or \"99+\") to show it;\nleave null/'' to hide. This is the \"just a number\" counter — distinct from\n`count`, which reshapes the whole badge into a circle."
        },
        {
          "name": "showLeadingDot",
          "type": "boolean",
          "default": "false",
          "description": "Render a small colored dot before the label (independent of `appearance='dot'`; auto-shown for that appearance)"
        },
        {
          "name": "closable",
          "type": "boolean",
          "default": "false",
          "description": "Render a ✕ affordance after the label and emit `close` when clicked"
        }
      ],
      "outputs": [
        {
          "name": "close",
          "payload": "MouseEvent"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-badge--docs",
      "sourcePath": "packages/ui/badge/src/badge.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11040",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11040"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpBadgeComponent",
        "selector": "kp-badge",
        "import": "import { KpBadgeComponent } from '@kanso-protocol/ui/badge';",
        "docs": "docs/components/badge.md",
        "storybook": "components-badge--docs"
      }
    },
    {
      "name": "breadcrumbs",
      "className": "KpBreadcrumbsComponent",
      "selector": "kp-breadcrumbs",
      "subSelectors": [
        "kp-breadcrumb-item",
        "kp-breadcrumb-separator",
        "kp-breadcrumbs-auto"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/breadcrumbs",
      "description": "Kanso Protocol — Breadcrumbs (container)\n\nSemantic `<nav aria-label=\"Breadcrumb\">` with an ordered list of items\nand separators. Cascades `size` to every projected `<kp-breadcrumb-item>`\nand `<kp-breadcrumb-separator>` so callers set it in one place.\n\nThe component is intentionally composable — callers include items\nand separators in the order they want them rendered. This keeps it\ncompatible with whatever routing/data source you use and makes the\noverflow `...` affordance trivial (just drop an `<kp-breadcrumb-item\ntype=\"ellipsis\">` between items).",
      "examples": [
        "<kp-breadcrumbs size=\"md\" ariaLabel=\"Breadcrumb\">\n  <kp-breadcrumb-item type=\"link\" href=\"/\">\n    <svg kpBreadcrumbIcon .../>\n  </kp-breadcrumb-item>\n  <kp-breadcrumb-separator type=\"chevron\"/>\n  <kp-breadcrumb-item type=\"link\" label=\"Projects\" href=\"/projects\"/>\n  <kp-breadcrumb-separator type=\"chevron\"/>\n  <kp-breadcrumb-item type=\"current\" label=\"Button\"/>\n</kp-breadcrumbs>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpBreadcrumbsSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "'Breadcrumb'",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-breadcrumbs--docs",
      "sourcePath": "packages/ui/breadcrumbs/src/breadcrumbs.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11072",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11072"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpBreadcrumbsComponent",
        "selector": "kp-breadcrumbs",
        "import": "import { KpBreadcrumbsComponent } from '@kanso-protocol/ui/breadcrumbs';",
        "docs": "docs/components/breadcrumbs.md",
        "storybook": "components-breadcrumbs--docs"
      }
    },
    {
      "name": "button",
      "className": "KpButtonComponent",
      "selector": "button[kpButton]",
      "subSelectors": [
        "kp-icon-button"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/button",
      "description": "Kanso Protocol — Button\n\nAttribute-selector on a real native `<button>`. Gets `type` / `form` /\n`name` / `value` / `formaction` / native disabled / Enter+Space /\nform submission / HTML5 validation for free.",
      "examples": [
        "<button kpButton size=\"md\" variant=\"default\" color=\"primary\">Click me</button>\n<button kpButton type=\"submit\" color=\"primary\">Save</button>\n<button kpButton variant=\"outline\" color=\"danger\" [loading]=\"true\">Delete</button>"
      ],
      "inputs": [
        {
          "name": "type",
          "type": "'button' | 'submit' | 'reset'",
          "default": "'button'",
          "description": "Native button type. Defaults to \"button\" (safer than browser default \"submit\")."
        },
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "variant",
          "type": "KpVariant",
          "default": "'default'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpButtonColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "loading",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "iconOnly",
          "type": "boolean",
          "default": "false",
          "description": "Hides the label and makes the button square — pair with an icon and `aria-label`.\n      booleanAttribute so a bare `iconOnly` attribute coerces to true (a plain\n      `@Input() = false` left a bare attribute as the falsy empty string)."
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": "Force a visual state for showcase/documentation purposes."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-button--docs",
      "sourcePath": "packages/ui/button/src/button.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:10993",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-10993"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpButtonComponent",
        "selector": "kp-button",
        "import": "import { KpButtonComponent } from '@kanso-protocol/ui/button';",
        "docs": "docs/components/button.md",
        "storybook": "components-button--docs"
      }
    },
    {
      "name": "card",
      "className": "KpCardComponent",
      "selector": "kp-card",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/card",
      "description": "Kanso Protocol — Card\n\nUniversal container with optional header (title + description +\naction), body, and footer. Each section toggles via boolean inputs;\ndividers can be added between sections for visual grouping.\n\nSet `appearance=\"elevated\"` for a shadowed surface, `\"muted\"` for a\ngray background with dimmed text (secondary / preview content),\n`\"subtle\"` for a gray background with full-strength text and no\nborder (primary content visually separated from the page), or\n`\"outline\"` for a transparent panel with just a border. Setting\n`[clickable]=\"true\"` adds a hover state and emits `(cardClick)` —\nwire it to navigate, expand, or run any action.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpCardSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpCardAppearance",
          "default": "'default'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showHeaderAction",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showHeaderDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooterDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "clickable",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "cardClick",
          "payload": "Event"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-card--docs",
      "sourcePath": "packages/ui/card/src/card.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11091",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11091"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpCardComponent",
        "selector": "kp-card",
        "import": "import { KpCardComponent } from '@kanso-protocol/ui/card';",
        "docs": "docs/components/card.md",
        "storybook": "components-card--docs"
      }
    },
    {
      "name": "checkbox",
      "className": "KpCheckboxComponent",
      "selector": "kp-checkbox",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/checkbox",
      "description": "Kanso Protocol — Checkbox\n\nWraps a real native `<input type=\"checkbox\">` inside a styled `<label>`.\nForm submission, FormData, `<label for>` association, password manager\nautofill, native indeterminate, Space-toggle, and HTML5 validation\n(`required`) all work without polyfills.",
      "examples": [
        "<kp-checkbox [(checked)]=\"isChecked\" size=\"md\">Remember me</kp-checkbox>\n<kp-checkbox [indeterminate]=\"true\">Select all</kp-checkbox>\n<form><kp-checkbox name=\"agree\" value=\"yes\" required>I agree</kp-checkbox></form>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpCheckboxSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpCheckboxColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "checked",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "indeterminate",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "required",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "value",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "hasLabel",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "ariaDescribedby",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "checkedChange",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-checkbox--docs",
      "sourcePath": "packages/ui/checkbox/src/checkbox.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11001",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11001"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpCheckboxComponent",
        "selector": "kp-checkbox",
        "import": "import { KpCheckboxComponent } from '@kanso-protocol/ui/checkbox';",
        "docs": "docs/components/checkbox.md",
        "storybook": "components-checkbox--docs"
      }
    },
    {
      "name": "combobox",
      "className": "KpComboboxComponent",
      "selector": "kp-combobox",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/combobox",
      "description": "Kanso Protocol — Combobox\n\nSelect with an embedded text input for filtering. Type to narrow the\ndropdown list; pick an option with click, `Enter`, or `Tab`. Supports\nsingle and multi selection. Matches Input's size ramp so it composes\nwith other form controls.",
      "examples": [
        "<kp-combobox [options]=\"countries\" [(ngModel)]=\"country\"/>\n<kp-combobox [multiple]=\"true\" [options]=\"tags\" [(ngModel)]=\"picked\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "'Search or select…'",
          "description": ""
        },
        {
          "name": "emptyMessage",
          "type": "string",
          "default": "'No results found'",
          "description": ""
        },
        {
          "name": "options",
          "type": "KpComboboxOption[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "multiple",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showClear",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": "Force visual state for showcase/documentation purposes"
        },
        {
          "name": "loading",
          "type": "boolean",
          "default": "false",
          "description": "Show a loading row + suppress the empty message — for async search."
        },
        {
          "name": "serverFilter",
          "type": "boolean",
          "default": "false",
          "description": "Skip built-in client-side filtering: the consumer supplies already-filtered\n `options` (server-side search) and uses `(queryChange)` as the fetch trigger."
        },
        {
          "name": "filterDebounce",
          "type": "number",
          "default": "0",
          "description": "Debounce (ms) before `(queryChange)` fires — handy for async. 0 = immediate."
        }
      ],
      "outputs": [
        {
          "name": "openChange",
          "payload": "boolean"
        },
        {
          "name": "queryChange",
          "payload": "string"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End",
        "Enter",
        "Escape",
        "Backspace"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-combobox--docs",
      "sourcePath": "packages/ui/combobox/src/combobox.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11115",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11115"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpComboboxComponent",
        "selector": "kp-combobox",
        "import": "import { KpComboboxComponent } from '@kanso-protocol/ui/combobox';",
        "docs": "docs/components/combobox.md",
        "storybook": "components-combobox--docs"
      }
    },
    {
      "name": "command-palette",
      "className": "KpCommandPaletteComponent",
      "selector": "kp-command-palette",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/command-palette",
      "description": "Kanso Protocol — CommandPalette\n\nModal command launcher (⌘K-style). Composes `<kp-dialog>` (chromeless)\nwith an internal input + grouped result list. Keyboard navigation:\n`↑` / `↓` highlight, `Enter` select, `Esc` close. The component owns\nthe open state when `[shortcut]` is set — the global keydown listener\ntoggles `open` on the configured combo (default `mod+k`).\n\nThe consumer supplies `[groups]`. Filtering is the consumer's job —\nthe component re-emits `(filterChange)` on every input keystroke.",
      "examples": [
        "<kp-command-palette\n  [(open)]=\"paletteOpen\"\n  [groups]=\"results\"\n  [shortcut]=\"{ combo: 'mod+k' }\"\n  (filterChange)=\"onFilter($event)\"\n  (itemSelect)=\"run($event)\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpCommandPaletteSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "open",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "groups",
          "type": "KpCommandGroup[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "filter",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "emptyMessage",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "shortcut",
          "type": "KpCommandShortcut | null",
          "default": "{ combo: 'mod+k' }",
          "description": "Global shortcut to toggle `open`. `null` disables the listener."
        }
      ],
      "outputs": [
        {
          "name": "openChange",
          "payload": "boolean"
        },
        {
          "name": "filterChange",
          "payload": "string"
        },
        {
          "name": "itemSelect",
          "payload": "KpCommandItem"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End",
        "Enter"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-commandpalette--docs",
      "sourcePath": "packages/ui/command-palette/src/command-palette.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "4111:11234",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=4111-11234"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpCommandPaletteComponent",
        "selector": "kp-command-palette",
        "import": "import { KpCommandPaletteComponent } from '@kanso-protocol/ui/command-palette';",
        "docs": "docs/components/command-palette.md",
        "storybook": "components-commandpalette--docs"
      }
    },
    {
      "name": "datepicker",
      "className": "KpDatePickerComponent",
      "selector": "kp-date-picker",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/datepicker",
      "description": "Kanso Protocol — DatePicker\n\nInput-triggered calendar popup. `mode=\"single\"` picks one date, `mode=\"range\"`\npicks a pair `[start, end]`. Panel portals to `<body>` so it escapes any\noverflow / transform on ancestors.\n\nShares Input's size ramp and visual state vocabulary.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "mode",
          "type": "KpDatePickerMode",
          "default": "'single'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "'Select date'",
          "description": ""
        },
        {
          "name": "min",
          "type": "Date | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "max",
          "type": "Date | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showClear",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showPresets",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "presets",
          "type": "KpDatePickerPreset[] | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "firstDayOfWeek",
          "type": "0 | 1",
          "default": "1",
          "description": "0 = Sunday first, 1 = Monday first. Defaults to Monday."
        },
        {
          "name": "dateFormatter",
          "type": "((d: Date) => string) | null",
          "default": "null",
          "description": "Custom formatter for the trigger's displayed text."
        },
        {
          "name": "rangeSeparator",
          "type": "string",
          "default": "' – '",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "KpDatePickerValue"
        },
        {
          "name": "openChange",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [
        "ArrowRight",
        "ArrowLeft",
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End",
        "PageUp",
        "PageDown",
        "Enter",
        "Escape",
        "Space"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-datepicker--docs",
      "sourcePath": "packages/ui/datepicker/src/datepicker.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11119",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11119"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpDatePickerComponent",
        "selector": "kp-datepicker",
        "import": "import { KpDatePickerComponent } from '@kanso-protocol/ui/datepicker';",
        "docs": "docs/components/datepicker.md",
        "storybook": "components-datepicker--docs"
      }
    },
    {
      "name": "dialog",
      "className": "KpDialogComponent",
      "selector": "kp-dialog",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/dialog",
      "description": "Kanso Protocol — Dialog\n\nWraps a real native `<dialog>` element. Focus trap, top-layer\nstacking, ESC-to-close, body-scroll inertness, and `::backdrop`\nstyling are all browser-native. Composition is slot-driven:\n`[kpDialogHeroIcon]` / `[kpDialogBody]` / `[kpDialogFooter]`.\n\nFooter layouts (`footerLayout`):\n- `end` (default): actions packed to the right.\n- `start`: actions packed to the LEFT. To separate a Cancel /\n  secondary action and push it to the far right while the primary\n  actions stay left, mark that element with the `[kpDialogFooterEnd]`\n  attribute — the component applies `margin-inline-start: auto` to it.\n- `between`: first child left, the rest right (`space-between`).\n- `stacked`: full-width column, for narrow surfaces.",
      "examples": [
        "<kp-dialog\n  [(open)]=\"deleteOpen\"\n  size=\"sm\"\n  title=\"Delete repository?\"\n  [showDescription]=\"true\"\n  description=\"This action cannot be undone.\"\n  (closed)=\"deleteOpen = false\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpDialogSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showHeroIcon",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showHeaderDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooterDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "footerLayout",
          "type": "KpDialogFooterLayout",
          "default": "'end'",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "closeOnBackdrop",
          "type": "boolean",
          "default": "true",
          "description": "Clicking the backdrop closes the dialog. Disable for intrusive confirmations."
        },
        {
          "name": "closeOnEsc",
          "type": "boolean",
          "default": "true",
          "description": "Esc closes the dialog. Disable for intrusive confirmations."
        },
        {
          "name": "open",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "openChange",
          "payload": "boolean"
        },
        {
          "name": "closed",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-dialog--docs",
      "sourcePath": "packages/ui/dialog/src/dialog.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11083",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11083"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpDialogComponent",
        "selector": "kp-dialog",
        "import": "import { KpDialogComponent } from '@kanso-protocol/ui/dialog';",
        "docs": "docs/components/dialog.md",
        "storybook": "components-dialog--docs"
      }
    },
    {
      "name": "divider",
      "className": "KpDividerComponent",
      "selector": "kp-divider",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/divider",
      "description": "Kanso Protocol — Divider\n\nThin line separator. Horizontal by default; set `orientation=\"vertical\"`\nfor an inline vertical rule. Horizontal dividers can carry an optional\nlabel via `[label]` (or projected default content) with configurable\nposition — center / start / end.\n\nVertical dividers are label-less by design (visually awkward).",
      "examples": [],
      "inputs": [
        {
          "name": "orientation",
          "type": "KpDividerOrientation",
          "default": "'horizontal'",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "labelPosition",
          "type": "KpDividerLabelPosition",
          "default": "'center'",
          "description": ""
        },
        {
          "name": "hasProjected",
          "type": "boolean",
          "default": "false",
          "description": "Set this to `true` when projecting custom label content instead of using `[label]`."
        }
      ],
      "outputs": [],
      "ariaRole": "separator",
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-divider--docs",
      "sourcePath": "packages/ui/divider/src/divider.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11087",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11087"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpDividerComponent",
        "selector": "kp-divider",
        "import": "import { KpDividerComponent } from '@kanso-protocol/ui/divider';",
        "docs": "docs/components/divider.md",
        "storybook": "components-divider--docs"
      }
    },
    {
      "name": "drawer",
      "className": "KpDrawerComponent",
      "selector": "kp-drawer",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/drawer",
      "description": "Kanso Protocol — Drawer\n\nSide panel that slides in from any of four edges. Same composition\nmodel as Dialog (header / body / footer slots, controlled\n`[(open)]` state, focus trap on open, Esc + backdrop close), but\nanchored to a screen edge instead of centered.\n\nUse it for: settings panels, filter sidebars, mobile bottom sheets,\ntop notification trays. Body content scrolls when it overflows the\npanel; the panel itself stays fixed-size per `size` × `side`.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpDrawerSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "side",
          "type": "KpDrawerSide",
          "default": "'right'",
          "description": ""
        },
        {
          "name": "modal",
          "type": "boolean",
          "default": "true",
          "description": "Modal drawer renders a backdrop and locks page scroll (default).\n Set `false` for a non-modal drawer: no backdrop, no scroll lock, and the\n page behind stays interactive."
        },
        {
          "name": "variant",
          "type": "KpDrawerVariant",
          "default": "'flush'",
          "description": "`flush` (default) sits edge-attached and full-height. `floating` insets\n the panel from the viewport with equal margins and rounds all corners."
        },
        {
          "name": "elevated",
          "type": "boolean",
          "default": "false",
          "description": "Adds an overlay shadow to the panel — useful in light theme and when\n there is no backdrop (floating / non-modal)."
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showClose",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showHeaderDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooterDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showResizeHandle",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "closeOnBackdrop",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "closeOnEsc",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "open",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "openChange",
          "payload": "boolean"
        },
        {
          "name": "closed",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-drawer--docs",
      "sourcePath": "packages/ui/drawer/src/drawer.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11099",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11099"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpDrawerComponent",
        "selector": "kp-drawer",
        "import": "import { KpDrawerComponent } from '@kanso-protocol/ui/drawer';",
        "docs": "docs/components/drawer.md",
        "storybook": "components-drawer--docs"
      }
    },
    {
      "name": "empty-state",
      "className": "KpEmptyStateComponent",
      "selector": "kp-empty-state",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/empty-state",
      "description": "Kanso Protocol — EmptyState\n\nCentered placeholder for empty lists, missing data, or zero-result\nscreens. Composes a circular illustration container, title,\ndescription, and an actions row. Project the illustration via\n`[kpEmptyStateIcon]` and footer buttons via `[kpEmptyStateActions]`.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpEmptyStateSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showIllustration",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-emptystate--docs",
      "sourcePath": "packages/ui/empty-state/src/empty-state.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11095",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11095"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpEmptyStateComponent",
        "selector": "kp-empty-state",
        "import": "import { KpEmptyStateComponent } from '@kanso-protocol/ui/empty-state';",
        "docs": "docs/components/empty-state.md",
        "storybook": "components-emptystate--docs"
      }
    },
    {
      "name": "file-upload",
      "className": "KpFileUploadComponent",
      "selector": "kp-file-upload",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/file-upload",
      "description": "Kanso Protocol — FileUpload (dropzone)\n\nClick-to-browse + drag-and-drop. Constraints:\n`[accept]` MIME / extension list, `[maxSize]` bytes per file,\n`[maxFiles]` total count, `[multiple]` toggle.\n\nEmits `(filesAdded)` for accepted files (the consumer owns the upload\nloop and reports back via `setProgress` / `setStatus`) and\n`(filesRejected)` for the rest. Selected files are tracked in `files`\nso the UI can show a status list with progress + remove.",
      "examples": [
        "<kp-file-upload\n  [multiple]=\"true\"\n  accept=\"image/*,.pdf\"\n  [maxSize]=\"5 * 1024 * 1024\"\n  [maxFiles]=\"10\"\n  (filesAdded)=\"upload($event)\"\n  (filesRejected)=\"warn($event)\"\n  (fileRemoved)=\"cancel($event)\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpFileUploadSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpFileUploadAppearance",
          "default": "'default'",
          "description": ""
        },
        {
          "name": "multiple",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "accept",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "maxSize",
          "type": "number | null",
          "default": "null",
          "description": "Max bytes per file. `null` = no limit."
        },
        {
          "name": "maxFiles",
          "type": "number | null",
          "default": "null",
          "description": "Max total file count. `null` = no limit."
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "required",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "title",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "hint",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "filesAdded",
          "payload": "KpUploadFile[]"
        },
        {
          "name": "filesRejected",
          "payload": "KpFileRejection[]"
        },
        {
          "name": "fileRemoved",
          "payload": "KpUploadFile"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-fileupload--docs",
      "sourcePath": "packages/ui/file-upload/src/file-upload.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "4110:11270",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=4110-11270"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpFileUploadComponent",
        "selector": "kp-file-upload",
        "import": "import { KpFileUploadComponent } from '@kanso-protocol/ui/file-upload';",
        "docs": "docs/components/file-upload.md",
        "storybook": "components-fileupload--docs"
      }
    },
    {
      "name": "form-field",
      "className": "KpFormFieldComponent",
      "selector": "kp-form-field",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/form-field",
      "description": "Kanso Protocol — FormField\n\nWraps any form control with a label, optional/required marker, and a\nfooter that renders either a helper text (rest state) or a validation\nerror message (when the projected control is invalid and was touched\nor dirty).\n\n**Auto-error mode.** Project any Angular form control — `[formControl]`,\n`[formControlName]`, `ngModel`, or a custom directive that implements\n`ControlValueAccessor`. FormField finds the `NgControl` via content\nprojection, subscribes to its status/value changes, and surfaces the\nerror from `control.errors` using a lookup against the validation\nmessage registry (see `KP_VALIDATION_MESSAGES`). Per-field messages\noverride the registry via the `[errors]` input.\n\n**Manual mode.** Pass `[error]=\"true\"` + a custom `[helper]` text if\nyou want full control over the error display (e.g. when the validation\nstate lives outside Angular Forms).",
      "examples": [
        "Auto-error from a reactive FormControl:\n<kp-form-field label=\"Email\" required=\"required-asterisk\">\n<kp-input [formControl]=\"email\" />\n</kp-form-field>",
        "Per-field custom message:\n<kp-form-field label=\"Age\"\n        [errors]=\"{ min: ({ min }) => `Должно быть ≥ ${min}` }\">\n<kp-input type=\"number\" [formControl]=\"age\" />\n</kp-form-field>"
      ],
      "inputs": [
        {
          "name": "label",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "helper",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "required",
          "type": "KpRequiredMode",
          "default": "'none'",
          "description": ""
        },
        {
          "name": "showHelper",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "error",
          "type": "boolean",
          "default": "false",
          "description": "Manual error flag — treated as an override. When `true`, the field\nrenders in error state regardless of the projected control's status.\nLeave undefined to let the auto-error logic drive the state."
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "errors",
          "type": "KpValidationMessages | null",
          "default": "null",
          "description": "Per-field validation message overrides. Merged on top of the\n`KP_VALIDATION_MESSAGES` registry; the key must match the validator\nname in `AbstractControl.errors`."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-formfield--docs",
      "sourcePath": "packages/ui/form-field/src/form-field.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11016",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11016"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpFormFieldComponent",
        "selector": "kp-form-field",
        "import": "import { KpFormFieldComponent } from '@kanso-protocol/ui/form-field';",
        "docs": "docs/components/form-field.md",
        "storybook": "components-formfield--docs"
      }
    },
    {
      "name": "icon",
      "className": "KpIconComponent",
      "selector": "kp-icon",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/icon",
      "description": "Kanso Protocol — Icon Component\n\nRenders Tabler Icons SVGs inline with stroke-width auto-tuned per size.\nThe same `name` strings work in code and Figma (the `tabler/{name}` master\ncomponents on the Foundations » Tabler Icons page mirror this set).",
      "examples": [
        "<kp-icon name=\"search\" size=\"md\" />\n<kp-icon name=\"star-filled\" size=\"sm\" />\n<kp-icon [name]=\"dynamicName\" size=\"lg\" />\n\nNeed an icon outside the default set? Register at startup:\n\n  KP_ICON_REGISTRY.register('my-logo', '<svg viewBox=\"0 0 24 24\">…</svg>');"
      ],
      "inputs": [],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-icon--docs",
      "sourcePath": "packages/ui/icon/src/icon.component.ts",
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpIconComponent",
        "selector": "kp-icon",
        "import": "import { KpIconComponent } from '@kanso-protocol/ui/icon';",
        "docs": "docs/components/icon.md",
        "storybook": "components-icon--docs"
      }
    },
    {
      "name": "input",
      "className": "KpInputComponent",
      "selector": "kp-input",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/input",
      "description": "Kanso Protocol — Input Component\n\nAnatomy: Container → Content → Elements (icon-left, input, icon-right)\nSupports: 5 sizes × 7 states (rest/hover/active/focus/disabled/loading/error)\nFloating Label: available for lg and xl sizes",
      "examples": [
        "<kp-input size=\"md\" placeholder=\"Enter text\"></kp-input>\n<kp-input size=\"lg\" label=\"Email\" [floatingLabel]=\"true\"></kp-input>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "type",
          "type": "string",
          "default": "'text'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": "Accessible name forwarded to the inner input. Falls back to `label`,\n      then `placeholder`, then a generic \"Input\" so the element is never\n      anonymous for screen readers / axe."
        },
        {
          "name": "floatingLabel",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showClear",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": "Force a visual state for showcase/documentation purposes"
        },
        {
          "name": "value",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-input--docs",
      "sourcePath": "packages/ui/input/src/input.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:10997",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-10997"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpInputComponent",
        "selector": "kp-input",
        "import": "import { KpInputComponent } from '@kanso-protocol/ui/input';",
        "docs": "docs/components/input.md",
        "storybook": "components-input--docs"
      }
    },
    {
      "name": "markdown-viewer",
      "className": "KpMarkdownViewerComponent",
      "selector": "kp-markdown-viewer",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/markdown-viewer",
      "description": "Kanso Protocol — MarkdownViewer\n\nRead-only markdown renderer. Pairs with `<kp-rich-text-editor>` (which\nis HTML-only) for repos / docs / READMEs / changelog viewers.\n\nDefault parser is `marked` (already a dev-dep transitive in many Angular\nsetups; declared here as a runtime dep so the component is self-contained).\nPass `[parser]` to swap in `markdown-it`, `remark`, or a custom parser\nwhen you need plugin support beyond CommonMark + GFM.\n\nOutput is sanitized via `DomSanitizer.bypassSecurityTrustHtml` only when\n`[trusted]=true`. With `trusted=false` (default) the inner HTML goes\nthrough Angular's automatic sanitization, which strips `<script>`,\ninline event handlers, and `javascript:` URLs.",
      "examples": [
        "<kp-markdown-viewer\n  size=\"md\"\n  [content]=\"readme\"\n/>",
        "// With a custom parser (e.g. markdown-it for GFM tables + plugins):\n<kp-markdown-viewer\n  [content]=\"readme\"\n  [parser]=\"myMarkdownIt.render.bind(myMarkdownIt)\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpMarkdownViewerSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "content",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "parser",
          "type": "KpMarkdownParser",
          "default": "defaultParser",
          "description": "Custom parser. Defaults to `marked.parse()`."
        },
        {
          "name": "trusted",
          "type": "boolean",
          "default": "false",
          "description": "When `true`, output is wrapped in `bypassSecurityTrustHtml` (raw HTML\npasses through). Use only with content from a controlled source —\nmarkdown that the user can author should keep `trusted=false`."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-markdownviewer--docs",
      "sourcePath": "packages/ui/markdown-viewer/src/markdown-viewer.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "4109:11282",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=4109-11282"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpMarkdownViewerComponent",
        "selector": "kp-markdown-viewer",
        "import": "import { KpMarkdownViewerComponent } from '@kanso-protocol/ui/markdown-viewer';",
        "docs": "docs/components/markdown-viewer.md",
        "storybook": "components-markdownviewer--docs"
      }
    },
    {
      "name": "menu",
      "className": "KpDropdownMenuComponent",
      "selector": "kp-dropdown-menu",
      "subSelectors": [
        "kp-menu-divider",
        "kp-menu-item",
        "kp-menu-section-label"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/menu",
      "description": "Kanso Protocol — DropdownMenu\n\nFloating panel container for menu items. Projects any menu content:\nMenuItem, MenuDivider, MenuSectionLabel.\n\nOptional Search at the top and Footer with 1–2 full-width buttons at the bottom.",
      "examples": [
        "<kp-dropdown-menu\n  [hasSearch]=\"true\"\n  [hasFooter]=\"true\"\n  [showCancel]=\"true\"\n  primaryLabel=\"Apply\"\n  cancelLabel=\"Cancel\"\n  (primary)=\"apply()\"\n  (cancel)=\"close()\">\n  <kp-menu-item label=\"Profile\"/>\n</kp-dropdown-menu>"
      ],
      "inputs": [
        {
          "name": "hasSearch",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "hasFooter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showCancel",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "primaryLabel",
          "type": "string",
          "default": "'Confirm'",
          "description": ""
        },
        {
          "name": "cancelLabel",
          "type": "string",
          "default": "'Cancel'",
          "description": ""
        },
        {
          "name": "searchPlaceholder",
          "type": "string",
          "default": "'Search...'",
          "description": ""
        },
        {
          "name": "searchValue",
          "type": "string",
          "default": "''",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "searchChange",
          "payload": "string"
        },
        {
          "name": "primary",
          "payload": "void"
        },
        {
          "name": "cancel",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-menu--docs",
      "sourcePath": "packages/ui/menu/src/dropdown-menu.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11020",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11020"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpDropdownMenuComponent",
        "selector": "kp-dropdown-menu",
        "import": "import { KpDropdownMenuComponent } from '@kanso-protocol/ui/menu';",
        "docs": "docs/components/dropdown-menu.md",
        "storybook": "components-dropdownmenu--docs"
      }
    },
    {
      "name": "number-stepper",
      "className": "KpNumberStepperComponent",
      "selector": "kp-number-stepper",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/number-stepper",
      "description": "Kanso Protocol — NumberStepper Component\n\nNumeric input with − and + controls integrated into one rounded container.\nMirrors Input's size grammar so a NumberStepper sits flush next to an Input\nof the same size in a form row.",
      "examples": [
        "<kp-number-stepper [(ngModel)]=\"qty\" [min]=\"0\" [max]=\"10\"/>\n<kp-number-stepper size=\"lg\" [(ngModel)]=\"weight\" suffix=\"kg\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "min",
          "type": "number | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "max",
          "type": "number | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "step",
          "type": "number",
          "default": "1",
          "description": ""
        },
        {
          "name": "prefix",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "suffix",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": "Force visual state — Storybook / docs only"
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-numberstepper--docs",
      "sourcePath": "packages/ui/number-stepper/src/number-stepper.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11032",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11032"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpNumberStepperComponent",
        "selector": "kp-number-stepper",
        "import": "import { KpNumberStepperComponent } from '@kanso-protocol/ui/number-stepper';",
        "docs": "docs/components/number-stepper.md",
        "storybook": "components-numberstepper--docs"
      }
    },
    {
      "name": "pagination",
      "className": "KpPaginationComponent",
      "selector": "kp-pagination",
      "subSelectors": [
        "kp-pagination-item"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/pagination",
      "description": "Kanso Protocol — Pagination\n\nPage-strip with prev/next nav, page pills, and optional \"Showing X of Y\" +\nitems-per-page selector. Computes the truncation range itself — callers\nonly provide `currentPage`, `totalPages`, and (if wanted) items-per-page\nstate and listen for `(pageChange)` / `(itemsPerPageChange)`.",
      "examples": [
        "<kp-pagination\n  [currentPage]=\"page\"\n  [totalPages]=\"20\"\n  [showItemsInfo]=\"true\"\n  [itemsPerPage]=\"pageSize\"\n  [itemsTotal]=\"total\"\n  [showItemsPerPage]=\"true\"\n  (pageChange)=\"page = $event\"\n  (itemsPerPageChange)=\"pageSize = $event\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpPaginationSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "navMode",
          "type": "KpPaginationNavMode",
          "default": "'icon'",
          "description": ""
        },
        {
          "name": "currentPage",
          "type": "number",
          "default": "1",
          "description": ""
        },
        {
          "name": "totalPages",
          "type": "number",
          "default": "1",
          "description": ""
        },
        {
          "name": "showPrevNext",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showItemsInfo",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showItemsPerPage",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "itemsPerPage",
          "type": "number",
          "default": "50",
          "description": ""
        },
        {
          "name": "itemsTotal",
          "type": "number",
          "default": "0",
          "description": ""
        },
        {
          "name": "itemsPerPageOptions",
          "type": "number[]",
          "default": "[25, 50, 75, 100]",
          "description": ""
        },
        {
          "name": "itemsPerPageLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "siblingCount",
          "type": "number",
          "default": "1",
          "description": "Sibling count on each side of the current page (in middle-truncation mode). Default 1."
        },
        {
          "name": "boundaryCount",
          "type": "number",
          "default": "1",
          "description": "Pages pinned at each boundary. Default 1 — first and last always show."
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "pageChange",
          "payload": "number"
        },
        {
          "name": "itemsPerPageChange",
          "payload": "number"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-pagination--docs",
      "sourcePath": "packages/ui/pagination/src/pagination.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11076",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11076"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpPaginationComponent",
        "selector": "kp-pagination",
        "import": "import { KpPaginationComponent } from '@kanso-protocol/ui/pagination';",
        "docs": "docs/components/pagination.md",
        "storybook": "components-pagination--docs"
      }
    },
    {
      "name": "popover",
      "className": "KpPopoverComponent",
      "selector": "kp-popover",
      "subSelectors": [
        "[kpPopover]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/popover",
      "description": "Kanso Protocol — Popover\n\nFloating panel with optional header / body / footer and an optional\ndirectional arrow (4 sides × 3 anchors). Visual chrome only —\npositioning, show/hide and portaling are the caller's responsibility.\n\nThe host container uses `filter: drop-shadow()` so the shadow follows\nthe combined silhouette of body + arrow, and grows automatically with\ncontent.",
      "examples": [
        "<kp-popover size=\"md\" arrowPosition=\"top-center\"\n            title=\"Delete this item?\" description=\"This action cannot be undone.\"\n            [closable]=\"true\" (close)=\"cancel()\">\n  <button kpButton kpPopoverFooter size=\"sm\" variant=\"ghost\">Cancel</button>\n  <button kpButton kpPopoverFooter size=\"sm\" color=\"danger\">Delete</button>\n</kp-popover>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpPopoverSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "arrowPosition",
          "type": "KpPopoverArrowPosition",
          "default": "'none'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showHeaderDivider",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showFooterDivider",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "closable",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": "Accessible name override; falls through to title or \"Popover\"."
        }
      ],
      "outputs": [
        {
          "name": "close",
          "payload": "MouseEvent"
        }
      ],
      "ariaRole": "dialog",
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "Space"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-popover--docs",
      "sourcePath": "packages/ui/popover/src/popover.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11052",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11052"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpPopoverComponent",
        "selector": "kp-popover",
        "import": "import { KpPopoverComponent } from '@kanso-protocol/ui/popover';",
        "docs": "docs/components/popover.md",
        "storybook": "components-popover--docs"
      }
    },
    {
      "name": "progress",
      "className": "KpProgressLinearComponent",
      "selector": "kp-progress-linear",
      "subSelectors": [
        "kp-progress-circular",
        "kp-progress-segmented"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/progress",
      "description": "Kanso Protocol — ProgressLinear\n\nHorizontal determinate or indeterminate progress bar, with an optional\nlabel/value pair either stacked above or sitting inline to the right.",
      "examples": [
        "<kp-progress-linear [value]=\"45\" color=\"success\" [showLabel]=\"true\" label=\"Uploading\"/>\n<kp-progress-linear [indeterminate]=\"true\" color=\"primary\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpProgressLinearSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpProgressColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "value",
          "type": "number",
          "default": "0",
          "description": ""
        },
        {
          "name": "indeterminate",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showLabel",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "labelPosition",
          "type": "KpProgressLabelPosition",
          "default": "'top'",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": "Override the accessible name for screen readers. Falls back to the visible `label` if set, otherwise \"Progress\"."
        }
      ],
      "outputs": [],
      "ariaRole": "progressbar",
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-progress--docs",
      "sourcePath": "packages/ui/progress/src/progress-linear.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11056",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11056"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpProgressLinearComponent",
        "selector": "kp-progress-linear",
        "import": "import { KpProgressLinearComponent } from '@kanso-protocol/ui/progress';",
        "docs": "docs/components/progress.md",
        "storybook": "components-progress-linear--docs"
      }
    },
    {
      "name": "radio",
      "className": "KpRadioComponent",
      "selector": "kp-radio",
      "subSelectors": [
        "kp-radio-group"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/radio",
      "description": "Kanso Protocol — Radio\n\nWraps a real native `<input type=\"radio\">` inside a styled `<label>`.\nInside a `<kp-radio-group>`, radios share a `name` and the browser\nenforces single-selection natively (no manual deselection logic).\nIn a `<form>`, FormData picks up the checked radio's value.",
      "examples": [
        "<kp-radio-group [(value)]=\"selected\" name=\"plan\">\n  <kp-radio value=\"free\">Free</kp-radio>\n  <kp-radio value=\"pro\">Pro</kp-radio>\n</kp-radio-group>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpRadioSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpRadioColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "value",
          "type": "unknown",
          "default": "null",
          "description": ""
        },
        {
          "name": "checked",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "required",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "hasLabel",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "checkedChange",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-radio--docs",
      "sourcePath": "packages/ui/radio/src/radio.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11005",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11005"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpRadioComponent",
        "selector": "kp-radio",
        "import": "import { KpRadioComponent } from '@kanso-protocol/ui/radio';",
        "docs": "docs/components/radio.md",
        "storybook": "components-radio--docs"
      }
    },
    {
      "name": "rich-text-editor",
      "className": "KpRichTextEditorComponent",
      "selector": "kp-rich-text-editor",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/rich-text-editor",
      "description": "Kanso Protocol — Rich Text Editor\n\nToolbar + editable surface built on TipTap (headless ProseMirror).\nValue shape: HTML string. ControlValueAccessor ready, so it plugs into\nReactive / Template-driven forms the same way as `<kp-input>`.\n\nToolbar groups:\n  · history       — undo / redo\n  · inline marks  — bold · italic · underline · strikethrough · code\n  · blocks        — H1 · H2 · H3 · blockquote · code-block · horizontal rule\n  · lists         — bullet · ordered\n  · alignment     — left · center · right\n  · link          — prompts for URL (future: popover with input)\n  · image         — emits `(imageUpload)` so the host app handles storage",
      "examples": [
        "<kp-rich-text-editor\n    [(ngModel)]=\"content\"\n    placeholder=\"Write your post…\"\n    (imageUpload)=\"uploadAndResolve($event)\" />"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpRichTextEditorSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "error",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "extensions",
          "type": "'default'",
          "default": "'default'",
          "description": "Tweak the TipTap extensions if you need to turn one off; defaults cover the \"medium + image\" preset."
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "string"
        },
        {
          "name": "imageUpload",
          "payload": "{ file: File; resolve: (url: string | null) => void; }"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-richtexteditor--docs",
      "sourcePath": "packages/ui/rich-text-editor/src/rich-text-editor.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3849:11648",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3849-11648"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpRichTextEditorComponent",
        "selector": "kp-rich-text-editor",
        "import": "import { KpRichTextEditorComponent } from '@kanso-protocol/ui/rich-text-editor';",
        "docs": "docs/components/rich-text-editor.md",
        "storybook": "components-richtexteditor--docs"
      }
    },
    {
      "name": "segmented-control",
      "className": "KpSegmentedControlComponent",
      "selector": "kp-segmented-control",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/segmented-control",
      "description": "Kanso Protocol — SegmentedControl\n\nPill-style switcher backed by real native `<input type=\"radio\">` group.\nBrowser handles mutual-exclusion + arrow-key navigation; in a `<form>`\nthe checked radio's value goes into FormData. The visual \"pill\" is a\nseparate absolutely-positioned element that animates to the selected\nsegment.",
      "examples": [
        "<kp-segmented-control\n  [options]=\"[{value:'day',label:'Day'},{value:'week',label:'Week'}]\"\n  [(ngModel)]=\"period\">\n</kp-segmented-control>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "options",
          "type": "KpSegmentOption[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "display",
          "type": "KpSegmentedDisplay",
          "default": "'text'",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": "Native radio-group name. Required for FormData when in a `<form>`. Auto-generated if omitted."
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "string"
        }
      ],
      "ariaRole": "radiogroup",
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-segmentedcontrol--docs",
      "sourcePath": "packages/ui/segmented-control/src/segmented-control.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11036",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11036"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSegmentedControlComponent",
        "selector": "kp-segmented-control",
        "import": "import { KpSegmentedControlComponent } from '@kanso-protocol/ui/segmented-control';",
        "docs": "docs/components/segmented-control.md",
        "storybook": "components-segmentedcontrol--docs"
      }
    },
    {
      "name": "select",
      "className": "KpSelectComponent",
      "selector": "kp-select",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/select",
      "description": "Kanso Protocol — Select Component\n\nCombines an Input-style trigger with a DropdownMenu panel. Supports\nsingle and multiple selection, floating label (lg/xl), clear button,\nand the standard 7-state model shared with Input.",
      "examples": [
        "<kp-select size=\"md\" placeholder=\"Pick one\" [options]=\"countries\" [(ngModel)]=\"country\"/>\n<kp-select [multiple]=\"true\" [options]=\"tags\" [(ngModel)]=\"picked\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "floatingLabel",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "options",
          "type": "KpSelectOption[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "multiple",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showClear",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "required",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": "Native form name. Required for FormData submission inside a `<form>`."
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": "Force visual state for showcase/documentation purposes"
        }
      ],
      "outputs": [
        {
          "name": "openChange",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-select--docs",
      "sourcePath": "packages/ui/select/src/select.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11028",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11028"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSelectComponent",
        "selector": "kp-select",
        "import": "import { KpSelectComponent } from '@kanso-protocol/ui/select';",
        "docs": "docs/components/select.md",
        "storybook": "components-select--docs"
      }
    },
    {
      "name": "skeleton",
      "className": "KpSkeletonComponent",
      "selector": "kp-skeleton",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/skeleton",
      "description": "Kanso Protocol — Skeleton\n\nStatic placeholder shown while real content is loading. Six shape\npresets cover the common patterns (line, circle, rectangle, avatar,\nbutton, card) with a size ramp. `animated` toggles the shimmer\ngradient — on by default.\n\nComposition: project children for complex placeholders. For simple\nskeletons, just drop `<kp-skeleton shape=\"line\" size=\"md\"/>` and\noptionally override `[width]` to fit the real content width.",
      "examples": [],
      "inputs": [
        {
          "name": "shape",
          "type": "KpSkeletonShape",
          "default": "'line'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpSkeletonSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "animated",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "width",
          "type": "string | null",
          "default": "null",
          "description": "Override width — useful for line skeletons (e.g. '80%' or '240px')."
        },
        {
          "name": "height",
          "type": "string | null",
          "default": "null",
          "description": "Override height when defaults don't fit."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-skeleton--docs",
      "sourcePath": "packages/ui/skeleton/src/skeleton.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11107",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11107"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSkeletonComponent",
        "selector": "kp-skeleton",
        "import": "import { KpSkeletonComponent } from '@kanso-protocol/ui/skeleton';",
        "docs": "docs/components/skeleton.md",
        "storybook": "components-skeleton--docs"
      }
    },
    {
      "name": "slider",
      "className": "KpSliderComponent",
      "selector": "kp-slider",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/slider",
      "description": "Kanso Protocol — Slider\n\nNumeric range input with a draggable thumb on a horizontal track.\n`mode=\"single\"` exposes one thumb; `mode=\"range\"` exposes two.\n\nPointer drag, arrow-key stepping, track-click targeting, and a full\nControlValueAccessor for reactive / template-driven forms. In range\nmode, `ngModel` is a `[number, number]` tuple; in single mode, a plain\n`number`.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpSliderSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "mode",
          "type": "KpSliderMode",
          "default": "'single'",
          "description": ""
        },
        {
          "name": "min",
          "type": "number",
          "default": "0",
          "description": ""
        },
        {
          "name": "max",
          "type": "number",
          "default": "100",
          "description": ""
        },
        {
          "name": "step",
          "type": "number",
          "default": "1",
          "description": ""
        },
        {
          "name": "showTicks",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showValueLabel",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showLabels",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "minLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "maxLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "ariaLabelStart",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "ariaLabelEnd",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "valueFormatter",
          "type": "((v: number) => string) | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "KpSliderValue"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "ArrowRight",
        "ArrowLeft",
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End",
        "PageUp",
        "PageDown"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-slider--docs",
      "sourcePath": "packages/ui/slider/src/slider.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11111",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11111"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSliderComponent",
        "selector": "kp-slider",
        "import": "import { KpSliderComponent } from '@kanso-protocol/ui/slider';",
        "docs": "docs/components/slider.md",
        "storybook": "components-slider--docs"
      }
    },
    {
      "name": "table",
      "className": "KpTableComponent",
      "selector": "kp-table",
      "subSelectors": [
        "ng-template[kpTableCell]",
        "ng-template[kpTableHeader]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/table",
      "description": "Kanso Protocol — Table\n\nData-driven table with a columns schema, sortable headers, optional\nrow selection, striped / bordered variants, and template-per-column\ncell rendering via `<ng-template kpTableCell=\"id\">`.",
      "examples": [
        "<kp-table [columns]=\"cols\" [data]=\"rows\" [selectable]=\"true\" [(selected)]=\"picked\">\n  <ng-template kpTableCell=\"status\" let-row>\n    <kp-badge [color]=\"row.active ? 'success' : 'neutral'\">\n      {{ row.active ? 'Active' : 'Inactive' }}\n    </kp-badge>\n  </ng-template>\n</kp-table>"
      ],
      "inputs": [
        {
          "name": "columns",
          "type": "KpTableColumn<T>[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "data",
          "type": "T[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "striped",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "bordered",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "selectable",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "selected",
          "type": "T[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "sort",
          "type": "KpTableSort | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "emptyMessage",
          "type": "string",
          "default": "'No data'",
          "description": ""
        },
        {
          "name": "trackBy",
          "type": "((row: T, index: number) => unknown) | null",
          "default": "null",
          "description": "Override how rows are tracked in the `@for` loop (default: index)."
        }
      ],
      "outputs": [
        {
          "name": "selectedChange",
          "payload": "T[]"
        },
        {
          "name": "sortChange",
          "payload": "KpTableSort | null"
        },
        {
          "name": "rowClick",
          "payload": "T"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-table--docs",
      "sourcePath": "packages/ui/table/src/table.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11131",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11131"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTableComponent",
        "selector": "kp-table",
        "import": "import { KpTableComponent } from '@kanso-protocol/ui/table';",
        "docs": "docs/components/table.md",
        "storybook": "components-table--docs"
      }
    },
    {
      "name": "table-virtual",
      "className": "KpTableVirtualComponent",
      "selector": "kp-table-virtual",
      "subSelectors": [
        "ng-template[kpVirtualTableCell]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/table-virtual",
      "description": "Kanso Protocol — TableVirtual\n\nA windowed table for large datasets (>500 rows) — `<kp-table>` + `<kp-virtual-list>`\nbaked together so consumers don't wire virtualization by hand. A sticky header\nsits above a virtualized body; columns align via a shared CSS grid template, so\ngive each column a `width` (or they share `1fr`). Fixed `[rowHeight]` (no\nper-row measurement) keeps scrolling cheap.\n\nSemantics mirror `<kp-virtual-list>` (a windowed list of rows) — ARIA grid\nsemantics over a windowed set aren't sound, so this is a labelled list, not a\n`role=\"grid\"`. For small, fully-rendered tables use `<kp-table>`.",
      "examples": [
        "<kp-table-virtual\n  [columns]=\"cols\"\n  [data]=\"rows\"\n  [rowHeight]=\"44\"\n  [viewportHeight]=\"480\"\n  ariaLabel=\"Transactions\">\n  <ng-template kpVirtualTableCell=\"status\" let-row>\n    <kp-badge size=\"sm\">{{ row.status }}</kp-badge>\n  </ng-template>\n</kp-table-virtual>"
      ],
      "inputs": [
        {
          "name": "columns",
          "type": "KpTableColumn<T>[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "data",
          "type": "T[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpTableSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "rowHeight",
          "type": "number",
          "default": "48",
          "description": "Fixed row height in px (no per-row measurement — keeps scrolling cheap)."
        },
        {
          "name": "viewportHeight",
          "type": "number",
          "default": "480",
          "description": "Height of the scrolling body viewport in px."
        },
        {
          "name": "overscan",
          "type": "number",
          "default": "4",
          "description": ""
        },
        {
          "name": "striped",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "bordered",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "trackBy",
          "type": "((index: number, item: T) => unknown) | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "rowClick",
          "payload": "T"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-tablevirtual--docs",
      "sourcePath": "packages/ui/table-virtual/src/table-virtual.component.ts"
    },
    {
      "name": "tabs",
      "className": "KpTabsComponent",
      "selector": "kp-tabs",
      "subSelectors": [
        "button[kpTab]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/tabs",
      "description": "Kanso Protocol — Tabs (container)\n\nHorizontal strip of `<button kpTab>` children with a shared bottom border.\nCascades `size` and `fullWidth` down to every projected `<button kpTab>`\nautomatically, so callers only set those two inputs in one place.\n\nA `[kpTabsMore]` slot projects an optional \"More ▾\" affordance to the\nright of the strip — useful when tabs overflow and you want a dropdown\nto hold the rest.",
      "examples": [
        "<kp-tabs size=\"md\" [fullWidth]=\"false\">\n  <button kpTab label=\"Overview\" [selected]=\"tab === 'overview'\" (selectedChange)=\"tab = 'overview'\"></button>\n  <button kpTab label=\"Activity\" [selected]=\"tab === 'activity'\" (selectedChange)=\"tab = 'activity'\"></button>\n  <button kpTab label=\"Settings\" [selected]=\"tab === 'settings'\" (selectedChange)=\"tab = 'settings'\"></button>\n\n  <button kpTabsMore>More ▾</button>\n</kp-tabs>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpTabSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "fullWidth",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "ArrowRight",
        "ArrowLeft",
        "Home",
        "End"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-tabs--docs",
      "sourcePath": "packages/ui/tabs/src/tabs.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11068",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11068"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTabsComponent",
        "selector": "kp-tabs",
        "import": "import { KpTabsComponent } from '@kanso-protocol/ui/tabs';",
        "docs": "docs/components/tabs.md",
        "storybook": "components-tabs--docs"
      }
    },
    {
      "name": "textarea",
      "className": "KpTextareaComponent",
      "selector": "kp-textarea",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/textarea",
      "description": "Kanso Protocol — Textarea Component\n\nMulti-line text input. Shares Input's size/state grammar; adds a resize handle\nand optional character counter for length-constrained fields.",
      "examples": [
        "<kp-textarea [(ngModel)]=\"bio\" placeholder=\"Tell us about yourself\"></kp-textarea>\n<kp-textarea size=\"lg\" [maxLength]=\"500\" [showCounter]=\"true\"></kp-textarea>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpTextareaSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "rows",
          "type": "number",
          "default": "3",
          "description": ""
        },
        {
          "name": "maxLength",
          "type": "number | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showCounter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "resize",
          "type": "KpTextareaResize",
          "default": "'both'",
          "description": ""
        },
        {
          "name": "filled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": "Accessible name for screen readers / axe. Falls back to placeholder."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-textarea--docs",
      "sourcePath": "packages/ui/textarea/src/textarea.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11024",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11024"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTextareaComponent",
        "selector": "kp-textarea",
        "import": "import { KpTextareaComponent } from '@kanso-protocol/ui/textarea';",
        "docs": "docs/components/textarea.md",
        "storybook": "components-textarea--docs"
      }
    },
    {
      "name": "timepicker",
      "className": "KpTimePickerComponent",
      "selector": "kp-time-picker",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/timepicker",
      "description": "Kanso Protocol — TimePicker\n\nInput-triggered picker for hour / minute (optional second). Panel has\nscrollable columns per unit plus Now / Cancel / Apply footer — picks\nare staged in a draft until Apply, so accidental clicks don't commit.\n\nValue on the wire is always canonical 24-hour `HH:mm` or `HH:mm:ss`;\ndisplay switches between 12h and 24h via `format`.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpTimePickerSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "format",
          "type": "KpTimePickerFormat",
          "default": "'auto'",
          "description": "`'auto'` (default) derives 12h/24h from `KP_LOCALE`; set `'12h'`/`'24h'` to force."
        },
        {
          "name": "showSeconds",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "minuteStep",
          "type": "number",
          "default": "1",
          "description": "Step for the minute column. Use 5 / 15 / 30 for rounded pickers."
        },
        {
          "name": "secondStep",
          "type": "number",
          "default": "1",
          "description": "Step for the seconds column. Only used when `showSeconds` is true."
        },
        {
          "name": "placeholder",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showClear",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "KpTimePickerValue"
        },
        {
          "name": "openChange",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-timepicker--docs",
      "sourcePath": "packages/ui/timepicker/src/timepicker.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11123",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11123"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTimePickerComponent",
        "selector": "kp-timepicker",
        "import": "import { KpTimePickerComponent } from '@kanso-protocol/ui/timepicker';",
        "docs": "docs/components/timepicker.md",
        "storybook": "components-timepicker--docs"
      }
    },
    {
      "name": "toast",
      "className": "KpToastHostComponent",
      "selector": "kp-toast-host",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/toast",
      "description": "Kanso Protocol — ToastHost\n\nPortaled container that renders the active toast queue in one corner\nof the viewport. Drop one (or several, one per corner) anywhere in\nthe app — toasts render via this host, not inline.",
      "examples": [
        "<kp-toast-host position=\"top-right\" size=\"md\"/>"
      ],
      "inputs": [
        {
          "name": "position",
          "type": "KpToastPosition",
          "default": "'top-right'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpToastSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "showIcon",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "max",
          "type": "number",
          "default": "5",
          "description": "Cap on how many toasts to show at once (oldest are dropped visually)."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-toast--docs",
      "sourcePath": "packages/ui/toast/src/toast-host.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11127",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11127"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpToastHostComponent",
        "selector": "kp-toast-host",
        "import": "import { KpToastHostComponent } from '@kanso-protocol/ui/toast';",
        "docs": "docs/components/toast.md",
        "storybook": "components-toast--docs"
      }
    },
    {
      "name": "toggle",
      "className": "KpToggleComponent",
      "selector": "kp-toggle",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/toggle",
      "description": "Kanso Protocol — Toggle (Switch)\n\nWraps a real native `<input type=\"checkbox\" role=\"switch\">` inside a\nstyled `<label>`. Form submission, FormData, `<label for>` association,\nSpace-toggle, and HTML5 validation all work natively.",
      "examples": [
        "<kp-toggle [(on)]=\"isOn\" size=\"md\">Notifications</kp-toggle>\n<form><kp-toggle name=\"notif\" value=\"1\" required>Enable</kp-toggle></form>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpToggleSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "color",
          "type": "KpToggleColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "on",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "required",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "name",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "value",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "forceState",
          "type": "KpState | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "hasLabel",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "ariaLabel",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "onChangeEvent",
          "payload": "boolean"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-toggle--docs",
      "sourcePath": "packages/ui/toggle/src/toggle.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11009",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11009"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpToggleComponent",
        "selector": "kp-toggle",
        "import": "import { KpToggleComponent } from '@kanso-protocol/ui/toggle';",
        "docs": "docs/components/toggle.md",
        "storybook": "components-toggle--docs"
      }
    },
    {
      "name": "tooltip",
      "className": "KpTooltipDirective",
      "selector": "[kpTooltip]",
      "subSelectors": [
        "[kpClipboardCopy]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/tooltip",
      "description": "Kanso Protocol — Tooltip directive.\n\nAttaches a styled hint to any element. Auto-shows on hover and focus,\nhides on leave / blur / Escape. Positioned against the trigger with\nviewport-edge flipping. Renders into the nearest open `<dialog>` (so it\nsits above modals) or `document.body`.",
      "examples": [
        "<button [kpTooltip]=\"'Copy link'\" kpTooltipShortcut=\"⌘C\">Copy</button>",
        "<!-- Conditionally enabled — null disables -->\n<button [kpTooltip]=\"isCollapsed ? label : null\" kpTooltipPosition=\"right\">…</button>"
      ],
      "inputs": [
        {
          "name": "text",
          "type": "string | TemplateRef<unknown> | null",
          "default": "null",
          "description": "Tooltip content. A `string` renders as the label; a `TemplateRef`\nprojects custom content (icons, formatted text, etc.). `null` or an\nempty string disables the tooltip."
        },
        {
          "name": "kpTooltipPosition",
          "type": "KpTooltipPosition",
          "default": "'top'",
          "description": ""
        },
        {
          "name": "kpTooltipSize",
          "type": "KpTooltipSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "kpTooltipShortcut",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "kpTooltipDelay",
          "type": "number",
          "default": "DEFAULT_SHOW_DELAY",
          "description": ""
        },
        {
          "name": "kpTooltipDisabled",
          "type": "boolean",
          "default": "false",
          "description": "Hard-disable regardless of text content."
        },
        {
          "name": "kpTooltipAlign",
          "type": "KpTooltipArrowAlign",
          "default": "'center'",
          "description": "Where along the tooltip's edge the arrow attaches. Use `start` / `end`\nwhen the trigger sits near a viewport edge — the body shifts inward\nwhile the arrow stays anchored to the trigger."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-tooltip--docs",
      "sourcePath": "packages/ui/tooltip/src/tooltip.directive.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11048",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11048"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTooltipComponent",
        "selector": "kp-tooltip",
        "import": "import { KpTooltipComponent } from '@kanso-protocol/ui/tooltip';",
        "docs": "docs/components/tooltip.md",
        "storybook": "components-tooltip--docs"
      }
    },
    {
      "name": "tree",
      "className": "KpTreeComponent",
      "selector": "kp-tree",
      "subSelectors": [],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/tree",
      "description": "Kanso Protocol — Tree\n\nRecursive list of nested nodes. Click the chevron to toggle expansion;\nclick the label to select. Optional `showCheckboxes` renders a\ncheckbox per node with tri-state propagation (child check flips\nparent indeterminate / checked).\n\nExpansion and selection state is owned internally but mirrored via\n`[(expanded)]` / `[(selected)]` / `[(checked)]` two-way bindings so\ncallers can drive or persist it.",
      "examples": [],
      "inputs": [
        {
          "name": "size",
          "type": "KpTreeSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "data",
          "type": "KpTreeNode[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "showIcons",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showCheckboxes",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "expanded",
          "type": "string[]",
          "default": "[]",
          "description": "Ids of expanded nodes. Two-way bindable."
        },
        {
          "name": "selected",
          "type": "string | null",
          "default": "null",
          "description": "Id of the single selected node. Two-way bindable (single-select only in v1)."
        },
        {
          "name": "checked",
          "type": "string[]",
          "default": "[]",
          "description": "Ids of checked nodes. Two-way bindable."
        }
      ],
      "outputs": [
        {
          "name": "expandedChange",
          "payload": "string[]"
        },
        {
          "name": "selectedChange",
          "payload": "string | null"
        },
        {
          "name": "checkedChange",
          "payload": "string[]"
        },
        {
          "name": "nodeClick",
          "payload": "KpTreeNode"
        },
        {
          "name": "nodeExpand",
          "payload": "KpTreeNode"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md"
      ],
      "keyboardPatterns": [
        "ArrowRight",
        "ArrowLeft",
        "ArrowUp",
        "ArrowDown",
        "Home",
        "End",
        "Enter",
        "Space"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-tree--docs",
      "sourcePath": "packages/ui/tree/src/tree.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3805:11135",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3805-11135"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTreeComponent",
        "selector": "kp-tree",
        "import": "import { KpTreeComponent } from '@kanso-protocol/ui/tree';",
        "docs": "docs/components/tree.md",
        "storybook": "components-tree--docs"
      }
    },
    {
      "name": "variable-virtual-list",
      "className": "KpVariableVirtualListComponent",
      "selector": "kp-variable-virtual-list",
      "subSelectors": [
        "[kpVariableVirtualRow]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/variable-virtual-list",
      "description": "Kanso Protocol — VariableVirtualList\n\nWindow-mode virtual scroller for **variable-height rows** — the sibling to\n`<kp-virtual-list>`, which stays deliberately simple for the fixed-height\nfast path. Renders only the rows currently visible in the viewport (plus a\nconfigurable `[overscan]` buffer), sizing each row to the height returned by\n`[itemHeight]`.\n\nHow it works: on every `[items]` (or `[itemHeight]`) change it builds a\ncumulative-offset prefix-sum array (`offsets[i]` = summed height of rows\n0..i-1, `offsets[n]` = total height). Mapping `scrollTop` to the first\nvisible row is then a binary search over that array — O(log n) per scroll,\nnot the O(1) of the fixed variant, but no per-scroll measurement pass and no\nlayout thrash. The spacer takes `offsets[n]` so the scrollbar is honest.\n\nWhen every row is the same height, the offsets are `i * h` and the visible\nwindow / transform math reduces exactly to the fixed-height behaviour — so a\nuniform `[itemHeight]` is byte-for-byte equivalent to `<kp-virtual-list>`.",
      "examples": [
        "<kp-variable-virtual-list\n  [items]=\"rows\"\n  [itemHeight]=\"heightFor\"\n  [viewportHeight]=\"480\"\n  [overscan]=\"6\"\n  (rangeChange)=\"onRange($event)\"\n>\n  <ng-template kpVariableVirtualRow let-row let-i=\"index\">\n    <div class=\"row\">{{ row.body }}</div>\n  </ng-template>\n</kp-variable-virtual-list>\n\n// heightFor = (_i, row) => 32 + row.lines * 18;"
      ],
      "inputs": [
        {
          "name": "items",
          "type": "readonly T[]",
          "default": "[]",
          "description": "The full list. The component never iterates the whole thing on scroll — only the visible window."
        },
        {
          "name": "itemHeight",
          "type": "KpItemHeightFn<T>",
          "default": "() => 40",
          "description": "Per-item pixel height. Receives the absolute row index and item, returns a\nfinite positive height. A non-finite or non-positive return falls back to\n`[estimatedItemHeight]`. Defaults to a uniform 40px — which makes the\ncomponent behave exactly like the fixed-height `<kp-virtual-list>`."
        },
        {
          "name": "estimatedItemHeight",
          "type": "number",
          "default": "40",
          "description": "Fallback height used when `[itemHeight]` returns a non-finite/non-positive value."
        },
        {
          "name": "viewportHeight",
          "type": "number",
          "default": "400",
          "description": "Pixel height of the scroll viewport."
        },
        {
          "name": "overscan",
          "type": "number",
          "default": "4",
          "description": "Extra rows rendered above + below the visible window to soften scroll-flicker."
        },
        {
          "name": "trackBy",
          "type": "((index: number, item: T) => unknown) | null",
          "default": "null",
          "description": "Optional trackBy for the projected rows. Defaults to absolute index — fine for stable lists."
        }
      ],
      "outputs": [
        {
          "name": "rangeChange",
          "payload": "KpVariableVirtualRange"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-variablevirtuallist--docs",
      "sourcePath": "packages/ui/variable-virtual-list/src/variable-virtual-list.component.ts"
    },
    {
      "name": "virtual-list",
      "className": "KpVirtualListComponent",
      "selector": "kp-virtual-list",
      "subSelectors": [
        "[kpVirtualRow]"
      ],
      "stability": "stable",
      "layer": "components",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/virtual-list",
      "description": "Kanso Protocol — VirtualList\n\nWindow-mode virtual scroller for **fixed-height rows**. Renders only the\nrows currently visible in the viewport (plus a configurable `[overscan]`\nbuffer). Lets the consumer hand any item shape via a projected\n`<ng-template kpVirtualRow let-item let-i=\"index\">`.\n\nWhy fixed-height: keeps the math O(1) per scroll event (`scrollTop /\nitemHeight`), no measurement pass, no layout thrash. Variable-height\nsupport is on the roadmap (`KpVariableVirtualListComponent`); for now,\nsize each row to a uniform height.\n\nUse this for tables / message lists / log views with thousands of rows.\nBelow ~100 rows just render them — virtualization adds complexity for\nnegligible gain.",
      "examples": [
        "<kp-virtual-list\n  [items]=\"rows\"\n  [itemHeight]=\"40\"\n  [viewportHeight]=\"480\"\n  [overscan]=\"6\"\n  (rangeChange)=\"onRange($event)\"\n>\n  <ng-template kpVirtualRow let-row let-i=\"index\">\n    <div class=\"row\" [class.row--alt]=\"i % 2\">{{ row.name }}</div>\n  </ng-template>\n</kp-virtual-list>"
      ],
      "inputs": [
        {
          "name": "items",
          "type": "readonly T[]",
          "default": "[]",
          "description": "The full list. The component never iterates the whole thing — only the visible window."
        },
        {
          "name": "itemHeight",
          "type": "number",
          "default": "40",
          "description": "Pixel height of one row. Required; must be uniform across rows."
        },
        {
          "name": "viewportHeight",
          "type": "number",
          "default": "400",
          "description": "Pixel height of the scroll viewport."
        },
        {
          "name": "overscan",
          "type": "number",
          "default": "4",
          "description": "Extra rows rendered above + below the visible window to soften scroll-flicker."
        },
        {
          "name": "trackBy",
          "type": "((index: number, item: T) => unknown) | null",
          "default": "null",
          "description": "Optional trackBy for the projected rows. Defaults to index — fine for stable lists."
        }
      ],
      "outputs": [
        {
          "name": "rangeChange",
          "payload": "KpVirtualRange"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/components-virtuallist--docs",
      "sourcePath": "packages/ui/virtual-list/src/virtual-list.component.ts",
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpVirtualListComponent",
        "selector": "kp-virtual-list",
        "import": "import { KpVirtualListComponent } from '@kanso-protocol/ui/virtual-list';",
        "docs": "docs/components/virtual-list.md",
        "storybook": "components-virtuallist--docs"
      }
    }
  ],
  "patterns": [
    {
      "name": "app-shell",
      "className": "KpAppShellComponent",
      "selector": "kp-app-shell",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/app-shell",
      "description": "Kanso Protocol — AppShell\n\nRoot application template. Composes Header + Sidebar + Main + Footer\nwith a single layout input driving placement. All sections are\nprojection slots — drop in real `<kp-header>`, `<kp-sidebar>`,\n`<kp-banner>`, etc. instances.\n\nSlots:\n- `[kpAppShellHeader]` — topbar\n- `[kpAppShellBanner]` — under header, spans full width\n- `[kpAppShellSidebar]` — side nav (left / right / hidden depending on `layout`)\n- `[kpAppShellBody]` — main content; scrolls independently\n- `[kpAppShellFooter]` — optional footer strip",
      "examples": [
        "<kp-app-shell layout=\"sidebar-left\">\n  <kp-header kpAppShellHeader [navItems]=\"nav\"/>\n  <kp-sidebar kpAppShellSidebar [sections]=\"sections\"/>\n  <div kpAppShellBody>\n    <kp-page-header title=\"Dashboard\"/>\n    <!-- … -->\n  </div>\n</kp-app-shell>"
      ],
      "inputs": [
        {
          "name": "layout",
          "type": "KpAppShellLayout",
          "default": "'sidebar-left'",
          "description": ""
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showSidebar",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showBanner",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-appshell--docs",
      "sourcePath": "packages/ui/app-shell/src/app-shell.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7265",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7265"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpAppShellComponent",
        "selector": "kp-app-shell",
        "import": "import { KpAppShellComponent } from '@kanso-protocol/ui/app-shell';",
        "docs": "docs/patterns/app-shell.md",
        "storybook": "patterns-appshell--docs"
      }
    },
    {
      "name": "banner",
      "className": "KpBannerComponent",
      "selector": "kp-banner",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/banner",
      "description": "Kanso Protocol — Banner\n\nGlobal top strip under the app Header. Used for system messages:\ntrial status, maintenance, payment alerts, feature launches.\nReuses alert semantic tokens (subtle appearance) so color roles\nmatch Alert / Toast.\n\nSlot: `[kpBannerAction]` for a trailing CTA (typically `<button kpButton size=\"sm\">`).",
      "examples": [
        "<kp-banner color=\"warning\" title=\"Your trial ends in 3 days\">\n  <button kpButton kpBannerAction size=\"sm\">Upgrade</button>\n</kp-banner>"
      ],
      "inputs": [
        {
          "name": "color",
          "type": "KpBannerColor",
          "default": "'primary'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpBannerSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "'Global notification message'",
          "description": ""
        },
        {
          "name": "description",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showIcon",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showClose",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "close",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-banner--docs",
      "sourcePath": "packages/ui/banner/src/banner.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7272",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7272"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpBannerComponent",
        "selector": "kp-banner",
        "import": "import { KpBannerComponent } from '@kanso-protocol/ui/banner';",
        "docs": "docs/patterns/banner.md",
        "storybook": "patterns-banner--docs"
      }
    },
    {
      "name": "container",
      "className": "KpContainerComponent",
      "selector": "kp-container",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/container",
      "description": "Kanso Protocol — Container\n\nResponsive content wrapper. Caps child width at one of four\npreset breakpoints and applies horizontal padding. Pure layout\nprimitive — no colors, borders, or spacing on its own axis.",
      "examples": [
        "<kp-container width=\"medium\" padding=\"md\">\n  <h1>Settings</h1>\n  <kp-card>…</kp-card>\n</kp-container>"
      ],
      "inputs": [
        {
          "name": "width",
          "type": "KpContainerWidth",
          "default": "'wide'",
          "description": ""
        },
        {
          "name": "padding",
          "type": "KpContainerPadding",
          "default": "'md'",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-container--docs",
      "sourcePath": "packages/ui/container/src/container.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7280",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7280"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpContainerComponent",
        "selector": "kp-container",
        "import": "import { KpContainerComponent } from '@kanso-protocol/ui/container';",
        "docs": "docs/patterns/container.md",
        "storybook": "patterns-container--docs"
      }
    },
    {
      "name": "filter-bar",
      "className": "KpFilterBarComponent",
      "selector": "kp-filter-bar",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/filter-bar",
      "description": "Kanso Protocol — FilterBar\n\nHorizontal strip of active filter chips (closable Badges in pill\nstyle) with an \"Add filter\" affordance on the left and optional\n\"Save filter\" / \"Clear all\" actions on the right. Sits under a\nTableToolbar or any filterable view.\n\nChips come from `[filters]`. Emit `removeFilter(id)` / `addFilter`\n/ `saveFilter` / `clearAll` — state management lives outside.",
      "examples": [
        "<kp-filter-bar\n  [filters]=\"[{ id:'s', label:'Status: Active', color:'primary' }]\"\n  (removeFilter)=\"drop($event)\"\n  (addFilter)=\"openPicker()\"\n  (clearAll)=\"reset()\">\n</kp-filter-bar>"
      ],
      "inputs": [
        {
          "name": "filters",
          "type": "KpFilterChip[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "showAddFilter",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showSaveFilter",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showClearAll",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "removeFilter",
          "payload": "string"
        },
        {
          "name": "addFilter",
          "payload": "void"
        },
        {
          "name": "saveFilter",
          "payload": "void"
        },
        {
          "name": "clearAll",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-filterbar--docs",
      "sourcePath": "packages/ui/filter-bar/src/filter-bar.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7288",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7288"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpFilterBarComponent",
        "selector": "kp-filter-bar",
        "import": "import { KpFilterBarComponent } from '@kanso-protocol/ui/filter-bar';",
        "docs": "docs/patterns/filter-bar.md",
        "storybook": "patterns-filterbar--docs"
      }
    },
    {
      "name": "form-section",
      "className": "KpFormSectionComponent",
      "selector": "kp-form-section",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/form-section",
      "description": "Kanso Protocol — FormSection\n\nOne titled block of a form with a description and the related\nfields. Two layouts:\n- `inline` — title + description on the left, fields on the right\n  (the classic \"settings page\" layout).\n- `stacked` — title + description on top, fields below (good for\n  narrow viewports and onboarding wizards).\n\nPure container — drop your `<kp-form-field>` / `<kp-input>` /\n`<kp-toggle>` etc. as children. Bottom divider is optional and on\nby default so consecutive sections separate cleanly.",
      "examples": [
        "<kp-form-section title=\"Personal information\"\n                 description=\"This information will be displayed publicly.\">\n  <kp-form-field label=\"First name\"><kp-input/></kp-form-field>\n  <kp-form-field label=\"Last name\"><kp-input/></kp-form-field>\n  <kp-form-field label=\"Email\"><kp-input type=\"email\"/></kp-form-field>\n</kp-form-section>"
      ],
      "inputs": [
        {
          "name": "layout",
          "type": "KpFormSectionLayout",
          "default": "'inline'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpFormSectionSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "'Section title'",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showDivider",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-formsection--docs",
      "sourcePath": "packages/ui/form-section/src/form-section.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7296",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7296"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpFormSectionComponent",
        "selector": "kp-form-section",
        "import": "import { KpFormSectionComponent } from '@kanso-protocol/ui/form-section';",
        "docs": "docs/patterns/form-section.md",
        "storybook": "patterns-formsection--docs"
      }
    },
    {
      "name": "grid",
      "className": "KpGridComponent",
      "selector": "kp-grid",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/grid",
      "description": "Kanso Protocol — Grid\n\nResponsive `display: grid` wrapper. Equal-width columns, preset\ngap scale. Independent row-gap via `gapRow` when columns need\ntighter vertical rhythm than horizontal.",
      "examples": [
        "<kp-grid [columns]=\"3\" gap=\"md\">\n  <kp-card/><kp-card/><kp-card/>\n</kp-grid>"
      ],
      "inputs": [
        {
          "name": "columns",
          "type": "KpGridColumns",
          "default": "3",
          "description": ""
        },
        {
          "name": "gap",
          "type": "KpGridGap",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "gapRow",
          "type": "KpGridGap | null",
          "default": "null",
          "description": "Optional independent row gap; if null, matches `gap`."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-grid--docs",
      "sourcePath": "packages/ui/grid/src/grid.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7304",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7304"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpGridComponent",
        "selector": "kp-grid",
        "import": "import { KpGridComponent } from '@kanso-protocol/ui/grid';",
        "docs": "docs/patterns/grid.md",
        "storybook": "patterns-grid--docs"
      }
    },
    {
      "name": "header",
      "className": "KpHeaderComponent",
      "selector": "kp-header",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/header",
      "description": "Kanso Protocol — Header (Topbar)\n\nApp topbar pattern. Three-section layout (left / center / right)\nwith optional logo, inline nav, search slot, notifications,\ntheme toggle, CTA, and user menu. Data-driven; projection slots\nfor logo, search, and extra actions.\n\nSlots:\n- `[kpHeaderLogo]` — replace the default logo mark + title\n- `[kpHeaderSearch]` — render custom search UI in the center slot\n  (takes precedence over `[showSearch]` placeholder)\n- `[kpHeaderActions]` — extra action buttons before the user menu",
      "examples": [
        "<kp-header\n  size=\"md\"\n  [navItems]=\"nav\"\n  [userName]=\"me.name\"\n  [userInitials]=\"me.initials\"\n  userRole=\"Admin\"\n  [showSearch]=\"true\"\n  [showNotifications]=\"true\"\n  notificationsCount=\"3\"\n/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpHeaderSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpHeaderAppearance",
          "default": "'light'",
          "description": ""
        },
        {
          "name": "showLogo",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "logoText",
          "type": "string",
          "default": "'Kanso Protocol'",
          "description": ""
        },
        {
          "name": "showMainNav",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "navItems",
          "type": "KpHeaderNavItem[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "mobileBreakpoint",
          "type": "number | null",
          "default": "null",
          "description": "Viewport width (px) below which the inline nav collapses to a hamburger\nthat emits `(menuClick)` — wire it to open your Drawer / Sidebar. Null\n(default) keeps the nav inline at all widths. SSR-safe."
        },
        {
          "name": "showSearch",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "searchPlaceholder",
          "type": "string",
          "default": "'Search anything...'",
          "description": ""
        },
        {
          "name": "showThemeToggle",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showNotifications",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "notificationsCount",
          "type": "string | number | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showCta",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "ctaLabel",
          "type": "string",
          "default": "'Get started'",
          "description": ""
        },
        {
          "name": "showUserMenu",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "userName",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "userRole",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "userInitials",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showUserStatus",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "themeToggle",
          "payload": "void"
        },
        {
          "name": "notificationsClick",
          "payload": "void"
        },
        {
          "name": "ctaClick",
          "payload": "void"
        },
        {
          "name": "userMenuClick",
          "payload": "void"
        },
        {
          "name": "menuClick",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-header--docs",
      "sourcePath": "packages/ui/header/src/header.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7312",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7312"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpHeaderComponent",
        "selector": "kp-header",
        "import": "import { KpHeaderComponent } from '@kanso-protocol/ui/header';",
        "docs": "docs/patterns/header.md",
        "storybook": "patterns-header--docs"
      }
    },
    {
      "name": "nav-item",
      "className": "KpNavItemComponent",
      "selector": "kp-nav-item",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/nav-item",
      "description": "Kanso Protocol — NavItem\n\nAtomic nav row for Sidebar. Supports 3 sizes, 4 states, nested\ndepth (left padding), optional icon / badge / chevron, and an\n\"active\" left accent bar.\n\nSlots:\n- `[kpNavItemIcon]` — leading icon\n- `[kpNavItemBadge]` — trailing badge (e.g. `<kp-badge>`)",
      "examples": [
        "<kp-nav-item size=\"md\" [active]=\"true\" label=\"Dashboard\">\n  <svg kpNavItemIcon>…</svg>\n</kp-nav-item>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpNavItemSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "depth",
          "type": "number",
          "default": "0",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "'Navigation item'",
          "description": ""
        },
        {
          "name": "active",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "disabled",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "hasChildren",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "expanded",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showIcon",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showBadge",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showActiveIndicator",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "collapsed",
          "type": "boolean",
          "default": "false",
          "description": "When true, hide label/badge/chevron and center the icon — used by collapsed Sidebar"
        }
      ],
      "outputs": [
        {
          "name": "click$",
          "payload": "MouseEvent"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-navitem--docs",
      "sourcePath": "packages/ui/nav-item/src/nav-item.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7320",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7320"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpNavItemComponent",
        "selector": "kp-nav-item",
        "import": "import { KpNavItemComponent } from '@kanso-protocol/ui/nav-item';",
        "docs": "docs/patterns/nav-item.md",
        "storybook": "patterns-navitem--docs"
      }
    },
    {
      "name": "notification-center",
      "className": "KpNotificationCenterComponent",
      "selector": "kp-notification-center",
      "subSelectors": [
        "kp-notification-item"
      ],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/notification-center",
      "description": "Kanso Protocol — NotificationCenter\n\nPanel with header + optional filters + list of notifications +\noptional footer (\"View all\"). Three states: with-items / empty /\nloading. Typically anchored to the bell icon in Header via\nDropdownMenu / Popover positioning.",
      "examples": [
        "<kp-notification-center\n  state=\"with-items\"\n  [notifications]=\"items\"\n  [showFilters]=\"true\"\n  unreadCount=\"3\"\n/>"
      ],
      "inputs": [
        {
          "name": "state",
          "type": "KpNotificationCenterState",
          "default": "'with-items'",
          "description": ""
        },
        {
          "name": "showFilters",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "activeFilter",
          "type": "string",
          "default": "'all'",
          "description": ""
        },
        {
          "name": "filters",
          "type": "{ id: string; label: string; count?: number }[]",
          "default": "[\n    { id: 'all', label: 'All' },\n    { id: 'unread', label: 'Unread' },\n    { id: 'mentions', label: 'Mentions' },\n  ]",
          "description": ""
        },
        {
          "name": "showFooter",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "markAllRead",
          "payload": "void"
        },
        {
          "name": "settingsClick",
          "payload": "void"
        },
        {
          "name": "itemClick",
          "payload": "KpNotification"
        },
        {
          "name": "filterChange",
          "payload": "string"
        },
        {
          "name": "viewAll",
          "payload": "void"
        },
        {
          "name": "loadMore",
          "payload": "{ visible: number; total: number; }"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-notificationcenter--docs",
      "sourcePath": "packages/ui/notification-center/src/notification-center.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7327",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7327"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpNotificationCenterComponent",
        "selector": "kp-notification-center",
        "import": "import { KpNotificationCenterComponent } from '@kanso-protocol/ui/notification-center';",
        "docs": "docs/patterns/notification-center.md",
        "storybook": "patterns-notificationcenter--docs"
      }
    },
    {
      "name": "page-error",
      "className": "KpPageErrorComponent",
      "selector": "kp-page-error",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/page-error",
      "description": "Kanso Protocol — PageError\n\nFull-page error state for 404, 500, offline, and access-denied\nscenarios. Composes an illustration, optional hero error code,\ntitle + description, and primary/secondary action slots.\n\nTitles/descriptions/icon default to the `type` preset; override\nany of them via individual inputs.\n\nSlots:\n- `[kpPageErrorPrimary]` — primary CTA (Button, default)\n- `[kpPageErrorSecondary]` — secondary CTA (Button, ghost)",
      "examples": [
        "<kp-page-error type=\"404\">\n  <button kpButton kpPageErrorPrimary>Go home</button>\n  <button kpButton kpPageErrorSecondary variant=\"ghost\">Report broken link</button>\n</kp-page-error>"
      ],
      "inputs": [
        {
          "name": "type",
          "type": "KpPageErrorType",
          "default": "'404'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string | null",
          "default": "null",
          "description": "Override the preset title"
        },
        {
          "name": "description",
          "type": "string | null",
          "default": "null",
          "description": "Override the preset description"
        },
        {
          "name": "icon",
          "type": "string | null",
          "default": "null",
          "description": "Override the Tabler icon name (without `ti-` prefix)"
        },
        {
          "name": "errorCode",
          "type": "string | null | undefined",
          "default": "undefined",
          "description": "Override the hero error code (pass empty string to hide on 404/500)"
        },
        {
          "name": "showPrimary",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showSecondary",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-pageerror--docs",
      "sourcePath": "packages/ui/page-error/src/page-error.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7334",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7334"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpPageErrorComponent",
        "selector": "kp-page-error",
        "import": "import { KpPageErrorComponent } from '@kanso-protocol/ui/page-error';",
        "docs": "docs/patterns/page-error.md",
        "storybook": "patterns-pageerror--docs"
      }
    },
    {
      "name": "page-header",
      "className": "KpPageHeaderComponent",
      "selector": "kp-page-header",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/page-header",
      "description": "Kanso Protocol — PageHeader\n\nContent-area header. Three sizes, optional breadcrumbs, back button,\ndescription, actions slot, tabs slot, and bottom divider.\n\nSlots (all optional):\n- `[kpPageHeaderBreadcrumbs]` — Breadcrumbs instance\n- `[kpPageHeaderTitle]` — custom title (e.g. title + inline Badge)\n- `[kpPageHeaderActions]` — action buttons on the right\n- `[kpPageHeaderTabs]` — Tabs instance under the header",
      "examples": [
        "<kp-page-header\n  size=\"md\"\n  title=\"All projects\"\n  description=\"12 active projects\"\n  [showActions]=\"true\"\n>\n  <kp-breadcrumbs kpPageHeaderBreadcrumbs [items]=\"crumbs\"/>\n  <div kpPageHeaderActions>\n    <button kpButton appearance=\"ghost\">Import</button>\n    <button kpButton>Create</button>\n  </div>\n</kp-page-header>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpPageHeaderSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "'Page title'",
          "description": ""
        },
        {
          "name": "description",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "showBreadcrumbs",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showBackButton",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showActions",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showTabs",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showBottomDivider",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "align",
          "type": "KpPageHeaderAlign",
          "default": "'start'",
          "description": "Cross-axis alignment of the back-button + title + actions row.\nDefault 'start' (optical baseline alignment for multi-line headers\nwith a description). 'center' for single-line headers where the\nback-button should sit mid-height with the title."
        },
        {
          "name": "collapsed",
          "type": "boolean",
          "default": "false",
          "description": "Compact mode — hides the breadcrumbs and description rows, keeping the\ntitle, actions, and tabs. Pair with your own scroll listener for a\nshrink-on-scroll header, or toggle it explicitly."
        }
      ],
      "outputs": [
        {
          "name": "backClick",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-pageheader--docs",
      "sourcePath": "packages/ui/page-header/src/page-header.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7341",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7341"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpPageHeaderComponent",
        "selector": "kp-page-header",
        "import": "import { KpPageHeaderComponent } from '@kanso-protocol/ui/page-header';",
        "docs": "docs/patterns/page-header.md",
        "storybook": "patterns-pageheader--docs"
      }
    },
    {
      "name": "row",
      "className": "KpRowComponent",
      "selector": "kp-row",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/row",
      "description": "Kanso Protocol — Row\n\nHorizontal Auto Layout wrapper with a preset gap scale, cross-axis\nalignment, and main-axis justification. Optional wrap on overflow.",
      "examples": [
        "<kp-row gap=\"sm\" justify=\"end\">\n  <button kpButton appearance=\"ghost\">Cancel</button>\n  <button kpButton>Save</button>\n</kp-row>"
      ],
      "inputs": [
        {
          "name": "gap",
          "type": "KpRowGap",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "align",
          "type": "KpRowAlign",
          "default": "'center'",
          "description": ""
        },
        {
          "name": "justify",
          "type": "KpRowJustify",
          "default": "'start'",
          "description": ""
        },
        {
          "name": "wrap",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-row--docs",
      "sourcePath": "packages/ui/row/src/row.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3825:7273",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3825-7273"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpRowComponent",
        "selector": "kp-row",
        "import": "import { KpRowComponent } from '@kanso-protocol/ui/row';",
        "docs": "docs/patterns/row.md",
        "storybook": "patterns-row--docs"
      }
    },
    {
      "name": "search-bar",
      "className": "KpSearchBarComponent",
      "selector": "kp-search-bar",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/search-bar",
      "description": "Kanso Protocol — SearchBar\n\nTwo variants:\n- `inline` — a simple search input with optional ⌘K shortcut hint,\n  good for header search or page filters.\n- `command-palette` — a self-contained panel: input + grouped\n  results with shortcuts + footer helper keys. Typically rendered\n  inside a Dialog/Overlay.\n\nThe component is presentational; filtering results, opening the\npalette via ⌘K, and committing selection are all consumer\nresponsibilities.",
      "examples": [
        "<!-- Inline in Header -->\n<kp-search-bar variant=\"inline\" size=\"md\" [showShortcutHint]=\"true\" (search)=\"onSearch($event)\"/>\n\n<!-- Command Palette (inside a Dialog) -->\n<kp-search-bar variant=\"command-palette\" [groups]=\"results\" (itemClick)=\"run($event)\"/>"
      ],
      "inputs": [
        {
          "name": "variant",
          "type": "KpSearchBarVariant",
          "default": "'inline'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpSearchBarSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "placeholder",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "value",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showShortcutHint",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "shortcutHint",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "groups",
          "type": "KpSearchResultGroup[]",
          "default": "[]",
          "description": "Result groups — only rendered in `command-palette` variant"
        }
      ],
      "outputs": [
        {
          "name": "valueChange",
          "payload": "string"
        },
        {
          "name": "search",
          "payload": "string"
        },
        {
          "name": "itemClick",
          "payload": "KpSearchResultItem"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-searchbar--docs",
      "sourcePath": "packages/ui/search-bar/src/search-bar.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7356",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7356"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSearchBarComponent",
        "selector": "kp-search-bar",
        "import": "import { KpSearchBarComponent } from '@kanso-protocol/ui/search-bar';",
        "docs": "docs/patterns/search-bar.md",
        "storybook": "patterns-searchbar--docs"
      }
    },
    {
      "name": "settings-panel",
      "className": "KpSettingsPanelComponent",
      "selector": "kp-settings-panel",
      "subSelectors": [
        "kp-settings-row"
      ],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/settings-panel",
      "description": "Kanso Protocol — SettingsPanel\n\nCard-shaped container for a group of related settings. Title +\ndescription in the header, then a column of `<kp-settings-row>`\nchildren. The card border and header are optional — turn them off\nto inline a panel inside another container.\n\nUse one panel per topical group (Notifications / Privacy / Billing).",
      "examples": [
        "<kp-settings-panel title=\"Notifications\"\n                   description=\"Manage how you receive updates and alerts.\">\n  <kp-settings-row title=\"Email notifications\">\n    <kp-toggle [on]=\"true\"/>\n  </kp-settings-row>\n  <kp-settings-row title=\"Push notifications\" [showDivider]=\"false\">\n    <kp-toggle [on]=\"false\"/>\n  </kp-settings-row>\n</kp-settings-panel>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpSettingsPanelSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "title",
          "type": "string",
          "default": "'Settings group'",
          "description": ""
        },
        {
          "name": "description",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showHeader",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showDescription",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showOuterBorder",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-settingspanel--docs",
      "sourcePath": "packages/ui/settings-panel/src/settings-panel.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7364",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7364"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSettingsPanelComponent",
        "selector": "kp-settings-panel",
        "import": "import { KpSettingsPanelComponent } from '@kanso-protocol/ui/settings-panel';",
        "docs": "docs/patterns/settings-panel.md",
        "storybook": "patterns-settingspanel--docs"
      }
    },
    {
      "name": "sidebar",
      "className": "KpSidebarComponent",
      "selector": "kp-sidebar",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/sidebar",
      "description": "Kanso Protocol — Sidebar\n\nApp side navigation container. Expanded (240) or collapsed (64).\nData-driven sections, each with its own label and NavItems.\nOptional logo, search slot, user footer with Avatar.\n\nSlots:\n- `[kpSidebarLogo]` — custom logo area\n- `[kpSidebarSearch]` — search field above sections\n- each NavItem icon is rendered via `iconTemplateRef` if provided\n  (otherwise a generic placeholder)",
      "examples": [
        "<kp-sidebar\n  widthState=\"expanded\"\n  [sections]=\"nav\"\n  userName=\"Greg Black\"\n  userInitials=\"GB\"\n  userEmail=\"greg@example.com\"\n/>"
      ],
      "inputs": [
        {
          "name": "widthState",
          "type": "KpSidebarWidth",
          "default": "'expanded'",
          "description": ""
        },
        {
          "name": "appearance",
          "type": "KpSidebarAppearance",
          "default": "'light'",
          "description": ""
        },
        {
          "name": "persistKey",
          "type": "string | null",
          "default": "null",
          "description": "When set, the expanded/collapsed state is persisted to `localStorage`\nunder this key and restored on init — so the choice survives reloads.\nLeave null for session-scoped (in-memory) collapse. SSR-safe."
        },
        {
          "name": "showLogo",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "logoText",
          "type": "string",
          "default": "'Kanso Protocol'",
          "description": ""
        },
        {
          "name": "showSearch",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showSectionLabels",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showUserFooter",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "sections",
          "type": "KpSidebarSection[]",
          "default": "[]",
          "description": ""
        },
        {
          "name": "userName",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "userEmail",
          "type": "string | null",
          "default": "null",
          "description": ""
        },
        {
          "name": "userInitials",
          "type": "string | null",
          "default": "null",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "toggle",
          "payload": "KpSidebarWidth"
        },
        {
          "name": "itemClick",
          "payload": "KpSidebarNavItem"
        },
        {
          "name": "userMenuClick",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-sidebar--docs",
      "sourcePath": "packages/ui/sidebar/src/sidebar.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7372",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7372"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpSidebarComponent",
        "selector": "kp-sidebar",
        "import": "import { KpSidebarComponent } from '@kanso-protocol/ui/sidebar';",
        "docs": "docs/patterns/sidebar.md",
        "storybook": "patterns-sidebar--docs"
      }
    },
    {
      "name": "stack",
      "className": "KpStackComponent",
      "selector": "kp-stack",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/stack",
      "description": "Kanso Protocol — Stack\n\nVertical Auto Layout wrapper with a preset gap scale and cross-axis\nalignment. Semantic counterpart to `<div style=\"display:flex;flex-direction:column\">`.",
      "examples": [
        "<kp-stack gap=\"md\">\n  <kp-input/>\n  <kp-input/>\n  <button kpButton>Save</button>\n</kp-stack>"
      ],
      "inputs": [
        {
          "name": "gap",
          "type": "KpStackGap",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "align",
          "type": "KpStackAlign",
          "default": "'stretch'",
          "description": ""
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-stack--docs",
      "sourcePath": "packages/ui/stack/src/stack.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3825:7265",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3825-7265"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpStackComponent",
        "selector": "kp-stack",
        "import": "import { KpStackComponent } from '@kanso-protocol/ui/stack';",
        "docs": "docs/patterns/stack.md",
        "storybook": "patterns-stack--docs"
      }
    },
    {
      "name": "stat-card",
      "className": "KpStatCardComponent",
      "selector": "kp-stat-card",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/stat-card",
      "description": "Kanso Protocol — StatCard\n\nSingle-metric tile with label, big value, optional icon, optional\ntrend (direction + delta + description), and an optional inline\nsparkline. Designed to live in a dashboard grid.\n\nSparkline: pass a numeric series to `sparklineData` for a built-in,\ndependency-free SVG trend line. Its stroke color follows `sparklineTrend`\n(or, when unset, the trend row's tone) via the accent/success/danger\nsemantic tokens. The sparkline is decorative (`aria-hidden`) — the\nnumeric `value` remains the accessible metric.\n\nSlot: `[kpStatCardSparkline]` — or drop in your own chart (e.g. recharts)\ninstead of the built-in line; the placeholder shows a styled rectangle\nwhen the slot is empty and no `sparklineData` is given.",
      "examples": [
        "<kp-stat-card label=\"Total revenue\" value=\"$12,482\" trendValue=\"+12.5%\" trendDescription=\"from last month\"/>",
        "<kp-stat-card label=\"Sessions\" value=\"3.4k\" [showSparkline]=\"true\" [sparklineData]=\"[4,7,5,9,8,12]\" sparklineTrend=\"auto\"/>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpStatCardSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "label",
          "type": "string",
          "default": "'Total revenue'",
          "description": ""
        },
        {
          "name": "value",
          "type": "string | number",
          "default": "'$12,482'",
          "description": ""
        },
        {
          "name": "showIcon",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "icon",
          "type": "string | null",
          "default": "'trending-up'",
          "description": ""
        },
        {
          "name": "showTrend",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "trendDirection",
          "type": "KpStatTrendDirection",
          "default": "'up'",
          "description": ""
        },
        {
          "name": "trendAppearance",
          "type": "KpStatTrendAppearance",
          "default": "'positive'",
          "description": ""
        },
        {
          "name": "trendValue",
          "type": "string | null",
          "default": "'+12.5%'",
          "description": ""
        },
        {
          "name": "trendDescription",
          "type": "string | null",
          "default": "'from last month'",
          "description": ""
        },
        {
          "name": "showSparkline",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "sparklineData",
          "type": "number[] | null",
          "default": "null",
          "description": "Built-in sparkline: pass a numeric series (≥2 points) to draw an inline\n trend line. Ignored if you project your own `[kpStatCardSparkline]`."
        },
        {
          "name": "sparklineTrend",
          "type": "KpStatTrendDirection | 'auto' | null",
          "default": "null",
          "description": "Colors the sparkline stroke, decoupled from the trend row:\n- `null` (default) — inherit the trend row's tone, so existing cards are\n  visually unchanged.\n- `'up' | 'down' | 'neutral'` — set the tone explicitly (up = success,\n  down = danger, neutral = accent). Handy when the trend row is hidden.\n- `'auto'` — derive the direction from the series itself (last vs first)."
        }
      ],
      "outputs": [],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-statcard--docs",
      "sourcePath": "packages/ui/stat-card/src/stat-card.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7387",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7387"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpStatCardComponent",
        "selector": "kp-stat-card",
        "import": "import { KpStatCardComponent } from '@kanso-protocol/ui/stat-card';",
        "docs": "docs/patterns/stat-card.md",
        "storybook": "patterns-statcard--docs"
      }
    },
    {
      "name": "table-toolbar",
      "className": "KpTableToolbarComponent",
      "selector": "kp-table-toolbar",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/table-toolbar",
      "description": "Kanso Protocol — TableToolbar\n\nPanel that sits above a data table. Two modes:\n- `default` — search + filter/sort + right-side actions (density, columns,\n  export, create).\n- `bulk-select` — swaps to a selection summary with bulk actions\n  (export / tag / move / delete).\n\nComposes SearchBar, Button, Badge. Action slots are boolean toggles so\nyou can dial the toolbar from minimal (\"search + create\") up to a full\nadmin bar without touching templates.",
      "examples": [
        "<kp-table-toolbar\n  [showFilter]=\"true\"\n  [activeFilterCount]=\"2\"\n  (createClick)=\"openCreate()\">\n</kp-table-toolbar>"
      ],
      "inputs": [
        {
          "name": "mode",
          "type": "KpTableToolbarMode",
          "default": "'default'",
          "description": ""
        },
        {
          "name": "showSearch",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "searchPlaceholder",
          "type": "string",
          "default": "'Search…'",
          "description": ""
        },
        {
          "name": "searchValue",
          "type": "string",
          "default": "''",
          "description": ""
        },
        {
          "name": "showFilter",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "activeFilterCount",
          "type": "number",
          "default": "0",
          "description": ""
        },
        {
          "name": "showSort",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showDensity",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "density",
          "type": "KpTableToolbarDensity",
          "default": "'comfortable'",
          "description": ""
        },
        {
          "name": "showColumnPicker",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showExport",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showCreate",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "createLabel",
          "type": "string",
          "default": "'Create new'",
          "description": ""
        },
        {
          "name": "selectedCount",
          "type": "number",
          "default": "0",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "searchChange",
          "payload": "string"
        },
        {
          "name": "filterClick",
          "payload": "void"
        },
        {
          "name": "sortClick",
          "payload": "void"
        },
        {
          "name": "densityChange",
          "payload": "KpTableToolbarDensity"
        },
        {
          "name": "columnsClick",
          "payload": "void"
        },
        {
          "name": "exportClick",
          "payload": "void"
        },
        {
          "name": "createClick",
          "payload": "void"
        },
        {
          "name": "clearSelection",
          "payload": "void"
        },
        {
          "name": "bulkExport",
          "payload": "void"
        },
        {
          "name": "bulkTag",
          "payload": "void"
        },
        {
          "name": "bulkMove",
          "payload": "void"
        },
        {
          "name": "bulkDelete",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-tabletoolbar--docs",
      "sourcePath": "packages/ui/table-toolbar/src/table-toolbar.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7395",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7395"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpTableToolbarComponent",
        "selector": "kp-table-toolbar",
        "import": "import { KpTableToolbarComponent } from '@kanso-protocol/ui/table-toolbar';",
        "docs": "docs/patterns/table-toolbar.md",
        "storybook": "patterns-tabletoolbar--docs"
      }
    },
    {
      "name": "theme-toggle",
      "className": "KpThemeToggleComponent",
      "selector": "kp-theme-toggle",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/theme-toggle",
      "description": "Kanso Protocol — ThemeToggle\n\nThree presentations for switching between light / dark / system\nthemes:\n- `icon` — single icon button that cycles\n- `segmented` — three inline icon segments, one selected\n- `dropdown` — ghost button showing the current theme label; opens a menu\n\nThe component emits `themeChange` when the user selects a value;\nkeeping the chosen theme (including `system`) up to the consumer.",
      "examples": [
        "<kp-theme-toggle\n  variant=\"segmented\"\n  [showLabel]=\"true\"\n  [currentTheme]=\"theme()\"\n  (themeChange)=\"theme.set($event)\"\n/>"
      ],
      "inputs": [
        {
          "name": "variant",
          "type": "KpThemeToggleVariant",
          "default": "'icon'",
          "description": ""
        },
        {
          "name": "size",
          "type": "KpThemeToggleSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "currentTheme",
          "type": "KpThemeValue",
          "default": "'light'",
          "description": ""
        },
        {
          "name": "showLabel",
          "type": "boolean",
          "default": "false",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "themeChange",
          "payload": "KpThemeValue"
        },
        {
          "name": "dropdownClick",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md",
        "lg"
      ],
      "keyboardPatterns": [
        "Escape"
      ],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-themetoggle--docs",
      "sourcePath": "packages/ui/theme-toggle/src/theme-toggle.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7403",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7403"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpThemeToggleComponent",
        "selector": "kp-theme-toggle",
        "import": "import { KpThemeToggleComponent } from '@kanso-protocol/ui/theme-toggle';",
        "docs": "docs/patterns/theme-toggle.md",
        "storybook": "patterns-themetoggle--docs"
      }
    },
    {
      "name": "user-menu",
      "className": "KpUserMenuComponent",
      "selector": "kp-user-menu",
      "subSelectors": [],
      "stability": "stable",
      "layer": "patterns",
      "package": "@kanso-protocol/ui",
      "import": "@kanso-protocol/ui/user-menu",
      "description": "Kanso Protocol — UserMenu\n\nPreset dropdown shown from the user Avatar in Header. User block\nat top, main menu, optional theme toggle + help links, Sign out.\n\nSlots:\n- `[kpUserMenuItems]` — main menu items (Profile / Settings / Billing / Team)\n- `[kpUserMenuHelp]` — help links\n- `[kpUserMenuTheme]` — theme toggle row (e.g. a SegmentedControl)",
      "examples": [
        "<kp-user-menu\n  userName=\"Greg Black\"\n  userInitials=\"GB\"\n  userEmail=\"greg@example.com\"\n  [showPlanBadge]=\"true\"\n  planName=\"Pro\"\n>\n  <div kpUserMenuItems>\n    <kp-menu-item icon=\"user\" label=\"Profile\" (click$)=\"goto('profile')\"/>\n    ...\n  </div>\n</kp-user-menu>"
      ],
      "inputs": [
        {
          "name": "size",
          "type": "KpUserMenuSize",
          "default": "'md'",
          "description": ""
        },
        {
          "name": "userName",
          "type": "string | null",
          "default": "'Greg Black'",
          "description": ""
        },
        {
          "name": "userEmail",
          "type": "string | null",
          "default": "'greg@example.com'",
          "description": ""
        },
        {
          "name": "userInitials",
          "type": "string | null",
          "default": "'GB'",
          "description": ""
        },
        {
          "name": "presence",
          "type": "KpAvatarStatus | null",
          "default": "'online'",
          "description": "Presence dot on the avatar: `online` / `away` / `busy` / `offline`, or `null` to hide it."
        },
        {
          "name": "showEmail",
          "type": "boolean",
          "default": "true",
          "description": ""
        },
        {
          "name": "showPlanBadge",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "planName",
          "type": "string",
          "default": "'Pro'",
          "description": ""
        },
        {
          "name": "showThemeToggle",
          "type": "boolean",
          "default": "false",
          "description": ""
        },
        {
          "name": "showHelpLink",
          "type": "boolean",
          "default": "true",
          "description": ""
        }
      ],
      "outputs": [
        {
          "name": "signOut",
          "payload": "void"
        }
      ],
      "ariaRole": null,
      "sizeRamp": [
        "sm",
        "md"
      ],
      "keyboardPatterns": [],
      "docsUrl": "https://gregnblack.github.io/kanso-protocol/?path=/docs/patterns-usermenu--docs",
      "sourcePath": "packages/ui/user-menu/src/user-menu.component.ts",
      "figma": {
        "fileKey": "lhWTPOMJMCNhnwM9nNMCuH",
        "nodeId": "3822:7411",
        "url": "https://www.figma.com/design/lhWTPOMJMCNhnwM9nNMCuH/Kanso-Protocol-Design-System?node-id=3822-7411"
      },
      "codeConnect": {
        "npm": "@kanso-protocol/ui",
        "primaryClass": "KpUserMenuComponent",
        "selector": "kp-user-menu",
        "import": "import { KpUserMenuComponent } from '@kanso-protocol/ui/user-menu';",
        "docs": "docs/patterns/user-menu.md",
        "storybook": "patterns-usermenu--docs"
      }
    }
  ],
  "tokens": [
    {
      "name": "--kp-color-white",
      "value": "#ffffff",
      "category": "color",
      "subPath": "white"
    },
    {
      "name": "--kp-color-black",
      "value": "#09090b",
      "category": "color",
      "subPath": "black"
    },
    {
      "name": "--kp-color-foreground-on-saturated",
      "value": "#ffffff",
      "category": "color",
      "subPath": "foreground-on-saturated"
    },
    {
      "name": "--kp-color-foreground-on-dark-accent-primary",
      "value": "#60a5fa",
      "category": "color",
      "subPath": "foreground-on-dark-accent-primary"
    },
    {
      "name": "--kp-color-gray-50",
      "value": "#fafafa",
      "category": "color",
      "subPath": "gray-50"
    },
    {
      "name": "--kp-color-gray-100",
      "value": "#f4f4f5",
      "category": "color",
      "subPath": "gray-100"
    },
    {
      "name": "--kp-color-gray-200",
      "value": "#e4e4e7",
      "category": "color",
      "subPath": "gray-200"
    },
    {
      "name": "--kp-color-gray-300",
      "value": "#d4d4d8",
      "category": "color",
      "subPath": "gray-300"
    },
    {
      "name": "--kp-color-gray-400",
      "value": "#a1a1aa",
      "category": "color",
      "subPath": "gray-400"
    },
    {
      "name": "--kp-color-gray-500",
      "value": "#71717a",
      "category": "color",
      "subPath": "gray-500"
    },
    {
      "name": "--kp-color-gray-600",
      "value": "#52525b",
      "category": "color",
      "subPath": "gray-600"
    },
    {
      "name": "--kp-color-gray-700",
      "value": "#3f3f46",
      "category": "color",
      "subPath": "gray-700"
    },
    {
      "name": "--kp-color-gray-800",
      "value": "#27272a",
      "category": "color",
      "subPath": "gray-800"
    },
    {
      "name": "--kp-color-gray-900",
      "value": "#18181b",
      "category": "color",
      "subPath": "gray-900"
    },
    {
      "name": "--kp-color-gray-950",
      "value": "#09090b",
      "category": "color",
      "subPath": "gray-950"
    },
    {
      "name": "--kp-color-blue-50",
      "value": "#eff6ff",
      "category": "color",
      "subPath": "blue-50"
    },
    {
      "name": "--kp-color-blue-100",
      "value": "#dbeafe",
      "category": "color",
      "subPath": "blue-100"
    },
    {
      "name": "--kp-color-blue-200",
      "value": "#bfdbfe",
      "category": "color",
      "subPath": "blue-200"
    },
    {
      "name": "--kp-color-blue-300",
      "value": "#93c5fd",
      "category": "color",
      "subPath": "blue-300"
    },
    {
      "name": "--kp-color-blue-400",
      "value": "#60a5fa",
      "category": "color",
      "subPath": "blue-400"
    },
    {
      "name": "--kp-color-blue-500",
      "value": "#3b82f6",
      "category": "color",
      "subPath": "blue-500"
    },
    {
      "name": "--kp-color-blue-600",
      "value": "#2563eb",
      "category": "color",
      "subPath": "blue-600"
    },
    {
      "name": "--kp-color-blue-700",
      "value": "#1d4ed8",
      "category": "color",
      "subPath": "blue-700"
    },
    {
      "name": "--kp-color-blue-800",
      "value": "#1e40af",
      "category": "color",
      "subPath": "blue-800"
    },
    {
      "name": "--kp-color-blue-900",
      "value": "#1e3a8a",
      "category": "color",
      "subPath": "blue-900"
    },
    {
      "name": "--kp-color-blue-950",
      "value": "#172554",
      "category": "color",
      "subPath": "blue-950"
    },
    {
      "name": "--kp-color-red-50",
      "value": "#fef2f2",
      "category": "color",
      "subPath": "red-50"
    },
    {
      "name": "--kp-color-red-100",
      "value": "#fee2e2",
      "category": "color",
      "subPath": "red-100"
    },
    {
      "name": "--kp-color-red-200",
      "value": "#fecaca",
      "category": "color",
      "subPath": "red-200"
    },
    {
      "name": "--kp-color-red-300",
      "value": "#fca5a5",
      "category": "color",
      "subPath": "red-300"
    },
    {
      "name": "--kp-color-red-400",
      "value": "#f87171",
      "category": "color",
      "subPath": "red-400"
    },
    {
      "name": "--kp-color-red-500",
      "value": "#ef4444",
      "category": "color",
      "subPath": "red-500"
    },
    {
      "name": "--kp-color-red-600",
      "value": "#dc2626",
      "category": "color",
      "subPath": "red-600"
    },
    {
      "name": "--kp-color-red-700",
      "value": "#b91c1c",
      "category": "color",
      "subPath": "red-700"
    },
    {
      "name": "--kp-color-red-800",
      "value": "#991b1b",
      "category": "color",
      "subPath": "red-800"
    },
    {
      "name": "--kp-color-red-900",
      "value": "#7f1d1d",
      "category": "color",
      "subPath": "red-900"
    },
    {
      "name": "--kp-color-red-950",
      "value": "#450a0a",
      "category": "color",
      "subPath": "red-950"
    },
    {
      "name": "--kp-color-green-50",
      "value": "#f0fdf4",
      "category": "color",
      "subPath": "green-50"
    },
    {
      "name": "--kp-color-green-100",
      "value": "#dcfce7",
      "category": "color",
      "subPath": "green-100"
    },
    {
      "name": "--kp-color-green-200",
      "value": "#bbf7d0",
      "category": "color",
      "subPath": "green-200"
    },
    {
      "name": "--kp-color-green-300",
      "value": "#86efac",
      "category": "color",
      "subPath": "green-300"
    },
    {
      "name": "--kp-color-green-400",
      "value": "#4ade80",
      "category": "color",
      "subPath": "green-400"
    },
    {
      "name": "--kp-color-green-500",
      "value": "#22c55e",
      "category": "color",
      "subPath": "green-500"
    },
    {
      "name": "--kp-color-green-600",
      "value": "#16a34a",
      "category": "color",
      "subPath": "green-600"
    },
    {
      "name": "--kp-color-green-700",
      "value": "#15803d",
      "category": "color",
      "subPath": "green-700"
    },
    {
      "name": "--kp-color-green-800",
      "value": "#166534",
      "category": "color",
      "subPath": "green-800"
    },
    {
      "name": "--kp-color-green-900",
      "value": "#14532d",
      "category": "color",
      "subPath": "green-900"
    },
    {
      "name": "--kp-color-green-950",
      "value": "#052e16",
      "category": "color",
      "subPath": "green-950"
    },
    {
      "name": "--kp-color-amber-50",
      "value": "#fffbeb",
      "category": "color",
      "subPath": "amber-50"
    },
    {
      "name": "--kp-color-amber-100",
      "value": "#fef3c7",
      "category": "color",
      "subPath": "amber-100"
    },
    {
      "name": "--kp-color-amber-200",
      "value": "#fde68a",
      "category": "color",
      "subPath": "amber-200"
    },
    {
      "name": "--kp-color-amber-300",
      "value": "#fcd34d",
      "category": "color",
      "subPath": "amber-300"
    },
    {
      "name": "--kp-color-amber-400",
      "value": "#fbbf24",
      "category": "color",
      "subPath": "amber-400"
    },
    {
      "name": "--kp-color-amber-500",
      "value": "#f59e0b",
      "category": "color",
      "subPath": "amber-500"
    },
    {
      "name": "--kp-color-amber-600",
      "value": "#d97706",
      "category": "color",
      "subPath": "amber-600"
    },
    {
      "name": "--kp-color-amber-700",
      "value": "#b45309",
      "category": "color",
      "subPath": "amber-700"
    },
    {
      "name": "--kp-color-amber-800",
      "value": "#92400e",
      "category": "color",
      "subPath": "amber-800"
    },
    {
      "name": "--kp-color-amber-900",
      "value": "#78350f",
      "category": "color",
      "subPath": "amber-900"
    },
    {
      "name": "--kp-color-amber-950",
      "value": "#451a03",
      "category": "color",
      "subPath": "amber-950"
    },
    {
      "name": "--kp-color-cyan-50",
      "value": "#ecfeff",
      "category": "color",
      "subPath": "cyan-50"
    },
    {
      "name": "--kp-color-cyan-100",
      "value": "#cffafe",
      "category": "color",
      "subPath": "cyan-100"
    },
    {
      "name": "--kp-color-cyan-200",
      "value": "#a5f3fc",
      "category": "color",
      "subPath": "cyan-200"
    },
    {
      "name": "--kp-color-cyan-300",
      "value": "#67e8f9",
      "category": "color",
      "subPath": "cyan-300"
    },
    {
      "name": "--kp-color-cyan-400",
      "value": "#22d3ee",
      "category": "color",
      "subPath": "cyan-400"
    },
    {
      "name": "--kp-color-cyan-500",
      "value": "#06b6d4",
      "category": "color",
      "subPath": "cyan-500"
    },
    {
      "name": "--kp-color-cyan-600",
      "value": "#0891b2",
      "category": "color",
      "subPath": "cyan-600"
    },
    {
      "name": "--kp-color-cyan-700",
      "value": "#0e7490",
      "category": "color",
      "subPath": "cyan-700"
    },
    {
      "name": "--kp-color-cyan-800",
      "value": "#155e75",
      "category": "color",
      "subPath": "cyan-800"
    },
    {
      "name": "--kp-color-cyan-900",
      "value": "#164e63",
      "category": "color",
      "subPath": "cyan-900"
    },
    {
      "name": "--kp-color-cyan-950",
      "value": "#083344",
      "category": "color",
      "subPath": "cyan-950"
    },
    {
      "name": "--kp-color-accent-primary-fg",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "accent-primary-fg"
    },
    {
      "name": "--kp-color-accent-danger-fg",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "accent-danger-fg"
    },
    {
      "name": "--kp-color-accent-success-fg",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "accent-success-fg"
    },
    {
      "name": "--kp-color-accent-warning-fg",
      "value": "var(--kp-color-amber-700)",
      "category": "color",
      "subPath": "accent-warning-fg"
    },
    {
      "name": "--kp-color-accent-info-fg",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "accent-info-fg"
    },
    {
      "name": "--kp-color-primary-default-bg-rest",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-default-bg-rest"
    },
    {
      "name": "--kp-color-primary-default-bg-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-default-bg-hover"
    },
    {
      "name": "--kp-color-primary-default-bg-active",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "primary-default-bg-active"
    },
    {
      "name": "--kp-color-primary-default-bg-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-default-bg-focus"
    },
    {
      "name": "--kp-color-primary-default-bg-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "primary-default-bg-disabled"
    },
    {
      "name": "--kp-color-primary-default-bg-loading",
      "value": "var(--kp-color-blue-500)",
      "category": "color",
      "subPath": "primary-default-bg-loading"
    },
    {
      "name": "--kp-color-primary-default-fg-rest",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "primary-default-fg-rest"
    },
    {
      "name": "--kp-color-primary-default-fg-hover",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "primary-default-fg-hover"
    },
    {
      "name": "--kp-color-primary-default-fg-active",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "primary-default-fg-active"
    },
    {
      "name": "--kp-color-primary-default-fg-focus",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "primary-default-fg-focus"
    },
    {
      "name": "--kp-color-primary-default-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "primary-default-fg-disabled"
    },
    {
      "name": "--kp-color-primary-default-fg-loading",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "primary-default-fg-loading"
    },
    {
      "name": "--kp-color-primary-default-border-rest",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-default-border-rest"
    },
    {
      "name": "--kp-color-primary-default-border-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-default-border-hover"
    },
    {
      "name": "--kp-color-primary-default-border-active",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "primary-default-border-active"
    },
    {
      "name": "--kp-color-primary-default-border-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-default-border-focus"
    },
    {
      "name": "--kp-color-primary-default-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "primary-default-border-disabled"
    },
    {
      "name": "--kp-color-primary-default-border-loading",
      "value": "var(--kp-color-blue-500)",
      "category": "color",
      "subPath": "primary-default-border-loading"
    },
    {
      "name": "--kp-color-primary-subtle-bg-rest",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "primary-subtle-bg-rest"
    },
    {
      "name": "--kp-color-primary-subtle-bg-hover",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "primary-subtle-bg-hover"
    },
    {
      "name": "--kp-color-primary-subtle-bg-active",
      "value": "var(--kp-color-blue-200)",
      "category": "color",
      "subPath": "primary-subtle-bg-active"
    },
    {
      "name": "--kp-color-primary-subtle-bg-focus",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "primary-subtle-bg-focus"
    },
    {
      "name": "--kp-color-primary-subtle-bg-disabled",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "primary-subtle-bg-disabled"
    },
    {
      "name": "--kp-color-primary-subtle-bg-loading",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "primary-subtle-bg-loading"
    },
    {
      "name": "--kp-color-primary-subtle-fg-rest",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-subtle-fg-rest"
    },
    {
      "name": "--kp-color-primary-subtle-fg-hover",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "primary-subtle-fg-hover"
    },
    {
      "name": "--kp-color-primary-subtle-fg-active",
      "value": "var(--kp-color-blue-900)",
      "category": "color",
      "subPath": "primary-subtle-fg-active"
    },
    {
      "name": "--kp-color-primary-subtle-fg-focus",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-subtle-fg-focus"
    },
    {
      "name": "--kp-color-primary-subtle-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "primary-subtle-fg-disabled"
    },
    {
      "name": "--kp-color-primary-subtle-fg-loading",
      "value": "var(--kp-color-blue-500)",
      "category": "color",
      "subPath": "primary-subtle-fg-loading"
    },
    {
      "name": "--kp-color-primary-subtle-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-subtle-border-rest"
    },
    {
      "name": "--kp-color-primary-subtle-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-subtle-border-hover"
    },
    {
      "name": "--kp-color-primary-subtle-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-subtle-border-active"
    },
    {
      "name": "--kp-color-primary-subtle-border-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-subtle-border-focus"
    },
    {
      "name": "--kp-color-primary-subtle-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-subtle-border-disabled"
    },
    {
      "name": "--kp-color-primary-subtle-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-subtle-border-loading"
    },
    {
      "name": "--kp-color-primary-outline-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-outline-bg-rest"
    },
    {
      "name": "--kp-color-primary-outline-bg-hover",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "primary-outline-bg-hover"
    },
    {
      "name": "--kp-color-primary-outline-bg-active",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "primary-outline-bg-active"
    },
    {
      "name": "--kp-color-primary-outline-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-outline-bg-focus"
    },
    {
      "name": "--kp-color-primary-outline-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-outline-bg-disabled"
    },
    {
      "name": "--kp-color-primary-outline-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-outline-bg-loading"
    },
    {
      "name": "--kp-color-primary-outline-fg-rest",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-outline-fg-rest"
    },
    {
      "name": "--kp-color-primary-outline-fg-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-outline-fg-hover"
    },
    {
      "name": "--kp-color-primary-outline-fg-active",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "primary-outline-fg-active"
    },
    {
      "name": "--kp-color-primary-outline-fg-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-outline-fg-focus"
    },
    {
      "name": "--kp-color-primary-outline-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "primary-outline-fg-disabled"
    },
    {
      "name": "--kp-color-primary-outline-fg-loading",
      "value": "var(--kp-color-blue-400)",
      "category": "color",
      "subPath": "primary-outline-fg-loading"
    },
    {
      "name": "--kp-color-primary-outline-border-rest",
      "value": "var(--kp-color-blue-300)",
      "category": "color",
      "subPath": "primary-outline-border-rest"
    },
    {
      "name": "--kp-color-primary-outline-border-hover",
      "value": "var(--kp-color-blue-400)",
      "category": "color",
      "subPath": "primary-outline-border-hover"
    },
    {
      "name": "--kp-color-primary-outline-border-active",
      "value": "var(--kp-color-blue-500)",
      "category": "color",
      "subPath": "primary-outline-border-active"
    },
    {
      "name": "--kp-color-primary-outline-border-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-outline-border-focus"
    },
    {
      "name": "--kp-color-primary-outline-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "primary-outline-border-disabled"
    },
    {
      "name": "--kp-color-primary-outline-border-loading",
      "value": "var(--kp-color-blue-200)",
      "category": "color",
      "subPath": "primary-outline-border-loading"
    },
    {
      "name": "--kp-color-primary-ghost-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-bg-rest"
    },
    {
      "name": "--kp-color-primary-ghost-bg-hover",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "primary-ghost-bg-hover"
    },
    {
      "name": "--kp-color-primary-ghost-bg-active",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "primary-ghost-bg-active"
    },
    {
      "name": "--kp-color-primary-ghost-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-bg-focus"
    },
    {
      "name": "--kp-color-primary-ghost-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-bg-disabled"
    },
    {
      "name": "--kp-color-primary-ghost-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-bg-loading"
    },
    {
      "name": "--kp-color-primary-ghost-fg-rest",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-ghost-fg-rest"
    },
    {
      "name": "--kp-color-primary-ghost-fg-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "primary-ghost-fg-hover"
    },
    {
      "name": "--kp-color-primary-ghost-fg-active",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "primary-ghost-fg-active"
    },
    {
      "name": "--kp-color-primary-ghost-fg-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-ghost-fg-focus"
    },
    {
      "name": "--kp-color-primary-ghost-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "primary-ghost-fg-disabled"
    },
    {
      "name": "--kp-color-primary-ghost-fg-loading",
      "value": "var(--kp-color-blue-400)",
      "category": "color",
      "subPath": "primary-ghost-fg-loading"
    },
    {
      "name": "--kp-color-primary-ghost-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-border-rest"
    },
    {
      "name": "--kp-color-primary-ghost-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-border-hover"
    },
    {
      "name": "--kp-color-primary-ghost-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-border-active"
    },
    {
      "name": "--kp-color-primary-ghost-border-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "primary-ghost-border-focus"
    },
    {
      "name": "--kp-color-primary-ghost-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-border-disabled"
    },
    {
      "name": "--kp-color-primary-ghost-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "primary-ghost-border-loading"
    },
    {
      "name": "--kp-color-danger-default-bg-rest",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-default-bg-rest"
    },
    {
      "name": "--kp-color-danger-default-bg-hover",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-default-bg-hover"
    },
    {
      "name": "--kp-color-danger-default-bg-active",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "danger-default-bg-active"
    },
    {
      "name": "--kp-color-danger-default-bg-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-default-bg-focus"
    },
    {
      "name": "--kp-color-danger-default-bg-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "danger-default-bg-disabled"
    },
    {
      "name": "--kp-color-danger-default-bg-loading",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "danger-default-bg-loading"
    },
    {
      "name": "--kp-color-danger-default-fg-rest",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "danger-default-fg-rest"
    },
    {
      "name": "--kp-color-danger-default-fg-hover",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "danger-default-fg-hover"
    },
    {
      "name": "--kp-color-danger-default-fg-active",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "danger-default-fg-active"
    },
    {
      "name": "--kp-color-danger-default-fg-focus",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "danger-default-fg-focus"
    },
    {
      "name": "--kp-color-danger-default-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "danger-default-fg-disabled"
    },
    {
      "name": "--kp-color-danger-default-fg-loading",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "danger-default-fg-loading"
    },
    {
      "name": "--kp-color-danger-default-border-rest",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-default-border-rest"
    },
    {
      "name": "--kp-color-danger-default-border-hover",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-default-border-hover"
    },
    {
      "name": "--kp-color-danger-default-border-active",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "danger-default-border-active"
    },
    {
      "name": "--kp-color-danger-default-border-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-default-border-focus"
    },
    {
      "name": "--kp-color-danger-default-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "danger-default-border-disabled"
    },
    {
      "name": "--kp-color-danger-default-border-loading",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "danger-default-border-loading"
    },
    {
      "name": "--kp-color-danger-subtle-bg-rest",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "danger-subtle-bg-rest"
    },
    {
      "name": "--kp-color-danger-subtle-bg-hover",
      "value": "var(--kp-color-red-100)",
      "category": "color",
      "subPath": "danger-subtle-bg-hover"
    },
    {
      "name": "--kp-color-danger-subtle-bg-active",
      "value": "var(--kp-color-red-200)",
      "category": "color",
      "subPath": "danger-subtle-bg-active"
    },
    {
      "name": "--kp-color-danger-subtle-bg-focus",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "danger-subtle-bg-focus"
    },
    {
      "name": "--kp-color-danger-subtle-bg-disabled",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "danger-subtle-bg-disabled"
    },
    {
      "name": "--kp-color-danger-subtle-bg-loading",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "danger-subtle-bg-loading"
    },
    {
      "name": "--kp-color-danger-subtle-fg-rest",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-subtle-fg-rest"
    },
    {
      "name": "--kp-color-danger-subtle-fg-hover",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "danger-subtle-fg-hover"
    },
    {
      "name": "--kp-color-danger-subtle-fg-active",
      "value": "var(--kp-color-red-900)",
      "category": "color",
      "subPath": "danger-subtle-fg-active"
    },
    {
      "name": "--kp-color-danger-subtle-fg-focus",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-subtle-fg-focus"
    },
    {
      "name": "--kp-color-danger-subtle-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "danger-subtle-fg-disabled"
    },
    {
      "name": "--kp-color-danger-subtle-fg-loading",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "danger-subtle-fg-loading"
    },
    {
      "name": "--kp-color-danger-subtle-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-subtle-border-rest"
    },
    {
      "name": "--kp-color-danger-subtle-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-subtle-border-hover"
    },
    {
      "name": "--kp-color-danger-subtle-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-subtle-border-active"
    },
    {
      "name": "--kp-color-danger-subtle-border-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-subtle-border-focus"
    },
    {
      "name": "--kp-color-danger-subtle-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-subtle-border-disabled"
    },
    {
      "name": "--kp-color-danger-subtle-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-subtle-border-loading"
    },
    {
      "name": "--kp-color-danger-outline-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-outline-bg-rest"
    },
    {
      "name": "--kp-color-danger-outline-bg-hover",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "danger-outline-bg-hover"
    },
    {
      "name": "--kp-color-danger-outline-bg-active",
      "value": "var(--kp-color-red-100)",
      "category": "color",
      "subPath": "danger-outline-bg-active"
    },
    {
      "name": "--kp-color-danger-outline-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-outline-bg-focus"
    },
    {
      "name": "--kp-color-danger-outline-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-outline-bg-disabled"
    },
    {
      "name": "--kp-color-danger-outline-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-outline-bg-loading"
    },
    {
      "name": "--kp-color-danger-outline-fg-rest",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-outline-fg-rest"
    },
    {
      "name": "--kp-color-danger-outline-fg-hover",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-outline-fg-hover"
    },
    {
      "name": "--kp-color-danger-outline-fg-active",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "danger-outline-fg-active"
    },
    {
      "name": "--kp-color-danger-outline-fg-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-outline-fg-focus"
    },
    {
      "name": "--kp-color-danger-outline-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "danger-outline-fg-disabled"
    },
    {
      "name": "--kp-color-danger-outline-fg-loading",
      "value": "var(--kp-color-red-400)",
      "category": "color",
      "subPath": "danger-outline-fg-loading"
    },
    {
      "name": "--kp-color-danger-outline-border-rest",
      "value": "var(--kp-color-red-300)",
      "category": "color",
      "subPath": "danger-outline-border-rest"
    },
    {
      "name": "--kp-color-danger-outline-border-hover",
      "value": "var(--kp-color-red-400)",
      "category": "color",
      "subPath": "danger-outline-border-hover"
    },
    {
      "name": "--kp-color-danger-outline-border-active",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "danger-outline-border-active"
    },
    {
      "name": "--kp-color-danger-outline-border-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-outline-border-focus"
    },
    {
      "name": "--kp-color-danger-outline-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "danger-outline-border-disabled"
    },
    {
      "name": "--kp-color-danger-outline-border-loading",
      "value": "var(--kp-color-red-200)",
      "category": "color",
      "subPath": "danger-outline-border-loading"
    },
    {
      "name": "--kp-color-danger-ghost-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-bg-rest"
    },
    {
      "name": "--kp-color-danger-ghost-bg-hover",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "danger-ghost-bg-hover"
    },
    {
      "name": "--kp-color-danger-ghost-bg-active",
      "value": "var(--kp-color-red-100)",
      "category": "color",
      "subPath": "danger-ghost-bg-active"
    },
    {
      "name": "--kp-color-danger-ghost-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-bg-focus"
    },
    {
      "name": "--kp-color-danger-ghost-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-bg-disabled"
    },
    {
      "name": "--kp-color-danger-ghost-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-bg-loading"
    },
    {
      "name": "--kp-color-danger-ghost-fg-rest",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-ghost-fg-rest"
    },
    {
      "name": "--kp-color-danger-ghost-fg-hover",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "danger-ghost-fg-hover"
    },
    {
      "name": "--kp-color-danger-ghost-fg-active",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "danger-ghost-fg-active"
    },
    {
      "name": "--kp-color-danger-ghost-fg-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-ghost-fg-focus"
    },
    {
      "name": "--kp-color-danger-ghost-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "danger-ghost-fg-disabled"
    },
    {
      "name": "--kp-color-danger-ghost-fg-loading",
      "value": "var(--kp-color-red-400)",
      "category": "color",
      "subPath": "danger-ghost-fg-loading"
    },
    {
      "name": "--kp-color-danger-ghost-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-border-rest"
    },
    {
      "name": "--kp-color-danger-ghost-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-border-hover"
    },
    {
      "name": "--kp-color-danger-ghost-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-border-active"
    },
    {
      "name": "--kp-color-danger-ghost-border-focus",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "danger-ghost-border-focus"
    },
    {
      "name": "--kp-color-danger-ghost-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-border-disabled"
    },
    {
      "name": "--kp-color-danger-ghost-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "danger-ghost-border-loading"
    },
    {
      "name": "--kp-color-neutral-default-bg-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-default-bg-rest"
    },
    {
      "name": "--kp-color-neutral-default-bg-hover",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "neutral-default-bg-hover"
    },
    {
      "name": "--kp-color-neutral-default-bg-active",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-default-bg-active"
    },
    {
      "name": "--kp-color-neutral-default-bg-focus",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-default-bg-focus"
    },
    {
      "name": "--kp-color-neutral-default-bg-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-default-bg-disabled"
    },
    {
      "name": "--kp-color-neutral-default-bg-loading",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-default-bg-loading"
    },
    {
      "name": "--kp-color-neutral-default-fg-rest",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "neutral-default-fg-rest"
    },
    {
      "name": "--kp-color-neutral-default-fg-hover",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "neutral-default-fg-hover"
    },
    {
      "name": "--kp-color-neutral-default-fg-active",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "neutral-default-fg-active"
    },
    {
      "name": "--kp-color-neutral-default-fg-focus",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "neutral-default-fg-focus"
    },
    {
      "name": "--kp-color-neutral-default-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-default-fg-disabled"
    },
    {
      "name": "--kp-color-neutral-default-fg-loading",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "neutral-default-fg-loading"
    },
    {
      "name": "--kp-color-neutral-default-border-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-default-border-rest"
    },
    {
      "name": "--kp-color-neutral-default-border-hover",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "neutral-default-border-hover"
    },
    {
      "name": "--kp-color-neutral-default-border-active",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-default-border-active"
    },
    {
      "name": "--kp-color-neutral-default-border-focus",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-default-border-focus"
    },
    {
      "name": "--kp-color-neutral-default-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-default-border-disabled"
    },
    {
      "name": "--kp-color-neutral-default-border-loading",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-default-border-loading"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-rest",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-subtle-bg-rest"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-hover",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-subtle-bg-hover"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-active",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "neutral-subtle-bg-active"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-focus",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-subtle-bg-focus"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-disabled",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-subtle-bg-disabled"
    },
    {
      "name": "--kp-color-neutral-subtle-bg-loading",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-subtle-bg-loading"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-subtle-fg-rest"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-hover",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "neutral-subtle-fg-hover"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-active",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-subtle-fg-active"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-focus",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-subtle-fg-focus"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-subtle-fg-disabled"
    },
    {
      "name": "--kp-color-neutral-subtle-fg-loading",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "neutral-subtle-fg-loading"
    },
    {
      "name": "--kp-color-neutral-subtle-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-subtle-border-rest"
    },
    {
      "name": "--kp-color-neutral-subtle-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-subtle-border-hover"
    },
    {
      "name": "--kp-color-neutral-subtle-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-subtle-border-active"
    },
    {
      "name": "--kp-color-neutral-subtle-border-focus",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "neutral-subtle-border-focus"
    },
    {
      "name": "--kp-color-neutral-subtle-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-subtle-border-disabled"
    },
    {
      "name": "--kp-color-neutral-subtle-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-subtle-border-loading"
    },
    {
      "name": "--kp-color-neutral-outline-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-outline-bg-rest"
    },
    {
      "name": "--kp-color-neutral-outline-bg-hover",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "neutral-outline-bg-hover"
    },
    {
      "name": "--kp-color-neutral-outline-bg-active",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-outline-bg-active"
    },
    {
      "name": "--kp-color-neutral-outline-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-outline-bg-focus"
    },
    {
      "name": "--kp-color-neutral-outline-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-outline-bg-disabled"
    },
    {
      "name": "--kp-color-neutral-outline-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-outline-bg-loading"
    },
    {
      "name": "--kp-color-neutral-outline-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-outline-fg-rest"
    },
    {
      "name": "--kp-color-neutral-outline-fg-hover",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "neutral-outline-fg-hover"
    },
    {
      "name": "--kp-color-neutral-outline-fg-active",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-outline-fg-active"
    },
    {
      "name": "--kp-color-neutral-outline-fg-focus",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-outline-fg-focus"
    },
    {
      "name": "--kp-color-neutral-outline-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-outline-fg-disabled"
    },
    {
      "name": "--kp-color-neutral-outline-fg-loading",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-outline-fg-loading"
    },
    {
      "name": "--kp-color-neutral-outline-border-rest",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "neutral-outline-border-rest"
    },
    {
      "name": "--kp-color-neutral-outline-border-hover",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-outline-border-hover"
    },
    {
      "name": "--kp-color-neutral-outline-border-active",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "neutral-outline-border-active"
    },
    {
      "name": "--kp-color-neutral-outline-border-focus",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "neutral-outline-border-focus"
    },
    {
      "name": "--kp-color-neutral-outline-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-outline-border-disabled"
    },
    {
      "name": "--kp-color-neutral-outline-border-loading",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-outline-border-loading"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-bg-rest"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-hover",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "neutral-ghost-bg-hover"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-active",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "neutral-ghost-bg-active"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-focus",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-bg-focus"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-bg-disabled"
    },
    {
      "name": "--kp-color-neutral-ghost-bg-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-bg-loading"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-ghost-fg-rest"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-hover",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "neutral-ghost-fg-hover"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-active",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "neutral-ghost-fg-active"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-focus",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "neutral-ghost-fg-focus"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-ghost-fg-disabled"
    },
    {
      "name": "--kp-color-neutral-ghost-fg-loading",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "neutral-ghost-fg-loading"
    },
    {
      "name": "--kp-color-neutral-ghost-border-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-border-rest"
    },
    {
      "name": "--kp-color-neutral-ghost-border-hover",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-border-hover"
    },
    {
      "name": "--kp-color-neutral-ghost-border-active",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-border-active"
    },
    {
      "name": "--kp-color-neutral-ghost-border-focus",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "neutral-ghost-border-focus"
    },
    {
      "name": "--kp-color-neutral-ghost-border-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-border-disabled"
    },
    {
      "name": "--kp-color-neutral-ghost-border-loading",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "neutral-ghost-border-loading"
    },
    {
      "name": "--kp-color-focus-ring",
      "value": "var(--kp-color-blue-400)",
      "category": "color",
      "subPath": "focus-ring"
    },
    {
      "name": "--kp-color-text-strong",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "text-strong"
    },
    {
      "name": "--kp-color-text-default",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "text-default"
    },
    {
      "name": "--kp-color-text-muted",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "text-muted"
    },
    {
      "name": "--kp-color-text-disabled",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "text-disabled"
    },
    {
      "name": "--kp-color-surface-base",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "surface-base"
    },
    {
      "name": "--kp-color-surface-subtle",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "surface-subtle"
    },
    {
      "name": "--kp-color-surface-muted",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "surface-muted"
    },
    {
      "name": "--kp-color-surface-strong",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "surface-strong"
    },
    {
      "name": "--kp-color-surface-on-dark-base",
      "value": "#18181b",
      "category": "color",
      "subPath": "surface-on-dark-base"
    },
    {
      "name": "--kp-color-surface-on-dark-muted",
      "value": "#27272a",
      "category": "color",
      "subPath": "surface-on-dark-muted"
    },
    {
      "name": "--kp-color-surface-on-dark-strong",
      "value": "#3f3f46",
      "category": "color",
      "subPath": "surface-on-dark-strong"
    },
    {
      "name": "--kp-color-border-subtle",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "border-subtle"
    },
    {
      "name": "--kp-color-border-default",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "border-default"
    },
    {
      "name": "--kp-color-border-strong",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "border-strong"
    },
    {
      "name": "--kp-color-border-on-dark-subtle",
      "value": "#27272a",
      "category": "color",
      "subPath": "border-on-dark-subtle"
    },
    {
      "name": "--kp-color-border-on-dark-default",
      "value": "#3f3f46",
      "category": "color",
      "subPath": "border-on-dark-default"
    },
    {
      "name": "--kp-color-icon-primary",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "icon-primary"
    },
    {
      "name": "--kp-color-icon-secondary",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "icon-secondary"
    },
    {
      "name": "--kp-color-icon-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "icon-disabled"
    },
    {
      "name": "--kp-color-icon-interactive",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "icon-interactive"
    },
    {
      "name": "--kp-color-icon-danger",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "icon-danger"
    },
    {
      "name": "--kp-color-icon-success",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "icon-success"
    },
    {
      "name": "--kp-color-icon-warning",
      "value": "var(--kp-color-amber-600)",
      "category": "color",
      "subPath": "icon-warning"
    },
    {
      "name": "--kp-color-form-label-default",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "form-label-default"
    },
    {
      "name": "--kp-color-form-label-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "form-label-disabled"
    },
    {
      "name": "--kp-color-form-label-error",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "form-label-error"
    },
    {
      "name": "--kp-color-form-helper-default",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "form-helper-default"
    },
    {
      "name": "--kp-color-form-helper-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "form-helper-disabled"
    },
    {
      "name": "--kp-color-form-helper-error",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "form-helper-error"
    },
    {
      "name": "--kp-color-form-floating-label-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "form-floating-label-rest"
    },
    {
      "name": "--kp-color-form-floating-label-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "form-floating-label-focus"
    },
    {
      "name": "--kp-color-form-floating-label-error",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "form-floating-label-error"
    },
    {
      "name": "--kp-color-form-floating-label-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "form-floating-label-disabled"
    },
    {
      "name": "--kp-color-form-required-marker",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "form-required-marker"
    },
    {
      "name": "--kp-color-form-required-optional",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "form-required-optional"
    },
    {
      "name": "--kp-color-menu-panel-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "menu-panel-bg"
    },
    {
      "name": "--kp-color-menu-panel-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "menu-panel-border"
    },
    {
      "name": "--kp-color-menu-item-bg-rest",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "menu-item-bg-rest"
    },
    {
      "name": "--kp-color-menu-item-bg-hover",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "menu-item-bg-hover"
    },
    {
      "name": "--kp-color-menu-item-bg-active",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "menu-item-bg-active"
    },
    {
      "name": "--kp-color-menu-item-bg-selected",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "menu-item-bg-selected"
    },
    {
      "name": "--kp-color-menu-item-bg-disabled",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "menu-item-bg-disabled"
    },
    {
      "name": "--kp-color-menu-item-fg-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "menu-item-fg-rest"
    },
    {
      "name": "--kp-color-menu-item-fg-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "menu-item-fg-hover"
    },
    {
      "name": "--kp-color-menu-item-fg-active",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "menu-item-fg-active"
    },
    {
      "name": "--kp-color-menu-item-fg-selected",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "menu-item-fg-selected"
    },
    {
      "name": "--kp-color-menu-item-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "menu-item-fg-disabled"
    },
    {
      "name": "--kp-color-menu-item-fg-danger-rest",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "menu-item-fg-danger-rest"
    },
    {
      "name": "--kp-color-menu-item-fg-danger-hover",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "menu-item-fg-danger-hover"
    },
    {
      "name": "--kp-color-menu-item-icon-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "menu-item-icon-rest"
    },
    {
      "name": "--kp-color-menu-item-icon-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "menu-item-icon-selected"
    },
    {
      "name": "--kp-color-menu-item-icon-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "menu-item-icon-disabled"
    },
    {
      "name": "--kp-color-menu-item-shortcut-default",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "menu-item-shortcut-default"
    },
    {
      "name": "--kp-color-menu-divider",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "menu-divider"
    },
    {
      "name": "--kp-color-menu-section-label",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "menu-section-label"
    },
    {
      "name": "--kp-color-input-bg-default",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "input-bg-default"
    },
    {
      "name": "--kp-color-input-bg-filled",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "input-bg-filled"
    },
    {
      "name": "--kp-color-input-bg-disabled",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "input-bg-disabled"
    },
    {
      "name": "--kp-color-input-fg-default",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "input-fg-default"
    },
    {
      "name": "--kp-color-input-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "input-fg-disabled"
    },
    {
      "name": "--kp-color-input-border-rest",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "input-border-rest"
    },
    {
      "name": "--kp-color-input-border-hover",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "input-border-hover"
    },
    {
      "name": "--kp-color-input-border-focus",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "input-border-focus"
    },
    {
      "name": "--kp-color-input-border-disabled",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "input-border-disabled"
    },
    {
      "name": "--kp-color-input-border-error",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "input-border-error"
    },
    {
      "name": "--kp-color-input-placeholder-default",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "input-placeholder-default"
    },
    {
      "name": "--kp-color-input-placeholder-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "input-placeholder-disabled"
    },
    {
      "name": "--kp-color-checkbox-border-rest",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "checkbox-border-rest"
    },
    {
      "name": "--kp-color-checkbox-border-hover",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "checkbox-border-hover"
    },
    {
      "name": "--kp-color-select-chevron-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "select-chevron-rest"
    },
    {
      "name": "--kp-color-select-chevron-hover",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "select-chevron-hover"
    },
    {
      "name": "--kp-color-select-chevron-open",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "select-chevron-open"
    },
    {
      "name": "--kp-color-select-chevron-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "select-chevron-disabled"
    },
    {
      "name": "--kp-color-select-chevron-error",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "select-chevron-error"
    },
    {
      "name": "--kp-color-stepper-indicator-bg-pending",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "stepper-indicator-bg-pending"
    },
    {
      "name": "--kp-color-stepper-indicator-bg-active",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "stepper-indicator-bg-active"
    },
    {
      "name": "--kp-color-stepper-indicator-bg-completed",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "stepper-indicator-bg-completed"
    },
    {
      "name": "--kp-color-stepper-indicator-bg-error",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "stepper-indicator-bg-error"
    },
    {
      "name": "--kp-color-stepper-indicator-border-pending",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "stepper-indicator-border-pending"
    },
    {
      "name": "--kp-color-stepper-indicator-border-active",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "stepper-indicator-border-active"
    },
    {
      "name": "--kp-color-stepper-indicator-border-completed",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "stepper-indicator-border-completed"
    },
    {
      "name": "--kp-color-stepper-indicator-border-error",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "stepper-indicator-border-error"
    },
    {
      "name": "--kp-color-stepper-indicator-fg-pending",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "stepper-indicator-fg-pending"
    },
    {
      "name": "--kp-color-stepper-indicator-fg-active",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "stepper-indicator-fg-active"
    },
    {
      "name": "--kp-color-stepper-indicator-fg-completed",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "stepper-indicator-fg-completed"
    },
    {
      "name": "--kp-color-stepper-indicator-fg-error",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "stepper-indicator-fg-error"
    },
    {
      "name": "--kp-color-stepper-label-pending",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "stepper-label-pending"
    },
    {
      "name": "--kp-color-stepper-label-active",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "stepper-label-active"
    },
    {
      "name": "--kp-color-stepper-label-completed",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "stepper-label-completed"
    },
    {
      "name": "--kp-color-stepper-label-error",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "stepper-label-error"
    },
    {
      "name": "--kp-color-stepper-description-pending",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "stepper-description-pending"
    },
    {
      "name": "--kp-color-stepper-description-active",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "stepper-description-active"
    },
    {
      "name": "--kp-color-stepper-description-completed",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "stepper-description-completed"
    },
    {
      "name": "--kp-color-stepper-description-error",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "stepper-description-error"
    },
    {
      "name": "--kp-color-stepper-connector-pending",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "stepper-connector-pending"
    },
    {
      "name": "--kp-color-stepper-connector-completed",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "stepper-connector-completed"
    },
    {
      "name": "--kp-color-segmented-track-bg",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "segmented-track-bg"
    },
    {
      "name": "--kp-color-segmented-segment-bg-selected",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "segmented-segment-bg-selected"
    },
    {
      "name": "--kp-color-segmented-segment-bg-unselected-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "segmented-segment-bg-unselected-rest"
    },
    {
      "name": "--kp-color-segmented-segment-bg-unselected-hover",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "segmented-segment-bg-unselected-hover"
    },
    {
      "name": "--kp-color-segmented-segment-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "segmented-segment-bg-disabled"
    },
    {
      "name": "--kp-color-segmented-segment-fg-selected",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "segmented-segment-fg-selected"
    },
    {
      "name": "--kp-color-segmented-segment-fg-unselected-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "segmented-segment-fg-unselected-rest"
    },
    {
      "name": "--kp-color-segmented-segment-fg-unselected-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "segmented-segment-fg-unselected-hover"
    },
    {
      "name": "--kp-color-segmented-segment-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "segmented-segment-fg-disabled"
    },
    {
      "name": "--kp-color-badge-primary-filled-bg",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "badge-primary-filled-bg"
    },
    {
      "name": "--kp-color-badge-primary-filled-fg",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-primary-filled-fg"
    },
    {
      "name": "--kp-color-badge-primary-filled-border",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "badge-primary-filled-border"
    },
    {
      "name": "--kp-color-badge-primary-filled-dot",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-primary-filled-dot"
    },
    {
      "name": "--kp-color-badge-primary-subtle-bg",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "badge-primary-subtle-bg"
    },
    {
      "name": "--kp-color-badge-primary-subtle-fg",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "badge-primary-subtle-fg"
    },
    {
      "name": "--kp-color-badge-primary-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-primary-subtle-border"
    },
    {
      "name": "--kp-color-badge-primary-subtle-dot",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "badge-primary-subtle-dot"
    },
    {
      "name": "--kp-color-badge-primary-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-primary-outline-bg"
    },
    {
      "name": "--kp-color-badge-primary-outline-fg",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "badge-primary-outline-fg"
    },
    {
      "name": "--kp-color-badge-primary-outline-border",
      "value": "var(--kp-color-blue-300)",
      "category": "color",
      "subPath": "badge-primary-outline-border"
    },
    {
      "name": "--kp-color-badge-primary-outline-dot",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "badge-primary-outline-dot"
    },
    {
      "name": "--kp-color-badge-primary-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-primary-dot-bg"
    },
    {
      "name": "--kp-color-badge-primary-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-primary-dot-fg"
    },
    {
      "name": "--kp-color-badge-primary-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-primary-dot-border"
    },
    {
      "name": "--kp-color-badge-primary-dot-dot",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "badge-primary-dot-dot"
    },
    {
      "name": "--kp-color-badge-danger-filled-bg",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "badge-danger-filled-bg"
    },
    {
      "name": "--kp-color-badge-danger-filled-fg",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-danger-filled-fg"
    },
    {
      "name": "--kp-color-badge-danger-filled-border",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "badge-danger-filled-border"
    },
    {
      "name": "--kp-color-badge-danger-filled-dot",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-danger-filled-dot"
    },
    {
      "name": "--kp-color-badge-danger-subtle-bg",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "badge-danger-subtle-bg"
    },
    {
      "name": "--kp-color-badge-danger-subtle-fg",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "badge-danger-subtle-fg"
    },
    {
      "name": "--kp-color-badge-danger-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-danger-subtle-border"
    },
    {
      "name": "--kp-color-badge-danger-subtle-dot",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "badge-danger-subtle-dot"
    },
    {
      "name": "--kp-color-badge-danger-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-danger-outline-bg"
    },
    {
      "name": "--kp-color-badge-danger-outline-fg",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "badge-danger-outline-fg"
    },
    {
      "name": "--kp-color-badge-danger-outline-border",
      "value": "var(--kp-color-red-300)",
      "category": "color",
      "subPath": "badge-danger-outline-border"
    },
    {
      "name": "--kp-color-badge-danger-outline-dot",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "badge-danger-outline-dot"
    },
    {
      "name": "--kp-color-badge-danger-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-danger-dot-bg"
    },
    {
      "name": "--kp-color-badge-danger-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-danger-dot-fg"
    },
    {
      "name": "--kp-color-badge-danger-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-danger-dot-border"
    },
    {
      "name": "--kp-color-badge-danger-dot-dot",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "badge-danger-dot-dot"
    },
    {
      "name": "--kp-color-badge-success-filled-bg",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "badge-success-filled-bg"
    },
    {
      "name": "--kp-color-badge-success-filled-fg",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-success-filled-fg"
    },
    {
      "name": "--kp-color-badge-success-filled-border",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "badge-success-filled-border"
    },
    {
      "name": "--kp-color-badge-success-filled-dot",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-success-filled-dot"
    },
    {
      "name": "--kp-color-badge-success-subtle-bg",
      "value": "var(--kp-color-green-50)",
      "category": "color",
      "subPath": "badge-success-subtle-bg"
    },
    {
      "name": "--kp-color-badge-success-subtle-fg",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "badge-success-subtle-fg"
    },
    {
      "name": "--kp-color-badge-success-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-success-subtle-border"
    },
    {
      "name": "--kp-color-badge-success-subtle-dot",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "badge-success-subtle-dot"
    },
    {
      "name": "--kp-color-badge-success-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-success-outline-bg"
    },
    {
      "name": "--kp-color-badge-success-outline-fg",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "badge-success-outline-fg"
    },
    {
      "name": "--kp-color-badge-success-outline-border",
      "value": "var(--kp-color-green-300)",
      "category": "color",
      "subPath": "badge-success-outline-border"
    },
    {
      "name": "--kp-color-badge-success-outline-dot",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "badge-success-outline-dot"
    },
    {
      "name": "--kp-color-badge-success-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-success-dot-bg"
    },
    {
      "name": "--kp-color-badge-success-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-success-dot-fg"
    },
    {
      "name": "--kp-color-badge-success-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-success-dot-border"
    },
    {
      "name": "--kp-color-badge-success-dot-dot",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "badge-success-dot-dot"
    },
    {
      "name": "--kp-color-badge-warning-filled-bg",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "badge-warning-filled-bg"
    },
    {
      "name": "--kp-color-badge-warning-filled-fg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "badge-warning-filled-fg"
    },
    {
      "name": "--kp-color-badge-warning-filled-border",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "badge-warning-filled-border"
    },
    {
      "name": "--kp-color-badge-warning-filled-dot",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "badge-warning-filled-dot"
    },
    {
      "name": "--kp-color-badge-warning-subtle-bg",
      "value": "var(--kp-color-amber-50)",
      "category": "color",
      "subPath": "badge-warning-subtle-bg"
    },
    {
      "name": "--kp-color-badge-warning-subtle-fg",
      "value": "var(--kp-color-amber-700)",
      "category": "color",
      "subPath": "badge-warning-subtle-fg"
    },
    {
      "name": "--kp-color-badge-warning-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-warning-subtle-border"
    },
    {
      "name": "--kp-color-badge-warning-subtle-dot",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "badge-warning-subtle-dot"
    },
    {
      "name": "--kp-color-badge-warning-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-warning-outline-bg"
    },
    {
      "name": "--kp-color-badge-warning-outline-fg",
      "value": "var(--kp-color-amber-700)",
      "category": "color",
      "subPath": "badge-warning-outline-fg"
    },
    {
      "name": "--kp-color-badge-warning-outline-border",
      "value": "var(--kp-color-amber-400)",
      "category": "color",
      "subPath": "badge-warning-outline-border"
    },
    {
      "name": "--kp-color-badge-warning-outline-dot",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "badge-warning-outline-dot"
    },
    {
      "name": "--kp-color-badge-warning-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-warning-dot-bg"
    },
    {
      "name": "--kp-color-badge-warning-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-warning-dot-fg"
    },
    {
      "name": "--kp-color-badge-warning-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-warning-dot-border"
    },
    {
      "name": "--kp-color-badge-warning-dot-dot",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "badge-warning-dot-dot"
    },
    {
      "name": "--kp-color-badge-info-filled-bg",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "badge-info-filled-bg"
    },
    {
      "name": "--kp-color-badge-info-filled-fg",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-info-filled-fg"
    },
    {
      "name": "--kp-color-badge-info-filled-border",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "badge-info-filled-border"
    },
    {
      "name": "--kp-color-badge-info-filled-dot",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "badge-info-filled-dot"
    },
    {
      "name": "--kp-color-badge-info-subtle-bg",
      "value": "var(--kp-color-cyan-50)",
      "category": "color",
      "subPath": "badge-info-subtle-bg"
    },
    {
      "name": "--kp-color-badge-info-subtle-fg",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "badge-info-subtle-fg"
    },
    {
      "name": "--kp-color-badge-info-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-info-subtle-border"
    },
    {
      "name": "--kp-color-badge-info-subtle-dot",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "badge-info-subtle-dot"
    },
    {
      "name": "--kp-color-badge-info-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-info-outline-bg"
    },
    {
      "name": "--kp-color-badge-info-outline-fg",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "badge-info-outline-fg"
    },
    {
      "name": "--kp-color-badge-info-outline-border",
      "value": "var(--kp-color-cyan-300)",
      "category": "color",
      "subPath": "badge-info-outline-border"
    },
    {
      "name": "--kp-color-badge-info-outline-dot",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "badge-info-outline-dot"
    },
    {
      "name": "--kp-color-badge-info-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-info-dot-bg"
    },
    {
      "name": "--kp-color-badge-info-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-info-dot-fg"
    },
    {
      "name": "--kp-color-badge-info-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-info-dot-border"
    },
    {
      "name": "--kp-color-badge-info-dot-dot",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "badge-info-dot-dot"
    },
    {
      "name": "--kp-color-badge-neutral-filled-bg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "badge-neutral-filled-bg"
    },
    {
      "name": "--kp-color-badge-neutral-filled-fg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "badge-neutral-filled-fg"
    },
    {
      "name": "--kp-color-badge-neutral-filled-border",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "badge-neutral-filled-border"
    },
    {
      "name": "--kp-color-badge-neutral-filled-dot",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "badge-neutral-filled-dot"
    },
    {
      "name": "--kp-color-badge-neutral-subtle-bg",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "badge-neutral-subtle-bg"
    },
    {
      "name": "--kp-color-badge-neutral-subtle-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-neutral-subtle-fg"
    },
    {
      "name": "--kp-color-badge-neutral-subtle-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-neutral-subtle-border"
    },
    {
      "name": "--kp-color-badge-neutral-subtle-dot",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "badge-neutral-subtle-dot"
    },
    {
      "name": "--kp-color-badge-neutral-outline-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-neutral-outline-bg"
    },
    {
      "name": "--kp-color-badge-neutral-outline-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-neutral-outline-fg"
    },
    {
      "name": "--kp-color-badge-neutral-outline-border",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "badge-neutral-outline-border"
    },
    {
      "name": "--kp-color-badge-neutral-outline-dot",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "badge-neutral-outline-dot"
    },
    {
      "name": "--kp-color-badge-neutral-dot-bg",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-neutral-dot-bg"
    },
    {
      "name": "--kp-color-badge-neutral-dot-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "badge-neutral-dot-fg"
    },
    {
      "name": "--kp-color-badge-neutral-dot-border",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "badge-neutral-dot-border"
    },
    {
      "name": "--kp-color-badge-neutral-dot-dot",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "badge-neutral-dot-dot"
    },
    {
      "name": "--kp-color-alert-primary-subtle-bg",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "alert-primary-subtle-bg"
    },
    {
      "name": "--kp-color-alert-primary-subtle-fg-title",
      "value": "var(--kp-color-blue-900)",
      "category": "color",
      "subPath": "alert-primary-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-primary-subtle-fg-desc",
      "value": "var(--kp-color-blue-800)",
      "category": "color",
      "subPath": "alert-primary-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-primary-subtle-border",
      "value": "var(--kp-color-blue-200)",
      "category": "color",
      "subPath": "alert-primary-subtle-border"
    },
    {
      "name": "--kp-color-alert-primary-subtle-icon",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-subtle-icon"
    },
    {
      "name": "--kp-color-alert-primary-subtle-accent",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-subtle-accent"
    },
    {
      "name": "--kp-color-alert-primary-solid-bg",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-solid-bg"
    },
    {
      "name": "--kp-color-alert-primary-solid-fg-title",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-primary-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-primary-solid-fg-desc",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-primary-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-primary-solid-border",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-solid-border"
    },
    {
      "name": "--kp-color-alert-primary-solid-icon",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-primary-solid-icon"
    },
    {
      "name": "--kp-color-alert-primary-solid-accent",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-primary-solid-accent"
    },
    {
      "name": "--kp-color-alert-primary-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-primary-outline-bg"
    },
    {
      "name": "--kp-color-alert-primary-outline-fg-title",
      "value": "var(--kp-color-blue-900)",
      "category": "color",
      "subPath": "alert-primary-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-primary-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-primary-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-primary-outline-border",
      "value": "var(--kp-color-blue-300)",
      "category": "color",
      "subPath": "alert-primary-outline-border"
    },
    {
      "name": "--kp-color-alert-primary-outline-icon",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-outline-icon"
    },
    {
      "name": "--kp-color-alert-primary-outline-accent",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-outline-accent"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-primary-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-primary-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-primary-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-primary-left-accent-border"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-icon",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-primary-left-accent-accent",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "alert-primary-left-accent-accent"
    },
    {
      "name": "--kp-color-alert-danger-subtle-bg",
      "value": "var(--kp-color-red-50)",
      "category": "color",
      "subPath": "alert-danger-subtle-bg"
    },
    {
      "name": "--kp-color-alert-danger-subtle-fg-title",
      "value": "var(--kp-color-red-900)",
      "category": "color",
      "subPath": "alert-danger-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-danger-subtle-fg-desc",
      "value": "var(--kp-color-red-800)",
      "category": "color",
      "subPath": "alert-danger-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-danger-subtle-border",
      "value": "var(--kp-color-red-200)",
      "category": "color",
      "subPath": "alert-danger-subtle-border"
    },
    {
      "name": "--kp-color-alert-danger-subtle-icon",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-subtle-icon"
    },
    {
      "name": "--kp-color-alert-danger-subtle-accent",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-subtle-accent"
    },
    {
      "name": "--kp-color-alert-danger-solid-bg",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-solid-bg"
    },
    {
      "name": "--kp-color-alert-danger-solid-fg-title",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-danger-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-danger-solid-fg-desc",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-danger-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-danger-solid-border",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-solid-border"
    },
    {
      "name": "--kp-color-alert-danger-solid-icon",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-danger-solid-icon"
    },
    {
      "name": "--kp-color-alert-danger-solid-accent",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-danger-solid-accent"
    },
    {
      "name": "--kp-color-alert-danger-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-danger-outline-bg"
    },
    {
      "name": "--kp-color-alert-danger-outline-fg-title",
      "value": "var(--kp-color-red-900)",
      "category": "color",
      "subPath": "alert-danger-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-danger-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-danger-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-danger-outline-border",
      "value": "var(--kp-color-red-300)",
      "category": "color",
      "subPath": "alert-danger-outline-border"
    },
    {
      "name": "--kp-color-alert-danger-outline-icon",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-outline-icon"
    },
    {
      "name": "--kp-color-alert-danger-outline-accent",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-outline-accent"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-danger-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-danger-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-danger-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-danger-left-accent-border"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-icon",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-danger-left-accent-accent",
      "value": "var(--kp-color-red-600)",
      "category": "color",
      "subPath": "alert-danger-left-accent-accent"
    },
    {
      "name": "--kp-color-alert-success-subtle-bg",
      "value": "var(--kp-color-green-50)",
      "category": "color",
      "subPath": "alert-success-subtle-bg"
    },
    {
      "name": "--kp-color-alert-success-subtle-fg-title",
      "value": "var(--kp-color-green-900)",
      "category": "color",
      "subPath": "alert-success-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-success-subtle-fg-desc",
      "value": "var(--kp-color-green-800)",
      "category": "color",
      "subPath": "alert-success-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-success-subtle-border",
      "value": "var(--kp-color-green-200)",
      "category": "color",
      "subPath": "alert-success-subtle-border"
    },
    {
      "name": "--kp-color-alert-success-subtle-icon",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-subtle-icon"
    },
    {
      "name": "--kp-color-alert-success-subtle-accent",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-subtle-accent"
    },
    {
      "name": "--kp-color-alert-success-solid-bg",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "alert-success-solid-bg"
    },
    {
      "name": "--kp-color-alert-success-solid-fg-title",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-success-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-success-solid-fg-desc",
      "value": "var(--kp-color-green-50)",
      "category": "color",
      "subPath": "alert-success-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-success-solid-border",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "alert-success-solid-border"
    },
    {
      "name": "--kp-color-alert-success-solid-icon",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-success-solid-icon"
    },
    {
      "name": "--kp-color-alert-success-solid-accent",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-success-solid-accent"
    },
    {
      "name": "--kp-color-alert-success-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-success-outline-bg"
    },
    {
      "name": "--kp-color-alert-success-outline-fg-title",
      "value": "var(--kp-color-green-900)",
      "category": "color",
      "subPath": "alert-success-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-success-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-success-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-success-outline-border",
      "value": "var(--kp-color-green-300)",
      "category": "color",
      "subPath": "alert-success-outline-border"
    },
    {
      "name": "--kp-color-alert-success-outline-icon",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-outline-icon"
    },
    {
      "name": "--kp-color-alert-success-outline-accent",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-outline-accent"
    },
    {
      "name": "--kp-color-alert-success-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-success-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-success-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-success-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-success-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-success-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-success-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-success-left-accent-border"
    },
    {
      "name": "--kp-color-alert-success-left-accent-icon",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-success-left-accent-accent",
      "value": "var(--kp-color-green-600)",
      "category": "color",
      "subPath": "alert-success-left-accent-accent"
    },
    {
      "name": "--kp-color-alert-warning-subtle-bg",
      "value": "var(--kp-color-amber-50)",
      "category": "color",
      "subPath": "alert-warning-subtle-bg"
    },
    {
      "name": "--kp-color-alert-warning-subtle-fg-title",
      "value": "var(--kp-color-amber-900)",
      "category": "color",
      "subPath": "alert-warning-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-warning-subtle-fg-desc",
      "value": "var(--kp-color-amber-800)",
      "category": "color",
      "subPath": "alert-warning-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-warning-subtle-border",
      "value": "var(--kp-color-amber-200)",
      "category": "color",
      "subPath": "alert-warning-subtle-border"
    },
    {
      "name": "--kp-color-alert-warning-subtle-icon",
      "value": "var(--kp-color-amber-600)",
      "category": "color",
      "subPath": "alert-warning-subtle-icon"
    },
    {
      "name": "--kp-color-alert-warning-subtle-accent",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "alert-warning-subtle-accent"
    },
    {
      "name": "--kp-color-alert-warning-solid-bg",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "alert-warning-solid-bg"
    },
    {
      "name": "--kp-color-alert-warning-solid-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-warning-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-warning-solid-fg-desc",
      "value": "var(--kp-color-amber-950)",
      "category": "color",
      "subPath": "alert-warning-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-warning-solid-border",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "alert-warning-solid-border"
    },
    {
      "name": "--kp-color-alert-warning-solid-icon",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-warning-solid-icon"
    },
    {
      "name": "--kp-color-alert-warning-solid-accent",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-warning-solid-accent"
    },
    {
      "name": "--kp-color-alert-warning-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-warning-outline-bg"
    },
    {
      "name": "--kp-color-alert-warning-outline-fg-title",
      "value": "var(--kp-color-amber-900)",
      "category": "color",
      "subPath": "alert-warning-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-warning-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-warning-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-warning-outline-border",
      "value": "var(--kp-color-amber-400)",
      "category": "color",
      "subPath": "alert-warning-outline-border"
    },
    {
      "name": "--kp-color-alert-warning-outline-icon",
      "value": "var(--kp-color-amber-600)",
      "category": "color",
      "subPath": "alert-warning-outline-icon"
    },
    {
      "name": "--kp-color-alert-warning-outline-accent",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "alert-warning-outline-accent"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-warning-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-warning-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-warning-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-warning-left-accent-border"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-icon",
      "value": "var(--kp-color-amber-600)",
      "category": "color",
      "subPath": "alert-warning-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-warning-left-accent-accent",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "alert-warning-left-accent-accent"
    },
    {
      "name": "--kp-color-alert-info-subtle-bg",
      "value": "var(--kp-color-cyan-50)",
      "category": "color",
      "subPath": "alert-info-subtle-bg"
    },
    {
      "name": "--kp-color-alert-info-subtle-fg-title",
      "value": "var(--kp-color-cyan-900)",
      "category": "color",
      "subPath": "alert-info-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-info-subtle-fg-desc",
      "value": "var(--kp-color-cyan-800)",
      "category": "color",
      "subPath": "alert-info-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-info-subtle-border",
      "value": "var(--kp-color-cyan-200)",
      "category": "color",
      "subPath": "alert-info-subtle-border"
    },
    {
      "name": "--kp-color-alert-info-subtle-icon",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-subtle-icon"
    },
    {
      "name": "--kp-color-alert-info-subtle-accent",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-subtle-accent"
    },
    {
      "name": "--kp-color-alert-info-solid-bg",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "alert-info-solid-bg"
    },
    {
      "name": "--kp-color-alert-info-solid-fg-title",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-info-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-info-solid-fg-desc",
      "value": "var(--kp-color-cyan-50)",
      "category": "color",
      "subPath": "alert-info-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-info-solid-border",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "alert-info-solid-border"
    },
    {
      "name": "--kp-color-alert-info-solid-icon",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-info-solid-icon"
    },
    {
      "name": "--kp-color-alert-info-solid-accent",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "alert-info-solid-accent"
    },
    {
      "name": "--kp-color-alert-info-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-info-outline-bg"
    },
    {
      "name": "--kp-color-alert-info-outline-fg-title",
      "value": "var(--kp-color-cyan-900)",
      "category": "color",
      "subPath": "alert-info-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-info-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-info-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-info-outline-border",
      "value": "var(--kp-color-cyan-300)",
      "category": "color",
      "subPath": "alert-info-outline-border"
    },
    {
      "name": "--kp-color-alert-info-outline-icon",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-outline-icon"
    },
    {
      "name": "--kp-color-alert-info-outline-accent",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-outline-accent"
    },
    {
      "name": "--kp-color-alert-info-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-info-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-info-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-info-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-info-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-info-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-info-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-info-left-accent-border"
    },
    {
      "name": "--kp-color-alert-info-left-accent-icon",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-info-left-accent-accent",
      "value": "var(--kp-color-cyan-600)",
      "category": "color",
      "subPath": "alert-info-left-accent-accent"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-bg",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "alert-neutral-subtle-bg"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-neutral-subtle-fg-title"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-neutral-subtle-fg-desc"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-neutral-subtle-border"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-icon",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-subtle-icon"
    },
    {
      "name": "--kp-color-alert-neutral-subtle-accent",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-subtle-accent"
    },
    {
      "name": "--kp-color-alert-neutral-solid-bg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-neutral-solid-bg"
    },
    {
      "name": "--kp-color-alert-neutral-solid-fg-title",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-neutral-solid-fg-title"
    },
    {
      "name": "--kp-color-alert-neutral-solid-fg-desc",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "alert-neutral-solid-fg-desc"
    },
    {
      "name": "--kp-color-alert-neutral-solid-border",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-neutral-solid-border"
    },
    {
      "name": "--kp-color-alert-neutral-solid-icon",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-neutral-solid-icon"
    },
    {
      "name": "--kp-color-alert-neutral-solid-accent",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-neutral-solid-accent"
    },
    {
      "name": "--kp-color-alert-neutral-outline-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-neutral-outline-bg"
    },
    {
      "name": "--kp-color-alert-neutral-outline-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-neutral-outline-fg-title"
    },
    {
      "name": "--kp-color-alert-neutral-outline-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-neutral-outline-fg-desc"
    },
    {
      "name": "--kp-color-alert-neutral-outline-border",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "alert-neutral-outline-border"
    },
    {
      "name": "--kp-color-alert-neutral-outline-icon",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-outline-icon"
    },
    {
      "name": "--kp-color-alert-neutral-outline-accent",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-outline-accent"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-bg"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-fg-title"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-fg-desc",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-fg-desc"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-border"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-icon",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-icon"
    },
    {
      "name": "--kp-color-alert-neutral-left-accent-accent",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "alert-neutral-left-accent-accent"
    },
    {
      "name": "--kp-color-tooltip-bg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "tooltip-bg"
    },
    {
      "name": "--kp-color-tooltip-fg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "tooltip-fg"
    },
    {
      "name": "--kp-color-tooltip-shortcut",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "tooltip-shortcut"
    },
    {
      "name": "--kp-color-tooltip-border",
      "value": "var(--kp-color-gray-800)",
      "category": "color",
      "subPath": "tooltip-border"
    },
    {
      "name": "--kp-color-popover-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "popover-bg"
    },
    {
      "name": "--kp-color-popover-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "popover-border"
    },
    {
      "name": "--kp-color-popover-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "popover-fg-title"
    },
    {
      "name": "--kp-color-popover-fg-desc",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "popover-fg-desc"
    },
    {
      "name": "--kp-color-popover-fg-body",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "popover-fg-body"
    },
    {
      "name": "--kp-color-popover-divider",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "popover-divider"
    },
    {
      "name": "--kp-color-progress-track",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "progress-track"
    },
    {
      "name": "--kp-color-progress-label",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "progress-label"
    },
    {
      "name": "--kp-color-progress-value",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "progress-value"
    },
    {
      "name": "--kp-color-progress-primary-fill",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "progress-primary-fill"
    },
    {
      "name": "--kp-color-progress-success-fill",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "progress-success-fill"
    },
    {
      "name": "--kp-color-progress-danger-fill",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "progress-danger-fill"
    },
    {
      "name": "--kp-color-progress-warning-fill",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "progress-warning-fill"
    },
    {
      "name": "--kp-color-progress-neutral-fill",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "progress-neutral-fill"
    },
    {
      "name": "--kp-color-tabs-tab-fg-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "tabs-tab-fg-rest"
    },
    {
      "name": "--kp-color-tabs-tab-fg-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "tabs-tab-fg-hover"
    },
    {
      "name": "--kp-color-tabs-tab-fg-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "tabs-tab-fg-selected"
    },
    {
      "name": "--kp-color-tabs-tab-fg-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "tabs-tab-fg-disabled"
    },
    {
      "name": "--kp-color-tabs-tab-underline-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "tabs-tab-underline-rest"
    },
    {
      "name": "--kp-color-tabs-tab-underline-hover",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "tabs-tab-underline-hover"
    },
    {
      "name": "--kp-color-tabs-tab-underline-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "tabs-tab-underline-selected"
    },
    {
      "name": "--kp-color-tabs-tab-underline-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "tabs-tab-underline-disabled"
    },
    {
      "name": "--kp-color-tabs-tab-icon-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "tabs-tab-icon-rest"
    },
    {
      "name": "--kp-color-tabs-tab-icon-hover",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "tabs-tab-icon-hover"
    },
    {
      "name": "--kp-color-tabs-tab-icon-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "tabs-tab-icon-selected"
    },
    {
      "name": "--kp-color-tabs-tab-icon-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "tabs-tab-icon-disabled"
    },
    {
      "name": "--kp-color-tabs-track-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "tabs-track-border"
    },
    {
      "name": "--kp-color-avatar-bg-default",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "avatar-bg-default"
    },
    {
      "name": "--kp-color-avatar-bg-primary",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "avatar-bg-primary"
    },
    {
      "name": "--kp-color-avatar-bg-success",
      "value": "var(--kp-color-green-100)",
      "category": "color",
      "subPath": "avatar-bg-success"
    },
    {
      "name": "--kp-color-avatar-bg-warning",
      "value": "var(--kp-color-amber-100)",
      "category": "color",
      "subPath": "avatar-bg-warning"
    },
    {
      "name": "--kp-color-avatar-bg-danger",
      "value": "var(--kp-color-red-100)",
      "category": "color",
      "subPath": "avatar-bg-danger"
    },
    {
      "name": "--kp-color-avatar-bg-info",
      "value": "var(--kp-color-cyan-100)",
      "category": "color",
      "subPath": "avatar-bg-info"
    },
    {
      "name": "--kp-color-avatar-bg-neutral",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "avatar-bg-neutral"
    },
    {
      "name": "--kp-color-avatar-fg-default",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "avatar-fg-default"
    },
    {
      "name": "--kp-color-avatar-fg-primary",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "avatar-fg-primary"
    },
    {
      "name": "--kp-color-avatar-fg-success",
      "value": "var(--kp-color-green-700)",
      "category": "color",
      "subPath": "avatar-fg-success"
    },
    {
      "name": "--kp-color-avatar-fg-warning",
      "value": "var(--kp-color-amber-700)",
      "category": "color",
      "subPath": "avatar-fg-warning"
    },
    {
      "name": "--kp-color-avatar-fg-danger",
      "value": "var(--kp-color-red-700)",
      "category": "color",
      "subPath": "avatar-fg-danger"
    },
    {
      "name": "--kp-color-avatar-fg-info",
      "value": "var(--kp-color-cyan-700)",
      "category": "color",
      "subPath": "avatar-fg-info"
    },
    {
      "name": "--kp-color-avatar-fg-neutral",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "avatar-fg-neutral"
    },
    {
      "name": "--kp-color-avatar-ring",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "avatar-ring"
    },
    {
      "name": "--kp-color-avatar-status-online",
      "value": "var(--kp-color-green-500)",
      "category": "color",
      "subPath": "avatar-status-online"
    },
    {
      "name": "--kp-color-avatar-status-offline",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "avatar-status-offline"
    },
    {
      "name": "--kp-color-avatar-status-busy",
      "value": "var(--kp-color-red-500)",
      "category": "color",
      "subPath": "avatar-status-busy"
    },
    {
      "name": "--kp-color-avatar-status-away",
      "value": "var(--kp-color-amber-500)",
      "category": "color",
      "subPath": "avatar-status-away"
    },
    {
      "name": "--kp-color-avatar-group-count-bg",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "avatar-group-count-bg"
    },
    {
      "name": "--kp-color-avatar-group-count-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "avatar-group-count-fg"
    },
    {
      "name": "--kp-color-search-palette-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "search-palette-bg"
    },
    {
      "name": "--kp-color-search-palette-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "search-palette-border"
    },
    {
      "name": "--kp-color-search-palette-shortcut-bg",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "search-palette-shortcut-bg"
    },
    {
      "name": "--kp-color-search-palette-shortcut-fg",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "search-palette-shortcut-fg"
    },
    {
      "name": "--kp-color-search-palette-group-label",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "search-palette-group-label"
    },
    {
      "name": "--kp-color-sidebar-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "sidebar-bg"
    },
    {
      "name": "--kp-color-sidebar-bg-dark",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "sidebar-bg-dark"
    },
    {
      "name": "--kp-color-sidebar-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "sidebar-border"
    },
    {
      "name": "--kp-color-sidebar-section-label",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "sidebar-section-label"
    },
    {
      "name": "--kp-color-nav-item-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "nav-item-bg-rest"
    },
    {
      "name": "--kp-color-nav-item-bg-hover",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "nav-item-bg-hover"
    },
    {
      "name": "--kp-color-nav-item-bg-active",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "nav-item-bg-active"
    },
    {
      "name": "--kp-color-nav-item-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "nav-item-fg-rest"
    },
    {
      "name": "--kp-color-nav-item-fg-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "nav-item-fg-hover"
    },
    {
      "name": "--kp-color-nav-item-fg-active",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "nav-item-fg-active"
    },
    {
      "name": "--kp-color-nav-item-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "nav-item-fg-disabled"
    },
    {
      "name": "--kp-color-nav-item-icon-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "nav-item-icon-rest"
    },
    {
      "name": "--kp-color-nav-item-icon-hover",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "nav-item-icon-hover"
    },
    {
      "name": "--kp-color-nav-item-icon-active",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "nav-item-icon-active"
    },
    {
      "name": "--kp-color-nav-item-active-indicator",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "nav-item-active-indicator"
    },
    {
      "name": "--kp-color-header-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "header-bg"
    },
    {
      "name": "--kp-color-header-bg-dark",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "header-bg-dark"
    },
    {
      "name": "--kp-color-header-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "header-border"
    },
    {
      "name": "--kp-color-header-divider",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "header-divider"
    },
    {
      "name": "--kp-color-header-fg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "header-fg"
    },
    {
      "name": "--kp-color-header-fg-dark",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "header-fg-dark"
    },
    {
      "name": "--kp-color-header-nav-item-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "header-nav-item-fg-rest"
    },
    {
      "name": "--kp-color-header-nav-item-fg-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "header-nav-item-fg-hover"
    },
    {
      "name": "--kp-color-header-nav-item-fg-active",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "header-nav-item-fg-active"
    },
    {
      "name": "--kp-color-header-nav-item-bg-hover",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "header-nav-item-bg-hover"
    },
    {
      "name": "--kp-color-breadcrumbs-item-fg-link-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "breadcrumbs-item-fg-link-rest"
    },
    {
      "name": "--kp-color-breadcrumbs-item-fg-link-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "breadcrumbs-item-fg-link-hover"
    },
    {
      "name": "--kp-color-breadcrumbs-item-fg-current",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "breadcrumbs-item-fg-current"
    },
    {
      "name": "--kp-color-breadcrumbs-item-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "breadcrumbs-item-fg-disabled"
    },
    {
      "name": "--kp-color-breadcrumbs-item-icon-link-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "breadcrumbs-item-icon-link-rest"
    },
    {
      "name": "--kp-color-breadcrumbs-item-icon-link-hover",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "breadcrumbs-item-icon-link-hover"
    },
    {
      "name": "--kp-color-breadcrumbs-item-icon-current",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "breadcrumbs-item-icon-current"
    },
    {
      "name": "--kp-color-breadcrumbs-item-icon-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "breadcrumbs-item-icon-disabled"
    },
    {
      "name": "--kp-color-breadcrumbs-separator",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "breadcrumbs-separator"
    },
    {
      "name": "--kp-color-breadcrumbs-separator-dot",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "breadcrumbs-separator-dot"
    },
    {
      "name": "--kp-color-breadcrumbs-ellipsis",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "breadcrumbs-ellipsis"
    },
    {
      "name": "--kp-color-pagination-item-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "pagination-item-bg-rest"
    },
    {
      "name": "--kp-color-pagination-item-bg-hover",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "pagination-item-bg-hover"
    },
    {
      "name": "--kp-color-pagination-item-bg-active",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "pagination-item-bg-active"
    },
    {
      "name": "--kp-color-pagination-item-bg-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "pagination-item-bg-selected"
    },
    {
      "name": "--kp-color-pagination-item-bg-disabled",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "pagination-item-bg-disabled"
    },
    {
      "name": "--kp-color-pagination-item-fg-rest",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "pagination-item-fg-rest"
    },
    {
      "name": "--kp-color-pagination-item-fg-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "pagination-item-fg-hover"
    },
    {
      "name": "--kp-color-pagination-item-fg-active",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "pagination-item-fg-active"
    },
    {
      "name": "--kp-color-pagination-item-fg-selected",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "pagination-item-fg-selected"
    },
    {
      "name": "--kp-color-pagination-item-fg-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "pagination-item-fg-disabled"
    },
    {
      "name": "--kp-color-pagination-item-icon-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "pagination-item-icon-rest"
    },
    {
      "name": "--kp-color-pagination-item-icon-hover",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "pagination-item-icon-hover"
    },
    {
      "name": "--kp-color-pagination-item-icon-active",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "pagination-item-icon-active"
    },
    {
      "name": "--kp-color-pagination-item-icon-selected",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "pagination-item-icon-selected"
    },
    {
      "name": "--kp-color-pagination-item-icon-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "pagination-item-icon-disabled"
    },
    {
      "name": "--kp-color-pagination-ellipsis",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "pagination-ellipsis"
    },
    {
      "name": "--kp-color-pagination-info",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "pagination-info"
    },
    {
      "name": "--kp-color-divider-line",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "divider-line"
    },
    {
      "name": "--kp-color-divider-label",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "divider-label"
    },
    {
      "name": "--kp-color-drawer-resize-handle",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "drawer-resize-handle"
    },
    {
      "name": "--kp-color-skeleton-bg-base",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "skeleton-bg-base"
    },
    {
      "name": "--kp-color-skeleton-bg-highlight",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "skeleton-bg-highlight"
    },
    {
      "name": "--kp-color-slider-track-empty",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "slider-track-empty"
    },
    {
      "name": "--kp-color-slider-track-filled",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "slider-track-filled"
    },
    {
      "name": "--kp-color-slider-thumb-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "slider-thumb-bg"
    },
    {
      "name": "--kp-color-slider-thumb-border",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "slider-thumb-border"
    },
    {
      "name": "--kp-color-slider-thumb-ring-focus",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "slider-thumb-ring-focus"
    },
    {
      "name": "--kp-color-slider-tick",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "slider-tick"
    },
    {
      "name": "--kp-color-slider-label",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "slider-label"
    },
    {
      "name": "--kp-color-slider-value",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "slider-value"
    },
    {
      "name": "--kp-color-combobox-highlight",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "combobox-highlight"
    },
    {
      "name": "--kp-color-datepicker-panel-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "datepicker-panel-bg"
    },
    {
      "name": "--kp-color-datepicker-panel-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "datepicker-panel-border"
    },
    {
      "name": "--kp-color-datepicker-header-fg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "datepicker-header-fg"
    },
    {
      "name": "--kp-color-datepicker-header-nav-fg",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "datepicker-header-nav-fg"
    },
    {
      "name": "--kp-color-datepicker-weekday",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "datepicker-weekday"
    },
    {
      "name": "--kp-color-datepicker-day-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "datepicker-day-bg-rest"
    },
    {
      "name": "--kp-color-datepicker-day-bg-hover",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "datepicker-day-bg-hover"
    },
    {
      "name": "--kp-color-datepicker-day-bg-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "datepicker-day-bg-selected"
    },
    {
      "name": "--kp-color-datepicker-day-bg-today",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "datepicker-day-bg-today"
    },
    {
      "name": "--kp-color-datepicker-day-bg-in-range",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "datepicker-day-bg-in-range"
    },
    {
      "name": "--kp-color-datepicker-day-bg-range-edge",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "datepicker-day-bg-range-edge"
    },
    {
      "name": "--kp-color-datepicker-day-fg-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "datepicker-day-fg-rest"
    },
    {
      "name": "--kp-color-datepicker-day-fg-hover",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "datepicker-day-fg-hover"
    },
    {
      "name": "--kp-color-datepicker-day-fg-selected",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "datepicker-day-fg-selected"
    },
    {
      "name": "--kp-color-datepicker-day-fg-today",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "datepicker-day-fg-today"
    },
    {
      "name": "--kp-color-datepicker-day-fg-in-range",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "datepicker-day-fg-in-range"
    },
    {
      "name": "--kp-color-datepicker-day-fg-range-edge",
      "value": "var(--kp-color-foreground-on-saturated)",
      "category": "color",
      "subPath": "datepicker-day-fg-range-edge"
    },
    {
      "name": "--kp-color-datepicker-day-fg-outside",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "datepicker-day-fg-outside"
    },
    {
      "name": "--kp-color-datepicker-day-fg-disabled",
      "value": "var(--kp-color-gray-300)",
      "category": "color",
      "subPath": "datepicker-day-fg-disabled"
    },
    {
      "name": "--kp-color-datepicker-day-today-ring",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "datepicker-day-today-ring"
    },
    {
      "name": "--kp-color-toast-close",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "toast-close"
    },
    {
      "name": "--kp-color-table-header-bg",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "table-header-bg"
    },
    {
      "name": "--kp-color-table-header-fg",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "table-header-fg"
    },
    {
      "name": "--kp-color-table-header-sort-icon",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "table-header-sort-icon"
    },
    {
      "name": "--kp-color-table-header-sort-active",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "table-header-sort-active"
    },
    {
      "name": "--kp-color-table-row-bg-rest",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "table-row-bg-rest"
    },
    {
      "name": "--kp-color-table-row-bg-striped",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "table-row-bg-striped"
    },
    {
      "name": "--kp-color-table-row-bg-hover",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "table-row-bg-hover"
    },
    {
      "name": "--kp-color-table-row-bg-selected",
      "value": "var(--kp-color-blue-100)",
      "category": "color",
      "subPath": "table-row-bg-selected"
    },
    {
      "name": "--kp-color-table-row-fg",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "table-row-fg"
    },
    {
      "name": "--kp-color-table-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "table-border"
    },
    {
      "name": "--kp-color-table-border-soft",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "table-border-soft"
    },
    {
      "name": "--kp-color-tree-node-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "tree-node-bg-rest"
    },
    {
      "name": "--kp-color-tree-node-bg-hover",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "tree-node-bg-hover"
    },
    {
      "name": "--kp-color-tree-node-bg-selected",
      "value": "var(--kp-color-blue-50)",
      "category": "color",
      "subPath": "tree-node-bg-selected"
    },
    {
      "name": "--kp-color-tree-node-fg-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "tree-node-fg-rest"
    },
    {
      "name": "--kp-color-tree-node-fg-selected",
      "value": "var(--kp-color-blue-700)",
      "category": "color",
      "subPath": "tree-node-fg-selected"
    },
    {
      "name": "--kp-color-tree-node-fg-disabled",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "tree-node-fg-disabled"
    },
    {
      "name": "--kp-color-tree-node-icon-rest",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "tree-node-icon-rest"
    },
    {
      "name": "--kp-color-tree-node-icon-selected",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "tree-node-icon-selected"
    },
    {
      "name": "--kp-color-tree-node-chevron",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "tree-node-chevron"
    },
    {
      "name": "--kp-color-tree-indent-line",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "tree-indent-line"
    },
    {
      "name": "--kp-color-accordion-trigger-bg-rest",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "accordion-trigger-bg-rest"
    },
    {
      "name": "--kp-color-accordion-trigger-bg-hover",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "accordion-trigger-bg-hover"
    },
    {
      "name": "--kp-color-accordion-trigger-bg-expanded",
      "value": "rgba(0, 0, 0, 0)",
      "category": "color",
      "subPath": "accordion-trigger-bg-expanded"
    },
    {
      "name": "--kp-color-accordion-trigger-fg-rest",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "accordion-trigger-fg-rest"
    },
    {
      "name": "--kp-color-accordion-trigger-fg-expanded",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "accordion-trigger-fg-expanded"
    },
    {
      "name": "--kp-color-accordion-trigger-fg-disabled",
      "value": "var(--kp-color-gray-400)",
      "category": "color",
      "subPath": "accordion-trigger-fg-disabled"
    },
    {
      "name": "--kp-color-accordion-trigger-icon-rest",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "accordion-trigger-icon-rest"
    },
    {
      "name": "--kp-color-accordion-trigger-icon-expanded",
      "value": "var(--kp-color-blue-600)",
      "category": "color",
      "subPath": "accordion-trigger-icon-expanded"
    },
    {
      "name": "--kp-color-accordion-content",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "accordion-content"
    },
    {
      "name": "--kp-color-accordion-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "accordion-border"
    },
    {
      "name": "--kp-color-accordion-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "accordion-bg"
    },
    {
      "name": "--kp-color-empty-state-illustration-bg",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "empty-state-illustration-bg"
    },
    {
      "name": "--kp-color-empty-state-illustration-icon",
      "value": "var(--kp-color-gray-500)",
      "category": "color",
      "subPath": "empty-state-illustration-icon"
    },
    {
      "name": "--kp-color-empty-state-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "empty-state-fg-title"
    },
    {
      "name": "--kp-color-empty-state-fg-description",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "empty-state-fg-description"
    },
    {
      "name": "--kp-color-card-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "card-bg"
    },
    {
      "name": "--kp-color-card-bg-muted",
      "value": "var(--kp-color-gray-50)",
      "category": "color",
      "subPath": "card-bg-muted"
    },
    {
      "name": "--kp-color-card-bg-elevated",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "card-bg-elevated"
    },
    {
      "name": "--kp-color-card-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "card-border"
    },
    {
      "name": "--kp-color-card-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "card-fg-title"
    },
    {
      "name": "--kp-color-card-fg-desc",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "card-fg-desc"
    },
    {
      "name": "--kp-color-card-fg-body",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "card-fg-body"
    },
    {
      "name": "--kp-color-card-divider",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "card-divider"
    },
    {
      "name": "--kp-color-dialog-backdrop",
      "value": "rgba(0, 0, 0, 0.5)",
      "category": "color",
      "subPath": "dialog-backdrop"
    },
    {
      "name": "--kp-color-dialog-panel-bg",
      "value": "var(--kp-color-white)",
      "category": "color",
      "subPath": "dialog-panel-bg"
    },
    {
      "name": "--kp-color-dialog-panel-border",
      "value": "var(--kp-color-gray-200)",
      "category": "color",
      "subPath": "dialog-panel-border"
    },
    {
      "name": "--kp-color-dialog-fg-title",
      "value": "var(--kp-color-gray-900)",
      "category": "color",
      "subPath": "dialog-fg-title"
    },
    {
      "name": "--kp-color-dialog-fg-desc",
      "value": "var(--kp-color-gray-600)",
      "category": "color",
      "subPath": "dialog-fg-desc"
    },
    {
      "name": "--kp-color-dialog-fg-body",
      "value": "var(--kp-color-gray-700)",
      "category": "color",
      "subPath": "dialog-fg-body"
    },
    {
      "name": "--kp-color-dialog-divider",
      "value": "var(--kp-color-gray-100)",
      "category": "color",
      "subPath": "dialog-divider"
    },
    {
      "name": "--kp-color-overlay-hover-subtle",
      "value": "rgba(0, 0, 0, 0.04)",
      "category": "color",
      "subPath": "overlay-hover-subtle"
    },
    {
      "name": "--kp-color-overlay-hover-light",
      "value": "rgba(0, 0, 0, 0.06)",
      "category": "color",
      "subPath": "overlay-hover-light"
    },
    {
      "name": "--kp-color-overlay-hover-medium",
      "value": "rgba(0, 0, 0, 0.08)",
      "category": "color",
      "subPath": "overlay-hover-medium"
    },
    {
      "name": "--kp-color-overlay-primary-hover",
      "value": "rgba(37, 99, 235, 0.08)",
      "category": "color",
      "subPath": "overlay-primary-hover"
    },
    {
      "name": "--kp-color-overlay-focus-ring",
      "value": "rgba(59, 130, 246, 0.12)",
      "category": "color",
      "subPath": "overlay-focus-ring"
    },
    {
      "name": "--kp-color-fg-on-dark-strong",
      "value": "rgba(255, 255, 255, 0.92)",
      "category": "color",
      "subPath": "fg-on-dark-strong"
    },
    {
      "name": "--kp-color-fg-on-dark-default",
      "value": "rgba(255, 255, 255, 0.8)",
      "category": "color",
      "subPath": "fg-on-dark-default"
    },
    {
      "name": "--kp-color-fg-on-dark-muted",
      "value": "rgba(255, 255, 255, 0.7)",
      "category": "color",
      "subPath": "fg-on-dark-muted"
    },
    {
      "name": "--kp-color-fg-on-dark-subtle",
      "value": "rgba(255, 255, 255, 0.6)",
      "category": "color",
      "subPath": "fg-on-dark-subtle"
    },
    {
      "name": "--kp-elevation-none",
      "value": "0px 0px 0px 0px rgba(0,0,0,0)",
      "category": "elevation",
      "subPath": "none"
    },
    {
      "name": "--kp-elevation-raised",
      "value": "0px 1px 2px 0px rgba(9,9,11,0.08), 0px 1px 3px -1px rgba(9,9,11,0.05), 0px 0px 4px -1px rgba(9,9,11,0.03)",
      "category": "elevation",
      "subPath": "raised"
    },
    {
      "name": "--kp-elevation-overlay",
      "value": "0px 4px 6px -2px rgba(9,9,11,0.10), 0px 2px 10px -2px rgba(9,9,11,0.06), 0px 0px 16px -4px rgba(9,9,11,0.04)",
      "category": "elevation",
      "subPath": "overlay"
    },
    {
      "name": "--kp-elevation-floating",
      "value": "0px 8px 16px -4px rgba(9,9,11,0.12), 0px 4px 24px -4px rgba(9,9,11,0.08), 0px 0px 40px -8px rgba(9,9,11,0.05)",
      "category": "elevation",
      "subPath": "floating"
    },
    {
      "name": "--kp-icon-size-xs",
      "value": "14px",
      "category": "icon",
      "subPath": "size-xs"
    },
    {
      "name": "--kp-icon-size-sm",
      "value": "16px",
      "category": "icon",
      "subPath": "size-sm"
    },
    {
      "name": "--kp-icon-size-md",
      "value": "18px",
      "category": "icon",
      "subPath": "size-md"
    },
    {
      "name": "--kp-icon-size-lg",
      "value": "22px",
      "category": "icon",
      "subPath": "size-lg"
    },
    {
      "name": "--kp-icon-size-xl",
      "value": "24px",
      "category": "icon",
      "subPath": "size-xl"
    },
    {
      "name": "--kp-icon-stroke-xs",
      "value": "1.25px",
      "category": "icon",
      "subPath": "stroke-xs"
    },
    {
      "name": "--kp-icon-stroke-sm",
      "value": "1.35px",
      "category": "icon",
      "subPath": "stroke-sm"
    },
    {
      "name": "--kp-icon-stroke-md",
      "value": "1.5px",
      "category": "icon",
      "subPath": "stroke-md"
    },
    {
      "name": "--kp-icon-stroke-lg",
      "value": "1.75px",
      "category": "icon",
      "subPath": "stroke-lg"
    },
    {
      "name": "--kp-icon-stroke-xl",
      "value": "2px",
      "category": "icon",
      "subPath": "stroke-xl"
    },
    {
      "name": "--kp-motion-duration-instant",
      "value": "100ms",
      "category": "motion",
      "subPath": "duration-instant"
    },
    {
      "name": "--kp-motion-duration-fast",
      "value": "120ms",
      "category": "motion",
      "subPath": "duration-fast"
    },
    {
      "name": "--kp-motion-duration-normal",
      "value": "200ms",
      "category": "motion",
      "subPath": "duration-normal"
    },
    {
      "name": "--kp-motion-duration-slow",
      "value": "300ms",
      "category": "motion",
      "subPath": "duration-slow"
    },
    {
      "name": "--kp-motion-duration-spin",
      "value": "1000ms",
      "category": "motion",
      "subPath": "duration-spin"
    },
    {
      "name": "--kp-motion-duration-shimmer",
      "value": "1400ms",
      "category": "motion",
      "subPath": "duration-shimmer"
    },
    {
      "name": "--kp-motion-ease-in",
      "value": "cubic-bezier(0.4, 0, 1, 1)",
      "category": "motion",
      "subPath": "ease-in"
    },
    {
      "name": "--kp-motion-ease-out",
      "value": "cubic-bezier(0, 0, 0.2, 1)",
      "category": "motion",
      "subPath": "ease-out"
    },
    {
      "name": "--kp-motion-ease-in-out",
      "value": "cubic-bezier(0.4, 0, 0.2, 1)",
      "category": "motion",
      "subPath": "ease-in-out"
    },
    {
      "name": "--kp-radius-none",
      "value": "0px",
      "category": "radius",
      "subPath": "none"
    },
    {
      "name": "--kp-radius-comp-xs",
      "value": "8px",
      "category": "radius",
      "subPath": "comp-xs"
    },
    {
      "name": "--kp-radius-comp-sm",
      "value": "10px",
      "category": "radius",
      "subPath": "comp-sm"
    },
    {
      "name": "--kp-radius-comp-md",
      "value": "12px",
      "category": "radius",
      "subPath": "comp-md"
    },
    {
      "name": "--kp-radius-comp-lg",
      "value": "14px",
      "category": "radius",
      "subPath": "comp-lg"
    },
    {
      "name": "--kp-radius-comp-xl",
      "value": "16px",
      "category": "radius",
      "subPath": "comp-xl"
    },
    {
      "name": "--kp-radius-full",
      "value": "9999px",
      "category": "radius",
      "subPath": "full"
    },
    {
      "name": "--kp-size-xs",
      "value": "24px",
      "category": "size",
      "subPath": "xs"
    },
    {
      "name": "--kp-size-sm",
      "value": "28px",
      "category": "size",
      "subPath": "sm"
    },
    {
      "name": "--kp-size-md",
      "value": "36px",
      "category": "size",
      "subPath": "md"
    },
    {
      "name": "--kp-size-lg",
      "value": "44px",
      "category": "size",
      "subPath": "lg"
    },
    {
      "name": "--kp-size-xl",
      "value": "52px",
      "category": "size",
      "subPath": "xl"
    },
    {
      "name": "--kp-spacing-4xs",
      "value": "2px",
      "category": "spacing",
      "subPath": "4xs"
    },
    {
      "name": "--kp-spacing-3xs",
      "value": "4px",
      "category": "spacing",
      "subPath": "3xs"
    },
    {
      "name": "--kp-spacing-2xs",
      "value": "8px",
      "category": "spacing",
      "subPath": "2xs"
    },
    {
      "name": "--kp-spacing-xs",
      "value": "12px",
      "category": "spacing",
      "subPath": "xs"
    },
    {
      "name": "--kp-spacing-sm",
      "value": "16px",
      "category": "spacing",
      "subPath": "sm"
    },
    {
      "name": "--kp-spacing-md",
      "value": "20px",
      "category": "spacing",
      "subPath": "md"
    },
    {
      "name": "--kp-spacing-lg",
      "value": "24px",
      "category": "spacing",
      "subPath": "lg"
    },
    {
      "name": "--kp-spacing-xl",
      "value": "32px",
      "category": "spacing",
      "subPath": "xl"
    },
    {
      "name": "--kp-spacing-2xl",
      "value": "40px",
      "category": "spacing",
      "subPath": "2xl"
    },
    {
      "name": "--kp-spacing-3xl",
      "value": "48px",
      "category": "spacing",
      "subPath": "3xl"
    },
    {
      "name": "--kp-spacing-4xl",
      "value": "64px",
      "category": "spacing",
      "subPath": "4xl"
    },
    {
      "name": "--kp-font-family-sans",
      "value": "Onest, system-ui, sans-serif",
      "category": "font",
      "subPath": "family-sans"
    },
    {
      "name": "--kp-font-family-mono",
      "value": "'SF Mono', Monaco, Consolas, monospace",
      "category": "font",
      "subPath": "family-mono"
    },
    {
      "name": "--kp-font-weight-regular",
      "value": "400",
      "category": "font",
      "subPath": "weight-regular"
    },
    {
      "name": "--kp-font-weight-medium",
      "value": "500",
      "category": "font",
      "subPath": "weight-medium"
    },
    {
      "name": "--kp-font-weight-semibold",
      "value": "600",
      "category": "font",
      "subPath": "weight-semibold"
    },
    {
      "name": "--kp-font-weight-bold",
      "value": "700",
      "category": "font",
      "subPath": "weight-bold"
    },
    {
      "name": "--kp-font-size-2xs",
      "value": "11px",
      "category": "font",
      "subPath": "size-2xs"
    },
    {
      "name": "--kp-font-size-xs",
      "value": "12px",
      "category": "font",
      "subPath": "size-xs"
    },
    {
      "name": "--kp-font-size-sm",
      "value": "14px",
      "category": "font",
      "subPath": "size-sm"
    },
    {
      "name": "--kp-font-size-md",
      "value": "16px",
      "category": "font",
      "subPath": "size-md"
    },
    {
      "name": "--kp-font-size-lg",
      "value": "20px",
      "category": "font",
      "subPath": "size-lg"
    },
    {
      "name": "--kp-font-size-xl",
      "value": "24px",
      "category": "font",
      "subPath": "size-xl"
    },
    {
      "name": "--kp-font-size-2xl",
      "value": "32px",
      "category": "font",
      "subPath": "size-2xl"
    },
    {
      "name": "--kp-focus-ring-width",
      "value": "2px",
      "category": "focus",
      "subPath": "ring-width"
    },
    {
      "name": "--kp-focus-ring-offset",
      "value": "2px",
      "category": "focus",
      "subPath": "ring-offset"
    },
    {
      "name": "--kp-layout-container-max-width-narrow",
      "value": "640px",
      "category": "layout",
      "subPath": "container-max-width-narrow"
    },
    {
      "name": "--kp-layout-container-max-width-medium",
      "value": "960px",
      "category": "layout",
      "subPath": "container-max-width-medium"
    },
    {
      "name": "--kp-layout-container-max-width-wide",
      "value": "1280px",
      "category": "layout",
      "subPath": "container-max-width-wide"
    },
    {
      "name": "--kp-layout-container-max-width-full",
      "value": "100%",
      "category": "layout",
      "subPath": "container-max-width-full"
    },
    {
      "name": "--kp-layout-container-padding-none",
      "value": "0",
      "category": "layout",
      "subPath": "container-padding-none"
    },
    {
      "name": "--kp-layout-container-padding-sm",
      "value": "16px",
      "category": "layout",
      "subPath": "container-padding-sm"
    },
    {
      "name": "--kp-layout-container-padding-md",
      "value": "24px",
      "category": "layout",
      "subPath": "container-padding-md"
    },
    {
      "name": "--kp-layout-container-padding-lg",
      "value": "32px",
      "category": "layout",
      "subPath": "container-padding-lg"
    },
    {
      "name": "--kp-text-2xs",
      "value": "500 11px/16px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "2xs"
    },
    {
      "name": "--kp-text-xs",
      "value": "400 12px/16px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "xs"
    },
    {
      "name": "--kp-text-sm",
      "value": "400 14px/20px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "sm"
    },
    {
      "name": "--kp-text-md",
      "value": "400 16px/24px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "md"
    },
    {
      "name": "--kp-text-lg",
      "value": "500 20px/28px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "lg"
    },
    {
      "name": "--kp-text-xl",
      "value": "600 24px/32px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "xl"
    },
    {
      "name": "--kp-text-2xl",
      "value": "600 32px/40px Onest, system-ui, sans-serif",
      "category": "text",
      "subPath": "2xl"
    }
  ]
}
