@wishbone-media/spark 0.19.0 → 0.20.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,85 +1,85 @@
1
- import { computed as S, resolveComponent as R, createElementBlock as g, openBlock as f, normalizeClass as $, createElementVNode as d, createVNode as v, unref as b, renderSlot as M, reactive as D, Fragment as j, renderList as N, createCommentVNode as C, toDisplayString as L, createBlock as E, resolveDynamicComponent as te, ref as V, inject as ke, provide as Ee, markRaw as _e, withCtx as T, mergeProps as se, toHandlers as we, createTextVNode as F, watch as A, onMounted as ue, withModifiers as K, useSlots as Se, onUnmounted as Fe, h as fe } from "vue";
2
- import { library as Ce, icon as re } from "@fortawesome/fontawesome-svg-core";
3
- import { FontAwesomeIcon as Ae } from "@fortawesome/vue-fontawesome";
4
- import { faCloudDownload as je, faBolt as Oe, faUndo as ze, faEye as Ie, faSignOut as Ne, faXmark as De, faTrash as qe, faTimes as Ze, faStreetView as Ke, faSortUp as Ue, faSortDown as Ge, faSort as We, faScaleBalanced as Ye, faSatelliteDish as Xe, faLayerPlus as Je, faLaptopMobile as Qe, faInfoCircle as et, faGripDotsVertical as tt, faGearComplex as st, faFlag as at, faFaceSmileWink as ot, faFaceSmileRelaxed as rt, faExclamationTriangle as nt, faEllipsisVertical as lt, faEllipsis as it, faEdit as ct, faComments as dt, faCircleXmark as ut, faCircleUser as pt, faChevronUp as ft, faChevronRight as mt, faChevronLeft as gt, faChevronDown as ht, faCheckCircle as yt, faCheck as bt, faBullhorn as vt, faBellRing as xt, faBarsSort as kt, faArrowRightToLine as _t, faArrowLeftToLine as wt } from "@fortawesome/pro-regular-svg-icons";
5
- import { defineStore as ae } from "pinia";
6
- import { TransitionRoot as $e, Dialog as Te, TransitionChild as ne, DialogPanel as Le } from "@headlessui/vue";
7
- import le from "nprogress";
8
- import { range as St, get as I, find as Ct, has as $t } from "lodash";
9
- import { HotTable as Tt } from "@handsontable/vue3";
1
+ import { computed as C, resolveComponent as B, createElementBlock as g, openBlock as f, normalizeClass as T, createElementVNode as d, createVNode as v, unref as y, renderSlot as M, reactive as Z, Fragment as z, renderList as q, createCommentVNode as $, toDisplayString as H, createBlock as F, resolveDynamicComponent as ae, ref as R, inject as _e, provide as Ae, withCtx as L, createTextVNode as A, markRaw as Ce, mergeProps as oe, toHandlers as Se, watch as j, onMounted as pe, withModifiers as G, useSlots as $e, onUnmounted as je, h as me } from "vue";
2
+ import { library as Te, icon as se } from "@fortawesome/fontawesome-svg-core";
3
+ import { FontAwesomeIcon as Oe } from "@fortawesome/vue-fontawesome";
4
+ import { faCloudDownload as ze, faBolt as Ie, faUndo as Ne, faEye as De, faSignOut as qe, faXmark as Ze, faTrash as Ke, faTimes as Ue, faStreetView as Ge, faSortUp as We, faSortDown as Ye, faSort as Xe, faScaleBalanced as Je, faSatelliteDish as Qe, faLayerPlus as et, faLaptopMobile as tt, faInfoCircle as st, faGripDotsVertical as at, faGearComplex as ot, faFlag as rt, faFaceSmileWink as nt, faFaceSmileRelaxed as lt, faExclamationTriangle as it, faEllipsisVertical as ct, faEllipsis as dt, faEdit as ut, faComments as pt, faCircleXmark as ft, faCircleUser as mt, faChevronUp as gt, faChevronRight as ht, faChevronLeft as yt, faChevronDown as bt, faCheckCircle as vt, faCheck as xt, faBullhorn as kt, faBellRing as wt, faBarsSort as _t, faArrowRightToLine as Ct, faArrowLeftToLine as St } from "@fortawesome/pro-regular-svg-icons";
5
+ import { defineStore as re } from "pinia";
6
+ import { TransitionRoot as Le, Dialog as He, TransitionChild as le, DialogPanel as Pe } from "@headlessui/vue";
7
+ import ie from "nprogress";
8
+ import { range as $t, get as D, find as Tt, has as Lt } from "lodash";
9
+ import { HotTable as Ht } from "@handsontable/vue3";
10
10
  import "handsontable/styles/handsontable.css";
11
11
  import "handsontable/styles/ht-theme-classic.css";
