@shohojdhara/atomix 0.3.15 → 0.4.0

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 (245) hide show
  1. package/build-tools/index.d.ts +31 -30
  2. package/build-tools/package.json +4 -21
  3. package/dist/atomix.css +20924 -2611
  4. package/dist/atomix.css.map +1 -1
  5. package/dist/atomix.min.css +76 -2
  6. package/dist/atomix.min.css.map +1 -1
  7. package/dist/build-tools/index.d.ts +31 -30
  8. package/dist/build-tools/package.json +4 -21
  9. package/dist/charts.js.map +1 -1
  10. package/dist/core.js.map +1 -1
  11. package/dist/forms.js.map +1 -1
  12. package/dist/heavy.js.map +1 -1
  13. package/dist/index.d.ts +144 -18
  14. package/dist/index.esm.js +110 -55
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js +110 -55
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.min.js +1 -1
  19. package/dist/index.min.js.map +1 -1
  20. package/dist/layout.js.map +1 -1
  21. package/dist/theme.d.ts +9 -9
  22. package/dist/theme.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/components/Accordion/Accordion.stories.tsx +32 -23
  25. package/src/components/Accordion/Accordion.test.tsx +70 -50
  26. package/src/components/Accordion/Accordion.tsx +99 -94
  27. package/src/components/AtomixGlass/AtomixGlass.test.tsx +1 -1
  28. package/src/components/AtomixGlass/GlassFilter.tsx +9 -16
  29. package/src/components/AtomixGlass/glass-utils.ts +4 -3
  30. package/src/components/AtomixGlass/shader-utils.ts +128 -52
  31. package/src/components/AtomixGlass/stories/Playground.stories.tsx +1 -1
  32. package/src/components/AtomixGlass/stories/Shaders.stories.tsx +1 -1
  33. package/src/components/Avatar/Avatar.stories.tsx +45 -62
  34. package/src/components/Avatar/Avatar.tsx +58 -56
  35. package/src/components/Badge/Badge.stories.tsx +20 -9
  36. package/src/components/Badge/Badge.test.tsx +41 -41
  37. package/src/components/Badge/Badge.tsx +64 -62
  38. package/src/components/Block/Block.stories.tsx +14 -4
  39. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +9 -8
  40. package/src/components/Breadcrumb/Breadcrumb.tsx +62 -60
  41. package/src/components/Button/Button.stories.tsx +13 -22
  42. package/src/components/Button/Button.test.tsx +97 -81
  43. package/src/components/Button/Button.tsx +46 -14
  44. package/src/components/Button/ButtonGroup.stories.tsx +37 -32
  45. package/src/components/Button/ButtonGroup.tsx +4 -15
  46. package/src/components/Callout/Callout.stories.tsx +109 -16
  47. package/src/components/Card/Card.stories.tsx +67 -36
  48. package/src/components/Card/Card.tsx +30 -14
  49. package/src/components/Chart/AreaChart.tsx +1 -1
  50. package/src/components/Chart/CandlestickChart.tsx +23 -16
  51. package/src/components/Chart/Chart.stories.tsx +4 -9
  52. package/src/components/Chart/Chart.tsx +40 -44
  53. package/src/components/Chart/ChartRenderer.tsx +39 -12
  54. package/src/components/Chart/ChartToolbar.tsx +21 -5
  55. package/src/components/Chart/DonutChart.tsx +1 -1
  56. package/src/components/Chart/FunnelChart.tsx +4 -1
  57. package/src/components/Chart/GaugeChart.tsx +3 -1
  58. package/src/components/Chart/HeatmapChart.tsx +50 -37
  59. package/src/components/Chart/LineChart.tsx +3 -2
  60. package/src/components/Chart/MultiAxisChart.tsx +24 -16
  61. package/src/components/Chart/RadarChart.tsx +19 -17
  62. package/src/components/Chart/ScatterChart.tsx +29 -21
  63. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +6 -2
  64. package/src/components/ColorModeToggle/ColorModeToggle.tsx +15 -3
  65. package/src/components/Countdown/Countdown.stories.tsx +7 -7
  66. package/src/components/DataTable/DataTable.stories.tsx +43 -38
  67. package/src/components/DataTable/DataTable.test.tsx +26 -148
  68. package/src/components/DataTable/DataTable.tsx +485 -456
  69. package/src/components/DatePicker/DatePicker.stories.tsx +32 -47
  70. package/src/components/DatePicker/DatePicker.tsx +31 -26
  71. package/src/components/Dropdown/Dropdown.stories.tsx +2 -5
  72. package/src/components/Dropdown/Dropdown.tsx +313 -299
  73. package/src/components/EdgePanel/EdgePanel.stories.tsx +6 -19
  74. package/src/components/EdgePanel/EdgePanel.tsx +1 -3
  75. package/src/components/Footer/Footer.stories.tsx +21 -16
  76. package/src/components/Footer/Footer.tsx +130 -128
  77. package/src/components/Footer/FooterLink.tsx +2 -2
  78. package/src/components/Form/Checkbox.test.tsx +49 -49
  79. package/src/components/Form/Checkbox.tsx +108 -100
  80. package/src/components/Form/Form.stories.tsx +2 -10
  81. package/src/components/Form/Input.stories.tsx +22 -39
  82. package/src/components/Form/Input.test.tsx +38 -44
  83. package/src/components/Form/Radio.stories.tsx +6 -12
  84. package/src/components/Form/Radio.tsx +68 -66
  85. package/src/components/Form/Select.tsx +184 -182
  86. package/src/components/Form/Textarea.test.tsx +27 -32
  87. package/src/components/Hero/Hero.stories.tsx +56 -23
  88. package/src/components/Hero/Hero.tsx +201 -55
  89. package/src/components/Icon/index.ts +7 -1
  90. package/src/components/List/List.tsx +19 -23
  91. package/src/components/Modal/Modal.stories.tsx +2 -1
  92. package/src/components/Modal/Modal.tsx +130 -127
  93. package/src/components/Navigation/Menu/MegaMenu.tsx +70 -70
  94. package/src/components/Navigation/Nav/NavDropdown.tsx +1 -5
  95. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +128 -28
  96. package/src/components/Navigation/SideMenu/SideMenu.tsx +5 -7
  97. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +4 -5
  98. package/src/components/Pagination/Pagination.stories.tsx +7 -4
  99. package/src/components/Pagination/Pagination.tsx +199 -202
  100. package/src/components/PhotoViewer/PhotoViewer.tsx +4 -1
  101. package/src/components/Popover/Popover.stories.tsx +99 -192
  102. package/src/components/Popover/Popover.tsx +41 -37
  103. package/src/components/Progress/Progress.stories.tsx +35 -44
  104. package/src/components/River/River.stories.tsx +2 -1
  105. package/src/components/SectionIntro/SectionIntro.stories.tsx +71 -71
  106. package/src/components/Slider/Slider.stories.tsx +12 -4
  107. package/src/components/Spinner/Spinner.stories.tsx +3 -1
  108. package/src/components/Spinner/Spinner.test.tsx +23 -23
  109. package/src/components/Spinner/Spinner.tsx +43 -46
  110. package/src/components/Steps/Steps.stories.tsx +8 -6
  111. package/src/components/Tabs/Tabs.stories.tsx +12 -9
  112. package/src/components/Tabs/Tabs.tsx +74 -72
  113. package/src/components/Toggle/Toggle.stories.tsx +27 -13
  114. package/src/components/Toggle/Toggle.test.tsx +65 -70
  115. package/src/components/Toggle/Toggle.tsx +4 -1
  116. package/src/components/Tooltip/Tooltip.stories.tsx +24 -20
  117. package/src/components/Tooltip/Tooltip.tsx +104 -106
  118. package/src/components/Upload/Upload.stories.tsx +129 -127
  119. package/src/components/Upload/Upload.tsx +287 -283
  120. package/src/components/VideoPlayer/VideoPlayer.tsx +6 -1
  121. package/src/components/index.ts +13 -2
  122. package/src/layouts/Grid/Grid.stories.tsx +9 -3
  123. package/src/layouts/MasonryGrid/MasonryGrid.tsx +5 -1
  124. package/src/lib/__tests__/theme-tools.test.ts +32 -6
  125. package/src/lib/composables/shared-mouse-tracker.ts +13 -14
  126. package/src/lib/composables/useAtomixGlass.ts +106 -49
  127. package/src/lib/composables/useChartExport.ts +1 -1
  128. package/src/lib/composables/useDataTable.ts +29 -17
  129. package/src/lib/composables/useHero.ts +58 -14
  130. package/src/lib/composables/useHeroBackgroundSlider.ts +2 -9
  131. package/src/lib/composables/useInput.ts +10 -8
  132. package/src/lib/composables/useSideMenu.ts +6 -5
  133. package/src/lib/composables/useTooltip.ts +1 -2
  134. package/src/lib/composables/useVideoPlayer.ts +44 -35
  135. package/src/lib/config/index.ts +154 -154
  136. package/src/lib/constants/cssVariables.ts +29 -29
  137. package/src/lib/hooks/__tests__/useComponentCustomization.test.ts +2 -6
  138. package/src/lib/hooks/index.ts +1 -1
  139. package/src/lib/hooks/useComponentCustomization.ts +11 -17
  140. package/src/lib/hooks/usePerformanceMonitor.ts +6 -7
  141. package/src/lib/patterns/__tests__/slots.test.ts +1 -1
  142. package/src/lib/patterns/index.ts +1 -1
  143. package/src/lib/patterns/slots.tsx +8 -13
  144. package/src/lib/storybook/InteractiveDemo.tsx +13 -18
  145. package/src/lib/storybook/PreviewContainer.tsx +1 -1
  146. package/src/lib/storybook/VariantsGrid.tsx +3 -7
  147. package/src/lib/storybook/index.ts +1 -1
  148. package/src/lib/theme/adapters/cssVariableMapper.ts +47 -74
  149. package/src/lib/theme/adapters/index.ts +3 -9
  150. package/src/lib/theme/adapters/themeAdapter.ts +41 -26
  151. package/src/lib/theme/config/index.ts +1 -1
  152. package/src/lib/theme/config/types.ts +2 -2
  153. package/src/lib/theme/config/validator.ts +10 -5
  154. package/src/lib/theme/constants/constants.ts +2 -2
  155. package/src/lib/theme/constants/index.ts +1 -2
  156. package/src/lib/theme/core/__tests__/createTheme.test.ts +20 -22
  157. package/src/lib/theme/core/composeTheme.ts +32 -26
  158. package/src/lib/theme/core/createTheme.ts +1 -1
  159. package/src/lib/theme/core/createThemeObject.ts +308 -301
  160. package/src/lib/theme/core/index.ts +3 -3
  161. package/src/lib/theme/devtools/CLI.ts +106 -104
  162. package/src/lib/theme/devtools/Comparator.tsx +50 -32
  163. package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +50 -48
  164. package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +257 -63
  165. package/src/lib/theme/devtools/Inspector.tsx +75 -60
  166. package/src/lib/theme/devtools/LiveEditor.tsx +97 -76
  167. package/src/lib/theme/devtools/Preview.tsx +150 -106
  168. package/src/lib/theme/devtools/ThemeValidator.ts +29 -21
  169. package/src/lib/theme/devtools/index.ts +3 -9
  170. package/src/lib/theme/devtools/useHistory.ts +23 -21
  171. package/src/lib/theme/errors/errors.ts +12 -11
  172. package/src/lib/theme/errors/index.ts +2 -7
  173. package/src/lib/theme/generators/generateCSS.ts +9 -13
  174. package/src/lib/theme/generators/generateCSSNested.ts +1 -6
  175. package/src/lib/theme/generators/generateCSSVariables.ts +673 -630
  176. package/src/lib/theme/generators/index.ts +1 -4
  177. package/src/lib/theme/i18n/index.ts +1 -1
  178. package/src/lib/theme/i18n/rtl.ts +13 -13
  179. package/src/lib/theme/index.ts +7 -16
  180. package/src/lib/theme/runtime/ThemeApplicator.ts +4 -4
  181. package/src/lib/theme/runtime/ThemeContext.tsx +1 -1
  182. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +19 -23
  183. package/src/lib/theme/runtime/ThemeProvider.tsx +230 -239
  184. package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +1 -1
  185. package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +24 -29
  186. package/src/lib/theme/runtime/index.ts +2 -5
  187. package/src/lib/theme/runtime/useTheme.ts +18 -18
  188. package/src/lib/theme/runtime/useThemeTokens.ts +22 -22
  189. package/src/lib/theme/test/testTheme.ts +15 -16
  190. package/src/lib/theme/tokens/index.ts +2 -7
  191. package/src/lib/theme/tokens/tokens.ts +25 -24
  192. package/src/lib/theme/types.ts +428 -411
  193. package/src/lib/theme/utils/__tests__/themeValidation.test.ts +3 -3
  194. package/src/lib/theme/utils/componentTheming.ts +18 -18
  195. package/src/lib/theme/utils/domUtils.ts +277 -289
  196. package/src/lib/theme/utils/index.ts +1 -2
  197. package/src/lib/theme/utils/injectCSS.ts +10 -14
  198. package/src/lib/theme/utils/naming.ts +20 -16
  199. package/src/lib/theme/utils/themeHelpers.ts +10 -12
  200. package/src/lib/theme/utils/themeUtils.ts +85 -86
  201. package/src/lib/theme/utils/themeValidation.ts +82 -33
  202. package/src/lib/theme-tools.ts +8 -6
  203. package/src/lib/types/components.ts +172 -71
  204. package/src/lib/types/partProps.ts +1 -1
  205. package/src/lib/utils/__tests__/csv.test.ts +1 -1
  206. package/src/lib/utils/componentUtils.ts +8 -12
  207. package/src/lib/utils/csv.ts +3 -1
  208. package/src/lib/utils/dataTableExport.ts +1 -5
  209. package/src/lib/utils/fontPreloader.ts +10 -19
  210. package/src/lib/utils/icons.ts +4 -1
  211. package/src/lib/utils/index.ts +2 -6
  212. package/src/lib/utils/memoryMonitor.ts +10 -8
  213. package/src/lib/utils/themeNaming.ts +2 -2
  214. package/src/styles/01-settings/_index.scss +0 -1
  215. package/src/styles/01-settings/_settings.colors.scss +8 -8
  216. package/src/styles/01-settings/_settings.design-tokens.scss +61 -50
  217. package/src/styles/01-settings/_settings.navbar.scss +1 -1
  218. package/src/styles/01-settings/_settings.spacing.scss +3 -4
  219. package/src/styles/01-settings/_settings.tooltip.scss +1 -1
  220. package/src/styles/01-settings/_settings.typography.scss +1 -1
  221. package/src/styles/02-tools/_tools.button.scss +51 -21
  222. package/src/styles/02-tools/_tools.utility-api.scss +30 -18
  223. package/src/styles/03-generic/_generic.root.scss +4 -3
  224. package/src/styles/06-components/_components.atomix-glass.scss +13 -9
  225. package/src/styles/06-components/_components.button.scss +16 -4
  226. package/src/styles/06-components/_components.callout.scss +27 -21
  227. package/src/styles/06-components/_components.card.scss +5 -14
  228. package/src/styles/06-components/_components.chart.scss +22 -19
  229. package/src/styles/06-components/_components.checkbox.scss +3 -1
  230. package/src/styles/06-components/_components.color-mode-toggle.scss +3 -1
  231. package/src/styles/06-components/_components.edge-panel.scss +9 -2
  232. package/src/styles/06-components/_components.footer.scss +1 -1
  233. package/src/styles/06-components/_components.side-menu.scss +5 -5
  234. package/src/styles/06-components/_components.toggle.scss +18 -0
  235. package/src/styles/06-components/_index.scss +1 -1
  236. package/src/styles/06-components/old.chart.styles.scss +0 -2
  237. package/src/styles/99-utilities/_utilities.border.scss +69 -27
  238. package/src/styles/99-utilities/_utilities.display.scss +1 -1
  239. package/src/styles/99-utilities/_utilities.opacity.scss +10 -0
  240. package/src/styles/99-utilities/_utilities.position.scss +16 -9
  241. package/src/styles/99-utilities/_utilities.scss +1 -1
  242. package/src/styles/99-utilities/_utilities.sizes.scss +47 -18
  243. package/src/styles/99-utilities/_utilities.spacing.scss +118 -66
  244. package/src/styles/99-utilities/_utilities.text-gradient.scss +30 -30
  245. package/src/styles/99-utilities/_utilities.text.scss +67 -46
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * CSS Generators
3
- *
3
+ *
4
4
  * Generators for creating CSS from themes and tokens
