@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.2.8 → 0.2.10

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 (304) 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 +23 -1
  89. package/dist/components/ui/navigation/index.js +23 -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 +22 -2
  109. package/dist/components/ui/overlay/index.js +22 -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 +289 -280
  223. package/dist/index.js +289 -280
  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/inheritance.esm.js +35 -27
  256. package/dist/themes/inheritance.js +35 -27
  257. package/dist/themes/keyboard-navigation.esm.js +152 -123
  258. package/dist/themes/keyboard-navigation.js +152 -123
  259. package/dist/themes/motion-reduction.esm.js +193 -133
  260. package/dist/themes/motion-reduction.js +193 -133
  261. package/dist/themes/navigation.esm.js +146 -146
  262. package/dist/themes/navigation.js +146 -146
  263. package/dist/themes/screen-reader.esm.js +159 -94
  264. package/dist/themes/screen-reader.js +159 -94
  265. package/dist/themes/systemThemeDetector.esm.js +42 -34
  266. package/dist/themes/systemThemeDetector.js +42 -34
  267. package/dist/themes/themeCSSUpdater.esm.js +21 -9
  268. package/dist/themes/themeCSSUpdater.js +21 -9
  269. package/dist/themes/themePersistence.esm.js +68 -47
  270. package/dist/themes/themePersistence.js +68 -47
  271. package/dist/themes/themes/stan-design.esm.js +633 -468
  272. package/dist/themes/themes/stan-design.js +633 -468
  273. package/dist/themes/types.esm.js +301 -287
  274. package/dist/themes/types.js +301 -287
  275. package/dist/themes/useSystemTheme.esm.js +4 -4
  276. package/dist/themes/useSystemTheme.js +4 -4
  277. package/dist/themes/useTheme.esm.js +4 -4
  278. package/dist/themes/useTheme.js +4 -4
  279. package/dist/themes/validation.esm.js +128 -77
  280. package/dist/themes/validation.js +128 -77
  281. package/dist/tokens/index.esm.js +15 -4
  282. package/dist/tokens/index.js +15 -4
  283. package/dist/tokens/tokenExporter.esm.js +87 -61
  284. package/dist/tokens/tokenExporter.js +87 -61
  285. package/dist/tokens/tokenGenerator.esm.js +86 -77
  286. package/dist/tokens/tokenGenerator.js +86 -77
  287. package/dist/tokens/tokenManager.esm.js +64 -51
  288. package/dist/tokens/tokenManager.js +64 -51
  289. package/dist/tokens/tokenValidator.esm.js +193 -147
  290. package/dist/tokens/tokenValidator.js +193 -147
  291. package/dist/tokens/types.esm.js +49 -35
  292. package/dist/tokens/types.js +49 -35
  293. package/dist/utils/bundle-analyzer.esm.js +83 -65
  294. package/dist/utils/bundle-analyzer.js +83 -65
  295. package/dist/utils/bundle-splitting.esm.js +142 -117
  296. package/dist/utils/bundle-splitting.js +142 -117
  297. package/dist/utils/lazy-loading.esm.js +132 -106
  298. package/dist/utils/lazy-loading.js +132 -106
  299. package/dist/utils/performance-monitor.esm.js +170 -129
  300. package/dist/utils/performance-monitor.js +170 -129
  301. package/dist/utils/tree-shaking.esm.js +69 -61
  302. package/dist/utils/tree-shaking.js +69 -61
  303. package/package.json +1 -1
  304. 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