tuiuiu.js 1.0.4 → 1.0.6-next.4ff3fbc
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/app/render-loop.d.ts +2 -0
- package/dist/app/render-loop.d.ts.map +1 -1
- package/dist/app/render-loop.js +14 -3
- package/dist/app/render-loop.js.map +1 -1
- package/dist/atoms/button.d.ts +1 -1
- package/dist/atoms/button.d.ts.map +1 -1
- package/dist/atoms/button.js +13 -11
- package/dist/atoms/button.js.map +1 -1
- package/dist/atoms/progress-bar.d.ts.map +1 -1
- package/dist/atoms/progress-bar.js +15 -12
- package/dist/atoms/progress-bar.js.map +1 -1
- package/dist/atoms/scrollbar.d.ts +30 -0
- package/dist/atoms/scrollbar.d.ts.map +1 -0
- package/dist/atoms/scrollbar.js +46 -0
- package/dist/atoms/scrollbar.js.map +1 -0
- package/dist/atoms/slider.js +6 -6
- package/dist/atoms/slider.js.map +1 -1
- package/dist/atoms/spinner.d.ts.map +1 -1
- package/dist/atoms/spinner.js +3 -2
- package/dist/atoms/spinner.js.map +1 -1
- package/dist/atoms/switch.d.ts.map +1 -1
- package/dist/atoms/switch.js +3 -2
- package/dist/atoms/switch.js.map +1 -1
- package/dist/atoms/text-input.d.ts.map +1 -1
- package/dist/atoms/text-input.js +6 -5
- package/dist/atoms/text-input.js.map +1 -1
- package/dist/atoms/timer.d.ts +1 -1
- package/dist/atoms/timer.js +4 -4
- package/dist/atoms/timer.js.map +1 -1
- package/dist/atoms/tooltip.d.ts +4 -4
- package/dist/atoms/tooltip.js +19 -19
- package/dist/atoms/tooltip.js.map +1 -1
- package/dist/core/delta-render.d.ts.map +1 -1
- package/dist/core/delta-render.js +17 -12
- package/dist/core/delta-render.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +15 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/renderer.d.ts +4 -2
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/core/renderer.js +70 -43
- package/dist/core/renderer.js.map +1 -1
- package/dist/core/theme-loader.d.ts +89 -0
- package/dist/core/theme-loader.d.ts.map +1 -0
- package/dist/core/theme-loader.js +228 -0
- package/dist/core/theme-loader.js.map +1 -0
- package/dist/core/theme-types.d.ts +577 -0
- package/dist/core/theme-types.d.ts.map +1 -0
- package/dist/core/theme-types.js +13 -0
- package/dist/core/theme-types.js.map +1 -0
- package/dist/core/theme.d.ts +155 -236
- package/dist/core/theme.d.ts.map +1 -1
- package/dist/core/theme.js +418 -709
- package/dist/core/theme.js.map +1 -1
- package/dist/design-system/core/renderer.d.ts +14 -3
- package/dist/design-system/core/renderer.d.ts.map +1 -1
- package/dist/design-system/core/renderer.js +77 -38
- package/dist/design-system/core/renderer.js.map +1 -1
- package/dist/design-system/feedback/badge.d.ts +2 -8
- package/dist/design-system/feedback/badge.d.ts.map +1 -1
- package/dist/design-system/feedback/badge.js +32 -8
- package/dist/design-system/feedback/badge.js.map +1 -1
- package/dist/design-system/feedback/progress-bar.d.ts.map +1 -1
- package/dist/design-system/feedback/progress-bar.js +15 -12
- package/dist/design-system/feedback/progress-bar.js.map +1 -1
- package/dist/design-system/feedback/spinner.d.ts.map +1 -1
- package/dist/design-system/feedback/spinner.js +4 -3
- package/dist/design-system/feedback/spinner.js.map +1 -1
- package/dist/design-system/feedback/timer.js +3 -3
- package/dist/design-system/feedback/timer.js.map +1 -1
- package/dist/design-system/layout/app.js +6 -6
- package/dist/design-system/layout/app.js.map +1 -1
- package/dist/design-system/navigation/file-manager.js +15 -15
- package/dist/design-system/navigation/file-manager.js.map +1 -1
- package/dist/design-system/visual/big-text.js +6 -6
- package/dist/design-system/visual/big-text.js.map +1 -1
- package/dist/design-system/visual/digits.js +7 -7
- package/dist/design-system/visual/digits.js.map +1 -1
- package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
- package/dist/design-system/visual/splash-screen.js +23 -17
- package/dist/design-system/visual/splash-screen.js.map +1 -1
- package/dist/design-system/visual/tooltip.js +16 -16
- package/dist/design-system/visual/tooltip.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/types.d.ts +2 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/hooks/use-app.d.ts +5 -0
- package/dist/hooks/use-app.d.ts.map +1 -1
- package/dist/hooks/use-app.js +10 -0
- package/dist/hooks/use-app.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/docs-data.d.ts.map +1 -1
- package/dist/mcp/docs-data.js +625 -28
- package/dist/mcp/docs-data.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/molecules/autocomplete.js +10 -10
- package/dist/molecules/autocomplete.js.map +1 -1
- package/dist/molecules/calendar.d.ts.map +1 -1
- package/dist/molecules/calendar.js +13 -12
- package/dist/molecules/calendar.js.map +1 -1
- package/dist/molecules/code-block.js +21 -21
- package/dist/molecules/code-block.js.map +1 -1
- package/dist/molecules/collapsible.d.ts +9 -5
- package/dist/molecules/collapsible.d.ts.map +1 -1
- package/dist/molecules/collapsible.js +39 -7
- package/dist/molecules/collapsible.js.map +1 -1
- package/dist/molecules/data-viz/bar-chart.js +8 -8
- package/dist/molecules/data-viz/bar-chart.js.map +1 -1
- package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
- package/dist/molecules/data-viz/gauge.js +17 -17
- package/dist/molecules/data-viz/gauge.js.map +1 -1
- package/dist/molecules/data-viz/heatmap.js +11 -11
- package/dist/molecules/data-viz/heatmap.js.map +1 -1
- package/dist/molecules/data-viz/legend.js +3 -3
- package/dist/molecules/data-viz/legend.js.map +1 -1
- package/dist/molecules/data-viz/line-chart.js +4 -4
- package/dist/molecules/data-viz/line-chart.js.map +1 -1
- package/dist/molecules/data-viz/sparkline.js +1 -1
- package/dist/molecules/data-viz/sparkline.js.map +1 -1
- package/dist/molecules/markdown.js +23 -23
- package/dist/molecules/markdown.js.map +1 -1
- package/dist/molecules/multi-select.js +9 -9
- package/dist/molecules/multi-select.js.map +1 -1
- package/dist/molecules/radio-group.js +8 -8
- package/dist/molecules/radio-group.js.map +1 -1
- package/dist/molecules/select.d.ts.map +1 -1
- package/dist/molecules/select.js +15 -13
- package/dist/molecules/select.js.map +1 -1
- package/dist/molecules/table.js +3 -3
- package/dist/molecules/table.js.map +1 -1
- package/dist/molecules/tabs.d.ts +6 -2
- package/dist/molecules/tabs.d.ts.map +1 -1
- package/dist/molecules/tabs.js +25 -13
- package/dist/molecules/tabs.js.map +1 -1
- package/dist/molecules/tree.js +5 -5
- package/dist/molecules/tree.js.map +1 -1
- package/dist/organisms/command-palette.d.ts.map +1 -1
- package/dist/organisms/command-palette.js +19 -17
- package/dist/organisms/command-palette.js.map +1 -1
- package/dist/organisms/data-table.js +5 -5
- package/dist/organisms/data-table.js.map +1 -1
- package/dist/organisms/file-browser.js +15 -15
- package/dist/organisms/file-browser.js.map +1 -1
- package/dist/organisms/index.d.ts +2 -1
- package/dist/organisms/index.d.ts.map +1 -1
- package/dist/organisms/index.js +13 -1
- package/dist/organisms/index.js.map +1 -1
- package/dist/organisms/modal.d.ts +46 -0
- package/dist/organisms/modal.d.ts.map +1 -1
- package/dist/organisms/modal.js +110 -29
- package/dist/organisms/modal.js.map +1 -1
- package/dist/organisms/scroll-area.js +6 -6
- package/dist/organisms/scroll-area.js.map +1 -1
- package/dist/organisms/scroll-list.d.ts +168 -0
- package/dist/organisms/scroll-list.d.ts.map +1 -0
- package/dist/organisms/scroll-list.js +338 -0
- package/dist/organisms/scroll-list.js.map +1 -0
- package/dist/organisms/split-panel.d.ts.map +1 -1
- package/dist/organisms/split-panel.js +7 -4
- package/dist/organisms/split-panel.js.map +1 -1
- package/dist/primitives/divider.d.ts.map +1 -1
- package/dist/primitives/divider.js +4 -3
- package/dist/primitives/divider.js.map +1 -1
- package/dist/primitives/index.d.ts +1 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +1 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/nodes.d.ts.map +1 -1
- package/dist/primitives/nodes.js +5 -3
- package/dist/primitives/nodes.js.map +1 -1
- package/dist/primitives/scroll.d.ts +127 -0
- package/dist/primitives/scroll.d.ts.map +1 -0
- package/dist/primitives/scroll.js +202 -0
- package/dist/primitives/scroll.js.map +1 -0
- package/dist/storybook/app.d.ts.map +1 -1
- package/dist/storybook/app.js +218 -84
- package/dist/storybook/app.js.map +1 -1
- package/dist/storybook/components/compare-view.d.ts.map +1 -1
- package/dist/storybook/components/compare-view.js +25 -19
- package/dist/storybook/components/compare-view.js.map +1 -1
- package/dist/storybook/components/hotkeys-panel.d.ts +12 -0
- package/dist/storybook/components/hotkeys-panel.d.ts.map +1 -0
- package/dist/storybook/components/hotkeys-panel.js +44 -0
- package/dist/storybook/components/hotkeys-panel.js.map +1 -0
- package/dist/storybook/components/index.d.ts +6 -0
- package/dist/storybook/components/index.d.ts.map +1 -1
- package/dist/storybook/components/index.js +9 -0
- package/dist/storybook/components/index.js.map +1 -1
- package/dist/storybook/components/log-viewer.d.ts +9 -4
- package/dist/storybook/components/log-viewer.d.ts.map +1 -1
- package/dist/storybook/components/log-viewer.js +97 -35
- package/dist/storybook/components/log-viewer.js.map +1 -1
- package/dist/storybook/components/navbar.d.ts +17 -0
- package/dist/storybook/components/navbar.d.ts.map +1 -0
- package/dist/storybook/components/navbar.js +52 -0
- package/dist/storybook/components/navbar.js.map +1 -0
- package/dist/storybook/components/pressed-keys.d.ts +29 -0
- package/dist/storybook/components/pressed-keys.d.ts.map +1 -0
- package/dist/storybook/components/pressed-keys.js +148 -0
- package/dist/storybook/components/pressed-keys.js.map +1 -0
- package/dist/storybook/components/preview.d.ts.map +1 -1
- package/dist/storybook/components/preview.js +44 -34
- package/dist/storybook/components/preview.js.map +1 -1
- package/dist/storybook/components/search-bar.d.ts +29 -0
- package/dist/storybook/components/search-bar.d.ts.map +1 -0
- package/dist/storybook/components/search-bar.js +101 -0
- package/dist/storybook/components/search-bar.js.map +1 -0
- package/dist/storybook/components/sidebar.d.ts.map +1 -1
- package/dist/storybook/components/sidebar.js +27 -21
- package/dist/storybook/components/sidebar.js.map +1 -1
- package/dist/storybook/components/status-bar.d.ts +22 -0
- package/dist/storybook/components/status-bar.d.ts.map +1 -0
- package/dist/storybook/components/status-bar.js +64 -0
- package/dist/storybook/components/status-bar.js.map +1 -0
- package/dist/storybook/store.d.ts +13 -1
- package/dist/storybook/store.d.ts.map +1 -1
- package/dist/storybook/store.js +21 -1
- package/dist/storybook/store.js.map +1 -1
- package/dist/storybook/stories/apps/index.d.ts.map +1 -1
- package/dist/storybook/stories/apps/index.js +82 -147
- package/dist/storybook/stories/apps/index.js.map +1 -1
- package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
- package/dist/storybook/stories/atoms/index.js +57 -52
- package/dist/storybook/stories/atoms/index.js.map +1 -1
- package/dist/storybook/stories/molecules/index.d.ts +16 -0
- package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
- package/dist/storybook/stories/molecules/index.js +299 -91
- package/dist/storybook/stories/molecules/index.js.map +1 -1
- package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
- package/dist/storybook/stories/organisms/index.js +207 -120
- package/dist/storybook/stories/organisms/index.js.map +1 -1
- package/dist/templates/app.d.ts +28 -23
- package/dist/templates/app.d.ts.map +1 -1
- package/dist/templates/app.js +104 -17
- package/dist/templates/app.js.map +1 -1
- package/dist/themes/catppuccin.theme.d.ts +8 -0
- package/dist/themes/catppuccin.theme.d.ts.map +1 -0
- package/dist/themes/catppuccin.theme.js +538 -0
- package/dist/themes/catppuccin.theme.js.map +1 -0
- package/dist/themes/dark.theme.d.ts +8 -0
- package/dist/themes/dark.theme.d.ts.map +1 -0
- package/dist/themes/dark.theme.js +502 -0
- package/dist/themes/dark.theme.js.map +1 -0
- package/dist/themes/dracula.theme.d.ts +8 -0
- package/dist/themes/dracula.theme.d.ts.map +1 -0
- package/dist/themes/dracula.theme.js +518 -0
- package/dist/themes/dracula.theme.js.map +1 -0
- package/dist/themes/gruvbox.theme.d.ts +8 -0
- package/dist/themes/gruvbox.theme.d.ts.map +1 -0
- package/dist/themes/gruvbox.theme.js +529 -0
- package/dist/themes/gruvbox.theme.js.map +1 -0
- package/dist/themes/high-contrast-dark.theme.d.ts +8 -0
- package/dist/themes/high-contrast-dark.theme.d.ts.map +1 -0
- package/dist/themes/high-contrast-dark.theme.js +503 -0
- package/dist/themes/high-contrast-dark.theme.js.map +1 -0
- package/dist/themes/index.d.ts +58 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +75 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/light.theme.d.ts +8 -0
- package/dist/themes/light.theme.d.ts.map +1 -0
- package/dist/themes/light.theme.js +502 -0
- package/dist/themes/light.theme.js.map +1 -0
- package/dist/themes/monochrome.theme.d.ts +8 -0
- package/dist/themes/monochrome.theme.d.ts.map +1 -0
- package/dist/themes/monochrome.theme.js +503 -0
- package/dist/themes/monochrome.theme.js.map +1 -0
- package/dist/themes/monokai.theme.d.ts +8 -0
- package/dist/themes/monokai.theme.d.ts.map +1 -0
- package/dist/themes/monokai.theme.js +518 -0
- package/dist/themes/monokai.theme.js.map +1 -0
- package/dist/themes/nord.theme.d.ts +8 -0
- package/dist/themes/nord.theme.d.ts.map +1 -0
- package/dist/themes/nord.theme.js +527 -0
- package/dist/themes/nord.theme.js.map +1 -0
- package/dist/themes/solarized-dark.theme.d.ts +8 -0
- package/dist/themes/solarized-dark.theme.d.ts.map +1 -0
- package/dist/themes/solarized-dark.theme.js +525 -0
- package/dist/themes/solarized-dark.theme.js.map +1 -0
- package/dist/themes/tokyo-night.theme.d.ts +8 -0
- package/dist/themes/tokyo-night.theme.d.ts.map +1 -0
- package/dist/themes/tokyo-night.theme.js +529 -0
- package/dist/themes/tokyo-night.theme.js.map +1 -0
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../src/core/theme-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACb,MAAM,kBAAkB,CAAC;AAM1B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,uDAAuD;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,KAAK,CAE9D;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,UAAU,CAEb;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,GAAE,MAAM,UAAgB,GAAG,MAAM,CAE9E;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAClC,KAAK,CAqCP;AAiGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAmCtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAE3D"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Builder
|
|
3
|
+
*
|
|
4
|
+
* Utilities for defining themes in TypeScript files.
|
|
5
|
+
* Each theme is a separate .ts file that exports a Theme object.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Define a theme with full type checking.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { defineTheme } from '../core/theme-loader.js';
|
|
13
|
+
* import * as colors from '../core/colors.js';
|
|
14
|
+
*
|
|
15
|
+
* const palette = {
|
|
16
|
+
* primary: colors.blue,
|
|
17
|
+
* secondary: colors.slate,
|
|
18
|
+
* // ...
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* export const darkTheme = defineTheme({
|
|
22
|
+
* name: 'dark',
|
|
23
|
+
* mode: 'dark',
|
|
24
|
+
* meta: { version: '1.0.0', author: 'tuiuiu', description: 'Default dark theme' },
|
|
25
|
+
* palette,
|
|
26
|
+
* background: {
|
|
27
|
+
* lowest: palette.neutral[900],
|
|
28
|
+
* base: palette.neutral[800],
|
|
29
|
+
* // ...
|
|
30
|
+
* },
|
|
31
|
+
* // ...
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export function defineTheme(definition) {
|
|
36
|
+
return definition;
|
|
37
|
+
}
|
|
38
|
+
// =============================================================================
|
|
39
|
+
// Color Scale Utilities
|
|
40
|
+
// =============================================================================
|
|
41
|
+
/**
|
|
42
|
+
* Create a color scale from individual shade values.
|
|
43
|
+
*/
|
|
44
|
+
export function createScale(shades) {
|
|
45
|
+
return shades;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get a shade from a color scale with fallback to 500.
|
|
49
|
+
*/
|
|
50
|
+
export function shade(scale, value = 500) {
|
|
51
|
+
return scale[value];
|
|
52
|
+
}
|
|
53
|
+
// =============================================================================
|
|
54
|
+
// Theme Merging
|
|
55
|
+
// =============================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Merge two themes, with the second theme overriding the first.
|
|
58
|
+
* Useful for creating theme variants.
|
|
59
|
+
*/
|
|
60
|
+
export function mergeThemes(base, overrides) {
|
|
61
|
+
return {
|
|
62
|
+
name: overrides.name ?? base.name,
|
|
63
|
+
mode: overrides.mode ?? base.mode,
|
|
64
|
+
meta: { ...base.meta, ...overrides.meta },
|
|
65
|
+
palette: overrides.palette ?? base.palette,
|
|
66
|
+
background: { ...base.background, ...overrides.background },
|
|
67
|
+
foreground: {
|
|
68
|
+
...base.foreground,
|
|
69
|
+
...overrides.foreground,
|
|
70
|
+
inverse: {
|
|
71
|
+
...base.foreground.inverse,
|
|
72
|
+
...(overrides.foreground?.inverse ?? {}),
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
accents: { ...base.accents, ...overrides.accents },
|
|
76
|
+
states: {
|
|
77
|
+
...base.states,
|
|
78
|
+
...overrides.states,
|
|
79
|
+
hover: { ...base.states.hover, ...(overrides.states?.hover ?? {}) },
|
|
80
|
+
active: { ...base.states.active, ...(overrides.states?.active ?? {}) },
|
|
81
|
+
focus: {
|
|
82
|
+
...base.states.focus,
|
|
83
|
+
...(overrides.states?.focus ?? {}),
|
|
84
|
+
ring: {
|
|
85
|
+
...base.states.focus.ring,
|
|
86
|
+
...(overrides.states?.focus?.ring ?? {}),
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
disabled: { ...base.states.disabled, ...(overrides.states?.disabled ?? {}) },
|
|
90
|
+
selected: { ...base.states.selected, ...(overrides.states?.selected ?? {}) },
|
|
91
|
+
},
|
|
92
|
+
borders: { ...base.borders, ...overrides.borders },
|
|
93
|
+
opacity: { ...base.opacity, ...overrides.opacity },
|
|
94
|
+
components: mergeComponents(base.components, overrides.components),
|
|
95
|
+
borderRadius: overrides.borderRadius ?? base.borderRadius,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Deep merge component tokens.
|
|
100
|
+
*/
|
|
101
|
+
function mergeComponents(base, overrides) {
|
|
102
|
+
if (!overrides)
|
|
103
|
+
return base;
|
|
104
|
+
return {
|
|
105
|
+
button: {
|
|
106
|
+
primary: { ...base.button.primary, ...overrides.button?.primary },
|
|
107
|
+
secondary: { ...base.button.secondary, ...overrides.button?.secondary },
|
|
108
|
+
outline: { ...base.button.outline, ...overrides.button?.outline },
|
|
109
|
+
ghost: { ...base.button.ghost, ...overrides.button?.ghost },
|
|
110
|
+
},
|
|
111
|
+
panel: { ...base.panel, ...overrides.panel },
|
|
112
|
+
menu: {
|
|
113
|
+
...base.menu,
|
|
114
|
+
...overrides.menu,
|
|
115
|
+
item: { ...base.menu.item, ...overrides.menu?.item },
|
|
116
|
+
},
|
|
117
|
+
tabs: {
|
|
118
|
+
...base.tabs,
|
|
119
|
+
...overrides.tabs,
|
|
120
|
+
tab: { ...base.tabs.tab, ...overrides.tabs?.tab },
|
|
121
|
+
},
|
|
122
|
+
dropdown: {
|
|
123
|
+
...base.dropdown,
|
|
124
|
+
...overrides.dropdown,
|
|
125
|
+
item: { ...base.dropdown.item, ...overrides.dropdown?.item },
|
|
126
|
+
},
|
|
127
|
+
input: { ...base.input, ...overrides.input },
|
|
128
|
+
checkbox: { ...base.checkbox, ...overrides.checkbox },
|
|
129
|
+
radio: { ...base.radio, ...overrides.radio },
|
|
130
|
+
tooltip: { ...base.tooltip, ...overrides.tooltip },
|
|
131
|
+
modal: { ...base.modal, ...overrides.modal },
|
|
132
|
+
badge: {
|
|
133
|
+
default: { ...base.badge.default, ...overrides.badge?.default },
|
|
134
|
+
success: { ...base.badge.success, ...overrides.badge?.success },
|
|
135
|
+
warning: { ...base.badge.warning, ...overrides.badge?.warning },
|
|
136
|
+
danger: { ...base.badge.danger, ...overrides.badge?.danger },
|
|
137
|
+
},
|
|
138
|
+
list: {
|
|
139
|
+
item: { ...base.list.item, ...overrides.list?.item },
|
|
140
|
+
},
|
|
141
|
+
header: {
|
|
142
|
+
default: { ...base.header.default, ...overrides.header?.default },
|
|
143
|
+
primary: { ...base.header.primary, ...overrides.header?.primary },
|
|
144
|
+
secondary: { ...base.header.secondary, ...overrides.header?.secondary },
|
|
145
|
+
success: { ...base.header.success, ...overrides.header?.success },
|
|
146
|
+
warning: { ...base.header.warning, ...overrides.header?.warning },
|
|
147
|
+
danger: { ...base.header.danger, ...overrides.header?.danger },
|
|
148
|
+
},
|
|
149
|
+
statusbar: {
|
|
150
|
+
default: { ...base.statusbar.default, ...overrides.statusbar?.default },
|
|
151
|
+
primary: { ...base.statusbar.primary, ...overrides.statusbar?.primary },
|
|
152
|
+
info: { ...base.statusbar.info, ...overrides.statusbar?.info },
|
|
153
|
+
success: { ...base.statusbar.success, ...overrides.statusbar?.success },
|
|
154
|
+
warning: { ...base.statusbar.warning, ...overrides.statusbar?.warning },
|
|
155
|
+
danger: { ...base.statusbar.danger, ...overrides.statusbar?.danger },
|
|
156
|
+
},
|
|
157
|
+
page: {
|
|
158
|
+
default: { ...base.page.default, ...overrides.page?.default },
|
|
159
|
+
primary: { ...base.page.primary, ...overrides.page?.primary },
|
|
160
|
+
secondary: { ...base.page.secondary, ...overrides.page?.secondary },
|
|
161
|
+
},
|
|
162
|
+
appshell: { ...base.appshell, ...overrides.appshell },
|
|
163
|
+
collapsible: {
|
|
164
|
+
default: { ...base.collapsible.default, ...overrides.collapsible?.default },
|
|
165
|
+
primary: { ...base.collapsible.primary, ...overrides.collapsible?.primary },
|
|
166
|
+
secondary: { ...base.collapsible.secondary, ...overrides.collapsible?.secondary },
|
|
167
|
+
},
|
|
168
|
+
commandPalette: { ...base.commandPalette, ...overrides.commandPalette },
|
|
169
|
+
splitPanel: { ...base.splitPanel, ...overrides.splitPanel },
|
|
170
|
+
toast: {
|
|
171
|
+
success: { ...base.toast.success, ...overrides.toast?.success },
|
|
172
|
+
error: { ...base.toast.error, ...overrides.toast?.error },
|
|
173
|
+
warning: { ...base.toast.warning, ...overrides.toast?.warning },
|
|
174
|
+
info: { ...base.toast.info, ...overrides.toast?.info },
|
|
175
|
+
},
|
|
176
|
+
window: {
|
|
177
|
+
default: { ...base.window.default, ...overrides.window?.default },
|
|
178
|
+
primary: { ...base.window.primary, ...overrides.window?.primary },
|
|
179
|
+
success: { ...base.window.success, ...overrides.window?.success },
|
|
180
|
+
warning: { ...base.window.warning, ...overrides.window?.warning },
|
|
181
|
+
danger: { ...base.window.danger, ...overrides.window?.danger },
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
// =============================================================================
|
|
186
|
+
// Validation
|
|
187
|
+
// =============================================================================
|
|
188
|
+
/**
|
|
189
|
+
* Validate a theme has all required properties.
|
|
190
|
+
* Returns an array of validation errors (empty if valid).
|
|
191
|
+
*/
|
|
192
|
+
export function validateTheme(theme) {
|
|
193
|
+
const errors = [];
|
|
194
|
+
if (!theme || typeof theme !== 'object') {
|
|
195
|
+
errors.push('Theme must be an object');
|
|
196
|
+
return errors;
|
|
197
|
+
}
|
|
198
|
+
const t = theme;
|
|
199
|
+
// Required top-level properties
|
|
200
|
+
const required = ['name', 'mode', 'meta', 'palette', 'background', 'foreground', 'accents', 'states', 'borders', 'opacity', 'components'];
|
|
201
|
+
for (const prop of required) {
|
|
202
|
+
if (!(prop in t)) {
|
|
203
|
+
errors.push(`Missing required property: ${prop}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
// Mode must be 'dark' or 'light'
|
|
207
|
+
if (t.mode && t.mode !== 'dark' && t.mode !== 'light') {
|
|
208
|
+
errors.push(`Invalid mode: ${t.mode}. Must be 'dark' or 'light'`);
|
|
209
|
+
}
|
|
210
|
+
// Palette must have required colors
|
|
211
|
+
if (t.palette && typeof t.palette === 'object') {
|
|
212
|
+
const palette = t.palette;
|
|
213
|
+
const paletteColors = ['primary', 'secondary', 'success', 'warning', 'danger', 'neutral'];
|
|
214
|
+
for (const color of paletteColors) {
|
|
215
|
+
if (!(color in palette)) {
|
|
216
|
+
errors.push(`Missing palette color: palette.${color}`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return errors;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Check if a theme is valid.
|
|
224
|
+
*/
|
|
225
|
+
export function isValidTheme(theme) {
|
|
226
|
+
return validateTheme(theme).length === 0;
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=theme-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-loader.js","sourceRoot":"","sources":["../../src/core/theme-loader.ts"],"names":[],"mappings":"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"}
|