@c2n/theme 0.0.6 → 0.0.7

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/dist/tokens.js CHANGED
@@ -19,6 +19,7 @@ export const tokens = [
19
19
  token('color-primary-active', 'color', '#01469a', 'Accent colour while pressed.', '#9cc9ff'),
20
20
  token('color-on-primary', 'color', '#ffffff', 'Text and icons drawn on the accent colour.', '#032a5c'),
21
21
  token('color-primary-container', 'color', '#edf1fe', 'Soft accent surface, e.g. a selected list item.', '#0f2d5c'),
22
+ token('color-primary-glow', 'color', 'rgba(2, 101, 220, 0.2)', 'Accent tint for luminous borders and decorative glows.', 'rgba(90, 163, 255, 0.28)'),
22
23
  token('color-surface', 'color', '#ffffff', 'Default surface of inputs, lists, cards, dialogs.', '#18181b'),
23
24
  token('color-surface-container-low', 'color', '#fafafa', 'Slightly raised surface: side navigation, read-only fields, subtle hover.', '#1f1f23'),
24
25
  token('color-surface-container', 'color', '#f4f4f5', 'Hover surface for rows and icon buttons.', '#27272a'),
@@ -53,6 +54,20 @@ export const tokens = [
53
54
  // Elevation
54
55
  token('shadow-md', 'shadow', '0 8px 24px rgba(24, 24, 27, 0.08)', 'Shadow of popovers, menus and tooltips.', '0 8px 24px rgba(0, 0, 0, 0.45)'),
55
56
  token('shadow-lg', 'shadow', '0 24px 60px rgba(0, 0, 0, 0.25)', 'Shadow of dialogs and drawers.', '0 24px 60px rgba(0, 0, 0, 0.6)'),
57
+ // Data visualisation. The categorical palette is a set: recolour it as a whole, never one slot at a time.
58
+ // Slots 1-4 are the Okabe-Ito core and stay distinguishable under protanopia, deuteranopia and tritanopia;
59
+ // 5-7 add hue and lightness separation, and slot 8 is neutral grey, which no colour deficiency collapses
60
+ // into a chromatic slot. Past four series, label the marks directly rather than relying on hue alone.
61
+ token('chart-series-1', 'chart', '#0265dc', 'First categorical series. Matches the accent, so a single-series chart reads as brand.', '#5aa3ff'),
62
+ token('chart-series-2', 'chart', '#ea580c', 'Second categorical series: orange, the Okabe-Ito counterpart to the blue.', '#fb923c'),
63
+ token('chart-series-3', 'chart', '#0f766e', 'Third categorical series: teal.', '#2dd4bf'),
64
+ token('chart-series-4', 'chart', '#db2777', 'Fourth categorical series: pink.', '#f472b6'),
65
+ token('chart-series-5', 'chart', '#a16207', 'Fifth categorical series: gold, dark enough not to collapse into the orange.', '#fbbf24'),
66
+ token('chart-series-6', 'chart', '#7c3aed', 'Sixth categorical series: violet.', '#a78bfa'),
67
+ token('chart-series-7', 'chart', '#0891b2', 'Seventh categorical series: cyan.', '#22d3ee'),
68
+ token('chart-series-8', 'chart', '#52525b', 'Eighth categorical series: neutral grey, for an "other" or residual bucket.', '#a1a1aa'),
69
+ token('chart-positive', 'chart', '#16a34a', 'Rising values: an up candle, a positive sparkline. Separate from the accent so direction and brand move independently.', '#4ade80'),
70
+ token('chart-negative', 'chart', '#dc2626', 'Falling values: a down candle, a negative sparkline. Separate from `color-error` so a brand can recolour direction without recolouring failure.', '#f87171'),
56
71
  ];
57
72
  export const tokenNames = tokens.map((t) => t.name);
58
73
  /** Look up a token by its full name. */
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The `@c2n/theme` design tokens.\n *\n * Tokens follow the component variable grammar with the pseudo-component prefix `c2-theme` and no part\n * segment: `--c2-theme--<name>`. The generated `base.css` maps every `@c2n/*` component variable onto one\n * of them, keeping the component's own default as the innermost fallback, e.g.\n * `--c2-list--border-top: var(--c2-theme--border, var(--c2-theme--border-width, 1px) solid var(--c2-theme--color-outline, #e4e4e7))`.\n *\n * Keep this file to erasable TypeScript syntax: the theme generator imports it directly under Node.\n */\n\nexport const TOKEN_PREFIX = '--c2-theme--'\n\nexport type TokenCategory = 'color' | 'font' | 'radius' | 'border' | 'focus' | 'disabled' | 'motion' | 'shadow'\n\nexport interface TokenDef {\n /** Full custom property name, e.g. `--c2-theme--color-primary`. */\n name: string\n category: TokenCategory\n /** Light value. `null` means \"not set by default\" (the component fallback applies). */\n light: string | null\n /** Dark value; omitted when the token is theme-invariant. */\n dark?: string\n description: string\n}\n\nfunction token(name: string, category: TokenCategory, light: string | null, description: string, dark?: string): TokenDef {\n return { name: `${TOKEN_PREFIX}${name}`, category, light, dark, description }\n}\n\nexport const tokens: TokenDef[] = [\n // Colour roles\n token('color-primary', 'color', '#0265dc', 'Accent colour: filled buttons, selected states, focused borders, links.', '#5aa3ff'),\n token('color-primary-hover', 'color', '#0154b8', 'Accent colour on hover.', '#7bb6ff'),\n token('color-primary-active', 'color', '#01469a', 'Accent colour while pressed.', '#9cc9ff'),\n token('color-on-primary', 'color', '#ffffff', 'Text and icons drawn on the accent colour.', '#032a5c'),\n token('color-primary-container', 'color', '#edf1fe', 'Soft accent surface, e.g. a selected list item.', '#0f2d5c'),\n token('color-surface', 'color', '#ffffff', 'Default surface of inputs, lists, cards, dialogs.', '#18181b'),\n token('color-surface-container-low', 'color', '#fafafa', 'Slightly raised surface: side navigation, read-only fields, subtle hover.', '#1f1f23'),\n token('color-surface-container', 'color', '#f4f4f5', 'Hover surface for rows and icon buttons.', '#27272a'),\n token('color-on-surface', 'color', '#18181b', 'Primary text colour.', '#f4f4f5'),\n token('color-on-surface-variant', 'color', '#71717a', 'Secondary text, placeholders, icons, supporting text.', '#a1a1aa'),\n token('color-outline', 'color', '#d4d4d8', 'Resting border colour of inputs, cards and lists.', '#3f3f46'),\n token('color-outline-variant', 'color', '#e4e4e7', 'Hairline dividers and light borders.', '#27272a'),\n token('color-outline-strong', 'color', '#a1a1aa', 'Border colour on hover.', '#52525b'),\n token('color-error', 'color', '#dc2626', 'Error borders, error text, required indicators.', '#f87171'),\n token('color-scrim', 'color', 'rgba(9, 9, 11, 0.45)', 'Backdrop behind dialogs and drawers.', 'rgba(0, 0, 0, 0.6)'),\n token('color-inverse-surface', 'color', '#18181b', 'High-contrast surface, e.g. tooltips.', '#f4f4f5'),\n token('color-on-inverse-surface', 'color', '#fafafa', 'Text drawn on the inverse surface.', '#18181b'),\n // Typography\n token('font-family', 'font', null, 'Font family of every component. Unset by default so components inherit the page font.'),\n token('font-size-sm', 'font', '12px', 'Small text: supporting text, tooltips, descriptions, timestamps.'),\n token('font-size-md', 'font', '14px', 'Body text: buttons, inputs, list items, dialog content.'),\n token('font-weight-medium', 'font', '500', 'Medium weight: buttons, headers, tooltips.'),\n token('font-weight-semibold', 'font', '600', 'Semibold weight: dialog titles, list headings, avatars.'),\n // Shape\n token('radius-sm', 'radius', '4px', 'Small radius: checkboxes, link buttons, inline controls.'),\n token('radius-md', 'radius', '6px', 'Default radius: buttons, inputs, list items, tooltips.'),\n token('radius-lg', 'radius', '8px', 'Large radius: cards, panels, popovers.'),\n token('radius-xl', 'radius', '14px', 'Extra large radius: dialogs.'),\n token('radius-full', 'radius', '999px', 'Pill / circle radius: avatars, icon buttons.'),\n // Borders\n token('border-width', 'border', '1px', 'Width of every themed border.'),\n token('border', 'border', null, 'Complete resting border shorthand. Unset by default: it falls back to `border-width solid color-outline`.'),\n // Interaction\n token('focus-ring', 'focus', '2px solid rgba(2, 101, 220, 0.4)', 'Focus-visible outline of every component.', '2px solid rgba(90, 163, 255, 0.5)'),\n token('disabled-opacity', 'disabled', '0.38', 'Opacity of disabled components.'),\n token('motion-scale', 'motion', '1', 'Multiplier applied to every transition and animation duration (0 disables motion).'),\n // Elevation\n token('shadow-md', 'shadow', '0 8px 24px rgba(24, 24, 27, 0.08)', 'Shadow of popovers, menus and tooltips.', '0 8px 24px rgba(0, 0, 0, 0.45)'),\n token('shadow-lg', 'shadow', '0 24px 60px rgba(0, 0, 0, 0.25)', 'Shadow of dialogs and drawers.', '0 24px 60px rgba(0, 0, 0, 0.6)'),\n]\n\nexport const tokenNames = tokens.map((t) => t.name)\n\n/** Look up a token by its full name. */\nexport function getToken(name: string): TokenDef | undefined {\n return tokens.find((t) => t.name === name)\n}\n"]}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The `@c2n/theme` design tokens.\n *\n * Tokens follow the component variable grammar with the pseudo-component prefix `c2-theme` and no part\n * segment: `--c2-theme--<name>`. The generated `base.css` maps every `@c2n/*` component variable onto one\n * of them, keeping the component's own default as the innermost fallback, e.g.\n * `--c2-list--border-top: var(--c2-theme--border, var(--c2-theme--border-width, 1px) solid var(--c2-theme--color-outline, #e4e4e7))`.\n *\n * Keep this file to erasable TypeScript syntax: the theme generator imports it directly under Node.\n */\n\nexport const TOKEN_PREFIX = '--c2-theme--'\n\nexport type TokenCategory = 'color' | 'font' | 'radius' | 'border' | 'focus' | 'disabled' | 'motion' | 'shadow' | 'chart'\n\nexport interface TokenDef {\n /** Full custom property name, e.g. `--c2-theme--color-primary`. */\n name: string\n category: TokenCategory\n /** Light value. `null` means \"not set by default\" (the component fallback applies). */\n light: string | null\n /** Dark value; omitted when the token is theme-invariant. */\n dark?: string\n description: string\n}\n\nfunction token(name: string, category: TokenCategory, light: string | null, description: string, dark?: string): TokenDef {\n return { name: `${TOKEN_PREFIX}${name}`, category, light, dark, description }\n}\n\nexport const tokens: TokenDef[] = [\n // Colour roles\n token('color-primary', 'color', '#0265dc', 'Accent colour: filled buttons, selected states, focused borders, links.', '#5aa3ff'),\n token('color-primary-hover', 'color', '#0154b8', 'Accent colour on hover.', '#7bb6ff'),\n token('color-primary-active', 'color', '#01469a', 'Accent colour while pressed.', '#9cc9ff'),\n token('color-on-primary', 'color', '#ffffff', 'Text and icons drawn on the accent colour.', '#032a5c'),\n token('color-primary-container', 'color', '#edf1fe', 'Soft accent surface, e.g. a selected list item.', '#0f2d5c'),\n token('color-primary-glow', 'color', 'rgba(2, 101, 220, 0.2)', 'Accent tint for luminous borders and decorative glows.', 'rgba(90, 163, 255, 0.28)'),\n token('color-surface', 'color', '#ffffff', 'Default surface of inputs, lists, cards, dialogs.', '#18181b'),\n token('color-surface-container-low', 'color', '#fafafa', 'Slightly raised surface: side navigation, read-only fields, subtle hover.', '#1f1f23'),\n token('color-surface-container', 'color', '#f4f4f5', 'Hover surface for rows and icon buttons.', '#27272a'),\n token('color-on-surface', 'color', '#18181b', 'Primary text colour.', '#f4f4f5'),\n token('color-on-surface-variant', 'color', '#71717a', 'Secondary text, placeholders, icons, supporting text.', '#a1a1aa'),\n token('color-outline', 'color', '#d4d4d8', 'Resting border colour of inputs, cards and lists.', '#3f3f46'),\n token('color-outline-variant', 'color', '#e4e4e7', 'Hairline dividers and light borders.', '#27272a'),\n token('color-outline-strong', 'color', '#a1a1aa', 'Border colour on hover.', '#52525b'),\n token('color-error', 'color', '#dc2626', 'Error borders, error text, required indicators.', '#f87171'),\n token('color-scrim', 'color', 'rgba(9, 9, 11, 0.45)', 'Backdrop behind dialogs and drawers.', 'rgba(0, 0, 0, 0.6)'),\n token('color-inverse-surface', 'color', '#18181b', 'High-contrast surface, e.g. tooltips.', '#f4f4f5'),\n token('color-on-inverse-surface', 'color', '#fafafa', 'Text drawn on the inverse surface.', '#18181b'),\n // Typography\n token('font-family', 'font', null, 'Font family of every component. Unset by default so components inherit the page font.'),\n token('font-size-sm', 'font', '12px', 'Small text: supporting text, tooltips, descriptions, timestamps.'),\n token('font-size-md', 'font', '14px', 'Body text: buttons, inputs, list items, dialog content.'),\n token('font-weight-medium', 'font', '500', 'Medium weight: buttons, headers, tooltips.'),\n token('font-weight-semibold', 'font', '600', 'Semibold weight: dialog titles, list headings, avatars.'),\n // Shape\n token('radius-sm', 'radius', '4px', 'Small radius: checkboxes, link buttons, inline controls.'),\n token('radius-md', 'radius', '6px', 'Default radius: buttons, inputs, list items, tooltips.'),\n token('radius-lg', 'radius', '8px', 'Large radius: cards, panels, popovers.'),\n token('radius-xl', 'radius', '14px', 'Extra large radius: dialogs.'),\n token('radius-full', 'radius', '999px', 'Pill / circle radius: avatars, icon buttons.'),\n // Borders\n token('border-width', 'border', '1px', 'Width of every themed border.'),\n token('border', 'border', null, 'Complete resting border shorthand. Unset by default: it falls back to `border-width solid color-outline`.'),\n // Interaction\n token('focus-ring', 'focus', '2px solid rgba(2, 101, 220, 0.4)', 'Focus-visible outline of every component.', '2px solid rgba(90, 163, 255, 0.5)'),\n token('disabled-opacity', 'disabled', '0.38', 'Opacity of disabled components.'),\n token('motion-scale', 'motion', '1', 'Multiplier applied to every transition and animation duration (0 disables motion).'),\n // Elevation\n token('shadow-md', 'shadow', '0 8px 24px rgba(24, 24, 27, 0.08)', 'Shadow of popovers, menus and tooltips.', '0 8px 24px rgba(0, 0, 0, 0.45)'),\n token('shadow-lg', 'shadow', '0 24px 60px rgba(0, 0, 0, 0.25)', 'Shadow of dialogs and drawers.', '0 24px 60px rgba(0, 0, 0, 0.6)'),\n // Data visualisation. The categorical palette is a set: recolour it as a whole, never one slot at a time.\n // Slots 1-4 are the Okabe-Ito core and stay distinguishable under protanopia, deuteranopia and tritanopia;\n // 5-7 add hue and lightness separation, and slot 8 is neutral grey, which no colour deficiency collapses\n // into a chromatic slot. Past four series, label the marks directly rather than relying on hue alone.\n token('chart-series-1', 'chart', '#0265dc', 'First categorical series. Matches the accent, so a single-series chart reads as brand.', '#5aa3ff'),\n token('chart-series-2', 'chart', '#ea580c', 'Second categorical series: orange, the Okabe-Ito counterpart to the blue.', '#fb923c'),\n token('chart-series-3', 'chart', '#0f766e', 'Third categorical series: teal.', '#2dd4bf'),\n token('chart-series-4', 'chart', '#db2777', 'Fourth categorical series: pink.', '#f472b6'),\n token('chart-series-5', 'chart', '#a16207', 'Fifth categorical series: gold, dark enough not to collapse into the orange.', '#fbbf24'),\n token('chart-series-6', 'chart', '#7c3aed', 'Sixth categorical series: violet.', '#a78bfa'),\n token('chart-series-7', 'chart', '#0891b2', 'Seventh categorical series: cyan.', '#22d3ee'),\n token('chart-series-8', 'chart', '#52525b', 'Eighth categorical series: neutral grey, for an \"other\" or residual bucket.', '#a1a1aa'),\n token(\n 'chart-positive',\n 'chart',\n '#16a34a',\n 'Rising values: an up candle, a positive sparkline. Separate from the accent so direction and brand move independently.',\n '#4ade80',\n ),\n token(\n 'chart-negative',\n 'chart',\n '#dc2626',\n 'Falling values: a down candle, a negative sparkline. Separate from `color-error` so a brand can recolour direction without recolouring failure.',\n '#f87171',\n ),\n]\n\nexport const tokenNames = tokens.map((t) => t.name)\n\n/** Look up a token by its full name. */\nexport function getToken(name: string): TokenDef | undefined {\n return tokens.find((t) => t.name === name)\n}\n"]}
package/dist/tokens.json CHANGED
@@ -35,6 +35,13 @@
35
35
  "dark": "#0f2d5c",
36
36
  "description": "Soft accent surface, e.g. a selected list item."
37
37
  },
