spicykatsu 0.0.39 → 0.0.41

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,717 +1,732 @@
1
- import { ref as S, watch as V, openBlock as n, createBlock as K, Transition as F, withCtx as P, createElementBlock as s, normalizeClass as b, withKeys as T, toDisplayString as g, createCommentVNode as p, renderSlot as h, computed as m, resolveDirective as X, withDirectives as M, normalizeStyle as k, createElementVNode as f, onMounted as q, onUnmounted as G, createVNode as J, Fragment as Y, renderList as A, vModelText as L, createTextVNode as Q, mergeProps as Z, withModifiers as O, reactive as ee, nextTick as te } from "vue";
2
- const le = ["aria-label"], oe = {
1
+ import { defineComponent as b, ref as S, watch as Y, openBlock as r, createBlock as X, Transition as P, withCtx as A, createElementBlock as c, normalizeClass as C, withKeys as M, toDisplayString as v, createCommentVNode as f, renderSlot as m, computed as g, resolveDirective as q, withDirectives as D, normalizeStyle as k, createElementVNode as h, onMounted as G, onUnmounted as J, createVNode as Q, Fragment as E, renderList as z, vModelText as x, createTextVNode as Z, mergeProps as ee, withModifiers as L, reactive as te, nextTick as oe } from "vue";
2
+ const le = ["aria-label"], ae = {
3
3
  key: 0,
4
4
  class: "spicyAlertIcon"
5
- }, ae = {
5
+ }, se = {
6
6
  key: 1,
7
7
  class: "spicyAlertText"
8
- }, ie = {
8
+ }, ne = /* @__PURE__ */ b({
9
9
  __name: "SpicyAlert",
10
10
  props: {
11
- variant: {
12
- type: String,
13
- default: "info",
14
- validator: (e) => ["info", "success", "warning", "error", "custom"].includes(e)
15
- },
16
- text: { type: String, default: "" },
17
- icon: String,
18
- iconOnly: Boolean,
11
+ variant: { default: "info" },
12
+ text: { default: "" },
13
+ icon: { default: "" },
14
+ iconOnly: { type: Boolean, default: !1 },
19
15
  closable: { type: Boolean, default: !1 },
20
- autoClose: { type: Number, default: 0 }
16
+ autoClose: { default: 0 }
21
17
  },
22
18
  setup(e) {
23
- const t = e, l = S(!0), a = () => {
24
- l.value = !1;
19
+ const t = e, o = S(!0), a = () => {
20
+ o.value = !1;
25
21
  };
26
- return V(
22
+ return Y(
27
23
  () => t.autoClose,
28
- (o) => {
29
- o > 0 && setTimeout(() => {
30
- l.value = !1;
31
- }, o);
24
+ (l) => {
25
+ l && l > 0 && setTimeout(() => {
26
+ a();
27
+ }, l);
32
28
  }
33
- ), (o, r) => (n(), K(F, { name: "fade" }, {
34
- default: P(() => [
35
- l.value ? (n(), s("div", {
29
+ ), (l, s) => (r(), X(P, { name: "fade" }, {
30
+ default: A(() => [
31
+ o.value ? (r(), c("div", {
36
32
  key: 0,
37
- class: b(["spicyAlert", e.variant]),
33
+ class: C(["spicyAlert", l.variant]),
38
34
  "aria-atomic": "true",
39
- "aria-label": e.text,
35
+ "aria-label": l.text,
40
36
  role: "alert",
41
- onKeydown: T(a, ["enter"])
37
+ onKeydown: M(a, ["enter"])
42
38
  }, [
43
- e.iconOnly || e.text ? (n(), s("span", oe, g(e.icon), 1)) : p("", !0),
44
- !e.iconOnly && e.text ? (n(), s("span", ae, g(e.text), 1)) : p("", !0),
45
- e.closable ? (n(), s("button", {
39
+ l.iconOnly || l.text ? (r(), c("span", ae, v(l.icon), 1)) : f("", !0),
40
+ !l.iconOnly && l.text ? (r(), c("span", se, v(l.text), 1)) : f("", !0),
41
+ l.closable ? (r(), c("button", {
46
42
  key: 2,
47
43
  class: "spicyAlertCloseBtn",
48
44
  onClick: a,
49
45
  "aria-label": "Close alert"
50
- }, " X ")) : p("", !0),
51
- h(o.$slots, "default")
52
- ], 42, le)) : p("", !0)
46
+ }, " X ")) : f("", !0),
47
+ m(l.$slots, "default")
48
+ ], 42, le)) : f("", !0)
53
49
  ]),
54
50
  _: 3
55
51
  }));
56
52
  }
57
- }, ne = ["disabled", "aria-label", "aria-disabled", "tabindex"], se = {
53
+ }), ie = ["disabled", "aria-label", "aria-disabled", "tabindex"], re = {
58
54
  key: 0,
59
55
  class: "spicyBtnIcon spicyMDI",
60
56
  viewBox: "0 0 24 24",
61
57
  xmlns: "http://www.w3.org/2000/svg"
62
- }, re = ["d"], ce = {
58
+ }, ce = ["d"], ue = {
63
59
  key: 1,
64
60
  class: "spicyBtnIcon"
65
- }, ue = {
61
+ }, de = {
66
62
  key: 2,
67
63
  class: "spicyBtnText"
68
- }, de = {
64
+ }, pe = /* @__PURE__ */ b({
69
65
  __name: "SpicyBtn",
70
66
  props: {
71
- variant: {
72
- type: String,
73
- default: "filled",
74
- validator: (e) => ["outlined", "filled"].includes(e)
75
- },
67
+ variant: { default: "filled" },
76
68
  disabled: { type: Boolean, default: !1 },
77
- text: { type: String, default: "" },
78
- icon: String,
79
- mdi: String,
80
- bgColor: String,
81
- textColor: String,
82
- hoverColor: String,
83
- borderColor: String,
84
- // Custom color (if outlined variant)
85
- fontSize: { type: [Number, String], default: 16 },
86
- fontWeight: { type: [Number, String], default: 500 }
69
+ text: { default: "" },
70
+ icon: { default: "" },
71
+ mdi: { default: "" },
72
+ bgColor: { default: "" },
73
+ textColor: { default: "#ddd" },
74
+ hoverColor: { default: "" },
75
+ borderColor: { default: "" },
76
+ fontSize: { default: 16 },
77
+ fontWeight: { default: 500 }
87
78
  },
88
79
  emits: ["click"],
89
80
  setup(e, { emit: t }) {
90
- const l = e, a = m(() => ({
91
- "--skFontSize": typeof l.fontSize == "number" ? `${l.fontSize}px` : l.fontSize,
92
- "--skFontWeight": l.fontWeight,
93
- "--skBgColor": l.bgColor,
94
- "--skTextColor": l.textColor,
95
- "--skBorderColor": l.borderColor,
96
- "--hoverColor": l.hoverColor
97
- })), o = m(() => !l.text && (l.icon || l.mdi));
98
- return (r, d) => {
99
- const y = X("spicyRipple");
100
- return M((n(), s("button", {
101
- class: b(["spicyBtn", { outlined: e.variant === "outlined", disabled: e.disabled, rounded: o.value }]),
81
+ const o = e, a = g(() => ({
82
+ "--skFontSize": typeof o.fontSize == "number" ? `${o.fontSize}px` : o.fontSize,
83
+ "--skFontWeight": o.fontWeight,
84
+ "--skBgColor": o.bgColor,
85
+ "--skTextColor": o.textColor,
86
+ "--skBorderColor": o.borderColor,
87
+ "--hoverColor": o.hoverColor
88
+ })), l = g(() => !o.text && (o.icon || o.mdi));
89
+ return (s, u) => {
90
+ const i = q("spicyRipple");
91
+ return D((r(), c("button", {
92
+ class: C(["spicyBtn", { outlined: s.variant === "outlined", disabled: s.disabled, isRound: l.value }]),
102
93
  style: k({ ...a.value }),
103
- disabled: e.disabled,
104
- onClick: d[0] || (d[0] = (c) => r.$emit("click")),
94
+ disabled: s.disabled,
95
+ onClick: u[0] || (u[0] = (d) => s.$emit("click")),
105
96
  role: "button",
106
- "aria-label": e.text,
107
- "aria-disabled": e.disabled,
108
- tabindex: e.disabled ? -1 : 0
97
+ "aria-label": s.text,
98
+ "aria-disabled": s.disabled,
99
+ tabindex: s.disabled ? -1 : 0
109
100
  }, [
110
- e.mdi ? (n(), s("svg", se, [
111
- f("path", {
101
+ s.mdi ? (r(), c("svg", re, [
102
+ h("path", {
112
103
  fill: "currentColor",
113
104
  class: "mdi-icon",
114
- d: e.mdi
115
- }, null, 8, re)
116
- ])) : p("", !0),
117
- e.icon && !e.mdi ? (n(), s("span", ce, g(e.icon), 1)) : p("", !0),
118
- e.text ? (n(), s("span", ue, g(e.text), 1)) : p("", !0),
119
- h(r.$slots, "default")
120
- ], 14, ne)), [
121
- [y]
105
+ d: s.mdi
106
+ }, null, 8, ce)
107
+ ])) : f("", !0),
108
+ s.icon && !s.mdi ? (r(), c("span", ue, v(s.icon), 1)) : f("", !0),
109
+ s.text ? (r(), c("span", de, v(s.text), 1)) : f("", !0),
110
+ m(s.$slots, "default")
111
+ ], 14, ie)), [
112
+ [i]
122
113
  ]);
123
114
  };
124
115
  }
125
- }, ye = ["aria-label"], pe = { class: "spicyCarouselInfoText" }, fe = { class: "spicyCarouselTitle" }, ge = { key: 0 }, he = {
116
+ }), fe = ["aria-label"], ye = { class: "spicyCarouselInfoText" }, he = { class: "spicyCarouselTitle" }, ve = { key: 0 }, me = {
126
117
  key: 0,
127
118
  class: "spicyCarouselNavControls"
128
- }, ve = /* @__PURE__ */ f("span", { class: "spicyCarouselPrevBtnIcon" }, "<", -1), me = [
129
- ve
130
- ], be = /* @__PURE__ */ f("span", { class: "spicyCarouselNextBtnIcon" }, ">", -1), Se = [
131
- be
132
- ], Ce = {
119
+ }, ge = /* @__PURE__ */ h("span", { class: "spicyCarouselPrevBtnIcon" }, "<", -1), be = [
120
+ ge
121
+ ], Ce = /* @__PURE__ */ h("span", { class: "spicyCarouselNextBtnIcon" }, ">", -1), Se = [
122
+ Ce
123
+ ], ke = {
133
124
  key: 1,
134
125
  class: "spicyCarouselPagination"
135
- }, ke = ["onClick"], we = { class: "spicyCarouselPage" }, xe = {
126
+ }, we = ["onClick"], $e = { class: "spicyCarouselPage" }, _e = /* @__PURE__ */ b({
136
127
  __name: "SpicyCarousel",
137
128
  props: {
138
129
  autoplay: { type: Boolean, default: !1 },
139
- autoplaySpeed: { type: Number, default: 5e3 },
130
+ autoplaySpeed: { default: 5e3 },
140
131
  showNavigation: { type: Boolean, default: !0 },
141
132
  showPagination: { type: Boolean, default: !0 },
142
- activeColor: { type: String, default: "var(--skPrimaryColor)" },
133
+ activeColor: { default: "var(--skPrimaryColor)" },
143
134
  loop: { type: Boolean, default: !0 },
144
- initialSlide: { type: Number, default: 0 },
145
- slides: { type: Array, required: !0 },
146
- width: { type: String, default: "580px" },
147
- height: { type: String, default: "360px" },
135
+ initialSlide: { default: 0 },
136
+ slides: { default: () => [] },
137
+ width: { default: "580px" },
138
+ height: { default: "360px" },
148
139
  fullScreen: { type: Boolean, default: !1 },
149
140
  enableImageClick: { type: Boolean, default: !1 }
150
141
  },
151
142
  setup(e) {
152
- let t, l, a = !1;
153
- const o = e, r = m(() => ({
154
- "--width": o.width,
155
- "--height": o.height,
156
- "--activeColor": o.activeColor
157
- })), d = m(() => o.slides[c.value].title), y = m(() => i.value.fullScreen === !1 ? !1 : o.fullScreen), c = S(o.initialSlide), i = m(() => o.slides[c.value]);
158
- let u;
159
- const w = () => {
160
- c.value = (c.value - 1 + o.slides.length) % o.slides.length;
161
- }, x = () => {
162
- c.value = (c.value + 1) % o.slides.length;
163
- }, E = (v) => {
164
- c.value = v;
165
- }, U = () => {
166
- clearInterval(u);
143
+ let t, o, a = !1;
144
+ const l = e, s = g(() => ({
145
+ "--width": l.width,
146
+ "--height": l.height,
147
+ "--activeColor": l.activeColor
148
+ })), u = g(() => {
149
+ var y;
150
+ return (y = l.slides[d.value]) == null ? void 0 : y.title;
151
+ }), i = g(() => n.value.fullScreen === !1 ? !1 : l.fullScreen), d = S(l.initialSlide), n = g(() => l.slides[d.value]);
152
+ let p;
153
+ const $ = () => {
154
+ d.value = (d.value - 1 + l.slides.length) % l.slides.length;
155
+ }, _ = () => {
156
+ d.value = (d.value + 1) % l.slides.length;
157
+ }, U = (y) => {
158
+ d.value = y;
159
+ }, O = () => {
160
+ p && clearInterval(p);
161
+ }, V = () => {
162
+ l.autoplay && (p = window.setInterval(_, l.autoplaySpeed));
167
163
  }, W = () => {
168
- o.autoplay && (u = setInterval(x, o.autoplaySpeed));
169
- }, R = () => {
170
- window.open(i.value.img);
164
+ window.open(n.value.img);
171
165
  }, H = () => {
172
- o.enableImageClick && R();
173
- }, _ = (v) => {
174
- t = v.touches[0].clientX, l = v.touches[0].clientY, a = !1;
175
- }, j = (v) => {
166
+ l.enableImageClick && W();
167
+ }, j = (y) => {
168
+ t = y.touches[0].clientX, o = y.touches[0].clientY, a = !1;
169
+ }, K = (y) => {
176
170
  if (!a) {
177
- const $ = v.touches[0].clientX - t, I = v.touches[0].clientY - l;
178
- Math.abs($) > Math.abs(I) && ($ > 40 ? (w(), a = !0) : $ < -40 && (x(), a = !0));
171
+ const B = y.touches[0].clientX - t, F = y.touches[0].clientY - o;
172
+ Math.abs(B) > Math.abs(F) && (B > 40 ? ($(), a = !0) : B < -40 && (_(), a = !0));
179
173
  }
180
174
  };
181
- return q(() => {
182
- o.autoplay && (u = setInterval(x, o.autoplaySpeed));
183
- }), G(() => {
184
- clearInterval(u);
185
- }), (v, $) => (n(), s("div", {
175
+ return G(() => {
176
+ V();
177
+ }), J(() => {
178
+ O();
179
+ }), (y, B) => (r(), c("div", {
186
180
  class: "spicyCarouselWrapper",
187
- style: k({ ...r.value })
181
+ style: k({ ...s.value })
188
182
  }, [
189
- f("div", {
183
+ h("div", {
190
184
  class: "spicyCarouselContainer",
191
- onMouseenter: U,
192
- onMouseleave: W,
193
- onTouchstart: _,
194
- onTouchmove: j
185
+ onMouseenter: O,
186
+ onMouseleave: V,
187
+ onTouchstart: j,
188
+ onTouchmove: K
195
189
  }, [
196
- J(F, {
190
+ Q(P, {
197
191
  name: "slide",
198
192
  mode: "out-in"
199
193
  }, {
200
- default: P(() => [
201
- (n(), s("div", {
202
- class: b(["spicyCarouselSlide", { pointCursor: o.enableImageClick }]),
203
- key: c.value,
204
- style: k({ backgroundImage: `url(${i.value.img})` }),
194
+ default: A(() => [
195
+ (r(), c("div", {
196
+ class: C(["spicyCarouselSlide", { pointCursor: l.enableImageClick }]),
197
+ key: d.value,
198
+ style: k({ backgroundImage: `url(${n.value.img})` }),
205
199
  onClick: H
206
200
  }, [
207
- e.slides[c.value].text ? (n(), s("div", {
201
+ y.slides[d.value].text ? (r(), c("div", {
208
202
  key: 0,
209
- class: b(["spicyCarouselTextOverlay", { fullScreen: y.value }]),
210
- "aria-label": e.slides[c.value].text
203
+ class: C(["spicyCarouselTextOverlay", { fullScreen: i.value }]),
204
+ "aria-label": y.slides[d.value].text
211
205
  }, [
212
- f("span", pe, g(e.slides[c.value].text), 1)
213
- ], 10, ye)) : p("", !0),
214
- h(v.$slots, "default")
206
+ h("span", ye, v(y.slides[d.value].text), 1)
207
+ ], 10, fe)) : f("", !0),
208
+ m(y.$slots, "default")
215
209
  ], 6))
216
210
  ]),
217
211
  _: 3
218
212
  })
219
213
  ], 32),
220
- f("div", fe, [
221
- d.value ? (n(), s("h2", ge, g(i.value.title), 1)) : p("", !0)
214
+ h("div", he, [
215
+ u.value ? (r(), c("h2", ve, v(n.value.title), 1)) : f("", !0)
222
216
  ]),
223
- e.showNavigation ? (n(), s("div", he, [
224
- f("button", {
217
+ y.showNavigation ? (r(), c("div", me, [
218
+ h("button", {
225
219
  class: "spicyCarouselPrevBtn",
226
- onClick: w
227
- }, me),
228
- f("button", {
220
+ onClick: $
221
+ }, be),
222
+ h("button", {
229
223
  class: "spicyCarouselNextBtn",
230
- onClick: x
224
+ onClick: _
231
225
  }, Se)
232
- ])) : p("", !0),
233
- e.showPagination ? (n(), s("div", Ce, [
234
- (n(!0), s(Y, null, A(e.slides, (I, B) => (n(), s("button", {
235
- key: B,
236
- onClick: (dt) => E(B),
237
- class: b(["spicyCarouselPageBtn", { active: B === c.value }])
226
+ ])) : f("", !0),
227
+ y.showPagination ? (r(), c("div", ke, [
228
+ (r(!0), c(E, null, z(y.slides, (F, T) => (r(), c("button", {
229
+ key: T,
230
+ onClick: (yt) => U(T),
231
+ class: C(["spicyCarouselPageBtn", { active: T === d.value }])
238
232
  }, [
239
- f("span", we, g(B + 1), 1)
240
- ], 10, ke))), 128))
241
- ])) : p("", !0)
233
+ h("span", $e, v(T + 1), 1)
234
+ ], 10, we))), 128))
235
+ ])) : f("", !0)
242
236
  ], 4));
243
237
  }
244
- }, $e = {
238
+ }), Be = /* @__PURE__ */ b({
245
239
  __name: "SpicyDivider",
246
240
  props: {
247
- variant: { type: String, default: "solid", validator: (e) => ["solid", "dashed"].includes(e) },
248
- width: { type: String, default: "100%" },
249
- height: { type: String, default: "1px" },
250
- bgColor: { type: String, default: "var(--skBgColor)" }
241
+ variant: { default: "solid" },
242
+ width: { default: "100%" },
243
+ height: { default: "1px" },
244
+ bgColor: { default: "#5f5f5f" }
251
245
  },
252
246
  setup(e) {
253
- const t = e, l = m(() => ({
247
+ const t = e, o = g(() => ({
254
248
  width: t.width,
255
- height: t.height,
256
249
  borderBottom: `${t.height} ${t.variant} ${t.bgColor}`
257
250
  }));
258
- return (a, o) => (n(), s("div", {
251
+ return (a, l) => (r(), c("div", {
259
252
  class: "spicyDivider",
260
- style: k(l.value),
253
+ style: k(o.value),
261
254
  role: "separator",
262
255
  "aria-orientation": "horizontal"
263
256
  }, [
264
- h(a.$slots, "default")
257
+ m(a.$slots, "default")
265
258
  ], 4));
266
259
  }
267
- }, Be = { class: "spicyInputLabel" }, Te = ["placeholder", "aria-label"], Me = {
260
+ }), Te = ["aria-label"], Me = ["placeholder", "aria-label"], De = {
268
261
  key: 0,
269
262
  class: "spicyInputError"
270
- }, De = {
263
+ }, Ie = /* @__PURE__ */ b({
271
264
  __name: "SpicyLabel",
272
265
  props: {
273
- value: { type: String, default: "" },
274
- placeholder: { type: String, default: "" },
275
- label: { type: String, default: "" },
276
- error: { type: String, default: "" },
277
- variant: {
278
- type: String,
279
- default: "filled",
280
- validator: (e) => ["outlined", "filled"].includes(e)
281
- }
266
+ value: { default: "" },
267
+ placeholder: { default: "" },
268
+ label: { default: "" },
269
+ error: { default: "" },
270
+ variant: { default: "filled" }
282
271
  },
283
272
  setup(e) {
284
- const l = S(e.value), a = S(!1), o = (y) => {
285
- l.value = y.target.value;
286
- }, r = () => {
273
+ const o = S(e.value), a = S(!1), l = (i) => {
274
+ const d = i.target;
275
+ o.value = d.value;
276
+ }, s = () => {
287
277
  a.value = !1;
288
- }, d = () => {
278
+ }, u = () => {
289
279
  a.value = !0;
290
280
  };
291
- return (y, c) => (n(), s("div", {
292
- class: b(["spicyInputWrapper", [e.variant, { hasValue: l.value || e.value, hasFocus: a.value, hasError: e.error }]])
281
+ return (i, d) => (r(), c("div", {
282
+ class: C(["spicyInputWrapper", [i.variant, { hasValue: o.value || i.value, hasFocus: a.value, hasError: i.error }]])
293
283
  }, [
294
- f("label", Be, g(e.label), 1),
295
- M(f("input", {
296
- class: b(["spicyInput", e.variant]),
297
- "onUpdate:modelValue": c[0] || (c[0] = (i) => l.value = i),
298
- placeholder: e.placeholder,
299
- onInput: o,
300
- onBlur: r,
301
- onFocus: d,
302
- "aria-label": e.label
303
- }, null, 42, Te), [
304
- [L, l.value]
284
+ h("label", {
285
+ class: "spicyInputLabel",
286
+ "aria-label": i.label
287
+ }, v(i.label), 9, Te),
288
+ D(h("input", {
289
+ type: "text",
290
+ name: "spicyInput",
291
+ class: C(["spicyInput", i.variant]),
292
+ "onUpdate:modelValue": d[0] || (d[0] = (n) => o.value = n),
293
+ placeholder: i.placeholder,
294
+ onInput: l,
295
+ onBlur: s,
296
+ onFocus: u,
297
+ "aria-label": i.label
298
+ }, null, 42, Me), [
299
+ [x, o.value]
305
300
  ]),
306
- h(y.$slots, "default"),
307
- e.error ? (n(), s("span", Me, g(e.error), 1)) : p("", !0)
301
+ m(i.$slots, "default"),
302
+ i.error ? (r(), c("span", De, v(i.error), 1)) : f("", !0)
308
303
  ], 2));
309
304
  }
310
- }, Ie = { class: "spicyModalHeader" }, Oe = { class: "spicyModalActions" }, Ve = ["onClick"], Fe = {
305
+ }), Oe = { class: "spicyModalHeader" }, Ve = { class: "spicyModalActions" }, Fe = ["onClick"], Le = /* @__PURE__ */ b({
311
306
  __name: "SpicyModal",
312
307
  props: {
313
- width: { type: String, default: "50%" },
314
- height: { type: String, default: "auto" },
315
- borderRadius: { type: String, default: "8px" },
316
- bgColor: { type: String, default: "#2b2b2b" },
308
+ width: { default: "400px" },
309
+ height: { default: "auto" },
310
+ borderRadius: { default: "6px" },
311
+ bgColor: { default: "" },
317
312
  visible: { type: Boolean, default: !1 },
318
- closeBtn: { type: Boolean, default: !1 },
319
- actions: { type: Array, default: () => [] },
313
+ closeBtn: { type: Boolean, default: !0 },
314
+ actions: { default: () => [] },
320
315
  closeOnClick: { type: Boolean, default: !0 },
321
- modalTitle: { type: String, default: "" }
316
+ modalTitle: { default: "" },
317
+ textColor: { default: "" }
322
318
  },
323
319
  emits: ["update:visible"],
324
320
  setup(e, { emit: t }) {
325
- const l = e, a = m(() => ({
326
- "--width": l.width,
327
- "--height": l.height,
328
- "--skBorderRadius": l.borderRadius,
329
- "--skBgColor": l.bgColor
330
- })), o = t, r = () => {
331
- o("update:visible", !1);
332
- }, d = (y) => {
333
- l.closeOnClick && y.target.classList.contains("spicyModalOverlay") && r();
321
+ const o = e, a = g(() => ({
322
+ "--width": o.width,
323
+ "--height": o.height,
324
+ "--skBorderRadius": o.borderRadius,
325
+ "--skBgColor": o.bgColor,
326
+ "--skTextColor": o.textColor
327
+ })), l = t, s = () => {
328
+ l("update:visible", !1);
329
+ }, u = (i) => {
330
+ const d = i.target;
331
+ o.closeOnClick && d.classList.contains("spicyModalOverlay") && s();
334
332
  };
335
- return (y, c) => e.visible ? (n(), s("div", {
333
+ return (i, d) => i.visible ? (r(), c("div", {
336
334
  key: 0,
337
335
  class: "spicyModalOverlay",
338
- onClick: d
336
+ onClick: u
339
337
  }, [
340
- f("div", {
338
+ h("div", {
341
339
  class: "spicyModal",
342
340
  style: k({ ...a.value })
343
341
  }, [
344
- f("header", Ie, [
345
- h(y.$slots, "spicyModalHeader", { title: e.modalTitle }, () => [
346
- Q(g(e.modalTitle), 1)
342
+ h("header", Oe, [
343
+ m(i.$slots, "spicyModalHeader", {
344
+ title: i.modalTitle,
345
+ ariaLabel: i.modalTitle
346
+ }, () => [
347
+ Z(v(i.modalTitle), 1)
347
348
  ])
348
349
  ]),
349
- h(y.$slots, "default"),
350
- f("div", Oe, [
351
- h(y.$slots, "spicyModalActions"),
352
- e.actions.length === 0 && e.closeBtn ? (n(), s("button", {
350
+ m(i.$slots, "default"),
351
+ h("div", Ve, [
352
+ m(i.$slots, "spicyModalActions"),
353
+ i.actions.length === 0 && i.closeBtn ? (r(), c("button", {
353
354
  key: 0,
354
355
  class: "spicyModalCloseBtn spicyModalActionBtn",
355
- onClick: r
356
- }, " Close ")) : p("", !0),
357
- (n(!0), s(Y, null, A(e.actions, (i) => (n(), s("button", {
356
+ onClick: s
357
+ }, " Close ")) : f("", !0),
358
+ (r(!0), c(E, null, z(i.actions, (n) => (r(), c("button", {
358
359
  class: "spicyModalExtraBtn spicyModalActionBtn",
359
- key: i.label,
360
- onClick: i.handler
361
- }, g(i.label), 9, Ve))), 128))
360
+ key: n.label,
361
+ onClick: n.handler
362
+ }, v(n.label), 9, Fe))), 128))
362
363
  ])
363
364
  ], 4)
364
- ])) : p("", !0);
365
+ ])) : f("", !0);
365
366
  }
366
- }, Pe = { class: "spicySlider" }, Ye = {
367
- key: 0,
368
- class: "spicySliderLabel"
369
- }, Ae = ["min", "max", "step"], Le = {
367
+ }), Ye = /* @__PURE__ */ b({
368
+ __name: "SpicySheet",
369
+ props: {
370
+ isRounded: { type: Boolean, default: !1 },
371
+ color: { default: "" }
372
+ },
373
+ setup(e) {
374
+ const t = e, o = g(() => ({
375
+ "--color": t.color || "transparent"
376
+ }));
377
+ return (a, l) => (r(), c("div", {
378
+ class: C(["spicySheet", { isRound: a.isRounded }]),
379
+ style: k({ ...o.value })
380
+ }, [
381
+ m(a.$slots, "default")
382
+ ], 6));
383
+ }
384
+ }), Pe = { class: "spicySlider" }, Ae = ["aria-label"], Ee = ["min", "max", "step"], ze = /* @__PURE__ */ b({
370
385
  __name: "SpicySlider",
371
386
  props: {
372
- min: { type: Number, default: 0 },
373
- max: { type: Number, default: 100 },
374
- step: { type: Number, default: 1 },
375
- label: { type: String, default: "" },
376
- modelValue: { type: Number, default: 0 }
387
+ min: { default: 0 },
388
+ max: { default: 100 },
389
+ step: { default: 1 },
390
+ label: { default: "" },
391
+ modelValue: { default: 0 }
377
392
  },
378
393
  emits: ["update:modelValue"],
379
394
  setup(e, { emit: t }) {
380
- const l = e, a = t, o = S(l.modelValue);
381
- V(
382
- () => l.modelValue,
383
- (d) => {
384
- o.value = d;
395
+ const o = e, a = t, l = S(o.modelValue);
396
+ Y(
397
+ () => o.modelValue,
398
+ (u) => {
399
+ l.value = u;
385
400
  }
386
401
  );
387
- const r = (d) => {
388
- a("update:modelValue", Number(d.target.value));
402
+ const s = (u) => {
403
+ const i = u.target;
404
+ a("update:modelValue", Number(i.value));
389
405
  };
390
- return (d, y) => (n(), s("div", Pe, [
391
- e.label ? (n(), s("label", Ye, g(e.label), 1)) : p("", !0),
392
- M(f("input", {
406
+ return (u, i) => (r(), c("div", Pe, [
407
+ u.label ? (r(), c("label", {
408
+ key: 0,
409
+ class: "spicySliderLabel",
410
+ "aria-label": u.label
411
+ }, v(u.label), 9, Ae)) : f("", !0),
412
+ D(h("input", {
413
+ name: "spicySliderInput",
393
414
  class: "spicySliderInput",
394
415
  type: "range",
395
- min: e.min,
396
- max: e.max,
397
- step: e.step,
398
- "onUpdate:modelValue": y[0] || (y[0] = (c) => o.value = c),
399
- onInput: r
400
- }, null, 40, Ae), [
401
- [L, o.value]
416
+ min: u.min,
417
+ max: u.max,
418
+ step: u.step,
419
+ "onUpdate:modelValue": i[0] || (i[0] = (d) => l.value = d),
420
+ onInput: s
421
+ }, null, 40, Ee), [
422
+ [x, l.value]
402
423
  ]),
403
- h(d.$slots, "default")
424
+ m(u.$slots, "default")
404
425
  ]));
405
426
  }
406
- }, Ne = ["tabindex", "aria-label", "aria-checked", "onKeydown"], ze = /* @__PURE__ */ f("div", { class: "spicyToggleKnob" }, null, -1), Ee = [
407
- ze
408
- ], Ue = {
427
+ }), xe = ["tabindex", "aria-label", "aria-checked", "onKeydown"], Re = /* @__PURE__ */ h("div", { class: "spicyToggleKnob" }, null, -1), Ne = [
428
+ Re
429
+ ], Ue = /* @__PURE__ */ b({
409
430
  __name: "SpicyToggle",
410
431
  props: {
411
- modelValue: Boolean,
412
- label: {
413
- type: String,
414
- default: "Toggle"
415
- },
416
- variant: {
417
- type: String,
418
- default: "filled",
419
- validator: (e) => ["outlined", "filled"].includes(e)
420
- },
421
- borderColor: String,
422
- activeColor: {
423
- type: String,
424
- default: "var(--skPrimaryColor)"
425
- }
432
+ modelValue: { type: Boolean, default: !1 },
433
+ label: { default: "" },
434
+ variant: { default: "outlined" },
435
+ borderColor: { default: "" },
436
+ activeColor: { default: "" },
437
+ disabled: { type: Boolean, default: !1 }
426
438
  },
427
439
  emits: ["update:modelValue"],
428
440
  setup(e, { emit: t }) {
429
- const l = e, a = m(() => ({
430
- "--skBorderColor": l.borderColor,
431
- "--activeColor": l.activeColor
432
- })), o = t, r = () => {
433
- o("update:modelValue", !l.modelValue);
441
+ const o = e, a = g(() => ({
442
+ "--skBorderColor": o.borderColor,
443
+ "--activeColor": o.activeColor
444
+ })), l = t, s = () => {
445
+ l("update:modelValue", !o.modelValue);
434
446
  };
435
- return (d, y) => (n(), s("div", Z({
436
- class: ["spicyToggle", { outlined: e.variant === "outlined", "is-active": e.modelValue }],
437
- tabindex: d.disabled ? -1 : 0,
447
+ return (u, i) => (r(), c("div", ee({
448
+ class: ["spicyToggle", { outlined: u.variant === "outlined", "is-active": u.modelValue }],
449
+ tabindex: u.disabled ? -1 : 0,
438
450
  role: "switch",
439
451
  style: { ...a.value },
440
- "aria-label": e.label,
441
- "aria-checked": e.modelValue.toString(),
442
- onClick: r,
452
+ "aria-label": u.label,
453
+ "aria-checked": u.modelValue,
454
+ onClick: s,
443
455
  onKeydown: [
444
- T(O(r, ["prevent"]), ["space"]),
445
- T(O(r, ["prevent"]), ["enter"])
456
+ M(L(s, ["prevent"]), ["space"]),
457
+ M(L(s, ["prevent"]), ["enter"])
446
458
  ]
447
- }, d.$attrs), Ee, 16, Ne));
459
+ }, u.$attrs), Ne, 16, xe));
448
460
  }
449
- }, We = ["aria-hidden"], Re = {
461
+ }), We = ["aria-hidden"], He = {
450
462
  key: 0,
451
463
  class: "spicyTooltipIcon"
452
- }, He = ["aria-label"], _e = {
464
+ }, je = ["aria-label"], Ke = {
453
465
  key: 2,
454
466
  class: "spicyTooltipIcon"
455
- }, je = {
467
+ }, Xe = /* @__PURE__ */ b({
456
468
  __name: "SpicyTooltip",
457
469
  props: {
458
- text: String,
459
- prependIcon: String,
460
- appendIcon: String,
461
- position: {
462
- type: String,
463
- default: "top",
464
- validator: (e) => ["top", "bottom", "left", "right"].includes(e)
465
- }
470
+ text: { default: "" },
471
+ prependIcon: { default: "" },
472
+ appendIcon: { default: "" },
473
+ position: { default: "top" }
466
474
  },
467
475
  setup(e) {
468
- const t = e, l = S(!1), a = S(null), o = ee({
476
+ const t = e, o = S(!1), a = S(null), l = te({
469
477
  position: "absolute",
470
478
  top: "0px",
471
479
  left: "0px",
472
480
  maxWidth: "175px"
473
- }), r = (i) => {
474
- const u = i.right - window.innerWidth;
475
- u > 0 && (o.left = `${parseInt(o.left) - u - 5}px`), i.left < 0 && (o.left = "5px");
476
- }, d = {
477
- top: (i, u) => {
478
- o.left = `${i.left + (i.width - u.width) / 2}px`, o.top = `${i.top - u.height - 5}px`;
481
+ }), s = (n) => {
482
+ const p = n.right - window.innerWidth;
483
+ p > 0 && (l.left = `${parseInt(l.left) - p - 5}px`), n.left < 0 && (l.left = "5px");
484
+ }, u = {
485
+ top: (n, p) => {
486
+ l.left = `${n.left + (n.width - p.width) / 2}px`, l.top = `${n.top - p.height - 5}px`;
479
487
  },
480
- bottom: (i, u) => {
481
- o.left = `${i.left + (i.width - u.width) / 2}px`, o.top = `${i.bottom + 5}px`;
488
+ bottom: (n, p) => {
489
+ l.left = `${n.left + (n.width - p.width) / 2}px`, l.top = `${n.bottom + 5}px`;
482
490
  },
483
- left: (i, u) => {
484
- o.left = `${i.left - u.width - 5}px`, o.top = `${i.top + (i.height - u.height) / 2}px`;
491
+ left: (n, p) => {
492
+ l.left = `${n.left - p.width - 5}px`, l.top = `${n.top + (n.height - p.height) / 2}px`;
485
493
  },
486
- right: (i, u) => {
487
- o.left = `${i.right + 5}px`, o.top = `${i.top + (i.height - u.height) / 2}px`;
494
+ right: (n, p) => {
495
+ l.left = `${n.right + 5}px`, l.top = `${n.top + (n.height - p.height) / 2}px`;
488
496
  }
489
- }, y = () => {
490
- l.value = !0, te(() => {
491
- if (a.value && l.value) {
492
- const i = a.value.getBoundingClientRect(), u = a.value.querySelector(".spicyTooltip").getBoundingClientRect(), w = d[t.position];
493
- w(i, u), r(u);
497
+ }, i = () => {
498
+ o.value = !0, oe(() => {
499
+ if (a.value && o.value) {
500
+ const n = a.value.getBoundingClientRect(), p = a.value.querySelector(".spicyTooltip");
501
+ if (p) {
502
+ const $ = p.getBoundingClientRect(), _ = u[t.position];
503
+ _(n, $), s($);
504
+ }
494
505
  }
495
506
  });
496
- }, c = () => {
497
- l.value = !1;
507
+ }, d = () => {
508
+ o.value = !1;
498
509
  };
499
- return (i, u) => (n(), s("div", {
500
- onMouseover: y,
501
- onMouseleave: c,
510
+ return (n, p) => (r(), c("div", {
511
+ onMouseover: i,
512
+ onMouseleave: d,
502
513
  ref_key: "host",
503
514
  ref: a
504
515
  }, [
505
- h(i.$slots, "default"),
506
- l.value ? (n(), s("div", {
516
+ m(n.$slots, "default"),
517
+ o.value ? (r(), c("div", {
507
518
  key: 0,
508
519
  class: "spicyTooltip",
509
- style: k(o),
520
+ style: k(l),
510
521
  role: "tooltip",
511
- "aria-hidden": !l.value
522
+ "aria-hidden": !o.value
512
523
  }, [
513
- e.prependIcon ? (n(), s("span", Re, g(e.prependIcon), 1)) : p("", !0),
514
- e.text ? (n(), s("span", {
524
+ n.prependIcon ? (r(), c("span", He, v(n.prependIcon), 1)) : f("", !0),
525
+ n.text ? (r(), c("span", {
515
526
  key: 1,
516
527
  class: "spicyTooltipText",
517
- "aria-label": e.text
518
- }, g(e.text), 9, He)) : p("", !0),
519
- e.appendIcon ? (n(), s("span", _e, g(e.appendIcon), 1)) : p("", !0)
520
- ], 12, We)) : p("", !0)
528
+ "aria-label": n.text
529
+ }, v(n.text), 9, je)) : f("", !0),
530
+ n.appendIcon ? (r(), c("span", Ke, v(n.appendIcon), 1)) : f("", !0)
531
+ ], 12, We)) : f("", !0)
521
532
  ], 544));
522
533
  }
523
- };
524
- function N(e, t) {
525
- const l = {
534
+ });
535
+ function R(e, t) {
536
+ const o = {
526
537
  YYYY: () => e.getFullYear().toString(),
527
538
  MM: () => (e.getMonth() + 1).toString().padStart(2, "0"),
528
539
  DD: () => e.getDate().toString().padStart(2, "0")
529
540
  };
530
- return t.replace(/YYYY|MM|DD/g, (a) => l[a]());
541
+ return t.replace(/YYYY|MM|DD/g, (a) => o[a]());
531
542
  }
532
- function Ke(e) {
533
- const [t, l, a] = e.split("-");
534
- return new Date(Number(t), Number(l) - 1, Number(a));
543
+ function qe(e) {
544
+ const [t, o, a] = e.split("-");
545
+ return new Date(Number(t), Number(o) - 1, Number(a));
535
546
  }
536
- function Xe(e, t) {
537
- const l = Math.abs(t.getTime() - e.getTime());
538
- return Math.ceil(l / (1e3 * 60 * 60 * 24));
547
+ function Ge(e, t) {
548
+ const o = Math.abs(t.getTime() - e.getTime());
549
+ return Math.ceil(o / (1e3 * 60 * 60 * 24));
539
550
  }
540
- function qe(e, t) {
541
- const l = new Date(e);
542
- return l.setDate(e.getDate() + t), l;
551
+ function Je(e, t) {
552
+ const o = new Date(e);
553
+ return o.setDate(e.getDate() + t), o;
543
554
  }
544
- function Ge(e, t) {
545
- const l = new Date(e);
546
- return l.setDate(e.getDate() - t), l;
555
+ function Qe(e, t) {
556
+ const o = new Date(e);
557
+ return o.setDate(e.getDate() - t), o;
547
558
  }
548
- function Je(e) {
559
+ function Ze(e) {
549
560
  const t = /* @__PURE__ */ new Date();
550
561
  return e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
551
562
  }
552
- function Qe(e) {
563
+ function et(e) {
553
564
  const t = /* @__PURE__ */ new Date();
554
565
  return t.setDate(t.getDate() - 1), e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
555
566
  }
556
- function Ze(e) {
567
+ function tt(e) {
557
568
  const t = /* @__PURE__ */ new Date();
558
569
  return t.setDate(t.getDate() + 1), e.getDate() === t.getDate() && e.getMonth() === t.getMonth() && e.getFullYear() === t.getFullYear();
559
570
  }
560
- function et(e = "YYYY-MM-DD", t = { show: !0, separator: "-" }) {
571
+ function ot(e = "YYYY-MM-DD", t = { show: !0, separator: "-" }) {
561
572
  if (typeof e != "string" || typeof t != "object" || !t.hasOwnProperty("show") || typeof t.show != "boolean")
562
573
  throw new Error(
563
574
  'Invalid parameters: Please provide a valid format string and options object with a boolean "show" property.'
564
575
  );
565
- let a = N(/* @__PURE__ */ new Date(), e);
576
+ let a = R(/* @__PURE__ */ new Date(), e);
566
577
  return t.separator && t.separator !== "-" && (a = a.replace(/-/g, t.separator)), t.show ? { value: a, isVisible: !0 } : { value: a, isVisible: !1 };
567
578
  }
568
- const pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
579
+ const vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
569
580
  __proto__: null,
570
- currentDate: et,
571
- dateAdd: qe,
572
- dateDiff: Xe,
573
- dateIsToday: Je,
574
- dateIsTomorrow: Ze,
575
- dateIsYesterday: Qe,
576
- dateSubtract: Ge,
577
- formatDate: N,
578
- parseDate: Ke
581
+ currentDate: ot,
582
+ dateAdd: Je,
583
+ dateDiff: Ge,
584
+ dateIsToday: Ze,
585
+ dateIsTomorrow: tt,
586
+ dateIsYesterday: et,
587
+ dateSubtract: Qe,
588
+ formatDate: R,
589
+ parseDate: qe
579
590
  }, Symbol.toStringTag, { value: "Module" }));
580
- function tt(e) {
591
+ function lt(e) {
581
592
  const t = /* @__PURE__ */ new WeakMap();
582
- function l(a) {
583
- if (C(a) || typeof a != "object")
593
+ function o(a) {
594
+ if (w(a) || typeof a != "object")
584
595
  return a;
585
596
  if (t.has(a))
586
597
  return t.get(a);
587
- const o = Array.isArray(a) ? [] : {};
588
- t.set(a, o);
589
- for (const r in a)
590
- Object.prototype.hasOwnProperty.call(a, r) && (o[r] = l(a[r]));
591
- return o;
598
+ const l = Array.isArray(a) ? [] : {};
599
+ t.set(a, l);
600
+ for (const s in a)
601
+ Object.prototype.hasOwnProperty.call(a, s) && (l[s] = o(a[s]));
602
+ return l;
592
603
  }
593
- return l(e);
604
+ return o(e);
594
605
  }
595
- function z(...e) {
606
+ function N(...e) {
596
607
  const t = {};
597
- return e.forEach((l) => {
598
- if (!C(l)) {
599
- for (const a in l)
600
- if (Object.prototype.hasOwnProperty.call(l, a)) {
601
- const o = l[a];
602
- o !== void 0 && (typeof o == "object" && o !== null && !Array.isArray(o) ? t[a] = z(t[a] || {}, o) : t[a] = o);
608
+ return e.forEach((o) => {
609
+ if (!w(o)) {
610
+ for (const a in o)
611
+ if (Object.prototype.hasOwnProperty.call(o, a)) {
612
+ const l = o[a];
613
+ l !== void 0 && (typeof l == "object" && l !== null && !Array.isArray(l) ? t[a] = N(t[a] || {}, l) : t[a] = l);
603
614
  }
604
615
  }
605
616
  }), t;
606
617
  }
607
- function lt(...e) {
608
- return C(e[0]) ? e[0] : Object.assign({}, ...e);
618
+ function at(...e) {
619
+ return w(e[0]) ? e[0] : Object.assign({}, ...e);
609
620
  }
610
- function ot(e) {
611
- return C(e) ? [] : Object.keys(e);
621
+ function st(e) {
622
+ return w(e) ? [] : Object.keys(e);
612
623
  }
613
- function at(e) {
614
- return C(e) ? [] : Object.values(e);
624
+ function nt(e) {
625
+ return w(e) ? [] : Object.values(e);
615
626
  }
616
627
  function it(e) {
617
- return C(e) ? [] : Object.entries(e);
628
+ return w(e) ? [] : Object.entries(e);
618
629
  }
619
- function C(e) {
630
+ function w(e) {
620
631
  return e === null || typeof e != "object" ? !1 : Array.isArray(e) ? e.length === 0 : Object.keys(e).length === 0;
621
632
  }
622
- const ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
633
+ const mt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
623
634
  __proto__: null,
624
- deepClone: tt,
625
- deepMerge: z,
635
+ deepClone: lt,
636
+ deepMerge: N,
626
637
  getObjectEntries: it,
627
- getObjectKeys: ot,
628
- getObjectValues: at,
629
- isObjectEmpty: C,
630
- mergeObjects: lt
638
+ getObjectKeys: st,
639
+ getObjectValues: nt,
640
+ isObjectEmpty: w,
641
+ mergeObjects: at
631
642
  }, Symbol.toStringTag, { value: "Module" }));
632
- function D(e) {
643
+ function I(e) {
633
644
  try {
634
645
  return new URL(e), !0;
635
646
  } catch (t) {
636
647
  return console.error("Invalid URL:", t), !1;
637
648
  }
638
649
  }
639
- function nt(e) {
640
- return D(e) ? new URL(e).hostname : null;
650
+ function rt(e) {
651
+ return I(e) ? new URL(e).hostname : null;
641
652
  }
642
- function st(e, t) {
643
- if (!D(e)) return e;
644
- const l = new URL(e);
645
- return Object.keys(t).forEach((a) => l.searchParams.append(a, t[a])), l.toString();
653
+ function ct(e, t) {
654
+ if (!I(e)) return e;
655
+ const o = new URL(e);
656
+ return Object.keys(t).forEach((a) => o.searchParams.append(a, t[a])), o.toString();
646
657
  }
647
- function rt(e, t, l = "https") {
648
- if (!["http", "https", "ftp", "sftp", "ftps", "ssh"].includes(l.toLowerCase()))
649
- throw new Error("Invalid protocol: " + l);
658
+ function ut(e, t, o = "https") {
659
+ if (!["http", "https", "ftp", "sftp", "ftps", "ssh"].includes(o.toLowerCase()))
660
+ throw new Error("Invalid protocol: " + o);
650
661
  if (!/^(?!:\/\/)([a-z0-9-]+\.)*[a-z0-9-]+$/i.test(e))
651
662
  throw new Error("Invalid hostname: " + e);
652
- return t.startsWith("/") || (t = "/" + t), t.endsWith("/") && t.length > 1 && (t = t.slice(0, -1)), t === "/" && (t = ""), `${l.toLowerCase()}://${e}${t}`;
663
+ return t.startsWith("/") || (t = "/" + t), t.endsWith("/") && t.length > 1 && (t = t.slice(0, -1)), t === "/" && (t = ""), `${o.toLowerCase()}://${e}${t}`;
653
664
  }
654
665
  const gt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
655
666
  __proto__: null,
656
- appendParamsToUrl: st,
657
- generateUrl: rt,
658
- getHostname: nt,
659
- isUrlValid: D
660
- }, Symbol.toStringTag, { value: "Module" })), ct = ':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--disabledOpacity: .5;--skLabelFocus: var(--skPrimaryColor);--skFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;--skFontSize: 14px;--skFontWeight: 500;--skBorderWidth: 2px;--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(--skLabelFocus)}.spicyLink:disabled{opacity:var(--disabledOpacity)}.spicyRipple{position:absolute;border-radius:50%;background:#fff9;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}}', ut = {
667
+ appendParamsToUrl: ct,
668
+ generateUrl: ut,
669
+ getHostname: rt,
670
+ isUrlValid: I
671
+ }, Symbol.toStringTag, { value: "Module" })), dt = ':root{--skBgColor: #28292a;--skBgSecondaryColor: #424344;--skBorderColor: #515353;--skPrimaryColor: #811faf;--skSecondaryColor: #0066b3;--skAccentColor: #004a77;--skHoverColor: #656769;--skTextColor: #ddd;--disabledOpacity: .5;--skLabelFocus: var(--skPrimaryColor);--skFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;--skFontSize: 14px;--skFontWeight: 500;--skBorderWidth: 2px;--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(--skLabelFocus)}.spicyLink:disabled{opacity:var(--disabledOpacity)}', pt = ".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}}", ft = {
661
672
  beforeMount(e) {
662
673
  e.style.position = "relative", e.style.overflow = "hidden", e.addEventListener("click", (t) => {
663
- const l = document.createElement("span"), a = Math.max(e.clientWidth, e.clientHeight), o = a / 2;
664
- l.style.width = l.style.height = `${a}px`, l.style.left = `${t.clientX - e.getBoundingClientRect().left - o}px`, l.style.top = `${t.clientY - e.getBoundingClientRect().top - o}px`, l.classList.add("spicyRipple");
665
- const r = e.querySelector(".spicyRipple");
666
- r && r.remove(), e.appendChild(l), l.addEventListener("animationend", () => {
667
- l.remove();
674
+ const o = document.createElement("span"), a = Math.max(e.clientWidth, e.clientHeight), l = a / 2;
675
+ o.style.width = o.style.height = `${a}px`, o.style.left = `${t.clientX - e.getBoundingClientRect().left - l}px`, o.style.top = `${t.clientY - e.getBoundingClientRect().top - l}px`, o.classList.add("spicyRipple");
676
+ const s = e.querySelector(".spicyRipple");
677
+ s && s.remove(), e.appendChild(o), o.addEventListener("animationend", () => {
678
+ o.remove();
668
679
  });
669
680
  });
670
681
  }
671
- }, ht = {
682
+ }, bt = {
672
683
  install(e, t = {}) {
673
- const { useComponents: l = !0, useStyles: a = !0, useDirectives: o = !0 } = t;
674
- if (l && (e.component("SpicyAlert", ie), e.component("SpicyBtn", de), e.component("SpicyCarousel", xe), e.component("SpicyDivider", $e), e.component("SpicyLabel", De), e.component("SpicyModal", Fe), e.component("SpicySlider", Le), e.component("SpicyToggle", Ue), e.component("SpicyTooltip", je)), a) {
675
- const r = document.createElement("style");
676
- r.textContent = ct, document.head.appendChild(r);
684
+ const { useComponents: o = !0, useStyles: a = !0, useDirectives: l = !0 } = t;
685
+ if (o && (e.component("SpicyAlert", ne), e.component("SpicyBtn", pe), e.component("SpicyCarousel", _e), e.component("SpicyDivider", Be), e.component("SpicyLabel", Ie), e.component("SpicyModal", Le), e.component("SpicySheet", Ye), e.component("SpicySlider", ze), e.component("SpicyToggle", Ue), e.component("SpicyTooltip", Xe)), a) {
686
+ const s = document.createElement("style");
687
+ s.id = "SpicyStyles", s.textContent = dt, document.head.appendChild(s);
688
+ }
689
+ if (l) {
690
+ e.directive("spicyRipple", ft);
691
+ const s = document.createElement("style");
692
+ s.id = "SpicyRippleStyles", s.textContent = pt, document.head.appendChild(s);
677
693
  }
678
- o && e.directive("spicyRipple", ut);
679
694
  }
680
695
  };
681
696
  export {
682
- ie as SpicyAlert,
683
- de as SpicyBtn,
684
- xe as SpicyCarousel,
685
- $e as SpicyDivider,
686
- ht as SpicyKatsu,
687
- De as SpicyLabel,
688
- Fe as SpicyModal,
689
- Le as SpicySlider,
697
+ ne as SpicyAlert,
698
+ pe as SpicyBtn,
699
+ _e as SpicyCarousel,
700
+ Be as SpicyDivider,
701
+ bt as SpicyKatsu,
702
+ Ie as SpicyLabel,
703
+ Le as SpicyModal,
704
+ Ye as SpicySheet,
705
+ ze as SpicySlider,
690
706
  Ue as SpicyToggle,
691
- je as SpicyTooltip,
692
- st as appendParamsToUrl,
693
- et as currentDate,
694
- qe as dateAdd,
695
- Xe as dateDiff,
696
- Je as dateIsToday,
697
- Ze as dateIsTomorrow,
698
- Qe as dateIsYesterday,
699
- Ge as dateSubtract,
700
- pt as dateUtils,
701
- tt as deepClone,
702
- z as deepMerge,
703
- N as formatDate,
704
- rt as generateUrl,
705
- nt as getHostname,
707
+ Xe as SpicyTooltip,
708
+ ct as appendParamsToUrl,
709
+ ot as currentDate,
710
+ Je as dateAdd,
711
+ Ge as dateDiff,
712
+ Ze as dateIsToday,
713
+ tt as dateIsTomorrow,
714
+ et as dateIsYesterday,
715
+ Qe as dateSubtract,
716
+ vt as dateUtils,
717
+ lt as deepClone,
718
+ N as deepMerge,
719
+ R as formatDate,
720
+ ut as generateUrl,
721
+ rt as getHostname,
706
722
  it as getObjectEntries,
707
- ot as getObjectKeys,
708
- at as getObjectValues,
709
- C as isObjectEmpty,
710
- D as isUrlValid,
711
- lt as mergeObjects,
712
- ft as objUtils,
713
- Ke as parseDate,
714
- ut as ripple,
715
- ct as spicyStyles,
723
+ st as getObjectKeys,
724
+ nt as getObjectValues,
725
+ w as isObjectEmpty,
726
+ I as isUrlValid,
727
+ at as mergeObjects,
728
+ mt as objUtils,
729
+ qe as parseDate,
730
+ ft as ripple,
716
731
  gt as urlUtils
717
732
  };