@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.1.4 → 0.1.6

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 (164) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/index.d.ts +131 -131
  3. package/dist/index.esm.js +148 -148
  4. package/dist/index.js +148 -148
  5. package/dist/styles.css +1 -1
  6. package/package.json +1 -1
  7. package/src/components/ui/accessibility-demo.tsx +271 -0
  8. package/src/components/ui/advanced-component-architecture-demo.tsx +916 -0
  9. package/src/components/ui/advanced-transition-system-demo.tsx +670 -0
  10. package/src/components/ui/advanced-transition-system.tsx +395 -0
  11. package/src/components/ui/animation/animated-container.tsx +166 -0
  12. package/src/components/ui/animation/index.ts +19 -0
  13. package/src/components/ui/animation/staggered-container.tsx +68 -0
  14. package/src/components/ui/animation-demo.tsx +250 -0
  15. package/src/components/ui/badge.tsx +33 -0
  16. package/src/components/ui/battery-conscious-animation-demo.tsx +568 -0
  17. package/src/components/ui/border-radius-shadow-demo.tsx +187 -0
  18. package/src/components/ui/button.tsx +36 -0
  19. package/src/components/ui/card.tsx +207 -0
  20. package/src/components/ui/checkbox.tsx +30 -0
  21. package/src/components/ui/color-preview.tsx +411 -0
  22. package/src/components/ui/data-display/chart.tsx +653 -0
  23. package/src/components/ui/data-display/data-grid-simple.tsx +76 -0
  24. package/src/components/ui/data-display/data-grid.tsx +680 -0
  25. package/src/components/ui/data-display/list.tsx +456 -0
  26. package/src/components/ui/data-display/table.tsx +482 -0
  27. package/src/components/ui/data-display/timeline.tsx +441 -0
  28. package/src/components/ui/data-display/tree.tsx +602 -0
  29. package/src/components/ui/data-display/types.ts +536 -0
  30. package/src/components/ui/enterprise-mobile-experience-demo.tsx +749 -0
  31. package/src/components/ui/enterprise-mobile-experience.tsx +464 -0
  32. package/src/components/ui/feedback/alert.tsx +157 -0
  33. package/src/components/ui/feedback/progress.tsx +292 -0
  34. package/src/components/ui/feedback/skeleton.tsx +185 -0
  35. package/src/components/ui/feedback/toast.tsx +280 -0
  36. package/src/components/ui/feedback/types.ts +125 -0
  37. package/src/components/ui/font-preview.tsx +288 -0
  38. package/src/components/ui/form-demo.tsx +553 -0
  39. package/src/components/ui/hardware-acceleration-demo.tsx +547 -0
  40. package/src/components/ui/input.tsx +35 -0
  41. package/src/components/ui/label.tsx +16 -0
  42. package/src/components/ui/layout-demo.tsx +367 -0
  43. package/src/components/ui/layouts/adaptive-layout.tsx +139 -0
  44. package/src/components/ui/layouts/desktop-layout.tsx +224 -0
  45. package/src/components/ui/layouts/index.ts +10 -0
  46. package/src/components/ui/layouts/mobile-layout.tsx +162 -0
  47. package/src/components/ui/layouts/tablet-layout.tsx +197 -0
  48. package/src/components/ui/mobile-form-validation.tsx +451 -0
  49. package/src/components/ui/mobile-input-demo.tsx +201 -0
  50. package/src/components/ui/mobile-input.tsx +281 -0
  51. package/src/components/ui/mobile-skeleton-loading-demo.tsx +638 -0
  52. package/src/components/ui/navigation/breadcrumb.tsx +158 -0
  53. package/src/components/ui/navigation/index.ts +36 -0
  54. package/src/components/ui/navigation/menu.tsx +374 -0
  55. package/src/components/ui/navigation/navigation-demo.tsx +324 -0
  56. package/src/components/ui/navigation/pagination.tsx +272 -0
  57. package/src/components/ui/navigation/sidebar.tsx +383 -0
  58. package/src/components/ui/navigation/stepper.tsx +303 -0
  59. package/src/components/ui/navigation/tabs.tsx +205 -0
  60. package/src/components/ui/navigation/types.ts +299 -0
  61. package/src/components/ui/overlay/backdrop.tsx +81 -0
  62. package/src/components/ui/overlay/focus-manager.tsx +143 -0
  63. package/src/components/ui/overlay/index.ts +36 -0
  64. package/src/components/ui/overlay/modal.tsx +270 -0
  65. package/src/components/ui/overlay/overlay-manager.tsx +110 -0
  66. package/src/components/ui/overlay/popover.tsx +462 -0
  67. package/src/components/ui/overlay/portal.tsx +79 -0
  68. package/src/components/ui/overlay/tooltip.tsx +303 -0
  69. package/src/components/ui/overlay/types.ts +196 -0
  70. package/src/components/ui/performance-demo.tsx +596 -0
  71. package/src/components/ui/semantic-input-system-demo.tsx +502 -0
  72. package/src/components/ui/semantic-input-system-demo.tsx.disabled +873 -0
  73. package/src/components/ui/tablet-layout.tsx +192 -0
  74. package/src/components/ui/theme-customizer.tsx +386 -0
  75. package/src/components/ui/theme-preview.tsx +310 -0
  76. package/src/components/ui/theme-switcher.tsx +264 -0
  77. package/src/components/ui/theme-toggle.tsx +38 -0
  78. package/src/components/ui/token-demo.tsx +195 -0
  79. package/src/components/ui/touch-demo.tsx +462 -0
  80. package/src/components/ui/touch-friendly-interface-demo.tsx +519 -0
  81. package/src/components/ui/touch-friendly-interface.tsx +296 -0
  82. package/src/hooks/index.ts +190 -0
  83. package/src/hooks/use-accessibility-support.ts +518 -0
  84. package/src/hooks/use-adaptive-layout.ts +289 -0
  85. package/src/hooks/use-advanced-patterns.ts +294 -0
  86. package/src/hooks/use-advanced-transition-system.ts +393 -0
  87. package/src/hooks/use-animation-profile.ts +288 -0
  88. package/src/hooks/use-battery-animations.ts +384 -0
  89. package/src/hooks/use-battery-conscious-loading.ts +475 -0
  90. package/src/hooks/use-battery-optimization.ts +330 -0
  91. package/src/hooks/use-battery-status.ts +299 -0
  92. package/src/hooks/use-component-performance.ts +344 -0
  93. package/src/hooks/use-device-loading-states.ts +459 -0
  94. package/src/hooks/use-device.tsx +110 -0
  95. package/src/hooks/use-enterprise-mobile-experience.ts +488 -0
  96. package/src/hooks/use-form-feedback.ts +403 -0
  97. package/src/hooks/use-form-performance.ts +513 -0
  98. package/src/hooks/use-frame-rate.ts +251 -0
  99. package/src/hooks/use-gestures.ts +338 -0
  100. package/src/hooks/use-hardware-acceleration.ts +341 -0
  101. package/src/hooks/use-input-accessibility.ts +455 -0
  102. package/src/hooks/use-input-performance.ts +506 -0
  103. package/src/hooks/use-layout-performance.ts +319 -0
  104. package/src/hooks/use-loading-accessibility.ts +535 -0
  105. package/src/hooks/use-loading-performance.ts +473 -0
  106. package/src/hooks/use-memory-usage.ts +287 -0
  107. package/src/hooks/use-mobile-form-layout.ts +464 -0
  108. package/src/hooks/use-mobile-form-validation.ts +518 -0
  109. package/src/hooks/use-mobile-keyboard-optimization.ts +472 -0
  110. package/src/hooks/use-mobile-layout.ts +302 -0
  111. package/src/hooks/use-mobile-optimization.ts +406 -0
  112. package/src/hooks/use-mobile-skeleton.ts +402 -0
  113. package/src/hooks/use-mobile-touch.ts +414 -0
  114. package/src/hooks/use-performance-throttling.ts +348 -0
  115. package/src/hooks/use-performance.ts +316 -0
  116. package/src/hooks/use-reusable-architecture.ts +414 -0
  117. package/src/hooks/use-semantic-input-types.ts +357 -0
  118. package/src/hooks/use-semantic-input.ts +565 -0
  119. package/src/hooks/use-tablet-layout.ts +384 -0
  120. package/src/hooks/use-touch-friendly-input.ts +524 -0
  121. package/src/hooks/use-touch-friendly-interface.ts +331 -0
  122. package/src/hooks/use-touch-optimization.ts +375 -0
  123. package/src/index.ts +279 -279
  124. package/src/lib/utils.ts +6 -0
  125. package/src/themes/README.md +272 -0
  126. package/src/themes/ThemeContext.tsx +31 -0
  127. package/src/themes/ThemeProvider.tsx +232 -0
  128. package/src/themes/accessibility/index.ts +27 -0
  129. package/src/themes/accessibility.ts +259 -0
  130. package/src/themes/aria-patterns.ts +420 -0
  131. package/src/themes/base-themes.ts +55 -0
  132. package/src/themes/colorManager.ts +380 -0
  133. package/src/themes/examples/dark-theme.ts +154 -0
  134. package/src/themes/examples/minimal-theme.ts +108 -0
  135. package/src/themes/focus-management.ts +701 -0
  136. package/src/themes/fontLoader.ts +201 -0
  137. package/src/themes/high-contrast.ts +621 -0
  138. package/src/themes/index.ts +19 -0
  139. package/src/themes/inheritance.ts +227 -0
  140. package/src/themes/keyboard-navigation.ts +550 -0
  141. package/src/themes/motion-reduction.ts +662 -0
  142. package/src/themes/navigation.ts +238 -0
  143. package/src/themes/screen-reader.ts +645 -0
  144. package/src/themes/systemThemeDetector.ts +182 -0
  145. package/src/themes/themeCSSUpdater.ts +262 -0
  146. package/src/themes/themePersistence.ts +238 -0
  147. package/src/themes/themes/default.ts +586 -0
  148. package/src/themes/themes/harvey.ts +554 -0
  149. package/src/themes/themes/stan-design.ts +683 -0
  150. package/src/themes/types.ts +460 -0
  151. package/src/themes/useSystemTheme.ts +48 -0
  152. package/src/themes/useTheme.ts +87 -0
  153. package/src/themes/validation.ts +462 -0
  154. package/src/tokens/index.ts +34 -0
  155. package/src/tokens/tokenExporter.ts +397 -0
  156. package/src/tokens/tokenGenerator.ts +276 -0
  157. package/src/tokens/tokenManager.ts +248 -0
  158. package/src/tokens/tokenValidator.ts +543 -0
  159. package/src/tokens/types.ts +78 -0
  160. package/src/utils/bundle-analyzer.ts +260 -0
  161. package/src/utils/bundle-splitting.ts +483 -0
  162. package/src/utils/lazy-loading.ts +441 -0
  163. package/src/utils/performance-monitor.ts +513 -0
  164. package/src/utils/tree-shaking.ts +274 -0
