@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.
- package/dist/components/glass-panel/GlassPanel.css +199 -62
- package/dist/components/glass-panel/GlassPanel.js +33 -25
- package/dist/components/glow-card/GlowCard.css +14 -16
- package/dist/purge-manifest.json +2544 -2544
- package/dist/styles/icons/generated-icons.css +1 -173
- package/dist/styles/themes/dark.css +62 -5
- package/dist/styles/themes/light.css +62 -5
- package/package.json +3 -2
|
@@ -1,115 +1,179 @@
|
|
|
1
1
|
@layer components {
|
|
2
2
|
.glass-panel {
|
|
3
|
-
|
|
4
|
-
|
|
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-
|
|
6
|
+
var(--glass-background-color, white) var(--glass-background-opacity, 38%),
|
|
25
7
|
transparent
|
|
26
8
|
);
|
|
27
|
-
--glass-panel-
|
|
9
|
+
--glass-panel-border: color-mix(
|
|
28
10
|
in oklab,
|
|
29
|
-
var(--color-
|
|
11
|
+
var(--glass-border-color, white) var(--glass-border-opacity, 30%),
|
|
30
12
|
transparent
|
|
31
13
|
);
|
|
32
|
-
--glass-panel-
|
|
14
|
+
--glass-panel-highlight: color-mix(
|
|
33
15
|
in oklab,
|
|
34
|
-
var(--color-
|
|
16
|
+
var(--glass-highlight-color, white) var(--glass-highlight-opacity, 80%),
|
|
35
17
|
transparent
|
|
36
18
|
);
|
|
37
|
-
--glass-panel-
|
|
19
|
+
--glass-panel-bottom-highlight: color-mix(
|
|
38
20
|
in oklab,
|
|
39
|
-
var(--
|
|
21
|
+
var(--glass-highlight-color, white)
|
|
22
|
+
var(--glass-bottom-highlight-opacity, 10%),
|
|
40
23
|
transparent
|
|
41
24
|
);
|
|
42
|
-
--glass-panel-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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-
|
|
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-
|
|
42
|
+
--glass-panel-rim-end: color-mix(
|
|
67
43
|
in oklab,
|
|
68
|
-
var(--color-
|
|
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-
|
|
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(--
|
|
54
|
+
var(--glass-highlight-color, white)
|
|
55
|
+
var(--glass-depth-top-glow-opacity, 8%),
|
|
74
56
|
transparent
|
|
75
57
|
);
|
|
76
|
-
--glass-panel-
|
|
58
|
+
--glass-panel-depth-bottom-glow: color-mix(
|
|
77
59
|
in oklab,
|
|
78
|
-
var(--
|
|
60
|
+
var(--glass-highlight-color, white)
|
|
61
|
+
var(--glass-depth-bottom-glow-opacity, 12%),
|
|
79
62
|
transparent
|
|
80
63
|
);
|
|
81
|
-
|
|
82
|
-
|
|
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:
|
|
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
|
-
|
|
160
|
+
--glass-panel-blur: calc(var(--glass-blur, 11px) * 0.5);
|
|
97
161
|
}
|
|
98
162
|
|
|
99
163
|
.glass-panel--blur-md {
|
|
100
|
-
|
|
164
|
+
--glass-panel-blur: var(--glass-blur, 11px);
|
|
101
165
|
}
|
|
102
166
|
|
|
103
167
|
.glass-panel--blur-lg {
|
|
104
|
-
|
|
168
|
+
--glass-panel-blur: calc(var(--glass-blur, 11px) * 1.25);
|
|
105
169
|
}
|
|
106
170
|
|
|
107
171
|
.glass-panel--blur-xl {
|
|
108
|
-
|
|
172
|
+
--glass-panel-blur: calc(var(--glass-blur, 11px) * 1.5);
|
|
109
173
|
}
|
|
110
174
|
|
|
111
175
|
.glass-panel--blur-2xl {
|
|
112
|
-
|
|
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
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
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 ?? "
|
|
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
|
|
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 *
|
|
214
|
+
radius: Math.max(nextGeometry.radius, Math.round(minSide * radiusRatio)),
|
|
207
215
|
depth,
|
|
208
|
-
strength: Math.round(minSide *
|
|
209
|
-
chromaticAberration: Math.round(minSide *
|
|
216
|
+
strength: Math.round(minSide * strengthRatio),
|
|
217
|
+
chromaticAberration: Math.round(minSide * chromaticRatio)
|
|
210
218
|
});
|
|
211
|
-
const backdropFilter = `blur(
|
|
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$
|
|
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$
|
|
252
|
-
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$
|
|
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$
|
|
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$
|
|
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$
|
|
273
|
-
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$
|
|
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$
|
|
290
|
+
return _el$5;
|
|
283
291
|
}
|
|
284
|
-
}), _el$
|
|
285
|
-
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$
|
|
286
|
-
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$
|
|
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$
|
|
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$
|
|
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:
|
|
3
|
-
|
|
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
|
-
|
|
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 {
|