@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.9 → 0.2.11

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 (306) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/ui/accessibility-demo.esm.js +30 -24
  3. package/dist/components/ui/accessibility-demo.js +30 -24
  4. package/dist/components/ui/advanced-component-architecture-demo.esm.js +235 -179
  5. package/dist/components/ui/advanced-component-architecture-demo.js +235 -179
  6. package/dist/components/ui/advanced-transition-system-demo.esm.js +110 -64
  7. package/dist/components/ui/advanced-transition-system-demo.js +110 -64
  8. package/dist/components/ui/advanced-transition-system.esm.js +166 -122
  9. package/dist/components/ui/advanced-transition-system.js +166 -122
  10. package/dist/components/ui/animation/animated-container.esm.js +52 -29
  11. package/dist/components/ui/animation/animated-container.js +52 -29
  12. package/dist/components/ui/animation/staggered-container.esm.js +18 -9
  13. package/dist/components/ui/animation/staggered-container.js +18 -9
  14. package/dist/components/ui/animation-demo.esm.js +67 -35
  15. package/dist/components/ui/animation-demo.js +67 -35
  16. package/dist/components/ui/badge.esm.js +9 -6
  17. package/dist/components/ui/badge.js +9 -6
  18. package/dist/components/ui/battery-conscious-animation-demo.esm.js +122 -87
  19. package/dist/components/ui/battery-conscious-animation-demo.js +122 -87
  20. package/dist/components/ui/border-radius-shadow-demo.esm.js +23 -12
  21. package/dist/components/ui/border-radius-shadow-demo.js +23 -12
  22. package/dist/components/ui/button.esm.js +8 -2
  23. package/dist/components/ui/button.js +8 -2
  24. package/dist/components/ui/card.esm.js +33 -8
  25. package/dist/components/ui/card.js +33 -8
  26. package/dist/components/ui/checkbox.esm.js +3 -3
  27. package/dist/components/ui/checkbox.js +3 -3
  28. package/dist/components/ui/color-preview.esm.js +68 -45
  29. package/dist/components/ui/color-preview.js +68 -45
  30. package/dist/components/ui/data-display/chart.esm.js +112 -84
  31. package/dist/components/ui/data-display/chart.js +112 -84
  32. package/dist/components/ui/data-display/data-grid-simple.esm.js +1 -1
  33. package/dist/components/ui/data-display/data-grid-simple.js +1 -1
  34. package/dist/components/ui/data-display/data-grid.esm.js +80 -67
  35. package/dist/components/ui/data-display/data-grid.js +80 -67
  36. package/dist/components/ui/data-display/list.esm.js +53 -45
  37. package/dist/components/ui/data-display/list.js +53 -45
  38. package/dist/components/ui/data-display/table.esm.js +62 -54
  39. package/dist/components/ui/data-display/table.js +62 -54
  40. package/dist/components/ui/data-display/timeline.esm.js +39 -34
  41. package/dist/components/ui/data-display/timeline.js +39 -34
  42. package/dist/components/ui/data-display/tree.esm.js +116 -84
  43. package/dist/components/ui/data-display/tree.js +116 -84
  44. package/dist/components/ui/data-display/types.esm.js +389 -364
  45. package/dist/components/ui/data-display/types.js +389 -364
  46. package/dist/components/ui/enterprise-mobile-experience-demo.esm.js +120 -70
  47. package/dist/components/ui/enterprise-mobile-experience-demo.js +120 -70
  48. package/dist/components/ui/enterprise-mobile-experience.esm.js +124 -73
  49. package/dist/components/ui/enterprise-mobile-experience.js +124 -73
  50. package/dist/components/ui/feedback/alert.esm.js +22 -15
  51. package/dist/components/ui/feedback/alert.js +22 -15
  52. package/dist/components/ui/feedback/progress.esm.js +47 -24
  53. package/dist/components/ui/feedback/progress.js +47 -24
  54. package/dist/components/ui/feedback/skeleton.esm.js +39 -29
  55. package/dist/components/ui/feedback/skeleton.js +39 -29
  56. package/dist/components/ui/feedback/toast.esm.js +62 -38
  57. package/dist/components/ui/feedback/toast.js +62 -38
  58. package/dist/components/ui/feedback/types.esm.js +83 -83
  59. package/dist/components/ui/feedback/types.js +83 -83
  60. package/dist/components/ui/font-preview.esm.js +41 -39
  61. package/dist/components/ui/font-preview.js +41 -39
  62. package/dist/components/ui/form-demo.esm.js +150 -113
  63. package/dist/components/ui/form-demo.js +150 -113
  64. package/dist/components/ui/hardware-acceleration-demo.esm.js +137 -87
  65. package/dist/components/ui/hardware-acceleration-demo.js +137 -87
  66. package/dist/components/ui/input.esm.js +4 -1
  67. package/dist/components/ui/input.js +4 -1
  68. package/dist/components/ui/layout-demo.esm.js +81 -56
  69. package/dist/components/ui/layout-demo.js +81 -56
  70. package/dist/components/ui/layouts/adaptive-layout.esm.js +27 -8
  71. package/dist/components/ui/layouts/adaptive-layout.js +27 -8
  72. package/dist/components/ui/layouts/desktop-layout.esm.js +39 -19
  73. package/dist/components/ui/layouts/desktop-layout.js +39 -19
  74. package/dist/components/ui/layouts/mobile-layout.esm.js +19 -9
  75. package/dist/components/ui/layouts/mobile-layout.js +19 -9
  76. package/dist/components/ui/layouts/tablet-layout.esm.js +28 -14
  77. package/dist/components/ui/layouts/tablet-layout.js +28 -14
  78. package/dist/components/ui/mobile-form-validation.esm.js +120 -87
  79. package/dist/components/ui/mobile-form-validation.js +120 -87
  80. package/dist/components/ui/mobile-input-demo.esm.js +19 -13
  81. package/dist/components/ui/mobile-input-demo.js +19 -13
  82. package/dist/components/ui/mobile-input.esm.js +185 -120
  83. package/dist/components/ui/mobile-input.js +185 -120
  84. package/dist/components/ui/mobile-skeleton-loading-demo.esm.js +128 -111
  85. package/dist/components/ui/mobile-skeleton-loading-demo.js +128 -111
  86. package/dist/components/ui/navigation/breadcrumb.esm.js +17 -14
  87. package/dist/components/ui/navigation/breadcrumb.js +17 -14
  88. package/dist/components/ui/navigation/index.esm.js +0 -1
  89. package/dist/components/ui/navigation/index.js +0 -1
  90. package/dist/components/ui/navigation/menu.esm.js +49 -35
  91. package/dist/components/ui/navigation/menu.js +49 -35
  92. package/dist/components/ui/navigation/navigation-demo.esm.js +81 -74
  93. package/dist/components/ui/navigation/navigation-demo.js +81 -74
  94. package/dist/components/ui/navigation/pagination.esm.js +62 -50
  95. package/dist/components/ui/navigation/pagination.js +62 -50
  96. package/dist/components/ui/navigation/sidebar.esm.js +56 -42
  97. package/dist/components/ui/navigation/sidebar.js +56 -42
  98. package/dist/components/ui/navigation/stepper.esm.js +34 -23
  99. package/dist/components/ui/navigation/stepper.js +34 -23
  100. package/dist/components/ui/navigation/tabs.esm.js +32 -21
  101. package/dist/components/ui/navigation/tabs.js +32 -21
  102. package/dist/components/ui/navigation/types.esm.js +196 -195
  103. package/dist/components/ui/navigation/types.js +196 -195
  104. package/dist/components/ui/overlay/backdrop.esm.js +17 -16
  105. package/dist/components/ui/overlay/backdrop.js +17 -16
  106. package/dist/components/ui/overlay/focus-manager.esm.js +21 -19
  107. package/dist/components/ui/overlay/focus-manager.js +21 -19
  108. package/dist/components/ui/overlay/index.esm.js +0 -2
  109. package/dist/components/ui/overlay/index.js +0 -2
  110. package/dist/components/ui/overlay/modal.esm.js +38 -34
  111. package/dist/components/ui/overlay/modal.js +38 -34
  112. package/dist/components/ui/overlay/overlay-manager.esm.js +25 -20
  113. package/dist/components/ui/overlay/overlay-manager.js +25 -20
  114. package/dist/components/ui/overlay/popover.esm.js +74 -58
  115. package/dist/components/ui/overlay/popover.js +74 -58
  116. package/dist/components/ui/overlay/portal.esm.js +7 -7
  117. package/dist/components/ui/overlay/portal.js +7 -7
  118. package/dist/components/ui/overlay/tooltip.esm.js +54 -39
  119. package/dist/components/ui/overlay/tooltip.js +54 -39
  120. package/dist/components/ui/overlay/types.esm.js +132 -131
  121. package/dist/components/ui/overlay/types.js +132 -131
  122. package/dist/components/ui/performance-demo.esm.js +135 -88
  123. package/dist/components/ui/performance-demo.js +135 -88
  124. package/dist/components/ui/semantic-input-system-demo.esm.js +117 -80
  125. package/dist/components/ui/semantic-input-system-demo.js +117 -80
  126. package/dist/components/ui/theme-customizer.esm.js +84 -52
  127. package/dist/components/ui/theme-customizer.js +84 -52
  128. package/dist/components/ui/theme-preview.esm.js +95 -43
  129. package/dist/components/ui/theme-preview.js +95 -43
  130. package/dist/components/ui/theme-switcher.esm.js +70 -44
  131. package/dist/components/ui/theme-switcher.js +70 -44
  132. package/dist/components/ui/theme-toggle.esm.js +3 -3
  133. package/dist/components/ui/theme-toggle.js +3 -3
  134. package/dist/components/ui/token-demo.esm.js +33 -21
  135. package/dist/components/ui/token-demo.js +33 -21
  136. package/dist/components/ui/touch-demo.esm.js +102 -73
  137. package/dist/components/ui/touch-demo.js +102 -73
  138. package/dist/components/ui/touch-friendly-interface-demo.esm.js +102 -64
  139. package/dist/components/ui/touch-friendly-interface-demo.js +102 -64
  140. package/dist/components/ui/touch-friendly-interface.esm.js +85 -61
  141. package/dist/components/ui/touch-friendly-interface.js +85 -61
  142. package/dist/hooks/use-accessibility-support.esm.js +115 -85
  143. package/dist/hooks/use-accessibility-support.js +115 -85
  144. package/dist/hooks/use-adaptive-layout.esm.js +56 -33
  145. package/dist/hooks/use-adaptive-layout.js +56 -33
  146. package/dist/hooks/use-advanced-patterns.esm.js +57 -42
  147. package/dist/hooks/use-advanced-patterns.js +57 -42
  148. package/dist/hooks/use-advanced-transition-system.esm.js +112 -71
  149. package/dist/hooks/use-advanced-transition-system.js +112 -71
  150. package/dist/hooks/use-animation-profile.esm.js +63 -34
  151. package/dist/hooks/use-animation-profile.js +63 -34
  152. package/dist/hooks/use-battery-animations.esm.js +80 -55
  153. package/dist/hooks/use-battery-animations.js +80 -55
  154. package/dist/hooks/use-battery-conscious-loading.esm.js +166 -123
  155. package/dist/hooks/use-battery-conscious-loading.js +166 -123
  156. package/dist/hooks/use-battery-optimization.esm.js +78 -55
  157. package/dist/hooks/use-battery-optimization.js +78 -55
  158. package/dist/hooks/use-battery-status.esm.js +73 -51
  159. package/dist/hooks/use-battery-status.js +73 -51
  160. package/dist/hooks/use-component-performance.esm.js +62 -47
  161. package/dist/hooks/use-component-performance.js +62 -47
  162. package/dist/hooks/use-device-loading-states.esm.js +152 -109
  163. package/dist/hooks/use-device-loading-states.js +152 -109
  164. package/dist/hooks/use-device.esm.js +25 -14
  165. package/dist/hooks/use-device.js +25 -14
  166. package/dist/hooks/use-enterprise-mobile-experience.esm.js +137 -88
  167. package/dist/hooks/use-enterprise-mobile-experience.js +137 -88
  168. package/dist/hooks/use-form-feedback.esm.js +124 -81
  169. package/dist/hooks/use-form-feedback.js +124 -81
  170. package/dist/hooks/use-form-performance.esm.js +127 -92
  171. package/dist/hooks/use-form-performance.js +127 -92
  172. package/dist/hooks/use-frame-rate.esm.js +56 -37
  173. package/dist/hooks/use-frame-rate.js +56 -37
  174. package/dist/hooks/use-gestures.esm.js +96 -72
  175. package/dist/hooks/use-gestures.js +96 -72
  176. package/dist/hooks/use-hardware-acceleration.esm.js +65 -37
  177. package/dist/hooks/use-hardware-acceleration.js +65 -37
  178. package/dist/hooks/use-input-accessibility.esm.js +157 -119
  179. package/dist/hooks/use-input-accessibility.js +157 -119
  180. package/dist/hooks/use-input-performance.esm.js +139 -104
  181. package/dist/hooks/use-input-performance.js +139 -104
  182. package/dist/hooks/use-layout-performance.esm.js +50 -29
  183. package/dist/hooks/use-layout-performance.js +50 -29
  184. package/dist/hooks/use-loading-accessibility.esm.js +209 -169
  185. package/dist/hooks/use-loading-accessibility.js +209 -169
  186. package/dist/hooks/use-loading-performance.esm.js +117 -93
  187. package/dist/hooks/use-loading-performance.js +117 -93
  188. package/dist/hooks/use-memory-usage.esm.js +57 -38
  189. package/dist/hooks/use-memory-usage.js +57 -38
  190. package/dist/hooks/use-mobile-form-layout.esm.js +111 -74
  191. package/dist/hooks/use-mobile-form-layout.js +111 -74
  192. package/dist/hooks/use-mobile-form-validation.esm.js +211 -144
  193. package/dist/hooks/use-mobile-form-validation.js +211 -144
  194. package/dist/hooks/use-mobile-keyboard-optimization.esm.js +154 -113
  195. package/dist/hooks/use-mobile-keyboard-optimization.js +154 -113
  196. package/dist/hooks/use-mobile-layout.esm.js +73 -51
  197. package/dist/hooks/use-mobile-layout.js +73 -51
  198. package/dist/hooks/use-mobile-optimization.esm.js +72 -44
  199. package/dist/hooks/use-mobile-optimization.js +72 -44
  200. package/dist/hooks/use-mobile-skeleton.esm.js +97 -64
  201. package/dist/hooks/use-mobile-skeleton.js +97 -64
  202. package/dist/hooks/use-mobile-touch.esm.js +128 -93
  203. package/dist/hooks/use-mobile-touch.js +128 -93
  204. package/dist/hooks/use-performance-throttling.esm.js +72 -48
  205. package/dist/hooks/use-performance-throttling.js +72 -48
  206. package/dist/hooks/use-performance.esm.js +90 -52
  207. package/dist/hooks/use-performance.js +90 -52
  208. package/dist/hooks/use-reusable-architecture.esm.js +94 -65
  209. package/dist/hooks/use-reusable-architecture.js +94 -65
  210. package/dist/hooks/use-semantic-input-types.esm.js +166 -124
  211. package/dist/hooks/use-semantic-input-types.js +166 -124
  212. package/dist/hooks/use-semantic-input.esm.js +178 -126
  213. package/dist/hooks/use-semantic-input.js +178 -126
  214. package/dist/hooks/use-tablet-layout.esm.js +67 -38
  215. package/dist/hooks/use-tablet-layout.js +67 -38
  216. package/dist/hooks/use-touch-friendly-input.esm.js +193 -149
  217. package/dist/hooks/use-touch-friendly-input.js +193 -149
  218. package/dist/hooks/use-touch-friendly-interface.esm.js +99 -67
  219. package/dist/hooks/use-touch-friendly-interface.js +99 -67
  220. package/dist/hooks/use-touch-optimization.esm.js +99 -72
  221. package/dist/hooks/use-touch-optimization.js +99 -72
  222. package/dist/index.esm.js +157 -281
  223. package/dist/index.js +157 -281
  224. package/dist/lib/utils.esm.js +1 -1
  225. package/dist/lib/utils.js +1 -1
  226. package/dist/plugins/theme-css-generator.esm.js +104 -55
  227. package/dist/plugins/theme-css-generator.js +104 -55
  228. package/dist/provider.esm.js +4 -4
  229. package/dist/provider.js +4 -4
  230. package/dist/styles.css +1 -1
  231. package/dist/theme.esm.js +633 -468
  232. package/dist/theme.js +633 -468
  233. package/dist/themes/ThemeContext.esm.js +15 -15
  234. package/dist/themes/ThemeContext.js +15 -15
  235. package/dist/themes/ThemeProvider.esm.js +25 -22
  236. package/dist/themes/ThemeProvider.js +25 -22
  237. package/dist/themes/accessibility.esm.js +147 -108
  238. package/dist/themes/accessibility.js +147 -108
  239. package/dist/themes/aria-patterns.esm.js +198 -162
  240. package/dist/themes/aria-patterns.js +198 -162
  241. package/dist/themes/base-themes.esm.js +14 -11
  242. package/dist/themes/base-themes.js +14 -11
  243. package/dist/themes/colorManager.esm.js +101 -83
  244. package/dist/themes/colorManager.js +101 -83
  245. package/dist/themes/examples/dark-theme.esm.js +133 -103
  246. package/dist/themes/examples/dark-theme.js +133 -103
  247. package/dist/themes/examples/minimal-theme.esm.js +83 -61
  248. package/dist/themes/examples/minimal-theme.js +83 -61
  249. package/dist/themes/focus-management.esm.js +202 -143
  250. package/dist/themes/focus-management.js +202 -143
  251. package/dist/themes/fontLoader.esm.js +28 -19
  252. package/dist/themes/fontLoader.js +28 -19
  253. package/dist/themes/high-contrast.esm.js +152 -104
  254. package/dist/themes/high-contrast.js +152 -104
  255. package/dist/themes/index.esm.js +1 -1
  256. package/dist/themes/index.js +1 -1
  257. package/dist/themes/inheritance.esm.js +35 -27
  258. package/dist/themes/inheritance.js +35 -27
  259. package/dist/themes/keyboard-navigation.esm.js +152 -123
  260. package/dist/themes/keyboard-navigation.js +152 -123
  261. package/dist/themes/motion-reduction.esm.js +193 -133
  262. package/dist/themes/motion-reduction.js +193 -133
  263. package/dist/themes/navigation.esm.js +146 -146
  264. package/dist/themes/navigation.js +146 -146
  265. package/dist/themes/screen-reader.esm.js +159 -94
  266. package/dist/themes/screen-reader.js +159 -94
  267. package/dist/themes/systemThemeDetector.esm.js +42 -34
  268. package/dist/themes/systemThemeDetector.js +42 -34
  269. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  270. package/dist/themes/themeCSSUpdater.js +21 -9
  271. package/dist/themes/themePersistence.esm.js +68 -47
  272. package/dist/themes/themePersistence.js +68 -47
  273. package/dist/themes/themes/stan-design.esm.js +633 -468
  274. package/dist/themes/themes/stan-design.js +633 -468
  275. package/dist/themes/types.esm.js +301 -287
  276. package/dist/themes/types.js +301 -287
  277. package/dist/themes/useSystemTheme.esm.js +4 -4
  278. package/dist/themes/useSystemTheme.js +4 -4
  279. package/dist/themes/useTheme.esm.js +4 -4
  280. package/dist/themes/useTheme.js +4 -4
  281. package/dist/themes/validation.esm.js +128 -77
  282. package/dist/themes/validation.js +128 -77
  283. package/dist/tokens/index.esm.js +1 -2
  284. package/dist/tokens/index.js +1 -2
  285. package/dist/tokens/tokenExporter.esm.js +87 -61
  286. package/dist/tokens/tokenExporter.js +87 -61
  287. package/dist/tokens/tokenGenerator.esm.js +86 -77
  288. package/dist/tokens/tokenGenerator.js +86 -77
  289. package/dist/tokens/tokenManager.esm.js +64 -51
  290. package/dist/tokens/tokenManager.js +64 -51
  291. package/dist/tokens/tokenValidator.esm.js +193 -147
  292. package/dist/tokens/tokenValidator.js +193 -147
  293. package/dist/tokens/types.esm.js +49 -35
  294. package/dist/tokens/types.js +49 -35
  295. package/dist/utils/bundle-analyzer.esm.js +83 -65
  296. package/dist/utils/bundle-analyzer.js +83 -65
  297. package/dist/utils/bundle-splitting.esm.js +142 -117
  298. package/dist/utils/bundle-splitting.js +142 -117
  299. package/dist/utils/lazy-loading.esm.js +132 -106
  300. package/dist/utils/lazy-loading.js +132 -106
  301. package/dist/utils/performance-monitor.esm.js +170 -129
  302. package/dist/utils/performance-monitor.js +170 -129
  303. package/dist/utils/tree-shaking.esm.js +69 -61
  304. package/dist/utils/tree-shaking.js +69 -61
  305. package/package.json +1 -1
  306. package/src/index.ts +146 -146
