glass-studio-ui-pro 0.1.0 → 0.1.1
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/README.md +2 -2
- package/dist/components/CmButton.vue.d.ts +38 -0
- package/dist/components/CmCard.vue.d.ts +44 -0
- package/dist/components/CmCheckbox.vue.d.ts +30 -0
- package/dist/components/CmFilters.vue.d.ts +2 -0
- package/dist/core/license.d.ts +12 -0
- package/dist/index.d.ts +10 -0
- package/dist/liquid-glass-ui.es.js +164 -122
- package/dist/liquid-glass-ui.umd.js +6 -6
- package/dist/style.css +1 -1
- package/package.json +11 -12
package/README.md
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
variant?: 'default' | 'primary' | 'ghost';
|
|
3
|
+
active?: boolean;
|
|
4
|
+
glow?: boolean;
|
|
5
|
+
blur?: number;
|
|
6
|
+
opacity?: number;
|
|
7
|
+
distortion?: 'none' | 'wavy' | 'frosted' | 'grain' | 'ripple' | 'mist';
|
|
8
|
+
shadow?: boolean | string;
|
|
9
|
+
}
|
|
10
|
+
declare function __VLS_template(): {
|
|
11
|
+
attrs: Partial<{}>;
|
|
12
|
+
slots: {
|
|
13
|
+
default?(_: {}): any;
|
|
14
|
+
};
|
|
15
|
+
refs: {};
|
|
16
|
+
rootEl: HTMLButtonElement;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
19
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
20
|
+
click: (...args: any[]) => void;
|
|
21
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
22
|
+
onClick?: ((...args: any[]) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
blur: number;
|
|
25
|
+
opacity: number;
|
|
26
|
+
distortion: "none" | "wavy" | "frosted" | "grain" | "ripple" | "mist";
|
|
27
|
+
shadow: boolean | string;
|
|
28
|
+
variant: "default" | "primary" | "ghost";
|
|
29
|
+
active: boolean;
|
|
30
|
+
glow: boolean;
|
|
31
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
32
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
33
|
+
export default _default;
|
|
34
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
35
|
+
new (): {
|
|
36
|
+
$slots: S;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type CardPreset = 'glass-frost' | 'light-frost' | 'heavy-frost' | 'grain-frost' | 'fine-frost' | 'soft-mist' | 'crystal' | 'deep-velvet' | 'frosted' | 'none' | 'glass';
|
|
2
|
+
export type DistortionType = 'none' | 'wavy' | 'frosted' | 'grain' | 'ripple' | 'mist';
|
|
3
|
+
interface Props {
|
|
4
|
+
type?: CardPreset;
|
|
5
|
+
blur?: string | number;
|
|
6
|
+
opacity?: string | number;
|
|
7
|
+
brightness?: string | number;
|
|
8
|
+
grain?: boolean;
|
|
9
|
+
distortion?: DistortionType;
|
|
10
|
+
customClass?: string;
|
|
11
|
+
radius?: string;
|
|
12
|
+
tag?: string;
|
|
13
|
+
shadow?: boolean | string;
|
|
14
|
+
}
|
|
15
|
+
declare function __VLS_template(): {
|
|
16
|
+
attrs: Partial<{}>;
|
|
17
|
+
slots: {
|
|
18
|
+
header?(_: {}): any;
|
|
19
|
+
default?(_: {}): any;
|
|
20
|
+
footer?(_: {}): any;
|
|
21
|
+
};
|
|
22
|
+
refs: {};
|
|
23
|
+
rootEl: any;
|
|
24
|
+
};
|
|
25
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
26
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
27
|
+
grain: boolean;
|
|
28
|
+
type: CardPreset;
|
|
29
|
+
blur: string | number;
|
|
30
|
+
opacity: string | number;
|
|
31
|
+
brightness: string | number;
|
|
32
|
+
distortion: DistortionType;
|
|
33
|
+
customClass: string;
|
|
34
|
+
radius: string;
|
|
35
|
+
tag: string;
|
|
36
|
+
shadow: boolean | string;
|
|
37
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
41
|
+
new (): {
|
|
42
|
+
$slots: S;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: boolean;
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare function __VLS_template(): {
|
|
6
|
+
attrs: Partial<{}>;
|
|
7
|
+
slots: {
|
|
8
|
+
default?(_: {}): any;
|
|
9
|
+
};
|
|
10
|
+
refs: {};
|
|
11
|
+
rootEl: HTMLLabelElement;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
14
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
change: (...args: any[]) => void;
|
|
16
|
+
"update:modelValue": (...args: any[]) => void;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
18
|
+
onChange?: ((...args: any[]) => any) | undefined;
|
|
19
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
20
|
+
}>, {
|
|
21
|
+
modelValue: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
24
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface LicenseStatus {
|
|
2
|
+
isValid: boolean;
|
|
3
|
+
expiryDate?: string;
|
|
4
|
+
tier: 'free' | 'pro';
|
|
5
|
+
remainingDays?: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Validates the pro license from the central server.
|
|
9
|
+
* This runs automatically on module load.
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateProductLicense(): Promise<LicenseStatus>;
|
|
12
|
+
export declare const getLicenseStatus: () => LicenseStatus;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as CmCard } from './components/CmCard.vue';
|
|
2
|
+
import { default as CmButton } from './components/CmButton.vue';
|
|
3
|
+
import { default as CmCheckbox } from './components/CmCheckbox.vue';
|
|
4
|
+
import { default as CmFilters } from './components/CmFilters.vue';
|
|
5
|
+
import { getLicenseStatus } from './core/license';
|
|
6
|
+
export { CmCard, CmButton, CmCheckbox, CmFilters, getLicenseStatus };
|
|
7
|
+
declare const _default: {
|
|
8
|
+
install(app: any): void;
|
|
9
|
+
};
|
|
10
|
+
export default _default;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
|
|
1
|
+
import { defineComponent as S, computed as f, openBlock as d, createBlock as B, resolveDynamicComponent as V, normalizeStyle as C, normalizeClass as $, withCtx as F, createElementBlock as h, renderSlot as m, createCommentVNode as k, createElementVNode as b, h as x, unref as M, createStaticVNode as T } from "vue";
|
|
2
|
+
let j = {
|
|
3
|
+
isValid: !0,
|
|
4
|
+
// Default to true while checking
|
|
5
|
+
tier: "pro"
|
|
6
|
+
};
|
|
7
|
+
const _ = () => j, U = {
|
|
3
8
|
key: 0,
|
|
4
9
|
class: "cm-card-header"
|
|
5
|
-
},
|
|
10
|
+
}, N = { class: "cm-card-body" }, R = {
|
|
6
11
|
key: 1,
|
|
7
12
|
class: "cm-card-footer"
|
|
8
|
-
},
|
|
13
|
+
}, L = /* @__PURE__ */ S({
|
|
9
14
|
__name: "CmCard",
|
|
10
15
|
props: {
|
|
11
16
|
type: { default: "none" },
|
|
@@ -19,8 +24,8 @@ const F = {
|
|
|
19
24
|
tag: { default: "div" },
|
|
20
25
|
shadow: { type: [Boolean, String], default: void 0 }
|
|
21
26
|
},
|
|
22
|
-
setup(
|
|
23
|
-
const
|
|
27
|
+
setup(t) {
|
|
28
|
+
const o = t, a = {
|
|
24
29
|
"glass-frost": { blur: 0, opacity: 0, distortion: "mist", shadow: "reflex" },
|
|
25
30
|
"light-frost": { blur: 5, opacity: 0.08, distortion: "frosted" },
|
|
26
31
|
"heavy-frost": { blur: 24, opacity: 0, distortion: "frosted" },
|
|
@@ -38,60 +43,60 @@ const F = {
|
|
|
38
43
|
frosted: { blur: 20, opacity: 0.12, distortion: "frosted" },
|
|
39
44
|
glass: { blur: 0, opacity: 1, distortion: "none" },
|
|
40
45
|
none: { blur: 15, opacity: 0.1, distortion: "none" }
|
|
41
|
-
},
|
|
42
|
-
const
|
|
46
|
+
}, s = f(() => {
|
|
47
|
+
const e = a[o.type] || a.none, l = _().isValid ? o.distortion ?? e.distortion : "none";
|
|
43
48
|
return {
|
|
44
|
-
blur:
|
|
45
|
-
opacity:
|
|
46
|
-
brightness:
|
|
47
|
-
distortion:
|
|
48
|
-
shadow:
|
|
49
|
+
blur: o.blur ?? e.blur,
|
|
50
|
+
opacity: o.opacity ?? e.opacity,
|
|
51
|
+
brightness: o.brightness ?? e.brightness,
|
|
52
|
+
distortion: l,
|
|
53
|
+
shadow: o.shadow ?? e.shadow
|
|
49
54
|
};
|
|
50
|
-
}),
|
|
51
|
-
const
|
|
52
|
-
return
|
|
53
|
-
}),
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
let
|
|
60
|
-
const
|
|
61
|
-
return typeof
|
|
62
|
-
backdropFilter:
|
|
63
|
-
"-webkit-backdrop-filter":
|
|
64
|
-
background: `rgba(var(--glass-bg-rgb), ${
|
|
65
|
-
borderRadius:
|
|
66
|
-
boxShadow:
|
|
67
|
-
"-webkit-box-shadow":
|
|
55
|
+
}), n = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = f(() => {
|
|
56
|
+
const e = s.value.shadow;
|
|
57
|
+
return e === "mist" || e === "deep" ? "cm-shadow-mist" : e === "reflex" || e === !0 ? "cm-shadow-reflex" : "";
|
|
58
|
+
}), p = f(() => {
|
|
59
|
+
const e = [], r = typeof s.value.blur == "string" ? parseFloat(s.value.blur) : s.value.blur;
|
|
60
|
+
r && r > 0 && e.push(`blur(${r}px)`), s.value.brightness && e.push(`brightness(${s.value.brightness})`);
|
|
61
|
+
const l = n(s.value.distortion);
|
|
62
|
+
l && e.push(l);
|
|
63
|
+
const g = e.join(" ");
|
|
64
|
+
let u;
|
|
65
|
+
const c = s.value.shadow;
|
|
66
|
+
return typeof c == "string" && c !== "mist" && c !== "reflex" && c !== "deep" && (u = c), {
|
|
67
|
+
backdropFilter: g,
|
|
68
|
+
"-webkit-backdrop-filter": g,
|
|
69
|
+
background: `rgba(var(--glass-bg-rgb), ${s.value.opacity})`,
|
|
70
|
+
borderRadius: o.radius,
|
|
71
|
+
boxShadow: u,
|
|
72
|
+
"-webkit-box-shadow": u
|
|
68
73
|
};
|
|
69
74
|
});
|
|
70
|
-
return (
|
|
71
|
-
class:
|
|
72
|
-
{ "cm-card-grain":
|
|
73
|
-
`cm-distortion-${
|
|
74
|
-
`cm-type-${
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
return (e, r) => (d(), B(V(t.tag), {
|
|
76
|
+
class: $(["cm-card", [
|
|
77
|
+
{ "cm-card-grain": t.grain },
|
|
78
|
+
`cm-distortion-${s.value.distortion}`,
|
|
79
|
+
`cm-type-${t.type}`,
|
|
80
|
+
i.value,
|
|
81
|
+
t.customClass
|
|
77
82
|
]]),
|
|
78
|
-
style:
|
|
83
|
+
style: C(p.value)
|
|
79
84
|
}, {
|
|
80
|
-
default:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
])) :
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
default: F(() => [
|
|
86
|
+
e.$slots.header ? (d(), h("div", U, [
|
|
87
|
+
m(e.$slots, "header")
|
|
88
|
+
])) : k("", !0),
|
|
89
|
+
b("div", N, [
|
|
90
|
+
m(e.$slots, "default")
|
|
86
91
|
]),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
])) :
|
|
92
|
+
e.$slots.footer ? (d(), h("div", R, [
|
|
93
|
+
m(e.$slots, "footer")
|
|
94
|
+
])) : k("", !0)
|
|
90
95
|
]),
|
|
91
96
|
_: 3
|
|
92
97
|
}, 8, ["class", "style"]));
|
|
93
98
|
}
|
|
94
|
-
}),
|
|
99
|
+
}), I = { class: "cm-btn-content" }, O = /* @__PURE__ */ S({
|
|
95
100
|
__name: "CmButton",
|
|
96
101
|
props: {
|
|
97
102
|
variant: { default: "default" },
|
|
@@ -99,31 +104,63 @@ const F = {
|
|
|
99
104
|
glow: { type: Boolean, default: !1 },
|
|
100
105
|
blur: { default: 12 },
|
|
101
106
|
opacity: { default: 0.12 },
|
|
102
|
-
distortion: { default: "none" }
|
|
107
|
+
distortion: { default: "none" },
|
|
108
|
+
shadow: { type: [Boolean, String], default: "none" }
|
|
103
109
|
},
|
|
104
110
|
emits: ["click"],
|
|
105
|
-
setup(
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
setup(t, { emit: o }) {
|
|
112
|
+
const a = t, s = f(() => ({
|
|
113
|
+
// Main button element is a transparent container
|
|
114
|
+
background: "none",
|
|
115
|
+
border: "none",
|
|
116
|
+
// Handle borders in surface or separate if needed
|
|
117
|
+
outline: "none",
|
|
118
|
+
boxShadow: "none"
|
|
119
|
+
// Handled by variants or shadowClass on main button
|
|
120
|
+
})), n = (e) => !e || e === "none" ? "" : `url(#cm-glass-distortion-${e})`, i = f(() => {
|
|
121
|
+
const e = [], r = [];
|
|
122
|
+
a.blur > 0 && e.push(`blur(${a.blur}px)`);
|
|
123
|
+
const g = _().isValid ? a.distortion : "none", u = n(g);
|
|
124
|
+
u && r.push(u);
|
|
125
|
+
const c = e.join(" "), G = r.join(" ");
|
|
126
|
+
let v = `rgba(var(--glass-bg-rgb), ${a.opacity})`, y = "rgba(var(--glass-border-rgb), 0.15)";
|
|
127
|
+
return a.variant === "primary" ? (v = `rgba(var(--primary-color-rgb), ${Math.min(a.opacity + 0.15, 0.4)})`, y = "rgba(var(--primary-color-rgb), 0.3)") : a.variant === "ghost" && (v = "transparent", y = "transparent", a.active && (v = `rgba(var(--glass-bg-rgb), ${a.opacity})`, y = "rgba(var(--glass-border-rgb), 0.15)")), {
|
|
128
|
+
position: "absolute",
|
|
129
|
+
top: 0,
|
|
130
|
+
left: 0,
|
|
131
|
+
right: 0,
|
|
132
|
+
bottom: 0,
|
|
133
|
+
background: v,
|
|
134
|
+
border: a.variant === "ghost" && !a.active ? "none" : `1px solid ${y}`,
|
|
135
|
+
backdropFilter: c,
|
|
136
|
+
"-webkit-backdrop-filter": c,
|
|
137
|
+
filter: G,
|
|
138
|
+
// SVG filters on the colored surface
|
|
139
|
+
pointerEvents: "none",
|
|
140
|
+
zIndex: 1,
|
|
141
|
+
borderRadius: "inherit",
|
|
142
|
+
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
|
|
114
143
|
};
|
|
144
|
+
}), p = f(() => {
|
|
145
|
+
const e = a.shadow;
|
|
146
|
+
return e === "mist" || e === "deep" ? "cm-shadow-mist" : e === "reflex" || e === !0 ? "cm-shadow-reflex" : "";
|
|
115
147
|
});
|
|
116
|
-
return (
|
|
117
|
-
class:
|
|
118
|
-
`cm-btn-${
|
|
119
|
-
{ "cm-btn-active":
|
|
120
|
-
{ "cm-btn-glow":
|
|
148
|
+
return (e, r) => (d(), h("button", {
|
|
149
|
+
class: $(["cm-btn", [
|
|
150
|
+
`cm-btn-${a.variant}`,
|
|
151
|
+
{ "cm-btn-active": a.active },
|
|
152
|
+
{ "cm-btn-glow": a.glow },
|
|
153
|
+
p.value
|
|
121
154
|
]]),
|
|
122
|
-
style:
|
|
123
|
-
onClick:
|
|
155
|
+
style: C(s.value),
|
|
156
|
+
onClick: r[0] || (r[0] = (l) => e.$emit("click", l))
|
|
124
157
|
}, [
|
|
125
|
-
|
|
126
|
-
|
|
158
|
+
b("div", {
|
|
159
|
+
class: "cm-btn-surface",
|
|
160
|
+
style: C(i.value)
|
|
161
|
+
}, null, 4),
|
|
162
|
+
b("div", I, [
|
|
163
|
+
m(e.$slots, "default")
|
|
127
164
|
])
|
|
128
165
|
], 6));
|
|
129
166
|
}
|
|
@@ -134,14 +171,14 @@ const F = {
|
|
|
134
171
|
* This source code is licensed under the ISC license.
|
|
135
172
|
* See the LICENSE file in the root directory of this source tree.
|
|
136
173
|
*/
|
|
137
|
-
const
|
|
174
|
+
const q = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
138
175
|
/**
|
|
139
176
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
140
177
|
*
|
|
141
178
|
* This source code is licensed under the ISC license.
|
|
142
179
|
* See the LICENSE file in the root directory of this source tree.
|
|
143
180
|
*/
|
|
144
|
-
var
|
|
181
|
+
var w = {
|
|
145
182
|
xmlns: "http://www.w3.org/2000/svg",
|
|
146
183
|
width: 24,
|
|
147
184
|
height: 24,
|
|
@@ -158,18 +195,18 @@ var m = {
|
|
|
158
195
|
* This source code is licensed under the ISC license.
|
|
159
196
|
* See the LICENSE file in the root directory of this source tree.
|
|
160
197
|
*/
|
|
161
|
-
const
|
|
198
|
+
const E = ({ size: t, strokeWidth: o = 2, absoluteStrokeWidth: a, color: s, iconNode: n, name: i, class: p, ...e }, { slots: r }) => x(
|
|
162
199
|
"svg",
|
|
163
200
|
{
|
|
164
|
-
...
|
|
165
|
-
width:
|
|
166
|
-
height:
|
|
167
|
-
stroke:
|
|
168
|
-
"stroke-width":
|
|
169
|
-
class: ["lucide", `lucide-${
|
|
170
|
-
...
|
|
201
|
+
...w,
|
|
202
|
+
width: t || w.width,
|
|
203
|
+
height: t || w.height,
|
|
204
|
+
stroke: s || w.stroke,
|
|
205
|
+
"stroke-width": a ? Number(o) * 24 / Number(t) : o,
|
|
206
|
+
class: ["lucide", `lucide-${q(i ?? "icon")}`],
|
|
207
|
+
...e
|
|
171
208
|
},
|
|
172
|
-
[...
|
|
209
|
+
[...n.map((l) => x(...l)), ...r.default ? [r.default()] : []]
|
|
173
210
|
);
|
|
174
211
|
/**
|
|
175
212
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
@@ -177,14 +214,14 @@ const R = ({ size: e, strokeWidth: a = 2, absoluteStrokeWidth: s, color: o, icon
|
|
|
177
214
|
* This source code is licensed under the ISC license.
|
|
178
215
|
* See the LICENSE file in the root directory of this source tree.
|
|
179
216
|
*/
|
|
180
|
-
const
|
|
181
|
-
|
|
217
|
+
const z = (t, o) => (a, { slots: s }) => x(
|
|
218
|
+
E,
|
|
182
219
|
{
|
|
183
|
-
...
|
|
184
|
-
iconNode:
|
|
185
|
-
name:
|
|
220
|
+
...a,
|
|
221
|
+
iconNode: o,
|
|
222
|
+
name: t
|
|
186
223
|
},
|
|
187
|
-
|
|
224
|
+
s
|
|
188
225
|
);
|
|
189
226
|
/**
|
|
190
227
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
@@ -192,63 +229,68 @@ const O = (e, a) => (s, { slots: o }) => y(
|
|
|
192
229
|
* This source code is licensed under the ISC license.
|
|
193
230
|
* See the LICENSE file in the root directory of this source tree.
|
|
194
231
|
*/
|
|
195
|
-
const
|
|
232
|
+
const A = z("CheckIcon", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]), P = { class: "cm-checkbox-wrapper" }, K = ["checked", "disabled"], Z = { class: "cm-checkbox-box" }, H = {
|
|
196
233
|
key: 0,
|
|
197
234
|
class: "cm-checkbox-label"
|
|
198
|
-
},
|
|
235
|
+
}, J = /* @__PURE__ */ S({
|
|
199
236
|
__name: "CmCheckbox",
|
|
200
237
|
props: {
|
|
201
238
|
modelValue: { type: Boolean, default: !1 },
|
|
202
239
|
disabled: { type: Boolean, default: !1 }
|
|
203
240
|
},
|
|
204
241
|
emits: ["update:modelValue", "change"],
|
|
205
|
-
setup(
|
|
206
|
-
const
|
|
207
|
-
const
|
|
208
|
-
|
|
242
|
+
setup(t, { emit: o }) {
|
|
243
|
+
const a = o, s = (n) => {
|
|
244
|
+
const i = n.target;
|
|
245
|
+
a("update:modelValue", i.checked), a("change", i.checked);
|
|
209
246
|
};
|
|
210
|
-
return (
|
|
211
|
-
class:
|
|
247
|
+
return (n, i) => (d(), h("label", {
|
|
248
|
+
class: $(["cm-checkbox-container", { disabled: t.disabled }])
|
|
212
249
|
}, [
|
|
213
|
-
|
|
214
|
-
|
|
250
|
+
b("div", P, [
|
|
251
|
+
b("input", {
|
|
215
252
|
type: "checkbox",
|
|
216
|
-
checked:
|
|
217
|
-
onChange:
|
|
218
|
-
disabled:
|
|
219
|
-
}, null, 40,
|
|
220
|
-
|
|
221
|
-
|
|
253
|
+
checked: t.modelValue,
|
|
254
|
+
onChange: s,
|
|
255
|
+
disabled: t.disabled
|
|
256
|
+
}, null, 40, K),
|
|
257
|
+
b("div", Z, [
|
|
258
|
+
t.modelValue ? (d(), B(M(A), {
|
|
222
259
|
key: 0,
|
|
223
260
|
class: "cm-checkbox-icon"
|
|
224
|
-
})) :
|
|
261
|
+
})) : k("", !0)
|
|
225
262
|
])
|
|
226
263
|
]),
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
])) :
|
|
264
|
+
n.$slots.default ? (d(), h("span", H, [
|
|
265
|
+
m(n.$slots, "default", {}, void 0, !0)
|
|
266
|
+
])) : k("", !0)
|
|
230
267
|
], 2));
|
|
231
268
|
}
|
|
232
|
-
}),
|
|
233
|
-
const
|
|
234
|
-
for (const [
|
|
235
|
-
s
|
|
236
|
-
return
|
|
237
|
-
},
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
269
|
+
}), D = (t, o) => {
|
|
270
|
+
const a = t.__vccOpts || t;
|
|
271
|
+
for (const [s, n] of o)
|
|
272
|
+
a[s] = n;
|
|
273
|
+
return a;
|
|
274
|
+
}, Q = /* @__PURE__ */ D(J, [["__scopeId", "data-v-d47cd0ab"]]), X = {}, Y = {
|
|
275
|
+
class: "cm-glass-filters",
|
|
276
|
+
"aria-hidden": "true",
|
|
277
|
+
focusable: "false"
|
|
278
|
+
};
|
|
279
|
+
function W(t, o) {
|
|
280
|
+
return d(), h("svg", Y, [...o[0] || (o[0] = [
|
|
281
|
+
T('<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)
|
|
241
282
|
])]);
|
|
242
283
|
}
|
|
243
|
-
const
|
|
244
|
-
install(
|
|
245
|
-
|
|
284
|
+
const ee = /* @__PURE__ */ D(X, [["render", W], ["__scopeId", "data-v-52af4cfb"]]), ae = {
|
|
285
|
+
install(t) {
|
|
286
|
+
t.component("CmCard", L), t.component("CmButton", O), t.component("CmCheckbox", Q), t.component("CmFilters", ee);
|
|
246
287
|
}
|
|
247
288
|
};
|
|
248
289
|
export {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
290
|
+
O as CmButton,
|
|
291
|
+
L as CmCard,
|
|
292
|
+
Q as CmCheckbox,
|
|
293
|
+
ee as CmFilters,
|
|
294
|
+
ae as default,
|
|
295
|
+
_ as getLicenseStatus
|
|
254
296
|
};
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
(function(i,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(i=typeof globalThis<"u"?globalThis:i||self,e(i.LiquidGlassUI={},i.Vue))})(this,(function(i,e){"use strict";const
|
|
1
|
+
(function(i,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(i=typeof globalThis<"u"?globalThis:i||self,e(i.LiquidGlassUI={},i.Vue))})(this,(function(i,e){"use strict";let v={isValid:!0,tier:"pro"};const y=()=>v,x={key:0,class:"cm-card-header"},$={class:"cm-card-body"},_={key:1,class:"cm-card-footer"},k=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 a=o,n={"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"}},r=e.computed(()=>{const t=n[a.type]||n.none,d=y().isValid?a.distortion??t.distortion:"none";return{blur:a.blur??t.blur,opacity:a.opacity??t.opacity,brightness:a.brightness??t.brightness,distortion:d,shadow:a.shadow??t.shadow}}),l=t=>!t||t==="none"?"":`url(#cm-glass-distortion-${t})`,c=e.computed(()=>{const t=r.value.shadow;return t==="mist"||t==="deep"?"cm-shadow-mist":t==="reflex"||t===!0?"cm-shadow-reflex":""}),m=e.computed(()=>{const t=[],s=typeof r.value.blur=="string"?parseFloat(r.value.blur):r.value.blur;s&&s>0&&t.push(`blur(${s}px)`),r.value.brightness&&t.push(`brightness(${r.value.brightness})`);const d=l(r.value.distortion);d&&t.push(d);const p=t.join(" ");let f;const u=r.value.shadow;return typeof u=="string"&&u!=="mist"&&u!=="reflex"&&u!=="deep"&&(f=u),{backdropFilter:p,"-webkit-backdrop-filter":p,background:`rgba(var(--glass-bg-rgb), ${r.value.opacity})`,borderRadius:a.radius,boxShadow:f,"-webkit-box-shadow":f}});return(t,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.tag),{class:e.normalizeClass(["cm-card",[{"cm-card-grain":o.grain},`cm-distortion-${r.value.distortion}`,`cm-type-${o.type}`,c.value,o.customClass]]),style:e.normalizeStyle(m.value)},{default:e.withCtx(()=>[t.$slots.header?(e.openBlock(),e.createElementBlock("div",x,[e.renderSlot(t.$slots,"header")])):e.createCommentVNode("",!0),e.createElementVNode("div",$,[e.renderSlot(t.$slots,"default")]),t.$slots.footer?(e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(t.$slots,"footer")])):e.createCommentVNode("",!0)]),_:3},8,["class","style"]))}}),V={class:"cm-btn-content"},C=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:a}){const n=o,r=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=[],s=[];n.blur>0&&t.push(`blur(${n.blur}px)`);const p=y().isValid?n.distortion:"none",f=l(p);f&&s.push(f);const u=t.join(" "),I=s.join(" ");let h=`rgba(var(--glass-bg-rgb), ${n.opacity})`,g="rgba(var(--glass-border-rgb), 0.15)";return n.variant==="primary"?(h=`rgba(var(--primary-color-rgb), ${Math.min(n.opacity+.15,.4)})`,g="rgba(var(--primary-color-rgb), 0.3)"):n.variant==="ghost"&&(h="transparent",g="transparent",n.active&&(h=`rgba(var(--glass-bg-rgb), ${n.opacity})`,g="rgba(var(--glass-border-rgb), 0.15)")),{position:"absolute",top:0,left:0,right:0,bottom:0,background:h,border:n.variant==="ghost"&&!n.active?"none":`1px solid ${g}`,backdropFilter:u,"-webkit-backdrop-filter":u,filter:I,pointerEvents:"none",zIndex:1,borderRadius:"inherit",transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"}}),m=e.computed(()=>{const t=n.shadow;return t==="mist"||t==="deep"?"cm-shadow-mist":t==="reflex"||t===!0?"cm-shadow-reflex":""});return(t,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["cm-btn",[`cm-btn-${n.variant}`,{"cm-btn-active":n.active},{"cm-btn-glow":n.glow},m.value]]),style:e.normalizeStyle(r.value),onClick:s[0]||(s[0]=d=>t.$emit("click",d))},[e.createElementVNode("div",{class:"cm-btn-surface",style:e.normalizeStyle(c.value)},null,4),e.createElementVNode("div",V,[e.renderSlot(t.$slots,"default")])],6))}});/**
|
|
2
2
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const
|
|
6
|
+
*/const N=o=>o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
|
|
7
7
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
10
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/var
|
|
11
|
+
*/var b={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
12
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
13
13
|
*
|
|
14
14
|
* This source code is licensed under the ISC license.
|
|
15
15
|
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const
|
|
16
|
+
*/const D=({size:o,strokeWidth:a=2,absoluteStrokeWidth:n,color:r,iconNode:l,name:c,class:m,...t},{slots:s})=>e.h("svg",{...b,width:o||b.width,height:o||b.height,stroke:r||b.stroke,"stroke-width":n?Number(a)*24/Number(o):a,class:["lucide",`lucide-${N(c??"icon")}`],...t},[...l.map(d=>e.h(...d)),...s.default?[s.default()]:[]]);/**
|
|
17
17
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the ISC license.
|
|
20
20
|
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const
|
|
21
|
+
*/const E=(o,a)=>(n,{slots:r})=>e.h(D,{...n,iconNode:a,name:o},r);/**
|
|
22
22
|
* @license lucide-vue-next v0.477.0 - ISC
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
25
25
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const
|
|
26
|
+
*/const G=E("CheckIcon",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),T={class:"cm-checkbox-wrapper"},F=["checked","disabled"],M={class:"cm-checkbox-box"},j={key:0,class:"cm-checkbox-label"},U=e.defineComponent({__name:"CmCheckbox",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(o,{emit:a}){const n=a,r=l=>{const c=l.target;n("update:modelValue",c.checked),n("change",c.checked)};return(l,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["cm-checkbox-container",{disabled:o.disabled}])},[e.createElementVNode("div",T,[e.createElementVNode("input",{type:"checkbox",checked:o.modelValue,onChange:r,disabled:o.disabled},null,40,F),e.createElementVNode("div",M,[o.modelValue?(e.openBlock(),e.createBlock(e.unref(G),{key:0,class:"cm-checkbox-icon"})):e.createCommentVNode("",!0)])]),l.$slots.default?(e.openBlock(),e.createElementBlock("span",j,[e.renderSlot(l.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),w=(o,a)=>{const n=o.__vccOpts||o;for(const[r,l]of a)n[r]=l;return n},B=w(U,[["__scopeId","data-v-d47cd0ab"]]),L={},R={class:"cm-glass-filters","aria-hidden":"true",focusable:"false"};function q(o,a){return e.openBlock(),e.createElementBlock("svg",R,[...a[0]||(a[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 S=w(L,[["render",q],["__scopeId","data-v-52af4cfb"]]),z={install(o){o.component("CmCard",k),o.component("CmButton",C),o.component("CmCheckbox",B),o.component("CmFilters",S)}};i.CmButton=C,i.CmCard=k,i.CmCheckbox=B,i.CmFilters=S,i.default=z,i.getLicenseStatus=y,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.cm-checkbox-container[data-v-d47cd0ab]{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.cm-checkbox-container.disabled[data-v-d47cd0ab]{cursor:not-allowed;opacity:.5}.cm-checkbox-wrapper[data-v-d47cd0ab]{position:relative;width:20px;height:20px}.cm-checkbox-wrapper input[data-v-d47cd0ab]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.cm-checkbox-box[data-v-d47cd0ab]{position:absolute;top:0;left:0;height:20px;width:20px;background:rgba(var(--glass-bg-rgb),.1);border:1px solid rgba(var(--glass-border-rgb),.2);border-radius:6px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.cm-checkbox-box .cm-checkbox-icon[data-v-d47cd0ab]{width:14px;height:14px;color:#fff;stroke-width:3px;transition:transform .2s}.cm-checkbox-wrapper input:checked~.cm-checkbox-box[data-v-d47cd0ab]{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px rgba(var(--primary-color-rgb),.3)}.cm-checkbox-container:hover .cm-checkbox-box[data-v-d47cd0ab]{border-color:rgba(var(--glass-border-rgb),.4);background:rgba(var(--glass-bg-rgb),.2)}.cm-checkbox-label[data-v-d47cd0ab]{font-size:.9rem;color:var(--text-color);opacity:.8}
|
|
1
|
+
.cm-checkbox-container[data-v-d47cd0ab]{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.cm-checkbox-container.disabled[data-v-d47cd0ab]{cursor:not-allowed;opacity:.5}.cm-checkbox-wrapper[data-v-d47cd0ab]{position:relative;width:20px;height:20px}.cm-checkbox-wrapper input[data-v-d47cd0ab]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.cm-checkbox-box[data-v-d47cd0ab]{position:absolute;top:0;left:0;height:20px;width:20px;background:rgba(var(--glass-bg-rgb),.1);border:1px solid rgba(var(--glass-border-rgb),.2);border-radius:6px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.cm-checkbox-box .cm-checkbox-icon[data-v-d47cd0ab]{width:14px;height:14px;color:#fff;stroke-width:3px;transition:transform .2s}.cm-checkbox-wrapper input:checked~.cm-checkbox-box[data-v-d47cd0ab]{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px rgba(var(--primary-color-rgb),.3)}.cm-checkbox-container:hover .cm-checkbox-box[data-v-d47cd0ab]{border-color:rgba(var(--glass-border-rgb),.4);background:rgba(var(--glass-bg-rgb),.2)}.cm-checkbox-label[data-v-d47cd0ab]{font-size:.9rem;color:var(--text-color);opacity:.8}.cm-glass-filters[data-v-52af4cfb]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
|
package/package.json
CHANGED
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glass-studio-ui-pro",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"files": [
|
|
6
|
-
|
|
5
|
+
"files": [
|
|
6
|
+
"dist",
|
|
7
|
+
"media"
|
|
8
|
+
],
|
|
7
9
|
"main": "./dist/liquid-glass-ui.umd.js",
|
|
8
10
|
"module": "./dist/liquid-glass-ui.es.js",
|
|
9
11
|
"types": "./dist/index.d.ts",
|
|
10
|
-
|
|
11
12
|
"exports": {
|
|
12
13
|
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
13
15
|
"import": "./dist/liquid-glass-ui.es.js",
|
|
14
16
|
"require": "./dist/liquid-glass-ui.umd.js"
|
|
15
17
|
},
|
|
16
18
|
"./styles": "./dist/style.css"
|
|
17
19
|
},
|
|
18
|
-
|
|
19
20
|
"scripts": {
|
|
20
21
|
"dev": "vite",
|
|
21
22
|
"build": "vue-tsc && vite build",
|
|
22
23
|
"preview": "vite preview"
|
|
23
24
|
},
|
|
24
|
-
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"vue": "^3.3.0"
|
|
27
27
|
},
|
|
28
|
-
|
|
29
28
|
"dependencies": {
|
|
30
29
|
"lucide-vue-next": "^0.477.0"
|
|
31
30
|
},
|
|
32
|
-
|
|
33
31
|
"devDependencies": {
|
|
34
|
-
"vue": "^3.5.13",
|
|
35
|
-
"sass": "^1.85.1",
|
|
36
|
-
"vue-router": "^4.5.0",
|
|
37
32
|
"@types/node": "^22.0.0",
|
|
38
33
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
39
34
|
"@vue/tsconfig": "^0.7.0",
|
|
35
|
+
"sass": "^1.85.1",
|
|
40
36
|
"typescript": "^5.7.0",
|
|
41
37
|
"vite": "^6.2.0",
|
|
38
|
+
"vite-plugin-dts": "^4.5.4",
|
|
39
|
+
"vue": "^3.5.13",
|
|
40
|
+
"vue-router": "^4.5.0",
|
|
42
41
|
"vue-tsc": "^2.2.0"
|
|
43
42
|
}
|
|
44
|
-
}
|
|
43
|
+
}
|