pika-shared 1.4.11 → 1.5.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/types/chatbot/theme-schema.ts"],"names":[],"mappings":"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","file":"theme-schema.js","sourcesContent":["/**\n * Theme Schema Versioning System\n *\n * This module tracks changes to the theme variable system over time.\n * When new CSS variables are added to Pika's theme system, a new schema version\n * is created so users can be notified and optionally update their theme configs.\n *\n * Usage:\n * - `pika theme check` - Shows what's new since your schema version\n * - `pika theme update` - Adds new variables with suggested defaults\n *\n * @since 0.16.0\n */\n\nimport type { SemanticColorVariable } from './theme-types';\n\n/**\n * The current theme schema version.\n * Increment this when adding new theme variables.\n */\nexport const CURRENT_THEME_SCHEMA_VERSION = 1;\n\n/**\n * Represents a change in a theme schema version\n */\nexport interface ThemeSchemaChange {\n /** Version number (must be sequential) */\n version: number;\n /** Release date in ISO format */\n date: string;\n /** Brief description of changes */\n description: string;\n /** New CSS variables added in this version */\n addedVariables: {\n /** Variable name without -- prefix */\n name: string;\n /** Category for organization */\n category: ThemeVariableCategory;\n /** Description of what this variable controls */\n description: string;\n /** Suggested default value (oklch format preferred) */\n defaultLight: string;\n /** Suggested dark mode value */\n defaultDark?: string;\n /** What UI elements are affected */\n affectedElements: string[];\n }[];\n /** Variables that were deprecated */\n deprecatedVariables?: {\n name: string;\n replacement?: string;\n reason: string;\n }[];\n}\n\n/**\n * Categories for organizing theme variables\n */\nexport type ThemeVariableCategory =\n | 'core'\n | 'surface'\n | 'text'\n | 'border'\n | 'status'\n | 'sidebar'\n | 'chart'\n | 'brand';\n\n/**\n * Complete documentation of a theme variable\n */\nexport interface ThemeVariableDoc {\n name: SemanticColorVariable | string;\n category: ThemeVariableCategory;\n description: string;\n defaultLight: string;\n defaultDark: string;\n affectedElements: string[];\n introduced: number; // Schema version when introduced\n}\n\n/**\n * Schema changelog - documents all changes to the theme system\n */\nexport const THEME_SCHEMA_CHANGELOG: ThemeSchemaChange[] = [\n {\n version: 1,\n date: '2026-01-19',\n description: 'Initial theme schema with core shadcn variables and Pika extensions',\n addedVariables: [\n // Core Colors\n {\n name: 'primary',\n category: 'core',\n description: 'Primary brand color for buttons, links, and key actions',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Buttons (primary)', 'Links', 'Active states', 'Focus rings', 'Checkboxes', 'Radio buttons']\n },\n {\n name: 'primary-foreground',\n category: 'core',\n description: 'Text/icon color on primary backgrounds',\n defaultLight: 'oklch(0.984 0.004 248.227)',\n defaultDark: 'oklch(0.208 0.04 265.731)',\n affectedElements: ['Text on primary buttons', 'Icons on primary backgrounds']\n },\n {\n name: 'secondary',\n category: 'core',\n description: 'Secondary actions and less prominent elements',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Secondary buttons', 'Badges', 'Tags']\n },\n {\n name: 'secondary-foreground',\n category: 'core',\n description: 'Text on secondary backgrounds',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on secondary buttons']\n },\n {\n name: 'destructive',\n category: 'core',\n description: 'Destructive/danger actions like delete buttons',\n defaultLight: 'oklch(0.577 0.215 27.311)',\n defaultDark: 'oklch(0.396 0.133 25.712)',\n affectedElements: ['Delete buttons', 'Error buttons', 'Destructive actions']\n },\n {\n name: 'destructive-foreground',\n category: 'core',\n description: 'Text on destructive backgrounds',\n defaultLight: 'oklch(0.984 0.004 248.227)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on delete buttons']\n },\n\n // Surface Colors\n {\n name: 'background',\n category: 'surface',\n description: 'Main page background',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Page background', 'App background']\n },\n {\n name: 'foreground',\n category: 'surface',\n description: 'Default text color on backgrounds',\n defaultLight: 'oklch(0.501 0 263.283)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Body text', 'Headings', 'Default text']\n },\n {\n name: 'card',\n category: 'surface',\n description: 'Card and elevated surface backgrounds',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Cards', 'Dialogs', 'Elevated surfaces', 'Dropdowns']\n },\n {\n name: 'card-foreground',\n category: 'surface',\n description: 'Text on card backgrounds',\n defaultLight: 'oklch(0.137 0.036 258.532)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Card text', 'Dialog text']\n },\n {\n name: 'popover',\n category: 'surface',\n description: 'Popover and tooltip backgrounds',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Popovers', 'Tooltips', 'Dropdown menus']\n },\n {\n name: 'popover-foreground',\n category: 'surface',\n description: 'Text in popovers',\n defaultLight: 'oklch(0.137 0.036 258.532)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Popover text', 'Tooltip text']\n },\n {\n name: 'muted',\n category: 'surface',\n description: 'Muted/subtle backgrounds',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Disabled states', 'Tab backgrounds', 'Code blocks']\n },\n {\n name: 'muted-foreground',\n category: 'surface',\n description: 'Muted/secondary text',\n defaultLight: 'oklch(0.555 0.041 257.452)',\n defaultDark: 'oklch(0.711 0.035 256.803)',\n affectedElements: ['Placeholder text', 'Help text', 'Secondary labels']\n },\n {\n name: 'accent',\n category: 'surface',\n description: 'Accent backgrounds for highlights',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Hover states', 'Selected rows', 'Accent highlights']\n },\n {\n name: 'accent-foreground',\n category: 'surface',\n description: 'Text on accent backgrounds',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on highlighted items']\n },\n\n // Border & Input\n {\n name: 'border',\n category: 'border',\n description: 'Default border color',\n defaultLight: 'oklch(0.929 0.013 255.585)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Card borders', 'Table borders', 'Dividers']\n },\n {\n name: 'input',\n category: 'border',\n description: 'Input field borders',\n defaultLight: 'oklch(0.929 0.013 255.585)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Text inputs', 'Textareas', 'Select inputs']\n },\n {\n name: 'ring',\n category: 'border',\n description: 'Focus ring color',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.625 0.05 253.665)',\n affectedElements: ['Focus outlines', 'Keyboard navigation indicators']\n },\n\n // Status Colors (Pika Extensions)\n {\n name: 'success',\n category: 'status',\n description: 'Success state color',\n defaultLight: 'oklch(0.55 0.16 142)',\n defaultDark: 'oklch(0.65 0.18 142)',\n affectedElements: ['Success messages', 'Checkmarks', 'Completed states']\n },\n {\n name: 'success-foreground',\n category: 'status',\n description: 'Text on success backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 142)',\n affectedElements: ['Text on success badges']\n },\n {\n name: 'success-bg',\n category: 'status',\n description: 'Success background for badges/alerts',\n defaultLight: 'oklch(0.95 0.05 142)',\n defaultDark: 'oklch(0.25 0.08 142)',\n affectedElements: ['Success alerts', 'Success badges background']\n },\n {\n name: 'warning',\n category: 'status',\n description: 'Warning state color',\n defaultLight: 'oklch(0.75 0.15 75)',\n defaultDark: 'oklch(0.70 0.15 75)',\n affectedElements: ['Warning messages', 'Caution indicators']\n },\n {\n name: 'warning-foreground',\n category: 'status',\n description: 'Text on warning backgrounds',\n defaultLight: 'oklch(0.20 0.02 45)',\n defaultDark: 'oklch(0.15 0.02 75)',\n affectedElements: ['Text on warning badges']\n },\n {\n name: 'warning-bg',\n category: 'status',\n description: 'Warning background for badges/alerts',\n defaultLight: 'oklch(0.95 0.05 75)',\n defaultDark: 'oklch(0.25 0.08 75)',\n affectedElements: ['Warning alerts', 'Warning badges background']\n },\n {\n name: 'info',\n category: 'status',\n description: 'Informational state color',\n defaultLight: 'oklch(0.55 0.15 250)',\n defaultDark: 'oklch(0.60 0.16 250)',\n affectedElements: ['Info messages', 'Help indicators']\n },\n {\n name: 'info-foreground',\n category: 'status',\n description: 'Text on info backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 250)',\n affectedElements: ['Text on info badges']\n },\n {\n name: 'info-bg',\n category: 'status',\n description: 'Info background for badges/alerts',\n defaultLight: 'oklch(0.93 0.05 250)',\n defaultDark: 'oklch(0.25 0.08 250)',\n affectedElements: ['Info alerts', 'Info badges background']\n },\n {\n name: 'ai',\n category: 'status',\n description: 'AI/assistant-specific color',\n defaultLight: 'oklch(0.55 0.2 280)',\n defaultDark: 'oklch(0.60 0.22 280)',\n affectedElements: ['AI status indicators', 'Assistant messages', 'Processing states']\n },\n {\n name: 'ai-foreground',\n category: 'status',\n description: 'Text on AI backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 280)',\n affectedElements: ['Text on AI badges']\n },\n {\n name: 'ai-bg',\n category: 'status',\n description: 'AI background for badges/indicators',\n defaultLight: 'oklch(0.93 0.05 280)',\n defaultDark: 'oklch(0.25 0.08 280)',\n affectedElements: ['AI status backgrounds', 'Processing indicators']\n },\n {\n name: 'danger-bg',\n category: 'status',\n description: 'Danger/error background for alerts',\n defaultLight: 'oklch(0.95 0.08 25)',\n defaultDark: 'oklch(0.25 0.10 25)',\n affectedElements: ['Error alerts', 'Danger badges background']\n },\n\n // Sidebar (for apps with sidebars)\n {\n name: 'sidebar-background',\n category: 'sidebar',\n description: 'Sidebar background color',\n defaultLight: 'oklch(0.985 0 263.283)',\n defaultDark: 'oklch(0.21 0.006 285.819)',\n affectedElements: ['Navigation sidebar background']\n },\n {\n name: 'sidebar-foreground',\n category: 'sidebar',\n description: 'Text in sidebar',\n defaultLight: 'oklch(0.37 0.012 285.746)',\n defaultDark: 'oklch(0.968 0.001 285.04)',\n affectedElements: ['Sidebar navigation text']\n },\n {\n name: 'sidebar-primary',\n category: 'sidebar',\n description: 'Primary/selected items in sidebar',\n defaultLight: 'oklch(0.21 0.006 285.819)',\n defaultDark: 'oklch(0.488 0.217 264.393)',\n affectedElements: ['Active sidebar items']\n },\n {\n name: 'sidebar-primary-foreground',\n category: 'sidebar',\n description: 'Text on selected sidebar items',\n defaultLight: 'oklch(0.985 0 263.283)',\n defaultDark: 'oklch(1 0 263.283)',\n affectedElements: ['Active sidebar item text']\n },\n {\n name: 'sidebar-accent',\n category: 'sidebar',\n description: 'Hover state in sidebar',\n defaultLight: 'oklch(0.968 0.001 285.04)',\n defaultDark: 'oklch(0.274 0.005 285.941)',\n affectedElements: ['Sidebar item hover background']\n },\n {\n name: 'sidebar-accent-foreground',\n category: 'sidebar',\n description: 'Text on hovered sidebar items',\n defaultLight: 'oklch(0.21 0.006 285.819)',\n defaultDark: 'oklch(0.968 0.001 285.04)',\n affectedElements: ['Sidebar item hover text']\n },\n {\n name: 'sidebar-border',\n category: 'sidebar',\n description: 'Sidebar border color',\n defaultLight: 'oklch(0.873 0.115 95.71)',\n defaultDark: 'oklch(0.712 0.141 92.714)',\n affectedElements: ['Sidebar dividers', 'Sidebar edge border']\n },\n {\n name: 'sidebar-ring',\n category: 'sidebar',\n description: 'Focus ring in sidebar',\n defaultLight: 'oklch(0.623 0.188 259.803)',\n defaultDark: 'oklch(0.623 0.188 259.803)',\n affectedElements: ['Sidebar focus indicators']\n },\n\n // Chart colors\n {\n name: 'chart-1',\n category: 'chart',\n description: 'First color in chart series',\n defaultLight: 'oklch(0.646 0.222 41.116)',\n defaultDark: 'oklch(0.488 0.243 264.376)',\n affectedElements: ['Chart series 1', 'Primary data visualization']\n },\n {\n name: 'chart-2',\n category: 'chart',\n description: 'Second color in chart series',\n defaultLight: 'oklch(0.6 0.118 184.704)',\n defaultDark: 'oklch(0.696 0.17 162.48)',\n affectedElements: ['Chart series 2']\n },\n {\n name: 'chart-3',\n category: 'chart',\n description: 'Third color in chart series',\n defaultLight: 'oklch(0.398 0.07 227.392)',\n defaultDark: 'oklch(0.769 0.188 70.08)',\n affectedElements: ['Chart series 3']\n },\n {\n name: 'chart-4',\n category: 'chart',\n description: 'Fourth color in chart series',\n defaultLight: 'oklch(0.828 0.189 84.429)',\n defaultDark: 'oklch(0.627 0.265 303.9)',\n affectedElements: ['Chart series 4']\n },\n {\n name: 'chart-5',\n category: 'chart',\n description: 'Fifth color in chart series',\n defaultLight: 'oklch(0.769 0.188 70.08)',\n defaultDark: 'oklch(0.645 0.246 16.439)',\n affectedElements: ['Chart series 5']\n },\n\n // Header/branding\n {\n name: 'chat-app-icon',\n category: 'brand',\n description: 'Color of the AI icon in the chat app header',\n defaultLight: 'oklch(0.555 0.041 257.452)',\n defaultDark: 'oklch(0.711 0.035 256.803)',\n affectedElements: ['Chat app header icon', 'AI sparkle icon']\n },\n {\n name: 'chat-app-header-icon-height',\n category: 'brand',\n description: 'Height of custom header icon (width scales automatically)',\n defaultLight: '32px',\n defaultDark: '32px',\n affectedElements: ['Custom header icon in chat app title bar']\n },\n {\n name: 'chat-app-header-icon-gap',\n category: 'brand',\n description: 'Space between custom header icon and chat app title',\n defaultLight: '4px',\n defaultDark: '4px',\n affectedElements: ['Gap between header icon and title']\n }\n ]\n }\n // Future versions will be added here:\n // {\n // version: 2,\n // date: '202X-XX-XX',\n // description: 'Added new variables...',\n // addedVariables: [...]\n // }\n];\n\n/**\n * Get all theme variables introduced up to a specific version\n */\nexport function getVariablesForVersion(version: number): ThemeVariableDoc[] {\n const variables: ThemeVariableDoc[] = [];\n\n for (const change of THEME_SCHEMA_CHANGELOG) {\n if (change.version <= version) {\n for (const v of change.addedVariables) {\n variables.push({\n name: v.name as SemanticColorVariable,\n category: v.category,\n description: v.description,\n defaultLight: v.defaultLight,\n defaultDark: v.defaultDark || v.defaultLight,\n affectedElements: v.affectedElements,\n introduced: change.version\n });\n }\n }\n }\n\n return variables;\n}\n\n/**\n * Get variables added between two schema versions\n */\nexport function getNewVariablesSince(fromVersion: number): ThemeSchemaChange[] {\n return THEME_SCHEMA_CHANGELOG.filter(change => change.version > fromVersion);\n}\n\n/**\n * Check if a theme config is up to date\n */\nexport function isThemeSchemaUpToDate(schemaVersion: number | undefined): boolean {\n return (schemaVersion || 1) >= CURRENT_THEME_SCHEMA_VERSION;\n}\n\n/**\n * Get all variables organized by category\n */\nexport function getVariablesByCategory(): Record<ThemeVariableCategory, ThemeVariableDoc[]> {\n const allVars = getVariablesForVersion(CURRENT_THEME_SCHEMA_VERSION);\n const byCategory: Record<ThemeVariableCategory, ThemeVariableDoc[]> = {\n core: [],\n surface: [],\n text: [],\n border: [],\n status: [],\n sidebar: [],\n chart: [],\n brand: []\n };\n\n for (const v of allVars) {\n byCategory[v.category].push(v);\n }\n\n return byCategory;\n}\n\n/**\n * Generate a theme config snippet with defaults for new variables\n */\nexport function generateThemeSnippetForNewVariables(\n fromVersion: number,\n mode: 'light' | 'dark' = 'light'\n): string {\n const newChanges = getNewVariablesSince(fromVersion);\n if (newChanges.length === 0) {\n return '// Your theme is up to date!';\n }\n\n let snippet = `// New variables added since schema version ${fromVersion}:\\n`;\n snippet += `// Add these to your cssVariables.${mode} object if you want to customize them:\\n\\n`;\n\n for (const change of newChanges) {\n snippet += `// Version ${change.version} (${change.date}): ${change.description}\\n`;\n for (const v of change.addedVariables) {\n const value = mode === 'dark' && v.defaultDark ? v.defaultDark : v.defaultLight;\n snippet += `'${v.name}': '${value}', // ${v.description}\\n`;\n }\n snippet += '\\n';\n }\n\n return snippet;\n}\n"]}
@@ -0,0 +1,477 @@
1
+ // src/types/chatbot/theme-schema.ts
2
+ var CURRENT_THEME_SCHEMA_VERSION = 1;
3
+ var THEME_SCHEMA_CHANGELOG = [
4
+ {
5
+ version: 1,
6
+ date: "2026-01-19",
7
+ description: "Initial theme schema with core shadcn variables and Pika extensions",
8
+ addedVariables: [
9
+ // Core Colors
10
+ {
11
+ name: "primary",
12
+ category: "core",
13
+ description: "Primary brand color for buttons, links, and key actions",
14
+ defaultLight: "oklch(0.514 0.146 255.748)",
15
+ defaultDark: "oklch(0.984 0.004 248.227)",
16
+ affectedElements: ["Buttons (primary)", "Links", "Active states", "Focus rings", "Checkboxes", "Radio buttons"]
17
+ },
18
+ {
19
+ name: "primary-foreground",
20
+ category: "core",
21
+ description: "Text/icon color on primary backgrounds",
22
+ defaultLight: "oklch(0.984 0.004 248.227)",
23
+ defaultDark: "oklch(0.208 0.04 265.731)",
24
+ affectedElements: ["Text on primary buttons", "Icons on primary backgrounds"]
25
+ },
26
+ {
27
+ name: "secondary",
28
+ category: "core",
29
+ description: "Secondary actions and less prominent elements",
30
+ defaultLight: "oklch(0.968 0.007 248.084)",
31
+ defaultDark: "oklch(0.28 0.037 259.981)",
32
+ affectedElements: ["Secondary buttons", "Badges", "Tags"]
33
+ },
34
+ {
35
+ name: "secondary-foreground",
36
+ category: "core",
37
+ description: "Text on secondary backgrounds",
38
+ defaultLight: "oklch(0.514 0.146 255.748)",
39
+ defaultDark: "oklch(0.984 0.004 248.227)",
40
+ affectedElements: ["Text on secondary buttons"]
41
+ },
42
+ {
43
+ name: "destructive",
44
+ category: "core",
45
+ description: "Destructive/danger actions like delete buttons",
46
+ defaultLight: "oklch(0.577 0.215 27.311)",
47
+ defaultDark: "oklch(0.396 0.133 25.712)",
48
+ affectedElements: ["Delete buttons", "Error buttons", "Destructive actions"]
49
+ },
50
+ {
51
+ name: "destructive-foreground",
52
+ category: "core",
53
+ description: "Text on destructive backgrounds",
54
+ defaultLight: "oklch(0.984 0.004 248.227)",
55
+ defaultDark: "oklch(0.984 0.004 248.227)",
56
+ affectedElements: ["Text on delete buttons"]
57
+ },
58
+ // Surface Colors
59
+ {
60
+ name: "background",
61
+ category: "surface",
62
+ description: "Main page background",
63
+ defaultLight: "oklch(1 0 263.283)",
64
+ defaultDark: "oklch(0.137 0.036 258.532)",
65
+ affectedElements: ["Page background", "App background"]
66
+ },
67
+ {
68
+ name: "foreground",
69
+ category: "surface",
70
+ description: "Default text color on backgrounds",
71
+ defaultLight: "oklch(0.501 0 263.283)",
72
+ defaultDark: "oklch(0.984 0.004 248.227)",
73
+ affectedElements: ["Body text", "Headings", "Default text"]
74
+ },
75
+ {
76
+ name: "card",
77
+ category: "surface",
78
+ description: "Card and elevated surface backgrounds",
79
+ defaultLight: "oklch(1 0 263.283)",
80
+ defaultDark: "oklch(0.137 0.036 258.532)",
81
+ affectedElements: ["Cards", "Dialogs", "Elevated surfaces", "Dropdowns"]
82
+ },
83
+ {
84
+ name: "card-foreground",
85
+ category: "surface",
86
+ description: "Text on card backgrounds",
87
+ defaultLight: "oklch(0.137 0.036 258.532)",
88
+ defaultDark: "oklch(0.984 0.004 248.227)",
89
+ affectedElements: ["Card text", "Dialog text"]
90
+ },
91
+ {
92
+ name: "popover",
93
+ category: "surface",
94
+ description: "Popover and tooltip backgrounds",
95
+ defaultLight: "oklch(1 0 263.283)",
96
+ defaultDark: "oklch(0.137 0.036 258.532)",
97
+ affectedElements: ["Popovers", "Tooltips", "Dropdown menus"]
98
+ },
99
+ {
100
+ name: "popover-foreground",
101
+ category: "surface",
102
+ description: "Text in popovers",
103
+ defaultLight: "oklch(0.137 0.036 258.532)",
104
+ defaultDark: "oklch(0.984 0.004 248.227)",
105
+ affectedElements: ["Popover text", "Tooltip text"]
106
+ },
107
+ {
108
+ name: "muted",
109
+ category: "surface",
110
+ description: "Muted/subtle backgrounds",
111
+ defaultLight: "oklch(0.968 0.007 248.084)",
112
+ defaultDark: "oklch(0.28 0.037 259.981)",
113
+ affectedElements: ["Disabled states", "Tab backgrounds", "Code blocks"]
114
+ },
115
+ {
116
+ name: "muted-foreground",
117
+ category: "surface",
118
+ description: "Muted/secondary text",
119
+ defaultLight: "oklch(0.555 0.041 257.452)",
120
+ defaultDark: "oklch(0.711 0.035 256.803)",
121
+ affectedElements: ["Placeholder text", "Help text", "Secondary labels"]
122
+ },
123
+ {
124
+ name: "accent",
125
+ category: "surface",
126
+ description: "Accent backgrounds for highlights",
127
+ defaultLight: "oklch(0.968 0.007 248.084)",
128
+ defaultDark: "oklch(0.28 0.037 259.981)",
129
+ affectedElements: ["Hover states", "Selected rows", "Accent highlights"]
130
+ },
131
+ {
132
+ name: "accent-foreground",
133
+ category: "surface",
134
+ description: "Text on accent backgrounds",
135
+ defaultLight: "oklch(0.514 0.146 255.748)",
136
+ defaultDark: "oklch(0.984 0.004 248.227)",
137
+ affectedElements: ["Text on highlighted items"]
138
+ },
139
+ // Border & Input
140
+ {
141
+ name: "border",
142
+ category: "border",
143
+ description: "Default border color",
144
+ defaultLight: "oklch(0.929 0.013 255.585)",
145
+ defaultDark: "oklch(0.28 0.037 259.981)",
146
+ affectedElements: ["Card borders", "Table borders", "Dividers"]
147
+ },
148
+ {
149
+ name: "input",
150
+ category: "border",
151
+ description: "Input field borders",
152
+ defaultLight: "oklch(0.929 0.013 255.585)",
153
+ defaultDark: "oklch(0.28 0.037 259.981)",
154
+ affectedElements: ["Text inputs", "Textareas", "Select inputs"]
155
+ },
156
+ {
157
+ name: "ring",
158
+ category: "border",
159
+ description: "Focus ring color",
160
+ defaultLight: "oklch(0.514 0.146 255.748)",
161
+ defaultDark: "oklch(0.625 0.05 253.665)",
162
+ affectedElements: ["Focus outlines", "Keyboard navigation indicators"]
163
+ },
164
+ // Status Colors (Pika Extensions)
165
+ {
166
+ name: "success",
167
+ category: "status",
168
+ description: "Success state color",
169
+ defaultLight: "oklch(0.55 0.16 142)",
170
+ defaultDark: "oklch(0.65 0.18 142)",
171
+ affectedElements: ["Success messages", "Checkmarks", "Completed states"]
172
+ },
173
+ {
174
+ name: "success-foreground",
175
+ category: "status",
176
+ description: "Text on success backgrounds",
177
+ defaultLight: "oklch(0.985 0 0)",
178
+ defaultDark: "oklch(0.15 0.02 142)",
179
+ affectedElements: ["Text on success badges"]
180
+ },
181
+ {
182
+ name: "success-bg",
183
+ category: "status",
184
+ description: "Success background for badges/alerts",
185
+ defaultLight: "oklch(0.95 0.05 142)",
186
+ defaultDark: "oklch(0.25 0.08 142)",
187
+ affectedElements: ["Success alerts", "Success badges background"]
188
+ },
189
+ {
190
+ name: "warning",
191
+ category: "status",
192
+ description: "Warning state color",
193
+ defaultLight: "oklch(0.75 0.15 75)",
194
+ defaultDark: "oklch(0.70 0.15 75)",
195
+ affectedElements: ["Warning messages", "Caution indicators"]
196
+ },
197
+ {
198
+ name: "warning-foreground",
199
+ category: "status",
200
+ description: "Text on warning backgrounds",
201
+ defaultLight: "oklch(0.20 0.02 45)",
202
+ defaultDark: "oklch(0.15 0.02 75)",
203
+ affectedElements: ["Text on warning badges"]
204
+ },
205
+ {
206
+ name: "warning-bg",
207
+ category: "status",
208
+ description: "Warning background for badges/alerts",
209
+ defaultLight: "oklch(0.95 0.05 75)",
210
+ defaultDark: "oklch(0.25 0.08 75)",
211
+ affectedElements: ["Warning alerts", "Warning badges background"]
212
+ },
213
+ {
214
+ name: "info",
215
+ category: "status",
216
+ description: "Informational state color",
217
+ defaultLight: "oklch(0.55 0.15 250)",
218
+ defaultDark: "oklch(0.60 0.16 250)",
219
+ affectedElements: ["Info messages", "Help indicators"]
220
+ },
221
+ {
222
+ name: "info-foreground",
223
+ category: "status",
224
+ description: "Text on info backgrounds",
225
+ defaultLight: "oklch(0.985 0 0)",
226
+ defaultDark: "oklch(0.15 0.02 250)",
227
+ affectedElements: ["Text on info badges"]
228
+ },
229
+ {
230
+ name: "info-bg",
231
+ category: "status",
232
+ description: "Info background for badges/alerts",
233
+ defaultLight: "oklch(0.93 0.05 250)",
234
+ defaultDark: "oklch(0.25 0.08 250)",
235
+ affectedElements: ["Info alerts", "Info badges background"]
236
+ },
237
+ {
238
+ name: "ai",
239
+ category: "status",
240
+ description: "AI/assistant-specific color",
241
+ defaultLight: "oklch(0.55 0.2 280)",
242
+ defaultDark: "oklch(0.60 0.22 280)",
243
+ affectedElements: ["AI status indicators", "Assistant messages", "Processing states"]
244
+ },
245
+ {
246
+ name: "ai-foreground",
247
+ category: "status",
248
+ description: "Text on AI backgrounds",
249
+ defaultLight: "oklch(0.985 0 0)",
250
+ defaultDark: "oklch(0.15 0.02 280)",
251
+ affectedElements: ["Text on AI badges"]
252
+ },
253
+ {
254
+ name: "ai-bg",
255
+ category: "status",
256
+ description: "AI background for badges/indicators",
257
+ defaultLight: "oklch(0.93 0.05 280)",
258
+ defaultDark: "oklch(0.25 0.08 280)",
259
+ affectedElements: ["AI status backgrounds", "Processing indicators"]
260
+ },
261
+ {
262
+ name: "danger-bg",
263
+ category: "status",
264
+ description: "Danger/error background for alerts",
265
+ defaultLight: "oklch(0.95 0.08 25)",
266
+ defaultDark: "oklch(0.25 0.10 25)",
267
+ affectedElements: ["Error alerts", "Danger badges background"]
268
+ },
269
+ // Sidebar (for apps with sidebars)
270
+ {
271
+ name: "sidebar-background",
272
+ category: "sidebar",
273
+ description: "Sidebar background color",
274
+ defaultLight: "oklch(0.985 0 263.283)",
275
+ defaultDark: "oklch(0.21 0.006 285.819)",
276
+ affectedElements: ["Navigation sidebar background"]
277
+ },
278
+ {
279
+ name: "sidebar-foreground",
280
+ category: "sidebar",
281
+ description: "Text in sidebar",
282
+ defaultLight: "oklch(0.37 0.012 285.746)",
283
+ defaultDark: "oklch(0.968 0.001 285.04)",
284
+ affectedElements: ["Sidebar navigation text"]
285
+ },
286
+ {
287
+ name: "sidebar-primary",
288
+ category: "sidebar",
289
+ description: "Primary/selected items in sidebar",
290
+ defaultLight: "oklch(0.21 0.006 285.819)",
291
+ defaultDark: "oklch(0.488 0.217 264.393)",
292
+ affectedElements: ["Active sidebar items"]
293
+ },
294
+ {
295
+ name: "sidebar-primary-foreground",
296
+ category: "sidebar",
297
+ description: "Text on selected sidebar items",
298
+ defaultLight: "oklch(0.985 0 263.283)",
299
+ defaultDark: "oklch(1 0 263.283)",
300
+ affectedElements: ["Active sidebar item text"]
301
+ },
302
+ {
303
+ name: "sidebar-accent",
304
+ category: "sidebar",
305
+ description: "Hover state in sidebar",
306
+ defaultLight: "oklch(0.968 0.001 285.04)",
307
+ defaultDark: "oklch(0.274 0.005 285.941)",
308
+ affectedElements: ["Sidebar item hover background"]
309
+ },
310
+ {
311
+ name: "sidebar-accent-foreground",
312
+ category: "sidebar",
313
+ description: "Text on hovered sidebar items",
314
+ defaultLight: "oklch(0.21 0.006 285.819)",
315
+ defaultDark: "oklch(0.968 0.001 285.04)",
316
+ affectedElements: ["Sidebar item hover text"]
317
+ },
318
+ {
319
+ name: "sidebar-border",
320
+ category: "sidebar",
321
+ description: "Sidebar border color",
322
+ defaultLight: "oklch(0.873 0.115 95.71)",
323
+ defaultDark: "oklch(0.712 0.141 92.714)",
324
+ affectedElements: ["Sidebar dividers", "Sidebar edge border"]
325
+ },
326
+ {
327
+ name: "sidebar-ring",
328
+ category: "sidebar",
329
+ description: "Focus ring in sidebar",
330
+ defaultLight: "oklch(0.623 0.188 259.803)",
331
+ defaultDark: "oklch(0.623 0.188 259.803)",
332
+ affectedElements: ["Sidebar focus indicators"]
333
+ },
334
+ // Chart colors
335
+ {
336
+ name: "chart-1",
337
+ category: "chart",
338
+ description: "First color in chart series",
339
+ defaultLight: "oklch(0.646 0.222 41.116)",
340
+ defaultDark: "oklch(0.488 0.243 264.376)",
341
+ affectedElements: ["Chart series 1", "Primary data visualization"]
342
+ },
343
+ {
344
+ name: "chart-2",
345
+ category: "chart",
346
+ description: "Second color in chart series",
347
+ defaultLight: "oklch(0.6 0.118 184.704)",
348
+ defaultDark: "oklch(0.696 0.17 162.48)",
349
+ affectedElements: ["Chart series 2"]
350
+ },
351
+ {
352
+ name: "chart-3",
353
+ category: "chart",
354
+ description: "Third color in chart series",
355
+ defaultLight: "oklch(0.398 0.07 227.392)",
356
+ defaultDark: "oklch(0.769 0.188 70.08)",
357
+ affectedElements: ["Chart series 3"]
358
+ },
359
+ {
360
+ name: "chart-4",
361
+ category: "chart",
362
+ description: "Fourth color in chart series",
363
+ defaultLight: "oklch(0.828 0.189 84.429)",
364
+ defaultDark: "oklch(0.627 0.265 303.9)",
365
+ affectedElements: ["Chart series 4"]
366
+ },
367
+ {
368
+ name: "chart-5",
369
+ category: "chart",
370
+ description: "Fifth color in chart series",
371
+ defaultLight: "oklch(0.769 0.188 70.08)",
372
+ defaultDark: "oklch(0.645 0.246 16.439)",
373
+ affectedElements: ["Chart series 5"]
374
+ },
375
+ // Header/branding
376
+ {
377
+ name: "chat-app-icon",
378
+ category: "brand",
379
+ description: "Color of the AI icon in the chat app header",
380
+ defaultLight: "oklch(0.555 0.041 257.452)",
381
+ defaultDark: "oklch(0.711 0.035 256.803)",
382
+ affectedElements: ["Chat app header icon", "AI sparkle icon"]
383
+ },
384
+ {
385
+ name: "chat-app-header-icon-height",
386
+ category: "brand",
387
+ description: "Height of custom header icon (width scales automatically)",
388
+ defaultLight: "32px",
389
+ defaultDark: "32px",
390
+ affectedElements: ["Custom header icon in chat app title bar"]
391
+ },
392
+ {
393
+ name: "chat-app-header-icon-gap",
394
+ category: "brand",
395
+ description: "Space between custom header icon and chat app title",
396
+ defaultLight: "4px",
397
+ defaultDark: "4px",
398
+ affectedElements: ["Gap between header icon and title"]
399
+ }
400
+ ]
401
+ }
402
+ // Future versions will be added here:
403
+ // {
404
+ // version: 2,
405
+ // date: '202X-XX-XX',
406
+ // description: 'Added new variables...',
407
+ // addedVariables: [...]
408
+ // }
409
+ ];
410
+ function getVariablesForVersion(version) {
411
+ const variables = [];
412
+ for (const change of THEME_SCHEMA_CHANGELOG) {
413
+ if (change.version <= version) {
414
+ for (const v of change.addedVariables) {
415
+ variables.push({
416
+ name: v.name,
417
+ category: v.category,
418
+ description: v.description,
419
+ defaultLight: v.defaultLight,
420
+ defaultDark: v.defaultDark || v.defaultLight,
421
+ affectedElements: v.affectedElements,
422
+ introduced: change.version
423
+ });
424
+ }
425
+ }
426
+ }
427
+ return variables;
428
+ }
429
+ function getNewVariablesSince(fromVersion) {
430
+ return THEME_SCHEMA_CHANGELOG.filter((change) => change.version > fromVersion);
431
+ }
432
+ function isThemeSchemaUpToDate(schemaVersion) {
433
+ return (schemaVersion || 1) >= CURRENT_THEME_SCHEMA_VERSION;
434
+ }
435
+ function getVariablesByCategory() {
436
+ const allVars = getVariablesForVersion(CURRENT_THEME_SCHEMA_VERSION);
437
+ const byCategory = {
438
+ core: [],
439
+ surface: [],
440
+ text: [],
441
+ border: [],
442
+ status: [],
443
+ sidebar: [],
444
+ chart: [],
445
+ brand: []
446
+ };
447
+ for (const v of allVars) {
448
+ byCategory[v.category].push(v);
449
+ }
450
+ return byCategory;
451
+ }
452
+ function generateThemeSnippetForNewVariables(fromVersion, mode = "light") {
453
+ const newChanges = getNewVariablesSince(fromVersion);
454
+ if (newChanges.length === 0) {
455
+ return "// Your theme is up to date!";
456
+ }
457
+ let snippet = `// New variables added since schema version ${fromVersion}:
458
+ `;
459
+ snippet += `// Add these to your cssVariables.${mode} object if you want to customize them:
460
+
461
+ `;
462
+ for (const change of newChanges) {
463
+ snippet += `// Version ${change.version} (${change.date}): ${change.description}
464
+ `;
465
+ for (const v of change.addedVariables) {
466
+ const value = mode === "dark" && v.defaultDark ? v.defaultDark : v.defaultLight;
467
+ snippet += `'${v.name}': '${value}', // ${v.description}
468
+ `;
469
+ }
470
+ snippet += "\n";
471
+ }
472
+ return snippet;
473
+ }
474
+
475
+ export { CURRENT_THEME_SCHEMA_VERSION, THEME_SCHEMA_CHANGELOG, generateThemeSnippetForNewVariables, getNewVariablesSince, getVariablesByCategory, getVariablesForVersion, isThemeSchemaUpToDate };
476
+ //# sourceMappingURL=theme-schema.mjs.map
477
+ //# sourceMappingURL=theme-schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/types/chatbot/theme-schema.ts"],"names":[],"mappings":"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","file":"theme-schema.mjs","sourcesContent":["/**\n * Theme Schema Versioning System\n *\n * This module tracks changes to the theme variable system over time.\n * When new CSS variables are added to Pika's theme system, a new schema version\n * is created so users can be notified and optionally update their theme configs.\n *\n * Usage:\n * - `pika theme check` - Shows what's new since your schema version\n * - `pika theme update` - Adds new variables with suggested defaults\n *\n * @since 0.16.0\n */\n\nimport type { SemanticColorVariable } from './theme-types';\n\n/**\n * The current theme schema version.\n * Increment this when adding new theme variables.\n */\nexport const CURRENT_THEME_SCHEMA_VERSION = 1;\n\n/**\n * Represents a change in a theme schema version\n */\nexport interface ThemeSchemaChange {\n /** Version number (must be sequential) */\n version: number;\n /** Release date in ISO format */\n date: string;\n /** Brief description of changes */\n description: string;\n /** New CSS variables added in this version */\n addedVariables: {\n /** Variable name without -- prefix */\n name: string;\n /** Category for organization */\n category: ThemeVariableCategory;\n /** Description of what this variable controls */\n description: string;\n /** Suggested default value (oklch format preferred) */\n defaultLight: string;\n /** Suggested dark mode value */\n defaultDark?: string;\n /** What UI elements are affected */\n affectedElements: string[];\n }[];\n /** Variables that were deprecated */\n deprecatedVariables?: {\n name: string;\n replacement?: string;\n reason: string;\n }[];\n}\n\n/**\n * Categories for organizing theme variables\n */\nexport type ThemeVariableCategory =\n | 'core'\n | 'surface'\n | 'text'\n | 'border'\n | 'status'\n | 'sidebar'\n | 'chart'\n | 'brand';\n\n/**\n * Complete documentation of a theme variable\n */\nexport interface ThemeVariableDoc {\n name: SemanticColorVariable | string;\n category: ThemeVariableCategory;\n description: string;\n defaultLight: string;\n defaultDark: string;\n affectedElements: string[];\n introduced: number; // Schema version when introduced\n}\n\n/**\n * Schema changelog - documents all changes to the theme system\n */\nexport const THEME_SCHEMA_CHANGELOG: ThemeSchemaChange[] = [\n {\n version: 1,\n date: '2026-01-19',\n description: 'Initial theme schema with core shadcn variables and Pika extensions',\n addedVariables: [\n // Core Colors\n {\n name: 'primary',\n category: 'core',\n description: 'Primary brand color for buttons, links, and key actions',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Buttons (primary)', 'Links', 'Active states', 'Focus rings', 'Checkboxes', 'Radio buttons']\n },\n {\n name: 'primary-foreground',\n category: 'core',\n description: 'Text/icon color on primary backgrounds',\n defaultLight: 'oklch(0.984 0.004 248.227)',\n defaultDark: 'oklch(0.208 0.04 265.731)',\n affectedElements: ['Text on primary buttons', 'Icons on primary backgrounds']\n },\n {\n name: 'secondary',\n category: 'core',\n description: 'Secondary actions and less prominent elements',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Secondary buttons', 'Badges', 'Tags']\n },\n {\n name: 'secondary-foreground',\n category: 'core',\n description: 'Text on secondary backgrounds',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on secondary buttons']\n },\n {\n name: 'destructive',\n category: 'core',\n description: 'Destructive/danger actions like delete buttons',\n defaultLight: 'oklch(0.577 0.215 27.311)',\n defaultDark: 'oklch(0.396 0.133 25.712)',\n affectedElements: ['Delete buttons', 'Error buttons', 'Destructive actions']\n },\n {\n name: 'destructive-foreground',\n category: 'core',\n description: 'Text on destructive backgrounds',\n defaultLight: 'oklch(0.984 0.004 248.227)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on delete buttons']\n },\n\n // Surface Colors\n {\n name: 'background',\n category: 'surface',\n description: 'Main page background',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Page background', 'App background']\n },\n {\n name: 'foreground',\n category: 'surface',\n description: 'Default text color on backgrounds',\n defaultLight: 'oklch(0.501 0 263.283)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Body text', 'Headings', 'Default text']\n },\n {\n name: 'card',\n category: 'surface',\n description: 'Card and elevated surface backgrounds',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Cards', 'Dialogs', 'Elevated surfaces', 'Dropdowns']\n },\n {\n name: 'card-foreground',\n category: 'surface',\n description: 'Text on card backgrounds',\n defaultLight: 'oklch(0.137 0.036 258.532)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Card text', 'Dialog text']\n },\n {\n name: 'popover',\n category: 'surface',\n description: 'Popover and tooltip backgrounds',\n defaultLight: 'oklch(1 0 263.283)',\n defaultDark: 'oklch(0.137 0.036 258.532)',\n affectedElements: ['Popovers', 'Tooltips', 'Dropdown menus']\n },\n {\n name: 'popover-foreground',\n category: 'surface',\n description: 'Text in popovers',\n defaultLight: 'oklch(0.137 0.036 258.532)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Popover text', 'Tooltip text']\n },\n {\n name: 'muted',\n category: 'surface',\n description: 'Muted/subtle backgrounds',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Disabled states', 'Tab backgrounds', 'Code blocks']\n },\n {\n name: 'muted-foreground',\n category: 'surface',\n description: 'Muted/secondary text',\n defaultLight: 'oklch(0.555 0.041 257.452)',\n defaultDark: 'oklch(0.711 0.035 256.803)',\n affectedElements: ['Placeholder text', 'Help text', 'Secondary labels']\n },\n {\n name: 'accent',\n category: 'surface',\n description: 'Accent backgrounds for highlights',\n defaultLight: 'oklch(0.968 0.007 248.084)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Hover states', 'Selected rows', 'Accent highlights']\n },\n {\n name: 'accent-foreground',\n category: 'surface',\n description: 'Text on accent backgrounds',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.984 0.004 248.227)',\n affectedElements: ['Text on highlighted items']\n },\n\n // Border & Input\n {\n name: 'border',\n category: 'border',\n description: 'Default border color',\n defaultLight: 'oklch(0.929 0.013 255.585)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Card borders', 'Table borders', 'Dividers']\n },\n {\n name: 'input',\n category: 'border',\n description: 'Input field borders',\n defaultLight: 'oklch(0.929 0.013 255.585)',\n defaultDark: 'oklch(0.28 0.037 259.981)',\n affectedElements: ['Text inputs', 'Textareas', 'Select inputs']\n },\n {\n name: 'ring',\n category: 'border',\n description: 'Focus ring color',\n defaultLight: 'oklch(0.514 0.146 255.748)',\n defaultDark: 'oklch(0.625 0.05 253.665)',\n affectedElements: ['Focus outlines', 'Keyboard navigation indicators']\n },\n\n // Status Colors (Pika Extensions)\n {\n name: 'success',\n category: 'status',\n description: 'Success state color',\n defaultLight: 'oklch(0.55 0.16 142)',\n defaultDark: 'oklch(0.65 0.18 142)',\n affectedElements: ['Success messages', 'Checkmarks', 'Completed states']\n },\n {\n name: 'success-foreground',\n category: 'status',\n description: 'Text on success backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 142)',\n affectedElements: ['Text on success badges']\n },\n {\n name: 'success-bg',\n category: 'status',\n description: 'Success background for badges/alerts',\n defaultLight: 'oklch(0.95 0.05 142)',\n defaultDark: 'oklch(0.25 0.08 142)',\n affectedElements: ['Success alerts', 'Success badges background']\n },\n {\n name: 'warning',\n category: 'status',\n description: 'Warning state color',\n defaultLight: 'oklch(0.75 0.15 75)',\n defaultDark: 'oklch(0.70 0.15 75)',\n affectedElements: ['Warning messages', 'Caution indicators']\n },\n {\n name: 'warning-foreground',\n category: 'status',\n description: 'Text on warning backgrounds',\n defaultLight: 'oklch(0.20 0.02 45)',\n defaultDark: 'oklch(0.15 0.02 75)',\n affectedElements: ['Text on warning badges']\n },\n {\n name: 'warning-bg',\n category: 'status',\n description: 'Warning background for badges/alerts',\n defaultLight: 'oklch(0.95 0.05 75)',\n defaultDark: 'oklch(0.25 0.08 75)',\n affectedElements: ['Warning alerts', 'Warning badges background']\n },\n {\n name: 'info',\n category: 'status',\n description: 'Informational state color',\n defaultLight: 'oklch(0.55 0.15 250)',\n defaultDark: 'oklch(0.60 0.16 250)',\n affectedElements: ['Info messages', 'Help indicators']\n },\n {\n name: 'info-foreground',\n category: 'status',\n description: 'Text on info backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 250)',\n affectedElements: ['Text on info badges']\n },\n {\n name: 'info-bg',\n category: 'status',\n description: 'Info background for badges/alerts',\n defaultLight: 'oklch(0.93 0.05 250)',\n defaultDark: 'oklch(0.25 0.08 250)',\n affectedElements: ['Info alerts', 'Info badges background']\n },\n {\n name: 'ai',\n category: 'status',\n description: 'AI/assistant-specific color',\n defaultLight: 'oklch(0.55 0.2 280)',\n defaultDark: 'oklch(0.60 0.22 280)',\n affectedElements: ['AI status indicators', 'Assistant messages', 'Processing states']\n },\n {\n name: 'ai-foreground',\n category: 'status',\n description: 'Text on AI backgrounds',\n defaultLight: 'oklch(0.985 0 0)',\n defaultDark: 'oklch(0.15 0.02 280)',\n affectedElements: ['Text on AI badges']\n },\n {\n name: 'ai-bg',\n category: 'status',\n description: 'AI background for badges/indicators',\n defaultLight: 'oklch(0.93 0.05 280)',\n defaultDark: 'oklch(0.25 0.08 280)',\n affectedElements: ['AI status backgrounds', 'Processing indicators']\n },\n {\n name: 'danger-bg',\n category: 'status',\n description: 'Danger/error background for alerts',\n defaultLight: 'oklch(0.95 0.08 25)',\n defaultDark: 'oklch(0.25 0.10 25)',\n affectedElements: ['Error alerts', 'Danger badges background']\n },\n\n // Sidebar (for apps with sidebars)\n {\n name: 'sidebar-background',\n category: 'sidebar',\n description: 'Sidebar background color',\n defaultLight: 'oklch(0.985 0 263.283)',\n defaultDark: 'oklch(0.21 0.006 285.819)',\n affectedElements: ['Navigation sidebar background']\n },\n {\n name: 'sidebar-foreground',\n category: 'sidebar',\n description: 'Text in sidebar',\n defaultLight: 'oklch(0.37 0.012 285.746)',\n defaultDark: 'oklch(0.968 0.001 285.04)',\n affectedElements: ['Sidebar navigation text']\n },\n {\n name: 'sidebar-primary',\n category: 'sidebar',\n description: 'Primary/selected items in sidebar',\n defaultLight: 'oklch(0.21 0.006 285.819)',\n defaultDark: 'oklch(0.488 0.217 264.393)',\n affectedElements: ['Active sidebar items']\n },\n {\n name: 'sidebar-primary-foreground',\n category: 'sidebar',\n description: 'Text on selected sidebar items',\n defaultLight: 'oklch(0.985 0 263.283)',\n defaultDark: 'oklch(1 0 263.283)',\n affectedElements: ['Active sidebar item text']\n },\n {\n name: 'sidebar-accent',\n category: 'sidebar',\n description: 'Hover state in sidebar',\n defaultLight: 'oklch(0.968 0.001 285.04)',\n defaultDark: 'oklch(0.274 0.005 285.941)',\n affectedElements: ['Sidebar item hover background']\n },\n {\n name: 'sidebar-accent-foreground',\n category: 'sidebar',\n description: 'Text on hovered sidebar items',\n defaultLight: 'oklch(0.21 0.006 285.819)',\n defaultDark: 'oklch(0.968 0.001 285.04)',\n affectedElements: ['Sidebar item hover text']\n },\n {\n name: 'sidebar-border',\n category: 'sidebar',\n description: 'Sidebar border color',\n defaultLight: 'oklch(0.873 0.115 95.71)',\n defaultDark: 'oklch(0.712 0.141 92.714)',\n affectedElements: ['Sidebar dividers', 'Sidebar edge border']\n },\n {\n name: 'sidebar-ring',\n category: 'sidebar',\n description: 'Focus ring in sidebar',\n defaultLight: 'oklch(0.623 0.188 259.803)',\n defaultDark: 'oklch(0.623 0.188 259.803)',\n affectedElements: ['Sidebar focus indicators']\n },\n\n // Chart colors\n {\n name: 'chart-1',\n category: 'chart',\n description: 'First color in chart series',\n defaultLight: 'oklch(0.646 0.222 41.116)',\n defaultDark: 'oklch(0.488 0.243 264.376)',\n affectedElements: ['Chart series 1', 'Primary data visualization']\n },\n {\n name: 'chart-2',\n category: 'chart',\n description: 'Second color in chart series',\n defaultLight: 'oklch(0.6 0.118 184.704)',\n defaultDark: 'oklch(0.696 0.17 162.48)',\n affectedElements: ['Chart series 2']\n },\n {\n name: 'chart-3',\n category: 'chart',\n description: 'Third color in chart series',\n defaultLight: 'oklch(0.398 0.07 227.392)',\n defaultDark: 'oklch(0.769 0.188 70.08)',\n affectedElements: ['Chart series 3']\n },\n {\n name: 'chart-4',\n category: 'chart',\n description: 'Fourth color in chart series',\n defaultLight: 'oklch(0.828 0.189 84.429)',\n defaultDark: 'oklch(0.627 0.265 303.9)',\n affectedElements: ['Chart series 4']\n },\n {\n name: 'chart-5',\n category: 'chart',\n description: 'Fifth color in chart series',\n defaultLight: 'oklch(0.769 0.188 70.08)',\n defaultDark: 'oklch(0.645 0.246 16.439)',\n affectedElements: ['Chart series 5']\n },\n\n // Header/branding\n {\n name: 'chat-app-icon',\n category: 'brand',\n description: 'Color of the AI icon in the chat app header',\n defaultLight: 'oklch(0.555 0.041 257.452)',\n defaultDark: 'oklch(0.711 0.035 256.803)',\n affectedElements: ['Chat app header icon', 'AI sparkle icon']\n },\n {\n name: 'chat-app-header-icon-height',\n category: 'brand',\n description: 'Height of custom header icon (width scales automatically)',\n defaultLight: '32px',\n defaultDark: '32px',\n affectedElements: ['Custom header icon in chat app title bar']\n },\n {\n name: 'chat-app-header-icon-gap',\n category: 'brand',\n description: 'Space between custom header icon and chat app title',\n defaultLight: '4px',\n defaultDark: '4px',\n affectedElements: ['Gap between header icon and title']\n }\n ]\n }\n // Future versions will be added here:\n // {\n // version: 2,\n // date: '202X-XX-XX',\n // description: 'Added new variables...',\n // addedVariables: [...]\n // }\n];\n\n/**\n * Get all theme variables introduced up to a specific version\n */\nexport function getVariablesForVersion(version: number): ThemeVariableDoc[] {\n const variables: ThemeVariableDoc[] = [];\n\n for (const change of THEME_SCHEMA_CHANGELOG) {\n if (change.version <= version) {\n for (const v of change.addedVariables) {\n variables.push({\n name: v.name as SemanticColorVariable,\n category: v.category,\n description: v.description,\n defaultLight: v.defaultLight,\n defaultDark: v.defaultDark || v.defaultLight,\n affectedElements: v.affectedElements,\n introduced: change.version\n });\n }\n }\n }\n\n return variables;\n}\n\n/**\n * Get variables added between two schema versions\n */\nexport function getNewVariablesSince(fromVersion: number): ThemeSchemaChange[] {\n return THEME_SCHEMA_CHANGELOG.filter(change => change.version > fromVersion);\n}\n\n/**\n * Check if a theme config is up to date\n */\nexport function isThemeSchemaUpToDate(schemaVersion: number | undefined): boolean {\n return (schemaVersion || 1) >= CURRENT_THEME_SCHEMA_VERSION;\n}\n\n/**\n * Get all variables organized by category\n */\nexport function getVariablesByCategory(): Record<ThemeVariableCategory, ThemeVariableDoc[]> {\n const allVars = getVariablesForVersion(CURRENT_THEME_SCHEMA_VERSION);\n const byCategory: Record<ThemeVariableCategory, ThemeVariableDoc[]> = {\n core: [],\n surface: [],\n text: [],\n border: [],\n status: [],\n sidebar: [],\n chart: [],\n brand: []\n };\n\n for (const v of allVars) {\n byCategory[v.category].push(v);\n }\n\n return byCategory;\n}\n\n/**\n * Generate a theme config snippet with defaults for new variables\n */\nexport function generateThemeSnippetForNewVariables(\n fromVersion: number,\n mode: 'light' | 'dark' = 'light'\n): string {\n const newChanges = getNewVariablesSince(fromVersion);\n if (newChanges.length === 0) {\n return '// Your theme is up to date!';\n }\n\n let snippet = `// New variables added since schema version ${fromVersion}:\\n`;\n snippet += `// Add these to your cssVariables.${mode} object if you want to customize them:\\n\\n`;\n\n for (const change of newChanges) {\n snippet += `// Version ${change.version} (${change.date}): ${change.description}\\n`;\n for (const v of change.addedVariables) {\n const value = mode === 'dark' && v.defaultDark ? v.defaultDark : v.defaultLight;\n snippet += `'${v.name}': '${value}', // ${v.description}\\n`;\n }\n snippet += '\\n';\n }\n\n return snippet;\n}\n"]}