spicykatsu 0.0.52 → 0.0.53

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,23 +1,27 @@
1
- import { defineComponent as d, ref as p, watch as u, openBlock as t, createBlock as y, Transition as f, withCtx as m, createElementBlock as o, normalizeClass as h, withKeys as k, toDisplayString as n, createCommentVNode as l, createElementVNode as i, renderSlot as w } from "vue";
1
+ import { defineComponent as d, ref as p, watch as u, openBlock as t, createBlock as y, Transition as f, withCtx as m, createElementBlock as l, normalizeClass as h, withKeys as k, toDisplayString as a, createCommentVNode as s, createElementVNode as i, renderSlot as w } from "vue";
2
2
  const v = ["aria-label"], _ = {
3
3
  key: 0,
4
4
  class: "spicyAlertIcon"
5
- }, B = {
5
+ }, A = {
6
6
  key: 1,
7
7
  class: "spicyAlertIcon",
8
8
  viewBox: "0 0 24 24",
9
9
  xmlns: "http://www.w3.org/2000/svg"
10
- }, C = ["d"], b = {
10
+ }, B = ["d"], C = {
11
11
  key: 2,
12
+ class: "spicyAlertTitle"
13
+ }, b = {
14
+ key: 3,
12
15
  class: "spicyAlertText"
13
16
  }, g = {
14
17
  key: 0,
15
18
  viewBox: "0 0 24 24",
16
19
  xmlns: "http://www.w3.org/2000/svg"
17
- }, A = ["d"], I = { key: 1 }, T = /* @__PURE__ */ d({
20
+ }, I = ["d"], T = { key: 1 }, V = /* @__PURE__ */ d({
18
21
  __name: "SpicyAlert",
19
22
  props: {
20
23
  variant: { default: "info" },
24
+ title: {},
21
25
  text: {},
22
26
  icon: {},
23
27
  mdi: {},
@@ -27,55 +31,56 @@ const v = ["aria-label"], _ = {
27
31
  closeIcon: {}
28
32
  },
29
33
  setup(r) {
30
- const c = r, a = p(!0), s = () => {
31
- a.value = !1;
34
+ const c = r, n = p(!0), o = () => {
35
+ n.value = !1;
32
36
  };
33
37
  return u(
34
38
  () => c.autoClose,
35
39
  (e) => {
36
40
  e && e > 0 && setTimeout(() => {
37
- s();
41
+ o();
38
42
  }, e);
39
43
  }
40
44
  ), (e, O) => (t(), y(f, { name: "fade" }, {
41
45
  default: m(() => [
42
- a.value ? (t(), o("div", {
46
+ n.value ? (t(), l("div", {
43
47
  key: 0,
44
48
  class: h(["spicyAlert", e.variant]),
45
49
  "aria-atomic": "true",
46
50
  "aria-label": e.text || "Alert",
47
51
  role: "alert",
48
- onKeydown: k(s, ["enter"])
52
+ onKeydown: k(o, ["enter"])
49
53
  }, [
50
- e.iconOnly && e.icon ? (t(), o("span", _, n(e.icon), 1)) : l("", !0),
51
- e.mdi ? (t(), o("svg", B, [
54
+ e.iconOnly && e.icon ? (t(), l("span", _, a(e.icon), 1)) : s("", !0),
55
+ e.mdi ? (t(), l("svg", A, [
52
56
  i("path", {
53
57
  fill: "currentColor",
54
58
  class: "spicyAlertMDI",
55
59
  d: e.mdi
56
- }, null, 8, C)
57
- ])) : l("", !0),
58
- !e.iconOnly && e.text ? (t(), o("span", b, n(e.text), 1)) : l("", !0),
59
- e.closable ? (t(), o("button", {
60
- key: 3,
60
+ }, null, 8, B)
61
+ ])) : s("", !0),
62
+ e.title ? (t(), l("span", C, a(e.title), 1)) : s("", !0),
63
+ !e.iconOnly && e.text ? (t(), l("span", b, a(e.text), 1)) : s("", !0),
64
+ e.closable ? (t(), l("button", {
65
+ key: 4,
61
66
  class: "spicyAlertCloseBtn",
62
- onClick: s,
67
+ onClick: o,
63
68
  "aria-label": "Close alert"
64
69
  }, [
65
- e.closeIcon ? (t(), o("svg", g, [
70
+ e.closeIcon ? (t(), l("svg", g, [
66
71
  i("path", {
67
72
  fill: "#000",
68
73
  d: e.closeIcon
69
- }, null, 8, A)
70
- ])) : (t(), o("span", I, "X"))
71
- ])) : l("", !0),
72
- e.text ? l("", !0) : w(e.$slots, "default", { key: 4 })
73
- ], 42, v)) : l("", !0)
74
+ }, null, 8, I)
75
+ ])) : (t(), l("span", T, "X"))
76
+ ])) : s("", !0),
77
+ e.text ? s("", !0) : w(e.$slots, "default", { key: 5 })
78
+ ], 42, v)) : s("", !0)
74
79
  ]),
75
80
  _: 3
76
81
  }));
77
82
  }
78
83
  });
79
84
  export {
80
- T as _
85
+ V as _
81
86
  };
