@shohojdhara/atomix 0.6.1 → 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 (67) hide show
  1. package/README.md +510 -106
  2. package/dist/atomix.css +30 -24
  3. package/dist/atomix.css.map +1 -1
  4. package/dist/atomix.min.css +6 -6
  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 +11 -2
  10. package/dist/charts.js +294 -139
  11. package/dist/charts.js.map +1 -1
  12. package/dist/core.d.ts +14 -39
  13. package/dist/core.js +297 -145
  14. package/dist/core.js.map +1 -1
  15. package/dist/forms.d.ts +11 -1
  16. package/dist/forms.js +385 -185
  17. package/dist/forms.js.map +1 -1
  18. package/dist/heavy.d.ts +9 -0
  19. package/dist/heavy.js +297 -143
  20. package/dist/heavy.js.map +1 -1
  21. package/dist/index.d.ts +156 -164
  22. package/dist/index.esm.js +391 -203
  23. package/dist/index.esm.js.map +1 -1
  24. package/dist/index.js +391 -203
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.min.js +1 -1
  27. package/dist/index.min.js.map +1 -1
  28. package/dist/theme.d.ts +14 -6
  29. package/dist/theme.js +2 -9
  30. package/dist/theme.js.map +1 -1
  31. package/package.json +26 -26
  32. package/src/components/AtomixGlass/AtomixGlass.tsx +1 -1
  33. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +8 -1
  34. package/src/components/AtomixGlass/deprecated/AtomixGlass.deprecated.tsx +390 -0
  35. package/src/components/AtomixGlass/glass-utils.ts +29 -0
  36. package/src/components/AtomixGlass/stories/Playground.stories.tsx +32 -1
  37. package/src/components/Button/Button.stories.tsx +1 -1
  38. package/src/components/Button/Button.tsx +6 -5
  39. package/src/components/Card/Card.tsx +2 -2
  40. package/src/components/Dropdown/Dropdown.tsx +1 -0
  41. package/src/components/EdgePanel/EdgePanel.tsx +1 -3
  42. package/src/components/Form/Select.test.tsx +75 -0
  43. package/src/components/Form/Select.tsx +348 -252
  44. package/src/components/Form/SelectOption.tsx +16 -10
  45. package/src/components/index.ts +1 -1
  46. package/src/layouts/CssGrid/index.ts +1 -0
  47. package/src/lib/composables/shared-mouse-tracker.ts +62 -6
  48. package/src/lib/composables/useAtomixGlass.ts +241 -139
  49. package/src/lib/composables/useAtomixGlassStyles.ts +201 -149
  50. package/src/lib/constants/components.ts +54 -35
  51. package/src/lib/theme/config/configLoader.ts +1 -1
  52. package/src/lib/theme/test/testTheme.ts +2 -2
  53. package/src/lib/theme/utils/themeUtils.ts +98 -110
  54. package/src/lib/types/components.ts +29 -65
  55. package/src/styles/01-settings/_settings.spacing.scss +6 -1
  56. package/src/styles/03-generic/_generic.reset.scss +1 -1
  57. package/src/styles/06-components/_components.atomix-glass.scss +20 -29
  58. package/src/styles/06-components/_components.data-table.scss +5 -4
  59. package/src/styles/06-components/_components.dynamic-background.scss +9 -8
  60. package/src/styles/06-components/_components.footer.scss +8 -7
  61. package/src/styles/06-components/_components.hero.scss +2 -2
  62. package/src/styles/06-components/_components.messages.scss +16 -16
  63. package/src/styles/06-components/_components.navbar.scss +2 -0
  64. package/src/styles/06-components/_components.select.scss +15 -2
  65. package/src/styles/06-components/_components.upload.scss +3 -3
  66. package/CHANGELOG.md +0 -165
  67. package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +0 -215
