@pathscale/ui 1.1.80 → 1.1.81

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.
@@ -1,115 +1,179 @@
1
1
  @layer components {
2
2
  .glass-panel {
3
- position: relative;
4
- border-radius: 0.75rem;
5
- transition: all 200ms ease-in-out;
6
- background: color-mix(in srgb, var(--color-base-300) 45%, transparent);
7
- border: 1px solid
8
- color-mix(in srgb, var(--color-base-content) 12%, transparent);
9
- }
10
-
11
- .glass-panel--transparent {
12
- background: transparent;
13
- border-color: transparent;
14
- }
15
-
16
- .glass-panel--glow {
17
- box-shadow: inset 0 1px 0
18
- color-mix(in srgb, var(--color-base-content) 5%, transparent);
19
- }
20
-
21
- .glass-panel--liquid {
22
- --glass-panel-liquid-bg: color-mix(
3
+ --glass-panel-blur: var(--glass-blur, 11px);
4
+ --glass-panel-background: color-mix(
23
5
  in oklab,
24
- var(--color-base-100) 12%,
6
+ var(--glass-background-color, white) var(--glass-background-opacity, 38%),
25
7
  transparent
26
8
  );
27
- --glass-panel-liquid-border: color-mix(
9
+ --glass-panel-border: color-mix(
28
10
  in oklab,
29
- var(--color-base-content) 14%,
11
+ var(--glass-border-color, white) var(--glass-border-opacity, 30%),
30
12
  transparent
31
13
  );
32
- --glass-panel-liquid-highlight: color-mix(
14
+ --glass-panel-highlight: color-mix(
33
15
  in oklab,
34
- var(--color-base-100) 48%,
16
+ var(--glass-highlight-color, white) var(--glass-highlight-opacity, 80%),
35
17
  transparent
36
18
  );
37
- --glass-panel-liquid-inner: color-mix(
19
+ --glass-panel-bottom-highlight: color-mix(
38
20
  in oklab,
39
- var(--color-base-100) 10%,
21
+ var(--glass-highlight-color, white)
22
+ var(--glass-bottom-highlight-opacity, 10%),
40
23
  transparent
41
24
  );
42
- --glass-panel-liquid-brightness: 1.03;
43
- --glass-panel-liquid-saturation: 1.18;
44
- isolation: isolate;
45
- overflow: hidden;
46
- background: var(--glass-panel-liquid-bg);
47
- border-color: var(--glass-panel-liquid-border);
48
- box-shadow:
49
- inset 0 0 3px 0 var(--glass-panel-liquid-highlight),
50
- inset 0 1px 10px var(--glass-panel-liquid-inner);
51
- backdrop-filter: blur(1px) blur(2px)
52
- brightness(var(--glass-panel-liquid-brightness, 1.08))
53
- saturate(var(--glass-panel-liquid-saturation, 1.35));
54
- -webkit-backdrop-filter: blur(1px) blur(2px)
55
- brightness(var(--glass-panel-liquid-brightness, 1.08))
56
- saturate(var(--glass-panel-liquid-saturation, 1.35));
57
- }
58
-
59
- [data-theme="dark"] .glass-panel--liquid,
60
- .glass-panel--liquid[data-theme="dark"] {
61
- --glass-panel-liquid-bg: color-mix(
25
+ --glass-panel-edge-highlight: color-mix(
26
+ in oklab,
27
+ 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(
62
37
  in oklab,
63
- var(--color-base-200) 22%,
38
+ var(--glass-rim-start-color, var(--glass-border-color, white))
39
+ var(--glass-rim-start-opacity, 21%),
64
40
  transparent
65
41
  );
66
- --glass-panel-liquid-border: color-mix(
42
+ --glass-panel-rim-end: color-mix(
67
43
  in oklab,
68
- var(--color-base-content) 10%,
44
+ var(--glass-rim-end-color, var(--glass-highlight-color, white))
45
+ var(--glass-rim-end-opacity, 35%),
69
46
  transparent
70
47
  );
71
- --glass-panel-liquid-highlight: color-mix(
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(
72
53
  in oklab,
73
- var(--color-base-content) 14%,
54
+ var(--glass-highlight-color, white)
55
+ var(--glass-depth-top-glow-opacity, 8%),
74
56
  transparent
75
57
  );
76
- --glass-panel-liquid-inner: color-mix(
58
+ --glass-panel-depth-bottom-glow: color-mix(
77
59
  in oklab,
78
- var(--color-base-content) 5%,
60
+ var(--glass-highlight-color, white)
61
+ var(--glass-depth-bottom-glow-opacity, 12%),
79
62
  transparent
80
63
  );
81
- --glass-panel-liquid-brightness: 0.98;
82
- --glass-panel-liquid-saturation: 1.08;
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
+ -webkit-backdrop-filter: blur(var(--glass-panel-blur));
78
+ }
79
+
80
+ .glass-panel::before,
81
+ .glass-panel::after {
82
+ content: "";
83
+ position: absolute;
84
+ pointer-events: none;
85
+ z-index: 1;
86
+ }
87
+
88
+ .glass-panel::before {
89
+ top: 0;
90
+ right: 12%;
91
+ left: 12%;
92
+ height: 1px;
93
+ background: linear-gradient(
94
+ 90deg,
95
+ transparent,
96
+ var(--glass-panel-highlight),
97
+ transparent
98
+ );
99
+ }
100
+
101
+ .glass-panel::after {
102
+ top: 0;
103
+ bottom: 0;
104
+ left: 0;
105
+ width: 1px;
106
+ background: linear-gradient(
107
+ 180deg,
108
+ var(--glass-panel-highlight),
109
+ transparent 45%,
110
+ var(--glass-panel-edge-highlight)
111
+ );
112
+ }
113
+
114
+ .glass-panel--transparent {
115
+ background: transparent;
116
+ border-color: transparent;
117
+ box-shadow: none;
118
+ backdrop-filter: none;
119
+ -webkit-backdrop-filter: none;
120
+ }
121
+
122
+ .glass-panel--transparent::before,
123
+ .glass-panel--transparent::after,
124
+ .glass-panel--transparent > .glass-panel__rim,
125
+ .glass-panel--transparent > .glass-panel__depth,
126
+ .glass-panel--transparent > .glass-panel__sheen {
127
+ display: none;
128
+ }
129
+
130
+ .glass-panel--glow {
131
+ box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), 0 0 0
132
+ 1px
133
+ color-mix(
134
+ in oklab,
135
+ var(--color-primary) var(--glass-glow-ring-opacity, 10%),
136
+ transparent
137
+ ), inset 0 1px 0 var(--glass-panel-highlight), inset 0 -1px 0
138
+ var(--glass-panel-bottom-highlight);
139
+ }
140
+
141
+ .glass-panel--liquid {
142
+ box-shadow: var(--glass-shadow-depth, 0 8px 32px rgb(0 0 0 / 10%)), inset 0
143
+ 0 var(--glass-liquid-edge-size, 3px) 0 var(--glass-panel-highlight), inset
144
+ 0 1px var(--glass-liquid-inner-blur, 18px)
145
+ var(--glass-panel-edge-highlight);
83
146
  }
84
147
 
85
148
  .glass-panel--liquid > .glass-panel__header-button,
86
149
  .glass-panel--liquid > .glass-panel__content {
87
150
  position: relative;
88
- z-index: 1;
151
+ z-index: 2;
89
152
  }
90
153
 
91
154
  .glass-panel--blur-none {
92
155
  backdrop-filter: none;
156
+ -webkit-backdrop-filter: none;
93
157
  }
94
158
 
95
159
  .glass-panel--blur-sm {
96
- backdrop-filter: blur(4px);
160
+ --glass-panel-blur: calc(var(--glass-blur, 11px) * 0.5);
97
161
  }
98
162
 
99
163
  .glass-panel--blur-md {
100
- backdrop-filter: blur(12px);
164
+ --glass-panel-blur: var(--glass-blur, 11px);
101
165
  }
102
166
 
103
167
  .glass-panel--blur-lg {
104
- backdrop-filter: blur(16px);
168
+ --glass-panel-blur: calc(var(--glass-blur, 11px) * 1.25);
105
169
  }
106
170
 
107
171
  .glass-panel--blur-xl {
108
- backdrop-filter: blur(24px);
172
+ --glass-panel-blur: calc(var(--glass-blur, 11px) * 1.5);
109
173
  }
110
174
 
111
175
  .glass-panel--blur-2xl {
112
- backdrop-filter: blur(40px);
176
+ --glass-panel-blur: calc(var(--glass-blur, 11px) * 2);
113
177
  }
114
178
 
115
179
  .glass-panel--accent-primary,
@@ -161,6 +225,8 @@
161
225
  }
162
226
 
163
227
  .glass-panel__header-button {
228
+ position: relative;
229
+ z-index: 2;
164
230
  display: flex;
165
231
  width: 100%;
166
232
  cursor: pointer;
@@ -200,7 +266,64 @@
200
266
  transform: rotate(180deg);
201
267
  }
202
268
 
269
+ .glass-panel__rim,
270
+ .glass-panel__depth,
271
+ .glass-panel__sheen {
272
+ position: absolute;
273
+ pointer-events: none;
274
+ z-index: 1;
275
+ }
276
+
277
+ .glass-panel__rim {
278
+ inset: 0;
279
+ border-radius: inherit;
280
+ padding: 1px;
281
+ background: linear-gradient(
282
+ 180deg,
283
+ var(--glass-panel-rim-start) 1%,
284
+ var(--glass-panel-rim-end) 100%
285
+ );
286
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
287
+ mask-composite: exclude;
288
+ -webkit-mask: linear-gradient(#fff 0 0) content-box,
289
+ linear-gradient(#fff 0 0);
290
+ -webkit-mask-composite: xor;
291
+ }
292
+
293
+ .glass-panel__depth {
294
+ inset: 1px;
295
+ border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 1px));
296
+ background: radial-gradient(
297
+ circle at 50% 45%,
298
+ color-mix(
299
+ in oklab,
300
+ var(--glass-highlight-color, white)
301
+ var(--glass-depth-surface-opacity, 8%),
302
+ transparent
303
+ )
304
+ 0%,
305
+ transparent var(--glass-depth-surface-size, 82%)
306
+ );
307
+ box-shadow: inset 0 0 var(--glass-inner-glow-blur, 10px)
308
+ var(--glass-inner-glow-spread, 5px) var(--glass-panel-inner-glow), inset 0
309
+ 2px 4px 0 var(--glass-panel-depth-top-glow), inset 0 -2px 2px 0
310
+ var(--glass-panel-depth-bottom-glow);
311
+ }
312
+
313
+ .glass-panel__sheen {
314
+ inset: 2px;
315
+ border-radius: max(0px, calc(var(--glass-border-radius, 20px) - 2px));
316
+ background: radial-gradient(
317
+ circle at 30% 20%,
318
+ var(--glass-panel-depth-sheen) 0%,
319
+ transparent var(--glass-depth-sheen-size, 70%)
320
+ );
321
+ mix-blend-mode: overlay;
322
+ }
323
+
203
324
  .glass-panel__content {
325
+ position: relative;
326
+ z-index: 2;
204
327
  display: grid;
205
328
  transition: grid-template-rows 200ms ease-in-out, opacity 200ms ease-in-out;
206
329
  }
@@ -236,4 +359,18 @@
236
359
  .glass-panel__content--xl {
237
360
  padding: 1.5rem;
238
361
  }
362
+
363
+ @supports not (
364
+ (backdrop-filter: blur(1px)) or
365
+ (-webkit-backdrop-filter: blur(1px))
366
+ ) {
367
+ .glass-panel {
368
+ background: color-mix(
369
+ in oklab,
370
+ var(--glass-background-color, white)
371
+ var(--glass-fallback-background-opacity, 78%),
372
+ transparent
373
+ );
374
+ }
375
+ }
239
376
  }
@@ -3,12 +3,11 @@ import "./GlassPanel.css";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__ from "./GlassPanel.classes.js";
6
- var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<button type=button><span></span><svg><path stroke-linecap=round stroke-linejoin=round d="M19 9l-7 7-7-7">'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div><div><div>");
7
- const LIQUID_DEPTH_RATIO = 0.05;
8
- const LIQUID_RADIUS_RATIO = 0.08;
9
- const LIQUID_STRENGTH_RATIO = 0.5;
10
- const LIQUID_CHROMATIC_ABERRATION_RATIO = 0.025;
11
- const LIQUID_BLUR = 2;
6
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<button type=button><span></span><svg><path stroke-linecap=round stroke-linejoin=round d="M19 9l-7 7-7-7">'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div><span class=glass-panel__rim aria-hidden=true></span><span class=glass-panel__depth aria-hidden=true></span><span class=glass-panel__sheen aria-hidden=true></span><div><div>");
7
+ const DEFAULT_GLASS_REFRACTION_DEPTH = 10;
8
+ const DEFAULT_GLASS_REFRACTION_RADIUS_RATIO = 0.08;
9
+ const DEFAULT_GLASS_REFRACTION_STRENGTH = 0.42;
10
+ const DEFAULT_GLASS_CHROMATIC_ABERRATION = 0.018;
12
11
  const getDisplacementMap = ({ height, width, radius, depth })=>`data:image/svg+xml;utf8,${encodeURIComponent(`<svg height="${height}" width="${width}" viewBox="0 0 ${width} ${height}" xmlns="http://www.w3.org/2000/svg">
13
12
  <style>
14
13
  .mix { mix-blend-mode: screen; }
@@ -129,6 +128,10 @@ const getPx = (value)=>{
129
128
  const parsed = Number.parseFloat(value);
130
129
  return Number.isFinite(parsed) ? parsed : 0;
131
130
  };
131
+ const getCssNumber = (style, name, fallback)=>{
132
+ const parsed = Number.parseFloat(style.getPropertyValue(name));
133
+ return Number.isFinite(parsed) ? parsed : fallback;
134
+ };
132
135
  const callEventHandler = (handler, event)=>{
133
136
  if ("function" == typeof handler) handler(event);
134
137
  };
@@ -156,7 +159,7 @@ const GlassPanel = (props)=>{
156
159
  "style"
157
160
  ]);
158
161
  const contentId = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
159
- const blur = ()=>local.blur ?? "none";
162
+ const blur = ()=>local.blur ?? "md";
160
163
  const size = ()=>local.size ?? "md";
161
164
  const isLiquid = ()=>"liquid" === local.effect;
162
165
  const [geometry, setGeometry] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
@@ -198,24 +201,29 @@ const GlassPanel = (props)=>{
198
201
  }
199
202
  const nextGeometry = geometry();
200
203
  if (!nextGeometry) return;
204
+ const style = window.getComputedStyle(element);
201
205
  const minSide = Math.min(nextGeometry.width, nextGeometry.height);
202
206
  const maxDepth = Math.max(1, Math.floor(minSide / 2) - 1);
203
- const depth = Math.min(maxDepth, Math.max(10, Math.round(minSide * LIQUID_DEPTH_RATIO)) / (pressed() ? 0.7 : 1));
207
+ const baseDepth = Math.max(1, getCssNumber(style, "--glass-refraction-depth", DEFAULT_GLASS_REFRACTION_DEPTH));
208
+ const depth = Math.min(maxDepth, baseDepth * (pressed() ? 1.35 : 1));
209
+ const radiusRatio = getCssNumber(style, "--glass-refraction-radius-ratio", DEFAULT_GLASS_REFRACTION_RADIUS_RATIO);
210
+ const strengthRatio = getCssNumber(style, "--glass-refraction-strength", DEFAULT_GLASS_REFRACTION_STRENGTH);
211
+ const chromaticRatio = getCssNumber(style, "--glass-refraction-chromatic-aberration", DEFAULT_GLASS_CHROMATIC_ABERRATION);
204
212
  const filter = getDisplacementFilter({
205
213
  ...nextGeometry,
206
- radius: Math.max(nextGeometry.radius, Math.round(minSide * LIQUID_RADIUS_RATIO)),
214
+ radius: Math.max(nextGeometry.radius, Math.round(minSide * radiusRatio)),
207
215
  depth,
208
- strength: Math.round(minSide * LIQUID_STRENGTH_RATIO),
209
- chromaticAberration: Math.round(minSide * LIQUID_CHROMATIC_ABERRATION_RATIO)
216
+ strength: Math.round(minSide * strengthRatio),
217
+ chromaticAberration: Math.round(minSide * chromaticRatio)
210
218
  });
211
- const backdropFilter = `blur(${LIQUID_BLUR / 2}px) url('${filter}') blur(${LIQUID_BLUR}px) brightness(var(--glass-panel-liquid-brightness, 1.1)) saturate(var(--glass-panel-liquid-saturation, 1.5))`;
219
+ const backdropFilter = `blur(calc(var(--glass-panel-blur, var(--glass-blur, 16px)) / 2)) url('${filter}') blur(var(--glass-panel-blur, var(--glass-blur, 16px))) brightness(var(--glass-brightness, 1)) saturate(var(--glass-saturation, 1.2))`;
212
220
  element.style.backdropFilter = backdropFilter;
213
221
  element.style.setProperty("-webkit-backdrop-filter", backdropFilter);
214
222
  });
215
223
  const containerClasses = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.base, !local.transparent && !isLiquid() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.blur[blur()], !local.transparent && isLiquid() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.liquid, local.transparent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.transparent, local.glow && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.glow, local.accent && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.accent[accentKey()], local.class, local.className);
216
224
  const contentClasses = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.content, local.collapsible && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.contentCollapsible, local.collapsible && !isOpen() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.contentCollapsed, (!local.collapsible || isOpen()) && !(local.paddingX || local.paddingY) && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.size[size()], local.paddingX, local.paddingY);
217
225
  return (()=>{
218
- var _el$ = _tmpl$2(), _el$5 = _el$.firstChild, _el$6 = _el$5.firstChild;
226
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling, _el$4 = _el$3.nextSibling, _el$8 = _el$4.nextSibling, _el$9 = _el$8.firstChild;
219
227
  var _ref$ = rootRef;
220
228
  "function" == typeof _ref$ ? (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)(_ref$, _el$) : rootRef = _el$;
221
229
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
@@ -248,8 +256,8 @@ const GlassPanel = (props)=>{
248
256
  return local.collapsible && local.title;
249
257
  },
250
258
  get children () {
251
- var _el$2 = _tmpl$(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;
252
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
259
+ var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild, _el$7 = _el$6.nextSibling;
260
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
253
261
  class: __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.headerButton
254
262
  }), {
255
263
  onClick: handleToggle,
@@ -258,10 +266,10 @@ const GlassPanel = (props)=>{
258
266
  },
259
267
  "aria-controls": contentId
260
268
  }), false, true);
261
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
269
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
262
270
  class: __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.headerLabel
263
271
  })), false, true);
