@shohojdhara/atomix 0.3.14 → 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.
- package/CHANGELOG.md +20 -0
- package/build-tools/EXAMPLES.md +372 -0
- package/build-tools/README.md +242 -0
- package/build-tools/__tests__/error-handler.test.js +230 -0
- package/build-tools/__tests__/index.test.js +141 -0
- package/build-tools/__tests__/rollup-plugin.test.js +194 -0
- package/build-tools/__tests__/utils.test.js +161 -0
- package/build-tools/__tests__/vite-plugin.test.js +129 -0
- package/build-tools/__tests__/webpack-loader.test.js +190 -0
- package/build-tools/error-handler.js +308 -0
- package/build-tools/index.d.ts +44 -0
- package/build-tools/index.js +88 -0
- package/build-tools/package.json +50 -0
- package/build-tools/rollup-plugin.js +236 -0
- package/build-tools/types.d.ts +163 -0
- package/build-tools/utils.js +203 -0
- package/build-tools/vite-plugin.js +161 -0
- package/build-tools/webpack-loader.js +123 -0
- package/dist/atomix.css +21044 -2618
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +77 -3
- package/dist/atomix.min.css.map +1 -1
- package/dist/build-tools/EXAMPLES.md +372 -0
- package/dist/build-tools/README.md +242 -0
- package/dist/build-tools/__tests__/error-handler.test.js +230 -0
- package/dist/build-tools/__tests__/index.test.js +141 -0
- package/dist/build-tools/__tests__/rollup-plugin.test.js +194 -0
- package/dist/build-tools/__tests__/utils.test.js +161 -0
- package/dist/build-tools/__tests__/vite-plugin.test.js +129 -0
- package/dist/build-tools/__tests__/webpack-loader.test.js +190 -0
- package/dist/build-tools/error-handler.js +308 -0
- package/dist/build-tools/index.d.ts +44 -0
- package/dist/build-tools/index.js +88 -0
- package/dist/build-tools/package.json +50 -0
- package/dist/build-tools/rollup-plugin.js +236 -0
- package/dist/build-tools/types.d.ts +163 -0
- package/dist/build-tools/utils.js +203 -0
- package/dist/build-tools/vite-plugin.js +161 -0
- package/dist/build-tools/webpack-loader.js +123 -0
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +86 -57
- package/dist/charts.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +136 -112
- package/dist/core.js.map +1 -1
- package/dist/forms.d.ts +2 -5
- package/dist/forms.js +140 -128
- package/dist/forms.js.map +1 -1
- package/dist/heavy.d.ts +1 -1
- package/dist/heavy.js +136 -112
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +152 -78
- package/dist/index.esm.js +346 -340
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +359 -353
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/layout.js.map +1 -1
- package/dist/theme.d.ts +9 -9
- package/dist/theme.js.map +1 -1
- package/package.json +23 -8
- package/scripts/atomix-cli.js +170 -73
- package/scripts/cli/__tests__/README.md +81 -0
- package/scripts/cli/__tests__/basic.test.js +115 -0
- package/scripts/cli/__tests__/component-generator.test.js +332 -0
- package/scripts/cli/__tests__/integration.test.js +327 -0
- package/scripts/cli/__tests__/test-setup.js +133 -0
- package/scripts/cli/__tests__/token-manager.test.js +251 -0
- package/scripts/cli/__tests__/utils.test.js +161 -0
- package/scripts/cli/component-generator.js +253 -299
- package/scripts/cli/dependency-checker.js +355 -0
- package/scripts/cli/interactive-init.js +46 -5
- package/scripts/cli/template-manager.js +0 -2
- package/scripts/cli/templates/common-templates.js +636 -0
- package/scripts/cli/templates/composable-templates.js +148 -126
- package/scripts/cli/templates/index.js +23 -16
- package/scripts/cli/templates/project-templates.js +151 -23
- package/scripts/cli/templates/react-templates.js +280 -210
- package/scripts/cli/templates/scss-templates.js +90 -91
- package/scripts/cli/templates/testing-templates.js +206 -27
- package/scripts/cli/templates/testing-utils.js +278 -0
- package/scripts/cli/templates/types-templates.js +70 -56
- package/scripts/cli/theme-bridge.js +8 -2
- package/scripts/cli/token-manager.js +318 -206
- package/scripts/cli/utils.js +0 -1
- package/src/components/Accordion/Accordion.stories.tsx +358 -850
- package/src/components/Accordion/Accordion.test.tsx +70 -50
- package/src/components/Accordion/Accordion.tsx +99 -94
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +1 -1
- package/src/components/AtomixGlass/AtomixGlass.tsx +80 -39
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +103 -81
- package/src/components/AtomixGlass/GlassFilter.tsx +9 -16
- package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +8 -7
- package/src/components/AtomixGlass/glass-utils.ts +6 -5
- package/src/components/AtomixGlass/shader-utils.ts +133 -52
- package/src/components/AtomixGlass/stories/Customization.stories.tsx +131 -0
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +2957 -2853
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -1
- package/src/components/AtomixGlass/stories/Overview.stories.tsx +348 -0
- package/src/components/AtomixGlass/stories/Performance.stories.tsx +103 -0
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +51 -36
- package/src/components/AtomixGlass/stories/{ShaderVariants.stories.tsx → Shaders.stories.tsx} +2 -2
- package/src/components/AtomixGlass/stories/shared-components.tsx +90 -190
- package/src/components/Avatar/Avatar.stories.tsx +195 -0
- package/src/components/Avatar/Avatar.tsx +58 -56
- package/src/components/Badge/Badge.stories.tsx +122 -352
- package/src/components/Badge/Badge.test.tsx +41 -41
- package/src/components/Badge/Badge.tsx +64 -62
- package/src/components/Block/Block.stories.tsx +30 -11
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +142 -23
- package/src/components/Breadcrumb/Breadcrumb.tsx +62 -60
- package/src/components/Button/Button.stories.tsx +454 -1126
- package/src/components/Button/Button.test.tsx +123 -0
- package/src/components/Button/Button.tsx +88 -60
- package/src/components/Button/ButtonGroup.stories.tsx +376 -215
- package/src/components/Button/ButtonGroup.tsx +4 -15
- package/src/components/Callout/Callout.stories.tsx +316 -568
- package/src/components/Card/Card.stories.tsx +292 -81
- package/src/components/Card/Card.tsx +30 -14
- package/src/components/Chart/AreaChart.tsx +1 -1
- package/src/components/Chart/CandlestickChart.tsx +23 -16
- package/src/components/Chart/Chart.stories.tsx +153 -16
- package/src/components/Chart/Chart.tsx +40 -44
- package/src/components/Chart/ChartRenderer.tsx +39 -12
- package/src/components/Chart/ChartToolbar.tsx +21 -5
- package/src/components/Chart/DonutChart.tsx +1 -1
- package/src/components/Chart/FunnelChart.tsx +4 -1
- package/src/components/Chart/GaugeChart.tsx +3 -1
- package/src/components/Chart/HeatmapChart.tsx +50 -37
- package/src/components/Chart/LineChart.tsx +3 -2
- package/src/components/Chart/MultiAxisChart.tsx +24 -16
- package/src/components/Chart/RadarChart.tsx +19 -17
- package/src/components/Chart/ScatterChart.tsx +29 -21
- package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +152 -66
- package/src/components/ColorModeToggle/ColorModeToggle.tsx +15 -3
- package/src/components/Countdown/Countdown.stories.tsx +114 -7
- package/src/components/DataTable/DataTable.stories.tsx +349 -144
- package/src/components/DataTable/DataTable.test.tsx +26 -148
- package/src/components/DataTable/DataTable.tsx +485 -456
- package/src/components/DatePicker/DatePicker.stories.tsx +310 -1066
- package/src/components/DatePicker/DatePicker.tsx +31 -26
- package/src/components/Dropdown/Dropdown.stories.tsx +153 -36
- package/src/components/Dropdown/Dropdown.tsx +313 -299
- package/src/components/EdgePanel/EdgePanel.stories.tsx +221 -25
- package/src/components/EdgePanel/EdgePanel.tsx +1 -3
- package/src/components/Footer/Footer.stories.tsx +396 -327
- package/src/components/Footer/Footer.tsx +130 -128
- package/src/components/Footer/FooterLink.tsx +2 -2
- package/src/components/Form/Checkbox.stories.tsx +140 -6
- package/src/components/Form/Checkbox.test.tsx +63 -0
- package/src/components/Form/Checkbox.tsx +122 -78
- package/src/components/Form/Form.stories.tsx +110 -19
- package/src/components/Form/FormGroup.stories.tsx +127 -4
- package/src/components/Form/Input.stories.tsx +22 -39
- package/src/components/Form/Input.test.tsx +38 -44
- package/src/components/Form/Radio.stories.tsx +146 -17
- package/src/components/Form/Radio.tsx +68 -66
- package/src/components/Form/Select.stories.tsx +140 -8
- package/src/components/Form/Select.tsx +184 -182
- package/src/components/Form/Textarea.stories.tsx +149 -6
- package/src/components/Form/Textarea.test.tsx +27 -32
- package/src/components/Hero/Hero.stories.tsx +372 -38
- package/src/components/Hero/Hero.tsx +201 -55
- package/src/components/Icon/index.ts +7 -1
- package/src/components/List/List.stories.tsx +141 -3
- package/src/components/List/List.tsx +19 -23
- package/src/components/Modal/Modal.stories.tsx +183 -43
- package/src/components/Modal/Modal.tsx +130 -127
- package/src/components/Navigation/Menu/MegaMenu.tsx +70 -70
- package/src/components/Navigation/Nav/NavDropdown.tsx +1 -5
- package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +128 -28
- package/src/components/Navigation/SideMenu/SideMenu.tsx +5 -7
- package/src/components/Navigation/SideMenu/SideMenuItem.tsx +4 -5
- package/src/components/Pagination/Pagination.stories.tsx +7 -4
- package/src/components/Pagination/Pagination.tsx +199 -202
- package/src/components/PhotoViewer/PhotoViewer.tsx +4 -1
- package/src/components/Popover/Popover.stories.tsx +354 -97
- package/src/components/Popover/Popover.tsx +41 -37
- package/src/components/Progress/Progress.stories.tsx +160 -7
- package/src/components/River/River.stories.tsx +3 -2
- package/src/components/SectionIntro/SectionIntro.stories.tsx +239 -47
- package/src/components/Slider/Slider.stories.tsx +12 -4
- package/src/components/Spinner/Spinner.stories.tsx +104 -8
- package/src/components/Spinner/Spinner.test.tsx +23 -23
- package/src/components/Spinner/Spinner.tsx +43 -46
- package/src/components/Steps/Steps.stories.tsx +173 -42
- package/src/components/Tabs/Tabs.stories.tsx +141 -12
- package/src/components/Tabs/Tabs.tsx +74 -72
- package/src/components/Testimonial/Testimonial.stories.tsx +120 -3
- package/src/components/Todo/Todo.stories.tsx +198 -9
- package/src/components/Toggle/Toggle.stories.tsx +137 -36
- package/src/components/Toggle/Toggle.test.tsx +65 -70
- package/src/components/Toggle/Toggle.tsx +4 -1
- package/src/components/Tooltip/Tooltip.stories.tsx +194 -100
- package/src/components/Tooltip/Tooltip.tsx +104 -106
- package/src/components/Upload/Upload.stories.tsx +241 -150
- package/src/components/Upload/Upload.tsx +287 -283
- package/src/components/VideoPlayer/VideoPlayer.tsx +6 -1
- package/src/components/index.ts +13 -2
- package/src/layouts/Grid/Grid.stories.tsx +9 -3
- package/src/layouts/MasonryGrid/MasonryGrid.tsx +5 -1
- package/src/lib/README.md +2 -2
- package/src/lib/__tests__/theme-tools.test.ts +219 -0
- package/src/lib/composables/index.ts +2 -2
- package/src/lib/composables/shared-mouse-tracker.ts +13 -14
- package/src/lib/composables/useAtomixGlass.ts +126 -97
- package/src/lib/composables/useChartExport.ts +3 -8
- package/src/lib/composables/useDataTable.ts +72 -43
- package/src/lib/composables/useHero.ts +58 -14
- package/src/lib/composables/useHeroBackgroundSlider.ts +2 -9
- package/src/lib/composables/useInput.ts +10 -8
- package/src/lib/composables/useSideMenu.ts +6 -5
- package/src/lib/composables/useTooltip.ts +1 -2
- package/src/lib/composables/useVideoPlayer.ts +44 -35
- package/src/lib/config/index.ts +154 -154
- package/src/lib/constants/components.ts +9 -32
- package/src/lib/constants/cssVariables.ts +29 -29
- package/src/lib/hooks/__tests__/useComponentCustomization.test.ts +2 -6
- package/src/lib/hooks/index.ts +1 -1
- package/src/lib/hooks/useComponentCustomization.ts +11 -17
- package/src/lib/hooks/usePerformanceMonitor.ts +6 -7
- package/src/lib/patterns/__tests__/slots.test.ts +1 -1
- package/src/lib/patterns/index.ts +1 -1
- package/src/lib/patterns/slots.tsx +8 -13
- package/src/lib/storybook/InteractiveDemo.tsx +13 -18
- package/src/lib/storybook/PreviewContainer.tsx +1 -1
- package/src/lib/storybook/VariantsGrid.tsx +3 -7
- package/src/lib/storybook/index.ts +1 -1
- package/src/lib/theme/adapters/cssVariableMapper.ts +47 -74
- package/src/lib/theme/adapters/index.ts +3 -9
- package/src/lib/theme/adapters/themeAdapter.ts +41 -26
- package/src/lib/theme/config/index.ts +1 -1
- package/src/lib/theme/config/types.ts +2 -2
- package/src/lib/theme/config/validator.ts +10 -5
- package/src/lib/theme/constants/constants.ts +2 -2
- package/src/lib/theme/constants/index.ts +1 -2
- package/src/lib/theme/core/__tests__/createTheme.test.ts +20 -22
- package/src/lib/theme/core/composeTheme.ts +32 -26
- package/src/lib/theme/core/createTheme.ts +1 -1
- package/src/lib/theme/core/createThemeObject.ts +308 -301
- package/src/lib/theme/core/index.ts +3 -3
- package/src/lib/theme/devtools/CLI.ts +107 -105
- package/src/lib/theme/devtools/Comparator.tsx +50 -32
- package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +50 -48
- package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +257 -63
- package/src/lib/theme/devtools/Inspector.tsx +75 -60
- package/src/lib/theme/devtools/LiveEditor.tsx +97 -76
- package/src/lib/theme/devtools/Preview.tsx +150 -106
- package/src/lib/theme/devtools/ThemeValidator.ts +29 -21
- package/src/lib/theme/devtools/index.ts +3 -9
- package/src/lib/theme/devtools/useHistory.ts +23 -21
- package/src/lib/theme/errors/errors.ts +12 -11
- package/src/lib/theme/errors/index.ts +2 -7
- package/src/lib/theme/generators/generateCSS.ts +9 -13
- package/src/lib/theme/generators/generateCSSNested.ts +1 -6
- package/src/lib/theme/generators/generateCSSVariables.ts +673 -630
- package/src/lib/theme/generators/index.ts +1 -4
- package/src/lib/theme/i18n/index.ts +1 -1
- package/src/lib/theme/i18n/rtl.ts +13 -13
- package/src/lib/theme/index.ts +7 -16
- package/src/lib/theme/runtime/ThemeApplicator.ts +4 -4
- package/src/lib/theme/runtime/ThemeContext.tsx +1 -1
- package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +19 -23
- package/src/lib/theme/runtime/ThemeProvider.tsx +230 -239
- package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +1 -1
- package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +24 -29
- package/src/lib/theme/runtime/index.ts +2 -5
- package/src/lib/theme/runtime/useTheme.ts +18 -18
- package/src/lib/theme/runtime/useThemeTokens.ts +22 -22
- package/src/lib/theme/test/testTheme.ts +15 -16
- package/src/lib/theme/tokens/index.ts +2 -7
- package/src/lib/theme/tokens/tokens.ts +25 -24
- package/src/lib/theme/types.ts +428 -411
- package/src/lib/theme/utils/__tests__/themeValidation.test.ts +3 -3
- package/src/lib/theme/utils/componentTheming.ts +18 -18
- package/src/lib/theme/utils/domUtils.ts +277 -289
- package/src/lib/theme/utils/index.ts +1 -2
- package/src/lib/theme/utils/injectCSS.ts +10 -14
- package/src/lib/theme/utils/naming.ts +20 -16
- package/src/lib/theme/utils/themeHelpers.ts +10 -12
- package/src/lib/theme/utils/themeUtils.ts +85 -86
- package/src/lib/theme/utils/themeValidation.ts +82 -33
- package/src/lib/theme-tools.ts +8 -6
- package/src/lib/types/components.ts +172 -71
- package/src/lib/types/partProps.ts +1 -1
- package/src/lib/utils/__tests__/csv.test.ts +45 -0
- package/src/lib/utils/componentUtils.ts +8 -12
- package/src/lib/utils/csv.ts +19 -0
- package/src/lib/utils/dataTableExport.ts +2 -15
- package/src/lib/utils/fontPreloader.ts +10 -19
- package/src/lib/utils/icons.ts +4 -1
- package/src/lib/utils/index.ts +2 -6
- package/src/lib/utils/memoryMonitor.ts +10 -8
- package/src/lib/utils/themeNaming.ts +2 -2
- package/src/styles/01-settings/_index.scss +1 -1
- package/src/styles/01-settings/_settings.accordion.scss +28 -7
- package/src/styles/01-settings/_settings.colors.scss +11 -11
- package/src/styles/01-settings/_settings.design-tokens.scss +61 -50
- package/src/styles/01-settings/_settings.navbar.scss +1 -1
- package/src/styles/01-settings/_settings.spacing.scss +3 -4
- package/src/styles/01-settings/_settings.tooltip.scss +1 -1
- package/src/styles/01-settings/_settings.typography.scss +4 -4
- package/src/styles/02-tools/_tools.button.scss +51 -21
- package/src/styles/02-tools/_tools.utility-api.scss +38 -12
- package/src/styles/03-generic/_generic.root.scss +4 -3
- package/src/styles/06-components/_components.accordion.scss +56 -14
- package/src/styles/06-components/_components.atomix-glass.scss +13 -9
- package/src/styles/06-components/_components.button.scss +16 -4
- package/src/styles/06-components/_components.callout.scss +27 -21
- package/src/styles/06-components/_components.card.scss +5 -14
- package/src/styles/06-components/_components.chart.scss +22 -19
- package/src/styles/06-components/_components.checkbox.scss +25 -17
- package/src/styles/06-components/_components.color-mode-toggle.scss +3 -1
- package/src/styles/06-components/_components.edge-panel.scss +9 -2
- package/src/styles/06-components/_components.footer.scss +1 -1
- package/src/styles/06-components/_components.side-menu.scss +5 -5
- package/src/styles/06-components/_components.toggle.scss +18 -0
- package/src/styles/06-components/_index.scss +1 -1
- package/src/styles/06-components/old.chart.styles.scss +0 -2
- package/src/styles/99-utilities/_index.scss +2 -0
- package/src/styles/99-utilities/_utilities.border.scss +69 -27
- package/src/styles/99-utilities/_utilities.display.scss +1 -1
- package/src/styles/99-utilities/_utilities.opacity.scss +10 -0
- package/src/styles/99-utilities/_utilities.position.scss +16 -9
- package/src/styles/99-utilities/_utilities.scss +2 -0
- package/src/styles/99-utilities/_utilities.sizes.scss +47 -18
- package/src/styles/99-utilities/_utilities.spacing.scss +118 -66
- package/src/styles/99-utilities/_utilities.text-gradient.scss +45 -0
- package/src/styles/99-utilities/_utilities.text.scss +67 -46
- package/themes/dark-complementary/README.md +98 -0
- package/themes/dark-complementary/index.scss +158 -0
- package/themes/default-light/README.md +81 -0
- package/themes/default-light/index.scss +154 -0
- package/themes/high-contrast/README.md +105 -0
- package/themes/high-contrast/index.scss +172 -0
- package/themes/test-theme/README.md +38 -0
- package/themes/test-theme/index.scss +47 -0
- package/scripts/cli/templates-original-backup.js +0 -1655
- package/scripts/cli/templates_backup.js +0 -684
- package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +0 -1438
- package/src/lib/composables/useButton.ts +0 -93
- package/src/lib/composables/useCheckbox.ts +0 -70
|
@@ -0,0 +1,636 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common Configuration Templates
|
|
3
|
+
* Templates for configuration files used across all project types
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* TypeScript Configuration Templates
|
|
8
|
+
*/
|
|
9
|
+
export const typescriptTemplates = {
|
|
10
|
+
// React TypeScript config
|
|
11
|
+
react: `{
|
|
12
|
+
"compilerOptions": {
|
|
13
|
+
"target": "ES2020",
|
|
14
|
+
"useDefineForClassFields": true,
|
|
15
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
16
|
+
"module": "ESNext",
|
|
17
|
+
"skipLibCheck": true,
|
|
18
|
+
|
|
19
|
+
/* Bundler mode */
|
|
20
|
+
"moduleResolution": "bundler",
|
|
21
|
+
"allowImportingTsExtensions": true,
|
|
22
|
+
"resolveJsonModule": true,
|
|
23
|
+
"isolatedModules": true,
|
|
24
|
+
"noEmit": true,
|
|
25
|
+
"jsx": "react-jsx",
|
|
26
|
+
|
|
27
|
+
/* Linting */
|
|
28
|
+
"strict": true,
|
|
29
|
+
"noUnusedLocals": true,
|
|
30
|
+
"noUnusedParameters": true,
|
|
31
|
+
"noFallthroughCasesInSwitch": true,
|
|
32
|
+
|
|
33
|
+
/* Path mapping */
|
|
34
|
+
"baseUrl": ".",
|
|
35
|
+
"paths": {
|
|
36
|
+
"@/*": ["./src/*"],
|
|
37
|
+
"@components/*": ["./src/components/*"],
|
|
38
|
+
"@lib/*": ["./src/lib/*"],
|
|
39
|
+
"@styles/*": ["./src/styles/*"]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"include": ["src"],
|
|
43
|
+
"references": [{ "path": "./tsconfig.node.json" }]
|
|
44
|
+
}`,
|
|
45
|
+
|
|
46
|
+
// React Node TypeScript config
|
|
47
|
+
reactNode: `{
|
|
48
|
+
"compilerOptions": {
|
|
49
|
+
"composite": true,
|
|
50
|
+
"skipLibCheck": true,
|
|
51
|
+
"module": "ESNext",
|
|
52
|
+
"moduleResolution": "bundler",
|
|
53
|
+
"allowSyntheticDefaultImports": true
|
|
54
|
+
},
|
|
55
|
+
"include": ["vite.config.ts"]
|
|
56
|
+
}`,
|
|
57
|
+
|
|
58
|
+
// Next.js TypeScript config
|
|
59
|
+
nextjs: `{
|
|
60
|
+
"compilerOptions": {
|
|
61
|
+
"target": "es5",
|
|
62
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
63
|
+
"allowJs": true,
|
|
64
|
+
"skipLibCheck": true,
|
|
65
|
+
"strict": true,
|
|
66
|
+
"forceConsistentCasingInFileNames": true,
|
|
67
|
+
"noEmit": true,
|
|
68
|
+
"esModuleInterop": true,
|
|
69
|
+
"module": "esnext",
|
|
70
|
+
"moduleResolution": "bundler",
|
|
71
|
+
"resolveJsonModule": true,
|
|
72
|
+
"isolatedModules": true,
|
|
73
|
+
"jsx": "preserve",
|
|
74
|
+
"incremental": true,
|
|
75
|
+
"baseUrl": ".",
|
|
76
|
+
"paths": {
|
|
77
|
+
"@/*": ["./src/*"],
|
|
78
|
+
"@components/*": ["./src/components/*"],
|
|
79
|
+
"@lib/*": ["./src/lib/*"],
|
|
80
|
+
"@styles/*": ["./src/styles/*"]
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
|
|
84
|
+
"exclude": ["node_modules"]
|
|
85
|
+
}`,
|
|
86
|
+
|
|
87
|
+
// Vanilla TypeScript config
|
|
88
|
+
vanilla: `{
|
|
89
|
+
"compilerOptions": {
|
|
90
|
+
"target": "ES2020",
|
|
91
|
+
"useDefineForClassFields": true,
|
|
92
|
+
"module": "ESNext",
|
|
93
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
94
|
+
"skipLibCheck": true,
|
|
95
|
+
|
|
96
|
+
/* Bundler mode */
|
|
97
|
+
"moduleResolution": "bundler",
|
|
98
|
+
"allowImportingTsExtensions": true,
|
|
99
|
+
"resolveJsonModule": true,
|
|
100
|
+
"isolatedModules": true,
|
|
101
|
+
"noEmit": true,
|
|
102
|
+
|
|
103
|
+
/* Linting */
|
|
104
|
+
"strict": true,
|
|
105
|
+
"noUnusedLocals": true,
|
|
106
|
+
"noUnusedParameters": true,
|
|
107
|
+
"noFallthroughCasesInSwitch": true,
|
|
108
|
+
|
|
109
|
+
/* Path mapping */
|
|
110
|
+
"baseUrl": ".",
|
|
111
|
+
"paths": {
|
|
112
|
+
"@/*": ["./src/*"],
|
|
113
|
+
"@lib/*": ["./src/lib/*"],
|
|
114
|
+
"@styles/*": ["./src/styles/*"]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"include": ["src"]
|
|
118
|
+
}`
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Git Configuration Templates
|
|
123
|
+
*/
|
|
124
|
+
export const gitTemplates = {
|
|
125
|
+
gitignore: `# Dependencies
|
|
126
|
+
node_modules/
|
|
127
|
+
.pnp
|
|
128
|
+
.pnp.js
|
|
129
|
+
|
|
130
|
+
# Testing
|
|
131
|
+
coverage/
|
|
132
|
+
*.lcov
|
|
133
|
+
.nyc_output
|
|
134
|
+
|
|
135
|
+
# Production
|
|
136
|
+
build/
|
|
137
|
+
dist/
|
|
138
|
+
.next/
|
|
139
|
+
out/
|
|
140
|
+
|
|
141
|
+
# Misc
|
|
142
|
+
.DS_Store
|
|
143
|
+
*.pem
|
|
144
|
+
.env
|
|
145
|
+
.env.local
|
|
146
|
+
.env.development.local
|
|
147
|
+
.env.test.local
|
|
148
|
+
.env.production.local
|
|
149
|
+
|
|
150
|
+
# Debug
|
|
151
|
+
npm-debug.log*
|
|
152
|
+
yarn-debug.log*
|
|
153
|
+
yarn-error.log*
|
|
154
|
+
.pnpm-debug.log*
|
|
155
|
+
|
|
156
|
+
# IDE
|
|
157
|
+
.vscode/
|
|
158
|
+
.idea/
|
|
159
|
+
*.swp
|
|
160
|
+
*.swo
|
|
161
|
+
*~
|
|
162
|
+
|
|
163
|
+
# Atomix
|
|
164
|
+
.atomix/
|
|
165
|
+
themes/*/dist/
|
|
166
|
+
|
|
167
|
+
# OS
|
|
168
|
+
Thumbs.db
|
|
169
|
+
`,
|
|
170
|
+
|
|
171
|
+
gitattributes: `# Auto detect text files and perform LF normalization
|
|
172
|
+
* text=auto
|
|
173
|
+
|
|
174
|
+
# Source code
|
|
175
|
+
*.js text eol=lf
|
|
176
|
+
*.jsx text eol=lf
|
|
177
|
+
*.ts text eol=lf
|
|
178
|
+
*.tsx text eol=lf
|
|
179
|
+
*.json text eol=lf
|
|
180
|
+
*.css text eol=lf
|
|
181
|
+
*.scss text eol=lf
|
|
182
|
+
*.html text eol=lf
|
|
183
|
+
*.md text eol=lf
|
|
184
|
+
|
|
185
|
+
# Binary files
|
|
186
|
+
*.png binary
|
|
187
|
+
*.jpg binary
|
|
188
|
+
*.jpeg binary
|
|
189
|
+
*.gif binary
|
|
190
|
+
*.ico binary
|
|
191
|
+
*.svg binary
|
|
192
|
+
*.woff binary
|
|
193
|
+
*.woff2 binary
|
|
194
|
+
*.ttf binary
|
|
195
|
+
*.eot binary
|
|
196
|
+
`
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Prettier Configuration Templates
|
|
201
|
+
*/
|
|
202
|
+
export const prettierTemplates = {
|
|
203
|
+
prettierrc: `{
|
|
204
|
+
"semi": true,
|
|
205
|
+
"trailingComma": "es5",
|
|
206
|
+
"singleQuote": true,
|
|
207
|
+
"printWidth": 100,
|
|
208
|
+
"tabWidth": 2,
|
|
209
|
+
"useTabs": false,
|
|
210
|
+
"arrowParens": "always",
|
|
211
|
+
"endOfLine": "lf"
|
|
212
|
+
}`,
|
|
213
|
+
|
|
214
|
+
prettierignore: `# Dependencies
|
|
215
|
+
node_modules/
|
|
216
|
+
|
|
217
|
+
# Production
|
|
218
|
+
build/
|
|
219
|
+
dist/
|
|
220
|
+
.next/
|
|
221
|
+
out/
|
|
222
|
+
|
|
223
|
+
# Misc
|
|
224
|
+
coverage/
|
|
225
|
+
.cache/
|
|
226
|
+
*.min.js
|
|
227
|
+
*.min.css
|
|
228
|
+
|
|
229
|
+
# Package manager
|
|
230
|
+
package-lock.json
|
|
231
|
+
yarn.lock
|
|
232
|
+
pnpm-lock.yaml
|
|
233
|
+
`
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* ESLint Configuration Templates
|
|
238
|
+
*/
|
|
239
|
+
export const eslintTemplates = {
|
|
240
|
+
// React ESLint config
|
|
241
|
+
react: `module.exports = {
|
|
242
|
+
root: true,
|
|
243
|
+
env: { browser: true, es2020: true },
|
|
244
|
+
extends: [
|
|
245
|
+
'eslint:recommended',
|
|
246
|
+
'plugin:@typescript-eslint/recommended',
|
|
247
|
+
'plugin:react-hooks/recommended',
|
|
248
|
+
],
|
|
249
|
+
ignorePatterns: ['dist', '.eslintrc.cjs'],
|
|
250
|
+
parser: '@typescript-eslint/parser',
|
|
251
|
+
plugins: ['react-refresh'],
|
|
252
|
+
rules: {
|
|
253
|
+
'react-refresh/only-export-components': [
|
|
254
|
+
'warn',
|
|
255
|
+
{ allowConstantExport: true },
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
}`,
|
|
259
|
+
|
|
260
|
+
// Next.js ESLint config
|
|
261
|
+
nextjs: `{
|
|
262
|
+
"extends": ["next/core-web-vitals", "next/typescript"],
|
|
263
|
+
"rules": {
|
|
264
|
+
"@typescript-eslint/no-unused-vars": "warn",
|
|
265
|
+
"@typescript-eslint/no-explicit-any": "warn"
|
|
266
|
+
}
|
|
267
|
+
}`
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Vite Environment Declaration
|
|
272
|
+
*/
|
|
273
|
+
export const viteEnvTemplate = `/// <reference types="vite/client" />
|
|
274
|
+
`;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* README Templates
|
|
278
|
+
*/
|
|
279
|
+
export const readmeTemplates = {
|
|
280
|
+
react: (projectName) => `# ${projectName}
|
|
281
|
+
|
|
282
|
+
A React application built with Atomix Design System.
|
|
283
|
+
|
|
284
|
+
## Getting Started
|
|
285
|
+
|
|
286
|
+
### Prerequisites
|
|
287
|
+
|
|
288
|
+
- Node.js 18+ and npm
|
|
289
|
+
|
|
290
|
+
### Installation
|
|
291
|
+
|
|
292
|
+
\`\`\`bash
|
|
293
|
+
npm install
|
|
294
|
+
\`\`\`
|
|
295
|
+
|
|
296
|
+
### Development
|
|
297
|
+
|
|
298
|
+
\`\`\`bash
|
|
299
|
+
npm run dev
|
|
300
|
+
\`\`\`
|
|
301
|
+
|
|
302
|
+
Open [http://localhost:5173](http://localhost:5173) to view it in the browser.
|
|
303
|
+
|
|
304
|
+
### Build
|
|
305
|
+
|
|
306
|
+
\`\`\`bash
|
|
307
|
+
npm run build
|
|
308
|
+
\`\`\`
|
|
309
|
+
|
|
310
|
+
### Preview Production Build
|
|
311
|
+
|
|
312
|
+
\`\`\`bash
|
|
313
|
+
npm run preview
|
|
314
|
+
\`\`\`
|
|
315
|
+
|
|
316
|
+
## Atomix CLI Commands
|
|
317
|
+
|
|
318
|
+
### Build Theme
|
|
319
|
+
|
|
320
|
+
\`\`\`bash
|
|
321
|
+
npm run build:theme
|
|
322
|
+
\`\`\`
|
|
323
|
+
|
|
324
|
+
### Generate Component
|
|
325
|
+
|
|
326
|
+
\`\`\`bash
|
|
327
|
+
npm run generate:component
|
|
328
|
+
\`\`\`
|
|
329
|
+
|
|
330
|
+
### Validate Design Tokens
|
|
331
|
+
|
|
332
|
+
\`\`\`bash
|
|
333
|
+
npm run validate
|
|
334
|
+
\`\`\`
|
|
335
|
+
|
|
336
|
+
## Project Structure
|
|
337
|
+
|
|
338
|
+
\`\`\`
|
|
339
|
+
src/
|
|
340
|
+
├── components/ # React components
|
|
341
|
+
├── lib/ # Utilities, types, constants
|
|
342
|
+
├── styles/ # SCSS styles (ITCSS)
|
|
343
|
+
└── assets/ # Static assets
|
|
344
|
+
\`\`\`
|
|
345
|
+
|
|
346
|
+
## Learn More
|
|
347
|
+
|
|
348
|
+
- [Atomix Documentation](https://github.com/shohojdhara/atomix)
|
|
349
|
+
- [React Documentation](https://react.dev)
|
|
350
|
+
- [Vite Documentation](https://vitejs.dev)
|
|
351
|
+
`,
|
|
352
|
+
|
|
353
|
+
nextjs: (projectName) => `# ${projectName}
|
|
354
|
+
|
|
355
|
+
A Next.js application built with Atomix Design System.
|
|
356
|
+
|
|
357
|
+
## Getting Started
|
|
358
|
+
|
|
359
|
+
### Prerequisites
|
|
360
|
+
|
|
361
|
+
- Node.js 18+ and npm
|
|
362
|
+
|
|
363
|
+
### Installation
|
|
364
|
+
|
|
365
|
+
\`\`\`bash
|
|
366
|
+
npm install
|
|
367
|
+
\`\`\`
|
|
368
|
+
|
|
369
|
+
### Development
|
|
370
|
+
|
|
371
|
+
\`\`\`bash
|
|
372
|
+
npm run dev
|
|
373
|
+
\`\`\`
|
|
374
|
+
|
|
375
|
+
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
|
376
|
+
|
|
377
|
+
### Build
|
|
378
|
+
|
|
379
|
+
\`\`\`bash
|
|
380
|
+
npm run build
|
|
381
|
+
\`\`\`
|
|
382
|
+
|
|
383
|
+
### Start Production Server
|
|
384
|
+
|
|
385
|
+
\`\`\`bash
|
|
386
|
+
npm start
|
|
387
|
+
\`\`\`
|
|
388
|
+
|
|
389
|
+
## Atomix CLI Commands
|
|
390
|
+
|
|
391
|
+
### Build Theme
|
|
392
|
+
|
|
393
|
+
\`\`\`bash
|
|
394
|
+
npm run build:theme
|
|
395
|
+
\`\`\`
|
|
396
|
+
|
|
397
|
+
### Generate Component
|
|
398
|
+
|
|
399
|
+
\`\`\`bash
|
|
400
|
+
npm run generate:component
|
|
401
|
+
\`\`\`
|
|
402
|
+
|
|
403
|
+
### Validate Design Tokens
|
|
404
|
+
|
|
405
|
+
\`\`\`bash
|
|
406
|
+
npm run validate
|
|
407
|
+
\`\`\`
|
|
408
|
+
|
|
409
|
+
## Project Structure
|
|
410
|
+
|
|
411
|
+
\`\`\`
|
|
412
|
+
src/
|
|
413
|
+
├── pages/ # Next.js pages
|
|
414
|
+
├── components/ # React components
|
|
415
|
+
├── lib/ # Utilities, types, constants
|
|
416
|
+
├── styles/ # SCSS styles (ITCSS)
|
|
417
|
+
└── public/ # Static files
|
|
418
|
+
\`\`\`
|
|
419
|
+
|
|
420
|
+
## Learn More
|
|
421
|
+
|
|
422
|
+
- [Atomix Documentation](https://github.com/shohojdhara/atomix)
|
|
423
|
+
- [Next.js Documentation](https://nextjs.org/docs)
|
|
424
|
+
`,
|
|
425
|
+
|
|
426
|
+
vanilla: (projectName) => `# ${projectName}
|
|
427
|
+
|
|
428
|
+
A vanilla JavaScript/TypeScript application built with Atomix Design System.
|
|
429
|
+
|
|
430
|
+
## Getting Started
|
|
431
|
+
|
|
432
|
+
### Prerequisites
|
|
433
|
+
|
|
434
|
+
- Node.js 18+ and npm
|
|
435
|
+
|
|
436
|
+
### Installation
|
|
437
|
+
|
|
438
|
+
\`\`\`bash
|
|
439
|
+
npm install
|
|
440
|
+
\`\`\`
|
|
441
|
+
|
|
442
|
+
### Development
|
|
443
|
+
|
|
444
|
+
\`\`\`bash
|
|
445
|
+
npm run dev
|
|
446
|
+
\`\`\`
|
|
447
|
+
|
|
448
|
+
Open [http://localhost:5173](http://localhost:5173) to view it in the browser.
|
|
449
|
+
|
|
450
|
+
### Build
|
|
451
|
+
|
|
452
|
+
\`\`\`bash
|
|
453
|
+
npm run build
|
|
454
|
+
\`\`\`
|
|
455
|
+
|
|
456
|
+
### Preview Production Build
|
|
457
|
+
|
|
458
|
+
\`\`\`bash
|
|
459
|
+
npm run preview
|
|
460
|
+
\`\`\`
|
|
461
|
+
|
|
462
|
+
## Atomix CLI Commands
|
|
463
|
+
|
|
464
|
+
### Build Theme
|
|
465
|
+
|
|
466
|
+
\`\`\`bash
|
|
467
|
+
npm run build:theme
|
|
468
|
+
\`\`\`
|
|
469
|
+
|
|
470
|
+
### Validate Design Tokens
|
|
471
|
+
|
|
472
|
+
\`\`\`bash
|
|
473
|
+
npm run validate
|
|
474
|
+
\`\`\`
|
|
475
|
+
|
|
476
|
+
## Project Structure
|
|
477
|
+
|
|
478
|
+
\`\`\`
|
|
479
|
+
src/
|
|
480
|
+
├── lib/ # Utilities and types
|
|
481
|
+
├── styles/ # SCSS styles (ITCSS)
|
|
482
|
+
└── assets/ # Static assets
|
|
483
|
+
\`\`\`
|
|
484
|
+
|
|
485
|
+
## Learn More
|
|
486
|
+
|
|
487
|
+
- [Atomix Documentation](https://github.com/shohojdhara/atomix)
|
|
488
|
+
- [Vite Documentation](https://vitejs.dev)
|
|
489
|
+
`
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Environment Variables Template
|
|
494
|
+
*/
|
|
495
|
+
export const envTemplate = `# Environment Variables
|
|
496
|
+
# Copy this file to .env.local and fill in your values
|
|
497
|
+
|
|
498
|
+
# API Configuration
|
|
499
|
+
# VITE_API_URL=http://localhost:3000/api
|
|
500
|
+
|
|
501
|
+
# Feature Flags
|
|
502
|
+
# VITE_ENABLE_ANALYTICS=false
|
|
503
|
+
`;
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* ITCSS Index Files
|
|
507
|
+
*/
|
|
508
|
+
export const itcssIndexTemplates = {
|
|
509
|
+
settings: `// Settings Layer
|
|
510
|
+
// Global variables, config switches, and brand colors
|
|
511
|
+
|
|
512
|
+
// Import Atomix settings or define your own
|
|
513
|
+
// @use '@shohojdhara/atomix/scss/settings' as *;
|
|
514
|
+
`,
|
|
515
|
+
|
|
516
|
+
tools: `// Tools Layer
|
|
517
|
+
// Globally used mixins and functions
|
|
518
|
+
|
|
519
|
+
// Import Atomix tools or define your own
|
|
520
|
+
// @use '@shohojdhara/atomix/scss/tools' as *;
|
|
521
|
+
`,
|
|
522
|
+
|
|
523
|
+
generic: `// Generic Layer
|
|
524
|
+
// Ground-zero styles (normalize.css, resets, box-sizing)
|
|
525
|
+
|
|
526
|
+
// Import Atomix generic styles or define your own
|
|
527
|
+
// @use '@shohojdhara/atomix/scss/generic' as *;
|
|
528
|
+
`,
|
|
529
|
+
|
|
530
|
+
elements: `// Elements Layer
|
|
531
|
+
// Unclassed HTML elements (type selectors)
|
|
532
|
+
|
|
533
|
+
// Import Atomix element styles or define your own
|
|
534
|
+
// @use '@shohojdhara/atomix/scss/elements' as *;
|
|
535
|
+
`,
|
|
536
|
+
|
|
537
|
+
objects: `// Objects Layer
|
|
538
|
+
// Cosmetic-free design patterns (layouts, grids)
|
|
539
|
+
|
|
540
|
+
// Import Atomix object styles or define your own
|
|
541
|
+
// @use '@shohojdhara/atomix/scss/objects' as *;
|
|
542
|
+
`,
|
|
543
|
+
|
|
544
|
+
components: `// Components Layer
|
|
545
|
+
// Designed components, chunks of UI
|
|
546
|
+
|
|
547
|
+
// Import Atomix components or define your own
|
|
548
|
+
// @use '@shohojdhara/atomix/scss/components' as *;
|
|
549
|
+
`,
|
|
550
|
+
|
|
551
|
+
utilities: `// Utilities Layer
|
|
552
|
+
// Helper classes with ability to override anything
|
|
553
|
+
|
|
554
|
+
// Import Atomix utilities or define your own
|
|
555
|
+
// @use '@shohojdhara/atomix/scss/utilities' as *;
|
|
556
|
+
`,
|
|
557
|
+
|
|
558
|
+
main: `// Main Stylesheet
|
|
559
|
+
// ITCSS Architecture
|
|
560
|
+
|
|
561
|
+
@forward '01-settings';
|
|
562
|
+
@forward '02-tools';
|
|
563
|
+
@forward '03-generic';
|
|
564
|
+
@forward '04-elements';
|
|
565
|
+
@forward '05-objects';
|
|
566
|
+
@forward '06-components';
|
|
567
|
+
@forward '99-utilities';
|
|
568
|
+
`
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Library Index Files
|
|
573
|
+
*/
|
|
574
|
+
export const libIndexTemplates = {
|
|
575
|
+
types: `// Type definitions
|
|
576
|
+
export * from './components';
|
|
577
|
+
`,
|
|
578
|
+
|
|
579
|
+
constants: `// Application constants
|
|
580
|
+
export const APP_NAME = 'Atomix App';
|
|
581
|
+
export const APP_VERSION = '1.0.0';
|
|
582
|
+
`,
|
|
583
|
+
|
|
584
|
+
composables: `// React hooks and composables
|
|
585
|
+
`,
|
|
586
|
+
|
|
587
|
+
utils: `// Utility functions
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* Combine class names
|
|
591
|
+
*/
|
|
592
|
+
export function cn(...classes: (string | undefined | null | false)[]): string {
|
|
593
|
+
return classes.filter(Boolean).join(' ');
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* Format date
|
|
598
|
+
*/
|
|
599
|
+
export function formatDate(date: Date | string): string {
|
|
600
|
+
return new Date(date).toLocaleDateString();
|
|
601
|
+
}
|
|
602
|
+
`
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Vitest Configuration Template
|
|
607
|
+
*/
|
|
608
|
+
export const vitestTemplate = `import { defineConfig } from 'vitest/config';
|
|
609
|
+
import react from '@vitejs/plugin-react';
|
|
610
|
+
|
|
611
|
+
export default defineConfig({
|
|
612
|
+
plugins: [react()],
|
|
613
|
+
test: {
|
|
614
|
+
globals: true,
|
|
615
|
+
environment: 'jsdom',
|
|
616
|
+
setupFiles: './src/test/setup.ts',
|
|
617
|
+
css: true,
|
|
618
|
+
},
|
|
619
|
+
});
|
|
620
|
+
`;
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Export all templates
|
|
624
|
+
*/
|
|
625
|
+
export const commonTemplates = {
|
|
626
|
+
typescript: typescriptTemplates,
|
|
627
|
+
git: gitTemplates,
|
|
628
|
+
prettier: prettierTemplates,
|
|
629
|
+
eslint: eslintTemplates,
|
|
630
|
+
viteEnv: viteEnvTemplate,
|
|
631
|
+
readme: readmeTemplates,
|
|
632
|
+
env: envTemplate,
|
|
633
|
+
itcss: itcssIndexTemplates,
|
|
634
|
+
lib: libIndexTemplates,
|
|
635
|
+
vitest: vitestTemplate,
|
|
636
|
+
};
|