mgv-backoffice 1.27.0 → 1.28.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/README.md +70 -6
- package/dist/components/BaseActionButton.vue.d.ts +1 -1
- package/dist/components/BaseAlert.vue.d.ts +21 -25
- package/dist/components/BaseChipButton.vue.d.ts +25 -0
- package/dist/components/BaseRemoveButton.vue.d.ts +7 -0
- package/dist/components/BaseStatusPill.vue.d.ts +8 -0
- package/dist/components/BaseToolbarButton.vue.d.ts +1 -1
- package/dist/components/EarningsCard.vue.d.ts +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/ui-lib.css +1 -1
- package/dist/ui-lib.js +500 -429
- package/dist/ui-lib.umd.cjs +1 -1
- package/package.json +1 -1
- package/src/components/BaseAlert.vue +78 -32
- package/src/components/BaseChipButton.vue +42 -0
- package/src/components/BaseRemoveButton.vue +22 -0
- package/src/components/BaseStatusPill.vue +54 -0
- package/src/index.ts +3 -0
package/dist/ui-lib.js
CHANGED
|
@@ -1,102 +1,98 @@
|
|
|
1
1
|
import { Fragment as e, Teleport as t, Transition as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createStaticVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, effectScope as f, nextTick as p, normalizeClass as m, onBeforeUnmount as h, onMounted as g, onScopeDispose as _, onUnmounted as v, openBlock as y, ref as b, renderList as x, renderSlot as S, resolveComponent as C, resolveDynamicComponent as w, toDisplayString as T, unref as E, useSlots as D, vModelCheckbox as O, vModelDynamic as k, vModelText as A, vShow as ee, watch as j, withCtx as M, withDirectives as N, withKeys as P, withModifiers as F } from "vue";
|
|
2
|
-
import { ArrowDownIcon as te, ArrowUpIcon as ne, Bars3Icon as re, BellIcon as ie, CheckCircleIcon as ae, ChevronDoubleLeftIcon as oe, ChevronDoubleRightIcon as se, ChevronDownIcon as ce, ChevronRightIcon as le, ClipboardDocumentCheckIcon as ue, ClipboardDocumentIcon as de, DocumentDuplicateIcon as fe, ExclamationCircleIcon as pe, ExclamationTriangleIcon as
|
|
3
|
-
import { HomeIcon as
|
|
4
|
-
import { useRoute as
|
|
2
|
+
import { ArrowDownIcon as te, ArrowUpIcon as ne, Bars3Icon as re, BellIcon as ie, CheckCircleIcon as ae, ChevronDoubleLeftIcon as oe, ChevronDoubleRightIcon as se, ChevronDownIcon as ce, ChevronRightIcon as le, ClipboardDocumentCheckIcon as ue, ClipboardDocumentIcon as de, DocumentDuplicateIcon as fe, ExclamationCircleIcon as pe, ExclamationTriangleIcon as I, FolderIcon as me, InformationCircleIcon as he, MagnifyingGlassIcon as ge, MinusIcon as _e, MoonIcon as ve, SunIcon as ye, XMarkIcon as be } from "@heroicons/vue/24/outline";
|
|
3
|
+
import { HomeIcon as xe } from "@heroicons/vue/24/solid";
|
|
4
|
+
import { useRoute as Se, useRouter as Ce } from "vue-router";
|
|
5
5
|
//#region src/enums/AlertEnum.ts
|
|
6
|
-
var
|
|
6
|
+
var L = /* @__PURE__ */ function(e) {
|
|
7
7
|
return e.WARNING = "WARNING", e.ERROR = "ERROR", e.SUCCESS = "SUCCESS", e.INFO = "INFO", e;
|
|
8
|
-
}({}),
|
|
9
|
-
return e.NONE = "NONE", e.RED = "RED", e.YELLOW = "YELLOW", e.BLACK = "BLACK", e.GRAY = "GRAY", e.GREEN = "GREEN", e.BLUE = "BLUE", e;
|
|
10
|
-
}({});
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region src/utils/util.ts
|
|
8
|
+
}({}), R = b(!1), we = !1, z = "mgv-theme";
|
|
13
9
|
function Te(e) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
t = "red";
|
|
18
|
-
break;
|
|
19
|
-
case I.SUCCESS:
|
|
20
|
-
t = "green";
|
|
21
|
-
break;
|
|
22
|
-
case I.INFO:
|
|
23
|
-
t = "gray";
|
|
24
|
-
break;
|
|
25
|
-
case I.WARNING:
|
|
26
|
-
t = "yellow";
|
|
27
|
-
break;
|
|
10
|
+
if (we) {
|
|
11
|
+
e !== z && console.warn(`[ui-lib] useTheme: storage key "${e}" ignored — theme already initialized with "${z}". Call initTheme({ storageKey }) before mounting any component.`);
|
|
12
|
+
return;
|
|
28
13
|
}
|
|
29
|
-
|
|
14
|
+
if (we = !0, z = e, typeof window < "u") {
|
|
15
|
+
let e = window.localStorage?.getItem(z);
|
|
16
|
+
e ? R.value = e === "dark" : typeof window.matchMedia == "function" && (R.value = window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
17
|
+
}
|
|
18
|
+
typeof document < "u" && f(!0).run(() => {
|
|
19
|
+
j(R, (e) => {
|
|
20
|
+
document.documentElement.classList.toggle("dark", e), window.localStorage?.setItem(z, e ? "dark" : "light");
|
|
21
|
+
}, { immediate: !0 });
|
|
22
|
+
});
|
|
30
23
|
}
|
|
31
24
|
function Ee(e) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
t = "red";
|
|
39
|
-
break;
|
|
40
|
-
case L.BLUE:
|
|
41
|
-
t = "blue";
|
|
42
|
-
break;
|
|
43
|
-
case L.YELLOW:
|
|
44
|
-
t = "yellow";
|
|
45
|
-
break;
|
|
46
|
-
case L.BLACK:
|
|
47
|
-
t = "black";
|
|
48
|
-
break;
|
|
49
|
-
case L.GRAY:
|
|
50
|
-
t = "gray";
|
|
51
|
-
break;
|
|
52
|
-
case L.NONE:
|
|
53
|
-
t = "";
|
|
54
|
-
break;
|
|
25
|
+
Te(e?.storageKey ?? z);
|
|
26
|
+
}
|
|
27
|
+
function B(e) {
|
|
28
|
+
Te(e?.storageKey ?? z);
|
|
29
|
+
function t() {
|
|
30
|
+
R.value = !R.value;
|
|
55
31
|
}
|
|
56
|
-
return
|
|
32
|
+
return {
|
|
33
|
+
isDark: R,
|
|
34
|
+
toggleTheme: t
|
|
35
|
+
};
|
|
57
36
|
}
|
|
58
37
|
//#endregion
|
|
59
38
|
//#region src/components/BaseAlert.vue?vue&type=script&setup=true&lang.ts
|
|
60
|
-
var De = { class: "
|
|
39
|
+
var De = { class: "min-w-0 flex-1" }, Oe = {
|
|
40
|
+
key: 0,
|
|
41
|
+
class: "font-medium"
|
|
42
|
+
}, ke = /* @__PURE__ */ d({
|
|
61
43
|
__name: "BaseAlert",
|
|
62
44
|
props: {
|
|
63
|
-
title: {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
color: {
|
|
69
|
-
type: String,
|
|
70
|
-
required: !1,
|
|
71
|
-
default: I.ERROR
|
|
45
|
+
title: { default: "" },
|
|
46
|
+
color: { default: L.ERROR },
|
|
47
|
+
compact: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: !1
|
|
72
50
|
}
|
|
73
51
|
},
|
|
74
52
|
setup(e) {
|
|
75
|
-
let t = e, n =
|
|
53
|
+
let t = e, { isDark: n } = B(), c = {
|
|
54
|
+
[L.ERROR]: {
|
|
55
|
+
light: "bg-red-50 border-red-200 text-red-700",
|
|
56
|
+
dark: "bg-red-500/10 border-red-500/30 text-red-300"
|
|
57
|
+
},
|
|
58
|
+
[L.WARNING]: {
|
|
59
|
+
light: "bg-amber-50 border-amber-200 text-amber-700",
|
|
60
|
+
dark: "bg-amber-500/10 border-amber-500/30 text-amber-300"
|
|
61
|
+
},
|
|
62
|
+
[L.SUCCESS]: {
|
|
63
|
+
light: "bg-emerald-50 border-emerald-200 text-emerald-700",
|
|
64
|
+
dark: "bg-emerald-500/10 border-emerald-500/30 text-emerald-300"
|
|
65
|
+
},
|
|
66
|
+
[L.INFO]: {
|
|
67
|
+
light: "bg-sky-50 border-sky-200 text-sky-700",
|
|
68
|
+
dark: "bg-sky-500/10 border-sky-500/30 text-sky-300"
|
|
69
|
+
}
|
|
70
|
+
}, l = r(() => n.value ? c[t.color].dark : c[t.color].light), u = r(() => {
|
|
76
71
|
switch (t.color) {
|
|
77
|
-
case
|
|
78
|
-
case
|
|
79
|
-
case
|
|
72
|
+
case L.SUCCESS: return ae;
|
|
73
|
+
case L.WARNING: return I;
|
|
74
|
+
case L.INFO: return he;
|
|
80
75
|
default: return pe;
|
|
81
76
|
}
|
|
82
|
-
}),
|
|
77
|
+
}), d = r(() => {
|
|
83
78
|
switch (t.color) {
|
|
84
|
-
case
|
|
85
|
-
case
|
|
86
|
-
case
|
|
79
|
+
case L.SUCCESS: return "text-emerald-500";
|
|
80
|
+
case L.WARNING: return "text-amber-500";
|
|
81
|
+
case L.INFO: return "text-sky-500";
|
|
87
82
|
default: return "text-red-500";
|
|
88
83
|
}
|
|
89
84
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}, [(y(), i(w(n.value), { class: m(["w-6 h-6 flex-shrink-0", a.value]) }, null, 8, ["class"])), s("div", null, [s("span", De, T(e.title), 1)])], 2));
|
|
85
|
+
return (t, n) => (y(), o("div", {
|
|
86
|
+
role: "alert",
|
|
87
|
+
class: m(["flex gap-3 mb-4 rounded-lg border text-sm transition-colors", [e.compact ? "items-start px-3 py-2 text-xs" : "items-start p-4", l.value]])
|
|
88
|
+
}, [(y(), i(w(u.value), {
|
|
89
|
+
class: m(["shrink-0", [e.compact ? "w-4 h-4 mt-px" : "w-5 h-5 mt-0.5", d.value]]),
|
|
90
|
+
"aria-hidden": "true"
|
|
91
|
+
}, null, 8, ["class"])), s("div", De, [e.title ? (y(), o("p", Oe, T(e.title), 1)) : a("", !0), S(t.$slots, "default")])], 2));
|
|
98
92
|
}
|
|
99
|
-
}),
|
|
93
|
+
}), V = /* @__PURE__ */ function(e) {
|
|
94
|
+
return e.NONE = "NONE", e.RED = "RED", e.YELLOW = "YELLOW", e.BLACK = "BLACK", e.GRAY = "GRAY", e.GREEN = "GREEN", e.BLUE = "BLUE", e;
|
|
95
|
+
}({}), Ae = "bg-red-100 text-red-700 border-red-200", je = /* @__PURE__ */ d({
|
|
100
96
|
__name: "BaseBadge",
|
|
101
97
|
props: { color: {
|
|
102
98
|
type: String,
|
|
@@ -104,26 +100,26 @@ var De = { class: "font-medium pl-1" }, Oe = /* @__PURE__ */ d({
|
|
|
104
100
|
} },
|
|
105
101
|
setup(e) {
|
|
106
102
|
let t = D(), n = r(() => !!t.default), i = e, s = {
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
[
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
}, c = r(() => `inline-flex items-center gap-1 font-semibold text-xs leading-none px-3 py-1.5 rounded-full border ${i.color && s[i.color] ||
|
|
103
|
+
[V.RED]: "bg-red-100 text-red-700 border-red-200",
|
|
104
|
+
[V.GREEN]: "bg-green-100 text-green-700 border-green-200",
|
|
105
|
+
[V.BLUE]: "bg-blue-100 text-blue-700 border-blue-200",
|
|
106
|
+
[V.YELLOW]: "bg-yellow-100 text-yellow-700 border-yellow-200",
|
|
107
|
+
[V.GRAY]: "bg-gray-100 text-gray-700 border-gray-200",
|
|
108
|
+
[V.BLACK]: "bg-gray-800 text-gray-100 border-gray-700",
|
|
109
|
+
[V.NONE]: "bg-gray-50 text-gray-600 border-gray-200"
|
|
110
|
+
}, c = r(() => `inline-flex items-center gap-1 font-semibold text-xs leading-none px-3 py-1.5 rounded-full border ${i.color && s[i.color] || Ae}`);
|
|
115
111
|
return (e, t) => n.value ? (y(), o("span", {
|
|
116
112
|
key: 0,
|
|
117
113
|
class: m(c.value)
|
|
118
114
|
}, [S(e.$slots, "default")], 2)) : a("", !0);
|
|
119
115
|
}
|
|
120
|
-
}),
|
|
116
|
+
}), Me = {
|
|
121
117
|
class: "flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700",
|
|
122
118
|
"aria-label": "Breadcrumb"
|
|
123
|
-
},
|
|
119
|
+
}, Ne = { class: "inline-flex items-center space-x-1 md:space-x-3" }, Pe = {
|
|
124
120
|
class: "inline-flex items-center",
|
|
125
121
|
style: { "margin-left": "0" }
|
|
126
|
-
},
|
|
122
|
+
}, Fe = /* @__PURE__ */ d({
|
|
127
123
|
__name: "BaseBreadcrumb",
|
|
128
124
|
props: {
|
|
129
125
|
items: {
|
|
@@ -148,11 +144,11 @@ var De = { class: "font-medium pl-1" }, Oe = /* @__PURE__ */ d({
|
|
|
148
144
|
});
|
|
149
145
|
return (t, n) => {
|
|
150
146
|
let r = C("router-link");
|
|
151
|
-
return y(), o("nav",
|
|
147
|
+
return y(), o("nav", Me, [s("ol", Ne, [s("li", Pe, [u(r, {
|
|
152
148
|
to: "/",
|
|
153
149
|
class: "inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white transition-colors rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500"
|
|
154
150
|
}, {
|
|
155
|
-
default: M(() => [u(E(
|
|
151
|
+
default: M(() => [u(E(xe), { class: "h-4 w-4 text-gray-500 mr-2" }), n[0] ||= l(" Home ", -1)]),
|
|
156
152
|
_: 1
|
|
157
153
|
})]), (y(!0), o(e, null, x(i.value, (e, t) => (y(), o("li", {
|
|
158
154
|
key: t,
|
|
@@ -167,52 +163,21 @@ var De = { class: "font-medium pl-1" }, Oe = /* @__PURE__ */ d({
|
|
|
167
163
|
}, 1032, ["to"])]))), 128))])]);
|
|
168
164
|
};
|
|
169
165
|
}
|
|
170
|
-
}),
|
|
166
|
+
}), H = /* @__PURE__ */ function(e) {
|
|
171
167
|
return e.RED = "RED", e.BLUE = "BLUE", e.WHITE = "WHITE", e.DARK = "DARK", e.GREEN = "GREEN", e.EMERALD = "EMERALD", e.YELLOW = "YELLOW", e.PURPLE = "PURPLE", e.SKY = "SKY", e.GRAY = "GRAY", e.AMBER = "AMBER", e;
|
|
172
|
-
}({}),
|
|
168
|
+
}({}), U = /* @__PURE__ */ function(e) {
|
|
173
169
|
return e.EXTRA_SMALL = "EXTRA_SMALL", e.SMALL = "SMALL", e.BASE = "BASE", e.LARGE = "LARGE", e.EXTRA_LARGE = "EXTRA_LARGE", e;
|
|
174
|
-
}({}),
|
|
175
|
-
function Fe(e) {
|
|
176
|
-
if (Pe) {
|
|
177
|
-
e !== H && console.warn(`[ui-lib] useTheme: storage key "${e}" ignored — theme already initialized with "${H}". Call initTheme({ storageKey }) before mounting any component.`);
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
if (Pe = !0, H = e, typeof window < "u") {
|
|
181
|
-
let e = window.localStorage?.getItem(H);
|
|
182
|
-
e ? V.value = e === "dark" : typeof window.matchMedia == "function" && (V.value = window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
183
|
-
}
|
|
184
|
-
typeof document < "u" && f(!0).run(() => {
|
|
185
|
-
j(V, (e) => {
|
|
186
|
-
document.documentElement.classList.toggle("dark", e), window.localStorage?.setItem(H, e ? "dark" : "light");
|
|
187
|
-
}, { immediate: !0 });
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
function Ie(e) {
|
|
191
|
-
Fe(e?.storageKey ?? H);
|
|
192
|
-
}
|
|
193
|
-
function U(e) {
|
|
194
|
-
Fe(e?.storageKey ?? H);
|
|
195
|
-
function t() {
|
|
196
|
-
V.value = !V.value;
|
|
197
|
-
}
|
|
198
|
-
return {
|
|
199
|
-
isDark: V,
|
|
200
|
-
toggleTheme: t
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
//#endregion
|
|
204
|
-
//#region src/components/BaseButton.vue?vue&type=script&setup=true&lang.ts
|
|
205
|
-
var Le = [
|
|
170
|
+
}({}), Ie = [
|
|
206
171
|
"type",
|
|
207
172
|
"disabled",
|
|
208
173
|
"onClick"
|
|
209
|
-
],
|
|
174
|
+
], Le = {
|
|
210
175
|
key: 0,
|
|
211
176
|
class: "inline-flex items-center"
|
|
212
|
-
},
|
|
177
|
+
}, Re = { key: 1 }, ze = { key: 2 }, Be = ["type", "disabled"], Ve = {
|
|
213
178
|
key: 0,
|
|
214
179
|
class: "inline-flex items-center"
|
|
215
|
-
},
|
|
180
|
+
}, He = { key: 1 }, Ue = { key: 2 }, We = /* @__PURE__ */ d({
|
|
216
181
|
__name: "BaseButton",
|
|
217
182
|
props: {
|
|
218
183
|
description: {
|
|
@@ -222,7 +187,7 @@ var Le = [
|
|
|
222
187
|
color: {
|
|
223
188
|
type: String,
|
|
224
189
|
required: !1,
|
|
225
|
-
default:
|
|
190
|
+
default: H.BLUE
|
|
226
191
|
},
|
|
227
192
|
to: {
|
|
228
193
|
type: String,
|
|
@@ -266,103 +231,103 @@ var Le = [
|
|
|
266
231
|
}
|
|
267
232
|
},
|
|
268
233
|
setup(e) {
|
|
269
|
-
let { isDark: t } =
|
|
234
|
+
let { isDark: t } = B(), n = e;
|
|
270
235
|
function r() {
|
|
271
236
|
let e = {
|
|
272
|
-
[
|
|
237
|
+
[H.BLUE]: {
|
|
273
238
|
light: "text-blue-700 border-blue-300 hover:bg-blue-50",
|
|
274
239
|
dark: "text-blue-400 border-blue-500/40 hover:bg-blue-500/10"
|
|
275
240
|
},
|
|
276
|
-
[
|
|
241
|
+
[H.GREEN]: {
|
|
277
242
|
light: "text-green-700 border-green-300 hover:bg-green-50",
|
|
278
243
|
dark: "text-green-400 border-green-500/40 hover:bg-green-500/10"
|
|
279
244
|
},
|
|
280
|
-
[
|
|
245
|
+
[H.EMERALD]: {
|
|
281
246
|
light: "text-emerald-700 border-emerald-300 hover:bg-emerald-50",
|
|
282
247
|
dark: "text-emerald-400 border-emerald-500/40 hover:bg-emerald-500/10"
|
|
283
248
|
},
|
|
284
|
-
[
|
|
249
|
+
[H.RED]: {
|
|
285
250
|
light: "text-red-700 border-red-300 hover:bg-red-50",
|
|
286
251
|
dark: "text-red-400 border-red-500/40 hover:bg-red-500/10"
|
|
287
252
|
},
|
|
288
|
-
[
|
|
253
|
+
[H.YELLOW]: {
|
|
289
254
|
light: "text-yellow-700 border-yellow-300 hover:bg-yellow-50",
|
|
290
255
|
dark: "text-yellow-400 border-yellow-500/40 hover:bg-yellow-500/10"
|
|
291
256
|
},
|
|
292
|
-
[
|
|
257
|
+
[H.PURPLE]: {
|
|
293
258
|
light: "text-purple-700 border-purple-300 hover:bg-purple-50",
|
|
294
259
|
dark: "text-purple-400 border-purple-500/40 hover:bg-purple-500/10"
|
|
295
260
|
},
|
|
296
|
-
[
|
|
261
|
+
[H.SKY]: {
|
|
297
262
|
light: "text-sky-700 border-sky-300 hover:bg-sky-50",
|
|
298
263
|
dark: "text-sky-400 border-sky-500/40 hover:bg-sky-500/10"
|
|
299
264
|
},
|
|
300
|
-
[
|
|
265
|
+
[H.AMBER]: {
|
|
301
266
|
light: "text-amber-700 border-amber-300 hover:bg-amber-50",
|
|
302
267
|
dark: "text-amber-400 border-amber-500/40 hover:bg-amber-500/10"
|
|
303
268
|
},
|
|
304
|
-
[
|
|
269
|
+
[H.GRAY]: {
|
|
305
270
|
light: "text-gray-700 border-gray-300 hover:bg-gray-50",
|
|
306
271
|
dark: "text-gray-300 border-gray-600 hover:bg-gray-800"
|
|
307
272
|
},
|
|
308
|
-
[
|
|
273
|
+
[H.DARK]: {
|
|
309
274
|
light: "text-gray-700 border-gray-300 hover:bg-gray-50",
|
|
310
275
|
dark: "text-gray-300 border-gray-600 hover:bg-gray-800"
|
|
311
276
|
},
|
|
312
|
-
[
|
|
277
|
+
[H.WHITE]: {
|
|
313
278
|
light: "text-gray-700 border-gray-300 hover:bg-gray-50",
|
|
314
279
|
dark: "text-gray-300 border-gray-600 hover:bg-gray-800"
|
|
315
280
|
}
|
|
316
|
-
}, r = e[n.color] ?? e[
|
|
281
|
+
}, r = e[n.color] ?? e[H.BLUE], i = t.value ? r.dark : r.light;
|
|
317
282
|
return n.isDisable || n.isLoading ? `border bg-transparent ${i} opacity-50 cursor-not-allowed` : `focus:outline-none focus-visible:ring-2 focus-visible:ring-current border bg-transparent ${i}`;
|
|
318
283
|
}
|
|
319
284
|
function c() {
|
|
320
285
|
let e = {
|
|
321
|
-
[
|
|
286
|
+
[H.BLUE]: {
|
|
322
287
|
light: "text-blue-600 hover:bg-blue-50",
|
|
323
288
|
dark: "text-blue-400 hover:bg-blue-500/10"
|
|
324
289
|
},
|
|
325
|
-
[
|
|
290
|
+
[H.GREEN]: {
|
|
326
291
|
light: "text-green-600 hover:bg-green-50",
|
|
327
292
|
dark: "text-green-400 hover:bg-green-500/10"
|
|
328
293
|
},
|
|
329
|
-
[
|
|
294
|
+
[H.EMERALD]: {
|
|
330
295
|
light: "text-emerald-600 hover:bg-emerald-50",
|
|
331
296
|
dark: "text-emerald-400 hover:bg-emerald-500/10"
|
|
332
297
|
},
|
|
333
|
-
[
|
|
298
|
+
[H.SKY]: {
|
|
334
299
|
light: "text-sky-600 hover:bg-sky-50",
|
|
335
300
|
dark: "text-sky-400 hover:bg-sky-500/10"
|
|
336
301
|
},
|
|
337
|
-
[
|
|
302
|
+
[H.RED]: {
|
|
338
303
|
light: "text-red-500 hover:bg-red-50",
|
|
339
304
|
dark: "text-red-400 hover:bg-red-500/10"
|
|
340
305
|
},
|
|
341
|
-
[
|
|
306
|
+
[H.AMBER]: {
|
|
342
307
|
light: "text-amber-700 hover:bg-amber-50",
|
|
343
308
|
dark: "text-amber-300 hover:bg-amber-500/10"
|
|
344
309
|
},
|
|
345
|
-
[
|
|
310
|
+
[H.YELLOW]: {
|
|
346
311
|
light: "text-yellow-600 hover:bg-yellow-50",
|
|
347
312
|
dark: "text-yellow-400 hover:bg-yellow-500/10"
|
|
348
313
|
},
|
|
349
|
-
[
|
|
314
|
+
[H.PURPLE]: {
|
|
350
315
|
light: "text-purple-600 hover:bg-purple-50",
|
|
351
316
|
dark: "text-purple-400 hover:bg-purple-500/10"
|
|
352
317
|
},
|
|
353
|
-
[
|
|
318
|
+
[H.GRAY]: {
|
|
354
319
|
light: "text-gray-500 hover:bg-gray-100",
|
|
355
320
|
dark: "text-gray-400 hover:bg-gray-800"
|
|
356
321
|
},
|
|
357
|
-
[
|
|
322
|
+
[H.DARK]: {
|
|
358
323
|
light: "text-gray-500 hover:bg-gray-100",
|
|
359
324
|
dark: "text-gray-400 hover:bg-gray-800"
|
|
360
325
|
},
|
|
361
|
-
[
|
|
326
|
+
[H.WHITE]: {
|
|
362
327
|
light: "text-gray-500 hover:bg-gray-100",
|
|
363
328
|
dark: "text-gray-400 hover:bg-gray-800"
|
|
364
329
|
}
|
|
365
|
-
}, r = e[n.color] ?? e[
|
|
330
|
+
}, r = e[n.color] ?? e[H.GRAY], i = t.value ? r.dark : r.light;
|
|
366
331
|
return n.isDisable || n.isLoading ? `bg-transparent ${i} opacity-60 cursor-not-allowed` : `focus:outline-none focus-visible:ring-2 focus-visible:ring-current bg-transparent ${i} cursor-pointer`;
|
|
367
332
|
}
|
|
368
333
|
function l() {
|
|
@@ -370,37 +335,37 @@ var Le = [
|
|
|
370
335
|
e || (t += " cursor-pointer");
|
|
371
336
|
let i;
|
|
372
337
|
switch (n.color) {
|
|
373
|
-
case
|
|
338
|
+
case H.BLUE:
|
|
374
339
|
i = e ? "text-white bg-blue-400 cursor-not-allowed" : "focus:outline-none text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300";
|
|
375
340
|
break;
|
|
376
|
-
case
|
|
341
|
+
case H.WHITE:
|
|
377
342
|
i = e ? "text-gray-900 bg-gray-200 border border-gray-200 cursor-not-allowed" : "focus:outline-none text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-200";
|
|
378
343
|
break;
|
|
379
|
-
case
|
|
344
|
+
case H.DARK:
|
|
380
345
|
i = e ? "text-white bg-gray-400 cursor-not-allowed" : "focus:outline-none text-white bg-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300";
|
|
381
346
|
break;
|
|
382
|
-
case
|
|
347
|
+
case H.GREEN:
|
|
383
348
|
i = e ? "text-white bg-green-400 cursor-not-allowed" : "focus:outline-none text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300";
|
|
384
349
|
break;
|
|
385
|
-
case
|
|
350
|
+
case H.EMERALD:
|
|
386
351
|
i = e ? "text-white bg-emerald-400 cursor-not-allowed" : "focus:outline-none text-white bg-emerald-600 hover:bg-emerald-700 focus:ring-4 focus:ring-emerald-300";
|
|
387
352
|
break;
|
|
388
|
-
case
|
|
353
|
+
case H.RED:
|
|
389
354
|
i = e ? "text-white bg-red-400 cursor-not-allowed" : "focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300";
|
|
390
355
|
break;
|
|
391
|
-
case
|
|
356
|
+
case H.YELLOW:
|
|
392
357
|
i = e ? "text-white bg-yellow-300 cursor-not-allowed" : "focus:outline-none text-white bg-yellow-400 hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300";
|
|
393
358
|
break;
|
|
394
|
-
case
|
|
359
|
+
case H.PURPLE:
|
|
395
360
|
i = e ? "text-white bg-purple-400 cursor-not-allowed" : "focus:outline-none text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300";
|
|
396
361
|
break;
|
|
397
|
-
case
|
|
362
|
+
case H.SKY:
|
|
398
363
|
i = e ? "text-white bg-sky-400 cursor-not-allowed" : "focus:outline-none text-white bg-sky-600 hover:bg-sky-700 focus:ring-4 focus:ring-sky-300";
|
|
399
364
|
break;
|
|
400
|
-
case
|
|
365
|
+
case H.AMBER:
|
|
401
366
|
i = e ? "text-white bg-amber-300 cursor-not-allowed" : "focus:outline-none text-white bg-amber-500 hover:bg-amber-600 focus:ring-4 focus:ring-amber-300";
|
|
402
367
|
break;
|
|
403
|
-
case
|
|
368
|
+
case H.GRAY:
|
|
404
369
|
i = e ? "text-white bg-gray-400 cursor-not-allowed" : "focus:outline-none text-white bg-gray-600 hover:bg-gray-700 focus:ring-4 focus:ring-gray-300";
|
|
405
370
|
break;
|
|
406
371
|
default:
|
|
@@ -410,19 +375,19 @@ var Le = [
|
|
|
410
375
|
n.outline && (i = r()), n.ghost && (i = c());
|
|
411
376
|
let a = "px-5 py-2.5 mr-2 mb-2 text-sm";
|
|
412
377
|
switch (n.size) {
|
|
413
|
-
case
|
|
378
|
+
case U.EXTRA_SMALL:
|
|
414
379
|
a = "px-3 py-2 text-xs";
|
|
415
380
|
break;
|
|
416
|
-
case
|
|
381
|
+
case U.SMALL:
|
|
417
382
|
a = "px-3 py-2 text-sm";
|
|
418
383
|
break;
|
|
419
|
-
case
|
|
384
|
+
case U.BASE:
|
|
420
385
|
a = "px-5 py-2.5 text-sm";
|
|
421
386
|
break;
|
|
422
|
-
case
|
|
387
|
+
case U.LARGE:
|
|
423
388
|
a = "px-5 py-3 text-base";
|
|
424
389
|
break;
|
|
425
|
-
case
|
|
390
|
+
case U.EXTRA_LARGE:
|
|
426
391
|
a = "px-6 py-3.5 text-base";
|
|
427
392
|
break;
|
|
428
393
|
}
|
|
@@ -442,7 +407,7 @@ var Le = [
|
|
|
442
407
|
disabled: e.isDisable || e.isLoading,
|
|
443
408
|
onClick: i
|
|
444
409
|
}, [
|
|
445
|
-
e.isLoading ? (y(), o("div",
|
|
410
|
+
e.isLoading ? (y(), o("div", Le, [...r[0] ||= [s("svg", {
|
|
446
411
|
"aria-hidden": "true",
|
|
447
412
|
role: "status",
|
|
448
413
|
class: "inline w-4 h-4 me-3 animate-spin",
|
|
@@ -456,10 +421,10 @@ var Le = [
|
|
|
456
421
|
d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
|
|
457
422
|
fill: "currentColor"
|
|
458
423
|
})], -1)]])) : a("", !0),
|
|
459
|
-
e.iconLeft ? a("", !0) : (y(), o("span",
|
|
424
|
+
e.iconLeft ? a("", !0) : (y(), o("span", Re, T(e.description), 1)),
|
|
460
425
|
S(t.$slots, "default"),
|
|
461
|
-
e.iconLeft ? (y(), o("span",
|
|
462
|
-
], 10,
|
|
426
|
+
e.iconLeft ? (y(), o("span", ze, T(e.description), 1)) : a("", !0)
|
|
427
|
+
], 10, Ie)]),
|
|
463
428
|
_: 3
|
|
464
429
|
}, 8, ["to"])) : (y(), o("button", {
|
|
465
430
|
key: 1,
|
|
@@ -467,7 +432,7 @@ var Le = [
|
|
|
467
432
|
class: m(l()),
|
|
468
433
|
disabled: e.isDisable || e.isLoading
|
|
469
434
|
}, [
|
|
470
|
-
e.isLoading ? (y(), o("div",
|
|
435
|
+
e.isLoading ? (y(), o("div", Ve, [...r[1] ||= [s("svg", {
|
|
471
436
|
"aria-hidden": "true",
|
|
472
437
|
role: "status",
|
|
473
438
|
class: "inline w-4 h-4 me-3 animate-spin",
|
|
@@ -481,24 +446,24 @@ var Le = [
|
|
|
481
446
|
d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
|
|
482
447
|
fill: "currentColor"
|
|
483
448
|
})], -1)]])) : a("", !0),
|
|
484
|
-
e.iconLeft ? a("", !0) : (y(), o("span",
|
|
449
|
+
e.iconLeft ? a("", !0) : (y(), o("span", He, T(e.description), 1)),
|
|
485
450
|
S(t.$slots, "default"),
|
|
486
|
-
e.iconLeft ? (y(), o("span",
|
|
487
|
-
], 10,
|
|
451
|
+
e.iconLeft ? (y(), o("span", Ue, T(e.description), 1)) : a("", !0)
|
|
452
|
+
], 10, Be));
|
|
488
453
|
};
|
|
489
454
|
}
|
|
490
455
|
}), W = /* @__PURE__ */ function(e) {
|
|
491
456
|
return e.BASE = "BASE", e.BASE_SHORTER = "BASE_SHORTER", e.SQUARE = "SQUARE", e;
|
|
492
|
-
}({}),
|
|
457
|
+
}({}), Ge = {
|
|
493
458
|
key: 0,
|
|
494
459
|
class: "h-px my-8 bg-gray-200 border-0 dark:bg-gray-700"
|
|
495
|
-
},
|
|
460
|
+
}, Ke = {
|
|
496
461
|
key: 1,
|
|
497
462
|
class: "w-48 h-1 mx-auto my-4 bg-gray-100 border-0 rounded md:my-10 dark:bg-gray-700"
|
|
498
|
-
},
|
|
463
|
+
}, qe = {
|
|
499
464
|
key: 2,
|
|
500
465
|
class: "w-8 h-8 mx-auto my-8 bg-gray-200 border-0 rounded md:my-12 dark:bg-gray-700"
|
|
501
|
-
},
|
|
466
|
+
}, Je = /* @__PURE__ */ d({
|
|
502
467
|
__name: "BaseLine",
|
|
503
468
|
props: { mode: {
|
|
504
469
|
type: String,
|
|
@@ -507,14 +472,14 @@ var Le = [
|
|
|
507
472
|
} },
|
|
508
473
|
setup(t) {
|
|
509
474
|
return (n, r) => (y(), o(e, null, [
|
|
510
|
-
t.mode === E(W).BASE ? (y(), o("hr",
|
|
511
|
-
t.mode === E(W).BASE_SHORTER ? (y(), o("hr",
|
|
512
|
-
t.mode === E(W).SQUARE ? (y(), o("hr",
|
|
475
|
+
t.mode === E(W).BASE ? (y(), o("hr", Ge)) : a("", !0),
|
|
476
|
+
t.mode === E(W).BASE_SHORTER ? (y(), o("hr", Ke)) : a("", !0),
|
|
477
|
+
t.mode === E(W).SQUARE ? (y(), o("hr", qe)) : a("", !0)
|
|
513
478
|
], 64));
|
|
514
479
|
}
|
|
515
480
|
}), G = /* @__PURE__ */ function(e) {
|
|
516
481
|
return e.SMALL = "SMALL", e.MEDIUM = "MEDIUM", e.LARGE = "LARGE", e;
|
|
517
|
-
}({}),
|
|
482
|
+
}({}), Ye = G, Xe = ["height", "width"], Ze = /* @__PURE__ */ d({
|
|
518
483
|
__name: "BaseLogo",
|
|
519
484
|
props: { size: {
|
|
520
485
|
type: String,
|
|
@@ -694,23 +659,23 @@ var Le = [
|
|
|
694
659
|
d: "m281.7 183.8h3.6v18.5h-3.6z",
|
|
695
660
|
fill: "url(#k)"
|
|
696
661
|
}, null, -1)
|
|
697
|
-
]], 8,
|
|
662
|
+
]], 8, Xe))]),
|
|
698
663
|
_: 1
|
|
699
664
|
});
|
|
700
665
|
};
|
|
701
666
|
}
|
|
702
|
-
}),
|
|
667
|
+
}), Qe = /* @__PURE__ */ function(e) {
|
|
703
668
|
return e.DELETE = "DELETE", e.SUCCESS = "SUCCESS", e;
|
|
704
|
-
}({}),
|
|
669
|
+
}({}), $e = {
|
|
705
670
|
key: 0,
|
|
706
671
|
class: "p-6 text-center"
|
|
707
|
-
},
|
|
672
|
+
}, et = { class: "flex justify-center" }, tt = {
|
|
708
673
|
key: 1,
|
|
709
674
|
class: "p-6 text-center"
|
|
710
|
-
},
|
|
675
|
+
}, nt = {
|
|
711
676
|
key: 0,
|
|
712
677
|
class: "mb-5 text-sm text-gray-500"
|
|
713
|
-
},
|
|
678
|
+
}, rt = { class: "flex justify-center" }, it = /* @__PURE__ */ d({
|
|
714
679
|
__name: "BaseModal",
|
|
715
680
|
props: {
|
|
716
681
|
title: {
|
|
@@ -729,7 +694,7 @@ var Le = [
|
|
|
729
694
|
mode: {
|
|
730
695
|
type: String,
|
|
731
696
|
required: !1,
|
|
732
|
-
default:
|
|
697
|
+
default: Qe.SUCCESS
|
|
733
698
|
}
|
|
734
699
|
},
|
|
735
700
|
emits: ["closeModal", "confirmModal"],
|
|
@@ -750,37 +715,37 @@ var Le = [
|
|
|
750
715
|
role: "dialog",
|
|
751
716
|
"aria-modal": "true",
|
|
752
717
|
"aria-labelledby": i
|
|
753
|
-
}, [t.mode === E(
|
|
718
|
+
}, [t.mode === E(Qe).DELETE ? (y(), o("div", $e, [
|
|
754
719
|
u(E(pe), { class: "w-12 h-12 text-gray-400 mx-auto mb-4" }),
|
|
755
720
|
s("h3", {
|
|
756
721
|
id: i,
|
|
757
722
|
class: "mb-5 text-lg font-normal text-gray-500 dark:text-gray-400"
|
|
758
723
|
}, " Are you sure you want to delete this " + T(t.title) + "? ", 1),
|
|
759
|
-
s("div",
|
|
760
|
-
color: E(
|
|
724
|
+
s("div", et, [u(We, {
|
|
725
|
+
color: E(H).RED,
|
|
761
726
|
onClick: r[1] ||= (e) => n.$emit("confirmModal"),
|
|
762
727
|
description: "Yes, I'm sure"
|
|
763
|
-
}, null, 8, ["color"]), u(
|
|
764
|
-
color: E(
|
|
728
|
+
}, null, 8, ["color"]), u(We, {
|
|
729
|
+
color: E(H).WHITE,
|
|
765
730
|
onClick: r[2] ||= (e) => n.$emit("closeModal"),
|
|
766
731
|
description: "No, cancel"
|
|
767
732
|
}, null, 8, ["color"])])
|
|
768
|
-
])) : (y(), o("div",
|
|
733
|
+
])) : (y(), o("div", tt, [
|
|
769
734
|
u(E(ae), { class: "w-12 h-12 text-green-500 mx-auto mb-4" }),
|
|
770
735
|
s("h3", {
|
|
771
736
|
id: i,
|
|
772
737
|
class: "mb-2 text-lg font-medium text-gray-900"
|
|
773
738
|
}, T(t.title), 1),
|
|
774
|
-
t.description ? (y(), o("p",
|
|
739
|
+
t.description ? (y(), o("p", nt, T(t.description), 1)) : a("", !0),
|
|
775
740
|
S(n.$slots, "default"),
|
|
776
|
-
s("div",
|
|
777
|
-
color: E(
|
|
741
|
+
s("div", rt, [u(We, {
|
|
742
|
+
color: E(H).BLUE,
|
|
778
743
|
onClick: r[3] ||= (e) => n.$emit("closeModal"),
|
|
779
744
|
description: "OK"
|
|
780
745
|
}, null, 8, ["color"])])
|
|
781
746
|
]))])], 64));
|
|
782
747
|
}
|
|
783
|
-
}),
|
|
748
|
+
}), at = /* @__PURE__ */ d({
|
|
784
749
|
__name: "BaseRow",
|
|
785
750
|
props: { bgColor: {
|
|
786
751
|
type: String,
|
|
@@ -794,7 +759,7 @@ var Le = [
|
|
|
794
759
|
}
|
|
795
760
|
return (e, t) => (y(), o("div", { class: m(n()) }, [S(e.$slots, "default")], 2));
|
|
796
761
|
}
|
|
797
|
-
}),
|
|
762
|
+
}), ot = /* @__PURE__ */ d({
|
|
798
763
|
__name: "BaseSpinner",
|
|
799
764
|
props: {
|
|
800
765
|
size: { default: "sm" },
|
|
@@ -826,7 +791,7 @@ var Le = [
|
|
|
826
791
|
return e.SUCCESS = "SUCCESS", e.WARNING = "WARNING", e.ERROR = "ERROR", e;
|
|
827
792
|
}({}), q = /* @__PURE__ */ function(e) {
|
|
828
793
|
return e.TOP_LEFT = "TOP_LEFT", e.TOP_RIGHT = "TOP_RIGHT", e.BOTTOM_LEFT = "BOTTOM_LEFT", e.BOTTOM_RIGHT = "BOTTOM_RIGHT", e;
|
|
829
|
-
}({}),
|
|
794
|
+
}({}), st = { class: "flex items-center w-full max-w-md p-4 mb-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800" }, ct = { class: "ml-3 text-sm font-normal" }, lt = /* @__PURE__ */ d({
|
|
830
795
|
__name: "BaseToast",
|
|
831
796
|
props: {
|
|
832
797
|
mode: {
|
|
@@ -904,7 +869,7 @@ var Le = [
|
|
|
904
869
|
id: "toast-top-right",
|
|
905
870
|
class: m(l()),
|
|
906
871
|
role: "alert"
|
|
907
|
-
}, [s("div",
|
|
872
|
+
}, [s("div", st, [
|
|
908
873
|
e.mode == E(K).ERROR ? (y(), o("div", {
|
|
909
874
|
key: 0,
|
|
910
875
|
class: m(c())
|
|
@@ -914,18 +879,18 @@ var Le = [
|
|
|
914
879
|
}, [u(E(ae), { class: "h-6 w-6 text-green-500" }), r[1] ||= s("span", { class: "sr-only" }, "Check icon", -1)], 2)) : e.mode == E(K).WARNING ? (y(), o("div", {
|
|
915
880
|
key: 2,
|
|
916
881
|
class: m(c())
|
|
917
|
-
}, [u(E(
|
|
918
|
-
s("div",
|
|
882
|
+
}, [u(E(I), { class: "h-6 w-6 text-yellow-500" }), r[2] ||= s("span", { class: "sr-only" }, "Warning icon", -1)], 2)) : a("", !0),
|
|
883
|
+
s("div", ct, T(e.description), 1),
|
|
919
884
|
e.hasCloseIcon ? (y(), o("button", {
|
|
920
885
|
key: 3,
|
|
921
886
|
type: "button",
|
|
922
887
|
class: "ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex items-center justify-center h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700 cursor-pointer",
|
|
923
888
|
"aria-label": "Close",
|
|
924
889
|
onClick: i
|
|
925
|
-
}, [r[3] ||= s("span", { class: "sr-only" }, "Close", -1), u(E(
|
|
890
|
+
}, [r[3] ||= s("span", { class: "sr-only" }, "Close", -1), u(E(be), { class: "h-6 w-6 text-gray-500" })])) : a("", !0)
|
|
926
891
|
])], 2)) : a("", !0);
|
|
927
892
|
}
|
|
928
|
-
}),
|
|
893
|
+
}), ut = { class: "w-13" }, dt = /* @__PURE__ */ d({
|
|
929
894
|
__name: "ColoredSquares",
|
|
930
895
|
props: { color: {
|
|
931
896
|
type: String,
|
|
@@ -946,25 +911,25 @@ var Le = [
|
|
|
946
911
|
function i() {
|
|
947
912
|
let e = "gray";
|
|
948
913
|
switch (t.color) {
|
|
949
|
-
case
|
|
914
|
+
case V.GREEN:
|
|
950
915
|
e = "green";
|
|
951
916
|
break;
|
|
952
|
-
case
|
|
917
|
+
case V.RED:
|
|
953
918
|
e = "red";
|
|
954
919
|
break;
|
|
955
|
-
case
|
|
920
|
+
case V.BLUE:
|
|
956
921
|
e = "blue";
|
|
957
922
|
break;
|
|
958
|
-
case
|
|
923
|
+
case V.YELLOW:
|
|
959
924
|
e = "yellow";
|
|
960
925
|
break;
|
|
961
|
-
case
|
|
926
|
+
case V.NONE: return "font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full";
|
|
962
927
|
}
|
|
963
928
|
return "font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full bg-" + e + "-100 text-" + e + "-800";
|
|
964
929
|
}
|
|
965
|
-
return (e, t) => (y(), o("div",
|
|
930
|
+
return (e, t) => (y(), o("div", ut, [s("div", { class: m(["border border-gray-300 relative aspect-square rounded-lg bg-white shadow-sm overflow-hidden flex items-center justify-center text-center", i()]) }, [S(e.$slots, "default"), s("div", { class: m(["absolute bottom-0 left-0 h-1 w-full", r.value]) }, null, 2)], 2)]));
|
|
966
931
|
}
|
|
967
|
-
}),
|
|
932
|
+
}), ft = { class: "flex items-start justify-between" }, pt = { class: "min-w-0" }, mt = /* @__PURE__ */ d({
|
|
968
933
|
__name: "EarningsCard",
|
|
969
934
|
props: {
|
|
970
935
|
title: { default: "TOTAL EARNINGS" },
|
|
@@ -1019,7 +984,7 @@ var Le = [
|
|
|
1019
984
|
return (n, r) => (y(), o("div", { class: m(["relative rounded-xl border-2 border-dashed bg-white dark:bg-slate-800", [d.value.border, t.compact ? "p-3" : "p-6"]]) }, [t.badge ? (y(), o("div", {
|
|
1020
985
|
key: 0,
|
|
1021
986
|
class: m(["absolute right-4 top-4 rounded-md px-3 py-1 text-xs font-bold tracking-wide", d.value.badge])
|
|
1022
|
-
}, T(t.badge), 3)) : a("", !0), s("div",
|
|
987
|
+
}, T(t.badge), 3)) : a("", !0), s("div", ft, [s("div", pt, [
|
|
1023
988
|
s("p", { class: m(["font-bold tracking-wide text-gray-800 dark:text-slate-200", t.compact ? "pr-8 text-xs" : "text-sm"]) }, T(t.title), 3),
|
|
1024
989
|
s("p", { class: m(["mt-1 font-bold truncate", [d.value.amount, t.compact ? "text-lg" : "text-4xl"]]) }, T(f.value), 3),
|
|
1025
990
|
s("p", { class: m(["mt-1 font-medium", [d.value.subtitle, t.compact ? "text-xs" : "text-sm"]]) }, T(t.subtitle), 3)
|
|
@@ -1033,10 +998,10 @@ var Le = [
|
|
|
1033
998
|
"stroke-linejoin": "round"
|
|
1034
999
|
}, [l.value ? (y(), o(e, { key: 0 }, [r[0] ||= s("polyline", { points: "22 17 13.5 8.5 8.5 13.5 2 7" }, null, -1), r[1] ||= s("polyline", { points: "16 17 22 17 22 11" }, null, -1)], 64)) : (y(), o(e, { key: 1 }, [r[2] ||= s("polyline", { points: "22 7 13.5 15.5 8.5 10.5 2 17" }, null, -1), r[3] ||= s("polyline", { points: "16 7 22 7 22 13" }, null, -1)], 64))], 2))], 2)])], 2));
|
|
1035
1000
|
}
|
|
1036
|
-
}),
|
|
1001
|
+
}), ht = {
|
|
1037
1002
|
key: 0,
|
|
1038
1003
|
class: "font-bold text-green-800 dark:text-green-400"
|
|
1039
|
-
},
|
|
1004
|
+
}, gt = { key: 0 }, _t = { key: 0 }, vt = "font-bold", yt = /* @__PURE__ */ d({
|
|
1040
1005
|
__name: "EuroAmount",
|
|
1041
1006
|
props: {
|
|
1042
1007
|
amount: {
|
|
@@ -1056,20 +1021,20 @@ var Le = [
|
|
|
1056
1021
|
},
|
|
1057
1022
|
setup(t) {
|
|
1058
1023
|
let n = t, i = r(() => n.amount !== null && n.amount !== void 0), s = r(() => i.value && n.amount < 0), c = r(() => n.beforeAmount === null || n.beforeAmount === void 0 ? !1 : n.amount < n.beforeAmount), u = r(() => s.value || c.value), d = r(() => !s.value && !c.value && !(n.beforeAmount === null || n.beforeAmount === void 0));
|
|
1059
|
-
return (n, r) => (y(), o(e, null, [i.value && d.value ? (y(), o("span",
|
|
1024
|
+
return (n, r) => (y(), o(e, null, [i.value && d.value ? (y(), o("span", ht, [l(T(t.amount) + " ", 1), t.showCurrency ? (y(), o("span", gt, "€")) : a("", !0)])) : a("", !0), i.value && !d.value ? (y(), o("span", {
|
|
1060
1025
|
key: 1,
|
|
1061
|
-
class: m([
|
|
1062
|
-
}, [l(T(t.amount) + " ", 1), t.showCurrency ? (y(), o("span",
|
|
1026
|
+
class: m([vt, u.value ? "text-red-800 dark:text-red-400" : "text-gray-800 dark:text-gray-200"])
|
|
1027
|
+
}, [l(T(t.amount) + " ", 1), t.showCurrency ? (y(), o("span", _t, "€")) : a("", !0)], 2)) : a("", !0)], 64));
|
|
1063
1028
|
}
|
|
1064
|
-
}),
|
|
1029
|
+
}), bt = { "aria-label": "Pagination" }, xt = { class: "flex list-none p-0 m-0" }, St = [
|
|
1065
1030
|
"aria-current",
|
|
1066
1031
|
"aria-label",
|
|
1067
1032
|
"onClick"
|
|
1068
|
-
],
|
|
1033
|
+
], Ct = {
|
|
1069
1034
|
key: 1,
|
|
1070
1035
|
"aria-hidden": "true",
|
|
1071
1036
|
class: "inline-block border border-gray-300 dark:border-gray-600 rounded-lg p-3 text-black dark:text-gray-200 cursor-not-allowed"
|
|
1072
|
-
},
|
|
1037
|
+
}, wt = /* @__PURE__ */ d({
|
|
1073
1038
|
__name: "Pagination",
|
|
1074
1039
|
props: {
|
|
1075
1040
|
totalItems: {
|
|
@@ -1099,28 +1064,28 @@ var Le = [
|
|
|
1099
1064
|
}
|
|
1100
1065
|
return j(() => [r.totalItems, r.itemsPerPage], () => {
|
|
1101
1066
|
a.value = Math.ceil(r.totalItems / r.itemsPerPage), i.value > a.value && (i.value = Math.max(1, a.value)), u(i.value);
|
|
1102
|
-
}, { immediate: !0 }), (t, n) => (y(), o("nav",
|
|
1067
|
+
}, { immediate: !0 }), (t, n) => (y(), o("nav", bt, [s("ul", xt, [(y(!0), o(e, null, x(c.value, (e, t) => (y(), o("li", {
|
|
1103
1068
|
key: t,
|
|
1104
1069
|
class: "mr-1"
|
|
1105
|
-
}, [e === 0 ? (y(), o("span",
|
|
1070
|
+
}, [e === 0 ? (y(), o("span", Ct, "...")) : (y(), o("button", {
|
|
1106
1071
|
key: 0,
|
|
1107
1072
|
type: "button",
|
|
1108
1073
|
"aria-current": e === i.value ? "page" : void 0,
|
|
1109
1074
|
"aria-label": `Go to page ${e}`,
|
|
1110
1075
|
onClick: (t) => d(e),
|
|
1111
1076
|
class: m(["inline-block min-w-[44px] border border-gray-300 dark:border-gray-600 rounded-lg p-3 text-black dark:text-gray-200 cursor-pointer transition-colors hover:bg-gray-300 dark:hover:bg-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", { "active font-bold bg-gray-200 dark:bg-gray-700": e === i.value }])
|
|
1112
|
-
}, T(e), 11,
|
|
1077
|
+
}, T(e), 11, St))]))), 128))])]));
|
|
1113
1078
|
}
|
|
1114
|
-
}),
|
|
1079
|
+
}), Tt = { key: 0 }, Et = {
|
|
1115
1080
|
key: 0,
|
|
1116
1081
|
class: "flex items-center space-x-2"
|
|
1117
|
-
},
|
|
1082
|
+
}, Dt = {
|
|
1118
1083
|
key: 1,
|
|
1119
1084
|
class: "flex items-center space-x-2"
|
|
1120
|
-
},
|
|
1085
|
+
}, Ot = {
|
|
1121
1086
|
key: 2,
|
|
1122
1087
|
class: "flex items-center space-x-2"
|
|
1123
|
-
},
|
|
1088
|
+
}, kt = /* @__PURE__ */ d({
|
|
1124
1089
|
__name: "TrendArrow",
|
|
1125
1090
|
props: {
|
|
1126
1091
|
number: {
|
|
@@ -1134,13 +1099,13 @@ var Le = [
|
|
|
1134
1099
|
},
|
|
1135
1100
|
setup(e) {
|
|
1136
1101
|
let t = e, n = r(() => t.number !== null && t.number !== void 0 && t.number < 0), i = r(() => t.number === 0);
|
|
1137
|
-
return (r, s) => e.number !== null && e.number !== void 0 ? (y(), o("div",
|
|
1102
|
+
return (r, s) => e.number !== null && e.number !== void 0 ? (y(), o("div", Tt, [n.value ? (y(), o("span", Et, [u(je, { color: E(V).RED }, {
|
|
1138
1103
|
default: M(() => [l(T(e.number) + T(t.icon), 1)]),
|
|
1139
1104
|
_: 1
|
|
1140
|
-
}, 8, ["color"]), u(E(te), { class: "h-5 w-5 text-red-500" })])) : i.value ? (y(), o("span",
|
|
1105
|
+
}, 8, ["color"]), u(E(te), { class: "h-5 w-5 text-red-500" })])) : i.value ? (y(), o("span", Dt, [u(je, { color: E(V).GRAY }, {
|
|
1141
1106
|
default: M(() => [l(T(e.number) + T(t.icon), 1)]),
|
|
1142
1107
|
_: 1
|
|
1143
|
-
}, 8, ["color"]), u(E(
|
|
1108
|
+
}, 8, ["color"]), u(E(_e), { class: "h-5 w-5 text-gray-400" })])) : (y(), o("span", Ot, [u(je, { color: E(V).GREEN }, {
|
|
1144
1109
|
default: M(() => [l(T(e.number) + T(t.icon), 1)]),
|
|
1145
1110
|
_: 1
|
|
1146
1111
|
}, 8, ["color"]), u(E(ne), { class: "h-5 w-5 text-green-500" })]))])) : a("", !0);
|
|
@@ -1149,7 +1114,7 @@ var Le = [
|
|
|
1149
1114
|
//#endregion
|
|
1150
1115
|
//#region src/composables/useThemeClasses.ts
|
|
1151
1116
|
function J() {
|
|
1152
|
-
let { isDark: e } =
|
|
1117
|
+
let { isDark: e } = B();
|
|
1153
1118
|
return {
|
|
1154
1119
|
card: r(() => e.value ? "bg-gray-800 border-gray-700" : "bg-white border-gray-200"),
|
|
1155
1120
|
cardAlt: r(() => e.value ? "bg-gray-900 border-gray-700" : "bg-white border-gray-200"),
|
|
@@ -1184,7 +1149,7 @@ function Y(e) {
|
|
|
1184
1149
|
}
|
|
1185
1150
|
//#endregion
|
|
1186
1151
|
//#region src/components/BaseModalShell.vue?vue&type=script&setup=true&lang.ts
|
|
1187
|
-
var
|
|
1152
|
+
var At = { class: "flex items-start gap-4 min-w-0" }, jt = { class: "flex-1 min-w-0" }, Mt = { class: "p-6 overflow-y-auto flex-1" }, Nt = { class: "p-6" }, Pt = { class: "flex items-start gap-4" }, Ft = { class: "flex-1" }, It = { class: "mt-4" }, Lt = { class: "mt-6 flex gap-3 justify-end" }, Rt = /* @__PURE__ */ d({
|
|
1188
1153
|
__name: "BaseModalShell",
|
|
1189
1154
|
props: {
|
|
1190
1155
|
title: {},
|
|
@@ -1201,7 +1166,7 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1201
1166
|
},
|
|
1202
1167
|
emits: ["cancel", "backdrop"],
|
|
1203
1168
|
setup(e, { emit: n }) {
|
|
1204
|
-
let c = e, l = n, { isDark: u } =
|
|
1169
|
+
let c = e, l = n, { isDark: u } = B(), d = J(), f = `modal-title-${Math.random().toString(36).slice(2, 9)}`, p = r(() => u.value ? "bg-gray-900 border border-gray-700" : "bg-white border border-gray-200");
|
|
1205
1170
|
function h() {
|
|
1206
1171
|
l("backdrop"), c.manualClose || l("cancel");
|
|
1207
1172
|
}
|
|
@@ -1218,14 +1183,14 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1218
1183
|
class: m(["relative w-full mx-4 rounded-lg shadow-xl max-h-[90vh] flex flex-col", [e.maxWidthClass, p.value]]),
|
|
1219
1184
|
onClick: r[0] ||= F(() => {}, ["stop"])
|
|
1220
1185
|
}, [
|
|
1221
|
-
s("div", { class: m(["flex items-start justify-between gap-4 p-6 border-b shrink-0", E(d).border]) }, [s("div",
|
|
1186
|
+
s("div", { class: m(["flex items-start justify-between gap-4 p-6 border-b shrink-0", E(d).border]) }, [s("div", At, [S(n.$slots, "icon"), s("div", jt, [s("h3", {
|
|
1222
1187
|
id: f,
|
|
1223
1188
|
class: m(["text-lg font-medium", E(d).primaryText])
|
|
1224
1189
|
}, T(e.title), 3), e.subtitle ? (y(), o("p", {
|
|
1225
1190
|
key: 0,
|
|
1226
1191
|
class: m(["text-sm mt-1 break-all", E(d).mutedText])
|
|
1227
1192
|
}, T(e.subtitle), 3)) : a("", !0)])]), S(n.$slots, "header-actions")], 2),
|
|
1228
|
-
s("div",
|
|
1193
|
+
s("div", Mt, [S(n.$slots, "default")]),
|
|
1229
1194
|
n.$slots.footer ? (y(), o("div", {
|
|
1230
1195
|
key: 0,
|
|
1231
1196
|
class: m(["flex gap-3 justify-end p-6 border-t shrink-0", E(d).border])
|
|
@@ -1234,16 +1199,16 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1234
1199
|
key: 1,
|
|
1235
1200
|
class: m(["relative w-full mx-4 rounded-lg shadow-xl", [e.maxWidthClass, p.value]]),
|
|
1236
1201
|
onClick: r[1] ||= F(() => {}, ["stop"])
|
|
1237
|
-
}, [s("div",
|
|
1238
|
-
s("div",
|
|
1202
|
+
}, [s("div", Nt, [
|
|
1203
|
+
s("div", Pt, [S(n.$slots, "icon"), s("div", Ft, [s("h3", {
|
|
1239
1204
|
id: f,
|
|
1240
1205
|
class: m(["text-lg font-medium", E(d).primaryText])
|
|
1241
1206
|
}, T(e.title), 3)])]),
|
|
1242
|
-
s("div",
|
|
1243
|
-
s("div",
|
|
1207
|
+
s("div", It, [S(n.$slots, "default")]),
|
|
1208
|
+
s("div", Lt, [S(n.$slots, "footer")])
|
|
1244
1209
|
])], 2))])]));
|
|
1245
1210
|
}
|
|
1246
|
-
}),
|
|
1211
|
+
}), zt = ["aria-expanded"], Bt = { class: "flex items-center gap-3" }, Vt = /* @__PURE__ */ d({
|
|
1247
1212
|
__name: "BaseCollapsibleSection",
|
|
1248
1213
|
props: {
|
|
1249
1214
|
title: {},
|
|
@@ -1253,13 +1218,13 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1253
1218
|
},
|
|
1254
1219
|
emits: ["toggle"],
|
|
1255
1220
|
setup(e, { emit: t }) {
|
|
1256
|
-
let n = e, i = t, { isDark: c } =
|
|
1221
|
+
let n = e, i = t, { isDark: c } = B(), l = J(), u = r(() => c.value ? "text-gray-100" : "text-gray-700"), d = r(() => c.value ? "bg-gray-800/50 hover:bg-gray-800 border-gray-700" : "bg-gray-50 hover:bg-gray-100 border-gray-200"), f = r(() => c.value ? "bg-emerald-500/15 text-emerald-400" : "bg-emerald-50 text-emerald-700"), p = r(() => n.bodyClass === void 0 ? c.value ? "bg-gray-800" : "bg-white" : n.bodyClass);
|
|
1257
1222
|
return (t, n) => (y(), o("section", { class: m(["rounded-xl border transition-colors", E(l).cardAlt]) }, [s("button", {
|
|
1258
1223
|
type: "button",
|
|
1259
1224
|
class: m(["w-full flex items-center justify-between p-4 text-left transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500", [d.value, e.collapsed ? "rounded-xl" : "rounded-t-xl"]]),
|
|
1260
1225
|
"aria-expanded": !e.collapsed,
|
|
1261
1226
|
onClick: n[0] ||= (e) => i("toggle")
|
|
1262
|
-
}, [s("div",
|
|
1227
|
+
}, [s("div", Bt, [s("h2", { class: m(["text-base font-semibold", u.value]) }, T(e.title), 3), e.badge ? (y(), o("span", {
|
|
1263
1228
|
key: 0,
|
|
1264
1229
|
class: m(["text-xs px-2 py-0.5 rounded-full", f.value])
|
|
1265
1230
|
}, T(e.badge), 3)) : a("", !0)]), (y(), o("svg", {
|
|
@@ -1273,15 +1238,15 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1273
1238
|
"stroke-linecap": "round",
|
|
1274
1239
|
"stroke-linejoin": "round",
|
|
1275
1240
|
d: "M19 9l-7 7-7-7"
|
|
1276
|
-
}, null, -1)]], 2))], 10,
|
|
1241
|
+
}, null, -1)]], 2))], 10, zt), N(s("div", { class: m(["p-6 border-t rounded-b-xl", [E(l).border, p.value]]) }, [S(t.$slots, "default")], 2), [[ee, !e.collapsed]])], 2));
|
|
1277
1242
|
}
|
|
1278
|
-
}),
|
|
1243
|
+
}), Ht = ["disabled"], Ut = ["disabled"], Wt = {
|
|
1279
1244
|
key: 0,
|
|
1280
1245
|
class: "w-4 h-4 animate-spin",
|
|
1281
1246
|
fill: "none",
|
|
1282
1247
|
viewBox: "0 0 24 24",
|
|
1283
1248
|
"aria-hidden": "true"
|
|
1284
|
-
},
|
|
1249
|
+
}, Gt = /* @__PURE__ */ d({
|
|
1285
1250
|
__name: "BaseConfirmModal",
|
|
1286
1251
|
props: {
|
|
1287
1252
|
title: {},
|
|
@@ -1297,19 +1262,19 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1297
1262
|
},
|
|
1298
1263
|
emits: ["confirm", "cancel"],
|
|
1299
1264
|
setup(e, { emit: t }) {
|
|
1300
|
-
let n = e, r = t, { isDark: c } =
|
|
1265
|
+
let n = e, r = t, { isDark: c } = B(), d = J();
|
|
1301
1266
|
function f() {
|
|
1302
1267
|
n.submitting || r("confirm");
|
|
1303
1268
|
}
|
|
1304
1269
|
function p() {
|
|
1305
1270
|
n.submitting || r("cancel");
|
|
1306
1271
|
}
|
|
1307
|
-
return (t, n) => (y(), i(
|
|
1272
|
+
return (t, n) => (y(), i(Rt, {
|
|
1308
1273
|
title: e.title,
|
|
1309
1274
|
"manual-close": e.submitting,
|
|
1310
1275
|
onCancel: p
|
|
1311
1276
|
}, {
|
|
1312
|
-
icon: M(() => [s("div", { class: m(["flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full", [e.variant === "danger" ? E(c) ? "bg-red-900/30" : "bg-red-50" : E(c) ? "bg-amber-900/30" : "bg-amber-50"]]) }, [u(E(
|
|
1277
|
+
icon: M(() => [s("div", { class: m(["flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full", [e.variant === "danger" ? E(c) ? "bg-red-900/30" : "bg-red-50" : E(c) ? "bg-amber-900/30" : "bg-amber-50"]]) }, [u(E(I), {
|
|
1313
1278
|
class: m(["h-6 w-6", e.variant === "danger" ? "text-red-600" : "text-amber-600"]),
|
|
1314
1279
|
"aria-hidden": "true"
|
|
1315
1280
|
}, null, 8, ["class"])], 2)]),
|
|
@@ -1318,12 +1283,12 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1318
1283
|
disabled: e.submitting,
|
|
1319
1284
|
class: m(["inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", [E(d).ghostButton, e.submitting ? "opacity-60 cursor-not-allowed" : "cursor-pointer"]]),
|
|
1320
1285
|
onClick: p
|
|
1321
|
-
}, T(e.cancelText), 11,
|
|
1286
|
+
}, T(e.cancelText), 11, Ht), s("button", {
|
|
1322
1287
|
type: "button",
|
|
1323
1288
|
disabled: e.submitting,
|
|
1324
1289
|
class: m(["inline-flex items-center justify-center gap-2 px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", [e.variant === "danger" ? "focus-visible:ring-red-500" : "focus-visible:ring-emerald-500", e.variant === "danger" ? e.submitting ? "bg-red-400 cursor-not-allowed" : "bg-red-600 hover:bg-red-700 cursor-pointer" : e.submitting ? "bg-emerald-400 cursor-not-allowed" : "bg-emerald-600 hover:bg-emerald-700 cursor-pointer"]]),
|
|
1325
1290
|
onClick: f
|
|
1326
|
-
}, [e.submitting ? (y(), o("svg",
|
|
1291
|
+
}, [e.submitting ? (y(), o("svg", Wt, [...n[0] ||= [s("circle", {
|
|
1327
1292
|
class: "opacity-25",
|
|
1328
1293
|
cx: "12",
|
|
1329
1294
|
cy: "12",
|
|
@@ -1334,12 +1299,12 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1334
1299
|
class: "opacity-75",
|
|
1335
1300
|
fill: "currentColor",
|
|
1336
1301
|
d: "M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z"
|
|
1337
|
-
}, null, -1)]])) : a("", !0), l(" " + T(e.submitting ? e.submittingText : e.confirmText), 1)], 10,
|
|
1302
|
+
}, null, -1)]])) : a("", !0), l(" " + T(e.submitting ? e.submittingText : e.confirmText), 1)], 10, Ut)]),
|
|
1338
1303
|
default: M(() => [S(t.$slots, "message", {}, () => [s("p", { class: m(["text-sm", E(c) ? "text-gray-300" : "text-gray-600"]) }, T(e.message), 3)]), S(t.$slots, "default")]),
|
|
1339
1304
|
_: 3
|
|
1340
1305
|
}, 8, ["title", "manual-close"]));
|
|
1341
1306
|
}
|
|
1342
|
-
}),
|
|
1307
|
+
}), Kt = { class: "mt-4" }, qt = ["placeholder"], Jt = ["disabled"], Yt = /* @__PURE__ */ d({
|
|
1343
1308
|
__name: "BaseTextInputModal",
|
|
1344
1309
|
props: {
|
|
1345
1310
|
title: {},
|
|
@@ -1357,7 +1322,7 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1357
1322
|
},
|
|
1358
1323
|
emits: ["confirm", "cancel"],
|
|
1359
1324
|
setup(e, { emit: t }) {
|
|
1360
|
-
let n = e, r = t, { isDark: a } =
|
|
1325
|
+
let n = e, r = t, { isDark: a } = B(), o = J(), c = b(n.initialValue), l = b(null);
|
|
1361
1326
|
g(async () => {
|
|
1362
1327
|
await p(), l.value?.focus();
|
|
1363
1328
|
});
|
|
@@ -1370,7 +1335,7 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1370
1335
|
function h() {
|
|
1371
1336
|
c.value.trim() === (n.initialValue ?? "").trim() && f();
|
|
1372
1337
|
}
|
|
1373
|
-
return Y(f), (t, n) => (y(), i(
|
|
1338
|
+
return Y(f), (t, n) => (y(), i(Rt, {
|
|
1374
1339
|
title: e.title,
|
|
1375
1340
|
"manual-close": "",
|
|
1376
1341
|
onBackdrop: h
|
|
@@ -1388,8 +1353,8 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1388
1353
|
disabled: !c.value.trim() || e.submitting,
|
|
1389
1354
|
class: m(["inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 focus-visible:ring-offset-2", [!c.value.trim() || e.submitting ? "bg-emerald-400 cursor-not-allowed" : "bg-emerald-600 hover:bg-emerald-700 cursor-pointer"]]),
|
|
1390
1355
|
onClick: d
|
|
1391
|
-
}, T(e.submitting ? e.submittingText : e.confirmText), 11,
|
|
1392
|
-
default: M(() => [s("p", { class: m(["text-sm", E(a) ? "text-gray-300" : "text-gray-600"]) }, T(e.message), 3), s("div",
|
|
1356
|
+
}, T(e.submitting ? e.submittingText : e.confirmText), 11, Jt)]),
|
|
1357
|
+
default: M(() => [s("p", { class: m(["text-sm", E(a) ? "text-gray-300" : "text-gray-600"]) }, T(e.message), 3), s("div", Kt, [s("label", { class: m(["block text-sm font-medium mb-1", E(o).label]) }, T(e.inputLabel), 3), N(s("input", {
|
|
1393
1358
|
ref_key: "nameInput",
|
|
1394
1359
|
ref: l,
|
|
1395
1360
|
"onUpdate:modelValue": n[0] ||= (e) => c.value = e,
|
|
@@ -1397,11 +1362,11 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1397
1362
|
placeholder: e.placeholder,
|
|
1398
1363
|
class: m(["w-full px-3 py-2 rounded-md border text-sm transition-colors", E(a) ? "bg-gray-800 border-gray-600 text-gray-100 placeholder-gray-500 focus:outline-none focus:border-emerald-500" : "bg-white border-gray-300 text-gray-900 placeholder-gray-400 focus:outline-none focus:border-emerald-500"]),
|
|
1399
1364
|
onKeyup: P(d, ["enter"])
|
|
1400
|
-
}, null, 42,
|
|
1365
|
+
}, null, 42, qt), [[A, c.value]])])]),
|
|
1401
1366
|
_: 3
|
|
1402
1367
|
}, 8, ["title"]));
|
|
1403
1368
|
}
|
|
1404
|
-
}),
|
|
1369
|
+
}), Xt = { class: "flex items-center justify-center min-h-[60vh]" }, Zt = { class: "text-center px-6" }, Qt = /* @__PURE__ */ d({
|
|
1405
1370
|
__name: "BaseNotFoundPage",
|
|
1406
1371
|
props: {
|
|
1407
1372
|
code: { default: "404" },
|
|
@@ -1410,12 +1375,12 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1410
1375
|
homeLabel: { default: "Go home" }
|
|
1411
1376
|
},
|
|
1412
1377
|
setup(e) {
|
|
1413
|
-
let t = e, n =
|
|
1378
|
+
let t = e, n = Ce(), { isDark: r } = B(), i = J();
|
|
1414
1379
|
function a() {
|
|
1415
1380
|
n.push({ name: t.homeRouteName });
|
|
1416
1381
|
}
|
|
1417
|
-
return (t, n) => (y(), o("div",
|
|
1418
|
-
u(E(
|
|
1382
|
+
return (t, n) => (y(), o("div", Xt, [s("div", Zt, [
|
|
1383
|
+
u(E(I), { class: m(["w-16 h-16 mx-auto mb-4", E(i).illustration]) }, null, 8, ["class"]),
|
|
1419
1384
|
s("h1", { class: m(["text-4xl font-bold mb-2", E(r) ? "text-gray-200" : "text-gray-800"]) }, T(e.code), 3),
|
|
1420
1385
|
s("p", { class: m(["text-lg mb-6", E(i).dimTextAlt]) }, T(e.message), 3),
|
|
1421
1386
|
s("button", {
|
|
@@ -1425,7 +1390,7 @@ var jt = { class: "flex items-start gap-4 min-w-0" }, Mt = { class: "flex-1 min-
|
|
|
1425
1390
|
])]));
|
|
1426
1391
|
}
|
|
1427
1392
|
}), X = b(!1);
|
|
1428
|
-
function
|
|
1393
|
+
function $t() {
|
|
1429
1394
|
function e() {
|
|
1430
1395
|
X.value = !0;
|
|
1431
1396
|
}
|
|
@@ -1444,19 +1409,19 @@ function en() {
|
|
|
1444
1409
|
}
|
|
1445
1410
|
//#endregion
|
|
1446
1411
|
//#region src/composables/useSidebarCollapse.ts
|
|
1447
|
-
var Z = b(!1),
|
|
1448
|
-
function
|
|
1449
|
-
if (!
|
|
1450
|
-
let e = window.localStorage?.getItem(
|
|
1412
|
+
var Z = b(!1), en = !1, tn = "mgv-sidebar-collapsed";
|
|
1413
|
+
function nn(e) {
|
|
1414
|
+
if (!en && (en = !0, tn = e, typeof window < "u")) {
|
|
1415
|
+
let e = window.localStorage?.getItem(tn);
|
|
1451
1416
|
e && (Z.value = e === "true"), f(!0).run(() => {
|
|
1452
1417
|
j(Z, (e) => {
|
|
1453
|
-
window.localStorage?.setItem(
|
|
1418
|
+
window.localStorage?.setItem(tn, String(e));
|
|
1454
1419
|
});
|
|
1455
1420
|
});
|
|
1456
1421
|
}
|
|
1457
1422
|
}
|
|
1458
|
-
function
|
|
1459
|
-
|
|
1423
|
+
function rn(e) {
|
|
1424
|
+
nn(e?.storageKey ?? tn);
|
|
1460
1425
|
function t() {
|
|
1461
1426
|
Z.value = !0;
|
|
1462
1427
|
}
|
|
@@ -1475,8 +1440,8 @@ function an(e) {
|
|
|
1475
1440
|
}
|
|
1476
1441
|
//#endregion
|
|
1477
1442
|
//#region src/composables/useNotifications.ts
|
|
1478
|
-
var Q = b([]), $ = b(!1),
|
|
1479
|
-
function
|
|
1443
|
+
var Q = b([]), $ = b(!1), an = r(() => Q.value.filter((e) => !e.read).length);
|
|
1444
|
+
function on() {
|
|
1480
1445
|
function e() {
|
|
1481
1446
|
$.value = !0;
|
|
1482
1447
|
}
|
|
@@ -1512,7 +1477,7 @@ function sn() {
|
|
|
1512
1477
|
}
|
|
1513
1478
|
return {
|
|
1514
1479
|
notifications: Q,
|
|
1515
|
-
unreadCount:
|
|
1480
|
+
unreadCount: an,
|
|
1516
1481
|
open: $,
|
|
1517
1482
|
openPanel: e,
|
|
1518
1483
|
closePanel: t,
|
|
@@ -1527,22 +1492,22 @@ function sn() {
|
|
|
1527
1492
|
}
|
|
1528
1493
|
//#endregion
|
|
1529
1494
|
//#region src/components/BaseSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
1530
|
-
var
|
|
1495
|
+
var sn = ["aria-label", "aria-expanded"], cn = { class: "flex flex-col h-full" }, ln = { class: "flex-1 overflow-y-auto px-3 space-y-6" }, un = { class: "space-y-0.5" }, dn = [
|
|
1531
1496
|
"aria-current",
|
|
1532
1497
|
"title",
|
|
1533
1498
|
"onClick"
|
|
1534
|
-
],
|
|
1499
|
+
], fn = ["aria-label"], pn = { class: "relative shrink-0" }, mn = {
|
|
1535
1500
|
key: 0,
|
|
1536
1501
|
class: "absolute -top-1.5 -right-1.5 min-w-4 h-4 px-1 rounded-full bg-red-500 text-white text-[10px] font-semibold leading-4 text-center"
|
|
1537
|
-
},
|
|
1502
|
+
}, hn = [
|
|
1538
1503
|
"title",
|
|
1539
1504
|
"aria-label",
|
|
1540
1505
|
"aria-pressed"
|
|
1541
|
-
],
|
|
1506
|
+
], gn = [
|
|
1542
1507
|
"title",
|
|
1543
1508
|
"aria-label",
|
|
1544
1509
|
"aria-pressed"
|
|
1545
|
-
],
|
|
1510
|
+
], _n = /*#__PURE__*/ ((e, t) => {
|
|
1546
1511
|
let n = e.__vccOpts || e;
|
|
1547
1512
|
for (let [e, r] of t) n[e] = r;
|
|
1548
1513
|
return n;
|
|
@@ -1567,7 +1532,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1567
1532
|
}
|
|
1568
1533
|
},
|
|
1569
1534
|
setup(t) {
|
|
1570
|
-
let n = t, c =
|
|
1535
|
+
let n = t, c = Ce(), d = Se(), { isDark: f, toggleTheme: h } = B(), { mobileOpen: g, close: _, toggle: v } = $t(), { collapsed: C, toggle: D } = rn(), { unreadCount: O, togglePanel: k } = on(), A = r(() => n.collapsible && C.value), ee = b(null), M = null;
|
|
1571
1536
|
j(g, async (e) => {
|
|
1572
1537
|
e ? (M = document.activeElement instanceof HTMLElement ? document.activeElement : null, await p(), ee.value?.focus()) : (M?.focus(), M = null);
|
|
1573
1538
|
});
|
|
@@ -1592,7 +1557,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1592
1557
|
class: m(["p-2 rounded-lg cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", E(f) ? "text-gray-400 hover:bg-gray-800" : "text-gray-600 hover:bg-gray-100"]),
|
|
1593
1558
|
"aria-label": E(g) ? "Close navigation menu" : "Open navigation menu",
|
|
1594
1559
|
"aria-expanded": E(g)
|
|
1595
|
-
}, [E(g) ? (y(), i(E(
|
|
1560
|
+
}, [E(g) ? (y(), i(E(be), {
|
|
1596
1561
|
key: 1,
|
|
1597
1562
|
class: "w-6 h-6",
|
|
1598
1563
|
"aria-hidden": "true"
|
|
@@ -1600,7 +1565,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1600
1565
|
key: 0,
|
|
1601
1566
|
class: "w-6 h-6",
|
|
1602
1567
|
"aria-hidden": "true"
|
|
1603
|
-
}))], 10,
|
|
1568
|
+
}))], 10, sn)], 2),
|
|
1604
1569
|
E(g) ? (y(), o("div", {
|
|
1605
1570
|
key: 0,
|
|
1606
1571
|
class: "mobile-overlay fixed inset-0 z-40 bg-black/50",
|
|
@@ -1615,7 +1580,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1615
1580
|
E(g) ? "translate-x-0 z-50" : "-translate-x-full max-lg:pointer-events-none lg:translate-x-0 z-50",
|
|
1616
1581
|
t.collapsible && E(C) ? "lg:w-16" : "lg:w-60"
|
|
1617
1582
|
]])
|
|
1618
|
-
}, [s("div",
|
|
1583
|
+
}, [s("div", cn, [
|
|
1619
1584
|
s("div", { class: m(["px-5 pt-5 pb-4 flex items-center justify-center relative", { "lg:px-2": A.value }]) }, [s("button", {
|
|
1620
1585
|
type: "button",
|
|
1621
1586
|
onClick: N,
|
|
@@ -1628,17 +1593,17 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1628
1593
|
onClick: r[2] ||= (...e) => E(_) && E(_)(...e),
|
|
1629
1594
|
class: m(["lg:hidden p-1.5 rounded-lg cursor-pointer absolute right-3 top-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", E(f) ? "text-gray-400 hover:bg-gray-800" : "text-gray-500 hover:bg-gray-100"]),
|
|
1630
1595
|
"aria-label": "Close navigation menu"
|
|
1631
|
-
}, [u(E(
|
|
1596
|
+
}, [u(E(be), {
|
|
1632
1597
|
class: "w-5 h-5",
|
|
1633
1598
|
"aria-hidden": "true"
|
|
1634
1599
|
})], 2)], 2),
|
|
1635
|
-
s("nav",
|
|
1600
|
+
s("nav", ln, [(y(!0), o(e, null, x(t.sections, (t) => (y(), o("div", { key: t.title }, [s("p", { class: m(["px-2 mb-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500", { "lg:hidden": A.value }]) }, T(t.title), 3), s("ul", un, [(y(!0), o(e, null, x(t.items, (e) => (y(), o("li", { key: e.name }, [s("button", {
|
|
1636
1601
|
type: "button",
|
|
1637
1602
|
"aria-current": P(e.name) ? "page" : void 0,
|
|
1638
1603
|
title: A.value ? e.label : void 0,
|
|
1639
1604
|
onClick: (t) => F(e.name),
|
|
1640
1605
|
class: m(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition-colors w-full text-left cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", [P(e.name) ? E(f) ? "bg-emerald-500/15 text-emerald-300" : "bg-emerald-50 text-emerald-700" : E(f) ? "text-gray-400 hover:text-gray-100 hover:bg-gray-800" : "text-gray-600 hover:text-gray-900 hover:bg-gray-100", { "lg:justify-center": A.value }]])
|
|
1641
|
-
}, [(y(), i(w(e.icon), { class: "w-[18px] h-[18px] shrink-0" })), s("span", { class: m({ "lg:hidden": A.value }) }, T(e.label), 3)], 10,
|
|
1606
|
+
}, [(y(), i(w(e.icon), { class: "w-[18px] h-[18px] shrink-0" })), s("span", { class: m({ "lg:hidden": A.value }) }, T(e.label), 3)], 10, dn)]))), 128))])]))), 128))]),
|
|
1642
1607
|
s("div", { class: m(["px-4 py-4 border-t transition-colors space-y-3", E(f) ? "border-gray-800" : "border-gray-200"]) }, [
|
|
1643
1608
|
t.showNotifications ? (y(), o("button", {
|
|
1644
1609
|
key: 0,
|
|
@@ -1647,10 +1612,10 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1647
1612
|
title: "Notifications",
|
|
1648
1613
|
"aria-label": E(O) > 0 ? `Notifications, ${E(O)} unread` : "Notifications",
|
|
1649
1614
|
class: m(["relative flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", [E(f) ? "text-gray-400 hover:text-gray-100 hover:bg-gray-800" : "text-gray-600 hover:text-gray-900 hover:bg-gray-100", { "lg:justify-center": A.value }]])
|
|
1650
|
-
}, [s("span",
|
|
1615
|
+
}, [s("span", pn, [u(E(ie), {
|
|
1651
1616
|
class: "w-[18px] h-[18px]",
|
|
1652
1617
|
"aria-hidden": "true"
|
|
1653
|
-
}), E(O) > 0 ? (y(), o("span",
|
|
1618
|
+
}), E(O) > 0 ? (y(), o("span", mn, T(E(O) > 99 ? "99+" : E(O)), 1)) : a("", !0)]), s("span", { class: m({ "lg:hidden": A.value }) }, "Notifications", 2)], 10, fn)) : a("", !0),
|
|
1654
1619
|
t.showThemeToggle ? (y(), o("button", {
|
|
1655
1620
|
key: 1,
|
|
1656
1621
|
type: "button",
|
|
@@ -1660,13 +1625,13 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1660
1625
|
"aria-pressed": E(f),
|
|
1661
1626
|
class: m(["flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", [E(f) ? "text-gray-400 hover:text-gray-100 hover:bg-gray-800" : "text-gray-600 hover:text-gray-900 hover:bg-gray-100", { "lg:justify-center": A.value }]])
|
|
1662
1627
|
}, [
|
|
1663
|
-
(y(), i(w(E(f) ? E(
|
|
1628
|
+
(y(), i(w(E(f) ? E(ye) : E(ve)), {
|
|
1664
1629
|
class: m(["hidden w-[18px] h-[18px] shrink-0", { "lg:block": A.value }]),
|
|
1665
1630
|
"aria-hidden": "true"
|
|
1666
1631
|
}, null, 8, ["class"])),
|
|
1667
1632
|
s("span", { class: m({ "lg:hidden": A.value }) }, T(E(f) ? "Switch to light" : "Switch to dark"), 3),
|
|
1668
1633
|
s("span", { class: m(["ml-auto relative w-9 h-5 rounded-full transition-colors", [E(f) ? "bg-emerald-600" : "bg-gray-300", { "lg:hidden": A.value }]]) }, [s("span", { class: m(["absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300", E(f) ? "translate-x-4" : "translate-x-0"]) }, null, 2)], 2)
|
|
1669
|
-
], 10,
|
|
1634
|
+
], 10, hn)) : a("", !0),
|
|
1670
1635
|
t.collapsible ? (y(), o("button", {
|
|
1671
1636
|
key: 2,
|
|
1672
1637
|
type: "button",
|
|
@@ -1678,7 +1643,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1678
1643
|
}, [(y(), i(w(E(C) ? E(se) : E(oe)), {
|
|
1679
1644
|
class: "w-[18px] h-[18px] shrink-0",
|
|
1680
1645
|
"aria-hidden": "true"
|
|
1681
|
-
})), s("span", { class: m({ "lg:hidden": A.value }) }, "Collapse", 2)], 10,
|
|
1646
|
+
})), s("span", { class: m({ "lg:hidden": A.value }) }, "Collapse", 2)], 10, gn)) : a("", !0),
|
|
1682
1647
|
s("div", { class: m({ "lg:hidden": A.value }) }, [S(n.$slots, "status", {}, void 0, !0)], 2),
|
|
1683
1648
|
s("div", { class: m({ "lg:hidden": A.value }) }, [S(n.$slots, "footer", {}, () => [t.appName || t.version ? (y(), o("div", {
|
|
1684
1649
|
key: 0,
|
|
@@ -1692,26 +1657,26 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1692
1657
|
])], 2)
|
|
1693
1658
|
]));
|
|
1694
1659
|
}
|
|
1695
|
-
}), [["__scopeId", "data-v-452beaf2"]]),
|
|
1660
|
+
}), [["__scopeId", "data-v-452beaf2"]]), vn = {
|
|
1696
1661
|
key: 1,
|
|
1697
1662
|
class: "mt-4 flex justify-center py-6"
|
|
1698
|
-
},
|
|
1663
|
+
}, yn = {
|
|
1699
1664
|
key: 2,
|
|
1700
1665
|
class: "mt-4 text-sm text-red-500",
|
|
1701
1666
|
role: "alert"
|
|
1702
|
-
},
|
|
1667
|
+
}, bn = {
|
|
1703
1668
|
key: 3,
|
|
1704
1669
|
class: "mt-4"
|
|
1705
|
-
},
|
|
1670
|
+
}, xn = { class: "relative" }, Sn = ["placeholder"], Cn = {
|
|
1706
1671
|
key: 4,
|
|
1707
1672
|
class: "mt-3 max-h-64 overflow-y-auto"
|
|
1708
|
-
},
|
|
1673
|
+
}, wn = ["aria-pressed", "onClick"], Tn = { class: "flex-1 min-w-0" }, En = {
|
|
1709
1674
|
key: 0,
|
|
1710
1675
|
class: "text-center py-6"
|
|
1711
|
-
},
|
|
1676
|
+
}, Dn = {
|
|
1712
1677
|
key: 1,
|
|
1713
1678
|
class: "text-center py-6"
|
|
1714
|
-
},
|
|
1679
|
+
}, On = ["disabled"], kn = ["disabled"], An = /* @__PURE__ */ d({
|
|
1715
1680
|
__name: "BaseEntityPickerModal",
|
|
1716
1681
|
props: {
|
|
1717
1682
|
title: {},
|
|
@@ -1733,7 +1698,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1733
1698
|
},
|
|
1734
1699
|
emits: ["confirm", "cancel"],
|
|
1735
1700
|
setup(t, { emit: n }) {
|
|
1736
|
-
let c = t, l = n, { isDark: d } =
|
|
1701
|
+
let c = t, l = n, { isDark: d } = B(), f = J(), h = b([]), _ = b(!1), v = b(""), C = b(null), w = b(""), D = b(null), O = r(() => {
|
|
1737
1702
|
let e = c.loader ? h.value : c.items;
|
|
1738
1703
|
return c.excludeId ? e.filter((e) => e.id !== c.excludeId) : e;
|
|
1739
1704
|
}), k = r(() => O.value.filter((e) => e.label.toLowerCase().includes(w.value.toLowerCase()))), ee = {
|
|
@@ -1848,12 +1813,12 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1848
1813
|
function te() {
|
|
1849
1814
|
c.submitting || l("cancel");
|
|
1850
1815
|
}
|
|
1851
|
-
return (n, r) => (y(), i(
|
|
1816
|
+
return (n, r) => (y(), i(Rt, {
|
|
1852
1817
|
title: t.title,
|
|
1853
1818
|
"manual-close": t.submitting,
|
|
1854
1819
|
onCancel: te
|
|
1855
1820
|
}, {
|
|
1856
|
-
icon: M(() => [S(n.$slots, "icon", {}, () => [s("div", { class: m(["flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full", P.value.iconBg]) }, [u(E(
|
|
1821
|
+
icon: M(() => [S(n.$slots, "icon", {}, () => [s("div", { class: m(["flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full", P.value.iconBg]) }, [u(E(me), {
|
|
1857
1822
|
class: m(["h-6 w-6", P.value.iconText]),
|
|
1858
1823
|
"aria-hidden": "true"
|
|
1859
1824
|
}, null, 8, ["class"])], 2)])]),
|
|
@@ -1862,19 +1827,19 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1862
1827
|
disabled: t.submitting,
|
|
1863
1828
|
class: m(["inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", E(f).ghostButton]),
|
|
1864
1829
|
onClick: te
|
|
1865
|
-
}, T(t.cancelText), 11,
|
|
1830
|
+
}, T(t.cancelText), 11, On), s("button", {
|
|
1866
1831
|
type: "button",
|
|
1867
1832
|
disabled: !C.value || t.submitting,
|
|
1868
1833
|
class: m(["inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 focus-visible:ring-offset-2", !C.value || t.submitting ? P.value.confirmDisabled : P.value.confirmActive]),
|
|
1869
1834
|
onClick: F
|
|
1870
|
-
}, T(t.submitting ? t.submittingText : t.confirmText), 11,
|
|
1835
|
+
}, T(t.submitting ? t.submittingText : t.confirmText), 11, kn)]),
|
|
1871
1836
|
default: M(() => [
|
|
1872
1837
|
t.message ? (y(), o("p", {
|
|
1873
1838
|
key: 0,
|
|
1874
1839
|
class: m(["text-sm", E(d) ? "text-gray-300" : "text-gray-600"])
|
|
1875
1840
|
}, T(t.message), 3)) : a("", !0),
|
|
1876
|
-
_.value ? (y(), o("div",
|
|
1877
|
-
!_.value && !v.value && O.value.length > 0 ? (y(), o("div",
|
|
1841
|
+
_.value ? (y(), o("div", vn, [u(ot, { color: "emerald" })])) : v.value ? (y(), o("div", yn, T(v.value), 1)) : a("", !0),
|
|
1842
|
+
!_.value && !v.value && O.value.length > 0 ? (y(), o("div", bn, [s("div", xn, [u(E(ge), {
|
|
1878
1843
|
class: m(["absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4", E(f).dimText]),
|
|
1879
1844
|
"aria-hidden": "true"
|
|
1880
1845
|
}, null, 8, ["class"]), N(s("input", {
|
|
@@ -1884,16 +1849,16 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1884
1849
|
type: "text",
|
|
1885
1850
|
placeholder: t.searchPlaceholder,
|
|
1886
1851
|
class: m(["w-full pl-9 pr-3 py-2 text-sm rounded-md border outline-none transition-colors", [E(d) ? "bg-gray-800 border-gray-600 text-gray-200 placeholder-gray-500" : "bg-white border-gray-300 text-gray-700 placeholder-gray-400", P.value.inputFocus]])
|
|
1887
|
-
}, null, 10,
|
|
1888
|
-
!_.value && !v.value ? (y(), o("div",
|
|
1852
|
+
}, null, 10, Sn), [[A, w.value]])])])) : a("", !0),
|
|
1853
|
+
!_.value && !v.value ? (y(), o("div", Cn, [(y(!0), o(e, null, x(k.value, (e) => (y(), o("button", {
|
|
1889
1854
|
key: e.id,
|
|
1890
1855
|
type: "button",
|
|
1891
1856
|
"aria-pressed": C.value === e.id,
|
|
1892
1857
|
class: m(["w-full text-left flex items-center gap-3 px-3 py-2.5 rounded-lg cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500", [C.value === e.id ? P.value.selectedRow : E(d) ? "hover:bg-gray-800 border border-transparent" : "hover:bg-gray-50 border border-transparent"]]),
|
|
1893
1858
|
onClick: (t) => C.value = e.id
|
|
1894
1859
|
}, [
|
|
1895
|
-
u(E(
|
|
1896
|
-
s("div",
|
|
1860
|
+
u(E(me), { class: m(["w-5 h-5 flex-shrink-0", E(f).dimText]) }, null, 8, ["class"]),
|
|
1861
|
+
s("div", Tn, [s("p", { class: m(["text-sm font-medium truncate", E(f).bodyText]) }, T(e.label), 3)]),
|
|
1897
1862
|
C.value === e.id ? (y(), o("div", {
|
|
1898
1863
|
key: 0,
|
|
1899
1864
|
class: m(["w-5 h-5 rounded-full flex items-center justify-center", P.value.checkBg])
|
|
@@ -1909,15 +1874,15 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1909
1874
|
"stroke-linejoin": "round",
|
|
1910
1875
|
d: "M5 13l4 4L19 7"
|
|
1911
1876
|
})], -1)]], 2)) : a("", !0)
|
|
1912
|
-
], 10,
|
|
1877
|
+
], 10, wn))), 128)), O.value.length === 0 ? (y(), o("div", En, [s("p", { class: m(["text-sm", E(f).dimText]) }, T(t.emptyMessage), 3)])) : k.value.length === 0 ? (y(), o("div", Dn, [s("p", { class: m(["text-sm", E(f).dimText]) }, T(t.noMatchMessage), 3)])) : a("", !0)])) : a("", !0)
|
|
1913
1878
|
]),
|
|
1914
1879
|
_: 3
|
|
1915
1880
|
}, 8, ["title", "manual-close"]));
|
|
1916
1881
|
}
|
|
1917
|
-
}),
|
|
1882
|
+
}), jn = {
|
|
1918
1883
|
href: "#main-content",
|
|
1919
1884
|
class: "sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:px-3 focus:py-2 focus:rounded-md focus:bg-emerald-600 focus:text-white focus:shadow-lg"
|
|
1920
|
-
},
|
|
1885
|
+
}, Mn = ["inert"], Nn = /* @__PURE__ */ d({
|
|
1921
1886
|
__name: "BaseAppLayout",
|
|
1922
1887
|
props: {
|
|
1923
1888
|
showSidebar: {
|
|
@@ -1927,19 +1892,19 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1927
1892
|
skipLinkLabel: { default: "Skip to main content" }
|
|
1928
1893
|
},
|
|
1929
1894
|
setup(e) {
|
|
1930
|
-
let t = e, { isDark: n } =
|
|
1895
|
+
let t = e, { isDark: n } = B(), { mobileOpen: i } = $t(), { collapsed: c } = rn(), l = r(() => t.showSidebar);
|
|
1931
1896
|
return (t, r) => (y(), o("div", { class: m(["min-h-screen transition-colors duration-300", E(n) ? "bg-gray-950 text-gray-100" : "bg-gray-50 text-gray-800"]) }, [
|
|
1932
|
-
s("a",
|
|
1897
|
+
s("a", jn, T(e.skipLinkLabel), 1),
|
|
1933
1898
|
l.value ? S(t.$slots, "sidebar", { key: 0 }) : a("", !0),
|
|
1934
1899
|
s("main", {
|
|
1935
1900
|
id: "main-content",
|
|
1936
1901
|
tabindex: "-1",
|
|
1937
1902
|
inert: l.value && E(i) ? !0 : void 0,
|
|
1938
1903
|
class: m(["transition-all duration-300", l.value ? E(c) ? "pt-14 lg:pt-0 lg:ml-16" : "pt-14 lg:pt-0 lg:ml-60" : ""])
|
|
1939
|
-
}, [S(t.$slots, "default")], 10,
|
|
1904
|
+
}, [S(t.$slots, "default")], 10, Mn)
|
|
1940
1905
|
], 2));
|
|
1941
1906
|
}
|
|
1942
|
-
}),
|
|
1907
|
+
}), Pn = { class: "flex flex-wrap items-center justify-between gap-3 mb-8" }, Fn = { class: "flex items-center gap-3 min-w-0" }, In = { class: "flex items-center gap-2" }, Ln = /* @__PURE__ */ d({
|
|
1943
1908
|
__name: "BasePageHeader",
|
|
1944
1909
|
props: {
|
|
1945
1910
|
title: {},
|
|
@@ -1948,7 +1913,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1948
1913
|
maxWidthClass: { default: "max-w-4xl" }
|
|
1949
1914
|
},
|
|
1950
1915
|
setup(e) {
|
|
1951
|
-
let t = e, { isDark: n } =
|
|
1916
|
+
let t = e, { isDark: n } = B(), i = J(), c = r(() => {
|
|
1952
1917
|
let e = {
|
|
1953
1918
|
emerald: {
|
|
1954
1919
|
dark: "bg-emerald-500/10",
|
|
@@ -1989,16 +1954,16 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
1989
1954
|
}[t.iconColor];
|
|
1990
1955
|
return n.value ? e.dark : e.light;
|
|
1991
1956
|
});
|
|
1992
|
-
return (t, n) => (y(), o("div", { class: m(["mx-auto px-4 sm:px-6", e.maxWidthClass]) }, [s("div",
|
|
1957
|
+
return (t, n) => (y(), o("div", { class: m(["mx-auto px-4 sm:px-6", e.maxWidthClass]) }, [s("div", Pn, [s("div", Fn, [s("div", { class: m(["w-10 h-10 rounded-lg flex items-center justify-center", c.value]) }, [S(t.$slots, "icon", { iconClass: l.value })], 2), s("div", null, [s("h1", { class: m(["text-2xl font-bold", E(i).primaryTextSoft]) }, T(e.title), 3), e.subtitle ? (y(), o("p", {
|
|
1993
1958
|
key: 0,
|
|
1994
1959
|
class: m(["text-sm", E(i).dimTextAlt])
|
|
1995
|
-
}, T(e.subtitle), 3)) : a("", !0)])]), s("div",
|
|
1960
|
+
}, T(e.subtitle), 3)) : a("", !0)])]), s("div", In, [S(t.$slots, "actions")])])], 2));
|
|
1996
1961
|
}
|
|
1997
|
-
}),
|
|
1962
|
+
}), Rn = [
|
|
1998
1963
|
"type",
|
|
1999
1964
|
"disabled",
|
|
2000
1965
|
"title"
|
|
2001
|
-
],
|
|
1966
|
+
], zn = { key: 0 }, Bn = /* @__PURE__ */ d({
|
|
2002
1967
|
__name: "BaseToolbarButton",
|
|
2003
1968
|
props: {
|
|
2004
1969
|
label: { default: "" },
|
|
@@ -2012,7 +1977,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2012
1977
|
},
|
|
2013
1978
|
emits: ["click"],
|
|
2014
1979
|
setup(e) {
|
|
2015
|
-
let t = e, { isDark: n } =
|
|
1980
|
+
let t = e, { isDark: n } = B(), i = r(() => {
|
|
2016
1981
|
let e = {
|
|
2017
1982
|
neutral: {
|
|
2018
1983
|
dark: "bg-gray-800 text-gray-100 border-gray-700 hover:bg-gray-700",
|
|
@@ -2031,14 +1996,14 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2031
1996
|
title: e.title,
|
|
2032
1997
|
class: m(["inline-flex shrink-0 items-center gap-2 px-3 py-2 rounded-lg text-sm font-medium border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", i.value]),
|
|
2033
1998
|
onClick: n[0] ||= (e) => t.$emit("click", e)
|
|
2034
|
-
}, [S(t.$slots, "icon", { iconClass: "w-4 h-4" }), e.label ? (y(), o("span",
|
|
1999
|
+
}, [S(t.$slots, "icon", { iconClass: "w-4 h-4" }), e.label ? (y(), o("span", zn, T(e.label), 1)) : a("", !0)], 10, Rn));
|
|
2035
2000
|
}
|
|
2036
|
-
}),
|
|
2001
|
+
}), Vn = [
|
|
2037
2002
|
"type",
|
|
2038
2003
|
"disabled",
|
|
2039
2004
|
"title",
|
|
2040
2005
|
"aria-label"
|
|
2041
|
-
],
|
|
2006
|
+
], Hn = { key: 0 }, Un = /* @__PURE__ */ d({
|
|
2042
2007
|
__name: "BaseActionButton",
|
|
2043
2008
|
props: {
|
|
2044
2009
|
label: { default: "" },
|
|
@@ -2057,7 +2022,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2057
2022
|
},
|
|
2058
2023
|
emits: ["click"],
|
|
2059
2024
|
setup(e) {
|
|
2060
|
-
let t = e, { isDark: n } =
|
|
2025
|
+
let t = e, { isDark: n } = B(), i = r(() => {
|
|
2061
2026
|
let e = {
|
|
2062
2027
|
emerald: {
|
|
2063
2028
|
dark: "text-emerald-400 hover:bg-emerald-500/10",
|
|
@@ -2137,9 +2102,9 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2137
2102
|
"aria-label": e.ariaLabel,
|
|
2138
2103
|
class: m(["inline-flex items-center justify-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-current", [e.fullWidth ? "flex-1" : "", c.value]]),
|
|
2139
2104
|
onClick: n[0] ||= (e) => t.$emit("click", e)
|
|
2140
|
-
}, [S(t.$slots, "icon", { iconClass: "w-4 h-4" }), e.label ? (y(), o("span",
|
|
2105
|
+
}, [S(t.$slots, "icon", { iconClass: "w-4 h-4" }), e.label ? (y(), o("span", Hn, T(e.label), 1)) : a("", !0)], 10, Vn));
|
|
2141
2106
|
}
|
|
2142
|
-
}),
|
|
2107
|
+
}), Wn = ["title", "aria-label"], Gn = /* @__PURE__ */ d({
|
|
2143
2108
|
__name: "BaseCopyButton",
|
|
2144
2109
|
props: {
|
|
2145
2110
|
text: {},
|
|
@@ -2150,7 +2115,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2150
2115
|
},
|
|
2151
2116
|
emits: ["copied", "error"],
|
|
2152
2117
|
setup(e, { emit: t }) {
|
|
2153
|
-
let n = e, a = t, { isDark: s } =
|
|
2118
|
+
let n = e, a = t, { isDark: s } = B(), c = b(!1), l = null, u = r(() => c.value ? "Copied!" : n.label ? `Copy ${n.label}` : "Copy"), d = r(() => n.label ? `Copy ${n.label}` : "Copy"), f = r(() => n.variant === "bordered" ? `inline-flex items-center justify-center w-9 h-9 rounded-lg border transition-colors cursor-pointer shrink-0 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 ${c.value ? s.value ? "border-emerald-500/40 bg-emerald-500/10 text-emerald-400" : "border-emerald-300 bg-emerald-50 text-emerald-600" : s.value ? "border-gray-600 text-gray-400 hover:text-gray-200 hover:bg-gray-800" : "border-gray-300 text-gray-400 hover:text-gray-600 hover:bg-gray-50"}` : `p-1 rounded transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 ${s.value ? "text-gray-400 hover:text-emerald-300 hover:bg-emerald-500/10" : "text-gray-500 hover:text-emerald-600 hover:bg-emerald-50"}`);
|
|
2154
2119
|
async function p(e) {
|
|
2155
2120
|
try {
|
|
2156
2121
|
if (navigator.clipboard?.writeText) {
|
|
@@ -2188,20 +2153,20 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2188
2153
|
key: 1,
|
|
2189
2154
|
class: m(e.iconClass),
|
|
2190
2155
|
"aria-hidden": "true"
|
|
2191
|
-
}, null, 8, ["class"]))], 10,
|
|
2156
|
+
}, null, 8, ["class"]))], 10, Wn));
|
|
2192
2157
|
}
|
|
2193
|
-
}),
|
|
2158
|
+
}), Kn = ["disabled", "aria-busy"], qn = {
|
|
2194
2159
|
key: 0,
|
|
2195
2160
|
class: "w-5 h-5 animate-spin shrink-0",
|
|
2196
2161
|
viewBox: "0 0 24 24",
|
|
2197
2162
|
fill: "none",
|
|
2198
2163
|
"aria-hidden": "true"
|
|
2199
|
-
},
|
|
2164
|
+
}, Jn = {
|
|
2200
2165
|
key: 1,
|
|
2201
2166
|
class: "w-5 h-5 shrink-0",
|
|
2202
2167
|
viewBox: "0 0 48 48",
|
|
2203
2168
|
"aria-hidden": "true"
|
|
2204
|
-
},
|
|
2169
|
+
}, Yn = /* @__PURE__ */ d({
|
|
2205
2170
|
__name: "BaseGoogleSignInButton",
|
|
2206
2171
|
props: {
|
|
2207
2172
|
label: { default: "Sign in with Google" },
|
|
@@ -2220,7 +2185,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2220
2185
|
},
|
|
2221
2186
|
emits: ["click"],
|
|
2222
2187
|
setup(e, { emit: t }) {
|
|
2223
|
-
let n = e, i = t, { isDark: a } =
|
|
2188
|
+
let n = e, i = t, { isDark: a } = B(), l = r(() => n.disabled || n.loading);
|
|
2224
2189
|
function u() {
|
|
2225
2190
|
l.value || i("click");
|
|
2226
2191
|
}
|
|
@@ -2230,7 +2195,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2230
2195
|
"aria-busy": e.loading,
|
|
2231
2196
|
onClick: u,
|
|
2232
2197
|
class: m(["inline-flex items-center justify-center gap-3 h-11 px-4 rounded-lg border text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed", [e.block ? "w-full" : "", E(a) ? "bg-gray-900 border-gray-700 text-gray-100 hover:bg-gray-800" : "bg-white border-gray-300 text-gray-700 hover:bg-gray-50"]])
|
|
2233
|
-
}, [e.loading ? (y(), o("svg",
|
|
2198
|
+
}, [e.loading ? (y(), o("svg", qn, [...n[0] ||= [s("circle", {
|
|
2234
2199
|
class: "opacity-25",
|
|
2235
2200
|
cx: "12",
|
|
2236
2201
|
cy: "12",
|
|
@@ -2241,18 +2206,18 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2241
2206
|
class: "opacity-75",
|
|
2242
2207
|
fill: "currentColor",
|
|
2243
2208
|
d: "M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z"
|
|
2244
|
-
}, null, -1)]])) : (y(), o("svg",
|
|
2209
|
+
}, null, -1)]])) : (y(), o("svg", Jn, [...n[1] ||= [c("<path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"></path><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"></path><path fill=\"#FBBC05\" d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"></path><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"></path><path fill=\"none\" d=\"M0 0h48v48H0z\"></path>", 5)]])), s("span", null, T(e.label), 1)], 10, Kn));
|
|
2245
2210
|
}
|
|
2246
|
-
}),
|
|
2211
|
+
}), Xn = {
|
|
2247
2212
|
key: 0,
|
|
2248
2213
|
class: "flex justify-center mb-6"
|
|
2249
|
-
},
|
|
2214
|
+
}, Zn = { class: "mb-6 text-center" }, Qn = { class: "flex items-center gap-3 my-5" }, $n = ["disabled"], er = { class: "flex items-center justify-between mb-1.5" }, tr = { class: "relative" }, nr = ["type", "disabled"], rr = ["aria-label", "aria-pressed"], ir = ["disabled"], ar = ["disabled", "aria-busy"], or = {
|
|
2250
2215
|
key: 0,
|
|
2251
2216
|
class: "w-4 h-4 animate-spin",
|
|
2252
2217
|
viewBox: "0 0 24 24",
|
|
2253
2218
|
fill: "none",
|
|
2254
2219
|
"aria-hidden": "true"
|
|
2255
|
-
},
|
|
2220
|
+
}, sr = /* @__PURE__ */ d({
|
|
2256
2221
|
__name: "BaseLoginForm",
|
|
2257
2222
|
props: {
|
|
2258
2223
|
title: { default: "Sign in" },
|
|
@@ -2278,7 +2243,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2278
2243
|
},
|
|
2279
2244
|
emits: ["submit", "google-sign-in"],
|
|
2280
2245
|
setup(t, { emit: n }) {
|
|
2281
|
-
let i = t, c = n, { isDark: d } =
|
|
2246
|
+
let i = t, c = n, { isDark: d } = B(), f = J(), p = b(""), h = b(""), g = b(!1), _ = b(!1), v = r(() => i.loading || i.googleLoading);
|
|
2282
2247
|
function x() {
|
|
2283
2248
|
v.value || c("submit", {
|
|
2284
2249
|
email: p.value,
|
|
@@ -2287,8 +2252,8 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2287
2252
|
});
|
|
2288
2253
|
}
|
|
2289
2254
|
return (n, r) => (y(), o("div", { class: m(["w-full max-w-sm mx-auto rounded-xl border shadow-sm p-6 sm:p-8", E(f).card]) }, [
|
|
2290
|
-
n.$slots.logo ? (y(), o("div",
|
|
2291
|
-
s("div",
|
|
2255
|
+
n.$slots.logo ? (y(), o("div", Xn, [S(n.$slots, "logo")])) : a("", !0),
|
|
2256
|
+
s("div", Zn, [s("h1", { class: m(["text-xl font-semibold", E(f).primaryText]) }, T(t.title), 3), t.subtitle ? (y(), o("p", {
|
|
2292
2257
|
key: 0,
|
|
2293
2258
|
class: m(["mt-1 text-sm", E(f).mutedText])
|
|
2294
2259
|
}, T(t.subtitle), 3)) : a("", !0)]),
|
|
@@ -2297,11 +2262,11 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2297
2262
|
role: "alert",
|
|
2298
2263
|
class: m(["mb-4 rounded-lg border px-3 py-2 text-sm", E(d) ? "bg-red-500/10 border-red-500/30 text-red-300" : "bg-red-50 border-red-200 text-red-700"])
|
|
2299
2264
|
}, T(t.error), 3)) : a("", !0),
|
|
2300
|
-
t.showGoogle ? (y(), o(e, { key: 2 }, [u(
|
|
2265
|
+
t.showGoogle ? (y(), o(e, { key: 2 }, [u(Yn, {
|
|
2301
2266
|
loading: t.googleLoading,
|
|
2302
2267
|
disabled: t.loading,
|
|
2303
2268
|
onClick: r[0] ||= (e) => c("google-sign-in")
|
|
2304
|
-
}, null, 8, ["loading", "disabled"]), s("div",
|
|
2269
|
+
}, null, 8, ["loading", "disabled"]), s("div", Qn, [
|
|
2305
2270
|
s("span", { class: m(["h-px flex-1", E(d) ? "bg-gray-700" : "bg-gray-200"]) }, null, 2),
|
|
2306
2271
|
s("span", { class: m(["text-xs uppercase tracking-wider", E(f).dimTextAlt]) }, "or", 2),
|
|
2307
2272
|
s("span", { class: m(["h-px flex-1", E(d) ? "bg-gray-700" : "bg-gray-200"]) }, null, 2)
|
|
@@ -2323,11 +2288,11 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2323
2288
|
disabled: v.value,
|
|
2324
2289
|
placeholder: "you@example.com",
|
|
2325
2290
|
class: m(["w-full h-11 px-3 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60", E(f).inputWithPlaceholder])
|
|
2326
|
-
}, null, 10,
|
|
2327
|
-
s("div", null, [s("div",
|
|
2291
|
+
}, null, 10, $n), [[A, p.value]])]),
|
|
2292
|
+
s("div", null, [s("div", er, [s("label", {
|
|
2328
2293
|
for: "login-password",
|
|
2329
2294
|
class: m(["block text-sm font-medium", E(f).label])
|
|
2330
|
-
}, " Password ", 2), S(n.$slots, "forgot")]), s("div",
|
|
2295
|
+
}, " Password ", 2), S(n.$slots, "forgot")]), s("div", tr, [N(s("input", {
|
|
2331
2296
|
id: "login-password",
|
|
2332
2297
|
"onUpdate:modelValue": r[2] ||= (e) => h.value = e,
|
|
2333
2298
|
type: _.value ? "text" : "password",
|
|
@@ -2337,13 +2302,13 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2337
2302
|
disabled: v.value,
|
|
2338
2303
|
placeholder: "••••••••",
|
|
2339
2304
|
class: m(["w-full h-11 pl-3 pr-16 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60", E(f).inputWithPlaceholder])
|
|
2340
|
-
}, null, 10,
|
|
2305
|
+
}, null, 10, nr), [[k, h.value]]), s("button", {
|
|
2341
2306
|
type: "button",
|
|
2342
2307
|
onClick: r[3] ||= (e) => _.value = !_.value,
|
|
2343
2308
|
"aria-label": _.value ? "Hide password" : "Show password",
|
|
2344
2309
|
"aria-pressed": _.value,
|
|
2345
2310
|
class: m(["absolute inset-y-0 right-0 px-3 text-xs font-medium cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 rounded-r-lg", E(f).mutedText])
|
|
2346
|
-
}, T(_.value ? "Hide" : "Show"), 11,
|
|
2311
|
+
}, T(_.value ? "Hide" : "Show"), 11, rr)])]),
|
|
2347
2312
|
t.showRemember ? (y(), o("label", {
|
|
2348
2313
|
key: 0,
|
|
2349
2314
|
class: m(["flex items-center gap-2 text-sm cursor-pointer select-none", E(f).bodyText])
|
|
@@ -2352,13 +2317,13 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2352
2317
|
type: "checkbox",
|
|
2353
2318
|
disabled: v.value,
|
|
2354
2319
|
class: "w-4 h-4 rounded border-gray-300 text-emerald-600 focus:ring-emerald-500"
|
|
2355
|
-
}, null, 8,
|
|
2320
|
+
}, null, 8, ir), [[O, g.value]]), r[5] ||= l(" Remember me ", -1)], 2)) : a("", !0),
|
|
2356
2321
|
s("button", {
|
|
2357
2322
|
type: "submit",
|
|
2358
2323
|
disabled: v.value,
|
|
2359
2324
|
"aria-busy": t.loading,
|
|
2360
2325
|
class: "inline-flex items-center justify-center gap-2 w-full h-11 px-4 rounded-lg text-sm font-semibold text-white bg-emerald-600 hover:bg-emerald-700 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed"
|
|
2361
|
-
}, [t.loading ? (y(), o("svg",
|
|
2326
|
+
}, [t.loading ? (y(), o("svg", or, [...r[6] ||= [s("circle", {
|
|
2362
2327
|
class: "opacity-25",
|
|
2363
2328
|
cx: "12",
|
|
2364
2329
|
cy: "12",
|
|
@@ -2369,7 +2334,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2369
2334
|
class: "opacity-75",
|
|
2370
2335
|
fill: "currentColor",
|
|
2371
2336
|
d: "M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z"
|
|
2372
|
-
}, null, -1)]])) : a("", !0), l(" " + T(t.submitLabel), 1)], 8,
|
|
2337
|
+
}, null, -1)]])) : a("", !0), l(" " + T(t.submitLabel), 1)], 8, ar)
|
|
2373
2338
|
], 32),
|
|
2374
2339
|
n.$slots.footer ? (y(), o("div", {
|
|
2375
2340
|
key: 3,
|
|
@@ -2377,10 +2342,10 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2377
2342
|
}, [S(n.$slots, "footer")], 2)) : a("", !0)
|
|
2378
2343
|
], 2));
|
|
2379
2344
|
}
|
|
2380
|
-
}),
|
|
2345
|
+
}), cr = ["aria-label"], lr = { class: "flex-1 overflow-y-auto" }, ur = {
|
|
2381
2346
|
key: 0,
|
|
2382
2347
|
class: "flex flex-col items-center justify-center text-center px-6 py-16 gap-3"
|
|
2383
|
-
},
|
|
2348
|
+
}, dr = ["onClick"], fr = { class: "min-w-0 flex-1" }, pr = { class: "flex items-baseline justify-between gap-2" }, mr = /* @__PURE__ */ d({
|
|
2384
2349
|
__name: "BaseNotificationPanel",
|
|
2385
2350
|
props: {
|
|
2386
2351
|
title: { default: "Notifications" },
|
|
@@ -2392,7 +2357,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2392
2357
|
},
|
|
2393
2358
|
emits: ["select"],
|
|
2394
2359
|
setup(c, { emit: d }) {
|
|
2395
|
-
let f = d, { isDark: p } =
|
|
2360
|
+
let f = d, { isDark: p } = B(), h = J(), { notifications: g, unreadCount: _, open: v, closePanel: b, markAllRead: S, markRead: C } = on(), w = {
|
|
2396
2361
|
info: "bg-sky-500",
|
|
2397
2362
|
success: "bg-emerald-500",
|
|
2398
2363
|
warning: "bg-amber-500",
|
|
@@ -2434,7 +2399,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2434
2399
|
onClick: d[1] ||= (...e) => E(b) && E(b)(...e),
|
|
2435
2400
|
"aria-label": "Close notifications",
|
|
2436
2401
|
class: m(["p-1.5 rounded-lg cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", E(p) ? "text-gray-400 hover:bg-gray-800" : "text-gray-500 hover:bg-gray-100"])
|
|
2437
|
-
}, [u(E(
|
|
2402
|
+
}, [u(E(be), {
|
|
2438
2403
|
class: "w-5 h-5",
|
|
2439
2404
|
"aria-hidden": "true"
|
|
2440
2405
|
})], 2)], 2),
|
|
@@ -2446,7 +2411,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2446
2411
|
onClick: d[2] ||= (...e) => E(S) && E(S)(...e),
|
|
2447
2412
|
class: m(["text-xs font-medium cursor-pointer transition-colors focus:outline-none focus-visible:underline", E(h).emeraldText])
|
|
2448
2413
|
}, " Mark all as read ", 2)], 2)) : a("", !0),
|
|
2449
|
-
s("div",
|
|
2414
|
+
s("div", lr, [D.value === 0 ? (y(), o("div", ur, [u(E(ie), {
|
|
2450
2415
|
class: m(["w-10 h-10", E(h).illustration]),
|
|
2451
2416
|
"aria-hidden": "true"
|
|
2452
2417
|
}, null, 8, ["class"]), s("p", { class: m(["text-sm", E(h).mutedText]) }, T(c.emptyText), 3)])) : (y(), o("ul", {
|
|
@@ -2459,18 +2424,74 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2459
2424
|
}, [s("span", {
|
|
2460
2425
|
class: m(["mt-1.5 w-2 h-2 rounded-full shrink-0", e.read ? E(p) ? "bg-gray-700" : "bg-gray-300" : w[e.type ?? "info"]]),
|
|
2461
2426
|
"aria-hidden": "true"
|
|
2462
|
-
}, null, 2), s("span",
|
|
2427
|
+
}, null, 2), s("span", fr, [s("span", pr, [s("span", { class: m(["text-sm truncate", [e.read ? "font-medium" : "font-semibold", E(h).primaryTextSoft]]) }, T(e.title), 3), e.time ? (y(), o("span", {
|
|
2463
2428
|
key: 0,
|
|
2464
2429
|
class: m(["text-xs shrink-0", E(h).dimText])
|
|
2465
2430
|
}, T(e.time), 3)) : a("", !0)]), e.message ? (y(), o("span", {
|
|
2466
2431
|
key: 0,
|
|
2467
2432
|
class: m(["mt-0.5 block text-sm", E(h).mutedText])
|
|
2468
|
-
}, T(e.message), 3)) : a("", !0)])], 10,
|
|
2469
|
-
], 10,
|
|
2433
|
+
}, T(e.message), 3)) : a("", !0)])], 10, dr)]))), 128))], 2))])
|
|
2434
|
+
], 10, cr)) : a("", !0)]),
|
|
2470
2435
|
_: 1
|
|
2471
2436
|
})]));
|
|
2472
2437
|
}
|
|
2473
|
-
}),
|
|
2438
|
+
}), hr = ["disabled"], gr = /* @__PURE__ */ d({
|
|
2439
|
+
__name: "BaseChipButton",
|
|
2440
|
+
props: {
|
|
2441
|
+
size: { default: "sm" },
|
|
2442
|
+
disabled: {
|
|
2443
|
+
type: Boolean,
|
|
2444
|
+
default: !1
|
|
2445
|
+
}
|
|
2446
|
+
},
|
|
2447
|
+
emits: ["click"],
|
|
2448
|
+
setup(e, { emit: t }) {
|
|
2449
|
+
let n = t, { isDark: r } = B();
|
|
2450
|
+
return (t, i) => (y(), o("button", {
|
|
2451
|
+
type: "button",
|
|
2452
|
+
disabled: e.disabled,
|
|
2453
|
+
class: m(["inline-flex items-center gap-1 font-medium rounded-md border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500", [e.size === "xs" ? "text-xs px-2 py-0.5" : "text-xs px-2.5 py-1", E(r) ? "text-emerald-300 border-emerald-700 bg-emerald-900/30 hover:bg-emerald-800/50" : "text-emerald-700 border-emerald-200 bg-emerald-50 hover:bg-emerald-100"]]),
|
|
2454
|
+
onClick: i[0] ||= (e) => n("click")
|
|
2455
|
+
}, [S(t.$slots, "default")], 10, hr));
|
|
2456
|
+
}
|
|
2457
|
+
}), _r = /* @__PURE__ */ d({
|
|
2458
|
+
__name: "BaseRemoveButton",
|
|
2459
|
+
emits: ["click"],
|
|
2460
|
+
setup(e, { emit: t }) {
|
|
2461
|
+
let n = t;
|
|
2462
|
+
return (e, t) => (y(), o("button", {
|
|
2463
|
+
type: "button",
|
|
2464
|
+
class: "px-2 text-lg leading-none text-red-400 hover:text-red-600 transition-colors cursor-pointer rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-red-400 disabled:cursor-not-allowed disabled:text-gray-400 disabled:hover:text-gray-400",
|
|
2465
|
+
onClick: t[0] ||= (e) => n("click")
|
|
2466
|
+
}, " × "));
|
|
2467
|
+
}
|
|
2468
|
+
}), vr = { class: "relative flex h-2 w-2" }, yr = {
|
|
2469
|
+
key: 0,
|
|
2470
|
+
class: "animate-ping absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75",
|
|
2471
|
+
"aria-hidden": "true"
|
|
2472
|
+
}, br = /* @__PURE__ */ d({
|
|
2473
|
+
__name: "BaseStatusPill",
|
|
2474
|
+
props: {
|
|
2475
|
+
status: {},
|
|
2476
|
+
label: {}
|
|
2477
|
+
},
|
|
2478
|
+
setup(e) {
|
|
2479
|
+
let t = e, { isDark: n } = B(), i = r(() => {
|
|
2480
|
+
switch (t.status) {
|
|
2481
|
+
case "ok": return n.value ? "bg-emerald-500/10 text-emerald-400" : "bg-emerald-50 text-emerald-700";
|
|
2482
|
+
case "error": return n.value ? "bg-red-500/10 text-red-400" : "bg-red-50 text-red-700";
|
|
2483
|
+
default: return n.value ? "bg-gray-700 text-gray-400" : "bg-gray-100 text-gray-500";
|
|
2484
|
+
}
|
|
2485
|
+
}), c = r(() => {
|
|
2486
|
+
switch (t.status) {
|
|
2487
|
+
case "ok": return "bg-emerald-500";
|
|
2488
|
+
case "error": return "bg-red-500";
|
|
2489
|
+
default: return "bg-gray-400";
|
|
2490
|
+
}
|
|
2491
|
+
});
|
|
2492
|
+
return (t, n) => (y(), o("div", { class: m(["flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs", i.value]) }, [s("span", vr, [e.status === "ok" ? (y(), o("span", yr)) : a("", !0), s("span", { class: m(["relative inline-flex rounded-full h-2 w-2", c.value]) }, null, 2)]), l(" " + T(e.label), 1)], 2));
|
|
2493
|
+
}
|
|
2494
|
+
}), xr = ["value", "type"], Sr = /* @__PURE__ */ d({
|
|
2474
2495
|
__name: "BaseInput",
|
|
2475
2496
|
props: {
|
|
2476
2497
|
modelValue: { default: "" },
|
|
@@ -2492,9 +2513,9 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2492
2513
|
type: e.type,
|
|
2493
2514
|
class: m(["rounded border border-slate-300 dark:border-slate-600 bg-slate-50 dark:bg-slate-900 text-slate-900 dark:text-slate-100 text-sm placeholder:text-slate-400 dark:placeholder:text-slate-500 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 focus-visible:border-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed", [e.block ? "w-full" : "", e.size === "sm" ? "px-2 py-1.5" : "px-3 py-2"]]),
|
|
2494
2515
|
onInput: r
|
|
2495
|
-
}, null, 42,
|
|
2516
|
+
}, null, 42, xr));
|
|
2496
2517
|
}
|
|
2497
|
-
}),
|
|
2518
|
+
}), Cr = ["value"], wr = /* @__PURE__ */ d({
|
|
2498
2519
|
__name: "BaseSelect",
|
|
2499
2520
|
props: {
|
|
2500
2521
|
modelValue: { default: void 0 },
|
|
@@ -2514,13 +2535,13 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2514
2535
|
value: e.modelValue,
|
|
2515
2536
|
class: m(["rounded border border-slate-300 dark:border-slate-600 bg-slate-50 dark:bg-slate-900 text-slate-900 dark:text-slate-100 text-sm cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 focus-visible:border-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed", [e.block ? "w-full" : "", e.size === "md" ? "px-3 py-2" : "px-2 py-1.5"]]),
|
|
2516
2537
|
onChange: r
|
|
2517
|
-
}, [S(t.$slots, "default")], 42,
|
|
2538
|
+
}, [S(t.$slots, "default")], 42, Cr));
|
|
2518
2539
|
}
|
|
2519
|
-
}),
|
|
2540
|
+
}), Tr = [
|
|
2520
2541
|
"disabled",
|
|
2521
2542
|
"aria-label",
|
|
2522
2543
|
"aria-expanded"
|
|
2523
|
-
],
|
|
2544
|
+
], Er = ["aria-label"], Dr = ["aria-selected", "title"], Or = ["disabled", "onClick"], kr = /* @__PURE__ */ d({
|
|
2524
2545
|
__name: "BaseDropdown",
|
|
2525
2546
|
props: {
|
|
2526
2547
|
options: {},
|
|
@@ -2570,7 +2591,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2570
2591
|
}, [s("span", { class: m(["min-w-0 truncate", f.value ? "" : "text-slate-400 dark:text-slate-500"]) }, T(f.value ? f.value.label : t.placeholder), 3), u(E(ce), {
|
|
2571
2592
|
class: m(["w-5 h-5 shrink-0 text-slate-500 dark:text-slate-400 transition-transform", l.value ? "rotate-180" : ""]),
|
|
2572
2593
|
"aria-hidden": "true"
|
|
2573
|
-
}, null, 8, ["class"])], 10,
|
|
2594
|
+
}, null, 8, ["class"])], 10, Tr), l.value ? (y(), o("ul", {
|
|
2574
2595
|
key: 0,
|
|
2575
2596
|
role: "listbox",
|
|
2576
2597
|
"aria-label": t.ariaLabel || t.placeholder,
|
|
@@ -2585,13 +2606,13 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2585
2606
|
disabled: e.disabled,
|
|
2586
2607
|
class: m(_(e)),
|
|
2587
2608
|
onClick: (t) => S(e)
|
|
2588
|
-
}, T(e.label), 11,
|
|
2609
|
+
}, T(e.label), 11, Or)], 8, Dr))), 128))], 8, Er)) : a("", !0)], 2));
|
|
2589
2610
|
}
|
|
2590
|
-
}),
|
|
2611
|
+
}), Ar = ["role", "aria-label"], jr = [
|
|
2591
2612
|
"aria-pressed",
|
|
2592
2613
|
"title",
|
|
2593
2614
|
"onClick"
|
|
2594
|
-
],
|
|
2615
|
+
], Mr = "bg-slate-50 dark:bg-slate-900 text-slate-600 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-800", Nr = /* @__PURE__ */ d({
|
|
2595
2616
|
__name: "BaseSegmentedControl",
|
|
2596
2617
|
props: {
|
|
2597
2618
|
options: {},
|
|
@@ -2608,7 +2629,7 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2608
2629
|
let i = t, a = n, s = r(() => i.variant === "toolbar" ? "inline-flex h-9 divide-x divide-slate-300 dark:divide-slate-600 rounded-md border border-slate-300 dark:border-slate-600 overflow-hidden" : "inline-flex rounded border border-slate-300 dark:border-slate-600 overflow-hidden"), c = r(() => i.variant === "toolbar" ? "flex items-center px-3.5 text-xs font-semibold uppercase tracking-wide transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500" : `${i.variant === "wide" ? "px-4 py-2" : "px-3 py-2"} text-sm font-medium transition-colors cursor-pointer border-l first:border-l-0 border-slate-300 dark:border-slate-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500`), l = r(() => i.variant === "wide" ? "bg-emerald-600 text-white" : "bg-emerald-500 text-white");
|
|
2609
2630
|
function u(e) {
|
|
2610
2631
|
let t = e.value === i.modelValue;
|
|
2611
|
-
return i.optionClass ? i.optionClass(e, t) : t ? l.value :
|
|
2632
|
+
return i.optionClass ? i.optionClass(e, t) : t ? l.value : Mr;
|
|
2612
2633
|
}
|
|
2613
2634
|
return (n, r) => (y(), o("div", {
|
|
2614
2635
|
role: t.ariaLabel ? "group" : void 0,
|
|
@@ -2621,9 +2642,9 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2621
2642
|
"aria-pressed": e.value === t.modelValue,
|
|
2622
2643
|
title: e.title,
|
|
2623
2644
|
onClick: (t) => a("update:modelValue", e.value)
|
|
2624
|
-
}, T(e.label), 11,
|
|
2645
|
+
}, T(e.label), 11, jr))), 128))], 10, Ar));
|
|
2625
2646
|
}
|
|
2626
|
-
}),
|
|
2647
|
+
}), Pr = { class: "w-full text-sm" }, Fr = { class: "bg-slate-50 dark:bg-slate-800/60 text-slate-600 dark:text-slate-300" }, Ir = { class: "text-left" }, Lr = { key: 0 }, Rr = ["colspan"], zr = /* @__PURE__ */ d({
|
|
2627
2648
|
__name: "BaseTable",
|
|
2628
2649
|
props: {
|
|
2629
2650
|
columns: {},
|
|
@@ -2634,24 +2655,24 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2634
2655
|
emptyText: { default: "No rows." }
|
|
2635
2656
|
},
|
|
2636
2657
|
setup(t) {
|
|
2637
|
-
return (n, r) => (y(), o("table",
|
|
2658
|
+
return (n, r) => (y(), o("table", Pr, [s("thead", Fr, [s("tr", Ir, [(y(!0), o(e, null, x(t.columns, (e, t) => (y(), o("th", {
|
|
2638
2659
|
key: t,
|
|
2639
2660
|
class: m(["px-4 py-3", e.align === "right" ? "text-right" : ""])
|
|
2640
|
-
}, T(e.label), 3))), 128))])]), s("tbody", null, [t.empty ? (y(), o("tr",
|
|
2661
|
+
}, T(e.label), 3))), 128))])]), s("tbody", null, [t.empty ? (y(), o("tr", Lr, [s("td", {
|
|
2641
2662
|
colspan: t.columns.length,
|
|
2642
2663
|
class: "px-4 py-12 text-center text-slate-500"
|
|
2643
|
-
}, [S(n.$slots, "empty", {}, () => [l(T(t.emptyText), 1)])], 8,
|
|
2664
|
+
}, [S(n.$slots, "empty", {}, () => [l(T(t.emptyText), 1)])], 8, Rr)])) : a("", !0), S(n.$slots, "default")])]));
|
|
2644
2665
|
}
|
|
2645
|
-
}),
|
|
2666
|
+
}), Br = { class: "grid gap-3 md:grid-cols-2" }, Vr = {
|
|
2646
2667
|
key: 0,
|
|
2647
2668
|
class: "block text-[11px] uppercase tracking-wide text-slate-500 mb-1"
|
|
2648
|
-
},
|
|
2669
|
+
}, Hr = ["value"], Ur = {
|
|
2649
2670
|
key: 2,
|
|
2650
2671
|
class: "flex items-center gap-2 mt-4"
|
|
2651
|
-
},
|
|
2672
|
+
}, Wr = ["checked", "onChange"], Gr = { class: "text-sm text-slate-900 dark:text-slate-100" }, Kr = {
|
|
2652
2673
|
key: 4,
|
|
2653
2674
|
class: "text-[11px] text-slate-400 mt-1"
|
|
2654
|
-
},
|
|
2675
|
+
}, qr = /* @__PURE__ */ d({
|
|
2655
2676
|
__name: "BaseSpecFields",
|
|
2656
2677
|
props: {
|
|
2657
2678
|
specs: {},
|
|
@@ -2667,9 +2688,9 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2667
2688
|
let n = parseFloat(t);
|
|
2668
2689
|
r("update", e, Number.isNaN(n) ? t : n);
|
|
2669
2690
|
}
|
|
2670
|
-
return (n, u) => (y(), o("div",
|
|
2671
|
-
u.type === "boolean" ? a("", !0) : (y(), o("label",
|
|
2672
|
-
u.type === "select" ? (y(), i(
|
|
2691
|
+
return (n, u) => (y(), o("div", Br, [(y(!0), o(e, null, x(t.specs, (u) => (y(), o("div", { key: u.key }, [
|
|
2692
|
+
u.type === "boolean" ? a("", !0) : (y(), o("label", Vr, T(u.label), 1)),
|
|
2693
|
+
u.type === "select" ? (y(), i(wr, {
|
|
2673
2694
|
key: 1,
|
|
2674
2695
|
modelValue: String(t.params[u.key] ?? ""),
|
|
2675
2696
|
"onUpdate:modelValue": (e) => r("update", u.key, e)
|
|
@@ -2677,14 +2698,14 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2677
2698
|
default: M(() => [(y(!0), o(e, null, x(u.options ?? [], (e) => (y(), o("option", {
|
|
2678
2699
|
key: e,
|
|
2679
2700
|
value: e
|
|
2680
|
-
}, T(e), 9,
|
|
2701
|
+
}, T(e), 9, Hr))), 128))]),
|
|
2681
2702
|
_: 2
|
|
2682
|
-
}, 1032, ["modelValue", "onUpdate:modelValue"])) : u.type === "boolean" ? (y(), o("label",
|
|
2703
|
+
}, 1032, ["modelValue", "onUpdate:modelValue"])) : u.type === "boolean" ? (y(), o("label", Ur, [s("input", {
|
|
2683
2704
|
checked: !!t.params[u.key],
|
|
2684
2705
|
type: "checkbox",
|
|
2685
2706
|
class: "h-4 w-4",
|
|
2686
2707
|
onChange: (e) => c(u.key, e)
|
|
2687
|
-
}, null, 40,
|
|
2708
|
+
}, null, 40, Wr), s("span", Gr, T(u.label), 1)])) : (y(), i(Sr, {
|
|
2688
2709
|
key: 3,
|
|
2689
2710
|
modelValue: t.params[u.key],
|
|
2690
2711
|
type: "number",
|
|
@@ -2697,11 +2718,11 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2697
2718
|
"min",
|
|
2698
2719
|
"onUpdate:modelValue"
|
|
2699
2720
|
])),
|
|
2700
|
-
u.help ? (y(), o("p",
|
|
2721
|
+
u.help ? (y(), o("p", Kr, T(u.help), 1)) : a("", !0),
|
|
2701
2722
|
S(n.$slots, "after", { spec: u })
|
|
2702
2723
|
]))), 128))]));
|
|
2703
2724
|
}
|
|
2704
|
-
}),
|
|
2725
|
+
}), Jr = { class: "mt-1.5 space-y-0.5 px-1" }, Yr = { class: "text-slate-400 dark:text-slate-500" }, Xr = /* @__PURE__ */ d({
|
|
2705
2726
|
__name: "BaseStatBreakdown",
|
|
2706
2727
|
props: {
|
|
2707
2728
|
items: {},
|
|
@@ -2720,15 +2741,15 @@ var cn = ["aria-label", "aria-expanded"], ln = { class: "flex flex-col h-full" }
|
|
|
2720
2741
|
function i(e) {
|
|
2721
2742
|
return !n.signed || e == null ? "text-slate-500 dark:text-slate-400" : e >= 0 ? "text-emerald-600 dark:text-emerald-400" : "text-red-600 dark:text-red-400";
|
|
2722
2743
|
}
|
|
2723
|
-
return (n, a) => (y(), o("div",
|
|
2744
|
+
return (n, a) => (y(), o("div", Jr, [(y(!0), o(e, null, x(t.items, (e) => (y(), o("div", {
|
|
2724
2745
|
key: e.label,
|
|
2725
2746
|
class: "flex items-center justify-between text-[11px]"
|
|
2726
|
-
}, [s("span",
|
|
2747
|
+
}, [s("span", Yr, T(e.label), 1), s("span", { class: m(["font-mono tabular-nums font-medium", i(e.value)]) }, T(r(e.value)), 3)]))), 128))]));
|
|
2727
2748
|
}
|
|
2728
2749
|
});
|
|
2729
2750
|
//#endregion
|
|
2730
2751
|
//#region src/composables/useDebounce.ts
|
|
2731
|
-
function
|
|
2752
|
+
function Zr(e, t = 300) {
|
|
2732
2753
|
let n = b(e.value), r = null;
|
|
2733
2754
|
return j(e, (e) => {
|
|
2734
2755
|
r && clearTimeout(r), r = setTimeout(() => {
|
|
@@ -2740,7 +2761,7 @@ function Kr(e, t = 300) {
|
|
|
2740
2761
|
}
|
|
2741
2762
|
//#endregion
|
|
2742
2763
|
//#region src/composables/useToast.ts
|
|
2743
|
-
function
|
|
2764
|
+
function Qr(e = 3e3) {
|
|
2744
2765
|
let t = b(!1), n = b(""), r = b(K.SUCCESS), i = null;
|
|
2745
2766
|
function a() {
|
|
2746
2767
|
i &&= (clearTimeout(i), null);
|
|
@@ -2761,16 +2782,66 @@ function qr(e = 3e3) {
|
|
|
2761
2782
|
}
|
|
2762
2783
|
//#endregion
|
|
2763
2784
|
//#region src/enums/BaseBadgeEnum.ts
|
|
2764
|
-
var
|
|
2785
|
+
var $r = /* @__PURE__ */ function(e) {
|
|
2765
2786
|
return e.WIN = "WIN", e.LOSE = "LOSE", e;
|
|
2766
|
-
}({})
|
|
2787
|
+
}({});
|
|
2788
|
+
//#endregion
|
|
2789
|
+
//#region src/utils/util.ts
|
|
2790
|
+
function ei(e) {
|
|
2791
|
+
let t = "red";
|
|
2792
|
+
switch (e) {
|
|
2793
|
+
case L.ERROR:
|
|
2794
|
+
t = "red";
|
|
2795
|
+
break;
|
|
2796
|
+
case L.SUCCESS:
|
|
2797
|
+
t = "green";
|
|
2798
|
+
break;
|
|
2799
|
+
case L.INFO:
|
|
2800
|
+
t = "gray";
|
|
2801
|
+
break;
|
|
2802
|
+
case L.WARNING:
|
|
2803
|
+
t = "yellow";
|
|
2804
|
+
break;
|
|
2805
|
+
}
|
|
2806
|
+
return t;
|
|
2807
|
+
}
|
|
2808
|
+
function ti(e) {
|
|
2809
|
+
let t = "red";
|
|
2810
|
+
switch (e) {
|
|
2811
|
+
case V.GREEN:
|
|
2812
|
+
t = "green";
|
|
2813
|
+
break;
|
|
2814
|
+
case V.RED:
|
|
2815
|
+
t = "red";
|
|
2816
|
+
break;
|
|
2817
|
+
case V.BLUE:
|
|
2818
|
+
t = "blue";
|
|
2819
|
+
break;
|
|
2820
|
+
case V.YELLOW:
|
|
2821
|
+
t = "yellow";
|
|
2822
|
+
break;
|
|
2823
|
+
case V.BLACK:
|
|
2824
|
+
t = "black";
|
|
2825
|
+
break;
|
|
2826
|
+
case V.GRAY:
|
|
2827
|
+
t = "gray";
|
|
2828
|
+
break;
|
|
2829
|
+
case V.NONE:
|
|
2830
|
+
t = "";
|
|
2831
|
+
break;
|
|
2832
|
+
}
|
|
2833
|
+
return t;
|
|
2834
|
+
}
|
|
2835
|
+
//#endregion
|
|
2836
|
+
//#region src/utils/httpColors.ts
|
|
2837
|
+
var ni = {
|
|
2767
2838
|
GET: "bg-blue-600",
|
|
2768
2839
|
POST: "bg-emerald-600",
|
|
2769
2840
|
PUT: "bg-amber-600",
|
|
2770
2841
|
DELETE: "bg-red-600",
|
|
2771
2842
|
PATCH: "bg-purple-600",
|
|
2772
2843
|
HEAD: "bg-gray-600"
|
|
2773
|
-
},
|
|
2844
|
+
}, ri = {
|
|
2774
2845
|
GET: "bg-blue-500",
|
|
2775
2846
|
POST: "bg-green-500",
|
|
2776
2847
|
PUT: "bg-yellow-500",
|
|
@@ -2778,23 +2849,23 @@ var Jr = /* @__PURE__ */ function(e) {
|
|
|
2778
2849
|
PATCH: "bg-purple-500",
|
|
2779
2850
|
HEAD: "bg-gray-500"
|
|
2780
2851
|
};
|
|
2781
|
-
function
|
|
2782
|
-
return e ?
|
|
2852
|
+
function ii(e) {
|
|
2853
|
+
return e ? ni[e.toUpperCase()] ?? "bg-gray-600" : "bg-gray-600";
|
|
2783
2854
|
}
|
|
2784
|
-
function
|
|
2785
|
-
return e ?
|
|
2855
|
+
function ai(e) {
|
|
2856
|
+
return e ? ri[e.toUpperCase()] ?? "bg-gray-500" : "bg-gray-500";
|
|
2786
2857
|
}
|
|
2787
|
-
function
|
|
2858
|
+
function oi(e) {
|
|
2788
2859
|
let t = e ?? 0;
|
|
2789
2860
|
return t >= 200 && t < 300 ? "bg-emerald-600" : t >= 300 && t < 400 ? "bg-blue-600" : t >= 400 && t < 500 ? "bg-amber-600" : t >= 500 ? "bg-red-600" : "bg-gray-600";
|
|
2790
2861
|
}
|
|
2791
|
-
function
|
|
2862
|
+
function si(e, t) {
|
|
2792
2863
|
let n = e ?? 200;
|
|
2793
2864
|
return t ? n >= 200 && n < 300 ? "bg-green-500/15 text-green-400" : n >= 300 && n < 400 ? "bg-blue-500/15 text-blue-400" : n >= 400 && n < 500 ? "bg-yellow-500/15 text-yellow-400" : "bg-red-500/15 text-red-400" : n >= 200 && n < 300 ? "bg-green-100 text-green-800" : n >= 300 && n < 400 ? "bg-blue-100 text-blue-800" : n >= 400 && n < 500 ? "bg-yellow-100 text-yellow-800" : "bg-red-100 text-red-800";
|
|
2794
2865
|
}
|
|
2795
2866
|
//#endregion
|
|
2796
2867
|
//#region src/utils/sanitizeHtml.ts
|
|
2797
|
-
var
|
|
2868
|
+
var ci = /* @__PURE__ */ new Set([
|
|
2798
2869
|
"A",
|
|
2799
2870
|
"B",
|
|
2800
2871
|
"STRONG",
|
|
@@ -2809,7 +2880,7 @@ var ti = /* @__PURE__ */ new Set([
|
|
|
2809
2880
|
"LI",
|
|
2810
2881
|
"SPAN",
|
|
2811
2882
|
"DIV"
|
|
2812
|
-
]),
|
|
2883
|
+
]), li = /* @__PURE__ */ new Set([
|
|
2813
2884
|
"SCRIPT",
|
|
2814
2885
|
"STYLE",
|
|
2815
2886
|
"IFRAME",
|
|
@@ -2817,53 +2888,53 @@ var ti = /* @__PURE__ */ new Set([
|
|
|
2817
2888
|
"EMBED",
|
|
2818
2889
|
"NOSCRIPT",
|
|
2819
2890
|
"TEMPLATE"
|
|
2820
|
-
]),
|
|
2821
|
-
function
|
|
2891
|
+
]), ui = { A: /* @__PURE__ */ new Set(["href", "title"]) };
|
|
2892
|
+
function di(e) {
|
|
2822
2893
|
let t = e.trim().toLowerCase();
|
|
2823
2894
|
return t.startsWith("http://") || t.startsWith("https://") || t.startsWith("mailto:") || t.startsWith("tel:") || t.startsWith("/") || t.startsWith("#") || t === "";
|
|
2824
2895
|
}
|
|
2825
|
-
function
|
|
2896
|
+
function fi(e) {
|
|
2826
2897
|
if (e.nodeType !== Node.ELEMENT_NODE) return;
|
|
2827
2898
|
let t = e, n = t.tagName.toUpperCase();
|
|
2828
|
-
if (!
|
|
2829
|
-
|
|
2899
|
+
if (!ci.has(n)) {
|
|
2900
|
+
li.has(n) ? t.remove() : t.replaceWith(document.createTextNode(t.textContent ?? ""));
|
|
2830
2901
|
return;
|
|
2831
2902
|
}
|
|
2832
|
-
let r =
|
|
2903
|
+
let r = ui[n] ?? /* @__PURE__ */ new Set();
|
|
2833
2904
|
for (let e of Array.from(t.attributes)) {
|
|
2834
2905
|
if (!r.has(e.name.toLowerCase())) {
|
|
2835
2906
|
t.removeAttribute(e.name);
|
|
2836
2907
|
continue;
|
|
2837
2908
|
}
|
|
2838
|
-
n === "A" && e.name.toLowerCase() === "href" && !
|
|
2909
|
+
n === "A" && e.name.toLowerCase() === "href" && !di(e.value) && t.removeAttribute(e.name);
|
|
2839
2910
|
}
|
|
2840
2911
|
n === "A" && t.hasAttribute("href") && (t.setAttribute("rel", "noopener noreferrer"), t.setAttribute("target", "_blank"));
|
|
2841
|
-
for (let e of Array.from(t.childNodes))
|
|
2912
|
+
for (let e of Array.from(t.childNodes)) fi(e);
|
|
2842
2913
|
}
|
|
2843
|
-
function
|
|
2914
|
+
function pi(e) {
|
|
2844
2915
|
if (!e) return "";
|
|
2845
2916
|
let t = new DOMParser().parseFromString(`<div>${e}</div>`, "text/html").body.firstElementChild;
|
|
2846
2917
|
if (!t) return "";
|
|
2847
|
-
for (let e of Array.from(t.childNodes))
|
|
2918
|
+
for (let e of Array.from(t.childNodes)) fi(e);
|
|
2848
2919
|
return t.innerHTML;
|
|
2849
2920
|
}
|
|
2850
2921
|
//#endregion
|
|
2851
2922
|
//#region src/utils/format.ts
|
|
2852
|
-
var
|
|
2853
|
-
function
|
|
2854
|
-
if (e == null || typeof e == "string" && e.trim() === "") return
|
|
2923
|
+
var mi = "—";
|
|
2924
|
+
function hi(e, t = 4) {
|
|
2925
|
+
if (e == null || typeof e == "string" && e.trim() === "") return mi;
|
|
2855
2926
|
let n = typeof e == "string" ? Number(e) : e;
|
|
2856
2927
|
return isFinite(n) ? n.toLocaleString(void 0, {
|
|
2857
2928
|
minimumFractionDigits: t,
|
|
2858
2929
|
maximumFractionDigits: t
|
|
2859
|
-
}) :
|
|
2930
|
+
}) : mi;
|
|
2860
2931
|
}
|
|
2861
|
-
function
|
|
2862
|
-
if (e == null || e === "") return
|
|
2932
|
+
function gi(e) {
|
|
2933
|
+
if (e == null || e === "") return mi;
|
|
2863
2934
|
let t = new Date(e);
|
|
2864
2935
|
return isNaN(t.getTime()) ? String(e) : t.toLocaleString();
|
|
2865
2936
|
}
|
|
2866
|
-
function
|
|
2937
|
+
function _i(e) {
|
|
2867
2938
|
return new Date(e).toLocaleString(void 0, {
|
|
2868
2939
|
month: "short",
|
|
2869
2940
|
day: "numeric",
|
|
@@ -2871,13 +2942,13 @@ function ui(e) {
|
|
|
2871
2942
|
minute: "2-digit"
|
|
2872
2943
|
});
|
|
2873
2944
|
}
|
|
2874
|
-
function
|
|
2945
|
+
function vi(e) {
|
|
2875
2946
|
return new Date(e).toLocaleDateString(void 0, {
|
|
2876
2947
|
month: "short",
|
|
2877
2948
|
day: "numeric"
|
|
2878
2949
|
});
|
|
2879
2950
|
}
|
|
2880
|
-
function
|
|
2951
|
+
function yi(e) {
|
|
2881
2952
|
if (!isFinite(e) || e === 0) return e.toFixed(2);
|
|
2882
2953
|
let t = Math.abs(e), n = 2;
|
|
2883
2954
|
return t < 1e-4 ? n = 8 : t < .01 ? n = 6 : t < 1 ? n = 4 : t < 100 && (n = 3), e.toLocaleString(void 0, {
|
|
@@ -2885,20 +2956,20 @@ function fi(e) {
|
|
|
2885
2956
|
maximumFractionDigits: n
|
|
2886
2957
|
});
|
|
2887
2958
|
}
|
|
2888
|
-
function
|
|
2959
|
+
function bi(e, t = 2) {
|
|
2889
2960
|
return `${e >= 0 ? "+" : ""}${e.toFixed(t)}%`;
|
|
2890
2961
|
}
|
|
2891
|
-
function
|
|
2962
|
+
function xi(e) {
|
|
2892
2963
|
return `${e < 0 ? "-" : "+"}$${Math.abs(e).toFixed(2)}`;
|
|
2893
2964
|
}
|
|
2894
|
-
function
|
|
2895
|
-
if (e == null || !isFinite(e)) return
|
|
2965
|
+
function Si(e, t = 2) {
|
|
2966
|
+
if (e == null || !isFinite(e)) return mi;
|
|
2896
2967
|
let n = Math.floor(Math.max(0, e) / 6e4), r = Math.floor(n / 1440), i = Math.floor(n % 1440 / 60), a = n % 60, o = [];
|
|
2897
2968
|
return r > 0 && o.push(`${r}d`), (r > 0 || i > 0) && o.push(`${i}h`), o.push(`${a}m`), o.slice(0, t).join(" ");
|
|
2898
2969
|
}
|
|
2899
2970
|
//#endregion
|
|
2900
2971
|
//#region src/utils/pnl.ts
|
|
2901
|
-
function
|
|
2972
|
+
function Ci(e) {
|
|
2902
2973
|
if (e.buyPrice == null || e.lastPrice == null || e.filledQty == null) return {
|
|
2903
2974
|
pnlUsd: null,
|
|
2904
2975
|
pnlPct: null
|
|
@@ -2913,4 +2984,4 @@ function gi(e) {
|
|
|
2913
2984
|
};
|
|
2914
2985
|
}
|
|
2915
2986
|
//#endregion
|
|
2916
|
-
export {
|
|
2987
|
+
export { L as AlertEnum, Un as BaseActionButton, ke as BaseAlert, Nn as BaseAppLayout, je as BaseBadge, $r as BaseBadgeEnum, Fe as BaseBreadcrumb, We as BaseButton, H as BaseButtonEnum, U as BaseButtonSizeEnum, gr as BaseChipButton, Vt as BaseCollapsibleSection, Gt as BaseConfirmModal, Gn as BaseCopyButton, kr as BaseDropdown, An as BaseEntityPickerModal, Yn as BaseGoogleSignInButton, Sr as BaseInput, Je as BaseLine, Ye as BaseLoginEnum, sr as BaseLoginForm, Ze as BaseLogo, G as BaseLogoEnum, it as BaseModal, Qe as BaseModalEnum, Rt as BaseModalShell, Qt as BaseNotFoundPage, mr as BaseNotificationPanel, Ln as BasePageHeader, _r as BaseRemoveButton, at as BaseRow, Nr as BaseSegmentedControl, wr as BaseSelect, _n as BaseSidebar, qr as BaseSpecFields, ot as BaseSpinner, Xr as BaseStatBreakdown, br as BaseStatusPill, zr as BaseTable, Yt as BaseTextInputModal, lt as BaseToast, K as BaseToastEnum, Bn as BaseToolbarButton, dt as ColoredSquares, V as ColorsEnums, mt as EarningsCard, yt as EuroAmount, W as LineEnum, wt as Pagination, q as PositioningEnum, kt as TrendArrow, Ci as computePnL, gi as fmtDate, vi as fmtDateShort, _i as fmtDateTime, Si as fmtDuration, hi as fmtNumber, bi as fmtPct, yi as fmtPrice, xi as fmtUsd, ei as getBaseColor, ti as getBaseColorOf, Ee as initTheme, di as isSafeHref, ai as methodBadgeBright, ii as methodBadgeSolid, pi as sanitizeHtml, oi as statusBadgeSolid, si as statusBadgeTinted, Zr as useDebouncedRef, Y as useEscapeKey, $t as useMobileSidebar, on as useNotifications, rn as useSidebarCollapse, B as useTheme, J as useThemeClasses, Qr as useToast };
|