@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
@@ -11,6 +11,7 @@
11
11
  @use 'sass:meta';
12
12
  @use '../01-settings/settings.config' as *;
13
13
  @use '../01-settings/settings.breakpoints' as *;
14
+ @use 'tools.breakpoints' as *;
14
15
 
15
16
  // Default config for utilities
16
17
  $utility-defaults: (
@@ -62,9 +63,10 @@ $utility-defaults: (
62
63
 
63
64
  @if map.get($utility, class) == null {
64
65
  // Generate class with property name as class
66
+ // Responsive infix goes between prefix and value: .u-prefix-{bp}-{value}
65
67
  $class-name: if(
66
68
  $key,
67
- '#{$property-class}-#{$escaped-key}#{$local-infix}',
69
+ '#{$property-class}#{$local-infix}-#{$escaped-key}',
68
70
  '#{$property-class}#{$local-infix}'
69
71
  );
70
72
 
@@ -77,15 +79,25 @@ $utility-defaults: (
77
79
  @each $property in $properties {
78
80
  #{$property}: $value if(map.get($utility, rtl), null, !important);
79
81
  }
80
- } @else {
82
+ } @else if $value != null {
83
+ // Guard: only emit property declaration if value is not null
81
84
  #{$property-class}: $value if(map.get($utility, rtl), null, !important);
82
85
  }
86
+
87
+ // Add local CSS variables if specified
88
+ $local-vars: map.get($utility, local-vars);
89
+ @if $local-vars and list.length($local-vars) > 0 {
90
+ @each $local-var-name, $local-var-value in $local-vars {
91
+ --#{$local-var-name}: #{$local-var-value};
92
+ }
93
+ }
83
94
  }
84
95
  } @else {
85
96
  // Generate class with custom class name
86
97
  $base-class: map.get($utility, class);
87
98
  $modifier: if($key, '-#{$escaped-key}', '');
88
99
 
100
+ // Responsive infix goes between class and modifier: .u-class-{bp}-{value}
89
101
  .#{$base-class}#{$local-infix}#{$modifier} {
90
102
  @if $css-var and $properties {
91
103
  // Handle CSS variable generation with properties
@@ -101,9 +113,18 @@ $utility-defaults: (
101
113
  @each $property in $properties {
102
114
  #{$property}: $value if(map.get($utility, rtl), null, !important);
103
115
  }
104
- } @else {
116
+ } @else if $value != null {
117
+ // Guard: only emit property declaration if value is not null
105
118
  #{$base-class}: $value if(map.get($utility, rtl), null, !important);
106
119
  }
120
+
121
+ // Add local CSS variables if specified
122
+ $local-vars: map.get($utility, local-vars);
123
+ @if $local-vars and list.length($local-vars) > 0 {
124
+ @each $local-var-name, $local-var-value in $local-vars {
125
+ --#{$local-var-name}: #{$local-var-value};
126
+ }
127
+ }
107
128
  }
108
129
  }
109
130
  }
