@shohojdhara/atomix 0.3.15 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/build-tools/index.d.ts +31 -30
  2. package/build-tools/package.json +4 -21
  3. package/dist/atomix.css +20924 -2611
  4. package/dist/atomix.css.map +1 -1
  5. package/dist/atomix.min.css +76 -2
  6. package/dist/atomix.min.css.map +1 -1
  7. package/dist/build-tools/index.d.ts +31 -30
  8. package/dist/build-tools/package.json +4 -21
  9. package/dist/charts.js.map +1 -1
  10. package/dist/core.js.map +1 -1
  11. package/dist/forms.js.map +1 -1
  12. package/dist/heavy.js.map +1 -1
  13. package/dist/index.d.ts +144 -18
  14. package/dist/index.esm.js +110 -55
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js +110 -55
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.min.js +1 -1
  19. package/dist/index.min.js.map +1 -1
  20. package/dist/layout.js.map +1 -1
  21. package/dist/theme.d.ts +9 -9
  22. package/dist/theme.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/components/Accordion/Accordion.stories.tsx +32 -23
  25. package/src/components/Accordion/Accordion.test.tsx +70 -50
  26. package/src/components/Accordion/Accordion.tsx +99 -94
  27. package/src/components/AtomixGlass/AtomixGlass.test.tsx +1 -1
  28. package/src/components/AtomixGlass/GlassFilter.tsx +9 -16
  29. package/src/components/AtomixGlass/glass-utils.ts +4 -3
  30. package/src/components/AtomixGlass/shader-utils.ts +128 -52
  31. package/src/components/AtomixGlass/stories/Playground.stories.tsx +1 -1
  32. package/src/components/AtomixGlass/stories/Shaders.stories.tsx +1 -1
  33. package/src/components/Avatar/Avatar.stories.tsx +45 -62
  34. package/src/components/Avatar/Avatar.tsx +58 -56
  35. package/src/components/Badge/Badge.stories.tsx +20 -9
  36. package/src/components/Badge/Badge.test.tsx +41 -41
  37. package/src/components/Badge/Badge.tsx +64 -62
  38. package/src/components/Block/Block.stories.tsx +14 -4
  39. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +9 -8
  40. package/src/components/Breadcrumb/Breadcrumb.tsx +62 -60
  41. package/src/components/Button/Button.stories.tsx +13 -22
  42. package/src/components/Button/Button.test.tsx +97 -81
  43. package/src/components/Button/Button.tsx +46 -14
  44. package/src/components/Button/ButtonGroup.stories.tsx +37 -32
  45. package/src/components/Button/ButtonGroup.tsx +4 -15
  46. package/src/components/Callout/Callout.stories.tsx +109 -16
  47. package/src/components/Card/Card.stories.tsx +67 -36
  48. package/src/components/Card/Card.tsx +30 -14
  49. package/src/components/Chart/AreaChart.tsx +1 -1
  50. package/src/components/Chart/CandlestickChart.tsx +23 -16
  51. package/src/components/Chart/Chart.stories.tsx +4 -9
  52. package/src/components/Chart/Chart.tsx +40 -44
  53. package/src/components/Chart/ChartRenderer.tsx +39 -12
  54. package/src/components/Chart/ChartToolbar.tsx +21 -5
  55. package/src/components/Chart/DonutChart.tsx +1 -1
  56. package/src/components/Chart/FunnelChart.tsx +4 -1
  57. package/src/components/Chart/GaugeChart.tsx +3 -1
  58. package/src/components/Chart/HeatmapChart.tsx +50 -37
  59. package/src/components/Chart/LineChart.tsx +3 -2
  60. package/src/components/Chart/MultiAxisChart.tsx +24 -16
  61. package/src/components/Chart/RadarChart.tsx +19 -17
  62. package/src/components/Chart/ScatterChart.tsx +29 -21
  63. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +6 -2
  64. package/src/components/ColorModeToggle/ColorModeToggle.tsx +15 -3
  65. package/src/components/Countdown/Countdown.stories.tsx +7 -7
  66. package/src/components/DataTable/DataTable.stories.tsx +43 -38
  67. package/src/components/DataTable/DataTable.test.tsx +26 -148
  68. package/src/components/DataTable/DataTable.tsx +485 -456
  69. package/src/components/DatePicker/DatePicker.stories.tsx +32 -47
  70. package/src/components/DatePicker/DatePicker.tsx +31 -26
  71. package/src/components/Dropdown/Dropdown.stories.tsx +2 -5
  72. package/src/components/Dropdown/Dropdown.tsx +313 -299
  73. package/src/components/EdgePanel/EdgePanel.stories.tsx +6 -19
  74. package/src/components/EdgePanel/EdgePanel.tsx +1 -3
  75. package/src/components/Footer/Footer.stories.tsx +21 -16
  76. package/src/components/Footer/Footer.tsx +130 -128
  77. package/src/components/Footer/FooterLink.tsx +2 -2
  78. package/src/components/Form/Checkbox.test.tsx +49 -49
  79. package/src/components/Form/Checkbox.tsx +108 -100
  80. package/src/components/Form/Form.stories.tsx +2 -10
  81. package/src/components/Form/Input.stories.tsx +22 -39
  82. package/src/components/Form/Input.test.tsx +38 -44
  83. package/src/components/Form/Radio.stories.tsx +6 -12
  84. package/src/components/Form/Radio.tsx +68 -66
  85. package/src/components/Form/Select.tsx +184 -182
  86. package/src/components/Form/Textarea.test.tsx +27 -32
  87. package/src/components/Hero/Hero.stories.tsx +56 -23
  88. package/src/components/Hero/Hero.tsx +201 -55
  89. package/src/components/Icon/index.ts +7 -1
  90. package/src/components/List/List.tsx +19 -23
  91. package/src/components/Modal/Modal.stories.tsx +2 -1
  92. package/src/components/Modal/Modal.tsx +130 -127
  93. package/src/components/Navigation/Menu/MegaMenu.tsx +70 -70
  94. package/src/components/Navigation/Nav/NavDropdown.tsx +1 -5
  95. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +128 -28
  96. package/src/components/Navigation/SideMenu/SideMenu.tsx +5 -7
  97. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +4 -5
  98. package/src/components/Pagination/Pagination.stories.tsx +7 -4
  99. package/src/components/Pagination/Pagination.tsx +199 -202
  100. package/src/components/PhotoViewer/PhotoViewer.tsx +4 -1
  101. package/src/components/Popover/Popover.stories.tsx +99 -192
  102. package/src/components/Popover/Popover.tsx +41 -37
  103. package/src/components/Progress/Progress.stories.tsx +35 -44
  104. package/src/components/River/River.stories.tsx +2 -1
  105. package/src/components/SectionIntro/SectionIntro.stories.tsx +71 -71
  106. package/src/components/Slider/Slider.stories.tsx +12 -4
  107. package/src/components/Spinner/Spinner.stories.tsx +3 -1
  108. package/src/components/Spinner/Spinner.test.tsx +23 -23
  109. package/src/components/Spinner/Spinner.tsx +43 -46
  110. package/src/components/Steps/Steps.stories.tsx +8 -6
  111. package/src/components/Tabs/Tabs.stories.tsx +12 -9
  112. package/src/components/Tabs/Tabs.tsx +74 -72
  113. package/src/components/Toggle/Toggle.stories.tsx +27 -13
  114. package/src/components/Toggle/Toggle.test.tsx +65 -70
  115. package/src/components/Toggle/Toggle.tsx +4 -1
  116. package/src/components/Tooltip/Tooltip.stories.tsx +24 -20
  117. package/src/components/Tooltip/Tooltip.tsx +104 -106
  118. package/src/components/Upload/Upload.stories.tsx +129 -127
  119. package/src/components/Upload/Upload.tsx +287 -283
  120. package/src/components/VideoPlayer/VideoPlayer.tsx +6 -1
  121. package/src/components/index.ts +13 -2
  122. package/src/layouts/Grid/Grid.stories.tsx +9 -3
  123. package/src/layouts/MasonryGrid/MasonryGrid.tsx +5 -1
  124. package/src/lib/__tests__/theme-tools.test.ts +32 -6
  125. package/src/lib/composables/shared-mouse-tracker.ts +13 -14
  126. package/src/lib/composables/useAtomixGlass.ts +106 -49
  127. package/src/lib/composables/useChartExport.ts +1 -1
  128. package/src/lib/composables/useDataTable.ts +29 -17
  129. package/src/lib/composables/useHero.ts +58 -14
  130. package/src/lib/composables/useHeroBackgroundSlider.ts +2 -9
  131. package/src/lib/composables/useInput.ts +10 -8
  132. package/src/lib/composables/useSideMenu.ts +6 -5
  133. package/src/lib/composables/useTooltip.ts +1 -2
  134. package/src/lib/composables/useVideoPlayer.ts +44 -35
  135. package/src/lib/config/index.ts +154 -154
  136. package/src/lib/constants/cssVariables.ts +29 -29
  137. package/src/lib/hooks/__tests__/useComponentCustomization.test.ts +2 -6
  138. package/src/lib/hooks/index.ts +1 -1
  139. package/src/lib/hooks/useComponentCustomization.ts +11 -17
  140. package/src/lib/hooks/usePerformanceMonitor.ts +6 -7
  141. package/src/lib/patterns/__tests__/slots.test.ts +1 -1
  142. package/src/lib/patterns/index.ts +1 -1
  143. package/src/lib/patterns/slots.tsx +8 -13
  144. package/src/lib/storybook/InteractiveDemo.tsx +13 -18
  145. package/src/lib/storybook/PreviewContainer.tsx +1 -1
  146. package/src/lib/storybook/VariantsGrid.tsx +3 -7
  147. package/src/lib/storybook/index.ts +1 -1
  148. package/src/lib/theme/adapters/cssVariableMapper.ts +47 -74
  149. package/src/lib/theme/adapters/index.ts +3 -9
  150. package/src/lib/theme/adapters/themeAdapter.ts +41 -26
  151. package/src/lib/theme/config/index.ts +1 -1
  152. package/src/lib/theme/config/types.ts +2 -2
  153. package/src/lib/theme/config/validator.ts +10 -5
  154. package/src/lib/theme/constants/constants.ts +2 -2
  155. package/src/lib/theme/constants/index.ts +1 -2
  156. package/src/lib/theme/core/__tests__/createTheme.test.ts +20 -22
  157. package/src/lib/theme/core/composeTheme.ts +32 -26
  158. package/src/lib/theme/core/createTheme.ts +1 -1
  159. package/src/lib/theme/core/createThemeObject.ts +308 -301
  160. package/src/lib/theme/core/index.ts +3 -3
  161. package/src/lib/theme/devtools/CLI.ts +106 -104
  162. package/src/lib/theme/devtools/Comparator.tsx +50 -32
  163. package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +50 -48
  164. package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +257 -63
  165. package/src/lib/theme/devtools/Inspector.tsx +75 -60
  166. package/src/lib/theme/devtools/LiveEditor.tsx +97 -76
  167. package/src/lib/theme/devtools/Preview.tsx +150 -106
  168. package/src/lib/theme/devtools/ThemeValidator.ts +29 -21
  169. package/src/lib/theme/devtools/index.ts +3 -9
  170. package/src/lib/theme/devtools/useHistory.ts +23 -21
  171. package/src/lib/theme/errors/errors.ts +12 -11
  172. package/src/lib/theme/errors/index.ts +2 -7
  173. package/src/lib/theme/generators/generateCSS.ts +9 -13
  174. package/src/lib/theme/generators/generateCSSNested.ts +1 -6
  175. package/src/lib/theme/generators/generateCSSVariables.ts +673 -630
  176. package/src/lib/theme/generators/index.ts +1 -4
  177. package/src/lib/theme/i18n/index.ts +1 -1
  178. package/src/lib/theme/i18n/rtl.ts +13 -13
  179. package/src/lib/theme/index.ts +7 -16
  180. package/src/lib/theme/runtime/ThemeApplicator.ts +4 -4
  181. package/src/lib/theme/runtime/ThemeContext.tsx +1 -1
  182. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +19 -23
  183. package/src/lib/theme/runtime/ThemeProvider.tsx +230 -239
  184. package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +1 -1
  185. package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +24 -29
  186. package/src/lib/theme/runtime/index.ts +2 -5
  187. package/src/lib/theme/runtime/useTheme.ts +18 -18
  188. package/src/lib/theme/runtime/useThemeTokens.ts +22 -22
  189. package/src/lib/theme/test/testTheme.ts +15 -16
  190. package/src/lib/theme/tokens/index.ts +2 -7
  191. package/src/lib/theme/tokens/tokens.ts +25 -24
  192. package/src/lib/theme/types.ts +428 -411
  193. package/src/lib/theme/utils/__tests__/themeValidation.test.ts +3 -3
  194. package/src/lib/theme/utils/componentTheming.ts +18 -18
  195. package/src/lib/theme/utils/domUtils.ts +277 -289
  196. package/src/lib/theme/utils/index.ts +1 -2
  197. package/src/lib/theme/utils/injectCSS.ts +10 -14
  198. package/src/lib/theme/utils/naming.ts +20 -16
  199. package/src/lib/theme/utils/themeHelpers.ts +10 -12
  200. package/src/lib/theme/utils/themeUtils.ts +85 -86
  201. package/src/lib/theme/utils/themeValidation.ts +82 -33
  202. package/src/lib/theme-tools.ts +8 -6
  203. package/src/lib/types/components.ts +172 -71
  204. package/src/lib/types/partProps.ts +1 -1
  205. package/src/lib/utils/__tests__/csv.test.ts +1 -1
  206. package/src/lib/utils/componentUtils.ts +8 -12
  207. package/src/lib/utils/csv.ts +3 -1
  208. package/src/lib/utils/dataTableExport.ts +1 -5
  209. package/src/lib/utils/fontPreloader.ts +10 -19
  210. package/src/lib/utils/icons.ts +4 -1
  211. package/src/lib/utils/index.ts +2 -6
  212. package/src/lib/utils/memoryMonitor.ts +10 -8
  213. package/src/lib/utils/themeNaming.ts +2 -2
  214. package/src/styles/01-settings/_index.scss +0 -1
  215. package/src/styles/01-settings/_settings.colors.scss +8 -8
  216. package/src/styles/01-settings/_settings.design-tokens.scss +61 -50
  217. package/src/styles/01-settings/_settings.navbar.scss +1 -1
  218. package/src/styles/01-settings/_settings.spacing.scss +3 -4
  219. package/src/styles/01-settings/_settings.tooltip.scss +1 -1
  220. package/src/styles/01-settings/_settings.typography.scss +1 -1
  221. package/src/styles/02-tools/_tools.button.scss +51 -21
  222. package/src/styles/02-tools/_tools.utility-api.scss +30 -18
  223. package/src/styles/03-generic/_generic.root.scss +4 -3
  224. package/src/styles/06-components/_components.atomix-glass.scss +13 -9
  225. package/src/styles/06-components/_components.button.scss +16 -4
  226. package/src/styles/06-components/_components.callout.scss +27 -21
  227. package/src/styles/06-components/_components.card.scss +5 -14
  228. package/src/styles/06-components/_components.chart.scss +22 -19
  229. package/src/styles/06-components/_components.checkbox.scss +3 -1
  230. package/src/styles/06-components/_components.color-mode-toggle.scss +3 -1
  231. package/src/styles/06-components/_components.edge-panel.scss +9 -2
  232. package/src/styles/06-components/_components.footer.scss +1 -1
  233. package/src/styles/06-components/_components.side-menu.scss +5 -5
  234. package/src/styles/06-components/_components.toggle.scss +18 -0
  235. package/src/styles/06-components/_index.scss +1 -1
  236. package/src/styles/06-components/old.chart.styles.scss +0 -2
  237. package/src/styles/99-utilities/_utilities.border.scss +69 -27
  238. package/src/styles/99-utilities/_utilities.display.scss +1 -1
  239. package/src/styles/99-utilities/_utilities.opacity.scss +10 -0
  240. package/src/styles/99-utilities/_utilities.position.scss +16 -9
  241. package/src/styles/99-utilities/_utilities.scss +1 -1
  242. package/src/styles/99-utilities/_utilities.sizes.scss +47 -18
  243. package/src/styles/99-utilities/_utilities.spacing.scss +118 -66
  244. package/src/styles/99-utilities/_utilities.text-gradient.scss +30 -30
  245. package/src/styles/99-utilities/_utilities.text.scss +67 -46