38
+ {
39
+ "name": "--c2-theme--color-primary-glow",
40
+ "category": "color",
41
+ "light": "rgba(2, 101, 220, 0.2)",
42
+ "dark": "rgba(90, 163, 255, 0.28)",
43
+ "description": "Accent tint for luminous borders and decorative glows."
44
+ },
38
45
  {
39
46
  "name": "--c2-theme--color-surface",
40
47
  "category": "color",
@@ -223,11 +230,126 @@
223
230
  "light": "0 24px 60px rgba(0, 0, 0, 0.25)",
224
231
  "dark": "0 24px 60px rgba(0, 0, 0, 0.6)",
225
232
  "description": "Shadow of dialogs and drawers."
233
+ },
234
+ {
235
+ "name": "--c2-theme--chart-series-1",
236
+ "category": "chart",
237
+ "light": "#0265dc",
238
+ "dark": "#5aa3ff",
239
+ "description": "First categorical series. Matches the accent, so a single-series chart reads as brand."
240
+ },
241
+ {
242
+ "name": "--c2-theme--chart-series-2",
243
+ "category": "chart",
244
+ "light": "#ea580c",
245
+ "dark": "#fb923c",
246
+ "description": "Second categorical series: orange, the Okabe-Ito counterpart to the blue."
247
+ },
248
+ {
249
+ "name": "--c2-theme--chart-series-3",
250
+ "category": "chart",
251
+ "light": "#0f766e",
252
+ "dark": "#2dd4bf",
253
+ "description": "Third categorical series: teal."
254
+ },
255
+ {
256
+ "name": "--c2-theme--chart-series-4",
257
+ "category": "chart",
258
+ "light": "#db2777",
259
+ "dark": "#f472b6",
260
+ "description": "Fourth categorical series: pink."
261
+ },
262
+ {
263
+ "name": "--c2-theme--chart-series-5",
264
+ "category": "chart",
265
+ "light": "#a16207",
266
+ "dark": "#fbbf24",
267
+ "description": "Fifth categorical series: gold, dark enough not to collapse into the orange."
268
+ },
269
+ {
270
+ "name": "--c2-theme--chart-series-6",
271
+ "category": "chart",
272
+ "light": "#7c3aed",
273
+ "dark": "#a78bfa",
274
+ "description": "Sixth categorical series: violet."
275
+ },
276
+ {
277
+ "name": "--c2-theme--chart-series-7",
278
+ "category": "chart",
279
+ "light": "#0891b2",
280
+ "dark": "#22d3ee",
281
+ "description": "Seventh categorical series: cyan."
282
+ },
283
+ {
284
+ "name": "--c2-theme--chart-series-8",
285
+ "category": "chart",
286
+ "light": "#52525b",
287
+ "dark": "#a1a1aa",
288
+ "description": "Eighth categorical series: neutral grey, for an \"other\" or residual bucket."
289
+ },
290
+ {
291
+ "name": "--c2-theme--chart-positive",
292
+ "category": "chart",
293
+ "light": "#16a34a",
294
+ "dark": "#4ade80",
295
+ "description": "Rising values: an up candle, a positive sparkline. Separate from the accent so direction and brand move independently."
296
+ },
297
+ {
298
+ "name": "--c2-theme--chart-negative",
299
+ "category": "chart",
300
+ "light": "#dc2626",
301
+ "dark": "#f87171",
302
+ "description": "Falling values: a down candle, a negative sparkline. Separate from `color-error` so a brand can recolour direction without recolouring failure."
226
303
  }
