@wishbone-media/spark 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,130 +1,130 @@
1
- import { computed as L, resolveComponent as R, createElementBlock as v, openBlock as m, normalizeClass as V, createElementVNode as g, createCommentVNode as T, createVNode as C, unref as S, renderSlot as B, reactive as W, Fragment as E, renderList as z, toDisplayString as M, createBlock as H, resolveDynamicComponent as Z, markRaw as ce, ref as F, watch as N, onMounted as ye, Transition as gt, withCtx as P, normalizeProps as ht, mergeProps as K, createTextVNode as A, Teleport as yt, TransitionGroup as ue, inject as ve, provide as vt, withModifiers as O, toHandlers as Ie, useSlots as Be, onUnmounted as je, withDirectives as bt, vShow as xt, h as $e } from "vue";
2
- import { icon as te, library as ze } from "@fortawesome/fontawesome-svg-core";
3
- import { FontAwesomeIcon as ge } from "@fortawesome/vue-fontawesome";
4
- import { faCircleDot as Ne, faEyeDropper as Ue, faAnglesLeft as qe, faAnglesRight as Ze, faStar as Ke, faSpinnerThird as We, faCircle as kt, faFile as _e, faCalendar as Ge, faArrowUp as Ye, faArrowDown as Xe, faPlus as Je, faCircleCheck as wt, faInbox as _t, faCloudArrowUp as Ct, faCloudDownload as St, faBolt as Tt, faUndo as $t, faEye as Lt, faSignOut as Pt, faXmark as Ce, faTrash as Qe, faTimes as Mt, faStreetView as Vt, faSortUp as Ht, faSortDown as Ft, faSort as Dt, faScaleBalanced as Rt, faSatelliteDish as Et, faLayerPlus as At, faLaptopMobile as Ot, faInfoCircle as It, faGripDotsVertical as et, faGearComplex as Bt, faFlag as jt, faFaceSmileWink as zt, faFaceSmileRelaxed as Nt, faExclamationTriangle as Ut, faEllipsisVertical as qt, faEllipsis as Zt, faEdit as Kt, faComments as Wt, faCircleXmark as Gt, faCircleUser as Yt, faChevronUp as Xt, faChevronRight as tt, faChevronLeft as st, faChevronDown as at, faCheckCircle as Jt, faCheck as Se, faBullhorn as Qt, faBellRing as es, faBarsSort as ts, faArrowRightToLine as ss, faArrowLeftToLine as as } from "@fortawesome/pro-regular-svg-icons";
5
- import { faSortUp as os, faSortDown as rs, faSort as ns } from "@fortawesome/pro-duotone-svg-icons";
6
- import { defineStore as pe } from "pinia";
7
- import { useRoute as se, useRouter as G, onBeforeRouteLeave as ls } from "vue-router";
8
- import { TransitionRoot as ot, Dialog as rt, TransitionChild as he, DialogPanel as nt } from "@headlessui/vue";
9
- import be from "nprogress";
10
- import { range as is, get as ee, find as cs, has as us } from "lodash";
11
- import { HotTable as ds } from "@handsontable/vue3";
1
+ import { computed as L, resolveComponent as A, createElementBlock as v, openBlock as m, normalizeClass as V, createElementVNode as g, createCommentVNode as $, createVNode as S, unref as C, renderSlot as z, reactive as G, Fragment as E, renderList as N, toDisplayString as M, createBlock as H, resolveDynamicComponent as W, markRaw as ce, ref as D, watch as U, onMounted as pe, Transition as ht, withCtx as P, normalizeProps as yt, mergeProps as K, createTextVNode as I, Teleport as vt, TransitionGroup as ue, inject as be, provide as bt, withModifiers as O, toHandlers as Be, useSlots as je, onUnmounted as ze, withDirectives as xt, vShow as wt, h as Le } from "vue";
2
+ import { icon as se, library as Ne } from "@fortawesome/fontawesome-svg-core";
3
+ import { FontAwesomeIcon as he } from "@fortawesome/vue-fontawesome";
4
+ import { faCircleDot as Ue, faEyeDropper as qe, faAnglesLeft as Ze, faAnglesRight as We, faStar as Ke, faSpinnerThird as Ge, faCircle as kt, faFile as Se, faCalendar as Ye, faArrowUp as Xe, faArrowDown as Je, faPlus as Qe, faCircleCheck as _t, faInbox as St, faCloudArrowUp as Ct, faCloudDownload as Tt, faBolt as $t, faUndo as Lt, faEye as Pt, faSignOut as Mt, faXmark as Ce, faTrash as et, faTimes as Vt, faStreetView as Ht, faSortUp as Ft, faSortDown as Dt, faSort as Rt, faScaleBalanced as At, faSatelliteDish as Et, faLayerPlus as It, faLaptopMobile as Ot, faInfoCircle as Bt, faGripDotsVertical as tt, faGearComplex as jt, faFlag as zt, faFaceSmileWink as Nt, faFaceSmileRelaxed as Ut, faExclamationTriangle as qt, faEllipsisVertical as Zt, faEllipsis as Wt, faEdit as Kt, faComments as Gt, faCircleXmark as Yt, faCircleUser as Xt, faChevronUp as Jt, faChevronRight as st, faChevronLeft as at, faChevronDown as ot, faCheckCircle as Qt, faCheck as Te, faBullhorn as es, faBellRing as ts, faBarsSort as ss, faArrowRightToLine as as, faArrowLeftToLine as os } from "@fortawesome/pro-regular-svg-icons";
5
+ import { faSortUp as rs, faSortDown as ns, faSort as ls } from "@fortawesome/pro-duotone-svg-icons";
6
+ import { defineStore as fe } from "pinia";
7
+ import { useRoute as ee, useRouter as Y, onBeforeRouteLeave as is } from "vue-router";
8
+ import { TransitionRoot as rt, Dialog as nt, TransitionChild as ye, DialogPanel as lt } from "@headlessui/vue";
9
+ import xe from "nprogress";
10
+ import { range as cs, get as te, find as us, has as ds } from "lodash";
11
+ import { HotTable as ps } from "@handsontable/vue3";
12
12
  import "handsontable/styles/handsontable.css";
13
13
  import "handsontable/styles/ht-theme-classic.css";
14
- import { registerPlugin as me, AutoColumnSize as ps, CopyPaste as fs, StretchColumns as ms, NestedHeaders as gs } from "handsontable/plugins";
15
- import { registerAllCellTypes as hs } from "handsontable/cellTypes";
16
- import { useDebounceFn as lt, watchDebounced as Le } from "@vueuse/core";
17
- import { registerRenderer as ys, baseRenderer as vs } from "handsontable/renderers";
14
+ import { registerPlugin as ge, AutoColumnSize as fs, CopyPaste as ms, StretchColumns as gs, NestedHeaders as hs } from "handsontable/plugins";
15
+ import { registerAllCellTypes as ys } from "handsontable/cellTypes";
16
+ import { useDebounceFn as it, watchDebounced as Pe } from "@vueuse/core";
17
+ import { registerRenderer as vs, baseRenderer as bs } from "handsontable/renderers";
18
18
  import le from "axios";
