@pathscale/ui 1.2.10 → 1.3.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 (126) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +132 -59
  3. package/dist/components/accordion/Accordion.css +158 -158
  4. package/dist/components/alert/Alert.css +116 -116
  5. package/dist/components/avatar/Avatar.css +124 -124
  6. package/dist/components/badge/Badge.css +164 -164
  7. package/dist/components/breadcrumbs/Breadcrumbs.css +63 -63
  8. package/dist/components/button/Button.css +194 -194
  9. package/dist/components/button-group/ButtonGroup.css +117 -117
  10. package/dist/components/calendar/Calendar.css +258 -258
  11. package/dist/components/card/Card.css +110 -110
  12. package/dist/components/chatbubble/ChatBubble.css +164 -164
  13. package/dist/components/checkbox/Checkbox.css +183 -183
  14. package/dist/components/checkbox-group/CheckboxGroup.css +10 -10
  15. package/dist/components/chip/Chip.css +197 -197
  16. package/dist/components/close-button/CloseButton.css +81 -81
  17. package/dist/components/color-area/ColorArea.css +54 -54
  18. package/dist/components/color-field/ColorField.css +88 -88
  19. package/dist/components/color-picker/ColorPicker.css +28 -28
  20. package/dist/components/color-slider/ColorSlider.css +57 -57
  21. package/dist/components/color-swatch/ColorSwatch.css +84 -84
  22. package/dist/components/color-swatch-picker/ColorSwatchPicker.css +12 -12
  23. package/dist/components/color-wheel-flower/ColorWheelFlower.css +147 -147
  24. package/dist/components/combo-box/ComboBox.css +344 -344
  25. package/dist/components/date-field/DateField.css +215 -215
  26. package/dist/components/date-picker/DatePicker.css +143 -143
  27. package/dist/components/date-range-picker/DateRangePicker.css +149 -149
  28. package/dist/components/description/Description.css +10 -10
  29. package/dist/components/disclosure/Disclosure.css +84 -84
  30. package/dist/components/disclosure-group/DisclosureGroup.css +9 -9
  31. package/dist/components/drawer/Drawer.css +463 -463
  32. package/dist/components/dropdown/Dropdown.css +211 -211
  33. package/dist/components/empty-state/EmptyState.css +39 -39
  34. package/dist/components/error-message/ErrorMessage.css +20 -20
  35. package/dist/components/field-error/FieldError.css +27 -27
  36. package/dist/components/fieldset/Fieldset.css +30 -30
  37. package/dist/components/flex/Flex.css +5 -5
  38. package/dist/components/floating-dock/FloatingDock.css +208 -208
  39. package/dist/components/footer/footer.css +51 -51
  40. package/dist/components/form/Form.css +5 -5
  41. package/dist/components/glass-panel/GlassPanel.css +359 -359
  42. package/dist/components/glow-card/GlowCard.css +100 -100
  43. package/dist/components/grid/Grid.css +5 -5
  44. package/dist/components/header/Header.css +13 -13
  45. package/dist/components/icon/Icon.css +10 -10
  46. package/dist/components/immersive-landing/ImmersiveLanding.css +565 -565
  47. package/dist/components/input/Input.css +155 -155
  48. package/dist/components/input-group/InputGroup.css +172 -172
  49. package/dist/components/input-otp/InputOTP.css +170 -170
  50. package/dist/components/kbd/Kbd.css +60 -60
  51. package/dist/components/label/Label.css +30 -30
  52. package/dist/components/language-switcher/LanguageSwitcher.css +56 -56
  53. package/dist/components/language-switcher/createI18n.d.ts +2 -1
  54. package/dist/components/link/Link.css +131 -131
  55. package/dist/components/list-box/ListBox.css +148 -148
  56. package/dist/components/live-chat/LiveChat.css +324 -324
  57. package/dist/components/menu/Menu.css +199 -199
  58. package/dist/components/metal-border/MetalBorder.classes.d.ts +26 -0
  59. package/dist/components/metal-border/MetalBorder.classes.js +27 -0
  60. package/dist/components/metal-border/MetalBorder.css +40 -0
  61. package/dist/components/metal-border/MetalBorder.d.ts +20 -0
  62. package/dist/components/metal-border/MetalBorder.js +322 -0
  63. package/dist/components/metal-border/engine/color.d.ts +4 -0
  64. package/dist/components/metal-border/engine/color.js +69 -0
  65. package/dist/components/metal-border/engine/glow/geometry.d.ts +35 -0
  66. package/dist/components/metal-border/engine/glow/geometry.js +176 -0
  67. package/dist/components/metal-border/engine/glow/glow.d.ts +38 -0
  68. package/dist/components/metal-border/engine/glow/glow.js +246 -0
  69. package/dist/components/metal-border/engine/index.d.ts +4 -0
  70. package/dist/components/metal-border/engine/index.js +2 -0
  71. package/dist/components/metal-border/engine/perfConfig.d.ts +9 -0
  72. package/dist/components/metal-border/engine/perfConfig.js +10 -0
  73. package/dist/components/metal-border/engine/presets.d.ts +57 -0
  74. package/dist/components/metal-border/engine/presets.js +214 -0
  75. package/dist/components/metal-border/engine/renderer/core.d.ts +69 -0
  76. package/dist/components/metal-border/engine/renderer/core.js +156 -0
  77. package/dist/components/metal-border/engine/renderer/loop.d.ts +30 -0
  78. package/dist/components/metal-border/engine/renderer/loop.js +248 -0
  79. package/dist/components/metal-border/engine/renderer/sampling.d.ts +14 -0
  80. package/dist/components/metal-border/engine/renderer/sampling.js +145 -0
  81. package/dist/components/metal-border/engine/shaders.d.ts +36 -0
  82. package/dist/components/metal-border/engine/shaders.js +215 -0
  83. package/dist/components/metal-border/engine/tween.d.ts +17 -0
  84. package/dist/components/metal-border/engine/tween.js +28 -0
  85. package/dist/components/metal-border/index.d.ts +2 -0
  86. package/dist/components/metal-border/index.js +1 -0
  87. package/dist/components/meter/Meter.css +89 -89
  88. package/dist/components/modal/Modal.css +320 -320
  89. package/dist/components/navbar/Navbar.css +110 -110
  90. package/dist/components/noise-background/NoiseBackground.css +66 -66
  91. package/dist/components/number-field/NumberField.css +198 -198
  92. package/dist/components/pagination/Pagination.css +121 -121
  93. package/dist/components/popover/Popover.css +117 -117
  94. package/dist/components/progress-bar/ProgressBar.css +104 -104
  95. package/dist/components/progress-circle/ProgressCircle.css +82 -82
  96. package/dist/components/radio/Radio.css +129 -129
  97. package/dist/components/radio-group/RadioGroup.css +58 -58
  98. package/dist/components/range-calendar/RangeCalendar.css +51 -51
  99. package/dist/components/scroll-shadow/ScrollShadow.css +93 -93
  100. package/dist/components/search-field/SearchField.css +183 -183
  101. package/dist/components/select/Select.css +284 -284
  102. package/dist/components/separator/Separator.css +35 -35
  103. package/dist/components/skeleton/Skeleton.css +95 -95
  104. package/dist/components/slider/Slider.css +122 -122
  105. package/dist/components/spinner/Spinner.css +131 -131
  106. package/dist/components/surface/Surface.css +37 -37
  107. package/dist/components/table/Table.css +426 -426
  108. package/dist/components/tabs/Tabs.css +203 -203
  109. package/dist/components/tag/Tag.css +121 -121
  110. package/dist/components/tag-group/TagGroup.css +22 -22
  111. package/dist/components/text/Text.css +66 -66
  112. package/dist/components/text-area/TextArea.css +95 -95
  113. package/dist/components/text-field/TextField.css +33 -33
  114. package/dist/components/time-field/TimeField.css +215 -215
  115. package/dist/components/toast/Toast.css +344 -344
  116. package/dist/components/toggle/Toggle.css +237 -237
  117. package/dist/components/toolbar/Toolbar.css +55 -55
  118. package/dist/components/tooltip/Tooltip.css +153 -153
  119. package/dist/index.css +74 -74
  120. package/dist/index.d.ts +2 -0
  121. package/dist/index.js +1 -0
  122. package/dist/purge-manifest.json +15836 -15583
  123. package/dist/styles/base/index.css +43 -43
  124. package/dist/styles/themes/dark.css +141 -141
  125. package/dist/styles/themes/light.css +143 -143
  126. package/package.json +17 -8