227
304
  ],
228
305
  "mapping": {
229
306
  "--c2-accordion--border-radius": "--c2-theme--radius-lg",
230
307
  "--c2-accordion--transition-duration": "--c2-theme--motion-scale",
308
+ "--c2-attachment--background": "--c2-theme--color-surface",
309
+ "--c2-attachment--border": "--c2-theme--color-outline-variant",
310
+ "--c2-attachment--border-radius": "--c2-theme--radius-xl",
311
+ "--c2-attachment--color": "--c2-theme--color-on-surface",
312
+ "--c2-attachment__media--background": "--c2-theme--color-surface-container",
313
+ "--c2-attachment__media--color": "--c2-theme--color-on-surface-variant",
314
+ "--c2-attachment__name--font-size": "--c2-theme--font-size-md",
315
+ "--c2-attachment__name--font-weight": "--c2-theme--font-weight-medium",
316
+ "--c2-attachment__metadata--color": "--c2-theme--color-on-surface-variant",
317
+ "--c2-attachment__metadata--font-size": "--c2-theme--font-size-sm",
318
+ "--c2-attachment__status--color": "--c2-theme--color-on-surface-variant",
319
+ "--c2-attachment__status__error--color": "--c2-theme--color-error",
320
+ "--c2-attachment__progress--background": "--c2-theme--color-outline-variant",
321
+ "--c2-attachment__progress--color": "--c2-theme--color-primary",
322
+ "--c2-attachment__action--color": "--c2-theme--color-on-surface-variant",
323
+ "--c2-attachment__action__hover--background": "--c2-theme--color-surface-container",
324
+ "--c2-attachment__action__focus--outline": "--c2-theme--focus-ring",
325
+ "--c2-attachment__disabled--opacity": "--c2-theme--disabled-opacity",
326
+ "--c2-autocomplete--background": "--c2-theme--color-surface",
327
+ "--c2-autocomplete--color": "--c2-theme--color-on-surface",
328
+ "--c2-autocomplete--font-size": "--c2-theme--font-size-md",
329
+ "--c2-autocomplete--border": "--c2-theme--border",
330
+ "--c2-autocomplete--border-radius": "--c2-theme--radius-lg",
331
+ "--c2-autocomplete__hover--border": "--c2-theme--color-outline-strong",
332
+ "--c2-autocomplete__focus--border": "--c2-theme--color-primary",
333
+ "--c2-autocomplete__focus--outline": "--c2-theme--focus-ring",
334
+ "--c2-autocomplete__placeholder--color": "--c2-theme--color-on-surface-variant",
335
+ "--c2-autocomplete__disabled--opacity": "--c2-theme--disabled-opacity",
336
+ "--c2-autocomplete__icon--color": "--c2-theme--color-on-surface-variant",
337
+ "--c2-autocomplete__panel--background": "--c2-theme--color-surface",
338
+ "--c2-autocomplete__panel--border": "--c2-theme--color-outline-variant",
339
+ "--c2-autocomplete__panel--border-radius": "--c2-theme--radius-lg",
340
+ "--c2-autocomplete__panel--box-shadow": "--c2-theme--shadow-md",
341
+ "--c2-autocomplete__header--color": "--c2-theme--color-on-surface-variant",
342
+ "--c2-autocomplete__header--border-bottom": "--c2-theme--color-outline-variant",
343
+ "--c2-autocomplete__footer--color": "--c2-theme--color-on-surface-variant",
344
+ "--c2-autocomplete__footer--border-top": "--c2-theme--color-outline-variant",
345
+ "--c2-autocomplete__option--border-radius": "--c2-theme--radius-md",
346
+ "--c2-autocomplete__option__active--background": "--c2-theme--color-surface-container",
347
+ "--c2-autocomplete__option__active--color": "--c2-theme--color-on-surface",
348
+ "--c2-autocomplete__description--color": "--c2-theme--color-on-surface-variant",
349
+ "--c2-autocomplete__description--font-size": "--c2-theme--font-size-sm",
350
+ "--c2-autocomplete__highlight--color": "--c2-theme--color-primary",
351
+ "--c2-autocomplete__highlight--font-weight": "--c2-theme--font-weight-semibold",
352
+ "--c2-autocomplete__status--color": "--c2-theme--color-on-surface-variant",
231
353
  "--c2-avatar--border-top-left-radius": "--c2-theme--radius-full",
232
354
  "--c2-avatar--border-top-right-radius": "--c2-theme--radius-full",
233
355
  "--c2-avatar--border-bottom-left-radius": "--c2-theme--radius-full",
@@ -274,18 +396,67 @@
274
396
  "--c2-card--background": "--c2-theme--color-surface",
275
397
  "--c2-card__focus--outline": "--c2-theme--focus-ring",
276
398
  "--c2-card__disabled--opacity": "--c2-theme--disabled-opacity",
277
- "--c2-chat-input--border-top-left-radius": "--c2-theme--radius-sm",
278
- "--c2-chat-input--border-top-right-radius": "--c2-theme--radius-sm",
279
- "--c2-chat-input--border-bottom-left-radius": "--c2-theme--radius-sm",
280
- "--c2-chat-input--border-bottom-right-radius": "--c2-theme--radius-sm",
281
- "--c2-chat-input--border-top": "--c2-theme--border",
282
- "--c2-chat-input--border-right": "--c2-theme--border",
283
- "--c2-chat-input--border-bottom": "--c2-theme--border",
284
- "--c2-chat-input--border-left": "--c2-theme--border",
285
- "--c2-chat-input--color": "--c2-theme--color-on-surface",
286
- "--c2-chat-input--background": "--c2-theme--color-surface",
287
- "--c2-chat-input--font-size": "--c2-theme--font-size-md",
399
+ "--c2-chart__axis-line--color": "--c2-theme--color-outline-variant",
400
+ "--c2-chart--background": "--c2-theme--color-surface",
401
+ "--c2-chart--color": "--c2-theme--color-on-surface",
402
+ "--c2-chart--font-size": "--c2-theme--font-size-sm",
403
+ "--c2-chart--border-top": "--c2-theme--color-outline-variant",
404
+ "--c2-chart--border-right": "--c2-theme--color-outline-variant",
405
+ "--c2-chart--border-bottom": "--c2-theme--color-outline-variant",
406
+ "--c2-chart--border-left": "--c2-theme--color-outline-variant",
407
+ "--c2-chart--border-top-left-radius": "--c2-theme--radius-lg",
408
+ "--c2-chart--border-top-right-radius": "--c2-theme--radius-lg",
409
+ "--c2-chart--border-bottom-left-radius": "--c2-theme--radius-lg",
410
+ "--c2-chart--border-bottom-right-radius": "--c2-theme--radius-lg",
411
+ "--c2-chart__series-1--color": "--c2-theme--chart-series-1",
412
+ "--c2-chart__series-2--color": "--c2-theme--chart-series-2",
413
+ "--c2-chart__series-3--color": "--c2-theme--chart-series-3",
414
+ "--c2-chart__series-4--color": "--c2-theme--chart-series-4",
415
+ "--c2-chart__series-5--color": "--c2-theme--chart-series-5",
416
+ "--c2-chart__series-6--color": "--c2-theme--chart-series-6",
417
+ "--c2-chart__series-7--color": "--c2-theme--chart-series-7",
418
+ "--c2-chart__series-8--color": "--c2-theme--chart-series-8",
419
+ "--c2-chart__axis--color": "--c2-theme--color-on-surface-variant",
420
+ "--c2-chart__axis--font-size": "--c2-theme--font-size-sm",
421
+ "--c2-chart__grid--color": "--c2-theme--color-outline-variant",
422
+ "--c2-chart__crosshair--color": "--c2-theme--color-on-surface-variant",
423
+ "--c2-chart__surface--color": "--c2-theme--color-surface",
424
+ "--c2-chart__muted--color": "--c2-theme--color-on-surface-variant",
425
+ "--c2-chart__positive--color": "--c2-theme--chart-positive",
426
+ "--c2-chart__negative--color": "--c2-theme--chart-negative",
427
+ "--c2-chart__legend--color": "--c2-theme--color-on-surface-variant",
428
+ "--c2-chart__legend--font-size": "--c2-theme--font-size-sm",
429
+ "--c2-chart__legend__disabled--opacity": "--c2-theme--disabled-opacity",
430
+ "--c2-chart__legend-marker--border-radius": "--c2-theme--radius-full",
431
+ "--c2-chart__tooltip--background-color": "--c2-theme--color-inverse-surface",
432
+ "--c2-chart__tooltip--color": "--c2-theme--color-on-inverse-surface",
433
+ "--c2-chart__tooltip--font-size": "--c2-theme--font-size-sm",
434
+ "--c2-chart__tooltip--border-radius": "--c2-theme--radius-md",
435
+ "--c2-chart__tooltip--box-shadow": "--c2-theme--shadow-md",
436
+ "--c2-chart__state--color": "--c2-theme--color-on-surface-variant",
437
+ "--c2-chart__state--font-size": "--c2-theme--font-size-md",
438
+ "--c2-chart__tone-positive--color": "--c2-theme--chart-positive",
439
+ "--c2-chart__tone-negative--color": "--c2-theme--chart-negative",
440
+ "--c2-chart__slice--border": "--c2-theme--color-surface",
441
+ "--c2-chat-input__container--border": "--c2-theme--border",
442
+ "--c2-chat-input__container--background": "--c2-theme--color-surface",
443
+ "--c2-chat-input__container--color": "--c2-theme--color-on-surface",
444
+ "--c2-chat-input__container__hover--border": "--c2-theme--color-outline-strong",
445
+ "--c2-chat-input__container__focus--border": "--c2-theme--color-primary",
446
+ "--c2-chat-input__container__invalid--border": "--c2-theme--color-error",
447
+ "--c2-chat-input__container__disabled--opacity": "--c2-theme--disabled-opacity",
448
+ "--c2-chat-input__textarea--font-size": "--c2-theme--font-size-md",
449
+ "--c2-chat-input__placeholder--color": "--c2-theme--color-on-surface-variant",
450
+ "--c2-chat-input__send-button--background": "--c2-theme--color-primary",
451
+ "--c2-chat-input__send-button--color": "--c2-theme--color-on-primary",
452
+ "--c2-chat-input__send-button__hover--background": "--c2-theme--color-primary-hover",
453
+ "--c2-chat-input__send-button__active--background": "--c2-theme--color-primary-active",
454
+ "--c2-chat-input__send-button__focus--outline": "--c2-theme--focus-ring",
455
+ "--c2-chat-input__send-button__disabled--opacity": "--c2-theme--disabled-opacity",
288
456
  "--c2-chat-message--font-size": "--c2-theme--font-size-md",
457
+ "--c2-chat-message__header__title--color": "--c2-theme--color-on-surface",
458
+ "--c2-chat-message__header__title--font-weight": "--c2-theme--font-weight-semibold",
459
+ "--c2-chat-message__time--color": "--c2-theme--color-on-surface-variant",
289
460
  "--c2-chat-message__time--font-size": "--c2-theme--font-size-sm",
290
461
  "--c2-checkbox__container--border-top-left-radius": "--c2-theme--radius-sm",
291
462
  "--c2-checkbox__container--border-top-right-radius": "--c2-theme--radius-sm",
@@ -367,11 +538,20 @@
367
538
  "--c2-details__header__hover--background": "--c2-theme--color-surface-container-low",
368
539
  "--c2-details__header__focus--outline": "--c2-theme--focus-ring",
369
540
  "--c2-details__header__disabled--opacity": "--c2-theme--disabled-opacity",
541
+ "--c2-header--background": "--c2-theme--color-surface",
542
+ "--c2-header--color": "--c2-theme--color-on-surface",
543
+ "--c2-header--border-bottom": "--c2-theme--color-outline-variant",
370
544
  "--c2-icon-button--border-radius": "--c2-theme--radius-full",
371
545
  "--c2-icon-button__hover--background-color": "--c2-theme--color-surface-container",
372
546
  "--c2-icon-button__focus--outline": "--c2-theme--focus-ring",
373
547
  "--c2-icon-button__disabled--opacity": "--c2-theme--disabled-opacity",
374
548
  "--c2-icon-button__selected--background-color": "--c2-theme--color-surface-container",
549
+ "--c2-kbd--background-color": "--c2-theme--color-surface-container",
550
+ "--c2-kbd--color": "--c2-theme--color-on-surface-variant",
551
+ "--c2-kbd--border": "--c2-theme--border",
552
+ "--c2-kbd--font-family": "--c2-theme--font-family",
553
+ "--c2-kbd--font-size": "--c2-theme--font-size-sm",
554
+ "--c2-kbd--font-weight": "--c2-theme--font-weight-medium",
375
555
  "--c2-label__container__disabled--opacity": "--c2-theme--disabled-opacity",
376
556
  "--c2-label__required-indicator--color": "--c2-theme--color-error",
377
557
  "--c2-link-button__container--border-radius": "--c2-theme--radius-sm",
@@ -401,6 +581,33 @@
401
581
  "--c2-list-item__selected__hover--background": "--c2-theme--color-primary-container",
402
582
  "--c2-list-item__focus--outline": "--c2-theme--focus-ring",
403
583
  "--c2-list-item__disabled--opacity": "--c2-theme--disabled-opacity",
584
+ "--c2-menu--background": "--c2-theme--color-surface",
585
+ "--c2-menu--border-top": "--c2-theme--color-outline-variant",
586
+ "--c2-menu--border-right": "--c2-theme--color-outline-variant",
587
+ "--c2-menu--border-bottom": "--c2-theme--color-outline-variant",
588
+ "--c2-menu--border-left": "--c2-theme--color-outline-variant",
589
+ "--c2-menu--border-top-left-radius": "--c2-theme--radius-lg",
590
+ "--c2-menu--border-top-right-radius": "--c2-theme--radius-lg",
591
+ "--c2-menu--border-bottom-left-radius": "--c2-theme--radius-lg",
592
+ "--c2-menu--border-bottom-right-radius": "--c2-theme--radius-lg",
593
+ "--c2-menu--box-shadow": "--c2-theme--shadow-md",
594
+ "--c2-menu__separator--color": "--c2-theme--color-outline-variant",
595
+ "--c2-menu__heading--color": "--c2-theme--color-on-surface-variant",
596
+ "--c2-menu__heading--font-weight": "--c2-theme--font-weight-semibold",
597
+ "--c2-menu-item--border-top-left-radius": "--c2-theme--radius-md",
598
+ "--c2-menu-item--border-top-right-radius": "--c2-theme--radius-md",
599
+ "--c2-menu-item--border-bottom-left-radius": "--c2-theme--radius-md",
600
+ "--c2-menu-item--border-bottom-right-radius": "--c2-theme--radius-md",
601
+ "--c2-menu-item--font-size": "--c2-theme--font-size-md",
602
+ "--c2-menu-item--color": "--c2-theme--color-on-surface",
603
+ "--c2-menu-item__hover--background": "--c2-theme--color-surface-container",
604
+ "--c2-menu-item__description--color": "--c2-theme--color-on-surface-variant",
605
+ "--c2-menu-item__description--font-size": "--c2-theme--font-size-sm",
606
+ "--c2-menu-item__shortcut--color": "--c2-theme--color-on-surface-variant",
607
+ "--c2-menu-item__icon--color": "--c2-theme--color-on-surface-variant",
608
+ "--c2-menu-item__destructive--color": "--c2-theme--color-error",
609
+ "--c2-menu-item__focus--outline": "--c2-theme--focus-ring",
610
+ "--c2-menu-item__disabled--opacity": "--c2-theme--disabled-opacity",
404
611
  "--c2-modal--background": "--c2-theme--color-surface",
405
612
  "--c2-modal--color": "--c2-theme--color-on-surface",
406
613
  "--c2-modal--border-top-left-radius": "--c2-theme--radius-xl",
@@ -417,7 +624,97 @@
417
624
  "--c2-modal__close__hover--color": "--c2-theme--color-on-surface",
418
625
  "--c2-modal__close__focus--outline": "--c2-theme--focus-ring",
419
626
  "--c2-modal__backdrop--background": "--c2-theme--color-scrim",
627
+ "--c2-navigation-menu__mobile-trigger--color": "--c2-theme--color-on-surface",
628
+ "--c2-navigation-menu__mobile-trigger--border": "--c2-theme--color-outline-variant",
629
+ "--c2-navigation-menu__mobile-trigger--border-radius": "--c2-theme--radius-lg",
630
+ "--c2-navigation-menu__mobile-trigger__hover--background": "--c2-theme--color-surface-container",
631
+ "--c2-navigation-menu__mobile-trigger__focus--outline": "--c2-theme--focus-ring",
632
+ "--c2-navigation-menu__mobile-panel--background": "--c2-theme--color-surface",
633
+ "--c2-navigation-menu__mobile-panel--border-top": "--c2-theme--color-outline-variant",
634
+ "--c2-navigation-menu__mobile-panel--border-right": "--c2-theme--color-outline-variant",
635
+ "--c2-navigation-menu__mobile-panel--border-bottom": "--c2-theme--color-outline-variant",
636
+ "--c2-navigation-menu__mobile-panel--border-left": "--c2-theme--color-outline-variant",
637
+ "--c2-navigation-menu__mobile-panel--border-top-left-radius": "--c2-theme--radius-lg",
638
+ "--c2-navigation-menu__mobile-panel--border-top-right-radius": "--c2-theme--radius-lg",
639
+ "--c2-navigation-menu__mobile-panel--border-bottom-left-radius": "--c2-theme--radius-lg",
640
+ "--c2-navigation-menu__mobile-panel--border-bottom-right-radius": "--c2-theme--radius-lg",
641
+ "--c2-navigation-menu__mobile-panel--box-shadow": "--c2-theme--shadow-md",
642
+ "--c2-navigation-menu-item--border-top-left-radius": "--c2-theme--radius-md",
643
+ "--c2-navigation-menu-item--border-top-right-radius": "--c2-theme--radius-md",
644
+ "--c2-navigation-menu-item--border-bottom-left-radius": "--c2-theme--radius-md",
645
+ "--c2-navigation-menu-item--border-bottom-right-radius": "--c2-theme--radius-md",
646
+ "--c2-navigation-menu-item--font-size": "--c2-theme--font-size-md",
647
+ "--c2-navigation-menu-item--font-weight": "--c2-theme--font-weight-medium",
648
+ "--c2-navigation-menu-item--color": "--c2-theme--color-on-surface-variant",
649
+ "--c2-navigation-menu-item__hover--color": "--c2-theme--color-on-surface",
650
+ "--c2-navigation-menu-item__hover--background": "--c2-theme--color-surface-container",
651
+ "--c2-navigation-menu-item__expanded--color": "--c2-theme--color-on-surface",
652
+ "--c2-navigation-menu-item__expanded--background": "--c2-theme--color-surface-container",
653
+ "--c2-navigation-menu-item__current--color": "--c2-theme--color-on-surface",
654
+ "--c2-navigation-menu-item__current--font-weight": "--c2-theme--font-weight-semibold",
655
+ "--c2-navigation-menu-item__indicator--color": "--c2-theme--color-primary",
656
+ "--c2-navigation-menu-item__indicator--border-radius": "--c2-theme--radius-full",
657
+ "--c2-navigation-menu-item__focus--outline": "--c2-theme--focus-ring",
658
+ "--c2-navigation-menu-item__disabled--opacity": "--c2-theme--disabled-opacity",
659
+ "--c2-navigation-menu-item__mobile-heading--color": "--c2-theme--color-on-surface-variant",
660
+ "--c2-navigation-menu-item__mobile-heading--font-weight": "--c2-theme--font-weight-semibold",
661
+ "--c2-navigation-menu-item__panel--background": "--c2-theme--color-surface",
662
+ "--c2-navigation-menu-item__panel--border-top": "--c2-theme--color-outline-variant",
663
+ "--c2-navigation-menu-item__panel--border-right": "--c2-theme--color-outline-variant",
664
+ "--c2-navigation-menu-item__panel--border-bottom": "--c2-theme--color-outline-variant",
665
+ "--c2-navigation-menu-item__panel--border-left": "--c2-theme--color-outline-variant",
666
+ "--c2-navigation-menu-item__panel--border-top-left-radius": "--c2-theme--radius-lg",
667
+ "--c2-navigation-menu-item__panel--border-top-right-radius": "--c2-theme--radius-lg",
668
+ "--c2-navigation-menu-item__panel--border-bottom-left-radius": "--c2-theme--radius-lg",
669
+ "--c2-navigation-menu-item__panel--border-bottom-right-radius": "--c2-theme--radius-lg",
670
+ "--c2-navigation-menu-item__panel--box-shadow": "--c2-theme--shadow-md",
671
+ "--c2-navigation-menu-link--border-top-left-radius": "--c2-theme--radius-md",
672
+ "--c2-navigation-menu-link--border-top-right-radius": "--c2-theme--radius-md",
673
+ "--c2-navigation-menu-link--border-bottom-left-radius": "--c2-theme--radius-md",
674
+ "--c2-navigation-menu-link--border-bottom-right-radius": "--c2-theme--radius-md",
675
+ "--c2-navigation-menu-link--font-size": "--c2-theme--font-size-md",
676
+ "--c2-navigation-menu-link--font-weight": "--c2-theme--font-weight-medium",
677
+ "--c2-navigation-menu-link--color": "--c2-theme--color-on-surface",
678
+ "--c2-navigation-menu-link__hover--background": "--c2-theme--color-surface-container",
679
+ "--c2-navigation-menu-link__current--color": "--c2-theme--color-primary",
680
+ "--c2-navigation-menu-link__current--background": "--c2-theme--color-primary-container",
681
+ "--c2-navigation-menu-link__description--color": "--c2-theme--color-on-surface-variant",
682
+ "--c2-navigation-menu-link__description--font-size": "--c2-theme--font-size-sm",
683
+ "--c2-navigation-menu-link__icon--color": "--c2-theme--color-on-surface-variant",
684
+ "--c2-navigation-menu-link__focus--outline": "--c2-theme--focus-ring",
685
+ "--c2-navigation-menu-link__disabled--opacity": "--c2-theme--disabled-opacity",
420
686
  "--c2-overlay--transition-duration": "--c2-theme--motion-scale",
687
+ "--c2-pagination__item--color": "--c2-theme--color-on-surface",
688
+ "--c2-pagination__item--border-radius": "--c2-theme--radius-lg",
689
+ "--c2-pagination__item--font-size": "--c2-theme--font-size-md",
690
+ "--c2-pagination__item--font-weight": "--c2-theme--font-weight-medium",
691
+ "--c2-pagination__item__hover--color": "--c2-theme--color-on-surface",
692
+ "--c2-pagination__item__hover--background-color": "--c2-theme--color-surface-container",
693
+ "--c2-pagination__item__selected--color": "--c2-theme--color-on-surface",
694
+ "--c2-pagination__item__selected--background-color": "--c2-theme--color-surface",
695
+ "--c2-pagination__item__selected--border": "--c2-theme--color-outline-variant",
696
+ "--c2-pagination__item__selected--font-weight": "--c2-theme--font-weight-medium",
697
+ "--c2-pagination__item__focus--outline": "--c2-theme--focus-ring",
698
+ "--c2-pagination__item__disabled--opacity": "--c2-theme--disabled-opacity",
699
+ "--c2-pagination__nav--color": "--c2-theme--color-on-surface",
700
+ "--c2-pagination__nav--border-radius": "--c2-theme--radius-lg",
701
+ "--c2-pagination__nav--font-size": "--c2-theme--font-size-md",
702
+ "--c2-pagination__nav--font-weight": "--c2-theme--font-weight-medium",
703
+ "--c2-pagination__nav__hover--color": "--c2-theme--color-on-surface",
704
+ "--c2-pagination__nav__hover--background-color": "--c2-theme--color-surface-container",
705
+ "--c2-pagination__ellipsis--color": "--c2-theme--color-on-surface-variant",
706
+ "--c2-pagination__label--color": "--c2-theme--color-on-surface-variant",
707
+ "--c2-pagination__label--font-size": "--c2-theme--font-size-md",
708
+ "--c2-pagination__label--font-weight": "--c2-theme--font-weight-medium",
709
+ "--c2-progress--border-radius": "--c2-theme--radius-full",
710
+ "--c2-progress__track--background-color": "--c2-theme--color-outline-variant",
711
+ "--c2-progress__indicator--background-color": "--c2-theme--color-primary",
712
+ "--c2-progress--animation-duration": "--c2-theme--motion-scale",
713
+ "--c2-progress__label--color": "--c2-theme--color-on-surface-variant",
714
+ "--c2-progress__label--font-size": "--c2-theme--font-size-md",
715
+ "--c2-progress__value--color": "--c2-theme--color-on-surface",
716
+ "--c2-progress__value--font-size": "--c2-theme--font-size-md",
717
+ "--c2-progress__value--font-weight": "--c2-theme--font-weight-medium",
421
718
  "--c2-radio__container--border-radius": "--c2-theme--radius-lg",
422
719
  "--c2-radio__control--border-radius": "--c2-theme--radius-full",
423
720
  "--c2-radio__control--border": "--c2-theme--border",
@@ -478,11 +775,26 @@
478
775
  "--c2-seperator__label--color": "--c2-theme--color-on-surface-variant",
479
776
  "--c2-seperator__label--font-size": "--c2-theme--font-size-sm",
480
777
  "--c2-seperator__label--font-weight": "--c2-theme--font-weight-medium",
778
+ "--c2-sheet--background": "--c2-theme--color-surface",
779
+ "--c2-sheet--color": "--c2-theme--color-on-surface",
780
+ "--c2-sheet--box-shadow": "--c2-theme--shadow-lg",
781
+ "--c2-sheet--transition-duration": "--c2-theme--motion-scale",
782
+ "--c2-sheet__header--font-weight": "--c2-theme--font-weight-semibold",
783
+ "--c2-sheet__body--font-size": "--c2-theme--font-size-md",
784
+ "--c2-sheet__close--border-radius": "--c2-theme--radius-lg",
785
+ "--c2-sheet__close--color": "--c2-theme--color-on-surface-variant",
786
+ "--c2-sheet__close__hover--background": "--c2-theme--color-surface-container",
787
+ "--c2-sheet__close__hover--color": "--c2-theme--color-on-surface",
788
+ "--c2-sheet__close__focus--outline": "--c2-theme--focus-ring",
789
+ "--c2-sheet__backdrop--background": "--c2-theme--color-scrim",
481
790
  "--c2-side-nav--transition-duration": "--c2-theme--motion-scale",
482
791
  "--c2-side-nav--background-color": "--c2-theme--color-surface-container-low",
483
792
  "--c2-side-nav__divider--color": "--c2-theme--color-outline-variant",
484
793
  "--c2-side-nav__over--box-shadow": "--c2-theme--shadow-lg",
485
794
  "--c2-side-nav__backdrop--background-color": "--c2-theme--color-scrim",
795
+ "--c2-skeleton--border-radius": "--c2-theme--radius-sm",
796
+ "--c2-skeleton--background-color": "--c2-theme--color-outline-variant",
797
+ "--c2-skeleton--animation-duration": "--c2-theme--motion-scale",
486
798
  "--c2-slider__container__disabled--opacity": "--c2-theme--disabled-opacity",
487
799
  "--c2-slider__track--border-radius": "--c2-theme--radius-full",
488
800
  "--c2-slider__track--color": "--c2-theme--color-outline-variant",
@@ -503,6 +815,18 @@
503
815
  "--c2-spinner--animation-duration": "--c2-theme--motion-scale",
504
816
  "--c2-spinner__label--color": "--c2-theme--color-on-surface-variant",
505
817
  "--c2-spinner__label--font-size": "--c2-theme--font-size-md",
818
+ "--c2-stat--background": "--c2-theme--color-surface",
819
+ "--c2-stat--color": "--c2-theme--color-on-surface",
820
+ "--c2-stat--border": "--c2-theme--color-outline-variant",
821
+ "--c2-stat--border-radius": "--c2-theme--radius-lg",
822
+ "--c2-stat__icon--background": "--c2-theme--color-surface-container",
823
+ "--c2-stat__icon--color": "--c2-theme--color-on-surface-variant",
824
+ "--c2-stat__icon--border-radius": "--c2-theme--radius-lg",
825
+ "--c2-stat__value--font-weight": "--c2-theme--font-weight-semibold",
826
+ "--c2-stat__label--font-size": "--c2-theme--font-size-md",
827
+ "--c2-stat__label--color": "--c2-theme--color-on-surface-variant",
828
+ "--c2-stat__description--font-size": "--c2-theme--font-size-sm",
829
+ "--c2-stat__description--color": "--c2-theme--color-on-surface-variant",
506
830
  "--c2-switch__container__disabled--opacity": "--c2-theme--disabled-opacity",
507
831
  "--c2-switch__track--border-radius": "--c2-theme--radius-full",
508
832
  "--c2-switch__track--color": "--c2-theme--color-outline-variant",
@@ -517,6 +841,45 @@
517
841
  "--c2-switch__description--color": "--c2-theme--color-on-surface-variant",
518
842
  "--c2-switch__description--font-size": "--c2-theme--font-size-sm",
519
843
  "--c2-switch--transition-duration": "--c2-theme--motion-scale",
844
+ "--c2-table--background": "--c2-theme--color-surface",
845
+ "--c2-table--color": "--c2-theme--color-on-surface",
846
+ "--c2-table--font-size": "--c2-theme--font-size-md",
847
+ "--c2-table--border-top": "--c2-theme--color-outline-variant",
848
+ "--c2-table--border-right": "--c2-theme--color-outline-variant",
849
+ "--c2-table--border-bottom": "--c2-theme--color-outline-variant",
850
+ "--c2-table--border-left": "--c2-theme--color-outline-variant",
851
+ "--c2-table--border-top-left-radius": "--c2-theme--radius-lg",
852
+ "--c2-table--border-top-right-radius": "--c2-theme--radius-lg",
853
+ "--c2-table--border-bottom-left-radius": "--c2-theme--radius-lg",
854
+ "--c2-table--border-bottom-right-radius": "--c2-theme--radius-lg",
855
+ "--c2-table__header--background": "--c2-theme--color-surface-container-low",
856
+ "--c2-table__header--color": "--c2-theme--color-on-surface-variant",
857
+ "--c2-table__header--font-size": "--c2-theme--font-size-sm",
858
+ "--c2-table__header--font-weight": "--c2-theme--font-weight-semibold",
859
+ "--c2-table__header--border-bottom": "--c2-theme--color-outline-variant",
860
+ "--c2-table__header-cell__hover--background": "--c2-theme--color-surface-container",
861
+ "--c2-table__header-cell__sorted--color": "--c2-theme--color-on-surface",
862
+ "--c2-table__sort-icon--color": "--c2-theme--color-on-surface-variant",
863
+ "--c2-table__sort-icon__active--color": "--c2-theme--color-primary",
864
+ "--c2-table__resizer--color": "--c2-theme--color-outline-variant",
865
+ "--c2-table__resizer__hover--color": "--c2-theme--color-primary",
866
+ "--c2-table__row--border-bottom": "--c2-theme--color-outline-variant",
867
+ "--c2-table__row__hover--background": "--c2-theme--color-surface-container-low",
868
+ "--c2-table__row__odd--background": "--c2-theme--color-surface-container-low",
869
+ "--c2-table__row__selected--background": "--c2-theme--color-primary-container",
870
+ "--c2-table__row__selected--color": "--c2-theme--color-on-surface",
871
+ "--c2-table__cell--font-size": "--c2-theme--font-size-md",
872
+ "--c2-table__cell--color": "--c2-theme--color-on-surface",
873
+ "--c2-table__cell__focus--outline": "--c2-theme--focus-ring",
874
+ "--c2-table__pinned-start--box-shadow": "--c2-theme--color-outline-variant",
875
+ "--c2-table__pinned-end--box-shadow": "--c2-theme--color-outline-variant",
876
+ "--c2-table__skeleton--background": "--c2-theme--color-surface-container",
877
+ "--c2-table__skeleton--border-radius": "--c2-theme--radius-sm",
878
+ "--c2-table__state--color": "--c2-theme--color-on-surface-variant",
879
+ "--c2-table__state--font-size": "--c2-theme--font-size-md",
880
+ "--c2-table__state__error--color": "--c2-theme--color-error",
881
+ "--c2-table__toolbar--border-bottom": "--c2-theme--color-outline-variant",
882
+ "--c2-table__footer--border-top": "--c2-theme--color-outline-variant",
520
883
  "--c2-tabs--box-shadow": "--c2-theme--color-outline-variant",
521
884
  "--c2-tabs__indicator--color": "--c2-theme--color-primary",
522
885
  "--c2-tabs__tab__hover--color": "--c2-theme--color-primary",
@@ -592,6 +955,25 @@
592
955
  "--c2-tooltip--box-shadow": "--c2-theme--shadow-md",
593
956
  "--c2-tooltip--font-size": "--c2-theme--font-size-sm",
594
957
  "--c2-tooltip--font-weight": "--c2-theme--font-weight-medium",
595
- "--c2-tooltip--transition-duration": "--c2-theme--motion-scale"
958
+ "--c2-tooltip--transition-duration": "--c2-theme--motion-scale",
959
+ "--c2-virtual-list--background": "--c2-theme--color-surface",
960
+ "--c2-virtual-list--color": "--c2-theme--color-on-surface",
961
+ "--c2-virtual-list--font-size": "--c2-theme--font-size-md",
962
+ "--c2-virtual-list--border-top-left-radius": "--c2-theme--radius-lg",
963
+ "--c2-virtual-list--border-top-right-radius": "--c2-theme--radius-lg",
964
+ "--c2-virtual-list--border-bottom-left-radius": "--c2-theme--radius-lg",
965
+ "--c2-virtual-list--border-bottom-right-radius": "--c2-theme--radius-lg",
966
+ "--c2-virtual-list__search--border-bottom": "--c2-theme--color-outline-variant",
967
+ "--c2-virtual-list__search-field--background": "--c2-theme--color-surface",
968
+ "--c2-virtual-list__search-field--border": "--c2-theme--color-outline-variant",
969
+ "--c2-virtual-list__search-field--border-radius": "--c2-theme--radius-md",
970
+ "--c2-virtual-list__highlight--font-weight": "--c2-theme--font-weight-semibold",
971
+ "--c2-virtual-list__highlight--border-radius": "--c2-theme--radius-sm",
972
+ "--c2-virtual-list__skeleton--background": "--c2-theme--color-surface-container",
973
+ "--c2-virtual-list__skeleton--border-radius": "--c2-theme--radius-sm",
974
+ "--c2-virtual-list__state--color": "--c2-theme--color-on-surface-variant",
975
+ "--c2-virtual-list__state--font-size": "--c2-theme--font-size-md",
976
+ "--c2-virtual-list__state__error--color": "--c2-theme--color-error",
977
+ "--c2-virtual-list__footer--border-top": "--c2-theme--color-outline-variant"
596
978
  }
