{"version":3,"file":"litTheme.mjs","names":[],"sources":["../../../src/react-renderer/theme/litTheme.ts"],"sourcesContent":["import type { Types } from \"@a2ui/lit/0.8\";\n\n/**\n * Default theme for A2UI React components.\n *\n * This theme uses the same CSS class conventions as the Lit renderer,\n * ensuring visual consistency between React and Lit implementations.\n *\n * IMPORTANT: This theme must be kept in sync with the Lit renderer's internal\n * styling. If Lit components change their class maps, this file must be updated\n * to match. Ideally, Lit would export its default theme for direct import.\n *\n * Requires the structural styles to be injected:\n * @example\n * ```tsx\n * import { A2UIProvider } from '@a2ui/react';\n * import { injectStyles } from '@a2ui/react/styles';\n *\n * // Inject structural CSS at app startup\n * injectStyles();\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n * ```\n */\n\n// =============================================================================\n// Element Styles (used for markdown rendering and form elements)\n// =============================================================================\n\nconst elementA = {\n \"typography-f-sf\": true,\n \"typography-fs-n\": true,\n \"typography-w-500\": true,\n \"layout-as-n\": true,\n \"layout-dis-iflx\": true,\n \"layout-al-c\": true,\n \"typography-td-none\": true,\n \"color-c-p40\": true,\n};\n\nconst elementAudio = {\n \"layout-w-100\": true,\n};\n\nconst elementBody = {\n \"typography-f-s\": true,\n \"typography-fs-n\": true,\n \"typography-w-400\": true,\n \"layout-mt-0\": true,\n \"layout-mb-2\": true,\n \"typography-sz-bm\": true,\n \"color-c-n10\": true,\n};\n\nconst elementButton = {\n \"typography-f-sf\": true,\n \"typography-fs-n\": true,\n \"typography-w-500\": true,\n \"layout-pt-3\": true,\n \"layout-pb-3\": true,\n \"layout-pl-5\": true,\n \"layout-pr-5\": true,\n \"layout-mb-1\": true,\n \"border-br-16\": true,\n \"border-bw-0\": true,\n \"border-c-n70\": true,\n \"border-bs-s\": true,\n \"color-bgc-s30\": true,\n \"behavior-ho-80\": true,\n};\n\nconst elementHeading = {\n \"typography-f-sf\": true,\n \"typography-fs-n\": true,\n \"typography-w-500\": true,\n \"layout-mt-0\": true,\n \"layout-mb-2\": true,\n};\n\nconst elementIframe = {\n \"behavior-sw-n\": true,\n};\n\nconst elementInput = {\n \"typography-f-sf\": true,\n \"typography-fs-n\": true,\n \"typography-w-400\": true,\n \"layout-pl-4\": true,\n \"layout-pr-4\": true,\n \"layout-pt-2\": true,\n \"layout-pb-2\": true,\n \"border-br-6\": true,\n \"border-bw-1\": true,\n \"color-bc-s70\": true,\n \"border-bs-s\": true,\n \"layout-as-n\": true,\n \"color-c-n10\": true,\n};\n\nconst elementP = {\n \"typography-f-s\": true,\n \"typography-fs-n\": true,\n \"typography-w-400\": true,\n \"layout-m-0\": true,\n \"typography-sz-bm\": true,\n \"layout-as-n\": true,\n \"color-c-n10\": true,\n};\n\nconst elementList = {\n \"typography-f-s\": true,\n \"typography-fs-n\": true,\n \"typography-w-400\": true,\n \"layout-m-0\": true,\n \"typography-sz-bm\": true,\n \"layout-as-n\": true,\n \"color-c-n10\": true,\n};\n\nconst elementPre = {\n \"typography-f-c\": true,\n \"typography-fs-n\": true,\n \"typography-w-400\": true,\n \"typography-sz-bm\": true,\n \"typography-ws-p\": true,\n \"layout-as-n\": true,\n};\n\nconst elementTextarea = {\n ...elementInput,\n \"layout-r-none\": true,\n \"layout-fs-c\": true,\n};\n\nconst elementVideo = {\n \"layout-el-cv\": true,\n};\n\n// =============================================================================\n// Theme Export\n// =============================================================================\n\nexport const litTheme: Types.Theme = {\n // ===========================================================================\n // Additional Styles — map to CopilotKit CSS variables\n // ===========================================================================\n\n additionalStyles: {\n Button: {\n background: \"var(--primary, oklch(0.205 0 0))\",\n color: \"var(--primary-foreground, oklch(0.985 0 0))\",\n \"border-radius\": \"calc(var(--radius, 0.625rem) - 2px)\",\n cursor: \"pointer\",\n width: \"100%\",\n \"--n-10\": \"var(--primary-foreground, oklch(0.985 0 0))\",\n \"--n-35\": \"var(--primary-foreground, oklch(0.985 0 0))\",\n \"--n-60\": \"var(--primary-foreground, oklch(0.985 0 0))\",\n },\n Card: {\n background: \"var(--card, oklch(1 0 0))\",\n border: \"1px solid var(--border, oklch(0.922 0 0))\",\n \"border-radius\": \"var(--radius, 0.625rem)\",\n },\n // Applied directly to /