@@ -299,28 +299,38 @@ 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
+
325
+ /**
326
+ * Priority level for rendering and performance scheduling
327
+ *
328
+ * Controls the rendering priority of the glass effect, allowing for performance
329
+ * optimization in complex scenes. Higher priority elements are rendered first.
330
+ *
331
+ * @default undefined
332
+ */
333
+ priority?: number;
324
334
  }
325
335
 
326
336
  /**
@@ -351,6 +361,7 @@ export type ThemeColor =
351
361
  | 'invert'
352
362
  | 'brand'
353
363
  | 'error'
364
+ | 'danger'
354
365
  | 'success'
355
366
  | 'warning'
356
367
  | 'info'
@@ -360,7 +371,7 @@ export type ThemeColor =
360
371
  /**
361
372
  * Component variant including theme colors and outline variants
362
373
  */
363
- export type Variant = ThemeColor | `outline-${ThemeColor}` | 'link';
374
+ export type Variant = ThemeColor | `outline-${ThemeColor}` | 'link' | 'ghost';
364
375
 
365
376
  /**
366
377
  * Base component properties interface
@@ -1194,6 +1205,17 @@ export interface SpinnerProps extends BaseComponentProps {
1194
1205
  */
1195
1206
  'aria-label'?: string;
1196
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
+
1197
1219
  /**
1198
1220
  * ARIA role for the spinner
1199
1221
  * @default 'status'
@@ -1207,11 +1229,6 @@ export interface SpinnerProps extends BaseComponentProps {
1207
1229
  glass?: AtomixGlassProps | boolean;
1208
1230
  }
1209
1231
 
1210
- /**
1211
- * Icon size options
1212
- */
1213
- export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1214
-
1215
1232
  /**
1216
1233
  * Icon weight/style options
1217
1234
  */
@@ -1521,8 +1538,6 @@ export interface MegaMenuLinkProps extends BaseComponentProps {
1521
1538
  */
1522
1539
  linkComponent?: React.ElementType;
1523
1540
 
1524
-
1525
-
1526
1541
  /**
1527
1542
  * Link content
1528
1543
  */
@@ -2183,57 +2198,6 @@ export interface TodoProps extends BaseComponentProps {
2183
2198
  glass?: AtomixGlassProps | boolean;
2184
2199
  }
2185
2200
 
2186
- /**
2187
- * Spinner component properties
2188
- */
2189
- export interface SpinnerProps extends BaseComponentProps {
2190
- /**
2191
- * Spinner color variant
2192
- * @default 'primary'
2193
- */
2194
- variant?: ThemeColor;
2195
-
2196
- /**
2197
- * Spinner size
2198
- * @default 'md'
2199
- */
2200
- size?: Size;
2201
-
2202
- /**
2203
- * Whether the spinner should be displayed fullscreen
2204
- */
2205
- fullscreen?: boolean;
2206
-
2207
- /**
2208
- * Accessible label for screen readers
2209
- * @default 'Loading'
2210
- */
2211
- 'aria-label'?: string;
2212
-
2213
- /**
2214
- * ARIA live property to control how updates are announced
2215
- * @default 'polite'
2216
- */
2217
- 'aria-live'?: 'off' | 'polite' | 'assertive';
2218
-
2219
- /**
2220
- * ARIA descriptor property for additional description
2221
- */
2222
- 'aria-describe'?: string;
2223
-
2224
- /**
2225
- * ARIA role for the spinner
2226
- * @default 'status'
2227
- */
2228
- role?: 'status' | 'alert';
2229
-
2230
- /**
2231
- * Glass morphism effect for the spinner
2232
- * Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
2233
- */
2234
- glass?: AtomixGlassProps | boolean;
2235
- }
2236
-
2237
2201
  /**
2238
2202
  * Icon size options
2239
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
  }
@@ -252,6 +252,8 @@
252
252
  &--glass {
253
253
  position: relative;
254
254
  background-color: transparent;
255
+ display: flex;
256
+ height: 100%;
255
257
  @include dynamic-background(var(--#{$prefix}navbar-bg), $enable-transparency: true);
256
258
  }
257
259
 
@@ -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%;