@@ -2,84 +2,103 @@ import { createTheme, overrideTheme, PartialThemeConfig } from '../inheritance';
2
2
  import { stanDesignTheme } from '../base-themes';
3
3
 
4
4
  /**
5
- * Example= {
6
- meta,
7
- description,
8
- author,
9
- version,
10
- category,
11
- tags, 'night', 'inheritance'],
12
- preview,
13
- createdAt,
14
- updatedAt},
15
- colors,
16
- 100,
17
- 200,
18
- 300,
19
- 400,
20
- 500,
21
- 600,
22
- 700,
23
- 800,
24
- 900,
25
- '500-rgb', 163, 184',
26
- '600-rgb', 213, 225',
27
- '700-rgb', 232, 240'
5
+ * Example: Dark Theme using inheritance
6
+ * This theme overrides colors for a dark mode while keeping other properties
7
+ */
8
+ const darkThemeConfig: PartialThemeConfig = {
9
+ meta: {
10
+ name: 'Dark Mode',
11
+ description: 'Dark variant with inheritance from default theme',
12
+ author: 'Theme Examples',
13
+ version: '1.0.0',
14
+ category: 'custom',
15
+ tags: ['dark', 'night', 'inheritance'],
16
+ preview: '/themes/dark-preview.png',
17
+ createdAt: '2024-12-01T00:00:00.000Z',
18
+ updatedAt: '2024-12-01T00:00:00.000Z'
19
+ },
20
+ colors: {
21
+ primary: {
22
+ 50: '#0f172a',
23
+ 100: '#1e293b',
24
+ 200: '#334155',
25
+ 300: '#475569',
26
+ 400: '#64748b',
27
+ 500: '#94a3b8',
28
+ 600: '#cbd5e1',
29
+ 700: '#e2e8f0',
30
+ 800: '#f1f5f9',
31
+ 900: '#f8fafc',
32
+ '500-rgb': '148, 163, 184',
33
+ '600-rgb': '203, 213, 225',
34
+ '700-rgb': '226, 232, 240'
35
+ },
36
+ secondary: {
37
+ 50: '#f8fafc',
38
+ 100: '#f1f5f9',
39
+ 200: '#e2e8f0',
40
+ 300: '#cbd5e1',
41
+ 400: '#94a3b8',
42
+ 500: '#64748b',
43
+ 600: '#475569',
44
+ 700: '#334155',
45
+ 800: '#1e293b',
46
+ 900: '#0f172a'
47
+ },
48
+ semantic: {
49
+ success: '#10b981',
50
+ warning: '#f59e0b',
51
+ error: '#ef4444',
52
+ info: '#3b82f6',
53
+ successRgb: '16, 185, 129',
54
+ warningRgb: '245, 158, 11',
55
+ errorRgb: '239, 68, 68',
56
+ infoRgb: '59, 130, 246',
57
+ 'success-rgb': '16, 185, 129',
58
+ 'warning-rgb': '245, 158, 11',
59
+ 'error-rgb': '239, 68, 68',
60
+ 'info-rgb': '59, 130, 246'
61
+ },
62
+ neutral: {
63
+ 50: '#fafafa',
64
+ 100: '#f5f5f5',
65
+ 200: '#e5e5e5',
66
+ 300: '#d4d4d4',
67
+ 400: '#a3a3a3',
68
+ 500: '#737373',
69
+ 600: '#525252',
70
+ 700: '#404040',
71
+ 800: '#262626',
72
+ 900: '#171717'
73
+ },
74
+ surface: {
75
+ background: '#0f172a',
76
+ surface: '#1e293b',
77
+ border: '#334155',
78
+ divider: '#475569'
28
79
  },
29
- secondary,
30
- 100,
31
- 200,
32
- 300,
33
- 400,
34
- 500,
35
- 600,
36
- 700,
37
- 800,
38
- 900},
39
- semantic,
40
- warning,
41
- error,
42
- info,
43
- successRgb, 185, 129',
44
- warningRgb, 158, 11',
45
- errorRgb, 68, 68',
46
- infoRgb, 130, 246',
47
- 'success-rgb', 185, 129',
48
- 'warning-rgb', 158, 11',
49
- 'error-rgb', 68, 68',
50
- 'info-rgb', 130, 246'
80
+ text: {
81
+ primary: '#f8fafc',
82
+ secondary: '#e2e8f0',
83
+ muted: '#cbd5e1',
84
+ inverse: '#0f172a',
85
+ onPrimary: '#0f172a',
86
+ onSecondary: '#0f172a',
87
+ onSurface: '#f8fafc'
88
+ },
89
+ interactive: {
90
+ hover: '#1e293b',
91
+ active: '#334155',
92
+ focus: '#94a3b8',
93
+ disabled: '#475569'
51
94
  },
52
- neutral,
53
- 100,
54
- 200,
55
- 300,
56
- 400,
57
- 500,
58
- 600,
59
- 700,
60
- 800,
61
- 900},
62
- surface,
63
- surface,
64
- border,
65
- divider},
66
- text,
67
- secondary,
68
- muted,
69
- inverse,
70
- onPrimary,
71
- onSecondary,
72
- onSurface},
73
- interactive,
74
- active,
75
- focus,
76
- disabled},
77
95
  // Additional dark mode colors