@@ -0,0 +1,586 @@
1
+ import { MultiThemeConfig } from '../types';
2
+
3
+ /**
4
+ * Default Base Theme Configuration
5
+ * This serves as the foundation for all other themes.
6
+ * Based on Stan Design theme - the primary brand theme.
7
+ * Any undefined values in specific themes will fall back to these defaults.
8
+ */
9
+ export const defaultTheme: MultiThemeConfig = {
10
+ fonts: {
11
+ primary: {
12
+ family: 'Clash Display',
13
+ fallbacks: ['ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif'],
14
+ weights: [300, 400, 500, 600, 700],
15
+ display: 'swap',
16
+ source: {
17
+ type: 'custom',
18
+ files: {
19
+ woff2: '/fonts/clash-display/ClashDisplay-Variable.woff2'
20
+ }
21
+ },
22
+ sizes: {
23
+ xs: '0.75rem',
24
+ sm: '0.875rem',
25
+ md: '1rem',
26
+ lg: '1.125rem',
27
+ xl: '1.25rem',
28
+ '2xl': '1.5rem',
29
+ '3xl': '1.875rem',
30
+ '4xl': '2.25rem',
31
+ '5xl': '3rem',
32
+ '6xl': '3.75rem'
33
+ },
34
+ lineHeights: {
35
+ tight: '1.25',
36
+ normal: '1.5',
37
+ relaxed: '1.75',
38
+ loose: '2'
39
+ },
40
+ letterSpacing: {
41
+ tight: '-0.025em',
42
+ normal: '0em',
43
+ wide: '0.025em',
44
+ wider: '0.05em',
45
+ widest: '0.1em'
46
+ }
47
+ },
48
+ secondary: {
49
+ family: 'Clash Display',
50
+ fallbacks: ['ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif'],
51
+ weights: [300, 400, 500, 600, 700],
52
+ display: 'swap',
53
+ source: {
54
+ type: 'custom',
55
+ files: {
56
+ woff2: '/fonts/clash-display/ClashDisplay-Variable.woff2'
57
+ }
58
+ },
59
+ sizes: {
60
+ xs: '0.75rem',
61
+ sm: '0.875rem',
62
+ md: '1rem',
63
+ lg: '1.125rem',
64
+ xl: '1.25rem',
65
+ '2xl': '1.5rem',
66
+ '3xl': '1.875rem',
67
+ '4xl': '2.25rem',
68
+ '5xl': '3rem',
69
+ '6xl': '3.75rem'
70
+ },
71
+ lineHeights: {
72
+ tight: '1.25',
73
+ normal: '1.5',
74
+ relaxed: '1.75',
75
+ loose: '2'
76
+ },
77
+ letterSpacing: {
78
+ tight: '-0.025em',
79
+ normal: '0em',
80
+ wide: '0.025em',
81
+ wider: '0.05em',
82
+ widest: '0.1em'
83
+ }
84
+ },
85
+ display: {
86
+ family: 'Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',
87
+ weights: [400, 500, 600, 700],
88
+ sizes: {
89
+ xs: '1.5rem',
90
+ sm: '1.875rem',
91
+ md: '2.25rem',
92
+ lg: '3rem',
93
+ xl: '3.75rem',
94
+ '2xl': '4.5rem',
95
+ '3xl': '6rem',
96
+ '4xl': '7.5rem',
97
+ '5xl': '9rem',
98
+ '6xl': '12rem'
99
+ },
100
+ lineHeights: {
101
+ tight: '1.1',
102
+ normal: '1.2',
103
+ relaxed: '1.3',
104
+ loose: '1.4'
105
+ },
106
+ letterSpacing: {
107
+ tight: '-0.02em',
108
+ normal: '-0.01em',
109
+ wide: '0em',
110
+ wider: '0.01em',
111
+ widest: '0.02em'
112
+ }
113
+ },
114
+ body: {
115
+ family: 'Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',
116
+ weights: [300, 400, 500],
117
+ sizes: {
118
+ xs: '0.75rem',
119
+ sm: '0.875rem',
120
+ md: '1rem',
121
+ lg: '1.125rem',
122
+ xl: '1.25rem',
123
+ '2xl': '1.5rem',
124
+ '3xl': '1.875rem',
125
+ '4xl': '2.25rem',
126
+ '5xl': '3rem',
127
+ '6xl': '3.75rem'
128
+ },
129
+ lineHeights: {
130
+ tight: '1.4',
131
+ normal: '1.6',
132
+ relaxed: '1.8',
133
+ loose: '2'
134
+ },
135
+ letterSpacing: {
136
+ tight: '-0.01em',
137
+ normal: '0em',
138
+ wide: '0.01em',
139
+ wider: '0.02em',
140
+ widest: '0.05em'
141
+ }
142
+ },
143
+ mono: {
144
+ family: 'ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace',
145
+ weights: [400, 500, 600],
146
+ sizes: {
147
+ xs: '0.75rem',
148
+ sm: '0.875rem',
149
+ md: '1rem',
150
+ lg: '1.125rem',
151
+ xl: '1.25rem',
152
+ '2xl': '1.5rem',
153
+ '3xl': '1.875rem',
154
+ '4xl': '2.25rem',
155
+ '5xl': '3rem',
156
+ '6xl': '3.75rem'
157
+ },
158
+ lineHeights: {
159
+ tight: '1.25',
160
+ normal: '1.5',
161
+ relaxed: '1.75',
162
+ loose: '2'
163
+ },
164
+ letterSpacing: {
165
+ tight: '-0.025em',
166
+ normal: '0em',
167
+ wide: '0.025em',
168
+ wider: '0.05em',
169
+ widest: '0.1em'
170
+ }
171
+ }
172
+ },
173
+ colors: {
174
+ primary: {
175
+ 50: '#eff6ff',
176
+ 100: '#dbeafe',
177
+ 200: '#bfdbfe',
178
+ 300: '#93c5fd',
179
+ 400: '#60a5fa',
180
+ 500: '#3b82f6', // This is the main primary color
181
+ 600: '#2563eb',
182
+ 700: '#1d4ed8',
183
+ 800: '#1e40af',
184
+ 900: '#1e3a8a',
185
+ // RGB versions for rgba() usage
186
+ '500-rgb': '59, 130, 246',
187
+ '600-rgb': '37, 99, 235',
188
+ '700-rgb': '29, 78, 216'
189
+ },
190
+ secondary: {
191
+ 50: '#f8fafc',
192
+ 100: '#f1f5f9',
193
+ 200: '#e2e8f0',
194
+ 300: '#cbd5e1',
195
+ 400: '#94a3b8',
196
+ 500: '#64748b',
197
+ 600: '#475569',
198
+ 700: '#334155',
199
+ 800: '#1e293b',
200
+ 900: '#0f172a'
201
+ },
202
+ semantic: {
203
+ success: '#10b981',
204
+ warning: '#f59e0b',
205
+ error: '#ef4444',
206
+ errorDark: '#dc2626', // Darker red for destructive hover states
207
+ info: '#3b82f6',
208
+ // RGB versions for rgba() usage
209
+ successRgb: '16, 185, 129',
210
+ warningRgb: '245, 158, 11',
211
+ errorRgb: '239, 68, 68',
212
+ errorDarkRgb: '220, 38, 38',
213
+ infoRgb: '59, 130, 246',
214
+ // Additional RGB versions referenced in CSS
215
+ 'success-rgb': '16, 185, 129',
216
+ 'warning-rgb': '245, 158, 11',
217
+ 'error-rgb': '239, 68, 68',
218
+ 'error-dark-rgb': '220, 38, 38',
219
+ 'info-rgb': '59, 130, 246'
220
+ },
221
+ neutral: {
222
+ 50: '#fafafa',
223
+ 100: '#f5f5f5',
224
+ 200: '#e5e5e5',
225
+ 300: '#d4d4d4',
226
+ 400: '#a3a3a3',
227
+ 500: '#737373',
228
+ 600: '#525252',
229
+ 700: '#404040',
230
+ 800: '#262626',
231
+ 900: '#171717'
232
+ },
233
+ surface: {
234
+ background: '#ffffff',
235
+ surface: '#f8fafc',
236
+ border: '#e2e8f0',
237
+ divider: '#cbd5e1'
238
+ },
239
+ text: {
240
+ primary: '#0f172a',
241
+ secondary: '#475569',
242
+ muted: '#64748b',
243
+ inverse: '#ffffff',
244
+ onPrimary: '#ffffff',
245
+ onSecondary: '#ffffff',
246
+ onSurface: '#0f172a'
247
+ },
248
+ interactive: {
249
+ hover: '#f1f5f9',
250
+ active: '#e2e8f0',
251
+ focus: '#3b82f6',
252
+ disabled: '#cbd5e1'
253
+ },
254
+ // Additional colors referenced in CSS
255
+ accent: '#6366f1',
256
+ 'bg-primary': '#ffffff',
257
+ 'bg-secondary': '#f8fafc',
258
+ 'surface-bg': '#f8fafc',
259
+ // Additional missing CSS variables
260
+ 'primary-hover': '#2563eb',
261
+ 'primary-active': '#1d4ed8',
262
+ 'accent-rgb': '99, 102, 241',
263
+ 'border': '#e2e8f0',
264
+ // Border semantic variables
265
+ 'border-transparent': 'transparent',
266
+ // Text colors referenced in CSS
267
+ 'text-primary': '#0f172a',
268
+ 'text-secondary': '#475569'
269
+ },
270
+ navigation: {
271
+ layout: 'horizontal',
272
+ style: 'enhanced',
273
+ behavior: 'static',
274
+ responsive: 'mobile-first',
275
+ animations: {
276
+ duration: {
277
+ fast: '0.15s',
278
+ normal: '0.2s',
279
+ slow: '0.3s',
280
+ instant: '0s'
281
+ },
282
+ easing: {
283
+ linear: 'linear',
284
+ ease: 'ease',
285
+ easeIn: 'ease-in',
286
+ easeOut: 'ease-out',
287
+ easeInOut: 'ease-in-out',
288
+ bounce: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
289
+ elastic: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)'
290
+ },
291
+ stagger: {
292
+ enabled: true,
293
+ delay: '0.05s',
294
+ direction: 'forward'
295
+ },
296
+ transitions: {
297
+ enter: '0.2s ease-out',
298
+ exit: '0.15s ease-in',
299
+ move: '0.2s ease',
300
+ resize: '0.1s ease'
301
+ }
302
+ },
303
+ spacing: {
304
+ container: '1rem',
305
+ item: '0.5rem',
306
+ group: '1rem',
307
+ divider: '0.25rem',
308
+ icon: '0.5rem',
309
+ text: '0.25rem',
310
+ padding: {
311
+ horizontal: '1rem',
312
+ vertical: '0.75rem',
313
+ top: '0.75rem',
314
+ right: '1rem',
315
+ bottom: '0.75rem',
316
+ left: '1rem'
317
+ },
318
+ margin: {
319
+ horizontal: '0.5rem',
320
+ vertical: '0.25rem',
321
+ top: '0.25rem',
322
+ right: '0.5rem',
323
+ bottom: '0.25rem',
324
+ left: '0.5rem'
325
+ }
326
+ },
327
+ colors: {
328
+ background: {
329
+ primary: '#ffffff',
330
+ secondary: '#f8fafc',
331
+ tertiary: '#f1f5f9',
332
+ light: '#ffffff',
333
+ dark: '#0f172a',
334
+ contrast: '#000000'
335
+ },
336
+ text: {
337
+ primary: '#0f172a',
338
+ secondary: '#475569',
339
+ tertiary: '#64748b',
340
+ light: '#94a3b8',
341
+ dark: '#0f172a',
342
+ contrast: '#ffffff'
343
+ },
344
+ border: {
345
+ primary: '#e2e8f0',
346
+ secondary: '#cbd5e1',
347
+ tertiary: '#94a3b8',
348
+ light: '#f1f5f9',
349
+ dark: '#475569',
350
+ contrast: '#000000'
351
+ },
352
+ accent: {
353
+ primary: '#3b82f6',
354
+ secondary: '#6366f1',
355
+ tertiary: '#8b5cf6',
356
+ light: '#dbeafe',
357
+ dark: '#1d4ed8',
358
+ contrast: '#ffffff'
359
+ },
360
+ hover: {
361
+ primary: '#f1f5f9',
362
+ secondary: '#e2e8f0',
363
+ tertiary: '#cbd5e1',
364
+ light: '#ffffff',
365
+ dark: '#1e293b',
366
+ contrast: '#f8fafc'
367
+ },
368
+ active: {
369
+ primary: '#3b82f6',
370
+ secondary: '#6366f1',
371
+ tertiary: '#8b5cf6',
372
+ light: '#dbeafe',
373
+ dark: '#1d4ed8',
374
+ contrast: '#ffffff'
375
+ },
376
+ disabled: {
377
+ primary: '#f1f5f9',
378
+ secondary: '#e2e8f0',
379
+ tertiary: '#cbd5e1',
380
+ light: '#f8fafc',
381
+ dark: '#475569',
382
+ contrast: '#94a3b8'
383
+ },
384
+ focus: {
385
+ primary: '#3b82f6',
386
+ secondary: '#6366f1',
387
+ tertiary: '#8b5cf6',
388
+ light: '#dbeafe',
389
+ dark: '#1d4ed8',
390
+ contrast: '#ffffff'
391
+ }
392
+ },
393
+ typography: {
394
+ fontFamily: 'Clash Display, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',
395
+ fontSize: {
396
+ xs: '0.75rem',
397
+ sm: '0.875rem',
398
+ base: '1rem',
399
+ lg: '1.125rem',
400
+ xl: '1.25rem',
401
+ '2xl': '1.5rem'
402
+ },
403
+ fontWeight: {
404
+ light: '300',
405
+ normal: '400',
406
+ medium: '500',
407
+ semibold: '600',
408
+ bold: '700'
409
+ },
410
+ lineHeight: {
411
+ tight: '1.25',
412
+ normal: '1.5',
413
+ relaxed: '1.75',
414
+ loose: '2'
415
+ },
416
+ letterSpacing: {
417
+ tight: '-0.025em',
418
+ normal: '0',
419
+ wide: '0.025em',
420
+ wider: '0.05em'
421
+ }
422
+ },
423
+ breakpoints: {
424
+ mobile: '640px',
425
+ tablet: '768px',
426
+ desktop: '1024px',
427
+ wide: '1280px',
428
+ ultra: '1536px'
429
+ }
430
+ },
431
+ spacing: {
432
+ scale: {
433
+ xs: '0.25rem',
434
+ sm: '0.5rem',
435
+ md: '1rem',
436
+ lg: '1.5rem',
437
+ xl: '2rem',
438
+ '2xl': '3rem',
439
+ '3xl': '4rem',
440
+ '4xl': '6rem',
441
+ '5xl': '8rem',
442
+ '6xl': '12rem'
443
+ },
444
+ component: {
445
+ button: {
446
+ padding: '0.75rem 1.5rem',
447
+ margin: '0.5rem',
448
+ gap: '0.5rem'
449
+ },
450
+ input: {
451
+ padding: '0.75rem 1rem',
452
+ margin: '0.5rem',
453
+ gap: '0.5rem'
454
+ },
455
+ card: {
456
+ padding: '1.5rem',
457
+ margin: '1rem',
458
+ gap: '1rem'
459
+ }
460
+ },
461
+ layout: {
462
+ page: '2rem',
463
+ section: '3rem',
464
+ container: '1rem',
465
+ grid: '1.5rem'
466
+ }
467
+ },
468
+ shadows: {
469
+ sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
470
+ md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',
471
+ lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',
472
+ xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',
473
+ '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',
474
+ inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
475
+ none: '0 0 #0000'
476
+ },
477
+ transitions: {
478
+ duration: {
479
+ fast: '0.15s',
480
+ normal: '0.2s',
481
+ slow: '0.3s'
482
+ },
483
+ easing: {
484
+ linear: 'linear',
485
+ ease: 'ease',
486
+ easeIn: 'ease-in',
487
+ easeOut: 'ease-out',
488
+ easeInOut: 'ease-in-out'
489
+ },
490
+ properties: {
491
+ colors: '0.2s ease',
492
+ transform: '0.2s ease',
493
+ opacity: '0.15s ease',
494
+ shadow: '0.2s ease'
495
+ }
496
+ },
497
+ borderRadius: {
498
+ none: '0',
499
+ sm: '0.125rem',
500
+ md: '0.375rem',
501
+ lg: '0.5rem',
502
+ xl: '0.75rem',
503
+ '2xl': '1rem',
504
+ full: '9999px'
505
+ },
506
+ borderWidth: {
507
+ none: '0',
508
+ thin: '0.5px',
509
+ normal: '1px',
510
+ focus: '2px',
511
+ thick: '3px',
512
+ extraThick: '4px'
513
+ },
514
+ animation: {
515
+ duration: {
516
+ fast: '0.3s',
517
+ normal: '0.2s',
518
+ slow: '1.5s'
519
+ },
520
+ easing: {
521
+ linear: 'linear',
522
+ ease: 'ease',
523
+ easeIn: 'ease-in',
524
+ easeOut: 'ease-out',
525
+ easeInOut: 'ease-in-out'
526
+ },
527
+ transforms: {
528
+ hoverY: '-2px',
529
+ offsetY: '10px',
530
+ scale: '1.02'
531
+ }
532
+ },
533
+ accessibility: {
534
+ focusRing: {
535
+ width: '3px',
536
+ offset: '2px',
537
+ color: 'var(--cs-colors-interactive-focus)'
538
+ },
539
+ outline: {
540
+ offset: '2px'
541
+ },
542
+ highContrast: {
543
+ borderWidth: '2px',
544
+ outlineWidth: '4px'
545
+ },
546
+ disabled: {
547
+ cursor: 'not-allowed',
548
+ opacity: '0.7'
549
+ }
550
+ },
551
+ print: {
552
+ borderColor: '#000',
553
+ textColor: '#000',
554
+ textSecondaryColor: '#333',
555
+ backgroundColor: 'transparent'
556
+ },
557
+ containerQuery: {
558
+ small: '400px',
559
+ medium: '600px',
560
+ large: '800px'
561
+ },
562
+ container: {
563
+ width: {
564
+ small: '16rem',
565
+ medium: '20rem',
566
+ large: '24rem',
567
+ xl: '32rem',
568
+ full: '100%'
569
+ }
570
+ },
571
+ shimmer: {
572
+ alpha: '0.2',
573
+ color: 'rgba(255, 255, 255, 0.2)'
574
+ },
575
+ meta: {
576
+ name: 'Default',
577
+ description: 'Default base theme configuration based on Stan Design - the primary brand theme',
578
+ author: 'Theme System',
579
+ version: '1.0.0',
580
+ category: 'brand',
581
+ tags: ['default', 'fallback', 'base', 'brand', 'clash-display', 'professional'],
582
+ preview: '/themes/default-preview.png',
583
+ createdAt: '2024-12-01T00:00:00.000Z',
584
+ updatedAt: '2024-12-01T00:00:00.000Z'
585
+ }
586
+ };