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.
@@ -1 +1 @@
1
- .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}.fade-enter,.fade-leave-to{opacity:0}
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:.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}
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: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}
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 B, ref as f, openBlock as a, createElementBlock as t, normalizeClass as _, withModifiers as i, toDisplayString as g, createCommentVNode as u, createElementVNode as h, Fragment as A, renderList as E, renderSlot as L } from "vue";
2
- const S = ["aria-label"], T = ["multiple", "accept"], W = {
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"], N = ["d"], P = {
5
+ }, W = { class: "spicyFilePreviewName" }, $ = ["onClick"], M = ["onClick"], R = ["d"], _ = {
6
6
  key: 3,
7
7
  class: "spicyFileInputError"
8
- }, O = /* @__PURE__ */ B({
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
- mdi: { default: "" }
17
+ disabled: { type: Boolean, default: !1 },
18
+ mdi: { default: "" },
19
+ variant: { default: "dashed" }
18
20
  },
19
21
  emits: ["update:modelValue", "change", "error"],
20
- setup(b, { emit: k }) {
21
- const n = k, p = b, l = f(p.modelValue), s = f(null), d = f(!1), C = (e) => {
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), n("update:modelValue", l.value), n("change", l.value));
24
- }, F = () => {
25
- l.value = [], n("update:modelValue", l.value), s.value && (s.value.value = "");
26
- }, y = (e) => {
27
- l.value.splice(e, 1), n("update:modelValue", l.value), l.value.length === 0 && s.value && (s.value.value = "");
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 = s.value) == null || e.click();
31
- }, I = () => {
32
- d.value = !0;
33
- }, V = () => {
34
- d.value = !1;
35
- }, w = (e) => {
36
- var v;
37
- const o = (v = e.dataTransfer) == null ? void 0 : v.files;
38
- if (o) {
39
- const r = Array.from(o).filter((m) => p.accept ? p.accept.split(",").map((c) => c.trim()).some((c) => c.startsWith(".") ? m.name.endsWith(c) : m.type === c) : !0);
40
- !p.multiple && r.length > 0 ? l.value = [r[0]] : l.value = r, n("update:modelValue", l.value), n("change", l.value);
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: _(["spicyFileInputWrapper", { hasError: e.error, isDragging: d.value }]),
49
+ class: A(["spicyFileInputWrapper", [{ hasError: e.error, isDragging: c.value, disabled: e.disabled, [e.variant]: e.variant }]]),
46
50
  onClick: D,
47
- onDragover: i(I, ["prevent"]),
48
- onDragleave: i(V, ["prevent"]),
49
- onDrop: i(w, ["prevent"])
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
- }, g(e.label), 9, S)) : u("", !0),
56
- h("input", {
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: C,
65
+ onChange: F,
62
66
  ref_key: "fileInput",
63
- ref: s
64
- }, null, 40, T),
65
- l.value.length ? (a(), t("div", W, [
66
- (a(!0), t(A, null, E(l.value, (v, r) => (a(), t("div", {
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
- h("span", null, g(v.name), 1),
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: i((m) => y(r), ["stop"]),
79
+ onClick: u((f) => g(r), ["stop"]),
75
80
  "aria-label": "Remove"
76
- }, " X ", 8, $)) : u("", !0),
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: i((m) => y(r), ["stop"]),
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
- h("path", {
90
+ b("path", {
86
91
  fill: "red",
87
92
  d: e.mdi
88
- }, null, 8, N)
89
- ], 8, M)) : u("", !0)
93
+ }, null, 8, R)
94
+ ], 8, M)) : d("", !0)
90
95
  ]))), 128))
91
- ])) : u("", !0),
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: i(F, ["stop"]),
100
+ onClick: u(C, ["stop"]),
96
101
  "aria-label": "Clear All"
97
- }, " Clear All ")) : u("", !0),
98
- L(e.$slots, "default"),
99
- e.error ? (a(), t("span", P, g(e.error), 1)) : u("", !0)
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
- O as _
109
+ X as _
105
110
  };
