glass-studio-ui-pro 0.1.21 → 0.1.22
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 +114 -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 G, normalizeStyle as _, normalizeClass as B, withCtx as V, createElementBlock as g, renderSlot as v, createCommentVNode as C, createElementVNode as y, unref as F, createStaticVNode as L } from "vue";
|
|
2
|
+
import { Check as U } 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 T(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,40 @@ 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
|
-
|
|
57
|
-
const
|
|
56
|
+
const D = () => m, N = (t) => T(t);
|
|
57
|
+
T();
|
|
58
|
+
const R = {
|
|
58
59
|
key: 0,
|
|
59
60
|
class: "cm-card-header"
|
|
60
|
-
},
|
|
61
|
+
}, O = { class: "cm-card-body" }, j = {
|
|
61
62
|
key: 1,
|
|
62
63
|
class: "cm-card-footer"
|
|
63
|
-
},
|
|
64
|
+
}, E = /* @__PURE__ */ S({
|
|
64
65
|
__name: "CmCard",
|
|
65
66
|
props: {
|
|
66
67
|
type: { default: "none" },
|
|
@@ -75,7 +76,7 @@ const O = {
|
|
|
75
76
|
shadow: { type: [Boolean, String], default: void 0 }
|
|
76
77
|
},
|
|
77
78
|
setup(t) {
|
|
78
|
-
const
|
|
79
|
+
const a = t, o = {
|
|
79
80
|
"glass-frost": { blur: 0, opacity: 0, distortion: "mist", shadow: "reflex" },
|
|
80
81
|
"light-frost": { blur: 5, opacity: 0.08, distortion: "frosted" },
|
|
81
82
|
"heavy-frost": { blur: 24, opacity: 0, distortion: "frosted" },
|
|
@@ -93,60 +94,60 @@ const O = {
|
|
|
93
94
|
frosted: { blur: 20, opacity: 0.12, distortion: "frosted" },
|
|
94
95
|
glass: { blur: 0, opacity: 1, distortion: "none" },
|
|
95
96
|
none: { blur: 15, opacity: 0.1, distortion: "none" }
|
|
96
|
-
},
|
|
97
|
-
const e = o[
|
|
97
|
+
}, s = h(() => {
|
|
98
|
+
const e = o[a.type] || o.none, c = D().isValid ? a.distortion ?? e.distortion : "none";
|
|
98
99
|
return {
|
|
99
|
-
blur:
|
|
100
|
-
opacity:
|
|
101
|
-
brightness:
|
|
102
|
-
distortion:
|
|
103
|
-
shadow:
|
|
100
|
+
blur: a.blur ?? e.blur,
|
|
101
|
+
opacity: a.opacity ?? e.opacity,
|
|
102
|
+
brightness: a.brightness ?? e.brightness,
|
|
103
|
+
distortion: c,
|
|
104
|
+
shadow: a.shadow ?? e.shadow
|
|
104
105
|
};
|
|
105
|
-
}), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i =
|
|
106
|
-
const e =
|
|
106
|
+
}), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = h(() => {
|
|
107
|
+
const e = s.value.shadow;
|
|
107
108
|
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
|
-
|
|
109
|
+
}), b = h(() => {
|
|
110
|
+
const e = [], n = typeof s.value.blur == "string" ? parseFloat(s.value.blur) : s.value.blur;
|
|
111
|
+
n && n > 0 && e.push(`blur(${n}px)`), s.value.brightness && e.push(`brightness(${s.value.brightness})`);
|
|
112
|
+
const c = r(s.value.distortion);
|
|
113
|
+
c && e.push(c);
|
|
113
114
|
const d = e.join(" ");
|
|
114
115
|
let u;
|
|
115
|
-
const
|
|
116
|
-
return typeof
|
|
116
|
+
const l = s.value.shadow;
|
|
117
|
+
return typeof l == "string" && l !== "mist" && l !== "reflex" && l !== "deep" && (u = l), {
|
|
117
118
|
backdropFilter: d,
|
|
118
119
|
"-webkit-backdrop-filter": d,
|
|
119
|
-
background: `rgba(var(--glass-bg-rgb), ${
|
|
120
|
-
borderRadius:
|
|
120
|
+
background: `rgba(var(--glass-bg-rgb), ${s.value.opacity})`,
|
|
121
|
+
borderRadius: a.radius,
|
|
121
122
|
boxShadow: u,
|
|
122
123
|
"-webkit-box-shadow": u
|
|
123
124
|
};
|
|
124
125
|
});
|
|
125
|
-
return (e, n) => (f(),
|
|
126
|
-
class:
|
|
126
|
+
return (e, n) => (f(), $(G(t.tag), {
|
|
127
|
+
class: B(["cm-card", [
|
|
127
128
|
{ "cm-card-grain": t.grain },
|
|
128
|
-
`cm-distortion-${
|
|
129
|
+
`cm-distortion-${s.value.distortion}`,
|
|
129
130
|
`cm-type-${t.type}`,
|
|
130
131
|
i.value,
|
|
131
132
|
t.customClass
|
|
132
133
|
]]),
|
|
133
|
-
style:
|
|
134
|
+
style: _(b.value)
|
|
134
135
|
}, {
|
|
135
|
-
default:
|
|
136
|
-
e.$slots.header ? (f(),
|
|
137
|
-
|
|
138
|
-
])) :
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
default: V(() => [
|
|
137
|
+
e.$slots.header ? (f(), g("div", R, [
|
|
138
|
+
v(e.$slots, "header")
|
|
139
|
+
])) : C("", !0),
|
|
140
|
+
y("div", O, [
|
|
141
|
+
v(e.$slots, "default")
|
|
141
142
|
]),
|
|
142
|
-
e.$slots.footer ? (f(),
|
|
143
|
-
|
|
144
|
-
])) :
|
|
143
|
+
e.$slots.footer ? (f(), g("div", j, [
|
|
144
|
+
v(e.$slots, "footer")
|
|
145
|
+
])) : C("", !0)
|
|
145
146
|
]),
|
|
146
147
|
_: 3
|
|
147
148
|
}, 8, ["class", "style"]));
|
|
148
149
|
}
|
|
149
|
-
}),
|
|
150
|
+
}), z = { class: "cm-btn-content" }, I = /* @__PURE__ */ S({
|
|
150
151
|
__name: "CmButton",
|
|
151
152
|
props: {
|
|
152
153
|
variant: { default: "default" },
|
|
@@ -158,8 +159,8 @@ const O = {
|
|
|
158
159
|
shadow: { type: [Boolean, String], default: "none" }
|
|
159
160
|
},
|
|
160
161
|
emits: ["click"],
|
|
161
|
-
setup(t, { emit:
|
|
162
|
-
const o = t,
|
|
162
|
+
setup(t, { emit: a }) {
|
|
163
|
+
const o = t, s = h(() => ({
|
|
163
164
|
// Main button element is a transparent container
|
|
164
165
|
background: "none",
|
|
165
166
|
border: "none",
|
|
@@ -167,183 +168,118 @@ const O = {
|
|
|
167
168
|
outline: "none",
|
|
168
169
|
boxShadow: "none"
|
|
169
170
|
// Handled by variants or shadowClass on main button
|
|
170
|
-
})), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i =
|
|
171
|
+
})), r = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = h(() => {
|
|
171
172
|
const e = [], n = [];
|
|
172
173
|
o.blur > 0 && e.push(`blur(${o.blur}px)`);
|
|
173
|
-
const d =
|
|
174
|
+
const d = D().isValid ? o.distortion : "none", u = r(d);
|
|
174
175
|
u && n.push(u);
|
|
175
|
-
const
|
|
176
|
-
let
|
|
177
|
-
return o.variant === "primary" ? (
|
|
176
|
+
const l = e.join(" "), w = n.join(" ");
|
|
177
|
+
let p = `rgba(var(--glass-bg-rgb), ${o.opacity})`, x = "rgba(var(--glass-border-rgb), 0.15)";
|
|
178
|
+
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
179
|
position: "absolute",
|
|
179
180
|
top: 0,
|
|
180
181
|
left: 0,
|
|
181
182
|
right: 0,
|
|
182
183
|
bottom: 0,
|
|
183
|
-
background:
|
|
184
|
+
background: p,
|
|
184
185
|
border: o.variant === "ghost" && !o.active ? "none" : `1px solid ${x}`,
|
|
185
|
-
backdropFilter:
|
|
186
|
-
"-webkit-backdrop-filter":
|
|
187
|
-
filter:
|
|
186
|
+
backdropFilter: l,
|
|
187
|
+
"-webkit-backdrop-filter": l,
|
|
188
|
+
filter: w,
|
|
188
189
|
// SVG filters on the colored surface
|
|
189
190
|
pointerEvents: "none",
|
|
190
191
|
zIndex: 1,
|
|
191
192
|
borderRadius: "inherit",
|
|
192
193
|
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
|
|
193
194
|
};
|
|
194
|
-
}), b =
|
|
195
|
+
}), b = h(() => {
|
|
195
196
|
const e = o.shadow;
|
|
196
197
|
return e === "mist" || e === "deep" ? "cm-shadow-mist" : e === "reflex" || e === !0 ? "cm-shadow-reflex" : "";
|
|
197
198
|
});
|
|
198
|
-
return (e, n) => (f(),
|
|
199
|
-
class:
|
|
199
|
+
return (e, n) => (f(), g("button", {
|
|
200
|
+
class: B(["cm-btn", [
|
|
200
201
|
`cm-btn-${o.variant}`,
|
|
201
202
|
{ "cm-btn-active": o.active },
|
|
202
203
|
{ "cm-btn-glow": o.glow },
|
|
203
204
|
b.value
|
|
204
205
|
]]),
|
|
205
|
-
style:
|
|
206
|
-
onClick: n[0] || (n[0] = (
|
|
206
|
+
style: _(s.value),
|
|
207
|
+
onClick: n[0] || (n[0] = (c) => e.$emit("click", c))
|
|
207
208
|
}, [
|
|
208
|
-
|
|
209
|
+
y("div", {
|
|
209
210
|
class: "cm-btn-surface",
|
|
210
|
-
style:
|
|
211
|
+
style: _(i.value)
|
|
211
212
|
}, null, 4),
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
y("div", z, [
|
|
214
|
+
v(e.$slots, "default")
|
|
214
215
|
])
|
|
215
216
|
], 6));
|
|
216
217
|
}
|
|
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 = {
|
|
218
|
+
}), P = { class: "cm-checkbox-wrapper" }, A = ["checked", "disabled"], q = { class: "cm-checkbox-box" }, Q = {
|
|
283
219
|
key: 0,
|
|
284
220
|
class: "cm-checkbox-label"
|
|
285
|
-
},
|
|
221
|
+
}, Y = /* @__PURE__ */ S({
|
|
286
222
|
__name: "CmCheckbox",
|
|
287
223
|
props: {
|
|
288
224
|
modelValue: { type: Boolean, default: !1 },
|
|
289
225
|
disabled: { type: Boolean, default: !1 }
|
|
290
226
|
},
|
|
291
227
|
emits: ["update:modelValue", "change"],
|
|
292
|
-
setup(t, { emit:
|
|
293
|
-
const o =
|
|
228
|
+
setup(t, { emit: a }) {
|
|
229
|
+
const o = a, s = (r) => {
|
|
294
230
|
const i = r.target;
|
|
295
231
|
o("update:modelValue", i.checked), o("change", i.checked);
|
|
296
232
|
};
|
|
297
|
-
return (r, i) => (f(),
|
|
298
|
-
class:
|
|
233
|
+
return (r, i) => (f(), g("label", {
|
|
234
|
+
class: B(["cm-checkbox-container", { disabled: t.disabled }])
|
|
299
235
|
}, [
|
|
300
|
-
|
|
301
|
-
|
|
236
|
+
y("div", P, [
|
|
237
|
+
y("input", {
|
|
302
238
|
type: "checkbox",
|
|
303
239
|
checked: t.modelValue,
|
|
304
|
-
onChange:
|
|
240
|
+
onChange: s,
|
|
305
241
|
disabled: t.disabled
|
|
306
|
-
}, null, 40,
|
|
307
|
-
|
|
308
|
-
t.modelValue ? (f(),
|
|
242
|
+
}, null, 40, A),
|
|
243
|
+
y("div", q, [
|
|
244
|
+
t.modelValue ? (f(), $(F(U), {
|
|
309
245
|
key: 0,
|
|
310
246
|
class: "cm-checkbox-icon"
|
|
311
|
-
})) :
|
|
247
|
+
})) : C("", !0)
|
|
312
248
|
])
|
|
313
249
|
]),
|
|
314
|
-
r.$slots.default ? (f(),
|
|
315
|
-
|
|
316
|
-
])) :
|
|
250
|
+
r.$slots.default ? (f(), g("span", Q, [
|
|
251
|
+
v(r.$slots, "default", {}, void 0, !0)
|
|
252
|
+
])) : C("", !0)
|
|
317
253
|
], 2));
|
|
318
254
|
}
|
|
319
|
-
}),
|
|
255
|
+
}), M = (t, a) => {
|
|
320
256
|
const o = t.__vccOpts || t;
|
|
321
|
-
for (const [
|
|
322
|
-
o[
|
|
257
|
+
for (const [s, r] of a)
|
|
258
|
+
o[s] = r;
|
|
323
259
|
return o;
|
|
324
|
-
},
|
|
260
|
+
}, K = /* @__PURE__ */ M(Y, [["__scopeId", "data-v-d47cd0ab"]]), W = {}, J = {
|
|
325
261
|
class: "cm-glass-filters",
|
|
326
262
|
"aria-hidden": "true",
|
|
327
263
|
focusable: "false"
|
|
328
264
|
};
|
|
329
|
-
function
|
|
330
|
-
return f(),
|
|
331
|
-
|
|
265
|
+
function Z(t, a) {
|
|
266
|
+
return f(), g("svg", J, [...a[0] || (a[0] = [
|
|
267
|
+
L('<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
268
|
])]);
|
|
333
269
|
}
|
|
334
|
-
const
|
|
270
|
+
const H = /* @__PURE__ */ M(W, [["render", Z], ["__scopeId", "data-v-52af4cfb"]]);
|
|
335
271
|
console.log("📦 Glass Studio UI Pro: Library Loaded (v0.1.11)");
|
|
336
|
-
const
|
|
337
|
-
install(t,
|
|
338
|
-
|
|
272
|
+
const te = {
|
|
273
|
+
install(t, a = {}) {
|
|
274
|
+
N(a.licenseKey), t.component("CmCard", E), t.component("CmButton", I), t.component("CmCheckbox", K), t.component("CmFilters", H);
|
|
339
275
|
}
|
|
340
276
|
};
|
|
341
277
|
export {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
278
|
+
I as CmButton,
|
|
279
|
+
E as CmCard,
|
|
280
|
+
K as CmCheckbox,
|
|
281
|
+
H as CmFilters,
|
|
282
|
+
te as GlassUI,
|
|
283
|
+
te as default,
|
|
284
|
+
D as getLicenseStatus
|
|
349
285
|
};
|
|
@@ -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,T){"use strict";const g=o=>{try{return atob(o)}catch{return o}};let m={isValid:!0,tier:"pro"};async function x(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=>x(o);x();const D={key:0,class:"cm-card-header"},M={class:"cm-card-body"},N={key:1,class:"cm-card-footer"},v=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"},S=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(T.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))}}),w=(o,n)=>{const a=o.__vccOpts||o;for(const[s,l]of n)a[s]=l;return a},B=w(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 _=w(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",v),o.component("CmButton",S),o.component("CmCheckbox",B),o.component("CmFilters",_)}};i.CmButton=S,i.CmCard=v,i.CmCheckbox=B,i.CmFilters=_,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.22",
|
|
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"
|