spicykatsu 0.0.54 → 0.0.55
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/lib/SpicyAlert/SpicyAlert.css +1 -1
- package/dist/lib/SpicyBtn/SpicyBtn.css +1 -1
- package/dist/lib/SpicyFileInput/SpicyFileInput.css +1 -1
- package/dist/lib/SpicyFileInput/SpicyFileInput.js +56 -51
- package/dist/lib/SpicyProgress/SpicyProgress.css +1 -1
- package/dist/lib/SpicySheet/SpicySheet.css +1 -1
- package/dist/lib/SpicySheet/SpicySheet.js +13 -11
- package/dist/lib/SpicySlider/SpicySlider.css +1 -1
- package/dist/lib/SpicySlider/SpicySlider.js +32 -23
- package/dist/lib/SpicyTabs/SpicyTabs.css +1 -1
- package/dist/lib/SpicyTextArea/SpicyTextArea.css +1 -1
- package/dist/lib/SpicyTextArea/SpicyTextArea.js +1 -1
- package/dist/lib/SpicyToggle/SpicyToggle.css +1 -1
- package/dist/lib/main/main.js +1 -1
- package/dist/spicykatsu.es.js +70 -65
- package/dist/spicykatsu.umd.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/SpicyFileInput.vue.d.ts +4 -0
- package/dist/types/components/SpicySheet.vue.d.ts +2 -0
- package/dist/types/components/SpicySlider.vue.d.ts +4 -0
- package/dist/types/components/SpicyTextArea.vue.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyAlert{display:flex;align-items:center;gap:10px;padding:12px
|
|
1
|
+
.spicyAlert{display:flex;align-items:center;gap:10px;padding:12px}.spicyAlert.info{background-color:#e0e0e0;color:#333}.spicyAlert.success{background-color:#a3ffb7;color:#155724}.spicyAlert.warning{background-color:#ffecaf;color:#856404}.spicyAlert.error{background-color:#ffbdc2;color:#911f2a}.spicyAlert.spicyAlertRound{border-radius:8px}.spicyAlertIcon{width:24px;height:24px}.spicyAlertContainer{display:flex;flex-direction:column}.spicyAlertCloseBtn{margin-left:auto;background:none;border:none;cursor:pointer;width:20px;height:20px}.spicyAlertCloseBtn svg{width:20px;height:20px}.fade-enter-active,.fade-leave-active{transition:opacity .35s}.fade-enter,.fade-leave-to{opacity:0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyBtn{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 16px;gap:4px;border:none;border-radius:4px;cursor:pointer;color:var(--skTextColor, #ddd);background-color:var(--skBgColor, #28292a);font-size:var(--skFontSize, 16px);font-weight:var(--skFontWeight, 500);transition:background-color .25s}.spicyBtn.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyBtn.disabled{opacity:.
|
|
1
|
+
.spicyBtn{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 16px;gap:4px;border:none;border-radius:4px;cursor:pointer;color:var(--skTextColor, #ddd);background-color:var(--skBgColor, #28292a);font-size:var(--skFontSize, 16px);font-weight:var(--skFontWeight, 500);transition:background-color .25s}.spicyBtn.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyBtn.disabled{opacity:.3;cursor:not-allowed}.spicyBtn:hover:not(.disabled){background-color:var(--hoverColor, grey)}.spicyBtn.isRound{border-radius:50px;padding:12px}.spicyBtn.large{padding:12px 24px;font-size:22px}.spicyBtn.large.isRound{padding:16px}.spicyBtn.large .spicyBtnIcon{width:40px}.spicyBtn .spicyBtnIcon{width:30px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyFileInputWrapper{display:flex;flex-direction:column;position:relative;border:
|
|
1
|
+
.spicyFileInputWrapper{display:flex;flex-direction:column;position:relative;border-radius:8px;cursor:pointer;border-width:2px;max-width:100%}.spicyFileInputWrapper.isDragging{background-color:#0000000d;border-color:var(--skPrimaryColor)}.spicyFileInputWrapper.disabled{pointer-events:none;opacity:.3;cursor:not-allowed}.spicyFileInputWrapper.hasError{border-color:red}.spicyFileInputWrapper.solid{border-style:solid}.spicyFileInputWrapper.dashed{border-style:dashed}.spicyFileInputWrapper.plain{border-style:none}.spicyFileInputLabel{font-size:16px;margin:8px;padding:8px;color:var(--skTextColor, #ddd);-webkit-user-select:none;user-select:none;cursor:pointer}.spicyFileInput{display:none}.spicyFilePreviewItem{display:flex;justify-content:space-between;align-items:center;padding:8px;margin:8px;color:var(--skTextColor);border:1px solid var(--skBorderColor);border-radius:4px;position:relative}.spicyFilePreviewItem:hover{border-color:var(--skPrimaryColor)}.spicyFilePreviewItem span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:90%}.removeButton{background:none;border:none;cursor:pointer;color:red;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.removeButtonMDI{width:24px;height:24px}.clearAllButton{background:none;border:none;font-size:16px;margin-top:8px;cursor:pointer;color:var(--skPrimaryColor)}.spicyFileInputError{color:red;font-size:12px;margin-top:8px}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as V, ref as m, openBlock as a, createElementBlock as t, normalizeClass as A, withModifiers as u, toDisplayString as h, createCommentVNode as d, createElementVNode as b, Fragment as E, renderList as L, renderSlot as N } from "vue";
|
|
2
|
+
const P = ["aria-label"], S = ["multiple", "accept", "disabled"], T = {
|
|
3
3
|
key: 1,
|
|
4
4
|
class: "spicyFilePreview"
|
|
5
|
-
}, $ = ["onClick"], M = ["onClick"],
|
|
5
|
+
}, W = { class: "spicyFilePreviewName" }, $ = ["onClick"], M = ["onClick"], R = ["d"], _ = {
|
|
6
6
|
key: 3,
|
|
7
7
|
class: "spicyFileInputError"
|
|
8
|
-
},
|
|
8
|
+
}, X = /* @__PURE__ */ V({
|
|
9
9
|
__name: "SpicyFileInput",
|
|
10
10
|
props: {
|
|
11
11
|
modelValue: { default: () => [] },
|
|
@@ -14,92 +14,97 @@ const S = ["aria-label"], T = ["multiple", "accept"], W = {
|
|
|
14
14
|
accept: { default: "" },
|
|
15
15
|
multiple: { type: Boolean, default: !1 },
|
|
16
16
|
clearable: { type: Boolean, default: !1 },
|
|
17
|
-
|
|
17
|
+
disabled: { type: Boolean, default: !1 },
|
|
18
|
+
mdi: { default: "" },
|
|
19
|
+
variant: { default: "dashed" }
|
|
18
20
|
},
|
|
19
21
|
emits: ["update:modelValue", "change", "error"],
|
|
20
|
-
setup(
|
|
21
|
-
const
|
|
22
|
+
setup(y, { emit: k }) {
|
|
23
|
+
const i = k, s = y, l = m(s.modelValue), n = m(null), c = m(!1), F = (e) => {
|
|
22
24
|
const o = e.target;
|
|
23
|
-
o.files && (l.value = Array.from(o.files),
|
|
24
|
-
},
|
|
25
|
-
l.value = [],
|
|
26
|
-
},
|
|
27
|
-
l.value.splice(e, 1),
|
|
25
|
+
o.files && (l.value = Array.from(o.files), i("update:modelValue", l.value), i("change", l.value));
|
|
26
|
+
}, C = () => {
|
|
27
|
+
l.value = [], i("update:modelValue", l.value), n.value && (n.value.value = "");
|
|
28
|
+
}, g = (e) => {
|
|
29
|
+
l.value.splice(e, 1), i("update:modelValue", l.value), l.value.length === 0 && n.value && (n.value.value = ""), i("change", l.value);
|
|
28
30
|
}, D = () => {
|
|
29
31
|
var e;
|
|
30
|
-
(e =
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
s.disabled || (e = n.value) == null || e.click();
|
|
33
|
+
}, w = () => {
|
|
34
|
+
s.disabled || (c.value = !0);
|
|
35
|
+
}, B = () => {
|
|
36
|
+
s.disabled || (c.value = !1);
|
|
37
|
+
}, I = (e) => {
|
|
38
|
+
var o;
|
|
39
|
+
if (!s.disabled) {
|
|
40
|
+
const v = (o = e.dataTransfer) == null ? void 0 : o.files;
|
|
41
|
+
if (v) {
|
|
42
|
+
const r = Array.from(v).filter((f) => s.accept ? s.accept.split(",").map((p) => p.trim()).some((p) => p.startsWith(".") ? f.name.endsWith(p) : f.type === p) : !0);
|
|
43
|
+
!s.multiple && r.length > 0 ? l.value = [r[0]] : l.value = r, i("update:modelValue", l.value), i("change", l.value);
|
|
44
|
+
}
|
|
45
|
+
c.value = !1;
|
|
41
46
|
}
|
|
42
|
-
d.value = !1;
|
|
43
47
|
};
|
|
44
48
|
return (e, o) => (a(), t("div", {
|
|
45
|
-
class:
|
|
49
|
+
class: A(["spicyFileInputWrapper", [{ hasError: e.error, isDragging: c.value, disabled: e.disabled, [e.variant]: e.variant }]]),
|
|
46
50
|
onClick: D,
|
|
47
|
-
onDragover:
|
|
48
|
-
onDragleave:
|
|
49
|
-
onDrop:
|
|
51
|
+
onDragover: u(w, ["prevent"]),
|
|
52
|
+
onDragleave: u(B, ["prevent"]),
|
|
53
|
+
onDrop: u(I, ["prevent"])
|
|
50
54
|
}, [
|
|
51
55
|
e.label && !l.value.length ? (a(), t("label", {
|
|
52
56
|
key: 0,
|
|
53
57
|
class: "spicyFileInputLabel",
|
|
54
58
|
"aria-label": e.label
|
|
55
|
-
},
|
|
56
|
-
|
|
59
|
+
}, h(e.label), 9, P)) : d("", !0),
|
|
60
|
+
b("input", {
|
|
57
61
|
type: "file",
|
|
58
62
|
multiple: e.multiple,
|
|
59
63
|
accept: e.accept,
|
|
60
64
|
class: "spicyFileInput",
|
|
61
|
-
onChange:
|
|
65
|
+
onChange: F,
|
|
62
66
|
ref_key: "fileInput",
|
|
63
|
-
ref:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
ref: n,
|
|
68
|
+
disabled: e.disabled
|
|
69
|
+
}, null, 40, S),
|
|
70
|
+
l.value.length ? (a(), t("div", T, [
|
|
71
|
+
(a(!0), t(E, null, L(l.value, (v, r) => (a(), t("div", {
|
|
67
72
|
key: r,
|
|
68
73
|
class: "spicyFilePreviewItem"
|
|
69
74
|
}, [
|
|
70
|
-
|
|
71
|
-
e.clearable && !e.mdi ? (a(), t("button", {
|
|
75
|
+
b("span", W, h(v.name), 1),
|
|
76
|
+
e.clearable && !e.mdi && !e.disabled ? (a(), t("button", {
|
|
72
77
|
key: 0,
|
|
73
78
|
class: "removeButton",
|
|
74
|
-
onClick:
|
|
79
|
+
onClick: u((f) => g(r), ["stop"]),
|
|
75
80
|
"aria-label": "Remove"
|
|
76
|
-
}, " X ", 8, $)) :
|
|
77
|
-
e.clearable && e.mdi ? (a(), t("svg", {
|
|
81
|
+
}, " X ", 8, $)) : d("", !0),
|
|
82
|
+
e.clearable && e.mdi && !e.disabled ? (a(), t("svg", {
|
|
78
83
|
key: 1,
|
|
79
84
|
class: "removeButtonMDI",
|
|
80
|
-
onClick:
|
|
85
|
+
onClick: u((f) => g(r), ["stop"]),
|
|
81
86
|
"aria-label": "Remove",
|
|
82
87
|
viewBox: "0 0 24 24",
|
|
83
88
|
xmlns: "http://www.w3.org/2000/svg"
|
|
84
89
|
}, [
|
|
85
|
-
|
|
90
|
+
b("path", {
|
|
86
91
|
fill: "red",
|
|
87
92
|
d: e.mdi
|
|
88
|
-
}, null, 8,
|
|
89
|
-
], 8, M)) :
|
|
93
|
+
}, null, 8, R)
|
|
94
|
+
], 8, M)) : d("", !0)
|
|
90
95
|
]))), 128))
|
|
91
|
-
])) :
|
|
92
|
-
e.clearable && l.value.length > 1 ? (a(), t("button", {
|
|
96
|
+
])) : d("", !0),
|
|
97
|
+
e.clearable && l.value.length > 1 && !e.disabled ? (a(), t("button", {
|
|
93
98
|
key: 2,
|
|
94
99
|
class: "clearAllButton",
|
|
95
|
-
onClick:
|
|
100
|
+
onClick: u(C, ["stop"]),
|
|
96
101
|
"aria-label": "Clear All"
|
|
97
|
-
}, " Clear All ")) :
|
|
98
|
-
|
|
99
|
-
e.error ? (a(), t("span",
|
|
102
|
+
}, " Clear All ")) : d("", !0),
|
|
103
|
+
N(e.$slots, "default"),
|
|
104
|
+
e.error ? (a(), t("span", _, h(e.error), 1)) : d("", !0)
|
|
100
105
|
], 34));
|
|
101
106
|
}
|
|
102
107
|
});
|
|
103
108
|
export {
|
|
104
|
-
|
|
109
|
+
X as _
|
|
105
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyProgress{width:100%;background-color:#e0e0e0;border-radius:
|
|
1
|
+
.spicyProgress{width:100%;background-color:#e0e0e0;border-radius:8px;overflow:hidden;position:relative}.spicyProgressBar{transition:width .4s ease}.spicyProgressLabel{position:absolute;top:0;right:10px;font-size:12px;color:#fff}.spicyProgressCircular{position:relative;display:flex;justify-content:center;align-items:center}.spicyCircularSvg{transform:rotate(-90deg);background-color:#00000080;border-radius:50%}.spicyCircularTrack{fill:none;stroke:#e0e0e0}.spicyCircularProgress{fill:none;transition:stroke-dashoffset .4s ease}.spicyCircularLabel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicySheet
|
|
1
|
+
.spicySheet.isRound{border-radius:8px}.spicySheet.flex{display:flex;flex-direction:column}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as n, computed as a, openBlock as s, createElementBlock as d, normalizeClass as r, normalizeStyle as p, renderSlot as c } from "vue";
|
|
2
|
+
const f = /* @__PURE__ */ n({
|
|
3
3
|
__name: "SpicySheet",
|
|
4
4
|
props: {
|
|
5
5
|
isRound: { type: Boolean, default: !1 },
|
|
6
|
-
color: { default: "
|
|
7
|
-
|
|
6
|
+
color: { default: "" },
|
|
7
|
+
padding: { default: "" },
|
|
8
|
+
flex: { type: Boolean, default: !1 }
|
|
8
9
|
},
|
|
9
|
-
setup(
|
|
10
|
-
const
|
|
11
|
-
backgroundColor:
|
|
10
|
+
setup(l) {
|
|
11
|
+
const o = l, t = a(() => ({
|
|
12
|
+
backgroundColor: o.color,
|
|
13
|
+
padding: o.padding
|
|
12
14
|
}));
|
|
13
|
-
return (e,
|
|
14
|
-
class:
|
|
15
|
+
return (e, i) => (s(), d("div", {
|
|
16
|
+
class: r(["spicySheet", { isRound: e.isRound, flex: e.flex }]),
|
|
15
17
|
style: p(t.value)
|
|
16
18
|
}, [
|
|
17
|
-
|
|
19
|
+
c(e.$slots, "default")
|
|
18
20
|
], 6));
|
|
19
21
|
}
|
|
20
22
|
});
|
|
21
23
|
export {
|
|
22
|
-
|
|
24
|
+
f as _
|
|
23
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicySlider{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.spicySliderLabel{margin-bottom:5px;font-size:16px}.spicySliderInput{width:100%}
|
|
1
|
+
.spicySlider{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.spicySliderLabel{margin-bottom:5px;font-size:16px}.spicySliderInput{width:100%}.hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}
|
|
@@ -1,43 +1,52 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as h, computed as t, openBlock as u, createElementBlock as d, toDisplayString as r, createCommentVNode as y, withDirectives as S, createElementVNode as m, vModelText as V, renderSlot as _ } from "vue";
|
|
2
|
+
const g = { class: "spicySlider" }, N = ["aria-label"], x = ["min", "max", "step", "aria-valuenow", "aria-valuemin", "aria-valuemax", "disabled"], C = {
|
|
3
|
+
"aria-live": "polite",
|
|
4
|
+
class: "hidden"
|
|
5
|
+
}, w = /* @__PURE__ */ h({
|
|
3
6
|
__name: "SpicySlider",
|
|
4
7
|
props: {
|
|
5
8
|
min: { default: 0 },
|
|
6
9
|
max: { default: 100 },
|
|
7
10
|
step: { default: 1 },
|
|
8
11
|
label: { default: "" },
|
|
9
|
-
modelValue: { default: 0 }
|
|
12
|
+
modelValue: { default: 0 },
|
|
13
|
+
disabled: { type: Boolean, default: !1 }
|
|
10
14
|
},
|
|
11
|
-
emits: ["update:modelValue"],
|
|
12
|
-
setup(
|
|
13
|
-
const
|
|
14
|
-
get: () => Number(
|
|
15
|
-
set: (e) =>
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
emits: ["update:modelValue", "change"],
|
|
16
|
+
setup(p, { emit: c }) {
|
|
17
|
+
const l = p, i = c, n = t(() => Number(l.min)), s = t(() => Number(l.max)), v = t(() => Number(l.step)), a = t({
|
|
18
|
+
get: () => Number(l.modelValue),
|
|
19
|
+
set: (e) => i("update:modelValue", e)
|
|
20
|
+
}), b = () => {
|
|
21
|
+
i("change", a.value);
|
|
22
|
+
};
|
|
23
|
+
return (e, o) => (u(), d("div", g, [
|
|
24
|
+
e.label ? (u(), d("label", {
|
|
19
25
|
key: 0,
|
|
20
26
|
class: "spicySliderLabel",
|
|
21
27
|
"aria-label": e.label
|
|
22
|
-
},
|
|
23
|
-
|
|
28
|
+
}, r(e.label), 9, N)) : y("", !0),
|
|
29
|
+
S(m("input", {
|
|
24
30
|
name: "spicySliderInput",
|
|
25
31
|
class: "spicySliderInput",
|
|
26
32
|
type: "range",
|
|
27
|
-
min:
|
|
28
|
-
max:
|
|
29
|
-
step:
|
|
30
|
-
"onUpdate:modelValue":
|
|
33
|
+
min: n.value,
|
|
34
|
+
max: s.value,
|
|
35
|
+
step: v.value,
|
|
36
|
+
"onUpdate:modelValue": o[0] || (o[0] = (f) => a.value = f),
|
|
31
37
|
"aria-valuenow": a.value,
|
|
32
|
-
"aria-valuemin":
|
|
33
|
-
"aria-valuemax":
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
"aria-valuemin": n.value,
|
|
39
|
+
"aria-valuemax": s.value,
|
|
40
|
+
disabled: e.disabled,
|
|
41
|
+
onChange: b
|
|
42
|
+
}, null, 40, x), [
|
|
43
|
+
[V, a.value]
|
|
36
44
|
]),
|
|
37
|
-
|
|
45
|
+
m("div", C, r(a.value), 1),
|
|
46
|
+
_(e.$slots, "default")
|
|
38
47
|
]));
|
|
39
48
|
}
|
|
40
49
|
});
|
|
41
50
|
export {
|
|
42
|
-
|
|
51
|
+
w as _
|
|
43
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyTabs{display:flex;flex-direction:column;position:relative;width:inherit;background-color:var(--skBgColor)}.spicyTabsHeader{display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--skBgSecondaryColor)}.spicyOverflowButton{background:none;border:none;cursor:pointer;font-size:18px;padding:0 10px;color:var(--skTextColor);background-color:var(--skBgColor);transition:color .25s;top:0;height:100%;flex-shrink:0}.spicyOverflowButton.left{left:0}.spicyOverflowButton.right{right:0}.tabsWrapper{flex:1;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.tabsWrapper::-webkit-scrollbar{display:none}.spicyTabButton{background:none;border:none;cursor:pointer;padding:10px;font-size:16px;color:var(--skTextColor);transition:color .25s;flex-shrink:0}.spicyTabButton.active{font-weight:700;color:var(--skPrimaryColor)}.spicyTabsContent{display:flex;flex-direction:column;align-items:center;justify-content:center
|
|
1
|
+
.spicyTabs{display:flex;flex-direction:column;position:relative;width:inherit;background-color:var(--skBgColor)}.spicyTabsHeader{display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--skBgSecondaryColor)}.spicyOverflowButton{background:none;border:none;cursor:pointer;font-size:18px;padding:0 10px;color:var(--skTextColor);background-color:var(--skBgColor);transition:color .25s;top:0;height:100%;flex-shrink:0}.spicyOverflowButton.left{left:0}.spicyOverflowButton.right{right:0}.tabsWrapper{flex:1;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.tabsWrapper::-webkit-scrollbar{display:none}.spicyTabButton{background:none;border:none;cursor:pointer;padding:10px;font-size:16px;color:var(--skTextColor);transition:color .25s;flex-shrink:0}.spicyTabButton.active{font-weight:700;color:var(--skPrimaryColor)}.spicyTabsContent{display:flex;flex-direction:column;align-items:center;justify-content:center}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.spicyTextArea{width:100%;font-size:16px;resize:vertical;box-sizing:border-box;color:#eee}.spicyTextArea::placeholder{color:#ebff7a}.spicyTextArea:focus{outline:none;border-color:var(--skBorderColor, #515353)}.spicyTextArea:disabled{opacity:.5}.spicyTextArea:disabled::placeholder{color:#969696}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyToggleLabel{display:inline-flex;align-items:center;flex-direction:column;font-size:14px;gap:4px}.spicyToggleLabel.disabled .spicyToggle{cursor:not-allowed;opacity:.
|
|
1
|
+
.spicyToggleLabel{display:inline-flex;align-items:center;flex-direction:column;font-size:14px;gap:4px}.spicyToggleLabel.disabled .spicyToggle{cursor:not-allowed;opacity:.3}.spicyToggle{width:50px;height:24px;background-color:var(--skBgSecondaryColor, #424344);border-radius:30px;cursor:pointer;padding:2px;transition:background-color .2s;display:inline-flex;align-items:center;outline:none}.spicyToggle.isActive{background-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle.isActive .spicyToggleKnob{transform:translate(30px)}.spicyToggle.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyToggle.outlined.isActive{background-color:var(--activeColor, var(--skPrimaryColor));border-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle:focus{box-shadow:0 0 0 2px #0003}.spicyToggle.disabled{pointer-events:none}.spicyToggle:hover{background-color:var(--hoverColor, #555)}.spicyToggleKnob{width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px #0003}
|
package/dist/lib/main/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const o = ':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--
|
|
1
|
+
const o = ':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--skFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;--skFontSize: 1rem;--skFontWeight: 500;--skBorderRadius: 4px}.spicyText{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:var(--skFontSize)}.spicyHeader{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:24px;font-weight:700}.spicyLink:hover{color:var(--skHoverColor)}.spicyLink:active{color:var(--skPrimaryColor)}.spicyLink:focus{color:var(--skPrimaryColor)}.spicyLink:disabled{opacity:.3}';
|
|
2
2
|
export {
|
|
3
3
|
o as default
|
|
4
4
|
};
|
package/dist/spicykatsu.es.js
CHANGED
|
@@ -10,78 +10,78 @@ import { _ as T } from "./lib/SpicyModal/SpicyModal.js";
|
|
|
10
10
|
import { _ as D } from "./lib/SpicyProgress/SpicyProgress.js";
|
|
11
11
|
import { _ as R } from "./lib/SpicySheet/SpicySheet.js";
|
|
12
12
|
import { _ as M } from "./lib/SpicySlider/SpicySlider.js";
|
|
13
|
-
import { _ as
|
|
14
|
-
import { _ as
|
|
13
|
+
import { _ as A } from "./lib/SpicyTabs/SpicyTabs.js";
|
|
14
|
+
import { _ as w } from "./lib/SpicyTextArea/SpicyTextArea.js";
|
|
15
15
|
import { _ as F } from "./lib/SpicyTextField/SpicyTextField.js";
|
|
16
16
|
import { _ as X } from "./lib/SpicyToggle/SpicyToggle.js";
|
|
17
17
|
import { _ as Y } from "./lib/SpicyTooltip/SpicyTooltip.js";
|
|
18
|
-
import { _ as
|
|
19
|
-
import { _ as
|
|
20
|
-
const
|
|
21
|
-
mounted(e,
|
|
22
|
-
const { axis:
|
|
18
|
+
import { _ as b } from "./lib/SpicyTree/SpicyTree.js";
|
|
19
|
+
import { _ as B } from "./lib/SpicyTreeNode/SpicyTreeNode.js";
|
|
20
|
+
const N = {
|
|
21
|
+
mounted(e, a) {
|
|
22
|
+
const { axis: p } = a.value || {};
|
|
23
23
|
e.style.position = "relative", e.style.cursor = "move";
|
|
24
|
-
let
|
|
25
|
-
const
|
|
24
|
+
let m, o;
|
|
25
|
+
const i = (n, s) => {
|
|
26
26
|
const d = e.getBoundingClientRect();
|
|
27
|
-
let _ = n -
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
|
|
27
|
+
let _ = n - m, S = s - o;
|
|
28
|
+
p !== "y" && (e.style.left = `${_ - d.left + parseFloat(getComputedStyle(e).left || "0")}px`), p !== "x" && (e.style.top = `${S - d.top + parseFloat(getComputedStyle(e).top || "0")}px`);
|
|
29
|
+
}, t = (n) => {
|
|
30
|
+
i(n.pageX, n.pageY);
|
|
31
31
|
};
|
|
32
|
-
let
|
|
33
|
-
const
|
|
32
|
+
let c = !1;
|
|
33
|
+
const u = (n) => {
|
|
34
34
|
const s = n.touches[0];
|
|
35
|
-
s && (
|
|
36
|
-
},
|
|
37
|
-
document.removeEventListener("mousemove",
|
|
35
|
+
s && (c = !0, i(s.pageX, s.pageY), n.preventDefault());
|
|
36
|
+
}, r = () => {
|
|
37
|
+
document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", r), document.removeEventListener("touchmove", u), document.removeEventListener("touchend", r), c && (c = !1);
|
|
38
38
|
}, f = (n) => {
|
|
39
39
|
const s = e.getBoundingClientRect();
|
|
40
|
-
|
|
40
|
+
m = n.pageX - s.left, o = n.pageY - s.top, document.addEventListener("mousemove", t), document.addEventListener("mouseup", r);
|
|
41
41
|
}, y = (n) => {
|
|
42
42
|
if (n.touches.length !== 1) return;
|
|
43
43
|
const s = n.touches[0];
|
|
44
44
|
if (!s) return;
|
|
45
45
|
const d = e.getBoundingClientRect();
|
|
46
|
-
|
|
46
|
+
m = s.pageX - d.left, o = s.pageY - d.top, c = !1, document.addEventListener("touchmove", u), document.addEventListener("touchend", r), n.preventDefault();
|
|
47
47
|
};
|
|
48
48
|
e.addEventListener("mousedown", f), e.addEventListener("touchstart", y);
|
|
49
49
|
const l = e;
|
|
50
50
|
l._cleanup = () => {
|
|
51
|
-
l.removeEventListener("mousedown", f), l.removeEventListener("touchstart", y), document.removeEventListener("mousemove",
|
|
51
|
+
l.removeEventListener("mousedown", f), l.removeEventListener("touchstart", y), document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", r), document.removeEventListener("touchmove", u), document.removeEventListener("touchend", r);
|
|
52
52
|
};
|
|
53
53
|
},
|
|
54
54
|
unmounted(e) {
|
|
55
|
-
const
|
|
56
|
-
|
|
55
|
+
const a = e;
|
|
56
|
+
a._cleanup && a._cleanup();
|
|
57
57
|
}
|
|
58
|
-
},
|
|
58
|
+
}, q = {
|
|
59
59
|
beforeMount(e) {
|
|
60
60
|
e.style.position = "relative", e.style.overflow = "hidden";
|
|
61
|
-
const
|
|
62
|
-
const t = document.createElement("span"),
|
|
63
|
-
t.style.width = t.style.height = `${
|
|
64
|
-
const
|
|
65
|
-
|
|
61
|
+
const a = (o, i) => {
|
|
62
|
+
const t = document.createElement("span"), c = Math.max(e.clientWidth, e.clientHeight), u = c / 2;
|
|
63
|
+
t.style.width = t.style.height = `${c}px`, t.style.left = `${o - e.getBoundingClientRect().left - u}px`, t.style.top = `${i - e.getBoundingClientRect().top - u}px`, t.classList.add("spicyRipple");
|
|
64
|
+
const r = e.querySelector(".spicyRipple");
|
|
65
|
+
r && r.remove(), e.appendChild(t), t.addEventListener("animationend", () => {
|
|
66
66
|
t.remove();
|
|
67
67
|
});
|
|
68
|
-
},
|
|
69
|
-
let
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
else if (
|
|
73
|
-
const
|
|
74
|
-
|
|
68
|
+
}, p = (o) => {
|
|
69
|
+
let i = 0, t = 0;
|
|
70
|
+
if (o instanceof MouseEvent)
|
|
71
|
+
i = o.clientX, t = o.clientY;
|
|
72
|
+
else if (o instanceof TouchEvent) {
|
|
73
|
+
const c = o.touches[0];
|
|
74
|
+
i = c.clientX, t = c.clientY;
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
a(i, t);
|
|
77
77
|
};
|
|
78
|
-
e.addEventListener("click", (
|
|
79
|
-
requestAnimationFrame(() =>
|
|
80
|
-
}), e.addEventListener("touchstart", (
|
|
81
|
-
requestAnimationFrame(() =>
|
|
82
|
-
});
|
|
78
|
+
e.getAttribute("data-no-ripple") !== null || (e.addEventListener("click", (o) => {
|
|
79
|
+
requestAnimationFrame(() => p(o));
|
|
80
|
+
}), e.addEventListener("touchstart", (o) => {
|
|
81
|
+
requestAnimationFrame(() => p(o));
|
|
82
|
+
}));
|
|
83
83
|
}
|
|
84
|
-
},
|
|
84
|
+
}, W = {
|
|
85
85
|
SpicyAccordion: v,
|
|
86
86
|
SpicyAlert: h,
|
|
87
87
|
SpicyBtn: g,
|
|
@@ -94,24 +94,29 @@ const q = {
|
|
|
94
94
|
SpicyProgress: D,
|
|
95
95
|
SpicySheet: R,
|
|
96
96
|
SpicySlider: M,
|
|
97
|
-
SpicyTabs:
|
|
98
|
-
SpicyTextArea:
|
|
97
|
+
SpicyTabs: A,
|
|
98
|
+
SpicyTextArea: w,
|
|
99
99
|
SpicyTextField: F,
|
|
100
100
|
SpicyToggle: X,
|
|
101
101
|
SpicyTooltip: Y,
|
|
102
|
-
SpicyTree:
|
|
103
|
-
SpicyTreeNode:
|
|
104
|
-
},
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}),
|
|
113
|
-
const
|
|
114
|
-
|
|
102
|
+
SpicyTree: b,
|
|
103
|
+
SpicyTreeNode: B
|
|
104
|
+
}, j = {
|
|
105
|
+
spicyDrag: N,
|
|
106
|
+
spicyRipple: q
|
|
107
|
+
}, ce = {
|
|
108
|
+
install(e, a = {}) {
|
|
109
|
+
const { useComponents: p = !0, useStyles: m = !0, useDirectives: o = !0 } = a;
|
|
110
|
+
p && Object.entries(W).forEach(([i, t]) => {
|
|
111
|
+
e.component(i, t);
|
|
112
|
+
}), m && import("./lib/main/main.js").then((i) => {
|
|
113
|
+
const t = document.createElement("style");
|
|
114
|
+
t.id = "SpicyStyles", t.textContent = i.default, document.head.appendChild(t);
|
|
115
|
+
}), o && (Object.entries(j).forEach(([i, t]) => {
|
|
116
|
+
e.directive(i, t);
|
|
117
|
+
}), import("./lib/ripple/ripple.js").then((i) => {
|
|
118
|
+
const t = document.createElement("style");
|
|
119
|
+
t.id = "SpicyRippleStyles", t.textContent = i.default, document.head.appendChild(t);
|
|
115
120
|
}));
|
|
116
121
|
}
|
|
117
122
|
};
|
|
@@ -124,18 +129,18 @@ export {
|
|
|
124
129
|
L as SpicyDivider,
|
|
125
130
|
C as SpicyDropdown,
|
|
126
131
|
x as SpicyFileInput,
|
|
127
|
-
|
|
132
|
+
ce as SpicyKatsu,
|
|
128
133
|
T as SpicyModal,
|
|
129
134
|
D as SpicyProgress,
|
|
130
135
|
R as SpicySheet,
|
|
131
136
|
M as SpicySlider,
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
A as SpicyTabs,
|
|
138
|
+
w as SpicyTextArea,
|
|
134
139
|
F as SpicyTextField,
|
|
135
140
|
X as SpicyToggle,
|
|
136
141
|
Y as SpicyTooltip,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
b as SpicyTree,
|
|
143
|
+
B as SpicyTreeNode,
|
|
144
|
+
N as spicyDrag,
|
|
145
|
+
q as spicyRipple
|
|
141
146
|
};
|
package/dist/spicykatsu.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.SpicyKatsu={},f.Vue))})(this,function(f,e){"use strict";const U={class:"spicyAccordion"},x=["onClick","aria-expanded"],G={key:0,class:"accordionIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},J=["d"],Q={class:"spicyAccordionContent"},V=e.defineComponent({__name:"SpicyAccordion",props:{sections:{},singleOpen:{type:Boolean,default:!1},defaultOpen:{}},setup(r){const s=r,o=e.ref(s.defaultOpen||[]),n=l=>{if(s.singleOpen)o.value=o.value.includes(l)?[]:[l];else{const a=o.value.indexOf(l);a===-1?o.value.push(l):o.value.splice(a,1)}},t=l=>o.value.includes(l);return(l,a)=>(e.openBlock(),e.createElementBlock("div",U,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.sections,(d,m)=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"spicyAccordionItem"},[e.createElementVNode("button",{class:e.normalizeClass(["spicyAccordionHeader",{open:t(m)}]),onClick:i=>n(m),"aria-expanded":t(m)},[e.createElementVNode("span",null,e.toDisplayString(d.title),1),d.icon?(e.openBlock(),e.createElementBlock("svg",G,[e.createElementVNode("path",{d:d.icon},null,8,J)])):e.createCommentVNode("",!0),a[0]||(a[0]=e.createElementVNode("span",{class:"accordionToggle"},[e.createElementVNode("svg",{class:"accordionArrow",viewBox:"0 0 24 24"},[e.createElementVNode("path",{d:"M7 10l5 5 5-5H7z"})])],-1))],10,x),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",Q,[e.renderSlot(l.$slots,`section-${m}`)],512),[[e.vShow,t(m)]])]),_:2},1024)]))),128))]))}}),Z=["aria-label"],v={key:0,class:"spicyAlertIcon"},ee={key:1,class:"spicyAlertIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},te=["d"],oe={class:"spicyAlertContainer"},le={key:0,class:"spicyAlertTitle"},ne={key:1,class:"spicyAlertText"},ae={key:0,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},se=["d"],ie={key:1},_=e.defineComponent({__name:"SpicyAlert",props:{variant:{default:"info"},title:{},text:{},icon:{},mdi:{},iconOnly:{type:Boolean,default:!1},closable:{type:Boolean,default:!1},autoClose:{default:0},closeIcon:{},isRound:{type:Boolean,default:!1}},setup(r){const s=r,o=e.ref(!0),n=()=>{o.value=!1};return e.watch(()=>s.autoClose,t=>{t&&t>0&&setTimeout(()=>{n()},t)}),(t,l)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["spicyAlert",[t.variant,{spicyAlertRound:t.isRound}]]),"aria-atomic":"true","aria-label":t.text||"Alert",role:"alert",onKeydown:e.withKeys(n,["enter"])},[t.iconOnly&&t.icon?(e.openBlock(),e.createElementBlock("span",v,e.toDisplayString(t.icon),1)):e.createCommentVNode("",!0),t.mdi?(e.openBlock(),e.createElementBlock("svg",ee,[e.createElementVNode("path",{fill:"currentColor",class:"spicyAlertMDI",d:t.mdi},null,8,te)])):e.createCommentVNode("",!0),e.createElementVNode("div",oe,[t.title?(e.openBlock(),e.createElementBlock("span",le,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),!t.iconOnly&&t.text?(e.openBlock(),e.createElementBlock("span",ne,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)]),t.closable?(e.openBlock(),e.createElementBlock("button",{key:2,class:"spicyAlertCloseBtn",onClick:n,"aria-label":"Close alert"},[t.closeIcon?(e.openBlock(),e.createElementBlock("svg",ae,[e.createElementVNode("path",{fill:"#000",d:t.closeIcon},null,8,se)])):(e.openBlock(),e.createElementBlock("span",ie,"X"))])):e.createCommentVNode("",!0),t.text?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:3})],42,Z)):e.createCommentVNode("",!0)]),_:3}))}}),re=["disabled","aria-label","aria-disabled","tabindex"],ce={key:0,class:"spicyBtnIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},de=["d"],pe={key:1,class:"spicyBtnIcon"},me={key:2,class:"spicyBtnText"},N=e.defineComponent({__name:"SpicyBtn",props:{variant:{default:"filled"},disabled:{type:Boolean,default:!1},text:{},icon:{},mdi:{},size:{},bgColor:{},textColor:{default:"#ddd"},hoverColor:{},borderColor:{},fontSize:{default:16},fontWeight:{default:500}},emits:["click"],setup(r,{emit:s}){const o=s,n=()=>{t.disabled||o("click")},t=r,l=e.computed(()=>({"--skFontSize":typeof t.fontSize=="number"?`${t.fontSize}px`:t.fontSize,"--skFontWeight":t.fontWeight,"--skBgColor":t.bgColor,"--skTextColor":t.textColor,"--skBorderColor":t.borderColor,"--hoverColor":t.hoverColor})),a=e.computed(()=>!t.text&&(t.icon||t.mdi)),d=e.computed(()=>({spicyBtn:!0,outlined:t.variant==="outlined",disabled:t.disabled,isRound:a.value,large:t.size==="large"}));return(m,i)=>{const p=e.resolveDirective("spicyRipple");return e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(d.value),style:e.normalizeStyle(l.value),disabled:m.disabled,onClick:n,role:"button","aria-label":m.text,"aria-disabled":m.disabled,tabindex:m.disabled?-1:0},[m.mdi?(e.openBlock(),e.createElementBlock("svg",ce,[e.createElementVNode("path",{fill:"currentColor",class:"spicyBtnMDI",d:m.mdi},null,8,de)])):e.createCommentVNode("",!0),m.icon&&!m.mdi?(e.openBlock(),e.createElementBlock("span",pe,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),m.text?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(m.text),1)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],14,re)),[[p]])}}}),ye=["aria-label"],fe={class:"spicyCarouselInfoText"},ue={class:"spicyCarouselTitle"},he={key:0},ke={key:0,class:"spicyCarouselNavControls"},ge={key:1,class:"spicyCarouselPagination"},Be=["onClick"],Ce={class:"spicyCarouselPage"},T=e.defineComponent({__name:"SpicyCarousel",props:{autoplay:{type:Boolean,default:!1},autoplaySpeed:{default:5e3},showNavigation:{type:Boolean,default:!0},showPagination:{type:Boolean,default:!0},activeColor:{default:"var(--skPrimaryColor)"},loop:{type:Boolean,default:!0},initialSlide:{default:0},slides:{default:()=>[]},width:{default:"580px"},height:{default:"360px"},fullScreen:{type:Boolean,default:!1},enableImageClick:{type:Boolean,default:!1},paginationLimit:{default:10}},setup(r){let s,o,n=!1;const t=r,l=e.computed(()=>({"--width":t.width,"--height":t.height,"--activeColor":t.activeColor})),a=e.computed(()=>t.paginationLimit),d=e.computed(()=>{var g;return(g=t.slides[i.value])==null?void 0:g.title}),m=e.computed(()=>p.value.fullScreen===!1?!1:t.fullScreen),i=e.ref(t.initialSlide),p=e.computed(()=>t.slides[i.value]);let y;const k=()=>{i.value=(i.value-1+t.slides.length)%t.slides.length},u=()=>{i.value=(i.value+1)%t.slides.length},c=g=>{i.value=g},h=()=>{y&&clearInterval(y)},B=()=>{t.autoplay&&(y=window.setInterval(u,t.autoplaySpeed))},C=()=>{window.open(p.value.img)},w=()=>{t.enableImageClick&&C()},q=g=>{s=g.touches[0].clientX,o=g.touches[0].clientY,n=!1},E=g=>{if(!n){const S=g.touches[0].clientX-s,b=g.touches[0].clientY-o;Math.abs(S)>Math.abs(b)&&(S>40?(k(),n=!0):S<-40&&(u(),n=!0))}},Bt=e.computed(()=>{const g=t.slides.length,S=Math.max(0,i.value-Math.floor(a.value/2)),b=Math.min(g,S+a.value);return[...Array(g).keys()].slice(S,b)});return e.onMounted(()=>{B()}),e.onUnmounted(()=>{h()}),(g,S)=>(e.openBlock(),e.createElementBlock("div",{class:"spicyCarouselWrapper",style:e.normalizeStyle({...l.value})},[e.createElementVNode("div",{class:"spicyCarouselContainer",onMouseenter:h,onMouseleave:B,onTouchstart:q,onTouchmove:E},[e.createVNode(e.Transition,{name:"slide",mode:"out-in"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyCarouselSlide",{pointCursor:t.enableImageClick}]),key:i.value,style:e.normalizeStyle({backgroundImage:`url(${p.value.img})`}),onClick:w},[g.slides[i.value].text?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["spicyCarouselTextOverlay",{fullScreen:m.value}]),"aria-label":g.slides[i.value].text},[e.createElementVNode("span",fe,e.toDisplayString(g.slides[i.value].text),1)],10,ye)):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"default")],6))]),_:3})],32),e.createElementVNode("div",ue,[d.value?(e.openBlock(),e.createElementBlock("h2",he,e.toDisplayString(p.value.title),1)):e.createCommentVNode("",!0)]),g.showNavigation?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("button",{class:"spicyCarouselPrevBtn",onClick:k},S[0]||(S[0]=[e.createElementVNode("span",{class:"spicyCarouselPrevBtnIcon"},"<",-1)])),e.createElementVNode("button",{class:"spicyCarouselNextBtn",onClick:u},S[1]||(S[1]=[e.createElementVNode("span",{class:"spicyCarouselNextBtnIcon"},">",-1)]))])):e.createCommentVNode("",!0),g.showPagination?(e.openBlock(),e.createElementBlock("div",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Bt.value,b=>(e.openBlock(),e.createElementBlock("button",{key:b,onClick:bt=>c(b),class:e.normalizeClass(["spicyCarouselPageBtn",{active:b===i.value}])},[e.createElementVNode("span",Ce,e.toDisplayString(b+1),1)],10,Be))),128))])):e.createCommentVNode("",!0)],4))}}),D=e.defineComponent({__name:"SpicyDialog",props:{modelValue:Boolean,persistent:Boolean,maxWidth:{type:String,default:"500px"},color:{type:String,default:"rgba(0, 0, 0, 0.5)"}},emits:["update:modelValue"],setup(r,{emit:s}){const o=r,n=s,t=()=>{n("update:modelValue",!1)},l=()=>{o.persistent||t()},a=d=>{d.key==="Escape"&&!o.persistent&&t()};return e.watch(()=>o.modelValue,d=>{d?window.addEventListener("keydown",a):window.removeEventListener("keydown",a)}),(d,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[r.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyDialogOverlay",style:e.normalizeStyle({backgroundColor:r.color}),onClick:l},[e.createElementVNode("div",{class:"spicyDialog",style:e.normalizeStyle({maxWidth:r.maxWidth}),onClick:m[0]||(m[0]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(d.$slots,"default")],4)],4)):e.createCommentVNode("",!0)]),_:3})]))}}),Se=["aria-orientation"],I=e.defineComponent({__name:"SpicyDivider",props:{variant:{default:"solid"},orientation:{default:"horizontal"},length:{default:"100%"},size:{default:"1px"},color:{default:"#5f5f5f"}},setup(r){const s=r,o=e.computed(()=>s.orientation==="vertical"?"vertical":"horizontal"),n=e.computed(()=>({[s.orientation==="vertical"?"height":"width"]:s.length,border:`${s.size} ${s.variant} ${s.color}`,borderLeft:s.orientation==="vertical"?`${s.size} ${s.variant} ${s.color}`:"none",borderBottom:s.orientation==="horizontal"?`${s.size} ${s.variant} ${s.color}`:"none"}));return(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDivider",o.value]),style:e.normalizeStyle(n.value),role:"separator","aria-orientation":t.orientation},[e.renderSlot(t.$slots,"default")],14,Se))}}),be=["aria-expanded"],Ee=["width","height"],we=["d"],$e=["width","height"],z=e.defineComponent({__name:"SpicyDropdown",props:{label:{},align:{default:"left"},width:{default:"200px"},icon:{default:""},iconSize:{default:"24px"}},setup(r){const s=r,o=e.ref(!1),n=()=>{o.value=!o.value},t=e.computed(()=>s.icon||""),l=e.computed(()=>({width:s.width,[s.align==="right"?"right":"left"]:0,textAlign:s.align}));return(a,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDropdown",{open:o.value}])},[e.createElementVNode("button",{onClick:n,class:"spicyDropdownButton","aria-haspopup":"true","aria-expanded":o.value,"aria-controls":"spicyDropdownMenu"},[t.value?(e.openBlock(),e.createElementBlock("svg",{key:0,width:a.iconSize,height:a.iconSize,viewBox:"0 0 24 24",class:"dropdownIcon"},[e.createElementVNode("path",{d:t.value},null,8,we)],8,Ee)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(a.label)+" ",1),t.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("svg",{key:1,width:a.iconSize,height:a.iconSize,viewBox:"0 0 24 24",class:e.normalizeClass(["arrow",{open:o.value}])},d[1]||(d[1]=[e.createElementVNode("path",{d:"M7 10l5 5 5-5H7z"},null,-1)]),10,$e))],8,be),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyDropdownMenu",style:e.normalizeStyle(l.value),onClick:d[0]||(d[0]=e.withModifiers(m=>o.value=!1,["self"])),id:"spicyDropdownMenu"},[e.renderSlot(a.$slots,"default")],4)):e.createCommentVNode("",!0)]),_:3})],2))}}),Ve=["aria-label"],_e=["multiple","accept"],Ne={key:1,class:"spicyFilePreview"},Te=["onClick"],De=["onClick"],Ie=["d"],ze={key:3,class:"spicyFileInputError"},L=e.defineComponent({__name:"SpicyFileInput",props:{modelValue:{default:()=>[]},label:{default:""},error:{default:""},accept:{default:""},multiple:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},mdi:{default:""}},emits:["update:modelValue","change","error"],setup(r,{emit:s}){const o=s,n=r,t=e.ref(n.modelValue),l=e.ref(null),a=e.ref(!1),d=c=>{const h=c.target;h.files&&(t.value=Array.from(h.files),o("update:modelValue",t.value),o("change",t.value))},m=()=>{t.value=[],o("update:modelValue",t.value),l.value&&(l.value.value="")},i=c=>{t.value.splice(c,1),o("update:modelValue",t.value),t.value.length===0&&l.value&&(l.value.value="")},p=()=>{var c;(c=l.value)==null||c.click()},y=()=>{a.value=!0},k=()=>{a.value=!1},u=c=>{var B;const h=(B=c.dataTransfer)==null?void 0:B.files;if(h){const C=Array.from(h).filter(w=>n.accept?n.accept.split(",").map(E=>E.trim()).some(E=>E.startsWith(".")?w.name.endsWith(E):w.type===E):!0);!n.multiple&&C.length>0?t.value=[C[0]]:t.value=C,o("update:modelValue",t.value),o("change",t.value)}a.value=!1};return(c,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyFileInputWrapper",{hasError:c.error,isDragging:a.value}]),onClick:p,onDragover:e.withModifiers(y,["prevent"]),onDragleave:e.withModifiers(k,["prevent"]),onDrop:e.withModifiers(u,["prevent"])},[c.label&&!t.value.length?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicyFileInputLabel","aria-label":c.label},e.toDisplayString(c.label),9,Ve)):e.createCommentVNode("",!0),e.createElementVNode("input",{type:"file",multiple:c.multiple,accept:c.accept,class:"spicyFileInput",onChange:d,ref_key:"fileInput",ref:l},null,40,_e),t.value.length?(e.openBlock(),e.createElementBlock("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(B,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"spicyFilePreviewItem"},[e.createElementVNode("span",null,e.toDisplayString(B.name),1),c.clearable&&!c.mdi?(e.openBlock(),e.createElementBlock("button",{key:0,class:"removeButton",onClick:e.withModifiers(w=>i(C),["stop"]),"aria-label":"Remove"}," X ",8,Te)):e.createCommentVNode("",!0),c.clearable&&c.mdi?(e.openBlock(),e.createElementBlock("svg",{key:1,class:"removeButtonMDI",onClick:e.withModifiers(w=>i(C),["stop"]),"aria-label":"Remove",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{fill:"red",d:c.mdi},null,8,Ie)],8,De)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0),c.clearable&&t.value.length>1?(e.openBlock(),e.createElementBlock("button",{key:2,class:"clearAllButton",onClick:e.withModifiers(m,["stop"]),"aria-label":"Clear All"}," Clear All ")):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),c.error?(e.openBlock(),e.createElementBlock("span",ze,e.toDisplayString(c.error),1)):e.createCommentVNode("",!0)],34))}}),Le={class:"spicyModalHeader"},Me={class:"spicyModalActions"},Fe=["onClick"],M=e.defineComponent({__name:"SpicyModal",props:{width:{default:"400px"},height:{default:"auto"},borderRadius:{default:"6px"},bgColor:{default:""},visible:{type:Boolean,default:!1},closeBtn:{type:Boolean,default:!0},actions:{default:()=>[]},closeOnClick:{type:Boolean,default:!0},modalTitle:{default:""},textColor:{default:""}},emits:["update:visible","close","action-clicked"],setup(r,{emit:s}){const o=r,n=s,t=e.computed(()=>({"--width":o.width,"--height":o.height,"--skBorderRadius":o.borderRadius,"--skBgColor":o.bgColor,"--skTextColor":o.textColor})),l=()=>{n("update:visible",!1),n("close")},a=p=>{typeof p.handler=="function"&&p.handler(),n("action-clicked",p)},d=p=>{const y=p.target;o.closeOnClick&&y.classList.contains("spicyModalOverlay")&&l()},m=()=>{document.body.style.overflow="hidden"},i=()=>{document.body.style.overflow=""};return e.onMounted(()=>{o.visible&&m()}),e.onBeforeUnmount(()=>{i()}),e.watch(()=>o.visible,p=>{p?m():i()}),(p,y)=>p.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyModalOverlay",onClick:d,"aria-modal":"true",role:"dialog"},[e.createElementVNode("div",{class:"spicyModal",style:e.normalizeStyle({...t.value}),onKeydown:e.withKeys(l,["esc"])},[e.createElementVNode("header",Le,[e.renderSlot(p.$slots,"spicyModalHeader",{title:p.modalTitle,ariaLabel:p.modalTitle},()=>[e.createTextVNode(e.toDisplayString(p.modalTitle),1)])]),e.renderSlot(p.$slots,"default"),e.createElementVNode("div",Me,[e.renderSlot(p.$slots,"spicyModalActions"),p.actions.length===0&&p.closeBtn?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyModalCloseBtn spicyModalActionBtn",onClick:l},[e.renderSlot(p.$slots,"closeBtn",{},()=>[y[0]||(y[0]=e.createTextVNode("Close"))])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.actions,k=>(e.openBlock(),e.createElementBlock("button",{key:k.label,class:"spicyModalExtraBtn spicyModalActionBtn",onClick:u=>a(k)},e.toDisplayString(k.label),9,Fe))),128))])],36)])):e.createCommentVNode("",!0)}}),Ae={key:0,class:"spicyProgress"},Pe={key:0,class:"spicyProgressLabel"},Re={key:1,class:"spicyProgressCircular"},Oe=["width","height"],We=["stroke-width","r","cx","cy"],Xe=["stroke","stroke-width","r","cx","cy"],Ye={key:0,class:"spicyCircularLabel"},F=e.defineComponent({__name:"SpicyProgress",props:{value:{},max:{default:100},color:{default:"#4caf50"},height:{default:"8px"},strokeWidth:{default:8},type:{default:"linear"},showLabel:{type:Boolean,default:!1},size:{default:100}},setup(r){const s=r,o=e.computed(()=>Math.round(s.value/s.max*100)),n=e.computed(()=>s.type==="linear"),t=e.computed(()=>({width:`${o.value}%`,backgroundColor:s.color,height:s.height})),l=e.computed(()=>s.size/2),a=e.computed(()=>(s.size-s.strokeWidth)/2),d=e.computed(()=>2*Math.PI*a.value),m=e.computed(()=>({strokeDasharray:`${d.value} ${d.value}`,strokeDashoffset:`${d.value-o.value/100*d.value}`,transition:"stroke-dashoffset 400ms ease"}));return(i,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.value?(e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("div",{class:"spicyProgressBar",style:e.normalizeStyle(t.value)},null,4),i.showLabel?(e.openBlock(),e.createElementBlock("div",Pe,e.toDisplayString(o.value)+"%",1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Re,[(e.openBlock(),e.createElementBlock("svg",{class:"spicyCircularSvg",width:i.size,height:i.size},[e.createElementVNode("circle",{class:"spicyCircularTrack","stroke-width":i.strokeWidth,r:a.value,cx:l.value,cy:l.value},null,8,We),e.createElementVNode("circle",{class:"spicyCircularProgress",stroke:i.color,"stroke-width":i.strokeWidth,r:a.value,cx:l.value,cy:l.value,style:e.normalizeStyle(m.value)},null,12,Xe)],8,Oe)),i.showLabel?(e.openBlock(),e.createElementBlock("div",Ye,e.toDisplayString(o.value)+"%",1)):e.createCommentVNode("",!0)])),e.renderSlot(i.$slots,"default")],64))}}),A=e.defineComponent({__name:"SpicySheet",props:{isRound:{type:Boolean,default:!1},color:{default:"var(--skBgColor)"},flex:{type:Boolean,default:!0}},setup(r){const s=r,o=e.computed(()=>({backgroundColor:s.color}));return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicySheet",{isRound:n.isRound,flex:n.flex}]),style:e.normalizeStyle(o.value)},[e.renderSlot(n.$slots,"default")],6))}}),He={class:"spicySlider"},Ke=["aria-label"],je=["min","max","step","aria-valuenow","aria-valuemin","aria-valuemax"],P=e.defineComponent({__name:"SpicySlider",props:{min:{default:0},max:{default:100},step:{default:1},label:{default:""},modelValue:{default:0}},emits:["update:modelValue"],setup(r,{emit:s}){const o=r,n=s,t=e.computed({get:()=>Number(o.modelValue),set:l=>n("update:modelValue",l)});return(l,a)=>(e.openBlock(),e.createElementBlock("div",He,[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicySliderLabel","aria-label":l.label},e.toDisplayString(l.label),9,Ke)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{name:"spicySliderInput",class:"spicySliderInput",type:"range",min:l.min,max:l.max,step:l.step,"onUpdate:modelValue":a[0]||(a[0]=d=>t.value=d),"aria-valuenow":t.value,"aria-valuemin":l.min,"aria-valuemax":l.max},null,8,je),[[e.vModelText,t.value]]),e.renderSlot(l.$slots,"default")]))}}),qe={class:e.normalizeClass(["spicyTabs"])},Ue={class:"spicyTabsHeader"},xe=["onClick"],Ge={key:0,class:"spicyTabsContent"},R=e.defineComponent({__name:"SpicyTabs",props:{visibleTabs:{default:8},useScrollButtons:{type:Boolean,default:!0},tabs:{}},setup(r){var u;const s=r,o=e.ref(((u=s.tabs[0])==null?void 0:u.name)||""),n=e.ref(null),t=e.ref(!1),l=e.ref(!1),a=()=>{if(n.value){const{scrollLeft:c,scrollWidth:h,clientWidth:B}=n.value;t.value=c>0,l.value=h>B+c}},d=c=>{o.value=c},m=e.computed(()=>{var c;return(c=s.tabs.find(h=>h.name===o.value))==null?void 0:c.name}),i=c=>{if(n.value){const h=c==="left"?-200:200;n.value.scrollBy({left:h,behavior:"smooth"})}},p=()=>{i("left"),a()},y=()=>{i("right"),a()},k=c=>{n.value&&(c.preventDefault(),n.value.scrollLeft+=c.deltaY,a())};return e.onMounted(()=>{a(),window.addEventListener("resize",a)}),e.onUnmounted(()=>{window.removeEventListener("resize",a)}),e.watch(()=>{var c;return(c=n.value)==null?void 0:c.scrollLeft},a),(c,h)=>(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",Ue,[t.value&&c.useScrollButtons?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyOverflowButton left",onClick:p}," ‹ ")):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"tabsWrapperRef",ref:n,class:"tabsWrapper",onWheel:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.tabs,B=>(e.openBlock(),e.createElementBlock("button",{key:B.name,class:e.normalizeClass(["spicyTabButton",{active:o.value===B.name}]),onClick:C=>d(B.name)},e.toDisplayString(B.label),11,xe))),128))],544),l.value&&c.useScrollButtons?(e.openBlock(),e.createElementBlock("button",{key:1,class:"spicyOverflowButton right",onClick:y}," › ")):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(c.$slots,m.value)])):e.createCommentVNode("",!0)]),_:3})]))}}),Je=["value","name"],O=e.defineComponent({__name:"SpicyTextArea",props:{border:{default:"1px solid var(--skBorderColor, #515353)"},isRound:{type:Boolean,default:!1},padding:{default:"8px"},color:{default:"#4e4e4e"},modelValue:{default:""},name:{default:""}},emits:["update:modelValue"],setup(r,{emit:s}){const o=r,n=e.computed(()=>({borderRadius:o.isRound?"16px":"2px",border:o.border,padding:o.padding,backgroundColor:o.color})),t=s,l=a=>{t("update:modelValue",a.target.value)};return(a,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("textarea",e.mergeProps({class:"SpicyTextArea",value:a.modelValue,onInput:l,name:a.name,style:n.value},a.$attrs),null,16,Je),e.renderSlot(a.$slots,"default")],64))}}),Qe=["aria-label"],Ze={class:"spicyInputContainer"},ve={key:0,class:"spicyInputPrefix"},et=["placeholder","autofocus","aria-label","aria-invalid","aria-describedby"],tt=["id"],W=e.defineComponent({__name:"SpicyTextField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},error:{default:""},variant:{default:"outlined"},prefix:{default:""},autofocus:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1}},emits:["update:modelValue","input","blur","focus"],setup(r,{emit:s}){const o=s,n=r,t=e.ref(n.modelValue),l=e.ref(!1),a=e.computed(()=>n.error?"spicyInputError":void 0);e.watch(()=>n.modelValue,y=>{t.value=y}),e.onMounted(()=>{if(n.autofocus){const y=document.querySelector('input[name="spicyInput"]');y==null||y.focus()}});const d=y=>{const k=y.target;t.value=k.value,o("update:modelValue",t.value),o("input",t.value)},m=()=>{l.value=!1,o("blur")},i=()=>{l.value=!0,o("focus")},p=()=>{t.value="",o("update:modelValue",t.value)};return(y,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyInputWrapper",[y.variant,{hasValue:t.value,hasFocus:l.value,hasError:y.error}]])},[e.createElementVNode("label",{class:"spicyInputLabel","aria-label":y.label},e.toDisplayString(y.label),9,Qe),e.createElementVNode("div",Ze,[y.prefix?(e.openBlock(),e.createElementBlock("span",ve,e.toDisplayString(y.prefix),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text",name:"spicyInput",class:e.normalizeClass(["spicyInput",y.variant]),"onUpdate:modelValue":k[0]||(k[0]=u=>t.value=u),placeholder:y.placeholder,autofocus:y.autofocus,onInput:d,onBlur:m,onFocus:i,"aria-label":y.label,"aria-invalid":!!y.error,"aria-describedby":a.value,ref:"input"},null,42,et),[[e.vModelText,t.value]]),y.clearable&&t.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"clearButton",onClick:p},"X")):e.createCommentVNode("",!0)]),e.renderSlot(y.$slots,"default"),y.error?(e.openBlock(),e.createElementBlock("span",{key:0,id:a.value,class:"spicyInputError"},e.toDisplayString(y.error),9,tt)):e.createCommentVNode("",!0)],2))}}),ot=["for"],lt=["id","tabindex","aria-label","aria-checked","aria-disabled","onKeydown"],X=e.defineComponent({__name:"SpicyToggle",props:{modelValue:{type:Boolean,default:!1},label:{default:""},variant:{default:"filled"},borderColor:{default:""},activeColor:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(r,{emit:s}){const o=e.computed(()=>`${n.label||"toggle"}_spicyToggle`),n=r,t=e.computed(()=>({"--skBorderColor":n.borderColor,"--activeColor":n.activeColor})),l=s,a=()=>{n.disabled||l("update:modelValue",!n.modelValue)};return(d,m)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["spicyToggleLabel",{disabled:d.disabled}]),for:`${d.label||"toggle"}_spicyToggle`},[e.createTextVNode(e.toDisplayString(d.label)+" ",1),e.createElementVNode("div",e.mergeProps({class:["spicyToggle",{outlined:d.variant==="outlined",isActive:d.modelValue}],id:o.value,tabindex:d.disabled?-1:0,role:"switch",style:{...t.value},"aria-label":d.label||"Toggle Switch","aria-checked":d.modelValue,"aria-disabled":d.disabled,onClick:a,onKeydown:[e.withKeys(e.withModifiers(a,["prevent"]),["space"]),e.withKeys(e.withModifiers(a,["prevent"]),["enter"])]},d.$attrs),m[0]||(m[0]=[e.createElementVNode("div",{class:"spicyToggleKnob"},null,-1)]),16,lt)],10,ot))}}),nt=["aria-hidden"],at={key:0,class:"spicyTooltipIcon"},st=["aria-label"],it={key:2,class:"spicyTooltipIcon"},Y=e.defineComponent({__name:"SpicyTooltip",props:{text:{default:""},prependIcon:{default:""},appendIcon:{default:""},position:{default:"top"}},setup(r){const s=r,o=e.ref(!1),n=e.ref(null),t=e.reactive({position:"fixed",top:"0px",left:"0px",maxWidth:"175px"}),l=i=>{const p=i.right-window.innerWidth;p>0&&(t.left=`${parseInt(t.left)-p-5}px`),i.left<0&&(t.left="5px")},a={top:(i,p)=>{t.left=`${i.left+(i.width-p.width)/2}px`,t.top=`${i.top-p.height-5}px`},bottom:(i,p)=>{t.left=`${i.left+(i.width-p.width)/2}px`,t.top=`${i.bottom+5}px`},left:(i,p)=>{t.left=`${i.left-p.width-5}px`,t.top=`${i.top+(i.height-p.height)/2}px`},right:(i,p)=>{t.left=`${i.right+5}px`,t.top=`${i.top+(i.height-p.height)/2}px`}},d=()=>{o.value=!0,e.nextTick(()=>{if(n.value&&o.value){const i=n.value.getBoundingClientRect(),p=n.value.querySelector(".spicyTooltip");if(p){const y=p.getBoundingClientRect(),k=a[s.position];k(i,y),l(y)}}})},m=()=>{o.value=!1};return(i,p)=>(e.openBlock(),e.createElementBlock("div",{onMouseover:d,onMouseleave:m,ref_key:"host",ref:n},[e.renderSlot(i.$slots,"default"),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyTooltip",style:e.normalizeStyle(t),role:"tooltip","aria-hidden":!o.value},[i.prependIcon?(e.openBlock(),e.createElementBlock("span",at,e.toDisplayString(i.prependIcon),1)):e.createCommentVNode("",!0),i.text?(e.openBlock(),e.createElementBlock("span",{key:1,class:"spicyTooltipText","aria-label":i.text},e.toDisplayString(i.text),9,st)):e.createCommentVNode("",!0),i.appendIcon?(e.openBlock(),e.createElementBlock("span",it,e.toDisplayString(i.appendIcon),1)):e.createCommentVNode("",!0)],12,nt)):e.createCommentVNode("",!0)],544))}}),rt=["aria-expanded"],ct={key:0,class:"spicyToggleIcon"},dt=["width","height"],pt=["d"],mt={key:1,role:"group"},$=e.defineComponent({__name:"SpicyTreeNode",props:{node:{}},setup(r){const s=r,o=e.ref(!1),n=e.computed(()=>s.node.children&&s.node.children.length>0),t=()=>{n.value&&(o.value=!o.value)};return(l,a)=>{const d=e.resolveComponent("SpicyTreeNode",!0);return e.openBlock(),e.createElementBlock("li",{class:"spicyTreeNodeItem",role:"treeitem","aria-expanded":o.value},[e.createElementVNode("div",{onClick:t,style:{cursor:"pointer"}},[e.createElementVNode("span",null,e.toDisplayString(l.node.label),1),n.value?(e.openBlock(),e.createElementBlock("span",ct,e.toDisplayString(o.value?"-":"+"),1)):e.createCommentVNode("",!0)]),l.node.icon?(e.openBlock(),e.createElementBlock("svg",{key:0,width:l.node.iconSize,height:l.node.iconSize,class:"spicyTreeNodeIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:l.node.icon},null,8,pt)],8,dt)):e.createCommentVNode("",!0),o.value&&l.node.children?(e.openBlock(),e.createElementBlock("ul",mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.node.children,m=>(e.openBlock(),e.createBlock(d,{key:m.id,node:m},null,8,["node"]))),128))])):e.createCommentVNode("",!0)],8,rt)}}}),yt={class:"spicyTree"},ft={role:"tree"},H=e.defineComponent({__name:"SpicyTree",props:{nodes:{}},setup(r){return(s,o)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("ul",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.nodes,n=>(e.openBlock(),e.createBlock($,{class:"spicyTreeNode",key:n.id,node:n},null,8,["node"]))),128))])]))}}),K={mounted(r,s){const{axis:o}=s.value||{};r.style.position="relative",r.style.cursor="move";let n,t;const l=(u,c)=>{const h=r.getBoundingClientRect();let B=u-n,C=c-t;o!=="y"&&(r.style.left=`${B-h.left+parseFloat(getComputedStyle(r).left||"0")}px`),o!=="x"&&(r.style.top=`${C-h.top+parseFloat(getComputedStyle(r).top||"0")}px`)},a=u=>{l(u.pageX,u.pageY)};let d=!1;const m=u=>{const c=u.touches[0];c&&(d=!0,l(c.pageX,c.pageY),u.preventDefault())},i=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",i),d&&(d=!1)},p=u=>{const c=r.getBoundingClientRect();n=u.pageX-c.left,t=u.pageY-c.top,document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)},y=u=>{if(u.touches.length!==1)return;const c=u.touches[0];if(!c)return;const h=r.getBoundingClientRect();n=c.pageX-h.left,t=c.pageY-h.top,d=!1,document.addEventListener("touchmove",m),document.addEventListener("touchend",i),u.preventDefault()};r.addEventListener("mousedown",p),r.addEventListener("touchstart",y);const k=r;k._cleanup=()=>{k.removeEventListener("mousedown",p),k.removeEventListener("touchstart",y),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",i)}},unmounted(r){const s=r;s._cleanup&&s._cleanup()}},j={beforeMount(r){r.style.position="relative",r.style.overflow="hidden";const s=(n,t)=>{const l=document.createElement("span"),a=Math.max(r.clientWidth,r.clientHeight),d=a/2;l.style.width=l.style.height=`${a}px`,l.style.left=`${n-r.getBoundingClientRect().left-d}px`,l.style.top=`${t-r.getBoundingClientRect().top-d}px`,l.classList.add("spicyRipple");const m=r.querySelector(".spicyRipple");m&&m.remove(),r.appendChild(l),l.addEventListener("animationend",()=>{l.remove()})},o=n=>{let t=0,l=0;if(n instanceof MouseEvent)t=n.clientX,l=n.clientY;else if(n instanceof TouchEvent){const a=n.touches[0];t=a.clientX,l=a.clientY}s(t,l)};r.addEventListener("click",n=>{requestAnimationFrame(()=>o(n))}),r.addEventListener("touchstart",n=>{requestAnimationFrame(()=>o(n))})}},ut={SpicyAccordion:V,SpicyAlert:_,SpicyBtn:N,SpicyCarousel:T,SpicyDialog:D,SpicyDivider:I,SpicyDropdown:z,SpicyFileInput:L,SpicyModal:M,SpicyProgress:F,SpicySheet:A,SpicySlider:P,SpicyTabs:R,SpicyTextArea:O,SpicyTextField:W,SpicyToggle:X,SpicyTooltip:Y,SpicyTree:H,SpicyTreeNode:$},ht={install(r,s={}){const{useComponents:o=!0,useStyles:n=!0,useDirectives:t=!0}=s;o&&Object.entries(ut).forEach(([l,a])=>{r.component(l,a)}),n&&Promise.resolve().then(()=>kt).then(l=>{const a=document.createElement("style");a.id="SpicyStyles",a.textContent=l.default,document.head.appendChild(a)}),t&&(r.directive("spicyDrag",K),r.directive("spicyRipple",j),Promise.resolve().then(()=>gt).then(l=>{const a=document.createElement("style");a.id="SpicyRippleStyles",a.textContent=l.default,document.head.appendChild(a)}))}},kt=Object.freeze(Object.defineProperty({__proto__:null,default:':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--disabledOpacity: .5;--skFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;--skFontSize: 1rem;--skFontWeight: 500;--skBorderRadius: 4px}.spicyText{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:var(--skFontSize)}.spicyHeader{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:24px;font-weight:700}.spicyLink:hover{color:var(--skHoverColor)}.spicyLink:active{color:var(--skPrimaryColor)}.spicyLink:focus{color:var(--skPrimaryColor)}.spicyLink:disabled{opacity:var(--disabledOpacity)}'},Symbol.toStringTag,{value:"Module"})),gt=Object.freeze(Object.defineProperty({__proto__:null,default:".spicyRipple{position:absolute;border-radius:50%;background:currentColor;transform:scale(0);animation:spicy-ripple-animation .6s linear;pointer-events:none;z-index:1}@keyframes spicy-ripple-animation{to{transform:scale(4);opacity:0}}"},Symbol.toStringTag,{value:"Module"}));f.SpicyAccordion=V,f.SpicyAlert=_,f.SpicyBtn=N,f.SpicyCarousel=T,f.SpicyDialog=D,f.SpicyDivider=I,f.SpicyDropdown=z,f.SpicyFileInput=L,f.SpicyKatsu=ht,f.SpicyModal=M,f.SpicyProgress=F,f.SpicySheet=A,f.SpicySlider=P,f.SpicyTabs=R,f.SpicyTextArea=O,f.SpicyTextField=W,f.SpicyToggle=X,f.SpicyTooltip=Y,f.SpicyTree=H,f.SpicyTreeNode=$,f.spicyDrag=K,f.spicyRipple=j,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(y,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(y=typeof globalThis<"u"?globalThis:y||self,e(y.SpicyKatsu={},y.Vue))})(this,function(y,e){"use strict";const U={class:"spicyAccordion"},G=["onClick","aria-expanded"],J={key:0,class:"accordionIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Q=["d"],Z={class:"spicyAccordionContent"},V=e.defineComponent({__name:"SpicyAccordion",props:{sections:{},singleOpen:{type:Boolean,default:!1},defaultOpen:{}},setup(r){const i=r,o=e.ref(i.defaultOpen||[]),a=s=>{if(i.singleOpen)o.value=o.value.includes(s)?[]:[s];else{const l=o.value.indexOf(s);l===-1?o.value.push(s):o.value.splice(l,1)}},t=s=>o.value.includes(s);return(s,l)=>(e.openBlock(),e.createElementBlock("div",U,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.sections,(d,m)=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"spicyAccordionItem"},[e.createElementVNode("button",{class:e.normalizeClass(["spicyAccordionHeader",{open:t(m)}]),onClick:n=>a(m),"aria-expanded":t(m)},[e.createElementVNode("span",null,e.toDisplayString(d.title),1),d.icon?(e.openBlock(),e.createElementBlock("svg",J,[e.createElementVNode("path",{d:d.icon},null,8,Q)])):e.createCommentVNode("",!0),l[0]||(l[0]=e.createElementVNode("span",{class:"accordionToggle"},[e.createElementVNode("svg",{class:"accordionArrow",viewBox:"0 0 24 24"},[e.createElementVNode("path",{d:"M7 10l5 5 5-5H7z"})])],-1))],10,G),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",Z,[e.renderSlot(s.$slots,`section-${m}`)],512),[[e.vShow,t(m)]])]),_:2},1024)]))),128))]))}}),x=["aria-label"],v={key:0,class:"spicyAlertIcon"},ee={key:1,class:"spicyAlertIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},te=["d"],oe={class:"spicyAlertContainer"},le={key:0,class:"spicyAlertTitle"},ne={key:1,class:"spicyAlertText"},ae={key:0,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},se=["d"],ie={key:1},_=e.defineComponent({__name:"SpicyAlert",props:{variant:{default:"info"},title:{},text:{},icon:{},mdi:{},iconOnly:{type:Boolean,default:!1},closable:{type:Boolean,default:!1},autoClose:{default:0},closeIcon:{},isRound:{type:Boolean,default:!1}},setup(r){const i=r,o=e.ref(!0),a=()=>{o.value=!1};return e.watch(()=>i.autoClose,t=>{t&&t>0&&setTimeout(()=>{a()},t)}),(t,s)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["spicyAlert",[t.variant,{spicyAlertRound:t.isRound}]]),"aria-atomic":"true","aria-label":t.text||"Alert",role:"alert",onKeydown:e.withKeys(a,["enter"])},[t.iconOnly&&t.icon?(e.openBlock(),e.createElementBlock("span",v,e.toDisplayString(t.icon),1)):e.createCommentVNode("",!0),t.mdi?(e.openBlock(),e.createElementBlock("svg",ee,[e.createElementVNode("path",{fill:"currentColor",class:"spicyAlertMDI",d:t.mdi},null,8,te)])):e.createCommentVNode("",!0),e.createElementVNode("div",oe,[t.title?(e.openBlock(),e.createElementBlock("span",le,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),!t.iconOnly&&t.text?(e.openBlock(),e.createElementBlock("span",ne,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)]),t.closable?(e.openBlock(),e.createElementBlock("button",{key:2,class:"spicyAlertCloseBtn",onClick:a,"aria-label":"Close alert"},[t.closeIcon?(e.openBlock(),e.createElementBlock("svg",ae,[e.createElementVNode("path",{fill:"#000",d:t.closeIcon},null,8,se)])):(e.openBlock(),e.createElementBlock("span",ie,"X"))])):e.createCommentVNode("",!0),t.text?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:3})],42,x)):e.createCommentVNode("",!0)]),_:3}))}}),re=["disabled","aria-label","aria-disabled","tabindex"],ce={key:0,class:"spicyBtnIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},de=["d"],pe={key:1,class:"spicyBtnIcon"},me={key:2,class:"spicyBtnText"},N=e.defineComponent({__name:"SpicyBtn",props:{variant:{default:"filled"},disabled:{type:Boolean,default:!1},text:{},icon:{},mdi:{},size:{},bgColor:{},textColor:{default:"#ddd"},hoverColor:{},borderColor:{},fontSize:{default:16},fontWeight:{default:500}},emits:["click"],setup(r,{emit:i}){const o=i,a=()=>{t.disabled||o("click")},t=r,s=e.computed(()=>({"--skFontSize":typeof t.fontSize=="number"?`${t.fontSize}px`:t.fontSize,"--skFontWeight":t.fontWeight,"--skBgColor":t.bgColor,"--skTextColor":t.textColor,"--skBorderColor":t.borderColor,"--hoverColor":t.hoverColor})),l=e.computed(()=>!t.text&&(t.icon||t.mdi)),d=e.computed(()=>({spicyBtn:!0,outlined:t.variant==="outlined",disabled:t.disabled,isRound:l.value,large:t.size==="large"}));return(m,n)=>{const p=e.resolveDirective("spicyRipple");return e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(d.value),style:e.normalizeStyle(s.value),disabled:m.disabled,onClick:a,role:"button","aria-label":m.text,"aria-disabled":m.disabled,tabindex:m.disabled?-1:0},[m.mdi?(e.openBlock(),e.createElementBlock("svg",ce,[e.createElementVNode("path",{fill:"currentColor",class:"spicyBtnMDI",d:m.mdi},null,8,de)])):e.createCommentVNode("",!0),m.icon&&!m.mdi?(e.openBlock(),e.createElementBlock("span",pe,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),m.text?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(m.text),1)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],14,re)),[[p]])}}}),fe=["aria-label"],ye={class:"spicyCarouselInfoText"},ue={class:"spicyCarouselTitle"},he={key:0},ke={key:0,class:"spicyCarouselNavControls"},ge={key:1,class:"spicyCarouselPagination"},Be=["onClick"],Ce={class:"spicyCarouselPage"},T=e.defineComponent({__name:"SpicyCarousel",props:{autoplay:{type:Boolean,default:!1},autoplaySpeed:{default:5e3},showNavigation:{type:Boolean,default:!0},showPagination:{type:Boolean,default:!0},activeColor:{default:"var(--skPrimaryColor)"},loop:{type:Boolean,default:!0},initialSlide:{default:0},slides:{default:()=>[]},width:{default:"580px"},height:{default:"360px"},fullScreen:{type:Boolean,default:!1},enableImageClick:{type:Boolean,default:!1},paginationLimit:{default:10}},setup(r){let i,o,a=!1;const t=r,s=e.computed(()=>({"--width":t.width,"--height":t.height,"--activeColor":t.activeColor})),l=e.computed(()=>t.paginationLimit),d=e.computed(()=>{var g;return(g=t.slides[n.value])==null?void 0:g.title}),m=e.computed(()=>p.value.fullScreen===!1?!1:t.fullScreen),n=e.ref(t.initialSlide),p=e.computed(()=>t.slides[n.value]);let f;const k=()=>{n.value=(n.value-1+t.slides.length)%t.slides.length},u=()=>{n.value=(n.value+1)%t.slides.length},c=g=>{n.value=g},h=()=>{f&&clearInterval(f)},B=()=>{t.autoplay&&(f=window.setInterval(u,t.autoplaySpeed))},C=()=>{window.open(p.value.img)},w=()=>{t.enableImageClick&&C()},q=g=>{i=g.touches[0].clientX,o=g.touches[0].clientY,a=!1},E=g=>{if(!a){const b=g.touches[0].clientX-i,S=g.touches[0].clientY-o;Math.abs(b)>Math.abs(S)&&(b>40?(k(),a=!0):b<-40&&(u(),a=!0))}},St=e.computed(()=>{const g=t.slides.length,b=Math.max(0,n.value-Math.floor(l.value/2)),S=Math.min(g,b+l.value);return[...Array(g).keys()].slice(b,S)});return e.onMounted(()=>{B()}),e.onUnmounted(()=>{h()}),(g,b)=>(e.openBlock(),e.createElementBlock("div",{class:"spicyCarouselWrapper",style:e.normalizeStyle({...s.value})},[e.createElementVNode("div",{class:"spicyCarouselContainer",onMouseenter:h,onMouseleave:B,onTouchstart:q,onTouchmove:E},[e.createVNode(e.Transition,{name:"slide",mode:"out-in"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyCarouselSlide",{pointCursor:t.enableImageClick}]),key:n.value,style:e.normalizeStyle({backgroundImage:`url(${p.value.img})`}),onClick:w},[g.slides[n.value].text?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["spicyCarouselTextOverlay",{fullScreen:m.value}]),"aria-label":g.slides[n.value].text},[e.createElementVNode("span",ye,e.toDisplayString(g.slides[n.value].text),1)],10,fe)):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"default")],6))]),_:3})],32),e.createElementVNode("div",ue,[d.value?(e.openBlock(),e.createElementBlock("h2",he,e.toDisplayString(p.value.title),1)):e.createCommentVNode("",!0)]),g.showNavigation?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("button",{class:"spicyCarouselPrevBtn",onClick:k},b[0]||(b[0]=[e.createElementVNode("span",{class:"spicyCarouselPrevBtnIcon"},"<",-1)])),e.createElementVNode("button",{class:"spicyCarouselNextBtn",onClick:u},b[1]||(b[1]=[e.createElementVNode("span",{class:"spicyCarouselNextBtnIcon"},">",-1)]))])):e.createCommentVNode("",!0),g.showPagination?(e.openBlock(),e.createElementBlock("div",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(St.value,S=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:$t=>c(S),class:e.normalizeClass(["spicyCarouselPageBtn",{active:S===n.value}])},[e.createElementVNode("span",Ce,e.toDisplayString(S+1),1)],10,Be))),128))])):e.createCommentVNode("",!0)],4))}}),D=e.defineComponent({__name:"SpicyDialog",props:{modelValue:Boolean,persistent:Boolean,maxWidth:{type:String,default:"500px"},color:{type:String,default:"rgba(0, 0, 0, 0.5)"}},emits:["update:modelValue"],setup(r,{emit:i}){const o=r,a=i,t=()=>{a("update:modelValue",!1)},s=()=>{o.persistent||t()},l=d=>{d.key==="Escape"&&!o.persistent&&t()};return e.watch(()=>o.modelValue,d=>{d?window.addEventListener("keydown",l):window.removeEventListener("keydown",l)}),(d,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[r.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyDialogOverlay",style:e.normalizeStyle({backgroundColor:r.color}),onClick:s},[e.createElementVNode("div",{class:"spicyDialog",style:e.normalizeStyle({maxWidth:r.maxWidth}),onClick:m[0]||(m[0]=e.withModifiers(()=>{},["stop"]))},[e.renderSlot(d.$slots,"default")],4)],4)):e.createCommentVNode("",!0)]),_:3})]))}}),be=["aria-orientation"],I=e.defineComponent({__name:"SpicyDivider",props:{variant:{default:"solid"},orientation:{default:"horizontal"},length:{default:"100%"},size:{default:"1px"},color:{default:"#5f5f5f"}},setup(r){const i=r,o=e.computed(()=>i.orientation==="vertical"?"vertical":"horizontal"),a=e.computed(()=>({[i.orientation==="vertical"?"height":"width"]:i.length,border:`${i.size} ${i.variant} ${i.color}`,borderLeft:i.orientation==="vertical"?`${i.size} ${i.variant} ${i.color}`:"none",borderBottom:i.orientation==="horizontal"?`${i.size} ${i.variant} ${i.color}`:"none"}));return(t,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDivider",o.value]),style:e.normalizeStyle(a.value),role:"separator","aria-orientation":t.orientation},[e.renderSlot(t.$slots,"default")],14,be))}}),Se=["aria-expanded"],Ee=["width","height"],we=["d"],$e=["width","height"],z=e.defineComponent({__name:"SpicyDropdown",props:{label:{},align:{default:"left"},width:{default:"200px"},icon:{default:""},iconSize:{default:"24px"}},setup(r){const i=r,o=e.ref(!1),a=()=>{o.value=!o.value},t=e.computed(()=>i.icon||""),s=e.computed(()=>({width:i.width,[i.align==="right"?"right":"left"]:0,textAlign:i.align}));return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDropdown",{open:o.value}])},[e.createElementVNode("button",{onClick:a,class:"spicyDropdownButton","aria-haspopup":"true","aria-expanded":o.value,"aria-controls":"spicyDropdownMenu"},[t.value?(e.openBlock(),e.createElementBlock("svg",{key:0,width:l.iconSize,height:l.iconSize,viewBox:"0 0 24 24",class:"dropdownIcon"},[e.createElementVNode("path",{d:t.value},null,8,we)],8,Ee)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(l.label)+" ",1),t.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("svg",{key:1,width:l.iconSize,height:l.iconSize,viewBox:"0 0 24 24",class:e.normalizeClass(["arrow",{open:o.value}])},d[1]||(d[1]=[e.createElementVNode("path",{d:"M7 10l5 5 5-5H7z"},null,-1)]),10,$e))],8,Se),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyDropdownMenu",style:e.normalizeStyle(s.value),onClick:d[0]||(d[0]=e.withModifiers(m=>o.value=!1,["self"])),id:"spicyDropdownMenu"},[e.renderSlot(l.$slots,"default")],4)):e.createCommentVNode("",!0)]),_:3})],2))}}),Ve=["aria-label"],_e=["multiple","accept","disabled"],Ne={key:1,class:"spicyFilePreview"},Te={class:"spicyFilePreviewName"},De=["onClick"],Ie=["onClick"],ze=["d"],Me={key:3,class:"spicyFileInputError"},M=e.defineComponent({__name:"SpicyFileInput",props:{modelValue:{default:()=>[]},label:{default:""},error:{default:""},accept:{default:""},multiple:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},mdi:{default:""},variant:{default:"dashed"}},emits:["update:modelValue","change","error"],setup(r,{emit:i}){const o=i,a=r,t=e.ref(a.modelValue),s=e.ref(null),l=e.ref(!1),d=c=>{const h=c.target;h.files&&(t.value=Array.from(h.files),o("update:modelValue",t.value),o("change",t.value))},m=()=>{t.value=[],o("update:modelValue",t.value),s.value&&(s.value.value="")},n=c=>{t.value.splice(c,1),o("update:modelValue",t.value),t.value.length===0&&s.value&&(s.value.value=""),o("change",t.value)},p=()=>{var c;a.disabled||(c=s.value)==null||c.click()},f=()=>{a.disabled||(l.value=!0)},k=()=>{a.disabled||(l.value=!1)},u=c=>{var h;if(!a.disabled){const B=(h=c.dataTransfer)==null?void 0:h.files;if(B){const C=Array.from(B).filter(w=>a.accept?a.accept.split(",").map(E=>E.trim()).some(E=>E.startsWith(".")?w.name.endsWith(E):w.type===E):!0);!a.multiple&&C.length>0?t.value=[C[0]]:t.value=C,o("update:modelValue",t.value),o("change",t.value)}l.value=!1}};return(c,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyFileInputWrapper",[{hasError:c.error,isDragging:l.value,disabled:c.disabled,[c.variant]:c.variant}]]),onClick:p,onDragover:e.withModifiers(f,["prevent"]),onDragleave:e.withModifiers(k,["prevent"]),onDrop:e.withModifiers(u,["prevent"])},[c.label&&!t.value.length?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicyFileInputLabel","aria-label":c.label},e.toDisplayString(c.label),9,Ve)):e.createCommentVNode("",!0),e.createElementVNode("input",{type:"file",multiple:c.multiple,accept:c.accept,class:"spicyFileInput",onChange:d,ref_key:"fileInput",ref:s,disabled:c.disabled},null,40,_e),t.value.length?(e.openBlock(),e.createElementBlock("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(B,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"spicyFilePreviewItem"},[e.createElementVNode("span",Te,e.toDisplayString(B.name),1),c.clearable&&!c.mdi&&!c.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,class:"removeButton",onClick:e.withModifiers(w=>n(C),["stop"]),"aria-label":"Remove"}," X ",8,De)):e.createCommentVNode("",!0),c.clearable&&c.mdi&&!c.disabled?(e.openBlock(),e.createElementBlock("svg",{key:1,class:"removeButtonMDI",onClick:e.withModifiers(w=>n(C),["stop"]),"aria-label":"Remove",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{fill:"red",d:c.mdi},null,8,ze)],8,Ie)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0),c.clearable&&t.value.length>1&&!c.disabled?(e.openBlock(),e.createElementBlock("button",{key:2,class:"clearAllButton",onClick:e.withModifiers(m,["stop"]),"aria-label":"Clear All"}," Clear All ")):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),c.error?(e.openBlock(),e.createElementBlock("span",Me,e.toDisplayString(c.error),1)):e.createCommentVNode("",!0)],34))}}),Le={class:"spicyModalHeader"},Fe={class:"spicyModalActions"},Ae=["onClick"],L=e.defineComponent({__name:"SpicyModal",props:{width:{default:"400px"},height:{default:"auto"},borderRadius:{default:"6px"},bgColor:{default:""},visible:{type:Boolean,default:!1},closeBtn:{type:Boolean,default:!0},actions:{default:()=>[]},closeOnClick:{type:Boolean,default:!0},modalTitle:{default:""},textColor:{default:""}},emits:["update:visible","close","action-clicked"],setup(r,{emit:i}){const o=r,a=i,t=e.computed(()=>({"--width":o.width,"--height":o.height,"--skBorderRadius":o.borderRadius,"--skBgColor":o.bgColor,"--skTextColor":o.textColor})),s=()=>{a("update:visible",!1),a("close")},l=p=>{typeof p.handler=="function"&&p.handler(),a("action-clicked",p)},d=p=>{const f=p.target;o.closeOnClick&&f.classList.contains("spicyModalOverlay")&&s()},m=()=>{document.body.style.overflow="hidden"},n=()=>{document.body.style.overflow=""};return e.onMounted(()=>{o.visible&&m()}),e.onBeforeUnmount(()=>{n()}),e.watch(()=>o.visible,p=>{p?m():n()}),(p,f)=>p.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyModalOverlay",onClick:d,"aria-modal":"true",role:"dialog"},[e.createElementVNode("div",{class:"spicyModal",style:e.normalizeStyle({...t.value}),onKeydown:e.withKeys(s,["esc"])},[e.createElementVNode("header",Le,[e.renderSlot(p.$slots,"spicyModalHeader",{title:p.modalTitle,ariaLabel:p.modalTitle},()=>[e.createTextVNode(e.toDisplayString(p.modalTitle),1)])]),e.renderSlot(p.$slots,"default"),e.createElementVNode("div",Fe,[e.renderSlot(p.$slots,"spicyModalActions"),p.actions.length===0&&p.closeBtn?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyModalCloseBtn spicyModalActionBtn",onClick:s},[e.renderSlot(p.$slots,"closeBtn",{},()=>[f[0]||(f[0]=e.createTextVNode("Close"))])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.actions,k=>(e.openBlock(),e.createElementBlock("button",{key:k.label,class:"spicyModalExtraBtn spicyModalActionBtn",onClick:u=>l(k)},e.toDisplayString(k.label),9,Ae))),128))])],36)])):e.createCommentVNode("",!0)}}),Pe={key:0,class:"spicyProgress"},Re={key:0,class:"spicyProgressLabel"},Oe={key:1,class:"spicyProgressCircular"},We=["width","height"],Xe=["stroke-width","r","cx","cy"],Ye=["stroke","stroke-width","r","cx","cy"],He={key:0,class:"spicyCircularLabel"},F=e.defineComponent({__name:"SpicyProgress",props:{value:{},max:{default:100},color:{default:"#4caf50"},height:{default:"8px"},strokeWidth:{default:8},type:{default:"linear"},showLabel:{type:Boolean,default:!1},size:{default:100}},setup(r){const i=r,o=e.computed(()=>Math.round(i.value/i.max*100)),a=e.computed(()=>i.type==="linear"),t=e.computed(()=>({width:`${o.value}%`,backgroundColor:i.color,height:i.height})),s=e.computed(()=>i.size/2),l=e.computed(()=>(i.size-i.strokeWidth)/2),d=e.computed(()=>2*Math.PI*l.value),m=e.computed(()=>({strokeDasharray:`${d.value} ${d.value}`,strokeDashoffset:`${d.value-o.value/100*d.value}`,transition:"stroke-dashoffset 400ms ease"}));return(n,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[a.value?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",{class:"spicyProgressBar",style:e.normalizeStyle(t.value)},null,4),n.showLabel?(e.openBlock(),e.createElementBlock("div",Re,e.toDisplayString(o.value)+"%",1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(),e.createElementBlock("svg",{class:"spicyCircularSvg",width:n.size,height:n.size},[e.createElementVNode("circle",{class:"spicyCircularTrack","stroke-width":n.strokeWidth,r:l.value,cx:s.value,cy:s.value},null,8,Xe),e.createElementVNode("circle",{class:"spicyCircularProgress",stroke:n.color,"stroke-width":n.strokeWidth,r:l.value,cx:s.value,cy:s.value,style:e.normalizeStyle(m.value)},null,12,Ye)],8,We)),n.showLabel?(e.openBlock(),e.createElementBlock("div",He,e.toDisplayString(o.value)+"%",1)):e.createCommentVNode("",!0)])),e.renderSlot(n.$slots,"default")],64))}}),A=e.defineComponent({__name:"SpicySheet",props:{isRound:{type:Boolean,default:!1},color:{default:""},padding:{default:""},flex:{type:Boolean,default:!1}},setup(r){const i=r,o=e.computed(()=>({backgroundColor:i.color,padding:i.padding}));return(a,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicySheet",{isRound:a.isRound,flex:a.flex}]),style:e.normalizeStyle(o.value)},[e.renderSlot(a.$slots,"default")],6))}}),Ke={class:"spicySlider"},je=["aria-label"],qe=["min","max","step","aria-valuenow","aria-valuemin","aria-valuemax","disabled"],Ue={"aria-live":"polite",class:"hidden"},P=e.defineComponent({__name:"SpicySlider",props:{min:{default:0},max:{default:100},step:{default:1},label:{default:""},modelValue:{default:0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(r,{emit:i}){const o=r,a=i,t=e.computed(()=>Number(o.min)),s=e.computed(()=>Number(o.max)),l=e.computed(()=>Number(o.step)),d=e.computed({get:()=>Number(o.modelValue),set:n=>a("update:modelValue",n)}),m=()=>{a("change",d.value)};return(n,p)=>(e.openBlock(),e.createElementBlock("div",Ke,[n.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicySliderLabel","aria-label":n.label},e.toDisplayString(n.label),9,je)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{name:"spicySliderInput",class:"spicySliderInput",type:"range",min:t.value,max:s.value,step:l.value,"onUpdate:modelValue":p[0]||(p[0]=f=>d.value=f),"aria-valuenow":d.value,"aria-valuemin":t.value,"aria-valuemax":s.value,disabled:n.disabled,onChange:m},null,40,qe),[[e.vModelText,d.value]]),e.createElementVNode("div",Ue,e.toDisplayString(d.value),1),e.renderSlot(n.$slots,"default")]))}}),Ge={class:e.normalizeClass(["spicyTabs"])},Je={class:"spicyTabsHeader"},Qe=["onClick"],Ze={key:0,class:"spicyTabsContent"},R=e.defineComponent({__name:"SpicyTabs",props:{visibleTabs:{default:8},useScrollButtons:{type:Boolean,default:!0},tabs:{}},setup(r){var u;const i=r,o=e.ref(((u=i.tabs[0])==null?void 0:u.name)||""),a=e.ref(null),t=e.ref(!1),s=e.ref(!1),l=()=>{if(a.value){const{scrollLeft:c,scrollWidth:h,clientWidth:B}=a.value;t.value=c>0,s.value=h>B+c}},d=c=>{o.value=c},m=e.computed(()=>{var c;return(c=i.tabs.find(h=>h.name===o.value))==null?void 0:c.name}),n=c=>{if(a.value){const h=c==="left"?-200:200;a.value.scrollBy({left:h,behavior:"smooth"})}},p=()=>{n("left"),l()},f=()=>{n("right"),l()},k=c=>{a.value&&(c.preventDefault(),a.value.scrollLeft+=c.deltaY,l())};return e.onMounted(()=>{l(),window.addEventListener("resize",l)}),e.onUnmounted(()=>{window.removeEventListener("resize",l)}),e.watch(()=>{var c;return(c=a.value)==null?void 0:c.scrollLeft},l),(c,h)=>(e.openBlock(),e.createElementBlock("div",Ge,[e.createElementVNode("div",Je,[t.value&&c.useScrollButtons?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyOverflowButton left",onClick:p}," ‹ ")):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"tabsWrapperRef",ref:a,class:"tabsWrapper",onWheel:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.tabs,B=>(e.openBlock(),e.createElementBlock("button",{key:B.name,class:e.normalizeClass(["spicyTabButton",{active:o.value===B.name}]),onClick:C=>d(B.name)},e.toDisplayString(B.label),11,Qe))),128))],544),s.value&&c.useScrollButtons?(e.openBlock(),e.createElementBlock("button",{key:1,class:"spicyOverflowButton right",onClick:f}," › ")):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",Ze,[e.renderSlot(c.$slots,m.value)])):e.createCommentVNode("",!0)]),_:3})]))}}),xe=["value","name"],O=e.defineComponent({__name:"SpicyTextArea",props:{border:{default:"1px solid var(--skBorderColor, #515353)"},isRound:{type:Boolean,default:!1},padding:{default:"8px"},color:{default:"#4e4e4e"},modelValue:{default:""},name:{default:""}},emits:["update:modelValue"],setup(r,{emit:i}){const o=r,a=e.computed(()=>({borderRadius:o.isRound?"16px":"2px",border:o.border,padding:o.padding,backgroundColor:o.color})),t=i,s=l=>{t("update:modelValue",l.target.value)};return(l,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("textarea",e.mergeProps({class:"spicyTextArea",value:l.modelValue,onInput:s,name:l.name,style:a.value},l.$attrs),null,16,xe),e.renderSlot(l.$slots,"default")],64))}}),ve=["aria-label"],et={class:"spicyInputContainer"},tt={key:0,class:"spicyInputPrefix"},ot=["placeholder","autofocus","aria-label","aria-invalid","aria-describedby"],lt=["id"],W=e.defineComponent({__name:"SpicyTextField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},error:{default:""},variant:{default:"outlined"},prefix:{default:""},autofocus:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1}},emits:["update:modelValue","input","blur","focus"],setup(r,{emit:i}){const o=i,a=r,t=e.ref(a.modelValue),s=e.ref(!1),l=e.computed(()=>a.error?"spicyInputError":void 0);e.watch(()=>a.modelValue,f=>{t.value=f}),e.onMounted(()=>{if(a.autofocus){const f=document.querySelector('input[name="spicyInput"]');f==null||f.focus()}});const d=f=>{const k=f.target;t.value=k.value,o("update:modelValue",t.value),o("input",t.value)},m=()=>{s.value=!1,o("blur")},n=()=>{s.value=!0,o("focus")},p=()=>{t.value="",o("update:modelValue",t.value)};return(f,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyInputWrapper",[f.variant,{hasValue:t.value,hasFocus:s.value,hasError:f.error}]])},[e.createElementVNode("label",{class:"spicyInputLabel","aria-label":f.label},e.toDisplayString(f.label),9,ve),e.createElementVNode("div",et,[f.prefix?(e.openBlock(),e.createElementBlock("span",tt,e.toDisplayString(f.prefix),1)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{type:"text",name:"spicyInput",class:e.normalizeClass(["spicyInput",f.variant]),"onUpdate:modelValue":k[0]||(k[0]=u=>t.value=u),placeholder:f.placeholder,autofocus:f.autofocus,onInput:d,onBlur:m,onFocus:n,"aria-label":f.label,"aria-invalid":!!f.error,"aria-describedby":l.value,ref:"input"},null,42,ot),[[e.vModelText,t.value]]),f.clearable&&t.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"clearButton",onClick:p},"X")):e.createCommentVNode("",!0)]),e.renderSlot(f.$slots,"default"),f.error?(e.openBlock(),e.createElementBlock("span",{key:0,id:l.value,class:"spicyInputError"},e.toDisplayString(f.error),9,lt)):e.createCommentVNode("",!0)],2))}}),nt=["for"],at=["id","tabindex","aria-label","aria-checked","aria-disabled","onKeydown"],X=e.defineComponent({__name:"SpicyToggle",props:{modelValue:{type:Boolean,default:!1},label:{default:""},variant:{default:"filled"},borderColor:{default:""},activeColor:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(r,{emit:i}){const o=e.computed(()=>`${a.label||"toggle"}_spicyToggle`),a=r,t=e.computed(()=>({"--skBorderColor":a.borderColor,"--activeColor":a.activeColor})),s=i,l=()=>{a.disabled||s("update:modelValue",!a.modelValue)};return(d,m)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["spicyToggleLabel",{disabled:d.disabled}]),for:`${d.label||"toggle"}_spicyToggle`},[e.createTextVNode(e.toDisplayString(d.label)+" ",1),e.createElementVNode("div",e.mergeProps({class:["spicyToggle",{outlined:d.variant==="outlined",isActive:d.modelValue}],id:o.value,tabindex:d.disabled?-1:0,role:"switch",style:{...t.value},"aria-label":d.label||"Toggle Switch","aria-checked":d.modelValue,"aria-disabled":d.disabled,onClick:l,onKeydown:[e.withKeys(e.withModifiers(l,["prevent"]),["space"]),e.withKeys(e.withModifiers(l,["prevent"]),["enter"])]},d.$attrs),m[0]||(m[0]=[e.createElementVNode("div",{class:"spicyToggleKnob"},null,-1)]),16,at)],10,nt))}}),st=["aria-hidden"],it={key:0,class:"spicyTooltipIcon"},rt=["aria-label"],ct={key:2,class:"spicyTooltipIcon"},Y=e.defineComponent({__name:"SpicyTooltip",props:{text:{default:""},prependIcon:{default:""},appendIcon:{default:""},position:{default:"top"}},setup(r){const i=r,o=e.ref(!1),a=e.ref(null),t=e.reactive({position:"fixed",top:"0px",left:"0px",maxWidth:"175px"}),s=n=>{const p=n.right-window.innerWidth;p>0&&(t.left=`${parseInt(t.left)-p-5}px`),n.left<0&&(t.left="5px")},l={top:(n,p)=>{t.left=`${n.left+(n.width-p.width)/2}px`,t.top=`${n.top-p.height-5}px`},bottom:(n,p)=>{t.left=`${n.left+(n.width-p.width)/2}px`,t.top=`${n.bottom+5}px`},left:(n,p)=>{t.left=`${n.left-p.width-5}px`,t.top=`${n.top+(n.height-p.height)/2}px`},right:(n,p)=>{t.left=`${n.right+5}px`,t.top=`${n.top+(n.height-p.height)/2}px`}},d=()=>{o.value=!0,e.nextTick(()=>{if(a.value&&o.value){const n=a.value.getBoundingClientRect(),p=a.value.querySelector(".spicyTooltip");if(p){const f=p.getBoundingClientRect(),k=l[i.position];k(n,f),s(f)}}})},m=()=>{o.value=!1};return(n,p)=>(e.openBlock(),e.createElementBlock("div",{onMouseover:d,onMouseleave:m,ref_key:"host",ref:a},[e.renderSlot(n.$slots,"default"),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyTooltip",style:e.normalizeStyle(t),role:"tooltip","aria-hidden":!o.value},[n.prependIcon?(e.openBlock(),e.createElementBlock("span",it,e.toDisplayString(n.prependIcon),1)):e.createCommentVNode("",!0),n.text?(e.openBlock(),e.createElementBlock("span",{key:1,class:"spicyTooltipText","aria-label":n.text},e.toDisplayString(n.text),9,rt)):e.createCommentVNode("",!0),n.appendIcon?(e.openBlock(),e.createElementBlock("span",ct,e.toDisplayString(n.appendIcon),1)):e.createCommentVNode("",!0)],12,st)):e.createCommentVNode("",!0)],544))}}),dt=["aria-expanded"],pt={key:0,class:"spicyToggleIcon"},mt=["width","height"],ft=["d"],yt={key:1,role:"group"},$=e.defineComponent({__name:"SpicyTreeNode",props:{node:{}},setup(r){const i=r,o=e.ref(!1),a=e.computed(()=>i.node.children&&i.node.children.length>0),t=()=>{a.value&&(o.value=!o.value)};return(s,l)=>{const d=e.resolveComponent("SpicyTreeNode",!0);return e.openBlock(),e.createElementBlock("li",{class:"spicyTreeNodeItem",role:"treeitem","aria-expanded":o.value},[e.createElementVNode("div",{onClick:t,style:{cursor:"pointer"}},[e.createElementVNode("span",null,e.toDisplayString(s.node.label),1),a.value?(e.openBlock(),e.createElementBlock("span",pt,e.toDisplayString(o.value?"-":"+"),1)):e.createCommentVNode("",!0)]),s.node.icon?(e.openBlock(),e.createElementBlock("svg",{key:0,width:s.node.iconSize,height:s.node.iconSize,class:"spicyTreeNodeIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:s.node.icon},null,8,ft)],8,mt)):e.createCommentVNode("",!0),o.value&&s.node.children?(e.openBlock(),e.createElementBlock("ul",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.node.children,m=>(e.openBlock(),e.createBlock(d,{key:m.id,node:m},null,8,["node"]))),128))])):e.createCommentVNode("",!0)],8,dt)}}}),ut={class:"spicyTree"},ht={role:"tree"},H=e.defineComponent({__name:"SpicyTree",props:{nodes:{}},setup(r){return(i,o)=>(e.openBlock(),e.createElementBlock("div",ut,[e.createElementVNode("ul",ht,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.nodes,a=>(e.openBlock(),e.createBlock($,{class:"spicyTreeNode",key:a.id,node:a},null,8,["node"]))),128))])]))}}),K={mounted(r,i){const{axis:o}=i.value||{};r.style.position="relative",r.style.cursor="move";let a,t;const s=(u,c)=>{const h=r.getBoundingClientRect();let B=u-a,C=c-t;o!=="y"&&(r.style.left=`${B-h.left+parseFloat(getComputedStyle(r).left||"0")}px`),o!=="x"&&(r.style.top=`${C-h.top+parseFloat(getComputedStyle(r).top||"0")}px`)},l=u=>{s(u.pageX,u.pageY)};let d=!1;const m=u=>{const c=u.touches[0];c&&(d=!0,s(c.pageX,c.pageY),u.preventDefault())},n=()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",n),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",n),d&&(d=!1)},p=u=>{const c=r.getBoundingClientRect();a=u.pageX-c.left,t=u.pageY-c.top,document.addEventListener("mousemove",l),document.addEventListener("mouseup",n)},f=u=>{if(u.touches.length!==1)return;const c=u.touches[0];if(!c)return;const h=r.getBoundingClientRect();a=c.pageX-h.left,t=c.pageY-h.top,d=!1,document.addEventListener("touchmove",m),document.addEventListener("touchend",n),u.preventDefault()};r.addEventListener("mousedown",p),r.addEventListener("touchstart",f);const k=r;k._cleanup=()=>{k.removeEventListener("mousedown",p),k.removeEventListener("touchstart",f),document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",n),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",n)}},unmounted(r){const i=r;i._cleanup&&i._cleanup()}},j={beforeMount(r){r.style.position="relative",r.style.overflow="hidden";const i=(t,s)=>{const l=document.createElement("span"),d=Math.max(r.clientWidth,r.clientHeight),m=d/2;l.style.width=l.style.height=`${d}px`,l.style.left=`${t-r.getBoundingClientRect().left-m}px`,l.style.top=`${s-r.getBoundingClientRect().top-m}px`,l.classList.add("spicyRipple");const n=r.querySelector(".spicyRipple");n&&n.remove(),r.appendChild(l),l.addEventListener("animationend",()=>{l.remove()})},o=t=>{let s=0,l=0;if(t instanceof MouseEvent)s=t.clientX,l=t.clientY;else if(t instanceof TouchEvent){const d=t.touches[0];s=d.clientX,l=d.clientY}i(s,l)};r.getAttribute("data-no-ripple")!==null||(r.addEventListener("click",t=>{requestAnimationFrame(()=>o(t))}),r.addEventListener("touchstart",t=>{requestAnimationFrame(()=>o(t))}))}},kt={SpicyAccordion:V,SpicyAlert:_,SpicyBtn:N,SpicyCarousel:T,SpicyDialog:D,SpicyDivider:I,SpicyDropdown:z,SpicyFileInput:M,SpicyModal:L,SpicyProgress:F,SpicySheet:A,SpicySlider:P,SpicyTabs:R,SpicyTextArea:O,SpicyTextField:W,SpicyToggle:X,SpicyTooltip:Y,SpicyTree:H,SpicyTreeNode:$},gt={spicyDrag:K,spicyRipple:j},Bt={install(r,i={}){const{useComponents:o=!0,useStyles:a=!0,useDirectives:t=!0}=i;o&&Object.entries(kt).forEach(([s,l])=>{r.component(s,l)}),a&&Promise.resolve().then(()=>Ct).then(s=>{const l=document.createElement("style");l.id="SpicyStyles",l.textContent=s.default,document.head.appendChild(l)}),t&&(Object.entries(gt).forEach(([s,l])=>{r.directive(s,l)}),Promise.resolve().then(()=>bt).then(s=>{const l=document.createElement("style");l.id="SpicyRippleStyles",l.textContent=s.default,document.head.appendChild(l)}))}},Ct=Object.freeze(Object.defineProperty({__proto__:null,default:':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--skFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;--skFontSize: 1rem;--skFontWeight: 500;--skBorderRadius: 4px}.spicyText{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:var(--skFontSize)}.spicyHeader{color:var(--skTextColor);font-family:var(--skFontFamily);font-size:24px;font-weight:700}.spicyLink:hover{color:var(--skHoverColor)}.spicyLink:active{color:var(--skPrimaryColor)}.spicyLink:focus{color:var(--skPrimaryColor)}.spicyLink:disabled{opacity:.3}'},Symbol.toStringTag,{value:"Module"})),bt=Object.freeze(Object.defineProperty({__proto__:null,default:".spicyRipple{position:absolute;border-radius:50%;background:currentColor;transform:scale(0);animation:spicy-ripple-animation .6s linear;pointer-events:none;z-index:1}@keyframes spicy-ripple-animation{to{transform:scale(4);opacity:0}}"},Symbol.toStringTag,{value:"Module"}));y.SpicyAccordion=V,y.SpicyAlert=_,y.SpicyBtn=N,y.SpicyCarousel=T,y.SpicyDialog=D,y.SpicyDivider=I,y.SpicyDropdown=z,y.SpicyFileInput=M,y.SpicyKatsu=Bt,y.SpicyModal=L,y.SpicyProgress=F,y.SpicySheet=A,y.SpicySlider=P,y.SpicyTabs=R,y.SpicyTextArea=O,y.SpicyTextField=W,y.SpicyToggle=X,y.SpicyTooltip=Y,y.SpicyTree=H,y.SpicyTreeNode=$,y.spicyDrag=K,y.spicyRipple=j,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.spicyAccordion{border:1px solid #ddd;border-radius:4px;overflow:hidden}.spicyAccordionItem{border-bottom:1px solid #ddd}.spicyAccordionItem:last-child{border-bottom:none}.spicyAccordionHeader{background-color:#f5f5f5;border:none;padding:10px;text-align:left;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.spicyAccordionHeader.open{background-color:#e0e0e0}.spicyAccordionHeader.open .accordionArrow{transform:rotate(180deg)}.spicyAccordionContent{padding:10px;background-color:#fff}.accordionToggle{display:flex;align-items:center;transition:transform .2s ease}.accordionArrow{width:20px;height:20px;transition:transform .2s}.spicyAlert{display:flex;align-items:center;gap:10px;padding:12px;border-radius:4px}.spicyAlert.info{background-color:#e0e0e0;color:#333}.spicyAlert.success{background-color:#a3ffb7;color:#155724}.spicyAlert.warning{background-color:#ffecaf;color:#856404}.spicyAlert.error{background-color:#ffbdc2;color:#911f2a}.spicyAlertIcon{width:24px;height:24px}.spicyAlertContainer{display:flex;flex-direction:column}.spicyAlertCloseBtn{margin-left:auto;background:none;border:none;cursor:pointer;width:20px;height:20px}.spicyAlertCloseBtn svg{width:20px;height:20px}.fade-enter-active,.fade-leave-active{transition:opacity .35s}.spicyBtn{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 16px;gap:4px;border:none;border-radius:4px;cursor:pointer;color:var(--skTextColor, #ddd);background-color:var(--skBgColor, #28292a);font-size:var(--skFontSize, 16px);font-weight:var(--skFontWeight, 500);transition:background-color .25s}.spicyBtn.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyBtn.disabled{opacity:.5;cursor:not-allowed}.spicyBtn:hover:not(.disabled){background-color:var(--hoverColor, grey)}.spicyBtn.isRound{border-radius:50px;padding:12px}.spicyBtn.large{padding:12px 24px;font-size:22px}.spicyBtn.large.isRound{padding:16px}.spicyBtn.large .spicyBtnIcon{width:40px}.spicyBtn .spicyBtnIcon{width:30px}.spicyCarouselWrapper{position:relative;width:var(--width, 580px);height:var(--height, 360px);padding:30px;display:flex;align-items:center;justify-content:center}.spicyCarouselWrapper .spicyCarouselTitle{position:absolute;top:0;width:var(--width, 580px);background-color:#0009;height:30px;color:#ccc;font-size:18px;font-weight:700}.spicyCarouselWrapper .spicyCarouselContainer{position:relative;overflow:hidden;width:100%;height:100%;border-radius:var(--borderRadius);background-color:#0009}.spicyCarouselWrapper .spicyCarouselSlide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .3s ease}.spicyCarouselWrapper .spicyCarouselTextOverlay{position:absolute;bottom:10px;left:10px;background-color:#000000bf;padding:10px;color:#ccc;font-size:18px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);border-radius:4px}.spicyCarouselWrapper .spicyCarouselTextOverlay.fullScreen{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#0000004d}.spicyCarouselWrapper .spicyCarouselNavControls{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn,.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn{border:none;font-size:24px;color:#ccc;cursor:pointer;background:#0009;height:100%;width:30px;display:flex;align-items:center;justify-content:center;transition:transform .3s;pointer-events:auto;z-index:2}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn:hover,.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn:hover{background:var(--skPrimaryColor)}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn{border-radius:6px 0 0 6px}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn{border-radius:0 6px 6px 0}.spicyCarouselWrapper .spicyCarouselPagination{position:absolute;background:#0009;bottom:0;left:50%;height:30px;width:var(--width, 580px);transform:translate(-50%);display:flex;gap:8px;z-index:2;align-items:center;justify-content:center;pointer-events:auto}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn{border:none;color:#fff;cursor:pointer;background:#00b7ff80;height:26px;width:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn.active{background:var(--activeColor, var(--skPrimaryColor))}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn:hover{background:var(--skPrimaryColor)}.spicyCarouselWrapper .pointCursor{cursor:pointer}.spicyCarouselWrapper .slide-enter-active,.spicyCarouselWrapper .slide-leave-active{transition:opacity .3s}.spicyCarouselWrapper .slide-enter,.spicyCarouselWrapper .slide-leave-to{opacity:0}.spicyDialogOverlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:2000}.spicyDialog{padding:16px;border-radius:8px;width:100%}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .3s ease}.dialog-fade-enter,.dialog-fade-leave-to{opacity:0}.spicyDropdown{position:relative;display:inline-block}.spicyDropdownButton{background-color:var(--skBgColor);color:#fff;padding:10px 16px;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center}.spicyDropdownButton .arrow{margin-left:8px;transition:transform .3s ease}.spicyDropdownButton .arrow.open{transform:rotate(180deg)}.dropdownIcon{margin-right:8px}.spicyDropdownMenu{position:absolute;top:100%;background-color:#fff;box-shadow:0 4px 8px #0000001a;z-index:1;padding:10px;border-radius:4px}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter,.fade-leave-to{opacity:0}.spicyFileInputWrapper{display:flex;flex-direction:column;position:relative;border:2px dashed var(--skBorderColor, #515353);padding:16px;border-radius:8px;width:250px;cursor:pointer}.spicyFileInputWrapper.isDragging{background-color:#0000000d;border-color:var(--skPrimaryColor)}.spicyFileInputLabel{font-size:16px;color:var(--textColor, var(--skTextColor));-webkit-user-select:none;user-select:none;cursor:pointer}.spicyFileInput{display:none}.spicyFilePreview{display:flex;flex-direction:column;gap:4px}.spicyFilePreviewItem{display:flex;justify-content:space-between;align-items:center;padding:8px;border:1px solid var(--skBorderColor, #515353);border-radius:4px;font-size:14px;position:relative;max-width:100%}.spicyFilePreviewItem span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:90%}.removeButton{background:none;border:none;cursor:pointer;color:red;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.removeButtonMDI{width:24px;height:24px}.clearAllButton{background:none;border:none;font-size:16px;margin-top:8px;cursor:pointer;color:var(--skPrimaryColor)}.spicyFileInputError{color:red;font-size:12px;margin-top:8px}.spicyModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.spicyModal{padding:20px;box-shadow:0 0 6px 2px #0003;transition:transform .3s ease-out;font-size:15px;border-radius:var(--skBorderRadius);background-color:var(--skBgColor);z-index:1001}.spicyModalHeader{text-align:center;font-size:20px;font-weight:700}.spicyModalActions{margin-top:20px;text-align:right}.spicyModalActionBtn{background-color:transparent;border:none;color:var(--skTextColor, #ddd);cursor:pointer}.spicyModalActionBtn:hover{text-decoration:underline}.spicyProgress{width:100%;background-color:#e0e0e0;border-radius:4px;overflow:hidden;position:relative}.spicyProgressBar{transition:width .4s ease}.spicyProgressLabel{position:absolute;top:0;right:10px;font-size:12px;color:#fff}.spicyProgressCircular{position:relative;display:flex;justify-content:center;align-items:center}.spicyCircularSvg{transform:rotate(-90deg);background-color:#00000080;border-radius:50%}.spicyCircularTrack{fill:none;stroke:#e0e0e0}.spicyCircularProgress{fill:none;transition:stroke-dashoffset .4s ease}.spicyCircularLabel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px}.spicySheet{padding:8px}.spicySheet.isRound{border-radius:8px}.spicySheet.flex{display:flex;flex-direction:column}.spicySlider{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.spicySliderLabel{margin-bottom:5px;font-size:16px}.spicySliderInput{width:100%}.spicyTabs{display:flex;flex-direction:column;position:relative;width:inherit;background-color:var(--skBgColor)}.spicyTabsHeader{display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--skBgSecondaryColor)}.spicyOverflowButton{background:none;border:none;cursor:pointer;font-size:18px;padding:0 10px;color:var(--skTextColor);background-color:var(--skBgColor);transition:color .25s;top:0;height:100%;flex-shrink:0}.spicyOverflowButton.left{left:0}.spicyOverflowButton.right{right:0}.tabsWrapper{flex:1;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.tabsWrapper::-webkit-scrollbar{display:none}.spicyTabButton{background:none;border:none;cursor:pointer;padding:10px;font-size:16px;color:var(--skTextColor);transition:color .25s;flex-shrink:0}.spicyTabButton.active{font-weight:700;color:var(--skPrimaryColor)}.spicyTabsContent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:4px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.SpicyTextArea{width:100%;font-size:16px;resize:vertical;box-sizing:border-box;color:#eee}.SpicyTextArea::placeholder{color:#ebff7a}.SpicyTextArea:focus{outline:none;border-color:var(--skBorderColor, #515353)}.SpicyTextArea:disabled{opacity:.5}.SpicyTextArea:disabled::placeholder{color:#969696}.spicyInputWrapper{display:flex;flex-direction:column;position:relative;width:100%}.spicyInputWrapper .spicyInput:focus{outline:none;border-color:var(--skPrimaryColor)}.spicyInputLabel{position:absolute;top:10px;left:16px;color:var(--skTextColor);transition:top .25s,font-size .25s,color .25s}.spicyInputContainer{display:flex;align-items:center;position:relative;width:100%}.spicyInputPrefix{color:var(--skTextColor);pointer-events:none}.spicyInput{flex:1;padding:10px;border:none;border-bottom:1px solid var(--skBorderColor, #515353);font-size:16px;width:100%;box-sizing:border-box;transition:border-color .25s;background-color:transparent;color:var(--skTextColor)}.clearButton{background:none;border:none;font-size:16px;cursor:pointer;color:red}.outlined .spicyInput{border:1px solid var(--skBorderColor, #515353);border-radius:4px}.filled .spicyInput{border:none;border-bottom:1px solid var(--skBorderColor, #515353)}.text .spicyInput{border:none}.hasValue .spicyInputLabel,.hasFocus .spicyInputLabel{top:-18px;font-size:16px;color:var(--skPrimaryColor);font-weight:700}.hasError .spicyInput{border-color:red}.spicyInputError{color:red;font-size:12px}.spicyToggleLabel{display:inline-flex;align-items:center;flex-direction:column;font-size:14px;gap:4px}.spicyToggleLabel.disabled .spicyToggle{cursor:not-allowed;opacity:.6}.spicyToggle{width:50px;height:24px;background-color:var(--skBgSecondaryColor, #424344);border-radius:30px;cursor:pointer;padding:2px;transition:background-color .2s;display:inline-flex;align-items:center;outline:none}.spicyToggle.isActive{background-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle.isActive .spicyToggleKnob{transform:translate(30px)}.spicyToggle.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyToggle.outlined.isActive{background-color:var(--activeColor, var(--skPrimaryColor));border-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle:focus{box-shadow:0 0 0 2px #0003}.spicyToggle.disabled{pointer-events:none}.spicyToggle:hover{background-color:var(--hoverColor, #555)}.spicyToggleKnob{width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px #0003}.spicyTooltip{z-index:9999;background-color:var(--skBgColor);color:var(--skTextColor);padding:8px;border-radius:4px;font-size:15px;border:1px solid var(--skBorderColor);display:flex;align-items:center;justify-content:center}.spicyTooltipIcon{font-size:18px}.spicyTreeNodeIcon{width:24px;height:24px;margin-right:8px}.spicyToggleIcon{font-size:14px;margin-left:10px}.spicyTreeNodeItem{list-style:none;margin-left:16px}.spicyTree ul{list-style-type:none;padding-left:20px;margin:0}.spicyTree li{margin:5px 0;position:relative}.spicyTreeNode{cursor:pointer;transition:background-color .3s}.spicyTreeNode:focus-within{outline:2px solid #007bff}
|
|
1
|
+
.spicyAccordion{border:1px solid #ddd;border-radius:4px;overflow:hidden}.spicyAccordionItem{border-bottom:1px solid #ddd}.spicyAccordionItem:last-child{border-bottom:none}.spicyAccordionHeader{background-color:#f5f5f5;border:none;padding:10px;text-align:left;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.spicyAccordionHeader.open{background-color:#e0e0e0}.spicyAccordionHeader.open .accordionArrow{transform:rotate(180deg)}.spicyAccordionContent{padding:10px;background-color:#fff}.accordionToggle{display:flex;align-items:center;transition:transform .2s ease}.accordionArrow{width:20px;height:20px;transition:transform .2s}.spicyAlert{display:flex;align-items:center;gap:10px;padding:12px}.spicyAlert.info{background-color:#e0e0e0;color:#333}.spicyAlert.success{background-color:#a3ffb7;color:#155724}.spicyAlert.warning{background-color:#ffecaf;color:#856404}.spicyAlert.error{background-color:#ffbdc2;color:#911f2a}.spicyAlert.spicyAlertRound{border-radius:8px}.spicyAlertIcon{width:24px;height:24px}.spicyAlertContainer{display:flex;flex-direction:column}.spicyAlertCloseBtn{margin-left:auto;background:none;border:none;cursor:pointer;width:20px;height:20px}.spicyAlertCloseBtn svg{width:20px;height:20px}.fade-enter-active,.fade-leave-active{transition:opacity .35s}.spicyBtn{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 16px;gap:4px;border:none;border-radius:4px;cursor:pointer;color:var(--skTextColor, #ddd);background-color:var(--skBgColor, #28292a);font-size:var(--skFontSize, 16px);font-weight:var(--skFontWeight, 500);transition:background-color .25s}.spicyBtn.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyBtn.disabled{opacity:.3;cursor:not-allowed}.spicyBtn:hover:not(.disabled){background-color:var(--hoverColor, grey)}.spicyBtn.isRound{border-radius:50px;padding:12px}.spicyBtn.large{padding:12px 24px;font-size:22px}.spicyBtn.large.isRound{padding:16px}.spicyBtn.large .spicyBtnIcon{width:40px}.spicyBtn .spicyBtnIcon{width:30px}.spicyCarouselWrapper{position:relative;width:var(--width, 580px);height:var(--height, 360px);padding:30px;display:flex;align-items:center;justify-content:center}.spicyCarouselWrapper .spicyCarouselTitle{position:absolute;top:0;width:var(--width, 580px);background-color:#0009;height:30px;color:#ccc;font-size:18px;font-weight:700}.spicyCarouselWrapper .spicyCarouselContainer{position:relative;overflow:hidden;width:100%;height:100%;border-radius:var(--borderRadius);background-color:#0009}.spicyCarouselWrapper .spicyCarouselSlide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .3s ease}.spicyCarouselWrapper .spicyCarouselTextOverlay{position:absolute;bottom:10px;left:10px;background-color:#000000bf;padding:10px;color:#ccc;font-size:18px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);border-radius:4px}.spicyCarouselWrapper .spicyCarouselTextOverlay.fullScreen{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;background-color:#0000004d}.spicyCarouselWrapper .spicyCarouselNavControls{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn,.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn{border:none;font-size:24px;color:#ccc;cursor:pointer;background:#0009;height:100%;width:30px;display:flex;align-items:center;justify-content:center;transition:transform .3s;pointer-events:auto;z-index:2}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn:hover,.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn:hover{background:var(--skPrimaryColor)}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselPrevBtn{border-radius:6px 0 0 6px}.spicyCarouselWrapper .spicyCarouselNavControls .spicyCarouselNextBtn{border-radius:0 6px 6px 0}.spicyCarouselWrapper .spicyCarouselPagination{position:absolute;background:#0009;bottom:0;left:50%;height:30px;width:var(--width, 580px);transform:translate(-50%);display:flex;gap:8px;z-index:2;align-items:center;justify-content:center;pointer-events:auto}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn{border:none;color:#fff;cursor:pointer;background:#00b7ff80;height:26px;width:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn.active{background:var(--activeColor, var(--skPrimaryColor))}.spicyCarouselWrapper .spicyCarouselPagination .spicyCarouselPageBtn:hover{background:var(--skPrimaryColor)}.spicyCarouselWrapper .pointCursor{cursor:pointer}.spicyCarouselWrapper .slide-enter-active,.spicyCarouselWrapper .slide-leave-active{transition:opacity .3s}.spicyCarouselWrapper .slide-enter,.spicyCarouselWrapper .slide-leave-to{opacity:0}.spicyDialogOverlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:2000}.spicyDialog{padding:16px;border-radius:8px;width:100%}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .3s ease}.dialog-fade-enter,.dialog-fade-leave-to{opacity:0}.spicyDropdown{position:relative;display:inline-block}.spicyDropdownButton{background-color:var(--skBgColor);color:#fff;padding:10px 16px;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center}.spicyDropdownButton .arrow{margin-left:8px;transition:transform .3s ease}.spicyDropdownButton .arrow.open{transform:rotate(180deg)}.dropdownIcon{margin-right:8px}.spicyDropdownMenu{position:absolute;top:100%;background-color:#fff;box-shadow:0 4px 8px #0000001a;z-index:1;padding:10px;border-radius:4px}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter,.fade-leave-to{opacity:0}.spicyFileInputWrapper{display:flex;flex-direction:column;position:relative;border-radius:8px;cursor:pointer;border-width:2px;max-width:100%}.spicyFileInputWrapper.isDragging{background-color:#0000000d;border-color:var(--skPrimaryColor)}.spicyFileInputWrapper.disabled{pointer-events:none;opacity:.3;cursor:not-allowed}.spicyFileInputWrapper.hasError{border-color:red}.spicyFileInputWrapper.solid{border-style:solid}.spicyFileInputWrapper.dashed{border-style:dashed}.spicyFileInputWrapper.plain{border-style:none}.spicyFileInputLabel{font-size:16px;margin:8px;padding:8px;color:var(--skTextColor, #ddd);-webkit-user-select:none;user-select:none;cursor:pointer}.spicyFileInput{display:none}.spicyFilePreviewItem{display:flex;justify-content:space-between;align-items:center;padding:8px;margin:8px;color:var(--skTextColor);border:1px solid var(--skBorderColor);border-radius:4px;position:relative}.spicyFilePreviewItem:hover{border-color:var(--skPrimaryColor)}.spicyFilePreviewItem span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:90%}.removeButton{background:none;border:none;cursor:pointer;color:red;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.removeButtonMDI{width:24px;height:24px}.clearAllButton{background:none;border:none;font-size:16px;margin-top:8px;cursor:pointer;color:var(--skPrimaryColor)}.spicyFileInputError{color:red;font-size:12px;margin-top:8px}.spicyModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.spicyModal{padding:20px;box-shadow:0 0 6px 2px #0003;transition:transform .3s ease-out;font-size:15px;border-radius:var(--skBorderRadius);background-color:var(--skBgColor);z-index:1001}.spicyModalHeader{text-align:center;font-size:20px;font-weight:700}.spicyModalActions{margin-top:20px;text-align:right}.spicyModalActionBtn{background-color:transparent;border:none;color:var(--skTextColor, #ddd);cursor:pointer}.spicyModalActionBtn:hover{text-decoration:underline}.spicyProgress{width:100%;background-color:#e0e0e0;border-radius:8px;overflow:hidden;position:relative}.spicyProgressBar{transition:width .4s ease}.spicyProgressLabel{position:absolute;top:0;right:10px;font-size:12px;color:#fff}.spicyProgressCircular{position:relative;display:flex;justify-content:center;align-items:center}.spicyCircularSvg{transform:rotate(-90deg);background-color:#00000080;border-radius:50%}.spicyCircularTrack{fill:none;stroke:#e0e0e0}.spicyCircularProgress{fill:none;transition:stroke-dashoffset .4s ease}.spicyCircularLabel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px}.spicySheet.isRound{border-radius:8px}.spicySheet.flex{display:flex;flex-direction:column}.spicySlider{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.spicySliderLabel{margin-bottom:5px;font-size:16px}.spicySliderInput{width:100%}.hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.spicyTabs{display:flex;flex-direction:column;position:relative;width:inherit;background-color:var(--skBgColor)}.spicyTabsHeader{display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--skBgSecondaryColor)}.spicyOverflowButton{background:none;border:none;cursor:pointer;font-size:18px;padding:0 10px;color:var(--skTextColor);background-color:var(--skBgColor);transition:color .25s;top:0;height:100%;flex-shrink:0}.spicyOverflowButton.left{left:0}.spicyOverflowButton.right{right:0}.tabsWrapper{flex:1;display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.tabsWrapper::-webkit-scrollbar{display:none}.spicyTabButton{background:none;border:none;cursor:pointer;padding:10px;font-size:16px;color:var(--skTextColor);transition:color .25s;flex-shrink:0}.spicyTabButton.active{font-weight:700;color:var(--skPrimaryColor)}.spicyTabsContent{display:flex;flex-direction:column;align-items:center;justify-content:center}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.spicyTextArea{width:100%;font-size:16px;resize:vertical;box-sizing:border-box;color:#eee}.spicyTextArea::placeholder{color:#ebff7a}.spicyTextArea:focus{outline:none;border-color:var(--skBorderColor, #515353)}.spicyTextArea:disabled{opacity:.5}.spicyTextArea:disabled::placeholder{color:#969696}.spicyInputWrapper{display:flex;flex-direction:column;position:relative;width:100%}.spicyInputWrapper .spicyInput:focus{outline:none;border-color:var(--skPrimaryColor)}.spicyInputLabel{position:absolute;top:10px;left:16px;color:var(--skTextColor);transition:top .25s,font-size .25s,color .25s}.spicyInputContainer{display:flex;align-items:center;position:relative;width:100%}.spicyInputPrefix{color:var(--skTextColor);pointer-events:none}.spicyInput{flex:1;padding:10px;border:none;border-bottom:1px solid var(--skBorderColor, #515353);font-size:16px;width:100%;box-sizing:border-box;transition:border-color .25s;background-color:transparent;color:var(--skTextColor)}.clearButton{background:none;border:none;font-size:16px;cursor:pointer;color:red}.outlined .spicyInput{border:1px solid var(--skBorderColor, #515353);border-radius:4px}.filled .spicyInput{border:none;border-bottom:1px solid var(--skBorderColor, #515353)}.text .spicyInput{border:none}.hasValue .spicyInputLabel,.hasFocus .spicyInputLabel{top:-18px;font-size:16px;color:var(--skPrimaryColor);font-weight:700}.hasError .spicyInput{border-color:red}.spicyInputError{color:red;font-size:12px}.spicyToggleLabel{display:inline-flex;align-items:center;flex-direction:column;font-size:14px;gap:4px}.spicyToggleLabel.disabled .spicyToggle{cursor:not-allowed;opacity:.3}.spicyToggle{width:50px;height:24px;background-color:var(--skBgSecondaryColor, #424344);border-radius:30px;cursor:pointer;padding:2px;transition:background-color .2s;display:inline-flex;align-items:center;outline:none}.spicyToggle.isActive{background-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle.isActive .spicyToggleKnob{transform:translate(30px)}.spicyToggle.outlined{background-color:transparent;border:2px solid var(--skBorderColor, #515353)}.spicyToggle.outlined.isActive{background-color:var(--activeColor, var(--skPrimaryColor));border-color:var(--activeColor, var(--skPrimaryColor))}.spicyToggle:focus{box-shadow:0 0 0 2px #0003}.spicyToggle.disabled{pointer-events:none}.spicyToggle:hover{background-color:var(--hoverColor, #555)}.spicyToggleKnob{width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 2px 4px #0003}.spicyTooltip{z-index:9999;background-color:var(--skBgColor);color:var(--skTextColor);padding:8px;border-radius:4px;font-size:15px;border:1px solid var(--skBorderColor);display:flex;align-items:center;justify-content:center}.spicyTooltipIcon{font-size:18px}.spicyTreeNodeIcon{width:24px;height:24px;margin-right:8px}.spicyToggleIcon{font-size:14px;margin-left:10px}.spicyTreeNodeItem{list-style:none;margin-left:16px}.spicyTree ul{list-style-type:none;padding-left:20px;margin:0}.spicyTree li{margin:5px 0;position:relative}.spicyTreeNode{cursor:pointer;transition:background-color .3s}.spicyTreeNode:focus-within{outline:2px solid #007bff}
|
|
@@ -5,7 +5,9 @@ interface SpicyFileInputProps {
|
|
|
5
5
|
accept?: string;
|
|
6
6
|
multiple?: boolean;
|
|
7
7
|
clearable?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
8
9
|
mdi?: string;
|
|
10
|
+
variant?: 'solid' | 'dashed' | 'plain';
|
|
9
11
|
}
|
|
10
12
|
declare function __VLS_template(): {
|
|
11
13
|
slots: {
|
|
@@ -28,7 +30,9 @@ declare const __VLS_component: import("vue").DefineComponent<SpicyFileInputProps
|
|
|
28
30
|
}>, {
|
|
29
31
|
error: string;
|
|
30
32
|
label: string;
|
|
33
|
+
variant: "solid" | "dashed" | "plain";
|
|
31
34
|
mdi: string;
|
|
35
|
+
disabled: boolean;
|
|
32
36
|
modelValue: File[];
|
|
33
37
|
accept: string;
|
|
34
38
|
multiple: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
interface SpicySheetProps {
|
|
2
2
|
isRound?: boolean;
|
|
3
3
|
color?: string;
|
|
4
|
+
padding?: string;
|
|
4
5
|
flex?: boolean;
|
|
5
6
|
}
|
|
6
7
|
declare function __VLS_template(): {
|
|
@@ -14,6 +15,7 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
|
14
15
|
declare const __VLS_component: import("vue").DefineComponent<SpicySheetProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SpicySheetProps> & Readonly<{}>, {
|
|
15
16
|
isRound: boolean;
|
|
16
17
|
color: string;
|
|
18
|
+
padding: string;
|
|
17
19
|
flex: boolean;
|
|
18
20
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
21
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
@@ -4,6 +4,7 @@ interface SpicySliderProps {
|
|
|
4
4
|
step?: number;
|
|
5
5
|
label?: string;
|
|
6
6
|
modelValue?: number;
|
|
7
|
+
disabled?: boolean;
|
|
7
8
|
}
|
|
8
9
|
declare function __VLS_template(): {
|
|
9
10
|
slots: {
|
|
@@ -14,11 +15,14 @@ declare function __VLS_template(): {
|
|
|
14
15
|
};
|
|
15
16
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
16
17
|
declare const __VLS_component: import("vue").DefineComponent<SpicySliderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
18
|
+
change: (value: number) => any;
|
|
17
19
|
"update:modelValue": (value: number) => any;
|
|
18
20
|
}, string, import("vue").PublicProps, Readonly<SpicySliderProps> & Readonly<{
|
|
21
|
+
onChange?: ((value: number) => any) | undefined;
|
|
19
22
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
20
23
|
}>, {
|
|
21
24
|
label: string;
|
|
25
|
+
disabled: boolean;
|
|
22
26
|
modelValue: number;
|
|
23
27
|
max: number;
|
|
24
28
|
min: number;
|
|
@@ -23,8 +23,8 @@ declare const __VLS_component: import("vue").DefineComponent<SpicyTextAreaProps,
|
|
|
23
23
|
isRound: boolean;
|
|
24
24
|
modelValue: string;
|
|
25
25
|
color: string;
|
|
26
|
-
border: string;
|
|
27
26
|
padding: string;
|
|
27
|
+
border: string;
|
|
28
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
29
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
30
30
|
export default _default;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Sato",
|
|
6
6
|
"private": false,
|
|
7
|
-
"version": "0.0.
|
|
7
|
+
"version": "0.0.55",
|
|
8
8
|
"main": "dist/spicykatsu.umd.js",
|
|
9
9
|
"module": "dist/spicykatsu.es.js",
|
|
10
10
|
"types": "dist/types/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@vitejs/plugin-vue": "^5.1.4",
|
|
37
37
|
"@vue/runtime-core": "^3.5.8",
|
|
38
38
|
"prettier": "^3.3.3",
|
|
39
|
-
"spicykatsu": "^0.0.
|
|
39
|
+
"spicykatsu": "^0.0.52",
|
|
40
40
|
"typescript": "^5.6.2",
|
|
41
41
|
"vite": "^5.4.7",
|
|
42
42
|
"vitepress": "^1.3.4",
|