@tenerife.music/ui 1.0.0 → 1.0.1

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.
Files changed (122) hide show
  1. package/dist/ThemeProvider-CaUX_Jam.cjs +2 -0
  2. package/dist/ThemeProvider-ltuW-773.js +1227 -0
  3. package/dist/animation/index.d.ts +9 -0
  4. package/dist/animation/index.d.ts.map +1 -0
  5. package/dist/animation/presets.d.ts +304 -0
  6. package/dist/animation/presets.d.ts.map +1 -0
  7. package/dist/animation/tas.d.ts +80 -0
  8. package/dist/animation/tas.d.ts.map +1 -0
  9. package/dist/animation/types.d.ts +106 -0
  10. package/dist/animation/types.d.ts.map +1 -0
  11. package/dist/animation/utils.d.ts +7 -0
  12. package/dist/animation/utils.d.ts.map +1 -0
  13. package/dist/components/SectionBuilder.d.ts +37 -0
  14. package/dist/components/SectionBuilder.d.ts.map +1 -0
  15. package/dist/components/SectionBuilder.presets.d.ts +229 -0
  16. package/dist/components/SectionBuilder.presets.d.ts.map +1 -0
  17. package/dist/components/SectionBuilder.types.d.ts +327 -0
  18. package/dist/components/SectionBuilder.types.d.ts.map +1 -0
  19. package/dist/components/auth/ProfileCard.d.ts.map +1 -1
  20. package/dist/components/cards/EventCard.d.ts +32 -31
  21. package/dist/components/cards/EventCard.d.ts.map +1 -1
  22. package/dist/components/cards/VenueCard.d.ts +32 -33
  23. package/dist/components/cards/VenueCard.d.ts.map +1 -1
  24. package/dist/components/feedback/Alert.d.ts +1 -1
  25. package/dist/components/feedback/Alert.d.ts.map +1 -1
  26. package/dist/components/layout/Box.d.ts +90 -0
  27. package/dist/components/layout/Box.d.ts.map +1 -0
  28. package/dist/components/layout/Flex.d.ts +27 -6
  29. package/dist/components/layout/Flex.d.ts.map +1 -1
  30. package/dist/components/layout/Grid.d.ts +42 -3
  31. package/dist/components/layout/Grid.d.ts.map +1 -1
  32. package/dist/components/layout/Navbar.d.ts +2 -2
  33. package/dist/components/layout/Navbar.d.ts.map +1 -1
  34. package/dist/components/layout/Stack.d.ts +21 -4
  35. package/dist/components/layout/Stack.d.ts.map +1 -1
  36. package/dist/components/layout/index.d.ts +15 -0
  37. package/dist/components/layout/index.d.ts.map +1 -0
  38. package/dist/components/layout/layout.types.d.ts +92 -0
  39. package/dist/components/layout/layout.types.d.ts.map +1 -0
  40. package/dist/components/modals/ConfirmDialog.d.ts +2 -2
  41. package/dist/components/modals/ConfirmDialog.d.ts.map +1 -1
  42. package/dist/components/modals/Modal.d.ts.map +1 -1
  43. package/dist/components/modals/SimpleModal.d.ts +3 -1
  44. package/dist/components/modals/SimpleModal.d.ts.map +1 -1
  45. package/dist/components/navigation/Breadcrumbs.d.ts +1 -0
  46. package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -1
  47. package/dist/components/navigation/Pagination.d.ts +1 -0
  48. package/dist/components/navigation/Pagination.d.ts.map +1 -1
  49. package/dist/components/overlays/Popover.d.ts +4 -4
  50. package/dist/components/overlays/Popover.d.ts.map +1 -1
  51. package/dist/components/overlays/Tooltip.d.ts +2 -2
  52. package/dist/components/overlays/Tooltip.d.ts.map +1 -1
  53. package/dist/components/primitives/Badge.d.ts +1 -1
  54. package/dist/components/primitives/Badge.d.ts.map +1 -1
  55. package/dist/components/primitives/Link.d.ts +4 -2
  56. package/dist/components/primitives/Link.d.ts.map +1 -1
  57. package/dist/components/primitives/ThemeSwitch.d.ts +2 -2
  58. package/dist/components/primitives/ThemeSwitch.d.ts.map +1 -1
  59. package/dist/components/primitives/Typography.d.ts +2 -2
  60. package/dist/components/primitives/Typography.d.ts.map +1 -1
  61. package/dist/components/sections/ArticlesSection.d.ts +14 -4
  62. package/dist/components/sections/ArticlesSection.d.ts.map +1 -1
  63. package/dist/components/sections/CTASection.d.ts +38 -0
  64. package/dist/components/sections/CTASection.d.ts.map +1 -0
  65. package/dist/components/sections/FeatureSection.d.ts +34 -0
  66. package/dist/components/sections/FeatureSection.d.ts.map +1 -0
  67. package/dist/components/sections/HeroSection.d.ts +28 -0
  68. package/dist/components/sections/HeroSection.d.ts.map +1 -0
  69. package/dist/components/sections/TrendingSection.d.ts +15 -3
  70. package/dist/components/sections/TrendingSection.d.ts.map +1 -1
  71. package/dist/components/toasts/Toast.d.ts +1 -1
  72. package/dist/components/toasts/Toast.d.ts.map +1 -1
  73. package/dist/components/toasts/ToastProvider.d.ts.map +1 -1
  74. package/dist/components/ui/button.d.ts +4 -2
  75. package/dist/components/ui/button.d.ts.map +1 -1
  76. package/dist/index.cjs +1 -1
  77. package/dist/index.d.ts +27 -18
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.mjs +3893 -2371
  80. package/dist/lib/a11y.d.ts +16 -0
  81. package/dist/lib/a11y.d.ts.map +1 -0
  82. package/dist/lib/responsive-props.d.ts +64 -0
  83. package/dist/lib/responsive-props.d.ts.map +1 -0
  84. package/dist/motion-4SRNkZlz.cjs +2 -0
  85. package/dist/motion-CuHacXY1.js +722 -0
  86. package/dist/test/animation-utils.d.ts +60 -0
  87. package/dist/test/animation-utils.d.ts.map +1 -0
  88. package/dist/theme/ThemeProvider.d.ts +19 -8
  89. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  90. package/dist/theme/applyMode.d.ts +11 -2
  91. package/dist/theme/applyMode.d.ts.map +1 -1
  92. package/dist/theme/index.cjs +1 -1
  93. package/dist/theme/index.d.ts +3 -0
  94. package/dist/theme/index.d.ts.map +1 -1
  95. package/dist/theme/index.mjs +236 -101
  96. package/dist/theme/loader.d.ts +64 -0
  97. package/dist/theme/loader.d.ts.map +1 -0
  98. package/dist/theme/registry.d.ts +71 -0
  99. package/dist/theme/registry.d.ts.map +1 -0
  100. package/dist/theme/schema.d.ts +125 -0
  101. package/dist/theme/schema.d.ts.map +1 -0
  102. package/dist/themes/brand_engine.d.ts +102 -0
  103. package/dist/themes/brand_engine.d.ts.map +1 -0
  104. package/dist/themes/index.d.ts +3 -0
  105. package/dist/themes/index.d.ts.map +1 -1
  106. package/dist/themes/minimal.d.ts +7 -0
  107. package/dist/themes/minimal.d.ts.map +1 -0
  108. package/dist/themes/neon.d.ts +7 -0
  109. package/dist/themes/neon.d.ts.map +1 -0
  110. package/dist/themes/types.d.ts +220 -5
  111. package/dist/themes/types.d.ts.map +1 -1
  112. package/dist/tokens/css-variables.d.ts +21 -0
  113. package/dist/tokens/css-variables.d.ts.map +1 -1
  114. package/dist/tokens/index.cjs +3 -3
  115. package/dist/tokens/index.mjs +295 -551
  116. package/dist/tokens/motion.d.ts +77 -0
  117. package/dist/tokens/motion.d.ts.map +1 -1
  118. package/package.json +20 -7
  119. package/dist/applyMode-Bh7sEqT6.js +0 -144
  120. package/dist/applyMode-DCenL-Bg.cjs +0 -2
  121. package/dist/colors-BGRiFoSZ.cjs +0 -2
  122. package/dist/colors-ClemXPPi.js +0 -377
