@shohojdhara/atomix 0.2.4 → 0.2.5

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 (211) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1266 -1412
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1232 -876
  5. package/dist/index.esm.js +16212 -26364
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15652 -22298
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +15008 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1266 -1413
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1267 -1413
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15159 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1264 -1410
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1266 -1412
  22. package/dist/themes/shaj-default.min.css +3 -3
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +4 -26
  25. package/src/components/Accordion/Accordion.tsx +21 -12
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +487 -1215
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
  29. package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
  30. package/src/components/AtomixGlass/README.md +124 -2
  31. package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
  32. package/src/components/AtomixGlass/glass-utils.ts +263 -0
  33. package/src/components/AtomixGlass/shader-utils.ts +404 -236
  34. package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
  40. package/src/components/AtomixGlass/utils.ts +3 -3
  41. package/src/components/Avatar/Avatar.tsx +3 -0
  42. package/src/components/Avatar/AvatarGroup.tsx +2 -1
  43. package/src/components/Badge/Badge.stories.tsx +74 -54
  44. package/src/components/Badge/Badge.tsx +8 -12
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.tsx +3 -5
  47. package/src/components/Callout/Callout.stories.tsx +86 -35
  48. package/src/components/Callout/Callout.tsx +4 -0
  49. package/src/components/Card/Card.stories.tsx +89 -85
  50. package/src/components/Card/Card.tsx +15 -4
  51. package/src/components/Card/ElevationCard.tsx +2 -0
  52. package/src/components/Chart/AnimatedChart.tsx +179 -156
  53. package/src/components/Chart/AreaChart.tsx +123 -12
  54. package/src/components/Chart/BarChart.tsx +91 -100
  55. package/src/components/Chart/BaseChart.tsx +80 -0
  56. package/src/components/Chart/BubbleChart.tsx +114 -290
  57. package/src/components/Chart/CandlestickChart.tsx +282 -622
  58. package/src/components/Chart/Chart.stories.tsx +576 -179
  59. package/src/components/Chart/Chart.tsx +374 -75
  60. package/src/components/Chart/ChartRenderer.tsx +371 -220
  61. package/src/components/Chart/ChartToolbar.tsx +372 -61
  62. package/src/components/Chart/ChartTooltip.tsx +33 -18
  63. package/src/components/Chart/DonutChart.tsx +172 -254
  64. package/src/components/Chart/FunnelChart.tsx +169 -240
  65. package/src/components/Chart/GaugeChart.tsx +224 -392
  66. package/src/components/Chart/HeatmapChart.tsx +302 -440
  67. package/src/components/Chart/LineChart.tsx +148 -103
  68. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  69. package/src/components/Chart/PieChart.tsx +114 -64
  70. package/src/components/Chart/RadarChart.tsx +202 -218
  71. package/src/components/Chart/ScatterChart.tsx +111 -97
  72. package/src/components/Chart/TreemapChart.tsx +147 -222
  73. package/src/components/Chart/WaterfallChart.tsx +253 -291
  74. package/src/components/Chart/index.ts +11 -9
  75. package/src/components/Chart/types.ts +85 -9
  76. package/src/components/Chart/utils.ts +66 -0
  77. package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
  78. package/src/components/Countdown/Countdown.tsx +4 -0
  79. package/src/components/DataTable/DataTable.tsx +2 -1
  80. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  81. package/src/components/DatePicker/DatePicker.tsx +3 -9
  82. package/src/components/DatePicker/types.ts +5 -0
  83. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  84. package/src/components/Dropdown/Dropdown.tsx +26 -28
  85. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  86. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  87. package/src/components/Footer/Footer.stories.tsx +187 -60
  88. package/src/components/Footer/Footer.test.tsx +134 -0
  89. package/src/components/Footer/Footer.tsx +133 -34
  90. package/src/components/Footer/FooterLink.tsx +1 -1
  91. package/src/components/Footer/FooterSection.tsx +53 -36
  92. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  93. package/src/components/Footer/README.md +82 -3
  94. package/src/components/Footer/index.ts +1 -1
  95. package/src/components/Form/Checkbox.stories.tsx +13 -5
  96. package/src/components/Form/Checkbox.tsx +3 -6
  97. package/src/components/Form/Form.stories.tsx +10 -3
  98. package/src/components/Form/Form.tsx +2 -0
  99. package/src/components/Form/FormGroup.tsx +2 -1
  100. package/src/components/Form/Input.stories.tsx +12 -11
  101. package/src/components/Form/Input.tsx +97 -95
  102. package/src/components/Form/Radio.stories.tsx +22 -7
  103. package/src/components/Form/Radio.tsx +3 -6
  104. package/src/components/Form/Select.stories.tsx +21 -6
  105. package/src/components/Form/Select.tsx +3 -5
  106. package/src/components/Form/Textarea.stories.tsx +13 -11
  107. package/src/components/Form/Textarea.tsx +88 -86
  108. package/src/components/Hero/Hero.stories.tsx +2 -3
  109. package/src/components/Hero/Hero.tsx +5 -6
  110. package/src/components/Icon/Icon.tsx +12 -1
  111. package/src/components/List/List.tsx +2 -1
  112. package/src/components/List/ListGroup.tsx +2 -1
  113. package/src/components/Messages/Messages.tsx +3 -2
  114. package/src/components/Modal/Modal.stories.tsx +48 -34
  115. package/src/components/Modal/Modal.tsx +19 -23
  116. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  117. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  118. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  119. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  120. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  121. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  122. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  123. package/src/components/Pagination/Pagination.tsx +7 -6
  124. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  125. package/src/components/Popover/Popover.stories.tsx +32 -24
  126. package/src/components/Popover/Popover.tsx +4 -1
  127. package/src/components/ProductReview/ProductReview.tsx +8 -2
  128. package/src/components/Progress/Progress.tsx +2 -1
  129. package/src/components/Rating/Rating.stories.tsx +11 -6
  130. package/src/components/Rating/Rating.tsx +3 -5
  131. package/src/components/River/River.tsx +5 -5
  132. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  133. package/src/components/Slider/Slider.stories.tsx +4 -4
  134. package/src/components/Slider/Slider.tsx +4 -3
  135. package/src/components/Spinner/Spinner.tsx +2 -1
  136. package/src/components/Steps/Steps.stories.tsx +5 -4
  137. package/src/components/Steps/Steps.tsx +8 -5
  138. package/src/components/Tab/Tab.stories.tsx +4 -3
  139. package/src/components/Tab/Tab.tsx +8 -6
  140. package/src/components/Testimonial/Testimonial.tsx +8 -2
  141. package/src/components/Todo/Todo.tsx +2 -1
  142. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  143. package/src/components/Toggle/Toggle.tsx +8 -5
  144. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  145. package/src/components/Tooltip/Tooltip.tsx +9 -2
  146. package/src/components/Upload/Upload.stories.tsx +252 -0
  147. package/src/components/Upload/Upload.tsx +92 -53
  148. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  149. package/src/components/index.ts +0 -4
  150. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  151. package/src/layouts/Grid/Grid.tsx +20 -1
  152. package/src/layouts/Grid/GridCol.tsx +76 -48
  153. package/src/lib/composables/useAtomixGlass.ts +861 -44
  154. package/src/lib/composables/useBarChart.ts +13 -6
  155. package/src/lib/composables/useChart.ts +17 -13
  156. package/src/lib/composables/useChartExport.ts +19 -78
  157. package/src/lib/composables/useChartToolbar.ts +0 -1
  158. package/src/lib/composables/useEdgePanel.ts +111 -103
  159. package/src/lib/composables/useFooter.ts +3 -3
  160. package/src/lib/composables/useGlassContainer.ts +16 -7
  161. package/src/lib/composables/useLineChart.ts +8 -1
  162. package/src/lib/composables/useRiver.ts +5 -0
  163. package/src/lib/composables/useSlider.ts +62 -24
  164. package/src/lib/composables/useVideoPlayer.ts +60 -63
  165. package/src/lib/constants/components.ts +146 -32
  166. package/src/lib/types/components.ts +258 -10
  167. package/src/lib/utils/displacement-generator.ts +55 -49
  168. package/src/lib/utils/icons.ts +1 -1
  169. package/src/lib/utils/index.ts +16 -10
  170. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  171. package/src/styles/01-settings/_settings.animations.scss +5 -5
  172. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  173. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  174. package/src/styles/01-settings/_settings.background.scss +1 -4
  175. package/src/styles/01-settings/_settings.badge.scss +1 -1
  176. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  177. package/src/styles/01-settings/_settings.card.scss +1 -1
  178. package/src/styles/01-settings/_settings.chart.scss +65 -2
  179. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  180. package/src/styles/01-settings/_settings.footer.scss +35 -42
  181. package/src/styles/01-settings/_settings.input.scss +1 -1
  182. package/src/styles/01-settings/_settings.list.scss +1 -1
  183. package/src/styles/01-settings/_settings.rating.scss +1 -1
  184. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  185. package/src/styles/01-settings/_settings.upload.scss +6 -5
  186. package/src/styles/02-tools/_tools.animations.scss +4 -5
  187. package/src/styles/02-tools/_tools.background.scss +1 -13
  188. package/src/styles/02-tools/_tools.glass.scss +0 -1
  189. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  190. package/src/styles/03-generic/_generic.root.scss +1 -4
  191. package/src/styles/04-elements/_elements.body.scss +0 -1
  192. package/src/styles/06-components/_components.atomix-glass.scss +216 -39
  193. package/src/styles/06-components/_components.badge.scss +6 -8
  194. package/src/styles/06-components/_components.button.scss +8 -3
  195. package/src/styles/06-components/_components.card.scss +2 -14
  196. package/src/styles/06-components/_components.chart.scss +969 -1449
  197. package/src/styles/06-components/_components.dropdown.scss +19 -7
  198. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  199. package/src/styles/06-components/_components.footer.scss +166 -85
  200. package/src/styles/06-components/_components.input.scss +8 -9
  201. package/src/styles/06-components/_components.list.scss +1 -0
  202. package/src/styles/06-components/_components.modal.scss +5 -3
  203. package/src/styles/06-components/_components.skeleton.scss +8 -6
  204. package/src/styles/06-components/_components.upload.scss +219 -4
  205. package/src/styles/06-components/old.chart.styles.scss +1 -30
  206. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  207. package/src/styles/99-utilities/_utilities.scss +1 -1
  208. package/src/components/Chart/AdvancedChart.tsx +0 -624
  209. package/src/components/Chart/LineChartNew.tsx +0 -167
  210. package/src/components/Chart/RealTimeChart.tsx +0 -436
  211. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -1,72 +1,249 @@
