glass-studio-ui-pro 0.1.21 → 0.1.23
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/liquid-glass-ui.es.js +112 -178
- package/dist/liquid-glass-ui.umd.js +1 -26
- package/package.json +3 -2
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
|
|
1
|
+
import { defineComponent as S, computed as h, openBlock as f, createBlock as $, resolveDynamicComponent as M, normalizeStyle as _, normalizeClass as B, withCtx as G, createElementBlock as g, renderSlot as v, createCommentVNode as C, createElementVNode as y, unref as V, createStaticVNode as F } from "vue";
|
|
2
|
+
import { Check as L } from "lucide-vue-next";
|
|
3
|
+
const k = (t) => {
|
|
3
4
|
try {
|
|
4
5
|
return atob(t);
|
|
5
6
|
} catch {
|
|
6
7
|
return t;
|
|
7
8
|
}
|
|
8
9
|
};
|
|
9
|
-
let
|
|
10
|
+
let m = {
|
|
10
11
|
isValid: !0,
|
|
11
12
|
tier: "pro"
|
|
12
13
|
};
|
|
13
|
-
async function
|
|
14
|
+
async function U(t) {
|
|
14
15
|
var r;
|
|
15
|
-
const
|
|
16
|
+
const a = k(
|
|
16
17
|
"aHR0cDovL2xvY2FsaG9zdDozMDAxL2FwaS9saWNlbnNlL25wbQ=="
|
|
17
|
-
), o =
|
|
18
|
+
), o = k(
|
|
18
19
|
"ODhBRi0xMDBCLTVFOEUtNTkxOS00RThBLTMzQTktM0YwMy1FOTM4LTU2M0MtMUJGQy1CMTUzLTFDNTY="
|
|
19
|
-
),
|
|
20
|
-
console.debug(`[DEBUG] Attempting license verification with key: ${
|
|
20
|
+
), s = t || o;
|
|
21
|
+
console.debug(`[DEBUG] Attempting license verification with key: ${s}`);
|
|
21
22
|
try {
|
|
22
|
-
const i = await fetch(
|
|
23
|
+
const i = await fetch(a, {
|
|
23
24
|
method: "POST",
|
|
24
25
|
headers: {
|
|
25
26
|
"Content-Type": "application/json",
|
|
@@ -27,40 +28,38 @@ async function M(t) {
|
|
|
27
28
|
"X-Product": "glass-studio-ui-pro"
|
|
28
29
|
},
|
|
29
30
|
body: JSON.stringify({
|
|
30
|
-
licenseKey:
|
|
31
|
+
licenseKey: s
|
|
31
32
|
})
|
|
32
33
|
}), b = await i.json(), e = i.ok && b.isValid === !0, n = (r = b.license) == null ? void 0 : r.expiresAt;
|
|
33
|
-
let
|
|
34
|
+
let c = 0;
|
|
34
35
|
if (n) {
|
|
35
|
-
const
|
|
36
|
-
|
|
36
|
+
const w = new Date(n).getTime(), p = Date.now();
|
|
37
|
+
c = Math.max(
|
|
37
38
|
0,
|
|
38
|
-
Math.floor((
|
|
39
|
+
Math.floor((w - p) / (1e3 * 60 * 60 * 24))
|
|
39
40
|
);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
m = {
|
|
42
43
|
isValid: e,
|
|
43
44
|
expiryDate: n || "N/A",
|
|
44
45
|
tier: e ? "pro" : "free",
|
|
45
|
-
remainingDays:
|
|
46
|
+
remainingDays: c
|
|
46
47
|
};
|
|
47
|
-
const d = document.documentElement, u = "_0x_err_sys_",
|
|
48
|
-
return
|
|
49
|
-
`[!] SECURITY_ALERT: ${
|
|
50
|
-
), d.style.setProperty(
|
|
48
|
+
const d = document.documentElement, u = "_0x_err_sys_", l = "--_0x8f2d_v_st_";
|
|
49
|
+
return m.isValid ? (console.log("[+] SYSTEM_INIT: [OK]"), d.style.setProperty(l, "1"), d.classList.remove(u)) : (console.warn(
|
|
50
|
+
`[!] SECURITY_ALERT: ${k("Q29tcG9uZW50cyBMb2NrZWQ=")}. Code: ${i.status}`
|
|
51
|
+
), d.style.setProperty(l, "0"), d.classList.add(u)), m;
|
|
51
52
|
} catch {
|
|
52
|
-
return
|
|
53
|
+
return m.isValid = !1, m;
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
const
|
|
56
|
-
M();
|
|
57
|
-
const O = {
|
|
56
|
+
const T = () => m, N = (t) => U(t), R = {
|
|
58
57
|
key: 0,
|
|
59
58
|
class: "cm-card-header"
|
|
60
|
-
},
|
|
59
|
+
}, O = { class: "cm-card-body" }, j = {
|
|
61
60
|
key: 1,
|
|
62
61
|
class: "cm-card-footer"
|
|
63
|
-
},
|
|
62
|
+
}, E = /* @__PURE__ */ S({
|
|
64
63
|
__name: "CmCard",
|
|
65
64
|
props: {
|
|
66
65
|
type: { default: "none" },
|
|
@@ -75,7 +74,7 @@ const O = {
|
|
|
75
74
|
shadow: { type: [Boolean, String], default: void 0 }
|
|
76
75
|
},
|
|
77
76
|
setup(t) {
|
|
78
|
-
const
|
|
77
|
+
const a = t, o = {
|
|
79
78
|
"glass-frost": { blur: 0, opacity: 0, distortion: "mist", shadow: "reflex" },
|
|
80
79
|
"light-frost": { blur: 5, opacity: 0.08, distortion: "frosted" },
|
|
81
80
|
"heavy-frost": { blur: 24, opacity: 0, distortion: "frosted" },
|
|
@@ -93,60 +92,60 @@ const O = {
|
|
|
93
92
|
frosted: { blur: 20, opacity: 0.12, distortion: "frosted" },
|
|
94
93
|
glass: { blur: 0, opacity: 1, distortion: "none" },
|
|
95
94
|
none: { blur: 15, opacity: 0.1, distortion: "none" }
|
|
96
|
-
},
|
|
97
|
-
const e = o[
|
|
95
|
+
}, s = h(() => {
|
|
96
|
+
const e = o[a.type] || o.none, c = T().isValid ? a.distortion ?? e.distortion : "none";
|
|
98
97
|
return {
|
|
99
|
-
blur:
|
|
100
|
-
opacity:
|
|
101
|
-
brightness:
|
|
102
|
-
distortion:
|
|
103
|
-
shadow:
|
|
98
|
+
blur: a.blur ?? e.blur,
|
|
99
|
+
opacity: a.opacity ?? e.opacity,
|
|
100
|
+
brightness: a.brightness ?? e.brightness,
|
|
101
|
+
distortion: c,
|
|
102
|
+
shadow: a.shadow ?? e.shadow
|
|
104
103
|
};
|
|
105
|
-
}), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i =
|
|
106
|
-
const e =
|
|
104
|
+
}), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = h(() => {
|
|
105
|
+
const e = s.value.shadow;
|
|
107
106
|
return e === "mist" || e === "deep" ? "cm-shadow-mist" : e === "reflex" || e === !0 ? "cm-shadow-reflex" : "";
|
|
108
|
-
}), b =
|
|
109
|
-
const e = [], n = typeof
|
|
110
|
-
n && n > 0 && e.push(`blur(${n}px)`),
|
|
111
|
-
const
|
|
112
|
-
|
|
107
|
+
}), b = h(() => {
|
|
108
|
+
const e = [], n = typeof s.value.blur == "string" ? parseFloat(s.value.blur) : s.value.blur;
|
|
109
|
+
n && n > 0 && e.push(`blur(${n}px)`), s.value.brightness && e.push(`brightness(${s.value.brightness})`);
|
|
110
|
+
const c = r(s.value.distortion);
|
|
111
|
+
c && e.push(c);
|
|
113
112
|
const d = e.join(" ");
|
|
114
113
|
let u;
|
|
115
|
-
const
|
|
116
|
-
return typeof
|
|
114
|
+
const l = s.value.shadow;
|
|
115
|
+
return typeof l == "string" && l !== "mist" && l !== "reflex" && l !== "deep" && (u = l), {
|
|
117
116
|
backdropFilter: d,
|
|
118
117
|
"-webkit-backdrop-filter": d,
|
|
119
|
-
background: `rgba(var(--glass-bg-rgb), ${
|
|
120
|
-
borderRadius:
|
|
118
|
+
background: `rgba(var(--glass-bg-rgb), ${s.value.opacity})`,
|
|
119
|
+
borderRadius: a.radius,
|
|
121
120
|
boxShadow: u,
|
|
122
121
|
"-webkit-box-shadow": u
|
|
123
122
|
};
|
|
124
123
|
});
|
|
125
|
-
return (e, n) => (f(),
|
|
126
|
-
class:
|
|
124
|
+
return (e, n) => (f(), $(M(t.tag), {
|
|
125
|
+
class: B(["cm-card", [
|
|
127
126
|
{ "cm-card-grain": t.grain },
|
|
128
|
-
`cm-distortion-${
|
|
127
|
+
`cm-distortion-${s.value.distortion}`,
|
|
129
128
|
`cm-type-${t.type}`,
|
|
130
129
|
i.value,
|
|
131
130
|
t.customClass
|
|
132
131
|
]]),
|
|
133
|
-
style:
|
|
132
|
+
style: _(b.value)
|
|
134
133
|
}, {
|
|
135
|
-
default:
|
|
136
|
-
e.$slots.header ? (f(),
|
|
137
|
-
|
|
138
|
-
])) :
|
|
139
|
-
|
|
140
|
-
|
|
134
|
+
default: G(() => [
|
|
135
|
+
e.$slots.header ? (f(), g("div", R, [
|
|
136
|
+
v(e.$slots, "header")
|
|
137
|
+
])) : C("", !0),
|
|
138
|
+
y("div", O, [
|
|
139
|
+
v(e.$slots, "default")
|
|
141
140
|
]),
|
|
142
|
-
e.$slots.footer ? (f(),
|
|
143
|
-
|
|
144
|
-
])) :
|
|
141
|
+
e.$slots.footer ? (f(), g("div", j, [
|
|
142
|
+
v(e.$slots, "footer")
|
|
143
|
+
])) : C("", !0)
|
|
145
144
|
]),
|
|
146
145
|
_: 3
|
|
147
146
|
}, 8, ["class", "style"]));
|
|
148
147
|
}
|
|
149
|
-
}),
|
|
148
|
+
}), z = { class: "cm-btn-content" }, I = /* @__PURE__ */ S({
|
|
150
149
|
__name: "CmButton",
|
|
151
150
|
props: {
|
|
152
151
|
variant: { default: "default" },
|
|
@@ -158,8 +157,8 @@ const O = {
|
|
|
158
157
|
shadow: { type: [Boolean, String], default: "none" }
|
|
159
158
|
},
|
|
160
159
|
emits: ["click"],
|
|
161
|
-
setup(t, { emit:
|
|
162
|
-
const o = t,
|
|
160
|
+
setup(t, { emit: a }) {
|
|
161
|
+
const o = t, s = h(() => ({
|
|
163
162
|
// Main button element is a transparent container
|
|
164
163
|
background: "none",
|
|
165
164
|
border: "none",
|
|
@@ -167,183 +166,118 @@ const O = {
|
|
|
167
166
|
outline: "none",
|
|
168
167
|
boxShadow: "none"
|
|
169
168
|
// Handled by variants or shadowClass on main button
|
|
170
|
-
})), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i =
|
|
169
|
+
})), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = h(() => {
|
|
171
170
|
const e = [], n = [];
|
|
172
171
|
o.blur > 0 && e.push(`blur(${o.blur}px)`);
|
|
173
|
-
const d =
|
|
172
|
+
const d = T().isValid ? o.distortion : "none", u = r(d);
|
|
174
173
|
u && n.push(u);
|
|
175
|
-
const
|
|
176
|
-
let
|
|
177
|
-
return o.variant === "primary" ? (
|
|
174
|
+
const l = e.join(" "), w = n.join(" ");
|
|
175
|
+
let p = `rgba(var(--glass-bg-rgb), ${o.opacity})`, x = "rgba(var(--glass-border-rgb), 0.15)";
|
|
176
|
+
return o.variant === "primary" ? (p = `rgba(var(--primary-color-rgb), ${Math.min(o.opacity + 0.15, 0.4)})`, x = "rgba(var(--primary-color-rgb), 0.3)") : o.variant === "ghost" && (p = "transparent", x = "transparent", o.active && (p = `rgba(var(--glass-bg-rgb), ${o.opacity})`, x = "rgba(var(--glass-border-rgb), 0.15)")), {
|
|
178
177
|
position: "absolute",
|
|
179
178
|
top: 0,
|
|
180
179
|
left: 0,
|
|
181
180
|
right: 0,
|
|
182
181
|
bottom: 0,
|
|
183
|
-
background:
|
|
182
|
+
background: p,
|
|
184
183
|
border: o.variant === "ghost" && !o.active ? "none" : `1px solid ${x}`,
|
|
185
|
-
backdropFilter:
|
|
186
|
-
"-webkit-backdrop-filter":
|
|
187
|
-
filter:
|
|
184
|
+
backdropFilter: l,
|
|
185
|
+
"-webkit-backdrop-filter": l,
|
|
186
|
+
filter: w,
|
|
188
187
|
// SVG filters on the colored surface
|
|
189
188
|
pointerEvents: "none",
|
|
190
189
|
zIndex: 1,
|
|
191
190
|
borderRadius: "inherit",
|
|
192
191
|
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
|
|
193
192
|
};
|
|
194
|
-
}), b =
|
|
193
|
+
}), b = h(() => {
|
|
195
194
|
const e = o.shadow;
|
|
196
195
|
return e === "mist" || e === "deep" ? "cm-shadow-mist" : e === "reflex" || e === !0 ? "cm-shadow-reflex" : "";
|
|
197
196
|
});
|
|
198
|
-
return (e, n) => (f(),
|
|
199
|
-
class:
|
|
197
|
+
return (e, n) => (f(), g("button", {
|
|
198
|
+
class: B(["cm-btn", [
|
|
200
199
|
`cm-btn-${o.variant}`,
|
|
201
200
|
{ "cm-btn-active": o.active },
|
|
202
201
|
{ "cm-btn-glow": o.glow },
|
|
203
202
|
b.value
|
|
204
203
|
]]),
|
|
205
|
-
style:
|
|
206
|
-
onClick: n[0] || (n[0] = (
|
|
204
|
+
style: _(s.value),
|
|
205
|
+
onClick: n[0] || (n[0] = (c) => e.$emit("click", c))
|
|
207
206
|
}, [
|
|
208
|
-
|
|
207
|
+
y("div", {
|
|
209
208
|
class: "cm-btn-surface",
|
|
210
|
-
style:
|
|
209
|
+
style: _(i.value)
|
|
211
210
|
}, null, 4),
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
y("div", z, [
|
|
212
|
+
v(e.$slots, "default")
|
|
214
213
|
])
|
|
215
214
|
], 6));
|
|
216
215
|
}
|
|
217
|
-
})
|
|
218
|
-
/**
|
|
219
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
220
|
-
*
|
|
221
|
-
* This source code is licensed under the ISC license.
|
|
222
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
223
|
-
*/
|
|
224
|
-
const z = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
225
|
-
/**
|
|
226
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
227
|
-
*
|
|
228
|
-
* This source code is licensed under the ISC license.
|
|
229
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
230
|
-
*/
|
|
231
|
-
var w = {
|
|
232
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
233
|
-
width: 24,
|
|
234
|
-
height: 24,
|
|
235
|
-
viewBox: "0 0 24 24",
|
|
236
|
-
fill: "none",
|
|
237
|
-
stroke: "currentColor",
|
|
238
|
-
"stroke-width": 2,
|
|
239
|
-
"stroke-linecap": "round",
|
|
240
|
-
"stroke-linejoin": "round"
|
|
241
|
-
};
|
|
242
|
-
/**
|
|
243
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
244
|
-
*
|
|
245
|
-
* This source code is licensed under the ISC license.
|
|
246
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
247
|
-
*/
|
|
248
|
-
const q = ({ size: t, strokeWidth: s = 2, absoluteStrokeWidth: o, color: a, iconNode: r, name: i, class: b, ...e }, { slots: n }) => $(
|
|
249
|
-
"svg",
|
|
250
|
-
{
|
|
251
|
-
...w,
|
|
252
|
-
width: t || w.width,
|
|
253
|
-
height: t || w.height,
|
|
254
|
-
stroke: a || w.stroke,
|
|
255
|
-
"stroke-width": o ? Number(s) * 24 / Number(t) : s,
|
|
256
|
-
class: ["lucide", `lucide-${z(i ?? "icon")}`],
|
|
257
|
-
...e
|
|
258
|
-
},
|
|
259
|
-
[...r.map((l) => $(...l)), ...n.default ? [n.default()] : []]
|
|
260
|
-
);
|
|
261
|
-
/**
|
|
262
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
263
|
-
*
|
|
264
|
-
* This source code is licensed under the ISC license.
|
|
265
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
266
|
-
*/
|
|
267
|
-
const K = (t, s) => (o, { slots: a }) => $(
|
|
268
|
-
q,
|
|
269
|
-
{
|
|
270
|
-
...o,
|
|
271
|
-
iconNode: s,
|
|
272
|
-
name: t
|
|
273
|
-
},
|
|
274
|
-
a
|
|
275
|
-
);
|
|
276
|
-
/**
|
|
277
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
278
|
-
*
|
|
279
|
-
* This source code is licensed under the ISC license.
|
|
280
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
281
|
-
*/
|
|
282
|
-
const Q = K("CheckIcon", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]), Y = { class: "cm-checkbox-wrapper" }, Z = ["checked", "disabled"], J = { class: "cm-checkbox-box" }, W = {
|
|
216
|
+
}), P = { class: "cm-checkbox-wrapper" }, A = ["checked", "disabled"], q = { class: "cm-checkbox-box" }, Q = {
|
|
283
217
|
key: 0,
|
|
284
218
|
class: "cm-checkbox-label"
|
|
285
|
-
},
|
|
219
|
+
}, Y = /* @__PURE__ */ S({
|
|
286
220
|
__name: "CmCheckbox",
|
|
287
221
|
props: {
|
|
288
222
|
modelValue: { type: Boolean, default: !1 },
|
|
289
223
|
disabled: { type: Boolean, default: !1 }
|
|
290
224
|
},
|
|
291
225
|
emits: ["update:modelValue", "change"],
|
|
292
|
-
setup(t, { emit:
|
|
293
|
-
const o =
|
|
226
|
+
setup(t, { emit: a }) {
|
|
227
|
+
const o = a, s = (r) => {
|
|
294
228
|
const i = r.target;
|
|
295
229
|
o("update:modelValue", i.checked), o("change", i.checked);
|
|
296
230
|
};
|
|
297
|
-
return (r, i) => (f(),
|
|
298
|
-
class:
|
|
231
|
+
return (r, i) => (f(), g("label", {
|
|
232
|
+
class: B(["cm-checkbox-container", { disabled: t.disabled }])
|
|
299
233
|
}, [
|
|
300
|
-
|
|
301
|
-
|
|
234
|
+
y("div", P, [
|
|
235
|
+
y("input", {
|
|
302
236
|
type: "checkbox",
|
|
303
237
|
checked: t.modelValue,
|
|
304
|
-
onChange:
|
|
238
|
+
onChange: s,
|
|
305
239
|
disabled: t.disabled
|
|
306
|
-
}, null, 40,
|
|
307
|
-
|
|
308
|
-
t.modelValue ? (f(),
|
|
240
|
+
}, null, 40, A),
|
|
241
|
+
y("div", q, [
|
|
242
|
+
t.modelValue ? (f(), $(V(L), {
|
|
309
243
|
key: 0,
|
|
310
244
|
class: "cm-checkbox-icon"
|
|
311
|
-
})) :
|
|
245
|
+
})) : C("", !0)
|
|
312
246
|
])
|
|
313
247
|
]),
|
|
314
|
-
r.$slots.default ? (f(),
|
|
315
|
-
|
|
316
|
-
])) :
|
|
248
|
+
r.$slots.default ? (f(), g("span", Q, [
|
|
249
|
+
v(r.$slots, "default", {}, void 0, !0)
|
|
250
|
+
])) : C("", !0)
|
|
317
251
|
], 2));
|
|
318
252
|
}
|
|
319
|
-
}),
|
|
253
|
+
}), D = (t, a) => {
|
|
320
254
|
const o = t.__vccOpts || t;
|
|
321
|
-
for (const [
|
|
322
|
-
o[
|
|
255
|
+
for (const [s, r] of a)
|
|
256
|
+
o[s] = r;
|
|
323
257
|
return o;
|
|
324
|
-
},
|
|
258
|
+
}, K = /* @__PURE__ */ D(Y, [["__scopeId", "data-v-d47cd0ab"]]), W = {}, J = {
|
|
325
259
|
class: "cm-glass-filters",
|
|
326
260
|
"aria-hidden": "true",
|
|
327
261
|
focusable: "false"
|
|
328
262
|
};
|
|
329
|
-
function
|
|
330
|
-
return f(),
|
|
331
|
-
|
|
263
|
+
function Z(t, a) {
|
|
264
|
+
return f(), g("svg", J, [...a[0] || (a[0] = [
|
|
265
|
+
F('<filter id="cm-glass-distortion-wavy" x="-10%" y="-10%" width="120%" height="120%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.003 0.007" numOctaves="1" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in="SourceGraphic" in2="turbulence" scale="200" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-frosted" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.009 0.009" numOctaves="2" seed="92" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.02" result="blur" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blur" scale="80" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-grain" x="0%" y="0%" width="100%" height="100%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="1.2 1.2" numOctaves="1" seed="9000" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.1" result="blurred" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blurred" scale="100" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-ripple" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.008" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="155" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-mist" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.02" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="30" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter>', 5)
|
|
332
266
|
])]);
|
|
333
267
|
}
|
|
334
|
-
const
|
|
268
|
+
const H = /* @__PURE__ */ D(W, [["render", Z], ["__scopeId", "data-v-52af4cfb"]]);
|
|
335
269
|
console.log("📦 Glass Studio UI Pro: Library Loaded (v0.1.11)");
|
|
336
|
-
const
|
|
337
|
-
install(t,
|
|
338
|
-
|
|
270
|
+
const te = {
|
|
271
|
+
install(t, a = {}) {
|
|
272
|
+
N(a.licenseKey), t.component("CmCard", E), t.component("CmButton", I), t.component("CmCheckbox", K), t.component("CmFilters", H);
|
|
339
273
|
}
|
|
340
274
|
};
|
|
341
275
|
export {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
276
|
+
I as CmButton,
|
|
277
|
+
E as CmCard,
|
|
278
|
+
K as CmCheckbox,
|
|
279
|
+
H as CmFilters,
|
|
280
|
+
te as GlassUI,
|
|
281
|
+
te as default,
|
|
282
|
+
T as getLicenseStatus
|
|
349
283
|
};
|
|
@@ -1,26 +1 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const L=o=>o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
|
|
7
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/**
|
|
12
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const E=({size:o,strokeWidth:n=2,absoluteStrokeWidth:a,color:s,iconNode:i,name:l,class:m,...t},{slots:r})=>e.h("svg",{...g,width:o||g.width,height:o||g.height,stroke:s||g.stroke,"stroke-width":a?Number(n)*24/Number(o):n,class:["lucide",`lucide-${L(l??"icon")}`],...t},[...i.map(d=>e.h(...d)),...r.default?[r.default()]:[]]);/**
|
|
17
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const F=(o,n)=>(a,{slots:s})=>e.h(E,{...a,iconNode:n,name:o},s);/**
|
|
22
|
-
* @license lucide-vue-next v0.477.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const U=F("CheckIcon",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),j={class:"cm-checkbox-wrapper"},O=["checked","disabled"],R={class:"cm-checkbox-box"},I={key:0,class:"cm-checkbox-label"},z=e.defineComponent({__name:"CmCheckbox",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(o,{emit:n}){const a=n,s=i=>{const l=i.target;a("update:modelValue",l.checked),a("change",l.checked)};return(i,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["cm-checkbox-container",{disabled:o.disabled}])},[e.createElementVNode("div",j,[e.createElementVNode("input",{type:"checkbox",checked:o.modelValue,onChange:s,disabled:o.disabled},null,40,O),e.createElementVNode("div",R,[o.modelValue?(e.openBlock(),e.createBlock(e.unref(U),{key:0,class:"cm-checkbox-icon"})):e.createCommentVNode("",!0)])]),i.$slots.default?(e.openBlock(),e.createElementBlock("span",I,[e.renderSlot(i.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),B=(o,n)=>{const a=o.__vccOpts||o;for(const[s,i]of n)a[s]=i;return a},_=B(z,[["__scopeId","data-v-d47cd0ab"]]),P={},A={class:"cm-glass-filters","aria-hidden":"true",focusable:"false"};function q(o,n){return e.openBlock(),e.createElementBlock("svg",A,[...n[0]||(n[0]=[e.createStaticVNode('<filter id="cm-glass-distortion-wavy" x="-10%" y="-10%" width="120%" height="120%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.003 0.007" numOctaves="1" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in="SourceGraphic" in2="turbulence" scale="200" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-frosted" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.009 0.009" numOctaves="2" seed="92" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.02" result="blur" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blur" scale="80" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-grain" x="0%" y="0%" width="100%" height="100%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="1.2 1.2" numOctaves="1" seed="9000" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.1" result="blurred" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blurred" scale="100" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-ripple" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.008" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="155" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-mist" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.02" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="30" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter>',5)])])}const $=B(P,[["render",q],["__scopeId","data-v-52af4cfb"]]);console.log("📦 Glass Studio UI Pro: Library Loaded (v0.1.11)");const T={install(o,n={}){V(n.licenseKey),o.component("CmCard",v),o.component("CmButton",S),o.component("CmCheckbox",_),o.component("CmFilters",$)}};c.CmButton=S,c.CmCard=v,c.CmCheckbox=_,c.CmFilters=$,c.GlassUI=T,c.default=T,c.getLicenseStatus=C,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(i,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lucide-vue-next")):typeof define=="function"&&define.amd?define(["exports","vue","lucide-vue-next"],e):(i=typeof globalThis<"u"?globalThis:i||self,e(i.LiquidGlassUI={},i.Vue,i.LucideVueNext))})(this,(function(i,e,$){"use strict";const g=o=>{try{return atob(o)}catch{return o}};let m={isValid:!0,tier:"pro"};async function T(o){var l;const n=g("aHR0cDovL2xvY2FsaG9zdDozMDAxL2FwaS9saWNlbnNlL25wbQ=="),a=g("ODhBRi0xMDBCLTVFOEUtNTkxOS00RThBLTMzQTktM0YwMy1FOTM4LTU2M0MtMUJGQy1CMTUzLTFDNTY="),s=o||a;console.debug(`[DEBUG] Attempting license verification with key: ${s}`);try{const c=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","X-Product":"glass-studio-ui-pro"},body:JSON.stringify({licenseKey:s})}),p=await c.json(),t=c.ok&&p.isValid===!0,r=(l=p.license)==null?void 0:l.expiresAt;let u=0;if(r){const C=new Date(r).getTime(),h=Date.now();u=Math.max(0,Math.floor((C-h)/(1e3*60*60*24)))}m={isValid:t,expiryDate:r||"N/A",tier:t?"pro":"free",remainingDays:u};const f=document.documentElement,b="_0x_err_sys_",d="--_0x8f2d_v_st_";return m.isValid?(console.log("[+] SYSTEM_INIT: [OK]"),f.style.setProperty(d,"1"),f.classList.remove(b)):(console.warn(`[!] SECURITY_ALERT: ${g("Q29tcG9uZW50cyBMb2NrZWQ=")}. Code: ${c.status}`),f.style.setProperty(d,"0"),f.classList.add(b)),m}catch{return m.isValid=!1,m}}const k=()=>m,V=o=>T(o),D={key:0,class:"cm-card-header"},M={class:"cm-card-body"},N={key:1,class:"cm-card-footer"},x=e.defineComponent({__name:"CmCard",props:{type:{default:"none"},blur:{default:void 0},opacity:{default:void 0},brightness:{default:void 0},grain:{type:Boolean,default:!1},distortion:{default:void 0},customClass:{default:""},radius:{default:"16px"},tag:{default:"div"},shadow:{type:[Boolean,String],default:void 0}},setup(o){const n=o,a={"glass-frost":{blur:0,opacity:0,distortion:"mist",shadow:"reflex"},"light-frost":{blur:5,opacity:.08,distortion:"frosted"},"heavy-frost":{blur:24,opacity:0,distortion:"frosted"},"grain-frost":{blur:4,opacity:0,distortion:"grain"},"fine-frost":{blur:7,opacity:0,distortion:"mist",shadow:"reflex"},"soft-mist":{blur:20,opacity:0,distortion:"none",brightness:2,shadow:"mist"},crystal:{blur:10,opacity:.08,distortion:"none"},"deep-velvet":{blur:60,opacity:.2,distortion:"none"},frosted:{blur:20,opacity:.12,distortion:"frosted"},glass:{blur:0,opacity:1,distortion:"none"},none:{blur:15,opacity:.1,distortion:"none"}},s=e.computed(()=>{const t=a[n.type]||a.none,u=k().isValid?n.distortion??t.distortion:"none";return{blur:n.blur??t.blur,opacity:n.opacity??t.opacity,brightness:n.brightness??t.brightness,distortion:u,shadow:n.shadow??t.shadow}}),l=t=>!t||t==="none"?"":`url(#cm-glass-distortion-${t})`,c=e.computed(()=>{const t=s.value.shadow;return t==="mist"||t==="deep"?"cm-shadow-mist":t==="reflex"||t===!0?"cm-shadow-reflex":""}),p=e.computed(()=>{const t=[],r=typeof s.value.blur=="string"?parseFloat(s.value.blur):s.value.blur;r&&r>0&&t.push(`blur(${r}px)`),s.value.brightness&&t.push(`brightness(${s.value.brightness})`);const u=l(s.value.distortion);u&&t.push(u);const f=t.join(" ");let b;const d=s.value.shadow;return typeof d=="string"&&d!=="mist"&&d!=="reflex"&&d!=="deep"&&(b=d),{backdropFilter:f,"-webkit-backdrop-filter":f,background:`rgba(var(--glass-bg-rgb), ${s.value.opacity})`,borderRadius:n.radius,boxShadow:b,"-webkit-box-shadow":b}});return(t,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.tag),{class:e.normalizeClass(["cm-card",[{"cm-card-grain":o.grain},`cm-distortion-${s.value.distortion}`,`cm-type-${o.type}`,c.value,o.customClass]]),style:e.normalizeStyle(p.value)},{default:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",D,[e.renderSlot(t.$slots,"header")])):e.createCommentVNode("",!0),e.createElementVNode("div",M,[e.renderSlot(t.$slots,"default")]),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",N,[e.renderSlot(t.$slots,"footer")])):e.createCommentVNode("",!0)]),_:3},8,["class","style"]))}}),G={class:"cm-btn-content"},v=e.defineComponent({__name:"CmButton",props:{variant:{default:"default"},active:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},blur:{default:12},opacity:{default:.12},distortion:{default:"none"},shadow:{type:[Boolean,String],default:"none"}},emits:["click"],setup(o,{emit:n}){const a=o,s=e.computed(()=>({background:"none",border:"none",outline:"none",boxShadow:"none"})),l=t=>!t||t==="none"?"":`url(#cm-glass-distortion-${t})`,c=e.computed(()=>{const t=[],r=[];a.blur>0&&t.push(`blur(${a.blur}px)`);const f=k().isValid?a.distortion:"none",b=l(f);b&&r.push(b);const d=t.join(" "),C=r.join(" ");let h=`rgba(var(--glass-bg-rgb), ${a.opacity})`,y="rgba(var(--glass-border-rgb), 0.15)";return a.variant==="primary"?(h=`rgba(var(--primary-color-rgb), ${Math.min(a.opacity+.15,.4)})`,y="rgba(var(--primary-color-rgb), 0.3)"):a.variant==="ghost"&&(h="transparent",y="transparent",a.active&&(h=`rgba(var(--glass-bg-rgb), ${a.opacity})`,y="rgba(var(--glass-border-rgb), 0.15)")),{position:"absolute",top:0,left:0,right:0,bottom:0,background:h,border:a.variant==="ghost"&&!a.active?"none":`1px solid ${y}`,backdropFilter:d,"-webkit-backdrop-filter":d,filter:C,pointerEvents:"none",zIndex:1,borderRadius:"inherit",transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"}}),p=e.computed(()=>{const t=a.shadow;return t==="mist"||t==="deep"?"cm-shadow-mist":t==="reflex"||t===!0?"cm-shadow-reflex":""});return(t,r)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["cm-btn",[`cm-btn-${a.variant}`,{"cm-btn-active":a.active},{"cm-btn-glow":a.glow},p.value]]),style:e.normalizeStyle(s.value),onClick:r[0]||(r[0]=u=>t.$emit("click",u))},[e.createElementVNode("div",{class:"cm-btn-surface",style:e.normalizeStyle(c.value)},null,4),e.createElementVNode("div",G,[e.renderSlot(t.$slots,"default")])],6))}}),E={class:"cm-checkbox-wrapper"},L=["checked","disabled"],F={class:"cm-checkbox-box"},U={key:0,class:"cm-checkbox-label"},O=e.defineComponent({__name:"CmCheckbox",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(o,{emit:n}){const a=n,s=l=>{const c=l.target;a("update:modelValue",c.checked),a("change",c.checked)};return(l,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["cm-checkbox-container",{disabled:o.disabled}])},[e.createElementVNode("div",E,[e.createElementVNode("input",{type:"checkbox",checked:o.modelValue,onChange:s,disabled:o.disabled},null,40,L),e.createElementVNode("div",F,[o.modelValue?(e.openBlock(),e.createBlock(e.unref($.Check),{key:0,class:"cm-checkbox-icon"})):e.createCommentVNode("",!0)])]),l.$slots.default?(e.openBlock(),e.createElementBlock("span",U,[e.renderSlot(l.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),S=(o,n)=>{const a=o.__vccOpts||o;for(const[s,l]of n)a[s]=l;return a},w=S(O,[["__scopeId","data-v-d47cd0ab"]]),R={},j={class:"cm-glass-filters","aria-hidden":"true",focusable:"false"};function z(o,n){return e.openBlock(),e.createElementBlock("svg",j,[...n[0]||(n[0]=[e.createStaticVNode('<filter id="cm-glass-distortion-wavy" x="-10%" y="-10%" width="120%" height="120%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.003 0.007" numOctaves="1" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in="SourceGraphic" in2="turbulence" scale="200" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-frosted" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="0.009 0.009" numOctaves="2" seed="92" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.02" result="blur" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blur" scale="80" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-grain" x="0%" y="0%" width="100%" height="100%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="fractalNoise" baseFrequency="1.2 1.2" numOctaves="1" seed="9000" result="noise" data-v-52af4cfb></feTurbulence><feGaussianBlur in="noise" stdDeviation="0.1" result="blurred" data-v-52af4cfb></feGaussianBlur><feDisplacementMap in="SourceGraphic" in2="blurred" scale="100" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-ripple" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.008" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="155" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter><filter id="cm-glass-distortion-mist" x="-5%" y="-5%" width="110%" height="110%" filterUnits="objectBoundingBox" data-v-52af4cfb><feTurbulence type="turbulence" baseFrequency="0.02" numOctaves="3" result="turbulence" data-v-52af4cfb></feTurbulence><feDisplacementMap in2="turbulence" in="SourceGraphic" scale="30" xChannelSelector="R" yChannelSelector="G" data-v-52af4cfb></feDisplacementMap></filter>',5)])])}const B=S(R,[["render",z],["__scopeId","data-v-52af4cfb"]]);console.log("📦 Glass Studio UI Pro: Library Loaded (v0.1.11)");const _={install(o,n={}){V(n.licenseKey),o.component("CmCard",x),o.component("CmButton",v),o.component("CmCheckbox",w),o.component("CmFilters",B)}};i.CmButton=v,i.CmCard=x,i.CmCheckbox=w,i.CmFilters=B,i.GlassUI=_,i.default=_,i.getLicenseStatus=k,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glass-studio-ui-pro",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
"preview": "vite preview"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"vue": "^3.3.0"
|
|
37
|
+
"vue": "^3.3.0",
|
|
38
|
+
"lucide-vue-next": ">=0.400.0"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
41
|
"lucide-vue-next": "^0.477.0"
|