78
- 'bg-primary',
79
- 'bg-secondary',
80
- 'surface-bg',
81
- 'text-primary',
82
- 'text-secondary'}
96
+ 'bg-primary': '#0f172a',
97
+ 'bg-secondary': '#1e293b',
98
+ 'surface-bg': '#1e293b',
99
+ 'text-primary': '#f8fafc',
100
+ 'text-secondary': '#e2e8f0'
101
+ }
83
102
  // All other properties (fonts, navigation, spacing, etc.) inherit from default
84
103
  };
85
104
 
@@ -89,36 +108,47 @@ import { stanDesignTheme } from '../base-themes';
89
108
  export const darkTheme = createTheme(darkThemeConfig);
90
109
 
91
110
  /**
92
- * Example) to create a dark variant
111
+ * Example: Override an existing theme (Stan Design) to create a dark variant
93
112
  */
94
113
  export const stanDesignDarkTheme = overrideTheme(stanDesignTheme, {
95
- meta,
96
- description,
97
- author,
98
- version,
99
- category,
100
- tags, 'stan-design', 'professional'],
101
- preview,
102
- createdAt,
103
- updatedAt},
104
- colors});
114
+ meta: {
115
+ name: 'Stan Design Dark',
116
+ description: 'Dark variant of Stan Design theme',
117
+ author: 'Theme Examples',
118
+ version: '1.0.0',
119
+ category: 'custom',
120
+ tags: ['dark', 'stan-design', 'professional'],
121
+ preview: '/themes/stan-design-dark-preview.png',
122
+ createdAt: '2024-12-01T00:00:00.000Z',
123
+ updatedAt: '2024-12-01T00:00:00.000Z'
124
+ },
125
+ colors: darkThemeConfig.colors
126
+ });
105
127
 
