@shohojdhara/atomix 0.6.2 → 0.6.3

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 (62) hide show
  1. package/README.md +510 -106
  2. package/dist/atomix.css +28 -24
  3. package/dist/atomix.css.map +1 -1
  4. package/dist/atomix.min.css +5 -5
  5. package/dist/atomix.min.css.map +1 -1
  6. package/dist/atomix.umd.js +1 -1
  7. package/dist/atomix.umd.js.map +1 -1
  8. package/dist/atomix.umd.min.js +1 -1
  9. package/dist/charts.d.ts +2 -2
  10. package/dist/charts.js +251 -131
  11. package/dist/charts.js.map +1 -1
  12. package/dist/core.d.ts +5 -39
  13. package/dist/core.js +254 -137
  14. package/dist/core.js.map +1 -1
  15. package/dist/forms.d.ts +2 -1
  16. package/dist/forms.js +342 -177
  17. package/dist/forms.js.map +1 -1
  18. package/dist/heavy.js +254 -135
  19. package/dist/heavy.js.map +1 -1
  20. package/dist/index.d.ts +141 -159
  21. package/dist/index.esm.js +348 -195
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +348 -195
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.min.js +1 -1
  26. package/dist/index.min.js.map +1 -1
  27. package/dist/theme.d.ts +14 -6
  28. package/dist/theme.js +2 -9
  29. package/dist/theme.js.map +1 -1
  30. package/package.json +26 -26
  31. package/src/components/AtomixGlass/AtomixGlass.tsx +1 -1
  32. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +8 -1
  33. package/src/components/AtomixGlass/glass-utils.ts +29 -0
  34. package/src/components/AtomixGlass/stories/Playground.stories.tsx +32 -1
  35. package/src/components/Button/Button.stories.tsx +1 -1
  36. package/src/components/Button/Button.tsx +6 -5
  37. package/src/components/Card/Card.tsx +2 -2
  38. package/src/components/Dropdown/Dropdown.tsx +1 -0
  39. package/src/components/EdgePanel/EdgePanel.tsx +1 -3
  40. package/src/components/Form/Select.test.tsx +75 -0
  41. package/src/components/Form/Select.tsx +348 -252
  42. package/src/components/Form/SelectOption.tsx +16 -10
  43. package/src/components/index.ts +1 -1
  44. package/src/layouts/CssGrid/index.ts +1 -0
  45. package/src/lib/composables/useAtomixGlass.ts +238 -138
  46. package/src/lib/composables/useAtomixGlassStyles.ts +201 -149
  47. package/src/lib/constants/components.ts +50 -35
  48. package/src/lib/theme/config/configLoader.ts +1 -1
  49. package/src/lib/theme/test/testTheme.ts +2 -2
  50. package/src/lib/theme/utils/themeUtils.ts +98 -110
  51. package/src/lib/types/components.ts +21 -63
  52. package/src/styles/01-settings/_settings.spacing.scss +6 -1
  53. package/src/styles/03-generic/_generic.reset.scss +1 -1
  54. package/src/styles/06-components/_components.atomix-glass.scss +20 -29
  55. package/src/styles/06-components/_components.data-table.scss +5 -4
  56. package/src/styles/06-components/_components.dynamic-background.scss +9 -8
  57. package/src/styles/06-components/_components.footer.scss +8 -7
  58. package/src/styles/06-components/_components.hero.scss +2 -2
  59. package/src/styles/06-components/_components.messages.scss +16 -16
  60. package/src/styles/06-components/_components.select.scss +15 -2
  61. package/src/styles/06-components/_components.upload.scss +3 -3
  62. package/CHANGELOG.md +0 -165