@@ -5,62 +5,96 @@
5
5
 
6
6
  // Define utilities for borders
7
7
  $utilities-border: (
8
- 'border': (property: border,
8
+ 'border': (
9
+ property: border,
9
10
  class: u-border,
10
- values: (null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style) var(--#{config.$prefix}border-color),
11
+ values: (
12
+ null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style)
13
+ var(--#{config.$prefix}border-color),
11
14
  0: 0,
12
15
  ),
13
16
  ),
14
- 'border-top': (property: border-top,
17
+ 'border-top': (
18
+ property: border-top,
15
19
  class: u-border-t,
16
- values: (null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style) var(--#{config.$prefix}border-color),
20
+ values: (
21
+ null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style)
22
+ var(--#{config.$prefix}border-color),
17
23
  0: 0,
18
24
  ),
19
25
  ),
20
- 'border-end': (property: border-inline-end,
26
+ 'border-end': (
27
+ property: border-inline-end,
21
28
  class: u-border-e,
22
- values: (null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style) var(--#{config.$prefix}border-color),
29
+ values: (
30
+ null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style)
31
+ var(--#{config.$prefix}border-color),
23
32
  0: 0,
24
33
  ),
25
34
  ),
26
- 'border-bottom': (property: border-bottom,
35
+ 'border-bottom': (
36
+ property: border-bottom,
27
37
  class: u-border-b,
28
- values: (null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style) var(--#{config.$prefix}border-color),
38
+ values: (
39
+ null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style)
40
+ var(--#{config.$prefix}border-color),
29
41
  0: 0,
30
42
  ),
31
43
  ),
32
- 'border-start': (property: border-inline-start,
44
+ 'border-start': (
45
+ property: border-inline-start,
33
46
  class: u-border-s,
34
- values: (null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style) var(--#{config.$prefix}border-color),
47
+ values: (
48
+ null: var(--#{config.$prefix}border-width) var(--#{config.$prefix}border-style)
49
+ var(--#{config.$prefix}border-color),
35
50
  0: 0,
36
51
  ),
37
52
  ),
38
- 'border-color': (property: border-color,
53
+ 'border-color': (
54
+ property: border-color,
39
55
  class: u-border,
40
- local-vars: ('border-opacity': 1,
56
+ local-vars: (
57
+ 'border-opacity': 1,
41
58
  ),
42
59
  values: color-maps.$utilities-border-colors,
43
60
  ),
44
- 'subtle-border-color': (property: border-color,
61
+ 'subtle-border-color': (
62
+ property: border-color,
45
63
  class: u-border,
46
64
  values: color-maps.$utilities-border-subtle,
47
65
  ),
48
- 'border-width': (property: border-width,
66
+ 'border-width': (
67
+ property: border-width,
49
68
  class: u-border,
50
69
  values: border.$border-widths,
51
70
  ),
52
- 'border-opacity': (css-var: true,
71
+ 'border-style': (
72
+ property: border-style,
73
+ class: u-border,
74
+ values: (
75
+ solid: solid,
76
+ dashed: dashed,
77
+ dotted: dotted,
78
+ double: double,
79
+ none: none,
80
+ ),
81
+ ),
82
+ 'border-opacity': (
83
+ css-var: true,
53
84
  class: u-border-opacity,
54
- values: (10: 0.1,
85
+ values: (
86
+ 10: 0.1,
55
87
  25: 0.25,
56
88
  50: 0.5,
57
89
  75: 0.75,
58
90
  100: 1,
59
91
  ),
60
92
  ),
61
- 'rounded': (property: border-radius,
93
+ 'rounded': (
94
+ property: border-radius,
62
95
  class: u-rounded,
63
- values: (null: var(--#{config.$prefix}border-radius),
96
+ values: (
97
+ null: var(--#{config.$prefix}border-radius),
64
98
  0: 0,
65
99
  sm: var(--#{config.$prefix}border-radius-sm),
66
100
  md: var(--#{config.$prefix}border-radius),
@@ -71,9 +105,11 @@ $utilities-border: (
71
105
  pill: var(--#{config.$prefix}border-radius-pill),
72
106
  ),
73
107
  ),
74
- 'rounded-top': (property: border-start-start-radius border-start-end-radius,
108
+ 'rounded-top': (
109
+ property: border-start-start-radius border-start-end-radius,
75
110
  class: u-rounded-top,
76
- values: (null: var(--#{config.$prefix}border-radius),
111
+ values: (
112
+ null: var(--#{config.$prefix}border-radius),
77
113
  0: 0,
78
114
  sm: var(--#{config.$prefix}border-radius-sm),
79
115
  md: var(--#{config.$prefix}border-radius),
@@ -84,9 +120,11 @@ $utilities-border: (
84
120
  pill: var(--#{config.$prefix}border-radius-pill),
85
121
  ),
86
122
  ),
87
- 'rounded-end': (property: border-start-end-radius border-end-end-radius,
123
+ 'rounded-end': (
124
+ property: border-start-end-radius border-end-end-radius,
88
125
  class: u-rounded-end,
89
- values: (null: var(--#{config.$prefix}border-radius),
126
+ values: (
127
+ null: var(--#{config.$prefix}border-radius),
90
128
  0: 0,
91
129
  sm: var(--#{config.$prefix}border-radius-sm),
92
130
  md: var(--#{config.$prefix}border-radius),
@@ -97,9 +135,11 @@ $utilities-border: (
97
135
  pill: var(--#{config.$prefix}border-radius-pill),
98
136
  ),
99
137
  ),
100
- 'rounded-bottom': (property: border-end-end-radius border-end-start-radius,
138
+ 'rounded-bottom': (
139
+ property: border-end-end-radius border-end-start-radius,
101
140
  class: u-rounded-bottom,
102
- values: (null: var(--#{config.$prefix}border-radius),
141
+ values: (
142
+ null: var(--#{config.$prefix}border-radius),
103
143
  0: 0,
104
144
  sm: var(--#{config.$prefix}border-radius-sm),
105
145
  md: var(--#{config.$prefix}border-radius),
@@ -110,9 +150,11 @@ $utilities-border: (
110
150
  pill: var(--#{config.$prefix}border-radius-pill),
111
151
  ),
112
152
  ),
113
- 'rounded-start': (property: border-end-start-radius border-start-start-radius,
153
+ 'rounded-start': (
154
+ property: border-end-start-radius border-start-start-radius,
114
155
  class: u-rounded-start,
115
- values: (null: var(--#{config.$prefix}border-radius),
156
+ values: (
157
+ null: var(--#{config.$prefix}border-radius),
116
158
  0: 0,
117
159
  sm: var(--#{config.$prefix}border-radius-sm),
118
160
  md: var(--#{config.$prefix}border-radius),
@@ -123,4 +165,4 @@ $utilities-border: (
123
165
  pill: var(--#{config.$prefix}border-radius-pill),
124
166
  ),
125
167
  ),
126
- );
168
+ );
@@ -9,7 +9,7 @@ $utilities-display: (
9
9
  class: u,
10
10
  values: (
11
11
  inline: inline,
12
- 'inline-block': inline-block,
12
+ 'inline-block': inline-block,
13
13
  block: block,
14
14
  grid: grid,
15
15
  'inline-grid': inline-grid,
@@ -7,9 +7,19 @@ $utilities-opacity: (
7
7
  class: u-opacity,
8
8
  values: (
9
9
  0: 0,
10
+ 5: 0.05,
11
+ 10: 0.1,
12
+ 20: 0.2,
10
13
  25: 0.25,
14
+ 30: 0.3,
15
+ 40: 0.4,
11
16
  50: 0.5,
17
+ 60: 0.6,
18
+ 70: 0.7,
12
19
  75: 0.75,
20
+ 80: 0.8,
21
+ 90: 0.9,
22
+ 95: 0.95,
13
23
  100: 1,
14
24
  ),
15
25
  ),
@@ -3,31 +3,38 @@
3
3
 
4
4
  // Define utilities for position
5
5
  $utilities-position: (
6
- 'position': (property: position,
7
- class: u-position,
6
+ 'position': (
7
+ property: position,
8
+ class: u,
8
9
  values: static relative absolute fixed sticky,
9
10
  ),
10
- 'top': (property: top,
11
+ 'top': (
12
+ property: top,
11
13
  class: u-top,
12
14
  values: $position-values,
13
15
  ),
14
- 'bottom': (property: bottom,
16
+ 'bottom': (
17
+ property: bottom,
15
18
  class: u-bottom,
16
19
  values: $position-values,
17
20
  ),
18
- 'start': (property: inset-inline-start,
21
+ 'start': (
22
+ property: inset-inline-start,
19
23
  class: u-start,
20
24
  values: $position-values,
21
25
  ),
22
- 'end': (property: inset-inline-end,
26
+ 'end': (
27
+ property: inset-inline-end,
23
28
  class: u-end,
24
29
  values: $position-values,
25
30
  ),
26
- 'translate-middle': (property: transform,
31
+ 'translate-middle': (
32
+ property: transform,
27
33
  class: u-translate-middle,
28
- values: (null: translate(-50%, -50%),
34
+ values: (
35
+ null: translate(-50%, -50%),
29
36
  x: translateX(-50%),
30
37
  y: translateY(-50%),
31
38
  ),
32
39
  ),
33
- );
40
+ );
@@ -44,4 +44,4 @@ $utilities: map.merge($utilities, z-index.$utilities-z-index);
44
44
  $utilities: map.merge($utilities, textGradient.$utilities-text-gradient);
45
45
 
46
46
  // Generate all utility classes
47
- @include util-api.generate-utilities($utilities, breakpoints.$grid-breakpoints);
47
+ @include util-api.generate-utilities($utilities, breakpoints.$grid-breakpoints);
@@ -1,4 +1,5 @@
1
1
  @use 'sass:map';
2
+ @use '../01-settings/settings.spacing' as *;
2
3
 
3
4
  // Define utilities for sizes
4
5
  $utilities-sizes: (
@@ -6,22 +7,37 @@ $utilities-sizes: (
6
7
  responsive: true,
7
8
  property: width,
8
9
  class: u-w,
10
+ values: map.merge(
11
+ $spacing-sizes,
12
+ (
13
+ 5: 5%,
14
+ 10: 10%,
15
+ 25: 25%,
16
+ 50: 50%,
17
+ 75: 75%,
18
+ 100: 100%,
19
+ full: 100%,
20
+ auto: auto,
21
+ )
22
+ ),
23
+ ),
24
+ 'max-width': (
25
+ responsive: true,
26
+ property: max-width,
27
+ class: u-max-w,
9
28
  values: (
10
- 5: 5%,
11
- 10: 10%,
12
- 25: 25%,
13
- 50: 50%,
14
- 75: 75%,
15
29
  100: 100%,
16
- auto: auto,
30
+ full: 100%,
17
31
  ),
18
32
  ),
19
- 'max-width': (
33
+ 'min-width': (
20
34
  responsive: true,
21
- property: max-width,
22
- class: u-mw,
35
+ property: min-width,
36
+ class: u-min-w,
23
37
  values: (
38
+ 0: 0,
24
39
  100: 100%,
40
+ full: 100%,
25
41
  ),
26
42
  ),
27
43
  'viewport-width': (
@@ -44,21 +60,34 @@ $utilities-sizes: (
44
60
  responsive: true,
45
61
  property: height,
46
62
  class: u-h,
63
+ values: map.merge(
64
+ $spacing-sizes,
65
+ (
66
+ 5: 5%,
67
+ 10: 10%,
68
+ 25: 25%,
69
+ 50: 50%,
70
+ 75: 75%,
71
+ 100: 100%,
72
+ full: 100%,
73
+ auto: auto,
74
+ )
75
+ ),
76
+ ),
77
+ 'max-height': (
78
+ responsive: true,
79
+ property: max-height,
80
+ class: u-max-h,
47
81
  values: (
48
- 5: 5%,
49
- 10: 10%,
50
- 25: 25%,
51
- 50: 50%,
52
- 75: 75%,
53
82
  100: 100%,
54
- auto: auto,
55
83
  ),
56
84
  ),
57
- 'max-height': (
85
+ 'min-height': (
58
86
  responsive: true,
59
- property: max-height,
60
- class: u-mh,
87
+ property: min-height,
88
+ class: u-min-h,
61
89
  values: (
90
+ 0: 0,
62
91
  100: 100%,
63
92
  ),
64
93
  ),
@@ -3,141 +3,193 @@
3
3
 
4
4
  // Define utilities for spacing
5
5
  $utilities-spacing: (
6
- 'margin': (responsive: true,
6
+ 'margin': (
7
+ responsive: true,
7
8
  property: margin,
8
9
  class: u-m,
9
- values: map.merge($spacing-sizes,
10
- (auto: auto,
11
- )),
12
- ),
13
- 'margin-x': (responsive: true,
10
+ values: map.merge(
11
+ $spacing-sizes,
12
+ (
13
+ auto: auto,
14
+ )
15
+ ),
16
+ ),
17
+ 'margin-x': (
18
+ responsive: true,
14
19
  property: margin-inline,
15
20
  class: u-mx,
16
- values: map.merge($spacing-sizes,
17
- (auto: auto,
18
- )),
19
- ),
20
- 'margin-y': (responsive: true,
21
+ values: map.merge(
22
+ $spacing-sizes,
23
+ (
24
+ auto: auto,
25
+ )
26
+ ),
27
+ ),
28
+ 'margin-y': (
29
+ responsive: true,
21
30
  property: margin-block,
22
31
  class: u-my,
23
- values: map.merge($spacing-sizes,
24
- (auto: auto,
25
- )),
26
- ),
27
- 'margin-top': (responsive: true,
32
+ values: map.merge(
33
+ $spacing-sizes,
34
+ (
35
+ auto: auto,
36
+ )
37
+ ),
38
+ ),
39
+ 'margin-top': (
40
+ responsive: true,
28
41
  property: margin-top,
29
42
  class: u-mt,
30
- values: map.merge($spacing-sizes,
31
- (auto: auto,
32
- )),
33
- ),
34
- 'margin-end': (responsive: true,
43
+ values: map.merge(
44
+ $spacing-sizes,
45
+ (
46
+ auto: auto,
47
+ )
48
+ ),
49
+ ),
50
+ 'margin-end': (
51
+ responsive: true,
35
52
  property: margin-inline-end,
36
53
  class: u-me,
37
- values: map.merge($spacing-sizes,
38
- (auto: auto,
39
- )),
40
- ),
41
- 'margin-bottom': (responsive: true,
54
+ values: map.merge(
55
+ $spacing-sizes,
56
+ (
57
+ auto: auto,
58
+ )
59
+ ),
60
+ ),
61
+ 'margin-bottom': (
62
+ responsive: true,
42
63
  property: margin-bottom,
43
64
  class: u-mb,
44
- values: map.merge($spacing-sizes,
45
- (auto: auto,
46
- )),
47
- ),
48
- 'margin-start': (responsive: true,
65
+ values: map.merge(
66
+ $spacing-sizes,
67
+ (
68
+ auto: auto,
69
+ )
70
+ ),
71
+ ),
72
+ 'margin-start': (
73
+ responsive: true,
49
74
  property: margin-inline-start,
50
75
  class: u-ms,
51
- values: map.merge($spacing-sizes,
52
- (auto: auto,
53
- )),
54
- ),
55
- // Negative margin utilities
56
- 'negative-margin': (responsive: true,
57
- property: margin,
58
- class: u-m,
59
- values: $negative-spacers,
60
- ),
61
- 'negative-margin-x': (responsive: true,
76
+ values: map.merge(
77
+ $spacing-sizes,
78
+ (
79
+ auto: auto,
80
+ )
81
+ ),
82
+ ),
83
+ // Negative margin utilities — only generated when $enable-negative-margins is true
84
+ 'negative-margin': (
85
+ responsive: true,
86
+ property: margin,
87
+ class: u-m,
88
+ values: $negative-spacers,
89
+ generated: $enable-negative-margins,
90
+ ),
91
+ 'negative-margin-x': (
92
+ responsive: true,
62
93
  property: margin-inline,
63
94
  class: u-mx,
64
95
  values: $negative-spacers,
96
+ generated: $enable-negative-margins,
65
97
  ),
66
- 'negative-margin-y': (responsive: true,
98
+ 'negative-margin-y': (
99
+ responsive: true,
67
100
  property: margin-block,
68
101
  class: u-my,
69
102
  values: $negative-spacers,
103
+ generated: $enable-negative-margins,
70
104
  ),
71
- 'negative-margin-top': (responsive: true,
105
+ 'negative-margin-top': (
106
+ responsive: true,
72
107
  property: margin-top,
73
108
  class: u-mt,
74
109
  values: $negative-spacers,
110
+ generated: $enable-negative-margins,
75
111
  ),
76
- 'negative-margin-end': (responsive: true,
112
+ 'negative-margin-end': (
113
+ responsive: true,
77
114
  property: margin-inline-end,
78
115
  class: u-me,
79
116
  values: $negative-spacers,
117
+ generated: $enable-negative-margins,
80
118
  ),
81
- 'negative-margin-bottom': (responsive: true,
119
+ 'negative-margin-bottom': (
120
+ responsive: true,
82
121
  property: margin-bottom,
83
122
  class: u-mb,
84
123
  values: $negative-spacers,
124
+ generated: $enable-negative-margins,
85
125
  ),
86
- 'negative-margin-start': (responsive: true,
126
+ 'negative-margin-start': (
127
+ responsive: true,
87
128
  property: margin-inline-start,
88
129
  class: u-ms,
89
130
  values: $negative-spacers,
131
+ generated: $enable-negative-margins,
90
132
  ),
91
133
  // Padding utilities
92
- 'padding': (responsive: true,
93
- property: padding,
94
- class: u-p,
95
- values: $spacing-sizes,
96
- ),
97
- 'padding-x': (responsive: true,
134
+ 'padding': (
135
+ responsive: true,
136
+ property: padding,
137
+ class: u-p,
138
+ values: $spacing-sizes,
139
+ ),
140
+ 'padding-x': (
141
+ responsive: true,
98
142
  property: padding-inline,
99
143
  class: u-px,
100
144
  values: $spacing-sizes,
101
145
  ),
102
- 'padding-y': (responsive: true,
146
+ 'padding-y': (
147
+ responsive: true,
103
148
  property: padding-block,
104
149
  class: u-py,
105
150
  values: $spacing-sizes,
106
151
  ),
107
- 'padding-top': (responsive: true,
152
+ 'padding-top': (
153
+ responsive: true,
108
154
  property: padding-top,
109
155
  class: u-pt,
110
156
  values: $spacing-sizes,
111
157
  ),
112
- 'padding-end': (responsive: true,
158
+ 'padding-end': (
159
+ responsive: true,
113
160
  property: padding-inline-end,
114
161
  class: u-pe,
115
162
  values: $spacing-sizes,
116
163
  ),
117
- 'padding-bottom': (responsive: true,
164
+ 'padding-bottom': (
165
+ responsive: true,
118
166
  property: padding-bottom,
119
167
  class: u-pb,
120
168
  values: $spacing-sizes,
121
169
  ),
122
- 'padding-start': (responsive: true,
170
+ 'padding-start': (
171
+ responsive: true,
123
172
  property: padding-inline-start,
124
173
  class: u-ps,
125
174
  values: $spacing-sizes,
126
175
  ),
127
176
  // Gap utility
128
- 'gap': (responsive: true,
129
- property: gap,
130
- class: u-gap,
131
- values: $spacing-sizes,
132
- ),
133
- 'row-gap': (responsive: true,
177
+ 'gap': (
178
+ responsive: true,
179
+ property: gap,
180
+ class: u-gap,
181
+ values: $spacing-sizes,
182
+ ),
183
+ 'row-gap': (
184
+ responsive: true,
134
185
  property: row-gap,
135
186
  class: u-row-gap,
136
187
  values: $spacing-sizes,
137
188
  ),
138
- 'column-gap': (responsive: true,
189
+ 'column-gap': (
190
+ responsive: true,
139
191
  property: column-gap,
140
192
  class: u-column-gap,
141
193
  values: $spacing-sizes,
142
194
  ),
143
- );
195
+ );
@@ -9,37 +9,37 @@
9
9
  $utilities-text-gradient: (
10
10
  // Base text gradient utility - applies the core text gradient properties
11
11
  'text-gradient': (
12
- property: null, // No specific CSS property, we're only using local-vars
13
- class: u-text-gradient,
14
- values: (
15
- // Base class with no modifier applies the core text gradient styles
16
- 'base': null
12
+ property: null,
13
+ // No specific CSS property, we're only using local-vars
14
+ class: u-text-gradient,
15
+ values: (
16
+ null: null,
17
+ ),
18
+ local-vars: (
19
+ 'background-clip': text,
20
+ '-webkit-background-clip': text,
21
+ '-webkit-text-fill-color': transparent,
22
+ ),
17
23
  ),
18
- local-vars: (
19
- 'background-clip': text,
20
- '-webkit-background-clip': text,
21
- '-webkit-text-fill-color': transparent
22
- )
23
- ),
24
-
24
+
25
25
  // Text gradient color variations using existing CSS gradient tokens
26
26
  'text-gradient-colors': (
27
- property: background-image,
28
- class: u-text-gradient,
29
- values: (
30
- primary: var(--atomix-primary-gradient),
31
- secondary: var(--atomix-secondary-gradient),
32
- success: var(--atomix-success-gradient),
33
- warning: var(--atomix-warning-gradient),
34
- error: var(--atomix-error-gradient),
35
- info: var(--atomix-info-gradient),
36
- light: var(--atomix-light-gradient),
37
- dark: var(--atomix-dark-gradient)
38
- ),
39
- local-vars: (
40
- 'background-clip': text,
41
- '-webkit-background-clip': text,
42
- '-webkit-text-fill-color': transparent
27
+ property: background-image,
28
+ class: u-text-gradient,
29
+ values: (
30
+ primary: var(--atomix-primary-gradient),
31
+ secondary: var(--atomix-secondary-gradient),
32
+ success: var(--atomix-success-gradient),
33
+ warning: var(--atomix-warning-gradient),
34
+ error: var(--atomix-error-gradient),
35
+ info: var(--atomix-info-gradient),
36
+ light: var(--atomix-light-gradient),
37
+ dark: var(--atomix-dark-gradient),
38
+ ),
39
+ local-vars: (
40
+ 'background-clip': text,
41
+ '-webkit-background-clip': text,
42
+ '-webkit-text-fill-color': transparent,
43
+ ),
43
44
  )
44
- )
45
- );
45
+ );