106
128
  /**
107
- * Example= overrideTheme(stanDesignTheme, {
108
- colors,
109
- secondary,
110
- semantic,
111
- neutral,
112
- surface,
113
- surface,
114
- border,
115
- divider},
116
- text,
117
- secondary,
118
- muted,
119
- inverse,
120
- onPrimary,
121
- onSecondary,
122
- onSurface},
123
- interactive}
129
+ * Example: Partial override for quick customizations
130
+ */
131
+ export const quickDarkVariant = overrideTheme(stanDesignTheme, {
132
+ colors: {
133
+ primary: stanDesignTheme.colors.primary,
134
+ secondary: stanDesignTheme.colors.secondary,
135
+ semantic: stanDesignTheme.colors.semantic,
136
+ neutral: stanDesignTheme.colors.neutral,
137
+ surface: {
138
+ background: '#0f172a',
139
+ surface: '#1e293b',
140
+ border: '#334155',
141
+ divider: '#475569'
142
+ },
143
+ text: {
144
+ primary: '#f8fafc',
145
+ secondary: '#e2e8f0',
146
+ muted: '#cbd5e1',
147
+ inverse: '#0f172a',
148
+ onPrimary: '#0f172a',
149
+ onSecondary: '#0f172a',
150
+ onSurface: '#f8fafc'
151
+ },
152
+ interactive: stanDesignTheme.colors.interactive
153
+ }
124
154
  });