@@ -1 +1 @@
1
- .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}
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{padding:8px}.spicySheet.isRound{border-radius:8px}.spicySheet.flex{display:flex;flex-direction:column}
1
+ .spicySheet.isRound{border-radius:8px}.spicySheet.flex{display:flex;flex-direction:column}
@@ -1,23 +1,25 @@
1
- import { defineComponent as s, computed as n, openBlock as r, createElementBlock as a, normalizeClass as c, normalizeStyle as p, renderSlot as u } from "vue";
2
- const i = /* @__PURE__ */ s({
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: "var(--skBgColor)" },
7
- flex: { type: Boolean, default: !0 }
6
+ color: { default: "" },
7
+ padding: { default: "" },
8
+ flex: { type: Boolean, default: !1 }
8
9
  },
9
- setup(o) {
10
- const l = o, t = n(() => ({
11
- backgroundColor: l.color
10
+ setup(l) {
11
+ const o = l, t = a(() => ({
12
+ backgroundColor: o.color,
13
+ padding: o.padding
12
14
  }));
13
- return (e, d) => (r(), a("div", {
14
- class: c(["spicySheet", { isRound: e.isRound, flex: e.flex }]),
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
- u(e.$slots, "default")
19
+ c(e.$slots, "default")
18
20
  ], 6));
19
21
  }
20
22
  });
21
23
  export {
22
- i as _
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 r, computed as d, openBlock as t, createElementBlock as i, toDisplayString as p, createCommentVNode as c, withDirectives as v, createElementVNode as b, vModelText as f, renderSlot as y } from "vue";
2
- const S = { class: "spicySlider" }, V = ["aria-label"], g = ["min", "max", "step", "aria-valuenow", "aria-valuemin", "aria-valuemax"], k = /* @__PURE__ */ r({
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(o, { emit: n }) {
13
- const s = o, m = n, a = d({
14
- get: () => Number(s.modelValue),
15
- set: (e) => m("update:modelValue", e)
16
- });
17
- return (e, l) => (t(), i("div", S, [
18
- e.label ? (t(), i("label", {
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
- }, p(e.label), 9, V)) : c("", !0),
23
- v(b("input", {
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: e.min,
28
- max: e.max,
29
- step: e.step,
30
- "onUpdate:modelValue": l[0] || (l[0] = (u) => a.value = u),
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": e.min,
33
- "aria-valuemax": e.max
34
- }, null, 8, g), [
35
- [f, a.value]
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
- y(e.$slots, "default")
45
+ m("div", C, r(a.value), 1),
46
+ _(e.$slots, "default")
38
47
  ]));
39
48
  }
40
49
  });
41
50
  export {
42
- k as _
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;gap:4px;margin:4px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
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
- .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
+ .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}
@@ -21,7 +21,7 @@ const g = ["value", "name"], x = /* @__PURE__ */ n({
21
21
  };
22
22
  return (e, b) => (s(), p(m, null, [
23
23
  c("textarea", i({
24
- class: "SpicyTextArea",
24
+ class: "spicyTextArea",
25
25
  value: e.modelValue,
26
26
  onInput: d,
27
27
  name: e.name,
@@ -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:.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}
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}
@@ -1,4 +1,4 @@
1
- const o = ':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)}';
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
  };
@@ -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 w } from "./lib/SpicyTabs/SpicyTabs.js";
14
- import { _ as A } from "./lib/SpicyTextArea/SpicyTextArea.js";
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 B } from "./lib/SpicyTree/SpicyTree.js";
19
- import { _ as b } from "./lib/SpicyTreeNode/SpicyTreeNode.js";
20
- const q = {
21
- mounted(e, r) {
22
- const { axis: a } = r.value || {};
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 i, c;
25
- const t = (n, s) => {
24
+ let m, o;
25
+ const i = (n, s) => {
26
26
  const d = e.getBoundingClientRect();
27
- let _ = n - i, S = s - c;
28
- a !== "y" && (e.style.left = `${_ - d.left + parseFloat(getComputedStyle(e).left || "0")}px`), a !== "x" && (e.style.top = `${S - d.top + parseFloat(getComputedStyle(e).top || "0")}px`);
29
- }, o = (n) => {
30
- t(n.pageX, n.pageY);
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 p = !1;
33
- const m = (n) => {
32
+ let c = !1;
33
+ const u = (n) => {
34
34
  const s = n.touches[0];
35
- s && (p = !0, t(s.pageX, s.pageY), n.preventDefault());
36
- }, u = () => {
37
- document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", u), document.removeEventListener("touchmove", m), document.removeEventListener("touchend", u), p && (p = !1);
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
- i = n.pageX - s.left, c = n.pageY - s.top, document.addEventListener("mousemove", o), document.addEventListener("mouseup", u);
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
- i = s.pageX - d.left, c = s.pageY - d.top, p = !1, document.addEventListener("touchmove", m), document.addEventListener("touchend", u), n.preventDefault();
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", o), document.removeEventListener("mouseup", u), document.removeEventListener("touchmove", m), document.removeEventListener("touchend", u);
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 r = e;
56
- r._cleanup && r._cleanup();
55
+ const a = e;
56
+ a._cleanup && a._cleanup();
57
57
  }
58
- }, W = {
58
+ }, q = {
59
59
  beforeMount(e) {
60
60
  e.style.position = "relative", e.style.overflow = "hidden";
61
- const r = (i, c) => {
62
- const t = document.createElement("span"), o = Math.max(e.clientWidth, e.clientHeight), p = o / 2;
63
- t.style.width = t.style.height = `${o}px`, t.style.left = `${i - e.getBoundingClientRect().left - p}px`, t.style.top = `${c - e.getBoundingClientRect().top - p}px`, t.classList.add("spicyRipple");
64
- const m = e.querySelector(".spicyRipple");
65
- m && m.remove(), e.appendChild(t), t.addEventListener("animationend", () => {
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
- }, a = (i) => {
69
- let c = 0, t = 0;
70
- if (i instanceof MouseEvent)
71
- c = i.clientX, t = i.clientY;
72
- else if (i instanceof TouchEvent) {
73
- const o = i.touches[0];
74
- c = o.clientX, t = o.clientY;
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
- r(c, t);
76
+ a(i, t);
77
77
  };
78
- e.addEventListener("click", (i) => {
79
- requestAnimationFrame(() => a(i));
80
- }), e.addEventListener("touchstart", (i) => {
81
- requestAnimationFrame(() => a(i));
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
- }, k = {
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: w,
98
- SpicyTextArea: A,
97
+ SpicyTabs: A,
98
+ SpicyTextArea: w,
99
99
  SpicyTextField: F,
100
100
  SpicyToggle: X,
101
101
  SpicyTooltip: Y,
102
- SpicyTree: B,
103
- SpicyTreeNode: b
104
- }, se = {
105
- install(e, r = {}) {
106
- const { useComponents: a = !0, useStyles: i = !0, useDirectives: c = !0 } = r;
107
- a && Object.entries(k).forEach(([t, o]) => {
108
- e.component(t, o);
109
- }), i && import("./lib/main/main.js").then((t) => {
110
- const o = document.createElement("style");
111
- o.id = "SpicyStyles", o.textContent = t.default, document.head.appendChild(o);
112
- }), c && (e.directive("spicyDrag", q), e.directive("spicyRipple", W), import("./lib/ripple/ripple.js").then((t) => {
113
- const o = document.createElement("style");
114
- o.id = "SpicyRippleStyles", o.textContent = t.default, document.head.appendChild(o);
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
- se as SpicyKatsu,
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
- w as SpicyTabs,
133
- A as SpicyTextArea,
137
+ A as SpicyTabs,
138
+ w as SpicyTextArea,
134
139
  F as SpicyTextField,
135
140
  X as SpicyToggle,
136
141
  Y as SpicyTooltip,
137
- B as SpicyTree,
138
- b as SpicyTreeNode,
139
- q as spicyDrag,
140
- W as spicyRipple
142
+ b as SpicyTree,
143
+ B as SpicyTreeNode,
144
+ N as spicyDrag,
145
+ q as spicyRipple
141
146
  };
@@ -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.54",
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.51",
39
+ "spicykatsu": "^0.0.52",
40
40
  "typescript": "^5.6.2",
41
41
  "vite": "^5.4.7",
42
42
  "vitepress": "^1.3.4",