597
979
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c2n/theme",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Design tokens (--c2-theme--*) and a generated base theme that maps every @c2n component CSS variable onto them",
5
5
  "type": "module",
6
6
  "main": "dist/tokens.js",
@@ -54,6 +54,20 @@
54
54
  "build": {
55
55
  "dependencies": [
56
56
  "type-check",
57
+ "../../components/chart:build",
58
+ "../../components/autocomplete:build",
59
+ "../../components/header:build",
60
+ "../../components/stat:build",
61
+ "../../components/attachment:build",
62
+ "../../components/virtual-list:build",
63
+ "../../components/sheet:build",
64
+ "../../components/skeleton:build",
65
+ "../../components/progress:build",
66
+ "../../components/pagination:build",
67
+ "../../components/navigation-menu:build",
68
+ "../../components/menu:build",
69
+ "../../components/kbd:build",
70
+ "../../components/table:build",
57
71
  "../../components/copy-button:build",
58
72
  "../../components/textarea:build",
59
73
  "../../components/switch:build",
@@ -93,6 +107,7 @@
93
107
  "../../components/text-field:build",
94
108
  "../../components/tooltip:build",
95
109
  "../../icons/feather-icons:build",
110
+ "../../icons/phosphor-icons:build",
96
111
  "../../../open-packages/chatbot:build"
97
112
  ],
98
113
  "command": "tsc -p tsconfig.lib.json && node scripts/theme-generator/index.ts"
@@ -102,5 +117,5 @@
102
117
  "@c2n/config": "*",
103
118
  "prettier": "3.9.6"
104
119
  },
105
- "gitHead": "2921054bc75299da66dad11c1e374246ff88a51e"
120
+ "gitHead": "c8db398a27f7cd417d665fdf5da455fee2d4e910"
106
121
  }