@@ -1,66 +1,88 @@
1
1
  import { createTheme, PartialThemeConfig } from '../inheritance';
2
2
 
3
3
  /**
4
- * Example= {
5
- meta,
6
- description,
7
- author,
8
- version,
9
- category,
10
- tags, 'blue', 'simple'],
11
- preview,
12
- createdAt,
13
- updatedAt},
14
- colors,
15
- 100,
16
- 200,
17
- 300,
18
- 400,
19
- 500, // Only override the main primary color
20
- 600,
21
- 700,
22
- 800,
23
- 900},
24
- secondary,
25
- 100,
26
- 200,
27
- 300,
28
- 400,
29
- 500,
30
- 600,
31
- 700,
32
- 800,
33
- 900},
34
- semantic,
35
- warning,
36
- error,
37
- info, warning, error will come from default theme
4
+ * Example: Minimal Theme using inheritance
5
+ * This theme only defines the properties it wants to override.
6
+ * All other values will be inherited from the default theme.
7
+ */
8
+ const minimalThemeConfig: PartialThemeConfig = {
9
+ meta: {
10
+ name: 'Minimal Blue',
11
+ description: 'A minimal theme that only overrides primary colors',
12
+ author: 'Theme Examples',
13
+ version: '1.0.0',
14
+ category: 'custom',
15
+ tags: ['minimal', 'blue', 'simple'],
16
+ preview: '/themes/minimal-blue-preview.png',
17
+ createdAt: '2024-12-01T00:00:00.000Z',
18
+ updatedAt: '2024-12-01T00:00:00.000Z'
19
+ },
20
+ colors: {
21
+ primary: {
22
+ 50: '#eff6ff',
23
+ 100: '#dbeafe',
24
+ 200: '#bfdbfe',
25
+ 300: '#93c5fd',
26
+ 400: '#60a5fa',
27
+ 500: '#2563eb', // Only override the main primary color
28
+ 600: '#1d4ed8',
29
+ 700: '#1e40af',
30
+ 800: '#1e3a8a',
31
+ 900: '#1e3a8a'
32
+ // All other primary colors will come from default theme
33
+ },
34
+ secondary: {
35
+ 50: '#f8fafc',
36
+ 100: '#f1f5f9',
37
+ 200: '#e2e8f0',
38
+ 300: '#cbd5e1',
39
+ 400: '#94a3b8',
40
+ 500: '#64748b',
41
+ 600: '#475569',
42
+ 700: '#334155',
43
+ 800: '#1e293b',
44
+ 900: '#0f172a'
45
+ },
46
+ semantic: {
47
+ success: '#10b981',
48
+ warning: '#f59e0b',
49
+ error: '#ef4444',
50
+ info: '#2563eb' // Override info color to match primary
51
+ // success, warning, error will come from default theme
52
+ },
53
+ neutral: {
54
+ 50: '#fafafa',
55
+ 100: '#f5f5f5',
56
+ 200: '#e5e5e5',
57
+ 300: '#d4d4d4',
58
+ 400: '#a3a3a3',
59
+ 500: '#737373',
60
+ 600: '#525252',
61
+ 700: '#404040',
62
+ 800: '#262626',
63
+ 900: '#171717'
64
+ },
65
+ surface: {
66
+ background: '#ffffff',
67
+ surface: '#f8fafc',
68
+ border: '#e2e8f0',
69
+ divider: '#cbd5e1'
70
+ },
71
+ text: {
72
+ primary: '#0f172a',
73
+ secondary: '#475569',
74
+ muted: '#64748b',
75
+ inverse: '#ffffff',
76
+ onPrimary: '#ffffff',
77
+ onSecondary: '#ffffff',
78
+ onSurface: '#0f172a'
38
79
  },
39
- neutral,
40
- 100,
41
- 200,
42
- 300,
43
- 400,
44
- 500,
45
- 600,
46
- 700,
47
- 800,
48
- 900},
49
- surface,
50
- surface,
51
- border,
52
- divider},
53
- text,
54
- secondary,
55
- muted,
56
- inverse,
57
- onPrimary,
58
- onSecondary,
59
- onSurface},
60
- interactive,
61
- active,
62
- focus,
63
- disabled}
80
+ interactive: {
81
+ hover: '#f1f5f9',
82
+ active: '#e2e8f0',
83
+ focus: '#3b82f6',
84
+ disabled: '#cbd5e1'
85
+ }
64
86
  // All other colors will be inherited from default theme