@@ -1,359 +1,359 @@
1
- @layer components {
2
- .glass-panel {
3
- --glass-panel-blur: var(--glass-blur, 11px);
4
- --glass-panel-background: color-mix(
5
- in oklab,
6
- var(--glass-background-color, white) var(--glass-background-opacity, 38%),
7
- transparent
8
- );
9
- --glass-panel-border: color-mix(
10
- in oklab,
11
- var(--glass-border-color, white) var(--glass-border-opacity, 30%),
12
- transparent
13
- );
14
- --glass-panel-highlight: color-mix(
15
- in oklab,
16
- var(--glass-highlight-color, white) var(--glass-highlight-opacity, 80%),
17
- transparent
18
- );
19
- --glass-panel-bottom-highlight: color-mix(
20
- in oklab,
21
- var(--glass-bottom-highlight-color, var(--glass-highlight-color, white))
22
- var(--glass-bottom-highlight-opacity, 10%),
23
- transparent
24
- );
25
- --glass-panel-edge-highlight: color-mix(
26
- in oklab,
27
- var(--glass-refraction-color, var(--glass-highlight-color, white))
28
- var(--glass-edge-highlight-opacity, 30%),
29
- transparent
30
- );
31
- --glass-panel-depth-sheen: color-mix(
32
- in oklab,
33
- var(--glass-highlight-color, white) var(--glass-depth-sheen-opacity, 40%),
34
- transparent
35
- );
36
- --glass-panel-rim-start: color-mix(
37
- in oklab,
38
- var(--glass-rim-start-color, var(--glass-border-color, white))
39
- var(--glass-rim-start-opacity, 21%),
40
- transparent
41
- );
42
- --glass-panel-rim-end: color-mix(
43
- in oklab,
44
- var(--glass-rim-end-color, var(--glass-highlight-color, white))
45
- var(--glass-rim-end-opacity, 35%),
46
- transparent
47
- );
48
- --glass-panel-inner-glow: rgb(
49
- var(--glass-inner-glow-rgb, 255 255 255) /
50
- var(--glass-inner-glow-alpha, 0.5)
51
- );
52
- --glass-panel-depth-top-glow: color-mix(
53
- in oklab,
54
- var(--glass-highlight-color, white)
55
- var(--glass-depth-top-glow-opacity, 8%),
56
- transparent
57
- );
58
- --glass-panel-depth-bottom-glow: color-mix(
59
- in oklab,
60
- var(--glass-bottom-highlight-color, var(--glass-highlight-color, white))
61
- var(--glass-depth-bottom-glow-opacity, 12%),
62
- transparent
63
- );
64
- position: relative;
65
- isolation: isolate;
66
- overflow: hidden;
67
- border-radius: var(--glass-border-radius, 20px);
68
- transition: background-color 200ms ease-in-out, border-color 200ms
69
- ease-in-out, box-shadow 200ms ease-in-out, backdrop-filter 200ms
70
- ease-in-out;
71
- background: var(--glass-panel-background);
72
- border: 1px solid var(--glass-panel-border);
73
- box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), inset 0
74
- 1px 0 var(--glass-panel-highlight), inset 0 -1px 0
75
- var(--glass-panel-bottom-highlight);
76
- backdrop-filter: blur(var(--glass-panel-blur))
77
- saturate(var(--glass-saturation, 1.2))
78
- brightness(var(--glass-brightness, 1));
79
- background-clip: padding-box;
80
- }
81
-
82
- .glass-panel > .glass-panel__header-button,
83
- .glass-panel > .glass-panel__content {
84
- position: relative;
85
- z-index: 2;
86
- }
87
-
88
- .glass-panel::before,
89
- .glass-panel::after {
90
- content: "";
91
- position: absolute;
92
- pointer-events: none;
93
- z-index: 1;
94
- }
95
-
96
- .glass-panel::before {
97
- top: 0;
98
- right: 12%;
99
- left: 12%;
100
- height: 1px;
101
- background: linear-gradient(
102
- 90deg,
103
- transparent,
104
- var(--glass-panel-highlight),
105
- transparent
106
- );
107
- }
108
-
109
- .glass-panel::after {
110
- top: 0;
111
- bottom: 0;
112
- left: 0;
113
- width: 1px;
114
- background: linear-gradient(
115
- 180deg,
116
- var(--glass-panel-highlight),
117
- transparent 45%,
118
- var(--glass-panel-edge-highlight)
119
- );
120
- }
121
-
122
- .glass-panel--transparent {
123
- background: transparent;
124
- border-color: transparent;
125
- box-shadow: none;
126
- backdrop-filter: none;
127
- }
128
-
129
- .glass-panel--transparent::before,
130
- .glass-panel--transparent::after,
131
- .glass-panel--transparent > .glass-panel__rim,
132
- .glass-panel--transparent > .glass-panel__depth,
133
- .glass-panel--transparent > .glass-panel__sheen {
134
- display: none;
135
- }
136
-
137
- .glass-panel--tone-secondary:not(.glass-panel--transparent) {
138
- background: color-mix(
139
- in oklab,
140
- var(--glass-background-color, white)
141
- var(
142
- --glass-app-secondary-surface-opacity,
143
- var(--glass-app-surface-elevated-opacity, 0%)
144
- ),
145
- transparent
146
- );
147
- border-color: color-mix(
148
- in oklab,
149
- var(--glass-border-color, white)
150
- var(
151
- --glass-app-secondary-border-opacity,
152
- var(--glass-app-border-opacity, 0%)
153
- ),
154
- transparent
155
- );
156
- }
157
-
158
- .glass-panel--highlight:not(.glass-panel--transparent) {
159
- background: linear-gradient(
160
- 135deg,
161
- color-mix(
162
- in oklab,
163
- var(--color-primary) var(--glass-app-highlight-tint-opacity, 14%),
164
- transparent
165
- ),
166
- color-mix(
167
- in oklab,
168
- var(--glass-highlight-color, white)
169
- var(--glass-app-highlight-surface-opacity, 12%),
170
- transparent
171
- )
172
- );
173
- border-color: color-mix(
174
- in oklab,
175
- var(--color-primary) var(--glass-app-highlight-border-opacity, 28%),
176
- transparent
177
- );
178
- box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), 0 10px
179
- 24px
180
- color-mix(
181
- in oklab,
182
- var(--color-primary) var(--glass-app-highlight-glow-opacity, 12%),
183
- transparent
184
- ), inset 0 1px 0 var(--glass-panel-highlight), inset 0 -1px 0
185
- var(--glass-panel-bottom-highlight);
186
- }
187
-
188
- .glass-panel--interactive:not(.glass-panel--transparent) {
189
- cursor: pointer;
190
- }
191
-
192
- .glass-panel--interactive:not(.glass-panel--transparent):hover {
193
- background: linear-gradient(
194
- 135deg,
195
- color-mix(
196
- in oklab,
197
- var(--color-primary) var(--glass-app-hover-tint-opacity, 8%),
198
- transparent
199
- ),
200
- color-mix(
201
- in oklab,
202
- var(--glass-highlight-color, white)
203
- var(--glass-app-hover-surface-opacity, 8%),
204
- transparent
205
- )
206
- );
207
- border-color: color-mix(
208
- in oklab,
209
- var(--color-primary) var(--glass-app-hover-border-opacity, 18%),
210
- transparent
211
- );
212
- }
213
-
214
- .glass-panel__header-button {
215
- display: flex;
216
- width: 100%;
217
- cursor: pointer;
218
- user-select: none;
219
- align-items: center;
220
- justify-content: space-between;
221
- gap: 0.5rem;
222
- padding: 0.75rem 1rem;
223
- color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
224
- font-size: 0.875rem;
225
- font-weight: 500;
226
- transition: color 150ms ease, background-color 150ms ease;
227
- }
228
-
229
- .glass-panel__header-button:hover {
230
- color: color-mix(in oklab, var(--color-base-content) 80%, transparent);
231
- }
232
-
233
- .glass-panel__header-button:focus-visible {
234
- outline: 2px solid var(--color-primary);
235
- outline-offset: 2px;
236
- }
237
-
238
- .glass-panel__header-label {
239
- display: flex;
240
- align-items: center;
241
- gap: 0.5rem;
242
- }
243
-
244
- .glass-panel__chevron {
245
- width: 1rem;
246
- height: 1rem;
247
- transition: transform 200ms ease;
248
- }
249
-
250
- .glass-panel__chevron--open {
251
- transform: rotate(180deg);
252
- }
253
-
254
- .glass-panel__rim,
255
- .glass-panel__depth,
256
- .glass-panel__sheen {
257
- position: absolute;
258
- pointer-events: none;
259
- z-index: 1;
260
- }
261
-
262
- .glass-panel__rim {
263
- inset: 0;
264
- border-radius: inherit;
265
- padding: 1px;
266
- background: linear-gradient(
267
- 180deg,
268
- var(--glass-panel-rim-start) 1%,
269
- var(--glass-panel-rim-end) 100%
270
- );
271
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
272
- mask-composite: exclude;
273
- -webkit-mask: linear-gradient(#fff 0 0) content-box,
274
- linear-gradient(#fff 0 0);
275
- -webkit-mask-composite: xor;
276
- }
277
-
278
- .glass-panel__depth {
279
- inset: 1px;
280
- border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 1px));
281
- background: radial-gradient(
282
- circle at 50% 45%,
283
- color-mix(
284
- in oklab,
285
- var(--glass-depth-color, var(--glass-highlight-color, white))
286
- var(--glass-depth-surface-opacity, 8%),
287
- transparent
288
- )
289
- 0%,
290
- transparent var(--glass-depth-surface-size, 82%)
291
- );
292
- box-shadow: inset 0 0 var(--glass-inner-glow-blur, 10px)
293
- var(--glass-inner-glow-spread, 5px) var(--glass-panel-inner-glow), inset 0
294
- 2px 4px 0 var(--glass-panel-depth-top-glow), inset 0 -2px 2px 0
295
- var(--glass-panel-depth-bottom-glow);
296
- }
297
-
298
- .glass-panel__sheen {
299
- inset: 2px;
300
- border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 2px));
301
- background: radial-gradient(
302
- circle at 30% 20%,
303
- var(--glass-panel-depth-sheen) 0%,
304
- transparent var(--glass-depth-sheen-size, 70%)
305
- );
306
- mix-blend-mode: overlay;
307
- }
308
-
309
- .glass-panel__content {
310
- display: grid;
311
- transition: grid-template-rows 200ms ease-in-out, opacity 200ms ease-in-out;
312
- }
313
-
314
- .glass-panel__content--collapsible {
315
- overflow: hidden;
316
- }
317
-
318
- .glass-panel__content--collapsed {
319
- opacity: 0;
320
- }
321
-
322
- .glass-panel__content-inner--hidden {
323
- overflow: hidden;
324
- }
325
-
326
- .glass-panel__content--xs {
327
- padding: 0.5rem;
328
- }
329
-
330
- .glass-panel__content--sm {
331
- padding: 0.75rem;
332
- }
333
-
334
- .glass-panel__content--md {
335
- padding: 1rem;
336
- }
337
-
338
- .glass-panel__content--lg {
339
- padding: 1.25rem;
340
- }
341
-
342
- .glass-panel__content--xl {
343
- padding: 1.5rem;
344
- }
345
-
346
- @supports not (
347
- (backdrop-filter: blur(1px)) or
348
- (-webkit-backdrop-filter: blur(1px))
349
- ) {
350
- .glass-panel {
351
- background: color-mix(
352
- in oklab,
353
- var(--glass-background-color, white)
354
- var(--glass-fallback-background-opacity, 78%),
355
- transparent
356
- );
357
- }
358
- }
359
- }
1
+ @layer components {
2
+ .glass-panel {
3
+ --glass-panel-blur: var(--glass-blur, 11px);
4
+ --glass-panel-background: color-mix(
5
+ in oklab,
6
+ var(--glass-background-color, white) var(--glass-background-opacity, 38%),
7
+ transparent
8
+ );
9
+ --glass-panel-border: color-mix(
10
+ in oklab,
11
+ var(--glass-border-color, white) var(--glass-border-opacity, 30%),
12
+ transparent
13
+ );
14
+ --glass-panel-highlight: color-mix(
15
+ in oklab,
16
+ var(--glass-highlight-color, white) var(--glass-highlight-opacity, 80%),
17
+ transparent
18
+ );
19
+ --glass-panel-bottom-highlight: color-mix(
20
+ in oklab,
21
+ var(--glass-bottom-highlight-color, var(--glass-highlight-color, white))
22
+ var(--glass-bottom-highlight-opacity, 10%),
23
+ transparent
24
+ );
25
+ --glass-panel-edge-highlight: color-mix(
26
+ in oklab,
27
+ var(--glass-refraction-color, var(--glass-highlight-color, white))
28
+ var(--glass-edge-highlight-opacity, 30%),
29
+ transparent
30
+ );
31
+ --glass-panel-depth-sheen: color-mix(
32
+ in oklab,
33
+ var(--glass-highlight-color, white) var(--glass-depth-sheen-opacity, 40%),
34
+ transparent
35
+ );
36
+ --glass-panel-rim-start: color-mix(
37
+ in oklab,
38
+ var(--glass-rim-start-color, var(--glass-border-color, white))
39
+ var(--glass-rim-start-opacity, 21%),
40
+ transparent
41
+ );
42
+ --glass-panel-rim-end: color-mix(
43
+ in oklab,
44
+ var(--glass-rim-end-color, var(--glass-highlight-color, white))
45
+ var(--glass-rim-end-opacity, 35%),
46
+ transparent
47
+ );
48
+ --glass-panel-inner-glow: rgb(
49
+ var(--glass-inner-glow-rgb, 255 255 255) /
50
+ var(--glass-inner-glow-alpha, 0.5)
51
+ );
52
+ --glass-panel-depth-top-glow: color-mix(
53
+ in oklab,
54
+ var(--glass-highlight-color, white)
55
+ var(--glass-depth-top-glow-opacity, 8%),
56
+ transparent
57
+ );
58
+ --glass-panel-depth-bottom-glow: color-mix(
59
+ in oklab,
60
+ var(--glass-bottom-highlight-color, var(--glass-highlight-color, white))
61
+ var(--glass-depth-bottom-glow-opacity, 12%),
62
+ transparent
63
+ );
64
+ position: relative;
65
+ isolation: isolate;
66
+ overflow: hidden;
67
+ border-radius: var(--glass-border-radius, 20px);
68
+ transition: background-color 200ms ease-in-out, border-color 200ms
69
+ ease-in-out, box-shadow 200ms ease-in-out, backdrop-filter 200ms
70
+ ease-in-out;
71
+ background: var(--glass-panel-background);
72
+ border: 1px solid var(--glass-panel-border);
73
+ box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), inset 0
74
+ 1px 0 var(--glass-panel-highlight), inset 0 -1px 0
75
+ var(--glass-panel-bottom-highlight);
76
+ backdrop-filter: blur(var(--glass-panel-blur))
77
+ saturate(var(--glass-saturation, 1.2))
78
+ brightness(var(--glass-brightness, 1));
79
+ background-clip: padding-box;
80
+ }
81
+
82
+ .glass-panel > .glass-panel__header-button,
83
+ .glass-panel > .glass-panel__content {
84
+ position: relative;
85
+ z-index: 2;
86
+ }
87
+
88
+ .glass-panel::before,
89
+ .glass-panel::after {
90
+ content: "";
91
+ position: absolute;
92
+ pointer-events: none;
93
+ z-index: 1;
94
+ }
95
+
96
+ .glass-panel::before {
97
+ top: 0;
98
+ right: 12%;
99
+ left: 12%;
100
+ height: 1px;
101
+ background: linear-gradient(
102
+ 90deg,
103
+ transparent,
104
+ var(--glass-panel-highlight),
105
+ transparent
106
+ );
107
+ }
108
+
109
+ .glass-panel::after {
110
+ top: 0;
111
+ bottom: 0;
112
+ left: 0;
113
+ width: 1px;
114
+ background: linear-gradient(
115
+ 180deg,
116
+ var(--glass-panel-highlight),
117
+ transparent 45%,
118
+ var(--glass-panel-edge-highlight)
119
+ );
120
+ }
121
+
122
+ .glass-panel--transparent {
123
+ background: transparent;
124
+ border-color: transparent;
125
+ box-shadow: none;
126
+ backdrop-filter: none;
127
+ }
128
+
129
+ .glass-panel--transparent::before,
130
+ .glass-panel--transparent::after,
131
+ .glass-panel--transparent > .glass-panel__rim,
132
+ .glass-panel--transparent > .glass-panel__depth,
133
+ .glass-panel--transparent > .glass-panel__sheen {
134
+ display: none;
135
+ }
136
+
137
+ .glass-panel--tone-secondary:not(.glass-panel--transparent) {
138
+ background: color-mix(
139
+ in oklab,
140
+ var(--glass-background-color, white)
141
+ var(
142
+ --glass-app-secondary-surface-opacity,
143
+ var(--glass-app-surface-elevated-opacity, 0%)
144
+ ),
145
+ transparent
146
+ );
147
+ border-color: color-mix(
148
+ in oklab,
149
+ var(--glass-border-color, white)
150
+ var(
151
+ --glass-app-secondary-border-opacity,
152
+ var(--glass-app-border-opacity, 0%)
153
+ ),
154
+ transparent
155
+ );
156
+ }
157
+
158
+ .glass-panel--highlight:not(.glass-panel--transparent) {
159
+ background: linear-gradient(
160
+ 135deg,
161
+ color-mix(
162
+ in oklab,
163
+ var(--color-primary) var(--glass-app-highlight-tint-opacity, 14%),
164
+ transparent
165
+ ),
166
+ color-mix(
167
+ in oklab,
168
+ var(--glass-highlight-color, white)
169
+ var(--glass-app-highlight-surface-opacity, 12%),
170
+ transparent
171
+ )
172
+ );
173
+ border-color: color-mix(
174
+ in oklab,
175
+ var(--color-primary) var(--glass-app-highlight-border-opacity, 28%),
176
+ transparent
177
+ );
178
+ box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), 0 10px
179
+ 24px
180
+ color-mix(
181
+ in oklab,
182
+ var(--color-primary) var(--glass-app-highlight-glow-opacity, 12%),
183
+ transparent
184
+ ), inset 0 1px 0 var(--glass-panel-highlight), inset 0 -1px 0
185
+ var(--glass-panel-bottom-highlight);
186
+ }
187
+
188
+ .glass-panel--interactive:not(.glass-panel--transparent) {
189
+ cursor: pointer;
190
+ }
191
+
192
+ .glass-panel--interactive:not(.glass-panel--transparent):hover {
193
+ background: linear-gradient(
194
+ 135deg,
195
+ color-mix(
196
+ in oklab,
197
+ var(--color-primary) var(--glass-app-hover-tint-opacity, 8%),
198
+ transparent
199
+ ),
200
+ color-mix(
201
+ in oklab,
202
+ var(--glass-highlight-color, white)
203
+ var(--glass-app-hover-surface-opacity, 8%),
204
+ transparent
205
+ )
206
+ );
207
+ border-color: color-mix(
208
+ in oklab,
209
+ var(--color-primary) var(--glass-app-hover-border-opacity, 18%),
210
+ transparent
211
+ );
212
+ }
213
+
214
+ .glass-panel__header-button {
215
+ display: flex;
216
+ width: 100%;
217
+ cursor: pointer;
218
+ user-select: none;
219
+ align-items: center;
220
+ justify-content: space-between;
221
+ gap: 0.5rem;
222
+ padding: 0.75rem 1rem;
223
+ color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
224
+ font-size: 0.875rem;
225
+ font-weight: 500;
226
+ transition: color 150ms ease, background-color 150ms ease;
227
+ }
228
+
229
+ .glass-panel__header-button:hover {
230
+ color: color-mix(in oklab, var(--color-base-content) 80%, transparent);
231
+ }
232
+
233
+ .glass-panel__header-button:focus-visible {
234
+ outline: 2px solid var(--color-primary);
235
+ outline-offset: 2px;
236
+ }
237
+
238
+ .glass-panel__header-label {
239
+ display: flex;
240
+ align-items: center;
241
+ gap: 0.5rem;
242
+ }
243
+
244
+ .glass-panel__chevron {
245
+ width: 1rem;
246
+ height: 1rem;
247
+ transition: transform 200ms ease;
248
+ }
249
+
250
+ .glass-panel__chevron--open {
251
+ transform: rotate(180deg);
252
+ }
253
+
254
+ .glass-panel__rim,
255
+ .glass-panel__depth,
256
+ .glass-panel__sheen {
257
+ position: absolute;
258
+ pointer-events: none;
259
+ z-index: 1;
260
+ }
261
+
262
+ .glass-panel__rim {
263
+ inset: 0;
264
+ border-radius: inherit;
265
+ padding: 1px;
266
+ background: linear-gradient(
267
+ 180deg,
268
+ var(--glass-panel-rim-start) 1%,
269
+ var(--glass-panel-rim-end) 100%
270
+ );
271
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
272
+ mask-composite: exclude;
273
+ -webkit-mask: linear-gradient(#fff 0 0) content-box,
274
+ linear-gradient(#fff 0 0);
275
+ -webkit-mask-composite: xor;
276
+ }
277
+
278
+ .glass-panel__depth {
279
+ inset: 1px;
280
+ border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 1px));
281
+ background: radial-gradient(
282
+ circle at 50% 45%,
283
+ color-mix(
284
+ in oklab,
285
+ var(--glass-depth-color, var(--glass-highlight-color, white))
286
+ var(--glass-depth-surface-opacity, 8%),
287
+ transparent
288
+ )
289
+ 0%,
290
+ transparent var(--glass-depth-surface-size, 82%)
291
+ );
292
+ box-shadow: inset 0 0 var(--glass-inner-glow-blur, 10px)
293
+ var(--glass-inner-glow-spread, 5px) var(--glass-panel-inner-glow), inset 0
294
+ 2px 4px 0 var(--glass-panel-depth-top-glow), inset 0 -2px 2px 0
295
+ var(--glass-panel-depth-bottom-glow);
296
+ }
297
+
298
+ .glass-panel__sheen {
299
+ inset: 2px;
300
+ border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 2px));
301
+ background: radial-gradient(
302
+ circle at 30% 20%,
303
+ var(--glass-panel-depth-sheen) 0%,
304
+ transparent var(--glass-depth-sheen-size, 70%)
305
+ );
306
+ mix-blend-mode: overlay;
307
+ }
308
+
309
+ .glass-panel__content {
310
+ display: grid;
311
+ transition: grid-template-rows 200ms ease-in-out, opacity 200ms ease-in-out;
312
+ }
313
+
314
+ .glass-panel__content--collapsible {
315
+ overflow: hidden;
316
+ }
317
+
318
+ .glass-panel__content--collapsed {
319
+ opacity: 0;
320
+ }
321
+
322
+ .glass-panel__content-inner--hidden {
323
+ overflow: hidden;
324
+ }
325
+
326
+ .glass-panel__content--xs {
327
+ padding: 0.5rem;
328
+ }
329
+
330
+ .glass-panel__content--sm {
331
+ padding: 0.75rem;
332
+ }
333
+
334
+ .glass-panel__content--md {
335
+ padding: 1rem;
336
+ }
337
+
338
+ .glass-panel__content--lg {
339
+ padding: 1.25rem;
340
+ }
341
+
342
+ .glass-panel__content--xl {
343
+ padding: 1.5rem;
344
+ }
345
+
346
+ @supports not (
347
+ (backdrop-filter: blur(1px)) or
348
+ (-webkit-backdrop-filter: blur(1px))
349
+ ) {
350
+ .glass-panel {
351
+ background: color-mix(
352
+ in oklab,
353
+ var(--glass-background-color, white)
354
+ var(--glass-fallback-background-opacity, 78%),
355
+ transparent
356
+ );
357
+ }
358
+ }
359
+ }