264
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
272
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
265
273
  get when () {
266
274
  return local.icon;
267
275
  },
@@ -269,8 +277,8 @@ const GlassPanel = (props)=>{
269
277
  return local.icon;
270
278
  }
271
279
  }), null);
272
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.title, null);
273
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
280
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.title, null);
281
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$7, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
274
282
  class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.chevron, isOpen() && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.chevronOpen)
275
283
  }), {
276
284
  "aria-hidden": "true",
@@ -279,11 +287,11 @@ const GlassPanel = (props)=>{
279
287
  stroke: "currentColor",
280
288
  "stroke-width": "1.5"
281
289
  }), true, true);
282
- return _el$2;
290
+ return _el$5;
283
291
  }
284
- }), _el$5);
285
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$5, "id", contentId);
286
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
292
+ }), _el$8);
293
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$8, "id", contentId);
294
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$8, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
287
295
  class: contentClasses()
288
296
  }), {
289
297
  get style () {
@@ -293,10 +301,10 @@ const GlassPanel = (props)=>{
293
301
  };
294
302
  }
295
303
  }), false, true);
296
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
304
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$9, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
297
305
  class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.slot.contentInner, local.collapsible && __WEBPACK_EXTERNAL_MODULE__GlassPanel_classes_js_5f11fbfd__.CLASSES.flag.contentInnerHidden)
