@uni-design-system/uni-mcp 4.2.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -44
- package/dist/{chunk-VQE52XFX.js → chunk-252ZWTTU.js} +835 -229
- package/dist/chunk-252ZWTTU.js.map +1 -0
- package/dist/http.js +1 -1
- package/dist/server.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-VQE52XFX.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/core.ts","../src/data/uni-index.json","../src/server/store.ts","../../core/src/concepts/animation/keyframes.constants.ts","../../core/src/concepts/color/color.records.ts","../../core/src/concepts/color/color.utils.ts","../../core/src/concepts/color/color.helper.ts","../../core/src/concepts/generation/oklch.helper.ts","../../core/src/concepts/generation/palette.factory.ts","../../core/src/concepts/color/color.factory.ts","../../core/src/concepts/elevation/zIndex.ts","../../core/src/concepts/generation/dtcg.emitter.ts","../../core/src/concepts/generation/shadow.generator.ts","../../core/src/concepts/iconography/icon.records.ts","../../core/src/concepts/theme/themes/base.theme.ts","../../core/src/concepts/generation/theme.generator.ts","../../core/src/concepts/generation/theme-file.emitter.ts","../../core/src/concepts/gradient/gradient.helper.ts","../../core/src/concepts/layout/layout.helper.ts","../../core/src/concepts/shadow/shadow.utils.ts","../../core/src/concepts/shadow/shadow.records.ts","../../core/src/concepts/style/inputs.constants.ts","../../core/src/concepts/theme/themes/dark.theme.ts","../../core/src/concepts/theme/themes/light.theme.ts","../../core/src/concepts/theme/theme.records.ts","../../core/src/concepts/typography/typography.records.ts","../../core/src/concepts/typography/typeface.helpers.ts","../../core/src/utils/getValue.ts","../../core/src/utils/debounce.ts","../src/server/generate.ts"],"sourcesContent":["/**\n * Server core — builds a fully-wired `McpServer` (tools + resources) over the\n * in-memory Uni index. Transport-agnostic: `stdio.ts` and `http.ts` both call\n * `createUniServer()`, so local and remote share exactly one implementation.\n */\nimport { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\nimport * as store from './store.js';\nimport { formatGeneratedTheme } from './generate.js';\n\nconst FrameworkArg = z.enum(['angular', 'react']);\n\n/** `{ content: [text] }` — the shape every tool returns. */\nfunction text(body: string) {\n return { content: [{ type: 'text' as const, text: body }] };\n}\n\nfunction notFound(kind: string, id: string) {\n return text(`No ${kind} found with id \\`${id}\\`. Use the matching list/search tool to discover valid ids.`);\n}\n\nexport function createUniServer(): McpServer {\n const server = new McpServer(\n { name: 'uni-design-system', version: store.meta.version },\n {\n instructions:\n 'Authoritative interface to the Uni Design System. Prefer these tools over ' +\n 'recalling component APIs or token values from memory: names, props, and tokens ' +\n 'here match the exact Uni release the developer installed. Start with ' +\n '`list-components` or `search`, then `get-component` / `get-component-examples`. ' +\n 'Use real token ids (via `list-tokens`) instead of raw hex; apply themes with ' +\n '`get-theme-template` (style overrides go through Emotion, component options are props). ' +\n 'To brand an app, call `generate-uni-theme` once and write the returned static ' +\n '`uni-theme.ts`; to change look and feel afterwards (colors, borders, per-component ' +\n 'styling), edit that file\\'s tokens directly — shared tokens propagate everywhere.',\n },\n );\n\n // -- list-components -------------------------------------------------------\n server.registerTool(\n 'list-components',\n {\n title: 'List Uni components',\n description:\n 'Compact inventory of Uni components: id, name, summary, category, and which ' +\n 'frameworks each supports. Filter by framework, category, or status.',\n inputSchema: {\n framework: FrameworkArg.optional(),\n category: z.string().optional().describe('e.g. forms, layout, feedback, data, primitives'),\n status: z.enum(['stable', 'beta', 'deprecated']).optional(),\n },\n },\n async ({ framework, category, status }) =>\n text(store.formatComponentList(store.listComponents({ framework, category, status }))),\n );\n\n // -- get-component ---------------------------------------------------------\n server.registerTool(\n 'get-component',\n {\n title: 'Get a Uni component',\n description:\n 'Full reference for one component: description, per-framework import + selector/tag, ' +\n 'complete API (inputs/outputs or props/events), related tokens, and a sample. ' +\n 'Pass `framework` to scope to Angular or React.',\n inputSchema: { id: z.string().describe('component id, e.g. \"button\"'), framework: FrameworkArg.optional() },\n },\n async ({ id, framework }) => {\n const c = store.getComponent(id);\n return c ? text(store.formatComponent(c, framework)) : notFound('component', id);\n },\n );\n\n // -- get-component-examples ------------------------------------------------\n server.registerTool(\n 'get-component-examples',\n {\n title: 'Get component examples',\n description: 'Working, copy-pasteable code snippets for a component (from Storybook stories), with deep links.',\n inputSchema: { id: z.string(), framework: FrameworkArg.optional() },\n },\n async ({ id, framework }) => {\n const c = store.getComponent(id);\n return c ? text(store.formatExamples(c, framework)) : notFound('component', id);\n },\n );\n\n // -- list-tokens -----------------------------------------------------------\n server.registerTool(\n 'list-tokens',\n {\n title: 'List design tokens',\n description:\n 'Inventory of Uni design tokens. Filter by `type` (color, spacing, radius, shadow, ' +\n 'border, thickness, typography, ...), `kind` (style|behavioral), or `theme`.',\n inputSchema: {\n type: z.string().optional(),\n kind: z.enum(['style', 'behavioral']).optional(),\n theme: z.string().optional(),\n },\n },\n async ({ type, kind, theme }) => text(store.formatTokenList(store.listTokens({ type, kind, theme }))),\n );\n\n // -- get-token -------------------------------------------------------------\n server.registerTool(\n 'get-token',\n {\n title: 'Get a design token',\n description: 'Resolved value, type, style/behavioral classification, alias chain, and per-theme values for one token.',\n inputSchema: { id: z.string().describe('token id, e.g. \"color.primary\" or \"input.behavior.height\"') },\n },\n async ({ id }) => {\n const t = store.getToken(id);\n return t ? text(store.formatToken(t)) : notFound('token', id);\n },\n );\n\n // -- get-guidelines --------------------------------------------------------\n server.registerTool(\n 'get-guidelines',\n {\n title: 'Get component guidelines',\n description: 'Authored when-to-use, do/don\\'t, and accessibility guidance for a component.',\n inputSchema: { id: z.string() },\n },\n async ({ id }) => {\n const c = store.getComponent(id);\n return c ? text(store.formatGuidelines(c)) : notFound('component', id);\n },\n );\n\n // -- list-themes -----------------------------------------------------------\n server.registerTool(\n 'list-themes',\n { title: 'List theme templates', description: 'Available Uni theme templates.', inputSchema: {} },\n async () => text(store.formatThemeList(store.listThemes())),\n );\n\n // -- get-theme-template ----------------------------------------------------\n server.registerTool(\n 'get-theme-template',\n {\n title: 'Get a theme template',\n description:\n 'A theme in two distinct buckets: style overrides (apply via the Emotion theme provider) ' +\n 'and component options (pass as component inputs/props). Kept separate so each is applied correctly.',\n inputSchema: { id: z.string().describe('theme id, e.g. \"LightTheme\"') },\n },\n async ({ id }) => {\n const t = store.getTheme(id);\n return t ? text(store.formatTheme(t)) : notFound('theme', id);\n },\n );\n\n // -- generate-uni-theme ----------------------------------------------------\n server.registerTool(\n 'generate-uni-theme',\n {\n title: 'Generate a Uni brand theme file',\n description:\n 'Generate a complete, WCAG-AA light+dark Uni theme from brand hex color(s) and return ' +\n 'the static `uni-theme.ts` file content (write it to `src/app/uni-theme.ts`), the ' +\n '`UNI_THEMES` provider registration snippet, and a contrast report. The file is plain ' +\n 'editable data and becomes the source of truth: later restyling means editing its ' +\n 'tokens (colors, named border primitives, sparse component overrides) — not calling ' +\n 'this tool again. Never hardcode hex in components; reference theme tokens.',\n inputSchema: {\n brand: z\n .union([z.string(), z.array(z.string()).min(1).max(3)])\n .describe('Brand hex color(s), e.g. \"#0052FF\". 2–3 colors map to primary/secondary/tertiary.'),\n vibe: z\n .enum(['jewel', 'pastel', 'earth', 'neutral', 'florescent'])\n .optional()\n .describe('Tonal character; defaults to a category inferred from the seed chroma.'),\n scheme: z\n .enum(['monochromatic', 'analogous', 'complimentary', 'splitComplimentary', 'triadic'])\n .optional()\n .describe('Hue-wheel relationship for generated roles; auto-classified for multi-color input.'),\n shape: z\n .enum(['sharp', 'modern', 'playful'])\n .optional()\n .describe('Shape language — emits a radii override into the file.'),\n name: z.string().optional().describe('Theme display name, defaults to \"Brand\".'),\n darkMode: z.boolean().optional().describe('Emit the dark theme too. Defaults to true.'),\n },\n },\n async (args) => text(formatGeneratedTheme(args)),\n );\n\n // -- search ----------------------------------------------------------------\n server.registerTool(\n 'search',\n {\n title: 'Search the design system',\n description: 'Keyword search across components, tokens, themes, and guidelines. Narrow with `kind`.',\n inputSchema: {\n query: z.string(),\n kind: z.enum(['component', 'token', 'theme', 'guideline']).optional(),\n },\n },\n async ({ query, kind }) => text(store.formatSearch(query, store.search(query, kind))),\n );\n\n registerResources(server);\n return server;\n}\n\n/** Read-only, addressable content the host can browse or pin. */\nfunction registerResources(server: McpServer): void {\n server.registerResource(\n 'meta',\n 'uni://meta',\n { title: 'Uni index metadata', description: 'Index version, Uni release, framework coverage, counts, build time.', mimeType: 'application/json' },\n async (uri) => ({\n contents: [{ uri: uri.href, mimeType: 'application/json', text: JSON.stringify(store.meta, null, 2) }],\n }),\n );\n\n server.registerResource(\n 'component',\n new ResourceTemplate('uni://components/{id}', {\n list: async () => ({\n resources: store.listComponents().map((c) => ({ uri: `uni://components/${c.id}`, name: c.name, description: c.summary })),\n }),\n }),\n { title: 'Uni component', description: 'A component reference card.', mimeType: 'text/markdown' },\n async (uri, { id }) => {\n const c = store.getComponent(String(id));\n return { contents: [{ uri: uri.href, mimeType: 'text/markdown', text: c ? store.formatComponent(c) : `Unknown component: ${id}` }] };\n },\n );\n\n server.registerResource(\n 'token',\n new ResourceTemplate('uni://tokens/{id}', {\n list: async () => ({\n resources: store.listTokens().map((t) => ({ uri: `uni://tokens/${t.id}`, name: t.id, description: `${t.type} = ${t.value}` })),\n }),\n }),\n { title: 'Uni token', description: 'A design token.', mimeType: 'text/markdown' },\n async (uri, { id }) => {\n const t = store.getToken(String(id));\n return { contents: [{ uri: uri.href, mimeType: 'text/markdown', text: t ? store.formatToken(t) : `Unknown token: ${id}` }] };\n },\n );\n\n server.registerResource(\n 'theme',\n new ResourceTemplate('uni://themes/{id}', {\n list: async () => ({\n resources: store.listThemes().map((t) => ({ uri: `uni://themes/${t.id}`, name: t.name, description: t.description })),\n }),\n }),\n { title: 'Uni theme template', description: 'A theme template (style + component options).', mimeType: 'text/markdown' },\n async (uri, { id }) => {\n const t = store.getTheme(String(id));\n return { contents: [{ uri: uri.href, mimeType: 'text/markdown', text: t ? store.formatTheme(t) : `Unknown theme: ${id}` }] };\n },\n );\n\n server.registerResource(\n 'guidelines',\n new ResourceTemplate('uni://guidelines/{id}', {\n list: async () => ({\n resources: store.listComponents().map((c) => ({ uri: `uni://guidelines/${c.id}`, name: `${c.name} guidelines`, description: c.summary })),\n }),\n }),\n { title: 'Uni guidelines', description: 'Authored usage guidance for a component.', mimeType: 'text/markdown' },\n async (uri, { id }) => {\n const c = store.getComponent(String(id));\n return { contents: [{ uri: uri.href, mimeType: 'text/markdown', text: c ? store.formatGuidelines(c) : `Unknown component: ${id}` }] };\n },\n );\n}\n","{\n \"meta\": {\n \"version\": \"6.0.0\",\n \"builtAt\": \"2026-07-24T13:32:56.708Z\",\n \"frameworks\": [\n \"angular\"\n ],\n \"counts\": {\n \"components\": 70,\n \"tokens\": 296,\n \"themes\": 2,\n \"examples\": 132\n }\n },\n \"components\": [\n {\n \"id\": \"alert\",\n \"name\": \"Alert\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-alert\",\n \"api\": [\n {\n \"name\": \"show\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"iconName\",\n \"kind\": \"input\",\n \"type\": \"IconName | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"symbolName\",\n \"kind\": \"input\",\n \"type\": \"string | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"useVariant\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"showing\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<button text-button (click)=\\\"alert.open()\\\">Show Alert</button>\\n<uni-alert #alert ${argsToTemplate(props)}>\\n ${ngContent}\\n</uni-alert>\\n<!-- args:\\n{\\n ngContent: 'This is an alert!',\\n variant: 'tertiary',\\n symbolName: 'privacy_tip',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"alert.behavior.topPosition\",\n \"alert.behavior.borderRadius\",\n \"alert.behavior.transitionSpeed\",\n \"alert.behavior.elevation\"\n ]\n },\n {\n \"id\": \"app-bar\",\n \"name\": \"AppBar\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-app-bar\",\n \"api\": [\n {\n \"name\": \"title\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Bar title; alternatively project your own center content.\"\n },\n {\n \"name\": \"sticky\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Stick the bar to the top of its scroll container.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-app-bar [title]=\\\"title\\\" [sticky]=\\\"sticky\\\">\\n<button leading icon-button symbolName=\\\"menu\\\">Open navigation</button>\\n<button trailing icon-button symbolName=\\\"notifications\\\">Notifications</button>\\n<uni-avatar trailing name=\\\"Grace Hopper\\\" size=\\\"sm\\\" />\\n</uni-app-bar>\\n<!-- args:\\n{ title: 'Console' }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"avatar\",\n \"name\": \"Avatar\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-avatar\",\n \"api\": [\n {\n \"name\": \"src\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Image URL; on load error the avatar falls back to initials/symbol.\"\n },\n {\n \"name\": \"name\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Person's name: drives the initials and the accessible label.\"\n },\n {\n \"name\": \"text\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Verbatim text instead of derived initials (e.g. a group's “+3”).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Initials\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Initials -->\\n<div row-layout gap=\\\"sm\\\" alignItems=\\\"center\\\">\\n<uni-avatar name=\\\"Ada Lovelace\\\" size=\\\"sm\\\" />\\n<uni-avatar name=\\\"Grace Hopper\\\" size=\\\"md\\\" variant=\\\"secondary\\\" />\\n<uni-avatar name=\\\"Katherine Johnson\\\" size=\\\"lg\\\" variant=\\\"tertiary\\\" />\\n<uni-avatar name=\\\"Annie Easley\\\" size=\\\"xl\\\" variant=\\\"success\\\" />\\n<uni-avatar size=\\\"lg\\\" variant=\\\"quaternary\\\" />\\n</div>\\n<!-- args:\\n{ name: 'Grace Hopper', variant: 'primary', size: 'lg' }\\n-->\"\n },\n {\n \"title\": \"Sizes And Variants\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Sizes And Variants -->\\n<div row-layout gap=\\\"sm\\\" alignItems=\\\"center\\\">\\n<uni-avatar name=\\\"Ada Lovelace\\\" size=\\\"sm\\\" />\\n<uni-avatar name=\\\"Grace Hopper\\\" size=\\\"md\\\" variant=\\\"secondary\\\" />\\n<uni-avatar name=\\\"Katherine Johnson\\\" size=\\\"lg\\\" variant=\\\"tertiary\\\" />\\n<uni-avatar name=\\\"Annie Easley\\\" size=\\\"xl\\\" variant=\\\"success\\\" />\\n<uni-avatar size=\\\"lg\\\" variant=\\\"quaternary\\\" />\\n</div>\"\n },\n {\n \"title\": \"Group\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Group -->\\n<div row-layout gap=\\\"sm\\\" alignItems=\\\"center\\\">\\n<uni-avatar name=\\\"Ada Lovelace\\\" size=\\\"sm\\\" />\\n<uni-avatar name=\\\"Grace Hopper\\\" size=\\\"md\\\" variant=\\\"secondary\\\" />\\n<uni-avatar name=\\\"Katherine Johnson\\\" size=\\\"lg\\\" variant=\\\"tertiary\\\" />\\n<uni-avatar name=\\\"Annie Easley\\\" size=\\\"xl\\\" variant=\\\"success\\\" />\\n<uni-avatar size=\\\"lg\\\" variant=\\\"quaternary\\\" />\\n</div>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"avatar.behavior.borderRadius\",\n \"avatar.behavior.typeface\",\n \"avatar.behavior.fallbackSymbol\"\n ]\n },\n {\n \"id\": \"avatar-group\",\n \"name\": \"AvatarGroup\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-avatar-group\",\n \"api\": [\n {\n \"name\": \"max\",\n \"kind\": \"input\",\n \"type\": \"number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"Show at most this many avatars; the rest collapse into a “+N” chip.\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"background\",\n \"name\": \"Background\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-background\",\n \"api\": [\n {\n \"name\": \"image\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"imagePosition\",\n \"kind\": \"input\",\n \"type\": \"ImagePosition\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"imageSize\",\n \"kind\": \"input\",\n \"type\": \"'cover' | 'contain' | number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"default\": \"'100%'\",\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<!-- args:\\n{\\n image: 'images/phone-zone-illustration.svg',\\n imagePosition: 'center',\\n imageSize: '400px',\\n height: '400px',\\n width: '100%',\\n }\\n-->\"\n },\n {\n \"title\": \"Contain Size\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Contain Size -->\\n<!-- args:\\n{\\n ...Primary.args,\\n imageSize: 'contain',\\n }\\n-->\"\n },\n {\n \"title\": \"Custom Position\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Custom Position -->\\n<!-- args:\\n{\\n ...Primary.args,\\n imagePosition: 'top',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"badge\",\n \"name\": \"Badge\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-badge]\",\n \"api\": [\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"Variant | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"useVariant\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Pass\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Pass -->\\n<div uni-badge color=\\\"${color}\\\" [width]=\\\"${width}\\\">\\n ${ngContent}\\n</div>\\n<!-- args:\\n{\\n color: 'secondary',\\n ngContent: 'Pass',\\n width: 76,\\n }\\n-->\"\n },\n {\n \"title\": \"Fail\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Fail -->\\n<div uni-badge color=\\\"${color}\\\" [width]=\\\"${width}\\\">\\n ${ngContent}\\n</div>\\n<!-- args:\\n{\\n color: 'warn',\\n ngContent: 'Fail',\\n width: 76,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"badge.behavior.borderRadius\"\n ]\n },\n {\n \"id\": \"body-render\",\n \"name\": \"BodyRender\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"directives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uniBodyRender]\",\n \"api\": []\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"box\",\n \"name\": \"Box\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-box-layout], [box-layout]\",\n \"api\": [\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"ContainerColorToken\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"backgroundColor\",\n \"kind\": \"input\",\n \"type\": \"OptionalColor\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadius\",\n \"kind\": \"input\",\n \"type\": \"OptionalRadius\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadiusLeft\",\n \"kind\": \"input\",\n \"type\": \"OptionalRadius\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadiusRight\",\n \"kind\": \"input\",\n \"type\": \"OptionalRadius\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadiusTop\",\n \"kind\": \"input\",\n \"type\": \"OptionalRadius\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadiusBottom\",\n \"kind\": \"input\",\n \"type\": \"OptionalRadius\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"padding\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingHorizontal\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingVertical\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingLeft\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingRight\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingTop\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingBottom\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"border\",\n \"kind\": \"input\",\n \"type\": \"OptionalBorder\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderTop\",\n \"kind\": \"input\",\n \"type\": \"OptionalBorder\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderBottom\",\n \"kind\": \"input\",\n \"type\": \"OptionalBorder\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderLeft\",\n \"kind\": \"input\",\n \"type\": \"OptionalBorder\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRight\",\n \"kind\": \"input\",\n \"type\": \"OptionalBorder\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"dashBorder\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"alignSelf\",\n \"kind\": \"input\",\n \"type\": \"OptionalAlignSelf\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"alignItems\",\n \"kind\": \"input\",\n \"type\": \"OptionalAlignItems\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"alignContent\",\n \"kind\": \"input\",\n \"type\": \"OptionalAlignContent\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"justifyContent\",\n \"kind\": \"input\",\n \"type\": \"OptionalJustifyContent\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"grow\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"position\",\n \"kind\": \"input\",\n \"type\": \"OptionalPosition\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"inset\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"Number = px via binding (`[height]=\\\"420\\\"`); string = CSS length (`height=\\\"420px\\\"`).\"\n },\n {\n \"name\": \"minHeight\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"maxHeight\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"Number = px via binding (`[width]=\\\"420\\\"`); string = CSS length (`width=\\\"50%\\\"`).\"\n },\n {\n \"name\": \"minWidth\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"maxWidth\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"ignoreDir\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"gridArea\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"gridColumn\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"gridRow\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"overflow\",\n \"kind\": \"input\",\n \"type\": \"OptionalOverflow\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"shadow\",\n \"kind\": \"input\",\n \"type\": \"Shadow\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"gap\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"fullWidth\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"fullHeight\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"flexDirection\",\n \"kind\": \"input\",\n \"type\": \"OptionalFlexDirection\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"textAlign\",\n \"kind\": \"input\",\n \"type\": \"OptionalTextAlign\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"wrapItems\",\n \"kind\": \"input\",\n \"type\": \"OptionalWrap\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"zIndex\",\n \"kind\": \"input\",\n \"type\": \"ZIndexableElements\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div box-layout ${argsToTemplate(props)}>\\n<span uni-text>${ngContent}</span>\\n</div>\\n<!-- args:\\n{\\n color: 'secondary-container',\\n borderRadius: 'md',\\n padding: 'lg',\\n ngContent: 'Box Content.',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"breadcrumb\",\n \"name\": \"Breadcrumb\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-breadcrumb\",\n \"api\": [\n {\n \"name\": \"items\",\n \"kind\": \"input\",\n \"type\": \"BreadcrumbItem[]\",\n \"required\": true,\n \"description\": \"The trail, root first; the last item is the current page.\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"'Breadcrumb'\",\n \"description\": \"Landmark label distinguishing this nav from others on the page.\"\n },\n {\n \"name\": \"itemClicked\",\n \"kind\": \"output\",\n \"type\": \"BreadcrumbItem\",\n \"required\": false,\n \"description\": \"Emits the clicked ancestor item (also fires for `href` links).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<!-- args:\\n{\\n items: [\\n { label: 'Home', href: '#' },\\n { label: 'Reports', href: '#' },\\n { label: 'Q3 Revenue' },\\n ],\\n }\\n-->\"\n },\n {\n \"title\": \"Router-driven (no hrefs)\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Router-driven (no hrefs) -->\\n<!-- args:\\n{\\n items: [{ label: 'Home' }, { label: 'Settings' }, { label: 'Notifications' }],\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"breadcrumb.behavior.typeface\",\n \"breadcrumb.behavior.color\",\n \"breadcrumb.behavior.currentColor\",\n \"breadcrumb.behavior.separatorSymbol\",\n \"breadcrumb.behavior.gap\"\n ]\n },\n {\n \"id\": \"button\",\n \"name\": \"Button\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"button[uni-text-button], button[text-button]\",\n \"api\": [\n {\n \"name\": \"disable\",\n \"kind\": \"input\",\n \"type\": \"boolean | undefined\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"loading\",\n \"kind\": \"input\",\n \"type\": \"boolean | undefined\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"fullWidth\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"symbolLeft\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"symbolRight\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<button text-button [variant]=\\\"variant\\\" [size]=\\\"size\\\" ${argsToTemplate(props)}>\\n {{ngContent}}\\n</button>\\n<!-- args:\\n{\\n variant: 'primary',\\n size: 'lg',\\n ngContent: 'Button',\\n }\\n-->\"\n },\n {\n \"title\": \"Secondary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Secondary -->\\n<button text-button [variant]=\\\"variant\\\" [size]=\\\"size\\\" ${argsToTemplate(props)}>\\n {{ngContent}}\\n</button>\\n<!-- args:\\n{\\n size: 'lg',\\n variant: 'secondary',\\n ngContent: 'Secondary Button',\\n }\\n-->\"\n },\n {\n \"title\": \"Tertiary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Tertiary -->\\n<button text-button [variant]=\\\"variant\\\" [size]=\\\"size\\\" ${argsToTemplate(props)}>\\n {{ngContent}}\\n</button>\\n<!-- args:\\n{\\n size: 'lg',\\n variant: 'tertiary',\\n ngContent: 'Tertiary Button',\\n }\\n-->\"\n },\n {\n \"title\": \"Medium\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Medium -->\\n<button text-button [variant]=\\\"variant\\\" [size]=\\\"size\\\" ${argsToTemplate(props)}>\\n {{ngContent}}\\n</button>\\n<!-- args:\\n{\\n size: 'md',\\n ngContent: 'Medium Button',\\n }\\n-->\"\n },\n {\n \"title\": \"Small\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Small -->\\n<button text-button [variant]=\\\"variant\\\" [size]=\\\"size\\\" ${argsToTemplate(props)}>\\n {{ngContent}}\\n</button>\\n<!-- args:\\n{\\n size: 'sm',\\n ngContent: 'Small Button',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"button.behavior.borderRadius\",\n \"button.behavior.typeface\"\n ]\n },\n {\n \"id\": \"button-group\",\n \"name\": \"ButtonGroup\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-button-group\",\n \"api\": []\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-button-group ${argsToTemplate(props)}>\\n <button icon-button symbolName=\\\"align_horizontal_left\\\" size=\\\"sm\\\"></button>\\n <button icon-button symbolName=\\\"align_horizontal_center\\\" size=\\\"sm\\\"></button>\\n <button icon-button symbolName=\\\"align_horizontal_right\\\" size=\\\"sm\\\"></button>\\n</uni-button-group>\\n<!-- args:\\n{}\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"card\",\n \"name\": \"Card\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-card\",\n \"api\": []\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-card variant=\\\"${variant}\\\">\\n <uni-card-header title=\\\"Card Header\\\"></uni-card-header>\\n <uni-card-content>\\n <span uni-text>${ngContent}</span>\\n </uni-card-content>\\n</uni-card>\\n<!-- args:\\n{\\n variant: 'primary',\\n size: 'lg',\\n ngContent: 'Card content.',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"card.behavior.borderRadius\"\n ]\n },\n {\n \"id\": \"card-content\",\n \"name\": \"CardContent\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-card-content\",\n \"api\": []\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"card-header\",\n \"name\": \"CardHeader\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-card-header\",\n \"api\": [\n {\n \"name\": \"title\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"titleTextRole\",\n \"kind\": \"input\",\n \"type\": \"Typeface\",\n \"required\": false,\n \"default\": \"'title-large'\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"center\",\n \"name\": \"Center\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-center-layout], [center-layout]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'flex'\",\n \"description\": \"\"\n },\n {\n \"name\": \"justifyContent\",\n \"kind\": \"input\",\n \"type\": \"OptionalJustifyContent\",\n \"required\": false,\n \"default\": \"'center'\",\n \"description\": \"\"\n },\n {\n \"name\": \"alignItems\",\n \"kind\": \"input\",\n \"type\": \"OptionalAlignItems\",\n \"required\": false,\n \"default\": \"'center'\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div center-layout ${argsToTemplate(props)}>\\n <span uni-text=\\\"headline-large\\\">${ngContent}</span>\\n</div>\\n<!-- args:\\n{\\n ngContent: 'Centered Content',\\n height: 180,\\n width: '100%',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"checkbox\",\n \"name\": \"Checkbox\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-checkbox\",\n \"api\": [\n {\n \"name\": \"checked\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"indeterminate\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Mixed state for \\\"select all\\\"-style parent checkboxes. Cleared automatically on the next user interaction, matching native behavior.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\\n<!-- args:\\n{\\n label: 'Accept terms and conditions',\\n variant: 'primary',\\n disabled: false,\\n checked: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Without Label\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Without Label -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\\n<!-- args:\\n{\\n label: '',\\n variant: 'primary',\\n disabled: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\\n<!-- args:\\n{\\n label: 'Disabled checkbox',\\n variant: 'primary',\\n disabled: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Variants\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Variants -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\"\n },\n {\n \"title\": \"With Change Event\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Change Event -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\"\n },\n {\n \"title\": \"Form Signals\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Form Signals -->\\n<uni-checkbox ${argsToTemplate(args)}></uni-checkbox>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"checkbox.behavior.size\",\n \"checkbox.behavior.boxColor\"\n ]\n },\n {\n \"id\": \"confirmation-dialog\",\n \"name\": \"ConfirmationDialog\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-confirmation-dialog\",\n \"api\": [\n {\n \"name\": \"show\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"confirmation\",\n \"kind\": \"input\",\n \"type\": \"Confirmation\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"showing\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"data-search\",\n \"name\": \"DataSearch\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-data-search\",\n \"api\": [\n {\n \"name\": \"datasource\",\n \"kind\": \"input\",\n \"type\": \"UniDatasource<T>\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"'Search'\",\n \"description\": \"\"\n },\n {\n \"name\": \"fields\",\n \"kind\": \"input\",\n \"type\": \"string[]\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-data-search ${argsToTemplate(props)} />\\n<div box-layout paddingTop=\\\"md\\\">\\n @for (record of datasource.records(); track record.id) {\\n <div>{{ record.name }} — {{ record.homeworld }}</div>\\n }\\n</div>\\n<!-- args:\\n{\\n datasource: new UniRecordDatasource<any>(starWarsCharacters.slice(0, 10)),\\n placeholder: 'Search characters',\\n }\\n-->\"\n },\n {\n \"title\": \"Field Scoped\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Field Scoped -->\\n<uni-data-search ${argsToTemplate(props)} />\\n<div box-layout paddingTop=\\\"md\\\">\\n @for (record of datasource.records(); track record.id) {\\n <div>{{ record.name }} — {{ record.homeworld }}</div>\\n }\\n</div>\\n<!-- args:\\n{\\n datasource: new UniRecordDatasource<any>(starWarsCharacters.slice(0, 10)),\\n placeholder: 'Search by name only',\\n fields: ['name'],\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"data-table\",\n \"name\": \"DataTable\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"data\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-data-table\",\n \"api\": [\n {\n \"name\": \"datasource\",\n \"kind\": \"input\",\n \"type\": \"UniDatasource<T>\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"columns\",\n \"kind\": \"input\",\n \"type\": \"ColumnDefinition<T>[]\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"useMultiSelect\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"useRowClick\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"rowSelect\",\n \"kind\": \"output\",\n \"type\": \"T\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"rowClick\",\n \"kind\": \"output\",\n \"type\": \"T\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<!-- args:\\n{\\n columns: [\\n {\\n columnDef: 'id',\\n header: 'ID',\\n isSticky: true,\\n },\\n {\\n columnDef: 'name',\\n header: 'Name',\\n textAlign: 'left',\\n },\\n {\\n columnDef: 'species',\\n header: 'Species',\\n },\\n {\\n columnDef: 'height',\\n header: 'Height',\\n cell: (element: any) => (element.height ? `${element.height} m` : ''),\\n },\\n {\\n columnDef: 'homeworld',\\n header: 'Home World',\\n },\\n ],\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n }\\n-->\"\n },\n {\n \"title\": \"With Header\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Header -->\\n<!-- args:\\n{\\n height: '300px',\\n columns: [\\n {\\n columnDef: 'id',\\n header: 'ID',\\n },\\n {\\n columnDef: 'name',\\n header: 'Name',\\n textAlign: 'left',\\n },\\n {\\n columnDef: 'homeworld',\\n header: 'Home World',\\n },\\n ],\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n }\\n-->\"\n },\n {\n \"title\": \"With Search\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Search -->\\n<!-- args:\\n{\\n height: '300px',\\n columns: [\\n {\\n columnDef: 'id',\\n header: 'ID',\\n },\\n {\\n columnDef: 'name',\\n header: 'Name',\\n textAlign: 'left',\\n },\\n {\\n columnDef: 'homeworld',\\n header: 'Home World',\\n },\\n ],\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n }\\n-->\"\n },\n {\n \"title\": \"With Detail Row\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Detail Row -->\\n<!-- args:\\n{\\n height: '300px',\\n columns: [\\n {\\n columnDef: 'id',\\n header: 'ID',\\n },\\n {\\n columnDef: 'name',\\n header: 'Name',\\n textAlign: 'left',\\n },\\n {\\n columnDef: 'homeworld',\\n header: 'Home World',\\n },\\n ],\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"debounce-input\",\n \"name\": \"DebounceInput\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-debounce-input\",\n \"api\": [\n {\n \"name\": \"inputName\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"inputId\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"debounceTime\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"400\",\n \"description\": \"\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name for the input.\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"role\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"ariaExpanded\",\n \"kind\": \"input\",\n \"type\": \"boolean | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaControls\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"ariaActivedescendant\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"change\",\n \"kind\": \"output\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-debounce-input ${argsToTemplate(props)} (change)=\\\"lastEmitted = $event\\\" #debounce />\\n<div box-layout paddingTop=\\\"md\\\">\\n <div>Live value: {{ debounce.value() }}</div>\\n <div>Debounced value: {{ lastEmitted }}</div>\\n</div>\\n<!-- args:\\n{\\n inputName: 'search',\\n debounceTime: 400,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"dialog\",\n \"name\": \"Dialog\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"dialog[uni-dialog]\",\n \"api\": [\n {\n \"name\": \"show\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Two-way bindable open state: [(show)].\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name for dialogs without a DialogHeader. When a DialogHeader is present it labels the dialog automatically via aria-labelledby.\"\n },\n {\n \"name\": \"initialFocus\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"CSS selector for the element to focus when the dialog opens. Defaults to the browser's native behavior (first focusable element).\"\n },\n {\n \"name\": \"defaultCloseButton\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"showing\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"Emits true once opened and false once the closing animation finishes.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<button text-button (click)=\\\"dialog.open()\\\">Open Dialog</button>\\n<dialog uni-dialog #dialog>\\n <header uni-dialog-header color=\\\"primary\\\">Sample Dialog</header>\\n <div center-layout [width]=\\\"300\\\" [height]=\\\"200\\\">\\n <span uni-text>Dialog</span>\\n </div>\\n <footer dialog-buttons></footer>\\n</dialog>\\n<!-- args:\\n{}\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"dialog.behavior.borderRadius\",\n \"dialog.behavior.color\",\n \"dialog.behavior.border\",\n \"dialog.behavior.padding\",\n \"dialog.behavior.elevation\",\n \"dialog.behavior.backdrop\"\n ]\n },\n {\n \"id\": \"dialog-buttons\",\n \"name\": \"DialogButtons\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-dialog-buttons], [dialog-buttons]\",\n \"api\": [\n {\n \"name\": \"confirmButtonText\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"confirmButtonVariant\",\n \"kind\": \"input\",\n \"type\": \"Variant\",\n \"required\": false,\n \"default\": \"'primary'\",\n \"description\": \"\"\n },\n {\n \"name\": \"cancelButtonText\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"disableConfirm\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"padding\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"default\": \"'md'\",\n \"description\": \"\"\n },\n {\n \"name\": \"paddingBottom\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"default\": \"'lg'\",\n \"description\": \"\"\n },\n {\n \"name\": \"justifyContent\",\n \"kind\": \"input\",\n \"type\": \"JustifyContent\",\n \"required\": false,\n \"default\": \"'center'\",\n \"description\": \"\"\n },\n {\n \"name\": \"confirmed\",\n \"kind\": \"output\",\n \"type\": \"unknown\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"dialog-header\",\n \"name\": \"DialogHeader\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-dialog-header]\",\n \"api\": []\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"divider\",\n \"name\": \"Divider\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-divider\",\n \"api\": [\n {\n \"name\": \"orientation\",\n \"kind\": \"input\",\n \"type\": \"Orientation\",\n \"required\": false,\n \"default\": \"'horizontal'\",\n \"description\": \"\"\n },\n {\n \"name\": \"border\",\n \"kind\": \"input\",\n \"type\": \"Border\",\n \"required\": false,\n \"default\": \"'primary'\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div center-layout height=\\\"200px\\\">\\n <uni-divider border=\\\"${border}\\\" orientation=\\\"${orientation}\\\" />\\n</div>\\n<!-- args:\\n{\\n orientation: 'horizontal',\\n border: 'primary',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"drag-and-drop\",\n \"name\": \"DragAndDrop\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"directives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-drag-n-drop], [dragAndDrop]\",\n \"api\": [\n {\n \"name\": \"onFileDropped\",\n \"kind\": \"output\",\n \"type\": \"FileList\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"drawer\",\n \"name\": \"Drawer\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-drawer\",\n \"api\": [\n {\n \"name\": \"open\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Two-way bindable open state: [(open)].\"\n },\n {\n \"name\": \"mode\",\n \"kind\": \"input\",\n \"type\": \"DrawerMode\",\n \"required\": false,\n \"default\": \"'side'\",\n \"description\": \"\"\n },\n {\n \"name\": \"position\",\n \"kind\": \"input\",\n \"type\": \"DrawerPosition\",\n \"required\": false,\n \"default\": \"'start'\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"'Navigation'\",\n \"description\": \"Accessible name for the overlay mode's dialog.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Dashboard Shell\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Dashboard Shell -->\\n<section stack-layout height=\\\"420px\\\" overflow=\\\"hidden\\\">\\n<uni-app-bar title=\\\"Console\\\">\\n <button leading icon-button symbolName=\\\"menu\\\" (click)=\\\"open = !open\\\">Toggle navigation</button>\\n <button trailing icon-button symbolName=\\\"account_circle\\\">Account</button>\\n</uni-app-bar>\\n<div row-layout [grow]=\\\"1\\\" [minHeight]=\\\"0\\\">\\n <uni-drawer mode=\\\"side\\\" [(open)]=\\\"open\\\">\\n <nav stack-layout gap=\\\"sm\\\" aria-label=\\\"Main\\\">\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Dashboard</span>\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Reports</span>\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Settings</span>\\n </nav>\\n </uni-drawer>\\n <main box-layout [grow]=\\\"1\\\" padding=\\\"md\\\" [minWidth]=\\\"0\\\">\\n <h2 uni-text=\\\"headline-small\\\">Content</h2>\\n <span uni-text=\\\"body-1-long\\\" display=\\\"block\\\">\\n The side drawer pushes this content; toggle it from the app bar.\\n </span>\\n </main>\\n</div>\\n</section>\"\n },\n {\n \"title\": \"Overlay\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Overlay -->\\n<section stack-layout height=\\\"420px\\\" overflow=\\\"hidden\\\">\\n<uni-app-bar title=\\\"Console\\\">\\n <button leading icon-button symbolName=\\\"menu\\\" (click)=\\\"open = !open\\\">Toggle navigation</button>\\n <button trailing icon-button symbolName=\\\"account_circle\\\">Account</button>\\n</uni-app-bar>\\n<div row-layout [grow]=\\\"1\\\" [minHeight]=\\\"0\\\">\\n <uni-drawer mode=\\\"side\\\" [(open)]=\\\"open\\\">\\n <nav stack-layout gap=\\\"sm\\\" aria-label=\\\"Main\\\">\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Dashboard</span>\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Reports</span>\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">Settings</span>\\n </nav>\\n </uni-drawer>\\n <main box-layout [grow]=\\\"1\\\" padding=\\\"md\\\" [minWidth]=\\\"0\\\">\\n <h2 uni-text=\\\"headline-small\\\">Content</h2>\\n <span uni-text=\\\"body-1-long\\\" display=\\\"block\\\">\\n The side drawer pushes this content; toggle it from the app bar.\\n </span>\\n </main>\\n</div>\\n</section>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"drawer.behavior.color\",\n \"drawer.behavior.width\",\n \"drawer.behavior.divider\",\n \"drawer.behavior.elevation\",\n \"drawer.behavior.padding\",\n \"drawer.behavior.backdrop\"\n ]\n },\n {\n \"id\": \"dropdown\",\n \"name\": \"Dropdown\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-dropdown\",\n \"api\": [\n {\n \"name\": \"trigger\",\n \"kind\": \"input\",\n \"type\": \"HTMLElement\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"placement\",\n \"kind\": \"input\",\n \"type\": \"Placement\",\n \"required\": false,\n \"default\": \"'bottom-start'\",\n \"description\": \"\"\n },\n {\n \"name\": \"offset\",\n \"kind\": \"input\",\n \"type\": \"AnchorOffset\",\n \"required\": false,\n \"default\": \"{ mainAxis: 4, alignmentAxis: 12 }\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaHasPopup\",\n \"kind\": \"input\",\n \"type\": \"AriaHasPopup | null\",\n \"required\": false,\n \"default\": \"null\",\n \"description\": \"Value for aria-haspopup on the trigger, describing what the popover contains (e.g. 'menu' for Menu, 'dialog' for rich content). When unset, only aria-expanded/aria-controls are managed.\"\n },\n {\n \"name\": \"paddingVertical\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingHorizontal\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"dropdownShowing\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"dropdownHiding\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"dropdown.behavior.border\",\n \"dropdown.behavior.borderRadius\",\n \"dropdown.behavior.color\",\n \"dropdown.behavior.shadow\"\n ]\n },\n {\n \"id\": \"expand\",\n \"name\": \"Expand\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-expand\",\n \"api\": [\n {\n \"name\": \"collapsed\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-card>\\n<uni-card-header title=\\\"Expandable Card\\\"><uni-expand-toggle #toggle /></uni-card-header>\\n<uni-expand [collapsed]=\\\"toggle.collapsed()\\\">\\n <uni-card-content>\\n <span uni-text>${ngContent}</span>\\n </uni-card-content>\\n</uni-expand>\\n</uni-card>\\n<!-- args:\\n{\\n collapsed: false,\\n ngContent: 'Expandable Content',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"expand-area\",\n \"name\": \"ExpandArea\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-expand-area\",\n \"api\": [\n {\n \"name\": \"title\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"initCollapsed\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"padding\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"default\": \"'md'\",\n \"description\": \"\"\n },\n {\n \"name\": \"collapsed\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-expand-area title=\\\"${title}\\\" padding=\\\"${padding}\\\" initCollapsed=\\\"${initCollapsed}\\\" #expandArea>\\n <button text-button (click)=\\\"expandArea.toggleExpand()\\\" size=\\\"md\\\" variant=\\\"ghost\\\" symbolLeft=\\\"collapse_all\\\">Collapse area</button>\\n</uni-expand-area>\\n<!-- args:\\n{\\n title: 'Expand Area Title',\\n padding: 'sm',\\n initCollapsed: true,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"expand-toggle\",\n \"name\": \"ExpandToggle\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-expand-toggle\",\n \"api\": [\n {\n \"name\": \"collapsed\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaControls\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id of the Expand region this toggle controls (see UniExpandComponent.regionId).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-expand-toggle [collapsed]=\\\"collapsed\\\" #toggle />\\n<div>Collapsed: {{ toggle.collapsed() }}</div>\\n<!-- args:\\n{\\n collapsed: true,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"file-drop-zone\",\n \"name\": \"FileDropZone\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-file-drop-zone\",\n \"api\": [\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"number | string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadius\",\n \"kind\": \"input\",\n \"type\": \"Radius\",\n \"required\": false,\n \"default\": \"'md'\",\n \"description\": \"\"\n },\n {\n \"name\": \"border\",\n \"kind\": \"input\",\n \"type\": \"Variant\",\n \"required\": false,\n \"default\": \"'light'\",\n \"description\": \"\"\n },\n {\n \"name\": \"padding\",\n \"kind\": \"input\",\n \"type\": \"NullableSize\",\n \"required\": false,\n \"default\": \"'lg'\",\n \"description\": \"\"\n },\n {\n \"name\": \"useBrowseButton\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"browseButtonText\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"'Browse for file'\",\n \"description\": \"\"\n },\n {\n \"name\": \"allowedFileExtensions\",\n \"kind\": \"input\",\n \"type\": \"string[]\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"helpTemplate\",\n \"kind\": \"input\",\n \"type\": \"TemplateRef<unknown> | null\",\n \"required\": false,\n \"default\": \"null\",\n \"description\": \"\"\n },\n {\n \"name\": \"helpTemplateContext\",\n \"kind\": \"input\",\n \"type\": \"unknown | null\",\n \"required\": false,\n \"default\": \"null\",\n \"description\": \"\"\n },\n {\n \"name\": \"fileAttached\",\n \"kind\": \"output\",\n \"type\": \"File | undefined\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"fileRemoved\",\n \"kind\": \"output\",\n \"type\": \"unknown\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-file-drop-zone ${argsToTemplate(props)} [helpTemplate]=\\\"myTemplate\\\" />\\n<ng-template #myTemplate>\\n<div stack-layout alignItems=\\\"center\\\">\\n <span uni-text=\\\"title-medium\\\">Title Text</span>\\n <span uni-text=\\\"subtitle-1\\\">Subtitle Text</span>\\n</div>\\n</ng-template>\\n<!-- args:\\n{\\n label: 'Image',\\n browseButtonText: 'Browse for image',\\n allowedFileExtensions: ['png', 'jpg'],\\n }\\n-->\"\n },\n {\n \"title\": \"With Help Template\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Help Template -->\\n<uni-file-drop-zone ${argsToTemplate(props)} [helpTemplate]=\\\"myTemplate\\\" />\\n<ng-template #myTemplate>\\n<div stack-layout alignItems=\\\"center\\\">\\n <span uni-text=\\\"title-medium\\\">Title Text</span>\\n <span uni-text=\\\"subtitle-1\\\">Subtitle Text</span>\\n</div>\\n</ng-template>\\n<!-- args:\\n{\\n label: 'Image',\\n browseButtonText: 'Browse for image',\\n allowedFileExtensions: ['png', 'jpg'],\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"grid\",\n \"name\": \"Grid\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-grid-layout], [grid-layout]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'grid'\",\n \"description\": \"\"\n },\n {\n \"name\": \"templateAreas\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"templateColumns\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"templateRows\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"outline\",\n \"kind\": \"input\",\n \"type\": \"Thickness\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"outlineColor\",\n \"kind\": \"input\",\n \"type\": \"Variant\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Simple Grid\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Simple Grid -->\\n<div grid-layout ${argsToTemplate(props)}>\\n <div box-layout gridArea=\\\"nav\\\" color=\\\"quaternary\\\" padding=\\\"md\\\" borderRadius=\\\"sm\\\">\\n <span uni-text>nav</span>\\n </div>\\n <div box-layout gridArea=\\\"a1\\\" color=\\\"primary\\\" padding=\\\"md\\\" borderRadius=\\\"sm\\\">\\n <span uni-text>a1</span>\\n </div>\\n <div box-layout gridArea=\\\"a2\\\" color=\\\"secondary\\\" padding=\\\"md\\\" borderRadius=\\\"sm\\\">\\n <span uni-text>a2</span>\\n </div>\\n <div box-layout gridArea=\\\"b1\\\" color=\\\"tertiary\\\" padding=\\\"md\\\" borderRadius=\\\"sm\\\">\\n <span uni-text>b1</span>\\n </div>\\n <div box-layout gridArea=\\\"b2\\\" color=\\\"warn\\\" padding=\\\"md\\\" borderRadius=\\\"sm\\\">\\n <span uni-text>b2</span>\\n </div>\\n</div>\\n<!-- args:\\n{\\n templateAreas: `'nav a1 a2' 'nav b1 b2'`,\\n gap: 'sm',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"grid-area\",\n \"name\": \"GridArea\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-grid-area-layout], [grid-area-layout]\",\n \"api\": [\n {\n \"name\": \"area\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"icon\",\n \"name\": \"Icon\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-icon\",\n \"api\": [\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"ColorToken\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"name\",\n \"kind\": \"input\",\n \"type\": \"keyof Icons\",\n \"required\": true,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div box-layout height=\\\"${size}px\\\">\\n <uni-icon name=\\\"${name}\\\" color=\\\"${color}\\\" />\\n </div>\\n<!-- args:\\n{\\n name: 'checkCircle',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"icon-button\",\n \"name\": \"IconButton\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"button[uni-icon-button], button[icon-button]\",\n \"api\": [\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name for the button. Alternative to projecting text content (`<button icon-button>Close</button>`); one of the two is required for an icon-only button to be announced correctly.\"\n },\n {\n \"name\": \"iconName\",\n \"kind\": \"input\",\n \"type\": \"IconName\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"symbolName\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"variant\",\n \"kind\": \"input\",\n \"type\": \"Variant\",\n \"required\": false,\n \"default\": \"'ghost'\",\n \"description\": \"\"\n },\n {\n \"name\": \"size\",\n \"kind\": \"input\",\n \"type\": \"Size\",\n \"required\": false,\n \"default\": \"'lg'\",\n \"description\": \"\"\n },\n {\n \"name\": \"disable\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"loading\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"opticalSize\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"24\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<button icon-button iconName=\\\"${iconName}\\\" variant=\\\"${variant}\\\" size=\\\"${size}\\\" ${argsToTemplate(\\n props\\n)}></button>\\n<!-- args:\\n{\\n iconName: 'search',\\n size: 'lg',\\n variant: 'ghost',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"input\",\n \"name\": \"Input\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-input\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'Email Address',\\n placeholder: 'Enter your email',\\n value: '',\\n disabled: false,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"With Value\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Value -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'Username',\\n placeholder: 'Enter username',\\n value: 'john.doe',\\n disabled: false,\\n touched: true,\\n invalid: false,\\n dirty: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'Disabled Input',\\n placeholder: 'This input is disabled',\\n value: 'Cannot edit this',\\n disabled: true,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Invalid\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Invalid -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'Email Address',\\n placeholder: 'Enter your email',\\n value: 'invalid-email',\\n disabled: false,\\n touched: true,\\n invalid: true,\\n dirty: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Required\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Required -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'Full Name',\\n placeholder: 'This field is required',\\n value: '',\\n disabled: false,\\n touched: true,\\n invalid: true,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Long Label\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Long Label -->\\n<uni-input ${argsToTemplate(props)}>\\n</uni-input>\\n<!-- args:\\n{\\n label: 'A Very Long Label That Demonstrates How The Component Handles Extended Text',\\n placeholder: 'Enter some text',\\n value: '',\\n disabled: false,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"input.behavior.typeFace\",\n \"input.behavior.color\",\n \"input.behavior.textColor\",\n \"input.behavior.disabledColor\",\n \"input.behavior.disabledTextColor\",\n \"input.behavior.border\",\n \"input.behavior.borderRadius\",\n \"input.behavior.errorShadow\",\n \"input.behavior.errorBorder\",\n \"input.behavior.height\",\n \"input.behavior.paddingLeft\",\n \"input.behavior.focusOutline\",\n \"input.behavior.focusOutlineOffset\"\n ]\n },\n {\n \"id\": \"input-box\",\n \"name\": \"InputBox\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-input-box\",\n \"api\": [\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"error\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"minWidth\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"'0'\",\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"string | number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"Override the themed field height, e.g. `'auto'` for multi-line fields.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-input-box ${argsToTemplate(props)}>\\n <input type=\\\"text\\\" placeholder=\\\"Type here...\\\" />\\n</uni-input-box>\\n<!-- args:\\n{\\n disabled: false,\\n error: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Error State\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Error State -->\\n<uni-input-box ${argsToTemplate(props)}>\\n <input type=\\\"text\\\" placeholder=\\\"Type here...\\\" />\\n</uni-input-box>\\n<!-- args:\\n{\\n disabled: false,\\n error: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-input-box ${argsToTemplate(props)}>\\n <input type=\\\"text\\\" placeholder=\\\"Type here...\\\" />\\n</uni-input-box>\\n<!-- args:\\n{\\n disabled: true,\\n error: false,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"json-view\",\n \"name\": \"JsonView\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-json-view\",\n \"api\": [\n {\n \"name\": \"json\",\n \"kind\": \"input\",\n \"type\": \"unknown\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"rows\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"6\",\n \"description\": \"\"\n },\n {\n \"name\": \"fontSize\",\n \"kind\": \"input\",\n \"type\": \"AbsoluteSize | string\",\n \"required\": false,\n \"default\": \"'medium'\",\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"string | number\",\n \"required\": false,\n \"default\": \"'100%'\",\n \"description\": \"\"\n },\n {\n \"name\": \"selectOnClick\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<!-- args:\\n{\\n json: { a: { b: ['c', 'd', 'e', 'f'], g: ['h', 'i'] }, j: 'k' },\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"menu\",\n \"name\": \"Menu\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-menu\",\n \"api\": [\n {\n \"name\": \"menuItems\",\n \"kind\": \"input\",\n \"type\": \"MenuItem[]\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"activeItem\",\n \"kind\": \"input\",\n \"type\": \"MenuItem\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"placement\",\n \"kind\": \"input\",\n \"type\": \"Placement\",\n \"required\": false,\n \"default\": \"'bottom-start'\",\n \"description\": \"\"\n },\n {\n \"name\": \"menuItemClicked\",\n \"kind\": \"output\",\n \"type\": \"MenuItem\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div box-layout color=\\\"primary\\\" padding=\\\"sm\\\">\\n <uni-menu ${argsToTemplate(props)}>\\n <button text-button variant=\\\"ghost\\\" symbolRight=\\\"arrow_drop_down\\\">Menu</button>\\n </uni-menu>\\n</div>\\n<!-- args:\\n{\\n menuItems: [\\n { label: 'Language', symbolName: 'translate' },\\n { label: 'Settings', symbolName: 'settings' },\\n { label: 'Logout', symbolName: 'logout' },\\n ],\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"menu-item\",\n \"name\": \"MenuItem\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-menu-item], [menu-item]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'flex'\",\n \"description\": \"\"\n },\n {\n \"name\": \"flexDirection\",\n \"kind\": \"input\",\n \"type\": \"OptionalFlexDirection\",\n \"required\": false,\n \"default\": \"'row'\",\n \"description\": \"\"\n },\n {\n \"name\": \"alignItems\",\n \"kind\": \"input\",\n \"type\": \"OptionalAlignItems\",\n \"required\": false,\n \"default\": \"'center'\",\n \"description\": \"\"\n },\n {\n \"name\": \"paddingHorizontal\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"default\": \"'md'\",\n \"description\": \"\"\n },\n {\n \"name\": \"gap\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"default\": \"'md'\",\n \"description\": \"\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"template\",\n \"kind\": \"input\",\n \"type\": \"TemplateRef<T>\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"context\",\n \"kind\": \"input\",\n \"type\": \"T\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"symbolName\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"active\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"hoverColor\",\n \"kind\": \"input\",\n \"type\": \"ContainerColorToken\",\n \"required\": false,\n \"default\": \"'primary-container'\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"multi-select\",\n \"name\": \"MultiSelect\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-multi-select\",\n \"api\": [\n {\n \"name\": \"options\",\n \"kind\": \"input\",\n \"type\": \"Option<T>[]\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"\"\n },\n {\n \"name\": \"selections\",\n \"kind\": \"input\",\n \"type\": \"T[] | null | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"updates\",\n \"kind\": \"output\",\n \"type\": \"T[] | undefined\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"flexDirection\",\n \"kind\": \"input\",\n \"type\": \"'row' | 'row-reverse' | 'column' | 'column-reverse'\",\n \"required\": false,\n \"default\": \"'column'\",\n \"description\": \"\"\n },\n {\n \"name\": \"checkboxGap\",\n \"kind\": \"input\",\n \"type\": \"NullableSize | undefined\",\n \"required\": false,\n \"default\": \"'sm'\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-multi-select ${argsToTemplate(props)}>\\n</uni-multi-select>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n { value: 'option4', label: 'Option 4' },\\n ],\\n selections: ['option1', 'option3'],\\n }\\n-->\"\n },\n {\n \"title\": \"Empty\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Empty -->\\n<uni-multi-select ${argsToTemplate(props)}>\\n</uni-multi-select>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n ],\\n selections: undefined,\\n }\\n-->\"\n },\n {\n \"title\": \"Single Selection\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Single Selection -->\\n<uni-multi-select ${argsToTemplate(props)}>\\n</uni-multi-select>\\n<!-- args:\\n{\\n options: [\\n { value: 'red', label: 'Red' },\\n { value: 'green', label: 'Green' },\\n { value: 'blue', label: 'Blue' },\\n ],\\n selections: ['red'],\\n }\\n-->\"\n },\n {\n \"title\": \"Many Options\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Many Options -->\\n<uni-multi-select ${argsToTemplate(props)}>\\n</uni-multi-select>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'First Option' },\\n { value: 'option2', label: 'Second Option' },\\n { value: 'option3', label: 'Third Option' },\\n { value: 'option4', label: 'Fourth Option' },\\n { value: 'option5', label: 'Fifth Option' },\\n { value: 'option6', label: 'Sixth Option' },\\n { value: 'option7', label: 'Seventh Option' },\\n { value: 'option8', label: 'Eighth Option' },\\n ],\\n selections: ['option2', 'option4', 'option6'],\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"multi-select-dropdown\",\n \"name\": \"MultiSelectDropdown\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-multi-select-dropdown\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"T[]\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"options\",\n \"kind\": \"input\",\n \"type\": \"Options<T>\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n { value: 'option4', label: 'Option 4' },\\n ],\\n value: ['option1', 'option3'],\\n }\\n-->\"\n },\n {\n \"title\": \"Empty\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Empty -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n ],\\n value: [],\\n }\\n-->\"\n },\n {\n \"title\": \"Single Selection\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Single Selection -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'red', label: 'Red' },\\n { value: 'green', label: 'Green' },\\n { value: 'blue', label: 'Blue' },\\n ],\\n value: ['red'],\\n }\\n-->\"\n },\n {\n \"title\": \"Many Options\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Many Options -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'First Option' },\\n { value: 'option2', label: 'Second Option' },\\n { value: 'option3', label: 'Third Option' },\\n { value: 'option4', label: 'Fourth Option' },\\n { value: 'option5', label: 'Fifth Option' },\\n { value: 'option6', label: 'Sixth Option' },\\n { value: 'option7', label: 'Seventh Option' },\\n { value: 'option8', label: 'Eighth Option' },\\n ],\\n value: ['option2', 'option4', 'option6'],\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n ],\\n value: ['option1'],\\n disabled: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Error State\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Error State -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n ],\\n value: [],\\n invalid: true,\\n touched: true,\\n }\\n-->\"\n },\n {\n \"title\": \"With Placeholder\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Placeholder -->\\n<uni-multi-select-dropdown ${argsToTemplate(props)}>\\n</uni-multi-select-dropdown>\\n<!-- args:\\n{\\n options: [\\n { value: 'apple', label: 'Apple' },\\n { value: 'banana', label: 'Banana' },\\n { value: 'orange', label: 'Orange' },\\n { value: 'grape', label: 'Grape' },\\n ],\\n value: [],\\n placeholder: 'Choose your favorite fruits...',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"notification-badge\",\n \"name\": \"NotificationBadge\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-notification-badge\",\n \"api\": [\n {\n \"name\": \"count\",\n \"kind\": \"input\",\n \"type\": \"number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"maxCount\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"99\",\n \"description\": \"\"\n },\n {\n \"name\": \"badgeVariant\",\n \"kind\": \"input\",\n \"type\": \"'dot' | 'count' | 'pill'\",\n \"required\": false,\n \"default\": \"'count'\",\n \"description\": \"\"\n },\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"Variant | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"\"\n },\n {\n \"name\": \"position\",\n \"kind\": \"input\",\n \"type\": \"'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'\",\n \"required\": false,\n \"default\": \"'top-right'\",\n \"description\": \"\"\n },\n {\n \"name\": \"show\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Screen-reader text for the badge (e.g. \\\"5 unread messages\\\"). Without it a sensible default is announced; a bare number or dot carries no meaning.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\\n<!-- args:\\n{\\n count: 5,\\n badgeVariant: 'count',\\n color: 'warn',\\n position: 'top-right',\\n show: true,\\n maxCount: 99,\\n }\\n-->\"\n },\n {\n \"title\": \"Dot\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Dot -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\\n<!-- args:\\n{\\n badgeVariant: 'dot',\\n color: 'warn',\\n position: 'top-right',\\n show: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Count\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Count -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\\n<!-- args:\\n{\\n count: 12,\\n badgeVariant: 'count',\\n color: 'warn',\\n position: 'top-right',\\n show: true,\\n maxCount: 99,\\n }\\n-->\"\n },\n {\n \"title\": \"Pill\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Pill -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\\n<!-- args:\\n{\\n count: 1234,\\n badgeVariant: 'pill',\\n color: 'warn',\\n position: 'top-right',\\n show: true,\\n maxCount: 999,\\n }\\n-->\"\n },\n {\n \"title\": \"Large Count\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Large Count -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\\n<!-- args:\\n{\\n count: 150,\\n badgeVariant: 'count',\\n color: 'warn',\\n position: 'top-right',\\n show: true,\\n maxCount: 99,\\n }\\n-->\"\n },\n {\n \"title\": \"Different Colors\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Different Colors -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\"\n },\n {\n \"title\": \"Different Positions\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Different Positions -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\"\n },\n {\n \"title\": \"Variant Comparison\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Variant Comparison -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\"\n },\n {\n \"title\": \"With Icons\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Icons -->\\n<div box-layout padding=\\\"md\\\">\\n<uni-notification-badge\\n [count]=\\\"count\\\"\\n [maxCount]=\\\"maxCount\\\"\\n [badgeVariant]=\\\"badgeVariant\\\"\\n [color]=\\\"color\\\"\\n [position]=\\\"position\\\"\\n [show]=\\\"show\\\">\\n <button uni-text-button>\\n Button with Badge\\n </button>\\n</uni-notification-badge>\\n</div>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"notifications\",\n \"name\": \"Notifications\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-notifications\",\n \"api\": []\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"paginator\",\n \"name\": \"Paginator\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"data\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-paginator\",\n \"api\": [\n {\n \"name\": \"datasource\",\n \"kind\": \"input\",\n \"type\": \"UniDatasource<T>\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"initPageSize\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"showPageSize\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"showPageJumper\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n },\n {\n \"name\": \"showPageNumbers\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-paginator ${argsToTemplate(props)} />\\n<div box-layout paddingTop=\\\"md\\\">\\n @for (record of datasource.records(); track record.id) {\\n <div>{{ record.name }}</div>\\n }\\n</div>\\n<!-- args:\\n{\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n initPageSize: 5,\\n showPageSize: true,\\n showPageJumper: true,\\n showPageNumbers: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Page Numbers Only\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Page Numbers Only -->\\n<uni-paginator ${argsToTemplate(props)} />\\n<div box-layout paddingTop=\\\"md\\\">\\n @for (record of datasource.records(); track record.id) {\\n <div>{{ record.name }}</div>\\n }\\n</div>\\n<!-- args:\\n{\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n initPageSize: 5,\\n showPageSize: false,\\n showPageJumper: false,\\n showPageNumbers: true,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"paginator.behavior.gap\",\n \"paginator.behavior.textRole\",\n \"paginator.behavior.inputBorder\",\n \"paginator.behavior.inputBorderRadius\",\n \"paginator.behavior.pageBorderRadius\",\n \"paginator.behavior.currentPageBorder\",\n \"paginator.behavior.currentPageBorderRadius\"\n ]\n },\n {\n \"id\": \"popover\",\n \"name\": \"Popover\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-popover\",\n \"api\": [\n {\n \"name\": \"placement\",\n \"kind\": \"input\",\n \"type\": \"Placement\",\n \"required\": false,\n \"default\": \"'bottom'\",\n \"description\": \"\"\n },\n {\n \"name\": \"autoClose\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"Light-dismiss on outside click / Escape (native popover=\\\"auto\\\").\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-popover placement=\\\"${placement}\\\" [autoClose]=\\\"${autoClose}\\\" #popover>\\n <button text-button trigger>Open Popover</button>\\n <div stack-layout gap=\\\"sm\\\">\\n <div>\\n <span uni-text=\\\"title-small\\\" display=\\\"block\\\">\\n This is a Popover.\\n </span>\\n It is possible to add any markup you want to a Popover.\\n </div>\\n <div>\\n <button text-button symbolLeft=\\\"thumb_up\\\" size=\\\"sm\\\" variant=\\\"secondary\\\" (click)=\\\"popover.hidePopover()\\\">OK!</button>\\n </div>\\n </div>\\n</uni-popover>\\n<!-- args:\\n{\\n placement: 'right-start',\\n autoClose: true,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"progress-bar\",\n \"name\": \"ProgressBar\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-progress-bar\",\n \"api\": [\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"560\",\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"24\",\n \"description\": \"\"\n },\n {\n \"name\": \"percent\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"0\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name describing what is progressing (e.g. \\\"Upload progress\\\").\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-progress-bar percent=\\\"${percent}\\\" ${argsToTemplate(props)}></uni-progress-bar>\\n<!-- args:\\n{\\n percent: 60,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"progress-gauge\",\n \"name\": \"ProgressGauge\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-progress-gauge\",\n \"api\": [\n {\n \"name\": \"percent\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"0\",\n \"description\": \"\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name describing what is progressing.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-progress-gauge percent=\\\"${percent}\\\" variant=\\\"${variant}\\\" size=\\\"${size}\\\"></uni-progress-gauge>\\n<!-- args:\\n{\\n percent: 60,\\n size: 'lg',\\n variant: 'primary',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"radio\",\n \"name\": \"Radio\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-radio\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"options\",\n \"kind\": \"input\",\n \"type\": \"UniRadioOption[]\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"name\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"uniqueId('uni-radio-group')\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\\n<!-- args:\\n{\\n label: 'Select an option',\\n variant: 'primary',\\n disabled: false,\\n value: 'option1',\\n name: 'radio-group',\\n options: defaultOptions,\\n }\\n-->\"\n },\n {\n \"title\": \"Without Label\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Without Label -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\\n<!-- args:\\n{\\n label: '',\\n variant: 'primary',\\n disabled: false,\\n value: '',\\n name: 'radio-group',\\n options: defaultOptions,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\\n<!-- args:\\n{\\n label: 'Disabled radio group',\\n variant: 'primary',\\n disabled: true,\\n value: 'option1',\\n name: 'radio-group',\\n options: defaultOptions,\\n }\\n-->\"\n },\n {\n \"title\": \"With Disabled Options\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Disabled Options -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\\n<!-- args:\\n{\\n label: 'Some options disabled',\\n variant: 'primary',\\n disabled: false,\\n value: 'option1',\\n name: 'radio-group',\\n options: [\\n { label: 'Available Option', value: 'option1' },\\n { label: 'Disabled Option', value: 'option2', disabled: true },\\n { label: 'Another Available', value: 'option3' },\\n ],\\n }\\n-->\"\n },\n {\n \"title\": \"Variants\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Variants -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\"\n },\n {\n \"title\": \"With Change Event\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Change Event -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\"\n },\n {\n \"title\": \"Form Signals\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Form Signals -->\\n<uni-radio ${argsToTemplate(args)}></uni-radio>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"radio.behavior.size\",\n \"radio.behavior.ringColor\",\n \"radio.behavior.fillColor\"\n ]\n },\n {\n \"id\": \"ripple\",\n \"name\": \"Ripple\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"directives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uniRipple]\",\n \"api\": []\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"row\",\n \"name\": \"Row\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-row-layout], [row-layout]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'flex'\",\n \"description\": \"\"\n },\n {\n \"name\": \"flexDirection\",\n \"kind\": \"input\",\n \"type\": \"OptionalFlexDirection\",\n \"required\": false,\n \"default\": \"'row'\",\n \"description\": \"\"\n },\n {\n \"name\": \"minWidth\",\n \"kind\": \"input\",\n \"type\": \"number | string | undefined\",\n \"required\": false,\n \"default\": \"'fit-content'\",\n \"description\": \"Defaults to `fit-content` (guards content collapse). Set `[minWidth]=\\\"0\\\"` when the row must shrink inside a constrained flex parent (scroll or text truncation containment).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Button Row\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Button Row -->\\n<div row-layout ${argsToTemplate(props)}>\\n <button text-button>Button 1</button>\\n <button text-button>Button 2</button>\\n <button text-button>Button 3</button>\\n</div>\\n<!-- args:\\n{ gap: 'lg' }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"scroll-area\",\n \"name\": \"ScrollArea\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-scroll-area], [scroll-area]\",\n \"api\": [\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"ContainerColorToken\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"borderRadius\",\n \"kind\": \"input\",\n \"type\": \"Radius\",\n \"required\": false,\n \"default\": \"'sm'\",\n \"description\": \"\"\n },\n {\n \"name\": \"padding\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingHorizontal\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingVertical\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingLeft\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingRight\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingTop\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"paddingBottom\",\n \"kind\": \"input\",\n \"type\": \"OptionalSize\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"border\",\n \"kind\": \"input\",\n \"type\": \"Variant\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"OptionalValue\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"OptionalValue\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"appearance\",\n \"kind\": \"input\",\n \"type\": \"ScrollbarAppearance\",\n \"required\": false,\n \"default\": \"'compact'\",\n \"description\": \"\"\n },\n {\n \"name\": \"autoHeightDisabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"verticalScrollPadding\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"29\",\n \"description\": \"\"\n },\n {\n \"name\": \"scrollable\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div scroll-area ${argsToTemplate(props)} #scrollArea>\\n <button size=\\\"sm\\\" text-button variant=\\\"ghost\\\" symbolLeft=\\\"arrow_downward\\\" (click)=\\\"scrollArea.scrollToBottom()\\\">Scroll to bottom</button>\\n ${ngContent}\\n <button size=\\\"sm\\\" text-button variant=\\\"ghost\\\" symbolLeft=\\\"arrow_upward\\\" (click)=\\\"scrollArea.scrollToTop()\\\">Back to top</button>\\n</div>\\n<!-- args:\\n{\\n border: 'quaternary',\\n color: 'tertiary-surface',\\n height: 200,\\n ngContent: `\\n <span uni-text=\\\"headline-medium\\\">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span>\\n <span uni-text=\\\"body-1-long\\\">\\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis facere debitis ullam, quae quidem, impedit\\n culpa nam\\n repellat in voluptatibus esse ab harum, hic? Aliquam nesciunt voluptates repellendus assumenda labore.\\n </p>\\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro quos voluptate doloribus. Optio unde\\n inventore, tempore\\n nemo repellat expedita! Quod, accusamus nobis iure. Aliquam quibusdam, nemo explicabo ipsum provident\\n asperiores.</p>\\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, qui, rem! Debitis cum maiores iste,\\n possimus!\\n Obcaecati accusamus eaque expedita quo soluta quis, repudiandae similique, veritatis repellendus facere\\n suscipit!\\n Et!</p>\\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum doloremque repellat praesentium quae et\\n consectetur\\n iure quos porro, provident voluptates reprehenderit a. Accusamus ut, quaerat asperiores blanditiis\\n voluptate, sint\\n facilis.</p>\\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus beatae inventore nobis esse\\n temporibus\\n exercitationem\\n eos illo minima non magnam, provident sit doloribus maiores odio in animi quidem unde. Perferendis.</p>\\n\\n </span>\\n\\n\\n `,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"search-input\",\n \"name\": \"SearchInput\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-search-input\",\n \"api\": [\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Accessible name for the field, also the placeholder fallback.\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"string | number\",\n \"required\": false,\n \"default\": \"'100%'\",\n \"description\": \"\"\n },\n {\n \"name\": \"debounceTime\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"400\",\n \"description\": \"\"\n },\n {\n \"name\": \"suggestions\",\n \"kind\": \"input\",\n \"type\": \"string[]\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"Type-ahead entries. Keep them fresh from `change` emissions; the list shows while the field has focus and entries exist.\"\n },\n {\n \"name\": \"change\",\n \"kind\": \"output\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"search\",\n \"kind\": \"output\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"suggestionSelected\",\n \"kind\": \"output\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<div box-layout maxWidth=\\\"420px\\\">\\n<uni-search-input\\n label=\\\"Search the docs\\\"\\n [debounceTime]=\\\"200\\\"\\n [suggestions]=\\\"suggestions\\\"\\n (change)=\\\"filter($event)\\\"\\n (search)=\\\"log($event)\\\"\\n></uni-search-input>\\n</div>\\n<!-- args:\\n{ label: 'Search' }\\n-->\"\n },\n {\n \"title\": \"Type-ahead\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Type-ahead -->\\n<div box-layout maxWidth=\\\"420px\\\">\\n<uni-search-input\\n label=\\\"Search the docs\\\"\\n [debounceTime]=\\\"200\\\"\\n [suggestions]=\\\"suggestions\\\"\\n (change)=\\\"filter($event)\\\"\\n (search)=\\\"log($event)\\\"\\n></uni-search-input>\\n</div>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"select\",\n \"name\": \"Select\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-select\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"T | null\",\n \"required\": false,\n \"default\": \"null\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"options\",\n \"kind\": \"input\",\n \"type\": \"Options<T>\",\n \"required\": false,\n \"default\": \"[]\",\n \"description\": \"\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"ariaLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Accessible name for the select; a placeholder is not a label.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Select your country...',\\n options: [\\n { value: 'us', label: 'United States' },\\n { value: 'ca', label: 'Canada' },\\n { value: 'uk', label: 'United Kingdom' },\\n { value: 'au', label: 'Australia' },\\n ],\\n value: null,\\n disabled: false,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"With Value\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Value -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Select priority...',\\n options: [\\n { value: 'low', label: 'Low Priority' },\\n { value: 'medium', label: 'Medium Priority' },\\n { value: 'high', label: 'High Priority' },\\n { value: 'urgent', label: 'Urgent' },\\n ],\\n value: 'high',\\n disabled: false,\\n touched: true,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Cannot select...',\\n options: [\\n { value: 'option1', label: 'Option 1' },\\n { value: 'option2', label: 'Option 2' },\\n { value: 'option3', label: 'Option 3' },\\n ],\\n value: 'option2',\\n disabled: true,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Invalid\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Invalid -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Please select an option...',\\n options: [\\n { value: 'yes', label: 'Yes' },\\n { value: 'no', label: 'No' },\\n { value: 'maybe', label: 'Maybe' },\\n ],\\n value: null,\\n disabled: false,\\n touched: true,\\n invalid: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Many Options\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Many Options -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Select state or province...',\\n options: [\\n { value: 'al', label: 'Alabama' },\\n { value: 'ak', label: 'Alaska' },\\n { value: 'az', label: 'Arizona' },\\n { value: 'ar', label: 'Arkansas' },\\n { value: 'ca', label: 'California' },\\n { value: 'co', label: 'Colorado' },\\n { value: 'ct', label: 'Connecticut' },\\n { value: 'de', label: 'Delaware' },\\n { value: 'fl', label: 'Florida' },\\n { value: 'ga', label: 'Georgia' },\\n { value: 'hi', label: 'Hawaii' },\\n { value: 'id', label: 'Idaho' },\\n { value: 'il', label: 'Illinois' },\\n { value: 'in', label: 'Indiana' },\\n { value: 'ia', label: 'Iowa' },\\n ],\\n value: 'ca',\\n disabled: false,\\n touched: true,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Short Options\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Short Options -->\\n<uni-select ${argsToTemplate(props)}>\\n</uni-select>\\n<!-- args:\\n{\\n placeholder: 'Pick a size...',\\n options: [\\n { value: 'xs', label: 'XS' },\\n { value: 's', label: 'S' },\\n { value: 'm', label: 'M' },\\n { value: 'l', label: 'L' },\\n { value: 'xl', label: 'XL' },\\n ],\\n value: 'm',\\n disabled: false,\\n touched: false,\\n invalid: false,\\n dirty: false,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"skeleton\",\n \"name\": \"Skeleton\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-skeleton\",\n \"api\": [\n {\n \"name\": \"shape\",\n \"kind\": \"input\",\n \"type\": \"SkeletonShape\",\n \"required\": false,\n \"default\": \"'text'\",\n \"description\": \"\"\n },\n {\n \"name\": \"width\",\n \"kind\": \"input\",\n \"type\": \"string | number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"CSS width; defaults to 100% for text/rect and `height` for circles.\"\n },\n {\n \"name\": \"height\",\n \"kind\": \"input\",\n \"type\": \"string | number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"CSS height per block; defaults to 1em (text), 96px (rect), 40px (circle).\"\n },\n {\n \"name\": \"lines\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"1\",\n \"description\": \"Number of text lines (text shape only).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Text Lines\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Text Lines -->\\n<div box-layout maxWidth=\\\"360px\\\">\\n<uni-card>\\n <div row-layout gap=\\\"sm\\\" alignItems=\\\"center\\\" padding=\\\"md\\\">\\n <uni-skeleton shape=\\\"circle\\\" [height]=\\\"40\\\" />\\n <div box-layout [grow]=\\\"1\\\">\\n <uni-skeleton [lines]=\\\"2\\\" />\\n </div>\\n </div>\\n <div box-layout paddingHorizontal=\\\"md\\\" paddingBottom=\\\"md\\\">\\n <uni-skeleton shape=\\\"rect\\\" [height]=\\\"120\\\" />\\n </div>\\n</uni-card>\\n</div>\\n<!-- args:\\n{ shape: 'text', lines: 3 }\\n-->\"\n },\n {\n \"title\": \"Card Placeholder\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Card Placeholder -->\\n<div box-layout maxWidth=\\\"360px\\\">\\n<uni-card>\\n <div row-layout gap=\\\"sm\\\" alignItems=\\\"center\\\" padding=\\\"md\\\">\\n <uni-skeleton shape=\\\"circle\\\" [height]=\\\"40\\\" />\\n <div box-layout [grow]=\\\"1\\\">\\n <uni-skeleton [lines]=\\\"2\\\" />\\n </div>\\n </div>\\n <div box-layout paddingHorizontal=\\\"md\\\" paddingBottom=\\\"md\\\">\\n <uni-skeleton shape=\\\"rect\\\" [height]=\\\"120\\\" />\\n </div>\\n</uni-card>\\n</div>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"skeleton.behavior.color\",\n \"skeleton.behavior.highlightColor\",\n \"skeleton.behavior.borderRadius\",\n \"skeleton.behavior.animation\",\n \"skeleton.behavior.duration\",\n \"skeleton.behavior.gap\"\n ]\n },\n {\n \"id\": \"slider\",\n \"name\": \"Slider\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-slider\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"0\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered value or error text — exposed as aria-describedby.\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"min\",\n \"kind\": \"input\",\n \"type\": \"number | undefined\",\n \"required\": false,\n \"default\": \"0\",\n \"description\": \"\"\n },\n {\n \"name\": \"max\",\n \"kind\": \"input\",\n \"type\": \"number | undefined\",\n \"required\": false,\n \"default\": \"100\",\n \"description\": \"\"\n },\n {\n \"name\": \"step\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"1\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-slider ${argsToTemplate(props)}></uni-slider>\\n<!-- args:\\n{ label: 'Volume', value: 40 }\\n-->\"\n },\n {\n \"title\": \"Stepped Range\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Stepped Range -->\\n<uni-slider ${argsToTemplate(props)}></uni-slider>\\n<!-- args:\\n{ label: 'Opacity', min: 0, max: 1, step: 0.05, value: 0.6 }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-slider ${argsToTemplate(props)}></uni-slider>\\n<!-- args:\\n{ label: 'Brightness', value: 70, disabled: true }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"slider.behavior.color\",\n \"slider.behavior.trackColor\",\n \"slider.behavior.borderRadius\",\n \"slider.behavior.trackHeight\",\n \"slider.behavior.thumbSize\"\n ]\n },\n {\n \"id\": \"snackbar\",\n \"name\": \"Snackbar\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-snackbar\",\n \"api\": [\n {\n \"name\": \"show\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"Two-way bindable open state: [(show)].\"\n },\n {\n \"name\": \"iconName\",\n \"kind\": \"input\",\n \"type\": \"IconName\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"symbolName\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"timeout\",\n \"kind\": \"input\",\n \"type\": \"number | string | 'disabled'\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"actionLabel\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"useVariant\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"action\",\n \"kind\": \"output\",\n \"type\": \"unknown\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"showing\",\n \"kind\": \"output\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<button text-button (click)=\\\"snackbar.open()\\\">Show Snackbar</button>\\n<uni-snackbar #snackbar ${argsToTemplate(props)}>\\n ${ngContent}\\n</uni-snackbar>\\n<!-- args:\\n{\\n ngContent: 'The record has been removed.',\\n variant: 'warn',\\n actionLabel: 'undo',\\n timeout: '5000',\\n symbolName: 'delete_sweep',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"snackbar.behavior.bottomPosition\",\n \"snackbar.behavior.transitionDelay\",\n \"snackbar.behavior.autoCloseDelay\"\n ]\n },\n {\n \"id\": \"sort-header\",\n \"name\": \"SortHeader\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"data\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-sort-header\",\n \"api\": [\n {\n \"name\": \"column\",\n \"kind\": \"input\",\n \"type\": \"keyof T\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"datasource\",\n \"kind\": \"input\",\n \"type\": \"UniDatasource<T>\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<uni-sort-header [datasource]=\\\"datasource\\\" [column]=\\\"column\\\">\\n <span uni-text=\\\"title-small\\\">Name</span>\\n</uni-sort-header>\\n<div box-layout paddingTop=\\\"md\\\">\\n @for (record of datasource.records().slice(0, 5); track record.id) {\\n <div>{{ record.name }}</div>\\n }\\n</div>\\n<!-- args:\\n{\\n column: 'name',\\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"stack\",\n \"name\": \"Stack\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-stack-layout], [stack-layout]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'flex'\",\n \"description\": \"\"\n },\n {\n \"name\": \"flexDirection\",\n \"kind\": \"input\",\n \"type\": \"OptionalFlexDirection\",\n \"required\": false,\n \"default\": \"'column'\",\n \"description\": \"\"\n },\n {\n \"name\": \"minHeight\",\n \"kind\": \"input\",\n \"type\": \"number | string | undefined\",\n \"required\": false,\n \"default\": \"'fit-content'\",\n \"description\": \"Defaults to `fit-content` (guards content collapse). Set `[minHeight]=\\\"0\\\"` when the stack must shrink inside a constrained flex parent (scroll containment).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Stacked Cards\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Stacked Cards -->\\n<div stack-layout ${argsToTemplate(props)}>\\n <uni-card><uni-card-content><span uni-text>Card 1</span></uni-card-content></uni-card>\\n <uni-card><uni-card-content><span uni-text>Card 2</span></uni-card-content></uni-card>\\n <uni-card><uni-card-content><span uni-text>Card 3</span></uni-card-content></uni-card>\\n <uni-card><uni-card-content><span uni-text>Card 4</span></uni-card-content></uni-card>\\n <uni-card><uni-card-content><span uni-text>Card 5</span></uni-card-content></uni-card>\\n</div>\\n<!-- args:\\n{ gap: 'lg' }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"stat\",\n \"name\": \"Stat\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-stat\",\n \"api\": [\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"What is being measured, sentence case.\"\n },\n {\n \"name\": \"value\",\n \"kind\": \"input\",\n \"type\": \"string | number\",\n \"required\": true,\n \"description\": \"The headline number: strings render verbatim, numbers auto-compact.\"\n },\n {\n \"name\": \"delta\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Signed change, e.g. \\\"+12.4%\\\" or \\\"-0.4%\\\". The sign drives the arrow.\"\n },\n {\n \"name\": \"upIsGood\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"true\",\n \"description\": \"Whether an upward movement is good news. Flip for churn, errors, cost.\"\n },\n {\n \"name\": \"caption\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Names the comparison period, e.g. \\\"vs last month\\\".\"\n },\n {\n \"name\": \"trend\",\n \"kind\": \"input\",\n \"type\": \"number[] | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"Recent values for the decorative sparkline (12 points reads best).\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-stat ${argsToTemplate(props)}></uni-stat>\\n<!-- args:\\n{\\n label: 'Monthly recurring revenue',\\n value: '$48.2K',\\n delta: '+12.4%',\\n caption: 'vs last month',\\n trend: [31, 34, 33, 38, 37, 41, 40, 44, 43, 46, 47, 48],\\n }\\n-->\"\n },\n {\n \"title\": \"Down is good (churn)\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Down is good (churn) -->\\n<uni-stat ${argsToTemplate(props)}></uni-stat>\\n<!-- args:\\n{\\n label: 'Churn rate',\\n value: '2.1%',\\n delta: '-0.4%',\\n upIsGood: false,\\n caption: 'vs last month',\\n trend: [3.2, 3.1, 3.0, 2.8, 2.9, 2.7, 2.6, 2.4, 2.5, 2.3, 2.2, 2.1],\\n }\\n-->\"\n },\n {\n \"title\": \"KPI row\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: KPI row -->\\n<uni-stat ${argsToTemplate(props)}></uni-stat>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"stat.behavior.labelTypeface\",\n \"stat.behavior.valueTypeface\",\n \"stat.behavior.color\",\n \"stat.behavior.border\",\n \"stat.behavior.borderRadius\",\n \"stat.behavior.positiveColor\",\n \"stat.behavior.negativeColor\",\n \"stat.behavior.trendColor\",\n \"stat.behavior.trendAccent\",\n \"stat.behavior.padding\",\n \"stat.behavior.gap\"\n ]\n },\n {\n \"id\": \"symbol\",\n \"name\": \"Symbol\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-symbol\",\n \"api\": [\n {\n \"name\": \"name\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"fill\",\n \"kind\": \"input\",\n \"type\": \"SymbolFill\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"weight\",\n \"kind\": \"input\",\n \"type\": \"SymbolWeight\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"grade\",\n \"kind\": \"input\",\n \"type\": \"SymbolGrade\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"opticalSize\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<!-- args:\\n{\\n name: 'settings',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"symbol.behavior.fill\",\n \"symbol.behavior.weight\",\n \"symbol.behavior.grade\",\n \"symbol.behavior.opticalSize\"\n ]\n },\n {\n \"id\": \"tab\",\n \"name\": \"Tab\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-tab\",\n \"api\": [\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"tabs\",\n \"name\": \"Tabs\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"components\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-tabs\",\n \"api\": [\n {\n \"name\": \"selectedIndex\",\n \"kind\": \"model\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"0\",\n \"description\": \"Index of the selected tab; two-way bindable.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-tabs [selectedIndex]=\\\"selectedIndex ?? 0\\\">\\n<uni-tab label=\\\"Overview\\\">\\n <span uni-text=\\\"body-1-long\\\">\\n Arrow keys move between tabs (disabled tabs are skipped), Home and End jump\\n to the extremes, and only the selected panel is rendered.\\n </span>\\n</uni-tab>\\n<uni-tab label=\\\"Activity\\\">\\n <span uni-text=\\\"body-1-long\\\">Recent activity would render here.</span>\\n</uni-tab>\\n<uni-tab label=\\\"Settings\\\">\\n <span uni-text=\\\"body-1-long\\\">Settings content, instantiated on selection.</span>\\n</uni-tab>\\n</uni-tabs>\"\n },\n {\n \"title\": \"With Disabled Tab\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Disabled Tab -->\\n<uni-tabs [selectedIndex]=\\\"selectedIndex ?? 0\\\">\\n<uni-tab label=\\\"Overview\\\">\\n <span uni-text=\\\"body-1-long\\\">\\n Arrow keys move between tabs (disabled tabs are skipped), Home and End jump\\n to the extremes, and only the selected panel is rendered.\\n </span>\\n</uni-tab>\\n<uni-tab label=\\\"Activity\\\">\\n <span uni-text=\\\"body-1-long\\\">Recent activity would render here.</span>\\n</uni-tab>\\n<uni-tab label=\\\"Settings\\\">\\n <span uni-text=\\\"body-1-long\\\">Settings content, instantiated on selection.</span>\\n</uni-tab>\\n</uni-tabs>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"tabs.behavior.typeface\",\n \"tabs.behavior.textColor\",\n \"tabs.behavior.activeTextColor\",\n \"tabs.behavior.indicatorColor\",\n \"tabs.behavior.indicatorThickness\",\n \"tabs.behavior.divider\",\n \"tabs.behavior.gap\",\n \"tabs.behavior.borderRadius\",\n \"tabs.behavior.padding\"\n ]\n },\n {\n \"id\": \"tag\",\n \"name\": \"Tag\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"data\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-tag\",\n \"api\": [\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"value\",\n \"kind\": \"input\",\n \"type\": \"string | number\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"close\",\n \"kind\": \"output\",\n \"type\": \"string | number\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<!-- args:\\n{\\n label: 'Primary Tag',\\n value: '1',\\n }\\n-->\"\n },\n {\n \"title\": \"Numeric Value\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Numeric Value -->\\n<!-- args:\\n{\\n label: 'Numeric Tag',\\n value: 42,\\n }\\n-->\"\n },\n {\n \"title\": \"Long Label\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Long Label -->\\n<!-- args:\\n{\\n label: 'This is a very long tag label that might need truncation',\\n value: 'long',\\n }\\n-->\"\n },\n {\n \"title\": \"Without Value\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Without Value -->\\n<!-- args:\\n{\\n label: 'Tag without value',\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"text\",\n \"name\": \"Text\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-text]\",\n \"api\": [\n {\n \"name\": \"uniText\",\n \"kind\": \"input\",\n \"type\": \"Typeface | ''\",\n \"required\": false,\n \"default\": \"'', { alias: 'uni-text' }\",\n \"description\": \"Typeface via the selector attribute: `uni-text=\\\"headline-large\\\"`.\"\n },\n {\n \"name\": \"typeface\",\n \"kind\": \"input\",\n \"type\": \"Typeface | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"Explicit typeface; the attribute value wins when both are set.\"\n },\n {\n \"name\": \"color\",\n \"kind\": \"input\",\n \"type\": \"ColorKey\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"align\",\n \"kind\": \"input\",\n \"type\": \"OptionalTextAlign\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"nowrap\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"maxWidth\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"\"\n },\n {\n \"name\": \"ellipsis\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Value shorthand\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Value shorthand -->\\n<div stack-layout gap=\\\"sm\\\">\\n<span uni-text=\\\"display-small\\\" display=\\\"block\\\">Display small</span>\\n<span uni-text=\\\"headline-medium\\\" display=\\\"block\\\">Headline medium</span>\\n<span uni-text=\\\"body-1-long\\\" display=\\\"block\\\">\\n Body copy set with uni-text=\\\"body-1-long\\\" — the attribute value is the typeface.\\n</span>\\n<span uni-text=\\\"caption\\\" color=\\\"on-background-variant\\\" display=\\\"block\\\">\\n A caption in the muted ink.\\n</span>\\n</div>\"\n },\n {\n \"title\": \"Element-aware defaults\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Element-aware defaults -->\\n<div stack-layout gap=\\\"sm\\\">\\n<span uni-text=\\\"display-small\\\" display=\\\"block\\\">Display small</span>\\n<span uni-text=\\\"headline-medium\\\" display=\\\"block\\\">Headline medium</span>\\n<span uni-text=\\\"body-1-long\\\" display=\\\"block\\\">\\n Body copy set with uni-text=\\\"body-1-long\\\" — the attribute value is the typeface.\\n</span>\\n<span uni-text=\\\"caption\\\" color=\\\"on-background-variant\\\" display=\\\"block\\\">\\n A caption in the muted ink.\\n</span>\\n</div>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"textarea\",\n \"name\": \"Textarea\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-textarea\",\n \"api\": [\n {\n \"name\": \"value\",\n \"kind\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"placeholder\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"default\": \"''\",\n \"description\": \"\"\n },\n {\n \"name\": \"rows\",\n \"kind\": \"input\",\n \"type\": \"number | undefined\",\n \"required\": false,\n \"default\": \"undefined\",\n \"description\": \"Visible text rows. Defaults to the theme's `textarea` options.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-textarea ${argsToTemplate(props)}>\\n</uni-textarea>\\n<!-- args:\\n{ label: 'Message', placeholder: 'Tell us everything…' }\\n-->\"\n },\n {\n \"title\": \"Prefilled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Prefilled -->\\n<uni-textarea ${argsToTemplate(props)}>\\n</uni-textarea>\\n<!-- args:\\n{\\n label: 'Bio',\\n value: 'Design systems engineer.\\\\nOKLCH enthusiast.',\\n rows: 5,\\n }\\n-->\"\n },\n {\n \"title\": \"Invalid\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Invalid -->\\n<uni-textarea ${argsToTemplate(props)}>\\n</uni-textarea>\\n<!-- args:\\n{\\n label: 'Feedback',\\n placeholder: 'Required',\\n invalid: true,\\n touched: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-textarea ${argsToTemplate(props)}>\\n</uni-textarea>\\n<!-- args:\\n{ label: 'Notes', value: 'Read-only content', disabled: true }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"textarea.behavior.rows\",\n \"textarea.behavior.resize\"\n ]\n },\n {\n \"id\": \"theme-builder\",\n \"name\": \"ThemeBuilder\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"primitives\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-theme-builder\",\n \"api\": []\n }\n },\n \"examples\": [\n {\n \"title\": \"Builder\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Builder -->\\n<uni-theme-builder />\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n },\n {\n \"id\": \"toggle\",\n \"name\": \"Toggle\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"forms\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-toggle\",\n \"api\": [\n {\n \"name\": \"checked\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"disabled\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"touched\",\n \"kind\": \"model\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"invalid\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"dirty\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"required\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"Synced from required() validators by the Signal Forms [field] directive.\"\n },\n {\n \"name\": \"ariaDescribedBy\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Id(s) of external element(s) describing this control — typically your app-rendered error message — exposed as aria-describedby.\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Default\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Default -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\\n<!-- args:\\n{\\n label: 'Enable notifications',\\n variant: 'primary',\\n disabled: false,\\n checked: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Without Label\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Without Label -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\\n<!-- args:\\n{\\n label: '',\\n variant: 'primary',\\n disabled: false,\\n }\\n-->\"\n },\n {\n \"title\": \"Disabled\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Disabled -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\\n<!-- args:\\n{\\n label: 'Disabled toggle',\\n variant: 'primary',\\n disabled: true,\\n }\\n-->\"\n },\n {\n \"title\": \"Variants\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Variants -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\"\n },\n {\n \"title\": \"With Change Event\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: With Change Event -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\"\n },\n {\n \"title\": \"Form Signals\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Form Signals -->\\n<uni-toggle ${argsToTemplate(args)}></uni-toggle>\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"toggle.behavior.size\",\n \"toggle.behavior.trackColor\",\n \"toggle.behavior.knobColor\"\n ]\n },\n {\n \"id\": \"tooltip\",\n \"name\": \"Tooltip\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"feedback\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"uni-tooltip\",\n \"api\": [\n {\n \"name\": \"hoverDelay\",\n \"kind\": \"input\",\n \"type\": \"number\",\n \"required\": false,\n \"default\": \"500\",\n \"description\": \"\"\n },\n {\n \"name\": \"label\",\n \"kind\": \"input\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"\"\n },\n {\n \"name\": \"placement\",\n \"kind\": \"input\",\n \"type\": \"Placement\",\n \"required\": false,\n \"default\": \"'top'\",\n \"description\": \"\"\n },\n {\n \"name\": \"inlineText\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"\"\n },\n {\n \"name\": \"appendToBody\",\n \"kind\": \"input\",\n \"type\": \"boolean\",\n \"required\": false,\n \"default\": \"false\",\n \"description\": \"@deprecated The tooltip renders in the native top layer; ignored.\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\\n<span uni-text>Here is some text with a <uni-tooltip ${argsToTemplate(props)}>tooltip</uni-tooltip> in the middle.\\n</span>\\n<!-- args:\\n{\\n label: 'Bottom-start tooltip',\\n placement: 'bottom-start',\\n inlineText: true,\\n }\\n-->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": [\n \"tooltip.behavior.borderRadius\",\n \"tooltip.behavior.shadow\",\n \"tooltip.behavior.color\",\n \"tooltip.behavior.typeface\"\n ]\n },\n {\n \"id\": \"wrap\",\n \"name\": \"Wrap\",\n \"status\": \"stable\",\n \"summary\": \"\",\n \"description\": \"\",\n \"category\": \"layout\",\n \"version\": \"6.0.0\",\n \"bindings\": {\n \"angular\": {\n \"importPath\": \"@uni-design-system/uni-angular\",\n \"selectorOrTag\": \"[uni-wrap-layout], [wrap-layout]\",\n \"api\": [\n {\n \"name\": \"display\",\n \"kind\": \"input\",\n \"type\": \"OptionalDisplay\",\n \"required\": false,\n \"default\": \"'flex'\",\n \"description\": \"\"\n },\n {\n \"name\": \"wrapItems\",\n \"kind\": \"input\",\n \"type\": \"OptionalWrap\",\n \"required\": false,\n \"default\": \"'wrap'\",\n \"description\": \"\"\n }\n ]\n }\n },\n \"examples\": [\n {\n \"title\": \"Primary\",\n \"framework\": \"angular\",\n \"code\": \"<!-- Storybook story: Primary -->\"\n }\n ],\n \"guidelines\": {\n \"whenToUse\": \"\",\n \"dos\": [],\n \"donts\": [],\n \"accessibility\": []\n },\n \"relatedTokens\": []\n }\n ],\n \"tokens\": [\n {\n \"id\": \"color.primary\",\n \"value\": \"#6A6F8F\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#6A6F8F\",\n \"DarkTheme\": \"#AFB5D8\"\n }\n },\n {\n \"id\": \"color.on-primary\",\n \"value\": \"#F9FAFF\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F9FAFF\",\n \"DarkTheme\": \"#11132C\"\n }\n },\n {\n \"id\": \"color.primary-container\",\n \"value\": \"#DBDDEA\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#DBDDEA\",\n \"DarkTheme\": \"#4A4C57\"\n }\n },\n {\n \"id\": \"color.on-primary-container\",\n \"value\": \"#1A1C37\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#1A1C37\",\n \"DarkTheme\": \"#F9FAFF\"\n }\n },\n {\n \"id\": \"color.on-primary-container-variant\",\n \"value\": \"#5B5D68\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#5B5D68\",\n \"DarkTheme\": \"#BCBECB\"\n }\n },\n {\n \"id\": \"color.on-primary-container-border\",\n \"value\": \"#6A6F8F\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#6A6F8F\",\n \"DarkTheme\": \"#AFB5D8\"\n }\n },\n {\n \"id\": \"color.primary-surface\",\n \"value\": \"#F3F5FD\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F3F5FD\",\n \"DarkTheme\": \"#22242A\"\n }\n },\n {\n \"id\": \"color.on-primary-surface\",\n \"value\": \"#1E1F25\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#1E1F25\",\n \"DarkTheme\": \"#F9FAFF\"\n }\n },\n {\n \"id\": \"color.on-primary-surface-variant\",\n \"value\": \"#6A6F8F\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#6A6F8F\",\n \"DarkTheme\": \"#AFB5D8\"\n }\n },\n {\n \"id\": \"color.secondary\",\n \"value\": \"#8C685D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#8C685D\",\n \"DarkTheme\": \"#D5ADA1\"\n }\n },\n {\n \"id\": \"color.on-secondary\",\n \"value\": \"#FFF8F6\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FFF8F6\",\n \"DarkTheme\": \"#280C05\"\n }\n },\n {\n \"id\": \"color.secondary-container\",\n \"value\": \"#E9DAD6\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#E9DAD6\",\n \"DarkTheme\": \"#564A46\"\n }\n },\n {\n \"id\": \"color.on-secondary-container\",\n \"value\": \"#33160D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#33160D\",\n \"DarkTheme\": \"#FFF8F7\"\n }\n },\n {\n \"id\": \"color.on-secondary-container-variant\",\n \"value\": \"#675A57\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#675A57\",\n \"DarkTheme\": \"#CABCB7\"\n }\n },\n {\n \"id\": \"color.on-secondary-container-border\",\n \"value\": \"#8C685D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#8C685D\",\n \"DarkTheme\": \"#D5ADA1\"\n }\n },\n {\n \"id\": \"color.secondary-surface\",\n \"value\": \"#FDF3EF\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FDF3EF\",\n \"DarkTheme\": \"#292220\"\n }\n },\n {\n \"id\": \"color.on-secondary-surface\",\n \"value\": \"#251D1B\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#251D1B\",\n \"DarkTheme\": \"#FFF8F7\"\n }\n },\n {\n \"id\": \"color.on-secondary-surface-variant\",\n \"value\": \"#8C685D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#8C685D\",\n \"DarkTheme\": \"#D5ADA1\"\n }\n },\n {\n \"id\": \"color.tertiary\",\n \"value\": \"#597B66\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#597B66\",\n \"DarkTheme\": \"#9EC2AB\"\n }\n },\n {\n \"id\": \"color.on-tertiary\",\n \"value\": \"#F0FFF5\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F0FFF5\",\n \"DarkTheme\": \"#001C0D\"\n }\n },\n {\n \"id\": \"color.tertiary-container\",\n \"value\": \"#D5E2D9\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#D5E2D9\",\n \"DarkTheme\": \"#465049\"\n }\n },\n {\n \"id\": \"color.on-tertiary-container\",\n \"value\": \"#052615\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#052615\",\n \"DarkTheme\": \"#F0FFF5\"\n }\n },\n {\n \"id\": \"color.on-tertiary-container-variant\",\n \"value\": \"#56615A\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#56615A\",\n \"DarkTheme\": \"#B7C3BB\"\n }\n },\n {\n \"id\": \"color.on-tertiary-container-border\",\n \"value\": \"#597B66\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#597B66\",\n \"DarkTheme\": \"#9EC2AB\"\n }\n },\n {\n \"id\": \"color.tertiary-surface\",\n \"value\": \"#EFF8F2\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#EFF8F2\",\n \"DarkTheme\": \"#1F2622\"\n }\n },\n {\n \"id\": \"color.on-tertiary-surface\",\n \"value\": \"#1B211D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#1B211D\",\n \"DarkTheme\": \"#F4FDF7\"\n }\n },\n {\n \"id\": \"color.on-tertiary-surface-variant\",\n \"value\": \"#557762\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#557762\",\n \"DarkTheme\": \"#9EC2AB\"\n }\n },\n {\n \"id\": \"color.quaternary\",\n \"value\": \"#61636A\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#61636A\",\n \"DarkTheme\": \"#A2A4AC\"\n }\n },\n {\n \"id\": \"color.on-quaternary\",\n \"value\": \"#F9FAFF\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F9FAFF\",\n \"DarkTheme\": \"#15161C\"\n }\n },\n {\n \"id\": \"color.quaternary-surface\",\n \"value\": \"#F3F5FD\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F3F5FD\",\n \"DarkTheme\": \"#22242A\"\n }\n },\n {\n \"id\": \"color.on-quaternary-surface\",\n \"value\": \"#1E1F25\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#1E1F25\",\n \"DarkTheme\": \"#F9FAFF\"\n }\n },\n {\n \"id\": \"color.on-quaternary-surface-variant\",\n \"value\": \"#6A6F8F\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#6A6F8F\",\n \"DarkTheme\": \"#AFB5D8\"\n }\n },\n {\n \"id\": \"color.on-quaternary-container-variant\",\n \"value\": \"#5B5D68\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#5B5D68\",\n \"DarkTheme\": \"#AEB0BD\"\n }\n },\n {\n \"id\": \"color.on-quaternary-container-border\",\n \"value\": \"#61636A\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#61636A\",\n \"DarkTheme\": \"#A2A4AC\"\n }\n },\n {\n \"id\": \"color.error\",\n \"value\": \"#CC2827\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#CC2827\",\n \"DarkTheme\": \"#FF968A\"\n }\n },\n {\n \"id\": \"color.on-error\",\n \"value\": \"#FFF8F7\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FFF8F7\",\n \"DarkTheme\": \"#290B09\"\n }\n },\n {\n \"id\": \"color.error-container\",\n \"value\": \"#FFD2CC\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FFD2CC\",\n \"DarkTheme\": \"#69413C\"\n }\n },\n {\n \"id\": \"color.on-error-container\",\n \"value\": \"#331512\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#331512\",\n \"DarkTheme\": \"#FFF8F7\"\n }\n },\n {\n \"id\": \"color.warn\",\n \"value\": \"#AC5700\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#AC5700\",\n \"DarkTheme\": \"#FF9B51\"\n }\n },\n {\n \"id\": \"color.on-warn\",\n \"value\": \"#FFF9F5\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FFF9F5\",\n \"DarkTheme\": \"#270E00\"\n }\n },\n {\n \"id\": \"color.warn-container\",\n \"value\": \"#FDD5BA\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FDD5BA\",\n \"DarkTheme\": \"#66442E\"\n }\n },\n {\n \"id\": \"color.on-warn-container\",\n \"value\": \"#311805\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#311805\",\n \"DarkTheme\": \"#FFF9F5\"\n }\n },\n {\n \"id\": \"color.on-warn-container-variant\",\n \"value\": \"#78543C\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#78543C\",\n \"DarkTheme\": \"#DFB69B\"\n }\n },\n {\n \"id\": \"color.on-warn-container-border\",\n \"value\": \"#AC5700\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#AC5700\",\n \"DarkTheme\": \"#FF9B51\"\n }\n },\n {\n \"id\": \"color.success\",\n \"value\": \"#008341\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#008341\",\n \"DarkTheme\": \"#59D483\"\n }\n },\n {\n \"id\": \"color.on-success\",\n \"value\": \"#F1FEF4\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F1FEF4\",\n \"DarkTheme\": \"#011C0A\"\n }\n },\n {\n \"id\": \"color.success-container\",\n \"value\": \"#C3EACC\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#C3EACC\",\n \"DarkTheme\": \"#34563D\"\n }\n },\n {\n \"id\": \"color.on-success-container\",\n \"value\": \"#092613\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#092613\",\n \"DarkTheme\": \"#F1FEF4\"\n }\n },\n {\n \"id\": \"color.on-success-container-variant\",\n \"value\": \"#43684D\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#43684D\",\n \"DarkTheme\": \"#A3CBAD\"\n }\n },\n {\n \"id\": \"color.on-success-container-border\",\n \"value\": \"#008341\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#008341\",\n \"DarkTheme\": \"#59D483\"\n }\n },\n {\n \"id\": \"color.background\",\n \"value\": \"#FDFDFF\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#FDFDFF\",\n \"DarkTheme\": \"#101117\"\n }\n },\n {\n \"id\": \"color.on-background\",\n \"value\": \"#202127\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#202127\",\n \"DarkTheme\": \"#E5E7F0\"\n }\n },\n {\n \"id\": \"color.on-background-variant\",\n \"value\": \"#5C5D65\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#5C5D65\",\n \"DarkTheme\": \"#AFB0B9\"\n }\n },\n {\n \"id\": \"color.surface\",\n \"value\": \"#F9FAFF\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F9FAFF\",\n \"DarkTheme\": \"#17181E\"\n }\n },\n {\n \"id\": \"color.on-surface\",\n \"value\": \"#202127\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#202127\",\n \"DarkTheme\": \"#E5E7F0\"\n }\n },\n {\n \"id\": \"color.surface-variant\",\n \"value\": \"#E9EBF3\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#E9EBF3\",\n \"DarkTheme\": \"#313239\"\n }\n },\n {\n \"id\": \"color.on-surface-variant\",\n \"value\": \"#36373E\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#36373E\",\n \"DarkTheme\": \"#AFB0B9\"\n }\n },\n {\n \"id\": \"color.inverse-surface\",\n \"value\": \"#2C2D34\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#2C2D34\",\n \"DarkTheme\": \"#E5E7F0\"\n }\n },\n {\n \"id\": \"color.on-inverse-surface\",\n \"value\": \"#F3F5FD\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F3F5FD\",\n \"DarkTheme\": \"#202127\"\n }\n },\n {\n \"id\": \"color.on-inverse-surface-primary\",\n \"value\": \"#8D93B4\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#8D93B4\",\n \"DarkTheme\": \"#5F6483\"\n }\n },\n {\n \"id\": \"color.on-inverse-surface-variant\",\n \"value\": \"#8D93B4\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#8D93B4\",\n \"DarkTheme\": \"#5F6483\"\n }\n },\n {\n \"id\": \"color.inverse-container\",\n \"value\": \"#2C2D34\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#2C2D34\",\n \"DarkTheme\": \"#E5E7F0\"\n }\n },\n {\n \"id\": \"color.on-inverse-container\",\n \"value\": \"#F3F5FD\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#F3F5FD\",\n \"DarkTheme\": \"#202127\"\n }\n },\n {\n \"id\": \"color.outline\",\n \"value\": \"#7E8088\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#7E8088\",\n \"DarkTheme\": \"#90929A\"\n }\n },\n {\n \"id\": \"color.shadow\",\n \"value\": \"#000000\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#000000\",\n \"DarkTheme\": \"#000000\"\n }\n },\n {\n \"id\": \"color.scrim\",\n \"value\": \"#000000\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#000000\",\n \"DarkTheme\": \"#000000\"\n }\n },\n {\n \"id\": \"color.surface-tint\",\n \"value\": \"#6A6F8F\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#6A6F8F\",\n \"DarkTheme\": \"#AFB5D8\"\n }\n },\n {\n \"id\": \"color.transparent\",\n \"value\": \"rgba(0,0,0,0)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0)\",\n \"DarkTheme\": \"rgba(0,0,0,0)\"\n }\n },\n {\n \"id\": \"color.ghost\",\n \"value\": \"rgba(0,0,0,0)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0)\",\n \"DarkTheme\": \"rgba(0,0,0,0)\"\n }\n },\n {\n \"id\": \"color.disabled\",\n \"value\": \"rgba(0,0,0,0.12)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.12)\",\n \"DarkTheme\": \"rgba(255,255,255,0.12)\"\n }\n },\n {\n \"id\": \"color.on-disabled\",\n \"value\": \"rgba(0,0,0,0.38)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.38)\",\n \"DarkTheme\": \"rgba(255,255,255,0.38)\"\n }\n },\n {\n \"id\": \"color.disabled-container\",\n \"value\": \"#EFF1FA\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"#EFF1FA\",\n \"DarkTheme\": \"#2C2D34\"\n }\n },\n {\n \"id\": \"color.on-disabled-container\",\n \"value\": \"rgba(0,0,0,0.38)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.38)\",\n \"DarkTheme\": \"rgba(255,255,255,0.38)\"\n }\n },\n {\n \"id\": \"color.disabled-surface\",\n \"value\": \"rgba(0,0,0,0.12)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.12)\",\n \"DarkTheme\": \"rgba(255,255,255,0.12)\"\n }\n },\n {\n \"id\": \"color.on-disabled-surface\",\n \"value\": \"rgba(0,0,0,0.5)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.5)\",\n \"DarkTheme\": \"rgba(255,255,255,0.5)\"\n }\n },\n {\n \"id\": \"color.on-disabled-surface-variant\",\n \"value\": \"rgba(0,0,0,0.4)\",\n \"type\": \"color\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(0,0,0,0.4)\",\n \"DarkTheme\": \"rgba(255,255,255,0.4)\"\n }\n },\n {\n \"id\": \"radius.none\",\n \"value\": \"none\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"none\",\n \"DarkTheme\": \"none\"\n }\n },\n {\n \"id\": \"radius.xxs\",\n \"value\": \"4px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"4px\",\n \"DarkTheme\": \"4px\"\n }\n },\n {\n \"id\": \"radius.xs\",\n \"value\": \"8px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"8px\",\n \"DarkTheme\": \"8px\"\n }\n },\n {\n \"id\": \"radius.sm\",\n \"value\": \"16px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"16px\",\n \"DarkTheme\": \"16px\"\n }\n },\n {\n \"id\": \"radius.md\",\n \"value\": \"24px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"24px\",\n \"DarkTheme\": \"24px\"\n }\n },\n {\n \"id\": \"radius.lg\",\n \"value\": \"32px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"32px\",\n \"DarkTheme\": \"32px\"\n }\n },\n {\n \"id\": \"radius.max\",\n \"value\": \"999px\",\n \"type\": \"radius\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"999px\",\n \"DarkTheme\": \"999px\"\n }\n },\n {\n \"id\": \"spacing.none\",\n \"value\": \"none\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"none\",\n \"DarkTheme\": \"none\"\n }\n },\n {\n \"id\": \"spacing.xxs\",\n \"value\": \"2px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"2px\",\n \"DarkTheme\": \"2px\"\n }\n },\n {\n \"id\": \"spacing.xs\",\n \"value\": \"4px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"4px\",\n \"DarkTheme\": \"4px\"\n }\n },\n {\n \"id\": \"spacing.sm\",\n \"value\": \"8px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"8px\",\n \"DarkTheme\": \"8px\"\n }\n },\n {\n \"id\": \"spacing.md\",\n \"value\": \"16px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"16px\",\n \"DarkTheme\": \"16px\"\n }\n },\n {\n \"id\": \"spacing.lg\",\n \"value\": \"32px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"32px\",\n \"DarkTheme\": \"32px\"\n }\n },\n {\n \"id\": \"spacing.xl\",\n \"value\": \"64px\",\n \"type\": \"spacing\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"64px\",\n \"DarkTheme\": \"64px\"\n }\n },\n {\n \"id\": \"border.primary\",\n \"value\": \"1px solid #6A6F8F\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #6A6F8F\",\n \"DarkTheme\": \"1px solid #AFB5D8\"\n }\n },\n {\n \"id\": \"border.secondary\",\n \"value\": \"1px solid #8C685D\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #8C685D\",\n \"DarkTheme\": \"1px solid #D5ADA1\"\n }\n },\n {\n \"id\": \"border.tertiary\",\n \"value\": \"1px solid #597B66\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #597B66\",\n \"DarkTheme\": \"1px solid #9EC2AB\"\n }\n },\n {\n \"id\": \"border.quaternary\",\n \"value\": \"1px solid #61636A\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #61636A\",\n \"DarkTheme\": \"1px solid #A2A4AC\"\n }\n },\n {\n \"id\": \"border.warn\",\n \"value\": \"1px solid #AC5700\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #AC5700\",\n \"DarkTheme\": \"1px solid #FF9B51\"\n }\n },\n {\n \"id\": \"border.success\",\n \"value\": \"1px solid #008341\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #008341\",\n \"DarkTheme\": \"1px solid #59D483\"\n }\n },\n {\n \"id\": \"border.light\",\n \"value\": \"1px solid #7E8088\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #7E8088\",\n \"DarkTheme\": \"1px solid #90929A\"\n }\n },\n {\n \"id\": \"border.dark\",\n \"value\": \"1px solid #202127\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px solid #202127\",\n \"DarkTheme\": \"1px solid #E5E7F0\"\n }\n },\n {\n \"id\": \"border.dotted\",\n \"value\": \"1px dotted #202127\",\n \"type\": \"border\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"1px dotted #202127\",\n \"DarkTheme\": \"1px dotted #E5E7F0\"\n }\n },\n {\n \"id\": \"shadow.raised\",\n \"value\": \"rgba(23, 25, 43, 0.2) 0px 2px 1px -1px, rgba(23, 25, 43, 0.14) 0px 1px 1px 0px, rgba(23, 25, 43, 0.12) 0px 1px 3px 0px\",\n \"type\": \"shadow\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(23, 25, 43, 0.2) 0px 2px 1px -1px, rgba(23, 25, 43, 0.14) 0px 1px 1px 0px, rgba(23, 25, 43, 0.12) 0px 1px 3px 0px\",\n \"DarkTheme\": \"none\"\n }\n },\n {\n \"id\": \"shadow.menu\",\n \"value\": \"rgba(23, 25, 43, 0.2) 0px 3px 3px -2px, rgba(23, 25, 43, 0.14) 0px 3px 4px 0px, rgba(23, 25, 43, 0.12) 0px 1px 8px 0px\",\n \"type\": \"shadow\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(23, 25, 43, 0.2) 0px 3px 3px -2px, rgba(23, 25, 43, 0.14) 0px 3px 4px 0px, rgba(23, 25, 43, 0.12) 0px 1px 8px 0px\",\n \"DarkTheme\": \"0px 4px 12px rgba(0, 0, 0, 0.45)\"\n }\n },\n {\n \"id\": \"shadow.dialog\",\n \"value\": \"rgba(23, 25, 43, 0.2) 0px 3px 5px -1px, rgba(23, 25, 43, 0.14) 0px 6px 10px 0px, rgba(23, 25, 43, 0.12) 0px 1px 18px 0px\",\n \"type\": \"shadow\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"rgba(23, 25, 43, 0.2) 0px 3px 5px -1px, rgba(23, 25, 43, 0.14) 0px 6px 10px 0px, rgba(23, 25, 43, 0.12) 0px 1px 18px 0px\",\n \"DarkTheme\": \"0px 8px 28px rgba(0, 0, 0, 0.55)\"\n }\n },\n {\n \"id\": \"shadow.warn\",\n \"value\": \"0 0 5px rgba(204, 40, 39, 0.5), inset 0 0 5px rgba(204, 40, 39, 0.3)\",\n \"type\": \"shadow\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"0 0 5px rgba(204, 40, 39, 0.5), inset 0 0 5px rgba(204, 40, 39, 0.3)\",\n \"DarkTheme\": \"0 0 5px rgba(255, 150, 138, 0.55), inset 0 0 5px rgba(255, 150, 138, 0.35)\"\n }\n },\n {\n \"id\": \"thickness.thin\",\n \"value\": 1,\n \"type\": \"thickness\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": 1,\n \"DarkTheme\": 1\n }\n },\n {\n \"id\": \"thickness.standard\",\n \"value\": 2,\n \"type\": \"thickness\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": 2,\n \"DarkTheme\": 2\n }\n },\n {\n \"id\": \"thickness.thick\",\n \"value\": 4,\n \"type\": \"thickness\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": 4,\n \"DarkTheme\": 4\n }\n },\n {\n \"id\": \"typography.display-large\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":57,\\\"lineHeight\\\":64,\\\"fontWeight\\\":\\\"normal\\\",\\\"letterSpacing\\\":-0.25}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":57,\\\"lineHeight\\\":64,\\\"fontWeight\\\":\\\"normal\\\",\\\"letterSpacing\\\":-0.25}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":57,\\\"lineHeight\\\":64,\\\"fontWeight\\\":\\\"normal\\\",\\\"letterSpacing\\\":-0.25}\"\n }\n },\n {\n \"id\": \"typography.display-medium\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":45,\\\"lineHeight\\\":52,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":45,\\\"lineHeight\\\":52,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":45,\\\"lineHeight\\\":52,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.display-small\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":36,\\\"lineHeight\\\":44,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":36,\\\"lineHeight\\\":44,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":36,\\\"lineHeight\\\":44,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.headline-large\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":40,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":40,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":40,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.headline-medium\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":28,\\\"lineHeight\\\":36,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":28,\\\"lineHeight\\\":36,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":28,\\\"lineHeight\\\":36,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.headline-small\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":24,\\\"lineHeight\\\":32,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":24,\\\"lineHeight\\\":32,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":24,\\\"lineHeight\\\":32,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.title-large\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":22,\\\"lineHeight\\\":28,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":22,\\\"lineHeight\\\":28,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":22,\\\"lineHeight\\\":28,\\\"fontWeight\\\":\\\"normal\\\"}\"\n }\n },\n {\n \"id\": \"typography.title-medium\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.15}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.15}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.15}\"\n }\n },\n {\n \"id\": \"typography.title-small\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontWeight\\\":\\\"medium\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"letterSpacing\\\":0.1}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontWeight\\\":\\\"medium\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"letterSpacing\\\":0.1}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontWeight\\\":\\\"medium\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"letterSpacing\\\":0.1}\"\n }\n },\n {\n \"id\": \"typography.body-1-long\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":22}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":22}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":22}\"\n }\n },\n {\n \"id\": \"typography.body-1-short\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\"\n }\n },\n {\n \"id\": \"typography.body-2-long\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":18}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":18}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":18}\"\n }\n },\n {\n \"id\": \"typography.body-2-short\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\"\n }\n },\n {\n \"id\": \"typography.subtitle-1\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"letterSpacing\\\":0.15}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"letterSpacing\\\":0.15}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"letterSpacing\\\":0.15}\"\n }\n },\n {\n \"id\": \"typography.subtitle-2\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.1}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.1}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.1}\"\n }\n },\n {\n \"id\": \"typography.label\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\"\n }\n },\n {\n \"id\": \"typography.button\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"textTransform\\\":\\\"capitalize\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"textTransform\\\":\\\"capitalize\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"textTransform\\\":\\\"capitalize\\\"}\"\n }\n },\n {\n \"id\": \"typography.caption\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":12,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":0.4}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":12,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":0.4}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":12,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":0.4}\"\n }\n },\n {\n \"id\": \"typography.overline\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":10,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":1.5,\\\"textTransform\\\":\\\"uppercase\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":10,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":1.5,\\\"textTransform\\\":\\\"uppercase\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":10,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":1.5,\\\"textTransform\\\":\\\"uppercase\\\"}\"\n }\n },\n {\n \"id\": \"typography.paragraph\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\"\n }\n },\n {\n \"id\": \"typography.quote\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\"\n }\n },\n {\n \"id\": \"typography.note\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":22,\\\"fontStyle\\\":\\\"italic\\\"}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":22,\\\"fontStyle\\\":\\\"italic\\\"}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":22,\\\"fontStyle\\\":\\\"italic\\\"}\"\n }\n },\n {\n \"id\": \"typography.badge\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\"\n }\n },\n {\n \"id\": \"typography.stat\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":38,\\\"fontWeight\\\":600,\\\"letterSpacing\\\":-0.32}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":38,\\\"fontWeight\\\":600,\\\"letterSpacing\\\":-0.32}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":38,\\\"fontWeight\\\":600,\\\"letterSpacing\\\":-0.32}\"\n }\n },\n {\n \"id\": \"typography.tag\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":15,\\\"lineHeight\\\":20,\\\"fontWeight\\\":600}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":15,\\\"lineHeight\\\":20,\\\"fontWeight\\\":600}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":15,\\\"lineHeight\\\":20,\\\"fontWeight\\\":600}\"\n }\n },\n {\n \"id\": \"typography.input\",\n \"value\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":24}\",\n \"type\": \"typography\",\n \"kind\": \"style\",\n \"target\": \"emotion-css\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":24}\",\n \"DarkTheme\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":24}\"\n }\n },\n {\n \"id\": \"alert.behavior.topPosition\",\n \"value\": 40,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"alert\",\n \"themeValues\": {\n \"LightTheme\": 40,\n \"DarkTheme\": 40\n }\n },\n {\n \"id\": \"alert.behavior.borderRadius\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"alert\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"alert.behavior.transitionSpeed\",\n \"value\": 0.35,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"alert\",\n \"themeValues\": {\n \"LightTheme\": 0.35,\n \"DarkTheme\": 0.35\n }\n },\n {\n \"id\": \"alert.behavior.elevation\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"alert\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"breadcrumb.behavior.typeface\",\n \"value\": \"label\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"breadcrumb\",\n \"themeValues\": {\n \"LightTheme\": \"label\",\n \"DarkTheme\": \"label\"\n }\n },\n {\n \"id\": \"breadcrumb.behavior.color\",\n \"value\": \"on-background-variant\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"breadcrumb\",\n \"themeValues\": {\n \"LightTheme\": \"on-background-variant\",\n \"DarkTheme\": \"on-background-variant\"\n }\n },\n {\n \"id\": \"breadcrumb.behavior.currentColor\",\n \"value\": \"on-background\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"breadcrumb\",\n \"themeValues\": {\n \"LightTheme\": \"on-background\",\n \"DarkTheme\": \"on-background\"\n }\n },\n {\n \"id\": \"breadcrumb.behavior.separatorSymbol\",\n \"value\": \"chevron_right\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"breadcrumb\",\n \"themeValues\": {\n \"LightTheme\": \"chevron_right\",\n \"DarkTheme\": \"chevron_right\"\n }\n },\n {\n \"id\": \"breadcrumb.behavior.gap\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"breadcrumb\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"appBar.behavior.color\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"appBar.behavior.height\",\n \"value\": 56,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": 56,\n \"DarkTheme\": 56\n }\n },\n {\n \"id\": \"appBar.behavior.divider\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"appBar.behavior.typeface\",\n \"value\": \"title-large\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": \"title-large\",\n \"DarkTheme\": \"title-large\"\n }\n },\n {\n \"id\": \"appBar.behavior.padding\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"appBar.behavior.gap\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"appBar\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"drawer.behavior.color\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"drawer.behavior.width\",\n \"value\": 280,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": 280,\n \"DarkTheme\": 280\n }\n },\n {\n \"id\": \"drawer.behavior.divider\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"drawer.behavior.elevation\",\n \"value\": \"menu\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": \"menu\",\n \"DarkTheme\": \"menu\"\n }\n },\n {\n \"id\": \"drawer.behavior.padding\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"drawer.behavior.backdrop\",\n \"value\": \"{\\\"background\\\":\\\"rgba(0, 0, 0, 0.4)\\\"}\",\n \"type\": \"object\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"drawer\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"background\\\":\\\"rgba(0, 0, 0, 0.4)\\\"}\",\n \"DarkTheme\": \"{\\\"background\\\":\\\"rgba(0, 0, 0, 0.4)\\\"}\"\n }\n },\n {\n \"id\": \"avatar.behavior.borderRadius\",\n \"value\": \"max\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatar\",\n \"themeValues\": {\n \"LightTheme\": \"max\",\n \"DarkTheme\": \"max\"\n }\n },\n {\n \"id\": \"avatar.behavior.typeface\",\n \"value\": \"subtitle-2\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatar\",\n \"themeValues\": {\n \"LightTheme\": \"subtitle-2\",\n \"DarkTheme\": \"subtitle-2\"\n }\n },\n {\n \"id\": \"avatar.behavior.fallbackSymbol\",\n \"value\": \"person\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatar\",\n \"themeValues\": {\n \"LightTheme\": \"person\",\n \"DarkTheme\": \"person\"\n }\n },\n {\n \"id\": \"avatarGroup.behavior.overlap\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatarGroup\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"avatarGroup.behavior.ringColor\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatarGroup\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"avatarGroup.behavior.ringWidth\",\n \"value\": 2,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"avatarGroup\",\n \"themeValues\": {\n \"LightTheme\": 2,\n \"DarkTheme\": 2\n }\n },\n {\n \"id\": \"searchInput.behavior.searchSymbol\",\n \"value\": \"search\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": \"search\",\n \"DarkTheme\": \"search\"\n }\n },\n {\n \"id\": \"searchInput.behavior.clearSymbol\",\n \"value\": \"close\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": \"close\",\n \"DarkTheme\": \"close\"\n }\n },\n {\n \"id\": \"searchInput.behavior.listColor\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"searchInput.behavior.listShadow\",\n \"value\": \"menu\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": \"menu\",\n \"DarkTheme\": \"menu\"\n }\n },\n {\n \"id\": \"searchInput.behavior.listBorderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"searchInput.behavior.maxSuggestions\",\n \"value\": 8,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"searchInput\",\n \"themeValues\": {\n \"LightTheme\": 8,\n \"DarkTheme\": 8\n }\n },\n {\n \"id\": \"checkbox.behavior.size\",\n \"value\": 20,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"checkbox\",\n \"themeValues\": {\n \"LightTheme\": 20,\n \"DarkTheme\": 20\n }\n },\n {\n \"id\": \"checkbox.behavior.boxColor\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"checkbox\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"radio.behavior.size\",\n \"value\": 20,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"radio\",\n \"themeValues\": {\n \"LightTheme\": 20,\n \"DarkTheme\": 20\n }\n },\n {\n \"id\": \"radio.behavior.ringColor\",\n \"value\": \"outline\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"radio\",\n \"themeValues\": {\n \"LightTheme\": \"outline\",\n \"DarkTheme\": \"outline\"\n }\n },\n {\n \"id\": \"radio.behavior.fillColor\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"radio\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"dialog.behavior.borderRadius\",\n \"value\": \"lg\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"lg\",\n \"DarkTheme\": \"lg\"\n }\n },\n {\n \"id\": \"dialog.behavior.color\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"dialog.behavior.border\",\n \"value\": \"quaternary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"quaternary\",\n \"DarkTheme\": \"quaternary\"\n }\n },\n {\n \"id\": \"dialog.behavior.padding\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dialog.behavior.elevation\",\n \"value\": \"dialog\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"dialog\",\n \"DarkTheme\": \"dialog\"\n }\n },\n {\n \"id\": \"dialog.behavior.backdrop\",\n \"value\": \"{\\\"background\\\":\\\"rgba(255, 255, 255, 0.6)\\\",\\\"backdropFilter\\\":\\\"blur(2px)\\\"}\",\n \"type\": \"object\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialog\",\n \"themeValues\": {\n \"LightTheme\": \"{\\\"background\\\":\\\"rgba(255, 255, 255, 0.6)\\\",\\\"backdropFilter\\\":\\\"blur(2px)\\\"}\",\n \"DarkTheme\": \"{\\\"background\\\":\\\"rgba(255, 255, 255, 0.6)\\\",\\\"backdropFilter\\\":\\\"blur(2px)\\\"}\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.borderRadius\",\n \"value\": \"max\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"max\",\n \"DarkTheme\": \"max\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.color\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.height\",\n \"value\": 48,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": 48,\n \"DarkTheme\": 48\n }\n },\n {\n \"id\": \"dialogHeader.behavior.textRole\",\n \"value\": \"title-large\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"title-large\",\n \"DarkTheme\": \"title-large\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.textAlign\",\n \"value\": \"center\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"center\",\n \"DarkTheme\": \"center\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.closeButtonIcon\",\n \"value\": \"close\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"close\",\n \"DarkTheme\": \"close\"\n }\n },\n {\n \"id\": \"dialogHeader.behavior.closeButtonSize\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dialogHeader\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"dropdown.behavior.border\",\n \"value\": \"none\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dropdown\",\n \"themeValues\": {\n \"LightTheme\": \"none\",\n \"DarkTheme\": \"none\"\n }\n },\n {\n \"id\": \"dropdown.behavior.borderRadius\",\n \"value\": \"xxs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dropdown\",\n \"themeValues\": {\n \"LightTheme\": \"xxs\",\n \"DarkTheme\": \"xxs\"\n }\n },\n {\n \"id\": \"dropdown.behavior.color\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dropdown\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"dropdown.behavior.shadow\",\n \"value\": \"menu\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dropdown\",\n \"themeValues\": {\n \"LightTheme\": \"menu\",\n \"DarkTheme\": \"menu\"\n }\n },\n {\n \"id\": \"footer.behavior.height\",\n \"value\": 52,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"footer\",\n \"themeValues\": {\n \"LightTheme\": 52,\n \"DarkTheme\": 52\n }\n },\n {\n \"id\": \"footer.behavior.color\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"footer\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"footer.behavior.logoHeight\",\n \"value\": 18.6,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"footer\",\n \"themeValues\": {\n \"LightTheme\": 18.6,\n \"DarkTheme\": 18.6\n }\n },\n {\n \"id\": \"footer.behavior.logoPadding\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"footer\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"input.behavior.typeFace\",\n \"value\": \"input\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"input\",\n \"DarkTheme\": \"input\"\n }\n },\n {\n \"id\": \"input.behavior.color\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"input.behavior.textColor\",\n \"value\": \"on-primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"on-primary-surface\",\n \"DarkTheme\": \"on-primary-surface\"\n }\n },\n {\n \"id\": \"input.behavior.disabledColor\",\n \"value\": \"disabled-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"disabled-surface\",\n \"DarkTheme\": \"disabled-surface\"\n }\n },\n {\n \"id\": \"input.behavior.disabledTextColor\",\n \"value\": \"on-disabled-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"on-disabled-surface\",\n \"DarkTheme\": \"on-disabled-surface\"\n }\n },\n {\n \"id\": \"input.behavior.border\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"input.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"input.behavior.errorShadow\",\n \"value\": \"warn\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"warn\",\n \"DarkTheme\": \"warn\"\n }\n },\n {\n \"id\": \"input.behavior.errorBorder\",\n \"value\": \"warn\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"warn\",\n \"DarkTheme\": \"warn\"\n }\n },\n {\n \"id\": \"input.behavior.height\",\n \"value\": 32,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": 32,\n \"DarkTheme\": 32\n }\n },\n {\n \"id\": \"input.behavior.paddingLeft\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"input.behavior.focusOutline\",\n \"value\": \"2px solid #6A6F8F\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": \"2px solid #6A6F8F\",\n \"DarkTheme\": \"2px solid #AFB5D8\"\n }\n },\n {\n \"id\": \"input.behavior.focusOutlineOffset\",\n \"value\": 2,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"input\",\n \"themeValues\": {\n \"LightTheme\": 2,\n \"DarkTheme\": 2\n }\n },\n {\n \"id\": \"textarea.behavior.rows\",\n \"value\": 3,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"textarea\",\n \"themeValues\": {\n \"LightTheme\": 3,\n \"DarkTheme\": 3\n }\n },\n {\n \"id\": \"textarea.behavior.resize\",\n \"value\": \"vertical\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"textarea\",\n \"themeValues\": {\n \"LightTheme\": \"vertical\",\n \"DarkTheme\": \"vertical\"\n }\n },\n {\n \"id\": \"tabs.behavior.typeface\",\n \"value\": \"title-small\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"title-small\",\n \"DarkTheme\": \"title-small\"\n }\n },\n {\n \"id\": \"tabs.behavior.textColor\",\n \"value\": \"on-surface-variant\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"on-surface-variant\",\n \"DarkTheme\": \"on-surface-variant\"\n }\n },\n {\n \"id\": \"tabs.behavior.activeTextColor\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"tabs.behavior.indicatorColor\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"tabs.behavior.indicatorThickness\",\n \"value\": \"standard\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"standard\",\n \"DarkTheme\": \"standard\"\n }\n },\n {\n \"id\": \"tabs.behavior.divider\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"tabs.behavior.gap\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"tabs.behavior.borderRadius\",\n \"value\": \"none\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"none\",\n \"DarkTheme\": \"none\"\n }\n },\n {\n \"id\": \"tabs.behavior.padding\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tabs\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.textRole\",\n \"value\": \"input\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"input\",\n \"DarkTheme\": \"input\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.textColor\",\n \"value\": \"on-primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"on-primary-surface\",\n \"DarkTheme\": \"on-primary-surface\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.dividerBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.searchInputBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.searchInputBorderRadius\",\n \"value\": \"xxs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"xxs\",\n \"DarkTheme\": \"xxs\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.focusOutline\",\n \"value\": \"2px solid #6A6F8F\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": \"2px solid #6A6F8F\",\n \"DarkTheme\": \"2px solid #AFB5D8\"\n }\n },\n {\n \"id\": \"multiSelectDropdown.behavior.focusOutlineOffset\",\n \"value\": 2,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"multiSelectDropdown\",\n \"themeValues\": {\n \"LightTheme\": 2,\n \"DarkTheme\": 2\n }\n },\n {\n \"id\": \"badge.behavior.borderRadius\",\n \"value\": \"xxs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"badge\",\n \"themeValues\": {\n \"LightTheme\": \"xxs\",\n \"DarkTheme\": \"xxs\"\n }\n },\n {\n \"id\": \"button.behavior.borderRadius\",\n \"value\": \"max\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"button\",\n \"themeValues\": {\n \"LightTheme\": \"max\",\n \"DarkTheme\": \"max\"\n }\n },\n {\n \"id\": \"button.behavior.typeface\",\n \"value\": \"button\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"button\",\n \"themeValues\": {\n \"LightTheme\": \"button\",\n \"DarkTheme\": \"button\"\n }\n },\n {\n \"id\": \"iconButton.behavior.borderRadius\",\n \"value\": \"max\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"iconButton\",\n \"themeValues\": {\n \"LightTheme\": \"max\",\n \"DarkTheme\": \"max\"\n }\n },\n {\n \"id\": \"card.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"card\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"dataSearch.behavior.border\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataSearch\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"dataSearch.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataSearch\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"dataSearch.behavior.color\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataSearch\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"dataSearch.behavior.placeholderColor\",\n \"value\": \"disabled\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataSearch\",\n \"themeValues\": {\n \"LightTheme\": \"disabled\",\n \"DarkTheme\": \"disabled\"\n }\n },\n {\n \"id\": \"dataTable.behavior.color\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"dataTable.behavior.border\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"dataTable.behavior.borderRadius\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dataTable.behavior.headerPadding\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dataTable.behavior.footerPadding\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dataTable.behavior.thTextRole\",\n \"value\": \"headline-small\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"headline-small\",\n \"DarkTheme\": \"headline-small\"\n }\n },\n {\n \"id\": \"dataTable.behavior.thColor\",\n \"value\": \"primary-container\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary-container\",\n \"DarkTheme\": \"primary-container\"\n }\n },\n {\n \"id\": \"dataTable.behavior.thVerticalBorder\",\n \"value\": \"dotted\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"dotted\",\n \"DarkTheme\": \"dotted\"\n }\n },\n {\n \"id\": \"dataTable.behavior.thHorizontalBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"dataTable.behavior.thPadding\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdTextRole\",\n \"value\": \"title-small\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"title-small\",\n \"DarkTheme\": \"title-small\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdColor\",\n \"value\": \"primary-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary-surface\",\n \"DarkTheme\": \"primary-surface\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdStickyColor\",\n \"value\": \"primary-container\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary-container\",\n \"DarkTheme\": \"primary-container\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdPadding\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdVerticalBorder\",\n \"value\": \"dotted\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"dotted\",\n \"DarkTheme\": \"dotted\"\n }\n },\n {\n \"id\": \"dataTable.behavior.tdHorizontalBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"dataTable.behavior.rowHoverColor\",\n \"value\": \"primary-container\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary-container\",\n \"DarkTheme\": \"primary-container\"\n }\n },\n {\n \"id\": \"dataTable.behavior.loadingOverlayColor\",\n \"value\": \"scrim\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"scrim\",\n \"DarkTheme\": \"scrim\"\n }\n },\n {\n \"id\": \"dataTable.behavior.loadingSpinnerColor\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"dataTable.behavior.loadingSpinnerSize\",\n \"value\": 40,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"dataTable\",\n \"themeValues\": {\n \"LightTheme\": 40,\n \"DarkTheme\": 40\n }\n },\n {\n \"id\": \"notificationBadge.behavior.borderRadius\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"notificationBadge\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"notificationBadge.behavior.offset\",\n \"value\": -10,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"notificationBadge\",\n \"themeValues\": {\n \"LightTheme\": -10,\n \"DarkTheme\": -10\n }\n },\n {\n \"id\": \"paginator.behavior.gap\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"paginator.behavior.textRole\",\n \"value\": \"label\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"label\",\n \"DarkTheme\": \"label\"\n }\n },\n {\n \"id\": \"paginator.behavior.inputBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"paginator.behavior.inputBorderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"paginator.behavior.pageBorderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"paginator.behavior.currentPageBorder\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"paginator.behavior.currentPageBorderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"paginator\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"stat.behavior.labelTypeface\",\n \"value\": \"label\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"label\",\n \"DarkTheme\": \"label\"\n }\n },\n {\n \"id\": \"stat.behavior.valueTypeface\",\n \"value\": \"stat\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"stat\",\n \"DarkTheme\": \"stat\"\n }\n },\n {\n \"id\": \"stat.behavior.color\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"stat.behavior.border\",\n \"value\": \"light\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"light\",\n \"DarkTheme\": \"light\"\n }\n },\n {\n \"id\": \"stat.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"stat.behavior.positiveColor\",\n \"value\": \"success\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"success\",\n \"DarkTheme\": \"success\"\n }\n },\n {\n \"id\": \"stat.behavior.negativeColor\",\n \"value\": \"error\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"error\",\n \"DarkTheme\": \"error\"\n }\n },\n {\n \"id\": \"stat.behavior.trendColor\",\n \"value\": \"outline\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"outline\",\n \"DarkTheme\": \"outline\"\n }\n },\n {\n \"id\": \"stat.behavior.trendAccent\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"stat.behavior.padding\",\n \"value\": \"md\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"md\",\n \"DarkTheme\": \"md\"\n }\n },\n {\n \"id\": \"stat.behavior.gap\",\n \"value\": \"xxs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"stat\",\n \"themeValues\": {\n \"LightTheme\": \"xxs\",\n \"DarkTheme\": \"xxs\"\n }\n },\n {\n \"id\": \"slider.behavior.color\",\n \"value\": \"primary\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"slider\",\n \"themeValues\": {\n \"LightTheme\": \"primary\",\n \"DarkTheme\": \"primary\"\n }\n },\n {\n \"id\": \"slider.behavior.trackColor\",\n \"value\": \"surface-variant\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"slider\",\n \"themeValues\": {\n \"LightTheme\": \"surface-variant\",\n \"DarkTheme\": \"surface-variant\"\n }\n },\n {\n \"id\": \"slider.behavior.borderRadius\",\n \"value\": \"max\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"slider\",\n \"themeValues\": {\n \"LightTheme\": \"max\",\n \"DarkTheme\": \"max\"\n }\n },\n {\n \"id\": \"slider.behavior.trackHeight\",\n \"value\": 4,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"slider\",\n \"themeValues\": {\n \"LightTheme\": 4,\n \"DarkTheme\": 4\n }\n },\n {\n \"id\": \"slider.behavior.thumbSize\",\n \"value\": 16,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"slider\",\n \"themeValues\": {\n \"LightTheme\": 16,\n \"DarkTheme\": 16\n }\n },\n {\n \"id\": \"skeleton.behavior.color\",\n \"value\": \"surface-variant\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": \"surface-variant\",\n \"DarkTheme\": \"surface-variant\"\n }\n },\n {\n \"id\": \"skeleton.behavior.highlightColor\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"skeleton.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"skeleton.behavior.animation\",\n \"value\": \"shimmer\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": \"shimmer\",\n \"DarkTheme\": \"shimmer\"\n }\n },\n {\n \"id\": \"skeleton.behavior.duration\",\n \"value\": 1.4,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": 1.4,\n \"DarkTheme\": 1.4\n }\n },\n {\n \"id\": \"skeleton.behavior.gap\",\n \"value\": \"sm\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"skeleton\",\n \"themeValues\": {\n \"LightTheme\": \"sm\",\n \"DarkTheme\": \"sm\"\n }\n },\n {\n \"id\": \"snackbar.behavior.bottomPosition\",\n \"value\": 40,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"snackbar\",\n \"themeValues\": {\n \"LightTheme\": 40,\n \"DarkTheme\": 40\n }\n },\n {\n \"id\": \"snackbar.behavior.transitionDelay\",\n \"value\": \"0.35s\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"snackbar\",\n \"themeValues\": {\n \"LightTheme\": \"0.35s\",\n \"DarkTheme\": \"0.35s\"\n }\n },\n {\n \"id\": \"snackbar.behavior.autoCloseDelay\",\n \"value\": 35000,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"snackbar\",\n \"themeValues\": {\n \"LightTheme\": 35000,\n \"DarkTheme\": 35000\n }\n },\n {\n \"id\": \"symbol.behavior.fill\",\n \"value\": 0,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"symbol\",\n \"themeValues\": {\n \"LightTheme\": 0,\n \"DarkTheme\": 0\n }\n },\n {\n \"id\": \"symbol.behavior.weight\",\n \"value\": 400,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"symbol\",\n \"themeValues\": {\n \"LightTheme\": 400,\n \"DarkTheme\": 400\n }\n },\n {\n \"id\": \"symbol.behavior.grade\",\n \"value\": 0,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"symbol\",\n \"themeValues\": {\n \"LightTheme\": 0,\n \"DarkTheme\": 0\n }\n },\n {\n \"id\": \"symbol.behavior.opticalSize\",\n \"value\": 24,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"symbol\",\n \"themeValues\": {\n \"LightTheme\": 24,\n \"DarkTheme\": 24\n }\n },\n {\n \"id\": \"toggle.behavior.size\",\n \"value\": 20,\n \"type\": \"number\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"toggle\",\n \"themeValues\": {\n \"LightTheme\": 20,\n \"DarkTheme\": 20\n }\n },\n {\n \"id\": \"toggle.behavior.trackColor\",\n \"value\": \"surface-variant\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"toggle\",\n \"themeValues\": {\n \"LightTheme\": \"surface-variant\",\n \"DarkTheme\": \"surface-variant\"\n }\n },\n {\n \"id\": \"toggle.behavior.knobColor\",\n \"value\": \"surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"toggle\",\n \"themeValues\": {\n \"LightTheme\": \"surface\",\n \"DarkTheme\": \"surface\"\n }\n },\n {\n \"id\": \"tooltip.behavior.borderRadius\",\n \"value\": \"xs\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tooltip\",\n \"themeValues\": {\n \"LightTheme\": \"xs\",\n \"DarkTheme\": \"xs\"\n }\n },\n {\n \"id\": \"tooltip.behavior.shadow\",\n \"value\": \"raised\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tooltip\",\n \"themeValues\": {\n \"LightTheme\": \"raised\",\n \"DarkTheme\": \"raised\"\n }\n },\n {\n \"id\": \"tooltip.behavior.color\",\n \"value\": \"inverse-surface\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tooltip\",\n \"themeValues\": {\n \"LightTheme\": \"inverse-surface\",\n \"DarkTheme\": \"inverse-surface\"\n }\n },\n {\n \"id\": \"tooltip.behavior.typeface\",\n \"value\": \"label\",\n \"type\": \"string\",\n \"kind\": \"behavioral\",\n \"target\": \"component-prop\",\n \"appliesTo\": \"tooltip\",\n \"themeValues\": {\n \"LightTheme\": \"label\",\n \"DarkTheme\": \"label\"\n }\n }\n ],\n \"themes\": [\n {\n \"id\": \"LightTheme\",\n \"name\": \"Light Theme\",\n \"description\": \"The Light Theme theme for the Uni Design System.\",\n \"styleOverrides\": {\n \"color.primary\": \"#6A6F8F\",\n \"color.on-primary\": \"#F9FAFF\",\n \"color.primary-container\": \"#DBDDEA\",\n \"color.on-primary-container\": \"#1A1C37\",\n \"color.on-primary-container-variant\": \"#5B5D68\",\n \"color.on-primary-container-border\": \"#6A6F8F\",\n \"color.primary-surface\": \"#F3F5FD\",\n \"color.on-primary-surface\": \"#1E1F25\",\n \"color.on-primary-surface-variant\": \"#6A6F8F\",\n \"color.secondary\": \"#8C685D\",\n \"color.on-secondary\": \"#FFF8F6\",\n \"color.secondary-container\": \"#E9DAD6\",\n \"color.on-secondary-container\": \"#33160D\",\n \"color.on-secondary-container-variant\": \"#675A57\",\n \"color.on-secondary-container-border\": \"#8C685D\",\n \"color.secondary-surface\": \"#FDF3EF\",\n \"color.on-secondary-surface\": \"#251D1B\",\n \"color.on-secondary-surface-variant\": \"#8C685D\",\n \"color.tertiary\": \"#597B66\",\n \"color.on-tertiary\": \"#F0FFF5\",\n \"color.tertiary-container\": \"#D5E2D9\",\n \"color.on-tertiary-container\": \"#052615\",\n \"color.on-tertiary-container-variant\": \"#56615A\",\n \"color.on-tertiary-container-border\": \"#597B66\",\n \"color.tertiary-surface\": \"#EFF8F2\",\n \"color.on-tertiary-surface\": \"#1B211D\",\n \"color.on-tertiary-surface-variant\": \"#557762\",\n \"color.quaternary\": \"#61636A\",\n \"color.on-quaternary\": \"#F9FAFF\",\n \"color.quaternary-surface\": \"#F3F5FD\",\n \"color.on-quaternary-surface\": \"#1E1F25\",\n \"color.on-quaternary-surface-variant\": \"#6A6F8F\",\n \"color.on-quaternary-container-variant\": \"#5B5D68\",\n \"color.on-quaternary-container-border\": \"#61636A\",\n \"color.error\": \"#CC2827\",\n \"color.on-error\": \"#FFF8F7\",\n \"color.error-container\": \"#FFD2CC\",\n \"color.on-error-container\": \"#331512\",\n \"color.warn\": \"#AC5700\",\n \"color.on-warn\": \"#FFF9F5\",\n \"color.warn-container\": \"#FDD5BA\",\n \"color.on-warn-container\": \"#311805\",\n \"color.on-warn-container-variant\": \"#78543C\",\n \"color.on-warn-container-border\": \"#AC5700\",\n \"color.success\": \"#008341\",\n \"color.on-success\": \"#F1FEF4\",\n \"color.success-container\": \"#C3EACC\",\n \"color.on-success-container\": \"#092613\",\n \"color.on-success-container-variant\": \"#43684D\",\n \"color.on-success-container-border\": \"#008341\",\n \"color.background\": \"#FDFDFF\",\n \"color.on-background\": \"#202127\",\n \"color.on-background-variant\": \"#5C5D65\",\n \"color.surface\": \"#F9FAFF\",\n \"color.on-surface\": \"#202127\",\n \"color.surface-variant\": \"#E9EBF3\",\n \"color.on-surface-variant\": \"#36373E\",\n \"color.inverse-surface\": \"#2C2D34\",\n \"color.on-inverse-surface\": \"#F3F5FD\",\n \"color.on-inverse-surface-primary\": \"#8D93B4\",\n \"color.on-inverse-surface-variant\": \"#8D93B4\",\n \"color.inverse-container\": \"#2C2D34\",\n \"color.on-inverse-container\": \"#F3F5FD\",\n \"color.outline\": \"#7E8088\",\n \"color.shadow\": \"#000000\",\n \"color.scrim\": \"#000000\",\n \"color.surface-tint\": \"#6A6F8F\",\n \"color.transparent\": \"rgba(0,0,0,0)\",\n \"color.ghost\": \"rgba(0,0,0,0)\",\n \"color.disabled\": \"rgba(0,0,0,0.12)\",\n \"color.on-disabled\": \"rgba(0,0,0,0.38)\",\n \"color.disabled-container\": \"#EFF1FA\",\n \"color.on-disabled-container\": \"rgba(0,0,0,0.38)\",\n \"color.disabled-surface\": \"rgba(0,0,0,0.12)\",\n \"color.on-disabled-surface\": \"rgba(0,0,0,0.5)\",\n \"color.on-disabled-surface-variant\": \"rgba(0,0,0,0.4)\",\n \"radius.none\": \"none\",\n \"radius.xxs\": \"4px\",\n \"radius.xs\": \"8px\",\n \"radius.sm\": \"16px\",\n \"radius.md\": \"24px\",\n \"radius.lg\": \"32px\",\n \"radius.max\": \"999px\",\n \"spacing.none\": \"none\",\n \"spacing.xxs\": \"2px\",\n \"spacing.xs\": \"4px\",\n \"spacing.sm\": \"8px\",\n \"spacing.md\": \"16px\",\n \"spacing.lg\": \"32px\",\n \"spacing.xl\": \"64px\",\n \"border.primary\": \"1px solid #6A6F8F\",\n \"border.secondary\": \"1px solid #8C685D\",\n \"border.tertiary\": \"1px solid #597B66\",\n \"border.quaternary\": \"1px solid #61636A\",\n \"border.warn\": \"1px solid #AC5700\",\n \"border.success\": \"1px solid #008341\",\n \"border.light\": \"1px solid #7E8088\",\n \"border.dark\": \"1px solid #202127\",\n \"border.dotted\": \"1px dotted #202127\",\n \"shadow.raised\": \"rgba(23, 25, 43, 0.2) 0px 2px 1px -1px, rgba(23, 25, 43, 0.14) 0px 1px 1px 0px, rgba(23, 25, 43, 0.12) 0px 1px 3px 0px\",\n \"shadow.menu\": \"rgba(23, 25, 43, 0.2) 0px 3px 3px -2px, rgba(23, 25, 43, 0.14) 0px 3px 4px 0px, rgba(23, 25, 43, 0.12) 0px 1px 8px 0px\",\n \"shadow.dialog\": \"rgba(23, 25, 43, 0.2) 0px 3px 5px -1px, rgba(23, 25, 43, 0.14) 0px 6px 10px 0px, rgba(23, 25, 43, 0.12) 0px 1px 18px 0px\",\n \"shadow.warn\": \"0 0 5px rgba(204, 40, 39, 0.5), inset 0 0 5px rgba(204, 40, 39, 0.3)\",\n \"thickness.thin\": 1,\n \"thickness.standard\": 2,\n \"thickness.thick\": 4,\n \"typography.display-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":57,\\\"lineHeight\\\":64,\\\"fontWeight\\\":\\\"normal\\\",\\\"letterSpacing\\\":-0.25}\",\n \"typography.display-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":45,\\\"lineHeight\\\":52,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.display-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":36,\\\"lineHeight\\\":44,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":40,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":28,\\\"lineHeight\\\":36,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":24,\\\"lineHeight\\\":32,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.title-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":22,\\\"lineHeight\\\":28,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.title-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.15}\",\n \"typography.title-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontWeight\\\":\\\"medium\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"letterSpacing\\\":0.1}\",\n \"typography.body-1-long\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":22}\",\n \"typography.body-1-short\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.body-2-long\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":18}\",\n \"typography.body-2-short\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"typography.subtitle-1\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"letterSpacing\\\":0.15}\",\n \"typography.subtitle-2\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.1}\",\n \"typography.label\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"typography.button\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"textTransform\\\":\\\"capitalize\\\"}\",\n \"typography.caption\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":12,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":0.4}\",\n \"typography.overline\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":10,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":1.5,\\\"textTransform\\\":\\\"uppercase\\\"}\",\n \"typography.paragraph\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.quote\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.note\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":22,\\\"fontStyle\\\":\\\"italic\\\"}\",\n \"typography.badge\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.stat\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":38,\\\"fontWeight\\\":600,\\\"letterSpacing\\\":-0.32}\",\n \"typography.tag\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":15,\\\"lineHeight\\\":20,\\\"fontWeight\\\":600}\",\n \"typography.input\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":24}\"\n },\n \"componentOptions\": {\n \"alert\": {\n \"topPosition\": 40,\n \"borderRadius\": \"sm\",\n \"transitionSpeed\": 0.35,\n \"elevation\": \"md\"\n },\n \"breadcrumb\": {\n \"typeface\": \"label\",\n \"color\": \"on-background-variant\",\n \"currentColor\": \"on-background\",\n \"separatorSymbol\": \"chevron_right\",\n \"gap\": \"xs\"\n },\n \"appBar\": {\n \"color\": \"surface\",\n \"height\": 56,\n \"divider\": \"light\",\n \"typeface\": \"title-large\",\n \"padding\": \"md\",\n \"gap\": \"md\"\n },\n \"drawer\": {\n \"color\": \"surface\",\n \"width\": 280,\n \"divider\": \"light\",\n \"elevation\": \"menu\",\n \"padding\": \"md\",\n \"backdrop\": \"{\\\"background\\\":\\\"rgba(0, 0, 0, 0.4)\\\"}\"\n },\n \"avatar\": {\n \"borderRadius\": \"max\",\n \"typeface\": \"subtitle-2\",\n \"fallbackSymbol\": \"person\"\n },\n \"avatarGroup\": {\n \"overlap\": \"sm\",\n \"ringColor\": \"surface\",\n \"ringWidth\": 2\n },\n \"searchInput\": {\n \"searchSymbol\": \"search\",\n \"clearSymbol\": \"close\",\n \"listColor\": \"primary-surface\",\n \"listShadow\": \"menu\",\n \"listBorderRadius\": \"xs\",\n \"maxSuggestions\": 8\n },\n \"checkbox\": {\n \"size\": 20,\n \"boxColor\": \"surface\"\n },\n \"radio\": {\n \"size\": 20,\n \"ringColor\": \"outline\",\n \"fillColor\": \"surface\"\n },\n \"dialog\": {\n \"borderRadius\": \"lg\",\n \"color\": \"primary-surface\",\n \"border\": \"quaternary\",\n \"padding\": \"sm\",\n \"elevation\": \"dialog\",\n \"backdrop\": \"{\\\"background\\\":\\\"rgba(255, 255, 255, 0.6)\\\",\\\"backdropFilter\\\":\\\"blur(2px)\\\"}\"\n },\n \"dialogHeader\": {\n \"borderRadius\": \"max\",\n \"color\": \"primary\",\n \"height\": 48,\n \"textRole\": \"title-large\",\n \"textAlign\": \"center\",\n \"closeButtonIcon\": \"close\",\n \"closeButtonSize\": \"md\"\n },\n \"dropdown\": {\n \"border\": \"none\",\n \"borderRadius\": \"xxs\",\n \"color\": \"primary-surface\",\n \"shadow\": \"menu\"\n },\n \"footer\": {\n \"height\": 52,\n \"color\": \"primary\",\n \"logoHeight\": 18.6,\n \"logoPadding\": \"md\"\n },\n \"input\": {\n \"typeFace\": \"input\",\n \"color\": \"primary-surface\",\n \"textColor\": \"on-primary-surface\",\n \"disabledColor\": \"disabled-surface\",\n \"disabledTextColor\": \"on-disabled-surface\",\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"errorShadow\": \"warn\",\n \"errorBorder\": \"warn\",\n \"height\": 32,\n \"paddingLeft\": \"sm\",\n \"focusOutline\": \"2px solid #6A6F8F\",\n \"focusOutlineOffset\": 2\n },\n \"textarea\": {\n \"rows\": 3,\n \"resize\": \"vertical\"\n },\n \"tabs\": {\n \"typeface\": \"title-small\",\n \"textColor\": \"on-surface-variant\",\n \"activeTextColor\": \"primary\",\n \"indicatorColor\": \"primary\",\n \"indicatorThickness\": \"standard\",\n \"divider\": \"light\",\n \"gap\": \"sm\",\n \"borderRadius\": \"none\",\n \"padding\": \"md\"\n },\n \"multiSelectDropdown\": {\n \"textRole\": \"input\",\n \"textColor\": \"on-primary-surface\",\n \"dividerBorder\": \"light\",\n \"searchInputBorder\": \"light\",\n \"searchInputBorderRadius\": \"xxs\",\n \"focusOutline\": \"2px solid #6A6F8F\",\n \"focusOutlineOffset\": 2\n },\n \"badge\": {\n \"borderRadius\": \"xxs\"\n },\n \"button\": {\n \"borderRadius\": \"max\",\n \"typeface\": \"button\"\n },\n \"iconButton\": {\n \"borderRadius\": \"max\"\n },\n \"card\": {\n \"borderRadius\": \"xs\"\n },\n \"dataSearch\": {\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"color\": \"primary-surface\",\n \"placeholderColor\": \"disabled\"\n },\n \"dataTable\": {\n \"color\": \"primary-surface\",\n \"border\": \"light\",\n \"borderRadius\": \"sm\",\n \"headerPadding\": \"sm\",\n \"footerPadding\": \"sm\",\n \"thTextRole\": \"headline-small\",\n \"thColor\": \"primary-container\",\n \"thVerticalBorder\": \"dotted\",\n \"thHorizontalBorder\": \"light\",\n \"thPadding\": \"sm\",\n \"tdTextRole\": \"title-small\",\n \"tdColor\": \"primary-surface\",\n \"tdStickyColor\": \"primary-container\",\n \"tdPadding\": \"sm\",\n \"tdVerticalBorder\": \"dotted\",\n \"tdHorizontalBorder\": \"light\",\n \"rowHoverColor\": \"primary-container\",\n \"loadingOverlayColor\": \"scrim\",\n \"loadingSpinnerColor\": \"primary\",\n \"loadingSpinnerSize\": 40\n },\n \"notificationBadge\": {\n \"borderRadius\": \"sm\",\n \"offset\": -10\n },\n \"paginator\": {\n \"gap\": \"xs\",\n \"textRole\": \"label\",\n \"inputBorder\": \"light\",\n \"inputBorderRadius\": \"xs\",\n \"pageBorderRadius\": \"xs\",\n \"currentPageBorder\": \"light\",\n \"currentPageBorderRadius\": \"xs\"\n },\n \"stat\": {\n \"labelTypeface\": \"label\",\n \"valueTypeface\": \"stat\",\n \"color\": \"surface\",\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"positiveColor\": \"success\",\n \"negativeColor\": \"error\",\n \"trendColor\": \"outline\",\n \"trendAccent\": \"primary\",\n \"padding\": \"md\",\n \"gap\": \"xxs\"\n },\n \"slider\": {\n \"color\": \"primary\",\n \"trackColor\": \"surface-variant\",\n \"borderRadius\": \"max\",\n \"trackHeight\": 4,\n \"thumbSize\": 16\n },\n \"skeleton\": {\n \"color\": \"surface-variant\",\n \"highlightColor\": \"surface\",\n \"borderRadius\": \"xs\",\n \"animation\": \"shimmer\",\n \"duration\": 1.4,\n \"gap\": \"sm\"\n },\n \"snackbar\": {\n \"bottomPosition\": 40,\n \"transitionDelay\": \"0.35s\",\n \"autoCloseDelay\": 35000\n },\n \"symbol\": {\n \"fill\": 0,\n \"weight\": 400,\n \"grade\": 0,\n \"opticalSize\": 24\n },\n \"toggle\": {\n \"size\": 20,\n \"trackColor\": \"surface-variant\",\n \"knobColor\": \"surface\"\n },\n \"tooltip\": {\n \"borderRadius\": \"xs\",\n \"shadow\": \"raised\",\n \"color\": \"inverse-surface\",\n \"typeface\": \"label\"\n }\n },\n \"usage\": \"Apply style overrides through the Emotion theme provider (the `UniTheme` object), and pass component options as component inputs/props. Import the theme from `@uni-design-system/uni-core` (`LightTheme`).\"\n },\n {\n \"id\": \"DarkTheme\",\n \"name\": \"Dark Theme\",\n \"description\": \"The Dark Theme theme for the Uni Design System.\",\n \"styleOverrides\": {\n \"color.primary\": \"#AFB5D8\",\n \"color.on-primary\": \"#11132C\",\n \"color.primary-container\": \"#4A4C57\",\n \"color.on-primary-container\": \"#F9FAFF\",\n \"color.on-primary-container-variant\": \"#BCBECB\",\n \"color.on-primary-container-border\": \"#AFB5D8\",\n \"color.primary-surface\": \"#22242A\",\n \"color.on-primary-surface\": \"#F9FAFF\",\n \"color.on-primary-surface-variant\": \"#AFB5D8\",\n \"color.secondary\": \"#D5ADA1\",\n \"color.on-secondary\": \"#280C05\",\n \"color.secondary-container\": \"#564A46\",\n \"color.on-secondary-container\": \"#FFF8F7\",\n \"color.on-secondary-container-variant\": \"#CABCB7\",\n \"color.on-secondary-container-border\": \"#D5ADA1\",\n \"color.secondary-surface\": \"#292220\",\n \"color.on-secondary-surface\": \"#FFF8F7\",\n \"color.on-secondary-surface-variant\": \"#D5ADA1\",\n \"color.tertiary\": \"#9EC2AB\",\n \"color.on-tertiary\": \"#001C0D\",\n \"color.tertiary-container\": \"#465049\",\n \"color.on-tertiary-container\": \"#F0FFF5\",\n \"color.on-tertiary-container-variant\": \"#B7C3BB\",\n \"color.on-tertiary-container-border\": \"#9EC2AB\",\n \"color.tertiary-surface\": \"#1F2622\",\n \"color.on-tertiary-surface\": \"#F4FDF7\",\n \"color.on-tertiary-surface-variant\": \"#9EC2AB\",\n \"color.quaternary\": \"#A2A4AC\",\n \"color.on-quaternary\": \"#15161C\",\n \"color.quaternary-surface\": \"#22242A\",\n \"color.on-quaternary-surface\": \"#F9FAFF\",\n \"color.on-quaternary-surface-variant\": \"#AFB5D8\",\n \"color.on-quaternary-container-variant\": \"#AEB0BD\",\n \"color.on-quaternary-container-border\": \"#A2A4AC\",\n \"color.error\": \"#FF968A\",\n \"color.on-error\": \"#290B09\",\n \"color.error-container\": \"#69413C\",\n \"color.on-error-container\": \"#FFF8F7\",\n \"color.warn\": \"#FF9B51\",\n \"color.on-warn\": \"#270E00\",\n \"color.warn-container\": \"#66442E\",\n \"color.on-warn-container\": \"#FFF9F5\",\n \"color.on-warn-container-variant\": \"#DFB69B\",\n \"color.on-warn-container-border\": \"#FF9B51\",\n \"color.success\": \"#59D483\",\n \"color.on-success\": \"#011C0A\",\n \"color.success-container\": \"#34563D\",\n \"color.on-success-container\": \"#F1FEF4\",\n \"color.on-success-container-variant\": \"#A3CBAD\",\n \"color.on-success-container-border\": \"#59D483\",\n \"color.background\": \"#101117\",\n \"color.on-background\": \"#E5E7F0\",\n \"color.on-background-variant\": \"#AFB0B9\",\n \"color.surface\": \"#17181E\",\n \"color.on-surface\": \"#E5E7F0\",\n \"color.surface-variant\": \"#313239\",\n \"color.on-surface-variant\": \"#AFB0B9\",\n \"color.inverse-surface\": \"#E5E7F0\",\n \"color.on-inverse-surface\": \"#202127\",\n \"color.on-inverse-surface-primary\": \"#5F6483\",\n \"color.on-inverse-surface-variant\": \"#5F6483\",\n \"color.inverse-container\": \"#E5E7F0\",\n \"color.on-inverse-container\": \"#202127\",\n \"color.outline\": \"#90929A\",\n \"color.shadow\": \"#000000\",\n \"color.scrim\": \"#000000\",\n \"color.surface-tint\": \"#AFB5D8\",\n \"color.transparent\": \"rgba(0,0,0,0)\",\n \"color.ghost\": \"rgba(0,0,0,0)\",\n \"color.disabled\": \"rgba(255,255,255,0.12)\",\n \"color.on-disabled\": \"rgba(255,255,255,0.38)\",\n \"color.disabled-container\": \"#2C2D34\",\n \"color.on-disabled-container\": \"rgba(255,255,255,0.38)\",\n \"color.disabled-surface\": \"rgba(255,255,255,0.12)\",\n \"color.on-disabled-surface\": \"rgba(255,255,255,0.5)\",\n \"color.on-disabled-surface-variant\": \"rgba(255,255,255,0.4)\",\n \"radius.none\": \"none\",\n \"radius.xxs\": \"4px\",\n \"radius.xs\": \"8px\",\n \"radius.sm\": \"16px\",\n \"radius.md\": \"24px\",\n \"radius.lg\": \"32px\",\n \"radius.max\": \"999px\",\n \"spacing.none\": \"none\",\n \"spacing.xxs\": \"2px\",\n \"spacing.xs\": \"4px\",\n \"spacing.sm\": \"8px\",\n \"spacing.md\": \"16px\",\n \"spacing.lg\": \"32px\",\n \"spacing.xl\": \"64px\",\n \"border.primary\": \"1px solid #AFB5D8\",\n \"border.secondary\": \"1px solid #D5ADA1\",\n \"border.tertiary\": \"1px solid #9EC2AB\",\n \"border.quaternary\": \"1px solid #A2A4AC\",\n \"border.warn\": \"1px solid #FF9B51\",\n \"border.success\": \"1px solid #59D483\",\n \"border.light\": \"1px solid #90929A\",\n \"border.dark\": \"1px solid #E5E7F0\",\n \"border.dotted\": \"1px dotted #E5E7F0\",\n \"shadow.raised\": \"none\",\n \"shadow.menu\": \"0px 4px 12px rgba(0, 0, 0, 0.45)\",\n \"shadow.dialog\": \"0px 8px 28px rgba(0, 0, 0, 0.55)\",\n \"shadow.warn\": \"0 0 5px rgba(255, 150, 138, 0.55), inset 0 0 5px rgba(255, 150, 138, 0.35)\",\n \"thickness.thin\": 1,\n \"thickness.standard\": 2,\n \"thickness.thick\": 4,\n \"typography.display-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":57,\\\"lineHeight\\\":64,\\\"fontWeight\\\":\\\"normal\\\",\\\"letterSpacing\\\":-0.25}\",\n \"typography.display-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":45,\\\"lineHeight\\\":52,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.display-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":36,\\\"lineHeight\\\":44,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":40,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":28,\\\"lineHeight\\\":36,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.headline-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":24,\\\"lineHeight\\\":32,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.title-large\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":22,\\\"lineHeight\\\":28,\\\"fontWeight\\\":\\\"normal\\\"}\",\n \"typography.title-medium\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.15}\",\n \"typography.title-small\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontWeight\\\":\\\"medium\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"letterSpacing\\\":0.1}\",\n \"typography.body-1-long\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":22}\",\n \"typography.body-1-short\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.body-2-long\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":18}\",\n \"typography.body-2-short\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"typography.subtitle-1\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24,\\\"letterSpacing\\\":0.15}\",\n \"typography.subtitle-2\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"letterSpacing\\\":0.1}\",\n \"typography.label\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20}\",\n \"typography.button\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":20,\\\"fontWeight\\\":\\\"medium\\\",\\\"textTransform\\\":\\\"capitalize\\\"}\",\n \"typography.caption\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":12,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":0.4}\",\n \"typography.overline\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":10,\\\"lineHeight\\\":18,\\\"letterSpacing\\\":1.5,\\\"textTransform\\\":\\\"uppercase\\\"}\",\n \"typography.paragraph\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.quote\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.note\": \"{\\\"fontFamily\\\":\\\"Roboto\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":22,\\\"fontStyle\\\":\\\"italic\\\"}\",\n \"typography.badge\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":16,\\\"lineHeight\\\":24}\",\n \"typography.stat\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":32,\\\"lineHeight\\\":38,\\\"fontWeight\\\":600,\\\"letterSpacing\\\":-0.32}\",\n \"typography.tag\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":15,\\\"lineHeight\\\":20,\\\"fontWeight\\\":600}\",\n \"typography.input\": \"{\\\"fontFamily\\\":\\\"Red Hat Display\\\",\\\"fontSize\\\":14,\\\"lineHeight\\\":24}\"\n },\n \"componentOptions\": {\n \"alert\": {\n \"topPosition\": 40,\n \"borderRadius\": \"sm\",\n \"transitionSpeed\": 0.35,\n \"elevation\": \"md\"\n },\n \"breadcrumb\": {\n \"typeface\": \"label\",\n \"color\": \"on-background-variant\",\n \"currentColor\": \"on-background\",\n \"separatorSymbol\": \"chevron_right\",\n \"gap\": \"xs\"\n },\n \"appBar\": {\n \"color\": \"surface\",\n \"height\": 56,\n \"divider\": \"light\",\n \"typeface\": \"title-large\",\n \"padding\": \"md\",\n \"gap\": \"md\"\n },\n \"drawer\": {\n \"color\": \"surface\",\n \"width\": 280,\n \"divider\": \"light\",\n \"elevation\": \"menu\",\n \"padding\": \"md\",\n \"backdrop\": \"{\\\"background\\\":\\\"rgba(0, 0, 0, 0.4)\\\"}\"\n },\n \"avatar\": {\n \"borderRadius\": \"max\",\n \"typeface\": \"subtitle-2\",\n \"fallbackSymbol\": \"person\"\n },\n \"avatarGroup\": {\n \"overlap\": \"sm\",\n \"ringColor\": \"surface\",\n \"ringWidth\": 2\n },\n \"searchInput\": {\n \"searchSymbol\": \"search\",\n \"clearSymbol\": \"close\",\n \"listColor\": \"primary-surface\",\n \"listShadow\": \"menu\",\n \"listBorderRadius\": \"xs\",\n \"maxSuggestions\": 8\n },\n \"checkbox\": {\n \"size\": 20,\n \"boxColor\": \"surface\"\n },\n \"radio\": {\n \"size\": 20,\n \"ringColor\": \"outline\",\n \"fillColor\": \"surface\"\n },\n \"dialog\": {\n \"borderRadius\": \"lg\",\n \"color\": \"primary-surface\",\n \"border\": \"quaternary\",\n \"padding\": \"sm\",\n \"elevation\": \"dialog\",\n \"backdrop\": \"{\\\"background\\\":\\\"rgba(255, 255, 255, 0.6)\\\",\\\"backdropFilter\\\":\\\"blur(2px)\\\"}\"\n },\n \"dialogHeader\": {\n \"borderRadius\": \"max\",\n \"color\": \"primary\",\n \"height\": 48,\n \"textRole\": \"title-large\",\n \"textAlign\": \"center\",\n \"closeButtonIcon\": \"close\",\n \"closeButtonSize\": \"md\"\n },\n \"dropdown\": {\n \"border\": \"none\",\n \"borderRadius\": \"xxs\",\n \"color\": \"primary-surface\",\n \"shadow\": \"menu\"\n },\n \"footer\": {\n \"height\": 52,\n \"color\": \"primary\",\n \"logoHeight\": 18.6,\n \"logoPadding\": \"md\"\n },\n \"input\": {\n \"typeFace\": \"input\",\n \"color\": \"primary-surface\",\n \"textColor\": \"on-primary-surface\",\n \"disabledColor\": \"disabled-surface\",\n \"disabledTextColor\": \"on-disabled-surface\",\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"errorShadow\": \"warn\",\n \"errorBorder\": \"warn\",\n \"height\": 32,\n \"paddingLeft\": \"sm\",\n \"focusOutline\": \"2px solid #AFB5D8\",\n \"focusOutlineOffset\": 2\n },\n \"textarea\": {\n \"rows\": 3,\n \"resize\": \"vertical\"\n },\n \"tabs\": {\n \"typeface\": \"title-small\",\n \"textColor\": \"on-surface-variant\",\n \"activeTextColor\": \"primary\",\n \"indicatorColor\": \"primary\",\n \"indicatorThickness\": \"standard\",\n \"divider\": \"light\",\n \"gap\": \"sm\",\n \"borderRadius\": \"none\",\n \"padding\": \"md\"\n },\n \"multiSelectDropdown\": {\n \"textRole\": \"input\",\n \"textColor\": \"on-primary-surface\",\n \"dividerBorder\": \"light\",\n \"searchInputBorder\": \"light\",\n \"searchInputBorderRadius\": \"xxs\",\n \"focusOutline\": \"2px solid #AFB5D8\",\n \"focusOutlineOffset\": 2\n },\n \"badge\": {\n \"borderRadius\": \"xxs\"\n },\n \"button\": {\n \"borderRadius\": \"max\",\n \"typeface\": \"button\"\n },\n \"iconButton\": {\n \"borderRadius\": \"max\"\n },\n \"card\": {\n \"borderRadius\": \"xs\"\n },\n \"dataSearch\": {\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"color\": \"primary-surface\",\n \"placeholderColor\": \"disabled\"\n },\n \"dataTable\": {\n \"color\": \"primary-surface\",\n \"border\": \"light\",\n \"borderRadius\": \"sm\",\n \"headerPadding\": \"sm\",\n \"footerPadding\": \"sm\",\n \"thTextRole\": \"headline-small\",\n \"thColor\": \"primary-container\",\n \"thVerticalBorder\": \"dotted\",\n \"thHorizontalBorder\": \"light\",\n \"thPadding\": \"sm\",\n \"tdTextRole\": \"title-small\",\n \"tdColor\": \"primary-surface\",\n \"tdStickyColor\": \"primary-container\",\n \"tdPadding\": \"sm\",\n \"tdVerticalBorder\": \"dotted\",\n \"tdHorizontalBorder\": \"light\",\n \"rowHoverColor\": \"primary-container\",\n \"loadingOverlayColor\": \"scrim\",\n \"loadingSpinnerColor\": \"primary\",\n \"loadingSpinnerSize\": 40\n },\n \"notificationBadge\": {\n \"borderRadius\": \"sm\",\n \"offset\": -10\n },\n \"paginator\": {\n \"gap\": \"xs\",\n \"textRole\": \"label\",\n \"inputBorder\": \"light\",\n \"inputBorderRadius\": \"xs\",\n \"pageBorderRadius\": \"xs\",\n \"currentPageBorder\": \"light\",\n \"currentPageBorderRadius\": \"xs\"\n },\n \"stat\": {\n \"labelTypeface\": \"label\",\n \"valueTypeface\": \"stat\",\n \"color\": \"surface\",\n \"border\": \"light\",\n \"borderRadius\": \"xs\",\n \"positiveColor\": \"success\",\n \"negativeColor\": \"error\",\n \"trendColor\": \"outline\",\n \"trendAccent\": \"primary\",\n \"padding\": \"md\",\n \"gap\": \"xxs\"\n },\n \"slider\": {\n \"color\": \"primary\",\n \"trackColor\": \"surface-variant\",\n \"borderRadius\": \"max\",\n \"trackHeight\": 4,\n \"thumbSize\": 16\n },\n \"skeleton\": {\n \"color\": \"surface-variant\",\n \"highlightColor\": \"surface\",\n \"borderRadius\": \"xs\",\n \"animation\": \"shimmer\",\n \"duration\": 1.4,\n \"gap\": \"sm\"\n },\n \"snackbar\": {\n \"bottomPosition\": 40,\n \"transitionDelay\": \"0.35s\",\n \"autoCloseDelay\": 35000\n },\n \"symbol\": {\n \"fill\": 0,\n \"weight\": 400,\n \"grade\": 0,\n \"opticalSize\": 24\n },\n \"toggle\": {\n \"size\": 20,\n \"trackColor\": \"surface-variant\",\n \"knobColor\": \"surface\"\n },\n \"tooltip\": {\n \"borderRadius\": \"xs\",\n \"shadow\": \"raised\",\n \"color\": \"inverse-surface\",\n \"typeface\": \"label\"\n }\n },\n \"usage\": \"Apply style overrides through the Emotion theme provider (the `UniTheme` object), and pass component options as component inputs/props. Import the theme from `@uni-design-system/uni-core` (`DarkTheme`).\"\n }\n ]\n}","/**\n * Runtime store - loads the built `uni-index.json` (inlined into the bundle)\n * and exposes typed queries plus AI-optimized markdown formatters. The server\n * layer only calls into here; it never touches raw index shapes.\n */\nimport indexData from '../data/uni-index.json' with { type: 'json' };\nimport type {\n ComponentModel,\n Framework,\n ThemeTemplateModel,\n TokenModel,\n UniIndex,\n} from '../schema.js';\n\nconst index = indexData as unknown as UniIndex;\n\nexport type ComponentFilter = { framework?: Framework; category?: string; status?: string };\nexport type TokenFilter = { type?: string; theme?: string; kind?: string };\n\nexport const meta = index.meta;\n\nexport function frameworksFor(c: ComponentModel): Framework[] {\n return Object.keys(c.bindings) as Framework[];\n}\n\nexport function listComponents(filter: ComponentFilter = {}): ComponentModel[] {\n return index.components.filter((c) => {\n if (filter.framework && !c.bindings[filter.framework]) return false;\n if (filter.category && c.category !== filter.category) return false;\n if (filter.status && c.status !== filter.status) return false;\n return true;\n });\n}\n\nexport function getComponent(id: string): ComponentModel | undefined {\n return index.components.find((c) => c.id === id);\n}\n\nexport function listTokens(filter: TokenFilter = {}): TokenModel[] {\n return index.tokens.filter((t) => {\n if (filter.type && t.type !== filter.type) return false;\n if (filter.kind && t.kind !== filter.kind) return false;\n if (filter.theme && !(t.themeValues && filter.theme in t.themeValues)) return false;\n return true;\n });\n}\n\nexport function getToken(id: string): TokenModel | undefined {\n return index.tokens.find((t) => t.id === id);\n}\n\nexport function listThemes(): ThemeTemplateModel[] {\n return index.themes;\n}\n\nexport function getTheme(id: string): ThemeTemplateModel | undefined {\n return index.themes.find((t) => t.id === id);\n}\n\nexport type SearchKind = 'component' | 'token' | 'theme' | 'guideline';\nexport type SearchHit = { kind: SearchKind; id: string; label: string; snippet: string };\n\n/** Keyword/substring search across the index (semantic is a later drop-in). */\nexport function search(query: string, kind?: SearchKind): SearchHit[] {\n const q = query.toLowerCase().trim();\n if (!q) return [];\n const hits: SearchHit[] = [];\n const match = (...fields: (string | undefined)[]) =>\n fields.some((f) => f?.toLowerCase().includes(q));\n\n if (!kind || kind === 'component') {\n for (const c of index.components) {\n const apiNames = frameworksFor(c).flatMap((f) => c.bindings[f]!.api.map((a) => a.name));\n if (match(c.id, c.name, c.summary, c.description, c.category, ...apiNames)) {\n hits.push({ kind: 'component', id: c.id, label: c.name, snippet: c.summary || c.description.slice(0, 120) });\n }\n }\n }\n if (!kind || kind === 'token') {\n for (const t of index.tokens) {\n if (match(t.id, t.type, t.description, String(t.value))) {\n hits.push({ kind: 'token', id: t.id, label: t.id, snippet: `${t.type} = ${t.value}` });\n }\n }\n }\n if (!kind || kind === 'theme') {\n for (const t of index.themes) {\n if (match(t.id, t.name, t.description)) {\n hits.push({ kind: 'theme', id: t.id, label: t.name, snippet: t.description });\n }\n }\n }\n if (!kind || kind === 'guideline') {\n for (const c of index.components) {\n const g = c.guidelines;\n if (match(g.whenToUse, ...g.dos, ...g.donts, ...g.accessibility)) {\n hits.push({ kind: 'guideline', id: c.id, label: `${c.name} guidelines`, snippet: g.whenToUse.slice(0, 120) });\n }\n }\n }\n return hits;\n}\n\n// ---------------------------------------------------------------------------\n// Markdown formatters - tight cards, not raw dumps, to keep token usage low.\n// ---------------------------------------------------------------------------\n\nexport function formatComponentList(components: ComponentModel[]): string {\n if (!components.length) return 'No components match that filter.';\n const rows = components.map((c) => {\n const fw = frameworksFor(c).join(', ');\n return `- **${c.name}** \\`${c.id}\\` - ${c.summary || '(no summary)'} _(${c.category}; ${fw})_`;\n });\n return `# Uni components (${components.length})\\n\\n${rows.join('\\n')}`;\n}\n\nfunction formatApiTable(members: ComponentModel['bindings'][Framework]): string {\n const api = members?.api ?? [];\n if (!api.length) return '_No documented inputs/props._';\n return api\n .map((m) => {\n const req = m.required ? ' **(required)**' : '';\n const def = m.default ? ` = \\`${m.default}\\`` : '';\n const dep = m.deprecated ? ` (deprecated: ${m.deprecated})` : '';\n const doc = m.description ? ` - ${m.description}` : '';\n return `- \\`${m.name}: ${m.type}\\`${req}${def} _(${m.kind})_${doc}${dep}`;\n })\n .join('\\n');\n}\n\nexport function formatComponent(c: ComponentModel, framework?: Framework): string {\n const frameworks = framework ? [framework] : frameworksFor(c);\n const out: string[] = [`# ${c.name} \\`${c.id}\\``];\n out.push(`_${c.category} · status: ${c.status} · Uni v${c.version}_`);\n if (c.description) out.push(`\\n${c.description}`);\n\n for (const f of frameworks) {\n const b = c.bindings[f];\n if (!b) {\n out.push(`\\n## ${f}\\n_Not yet available for ${f}._`);\n continue;\n }\n out.push(`\\n## ${f}`);\n out.push(`- import: \\`${b.importPath}\\``);\n out.push(`- selector/tag: \\`${b.selectorOrTag}\\``);\n out.push(`\\n**API**\\n${formatApiTable(b)}`);\n }\n\n if (c.relatedTokens.length) out.push(`\\n**Related tokens:** ${c.relatedTokens.map((t) => `\\`${t}\\``).join(', ')}`);\n if (c.examples.length) {\n const ex = c.examples[0];\n out.push(`\\n**Example - ${ex.title} (${ex.framework})**\\n\\`\\`\\`html\\n${ex.code}\\n\\`\\`\\``);\n if (c.examples.length > 1) out.push(`_+${c.examples.length - 1} more via get-component-examples._`);\n }\n return out.join('\\n');\n}\n\nexport function formatExamples(c: ComponentModel, framework?: Framework): string {\n const examples = framework ? c.examples.filter((e) => e.framework === framework) : c.examples;\n if (!examples.length) return `No examples found for \\`${c.id}\\`${framework ? ` (${framework})` : ''}.`;\n const blocks = examples.map((e) => {\n const link = e.storybookUrl ? `\\n[Open in Storybook](${e.storybookUrl})` : '';\n return `### ${e.title} _(${e.framework})_\\n\\`\\`\\`html\\n${e.code}\\n\\`\\`\\`${link}`;\n });\n return `# ${c.name} - examples (${examples.length})\\n\\n${blocks.join('\\n\\n')}`;\n}\n\nexport function formatToken(t: TokenModel): string {\n const out: string[] = [`# Token \\`${t.id}\\``];\n out.push(`- value: \\`${t.value}\\``);\n out.push(`- type: ${t.type}`);\n out.push(`- kind: **${t.kind}** (${t.target})`);\n if (t.appliesTo) out.push(`- applies to component: \\`${t.appliesTo}\\``);\n if (t.aliasOf) out.push(`- alias of: \\`${t.aliasOf}\\``);\n if (t.description) out.push(`\\n${t.description}`);\n if (t.themeValues && Object.keys(t.themeValues).length) {\n out.push('\\n**Per-theme values**');\n for (const [theme, val] of Object.entries(t.themeValues)) out.push(`- ${theme}: \\`${val}\\``);\n }\n const hint =\n t.kind === 'style'\n ? '\\n_Style token - consumed by Emotion to generate CSS. Reference via the theme, not a raw value._'\n : '\\n_Behavioral token - set as a component input/prop, not as CSS._';\n out.push(hint);\n return out.join('\\n');\n}\n\nexport function formatTokenList(tokens: TokenModel[]): string {\n if (!tokens.length) return 'No tokens match that filter.';\n const rows = tokens.map((t) => `- \\`${t.id}\\` - ${t.type} = \\`${t.value}\\` _(${t.kind})_`);\n return `# Uni tokens (${tokens.length})\\n\\n${rows.join('\\n')}`;\n}\n\nexport function formatThemeList(themes: ThemeTemplateModel[]): string {\n if (!themes.length) return 'No theme templates available.';\n const rows = themes.map((t) => `- **${t.name}** \\`${t.id}\\` - ${t.description}`);\n return `# Uni theme templates (${themes.length})\\n\\n${rows.join('\\n')}`;\n}\n\nexport function formatTheme(t: ThemeTemplateModel): string {\n const out: string[] = [`# Theme \\`${t.id}\\` - ${t.name}`];\n if (t.description) out.push(t.description);\n out.push('\\n## Style overrides (-> Emotion CSS)');\n out.push('_Apply through the theme provider. These become CSS._');\n const styleKeys = Object.entries(t.styleOverrides);\n out.push(styleKeys.map(([k, v]) => `- \\`${k}\\`: \\`${v}\\``).join('\\n'));\n\n out.push('\\n## Component options (-> component inputs/props)');\n out.push('_Behavioral preferences. Pass as inputs/props, not CSS._');\n for (const [component, opts] of Object.entries(t.componentOptions)) {\n out.push(`- **${component}**: ${Object.entries(opts).map(([k, v]) => `\\`${k}=${v}\\``).join(', ')}`);\n }\n if (t.usage) out.push(`\\n## How to apply\\n${t.usage}`);\n return out.join('\\n');\n}\n\nexport function formatGuidelines(c: ComponentModel): string {\n const g = c.guidelines;\n const has = g.whenToUse || g.dos.length || g.donts.length || g.accessibility.length;\n if (!has) return `No authored guidelines yet for \\`${c.id}\\`. (Author them in the component's MDX.)`;\n const out: string[] = [`# ${c.name} - guidelines`];\n if (g.whenToUse) out.push(`\\n**When to use**\\n${g.whenToUse}`);\n if (g.dos.length) out.push(`\\n**Do**\\n${g.dos.map((d) => `- ${d}`).join('\\n')}`);\n if (g.donts.length) out.push(`\\n**Don't**\\n${g.donts.map((d) => `- ${d}`).join('\\n')}`);\n if (g.accessibility.length) out.push(`\\n**Accessibility**\\n${g.accessibility.map((a) => `- ${a}`).join('\\n')}`);\n return out.join('\\n');\n}\n\nexport function formatSearch(query: string, hits: SearchHit[]): string {\n if (!hits.length) return `No results for \"${query}\".`;\n const rows = hits.slice(0, 40).map((h) => `- _[${h.kind}]_ **${h.label}** \\`${h.id}\\` - ${h.snippet}`);\n const more = hits.length > 40 ? `\\n\\n_...and ${hits.length - 40} more. Narrow with \\`kind\\`._` : '';\n return `# Search: \"${query}\" (${hits.length})\\n\\n${rows.join('\\n')}${more}`;\n}\n","import type { StyleExpression } from '../style/style.types';\n\nexport type PercentageString = `${number}%`;\nexport type KeyframesExpression = Record<PercentageString, StyleExpression>;\n\nexport const fadeIn: KeyframesExpression = {\n '0%': {\n opacity: 0,\n },\n '100%': {\n opacity: 1,\n },\n};\n\nexport const fadeOut: KeyframesExpression = {\n '0%': {\n opacity: 1,\n },\n '100%': {\n opacity: 0,\n },\n};\n\nexport const expandFadeIn = {\n '0%': {\n gridTemplateRows: '0fr',\n opacity: 0,\n },\n '100%': {\n gridTemplateRows: '1fr',\n opacity: 1,\n },\n};\n\nexport const collapseFadeOut = {\n '0%': {\n gridTemplateRows: '1fr',\n opacity: 1,\n },\n '100%': {\n gridTemplateRows: '0fr',\n opacity: 0,\n },\n};\n","import { Range } from './color.model';\nimport { ColorCategory, ColorRole, UtilityColorRole } from './color.types';\n\n/**\n * @deprecated HSL saturation ranges are superseded by the perceptual OKLCH\n * chroma model inside `concepts/generation` (see `generateThemes`). Kept for\n * legacy callers of `uniColor`; removal follows the changeset major process.\n */\nexport const CategorySaturation: Record<ColorCategory, Range> = {\n jewel: { low: 73, high: 83 },\n pastel: { low: 14, high: 21 },\n earth: { low: 36, high: 41 },\n neutral: { low: 1, high: 10 },\n florescent: { low: 63, high: 100 },\n shades: { low: 0, high: 0 },\n};\n\n/**\n * @deprecated HSL lightness ranges are superseded by the perceptual OKLCH\n * tone slots inside `concepts/generation` (see `generateThemes`).\n */\nexport const CategoryLightness: Record<ColorCategory, Range> = {\n jewel: { low: 56, high: 76 },\n pastel: { low: 89, high: 96 },\n earth: { low: 36, high: 77 },\n neutral: { low: 70, high: 99 },\n florescent: { low: 82, high: 100 },\n shades: { low: 0, high: 100 },\n};\n\nexport const RoleHues: Record<ColorRole | UtilityColorRole, Range> = {\n primary: { low: 73, high: 83, default: 0 },\n secondary: { low: 14, high: 21, default: 0 },\n tertiary: { low: 36, high: 41, default: 0 },\n inverse: { low: 63, high: 100, default: 0 },\n ghost: { low: 0, high: 0, default: 0 },\n warn: { low: 320, high: 20, default: 0 }, // red\n alert: { low: 40, high: 70, default: 60 }, // yellow\n success: { low: 90, high: 150, default: 120 }, // green\n info: { low: 200, high: 260, default: 240 }, // blue\n};\n","import { Range } from './color.model';\nimport type { ColorScheme } from './color.types';\n\n/**\n * @deprecated Randomized generation is superseded by the deterministic OKLCH\n * engine in `concepts/generation` — same input, same theme. Seeded \"surprise\n * me\" behavior belongs in the consumer (playground), not the engine.\n */\nexport const randomRangeValue = ({ low, high }: Range): number => {\n low = Math.ceil(low);\n high = Math.floor(high);\n return Math.floor(Math.random() * (high - low + 1)) + low;\n};\n\nexport const cycle = (angle: number): number => {\n if (angle > 360) return angle - 360;\n if (angle < 0) return angle + 360;\n return angle;\n};\n\nexport const getAnalogousHues = (hue: number): number[] => [cycle(hue + 30), cycle(hue + 60)];\nexport const getComplimentaryHue = (hue: number): number => cycle(hue + 180);\nexport const getTriadicHues = (hue: number): number[] => [cycle(hue + 120), cycle(hue - 120)];\nexport const getSplitComplimentaryHues = (hue: number): number[] => [\n cycle(hue + 150),\n cycle(hue - 150),\n];\n\nexport interface RoleHueSet {\n primary: number;\n secondary: number;\n tertiary: number;\n}\n\n/**\n * Derive the primary/secondary/tertiary hues from a seed hue using the color\n * wheel relationships in {@link ColorScheme}. Pure angle math — works in any\n * hue space (HSL historically, OKLCH in the generation engine).\n */\nexport const schemeHues = (hue: number, scheme: ColorScheme): RoleHueSet => {\n switch (scheme) {\n case 'monochromatic':\n return { primary: hue, secondary: hue, tertiary: hue };\n case 'analogous': {\n const [a, b] = getAnalogousHues(hue);\n return { primary: hue, secondary: a, tertiary: b };\n }\n case 'complimentary': {\n const [a] = getAnalogousHues(hue);\n return { primary: hue, secondary: getComplimentaryHue(hue), tertiary: a };\n }\n case 'splitComplimentary': {\n const [a, b] = getSplitComplimentaryHues(hue);\n return { primary: hue, secondary: a, tertiary: b };\n }\n case 'triadic': {\n const [a, b] = getTriadicHues(hue);\n return { primary: hue, secondary: a, tertiary: b };\n }\n }\n};\n","import { HSL, HSLA, RGB, UniColor } from './color.model';\nimport { CategoryLightness, CategorySaturation, RoleHues } from './color.records';\nimport { randomRangeValue } from './color.utils';\n\nexport function HSLAToString({ hue, saturation, lightness, alpha = 1 }: HSLA): string {\n return `hsla(${hue}, ${saturation}%, ${lightness}%, ${alpha})`;\n}\n\nexport function RGBToString({ red, green, blue }: RGB): string {\n return `rgb(${red}, ${green}, ${blue})`;\n}\n\n/**\n * @deprecated Random HSL generation produces non-deterministic, perceptually\n * uneven colors. Use the OKLCH engine (`generateThemes` in\n * `concepts/generation`) or `generatePalette` instead.\n */\nexport function uniColor({ role, category, alpha = 1 }: UniColor): string {\n const hue = randomRangeValue(RoleHues[role]);\n const saturation = randomRangeValue(CategorySaturation[category]);\n const lightness = randomRangeValue(CategoryLightness[category]);\n\n return HSLAToString({ hue, saturation, lightness, alpha });\n}\n\nexport const RGBToHSL = ({ red, green, blue }: RGB): HSL => {\n red /= 255;\n green /= 255;\n blue /= 255;\n const l = Math.max(red, green, blue);\n const s = l - Math.min(red, green, blue);\n const h = s\n ? l === red\n ? (green - blue) / s\n : l === green\n ? 2 + (blue - red) / s\n : 4 + (red - green) / s\n : 0;\n return {\n hue: 60 * h < 0 ? 60 * h + 360 : 60 * h,\n saturation: 100 * (s ? (l <= 0.5 ? s / (2 * l - s) : s / (2 - (2 * l - s))) : 0),\n lightness: (100 * (2 * l - s)) / 2,\n };\n};\n\n// ── Conversions & contrast (used by the palette factory) ────────────────────\n\nconst clamp = (value: number, min: number, max: number): number =>\n Math.min(max, Math.max(min, value));\n\nconst toHex2 = (value: number): string => clamp(Math.round(value), 0, 255).toString(16).padStart(2, '0');\n\nexport const rgbToHex = ({ red, green, blue }: RGB): string =>\n `#${toHex2(red)}${toHex2(green)}${toHex2(blue)}`.toUpperCase();\n\nexport const hexToRgb = (hex: string): RGB => {\n let h = hex.replace('#', '').trim();\n if (h.length === 3) h = h.split('').map((c) => c + c).join('');\n const int = parseInt(h, 16);\n return { red: (int >> 16) & 255, green: (int >> 8) & 255, blue: int & 255 };\n};\n\nexport const HSLToRGB = ({ hue = 0, saturation = 0, lightness = 0 }: HSL): RGB => {\n const s = clamp(saturation, 0, 100) / 100;\n const l = clamp(lightness, 0, 100) / 100;\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const hp = (((hue % 360) + 360) % 360) / 60;\n const x = c * (1 - Math.abs((hp % 2) - 1));\n const [r1, g1, b1] =\n hp < 1\n ? [c, x, 0]\n : hp < 2\n ? [x, c, 0]\n : hp < 3\n ? [0, c, x]\n : hp < 4\n ? [0, x, c]\n : hp < 5\n ? [x, 0, c]\n : [c, 0, x];\n const m = l - c / 2;\n return {\n red: (r1 + m) * 255,\n green: (g1 + m) * 255,\n blue: (b1 + m) * 255,\n };\n};\n\n/** Build an sRGB hex string straight from HSL channel values. */\nexport const HSLToHex = (hsl: HSL): string => rgbToHex(HSLToRGB(hsl));\n\nexport const hexToHSL = (hex: string): HSL => RGBToHSL(hexToRgb(hex));\n\n/** WCAG relative luminance of an sRGB color (0 = black, 1 = white). */\nexport const relativeLuminance = ({ red, green, blue }: RGB): number => {\n const channel = (value: number): number => {\n const v = value / 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n };\n return 0.2126 * channel(red) + 0.7152 * channel(green) + 0.0722 * channel(blue);\n};\n\n/** WCAG contrast ratio between two colors (1:1 – 21:1). Accepts RGB or hex. */\nexport const contrastRatio = (a: RGB | string, b: RGB | string): number => {\n const la = relativeLuminance(typeof a === 'string' ? hexToRgb(a) : a);\n const lb = relativeLuminance(typeof b === 'string' ? hexToRgb(b) : b);\n const [hi, lo] = la > lb ? [la, lb] : [lb, la];\n return (hi + 0.05) / (lo + 0.05);\n};\n\n// Future Methods - https://codepen.io/jkantner/pen/VVEMRK\n","import type { RGB } from '../color/color.model';\nimport { hexToRgb, rgbToHex } from '../color/color.helper';\n\n/**\n * A color in OKLCH: perceptual lightness `l` (0–1), chroma `c` (0 = grey,\n * ~0.37 = max sRGB vividness) and hue angle `h` in degrees (0–360).\n *\n * Unlike HSL lightness, OKLCH `l` is perceptually uniform — a blue and a\n * yellow at the same `l` *look* equally light — which is what makes derived\n * tonal scales consistent across hues.\n */\nexport interface Oklch {\n l: number;\n c: number;\n h: number;\n}\n\nconst clamp = (value: number, min: number, max: number): number =>\n Math.min(max, Math.max(min, value));\n\n// sRGB transfer function and its inverse (gamma ↔ linear light).\nconst srgbToLinear = (channel: number): number =>\n channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n\nconst linearToSrgb = (channel: number): number =>\n channel <= 0.0031308 ? 12.92 * channel : 1.055 * Math.pow(channel, 1 / 2.4) - 0.055;\n\ninterface LinearRGB {\n r: number;\n g: number;\n b: number;\n}\n\n// OKLab ↔ linear sRGB matrices (Björn Ottosson's reference constants).\nconst linearRgbToOklab = ({ r, g, b }: LinearRGB): { l: number; a: number; b: number } => {\n const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);\n const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);\n const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);\n return {\n l: 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n a: 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n b: 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,\n };\n};\n\nconst oklabToLinearRgb = (l: number, a: number, b: number): LinearRGB => {\n const l_ = Math.pow(l + 0.3963377774 * a + 0.2158037573 * b, 3);\n const m_ = Math.pow(l - 0.1055613458 * a - 0.0638541728 * b, 3);\n const s_ = Math.pow(l - 0.0894841775 * a - 1.291485548 * b, 3);\n return {\n r: 4.0767416621 * l_ - 3.3077115913 * m_ + 0.2309699292 * s_,\n g: -1.2684380046 * l_ + 2.6097574011 * m_ - 0.3413193965 * s_,\n b: -0.0041960863 * l_ - 0.7034186147 * m_ + 1.707614701 * s_,\n };\n};\n\nconst oklchToLinearRgb = ({ l, c, h }: Oklch): LinearRGB => {\n const rad = (h * Math.PI) / 180;\n return oklabToLinearRgb(l, c * Math.cos(rad), c * Math.sin(rad));\n};\n\nconst GAMUT_EPSILON = 1e-4;\n\nconst inSrgbGamut = ({ r, g, b }: LinearRGB): boolean =>\n r >= -GAMUT_EPSILON &&\n r <= 1 + GAMUT_EPSILON &&\n g >= -GAMUT_EPSILON &&\n g <= 1 + GAMUT_EPSILON &&\n b >= -GAMUT_EPSILON &&\n b <= 1 + GAMUT_EPSILON;\n\n/** Parse a hex color (`#RGB` or `#RRGGBB`) into OKLCH. */\nexport const hexToOklch = (hex: string): Oklch => {\n const { red, green, blue } = hexToRgb(hex);\n const { l, a, b } = linearRgbToOklab({\n r: srgbToLinear(red / 255),\n g: srgbToLinear(green / 255),\n b: srgbToLinear(blue / 255),\n });\n const c = Math.hypot(a, b);\n const h = c < 1e-6 ? 0 : (Math.atan2(b, a) * 180) / Math.PI;\n return { l, c, h: h < 0 ? h + 360 : h };\n};\n\n/**\n * Render OKLCH as an sRGB hex string. Out-of-gamut colors are mapped back\n * into sRGB by reducing chroma only — lightness and hue are preserved, so\n * vivid seeds desaturate gracefully instead of shifting hue or clipping.\n */\nexport const oklchToHex = (color: Oklch): string => {\n const target: Oklch = { l: clamp(color.l, 0, 1), c: Math.max(color.c, 0), h: color.h };\n let rgb = oklchToLinearRgb(target);\n if (!inSrgbGamut(rgb)) {\n let low = 0;\n let high = target.c;\n for (let i = 0; i < 24; i++) {\n const mid = (low + high) / 2;\n if (inSrgbGamut(oklchToLinearRgb({ ...target, c: mid }))) low = mid;\n else high = mid;\n }\n rgb = oklchToLinearRgb({ ...target, c: low });\n }\n // Scale *after* the transfer function: 255 × transfer(channel), rounded once\n // inside rgbToHex. Rounding before scaling collapses every channel to 0/1.\n return rgbToHex(toSrgb255(rgb));\n};\n\nconst toSrgb255 = ({ r, g, b }: LinearRGB): RGB => ({\n red: 255 * linearToSrgb(clamp(r, 0, 1)),\n green: 255 * linearToSrgb(clamp(g, 0, 1)),\n blue: 255 * linearToSrgb(clamp(b, 0, 1)),\n});\n","import type { Colors } from '../theme/theme.model';\nimport type { BrandRole, PaletteConfig } from '../color/color.factory';\nimport type { ColorCategory } from '../color/color.types';\nimport { contrastRatio, hexToRgb, relativeLuminance } from '../color/color.helper';\nimport { schemeHues } from '../color/color.utils';\nimport { hexToOklch, oklchToHex, type Oklch } from './oklch.helper';\nimport type { ContrastCheck } from './generation.types';\n\nexport interface GenerateColorsConfig extends PaletteConfig {\n /**\n * Soft brand anchors, per role: the palette starts from these exact colors\n * but the WCAG guard-rail may adjust lightness (never hue) to reach AA.\n * Contrast-safe counterpart to the hard `brand` pins, which are emitted\n * verbatim even when they fail.\n */\n targets?: Partial<Record<BrandRole, string>>;\n /** Sink for the contrast checks performed while building this palette. */\n checks?: ContrastCheck[];\n}\n\n// ── Tonal architecture ──────────────────────────────────────────────────────\n// Every token maps onto one of these OKLCH lightness slots. Because OKLCH L\n// is perceptually uniform, a slot renders equally light for every hue — the\n// property HSL lacked, and the root fix for muddy derived palettes.\nconst toneMap = (dark: boolean) =>\n dark\n ? {\n accent: 0.78,\n container: 0.42,\n roleSurface: 0.26,\n background: 0.18,\n surface: 0.21,\n surfaceVariant: 0.32,\n outline: 0.66,\n onSurface: 0.93,\n mutedText: 0.76,\n inverse: 0.93,\n onInverse: 0.25,\n onDeep: 0.2,\n onLight: 0.985,\n grey: 0.72,\n disabledContainer: 0.3,\n }\n : {\n accent: 0.55,\n container: 0.9,\n roleSurface: 0.97,\n background: 0.995,\n surface: 0.985,\n surfaceVariant: 0.94,\n outline: 0.6,\n onSurface: 0.25,\n mutedText: 0.48,\n inverse: 0.3,\n onInverse: 0.97,\n onDeep: 0.24,\n onLight: 0.985,\n grey: 0.5,\n disabledContainer: 0.96,\n };\n\n// OKLCH chroma per tonal category — the perceptual successor to the HSL\n// `CategorySaturation` table. Values are accent-level chroma; container and\n// surface chroma are derived fractions.\nexport const CategoryChroma: Record<ColorCategory, number> = {\n jewel: 0.17,\n pastel: 0.055,\n earth: 0.08,\n neutral: 0.03,\n florescent: 0.26,\n shades: 0,\n};\n\n/** Dark-mode accents cap chroma so they don't vibrate on dark surfaces. */\nconst DARK_ACCENT_CHROMA_CAP = 0.16;\n\n// Semantic feedback roles in OKLCH: hue + chroma per role. Chroma differs per\n// role because sRGB gamut room differs by hue at the AA-dark lightness light\n// mode forces on ink tokens: red holds 0.20; amber sits at 55° (not 70° —\n// dark yellow reads brown, dark orange stays lively) with 0.18; green 0.16.\nconst SemanticColors = {\n error: { hue: 27, chroma: 0.2 },\n warn: { hue: 55, chroma: 0.18 },\n success: { hue: 152, chroma: 0.16 },\n} as const;\n\nconst clamp = (value: number, min: number, max: number): number =>\n Math.min(max, Math.max(min, value));\n\n/**\n * Generate a complete {@link Colors} token set in OKLCH. Same contract as\n * `generatePalette` (which delegates here), plus soft brand targets and a\n * contrast-check sink for {@link ContrastReport} consumers.\n */\nexport const generateColors = (config: GenerateColorsConfig): Colors => {\n const {\n seed,\n scheme,\n category,\n mode = 'light',\n accentSaturationFloor = 18,\n brand = {},\n targets = {},\n checks,\n } = config;\n const dark = mode === 'dark';\n const t = toneMap(dark);\n\n // The primary anchor (hard pin > soft target > seed) sets the neutral hue.\n const anchor = hexToOklch(brand.primary ?? targets.primary ?? seed);\n const hues = schemeHues(anchor.h, scheme);\n\n // Chroma model. The floor keeps the brand hue perceptible even for the\n // near-grey `neutral` category (0–100 legacy scale → OKLCH chroma).\n const chromaFloor = (accentSaturationFloor / 100) * 0.28;\n let accentC = Math.max(CategoryChroma[category], chromaFloor);\n if (dark) accentC = Math.min(accentC, DARK_ACCENT_CHROMA_CAP);\n const containerC = Math.max(CategoryChroma[category] * 0.45, accentC * 0.35);\n const surfaceC = Math.min(CategoryChroma[category], 0.012);\n\n const tone = (hue: number, c: number, l: number): string => oklchToHex({ l, c, h: hue });\n\n /**\n * The WCAG guard-rail: walk the foreground's OKLCH lightness away from the\n * background until the pair meets `target` (≤ 50 steps). Hue is never\n * touched; chroma only shrinks as a last resort when L runs out of room.\n */\n const ensureContrast = (fg: Oklch, bg: string, target: number): Oklch => {\n const out: Oklch = { ...fg };\n let hex = oklchToHex(out);\n if (contrastRatio(hex, bg) >= target) return out;\n // Pick the direction that can actually reach the target: each side has a\n // hard ceiling — black tops out at (Ybg + 0.05) / 0.05, white at\n // 1.05 / (Ybg + 0.05) — so staying on the foreground's current side is\n // only right when that side has enough headroom.\n const bgY = relativeLuminance(hexToRgb(bg));\n const darkCeiling = (bgY + 0.05) / 0.05;\n const lightCeiling = 1.05 / (bgY + 0.05);\n let lighten = relativeLuminance(hexToRgb(hex)) >= bgY;\n if (lighten && lightCeiling < target && darkCeiling >= target) lighten = false;\n if (!lighten && darkCeiling < target && lightCeiling >= target) lighten = true;\n const step = lighten ? 0.015 : -0.015;\n for (let i = 0; i < 50 && contrastRatio(hex, bg) < target; i++) {\n if ((step > 0 && out.l < 0.995) || (step < 0 && out.l > 0.02)) {\n out.l = clamp(out.l + step, 0, 1);\n } else {\n out.c = Math.max(0, out.c - 0.02);\n }\n hex = oklchToHex(out);\n }\n return out;\n };\n\n /** Guard-railed token: adjust toward `target` contrast, then record the pair. */\n const contrasted = (fg: Oklch, bgHex: string, target: number): string =>\n oklchToHex(ensureContrast(fg, bgHex, target));\n\n const record = (\n foreground: string,\n background: string,\n foregroundColor: string,\n backgroundColor: string,\n required: number\n ): void => {\n if (!checks) return;\n const ratio = contrastRatio(foregroundColor, backgroundColor);\n checks.push({\n mode,\n foreground,\n background,\n foregroundColor,\n backgroundColor,\n ratio: Math.round(ratio * 100) / 100,\n required,\n pass: ratio >= required,\n level: ratio < required ? 'fail' : ratio >= 7 ? 'AAA' : 'AA',\n });\n };\n\n const background = tone(anchor.h, surfaceC, t.background);\n const surface = tone(anchor.h, surfaceC, t.surface);\n const surfaceVariant = tone(anchor.h, surfaceC, t.surfaceVariant);\n\n // Legible foreground for a given ground: whichever of the tonal near-black /\n // near-white starts closer to AA, then guard-railed the rest of the way.\n const onColor = (hue: number, bg: string, c: number): string => {\n const deep: Oklch = { l: t.onDeep, c: Math.min(c, 0.05), h: hue };\n const light: Oklch = { l: t.onLight, c: Math.min(c, 0.02), h: hue };\n const pick =\n contrastRatio(oklchToHex(deep), bg) >= contrastRatio(oklchToHex(light), bg) ? deep : light;\n return contrasted(pick, bg, 4.5);\n };\n\n // Dark-mode counterpart of a *hard-pinned* brand color: lift lightness only\n // (hue and chroma preserved) until it clears 3:1 on the dark ground.\n const adaptPinForDark = (hex: string): string => {\n const pin = hexToOklch(hex);\n pin.l = Math.max(pin.l, 0.6);\n return oklchToHex(ensureContrast(pin, background, 3));\n };\n\n /**\n * Resolve a role's base color: hard pins are verbatim in light mode and\n * lightness-lifted in dark; soft targets and generated tones are pulled to\n * ≥ 4.5:1 as standalone ink on `background` and `surface` (§3.6).\n */\n const baseFor = (name: BrandRole, hue: number, c: number): string => {\n const pinned = brand[name];\n if (pinned) return dark ? adaptPinForDark(pinned) : pinned;\n const target = targets[name];\n let base: Oklch;\n if (target) {\n // Soft targets keep their own chroma — brand fidelity beats category.\n // Callers that want a vibe cap applied clamp the target before passing\n // it in (see `generateThemes`). Dark mode still decouples chroma.\n base = hexToOklch(target);\n if (dark) {\n base.c = Math.min(base.c, DARK_ACCENT_CHROMA_CAP);\n base.l = Math.max(base.l, t.accent - 0.08);\n }\n } else {\n base = { l: t.accent, c, h: hue };\n }\n return oklchToHex(ensureContrast(ensureContrast(base, background, 4.5), surface, 4.5));\n };\n\n const disabled = dark ? 'rgba(255,255,255,0.12)' : 'rgba(0,0,0,0.12)';\n const onDisabled = dark ? 'rgba(255,255,255,0.38)' : 'rgba(0,0,0,0.38)';\n\n // An accent role's base drives its container/surface/on satellites. Every\n // content satellite passes through the guard-rail and is recorded.\n const role = (name: string, base: string, cC: number = containerC) => {\n const { h, c } = hexToOklch(base);\n const container = tone(h, cC, t.container);\n const roleSurface = tone(h, surfaceC, t.roleSurface);\n const onBase = onColor(h, base, c);\n const onContainer = onColor(h, container, c);\n const onContainerVariant = contrasted({ l: t.mutedText, c: Math.min(cC, 0.06), h }, container, 4.5);\n const border = ensureContrast(ensureContrast(hexToOklch(base), container, 3), surface, 3);\n const borderHex = oklchToHex(border);\n const onRoleSurface = onColor(h, roleSurface, surfaceC);\n const onRoleSurfaceVariant = contrasted(hexToOklch(base), roleSurface, 4.5);\n\n record(`on-${name}`, name, onBase, base, 4.5);\n record(`on-${name}-container`, `${name}-container`, onContainer, container, 4.5);\n record(`on-${name}-container-variant`, `${name}-container`, onContainerVariant, container, 4.5);\n record(`on-${name}-container-border`, `${name}-container`, borderHex, container, 3);\n record(`on-${name}-container-border`, 'surface', borderHex, surface, 3);\n record(`on-${name}-surface`, `${name}-surface`, onRoleSurface, roleSurface, 4.5);\n record(`on-${name}-surface-variant`, `${name}-surface`, onRoleSurfaceVariant, roleSurface, 4.5);\n record(name, 'background', base, background, 4.5);\n record(name, 'surface', base, surface, 4.5);\n\n return {\n [name]: base,\n [`on-${name}`]: onBase,\n [`${name}-container`]: container,\n [`on-${name}-container`]: onContainer,\n [`on-${name}-container-variant`]: onContainerVariant,\n [`on-${name}-container-border`]: borderHex,\n [`${name}-surface`]: roleSurface,\n [`on-${name}-surface`]: onRoleSurface,\n [`on-${name}-surface-variant`]: onRoleSurfaceVariant,\n };\n };\n\n const primaryBase = baseFor('primary', hues.primary, accentC);\n const secondaryBase = baseFor('secondary', hues.secondary, accentC);\n const tertiaryBase = baseFor('tertiary', hues.tertiary, accentC);\n\n // Quaternary is a neutral, near-grey accent tied to the brand hue.\n const quaternaryGrey = brand.quaternary\n ? dark\n ? adaptPinForDark(brand.quaternary)\n : brand.quaternary\n : oklchToHex(ensureContrast({ l: t.grey, c: surfaceC, h: anchor.h }, surface, 3));\n const quaternarySurface = tone(anchor.h, surfaceC, t.roleSurface);\n const onQuaternary = onColor(anchor.h, quaternaryGrey, surfaceC);\n const onQuaternarySurface = onColor(anchor.h, quaternarySurface, surfaceC);\n const onQuaternarySurfaceVariant = contrasted(hexToOklch(primaryBase), quaternarySurface, 4.5);\n const onQuaternaryContainerVariant = contrasted(\n { l: t.mutedText, c: Math.min(containerC, 0.06), h: anchor.h },\n quaternarySurface,\n 4.5\n );\n record('on-quaternary', 'quaternary', onQuaternary, quaternaryGrey, 4.5);\n record('on-quaternary-surface', 'quaternary-surface', onQuaternarySurface, quaternarySurface, 4.5);\n record(\n 'on-quaternary-surface-variant',\n 'quaternary-surface',\n onQuaternarySurfaceVariant,\n quaternarySurface,\n 4.5\n );\n\n // Semantic feedback roles keep colorful, recognizable hues in every category.\n const semantic = (name: 'error' | 'warn' | 'success') => {\n const { hue, chroma } = SemanticColors[name];\n const base = baseFor(name, hue, dark ? Math.min(chroma, DARK_ACCENT_CHROMA_CAP) : chroma);\n const { h } = hexToOklch(base);\n const container = tone(h, containerC + 0.04, t.container);\n const onBase = onColor(h, base, chroma);\n const onContainer = onColor(h, container, chroma);\n record(`on-${name}`, name, onBase, base, 4.5);\n record(`on-${name}-container`, `${name}-container`, onContainer, container, 4.5);\n record(name, 'background', base, background, 4.5);\n record(name, 'surface', base, surface, 4.5);\n return { base, container, onBase, onContainer, h };\n };\n\n const error = semantic('error');\n const warn = semantic('warn');\n const success = semantic('success');\n\n const semanticExtras = (name: 'warn' | 'success', s: ReturnType<typeof semantic>) => {\n const variant = contrasted({ l: t.mutedText, c: 0.06, h: s.h }, s.container, 4.5);\n const border = oklchToHex(\n ensureContrast(ensureContrast(hexToOklch(s.base), s.container, 3), surface, 3)\n );\n record(`on-${name}-container-variant`, `${name}-container`, variant, s.container, 4.5);\n record(`on-${name}-container-border`, `${name}-container`, border, s.container, 3);\n return { variant, border };\n };\n const warnExtras = semanticExtras('warn', warn);\n const successExtras = semanticExtras('success', success);\n\n // Neutral text tokens.\n const onBackground = tone(anchor.h, surfaceC, t.onSurface);\n const onBackgroundVariant = contrasted({ l: t.mutedText, c: surfaceC, h: anchor.h }, background, 4.5);\n const onSurface = tone(anchor.h, surfaceC, t.onSurface);\n const onSurfaceVariant = contrasted(\n { l: dark ? t.mutedText : t.mutedText - 0.14, c: surfaceC, h: anchor.h },\n surfaceVariant,\n 4.5\n );\n record('on-background', 'background', onBackground, background, 4.5);\n record('on-background-variant', 'background', onBackgroundVariant, background, 4.5);\n record('on-surface', 'surface', onSurface, surface, 4.5);\n record('on-surface-variant', 'surface-variant', onSurfaceVariant, surfaceVariant, 4.5);\n\n // Inverse surfaces flip the ground; their accents must stay legible there.\n const inverseSurface = tone(anchor.h, surfaceC, t.inverse);\n const onInverse = tone(anchor.h, surfaceC, t.onInverse);\n const inversePrimary = contrasted(hexToOklch(primaryBase), inverseSurface, 4.5);\n record('on-inverse-surface', 'inverse-surface', onInverse, inverseSurface, 4.5);\n record('on-inverse-surface-primary', 'inverse-surface', inversePrimary, inverseSurface, 4.5);\n record('on-inverse-container', 'inverse-container', onInverse, inverseSurface, 4.5);\n\n const outline = oklchToHex(\n ensureContrast(\n ensureContrast({ l: t.outline, c: Math.min(surfaceC, 0.02), h: hues.primary }, surface, 3),\n background,\n 3\n )\n );\n record('outline', 'surface', outline, surface, 3);\n record('outline', 'background', outline, background, 3);\n\n return {\n ...role('primary', primaryBase),\n ...role('secondary', secondaryBase),\n ...role('tertiary', tertiaryBase),\n\n quaternary: quaternaryGrey,\n 'on-quaternary': onQuaternary,\n 'quaternary-surface': quaternarySurface,\n 'on-quaternary-surface': onQuaternarySurface,\n 'on-quaternary-surface-variant': onQuaternarySurfaceVariant,\n 'on-quaternary-container-variant': onQuaternaryContainerVariant,\n 'on-quaternary-container-border': quaternaryGrey,\n\n // Semantic\n error: error.base,\n 'on-error': error.onBase,\n 'error-container': error.container,\n 'on-error-container': error.onContainer,\n\n warn: warn.base,\n 'on-warn': warn.onBase,\n 'warn-container': warn.container,\n 'on-warn-container': warn.onContainer,\n 'on-warn-container-variant': warnExtras.variant,\n 'on-warn-container-border': warnExtras.border,\n\n success: success.base,\n 'on-success': success.onBase,\n 'success-container': success.container,\n 'on-success-container': success.onContainer,\n 'on-success-container-variant': successExtras.variant,\n 'on-success-container-border': successExtras.border,\n\n // Neutral surfaces\n background,\n 'on-background': onBackground,\n 'on-background-variant': onBackgroundVariant,\n surface,\n 'on-surface': onSurface,\n 'surface-variant': surfaceVariant,\n 'on-surface-variant': onSurfaceVariant,\n\n // Inverse\n 'inverse-surface': inverseSurface,\n 'on-inverse-surface': onInverse,\n 'on-inverse-surface-primary': inversePrimary,\n 'on-inverse-surface-variant': inversePrimary,\n 'inverse-container': inverseSurface,\n 'on-inverse-container': onInverse,\n\n // Utility\n outline,\n shadow: '#000000',\n scrim: '#000000',\n 'surface-tint': primaryBase,\n transparent: 'rgba(0,0,0,0)',\n ghost: 'rgba(0,0,0,0)',\n\n // Disabled (deliberate alpha overlays — excluded from the contrast report)\n disabled,\n 'on-disabled': onDisabled,\n 'disabled-container': tone(hues.primary, surfaceC, t.disabledContainer),\n 'on-disabled-container': onDisabled,\n 'disabled-surface': disabled,\n 'on-disabled-surface': dark ? 'rgba(255,255,255,0.5)' : 'rgba(0,0,0,0.5)',\n 'on-disabled-surface-variant': dark ? 'rgba(255,255,255,0.4)' : 'rgba(0,0,0,0.4)',\n };\n};\n","import type { Colors } from '../theme';\nimport { generateColors, type GenerateColorsConfig } from '../generation/palette.factory';\nimport type { ColorCategory, ColorScheme } from './color.types';\n\n/** Roles whose base color can be pinned to an exact brand hex. */\nexport type BrandRole =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary'\n | 'error'\n | 'warn'\n | 'success';\n\nexport interface PaletteConfig {\n /**\n * Seed brand color as a hex string, e.g. '#4F46E5'. Anchors the neutral\n * hue and every role you don't pin via `brand`. When `brand.primary` is\n * set, that color anchors instead.\n */\n seed: string;\n /** How secondary/tertiary hues relate to the anchor, for unpinned roles. */\n scheme: ColorScheme;\n /** Saturation / tonal character of the generated (unpinned) colors. */\n category: ColorCategory;\n /** Light or dark rendering of the same palette. Defaults to 'light'. */\n mode?: 'light' | 'dark';\n /**\n * Minimum accent saturation (0–100 scale) so the brand hue stays perceptible\n * even for the `neutral` category (which is otherwise near-grey). Set to 0\n * to honor the category saturation exactly.\n */\n accentSaturationFloor?: number;\n /**\n * Exact brand colors, pinned per role. A pinned color is emitted verbatim as\n * that role's base token in **light** mode (\"cannot shift\"); in **dark** mode\n * it is lifted in lightness only — hue and chroma preserved — so it stays\n * legible on a dark ground. Its on/container/surface satellites are derived\n * from it. Unpinned roles are generated from the seed + scheme as usual, so an\n * arbitrary brand pair (e.g. forest green + ochre) can be reproduced exactly.\n */\n brand?: Partial<Record<BrandRole, string>>;\n}\n\n/**\n * Generate a complete {@link Colors} token set from a single seed color, a\n * {@link ColorScheme} and a {@link ColorCategory}. Produces a light or dark\n * variant of the same palette; `on-*` colors are driven to WCAG AA contrast\n * so text stays legible for any seed.\n *\n * Delegates to the OKLCH engine in `concepts/generation` — all lightness and\n * chroma math is perceptual, and every derived pair passes through the WCAG\n * guard-rail. Accepts the engine's extended config, so callers may also pass\n * soft `targets` (brand-faithful but guard-railed) and a `checks` sink. Use\n * `generateThemes()` for the light+dark pair plus a {@link ContrastReport}.\n */\nexport const generatePalette = (config: GenerateColorsConfig): Colors => generateColors(config);\n","export type ZIndexableElements =\n | 'dropdown'\n | 'sticky'\n | 'fixed'\n | 'backdrop'\n | 'dialog'\n | 'popover'\n | 'tooltip'\n | 'overlay';\n\nexport const Z_INDEX: Record<ZIndexableElements, number> = {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n backdrop: 1040,\n dialog: 1050,\n popover: 1060,\n tooltip: 1070,\n overlay: 1080,\n};\n","import type { Colors, Radii, Spacing } from '../theme/theme.model';\n\n/** A single W3C DTCG design token. */\nexport interface DtcgToken {\n $value: string;\n $type: 'color' | 'dimension';\n}\n\n/** DTCG-format token document (Style Dictionary compatible), per PRD §6. */\nexport interface DtcgTokens {\n color: Record<string, DtcgToken>;\n size: {\n radius: Record<string, DtcgToken>;\n spacing: Record<string, DtcgToken>;\n };\n}\n\nconst dimensionEntries = (record: Radii | Spacing | undefined): Record<string, DtcgToken> =>\n Object.fromEntries(\n Object.entries(record ?? {})\n .filter(([, value]) => value !== undefined && value !== 'none')\n .map(([key, value]) => [key, { $value: String(value), $type: 'dimension' as const }])\n );\n\n/**\n * Render one theme mode's tokens as W3C DTCG JSON for external pipelines\n * (Style Dictionary etc.). Token names are exactly Uni's `ColorToken` strings —\n * one vocabulary everywhere. The native `UniTheme` object remains the primary,\n * lossless output; this is the interop layer.\n */\nexport const emitDtcgTokens = (input: {\n colors: Colors;\n radii?: Radii;\n spacing?: Spacing;\n}): DtcgTokens => ({\n color: Object.fromEntries(\n Object.entries(input.colors)\n .filter(([, value]) => value !== undefined)\n .map(([key, value]) => [key, { $value: value as string, $type: 'color' as const }])\n ),\n size: {\n radius: dimensionEntries(input.radii),\n spacing: dimensionEntries(input.spacing),\n },\n});\n","import type { Colors, Shadows } from '../theme/theme.model';\nimport { hexToRgb } from '../color/color.helper';\nimport { hexToOklch, oklchToHex } from './oklch.helper';\n\nconst rgba = (hex: string, alpha: number): string => {\n const { red, green, blue } = hexToRgb(hex);\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`;\n};\n\n/**\n * Brand-tinted, theme-scoped elevation shadows (PRD §3.5.C).\n *\n * Light mode replaces the dead-neutral black stacks with a shadow ink pulled\n * toward the brand hue — dark and low-chroma enough to read as shadow, tinted\n * enough to kill the grey \"mud\" where shadows meet brand surfaces. Dark mode\n * goes near-zero: elevation is carried by the surface lightness steps, with\n * only a faint veil kept on floating overlays (menus/dialogs genuinely need\n * separation) and the `warn` glow tinted by the theme's own error color.\n */\nexport const generateShadows = (colors: Colors, mode: 'light' | 'dark' = 'light'): Shadows => {\n const error = colors['error'] ?? '#CC2827';\n\n if (mode === 'dark') {\n return {\n raised: 'none',\n menu: `0px 4px 12px ${rgba('#000000', 0.45)}`,\n dialog: `0px 8px 28px ${rgba('#000000', 0.55)}`,\n warn: `0 0 5px ${rgba(error, 0.55)}, inset 0 0 5px ${rgba(error, 0.35)}`,\n };\n }\n\n // Shadow ink: near-black carrying ~6–8% of the brand hue's chroma.\n const { h } = hexToOklch(colors['primary'] ?? '#000000');\n const ink = oklchToHex({ l: 0.22, c: 0.035, h });\n return {\n raised: `${rgba(ink, 0.2)} 0px 2px 1px -1px, ${rgba(ink, 0.14)} 0px 1px 1px 0px, ${rgba(ink, 0.12)} 0px 1px 3px 0px`,\n menu: `${rgba(ink, 0.2)} 0px 3px 3px -2px, ${rgba(ink, 0.14)} 0px 3px 4px 0px, ${rgba(ink, 0.12)} 0px 1px 8px 0px`,\n dialog: `${rgba(ink, 0.2)} 0px 3px 5px -1px, ${rgba(ink, 0.14)} 0px 6px 10px 0px, ${rgba(ink, 0.12)} 0px 1px 18px 0px`,\n warn: `0 0 5px ${rgba(error, 0.5)}, inset 0 0 5px ${rgba(error, 0.3)}`,\n };\n};\n","import type { Icons } from '../theme/theme.model';\n\n/**\n * Default icon primitives shipped with every theme. Each icon is an inline\n * SVG data URI rendered as a CSS mask over `currentColor`, so icons recolor\n * with the theme automatically. `createTheme` merges a theme's own `icons`\n * over this set — add or override under any name; components render them by\n * token via `uni-icon`, never by inlining SVG.\n */\nexport const BaseIcons: Icons = {\n alertCircle:\n \"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath d='M0 0h24v24H0V0z' fill='none'/%3e%3cpath d='M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'/%3e%3c/svg%3e\",\n calendar:\n \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'%3E%3C/path%3E%3C/svg%3E\",\n checkCircle:\n \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg%3E%3Cpath d='M32,0A32,32,0,1,0,64,32,32,32,0,0,0,32,0Zm2.0873,41.5-5.4107,5.4106-.02.02L14.1751,32.4492l5.4306-5.4306,9.051,9.0509L46.2861,18.44l5.4305,5.4306Z'/%3E%3C/g%3E%3C/svg%3E\",\n chevronUp:\n \"data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m296-345-56-56 240-240 240 240-56 56-184-184-184 184Z'/%3E%3C/svg%3E\",\n chevronDown:\n \"data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E\",\n chevronLeft:\n \"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z'/%3E%3C/svg%3E\",\n chevronRight:\n \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z'/%3E%3C/svg%3E\",\n xCircle:\n \"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3e%3cg%3e%3cpath d='M32,0A32,32,0,1,0,64,32,32,32,0,0,0,32,0ZM47.4649,42.3543l-5.4306,5.43L31.68,37.4305,21.3257,47.7848l-5.4306-5.43L26.25,32,15.8951,21.6456l5.4306-5.4305L31.68,26.5694,42.0343,16.2151l5.4306,5.4305L37.1106,32Z'/%3e%3c/g%3e%3c/svg%3e\",\n search:\n \"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3e%3cg%3e%3cpath d='M 21 3 C 11.601563 3 4 10.601563 4 20 C 4 29.398438 11.601563 37 21 37 C 24.355469 37 27.460938 36.015625 30.09375 34.34375 L 42.375 46.625 L 46.625 42.375 L 34.5 30.28125 C 36.679688 27.421875 38 23.878906 38 20 C 38 10.601563 30.398438 3 21 3 Z M 21 7 C 28.199219 7 34 12.800781 34 20 C 34 27.199219 28.199219 33 21 33 C 13.800781 33 8 27.199219 8 20 C 8 12.800781 13.800781 7 21 7 Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\",\n close:\n \"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cg%3e%3cpath fill='currentColor' d='M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\",\n spinner:\n \"data:image/svg+xml;charset=UTF-8,%3csvg stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3e%3cstyle%3e .oui_spinner %7b transform-origin: center; animation: rotate_360 2s linear infinite;%7d .oui_spinner circle %7b stroke-linecap: round; animation: dash 1.5s ease-in-out infinite;%7d %40keyframes rotate_360 %7b 100%25 %7b transform: rotate(360deg);%7d %7d %40keyframes dash %7b 0%25 %7b stroke-dasharray: 0 150; stroke-dashoffset: 0;%7d 47.5%25 %7b stroke-dasharray: 42 150; stroke-dashoffset: -16;%7d 95%25, 100%25 %7b stroke-dasharray: 42 150; stroke-dashoffset: -59;%7d %7d %3c/style%3e%3cg class='oui_spinner'%3e%3ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3e%3c/circle%3e%3c/g%3e%3c/svg%3e \",\n};\n","import type { ComponentThemes } from '../../component';\nimport { generatePalette, type PaletteConfig } from '../../color';\nimport type { GenerateColorsConfig } from '../../generation/palette.factory';\nimport { generateShadows } from '../../generation/shadow.generator';\nimport { BaseIcons } from '../../iconography/icon.records';\nimport type { TextRole, TextStyle } from '../../typography';\nimport type {\n Borders,\n Colors,\n Icons,\n Radii,\n Shadows,\n Spacing,\n Thicknesses,\n Typography,\n UniTheme,\n} from '../theme.model';\n\n// ==========================================\n// Type scale — the single source of type truth.\n// CSS-ready `typefaces` are derived from this on read (toTypefaces).\n// ==========================================\nconst BaseTypography: Typography = {\n 'display-large': {\n fontFamily: 'Red Hat Display',\n fontSize: 57,\n lineHeight: 64,\n fontWeight: 'normal',\n letterSpacing: -0.25,\n },\n 'display-medium': { fontFamily: 'Red Hat Display', fontSize: 45, lineHeight: 52, fontWeight: 'normal' },\n 'display-small': { fontFamily: 'Red Hat Display', fontSize: 36, lineHeight: 44, fontWeight: 'normal' },\n 'headline-large': { fontFamily: 'Red Hat Display', fontSize: 32, lineHeight: 40, fontWeight: 'normal' },\n 'headline-medium': { fontFamily: 'Red Hat Display', fontSize: 28, lineHeight: 36, fontWeight: 'normal' },\n 'headline-small': { fontFamily: 'Red Hat Display', fontSize: 24, lineHeight: 32, fontWeight: 'normal' },\n 'title-large': { fontFamily: 'Red Hat Display', fontSize: 22, lineHeight: 28, fontWeight: 'normal' },\n 'title-medium': {\n fontFamily: 'Red Hat Display',\n fontSize: 16,\n lineHeight: 24,\n fontWeight: 'medium',\n letterSpacing: 0.15,\n },\n 'title-small': {\n fontFamily: 'Red Hat Display',\n fontWeight: 'medium',\n fontSize: 14,\n lineHeight: 20,\n letterSpacing: 0.1,\n },\n 'body-1-long': { fontFamily: 'Roboto', fontSize: 16, lineHeight: 22 },\n 'body-1-short': { fontFamily: 'Roboto', fontSize: 16, lineHeight: 24 },\n 'body-2-long': { fontFamily: 'Roboto', fontSize: 14, lineHeight: 18 },\n 'body-2-short': { fontFamily: 'Roboto', fontSize: 14, lineHeight: 20 },\n 'subtitle-1': { fontFamily: 'Red Hat Display', fontSize: 16, lineHeight: 24, letterSpacing: 0.15 },\n 'subtitle-2': {\n fontFamily: 'Red Hat Display',\n fontSize: 14,\n lineHeight: 20,\n fontWeight: 'medium',\n letterSpacing: 0.1,\n },\n label: { fontFamily: 'Roboto', fontSize: 14, lineHeight: 20 },\n button: {\n fontFamily: 'Red Hat Display',\n fontSize: 14,\n lineHeight: 20,\n fontWeight: 'medium',\n textTransform: 'capitalize',\n },\n caption: { fontFamily: 'Roboto', fontSize: 12, lineHeight: 18, letterSpacing: 0.4 },\n overline: {\n fontFamily: 'Red Hat Display',\n fontSize: 10,\n lineHeight: 18,\n letterSpacing: 1.5,\n textTransform: 'uppercase',\n },\n paragraph: { fontFamily: 'Roboto', fontSize: 16, lineHeight: 24 },\n quote: { fontFamily: 'Roboto', fontSize: 16, lineHeight: 24 },\n note: { fontFamily: 'Roboto', fontSize: 14, lineHeight: 22, fontStyle: 'italic' },\n // Product-specific extras (were duplicated into `typefaces` before).\n badge: { fontFamily: 'Red Hat Display', fontSize: 16, lineHeight: 24 },\n // Stat-tile value: large, semibold, slightly tightened. Proportional\n // figures on purpose — tabular-nums is for columns, not display numbers.\n stat: {\n fontFamily: 'Red Hat Display',\n fontSize: 32,\n lineHeight: 38,\n fontWeight: 600,\n letterSpacing: -0.32,\n },\n tag: { fontFamily: 'Red Hat Display', fontSize: 15, lineHeight: 20, fontWeight: 600 },\n input: { fontFamily: 'Red Hat Display', fontSize: 14, lineHeight: 24 },\n} as Record<TextRole, TextStyle> & Record<string, TextStyle>;\n\n// ==========================================\n// Shared token scales — theme-agnostic.\n// ==========================================\nconst BaseShadows: Shadows = {\n raised:\n 'rgba(0, 0, 0, 0.2) 0px 2px 1px -1px, rgba(0, 0, 0, 0.14) 0px 1px 1px 0px, rgba(0, 0, 0, 0.12) 0px 1px 3px 0px',\n menu: 'rgba(0, 0, 0, 0.2) 0px 3px 3px -2px, rgba(0, 0, 0, 0.14) 0px 3px 4px 0px, rgba(0, 0, 0, 0.12) 0px 1px 8px 0px;',\n dialog:\n 'rgba(0, 0, 0, 0.2) 0px 3px 5px -1px, rgba(0, 0, 0, 0.14) 0px 6px 10px 0px, rgba(0, 0, 0, 0.12) 0px 1px 18px 0px',\n warn: '0 0 5px rgba(255, 0, 0, 0.5), inset 0 0 5px rgba(255, 0, 0, 0.3)',\n};\n\nconst BaseSpacing: Spacing = {\n none: 'none',\n xxs: '2px',\n xs: '4px',\n sm: '8px',\n md: '16px',\n lg: '32px',\n xl: '64px',\n};\n\nconst BaseThicknesses: Thicknesses = { thin: 1, standard: 2, thick: 4 };\n\nconst BaseRadii: Radii = {\n none: 'none',\n xxs: '4px',\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n max: '999px',\n};\n\n// ==========================================\n// Color-derived token builders — the reason a custom theme\n// only has to supply `colors`.\n// ==========================================\nconst buildBorders = (c: Colors): Borders => ({\n primary: `1px solid ${c.primary}`,\n secondary: `1px solid ${c.secondary}`,\n tertiary: `1px solid ${c.tertiary}`,\n quaternary: `1px solid ${c.quaternary}`,\n warn: `1px solid ${c.warn}`,\n success: `1px solid ${c.success}`,\n light: `1px solid ${c.outline}`,\n dark: `1px solid ${c['on-background']}`,\n dotted: `1px dotted ${c['on-background']}`,\n});\n\nconst buildComponents = (c: Colors): ComponentThemes => ({\n alert: {\n options: { topPosition: 40, borderRadius: 'sm', transitionSpeed: 0.35, elevation: 'md' },\n },\n // Trail typography, link/current colors, separator symbol and spacing are\n // tokens; the current page reads in the stronger ink.\n breadcrumb: {\n options: {\n typeface: 'label',\n color: 'on-background-variant',\n currentColor: 'on-background',\n separatorSymbol: 'chevron_right',\n gap: 'xs',\n },\n },\n // App shell: bar surface, divider, title type and spacing are all tokens.\n appBar: {\n options: {\n color: 'surface',\n height: 56,\n divider: 'light',\n typeface: 'title-large',\n padding: 'md',\n gap: 'md',\n elevation: undefined,\n },\n },\n // Navigation drawer: shares the dialog's native-<dialog> machinery in\n // 'over' mode (elevation + scrim backdrop); 'side' mode is an in-flow\n // aside separated by the divider border primitive.\n drawer: {\n options: {\n color: 'surface',\n width: 280,\n divider: 'light',\n elevation: 'menu',\n padding: 'md',\n backdrop: { background: 'rgba(0, 0, 0, 0.4)' },\n },\n },\n // Initials/icon avatars color from the role's container tokens; the radius\n // token makes them circles by default and squares under a 'sharp' theme.\n avatar: {\n options: { borderRadius: 'max', typeface: 'subtitle-2', fallbackSymbol: 'person' },\n variants: {\n primary: { backgroundColor: c['primary-container'], color: c['on-primary-container'] },\n secondary: { backgroundColor: c['secondary-container'], color: c['on-secondary-container'] },\n tertiary: { backgroundColor: c['tertiary-container'], color: c['on-tertiary-container'] },\n quaternary: { backgroundColor: c['surface-variant'], color: c['on-surface-variant'] },\n warn: { backgroundColor: c['warn-container'], color: c['on-warn-container'] },\n success: { backgroundColor: c['success-container'], color: c['on-success-container'] },\n },\n sizes: {\n sm: { height: 24, width: 24, fontSize: 10 },\n md: { height: 32, width: 32, fontSize: 13 },\n lg: { height: 40, width: 40, fontSize: 16 },\n xl: { height: 56, width: 56, fontSize: 22 },\n },\n },\n // Overlap is a spacing token; the ring separates stacked avatars using the\n // surface color so groups read on any background.\n avatarGroup: { options: { overlap: 'sm', ringColor: 'surface', ringWidth: 2 } },\n // Search field: chrome comes from the shared `input` options via\n // uni-input-box; these tokens style the affordances and suggestion list.\n searchInput: {\n options: {\n searchSymbol: 'search',\n clearSymbol: 'close',\n listColor: 'primary-surface',\n listShadow: 'menu',\n listBorderRadius: 'xs',\n maxSuggestions: 8,\n },\n },\n // Selection controls: chrome colors are tokens (accent fill/ring follows the\n // component's variant; its on-color pairs are derived in the component).\n checkbox: { options: { size: 20, boxColor: 'surface' } },\n radio: { options: { size: 20, ringColor: 'outline', fillColor: 'surface' } },\n dialog: {\n options: {\n borderRadius: 'lg',\n color: 'primary-surface',\n border: 'quaternary',\n padding: 'sm',\n elevation: 'dialog',\n backdrop: { background: 'rgba(255, 255, 255, 0.6)', backdropFilter: 'blur(2px)' },\n },\n },\n dialogHeader: {\n options: {\n borderRadius: 'max',\n color: 'primary',\n height: 48,\n textRole: 'title-large',\n textAlign: 'center',\n closeButtonIcon: 'close',\n closeButtonSize: 'md',\n },\n },\n dropdown: {\n options: { border: 'none', borderRadius: 'xxs', color: 'primary-surface', shadow: 'menu' },\n },\n footer: { options: { height: 52, color: 'primary', logoHeight: 18.6, logoPadding: 'md' } },\n input: {\n options: {\n typeFace: 'input',\n color: 'primary-surface',\n textColor: 'on-primary-surface',\n disabledColor: 'disabled-surface',\n disabledTextColor: 'on-disabled-surface',\n border: 'light',\n borderRadius: 'xs',\n errorShadow: 'warn',\n errorBorder: 'warn',\n height: 32,\n paddingLeft: 'sm',\n focusOutline: `2px solid ${c.primary}`,\n focusOutlineOffset: 2,\n },\n },\n // Field chrome (color/border/typeface/focus) comes from the shared `input`\n // options via uni-input-box; these are the textarea-specific behaviors.\n textarea: { options: { rows: 3, resize: 'vertical' } },\n // Every visual knob is a token, so a theme can turn the default underline\n // tabs into pills (borderRadius 'max' + activeColor) or restyle the\n // indicator without touching component code.\n tabs: {\n options: {\n typeface: 'title-small',\n textColor: 'on-surface-variant',\n activeTextColor: 'primary',\n indicatorColor: 'primary',\n indicatorThickness: 'standard',\n divider: 'light',\n gap: 'sm',\n borderRadius: 'none',\n padding: 'md',\n activeColor: undefined,\n },\n },\n multiSelectDropdown: {\n options: {\n textRole: 'input',\n textColor: 'on-primary-surface',\n dividerBorder: 'light',\n searchInputBorder: 'light',\n searchInputBorderRadius: 'xxs',\n focusOutline: `2px solid ${c.primary}`,\n focusOutlineOffset: 2,\n },\n },\n badge: { options: { borderRadius: 'xxs' } },\n\n // ---- Buttons: variants are structural archetypes with interaction states ----\n button: {\n // Radius and typeface are tokens, not baked values: `max` renders the\n // classic pill and the type scale's `button` role carries the label\n // typography, so shape languages, custom radii, and typography edits\n // restyle every button by re-pointing or redefining a token.\n options: { borderRadius: 'max', typeface: 'button' },\n fixed: {\n position: 'relative',\n overflow: 'hidden',\n outline: '0',\n border: '0',\n cursor: 'pointer',\n transition: 'all 0.28s ease',\n },\n variants: {\n ghost: {\n backgroundColor: 'transparent',\n color: 'currentcolor',\n '&:hover': { backgroundColor: 'rgba(0,0,0,0.06)' },\n },\n // Solid\n primary: {\n backgroundColor: c.primary,\n color: c['on-primary'],\n border: '0',\n '&:hover': { filter: 'brightness(0.92)' },\n },\n // Hollow\n secondary: {\n backgroundColor: 'transparent',\n color: c.secondary,\n border: `1px solid ${c.secondary}`,\n '&:hover': { backgroundColor: c.secondary, color: c['on-secondary'] },\n },\n // Solid\n tertiary: {\n backgroundColor: c.tertiary,\n color: c['on-tertiary'],\n border: '0',\n '&:hover': { filter: 'brightness(0.92)' },\n },\n warn: {\n backgroundColor: c.warn,\n color: c['on-warn'],\n border: '0',\n '&:hover': { filter: 'brightness(0.92)' },\n },\n success: {\n backgroundColor: c.success,\n color: c['on-success'],\n border: '0',\n '&:hover': { filter: 'brightness(0.92)' },\n },\n disabled: {\n backgroundColor: `${c.disabled} !important`,\n color: `${c['on-disabled']} !important`,\n border: '0',\n },\n },\n // Sizes are geometry only (height/padding/fontSize); families, weights and\n // transforms come from the `typeface` option's type-scale role.\n sizes: {\n sm: { height: 22, fontSize: 12, padding: '0 12px', fontWeight: 600 },\n md: { height: 26, fontSize: 16, padding: '0 16px' },\n lg: { height: 36, fontSize: 18, padding: '0 18px' },\n xl: { height: 48, fontSize: 24, padding: '0 22px' },\n },\n },\n iconButton: {\n options: { borderRadius: 'max' },\n variants: {\n ghost: { backgroundColor: 'transparent', color: 'currentcolor' },\n primary: { backgroundColor: c.primary, color: c['on-primary'] },\n secondary: { backgroundColor: c.secondary, color: c['on-secondary'] },\n tertiary: { backgroundColor: c.tertiary, color: c['on-tertiary'] },\n warn: { backgroundColor: c.warn, color: c['on-warn'] },\n success: { backgroundColor: c.success, color: c['on-success'] },\n disabled: {\n backgroundColor: 'transparent !important',\n color: `${c['on-disabled']} !important`,\n },\n },\n sizes: {\n sm: { height: 22, minHeight: 22, width: 22, minWidth: 22, fontSize: 18 },\n md: { height: 26, minHeight: 26, width: 26, minWidth: 26, fontSize: 22 },\n lg: { height: 36, minHeight: 36, width: 36, minWidth: 36, fontSize: 30 },\n xl: { height: 40, minHeight: 40, width: 40, minWidth: 40, fontSize: 34 },\n },\n },\n progressGauge: {\n fixed: { textFill: c['on-background'] },\n // Track = the role's container token (the palette's soft tint of that\n // role), arc = the role base — so gauges follow any brand palette instead\n // of the fixed pastels they used to hardcode.\n variants: {\n primary: { backgroundColor: c['primary-container'], color: c.primary },\n secondary: { backgroundColor: c['secondary-container'], color: c.secondary },\n tertiary: { backgroundColor: c['tertiary-container'], color: c.tertiary },\n warn: { backgroundColor: c['warn-container'], color: c.warn },\n success: { backgroundColor: c['success-container'], color: c.success },\n },\n sizes: {\n sm: { height: '54px' },\n md: { height: '68px' },\n lg: { height: '82px' },\n xl: { height: '104px' },\n },\n },\n card: {\n // The frame is tokens: the border primitive named by the active variant\n // (borders.primary … borders.success — override with `border` to pin all\n // cards to one primitive, e.g. a custom 'brush-stroke'), the radii scale\n // (`xs` = the classic 8px), and an optional elevation shadow.\n options: { borderRadius: 'xs' },\n fixed: { overflow: 'hidden', backgroundColor: c.background },\n },\n cardHeader: {\n fixed: { padding: '12px 24px' },\n variants: {\n primary: { backgroundColor: c.primary, color: c['on-primary'] },\n secondary: { backgroundColor: c.secondary, color: c['on-secondary'] },\n tertiary: { backgroundColor: c.tertiary, color: c['on-tertiary'] },\n warn: { backgroundColor: c.warn, color: c['on-warn'] },\n success: { backgroundColor: c.success, color: c['on-success'] },\n },\n },\n cardContent: { fixed: { padding: '12px 24px' } },\n dataSearch: {\n options: {\n border: 'light',\n borderRadius: 'xs',\n color: 'primary-surface',\n placeholderColor: 'disabled',\n },\n },\n dataTable: {\n options: {\n color: 'primary-surface',\n border: 'light',\n borderRadius: 'sm',\n elevation: undefined,\n headerPadding: 'sm',\n footerPadding: 'sm',\n thTextRole: 'headline-small',\n thColor: 'primary-container',\n thVerticalBorder: 'dotted',\n thHorizontalBorder: 'light',\n thPadding: 'sm',\n tdTextRole: 'title-small',\n tdColor: 'primary-surface',\n tdStickyColor: 'primary-container',\n tdPadding: 'sm',\n tdVerticalBorder: 'dotted',\n tdHorizontalBorder: 'light',\n rowHoverColor: 'primary-container',\n loadingOverlayColor: 'scrim',\n loadingSpinnerColor: 'primary',\n loadingSpinnerSize: 40,\n },\n },\n notificationBadge: { options: { borderRadius: 'sm', offset: -10 } },\n paginator: {\n options: {\n gap: 'xs',\n textRole: 'label',\n inputBorder: 'light',\n inputBorderRadius: 'xs',\n pageBorderRadius: 'xs',\n currentPageBorder: 'light',\n currentPageBorderRadius: 'xs',\n },\n },\n // KPI tile: card-recipe frame, muted label over a large `stat`-role value;\n // delta inks are the semantic success/error (direction × goodness decided\n // by the component); sparkline in the outline hue, endpoint in the accent.\n stat: {\n options: {\n labelTypeface: 'label',\n valueTypeface: 'stat',\n color: 'surface',\n border: 'light',\n borderRadius: 'xs',\n positiveColor: 'success',\n negativeColor: 'error',\n trendColor: 'outline',\n trendAccent: 'primary',\n padding: 'md',\n gap: 'xxs',\n },\n },\n // Range input: fill/thumb in the accent, track in the muted surface, both\n // radius-tokened — geometry knobs are plain numbers.\n slider: {\n options: {\n color: 'primary',\n trackColor: 'surface-variant',\n borderRadius: 'max',\n trackHeight: 4,\n thumbSize: 16,\n },\n },\n // Loading placeholders paint with surface tokens so they sit naturally on\n // any theme; the shimmer highlight sweeps in the lighter surface color.\n skeleton: {\n options: {\n color: 'surface-variant',\n highlightColor: 'surface',\n borderRadius: 'xs',\n animation: 'shimmer',\n duration: 1.4,\n gap: 'sm',\n },\n },\n snackbar: {\n options: { bottomPosition: 40, transitionDelay: '0.35s', autoCloseDelay: 35000 },\n },\n symbol: { options: { fill: 0, weight: 400, grade: 0, opticalSize: 24 } },\n toggle: { options: { size: 20, trackColor: 'surface-variant', knobColor: 'surface' } },\n tooltip: {\n options: {\n border: undefined,\n borderRadius: 'xs',\n shadow: 'raised',\n color: 'inverse-surface',\n typeface: 'label',\n },\n },\n});\n\n// ==========================================\n// Theme factory. A custom theme = a name + a `colors` map.\n// Everything color-dependent (borders, component variants) is derived;\n// `borders`/`components` overrides deep-merge over the derived defaults, so a\n// theme file can define its own named primitives and rewire per-component\n// options without restating anything it doesn't touch.\n// ==========================================\nexport interface ThemeConfig {\n id: string;\n name: string;\n colors: Colors;\n /**\n * Named icon primitives (inline SVG data URIs, masked with `currentColor`),\n * merged over {@link BaseIcons}. Add or override under any name; components\n * render them by token via the icon component, never by inlining SVG.\n */\n icons?: Icons;\n /** Override the radii scale, e.g. a generated shape-language preset. */\n radii?: Radii;\n /** Override the elevation shadows, e.g. brand-tinted generated stacks. */\n shadows?: Shadows;\n /**\n * Named border primitives, merged over the derived defaults. New tokens may\n * use any name — point component options (or `components` overrides) at\n * them and every consumer of the shared token picks up the change.\n */\n borders?: Borders;\n /**\n * Sparse per-component overrides, deep-merged over the derived component\n * themes: only the sections you provide (fixed/variants/sizes/options keys)\n * are replaced; everything else keeps tracking the library defaults.\n */\n components?: ComponentThemes;\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst deepMerge = <T>(base: T, override: Partial<T> | undefined): T => {\n if (!override) return base;\n const out = { ...base } as Record<string, unknown>;\n for (const [key, value] of Object.entries(override)) {\n out[key] = isRecord(value) && isRecord(out[key]) ? deepMerge(out[key], value) : value;\n }\n return out as T;\n};\n\nexport const createTheme = ({\n id,\n name,\n colors,\n icons = {},\n radii = BaseRadii,\n shadows = BaseShadows,\n borders,\n components,\n}: ThemeConfig): UniTheme => ({\n id,\n name,\n colors,\n typography: BaseTypography,\n borders: deepMerge(buildBorders(colors), borders),\n radii,\n shadows,\n spacing: BaseSpacing,\n thicknesses: BaseThicknesses,\n icons: { ...BaseIcons, ...icons },\n components: deepMerge(buildComponents(colors), components),\n});\n\n/**\n * Build a full {@link UniTheme} straight from a {@link PaletteConfig} — the\n * one-call path a theme builder uses to turn a brand color (or a seed +\n * scheme + category) into a complete, ready-to-apply theme.\n */\nexport const createThemeFromPalette = (\n config: GenerateColorsConfig & { id?: string; name?: string; icons?: Icons; radii?: Radii }\n): UniTheme => {\n const colors = generatePalette(config);\n return createTheme({\n id: config.id ?? 'CustomTheme',\n name: config.name ?? 'Custom Theme',\n colors,\n radii: config.radii,\n shadows: generateShadows(colors, config.mode ?? 'light'),\n icons: config.icons,\n });\n};\n\n/**\n * Seed for the shipped Light/Dark themes. Swap these three values (or call\n * `generatePalette` with your own) to reskin the entire system — every color\n * token is derived, so there is nothing else to hand-author.\n */\nexport const BASE_PALETTE_CONFIG: Pick<PaletteConfig, 'seed' | 'scheme' | 'category'> = {\n seed: '#4F46E5', // indigo\n scheme: 'triadic',\n category: 'neutral',\n};\n\nexport const lightColors: Colors = generatePalette({ ...BASE_PALETTE_CONFIG, mode: 'light' });\n\nexport const BaseTheme: UniTheme = createTheme({\n id: 'BaseTheme',\n name: 'Base Theme',\n colors: lightColors,\n});\n","import type { ColorCategory, ColorScheme } from '../color/color.types';\nimport type { Radii, UniTheme } from '../theme/theme.model';\nimport type { BrandRole } from '../color/color.factory';\nimport { createTheme } from '../theme/themes/base.theme';\nimport { hexToOklch, oklchToHex } from './oklch.helper';\nimport { CategoryChroma, generateColors } from './palette.factory';\nimport { generateShadows } from './shadow.generator';\nimport type {\n ContrastCheck,\n GeneratedThemeConfig,\n GenerationInput,\n ThemeShape,\n} from './generation.types';\n\n/** Radii presets per shape language (PRD §3.5.A). Same keys as `BaseRadii`. */\nexport const ShapeRadii: Record<ThemeShape, Radii> = {\n sharp: { none: 'none', xxs: '0px', xs: '0px', sm: '0px', md: '0px', lg: '0px', max: '0px' },\n modern: { none: 'none', xxs: '4px', xs: '8px', sm: '16px', md: '24px', lg: '32px', max: '999px' },\n playful: { none: 'none', xxs: '8px', xs: '16px', sm: '24px', md: '32px', lg: '48px', max: '9999px' },\n};\n\n/** Shortest angular distance between two hue angles, in degrees (0–180). */\nconst hueDistance = (a: number, b: number): number => {\n const d = Math.abs(a - b) % 360;\n return d > 180 ? 360 - d : d;\n};\n\n/**\n * Classify 2–3 brand hues against {@link ColorScheme} by their angular\n * distances from the primary hue. Heuristic bands, widest match wins.\n */\nexport const classifyScheme = (primaryHue: number, otherHues: number[]): ColorScheme => {\n const distances = otherHues.map((h) => hueDistance(primaryHue, h));\n if (distances.length === 0) return 'analogous';\n if (distances.every((d) => d < 15)) return 'monochromatic';\n if (distances.every((d) => d <= 65)) return 'analogous';\n if (distances.some((d) => d >= 165)) return 'complimentary';\n if (distances.length > 1 && distances.every((d) => d >= 130)) return 'splitComplimentary';\n return 'triadic';\n};\n\n/**\n * Infer a tonal category from the seed's own chroma, so an unstated \"vibe\"\n * preserves the brand's character — vivid stays vivid, muted stays muted.\n */\nexport const inferCategory = (seedHex: string): ColorCategory => {\n const { c } = hexToOklch(seedHex);\n if (c >= 0.13) return 'jewel';\n if (c >= 0.07) return 'earth';\n if (c >= 0.03) return 'pastel';\n return 'neutral';\n};\n\n/**\n * The theme generation engine (PRD §3.3): brand seed(s) in, complete WCAG-AA\n * light+dark {@link Colors} pair out, with a machine-readable contrast report.\n * Pure and deterministic — identical input yields identical output.\n */\nexport const generateThemes = (input: GenerationInput): GeneratedThemeConfig => {\n const seeds = (Array.isArray(input.seed) ? input.seed : [input.seed]).slice(0, 3);\n const [primary, secondary, tertiary] = seeds;\n const scheme =\n input.scheme ??\n (seeds.length > 1\n ? classifyScheme(hexToOklch(primary).h, seeds.slice(1).map((s) => hexToOklch(s).h))\n : 'analogous');\n const category = input.vibe ?? inferCategory(primary);\n\n // Seeds pass through as soft targets with their own chroma (brand fidelity).\n // Only an *explicit* vibe caps them to the category's chroma ceiling.\n const applyVibe = (hex: string): string => {\n if (!input.vibe) return hex;\n const color = hexToOklch(hex);\n return oklchToHex({ ...color, c: Math.min(color.c, CategoryChroma[input.vibe]) });\n };\n const targets: Partial<Record<BrandRole, string>> = { primary: applyVibe(primary) };\n if (secondary) targets.secondary = applyVibe(secondary);\n if (tertiary) targets.tertiary = applyVibe(tertiary);\n\n const checks: ContrastCheck[] = [];\n const base = { seed: primary, scheme, category, targets, checks };\n const lightColors = generateColors({ ...base, mode: 'light' });\n const darkColors = generateColors({ ...base, mode: 'dark' });\n\n const worstRatio = checks.reduce((worst, check) => Math.min(worst, check.ratio), 21);\n return {\n lightColors,\n darkColors,\n radii: input.shape ? ShapeRadii[input.shape] : undefined,\n lightShadows: generateShadows(lightColors, 'light'),\n darkShadows: generateShadows(darkColors, 'dark'),\n report: { checks, worstRatio, pass: checks.every((check) => check.pass) },\n };\n};\n\n/**\n * Convenience wrapper: {@link generateThemes} piped through `createTheme()`,\n * returning a registration-ready light/dark {@link UniTheme} pair.\n */\nexport const generateUniThemes = (input: GenerationInput): { light: UniTheme; dark: UniTheme } => {\n const { lightColors, darkColors, radii, lightShadows, darkShadows } = generateThemes(input);\n const name = input.name ?? 'Brand';\n const id = name.replace(/\\W+/g, '') || 'Brand';\n return {\n light: createTheme({\n id: `${id}Light`,\n name: `${name} Light`,\n colors: lightColors,\n radii,\n shadows: lightShadows,\n }),\n dark: createTheme({\n id: `${id}Dark`,\n name: `${name} Dark`,\n colors: darkColors,\n radii,\n shadows: darkShadows,\n }),\n };\n};\n","import type { Colors, Shadows } from '../theme/theme.model';\nimport { generateThemes } from './theme.generator';\nimport type { ContrastReport, GenerationInput } from './generation.types';\n\nexport interface ThemeFileInput extends GenerationInput {\n /** Emit the dark theme alongside the light one. Defaults to true. */\n darkMode?: boolean;\n}\n\n/** A rendered static theme file plus everything a consumer needs to wire it. */\nexport interface EmittedThemeFile {\n /** TypeScript source for a static `uni-theme.ts` — plain, reviewable data. */\n content: string;\n /** Registration snippet for the consumer's `app.config.ts`. */\n providerSnippet: string;\n report: ContrastReport;\n /** One-line human summary of the contrast report. */\n reportSummary: string;\n}\n\nconst IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/;\nconst asKey = (k: string): string => (IDENT.test(k) ? k : `'${k}'`);\n\nconst recordLiteral = (record: Record<string, string | undefined>, indent: string): string =>\n Object.entries(record)\n .map(([k, v]) => `${indent}${asKey(k)}: '${v}',`)\n .join('\\n');\n\n// The derived border primitives, spelled out as template literals over the\n// colors const — visible, editable, and edits to a color propagate. Access is\n// bracket-only: `Colors` carries an index signature, and consumer tsconfigs\n// with `noPropertyAccessFromIndexSignature` (ng new strict default) reject\n// dot access on it.\nconst bordersLiteral = (): string =>\n [\n '/**',\n ' * Named border primitives. These mirror the derived defaults — edit them, or',\n ' * add your own under any token name and point component options (or the',\n ' * `components` overrides below) at it. Every component deriving from a',\n ' * shared token picks up the change.',\n ' */',\n 'const borders = (colors: Colors): Borders => ({',\n \" primary: `1px solid ${colors['primary']}`,\",\n \" secondary: `1px solid ${colors['secondary']}`,\",\n \" tertiary: `1px solid ${colors['tertiary']}`,\",\n \" quaternary: `1px solid ${colors['quaternary']}`,\",\n \" warn: `1px solid ${colors['warn']}`,\",\n \" success: `1px solid ${colors['success']}`,\",\n \" light: `1px solid ${colors['outline']}`,\",\n \" dark: `1px solid ${colors['on-background']}`,\",\n \" dotted: `1px dotted ${colors['on-background']}`,\",\n '});',\n ].join('\\n');\n\nconst themeExport = (\n exportName: string,\n displayName: string,\n colorsConst: string,\n shadowsConst: string,\n radii: boolean\n): string =>\n [\n `export const ${exportName}: UniTheme = createTheme({`,\n ` id: '${exportName}',`,\n ` name: '${displayName}',`,\n ` colors: ${colorsConst},`,\n ` borders: borders(${colorsConst}),`,\n ` components: components(${colorsConst}),`,\n ` shadows: ${shadowsConst},`,\n ' icons,',\n ...(radii ? [' radii,'] : []),\n '});',\n ].join('\\n');\n\n/**\n * Render a static `uni-theme.ts` from a brand seed — the file the `ng add`\n * schematic writes and the MCP `generate_uni_theme` tool returns.\n *\n * The file is the system's **source of truth**: literal colors, the border\n * primitives spelled out, and a sparse `components` override section — so a\n * human (or an AI agent) can retheme by editing tokens in place, with no\n * runtime generation. Deterministic: same input, same file.\n */\nexport const emitThemeFile = (input: ThemeFileInput): EmittedThemeFile => {\n const { darkMode = true, name = 'Brand' } = input;\n const { lightColors, darkColors, radii, lightShadows, darkShadows, report } = generateThemes(input);\n const id = (name.replace(/\\W+/g, '') || 'Brand') as string;\n\n const seeds = Array.isArray(input.seed) ? input.seed : [input.seed];\n const regenerate = [\n `--brand=${seeds.join(',')}`,\n input.vibe && `--vibe=${input.vibe}`,\n input.scheme && `--scheme=${input.scheme}`,\n input.shape && `--shape=${input.shape}`,\n !darkMode && '--dark-mode=false',\n ]\n .filter(Boolean)\n .join(' ');\n\n const reportSummary = `${report.checks.length} contrast pairs checked · worst ${report.worstRatio}:1 · ${\n report.pass ? 'all AA' : `${report.checks.filter((c) => !c.pass).length} failing`\n }`;\n\n const modes: {\n exportName: string;\n displayName: string;\n colorsConst: string;\n colors: Colors;\n shadowsConst: string;\n shadows: Shadows;\n }[] = [\n {\n exportName: `${id}Light`,\n displayName: `${name} Light`,\n colorsConst: 'lightColors',\n colors: lightColors,\n shadowsConst: 'lightShadows',\n shadows: lightShadows,\n },\n ...(darkMode\n ? [\n {\n exportName: `${id}Dark`,\n displayName: `${name} Dark`,\n colorsConst: 'darkColors',\n colors: darkColors,\n shadowsConst: 'darkShadows',\n shadows: darkShadows,\n },\n ]\n : []),\n ];\n\n const content = [\n '/**',\n ` * ${name} theme for Uni — generated data, yours to edit.`,\n ' *',\n ` * Regenerate colors: ng add @uni-design-system/uni-angular ${regenerate}`,\n ' * (or the `generate-uni-theme` MCP tool). Edits are never overwritten silently —',\n ' * regeneration rewrites this file, so commit before regenerating.',\n ` * ${reportSummary}.`,\n ' */',\n 'import {',\n ' createTheme,',\n ' type Borders,',\n ' type Colors,',\n ' type ComponentThemes,',\n ' type Icons,',\n ' type Shadows,',\n ' type UniTheme,',\n \"} from '@uni-design-system/uni-core';\",\n '',\n ...modes.map(({ colorsConst, colors }) => `const ${colorsConst}: Colors = {\\n${recordLiteral(colors as Record<string, string>, ' ')}\\n};\\n`),\n '/** Brand-tinted elevation shadows — theme-scoped, edit freely. */',\n ...modes.map(({ shadowsConst, shadows }) => `const ${shadowsConst}: Shadows = {\\n${recordLiteral(shadows as Record<string, string>, ' ')}\\n};\\n`),\n bordersLiteral(),\n '',\n '/**',\n ' * Sparse component overrides, deep-merged over Uni component defaults: only',\n ' * what you write here changes. Point components at your own primitives, e.g.:',\n \" * button: { variants: { secondary: { border: `2px dashed ${colors['tertiary']}` } } },\",\n \" * input: { options: { borderRadius: 'max' } },\",\n ' */',\n 'const components = (colors: Colors): ComponentThemes => ({});',\n '',\n '/**',\n ' * Icon primitives, merged over the built-in set (close, search, spinner,',\n ' * chevrons, …). Define an icon ONCE here as an inline SVG data URI — it is',\n ' * masked with currentColor, so it recolors with the theme — and render it',\n \" * anywhere via `<uni-icon name='…'/>`. Never inline SVG in components.\",\n \" * Example: logo: \\\"data:image/svg+xml,%3Csvg xmlns='…' viewBox='0 0 24 24'%3E…%3C/svg%3E\\\",\",\n ' */',\n 'const icons: Icons = {};',\n '',\n ...(radii\n ? [`/** Shape language: '${input.shape}'. */`, `const radii = {\\n${recordLiteral(radii as Record<string, string>, ' ')}\\n};`, '']\n : []),\n ...modes.map(\n ({ exportName, displayName, colorsConst, shadowsConst }) =>\n `${themeExport(exportName, displayName, colorsConst, shadowsConst, !!radii)}\\n`\n ),\n '/** First key wins as the default theme when registered via UNI_THEMES. */',\n `export const ${id}Themes = { ${modes.map((m) => m.exportName).join(', ')} };`,\n '',\n ].join('\\n');\n\n const providerSnippet = [\n `import { UNI_THEMES } from '@uni-design-system/uni-angular';`,\n `import { ${id}Themes } from './uni-theme';`,\n '',\n '// app.config.ts → providers:',\n `{ provide: UNI_THEMES, useValue: ${id}Themes },`,\n ].join('\\n');\n\n return { content, providerSnippet, report, reportSummary };\n};\n","import { Gradient } from './gradient.model';\n\nexport function gradient(config: Gradient): string {\n return ``;\n}\n","import { Size } from '../core.types';\nimport { DeviceOrientation } from './layout.types';\n\nexport function getDeviceSize(height: number, width: number): Size {\n if (!height || !width) return 'md';\n\n const max = Math.max(height, width);\n\n if (max <= 600)\n // Small Mobile\n return 'xs';\n\n if (max <= 960)\n // Large Mobile\n return 'sm';\n\n if (max <= 1264)\n // Tablets\n return 'md';\n\n if (max <= 1904)\n // Laptops & Monitors\n return 'lg';\n\n return 'xl'; // Large Monitors\n}\n\nexport function getDeviceOrientation(height: number, width: number): DeviceOrientation {\n if (!height || !width) return 'landscape';\n\n return height > width ? 'portrait' : 'landscape';\n}\n","import { BoxShadow, ShadowDefinition } from './shadow.model';\n\n// box-shadow: none|h-offset v-offset blur spread color\nexport const GetBoxShadow = ({ offset, blur, opacity }: BoxShadow): string => {\n return `0 ${offset}px ${blur}px rgba(0,0,0,0.${opacity})`;\n};\n\nexport const GetBoxShadows = ({ umbra, penumbra }: ShadowDefinition): string => {\n return GetBoxShadow(umbra) + ', ' + GetBoxShadow(penumbra);\n};\n","import { ShadowDefinition } from './shadow.model';\nimport { ShadowElevation } from './shadow.types';\nimport { GetBoxShadows } from './shadow.utils';\n\nexport const ShadowMap: Record<ShadowElevation, ShadowDefinition> = {\n pressed: {\n umbra: {\n offset: 1,\n blur: 2,\n opacity: 24,\n },\n penumbra: {\n offset: 1,\n blur: 3,\n opacity: 12,\n },\n },\n raised: {\n umbra: {\n offset: 3,\n blur: 6,\n opacity: 23,\n },\n penumbra: {\n offset: 3,\n blur: 6,\n opacity: 16,\n },\n },\n focussed: {\n umbra: {\n offset: 6,\n blur: 6,\n opacity: 23,\n },\n penumbra: {\n offset: 10,\n blur: 20,\n opacity: 19,\n },\n },\n navigation: {\n umbra: {\n offset: 10,\n blur: 10,\n opacity: 22,\n },\n penumbra: {\n offset: 14,\n blur: 28,\n opacity: 25,\n },\n },\n modal: {\n umbra: {\n offset: 15,\n blur: 12,\n opacity: 22,\n },\n penumbra: {\n offset: 19,\n blur: 38,\n opacity: 30,\n },\n },\n};\n\nexport const ShadowCssMap: Record<ShadowElevation, string> = {\n pressed: GetBoxShadows(ShadowMap['pressed']),\n raised: GetBoxShadows(ShadowMap['raised']),\n focussed: GetBoxShadows(ShadowMap['focussed']),\n navigation: GetBoxShadows(ShadowMap['navigation']),\n modal: GetBoxShadows(ShadowMap['modal']),\n};\n","import type { StyleExpression } from './style.types';\n\nexport const removeInputPlatformStyling: StyleExpression = {\n appearance: 'none' /* Removes default platform styling */,\n background: 'none' /* Removes default background */,\n border: 'none' /* Removes default gray border */,\n outline: 'none' /* Removes default focus ring */,\n boxShadow: 'none' /* Removes any inner shadows on iOS */,\n padding: 0 /* Resets default spacing */,\n width: '100%' /* Makes it fill the stylized div */,\n};\n","import type { Colors } from '../theme.model';\nimport { generatePalette } from '../../color';\nimport { generateShadows } from '../../generation/shadow.generator';\nimport { BASE_PALETTE_CONFIG, createTheme } from './base.theme';\n\nexport const darkColors: Colors = generatePalette({ ...BASE_PALETTE_CONFIG, mode: 'dark' });\n\nexport const DarkTheme = createTheme({\n id: 'DarkTheme',\n name: 'Dark Theme',\n colors: darkColors,\n shadows: generateShadows(darkColors, 'dark'),\n});\n","import { generateShadows } from '../../generation/shadow.generator';\nimport { createTheme, lightColors } from './base.theme';\n\nexport const LightTheme = createTheme({\n id: 'LightTheme',\n name: 'Light Theme',\n colors: lightColors,\n shadows: generateShadows(lightColors, 'light'),\n});\n","import { type UniTheme } from './theme.model';\nimport { DarkTheme } from './themes/dark.theme';\nimport { LightTheme } from './themes/light.theme';\n\nexport const UniThemes: Record<string, UniTheme> = {\n LightTheme,\n DarkTheme,\n};\n\n// First Theme is default.\nexport const DefaultThemeId = Object.keys(UniThemes)[0];\n","import { FontWeight } from './typography.types';\n\nexport const FontWeightMap: Record<FontWeight, number> = {\n thin: 100,\n 'extra-light': 200,\n light: 200,\n normal: 400,\n medium: 500,\n 'semi-bold': 600,\n bold: 700,\n 'extra-bold': 800,\n black: 900,\n 'extra-black': 950,\n};\n","import type { TextStyle, TypeFaceDefinition } from './text.model';\n\nconst px = (value: number): string => `${value}px`;\n\n/**\n * Converts a TextStyle (numeric, design-token oriented) into a\n * TypeFaceDefinition (CSS-ready) so a theme's `typefaces` map can be\n * derived from its `typography` block instead of being duplicated.\n */\nexport const toTypeface = (style: TextStyle): TypeFaceDefinition => ({\n fontFamily: style.fontFamily,\n fontSize: px(style.fontSize),\n lineHeight: px(style.lineHeight),\n ...(style.letterSpacing !== undefined && { letterSpacing: px(style.letterSpacing) }),\n ...(style.textTransform === 'uppercase' && { textTransform: 'uppercase' as const }),\n ...(style.fontWeight !== undefined && { fontWeight: style.fontWeight }),\n ...(style.fontStyle && { fontStyle: style.fontStyle }),\n});\n\nexport const toTypefaces = (\n typography: Record<string, TextStyle>\n): Record<string, TypeFaceDefinition> =>\n Object.fromEntries(Object.entries(typography).map(([role, style]) => [role, toTypeface(style)]));\n","import { GetFieldType } from './types';\n\nexport function getValue<TData, TPath extends string, TDefault = GetFieldType<TData, TPath>>(\n data: TData,\n path: TPath,\n defaultValue?: TDefault\n): GetFieldType<TData, TPath> | TDefault {\n const value = path\n .split(/[.[\\]]/)\n .filter(Boolean)\n .reduce<GetFieldType<TData, TPath>>((value, key) => (value as any)?.[key], data as any);\n\n return value !== undefined ? value : (defaultValue as TDefault);\n}\n","export const debounce = <T extends (...args: any[]) => ReturnType<T>>(\n callback: T,\n timeout: number\n): ((...args: Parameters<T>) => void) => {\n let timer: ReturnType<typeof setTimeout>;\n\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n callback(...args);\n }, timeout);\n };\n};\n","/**\n * `generate-uni-theme` — runs the uni-core OKLCH engine at tool-call time and\n * renders the static `uni-theme.ts` source. The MCP returns *file content*;\n * the calling agent writes it to disk. Per the static-theme-file direction,\n * the generated file is the system's editable source of truth — retheming\n * later means editing that file's tokens, not calling this tool again\n * (regenerate only to re-derive colors from a new brand seed).\n */\nimport { emitThemeFile, type ThemeFileInput } from '@uni-design-system/uni-core';\n\nconst HEX = /^#[0-9a-fA-F]{6}$/;\n\nexport type GenerateThemeArgs = Omit<ThemeFileInput, 'seed'> & { brand: string | string[] };\n\nexport function formatGeneratedTheme(args: GenerateThemeArgs): string {\n const seeds = (Array.isArray(args.brand) ? args.brand : [args.brand]).map((s) =>\n s.startsWith('#') ? s : `#${s}`,\n );\n const invalid = seeds.filter((s) => !HEX.test(s));\n if (invalid.length) {\n return `Invalid brand color(s): ${invalid.join(', ')}. Pass 6-digit hex values, e.g. \"#0052FF\" (1–3 colors: primary, secondary, tertiary).`;\n }\n\n const { content, providerSnippet, reportSummary, report } = emitThemeFile({\n ...args,\n seed: seeds.length === 1 ? seeds[0] : seeds,\n });\n\n const failing = report.checks.filter((c) => !c.pass);\n const failLines = failing.length\n ? `\\n\\nFailing pairs:\\n${failing.map((f) => `- ${f.mode} \\`${f.foreground}\\` on \\`${f.background}\\`: ${f.ratio}:1 (needs ${f.required}:1)`).join('\\n')}`\n : '';\n\n return [\n `# ${args.name ?? 'Brand'} theme — generated`,\n '',\n 'Write this file to `src/app/uni-theme.ts`:',\n '',\n '```ts',\n content.trimEnd(),\n '```',\n '',\n '## Register it (app.config.ts)',\n '',\n '```ts',\n providerSnippet,\n '```',\n '',\n '## Contrast report',\n '',\n `${reportSummary}.${failLines}`,\n '',\n '## Retheming later — edit the file, do not regenerate',\n '',\n 'The file above is the source of truth for the whole look and feel:',\n '- **Colors**: edit any token in the `lightColors`/`darkColors` maps; borders and every',\n ' component deriving from that token update automatically.',\n '- **Borders**: add your own primitive under any name in `borders` (e.g.',\n \" `'brush-stroke': `3px dashed ${colors['tertiary']}``) and reference it from `components`\",\n ' overrides — one edit restyles every component sharing the token. Use bracket access',\n ' on `colors` — dot access fails under `noPropertyAccessFromIndexSignature`.',\n '- **Components**: the `components` function returns sparse overrides deep-merged over',\n ' Uni defaults — set only what you change, e.g.',\n \" `button: { variants: { secondary: { border: borders(colors)['brush-stroke'] } } }`.\",\n '- **Icons**: never inline SVG in components. Define an icon ONCE in the theme file\\'s',\n ' `icons` map as an inline SVG data URI — it is masked with `currentColor`, so it',\n \" recolors with the theme — then render it anywhere with `<uni-icon name='…'/>`.\",\n ' A built-in set (close, search, spinner, chevrons, …) ships with every theme.',\n '- Never hardcode hex values in application components: style through `ThemeService`',\n ' accessors and semantic token names so themes stay swappable.',\n ].join('\\n');\n}\n"],"mappings":"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AAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA,YACjB;AAAA,YACA;AAAA,cACE,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,MAAQ;AAAA,cACR,UAAY;AAAA,cACZ,aAAe;AAAA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","names":["background","lightColors","darkColors","lightColors","darkColors"]}
|