@wishbone-media/spark 0.28.0 → 0.29.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,11 +1,12 @@
|
|
|
1
|
-
import { computed as $, resolveComponent as F, createElementBlock as g, openBlock as m, normalizeClass as V, createElementVNode as f, createCommentVNode as T, createVNode as k, unref as
|
|
2
|
-
import { icon as ee, library as
|
|
3
|
-
import { FontAwesomeIcon as
|
|
4
|
-
import { faCircleDot as je, faEyeDropper as ze, faAnglesLeft as Ie, faAnglesRight as Ne, faStar as Ze, faSpinnerThird as qe, faCircle as
|
|
1
|
+
import { computed as $, resolveComponent as F, createElementBlock as g, openBlock as m, normalizeClass as V, createElementVNode as f, createCommentVNode as T, createVNode as k, unref as S, renderSlot as B, reactive as K, Fragment as E, renderList as I, toDisplayString as M, createBlock as H, resolveDynamicComponent as Z, markRaw as me, ref as R, watch as z, onMounted as he, Transition as dt, withCtx as P, normalizeProps as pt, mergeProps as q, createTextVNode as A, Teleport as ft, TransitionGroup as ie, inject as Se, provide as mt, withModifiers as U, toHandlers as Ae, useSlots as Be, onUnmounted as ht, withDirectives as gt, vShow as yt, h as Ce } from "vue";
|
|
2
|
+
import { icon as ee, library as De } from "@fortawesome/fontawesome-svg-core";
|
|
3
|
+
import { FontAwesomeIcon as vt } from "@fortawesome/vue-fontawesome";
|
|
4
|
+
import { faCircleDot as je, faEyeDropper as ze, faAnglesLeft as Ie, faAnglesRight as Ne, faStar as Ze, faSpinnerThird as qe, faCircle as bt, faFile as xe, faCalendar as Ue, faArrowUp as Ke, faArrowDown as Ge, faPlus as We, faInbox as xt, faCloudDownload as kt, faBolt as wt, faUndo as _t, faEye as St, faSignOut as Ct, faXmark as ke, faTrash as Ye, faTimes as $t, faStreetView as Tt, faSortUp as Pt, faSortDown as Lt, faSort as Mt, faScaleBalanced as Vt, faSatelliteDish as Ht, faLayerPlus as Rt, faLaptopMobile as Ft, faInfoCircle as Et, faGripDotsVertical as Xe, faGearComplex as Ot, faFlag as At, faFaceSmileWink as Bt, faFaceSmileRelaxed as Dt, faExclamationTriangle as jt, faEllipsisVertical as zt, faEllipsis as It, faEdit as Nt, faComments as Zt, faCircleXmark as qt, faCircleUser as Ut, faChevronUp as Kt, faChevronRight as Je, faChevronLeft as Qe, faChevronDown as et, faCheckCircle as Gt, faCheck as we, faBullhorn as Wt, faBellRing as Yt, faBarsSort as Xt, faArrowRightToLine as Jt, faArrowLeftToLine as Qt } from "@fortawesome/pro-regular-svg-icons";
|
|
5
5
|
import { faSortUp as es, faSortDown as ts, faSort as ss } from "@fortawesome/pro-duotone-svg-icons";
|
|
6
6
|
import { defineStore as ue } from "pinia";
|
|
7
|
+
import { useRoute as te, useRouter as Y } from "vue-router";
|
|
7
8
|
import { TransitionRoot as tt, Dialog as st, TransitionChild as fe, DialogPanel as at } from "@headlessui/vue";
|
|
8
|
-
import
|
|
9
|
+
import ge from "nprogress";
|
|
9
10
|
import { range as as, get as Q, find as os, has as rs } from "lodash";
|
|
10
11
|
import { HotTable as ns } from "@handsontable/vue3";
|
|
11
12
|
import "handsontable/styles/handsontable.css";
|
|
@@ -14,15 +15,14 @@ import { registerPlugin as pe, AutoColumnSize as ls, CopyPaste as is, StretchCol
|
|
|
14
15
|
import { registerAllCellTypes as ds } from "handsontable/cellTypes";
|
|
15
16
|
import { useDebounceFn as ot, watchDebounced as $e } from "@vueuse/core";
|
|
16
17
|
import { registerRenderer as ps, baseRenderer as fs } from "handsontable/renderers";
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
const A = {
|
|
18
|
+
import le from "axios";
|
|
19
|
+
const O = {
|
|
20
20
|
farArrowLeftToLine: Qt,
|
|
21
21
|
farArrowRightToLine: Jt,
|
|
22
22
|
farBarsSort: Xt,
|
|
23
23
|
farBellRing: Yt,
|
|
24
24
|
farBullhorn: Wt,
|
|
25
|
-
farCheck:
|
|
25
|
+
farCheck: we,
|
|
26
26
|
farCheckCircle: Gt,
|
|
27
27
|
farChevronDown: et,
|
|
28
28
|
farChevronLeft: Qe,
|
|
@@ -35,10 +35,10 @@ const A = {
|
|
|
35
35
|
farEllipsis: It,
|
|
36
36
|
farEllipsisVertical: zt,
|
|
37
37
|
farExclamationTriangle: jt,
|
|
38
|
-
farFaceSmileRelaxed:
|
|
39
|
-
farFaceSmileWink:
|
|
40
|
-
farFlag:
|
|
41
|
-
farGearComplex:
|
|
38
|
+
farFaceSmileRelaxed: Dt,
|
|
39
|
+
farFaceSmileWink: Bt,
|
|
40
|
+
farFlag: At,
|
|
41
|
+
farGearComplex: Ot,
|
|
42
42
|
farGripDotsVertical: Xe,
|
|
43
43
|
farInfoCircle: Et,
|
|
44
44
|
farLaptopMobile: Ft,
|
|
@@ -46,12 +46,12 @@ const A = {
|
|
|
46
46
|
farSatelliteDish: Ht,
|
|
47
47
|
farScaleBalanced: Vt,
|
|
48
48
|
farSort: Mt,
|
|
49
|
-
farSortDown:
|
|
50
|
-
farSortUp:
|
|
49
|
+
farSortDown: Lt,
|
|
50
|
+
farSortUp: Pt,
|
|
51
51
|
farStreetView: Tt,
|
|
52
52
|
farTimes: $t,
|
|
53
53
|
farTrash: Ye,
|
|
54
|
-
farXmark:
|
|
54
|
+
farXmark: ke,
|
|
55
55
|
farSignOut: Ct,
|
|
56
56
|
farEye: St,
|
|
57
57
|
farUndo: _t,
|
|
@@ -66,16 +66,16 @@ const A = {
|
|
|
66
66
|
farArrowDown: Ge,
|
|
67
67
|
farArrowUp: Ke,
|
|
68
68
|
farCalendar: Ue,
|
|
69
|
-
farFile:
|
|
70
|
-
farCircle:
|
|
69
|
+
farFile: xe,
|
|
70
|
+
farCircle: bt,
|
|
71
71
|
farSpinner: qe,
|
|
72
72
|
farStar: Ze,
|
|
73
73
|
farAnglesRight: Ne,
|
|
74
74
|
farAnglesLeft: Ie,
|
|
75
75
|
farEyeDropper: ze,
|
|
76
76
|
farCircleDot: je
|
|
77
|
-
},
|
|
78
|
-
Object.entries(
|
|
77
|
+
}, On = Object.fromEntries(
|
|
78
|
+
Object.entries(O).map(([e, s]) => {
|
|
79
79
|
const t = ee(s);
|
|
80
80
|
return [e, t?.html?.[0] || ""];
|
|
81
81
|
})
|
|
@@ -83,14 +83,14 @@ const A = {
|
|
|
83
83
|
add: We,
|
|
84
84
|
arrowDown: Ge,
|
|
85
85
|
arrowUp: Ke,
|
|
86
|
-
check:
|
|
87
|
-
close:
|
|
88
|
-
checkboxDecorator:
|
|
86
|
+
check: we,
|
|
87
|
+
close: ke,
|
|
88
|
+
checkboxDecorator: we,
|
|
89
89
|
date: Ue,
|
|
90
90
|
dragHandle: Xe,
|
|
91
|
-
fileItem:
|
|
92
|
-
fileRemove:
|
|
93
|
-
noFiles:
|
|
91
|
+
fileItem: xe,
|
|
92
|
+
fileRemove: ke,
|
|
93
|
+
noFiles: xe,
|
|
94
94
|
radioDecorator: je,
|
|
95
95
|
// Circle with dot for radio indicator
|
|
96
96
|
select: et,
|
|
@@ -102,30 +102,30 @@ const A = {
|
|
|
102
102
|
left: Qe,
|
|
103
103
|
rewind: Ie,
|
|
104
104
|
color: ze
|
|
105
|
-
},
|
|
105
|
+
}, An = Object.fromEntries(
|
|
106
106
|
Object.entries(ms).map(([e, s]) => {
|
|
107
107
|
const t = ee(s);
|
|
108
108
|
return [e, t?.html?.[0] || ""];
|
|
109
109
|
})
|
|
110
110
|
);
|
|
111
|
-
function
|
|
112
|
-
const s =
|
|
111
|
+
function Bn(e) {
|
|
112
|
+
const s = O[e];
|
|
113
113
|
if (s) {
|
|
114
114
|
const t = ee(s);
|
|
115
115
|
return Promise.resolve(t?.html?.[0] || void 0);
|
|
116
116
|
}
|
|
117
117
|
return Promise.resolve(void 0);
|
|
118
118
|
}
|
|
119
|
-
function
|
|
120
|
-
Object.assign(
|
|
119
|
+
function Dn(e) {
|
|
120
|
+
Object.assign(O, e), De.add(...Object.values(e));
|
|
121
121
|
}
|
|
122
122
|
function jn(e) {
|
|
123
|
-
|
|
123
|
+
De.add(...Object.values(O)), e.component("FontAwesomeIcon", vt);
|
|
124
124
|
}
|
|
125
|
-
const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }, ys = { class: "ml-3" },
|
|
125
|
+
const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }, ys = { class: "ml-3" }, vs = {
|
|
126
126
|
key: 0,
|
|
127
127
|
class: "ml-auto pl-3 pt-1 self-start"
|
|
128
|
-
},
|
|
128
|
+
}, bs = { class: "-mx-1.5 -my-1.5" }, oe = {
|
|
129
129
|
__name: "SparkAlert",
|
|
130
130
|
props: {
|
|
131
131
|
type: {
|
|
@@ -155,36 +155,36 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
155
155
|
warning: "farExclamationTriangle",
|
|
156
156
|
danger: "farCircleXmark",
|
|
157
157
|
info: "farInfoCircle"
|
|
158
|
-
})[s.type]),
|
|
158
|
+
})[s.type]), n = $(() => ({
|
|
159
159
|
success: "text-green-400 hover:bg-green-100",
|
|
160
160
|
warning: "text-yellow-400 hover:bg-yellow-100",
|
|
161
161
|
danger: "text-red-400 hover:bg-red-100",
|
|
162
162
|
info: "text-blue-400 hover:bg-blue-100"
|
|
163
163
|
})[s.type]);
|
|
164
164
|
return (o, c) => {
|
|
165
|
-
const
|
|
165
|
+
const r = F("font-awesome-icon");
|
|
166
166
|
return m(), g("div", {
|
|
167
167
|
class: V(["rounded-md border p-4", t.value])
|
|
168
168
|
}, [
|
|
169
169
|
f("div", hs, [
|
|
170
170
|
f("div", gs, [
|
|
171
|
-
k(
|
|
172
|
-
icon:
|
|
171
|
+
k(r, {
|
|
172
|
+
icon: S(O)[l.value],
|
|
173
173
|
class: V(a.value)
|
|
174
174
|
}, null, 8, ["icon", "class"])
|
|
175
175
|
]),
|
|
176
176
|
f("div", ys, [
|
|
177
|
-
|
|
177
|
+
B(o.$slots, "default")
|
|
178
178
|
]),
|
|
179
|
-
e.closeable ? (m(), g("div",
|
|
180
|
-
f("div",
|
|
179
|
+
e.closeable ? (m(), g("div", vs, [
|
|
180
|
+
f("div", bs, [
|
|
181
181
|
f("button", {
|
|
182
182
|
type: "button",
|
|
183
|
-
class: V(["inline-flex rounded-md px-2 py-1.5",
|
|
183
|
+
class: V(["inline-flex rounded-md px-2 py-1.5", n.value]),
|
|
184
184
|
onClick: c[0] || (c[0] = (i) => o.$emit("close"))
|
|
185
185
|
}, [
|
|
186
|
-
k(
|
|
187
|
-
icon:
|
|
186
|
+
k(r, {
|
|
187
|
+
icon: S(O).farXmark
|
|
188
188
|
}, null, 8, ["icon"])
|
|
189
189
|
], 2)
|
|
190
190
|
])
|
|
@@ -193,7 +193,7 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
193
193
|
], 2);
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
|
-
},
|
|
196
|
+
}, ye = [
|
|
197
197
|
{
|
|
198
198
|
name: "Bolt",
|
|
199
199
|
description: "Job management",
|
|
@@ -244,12 +244,12 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
244
244
|
}
|
|
245
245
|
], rt = ue("sparkAppSelector", () => {
|
|
246
246
|
const e = K({
|
|
247
|
-
apps: [...
|
|
248
|
-
}), s = (
|
|
249
|
-
if (
|
|
250
|
-
const o =
|
|
251
|
-
const
|
|
252
|
-
return
|
|
247
|
+
apps: [...ye]
|
|
248
|
+
}), s = (n = {}) => {
|
|
249
|
+
if (n.apps && Array.isArray(n.apps)) {
|
|
250
|
+
const o = n.apps.filter((c) => {
|
|
251
|
+
const r = c.name && c.description && c.icon && c.href;
|
|
252
|
+
return r || console.warn("useSparkAppSelectorStore: Invalid app object", c), r;
|
|
253
253
|
});
|
|
254
254
|
e.apps = o.map((c) => ({
|
|
255
255
|
name: c.name,
|
|
@@ -259,23 +259,23 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
259
259
|
}));
|
|
260
260
|
return;
|
|
261
261
|
}
|
|
262
|
-
if (
|
|
262
|
+
if (n.appHrefs && typeof n.appHrefs == "object") {
|
|
263
263
|
const o = /* @__PURE__ */ new Map();
|
|
264
|
-
Object.keys(
|
|
265
|
-
o.set(c.toLowerCase(),
|
|
266
|
-
}), e.apps =
|
|
267
|
-
const
|
|
264
|
+
Object.keys(n.appHrefs).forEach((c) => {
|
|
265
|
+
o.set(c.toLowerCase(), n.appHrefs[c]);
|
|
266
|
+
}), e.apps = ye.map((c) => {
|
|
267
|
+
const r = o.get(c.name.toLowerCase());
|
|
268
268
|
return {
|
|
269
269
|
...c,
|
|
270
|
-
href:
|
|
270
|
+
href: r || c.href
|
|
271
271
|
};
|
|
272
272
|
});
|
|
273
273
|
return;
|
|
274
274
|
}
|
|
275
|
-
e.apps = [...
|
|
276
|
-
}, t = $(() => e.apps), a = (
|
|
277
|
-
if (!
|
|
278
|
-
const o =
|
|
275
|
+
e.apps = [...ye];
|
|
276
|
+
}, t = $(() => e.apps), a = (n) => {
|
|
277
|
+
if (!n) return null;
|
|
278
|
+
const o = n.toLowerCase();
|
|
279
279
|
return e.apps.find((c) => c.name.toLowerCase() === o) || null;
|
|
280
280
|
};
|
|
281
281
|
return {
|
|
@@ -283,8 +283,8 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
283
283
|
initialize: s,
|
|
284
284
|
allApps: t,
|
|
285
285
|
getAppByName: a,
|
|
286
|
-
getAppIcon: (
|
|
287
|
-
const o = a(
|
|
286
|
+
getAppIcon: (n) => {
|
|
287
|
+
const o = a(n);
|
|
288
288
|
return o ? o.icon : "";
|
|
289
289
|
}
|
|
290
290
|
};
|
|
@@ -301,7 +301,7 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
301
301
|
e.app = t.app || "", e.homeRoute = t.homeRoute ?? "dashboard", e.showBrandSelector = t.showBrandSelector ?? !0, e.showAppSelector = t.showAppSelector ?? !0;
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
|
-
}), xs = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, ks = { class: "flex flex-1 flex-col" }, ws = { class: "divide-y divide-gray-200" }, _s = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Ss = { class: "ml-auto flex items-center" }, Cs = ["href", "onClick"], $s = { class: "gap-y-1" }, Ts = { class: "text-base text-gray-800 flex items-center" },
|
|
304
|
+
}), xs = { class: "flex grow flex-col gap-y-5 overflow-y-auto bg-white rounded-lg" }, ks = { class: "flex flex-1 flex-col" }, ws = { class: "divide-y divide-gray-200" }, _s = { class: "flex px-[22px] py-2.5 text-[12px] items-center" }, Ss = { class: "ml-auto flex items-center" }, Cs = ["href", "onClick"], $s = { class: "gap-y-1" }, Ts = { class: "text-base text-gray-800 flex items-center" }, Ps = { class: "font-medium" }, Ls = {
|
|
305
305
|
key: 0,
|
|
306
306
|
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"
|
|
307
307
|
}, Ms = { class: "text-sm text-gray-500" }, Vs = { class: "ml-auto flex items-center" }, Hs = { class: "mt-auto" }, Rs = {
|
|
@@ -324,31 +324,31 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
324
324
|
},
|
|
325
325
|
emits: ["close", "select"],
|
|
326
326
|
setup(e, { emit: s }) {
|
|
327
|
-
const t = s, a = rt(), l = nt(),
|
|
327
|
+
const t = s, a = rt(), l = nt(), n = $(() => {
|
|
328
328
|
const c = l.state.app;
|
|
329
|
-
return a.state.apps.map((
|
|
330
|
-
...
|
|
331
|
-
current: c &&
|
|
329
|
+
return a.state.apps.map((r) => ({
|
|
330
|
+
...r,
|
|
331
|
+
current: c && r.name.toLowerCase() === c.toLowerCase()
|
|
332
332
|
}));
|
|
333
|
-
}), o = (c,
|
|
333
|
+
}), o = (c, r) => {
|
|
334
334
|
t("select", c);
|
|
335
335
|
};
|
|
336
|
-
return (c,
|
|
336
|
+
return (c, r) => {
|
|
337
337
|
const i = F("font-awesome-icon");
|
|
338
338
|
return m(), g("div", xs, [
|
|
339
339
|
f("div", ks, [
|
|
340
340
|
f("div", ws, [
|
|
341
341
|
f("div", _s, [
|
|
342
|
-
|
|
342
|
+
r[1] || (r[1] = f("div", null, "Mr Group Network", -1)),
|
|
343
343
|
f("div", Ss, [
|
|
344
344
|
k(i, {
|
|
345
|
-
icon:
|
|
345
|
+
icon: S(O).farTimes,
|
|
346
346
|
class: "h-[15px] w-[15px] shrink-0 text-gray-400 cursor-pointer",
|
|
347
|
-
onClick:
|
|
347
|
+
onClick: r[0] || (r[0] = (u) => t("close"))
|
|
348
348
|
}, null, 8, ["icon"])
|
|
349
349
|
])
|
|
350
350
|
]),
|
|
351
|
-
(m(!0), g(E, null,
|
|
351
|
+
(m(!0), g(E, null, I(n.value, (u) => (m(), g("a", {
|
|
352
352
|
key: u.name,
|
|
353
353
|
href: u.href,
|
|
354
354
|
target: "_blank",
|
|
@@ -357,28 +357,28 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
357
357
|
}, [
|
|
358
358
|
f("div", $s, [
|
|
359
359
|
f("div", Ts, [
|
|
360
|
-
f("div",
|
|
361
|
-
u.current ? (m(), g("span",
|
|
360
|
+
f("div", Ps, M(u.name), 1),
|
|
361
|
+
u.current ? (m(), g("span", Ls, " Active ")) : T("", !0)
|
|
362
362
|
]),
|
|
363
363
|
f("div", Ms, M(u.description), 1)
|
|
364
364
|
]),
|
|
365
365
|
f("div", Vs, [
|
|
366
366
|
k(i, {
|
|
367
367
|
class: V([u.current ? "text-gray-700" : "text-gray-400", "h-5 w-5 shrink-0"]),
|
|
368
|
-
icon:
|
|
368
|
+
icon: S(O)[u.icon]
|
|
369
369
|
}, null, 8, ["class", "icon"])
|
|
370
370
|
])
|
|
371
371
|
], 10, Cs))), 128)),
|
|
372
|
-
|
|
372
|
+
r[2] || (r[2] = f("div", null, null, -1))
|
|
373
373
|
]),
|
|
374
374
|
f("div", Hs, [
|
|
375
375
|
c.$slots.bottom || e.bottomSlot ? (m(), g("div", Rs, [
|
|
376
|
-
|
|
376
|
+
B(c.$slots, "bottom", {}, () => [
|
|
377
377
|
e.bottomSlot ? (m(), H(Z(e.bottomSlot), { key: 0 })) : T("", !0)
|
|
378
378
|
])
|
|
379
379
|
])) : T("", !0),
|
|
380
380
|
c.$slots.footer || e.footerSlot ? (m(), g("div", Fs, [
|
|
381
|
-
|
|
381
|
+
B(c.$slots, "footer", {}, () => [
|
|
382
382
|
e.footerSlot ? (m(), H(Z(e.footerSlot), { key: 0 })) : T("", !0)
|
|
383
383
|
])
|
|
384
384
|
])) : T("", !0)
|
|
@@ -394,7 +394,7 @@ const hs = { class: "flex items-center" }, gs = { class: "shrink-0 self-start" }
|
|
|
394
394
|
danger: 0
|
|
395
395
|
// sticky by default
|
|
396
396
|
}, Te = ["top-left", "top-right", "center", "bottom-left", "bottom-right"];
|
|
397
|
-
function
|
|
397
|
+
function Os() {
|
|
398
398
|
const e = K({
|
|
399
399
|
isVisible: !1,
|
|
400
400
|
type: "info",
|
|
@@ -402,13 +402,15 @@ function As() {
|
|
|
402
402
|
component: null,
|
|
403
403
|
props: {},
|
|
404
404
|
closeable: !0,
|
|
405
|
-
duration: null
|
|
405
|
+
duration: null,
|
|
406
|
+
persistent: !1,
|
|
407
|
+
shownOnPath: null
|
|
406
408
|
});
|
|
407
409
|
let s = null, t = 0, a = !1, l = null;
|
|
408
|
-
const
|
|
410
|
+
const n = () => {
|
|
409
411
|
s && (clearTimeout(s), s = null), t = 0, a = !1, l = null;
|
|
410
412
|
}, o = () => {
|
|
411
|
-
|
|
413
|
+
n(), e.isVisible = !1;
|
|
412
414
|
}, c = (p) => {
|
|
413
415
|
p <= 0 || (t = p, l = Date.now(), s = setTimeout(() => {
|
|
414
416
|
o();
|
|
@@ -417,22 +419,23 @@ function As() {
|
|
|
417
419
|
return {
|
|
418
420
|
state: e,
|
|
419
421
|
show: (p = {}) => {
|
|
420
|
-
|
|
422
|
+
n();
|
|
421
423
|
const {
|
|
422
|
-
type:
|
|
423
|
-
message:
|
|
424
|
+
type: b = "info",
|
|
425
|
+
message: v = null,
|
|
424
426
|
component: x = null,
|
|
425
427
|
props: h = {},
|
|
426
428
|
closeable: w = !0,
|
|
427
|
-
duration:
|
|
429
|
+
duration: C = null,
|
|
430
|
+
persistent: y = !1
|
|
428
431
|
} = p;
|
|
429
|
-
e.type =
|
|
430
|
-
const
|
|
431
|
-
e.duration =
|
|
432
|
+
e.type = b, e.message = v, e.component = x ? me(x) : null, e.props = h, e.closeable = w, e.persistent = y, e.isVisible = !0;
|
|
433
|
+
const _ = C !== null ? C : lt[b];
|
|
434
|
+
e.duration = _, _ > 0 && c(_);
|
|
432
435
|
},
|
|
433
436
|
hide: o,
|
|
434
437
|
reset: () => {
|
|
435
|
-
o(), e.type = "info", e.message = null, e.component = null, e.props = {}, e.closeable = !0, e.duration = null;
|
|
438
|
+
o(), e.type = "info", e.message = null, e.component = null, e.props = {}, e.closeable = !0, e.duration = null, e.persistent = !1, e.shownOnPath = null;
|
|
436
439
|
},
|
|
437
440
|
pause: () => {
|
|
438
441
|
if (!s || a) return;
|
|
@@ -447,7 +450,7 @@ function As() {
|
|
|
447
450
|
}
|
|
448
451
|
};
|
|
449
452
|
}
|
|
450
|
-
class
|
|
453
|
+
class As {
|
|
451
454
|
constructor() {
|
|
452
455
|
this.outlets = /* @__PURE__ */ new Map(), this.toastState = K({
|
|
453
456
|
toasts: [],
|
|
@@ -465,7 +468,7 @@ class Os {
|
|
|
465
468
|
* @returns {Object} Notification outlet instance
|
|
466
469
|
*/
|
|
467
470
|
getOutlet(s = "default") {
|
|
468
|
-
return this.outlets.has(s) || this.outlets.set(s,
|
|
471
|
+
return this.outlets.has(s) || this.outlets.set(s, Os()), this.outlets.get(s);
|
|
469
472
|
}
|
|
470
473
|
/**
|
|
471
474
|
* Show a banner notification in the specified outlet
|
|
@@ -476,6 +479,7 @@ class Os {
|
|
|
476
479
|
* @param {Object} options.props - Props to pass to the component
|
|
477
480
|
* @param {boolean} options.closeable - Whether to show close button (default: true)
|
|
478
481
|
* @param {number} options.duration - Auto-dismiss duration in ms (0 = sticky, null = use default)
|
|
482
|
+
* @param {boolean} options.persistent - Whether notification survives route changes (default: false)
|
|
479
483
|
* @param {string} outletName - Target outlet name (default: 'default')
|
|
480
484
|
*/
|
|
481
485
|
show(s = {}, t = "default") {
|
|
@@ -495,6 +499,14 @@ class Os {
|
|
|
495
499
|
for (const s of this.outlets.values())
|
|
496
500
|
s.hide();
|
|
497
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Hide all non-persistent banner notifications
|
|
504
|
+
* Called by setupNotificationGuard on route change
|
|
505
|
+
*/
|
|
506
|
+
hideAllNonPersistent() {
|
|
507
|
+
for (const s of this.outlets.values())
|
|
508
|
+
s.state.persistent || s.hide();
|
|
509
|
+
}
|
|
498
510
|
/**
|
|
499
511
|
* Pause auto-dismiss timer for the specified banner outlet
|
|
500
512
|
* @param {string} outletName - Target outlet name (default: 'default')
|
|
@@ -555,28 +567,28 @@ class Os {
|
|
|
555
567
|
type: t = "info",
|
|
556
568
|
message: a = null,
|
|
557
569
|
component: l = null,
|
|
558
|
-
props:
|
|
570
|
+
props: n = {},
|
|
559
571
|
closeable: o = !0,
|
|
560
572
|
duration: c = null,
|
|
561
|
-
position:
|
|
562
|
-
} = s, i = ++this._toastIdCounter, u =
|
|
573
|
+
position: r = null
|
|
574
|
+
} = s, i = ++this._toastIdCounter, u = r && Te.includes(r) ? r : this.toastState.defaultPosition, d = c !== null ? c : lt[t], p = {
|
|
563
575
|
id: i,
|
|
564
576
|
type: t,
|
|
565
577
|
message: a,
|
|
566
578
|
component: l ? me(l) : null,
|
|
567
|
-
props:
|
|
579
|
+
props: n,
|
|
568
580
|
closeable: o,
|
|
569
581
|
duration: d,
|
|
570
582
|
position: u,
|
|
571
583
|
createdAt: Date.now()
|
|
572
|
-
},
|
|
573
|
-
if (
|
|
574
|
-
const
|
|
575
|
-
this.hideToast(
|
|
584
|
+
}, b = this.toastState.toasts.filter((v) => v.position === u);
|
|
585
|
+
if (b.length >= this.toastState.maxToasts) {
|
|
586
|
+
const v = this.toastState.newestOnTop ? b[b.length - 1] : b[0];
|
|
587
|
+
this.hideToast(v.id);
|
|
576
588
|
}
|
|
577
589
|
if (this.toastState.newestOnTop) {
|
|
578
|
-
const
|
|
579
|
-
|
|
590
|
+
const v = this.toastState.toasts.findIndex((x) => x.position === u);
|
|
591
|
+
v === -1 ? this.toastState.toasts.push(p) : this.toastState.toasts.splice(v, 0, p);
|
|
580
592
|
} else
|
|
581
593
|
this.toastState.toasts.push(p);
|
|
582
594
|
return d > 0 && this._startToastTimer(i, d), i;
|
|
@@ -652,30 +664,47 @@ class Os {
|
|
|
652
664
|
t && (t.timeout && clearTimeout(t.timeout), this._toastTimers.delete(s));
|
|
653
665
|
}
|
|
654
666
|
}
|
|
655
|
-
const j = new
|
|
667
|
+
const j = new As(), zn = {
|
|
656
668
|
__name: "SparkNotificationOutlet",
|
|
657
669
|
props: {
|
|
658
670
|
name: {
|
|
659
671
|
type: String,
|
|
660
672
|
default: "default"
|
|
673
|
+
},
|
|
674
|
+
clearOnRouteChange: {
|
|
675
|
+
type: Boolean,
|
|
676
|
+
default: !0
|
|
661
677
|
}
|
|
662
678
|
},
|
|
663
679
|
setup(e) {
|
|
664
|
-
const s = e, t = $(() => j.getOutlet(s.name)),
|
|
665
|
-
|
|
666
|
-
() => [
|
|
680
|
+
const s = e, t = te(), a = $(() => j.getOutlet(s.name)), l = R(0);
|
|
681
|
+
z(
|
|
682
|
+
() => [a.value.state.message, a.value.state.component, a.value.state.type],
|
|
667
683
|
() => {
|
|
668
|
-
|
|
684
|
+
a.value.state.isVisible && l.value++;
|
|
685
|
+
}
|
|
686
|
+
), z(
|
|
687
|
+
() => a.value.state.isVisible,
|
|
688
|
+
(r) => {
|
|
689
|
+
r && !a.value.state.shownOnPath && (a.value.state.shownOnPath = t.path);
|
|
690
|
+
},
|
|
691
|
+
{ immediate: !0 }
|
|
692
|
+
), he(() => {
|
|
693
|
+
s.clearOnRouteChange && (t.meta.preserveNotifications || a.value.state.isVisible && (a.value.state.persistent || a.value.state.shownOnPath && a.value.state.shownOnPath !== t.path && a.value.hide()));
|
|
694
|
+
}), z(
|
|
695
|
+
() => t.path,
|
|
696
|
+
() => {
|
|
697
|
+
s.clearOnRouteChange && (t.meta.preserveNotifications || a.value.state.isVisible && (a.value.state.persistent || a.value.hide()));
|
|
669
698
|
}
|
|
670
699
|
);
|
|
671
|
-
const
|
|
700
|
+
const n = () => {
|
|
672
701
|
j.hide(s.name);
|
|
673
|
-
}, r = () => {
|
|
674
|
-
j.pause(s.name);
|
|
675
702
|
}, o = () => {
|
|
703
|
+
j.pause(s.name);
|
|
704
|
+
}, c = () => {
|
|
676
705
|
j.resume(s.name);
|
|
677
706
|
};
|
|
678
|
-
return (
|
|
707
|
+
return (r, i) => (m(), H(dt, {
|
|
679
708
|
"enter-active-class": "transition-all duration-300 ease-out",
|
|
680
709
|
"enter-from-class": "opacity-0 -translate-y-2",
|
|
681
710
|
"enter-to-class": "opacity-100 translate-y-0",
|
|
@@ -684,18 +713,18 @@ const j = new Os(), zn = {
|
|
|
684
713
|
"leave-to-class": "opacity-0 -translate-y-2",
|
|
685
714
|
mode: "out-in"
|
|
686
715
|
}, {
|
|
687
|
-
default:
|
|
688
|
-
|
|
689
|
-
key:
|
|
690
|
-
type:
|
|
691
|
-
closeable:
|
|
692
|
-
onClose:
|
|
693
|
-
onMouseenter:
|
|
694
|
-
onMouseleave:
|
|
716
|
+
default: P(() => [
|
|
717
|
+
a.value.state.isVisible ? (m(), H(oe, {
|
|
718
|
+
key: l.value,
|
|
719
|
+
type: a.value.state.type,
|
|
720
|
+
closeable: a.value.state.closeable,
|
|
721
|
+
onClose: n,
|
|
722
|
+
onMouseenter: o,
|
|
723
|
+
onMouseleave: c
|
|
695
724
|
}, {
|
|
696
|
-
default:
|
|
697
|
-
|
|
698
|
-
|
|
725
|
+
default: P(() => [
|
|
726
|
+
a.value.state.component ? (m(), H(Z(a.value.state.component), pt(q({ key: 0 }, a.value.state.props)), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
727
|
+
A(M(a.value.state.message), 1)
|
|
699
728
|
], 64))
|
|
700
729
|
]),
|
|
701
730
|
_: 1
|
|
@@ -704,7 +733,7 @@ const j = new Os(), zn = {
|
|
|
704
733
|
_: 1
|
|
705
734
|
}));
|
|
706
735
|
}
|
|
707
|
-
},
|
|
736
|
+
}, Bs = { class: "fixed top-4 left-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, Ds = { class: "fixed top-4 right-4 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, js = { class: "fixed top-[40%] left-1/2 -translate-x-1/2 -translate-y-1/2 z-[2000] flex flex-col gap-3 max-w-sm w-full pointer-events-none" }, zs = { class: "fixed bottom-4 left-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, Is = { class: "fixed bottom-4 right-4 z-[2000] flex flex-col-reverse gap-3 max-w-sm w-full pointer-events-none" }, In = {
|
|
708
737
|
__name: "SparkToastContainer",
|
|
709
738
|
setup(e) {
|
|
710
739
|
const s = j.toastState, t = $(
|
|
@@ -713,19 +742,19 @@ const j = new Os(), zn = {
|
|
|
713
742
|
() => s.toasts.filter((u) => u.position === "top-right")
|
|
714
743
|
), l = $(
|
|
715
744
|
() => s.toasts.filter((u) => u.position === "center")
|
|
716
|
-
),
|
|
745
|
+
), n = $(
|
|
717
746
|
() => s.toasts.filter((u) => u.position === "bottom-left")
|
|
718
747
|
), o = $(
|
|
719
748
|
() => s.toasts.filter((u) => u.position === "bottom-right")
|
|
720
749
|
), c = (u) => {
|
|
721
750
|
j.hideToast(u);
|
|
722
|
-
},
|
|
751
|
+
}, r = (u) => {
|
|
723
752
|
j.pauseToast(u);
|
|
724
753
|
}, i = (u) => {
|
|
725
754
|
j.resumeToast(u);
|
|
726
755
|
};
|
|
727
756
|
return (u, d) => (m(), H(ft, { to: "body" }, [
|
|
728
|
-
f("div",
|
|
757
|
+
f("div", Bs, [
|
|
729
758
|
k(ie, {
|
|
730
759
|
"enter-active-class": "transition-all duration-300 ease-out",
|
|
731
760
|
"enter-from-class": "opacity-0 -translate-x-4",
|
|
@@ -734,24 +763,24 @@ const j = new Os(), zn = {
|
|
|
734
763
|
"leave-from-class": "opacity-100 translate-x-0",
|
|
735
764
|
"leave-to-class": "opacity-0 -translate-x-4"
|
|
736
765
|
}, {
|
|
737
|
-
default:
|
|
738
|
-
(m(!0), g(E, null,
|
|
766
|
+
default: P(() => [
|
|
767
|
+
(m(!0), g(E, null, I(t.value, (p) => (m(), g("div", {
|
|
739
768
|
key: p.id,
|
|
740
769
|
class: "pointer-events-auto"
|
|
741
770
|
}, [
|
|
742
|
-
k(
|
|
771
|
+
k(oe, {
|
|
743
772
|
type: p.type,
|
|
744
773
|
closeable: p.closeable,
|
|
745
|
-
onClose: (
|
|
746
|
-
onMouseenter: (
|
|
747
|
-
onMouseleave: (
|
|
774
|
+
onClose: (b) => c(p.id),
|
|
775
|
+
onMouseenter: (b) => r(p.id),
|
|
776
|
+
onMouseleave: (b) => i(p.id)
|
|
748
777
|
}, {
|
|
749
|
-
default:
|
|
778
|
+
default: P(() => [
|
|
750
779
|
p.component ? (m(), H(Z(p.component), q({
|
|
751
780
|
key: 0,
|
|
752
781
|
ref_for: !0
|
|
753
782
|
}, p.props), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
754
|
-
|
|
783
|
+
A(M(p.message), 1)
|
|
755
784
|
], 64))
|
|
756
785
|
]),
|
|
757
786
|
_: 2
|
|
@@ -761,7 +790,7 @@ const j = new Os(), zn = {
|
|
|
761
790
|
_: 1
|
|
762
791
|
})
|
|
763
792
|
]),
|
|
764
|
-
f("div",
|
|
793
|
+
f("div", Ds, [
|
|
765
794
|
k(ie, {
|
|
766
795
|
"enter-active-class": "transition-all duration-300 ease-out",
|
|
767
796
|
"enter-from-class": "opacity-0 translate-x-4",
|
|
@@ -770,24 +799,24 @@ const j = new Os(), zn = {
|
|
|
770
799
|
"leave-from-class": "opacity-100 translate-x-0",
|
|
771
800
|
"leave-to-class": "opacity-0 translate-x-4"
|
|
772
801
|
}, {
|
|
773
|
-
default:
|
|
774
|
-
(m(!0), g(E, null,
|
|
802
|
+
default: P(() => [
|
|
803
|
+
(m(!0), g(E, null, I(a.value, (p) => (m(), g("div", {
|
|
775
804
|
key: p.id,
|
|
776
805
|
class: "pointer-events-auto"
|
|
777
806
|
}, [
|
|
778
|
-
k(
|
|
807
|
+
k(oe, {
|
|
779
808
|
type: p.type,
|
|
780
809
|
closeable: p.closeable,
|
|
781
|
-
onClose: (
|
|
782
|
-
onMouseenter: (
|
|
783
|
-
onMouseleave: (
|
|
810
|
+
onClose: (b) => c(p.id),
|
|
811
|
+
onMouseenter: (b) => r(p.id),
|
|
812
|
+
onMouseleave: (b) => i(p.id)
|
|
784
813
|
}, {
|
|
785
|
-
default:
|
|
814
|
+
default: P(() => [
|
|
786
815
|
p.component ? (m(), H(Z(p.component), q({
|
|
787
816
|
key: 0,
|
|
788
817
|
ref_for: !0
|
|
789
818
|
}, p.props), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
790
|
-
|
|
819
|
+
A(M(p.message), 1)
|
|
791
820
|
], 64))
|
|
792
821
|
]),
|
|
793
822
|
_: 2
|
|
@@ -806,24 +835,24 @@ const j = new Os(), zn = {
|
|
|
806
835
|
"leave-from-class": "opacity-100 scale-100",
|
|
807
836
|
"leave-to-class": "opacity-0 scale-95"
|
|
808
837
|
}, {
|
|
809
|
-
default:
|
|
810
|
-
(m(!0), g(E, null,
|
|
838
|
+
default: P(() => [
|
|
839
|
+
(m(!0), g(E, null, I(l.value, (p) => (m(), g("div", {
|
|
811
840
|
key: p.id,
|
|
812
841
|
class: "pointer-events-auto"
|
|
813
842
|
}, [
|
|
814
|
-
k(
|
|
843
|
+
k(oe, {
|
|
815
844
|
type: p.type,
|
|
816
845
|
closeable: p.closeable,
|
|
817
|
-
onClose: (
|
|
818
|
-
onMouseenter: (
|
|
819
|
-
onMouseleave: (
|
|
846
|
+
onClose: (b) => c(p.id),
|
|
847
|
+
onMouseenter: (b) => r(p.id),
|
|
848
|
+
onMouseleave: (b) => i(p.id)
|
|
820
849
|
}, {
|
|
821
|
-
default:
|
|
850
|
+
default: P(() => [
|
|
822
851
|
p.component ? (m(), H(Z(p.component), q({
|
|
823
852
|
key: 0,
|
|
824
853
|
ref_for: !0
|
|
825
854
|
}, p.props), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
826
|
-
|
|
855
|
+
A(M(p.message), 1)
|
|
827
856
|
], 64))
|
|
828
857
|
]),
|
|
829
858
|
_: 2
|
|
@@ -842,24 +871,24 @@ const j = new Os(), zn = {
|
|
|
842
871
|
"leave-from-class": "opacity-100 translate-x-0",
|
|
843
872
|
"leave-to-class": "opacity-0 -translate-x-4"
|
|
844
873
|
}, {
|
|
845
|
-
default:
|
|
846
|
-
(m(!0), g(E, null,
|
|
874
|
+
default: P(() => [
|
|
875
|
+
(m(!0), g(E, null, I(n.value, (p) => (m(), g("div", {
|
|
847
876
|
key: p.id,
|
|
848
877
|
class: "pointer-events-auto"
|
|
849
878
|
}, [
|
|
850
|
-
k(
|
|
879
|
+
k(oe, {
|
|
851
880
|
type: p.type,
|
|
852
881
|
closeable: p.closeable,
|
|
853
|
-
onClose: (
|
|
854
|
-
onMouseenter: (
|
|
855
|
-
onMouseleave: (
|
|
882
|
+
onClose: (b) => c(p.id),
|
|
883
|
+
onMouseenter: (b) => r(p.id),
|
|
884
|
+
onMouseleave: (b) => i(p.id)
|
|
856
885
|
}, {
|
|
857
|
-
default:
|
|
886
|
+
default: P(() => [
|
|
858
887
|
p.component ? (m(), H(Z(p.component), q({
|
|
859
888
|
key: 0,
|
|
860
889
|
ref_for: !0
|
|
861
890
|
}, p.props), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
862
|
-
|
|
891
|
+
A(M(p.message), 1)
|
|
863
892
|
], 64))
|
|
864
893
|
]),
|
|
865
894
|
_: 2
|
|
@@ -878,24 +907,24 @@ const j = new Os(), zn = {
|
|
|
878
907
|
"leave-from-class": "opacity-100 translate-x-0",
|
|
879
908
|
"leave-to-class": "opacity-0 translate-x-4"
|
|
880
909
|
}, {
|
|
881
|
-
default:
|
|
882
|
-
(m(!0), g(E, null,
|
|
910
|
+
default: P(() => [
|
|
911
|
+
(m(!0), g(E, null, I(o.value, (p) => (m(), g("div", {
|
|
883
912
|
key: p.id,
|
|
884
913
|
class: "pointer-events-auto"
|
|
885
914
|
}, [
|
|
886
|
-
k(
|
|
915
|
+
k(oe, {
|
|
887
916
|
type: p.type,
|
|
888
917
|
closeable: p.closeable,
|
|
889
|
-
onClose: (
|
|
890
|
-
onMouseenter: (
|
|
891
|
-
onMouseleave: (
|
|
918
|
+
onClose: (b) => c(p.id),
|
|
919
|
+
onMouseenter: (b) => r(p.id),
|
|
920
|
+
onMouseleave: (b) => i(p.id)
|
|
892
921
|
}, {
|
|
893
|
-
default:
|
|
922
|
+
default: P(() => [
|
|
894
923
|
p.component ? (m(), H(Z(p.component), q({
|
|
895
924
|
key: 0,
|
|
896
925
|
ref_for: !0
|
|
897
926
|
}, p.props), null, 16)) : (m(), g(E, { key: 1 }, [
|
|
898
|
-
|
|
927
|
+
A(M(p.message), 1)
|
|
899
928
|
], 64))
|
|
900
929
|
]),
|
|
901
930
|
_: 2
|
|
@@ -912,36 +941,36 @@ const j = new Os(), zn = {
|
|
|
912
941
|
() => {
|
|
913
942
|
const e = K({
|
|
914
943
|
brands: []
|
|
915
|
-
}), s = (
|
|
916
|
-
if (!
|
|
944
|
+
}), s = (n = {}) => {
|
|
945
|
+
if (!n.brands || !Array.isArray(n.brands)) {
|
|
917
946
|
console.warn("useSparkBrandFilterStore: No brands provided to initialize()"), e.brands = [];
|
|
918
947
|
return;
|
|
919
948
|
}
|
|
920
|
-
const o =
|
|
921
|
-
const i =
|
|
922
|
-
return i || console.warn("useSparkBrandFilterStore: Invalid brand object",
|
|
923
|
-
}), c = o.filter((
|
|
924
|
-
c.length === 0 && o.length > 0 ? o[0].current = !0 : c.length > 1 && o.forEach((
|
|
925
|
-
|
|
926
|
-
}), e.brands = o.map((
|
|
927
|
-
id:
|
|
928
|
-
name:
|
|
929
|
-
logo:
|
|
930
|
-
current:
|
|
949
|
+
const o = n.brands.filter((r) => {
|
|
950
|
+
const i = r.name && r.logo;
|
|
951
|
+
return i || console.warn("useSparkBrandFilterStore: Invalid brand object", r), i;
|
|
952
|
+
}), c = o.filter((r) => r.current);
|
|
953
|
+
c.length === 0 && o.length > 0 ? o[0].current = !0 : c.length > 1 && o.forEach((r) => {
|
|
954
|
+
r.current = r === c[0];
|
|
955
|
+
}), e.brands = o.map((r) => ({
|
|
956
|
+
id: r.id,
|
|
957
|
+
name: r.name,
|
|
958
|
+
logo: r.logo,
|
|
959
|
+
current: r.current || !1
|
|
931
960
|
}));
|
|
932
|
-
}, t = $(() => e.brands.find((
|
|
961
|
+
}, t = $(() => e.brands.find((n) => n.current) || null), a = $(() => e.brands);
|
|
933
962
|
return {
|
|
934
963
|
state: e,
|
|
935
964
|
initialize: s,
|
|
936
965
|
currentBrand: t,
|
|
937
966
|
allBrands: a,
|
|
938
|
-
toggleBrand: (
|
|
939
|
-
if (!
|
|
967
|
+
toggleBrand: (n) => {
|
|
968
|
+
if (!n || !e.brands.includes(n)) {
|
|
940
969
|
console.warn("useSparkBrandFilterStore: Invalid brand provided to toggleBrand()");
|
|
941
970
|
return;
|
|
942
971
|
}
|
|
943
972
|
e.brands.forEach((o) => {
|
|
944
|
-
o.current = o ===
|
|
973
|
+
o.current = o === n;
|
|
945
974
|
});
|
|
946
975
|
}
|
|
947
976
|
};
|
|
@@ -961,10 +990,10 @@ const j = new Os(), zn = {
|
|
|
961
990
|
__name: "SparkBrandSelector",
|
|
962
991
|
emits: ["close", "select"],
|
|
963
992
|
setup(e, { emit: s }) {
|
|
964
|
-
const t = s, a = it(), l = (
|
|
965
|
-
t("select",
|
|
993
|
+
const t = s, a = it(), l = (n) => {
|
|
994
|
+
t("select", n);
|
|
966
995
|
};
|
|
967
|
-
return (
|
|
996
|
+
return (n, o) => {
|
|
968
997
|
const c = F("font-awesome-icon");
|
|
969
998
|
return m(), g("div", Ns, [
|
|
970
999
|
f("div", Zs, [
|
|
@@ -973,30 +1002,30 @@ const j = new Os(), zn = {
|
|
|
973
1002
|
o[1] || (o[1] = f("div", null, "Filter by Brand", -1)),
|
|
974
1003
|
f("div", Ks, [
|
|
975
1004
|
k(c, {
|
|
976
|
-
icon:
|
|
1005
|
+
icon: S(O).farTimes,
|
|
977
1006
|
class: "size-4 text-gray-400 cursor-pointer",
|
|
978
|
-
onClick: o[0] || (o[0] = (
|
|
1007
|
+
onClick: o[0] || (o[0] = (r) => t("close"))
|
|
979
1008
|
}, null, 8, ["icon"])
|
|
980
1009
|
])
|
|
981
1010
|
]),
|
|
982
|
-
|
|
983
|
-
(m(!0), g(E, null,
|
|
984
|
-
key:
|
|
985
|
-
class: V([
|
|
986
|
-
onClick: (i) => l(
|
|
1011
|
+
S(a).allBrands.length === 0 ? (m(), g("div", Gs, " No brands configured ")) : T("", !0),
|
|
1012
|
+
(m(!0), g(E, null, I(S(a).allBrands, (r) => (m(), g("div", {
|
|
1013
|
+
key: r.id,
|
|
1014
|
+
class: V([r.current ? "bg-gray-50" : "hover:bg-gray-50", "flex px-[22px] py-[15px] cursor-pointer"]),
|
|
1015
|
+
onClick: (i) => l(r)
|
|
987
1016
|
}, [
|
|
988
1017
|
f("div", Ys, [
|
|
989
1018
|
f("div", Xs, [
|
|
990
1019
|
f("div", Js, [
|
|
991
|
-
f("div", Qs, M(
|
|
992
|
-
|
|
1020
|
+
f("div", Qs, M(r.name), 1),
|
|
1021
|
+
r.current ? (m(), g("span", ea, " Current ")) : T("", !0)
|
|
993
1022
|
]),
|
|
994
|
-
f("div", ta, M(
|
|
1023
|
+
f("div", ta, M(r.current ? "Current Brand" : "Change to"), 1)
|
|
995
1024
|
]),
|
|
996
1025
|
f("div", sa, [
|
|
997
1026
|
f("img", {
|
|
998
|
-
src:
|
|
999
|
-
alt: `${
|
|
1027
|
+
src: r.logo,
|
|
1028
|
+
alt: `${r.name} logo`,
|
|
1000
1029
|
class: "h-8 w-auto"
|
|
1001
1030
|
}, null, 8, aa)
|
|
1002
1031
|
])
|
|
@@ -1032,16 +1061,16 @@ const j = new Os(), zn = {
|
|
|
1032
1061
|
},
|
|
1033
1062
|
emits: ["click"],
|
|
1034
1063
|
setup(e) {
|
|
1035
|
-
const s = e, t = R(null), a =
|
|
1064
|
+
const s = e, t = R(null), a = Se("buttonGroup", null), l = $(() => {
|
|
1036
1065
|
if (!a?.isInGroup || !t.value) return null;
|
|
1037
|
-
const
|
|
1066
|
+
const r = a.getButtonIndex(t.value), i = a.getButtonCount();
|
|
1038
1067
|
return {
|
|
1039
|
-
isFirst:
|
|
1040
|
-
isLast:
|
|
1041
|
-
index:
|
|
1068
|
+
isFirst: r === 0,
|
|
1069
|
+
isLast: r === i - 1,
|
|
1070
|
+
index: r,
|
|
1042
1071
|
total: i
|
|
1043
1072
|
};
|
|
1044
|
-
}),
|
|
1073
|
+
}), n = {
|
|
1045
1074
|
paddingX: /^px-/,
|
|
1046
1075
|
paddingY: /^py-/,
|
|
1047
1076
|
paddingAll: /^p-/,
|
|
@@ -1051,74 +1080,74 @@ const j = new Os(), zn = {
|
|
|
1051
1080
|
borderRadius: /^rounded-/,
|
|
1052
1081
|
background: /^bg-/,
|
|
1053
1082
|
text: /^text-(?!white|black)/
|
|
1054
|
-
}, o = (
|
|
1055
|
-
if (!i) return
|
|
1056
|
-
const u =
|
|
1057
|
-
return [...u.filter((
|
|
1058
|
-
const x = Object.entries(
|
|
1059
|
-
([w,
|
|
1060
|
-
)?.[0], h = Object.entries(
|
|
1061
|
-
([w,
|
|
1083
|
+
}, o = (r, i) => {
|
|
1084
|
+
if (!i) return r;
|
|
1085
|
+
const u = r.split(" ").filter(Boolean), d = i.split(" ").filter(Boolean);
|
|
1086
|
+
return [...u.filter((b) => !d.some((v) => {
|
|
1087
|
+
const x = Object.entries(n).find(
|
|
1088
|
+
([w, C]) => C.test(b)
|
|
1089
|
+
)?.[0], h = Object.entries(n).find(
|
|
1090
|
+
([w, C]) => C.test(v)
|
|
1062
1091
|
)?.[0];
|
|
1063
1092
|
return x && x === h;
|
|
1064
1093
|
})), ...d].join(" ");
|
|
1065
1094
|
}, c = $(() => {
|
|
1066
|
-
let
|
|
1095
|
+
let r = "", i = "";
|
|
1067
1096
|
switch (s.size) {
|
|
1068
1097
|
case "xs":
|
|
1069
|
-
|
|
1098
|
+
r += " px-4 py-1 text-xs", i = "sm";
|
|
1070
1099
|
break;
|
|
1071
1100
|
case "sm":
|
|
1072
|
-
|
|
1101
|
+
r += " px-4 py-1 text-sm", i = "sm";
|
|
1073
1102
|
break;
|
|
1074
1103
|
case "md":
|
|
1075
|
-
|
|
1104
|
+
r += " px-5 py-1.5 text-sm", i = "md";
|
|
1076
1105
|
break;
|
|
1077
1106
|
case "lg":
|
|
1078
|
-
|
|
1107
|
+
r += " px-6 py-2 text-sm", i = "md";
|
|
1079
1108
|
break;
|
|
1080
1109
|
case "xl":
|
|
1081
|
-
|
|
1110
|
+
r += " px-7 py-2.5 min-h-[42px] text-sm", i = "md";
|
|
1082
1111
|
break;
|
|
1083
1112
|
}
|
|
1084
1113
|
if (a?.isInGroup && l.value) {
|
|
1085
1114
|
const { isFirst: u, isLast: d } = l.value;
|
|
1086
|
-
|
|
1115
|
+
r += " relative inline-flex items-center focus:z-10", u && d ? r += ` rounded-${i}` : u ? r += ` rounded-l-${i} rounded-r-none` : d ? r += ` rounded-r-${i} rounded-l-none -ml-px` : r += " rounded-none -ml-px";
|
|
1087
1116
|
} else
|
|
1088
|
-
|
|
1117
|
+
r += ` shadow-xs rounded-${i}`;
|
|
1089
1118
|
switch (s.variant) {
|
|
1090
1119
|
case "primary":
|
|
1091
|
-
|
|
1120
|
+
r += " bg-primary-600 hover:bg-primary-500 text-white";
|
|
1092
1121
|
break;
|
|
1093
1122
|
case "secondary":
|
|
1094
|
-
|
|
1123
|
+
r += " ring-1 ring-gray-300 ring-inset bg-white hover:bg-gray-50 text-gray-900";
|
|
1095
1124
|
break;
|
|
1096
1125
|
case "success":
|
|
1097
|
-
|
|
1126
|
+
r += " bg-green-600 hover:bg-green-500 text-white";
|
|
1098
1127
|
break;
|
|
1099
1128
|
case "warning":
|
|
1100
|
-
|
|
1129
|
+
r += " bg-amber-600 hover:bg-amber-500 text-white";
|
|
1101
1130
|
break;
|
|
1102
1131
|
case "danger":
|
|
1103
|
-
|
|
1132
|
+
r += " bg-red-600 hover:bg-red-500 text-white";
|
|
1104
1133
|
break;
|
|
1105
1134
|
case "info":
|
|
1106
|
-
|
|
1135
|
+
r += " bg-cyan-600 hover:bg-cyan-500 text-white";
|
|
1107
1136
|
break;
|
|
1108
1137
|
default:
|
|
1109
|
-
|
|
1138
|
+
r += ` bg-${s.variant}-600 hover:bg-${s.variant}-500 text-white`;
|
|
1110
1139
|
}
|
|
1111
|
-
return
|
|
1140
|
+
return r = o(r, s.buttonClass), r;
|
|
1112
1141
|
});
|
|
1113
|
-
return (
|
|
1142
|
+
return (r, i) => (m(), g("button", {
|
|
1114
1143
|
type: "button",
|
|
1115
1144
|
ref_key: "buttonRef",
|
|
1116
1145
|
ref: t,
|
|
1117
1146
|
class: V(c.value),
|
|
1118
1147
|
disabled: e.disabled,
|
|
1119
|
-
onClick: i[0] || (i[0] = (u) =>
|
|
1148
|
+
onClick: i[0] || (i[0] = (u) => r.$emit("click"))
|
|
1120
1149
|
}, [
|
|
1121
|
-
|
|
1150
|
+
B(r.$slots, "default")
|
|
1122
1151
|
], 10, ra));
|
|
1123
1152
|
}
|
|
1124
1153
|
}, na = {
|
|
@@ -1129,12 +1158,12 @@ const j = new Os(), zn = {
|
|
|
1129
1158
|
isInGroup: !0,
|
|
1130
1159
|
getButtonIndex: (l) => s.value ? Array.from(s.value.children).indexOf(l) : -1,
|
|
1131
1160
|
getButtonCount: () => s.value?.children.length || 0
|
|
1132
|
-
}), (l,
|
|
1161
|
+
}), (l, n) => (m(), g("div", {
|
|
1133
1162
|
class: "inline-flex rounded-md shadow-xs",
|
|
1134
1163
|
ref_key: "groupRef",
|
|
1135
1164
|
ref: s
|
|
1136
1165
|
}, [
|
|
1137
|
-
|
|
1166
|
+
B(l.$slots, "default")
|
|
1138
1167
|
], 512));
|
|
1139
1168
|
}
|
|
1140
1169
|
}, la = { class: "divide-y divide-gray-300 rounded-lg border border-gray-300 text-gray-700 bg-gray-100" }, ia = {
|
|
@@ -1159,15 +1188,15 @@ const j = new Os(), zn = {
|
|
|
1159
1188
|
const s = e;
|
|
1160
1189
|
return (t, a) => (m(), g("div", la, [
|
|
1161
1190
|
t.$slots.header ? (m(), g("div", ia, [
|
|
1162
|
-
|
|
1191
|
+
B(t.$slots, "header")
|
|
1163
1192
|
])) : T("", !0),
|
|
1164
1193
|
f("div", {
|
|
1165
1194
|
class: V([s.padded ? s.paddedClass : ""])
|
|
1166
1195
|
}, [
|
|
1167
|
-
|
|
1196
|
+
B(t.$slots, "default")
|
|
1168
1197
|
], 2),
|
|
1169
1198
|
t.$slots.footer ? (m(), g("div", ca, [
|
|
1170
|
-
|
|
1199
|
+
B(t.$slots, "footer")
|
|
1171
1200
|
])) : T("", !0)
|
|
1172
1201
|
]));
|
|
1173
1202
|
}
|
|
@@ -1229,19 +1258,19 @@ const j = new Os(), zn = {
|
|
|
1229
1258
|
},
|
|
1230
1259
|
emits: ["update:modelValue", "upload-start", "upload-success", "upload-error"],
|
|
1231
1260
|
setup(e, { emit: s }) {
|
|
1232
|
-
const t = e, a = s, l =
|
|
1261
|
+
const t = e, a = s, l = Se("axios"), n = R(!1), o = R(!1);
|
|
1233
1262
|
function c() {
|
|
1234
1263
|
a("update:modelValue", "");
|
|
1235
1264
|
}
|
|
1236
|
-
function
|
|
1237
|
-
t.disabled ||
|
|
1265
|
+
function r() {
|
|
1266
|
+
t.disabled || n.value || (o.value = !0);
|
|
1238
1267
|
}
|
|
1239
1268
|
function i() {
|
|
1240
1269
|
o.value = !1;
|
|
1241
1270
|
}
|
|
1242
|
-
function u(
|
|
1243
|
-
if (o.value = !1, t.disabled ||
|
|
1244
|
-
const x =
|
|
1271
|
+
function u(v) {
|
|
1272
|
+
if (o.value = !1, t.disabled || n.value) return;
|
|
1273
|
+
const x = v.dataTransfer?.files?.[0];
|
|
1245
1274
|
if (x) {
|
|
1246
1275
|
if (!d(x)) {
|
|
1247
1276
|
j.show({
|
|
@@ -1250,33 +1279,33 @@ const j = new Os(), zn = {
|
|
|
1250
1279
|
});
|
|
1251
1280
|
return;
|
|
1252
1281
|
}
|
|
1253
|
-
|
|
1282
|
+
b(x);
|
|
1254
1283
|
}
|
|
1255
1284
|
}
|
|
1256
|
-
function d(
|
|
1285
|
+
function d(v) {
|
|
1257
1286
|
const x = t.accept.split(",").map((h) => h.trim());
|
|
1258
1287
|
for (const h of x) {
|
|
1259
1288
|
if (h === "*/*") return !0;
|
|
1260
1289
|
if (h.endsWith("/*")) {
|
|
1261
1290
|
const w = h.slice(0, -2);
|
|
1262
|
-
if (
|
|
1291
|
+
if (v.type.startsWith(w + "/")) return !0;
|
|
1263
1292
|
} else if (h.startsWith(".")) {
|
|
1264
|
-
if (
|
|
1265
|
-
} else if (
|
|
1293
|
+
if (v.name.toLowerCase().endsWith(h.toLowerCase())) return !0;
|
|
1294
|
+
} else if (v.type === h) return !0;
|
|
1266
1295
|
}
|
|
1267
1296
|
return !1;
|
|
1268
1297
|
}
|
|
1269
|
-
function p(
|
|
1270
|
-
if (!
|
|
1271
|
-
const x =
|
|
1272
|
-
x &&
|
|
1298
|
+
function p(v) {
|
|
1299
|
+
if (!v || v.length === 0) return;
|
|
1300
|
+
const x = v[0].file;
|
|
1301
|
+
x && b(x);
|
|
1273
1302
|
}
|
|
1274
|
-
async function v
|
|
1275
|
-
|
|
1303
|
+
async function b(v) {
|
|
1304
|
+
n.value = !0, a("upload-start");
|
|
1276
1305
|
try {
|
|
1277
1306
|
const x = new FormData();
|
|
1278
|
-
x.append(t.fieldName,
|
|
1279
|
-
x.append(
|
|
1307
|
+
x.append(t.fieldName, v), Object.entries(t.extraFields).forEach(([C, y]) => {
|
|
1308
|
+
x.append(C, y);
|
|
1280
1309
|
});
|
|
1281
1310
|
const h = await l.post(t.uploadUrl, x, {
|
|
1282
1311
|
headers: { "Content-Type": "multipart/form-data" }
|
|
@@ -1291,10 +1320,10 @@ const j = new Os(), zn = {
|
|
|
1291
1320
|
message: x.response?.data?.message || "Failed to upload image."
|
|
1292
1321
|
});
|
|
1293
1322
|
} finally {
|
|
1294
|
-
|
|
1323
|
+
n.value = !1;
|
|
1295
1324
|
}
|
|
1296
1325
|
}
|
|
1297
|
-
return (
|
|
1326
|
+
return (v, x) => {
|
|
1298
1327
|
const h = F("font-awesome-icon"), w = F("FormKit");
|
|
1299
1328
|
return m(), g("div", null, [
|
|
1300
1329
|
e.label ? (m(), g("label", ua, M(e.label), 1)) : T("", !0),
|
|
@@ -1317,7 +1346,7 @@ const j = new Os(), zn = {
|
|
|
1317
1346
|
onClick: c
|
|
1318
1347
|
}, [
|
|
1319
1348
|
k(h, {
|
|
1320
|
-
icon:
|
|
1349
|
+
icon: S(O).farXmark,
|
|
1321
1350
|
class: "text-xs"
|
|
1322
1351
|
}, null, 8, ["icon"])
|
|
1323
1352
|
], 8, ma)
|
|
@@ -1327,8 +1356,8 @@ const j = new Os(), zn = {
|
|
|
1327
1356
|
class: V(["relative rounded-md transition-colors", {
|
|
1328
1357
|
"ring-2 ring-blue-500 ring-offset-2 bg-blue-50": o.value
|
|
1329
1358
|
}]),
|
|
1330
|
-
onDragover: U(
|
|
1331
|
-
onDragenter: U(
|
|
1359
|
+
onDragover: U(r, ["prevent"]),
|
|
1360
|
+
onDragenter: U(r, ["prevent"]),
|
|
1332
1361
|
onDragleave: U(i, ["prevent"]),
|
|
1333
1362
|
onDrop: U(u, ["prevent"])
|
|
1334
1363
|
}, [
|
|
@@ -1336,21 +1365,21 @@ const j = new Os(), zn = {
|
|
|
1336
1365
|
type: "file",
|
|
1337
1366
|
name: e.name,
|
|
1338
1367
|
accept: e.accept,
|
|
1339
|
-
disabled: e.disabled ||
|
|
1368
|
+
disabled: e.disabled || n.value,
|
|
1340
1369
|
onInput: p
|
|
1341
1370
|
}, null, 8, ["name", "accept", "disabled"]),
|
|
1342
1371
|
o.value ? (m(), g("div", ha, [...x[0] || (x[0] = [
|
|
1343
1372
|
f("span", { class: "text-sm text-blue-600 font-medium" }, "Drop image here", -1)
|
|
1344
1373
|
])])) : T("", !0)
|
|
1345
1374
|
], 34)),
|
|
1346
|
-
|
|
1375
|
+
n.value ? (m(), g("p", ga, "Uploading...")) : T("", !0)
|
|
1347
1376
|
]);
|
|
1348
1377
|
};
|
|
1349
1378
|
}
|
|
1350
|
-
}, ya = { class: "px-4 pt-5 pb-4 sm:p-6" },
|
|
1379
|
+
}, ya = { class: "px-4 pt-5 pb-4 sm:p-6" }, va = {
|
|
1351
1380
|
key: 0,
|
|
1352
1381
|
class: "text-lg font-medium text-gray-900"
|
|
1353
|
-
},
|
|
1382
|
+
}, ba = {
|
|
1354
1383
|
__name: "SparkModalDialog",
|
|
1355
1384
|
props: {
|
|
1356
1385
|
title: {
|
|
@@ -1416,7 +1445,7 @@ const j = new Os(), zn = {
|
|
|
1416
1445
|
success: "farCheckCircle",
|
|
1417
1446
|
warning: "farExclamationTriangle",
|
|
1418
1447
|
danger: "farCircleXmark"
|
|
1419
|
-
},
|
|
1448
|
+
}, n = $(() => s.icon || l[s.type]), o = $(() => ({
|
|
1420
1449
|
info: "bg-blue-100",
|
|
1421
1450
|
success: "bg-green-100",
|
|
1422
1451
|
warning: "bg-yellow-100",
|
|
@@ -1427,22 +1456,22 @@ const j = new Os(), zn = {
|
|
|
1427
1456
|
warning: "text-yellow-400",
|
|
1428
1457
|
danger: "text-red-400"
|
|
1429
1458
|
})[s.type]);
|
|
1430
|
-
return (
|
|
1459
|
+
return (r, i) => {
|
|
1431
1460
|
const u = F("font-awesome-icon");
|
|
1432
1461
|
return m(), g("div", ya, [
|
|
1433
|
-
|
|
1462
|
+
n.value ? (m(), g("div", {
|
|
1434
1463
|
key: 0,
|
|
1435
1464
|
class: V(["mx-auto flex size-12 items-center justify-center rounded-full", o.value])
|
|
1436
1465
|
}, [
|
|
1437
1466
|
k(u, {
|
|
1438
|
-
icon:
|
|
1467
|
+
icon: S(O)[n.value],
|
|
1439
1468
|
class: V(["h-5 w-5", c.value])
|
|
1440
1469
|
}, null, 8, ["icon", "class"])
|
|
1441
1470
|
], 2)) : T("", !0),
|
|
1442
1471
|
f("div", {
|
|
1443
|
-
class: V(["text-center", { "mt-3 sm:mt-5":
|
|
1472
|
+
class: V(["text-center", { "mt-3 sm:mt-5": n.value }])
|
|
1444
1473
|
}, [
|
|
1445
|
-
e.title ? (m(), g("h3",
|
|
1474
|
+
e.title ? (m(), g("h3", va, M(e.title), 1)) : T("", !0),
|
|
1446
1475
|
e.message ? (m(), g("div", {
|
|
1447
1476
|
key: 1,
|
|
1448
1477
|
class: V([{ "mt-2": e.title }, "text-sm text-gray-500"])
|
|
@@ -1451,13 +1480,13 @@ const j = new Os(), zn = {
|
|
|
1451
1480
|
f("div", {
|
|
1452
1481
|
class: V(["mt-5 sm:mt-6", a.value])
|
|
1453
1482
|
}, [
|
|
1454
|
-
(m(!0), g(E, null,
|
|
1483
|
+
(m(!0), g(E, null, I(t.value, (d, p) => (m(), H(S(X), {
|
|
1455
1484
|
key: p,
|
|
1456
1485
|
variant: d.variant,
|
|
1457
|
-
onClick: (
|
|
1486
|
+
onClick: (b) => r.$emit(d.event, d)
|
|
1458
1487
|
}, {
|
|
1459
|
-
default:
|
|
1460
|
-
|
|
1488
|
+
default: P(() => [
|
|
1489
|
+
A(M(d.text), 1)
|
|
1461
1490
|
]),
|
|
1462
1491
|
_: 2
|
|
1463
1492
|
}, 1032, ["variant", "onClick"]))), 128))
|
|
@@ -1497,19 +1526,19 @@ class xa {
|
|
|
1497
1526
|
const {
|
|
1498
1527
|
title: a = "Confirm",
|
|
1499
1528
|
message: l = "Are you sure?",
|
|
1500
|
-
type:
|
|
1529
|
+
type: n = "warning",
|
|
1501
1530
|
confirmText: o = "Confirm",
|
|
1502
1531
|
cancelText: c = "Cancel",
|
|
1503
|
-
confirmVariant:
|
|
1532
|
+
confirmVariant: r = "primary"
|
|
1504
1533
|
} = s;
|
|
1505
1534
|
this.show(
|
|
1506
|
-
|
|
1535
|
+
ba,
|
|
1507
1536
|
{
|
|
1508
1537
|
title: a,
|
|
1509
1538
|
message: l,
|
|
1510
|
-
type:
|
|
1539
|
+
type: n,
|
|
1511
1540
|
buttons: [
|
|
1512
|
-
{ text: o, variant:
|
|
1541
|
+
{ text: o, variant: r, event: "confirm" },
|
|
1513
1542
|
{ text: c, variant: "secondary", event: "cancel" }
|
|
1514
1543
|
]
|
|
1515
1544
|
},
|
|
@@ -1524,20 +1553,20 @@ class xa {
|
|
|
1524
1553
|
);
|
|
1525
1554
|
});
|
|
1526
1555
|
}
|
|
1527
|
-
const
|
|
1556
|
+
const re = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto" }, wa = { class: "flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0" }, _a = {
|
|
1528
1557
|
__name: "SparkModalContainer",
|
|
1529
1558
|
setup(e) {
|
|
1530
|
-
return (s, t) => (m(), H(
|
|
1559
|
+
return (s, t) => (m(), H(S(tt), {
|
|
1531
1560
|
as: "template",
|
|
1532
|
-
show:
|
|
1561
|
+
show: S(re).state.isVisible
|
|
1533
1562
|
}, {
|
|
1534
|
-
default:
|
|
1535
|
-
k(
|
|
1563
|
+
default: P(() => [
|
|
1564
|
+
k(S(st), {
|
|
1536
1565
|
class: "relative z-1000",
|
|
1537
|
-
onClose:
|
|
1566
|
+
onClose: S(re).hide
|
|
1538
1567
|
}, {
|
|
1539
|
-
default:
|
|
1540
|
-
k(
|
|
1568
|
+
default: P(() => [
|
|
1569
|
+
k(S(fe), {
|
|
1541
1570
|
as: "template",
|
|
1542
1571
|
enter: "ease-out duration-300",
|
|
1543
1572
|
"enter-from": "opacity-0",
|
|
@@ -1546,14 +1575,14 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1546
1575
|
"leave-from": "opacity-100",
|
|
1547
1576
|
"leave-to": "opacity-0"
|
|
1548
1577
|
}, {
|
|
1549
|
-
default:
|
|
1578
|
+
default: P(() => [...t[0] || (t[0] = [
|
|
1550
1579
|
f("div", { class: "fixed inset-0 bg-gray-500/75 transition-opacity" }, null, -1)
|
|
1551
1580
|
])]),
|
|
1552
1581
|
_: 1
|
|
1553
1582
|
}),
|
|
1554
1583
|
f("div", ka, [
|
|
1555
1584
|
f("div", wa, [
|
|
1556
|
-
k(
|
|
1585
|
+
k(S(fe), {
|
|
1557
1586
|
as: "template",
|
|
1558
1587
|
enter: "ease-out duration-300",
|
|
1559
1588
|
"enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
|
|
@@ -1562,10 +1591,10 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1562
1591
|
"leave-from": "opacity-100 translate-y-0 sm:scale-100",
|
|
1563
1592
|
"leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
|
1564
1593
|
}, {
|
|
1565
|
-
default:
|
|
1566
|
-
k(
|
|
1567
|
-
default:
|
|
1568
|
-
(m(), H(Z(
|
|
1594
|
+
default: P(() => [
|
|
1595
|
+
k(S(at), { 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" }, {
|
|
1596
|
+
default: P(() => [
|
|
1597
|
+
(m(), H(Z(S(re).state.content), q(S(re).state.props, Ae(S(re).state.eventHandlers)), null, 16))
|
|
1569
1598
|
]),
|
|
1570
1599
|
_: 1
|
|
1571
1600
|
})
|
|
@@ -1581,7 +1610,7 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1581
1610
|
_: 1
|
|
1582
1611
|
}, 8, ["show"]));
|
|
1583
1612
|
}
|
|
1584
|
-
}, Sa = { class: "fixed inset-0 flex" },
|
|
1613
|
+
}, Sa = { class: "fixed inset-0 flex" }, Pe = {
|
|
1585
1614
|
__name: "SparkOverlay",
|
|
1586
1615
|
props: {
|
|
1587
1616
|
position: {
|
|
@@ -1602,21 +1631,21 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1602
1631
|
md: "w-[450px]",
|
|
1603
1632
|
lg: "w-[810px]",
|
|
1604
1633
|
xl: "w-[1000px]"
|
|
1605
|
-
}, l = e,
|
|
1606
|
-
l.overlayInstance.close(),
|
|
1634
|
+
}, l = e, n = s, o = $(() => a[l.overlayInstance.state.size] || a.md), c = () => {
|
|
1635
|
+
l.overlayInstance.close(), n("close");
|
|
1607
1636
|
};
|
|
1608
|
-
return (
|
|
1637
|
+
return (r, i) => (m(), H(S(tt), {
|
|
1609
1638
|
show: e.overlayInstance.state.isVisible,
|
|
1610
1639
|
as: "template"
|
|
1611
1640
|
}, {
|
|
1612
|
-
default:
|
|
1613
|
-
k(
|
|
1641
|
+
default: P(() => [
|
|
1642
|
+
k(S(st), {
|
|
1614
1643
|
initialFocus: t.value,
|
|
1615
1644
|
class: "relative z-1000",
|
|
1616
1645
|
onClose: c
|
|
1617
1646
|
}, {
|
|
1618
|
-
default:
|
|
1619
|
-
k(
|
|
1647
|
+
default: P(() => [
|
|
1648
|
+
k(S(fe), {
|
|
1620
1649
|
as: "template",
|
|
1621
1650
|
enter: "transition-opacity ease-linear duration-150",
|
|
1622
1651
|
"enter-from": "opacity-0",
|
|
@@ -1625,13 +1654,13 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1625
1654
|
"leave-from": "opacity-100",
|
|
1626
1655
|
"leave-to": "opacity-0"
|
|
1627
1656
|
}, {
|
|
1628
|
-
default:
|
|
1657
|
+
default: P(() => [...i[0] || (i[0] = [
|
|
1629
1658
|
f("div", { class: "fixed inset-0 bg-gray-600/30" }, null, -1)
|
|
1630
1659
|
])]),
|
|
1631
1660
|
_: 1
|
|
1632
1661
|
}),
|
|
1633
1662
|
f("div", Sa, [
|
|
1634
|
-
k(
|
|
1663
|
+
k(S(fe), {
|
|
1635
1664
|
as: "template",
|
|
1636
1665
|
enter: "transition ease-in-out duration-150 transform",
|
|
1637
1666
|
"enter-from": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0",
|
|
@@ -1640,8 +1669,8 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1640
1669
|
"leave-from": "translate-x-0 opacity-100",
|
|
1641
1670
|
"leave-to": e.position === "left" ? "-translate-x-full opacity-0" : "translate-x-full opacity-0"
|
|
1642
1671
|
}, {
|
|
1643
|
-
default:
|
|
1644
|
-
k(
|
|
1672
|
+
default: P(() => [
|
|
1673
|
+
k(S(at), {
|
|
1645
1674
|
ref_key: "panelRef",
|
|
1646
1675
|
ref: t,
|
|
1647
1676
|
class: V([
|
|
@@ -1650,8 +1679,8 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1650
1679
|
e.position === "left" ? "relative left-[10px]" : "absolute right-[10px] h-full"
|
|
1651
1680
|
])
|
|
1652
1681
|
}, {
|
|
1653
|
-
default:
|
|
1654
|
-
(m(), H(Z(e.overlayInstance.state.content), q(e.overlayInstance.state.props,
|
|
1682
|
+
default: P(() => [
|
|
1683
|
+
(m(), H(Z(e.overlayInstance.state.content), q(e.overlayInstance.state.props, Ae(e.overlayInstance.state.eventHandlers)), null, 16))
|
|
1655
1684
|
]),
|
|
1656
1685
|
_: 1
|
|
1657
1686
|
}, 8, ["class"])
|
|
@@ -1678,11 +1707,11 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1678
1707
|
return;
|
|
1679
1708
|
const l = document.createElement("span");
|
|
1680
1709
|
l.classList.add("spark-table-head-sorting"), l.innerHTML = ee({ prefix: "fad", iconName: "sort" }).html + ee({ prefix: "fad", iconName: "sort-up" }).html + ee({ prefix: "fad", iconName: "sort-down" }).html, a.appendChild(l), a.addEventListener("click", async () => {
|
|
1681
|
-
const
|
|
1682
|
-
return
|
|
1710
|
+
const n = t.params.orderBy, o = t.params.sortedBy;
|
|
1711
|
+
return n === e && o === "asc" ? (a.classList.remove("asc"), a.classList.add("desc"), t.methods.applyParams({
|
|
1683
1712
|
orderBy: e,
|
|
1684
1713
|
sortedBy: "desc"
|
|
1685
|
-
})) :
|
|
1714
|
+
})) : n === e ? (a.classList.remove("desc"), await t.methods.clearParams(["orderBy", "sortedBy"])) : (a.classList.add("asc"), t.methods.applyParams({
|
|
1686
1715
|
orderBy: e,
|
|
1687
1716
|
sortedBy: "asc"
|
|
1688
1717
|
}));
|
|
@@ -1692,28 +1721,28 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1692
1721
|
return;
|
|
1693
1722
|
const a = document.createElement("div"), l = document.createElement("input");
|
|
1694
1723
|
l.type = "text", l.placeholder = "Filter...", a.className = "spark-table-head-filter", a.appendChild(l);
|
|
1695
|
-
const
|
|
1696
|
-
const
|
|
1697
|
-
if (
|
|
1698
|
-
return t.params[i] && t.params[i] ===
|
|
1724
|
+
const n = ot(async (o, c) => {
|
|
1725
|
+
const r = c.target.value, i = `filter[${o}]`;
|
|
1726
|
+
if (r)
|
|
1727
|
+
return t.params[i] && t.params[i] === r ? void 0 : t.methods.applyParams({
|
|
1699
1728
|
page: 1,
|
|
1700
|
-
[i]:
|
|
1729
|
+
[i]: r
|
|
1701
1730
|
});
|
|
1702
1731
|
await t.methods.removeParam(i);
|
|
1703
1732
|
}, 200);
|
|
1704
|
-
l.addEventListener("keyup", (o) =>
|
|
1705
|
-
},
|
|
1733
|
+
l.addEventListener("keyup", (o) => n(e, o)), s.appendChild(a);
|
|
1734
|
+
}, Pa = (e, s, t) => {
|
|
1706
1735
|
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");
|
|
1707
1736
|
const l = e.querySelector(".colHeader");
|
|
1708
1737
|
l.classList.add("spark-table-head-title"), l.innerHTML = Ca(s);
|
|
1709
|
-
},
|
|
1738
|
+
}, La = (e, s, t) => {
|
|
1710
1739
|
if (typeof e != "number")
|
|
1711
1740
|
return e;
|
|
1712
1741
|
if (e < 0)
|
|
1713
1742
|
return;
|
|
1714
1743
|
let a = 2;
|
|
1715
|
-
const l = t.methods.colToProp(e),
|
|
1716
|
-
s.childElementCount === 1 && ((!
|
|
1744
|
+
const l = t.methods.colToProp(e), n = t.methods.getSettingsForProp(l);
|
|
1745
|
+
s.childElementCount === 1 && ((!n || !n.columnSort) && a--, (!n || !n.columnFilter) && a--, n && n.columnSort && $a(l, s, t), n && n.columnFilter && Ta(l, s, t)), (s.childElementCount === a || a === 0) && Pa(s, l, n);
|
|
1717
1746
|
}, Ma = (e) => {
|
|
1718
1747
|
if (!e.hotInstance || !e.hotInstance.rootElement)
|
|
1719
1748
|
return;
|
|
@@ -1721,10 +1750,10 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1721
1750
|
a.forEach((l) => {
|
|
1722
1751
|
l.classList.remove("asc", "desc");
|
|
1723
1752
|
}), s && t && a.forEach((l) => {
|
|
1724
|
-
const
|
|
1753
|
+
const n = l.closest("th"), o = Array.from(n.parentElement.children).indexOf(n);
|
|
1725
1754
|
e.methods.colToProp(o) === s && l.classList.add(t);
|
|
1726
1755
|
});
|
|
1727
|
-
}, Va = (e) => (s, t, a, l,
|
|
1756
|
+
}, Va = (e) => (s, t, a, l, n, o, c) => {
|
|
1728
1757
|
t.innerHTML = "", t.classList.add("spark-table-cell-actions");
|
|
1729
1758
|
const i = (c.rendererConfig || {}).actions || [];
|
|
1730
1759
|
if (i.length === 0)
|
|
@@ -1733,19 +1762,19 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1733
1762
|
d.classList.add("flex", "items-center", "gap-2"), i.forEach((p) => {
|
|
1734
1763
|
if (p.condition && typeof p.condition == "function" && !p.condition(u))
|
|
1735
1764
|
return;
|
|
1736
|
-
const
|
|
1737
|
-
if (
|
|
1738
|
-
const
|
|
1739
|
-
|
|
1765
|
+
const b = document.createElement("button");
|
|
1766
|
+
if (b.type = "button", b.classList.add("spark-table-action-button"), p.icon) {
|
|
1767
|
+
const v = document.createElement("span");
|
|
1768
|
+
v.innerHTML = ee({ prefix: "far", iconName: p.icon }).html, v.classList.add("size-4"), b.appendChild(v);
|
|
1740
1769
|
}
|
|
1741
1770
|
if (p.label) {
|
|
1742
|
-
const
|
|
1743
|
-
|
|
1771
|
+
const v = document.createElement("span");
|
|
1772
|
+
v.textContent = p.label, b.appendChild(v);
|
|
1744
1773
|
}
|
|
1745
|
-
|
|
1746
|
-
if (
|
|
1774
|
+
b.addEventListener("click", async (v) => {
|
|
1775
|
+
if (v.preventDefault(), v.stopPropagation(), p.confirm) {
|
|
1747
1776
|
const x = typeof p.confirm == "string" ? p.confirm : `Are you sure you want to ${p.label?.toLowerCase() || "perform this action"}?`;
|
|
1748
|
-
if (!await
|
|
1777
|
+
if (!await re.confirm({
|
|
1749
1778
|
title: p.confirmTitle,
|
|
1750
1779
|
message: x,
|
|
1751
1780
|
type: p.confirmType,
|
|
@@ -1756,9 +1785,9 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1756
1785
|
return;
|
|
1757
1786
|
}
|
|
1758
1787
|
p.event && e.methods.fireEvent(p.event, u), p.handler && typeof p.handler == "function" && p.handler(u);
|
|
1759
|
-
}), d.appendChild(
|
|
1788
|
+
}), d.appendChild(b);
|
|
1760
1789
|
}), t.appendChild(d);
|
|
1761
|
-
},
|
|
1790
|
+
}, Le = {
|
|
1762
1791
|
green: "bg-green-100 text-green-800",
|
|
1763
1792
|
red: "bg-red-100 text-red-800",
|
|
1764
1793
|
yellow: "bg-yellow-100 text-yellow-800",
|
|
@@ -1767,10 +1796,10 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1767
1796
|
purple: "bg-purple-100 text-purple-800",
|
|
1768
1797
|
pink: "bg-pink-100 text-pink-800",
|
|
1769
1798
|
indigo: "bg-indigo-100 text-indigo-800"
|
|
1770
|
-
}, Ha = (e) => (s, t, a, l,
|
|
1799
|
+
}, Ha = (e) => (s, t, a, l, n, o, c) => {
|
|
1771
1800
|
if (t.innerHTML = "", t.classList.add("spark-table-cell-badge"), !o)
|
|
1772
1801
|
return;
|
|
1773
|
-
const i = (c.rendererConfig || {}).colorMap || {}, u = i[o] || i[o?.toLowerCase()] || "gray", d =
|
|
1802
|
+
const i = (c.rendererConfig || {}).colorMap || {}, u = i[o] || i[o?.toLowerCase()] || "gray", d = Le[u] || Le.gray, p = document.createElement("span");
|
|
1774
1803
|
p.classList.add(
|
|
1775
1804
|
"inline-flex",
|
|
1776
1805
|
"items-center",
|
|
@@ -1801,9 +1830,9 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1801
1830
|
return s === "1" || s === "yes" || s === "true";
|
|
1802
1831
|
}
|
|
1803
1832
|
return !1;
|
|
1804
|
-
}, Fa = (e) => (s, t, a, l,
|
|
1833
|
+
}, Fa = (e) => (s, t, a, l, n, o, c) => {
|
|
1805
1834
|
t.innerHTML = "", t.classList.add("spark-table-cell-boolean");
|
|
1806
|
-
const
|
|
1835
|
+
const r = c.rendererConfig || {}, i = Ra(o), u = i ? r.trueIcon || "check" : r.falseIcon || "xmark", d = i ? r.trueColor || "green" : r.falseColor || "red", p = r.size || 32, b = r.iconPrefix || "far", v = Me[d] || Me.gray;
|
|
1807
1836
|
t.dataset.copyValue = i ? "true" : "false";
|
|
1808
1837
|
const x = document.createElement("div");
|
|
1809
1838
|
x.classList.add(
|
|
@@ -1811,24 +1840,24 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1811
1840
|
"items-center",
|
|
1812
1841
|
"justify-center",
|
|
1813
1842
|
"rounded-full",
|
|
1814
|
-
|
|
1815
|
-
|
|
1843
|
+
v.bg,
|
|
1844
|
+
v.text
|
|
1816
1845
|
), x.style.width = `${p}px`, x.style.height = `${p}px`;
|
|
1817
1846
|
const h = document.createElement("span");
|
|
1818
|
-
h.innerHTML = ee({ prefix:
|
|
1847
|
+
h.innerHTML = ee({ prefix: b, iconName: u }).html, h.classList.add("flex", "items-center", "justify-center");
|
|
1819
1848
|
const w = Math.round(p * 0.5);
|
|
1820
1849
|
h.style.fontSize = `${w}px`, x.appendChild(h), t.appendChild(x);
|
|
1821
1850
|
}, Ea = (e, s = 2) => {
|
|
1822
1851
|
const t = Number(e);
|
|
1823
1852
|
if (isNaN(t)) return null;
|
|
1824
|
-
const a = t < 0,
|
|
1853
|
+
const a = t < 0, n = Math.abs(t).toLocaleString("en-AU", {
|
|
1825
1854
|
minimumFractionDigits: s,
|
|
1826
1855
|
maximumFractionDigits: s
|
|
1827
1856
|
});
|
|
1828
|
-
return a ? `-$${
|
|
1829
|
-
},
|
|
1857
|
+
return a ? `-$${n}` : `$${n}`;
|
|
1858
|
+
}, Oa = (e) => (s, t, a, l, n, o, c) => {
|
|
1830
1859
|
t.innerHTML = "", t.classList.add("spark-table-cell-currency");
|
|
1831
|
-
const
|
|
1860
|
+
const r = c.rendererConfig || {}, { decimals: i = 2, emptyText: u = "" } = r;
|
|
1832
1861
|
if (o == null || o === "") {
|
|
1833
1862
|
t.textContent = u;
|
|
1834
1863
|
return;
|
|
@@ -1840,56 +1869,56 @@ const oe = new xa(), ka = { class: "fixed inset-0 z-10 w-screen overflow-y-auto"
|
|
|
1840
1869
|
}
|
|
1841
1870
|
const p = document.createElement("span");
|
|
1842
1871
|
p.textContent = d, t.appendChild(p);
|
|
1843
|
-
},
|
|
1872
|
+
}, Aa = (e) => (s, t, a, l, n, o, c) => {
|
|
1844
1873
|
if (t.innerHTML = "", t.classList.add("spark-table-cell-link"), !o)
|
|
1845
1874
|
return;
|
|
1846
|
-
const
|
|
1875
|
+
const r = c.rendererConfig || {}, i = s.getSourceDataAtRow(s.toPhysicalRow(a));
|
|
1847
1876
|
let u = o;
|
|
1848
|
-
|
|
1877
|
+
r.href && (typeof r.href == "function" ? u = r.href(i) : r.href === "email" ? u = `mailto:${o}` : r.href === "tel" ? u = `tel:${o}` : typeof r.href == "string" && (u = i[r.href] || o));
|
|
1849
1878
|
const d = document.createElement("a");
|
|
1850
|
-
d.href = u, d.textContent = o, d.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"),
|
|
1879
|
+
d.href = u, d.textContent = o, d.classList.add("text-primary-600", "hover:text-primary-900", "hover:underline"), r.target && (d.target = r.target), r.rel && (d.rel = r.rel), d.addEventListener("click", (p) => {
|
|
1851
1880
|
p.stopPropagation();
|
|
1852
1881
|
}), t.appendChild(d);
|
|
1853
1882
|
}, Ve = {
|
|
1854
1883
|
sm: "h-6 w-6",
|
|
1855
1884
|
md: "h-8 w-8",
|
|
1856
1885
|
lg: "h-12 w-12"
|
|
1857
|
-
},
|
|
1886
|
+
}, Ba = (e) => (s, t, a, l, n, o, c) => {
|
|
1858
1887
|
if (t.innerHTML = "", t.classList.add("spark-table-cell-image"), !o)
|
|
1859
1888
|
return;
|
|
1860
|
-
const
|
|
1861
|
-
let
|
|
1862
|
-
typeof
|
|
1863
|
-
const
|
|
1864
|
-
|
|
1865
|
-
},
|
|
1889
|
+
const r = c.rendererConfig || {}, i = s.getSourceDataAtRow(s.toPhysicalRow(a)), u = r.size || "md", d = Ve[u] || Ve.md, p = r.rounded !== !1;
|
|
1890
|
+
let b = r.alt || "";
|
|
1891
|
+
typeof r.alt == "string" && i[r.alt] && (b = i[r.alt]);
|
|
1892
|
+
const v = document.createElement("img");
|
|
1893
|
+
v.src = o, v.alt = b, v.classList.add(...d.split(" "), "object-cover"), p ? v.classList.add("rounded-full") : v.classList.add("rounded"), t.appendChild(v);
|
|
1894
|
+
}, Da = (e) => (s, t, a, l, n, o, c) => {
|
|
1866
1895
|
if (t.innerHTML = "", t.classList.add("spark-table-cell-date"), !o)
|
|
1867
1896
|
return;
|
|
1868
|
-
const
|
|
1897
|
+
const r = c.rendererConfig || {}, i = r.format || "short", u = r.locale || "en-US";
|
|
1869
1898
|
let d = o;
|
|
1870
1899
|
try {
|
|
1871
|
-
const
|
|
1872
|
-
isNaN(
|
|
1900
|
+
const b = new Date(o);
|
|
1901
|
+
isNaN(b.getTime()) ? d = o : typeof i == "function" ? d = i(b) : i === "short" ? d = b.toLocaleDateString(u) : i === "long" ? d = b.toLocaleDateString(u, {
|
|
1873
1902
|
year: "numeric",
|
|
1874
1903
|
month: "long",
|
|
1875
1904
|
day: "numeric"
|
|
1876
|
-
}) : i === "relative" ? d = ja(
|
|
1877
|
-
} catch (
|
|
1878
|
-
console.error("Error formatting date:",
|
|
1905
|
+
}) : i === "relative" ? d = ja(b) : i === "datetime" ? d = b.toLocaleString(u) : d = b.toLocaleDateString(u);
|
|
1906
|
+
} catch (b) {
|
|
1907
|
+
console.error("Error formatting date:", b), d = o;
|
|
1879
1908
|
}
|
|
1880
1909
|
const p = document.createElement("span");
|
|
1881
1910
|
p.textContent = d, t.appendChild(p);
|
|
1882
1911
|
};
|
|
1883
1912
|
function ja(e) {
|
|
1884
|
-
const t = /* @__PURE__ */ new Date() - e, a = Math.floor(Math.abs(t) / 1e3), l = Math.floor(a / 60),
|
|
1885
|
-
return a < 60 ? i ? "just now" : "in a moment" : l < 60 ? i ? `${l} minute${l > 1 ? "s" : ""} ago` : `in ${l} minute${l > 1 ? "s" : ""}` :
|
|
1913
|
+
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), c = Math.floor(o / 30), r = Math.floor(o / 365), i = t > 0;
|
|
1914
|
+
return a < 60 ? i ? "just now" : "in a moment" : l < 60 ? i ? `${l} minute${l > 1 ? "s" : ""} ago` : `in ${l} minute${l > 1 ? "s" : ""}` : n < 24 ? i ? `${n} hour${n > 1 ? "s" : ""} ago` : `in ${n} hour${n > 1 ? "s" : ""}` : o < 30 ? i ? `${o} day${o > 1 ? "s" : ""} ago` : `in ${o} day${o > 1 ? "s" : ""}` : c < 12 ? i ? `${c} month${c > 1 ? "s" : ""} ago` : `in ${c} month${c > 1 ? "s" : ""}` : i ? `${r} year${r > 1 ? "s" : ""} ago` : `in ${r} year${r > 1 ? "s" : ""}`;
|
|
1886
1915
|
}
|
|
1887
1916
|
const za = (e) => {
|
|
1888
1917
|
const s = ["th", "st", "nd", "rd"], t = e % 100;
|
|
1889
1918
|
return e + (s[(t - 20) % 10] || s[t] || s[0]);
|
|
1890
|
-
},
|
|
1919
|
+
}, N = (e, s = 2) => String(e).padStart(s, "0"), ve = /* @__PURE__ */ new Map(), Ia = (e, s) => {
|
|
1891
1920
|
const t = `${e}:${JSON.stringify(s)}`;
|
|
1892
|
-
return
|
|
1921
|
+
return ve.has(t) || ve.set(t, new Intl.DateTimeFormat(e, s)), ve.get(t);
|
|
1893
1922
|
}, ce = (e, s, t, a) => {
|
|
1894
1923
|
const o = Ia(s, t).formatToParts(e).find((c) => c.type === a);
|
|
1895
1924
|
return o ? o.value : "";
|
|
@@ -1922,8 +1951,8 @@ const za = (e) => {
|
|
|
1922
1951
|
}, He = (e, s = !0) => {
|
|
1923
1952
|
if (!e.offsetNanoseconds && e.offsetNanoseconds !== 0)
|
|
1924
1953
|
return "";
|
|
1925
|
-
const t = Math.round(e.offsetNanoseconds / 6e10), a = t >= 0 ? "+" : "-", l = Math.abs(t),
|
|
1926
|
-
return s ? `${a}${
|
|
1954
|
+
const t = Math.round(e.offsetNanoseconds / 6e10), a = t >= 0 ? "+" : "-", l = Math.abs(t), n = Math.floor(l / 60), o = l % 60;
|
|
1955
|
+
return s ? `${a}${N(n)}:${N(o)}` : `${a}${N(n)}${N(o)}`;
|
|
1927
1956
|
}, qa = (e, s) => {
|
|
1928
1957
|
const t = Za(e), a = Na(e), l = t.dayOfWeek === 7 ? 0 : t.dayOfWeek;
|
|
1929
1958
|
return [
|
|
@@ -1933,10 +1962,10 @@ const za = (e) => {
|
|
|
1933
1962
|
// Month
|
|
1934
1963
|
["MMMM", () => ce(a, s, { month: "long" }, "month")],
|
|
1935
1964
|
["MMM", () => ce(a, s, { month: "short" }, "month")],
|
|
1936
|
-
["MM", () =>
|
|
1965
|
+
["MM", () => N(t.month)],
|
|
1937
1966
|
["M", () => String(t.month)],
|
|
1938
1967
|
// Day of month
|
|
1939
|
-
["DD", () =>
|
|
1968
|
+
["DD", () => N(t.day)],
|
|
1940
1969
|
["Do", () => za(t.day)],
|
|
1941
1970
|
["D", () => String(t.day)],
|
|
1942
1971
|
// Day of week
|
|
@@ -1945,20 +1974,20 @@ const za = (e) => {
|
|
|
1945
1974
|
["dd", () => ce(a, s, { weekday: "short" }, "weekday").slice(0, 2)],
|
|
1946
1975
|
["d", () => String(l)],
|
|
1947
1976
|
// Hour
|
|
1948
|
-
["HH", () =>
|
|
1977
|
+
["HH", () => N(t.hour24)],
|
|
1949
1978
|
["H", () => String(t.hour24)],
|
|
1950
|
-
["hh", () =>
|
|
1979
|
+
["hh", () => N(t.hour12)],
|
|
1951
1980
|
["h", () => String(t.hour12)],
|
|
1952
|
-
["kk", () =>
|
|
1981
|
+
["kk", () => N(t.hourFrom1)],
|
|
1953
1982
|
["k", () => String(t.hourFrom1)],
|
|
1954
1983
|
// Minute
|
|
1955
|
-
["mm", () =>
|
|
1984
|
+
["mm", () => N(t.minute)],
|
|
1956
1985
|
["m", () => String(t.minute)],
|
|
1957
1986
|
// Second
|
|
1958
|
-
["ss", () =>
|
|
1987
|
+
["ss", () => N(t.second)],
|
|
1959
1988
|
["s", () => String(t.second)],
|
|
1960
1989
|
// Millisecond
|
|
1961
|
-
["SSS", () =>
|
|
1990
|
+
["SSS", () => N(t.millisecond, 3)],
|
|
1962
1991
|
// AM/PM
|
|
1963
1992
|
["A", () => t.isPM ? "PM" : "AM"],
|
|
1964
1993
|
["a", () => t.isPM ? "pm" : "am"],
|
|
@@ -1981,18 +2010,18 @@ const za = (e) => {
|
|
|
1981
2010
|
if (e.includes("[") || e.includes("Z") || /[+-]\d{2}:\d{2}$/.test(e))
|
|
1982
2011
|
l = Temporal.ZonedDateTime.from(e);
|
|
1983
2012
|
else {
|
|
1984
|
-
const
|
|
1985
|
-
l = Temporal.PlainDateTime.from(
|
|
2013
|
+
const r = e.replace(" ", "T");
|
|
2014
|
+
l = Temporal.PlainDateTime.from(r);
|
|
1986
2015
|
}
|
|
1987
|
-
} catch (
|
|
1988
|
-
return console.error("Failed to parse date string:", e,
|
|
2016
|
+
} catch (r) {
|
|
2017
|
+
return console.error("Failed to parse date string:", e, r), e;
|
|
1989
2018
|
}
|
|
1990
|
-
const
|
|
1991
|
-
return s.replace(c, (
|
|
2019
|
+
const n = qa(l, a), o = n.map(([r]) => r).join("|"), c = new RegExp(`\\[([^\\]]+)\\]|(${o})`, "g");
|
|
2020
|
+
return s.replace(c, (r, i, u) => {
|
|
1992
2021
|
if (i !== void 0)
|
|
1993
2022
|
return i;
|
|
1994
|
-
const d =
|
|
1995
|
-
return d ? d[1]() :
|
|
2023
|
+
const d = n.find(([p]) => p === u);
|
|
2024
|
+
return d ? d[1]() : r;
|
|
1996
2025
|
});
|
|
1997
2026
|
}, Ka = (e, s = {}) => {
|
|
1998
2027
|
const { fromTimezone: t, toTimezone: a } = s;
|
|
@@ -2000,36 +2029,36 @@ const za = (e) => {
|
|
|
2000
2029
|
return null;
|
|
2001
2030
|
const l = e.replace(" ", "T");
|
|
2002
2031
|
return t && a ? Temporal.PlainDateTime.from(l).toZonedDateTime(t).withTimeZone(a) : t ? Temporal.PlainDateTime.from(l).toZonedDateTime(t) : Temporal.PlainDateTime.from(l);
|
|
2003
|
-
}, Ga = (e) => (s, t, a, l,
|
|
2032
|
+
}, Ga = (e) => (s, t, a, l, n, o, c) => {
|
|
2004
2033
|
t.innerHTML = "", t.classList.add("spark-table-cell-datetime");
|
|
2005
|
-
const
|
|
2034
|
+
const r = c.rendererConfig || {}, {
|
|
2006
2035
|
format: i = "DD MMM YYYY, HH:mm",
|
|
2007
2036
|
fromTimezone: u,
|
|
2008
2037
|
toTimezone: d,
|
|
2009
2038
|
locale: p = "en-US",
|
|
2010
|
-
emptyText:
|
|
2011
|
-
} =
|
|
2039
|
+
emptyText: b = ""
|
|
2040
|
+
} = r;
|
|
2012
2041
|
if (!o) {
|
|
2013
|
-
t.textContent =
|
|
2042
|
+
t.textContent = b;
|
|
2014
2043
|
return;
|
|
2015
2044
|
}
|
|
2016
2045
|
try {
|
|
2017
|
-
const
|
|
2018
|
-
if (!
|
|
2019
|
-
t.textContent =
|
|
2046
|
+
const v = Ka(o, { fromTimezone: u, toTimezone: d });
|
|
2047
|
+
if (!v) {
|
|
2048
|
+
t.textContent = b;
|
|
2020
2049
|
return;
|
|
2021
2050
|
}
|
|
2022
|
-
const x = Ua(
|
|
2051
|
+
const x = Ua(v, i, { locale: p }), h = document.createElement("span");
|
|
2023
2052
|
h.textContent = x, t.appendChild(h);
|
|
2024
|
-
} catch (
|
|
2025
|
-
console.error("Error formatting datetime:",
|
|
2053
|
+
} catch (v) {
|
|
2054
|
+
console.error("Error formatting datetime:", v, { value: o, format: i }), t.textContent = o;
|
|
2026
2055
|
}
|
|
2027
2056
|
}, Wa = /* @__PURE__ */ new Map(), G = (e, s) => {
|
|
2028
|
-
ps(e, (t, a, l,
|
|
2029
|
-
fs.apply(null, [t, a, l,
|
|
2057
|
+
ps(e, (t, a, l, n, o, c, r) => {
|
|
2058
|
+
fs.apply(null, [t, a, l, n, o, c, r]), s(t, a, l, n, o, c, r);
|
|
2030
2059
|
}), Wa.set(e, s);
|
|
2031
2060
|
}, Ya = (e) => {
|
|
2032
|
-
G("spark.actions", Va(e)), G("spark.badge", Ha()), G("spark.boolean", Fa()), G("spark.currency",
|
|
2061
|
+
G("spark.actions", Va(e)), G("spark.badge", Ha()), G("spark.boolean", Fa()), G("spark.currency", Oa()), G("spark.link", Aa()), G("spark.image", Ba()), G("spark.date", Da()), G("spark.datetime", Ga()), G("style.capitalize", (s, t, a, l, n, o) => {
|
|
2033
2062
|
if (!o || o.length === 0) {
|
|
2034
2063
|
t.innerText = "";
|
|
2035
2064
|
return;
|
|
@@ -2039,12 +2068,12 @@ const za = (e) => {
|
|
|
2039
2068
|
});
|
|
2040
2069
|
}, Xa = () => {
|
|
2041
2070
|
}, Ja = (e, s = {}) => {
|
|
2042
|
-
const t = Y(), a =
|
|
2043
|
-
const
|
|
2044
|
-
return Object.keys(y).forEach((
|
|
2045
|
-
const J = y[
|
|
2046
|
-
J != null && (typeof J == "object" && !Array.isArray(J) ? Object.assign(
|
|
2047
|
-
}),
|
|
2071
|
+
const t = Y(), a = te(), l = s.namespace, n = l === null, o = s.syncToRoute !== !1, c = s.persistToStorage === !0, r = s.restoreOnMount !== !1, i = s.storageTTL || 7, u = n ? `spark-table:${a.path}` : `spark-table:${l}`, d = (y, _ = "") => {
|
|
2072
|
+
const L = {};
|
|
2073
|
+
return Object.keys(y).forEach((D) => {
|
|
2074
|
+
const J = y[D], de = _ ? `${_}[${D}]` : D;
|
|
2075
|
+
J != null && (typeof J == "object" && !Array.isArray(J) ? Object.assign(L, d(J, de)) : L[de] = String(J));
|
|
2076
|
+
}), L;
|
|
2048
2077
|
}, p = () => {
|
|
2049
2078
|
if (c)
|
|
2050
2079
|
try {
|
|
@@ -2056,22 +2085,22 @@ const za = (e) => {
|
|
|
2056
2085
|
} catch (y) {
|
|
2057
2086
|
console.warn("Failed to save table state to localStorage:", y);
|
|
2058
2087
|
}
|
|
2059
|
-
},
|
|
2088
|
+
}, b = () => {
|
|
2060
2089
|
if (!c) return null;
|
|
2061
2090
|
try {
|
|
2062
2091
|
const y = localStorage.getItem(u);
|
|
2063
2092
|
if (!y) return null;
|
|
2064
|
-
const
|
|
2093
|
+
const _ = JSON.parse(y);
|
|
2065
2094
|
if (i > 0) {
|
|
2066
|
-
const
|
|
2067
|
-
if (
|
|
2095
|
+
const L = Date.now() - _.timestamp, D = i * 24 * 60 * 60 * 1e3;
|
|
2096
|
+
if (L > D)
|
|
2068
2097
|
return localStorage.removeItem(u), null;
|
|
2069
2098
|
}
|
|
2070
|
-
return
|
|
2099
|
+
return _.params;
|
|
2071
2100
|
} catch (y) {
|
|
2072
2101
|
return console.warn("Failed to load table state from localStorage:", y), null;
|
|
2073
2102
|
}
|
|
2074
|
-
},
|
|
2103
|
+
}, v = () => {
|
|
2075
2104
|
try {
|
|
2076
2105
|
localStorage.removeItem(u);
|
|
2077
2106
|
} catch (y) {
|
|
@@ -2080,73 +2109,73 @@ const za = (e) => {
|
|
|
2080
2109
|
}, x = () => {
|
|
2081
2110
|
if (!o) return;
|
|
2082
2111
|
const y = { ...a.query };
|
|
2083
|
-
if (
|
|
2084
|
-
Object.keys(y).forEach((
|
|
2085
|
-
h(
|
|
2112
|
+
if (n) {
|
|
2113
|
+
Object.keys(y).forEach((L) => {
|
|
2114
|
+
h(L) && delete y[L];
|
|
2086
2115
|
});
|
|
2087
|
-
const
|
|
2088
|
-
Object.assign(y,
|
|
2116
|
+
const _ = d(e.params);
|
|
2117
|
+
Object.assign(y, _);
|
|
2089
2118
|
} else {
|
|
2090
|
-
Object.keys(y).forEach((
|
|
2091
|
-
(
|
|
2119
|
+
Object.keys(y).forEach((L) => {
|
|
2120
|
+
(L.startsWith(`${l}[`) || L === l) && delete y[L];
|
|
2092
2121
|
});
|
|
2093
|
-
const
|
|
2094
|
-
Object.assign(y,
|
|
2122
|
+
const _ = d(e.params, l);
|
|
2123
|
+
Object.assign(y, _);
|
|
2095
2124
|
}
|
|
2096
2125
|
t.replace({ query: y });
|
|
2097
|
-
}, h = (y) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(y) || y.includes("[")), w = (y,
|
|
2098
|
-
if (["page", "limit"].includes(y) &&
|
|
2099
|
-
const
|
|
2100
|
-
return isNaN(
|
|
2126
|
+
}, h = (y) => !!(["page", "limit", "search", "orderBy", "sortedBy"].includes(y) || y.includes("[")), w = (y, _) => {
|
|
2127
|
+
if (["page", "limit"].includes(y) && _ !== null && _ !== void 0) {
|
|
2128
|
+
const D = parseInt(_, 10);
|
|
2129
|
+
return isNaN(D) ? _ : D;
|
|
2101
2130
|
}
|
|
2102
|
-
return
|
|
2103
|
-
},
|
|
2104
|
-
if (
|
|
2131
|
+
return _;
|
|
2132
|
+
}, C = () => {
|
|
2133
|
+
if (n)
|
|
2105
2134
|
Object.keys(a.query).forEach((y) => {
|
|
2106
2135
|
h(y) && (e.params[y] = w(y, a.query[y]));
|
|
2107
2136
|
});
|
|
2108
2137
|
else {
|
|
2109
2138
|
const y = `${l}[`;
|
|
2110
|
-
Object.keys(a.query).forEach((
|
|
2111
|
-
if (
|
|
2112
|
-
const
|
|
2113
|
-
e.params[
|
|
2139
|
+
Object.keys(a.query).forEach((_) => {
|
|
2140
|
+
if (_.startsWith(y)) {
|
|
2141
|
+
const L = _.slice(y.length, -1);
|
|
2142
|
+
e.params[L] = w(L, a.query[_]);
|
|
2114
2143
|
}
|
|
2115
2144
|
});
|
|
2116
2145
|
}
|
|
2117
2146
|
};
|
|
2118
|
-
return
|
|
2147
|
+
return z(
|
|
2119
2148
|
() => e.params,
|
|
2120
2149
|
() => {
|
|
2121
2150
|
o && x(), c && p();
|
|
2122
2151
|
},
|
|
2123
2152
|
{ deep: !0 }
|
|
2124
|
-
),
|
|
2153
|
+
), r && he(() => {
|
|
2125
2154
|
let y = !1;
|
|
2126
2155
|
if (o) {
|
|
2127
|
-
let
|
|
2128
|
-
if (
|
|
2129
|
-
|
|
2156
|
+
let _ = !1;
|
|
2157
|
+
if (n)
|
|
2158
|
+
_ = Object.keys(a.query).some((L) => h(L));
|
|
2130
2159
|
else {
|
|
2131
|
-
const
|
|
2132
|
-
|
|
2133
|
-
(
|
|
2160
|
+
const L = `${l}[`;
|
|
2161
|
+
_ = Object.keys(a.query).some(
|
|
2162
|
+
(D) => D.startsWith(L)
|
|
2134
2163
|
);
|
|
2135
2164
|
}
|
|
2136
|
-
|
|
2165
|
+
_ && (y = !0, C());
|
|
2137
2166
|
}
|
|
2138
2167
|
if (!y && c) {
|
|
2139
|
-
const
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
}), Object.assign(e.params,
|
|
2168
|
+
const _ = b();
|
|
2169
|
+
_ && Object.keys(_).length > 0 && (Object.keys(_).forEach((L) => {
|
|
2170
|
+
_[L] = w(L, _[L]);
|
|
2171
|
+
}), Object.assign(e.params, _));
|
|
2143
2172
|
}
|
|
2144
2173
|
}), {
|
|
2145
2174
|
syncToRoute: x,
|
|
2146
|
-
restoreFromRoute:
|
|
2175
|
+
restoreFromRoute: C,
|
|
2147
2176
|
saveToStorage: p,
|
|
2148
|
-
loadFromStorage:
|
|
2149
|
-
clearStorage:
|
|
2177
|
+
loadFromStorage: b,
|
|
2178
|
+
clearStorage: v
|
|
2150
2179
|
};
|
|
2151
2180
|
}, Qa = { class: "flex items-center gap-4 py-3" }, eo = { class: "shrink-0" }, to = { class: "text-sm text-gray-700" }, so = { class: "font-medium" }, ao = { class: "font-medium" }, oo = { class: "font-medium" }, ro = {
|
|
2152
2181
|
__name: "SparkTablePaginationDetails",
|
|
@@ -2162,13 +2191,13 @@ const za = (e) => {
|
|
|
2162
2191
|
f("div", Qa, [
|
|
2163
2192
|
f("div", eo, [
|
|
2164
2193
|
f("div", to, [
|
|
2165
|
-
a[0] || (a[0] =
|
|
2194
|
+
a[0] || (a[0] = A(" Showing ", -1)),
|
|
2166
2195
|
f("span", so, M(s.sparkTable.response.meta.from), 1),
|
|
2167
|
-
a[1] || (a[1] =
|
|
2196
|
+
a[1] || (a[1] = A(" to ", -1)),
|
|
2168
2197
|
f("span", ao, M(s.sparkTable.response.meta.to), 1),
|
|
2169
|
-
a[2] || (a[2] =
|
|
2198
|
+
a[2] || (a[2] = A(" of ", -1)),
|
|
2170
2199
|
f("span", oo, M(s.sparkTable.response.meta.total), 1),
|
|
2171
|
-
a[3] || (a[3] =
|
|
2200
|
+
a[3] || (a[3] = A(" results ", -1))
|
|
2172
2201
|
])
|
|
2173
2202
|
])
|
|
2174
2203
|
])
|
|
@@ -2191,15 +2220,15 @@ const za = (e) => {
|
|
|
2191
2220
|
emits: ["paginate"],
|
|
2192
2221
|
setup(e, { emit: s }) {
|
|
2193
2222
|
const t = e, a = s, l = (u) => {
|
|
2194
|
-
|
|
2195
|
-
},
|
|
2223
|
+
n(t.sparkTable.params.page + u);
|
|
2224
|
+
}, n = (u) => {
|
|
2196
2225
|
u < 1 || u > t.sparkTable.response.meta.last_page || a("paginate", {
|
|
2197
2226
|
page: u
|
|
2198
2227
|
});
|
|
2199
2228
|
}, o = $(() => t.sparkTable.params.page ? Math.ceil(t.sparkTable.params.page / 10) * 10 : 1), c = $(() => t.sparkTable.computed.ready ? as(
|
|
2200
2229
|
Math.floor((o.value - 1) / 10) * 10 + 1,
|
|
2201
2230
|
o.value > t.sparkTable.response.meta.last_page ? t.sparkTable.response.meta.last_page + 1 : o.value + 1
|
|
2202
|
-
) : []),
|
|
2231
|
+
) : []), r = $(
|
|
2203
2232
|
() => t.sparkTable.params.page < Q(t.sparkTable.response.meta, "last_page", 1)
|
|
2204
2233
|
), i = $(() => t.sparkTable.params.page > 1);
|
|
2205
2234
|
return (u, d) => {
|
|
@@ -2212,29 +2241,29 @@ const za = (e) => {
|
|
|
2212
2241
|
f("a", {
|
|
2213
2242
|
class: V([i.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"]),
|
|
2214
2243
|
href: "#",
|
|
2215
|
-
onClick: d[0] || (d[0] = U((
|
|
2244
|
+
onClick: d[0] || (d[0] = U((b) => l(-1), ["prevent"]))
|
|
2216
2245
|
}, [
|
|
2217
2246
|
k(p, {
|
|
2218
|
-
icon:
|
|
2247
|
+
icon: S(O).farChevronLeft,
|
|
2219
2248
|
class: "size-5"
|
|
2220
2249
|
}, null, 8, ["icon"])
|
|
2221
2250
|
], 2),
|
|
2222
|
-
(m(!0), g(E, null,
|
|
2223
|
-
key: `page-${
|
|
2251
|
+
(m(!0), g(E, null, I(c.value, (b) => (m(), g("a", {
|
|
2252
|
+
key: `page-${b}`,
|
|
2224
2253
|
href: "#",
|
|
2225
2254
|
class: V([
|
|
2226
2255
|
"relative inline-flex items-center px-4 py-[9px] text-sm font-semibold ring-1 ring-inset",
|
|
2227
|
-
e.sparkTable.params.page ===
|
|
2256
|
+
e.sparkTable.params.page === b ? "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"
|
|
2228
2257
|
]),
|
|
2229
|
-
onClick: (
|
|
2230
|
-
}, M(
|
|
2258
|
+
onClick: (v) => n(b)
|
|
2259
|
+
}, M(b), 11, co))), 128)),
|
|
2231
2260
|
f("a", {
|
|
2232
|
-
class: V([
|
|
2233
|
-
onClick: d[1] || (d[1] = U((
|
|
2261
|
+
class: V([r.value ? "" : "disabled", "relative inline-flex items-center rounded-r-md px-2 py-[9px] text-gray-400 ring-1 ring-gray-300 ring-inset hover:bg-gray-50 focus:z-20 focus:outline-offset-0"]),
|
|
2262
|
+
onClick: d[1] || (d[1] = U((b) => l(1), ["prevent"])),
|
|
2234
2263
|
href: "#"
|
|
2235
2264
|
}, [
|
|
2236
2265
|
k(p, {
|
|
2237
|
-
icon:
|
|
2266
|
+
icon: S(O).farChevronRight,
|
|
2238
2267
|
class: "size-5"
|
|
2239
2268
|
}, null, 8, ["icon"])
|
|
2240
2269
|
], 2)
|
|
@@ -2245,7 +2274,7 @@ const za = (e) => {
|
|
|
2245
2274
|
]);
|
|
2246
2275
|
};
|
|
2247
2276
|
}
|
|
2248
|
-
},
|
|
2277
|
+
}, se = (e, s) => {
|
|
2249
2278
|
const t = e.__vccOpts || e;
|
|
2250
2279
|
for (const [a, l] of s)
|
|
2251
2280
|
t[a] = l;
|
|
@@ -2263,28 +2292,28 @@ const za = (e) => {
|
|
|
2263
2292
|
const t = e, a = s, l = $(() => t.sparkTable.options.perPages.map((o) => ({
|
|
2264
2293
|
label: String(o),
|
|
2265
2294
|
value: o
|
|
2266
|
-
}))),
|
|
2295
|
+
}))), n = (o) => {
|
|
2267
2296
|
a("paginate", {
|
|
2268
2297
|
page: 1,
|
|
2269
2298
|
limit: parseInt(o)
|
|
2270
2299
|
});
|
|
2271
2300
|
};
|
|
2272
2301
|
return (o, c) => {
|
|
2273
|
-
const
|
|
2302
|
+
const r = F("FormKit");
|
|
2274
2303
|
return m(), g("div", po, [
|
|
2275
|
-
k(
|
|
2304
|
+
k(r, {
|
|
2276
2305
|
"model-value": e.sparkTable.params.limit,
|
|
2277
2306
|
type: "select",
|
|
2278
2307
|
options: l.value,
|
|
2279
2308
|
"outer-class": "!mb-0",
|
|
2280
2309
|
"wrapper-class": "!mb-0",
|
|
2281
2310
|
"input-class": "!py-2",
|
|
2282
|
-
onInput:
|
|
2311
|
+
onInput: n
|
|
2283
2312
|
}, null, 8, ["model-value", "options"])
|
|
2284
2313
|
]);
|
|
2285
2314
|
};
|
|
2286
2315
|
}
|
|
2287
|
-
}, mo = /* @__PURE__ */
|
|
2316
|
+
}, mo = /* @__PURE__ */ se(fo, [["__scopeId", "data-v-9ef8544b"]]), Re = {
|
|
2288
2317
|
__name: "SparkTableToolbar",
|
|
2289
2318
|
props: {
|
|
2290
2319
|
position: {
|
|
@@ -2294,15 +2323,15 @@ const za = (e) => {
|
|
|
2294
2323
|
}
|
|
2295
2324
|
},
|
|
2296
2325
|
setup(e) {
|
|
2297
|
-
const s = e, t =
|
|
2298
|
-
const
|
|
2299
|
-
return s.position === "footer" ? `${
|
|
2326
|
+
const s = e, t = Be(), a = $(() => !!t.default), l = $(() => {
|
|
2327
|
+
const n = "spark-table-toolbar flex flex-wrap items-center gap-x-5 w-full";
|
|
2328
|
+
return s.position === "footer" ? `${n} spark-table-toolbar-footer justify-between` : `${n} spark-table-toolbar-header gap-y-5 py-5`;
|
|
2300
2329
|
});
|
|
2301
|
-
return (
|
|
2330
|
+
return (n, o) => a.value ? (m(), g("div", {
|
|
2302
2331
|
key: 0,
|
|
2303
2332
|
class: V(l.value)
|
|
2304
2333
|
}, [
|
|
2305
|
-
|
|
2334
|
+
B(n.$slots, "default")
|
|
2306
2335
|
], 2)) : T("", !0);
|
|
2307
2336
|
}
|
|
2308
2337
|
}, ho = { class: "spark-table-search" }, go = {
|
|
@@ -2334,23 +2363,23 @@ const za = (e) => {
|
|
|
2334
2363
|
[a]: o
|
|
2335
2364
|
}) : s.sparkTable.methods.removeParam(a);
|
|
2336
2365
|
}, s.config.debounce || 300);
|
|
2337
|
-
|
|
2366
|
+
z(t, (o) => {
|
|
2338
2367
|
l(o);
|
|
2339
2368
|
});
|
|
2340
|
-
const
|
|
2341
|
-
return
|
|
2369
|
+
const n = s.config.placeholder || "Search...";
|
|
2370
|
+
return z(
|
|
2342
2371
|
() => s.sparkTable.params[a],
|
|
2343
2372
|
(o) => {
|
|
2344
2373
|
o && o !== t.value ? t.value = o : !o && t.value && (t.value = "");
|
|
2345
2374
|
}
|
|
2346
2375
|
), (o, c) => {
|
|
2347
|
-
const
|
|
2376
|
+
const r = F("FormKit");
|
|
2348
2377
|
return m(), g("div", ho, [
|
|
2349
|
-
k(
|
|
2378
|
+
k(r, q({
|
|
2350
2379
|
modelValue: t.value,
|
|
2351
2380
|
"onUpdate:modelValue": c[0] || (c[0] = (i) => t.value = i),
|
|
2352
2381
|
type: "text",
|
|
2353
|
-
placeholder:
|
|
2382
|
+
placeholder: S(n),
|
|
2354
2383
|
suffixIcon: "search",
|
|
2355
2384
|
"outer-class": "!mb-0",
|
|
2356
2385
|
"wrapper-class": "!mb-0",
|
|
@@ -2359,7 +2388,7 @@ const za = (e) => {
|
|
|
2359
2388
|
]);
|
|
2360
2389
|
};
|
|
2361
2390
|
}
|
|
2362
|
-
}, yo = /* @__PURE__ */
|
|
2391
|
+
}, yo = /* @__PURE__ */ se(go, [["__scopeId", "data-v-976170dc"]]), vo = { class: "spark-table-filter-select" }, bo = {
|
|
2363
2392
|
__name: "SparkTableFilterSelect",
|
|
2364
2393
|
props: {
|
|
2365
2394
|
/** SparkTable instance object */
|
|
@@ -2379,29 +2408,29 @@ const za = (e) => {
|
|
|
2379
2408
|
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({
|
|
2380
2409
|
[a]: s.config.initialValue
|
|
2381
2410
|
}));
|
|
2382
|
-
const l = s.config.label || null,
|
|
2411
|
+
const l = s.config.label || null, n = $(() => [
|
|
2383
2412
|
{ label: s.config.placeholder || "All", value: "" },
|
|
2384
2413
|
...s.config.options
|
|
2385
2414
|
]);
|
|
2386
|
-
return
|
|
2415
|
+
return z(t, (o) => {
|
|
2387
2416
|
o ? s.sparkTable.methods.applyParams({
|
|
2388
2417
|
page: 1,
|
|
2389
2418
|
[a]: o
|
|
2390
2419
|
}) : s.sparkTable.methods.removeParam(a);
|
|
2391
|
-
}),
|
|
2420
|
+
}), z(
|
|
2392
2421
|
() => s.sparkTable.params[a],
|
|
2393
2422
|
(o) => {
|
|
2394
2423
|
o != null && o !== "" ? t.value !== o && (t.value = o) : t.value && (t.value = "");
|
|
2395
2424
|
}
|
|
2396
2425
|
), (o, c) => {
|
|
2397
|
-
const
|
|
2398
|
-
return m(), g("div",
|
|
2399
|
-
k(
|
|
2426
|
+
const r = F("FormKit");
|
|
2427
|
+
return m(), g("div", vo, [
|
|
2428
|
+
k(r, q({
|
|
2400
2429
|
modelValue: t.value,
|
|
2401
2430
|
"onUpdate:modelValue": c[0] || (c[0] = (i) => t.value = i),
|
|
2402
2431
|
type: "select",
|
|
2403
|
-
label:
|
|
2404
|
-
options:
|
|
2432
|
+
label: S(l),
|
|
2433
|
+
options: n.value,
|
|
2405
2434
|
placeholder: e.config.placeholder || "All",
|
|
2406
2435
|
"outer-class": "!mb-0",
|
|
2407
2436
|
"wrapper-class": "!mb-0"
|
|
@@ -2409,7 +2438,7 @@ const za = (e) => {
|
|
|
2409
2438
|
]);
|
|
2410
2439
|
};
|
|
2411
2440
|
}
|
|
2412
|
-
}, xo = /* @__PURE__ */
|
|
2441
|
+
}, xo = /* @__PURE__ */ se(bo, [["__scopeId", "data-v-642dbc69"]]), ko = { class: "spark-table-filter-buttons" }, wo = {
|
|
2413
2442
|
key: 0,
|
|
2414
2443
|
class: "spark-table-filter-buttons-label"
|
|
2415
2444
|
}, _o = {
|
|
@@ -2432,30 +2461,30 @@ const za = (e) => {
|
|
|
2432
2461
|
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({
|
|
2433
2462
|
[l]: s.config.initialValue
|
|
2434
2463
|
}));
|
|
2435
|
-
const
|
|
2464
|
+
const n = (c) => c == null ? t.value === null || t.value === void 0 || t.value === "" : t.value === c, o = (c) => {
|
|
2436
2465
|
t.value = c, c == null || c === "" ? s.sparkTable.methods.removeParam(l) : s.sparkTable.methods.applyParams({
|
|
2437
2466
|
page: 1,
|
|
2438
2467
|
[l]: c
|
|
2439
2468
|
});
|
|
2440
2469
|
};
|
|
2441
|
-
return
|
|
2470
|
+
return z(
|
|
2442
2471
|
() => s.sparkTable.params[l],
|
|
2443
2472
|
(c) => {
|
|
2444
2473
|
(c == null || c === "") && t.value ? t.value = null : c !== t.value && (t.value = c);
|
|
2445
2474
|
}
|
|
2446
|
-
), (c,
|
|
2447
|
-
|
|
2475
|
+
), (c, r) => (m(), g("div", ko, [
|
|
2476
|
+
S(a) ? (m(), g("span", wo, M(S(a)), 1)) : T("", !0),
|
|
2448
2477
|
k(na, { class: "isolate" }, {
|
|
2449
|
-
default:
|
|
2450
|
-
(m(!0), g(E, null,
|
|
2478
|
+
default: P(() => [
|
|
2479
|
+
(m(!0), g(E, null, I(e.config.options, (i) => (m(), H(X, {
|
|
2451
2480
|
key: i.value,
|
|
2452
2481
|
size: "xl",
|
|
2453
2482
|
"button-class": "px-3.5",
|
|
2454
|
-
variant:
|
|
2483
|
+
variant: n(i.value) ? "primary" : "secondary",
|
|
2455
2484
|
onClick: (u) => o(i.value)
|
|
2456
2485
|
}, {
|
|
2457
|
-
default:
|
|
2458
|
-
|
|
2486
|
+
default: P(() => [
|
|
2487
|
+
A(M(i.label), 1)
|
|
2459
2488
|
]),
|
|
2460
2489
|
_: 2
|
|
2461
2490
|
}, 1032, ["variant", "onClick"]))), 128))
|
|
@@ -2464,7 +2493,7 @@ const za = (e) => {
|
|
|
2464
2493
|
})
|
|
2465
2494
|
]));
|
|
2466
2495
|
}
|
|
2467
|
-
}, So = /* @__PURE__ */
|
|
2496
|
+
}, So = /* @__PURE__ */ se(_o, [["__scopeId", "data-v-01a49899"]]), Co = { class: "spark-table-date-picker" }, $o = {
|
|
2468
2497
|
__name: "SparkTableDatePicker",
|
|
2469
2498
|
props: {
|
|
2470
2499
|
/** SparkTable instance object */
|
|
@@ -2480,33 +2509,33 @@ const za = (e) => {
|
|
|
2480
2509
|
}
|
|
2481
2510
|
},
|
|
2482
2511
|
setup(e) {
|
|
2483
|
-
const s = e, t = R(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`,
|
|
2512
|
+
const s = e, t = R(null), a = s.config.label || null, l = s.config.param || `filter[${s.config.key}]`, n = R(`${l}-0`);
|
|
2484
2513
|
return s.sparkTable.params[l] ? t.value = s.sparkTable.params[l] : s.config.initialValue ? (t.value = s.config.initialValue, s.sparkTable.methods.applyParams({
|
|
2485
2514
|
[l]: s.config.initialValue
|
|
2486
|
-
})) : t.value = null,
|
|
2515
|
+
})) : t.value = null, z(t, (o) => {
|
|
2487
2516
|
o ? s.sparkTable.methods.applyParams({
|
|
2488
2517
|
page: 1,
|
|
2489
2518
|
[l]: o
|
|
2490
2519
|
}) : s.sparkTable.methods.removeParam(l);
|
|
2491
|
-
}),
|
|
2520
|
+
}), z(
|
|
2492
2521
|
() => s.sparkTable.params[l],
|
|
2493
2522
|
(o) => {
|
|
2494
2523
|
if ((o == null || o === "") && t.value) {
|
|
2495
2524
|
t.value = null;
|
|
2496
|
-
const c = parseInt(
|
|
2497
|
-
|
|
2525
|
+
const c = parseInt(n.value.split("-").pop()) || 0;
|
|
2526
|
+
n.value = `${l}-${c + 1}`;
|
|
2498
2527
|
} else o && o !== t.value && (t.value = o);
|
|
2499
2528
|
}
|
|
2500
2529
|
), (o, c) => {
|
|
2501
|
-
const
|
|
2530
|
+
const r = F("FormKit");
|
|
2502
2531
|
return m(), g("div", Co, [
|
|
2503
|
-
(m(), H(
|
|
2504
|
-
key:
|
|
2532
|
+
(m(), H(r, q({
|
|
2533
|
+
key: n.value,
|
|
2505
2534
|
modelValue: t.value,
|
|
2506
2535
|
"onUpdate:modelValue": c[0] || (c[0] = (i) => t.value = i),
|
|
2507
2536
|
type: "datepicker",
|
|
2508
2537
|
"picker-only": "",
|
|
2509
|
-
label:
|
|
2538
|
+
label: S(a),
|
|
2510
2539
|
placeholder: e.config.placeholder || "Select date",
|
|
2511
2540
|
overlay: !0,
|
|
2512
2541
|
"value-format": "YYYY-MM-DD",
|
|
@@ -2517,7 +2546,7 @@ const za = (e) => {
|
|
|
2517
2546
|
]);
|
|
2518
2547
|
};
|
|
2519
2548
|
}
|
|
2520
|
-
}, To = /* @__PURE__ */
|
|
2549
|
+
}, To = /* @__PURE__ */ se($o, [["__scopeId", "data-v-44ef9cb8"]]), Po = { class: "spark-table-reset" }, Lo = { key: 1 }, Mo = {
|
|
2521
2550
|
__name: "SparkTableReset",
|
|
2522
2551
|
props: {
|
|
2523
2552
|
/** SparkTable instance object */
|
|
@@ -2533,16 +2562,16 @@ const za = (e) => {
|
|
|
2533
2562
|
},
|
|
2534
2563
|
setup(e) {
|
|
2535
2564
|
const s = e, t = () => {
|
|
2536
|
-
const a = s.sparkTable.plugins || {}, l = [],
|
|
2565
|
+
const a = s.sparkTable.plugins || {}, l = [], n = {};
|
|
2537
2566
|
Object.entries(a).forEach(([i, u]) => {
|
|
2538
2567
|
if (!u || u.type === "reset" || !(typeof u.enabled == "function" ? u.enabled(s.sparkTable.params) : u.enabled))
|
|
2539
2568
|
return;
|
|
2540
2569
|
let p = null;
|
|
2541
|
-
u.type === "search" ? p = u.param || "search" : u.type === "filterSelect" || u.type === "filterButtons" ? p = u.param || `filter[${u.key}]` : u.type === "datePicker" && (p = u.param || `filter[${u.key}]`), p && (u.initialValue !== void 0 && u.initialValue !== null ?
|
|
2570
|
+
u.type === "search" ? p = u.param || "search" : u.type === "filterSelect" || u.type === "filterButtons" ? p = u.param || `filter[${u.key}]` : u.type === "datePicker" && (p = u.param || `filter[${u.key}]`), p && (u.initialValue !== void 0 && u.initialValue !== null ? n[p] = u.initialValue : l.push(p));
|
|
2542
2571
|
});
|
|
2543
2572
|
const o = l.filter(
|
|
2544
2573
|
(i) => s.sparkTable.params[i] !== void 0 && s.sparkTable.params[i] !== null && s.sparkTable.params[i] !== ""
|
|
2545
|
-
), c = Object.entries(
|
|
2574
|
+
), c = Object.entries(n).filter(
|
|
2546
2575
|
([i, u]) => s.sparkTable.params[i] !== u
|
|
2547
2576
|
);
|
|
2548
2577
|
if (o.length === 0 && c.length === 0)
|
|
@@ -2550,43 +2579,43 @@ const za = (e) => {
|
|
|
2550
2579
|
o.forEach((i) => {
|
|
2551
2580
|
delete s.sparkTable.params[i];
|
|
2552
2581
|
});
|
|
2553
|
-
const
|
|
2554
|
-
s.sparkTable.methods.applyParams({ ...
|
|
2582
|
+
const r = Object.fromEntries(c);
|
|
2583
|
+
s.sparkTable.methods.applyParams({ ...r, page: 1 });
|
|
2555
2584
|
};
|
|
2556
2585
|
return (a, l) => {
|
|
2557
|
-
const
|
|
2558
|
-
return m(), g("div",
|
|
2586
|
+
const n = F("font-awesome-icon");
|
|
2587
|
+
return m(), g("div", Po, [
|
|
2559
2588
|
k(X, {
|
|
2560
2589
|
onClick: t,
|
|
2561
2590
|
variant: "secondary",
|
|
2562
2591
|
"button-class": "px-3.5",
|
|
2563
2592
|
size: "xl"
|
|
2564
2593
|
}, {
|
|
2565
|
-
default:
|
|
2566
|
-
e.config.icon ? (m(), H(
|
|
2594
|
+
default: P(() => [
|
|
2595
|
+
e.config.icon ? (m(), H(n, {
|
|
2567
2596
|
key: 0,
|
|
2568
2597
|
icon: ["far", e.config.icon],
|
|
2569
2598
|
class: V({ "mr-1.5": e.config.label })
|
|
2570
2599
|
}, null, 8, ["icon", "class"])) : T("", !0),
|
|
2571
|
-
e.config.label ? (m(), g("span",
|
|
2600
|
+
e.config.label ? (m(), g("span", Lo, M(e.config.label), 1)) : T("", !0)
|
|
2572
2601
|
]),
|
|
2573
2602
|
_: 1
|
|
2574
2603
|
})
|
|
2575
2604
|
]);
|
|
2576
2605
|
};
|
|
2577
2606
|
}
|
|
2578
|
-
}, Vo = /* @__PURE__ */
|
|
2607
|
+
}, Vo = /* @__PURE__ */ se(Mo, [["__scopeId", "data-v-0894e3bf"]]), Ho = { class: "spark-table" }, Ro = {
|
|
2579
2608
|
key: 1,
|
|
2580
2609
|
class: "pt-5"
|
|
2581
2610
|
}, Fo = {
|
|
2582
2611
|
key: 2,
|
|
2583
2612
|
class: "flex flex-col items-center justify-center py-16 text-gray-500 rounded-md border border-gray-300 bg-white"
|
|
2584
|
-
}, Eo = { class: "flex items-center gap-x-3 ml-auto" },
|
|
2613
|
+
}, Eo = { class: "flex items-center gap-x-3 ml-auto" }, _e = {
|
|
2585
2614
|
perPages: [15, 30, 50, 100, 200, 500],
|
|
2586
2615
|
limit: 15
|
|
2587
|
-
},
|
|
2616
|
+
}, Oo = {
|
|
2588
2617
|
page: 1,
|
|
2589
|
-
limit:
|
|
2618
|
+
limit: _e.limit
|
|
2590
2619
|
}, Fe = {
|
|
2591
2620
|
colHeaders: !0,
|
|
2592
2621
|
filters: !1,
|
|
@@ -2609,7 +2638,7 @@ const za = (e) => {
|
|
|
2609
2638
|
dataTransformer: {
|
|
2610
2639
|
type: Function,
|
|
2611
2640
|
default: (e, s) => ({
|
|
2612
|
-
data: Q(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((
|
|
2641
|
+
data: Q(s.settings, "nestedHeaders") ? e.data.data.map((a) => (s.settings.columnKeys || []).map((n) => a[n])) : e.data.data,
|
|
2613
2642
|
meta: {
|
|
2614
2643
|
last_page: e.data.last_page,
|
|
2615
2644
|
from: e.data.from,
|
|
@@ -2621,13 +2650,13 @@ const za = (e) => {
|
|
|
2621
2650
|
params: {
|
|
2622
2651
|
type: Object,
|
|
2623
2652
|
default() {
|
|
2624
|
-
return
|
|
2653
|
+
return Oo;
|
|
2625
2654
|
}
|
|
2626
2655
|
},
|
|
2627
2656
|
options: {
|
|
2628
2657
|
type: Object,
|
|
2629
2658
|
default() {
|
|
2630
|
-
return
|
|
2659
|
+
return _e;
|
|
2631
2660
|
}
|
|
2632
2661
|
},
|
|
2633
2662
|
settings: {
|
|
@@ -2663,7 +2692,7 @@ const za = (e) => {
|
|
|
2663
2692
|
setup(e, { expose: s, emit: t }) {
|
|
2664
2693
|
const a = e;
|
|
2665
2694
|
ds(), pe(ls), pe(is), pe(cs), Q(a, "settings.nestedHeaders") && pe(us);
|
|
2666
|
-
const l = t,
|
|
2695
|
+
const l = t, n = Se("axios"), o = R(null), c = R(!1), r = R(null);
|
|
2667
2696
|
let i = !1;
|
|
2668
2697
|
const u = {
|
|
2669
2698
|
search: yo,
|
|
@@ -2692,33 +2721,33 @@ const za = (e) => {
|
|
|
2692
2721
|
},
|
|
2693
2722
|
loadTable: async (h) => {
|
|
2694
2723
|
if (!(!o.value || !o.value.hotInstance)) {
|
|
2695
|
-
c.value = !0,
|
|
2724
|
+
c.value = !0, r.value = null, l("loading", !0), ge.start(), d.hotInstance = o.value.hotInstance;
|
|
2696
2725
|
try {
|
|
2697
2726
|
if (a.dataProvider) {
|
|
2698
2727
|
const y = await a.dataProvider(d.computed.params);
|
|
2699
2728
|
d.response = a.dataTransformer(y, a);
|
|
2700
2729
|
} else if (a.url) {
|
|
2701
|
-
const y = await
|
|
2730
|
+
const y = await n.get(a.url, {
|
|
2702
2731
|
params: d.computed.params
|
|
2703
2732
|
});
|
|
2704
2733
|
d.response = a.dataTransformer(y, a);
|
|
2705
2734
|
} else {
|
|
2706
|
-
console.error("No data provider or URL provided"), c.value = !1, l("loading", !1),
|
|
2735
|
+
console.error("No data provider or URL provided"), c.value = !1, l("loading", !1), ge.done();
|
|
2707
2736
|
return;
|
|
2708
2737
|
}
|
|
2709
2738
|
if (i) return;
|
|
2710
2739
|
d.hotInstance.updateData(d.response.data), d.options.callback && typeof d.options.callback == "function" && await d.options.callback();
|
|
2711
2740
|
const w = d.hotInstance.getPlugin("autoColumnSize");
|
|
2712
|
-
Q(a.settings, "columns", []).forEach((y,
|
|
2713
|
-
y.width || w.calculateColumnsWidth(
|
|
2741
|
+
Q(a.settings, "columns", []).forEach((y, _) => {
|
|
2742
|
+
y.width || w.calculateColumnsWidth(_, _, !0);
|
|
2714
2743
|
}), l("load", {
|
|
2715
2744
|
data: d.response.data,
|
|
2716
2745
|
meta: d.response.meta
|
|
2717
2746
|
}), h && typeof h == "function" && h();
|
|
2718
2747
|
} catch (w) {
|
|
2719
|
-
|
|
2748
|
+
r.value = w, l("error", w), console.error("Error loading table data:", w);
|
|
2720
2749
|
} finally {
|
|
2721
|
-
c.value = !1, l("loading", !1),
|
|
2750
|
+
c.value = !1, l("loading", !1), ge.done();
|
|
2722
2751
|
}
|
|
2723
2752
|
}
|
|
2724
2753
|
},
|
|
@@ -2736,8 +2765,8 @@ const za = (e) => {
|
|
|
2736
2765
|
},
|
|
2737
2766
|
clearParam: (h) => d.methods.removeParam(h),
|
|
2738
2767
|
clearParams: (h) => {
|
|
2739
|
-
(Array.isArray(h) ? h : [h]).forEach((
|
|
2740
|
-
d.params[
|
|
2768
|
+
(Array.isArray(h) ? h : [h]).forEach((C) => {
|
|
2769
|
+
d.params[C] !== void 0 && delete d.params[C];
|
|
2741
2770
|
}), d.methods.applyParams({ page: 1 });
|
|
2742
2771
|
}
|
|
2743
2772
|
},
|
|
@@ -2749,14 +2778,14 @@ const za = (e) => {
|
|
|
2749
2778
|
ready: $(() => rs(d, "response.meta.last_page"))
|
|
2750
2779
|
},
|
|
2751
2780
|
options: $(() => ({
|
|
2752
|
-
...
|
|
2781
|
+
..._e,
|
|
2753
2782
|
...a.options
|
|
2754
2783
|
})),
|
|
2755
2784
|
tableSettings: $(() => ({
|
|
2756
2785
|
...Fe,
|
|
2757
2786
|
nestedHeaders: Q(a.settings, "nestedHeaders", []),
|
|
2758
2787
|
...!Q(a.settings, "nestedHeaders") && {
|
|
2759
|
-
afterGetColHeader: (h, w) =>
|
|
2788
|
+
afterGetColHeader: (h, w) => La(h, w, d)
|
|
2760
2789
|
},
|
|
2761
2790
|
afterChange: (h, w) => Xa(),
|
|
2762
2791
|
afterRender: () => Ma(d),
|
|
@@ -2774,14 +2803,14 @@ const za = (e) => {
|
|
|
2774
2803
|
* This ensures custom renderers copy their visual output, not the underlying data
|
|
2775
2804
|
*/
|
|
2776
2805
|
beforeCopy: (h, w) => {
|
|
2777
|
-
const
|
|
2778
|
-
|
|
2779
|
-
for (let
|
|
2780
|
-
for (let
|
|
2781
|
-
const
|
|
2782
|
-
if (
|
|
2783
|
-
const J =
|
|
2784
|
-
h[J][de] =
|
|
2806
|
+
const C = o.value?.hotInstance;
|
|
2807
|
+
C && w.forEach((y) => {
|
|
2808
|
+
for (let _ = y.startRow; _ <= y.endRow; _++)
|
|
2809
|
+
for (let L = y.startCol; L <= y.endCol; L++) {
|
|
2810
|
+
const D = C.getCell(_, L);
|
|
2811
|
+
if (D) {
|
|
2812
|
+
const J = _ - w[0].startRow, de = L - w[0].startCol;
|
|
2813
|
+
h[J][de] = D.dataset.copyValue ?? D.textContent ?? "";
|
|
2785
2814
|
}
|
|
2786
2815
|
}
|
|
2787
2816
|
});
|
|
@@ -2790,7 +2819,7 @@ const za = (e) => {
|
|
|
2790
2819
|
}))
|
|
2791
2820
|
}), p = $(
|
|
2792
2821
|
() => d.computed.ready && d.response.data?.length === 0
|
|
2793
|
-
),
|
|
2822
|
+
), b = (h) => {
|
|
2794
2823
|
if (!h) return null;
|
|
2795
2824
|
switch (h.type) {
|
|
2796
2825
|
case "search":
|
|
@@ -2802,16 +2831,16 @@ const za = (e) => {
|
|
|
2802
2831
|
default:
|
|
2803
2832
|
return null;
|
|
2804
2833
|
}
|
|
2805
|
-
},
|
|
2806
|
-
if (
|
|
2834
|
+
}, v = (h) => h ? typeof h.enabled == "function" ? h.enabled(d.params) : h.enabled : !1, x = $(() => Object.entries(a.plugins).filter(([h, w]) => v(w)).map(([h, w]) => ({ name: h, config: w })));
|
|
2835
|
+
if (z(
|
|
2807
2836
|
() => ({ ...d.params }),
|
|
2808
2837
|
() => {
|
|
2809
2838
|
const h = [];
|
|
2810
2839
|
Object.values(a.plugins).forEach((w) => {
|
|
2811
|
-
const
|
|
2812
|
-
if (!
|
|
2813
|
-
const y =
|
|
2814
|
-
!y &&
|
|
2840
|
+
const C = b(w);
|
|
2841
|
+
if (!C) return;
|
|
2842
|
+
const y = v(w), _ = d.params[C] !== void 0;
|
|
2843
|
+
!y && _ && h.push(C);
|
|
2815
2844
|
}), h.length > 0 && h.forEach((w) => {
|
|
2816
2845
|
delete d.params[w];
|
|
2817
2846
|
});
|
|
@@ -2837,12 +2866,12 @@ const za = (e) => {
|
|
|
2837
2866
|
await d.methods.loadTable();
|
|
2838
2867
|
},
|
|
2839
2868
|
{ debounce: 50, maxWait: 1e3 }
|
|
2840
|
-
),
|
|
2869
|
+
), z(
|
|
2841
2870
|
() => a.url,
|
|
2842
2871
|
async (h, w) => {
|
|
2843
2872
|
h !== w && (d.params.page = 1, await d.methods.loadTable());
|
|
2844
2873
|
}
|
|
2845
|
-
),
|
|
2874
|
+
), he(async () => {
|
|
2846
2875
|
await d.methods.loadTable(), l("ready");
|
|
2847
2876
|
}), ht(() => {
|
|
2848
2877
|
i = !0;
|
|
@@ -2855,32 +2884,32 @@ const za = (e) => {
|
|
|
2855
2884
|
clearParams: (h) => d.methods.clearParams(h),
|
|
2856
2885
|
applyParams: (h) => d.methods.applyParams(h),
|
|
2857
2886
|
loading: c,
|
|
2858
|
-
error:
|
|
2887
|
+
error: r,
|
|
2859
2888
|
sparkTable: d,
|
|
2860
2889
|
table: o
|
|
2861
2890
|
}), (h, w) => {
|
|
2862
|
-
const
|
|
2891
|
+
const C = F("font-awesome-icon");
|
|
2863
2892
|
return m(), g("div", Ho, [
|
|
2864
2893
|
d.computed.ready && x.value && x.value.length ? (m(), H(Re, {
|
|
2865
2894
|
key: 0,
|
|
2866
2895
|
position: "header"
|
|
2867
2896
|
}, {
|
|
2868
|
-
default:
|
|
2869
|
-
(m(!0), g(E, null,
|
|
2897
|
+
default: P(() => [
|
|
2898
|
+
(m(!0), g(E, null, I(x.value, (y) => (m(), H(Z(u[y.config.type]), {
|
|
2870
2899
|
key: y.name,
|
|
2871
2900
|
class: V(y.config.align ? `self-${y.config.align}` : ""),
|
|
2872
2901
|
"spark-table": d,
|
|
2873
2902
|
config: y.config
|
|
2874
2903
|
}, null, 8, ["class", "spark-table", "config"]))), 128)),
|
|
2875
|
-
|
|
2904
|
+
B(h.$slots, "header", {
|
|
2876
2905
|
sparkTable: d,
|
|
2877
2906
|
loading: c.value,
|
|
2878
|
-
error:
|
|
2907
|
+
error: r.value
|
|
2879
2908
|
})
|
|
2880
2909
|
]),
|
|
2881
2910
|
_: 3
|
|
2882
2911
|
})) : (m(), g("div", Ro)),
|
|
2883
|
-
gt(k(
|
|
2912
|
+
gt(k(S(ns), {
|
|
2884
2913
|
"theme-name": "ht-theme-classic",
|
|
2885
2914
|
ref_key: "table",
|
|
2886
2915
|
ref: o,
|
|
@@ -2889,8 +2918,8 @@ const za = (e) => {
|
|
|
2889
2918
|
[yt, !p.value]
|
|
2890
2919
|
]),
|
|
2891
2920
|
p.value ? (m(), g("div", Fo, [
|
|
2892
|
-
k(
|
|
2893
|
-
icon:
|
|
2921
|
+
k(C, {
|
|
2922
|
+
icon: S(O).farInbox,
|
|
2894
2923
|
class: "size-12 mb-4 text-gray-300"
|
|
2895
2924
|
}, null, 8, ["icon"]),
|
|
2896
2925
|
w[0] || (w[0] = f("p", { class: "text-sm" }, "No records found", -1))
|
|
@@ -2899,7 +2928,7 @@ const za = (e) => {
|
|
|
2899
2928
|
key: 3,
|
|
2900
2929
|
position: "footer"
|
|
2901
2930
|
}, {
|
|
2902
|
-
default:
|
|
2931
|
+
default: P(() => [
|
|
2903
2932
|
p.value ? T("", !0) : (m(), H(ro, {
|
|
2904
2933
|
key: 0,
|
|
2905
2934
|
"spark-table": d
|
|
@@ -2914,10 +2943,10 @@ const za = (e) => {
|
|
|
2914
2943
|
"spark-table": d,
|
|
2915
2944
|
onPaginate: d.methods.applyParams
|
|
2916
2945
|
}, null, 8, ["spark-table", "onPaginate"]),
|
|
2917
|
-
|
|
2946
|
+
B(h.$slots, "footer", {
|
|
2918
2947
|
sparkTable: d,
|
|
2919
2948
|
loading: c.value,
|
|
2920
|
-
error:
|
|
2949
|
+
error: r.value
|
|
2921
2950
|
})
|
|
2922
2951
|
])
|
|
2923
2952
|
]),
|
|
@@ -2940,8 +2969,8 @@ function Ee() {
|
|
|
2940
2969
|
e.isVisible = !1, e.content = null, e.props = {}, e.eventHandlers = {}, e.size = "md";
|
|
2941
2970
|
}, a = () => {
|
|
2942
2971
|
e.isVisible = !0;
|
|
2943
|
-
}, l = (o, c = {},
|
|
2944
|
-
e.content = me(o), e.props = c, e.eventHandlers =
|
|
2972
|
+
}, l = (o, c = {}, r = {}, i = {}) => {
|
|
2973
|
+
e.content = me(o), e.props = c, e.eventHandlers = r, e.size = i.size || "md";
|
|
2945
2974
|
};
|
|
2946
2975
|
return {
|
|
2947
2976
|
state: e,
|
|
@@ -2949,32 +2978,32 @@ function Ee() {
|
|
|
2949
2978
|
close: t,
|
|
2950
2979
|
open: a,
|
|
2951
2980
|
setContent: l,
|
|
2952
|
-
show: (o, c = {},
|
|
2953
|
-
o && l(o, c,
|
|
2981
|
+
show: (o, c = {}, r = {}, i = {}) => {
|
|
2982
|
+
o && l(o, c, r, i), a();
|
|
2954
2983
|
}
|
|
2955
2984
|
};
|
|
2956
2985
|
}
|
|
2957
|
-
class
|
|
2986
|
+
class Ao {
|
|
2958
2987
|
constructor() {
|
|
2959
2988
|
this.left = Ee(), this.right = Ee();
|
|
2960
2989
|
}
|
|
2961
2990
|
showLeft = (s, t = {}, a = {}, l = {}) => {
|
|
2962
|
-
const
|
|
2991
|
+
const n = {
|
|
2963
2992
|
close: () => {
|
|
2964
2993
|
a.close?.(), this.closeLeft();
|
|
2965
2994
|
},
|
|
2966
2995
|
...a
|
|
2967
2996
|
};
|
|
2968
|
-
this.left.show(s, t,
|
|
2997
|
+
this.left.show(s, t, n, l);
|
|
2969
2998
|
};
|
|
2970
2999
|
showRight = (s, t = {}, a = {}, l = {}) => {
|
|
2971
|
-
const
|
|
3000
|
+
const n = {
|
|
2972
3001
|
close: () => {
|
|
2973
3002
|
a.close?.(), this.closeRight();
|
|
2974
3003
|
},
|
|
2975
3004
|
...a
|
|
2976
3005
|
};
|
|
2977
|
-
this.right.show(s, t,
|
|
3006
|
+
this.right.show(s, t, n, l);
|
|
2978
3007
|
};
|
|
2979
3008
|
closeLeft = () => {
|
|
2980
3009
|
this.left.close();
|
|
@@ -2986,20 +3015,20 @@ class Oo {
|
|
|
2986
3015
|
this.left.close(), this.right.close();
|
|
2987
3016
|
};
|
|
2988
3017
|
}
|
|
2989
|
-
const
|
|
3018
|
+
const ae = new Ao(), Bo = (e) => {
|
|
2990
3019
|
const s = document.cookie.match(new RegExp(`(^| )${e}=([^;]+)`));
|
|
2991
3020
|
return s ? s[2] : null;
|
|
2992
|
-
},
|
|
3021
|
+
}, Do = (e, s, t = {}) => {
|
|
2993
3022
|
const {
|
|
2994
3023
|
maxAge: a = 31536e3,
|
|
2995
3024
|
// 365 days in seconds
|
|
2996
3025
|
domain: l = ct(),
|
|
2997
|
-
secure:
|
|
3026
|
+
secure: n = !0,
|
|
2998
3027
|
sameSite: o = "Lax",
|
|
2999
3028
|
path: c = "/"
|
|
3000
3029
|
} = t;
|
|
3001
|
-
let
|
|
3002
|
-
l && (
|
|
3030
|
+
let r = `${e}=${s}; max-age=${a}; path=${c}; samesite=${o}`;
|
|
3031
|
+
l && (r += `; domain=${l}`), n && (r += "; secure"), document.cookie = r;
|
|
3003
3032
|
}, jo = (e, s = {}) => {
|
|
3004
3033
|
const { domain: t = ct(), path: a = "/" } = s;
|
|
3005
3034
|
let l = `${e}=; max-age=0; path=${a}`;
|
|
@@ -3065,15 +3094,15 @@ const be = "bolt-next-token", W = ue("auth", () => {
|
|
|
3065
3094
|
}), s = (i = {}) => {
|
|
3066
3095
|
i.endpoints && Object.assign(e.endpoints, i.endpoints), i.routes && Object.assign(e.routes, i.routes), i.devCredentials && Object.assign(e.devCredentials, i.devCredentials), i.callbacks && Object.assign(e.callbacks, i.callbacks), i.overrideToken && (e.overrideToken = i.overrideToken);
|
|
3067
3096
|
}, t = (i) => {
|
|
3068
|
-
|
|
3097
|
+
Do(be, i), e.token = i;
|
|
3069
3098
|
}, a = () => {
|
|
3070
3099
|
jo(be), e.token = null;
|
|
3071
|
-
}, l = () =>
|
|
3072
|
-
const u = await
|
|
3100
|
+
}, l = () => Bo(be), n = async (i) => {
|
|
3101
|
+
const u = await le.post(e.endpoints.login, i), d = u.headers.authorization;
|
|
3073
3102
|
return t(d), e.user = u.data, e.callbacks.onLoginSuccess && await e.callbacks.onLoginSuccess(u.data), u.data;
|
|
3074
3103
|
}, o = async () => {
|
|
3075
3104
|
try {
|
|
3076
|
-
await
|
|
3105
|
+
await le.post(
|
|
3077
3106
|
e.endpoints.logout,
|
|
3078
3107
|
{},
|
|
3079
3108
|
{
|
|
@@ -3092,7 +3121,7 @@ const be = "bolt-next-token", W = ue("auth", () => {
|
|
|
3092
3121
|
if (!i)
|
|
3093
3122
|
return e.ready = !0, null;
|
|
3094
3123
|
try {
|
|
3095
|
-
const { data: u } = await
|
|
3124
|
+
const { data: u } = await le.get(e.endpoints.fetch, {
|
|
3096
3125
|
headers: {
|
|
3097
3126
|
Authorization: `Bearer ${i}`
|
|
3098
3127
|
}
|
|
@@ -3103,21 +3132,21 @@ const be = "bolt-next-token", W = ue("auth", () => {
|
|
|
3103
3132
|
} finally {
|
|
3104
3133
|
e.ready = !0;
|
|
3105
3134
|
}
|
|
3106
|
-
},
|
|
3135
|
+
}, r = $(() => e.overrideToken ? !0 : !!e.token && !!e.user);
|
|
3107
3136
|
return {
|
|
3108
3137
|
state: e,
|
|
3109
3138
|
initialize: s,
|
|
3110
|
-
login:
|
|
3139
|
+
login: n,
|
|
3111
3140
|
logout: o,
|
|
3112
3141
|
fetchUser: c,
|
|
3113
|
-
check:
|
|
3142
|
+
check: r,
|
|
3114
3143
|
setTokenCookie: t,
|
|
3115
3144
|
clearTokenCookie: a,
|
|
3116
3145
|
getTokenCookie: l
|
|
3117
3146
|
};
|
|
3118
3147
|
});
|
|
3119
3148
|
function No(e = {}) {
|
|
3120
|
-
const s =
|
|
3149
|
+
const s = le.create({
|
|
3121
3150
|
baseURL: e.baseURL || "",
|
|
3122
3151
|
timeout: e.timeout || 3e4,
|
|
3123
3152
|
headers: {
|
|
@@ -3156,19 +3185,19 @@ function No(e = {}) {
|
|
|
3156
3185
|
}
|
|
3157
3186
|
), s;
|
|
3158
3187
|
}
|
|
3159
|
-
let
|
|
3188
|
+
let ne = null;
|
|
3160
3189
|
function Kn(e, s = {}) {
|
|
3161
|
-
return
|
|
3190
|
+
return ne = No(s), e.provide("axios", ne), e.config.globalProperties.$axios = ne, ne;
|
|
3162
3191
|
}
|
|
3163
3192
|
function Zo() {
|
|
3164
|
-
if (!
|
|
3193
|
+
if (!ne)
|
|
3165
3194
|
throw new Error("Axios instance not initialized. Call setupAxios() first.");
|
|
3166
|
-
return
|
|
3195
|
+
return ne;
|
|
3167
3196
|
}
|
|
3168
3197
|
function qo(e) {
|
|
3169
3198
|
return e?.status !== 422 ? null : e.data?.errors || null;
|
|
3170
3199
|
}
|
|
3171
|
-
function
|
|
3200
|
+
function Oe(e) {
|
|
3172
3201
|
return e?.status === 422 ? e.data?.message || "Please fix the validation errors." : e?.data?.message || "An error occurred.";
|
|
3173
3202
|
}
|
|
3174
3203
|
function Uo(e) {
|
|
@@ -3180,62 +3209,62 @@ function Gn(e = {}) {
|
|
|
3180
3209
|
createMessage: t = "Created successfully!",
|
|
3181
3210
|
updateMessage: a = "Updated successfully!",
|
|
3182
3211
|
redirectTo: l = null,
|
|
3183
|
-
onSuccess:
|
|
3212
|
+
onSuccess: n = null,
|
|
3184
3213
|
onError: o = null,
|
|
3185
3214
|
showNotification: c = !0,
|
|
3186
|
-
setFieldErrors:
|
|
3215
|
+
setFieldErrors: r = !0,
|
|
3187
3216
|
setFormErrors: i = !1
|
|
3188
3217
|
} = e, u = Y(), d = R(!1);
|
|
3189
|
-
async function p(
|
|
3190
|
-
const { submitFn: x, method: h = "create", node: w = null, isEditMode:
|
|
3218
|
+
async function p(v) {
|
|
3219
|
+
const { submitFn: x, method: h = "create", node: w = null, isEditMode: C = !1 } = v;
|
|
3191
3220
|
d.value = !0, w && w.clearErrors();
|
|
3192
3221
|
try {
|
|
3193
|
-
const
|
|
3222
|
+
const _ = (await x()).data;
|
|
3194
3223
|
if (c) {
|
|
3195
|
-
const
|
|
3224
|
+
const L = C ? a : h === "create" ? t : s;
|
|
3196
3225
|
j.show({
|
|
3197
3226
|
type: "success",
|
|
3198
|
-
message:
|
|
3227
|
+
message: L
|
|
3199
3228
|
});
|
|
3200
3229
|
}
|
|
3201
|
-
if (
|
|
3202
|
-
const
|
|
3203
|
-
await u.push(
|
|
3230
|
+
if (n && await n(_), !C && l) {
|
|
3231
|
+
const L = typeof l == "function" ? l(_) : l;
|
|
3232
|
+
await u.push(L);
|
|
3204
3233
|
}
|
|
3205
|
-
return { success: !0, data:
|
|
3234
|
+
return { success: !0, data: _, error: null };
|
|
3206
3235
|
} catch (y) {
|
|
3207
|
-
const
|
|
3236
|
+
const _ = y.response;
|
|
3208
3237
|
if (o && await o(y) === !0)
|
|
3209
3238
|
return { success: !1, data: null, error: y };
|
|
3210
|
-
if (Uo(
|
|
3211
|
-
const
|
|
3212
|
-
|
|
3239
|
+
if (Uo(_)) {
|
|
3240
|
+
const L = qo(_);
|
|
3241
|
+
L && w && r && w.setErrors([], L), i && j.show({
|
|
3213
3242
|
type: "danger",
|
|
3214
|
-
message:
|
|
3243
|
+
message: Oe(_)
|
|
3215
3244
|
});
|
|
3216
3245
|
} else
|
|
3217
3246
|
j.show({
|
|
3218
3247
|
type: "danger",
|
|
3219
|
-
message:
|
|
3248
|
+
message: Oe(_)
|
|
3220
3249
|
});
|
|
3221
3250
|
return { success: !1, data: null, error: y };
|
|
3222
3251
|
} finally {
|
|
3223
3252
|
d.value = !1;
|
|
3224
3253
|
}
|
|
3225
3254
|
}
|
|
3226
|
-
async function v
|
|
3227
|
-
const { url: x, payload: h, method: w = "post", node:
|
|
3255
|
+
async function b(v) {
|
|
3256
|
+
const { url: x, payload: h, method: w = "post", node: C, isEditMode: y } = v, _ = Zo();
|
|
3228
3257
|
return p({
|
|
3229
|
-
submitFn: () =>
|
|
3258
|
+
submitFn: () => _[w](x, h),
|
|
3230
3259
|
method: y ? "update" : "create",
|
|
3231
|
-
node:
|
|
3260
|
+
node: C,
|
|
3232
3261
|
isEditMode: y
|
|
3233
3262
|
});
|
|
3234
3263
|
}
|
|
3235
3264
|
return {
|
|
3236
3265
|
submitting: d,
|
|
3237
3266
|
submit: p,
|
|
3238
|
-
submitToApi:
|
|
3267
|
+
submitToApi: b
|
|
3239
3268
|
};
|
|
3240
3269
|
}
|
|
3241
3270
|
const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex flex-1 flex-col" }, Wo = {
|
|
@@ -3271,25 +3300,25 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3271
3300
|
},
|
|
3272
3301
|
emits: ["overlayClose"],
|
|
3273
3302
|
setup(e, { emit: s }) {
|
|
3274
|
-
const t = e, a = s, l =
|
|
3275
|
-
const
|
|
3276
|
-
l["app-selector-bottom"] ?
|
|
3303
|
+
const t = e, a = s, l = Be(), n = te(), o = it(), c = rt(), r = $(() => c.getAppIcon(t.appStore.state.app)), i = $(() => n.meta.hideBrandSelector === !0 ? !1 : t.appStore.state.showBrandSelector), u = () => {
|
|
3304
|
+
const v = {};
|
|
3305
|
+
l["app-selector-bottom"] ? v.bottomSlot = () => Ce("div", {}, l["app-selector-bottom"]()) : t.appSelectorSlots.bottomSlot && (v.bottomSlot = t.appSelectorSlots.bottomSlot), l["app-selector-footer"] ? v.footerSlot = () => Ce("div", {}, l["app-selector-footer"]()) : t.appSelectorSlots.footerSlot && (v.footerSlot = t.appSelectorSlots.footerSlot), ae.showRight(Es, v, {
|
|
3277
3306
|
select: (x) => {
|
|
3278
|
-
|
|
3307
|
+
ae.closeRight();
|
|
3279
3308
|
}
|
|
3280
3309
|
});
|
|
3281
3310
|
}, d = () => {
|
|
3282
|
-
|
|
3311
|
+
ae.showLeft(
|
|
3283
3312
|
oa,
|
|
3284
3313
|
{},
|
|
3285
3314
|
{
|
|
3286
|
-
select: (
|
|
3287
|
-
o.toggleBrand(
|
|
3315
|
+
select: (v) => {
|
|
3316
|
+
o.toggleBrand(v), ae.closeLeft();
|
|
3288
3317
|
}
|
|
3289
3318
|
}
|
|
3290
3319
|
);
|
|
3291
|
-
}, p = $(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]),
|
|
3292
|
-
return (
|
|
3320
|
+
}, p = $(() => t.mainNavStore.state.hidden ? ["w-0 overflow-hidden"] : [t.mainNavStore.state.collapsed ? "w-[80px]" : "w-[240px]"]), b = $(() => t.mainNavStore.state.hidden ? ["pl-2.5"] : [t.mainNavStore.state.collapsed ? "pl-[80px]" : "pl-[240px]"]);
|
|
3321
|
+
return (v, x) => {
|
|
3293
3322
|
const h = F("font-awesome-icon"), w = F("router-view");
|
|
3294
3323
|
return m(), g(E, null, [
|
|
3295
3324
|
f("div", {
|
|
@@ -3303,63 +3332,63 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3303
3332
|
f("li", Jo, [
|
|
3304
3333
|
f("a", {
|
|
3305
3334
|
class: "grid w-[40px] h-[40px] place-items-center rounded-md bg-primary-600 text-white text-[13px] cursor-pointer",
|
|
3306
|
-
onClick: x[0] || (x[0] = U((
|
|
3335
|
+
onClick: x[0] || (x[0] = U((C) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"]))
|
|
3307
3336
|
}, [
|
|
3308
3337
|
k(h, {
|
|
3309
|
-
icon:
|
|
3338
|
+
icon: S(O)[r.value],
|
|
3310
3339
|
class: "size-5"
|
|
3311
3340
|
}, null, 8, ["icon"])
|
|
3312
3341
|
]),
|
|
3313
3342
|
e.mainNavStore.state.collapsed ? T("", !0) : (m(), g("a", {
|
|
3314
3343
|
key: 0,
|
|
3315
|
-
onClick: x[1] || (x[1] = U((
|
|
3344
|
+
onClick: x[1] || (x[1] = U((C) => e.mainNavStore.goto(e.appStore.state.homeRoute), ["prevent"])),
|
|
3316
3345
|
class: "font-medium text-gray-800 ml-[10px] cursor-pointer"
|
|
3317
3346
|
}, M(e.appStore.state.app), 1))
|
|
3318
3347
|
]),
|
|
3319
|
-
(m(!0), g(E, null,
|
|
3320
|
-
key:
|
|
3348
|
+
(m(!0), g(E, null, I(e.mainNavStore.state.menu, (C) => (m(), g("li", {
|
|
3349
|
+
key: C.name,
|
|
3321
3350
|
class: V({
|
|
3322
|
-
"mt-[10px]":
|
|
3323
|
-
"mt-auto":
|
|
3351
|
+
"mt-[10px]": C.children,
|
|
3352
|
+
"mt-auto": C.footerSection
|
|
3324
3353
|
})
|
|
3325
3354
|
}, [
|
|
3326
3355
|
f("a", {
|
|
3327
3356
|
class: V([{
|
|
3328
|
-
"bg-gray-100":
|
|
3329
|
-
"hover:bg-gray-100":
|
|
3357
|
+
"bg-gray-100": C.current,
|
|
3358
|
+
"hover:bg-gray-100": C?.href
|
|
3330
3359
|
}, "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"]),
|
|
3331
|
-
href:
|
|
3332
|
-
onClick: U((y) => e.mainNavStore.goto(
|
|
3360
|
+
href: C?.href,
|
|
3361
|
+
onClick: U((y) => e.mainNavStore.goto(C.href), ["prevent"])
|
|
3333
3362
|
}, [
|
|
3334
|
-
|
|
3363
|
+
C.icon ? (m(), H(h, {
|
|
3335
3364
|
key: 0,
|
|
3336
|
-
icon:
|
|
3337
|
-
class: V([[(
|
|
3365
|
+
icon: S(O)[C.icon],
|
|
3366
|
+
class: V([[(C.current, "text-gray-400")], "size-4"])
|
|
3338
3367
|
}, null, 8, ["icon", "class"])) : T("", !0),
|
|
3339
|
-
e.mainNavStore.state.collapsed ?
|
|
3368
|
+
e.mainNavStore.state.collapsed ? C?.children ? (m(), g("div", er, [...x[6] || (x[6] = [
|
|
3340
3369
|
f("div", { class: "w-[10px] h-px bg-gray-400" }, null, -1)
|
|
3341
3370
|
])])) : T("", !0) : (m(), g("span", {
|
|
3342
3371
|
key: 1,
|
|
3343
3372
|
class: V({
|
|
3344
|
-
"text-[11px]":
|
|
3345
|
-
"text-[13px]": !
|
|
3346
|
-
"font-semibold":
|
|
3347
|
-
"text-gray-500":
|
|
3373
|
+
"text-[11px]": C?.children,
|
|
3374
|
+
"text-[13px]": !C?.children,
|
|
3375
|
+
"font-semibold": C?.children,
|
|
3376
|
+
"text-gray-500": C?.children
|
|
3348
3377
|
})
|
|
3349
|
-
}, M(
|
|
3378
|
+
}, M(C.name), 3))
|
|
3350
3379
|
], 10, Qo),
|
|
3351
|
-
|
|
3352
|
-
(m(!0), g(E, null,
|
|
3380
|
+
C.children ? (m(), g("ul", tr, [
|
|
3381
|
+
(m(!0), g(E, null, I(C.children, (y) => (m(), g("li", {
|
|
3353
3382
|
key: y.name
|
|
3354
3383
|
}, [
|
|
3355
3384
|
f("a", {
|
|
3356
3385
|
class: V([[y.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"]),
|
|
3357
3386
|
href: y.href,
|
|
3358
|
-
onClick: U((
|
|
3387
|
+
onClick: U((_) => e.mainNavStore.goto(y.href), ["prevent"])
|
|
3359
3388
|
}, [
|
|
3360
3389
|
y.icon ? (m(), H(h, {
|
|
3361
3390
|
key: 0,
|
|
3362
|
-
icon:
|
|
3391
|
+
icon: S(O)[y.icon],
|
|
3363
3392
|
class: V([[(y.current, "text-gray-400")], "size-4"])
|
|
3364
3393
|
}, null, 8, ["icon", "class"])) : T("", !0),
|
|
3365
3394
|
e.mainNavStore.state.collapsed ? T("", !0) : (m(), g("span", ar, M(y.name), 1))
|
|
@@ -3370,14 +3399,14 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3370
3399
|
])
|
|
3371
3400
|
]),
|
|
3372
3401
|
f("li", or, [
|
|
3373
|
-
|
|
3402
|
+
B(v.$slots, "sidebar-footer"),
|
|
3374
3403
|
f("a", {
|
|
3375
3404
|
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",
|
|
3376
3405
|
href: "#",
|
|
3377
|
-
onClick: x[2] || (x[2] = U((
|
|
3406
|
+
onClick: x[2] || (x[2] = U((C) => e.mainNavStore.toggleCollapsed(), ["prevent"]))
|
|
3378
3407
|
}, [
|
|
3379
3408
|
k(h, {
|
|
3380
|
-
icon:
|
|
3409
|
+
icon: S(O)[e.mainNavStore.state.collapsed ? "farArrowRightToLine" : "farArrowLeftToLine"],
|
|
3381
3410
|
class: "class-5"
|
|
3382
3411
|
}, null, 8, ["icon"])
|
|
3383
3412
|
])
|
|
@@ -3387,36 +3416,36 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3387
3416
|
])
|
|
3388
3417
|
], 2),
|
|
3389
3418
|
f("div", {
|
|
3390
|
-
class: V([
|
|
3419
|
+
class: V([b.value, "h-full transition-all flex flex-col"])
|
|
3391
3420
|
}, [
|
|
3392
3421
|
f("div", rr, [
|
|
3393
3422
|
f("div", nr, [
|
|
3394
3423
|
f("div", lr, [
|
|
3395
|
-
|
|
3424
|
+
B(v.$slots, "header-left", {}, () => [
|
|
3396
3425
|
f("div", ir, [
|
|
3397
3426
|
k(h, {
|
|
3398
|
-
icon:
|
|
3427
|
+
icon: S(O).farBarsSort,
|
|
3399
3428
|
class: "size-5",
|
|
3400
|
-
onClick: x[3] || (x[3] = (
|
|
3429
|
+
onClick: x[3] || (x[3] = (C) => e.mainNavStore.toggleHidden())
|
|
3401
3430
|
}, null, 8, ["icon"])
|
|
3402
3431
|
])
|
|
3403
3432
|
]),
|
|
3404
|
-
|
|
3433
|
+
B(v.$slots, "header-center", {}, () => [
|
|
3405
3434
|
i.value ? (m(), g("div", {
|
|
3406
3435
|
key: 0,
|
|
3407
3436
|
class: "absolute left-1/2 -translate-x-1/2 cursor-pointer h-9 flex items-center",
|
|
3408
3437
|
onClick: d
|
|
3409
3438
|
}, [
|
|
3410
|
-
|
|
3439
|
+
S(o).currentBrand ? (m(), g("img", {
|
|
3411
3440
|
key: 0,
|
|
3412
|
-
src:
|
|
3441
|
+
src: S(o).currentBrand.logo,
|
|
3413
3442
|
alt: "",
|
|
3414
3443
|
class: "h-[30px] w-auto"
|
|
3415
3444
|
}, null, 8, cr)) : T("", !0)
|
|
3416
3445
|
])) : T("", !0)
|
|
3417
3446
|
]),
|
|
3418
3447
|
f("div", ur, [
|
|
3419
|
-
|
|
3448
|
+
B(v.$slots, "header-right", {}, () => [
|
|
3420
3449
|
e.appStore.state.showAppSelector ? (m(), g("button", {
|
|
3421
3450
|
key: 0,
|
|
3422
3451
|
class: "rounded-sm bg-white w-[42px] h-[42px] ring-1 ring-inset ring-gray-300",
|
|
@@ -3424,7 +3453,7 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3424
3453
|
onClick: u
|
|
3425
3454
|
}, [
|
|
3426
3455
|
k(h, {
|
|
3427
|
-
icon:
|
|
3456
|
+
icon: S(O).farGripDotsVertical,
|
|
3428
3457
|
class: "size-4 text-gray-400"
|
|
3429
3458
|
}, null, 8, ["icon"])
|
|
3430
3459
|
])) : T("", !0)
|
|
@@ -3437,17 +3466,17 @@ const Ko = { class: "flex grow m-2.5 p-[10px] rounded-lg" }, Go = { class: "flex
|
|
|
3437
3466
|
k(w)
|
|
3438
3467
|
])
|
|
3439
3468
|
], 2),
|
|
3440
|
-
k(
|
|
3469
|
+
k(S(Pe), {
|
|
3441
3470
|
position: "left",
|
|
3442
|
-
"overlay-instance":
|
|
3443
|
-
onClose: x[4] || (x[4] = (
|
|
3471
|
+
"overlay-instance": S(ae).left,
|
|
3472
|
+
onClose: x[4] || (x[4] = (C) => a("overlayClose", "left"))
|
|
3444
3473
|
}, null, 8, ["overlay-instance"]),
|
|
3445
|
-
k(
|
|
3474
|
+
k(S(Pe), {
|
|
3446
3475
|
position: "right",
|
|
3447
|
-
"overlay-instance":
|
|
3448
|
-
onClose: x[5] || (x[5] = (
|
|
3476
|
+
"overlay-instance": S(ae).right,
|
|
3477
|
+
onClose: x[5] || (x[5] = (C) => a("overlayClose", "right"))
|
|
3449
3478
|
}, null, 8, ["overlay-instance"]),
|
|
3450
|
-
k(
|
|
3479
|
+
k(S(_a))
|
|
3451
3480
|
], 64);
|
|
3452
3481
|
};
|
|
3453
3482
|
}
|
|
@@ -3458,14 +3487,14 @@ function mr(e, s) {
|
|
|
3458
3487
|
k(t)
|
|
3459
3488
|
]);
|
|
3460
3489
|
}
|
|
3461
|
-
const Yn = /* @__PURE__ */
|
|
3490
|
+
const Yn = /* @__PURE__ */ se(pr, [["render", mr]]), hr = { class: "h-full grid place-content-center relative" }, gr = { class: "absolute top-8 left-8" }, yr = ["src"], vr = {
|
|
3462
3491
|
key: 1,
|
|
3463
3492
|
width: "59",
|
|
3464
3493
|
height: "23",
|
|
3465
3494
|
viewBox: "0 0 59 23",
|
|
3466
3495
|
fill: "none",
|
|
3467
3496
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3468
|
-
},
|
|
3497
|
+
}, br = { class: "max-w-sm grid gap-y-1 -mt-8" }, xr = { class: "mb-7" }, kr = { class: "text-gray-600" }, wr = { class: "grid grid-flow-col justify-between mt-1 mb-4" }, _r = {
|
|
3469
3498
|
key: 0,
|
|
3470
3499
|
class: "text-red-600 text-sm mb-2"
|
|
3471
3500
|
}, Sr = { key: 0 }, Cr = { key: 1 }, $r = {
|
|
@@ -3485,7 +3514,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3485
3514
|
}
|
|
3486
3515
|
},
|
|
3487
3516
|
setup(e) {
|
|
3488
|
-
const s = Y(), t =
|
|
3517
|
+
const s = Y(), t = te(), a = nt(), l = W(), n = e, o = R(!1), c = R(""), r = async (i) => {
|
|
3489
3518
|
o.value = !0, c.value = "";
|
|
3490
3519
|
try {
|
|
3491
3520
|
await l.login(i);
|
|
@@ -3497,7 +3526,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3497
3526
|
}
|
|
3498
3527
|
await s.push(u);
|
|
3499
3528
|
} else
|
|
3500
|
-
await s.push(
|
|
3529
|
+
await s.push(n.defaultRedirect);
|
|
3501
3530
|
} catch (u) {
|
|
3502
3531
|
c.value = u.response?.data?.message || u.message || "Login failed. Please try again.";
|
|
3503
3532
|
} finally {
|
|
@@ -3508,12 +3537,12 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3508
3537
|
const d = F("FormKit"), p = F("router-link");
|
|
3509
3538
|
return m(), g("div", hr, [
|
|
3510
3539
|
f("div", gr, [
|
|
3511
|
-
|
|
3540
|
+
n.logo ? (m(), g("img", {
|
|
3512
3541
|
key: 0,
|
|
3513
|
-
src:
|
|
3542
|
+
src: n.logo,
|
|
3514
3543
|
alt: "Logo",
|
|
3515
3544
|
class: "h-[23px] w-auto"
|
|
3516
|
-
}, null, 8, yr)) : (m(), g("svg",
|
|
3545
|
+
}, null, 8, yr)) : (m(), g("svg", vr, [...u[0] || (u[0] = [
|
|
3517
3546
|
f("path", {
|
|
3518
3547
|
d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
|
|
3519
3548
|
fill: "#1C64F2"
|
|
@@ -3532,17 +3561,17 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3532
3561
|
}, null, -1)
|
|
3533
3562
|
])]))
|
|
3534
3563
|
]),
|
|
3535
|
-
f("div",
|
|
3564
|
+
f("div", br, [
|
|
3536
3565
|
f("div", xr, [
|
|
3537
3566
|
u[1] || (u[1] = f("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Log in", -1)),
|
|
3538
|
-
f("p", kr, " Welcome back" + M(
|
|
3567
|
+
f("p", kr, " Welcome back" + M(S(a).state.app ? ` to ${S(a).state.app}` : "") + "! Please enter your details. ", 1)
|
|
3539
3568
|
]),
|
|
3540
3569
|
k(d, {
|
|
3541
3570
|
type: "form",
|
|
3542
|
-
onSubmit:
|
|
3571
|
+
onSubmit: r,
|
|
3543
3572
|
actions: !1
|
|
3544
3573
|
}, {
|
|
3545
|
-
default:
|
|
3574
|
+
default: P(() => [
|
|
3546
3575
|
k(d, {
|
|
3547
3576
|
label: "Email",
|
|
3548
3577
|
name: "email",
|
|
@@ -3550,7 +3579,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3550
3579
|
type: "email",
|
|
3551
3580
|
validation: "required|email",
|
|
3552
3581
|
"outer-class": "max-w-full",
|
|
3553
|
-
value:
|
|
3582
|
+
value: S(l).state.devCredentials.username
|
|
3554
3583
|
}, null, 8, ["value"]),
|
|
3555
3584
|
k(d, {
|
|
3556
3585
|
label: "Password",
|
|
@@ -3559,28 +3588,28 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3559
3588
|
type: "password",
|
|
3560
3589
|
validation: "required",
|
|
3561
3590
|
"outer-class": "max-w-full",
|
|
3562
|
-
value:
|
|
3591
|
+
value: S(l).state.devCredentials.password
|
|
3563
3592
|
}, null, 8, ["value"]),
|
|
3564
3593
|
f("div", wr, [
|
|
3565
3594
|
u[3] || (u[3] = f("span", null, null, -1)),
|
|
3566
3595
|
k(p, {
|
|
3567
|
-
to:
|
|
3596
|
+
to: n.forgotPasswordRoute,
|
|
3568
3597
|
class: "text-sm text-primary-600 font-semibold"
|
|
3569
3598
|
}, {
|
|
3570
|
-
default:
|
|
3571
|
-
|
|
3599
|
+
default: P(() => [...u[2] || (u[2] = [
|
|
3600
|
+
A(" Forgot password ", -1)
|
|
3572
3601
|
])]),
|
|
3573
3602
|
_: 1
|
|
3574
3603
|
}, 8, ["to"])
|
|
3575
3604
|
]),
|
|
3576
3605
|
c.value ? (m(), g("div", _r, M(c.value), 1)) : T("", !0),
|
|
3577
|
-
k(
|
|
3606
|
+
k(S(X), {
|
|
3578
3607
|
type: "submit",
|
|
3579
3608
|
size: "xl",
|
|
3580
3609
|
disabled: o.value,
|
|
3581
3610
|
"button-class": "w-full mb-2"
|
|
3582
3611
|
}, {
|
|
3583
|
-
default:
|
|
3612
|
+
default: P(() => [
|
|
3584
3613
|
o.value ? (m(), g("span", Cr, "Signing in...")) : (m(), g("span", Sr, "Sign in"))
|
|
3585
3614
|
]),
|
|
3586
3615
|
_: 1
|
|
@@ -3601,14 +3630,14 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3601
3630
|
}
|
|
3602
3631
|
},
|
|
3603
3632
|
setup(e) {
|
|
3604
|
-
const s = Y(), t =
|
|
3605
|
-
return
|
|
3633
|
+
const s = Y(), t = te(), a = W(), l = e;
|
|
3634
|
+
return he(async () => {
|
|
3606
3635
|
await a.logout();
|
|
3607
|
-
const
|
|
3608
|
-
|
|
3609
|
-
}), (
|
|
3636
|
+
const n = t.query.redirect;
|
|
3637
|
+
n && n.startsWith("http") ? window.location.href = n : await s.push(n || l.defaultRedirect);
|
|
3638
|
+
}), (n, o) => null;
|
|
3610
3639
|
}
|
|
3611
|
-
},
|
|
3640
|
+
}, Pr = { class: "h-full grid place-content-center relative" }, Lr = { class: "absolute top-8 left-8" }, Mr = ["src"], Vr = {
|
|
3612
3641
|
key: 1,
|
|
3613
3642
|
width: "59",
|
|
3614
3643
|
height: "23",
|
|
@@ -3621,7 +3650,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3621
3650
|
}, Fr = {
|
|
3622
3651
|
key: 1,
|
|
3623
3652
|
class: "text-green-600 text-sm mb-2"
|
|
3624
|
-
}, Er = { key: 0 },
|
|
3653
|
+
}, Er = { key: 0 }, Or = { key: 1 }, Ar = {
|
|
3625
3654
|
__name: "SparkForgotPasswordView",
|
|
3626
3655
|
props: {
|
|
3627
3656
|
logo: {
|
|
@@ -3634,26 +3663,26 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3634
3663
|
}
|
|
3635
3664
|
},
|
|
3636
3665
|
setup(e) {
|
|
3637
|
-
const s = W(), t = e, a = R(!1), l = R(""),
|
|
3638
|
-
a.value = !0, l.value = "",
|
|
3666
|
+
const s = W(), t = e, a = R(!1), l = R(""), n = R(""), o = async ({ email: c }) => {
|
|
3667
|
+
a.value = !0, l.value = "", n.value = "";
|
|
3639
3668
|
try {
|
|
3640
|
-
await
|
|
3641
|
-
} catch (
|
|
3642
|
-
l.value =
|
|
3669
|
+
await le.post(s.state.endpoints.passwordEmail, { email: c }), n.value = "Password reset link sent! Check your email.";
|
|
3670
|
+
} catch (r) {
|
|
3671
|
+
l.value = r.response?.data?.message || "Failed to send reset link.";
|
|
3643
3672
|
} finally {
|
|
3644
3673
|
a.value = !1;
|
|
3645
3674
|
}
|
|
3646
3675
|
};
|
|
3647
|
-
return (c,
|
|
3676
|
+
return (c, r) => {
|
|
3648
3677
|
const i = F("FormKit"), u = F("router-link");
|
|
3649
|
-
return m(), g("div",
|
|
3650
|
-
f("div",
|
|
3678
|
+
return m(), g("div", Pr, [
|
|
3679
|
+
f("div", Lr, [
|
|
3651
3680
|
t.logo ? (m(), g("img", {
|
|
3652
3681
|
key: 0,
|
|
3653
3682
|
src: t.logo,
|
|
3654
3683
|
alt: "Logo",
|
|
3655
3684
|
class: "h-[23px] w-auto"
|
|
3656
|
-
}, null, 8, Mr)) : (m(), g("svg", Vr, [...
|
|
3685
|
+
}, null, 8, Mr)) : (m(), g("svg", Vr, [...r[0] || (r[0] = [
|
|
3657
3686
|
f("path", {
|
|
3658
3687
|
d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
|
|
3659
3688
|
fill: "#1C64F2"
|
|
@@ -3673,7 +3702,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3673
3702
|
])]))
|
|
3674
3703
|
]),
|
|
3675
3704
|
f("div", Hr, [
|
|
3676
|
-
|
|
3705
|
+
r[2] || (r[2] = f("div", { class: "mb-7" }, [
|
|
3677
3706
|
f("h1", { class: "text-4xl text-gray-900 semibold tracking-tight mb-3" }, "Reset password"),
|
|
3678
3707
|
f("p", { class: "text-gray-600" }, " Enter your email and we'll send you a link to reset your password. ")
|
|
3679
3708
|
], -1)),
|
|
@@ -3682,7 +3711,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3682
3711
|
onSubmit: o,
|
|
3683
3712
|
actions: !1
|
|
3684
3713
|
}, {
|
|
3685
|
-
default:
|
|
3714
|
+
default: P(() => [
|
|
3686
3715
|
k(i, {
|
|
3687
3716
|
label: "Email",
|
|
3688
3717
|
name: "email",
|
|
@@ -3692,15 +3721,15 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3692
3721
|
"outer-class": "max-w-full"
|
|
3693
3722
|
}),
|
|
3694
3723
|
l.value ? (m(), g("div", Rr, M(l.value), 1)) : T("", !0),
|
|
3695
|
-
|
|
3696
|
-
k(
|
|
3724
|
+
n.value ? (m(), g("div", Fr, M(n.value), 1)) : T("", !0),
|
|
3725
|
+
k(S(X), {
|
|
3697
3726
|
type: "submit",
|
|
3698
3727
|
size: "xl",
|
|
3699
3728
|
disabled: a.value,
|
|
3700
3729
|
"button-class": "w-full mb-2"
|
|
3701
3730
|
}, {
|
|
3702
|
-
default:
|
|
3703
|
-
a.value ? (m(), g("span",
|
|
3731
|
+
default: P(() => [
|
|
3732
|
+
a.value ? (m(), g("span", Or, "Sending...")) : (m(), g("span", Er, "Send reset link"))
|
|
3704
3733
|
]),
|
|
3705
3734
|
_: 1
|
|
3706
3735
|
}, 8, ["disabled"]),
|
|
@@ -3708,8 +3737,8 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3708
3737
|
to: t.loginRoute,
|
|
3709
3738
|
class: "text-sm text-center text-primary-600 font-semibold block"
|
|
3710
3739
|
}, {
|
|
3711
|
-
default:
|
|
3712
|
-
|
|
3740
|
+
default: P(() => [...r[1] || (r[1] = [
|
|
3741
|
+
A(" Back to login ", -1)
|
|
3713
3742
|
])]),
|
|
3714
3743
|
_: 1
|
|
3715
3744
|
}, 8, ["to"])
|
|
@@ -3720,7 +3749,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3720
3749
|
]);
|
|
3721
3750
|
};
|
|
3722
3751
|
}
|
|
3723
|
-
},
|
|
3752
|
+
}, Br = { class: "h-full grid place-content-center relative" }, Dr = { class: "absolute top-8 left-8" }, jr = ["src"], zr = {
|
|
3724
3753
|
key: 1,
|
|
3725
3754
|
width: "59",
|
|
3726
3755
|
height: "23",
|
|
@@ -3743,25 +3772,25 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3743
3772
|
}
|
|
3744
3773
|
},
|
|
3745
3774
|
setup(e) {
|
|
3746
|
-
const s = Y(), t =
|
|
3747
|
-
|
|
3775
|
+
const s = Y(), t = te(), a = W(), l = e, n = R(!1), o = R(""), c = async ({ password: r, password_confirmation: i }) => {
|
|
3776
|
+
n.value = !0, o.value = "";
|
|
3748
3777
|
try {
|
|
3749
|
-
await
|
|
3778
|
+
await le.post(a.state.endpoints.passwordReset, {
|
|
3750
3779
|
email: t.query.email,
|
|
3751
3780
|
token: t.query.token,
|
|
3752
|
-
password:
|
|
3781
|
+
password: r,
|
|
3753
3782
|
password_confirmation: i
|
|
3754
3783
|
}), await s.push(l.loginRoute);
|
|
3755
3784
|
} catch (u) {
|
|
3756
3785
|
o.value = u.response?.data?.message || "Failed to reset password.";
|
|
3757
3786
|
} finally {
|
|
3758
|
-
|
|
3787
|
+
n.value = !1;
|
|
3759
3788
|
}
|
|
3760
3789
|
};
|
|
3761
|
-
return (
|
|
3790
|
+
return (r, i) => {
|
|
3762
3791
|
const u = F("FormKit");
|
|
3763
|
-
return m(), g("div",
|
|
3764
|
-
f("div",
|
|
3792
|
+
return m(), g("div", Br, [
|
|
3793
|
+
f("div", Dr, [
|
|
3765
3794
|
l.logo ? (m(), g("img", {
|
|
3766
3795
|
key: 0,
|
|
3767
3796
|
src: l.logo,
|
|
@@ -3796,7 +3825,7 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3796
3825
|
onSubmit: c,
|
|
3797
3826
|
actions: !1
|
|
3798
3827
|
}, {
|
|
3799
|
-
default:
|
|
3828
|
+
default: P(() => [
|
|
3800
3829
|
k(u, {
|
|
3801
3830
|
label: "New Password",
|
|
3802
3831
|
name: "password",
|
|
@@ -3814,14 +3843,14 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3814
3843
|
"outer-class": "max-w-full"
|
|
3815
3844
|
}),
|
|
3816
3845
|
o.value ? (m(), g("div", Nr, M(o.value), 1)) : T("", !0),
|
|
3817
|
-
k(
|
|
3846
|
+
k(S(X), {
|
|
3818
3847
|
type: "submit",
|
|
3819
3848
|
size: "xl",
|
|
3820
|
-
disabled:
|
|
3849
|
+
disabled: n.value,
|
|
3821
3850
|
"button-class": "w-full mb-2"
|
|
3822
3851
|
}, {
|
|
3823
|
-
default:
|
|
3824
|
-
|
|
3852
|
+
default: P(() => [
|
|
3853
|
+
n.value ? (m(), g("span", qr, "Resetting...")) : (m(), g("span", Zr, "Reset password"))
|
|
3825
3854
|
]),
|
|
3826
3855
|
_: 1
|
|
3827
3856
|
}, 8, ["disabled"])
|
|
@@ -3855,14 +3884,14 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3855
3884
|
const s = Y(), t = e, a = () => {
|
|
3856
3885
|
s.push(t.homeRoute);
|
|
3857
3886
|
};
|
|
3858
|
-
return (l,
|
|
3887
|
+
return (l, n) => (m(), g("div", Kr, [
|
|
3859
3888
|
f("div", Gr, [
|
|
3860
3889
|
t.logo ? (m(), g("img", {
|
|
3861
3890
|
key: 0,
|
|
3862
3891
|
src: t.logo,
|
|
3863
3892
|
alt: "Logo",
|
|
3864
3893
|
class: "h-[23px] w-auto"
|
|
3865
|
-
}, null, 8, Wr)) : (m(), g("svg", Yr, [...
|
|
3894
|
+
}, null, 8, Wr)) : (m(), g("svg", Yr, [...n[0] || (n[0] = [
|
|
3866
3895
|
f("path", {
|
|
3867
3896
|
d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
|
|
3868
3897
|
fill: "#1C64F2"
|
|
@@ -3882,22 +3911,22 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3882
3911
|
])]))
|
|
3883
3912
|
]),
|
|
3884
3913
|
f("div", Xr, [
|
|
3885
|
-
|
|
3914
|
+
n[2] || (n[2] = f("div", null, [
|
|
3886
3915
|
f("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "403"),
|
|
3887
3916
|
f("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Access Forbidden "),
|
|
3888
3917
|
f("p", { class: "text-gray-600" }, [
|
|
3889
|
-
|
|
3918
|
+
A(" You don't have permission to access this resource."),
|
|
3890
3919
|
f("br"),
|
|
3891
|
-
|
|
3920
|
+
A(" If you believe this is an error, please contact your administrator. ")
|
|
3892
3921
|
])
|
|
3893
3922
|
], -1)),
|
|
3894
3923
|
f("div", Jr, [
|
|
3895
|
-
k(
|
|
3924
|
+
k(S(X), {
|
|
3896
3925
|
onClick: a,
|
|
3897
3926
|
size: "lg"
|
|
3898
3927
|
}, {
|
|
3899
|
-
default:
|
|
3900
|
-
|
|
3928
|
+
default: P(() => [...n[1] || (n[1] = [
|
|
3929
|
+
A(" Go to Home ", -1)
|
|
3901
3930
|
])]),
|
|
3902
3931
|
_: 1
|
|
3903
3932
|
})
|
|
@@ -3928,14 +3957,14 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3928
3957
|
const s = Y(), t = e, a = () => {
|
|
3929
3958
|
s.push(t.homeRoute);
|
|
3930
3959
|
};
|
|
3931
|
-
return (l,
|
|
3960
|
+
return (l, n) => (m(), g("div", en, [
|
|
3932
3961
|
f("div", tn, [
|
|
3933
3962
|
t.logo ? (m(), g("img", {
|
|
3934
3963
|
key: 0,
|
|
3935
3964
|
src: t.logo,
|
|
3936
3965
|
alt: "Logo",
|
|
3937
3966
|
class: "h-[23px] w-auto"
|
|
3938
|
-
}, null, 8, sn)) : (m(), g("svg", an, [...
|
|
3967
|
+
}, null, 8, sn)) : (m(), g("svg", an, [...n[0] || (n[0] = [
|
|
3939
3968
|
f("path", {
|
|
3940
3969
|
d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
|
|
3941
3970
|
fill: "#1C64F2"
|
|
@@ -3955,18 +3984,18 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
3955
3984
|
])]))
|
|
3956
3985
|
]),
|
|
3957
3986
|
f("div", on, [
|
|
3958
|
-
|
|
3987
|
+
n[2] || (n[2] = f("div", null, [
|
|
3959
3988
|
f("div", { class: "text-primary-600 text-7xl font-bold mb-4" }, "404"),
|
|
3960
3989
|
f("h1", { class: "text-3xl text-gray-900 font-semibold tracking-tight mb-3" }, " Page Not Found "),
|
|
3961
3990
|
f("p", { class: "text-gray-600" }, " The page you're looking for doesn't exist or has been moved. ")
|
|
3962
3991
|
], -1)),
|
|
3963
3992
|
f("div", rn, [
|
|
3964
|
-
k(
|
|
3993
|
+
k(S(X), {
|
|
3965
3994
|
onClick: a,
|
|
3966
3995
|
size: "lg"
|
|
3967
3996
|
}, {
|
|
3968
|
-
default:
|
|
3969
|
-
|
|
3997
|
+
default: P(() => [...n[1] || (n[1] = [
|
|
3998
|
+
A(" Go to Home ", -1)
|
|
3970
3999
|
])]),
|
|
3971
4000
|
_: 1
|
|
3972
4001
|
})
|
|
@@ -4009,14 +4038,14 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
4009
4038
|
const s = Y(), t = e, a = () => {
|
|
4010
4039
|
s.push(t.homeRoute);
|
|
4011
4040
|
};
|
|
4012
|
-
return (l,
|
|
4041
|
+
return (l, n) => (m(), g("div", ln, [
|
|
4013
4042
|
f("div", cn, [
|
|
4014
4043
|
t.logo ? (m(), g("img", {
|
|
4015
4044
|
key: 0,
|
|
4016
4045
|
src: t.logo,
|
|
4017
4046
|
alt: "Logo",
|
|
4018
4047
|
class: "h-[23px] w-auto"
|
|
4019
|
-
}, null, 8, un)) : (m(), g("svg", dn, [...
|
|
4048
|
+
}, null, 8, un)) : (m(), g("svg", dn, [...n[0] || (n[0] = [
|
|
4020
4049
|
f("path", {
|
|
4021
4050
|
d: "M49.2029 17.1264V8.03835H44.0829V5.22235H58.0989V8.03835H52.9629V17.1264H49.2029Z",
|
|
4022
4051
|
fill: "#1C64F2"
|
|
@@ -4042,12 +4071,12 @@ const Yn = /* @__PURE__ */ te(pr, [["render", mr]]), hr = { class: "h-full grid
|
|
|
4042
4071
|
f("p", hn, M(t.message || "An unexpected error occurred. Please try again later."), 1)
|
|
4043
4072
|
]),
|
|
4044
4073
|
f("div", gn, [
|
|
4045
|
-
k(
|
|
4074
|
+
k(S(X), {
|
|
4046
4075
|
onClick: a,
|
|
4047
4076
|
size: "lg"
|
|
4048
4077
|
}, {
|
|
4049
|
-
default:
|
|
4050
|
-
|
|
4078
|
+
default: P(() => [...n[1] || (n[1] = [
|
|
4079
|
+
A(" Go to Home ", -1)
|
|
4051
4080
|
])]),
|
|
4052
4081
|
_: 1
|
|
4053
4082
|
})
|
|
@@ -4062,7 +4091,7 @@ function Jn(e = {}) {
|
|
|
4062
4091
|
logoutPath: t = "/logout",
|
|
4063
4092
|
forgotPasswordPath: a = "/forgot-password",
|
|
4064
4093
|
resetPasswordPath: l = "/password/reset",
|
|
4065
|
-
logo:
|
|
4094
|
+
logo: n = "",
|
|
4066
4095
|
defaultRedirect: o = "/dashboard"
|
|
4067
4096
|
} = e;
|
|
4068
4097
|
return [
|
|
@@ -4070,7 +4099,7 @@ function Jn(e = {}) {
|
|
|
4070
4099
|
path: s,
|
|
4071
4100
|
name: "login",
|
|
4072
4101
|
component: $r,
|
|
4073
|
-
props: { logo:
|
|
4102
|
+
props: { logo: n, defaultRedirect: o },
|
|
4074
4103
|
meta: { auth: !1 }
|
|
4075
4104
|
},
|
|
4076
4105
|
{
|
|
@@ -4083,33 +4112,33 @@ function Jn(e = {}) {
|
|
|
4083
4112
|
{
|
|
4084
4113
|
path: a,
|
|
4085
4114
|
name: "forgot-password",
|
|
4086
|
-
component:
|
|
4087
|
-
props: { logo:
|
|
4115
|
+
component: Ar,
|
|
4116
|
+
props: { logo: n, loginRoute: s },
|
|
4088
4117
|
meta: { auth: !1 }
|
|
4089
4118
|
},
|
|
4090
4119
|
{
|
|
4091
4120
|
path: l,
|
|
4092
4121
|
name: "password-reset",
|
|
4093
4122
|
component: Ur,
|
|
4094
|
-
props: { logo:
|
|
4123
|
+
props: { logo: n, loginRoute: s },
|
|
4095
4124
|
meta: { auth: !1 }
|
|
4096
4125
|
}
|
|
4097
4126
|
];
|
|
4098
4127
|
}
|
|
4099
4128
|
function Qn(e, s = {}) {
|
|
4100
4129
|
const { defaultAuthenticatedRoute: t = "/dashboard" } = s;
|
|
4101
|
-
e.beforeEach(async (a, l,
|
|
4130
|
+
e.beforeEach(async (a, l, n) => {
|
|
4102
4131
|
const o = W();
|
|
4103
|
-
o.state.ready || await o.fetchUser(), yn(a,
|
|
4132
|
+
o.state.ready || await o.fetchUser(), yn(a, n, o, t);
|
|
4104
4133
|
});
|
|
4105
4134
|
}
|
|
4106
4135
|
function yn(e, s, t, a) {
|
|
4107
|
-
const l = e.meta.auth !== !1,
|
|
4136
|
+
const l = e.meta.auth !== !1, n = t.check;
|
|
4108
4137
|
if (t.state.overrideToken && e.path === "/logout") {
|
|
4109
4138
|
s({ path: a });
|
|
4110
4139
|
return;
|
|
4111
4140
|
}
|
|
4112
|
-
if (!
|
|
4141
|
+
if (!n) {
|
|
4113
4142
|
if (!l) {
|
|
4114
4143
|
if (e.path === "/logout") {
|
|
4115
4144
|
s({ path: t.state.routes.auth });
|
|
@@ -4129,7 +4158,7 @@ function yn(e, s, t, a) {
|
|
|
4129
4158
|
});
|
|
4130
4159
|
return;
|
|
4131
4160
|
}
|
|
4132
|
-
if (
|
|
4161
|
+
if (n) {
|
|
4133
4162
|
if (!l && e.path === t.state.routes.auth) {
|
|
4134
4163
|
s({ path: a });
|
|
4135
4164
|
return;
|
|
@@ -4181,8 +4210,8 @@ const al = ue("sparkNav", () => {
|
|
|
4181
4210
|
menu: [],
|
|
4182
4211
|
collapsed: !1,
|
|
4183
4212
|
hidden: !1
|
|
4184
|
-
}), s = Y(), t =
|
|
4185
|
-
e.menu = i,
|
|
4213
|
+
}), s = Y(), t = te(), a = (i = []) => {
|
|
4214
|
+
e.menu = i, r();
|
|
4186
4215
|
}, l = (i, u) => {
|
|
4187
4216
|
for (const d of i) {
|
|
4188
4217
|
if (d.href === u) return d;
|
|
@@ -4192,7 +4221,7 @@ const al = ue("sparkNav", () => {
|
|
|
4192
4221
|
}
|
|
4193
4222
|
}
|
|
4194
4223
|
return null;
|
|
4195
|
-
},
|
|
4224
|
+
}, n = async (i) => {
|
|
4196
4225
|
if (i) {
|
|
4197
4226
|
const u = l(e.menu, i);
|
|
4198
4227
|
if (u && typeof u.action == "function") {
|
|
@@ -4205,7 +4234,7 @@ const al = ue("sparkNav", () => {
|
|
|
4205
4234
|
e.collapsed = !e.collapsed;
|
|
4206
4235
|
}, c = () => {
|
|
4207
4236
|
e.hidden = !e.hidden;
|
|
4208
|
-
},
|
|
4237
|
+
}, r = () => {
|
|
4209
4238
|
const i = t.name || t.path.replace("/", "");
|
|
4210
4239
|
if (i) {
|
|
4211
4240
|
const u = (d) => {
|
|
@@ -4216,24 +4245,24 @@ const al = ue("sparkNav", () => {
|
|
|
4216
4245
|
u(e.menu);
|
|
4217
4246
|
}
|
|
4218
4247
|
};
|
|
4219
|
-
return
|
|
4248
|
+
return z(
|
|
4220
4249
|
() => t.path,
|
|
4221
4250
|
() => {
|
|
4222
|
-
|
|
4251
|
+
r();
|
|
4223
4252
|
},
|
|
4224
4253
|
{ immediate: !0 }
|
|
4225
4254
|
), {
|
|
4226
4255
|
state: e,
|
|
4227
4256
|
initialize: a,
|
|
4228
|
-
goto:
|
|
4257
|
+
goto: n,
|
|
4229
4258
|
toggleCollapsed: o,
|
|
4230
4259
|
toggleHidden: c,
|
|
4231
|
-
syncWithRoute:
|
|
4260
|
+
syncWithRoute: r
|
|
4232
4261
|
};
|
|
4233
4262
|
});
|
|
4234
4263
|
export {
|
|
4235
|
-
|
|
4236
|
-
|
|
4264
|
+
O as Icons,
|
|
4265
|
+
oe as SparkAlert,
|
|
4237
4266
|
Es as SparkAppSelector,
|
|
4238
4267
|
oa as SparkBrandSelector,
|
|
4239
4268
|
X as SparkButton,
|
|
@@ -4243,14 +4272,14 @@ export {
|
|
|
4243
4272
|
Qr as SparkError403View,
|
|
4244
4273
|
nn as SparkError404View,
|
|
4245
4274
|
Xn as SparkErrorGeneralView,
|
|
4246
|
-
|
|
4275
|
+
Ar as SparkForgotPasswordView,
|
|
4247
4276
|
Zn as SparkImageUpload,
|
|
4248
4277
|
$r as SparkLoginView,
|
|
4249
4278
|
Tr as SparkLogoutView,
|
|
4250
4279
|
_a as SparkModalContainer,
|
|
4251
|
-
|
|
4280
|
+
ba as SparkModalDialog,
|
|
4252
4281
|
zn as SparkNotificationOutlet,
|
|
4253
|
-
|
|
4282
|
+
Pe as SparkOverlay,
|
|
4254
4283
|
Yn as SparkPublicContainer,
|
|
4255
4284
|
Ur as SparkResetPasswordView,
|
|
4256
4285
|
qn as SparkTable,
|
|
@@ -4263,34 +4292,34 @@ export {
|
|
|
4263
4292
|
yo as SparkTableSearch,
|
|
4264
4293
|
Re as SparkTableToolbar,
|
|
4265
4294
|
In as SparkToastContainer,
|
|
4266
|
-
|
|
4295
|
+
Dn as addIcons,
|
|
4267
4296
|
el as create403Route,
|
|
4268
4297
|
tl as create404Route,
|
|
4269
4298
|
Jn as createAuthRoutes,
|
|
4270
4299
|
No as createAxiosInstance,
|
|
4271
4300
|
Un as createBootstrapService,
|
|
4272
|
-
|
|
4301
|
+
La as customiseHeader,
|
|
4273
4302
|
jo as deleteCookie,
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4303
|
+
An as formKitGenesisOverride,
|
|
4304
|
+
Bn as formKitIconLoader,
|
|
4305
|
+
On as formKitIcons,
|
|
4277
4306
|
Ua as formatTemporal,
|
|
4278
4307
|
Zo as getAxiosInstance,
|
|
4279
|
-
|
|
4308
|
+
Bo as getCookie,
|
|
4280
4309
|
ct as getDomain,
|
|
4281
|
-
|
|
4310
|
+
Oe as getFormLevelMessage,
|
|
4282
4311
|
Uo as isValidationError,
|
|
4283
4312
|
Ka as parseDatetime,
|
|
4284
4313
|
qo as parseLaravelErrors,
|
|
4285
4314
|
Ca as renderHeaderTitle,
|
|
4286
|
-
|
|
4315
|
+
Do as setCookie,
|
|
4287
4316
|
Qn as setupAuthGuards,
|
|
4288
4317
|
Kn as setupAxios,
|
|
4289
4318
|
sl as setupBootstrapGuard,
|
|
4290
4319
|
jn as setupFontAwesome,
|
|
4291
|
-
|
|
4320
|
+
re as sparkModalService,
|
|
4292
4321
|
j as sparkNotificationService,
|
|
4293
|
-
|
|
4322
|
+
ae as sparkOverlayService,
|
|
4294
4323
|
Xa as updateRow,
|
|
4295
4324
|
Gn as useFormSubmission,
|
|
4296
4325
|
rt as useSparkAppSelectorStore,
|