@shohojdhara/atomix 0.3.13 → 0.3.15

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 (249) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +2 -0
  3. package/build-tools/EXAMPLES.md +372 -0
  4. package/build-tools/README.md +242 -0
  5. package/build-tools/__tests__/error-handler.test.js +230 -0
  6. package/build-tools/__tests__/index.test.js +141 -0
  7. package/build-tools/__tests__/rollup-plugin.test.js +194 -0
  8. package/build-tools/__tests__/utils.test.js +161 -0
  9. package/build-tools/__tests__/vite-plugin.test.js +129 -0
  10. package/build-tools/__tests__/webpack-loader.test.js +190 -0
  11. package/build-tools/error-handler.js +308 -0
  12. package/build-tools/index.d.ts +43 -0
  13. package/build-tools/index.js +88 -0
  14. package/build-tools/package.json +67 -0
  15. package/build-tools/rollup-plugin.js +236 -0
  16. package/build-tools/types.d.ts +163 -0
  17. package/build-tools/utils.js +203 -0
  18. package/build-tools/vite-plugin.js +161 -0
  19. package/build-tools/webpack-loader.js +123 -0
  20. package/dist/atomix.css +298 -167
  21. package/dist/atomix.css.map +1 -1
  22. package/dist/atomix.min.css +3 -3
  23. package/dist/atomix.min.css.map +1 -1
  24. package/dist/build-tools/EXAMPLES.md +372 -0
  25. package/dist/build-tools/README.md +242 -0
  26. package/dist/build-tools/__tests__/error-handler.test.js +230 -0
  27. package/dist/build-tools/__tests__/index.test.js +141 -0
  28. package/dist/build-tools/__tests__/rollup-plugin.test.js +194 -0
  29. package/dist/build-tools/__tests__/utils.test.js +161 -0
  30. package/dist/build-tools/__tests__/vite-plugin.test.js +129 -0
  31. package/dist/build-tools/__tests__/webpack-loader.test.js +190 -0
  32. package/dist/build-tools/error-handler.js +308 -0
  33. package/dist/build-tools/index.d.ts +43 -0
  34. package/dist/build-tools/index.js +88 -0
  35. package/dist/build-tools/package.json +67 -0
  36. package/dist/build-tools/rollup-plugin.js +236 -0
  37. package/dist/build-tools/types.d.ts +163 -0
  38. package/dist/build-tools/utils.js +203 -0
  39. package/dist/build-tools/vite-plugin.js +161 -0
  40. package/dist/build-tools/webpack-loader.js +123 -0
  41. package/dist/charts.d.ts +2 -2
  42. package/dist/charts.js +87 -58
  43. package/dist/charts.js.map +1 -1
  44. package/dist/core.d.ts +42 -12
  45. package/dist/core.js +175 -135
  46. package/dist/core.js.map +1 -1
  47. package/dist/forms.d.ts +30 -16
  48. package/dist/forms.js +146 -131
  49. package/dist/forms.js.map +1 -1
  50. package/dist/heavy.d.ts +2 -2
  51. package/dist/heavy.js +151 -118
  52. package/dist/heavy.js.map +1 -1
  53. package/dist/index.d.ts +130 -106
  54. package/dist/index.esm.js +1083 -465
  55. package/dist/index.esm.js.map +1 -1
  56. package/dist/index.js +1102 -483
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.min.js +1 -1
  59. package/dist/index.min.js.map +1 -1
  60. package/dist/theme.d.ts +27 -2
  61. package/dist/theme.js +721 -108
  62. package/dist/theme.js.map +1 -1
  63. package/package.json +23 -8
  64. package/scripts/atomix-cli.js +749 -1153
  65. package/scripts/cli/__tests__/README.md +81 -0
  66. package/scripts/cli/__tests__/basic.test.js +115 -0
  67. package/scripts/cli/__tests__/component-generator.test.js +332 -0
  68. package/scripts/cli/__tests__/integration.test.js +327 -0
  69. package/scripts/cli/__tests__/test-setup.js +133 -0
  70. package/scripts/cli/__tests__/token-manager.test.js +251 -0
  71. package/scripts/cli/__tests__/utils.test.js +78 -118
  72. package/scripts/cli/component-generator.js +564 -0
  73. package/scripts/cli/dependency-checker.js +355 -0
  74. package/scripts/cli/documentation-sync.js +542 -0
  75. package/scripts/cli/interactive-init.js +129 -292
  76. package/scripts/cli/mappings.js +211 -0
  77. package/scripts/cli/migration-tools.js +95 -288
  78. package/scripts/cli/template-manager.js +105 -0
  79. package/scripts/cli/templates/README.md +123 -0
  80. package/scripts/cli/templates/common-templates.js +636 -0
  81. package/scripts/cli/templates/composable-templates.js +171 -0
  82. package/scripts/cli/templates/config-templates.js +126 -0
  83. package/scripts/cli/templates/index.js +102 -0
  84. package/scripts/cli/templates/project-templates.js +342 -0
  85. package/scripts/cli/templates/react-templates.js +331 -0
  86. package/scripts/cli/templates/scss-templates.js +155 -0
  87. package/scripts/cli/templates/storybook-templates.js +236 -0
  88. package/scripts/cli/templates/testing-templates.js +224 -0
  89. package/scripts/cli/templates/testing-utils.js +278 -0
  90. package/scripts/cli/templates/token-templates.js +447 -0
  91. package/scripts/cli/templates/types-templates.js +147 -0
  92. package/scripts/cli/templates.js +35 -0
  93. package/scripts/cli/theme-bridge.js +28 -16
  94. package/scripts/cli/token-manager.js +432 -247
  95. package/scripts/cli/utils.js +37 -26
  96. package/src/components/Accordion/Accordion.stories.tsx +369 -870
  97. package/src/components/Accordion/Accordion.test.tsx +57 -0
  98. package/src/components/Accordion/Accordion.tsx +4 -0
  99. package/src/components/AtomixGlass/AtomixGlass.tsx +80 -39
  100. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +103 -81
  101. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +8 -7
  102. package/src/components/AtomixGlass/glass-utils.ts +2 -2
  103. package/src/components/AtomixGlass/shader-utils.ts +5 -0
  104. package/src/components/AtomixGlass/stories/Customization.stories.tsx +131 -0
  105. package/src/components/AtomixGlass/stories/Examples.stories.tsx +2965 -2861
  106. package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -1
  107. package/src/components/AtomixGlass/stories/Overview.stories.tsx +348 -0
  108. package/src/components/AtomixGlass/stories/Performance.stories.tsx +103 -0
  109. package/src/components/AtomixGlass/stories/Playground.stories.tsx +73 -59
  110. package/src/components/AtomixGlass/stories/{ShaderVariants.stories.tsx → Shaders.stories.tsx} +1 -1
  111. package/src/components/AtomixGlass/stories/shared-components.tsx +90 -190
  112. package/src/components/Avatar/Avatar.stories.tsx +239 -27
  113. package/src/components/Badge/Badge.stories.tsx +132 -373
  114. package/src/components/Badge/Badge.test.tsx +51 -0
  115. package/src/components/Badge/Badge.tsx +20 -1
  116. package/src/components/Block/Block.stories.tsx +26 -17
  117. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +141 -23
  118. package/src/components/Breadcrumb/Breadcrumb.tsx +2 -2
  119. package/src/components/Button/Button.stories.tsx +463 -1126
  120. package/src/components/Button/Button.test.tsx +107 -0
  121. package/src/components/Button/Button.tsx +50 -54
  122. package/src/components/Button/ButtonGroup.stories.tsx +373 -217
  123. package/src/components/Button/README.md +5 -0
  124. package/src/components/Callout/Callout.stories.tsx +299 -644
  125. package/src/components/Callout/Callout.test.tsx +10 -10
  126. package/src/components/Callout/Callout.tsx +7 -7
  127. package/src/components/Callout/README.md +9 -8
  128. package/src/components/Card/Card.stories.tsx +248 -68
  129. package/src/components/Card/Card.tsx +2 -2
  130. package/src/components/Chart/Chart.stories.tsx +156 -14
  131. package/src/components/Chart/Chart.tsx +1 -1
  132. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +151 -69
  133. package/src/components/Countdown/Countdown.stories.tsx +115 -8
  134. package/src/components/DataTable/DataTable.stories.tsx +346 -146
  135. package/src/components/DataTable/DataTable.tsx +14 -12
  136. package/src/components/DatePicker/DatePicker.stories.tsx +325 -1066
  137. package/src/components/Dropdown/Dropdown.stories.tsx +157 -37
  138. package/src/components/EdgePanel/EdgePanel.stories.tsx +230 -21
  139. package/src/components/Footer/Footer.stories.tsx +392 -328
  140. package/src/components/Form/Checkbox.stories.tsx +143 -9
  141. package/src/components/Form/Checkbox.test.tsx +63 -0
  142. package/src/components/Form/Checkbox.tsx +90 -52
  143. package/src/components/Form/Form.stories.tsx +121 -22
  144. package/src/components/Form/FormGroup.stories.tsx +128 -5
  145. package/src/components/Form/Input.stories.tsx +28 -16
  146. package/src/components/Form/Input.test.tsx +59 -0
  147. package/src/components/Form/Input.tsx +97 -95
  148. package/src/components/Form/Radio.stories.tsx +232 -97
  149. package/src/components/Form/Radio.tsx +2 -2
  150. package/src/components/Form/Select.stories.tsx +144 -12
  151. package/src/components/Form/Select.tsx +2 -2
  152. package/src/components/Form/Textarea.stories.tsx +171 -13
  153. package/src/components/Form/Textarea.test.tsx +45 -0
  154. package/src/components/Form/Textarea.tsx +88 -86
  155. package/src/components/Hero/Hero.stories.tsx +333 -32
  156. package/src/components/List/List.stories.tsx +143 -5
  157. package/src/components/Modal/Modal.stories.tsx +185 -46
  158. package/src/components/Navigation/Navbar/Navbar.stories.tsx +5 -5
  159. package/src/components/Navigation/Navbar/Navbar.tsx +1 -1
  160. package/src/components/Navigation/README.md +1 -1
  161. package/src/components/Pagination/Pagination.stories.tsx +5 -2
  162. package/src/components/Pagination/Pagination.tsx +1 -1
  163. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +10 -10
  164. package/src/components/Popover/Popover.stories.tsx +449 -99
  165. package/src/components/ProductReview/ProductReview.tsx +1 -1
  166. package/src/components/Progress/Progress.stories.tsx +167 -5
  167. package/src/components/Progress/Progress.tsx +46 -46
  168. package/src/components/Rating/Rating.stories.tsx +4 -4
  169. package/src/components/Rating/Rating.tsx +8 -8
  170. package/src/components/River/River.stories.tsx +1 -1
  171. package/src/components/SectionIntro/SectionIntro.stories.tsx +240 -48
  172. package/src/components/Slider/Slider.stories.tsx +63 -63
  173. package/src/components/Spinner/Spinner.stories.tsx +104 -10
  174. package/src/components/Spinner/Spinner.test.tsx +35 -0
  175. package/src/components/Spinner/Spinner.tsx +9 -2
  176. package/src/components/Steps/Steps.stories.tsx +172 -43
  177. package/src/components/Tabs/Tabs.stories.tsx +136 -10
  178. package/src/components/Testimonial/Testimonial.stories.tsx +121 -4
  179. package/src/components/Todo/Todo.stories.tsx +198 -9
  180. package/src/components/Toggle/Toggle.stories.tsx +153 -43
  181. package/src/components/Toggle/Toggle.test.tsx +91 -0
  182. package/src/components/Toggle/Toggle.tsx +44 -27
  183. package/src/components/Tooltip/Tooltip.stories.tsx +194 -104
  184. package/src/components/Tooltip/Tooltip.tsx +1 -1
  185. package/src/components/Upload/Upload.stories.tsx +113 -24
  186. package/src/layouts/Grid/Grid.stories.tsx +49 -49
  187. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +2 -2
  188. package/src/lib/README.md +2 -2
  189. package/src/lib/__tests__/theme-tools.test.ts +193 -0
  190. package/src/lib/composables/index.ts +2 -2
  191. package/src/lib/composables/useAccordion.ts +12 -3
  192. package/src/lib/composables/useAtomixGlass.ts +28 -56
  193. package/src/lib/composables/useBreadcrumb.ts +2 -2
  194. package/src/lib/composables/useCallout.ts +7 -7
  195. package/src/lib/composables/useChartExport.ts +2 -7
  196. package/src/lib/composables/useDataTable.ts +46 -29
  197. package/src/lib/composables/useNavbar.ts +1 -1
  198. package/src/lib/constants/components.ts +10 -33
  199. package/src/lib/storybook/InteractiveDemo.tsx +113 -0
  200. package/src/lib/storybook/PreviewContainer.tsx +36 -0
  201. package/src/lib/storybook/VariantsGrid.tsx +21 -0
  202. package/src/lib/storybook/index.ts +3 -0
  203. package/src/lib/theme/core/createThemeObject.ts +9 -5
  204. package/src/lib/theme/devtools/CLI.ts +155 -0
  205. package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +213 -0
  206. package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +566 -0
  207. package/src/lib/theme/devtools/LiveEditor.tsx +2 -1
  208. package/src/lib/theme/devtools/index.ts +3 -0
  209. package/src/lib/theme/errors/errors.ts +8 -0
  210. package/src/lib/theme/runtime/ThemeProvider.tsx +117 -57
  211. package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +305 -0
  212. package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +588 -0
  213. package/src/lib/theme/utils/__tests__/themeValidation.test.ts +264 -0
  214. package/src/lib/theme/utils/index.ts +1 -0
  215. package/src/lib/theme/utils/themeValidation.ts +501 -0
  216. package/src/lib/theme-tools.ts +32 -3
  217. package/src/lib/types/components.ts +82 -27
  218. package/src/lib/utils/__tests__/csv.test.ts +45 -0
  219. package/src/lib/utils/csv.ts +17 -0
  220. package/src/lib/utils/dataTableExport.ts +1 -10
  221. package/src/lib/utils/themeNaming.ts +1 -1
  222. package/src/styles/01-settings/_index.scss +2 -1
  223. package/src/styles/01-settings/_settings.accordion.scss +28 -7
  224. package/src/styles/01-settings/_settings.colors.scss +11 -11
  225. package/src/styles/01-settings/_settings.typography.scss +5 -5
  226. package/src/styles/02-tools/_tools.utility-api.scss +14 -0
  227. package/src/styles/06-components/_components.accordion.scss +56 -14
  228. package/src/styles/06-components/_components.callout.scss +29 -33
  229. package/src/styles/06-components/_components.checkbox.scss +23 -17
  230. package/src/styles/06-components/_index.scss +1 -1
  231. package/src/styles/99-utilities/_index.scss +2 -0
  232. package/src/styles/99-utilities/_utilities.display.scss +14 -3
  233. package/src/styles/99-utilities/_utilities.flex.scss +10 -10
  234. package/src/styles/99-utilities/_utilities.scss +3 -1
  235. package/src/styles/99-utilities/_utilities.text-gradient.scss +45 -0
  236. package/src/styles/99-utilities/_utilities.text.scss +28 -8
  237. package/themes/dark-complementary/README.md +98 -0
  238. package/themes/dark-complementary/index.scss +158 -0
  239. package/themes/default-light/README.md +81 -0
  240. package/themes/default-light/index.scss +154 -0
  241. package/themes/high-contrast/README.md +105 -0
  242. package/themes/high-contrast/index.scss +172 -0
  243. package/themes/test-theme/README.md +38 -0
  244. package/themes/test-theme/index.scss +47 -0
  245. package/scripts/cli/__tests__/cli-commands.test.js +0 -204
  246. package/scripts/cli/__tests__/vitest.config.js +0 -26
  247. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +0 -1438
  248. package/src/lib/composables/useButton.ts +0 -93
  249. package/src/lib/composables/useCheckbox.ts +0 -70
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Template Manager CLI
5
+ * Helper utility for managing Atomix CLI templates
6
+ */
7
+
8
+ import templates from './templates/index.js';
9
+
10
+ const commands = {
11
+ list: () => {
12
+ console.log('\n📦 Available Templates:\n');
13
+
14
+ console.log('React Component Templates:');
15
+ Object.keys(templates.componentTemplates.react).forEach(name => {
16
+ console.log(` • ${name}`);
17
+ });
18
+
19
+ console.log('\nComposable Templates:');
20
+ Object.keys(templates.componentTemplates.composable).forEach(name => {
21
+ console.log(` • ${name}`);
22
+ });
23
+
24
+ console.log('\nToken Generators:');
25
+ Object.keys(templates).filter(k => k.startsWith('generate')).forEach(name => {
26
+ console.log(` • ${name}`);
27
+ });
28
+
29
+ console.log('\nProject Templates:');
30
+ Object.keys(templates.projectTemplates).forEach(name => {
31
+ console.log(` • ${name}`);
32
+ });
33
+
34
+ console.log('\nConfig Templates:');
35
+ Object.keys(templates.configTemplates).forEach(name => {
36
+ console.log(` • ${name}`);
37
+ });
38
+ console.log();
39
+ },
40
+
41
+ validate: () => {
42
+ console.log('\n🔍 Validating Templates...\n');
43
+
44
+ let errors = 0;
45
+
46
+ // Test React templates
47
+ try {
48
+ const testReact = templates.componentTemplates.react.simple('TestComponent');
49
+ if (!testReact.includes('export const TestComponent')) {
50
+ console.log('❌ React simple template failed');
51
+ errors++;
52
+ } else {
53
+ console.log('✅ React simple template passed');
54
+ }
55
+ } catch (err) {
56
+ console.log('❌ React simple template error:', err.message);
57
+ errors++;
58
+ }
59
+
60
+ // Test token generators
61
+ try {
62
+ const colorTokens = templates.generateColorTokens();
63
+ if (!colorTokens.includes('$custom-primary-6')) {
64
+ console.log('❌ Color tokens template failed');
65
+ errors++;
66
+ } else {
67
+ console.log('✅ Color tokens template passed');
68
+ }
69
+ } catch (err) {
70
+ console.log('❌ Color tokens template error:', err.message);
71
+ errors++;
72
+ }
73
+
74
+ console.log(`\n${errors === 0 ? '✅' : '❌'} Template validation complete (${errors} errors)\n`);
75
+
76
+ return errors === 0;
77
+ },
78
+
79
+ help: () => {
80
+ console.log(`
81
+ 🛠️ Template Manager - Atomix CLI
82
+
83
+ Usage:
84
+ node template-manager.js <command>
85
+
86
+ Commands:
87
+ list List all available templates
88
+ validate Validate all templates for syntax errors
89
+ help Show this help message
90
+
91
+ Examples:
92
+ node template-manager.js list
93
+ node template-manager.js validate
94
+ `);
95
+ }
96
+ };
97
+
98
+ const command = process.argv[2];
99
+
100
+ if (commands[command]) {
101
+ commands[command]();
102
+ } else {
103
+ console.log('Unknown command. Use "help" for available commands.');
104
+ commands.help();
105
+ }
@@ -0,0 +1,123 @@
1
+ # Templates Directory
2
+
3
+ This directory contains modular templates for the Atomix CLI. The templates have been split into separate files for better maintainability and organization.
4
+
5
+ ## File Structure
6
+
7
+ ```
8
+ templates/
9
+ ├── README.md # This documentation file
10
+ ├── index.js # Main export file that aggregates all templates
11
+ ├── react-templates.js # React component templates (simple, medium, complex)
12
+ ├── storybook-templates.js # Storybook story templates
13
+ ├── testing-templates.js # Vitest testing templates
14
+ ├── scss-templates.js # SCSS styling templates
15
+ ├── types-templates.js # TypeScript definition templates
16
+ ├── composable-templates.js # Custom hook templates
17
+ ├── token-templates.js # Design system token generation functions
18
+ ├── project-templates.js # Project scaffolding templates
19
+ └── config-templates.js # Configuration file templates
20
+ ```
21
+
22
+ ## Template Categories
23
+
24
+ ### React Templates (`react-templates.js`)
25
+ - **simple**: Basic presentational components with minimal state
26
+ - **medium**: Components with state management and interactions
27
+ - **complex**: Advanced components with validation and accessibility
28
+ - **component**: Default template (backward compatibility)
29
+
30
+ ### Storybook Templates (`storybook-templates.js`)
31
+ - **story**: Basic Storybook story with essential controls
32
+ - **storyEnhanced**: Enhanced story with detailed documentation and examples
33
+
34
+ ### Testing Templates (`testing-templates.js`)
35
+ - **test**: Vitest test template for React components
36
+
37
+ ### SCSS Templates (`scss-templates.js`)
38
+ - **scss**: Main SCSS component styles with CSS custom properties
39
+ - **scssSettings**: SCSS settings file with component-specific variables
40
+ - **scssModule**: Empty (CSS modules are not used by default)
41
+
42
+ ### TypeScript Templates (`types-templates.js`)
43
+ - **types**: TypeScript interface definitions for component props
44
+ - **constants**: Component constants and selectors
45
+ - **index**: Index file for component exports
46
+
47
+ ### Composable Templates (`composable-templates.js`)
48
+ - **hook**: Custom React hook template with state management and accessibility
49
+
50
+ ### Token Templates (`token-templates.js`)
51
+ Design system token generation functions:
52
+ - **generateColorTokens**: Color palette tokens
53
+ - **generateSpacingTokens**: Spacing scale tokens
54
+ - **generateTypographyTokens**: Typography scale tokens
55
+ - **generateShadowTokens**: Box shadow tokens
56
+ - **generateRadiusTokens**: Border radius tokens
57
+ - **generateAnimationTokens**: Animation and transition tokens
58
+
59
+ ### Project Templates (`project-templates.js`)
60
+ - **react**: React + Vite project setup
61
+ - **nextjs**: Next.js project setup
62
+ - **vanilla**: Vanilla TypeScript project setup
63
+
64
+ ### Config Templates (`config-templates.js`)
65
+ - **basic**: Simple JSON configuration
66
+ - **advanced**: Advanced JavaScript configuration with all options
67
+
68
+ ## Usage
69
+
70
+ Templates are imported through the main `index.js` file, which maintains backward compatibility with the original `templates.js` structure.
71
+
72
+ ```javascript
73
+ import templates from './templates/index.js';
74
+
75
+ // Access React templates
76
+ const simpleTemplate = templates.componentTemplates.react.simple('MyComponent');
77
+
78
+ // Access token generators
79
+ const colorTokens = templates.generateColorTokens();
80
+
81
+ // Access project templates
82
+ const reactProject = templates.projectTemplates.react;
83
+ ```
84
+
85
+ ## Migration from Single File
86
+
87
+ The original `templates.js` file has been split for better maintainability:
88
+
89
+ 1. **Backup**: Original file saved as `templates-original-backup.js`
90
+ 2. **New structure**: Templates organized by category in separate files
91
+ 3. **Compatibility**: All existing imports continue to work through `index.js`
92
+ 4. **Benefits**:
93
+ - Easier to locate and edit specific templates
94
+ - Reduced file size for better editor performance
95
+ - Clear separation of concerns
96
+ - Better testability of individual template modules
97
+
98
+ ## Adding New Templates
99
+
100
+ 1. Choose the appropriate category file or create a new one
101
+ 2. Add your template function following the existing pattern
102
+ 3. Export it in the category's export object
103
+ 4. Update `index.js` if you created a new category
104
+
105
+ Example of adding a new React template:
106
+
107
+ ```javascript
108
+ // In react-templates.js
109
+ export const customTemplate = (name) => `// Your custom template code`;
110
+
111
+ // Update the export object
112
+ export const reactTemplates = {
113
+ simple: simpleTemplate,
114
+ medium: mediumTemplate,
115
+ complex: complexTemplate,
116
+ component: defaultTemplate,
117
+ custom: customTemplate, // New template
118
+ };
119
+ ```
120
+
121
+ ## Backward Compatibility
122
+
123
+ The modular structure maintains 100% backward compatibility. All existing imports and usage patterns continue to work exactly as before. The main `templates.js` file now imports from the modular structure, ensuring no breaking changes.