@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
package/src/lib/config/index.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Atomix Configuration System
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* Tailwind-like configuration for customizing the Atomix Design System.
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
* External developers can create `atomix.config.ts` in their project root
|
|
7
7
|
* to customize design tokens, similar to Tailwind's tailwind.config.js
|
|
8
|
-
*
|
|
8
|
+
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
11
|
* // atomix.config.ts (in your project)
|
|
12
12
|
* import { defineConfig } from '@shohojdhara/atomix/config';
|
|
13
|
-
*
|
|
13
|
+
*
|
|
14
14
|
* export default defineConfig({
|
|
15
15
|
* theme: {
|
|
16
16
|
* extend: {
|
|
@@ -29,104 +29,104 @@ import type { Theme } from '../theme/types';
|
|
|
29
29
|
* Color Scale (1-10)
|
|
30
30
|
*/
|
|
31
31
|
export interface ColorScale {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
1?: string;
|
|
33
|
+
2?: string;
|
|
34
|
+
3?: string;
|
|
35
|
+
4?: string;
|
|
36
|
+
5?: string;
|
|
37
|
+
6?: string;
|
|
38
|
+
7?: string;
|
|
39
|
+
8?: string;
|
|
40
|
+
9?: string;
|
|
41
|
+
10?: string;
|
|
42
|
+
[key: string]: string | undefined;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Palette Color Options
|
|
47
47
|
*/
|
|
48
48
|
export interface PaletteColorOptions {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
main: string;
|
|
50
|
+
light?: string;
|
|
51
|
+
dark?: string;
|
|
52
|
+
contrastText?: string;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Design Tokens Schema (Tailwind-like)
|
|
57
57
|
*/
|
|
58
58
|
export interface ThemeTokens {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
59
|
+
/** Color palette */
|
|
60
|
+
colors?: Record<string, string | PaletteColorOptions | ColorScale | Record<string, string>>;
|
|
61
|
+
/** Spacing scale */
|
|
62
|
+
spacing?: Record<string, string>;
|
|
63
|
+
/** Border radius scale */
|
|
64
|
+
borderRadius?: Record<string, string>;
|
|
65
|
+
/** Typography scale and settings */
|
|
66
|
+
typography?: {
|
|
67
|
+
fontFamilies?: Record<string, string>;
|
|
68
|
+
fontSizes?: Record<string, string>;
|
|
69
|
+
fontWeights?: Record<string, string | number>;
|
|
70
|
+
lineHeights?: Record<string, string | number>;
|
|
71
|
+
letterSpacings?: Record<string, string>;
|
|
72
|
+
};
|
|
73
|
+
/** Shadow scale */
|
|
74
|
+
shadows?: Record<string, string>;
|
|
75
|
+
/** Z-index scale */
|
|
76
|
+
zIndex?: Record<string, string | number>;
|
|
77
|
+
/** Breakpoints scale */
|
|
78
|
+
breakpoints?: Record<string, string | number>;
|
|
79
|
+
/** Transitions settings */
|
|
80
|
+
transitions?: {
|
|
81
|
+
durations?: Record<string, string>;
|
|
82
|
+
easings?: Record<string, string>;
|
|
83
|
+
};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
87
|
* CSS Theme Definition
|
|
88
88
|
*/
|
|
89
89
|
export interface CSSThemeDefinition {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
90
|
+
type: 'css';
|
|
91
|
+
name: string;
|
|
92
|
+
class?: string;
|
|
93
|
+
description?: string;
|
|
94
|
+
author?: string;
|
|
95
|
+
version?: string;
|
|
96
|
+
tags?: string[];
|
|
97
|
+
supportsDarkMode?: boolean;
|
|
98
|
+
status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
|
|
99
|
+
a11y?: {
|
|
100
|
+
contrastTarget?: number;
|
|
101
|
+
modes?: string[];
|
|
102
|
+
};
|
|
103
|
+
color?: string;
|
|
104
|
+
features?: string[];
|
|
105
|
+
dependencies?: string[];
|
|
106
|
+
cssPath?: string;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* JavaScript Theme Definition
|
|
111
111
|
*/
|
|
112
112
|
export interface JSThemeDefinition {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
113
|
+
type: 'js';
|
|
114
|
+
name: string;
|
|
115
|
+
class?: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
author?: string;
|
|
118
|
+
version?: string;
|
|
119
|
+
tags?: string[];
|
|
120
|
+
supportsDarkMode?: boolean;
|
|
121
|
+
status?: 'stable' | 'beta' | 'experimental' | 'deprecated';
|
|
122
|
+
a11y?: {
|
|
123
|
+
contrastTarget?: number;
|
|
124
|
+
modes?: string[];
|
|
125
|
+
};
|
|
126
|
+
color?: string;
|
|
127
|
+
features?: string[];
|
|
128
|
+
dependencies?: string[];
|
|
129
|
+
createTheme: () => Theme;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
/**
|
|
@@ -138,122 +138,122 @@ export type ThemeDefinition = CSSThemeDefinition | JSThemeDefinition;
|
|
|
138
138
|
* Build configuration (migrated from theme.config.ts)
|
|
139
139
|
*/
|
|
140
140
|
export interface BuildConfig {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
};
|
|
147
|
-
};
|
|
148
|
-
sass?: {
|
|
149
|
-
style?: 'expanded' | 'compressed';
|
|
150
|
-
sourceMap?: boolean;
|
|
151
|
-
loadPaths?: string[];
|
|
141
|
+
output?: {
|
|
142
|
+
directory?: string;
|
|
143
|
+
formats?: {
|
|
144
|
+
expanded?: string;
|
|
145
|
+
compressed?: string;
|
|
152
146
|
};
|
|
147
|
+
};
|
|
148
|
+
sass?: {
|
|
149
|
+
style?: 'expanded' | 'compressed';
|
|
150
|
+
sourceMap?: boolean;
|
|
151
|
+
loadPaths?: string[];
|
|
152
|
+
};
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* Runtime configuration (migrated from theme.config.ts)
|
|
157
157
|
*/
|
|
158
158
|
export interface RuntimeConfig {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
159
|
+
basePath?: string;
|
|
160
|
+
cdnPath?: string | null;
|
|
161
|
+
preload?: string[];
|
|
162
|
+
lazy?: boolean;
|
|
163
|
+
defaultTheme?: string;
|
|
164
|
+
storageKey?: string;
|
|
165
|
+
dataAttribute?: string;
|
|
166
|
+
enablePersistence?: boolean;
|
|
167
|
+
useMinified?: boolean;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
/**
|
|
171
171
|
* Integration settings (migrated from theme.config.ts)
|
|
172
172
|
*/
|
|
173
173
|
export interface IntegrationConfig {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
cssVariables?: Record<string, string>;
|
|
175
|
+
classNames?: {
|
|
176
|
+
theme?: string;
|
|
177
|
+
colorMode?: string;
|
|
178
|
+
};
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/**
|
|
182
182
|
* Atomix Configuration Interface
|
|
183
|
-
*
|
|
183
|
+
*
|
|
184
184
|
* Tailwind-like configuration for external developers.
|
|
185
185
|
* Focus on theme customization - build/runtime configs are internal only.
|
|
186
186
|
*/
|
|
187
187
|
export interface AtomixConfig {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
188
|
+
/**
|
|
189
|
+
* CSS variable prefix (default: 'atomix')
|
|
190
|
+
*
|
|
191
|
+
* Change this to customize all CSS variable names.
|
|
192
|
+
* Example: prefix: 'myapp' → --myapp-primary instead of --atomix-primary
|
|
193
|
+
*/
|
|
194
|
+
prefix?: string;
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Theme customization (Tailwind-like)
|
|
198
|
+
*
|
|
199
|
+
* Use `extend` to add or override design tokens.
|
|
200
|
+
* Use `tokens` to completely replace the default token system (advanced).
|
|
201
|
+
*/
|
|
202
|
+
theme?: {
|
|
203
|
+
/**
|
|
204
|
+
* Extend the default design tokens
|
|
205
|
+
*
|
|
206
|
+
* This is the recommended way to customize Atomix.
|
|
207
|
+
* Your values will override or extend the base tokens.
|
|
201
208
|
*/
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Extend the default design tokens
|
|
205
|
-
*
|
|
206
|
-
* This is the recommended way to customize Atomix.
|
|
207
|
-
* Your values will override or extend the base tokens.
|
|
208
|
-
*/
|
|
209
|
-
extend?: ThemeTokens;
|
|
209
|
+
extend?: ThemeTokens;
|
|
210
210
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
211
|
+
/**
|
|
212
|
+
* Override the default tokens entirely (advanced)
|
|
213
|
+
*
|
|
214
|
+
* Use with caution - this replaces the entire token system.
|
|
215
|
+
* Most users should use `extend` instead.
|
|
216
|
+
*/
|
|
217
|
+
tokens?: ThemeTokens;
|
|
218
218
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
219
|
+
/**
|
|
220
|
+
* Register custom themes (optional)
|
|
221
|
+
*
|
|
222
|
+
* Define CSS or JavaScript themes that can be loaded dynamically.
|
|
223
|
+
*/
|
|
224
|
+
themes?: Record<string, ThemeDefinition>;
|
|
225
|
+
};
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
227
|
+
// Internal configurations (for library development only)
|
|
228
|
+
// These are not needed for external developers
|
|
229
|
+
/** @internal Build configuration (internal use only) */
|
|
230
|
+
build?: BuildConfig;
|
|
231
|
+
/** @internal Runtime configuration (internal use only) */
|
|
232
|
+
runtime?: RuntimeConfig;
|
|
233
|
+
/** @internal Integration settings (internal use only) */
|
|
234
|
+
integration?: IntegrationConfig;
|
|
235
|
+
/** @internal Theme dependencies mapping (internal use only) */
|
|
236
|
+
dependencies?: Record<string, string[]>;
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
/**
|
|
240
240
|
* Helper function to define Atomix configuration with type safety
|
|
241
|
-
*
|
|
241
|
+
*
|
|
242
242
|
* @param config - Atomix configuration object
|
|
243
243
|
* @returns The configuration object
|
|
244
244
|
*/
|
|
245
245
|
/**
|
|
246
246
|
* Helper function to define Atomix configuration with type safety
|
|
247
|
-
*
|
|
247
|
+
*
|
|
248
248
|
* Similar to Tailwind's defineConfig, provides autocomplete and type checking.
|
|
249
|
-
*
|
|
249
|
+
*
|
|
250
250
|
* @param config - Atomix configuration object
|
|
251
251
|
* @returns The configuration object
|
|
252
|
-
*
|
|
252
|
+
*
|
|
253
253
|
* @example
|
|
254
254
|
* ```typescript
|
|
255
255
|
* import { defineConfig } from '@shohojdhara/atomix/config';
|
|
256
|
-
*
|
|
256
|
+
*
|
|
257
257
|
* export default defineConfig({
|
|
258
258
|
* theme: {
|
|
259
259
|
* extend: {
|
|
@@ -266,7 +266,7 @@ export interface AtomixConfig {
|
|
|
266
266
|
* ```
|
|
267
267
|
*/
|
|
268
268
|
export function defineConfig(config: AtomixConfig): AtomixConfig {
|
|
269
|
-
|
|
269
|
+
return config;
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
// Export loader functions
|
|
@@ -1522,37 +1522,6 @@ export const BLOCK = {
|
|
|
1522
1522
|
},
|
|
1523
1523
|
};
|
|
1524
1524
|
|
|
1525
|
-
/**
|
|
1526
|
-
* GlassContainer-specific constants
|
|
1527
|
-
*/
|
|
1528
|
-
export const GLASS_CONTAINER = {
|
|
1529
|
-
CLASSES: {
|
|
1530
|
-
BASE: 'c-glass-container',
|
|
1531
|
-
GLASS: 'c-glass-container__glass',
|
|
1532
|
-
WARP: 'c-glass-container__warp',
|
|
1533
|
-
CONTENT: 'c-glass-container__content',
|
|
1534
|
-
OVERLAY: 'c-glass-container__overlay',
|
|
1535
|
-
OVERLAY_VISIBLE: 'c-glass-container__overlay--visible',
|
|
1536
|
-
OVERLAY_HIDDEN: 'c-glass-container__overlay--hidden',
|
|
1537
|
-
OVERLAY_BLEND: 'c-glass-container__overlay-blend',
|
|
1538
|
-
BORDER: 'c-glass-container__border',
|
|
1539
|
-
BORDER_OVERLAY: 'c-glass-container__border-overlay',
|
|
1540
|
-
HOVER_EFFECT: 'c-glass-container__hover-effect',
|
|
1541
|
-
ACTIVE_EFFECT: 'c-glass-container__active-effect',
|
|
1542
|
-
INTERACTION_EFFECT: 'c-glass-container__interaction-effect',
|
|
1543
|
-
ACTIVE: 'c-glass-container--active',
|
|
1544
|
-
CLICKABLE: 'c-glass-container--clickable',
|
|
1545
|
-
},
|
|
1546
|
-
DISPLACEMENT_MAPS: {
|
|
1547
|
-
STANDARD:
|
|
1548
|
-
'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcwIiBoZWlnaHQ9IjY5IiB2aWV3Qm94PSIwIDAgMjcwIDY5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD0iZ3JhZGllbnQiIGN4PSI1MCUiIGN5PSI1MCUiIHI9IjUwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzgwODA4MCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzgwODA4MCIvPjwvcmFkaWFsR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZGllbnQpIi8+PC9zdmc+',
|
|
1549
|
-
POLAR:
|
|
1550
|
-
'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcwIiBoZWlnaHQ9IjY5IiB2aWV3Qm94PSIwIDAgMjcwIDY5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD0icG9sYXIiIGN4PSI1MCUiIGN5PSI1MCUiIHI9IjUwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzQwNDA0MCIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjODA4MDgwIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNDA0MDQwIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNwb2xhcikiLz48L3N2Zz4=',
|
|
1551
|
-
PROMINENT:
|
|
1552
|
-
'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcwIiBoZWlnaHQ9IjY5IiB2aWV3Qm94PSIwIDAgMjcwIDY5IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0icHJvbWluZW50IiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjNDA0MDQwIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiNjMGMwYzAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0MDQwNDAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3Byb21pbmVudCkiLz48L3N2Zz4=',
|
|
1553
|
-
},
|
|
1554
|
-
};
|
|
1555
|
-
|
|
1556
1525
|
/**
|
|
1557
1526
|
* Footer-specific constants
|
|
1558
1527
|
*/
|
|
@@ -1698,9 +1667,17 @@ export const ATOMIX_GLASS = {
|
|
|
1698
1667
|
MIN_BLUR: 0.1,
|
|
1699
1668
|
MOUSE_INFLUENCE_DIVISOR: 100,
|
|
1700
1669
|
EDGE_FADE_PIXELS: 2,
|
|
1701
|
-
|
|
1670
|
+
// Note: This default must match the SCSS variable --atomix-radius-md
|
|
1671
|
+
// @see src/styles/01-settings/_settings.global.scss
|
|
1672
|
+
DEFAULT_CORNER_RADIUS: 16,
|
|
1702
1673
|
MAX_SIZE: 4096, // Maximum width/height for glass size
|
|
1703
1674
|
|
|
1675
|
+
// Palette for internal calculations (matches design system base colors)
|
|
1676
|
+
PALETTE: {
|
|
1677
|
+
WHITE: '255, 255, 255',
|
|
1678
|
+
BLACK: '0, 0, 0',
|
|
1679
|
+
},
|
|
1680
|
+
|
|
1704
1681
|
// Gradient calculation constants
|
|
1705
1682
|
GRADIENT: {
|
|
1706
1683
|
BASE_ANGLE: 135, // Base angle for border gradients (degrees)
|