@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.
Files changed (343) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build-tools/EXAMPLES.md +372 -0
  3. package/build-tools/README.md +242 -0
  4. package/build-tools/__tests__/error-handler.test.js +230 -0
  5. package/build-tools/__tests__/index.test.js +141 -0
  6. package/build-tools/__tests__/rollup-plugin.test.js +194 -0
  7. package/build-tools/__tests__/utils.test.js +161 -0
  8. package/build-tools/__tests__/vite-plugin.test.js +129 -0
  9. package/build-tools/__tests__/webpack-loader.test.js +190 -0
  10. package/build-tools/error-handler.js +308 -0
  11. package/build-tools/index.d.ts +44 -0
  12. package/build-tools/index.js +88 -0
  13. package/build-tools/package.json +50 -0
  14. package/build-tools/rollup-plugin.js +236 -0
  15. package/build-tools/types.d.ts +163 -0
  16. package/build-tools/utils.js +203 -0
  17. package/build-tools/vite-plugin.js +161 -0
  18. package/build-tools/webpack-loader.js +123 -0
  19. package/dist/atomix.css +21044 -2618
  20. package/dist/atomix.css.map +1 -1
  21. package/dist/atomix.min.css +77 -3
  22. package/dist/atomix.min.css.map +1 -1
  23. package/dist/build-tools/EXAMPLES.md +372 -0
  24. package/dist/build-tools/README.md +242 -0
  25. package/dist/build-tools/__tests__/error-handler.test.js +230 -0
  26. package/dist/build-tools/__tests__/index.test.js +141 -0
  27. package/dist/build-tools/__tests__/rollup-plugin.test.js +194 -0
  28. package/dist/build-tools/__tests__/utils.test.js +161 -0
  29. package/dist/build-tools/__tests__/vite-plugin.test.js +129 -0
  30. package/dist/build-tools/__tests__/webpack-loader.test.js +190 -0
  31. package/dist/build-tools/error-handler.js +308 -0
  32. package/dist/build-tools/index.d.ts +44 -0
  33. package/dist/build-tools/index.js +88 -0
  34. package/dist/build-tools/package.json +50 -0
  35. package/dist/build-tools/rollup-plugin.js +236 -0
  36. package/dist/build-tools/types.d.ts +163 -0
  37. package/dist/build-tools/utils.js +203 -0
  38. package/dist/build-tools/vite-plugin.js +161 -0
  39. package/dist/build-tools/webpack-loader.js +123 -0
  40. package/dist/charts.d.ts +1 -1
  41. package/dist/charts.js +86 -57
  42. package/dist/charts.js.map +1 -1
  43. package/dist/core.d.ts +1 -1
  44. package/dist/core.js +136 -112
  45. package/dist/core.js.map +1 -1
  46. package/dist/forms.d.ts +2 -5
  47. package/dist/forms.js +140 -128
  48. package/dist/forms.js.map +1 -1
  49. package/dist/heavy.d.ts +1 -1
  50. package/dist/heavy.js +136 -112
  51. package/dist/heavy.js.map +1 -1
  52. package/dist/index.d.ts +152 -78
  53. package/dist/index.esm.js +346 -340
  54. package/dist/index.esm.js.map +1 -1
  55. package/dist/index.js +359 -353
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.min.js +1 -1
  58. package/dist/index.min.js.map +1 -1
  59. package/dist/layout.js.map +1 -1
  60. package/dist/theme.d.ts +9 -9
  61. package/dist/theme.js.map +1 -1
  62. package/package.json +23 -8
  63. package/scripts/atomix-cli.js +170 -73
  64. package/scripts/cli/__tests__/README.md +81 -0
  65. package/scripts/cli/__tests__/basic.test.js +115 -0
  66. package/scripts/cli/__tests__/component-generator.test.js +332 -0
  67. package/scripts/cli/__tests__/integration.test.js +327 -0
  68. package/scripts/cli/__tests__/test-setup.js +133 -0
  69. package/scripts/cli/__tests__/token-manager.test.js +251 -0
  70. package/scripts/cli/__tests__/utils.test.js +161 -0
  71. package/scripts/cli/component-generator.js +253 -299
  72. package/scripts/cli/dependency-checker.js +355 -0
  73. package/scripts/cli/interactive-init.js +46 -5
  74. package/scripts/cli/template-manager.js +0 -2
  75. package/scripts/cli/templates/common-templates.js +636 -0
  76. package/scripts/cli/templates/composable-templates.js +148 -126
  77. package/scripts/cli/templates/index.js +23 -16
  78. package/scripts/cli/templates/project-templates.js +151 -23
  79. package/scripts/cli/templates/react-templates.js +280 -210
  80. package/scripts/cli/templates/scss-templates.js +90 -91
  81. package/scripts/cli/templates/testing-templates.js +206 -27
  82. package/scripts/cli/templates/testing-utils.js +278 -0
  83. package/scripts/cli/templates/types-templates.js +70 -56
  84. package/scripts/cli/theme-bridge.js +8 -2
  85. package/scripts/cli/token-manager.js +318 -206
  86. package/scripts/cli/utils.js +0 -1
  87. package/src/components/Accordion/Accordion.stories.tsx +358 -850
  88. package/src/components/Accordion/Accordion.test.tsx +70 -50
  89. package/src/components/Accordion/Accordion.tsx +99 -94
  90. package/src/components/AtomixGlass/AtomixGlass.test.tsx +1 -1
  91. package/src/components/AtomixGlass/AtomixGlass.tsx +80 -39
  92. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +103 -81
  93. package/src/components/AtomixGlass/GlassFilter.tsx +9 -16
  94. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +8 -7
  95. package/src/components/AtomixGlass/glass-utils.ts +6 -5
  96. package/src/components/AtomixGlass/shader-utils.ts +133 -52
  97. package/src/components/AtomixGlass/stories/Customization.stories.tsx +131 -0
  98. package/src/components/AtomixGlass/stories/Examples.stories.tsx +2957 -2853
  99. package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -1
  100. package/src/components/AtomixGlass/stories/Overview.stories.tsx +348 -0
  101. package/src/components/AtomixGlass/stories/Performance.stories.tsx +103 -0
  102. package/src/components/AtomixGlass/stories/Playground.stories.tsx +51 -36
  103. package/src/components/AtomixGlass/stories/{ShaderVariants.stories.tsx → Shaders.stories.tsx} +2 -2
  104. package/src/components/AtomixGlass/stories/shared-components.tsx +90 -190
  105. package/src/components/Avatar/Avatar.stories.tsx +195 -0
  106. package/src/components/Avatar/Avatar.tsx +58 -56
  107. package/src/components/Badge/Badge.stories.tsx +122 -352
  108. package/src/components/Badge/Badge.test.tsx +41 -41
  109. package/src/components/Badge/Badge.tsx +64 -62
  110. package/src/components/Block/Block.stories.tsx +30 -11
  111. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +142 -23
  112. package/src/components/Breadcrumb/Breadcrumb.tsx +62 -60
  113. package/src/components/Button/Button.stories.tsx +454 -1126
  114. package/src/components/Button/Button.test.tsx +123 -0
  115. package/src/components/Button/Button.tsx +88 -60
  116. package/src/components/Button/ButtonGroup.stories.tsx +376 -215
  117. package/src/components/Button/ButtonGroup.tsx +4 -15
  118. package/src/components/Callout/Callout.stories.tsx +316 -568
  119. package/src/components/Card/Card.stories.tsx +292 -81
  120. package/src/components/Card/Card.tsx +30 -14
  121. package/src/components/Chart/AreaChart.tsx +1 -1
  122. package/src/components/Chart/CandlestickChart.tsx +23 -16
  123. package/src/components/Chart/Chart.stories.tsx +153 -16
  124. package/src/components/Chart/Chart.tsx +40 -44
  125. package/src/components/Chart/ChartRenderer.tsx +39 -12
  126. package/src/components/Chart/ChartToolbar.tsx +21 -5
  127. package/src/components/Chart/DonutChart.tsx +1 -1
  128. package/src/components/Chart/FunnelChart.tsx +4 -1
  129. package/src/components/Chart/GaugeChart.tsx +3 -1
  130. package/src/components/Chart/HeatmapChart.tsx +50 -37
  131. package/src/components/Chart/LineChart.tsx +3 -2
  132. package/src/components/Chart/MultiAxisChart.tsx +24 -16
  133. package/src/components/Chart/RadarChart.tsx +19 -17
  134. package/src/components/Chart/ScatterChart.tsx +29 -21
  135. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +152 -66
  136. package/src/components/ColorModeToggle/ColorModeToggle.tsx +15 -3
  137. package/src/components/Countdown/Countdown.stories.tsx +114 -7
  138. package/src/components/DataTable/DataTable.stories.tsx +349 -144
  139. package/src/components/DataTable/DataTable.test.tsx +26 -148
  140. package/src/components/DataTable/DataTable.tsx +485 -456
  141. package/src/components/DatePicker/DatePicker.stories.tsx +310 -1066
  142. package/src/components/DatePicker/DatePicker.tsx +31 -26
  143. package/src/components/Dropdown/Dropdown.stories.tsx +153 -36
  144. package/src/components/Dropdown/Dropdown.tsx +313 -299
  145. package/src/components/EdgePanel/EdgePanel.stories.tsx +221 -25
  146. package/src/components/EdgePanel/EdgePanel.tsx +1 -3
  147. package/src/components/Footer/Footer.stories.tsx +396 -327
  148. package/src/components/Footer/Footer.tsx +130 -128
  149. package/src/components/Footer/FooterLink.tsx +2 -2
  150. package/src/components/Form/Checkbox.stories.tsx +140 -6
  151. package/src/components/Form/Checkbox.test.tsx +63 -0
  152. package/src/components/Form/Checkbox.tsx +122 -78
  153. package/src/components/Form/Form.stories.tsx +110 -19
  154. package/src/components/Form/FormGroup.stories.tsx +127 -4
  155. package/src/components/Form/Input.stories.tsx +22 -39
  156. package/src/components/Form/Input.test.tsx +38 -44
  157. package/src/components/Form/Radio.stories.tsx +146 -17
  158. package/src/components/Form/Radio.tsx +68 -66
  159. package/src/components/Form/Select.stories.tsx +140 -8
  160. package/src/components/Form/Select.tsx +184 -182
  161. package/src/components/Form/Textarea.stories.tsx +149 -6
  162. package/src/components/Form/Textarea.test.tsx +27 -32
  163. package/src/components/Hero/Hero.stories.tsx +372 -38
  164. package/src/components/Hero/Hero.tsx +201 -55
  165. package/src/components/Icon/index.ts +7 -1
  166. package/src/components/List/List.stories.tsx +141 -3
  167. package/src/components/List/List.tsx +19 -23
  168. package/src/components/Modal/Modal.stories.tsx +183 -43
  169. package/src/components/Modal/Modal.tsx +130 -127
  170. package/src/components/Navigation/Menu/MegaMenu.tsx +70 -70
  171. package/src/components/Navigation/Nav/NavDropdown.tsx +1 -5
  172. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +128 -28
  173. package/src/components/Navigation/SideMenu/SideMenu.tsx +5 -7
  174. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +4 -5
  175. package/src/components/Pagination/Pagination.stories.tsx +7 -4
  176. package/src/components/Pagination/Pagination.tsx +199 -202
  177. package/src/components/PhotoViewer/PhotoViewer.tsx +4 -1
  178. package/src/components/Popover/Popover.stories.tsx +354 -97
  179. package/src/components/Popover/Popover.tsx +41 -37
  180. package/src/components/Progress/Progress.stories.tsx +160 -7
  181. package/src/components/River/River.stories.tsx +3 -2
  182. package/src/components/SectionIntro/SectionIntro.stories.tsx +239 -47
  183. package/src/components/Slider/Slider.stories.tsx +12 -4
  184. package/src/components/Spinner/Spinner.stories.tsx +104 -8
  185. package/src/components/Spinner/Spinner.test.tsx +23 -23
  186. package/src/components/Spinner/Spinner.tsx +43 -46
  187. package/src/components/Steps/Steps.stories.tsx +173 -42
  188. package/src/components/Tabs/Tabs.stories.tsx +141 -12
  189. package/src/components/Tabs/Tabs.tsx +74 -72
  190. package/src/components/Testimonial/Testimonial.stories.tsx +120 -3
  191. package/src/components/Todo/Todo.stories.tsx +198 -9
  192. package/src/components/Toggle/Toggle.stories.tsx +137 -36
  193. package/src/components/Toggle/Toggle.test.tsx +65 -70
  194. package/src/components/Toggle/Toggle.tsx +4 -1
  195. package/src/components/Tooltip/Tooltip.stories.tsx +194 -100
  196. package/src/components/Tooltip/Tooltip.tsx +104 -106
  197. package/src/components/Upload/Upload.stories.tsx +241 -150
  198. package/src/components/Upload/Upload.tsx +287 -283
  199. package/src/components/VideoPlayer/VideoPlayer.tsx +6 -1
  200. package/src/components/index.ts +13 -2
  201. package/src/layouts/Grid/Grid.stories.tsx +9 -3
  202. package/src/layouts/MasonryGrid/MasonryGrid.tsx +5 -1
  203. package/src/lib/README.md +2 -2
  204. package/src/lib/__tests__/theme-tools.test.ts +219 -0
  205. package/src/lib/composables/index.ts +2 -2
  206. package/src/lib/composables/shared-mouse-tracker.ts +13 -14
  207. package/src/lib/composables/useAtomixGlass.ts +126 -97
  208. package/src/lib/composables/useChartExport.ts +3 -8
  209. package/src/lib/composables/useDataTable.ts +72 -43
  210. package/src/lib/composables/useHero.ts +58 -14
  211. package/src/lib/composables/useHeroBackgroundSlider.ts +2 -9
  212. package/src/lib/composables/useInput.ts +10 -8
  213. package/src/lib/composables/useSideMenu.ts +6 -5
  214. package/src/lib/composables/useTooltip.ts +1 -2
  215. package/src/lib/composables/useVideoPlayer.ts +44 -35
  216. package/src/lib/config/index.ts +154 -154
  217. package/src/lib/constants/components.ts +9 -32
  218. package/src/lib/constants/cssVariables.ts +29 -29
  219. package/src/lib/hooks/__tests__/useComponentCustomization.test.ts +2 -6
  220. package/src/lib/hooks/index.ts +1 -1
  221. package/src/lib/hooks/useComponentCustomization.ts +11 -17
  222. package/src/lib/hooks/usePerformanceMonitor.ts +6 -7
  223. package/src/lib/patterns/__tests__/slots.test.ts +1 -1
  224. package/src/lib/patterns/index.ts +1 -1
  225. package/src/lib/patterns/slots.tsx +8 -13
  226. package/src/lib/storybook/InteractiveDemo.tsx +13 -18
  227. package/src/lib/storybook/PreviewContainer.tsx +1 -1
  228. package/src/lib/storybook/VariantsGrid.tsx +3 -7
  229. package/src/lib/storybook/index.ts +1 -1
  230. package/src/lib/theme/adapters/cssVariableMapper.ts +47 -74
  231. package/src/lib/theme/adapters/index.ts +3 -9
  232. package/src/lib/theme/adapters/themeAdapter.ts +41 -26
  233. package/src/lib/theme/config/index.ts +1 -1
  234. package/src/lib/theme/config/types.ts +2 -2
  235. package/src/lib/theme/config/validator.ts +10 -5
  236. package/src/lib/theme/constants/constants.ts +2 -2
  237. package/src/lib/theme/constants/index.ts +1 -2
  238. package/src/lib/theme/core/__tests__/createTheme.test.ts +20 -22
  239. package/src/lib/theme/core/composeTheme.ts +32 -26
  240. package/src/lib/theme/core/createTheme.ts +1 -1
  241. package/src/lib/theme/core/createThemeObject.ts +308 -301
  242. package/src/lib/theme/core/index.ts +3 -3
  243. package/src/lib/theme/devtools/CLI.ts +107 -105
  244. package/src/lib/theme/devtools/Comparator.tsx +50 -32
  245. package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +50 -48
  246. package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +257 -63
  247. package/src/lib/theme/devtools/Inspector.tsx +75 -60
  248. package/src/lib/theme/devtools/LiveEditor.tsx +97 -76
  249. package/src/lib/theme/devtools/Preview.tsx +150 -106
  250. package/src/lib/theme/devtools/ThemeValidator.ts +29 -21
  251. package/src/lib/theme/devtools/index.ts +3 -9
  252. package/src/lib/theme/devtools/useHistory.ts +23 -21
  253. package/src/lib/theme/errors/errors.ts +12 -11
  254. package/src/lib/theme/errors/index.ts +2 -7
  255. package/src/lib/theme/generators/generateCSS.ts +9 -13
  256. package/src/lib/theme/generators/generateCSSNested.ts +1 -6
  257. package/src/lib/theme/generators/generateCSSVariables.ts +673 -630
  258. package/src/lib/theme/generators/index.ts +1 -4
  259. package/src/lib/theme/i18n/index.ts +1 -1
  260. package/src/lib/theme/i18n/rtl.ts +13 -13
  261. package/src/lib/theme/index.ts +7 -16
  262. package/src/lib/theme/runtime/ThemeApplicator.ts +4 -4
  263. package/src/lib/theme/runtime/ThemeContext.tsx +1 -1
  264. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +19 -23
  265. package/src/lib/theme/runtime/ThemeProvider.tsx +230 -239
  266. package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +1 -1
  267. package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +24 -29
  268. package/src/lib/theme/runtime/index.ts +2 -5
  269. package/src/lib/theme/runtime/useTheme.ts +18 -18
  270. package/src/lib/theme/runtime/useThemeTokens.ts +22 -22
  271. package/src/lib/theme/test/testTheme.ts +15 -16
  272. package/src/lib/theme/tokens/index.ts +2 -7
  273. package/src/lib/theme/tokens/tokens.ts +25 -24
  274. package/src/lib/theme/types.ts +428 -411
  275. package/src/lib/theme/utils/__tests__/themeValidation.test.ts +3 -3
  276. package/src/lib/theme/utils/componentTheming.ts +18 -18
  277. package/src/lib/theme/utils/domUtils.ts +277 -289
  278. package/src/lib/theme/utils/index.ts +1 -2
  279. package/src/lib/theme/utils/injectCSS.ts +10 -14
  280. package/src/lib/theme/utils/naming.ts +20 -16
  281. package/src/lib/theme/utils/themeHelpers.ts +10 -12
  282. package/src/lib/theme/utils/themeUtils.ts +85 -86
  283. package/src/lib/theme/utils/themeValidation.ts +82 -33
  284. package/src/lib/theme-tools.ts +8 -6
  285. package/src/lib/types/components.ts +172 -71
  286. package/src/lib/types/partProps.ts +1 -1
  287. package/src/lib/utils/__tests__/csv.test.ts +45 -0
  288. package/src/lib/utils/componentUtils.ts +8 -12
  289. package/src/lib/utils/csv.ts +19 -0
  290. package/src/lib/utils/dataTableExport.ts +2 -15
  291. package/src/lib/utils/fontPreloader.ts +10 -19
  292. package/src/lib/utils/icons.ts +4 -1
  293. package/src/lib/utils/index.ts +2 -6
  294. package/src/lib/utils/memoryMonitor.ts +10 -8
  295. package/src/lib/utils/themeNaming.ts +2 -2
  296. package/src/styles/01-settings/_index.scss +1 -1
  297. package/src/styles/01-settings/_settings.accordion.scss +28 -7
  298. package/src/styles/01-settings/_settings.colors.scss +11 -11
  299. package/src/styles/01-settings/_settings.design-tokens.scss +61 -50
  300. package/src/styles/01-settings/_settings.navbar.scss +1 -1
  301. package/src/styles/01-settings/_settings.spacing.scss +3 -4
  302. package/src/styles/01-settings/_settings.tooltip.scss +1 -1
  303. package/src/styles/01-settings/_settings.typography.scss +4 -4
  304. package/src/styles/02-tools/_tools.button.scss +51 -21
  305. package/src/styles/02-tools/_tools.utility-api.scss +38 -12
  306. package/src/styles/03-generic/_generic.root.scss +4 -3
  307. package/src/styles/06-components/_components.accordion.scss +56 -14
  308. package/src/styles/06-components/_components.atomix-glass.scss +13 -9
  309. package/src/styles/06-components/_components.button.scss +16 -4
  310. package/src/styles/06-components/_components.callout.scss +27 -21
  311. package/src/styles/06-components/_components.card.scss +5 -14
  312. package/src/styles/06-components/_components.chart.scss +22 -19
  313. package/src/styles/06-components/_components.checkbox.scss +25 -17
  314. package/src/styles/06-components/_components.color-mode-toggle.scss +3 -1
  315. package/src/styles/06-components/_components.edge-panel.scss +9 -2
  316. package/src/styles/06-components/_components.footer.scss +1 -1
  317. package/src/styles/06-components/_components.side-menu.scss +5 -5
  318. package/src/styles/06-components/_components.toggle.scss +18 -0
  319. package/src/styles/06-components/_index.scss +1 -1
  320. package/src/styles/06-components/old.chart.styles.scss +0 -2
  321. package/src/styles/99-utilities/_index.scss +2 -0
  322. package/src/styles/99-utilities/_utilities.border.scss +69 -27
  323. package/src/styles/99-utilities/_utilities.display.scss +1 -1
  324. package/src/styles/99-utilities/_utilities.opacity.scss +10 -0
  325. package/src/styles/99-utilities/_utilities.position.scss +16 -9
  326. package/src/styles/99-utilities/_utilities.scss +2 -0
  327. package/src/styles/99-utilities/_utilities.sizes.scss +47 -18
  328. package/src/styles/99-utilities/_utilities.spacing.scss +118 -66
  329. package/src/styles/99-utilities/_utilities.text-gradient.scss +45 -0
  330. package/src/styles/99-utilities/_utilities.text.scss +67 -46
  331. package/themes/dark-complementary/README.md +98 -0
  332. package/themes/dark-complementary/index.scss +158 -0
  333. package/themes/default-light/README.md +81 -0
  334. package/themes/default-light/index.scss +154 -0
  335. package/themes/high-contrast/README.md +105 -0
  336. package/themes/high-contrast/index.scss +172 -0
  337. package/themes/test-theme/README.md +38 -0
  338. package/themes/test-theme/index.scss +47 -0
  339. package/scripts/cli/templates-original-backup.js +0 -1655
  340. package/scripts/cli/templates_backup.js +0 -684
  341. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +0 -1438
  342. package/src/lib/composables/useButton.ts +0 -93
  343. package/src/lib/composables/useCheckbox.ts +0 -70
@@ -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
- 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;
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
- main: string;
50
- light?: string;
51
- dark?: string;
52
- contrastText?: string;
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
- /** 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
- };
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
- 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;
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
- 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;
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
- output?: {
142
- directory?: string;
143
- formats?: {
144
- expanded?: string;
145
- compressed?: string;
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
- 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;
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
- cssVariables?: Record<string, string>;
175
- classNames?: {
176
- theme?: string;
177
- colorMode?: string;
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
- * 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;
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
- * 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).
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
- 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.
208
- */
209
- extend?: ThemeTokens;
209
+ extend?: ThemeTokens;
210
210
 
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;
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
- * Register custom themes (optional)
221
- *
222
- * Define CSS or JavaScript themes that can be loaded dynamically.
223
- */
224
- themes?: Record<string, ThemeDefinition>;
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
- // 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[]>;
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
- return config;
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
- DEFAULT_CORNER_RADIUS: 16, // Fallback value matching design system
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)