@@ -0,0 +1,64 @@
1
+ import { ThemeSchema } from './schema';
2
+ /**
3
+ * Theme loader options
4
+ */
5
+ export interface ThemeLoaderOptions {
6
+ /**
7
+ * Fallback theme ID if loading fails
8
+ */
9
+ fallbackThemeId?: string;
10
+ /**
11
+ * Whether to validate theme schema
12
+ */
13
+ validate?: boolean;
14
+ /**
15
+ * Whether to throw errors or return fallback
16
+ */
17
+ throwOnError?: boolean;
18
+ }
19
+ /**
20
+ * Theme loader result
21
+ */
22
+ export interface ThemeLoaderResult {
23
+ /**
24
+ * Loaded theme
25
+ */
26
+ theme: ThemeSchema;
27
+ /**
28
+ * Whether fallback was used
29
+ */
30
+ usedFallback: boolean;
31
+ /**
32
+ * Validation warnings (if validation enabled)
33
+ */
34
+ warnings: string[];
35
+ }
36
+ /**
37
+ * Load theme with error handling
38
+ *
39
+ * @param themeId - Theme ID to load
40
+ * @param options - Loader options
41
+ * @returns Theme loader result
42
+ */
43
+ export declare function loadThemeSafe(themeId: string, options?: ThemeLoaderOptions): Promise<ThemeLoaderResult>;
44
+ /**
45
+ * Preload multiple themes
46
+ * Useful for prefetching themes that might be needed
47
+ *
48
+ * @param themeIds - Array of theme IDs to preload
49
+ */
50
+ export declare function preloadThemes(themeIds: string[]): Promise<void>;
51
+ /**
52
+ * Get all available theme IDs
53
+ *
54
+ * @returns Array of theme IDs
55
+ */
56
+ export declare function getAvailableThemeIds(): string[];
57
+ /**
58
+ * Check if theme can be loaded
59
+ *
60
+ * @param themeId - Theme ID to check
61
+ * @returns Whether theme can be loaded
62
+ */
63
+ export declare function canLoadTheme(themeId: string): Promise<boolean>;
64
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/theme/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,UAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAWD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsE5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWpE"}
@@ -0,0 +1,71 @@
1
+ import { ThemeMetadata, ThemeSchema } from './schema';
2
+ /**
3
+ * Theme registry entry
4
+ */
5
+ export interface ThemeRegistryEntry {
6
+ /**
7
+ * Theme metadata
8
+ */
9
+ metadata: ThemeMetadata;
10
+ /**
11
+ * Dynamic import function for theme
12
+ */
13
+ loader: () => Promise<{
14
+ default: ThemeSchema;
15
+ }>;
16
+ /**
17
+ * Whether theme is enabled
18
+ */
19
+ enabled?: boolean;
20
+ }
21
+ /**
22
+ * Theme registry
23
+ * Maps theme IDs to their registry entries
24
+ */
25
+ export declare const themeRegistry: Map<string, ThemeRegistryEntry>;
26
+ /**
27
+ * Register a theme in the registry
28
+ *
29
+ * @param entry - Theme registry entry
30
+ */
31
+ export declare function registerTheme(entry: ThemeRegistryEntry): void;
32
+ /**
33
+ * Get theme metadata by ID
34
+ *
35
+ * @param id - Theme ID
36
+ * @returns Theme metadata or undefined
37
+ */
38
+ export declare function getThemeMetadata(id: string): ThemeMetadata | undefined;
39
+ /**
40
+ * Get all registered themes
41
+ *
42
+ * @returns Array of theme metadata
43
+ */
44
+ export declare function getAllThemes(): ThemeMetadata[];
45
+ /**
46
+ * Get themes by category
47
+ *
48
+ * @param category - Theme category
49
+ * @returns Array of theme metadata
50
+ */
51
+ export declare function getThemesByCategory(category: "default" | "brand" | "seasonal" | "custom"): ThemeMetadata[];
52
+ /**
53
+ * Check if theme exists
54
+ *
55
+ * @param id - Theme ID
56
+ * @returns Whether theme exists
57
+ */
58
+ export declare function themeExists(id: string): boolean;
59
+ /**
60
+ * Load theme by ID
61
+ *
62
+ * @param id - Theme ID
63
+ * @returns Theme schema
64
+ */
65
+ export declare function loadTheme(id: string): Promise<ThemeSchema>;
66
+ /**
67
+ * Initialize default themes
68
+ * Registers built-in themes (default, dark, brand)
69
+ */
70
+ export declare function initializeDefaultThemes(): void;
71
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/theme/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAa,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAI9C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GACpD,aAAa,EAAE,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAgD9C"}
@@ -0,0 +1,125 @@
1
+ import { BaseColorTokens, ColorScale, SemanticColors, SurfaceColors, TextColors } from '../tokens/colors';
2
+ /**
3
+ * Theme metadata
4
+ */
5
+ export interface ThemeMetadata {
6
+ /**
7
+ * Unique theme identifier (kebab-case)
8
+ * Example: "ocean-blue", "sunset-orange"
9
+ */
10
+ id: string;
11
+ /**
12
+ * Human-readable theme name
13
+ * Example: "Ocean Blue", "Sunset Orange"
14
+ */
15
+ name: string;
16
+ /**
17
+ * Theme description
18
+ */
19
+ description?: string;
20
+ /**
21
+ * Theme category
22
+ * - "default": Standard themes
23
+ * - "brand": Brand-specific themes
24
+ * - "seasonal": Seasonal/holiday themes
25
+ * - "custom": User-created themes
26
+ */
27
+ category?: "default" | "brand" | "seasonal" | "custom";
28
+ /**
29
+ * Theme author (optional)
30
+ */
31
+ author?: string;
32
+ /**
33
+ * Theme version (semver)
34
+ */
35
+ version?: string;
36
+ /**
37
+ * Preview image URL (optional)
38
+ */
39
+ previewImage?: string;
40
+ }
41
+ /**
42
+ * Complete theme schema
43
+ * Extends ThemeOverride with metadata and validation
44
+ */
45
+ export interface ThemeSchema extends ThemeMetadata {
46
+ /**
47
+ * Override primary color scale
48
+ * Partial override - only specified values override base tokens
49
+ */
50
+ primaryColors?: Partial<ColorScale>;
51
+ /**
52
+ * Override accent color scale
53
+ */
54
+ accentColors?: Partial<ColorScale>;
55
+ /**
56
+ * Override secondary color scale
57
+ */
58
+ secondaryColors?: Partial<ColorScale>;
59
+ /**
60
+ * Override base colors (for day mode)
61
+ */
62
+ baseColorsDay?: Partial<BaseColorTokens>;
63
+ /**
64
+ * Override base colors (for night mode)
65
+ */
66
+ baseColorsNight?: Partial<BaseColorTokens>;
67
+ /**
68
+ * Override surface colors (for day mode)
69
+ */
70
+ surfaceColorsDay?: Partial<SurfaceColors>;
71
+ /**
72
+ * Override surface colors (for night mode)
73
+ */
74
+ surfaceColorsNight?: Partial<SurfaceColors>;
75
+ /**
76
+ * Override semantic colors (for day mode)
77
+ */
78
+ semanticColorsDay?: Partial<SemanticColors>;
79
+ /**
80
+ * Override semantic colors (for night mode)
81
+ */
82
+ semanticColorsNight?: Partial<SemanticColors>;
83
+ /**
84
+ * Override text colors (for day mode)
85
+ */
86
+ textColorsDay?: Partial<TextColors>;
87
+ /**
88
+ * Override text colors (for night mode)
89
+ */
90
+ textColorsNight?: Partial<TextColors>;
91
+ }
92
+ /**
93
+ * Theme validation result
94
+ */
95
+ export interface ThemeValidationResult {
96
+ /**
97
+ * Whether theme is valid
98
+ */
99
+ valid: boolean;
100
+ /**
101
+ * Validation errors
102
+ */
103
+ errors: string[];
104
+ /**
105
+ * Validation warnings
106
+ */
107
+ warnings: string[];
108
+ }
109
+ /**
110
+ * Validate theme schema
111
+ *
112
+ * @param theme - Theme to validate
113
+ * @returns Validation result
114
+ */
115
+ export declare function validateThemeSchema(theme: unknown): ThemeValidationResult;
116
+ /**
117
+ * Type guard to check if object is ThemeSchema
118
+ */
119
+ export declare function isThemeSchema(obj: unknown): obj is ThemeSchema;
120
+ /**
121
+ * Create a minimal valid theme schema
122
+ * Useful for CLI scaffolding
123
+ */
124
+ export declare function createMinimalThemeSchema(id: string, name: string): ThemeSchema;
125
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/theme/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAEvD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3C;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CA6FzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAG9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAQ9E"}
@@ -0,0 +1,102 @@
1
+ import { Mode } from '../tokens/colors';
2
+ import { BrandPackage, BrandTheme, BrandValidationResult } from './types';
3
+ /**
4
+ * Validate brand package structure
5
+ *
6
+ * @param brand - Brand package to validate
7
+ * @returns Validation result
8
+ */
9
+ export declare function validateBrand(brand: unknown): BrandValidationResult;
10
+ /**
11
+ * Register a brand package
12
+ *
13
+ * @param brand - Brand package to register
14
+ * @param options - Registration options
15
+ */
16
+ export declare function registerBrand(brand: BrandPackage, options?: {
17
+ enabled?: boolean;
18
+ loader?: () => Promise<{
19
+ default: BrandPackage;
20
+ }>;
21
+ }): void;
22
+ /**
23
+ * Get brand by ID
24
+ *
25
+ * @param brandId - Brand identifier
26
+ * @returns Brand package or undefined
27
+ */
28
+ export declare function getBrand(brandId: string): BrandPackage | undefined;
29
+ /**
30
+ * Check if brand exists and is enabled
31
+ *
32
+ * @param brandId - Brand identifier
33
+ * @returns Whether brand exists and is enabled
34
+ */
35
+ export declare function brandExists(brandId: string): boolean;
36
+ /**
37
+ * Load brand package
38
+ * Supports lazy loading via loader function
39
+ *
40
+ * @param brandId - Brand identifier
41
+ * @returns Brand package
42
+ */
43
+ export declare function loadBrand(brandId: string): Promise<BrandPackage>;
44
+ /**
45
+ * Get all registered brand IDs
46
+ *
47
+ * @returns Array of brand IDs
48
+ */
49
+ export declare function getAllBrandIds(): string[];
50
+ /**
51
+ * Get all registered brands
52
+ *
53
+ * @returns Array of brand packages
54
+ */
55
+ export declare function getAllBrands(): BrandPackage[];
56
+ /**
57
+ * Get active brand
58
+ *
59
+ * @returns Active brand package or null
60
+ */
61
+ export declare function getActiveBrand(): BrandPackage | null;
62
+ /**
63
+ * Get active brand namespace
64
+ *
65
+ * @returns Active brand namespace or null
66
+ */
67
+ export declare function getActiveBrandNamespace(): string | null;
68
+ /**
69
+ * Set active brand
70
+ * This function is called by the theme system when a brand is applied
71
+ *
72
+ * @param brand - Brand package to set as active
73
+ */
74
+ export declare function setActiveBrand(brand: BrandPackage | null): void;
75
+ /**
76
+ * Clear active brand
77
+ */
78
+ export declare function clearActiveBrand(): void;
79
+ /**
80
+ * Get brand theme for a specific mode
81
+ *
82
+ * @param brand - Brand package
83
+ * @param mode - Theme mode (day or night)
84
+ * @returns Brand theme or undefined
85
+ */
86
+ export declare function getBrandTheme(brand: BrandPackage, mode: Mode): BrandTheme | undefined;
87
+ /**
88
+ * Apply brand overrides to document
89
+ * This function applies CSS variables with brand namespace isolation
90
+ *
91
+ * @param brand - Brand package to apply
92
+ * @param mode - Theme mode (day or night)
93
+ */
94
+ export declare function applyBrandOverrides(brand: BrandPackage, mode: Mode): void;
95
+ /**
96
+ * Remove brand overrides from document
97
+ * Cleans up all brand-specific CSS variables
98
+ *
99
+ * @param namespace - Brand namespace to remove
100
+ */
101
+ export declare function removeBrandOverrides(namespace: string): void;
102
+ //# sourceMappingURL=brand_engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand_engine.d.ts","sourceRoot":"","sources":["../../src/themes/brand_engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA2C/E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAyGnE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,CAAC,CAAA;CAAE,GACjF,IAAI,CAiCN;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAwCtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAIzC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAI7C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAG/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,SAAS,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAsMzE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA8B5D"}
@@ -7,6 +7,9 @@ export { brandTheme } from './brand';
7
7
  export { darkTheme } from './dark';