@@ -299,35 +299,35 @@ export interface AtomixGlassProps extends React.HTMLAttributes<HTMLDivElement> {
299
299
  /**
300
300
  * Phase 3: Responsive & Performance Optimization props
301
301
  */
302
-
302
+
303
303
  /**
304
304
  * Device preset for responsive optimization
305
- *
305
+ *
306
306
  * Pre-configured presets that adjust glass parameters based on device capabilities
307
307
  * - 'performance': Optimized for low-end devices (reduced octaves, lower quality)
308
308
  * - 'balanced': Balanced quality and performance (default)
309
309
  * - 'quality': Maximum visual quality (high octaves, ultra quality)
310
- *
310
+ *
311
311
  * @default 'balanced'
312
312
  */
313
313
  devicePreset?: 'performance' | 'balanced' | 'quality';
314
-
314
+
315
315
  /**
316
316
  * Disable responsive breakpoint system
317
- *
317
+ *
318
318
  * When true, disables automatic parameter adjustment based on viewport size
319
319
  * Use this when you want full manual control over all parameters
320
- *
320
+ *
321
321
  * @default false
322
322
  */
323
323
  disableResponsiveBreakpoints?: boolean;
324
324
 
325
325
  /**
326
326
  * Priority level for rendering and performance scheduling
327
- *
327
+ *
328
328
  * Controls the rendering priority of the glass effect, allowing for performance
329
329
  * optimization in complex scenes. Higher priority elements are rendered first.
330
- *
330
+ *
331
331
  * @default undefined
332
332
  */
333
333
  priority?: number;
@@ -361,6 +361,7 @@ export type ThemeColor =
361
361
  | 'invert'
362
362
  | 'brand'
363
363
  | 'error'
364
+ | 'danger'
364
365
  | 'success'
365
366
  | 'warning'
366
367
  | 'info'
@@ -370,7 +371,7 @@ export type ThemeColor =
370
371
  /**
371
372
  * Component variant including theme colors and outline variants
372
373
  */
373
- export type Variant = ThemeColor | `outline-${ThemeColor}` | 'link';
374
+ export type Variant = ThemeColor | `outline-${ThemeColor}` | 'link' | 'ghost';
374
375
 
375
376
  /**
376
377
  * Base component properties interface
@@ -1204,6 +1205,17 @@ export interface SpinnerProps extends BaseComponentProps {
1204
1205
  */
1205
1206
  'aria-label'?: string;
1206
1207
 
1208
+ /**
1209
+ * ARIA live region setting
1210
+ * @default 'polite'
1211
+ */
1212
+ 'aria-live'?: 'off' | 'assertive' | 'polite';
1213
+
1214
+ /**
1215
+ * ARIA description
1216
+ */
1217
+ 'aria-describe'?: string;
1218
+
1207
1219
  /**
1208
1220
  * ARIA role for the spinner
1209
1221
  * @default 'status'
@@ -1217,7 +1229,6 @@ export interface SpinnerProps extends BaseComponentProps {
1217
1229
  glass?: AtomixGlassProps | boolean;
1218
1230
  }
1219
1231
 
1220
-
1221
1232
  /**
1222
1233
  * Icon weight/style options
1223
1234
  */
@@ -1527,8 +1538,6 @@ export interface MegaMenuLinkProps extends BaseComponentProps {
1527
1538
  */
1528
1539
  linkComponent?: React.ElementType;
1529
1540
 
1530
-
1531
-
1532
1541
  /**
1533
1542
  * Link content
1534
1543
  */
@@ -2189,57 +2198,6 @@ export interface TodoProps extends BaseComponentProps {
2189
2198
  glass?: AtomixGlassProps | boolean;
2190
2199
  }
2191
2200
 
2192
- /**
2193
- * Spinner component properties
2194
- */
2195
- export interface SpinnerProps extends BaseComponentProps {
2196
- /**
2197
- * Spinner color variant
2198
- * @default 'primary'
2199
- */
2200
- variant?: ThemeColor;
2201
-
2202
- /**
2203
- * Spinner size
2204
- * @default 'md'
2205
- */
2206
- size?: Size;
2207
-
2208
- /**
2209
- * Whether the spinner should be displayed fullscreen
2210
- */
2211
- fullscreen?: boolean;
2212
-
2213
- /**
2214
- * Accessible label for screen readers
2215
- * @default 'Loading'
2216
- */
2217
- 'aria-label'?: string;
2218
-
2219
- /**
2220
- * ARIA live property to control how updates are announced
2221
- * @default 'polite'
2222
- */
2223
- 'aria-live'?: 'off' | 'polite' | 'assertive';
2224
-
2225
- /**
2226
- * ARIA descriptor property for additional description
2227
- */
2228
- 'aria-describe'?: string;
2229
-
2230
- /**
2231
- * ARIA role for the spinner
2232
- * @default 'status'
2233
- */
2234
- role?: 'status' | 'alert';
2235
-
2236
- /**
2237
- * Glass morphism effect for the spinner
2238
- * Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
2239
- */
2240
- glass?: AtomixGlassProps | boolean;
2241
- }
2242
-
2243
2201
  /**
2244
2202
  * Icon size options
2245
2203
  */
@@ -77,4 +77,9 @@ $spacing-sizes: (
77
77
  $spacing-important: false !default;
78
78
  $enable-negative-margins: false !default;
79
79
 
80
- $negative-spacers: if($enable-negative-margins, negativify-map($spacing-sizes), null) !default;
80
+ $negative-spacers: null !default;
81
+
82
+ @if $enable-negative-margins {
83
+ $negative-spacers: negativify-map($spacing-sizes) !default;
84
+ }
85
+
@@ -396,7 +396,7 @@ summary {
396
396
  min-width: 992px !important;
397
397
  }
398
398
 
399
- .container {
399
+ .o-container {
400
400
  min-width: 992px !important;
401
401
  }
402
402
  }
@@ -51,9 +51,9 @@
51
51
  --_glass-z-content: calc(var(--atomix-glass-base-z-index) + var(--atomix-z-index-content, 2));
52
52
 
53
53
  --atomix-glass-border-shadow:
54
- 0 0 0 0.5px var(--atomix-glass-border-color, rgba(255, 255, 255, 0.45)) inset,
55
- 0 1px 2px var(--atomix-glass-inner-shadow-color, rgba(255, 255, 255, 0.18)) inset,
56
- 0 2px 6px var(--atomix-glass-outer-shadow-color, rgba(0, 0, 0, 0.28));
54
+ 0 0 0 0.5px var(--atomix-glass-border-color, #{$glass-border-color}) inset,
55
+ 0 1px 2px var(--atomix-glass-inner-shadow-color, #{$glass-inner-shadow-color}) inset,
56
+ 0 2px 6px var(--atomix-glass-outer-shadow-color, #{$glass-outer-shadow-color});
57
57
 
58
58
  // Base layer styles for effect layers
59
59
  &__hover-1,
@@ -93,46 +93,37 @@
93
93
  }
94
94
 
95
95
  &__hover-1 {
96
- transition:
97
- var(--_glass-transition),
98
- background var(--atomix-transition-duration-base, 0.3s)
99
- var(--atomix-easing-base, cubic-bezier(0.23, 1, 0.32, 1));
100
96
  opacity: var(--atomix-glass-hover-1-opacity, 0);
101
97
  background: var(
102
98
  --atomix-glass-hover-1-gradient,
103
99
  radial-gradient(
104
100
  60% 60% at 50% 0%,
105
- var(--atomix-glass-hover-1-start-color, rgba(255, 255, 255, 0.18)) 0%,
106
- var(--atomix-glass-hover-1-end-color, rgba(255, 255, 255, 0)) 60%
101
+ var(--atomix-glass-hover-1-start-color, #{$glass-hover-1-start-color}) 0%,
102
+ var(--atomix-glass-hover-1-end-color, #{$glass-hover-1-end-color}) 60%
107
103
  )
108
104
  );
109
105
  }
110
106
 
111
107
  &__hover-2 {
112
- transition:
113
- var(--_glass-transition),
114
- background var(--atomix-transition-duration-base, 0.3s)
115
- var(--atomix-easing-base, cubic-bezier(0.23, 1, 0.32, 1));
116
108
  opacity: var(--atomix-glass-hover-2-opacity, 0);
117
109
  background: var(
118
110
  --atomix-glass-hover-2-gradient,
119
111
  radial-gradient(
120
112
  80% 80% at 50% 100%,
121
- var(--atomix-glass-hover-2-start-color, rgba(0, 0, 0, 0.12)) 0%,
122
- var(--atomix-glass-hover-2-end-color, rgba(0, 0, 0, 0)) 60%
113
+ var(--atomix-glass-hover-2-start-color, #{$glass-hover-2-start-color}) 0%,
114
+ var(--atomix-glass-hover-2-end-color, #{$glass-hover-2-end-color}) 60%
123
115
  )
124
116
  );
125
117
  }
126
118
 
127
119
  &__hover-3 {
128
- transition: var(--_glass-transition);
129
120
  opacity: var(--atomix-glass-hover-3-opacity, 0);
130
121
  background: var(
131
122
  --atomix-glass-hover-3-gradient,
132
123
  linear-gradient(
133
124
  180deg,
134
- var(--atomix-glass-hover-3-start-color, rgba(255, 255, 255, 0.06)) 0%,
135
- var(--atomix-glass-hover-3-end-color, rgba(255, 255, 255, 0)) 100%
125
+ var(--atomix-glass-hover-3-start-color, #{$glass-hover-3-start-color}) 0%,
126
+ var(--atomix-glass-hover-3-end-color, #{$glass-hover-3-end-color}) 100%
136
127
  )
137
128
  );
138
129
  }
@@ -144,8 +135,8 @@
144
135
  --atomix-glass-base-gradient,
145
136
  linear-gradient(
146
137
  180deg,
147
- var(--atomix-glass-base-start-color, rgba(255, 255, 255, 0.08)) 0%,
148
- var(--atomix-glass-base-end-color, rgba(255, 255, 255, 0.02)) 100%
138
+ var(--atomix-glass-base-start-color, #{$glass-base-start-color}) 0%,
139
+ var(--atomix-glass-base-end-color, #{$glass-base-end-color}) 100%
149
140
  )
150
141
  );
151
142
  }
@@ -157,8 +148,8 @@
157
148
  --atomix-glass-overlay-gradient,
158
149
  radial-gradient(
159
150
  120% 120% at 50% -10%,
160
- var(--atomix-glass-overlay-start-color, rgba(255, 255, 255, 0.12)) 0%,
161
- var(--atomix-glass-overlay-end-color, rgba(255, 255, 255, 0)) 40%
151
+ var(--atomix-glass-overlay-start-color, #{$glass-overlay-start-color}) 0%,
152
+ var(--atomix-glass-overlay-end-color, #{$glass-overlay-end-color}) 40%
162
153
  )
163
154
  );
164
155
  }
@@ -166,7 +157,7 @@
166
157
  &__overlay-highlight {
167
158
  position: absolute;
168
159
  inset: var(--atomix-spacing-0-5, 0.125rem);
169
-
160
+
170
161
  pointer-events: none;
171
162
  border-radius: var(--_glass-radius);
172
163
  transform: var(--_glass-transform);
@@ -178,8 +169,8 @@
178
169
  --atomix-glass-overlay-highlight-bg,
179
170
  linear-gradient(
180
171
  180deg,
181
- var(--atomix-glass-highlight-start-color, rgba(255, 255, 255, 0.24)) 0%,
182
- var(--atomix-glass-highlight-end-color, rgba(255, 255, 255, 0)) 60%
172
+ var(--atomix-glass-highlight-start-color, #{$glass-highlight-start-color}) 0%,
173
+ var(--atomix-glass-highlight-end-color, #{$glass-highlight-end-color}) 60%
183
174
  )
184
175
  );
185
176
  }
@@ -221,8 +212,8 @@
221
212
  &__border-backdrop {
222
213
  mix-blend-mode: overlay;
223
214
  z-index: var(--_glass-z-border-1);
224
- backdrop-filter: blur(30px) saturate(140%) brightness(110%);
225
- box-shadow: var(--atomix-glass-border-shadow);
215
+ backdrop-filter: #{$glass-backdrop-filter};
216
+ // box-shadow: var(--atomix-glass-border-shadow);
226
217
  }
227
218
 
228
219
  &__border-1 {
@@ -315,11 +306,11 @@
315
306
  z-index: var(--_glass-z-background);
316
307
 
317
308
  &--dark {
318
- background-color: var(--atomix-gray-9, #1f2937);
309
+ background-color: #{$glass-background-dark-color};
319
310
  }
320
311
 
321
312
  &--black {
322
- background-color: var(--atomix-black, #000000);
313
+ background-color: #{$glass-background-black-color};
323
314
  mix-blend-mode: overlay;
324
315
  }
325
316
 
@@ -3,6 +3,7 @@
3
3
  @use '../02-tools/tools.color-functions' as *;
4
4
  @use '../02-tools/tools.to-rgb' as *;
5
5
  @use '../02-tools/tools.background' as *;
6
+ @use '../02-tools/tools.rem' as *;
6
7
 
7
8
  // Component: DataTable
8
9
  // Description: Styles for the DataTable component
@@ -84,7 +85,7 @@
84
85
  }
85
86
 
86
87
  &__column-filter {
87
- width: 120px;
88
+ width: rem(120px);
88
89
  padding: 0.25rem 0.5rem;
89
90
  font-size: 0.875rem;
90
91
  border: 1px solid var(--#{config.$prefix}border-color);
@@ -102,7 +103,7 @@
102
103
  position: absolute;
103
104
  top: 0;
104
105
  right: 0;
105
- width: 4px;
106
+ width: rem(4px);
106
107
  height: 100%;
107
108
  cursor: col-resize;
108
109
  background-color: transparent;
@@ -159,7 +160,7 @@
159
160
 
160
161
  // Selection cell
161
162
  &__cell--selection {
162
- width: 48px;
163
+ width: rem(48px);
163
164
  text-align: center;
164
165
  padding: data-table.$data-table-cell-padding-y 0.5rem;
165
166
  }
@@ -254,7 +255,7 @@
254
255
 
255
256
  &__input {
256
257
  // Styles are now inherited from c-input class
257
- width: 240px;
258
+ width: rem(240px);
258
259
  }
259
260
  }
260
261
 
@@ -1,11 +1,12 @@
1
- @use '../../styles/01-settings/settings.colors' as *;
2
- @use '../../styles/01-settings/settings.background' as *;
3
- @use '../../styles/02-tools/tools.background' as *;
1
+ @use '../01-settings/settings.colors' as *;
2
+ @use '../01-settings/settings.background' as *;
3
+ @use '../02-tools/tools.background' as *;
4
+ @use '../02-tools/tools.rem' as *;
4
5
 
5
6
  .c-dynamic-background {
6
7
  // Base styles
7
- min-height: 200px;
8
- border-radius: 16px;
8
+ min-height: rem(200px);
9
+ border-radius: rem(16px);
9
10
 
10
11
  // Glass variant (default)
11
12
  &--glass {
@@ -37,9 +38,9 @@
37
38
  padding: $background-border-width;
38
39
  background: linear-gradient(
39
40
  $background-gradient-angle,
40
- rgba(255, 255, 255, $background-border-opacity * 1.2) 0%,
41
- rgba(255, 255, 255, $background-border-opacity * 0.6) 50%,
42
- rgba(255, 255, 255, $background-border-opacity * 0.3) 100%
41
+ rgba($white, $background-border-opacity * 1.2) 0%,
42
+ rgba($white, $background-border-opacity * 0.6) 50%,
43
+ rgba($white, $background-border-opacity * 0.3) 100%
43
44
  );
44
45
  -webkit-mask:
45
46
  linear-gradient(#fff 0 0) content-box,
@@ -7,6 +7,7 @@
7
7
  @use '../02-tools/tools.animations' as *;
8
8
  @use '../02-tools/tools.background' as *;
9
9
  @use '../02-tools/tools.to-rgb' as *;
10
+ @use '../01-settings/settings.colors' as *;
10
11
 
11
12
  .c-footer {
12
13
  $root: &;
@@ -85,7 +86,7 @@
85
86
  align-items: center;
86
87
  text-align: center;
87
88
  gap: clamp(1.5rem, 4vw, 2.5rem);
88
- max-width: 600px;
89
+ max-width: rem(600px);
89
90
  margin-left: auto;
90
91
  margin-right: auto;
91
92
  }
@@ -227,7 +228,7 @@
227
228
 
228
229
  &:not(#{$root}__section--collapsed) {
229
230
  #{$root}__section-content {
230
- max-height: 500px;
231
+ max-height: rem(500px);
231
232
  }
232
233
  }
233
234
  }
@@ -348,7 +349,7 @@
348
349
  background: linear-gradient(
349
350
  45deg,
350
351
  transparent 30%,
351
- rgba(255, 255, 255, 0.1) 50%,
352
+ rgba($white, 0.1) 50%,
352
353
  transparent 70%
353
354
  );
354
355
  transform: translateX(-100%);
@@ -546,7 +547,7 @@
546
547
  background: linear-gradient(
547
548
  45deg,
548
549
  transparent 30%,
549
- rgba(255, 255, 255, 0.2) 50%,
550
+ rgba($white, 0.2) 50%,
550
551
  transparent 70%
551
552
  );
552
553
  transform: translateX(-100%);
@@ -630,7 +631,7 @@
630
631
  background: linear-gradient(
631
632
  45deg,
632
633
  transparent 30%,
633
- rgba(255, 255, 255, 0.1) 50%,
634
+ rgba($white, 0.1) 50%,
634
635
  transparent 70%
635
636
  );
636
637
  transform: translateX(-100%);
@@ -729,7 +730,7 @@
729
730
  align-items: center;
730
731
  text-align: center;
731
732
  gap: clamp(1.5rem, 4vw, 2.5rem);
732
- max-width: 600px;
733
+ max-width: rem(600px);
733
734
  margin-left: auto;
734
735
  margin-right: auto;
735
736
  }
@@ -738,7 +739,7 @@
738
739
  &--flexible {
739
740
  #{$root}__section-col {
740
741
  flex: 1 1 auto;
741
- min-width: 250px;
742
+ min-width: rem(250px);
742
743
  }
743
744
  }
744
745
 
@@ -91,7 +91,7 @@
91
91
 
92
92
  @include media-breakpoint-up(md) {
93
93
  font-size: var(--#{$prefix}hero-title-font-size);
94
- line-height: 72px;
94
+ line-height: rem(72px);
95
95
  }
96
96
  }
97
97
 
@@ -111,7 +111,7 @@
111
111
  &__image {
112
112
  width: 100%;
113
113
  max-width: none;
114
- height: 380px;
114
+ height: rem(380px);
115
115
  @include object-fit(cover);
116
116
  }
117
117
 
@@ -357,8 +357,8 @@
357
357
  // Text messages styling
358
358
  #{$root}__text {
359
359
  backdrop-filter: blur(8px);
360
- border: 1px solid rgba(255, 255, 255, 0.2);
361
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
360
+ border: 1px solid rgba($white, 0.2);
361
+ box-shadow: 0 1px 3px rgba($black, 0.05);
362
362
  @include dynamic-background(var(--#{config.$prefix}body-bg), $enable-transparency: true);
363
363
  }
364
364
 
@@ -387,8 +387,8 @@
387
387
  #{$root}__file {
388
388
  border: 1px solid rgba(var(--#{config.$prefix}primary-rgb), 0.3);
389
389
  backdrop-filter: blur(8px);
390
- border: 1px solid rgba(255, 255, 255, 0.2);
391
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
390
+ border: 1px solid rgba($white, 0.2);
391
+ box-shadow: 0 1px 3px rgba($black, 0.05);
392
392
  @include dynamic-background(
393
393
  var(--#{config.$prefix}brand-bg-subtle),
394
394
  $enable-transparency: true
@@ -397,7 +397,7 @@
397
397
 
398
398
  #{$root}__file-icon {
399
399
  backdrop-filter: blur(8px);
400
- border: 1px solid rgba(255, 255, 255, 0.15);
400
+ border: 1px solid rgba($white, 0.15);
401
401
  @include dynamic-background(
402
402
  var(--#{config.$prefix}brand-bg-subtle),
403
403
  $enable-transparency: true
@@ -406,44 +406,44 @@
406
406
 
407
407
  // Image styling
408
408
  #{$root}__image {
409
- border: 1px solid rgba(255, 255, 255, 0.3);
410
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
409
+ border: 1px solid rgba($white, 0.3);
410
+ box-shadow: 0 2px 8px rgba($black, 0.1);
411
411
  }
412
412
 
413
413
  // Avatar styling
414
414
  #{$root}__avatar {
415
- border: 2px solid rgba(255, 255, 255, 0.4);
416
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
415
+ border: 2px solid rgba($white, 0.4);
416
+ box-shadow: 0 2px 6px rgba($black, 0.1);
417
417
  }
418
418
 
419
419
  // Name label styling
420
420
  #{$root}__name {
421
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
421
+ text-shadow: 0 1px 2px rgba($black, 0.1);
422
422
  font-weight: typo.$font-weight-semibold;
423
423
  }
424
424
 
425
425
  // Time label styling
426
426
  #{$root}__time {
427
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
427
+ text-shadow: 0 1px 2px rgba($black, 0.1);
428
428
  }
429
429
 
430
430
  // Enhanced form styling
431
431
  #{$root}__form {
432
432
  padding-top: rem.rem(12px);
433
- border-top: 1px solid rgba(255, 255, 255, 0.2);
433
+ border-top: 1px solid rgba($white, 0.2);
434
434
  margin-top: rem.rem(16px);
435
435
  }
436
436
 
437
437
  // Input group styling
438
438
  #{$root}__input {
439
- background: rgba(255, 255, 255, 0.3);
439
+ background: rgba($white, 0.3);
440
440
  backdrop-filter: blur(8px);
441
- border: 1px solid rgba(255, 255, 255, 0.3);
442
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
441
+ border: 1px solid rgba($white, 0.3);
442
+ box-shadow: 0 1px 4px rgba($black, 0.05);
443
443
  color: var(--#{config.$prefix}primary-text-emphasis);
444
444
 
445
445
  &:focus {
446
- background: rgba(255, 255, 255, 0.45);
446
+ background: rgba($white, 0.45);
447
447
  border-color: var(--#{config.$prefix}primary);
448
448
  box-shadow: 0 0 0 3px rgba(var(--#{config.$prefix}primary-rgb), 0.15);
449
449
  }
@@ -71,7 +71,7 @@
71
71
  @include transition.basic-transition();
72
72
  }
73
73
 
74
- &__dropdown {
74
+ &__body {
75
75
  position: absolute;
76
76
  width: 100%;
77
77
  height: 0px;
@@ -80,7 +80,6 @@
80
80
  border-radius: var(--#{$prefix}select-panel-border-radius);
81
81
  box-shadow: var(--#{$prefix}select-panel-box-shadow);
82
82
  overflow: hidden;
83
- z-index: 99;
84
83
  @include transition.basic-transition;
85
84
  @include dynamic-background(var(--#{$prefix}select-panel-bg));
86
85
  }
@@ -116,6 +115,20 @@
116
115
  --#{$prefix}select-font-size: var(--#{$prefix}select-font-size-lg);
117
116
  }
118
117
 
118
+ &--glass {
119
+ #{$root}__selected {
120
+ @include dynamic-background(var(--#{$prefix}select-bg), 0.5, true);
121
+ }
122
+
123
+ #{$root}__body {
124
+ @include dynamic-background(var(--#{$prefix}select-panel-bg), 0.5, true);
125
+ }
126
+
127
+ #{$root}__item {
128
+ @include dynamic-background(var(--#{$prefix}select-item-bg), 0.2, true);
129
+ }
130
+ }
131
+
119
132
  &.is-open {
120
133
  --#{$prefix}select-bg: var(--#{$prefix}select-expanded-bg);
121
134
  #{$root}__toggle-icon {
@@ -187,7 +187,7 @@
187
187
 
188
188
  &__loader-progress {
189
189
  display: flex;
190
- gap: 10px;
190
+ gap: rem(10px);
191
191
  color: var(--#{$prefix}upload-loader-text-color);
192
192
  font-size: var(--#{$prefix}upload-loader-text-font-size);
193
193
  line-height: 1.43;
@@ -222,8 +222,8 @@
222
222
  }
223
223
 
224
224
  &__loader-bar {
225
- width: 22px;
226
- height: 22px;
225
+ width: rem(22px);
226
+ height: rem(22px);
227
227
 
228
228
  svg {
229
229
  width: 100%;