5
5
  */
6
6
 
@@ -17,6 +17,3 @@ export {
17
17
  } from './generateCSSNested';
18
18
 
19
19
  export { generateCSSVariables as generateCSSVariablesFromTheme } from './generateCSSVariables';
20
-
21
-
22
-
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Internationalization (i18n) Module
3
- *
3
+ *
4
4
  * Provides internationalization utilities for the theme system
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * RTL (Right-to-Left) Support Utilities
3
- *
3
+ *
4
4
  * Provides utilities for managing RTL text direction in themes
5
5
  */
6
6
 
@@ -39,7 +39,6 @@ const RTL_LOCALES = new Set([
39
39
  'sd', // Sindhi
40
40
  ]);
41
41
 
42
-
43
42
  /**
44
43
  * Default RTL configuration (extends base config with locale)
45
44
  */
@@ -50,7 +49,7 @@ const DEFAULT_RTL_CONFIG: Required<Omit<RTLConfig, 'locale'>> & { locale?: strin
50
49
 
51
50
  /**
52
51
  * RTL Manager
53
- *
52
+ *
54
53
  * Manages RTL text direction for the theme system
55
54
  */
56
55
  export class RTLManager {
@@ -91,7 +90,8 @@ export class RTLManager {
91
90
  }
92
91
 
93
92
  // Try navigator.language first
94
- const lang: string = navigator.language || (navigator.languages && navigator.languages[0]) || 'en';
93
+ const lang: string =
94
+ navigator.language || (navigator.languages && navigator.languages[0]) || 'en';
95
95
  const langParts = String(lang).split('-');
96
96
  return langParts[0] ? langParts[0].toLowerCase() : 'en';
97
97
  }
@@ -168,7 +168,7 @@ export class RTLManager {
168
168
  */
169
169
  setLocale(locale: string): void {
170
170
  this.config.locale = locale.toLowerCase();
171
-
171
+
172
172
  if (this.config.autoDetect) {
173
173
  const isRTL = this.isRTLLocale(locale);
174
174
  this.setDirection(isRTL ? 'rtl' : 'ltr');
@@ -213,7 +213,7 @@ export class RTLManager {
213
213
  */
214
214
  onDirectionChange(callback: (direction: 'ltr' | 'rtl') => void): () => void {
215
215
  this.listeners.add(callback);
216
-
216
+
217
217
  // Return unsubscribe function
218
218
  return () => {
219
219
  this.listeners.delete(callback);
@@ -240,7 +240,7 @@ export class RTLManager {
240
240
 
241
241
  /**
242
242
  * Get RTL-aware value
243
- *
243
+ *
244
244
  * Returns different values based on direction
245
245
  */
246
246
  getValue<T>(ltrValue: T, rtlValue: T): T {
@@ -249,15 +249,15 @@ export class RTLManager {
249
249
 
250
250
  /**
251
251
  * Get RTL-aware CSS property
252
- *
252
+ *
253
253
  * Returns appropriate CSS property based on direction
254
254
  */
255
255
  getCSSProperty(property: string): string {
256
256
  if (this.config.direction === 'rtl') {
257
257
  // Map common LTR properties to RTL equivalents
258
258
  const rtlMap: Record<string, string> = {
259
- 'left': 'right',
260
- 'right': 'left',
259
+ left: 'right',
260
+ right: 'left',
261
261
  'margin-left': 'margin-right',
262
262
  'margin-right': 'margin-left',
263
263
  'padding-left': 'padding-right',
@@ -281,11 +281,11 @@ export class RTLManager {
281
281
  */
282
282
  destroy(): void {
283
283
  this.listeners.clear();
284
-
284
+
285
285
  if (typeof document !== 'undefined') {
286
286
  const html = document.documentElement;
287
287
  const body = document.body;
288
-
288
+
289
289
  html.removeAttribute('dir');
290
290
  html.removeAttribute(this.config.dataAttribute);
291
291
  body?.removeAttribute('dir');
@@ -317,7 +317,7 @@ export function getDirectionFromLocale(locale: string): 'ltr' | 'rtl' {
317
317
 
318
318
  /**
319
319
  * RTL-aware CSS helper
320
- *
320
+ *
321
321
  * Returns appropriate CSS based on direction
322
322
  */
323
323
  export function rtlCSS(ltrCSS: string, rtlCSS: string, direction: 'ltr' | 'rtl' = 'ltr'): string {
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * Theme System Exports
3
- *
3
+ *
4
4
  * Simplified theme system using DesignTokens only.
5
- *
5
+ *
6
6
  * @example
7
7
  * ```typescript
8
8
  * import { createTheme, injectTheme } from '@shohojdhara/atomix/theme';
9
- *
9
+ *
10
10
  * // Using DesignTokens
11
11
  * const css = createTheme({ 'primary': '#7AFFD7', 'spacing-4': '1rem' });
12
12
  * injectTheme(css);
13
- *
13
+ *
14
14
  * // Or use with ThemeProvider
15
15
  * import { ThemeProvider } from '@shohojdhara/atomix/theme';
16
16
  * const tokens = { 'primary': '#7c3aed' };
@@ -62,8 +62,6 @@ export function removeTheme(id: string = 'atomix-theme'): void {
62
62
  removeCSS(id);
63
63
  }
64
64
 
65
-
66
-
67
65
  // ============================================================================
68
66
  // Token Utilities
69
67
  // ============================================================================
@@ -107,7 +105,6 @@ export {
107
105
 
108
106
  export { injectCSS, removeCSS, isCSSInjected } from './utils/injectCSS';
109
107
 
110
-
111
108
  // Config loader removed to prevent bundling Node.js modules in browser
112
109
 
113
110
  // ============================================================================
@@ -131,9 +128,7 @@ export * from './devtools';
131
128
  export { designTokensToCSSVars } from './adapters';
132
129
 
133
130
  // Theme helpers (utilities for working with DesignTokens)
134
- export {
135
- isDesignTokens,
136
- } from './utils/themeHelpers';
131
+ export { isDesignTokens } from './utils/themeHelpers';
137
132
 
138
133
  // CSS variable utilities
139
134
  export {
@@ -150,7 +145,6 @@ export {
150
145
  // RTL Support
151
146
  export { RTLManager } from './i18n/rtl';
152
147
 
153
-
154
148
  // Types
155
149
  export type {
156
150
  ThemeChangeEvent,
@@ -169,9 +163,6 @@ export type { Theme } from './types';
169
163
 
170
164
  export type { ThemeErrorBoundaryProps } from './runtime/ThemeErrorBoundary';
171
165
 
172
- export type {
173
- CSSVariableConfig,
174
- CSSVariableNamingOptions,
175
- } from './adapters/cssVariableMapper';
166
+ export type { CSSVariableConfig, CSSVariableNamingOptions } from './adapters/cssVariableMapper';
176
167
 
177
- export type { RTLConfig } from './i18n/rtl';
168
+ export type { RTLConfig } from './i18n/rtl';
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Theme Applicator
3
- *
3
+ *
4
4
  * Applies theme configurations to the DOM, including CSS variables,
5
5
  * component overrides, typography, spacing, and color palettes.
6
- *
6
+ *
7
7
  * Uses the unified theme system for CSS generation and injection.
8
8
  */
9
9
 
@@ -13,7 +13,7 @@ import { injectCSS, removeCSS } from '../utils/injectCSS';
13
13
 
14
14
  /**
15
15
  * Theme applicator class for runtime theme application
16
- *
16
+ *
17
17
  * Uses the unified theme system for efficient CSS variable generation and injection.
18
18
  */
19
19
  export class ThemeApplicator {
@@ -26,7 +26,7 @@ export class ThemeApplicator {
26
26
 
27
27
  /**
28
28
  * Apply a complete theme configuration using DesignTokens
29
- *
29
+ *
30
30
  * Uses the unified theme system to generate and inject CSS.
31
31
  * Automatically respects atomix.config.ts when using DesignTokens.
32
32
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Theme Context
3
- *
3
+ *
4
4
  * React context for theme management
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Theme Error Boundary
3
- *
3
+ *
4
4
  * React error boundary for catching and handling theme-related errors.
5
5
  * Prevents the entire app from crashing when theme errors occur.
6
6
  */
@@ -39,7 +39,10 @@ export interface ThemeErrorBoundaryProps {
39
39
  /**
40
40
  * Default fallback UI
41
41
  */
42
- const DefaultFallback: React.FC<{ error: Error; errorInfo: ErrorInfo }> = ({ error, errorInfo }) => {
42
+ const DefaultFallback: React.FC<{ error: Error; errorInfo: ErrorInfo }> = ({
43
+ error,
44
+ errorInfo,
45
+ }) => {
43
46
  const isThemeError = error instanceof ThemeError;
44
47
  const errorCode = isThemeError ? error.code : ThemeErrorCode.UNKNOWN_ERROR;
45
48
  const context = isThemeError ? error.context : undefined;
@@ -67,9 +70,7 @@ const DefaultFallback: React.FC<{ error: Error; errorInfo: ErrorInfo }> = ({ err
67
70
  )}
68
71
  {context && Object.keys(context).length > 0 && (
69
72
  <details style={{ marginTop: '1rem' }}>
70
- <summary style={{ cursor: 'pointer', fontWeight: 'bold' }}>
71
- Error Context
72
- </summary>
73
+ <summary style={{ cursor: 'pointer', fontWeight: 'bold' }}>Error Context</summary>
73
74
  <pre
74
75
  style={{
75
76
  marginTop: '0.5rem',
@@ -122,7 +123,7 @@ const DefaultFallback: React.FC<{ error: Error; errorInfo: ErrorInfo }> = ({ err
122
123
 
123
124
  /**
124
125
  * Theme Error Boundary Component
125
- *
126
+ *
126
127
  * Catches errors in the theme system and displays a fallback UI
127
128
  * instead of crashing the entire application.
128
129
  */
@@ -150,22 +151,17 @@ export class ThemeErrorBoundary extends Component<
150
151
 
151
152
  override componentDidCatch(error: Error, errorInfo: ErrorInfo): void {
152
153
  // Log error
153
- const themeError = error instanceof ThemeError
154
- ? error
155
- : new ThemeError(
156
- error.message,
157
- ThemeErrorCode.UNKNOWN_ERROR,
158
- { componentStack: errorInfo.componentStack }
159
- );
160
-
161
- this.logger.error(
162
- 'Theme error boundary caught an error',
163
- themeError,
164
- {
165
- componentStack: errorInfo.componentStack,
166
- errorBoundary: 'ThemeErrorBoundary',
167
- }
168
- );
154
+ const themeError =
155
+ error instanceof ThemeError
156
+ ? error
157
+ : new ThemeError(error.message, ThemeErrorCode.UNKNOWN_ERROR, {
158
+ componentStack: errorInfo.componentStack,
159
+ });
160
+
161
+ this.logger.error('Theme error boundary caught an error', themeError, {
162
+ componentStack: errorInfo.componentStack,
163
+ errorBoundary: 'ThemeErrorBoundary',
164
+ });
169
165
 
170
166
  // Update state with error info
171
167
  this.setState({
@@ -219,7 +215,7 @@ export class ThemeErrorBoundary extends Component<
219
215
 
220
216
  /**
221
217
  * Hook to reset error boundary
222
- *
218
+ *
223
219
  * @param reset - Function to reset the error boundary
224
220
  */
225
221
  export function useThemeErrorReset(): () => void {