8
8
  export { defaultTheme } from './default';
9
9
  export * from './types';
10
+ export { minimalBrand } from './minimal';
11
+ export { neonBrand } from './neon';
12
+ export * from './brand_engine';
10
13
  /**
11
14
  * All available themes
12
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,cAAc,SAAS,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,4CAMhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,4CAMhE"}
@@ -0,0 +1,7 @@
1
+ import { BrandPackage } from './types';
2
+ /**
3
+ * Minimal brand package
4
+ * Contains day and night theme variants with clean, minimal styling
5
+ */
6
+ export declare const minimalBrand: BrandPackage;
7
+ //# sourceMappingURL=minimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal.d.ts","sourceRoot":"","sources":["../../src/themes/minimal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,YAgS1B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BrandPackage } from './types';
2
+ /**
3
+ * Neon brand package
4
+ * Contains day and night theme variants with vibrant neon styling
5
+ */
6
+ export declare const neonBrand: BrandPackage;
7
+ //# sourceMappingURL=neon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neon.d.ts","sourceRoot":"","sources":["../../src/themes/neon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,YAwSvB,CAAC"}
@@ -1,4 +1,114 @@
1
- import { BaseColorTokens, ColorScale, SemanticColors, SurfaceColors, TextColors } from '../tokens/colors';
1
+ import { ColorScale, ColorTokens, SemanticColors, SurfaceColors, TextColors } from '../tokens/colors';
2
+ import { BorderRadius, componentRadius } from '../tokens/radius';
3
+ import { accentColoredShadows, elevationShadows, focusRings, glowEffects, primaryColoredShadows } from '../tokens/shadows';
4
+ import { SemanticSpacing } from '../tokens/spacing';
5
+ import { FontFamily, FontSize, FontWeight, LetterSpacing, LineHeight, TextStyle } from '../tokens/typography';
6
+ /**
7
+ * Typography override configuration
8
+ */
9
+ export interface TypographyOverrides {
10
+ /**
11
+ * Override font families
12
+ */
13
+ fontFamily?: Partial<Record<FontFamily, string[]>>;
14
+ /**
15
+ * Override font sizes
16
+ */
17
+ fontSize?: Partial<Record<FontSize, string | [string, {
18
+ lineHeight: string;
19
+ letterSpacing: string;
20
+ }]>>;
21
+ /**
22
+ * Override font weights
23
+ */
24
+ fontWeight?: Partial<Record<FontWeight, string>>;
25
+ /**
26
+ * Override line heights
27
+ */
28
+ lineHeight?: Partial<Record<LineHeight, string>>;
29
+ /**
30
+ * Override letter spacing
31
+ */
32
+ letterSpacing?: Partial<Record<LetterSpacing, string>>;
33
+ /**
34
+ * Override text styles
35
+ */
36
+ textStyles?: Partial<Record<TextStyle, {
37
+ fontFamily?: string;
38
+ fontSize?: string;
39
+ fontWeight?: string;
40
+ lineHeight?: string;
41
+ letterSpacing?: string;
42
+ }>>;
43
+ }
44
+ /**
45
+ * Spacing override configuration
46
+ */
47
+ export interface SpacingOverrides {
48
+ /**
49
+ * Override semantic spacing tokens
50
+ */
51
+ semanticSpacing?: Partial<Record<SemanticSpacing, string>>;
52
+ /**
53
+ * Override layout spacing tokens
54
+ */
55
+ layoutSpacing?: Partial<{
56
+ section?: Partial<Record<string, string>>;
57
+ container?: Partial<Record<string, string>>;
58
+ grid?: Partial<Record<string, string>>;
59
+ stack?: Partial<Record<string, string>>;
60
+ component?: Partial<Record<string, string>>;
61
+ }>;
62
+ }
63
+ /**
64
+ * Shadow override configuration
65
+ */
66
+ export interface ShadowOverrides {
67
+ /**
68
+ * Override elevation shadows
69
+ */
70
+ elevationShadows?: Partial<Record<keyof typeof elevationShadows, string>>;
71
+ /**
72
+ * Override primary colored shadows
73
+ */
74
+ primaryColoredShadows?: Partial<Record<keyof typeof primaryColoredShadows, string>>;
75
+ /**
76
+ * Override accent colored shadows
77
+ */
78
+ accentColoredShadows?: Partial<Record<keyof typeof accentColoredShadows, string>>;
79
+ /**
80
+ * Override glow effects
81
+ */
82
+ glowEffects?: Partial<Record<keyof typeof glowEffects, string>>;
83
+ /**
84
+ * Override focus rings
85
+ */
86
+ focusRings?: Partial<Record<keyof typeof focusRings, string>>;
87
+ }
88
+ /**
89
+ * Radius override configuration
90
+ */
91
+ export interface RadiusOverrides {
92
+ /**
93
+ * Override border radius scale
94
+ */
95
+ borderRadius?: Partial<Record<BorderRadius, string>>;
96
+ /**
97
+ * Override component-specific radius
98
+ */
99
+ componentRadius?: Partial<{
100
+ button?: Partial<Record<keyof typeof componentRadius.button, string>>;
101
+ card?: Partial<Record<keyof typeof componentRadius.card, string>>;
102
+ input?: Partial<Record<keyof typeof componentRadius.input, string>>;
103
+ badge?: Partial<Record<keyof typeof componentRadius.badge, string>>;
104
+ avatar?: Partial<Record<keyof typeof componentRadius.avatar, string>>;
105
+ modal?: Partial<Record<keyof typeof componentRadius.modal, string>>;
106
+ tooltip?: Partial<Record<keyof typeof componentRadius.tooltip, string>>;
107
+ toast?: Partial<Record<keyof typeof componentRadius.toast, string>>;
108
+ chip?: Partial<Record<keyof typeof componentRadius.chip, string>>;
109
+ image?: Partial<Record<keyof typeof componentRadius.image, string>>;
110
+ }>;
111
+ }
2
112
  /**
3
113
  * Theme override configuration
4
114
  * Allows partial overrides of token subsets
@@ -25,13 +135,15 @@ export interface ThemeOverride {
25
135
  */