12
- import { registerPlugin as oe, AutoColumnSize as Lt, CopyPaste as Ht, StretchColumns as Pt, NestedHeaders as Vt } from "handsontable/plugins";
13
- import { registerAllCellTypes as Rt } from "handsontable/cellTypes";
14
- import { useDebounceFn as He, watchDebounced as me } from "@vueuse/core";
15
- import { registerRenderer as Bt, baseRenderer as Mt } from "handsontable/renderers";
16
- import { useRouter as q, useRoute as Q } from "vue-router";
17
- import J from "axios";
18
- var Et = {
12
+ import { registerPlugin as ne, AutoColumnSize as Pt, CopyPaste as Vt, StretchColumns as Rt, NestedHeaders as Bt } from "handsontable/plugins";
13
+ import { registerAllCellTypes as Et } from "handsontable/cellTypes";
14
+ import { useDebounceFn as Ve, watchDebounced as ge } from "@vueuse/core";
15
+ import { registerRenderer as Mt, baseRenderer as Ft } from "handsontable/renderers";
16
+ import { useRouter as K, useRoute as te } from "vue-router";
17
+ import ee from "axios";
18
+ var At = {
19
19
  prefix: "fad",
20
20
  iconName: "sort-up",
21
21
  icon: [384, 512, ["sort-asc"], "f0de", ["", "M32 224c-12.9 0-24.6-7.8-29.6-19.8S.2 178.5 9.4 169.4l160-160c12.5-12.5 32.8-12.5 45.3 0l160 160c9.2 9.2 11.9 22.9 6.9 34.9S364.9 224 352 224L32 224z"]]
22
- }, Ft = {
22
+ }, jt = {
23
23
  prefix: "fad",
24
24
  iconName: "sort",
25
25
  icon: [384, 512, ["unsorted"], "f0dc", ["M2.4 307.8c-5 12-2.2 25.7 6.9 34.9l160 160c12.5 12.5 32.8 12.5 45.3 0l160-160c9.2-9.2 11.9-22.9 6.9-34.9S364.9 288 352 288L32 288c-12.9 0-24.6 7.8-29.6 19.8z", "M32 224c-12.9 0-24.6-7.8-29.6-19.8S.2 178.5 9.4 169.4l160-160c12.5-12.5 32.8-12.5 45.3 0l160 160c9.2 9.2 11.9 22.9 6.9 34.9S364.9 224 352 224L32 224z"]]
26
- }, At = {
26
+ }, Ot = {
27
27
  prefix: "fad",
28
28
  iconName: "sort-down",
29
29
  icon: [384, 512, ["sort-desc"], "f0dd", ["", "M32 288c-12.9 0-24.6 7.8-29.6 19.8S.2 333.5 9.4 342.6l160 160c12.5 12.5 32.8 12.5 45.3 0l160-160c9.2-9.2 11.9-22.9 6.9-34.9S364.9 288 352 288L32 288z"]]
30
30
  };
31
- const B = {
32
- farArrowLeftToLine: wt,
33
- farArrowRightToLine: _t,
34
- farBarsSort: kt,
35
- farBellRing: xt,
36
- farBullhorn: vt,
37
- farCheck: bt,
38
- farCheckCircle: yt,
39
- farChevronDown: ht,
40
- farChevronLeft: gt,
41
- farChevronRight: mt,
42
- farChevronUp: ft,
43
- farCircleUser: pt,
44
- farCircleXmark: ut,
45
- farComments: dt,
46
- farEdit: ct,
47
- farEllipsis: it,
48
- farEllipsisVertical: lt,
49
- farExclamationTriangle: nt,
50
- farFaceSmileRelaxed: rt,
51
- farFaceSmileWink: ot,
52
- farFlag: at,
53
- farGearComplex: st,
54
- farGripDotsVertical: tt,
55
- farInfoCircle: et,
56
- farLaptopMobile: Qe,
57
- farLayerPlus: Je,
58
- farSatelliteDish: Xe,
59
- farScaleBalanced: Ye,
60
- farSort: We,
61
- farSortDown: Ge,
62
- farSortUp: Ue,
63
- farStreetView: Ke,
64
- farTimes: Ze,
65
- farTrash: qe,
66
- farXmark: De,
67
- farSignOut: Ne,
68
- farEye: Ie,
69
- farUndo: ze,
70
- farBolt: Oe,
71
- farCloudDownload: je,
72
- fadSort: Ft,
73
- fadSortDown: At,
74
- fadSortUp: Et
31
+ const E = {
32
+ farArrowLeftToLine: St,
33
+ farArrowRightToLine: Ct,
34
+ farBarsSort: _t,
35
+ farBellRing: wt,
36
+ farBullhorn: kt,
37
+ farCheck: xt,
38
+ farCheckCircle: vt,
39
+ farChevronDown: bt,
40
+ farChevronLeft: yt,
41
+ farChevronRight: ht,
42
+ farChevronUp: gt,
43
+ farCircleUser: mt,
44
+ farCircleXmark: ft,
45
+ farComments: pt,
46
+ farEdit: ut,
47
+ farEllipsis: dt,
48
+ farEllipsisVertical: ct,
49
+ farExclamationTriangle: it,
50
+ farFaceSmileRelaxed: lt,
51
+ farFaceSmileWink: nt,
52
+ farFlag: rt,
53
+ farGearComplex: ot,
54
+ farGripDotsVertical: at,
55
+ farInfoCircle: st,
56
+ farLaptopMobile: tt,
57
+ farLayerPlus: et,
58
+ farSatelliteDish: Qe,
59
+ farScaleBalanced: Je,
60
+ farSort: Xe,
61
+ farSortDown: Ye,
62
+ farSortUp: We,
63
+ farStreetView: Ge,
64
+ farTimes: Ue,
65
+ farTrash: Ke,
66
+ farXmark: Ze,
67
+ farSignOut: qe,
68
+ farEye: De,
69
+ farUndo: Ne,
70
+ farBolt: Ie,
71
+ farCloudDownload: ze,
72
+ fadSort: jt,
73
+ fadSortDown: Ot,
74
+ fadSortUp: At
75
75
  };
76
- function $r(e) {
77
- Object.assign(B, e), Ce.add(...Object.values(e));
76
+ function Vr(e) {
77
+ Object.assign(E, e), Te.add(...Object.values(e));
78
78
  }
79
- function Tr(e) {
80
- Ce.add(...Object.values(B)), e.component("FontAwesomeIcon", Ae);
79
+ function Rr(e) {
80
+ Te.add(...Object.values(E)), e.component("FontAwesomeIcon", Oe);
81
81
  }
82
- const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }, zt = { class: "ml-3" }, It = { class: "ml-auto pl-3 pt-1 self-start" }, Nt = { class: "-mx-1.5 -my-1.5" }, Lr = {
82
+ const zt = { class: "flex items-center" }, It = { class: "shrink-0 self-start" }, Nt = { class: "ml-3" }, Dt = { class: "ml-auto pl-3 pt-1 self-start" }, qt = { class: "-mx-1.5 -my-1.5" }, Br = {
83
83
  __name: "SparkAlert",
84
84
  props: {
85
85
  type: {
@@ -90,51 +90,51 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
90
90
  },
91
91
  emits: ["close"],
92
92
  setup(e) {
93
- const s = e, t = S(() => ({
93
+ const s = e, t = C(() => ({
94
94
  success: "bg-green-50 border-green-200 text-green-700",
95
95
  warning: "bg-yellow-50 border-yellow-200 text-yellow-700",
96
96
  danger: "bg-red-50 border-red-200 text-red-700",
97
97
  info: "bg-blue-50 border-blue-200 text-blue-700"
98
- })[s.type]), a = S(() => ({
98
+ })[s.type]), a = C(() => ({
99
99
  success: "text-green-400",
100
100
  warning: "text-yellow-400",
101
101
  danger: "text-red-400",
102
102
  info: "text-blue-400"
103
- })[s.type]), l = S(() => ({
103
+ })[s.type]), l = C(() => ({
104
104
  success: "farCheckCircle",
105
105
  warning: "farExclamationTriangle",
106
106
  danger: "farCircleXmark",
107
107
  info: "farInfoCircle"
108
- })[s.type]), r = S(() => ({
108
+ })[s.type]), n = C(() => ({
109
109
  success: "text-green-400 hover:bg-green-100",
110
110
  warning: "text-yellow-400 hover:bg-yellow-100",
111
111
  danger: "text-red-400 hover:bg-red-100",
112
112
  info: "text-blue-400 hover:bg-blue-100"
113
113
  })[s.type]);
114
114
  return (o, i) => {
115
- const n = R("font-awesome-icon");
115
+ const r = B("font-awesome-icon");
116
116
  return f(), g("div", {
117
- class: $(["rounded-md border p-4", t.value])
117
+ class: T(["rounded-md border p-4", t.value])
118
118
  }, [
119
- d("div", jt, [
120
- d("div", Ot, [
121
- v(n, {
122
- icon: b(B)[l.value],
123
- class: $(a.value)
119
+ d("div", zt, [
120
+ d("div", It, [
121
+ v(r, {
122
+ icon: y(E)[l.value],
123
+ class: T(a.value)
124
124
  }, null, 8, ["icon", "class"])
125
125
  ]),
126
- d("div", zt, [
126
+ d("div", Nt, [
127
127
  M(o.$slots, "default")
128
128
  ]),
129
- d("div", It, [
130
- d("div", Nt, [
129
+ d("div", Dt, [
130
+ d("div", qt, [
131
131
  d("button", {
132
132
  type: "button",
133
- class: $(["inline-flex rounded-md px-2 py-1.5", r.value]),
133
+ class: T(["inline-flex rounded-md px-2 py-1.5", n.value]),
134
134
  onClick: i[0] || (i[0] = (c) => o.$emit("close"))
135
135
  }, [
136
- v(n, {
137
- icon: b(B).farXmark
136
+ v(r, {
137
+ icon: y(E).farXmark
138
138
  }, null, 8, ["icon"])
139
139
  ], 2)
140
140
  ])
@@ -143,7 +143,7 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
143
143
  ], 2);
144
144
  };
145
145
  }
146
- }, ie = [
146
+ }, ce = [
147
147
  {
148
148
  name: "Bolt",
149
149
  description: "Job management",
@@ -192,14 +192,14 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
192
192
  href: "https://tabula.letsbolt.io",
193
193
  icon: "farCompass"
194
194
  }
195
- ], Pe = ae("sparkAppSelector", () => {
196
- const e = D({
197
- apps: [...ie]
198
- }), s = (r = {}) => {
199
- if (r.apps && Array.isArray(r.apps)) {
200
- const o = r.apps.filter((i) => {
201
- const n = i.name && i.description && i.icon && i.href;
202
- return n || console.warn("useSparkAppSelectorStore: Invalid app object", i), n;
195
+ ], Re = re("sparkAppSelector", () => {
196
+ const e = Z({
197
+ apps: [...ce]
198
+ }), s = (n = {}) => {
199
+ if (n.apps && Array.isArray(n.apps)) {
200
+ const o = n.apps.filter((i) => {
201
+ const r = i.name && i.description && i.icon && i.href;
202
+ return r || console.warn("useSparkAppSelectorStore: Invalid app object", i), r;
203
203
  });
204
204
  e.apps = o.map((i) => ({
205
205
  name: i.name,
@@ -209,23 +209,23 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
209
209
  }));
210
210
  return;
211
211
  }
212
- if (r.appHrefs && typeof r.appHrefs == "object") {
212
+ if (n.appHrefs && typeof n.appHrefs == "object") {
213
213
  const o = /* @__PURE__ */ new Map();
214
- Object.keys(r.appHrefs).forEach((i) => {
215
- o.set(i.toLowerCase(), r.appHrefs[i]);
216
- }), e.apps = ie.map((i) => {
217
- const n = o.get(i.name.toLowerCase());
214
+ Object.keys(n.appHrefs).forEach((i) => {
215
+ o.set(i.toLowerCase(), n.appHrefs[i]);
216
+ }), e.apps = ce.map((i) => {
217
+ const r = o.get(i.name.toLowerCase());
218
218
  return {
219
219
  ...i,
220
- href: n || i.href
220
+ href: r || i.href
221
221
  };
222
222
  });
223
223
  return;
224
224
  }
225
- e.apps = [...ie];
226
- }, t = S(() => e.apps), a = (r) => {
227
- if (!r) return null;
228
- const o = r.toLowerCase();
225
+ e.apps = [...ce];
226
+ }, t = C(() => e.apps), a = (n) => {
227
+ if (!n) return null;
228
+ const o = n.toLowerCase();
229
229
  return e.apps.find((i) => i.name.toLowerCase() === o) || null;
230
230
  };
231
231
  return {
@@ -233,13 +233,13 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
233
233
  initialize: s,
234
234
  allApps: t,
235
235
  getAppByName: a,
236
- getAppIcon: (r) => {
237
- const o = a(r);
236
+ getAppIcon: (n) => {
237
+ const o = a(n);
238
238
  return o ? o.icon : "";
239
239
  }
240
240
  };
241
- }), Ve = ae("sparkApp", () => {
242
- const e = D({
241
+ }), Be = re("sparkApp", () => {
242
+ const e = Z({
243
243
  app: "",
244
244
  homeRoute: "dashboard",
245
245
  showBrandSelector: !0,
@@ -251,16 +251,16 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
251
251
  e.app = t.app || "", e.homeRoute = t.homeRoute ?? "dashboard", e.showBrandSelector = t.showBrandSelector ?? !0, e.showAppSelector = t.showAppSelector ?? !0;
252
252
  }
253
253
  };
254
- }), Dt = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, qt = { class: "flex flex-1 flex-col" }, Zt = { class: "divide-y divide-gray-200" }, Kt = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Ut = { class: "ml-auto flex items-center" }, Gt = ["href", "onClick"], Wt = { class: "gap-y-1" }, Yt = { class: "text-base text-gray-800 flex items-center" }, Xt = { class: "font-medium" }, Jt = {
254
+ }), Zt = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, Kt = { class: "flex flex-1 flex-col" }, Ut = { class: "divide-y divide-gray-200" }, Gt = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Wt = { class: "ml-auto flex items-center" }, Yt = ["href", "onClick"], Xt = { class: "gap-y-1" }, Jt = { class: "text-base text-gray-800 flex items-center" }, Qt = { class: "font-medium" }, es = {
255
255
  key: 0,
256
256
  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"
257
- }, Qt = { class: "text-sm text-gray-500" }, es = { class: "ml-auto flex items-center" }, ts = { class: "mt-auto" }, ss = {
257
+ }, ts = { class: "text-sm text-gray-500" }, ss = { class: "ml-auto flex items-center" }, as = { class: "mt-auto" }, os = {
258
258
  key: 0,
259
259
  class: "p-6"
260
- }, as = {
260
+ }, rs = {
261
261
  key: 1,
262
262
  class: "bg-gray-50 p-6"
263
- }, os = {
263
+ }, ns = {
264
264
  __name: "SparkAppSelector",
265
265
  props: {
266
266
  bottomSlot: {
@@ -274,104 +274,104 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
274
274
  },
275
275
  emits: ["close", "select"],
276
276
  setup(e, { emit: s }) {
277
- const t = s, a = Pe(), l = Ve(), r = S(() => {
277
+ const t = s, a = Re(), l = Be(), n = C(() => {
278
278
  const i = l.state.app;
279
- return a.state.apps.map((n) => ({
280
- ...n,
281
- current: i && n.name.toLowerCase() === i.toLowerCase()
279
+ return a.state.apps.map((r) => ({
280
+ ...r,
281
+ current: i && r.name.toLowerCase() === i.toLowerCase()
282
282
  }));
283
- }), o = (i, n) => {
283
+ }), o = (i, r) => {
284
284
  t("select", i);
285
285
  };
286
- return (i, n) => {
287
- const c = R("font-awesome-icon");
288
- return f(), g("div", Dt, [
289
- d("div", qt, [
290
- d("div", Zt, [
291
- d("div", Kt, [
292
- n[1] || (n[1] = d("div", null, "Mr Group Network", -1)),
293
- d("div", Ut, [
286
+ return (i, r) => {
287
+ const c = B("font-awesome-icon");
288
+ return f(), g("div", Zt, [
289
+ d("div", Kt, [
290
+ d("div", Ut, [
291
+ d("div", Gt, [
292
+ r[1] || (r[1] = d("div", null, "Mr Group Network", -1)),
293
+ d("div", Wt, [
294
294
  v(c, {
295
- icon: b(B).farTimes,
295
+ icon: y(E).farTimes,
296
296
  class: "h-[15px] w-[15px] shrink-0 text-gray-400 cursor-pointer",
297
- onClick: n[0] || (n[0] = (p) => t("close"))
297
+ onClick: r[0] || (r[0] = (p) => t("close"))
298
298
  }, null, 8, ["icon"])
299
299
  ])
300
300
  ]),
301
- (f(!0), g(j, null, N(r.value, (p) => (f(), g("a", {
301
+ (f(!0), g(z, null, q(n.value, (p) => (f(), g("a", {
302
302
  key: p.name,
303
303
  href: p.href,
304
304
  target: "_blank",
305
- class: $([p.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
305
+ class: T([p.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
306
306
  onClick: (u) => p.current ? u.preventDefault() : o(p)
307
307
  }, [
308
- d("div", Wt, [
309
- d("div", Yt, [
310
- d("div", Xt, L(p.name), 1),
311
- p.current ? (f(), g("span", Jt, " Active ")) : C("", !0)
308
+ d("div", Xt, [
309
+ d("div", Jt, [
310
+ d("div", Qt, H(p.name), 1),
311
+ p.current ? (f(), g("span", es, " Active ")) : $("", !0)
312
312
  ]),
313
- d("div", Qt, L(p.description), 1)
313
+ d("div", ts, H(p.description), 1)
314
314
  ]),
315
- d("div", es, [
315
+ d("div", ss, [
316
316
  v(c, {
317
- class: $([p.current ? "text-gray-700" : "text-gray-400", "h-5 w-5 shrink-0"]),
318
- icon: b(B)[p.icon]
317
+ class: T([p.current ? "text-gray-700" : "text-gray-400", "h-5 w-5 shrink-0"]),
318
+ icon: y(E)[p.icon]
319
319
  }, null, 8, ["class", "icon"])
320
320
  ])
321
- ], 10, Gt))), 128)),
322
- n[2] || (n[2] = d("div", null, null, -1))
321
+ ], 10, Yt))), 128)),
322
+ r[2] || (r[2] = d("div", null, null, -1))
323
323
  ]),
324
- d("div", ts, [
325
- i.$slots.bottom || e.bottomSlot ? (f(), g("div", ss, [
324
+ d("div", as, [
325
+ i.$slots.bottom || e.bottomSlot ? (f(), g("div", os, [
326
326
  M(i.$slots, "bottom", {}, () => [
327
- e.bottomSlot ? (f(), E(te(e.bottomSlot), { key: 0 })) : C("", !0)
327
+ e.bottomSlot ? (f(), F(ae(e.bottomSlot), { key: 0 })) : $("", !0)
328
328
  ])
329
- ])) : C("", !0),
330
- i.$slots.footer || e.footerSlot ? (f(), g("div", as, [
329
+ ])) : $("", !0),
330
+ i.$slots.footer || e.footerSlot ? (f(), g("div", rs, [
331
331
  M(i.$slots, "footer", {}, () => [
332
- e.footerSlot ? (f(), E(te(e.footerSlot), { key: 0 })) : C("", !0)
332
+ e.footerSlot ? (f(), F(ae(e.footerSlot), { key: 0 })) : $("", !0)
333
333
  ])
334
- ])) : C("", !0)
334
+ ])) : $("", !0)
335
335
  ])
336
336
  ])
337
337
  ]);
338
338
  };
339
339
  }
340
- }, Re = ae(
340
+ }, Ee = re(
341
341
  "brandFilter",
342
342
  () => {
343
- const e = D({
343
+ const e = Z({
344
344
  brands: []
345
- }), s = (r = {}) => {
346
- if (!r.brands || !Array.isArray(r.brands)) {
345
+ }), s = (n = {}) => {
346
+ if (!n.brands || !Array.isArray(n.brands)) {
347
347
  console.warn("useSparkBrandFilterStore: No brands provided to initialize()"), e.brands = [];
348
348
  return;
349
349
  }
350
- const o = r.brands.filter((n) => {
351
- const c = n.name && n.logo;
352
- return c || console.warn("useSparkBrandFilterStore: Invalid brand object", n), c;
353
- }), i = o.filter((n) => n.current);
354
- i.length === 0 && o.length > 0 ? o[0].current = !0 : i.length > 1 && o.forEach((n) => {
355
- n.current = n === i[0];
356
- }), e.brands = o.map((n) => ({
357
- id: n.id,
358
- name: n.name,
359
- logo: n.logo,
360
- current: n.current || !1
350
+ const o = n.brands.filter((r) => {
351
+ const c = r.name && r.logo;
352
+ return c || console.warn("useSparkBrandFilterStore: Invalid brand object", r), c;
353
+ }), i = o.filter((r) => r.current);
354
+ i.length === 0 && o.length > 0 ? o[0].current = !0 : i.length > 1 && o.forEach((r) => {
355
+ r.current = r === i[0];
356
+ }), e.brands = o.map((r) => ({
357
+ id: r.id,
358
+ name: r.name,
359
+ logo: r.logo,
360
+ current: r.current || !1
361
361
  }));
362
- }, t = S(() => e.brands.find((r) => r.current) || null), a = S(() => e.brands);
362
+ }, t = C(() => e.brands.find((n) => n.current) || null), a = C(() => e.brands);
363
363
  return {
364
364
  state: e,
365
365
  initialize: s,
366
366
  currentBrand: t,
367
367
  allBrands: a,
368
- toggleBrand: (r) => {
369
- if (!r || !e.brands.includes(r)) {
368
+ toggleBrand: (n) => {
369
+ if (!n || !e.brands.includes(n)) {
370
370
  console.warn("useSparkBrandFilterStore: Invalid brand provided to toggleBrand()");
371
371
  return;
372
372
  }
373
373
  e.brands.forEach((o) => {
374
- o.current = o === r;
374
+ o.current = o === n;
375
375
  });
376
376
  }
377
377
  };
@@ -381,57 +381,57 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
381
381
  paths: ["state.brands"]
382
382
  }
383
383
  }
384
- ), rs = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, ns = { class: "flex flex-1 flex-col" }, ls = { class: "divide-y divide-gray-200" }, is = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, cs = { class: "ml-auto flex items-center" }, ds = {
384
+ ), ls = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, is = { class: "flex flex-1 flex-col" }, cs = { class: "divide-y divide-gray-200" }, ds = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, us = { class: "ml-auto flex items-center" }, ps = {
385
385
  key: 0,
386
386
  class: "flex px-[22px] py-[15px] text-gray-500 text-sm"
387
- }, us = ["onClick"], ps = { class: "w-full gap-y-1 flex justify-between" }, fs = { class: "flex flex-col" }, ms = { class: "flex items-center" }, gs = { class: "font-medium text-base text-gray-900" }, hs = {
387
+ }, fs = ["onClick"], ms = { class: "w-full gap-y-1 flex justify-between" }, gs = { class: "flex flex-col" }, hs = { class: "flex items-center" }, ys = { class: "font-medium text-base text-gray-900" }, bs = {
388
388
  key: 0,
389
389
  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"
390
- }, ys = { class: "text-sm text-gray-500 font-normal" }, bs = { class: "flex items-center" }, vs = ["src", "alt"], xs = {
390
+ }, vs = { class: "text-sm text-gray-500 font-normal" }, xs = { class: "flex items-center" }, ks = ["src", "alt"], ws = {
391
391
  __name: "SparkBrandSelector",
392
392
  emits: ["close", "select"],
393
393
  setup(e, { emit: s }) {
394
- const t = s, a = Re(), l = (r) => {
395
- t("select", r);
394
+ const t = s, a = Ee(), l = (n) => {
395
+ t("select", n);
396
396
  };
397
- return (r, o) => {
398
- const i = R("font-awesome-icon");
399
- return f(), g("div", rs, [
400
- d("div", ns, [
401
- d("div", ls, [
402
- d("div", is, [
397
+ return (n, o) => {
398
+ const i = B("font-awesome-icon");
399
+ return f(), g("div", ls, [
400
+ d("div", is, [
401
+ d("div", cs, [
402
+ d("div", ds, [
403
403
  o[1] || (o[1] = d("div", null, "Filter by Brand", -1)),
404
- d("div", cs, [
404
+ d("div", us, [
405
405
  v(i, {
406
- icon: b(B).farTimes,
406
+ icon: y(E).farTimes,
407
407
  class: "size-4 text-gray-400 cursor-pointer",
408
- onClick: o[0] || (o[0] = (n) => t("close"))
408
+ onClick: o[0] || (o[0] = (r) => t("close"))
409
409
  }, null, 8, ["icon"])
410
410
  ])
411
411
  ]),
412
- b(a).allBrands.length === 0 ? (f(), g("div", ds, " No brands configured ")) : C("", !0),
413
- (f(!0), g(j, null, N(b(a).allBrands, (n) => (f(), g("div", {
414
- key: n.id,
415
- class: $([n.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
416
- onClick: (c) => l(n)
412
+ y(a).allBrands.length === 0 ? (f(), g("div", ps, " No brands configured ")) : $("", !0),
413
+ (f(!0), g(z, null, q(y(a).allBrands, (r) => (f(), g("div", {
414
+ key: r.id,
415
+ class: T([r.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
416
+ onClick: (c) => l(r)
417
417
  }, [
418
- d("div", ps, [
419
- d("div", fs, [
420
- d("div", ms, [
421
- d("div", gs, L(n.name), 1),
422
- n.current ? (f(), g("span", hs, " Current ")) : C("", !0)
418
+ d("div", ms, [
419
+ d("div", gs, [
420
+ d("div", hs, [
421
+ d("div", ys, H(r.name), 1),
422
+ r.current ? (f(), g("span", bs, " Current ")) : $("", !0)
423
423
  ]),
424
- d("div", ys, L(n.current ? "Current Brand" : "Change to"), 1)
424
+ d("div", vs, H(r.current ? "Current Brand" : "Change to"), 1)
425
425
  ]),
426
- d("div", bs, [
426
+ d("div", xs, [
427
427
  d("img", {
428
- src: n.logo,
429
- alt: `${n.name} logo`,
428
+ src: r.logo,
429
+ alt: `${r.name} logo`,
430
430
  class: "h-8 w-auto"
431
- }, null, 8, vs)
431
+ }, null, 8, ks)
432
432
  ])
433
433
  ])
434
- ], 10, us))), 128)),
434
+ ], 10, fs))), 128)),
435
435
  o[2] || (o[2] = d("div", null, null, -1))
436
436
  ]),
437
437
  o[3] || (o[3] = d("div", { class: "mt-auto" }, null, -1))
@@ -439,7 +439,7 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
439
439
  ]);
440
440
  };
441
441
  }
442
- }, ks = ["disabled"], z = {
442
+ }, _s = ["disabled"], N = {
443
443
  __name: "SparkButton",
444
444
  props: {
445
445
  size: {
@@ -461,16 +461,16 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
461
461
  }
462
462
  },
463
463
  setup(e) {
464
- const s = e, t = V(null), a = ke("buttonGroup", null), l = S(() => {
464
+ const s = e, t = R(null), a = _e("buttonGroup", null), l = C(() => {
465
465
  if (!a?.isInGroup || !t.value) return null;
466
- const n = a.getButtonIndex(t.value), c = a.getButtonCount();
466
+ const r = a.getButtonIndex(t.value), c = a.getButtonCount();
467
467
  return {
468
- isFirst: n === 0,
469
- isLast: n === c - 1,
470
- index: n,
468
+ isFirst: r === 0,
469
+ isLast: r === c - 1,
470
+ index: r,
471
471
  total: c
472
472
  };
473
- }), r = {
473
+ }), n = {
474
474
  paddingX: /^px-/,
475
475
  paddingY: /^py-/,
476
476
  paddingAll: /^p-/,
@@ -480,85 +480,85 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
480
480
  borderRadius: /^rounded-/,
481
481
  background: /^bg-/,
482
482
  text: /^text-(?!white|black)/
483
- }, o = (n, c) => {
484
- if (!c) return n;
485
- const p = n.split(" ").filter(Boolean), u = c.split(" ").filter(Boolean);
486
- return [...p.filter((_) => !u.some((k) => {
487
- const m = Object.entries(r).find(
488
- ([H, h]) => h.test(_)
489
- )?.[0], x = Object.entries(r).find(
490
- ([H, h]) => h.test(k)
483
+ }, o = (r, c) => {
484
+ if (!c) return r;
485
+ const p = r.split(" ").filter(Boolean), u = c.split(" ").filter(Boolean);
486
+ return [...p.filter((_) => !u.some((w) => {
487
+ const m = Object.entries(n).find(
488
+ ([P, k]) => k.test(_)
489
+ )?.[0], x = Object.entries(n).find(
490
+ ([P, k]) => k.test(w)
491
491
  )?.[0];
492
492
  return m && m === x;
493
493
  })), ...u].join(" ");
494
- }, i = S(() => {
495
- let n = "", c = "";
494
+ }, i = C(() => {
495
+ let r = "", c = "";
496
496
  switch (s.size) {
497
497
  case "xs":
498
- n += " px-2 py-1 text-xs", c = "sm";
498
+ r += " px-2 py-1 text-xs", c = "sm";
499
499
  break;
500
500
  case "sm":
501
- n += " px-2 py-1 text-sm", c = "sm";
501
+ r += " px-2 py-1 text-sm", c = "sm";
502
502
  break;
503
503
  case "md":
504
- n += " px-2.5 py-1.5 text-sm", c = "md";
504
+ r += " px-2.5 py-1.5 text-sm", c = "md";
505
505
  break;
506
506
  case "lg":
507
- n += " px-3 py-2 text-sm", c = "md";
507
+ r += " px-3 py-2 text-sm", c = "md";
508
508
  break;
509
509
  case "xl":
510
- n += " px-3.5 py-2.5 min-h-[42px] text-sm", c = "md";
510
+ r += " px-3.5 py-2.5 min-h-[42px] text-sm", c = "md";
511
511
  break;
512
512
  }
513
513
  if (a?.isInGroup && l.value) {
514
514
  const { isFirst: p, isLast: u } = l.value;
515
- n += " relative inline-flex items-center focus:z-10", p && u ? n += ` rounded-${c}` : p ? n += ` rounded-l-${c} rounded-r-none` : u ? n += ` rounded-r-${c} rounded-l-none -ml-px` : n += " rounded-none -ml-px";
515
+ r += " relative inline-flex items-center focus:z-10", p && u ? r += ` rounded-${c}` : p ? r += ` rounded-l-${c} rounded-r-none` : u ? r += ` rounded-r-${c} rounded-l-none -ml-px` : r += " rounded-none -ml-px";
516
516
  } else
517
- n += ` shadow-xs rounded-${c}`;
517
+ r += ` shadow-xs rounded-${c}`;
518
518
  switch (s.variant) {
519
519
  case "primary":
520
- n += " bg-primary-600 hover:bg-primary-500 text-white";
520
+ r += " bg-primary-600 hover:bg-primary-500 text-white";
521
521
  break;
522
522
  case "secondary":
523
- n += " ring-1 ring-gray-300 ring-inset bg-white hover:bg-gray-50 text-gray-900";
523
+ r += " ring-1 ring-gray-300 ring-inset bg-white hover:bg-gray-50 text-gray-900";
524
524
  break;
525
525
  case "success":
526
- n += " bg-green-600 hover:bg-green-500 text-white";
526
+ r += " bg-green-600 hover:bg-green-500 text-white";
527
527
  break;
528
528
  case "warning":
529
- n += " bg-amber-600 hover:bg-amber-500 text-white";
529
+ r += " bg-amber-600 hover:bg-amber-500 text-white";
530
530
  break;
531
531
  case "danger":
532
- n += " bg-red-600 hover:bg-red-500 text-white";
532
+ r += " bg-red-600 hover:bg-red-500 text-white";
533
533
  break;
534
534
  case "info":
535
- n += " bg-cyan-600 hover:bg-cyan-500 text-white";
535
+ r += " bg-cyan-600 hover:bg-cyan-500 text-white";
536
536
  break;
537
537
  default:
538
- n += ` bg-${s.variant}-600 hover:bg-${s.variant}-500 text-white`;
538
+ r += ` bg-${s.variant}-600 hover:bg-${s.variant}-500 text-white`;
539
539
  }
540
- return n = o(n, s.buttonClass), n;
540
+ return r = o(r, s.buttonClass), r;
541
541
  });
542
- return (n, c) => (f(), g("button", {
542
+ return (r, c) => (f(), g("button", {
543
543
  type: "button",
544
544
  ref_key: "buttonRef",
545
545
  ref: t,
546
- class: $(i.value),
546
+ class: T(i.value),
547
547
  disabled: e.disabled,
548
- onClick: c[0] || (c[0] = (p) => n.$emit("click"))
548
+ onClick: c[0] || (c[0] = (p) => r.$emit("click"))
549
549
  }, [
550
- M(n.$slots, "default")
551
- ], 10, ks));
550
+ M(r.$slots, "default")
551
+ ], 10, _s));
552
552
  }
553
- }, _s = {
553
+ }, Cs = {
554
554
  __name: "SparkButtonGroup",
555
555
  setup(e) {
556
- const s = V(null);
557
- return Ee("buttonGroup", {
556
+ const s = R(null);
557
+ return Ae("buttonGroup", {
558
558
  isInGroup: !0,
559
559
  getButtonIndex: (l) => s.value ? Array.from(s.value.children).indexOf(l) : -1,
560
560
  getButtonCount: () => s.value?.children.length || 0
561
- }), (l, r) => (f(), g("div", {
561
+ }), (l, n) => (f(), g("div", {
562
562
  class: "inline-flex rounded-md shadow-xs",
563
563
  ref_key: "groupRef",
564
564
  ref: s
@@ -566,13 +566,13 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
566
566
  M(l.$slots, "default")
567
567
  ], 512));
568
568
  }
569
- }, ws = { class: "divide-y divide-gray-300 rounded-lg border border-gray-300 text-gray-700 bg-gray-100" }, Ss = {
569
+ }, Ss = { class: "divide-y divide-gray-300 rounded-lg border border-gray-300 text-gray-700 bg-gray-100" }, $s = {
570
570
  key: 0,
571
571
  class: "p-5"
572
- }, Cs = {
572
+ }, Ts = {
573
573
  key: 1,
574
574
  class: "p-5"
575
- }, Hr = {
575
+ }, Er = {
576
576
  __name: "SparkCard",
577
577
  props: {
578
578
  padded: {
@@ -586,98 +586,24 @@ const jt = { class: "flex items-center" }, Ot = { class: "shrink-0 self-start" }
586
586
  },
587
587
  setup(e) {
588
588
  const s = e;
589
- return (t, a) => (f(), g("div", ws, [
590
- t.$slots.header ? (f(), g("div", Ss, [
589
+ return (t, a) => (f(), g("div", Ss, [
590
+ t.$slots.header ? (f(), g("div", $s, [
591
591
  M(t.$slots, "header")
592
- ])) : C("", !0),
592
+ ])) : $("", !0),
593
593
  d("div", {
594
- class: $([s.padded ? s.paddedClass : ""])
594
+ class: T([s.padded ? s.paddedClass : ""])
595
595
  }, [
596
596
  M(t.$slots, "default")
597
597
  ], 2),
598
- t.$slots.footer ? (f(), g("div", Cs, [
598
+ t.$slots.footer ? (f(), g("div", Ts, [
599
599
  M(t.$slots, "footer")
600
- ])) : C("", !0)
600
+ ])) : $("", !0)
601
601
  ]));
602
602
  }
603
- };
604
- class $s {
605
- constructor() {
606
- this.state = D({
607
- isVisible: !1,
608
- content: null,
609
- props: {},
610
- eventHandlers: {}
611
- });
612
- }
613
- show = (s, t = {}, a = {}) => {
614
- this.state.content = _e(s), this.state.props = t, this.state.eventHandlers = a, this.state.isVisible = !0;
615
- };
616
- hide = () => {
617
- this.state.isVisible = !1, this.state.eventHandlers = {};
618
- };
619
- }
620
- const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto" }, Ls = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, Hs = {
621
- __name: "SparkModalContainer",
622
- setup(e) {
623
- return (s, t) => (f(), E(b($e), {
624
- as: "template",
625
- show: b(ee).state.isVisible
626
- }, {
627
- default: T(() => [
628
- v(b(Te), {
629
- class: "relative z-1000",
630
- onClose: b(ee).hide
631
- }, {
632
- default: T(() => [
633
- v(b(ne), {
634
- as: "template",
635
- enter: "ease-out duration-300",
636
- "enter-from": "opacity-0",
637
- "enter-to": "opacity-100",
638
- leave: "ease-in duration-200",
639
- "leave-from": "opacity-100",
640
- "leave-to": "opacity-0"
641
- }, {
642
- default: T(() => [...t[0] || (t[0] = [
643
- d("div", { class: "fixed inset-0 bg-gray-500/75 transition-opacity" }, null, -1)
644
- ])]),
645
- _: 1
646
- }),
647
- d("div", Ts, [
648
- d("div", Ls, [
649
- v(b(ne), {
650
- as: "template",
651
- enter: "ease-out duration-300",
652
- "enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
653
- "enter-to": "opacity-100 translate-y-0 sm:scale-100",
654
- leave: "ease-in duration-200",
655
- "leave-from": "opacity-100 translate-y-0 sm:scale-100",
656
- "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
657
- }, {
658
- default: T(() => [
659
- v(b(Le), { 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" }, {
660
- default: T(() => [
661
- (f(), E(te(b(ee).state.content), se(b(ee).state.props, we(b(ee).state.eventHandlers)), null, 16))
662
- ]),
663
- _: 1
664
- })
665
- ]),
666
- _: 1
667
- })
668
- ])
669
- ])
670
- ]),
671
- _: 1
672
- }, 8, ["onClose"])
673
- ]),
674
- _: 1
675
- }, 8, ["show"]));
676
- }
677
- }, Ps = { class: "px-4 pt-5 pb-4 sm:p-6" }, Vs = {
603
+ }, Ls = { class: "px-4 pt-5 pb-4 sm:p-6" }, Hs = {
678
604
  key: 0,
679
605
  class: "text-lg font-medium text-gray-900"
680
- }, Pr = {
606
+ }, Ps = {
681
607
  __name: "SparkModalDialog",
682
608
  props: {
683
609
  title: {
@@ -727,7 +653,7 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
727
653
  "input"
728
654
  ],
729
655
  setup(e) {
730
- const s = e, t = S(() => !s.buttons || s.buttons.length === 0 ? [{ text: "OK", variant: "primary", event: "ok" }] : s.buttons), a = S(() => {
656
+ const s = e, t = C(() => !s.buttons || s.buttons.length === 0 ? [{ text: "OK", variant: "primary", event: "ok" }] : s.buttons), a = C(() => {
731
657
  switch (t.value.length) {
732
658
  case 1:
733
659
  return "sm:grid sm:grid-flow-row-dense";
@@ -743,48 +669,48 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
743
669
  success: "farCheckCircle",
744
670
  warning: "farExclamationTriangle",
745
671
  danger: "farCircleXmark"
746
- }, r = S(() => s.icon || l[s.type]), o = S(() => ({
672
+ }, n = C(() => s.icon || l[s.type]), o = C(() => ({
747
673
  info: "bg-blue-100",
748
674
  success: "bg-green-100",
749
675
  warning: "bg-yellow-100",
750
676
  danger: "bg-red-100"
751
- })[s.type]), i = S(() => ({
677
+ })[s.type]), i = C(() => ({
752
678
  info: "text-blue-400",
753
679
  success: "text-green-400",
754
680
  warning: "text-yellow-400",
755
681
  danger: "text-red-400"
756
682
  })[s.type]);
757
- return (n, c) => {
758
- const p = R("font-awesome-icon");
759
- return f(), g("div", Ps, [
760
- r.value ? (f(), g("div", {
683
+ return (r, c) => {
684
+ const p = B("font-awesome-icon");
685
+ return f(), g("div", Ls, [
686
+ n.value ? (f(), g("div", {
761
687
  key: 0,
762
- class: $(["mx-auto flex size-12 items-center justify-center rounded-full", o.value])
688
+ class: T(["mx-auto flex size-12 items-center justify-center rounded-full", o.value])
763
689
  }, [
764
690
  v(p, {
765
- icon: b(B)[r.value],
766
- class: $(["h-5 w-5", i.value])
691
+ icon: y(E)[n.value],
692
+ class: T(["h-5 w-5", i.value])
767
693
  }, null, 8, ["icon", "class"])
768
- ], 2)) : C("", !0),
694
+ ], 2)) : $("", !0),
769
695
  d("div", {
770
- class: $(["text-center", { "mt-3 sm:mt-5": r.value }])
696
+ class: T(["text-center", { "mt-3 sm:mt-5": n.value }])
771
697
  }, [
772
- e.title ? (f(), g("h3", Vs, L(e.title), 1)) : C("", !0),
698
+ e.title ? (f(), g("h3", Hs, H(e.title), 1)) : $("", !0),
773
699
  e.message ? (f(), g("div", {
774
700
  key: 1,
775
- class: $([{ "mt-2": e.title }, "text-sm text-gray-500"])
776
- }, L(e.message), 3)) : C("", !0)
701
+ class: T([{ "mt-2": e.title }, "text-sm text-gray-500"])
702
+ }, H(e.message), 3)) : $("", !0)
777
703
  ], 2),
778
704
  d("div", {
779
- class: $(["mt-5 sm:mt-6", a.value])
705
+ class: T(["mt-5 sm:mt-6", a.value])
780
706
  }, [
781
- (f(!0), g(j, null, N(t.value, (u, y) => (f(), E(b(z), {
782
- key: y,
707
+ (f(!0), g(z, null, q(t.value, (u, h) => (f(), F(y(N), {
708
+ key: h,
783
709
  variant: u.variant,
784
- onClick: (_) => n.$emit(u.event, u)
710
+ onClick: (_) => r.$emit(u.event, u)
785
711
  }, {
786
- default: T(() => [
787
- F(L(u.text), 1)
712
+ default: L(() => [
713
+ A(H(u.text), 1)
788
714
  ]),
789
715
  _: 2
790
716
  }, 1032, ["variant", "onClick"]))), 128))
@@ -792,7 +718,123 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
792
718
  ]);
793
719
  };
794
720
  }
795
- }, Rs = { class: "fixed inset-0 flex" }, ge = {
721
+ };
722
+ class Vs {
723
+ constructor() {
724
+ this.state = Z({
725
+ isVisible: !1,
726
+ content: null,
727
+ props: {},
728
+ eventHandlers: {}
729
+ });
730
+ }
731
+ show = (s, t = {}, a = {}) => {
732
+ this.state.content = Ce(s), this.state.props = t, this.state.eventHandlers = a, this.state.isVisible = !0;
733
+ };
734
+ hide = () => {
735
+ this.state.isVisible = !1, this.state.eventHandlers = {};
736
+ };
737
+ /**
738
+ * Show a confirmation dialog and return a Promise
739
+ *
740
+ * @param {Object} options - Confirmation options
741
+ * @param {string} [options.title='Confirm'] - Dialog title
742
+ * @param {string} [options.message='Are you sure?'] - Dialog message
743
+ * @param {string} [options.type='warning'] - Dialog type (info, success, warning, danger)
744
+ * @param {string} [options.confirmText='Confirm'] - Confirm button text
745
+ * @param {string} [options.cancelText='Cancel'] - Cancel button text
746
+ * @param {string} [options.confirmVariant='primary'] - Confirm button variant
747
+ * @returns {Promise<boolean>} - Resolves to true if confirmed, false if cancelled
748
+ */
749
+ confirm = (s = {}) => new Promise((t) => {
750
+ const {
751
+ title: a = "Confirm",
752
+ message: l = "Are you sure?",
753
+ type: n = "warning",
754
+ confirmText: o = "Confirm",
755
+ cancelText: i = "Cancel",
756
+ confirmVariant: r = "primary"
757
+ } = s;
758
+ this.show(
759
+ Ps,
760
+ {
761
+ title: a,
762
+ message: l,
763
+ type: n,
764
+ buttons: [
765
+ { text: o, variant: r, event: "confirm" },
766
+ { text: i, variant: "secondary", event: "cancel" }
767
+ ]
768
+ },
769
+ {
770
+ confirm: () => {
771
+ this.hide(), t(!0);
772
+ },
773
+ cancel: () => {
774
+ this.hide(), t(!1);
775
+ }
776
+ }
777
+ );
778
+ });
779
+ }
780
+ const J = new Vs(), Rs = { class: "fixed inset-0 z-10 w-screen overflow-y-auto" }, Bs = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, Es = {
781
+ __name: "SparkModalContainer",
782
+ setup(e) {
783
+ return (s, t) => (f(), F(y(Le), {
784
+ as: "template",
785
+ show: y(J).state.isVisible
786
+ }, {
787
+ default: L(() => [
788
+ v(y(He), {
789
+ class: "relative z-1000",
790
+ onClose: y(J).hide
791
+ }, {
792
+ default: L(() => [
793
+ v(y(le), {
794
+ as: "template",
795
+ enter: "ease-out duration-300",
796
+ "enter-from": "opacity-0",
797
+ "enter-to": "opacity-100",
798
+ leave: "ease-in duration-200",
799
+ "leave-from": "opacity-100",
800
+ "leave-to": "opacity-0"
801
+ }, {
802
+ default: L(() => [...t[0] || (t[0] = [
803
+ d("div", { class: "fixed inset-0 bg-gray-500/75 transition-opacity" }, null, -1)
804
+ ])]),
805
+ _: 1
806
+ }),
807
+ d("div", Rs, [
808
+ d("div", Bs, [
809
+ v(y(le), {
810
+ as: "template",
811
+ enter: "ease-out duration-300",
812
+ "enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
813
+ "enter-to": "opacity-100 translate-y-0 sm:scale-100",
814
+ leave: "ease-in duration-200",
815
+ "leave-from": "opacity-100 translate-y-0 sm:scale-100",
816
+ "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
817
+ }, {
818
+ default: L(() => [
819
+ v(y(Pe), { 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" }, {
820
+ default: L(() => [
821
+ (f(), F(ae(y(J).state.content), oe(y(J).state.props, Se(y(J).state.eventHandlers)), null, 16))
822
+ ]),
823
+ _: 1
824
+ })
825
+ ]),
826
+ _: 1
827
+ })
828
+ ])
829
+ ])
830
+ ]),
831
+ _: 1
832
+ }, 8, ["onClose"])
833
+ ]),
834
+ _: 1
835
+ }, 8, ["show"]));
836
+ }
837
+ }, Ms = { class: "fixed inset-0 flex" }, he = {
796
838
  __name: "SparkOverlay",
797
839
  props: {
798
840
  position: {
@@ -807,21 +849,21 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
807
849
  },
808
850
  emits: ["close"],
809
851
  setup(e, { emit: s }) {
810
- const t = V(null), a = e, l = s, r = () => {
852
+ const t = R(null), a = e, l = s, n = () => {
811
853
  a.overlayInstance.close(), l("close");
812
854
  };
813
- return (o, i) => (f(), E(b($e), {
855
+ return (o, i) => (f(), F(y(Le), {
814
856
  show: e.overlayInstance.state.isVisible,
815
857
  as: "template"
816
858
  }, {
817
- default: T(() => [
818
- v(b(Te), {
859
+ default: L(() => [
860
+ v(y(He), {
819
861
  initialFocus: t.value,
820
862
  class: "relative z-1000",
821
- onClose: r
863
+ onClose: n
822
864
  }, {
823
- default: T(() => [
824
- v(b(ne), {
865
+ default: L(() => [
866
+ v(y(le), {
825
867
  as: "template",
826
868
  enter: "transition-opacity ease-linear duration-150",
827
869
  "enter-from": "opacity-0",
@@ -830,13 +872,13 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
830
872
  "leave-from": "opacity-100",
831
873
  "leave-to": "opacity-0"
832
874
  }, {
833
- default: T(() => [...i[0] || (i[0] = [
875
+ default: L(() => [...i[0] || (i[0] = [
834
876
  d("div", { class: "fixed inset-0 bg-gray-600/30" }, null, -1)
835
877
  ])]),
836
878
  _: 1
837
879
  }),
838
- d("div", Rs, [
839
- v(b(ne), {
880
+ d("div", Ms, [
881
+ v(y(le), {
840
882
  as: "template",
841
883
  enter: "transition ease-in-out duration-150 transform",
842
884
  "enter-from": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0",
@@ -845,17 +887,17 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
845
887
  "leave-from": "translate-x-0 opacity-100",
846
888
  "leave-to": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0"
847
889
  }, {
848
- default: T(() => [
849
- v(b(Le), {
890
+ default: L(() => [
891
+ v(y(Pe), {
850
892
  ref_key: "panelRef",
851
893
  ref: t,
852
- class: $([
894
+ class: T([
853
895
  "flex w-[400px] py-2.5",
854
896
  e.position === "left" ? "relative left-[10px]" : "absolute right-[10px] h-full"
855
897
  ])
856
898
  }, {
857
- default: T(() => [
858
- (f(), E(te(e.overlayInstance.state.content), se(e.overlayInstance.state.props, we(e.overlayInstance.state.eventHandlers)), null, 16))
899
+ default: L(() => [
900
+ (f(), F(ae(e.overlayInstance.state.content), oe(e.overlayInstance.state.props, Se(e.overlayInstance.state.eventHandlers)), null, 16))
859
901
  ]),
860
902
  _: 1
861
903
  }, 8, ["class"])
@@ -870,92 +912,99 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
870
912
  _: 1
871
913
  }, 8, ["show"]));
872
914
  }
873
- }, Bs = (e) => {
915
+ }, Fs = (e) => {
874
916
  if (e.includes(".")) {
875
917
  const s = e.split(".");
876
918
  e = s[s.length - 1];
877
919
  }
878
920
  return e.replace(/_/g, " ");
879
- }, Ms = (e, s, t) => {
921
+ }, As = (e, s, t) => {
880
922
  const a = s.querySelector(".relative");
881
923
  if (!a || a.querySelector(".spark-table-head-sorting"))
882
924
  return;
883
925
  const l = document.createElement("span");
884
- l.classList.add("spark-table-head-sorting"), l.innerHTML = re({ prefix: "fad", iconName: "sort" }).html + re({ prefix: "fad", iconName: "sort-up" }).html + re({ prefix: "fad", iconName: "sort-down" }).html, a.appendChild(l), a.addEventListener("click", async () => {
885
- const r = t.params.orderBy, o = t.params.sortedBy;
886
- return r === e && o === "asc" ? (a.classList.remove("asc"), a.classList.add("desc"), t.methods.applyParams({
926
+ 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 () => {
927
+ const n = t.params.orderBy, o = t.params.sortedBy;
928
+ return n === e && o === "asc" ? (a.classList.remove("asc"), a.classList.add("desc"), t.methods.applyParams({
887
929
  orderBy: e,
888
930
  sortedBy: "desc"
889
- })) : r === e ? (a.classList.remove("desc"), await t.methods.clearParams(["orderBy", "sortedBy"])) : (a.classList.add("asc"), t.methods.applyParams({
931
+ })) : n === e ? (a.classList.remove("desc"), await t.methods.clearParams(["orderBy", "sortedBy"])) : (a.classList.add("asc"), t.methods.applyParams({
890
932
  orderBy: e,
891
933
  sortedBy: "asc"
892
934
  }));
893
935
  });
894
- }, Es = (e, s, t) => {
936
+ }, js = (e, s, t) => {
895
937
  if (s.querySelector(".spark-table-head-filter"))
896
938
  return;
897
939
  const a = document.createElement("div"), l = document.createElement("input");
898
940
  l.type = "text", l.placeholder = "Filter...", a.className = "spark-table-head-filter", a.appendChild(l);
899
- const r = He(async (o, i) => {
900
- const n = i.target.value, c = `filter[${o}]`;
901
- if (n)
902
- return t.params[c] && t.params[c] === n ? void 0 : t.methods.applyParams({
941
+ const n = Ve(async (o, i) => {
942
+ const r = i.target.value, c = `filter[${o}]`;
943
+ if (r)
944
+ return t.params[c] && t.params[c] === r ? void 0 : t.methods.applyParams({
903
945
  page: 1,
904
- [c]: n
946
+ [c]: r
905
947
  });
906
948
  await t.methods.removeParam(c);
907
949
  }, 200);
908
- l.addEventListener("keyup", (o) => r(e, o)), s.appendChild(a);
909
- }, Fs = (e, s, t) => {
950
+ l.addEventListener("keyup", (o) => n(e, o)), s.appendChild(a);
951
+ }, Os = (e, s, t) => {
910
952
  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");
911
953
  const l = e.querySelector(".colHeader");
912
- l.classList.add("spark-table-head-title"), l.innerHTML = Bs(s);
913
- }, As = (e, s, t) => {
954
+ l.classList.add("spark-table-head-title"), l.innerHTML = Fs(s);
955
+ }, zs = (e, s, t) => {
914
956
  if (typeof e != "number")
915
957
  return e;
916
958
  if (e < 0)
917
959
  return;
918
960
  let a = 2;
919
- const l = t.methods.colToProp(e), r = t.methods.getSettingsForProp(l);
920
- s.childElementCount === 1 && ((!r || !r.columnSort) && a--, (!r || !r.columnFilter) && a--, r && r.columnSort && Ms(l, s, t), r && r.columnFilter && Es(l, s, t)), (s.childElementCount === a || a === 0) && Fs(s, l, r);
921
- }, js = (e) => {
961
+ const l = t.methods.colToProp(e), n = t.methods.getSettingsForProp(l);
962
+ s.childElementCount === 1 && ((!n || !n.columnSort) && a--, (!n || !n.columnFilter) && a--, n && n.columnSort && As(l, s, t), n && n.columnFilter && js(l, s, t)), (s.childElementCount === a || a === 0) && Os(s, l, n);
963
+ }, Is = (e) => {
922
964
  if (!e.hotInstance || !e.hotInstance.rootElement)
923
965
  return;
924
966
  const s = e.params.orderBy, t = e.params.sortedBy, a = e.hotInstance.rootElement.querySelectorAll("thead th.can-sort .relative");
925
967
  a.forEach((l) => {
926
968
  l.classList.remove("asc", "desc");
927
969
  }), s && t && a.forEach((l) => {
928
- const r = l.closest("th"), o = Array.from(r.parentElement.children).indexOf(r);
970
+ const n = l.closest("th"), o = Array.from(n.parentElement.children).indexOf(n);
929
971
  e.methods.colToProp(o) === s && l.classList.add(t);
930
972
  });
931
- }, Os = (e) => (s, t, a, l, r, o, i) => {
973
+ }, Ns = (e) => (s, t, a, l, n, o, i) => {
932
974
  t.innerHTML = "", t.classList.add("spark-table-cell-actions");
933
975
  const c = (i.rendererConfig || {}).actions || [];
934
976
  if (c.length === 0)
935
977
  return;
936
978
  const p = s.getSourceDataAtRow(s.toPhysicalRow(a)), u = document.createElement("div");
937
- u.classList.add("flex", "items-center", "gap-2"), c.forEach((y) => {
938
- if (y.condition && typeof y.condition == "function" && !y.condition(p))
979
+ u.classList.add("flex", "items-center", "gap-2"), c.forEach((h) => {
980
+ if (h.condition && typeof h.condition == "function" && !h.condition(p))
939
981
  return;
940
982
  const _ = document.createElement("button");
941
- if (_.type = "button", _.classList.add("spark-table-action-button"), y.icon) {
942
- const k = document.createElement("span");
943
- k.innerHTML = re({ prefix: "far", iconName: y.icon }).html, k.classList.add("size-4"), _.appendChild(k);
983
+ if (_.type = "button", _.classList.add("spark-table-action-button"), h.icon) {
984
+ const w = document.createElement("span");
985
+ w.innerHTML = se({ prefix: "far", iconName: h.icon }).html, w.classList.add("size-4"), _.appendChild(w);
944
986
  }
945
- if (y.label) {
946
- const k = document.createElement("span");
947
- k.textContent = y.label, _.appendChild(k);
987
+ if (h.label) {
988
+ const w = document.createElement("span");
989
+ w.textContent = h.label, _.appendChild(w);
948
990
  }
949
- _.addEventListener("click", (k) => {
950
- if (k.preventDefault(), k.stopPropagation(), y.confirm) {
951
- const m = typeof y.confirm == "string" ? y.confirm : `Are you sure you want to ${y.label?.toLowerCase() || "perform this action"}?`;
952
- if (!window.confirm(m))
991
+ _.addEventListener("click", async (w) => {
992
+ if (w.preventDefault(), w.stopPropagation(), h.confirm) {
993
+ const m = typeof h.confirm == "string" ? h.confirm : `Are you sure you want to ${h.label?.toLowerCase() || "perform this action"}?`;
994
+ if (!await J.confirm({
995
+ title: h.confirmTitle,
996
+ message: m,
997
+ type: h.confirmType,
998
+ confirmText: h.confirmText,
999
+ cancelText: h.cancelText,
1000
+ confirmVariant: h.confirmVariant
1001
+ }))
953
1002
  return;
954
1003
  }
955
- y.event && e.methods.fireEvent(y.event, p), y.handler && typeof y.handler == "function" && y.handler(p);
1004
+ h.event && e.methods.fireEvent(h.event, p), h.handler && typeof h.handler == "function" && h.handler(p);
956
1005
  }), u.appendChild(_);
957
1006
  }), t.appendChild(u);
958
- }, he = {
1007
+ }, ye = {
959
1008
  green: "bg-green-100 text-green-800",
960
1009
  red: "bg-red-100 text-red-800",
961
1010
  yellow: "bg-yellow-100 text-yellow-800",
@@ -964,11 +1013,11 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
964
1013
  purple: "bg-purple-100 text-purple-800",
965
1014
  pink: "bg-pink-100 text-pink-800",
966
1015
  indigo: "bg-indigo-100 text-indigo-800"
967
- }, zs = (e) => (s, t, a, l, r, o, i) => {
1016
+ }, Ds = (e) => (s, t, a, l, n, o, i) => {
968
1017
  if (t.innerHTML = "", t.classList.add("spark-table-cell-badge"), !o)
969
1018
  return;
970
- const c = (i.rendererConfig || {}).colorMap || {}, p = c[o] || c[o?.toLowerCase()] || "gray", u = he[p] || he.gray, y = document.createElement("span");
971
- y.classList.add(
1019
+ const c = (i.rendererConfig || {}).colorMap || {}, p = c[o] || c[o?.toLowerCase()] || "gray", u = ye[p] || ye.gray, h = document.createElement("span");
1020
+ h.classList.add(
972
1021
  "inline-flex",
973
1022
  "items-center",
974
1023
  "px-2.5",
@@ -978,33 +1027,67 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
978
1027
  "font-medium",
979
1028
  "capitalize",
980
1029
  ...u.split(" ")
981
- ), y.textContent = o, t.appendChild(y);
982
- }, Is = (e) => (s, t, a, l, r, o, i) => {
1030
+ ), h.textContent = o, t.appendChild(h);
1031
+ }, be = {
1032
+ green: { bg: "bg-green-100", text: "text-green-500" },
1033
+ red: { bg: "bg-red-100", text: "text-red-500" },
1034
+ yellow: { bg: "bg-yellow-100", text: "text-yellow-500" },
1035
+ blue: { bg: "bg-blue-100", text: "text-blue-500" },
1036
+ gray: { bg: "bg-gray-100", text: "text-gray-500" },
1037
+ purple: { bg: "bg-purple-100", text: "text-purple-500" }
1038
+ }, qs = (e) => {
1039
+ if (e == null || e === "")
1040
+ return !1;
1041
+ if (typeof e == "boolean")
1042
+ return e;
1043
+ if (typeof e == "number")
1044
+ return e === 1;
1045
+ if (typeof e == "string") {
1046
+ const s = e.toLowerCase().trim();
1047
+ return s === "1" || s === "yes" || s === "true";
1048
+ }
1049
+ return !1;
1050
+ }, Zs = (e) => (s, t, a, l, n, o, i) => {
1051
+ t.innerHTML = "", t.classList.add("spark-table-cell-boolean");
1052
+ const r = i.rendererConfig || {}, c = qs(o), p = c ? r.trueIcon || "check" : r.falseIcon || "xmark", u = c ? r.trueColor || "green" : r.falseColor || "red", h = r.size || 32, _ = r.iconPrefix || "far", w = be[u] || be.gray, m = document.createElement("div");
1053
+ m.classList.add(
1054
+ "inline-flex",
1055
+ "items-center",
1056
+ "justify-center",
1057
+ "rounded-full",
1058
+ w.bg,
1059
+ w.text
1060
+ ), m.style.width = `${h}px`, m.style.height = `${h}px`;
1061
+ const x = document.createElement("span");
1062
+ x.innerHTML = se({ prefix: _, iconName: p }).html, x.classList.add("flex", "items-center", "justify-center");
1063
+ const P = Math.round(h * 0.5);
1064
+ x.style.fontSize = `${P}px`, m.appendChild(x), t.appendChild(m);
1065
+ }, Ks = (e) => (s, t, a, l, n, o, i) => {
983
1066
  if (t.innerHTML = "", t.classList.add("spark-table-cell-link"), !o)
984
1067
  return;
985
- const n = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a));
1068
+ const r = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a));
986
1069
  let p = o;
987
- n.href && (typeof n.href == "function" ? p = n.href(c) : n.href === "email" ? p = `mailto:${o}` : n.href === "tel" ? p = `tel:${o}` : typeof n.href == "string" && (p = c[n.href] || o));
1070
+ r.href && (typeof r.href == "function" ? p = r.href(c) : r.href === "email" ? p = `mailto:${o}` : r.href === "tel" ? p = `tel:${o}` : typeof r.href == "string" && (p = c[r.href] || o));
988
1071
  const u = document.createElement("a");
989
- u.href = p, u.textContent = o, u.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"), n.target && (u.target = n.target), n.rel && (u.rel = n.rel), u.addEventListener("click", (y) => {
990
- y.stopPropagation();
1072
+ u.href = p, u.textContent = o, u.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"), r.target && (u.target = r.target), r.rel && (u.rel = r.rel), u.addEventListener("click", (h) => {
1073
+ h.stopPropagation();
991
1074
  }), t.appendChild(u);
992
- }, ye = {
1075
+ }, ve = {
993
1076
  sm: "h-6 w-6",
994
1077
  md: "h-8 w-8",
995
1078
  lg: "h-12 w-12"
996
- }, Ns = (e) => (s, t, a, l, r, o, i) => {
1079
+ }, Us = (e) => (s, t, a, l, n, o, i) => {
997
1080
  if (t.innerHTML = "", t.classList.add("spark-table-cell-image"), !o)
998
1081
  return;
999
- const n = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a)), p = n.size || "md", u = ye[p] || ye.md, y = n.rounded !== !1;
1000
- let _ = n.alt || "";
1001
- typeof n.alt == "string" && c[n.alt] && (_ = c[n.alt]);
1002
- const k = document.createElement("img");
1003
- k.src = o, k.alt = _, k.classList.add(...u.split(" "), "object-cover"), y ? k.classList.add("rounded-full") : k.classList.add("rounded"), t.appendChild(k);
1004
- }, Ds = (e) => (s, t, a, l, r, o, i) => {
1082
+ const r = i.rendererConfig || {}, c = s.getSourceDataAtRow(s.toPhysicalRow(a)), p = r.size || "md", u = ve[p] || ve.md, h = r.rounded !== !1;
1083
+ let _ = r.alt || "";
1084
+ typeof r.alt == "string" && c[r.alt] && (_ = c[r.alt]);
1085
+ const w = document.createElement("img");
1086
+ w.src = o, w.alt = _, w.classList.add(...u.split(" "), "object-cover"), h ? w.classList.add("rounded-full") : w.classList.add("rounded"), t.appendChild(w);
1087
+ }, Gs = (e) => (s, t, a, l, n, o, i) => {
1005
1088
  if (t.innerHTML = "", t.classList.add("spark-table-cell-date"), !o)
1006
1089
  return;
1007
- const n = i.rendererConfig || {}, c = n.format || "short", p = n.locale || "en-US";
1090
+ const r = i.rendererConfig || {}, c = r.format || "short", p = r.locale || "en-US";
1008
1091
  let u = o;
1009
1092
  try {
1010
1093
  const _ = new Date(o);
@@ -1012,23 +1095,23 @@ const ee = new $s(), Ts = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
1012
1095
  year: "numeric",
1013
1096
  month: "long",
1014
1097
  day: "numeric"
1015
- }) : c === "relative" ? u = qs(_) : c === "datetime" ? u = _.toLocaleString(p) : u = _.toLocaleDateString(p);
1098
+ }) : c === "relative" ? u = Ws(_) : c === "datetime" ? u = _.toLocaleString(p) : u = _.toLocaleDateString(p);
1016
1099
  } catch (_) {
1017
1100
  console.error("Error formatting date:", _), u = o;
1018
1101
  }
1019
- const y = document.createElement("span");
1020
- y.textContent = u, t.appendChild(y);
1102
+ const h = document.createElement("span");
1103
+ h.textContent = u, t.appendChild(h);
1021
1104
  };
1022
- function qs(e) {
1023
- const t = /* @__PURE__ */ new Date() - e, a = Math.floor(Math.abs(t) / 1e3), l = Math.floor(a / 60), r = Math.floor(l / 60), o = Math.floor(r / 24), i = Math.floor(o / 30), n = Math.floor(o / 365), c = t > 0;
1024
- return a < 60 ? c ? "just now" : "in a moment" : l < 60 ? c ? `${l} minute${l > 1 ? "s" : ""} ago` : `in ${l} minute${l > 1 ? "s" : ""}` : r < 24 ? c ? `${r} hour${r > 1 ? "s" : ""} ago` : `in ${r} hour${r > 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 ? `${n} year${n > 1 ? "s" : ""} ago` : `in ${n} year${n > 1 ? "s" : ""}`;
1105
+ function Ws(e) {
1106
+ 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;
1107
+ 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" : ""}`;
1025
1108
  }
1026
- const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1027
- Bt(e, (t, a, l, r, o, i, n) => {
1028
- Mt.apply(null, [t, a, l, r, o, i, n]), s(t, a, l, r, o, i, n);
1029
- }), Zs.set(e, s);
1030
- }, Ks = (e) => {
1031
- W("spark.actions", Os(e)), W("spark.badge", zs()), W("spark.link", Is()), W("spark.image", Ns()), W("spark.date", Ds()), W("style.capitalize", (s, t, a, l, r, o) => {
1109
+ const Ys = /* @__PURE__ */ new Map(), U = (e, s) => {
1110
+ Mt(e, (t, a, l, n, o, i, r) => {
1111
+ Ft.apply(null, [t, a, l, n, o, i, r]), s(t, a, l, n, o, i, r);
1112
+ }), Ys.set(e, s);
1113
+ }, Xs = (e) => {
1114
+ U("spark.actions", Ns(e)), U("spark.badge", Ds()), U("spark.boolean", Zs()), U("spark.link", Ks()), U("spark.image", Us()), U("spark.date", Gs()), U("style.capitalize", (s, t, a, l, n, o) => {
1032
1115
  if (!o || o.length === 0) {
1033
1116
  t.innerText = "";
1034
1117
  return;
@@ -1036,110 +1119,118 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1036
1119
  const i = document.createElement("span");
1037
1120
  i.innerHTML = o, i.classList.add("capitalize"), t.replaceChildren(i);
1038
1121
  });
1039
- }, Us = () => {
1040
- }, Gs = (e, s = {}) => {
1041
- const t = q(), a = Q(), l = s.namespace, r = l === null, o = s.syncToRoute !== !1, i = s.persistToStorage === !0, n = s.restoreOnMount !== !1, c = s.storageTTL || 7, p = r ? `spark-table:${a.path}` : `spark-table:${l}`, u = (h, w = "") => {
1042
- const P = {};
1043
- return Object.keys(h).forEach((Z) => {
1044
- const G = h[Z], pe = w ? `${w}[${Z}]` : Z;
1045
- G != null && (typeof G == "object" && !Array.isArray(G) ? Object.assign(P, u(G, pe)) : P[pe] = String(G));
1046
- }), P;
1047
- }, y = () => {
1122
+ }, Js = () => {
1123
+ }, Qs = (e, s = {}) => {
1124
+ const t = K(), a = te(), l = s.namespace, n = l === null, o = s.syncToRoute !== !1, i = s.persistToStorage === !0, r = s.restoreOnMount !== !1, c = s.storageTTL || 7, p = n ? `spark-table:${a.path}` : `spark-table:${l}`, u = (b, S = "") => {
1125
+ const V = {};
1126
+ return Object.keys(b).forEach((O) => {
1127
+ const Y = b[O], fe = S ? `${S}[${O}]` : O;
1128
+ Y != null && (typeof Y == "object" && !Array.isArray(Y) ? Object.assign(V, u(Y, fe)) : V[fe] = String(Y));
1129
+ }), V;
1130
+ }, h = () => {
1048
1131
  if (i)
1049
1132
  try {
1050
- const h = {
1133
+ const b = {
1051
1134
  params: e.params,
1052
1135
  timestamp: Date.now()
1053
1136
  };
1054
- localStorage.setItem(p, JSON.stringify(h));
1055
- } catch (h) {
1056
- console.warn("Failed to save table state to localStorage:", h);
1137
+ localStorage.setItem(p, JSON.stringify(b));
1138
+ } catch (b) {
1139
+ console.warn("Failed to save table state to localStorage:", b);
1057
1140
  }
1058
1141
  }, _ = () => {
1059
1142
  if (!i) return null;
1060
1143
  try {
1061
- const h = localStorage.getItem(p);
1062
- if (!h) return null;
1063
- const w = JSON.parse(h);
1144
+ const b = localStorage.getItem(p);
1145
+ if (!b) return null;
1146
+ const S = JSON.parse(b);
1064
1147
  if (c > 0) {
1065
- const P = Date.now() - w.timestamp, Z = c * 24 * 60 * 60 * 1e3;
1066
- if (P > Z)
1148
+ const V = Date.now() - S.timestamp, O = c * 24 * 60 * 60 * 1e3;
1149
+ if (V > O)
1067
1150
  return localStorage.removeItem(p), null;
1068
1151
  }
1069
- return w.params;
1070
- } catch (h) {
1071
- return console.warn("Failed to load table state from localStorage:", h), null;
1152
+ return S.params;
1153
+ } catch (b) {
1154
+ return console.warn("Failed to load table state from localStorage:", b), null;
1072
1155
  }
1073
- }, k = () => {
1156
+ }, w = () => {
1074
1157
  try {
1075
1158
  localStorage.removeItem(p);
1076
- } catch (h) {
1077
- console.warn("Failed to clear table state from localStorage:", h);
1159
+ } catch (b) {
1160
+ console.warn("Failed to clear table state from localStorage:", b);
1078
1161
  }
1079
1162
  }, m = () => {
1080
1163
  if (!o) return;
1081
- const h = { ...a.query };
1082
- if (r) {
1083
- Object.keys(h).forEach((P) => {
1084
- x(P) && delete h[P];
1164
+ const b = { ...a.query };
1165
+ if (n) {
1166
+ Object.keys(b).forEach((V) => {
1167
+ x(V) && delete b[V];
1085
1168
  });
1086
- const w = u(e.params);
1087
- Object.assign(h, w);
1169
+ const S = u(e.params);
1170
+ Object.assign(b, S);
1088
1171
  } else {
1089
- Object.keys(h).forEach((P) => {
1090
- (P.startsWith(`${l}[`) || P === l) && delete h[P];
1172
+ Object.keys(b).forEach((V) => {
1173
+ (V.startsWith(`${l}[`) || V === l) && delete b[V];
1091
1174
  });
1092
- const w = u(e.params, l);
1093
- Object.assign(h, w);
1175
+ const S = u(e.params, l);
1176
+ Object.assign(b, S);
1094
1177
  }
1095
- t.replace({ query: h });
1096
- }, x = (h) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(h) || h.includes("[")), H = () => {
1097
- if (r)
1098
- Object.keys(a.query).forEach((h) => {
1099
- x(h) && (e.params[h] = a.query[h]);
1178
+ t.replace({ query: b });
1179
+ }, x = (b) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(b) || b.includes("[")), P = (b, S) => {
1180
+ if (["page", "limit"].includes(b) && S !== null && S !== void 0) {
1181
+ const O = parseInt(S, 10);
1182
+ return isNaN(O) ? S : O;
1183
+ }
1184
+ return S;
1185
+ }, k = () => {
1186
+ if (n)
1187
+ Object.keys(a.query).forEach((b) => {
1188
+ x(b) && (e.params[b] = P(b, a.query[b]));
1100
1189
  });
1101
1190
  else {
1102
- const h = `${l}[`;
1103
- Object.keys(a.query).forEach((w) => {
1104
- if (w.startsWith(h)) {
1105
- const P = w.slice(h.length, -1);
1106
- e.params[P] = a.query[w];
1191
+ const b = `${l}[`;
1192
+ Object.keys(a.query).forEach((S) => {
1193
+ if (S.startsWith(b)) {
1194
+ const V = S.slice(b.length, -1);
1195
+ e.params[V] = P(V, a.query[S]);
1107
1196
  }
1108
1197
  });
1109
1198
  }
1110
1199
  };
1111
- return A(
1200
+ return j(
1112
1201
  () => e.params,
1113
1202
  () => {
1114
- o && m(), i && y();
1203
+ o && m(), i && h();
1115
1204
  },
1116
1205
  { deep: !0 }
1117
- ), n && ue(() => {
1118
- let h = !1;
1206
+ ), r && pe(() => {
1207
+ let b = !1;
1119
1208
  if (o) {
1120
- let w = !1;
1121
- if (r)
1122
- w = Object.keys(a.query).some((P) => x(P));
1209
+ let S = !1;
1210
+ if (n)
1211
+ S = Object.keys(a.query).some((V) => x(V));
1123
1212
  else {
1124
- const P = `${l}[`;
1125
- w = Object.keys(a.query).some(
1126
- (Z) => Z.startsWith(P)
1213
+ const V = `${l}[`;
1214
+ S = Object.keys(a.query).some(
1215
+ (O) => O.startsWith(V)
1127
1216
  );
1128
1217
  }
1129
- w && (h = !0, H());
1218
+ S && (b = !0, k());
1130
1219
  }
1131
- if (!h && i) {
1132
- const w = _();
1133
- w && Object.keys(w).length > 0 && Object.assign(e.params, w);
1220
+ if (!b && i) {
1221
+ const S = _();
1222
+ S && Object.keys(S).length > 0 && (Object.keys(S).forEach((V) => {
1223
+ S[V] = P(V, S[V]);
1224
+ }), Object.assign(e.params, S));
1134
1225
  }
1135
1226
  }), {
1136
1227
  syncToRoute: m,
1137
- restoreFromRoute: H,
1138
- saveToStorage: y,
1228
+ restoreFromRoute: k,
1229
+ saveToStorage: h,
1139
1230
  loadFromStorage: _,
1140
- clearStorage: k
1231
+ clearStorage: w
1141
1232
  };
1142
- }, Ws = { class: "flex items-center gap-4 py-3" }, Ys = { class: "shrink-0" }, Xs = { class: "text-sm text-gray-700" }, Js = { class: "font-medium" }, Qs = { class: "font-medium" }, ea = { class: "font-medium" }, ta = {
1233
+ }, ea = { class: "flex items-center gap-4 py-3" }, ta = { class: "shrink-0" }, sa = { class: "text-sm text-gray-700" }, aa = { class: "font-medium" }, oa = { class: "font-medium" }, ra = { class: "font-medium" }, na = {
1143
1234
  __name: "SparkTablePaginationDetails",
1144
1235
  props: {
1145
1236
  sparkTable: {
@@ -1150,28 +1241,28 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1150
1241
  setup(e) {
1151
1242
  const s = e;
1152
1243
  return (t, a) => (f(), g("div", null, [
1153
- d("div", Ws, [
1154
- d("div", Ys, [
1155
- d("div", Xs, [
1156
- a[0] || (a[0] = F(" Showing ", -1)),
1157
- d("span", Js, L(s.sparkTable.response.meta.from), 1),
1158
- a[1] || (a[1] = F(" to ", -1)),
1159
- d("span", Qs, L(s.sparkTable.response.meta.to), 1),
1160
- a[2] || (a[2] = F(" of ", -1)),
1161
- d("span", ea, L(s.sparkTable.response.meta.total), 1),
1162
- a[3] || (a[3] = F(" results ", -1))
1244
+ d("div", ea, [
1245
+ d("div", ta, [
1246
+ d("div", sa, [
1247
+ a[0] || (a[0] = A(" Showing ", -1)),
1248
+ d("span", aa, H(s.sparkTable.response.meta.from), 1),
1249
+ a[1] || (a[1] = A(" to ", -1)),
1250
+ d("span", oa, H(s.sparkTable.response.meta.to), 1),
1251
+ a[2] || (a[2] = A(" of ", -1)),
1252
+ d("span", ra, H(s.sparkTable.response.meta.total), 1),
1253
+ a[3] || (a[3] = A(" results ", -1))
1163
1254
  ])
1164
1255
  ])
1165
1256
  ])
1166
1257
  ]));
1167
1258
  }
1168
- }, sa = { class: "flex items-center gap-4 px-4 py-3" }, aa = {
1259
+ }, la = { class: "flex items-center gap-4 px-4 py-3" }, ia = {
1169
1260
  key: 0,
1170
1261
  class: "shrink-0 ml-auto"
1171
- }, oa = {
1262
+ }, ca = {
1172
1263
  class: "isolate inline-flex -space-x-px rounded-md shadow-xs bg-white",
1173
1264
  "aria-label": "Pagination"
1174
- }, ra = ["onClick"], na = {
1265
+ }, da = ["onClick"], ua = {
1175
1266
  __name: "SparkTablePaginationPaging",
1176
1267
  props: {
1177
1268
  sparkTable: {
@@ -1182,66 +1273,66 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1182
1273
  emits: ["paginate"],
1183
1274
  setup(e, { emit: s }) {
1184
1275
  const t = e, a = s, l = (p) => {
1185
- r(t.sparkTable.params.page + p);
1186
- }, r = (p) => {
1276
+ n(t.sparkTable.params.page + p);
1277
+ }, n = (p) => {
1187
1278
  p < 1 || p > t.sparkTable.response.meta.last_page || a("paginate", {
1188
1279
  page: p
1189
1280
  });
1190
- }, o = S(() => t.sparkTable.params.page ? Math.ceil(t.sparkTable.params.page / 10) * 10 : 1), i = S(() => t.sparkTable.computed.ready ? St(
1281
+ }, o = C(() => t.sparkTable.params.page ? Math.ceil(t.sparkTable.params.page / 10) * 10 : 1), i = C(() => t.sparkTable.computed.ready ? $t(
1191
1282
  Math.floor((o.value - 1) / 10) * 10 + 1,
1192
1283
  o.value > t.sparkTable.response.meta.last_page ? t.sparkTable.response.meta.last_page + 1 : o.value + 1
1193
- ) : []), n = S(
1194
- () => t.sparkTable.params.page < I(t.sparkTable.response.meta, "last_page", 1)
1195
- ), c = S(() => t.sparkTable.params.page > 1);
1284
+ ) : []), r = C(
1285
+ () => t.sparkTable.params.page < D(t.sparkTable.response.meta, "last_page", 1)
1286
+ ), c = C(() => t.sparkTable.params.page > 1);
1196
1287
  return (p, u) => {
1197
- const y = R("font-awesome-icon");
1288
+ const h = B("font-awesome-icon");
1198
1289
  return f(), g("div", null, [
1199
- d("div", sa, [
1200
- i.value.length > 1 ? (f(), g("div", aa, [
1290
+ d("div", la, [
1291
+ i.value.length > 1 ? (f(), g("div", ia, [
1201
1292
  d("div", null, [
1202
- d("nav", oa, [
1293
+ d("nav", ca, [
1203
1294
  d("a", {
1204
- class: $([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"]),
1295
+ class: T([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"]),
1205
1296
  href: "#",
1206
- onClick: u[0] || (u[0] = K((_) => l(-1), ["prevent"]))
1297
+ onClick: u[0] || (u[0] = G((_) => l(-1), ["prevent"]))
1207
1298
  }, [
1208
- v(y, {
1209
- icon: b(B).farChevronLeft,
1299
+ v(h, {
1300
+ icon: y(E).farChevronLeft,
1210
1301
  class: "size-5"
1211
1302
  }, null, 8, ["icon"])
1212
1303
  ], 2),
1213
- (f(!0), g(j, null, N(i.value, (_) => (f(), g("a", {
1304
+ (f(!0), g(z, null, q(i.value, (_) => (f(), g("a", {
1214
1305
  key: `page-${_}`,
1215
1306
  href: "#",
1216
- class: $([
1307
+ class: T([
1217
1308
  "relative inline-flex items-center px-4 py-[9px] text-sm font-semibold ring-1 ring-inset",
1218
1309
  e.sparkTable.params.page === _ ? "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"
1219
1310
  ]),
1220
- onClick: (k) => r(_)
1221
- }, L(_), 11, ra))), 128)),
1311
+ onClick: (w) => n(_)
1312
+ }, H(_), 11, da))), 128)),
1222
1313
  d("a", {
1223
- class: $([n.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"]),
1224
- onClick: u[1] || (u[1] = K((_) => l(1), ["prevent"])),
1314
+ class: T([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"]),
1315
+ onClick: u[1] || (u[1] = G((_) => l(1), ["prevent"])),
1225
1316
  href: "#"
1226
1317
  }, [
1227
- v(y, {
1228
- icon: b(B).farChevronRight,
1318
+ v(h, {
1319
+ icon: y(E).farChevronRight,
1229
1320
  class: "size-5"
1230
1321
  }, null, 8, ["icon"])
1231
1322
  ], 2)
1232
1323
  ])
1233
1324
  ])
1234
- ])) : C("", !0)
1325
+ ])) : $("", !0)
1235
1326
  ])
1236
1327
  ]);
1237
1328
  };
1238
1329
  }
1239
- }, U = (e, s) => {
1330
+ }, W = (e, s) => {
1240
1331
  const t = e.__vccOpts || e;
1241
1332
  for (const [a, l] of s)
1242
1333
  t[a] = l;
1243
1334
  return t;
1244
- }, la = { class: "spark-table-pagination-per-page" }, ia = {
1335
+ }, pa = { class: "spark-table-pagination-per-page" }, fa = {
1245
1336
  __name: "SparkTablePaginationPerPage",
1246
1337
  props: {
1247
1338
  sparkTable: {
@@ -1251,31 +1342,31 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1251
1342
  },
1252
1343
  emits: ["paginate"],
1253
1344
  setup(e, { emit: s }) {
1254
- const t = e, a = s, l = S(() => t.sparkTable.options.perPages.map((o) => ({
1345
+ const t = e, a = s, l = C(() => t.sparkTable.options.perPages.map((o) => ({
1255
1346
  label: String(o),
1256
1347
  value: o
1257
- }))), r = (o) => {
1348
+ }))), n = (o) => {
1258
1349
  a("paginate", {
1259
1350
  page: 1,
1260
1351
  limit: parseInt(o)
1261
1352
  });
1262
1353
  };
1263
1354
  return (o, i) => {
1264
- const n = R("FormKit");
1265
- return f(), g("div", la, [
1266
- v(n, {
1355
+ const r = B("FormKit");
1356
+ return f(), g("div", pa, [
1357
+ v(r, {
1267
1358
  "model-value": e.sparkTable.params.limit,
1268
1359
  type: "select",
1269
1360
  options: l.value,
1270
1361
  "outer-class": "!mb-0",
1271
1362
  "wrapper-class": "!mb-0",
1272
1363
  "input-class": "!py-2",
1273
- onInput: r
1364
+ onInput: n
1274
1365
  }, null, 8, ["model-value", "options"])
1275
1366
  ]);
1276
1367
  };
1277
1368
  }
1278
- }, ca = /* @__PURE__ */ U(ia, [["__scopeId", "data-v-9ef8544b"]]), be = {
1369
+ }, ma = /* @__PURE__ */ W(fa, [["__scopeId", "data-v-9ef8544b"]]), xe = {
1279
1370
  __name: "SparkTableToolbar",
1280
1371
  props: {
1281
1372
  position: {
@@ -1285,18 +1376,18 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1285
1376
  }
1286
1377
  },
1287
1378
  setup(e) {
1288
- const s = e, t = Se(), a = S(() => !!t.default), l = S(() => {
1289
- const r = "spark-table-toolbar flex flex-wrap items-center gap-x-5 w-full";
1290
- return s.position === "footer" ? `${r} spark-table-toolbar-footer justify-between` : `${r} spark-table-toolbar-header gap-y-5 py-5`;
1379
+ const s = e, t = $e(), a = C(() => !!t.default), l = C(() => {
1380
+ const n = "spark-table-toolbar flex flex-wrap items-center gap-x-5 w-full";
1381
+ return s.position === "footer" ? `${n} spark-table-toolbar-footer justify-between` : `${n} spark-table-toolbar-header gap-y-5 py-5`;
1291
1382
  });
1292
- return (r, o) => a.value ? (f(), g("div", {
1383
+ return (n, o) => a.value ? (f(), g("div", {
1293
1384
  key: 0,
1294
- class: $(l.value)
1385
+ class: T(l.value)
1295
1386
  }, [
1296
- M(r.$slots, "default")
1297
- ], 2)) : C("", !0);
1387
+ M(n.$slots, "default")
1388
+ ], 2)) : $("", !0);
1298
1389
  }
1299
- }, da = { class: "spark-table-search" }, ua = {
1390
+ }, ga = { class: "spark-table-search" }, ha = {
1300
1391
  __name: "SparkTableSearch",
1301
1392
  props: {
1302
1393
  /** SparkTable instance object */
@@ -1315,33 +1406,33 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1315
1406
  }
1316
1407
  },
1317
1408
  setup(e) {
1318
- const s = e, t = V(""), a = s.config.param || "search";
1409
+ const s = e, t = R(""), a = s.config.param || "search";
1319
1410
  s.sparkTable.params[a] ? t.value = s.sparkTable.params[a] : s.config.initialValue && (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
1320
1411
  [a]: s.config.initialValue
1321
1412
  }));
1322
- const l = He((o) => {
1413
+ const l = Ve((o) => {
1323
1414
  o ? s.sparkTable.methods.applyParams({
1324
1415
  page: 1,
1325
1416
  [a]: o
1326
1417
  }) : s.sparkTable.methods.removeParam(a);
1327
1418
  }, s.config.debounce || 300);
1328
- A(t, (o) => {
1419
+ j(t, (o) => {
1329
1420
  l(o);
1330
1421
  });
1331
- const r = s.config.placeholder || "Search...";
1332
- return A(
1422
+ const n = s.config.placeholder || "Search...";
1423
+ return j(
1333
1424
  () => s.sparkTable.params[a],
1334
1425
  (o) => {
1335
1426
  o && o !== t.value ? t.value = o : !o && t.value && (t.value = "");
1336
1427
  }
1337
1428
  ), (o, i) => {
1338
- const n = R("FormKit");
1339
- return f(), g("div", da, [
1340
- v(n, se({
1429
+ const r = B("FormKit");
1430
+ return f(), g("div", ga, [
1431
+ v(r, oe({
1341
1432
  modelValue: t.value,
1342
1433
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
1343
1434
  type: "text",
1344
- placeholder: b(r),
1435
+ placeholder: y(n),
1345
1436
  suffixIcon: "search",
1346
1437
  "outer-class": "!mb-0",
1347
1438
  "wrapper-class": "!mb-0",
@@ -1350,7 +1441,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1350
1441
  ]);
1351
1442
  };
1352
1443
  }
1353
- }, pa = /* @__PURE__ */ U(ua, [["__scopeId", "data-v-976170dc"]]), fa = { class: "spark-table-filter-select" }, ma = {
1444
+ }, ya = /* @__PURE__ */ W(ha, [["__scopeId", "data-v-976170dc"]]), ba = { class: "spark-table-filter-select" }, va = {
1354
1445
  __name: "SparkTableFilterSelect",
1355
1446
  props: {
1356
1447
  /** SparkTable instance object */
@@ -1366,33 +1457,33 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1366
1457
  }
1367
1458
  },
1368
1459
  setup(e) {
1369
- const s = e, t = V(""), a = s.config.param || `filter[${s.config.key}]`;
1460
+ const s = e, t = R(""), a = s.config.param || `filter[${s.config.key}]`;
1370
1461
  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({
1371
1462
  [a]: s.config.initialValue
1372
1463
  }));
1373
- const l = s.config.label || null, r = S(() => [
1464
+ const l = s.config.label || null, n = C(() => [
1374
1465
  { label: s.config.placeholder || "All", value: "" },
1375
1466
  ...s.config.options
1376
1467
  ]);
1377
- return A(t, (o) => {
1468
+ return j(t, (o) => {
1378
1469
  o ? s.sparkTable.methods.applyParams({
1379
1470
  page: 1,
1380
1471
  [a]: o
1381
1472
  }) : s.sparkTable.methods.removeParam(a);
1382
- }), A(
1473
+ }), j(
1383
1474
  () => s.sparkTable.params[a],
1384
1475
  (o) => {
1385
1476
  o != null && o !== "" ? t.value !== o && (t.value = o) : t.value && (t.value = "");
1386
1477
  }
1387
1478
  ), (o, i) => {
1388
- const n = R("FormKit");
1389
- return f(), g("div", fa, [
1390
- v(n, se({
1479
+ const r = B("FormKit");
1480
+ return f(), g("div", ba, [
1481
+ v(r, oe({
1391
1482
  modelValue: t.value,
1392
1483
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
1393
1484
  type: "select",
1394
- label: b(l),
1395
- options: r.value,
1485
+ label: y(l),
1486
+ options: n.value,
1396
1487
  placeholder: e.config.placeholder || "All",
1397
1488
  "outer-class": "!mb-0",
1398
1489
  "wrapper-class": "!mb-0"
@@ -1400,10 +1491,10 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1400
1491
  ]);
1401
1492
  };
1402
1493
  }
1403
- }, ga = /* @__PURE__ */ U(ma, [["__scopeId", "data-v-642dbc69"]]), ha = { class: "spark-table-filter-buttons" }, ya = {
1494
+ }, xa = /* @__PURE__ */ W(va, [["__scopeId", "data-v-642dbc69"]]), ka = { class: "spark-table-filter-buttons" }, wa = {
1404
1495
  key: 0,
1405
1496
  class: "spark-table-filter-buttons-label"
1406
- }, ba = {
1497
+ }, _a = {
1407
1498
  __name: "SparkTableFilterButtons",
1408
1499
  props: {
1409
1500
  /** SparkTable instance object */
@@ -1419,33 +1510,33 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1419
1510
  }
1420
1511
  },
1421
1512
  setup(e) {
1422
- const s = e, t = V(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`;
1513
+ const s = e, t = R(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`;
1423
1514
  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({
1424
1515
  [l]: s.config.initialValue
1425
1516
  }));
1426
- const r = (i) => i == null ? t.value === null || t.value === void 0 || t.value === "" : t.value === i, o = (i) => {
1517
+ const n = (i) => i == null ? t.value === null || t.value === void 0 || t.value === "" : t.value === i, o = (i) => {
1427
1518
  t.value = i, i == null || i === "" ? s.sparkTable.methods.removeParam(l) : s.sparkTable.methods.applyParams({
1428
1519
  page: 1,
1429
1520
  [l]: i
1430
1521
  });
1431
1522
  };
1432
- return A(
1523
+ return j(
1433
1524
  () => s.sparkTable.params[l],
1434
1525
  (i) => {
1435
1526
  (i == null || i === "") && t.value ? t.value = null : i !== t.value && (t.value = i);
1436
1527
  }
1437
- ), (i, n) => (f(), g("div", ha, [
1438
- b(a) ? (f(), g("span", ya, L(b(a)), 1)) : C("", !0),
1439
- v(_s, { class: "isolate" }, {
1440
- default: T(() => [
1441
- (f(!0), g(j, null, N(e.config.options, (c) => (f(), E(z, {
1528
+ ), (i, r) => (f(), g("div", ka, [
1529
+ y(a) ? (f(), g("span", wa, H(y(a)), 1)) : $("", !0),
1530
+ v(Cs, { class: "isolate" }, {
1531
+ default: L(() => [
1532
+ (f(!0), g(z, null, q(e.config.options, (c) => (f(), F(N, {
1442
1533
  key: c.value,
1443
1534
  size: "xl",
1444
- variant: r(c.value) ? "primary" : "secondary",
1535
+ variant: n(c.value) ? "primary" : "secondary",
1445
1536
  onClick: (p) => o(c.value)
1446
1537
  }, {
1447
- default: T(() => [
1448
- F(L(c.label), 1)
1538
+ default: L(() => [
1539
+ A(H(c.label), 1)
1449
1540
  ]),
1450
1541
  _: 2
1451
1542
  }, 1032, ["variant", "onClick"]))), 128))
@@ -1454,7 +1545,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1454
1545
  })
1455
1546
  ]));
1456
1547
  }
1457
- }, va = /* @__PURE__ */ U(ba, [["__scopeId", "data-v-0fcd0cce"]]), xa = { class: "spark-table-date-picker" }, ka = {
1548
+ }, Ca = /* @__PURE__ */ W(_a, [["__scopeId", "data-v-0fcd0cce"]]), Sa = { class: "spark-table-date-picker" }, $a = {
1458
1549
  __name: "SparkTableDatePicker",
1459
1550
  props: {
1460
1551
  /** SparkTable instance object */
@@ -1470,33 +1561,33 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1470
1561
  }
1471
1562
  },
1472
1563
  setup(e) {
1473
- const s = e, t = V(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`, r = V(`${l}-0`);
1564
+ const s = e, t = R(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`, n = R(`${l}-0`);
1474
1565
  return s.sparkTable.params[l] ? t.value = s.sparkTable.params[l] : s.config.initialValue ? (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
1475
1566
  [l]: s.config.initialValue
1476
- })) : t.value = null, A(t, (o) => {
1567
+ })) : t.value = null, j(t, (o) => {
1477
1568
  o ? s.sparkTable.methods.applyParams({
1478
1569
  page: 1,
1479
1570
  [l]: o
1480
1571
  }) : s.sparkTable.methods.removeParam(l);
1481
- }), A(
1572
+ }), j(
1482
1573
  () => s.sparkTable.params[l],
1483
1574
  (o) => {
1484
1575
  if ((o == null || o === "") && t.value) {
1485
1576
  t.value = null;
1486
- const i = parseInt(r.value.split("-").pop()) || 0;
1487
- r.value = `${l}-${i + 1}`;
1577
+ const i = parseInt(n.value.split("-").pop()) || 0;
1578
+ n.value = `${l}-${i + 1}`;
1488
1579
  } else o && o !== t.value && (t.value = o);
1489
1580
  }
1490
1581
  ), (o, i) => {
1491
- const n = R("FormKit");
1492
- return f(), g("div", xa, [
1493
- (f(), E(n, se({
1494
- key: r.value,
1582
+ const r = B("FormKit");
1583
+ return f(), g("div", Sa, [
1584
+ (f(), F(r, oe({
1585
+ key: n.value,
1495
1586
  modelValue: t.value,
1496
1587
  "onUpdate:modelValue": i[0] || (i[0] = (c) => t.value = c),
1497
1588
  type: "datepicker",
1498
1589
  "picker-only": "",
1499
- label: b(a),
1590
+ label: y(a),
1500
1591
  placeholder: e.config.placeholder || "Select date",
1501
1592
  overlay: !0,
1502
1593
  "value-format": "YYYY-MM-DD",
@@ -1507,7 +1598,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1507
1598
  ]);
1508
1599
  };
1509
1600
  }
1510
- }, _a = /* @__PURE__ */ U(ka, [["__scopeId", "data-v-44ef9cb8"]]), wa = { class: "spark-table-reset" }, Sa = { key: 1 }, Ca = {
1601
+ }, Ta = /* @__PURE__ */ W($a, [["__scopeId", "data-v-44ef9cb8"]]), La = { class: "spark-table-reset" }, Ha = { key: 1 }, Pa = {
1511
1602
  __name: "SparkTableReset",
1512
1603
  props: {
1513
1604
  /** SparkTable instance object */
@@ -1523,16 +1614,16 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1523
1614
  },
1524
1615
  setup(e) {
1525
1616
  const s = e, t = () => {
1526
- const a = s.sparkTable.plugins || {}, l = [], r = {};
1617
+ const a = s.sparkTable.plugins || {}, l = [], n = {};
1527
1618
  Object.entries(a).forEach(([c, p]) => {
1528
1619
  if (!p || p.type === "reset" || !(typeof p.enabled == "function" ? p.enabled(s.sparkTable.params) : p.enabled))
1529
1620
  return;
1530
- let y = null;
1531
- p.type === "search" ? y = p.param || "search" : p.type === "filterSelect" || p.type === "filterButtons" ? y = p.param || `filter[${p.key}]` : p.type === "datePicker" && (y = p.param || `filter[${p.key}]`), y && (p.initialValue !== void 0 && p.initialValue !== null ? r[y] = p.initialValue : l.push(y));
1621
+ let h = null;
1622
+ p.type === "search" ? h = p.param || "search" : p.type === "filterSelect" || p.type === "filterButtons" ? h = p.param || `filter[${p.key}]` : p.type === "datePicker" && (h = p.param || `filter[${p.key}]`), h && (p.initialValue !== void 0 && p.initialValue !== null ? n[h] = p.initialValue : l.push(h));
1532
1623
  });
1533
1624
  const o = l.filter(
1534
1625
  (c) => s.sparkTable.params[c] !== void 0 && s.sparkTable.params[c] !== null && s.sparkTable.params[c] !== ""
1535
- ), i = Object.entries(r).filter(
1626
+ ), i = Object.entries(n).filter(
1536
1627
  ([c, p]) => s.sparkTable.params[c] !== p
1537
1628
  );
1538
1629
  if (o.length === 0 && i.length === 0)
@@ -1540,40 +1631,40 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1540
1631
  o.forEach((c) => {
1541
1632
  delete s.sparkTable.params[c];
1542
1633
  });
1543
- const n = Object.fromEntries(i);
1544
- s.sparkTable.methods.applyParams({ ...n, page: 1 });
1634
+ const r = Object.fromEntries(i);
1635
+ s.sparkTable.methods.applyParams({ ...r, page: 1 });
1545
1636
  };
1546
1637
  return (a, l) => {
1547
- const r = R("font-awesome-icon");
1548
- return f(), g("div", wa, [
1549
- v(z, {
1638
+ const n = B("font-awesome-icon");
1639
+ return f(), g("div", La, [
1640
+ v(N, {
1550
1641
  onClick: t,
1551
1642
  variant: "secondary",
1552
1643
  size: "xl"
1553
1644
  }, {
1554
- default: T(() => [
1555
- e.config.icon ? (f(), E(r, {
1645
+ default: L(() => [
1646
+ e.config.icon ? (f(), F(n, {
1556
1647
  key: 0,
1557
1648
  icon: ["far", e.config.icon],
1558
- class: $({ "mr-1.5": e.config.label })
1559
- }, null, 8, ["icon", "class"])) : C("", !0),
1560
- e.config.label ? (f(), g("span", Sa, L(e.config.label), 1)) : C("", !0)
1649
+ class: T({ "mr-1.5": e.config.label })
1650
+ }, null, 8, ["icon", "class"])) : $("", !0),
1651
+ e.config.label ? (f(), g("span", Ha, H(e.config.label), 1)) : $("", !0)
1561
1652
  ]),
1562
1653
  _: 1
1563
1654
  })
1564
1655
  ]);
1565
1656
  };
1566
1657
  }
1567
- }, $a = /* @__PURE__ */ U(Ca, [["__scopeId", "data-v-45343158"]]), Ta = { class: "spark-table" }, La = {
1658
+ }, Va = /* @__PURE__ */ W(Pa, [["__scopeId", "data-v-45343158"]]), Ra = { class: "spark-table" }, Ba = {
1568
1659
  key: 1,
1569
1660
  class: "pt-5"
1570
- }, Ha = { class: "flex items-center gap-x-3" }, de = {
1661
+ }, Ea = { class: "flex items-center gap-x-3" }, ue = {
1571
1662
  perPages: [15, 30, 50, 100, 200, 500],
1572
1663
  limit: 15
1573
- }, Pa = {
1664
+ }, Ma = {
1574
1665
  page: 1,
1575
- limit: de.limit
1576
- }, ve = {
1666
+ limit: ue.limit
1667
+ }, ke = {
1577
1668
  colHeaders: !0,
1578
1669
  filters: !1,
1579
1670
  stretchH: "all",
@@ -1583,7 +1674,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1583
1674
  tableClassName: "spark-table-table",
1584
1675
  readOnlyCellClassName: "read-only",
1585
1676
  licenseKey: "non-commercial-and-evaluation"
1586
- }, Vr = {
1677
+ }, Mr = {
1587
1678
  __name: "SparkTable",
1588
1679
  props: {
1589
1680
  url: {
@@ -1595,7 +1686,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1595
1686
  dataTransformer: {
1596
1687
  type: Function,
1597
1688
  default: (e, s) => ({
1598
- data: I(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((r) => a[r])) : e.data.data,
1689
+ data: D(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((n) => a[n])) : e.data.data,
1599
1690
  meta: {
1600
1691
  last_page: e.data.last_page,
1601
1692
  from: e.data.from,
@@ -1607,19 +1698,19 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1607
1698
  params: {
1608
1699
  type: Object,
1609
1700
  default() {
1610
- return Pa;
1701
+ return Ma;
1611
1702
  }
1612
1703
  },
1613
1704
  options: {
1614
1705
  type: Object,
1615
1706
  default() {
1616
- return de;
1707
+ return ue;
1617
1708
  }
1618
1709
  },
1619
1710
  settings: {
1620
1711
  type: Object,
1621
1712
  default() {
1622
- return ve;
1713
+ return ke;
1623
1714
  }
1624
1715
  },
1625
1716
  plugins: {
@@ -1648,18 +1739,18 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1648
1739
  ],
1649
1740
  setup(e, { expose: s, emit: t }) {
1650
1741
  const a = e;
1651
- Rt(), oe(Lt), oe(Ht), oe(Pt), I(a, "settings.nestedHeaders") && oe(Vt);
1652
- const l = t, r = ke("axios"), o = V(null), i = V(!1), n = V(null);
1742
+ Et(), ne(Pt), ne(Vt), ne(Rt), D(a, "settings.nestedHeaders") && ne(Bt);
1743
+ const l = t, n = _e("axios"), o = R(null), i = R(!1), r = R(null);
1653
1744
  let c = !1;
1654
1745
  const p = {
1655
- search: pa,
1656
- filterSelect: ga,
1657
- filterButtons: va,
1658
- datePicker: _a,
1659
- reset: $a
1660
- }, u = D({
1746
+ search: ya,
1747
+ filterSelect: xa,
1748
+ filterButtons: Ca,
1749
+ datePicker: Ta,
1750
+ reset: Va
1751
+ }, u = Z({
1661
1752
  hotInstance: null,
1662
- url: S(() => a.url),
1753
+ url: C(() => a.url),
1663
1754
  plugins: a.plugins,
1664
1755
  response: {},
1665
1756
  params: {
@@ -1678,33 +1769,33 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1678
1769
  },
1679
1770
  loadTable: async (m) => {
1680
1771
  if (!(!o.value || !o.value.hotInstance)) {
1681
- i.value = !0, n.value = null, l("loading", !0), le.start(), u.hotInstance = o.value.hotInstance;
1772
+ i.value = !0, r.value = null, l("loading", !0), ie.start(), u.hotInstance = o.value.hotInstance;
1682
1773
  try {
1683
1774
  if (a.dataProvider) {
1684
- const h = await a.dataProvider(u.computed.params);
1685
- u.response = a.dataTransformer(h, a);
1775
+ const k = await a.dataProvider(u.computed.params);
1776
+ u.response = a.dataTransformer(k, a);
1686
1777
  } else if (a.url) {
1687
- const h = await r.get(a.url, {
1778
+ const k = await n.get(a.url, {
1688
1779
  params: u.computed.params
1689
1780
  });
1690
- u.response = a.dataTransformer(h, a);
1781
+ u.response = a.dataTransformer(k, a);
1691
1782
  } else {
1692
- console.error("No data provider or URL provided"), i.value = !1, l("loading", !1), le.done();
1783
+ console.error("No data provider or URL provided"), i.value = !1, l("loading", !1), ie.done();
1693
1784
  return;
1694
1785
  }
1695
1786
  if (c) return;
1696
1787
  u.hotInstance.updateData(u.response.data), u.options.callback && typeof u.options.callback == "function" && await u.options.callback();
1697
1788
  const x = u.hotInstance.getPlugin("autoColumnSize");
1698
- I(a.settings, "columns", []).forEach((h, w) => {
1699
- h.width || x.calculateColumnsWidth(w, w, !0);
1789
+ D(a.settings, "columns", []).forEach((k, b) => {
1790
+ k.width || x.calculateColumnsWidth(b, b, !0);
1700
1791
  }), l("load", {
1701
1792
  data: u.response.data,
1702
1793
  meta: u.response.meta
1703
1794
  }), m && typeof m == "function" && m();
1704
1795
  } catch (x) {
1705
- n.value = x, l("error", x), console.error("Error loading table data:", x);
1796
+ r.value = x, l("error", x), console.error("Error loading table data:", x);
1706
1797
  } finally {
1707
- i.value = !1, l("loading", !1), le.done();
1798
+ i.value = !1, l("loading", !1), ie.done();
1708
1799
  }
1709
1800
  }
1710
1801
  },
@@ -1713,7 +1804,7 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1713
1804
  fireEvent: (m, x) => {
1714
1805
  l(m, x);
1715
1806
  },
1716
- getSettingsForProp: (m) => Ct(I(u.tableSettings, "columns"), { data: m }),
1807
+ getSettingsForProp: (m) => Tt(D(u.tableSettings, "columns"), { data: m }),
1717
1808
  // Helper methods for easier param access
1718
1809
  getParams: () => u.computed.params,
1719
1810
  getParam: (m) => u.computed.params[m],
@@ -1722,42 +1813,42 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1722
1813
  },
1723
1814
  clearParam: (m) => u.methods.removeParam(m),
1724
1815
  clearParams: (m) => {
1725
- (Array.isArray(m) ? m : [m]).forEach((H) => {
1726
- u.params[H] !== void 0 && delete u.params[H];
1816
+ (Array.isArray(m) ? m : [m]).forEach((P) => {
1817
+ u.params[P] !== void 0 && delete u.params[P];
1727
1818
  }), u.methods.applyParams({ page: 1 });
1728
1819
  }
1729
1820
  },
1730
1821
  computed: {
1731
- params: S(() => ({
1822
+ params: C(() => ({
1732
1823
  ...a.params,
1733
1824
  ...u.params
1734
1825
  })),
1735
- ready: S(() => $t(u, "response.meta.last_page"))
1826
+ ready: C(() => Lt(u, "response.meta.last_page"))
1736
1827
  },
1737
- options: S(() => ({
1738
- ...de,
1828
+ options: C(() => ({
1829
+ ...ue,
1739
1830
  ...a.options
1740
1831
  })),
1741
- tableSettings: S(() => ({
1742
- ...ve,
1743
- nestedHeaders: I(a.settings, "nestedHeaders", []),
1744
- ...!I(a.settings, "nestedHeaders") && {
1745
- afterGetColHeader: (m, x) => As(m, x, u)
1832
+ tableSettings: C(() => ({
1833
+ ...ke,
1834
+ nestedHeaders: D(a.settings, "nestedHeaders", []),
1835
+ ...!D(a.settings, "nestedHeaders") && {
1836
+ afterGetColHeader: (m, x) => zs(m, x, u)
1746
1837
  },
1747
- afterChange: (m, x) => Us(),
1748
- afterRender: () => js(u),
1838
+ afterChange: (m, x) => Js(),
1839
+ afterRender: () => Is(u),
1749
1840
  /**
1750
1841
  * Prevent columns with explicit width from being stretched
1751
1842
  * This hook fires BEFORE stretchH is applied, allowing us to cap specific columns
1752
1843
  * while letting others stretch normally
1753
1844
  */
1754
1845
  beforeStretchingColumnWidth: (m, x) => {
1755
- const h = I(a.settings, "columns", [])[x];
1756
- return h && h.width !== void 0 ? h.width : m;
1846
+ const k = D(a.settings, "columns", [])[x];
1847
+ return k && k.width !== void 0 ? k.width : m;
1757
1848
  },
1758
1849
  ...a.settings
1759
1850
  }))
1760
- }), y = (m) => {
1851
+ }), h = (m) => {
1761
1852
  if (!m) return null;
1762
1853
  switch (m.type) {
1763
1854
  case "search":
@@ -1769,16 +1860,16 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1769
1860
  default:
1770
1861
  return null;
1771
1862
  }
1772
- }, _ = (m) => m ? typeof m.enabled == "function" ? m.enabled(u.params) : m.enabled : !1, k = S(() => Object.entries(a.plugins).filter(([m, x]) => _(x)).map(([m, x]) => ({ name: m, config: x })));
1773
- if (A(
1863
+ }, _ = (m) => m ? typeof m.enabled == "function" ? m.enabled(u.params) : m.enabled : !1, w = C(() => Object.entries(a.plugins).filter(([m, x]) => _(x)).map(([m, x]) => ({ name: m, config: x })));
1864
+ if (j(
1774
1865
  () => ({ ...u.params }),
1775
1866
  () => {
1776
1867
  const m = [];
1777
1868
  Object.values(a.plugins).forEach((x) => {
1778
- const H = y(x);
1779
- if (!H) return;
1780
- const h = _(x), w = u.params[H] !== void 0;
1781
- !h && w && m.push(H);
1869
+ const P = h(x);
1870
+ if (!P) return;
1871
+ const k = _(x), b = u.params[P] !== void 0;
1872
+ !k && b && m.push(P);
1782
1873
  }), m.length > 0 && m.forEach((x) => {
1783
1874
  delete u.params[x];
1784
1875
  });
@@ -1786,34 +1877,34 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1786
1877
  { deep: !0, flush: "sync" }
1787
1878
  ), a.syncToRoute || a.persistToStorage) {
1788
1879
  const m = typeof a.syncToRoute == "string";
1789
- Gs(u, {
1880
+ Qs(u, {
1790
1881
  namespace: m ? a.syncToRoute : null,
1791
1882
  syncToRoute: !!a.syncToRoute,
1792
1883
  persistToStorage: a.persistToStorage
1793
1884
  });
1794
1885
  }
1795
- return me(
1886
+ return ge(
1796
1887
  () => a.params,
1797
1888
  async () => {
1798
1889
  u.params.page = 1, await u.methods.loadTable();
1799
1890
  },
1800
1891
  { debounce: 50, maxWait: 1e3 }
1801
- ), me(
1892
+ ), ge(
1802
1893
  () => u.params,
1803
1894
  async () => {
1804
1895
  await u.methods.loadTable();
1805
1896
  },
1806
1897
  { debounce: 50, maxWait: 1e3 }
1807
- ), A(
1898
+ ), j(
1808
1899
  () => a.url,
1809
1900
  async (m, x) => {
1810
1901
  m !== x && (u.params.page = 1, await u.methods.loadTable());
1811
1902
  }
1812
- ), ue(async () => {
1903
+ ), pe(async () => {
1813
1904
  await u.methods.loadTable(), l("ready");
1814
- }), Fe(() => {
1905
+ }), je(() => {
1815
1906
  c = !0;
1816
- }), Ks(u), s({
1907
+ }), Xs(u), s({
1817
1908
  refresh: () => u.methods.loadTable(),
1818
1909
  getParams: () => u.methods.getParams(),
1819
1910
  getParam: (m) => u.methods.getParam(m),
@@ -1822,64 +1913,64 @@ const Zs = /* @__PURE__ */ new Map(), W = (e, s) => {
1822
1913
  clearParams: (m) => u.methods.clearParams(m),
1823
1914
  applyParams: (m) => u.methods.applyParams(m),
1824
1915
  loading: i,
1825
- error: n,
1916
+ error: r,
1826
1917
  sparkTable: u,
1827
1918
  table: o
1828
- }), (m, x) => (f(), g("div", Ta, [
1829
- u.computed.ready && k.value && k.value.length ? (f(), E(be, {
1919
+ }), (m, x) => (f(), g("div", Ra, [
1920
+ u.computed.ready && w.value && w.value.length ? (f(), F(xe, {
1830
1921
  key: 0,
1831
1922
  position: "header"
1832
1923
  }, {
1833
- default: T(() => [
1834
- (f(!0), g(j, null, N(k.value, (H) => (f(), E(te(p[H.config.type]), {
1835
- key: H.name,
1836
- class: $(H.config.align ? `self-${H.config.align}` : ""),
1924
+ default: L(() => [
1925
+ (f(!0), g(z, null, q(w.value, (P) => (f(), F(ae(p[P.config.type]), {
1926
+ key: P.name,
1927
+ class: T(P.config.align ? `self-${P.config.align}` : ""),
1837
1928
  "spark-table": u,
1838
- config: H.config
1929
+ config: P.config
1839
1930
  }, null, 8, ["class", "spark-table", "config"]))), 128)),
1840
1931
  M(m.$slots, "header", {
1841
1932
  sparkTable: u,
1842
1933
  loading: i.value,
1843
- error: n.value
1934
+ error: r.value
1844
1935
  })
1845
1936
  ]),
1846
1937
  _: 3
1847
- })) : (f(), g("div", La)),
1848
- v(b(Tt), {
1938
+ })) : (f(), g("div", Ba)),
1939
+ v(y(Ht), {
1849
1940
  "theme-name": "ht-theme-classic",
1850
1941
  ref_key: "table",
1851
1942
  ref: o,
1852
1943
  settings: u.tableSettings
1853
1944
  }, null, 8, ["settings"]),
1854
- u.computed.ready ? (f(), E(be, {
1945
+ u.computed.ready ? (f(), F(xe, {
1855
1946
  key: 2,
1856
1947
  position: "footer"
1857
1948
  }, {
1858
- default: T(() => [
1859
- v(ta, { "spark-table": u }, null, 8, ["spark-table"]),
1860
- d("div", Ha, [
1861
- v(na, {
1949
+ default: L(() => [
1950
+ v(na, { "spark-table": u }, null, 8, ["spark-table"]),
1951
+ d("div", Ea, [
1952
+ v(ua, {
1862
1953
  "spark-table": u,
1863
1954
  onPaginate: u.methods.applyParams
1864
1955
  }, null, 8, ["spark-table", "onPaginate"]),
1865
- v(ca, {
1956
+ v(ma, {
1866
1957
  "spark-table": u,
1867
1958
  onPaginate: u.methods.applyParams
1868
1959
  }, null, 8, ["spark-table", "onPaginate"]),
1869
1960
  M(m.$slots, "footer", {
1870
1961
  sparkTable: u,
1871
1962
  loading: i.value,
1872
- error: n.value
1963
+ error: r.value
1873
1964
  })
1874
1965
  ])
1875
1966
  ]),
1876
1967
  _: 3
1877
- })) : C("", !0)
1968
+ })) : $("", !0)
1878
1969
  ]));
1879
1970
  }
1880
1971
  };
1881
- function xe() {
1882
- const e = D({
1972
+ function we() {
1973
+ const e = Z({
1883
1974
  isVisible: !1,
1884
1975
  content: null,
1885
1976
  props: {},
@@ -1890,8 +1981,8 @@ function xe() {
1890
1981
  e.isVisible = !1, e.content = null, e.props = {}, e.eventHandlers = {};
1891
1982
  }, a = () => {
1892
1983
  e.isVisible = !0;
1893
- }, l = (o, i = {}, n = {}) => {
1894
- e.content = _e(o), e.props = i, e.eventHandlers = n;
1984
+ }, l = (o, i = {}, r = {}) => {
1985
+ e.content = Ce(o), e.props = i, e.eventHandlers = r;
1895
1986
  };
1896
1987
  return {
1897
1988
  state: e,
@@ -1899,14 +1990,14 @@ function xe() {
1899
1990
  close: t,
1900
1991
  open: a,
1901
1992
  setContent: l,
1902
- show: (o, i = {}, n = {}) => {
1903
- o && l(o, i, n), a();
1993
+ show: (o, i = {}, r = {}) => {
1994
+ o && l(o, i, r), a();
1904
1995
  }
1905
1996
  };
1906
1997
  }
1907
- class Va {
1998
+ class Fa {
1908
1999
  constructor() {
1909
- this.left = xe(), this.right = xe();
2000
+ this.left = we(), this.right = we();
1910
2001
  }
1911
2002
  showLeft = (s, t = {}, a = {}) => {
1912
2003
  const l = {
@@ -1936,22 +2027,22 @@ class Va {
1936
2027
  this.left.close(), this.right.close();
1937
2028
  };
1938
2029
  }
1939
- const Y = new Va(), Ra = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Ba = { class: "flex flex-1 flex-col" }, Ma = {
2030
+ const X = new Fa(), Aa = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, ja = { class: "flex flex-1 flex-col" }, Oa = {
1940
2031
  class: "flex flex-1 flex-col gap-y-7",
1941
2032
  role: "list"
1942
- }, Ea = { class: "flex flex-1 flex-col" }, Fa = {
2033
+ }, za = { class: "flex flex-1 flex-col" }, Ia = {
1943
2034
  role: "list",
1944
2035
  class: "flex flex-1 flex-col"
1945
- }, Aa = { class: "flex items-center pb-8" }, ja = ["href", "onClick"], Oa = {
2036
+ }, Na = { class: "flex items-center pb-8" }, Da = ["href", "onClick"], qa = {
1946
2037
  key: 2,
1947
2038
  class: "w-full flex justify-center"
1948
- }, za = {
2039
+ }, Za = {
1949
2040
  key: 0,
1950
2041
  class: "mt-[5px] flex flex-col gap-[5px]"
1951
- }, Ia = ["href", "onClick"], Na = {
2042
+ }, Ka = ["href", "onClick"], Ua = {
1952
2043
  key: 1,
1953
2044
  class: "text-[13px]"
1954
- }, Da = { class: "mt-auto" }, qa = { class: "p-[10px] flex-shrink-0" }, Za = { class: "flex flex-1 items-center gap-x-6" }, Ka = { class: "relative flex flex-1 items-center gap-4" }, Ua = { class: "cursor-pointer" }, Ga = ["src"], Wa = { class: "ml-auto" }, Ya = { class: "mr-[10px] pb-[10px] flex-1 flex flex-col" }, Rr = {
2045
+ }, Ga = { class: "mt-auto" }, Wa = { class: "p-[10px] flex-shrink-0" }, Ya = { class: "flex flex-1 items-center gap-x-6" }, Xa = { class: "relative flex flex-1 items-center gap-4" }, Ja = { class: "cursor-pointer" }, Qa = ["src"], eo = { class: "ml-auto" }, to = { class: "mr-[10px] pb-[10px] flex-1 flex flex-col" }, Fr = {
1955
2046
  __name: "SparkDefaultContainer",
1956
2047
  props: {
1957
2048
  appStore: {
@@ -1969,113 +2060,113 @@ const Y = new Va(), Ra = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Ba =
1969
2060
  },
1970
2061
  emits: ["overlayClose"],
1971
2062
  setup(e, { emit: s }) {
1972
- const t = e, a = s, l = Se(), r = Q(), o = Re(), i = Pe(), n = S(() => i.getAppIcon(t.appStore.state.app)), c = S(() => r.meta.hideBrandSelector === !0 ? !1 : t.appStore.state.showBrandSelector), p = () => {
1973
- const k = {};
1974
- l["app-selector-bottom"] ? k.bottomSlot = () => fe("div", {}, l["app-selector-bottom"]()) : t.appSelectorSlots.bottomSlot && (k.bottomSlot = t.appSelectorSlots.bottomSlot), l["app-selector-footer"] ? k.footerSlot = () => fe("div", {}, l["app-selector-footer"]()) : t.appSelectorSlots.footerSlot && (k.footerSlot = t.appSelectorSlots.footerSlot), Y.showRight(os, k, {
2063
+ const t = e, a = s, l = $e(), n = te(), o = Ee(), i = Re(), r = C(() => i.getAppIcon(t.appStore.state.app)), c = C(() => n.meta.hideBrandSelector === !0 ? !1 : t.appStore.state.showBrandSelector), p = () => {
2064
+ const w = {};
2065
+ l["app-selector-bottom"] ? w.bottomSlot = () => me("div", {}, l["app-selector-bottom"]()) : t.appSelectorSlots.bottomSlot && (w.bottomSlot = t.appSelectorSlots.bottomSlot), l["app-selector-footer"] ? w.footerSlot = () => me("div", {}, l["app-selector-footer"]()) : t.appSelectorSlots.footerSlot && (w.footerSlot = t.appSelectorSlots.footerSlot), X.showRight(ns, w, {
1975
2066
  select: (m) => {
1976
- Y.closeRight();
2067
+ X.closeRight();
1977
2068
  }
1978
2069
  });
1979
2070
  }, u = () => {
1980
- Y.showLeft(
1981
- xs,
2071
+ X.showLeft(
2072
+ ws,
1982
2073
  {},
1983
2074
  {
1984
- select: (k) => {
1985
- o.toggleBrand(k), Y.closeLeft();
2075
+ select: (w) => {
2076
+ o.toggleBrand(w), X.closeLeft();
1986
2077
  }
1987
2078
  }
1988
2079
  );
1989
- }, y = S(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]), _ = S(() => t.mainNavStore.state.hidden ? ["pl-2.5"] : [t.mainNavStore.state.collapsed ? "pl-[80px]" : "pl-[240px]"]);
1990
- return (k, m) => {
1991
- const x = R("font-awesome-icon"), H = R("router-view");
1992
- return f(), g(j, null, [
2080
+ }, h = C(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]), _ = C(() => t.mainNavStore.state.hidden ? ["pl-2.5"] : [t.mainNavStore.state.collapsed ? "pl-[80px]" : "pl-[240px]"]);
2081
+ return (w, m) => {
2082
+ const x = B("font-awesome-icon"), P = B("router-view");
2083
+ return f(), g(z, null, [
1993
2084
  d("div", {
1994
- class: $([y.value, "fixed inset-y-0 flex transition-all z-100"])
2085
+ class: T([h.value, "fixed inset-y-0 flex transition-all z-100"])
1995
2086
  }, [
1996
- d("div", Ra, [
1997
- d("nav", Ba, [
1998
- d("ul", Ma, [
1999
- d("li", Ea, [
2000
- d("ul", Fa, [
2001
- d("li", Aa, [
2087
+ d("div", Aa, [
2088
+ d("nav", ja, [
2089
+ d("ul", Oa, [
2090
+ d("li", za, [
2091
+ d("ul", Ia, [
2092
+ d("li", Na, [
2002
2093
  d("a", {
2003
2094
  class: "grid w-[40px] h-[40px] place-items-center rounded-md bg-primary-600 text-white text-[13px] cursor-pointer",
2004
- onClick: m[0] || (m[0] = K((h) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"]))
2095
+ onClick: m[0] || (m[0] = G((k) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"]))
2005
2096
  }, [
2006
2097
  v(x, {
2007
- icon: b(B)[n.value],
2098
+ icon: y(E)[r.value],
2008
2099
  class: "size-5"
2009
2100
  }, null, 8, ["icon"])
2010
2101
  ]),
2011
- e.mainNavStore.state.collapsed ? C("", !0) : (f(), g("a", {
2102
+ e.mainNavStore.state.collapsed ? $("", !0) : (f(), g("a", {
2012
2103
  key: 0,
2013
- onClick: m[1] || (m[1] = K((h) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"])),
2104
+ onClick: m[1] || (m[1] = G((k) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"])),
2014
2105
  class: "font-medium text-gray-800 ml-[10px] cursor-pointer"
2015
- }, L(e.appStore.state.app), 1))
2106
+ }, H(e.appStore.state.app), 1))
2016
2107
  ]),
2017
- (f(!0), g(j, null, N(e.mainNavStore.state.menu, (h) => (f(), g("li", {
2018
- key: h.name,
2019
- class: $({
2020
- "mt-[10px]": h.children,
2021
- "mt-auto": h.footerSection
2108
+ (f(!0), g(z, null, q(e.mainNavStore.state.menu, (k) => (f(), g("li", {
2109
+ key: k.name,
2110
+ class: T({
2111
+ "mt-[10px]": k.children,
2112
+ "mt-auto": k.footerSection
2022
2113
  })
2023
2114
  }, [
2024
2115
  d("a", {
2025
- class: $([{
2026
- "bg-gray-100": h.current,
2027
- "hover:bg-gray-100": h?.href
2116
+ class: T([{
2117
+ "bg-gray-100": k.current,
2118
+ "hover:bg-gray-100": k?.href
2028
2119
  }, "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"]),
2029
- href: h?.href,
2030
- onClick: K((w) => e.mainNavStore.goto(h.href), ["prevent"])
2120
+ href: k?.href,
2121
+ onClick: G((b) => e.mainNavStore.goto(k.href), ["prevent"])
2031
2122
  }, [
2032
- h.icon ? (f(), E(x, {
2123
+ k.icon ? (f(), F(x, {
2033
2124
  key: 0,
2034
- icon: b(B)[h.icon],
2035
- class: $([[(h.current, "text-gray-400")], "size-4"])
2036
- }, null, 8, ["icon", "class"])) : C("", !0),
2037
- e.mainNavStore.state.collapsed ? h?.children ? (f(), g("div", Oa, [...m[6] || (m[6] = [
2125
+ icon: y(E)[k.icon],
2126
+ class: T([[(k.current, "text-gray-400")], "size-4"])
2127
+ }, null, 8, ["icon", "class"])) : $("", !0),
2128
+ e.mainNavStore.state.collapsed ? k?.children ? (f(), g("div", qa, [...m[6] || (m[6] = [
2038
2129
  d("div", { class: "w-[10px] h-px bg-gray-400" }, null, -1)
2039
- ])])) : C("", !0) : (f(), g("span", {
2130
+ ])])) : $("", !0) : (f(), g("span", {
2040
2131
  key: 1,
2041
- class: $({
2042
- "text-[11px]": h?.children,
2043
- "text-[13px]": !h?.children,
2044
- "font-semibold": h?.children,
2045
- "text-gray-500": h?.children
2132
+ class: T({
2133
+ "text-[11px]": k?.children,
2134
+ "text-[13px]": !k?.children,
2135
+ "font-semibold": k?.children,
2136
+ "text-gray-500": k?.children
2046
2137
  })
2047
- }, L(h.name), 3))
2048
- ], 10, ja),
2049
- h.children ? (f(), g("ul", za, [
2050
- (f(!0), g(j, null, N(h.children, (w) => (f(), g("li", {
2051
- key: w.name
2138
+ }, H(k.name), 3))
2139
+ ], 10, Da),
2140
+ k.children ? (f(), g("ul", Za, [
2141
+ (f(!0), g(z, null, q(k.children, (b) => (f(), g("li", {
2142
+ key: b.name
2052
2143
  }, [
2053
2144
  d("a", {
2054
- class: $([[w.current ? "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"]),
2055
- href: w.href,
2056
- onClick: K((P) => e.mainNavStore.goto(w.href), ["prevent"])
2145
+ class: T([[b.current ? "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"]),
2146
+ href: b.href,
2147
+ onClick: G((S) => e.mainNavStore.goto(b.href), ["prevent"])
2057
2148
  }, [
2058
- w.icon ? (f(), E(x, {
2149
+ b.icon ? (f(), F(x, {
2059
2150
  key: 0,
2060
- icon: b(B)[w.icon],
2061
- class: $([[(w.current, "text-gray-400")], "size-4"])
2062
- }, null, 8, ["icon", "class"])) : C("", !0),
2063
- e.mainNavStore.state.collapsed ? C("", !0) : (f(), g("span", Na, L(w.name), 1))
2064
- ], 10, Ia)
2151
+ icon: y(E)[b.icon],
2152
+ class: T([[(b.current, "text-gray-400")], "size-4"])
2153
+ }, null, 8, ["icon", "class"])) : $("", !0),
2154
+ e.mainNavStore.state.collapsed ? $("", !0) : (f(), g("span", Ua, H(b.name), 1))
2155
+ ], 10, Ka)
2065
2156
  ]))), 128))
2066
- ])) : C("", !0)
2157
+ ])) : $("", !0)
2067
2158
  ], 2))), 128))
2068
2159
  ])
2069
2160
  ]),
2070
- d("li", Da, [
2071
- M(k.$slots, "sidebar-footer"),
2161
+ d("li", Ga, [
2162
+ M(w.$slots, "sidebar-footer"),
2072
2163
  d("a", {
2073
2164
  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",
2074
2165
  href: "#",
2075
- onClick: m[2] || (m[2] = K((h) => e.mainNavStore.toggleCollapsed(), ["prevent"]))
2166
+ onClick: m[2] || (m[2] = G((k) => e.mainNavStore.toggleCollapsed(), ["prevent"]))
2076
2167
  }, [
2077
2168
  v(x, {
2078
- icon: b(B)[e.mainNavStore.state.collapsed ? "farArrowRightToLine" : "farArrowLeftToLine"],
2169
+ icon: y(E)[e.mainNavStore.state.collapsed ? "farArrowRightToLine" : "farArrowLeftToLine"],
2079
2170
  class: "class-5"
2080
2171
  }, null, 8, ["icon"])
2081
2172
  ])
@@ -2085,36 +2176,36 @@ const Y = new Va(), Ra = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Ba =
2085
2176
  ])
2086
2177
  ], 2),
2087
2178
  d("div", {
2088
- class: $([_.value, "h-full transition-all flex flex-col"])
2179
+ class: T([_.value, "h-full transition-all flex flex-col"])
2089
2180
  }, [
2090
- d("div", qa, [
2091
- d("div", Za, [
2092
- d("div", Ka, [
2093
- M(k.$slots, "header-left", {}, () => [
2094
- d("div", Ua, [
2181
+ d("div", Wa, [
2182
+ d("div", Ya, [
2183
+ d("div", Xa, [
2184
+ M(w.$slots, "header-left", {}, () => [
2185
+ d("div", Ja, [
2095
2186
  v(x, {
2096
- icon: b(B).farBarsSort,
2187
+ icon: y(E).farBarsSort,
2097
2188
  class: "size-5",
2098
- onClick: m[3] || (m[3] = (h) => e.mainNavStore.toggleHidden())
2189
+ onClick: m[3] || (m[3] = (k) => e.mainNavStore.toggleHidden())
2099
2190
  }, null, 8, ["icon"])
2100
2191
  ])
2101
2192
  ]),
2102
- M(k.$slots, "header-center", {}, () => [
2193
+ M(w.$slots, "header-center", {}, () => [
2103
2194
  c.value ? (f(), g("div", {
2104
2195
  key: 0,
2105
2196
  class: "absolute left-1/2 -translate-x-1/2 cursor-pointer h-9 flex items-center",
2106
2197
  onClick: u
2107
2198
  }, [
2108
- b(o).currentBrand ? (f(), g("img", {
2199
+ y(o).currentBrand ? (f(), g("img", {
2109
2200
  key: 0,
2110
- src: b(o).currentBrand.logo,
2201
+ src: y(o).currentBrand.logo,
2111
2202
  alt: "",
2112
2203
  class: "h-[30px] w-auto"
2113
- }, null, 8, Ga)) : C("", !0)
2114
- ])) : C("", !0)
2204
+ }, null, 8, Qa)) : $("", !0)
2205
+ ])) : $("", !0)
2115
2206
  ]),
2116
- d("div", Wa, [
2117
- M(k.$slots, "header-right", {}, () => [
2207
+ d("div", eo, [
2208
+ M(w.$slots, "header-right", {}, () => [
2118
2209
  e.appStore.state.showAppSelector ? (f(), g("button", {
2119
2210
  key: 0,
2120
2211
  class: "rounded-sm bg-white w-[42px] h-[42px] ring-1 ring-inset ring-gray-300",
@@ -2122,71 +2213,71 @@ const Y = new Va(), Ra = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Ba =
2122
2213
  onClick: p
2123
2214
  }, [
2124
2215
  v(x, {
2125
- icon: b(B).farGripDotsVertical,
2216
+ icon: y(E).farGripDotsVertical,
2126
2217
  class: "size-4 text-gray-400"
2127
2218
  }, null, 8, ["icon"])
2128
- ])) : C("", !0)
2219
+ ])) : $("", !0)
2129
2220
  ])
2130
2221
  ])
2131
2222
  ])
2132
2223
  ])
2133
2224
  ]),
2134
- d("main", Ya, [
2135
- v(H)
2225
+ d("main", to, [
2226
+ v(P)
2136
2227
  ])
2137
2228
  ], 2),
2138
- v(b(ge), {
2229
+ v(y(he), {
2139
2230
  position: "left",
2140
- "overlay-instance": b(Y).left,
2141
- onClose: m[4] || (m[4] = (h) => a("overlayClose", "left"))
2231
+ "overlay-instance": y(X).left,
2232
+ onClose: m[4] || (m[4] = (k) => a("overlayClose", "left"))
2142
2233
  }, null, 8, ["overlay-instance"]),
2143
- v(b(ge), {
2234
+ v(y(he), {
2144
2235
  position: "right",
2145
- "overlay-instance": b(Y).right,
2146
- onClose: m[5] || (m[5] = (h) => a("overlayClose", "right"))
2236
+ "overlay-instance": y(X).right,
2237
+ onClose: m[5] || (m[5] = (k) => a("overlayClose", "right"))
2147
2238
  }, null, 8, ["overlay-instance"]),
2148
- v(b(Hs))
2239
+ v(y(Es))
2149
2240
  ], 64);
2150
2241
  };
2151
2242
  }
2152
- }, Xa = {}, Ja = { class: "h-full" };
2153
- function Qa(e, s) {
2154
- const t = R("router-view");
2155
- return f(), g("main", Ja, [
2243
+ }, so = {}, ao = { class: "h-full" };
2244
+ function oo(e, s) {
2245
+ const t = B("router-view");
2246
+ return f(), g("main", ao, [
2156
2247
  v(t)
2157
2248
  ]);
2158
2249
  }
2159
- const Br = /* @__PURE__ */ U(Xa, [["render", Qa]]), eo = (e) => {
2250
+ const Ar = /* @__PURE__ */ W(so, [["render", oo]]), ro = (e) => {
2160
2251
  const s = document.cookie.match(new RegExp(`(^| )${e}=([^;]+)`));
2161
2252
  return s ? s[2] : null;
2162
- }, to = (e, s, t = {}) => {
2253
+ }, no = (e, s, t = {}) => {
2163
2254
  const {
2164
2255
  maxAge: a = 31536e3,
2165
2256
  // 365 days in seconds
2166
- domain: l = Be(),
2167
- secure: r = !0,
2257
+ domain: l = Me(),
2258
+ secure: n = !0,
2168
2259
  sameSite: o = "Lax",
2169
2260
  path: i = "/"
2170
2261
  } = t;
2171
- let n = `${e}=${s}; max-age=${a}; path=${i}; samesite=${o}`;
2172
- l && (n += `; domain=${l}`), r && (n += "; secure"), document.cookie = n;
2173
- }, so = (e, s = {}) => {
2174
- const { domain: t = Be(), path: a = "/" } = s;
2262
+ let r = `${e}=${s}; max-age=${a}; path=${i}; samesite=${o}`;
2263
+ l && (r += `; domain=${l}`), n && (r += "; secure"), document.cookie = r;
2264
+ }, lo = (e, s = {}) => {
2265
+ const { domain: t = Me(), path: a = "/" } = s;
2175
2266
  let l = `${e}=; max-age=0; path=${a}`;
2176
2267
  t && (l += `; domain=${t}`), document.cookie = l;
2177
- }, Be = () => {
2268
+ }, Me = () => {
2178
2269
  const e = window.location.hostname;
2179
2270
  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;
2180
- }, Me = [];
2181
- function ao(e) {
2182
- Me.push(e);
2271
+ }, Fe = [];
2272
+ function io(e) {
2273
+ Fe.push(e);
2183
2274
  }
2184
- function oo() {
2185
- Me.forEach((e) => e());
2275
+ function co() {
2276
+ Fe.forEach((e) => e());
2186
2277
  }
2187
- function Mr(e) {
2278
+ function jr(e) {
2188
2279
  let s = !1;
2189
- return ao(() => {
2280
+ return io(() => {
2190
2281
  s = !1;
2191
2282
  }), {
2192
2283
  bootstrapApp: async () => {
@@ -2199,8 +2290,8 @@ function Mr(e) {
2199
2290
  }
2200
2291
  };
2201
2292
  }
2202
- const ce = "bolt-next-token", O = ae("auth", () => {
2203
- const e = D({
2293
+ const de = "bolt-next-token", I = re("auth", () => {
2294
+ const e = Z({
2204
2295
  user: null,
2205
2296
  token: null,
2206
2297
  ready: !1,
@@ -2235,15 +2326,15 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2235
2326
  }), s = (c = {}) => {
2236
2327
  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);
2237
2328
  }, t = (c) => {
2238
- to(ce, c), e.token = c;
2329
+ no(de, c), e.token = c;
2239
2330
  }, a = () => {
2240
- so(ce), e.token = null;
2241
- }, l = () => eo(ce), r = async (c) => {
2242
- const p = await J.post(e.endpoints.login, c), u = p.headers.authorization;
2331
+ lo(de), e.token = null;
2332
+ }, l = () => ro(de), n = async (c) => {
2333
+ const p = await ee.post(e.endpoints.login, c), u = p.headers.authorization;
2243
2334
  return t(u), e.user = p.data, e.callbacks.onLoginSuccess && await e.callbacks.onLoginSuccess(p.data), p.data;
2244
2335
  }, o = async () => {
2245
2336
  try {
2246
- await J.post(
2337
+ await ee.post(
2247
2338
  e.endpoints.logout,
2248
2339
  {},
2249
2340
  {
@@ -2255,14 +2346,14 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2255
2346
  } catch (c) {
2256
2347
  throw e.callbacks.onLogoutError && await e.callbacks.onLogoutError(c), c;
2257
2348
  } finally {
2258
- a(), e.user = null, oo();
2349
+ a(), e.user = null, co();
2259
2350
  }
2260
2351
  }, i = async () => {
2261
2352
  const c = e.overrideToken || l();
2262
2353
  if (!c)
2263
2354
  return e.ready = !0, null;
2264
2355
  try {
2265
- const { data: p } = await J.get(e.endpoints.fetch, {
2356
+ const { data: p } = await ee.get(e.endpoints.fetch, {
2266
2357
  headers: {
2267
2358
  Authorization: `Bearer ${c}`
2268
2359
  }
@@ -2273,29 +2364,29 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2273
2364
  } finally {
2274
2365
  e.ready = !0;
2275
2366
  }
2276
- }, n = S(() => e.overrideToken ? !0 : !!e.token && !!e.user);
2367
+ }, r = C(() => e.overrideToken ? !0 : !!e.token && !!e.user);
2277
2368
  return {
2278
2369
  state: e,
2279
2370
  initialize: s,
2280
- login: r,
2371
+ login: n,
2281
2372
  logout: o,
2282
2373
  fetchUser: i,
2283
- check: n,
2374
+ check: r,
2284
2375
  setTokenCookie: t,
2285
2376
  clearTokenCookie: a,
2286
2377
  getTokenCookie: l
2287
2378
  };
2288
- }), ro = { class: "h-full grid place-content-center relative" }, no = { class: "absolute top-8 left-8" }, lo = ["src"], io = {
2379
+ }), uo = { class: "h-full grid place-content-center relative" }, po = { class: "absolute top-8 left-8" }, fo = ["src"], mo = {
2289
2380
  key: 1,
2290
2381
  width: "59",
2291
2382
  height: "23",
2292
2383
  viewBox: "0 0 59 23",
2293
2384
  fill: "none",
2294
2385
  xmlns: "http://www.w3.org/2000/svg"
2295
- }, co = { class: "max-w-sm grid gap-y-1 -mt-8" }, uo = { class: "mb-7" }, po = { class: "text-gray-600" }, fo = { class: "grid grid-flow-col justify-between mt-1 mb-4" }, mo = {
2386
+ }, go = { class: "max-w-sm grid gap-y-1 -mt-8" }, ho = { class: "mb-7" }, yo = { class: "text-gray-600" }, bo = { class: "grid grid-flow-col justify-between mt-1 mb-4" }, vo = {
2296
2387
  key: 0,
2297
2388
  class: "text-red-600 text-sm mb-2"
2298
- }, go = { key: 0 }, ho = { key: 1 }, yo = {
2389
+ }, xo = { key: 0 }, ko = { key: 1 }, wo = {
2299
2390
  __name: "SparkLoginView",
2300
2391
  props: {
2301
2392
  logo: {
@@ -2312,7 +2403,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2312
2403
  }
2313
2404
  },
2314
2405
  setup(e) {
2315
- const s = q(), t = Q(), a = Ve(), l = O(), r = e, o = V(!1), i = V(""), n = async (c) => {
2406
+ const s = K(), t = te(), a = Be(), l = I(), n = e, o = R(!1), i = R(""), r = async (c) => {
2316
2407
  o.value = !0, i.value = "";
2317
2408
  try {
2318
2409
  await l.login(c);
@@ -2324,7 +2415,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2324
2415
  }
2325
2416
  await s.push(p);
2326
2417
  } else
2327
- await s.push(r.defaultRedirect);
2418
+ await s.push(n.defaultRedirect);
2328
2419
  } catch (p) {
2329
2420
  i.value = p.response?.data?.message || p.message || "Login failed. Please try again.";
2330
2421
  } finally {
@@ -2332,15 +2423,15 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2332
2423
  }
2333
2424
  };
2334
2425
  return (c, p) => {
2335
- const u = R("FormKit"), y = R("router-link");
2336
- return f(), g("div", ro, [
2337
- d("div", no, [
2338
- r.logo ? (f(), g("img", {
2426
+ const u = B("FormKit"), h = B("router-link");
2427
+ return f(), g("div", uo, [
2428
+ d("div", po, [
2429
+ n.logo ? (f(), g("img", {
2339
2430
  key: 0,
2340
- src: r.logo,
2431
+ src: n.logo,
2341
2432
  alt: "Logo",
2342
2433
  class: "h-[23px] w-auto"
2343
- }, null, 8, lo)) : (f(), g("svg", io, [...p[0] || (p[0] = [
2434
+ }, null, 8, fo)) : (f(), g("svg", mo, [...p[0] || (p[0] = [
2344
2435
  d("path", {
2345
2436
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2346
2437
  fill: "#1C64F2"
@@ -2359,17 +2450,17 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2359
2450
  }, null, -1)
2360
2451
  ])]))
2361
2452
  ]),
2362
- d("div", co, [
2363
- d("div", uo, [
2453
+ d("div", go, [
2454
+ d("div", ho, [
2364
2455
  p[1] || (p[1] = d("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Log in", -1)),
2365
- d("p", po, " Welcome back" + L(b(a).state.app ? ` to ${b(a).state.app}` : "") + "! Please enter your details. ", 1)
2456
+ d("p", yo, " Welcome back" + H(y(a).state.app ? ` to ${y(a).state.app}` : "") + "! Please enter your details. ", 1)
2366
2457
  ]),
2367
2458
  v(u, {
2368
2459
  type: "form",
2369
- onSubmit: n,
2460
+ onSubmit: r,
2370
2461
  actions: !1
2371
2462
  }, {
2372
- default: T(() => [
2463
+ default: L(() => [
2373
2464
  v(u, {
2374
2465
  label: "Email",
2375
2466
  name: "email",
@@ -2377,7 +2468,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2377
2468
  type: "email",
2378
2469
  validation: "required|email",
2379
2470
  "outer-class": "max-w-full",
2380
- value: b(l).state.devCredentials.username
2471
+ value: y(l).state.devCredentials.username
2381
2472
  }, null, 8, ["value"]),
2382
2473
  v(u, {
2383
2474
  label: "Password",
@@ -2386,29 +2477,29 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2386
2477
  type: "password",
2387
2478
  validation: "required",
2388
2479
  "outer-class": "max-w-full",
2389
- value: b(l).state.devCredentials.password
2480
+ value: y(l).state.devCredentials.password
2390
2481
  }, null, 8, ["value"]),
2391
- d("div", fo, [
2482
+ d("div", bo, [
2392
2483
  p[3] || (p[3] = d("span", null, null, -1)),
2393
- v(y, {
2394
- to: r.forgotPasswordRoute,
2484
+ v(h, {
2485
+ to: n.forgotPasswordRoute,
2395
2486
  class: "text-sm text-primary-600 font-semibold"
2396
2487
  }, {
2397
- default: T(() => [...p[2] || (p[2] = [
2398
- F(" Forgot password ", -1)
2488
+ default: L(() => [...p[2] || (p[2] = [
2489
+ A(" Forgot password ", -1)
2399
2490
  ])]),
2400
2491
  _: 1
2401
2492
  }, 8, ["to"])
2402
2493
  ]),
2403
- i.value ? (f(), g("div", mo, L(i.value), 1)) : C("", !0),
2404
- v(b(z), {
2494
+ i.value ? (f(), g("div", vo, H(i.value), 1)) : $("", !0),
2495
+ v(y(N), {
2405
2496
  type: "submit",
2406
2497
  size: "xl",
2407
2498
  disabled: o.value,
2408
2499
  "button-class": "w-full mb-2"
2409
2500
  }, {
2410
- default: T(() => [
2411
- o.value ? (f(), g("span", ho, "Signing in...")) : (f(), g("span", go, "Sign in"))
2501
+ default: L(() => [
2502
+ o.value ? (f(), g("span", ko, "Signing in...")) : (f(), g("span", xo, "Sign in"))
2412
2503
  ]),
2413
2504
  _: 1
2414
2505
  }, 8, ["disabled"])
@@ -2419,7 +2510,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2419
2510
  ]);
2420
2511
  };
2421
2512
  }
2422
- }, bo = {
2513
+ }, _o = {
2423
2514
  __name: "SparkLogoutView",
2424
2515
  props: {
2425
2516
  defaultRedirect: {
@@ -2428,27 +2519,27 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2428
2519
  }
2429
2520
  },
2430
2521
  setup(e) {
2431
- const s = q(), t = Q(), a = O(), l = e;
2432
- return ue(async () => {
2522
+ const s = K(), t = te(), a = I(), l = e;
2523
+ return pe(async () => {
2433
2524
  await a.logout();
2434
- const r = t.query.redirect;
2435
- r && r.startsWith("http") ? window.location.href = r : await s.push(r || l.defaultRedirect);
2436
- }), (r, o) => null;
2525
+ const n = t.query.redirect;
2526
+ n && n.startsWith("http") ? window.location.href = n : await s.push(n || l.defaultRedirect);
2527
+ }), (n, o) => null;
2437
2528
  }
2438
- }, vo = { class: "h-full grid place-content-center relative" }, xo = { class: "absolute top-8 left-8" }, ko = ["src"], _o = {
2529
+ }, Co = { class: "h-full grid place-content-center relative" }, So = { class: "absolute top-8 left-8" }, $o = ["src"], To = {
2439
2530
  key: 1,
2440
2531
  width: "59",
2441
2532
  height: "23",
2442
2533
  viewBox: "0 0 59 23",
2443
2534
  fill: "none",
2444
2535
  xmlns: "http://www.w3.org/2000/svg"
2445
- }, wo = { class: "max-w-sm grid gap-y-1 -mt-8" }, So = {
2536
+ }, Lo = { class: "max-w-sm grid gap-y-1 -mt-8" }, Ho = {
2446
2537
  key: 0,
2447
2538
  class: "text-red-600 text-sm mb-2"
2448
- }, Co = {
2539
+ }, Po = {
2449
2540
  key: 1,
2450
2541
  class: "text-green-600 text-sm mb-2"
2451
- }, $o = { key: 0 }, To = { key: 1 }, Lo = {
2542
+ }, Vo = { key: 0 }, Ro = { key: 1 }, Bo = {
2452
2543
  __name: "SparkForgotPasswordView",
2453
2544
  props: {
2454
2545
  logo: {
@@ -2461,26 +2552,26 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2461
2552
  }
2462
2553
  },
2463
2554
  setup(e) {
2464
- const s = O(), t = e, a = V(!1), l = V(""), r = V(""), o = async ({ email: i }) => {
2465
- a.value = !0, l.value = "", r.value = "";
2555
+ const s = I(), t = e, a = R(!1), l = R(""), n = R(""), o = async ({ email: i }) => {
2556
+ a.value = !0, l.value = "", n.value = "";
2466
2557
  try {
2467
- await J.post(s.state.endpoints.passwordEmail, { email: i }), r.value = "Password reset link sent! Check your email.";
2468
- } catch (n) {
2469
- l.value = n.response?.data?.message || "Failed to send reset link.";
2558
+ await ee.post(s.state.endpoints.passwordEmail, { email: i }), n.value = "Password reset link sent! Check your email.";
2559
+ } catch (r) {
2560
+ l.value = r.response?.data?.message || "Failed to send reset link.";
2470
2561
  } finally {
2471
2562
  a.value = !1;
2472
2563
  }
2473
2564
  };
2474
- return (i, n) => {
2475
- const c = R("FormKit"), p = R("router-link");
2476
- return f(), g("div", vo, [
2477
- d("div", xo, [
2565
+ return (i, r) => {
2566
+ const c = B("FormKit"), p = B("router-link");
2567
+ return f(), g("div", Co, [
2568
+ d("div", So, [
2478
2569
  t.logo ? (f(), g("img", {
2479
2570
  key: 0,
2480
2571
  src: t.logo,
2481
2572
  alt: "Logo",
2482
2573
  class: "h-[23px] w-auto"
2483
- }, null, 8, ko)) : (f(), g("svg", _o, [...n[0] || (n[0] = [
2574
+ }, null, 8, $o)) : (f(), g("svg", To, [...r[0] || (r[0] = [
2484
2575
  d("path", {
2485
2576
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2486
2577
  fill: "#1C64F2"
@@ -2499,8 +2590,8 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2499
2590
  }, null, -1)
2500
2591
  ])]))
2501
2592
  ]),
2502
- d("div", wo, [
2503
- n[2] || (n[2] = d("div", { class: "mb-7" }, [
2593
+ d("div", Lo, [
2594
+ r[2] || (r[2] = d("div", { class: "mb-7" }, [
2504
2595
  d("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Reset password"),
2505
2596
  d("p", { class: "text-gray-600" }, " Enter your email and we'll send you a link to reset your password. ")
2506
2597
  ], -1)),
@@ -2509,7 +2600,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2509
2600
  onSubmit: o,
2510
2601
  actions: !1
2511
2602
  }, {
2512
- default: T(() => [
2603
+ default: L(() => [
2513
2604
  v(c, {
2514
2605
  label: "Email",
2515
2606
  name: "email",
@@ -2518,16 +2609,16 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2518
2609
  validation: "required|email",
2519
2610
  "outer-class": "max-w-full"
2520
2611
  }),
2521
- l.value ? (f(), g("div", So, L(l.value), 1)) : C("", !0),
2522
- r.value ? (f(), g("div", Co, L(r.value), 1)) : C("", !0),
2523
- v(b(z), {
2612
+ l.value ? (f(), g("div", Ho, H(l.value), 1)) : $("", !0),
2613
+ n.value ? (f(), g("div", Po, H(n.value), 1)) : $("", !0),
2614
+ v(y(N), {
2524
2615
  type: "submit",
2525
2616
  size: "xl",
2526
2617
  disabled: a.value,
2527
2618
  "button-class": "w-full mb-2"
2528
2619
  }, {
2529
- default: T(() => [
2530
- a.value ? (f(), g("span", To, "Sending...")) : (f(), g("span", $o, "Send reset link"))
2620
+ default: L(() => [
2621
+ a.value ? (f(), g("span", Ro, "Sending...")) : (f(), g("span", Vo, "Send reset link"))
2531
2622
  ]),
2532
2623
  _: 1
2533
2624
  }, 8, ["disabled"]),
@@ -2535,8 +2626,8 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2535
2626
  to: t.loginRoute,
2536
2627
  class: "text-sm text-center text-primary-600 font-semibold block"
2537
2628
  }, {
2538
- default: T(() => [...n[1] || (n[1] = [
2539
- F(" Back to login ", -1)
2629
+ default: L(() => [...r[1] || (r[1] = [
2630
+ A(" Back to login ", -1)
2540
2631
  ])]),
2541
2632
  _: 1
2542
2633
  }, 8, ["to"])
@@ -2547,17 +2638,17 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2547
2638
  ]);
2548
2639
  };
2549
2640
  }
2550
- }, Ho = { class: "h-full grid place-content-center relative" }, Po = { class: "absolute top-8 left-8" }, Vo = ["src"], Ro = {
2641
+ }, Eo = { class: "h-full grid place-content-center relative" }, Mo = { class: "absolute top-8 left-8" }, Fo = ["src"], Ao = {
2551
2642
  key: 1,
2552
2643
  width: "59",
2553
2644
  height: "23",
2554
2645
  viewBox: "0 0 59 23",
2555
2646
  fill: "none",
2556
2647
  xmlns: "http://www.w3.org/2000/svg"
2557
- }, Bo = { class: "max-w-sm grid gap-y-1 -mt-8" }, Mo = {
2648
+ }, jo = { class: "max-w-sm grid gap-y-1 -mt-8" }, Oo = {
2558
2649
  key: 0,
2559
2650
  class: "text-red-600 text-sm mb-2"
2560
- }, Eo = { key: 0 }, Fo = { key: 1 }, Ao = {
2651
+ }, zo = { key: 0 }, Io = { key: 1 }, No = {
2561
2652
  __name: "SparkResetPasswordView",
2562
2653
  props: {
2563
2654
  logo: {
@@ -2570,31 +2661,31 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2570
2661
  }
2571
2662
  },
2572
2663
  setup(e) {
2573
- const s = q(), t = Q(), a = O(), l = e, r = V(!1), o = V(""), i = async ({ password: n, password_confirmation: c }) => {
2574
- r.value = !0, o.value = "";
2664
+ const s = K(), t = te(), a = I(), l = e, n = R(!1), o = R(""), i = async ({ password: r, password_confirmation: c }) => {
2665
+ n.value = !0, o.value = "";
2575
2666
  try {
2576
- await J.post(a.state.endpoints.passwordReset, {
2667
+ await ee.post(a.state.endpoints.passwordReset, {
2577
2668
  email: t.query.email,
2578
2669
  token: t.query.token,
2579
- password: n,
2670
+ password: r,
2580
2671
  password_confirmation: c
2581
2672
  }), await s.push(l.loginRoute);
2582
2673
  } catch (p) {
2583
2674
  o.value = p.response?.data?.message || "Failed to reset password.";
2584
2675
  } finally {
2585
- r.value = !1;
2676
+ n.value = !1;
2586
2677
  }
2587
2678
  };
2588
- return (n, c) => {
2589
- const p = R("FormKit");
2590
- return f(), g("div", Ho, [
2591
- d("div", Po, [
2679
+ return (r, c) => {
2680
+ const p = B("FormKit");
2681
+ return f(), g("div", Eo, [
2682
+ d("div", Mo, [
2592
2683
  l.logo ? (f(), g("img", {
2593
2684
  key: 0,
2594
2685
  src: l.logo,
2595
2686
  alt: "Logo",
2596
2687
  class: "h-[23px] w-auto"
2597
- }, null, 8, Vo)) : (f(), g("svg", Ro, [...c[0] || (c[0] = [
2688
+ }, null, 8, Fo)) : (f(), g("svg", Ao, [...c[0] || (c[0] = [
2598
2689
  d("path", {
2599
2690
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2600
2691
  fill: "#1C64F2"
@@ -2613,7 +2704,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2613
2704
  }, null, -1)
2614
2705
  ])]))
2615
2706
  ]),
2616
- d("div", Bo, [
2707
+ d("div", jo, [
2617
2708
  c[1] || (c[1] = d("div", { class: "mb-7" }, [
2618
2709
  d("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Set new password"),
2619
2710
  d("p", { class: "text-gray-600" }, " Enter your new password below. ")
@@ -2623,7 +2714,7 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2623
2714
  onSubmit: i,
2624
2715
  actions: !1
2625
2716
  }, {
2626
- default: T(() => [
2717
+ default: L(() => [
2627
2718
  v(p, {
2628
2719
  label: "New Password",
2629
2720
  name: "password",
@@ -2640,15 +2731,15 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2640
2731
  validation: "required|confirm:password",
2641
2732
  "outer-class": "max-w-full"
2642
2733
  }),
2643
- o.value ? (f(), g("div", Mo, L(o.value), 1)) : C("", !0),
2644
- v(b(z), {
2734
+ o.value ? (f(), g("div", Oo, H(o.value), 1)) : $("", !0),
2735
+ v(y(N), {
2645
2736
  type: "submit",
2646
2737
  size: "xl",
2647
- disabled: r.value,
2738
+ disabled: n.value,
2648
2739
  "button-class": "w-full mb-2"
2649
2740
  }, {
2650
- default: T(() => [
2651
- r.value ? (f(), g("span", Fo, "Resetting...")) : (f(), g("span", Eo, "Reset password"))
2741
+ default: L(() => [
2742
+ n.value ? (f(), g("span", Io, "Resetting...")) : (f(), g("span", zo, "Reset password"))
2652
2743
  ]),
2653
2744
  _: 1
2654
2745
  }, 8, ["disabled"])
@@ -2659,14 +2750,14 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2659
2750
  ]);
2660
2751
  };
2661
2752
  }
2662
- }, jo = { class: "h-full grid place-content-center relative" }, Oo = { class: "absolute top-8 left-8" }, zo = ["src"], Io = {
2753
+ }, Do = { class: "h-full grid place-content-center relative" }, qo = { class: "absolute top-8 left-8" }, Zo = ["src"], Ko = {
2663
2754
  key: 1,
2664
2755
  width: "59",
2665
2756
  height: "23",
2666
2757
  viewBox: "0 0 59 23",
2667
2758
  fill: "none",
2668
2759
  xmlns: "http://www.w3.org/2000/svg"
2669
- }, No = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, Do = { class: "flex gap-4 justify-center" }, qo = {
2760
+ }, Uo = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, Go = { class: "flex gap-4 justify-center" }, Wo = {
2670
2761
  __name: "SparkError403View",
2671
2762
  props: {
2672
2763
  logo: {
@@ -2679,17 +2770,17 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2679
2770
  }
2680
2771
  },
2681
2772
  setup(e) {
2682
- const s = q(), t = e, a = () => {
2773
+ const s = K(), t = e, a = () => {
2683
2774
  s.push(t.homeRoute);
2684
2775
  };
2685
- return (l, r) => (f(), g("div", jo, [
2686
- d("div", Oo, [
2776
+ return (l, n) => (f(), g("div", Do, [
2777
+ d("div", qo, [
2687
2778
  t.logo ? (f(), g("img", {
2688
2779
  key: 0,
2689
2780
  src: t.logo,
2690
2781
  alt: "Logo",
2691
2782
  class: "h-[23px] w-auto"
2692
- }, null, 8, zo)) : (f(), g("svg", Io, [...r[0] || (r[0] = [
2783
+ }, null, 8, Zo)) : (f(), g("svg", Ko, [...n[0] || (n[0] = [
2693
2784
  d("path", {
2694
2785
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2695
2786
  fill: "#1C64F2"
@@ -2708,23 +2799,23 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2708
2799
  }, null, -1)
2709
2800
  ])]))
2710
2801
  ]),
2711
- d("div", No, [
2712
- r[2] || (r[2] = d("div", null, [
2802
+ d("div", Uo, [
2803
+ n[2] || (n[2] = d("div", null, [
2713
2804
  d("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "403"),
2714
2805
  d("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Access Forbidden "),
2715
2806
  d("p", { class: "text-gray-600" }, [
2716
- F(" You don't have permission to access this resource."),
2807
+ A(" You don't have permission to access this resource."),
2717
2808
  d("br"),
2718
- F(" If you believe this is an error, please contact your administrator. ")
2809
+ A(" If you believe this is an error, please contact your administrator. ")
2719
2810
  ])
2720
2811
  ], -1)),
2721
- d("div", Do, [
2722
- v(b(z), {
2812
+ d("div", Go, [
2813
+ v(y(N), {
2723
2814
  onClick: a,
2724
2815
  size: "lg"
2725
2816
  }, {
2726
- default: T(() => [...r[1] || (r[1] = [
2727
- F(" Go to Home ", -1)
2817
+ default: L(() => [...n[1] || (n[1] = [
2818
+ A(" Go to Home ", -1)
2728
2819
  ])]),
2729
2820
  _: 1
2730
2821
  })
@@ -2732,14 +2823,14 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2732
2823
  ])
2733
2824
  ]));
2734
2825
  }
2735
- }, Zo = { class: "h-full grid place-content-center relative" }, Ko = { class: "absolute top-8 left-8" }, Uo = ["src"], Go = {
2826
+ }, Yo = { class: "h-full grid place-content-center relative" }, Xo = { class: "absolute top-8 left-8" }, Jo = ["src"], Qo = {
2736
2827
  key: 1,
2737
2828
  width: "59",
2738
2829
  height: "23",
2739
2830
  viewBox: "0 0 59 23",
2740
2831
  fill: "none",
2741
2832
  xmlns: "http://www.w3.org/2000/svg"
2742
- }, Wo = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, Yo = { class: "flex gap-4 justify-center" }, Xo = {
2833
+ }, er = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, tr = { class: "flex gap-4 justify-center" }, sr = {
2743
2834
  __name: "SparkError404View",
2744
2835
  props: {
2745
2836
  logo: {
@@ -2752,17 +2843,17 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2752
2843
  }
2753
2844
  },
2754
2845
  setup(e) {
2755
- const s = q(), t = e, a = () => {
2846
+ const s = K(), t = e, a = () => {
2756
2847
  s.push(t.homeRoute);
2757
2848
  };
2758
- return (l, r) => (f(), g("div", Zo, [
2759
- d("div", Ko, [
2849
+ return (l, n) => (f(), g("div", Yo, [
2850
+ d("div", Xo, [
2760
2851
  t.logo ? (f(), g("img", {
2761
2852
  key: 0,
2762
2853
  src: t.logo,
2763
2854
  alt: "Logo",
2764
2855
  class: "h-[23px] w-auto"
2765
- }, null, 8, Uo)) : (f(), g("svg", Go, [...r[0] || (r[0] = [
2856
+ }, null, 8, Jo)) : (f(), g("svg", Qo, [...n[0] || (n[0] = [
2766
2857
  d("path", {
2767
2858
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2768
2859
  fill: "#1C64F2"
@@ -2781,19 +2872,19 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2781
2872
  }, null, -1)
2782
2873
  ])]))
2783
2874
  ]),
2784
- d("div", Wo, [
2785
- r[2] || (r[2] = d("div", null, [
2875
+ d("div", er, [
2876
+ n[2] || (n[2] = d("div", null, [
2786
2877
  d("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "404"),
2787
2878
  d("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Page Not Found "),
2788
2879
  d("p", { class: "text-gray-600" }, " The page you're looking for doesn't exist or has been moved. ")
2789
2880
  ], -1)),
2790
- d("div", Yo, [
2791
- v(b(z), {
2881
+ d("div", tr, [
2882
+ v(y(N), {
2792
2883
  onClick: a,
2793
2884
  size: "lg"
2794
2885
  }, {
2795
- default: T(() => [...r[1] || (r[1] = [
2796
- F(" Go to Home ", -1)
2886
+ default: L(() => [...n[1] || (n[1] = [
2887
+ A(" Go to Home ", -1)
2797
2888
  ])]),
2798
2889
  _: 1
2799
2890
  })
@@ -2801,14 +2892,14 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2801
2892
  ])
2802
2893
  ]));
2803
2894
  }
2804
- }, Jo = { class: "h-full grid place-content-center relative" }, Qo = { class: "absolute top-8 left-8" }, er = ["src"], tr = {
2895
+ }, ar = { class: "h-full grid place-content-center relative" }, or = { class: "absolute top-8 left-8" }, rr = ["src"], nr = {
2805
2896
  key: 1,
2806
2897
  width: "59",
2807
2898
  height: "23",
2808
2899
  viewBox: "0 0 59 23",
2809
2900
  fill: "none",
2810
2901
  xmlns: "http://www.w3.org/2000/svg"
2811
- }, sr = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, ar = { class: "text-primary-600 text-7xl font-bold mb-4" }, or = { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, rr = { class: "text-gray-600" }, nr = { class: "flex gap-4 justify-center" }, Er = {
2902
+ }, lr = { class: "max-w-lg grid gap-y-6 text-center -mt-8" }, ir = { class: "text-primary-600 text-7xl font-bold mb-4" }, cr = { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, dr = { class: "text-gray-600" }, ur = { class: "flex gap-4 justify-center" }, Or = {
2812
2903
  __name: "SparkErrorGeneralView",
2813
2904
  props: {
2814
2905
  logo: {
@@ -2833,17 +2924,17 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2833
2924
  }
2834
2925
  },
2835
2926
  setup(e) {
2836
- const s = q(), t = e, a = () => {
2927
+ const s = K(), t = e, a = () => {
2837
2928
  s.push(t.homeRoute);
2838
2929
  };
2839
- return (l, r) => (f(), g("div", Jo, [
2840
- d("div", Qo, [
2930
+ return (l, n) => (f(), g("div", ar, [
2931
+ d("div", or, [
2841
2932
  t.logo ? (f(), g("img", {
2842
2933
  key: 0,
2843
2934
  src: t.logo,
2844
2935
  alt: "Logo",
2845
2936
  class: "h-[23px] w-auto"
2846
- }, null, 8, er)) : (f(), g("svg", tr, [...r[0] || (r[0] = [
2937
+ }, null, 8, rr)) : (f(), g("svg", nr, [...n[0] || (n[0] = [
2847
2938
  d("path", {
2848
2939
  d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
2849
2940
  fill: "#1C64F2"
@@ -2862,19 +2953,19 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2862
2953
  }, null, -1)
2863
2954
  ])]))
2864
2955
  ]),
2865
- d("div", sr, [
2956
+ d("div", lr, [
2866
2957
  d("div", null, [
2867
- d("div", ar, L(t.errorCode || "Error"), 1),
2868
- d("h1", or, L(t.title || "Something went wrong"), 1),
2869
- d("p", rr, L(t.message || "An unexpected error occurred. Please try again later."), 1)
2958
+ d("div", ir, H(t.errorCode || "Error"), 1),
2959
+ d("h1", cr, H(t.title || "Something went wrong"), 1),
2960
+ d("p", dr, H(t.message || "An unexpected error occurred. Please try again later."), 1)
2870
2961
  ]),
2871
- d("div", nr, [
2872
- v(b(z), {
2962
+ d("div", ur, [
2963
+ v(y(N), {
2873
2964
  onClick: a,
2874
2965
  size: "lg"
2875
2966
  }, {
2876
- default: T(() => [...r[1] || (r[1] = [
2877
- F(" Go to Home ", -1)
2967
+ default: L(() => [...n[1] || (n[1] = [
2968
+ A(" Go to Home ", -1)
2878
2969
  ])]),
2879
2970
  _: 1
2880
2971
  })
@@ -2883,60 +2974,60 @@ const ce = "bolt-next-token", O = ae("auth", () => {
2883
2974
  ]));
2884
2975
  }
2885
2976
  };
2886
- function Fr(e = {}) {
2977
+ function zr(e = {}) {
2887
2978
  const {
2888
2979
  loginPath: s = "/login",
2889
2980
  logoutPath: t = "/logout",
2890
2981
  forgotPasswordPath: a = "/forgot-password",
2891
2982
  resetPasswordPath: l = "/password/reset",
2892
- logo: r = "",
2983
+ logo: n = "",
2893
2984
  defaultRedirect: o = "/dashboard"
2894
2985
  } = e;
2895
2986
  return [
2896
2987
  {
2897
2988
  path: s,
2898
2989
  name: "login",
2899
- component: yo,
2900
- props: { logo: r, defaultRedirect: o },
2990
+ component: wo,
2991
+ props: { logo: n, defaultRedirect: o },
2901
2992
  meta: { auth: !1 }
2902
2993
  },
2903
2994
  {
2904
2995
  path: t,
2905
2996
  name: "logout",
2906
- component: bo,
2997
+ component: _o,
2907
2998
  props: { defaultRedirect: s },
2908
2999
  meta: { auth: !1 }
2909
3000
  },
2910
3001
  {
2911
3002
  path: a,
2912
3003
  name: "forgot-password",
2913
- component: Lo,
2914
- props: { logo: r, loginRoute: s },
3004
+ component: Bo,
3005
+ props: { logo: n, loginRoute: s },
2915
3006
  meta: { auth: !1 }
2916
3007
  },
2917
3008
  {
2918
3009
  path: l,
2919
3010
  name: "password-reset",
2920
- component: Ao,
2921
- props: { logo: r, loginRoute: s },
3011
+ component: No,
3012
+ props: { logo: n, loginRoute: s },
2922
3013
  meta: { auth: !1 }
2923
3014
  }
2924
3015
  ];
2925
3016
  }
2926
- function Ar(e, s = {}) {
3017
+ function Ir(e, s = {}) {
2927
3018
  const { defaultAuthenticatedRoute: t = "/dashboard" } = s;
2928
- e.beforeEach(async (a, l, r) => {
2929
- const o = O();
2930
- o.state.ready || await o.fetchUser(), lr(a, r, o, t);
3019
+ e.beforeEach(async (a, l, n) => {
3020
+ const o = I();
3021
+ o.state.ready || await o.fetchUser(), pr(a, n, o, t);
2931
3022
  });
2932
3023
  }
2933
- function lr(e, s, t, a) {
2934
- const l = e.meta.auth !== !1, r = t.check;
3024
+ function pr(e, s, t, a) {
3025
+ const l = e.meta.auth !== !1, n = t.check;
2935
3026
  if (t.state.overrideToken && e.path === "/logout") {
2936
3027
  s({ path: a });
2937
3028
  return;
2938
3029
  }
2939
- if (!r) {
3030
+ if (!n) {
2940
3031
  if (!l) {
2941
3032
  if (e.path === "/logout") {
2942
3033
  s({ path: t.state.routes.auth });
@@ -2956,7 +3047,7 @@ function lr(e, s, t, a) {
2956
3047
  });
2957
3048
  return;
2958
3049
  }
2959
- if (r) {
3050
+ if (n) {
2960
3051
  if (!l && e.path === t.state.routes.auth) {
2961
3052
  s({ path: a });
2962
3053
  return;
@@ -2968,7 +3059,7 @@ function lr(e, s, t, a) {
2968
3059
  s();
2969
3060
  }
2970
3061
  }
2971
- function jr(e = {}) {
3062
+ function Nr(e = {}) {
2972
3063
  const {
2973
3064
  forbiddenPath: s = "/error/403",
2974
3065
  logo: t = "",
@@ -2977,12 +3068,12 @@ function jr(e = {}) {
2977
3068
  return {
2978
3069
  path: s,
2979
3070
  name: "error-403",
2980
- component: qo,
3071
+ component: Wo,
2981
3072
  props: { logo: t, homeRoute: a },
2982
3073
  meta: { auth: !1 }
2983
3074
  };
2984
3075
  }
2985
- function Or(e = {}) {
3076
+ function Dr(e = {}) {
2986
3077
  const {
2987
3078
  logo: s = "",
2988
3079
  homeRoute: t = "/dashboard"
@@ -2990,21 +3081,21 @@ function Or(e = {}) {
2990
3081
  return {
2991
3082
  path: "/:pathMatch(.*)*",
2992
3083
  name: "error-404",
2993
- component: Xo,
3084
+ component: sr,
2994
3085
  props: { logo: s, homeRoute: t },
2995
3086
  meta: { auth: !1 }
2996
3087
  };
2997
3088
  }
2998
- function zr(e, s) {
3089
+ function qr(e, s) {
2999
3090
  e.beforeResolve(async (t) => {
3000
3091
  if (t.meta.auth !== !1) {
3001
- const a = O();
3092
+ const a = I();
3002
3093
  a.state.ready && a.check && await s();
3003
3094
  }
3004
3095
  });
3005
3096
  }
3006
- function ir(e = {}) {
3007
- const s = J.create({
3097
+ function fr(e = {}) {
3098
+ const s = ee.create({
3008
3099
  baseURL: e.baseURL || "",
3009
3100
  timeout: e.timeout || 3e4,
3010
3101
  headers: {
@@ -3015,7 +3106,7 @@ function ir(e = {}) {
3015
3106
  return s.interceptors.request.use(
3016
3107
  (t) => {
3017
3108
  try {
3018
- const a = O();
3109
+ const a = I();
3019
3110
  a.state.overrideToken ? t.headers.Authorization = `Bearer ${a.state.overrideToken}` : a.state.token && (t.headers.Authorization = `Bearer ${a.state.token}`);
3020
3111
  } catch {
3021
3112
  }
@@ -3027,14 +3118,14 @@ function ir(e = {}) {
3027
3118
  async (t) => {
3028
3119
  if (t.response?.status === 401)
3029
3120
  try {
3030
- const a = O();
3121
+ const a = I();
3031
3122
  await a.logout(), window.location.href = a.state.routes.auth;
3032
3123
  } catch (a) {
3033
3124
  console.error("Error during auto-logout:", a), window.location.href = "/login";
3034
3125
  }
3035
3126
  if (t.response?.status === 403)
3036
3127
  try {
3037
- const a = O();
3128
+ const a = I();
3038
3129
  window.location.href = a.state.routes.forbidden;
3039
3130
  } catch (a) {
3040
3131
  console.error("Error during 403 redirect:", a), window.location.href = "/error/403";
@@ -3043,32 +3134,32 @@ function ir(e = {}) {
3043
3134
  }
3044
3135
  ), s;
3045
3136
  }
3046
- let X = null;
3047
- function Ir(e, s = {}) {
3048
- return X = ir(s), e.provide("axios", X), e.config.globalProperties.$axios = X, X;
3137
+ let Q = null;
3138
+ function Zr(e, s = {}) {
3139
+ return Q = fr(s), e.provide("axios", Q), e.config.globalProperties.$axios = Q, Q;
3049
3140
  }
3050
- function Nr() {
3051
- if (!X)
3141
+ function Kr() {
3142
+ if (!Q)
3052
3143
  throw new Error("Axios instance not initialized. Call setupAxios() first.");
3053
- return X;
3144
+ return Q;
3054
3145
  }
3055
- const Dr = ae("sparkNav", () => {
3056
- const e = D({
3146
+ const Ur = re("sparkNav", () => {
3147
+ const e = Z({
3057
3148
  menu: [],
3058
3149
  collapsed: !1,
3059
3150
  hidden: !1
3060
- }), s = q(), t = Q(), a = (c = []) => {
3061
- e.menu = c, n();
3151
+ }), s = K(), t = te(), a = (c = []) => {
3152
+ e.menu = c, r();
3062
3153
  }, l = (c, p) => {
3063
3154
  for (const u of c) {
3064
3155
  if (u.href === p) return u;
3065
3156
  if (u.children) {
3066
- const y = l(u.children, p);
3067
- if (y) return y;
3157
+ const h = l(u.children, p);
3158
+ if (h) return h;
3068
3159
  }
3069
3160
  }
3070
3161
  return null;
3071
- }, r = async (c) => {
3162
+ }, n = async (c) => {
3072
3163
  if (c) {
3073
3164
  const p = l(e.menu, c);
3074
3165
  if (p && typeof p.action == "function") {
@@ -3081,86 +3172,86 @@ const Dr = ae("sparkNav", () => {
3081
3172
  e.collapsed = !e.collapsed;
3082
3173
  }, i = () => {
3083
3174
  e.hidden = !e.hidden;
3084
- }, n = () => {
3175
+ }, r = () => {
3085
3176
  const c = t.name || t.path.replace("/", "");
3086
3177
  if (c) {
3087
3178
  const p = (u) => {
3088
- u.forEach((y) => {
3089
- y.current = y.href === c, y.children && p(y.children);
3179
+ u.forEach((h) => {
3180
+ h.current = h.href === c, h.children && p(h.children);
3090
3181
  });
3091
3182
  };
3092
3183
  p(e.menu);
3093
3184
  }
3094
3185
  };
3095
- return A(
3186
+ return j(
3096
3187
  () => t.path,
3097
3188
  () => {
3098
- n();
3189
+ r();
3099
3190
  },
3100
3191
  { immediate: !0 }
3101
3192
  ), {
3102
3193
  state: e,
3103
3194
  initialize: a,
3104
- goto: r,
3195
+ goto: n,
3105
3196
  toggleCollapsed: o,
3106
3197
  toggleHidden: i,
3107
- syncWithRoute: n
3198
+ syncWithRoute: r
3108
3199
  };
3109
3200
  });
3110
3201
  export {
3111
- B as Icons,
3112
- Lr as SparkAlert,
3113
- os as SparkAppSelector,
3114
- xs as SparkBrandSelector,
3115
- z as SparkButton,
3116
- _s as SparkButtonGroup,
3117
- Hr as SparkCard,
3118
- Rr as SparkDefaultContainer,
3119
- qo as SparkError403View,
3120
- Xo as SparkError404View,
3121
- Er as SparkErrorGeneralView,
3122
- Lo as SparkForgotPasswordView,
3123
- yo as SparkLoginView,
3124
- bo as SparkLogoutView,
3125
- Hs as SparkModalContainer,
3126
- Pr as SparkModalDialog,
3127
- ge as SparkOverlay,
3128
- Br as SparkPublicContainer,
3129
- Ao as SparkResetPasswordView,
3130
- Vr as SparkTable,
3131
- _a as SparkTableDatePicker,
3132
- va as SparkTableFilterButtons,
3133
- ga as SparkTableFilterSelect,
3134
- na as SparkTablePaginationPaging,
3135
- ca as SparkTablePaginationPerPage,
3136
- $a as SparkTableReset,
3137
- pa as SparkTableSearch,
3138
- be as SparkTableToolbar,
3139
- $r as addIcons,
3140
- jr as create403Route,
3141
- Or as create404Route,
3142
- Fr as createAuthRoutes,
3143
- ir as createAxiosInstance,
3144
- Mr as createBootstrapService,
3145
- As as customiseHeader,
3146
- so as deleteCookie,
3147
- Nr as getAxiosInstance,
3148
- eo as getCookie,
3149
- Be as getDomain,
3150
- Bs as renderHeaderTitle,
3151
- to as setCookie,
3152
- Ar as setupAuthGuards,
3153
- Ir as setupAxios,
3154
- zr as setupBootstrapGuard,
3155
- Tr as setupFontAwesome,
3156
- ee as sparkModalService,
3157
- Y as sparkOverlayService,
3158
- Us as updateRow,
3159
- Pe as useSparkAppSelectorStore,
3160
- Ve as useSparkAppStore,
3161
- O as useSparkAuthStore,
3162
- Re as useSparkBrandFilterStore,
3163
- Dr as useSparkNavStore,
3164
- xe as useSparkOverlay,
3165
- Gs as useSparkTableRouteSync
3202
+ E as Icons,
3203
+ Br as SparkAlert,
3204
+ ns as SparkAppSelector,
3205
+ ws as SparkBrandSelector,
3206
+ N as SparkButton,
3207
+ Cs as SparkButtonGroup,
3208
+ Er as SparkCard,
3209
+ Fr as SparkDefaultContainer,
3210
+ Wo as SparkError403View,
3211
+ sr as SparkError404View,
3212
+ Or as SparkErrorGeneralView,
3213
+ Bo as SparkForgotPasswordView,
3214
+ wo as SparkLoginView,
3215
+ _o as SparkLogoutView,
3216
+ Es as SparkModalContainer,
3217
+ Ps as SparkModalDialog,
3218
+ he as SparkOverlay,
3219
+ Ar as SparkPublicContainer,
3220
+ No as SparkResetPasswordView,
3221
+ Mr as SparkTable,
3222
+ Ta as SparkTableDatePicker,
3223
+ Ca as SparkTableFilterButtons,
3224
+ xa as SparkTableFilterSelect,
3225
+ ua as SparkTablePaginationPaging,
3226
+ ma as SparkTablePaginationPerPage,
3227
+ Va as SparkTableReset,
3228
+ ya as SparkTableSearch,
3229
+ xe as SparkTableToolbar,
3230
+ Vr as addIcons,
3231
+ Nr as create403Route,
3232
+ Dr as create404Route,
3233
+ zr as createAuthRoutes,
3234
+ fr as createAxiosInstance,
3235
+ jr as createBootstrapService,
3236
+ zs as customiseHeader,
3237
+ lo as deleteCookie,
3238
+ Kr as getAxiosInstance,
3239
+ ro as getCookie,
3240
+ Me as getDomain,
3241
+ Fs as renderHeaderTitle,
3242
+ no as setCookie,
3243
+ Ir as setupAuthGuards,
3244
+ Zr as setupAxios,
3245
+ qr as setupBootstrapGuard,
3246
+ Rr as setupFontAwesome,
3247
+ J as sparkModalService,
3248
+ X as sparkOverlayService,
3249
+ Js as updateRow,
3250
+ Re as useSparkAppSelectorStore,
3251
+ Be as useSparkAppStore,
3252
+ I as useSparkAuthStore,
3253
+ Ee as useSparkBrandFilterStore,
3254
+ Ur as useSparkNavStore,
3255
+ we as useSparkOverlay,
3256
+ Qs as useSparkTableRouteSync
3166
3257
  };