1
- .atomix-glass {
2
- &__layer {
3
- pointer-events: none;
1
+ // Component: AtomixGlass
2
+ // =============================================================================
3
+
4
+ .c-atomix-glass {
5
+ position: relative;
6
+
7
+ // CSS custom property defaults
8
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
9
+ --atomix-glass-transform: none;
10
+ --atomix-glass-transition: opacity var(--atomix-transition-duration, 0.2s) ease-out;
11
+ --atomix-glass-position: absolute;
12
+ --atomix-glass-container-width: 100%;
13
+ --atomix-glass-container-height: 100%;
14
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
15
+
16
+ // Base layer styles for all effect layers (hover, border, overlay)
17
+ &__hover-1,
18
+ &__hover-2,
19
+ &__hover-3,
20
+ &__base,
21
+ &__overlay {
4
22
  position: absolute;
5
23
  inset: 0;
6
- border-radius: inherit;
7
- transform: inherit;
8
- transition: inherit;
24
+ pointer-events: none;
25
+ border-radius: var(--atomix-glass-radius);
26
+ transform: var(--atomix-glass-transform);
27
+ transition: var(--atomix-glass-transition);
28
+ }
29
+
30
+ // Interactive hover effects
31
+ &__hover-1,
32
+ &__hover-2,
33
+ &__hover-3 {
34
+ mix-blend-mode: overlay;
35
+ // Dynamic opacity and background are set via inline styles using CSS variables
36
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
37
+ background: var(--atomix-glass-hover-1-gradient, none);
38
+ }
39
+
40
+ &__hover-1 {
41
+ transition: opacity 0.2s ease-out;
42
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
43
+ background: var(--atomix-glass-hover-1-gradient, none);
44
+ }
45
+
46
+ &__hover-2 {
47
+ transition: opacity 0.4s ease-out;
48
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
49
+ background: var(--atomix-glass-hover-2-gradient, none);
50
+ }
51
+
52
+ &__hover-3 {
53
+ transition: opacity 0.6s ease-out;
54
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
55
+ background: var(--atomix-glass-hover-3-gradient, none);
56
+ }
57
+
58
+ // Base and overlay layers for over-light mode
59
+ &__base {
60
+ mix-blend-mode: soft-light;
61
+ // Dynamic opacity and background are set via inline styles using CSS variables
62
+ opacity: var(--atomix-glass-base-opacity, 0);
63
+ background: var(--atomix-glass-base-gradient, none);
9
64
  }
10
65
 
66
+ &__overlay {
67
+ mix-blend-mode: overlay;
68
+ // Dynamic opacity and background are set via inline styles using CSS variables
69
+ opacity: var(--atomix-glass-overlay-opacity, 0);
70
+ background: var(--atomix-glass-overlay-gradient, none);
71
+ }
72
+
73
+ &__overlay-highlight {
74
+ position: absolute;
75
+ inset: var(--atomix-spacing-0-5, 0.125rem);
76
+ pointer-events: none;
77
+ border-radius: var(--atomix-glass-radius);
78
+ transform: var(--atomix-glass-transform);
79
+ transition: var(--atomix-glass-transition);
80
+ mix-blend-mode: screen;
81
+ // Dynamic opacity and background are set via inline styles
82
+ // Opacity is calculated: opacityValues.over * OVERLAY_HIGHLIGHT.OPACITY_MULTIPLIER
83
+ // Background gradient uses constants for positioning
84
+ }
85
+
86
+ // Border effect layers - matching old version exactly
11
87
  &__border-1,
12
88
  &__border-2 {
13
- @extend .atomix-glass__layer;
89
+ // Static styles
90
+ padding: var(--atomix-glass-border-width);
14
91
  box-sizing: border-box;
15
- padding: 1.5px;
16
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
92
+ overflow: hidden;
93
+ pointer-events: none;
94
+ -webkit-mask:
95
+ linear-gradient(var(--atomix-black, #000000) 0 0) content-box,
96
+ linear-gradient(var(--atomix-black, #000000) 0 0);
17
97
  -webkit-mask-composite: xor;
98
+ mask:
99
+ linear-gradient(var(--atomix-black, #000000) 0 0) content-box,
100
+ linear-gradient(var(--atomix-black, #000000) 0 0);
18
101
  mask-composite: exclude;
19
- box-shadow: 0 0 0 0.5px rgba(255, 255, 255, 0.5) inset, 0 1px 3px rgba(255, 255, 255, 0.25) inset, 0 1px 4px rgba(0, 0, 0, 0.35);
20
- transition-property: transform;
102
+
103
+ // Dynamic values set via inline styles using CSS variables
104
+ position: var(--atomix-glass-position);
105
+ top: var(--atomix-glass-top);
106
+ left: var(--atomix-glass-left);
107
+ width: var(--atomix-glass-width);
108
+ height: var(--atomix-glass-height);
109
+ border-radius: var(--atomix-glass-radius);
110
+ transform: var(--atomix-glass-transform);
111
+ transition: var(--atomix-glass-transition);
21
112
  }
22
113
 
23
114
  &__border-1 {
24
- z-index: 5;
25
- opacity: 0.3;
115
+ opacity: var(--atomix-opacity-20, 0.2);
26
116
  mix-blend-mode: screen;
117
+ z-index: var(--atomix-z-index-5, 5);
118
+ // Dynamic gradient background set via CSS variable
119
+ background: var(--atomix-glass-border-gradient-1, none);
120
+ // Note: Box-shadow rgba values use CSS custom properties for colors via CSS variables
121
+ // These are set dynamically in TypeScript component via --atomix-glass-border-shadow
122
+ box-shadow: var(--atomix-glass-border-shadow, 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset, 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset, 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
27
123
  }
28
124
 
29
125
  &__border-2 {
30
- z-index: 6;
126
+ mix-blend-mode: overlay;
127
+ z-index: var(--atomix-z-index-6, 6);
128
+ // Dynamic gradient background set via CSS variable
129
+ background: var(--atomix-glass-border-gradient-2, none);
130
+ // Note: Box-shadow rgba values use CSS custom properties for colors via CSS variables
131
+ // These are set dynamically in TypeScript component via --atomix-glass-border-shadow
132
+ box-shadow: var(--atomix-glass-border-shadow, 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset, 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset, 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
31
133
  }
32
134
 
33
- &__hover-1,
34
- &__hover-2,
35
- &__hover-3 {
135
+ // Container styles
136
+ &__container {
137
+ width: var(--atomix-glass-container-width);
138
+ height: var(--atomix-glass-container-height);
139
+ position: relative;
140
+ border-radius: var(--atomix-glass-radius);
141
+ transition: border-radius 0.25s ease-out;
142
+ }
143
+
144
+ &__inner {
145
+ width: var(--atomix-glass-container-width);
146
+ height: var(--atomix-glass-container-height);
147
+ position: relative;
148
+ // Padding and border-radius are set dynamically via inline styles
149
+ border-radius: var(--atomix-glass-radius);
150
+ }
151
+
152
+ &__filter {
36
153
  position: absolute;
37
- inset: 0;
154
+ top: 0;
155
+ left: 0;
156
+ width: 100%;
157
+ height: 100%;
38
158
  pointer-events: none;
39
- border-radius: inherit;
40
- transform: inherit;
41
- transition: inherit;
42
- transition-property: transform, opacity;
43
159
  }
44
160
 
45
- &__hover-1 {
46
- opacity: 0;
161
+ &__filter-overlay {
162
+ position: absolute;
163
+ inset: 0;
164
+ pointer-events: none;
47
165
  }
48
166
 
49
- &__hover-2 {
50
- overflow: hidden;
51
- opacity: 0;
167
+ &__filter-shadow {
168
+ position: absolute;
169
+ inset: var(--atomix-glass-border-width);
170
+ pointer-events: none;
52
171
  }
53
172
 
54
- &__hover-3 {
55
- opacity: 0;
173
+ &__content {
174
+ position: relative;
175
+ width: var(--atomix-glass-container-width);
176
+ height: var(--atomix-glass-container-height);
56
177
  }
57
178
 
58
- &__base {
59
- @extend .atomix-glass__layer;
179
+ // Background layers for over-light mode
180
+ &__background-layer {
181
+ position: absolute;
182
+ pointer-events: none;
183
+ border-radius: var(--atomix-glass-radius);
184
+ transform: var(--atomix-glass-transform);
185
+ transition: var(--atomix-glass-transition);
60
186
  will-change: transform;
61
- transition-property: transform, opacity;
62
- opacity: 0;
187
+ // Dynamic values: position, width, height are set via inline styles
188
+ // Position comes from positionStyles, width/height from adjustedSize
189
+
190
+ // Dark background variant
191
+ &--dark {
192
+ background-color: var(--atomix-gray-9, #1f2937);
193
+ }
194
+
195
+ // Black background variant
196
+ &--black {
197
+ background-color: var(--atomix-black, #000000);
198
+ mix-blend-mode: overlay;
199
+ }
200
+
201
+ // Over-light state modifier (50% opacity for dark, 25% for black)
202
+ // When both --dark and --over-light modifiers are present
203
+ &--dark#{&}--over-light {
204
+ opacity: var(--atomix-opacity-50, 0.5);
205
+ }
206
+
207
+ &--black#{&}--over-light {
208
+ opacity: var(--atomix-opacity-25, 0.25);
209
+ }
210
+
211
+ // Hidden state modifier
212
+ &--hidden {
213
+ opacity: var(--atomix-opacity-0, 0);
214
+ }
63
215
  }
64
216
 
65
- &__overlay {
66
- @extend .atomix-glass__layer;
67
- mix-blend-mode: overlay;
68
- will-change: transform;
69
- transition-property: transform, opacity;
70
- opacity: 0;
217
+ // State modifiers
218
+ &--reduced-motion {
219
+ --atomix-glass-transition: none;
220
+
221
+ * {
222
+ transition: none !important;
223
+ }
224
+ }
225
+
226
+ &--high-contrast {
227
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
228
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
229
+ outline-offset: var(--atomix-spacing-0-5, 2px);
230
+ }
231
+
232
+ &--disabled-effects {
233
+ --atomix-glass-transform: none;
234
+ --atomix-glass-transition: none;
235
+ }
236
+
237
+ // Responsive and accessibility
238
+ @media (prefers-reduced-motion: reduce) {
239
+ --atomix-glass-transition: none;
240
+
241
+ * {
242
+ transition: none !important;
243
+ }
244
+ }
245
+
246
+ @media (prefers-contrast: high) {
247
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
71
248
  }
72
249
  }
@@ -51,14 +51,13 @@
51
51
  );
52
52
  border: 1px solid color-mix(in srgb, var(--#{$prefix}tag-color) 90%, transparent);
53
53
 
54
+ // // Outer depth and glass effect
55
+ // 0 1px 3px rgba(0, 0, 0, 0.2),
56
+ // 0 2px 8px rgba(0, 0, 0, 0.15),
57
+ // 0 4px 16px rgba(0, 0, 0, 0.1),
54
58
 
55
- // // Outer depth and glass effect
56
- // 0 1px 3px rgba(0, 0, 0, 0.2),
57
- // 0 2px 8px rgba(0, 0, 0, 0.15),
58
- // 0 4px 16px rgba(0, 0, 0, 0.1),
59
-
60
- // Subtle highlight on top edge
61
- // 0 -1px 0 rgba(255, 255, 255, 0.1);
59
+ // Subtle highlight on top edge
60
+ // 0 -1px 0 rgba(255, 255, 255, 0.1);
62
61
  }
63
62
 
64
63
  @each $color, $value in maps.$theme-colors {
@@ -81,4 +80,3 @@
81
80
  }
82
81
  }
83
82
  }
84
-
@@ -135,11 +135,16 @@
135
135
 
136
136
  // Glass morphism effect styles
137
137
  &--glass {
138
- @include dynamic-background(var(--#{config.$prefix}btn-bg), $background-transparency-enable: true);
138
+ @include dynamic-background(
139
+ var(--#{config.$prefix}btn-bg),
140
+ $background-transparency-enable: true
141
+ );
139
142
 
140
143
  &:hover {
141
- @include dynamic-background(var(--#{config.$prefix}btn-hover-bg), $background-transparency-enable: true);
144
+ @include dynamic-background(
145
+ var(--#{config.$prefix}btn-hover-bg),
146
+ $background-transparency-enable: true
147
+ );
142
148
  }
143
-
144
149
  }
145
150
  }
@@ -139,20 +139,8 @@
139
139
  }
140
140
 
141
141
  &--glass {
142
- background-color: transparent;
143
- padding: 0;
144
- border: none;
145
- display: block;
146
- border-radius: 0;
147
-
148
- #{$root}__glass-content {
149
- padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);
150
- max-width: var(--#{$prefix}card-width);
151
- border-radius: var(--#{$prefix}card-border-radius);
152
- width: 100%;
153
- @include dynamic-background(var(--#{$prefix}card-bg), $background-transparency-enable: true);
154
- background-blend-mode: overlay;
155
- }
142
+ max-width: none;
143
+ @include dynamic-background(var(--#{$prefix}card-bg), $background-transparency-enable: true);
156
144
  }
157
145
  }
158
146