26
136
  secondaryColors?: Partial<ColorScale>;
27
137
  /**
28
- * Override base colors (for day mode)
138
+ * Override base and related color tokens (for day mode)
139
+ * Uses ColorTokens to allow primary/accent overrides in addition to base colors.
29
140
  */
30
- baseColorsDay?: Partial<BaseColorTokens>;
141
+ baseColorsDay?: Partial<ColorTokens>;
31
142
  /**
32
- * Override base colors (for night mode)
143
+ * Override base and related color tokens (for night mode)
144
+ * Uses ColorTokens to allow primary/accent overrides in addition to base colors.
33
145
  */
34
- baseColorsNight?: Partial<BaseColorTokens>;
146
+ baseColorsNight?: Partial<ColorTokens>;
35
147
  /**
36
148
  * Override surface colors (for day mode)
37
149
  */
@@ -57,6 +169,109 @@ export interface ThemeOverride {
57
169
  */
58
170
  textColorsNight?: Partial<TextColors>;
59
171
  }
172
+ /**
173
+ * Brand override configuration
174
+ * Extends ThemeOverride with additional token overrides
175
+ */
176
+ export interface BrandOverride extends ThemeOverride {
177
+ /**
178
+ * Override typography tokens
179
+ */
180
+ typography?: Partial<TypographyOverrides>;
181
+ /**
182
+ * Override spacing tokens
183
+ */
184
+ spacing?: Partial<SpacingOverrides>;
185
+ /**
186
+ * Override shadow tokens
187
+ */
188
+ shadows?: Partial<ShadowOverrides>;
189
+ /**
190
+ * Override radius tokens
191
+ */
192
+ radius?: Partial<RadiusOverrides>;
193
+ }
194
+ /**
195
+ * Brand theme configuration
196
+ * Represents a single theme variant within a brand package
197
+ */
198
+ export interface BrandTheme {
199
+ /**
200
+ * Theme identifier (e.g., "neon-day", "neon-night")
201
+ */
202
+ id: string;
203
+ /**
204
+ * Theme name (e.g., "Neon Day", "Neon Night")
205
+ */
206
+ name: string;
207
+ /**
208
+ * Theme description
209
+ */
210
+ description?: string;
211
+ /**
212
+ * Theme mode (day or night)
213
+ */
214
+ mode: "day" | "night";
215
+ /**
216
+ * Theme overrides
217
+ */
218
+ overrides: BrandOverride;
219
+ }
220
+ /**
221
+ * Brand package configuration
222
+ * Represents a complete brand package with multiple theme variants
223
+ */
224
+ export interface BrandPackage {
225
+ /**
226
+ * Brand identifier (e.g., "neon", "minimal")
227
+ */
228
+ id: string;
229
+ /**
230
+ * Brand name (e.g., "Neon", "Minimal")
231
+ */
232
+ name: string;
233
+ /**
234
+ * Brand description
235
+ */
236
+ description?: string;
237
+ /**
238
+ * Brand namespace for CSS variable isolation (e.g., "neon", "minimal")
239
+ */
240
+ namespace: string;
241
+ /**
242
+ * Brand version (semver)
243
+ */
244
+ version?: string;
245
+ /**
246
+ * Brand author (optional)
247
+ */
248
+ author?: string;
249
+ /**
250
+ * Preview image URL (optional)
251
+ */
252
+ previewImage?: string;
253
+ /**
254
+ * Theme variants within this brand
255
+ */
256
+ themes: BrandTheme[];
257
+ }
258
+ /**
259
+ * Brand validation result
260
+ */
261
+ export interface BrandValidationResult {
262
+ /**
263
+ * Whether brand is valid
264
+ */
265
+ valid: boolean;
266
+ /**
267
+ * Validation errors
268
+ */
269
+ errors: string[];
270
+ /**
271
+ * Validation warnings
272
+ */
273
+ warnings: string[];
274
+ }
60
275
  /**
61
276
  * Theme name type
62
277
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/themes/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3C;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/themes/types.ts"],"names":[],"mappings":"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"}