@@ -115,7 +136,7 @@ $utility-defaults: (
115
136
 
116
137
  @if $responsive {
117
138
  @each $breakpoint in map.keys($breakpoints) {
118
- $infix: call($breakpoint-infix-generator, $breakpoint);
139
+ $infix: meta.call($breakpoint-infix-generator, $breakpoint);
119
140
 
120
141
  @include media-breakpoint-up($breakpoint) {
121
142
  @include generate-utility($utility, $infix);
@@ -133,11 +154,9 @@ $utility-defaults: (
133
154
  $breakpoint-infix-generator: null
134
155
  ) {
135
156
  // Set default breakpoint infix generator if not provided
136
- $breakpoint-infix-generator: if(
137
- $breakpoint-infix-generator,
138
- $breakpoint-infix-generator,
139
- get-breakpoint-infix
140
- );
157
+ @if not $breakpoint-infix-generator {
158
+ $breakpoint-infix-generator: meta.get-function('breakpoint-infix');
159
+ }
141
160
 
142
161
  @each $utility, $config in $utilities {
143
162
  // Merge default config
@@ -153,6 +172,7 @@ $utility-defaults: (
153
172
  rtl: map.get($config, rtl),
154
173
  css-var: map.get($config, css-var),
155
174
  local-vars: map.get($config, local-vars),
175
+ responsive: map.get($config, responsive),
156
176
  );
157
177
 
158
178
  @include generate-responsive-utilities(
@@ -160,14 +180,20 @@ $utility-defaults: (
160
180
  $breakpoints,
161
181
  $breakpoint-infix-generator
162
182
  );
183
+
184
+ // Generate print utilities if requested
185
+ @if map.get($config, print) == true {
186
+ @media print {
187
+ @include generate-utility($utility-map);
188
+ }
189
+ }
163
190
  }
164
191
  }
165
192
  }
166
193
 
167
194
  // Helper function to get breakpoint infix
168
- @function get-breakpoint-infix($breakpoint) {
169
- @return if($breakpoint == null, '', '-#{$breakpoint}');
170
- }
195
+ // Uses breakpoint-infix from _tools.breakpoints.scss
196
+ // Returns '' for the smallest breakpoint (xs), '-sm', '-md', etc. for others
171
197
 
172
198
  // Helper function to escape keys for safe CSS class names
173
199
  @function _escape-key($key) {
@@ -117,7 +117,9 @@
117
117
  --#{config.$prefix}border-radius-lg: #{border-radius.$border-radius-lg};
118
118
  --#{config.$prefix}border-radius-xl: #{border-radius.$border-radius-xl};
119
119
  --#{config.$prefix}border-radius-xxl: #{border-radius.$border-radius-xxl};
120
- --#{config.$prefix}border-radius-2xl: var(--#{config.$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
120
+ --#{config.$prefix}border-radius-2xl: var(
121
+ --#{config.$prefix}border-radius-xxl
122
+ ); // Deprecated in v5.3.0 for consistency
121
123
  --#{config.$prefix}border-radius-3xl: #{border-radius.$border-radius-3xl};
122
124
  --#{config.$prefix}border-radius-4xl: #{border-radius.$border-radius-4xl};
123
125
  --#{config.$prefix}border-radius-pill: #{border-radius.$border-radius-pill};
@@ -212,7 +214,6 @@
212
214
  @each $property, $value in color-maps.$focus-ring {
213
215
  --#{config.$prefix}focus-ring-#{$property}: #{$value};
214
216
  }
215
-
216
217
  }
217
218
 
218
219
  // Dark mode overrides
@@ -276,4 +277,4 @@
276
277
  --#{config.$prefix}form-valid-border-color: #{colors.$form-valid-border-color-dark};
277
278
  --#{config.$prefix}form-invalid-color: #{colors.$form-invalid-color-dark};
278
279
  --#{config.$prefix}form-invalid-border-color: #{colors.$form-invalid-border-color-dark};
279
- }
280
+ }
@@ -25,6 +25,12 @@
25
25
  --#{config.$prefix}accordion-icon-color: #{accordion.$accordion-icon-color};
26
26
  --#{config.$prefix}accordion-icon-transform: #{accordion.$accordion-icon-transform};
27
27
  --#{config.$prefix}accordion-disable-color: #{accordion.$accordion-disable-color};
28
+ --#{config.$prefix}accordion-focus-border-color: #{accordion.$accordion-focus-border-color};
29
+ --#{config.$prefix}accordion-header-font-size: #{accordion.$accordion-header-font-size};
30
+ --#{config.$prefix}accordion-header-font-weight: #{accordion.$accordion-header-font-weight};
31
+ --#{config.$prefix}accordion-header-inner-gap: #{rem(accordion.$accordion-header-inner-gap)};
32
+ --#{config.$prefix}accordion-transition: #{accordion.$accordion-transition};
33
+ --#{config.$prefix}accordion-panel-transition: #{accordion.$accordion-panel-transition};
28
34
  --panel-height: 0px;
29
35
 
30
36
  width: 100%;
@@ -33,6 +39,7 @@
33
39
  var(--#{config.$prefix}accordion-border-color);
34
40
  border-radius: var(--#{config.$prefix}accordion-border-radius);
35
41
  overflow: hidden;
42
+ transition: var(--#{config.$prefix}accordion-transition);
36
43
 
37
44
  &__header {
38
45
  display: flex;
@@ -45,6 +52,9 @@
45
52
  border: none;
46
53
  outline: none;
47
54
  cursor: pointer;
55
+ font-size: var(--#{config.$prefix}accordion-header-font-size);
56
+ font-weight: var(--#{config.$prefix}accordion-header-font-weight);
57
+ gap: var(--#{config.$prefix}accordion-header-inner-gap);
48
58
  @include basic-transition(background);
49
59
 
50
60
  @include dynamic-background(var(--#{config.$prefix}accordion-header-bg));
@@ -52,22 +62,32 @@
52
62
  &--icon-left {
53
63
  flex-direction: row-reverse;
54
64
  justify-content: flex-end;
55
- gap: var(--#{config.$prefix}accordion-header-padding-x);
56
65
  }
57
66
 
58
67
  &:hover {
59
68
  --#{config.$prefix}accordion-header-bg: var(--#{config.$prefix}accordion-header-bg-hover);
60
69
  }
70
+
71
+ @if accordion.$accordion-enable-focus-ring {
72
+ &:focus-visible {
73
+ outline: 2px solid var(--#{config.$prefix}accordion-focus-border-color);
74
+ outline-offset: 2px;
75
+ }
76
+ }
61
77
  }
62
78
 
63
79
  &__title {
64
- margin-right: rem(20px);
80
+ flex: 1;
65
81
  }
66
82
 
67
83
  &__icon {
68
84
  color: var(--#{config.$prefix}accordion-icon-color);
69
85
  font-size: var(--#{config.$prefix}accordion-icon-size);
70
86
  will-change: transform;
87
+ flex-shrink: 0;
88
+ display: inline-flex;
89
+ align-items: center;
90
+ justify-content: center;
71
91
 
72
92
  @include basic-transition();
73
93
  }
@@ -77,6 +97,10 @@
77
97
  overflow: hidden;
78
98
  will-change: height;
79
99
 
100
+ @if accordion.$accordion-enable-smooth-scroll {
101
+ scroll-behavior: smooth;
102
+ }
103
+
80
104
  @include basic-transition();
81
105
  }
82
106
 
@@ -107,25 +131,43 @@
107
131
 
108
132
  &.is-disabled {
109
133
  pointer-events: none;
134
+ cursor: not-allowed;
110
135
 
111
136
  --#{config.$prefix}accordion-header-color: var(--#{config.$prefix}accordion-disable-color);
112
137
  --#{config.$prefix}accordion-body-color: var(--#{config.$prefix}accordion-disable-color);
113
138
  --#{config.$prefix}accordion-icon-color: var(--#{config.$prefix}accordion-disable-color);
114
- }
115
139
 
116
- &--glass {
117
- border-color: transparent;
118
140
  #{$root}__header {
119
- @include dynamic-background(
120
- var(--#{config.$prefix}accordion-header-bg),
121
- $background-transparency-enable: true
122
- );
141
+ cursor: not-allowed;
123
142
  }
124
- #{$root}__body {
125
- @include dynamic-background(
126
- var(--#{config.$prefix}accordion-header-bg),
127
- $background-transparency-enable: true
128
- );
143
+ }
144
+
145
+ @if accordion.$accordion-enable-glass {
146
+ &--glass {
147
+ border-color: transparent;
148
+ #{$root}__header {
149
+ @include dynamic-background(
150
+ var(--#{config.$prefix}accordion-header-bg),
151
+ $background-transparency-enable: true
152
+ );
153
+ }
154
+ #{$root}__body {
155
+ @include dynamic-background(
156
+ var(--#{config.$prefix}accordion-header-bg),
157
+ $background-transparency-enable: true
158
+ );
159
+ }
160
+ }
161
+ }
162
+
163
+ // Reduced motion support
164
+ @media (prefers-reduced-motion: reduce) {
165
+ transition: none;
166
+
167
+ #{$root}__icon,
168
+ #{$root}__panel,
169
+ #{$root}__header {
170
+ transition: none;
129
171
  }
130
172
  }
131
173
  }
@@ -121,20 +121,24 @@
121
121
  mix-blend-mode: screen;
122
122
  z-index: var(--atomix-z-index-5, 5);
123
123
  background: var(--atomix-glass-border-gradient-1, none);
124
- box-shadow: var(--atomix-glass-border-shadow,
125
- 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
126
- 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
127
- 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
124
+ box-shadow: var(
125
+ --atomix-glass-border-shadow,
126
+ 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
127
+ 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
128
+ 0 0.25rem 1rem rgba(0, 0, 0, 0.35)
129
+ );
128
130
  }
129
131
 
130
132
  &__border-2 {
131
133
  mix-blend-mode: overlay;
132
134
  z-index: var(--atomix-z-index-6, 6);
133
135
  background: var(--atomix-glass-border-gradient-2, none);
134
- box-shadow: var(--atomix-glass-border-shadow,
135
- 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
136
- 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
137
- 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
136
+ box-shadow: var(
137
+ --atomix-glass-border-shadow,
138
+ 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
139
+ 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
140
+ 0 0.25rem 1rem rgba(0, 0, 0, 0.35)
141
+ );
138
142
  }
139
143
 
140
144
  // Container styles
@@ -254,4 +258,4 @@
254
258
  @media (prefers-contrast: high) {
255
259
  border-width: var(--atomix-spacing-0-5, 0.125rem);
256
260
  }
257
- }
261
+ }
@@ -149,15 +149,27 @@
149
149
  }
150
150
 
151
151
  &--active {
152
- --#{config.$prefix}btn-bg: var(--#{config.$prefix}btn-active-bg, var(--#{config.$prefix}btn-hover-bg));
153
- --#{config.$prefix}btn-color: var(--#{config.$prefix}btn-active-color, var(--#{config.$prefix}btn-hover-color));
154
- --#{config.$prefix}btn-border-color: var(--#{config.$prefix}btn-active-border-color, var(--#{config.$prefix}btn-hover-border-color));
152
+ --#{config.$prefix}btn-bg: var(
153
+ --#{config.$prefix}btn-active-bg,
154
+ var(--#{config.$prefix}btn-hover-bg)
155
+ );
156
+ --#{config.$prefix}btn-color: var(
157
+ --#{config.$prefix}btn-active-color,
158
+ var(--#{config.$prefix}btn-hover-color)
159
+ );
160
+ --#{config.$prefix}btn-border-color: var(
161
+ --#{config.$prefix}btn-active-border-color,
162
+ var(--#{config.$prefix}btn-hover-border-color)
163
+ );
155
164
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
156
165
  }
157
166
 
158
167
  &--selected {
159
168
  --#{config.$prefix}btn-border-width: 2px;
160
- --#{config.$prefix}btn-border-color: var(--#{config.$prefix}brand-border-subtle, var(--#{config.$prefix}primary));
169
+ --#{config.$prefix}btn-border-color: var(
170
+ --#{config.$prefix}brand-border-subtle,
171
+ var(--#{config.$prefix}primary)
172
+ );
161
173
  box-shadow: 0 0 0 2px rgba(var(--#{config.$prefix}primary-rgb, 124, 58, 237), 0.2);
162
174
  }
163
175
 
@@ -43,9 +43,13 @@
43
43
  padding: var(--#{config.$prefix}callout-padding-y) var(--#{config.$prefix}callout-padding-x);
44
44
  @include dynamic-background(var(--#{config.$prefix}callout-bg));
45
45
  border-radius: var(--#{config.$prefix}callout-border-radius);
46
- border: var(--#{config.$prefix}callout-border-witdh) solid var(--#{config.$prefix}callout-border-color);
47
- transition: opacity var(--#{config.$prefix}callout-transition-duration) var(--#{config.$prefix}callout-transition-timing),
48
- transform var(--#{config.$prefix}callout-transition-duration) var(--#{config.$prefix}callout-transition-timing);
46
+ border: var(--#{config.$prefix}callout-border-witdh) solid
47
+ var(--#{config.$prefix}callout-border-color);
48
+ transition:
49
+ opacity var(--#{config.$prefix}callout-transition-duration)
50
+ var(--#{config.$prefix}callout-transition-timing),
51
+ transform var(--#{config.$prefix}callout-transition-duration)
52
+ var(--#{config.$prefix}callout-transition-timing);
49
53
 
50
54
  &__content {
51
55
  width: 100%;
@@ -135,7 +139,8 @@
135
139
  position: relative;
136
140
  max-width: rem.rem(350px);
137
141
  width: 100%;
138
- padding: var(--#{config.$prefix}callout-tost-padding-y) var(--#{config.$prefix}callout-tost-padding-x);
142
+ padding: var(--#{config.$prefix}callout-tost-padding-y)
143
+ var(--#{config.$prefix}callout-tost-padding-x);
139
144
  flex-direction: column;
140
145
  align-items: flex-start;
141
146
  justify-content: flex-start;
@@ -151,7 +156,9 @@
151
156
  }
152
157
 
153
158
  &__actions {
154
- padding-left: calc(var(--#{config.$prefix}callout-icon-size) + var(--#{config.$prefix}callout-message-spacer));
159
+ padding-left: calc(
160
+ var(--#{config.$prefix}callout-icon-size) + var(--#{config.$prefix}callout-message-spacer)
161
+ );
155
162
  margin-top: var(--#{config.$prefix}callout-actions-spacer-y);
156
163
  }
157
164
 
@@ -170,29 +177,23 @@
170
177
 
171
178
  @each $color, $value in maps.$theme-colors {
172
179
  &--#{$color} {
173
- @if ($color =='primary') {
180
+ @if ($color == 'primary') {
174
181
  --#{config.$prefix}callout-bg: var(--#{config.$prefix}brand-bg-subtle);
175
182
  --#{config.$prefix}callout-border-color: var(--#{config.$prefix}brand-border-subtle);
176
183
  --#{config.$prefix}callout-icon-color: var(--#{config.$prefix}brand-text-emphasis);
177
- }
178
-
179
- @else if($color =='light') {
184
+ } @else if($color == 'light') {
180
185
  --#{config.$prefix}callout-title-color: var(--#{config.$prefix}dark);
181
186
  --#{config.$prefix}callout-text-color: var(--#{config.$prefix}dark);
182
187
  --#{config.$prefix}callout-bg: var(--#{config.$prefix}light);
183
188
  --#{config.$prefix}callout-border-color: var(--#{config.$prefix}primary-border-subtle);
184
189
  --#{config.$prefix}callout-icon-color: var(--#{config.$prefix}tertiary-text-emphasis);
185
- }
186
-
187
- @else if($color =='dark') {
190
+ } @else if($color == 'dark') {
188
191
  --#{config.$prefix}callout-title-color: var(--#{config.$prefix}light);
189
192
  --#{config.$prefix}callout-text-color: #{$gray-4};
190
193
  --#{config.$prefix}callout-bg: var(--#{config.$prefix}dark);
191
194
  --#{config.$prefix}callout-border-color: var(--#{config.$prefix}dark-border-subtle);
192
195
  --#{config.$prefix}callout-icon-color: var(--#{config.$prefix}light);
193
- }
194
-
195
- @else {
196
+ } @else {
196
197
  --#{config.$prefix}callout-bg: var(--#{config.$prefix}#{$color}-bg-subtle);
197
198
  --#{config.$prefix}callout-border-color: var(--#{config.$prefix}#{$color}-border-subtle);
198
199
  --#{config.$prefix}callout-icon-color: var(--#{config.$prefix}#{$color}-text-emphasis);
@@ -212,12 +213,15 @@
212
213
  justify-content: center;
213
214
  align-items: center;
214
215
  padding: var(--#{config.$prefix}callout-padding-y) var(--#{config.$prefix}callout-padding-x);
215
- border: var(--#{config.$prefix}callout-border-width) solid color-mix(in srgb, var(--#{config.$prefix}callout-border-color) 20%, transparent);
216
+ border: var(--#{config.$prefix}callout-border-width) solid
217
+ color-mix(in srgb, var(--#{config.$prefix}callout-border-color) 20%, transparent);
216
218
  max-width: var(--#{config.$prefix}callout-width);
217
219
  border-radius: var(--#{config.$prefix}callout-border-radius);
218
220
  width: 100%;
219
- @include dynamic-background(var(--#{config.$prefix}callout-bg),
220
- $background-transparency-enable: true);
221
+ @include dynamic-background(
222
+ var(--#{config.$prefix}callout-bg),
223
+ $background-transparency-enable: true
224
+ );
221
225
  }
222
226
 
223
227
  // Adjust text colors for glass effect
@@ -231,8 +235,10 @@
231
235
 
232
236
  // Glass effect for toast variant
233
237
  &#{$root}--toast {
234
- @include dynamic-background(var(--#{config.$prefix}callout-bg),
235
- $background-transparency-enable: true);
238
+ @include dynamic-background(
239
+ var(--#{config.$prefix}callout-bg),
240
+ $background-transparency-enable: true
241
+ );
236
242
  box-shadow:
237
243
  0 8px 32px rgba(0, 0, 0, 0.1),
238
244
  0 0 0 1px rgba(255, 255, 255, 0.1) inset;
@@ -311,4 +317,4 @@
311
317
  opacity: 1;
312
318
  transform: translateY(0);
313
319
  }
314
- }
320
+ }
@@ -199,8 +199,6 @@
199
199
  }
200
200
  }
201
201
 
202
-
203
-
204
202
  &--sm {
205
203
  --#{$prefix}card-spacer-y: #{rem(map.get(spacing.$spacing-sizes, 2))}; // 8px
206
204
  --#{$prefix}card-spacer-x: #{rem(map.get(spacing.$spacing-sizes, 2))}; // 8px
@@ -222,7 +220,6 @@
222
220
  @include dynamic-background(var(--#{$prefix}card-bg));
223
221
  }
224
222
 
225
-
226
223
  &--glass {
227
224
  max-width: none;
228
225
  @include dynamic-background(var(--#{$prefix}card-bg), $background-transparency-enable: true);
@@ -350,16 +347,14 @@
350
347
 
351
348
  @each $color, $value in maps.$theme-colors {
352
349
  &--#{$color} {
353
- @if ($color =='primary') {
350
+ @if ($color == 'primary') {
354
351
  --#{$prefix}card-bg: var(--#{$prefix}brand-bg-subtle);
355
352
  --#{$prefix}card-bg-hover: var(--#{$prefix}brand-bg-subtle);
356
353
  --#{$prefix}card-border-color: var(--#{$prefix}brand-border-subtle);
357
354
  --#{$prefix}card-title-color: var(--#{$prefix}brand-text-emphasis);
358
355
  --#{$prefix}card-icon-bg: var(--#{$prefix}brand-text-emphasis);
359
356
  --#{$prefix}card-icon-color: var(--#{$prefix}brand-bg-subtle);
360
- }
361
-
362
- @else if ($color =='dark') {
357
+ } @else if ($color == 'dark') {
363
358
  --#{$prefix}card-bg: var(--#{$prefix}dark);
364
359
  --#{$prefix}card-bg-hover: var(--#{$prefix}dark-hover);
365
360
  --#{$prefix}card-border-color: var(--#{$prefix}dark);
@@ -367,9 +362,7 @@
367
362
  --#{$prefix}card-text-color: var(--#{$prefix}light);
368
363
  --#{$prefix}card-icon-bg: var(--#{$prefix}light);
369
364
  --#{$prefix}card-icon-color: var(--#{$prefix}dark);
370
- }
371
-
372
- @else if ($color =='light') {
365
+ } @else if ($color == 'light') {
373
366
  --#{$prefix}card-bg: var(--#{$prefix}light);
374
367
  --#{$prefix}card-bg-hover: var(--#{$prefix}light-hover);
375
368
  --#{$prefix}card-border-color: var(--#{$prefix}light);
@@ -377,9 +370,7 @@
377
370
  --#{$prefix}card-text-color: var(--#{$prefix}dark);
378
371
  --#{$prefix}card-icon-bg: var(--#{$prefix}dark);
379
372
  --#{$prefix}card-icon-color: var(--#{$prefix}light);
380
- }
381
-
382
- @else {
373
+ } @else {
383
374
  --#{$prefix}card-bg: var(--#{$prefix}#{$color}-bg-subtle);
384
375
  --#{$prefix}card-bg-hover: var(--#{$prefix}#{$color}-bg-subtle);
385
376
  --#{$prefix}card-border-color: var(--#{$prefix}#{$color}-border-subtle);
@@ -456,4 +447,4 @@
456
447
  to {
457
448
  transform: rotate(360deg);
458
449
  }
459
- }
450
+ }
@@ -31,7 +31,7 @@
31
31
  border: var(--#{$prefix}chart-border-width) solid var(--#{$prefix}chart-border-color);
32
32
  border-radius: var(--#{$prefix}chart-border-radius);
33
33
  overflow: hidden;
34
- box-shadow:
34
+ box-shadow:
35
35
  0 1px 3px rgba(0, 0, 0, 0.12),
36
36
  0 1px 2px rgba(0, 0, 0, 0.24),
37
37
  0 0 0 1px rgba(var(--#{$prefix}primary-rgb), 0.05);
@@ -48,7 +48,7 @@
48
48
  content: '';
49
49
  position: absolute;
50
50
  inset: 0;
51
- background:
51
+ background:
52
52
  linear-gradient(
53
53
  135deg,
54
54
  rgba(var(--#{$prefix}primary-rgb), 0.08) 0%,
@@ -85,9 +85,13 @@
85
85
  rgba(var(--#{$prefix}secondary-rgb), 0.05),
86
86
  transparent
87
87
  );
88
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
88
+ -webkit-mask:
89
+ linear-gradient(#fff 0 0) content-box,
90
+ linear-gradient(#fff 0 0);
89
91
  -webkit-mask-composite: xor;
90
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
92
+ mask:
93
+ linear-gradient(#fff 0 0) content-box,
94
+ linear-gradient(#fff 0 0);
91
95
  mask-composite: exclude;
92
96
  pointer-events: none;
93
97
  z-index: 2;
@@ -96,7 +100,7 @@
96
100
  }
97
101
 
98
102
  &:hover {
99
- box-shadow:
103
+ box-shadow:
100
104
  0 8px 24px rgba(0, 0, 0, 0.12),
101
105
  0 4px 8px rgba(0, 0, 0, 0.16),
102
106
  0 0 0 1px rgba(var(--#{$prefix}primary-rgb), 0.1),
@@ -143,14 +147,14 @@
143
147
  background: var(--#{$prefix}body-bg);
144
148
  }
145
149
  &--elevated {
146
- box-shadow:
150
+ box-shadow:
147
151
  0 12px 32px rgba(0, 0, 0, 0.15),
148
152
  0 6px 12px rgba(0, 0, 0, 0.2),
149
153
  0 0 0 1px rgba(var(--#{$prefix}primary-rgb), 0.1),
150
154
  0 0 60px rgba(var(--#{$prefix}primary-rgb), 0.12);
151
155
 
152
156
  &:hover {
153
- box-shadow:
157
+ box-shadow:
154
158
  0 16px 40px rgba(0, 0, 0, 0.18),
155
159
  0 8px 16px rgba(0, 0, 0, 0.24),
156
160
  0 0 0 1px rgba(var(--#{$prefix}primary-rgb), 0.15),
@@ -190,12 +194,12 @@
190
194
 
191
195
  &--selected {
192
196
  border-color: rgba(var(--#{$prefix}primary-rgb), 0.3);
193
- box-shadow:
197
+ box-shadow:
194
198
  0 4px 16px rgba(0, 0, 0, 0.1),
195
199
  0 2px 4px rgba(0, 0, 0, 0.12),
196
200
  0 0 0 2px rgba(var(--#{$prefix}primary-rgb), 0.2),
197
201
  0 0 30px rgba(var(--#{$prefix}primary-rgb), 0.15);
198
- background:
202
+ background:
199
203
  linear-gradient(
200
204
  135deg,
201
205
  rgba(var(--#{$prefix}primary-rgb), 0.08) 0%,
@@ -213,7 +217,7 @@
213
217
  cursor: pointer;
214
218
 
215
219
  &:hover {
216
- box-shadow:
220
+ box-shadow:
217
221
  0 8px 24px rgba(0, 0, 0, 0.12),
218
222
  0 4px 8px rgba(0, 0, 0, 0.16),
219
223
  0 0 0 1px rgba(var(--#{$prefix}primary-rgb), 0.1),
@@ -222,7 +226,7 @@
222
226
  }
223
227
 
224
228
  &:active {
225
- box-shadow:
229
+ box-shadow:
226
230
  0 2px 8px rgba(0, 0, 0, 0.1),
227
231
  0 1px 2px rgba(0, 0, 0, 0.12);
228
232
  }
@@ -601,14 +605,13 @@
601
605
  content: '';
602
606
  position: absolute;
603
607
  inset: 0;
604
- background:
605
- linear-gradient(
606
- 180deg,
607
- rgba(var(--#{$prefix}primary-rgb), 0.03) 0%,
608
- transparent 30%,
609
- transparent 70%,
610
- rgba(var(--#{$prefix}secondary-rgb), 0.02) 100%
611
- );
608
+ background: linear-gradient(
609
+ 180deg,
610
+ rgba(var(--#{$prefix}primary-rgb), 0.03) 0%,
611
+ transparent 30%,
612
+ transparent 70%,
613
+ rgba(var(--#{$prefix}secondary-rgb), 0.02) 100%
614
+ );
612
615
  pointer-events: none;
613
616
  z-index: 1;
614
617
  }