19
- const D = {
20
- farArrowLeftToLine: as,
21
- farArrowRightToLine: ss,
22
- farBarsSort: ts,
23
- farBellRing: es,
24
- farBullhorn: Qt,
25
- farCheck: Se,
26
- farCheckCircle: Jt,
27
- farChevronDown: at,
28
- farChevronLeft: st,
29
- farChevronRight: tt,
30
- farChevronUp: Xt,
31
- farCircleUser: Yt,
32
- farCircleXmark: Gt,
33
- farComments: Wt,
19
+ const R = {
20
+ farArrowLeftToLine: os,
21
+ farArrowRightToLine: as,
22
+ farBarsSort: ss,
23
+ farBellRing: ts,
24
+ farBullhorn: es,
25
+ farCheck: Te,
26
+ farCheckCircle: Qt,
27
+ farChevronDown: ot,
28
+ farChevronLeft: at,
29
+ farChevronRight: st,
30
+ farChevronUp: Jt,
31
+ farCircleUser: Xt,
32
+ farCircleXmark: Yt,
33
+ farComments: Gt,
34
34
  farEdit: Kt,
35
- farEllipsis: Zt,
36
- farEllipsisVertical: qt,
37
- farExclamationTriangle: Ut,
38
- farFaceSmileRelaxed: Nt,
39
- farFaceSmileWink: zt,
40
- farFlag: jt,
41
- farGearComplex: Bt,
42
- farGripDotsVertical: et,
43
- farInfoCircle: It,
35
+ farEllipsis: Wt,
36
+ farEllipsisVertical: Zt,
37
+ farExclamationTriangle: qt,
38
+ farFaceSmileRelaxed: Ut,
39
+ farFaceSmileWink: Nt,
40
+ farFlag: zt,
41
+ farGearComplex: jt,
42
+ farGripDotsVertical: tt,
43
+ farInfoCircle: Bt,
44
44
  farLaptopMobile: Ot,
45
- farLayerPlus: At,
45
+ farLayerPlus: It,
46
46
  farSatelliteDish: Et,
47
- farScaleBalanced: Rt,
48
- farSort: Dt,
49
- farSortDown: Ft,
50
- farSortUp: Ht,
51
- farStreetView: Vt,
52
- farTimes: Mt,
53
- farTrash: Qe,
47
+ farScaleBalanced: At,
48
+ farSort: Rt,
49
+ farSortDown: Dt,
50
+ farSortUp: Ft,
51
+ farStreetView: Ht,
52
+ farTimes: Vt,
53
+ farTrash: et,
54
54
  farXmark: Ce,
55
- farSignOut: Pt,
56
- farEye: Lt,
57
- farUndo: $t,
58
- farBolt: Tt,
59
- farCloudDownload: St,
55
+ farSignOut: Mt,
56
+ farEye: Pt,
57
+ farUndo: Lt,
58
+ farBolt: $t,
59
+ farCloudDownload: Tt,
60
60
  farCloudArrowUp: Ct,
61
- farInbox: _t,
62
- farCircleCheck: wt,
63
- fadSort: ns,
64
- fadSortDown: rs,
65
- fadSortUp: os,
61
+ farInbox: St,
62
+ farCircleCheck: _t,
63
+ fadSort: ls,
64
+ fadSortDown: ns,
65
+ fadSortUp: rs,
66
66
  // Additional icons for FormKit genesis replacement
67
- farPlus: Je,
68
- farArrowDown: Xe,
69
- farArrowUp: Ye,
70
- farCalendar: Ge,
71
- farFile: _e,
67
+ farPlus: Qe,
68
+ farArrowDown: Je,
69
+ farArrowUp: Xe,
70
+ farCalendar: Ye,
71
+ farFile: Se,
72
72
  farCircle: kt,
73
- farSpinner: We,
73
+ farSpinner: Ge,
74
74
  farStar: Ke,
75
- farAnglesRight: Ze,
76
- farAnglesLeft: qe,
77
- farEyeDropper: Ue,
78
- farCircleDot: Ne
75
+ farAnglesRight: We,
76
+ farAnglesLeft: Ze,
77
+ farEyeDropper: qe,
78
+ farCircleDot: Ue
79
79
  }, Qn = Object.fromEntries(
80
- Object.entries(D).map(([e, s]) => {
81
- const t = te(s);
80
+ Object.entries(R).map(([e, s]) => {
81
+ const t = se(s);
82
82
  return [e, t?.html?.[0] || ""];
83
83
  })
84
- ), bs = {
85
- add: Je,
86
- arrowDown: Xe,
87
- arrowUp: Ye,
88
- check: Se,
84
+ ), xs = {
85
+ add: Qe,
86
+ arrowDown: Je,
87
+ arrowUp: Xe,
88
+ check: Te,
89
89
  close: Ce,
90
- checkboxDecorator: Se,
91
- date: Ge,
92
- dragHandle: et,
93
- fileItem: _e,
90
+ checkboxDecorator: Te,
91
+ date: Ye,
92
+ dragHandle: tt,
93
+ fileItem: Se,
94
94
  fileRemove: Ce,
95
- noFiles: _e,
96
- radioDecorator: Ne,
95
+ noFiles: Se,
96
+ radioDecorator: Ue,
97
97
  // Circle with dot for radio indicator
98
- select: at,
99
- spinner: We,
98
+ select: ot,
99
+ spinner: Ge,
100
100
  star: Ke,
101
- trash: Qe,
102
- fastForward: Ze,
103
- right: tt,
104
- left: st,
105
- rewind: qe,
106
- color: Ue
101
+ trash: et,
102
+ fastForward: We,
103
+ right: st,
104
+ left: at,
105
+ rewind: Ze,
106
+ color: qe
107
107
  }, el = Object.fromEntries(
108
- Object.entries(bs).map(([e, s]) => {
109
- const t = te(s);
108
+ Object.entries(xs).map(([e, s]) => {
109
+ const t = se(s);
110
110
  return [e, t?.html?.[0] || ""];
111
111
  })
112
112
  );
113
113
  function tl(e) {
114
- const s = D[e];
114
+ const s = R[e];
115
115
  if (s) {
116
- const t = te(s);
116
+ const t = se(s);
117
117
  return Promise.resolve(t?.html?.[0] || void 0);
118
118
  }
119
119
  return Promise.resolve(void 0);
120
120
  }
121
121
  function sl(e) {
122
- Object.assign(D, e), ze.add(...Object.values(e));
122
+ Object.assign(R, e), Ne.add(...Object.values(e));
123
123
  }
124
124
  function al(e) {
125
- ze.add(...Object.values(D)), e.component("FontAwesomeIcon", ge);
125
+ Ne.add(...Object.values(R)), e.component("FontAwesomeIcon", he);
126
126
  }
127
- const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }, ws = { class: "ml-3" }, _s = {
127
+ const ws = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }, _s = { class: "ml-3" }, Ss = {
128
128
  key: 0,
129
129
  class: "ml-auto pl-3 pt-1 self-start"
130
130
  }, Cs = { class: "-mx-1.5 -my-1.5" }, re = {
@@ -164,38 +164,38 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
164
164
  info: "text-blue-400 hover:bg-blue-100"
165
165
  })[s.type]);
166
166
  return (o, i) => {
167
- const r = R("font-awesome-icon");
167
+ const r = A("font-awesome-icon");
168
168
  return m(), v("div", {
169
169
  class: V(["rounded-md border p-4", t.value])
170
170
  }, [
171
- g("div", xs, [
171
+ g("div", ws, [
172
172
  g("div", ks, [
173
- C(r, {
174
- icon: S(D)[l.value],
173
+ S(r, {
174
+ icon: C(R)[l.value],
175
175
  class: V(a.value)
176
176
  }, null, 8, ["icon", "class"])
177
177
  ]),
178
- g("div", ws, [
179
- B(o.$slots, "default")
178
+ g("div", _s, [
179
+ z(o.$slots, "default")
180
180
  ]),
181
- e.closeable ? (m(), v("div", _s, [
181
+ e.closeable ? (m(), v("div", Ss, [
182
182
  g("div", Cs, [
183
183
  g("button", {
184
184
  type: "button",
185
185
  class: V(["inline-flex rounded-md px-2 py-1.5", n.value]),
186
186
  onClick: i[0] || (i[0] = (c) => o.$emit("close"))
187
187
  }, [
188
- C(r, {
189
- icon: S(D).farXmark
188
+ S(r, {
189
+ icon: C(R).farXmark
190
190
  }, null, 8, ["icon"])
191
191
  ], 2)
192
192
  ])
193
- ])) : T("", !0)
193
+ ])) : $("", !0)
194
194
  ])
195
195
  ], 2);
196
196
  };
197
197
  }
198
- }, xe = [
198
+ }, we = [
199
199
  {
200
200
  name: "Bolt",
201
201
  description: "Job management",
@@ -244,9 +244,9 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
244
244
  href: "https://tabula.letsbolt.io",
245
245
  icon: "farCompass"
246
246
  }
247
- ], it = pe("sparkAppSelector", () => {
248
- const e = W({
249
- apps: [...xe]
247
+ ], ct = fe("sparkAppSelector", () => {
248
+ const e = G({
249
+ apps: [...we]
250
250
  }), s = (n = {}) => {
251
251
  if (n.apps && Array.isArray(n.apps)) {
252
252
  const o = n.apps.filter((i) => {
@@ -265,7 +265,7 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
265
265
  const o = /* @__PURE__ */ new Map();
266
266
  Object.keys(n.appHrefs).forEach((i) => {
267
267
  o.set(i.toLowerCase(), n.appHrefs[i]);
268
- }), e.apps = xe.map((i) => {
268
+ }), e.apps = we.map((i) => {
269
269
  const r = o.get(i.name.toLowerCase());
270
270
  return {
271
271
  ...i,
@@ -274,7 +274,7 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
274
274
  });
275
275
  return;
276
276
  }
277
- e.apps = [...xe];
277
+ e.apps = [...we];
278
278
  }, t = L(() => e.apps), a = (n) => {
279
279
  if (!n) return null;
280
280
  const o = n.toLowerCase();
@@ -290,8 +290,8 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
290
290
  return o ? o.icon : "";
291
291
  }
292
292
  };
293
- }), ct = pe("sparkApp", () => {
294
- const e = W({
293
+ }), ut = fe("sparkApp", () => {
294
+ const e = G({
295
295
  app: "",
296
296
  homeRoute: "dashboard",
297
297
  showBrandSelector: !0,
@@ -303,16 +303,16 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
303
303
  e.app = t.app || "", e.homeRoute = t.homeRoute ?? "dashboard", e.showBrandSelector = t.showBrandSelector ?? !0, e.showAppSelector = t.showAppSelector ?? !0;
304
304
  }
305
305
  };
306
- }), Ss = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, Ts = { class: "flex flex-1 flex-col" }, $s = { class: "divide-y divide-gray-200" }, Ls = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Ps = { class: "ml-auto flex items-center" }, Ms = ["href", "onClick"], Vs = { class: "gap-y-1" }, Hs = { class: "text-base text-gray-800 flex items-center" }, Fs = { class: "font-medium" }, Ds = {
306
+ }), Ts = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, $s = { class: "flex flex-1 flex-col" }, Ls = { class: "divide-y divide-gray-200" }, Ps = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Ms = { class: "ml-auto flex items-center" }, Vs = ["href", "onClick"], Hs = { class: "gap-y-1" }, Fs = { class: "text-base text-gray-800 flex items-center" }, Ds = { class: "font-medium" }, Rs = {
307
307
  key: 0,
308
308
  class: "inline-flex items-center rounded-full bg-green-100 px-1.5 py-0.5 text-xs font-medium text-green-700 ml-1"
309
- }, Rs = { class: "text-sm text-gray-500" }, Es = { class: "ml-auto flex items-center" }, As = { class: "mt-auto" }, Os = {
309
+ }, As = { class: "text-sm text-gray-500" }, Es = { class: "ml-auto flex items-center" }, Is = { class: "mt-auto" }, Os = {
310
310
  key: 0,
311
311
  class: "p-6"
312
- }, Is = {
312
+ }, Bs = {
313
313
  key: 1,
314
314
  class: "bg-gray-50 p-6"
315
- }, Bs = {
315
+ }, js = {
316
316
  __name: "SparkAppSelector",
317
317
  props: {
318
318
  bottomSlot: {
@@ -326,7 +326,7 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
326
326
  },
327
327
  emits: ["close", "select"],
328
328
  setup(e, { emit: s }) {
329
- const t = s, a = it(), l = ct(), n = L(() => {
329
+ const t = s, a = ct(), l = ut(), n = L(() => {
330
330
  const i = l.state.app;
331
331
  return a.state.apps.map((r) => ({
332
332
  ...r,
@@ -336,68 +336,68 @@ const xs = { class: "flex items-center" }, ks = { class: "shrink-0 self-start" }
336
336
  t("select", i);
337
337
  };
338
338
  return (i, r) => {
339
- const c = R("font-awesome-icon");
340
- return m(), v("div", Ss, [
341
- g("div", Ts, [
342
- g("div", $s, [
343
- g("div", Ls, [
339
+ const c = A("font-awesome-icon");
340
+ return m(), v("div", Ts, [
341
+ g("div", $s, [
342
+ g("div", Ls, [
343
+ g("div", Ps, [
344
344
  r[1] || (r[1] = g("div", null, "Mr Group Network", -1)),
345
- g("div", Ps, [
346
- C(c, {
347
- icon: S(D).farTimes,
345
+ g("div", Ms, [
346
+ S(c, {
347
+ icon: C(R).farTimes,
348
348
  class: "h-[15px] w-[15px] shrink-0 text-gray-400 cursor-pointer",
349
349
  onClick: r[0] || (r[0] = (d) => t("close"))
350
350
  }, null, 8, ["icon"])
351
351
  ])
352
352
  ]),
353
- (m(!0), v(E, null, z(n.value, (d) => (m(), v("a", {
353
+ (m(!0), v(E, null, N(n.value, (d) => (m(), v("a", {
354
354
  key: d.name,
355
355
  href: d.href,
356
356
  target: "_blank",
357
357
  class: V([d.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
358
- onClick: (p) => d.current ? p.preventDefault() : o(d)
358
+ onClick: (f) => d.current ? f.preventDefault() : o(d)
359
359
  }, [
360
- g("div", Vs, [
361
- g("div", Hs, [
362
- g("div", Fs, M(d.name), 1),
363
- d.current ? (m(), v("span", Ds, " Active ")) : T("", !0)
360
+ g("div", Hs, [
361
+ g("div", Fs, [
362
+ g("div", Ds, M(d.name), 1),
363
+ d.current ? (m(), v("span", Rs, " Active ")) : $("", !0)
364
364
  ]),
365
- g("div", Rs, M(d.description), 1)
365
+ g("div", As, M(d.description), 1)
366
366
  ]),
367
367
  g("div", Es, [
368
- C(c, {
368
+ S(c, {
369
369
  class: V([d.current ? "text-gray-700" : "text-gray-400", "h-5 w-5 shrink-0"]),
370
- icon: S(D)[d.icon]
370
+ icon: C(R)[d.icon]
371
371
  }, null, 8, ["class", "icon"])
372
372
  ])
373
- ], 10, Ms))), 128)),
373
+ ], 10, Vs))), 128)),
374
374
  r[2] || (r[2] = g("div", null, null, -1))
375
375
  ]),
376
- g("div", As, [
376
+ g("div", Is, [
377
377
  i.$slots.bottom || e.bottomSlot ? (m(), v("div", Os, [
378
- B(i.$slots, "bottom", {}, () => [
379
- e.bottomSlot ? (m(), H(Z(e.bottomSlot), { key: 0 })) : T("", !0)
378
+ z(i.$slots, "bottom", {}, () => [
379
+ e.bottomSlot ? (m(), H(W(e.bottomSlot), { key: 0 })) : $("", !0)
380
380
  ])
381
- ])) : T("", !0),
382
- i.$slots.footer || e.footerSlot ? (m(), v("div", Is, [
383
- B(i.$slots, "footer", {}, () => [
384
- e.footerSlot ? (m(), H(Z(e.footerSlot), { key: 0 })) : T("", !0)
381
+ ])) : $("", !0),
382
+ i.$slots.footer || e.footerSlot ? (m(), v("div", Bs, [
383
+ z(i.$slots, "footer", {}, () => [
384
+ e.footerSlot ? (m(), H(W(e.footerSlot), { key: 0 })) : $("", !0)
385
385
  ])
386
- ])) : T("", !0)
386
+ ])) : $("", !0)
387
387
  ])
388
388
  ])
389
389
  ]);
390
390
  };
391
391
  }
392
- }, ut = {
392
+ }, dt = {
393
393
  success: 5e3,
394
394
  info: 5e3,
395
395
  warning: 5e3,
396
396
  danger: 0
397
397
  // sticky by default
398
- }, Pe = ["top-left", "top-right", "center", "bottom-left", "bottom-right"];
399
- function js() {
400
- const e = W({
398
+ }, Me = ["top-left", "top-right", "center", "bottom-left", "bottom-right"];
399
+ function zs() {
400
+ const e = G({
401
401
  isVisible: !1,
402
402
  type: "info",
403
403
  message: null,
@@ -413,27 +413,27 @@ function js() {
413
413
  s && (clearTimeout(s), s = null), t = 0, a = !1, l = null;
414
414
  }, o = () => {
415
415
  n(), e.isVisible = !1;
416
- }, i = (f) => {
417
- f <= 0 || (t = f, l = Date.now(), s = setTimeout(() => {
416
+ }, i = (p) => {
417
+ p <= 0 || (t = p, l = Date.now(), s = setTimeout(() => {
418
418
  o();
419
- }, f));
419
+ }, p));
420
420
  };
421
421
  return {
422
422
  state: e,
423
- show: (f = {}) => {
423
+ show: (p = {}) => {
424
424
  n();
425
425
  const {
426
- type: w = "info",
426
+ type: k = "info",
427
427
  message: _ = null,
428
428
  component: b = null,
429
429
  props: u = {},
430
430
  closeable: h = !0,
431
431
  duration: x = null,
432
432
  persistent: y = !1
433
- } = f;
434
- e.type = w, e.message = _, e.component = b ? ce(b) : null, e.props = u, e.closeable = h, e.persistent = y, e.isVisible = !0;
435
- const k = x !== null ? x : ut[w];
436
- e.duration = k, k > 0 && i(k);
433
+ } = p;
434
+ e.type = k, e.message = _, e.component = b ? ce(b) : null, e.props = u, e.closeable = h, e.persistent = y, e.isVisible = !0;
435
+ const w = x !== null ? x : dt[k];
436
+ e.duration = w, w > 0 && i(w);
437
437
  },
438
438
  hide: o,
439
439
  reset: () => {
@@ -442,8 +442,8 @@ function js() {
442
442
  pause: () => {
443
443
  if (!s || a) return;
444
444
  clearTimeout(s), s = null;
445
- const f = Date.now() - l;
446
- t = Math.max(0, t - f), a = !0;
445
+ const p = Date.now() - l;
446
+ t = Math.max(0, t - p), a = !0;
447
447
  },
448
448
  resume: () => {
449
449
  !a || t <= 0 || (a = !1, l = Date.now(), s = setTimeout(() => {
@@ -452,9 +452,9 @@ function js() {
452
452
  }
453
453
  };
454
454
  }
455
- class zs {
455
+ class Ns {
456
456
  constructor() {
457
- this.outlets = /* @__PURE__ */ new Map(), this.toastState = W({
457
+ this.outlets = /* @__PURE__ */ new Map(), this.toastState = G({
458
458
  toasts: [],
459
459
  maxToasts: 3,
460
460
  defaultPosition: "bottom-right",
@@ -470,7 +470,7 @@ class zs {
470
470
  * @returns {Object} Notification outlet instance
471
471
  */
472
472
  getOutlet(s = "default") {
473
- return this.outlets.has(s) || this.outlets.set(s, js()), this.outlets.get(s);
473
+ return this.outlets.has(s) || this.outlets.set(s, zs()), this.outlets.get(s);
474
474
  }
475
475
  /**
476
476
  * Show a banner notification in the specified outlet
@@ -550,7 +550,7 @@ class zs {
550
550
  * @param {boolean} options.newestOnTop - Whether newest toasts appear on top (default: true)
551
551
  */
552
552
  configureToasts(s = {}) {
553
- s.maxToasts !== void 0 && (this.toastState.maxToasts = s.maxToasts), s.defaultPosition !== void 0 && Pe.includes(s.defaultPosition) && (this.toastState.defaultPosition = s.defaultPosition), s.newestOnTop !== void 0 && (this.toastState.newestOnTop = s.newestOnTop);
553
+ s.maxToasts !== void 0 && (this.toastState.maxToasts = s.maxToasts), s.defaultPosition !== void 0 && Me.includes(s.defaultPosition) && (this.toastState.defaultPosition = s.defaultPosition), s.newestOnTop !== void 0 && (this.toastState.newestOnTop = s.newestOnTop);
554
554
  }
555
555
  /**
556
556
  * Show a toast notification
@@ -573,27 +573,27 @@ class zs {
573
573
  closeable: o = !0,
574
574
  duration: i = null,
575
575
  position: r = null
576
- } = s, c = ++this._toastIdCounter, d = r && Pe.includes(r) ? r : this.toastState.defaultPosition, p = i !== null ? i : ut[t], f = {
576
+ } = s, c = ++this._toastIdCounter, d = r && Me.includes(r) ? r : this.toastState.defaultPosition, f = i !== null ? i : dt[t], p = {
577
577
  id: c,
578
578
  type: t,
579
579
  message: a,
580
580
  component: l ? ce(l) : null,
581
581
  props: n,
582
582
  closeable: o,
583
- duration: p,
583
+ duration: f,
584
584
  position: d,
585
585
  createdAt: Date.now()
586
- }, w = this.toastState.toasts.filter((_) => _.position === d);
587
- if (w.length >= this.toastState.maxToasts) {
588
- const _ = this.toastState.newestOnTop ? w[w.length - 1] : w[0];
586
+ }, k = this.toastState.toasts.filter((_) => _.position === d);
587
+ if (k.length >= this.toastState.maxToasts) {
588
+ const _ = this.toastState.newestOnTop ? k[k.length - 1] : k[0];
589
589
  this.hideToast(_.id);
590
590
  }
591
591
  if (this.toastState.newestOnTop) {
592
592
  const _ = this.toastState.toasts.findIndex((b) => b.position === d);
593
- _ === -1 ? this.toastState.toasts.push(f) : this.toastState.toasts.splice(_, 0, f);
593
+ _ === -1 ? this.toastState.toasts.push(p) : this.toastState.toasts.splice(_, 0, p);
594
594
  } else
595
- this.toastState.toasts.push(f);
596
- return p > 0 && this._startToastTimer(c, p), c;
595
+ this.toastState.toasts.push(p);
596
+ return f > 0 && this._startToastTimer(c, f), c;
597
597
  }
598
598
  /**
599
599
  * Hide a specific toast by ID
@@ -666,7 +666,7 @@ class zs {
666
666
  t && (t.timeout && clearTimeout(t.timeout), this._toastTimers.delete(s));
667
667
  }
668
668
  }
669
- const j = new zs(), ol = {
669
+ const B = new Ns(), ol = {
670
670
  __name: "SparkNotificationOutlet",
671
671
  props: {
672
672
  name: {
@@ -679,34 +679,34 @@ const j = new zs(), ol = {
679
679
  }
680
680
  },
681
681
  setup(e) {
682
- const s = e, t = se(), a = L(() => j.getOutlet(s.name)), l = F(0);
683
- N(
682
+ const s = e, t = ee(), a = L(() => B.getOutlet(s.name)), l = D(0);
683
+ U(
684
684
  () => [a.value.state.message, a.value.state.component, a.value.state.type],
685
685
  () => {
686
686
  a.value.state.isVisible && l.value++;
687
687
  }
688
- ), N(
688
+ ), U(
689
689
  () => a.value.state.isVisible,
690
690
  (r) => {
691
691
  r && !a.value.state.shownOnPath && (a.value.state.shownOnPath = t.path);
692
692
  },
693
693
  { immediate: !0 }
694
- ), ye(() => {
694
+ ), pe(() => {
695
695
  s.clearOnRouteChange && (t.meta.preserveNotifications || a.value.state.isVisible && (a.value.state.persistent || a.value.state.shownOnPath && a.value.state.shownOnPath !== t.path && a.value.hide()));
696
- }), N(
696
+ }), U(
697
697
  () => t.path,
698
698
  () => {
699
699
  s.clearOnRouteChange && (t.meta.preserveNotifications || a.value.state.isVisible && (a.value.state.persistent || a.value.hide()));
700
700
  }
701
701
  );
702
702
  const n = () => {
703
- j.hide(s.name);
703
+ B.hide(s.name);
704
704
  }, o = () => {
705
- j.pause(s.name);
705
+ B.pause(s.name);
706
706
  }, i = () => {
707
- j.resume(s.name);
707
+ B.resume(s.name);
708
708
  };
709
- return (r, c) => (m(), H(gt, {
709
+ return (r, c) => (m(), H(ht, {
710
710
  "enter-active-class": "transition-all duration-300 ease-out",
711
711
  "enter-from-class": "opacity-0 -translate-y-2",
712
712
  "enter-to-class": "opacity-100 translate-y-0",
@@ -725,20 +725,20 @@ const j = new zs(), ol = {
725
725
  onMouseleave: i
726
726
  }, {
727
727
  default: P(() => [
728
- a.value.state.component ? (m(), H(Z(a.value.state.component), ht(K({ key: 0 }, a.value.state.props)), null, 16)) : (m(), v(E, { key: 1 }, [
729
- A(M(a.value.state.message), 1)
728
+ a.value.state.component ? (m(), H(W(a.value.state.component), yt(K({ key: 0 }, a.value.state.props)), null, 16)) : (m(), v(E, { key: 1 }, [
729
+ I(M(a.value.state.message), 1)
730
730
  ], 64))
731
731
  ]),
732
732
  _: 1
733
- }, 8, ["type", "closeable"])) : T("", !0)
733
+ }, 8, ["type", "closeable"])) : $("", !0)
734
734
  ]),
735
735
  _: 1
736
736
  }));
737
737
  }
738
- }, Ns = { class: "fixed top-4 left-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, Us = { class: "fixed top-4 right-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, qs = { class: "fixed top-[40%] left-1/2 -translate-x-1/2 -translate-y-1/2 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, Zs = { class: "fixed bottom-4 left-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, Ks = { class: "fixed bottom-4 right-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, rl = {
738
+ }, Us = { class: "fixed top-4 left-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, qs = { class: "fixed top-4 right-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, Zs = { class: "fixed top-[40%] left-1/2 -translate-x-1/2 -translate-y-1/2 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, Ws = { class: "fixed bottom-4 left-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, Ks = { class: "fixed bottom-4 right-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, rl = {
739
739
  __name: "SparkToastContainer",
740
740
  setup(e) {
741
- const s = j.toastState, t = L(
741
+ const s = B.toastState, t = L(
742
742
  () => s.toasts.filter((d) => d.position === "top-left")
743
743
  ), a = L(
744
744
  () => s.toasts.filter((d) => d.position === "top-right")
@@ -749,15 +749,15 @@ const j = new zs(), ol = {
749
749
  ), o = L(
750
750
  () => s.toasts.filter((d) => d.position === "bottom-right")
751
751
  ), i = (d) => {
752
- j.hideToast(d);
752
+ B.hideToast(d);
753
753
  }, r = (d) => {
754
- j.pauseToast(d);
754
+ B.pauseToast(d);
755
755
  }, c = (d) => {
756
- j.resumeToast(d);
756
+ B.resumeToast(d);
757
757
  };
758
- return (d, p) => (m(), H(yt, { to: "body" }, [
759
- g("div", Ns, [
760
- C(ue, {
758
+ return (d, f) => (m(), H(vt, { to: "body" }, [
759
+ g("div", Us, [
760
+ S(ue, {
761
761
  "enter-active-class": "transition-all duration-300 ease-out",
762
762
  "enter-from-class": "opacity-0 -translate-x-4",
763
763
  "enter-to-class": "opacity-100 translate-x-0",
@@ -766,23 +766,23 @@ const j = new zs(), ol = {
766
766
  "leave-to-class": "opacity-0 -translate-x-4"
767
767
  }, {
768
768
  default: P(() => [
769
- (m(!0), v(E, null, z(t.value, (f) => (m(), v("div", {
770
- key: f.id,
769
+ (m(!0), v(E, null, N(t.value, (p) => (m(), v("div", {
770
+ key: p.id,
771
771
  class: "pointer-events-auto"
772
772
  }, [
773
- C(re, {
774
- type: f.type,
775
- closeable: f.closeable,
776
- onClose: (w) => i(f.id),
777
- onMouseenter: (w) => r(f.id),
778
- onMouseleave: (w) => c(f.id)
773
+ S(re, {
774
+ type: p.type,
775
+ closeable: p.closeable,
776
+ onClose: (k) => i(p.id),
777
+ onMouseenter: (k) => r(p.id),
778
+ onMouseleave: (k) => c(p.id)
779
779
  }, {
780
780
  default: P(() => [
781
- f.component ? (m(), H(Z(f.component), K({
781
+ p.component ? (m(), H(W(p.component), K({
782
782
  key: 0,
783
783
  ref_for: !0
784
- }, f.props), null, 16)) : (m(), v(E, { key: 1 }, [
785
- A(M(f.message), 1)
784
+ }, p.props), null, 16)) : (m(), v(E, { key: 1 }, [
785
+ I(M(p.message), 1)
786
786
  ], 64))
787
787
  ]),
788
788
  _: 2
@@ -792,8 +792,8 @@ const j = new zs(), ol = {
792
792
  _: 1
793
793
  })
794
794
  ]),
795
- g("div", Us, [
796
- C(ue, {
795
+ g("div", qs, [
796
+ S(ue, {
797
797
  "enter-active-class": "transition-all duration-300 ease-out",
798
798
  "enter-from-class": "opacity-0 translate-x-4",
799
799
  "enter-to-class": "opacity-100 translate-x-0",
@@ -802,23 +802,23 @@ const j = new zs(), ol = {
802
802
  "leave-to-class": "opacity-0 translate-x-4"
803
803
  }, {
804
804
  default: P(() => [
805
- (m(!0), v(E, null, z(a.value, (f) => (m(), v("div", {
806
- key: f.id,
805
+ (m(!0), v(E, null, N(a.value, (p) => (m(), v("div", {
806
+ key: p.id,
807
807
  class: "pointer-events-auto"
808
808
  }, [
809
- C(re, {
810
- type: f.type,
811
- closeable: f.closeable,
812
- onClose: (w) => i(f.id),
813
- onMouseenter: (w) => r(f.id),
814
- onMouseleave: (w) => c(f.id)
809
+ S(re, {
810
+ type: p.type,
811
+ closeable: p.closeable,
812
+ onClose: (k) => i(p.id),
813
+ onMouseenter: (k) => r(p.id),
814
+ onMouseleave: (k) => c(p.id)
815
815
  }, {
816
816
  default: P(() => [
817
- f.component ? (m(), H(Z(f.component), K({
817
+ p.component ? (m(), H(W(p.component), K({
818
818
  key: 0,
819
819
  ref_for: !0
820
- }, f.props), null, 16)) : (m(), v(E, { key: 1 }, [
821
- A(M(f.message), 1)
820
+ }, p.props), null, 16)) : (m(), v(E, { key: 1 }, [
821
+ I(M(p.message), 1)
822
822
  ], 64))
823
823
  ]),
824
824
  _: 2
@@ -828,8 +828,8 @@ const j = new zs(), ol = {
828
828
  _: 1
829
829
  })
830
830
  ]),
831
- g("div", qs, [
832
- C(ue, {
831
+ g("div", Zs, [
832
+ S(ue, {
833
833
  "enter-active-class": "transition-all duration-300 ease-out",
834
834
  "enter-from-class": "opacity-0 scale-95",
835
835
  "enter-to-class": "opacity-100 scale-100",
@@ -838,23 +838,23 @@ const j = new zs(), ol = {
838
838
  "leave-to-class": "opacity-0 scale-95"
839
839
  }, {
840
840
  default: P(() => [
841
- (m(!0), v(E, null, z(l.value, (f) => (m(), v("div", {
842
- key: f.id,
841
+ (m(!0), v(E, null, N(l.value, (p) => (m(), v("div", {
842
+ key: p.id,
843
843
  class: "pointer-events-auto"
844
844
  }, [
845
- C(re, {
846
- type: f.type,
847
- closeable: f.closeable,
848
- onClose: (w) => i(f.id),
849
- onMouseenter: (w) => r(f.id),
850
- onMouseleave: (w) => c(f.id)
845
+ S(re, {
846
+ type: p.type,
847
+ closeable: p.closeable,
848
+ onClose: (k) => i(p.id),
849
+ onMouseenter: (k) => r(p.id),
850
+ onMouseleave: (k) => c(p.id)
851
851
  }, {
852
852
  default: P(() => [
853
- f.component ? (m(), H(Z(f.component), K({
853
+ p.component ? (m(), H(W(p.component), K({
854
854
  key: 0,
855
855
  ref_for: !0
856
- }, f.props), null, 16)) : (m(), v(E, { key: 1 }, [
857
- A(M(f.message), 1)
856
+ }, p.props), null, 16)) : (m(), v(E, { key: 1 }, [
857
+ I(M(p.message), 1)
858
858
  ], 64))
859
859
  ]),
860
860
  _: 2
@@ -864,8 +864,8 @@ const j = new zs(), ol = {
864
864
  _: 1
865
865
  })
866
866
  ]),
867
- g("div", Zs, [
868
- C(ue, {
867
+ g("div", Ws, [
868
+ S(ue, {
869
869
  "enter-active-class": "transition-all duration-300 ease-out",
870
870
  "enter-from-class": "opacity-0 -translate-x-4",
871
871
  "enter-to-class": "opacity-100 translate-x-0",
@@ -874,23 +874,23 @@ const j = new zs(), ol = {
874
874
  "leave-to-class": "opacity-0 -translate-x-4"
875
875
  }, {
876
876
  default: P(() => [
877
- (m(!0), v(E, null, z(n.value, (f) => (m(), v("div", {
878
- key: f.id,
877
+ (m(!0), v(E, null, N(n.value, (p) => (m(), v("div", {
878
+ key: p.id,
879
879
  class: "pointer-events-auto"
880
880
  }, [
881
- C(re, {
882
- type: f.type,
883
- closeable: f.closeable,
884
- onClose: (w) => i(f.id),
885
- onMouseenter: (w) => r(f.id),
886
- onMouseleave: (w) => c(f.id)
881
+ S(re, {
882
+ type: p.type,
883
+ closeable: p.closeable,
884
+ onClose: (k) => i(p.id),
885
+ onMouseenter: (k) => r(p.id),
886
+ onMouseleave: (k) => c(p.id)
887
887
  }, {
888
888
  default: P(() => [
889
- f.component ? (m(), H(Z(f.component), K({
889
+ p.component ? (m(), H(W(p.component), K({
890
890
  key: 0,
891
891
  ref_for: !0
892
- }, f.props), null, 16)) : (m(), v(E, { key: 1 }, [
893
- A(M(f.message), 1)
892
+ }, p.props), null, 16)) : (m(), v(E, { key: 1 }, [
893
+ I(M(p.message), 1)
894
894
  ], 64))
895
895
  ]),
896
896
  _: 2
@@ -901,7 +901,7 @@ const j = new zs(), ol = {
901
901
  })
902
902
  ]),
903
903
  g("div", Ks, [
904
- C(ue, {
904
+ S(ue, {
905
905
  "enter-active-class": "transition-all duration-300 ease-out",
906
906
  "enter-from-class": "opacity-0 translate-x-4",
907
907
  "enter-to-class": "opacity-100 translate-x-0",
@@ -910,23 +910,23 @@ const j = new zs(), ol = {
910
910
  "leave-to-class": "opacity-0 translate-x-4"
911
911
  }, {
912
912
  default: P(() => [
913
- (m(!0), v(E, null, z(o.value, (f) => (m(), v("div", {
914
- key: f.id,
913
+ (m(!0), v(E, null, N(o.value, (p) => (m(), v("div", {
914
+ key: p.id,
915
915
  class: "pointer-events-auto"
916
916
  }, [
917
- C(re, {
918
- type: f.type,
919
- closeable: f.closeable,
920
- onClose: (w) => i(f.id),
921
- onMouseenter: (w) => r(f.id),
922
- onMouseleave: (w) => c(f.id)
917
+ S(re, {
918
+ type: p.type,
919
+ closeable: p.closeable,
920
+ onClose: (k) => i(p.id),
921
+ onMouseenter: (k) => r(p.id),
922
+ onMouseleave: (k) => c(p.id)
923
923
  }, {
924
924
  default: P(() => [
925
- f.component ? (m(), H(Z(f.component), K({
925
+ p.component ? (m(), H(W(p.component), K({
926
926
  key: 0,
927
927
  ref_for: !0
928
- }, f.props), null, 16)) : (m(), v(E, { key: 1 }, [
929
- A(M(f.message), 1)
928
+ }, p.props), null, 16)) : (m(), v(E, { key: 1 }, [
929
+ I(M(p.message), 1)
930
930
  ], 64))
931
931
  ]),
932
932
  _: 2
@@ -938,10 +938,10 @@ const j = new zs(), ol = {
938
938
  ])
939
939
  ]));
940
940
  }
941
- }, dt = pe(
941
+ }, pt = fe(
942
942
  "brandFilter",
943
943
  () => {
944
- const e = W({
944
+ const e = G({
945
945
  brands: []
946
946
  }), s = (n = {}) => {
947
947
  if (!n.brands || !Array.isArray(n.brands)) {
@@ -982,57 +982,57 @@ const j = new zs(), ol = {
982
982
  paths: ["state.brands"]
983
983
  }
984
984
  }
985
- ), Ws = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, Gs = { class: "flex flex-1 flex-col" }, Ys = { class: "divide-y divide-gray-200" }, Xs = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Js = { class: "ml-auto flex items-center" }, Qs = {
985
+ ), Gs = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, Ys = { class: "flex flex-1 flex-col" }, Xs = { class: "divide-y divide-gray-200" }, Js = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Qs = { class: "ml-auto flex items-center" }, ea = {
986
986
  key: 0,
987
987
  class: "flex px-[22px] py-[15px] text-gray-500 text-sm"
988
- }, ea = ["onClick"], ta = { class: "w-full gap-y-1 flex justify-between" }, sa = { class: "flex flex-col" }, aa = { class: "flex items-center" }, oa = { class: "font-medium text-base text-gray-900" }, ra = {
988
+ }, ta = ["onClick"], sa = { class: "w-full gap-y-1 flex justify-between" }, aa = { class: "flex flex-col" }, oa = { class: "flex items-center" }, ra = { class: "font-medium text-base text-gray-900" }, na = {
989
989
  key: 0,
990
990
  class: "inline-flex items-center rounded-full bg-green-100 px-1.5 py-0.5 text-xs font-medium text-green-800 ml-1"
991
- }, na = { class: "text-sm text-gray-500 font-normal" }, la = { class: "flex items-center" }, ia = ["src", "alt"], ca = {
991
+ }, la = { class: "text-sm text-gray-500 font-normal" }, ia = { class: "flex items-center" }, ca = ["src", "alt"], ua = {
992
992
  __name: "SparkBrandSelector",
993
993
  emits: ["close", "select"],
994
994
  setup(e, { emit: s }) {
995
- const t = s, a = dt(), l = (n) => {
995
+ const t = s, a = pt(), l = (n) => {
996
996
  t("select", n);
997
997
  };
998
998
  return (n, o) => {
999
- const i = R("font-awesome-icon");
1000
- return m(), v("div", Ws, [
1001
- g("div", Gs, [
1002
- g("div", Ys, [
1003
- g("div", Xs, [
999
+ const i = A("font-awesome-icon");
1000
+ return m(), v("div", Gs, [
1001
+ g("div", Ys, [
1002
+ g("div", Xs, [
1003
+ g("div", Js, [
1004
1004
  o[1] || (o[1] = g("div", null, "Filter by Brand", -1)),
1005
- g("div", Js, [
1006
- C(i, {
1007
- icon: S(D).farTimes,
1005
+ g("div", Qs, [
1006
+ S(i, {
1007
+ icon: C(R).farTimes,
1008
1008
  class: "size-4 text-gray-400 cursor-pointer",
1009
1009
  onClick: o[0] || (o[0] = (r) => t("close"))
1010
1010
  }, null, 8, ["icon"])
1011
1011
  ])
1012
1012
  ]),
1013
- S(a).allBrands.length === 0 ? (m(), v("div", Qs, " No brands configured ")) : T("", !0),
1014
- (m(!0), v(E, null, z(S(a).allBrands, (r) => (m(), v("div", {
1013
+ C(a).allBrands.length === 0 ? (m(), v("div", ea, " No brands configured ")) : $("", !0),
1014
+ (m(!0), v(E, null, N(C(a).allBrands, (r) => (m(), v("div", {
1015
1015
  key: r.id,
1016
1016
  class: V([r.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
1017
1017
  onClick: (c) => l(r)
1018
1018
  }, [
1019
- g("div", ta, [
1020
- g("div", sa, [
1021
- g("div", aa, [
1022
- g("div", oa, M(r.name), 1),
1023
- r.current ? (m(), v("span", ra, " Current ")) : T("", !0)
1019
+ g("div", sa, [
1020
+ g("div", aa, [
1021
+ g("div", oa, [
1022
+ g("div", ra, M(r.name), 1),
1023
+ r.current ? (m(), v("span", na, " Current ")) : $("", !0)
1024
1024
  ]),
1025
- g("div", na, M(r.current ? "Current Brand" : "Change to"), 1)
1025
+ g("div", la, M(r.current ? "Current Brand" : "Change to"), 1)
1026
1026
  ]),
1027
- g("div", la, [
1027
+ g("div", ia, [
1028
1028
  g("img", {
1029
1029
  src: r.logo,
1030
1030
  alt: `${r.name} logo`,
1031
1031
  class: "h-8 w-auto"
1032
- }, null, 8, ia)
1032
+ }, null, 8, ca)
1033
1033
  ])
1034
1034
  ])
1035
- ], 10, ea))), 128)),
1035
+ ], 10, ta))), 128)),
1036
1036
  o[2] || (o[2] = g("div", null, null, -1))
1037
1037
  ]),
1038
1038
  o[3] || (o[3] = g("div", { class: "mt-auto" }, null, -1))
@@ -1040,7 +1040,7 @@ const j = new zs(), ol = {
1040
1040
  ]);
1041
1041
  };
1042
1042
  }
1043
- }, ua = ["disabled"], U = {
1043
+ }, da = ["disabled"], q = {
1044
1044
  __name: "SparkButton",
1045
1045
  props: {
1046
1046
  size: {
@@ -1063,7 +1063,7 @@ const j = new zs(), ol = {
1063
1063
  },
1064
1064
  emits: ["click"],
1065
1065
  setup(e) {
1066
- const s = e, t = F(null), a = ve("buttonGroup", null), l = L(() => {
1066
+ const s = e, t = D(null), a = be("buttonGroup", null), l = L(() => {
1067
1067
  if (!a?.isInGroup || !t.value) return null;
1068
1068
  const r = a.getButtonIndex(t.value), c = a.getButtonCount();
1069
1069
  return {
@@ -1084,15 +1084,15 @@ const j = new zs(), ol = {
1084
1084
  text: /^text-(?!white|black)/
1085
1085
  }, o = (r, c) => {
1086
1086
  if (!c) return r;
1087
- const d = r.split(" ").filter(Boolean), p = c.split(" ").filter(Boolean);
1088
- return [...d.filter((w) => !p.some((_) => {
1087
+ const d = r.split(" ").filter(Boolean), f = c.split(" ").filter(Boolean);
1088
+ return [...d.filter((k) => !f.some((_) => {
1089
1089
  const b = Object.entries(n).find(
1090
- ([h, x]) => x.test(w)
1090
+ ([h, x]) => x.test(k)
1091
1091
  )?.[0], u = Object.entries(n).find(
1092
1092
  ([h, x]) => x.test(_)
1093
1093
  )?.[0];
1094
1094
  return b && b === u;
1095
- })), ...p].join(" ");
1095
+ })), ...f].join(" ");
1096
1096
  }, i = L(() => {
1097
1097
  let r = "cursor-pointer", c = "";
1098
1098
  switch (s.size) {
@@ -1113,8 +1113,8 @@ const j = new zs(), ol = {
1113
1113
  break;
1114
1114
  }
1115
1115
  if (a?.isInGroup && l.value) {
1116
- const { isFirst: d, isLast: p } = l.value;
1117
- r += " relative inline-flex items-center focus:z-10", d && p ? r += ` rounded-${c}` : d ? r += ` rounded-l-${c} rounded-r-none` : p ? r += ` rounded-r-${c} rounded-l-none -ml-px` : r += " rounded-none -ml-px";
1116
+ const { isFirst: d, isLast: f } = l.value;
1117
+ r += " relative inline-flex items-center focus:z-10", d && f ? r += ` rounded-${c}` : d ? r += ` rounded-l-${c} rounded-r-none` : f ? r += ` rounded-r-${c} rounded-l-none -ml-px` : r += " rounded-none -ml-px";
1118
1118
  } else
1119
1119
  r += ` shadow-xs rounded-${c}`;
1120
1120
  switch (s.variant) {
@@ -1149,14 +1149,14 @@ const j = new zs(), ol = {
1149
1149
  disabled: e.disabled,
1150
1150
  onClick: c[0] || (c[0] = (d) => r.$emit("click"))
1151
1151
  }, [
1152
- B(r.$slots, "default")
1153
- ], 10, ua));
1152
+ z(r.$slots, "default")
1153
+ ], 10, da));
1154
1154
  }
1155
- }, pt = {
1155
+ }, ft = {
1156
1156
  __name: "SparkButtonGroup",
1157
1157
  setup(e) {
1158
- const s = F(null);
1159
- return vt("buttonGroup", {
1158
+ const s = D(null);
1159
+ return bt("buttonGroup", {
1160
1160
  isInGroup: !0,
1161
1161
  getButtonIndex: (l) => s.value ? Array.from(s.value.children).indexOf(l) : -1,
1162
1162
  getButtonCount: () => s.value?.children.length || 0
@@ -1165,13 +1165,13 @@ const j = new zs(), ol = {
1165
1165
  ref_key: "groupRef",
1166
1166
  ref: s
1167
1167
  }, [
1168
- B(l.$slots, "default")
1168
+ z(l.$slots, "default")
1169
1169
  ], 512));
1170
1170
  }
1171
- }, da = { class: "divide-y divide-gray-300 rounded-lg border border-gray-300 text-gray-700 bg-gray-100" }, pa = {
1171
+ }, pa = { class: "divide-y divide-gray-300 rounded-lg border border-gray-300 text-gray-700 bg-gray-100" }, fa = {
1172
1172
  key: 0,
1173
1173
  class: "px-[30px] py-5"
1174
- }, fa = {
1174
+ }, ma = {
1175
1175
  key: 1,
1176
1176
  class: "p-5"
1177
1177
  }, nl = {
@@ -1188,30 +1188,30 @@ const j = new zs(), ol = {
1188
1188
  },
1189
1189
  setup(e) {
1190
1190
  const s = e;
1191
- return (t, a) => (m(), v("div", da, [
1192
- t.$slots.header ? (m(), v("div", pa, [
1193
- B(t.$slots, "header")
1194
- ])) : T("", !0),
1191
+ return (t, a) => (m(), v("div", pa, [
1192
+ t.$slots.header ? (m(), v("div", fa, [
1193
+ z(t.$slots, "header")
1194
+ ])) : $("", !0),
1195
1195
  g("div", {
1196
1196
  class: V([s.padded ? s.paddedClass : ""])
1197
1197
  }, [
1198
- B(t.$slots, "default")
1198
+ z(t.$slots, "default")
1199
1199
  ], 2),
1200
- t.$slots.footer ? (m(), v("div", fa, [
1201
- B(t.$slots, "footer")
1202
- ])) : T("", !0)
1200
+ t.$slots.footer ? (m(), v("div", ma, [
1201
+ z(t.$slots, "footer")
1202
+ ])) : $("", !0)
1203
1203
  ]));
1204
1204
  }
1205
- }, ma = {
1205
+ }, ga = {
1206
1206
  key: 0,
1207
1207
  class: "block text-sm font-medium text-gray-700 mb-2"
1208
- }, ga = { key: 0 }, ha = { class: "text-sm text-gray-600 mb-2" }, ya = {
1208
+ }, ha = { key: 0 }, ya = { class: "text-sm text-gray-600 mb-2" }, va = {
1209
1209
  key: 1,
1210
1210
  class: "flex items-center justify-center gap-3"
1211
- }, va = { class: "text-gray-700" }, ba = {
1211
+ }, ba = { class: "text-gray-700" }, xa = {
1212
1212
  key: 0,
1213
1213
  class: "absolute inset-0 flex items-center justify-center bg-blue-50/80 rounded-md pointer-events-none"
1214
- }, xa = {
1214
+ }, wa = {
1215
1215
  key: 3,
1216
1216
  class: "flex justify-end mt-4"
1217
1217
  }, ka = {
@@ -1254,7 +1254,7 @@ const j = new zs(), ol = {
1254
1254
  },
1255
1255
  icon: {
1256
1256
  type: Object,
1257
- default: () => D.farCloudArrowUp
1257
+ default: () => R.farCloudArrowUp
1258
1258
  },
1259
1259
  browseText: {
1260
1260
  type: String,
@@ -1288,19 +1288,19 @@ const j = new zs(), ol = {
1288
1288
  },
1289
1289
  emits: ["upload-start", "upload-success", "upload-error", "file-selected", "file-cleared"],
1290
1290
  setup(e, { expose: s, emit: t }) {
1291
- const a = e, l = t, n = ve("axios"), o = F(null), i = F(!1), r = F(!1), c = F(null);
1291
+ const a = e, l = t, n = be("axios"), o = D(null), i = D(!1), r = D(!1), c = D(null);
1292
1292
  function d() {
1293
1293
  a.disabled || i.value || (r.value = !0);
1294
1294
  }
1295
- function p() {
1295
+ function f() {
1296
1296
  r.value = !1;
1297
1297
  }
1298
- function f(x) {
1298
+ function p(x) {
1299
1299
  if (r.value = !1, a.disabled || i.value) return;
1300
1300
  const y = x.dataTransfer?.files?.[0];
1301
1301
  if (y) {
1302
- if (!w(y)) {
1303
- j.show({
1302
+ if (!k(y)) {
1303
+ B.show({
1304
1304
  type: "danger",
1305
1305
  message: "File type not accepted."
1306
1306
  });
@@ -1309,16 +1309,16 @@ const j = new zs(), ol = {
1309
1309
  o.value = y, l("file-selected", y);
1310
1310
  }
1311
1311
  }
1312
- function w(x) {
1313
- const y = a.accept.split(",").map((k) => k.trim());
1314
- for (const k of y) {
1315
- if (k === "*/*") return !0;
1316
- if (k.endsWith("/*")) {
1317
- const $ = k.slice(0, -2);
1318
- if (x.type.startsWith($ + "/")) return !0;
1319
- } else if (k.startsWith(".")) {
1320
- if (x.name.toLowerCase().endsWith(k.toLowerCase())) return !0;
1321
- } else if (x.type === k) return !0;
1312
+ function k(x) {
1313
+ const y = a.accept.split(",").map((w) => w.trim());
1314
+ for (const w of y) {
1315
+ if (w === "*/*") return !0;
1316
+ if (w.endsWith("/*")) {
1317
+ const T = w.slice(0, -2);
1318
+ if (x.type.startsWith(T + "/")) return !0;
1319
+ } else if (w.startsWith(".")) {
1320
+ if (x.name.toLowerCase().endsWith(w.toLowerCase())) return !0;
1321
+ } else if (x.type === w) return !0;
1322
1322
  }
1323
1323
  return !1;
1324
1324
  }
@@ -1341,16 +1341,16 @@ const j = new zs(), ol = {
1341
1341
  i.value = !0, l("upload-start");
1342
1342
  try {
1343
1343
  const x = new FormData();
1344
- x.append(a.fieldName, o.value), Object.entries(a.extraFields).forEach(([$, I]) => {
1345
- x.append($, I);
1344
+ x.append(a.fieldName, o.value), Object.entries(a.extraFields).forEach(([T, F]) => {
1345
+ x.append(T, F);
1346
1346
  });
1347
1347
  const y = await n.post(a.uploadUrl, x, {
1348
1348
  headers: { "Content-Type": "multipart/form-data" },
1349
1349
  params: a.extraParams
1350
- }), k = a.responseParser(y);
1351
- l("upload-success", k);
1350
+ }), w = a.responseParser(y);
1351
+ l("upload-success", w);
1352
1352
  } catch (x) {
1353
- l("upload-error", x), j.show({
1353
+ l("upload-error", x), B.show({
1354
1354
  type: "danger",
1355
1355
  message: x.response?.data?.message || "Failed to upload file."
1356
1356
  });
@@ -1365,9 +1365,9 @@ const j = new zs(), ol = {
1365
1365
  selectedFile: o,
1366
1366
  uploading: i
1367
1367
  }), (x, y) => {
1368
- const k = R("FormKit"), $ = R("font-awesome-icon");
1368
+ const w = A("FormKit"), T = A("font-awesome-icon");
1369
1369
  return m(), v("div", null, [
1370
- e.label ? (m(), v("label", ma, M(e.label), 1)) : T("", !0),
1370
+ e.label ? (m(), v("label", ga, M(e.label), 1)) : $("", !0),
1371
1371
  e.variant === "dashed" ? (m(), v("div", {
1372
1372
  key: 1,
1373
1373
  class: V(["border-2 border-dashed border-gray-300 rounded-lg p-8 text-center transition-colors", {
@@ -1376,10 +1376,10 @@ const j = new zs(), ol = {
1376
1376
  }]),
1377
1377
  onDragover: O(d, ["prevent"]),
1378
1378
  onDragenter: O(d, ["prevent"]),
1379
- onDragleave: O(p, ["prevent"]),
1380
- onDrop: O(f, ["prevent"])
1379
+ onDragleave: O(f, ["prevent"]),
1380
+ onDrop: O(p, ["prevent"])
1381
1381
  }, [
1382
- C(k, {
1382
+ S(w, {
1383
1383
  ref_key: "formkitFileRef",
1384
1384
  ref: c,
1385
1385
  type: "file",
@@ -1389,36 +1389,36 @@ const j = new zs(), ol = {
1389
1389
  "outer-class": "hidden",
1390
1390
  onInput: _
1391
1391
  }, null, 8, ["name", "accept", "disabled"]),
1392
- o.value ? (m(), v("div", ya, [
1393
- C($, {
1394
- icon: S(D).farFile,
1392
+ o.value ? (m(), v("div", va, [
1393
+ S(T, {
1394
+ icon: C(R).farFile,
1395
1395
  class: "text-2xl text-gray-500"
1396
1396
  }, null, 8, ["icon"]),
1397
- g("span", va, M(o.value.name), 1),
1398
- C(U, {
1397
+ g("span", ba, M(o.value.name), 1),
1398
+ S(q, {
1399
1399
  variant: "secondary",
1400
1400
  size: "sm",
1401
1401
  onClick: u
1402
1402
  }, {
1403
1403
  default: P(() => [
1404
- C($, {
1405
- icon: S(D).farXmark
1404
+ S(T, {
1405
+ icon: C(R).farXmark
1406
1406
  }, null, 8, ["icon"])
1407
1407
  ]),
1408
1408
  _: 1
1409
1409
  })
1410
- ])) : (m(), v("div", ga, [
1411
- C($, {
1410
+ ])) : (m(), v("div", ha, [
1411
+ S(T, {
1412
1412
  icon: e.icon,
1413
1413
  class: "text-4xl text-gray-400 mb-3"
1414
1414
  }, null, 8, ["icon"]),
1415
- g("p", ha, M(e.dropText), 1),
1416
- C(U, {
1415
+ g("p", ya, M(e.dropText), 1),
1416
+ S(q, {
1417
1417
  variant: "secondary",
1418
1418
  onClick: b
1419
1419
  }, {
1420
1420
  default: P(() => [
1421
- A(M(e.browseText), 1)
1421
+ I(M(e.browseText), 1)
1422
1422
  ]),
1423
1423
  _: 1
1424
1424
  })
@@ -1430,51 +1430,51 @@ const j = new zs(), ol = {
1430
1430
  }]),
1431
1431
  onDragover: O(d, ["prevent"]),
1432
1432
  onDragenter: O(d, ["prevent"]),
1433
- onDragleave: O(p, ["prevent"]),
1434
- onDrop: O(f, ["prevent"])
1433
+ onDragleave: O(f, ["prevent"]),
1434
+ onDrop: O(p, ["prevent"])
1435
1435
  }, [
1436
- C(k, {
1436
+ S(w, {
1437
1437
  type: "file",
1438
1438
  name: e.name,
1439
1439
  accept: e.accept,
1440
1440
  disabled: e.disabled || i.value,
1441
1441
  onInput: _
1442
1442
  }, null, 8, ["name", "accept", "disabled"]),
1443
- r.value ? (m(), v("div", ba, [...y[0] || (y[0] = [
1443
+ r.value ? (m(), v("div", xa, [...y[0] || (y[0] = [
1444
1444
  g("span", { class: "text-sm text-blue-600 font-medium" }, "Drop file here", -1)
1445
- ])])) : T("", !0)
1445
+ ])])) : $("", !0)
1446
1446
  ], 34)),
1447
- e.showUploadButton ? (m(), v("div", xa, [
1448
- C(U, {
1447
+ e.showUploadButton ? (m(), v("div", wa, [
1448
+ S(q, {
1449
1449
  size: "lg",
1450
1450
  disabled: !o.value || i.value,
1451
1451
  onClick: h
1452
1452
  }, {
1453
1453
  default: P(() => [
1454
- i.value ? (m(), H($, {
1454
+ i.value ? (m(), H(T, {
1455
1455
  key: 0,
1456
- icon: S(D).farSpinner,
1456
+ icon: C(R).farSpinner,
1457
1457
  class: "mr-2 animate-spin"
1458
- }, null, 8, ["icon"])) : T("", !0),
1459
- A(" " + M(i.value ? e.uploadingText : e.uploadText), 1)
1458
+ }, null, 8, ["icon"])) : $("", !0),
1459
+ I(" " + M(i.value ? e.uploadingText : e.uploadText), 1)
1460
1460
  ]),
1461
1461
  _: 1
1462
1462
  }, 8, ["disabled"])
1463
- ])) : T("", !0),
1464
- i.value && !e.showUploadButton ? (m(), v("p", ka, M(e.uploadingText), 1)) : T("", !0)
1463
+ ])) : $("", !0),
1464
+ i.value && !e.showUploadButton ? (m(), v("p", ka, M(e.uploadingText), 1)) : $("", !0)
1465
1465
  ]);
1466
1466
  };
1467
1467
  }
1468
- }, wa = {
1468
+ }, _a = {
1469
1469
  key: 0,
1470
1470
  class: "block text-sm font-medium text-gray-700 mb-2"
1471
- }, _a = {
1471
+ }, Sa = {
1472
1472
  key: 1,
1473
1473
  class: "mb-2 relative inline-block"
1474
- }, Ca = ["href"], Sa = ["src", "alt"], Ta = ["disabled"], $a = {
1474
+ }, Ca = ["href"], Ta = ["src", "alt"], $a = ["disabled"], La = {
1475
1475
  key: 0,
1476
1476
  class: "absolute inset-0 flex items-center justify-center bg-blue-50/80 rounded-md pointer-events-none"
1477
- }, La = {
1477
+ }, Pa = {
1478
1478
  key: 3,
1479
1479
  class: "text-sm text-gray-500 mt-1"
1480
1480
  }, il = {
@@ -1523,7 +1523,7 @@ const j = new zs(), ol = {
1523
1523
  },
1524
1524
  emits: ["update:modelValue", "upload-start", "upload-success", "upload-error"],
1525
1525
  setup(e, { emit: s }) {
1526
- const t = e, a = s, l = ve("axios"), n = F(!1), o = F(!1);
1526
+ const t = e, a = s, l = be("axios"), n = D(!1), o = D(!1);
1527
1527
  function i() {
1528
1528
  a("update:modelValue", "");
1529
1529
  }
@@ -1537,17 +1537,17 @@ const j = new zs(), ol = {
1537
1537
  if (o.value = !1, t.disabled || n.value) return;
1538
1538
  const b = _.dataTransfer?.files?.[0];
1539
1539
  if (b) {
1540
- if (!p(b)) {
1541
- j.show({
1540
+ if (!f(b)) {
1541
+ B.show({
1542
1542
  type: "danger",
1543
1543
  message: "File type not accepted."
1544
1544
  });
1545
1545
  return;
1546
1546
  }
1547
- w(b);
1547
+ k(b);
1548
1548
  }
1549
1549
  }
1550
- function p(_) {
1550
+ function f(_) {
1551
1551
  const b = t.accept.split(",").map((u) => u.trim());
1552
1552
  for (const u of b) {
1553
1553
  if (u === "*/*") return !0;
@@ -1560,12 +1560,12 @@ const j = new zs(), ol = {
1560
1560
  }
1561
1561
  return !1;
1562
1562
  }
1563
- function f(_) {
1563
+ function p(_) {
1564
1564
  if (!_ || _.length === 0) return;
1565
1565
  const b = _[0].file;
1566
- b && w(b);
1566
+ b && k(b);
1567
1567
  }
1568
- async function w(_) {
1568
+ async function k(_) {
1569
1569
  n.value = !0, a("upload-start");
1570
1570
  try {
1571
1571
  const b = new FormData();
@@ -1575,12 +1575,12 @@ const j = new zs(), ol = {
1575
1575
  const u = await l.post(t.uploadUrl, b, {
1576
1576
  headers: { "Content-Type": "multipart/form-data" }
1577
1577
  }), h = t.responseParser(u);
1578
- a("update:modelValue", h), a("upload-success", u), j.show({
1578
+ a("update:modelValue", h), a("upload-success", u), B.show({
1579
1579
  type: "success",
1580
1580
  message: "Image uploaded!"
1581
1581
  });
1582
1582
  } catch (b) {
1583
- a("upload-error", b), j.show({
1583
+ a("upload-error", b), B.show({
1584
1584
  type: "danger",
1585
1585
  message: b.response?.data?.message || "Failed to upload image."
1586
1586
  });
@@ -1589,10 +1589,10 @@ const j = new zs(), ol = {
1589
1589
  }
1590
1590
  }
1591
1591
  return (_, b) => {
1592
- const u = R("font-awesome-icon"), h = R("FormKit");
1592
+ const u = A("font-awesome-icon"), h = A("FormKit");
1593
1593
  return m(), v("div", null, [
1594
- e.label ? (m(), v("label", wa, M(e.label), 1)) : T("", !0),
1595
- e.modelValue ? (m(), v("div", _a, [
1594
+ e.label ? (m(), v("label", _a, M(e.label), 1)) : $("", !0),
1595
+ e.modelValue ? (m(), v("div", Sa, [
1596
1596
  g("a", {
1597
1597
  href: e.modelValue,
1598
1598
  target: "_blank",
@@ -1602,7 +1602,7 @@ const j = new zs(), ol = {
1602
1602
  src: e.modelValue,
1603
1603
  alt: e.label || "Image preview",
1604
1604
  class: V([e.height, "w-auto object-contain border border-gray-300 rounded-md cursor-pointer hover:opacity-80 transition-opacity"])
1605
- }, null, 10, Sa)
1605
+ }, null, 10, Ta)
1606
1606
  ], 8, Ca),
1607
1607
  g("button", {
1608
1608
  type: "button",
@@ -1610,13 +1610,13 @@ const j = new zs(), ol = {
1610
1610
  disabled: e.disabled,
1611
1611
  onClick: i
1612
1612
  }, [
1613
- C(u, {
1614
- icon: S(D).farXmark,
1613
+ S(u, {
1614
+ icon: C(R).farXmark,
1615
1615
  class: "text-xs"
1616
1616
  }, null, 8, ["icon"])
1617
- ], 8, Ta)
1618
- ])) : T("", !0),
1619
- e.modelValue ? T("", !0) : (m(), v("div", {
1617
+ ], 8, $a)
1618
+ ])) : $("", !0),
1619
+ e.modelValue ? $("", !0) : (m(), v("div", {
1620
1620
  key: 2,
1621
1621
  class: V(["relative rounded-md transition-colors", {
1622
1622
  "ring-2 ring-blue-500 ring-offset-2 bg-blue-50": o.value
@@ -1626,25 +1626,25 @@ const j = new zs(), ol = {
1626
1626
  onDragleave: O(c, ["prevent"]),
1627
1627
  onDrop: O(d, ["prevent"])
1628
1628
  }, [
1629
- C(h, {
1629
+ S(h, {
1630
1630
  type: "file",
1631
1631
  name: e.name,
1632
1632
  accept: e.accept,
1633
1633
  disabled: e.disabled || n.value,
1634
- onInput: f
1634
+ onInput: p
1635
1635
  }, null, 8, ["name", "accept", "disabled"]),
1636
- o.value ? (m(), v("div", $a, [...b[0] || (b[0] = [
1636
+ o.value ? (m(), v("div", La, [...b[0] || (b[0] = [
1637
1637
  g("span", { class: "text-sm text-blue-600 font-medium" }, "Drop image here", -1)
1638
- ])])) : T("", !0)
1638
+ ])])) : $("", !0)
1639
1639
  ], 34)),
1640
- n.value ? (m(), v("p", La, "Uploading...")) : T("", !0)
1640
+ n.value ? (m(), v("p", Pa, "Uploading...")) : $("", !0)
1641
1641
  ]);
1642
1642
  };
1643
1643
  }
1644
- }, Pa = { class: "px-4 pt-5 pb-4 sm:p-6" }, Ma = {
1644
+ }, Ma = { class: "px-4 pt-5 pb-4 sm:p-6" }, Va = {
1645
1645
  key: 0,
1646
1646
  class: "text-lg font-medium text-gray-900"
1647
- }, Va = {
1647
+ }, Ha = {
1648
1648
  __name: "SparkModalDialog",
1649
1649
  props: {
1650
1650
  title: {
@@ -1722,36 +1722,36 @@ const j = new zs(), ol = {
1722
1722
  danger: "text-red-400"
1723
1723
  })[s.type]);
1724
1724
  return (r, c) => {
1725
- const d = R("font-awesome-icon");
1726
- return m(), v("div", Pa, [
1725
+ const d = A("font-awesome-icon");
1726
+ return m(), v("div", Ma, [
1727
1727
  n.value ? (m(), v("div", {
1728
1728
  key: 0,
1729
1729
  class: V(["mx-auto flex size-12 items-center justify-center rounded-full", o.value])
1730
1730
  }, [
1731
- C(d, {
1732
- icon: S(D)[n.value],
1731
+ S(d, {
1732
+ icon: C(R)[n.value],
1733
1733
  class: V(["h-5 w-5", i.value])
1734
1734
  }, null, 8, ["icon", "class"])
1735
- ], 2)) : T("", !0),
1735
+ ], 2)) : $("", !0),
1736
1736
  g("div", {
1737
1737
  class: V(["text-center", { "mt-3 sm:mt-5": n.value }])
1738
1738
  }, [
1739
- e.title ? (m(), v("h3", Ma, M(e.title), 1)) : T("", !0),
1739
+ e.title ? (m(), v("h3", Va, M(e.title), 1)) : $("", !0),
1740
1740
  e.message ? (m(), v("div", {
1741
1741
  key: 1,
1742
1742
  class: V([{ "mt-2": e.title }, "text-sm text-gray-500"])
1743
- }, M(e.message), 3)) : T("", !0)
1743
+ }, M(e.message), 3)) : $("", !0)
1744
1744
  ], 2),
1745
1745
  g("div", {
1746
1746
  class: V(["mt-5 sm:mt-6", a.value])
1747
1747
  }, [
1748
- (m(!0), v(E, null, z(t.value, (p, f) => (m(), H(S(U), {
1749
- key: f,
1750
- variant: p.variant,
1751
- onClick: (w) => r.$emit(p.event, p)
1748
+ (m(!0), v(E, null, N(t.value, (f, p) => (m(), H(C(q), {
1749
+ key: p,
1750
+ variant: f.variant,
1751
+ onClick: (k) => r.$emit(f.event, f)
1752
1752
  }, {
1753
1753
  default: P(() => [
1754
- A(M(p.text), 1)
1754
+ I(M(f.text), 1)
1755
1755
  ]),
1756
1756
  _: 2
1757
1757
  }, 1032, ["variant", "onClick"]))), 128))
@@ -1760,9 +1760,9 @@ const j = new zs(), ol = {
1760
1760
  };
1761
1761
  }
1762
1762
  };
1763
- class Ha {
1763
+ class Fa {
1764
1764
  constructor() {
1765
- this.state = W({
1765
+ this.state = G({
1766
1766
  isVisible: !1,
1767
1767
  content: null,
1768
1768
  props: {},
@@ -1797,7 +1797,7 @@ class Ha {
1797
1797
  confirmVariant: r = "primary"
1798
1798
  } = s;
1799
1799
  this.show(
1800
- Va,
1800
+ Ha,
1801
1801
  {
1802
1802
  title: a,
1803
1803
  message: l,
@@ -1818,20 +1818,20 @@ class Ha {
1818
1818
  );
1819
1819
  });
1820
1820
  }
1821
- const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto" }, Da = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, Ra = {
1821
+ const J = new Fa(), Da = { class: "fixed inset-0 z-10 w-screen overflow-y-auto" }, Ra = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, Aa = {
1822
1822
  __name: "SparkModalContainer",
1823
1823
  setup(e) {
1824
- return (s, t) => (m(), H(S(ot), {
1824
+ return (s, t) => (m(), H(C(rt), {
1825
1825
  as: "template",
1826
- show: S(J).state.isVisible
1826
+ show: C(J).state.isVisible
1827
1827
  }, {
1828
1828
  default: P(() => [
1829
- C(S(rt), {
1829
+ S(C(nt), {
1830
1830
  class: "relative z-1000",
1831
- onClose: S(J).hide
1831
+ onClose: C(J).hide
1832
1832
  }, {
1833
1833
  default: P(() => [
1834
- C(S(he), {
1834
+ S(C(ye), {
1835
1835
  as: "template",
1836
1836
  enter: "ease-out duration-300",
1837
1837
  "enter-from": "opacity-0",
@@ -1845,9 +1845,9 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1845
1845
  ])]),
1846
1846
  _: 1
1847
1847
  }),
1848
- g("div", Fa, [
1849
- g("div", Da, [
1850
- C(S(he), {
1848
+ g("div", Da, [
1849
+ g("div", Ra, [
1850
+ S(C(ye), {
1851
1851
  as: "template",
1852
1852
  enter: "ease-out duration-300",
1853
1853
  "enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
@@ -1857,9 +1857,9 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1857
1857
  "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
1858
1858
  }, {
1859
1859
  default: P(() => [
1860
- C(S(nt), { class: "relative transform overflow-hidden rounded-lg bg-white text-left shadow-xl transition-all sm:my-8 sm:w-full sm:min-w-lg sm:max-w-max" }, {
1860
+ S(C(lt), { class: "relative transform overflow-hidden rounded-lg bg-white text-left shadow-xl transition-all sm:my-8 sm:w-full sm:min-w-lg sm:max-w-max" }, {
1861
1861
  default: P(() => [
1862
- (m(), H(Z(S(J).state.content), K(S(J).state.props, Ie(S(J).state.eventHandlers)), null, 16))
1862
+ (m(), H(W(C(J).state.content), K(C(J).state.props, Be(C(J).state.eventHandlers)), null, 16))
1863
1863
  ]),
1864
1864
  _: 1
1865
1865
  })
@@ -1875,7 +1875,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1875
1875
  _: 1
1876
1876
  }, 8, ["show"]));
1877
1877
  }
1878
- }, Ea = { class: "fixed inset-0 flex" }, Me = {
1878
+ }, Ea = { class: "fixed inset-0 flex" }, Ve = {
1879
1879
  __name: "SparkOverlay",
1880
1880
  props: {
1881
1881
  position: {
@@ -1890,7 +1890,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1890
1890
  },
1891
1891
  emits: ["close"],
1892
1892
  setup(e, { emit: s }) {
1893
- const t = F(null), a = {
1893
+ const t = D(null), a = {
1894
1894
  xs: "w-[250px]",
1895
1895
  sm: "w-[300px]",
1896
1896
  md: "w-[450px]",
@@ -1899,18 +1899,18 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1899
1899
  }, l = e, n = s, o = L(() => a[l.overlayInstance.state.size] || a.md), i = () => {
1900
1900
  l.overlayInstance.close(), n("close");
1901
1901
  };
1902
- return (r, c) => (m(), H(S(ot), {
1902
+ return (r, c) => (m(), H(C(rt), {
1903
1903
  show: e.overlayInstance.state.isVisible,
1904
1904
  as: "template"
1905
1905
  }, {
1906
1906
  default: P(() => [
1907
- C(S(rt), {
1907
+ S(C(nt), {
1908
1908
  initialFocus: t.value,
1909
1909
  class: "relative z-1000",
1910
1910
  onClose: i
1911
1911
  }, {
1912
1912
  default: P(() => [
1913
- C(S(he), {
1913
+ S(C(ye), {
1914
1914
  as: "template",
1915
1915
  enter: "transition-opacity ease-linear duration-150",
1916
1916
  "enter-from": "opacity-0",
@@ -1925,7 +1925,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1925
1925
  _: 1
1926
1926
  }),
1927
1927
  g("div", Ea, [
1928
- C(S(he), {
1928
+ S(C(ye), {
1929
1929
  as: "template",
1930
1930
  enter: "transition ease-in-out duration-150 transform",
1931
1931
  "enter-from": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0",
@@ -1935,7 +1935,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1935
1935
  "leave-to": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0"
1936
1936
  }, {
1937
1937
  default: P(() => [
1938
- C(S(nt), {
1938
+ S(C(lt), {
1939
1939
  ref_key: "panelRef",
1940
1940
  ref: t,
1941
1941
  class: V([
@@ -1945,7 +1945,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1945
1945
  ])
1946
1946
  }, {
1947
1947
  default: P(() => [
1948
- (m(), H(Z(e.overlayInstance.state.content), K(e.overlayInstance.state.props, Ie(e.overlayInstance.state.eventHandlers)), null, 16))
1948
+ (m(), H(W(e.overlayInstance.state.content), K(e.overlayInstance.state.props, Be(e.overlayInstance.state.eventHandlers)), null, 16))
1949
1949
  ]),
1950
1950
  _: 1
1951
1951
  }, 8, ["class"])
@@ -1960,7 +1960,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1960
1960
  _: 1
1961
1961
  }, 8, ["show"]));
1962
1962
  }
1963
- }, Aa = ["disabled", "onClick"], cl = {
1963
+ }, Ia = ["disabled", "onClick"], cl = {
1964
1964
  __name: "SparkSubNav",
1965
1965
  props: {
1966
1966
  /**
@@ -2024,18 +2024,18 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2024
2024
  // SparkButtonGroup handles its own styling
2025
2025
  custom: ""
2026
2026
  }[t.layout]]), d = L(() => t.compact ? "text-sm" : "");
2027
- function p(b) {
2027
+ function f(b) {
2028
2028
  const u = o(b), h = i(b), x = [
2029
2029
  "inline-flex items-center transition-colors cursor-pointer",
2030
2030
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-1"
2031
2031
  ];
2032
- return h && x.push("opacity-50 cursor-not-allowed"), t.layout === "tabs" ? x.push(...f(u, h)) : t.layout === "vertical" && x.push(...w(u, h)), x;
2032
+ return h && x.push("opacity-50 cursor-not-allowed"), t.layout === "tabs" ? x.push(...p(u, h)) : t.layout === "vertical" && x.push(...k(u, h)), x;
2033
2033
  }
2034
- function f(b, u) {
2034
+ function p(b, u) {
2035
2035
  const h = ["border-b-2 -mb-px rounded-t font-medium"], x = t.compact ? "text-sm px-3 py-1.5" : "text-sm px-8 py-4";
2036
2036
  return h.push(x), b ? h.push("border-primary-600 text-primary-600") : u ? h.push("border-transparent text-gray-400") : h.push("border-transparent text-gray-600 hover:text-gray-900 hover:border-gray-300"), h;
2037
2037
  }
2038
- function w(b, u) {
2038
+ function k(b, u) {
2039
2039
  const h = ["font-medium text-sm py-1"];
2040
2040
  return b ? h.push("text-primary-600") : u ? h.push("text-gray-400") : h.push("text-gray-600 hover:text-gray-900"), h;
2041
2041
  }
@@ -2052,19 +2052,19 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2052
2052
  return (b, u) => (m(), v("nav", {
2053
2053
  class: V(c.value)
2054
2054
  }, [
2055
- t.layout === "custom" ? B(b.$slots, "default", {
2055
+ t.layout === "custom" ? z(b.$slots, "default", {
2056
2056
  key: 0,
2057
2057
  items: l.value,
2058
2058
  activeId: n.value,
2059
2059
  isActive: o,
2060
2060
  isDisabled: i,
2061
2061
  navigate: r
2062
- }) : t.layout === "horizontal" ? (m(), H(pt, {
2062
+ }) : t.layout === "horizontal" ? (m(), H(ft, {
2063
2063
  key: 1,
2064
2064
  class: "isolate"
2065
2065
  }, {
2066
2066
  default: P(() => [
2067
- (m(!0), v(E, null, z(l.value, (h) => (m(), H(U, {
2067
+ (m(!0), v(E, null, N(l.value, (h) => (m(), H(q, {
2068
2068
  key: h.id,
2069
2069
  size: "xl",
2070
2070
  variant: o(h) ? "primary" : "secondary",
@@ -2072,43 +2072,43 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2072
2072
  onClick: (x) => r(h)
2073
2073
  }, {
2074
2074
  default: P(() => [
2075
- h.icon ? (m(), H(S(ge), {
2075
+ h.icon ? (m(), H(C(he), {
2076
2076
  key: 0,
2077
- icon: S(D)[h.icon],
2077
+ icon: C(R)[h.icon],
2078
2078
  class: "mr-1.5 size-4"
2079
- }, null, 8, ["icon"])) : T("", !0),
2080
- A(" " + M(h.label) + " ", 1),
2079
+ }, null, 8, ["icon"])) : $("", !0),
2080
+ I(" " + M(h.label) + " ", 1),
2081
2081
  h.badge != null ? (m(), v("span", {
2082
2082
  key: 1,
2083
2083
  class: V(_(h))
2084
- }, M(h.badge), 3)) : T("", !0)
2084
+ }, M(h.badge), 3)) : $("", !0)
2085
2085
  ]),
2086
2086
  _: 2
2087
2087
  }, 1032, ["variant", "disabled", "onClick"]))), 128))
2088
2088
  ]),
2089
2089
  _: 1
2090
- })) : (m(!0), v(E, { key: 2 }, z(l.value, (h) => (m(), v("button", {
2090
+ })) : (m(!0), v(E, { key: 2 }, N(l.value, (h) => (m(), v("button", {
2091
2091
  key: h.id,
2092
- class: V(p(h)),
2092
+ class: V(f(h)),
2093
2093
  disabled: i(h) || void 0,
2094
2094
  onClick: (x) => r(h)
2095
2095
  }, [
2096
- o(h) && t.layout === "vertical" ? (m(), H(S(ge), {
2096
+ o(h) && t.layout === "vertical" ? (m(), H(C(he), {
2097
2097
  key: 0,
2098
- icon: S(D).farCircleCheck,
2098
+ icon: C(R).farCircleCheck,
2099
2099
  class: "mr-2 size-4"
2100
- }, null, 8, ["icon"])) : T("", !0),
2101
- h.icon && !(o(h) && t.layout === "vertical") ? (m(), H(S(ge), {
2100
+ }, null, 8, ["icon"])) : $("", !0),
2101
+ h.icon && !(o(h) && t.layout === "vertical") ? (m(), H(C(he), {
2102
2102
  key: 1,
2103
- icon: S(D)[h.icon],
2103
+ icon: C(R)[h.icon],
2104
2104
  class: V(["mr-2", d.value])
2105
- }, null, 8, ["icon", "class"])) : T("", !0),
2105
+ }, null, 8, ["icon", "class"])) : $("", !0),
2106
2106
  g("span", null, M(h.label), 1),
2107
2107
  h.badge != null ? (m(), v("span", {
2108
2108
  key: 2,
2109
2109
  class: V(_(h))
2110
- }, M(h.badge), 3)) : T("", !0)
2111
- ], 10, Aa))), 128))
2110
+ }, M(h.badge), 3)) : $("", !0)
2111
+ ], 10, Ia))), 128))
2112
2112
  ], 2));
2113
2113
  }
2114
2114
  }, Oa = (e) => {
@@ -2117,12 +2117,12 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2117
2117
  e = s[s.length - 1];
2118
2118
  }
2119
2119
  return e.replace(/_/g, " ");
2120
- }, Ia = (e, s, t) => {
2120
+ }, Ba = (e, s, t) => {
2121
2121
  const a = s.querySelector(".relative");
2122
2122
  if (!a || a.querySelector(".spark-table-head-sorting"))
2123
2123
  return;
2124
2124
  const l = document.createElement("span");
2125
- l.classList.add("spark-table-head-sorting"), l.innerHTML = te({ prefix: "fad", iconName: "sort" }).html + te({ prefix: "fad", iconName: "sort-up" }).html + te({ prefix: "fad", iconName: "sort-down" }).html, a.appendChild(l), a.addEventListener("click", async () => {
2125
+ l.classList.add("spark-table-head-sorting"), l.innerHTML = se({ prefix: "fad", iconName: "sort" }).html + se({ prefix: "fad", iconName: "sort-up" }).html + se({ prefix: "fad", iconName: "sort-down" }).html, a.appendChild(l), a.addEventListener("click", async () => {
2126
2126
  const n = t.params.orderBy, o = t.params.sortedBy;
2127
2127
  return n === e && o === "asc" ? (a.classList.remove("asc"), a.classList.add("desc"), t.methods.applyParams({
2128
2128
  orderBy: e,
@@ -2132,12 +2132,12 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2132
2132
  sortedBy: "asc"
2133
2133
  }));
2134
2134
  });
2135
- }, Ba = (e, s, t) => {
2135
+ }, ja = (e, s, t) => {
2136
2136
  if (s.querySelector(".spark-table-head-filter"))
2137
2137
  return;
2138
2138
  const a = document.createElement("div"), l = document.createElement("input");
2139
2139
  l.type = "text", l.placeholder = "Filter...", a.className = "spark-table-head-filter", a.appendChild(l);
2140
- const n = lt(async (o, i) => {
2140
+ const n = it(async (o, i) => {
2141
2141
  const r = i.target.value, c = `filter[${o}]`;
2142
2142
  if (r)
2143
2143
  return t.params[c] && t.params[c] === r ? void 0 : t.methods.applyParams({
@@ -2147,19 +2147,19 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2147
2147
  await t.methods.removeParam(c);
2148
2148
  }, 200);
2149
2149
  l.addEventListener("keyup", (o) => n(e, o)), s.appendChild(a);
2150
- }, ja = (e, s, t) => {
2150
+ }, za = (e, s, t) => {
2151
2151
  e.classList.add("spark-table-head"), t && t.columnSort && e.classList.add("can-sort"), t && t.columnFilter && e.classList.add("can-filter"), e.querySelector(".relative").classList.add("spark-table-head-title-wrapper");
2152
2152
  const l = e.querySelector(".colHeader");
2153
2153
  l.classList.add("spark-table-head-title"), l.innerHTML = Oa(s);
2154
- }, za = (e, s, t) => {
2154
+ }, Na = (e, s, t) => {
2155
2155
  if (typeof e != "number")
2156
2156
  return e;
2157
2157
  if (e < 0)
2158
2158
  return;
2159
2159
  let a = 2;
2160
2160
  const l = t.methods.colToProp(e), n = t.methods.getSettingsForProp(l);
2161
- s.childElementCount === 1 && ((!n || !n.columnSort) && a--, (!n || !n.columnFilter) && a--, n && n.columnSort && Ia(l, s, t), n && n.columnFilter && Ba(l, s, t)), (s.childElementCount === a || a === 0) && ja(s, l, n);
2162
- }, Na = (e) => {
2161
+ s.childElementCount === 1 && ((!n || !n.columnSort) && a--, (!n || !n.columnFilter) && a--, n && n.columnSort && Ba(l, s, t), n && n.columnFilter && ja(l, s, t)), (s.childElementCount === a || a === 0) && za(s, l, n);
2162
+ }, Ua = (e) => {
2163
2163
  if (!e.hotInstance || !e.hotInstance.rootElement)
2164
2164
  return;
2165
2165
  const s = e.params.orderBy, t = e.params.sortedBy, a = e.hotInstance.rootElement.querySelectorAll("thead th.can-sort .relative");
@@ -2169,41 +2169,41 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2169
2169
  const n = l.closest("th"), o = Array.from(n.parentElement.children).indexOf(n);
2170
2170
  e.methods.colToProp(o) === s && l.classList.add(t);
2171
2171
  });
2172
- }, Ua = (e) => (s, t, a, l, n, o, i) => {
2172
+ }, qa = (e) => (s, t, a, l, n, o, i) => {
2173
2173
  t.innerHTML = "", t.classList.add("spark-table-cell-actions");
2174
2174
  const c = (i.rendererConfig || {}).actions || [];
2175
2175
  if (c.length === 0)
2176
2176
  return;
2177
- const d = s.getSourceDataAtRow(s.toPhysicalRow(a)), p = document.createElement("div");
2178
- p.classList.add("flex", "items-center", "gap-2"), c.forEach((f) => {
2179
- if (f.condition && typeof f.condition == "function" && !f.condition(d))
2177
+ const d = s.getSourceDataAtRow(s.toPhysicalRow(a)), f = document.createElement("div");
2178
+ f.classList.add("flex", "items-center", "gap-2"), c.forEach((p) => {
2179
+ if (p.condition && typeof p.condition == "function" && !p.condition(d))
2180
2180
  return;
2181
- const w = document.createElement("button");
2182
- if (w.type = "button", w.classList.add("spark-table-action-button"), f.icon) {
2181
+ const k = document.createElement("button");
2182
+ if (k.type = "button", k.classList.add("spark-table-action-button"), p.icon) {
2183
2183
  const _ = document.createElement("span");
2184
- _.innerHTML = te({ prefix: "far", iconName: f.icon }).html, _.classList.add("size-4"), w.appendChild(_);
2184
+ _.innerHTML = se({ prefix: "far", iconName: p.icon }).html, _.classList.add("size-4"), k.appendChild(_);
2185
2185
  }
2186
- if (f.label) {
2186
+ if (p.label) {
2187
2187
  const _ = document.createElement("span");
2188
- _.textContent = f.label, w.appendChild(_);
2188
+ _.textContent = p.label, k.appendChild(_);
2189
2189
  }
2190
- w.addEventListener("click", async (_) => {
2191
- if (_.preventDefault(), _.stopPropagation(), f.confirm) {
2192
- const b = typeof f.confirm == "string" ? f.confirm : `Are you sure you want to ${f.label?.toLowerCase() || "perform this action"}?`;
2190
+ k.addEventListener("click", async (_) => {
2191
+ if (_.preventDefault(), _.stopPropagation(), p.confirm) {
2192
+ const b = typeof p.confirm == "string" ? p.confirm : `Are you sure you want to ${p.label?.toLowerCase() || "perform this action"}?`;
2193
2193
  if (!await J.confirm({
2194
- title: f.confirmTitle,
2194
+ title: p.confirmTitle,
2195
2195
  message: b,
2196
- type: f.confirmType,
2197
- confirmText: f.confirmText,
2198
- cancelText: f.cancelText,
2199
- confirmVariant: f.confirmVariant
2196
+ type: p.confirmType,
2197
+ confirmText: p.confirmText,
2198
+ cancelText: p.cancelText,
2199
+ confirmVariant: p.confirmVariant
2200
2200
  }))
2201
2201
  return;
2202
2202
  }
2203
- f.event && e.methods.fireEvent(f.event, d), f.handler && typeof f.handler == "function" && f.handler(d);
2204
- }), p.appendChild(w);
2205
- }), t.appendChild(p);
2206
- }, Ve = {
2203
+ p.event && e.methods.fireEvent(p.event, d), p.handler && typeof p.handler == "function" && p.handler(d);
2204
+ }), f.appendChild(k);
2205
+ }), t.appendChild(f);
2206
+ }, He = {
2207
2207
  green: "bg-green-100 text-green-800",
2208
2208
  red: "bg-red-100 text-red-800",
2209
2209
  yellow: "bg-yellow-100 text-yellow-800",
@@ -2212,11 +2212,11 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2212
2212
  purple: "bg-purple-100 text-purple-800",
2213
2213
  pink: "bg-pink-100 text-pink-800",
2214
2214
  indigo: "bg-indigo-100 text-indigo-800"
2215
- }, qa = (e) => (s, t, a, l, n, o, i) => {
2215
+ }, Za = (e) => (s, t, a, l, n, o, i) => {
2216
2216
  if (t.innerHTML = "", t.classList.add("spark-table-cell-badge"), !o)
2217
2217
  return;
2218
- const c = (i.rendererConfig || {}).colorMap || {}, d = c[o] || c[o?.toLowerCase()] || "gray", p = Ve[d] || Ve.gray, f = document.createElement("span");
2219
- f.classList.add(
2218
+ const c = (i.rendererConfig || {}).colorMap || {}, d = c[o] || c[o?.toLowerCase()] || "gray", f = He[d] || He.gray, p = document.createElement("span");
2219
+ p.classList.add(
2220
2220
  "inline-flex",
2221
2221
  "items-center",
2222
2222
  "px-2.5",
@@ -2225,16 +2225,16 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2225
2225
  "text-xs",
2226
2226
  "font-medium",
2227
2227
  "capitalize",
2228
- ...p.split(" ")
2229
- ), f.textContent = o, t.appendChild(f);
2230
- }, He = {
2228
+ ...f.split(" ")
2229
+ ), p.textContent = o, t.appendChild(p);
2230
+ }, Fe = {
2231
2231
  green: { bg: "bg-green-100", text: "text-green-500" },
2232
2232
  red: { bg: "bg-red-100", text: "text-red-500" },
2233
2233
  yellow: { bg: "bg-yellow-100", text: "text-yellow-500" },
2234
2234
  blue: { bg: "bg-blue-100", text: "text-blue-500" },
2235
2235
  gray: { bg: "bg-gray-100", text: "text-gray-500" },
2236
2236
  purple: { bg: "bg-purple-100", text: "text-purple-500" }
2237
- }, Za = (e) => {
2237
+ }, Wa = (e) => {
2238
2238
  if (e == null || e === "")
2239
2239
  return !1;
2240
2240
  if (typeof e == "boolean")
@@ -2248,7 +2248,7 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2248
2248
  return !1;
2249
2249
  }, Ka = (e) => (s, t, a, l, n, o, i) => {
2250
2250
  t.innerHTML = "", t.classList.add("spark-table-cell-boolean");
2251
- const r = i.rendererConfig || {}, c = Za(o), d = c ? r.trueIcon || "check" : r.falseIcon || "xmark", p = c ? r.trueColor || "green" : r.falseColor || "red", f = r.size || 32, w = r.iconPrefix || "far", _ = He[p] || He.gray;
2251
+ const r = i.rendererConfig || {}, c = Wa(o), d = c ? r.trueIcon || "check" : r.falseIcon || "xmark", f = c ? r.trueColor || "green" : r.falseColor || "red", p = r.size || 32, k = r.iconPrefix || "far", _ = Fe[f] || Fe.gray;
2252
2252
  t.dataset.copyValue = c ? "true" : "false";
2253
2253
  const b = document.createElement("div");
2254
2254
  b.classList.add(
@@ -2258,12 +2258,12 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2258
2258
  "rounded-full",
2259
2259
  _.bg,
2260
2260
  _.text
2261
- ), b.style.width = `${f}px`, b.style.height = `${f}px`;
2261
+ ), b.style.width = `${p}px`, b.style.height = `${p}px`;
2262
2262
  const u = document.createElement("span");
2263
- u.innerHTML = te({ prefix: w, iconName: d }).html, u.classList.add("flex", "items-center", "justify-center");
2264
- const h = Math.round(f * 0.5);
2263
+ u.innerHTML = se({ prefix: k, iconName: d }).html, u.classList.add("flex", "items-center", "justify-center");
2264
+ const h = Math.round(p * 0.5);
2265
2265
  u.style.fontSize = `${h}px`, b.appendChild(u), t.appendChild(b);
2266
- }, Wa = (e, s = 2) => {
2266
+ }, Ga = (e, s = 2) => {
2267
2267
  const t = Number(e);
2268
2268
  if (isNaN(t)) return null;
2269
2269
  const a = t < 0, n = Math.abs(t).toLocaleString("en-AU", {
@@ -2271,74 +2271,74 @@ const J = new Ha(), Fa = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
2271
2271
  maximumFractionDigits: s
2272
2272
  });
2273
2273
  return a ? `-$${n}` : `$${n}`;
2274
- }, Ga = (e) => (s, t, a, l, n, o, i) => {
2274
+ }, Ya = (e) => (s, t, a, l, n, o, i) => {
2275
2275
  t.innerHTML = "", t.classList.add("spark-table-cell-currency");
2276
2276
  const r = i.rendererConfig || {}, { decimals: c = 2, emptyText: d = "" } = r;
2277
2277
  if (o == null || o === "") {
2278
2278
  t.textContent = d;
2279
2279
  return;
2280
2280
  }
2281
- const p = Wa(o, c);
2282
- if (p === null) {
2281
+ const f = Ga(o, c);
2282
+ if (f === null) {
2283
2283
  t.textContent = d;
2284
2284
  return;
2285
2285
  }
2286
- const f = document.createElement("span");
2287
- f.textContent = p, t.appendChild(f);
2288
- }, Ya = (e) => (s, t, a, l, n, o, i) => {
2286
+ const p = document.createElement("span");
2287
+ p.textContent = f, t.appendChild(p);
2288
+ }, Xa = (e) => (s, t, a, l, n, o, i) => {
2289
2289
  if (t.innerHTML = "", t.classList.add("spark-table-cell-link"), !o)
2290
2290
  return;
2291
2291
  const r = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a));
2292
2292
  let d = o;
2293
2293
  r.href && (typeof r.href == "function" ? d = r.href(c) : r.href === "email" ? d = `mailto:${o}` : r.href === "tel" ? d = `tel:${o}` : typeof r.href == "string" && (d = c[r.href] || o));
2294
- const p = document.createElement("a");
2295
- p.href = d, p.textContent = o, p.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"), r.target && (p.target = r.target), r.rel && (p.rel = r.rel), p.addEventListener("click", (f) => {
2296
- f.stopPropagation();
2297
- }), t.appendChild(p);
2298
- }, Fe = {
2294
+ const f = document.createElement("a");
2295
+ f.href = d, f.textContent = o, f.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"), r.target && (f.target = r.target), r.rel && (f.rel = r.rel), f.addEventListener("click", (p) => {
2296
+ p.stopPropagation();
2297
+ }), t.appendChild(f);
2298
+ }, De = {
2299
2299
  sm: "h-6 w-6",
2300
2300
  md: "h-8 w-8",
2301
2301
  lg: "h-12 w-12"
2302
- }, Xa = (e) => (s, t, a, l, n, o, i) => {
2302
+ }, Ja = (e) => (s, t, a, l, n, o, i) => {
2303
2303
  if (t.innerHTML = "", t.classList.add("spark-table-cell-image"), !o)
2304
2304
  return;
2305
- const r = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a)), d = r.size || "md", p = Fe[d] || Fe.md, f = r.rounded !== !1;
2306
- let w = r.alt || "";
2307
- typeof r.alt == "string" && c[r.alt] && (w = c[r.alt]);
2305
+ const r = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a)), d = r.size || "md", f = De[d] || De.md, p = r.rounded !== !1;
2306
+ let k = r.alt || "";
2307
+ typeof r.alt == "string" && c[r.alt] && (k = c[r.alt]);
2308
2308
  const _ = document.createElement("img");
2309
- _.src = o, _.alt = w, _.classList.add(...p.split(" "), "object-cover"), f ? _.classList.add("rounded-full") : _.classList.add("rounded"), t.appendChild(_);
2310
- }, Ja = (e) => (s, t, a, l, n, o, i) => {
2309
+ _.src = o, _.alt = k, _.classList.add(...f.split(" "), "object-cover"), p ? _.classList.add("rounded-full") : _.classList.add("rounded"), t.appendChild(_);
2310
+ }, Qa = (e) => (s, t, a, l, n, o, i) => {
2311
2311
  if (t.innerHTML = "", t.classList.add("spark-table-cell-date"), !o)
2312
2312
  return;
2313
2313
  const r = i.rendererConfig || {}, c = r.format || "short", d = r.locale || "en-US";
2314
- let p = o;
2314
+ let f = o;
2315
2315
  try {
2316
- const w = new Date(o);
2317
- isNaN(w.getTime()) ? p = o : typeof c == "function" ? p = c(w) : c === "short" ? p = w.toLocaleDateString(d) : c === "long" ? p = w.toLocaleDateString(d, {
2316
+ const k = new Date(o);
2317
+ isNaN(k.getTime()) ? f = o : typeof c == "function" ? f = c(k) : c === "short" ? f = k.toLocaleDateString(d) : c === "long" ? f = k.toLocaleDateString(d, {
2318
2318
  year: "numeric",
2319
2319
  month: "long",
2320
2320
  day: "numeric"
2321
- }) : c === "relative" ? p = Qa(w) : c === "datetime" ? p = w.toLocaleString(d) : p = w.toLocaleDateString(d);
2322
- } catch (w) {
2323
- console.error("Error formatting date:", w), p = o;
2321
+ }) : c === "relative" ? f = eo(k) : c === "datetime" ? f = k.toLocaleString(d) : f = k.toLocaleDateString(d);
2322
+ } catch (k) {
2323
+ console.error("Error formatting date:", k), f = o;
2324
2324
  }
2325
- const f = document.createElement("span");
2326
- f.textContent = p, t.appendChild(f);
2325
+ const p = document.createElement("span");
2326
+ p.textContent = f, t.appendChild(p);
2327
2327
  };
2328
- function Qa(e) {
2328
+ function eo(e) {
2329
2329
  const t = /* @__PURE__ */ new Date() - e, a = Math.floor(Math.abs(t) / 1e3), l = Math.floor(a / 60), n = Math.floor(l / 60), o = Math.floor(n / 24), i = Math.floor(o / 30), r = Math.floor(o / 365), c = t > 0;
2330
2330
  return a < 60 ? c ? "just now" : "in a moment" : l < 60 ? c ? `${l} minute${l > 1 ? "s" : ""} ago` : `in ${l} minute${l > 1 ? "s" : ""}` : n < 24 ? c ? `${n} hour${n > 1 ? "s" : ""} ago` : `in ${n} hour${n > 1 ? "s" : ""}` : o < 30 ? c ? `${o} day${o > 1 ? "s" : ""} ago` : `in ${o} day${o > 1 ? "s" : ""}` : i < 12 ? c ? `${i} month${i > 1 ? "s" : ""} ago` : `in ${i} month${i > 1 ? "s" : ""}` : c ? `${r} year${r > 1 ? "s" : ""} ago` : `in ${r} year${r > 1 ? "s" : ""}`;
2331
2331
  }
2332
- const eo = (e) => {
2332
+ const to = (e) => {
2333
2333
  const s = ["th", "st", "nd", "rd"], t = e % 100;
2334
2334
  return e + (s[(t - 20) % 10] || s[t] || s[0]);
2335
- }, q = (e, s = 2) => String(e).padStart(s, "0"), ke = /* @__PURE__ */ new Map(), to = (e, s) => {
2335
+ }, Z = (e, s = 2) => String(e).padStart(s, "0"), ke = /* @__PURE__ */ new Map(), so = (e, s) => {
2336
2336
  const t = `${e}:${JSON.stringify(s)}`;
2337
2337
  return ke.has(t) || ke.set(t, new Intl.DateTimeFormat(e, s)), ke.get(t);
2338
2338
  }, de = (e, s, t, a) => {
2339
- const o = to(s, t).formatToParts(e).find((i) => i.type === a);
2339
+ const o = so(s, t).formatToParts(e).find((i) => i.type === a);
2340
2340
  return o ? o.value : "";
2341
- }, so = (e) => e.epochMilliseconds !== void 0 ? new Date(e.epochMilliseconds) : new Date(
2341
+ }, ao = (e) => e.epochMilliseconds !== void 0 ? new Date(e.epochMilliseconds) : new Date(
2342
2342
  e.year,
2343
2343
  e.month - 1,
2344
2344
  e.day,
@@ -2346,7 +2346,7 @@ const eo = (e) => {
2346
2346
  e.minute || 0,
2347
2347
  e.second || 0,
2348
2348
  e.millisecond || 0
2349
- ), ao = (e) => {
2349
+ ), oo = (e) => {
2350
2350
  const s = e.hour || 0, t = s % 12 || 12, a = s >= 12;
2351
2351
  return {
2352
2352
  year: e.year,
@@ -2364,13 +2364,13 @@ const eo = (e) => {
2364
2364
  isPM: a,
2365
2365
  quarter: Math.ceil(e.month / 3)
2366
2366
  };
2367
- }, De = (e, s = !0) => {
2367
+ }, Re = (e, s = !0) => {
2368
2368
  if (!e.offsetNanoseconds && e.offsetNanoseconds !== 0)
2369
2369
  return "";
2370
2370
  const t = Math.round(e.offsetNanoseconds / 6e10), a = t >= 0 ? "+" : "-", l = Math.abs(t), n = Math.floor(l / 60), o = l % 60;
2371
- return s ? `${a}${q(n)}:${q(o)}` : `${a}${q(n)}${q(o)}`;
2372
- }, oo = (e, s) => {
2373
- const t = ao(e), a = so(e), l = t.dayOfWeek === 7 ? 0 : t.dayOfWeek;
2371
+ return s ? `${a}${Z(n)}:${Z(o)}` : `${a}${Z(n)}${Z(o)}`;
2372
+ }, ro = (e, s) => {
2373
+ const t = oo(e), a = ao(e), l = t.dayOfWeek === 7 ? 0 : t.dayOfWeek;
2374
2374
  return [
2375
2375
  // Year
2376
2376
  ["YYYY", () => String(t.year)],
@@ -2378,11 +2378,11 @@ const eo = (e) => {
2378
2378
  // Month
2379
2379
  ["MMMM", () => de(a, s, { month: "long" }, "month")],
2380
2380
  ["MMM", () => de(a, s, { month: "short" }, "month")],
2381
- ["MM", () => q(t.month)],
2381
+ ["MM", () => Z(t.month)],
2382
2382
  ["M", () => String(t.month)],
2383
2383
  // Day of month
2384
- ["DD", () => q(t.day)],
2385
- ["Do", () => eo(t.day)],
2384
+ ["DD", () => Z(t.day)],
2385
+ ["Do", () => to(t.day)],
2386
2386
  ["D", () => String(t.day)],
2387
2387
  // Day of week
2388
2388
  ["dddd", () => de(a, s, { weekday: "long" }, "weekday")],
@@ -2390,33 +2390,33 @@ const eo = (e) => {
2390
2390
  ["dd", () => de(a, s, { weekday: "short" }, "weekday").slice(0, 2)],
2391
2391
  ["d", () => String(l)],
2392
2392
  // Hour
2393
- ["HH", () => q(t.hour24)],
2393
+ ["HH", () => Z(t.hour24)],
2394
2394
  ["H", () => String(t.hour24)],
2395
- ["hh", () => q(t.hour12)],
2395
+ ["hh", () => Z(t.hour12)],
2396
2396
  ["h", () => String(t.hour12)],
2397
- ["kk", () => q(t.hourFrom1)],
2397
+ ["kk", () => Z(t.hourFrom1)],
2398
2398
  ["k", () => String(t.hourFrom1)],
2399
2399
  // Minute
2400
- ["mm", () => q(t.minute)],
2400
+ ["mm", () => Z(t.minute)],
2401
2401
  ["m", () => String(t.minute)],
2402
2402
  // Second
2403
- ["ss", () => q(t.second)],
2403
+ ["ss", () => Z(t.second)],
2404
2404
  ["s", () => String(t.second)],
2405
2405
  // Millisecond
2406
- ["SSS", () => q(t.millisecond, 3)],
2406
+ ["SSS", () => Z(t.millisecond, 3)],
2407
2407
  // AM/PM
2408
2408
  ["A", () => t.isPM ? "PM" : "AM"],
2409
2409
  ["a", () => t.isPM ? "pm" : "am"],
2410
2410
  // Timezone offset
2411
- ["ZZ", () => De(e, !1)],
2412
- ["Z", () => De(e, !0)],
2411
+ ["ZZ", () => Re(e, !1)],
2412
+ ["Z", () => Re(e, !0)],
2413
2413
  // Quarter
2414
2414
  ["Q", () => String(t.quarter)],
2415
2415
  // Unix timestamp
2416
2416
  ["x", () => String(e.epochMilliseconds ?? a.getTime())],
2417
2417
  ["X", () => String(Math.floor((e.epochMilliseconds ?? a.getTime()) / 1e3))]
2418
2418
  ];
2419
- }, ro = (e, s, t = {}) => {
2419
+ }, no = (e, s, t = {}) => {
2420
2420
  const { locale: a = "en-US" } = t;
2421
2421
  if (!e)
2422
2422
  return "";
@@ -2432,49 +2432,49 @@ const eo = (e) => {
2432
2432
  } catch (r) {
2433
2433
  return console.error("Failed to parse date string:", e, r), e;
2434
2434
  }
2435
- const n = oo(l, a), o = n.map(([r]) => r).join("|"), i = new RegExp(`\\[([^\\]]+)\\]|(${o})`, "g");
2435
+ const n = ro(l, a), o = n.map(([r]) => r).join("|"), i = new RegExp(`\\[([^\\]]+)\\]|(${o})`, "g");
2436
2436
  return s.replace(i, (r, c, d) => {
2437
2437
  if (c !== void 0)
2438
2438
  return c;
2439
- const p = n.find(([f]) => f === d);
2440
- return p ? p[1]() : r;
2439
+ const f = n.find(([p]) => p === d);
2440
+ return f ? f[1]() : r;
2441
2441
  });
2442
- }, no = (e, s = {}) => {
2442
+ }, lo = (e, s = {}) => {
2443
2443
  const { fromTimezone: t, toTimezone: a } = s;
2444
2444
  if (!e)
2445
2445
  return null;
2446
2446
  const l = e.replace(" ", "T");
2447
2447
  return t && a ? Temporal.PlainDateTime.from(l).toZonedDateTime(t).withTimeZone(a) : t ? Temporal.PlainDateTime.from(l).toZonedDateTime(t) : Temporal.PlainDateTime.from(l);
2448
- }, lo = (e) => (s, t, a, l, n, o, i) => {
2448
+ }, io = (e) => (s, t, a, l, n, o, i) => {
2449
2449
  t.innerHTML = "", t.classList.add("spark-table-cell-datetime");
2450
2450
  const r = i.rendererConfig || {}, {
2451
2451
  format: c = "DD MMM YYYY, HH:mm",
2452
2452
  fromTimezone: d,
2453
- toTimezone: p,
2454
- locale: f = "en-US",
2455
- emptyText: w = ""
2453
+ toTimezone: f,
2454
+ locale: p = "en-US",
2455
+ emptyText: k = ""
2456
2456
  } = r;
2457
2457
  if (!o) {
2458
- t.textContent = w;
2458
+ t.textContent = k;
2459
2459
  return;
2460
2460
  }
2461
2461
  try {
2462
- const _ = no(o, { fromTimezone: d, toTimezone: p });
2462
+ const _ = lo(o, { fromTimezone: d, toTimezone: f });
2463
2463
  if (!_) {
2464
- t.textContent = w;
2464
+ t.textContent = k;
2465
2465
  return;
2466
2466
  }
2467
- const b = ro(_, c, { locale: f }), u = document.createElement("span");
2467
+ const b = no(_, c, { locale: p }), u = document.createElement("span");
2468
2468
  u.textContent = b, t.appendChild(u);
2469
2469
  } catch (_) {
2470
2470
  console.error("Error formatting datetime:", _, { value: o, format: c }), t.textContent = o;
2471
2471
  }
2472
- }, io = /* @__PURE__ */ new Map(), X = (e, s) => {
2473
- ys(e, (t, a, l, n, o, i, r) => {
2474
- vs.apply(null, [t, a, l, n, o, i, r]), s(t, a, l, n, o, i, r);
2475
- }), io.set(e, s);
2476
- }, co = (e) => {
2477
- X("spark.actions", Ua(e)), X("spark.badge", qa()), X("spark.boolean", Ka()), X("spark.currency", Ga()), X("spark.link", Ya()), X("spark.image", Xa()), X("spark.date", Ja()), X("spark.datetime", lo()), X("style.capitalize", (s, t, a, l, n, o) => {
2472
+ }, co = /* @__PURE__ */ new Map(), X = (e, s) => {
2473
+ vs(e, (t, a, l, n, o, i, r) => {
2474
+ bs.apply(null, [t, a, l, n, o, i, r]), s(t, a, l, n, o, i, r);
2475
+ }), co.set(e, s);
2476
+ }, uo = (e) => {
2477
+ X("spark.actions", qa(e)), X("spark.badge", Za()), X("spark.boolean", Ka()), X("spark.currency", Ya()), X("spark.link", Xa()), X("spark.image", Ja()), X("spark.date", Qa()), X("spark.datetime", io()), X("style.capitalize", (s, t, a, l, n, o) => {
2478
2478
  if (!o || o.length === 0) {
2479
2479
  t.innerText = "";
2480
2480
  return;
@@ -2482,15 +2482,15 @@ const eo = (e) => {
2482
2482
  const i = document.createElement("span");
2483
2483
  i.innerHTML = o, i.classList.add("capitalize"), t.replaceChildren(i);
2484
2484
  });
2485
- }, uo = () => {
2486
- }, po = (e, s = {}) => {
2487
- const t = G(), a = se(), l = s.namespace, n = l === null, o = s.syncToRoute !== !1, i = s.persistToStorage === !0, r = s.restoreOnMount !== !1, c = s.storageTTL || 7, d = n ? `spark-table:${a.path}` : `spark-table:${l}`, p = (y, k = "") => {
2488
- const $ = {};
2489
- return Object.keys(y).forEach((I) => {
2490
- const Y = y[I], fe = k ? `${k}[${I}]` : I;
2491
- Y != null && (typeof Y == "object" && !Array.isArray(Y) ? Object.assign($, p(Y, fe)) : $[fe] = String(Y));
2492
- }), $;
2493
- }, f = () => {
2485
+ }, po = () => {
2486
+ }, fo = (e, s = {}) => {
2487
+ const t = Y(), a = ee(), l = s.namespace, n = l === null, o = s.syncToRoute !== !1, i = s.persistToStorage === !0, r = s.restoreOnMount !== !1, c = s.storageTTL || 7, d = n ? `spark-table:${a.path}` : `spark-table:${l}`, f = (y, w = "") => {
2488
+ const T = {};
2489
+ return Object.keys(y).forEach((F) => {
2490
+ const j = y[F], me = w ? `${w}[${F}]` : F;
2491
+ j != null && (typeof j == "object" && !Array.isArray(j) ? Object.assign(T, f(j, me)) : T[me] = String(j));
2492
+ }), T;
2493
+ }, p = () => {
2494
2494
  if (i)
2495
2495
  try {
2496
2496
  const y = {
@@ -2501,18 +2501,18 @@ const eo = (e) => {
2501
2501
  } catch (y) {
2502
2502
  console.warn("Failed to save table state to localStorage:", y);
2503
2503
  }
2504
- }, w = () => {
2504
+ }, k = () => {
2505
2505
  if (!i) return null;
2506
2506
  try {
2507
2507
  const y = localStorage.getItem(d);
2508
2508
  if (!y) return null;
2509
- const k = JSON.parse(y);
2509
+ const w = JSON.parse(y);
2510
2510
  if (c > 0) {
2511
- const $ = Date.now() - k.timestamp, I = c * 24 * 60 * 60 * 1e3;
2512
- if ($ > I)
2511
+ const T = Date.now() - w.timestamp, F = c * 24 * 60 * 60 * 1e3;
2512
+ if (T > F)
2513
2513
  return localStorage.removeItem(d), null;
2514
2514
  }
2515
- return k.params;
2515
+ return w.params;
2516
2516
  } catch (y) {
2517
2517
  return console.warn("Failed to load table state from localStorage:", y), null;
2518
2518
  }
@@ -2526,25 +2526,25 @@ const eo = (e) => {
2526
2526
  if (!o) return;
2527
2527
  const y = { ...a.query };
2528
2528
  if (n) {
2529
- Object.keys(y).forEach(($) => {
2530
- u($) && delete y[$];
2529
+ Object.keys(y).forEach((T) => {
2530
+ u(T) && delete y[T];
2531
2531
  });
2532
- const k = p(e.params);
2533
- Object.assign(y, k);
2532
+ const w = f(e.params);
2533
+ Object.assign(y, w);
2534
2534
  } else {
2535
- Object.keys(y).forEach(($) => {
2536
- ($.startsWith(`${l}[`) || $ === l) && delete y[$];
2535
+ Object.keys(y).forEach((T) => {
2536
+ (T.startsWith(`${l}[`) || T === l) && delete y[T];
2537
2537
  });
2538
- const k = p(e.params, l);
2539
- Object.assign(y, k);
2538
+ const w = f(e.params, l);
2539
+ Object.assign(y, w);
2540
2540
  }
2541
2541
  t.replace({ query: y });
2542
- }, u = (y) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(y) || y.includes("[")), h = (y, k) => {
2543
- if (["page", "limit"].includes(y) && k !== null && k !== void 0) {
2544
- const I = parseInt(k, 10);
2545
- return isNaN(I) ? k : I;
2542
+ }, u = (y) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(y) || y.includes("[")), h = (y, w) => {
2543
+ if (["page", "limit"].includes(y) && w !== null && w !== void 0) {
2544
+ const F = parseInt(w, 10);
2545
+ return isNaN(F) ? w : F;
2546
2546
  }
2547
- return k;
2547
+ return w;
2548
2548
  }, x = () => {
2549
2549
  if (n)
2550
2550
  Object.keys(a.query).forEach((y) => {
@@ -2552,48 +2552,48 @@ const eo = (e) => {
2552
2552
  });
2553
2553
  else {
2554
2554
  const y = `${l}[`;
2555
- Object.keys(a.query).forEach((k) => {
2556
- if (k.startsWith(y)) {
2557
- const $ = k.slice(y.length, -1);
2558
- e.params[$] = h($, a.query[k]);
2555
+ Object.keys(a.query).forEach((w) => {
2556
+ if (w.startsWith(y)) {
2557
+ const T = w.slice(y.length, -1);
2558
+ e.params[T] = h(T, a.query[w]);
2559
2559
  }
2560
2560
  });
2561
2561
  }
2562
2562
  };
2563
- return N(
2563
+ return U(
2564
2564
  () => e.params,
2565
2565
  () => {
2566
- o && b(), i && f();
2566
+ o && b(), i && p();
2567
2567
  },
2568
2568
  { deep: !0 }
2569
- ), r && ye(() => {
2569
+ ), r && pe(() => {
2570
2570
  let y = !1;
2571
2571
  if (o) {
2572
- let k = !1;
2572
+ let w = !1;
2573
2573
  if (n)
2574
- k = Object.keys(a.query).some(($) => u($));
2574
+ w = Object.keys(a.query).some((T) => u(T));
2575
2575
  else {
2576
- const $ = `${l}[`;
2577
- k = Object.keys(a.query).some(
2578
- (I) => I.startsWith($)
2576
+ const T = `${l}[`;
2577
+ w = Object.keys(a.query).some(
2578
+ (F) => F.startsWith(T)
2579
2579
  );
2580
2580
  }
2581
- k && (y = !0, x());
2581
+ w && (y = !0, x());
2582
2582
  }
2583
2583
  if (!y && i) {
2584
- const k = w();
2585
- k && Object.keys(k).length > 0 && (Object.keys(k).forEach(($) => {
2586
- k[$] = h($, k[$]);
2587
- }), Object.assign(e.params, k));
2584
+ const w = k();
2585
+ w && Object.keys(w).length > 0 && (Object.keys(w).forEach((T) => {
2586
+ w[T] = h(T, w[T]);
2587
+ }), Object.assign(e.params, w));
2588
2588
  }
2589
2589
  }), {
2590
2590
  syncToRoute: b,
2591
2591
  restoreFromRoute: x,
2592
- saveToStorage: f,
2593
- loadFromStorage: w,
2592
+ saveToStorage: p,
2593
+ loadFromStorage: k,
2594
2594
  clearStorage: _
2595
2595
  };
2596
- }, fo = { class: "flex items-center gap-4 py-3" }, mo = { class: "shrink-0" }, go = { class: "text-sm text-gray-700" }, ho = { class: "font-medium" }, yo = { class: "font-medium" }, vo = { class: "font-medium" }, bo = {
2596
+ }, mo = { class: "flex items-center gap-4 py-3" }, go = { class: "shrink-0" }, ho = { class: "text-sm text-gray-700" }, yo = { class: "font-medium" }, vo = { class: "font-medium" }, bo = { class: "font-medium" }, xo = {
2597
2597
  __name: "SparkTablePaginationDetails",
2598
2598
  props: {
2599
2599
  sparkTable: {
@@ -2604,28 +2604,28 @@ const eo = (e) => {
2604
2604
  setup(e) {
2605
2605
  const s = e;
2606
2606
  return (t, a) => (m(), v("div", null, [
2607
- g("div", fo, [
2608
- g("div", mo, [
2609
- g("div", go, [
2610
- a[0] || (a[0] = A(" Showing ", -1)),
2611
- g("span", ho, M(s.sparkTable.response.meta.from), 1),
2612
- a[1] || (a[1] = A(" to ", -1)),
2613
- g("span", yo, M(s.sparkTable.response.meta.to), 1),
2614
- a[2] || (a[2] = A(" of ", -1)),
2615
- g("span", vo, M(s.sparkTable.response.meta.total), 1),
2616
- a[3] || (a[3] = A(" results ", -1))
2607
+ g("div", mo, [
2608
+ g("div", go, [
2609
+ g("div", ho, [
2610
+ a[0] || (a[0] = I(" Showing ", -1)),
2611
+ g("span", yo, M(s.sparkTable.response.meta.from), 1),
2612
+ a[1] || (a[1] = I(" to ", -1)),
2613
+ g("span", vo, M(s.sparkTable.response.meta.to), 1),
2614
+ a[2] || (a[2] = I(" of ", -1)),
2615
+ g("span", bo, M(s.sparkTable.response.meta.total), 1),
2616
+ a[3] || (a[3] = I(" results ", -1))
2617
2617
  ])
2618
2618
  ])
2619
2619
  ])
2620
2620
  ]));
2621
2621
  }
2622
- }, xo = { class: "flex items-center gap-4 px-4 py-3" }, ko = {
2622
+ }, wo = { class: "flex items-center gap-4 px-4 py-3" }, ko = {
2623
2623
  key: 0,
2624
2624
  class: "shrink-0 ml-auto"
2625
- }, wo = {
2625
+ }, _o = {
2626
2626
  class: "isolate inline-flex -space-x-px rounded-md shadow-xs bg-white",
2627
2627
  "aria-label": "Pagination"
2628
- }, _o = ["onClick"], Co = {
2628
+ }, So = ["onClick"], Co = {
2629
2629
  __name: "SparkTablePaginationPaging",
2630
2630
  props: {
2631
2631
  sparkTable: {
@@ -2641,51 +2641,51 @@ const eo = (e) => {
2641
2641
  d < 1 || d > t.sparkTable.response.meta.last_page || a("paginate", {
2642
2642
  page: d
2643
2643
  });
2644
- }, o = L(() => t.sparkTable.params.page ? Math.ceil(t.sparkTable.params.page / 10) * 10 : 1), i = L(() => t.sparkTable.computed.ready ? is(
2644
+ }, o = L(() => t.sparkTable.params.page ? Math.ceil(t.sparkTable.params.page / 10) * 10 : 1), i = L(() => t.sparkTable.computed.ready ? cs(
2645
2645
  Math.floor((o.value - 1) / 10) * 10 + 1,
2646
2646
  o.value > t.sparkTable.response.meta.last_page ? t.sparkTable.response.meta.last_page + 1 : o.value + 1
2647
2647
  ) : []), r = L(
2648
- () => t.sparkTable.params.page < ee(t.sparkTable.response.meta, "last_page", 1)
2648
+ () => t.sparkTable.params.page < te(t.sparkTable.response.meta, "last_page", 1)
2649
2649
  ), c = L(() => t.sparkTable.params.page > 1);
2650
- return (d, p) => {
2651
- const f = R("font-awesome-icon");
2650
+ return (d, f) => {
2651
+ const p = A("font-awesome-icon");
2652
2652
  return m(), v("div", null, [
2653
- g("div", xo, [
2653
+ g("div", wo, [
2654
2654
  i.value.length > 1 ? (m(), v("div", ko, [
2655
2655
  g("div", null, [
2656
- g("nav", wo, [
2656
+ g("nav", _o, [
2657
2657
  g("a", {
2658
2658
  class: V([c.value ? "" : "disabled", "relative inline-flex items-center rounded-l-md px-2 py-[9px] text-gray-400 ring-1 ring-gray-300 ring-inset hover:bg-gray-50 focus:z-20 focus:outline-offset-0"]),
2659
2659
  href: "#",
2660
- onClick: p[0] || (p[0] = O((w) => l(-1), ["prevent"]))
2660
+ onClick: f[0] || (f[0] = O((k) => l(-1), ["prevent"]))
2661
2661
  }, [
2662
- C(f, {
2663
- icon: S(D).farChevronLeft,
2662
+ S(p, {
2663
+ icon: C(R).farChevronLeft,
2664
2664
  class: "size-5"
2665
2665
  }, null, 8, ["icon"])
2666
2666
  ], 2),
2667
- (m(!0), v(E, null, z(i.value, (w) => (m(), v("a", {
2668
- key: `page-${w}`,
2667
+ (m(!0), v(E, null, N(i.value, (k) => (m(), v("a", {
2668
+ key: `page-${k}`,
2669
2669
  href: "#",
2670
2670
  class: V([
2671
2671
  "relative inline-flex items-center px-4 py-[9px] text-sm font-semibold ring-1 ring-inset",
2672
- e.sparkTable.params.page === w ? "z-10 text-white bg-primary-600 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600 hover:bg-primary-600" : "text-gray-900 hover:bg-gray-50 ring-gray-300 focus:z-20 focus:outline-offset-0"
2672
+ e.sparkTable.params.page === k ? "z-10 text-white bg-primary-600 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600 hover:bg-primary-600" : "text-gray-900 hover:bg-gray-50 ring-gray-300 focus:z-20 focus:outline-offset-0"
2673
2673
  ]),
2674
- onClick: (_) => n(w)
2675
- }, M(w), 11, _o))), 128)),
2674
+ onClick: (_) => n(k)
2675
+ }, M(k), 11, So))), 128)),
2676
2676
  g("a", {
2677
2677
  class: V([r.value ? "" : "disabled", "relative inline-flex items-center rounded-r-md px-2 py-[9px] text-gray-400 ring-1 ring-gray-300 ring-inset hover:bg-gray-50 focus:z-20 focus:outline-offset-0"]),
2678
- onClick: p[1] || (p[1] = O((w) => l(1), ["prevent"])),
2678
+ onClick: f[1] || (f[1] = O((k) => l(1), ["prevent"])),
2679
2679
  href: "#"
2680
2680
  }, [
2681
- C(f, {
2682
- icon: S(D).farChevronRight,
2681
+ S(p, {
2682
+ icon: C(R).farChevronRight,
2683
2683
  class: "size-5"
2684
2684
  }, null, 8, ["icon"])
2685
2685
  ], 2)
2686
2686
  ])
2687
2687
  ])
2688
- ])) : T("", !0)
2688
+ ])) : $("", !0)
2689
2689
  ])
2690
2690
  ]);
2691
2691
  };
@@ -2695,7 +2695,7 @@ const eo = (e) => {
2695
2695
  for (const [a, l] of s)
2696
2696
  t[a] = l;
2697
2697
  return t;
2698
- }, So = { class: "spark-table-pagination-per-page" }, To = {
2698
+ }, To = { class: "spark-table-pagination-per-page" }, $o = {
2699
2699
  __name: "SparkTablePaginationPerPage",
2700
2700
  props: {
2701
2701
  sparkTable: {
@@ -2715,9 +2715,9 @@ const eo = (e) => {
2715
2715
  });
2716
2716
  };
2717
2717
  return (o, i) => {
2718
- const r = R("FormKit");
2719
- return m(), v("div", So, [
2720
- C(r, {
2718
+ const r = A("FormKit");
2719
+ return m(), v("div", To, [
2720
+ S(r, {
2721
2721
  "model-value": e.sparkTable.params.limit,
2722
2722
  type: "select",
2723
2723
  options: l.value,
@@ -2729,7 +2729,7 @@ const eo = (e) => {
2729
2729
  ]);
2730
2730
  };
2731
2731
  }
2732
- }, $o = /* @__PURE__ */ oe(To, [["__scopeId", "data-v-9ef8544b"]]), Re = {
2732
+ }, Lo = /* @__PURE__ */ oe($o, [["__scopeId", "data-v-9ef8544b"]]), Ae = {
2733
2733
  __name: "SparkTableToolbar",
2734
2734
  props: {
2735
2735
  position: {
@@ -2739,7 +2739,7 @@ const eo = (e) => {
2739
2739
  }
2740
2740
  },
2741
2741
  setup(e) {
2742
- const s = e, t = Be(), a = L(() => !!t.default), l = L(() => {
2742
+ const s = e, t = je(), a = L(() => !!t.default), l = L(() => {
2743
2743
  const n = "spark-table-toolbar flex flex-wrap items-center gap-x-5 w-full";
2744
2744
  return s.position === "footer" ? `${n} spark-table-toolbar-footer justify-between` : `${n} spark-table-toolbar-header gap-y-5 py-5`;
2745
2745
  });
@@ -2747,10 +2747,10 @@ const eo = (e) => {
2747
2747
  key: 0,
2748
2748
  class: V(l.value)
2749
2749
  }, [
2750
- B(n.$slots, "default")
2751
- ], 2)) : T("", !0);
2750
+ z(n.$slots, "default")
2751
+ ], 2)) : $("", !0);
2752
2752
  }
2753
- }, Lo = { class: "spark-table-search" }, Po = {
2753
+ }, Po = { class: "spark-table-search" }, Mo = {
2754
2754
  __name: "SparkTableSearch",
2755
2755
  props: {
2756
2756
  /** SparkTable instance object */
@@ -2769,33 +2769,33 @@ const eo = (e) => {
2769
2769
  }
2770
2770
  },
2771
2771
  setup(e) {
2772
- const s = e, t = F(""), a = s.config.param || "search";
2772
+ const s = e, t = D(""), a = s.config.param || "search";
2773
2773
  s.sparkTable.params[a] ? t.value = s.sparkTable.params[a] : s.config.initialValue && (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
2774
2774
  [a]: s.config.initialValue
2775
2775
  }));
2776
- const l = lt((o) => {
2776
+ const l = it((o) => {
2777
2777
  o ? s.sparkTable.methods.applyParams({
2778
2778
  page: 1,
2779
2779
  [a]: o
2780
2780
  }) : s.sparkTable.methods.removeParam(a);
2781
2781
  }, s.config.debounce || 300);
2782
- N(t, (o) => {
2782
+ U(t, (o) => {
2783
2783
  l(o);
2784
2784
  });
2785
2785
  const n = s.config.placeholder || "Search...";
2786
- return N(
2786
+ return U(
2787
2787
  () => s.sparkTable.params[a],
2788
2788
  (o) => {
2789
2789
  o && o !== t.value ? t.value = o : !o && t.value && (t.value = "");
2790
2790
  }
2791
2791
  ), (o, i) => {
2792
- const r = R("FormKit");
2793
- return m(), v("div", Lo, [
2794
- C(r, K({
2792
+ const r = A("FormKit");
2793
+ return m(), v("div", Po, [
2794
+ S(r, K({
2795
2795
  modelValue: t.value,
2796
2796
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
2797
2797
  type: "text",
2798
- placeholder: S(n),
2798
+ placeholder: C(n),
2799
2799
  suffixIcon: "search",
2800
2800
  "outer-class": "!mb-0",
2801
2801
  "wrapper-class": "!mb-0",
@@ -2804,7 +2804,7 @@ const eo = (e) => {
2804
2804
  ]);
2805
2805
  };
2806
2806
  }
2807
- }, Mo = /* @__PURE__ */ oe(Po, [["__scopeId", "data-v-976170dc"]]), Vo = { class: "spark-table-filter-select" }, Ho = {
2807
+ }, Vo = /* @__PURE__ */ oe(Mo, [["__scopeId", "data-v-976170dc"]]), Ho = { class: "spark-table-filter-select" }, Fo = {
2808
2808
  __name: "SparkTableFilterSelect",
2809
2809
  props: {
2810
2810
  /** SparkTable instance object */
@@ -2820,7 +2820,7 @@ const eo = (e) => {
2820
2820
  }
2821
2821
  },
2822
2822
  setup(e) {
2823
- const s = e, t = F(""), a = s.config.param || `filter[${s.config.key}]`;
2823
+ const s = e, t = D(""), a = s.config.param || `filter[${s.config.key}]`;
2824
2824
  s.sparkTable.params[a] ? t.value = s.sparkTable.params[a] : s.config.initialValue !== void 0 && s.config.initialValue !== null && (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
2825
2825
  [a]: s.config.initialValue
2826
2826
  }));
@@ -2828,24 +2828,24 @@ const eo = (e) => {
2828
2828
  { label: s.config.placeholder || "All", value: "" },
2829
2829
  ...s.config.options
2830
2830
  ]);
2831
- return N(t, (o) => {
2831
+ return U(t, (o) => {
2832
2832
  o ? s.sparkTable.methods.applyParams({
2833
2833
  page: 1,
2834
2834
  [a]: o
2835
2835
  }) : s.sparkTable.methods.removeParam(a);
2836
- }), N(
2836
+ }), U(
2837
2837
  () => s.sparkTable.params[a],
2838
2838
  (o) => {
2839
2839
  o != null && o !== "" ? t.value !== o && (t.value = o) : t.value && (t.value = "");
2840
2840
  }
2841
2841
  ), (o, i) => {
2842
- const r = R("FormKit");
2843
- return m(), v("div", Vo, [
2844
- C(r, K({
2842
+ const r = A("FormKit");
2843
+ return m(), v("div", Ho, [
2844
+ S(r, K({
2845
2845
  modelValue: t.value,
2846
2846
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
2847
2847
  type: "select",
2848
- label: S(l),
2848
+ label: C(l),
2849
2849
  options: n.value,
2850
2850
  placeholder: e.config.placeholder || "All",
2851
2851
  "outer-class": "!mb-0",
@@ -2854,7 +2854,7 @@ const eo = (e) => {
2854
2854
  ]);
2855
2855
  };
2856
2856
  }
2857
- }, Fo = /* @__PURE__ */ oe(Ho, [["__scopeId", "data-v-642dbc69"]]), Do = { class: "spark-table-filter-buttons" }, Ro = {
2857
+ }, Do = /* @__PURE__ */ oe(Fo, [["__scopeId", "data-v-642dbc69"]]), Ro = { class: "spark-table-filter-buttons" }, Ao = {
2858
2858
  key: 0,
2859
2859
  class: "spark-table-filter-buttons-label"
2860
2860
  }, Eo = {
@@ -2873,7 +2873,7 @@ const eo = (e) => {
2873
2873
  }
2874
2874
  },
2875
2875
  setup(e) {
2876
- const s = e, t = F(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`;
2876
+ const s = e, t = D(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`;
2877
2877
  s.sparkTable.params[l] !== void 0 ? t.value = s.sparkTable.params[l] : s.config.initialValue !== void 0 && (t.value = s.config.initialValue, s.config.initialValue !== null && s.sparkTable.methods.applyParams({
2878
2878
  [l]: s.config.initialValue
2879
2879
  }));
@@ -2883,16 +2883,16 @@ const eo = (e) => {
2883
2883
  [l]: i
2884
2884
  });
2885
2885
  };
2886
- return N(
2886
+ return U(
2887
2887
  () => s.sparkTable.params[l],
2888
2888
  (i) => {
2889
2889
  (i == null || i === "") && t.value ? t.value = null : i !== t.value && (t.value = i);
2890
2890
  }
2891
- ), (i, r) => (m(), v("div", Do, [
2892
- S(a) ? (m(), v("span", Ro, M(S(a)), 1)) : T("", !0),
2893
- C(pt, { class: "isolate" }, {
2891
+ ), (i, r) => (m(), v("div", Ro, [
2892
+ C(a) ? (m(), v("span", Ao, M(C(a)), 1)) : $("", !0),
2893
+ S(ft, { class: "isolate" }, {
2894
2894
  default: P(() => [
2895
- (m(!0), v(E, null, z(e.config.options, (c) => (m(), H(U, {
2895
+ (m(!0), v(E, null, N(e.config.options, (c) => (m(), H(q, {
2896
2896
  key: c.value,
2897
2897
  size: "xl",
2898
2898
  "button-class": "px-3.5",
@@ -2900,7 +2900,7 @@ const eo = (e) => {
2900
2900
  onClick: (d) => o(c.value)
2901
2901
  }, {
2902
2902
  default: P(() => [
2903
- A(M(c.label), 1)
2903
+ I(M(c.label), 1)
2904
2904
  ]),
2905
2905
  _: 2
2906
2906
  }, 1032, ["variant", "onClick"]))), 128))
@@ -2909,7 +2909,7 @@ const eo = (e) => {
2909
2909
  })
2910
2910
  ]));
2911
2911
  }
2912
- }, Ao = /* @__PURE__ */ oe(Eo, [["__scopeId", "data-v-01a49899"]]), Oo = { class: "spark-table-date-picker" }, Io = {
2912
+ }, Io = /* @__PURE__ */ oe(Eo, [["__scopeId", "data-v-01a49899"]]), Oo = { class: "spark-table-date-picker" }, Bo = {
2913
2913
  __name: "SparkTableDatePicker",
2914
2914
  props: {
2915
2915
  /** SparkTable instance object */
@@ -2925,15 +2925,15 @@ const eo = (e) => {
2925
2925
  }
2926
2926
  },
2927
2927
  setup(e) {
2928
- const s = e, t = F(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`, n = F(`${l}-0`);
2928
+ const s = e, t = D(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`, n = D(`${l}-0`);
2929
2929
  return s.sparkTable.params[l] ? t.value = s.sparkTable.params[l] : s.config.initialValue ? (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
2930
2930
  [l]: s.config.initialValue
2931
- })) : t.value = null, N(t, (o) => {
2931
+ })) : t.value = null, U(t, (o) => {
2932
2932
  o ? s.sparkTable.methods.applyParams({
2933
2933
  page: 1,
2934
2934
  [l]: o
2935
2935
  }) : s.sparkTable.methods.removeParam(l);
2936
- }), N(
2936
+ }), U(
2937
2937
  () => s.sparkTable.params[l],
2938
2938
  (o) => {
2939
2939
  if ((o == null || o === "") && t.value) {
@@ -2943,7 +2943,7 @@ const eo = (e) => {
2943
2943
  } else o && o !== t.value && (t.value = o);
2944
2944
  }
2945
2945
  ), (o, i) => {
2946
- const r = R("FormKit");
2946
+ const r = A("FormKit");
2947
2947
  return m(), v("div", Oo, [
2948
2948
  (m(), H(r, K({
2949
2949
  key: n.value,
@@ -2951,7 +2951,7 @@ const eo = (e) => {
2951
2951
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
2952
2952
  type: "datepicker",
2953
2953
  "picker-only": "",
2954
- label: S(a),
2954
+ label: C(a),
2955
2955
  placeholder: e.config.placeholder || "Select date",
2956
2956
  overlay: !0,
2957
2957
  "value-format": "YYYY-MM-DD",
@@ -2962,7 +2962,7 @@ const eo = (e) => {
2962
2962
  ]);
2963
2963
  };
2964
2964
  }
2965
- }, Bo = /* @__PURE__ */ oe(Io, [["__scopeId", "data-v-44ef9cb8"]]), jo = { class: "spark-table-reset" }, zo = { key: 1 }, No = {
2965
+ }, jo = /* @__PURE__ */ oe(Bo, [["__scopeId", "data-v-44ef9cb8"]]), zo = { class: "spark-table-reset" }, No = { key: 1 }, Uo = {
2966
2966
  __name: "SparkTableReset",
2967
2967
  props: {
2968
2968
  /** SparkTable instance object */
@@ -2982,8 +2982,8 @@ const eo = (e) => {
2982
2982
  Object.entries(a).forEach(([c, d]) => {
2983
2983
  if (!d || d.type === "reset" || !(typeof d.enabled == "function" ? d.enabled(s.sparkTable.params) : d.enabled))
2984
2984
  return;
2985
- let f = null;
2986
- d.type === "search" ? f = d.param || "search" : d.type === "filterSelect" || d.type === "filterButtons" ? f = d.param || `filter[${d.key}]` : d.type === "datePicker" && (f = d.param || `filter[${d.key}]`), f && (d.initialValue !== void 0 && d.initialValue !== null ? n[f] = d.initialValue : l.push(f));
2985
+ let p = null;
2986
+ d.type === "search" ? p = d.param || "search" : d.type === "filterSelect" || d.type === "filterButtons" ? p = d.param || `filter[${d.key}]` : d.type === "datePicker" && (p = d.param || `filter[${d.key}]`), p && (d.initialValue !== void 0 && d.initialValue !== null ? n[p] = d.initialValue : l.push(p));
2987
2987
  });
2988
2988
  const o = l.filter(
2989
2989
  (c) => s.sparkTable.params[c] !== void 0 && s.sparkTable.params[c] !== null && s.sparkTable.params[c] !== ""
@@ -2999,9 +2999,9 @@ const eo = (e) => {
2999
2999
  s.sparkTable.methods.applyParams({ ...r, page: 1 });
3000
3000
  };
3001
3001
  return (a, l) => {
3002
- const n = R("font-awesome-icon");
3003
- return m(), v("div", jo, [
3004
- C(U, {
3002
+ const n = A("font-awesome-icon");
3003
+ return m(), v("div", zo, [
3004
+ S(q, {
3005
3005
  onClick: t,
3006
3006
  variant: "secondary",
3007
3007
  "button-class": "px-3.5",
@@ -3012,26 +3012,26 @@ const eo = (e) => {
3012
3012
  key: 0,
3013
3013
  icon: ["far", e.config.icon],
3014
3014
  class: V({ "mr-1.5": e.config.label })
3015
- }, null, 8, ["icon", "class"])) : T("", !0),
3016
- e.config.label ? (m(), v("span", zo, M(e.config.label), 1)) : T("", !0)
3015
+ }, null, 8, ["icon", "class"])) : $("", !0),
3016
+ e.config.label ? (m(), v("span", No, M(e.config.label), 1)) : $("", !0)
3017
3017
  ]),
3018
3018
  _: 1
3019
3019
  })
3020
3020
  ]);
3021
3021
  };
3022
3022
  }
3023
- }, Uo = /* @__PURE__ */ oe(No, [["__scopeId", "data-v-0894e3bf"]]), qo = { class: "spark-table" }, Zo = {
3023
+ }, qo = /* @__PURE__ */ oe(Uo, [["__scopeId", "data-v-0894e3bf"]]), Zo = { class: "spark-table" }, Wo = {
3024
3024
  key: 1,
3025
3025
  class: "pt-5"
3026
3026
  }, Ko = {
3027
3027
  key: 2,
3028
3028
  class: "flex flex-col items-center justify-center py-16 text-gray-500 rounded-md border border-gray-300 bg-white"
3029
- }, Wo = { class: "flex items-center gap-x-3 ml-auto" }, Te = {
3029
+ }, Go = { class: "flex items-center gap-x-3 ml-auto" }, $e = {
3030
3030
  perPages: [15, 30, 50, 100, 200, 500],
3031
3031
  limit: 15
3032
- }, Go = {
3032
+ }, Yo = {
3033
3033
  page: 1,
3034
- limit: Te.limit
3034
+ limit: $e.limit
3035
3035
  }, Ee = {
3036
3036
  colHeaders: !0,
3037
3037
  filters: !1,
@@ -3054,7 +3054,7 @@ const eo = (e) => {
3054
3054
  dataTransformer: {
3055
3055
  type: Function,
3056
3056
  default: (e, s) => ({
3057
- data: ee(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((n) => a[n])) : e.data.data,
3057
+ data: te(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((n) => a[n])) : e.data.data,
3058
3058
  meta: {
3059
3059
  last_page: e.data.last_page,
3060
3060
  from: e.data.from,
@@ -3066,13 +3066,13 @@ const eo = (e) => {
3066
3066
  params: {
3067
3067
  type: Object,
3068
3068
  default() {
3069
- return Go;
3069
+ return Yo;
3070
3070
  }
3071
3071
  },
3072
3072
  options: {
3073
3073
  type: Object,
3074
3074
  default() {
3075
- return Te;
3075
+ return $e;
3076
3076
  }
3077
3077
  },
3078
3078
  settings: {
@@ -3107,16 +3107,16 @@ const eo = (e) => {
3107
3107
  ],
3108
3108
  setup(e, { expose: s, emit: t }) {
3109
3109
  const a = e;
3110
- hs(), me(ps), me(fs), me(ms), ee(a, "settings.nestedHeaders") && me(gs);
3111
- const l = t, n = ve("axios"), o = F(null), i = F(!1), r = F(null);
3110
+ ys(), ge(fs), ge(ms), ge(gs), te(a, "settings.nestedHeaders") && ge(hs);
3111
+ const l = t, n = be("axios"), o = D(null), i = D(!1), r = D(null);
3112
3112
  let c = !1;
3113
3113
  const d = {
3114
- search: Mo,
3115
- filterSelect: Fo,
3116
- filterButtons: Ao,
3117
- datePicker: Bo,
3118
- reset: Uo
3119
- }, p = W({
3114
+ search: Vo,
3115
+ filterSelect: Do,
3116
+ filterButtons: Io,
3117
+ datePicker: jo,
3118
+ reset: qo
3119
+ }, f = G({
3120
3120
  hotInstance: null,
3121
3121
  url: L(() => a.url),
3122
3122
  plugins: a.plugins,
@@ -3127,43 +3127,43 @@ const eo = (e) => {
3127
3127
  },
3128
3128
  methods: {
3129
3129
  applyParams: (u) => {
3130
- u && (p.params = {
3131
- ...p.params,
3130
+ u && (f.params = {
3131
+ ...f.params,
3132
3132
  ...u
3133
- }, l("page-change", p.params));
3133
+ }, l("page-change", f.params));
3134
3134
  },
3135
3135
  removeParam: async (u) => {
3136
- p.params[u] && (delete p.params[u], await p.methods.loadTable());
3136
+ f.params[u] && (delete f.params[u], await f.methods.loadTable());
3137
3137
  },
3138
3138
  loadTable: async (u) => {
3139
3139
  if (!(!o.value || !o.value.hotInstance)) {
3140
- i.value = !0, r.value = null, l("loading", !0), be.start(), p.hotInstance = o.value.hotInstance;
3140
+ i.value = !0, r.value = null, l("loading", !0), xe.start(), f.hotInstance = o.value.hotInstance;
3141
3141
  try {
3142
3142
  if (a.dataProvider) {
3143
- const y = await a.dataProvider(p.computed.params);
3144
- p.response = a.dataTransformer(y, a);
3143
+ const y = await a.dataProvider(f.computed.params);
3144
+ f.response = a.dataTransformer(y, a);
3145
3145
  } else if (a.url) {
3146
3146
  const y = await n.get(a.url, {
3147
- params: p.computed.params
3147
+ params: f.computed.params
3148
3148
  });
3149
- p.response = a.dataTransformer(y, a);
3149
+ f.response = a.dataTransformer(y, a);
3150
3150
  } else {
3151
- console.error("No data provider or URL provided"), i.value = !1, l("loading", !1), be.done();
3151
+ console.error("No data provider or URL provided"), i.value = !1, l("loading", !1), xe.done();
3152
3152
  return;
3153
3153
  }
3154
3154
  if (c) return;
3155
- p.hotInstance.updateData(p.response.data), p.options.callback && typeof p.options.callback == "function" && await p.options.callback();
3156
- const h = p.hotInstance.getPlugin("autoColumnSize");
3157
- ee(a.settings, "columns", []).forEach((y, k) => {
3158
- y.width || h.calculateColumnsWidth(k, k, !0);
3155
+ f.hotInstance.updateData(f.response.data), f.options.callback && typeof f.options.callback == "function" && await f.options.callback();
3156
+ const h = f.hotInstance.getPlugin("autoColumnSize");
3157
+ te(a.settings, "columns", []).forEach((y, w) => {
3158
+ y.width || h.calculateColumnsWidth(w, w, !0);
3159
3159
  }), l("load", {
3160
- data: p.response.data,
3161
- meta: p.response.meta
3160
+ data: f.response.data,
3161
+ meta: f.response.meta
3162
3162
  }), u && typeof u == "function" && u();
3163
3163
  } catch (h) {
3164
3164
  r.value = h, l("error", h), console.error("Error loading table data:", h);
3165
3165
  } finally {
3166
- i.value = !1, l("loading", !1), be.done();
3166
+ i.value = !1, l("loading", !1), xe.done();
3167
3167
  }
3168
3168
  }
3169
3169
  },
@@ -3172,46 +3172,46 @@ const eo = (e) => {
3172
3172
  fireEvent: (u, h) => {
3173
3173
  l(u, h);
3174
3174
  },
3175
- getSettingsForProp: (u) => cs(ee(p.tableSettings, "columns"), { data: u }),
3175
+ getSettingsForProp: (u) => us(te(f.tableSettings, "columns"), { data: u }),
3176
3176
  // Helper methods for easier param access
3177
- getParams: () => p.computed.params,
3178
- getParam: (u) => p.computed.params[u],
3177
+ getParams: () => f.computed.params,
3178
+ getParam: (u) => f.computed.params[u],
3179
3179
  setParam: (u, h) => {
3180
- p.methods.applyParams({ [u]: h });
3180
+ f.methods.applyParams({ [u]: h });
3181
3181
  },
3182
- clearParam: (u) => p.methods.removeParam(u),
3182
+ clearParam: (u) => f.methods.removeParam(u),
3183
3183
  clearParams: (u) => {
3184
3184
  (Array.isArray(u) ? u : [u]).forEach((x) => {
3185
- p.params[x] !== void 0 && delete p.params[x];
3186
- }), p.methods.applyParams({ page: 1 });
3185
+ f.params[x] !== void 0 && delete f.params[x];
3186
+ }), f.methods.applyParams({ page: 1 });
3187
3187
  }
3188
3188
  },
3189
3189
  computed: {
3190
3190
  params: L(() => ({
3191
3191
  ...a.params,
3192
- ...p.params
3192
+ ...f.params
3193
3193
  })),
3194
- ready: L(() => us(p, "response.meta.last_page"))
3194
+ ready: L(() => ds(f, "response.meta.last_page"))
3195
3195
  },
3196
3196
  options: L(() => ({
3197
- ...Te,
3197
+ ...$e,
3198
3198
  ...a.options
3199
3199
  })),
3200
3200
  tableSettings: L(() => ({
3201
3201
  ...Ee,
3202
- nestedHeaders: ee(a.settings, "nestedHeaders", []),
3203
- ...!ee(a.settings, "nestedHeaders") && {
3204
- afterGetColHeader: (u, h) => za(u, h, p)
3202
+ nestedHeaders: te(a.settings, "nestedHeaders", []),
3203
+ ...!te(a.settings, "nestedHeaders") && {
3204
+ afterGetColHeader: (u, h) => Na(u, h, f)
3205
3205
  },
3206
- afterChange: (u, h) => uo(),
3207
- afterRender: () => Na(p),
3206
+ afterChange: (u, h) => po(),
3207
+ afterRender: () => Ua(f),
3208
3208
  /**
3209
3209
  * Prevent columns with explicit width from being stretched
3210
3210
  * This hook fires BEFORE stretchH is applied, allowing us to cap specific columns
3211
3211
  * while letting others stretch normally
3212
3212
  */
3213
3213
  beforeStretchingColumnWidth: (u, h) => {
3214
- const y = ee(a.settings, "columns", [])[h];
3214
+ const y = te(a.settings, "columns", [])[h];
3215
3215
  return y && y.width !== void 0 ? y.width : u;
3216
3216
  },
3217
3217
  /**
@@ -3221,21 +3221,21 @@ const eo = (e) => {
3221
3221
  beforeCopy: (u, h) => {
3222
3222
  const x = o.value?.hotInstance;
3223
3223
  x && h.forEach((y) => {
3224
- for (let k = y.startRow; k <= y.endRow; k++)
3225
- for (let $ = y.startCol; $ <= y.endCol; $++) {
3226
- const I = x.getCell(k, $);
3227
- if (I) {
3228
- const Y = k - h[0].startRow, fe = $ - h[0].startCol;
3229
- u[Y][fe] = I.dataset.copyValue ?? I.textContent ?? "";
3224
+ for (let w = y.startRow; w <= y.endRow; w++)
3225
+ for (let T = y.startCol; T <= y.endCol; T++) {
3226
+ const F = x.getCell(w, T);
3227
+ if (F) {
3228
+ const j = w - h[0].startRow, me = T - h[0].startCol;
3229
+ u[j][me] = F.dataset.copyValue ?? F.textContent ?? "";
3230
3230
  }
3231
3231
  }
3232
3232
  });
3233
3233
  },
3234
3234
  ...a.settings
3235
3235
  }))
3236
- }), f = L(
3237
- () => p.computed.ready && p.response.data?.length === 0
3238
- ), w = (u) => {
3236
+ }), p = L(
3237
+ () => f.computed.ready && f.response.data?.length === 0
3238
+ ), k = (u) => {
3239
3239
  if (!u) return null;
3240
3240
  switch (u.type) {
3241
3241
  case "search":
@@ -3247,133 +3247,133 @@ const eo = (e) => {
3247
3247
  default:
3248
3248
  return null;
3249
3249
  }
3250
- }, _ = (u) => u ? typeof u.enabled == "function" ? u.enabled(p.params) : u.enabled : !1, b = L(() => Object.entries(a.plugins).filter(([u, h]) => _(h)).map(([u, h]) => ({ name: u, config: h })));
3251
- if (N(
3252
- () => ({ ...p.params }),
3250
+ }, _ = (u) => u ? typeof u.enabled == "function" ? u.enabled(f.params) : u.enabled : !1, b = L(() => Object.entries(a.plugins).filter(([u, h]) => _(h)).map(([u, h]) => ({ name: u, config: h })));
3251
+ if (U(
3252
+ () => ({ ...f.params }),
3253
3253
  () => {
3254
3254
  const u = [];
3255
3255
  Object.values(a.plugins).forEach((h) => {
3256
- const x = w(h);
3256
+ const x = k(h);
3257
3257
  if (!x) return;
3258
- const y = _(h), k = p.params[x] !== void 0;
3259
- !y && k && u.push(x);
3258
+ const y = _(h), w = f.params[x] !== void 0;
3259
+ !y && w && u.push(x);
3260
3260
  }), u.length > 0 && u.forEach((h) => {
3261
- delete p.params[h];
3261
+ delete f.params[h];
3262
3262
  });
3263
3263
  },
3264
3264
  { deep: !0, flush: "sync" }
3265
3265
  ), a.syncToRoute || a.persistToStorage) {
3266
3266
  const u = typeof a.syncToRoute == "string";
3267
- po(p, {
3267
+ fo(f, {
3268
3268
  namespace: u ? a.syncToRoute : null,
3269
3269
  syncToRoute: !!a.syncToRoute,
3270
3270
  persistToStorage: a.persistToStorage
3271
3271
  });
3272
3272
  }
3273
- return Le(
3273
+ return Pe(
3274
3274
  () => a.params,
3275
3275
  async () => {
3276
- p.params.page = 1, await p.methods.loadTable();
3276
+ f.params.page = 1, await f.methods.loadTable();
3277
3277
  },
3278
3278
  { debounce: 50, maxWait: 1e3 }
3279
- ), Le(
3280
- () => p.params,
3279
+ ), Pe(
3280
+ () => f.params,
3281
3281
  async () => {
3282
- await p.methods.loadTable();
3282
+ await f.methods.loadTable();
3283
3283
  },
3284
3284
  { debounce: 50, maxWait: 1e3 }
3285
- ), N(
3285
+ ), U(
3286
3286
  () => a.url,
3287
3287
  async (u, h) => {
3288
- u !== h && (p.params.page = 1, await p.methods.loadTable());
3288
+ u !== h && (f.params.page = 1, await f.methods.loadTable());
3289
3289
  }
3290
- ), ye(async () => {
3291
- await p.methods.loadTable(), l("ready");
3292
- }), je(() => {
3290
+ ), pe(async () => {
3291
+ await f.methods.loadTable(), l("ready");
3292
+ }), ze(() => {
3293
3293
  c = !0;
3294
- }), co(p), s({
3295
- refresh: () => p.methods.loadTable(),
3296
- getParams: () => p.methods.getParams(),
3297
- getParam: (u) => p.methods.getParam(u),
3298
- setParam: (u, h) => p.methods.setParam(u, h),
3299
- clearParam: (u) => p.methods.clearParam(u),
3300
- clearParams: (u) => p.methods.clearParams(u),
3301
- applyParams: (u) => p.methods.applyParams(u),
3294
+ }), uo(f), s({
3295
+ refresh: () => f.methods.loadTable(),
3296
+ getParams: () => f.methods.getParams(),
3297
+ getParam: (u) => f.methods.getParam(u),
3298
+ setParam: (u, h) => f.methods.setParam(u, h),
3299
+ clearParam: (u) => f.methods.clearParam(u),
3300
+ clearParams: (u) => f.methods.clearParams(u),
3301
+ applyParams: (u) => f.methods.applyParams(u),
3302
3302
  loading: i,
3303
3303
  error: r,
3304
- sparkTable: p,
3304
+ sparkTable: f,
3305
3305
  table: o
3306
3306
  }), (u, h) => {
3307
- const x = R("font-awesome-icon");
3308
- return m(), v("div", qo, [
3309
- p.computed.ready && b.value && b.value.length ? (m(), H(Re, {
3307
+ const x = A("font-awesome-icon");
3308
+ return m(), v("div", Zo, [
3309
+ f.computed.ready && b.value && b.value.length ? (m(), H(Ae, {
3310
3310
  key: 0,
3311
3311
  position: "header"
3312
3312
  }, {
3313
3313
  default: P(() => [
3314
- (m(!0), v(E, null, z(b.value, (y) => (m(), H(Z(d[y.config.type]), {
3314
+ (m(!0), v(E, null, N(b.value, (y) => (m(), H(W(d[y.config.type]), {
3315
3315
  key: y.name,
3316
3316
  class: V(y.config.align ? `self-${y.config.align}` : ""),
3317
- "spark-table": p,
3317
+ "spark-table": f,
3318
3318
  config: y.config
3319
3319
  }, null, 8, ["class", "spark-table", "config"]))), 128)),
3320
- B(u.$slots, "header", {
3321
- sparkTable: p,
3320
+ z(u.$slots, "header", {
3321
+ sparkTable: f,
3322
3322
  loading: i.value,
3323
3323
  error: r.value
3324
3324
  })
3325
3325
  ]),
3326
3326
  _: 3
3327
- })) : (m(), v("div", Zo)),
3328
- bt(C(S(ds), {
3327
+ })) : (m(), v("div", Wo)),
3328
+ xt(S(C(ps), {
3329
3329
  "theme-name": "ht-theme-classic",
3330
3330
  ref_key: "table",
3331
3331
  ref: o,
3332
- settings: p.tableSettings
3332
+ settings: f.tableSettings
3333
3333
  }, null, 8, ["settings"]), [
3334
- [xt, !f.value]
3334
+ [wt, !p.value]
3335
3335
  ]),
3336
- f.value ? (m(), v("div", Ko, [
3337
- C(x, {
3338
- icon: S(D).farInbox,
3336
+ p.value ? (m(), v("div", Ko, [
3337
+ S(x, {
3338
+ icon: C(R).farInbox,
3339
3339
  class: "size-12 mb-4 text-gray-300"
3340
3340
  }, null, 8, ["icon"]),
3341
3341
  h[0] || (h[0] = g("p", { class: "text-sm" }, "No records found", -1))
3342
- ])) : T("", !0),
3343
- p.computed.ready ? (m(), H(Re, {
3342
+ ])) : $("", !0),
3343
+ f.computed.ready ? (m(), H(Ae, {
3344
3344
  key: 3,
3345
3345
  position: "footer"
3346
3346
  }, {
3347
3347
  default: P(() => [
3348
- f.value ? T("", !0) : (m(), H(bo, {
3348
+ p.value ? $("", !0) : (m(), H(xo, {
3349
3349
  key: 0,
3350
- "spark-table": p
3350
+ "spark-table": f
3351
3351
  }, null, 8, ["spark-table"])),
3352
- g("div", Wo, [
3353
- f.value ? T("", !0) : (m(), H(Co, {
3352
+ g("div", Go, [
3353
+ p.value ? $("", !0) : (m(), H(Co, {
3354
3354
  key: 0,
3355
- "spark-table": p,
3356
- onPaginate: p.methods.applyParams
3355
+ "spark-table": f,
3356
+ onPaginate: f.methods.applyParams
3357
3357
  }, null, 8, ["spark-table", "onPaginate"])),
3358
- C($o, {
3359
- "spark-table": p,
3360
- onPaginate: p.methods.applyParams
3358
+ S(Lo, {
3359
+ "spark-table": f,
3360
+ onPaginate: f.methods.applyParams
3361
3361
  }, null, 8, ["spark-table", "onPaginate"]),
3362
- B(u.$slots, "footer", {
3363
- sparkTable: p,
3362
+ z(u.$slots, "footer", {
3363
+ sparkTable: f,
3364
3364
  loading: i.value,
3365
3365
  error: r.value
3366
3366
  })
3367
3367
  ])
3368
3368
  ]),
3369
3369
  _: 3
3370
- })) : T("", !0)
3370
+ })) : $("", !0)
3371
3371
  ]);
3372
3372
  };
3373
3373
  }
3374
3374
  };
3375
- function Ae() {
3376
- const e = W({
3375
+ function Ie() {
3376
+ const e = G({
3377
3377
  isVisible: !1,
3378
3378
  content: null,
3379
3379
  props: {},
@@ -3399,9 +3399,9 @@ function Ae() {
3399
3399
  }
3400
3400
  };
3401
3401
  }
3402
- class Yo {
3402
+ class Xo {
3403
3403
  constructor() {
3404
- this.left = Ae(), this.right = Ae();
3404
+ this.left = Ie(), this.right = Ie();
3405
3405
  }
3406
3406
  showLeft = (s, t = {}, a = {}, l = {}) => {
3407
3407
  const n = {
@@ -3431,37 +3431,37 @@ class Yo {
3431
3431
  this.left.close(), this.right.close();
3432
3432
  };
3433
3433
  }
3434
- const ae = new Yo(), Xo = (e) => {
3434
+ const ae = new Xo(), Jo = (e) => {
3435
3435
  const s = document.cookie.match(new RegExp(`(^| )${e}=([^;]+)`));
3436
3436
  return s ? s[2] : null;
3437
- }, Jo = (e, s, t = {}) => {
3437
+ }, Qo = (e, s, t = {}) => {
3438
3438
  const {
3439
3439
  maxAge: a = 31536e3,
3440
3440
  // 365 days in seconds
3441
- domain: l = ft(),
3441
+ domain: l = mt(),
3442
3442
  secure: n = !0,
3443
3443
  sameSite: o = "Lax",
3444
3444
  path: i = "/"
3445
3445
  } = t;
3446
3446
  let r = `${e}=${s}; max-age=${a}; path=${i}; samesite=${o}`;
3447
3447
  l && (r += `; domain=${l}`), n && (r += "; secure"), document.cookie = r;
3448
- }, Qo = (e, s = {}) => {
3449
- const { domain: t = ft(), path: a = "/" } = s;
3448
+ }, er = (e, s = {}) => {
3449
+ const { domain: t = mt(), path: a = "/" } = s;
3450
3450
  let l = `${e}=; max-age=0; path=${a}`;
3451
3451
  t && (l += `; domain=${t}`), document.cookie = l;
3452
- }, ft = () => {
3452
+ }, mt = () => {
3453
3453
  const e = window.location.hostname;
3454
3454
  return e === "localhost" ? "localhost" : e.endsWith(".test") || e.endsWith(".io") ? "." + e.split(".").slice(-2).join(".") : e.endsWith(".com.au") ? "." + e.split(".").slice(-3).join(".") : e;
3455
- }, mt = [];
3456
- function er(e) {
3457
- mt.push(e);
3455
+ }, gt = [];
3456
+ function tr(e) {
3457
+ gt.push(e);
3458
3458
  }
3459
- function tr() {
3460
- mt.forEach((e) => e());
3459
+ function sr() {
3460
+ gt.forEach((e) => e());
3461
3461
  }
3462
3462
  function dl(e) {
3463
3463
  let s = !1;
3464
- return er(() => {
3464
+ return tr(() => {
3465
3465
  s = !1;
3466
3466
  }), {
3467
3467
  bootstrapApp: async () => {
@@ -3474,8 +3474,8 @@ function dl(e) {
3474
3474
  }
3475
3475
  };
3476
3476
  }
3477
- const we = "bolt-next-token", Q = pe("auth", () => {
3478
- const e = W({
3477
+ const _e = "bolt-next-token", Q = fe("auth", () => {
3478
+ const e = G({
3479
3479
  user: null,
3480
3480
  token: null,
3481
3481
  ready: !1,
@@ -3510,12 +3510,12 @@ const we = "bolt-next-token", Q = pe("auth", () => {
3510
3510
  }), s = (c = {}) => {
3511
3511
  c.endpoints && Object.assign(e.endpoints, c.endpoints), c.routes && Object.assign(e.routes, c.routes), c.devCredentials && Object.assign(e.devCredentials, c.devCredentials), c.callbacks && Object.assign(e.callbacks, c.callbacks), c.overrideToken && (e.overrideToken = c.overrideToken);
3512
3512
  }, t = (c) => {
3513
- Jo(we, c), e.token = c;
3513
+ Qo(_e, c), e.token = c;
3514
3514
  }, a = () => {
3515
- Qo(we), e.token = null;
3516
- }, l = () => Xo(we), n = async (c) => {
3517
- const d = await le.post(e.endpoints.login, c), p = d.headers.authorization;
3518
- return t(p), e.user = d.data, e.callbacks.onLoginSuccess && await e.callbacks.onLoginSuccess(d.data), d.data;
3515
+ er(_e), e.token = null;
3516
+ }, l = () => Jo(_e), n = async (c) => {
3517
+ const d = await le.post(e.endpoints.login, c), f = d.headers.authorization;
3518
+ return t(f), e.user = d.data, e.callbacks.onLoginSuccess && await e.callbacks.onLoginSuccess(d.data), d.data;
3519
3519
  }, o = async () => {
3520
3520
  try {
3521
3521
  await le.post(
@@ -3530,7 +3530,7 @@ const we = "bolt-next-token", Q = pe("auth", () => {
3530
3530
  } catch (c) {
3531
3531
  throw e.callbacks.onLogoutError && await e.callbacks.onLogoutError(c), c;
3532
3532
  } finally {
3533
- a(), e.user = null, tr();
3533
+ a(), e.user = null, sr();
3534
3534
  }
3535
3535
  }, i = async () => {
3536
3536
  const c = e.overrideToken || l();
@@ -3561,7 +3561,7 @@ const we = "bolt-next-token", Q = pe("auth", () => {
3561
3561
  getTokenCookie: l
3562
3562
  };
3563
3563
  });
3564
- function sr(e = {}) {
3564
+ function ar(e = {}) {
3565
3565
  const s = le.create({
3566
3566
  baseURL: e.baseURL || "",
3567
3567
  timeout: e.timeout || 3e4,
@@ -3603,9 +3603,9 @@ function sr(e = {}) {
3603
3603
  }
3604
3604
  let ne = null;
3605
3605
  function pl(e, s = {}) {
3606
- return ne = sr(s), e.provide("axios", ne), e.config.globalProperties.$axios = ne, ne;
3606
+ return ne = ar(s), e.provide("axios", ne), e.config.globalProperties.$axios = ne, ne;
3607
3607
  }
3608
- function ar() {
3608
+ function ve() {
3609
3609
  if (!ne)
3610
3610
  throw new Error("Axios instance not initialized. Call setupAxios() first.");
3611
3611
  return ne;
@@ -3621,70 +3621,136 @@ function rr(e) {
3621
3621
  }
3622
3622
  function fl(e = {}) {
3623
3623
  const {
3624
- successMessage: s = "Saved successfully!",
3625
- createMessage: t = "Created successfully!",
3626
- updateMessage: a = "Updated successfully!",
3627
- redirectTo: l = null,
3628
- onSuccess: n = null,
3629
- onError: o = null,
3630
- showNotification: i = !0,
3631
- setFieldErrors: r = !0,
3632
- setFormErrors: c = !1
3633
- } = e, d = G(), p = F(!1);
3634
- async function f(_) {
3635
- const { submitFn: b, method: u = "create", node: h = null, isEditMode: x = !1 } = _;
3636
- p.value = !0, h && h.clearErrors();
3624
+ endpoint: s = null,
3625
+ successMessage: t = "Saved successfully!",
3626
+ createMessage: a = "Created successfully!",
3627
+ updateMessage: l = "Updated successfully!",
3628
+ redirectTo: n = null,
3629
+ onSuccess: o = null,
3630
+ onError: i = null,
3631
+ showNotification: r = !0,
3632
+ setFieldErrors: c = !0,
3633
+ setFormErrors: d = !0
3634
+ } = e, f = Y(), p = D(!1);
3635
+ async function k(u) {
3636
+ const { submitFn: h, method: x = "create", node: y = null, isEditMode: w = !1 } = u;
3637
+ p.value = !0, y && y.clearErrors();
3637
3638
  try {
3638
- const k = (await b()).data;
3639
- if (i) {
3640
- const $ = x ? a : u === "create" ? t : s;
3641
- j.show({
3639
+ const F = (await h()).data;
3640
+ if (o && await o(F), !w && n) {
3641
+ const j = typeof n == "function" ? n(F) : n;
3642
+ await f.push(j);
3643
+ }
3644
+ if (r) {
3645
+ const j = w ? l : x === "create" ? a : t;
3646
+ B.toast({
3642
3647
  type: "success",
3643
- message: $
3648
+ message: j
3644
3649
  });
3645
3650
  }
3646
- if (n && await n(k), !x && l) {
3647
- const $ = typeof l == "function" ? l(k) : l;
3648
- await d.push($);
3649
- }
3650
- return { success: !0, data: k, error: null };
3651
- } catch (y) {
3652
- const k = y.response;
3653
- if (o && await o(y) === !0)
3654
- return { success: !1, data: null, error: y };
3655
- if (rr(k)) {
3656
- const $ = or(k);
3657
- $ && h && r && h.setErrors([], $), c && j.show({
3651
+ return { success: !0, data: F, error: null };
3652
+ } catch (T) {
3653
+ const F = T.response;
3654
+ if (i && await i(T) === !0)
3655
+ return { success: !1, data: null, error: T };
3656
+ if (rr(F)) {
3657
+ const j = or(F);
3658
+ j && y && c && y.setErrors([], j), d && (B.show({
3658
3659
  type: "danger",
3659
- message: Oe(k)
3660
- });
3660
+ message: Oe(F)
3661
+ }), window.scrollTo({ top: 0, behavior: "smooth" }));
3661
3662
  } else
3662
- j.show({
3663
+ B.show({
3663
3664
  type: "danger",
3664
- message: Oe(k)
3665
- });
3666
- return { success: !1, data: null, error: y };
3665
+ message: Oe(F)
3666
+ }), window.scrollTo({ top: 0, behavior: "smooth" });
3667
+ return { success: !1, data: null, error: T };
3667
3668
  } finally {
3668
3669
  p.value = !1;
3669
3670
  }
3670
3671
  }
3671
- async function w(_) {
3672
- const { url: b, payload: u, method: h = "post", node: x, isEditMode: y } = _, k = ar();
3673
- return f({
3674
- submitFn: () => k[h](b, u),
3675
- method: y ? "update" : "create",
3676
- node: x,
3677
- isEditMode: y
3672
+ async function _(u) {
3673
+ const { url: h, payload: x, method: y = "post", node: w, isEditMode: T } = u, F = ve();
3674
+ return k({
3675
+ submitFn: () => F[y](h, x),
3676
+ method: T ? "update" : "create",
3677
+ node: w,
3678
+ isEditMode: T
3678
3679
  });
3679
3680
  }
3681
+ async function b(u) {
3682
+ const { payload: h, node: x, resourceId: y, isEditMode: w } = u, T = w ? `/${s}/${y}` : `/${s}`;
3683
+ return _({ url: T, payload: h, method: w ? "put" : "post", node: x, isEditMode: w });
3684
+ }
3680
3685
  return {
3681
3686
  submitting: p,
3682
- submit: f,
3683
- submitToApi: w
3687
+ submit: k,
3688
+ submitToApi: _,
3689
+ ...s ? { submitCrud: b } : {}
3684
3690
  };
3685
3691
  }
3686
- function ml(e = {}) {
3687
- const { items: s = [], defaultId: t = null } = e, a = G(), l = se(), n = F(s.map(o));
3692
+ function ml(e, s = {}) {
3693
+ const { queryParams: t = "", fetchFn: a = null, fetchOnCreate: l = !1 } = s, n = ee(), o = D(null), i = D(null), r = L(() => n.params.id ?? null), c = L(() => r.value !== null);
3694
+ async function d() {
3695
+ if (!(!l && !c.value)) {
3696
+ i.value = null;
3697
+ try {
3698
+ if (a) {
3699
+ const p = await a({
3700
+ axios: ve(),
3701
+ resourceId: r.value,
3702
+ isEditMode: c.value,
3703
+ route: n
3704
+ });
3705
+ p !== void 0 && (o.value = p);
3706
+ } else {
3707
+ const p = ve();
3708
+ let k = `/${e}/${r.value}`;
3709
+ t && (k += `?${t}`);
3710
+ const _ = await p.get(k);
3711
+ o.value = _.data;
3712
+ }
3713
+ } catch (p) {
3714
+ i.value = p.response?.data?.message || p.message || "Failed to load data.";
3715
+ }
3716
+ }
3717
+ }
3718
+ function f() {
3719
+ c.value && d();
3720
+ }
3721
+ return pe(() => {
3722
+ (l || c.value) && d();
3723
+ }), { data: o, error: i, resourceId: r, isEditMode: c, fetch: d, handleSuccess: f };
3724
+ }
3725
+ function gl(e, s = {}) {
3726
+ const {
3727
+ endpoint: t,
3728
+ successMessage: a,
3729
+ errorMessage: l,
3730
+ onSuccess: n,
3731
+ onError: o
3732
+ } = s;
3733
+ async function i(r) {
3734
+ try {
3735
+ await ve().delete(`/${t}/${r.id}`);
3736
+ } catch (c) {
3737
+ if (o && o(c, r))
3738
+ return;
3739
+ B.show({
3740
+ type: "danger",
3741
+ message: l || c.response?.data?.message || "Failed to delete."
3742
+ }), console.error(c);
3743
+ return;
3744
+ }
3745
+ B.show({
3746
+ type: "success",
3747
+ message: a || "Deleted successfully."
3748
+ }), n && n(r), e?.value?.refresh && e.value.refresh();
3749
+ }
3750
+ return { handleDelete: i };
3751
+ }
3752
+ function hl(e = {}) {
3753
+ const { items: s = [], defaultId: t = null } = e, a = Y(), l = ee(), n = D(s.map(o));
3688
3754
  function o(u) {
3689
3755
  return {
3690
3756
  id: u.id,
@@ -3720,11 +3786,11 @@ function ml(e = {}) {
3720
3786
  }
3721
3787
  return !1;
3722
3788
  }
3723
- const p = L(() => {
3789
+ const f = L(() => {
3724
3790
  const u = r.value.find((h) => d(h));
3725
3791
  return u || (t ? r.value.find((h) => h.id === t) || r.value[0] : r.value[0] || null);
3726
- }), f = L(() => p.value?.id || null);
3727
- async function w(u) {
3792
+ }), p = L(() => f.value?.id || null);
3793
+ async function k(u) {
3728
3794
  const h = typeof u == "string" ? n.value.find((x) => x.id === u) : u;
3729
3795
  if (!h)
3730
3796
  return console.warn(`[useSubNavigation] Item not found: ${u}`), !1;
@@ -3735,12 +3801,12 @@ function ml(e = {}) {
3735
3801
  return await a.push(x), !0;
3736
3802
  }
3737
3803
  if (h.overlay) {
3738
- const { component: x, props: y = {}, eventHandlers: k = {}, position: $ = "right", size: I } = h.overlay;
3739
- return ae[$ === "left" ? "showLeft" : "showRight"](ce(x), y, k, { size: I }), !0;
3804
+ const { component: x, props: y = {}, eventHandlers: w = {}, position: T = "right", size: F } = h.overlay;
3805
+ return ae[T === "left" ? "showLeft" : "showRight"](ce(x), y, w, { size: F }), !0;
3740
3806
  }
3741
3807
  if (h.modal) {
3742
- const { component: x, props: y = {}, eventHandlers: k = {} } = h.modal;
3743
- return J.show(ce(x), y, k), !0;
3808
+ const { component: x, props: y = {}, eventHandlers: w = {} } = h.modal;
3809
+ return J.show(ce(x), y, w), !0;
3744
3810
  }
3745
3811
  if (h.action) {
3746
3812
  const x = h.action(h);
@@ -3758,9 +3824,9 @@ function ml(e = {}) {
3758
3824
  return {
3759
3825
  items: n,
3760
3826
  visibleItems: r,
3761
- activeItem: p,
3762
- activeId: f,
3763
- navigateTo: w,
3827
+ activeItem: f,
3828
+ activeId: p,
3829
+ navigateTo: k,
3764
3830
  isActive: d,
3765
3831
  isDisabled: c,
3766
3832
  setItems: _,
@@ -3785,14 +3851,14 @@ function cr() {
3785
3851
  for (const e of ie.values())
3786
3852
  e.isDirty = !1;
3787
3853
  }
3788
- function gl(e = {}) {
3854
+ function yl(e = {}) {
3789
3855
  const {
3790
3856
  message: s = "You have unsaved changes. Leave anyway?",
3791
3857
  title: t = "Unsaved Changes",
3792
3858
  confirmText: a = "Leave",
3793
3859
  cancelText: l = "Stay",
3794
3860
  useRouteGuard: n = !0
3795
- } = e, o = `form-${++nr}`, i = F(!1);
3861
+ } = e, o = `form-${++nr}`, i = D(!1);
3796
3862
  ie.set(o, {
3797
3863
  isDirty: !1,
3798
3864
  message: s
@@ -3815,27 +3881,36 @@ function gl(e = {}) {
3815
3881
  });
3816
3882
  return u && c(), u;
3817
3883
  };
3818
- let p = !1;
3819
- const f = (b) => {
3884
+ let f = !1;
3885
+ const p = (b) => {
3820
3886
  if (i.value)
3821
3887
  return b.preventDefault(), b.returnValue = "", "";
3822
- }, w = () => {
3823
- p || (window.addEventListener("beforeunload", f), p = !0);
3888
+ }, k = () => {
3889
+ f || (window.addEventListener("beforeunload", p), f = !0);
3824
3890
  }, _ = () => {
3825
- p && (window.removeEventListener("beforeunload", f), p = !1);
3891
+ f && (window.removeEventListener("beforeunload", p), f = !1);
3826
3892
  };
3827
- return n && ls(async () => await d()), je(() => {
3893
+ return n && is(async () => await d()), ze(() => {
3828
3894
  ie.delete(o), _();
3829
3895
  }), {
3830
3896
  isDirty: i,
3831
3897
  setDirty: r,
3832
3898
  setClean: c,
3833
3899
  checkDirty: d,
3834
- enableBrowserWarning: w,
3900
+ enableBrowserWarning: k,
3835
3901
  disableBrowserWarning: _
3836
3902
  };
3837
3903
  }
3838
- const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex flex-1 flex-col" }, pr = {
3904
+ const vl = [
3905
+ { label: "Australian Capital Territory", value: "ACT" },
3906
+ { label: "New South Wales", value: "NSW" },
3907
+ { label: "Northern Territory", value: "NT" },
3908
+ { label: "Queensland", value: "QLD" },
3909
+ { label: "South Australia", value: "SA" },
3910
+ { label: "Tasmania", value: "TAS" },
3911
+ { label: "Victoria", value: "VIC" },
3912
+ { label: "Western Australia", value: "WA" }
3913
+ ], ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex flex-1 flex-col" }, pr = {
3839
3914
  class: "flex flex-1 flex-col gap-y-7",
3840
3915
  role: "list"
3841
3916
  }, fr = { class: "flex flex-1 flex-col" }, mr = {
@@ -3850,7 +3925,7 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3850
3925
  }, br = ["href", "onClick"], xr = {
3851
3926
  key: 1,
3852
3927
  class: "text-[13px]"
3853
- }, kr = { class: "mt-auto" }, wr = { class: "p-[10px] flex-shrink-0" }, _r = { class: "flex flex-1 items-center gap-x-6" }, Cr = { class: "relative flex flex-1 items-center gap-4" }, Sr = { class: "cursor-pointer" }, Tr = ["src"], $r = { class: "ml-auto" }, Lr = { class: "mr-[10px] pb-[10px] flex-1 flex flex-col" }, hl = {
3928
+ }, wr = { class: "mt-auto" }, kr = { class: "p-[10px] flex-shrink-0" }, _r = { class: "flex flex-1 items-center gap-x-6" }, Sr = { class: "relative flex flex-1 items-center gap-4" }, Cr = { class: "cursor-pointer" }, Tr = ["src"], $r = { class: "ml-auto" }, Lr = { class: "mr-[10px] pb-[10px] flex-1 flex flex-col" }, bl = {
3854
3929
  __name: "SparkDefaultContainer",
3855
3930
  props: {
3856
3931
  appStore: {
@@ -3868,16 +3943,16 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3868
3943
  },
3869
3944
  emits: ["overlayClose"],
3870
3945
  setup(e, { emit: s }) {
3871
- const t = e, a = s, l = Be(), n = se(), o = (b) => b.href ? !!(b.href === n.name || b.href === n.path || n.path.startsWith(b.href + "/")) : !1, i = dt(), r = it(), c = L(() => r.getAppIcon(t.appStore.state.app)), d = L(() => n.meta.hideBrandSelector === !0 ? !1 : t.appStore.state.showBrandSelector), p = () => {
3946
+ const t = e, a = s, l = je(), n = ee(), o = (b) => b.href ? !!(b.href === n.name || b.href === n.path || n.path.startsWith(b.href + "/")) : !1, i = pt(), r = ct(), c = L(() => r.getAppIcon(t.appStore.state.app)), d = L(() => n.meta.hideBrandSelector === !0 ? !1 : t.appStore.state.showBrandSelector), f = () => {
3872
3947
  const b = {};
3873
- l["app-selector-bottom"] ? b.bottomSlot = () => $e("div", {}, l["app-selector-bottom"]()) : t.appSelectorSlots.bottomSlot && (b.bottomSlot = t.appSelectorSlots.bottomSlot), l["app-selector-footer"] ? b.footerSlot = () => $e("div", {}, l["app-selector-footer"]()) : t.appSelectorSlots.footerSlot && (b.footerSlot = t.appSelectorSlots.footerSlot), ae.showRight(Bs, b, {
3948
+ l["app-selector-bottom"] ? b.bottomSlot = () => Le("div", {}, l["app-selector-bottom"]()) : t.appSelectorSlots.bottomSlot && (b.bottomSlot = t.appSelectorSlots.bottomSlot), l["app-selector-footer"] ? b.footerSlot = () => Le("div", {}, l["app-selector-footer"]()) : t.appSelectorSlots.footerSlot && (b.footerSlot = t.appSelectorSlots.footerSlot), ae.showRight(js, b, {
3874
3949
  select: (u) => {
3875
3950
  ae.closeRight();
3876
3951
  }
3877
3952
  });
3878
- }, f = () => {
3953
+ }, p = () => {
3879
3954
  ae.showLeft(
3880
- ca,
3955
+ ua,
3881
3956
  {},
3882
3957
  {
3883
3958
  select: (b) => {
@@ -3885,12 +3960,12 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3885
3960
  }
3886
3961
  }
3887
3962
  );
3888
- }, w = L(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]), _ = L(() => t.mainNavStore.state.hidden ? ["pl-2.5"] : [t.mainNavStore.state.collapsed ? "pl-[80px]" : "pl-[240px]"]);
3963
+ }, k = L(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]), _ = L(() => t.mainNavStore.state.hidden ? ["pl-2.5"] : [t.mainNavStore.state.collapsed ? "pl-[80px]" : "pl-[240px]"]);
3889
3964
  return (b, u) => {
3890
- const h = R("font-awesome-icon"), x = R("router-view");
3965
+ const h = A("font-awesome-icon"), x = A("router-view");
3891
3966
  return m(), v(E, null, [
3892
3967
  g("div", {
3893
- class: V([w.value, "fixed inset-y-0 flex transition-all z-100"])
3968
+ class: V([k.value, "fixed inset-y-0 flex transition-all z-100"])
3894
3969
  }, [
3895
3970
  g("div", ur, [
3896
3971
  g("nav", dr, [
@@ -3902,18 +3977,18 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3902
3977
  class: "grid w-[40px] h-[40px] place-items-center rounded-md bg-primary-600 text-white text-[13px] cursor-pointer",
3903
3978
  onClick: u[0] || (u[0] = O((y) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"]))
3904
3979
  }, [
3905
- C(h, {
3906
- icon: S(D)[c.value],
3980
+ S(h, {
3981
+ icon: C(R)[c.value],
3907
3982
  class: "size-5"
3908
3983
  }, null, 8, ["icon"])
3909
3984
  ]),
3910
- e.mainNavStore.state.collapsed ? T("", !0) : (m(), v("a", {
3985
+ e.mainNavStore.state.collapsed ? $("", !0) : (m(), v("a", {
3911
3986
  key: 0,
3912
3987
  onClick: u[1] || (u[1] = O((y) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"])),
3913
3988
  class: "font-medium text-gray-800 ml-[10px] cursor-pointer"
3914
3989
  }, M(e.appStore.state.app), 1))
3915
3990
  ]),
3916
- (m(!0), v(E, null, z(e.mainNavStore.state.menu, (y) => (m(), v("li", {
3991
+ (m(!0), v(E, null, N(e.mainNavStore.state.menu, (y) => (m(), v("li", {
3917
3992
  key: y.name,
3918
3993
  class: V({
3919
3994
  "mt-[10px]": y.children,
@@ -3926,16 +4001,16 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3926
4001
  "hover:bg-gray-100": y?.href
3927
4002
  }, "h-[37px] sgroup flex items-center gap-x-2 rounded-md p-3 text-gray-800 leading-5 transition-all duration-300 ease-in-out"]),
3928
4003
  href: y?.href,
3929
- onClick: O((k) => e.mainNavStore.goto(y.href), ["prevent"])
4004
+ onClick: O((w) => e.mainNavStore.goto(y.href), ["prevent"])
3930
4005
  }, [
3931
4006
  y.icon ? (m(), H(h, {
3932
4007
  key: 0,
3933
- icon: S(D)[y.icon],
4008
+ icon: C(R)[y.icon],
3934
4009
  class: V([[(o(y), "text-gray-400")], "size-4"])
3935
- }, null, 8, ["icon", "class"])) : T("", !0),
4010
+ }, null, 8, ["icon", "class"])) : $("", !0),
3936
4011
  e.mainNavStore.state.collapsed ? y?.children ? (m(), v("div", yr, [...u[6] || (u[6] = [
3937
4012
  g("div", { class: "w-[10px] h-px bg-gray-400" }, null, -1)
3938
- ])])) : T("", !0) : (m(), v("span", {
4013
+ ])])) : $("", !0) : (m(), v("span", {
3939
4014
  key: 1,
3940
4015
  class: V({
3941
4016
  "text-[11px]": y?.children,
@@ -3946,35 +4021,35 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3946
4021
  }, M(y.name), 3))
3947
4022
  ], 10, hr),
3948
4023
  y.children ? (m(), v("ul", vr, [
3949
- (m(!0), v(E, null, z(y.children, (k) => (m(), v("li", {
3950
- key: k.name
4024
+ (m(!0), v(E, null, N(y.children, (w) => (m(), v("li", {
4025
+ key: w.name
3951
4026
  }, [
3952
4027
  g("a", {
3953
- class: V([[o(k) ? "bg-gray-100" : "", "hover:bg-gray-100"], "h-[37px] sgroup flex items-center gap-x-2 rounded-md p-3 text-gray-800 leading-5 transition-all duration-300 ease-in-out"]),
3954
- href: k.href,
3955
- onClick: O(($) => e.mainNavStore.goto(k.href), ["prevent"])
4028
+ class: V([[o(w) ? "bg-gray-100" : "", "hover:bg-gray-100"], "h-[37px] sgroup flex items-center gap-x-2 rounded-md p-3 text-gray-800 leading-5 transition-all duration-300 ease-in-out"]),
4029
+ href: w.href,
4030
+ onClick: O((T) => e.mainNavStore.goto(w.href), ["prevent"])
3956
4031
  }, [
3957
- k.icon ? (m(), H(h, {
4032
+ w.icon ? (m(), H(h, {
3958
4033
  key: 0,
3959
- icon: S(D)[k.icon],
3960
- class: V([[(o(k), "text-gray-400")], "size-4"])
3961
- }, null, 8, ["icon", "class"])) : T("", !0),
3962
- e.mainNavStore.state.collapsed ? T("", !0) : (m(), v("span", xr, M(k.name), 1))
4034
+ icon: C(R)[w.icon],
4035
+ class: V([[(o(w), "text-gray-400")], "size-4"])
4036
+ }, null, 8, ["icon", "class"])) : $("", !0),
4037
+ e.mainNavStore.state.collapsed ? $("", !0) : (m(), v("span", xr, M(w.name), 1))
3963
4038
  ], 10, br)
3964
4039
  ]))), 128))
3965
- ])) : T("", !0)
4040
+ ])) : $("", !0)
3966
4041
  ], 2))), 128))
3967
4042
  ])
3968
4043
  ]),
3969
- g("li", kr, [
3970
- B(b.$slots, "sidebar-footer"),
4044
+ g("li", wr, [
4045
+ z(b.$slots, "sidebar-footer"),
3971
4046
  g("a", {
3972
4047
  class: "font-medium grid place-content-center gap-x-3 rounded-md h-10 p-2.5 text-gray-800 text-[13px] hover:bg-gray-100 transition-all duration-300 ease-in-out",
3973
4048
  href: "#",
3974
4049
  onClick: u[2] || (u[2] = O((y) => e.mainNavStore.toggleCollapsed(), ["prevent"]))
3975
4050
  }, [
3976
- C(h, {
3977
- icon: S(D)[e.mainNavStore.state.collapsed ? "farArrowRightToLine" : "farArrowLeftToLine"],
4051
+ S(h, {
4052
+ icon: C(R)[e.mainNavStore.state.collapsed ? "farArrowRightToLine" : "farArrowLeftToLine"],
3978
4053
  class: "class-5"
3979
4054
  }, null, 8, ["icon"])
3980
4055
  ])
@@ -3986,83 +4061,83 @@ const ur = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, dr = { class: "flex
3986
4061
  g("div", {
3987
4062
  class: V([_.value, "h-full transition-all flex flex-col"])
3988
4063
  }, [
3989
- g("div", wr, [
4064
+ g("div", kr, [
3990
4065
  g("div", _r, [
3991
- g("div", Cr, [
3992
- B(b.$slots, "header-left", {}, () => [
3993
- g("div", Sr, [
3994
- C(h, {
3995
- icon: S(D).farBarsSort,
4066
+ g("div", Sr, [
4067
+ z(b.$slots, "header-left", {}, () => [
4068
+ g("div", Cr, [
4069
+ S(h, {
4070
+ icon: C(R).farBarsSort,
3996
4071
  class: "size-5",
3997
4072
  onClick: u[3] || (u[3] = (y) => e.mainNavStore.toggleHidden())
3998
4073
  }, null, 8, ["icon"])
3999
4074
  ])
4000
4075
  ]),
4001
- B(b.$slots, "header-center", {}, () => [
4076
+ z(b.$slots, "header-center", {}, () => [
4002
4077
  d.value ? (m(), v("div", {
4003
4078
  key: 0,
4004
4079
  class: "absolute left-1/2 -translate-x-1/2 cursor-pointer h-9 flex items-center",
4005
- onClick: f
4080
+ onClick: p
4006
4081
  }, [
4007
- S(i).currentBrand ? (m(), v("img", {
4082
+ C(i).currentBrand ? (m(), v("img", {
4008
4083
  key: 0,
4009
- src: S(i).currentBrand.logo,
4084
+ src: C(i).currentBrand.logo,
4010
4085
  alt: "",
4011
4086
  class: "h-[30px] w-auto"
4012
- }, null, 8, Tr)) : T("", !0)
4013
- ])) : T("", !0)
4087
+ }, null, 8, Tr)) : $("", !0)
4088
+ ])) : $("", !0)
4014
4089
  ]),
4015
4090
  g("div", $r, [
4016
- B(b.$slots, "header-right", {}, () => [
4091
+ z(b.$slots, "header-right", {}, () => [
4017
4092
  e.appStore.state.showAppSelector ? (m(), v("button", {
4018
4093
  key: 0,
4019
4094
  class: "rounded-sm bg-white w-[42px] h-[42px] ring-1 ring-inset ring-gray-300",
4020
4095
  type: "button",
4021
- onClick: p
4096
+ onClick: f
4022
4097
  }, [
4023
- C(h, {
4024
- icon: S(D).farGripDotsVertical,
4098
+ S(h, {
4099
+ icon: C(R).farGripDotsVertical,
4025
4100
  class: "size-4 text-gray-400"
4026
4101
  }, null, 8, ["icon"])
4027
- ])) : T("", !0)
4102
+ ])) : $("", !0)
4028
4103
  ])
4029
4104
  ])
4030
4105
  ])
4031
4106
  ])
4032
4107
  ]),
4033
4108
  g("main", Lr, [
4034
- C(x)
4109
+ S(x)
4035
4110
  ])
4036
4111
  ], 2),
4037
- C(S(Me), {
4112
+ S(C(Ve), {
4038
4113
  position: "left",
4039
- "overlay-instance": S(ae).left,
4114
+ "overlay-instance": C(ae).left,
4040
4115
  onClose: u[4] || (u[4] = (y) => a("overlayClose", "left"))
4041
4116
  }, null, 8, ["overlay-instance"]),
4042
- C(S(Me), {
4117
+ S(C(Ve), {
4043
4118
  position: "right",
4044
- "overlay-instance": S(ae).right,
4119
+ "overlay-instance": C(ae).right,
4045
4120
  onClose: u[5] || (u[5] = (y) => a("overlayClose", "right"))
4046
4121
  }, null, 8, ["overlay-instance"]),
4047
- C(S(Ra))
4122
+ S(C(Aa))
4048
4123
  ], 64);
4049
4124
  };
4050
4125
  }
4051
4126
  }, Pr = {}, Mr = { class: "h-full" };
4052
4127
  function Vr(e, s) {
4053
- const t = R("router-view");
4128
+ const t = A("router-view");
4054
4129
  return m(), v("main", Mr, [
4055
- C(t)
4130
+ S(t)
4056
4131
  ]);
4057
4132
  }
4058
- const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid place-content-center relative" }, Fr = { class: "absolute top-8 left-8" }, Dr = ["src"], Rr = {
4133
+ const xl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid place-content-center relative" }, Fr = { class: "absolute top-8 left-8" }, Dr = ["src"], Rr = {
4059
4134
  key: 1,
4060
4135
  width: "59",
4061
4136
  height: "23",
4062
4137
  viewBox: "0 0 59 23",
4063
4138
  fill: "none",
4064
4139
  xmlns: "http://www.w3.org/2000/svg"
4065
- }, Er = { class: "max-w-sm grid gap-y-1 -mt-8" }, Ar = { class: "mb-7" }, Or = { class: "text-gray-600" }, Ir = { class: "grid grid-flow-col justify-between mt-1 mb-4" }, Br = {
4140
+ }, Ar = { class: "max-w-sm grid gap-y-1 -mt-8" }, Er = { class: "mb-7" }, Ir = { class: "text-gray-600" }, Or = { class: "grid grid-flow-col justify-between mt-1 mb-4" }, Br = {
4066
4141
  key: 0,
4067
4142
  class: "text-red-600 text-sm mb-2"
4068
4143
  }, jr = { key: 0 }, zr = { key: 1 }, Nr = {
@@ -4082,7 +4157,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4082
4157
  }
4083
4158
  },
4084
4159
  setup(e) {
4085
- const s = G(), t = se(), a = ct(), l = Q(), n = e, o = F(!1), i = F(""), r = async (c) => {
4160
+ const s = Y(), t = ee(), a = ut(), l = Q(), n = e, o = D(!1), i = D(""), r = async (c) => {
4086
4161
  o.value = !0, i.value = "";
4087
4162
  try {
4088
4163
  await l.login(c);
@@ -4102,7 +4177,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4102
4177
  }
4103
4178
  };
4104
4179
  return (c, d) => {
4105
- const p = R("FormKit"), f = R("router-link");
4180
+ const f = A("FormKit"), p = A("router-link");
4106
4181
  return m(), v("div", Hr, [
4107
4182
  g("div", Fr, [
4108
4183
  n.logo ? (m(), v("img", {
@@ -4129,49 +4204,49 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4129
4204
  }, null, -1)
4130
4205
  ])]))
4131
4206
  ]),
4132
- g("div", Er, [
4133
- g("div", Ar, [
4207
+ g("div", Ar, [
4208
+ g("div", Er, [
4134
4209
  d[1] || (d[1] = g("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Log in", -1)),
4135
- g("p", Or, " Welcome back" + M(S(a).state.app ? ` to ${S(a).state.app}` : "") + "! Please enter your details. ", 1)
4210
+ g("p", Ir, " Welcome back" + M(C(a).state.app ? ` to ${C(a).state.app}` : "") + "! Please enter your details. ", 1)
4136
4211
  ]),
4137
- C(p, {
4212
+ S(f, {
4138
4213
  type: "form",
4139
4214
  onSubmit: r,
4140
4215
  actions: !1
4141
4216
  }, {
4142
4217
  default: P(() => [
4143
- C(p, {
4218
+ S(f, {
4144
4219
  label: "Email",
4145
4220
  name: "email",
4146
4221
  placeholder: "Enter your email",
4147
4222
  type: "email",
4148
4223
  validation: "required|email",
4149
4224
  "outer-class": "max-w-full",
4150
- value: S(l).state.devCredentials.username
4225
+ value: C(l).state.devCredentials.username
4151
4226
  }, null, 8, ["value"]),
4152
- C(p, {
4227
+ S(f, {
4153
4228
  label: "Password",
4154
4229
  name: "password",
4155
4230
  placeholder: "••••••••",
4156
4231
  type: "password",
4157
4232
  validation: "required",
4158
4233
  "outer-class": "max-w-full",
4159
- value: S(l).state.devCredentials.password
4234
+ value: C(l).state.devCredentials.password
4160
4235
  }, null, 8, ["value"]),
4161
- g("div", Ir, [
4236
+ g("div", Or, [
4162
4237
  d[3] || (d[3] = g("span", null, null, -1)),
4163
- C(f, {
4238
+ S(p, {
4164
4239
  to: n.forgotPasswordRoute,
4165
4240
  class: "text-sm text-primary-600 font-semibold"
4166
4241
  }, {
4167
4242
  default: P(() => [...d[2] || (d[2] = [
4168
- A(" Forgot password ", -1)
4243
+ I(" Forgot password ", -1)
4169
4244
  ])]),
4170
4245
  _: 1
4171
4246
  }, 8, ["to"])
4172
4247
  ]),
4173
- i.value ? (m(), v("div", Br, M(i.value), 1)) : T("", !0),
4174
- C(S(U), {
4248
+ i.value ? (m(), v("div", Br, M(i.value), 1)) : $("", !0),
4249
+ S(C(q), {
4175
4250
  type: "submit",
4176
4251
  size: "xl",
4177
4252
  disabled: o.value,
@@ -4198,14 +4273,14 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4198
4273
  }
4199
4274
  },
4200
4275
  setup(e) {
4201
- const s = G(), t = se(), a = Q(), l = e;
4202
- return ye(async () => {
4276
+ const s = Y(), t = ee(), a = Q(), l = e;
4277
+ return pe(async () => {
4203
4278
  await a.logout();
4204
4279
  const n = t.query.redirect;
4205
4280
  n && n.startsWith("http") ? window.location.href = n : await s.push(n || l.defaultRedirect);
4206
4281
  }), (n, o) => null;
4207
4282
  }
4208
- }, qr = { class: "h-full grid place-content-center relative" }, Zr = { class: "absolute top-8 left-8" }, Kr = ["src"], Wr = {
4283
+ }, qr = { class: "h-full grid place-content-center relative" }, Zr = { class: "absolute top-8 left-8" }, Wr = ["src"], Kr = {
4209
4284
  key: 1,
4210
4285
  width: "59",
4211
4286
  height: "23",
@@ -4231,7 +4306,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4231
4306
  }
4232
4307
  },
4233
4308
  setup(e) {
4234
- const s = Q(), t = e, a = F(!1), l = F(""), n = F(""), o = async ({ email: i }) => {
4309
+ const s = Q(), t = e, a = D(!1), l = D(""), n = D(""), o = async ({ email: i }) => {
4235
4310
  a.value = !0, l.value = "", n.value = "";
4236
4311
  try {
4237
4312
  await le.post(s.state.endpoints.passwordEmail, { email: i }), n.value = "Password reset link sent! Check your email.";
@@ -4242,7 +4317,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4242
4317
  }
4243
4318
  };
4244
4319
  return (i, r) => {
4245
- const c = R("FormKit"), d = R("router-link");
4320
+ const c = A("FormKit"), d = A("router-link");
4246
4321
  return m(), v("div", qr, [
4247
4322
  g("div", Zr, [
4248
4323
  t.logo ? (m(), v("img", {
@@ -4250,7 +4325,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4250
4325
  src: t.logo,
4251
4326
  alt: "Logo",
4252
4327
  class: "h-[23px] w-auto"
4253
- }, null, 8, Kr)) : (m(), v("svg", Wr, [...r[0] || (r[0] = [
4328
+ }, null, 8, Wr)) : (m(), v("svg", Kr, [...r[0] || (r[0] = [
4254
4329
  g("path", {
4255
4330
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
4256
4331
  fill: "#1C64F2"
@@ -4274,13 +4349,13 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4274
4349
  g("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Reset password"),
4275
4350
  g("p", { class: "text-gray-600" }, " Enter your email and we'll send you a link to reset your password. ")
4276
4351
  ], -1)),
4277
- C(c, {
4352
+ S(c, {
4278
4353
  type: "form",
4279
4354
  onSubmit: o,
4280
4355
  actions: !1
4281
4356
  }, {
4282
4357
  default: P(() => [
4283
- C(c, {
4358
+ S(c, {
4284
4359
  label: "Email",
4285
4360
  name: "email",
4286
4361
  placeholder: "Enter your email",
@@ -4288,9 +4363,9 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4288
4363
  validation: "required|email",
4289
4364
  "outer-class": "max-w-full"
4290
4365
  }),
4291
- l.value ? (m(), v("div", Yr, M(l.value), 1)) : T("", !0),
4292
- n.value ? (m(), v("div", Xr, M(n.value), 1)) : T("", !0),
4293
- C(S(U), {
4366
+ l.value ? (m(), v("div", Yr, M(l.value), 1)) : $("", !0),
4367
+ n.value ? (m(), v("div", Xr, M(n.value), 1)) : $("", !0),
4368
+ S(C(q), {
4294
4369
  type: "submit",
4295
4370
  size: "xl",
4296
4371
  disabled: a.value,
@@ -4301,12 +4376,12 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4301
4376
  ]),
4302
4377
  _: 1
4303
4378
  }, 8, ["disabled"]),
4304
- C(d, {
4379
+ S(d, {
4305
4380
  to: t.loginRoute,
4306
4381
  class: "text-sm text-center text-primary-600 font-semibold block"
4307
4382
  }, {
4308
4383
  default: P(() => [...r[1] || (r[1] = [
4309
- A(" Back to login ", -1)
4384
+ I(" Back to login ", -1)
4310
4385
  ])]),
4311
4386
  _: 1
4312
4387
  }, 8, ["to"])
@@ -4340,7 +4415,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4340
4415
  }
4341
4416
  },
4342
4417
  setup(e) {
4343
- const s = G(), t = se(), a = Q(), l = e, n = F(!1), o = F(""), i = async ({ password: r, password_confirmation: c }) => {
4418
+ const s = Y(), t = ee(), a = Q(), l = e, n = D(!1), o = D(""), i = async ({ password: r, password_confirmation: c }) => {
4344
4419
  n.value = !0, o.value = "";
4345
4420
  try {
4346
4421
  await le.post(a.state.endpoints.passwordReset, {
@@ -4356,7 +4431,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4356
4431
  }
4357
4432
  };
4358
4433
  return (r, c) => {
4359
- const d = R("FormKit");
4434
+ const d = A("FormKit");
4360
4435
  return m(), v("div", tn, [
4361
4436
  g("div", sn, [
4362
4437
  l.logo ? (m(), v("img", {
@@ -4388,13 +4463,13 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4388
4463
  g("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Set new password"),
4389
4464
  g("p", { class: "text-gray-600" }, " Enter your new password below. ")
4390
4465
  ], -1)),
4391
- C(d, {
4466
+ S(d, {
4392
4467
  type: "form",
4393
4468
  onSubmit: i,
4394
4469
  actions: !1
4395
4470
  }, {
4396
4471
  default: P(() => [
4397
- C(d, {
4472
+ S(d, {
4398
4473
  label: "New Password",
4399
4474
  name: "password",
4400
4475
  placeholder: "••••••••",
@@ -4402,7 +4477,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4402
4477
  validation: "required|length:8",
4403
4478
  "outer-class": "max-w-full"
4404
4479
  }),
4405
- C(d, {
4480
+ S(d, {
4406
4481
  label: "Confirm Password",
4407
4482
  name: "password_confirmation",
4408
4483
  placeholder: "••••••••",
@@ -4410,8 +4485,8 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4410
4485
  validation: "required|confirm:password",
4411
4486
  "outer-class": "max-w-full"
4412
4487
  }),
4413
- o.value ? (m(), v("div", nn, M(o.value), 1)) : T("", !0),
4414
- C(S(U), {
4488
+ o.value ? (m(), v("div", nn, M(o.value), 1)) : $("", !0),
4489
+ S(C(q), {
4415
4490
  type: "submit",
4416
4491
  size: "xl",
4417
4492
  disabled: n.value,
@@ -4449,7 +4524,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4449
4524
  }
4450
4525
  },
4451
4526
  setup(e) {
4452
- const s = G(), t = e, a = () => {
4527
+ const s = Y(), t = e, a = () => {
4453
4528
  s.push(t.homeRoute);
4454
4529
  };
4455
4530
  return (l, n) => (m(), v("div", dn, [
@@ -4483,18 +4558,18 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4483
4558
  g("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "403"),
4484
4559
  g("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Access Forbidden "),
4485
4560
  g("p", { class: "text-gray-600" }, [
4486
- A(" You don't have permission to access this resource."),
4561
+ I(" You don't have permission to access this resource."),
4487
4562
  g("br"),
4488
- A(" If you believe this is an error, please contact your administrator. ")
4563
+ I(" If you believe this is an error, please contact your administrator. ")
4489
4564
  ])
4490
4565
  ], -1)),
4491
4566
  g("div", hn, [
4492
- C(S(U), {
4567
+ S(C(q), {
4493
4568
  onClick: a,
4494
4569
  size: "lg"
4495
4570
  }, {
4496
4571
  default: P(() => [...n[1] || (n[1] = [
4497
- A(" Go to Home ", -1)
4572
+ I(" Go to Home ", -1)
4498
4573
  ])]),
4499
4574
  _: 1
4500
4575
  })
@@ -4502,14 +4577,14 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4502
4577
  ])
4503
4578
  ]));
4504
4579
  }
4505
- }, vn = { class: "h-full grid place-content-center relative" }, bn = { class: "absolute top-8 left-8" }, xn = ["src"], kn = {
4580
+ }, vn = { class: "h-full grid place-content-center relative" }, bn = { class: "absolute top-8 left-8" }, xn = ["src"], wn = {
4506
4581
  key: 1,
4507
4582
  width: "59",
4508
4583
  height: "23",
4509
4584
  viewBox: "0 0 59 23",
4510
4585
  fill: "none",
4511
4586
  xmlns: "http://www.w3.org/2000/svg"
4512
- }, wn = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, _n = { class: "flex gap-4 justify-center" }, Cn = {
4587
+ }, kn = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, _n = { class: "flex gap-4 justify-center" }, Sn = {
4513
4588
  __name: "SparkError404View",
4514
4589
  props: {
4515
4590
  logo: {
@@ -4522,7 +4597,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4522
4597
  }
4523
4598
  },
4524
4599
  setup(e) {
4525
- const s = G(), t = e, a = () => {
4600
+ const s = Y(), t = e, a = () => {
4526
4601
  s.push(t.homeRoute);
4527
4602
  };
4528
4603
  return (l, n) => (m(), v("div", vn, [
@@ -4532,7 +4607,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4532
4607
  src: t.logo,
4533
4608
  alt: "Logo",
4534
4609
  class: "h-[23px] w-auto"
4535
- }, null, 8, xn)) : (m(), v("svg", kn, [...n[0] || (n[0] = [
4610
+ }, null, 8, xn)) : (m(), v("svg", wn, [...n[0] || (n[0] = [
4536
4611
  g("path", {
4537
4612
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
4538
4613
  fill: "#1C64F2"
@@ -4551,19 +4626,19 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4551
4626
  }, null, -1)
4552
4627
  ])]))
4553
4628
  ]),
4554
- g("div", wn, [
4629
+ g("div", kn, [
4555
4630
  n[2] || (n[2] = g("div", null, [
4556
4631
  g("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "404"),
4557
4632
  g("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Page Not Found "),
4558
4633
  g("p", { class: "text-gray-600" }, " The page you're looking for doesn't exist or has been moved. ")
4559
4634
  ], -1)),
4560
4635
  g("div", _n, [
4561
- C(S(U), {
4636
+ S(C(q), {
4562
4637
  onClick: a,
4563
4638
  size: "lg"
4564
4639
  }, {
4565
4640
  default: P(() => [...n[1] || (n[1] = [
4566
- A(" Go to Home ", -1)
4641
+ I(" Go to Home ", -1)
4567
4642
  ])]),
4568
4643
  _: 1
4569
4644
  })
@@ -4571,14 +4646,14 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4571
4646
  ])
4572
4647
  ]));
4573
4648
  }
4574
- }, Sn = { class: "h-full grid place-content-center relative" }, Tn = { class: "absolute top-8 left-8" }, $n = ["src"], Ln = {
4649
+ }, Cn = { class: "h-full grid place-content-center relative" }, Tn = { class: "absolute top-8 left-8" }, $n = ["src"], Ln = {
4575
4650
  key: 1,
4576
4651
  width: "59",
4577
4652
  height: "23",
4578
4653
  viewBox: "0 0 59 23",
4579
4654
  fill: "none",
4580
4655
  xmlns: "http://www.w3.org/2000/svg"
4581
- }, Pn = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, Mn = { class: "text-primary-600 text-7xl font-bold mb-4" }, Vn = { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, Hn = { class: "text-gray-600" }, Fn = { class: "flex gap-4 justify-center" }, vl = {
4656
+ }, Pn = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, Mn = { class: "text-primary-600 text-7xl font-bold mb-4" }, Vn = { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, Hn = { class: "text-gray-600" }, Fn = { class: "flex gap-4 justify-center" }, wl = {
4582
4657
  __name: "SparkErrorGeneralView",
4583
4658
  props: {
4584
4659
  logo: {
@@ -4603,10 +4678,10 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4603
4678
  }
4604
4679
  },
4605
4680
  setup(e) {
4606
- const s = G(), t = e, a = () => {
4681
+ const s = Y(), t = e, a = () => {
4607
4682
  s.push(t.homeRoute);
4608
4683
  };
4609
- return (l, n) => (m(), v("div", Sn, [
4684
+ return (l, n) => (m(), v("div", Cn, [
4610
4685
  g("div", Tn, [
4611
4686
  t.logo ? (m(), v("img", {
4612
4687
  key: 0,
@@ -4639,12 +4714,12 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4639
4714
  g("p", Hn, M(t.message || "An unexpected error occurred. Please try again later."), 1)
4640
4715
  ]),
4641
4716
  g("div", Fn, [
4642
- C(S(U), {
4717
+ S(C(q), {
4643
4718
  onClick: a,
4644
4719
  size: "lg"
4645
4720
  }, {
4646
4721
  default: P(() => [...n[1] || (n[1] = [
4647
- A(" Go to Home ", -1)
4722
+ I(" Go to Home ", -1)
4648
4723
  ])]),
4649
4724
  _: 1
4650
4725
  })
@@ -4653,7 +4728,7 @@ const yl = /* @__PURE__ */ oe(Pr, [["render", Vr]]), Hr = { class: "h-full grid
4653
4728
  ]));
4654
4729
  }
4655
4730
  };
4656
- function bl(e = {}) {
4731
+ function kl(e = {}) {
4657
4732
  const {
4658
4733
  loginPath: s = "/login",
4659
4734
  logoutPath: t = "/logout",
@@ -4693,7 +4768,7 @@ function bl(e = {}) {
4693
4768
  }
4694
4769
  ];
4695
4770
  }
4696
- function xl(e, s = {}) {
4771
+ function _l(e, s = {}) {
4697
4772
  const { defaultAuthenticatedRoute: t = "/dashboard" } = s;
4698
4773
  e.beforeEach(async (a, l, n) => {
4699
4774
  const o = Q();
@@ -4738,7 +4813,7 @@ function Dn(e, s, t, a) {
4738
4813
  s();
4739
4814
  }
4740
4815
  }
4741
- function kl(e = {}) {
4816
+ function Sl(e = {}) {
4742
4817
  const {
4743
4818
  forbiddenPath: s = "/error/403",
4744
4819
  logo: t = "",
@@ -4752,7 +4827,7 @@ function kl(e = {}) {
4752
4827
  meta: { auth: !1 }
4753
4828
  };
4754
4829
  }
4755
- function wl(e = {}) {
4830
+ function Cl(e = {}) {
4756
4831
  const {
4757
4832
  logo: s = "",
4758
4833
  homeRoute: t = "/dashboard"
@@ -4760,12 +4835,12 @@ function wl(e = {}) {
4760
4835
  return {
4761
4836
  path: "/:pathMatch(.*)*",
4762
4837
  name: "error-404",
4763
- component: Cn,
4838
+ component: Sn,
4764
4839
  props: { logo: s, homeRoute: t },
4765
4840
  meta: { auth: !1 }
4766
4841
  };
4767
4842
  }
4768
- function _l(e, s) {
4843
+ function Tl(e, s) {
4769
4844
  e.beforeResolve(async (t) => {
4770
4845
  if (t.meta.auth !== !1) {
4771
4846
  const a = Q();
@@ -4773,7 +4848,7 @@ function _l(e, s) {
4773
4848
  }
4774
4849
  });
4775
4850
  }
4776
- function Cl(e, s = {}) {
4851
+ function $l(e, s = {}) {
4777
4852
  const {
4778
4853
  title: t = "Unsaved Changes",
4779
4854
  message: a = "You have unsaved changes. Leave anyway?",
@@ -4795,19 +4870,19 @@ function Cl(e, s = {}) {
4795
4870
  }) ? (cr(), r()) : r(!1);
4796
4871
  });
4797
4872
  }
4798
- const Sl = pe("sparkNav", () => {
4799
- const e = W({
4873
+ const Ll = fe("sparkNav", () => {
4874
+ const e = G({
4800
4875
  menu: [],
4801
4876
  collapsed: !1,
4802
4877
  hidden: !1
4803
- }), s = G(), t = se(), a = (c = []) => {
4878
+ }), s = Y(), t = ee(), a = (c = []) => {
4804
4879
  e.menu = c, r();
4805
4880
  }, l = (c, d) => {
4806
- for (const p of c) {
4807
- if (p.href === d) return p;
4808
- if (p.children) {
4809
- const f = l(p.children, d);
4810
- if (f) return f;
4881
+ for (const f of c) {
4882
+ if (f.href === d) return f;
4883
+ if (f.children) {
4884
+ const p = l(f.children, d);
4885
+ if (p) return p;
4811
4886
  }
4812
4887
  }
4813
4888
  return null;
@@ -4827,15 +4902,15 @@ const Sl = pe("sparkNav", () => {
4827
4902
  }, r = () => {
4828
4903
  const c = t.name || t.path.replace("/", "");
4829
4904
  if (c) {
4830
- const d = (p) => {
4831
- p.forEach((f) => {
4832
- f.current = f.href === c, f.children && d(f.children);
4905
+ const d = (f) => {
4906
+ f.forEach((p) => {
4907
+ p.current = p.href === c, p.children && d(p.children);
4833
4908
  });
4834
4909
  };
4835
4910
  d(e.menu);
4836
4911
  }
4837
4912
  };
4838
- return N(
4913
+ return U(
4839
4914
  () => t.path,
4840
4915
  () => {
4841
4916
  r();
@@ -4851,80 +4926,83 @@ const Sl = pe("sparkNav", () => {
4851
4926
  };
4852
4927
  });
4853
4928
  export {
4854
- D as Icons,
4929
+ vl as AUSTRALIAN_STATES,
4930
+ R as Icons,
4855
4931
  re as SparkAlert,
4856
- Bs as SparkAppSelector,
4857
- ca as SparkBrandSelector,
4858
- U as SparkButton,
4859
- pt as SparkButtonGroup,
4932
+ js as SparkAppSelector,
4933
+ ua as SparkBrandSelector,
4934
+ q as SparkButton,
4935
+ ft as SparkButtonGroup,
4860
4936
  nl as SparkCard,
4861
- hl as SparkDefaultContainer,
4937
+ bl as SparkDefaultContainer,
4862
4938
  yn as SparkError403View,
4863
- Cn as SparkError404View,
4864
- vl as SparkErrorGeneralView,
4939
+ Sn as SparkError404View,
4940
+ wl as SparkErrorGeneralView,
4865
4941
  ll as SparkFileDragUpload,
4866
4942
  en as SparkForgotPasswordView,
4867
4943
  il as SparkImageUpload,
4868
4944
  Nr as SparkLoginView,
4869
4945
  Ur as SparkLogoutView,
4870
- Ra as SparkModalContainer,
4871
- Va as SparkModalDialog,
4946
+ Aa as SparkModalContainer,
4947
+ Ha as SparkModalDialog,
4872
4948
  ol as SparkNotificationOutlet,
4873
- Me as SparkOverlay,
4874
- yl as SparkPublicContainer,
4949
+ Ve as SparkOverlay,
4950
+ xl as SparkPublicContainer,
4875
4951
  un as SparkResetPasswordView,
4876
4952
  cl as SparkSubNav,
4877
4953
  ul as SparkTable,
4878
- Bo as SparkTableDatePicker,
4879
- Ao as SparkTableFilterButtons,
4880
- Fo as SparkTableFilterSelect,
4954
+ jo as SparkTableDatePicker,
4955
+ Io as SparkTableFilterButtons,
4956
+ Do as SparkTableFilterSelect,
4881
4957
  Co as SparkTablePaginationPaging,
4882
- $o as SparkTablePaginationPerPage,
4883
- Uo as SparkTableReset,
4884
- Mo as SparkTableSearch,
4885
- Re as SparkTableToolbar,
4958
+ Lo as SparkTablePaginationPerPage,
4959
+ qo as SparkTableReset,
4960
+ Vo as SparkTableSearch,
4961
+ Ae as SparkTableToolbar,
4886
4962
  rl as SparkToastContainer,
4887
4963
  sl as addIcons,
4888
4964
  cr as clearAllDirtyForms,
4889
- kl as create403Route,
4890
- wl as create404Route,
4891
- bl as createAuthRoutes,
4892
- sr as createAxiosInstance,
4965
+ Sl as create403Route,
4966
+ Cl as create404Route,
4967
+ kl as createAuthRoutes,
4968
+ ar as createAxiosInstance,
4893
4969
  dl as createBootstrapService,
4894
- za as customiseHeader,
4895
- Qo as deleteCookie,
4970
+ Na as customiseHeader,
4971
+ er as deleteCookie,
4896
4972
  el as formKitGenesisOverride,
4897
4973
  tl as formKitIconLoader,
4898
4974
  Qn as formKitIcons,
4899
- ro as formatTemporal,
4900
- ar as getAxiosInstance,
4901
- Xo as getCookie,
4975
+ no as formatTemporal,
4976
+ ve as getAxiosInstance,
4977
+ Jo as getCookie,
4902
4978
  ir as getDirtyFormMessage,
4903
- ft as getDomain,
4979
+ mt as getDomain,
4904
4980
  Oe as getFormLevelMessage,
4905
4981
  lr as hasAnyDirtyForm,
4906
4982
  rr as isValidationError,
4907
- no as parseDatetime,
4983
+ lo as parseDatetime,
4908
4984
  or as parseLaravelErrors,
4909
4985
  Oa as renderHeaderTitle,
4910
- Jo as setCookie,
4911
- xl as setupAuthGuards,
4986
+ Qo as setCookie,
4987
+ _l as setupAuthGuards,
4912
4988
  pl as setupAxios,
4913
- _l as setupBootstrapGuard,
4914
- Cl as setupDirtyFormGuard,
4989
+ Tl as setupBootstrapGuard,
4990
+ $l as setupDirtyFormGuard,
4915
4991
  al as setupFontAwesome,
4916
4992
  J as sparkModalService,
4917
- j as sparkNotificationService,
4993
+ B as sparkNotificationService,
4918
4994
  ae as sparkOverlayService,
4919
- uo as updateRow,
4920
- gl as useFormDirtyGuard,
4995
+ po as updateRow,
4996
+ ml as useCrudResource,
4997
+ yl as useFormDirtyGuard,
4921
4998
  fl as useFormSubmission,
4922
- it as useSparkAppSelectorStore,
4923
- ct as useSparkAppStore,
4999
+ ct as useSparkAppSelectorStore,
5000
+ ut as useSparkAppStore,
4924
5001
  Q as useSparkAuthStore,
4925
- dt as useSparkBrandFilterStore,
4926
- Sl as useSparkNavStore,
4927
- Ae as useSparkOverlay,
4928
- po as useSparkTableRouteSync,
4929
- ml as useSubNavigation
5002
+ pt as useSparkBrandFilterStore,
5003
+ Ll as useSparkNavStore,
5004
+ Ie as useSparkOverlay,
5005
+ fo as useSparkTableRouteSync,
5006
+ hl as useSubNavigation,
5007
+ gl as useTableDelete
4930
5008
  };