298
306
  })), false, true);
299
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.children);
307
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$9, ()=>local.children);
300
308
  return _el$;
301
309
  })();
302
310
  };
@@ -1,6 +1,16 @@
1
1
  .glow-card {
2
- --glow-color-border: oklch(100% 0 0 / 0.3);
3
- --glow-color-bg: oklch(100% 0 0 / 0.1);
2
+ --glow-color-border: color-mix(
3
+ in oklab,
4
+ var(--glass-highlight-color, var(--color-base-content))
5
+ var(--glass-border-opacity, 24%),
6
+ transparent
7
+ );
8
+ --glow-color-bg: color-mix(
9
+ in oklab,
10
+ var(--glass-highlight-color, var(--color-base-100))
11
+ var(--glass-background-opacity, 58%),
12
+ transparent
13
+ );
4
14
  position: relative;
5
15
  border-radius: inherit;
6
16
  }
@@ -28,12 +38,8 @@
28
38
  );
29
39
  z-index: 1;
30
40
  inset: -1px;
31
- -webkit-mask:
32
- linear-gradient(#fff 0 0) content-box,
33
- linear-gradient(#fff 0 0);
34
- mask:
35
- linear-gradient(#fff 0 0) content-box,
36
- linear-gradient(#fff 0 0);
41
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
42
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
37
43
  -webkit-mask-composite: xor;
38
44
  mask-composite: exclude;
39
45
  padding: 1px;
@@ -53,14 +59,6 @@
53
59
  opacity: 1;
54
60
  }
55
61
 
56
- [data-theme="light"] .glow-card::before {
57
- --glow-color-border: oklch(30% 0.15 260 / 0.4);
58
- }
59
-
60
- [data-theme="light"] .glow-card::after {
61
- --glow-color-bg: oklch(30% 0.15 260 / 0.15);
62
- }
63
-
64
62
  @media (prefers-reduced-motion: reduce) {
65
63
  .glow-card::before,
66
64
  .glow-card::after {