65
87
  }
66
88
  // fonts, navigation, spacing, shadows, transitions will all come from default theme
@@ -79,8 +101,8 @@ import { themeInheritanceManager } from '../inheritance';
79
101
 
80
102
  // This will return an empty array since inheritance fills in all missing values
81
103
  const missingProperties = themeInheritanceManager.validateCompleteness(minimalTheme);
82
- console.log('Missing properties, missingProperties); // Should be []
104
+ console.log('Missing properties:', missingProperties); // Should be []
83
105
 
84
106
  // This will return true since all properties are present
85
107
  const hasCompleteInheritance = themeInheritanceManager.hasInheritance(minimalTheme);
86
- console.log('Has complete inheritance, hasCompleteInheritance); // Should be true
108
+ console.log('Has complete inheritance:', hasCompleteInheritance); // Should be true
@@ -1,66 +1,88 @@
1
1
  import { createTheme, PartialThemeConfig } from '../inheritance';
2
2
 
3
3
  /**
4
- * Example= {
5
- meta,
6
- description,
7
- author,
8
- version,
9
- category,
10
- tags, 'blue', 'simple'],
11
- preview,
12
- createdAt,
13
- updatedAt},
14
- colors,
15
- 100,
16
- 200,
17
- 300,
18
- 400,
19
- 500, // Only override the main primary color
20
- 600,
21
- 700,
22
- 800,
23
- 900},
24
- secondary,
25
- 100,
26
- 200,
27
- 300,
28
- 400,
29
- 500,
30
- 600,
31
- 700,
32
- 800,
33
- 900},
34
- semantic,
35
- warning,
36
- error,
37
- info, warning, error will come from default theme
4
+ * Example: Minimal Theme using inheritance
5
+ * This theme only defines the properties it wants to override.
6
+ * All other values will be inherited from the default theme.
7
+ */
8
+ const minimalThemeConfig: PartialThemeConfig = {
9
+ meta: {
10
+ name: 'Minimal Blue',
11
+ description: 'A minimal theme that only overrides primary colors',
12
+ author: 'Theme Examples',
13
+ version: '1.0.0',
14
+ category: 'custom',
15
+ tags: ['minimal', 'blue', 'simple'],
16
+ preview: '/themes/minimal-blue-preview.png',
17
+ createdAt: '2024-12-01T00:00:00.000Z',
18
+ updatedAt: '2024-12-01T00:00:00.000Z'
19
+ },
20
+ colors: {
21
+ primary: {
22
+ 50: '#eff6ff',
23
+ 100: '#dbeafe',
24
+ 200: '#bfdbfe',
25
+ 300: '#93c5fd',
26
+ 400: '#60a5fa',
27
+ 500: '#2563eb', // Only override the main primary color
28
+ 600: '#1d4ed8',
29
+ 700: '#1e40af',
30
+ 800: '#1e3a8a',
31
+ 900: '#1e3a8a'
32
+ // All other primary colors will come from default theme
33
+ },
34
+ secondary: {
35
+ 50: '#f8fafc',
36
+ 100: '#f1f5f9',
37
+ 200: '#e2e8f0',
38
+ 300: '#cbd5e1',
39
+ 400: '#94a3b8',
40
+ 500: '#64748b',
41
+ 600: '#475569',
42
+ 700: '#334155',
43
+ 800: '#1e293b',
44
+ 900: '#0f172a'
45
+ },
46
+ semantic: {
47
+ success: '#10b981',
48
+ warning: '#f59e0b',
49
+ error: '#ef4444',
50
+ info: '#2563eb' // Override info color to match primary
51
+ // success, warning, error will come from default theme
52
+ },
53
+ neutral: {
54
+ 50: '#fafafa',
55
+ 100: '#f5f5f5',
56
+ 200: '#e5e5e5',
57
+ 300: '#d4d4d4',
58
+ 400: '#a3a3a3',
59
+ 500: '#737373',
60
+ 600: '#525252',
61
+ 700: '#404040',
62
+ 800: '#262626',
63
+ 900: '#171717'
64
+ },
65
+ surface: {
66
+ background: '#ffffff',
67
+ surface: '#f8fafc',
68
+ border: '#e2e8f0',
69
+ divider: '#cbd5e1'
70
+ },
71
+ text: {
72
+ primary: '#0f172a',
73
+ secondary: '#475569',
74
+ muted: '#64748b',
75
+ inverse: '#ffffff',
76
+ onPrimary: '#ffffff',
77
+ onSecondary: '#ffffff',
78
+ onSurface: '#0f172a'
38
79
  },
39
- neutral,
40
- 100,
41
- 200,
42
- 300,
43
- 400,
44
- 500,
45
- 600,
46
- 700,
47
- 800,
48
- 900},
49
- surface,
50
- surface,
51
- border,
52
- divider},
53
- text,
54
- secondary,
55
- muted,
56
- inverse,
57
- onPrimary,
58
- onSecondary,
59
- onSurface},
60
- interactive,
61
- active,
62
- focus,
63
- disabled}
80
+ interactive: {
81
+ hover: '#f1f5f9',
82
+ active: '#e2e8f0',
83
+ focus: '#3b82f6',
84
+ disabled: '#cbd5e1'
85
+ }
64
86
  // All other colors will be inherited from default theme
65
87
  }
66
88
  // fonts, navigation, spacing, shadows, transitions will all come from default theme
@@ -79,8 +101,8 @@ import { themeInheritanceManager } from '../inheritance';
79
101
 
80
102
  // This will return an empty array since inheritance fills in all missing values
81
103
  const missingProperties = themeInheritanceManager.validateCompleteness(minimalTheme);
82
- console.log('Missing properties, missingProperties); // Should be []
104
+ console.log('Missing properties:', missingProperties); // Should be []
83
105
 
84
106
  // This will return true since all properties are present
85
107
  const hasCompleteInheritance = themeInheritanceManager.hasInheritance(minimalTheme);
86
- console.log('Has complete inheritance, hasCompleteInheritance); // Should be true
108
+ console.log('Has complete inheritance:', hasCompleteInheritance); // Should be true