@@ -0,0 +1 @@
1
+ .spicyDialogOverlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:1000}.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}
@@ -0,0 +1,56 @@
1
+ import { defineComponent as m, watch as p, openBlock as i, createBlock as u, Teleport as y, createVNode as f, Transition as k, withCtx as w, createElementBlock as g, normalizeStyle as s, createElementVNode as V, withModifiers as v, renderSlot as C, createCommentVNode as x } from "vue";
2
+ const h = /* @__PURE__ */ m({
3
+ __name: "SpicyDialog",
4
+ props: {
5
+ modelValue: Boolean,
6
+ persistent: Boolean,
7
+ maxWidth: {
8
+ type: String,
9
+ default: "500px"
10
+ },
11
+ color: {
12
+ type: String,
13
+ default: "rgba(0, 0, 0, 0.5)"
14
+ }
15
+ },
16
+ emits: ["update:modelValue"],
17
+ setup(t, { emit: r }) {
18
+ const o = t, d = r, l = () => {
19
+ d("update:modelValue", !1);
20
+ }, c = () => {
21
+ o.persistent || l();
22
+ }, a = (e) => {
23
+ e.key === "Escape" && !o.persistent && l();
24
+ };
25
+ return p(
26
+ () => o.modelValue,
27
+ (e) => {
28
+ e ? window.addEventListener("keydown", a) : window.removeEventListener("keydown", a);
29
+ }
30
+ ), (e, n) => (i(), u(y, { to: "body" }, [
31
+ f(k, { name: "dialog-fade" }, {
32
+ default: w(() => [
33
+ t.modelValue ? (i(), g("div", {
34
+ key: 0,
35
+ class: "spicyDialogOverlay",
36
+ style: s({ backgroundColor: t.color }),
37
+ onClick: c
38
+ }, [
39
+ V("div", {
40
+ class: "spicyDialog",
41
+ style: s({ maxWidth: t.maxWidth }),
42
+ onClick: n[0] || (n[0] = v(() => {
43
+ }, ["stop"]))
44
+ }, [
45
+ C(e.$slots, "default")
46
+ ], 4)
47
+ ], 4)) : x("", !0)
48
+ ]),
49
+ _: 3
50
+ })
51
+ ]));
52
+ }
53
+ });
54
+ export {
55
+ h as _
56
+ };
@@ -1,5 +1,5 @@
1
- import { defineComponent as B, ref as c, computed as k, openBlock as r, createElementBlock as t, normalizeClass as f, createElementVNode as s, toDisplayString as n, createCommentVNode as i, withDirectives as C, vModelText as E, renderSlot as F } from "vue";
2
- const g = ["aria-label"], S = { class: "spicyInputContainer" }, D = {
1
+ import { defineComponent as B, ref as c, computed as k, watch as C, onMounted as F, openBlock as u, createElementBlock as r, normalizeClass as f, createElementVNode as n, toDisplayString as i, createCommentVNode as p, withDirectives as E, vModelText as S, renderSlot as g } from "vue";
2
+ const w = ["aria-label"], D = { class: "spicyInputContainer" }, M = {
3
3
  key: 0,
4
4
  class: "spicyInputPrefix"
5
5
  }, N = ["placeholder", "autofocus", "aria-label", "aria-invalid", "aria-describedby"], T = ["id"], z = /* @__PURE__ */ B({
@@ -16,53 +16,66 @@ const g = ["aria-label"], S = { class: "spicyInputContainer" }, D = {
16
16
  },
17
17
  emits: ["update:modelValue", "input", "blur", "focus"],
18
18
  setup(v, { emit: m }) {
19
- const l = m, p = v, a = c(p.modelValue), u = c(!1), d = k(() => p.error ? "spicyInputError" : void 0), b = (e) => {
20
- const o = e.target;
21
- a.value = o.value, l("update:modelValue", a.value), l("input", a.value);
22
- }, y = () => {
23
- u.value = !1, l("blur");
19
+ const l = m, o = v, a = c(o.modelValue), s = c(!1), d = k(() => o.error ? "spicyInputError" : void 0);
20
+ C(
21
+ () => o.modelValue,
22
+ (e) => {
23
+ a.value = e;
24
+ }
25
+ ), F(() => {
26
+ if (o.autofocus) {
27
+ const e = document.querySelector('input[name="spicyInput"]');
28
+ e == null || e.focus();
29
+ }
30
+ });
31
+ const y = (e) => {
32
+ const t = e.target;
33
+ a.value = t.value, l("update:modelValue", a.value), l("input", a.value);
34
+ }, b = () => {
35
+ s.value = !1, l("blur");
24
36
  }, h = () => {
25
- u.value = !0, l("focus");
37
+ s.value = !0, l("focus");
26
38
  }, I = () => {
27
39
  a.value = "", l("update:modelValue", a.value);
28
40
  };
29
- return (e, o) => (r(), t("div", {
30
- class: f(["spicyInputWrapper", [e.variant, { hasValue: a.value, hasFocus: u.value, hasError: e.error }]])
41
+ return (e, t) => (u(), r("div", {
42
+ class: f(["spicyInputWrapper", [e.variant, { hasValue: a.value, hasFocus: s.value, hasError: e.error }]])
31
43
  }, [
32
- s("label", {
44
+ n("label", {
33
45
  class: "spicyInputLabel",
34
46
  "aria-label": e.label
35
- }, n(e.label), 9, g),
36
- s("div", S, [
37
- e.prefix ? (r(), t("span", D, n(e.prefix), 1)) : i("", !0),
38
- C(s("input", {
47
+ }, i(e.label), 9, w),
48
+ n("div", D, [
49
+ e.prefix ? (u(), r("span", M, i(e.prefix), 1)) : p("", !0),
50
+ E(n("input", {
39
51
  type: "text",
40
52
  name: "spicyInput",
41
53
  class: f(["spicyInput", e.variant]),
42
- "onUpdate:modelValue": o[0] || (o[0] = (V) => a.value = V),
54
+ "onUpdate:modelValue": t[0] || (t[0] = (V) => a.value = V),
43
55
  placeholder: e.placeholder,
44
56
  autofocus: e.autofocus,
45
- onInput: b,
46
- onBlur: y,
57
+ onInput: y,
58
+ onBlur: b,
47
59
  onFocus: h,
48
60
  "aria-label": e.label,
49
61
  "aria-invalid": !!e.error,
50
- "aria-describedby": d.value
62
+ "aria-describedby": d.value,
63
+ ref: "input"
51
64
  }, null, 42, N), [
52
- [E, a.value]
65
+ [S, a.value]
53
66
  ]),
54
- e.clearable && a.value ? (r(), t("button", {
67
+ e.clearable && a.value ? (u(), r("button", {
55
68
  key: 1,
56
69
  class: "clearButton",
57
70
  onClick: I
58
- }, "X")) : i("", !0)
71
+ }, "X")) : p("", !0)
59
72
  ]),
60
- F(e.$slots, "default"),
61
- e.error ? (r(), t("span", {
73
+ g(e.$slots, "default"),
74
+ e.error ? (u(), r("span", {
62
75
  key: 0,
63
76
  id: d.value,
64
77
  class: "spicyInputError"
65
- }, n(e.error), 9, T)) : i("", !0)
78
+ }, i(e.error), 9, T)) : p("", !0)
66
79
  ], 2));
67
80
  }
68
81
  });
@@ -2,21 +2,22 @@ import { _ as v } from "./lib/SpicyAccordion/SpicyAccordion.js";
2
2
  import { _ as h } from "./lib/SpicyAlert/SpicyAlert.js";
3
3
  import { _ as g } from "./lib/SpicyBtn/SpicyBtn.js";
4
4
  import { _ as E } from "./lib/SpicyCarousel/SpicyCarousel.js";
5
- import { _ as $ } from "./lib/SpicyDivider/SpicyDivider.js";
6
- import { _ as L } from "./lib/SpicyDropdown/SpicyDropdown.js";
7
- import { _ as C } from "./lib/SpicyFileInput/SpicyFileInput.js";
8
- import { _ as x } from "./lib/SpicyModal/SpicyModal.js";
9
- import { _ as T } from "./lib/SpicyProgress/SpicyProgress.js";
10
- import { _ as D } from "./lib/SpicySheet/SpicySheet.js";
11
- import { _ as R } from "./lib/SpicySlider/SpicySlider.js";
12
- import { _ as M } from "./lib/SpicyTabs/SpicyTabs.js";
13
- import { _ as w } from "./lib/SpicyTextArea/SpicyTextArea.js";
14
- import { _ as A } from "./lib/SpicyTextField/SpicyTextField.js";
15
- import { _ as F } from "./lib/SpicyToggle/SpicyToggle.js";
16
- import { _ as X } from "./lib/SpicyTooltip/SpicyTooltip.js";
17
- import { _ as Y } from "./lib/SpicyTree/SpicyTree.js";
18
- import { _ as B } from "./lib/SpicyTreeNode/SpicyTreeNode.js";
19
- const b = {
5
+ import { _ as $ } from "./lib/SpicyDialog/SpicyDialog.js";
6
+ import { _ as L } from "./lib/SpicyDivider/SpicyDivider.js";
7
+ import { _ as C } from "./lib/SpicyDropdown/SpicyDropdown.js";
8
+ import { _ as x } from "./lib/SpicyFileInput/SpicyFileInput.js";
9
+ import { _ as T } from "./lib/SpicyModal/SpicyModal.js";
10
+ import { _ as D } from "./lib/SpicyProgress/SpicyProgress.js";
11
+ import { _ as R } from "./lib/SpicySheet/SpicySheet.js";
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";
15
+ import { _ as F } from "./lib/SpicyTextField/SpicyTextField.js";
16
+ import { _ as X } from "./lib/SpicyToggle/SpicyToggle.js";
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 = {
20
21
  mounted(e, r) {
21
22
  const { axis: a } = r.value || {};
22
23
  e.style.position = "relative", e.style.cursor = "move";
@@ -54,7 +55,7 @@ const b = {
54
55
  const r = e;
55
56
  r._cleanup && r._cleanup();
56
57
  }
57
- }, q = {
58
+ }, W = {
58
59
  beforeMount(e) {
59
60
  e.style.position = "relative", e.style.overflow = "hidden";
60
61
  const r = (i, c) => {
@@ -80,34 +81,35 @@ const b = {
80
81
  requestAnimationFrame(() => a(i));
81
82
  });
82
83
  }
83
- }, W = {
84
+ }, k = {
84
85
  SpicyAccordion: v,
85
86
  SpicyAlert: h,
86
87
  SpicyBtn: g,
87
88
  SpicyCarousel: E,
88
- SpicyDivider: $,
89
- SpicyDropdown: L,
90
- SpicyFileInput: C,
91
- SpicyModal: x,
92
- SpicyProgress: T,
93
- SpicySheet: D,
94
- SpicySlider: R,
95
- SpicyTabs: M,
96
- SpicyTextArea: w,
97
- SpicyTextField: A,
98
- SpicyToggle: F,
99
- SpicyTooltip: X,
100
- SpicyTree: Y,
101
- SpicyTreeNode: B
102
- }, ie = {
89
+ SpicyDialog: $,
90
+ SpicyDivider: L,
91
+ SpicyDropdown: C,
92
+ SpicyFileInput: x,
93
+ SpicyModal: T,
94
+ SpicyProgress: D,
95
+ SpicySheet: R,
96
+ SpicySlider: M,
97
+ SpicyTabs: w,
98
+ SpicyTextArea: A,
99
+ SpicyTextField: F,
100
+ SpicyToggle: X,
101
+ SpicyTooltip: Y,
102
+ SpicyTree: B,
103
+ SpicyTreeNode: b
104
+ }, se = {
103
105
  install(e, r = {}) {
104
106
  const { useComponents: a = !0, useStyles: i = !0, useDirectives: c = !0 } = r;
105
- a && Object.entries(W).forEach(([t, o]) => {
107
+ a && Object.entries(k).forEach(([t, o]) => {
106
108
  e.component(t, o);
107
109
  }), i && import("./lib/main/main.js").then((t) => {
108
110
  const o = document.createElement("style");
109
111
  o.id = "SpicyStyles", o.textContent = t.default, document.head.appendChild(o);
110
- }), c && (e.directive("spicyDrag", b), e.directive("spicyRipple", q), import("./lib/ripple/ripple.js").then((t) => {
112
+ }), c && (e.directive("spicyDrag", q), e.directive("spicyRipple", W), import("./lib/ripple/ripple.js").then((t) => {
111
113
  const o = document.createElement("style");
112
114
  o.id = "SpicyRippleStyles", o.textContent = t.default, document.head.appendChild(o);
113
115
  }));
@@ -118,21 +120,22 @@ export {
118
120
  h as SpicyAlert,
119
121
  g as SpicyBtn,
120
122
  E as SpicyCarousel,
121
- $ as SpicyDivider,
122
- L as SpicyDropdown,
123
- C as SpicyFileInput,
124
- ie as SpicyKatsu,
125
- x as SpicyModal,
126
- T as SpicyProgress,
127
- D as SpicySheet,
128
- R as SpicySlider,
129
- M as SpicyTabs,
130
- w as SpicyTextArea,
131
- A as SpicyTextField,
132
- F as SpicyToggle,
133
- X as SpicyTooltip,
134
- Y as SpicyTree,
135
- B as SpicyTreeNode,
136
- b as spicyDrag,
137
- q as spicyRipple
123
+ $ as SpicyDialog,
124
+ L as SpicyDivider,
125
+ C as SpicyDropdown,
126
+ x as SpicyFileInput,
127
+ se as SpicyKatsu,
128
+ T as SpicyModal,
129
+ D as SpicyProgress,
130
+ R as SpicySheet,
131
+ M as SpicySlider,
132
+ w as SpicyTabs,
133
+ A as SpicyTextArea,
134
+ F as SpicyTextField,
135
+ X as SpicyToggle,
136
+ Y as SpicyTooltip,
137
+ B as SpicyTree,
138
+ b as SpicyTreeNode,
139
+ q as spicyDrag,
140
+ W as spicyRipple
138
141
  };
@@ -1 +1 @@
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 q={class:"spicyAccordion"},U=["onClick","aria-expanded"],x={key:0,class:"accordionIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},G=["d"],J={class:"spicyAccordionContent"},V=e.defineComponent({__name:"SpicyAccordion",props:{sections:{},singleOpen:{type:Boolean,default:!1},defaultOpen:{}},setup(r){const s=r,l=e.ref(s.defaultOpen||[]),n=o=>{if(s.singleOpen)l.value=l.value.includes(o)?[]:[o];else{const a=l.value.indexOf(o);a===-1?l.value.push(o):l.value.splice(a,1)}},t=o=>l.value.includes(o);return(o,a)=>(e.openBlock(),e.createElementBlock("div",q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.sections,(p,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(p.title),1),p.icon?(e.openBlock(),e.createElementBlock("svg",x,[e.createElementVNode("path",{d:p.icon},null,8,G)])):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,U),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",J,[e.renderSlot(o.$slots,`section-${m}`)],512),[[e.vShow,t(m)]])]),_:2},1024)]))),128))]))}}),Q=["aria-label"],Z={key:0,class:"spicyAlertIcon"},v={key:1,class:"spicyAlertIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ee=["d"],te={key:2,class:"spicyAlertText"},oe={key:0,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},le=["d"],ne={key:1},_=e.defineComponent({__name:"SpicyAlert",props:{variant:{default:"info"},text:{},icon:{},mdi:{},iconOnly:{type:Boolean,default:!1},closable:{type:Boolean,default:!1},autoClose:{default:0},closeIcon:{}},setup(r){const s=r,l=e.ref(!0),n=()=>{l.value=!1};return e.watch(()=>s.autoClose,t=>{t&&t>0&&setTimeout(()=>{n()},t)}),(t,o)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["spicyAlert",t.variant]),"aria-atomic":"true","aria-label":t.text||"Alert",role:"alert",onKeydown:e.withKeys(n,["enter"])},[t.iconOnly&&t.icon?(e.openBlock(),e.createElementBlock("span",Z,e.toDisplayString(t.icon),1)):e.createCommentVNode("",!0),t.mdi?(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("path",{fill:"currentColor",class:"spicyAlertMDI",d:t.mdi},null,8,ee)])):e.createCommentVNode("",!0),!t.iconOnly&&t.text?(e.openBlock(),e.createElementBlock("span",te,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.closable?(e.openBlock(),e.createElementBlock("button",{key:3,class:"spicyAlertCloseBtn",onClick:n,"aria-label":"Close alert"},[t.closeIcon?(e.openBlock(),e.createElementBlock("svg",oe,[e.createElementVNode("path",{fill:"#000",d:t.closeIcon},null,8,le)])):(e.openBlock(),e.createElementBlock("span",ne,"X"))])):e.createCommentVNode("",!0),t.text?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:4})],42,Q)):e.createCommentVNode("",!0)]),_:3}))}}),ae=["disabled","aria-label","aria-disabled","tabindex"],se={key:0,class:"spicyBtnIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ie=["d"],re={key:1,class:"spicyBtnIcon"},ce={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 l=s,n=()=>{t.disabled||l("click")},t=r,o=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)),p=e.computed(()=>({spicyBtn:!0,outlined:t.variant==="outlined",disabled:t.disabled,isRound:a.value,large:t.size==="large"}));return(m,i)=>{const d=e.resolveDirective("spicyRipple");return e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(p.value),style:e.normalizeStyle(o.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",se,[e.createElementVNode("path",{fill:"currentColor",class:"spicyBtnMDI",d:m.mdi},null,8,ie)])):e.createCommentVNode("",!0),m.icon&&!m.mdi?(e.openBlock(),e.createElementBlock("span",re,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),m.text?(e.openBlock(),e.createElementBlock("span",ce,e.toDisplayString(m.text),1)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],14,ae)),[[d]])}}}),de=["aria-label"],pe={class:"spicyCarouselInfoText"},me={class:"spicyCarouselTitle"},fe={key:0},ye={key:0,class:"spicyCarouselNavControls"},ue={key:1,class:"spicyCarouselPagination"},he=["onClick"],ke={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,l,n=!1;const t=r,o=e.computed(()=>({"--width":t.width,"--height":t.height,"--activeColor":t.activeColor})),a=e.computed(()=>t.paginationLimit),p=e.computed(()=>{var g;return(g=t.slides[i.value])==null?void 0:g.title}),m=e.computed(()=>d.value.fullScreen===!1?!1:t.fullScreen),i=e.ref(t.initialSlide),d=e.computed(()=>t.slides[i.value]);let f;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=()=>{f&&clearInterval(f)},B=()=>{t.autoplay&&(f=window.setInterval(u,t.autoplaySpeed))},C=()=>{window.open(d.value.img)},w=()=>{t.enableImageClick&&C()},j=g=>{s=g.touches[0].clientX,l=g.touches[0].clientY,n=!1},E=g=>{if(!n){const b=g.touches[0].clientX-s,S=g.touches[0].clientY-l;Math.abs(b)>Math.abs(S)&&(b>40?(k(),n=!0):b<-40&&(u(),n=!0))}},ht=e.computed(()=>{const g=t.slides.length,b=Math.max(0,i.value-Math.floor(a.value/2)),S=Math.min(g,b+a.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({...o.value})},[e.createElementVNode("div",{class:"spicyCarouselContainer",onMouseenter:h,onMouseleave:B,onTouchstart:j,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(${d.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",pe,e.toDisplayString(g.slides[i.value].text),1)],10,de)):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"default")],6))]),_:3})],32),e.createElementVNode("div",me,[p.value?(e.openBlock(),e.createElementBlock("h2",fe,e.toDisplayString(d.value.title),1)):e.createCommentVNode("",!0)]),g.showNavigation?(e.openBlock(),e.createElementBlock("div",ye,[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",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ht.value,S=>(e.openBlock(),e.createElementBlock("button",{key:S,onClick:Bt=>c(S),class:e.normalizeClass(["spicyCarouselPageBtn",{active:S===i.value}])},[e.createElementVNode("span",ke,e.toDisplayString(S+1),1)],10,he))),128))])):e.createCommentVNode("",!0)],4))}}),ge=["aria-orientation"],D=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,l=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,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDivider",l.value]),style:e.normalizeStyle(n.value),role:"separator","aria-orientation":t.orientation},[e.renderSlot(t.$slots,"default")],14,ge))}}),Be=["aria-expanded"],Ce=["width","height"],be=["d"],Se=["width","height"],I=e.defineComponent({__name:"SpicyDropdown",props:{label:{},align:{default:"left"},width:{default:"200px"},icon:{default:""},iconSize:{default:"24px"}},setup(r){const s=r,l=e.ref(!1),n=()=>{l.value=!l.value},t=e.computed(()=>s.icon||""),o=e.computed(()=>({width:s.width,[s.align==="right"?"right":"left"]:0,textAlign:s.align}));return(a,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyDropdown",{open:l.value}])},[e.createElementVNode("button",{onClick:n,class:"spicyDropdownButton","aria-haspopup":"true","aria-expanded":l.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,be)],8,Ce)):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:l.value}])},p[1]||(p[1]=[e.createElementVNode("path",{d:"M7 10l5 5 5-5H7z"},null,-1)]),10,Se))],8,Be),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyDropdownMenu",style:e.normalizeStyle(o.value),onClick:p[0]||(p[0]=e.withModifiers(m=>l.value=!1,["self"])),id:"spicyDropdownMenu"},[e.renderSlot(a.$slots,"default")],4)):e.createCommentVNode("",!0)]),_:3})],2))}}),Ee=["aria-label"],we=["multiple","accept"],$e={key:1,class:"spicyFilePreview"},Ve=["onClick"],_e=["onClick"],Ne=["d"],Te={key:3,class:"spicyFileInputError"},z=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 l=s,n=r,t=e.ref(n.modelValue),o=e.ref(null),a=e.ref(!1),p=c=>{const h=c.target;h.files&&(t.value=Array.from(h.files),l("update:modelValue",t.value),l("change",t.value))},m=()=>{t.value=[],l("update:modelValue",t.value),o.value&&(o.value.value="")},i=c=>{t.value.splice(c,1),l("update:modelValue",t.value),t.value.length===0&&o.value&&(o.value.value="")},d=()=>{var c;(c=o.value)==null||c.click()},f=()=>{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,l("update:modelValue",t.value),l("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:d,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,Ee)):e.createCommentVNode("",!0),e.createElementVNode("input",{type:"file",multiple:c.multiple,accept:c.accept,class:"spicyFileInput",onChange:p,ref_key:"fileInput",ref:o},null,40,we),t.value.length?(e.openBlock(),e.createElementBlock("div",$e,[(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,Ve)):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,Ne)],8,_e)):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",Te,e.toDisplayString(c.error),1)):e.createCommentVNode("",!0)],34))}}),De={class:"spicyModalHeader"},Ie={class:"spicyModalActions"},ze=["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:s}){const l=r,n=s,t=e.computed(()=>({"--width":l.width,"--height":l.height,"--skBorderRadius":l.borderRadius,"--skBgColor":l.bgColor,"--skTextColor":l.textColor})),o=()=>{n("update:visible",!1),n("close")},a=d=>{typeof d.handler=="function"&&d.handler(),n("action-clicked",d)},p=d=>{const f=d.target;l.closeOnClick&&f.classList.contains("spicyModalOverlay")&&o()},m=()=>{document.body.style.overflow="hidden"},i=()=>{document.body.style.overflow=""};return e.onMounted(()=>{l.visible&&m()}),e.onBeforeUnmount(()=>{i()}),e.watch(()=>l.visible,d=>{d?m():i()}),(d,f)=>d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyModalOverlay",onClick:p,"aria-modal":"true",role:"dialog"},[e.createElementVNode("div",{class:"spicyModal",style:e.normalizeStyle({...t.value}),onKeydown:e.withKeys(o,["esc"])},[e.createElementVNode("header",De,[e.renderSlot(d.$slots,"spicyModalHeader",{title:d.modalTitle,ariaLabel:d.modalTitle},()=>[e.createTextVNode(e.toDisplayString(d.modalTitle),1)])]),e.renderSlot(d.$slots,"default"),e.createElementVNode("div",Ie,[e.renderSlot(d.$slots,"spicyModalActions"),d.actions.length===0&&d.closeBtn?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyModalCloseBtn spicyModalActionBtn",onClick:o},[e.renderSlot(d.$slots,"closeBtn",{},()=>[f[0]||(f[0]=e.createTextVNode("Close"))])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.actions,k=>(e.openBlock(),e.createElementBlock("button",{key:k.label,class:"spicyModalExtraBtn spicyModalActionBtn",onClick:u=>a(k)},e.toDisplayString(k.label),9,ze))),128))])],36)])):e.createCommentVNode("",!0)}}),Le={key:0,class:"spicyProgress"},Me={key:0,class:"spicyProgressLabel"},Fe={key:1,class:"spicyProgressCircular"},Ae=["width","height"],Pe=["stroke-width","r","cx","cy"],Re=["stroke","stroke-width","r","cx","cy"],Oe={key:0,class:"spicyCircularLabel"},M=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,l=e.computed(()=>Math.round(s.value/s.max*100)),n=e.computed(()=>s.type==="linear"),t=e.computed(()=>({width:`${l.value}%`,backgroundColor:s.color,height:s.height})),o=e.computed(()=>s.size/2),a=e.computed(()=>(s.size-s.strokeWidth)/2),p=e.computed(()=>2*Math.PI*a.value),m=e.computed(()=>({strokeDasharray:`${p.value} ${p.value}`,strokeDashoffset:`${p.value-l.value/100*p.value}`,transition:"stroke-dashoffset 400ms ease"}));return(i,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.value?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",{class:"spicyProgressBar",style:e.normalizeStyle(t.value)},null,4),i.showLabel?(e.openBlock(),e.createElementBlock("div",Me,e.toDisplayString(l.value)+"%",1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Fe,[(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:o.value,cy:o.value},null,8,Pe),e.createElementVNode("circle",{class:"spicyCircularProgress",stroke:i.color,"stroke-width":i.strokeWidth,r:a.value,cx:o.value,cy:o.value,style:e.normalizeStyle(m.value)},null,12,Re)],8,Ae)),i.showLabel?(e.openBlock(),e.createElementBlock("div",Oe,e.toDisplayString(l.value)+"%",1)):e.createCommentVNode("",!0)])),e.renderSlot(i.$slots,"default")],64))}}),F=e.defineComponent({__name:"SpicySheet",props:{isRound:{type:Boolean,default:!1},color:{default:"var(--skBgColor)"},flex:{type:Boolean,default:!0}},setup(r){const s=r,l=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(l.value)},[e.renderSlot(n.$slots,"default")],6))}}),We={class:"spicySlider"},Xe=["aria-label"],Ye=["min","max","step","aria-valuenow","aria-valuemin","aria-valuemax"],A=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 l=r,n=s,t=e.computed({get:()=>Number(l.modelValue),set:o=>n("update:modelValue",o)});return(o,a)=>(e.openBlock(),e.createElementBlock("div",We,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicySliderLabel","aria-label":o.label},e.toDisplayString(o.label),9,Xe)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{name:"spicySliderInput",class:"spicySliderInput",type:"range",min:o.min,max:o.max,step:o.step,"onUpdate:modelValue":a[0]||(a[0]=p=>t.value=p),"aria-valuenow":t.value,"aria-valuemin":o.min,"aria-valuemax":o.max},null,8,Ye),[[e.vModelText,t.value]]),e.renderSlot(o.$slots,"default")]))}}),He={class:e.normalizeClass(["spicyTabs"])},Ke={class:"spicyTabsHeader"},je=["onClick"],qe={key:0,class:"spicyTabsContent"},P=e.defineComponent({__name:"SpicyTabs",props:{visibleTabs:{default:8},useScrollButtons:{type:Boolean,default:!0},tabs:{}},setup(r){var u;const s=r,l=e.ref(((u=s.tabs[0])==null?void 0:u.name)||""),n=e.ref(null),t=e.ref(!1),o=e.ref(!1),a=()=>{if(n.value){const{scrollLeft:c,scrollWidth:h,clientWidth:B}=n.value;t.value=c>0,o.value=h>B+c}},p=c=>{l.value=c},m=e.computed(()=>{var c;return(c=s.tabs.find(h=>h.name===l.value))==null?void 0:c.name}),i=c=>{if(n.value){const h=c==="left"?-200:200;n.value.scrollBy({left:h,behavior:"smooth"})}},d=()=>{i("left"),a()},f=()=>{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",He,[e.createElementVNode("div",Ke,[t.value&&c.useScrollButtons?(e.openBlock(),e.createElementBlock("button",{key:0,class:"spicyOverflowButton left",onClick:d}," ‹ ")):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:l.value===B.name}]),onClick:C=>p(B.name)},e.toDisplayString(B.label),11,je))),128))],544),o.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",qe,[e.renderSlot(c.$slots,m.value)])):e.createCommentVNode("",!0)]),_:3})]))}}),Ue=["value","name"],R=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 l=r,n=e.computed(()=>({borderRadius:l.isRound?"16px":"2px",border:l.border,padding:l.padding,backgroundColor:l.color})),t=s,o=a=>{t("update:modelValue",a.target.value)};return(a,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("textarea",e.mergeProps({class:"SpicyTextArea",value:a.modelValue,onInput:o,name:a.name,style:n.value},a.$attrs),null,16,Ue),e.renderSlot(a.$slots,"default")],64))}}),xe=["aria-label"],Ge={class:"spicyInputContainer"},Je={key:0,class:"spicyInputPrefix"},Qe=["placeholder","autofocus","aria-label","aria-invalid","aria-describedby"],Ze=["id"],O=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 l=s,n=r,t=e.ref(n.modelValue),o=e.ref(!1),a=e.computed(()=>n.error?"spicyInputError":void 0),p=f=>{const k=f.target;t.value=k.value,l("update:modelValue",t.value),l("input",t.value)},m=()=>{o.value=!1,l("blur")},i=()=>{o.value=!0,l("focus")},d=()=>{t.value="",l("update:modelValue",t.value)};return(f,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["spicyInputWrapper",[f.variant,{hasValue:t.value,hasFocus:o.value,hasError:f.error}]])},[e.createElementVNode("label",{class:"spicyInputLabel","aria-label":f.label},e.toDisplayString(f.label),9,xe),e.createElementVNode("div",Ge,[f.prefix?(e.openBlock(),e.createElementBlock("span",Je,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:p,onBlur:m,onFocus:i,"aria-label":f.label,"aria-invalid":!!f.error,"aria-describedby":a.value},null,42,Qe),[[e.vModelText,t.value]]),f.clearable&&t.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"clearButton",onClick:d},"X")):e.createCommentVNode("",!0)]),e.renderSlot(f.$slots,"default"),f.error?(e.openBlock(),e.createElementBlock("span",{key:0,id:a.value,class:"spicyInputError"},e.toDisplayString(f.error),9,Ze)):e.createCommentVNode("",!0)],2))}}),ve=["for"],et=["id","tabindex","aria-label","aria-checked","aria-disabled","onKeydown"],W=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 l=e.computed(()=>`${n.label||"toggle"}_spicyToggle`),n=r,t=e.computed(()=>({"--skBorderColor":n.borderColor,"--activeColor":n.activeColor})),o=s,a=()=>{n.disabled||o("update:modelValue",!n.modelValue)};return(p,m)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["spicyToggleLabel",{disabled:p.disabled}]),for:`${p.label||"toggle"}_spicyToggle`},[e.createTextVNode(e.toDisplayString(p.label)+" ",1),e.createElementVNode("div",e.mergeProps({class:["spicyToggle",{outlined:p.variant==="outlined",isActive:p.modelValue}],id:l.value,tabindex:p.disabled?-1:0,role:"switch",style:{...t.value},"aria-label":p.label||"Toggle Switch","aria-checked":p.modelValue,"aria-disabled":p.disabled,onClick:a,onKeydown:[e.withKeys(e.withModifiers(a,["prevent"]),["space"]),e.withKeys(e.withModifiers(a,["prevent"]),["enter"])]},p.$attrs),m[0]||(m[0]=[e.createElementVNode("div",{class:"spicyToggleKnob"},null,-1)]),16,et)],10,ve))}}),tt=["aria-hidden"],ot={key:0,class:"spicyTooltipIcon"},lt=["aria-label"],nt={key:2,class:"spicyTooltipIcon"},X=e.defineComponent({__name:"SpicyTooltip",props:{text:{default:""},prependIcon:{default:""},appendIcon:{default:""},position:{default:"top"}},setup(r){const s=r,l=e.ref(!1),n=e.ref(null),t=e.reactive({position:"fixed",top:"0px",left:"0px",maxWidth:"175px"}),o=i=>{const d=i.right-window.innerWidth;d>0&&(t.left=`${parseInt(t.left)-d-5}px`),i.left<0&&(t.left="5px")},a={top:(i,d)=>{t.left=`${i.left+(i.width-d.width)/2}px`,t.top=`${i.top-d.height-5}px`},bottom:(i,d)=>{t.left=`${i.left+(i.width-d.width)/2}px`,t.top=`${i.bottom+5}px`},left:(i,d)=>{t.left=`${i.left-d.width-5}px`,t.top=`${i.top+(i.height-d.height)/2}px`},right:(i,d)=>{t.left=`${i.right+5}px`,t.top=`${i.top+(i.height-d.height)/2}px`}},p=()=>{l.value=!0,e.nextTick(()=>{if(n.value&&l.value){const i=n.value.getBoundingClientRect(),d=n.value.querySelector(".spicyTooltip");if(d){const f=d.getBoundingClientRect(),k=a[s.position];k(i,f),o(f)}}})},m=()=>{l.value=!1};return(i,d)=>(e.openBlock(),e.createElementBlock("div",{onMouseover:p,onMouseleave:m,ref_key:"host",ref:n},[e.renderSlot(i.$slots,"default"),l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"spicyTooltip",style:e.normalizeStyle(t),role:"tooltip","aria-hidden":!l.value},[i.prependIcon?(e.openBlock(),e.createElementBlock("span",ot,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,lt)):e.createCommentVNode("",!0),i.appendIcon?(e.openBlock(),e.createElementBlock("span",nt,e.toDisplayString(i.appendIcon),1)):e.createCommentVNode("",!0)],12,tt)):e.createCommentVNode("",!0)],544))}}),at=["aria-expanded"],st={key:0,class:"spicyToggleIcon"},it=["width","height"],rt=["d"],ct={key:1,role:"group"},$=e.defineComponent({__name:"SpicyTreeNode",props:{node:{}},setup(r){const s=r,l=e.ref(!1),n=e.computed(()=>s.node.children&&s.node.children.length>0),t=()=>{n.value&&(l.value=!l.value)};return(o,a)=>{const p=e.resolveComponent("SpicyTreeNode",!0);return e.openBlock(),e.createElementBlock("li",{class:"spicyTreeNodeItem",role:"treeitem","aria-expanded":l.value},[e.createElementVNode("div",{onClick:t,style:{cursor:"pointer"}},[e.createElementVNode("span",null,e.toDisplayString(o.node.label),1),n.value?(e.openBlock(),e.createElementBlock("span",st,e.toDisplayString(l.value?"-":"+"),1)):e.createCommentVNode("",!0)]),o.node.icon?(e.openBlock(),e.createElementBlock("svg",{key:0,width:o.node.iconSize,height:o.node.iconSize,class:"spicyTreeNodeIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:o.node.icon},null,8,rt)],8,it)):e.createCommentVNode("",!0),l.value&&o.node.children?(e.openBlock(),e.createElementBlock("ul",ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.node.children,m=>(e.openBlock(),e.createBlock(p,{key:m.id,node:m},null,8,["node"]))),128))])):e.createCommentVNode("",!0)],8,at)}}}),dt={class:"spicyTree"},pt={role:"tree"},Y=e.defineComponent({__name:"SpicyTree",props:{nodes:{}},setup(r){return(s,l)=>(e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("ul",pt,[(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))])]))}}),H={mounted(r,s){const{axis:l}=s.value||{};r.style.position="relative",r.style.cursor="move";let n,t;const o=(u,c)=>{const h=r.getBoundingClientRect();let B=u-n,C=c-t;l!=="y"&&(r.style.left=`${B-h.left+parseFloat(getComputedStyle(r).left||"0")}px`),l!=="x"&&(r.style.top=`${C-h.top+parseFloat(getComputedStyle(r).top||"0")}px`)},a=u=>{o(u.pageX,u.pageY)};let p=!1;const m=u=>{const c=u.touches[0];c&&(p=!0,o(c.pageX,c.pageY),u.preventDefault())},i=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",m),document.removeEventListener("touchend",i),p&&(p=!1)},d=u=>{const c=r.getBoundingClientRect();n=u.pageX-c.left,t=u.pageY-c.top,document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)},f=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,p=!1,document.addEventListener("touchmove",m),document.addEventListener("touchend",i),u.preventDefault()};r.addEventListener("mousedown",d),r.addEventListener("touchstart",f);const k=r;k._cleanup=()=>{k.removeEventListener("mousedown",d),k.removeEventListener("touchstart",f),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()}},K={beforeMount(r){r.style.position="relative",r.style.overflow="hidden";const s=(n,t)=>{const o=document.createElement("span"),a=Math.max(r.clientWidth,r.clientHeight),p=a/2;o.style.width=o.style.height=`${a}px`,o.style.left=`${n-r.getBoundingClientRect().left-p}px`,o.style.top=`${t-r.getBoundingClientRect().top-p}px`,o.classList.add("spicyRipple");const m=r.querySelector(".spicyRipple");m&&m.remove(),r.appendChild(o),o.addEventListener("animationend",()=>{o.remove()})},l=n=>{let t=0,o=0;if(n instanceof MouseEvent)t=n.clientX,o=n.clientY;else if(n instanceof TouchEvent){const a=n.touches[0];t=a.clientX,o=a.clientY}s(t,o)};r.addEventListener("click",n=>{requestAnimationFrame(()=>l(n))}),r.addEventListener("touchstart",n=>{requestAnimationFrame(()=>l(n))})}},mt={SpicyAccordion:V,SpicyAlert:_,SpicyBtn:N,SpicyCarousel:T,SpicyDivider:D,SpicyDropdown:I,SpicyFileInput:z,SpicyModal:L,SpicyProgress:M,SpicySheet:F,SpicySlider:A,SpicyTabs:P,SpicyTextArea:R,SpicyTextField:O,SpicyToggle:W,SpicyTooltip:X,SpicyTree:Y,SpicyTreeNode:$},ft={install(r,s={}){const{useComponents:l=!0,useStyles:n=!0,useDirectives:t=!0}=s;l&&Object.entries(mt).forEach(([o,a])=>{r.component(o,a)}),n&&Promise.resolve().then(()=>yt).then(o=>{const a=document.createElement("style");a.id="SpicyStyles",a.textContent=o.default,document.head.appendChild(a)}),t&&(r.directive("spicyDrag",H),r.directive("spicyRipple",K),Promise.resolve().then(()=>ut).then(o=>{const a=document.createElement("style");a.id="SpicyRippleStyles",a.textContent=o.default,document.head.appendChild(a)}))}},yt=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"})),ut=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.SpicyDivider=D,y.SpicyDropdown=I,y.SpicyFileInput=z,y.SpicyKatsu=ft,y.SpicyModal=L,y.SpicyProgress=M,y.SpicySheet=F,y.SpicySlider=A,y.SpicyTabs=P,y.SpicyTextArea=R,y.SpicyTextField=O,y.SpicyToggle=W,y.SpicyTooltip=X,y.SpicyTree=Y,y.SpicyTreeNode=$,y.spicyDrag=H,y.spicyRipple=K,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
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={key:2,class:"spicyAlertTitle"},le={key:3,class:"spicyAlertText"},ne={key:0,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ae=["d"],se={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:{}},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]),"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),t.title?(e.openBlock(),e.createElementBlock("span",oe,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),!t.iconOnly&&t.text?(e.openBlock(),e.createElementBlock("span",le,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.closable?(e.openBlock(),e.createElementBlock("button",{key:4,class:"spicyAlertCloseBtn",onClick:n,"aria-label":"Close alert"},[t.closeIcon?(e.openBlock(),e.createElementBlock("svg",ne,[e.createElementVNode("path",{fill:"#000",d:t.closeIcon},null,8,ae)])):(e.openBlock(),e.createElementBlock("span",se,"X"))])):e.createCommentVNode("",!0),t.text?e.createCommentVNode("",!0):e.renderSlot(t.$slots,"default",{key:5})],42,Z)):e.createCommentVNode("",!0)]),_:3}))}}),ie=["disabled","aria-label","aria-disabled","tabindex"],re={key:0,class:"spicyBtnIcon",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ce=["d"],de={key:1,class:"spicyBtnIcon"},pe={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",re,[e.createElementVNode("path",{fill:"currentColor",class:"spicyBtnMDI",d:m.mdi},null,8,ce)])):e.createCommentVNode("",!0),m.icon&&!m.mdi?(e.openBlock(),e.createElementBlock("span",de,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),m.text?(e.openBlock(),e.createElementBlock("span",pe,e.toDisplayString(m.text),1)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],14,ie)),[[p]])}}}),me=["aria-label"],ye={class:"spicyCarouselInfoText"},fe={class:"spicyCarouselTitle"},ue={key:0},he={key:0,class:"spicyCarouselNavControls"},ke={key:1,class:"spicyCarouselPagination"},ge=["onClick"],Be={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))}},gt=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",ye,e.toDisplayString(g.slides[i.value].text),1)],10,me)):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"default")],6))]),_:3})],32),e.createElementVNode("div",fe,[d.value?(e.openBlock(),e.createElementBlock("h2",ue,e.toDisplayString(p.value.title),1)):e.createCommentVNode("",!0)]),g.showNavigation?(e.openBlock(),e.createElementBlock("div",he,[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",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(gt.value,b=>(e.openBlock(),e.createElementBlock("button",{key:b,onClick:St=>c(b),class:e.normalizeClass(["spicyCarouselPageBtn",{active:b===i.value}])},[e.createElementVNode("span",Be,e.toDisplayString(b+1),1)],10,ge))),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})]))}}),Ce=["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,Ce))}}),Se=["aria-expanded"],be=["width","height"],Ee=["d"],we=["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,Ee)],8,be)):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,we))],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(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))}}),$e=["aria-label"],Ve=["multiple","accept"],_e={key:1,class:"spicyFilePreview"},Ne=["onClick"],Te=["onClick"],De=["d"],Ie={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,$e)):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,Ve),t.value.length?(e.openBlock(),e.createElementBlock("div",_e,[(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,Ne)):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,De)],8,Te)):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",Ie,e.toDisplayString(c.error),1)):e.createCommentVNode("",!0)],34))}}),ze={class:"spicyModalHeader"},Le={class:"spicyModalActions"},Me=["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",ze,[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",Le,[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,Me))),128))])],36)])):e.createCommentVNode("",!0)}}),Fe={key:0,class:"spicyProgress"},Ae={key:0,class:"spicyProgressLabel"},Pe={key:1,class:"spicyProgressCircular"},Oe=["width","height"],Re=["stroke-width","r","cx","cy"],We=["stroke","stroke-width","r","cx","cy"],Xe={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",Fe,[e.createElementVNode("div",{class:"spicyProgressBar",style:e.normalizeStyle(t.value)},null,4),i.showLabel?(e.openBlock(),e.createElementBlock("div",Ae,e.toDisplayString(o.value)+"%",1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Pe,[(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,Re),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,We)],8,Oe)),i.showLabel?(e.openBlock(),e.createElementBlock("div",Xe,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))}}),Ye={class:"spicySlider"},He=["aria-label"],Ke=["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",Ye,[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"spicySliderLabel","aria-label":l.label},e.toDisplayString(l.label),9,He)):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,Ke),[[e.vModelText,t.value]]),e.renderSlot(l.$slots,"default")]))}}),je={class:e.normalizeClass(["spicyTabs"])},qe={class:"spicyTabsHeader"},Ue=["onClick"],xe={key:0,class:"spicyTabsContent"},O=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",je,[e.createElementVNode("div",qe,[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,Ue))),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",xe,[e.renderSlot(c.$slots,m.value)])):e.createCommentVNode("",!0)]),_:3})]))}}),Ge=["value","name"],R=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,Ge),e.renderSlot(a.$slots,"default")],64))}}),Je=["aria-label"],Qe={class:"spicyInputContainer"},Ze={key:0,class:"spicyInputPrefix"},ve=["placeholder","autofocus","aria-label","aria-invalid","aria-describedby"],et=["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,Je),e.createElementVNode("div",Qe,[y.prefix?(e.openBlock(),e.createElementBlock("span",Ze,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,ve),[[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,et)):e.createCommentVNode("",!0)],2))}}),tt=["for"],ot=["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,ot)],10,tt))}}),lt=["aria-hidden"],nt={key:0,class:"spicyTooltipIcon"},at=["aria-label"],st={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",nt,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,at)):e.createCommentVNode("",!0),i.appendIcon?(e.openBlock(),e.createElementBlock("span",st,e.toDisplayString(i.appendIcon),1)):e.createCommentVNode("",!0)],12,lt)):e.createCommentVNode("",!0)],544))}}),it=["aria-expanded"],rt={key:0,class:"spicyToggleIcon"},ct=["width","height"],dt=["d"],pt={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",rt,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,dt)],8,ct)):e.createCommentVNode("",!0),o.value&&l.node.children?(e.openBlock(),e.createElementBlock("ul",pt,[(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,it)}}}),mt={class:"spicyTree"},yt={role:"tree"},H=e.defineComponent({__name:"SpicyTree",props:{nodes:{}},setup(r){return(s,o)=>(e.openBlock(),e.createElementBlock("div",mt,[e.createElementVNode("ul",yt,[(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))})}},ft={SpicyAccordion:V,SpicyAlert:_,SpicyBtn:N,SpicyCarousel:T,SpicyDialog:D,SpicyDivider:I,SpicyDropdown:z,SpicyFileInput:L,SpicyModal:M,SpicyProgress:F,SpicySheet:A,SpicySlider:P,SpicyTabs:O,SpicyTextArea:R,SpicyTextField:W,SpicyToggle:X,SpicyTooltip:Y,SpicyTree:H,SpicyTreeNode:$},ut={install(r,s={}){const{useComponents:o=!0,useStyles:n=!0,useDirectives:t=!0}=s;o&&Object.entries(ft).forEach(([l,a])=>{r.component(l,a)}),n&&Promise.resolve().then(()=>ht).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(()=>kt).then(l=>{const a=document.createElement("style");a.id="SpicyRippleStyles",a.textContent=l.default,document.head.appendChild(a)}))}},ht=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"})),kt=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=ut,f.SpicyModal=M,f.SpicyProgress=F,f.SpicySheet=A,f.SpicySlider=P,f.SpicyTabs=O,f.SpicyTextArea=R,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"})});
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;justify-content:center;gap:10px;padding:12px;border-radius:4px}.spicyAlert.info{background-color:#e0e0e0;color:#333}.spicyAlert.success{background-color:#bcf7c9;color:#155724}.spicyAlert.warning{background-color:#fff3cd;color:#856404}.spicyAlert.error{background-color:#ffbdc2;color:#911f2a}.spicyAlertIcon{width:24px;height:24px}.spicyAlertCloseBtn{margin-left:auto;background:none;border:none;cursor:pointer}.spicyAlertCloseBtn svg{width:16px;height:16px}.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}.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;justify-content:center;gap:10px;padding:12px;border-radius:4px}.spicyAlert.info{background-color:#e0e0e0;color:#333}.spicyAlert.success{background-color:#bcf7c9;color:#155724}.spicyAlert.warning{background-color:#fff3cd;color:#856404}.spicyAlert.error{background-color:#ffbdc2;color:#911f2a}.spicyAlertIcon{width:24px;height:24px}.spicyAlertCloseBtn{margin-left:auto;background:none;border:none;cursor:pointer}.spicyAlertCloseBtn svg{width:16px;height:16px}.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:1000}.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,5 +1,6 @@
1
1
  interface SpicyAlertProps {
2
2
  variant?: 'info' | 'success' | 'warning' | 'error' | 'custom';
3
+ title?: string;
3
4
  text?: string;
4
5
  icon?: string;
5
6
  mdi?: string;
@@ -0,0 +1,47 @@
1
+ declare function __VLS_template(): {
2
+ slots: {
3
+ default?(_: {}): any;
4
+ };
5
+ refs: {};
6
+ attrs: Partial<{}>;
7
+ };
8
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
+ modelValue: BooleanConstructor;
11
+ persistent: BooleanConstructor;
12
+ maxWidth: {
13
+ type: StringConstructor;
14
+ default: string;
15
+ };
16
+ color: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ "update:modelValue": (...args: any[]) => void;
22
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ modelValue: BooleanConstructor;
24
+ persistent: BooleanConstructor;
25
+ maxWidth: {
26
+ type: StringConstructor;
27
+ default: string;
28
+ };
29
+ color: {
30
+ type: StringConstructor;
31
+ default: string;
32
+ };
33
+ }>> & Readonly<{
34
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
35
+ }>, {
36
+ modelValue: boolean;
37
+ persistent: boolean;
38
+ maxWidth: string;
39
+ color: string;
40
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
41
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
42
+ export default _default;
43
+ type __VLS_WithTemplateSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -17,8 +17,8 @@ declare const __VLS_component: import("vue").DefineComponent<SpicyDividerProps,
17
17
  length: string;
18
18
  variant: "solid" | "dashed";
19
19
  size: string;
20
- orientation: "horizontal" | "vertical";
21
20
  color: string;
21
+ orientation: "horizontal" | "vertical";
22
22
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
23
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
24
  export default _default;
@@ -20,8 +20,8 @@ declare const __VLS_component: import("vue").DefineComponent<SpicyTextAreaProps,
20
20
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
21
21
  }>, {
22
22
  name: string;
23
- color: string;
24
23
  modelValue: string;
24
+ color: string;
25
25
  isRound: boolean;
26
26
  border: string;
27
27
  padding: string;
@@ -12,7 +12,9 @@ declare function __VLS_template(): {
12
12
  slots: {
13
13
  default?(_: {}): any;
14
14
  };
15
- refs: {};
15
+ refs: {
16
+ input: HTMLInputElement;
17
+ };
16
18
  attrs: Partial<{}>;
17
19
  };
18
20
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
@@ -2,6 +2,7 @@ import SpicyAccordion from './components/SpicyAccordion.vue';
2
2
  import SpicyAlert from './components/SpicyAlert.vue';
3
3
  import SpicyBtn from './components/SpicyBtn.vue';
4
4
  import SpicyCarousel from './components/SpicyCarousel.vue';
5
+ import SpicyDialog from './components/SpicyDialog.vue';
5
6
  import SpicyDivider from './components/SpicyDivider.vue';
6
7
  import SpicyDropdown from './components/SpicyDropdown.vue';
7
8
  import SpicyFileInput from './components/SpicyFileInput.vue';
@@ -16,7 +17,7 @@ import SpicyToggle from './components/SpicyToggle.vue';
16
17
  import SpicyTooltip from './components/SpicyTooltip.vue';
17
18
  import SpicyTree from './components/SpicyTree.vue';
18
19
  import SpicyTreeNode from './components/SpicyTreeNode.vue';
19
- export { SpicyAccordion, SpicyAlert, SpicyBtn, SpicyCarousel, SpicyDivider, SpicyDropdown, SpicyFileInput, SpicyModal, SpicyProgress, SpicySheet, SpicySlider, SpicyTabs, SpicyTextArea, SpicyTextField, SpicyToggle, SpicyTooltip, SpicyTree, SpicyTreeNode };
20
+ export { SpicyAccordion, SpicyAlert, SpicyBtn, SpicyCarousel, SpicyDialog, SpicyDivider, SpicyDropdown, SpicyFileInput, SpicyModal, SpicyProgress, SpicySheet, SpicySlider, SpicyTabs, SpicyTextArea, SpicyTextField, SpicyToggle, SpicyTooltip, SpicyTree, SpicyTreeNode };
20
21
  import { spicyDrag } from './directives/spicyDrag';
21
22
  import { spicyRipple } from './directives/spicyRipple';
22
23
  export { spicyDrag, spicyRipple };
package/package.json CHANGED
@@ -4,17 +4,11 @@
4
4
  "license": "MIT",
5
5
  "author": "Sato",
6
6
  "private": false,
7
- "version": "0.0.52",
7
+ "version": "0.0.53",
8
8
  "main": "dist/spicykatsu.umd.js",
9
9
  "module": "dist/spicykatsu.es.js",
10
10
  "types": "dist/types/index.d.ts",
11
11
  "type": "module",
12
- "exports": {
13
- ".": {
14
- "import": "./dist/spicykatsu.es.js",
15
- "require": "./dist/spicykatsu.umd.js"
16
- }
17
- },
18
12
  "sideEffects": false,
19
13
  "files": [
20
14
  "dist",