@tailor-platform/app-shell 1.16.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-shell-core.css +1 -1
- package/dist/app-shell.d.ts +692 -106
- package/dist/app-shell.js +6294 -4939
- package/dist/{appshell-B0wh5Lq0.js → appshell-CahhZy7v.js} +316 -297
- package/dist/semantic-contrast.test.ts +154 -0
- package/dist/style-entry.d.ts +117 -82
- package/dist/testing.d.ts +122 -85
- package/dist/testing.js +1 -1
- package/dist/theme-bridge.test.ts +101 -1
- package/dist/theme.bridge.css +91 -0
- package/dist/theme.css +6 -1
- package/dist/themes/_template.css +7 -1
- package/dist/themes/bloom.css +0 -6
- package/dist/themes/cream.css +0 -6
- package/dist/themes/default.css +389 -69
- package/dist/vite-plugin.d.ts +117 -82
- package/package.json +1 -1
- package/skills/app-shell-patterns/SKILL.md +7 -5
- package/skills/app-shell-patterns/references/api/define-module.md +2 -2
- package/skills/app-shell-patterns/references/api/define-resource.md +2 -2
- package/skills/app-shell-patterns/references/api/use-app-shell-config.md +53 -47
- package/skills/app-shell-patterns/references/api/use-app-shell-data.md +30 -26
- package/skills/app-shell-patterns/references/api/use-app-shell.md +37 -30
- package/skills/app-shell-patterns/references/api/use-toast.md +28 -31
- package/skills/app-shell-patterns/references/components/app-shell.md +4 -4
- package/skills/app-shell-patterns/references/components/card.md +79 -7
- package/skills/app-shell-patterns/references/components/data-table.md +267 -52
- package/skills/app-shell-patterns/references/components/date-picker.md +32 -21
- package/skills/app-shell-patterns/references/components/filter-rail.md +165 -0
- package/skills/app-shell-patterns/references/components/sidebar-group.md +6 -0
- package/skills/app-shell-patterns/references/components/sidebar-section.md +114 -0
- package/skills/app-shell-patterns/references/concepts/custom-components.md +1 -1
- package/skills/app-shell-patterns/references/concepts/file-based-routing.md +7 -1
- package/skills/app-shell-patterns/references/concepts/graphql.md +20 -14
- package/skills/app-shell-patterns/references/concepts/routing-navigation.md +41 -3
- package/skills/app-shell-patterns/references/concepts/sidebar-navigation.md +32 -0
- package/skills/app-shell-patterns/references/concepts/styling-theming.md +255 -58
- package/skills/app-shell-patterns/references/migrations.md +21 -0
- package/skills/app-shell-patterns/references/pages/document-detail.md +6 -6
- package/skills/app-shell-patterns/references/patterns/form-modal.md +26 -20
- package/skills/app-shell-patterns/references/patterns/interaction-multi-select.md +129 -118
- package/skills/app-shell-patterns/references/patterns/list-dense-scan.md +2 -2
|
@@ -5,7 +5,7 @@ import { Suspense as _, createContext as v, useCallback as y, useContext as b, u
|
|
|
5
5
|
import { cva as O } from "class-variance-authority";
|
|
6
6
|
import { useRender as k } from "@base-ui/react/use-render";
|
|
7
7
|
import { clsx as A } from "clsx";
|
|
8
|
-
import {
|
|
8
|
+
import { extendTailwindMerge as j } from "tailwind-merge";
|
|
9
9
|
import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
|
|
10
10
|
import { AlertCircle as ee, ChevronRight as te, HouseIcon as ne, SearchIcon as re, Table as ie, XIcon as ae } from "lucide-react";
|
|
11
11
|
import { getLocalTimeZone as oe, now as se, today as ce } from "@internationalized/date";
|
|
@@ -14,12 +14,24 @@ import { Toaster as ue } from "sonner";
|
|
|
14
14
|
import { Dialog as F } from "@base-ui/react/dialog";
|
|
15
15
|
import { parsePath as de } from "@tailor-platform/vite-plugin-app-shell/parser";
|
|
16
16
|
//#region src/lib/utils.ts
|
|
17
|
+
var fe = j({ extend: { classGroups: { "font-size": [{ text: [
|
|
18
|
+
"heading-lg",
|
|
19
|
+
"heading-md",
|
|
20
|
+
"heading-sm",
|
|
21
|
+
"body-md",
|
|
22
|
+
"body-sm",
|
|
23
|
+
"label-md",
|
|
24
|
+
"label-sm",
|
|
25
|
+
"code-sm",
|
|
26
|
+
"body-md-relaxed",
|
|
27
|
+
"body-sm-relaxed"
|
|
28
|
+
] }] } } });
|
|
17
29
|
function I(...e) {
|
|
18
|
-
return
|
|
30
|
+
return fe(A(e));
|
|
19
31
|
}
|
|
20
32
|
//#endregion
|
|
21
33
|
//#region src/components/internals/separator/separator.tsx
|
|
22
|
-
function
|
|
34
|
+
function pe({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }) {
|
|
23
35
|
return /* @__PURE__ */ N("div", {
|
|
24
36
|
"data-slot": "separator-root",
|
|
25
37
|
role: n ? "none" : "separator",
|
|
@@ -31,18 +43,18 @@ function fe({ className: e, orientation: t = "horizontal", decorative: n = !0, .
|
|
|
31
43
|
}
|
|
32
44
|
//#endregion
|
|
33
45
|
//#region src/components/toolbar/toolbar.tsx
|
|
34
|
-
var
|
|
46
|
+
var me = g.createContext(null), he = typeof document > "u" ? g.useEffect : g.useLayoutEffect;
|
|
35
47
|
function L(...e) {
|
|
36
48
|
return (t) => {
|
|
37
49
|
for (let n of e) typeof n == "function" ? n(t) : n && (n.current = t);
|
|
38
50
|
};
|
|
39
51
|
}
|
|
40
|
-
function
|
|
41
|
-
let n = g.useContext(
|
|
42
|
-
|
|
52
|
+
function ge(e, t = {}) {
|
|
53
|
+
let n = g.useContext(me), { handlesDirectionalKeys: r = !1 } = t;
|
|
54
|
+
he(() => {
|
|
43
55
|
let t = e.current;
|
|
44
56
|
if (!(!n || !t)) return n.registerItem(t, { handlesDirectionalKeys: r }), () => n.unregisterItem(t);
|
|
45
|
-
}, [n, e]),
|
|
57
|
+
}, [n, e]), he(() => {
|
|
46
58
|
let t = e.current;
|
|
47
59
|
n && t && n.updateItem(t, { handlesDirectionalKeys: r });
|
|
48
60
|
}, [
|
|
@@ -51,18 +63,18 @@ function he(e, t = {}) {
|
|
|
51
63
|
r
|
|
52
64
|
]);
|
|
53
65
|
}
|
|
54
|
-
function
|
|
66
|
+
function _e(e) {
|
|
55
67
|
return e.isConnected && e.tabIndex >= 0 && !e.matches(":disabled") && e.getAttribute("aria-disabled") !== "true";
|
|
56
68
|
}
|
|
57
|
-
function
|
|
69
|
+
function ve({ className: e, ...t }) {
|
|
58
70
|
return /* @__PURE__ */ N("div", {
|
|
59
71
|
"data-slot": "toolbar",
|
|
60
72
|
className: I("astw:flex astw:w-full astw:flex-col astw:gap-2 astw:rounded-md astw:border astw:border-border astw:bg-card astw:p-2", e),
|
|
61
73
|
...t
|
|
62
74
|
});
|
|
63
75
|
}
|
|
64
|
-
|
|
65
|
-
function
|
|
76
|
+
ve.displayName = "Toolbar.Root";
|
|
77
|
+
function ye({ className: e, justify: t = "start", onKeyDown: n, ref: r, ...i }) {
|
|
66
78
|
let a = g.useRef(null), o = g.useRef(/* @__PURE__ */ new Map()), s = g.useCallback((e, t) => {
|
|
67
79
|
o.current.set(e, t);
|
|
68
80
|
}, []), c = g.useCallback((e) => {
|
|
@@ -78,7 +90,7 @@ function ve({ className: e, justify: t = "start", onKeyDown: n, ref: r, ...i })
|
|
|
78
90
|
c,
|
|
79
91
|
l
|
|
80
92
|
]);
|
|
81
|
-
return /* @__PURE__ */ N(
|
|
93
|
+
return /* @__PURE__ */ N(me.Provider, {
|
|
82
94
|
value: u,
|
|
83
95
|
children: /* @__PURE__ */ N("div", {
|
|
84
96
|
ref: L(a, r),
|
|
@@ -94,7 +106,7 @@ function ve({ className: e, justify: t = "start", onKeyDown: n, ref: r, ...i })
|
|
|
94
106
|
"Home",
|
|
95
107
|
"End"
|
|
96
108
|
].includes(e.key)) return;
|
|
97
|
-
let t = Array.from(o.current).filter(([e]) => a.current?.contains(e) &&
|
|
109
|
+
let t = Array.from(o.current).filter(([e]) => a.current?.contains(e) && _e(e)).toSorted(([e], [t]) => e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1), r = t.findIndex(([e]) => e === document.activeElement);
|
|
98
110
|
if (r === -1 || t[r][1].handlesDirectionalKeys) return;
|
|
99
111
|
let i = r;
|
|
100
112
|
e.key === "Home" && (i = 0), e.key === "End" && (i = t.length - 1), e.key === "ArrowLeft" && (i = (r - 1 + t.length) % t.length), e.key === "ArrowRight" && (i = (r + 1) % t.length), e.preventDefault(), t[i]?.[0].focus();
|
|
@@ -103,17 +115,17 @@ function ve({ className: e, justify: t = "start", onKeyDown: n, ref: r, ...i })
|
|
|
103
115
|
})
|
|
104
116
|
});
|
|
105
117
|
}
|
|
106
|
-
|
|
107
|
-
function
|
|
118
|
+
ye.displayName = "Toolbar.Row";
|
|
119
|
+
function be({ className: e, ...t }) {
|
|
108
120
|
return /* @__PURE__ */ N("div", {
|
|
109
121
|
"data-slot": "toolbar-group",
|
|
110
122
|
className: I("astw:flex astw:min-w-0 astw:flex-wrap astw:items-center astw:gap-1.5", e),
|
|
111
123
|
...t
|
|
112
124
|
});
|
|
113
125
|
}
|
|
114
|
-
|
|
115
|
-
function
|
|
116
|
-
return /* @__PURE__ */ N(
|
|
126
|
+
be.displayName = "Toolbar.Group";
|
|
127
|
+
function xe({ className: e, ...t }) {
|
|
128
|
+
return /* @__PURE__ */ N(pe, {
|
|
117
129
|
"data-slot": "toolbar-separator",
|
|
118
130
|
decorative: !1,
|
|
119
131
|
orientation: "vertical",
|
|
@@ -121,19 +133,19 @@ function be({ className: e, ...t }) {
|
|
|
121
133
|
...t
|
|
122
134
|
});
|
|
123
135
|
}
|
|
124
|
-
|
|
125
|
-
var
|
|
126
|
-
Root:
|
|
127
|
-
Row:
|
|
128
|
-
Group:
|
|
129
|
-
Separator:
|
|
130
|
-
},
|
|
136
|
+
xe.displayName = "Toolbar.Separator";
|
|
137
|
+
var Se = {
|
|
138
|
+
Root: ve,
|
|
139
|
+
Row: ye,
|
|
140
|
+
Group: be,
|
|
141
|
+
Separator: xe
|
|
142
|
+
}, Ce = O("astw:inline-flex astw:cursor-pointer astw:items-center astw:justify-center astw:gap-2 astw:whitespace-nowrap astw:rounded-md astw:text-sm astw:font-medium astw:transition-all astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:[&_svg]:pointer-events-none astw:[&_svg:not([class*='size-'])]:size-4 astw:shrink-0 astw:[&_svg]:shrink-0 astw:outline-none astw:focus-visible:border-ring astw:focus-visible:ring-ring/50 astw:focus-visible:ring-[3px] astw:aria-invalid:ring-destructive/20 astw:dark:aria-invalid:ring-destructive/40 astw:aria-invalid:border-destructive", {
|
|
131
143
|
variants: {
|
|
132
144
|
variant: {
|
|
133
145
|
default: "astw:bg-primary astw:text-primary-foreground astw:shadow-xs astw:hover:bg-primary/90",
|
|
134
146
|
destructive: "astw:bg-destructive astw:text-white astw:shadow-xs astw:hover:bg-destructive/90 astw:focus-visible:ring-destructive/20 astw:dark:focus-visible:ring-destructive/40 astw:dark:bg-destructive/60",
|
|
135
|
-
outline: "astw:border astw:border-border astw:bg-
|
|
136
|
-
secondary: "astw:bg-secondary astw:text-secondary-foreground astw:
|
|
147
|
+
outline: "astw:border astw:border-border astw:bg-transparent astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:bg-input/30 astw:dark:border-input astw:dark:hover:bg-input/50",
|
|
148
|
+
secondary: "astw:bg-secondary astw:text-secondary-foreground astw:hover:bg-secondary/80",
|
|
137
149
|
ghost: "astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:hover:bg-accent/50",
|
|
138
150
|
link: "astw:text-primary astw:underline-offset-4 astw:hover:underline"
|
|
139
151
|
},
|
|
@@ -152,13 +164,13 @@ var xe = {
|
|
|
152
164
|
});
|
|
153
165
|
function R({ className: e, variant: t, size: n, render: r, children: i, ref: a, ...o }) {
|
|
154
166
|
let s = g.useRef(null);
|
|
155
|
-
return
|
|
167
|
+
return ge(s), k({
|
|
156
168
|
defaultTagName: "button",
|
|
157
169
|
render: r,
|
|
158
170
|
ref: L(s, a),
|
|
159
171
|
props: {
|
|
160
172
|
"data-slot": "button",
|
|
161
|
-
className: I(
|
|
173
|
+
className: I(Ce({
|
|
162
174
|
variant: t,
|
|
163
175
|
size: n,
|
|
164
176
|
className: e
|
|
@@ -168,7 +180,9 @@ function R({ className: e, variant: t, size: n, render: r, children: i, ref: a,
|
|
|
168
180
|
}
|
|
169
181
|
});
|
|
170
182
|
}
|
|
171
|
-
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/lib/i18n.ts
|
|
185
|
+
var we = Symbol("localized-label"), Te = () => {
|
|
172
186
|
try {
|
|
173
187
|
if (typeof navigator > "u") return "en";
|
|
174
188
|
let e = navigator.languages?.[0] ?? navigator.language;
|
|
@@ -176,57 +190,57 @@ var Ce = () => {
|
|
|
176
190
|
} catch {
|
|
177
191
|
return "en";
|
|
178
192
|
}
|
|
179
|
-
},
|
|
193
|
+
}, Ee = () => {
|
|
180
194
|
try {
|
|
181
195
|
return typeof navigator > "u" ? "en" : navigator.languages?.[0] ?? navigator.language ?? "en";
|
|
182
196
|
} catch {
|
|
183
197
|
return "en";
|
|
184
198
|
}
|
|
185
|
-
},
|
|
199
|
+
}, De = (e) => {
|
|
186
200
|
try {
|
|
187
201
|
return new Intl.Locale(e).language;
|
|
188
202
|
} catch {
|
|
189
203
|
return e;
|
|
190
204
|
}
|
|
191
|
-
}, z = (e) => (t, n) => t ? typeof t == "string" ? t : t(e) ?? n : n,
|
|
205
|
+
}, z = (e) => (t, n) => t ? typeof t == "string" ? t : t(e) ?? n : n, Oe = (t) => {
|
|
192
206
|
let n = z(t);
|
|
193
207
|
return (t, r) => n(t, typeof t == "string" ? t : e(r));
|
|
194
|
-
},
|
|
208
|
+
}, ke = (e) => ({
|
|
195
209
|
modules: e.modules,
|
|
196
210
|
settingsResources: e.settingsResources ?? [],
|
|
197
211
|
errorBoundary: e.errorBoundary ?? /* @__PURE__ */ N(U, {}),
|
|
198
212
|
basePath: e.basePath,
|
|
199
|
-
locale: e.locale ?
|
|
200
|
-
resolvedLocale: e.locale ??
|
|
213
|
+
locale: e.locale ? De(e.locale) : Te(),
|
|
214
|
+
resolvedLocale: e.locale ?? Ee(),
|
|
201
215
|
timeZone: e.timeZone
|
|
202
216
|
}), B = v({ configurations: {
|
|
203
217
|
modules: [],
|
|
204
218
|
settingsResources: [],
|
|
205
219
|
locale: "en",
|
|
206
220
|
errorBoundary: null
|
|
207
|
-
} }),
|
|
208
|
-
let e = b(B), t = b(
|
|
221
|
+
} }), Ae = v({ contextData: {} }), V = () => b(B), je = () => b(Ae), Me = () => {
|
|
222
|
+
let e = b(B), t = b(Ae);
|
|
209
223
|
return {
|
|
210
224
|
...e,
|
|
211
225
|
...t
|
|
212
226
|
};
|
|
213
|
-
},
|
|
227
|
+
}, Ne = () => {
|
|
214
228
|
let { configurations: e } = b(B);
|
|
215
229
|
return {
|
|
216
230
|
locale: e.resolvedLocale ?? e.locale,
|
|
217
231
|
language: e.locale
|
|
218
232
|
};
|
|
219
|
-
},
|
|
233
|
+
}, Pe = () => {
|
|
220
234
|
let { configurations: e } = b(B), t = e.timeZone ?? oe();
|
|
221
235
|
return {
|
|
222
236
|
value: t,
|
|
223
237
|
today: () => ce(t),
|
|
224
238
|
now: () => se(t)
|
|
225
239
|
};
|
|
226
|
-
},
|
|
240
|
+
}, Fe = () => {
|
|
227
241
|
let { configurations: e } = V(), t = z(e.locale);
|
|
228
242
|
return (e, n) => t(e, n);
|
|
229
|
-
},
|
|
243
|
+
}, Ie = (e) => {
|
|
230
244
|
let t = (t) => (n) => e[t]?.[n] ?? e.en[n];
|
|
231
245
|
return {
|
|
232
246
|
useT: () => {
|
|
@@ -239,12 +253,12 @@ var Ce = () => {
|
|
|
239
253
|
return i === void 0 || typeof i == "function" ? r : i;
|
|
240
254
|
}, i;
|
|
241
255
|
},
|
|
242
|
-
t: (e, ...n) => (r) => {
|
|
256
|
+
t: (e, ...n) => Object.assign((r) => {
|
|
243
257
|
let i = t(r)(e);
|
|
244
258
|
return typeof i == "function" ? i(n[0]) : i;
|
|
245
|
-
}
|
|
259
|
+
}, { [we]: !0 })
|
|
246
260
|
};
|
|
247
|
-
},
|
|
261
|
+
}, Le = Ie({
|
|
248
262
|
en: {
|
|
249
263
|
home: "Home",
|
|
250
264
|
error404Title: "404 Not Found",
|
|
@@ -343,7 +357,7 @@ var Ce = () => {
|
|
|
343
357
|
aiChatToolResult: "結果",
|
|
344
358
|
aiChatSourcesUsed: (e) => `${e.count} 件の出典を使用`
|
|
345
359
|
}
|
|
346
|
-
}), H =
|
|
360
|
+
}), H = Le.useT, U = () => {
|
|
347
361
|
let e = m(), t = H(), n = {
|
|
348
362
|
role: "alert",
|
|
349
363
|
"aria-label": "default-error-boundary"
|
|
@@ -397,14 +411,14 @@ var Ce = () => {
|
|
|
397
411
|
] })]
|
|
398
412
|
})
|
|
399
413
|
});
|
|
400
|
-
},
|
|
401
|
-
|
|
402
|
-
},
|
|
414
|
+
}, Re = {}, ze = (e) => {
|
|
415
|
+
Re = e;
|
|
416
|
+
}, Be = () => ({ type: "pass" }), Ve = () => ({ type: "hidden" }), He = (e) => ({
|
|
403
417
|
type: "redirect",
|
|
404
418
|
to: e
|
|
405
419
|
}), W = () => new Response("Not Found", { status: 404 }), G = async (e) => {
|
|
406
420
|
if (!e || e.length === 0) return { type: "pass" };
|
|
407
|
-
let t = { context:
|
|
421
|
+
let t = { context: Re };
|
|
408
422
|
for (let n of e) {
|
|
409
423
|
let e = await n(t);
|
|
410
424
|
if (e.type !== "pass") return e;
|
|
@@ -417,17 +431,17 @@ var Ce = () => {
|
|
|
417
431
|
case "redirect": return u(r.to);
|
|
418
432
|
case "pass": return t ? t(n) : null;
|
|
419
433
|
}
|
|
420
|
-
},
|
|
434
|
+
}, Ue = (t) => t === "" || t === "/" ? Le.t("home") : e(t), We = (e, t) => () => {
|
|
421
435
|
let { configurations: n } = V(), { metaTitle: r, fallbackTitle: i } = e;
|
|
422
436
|
return t(z(n.locale)(r, typeof i == "function" ? i(n.locale) : i));
|
|
423
437
|
};
|
|
424
|
-
function
|
|
425
|
-
let { path: t, meta: n, component: r, resources: i, errorBoundary: a, guards: o } = e, s = n?.title ??
|
|
438
|
+
function Ge(e) {
|
|
439
|
+
let { path: t, meta: n, component: r, resources: i, errorBoundary: a, guards: o } = e, s = n?.title ?? Ue(t), c = Ue(t), l = o && o.length > 0 ? K(o) : void 0;
|
|
426
440
|
return {
|
|
427
441
|
path: t,
|
|
428
442
|
type: "component",
|
|
429
443
|
_type: "module",
|
|
430
|
-
component: r ?
|
|
444
|
+
component: r ? We({
|
|
431
445
|
metaTitle: s,
|
|
432
446
|
fallbackTitle: c
|
|
433
447
|
}, (e) => r({
|
|
@@ -447,8 +461,8 @@ function Ue(e) {
|
|
|
447
461
|
guards: o
|
|
448
462
|
};
|
|
449
463
|
}
|
|
450
|
-
function
|
|
451
|
-
let { path: n, component: r, subResources: i, meta: a, errorBoundary: o, guards: s } = t, c = a?.title ?? e(n), l = e(n), u = s && s.length > 0 ? K(s) : void 0, d = r ?
|
|
464
|
+
function Ke(t) {
|
|
465
|
+
let { path: n, component: r, subResources: i, meta: a, errorBoundary: o, guards: s } = t, c = a?.title ?? e(n), l = e(n), u = s && s.length > 0 ? K(s) : void 0, d = r ? We({
|
|
452
466
|
metaTitle: c,
|
|
453
467
|
fallbackTitle: l
|
|
454
468
|
}, (e) => r({
|
|
@@ -471,9 +485,9 @@ function We(t) {
|
|
|
471
485
|
loader: u
|
|
472
486
|
};
|
|
473
487
|
}
|
|
474
|
-
var
|
|
488
|
+
var qe = {
|
|
475
489
|
name: "@tailor-platform/app-shell",
|
|
476
|
-
version: "1.
|
|
490
|
+
version: "1.17.0",
|
|
477
491
|
description: "An opinionated React application framework for building ERP applications on Tailor Platform",
|
|
478
492
|
keywords: [
|
|
479
493
|
"app-shell",
|
|
@@ -570,15 +584,15 @@ var Ge = {
|
|
|
570
584
|
};
|
|
571
585
|
//#endregion
|
|
572
586
|
//#region src/components/card/card.tsx
|
|
573
|
-
function
|
|
587
|
+
function Je({ className: e, ...t }) {
|
|
574
588
|
return /* @__PURE__ */ N("div", {
|
|
575
589
|
"data-slot": "card",
|
|
576
590
|
className: I("astw:bg-card astw:text-card-foreground astw:flex astw:flex-col astw:rounded-xl astw:border astw:border-border astw:shadow-xs", e),
|
|
577
591
|
...t
|
|
578
592
|
});
|
|
579
593
|
}
|
|
580
|
-
|
|
581
|
-
function
|
|
594
|
+
Je.displayName = "Card.Root";
|
|
595
|
+
function Ye({ className: e, title: t, description: n, children: r, ...i }) {
|
|
582
596
|
return /* @__PURE__ */ P("div", {
|
|
583
597
|
"data-slot": "card-header",
|
|
584
598
|
className: I("astw:@container/card-header astw:grid astw:auto-rows-min astw:grid-rows-[auto_auto] astw:items-start astw:gap-2 astw:px-6 astw:pt-6 astw:pb-4 astw:[.border-b]:pb-6", e),
|
|
@@ -598,20 +612,22 @@ function qe({ className: e, title: t, description: n, children: r, ...i }) {
|
|
|
598
612
|
]
|
|
599
613
|
});
|
|
600
614
|
}
|
|
601
|
-
|
|
602
|
-
|
|
615
|
+
Ye.displayName = "Card.Header";
|
|
616
|
+
var Xe = I("astw:first:rounded-t-[inherit] astw:last:rounded-b-[inherit]", "astw:[&>[data-slot=table-container]]:rounded-[inherit]", "astw:[&>[data-slot=data-table]]:rounded-[inherit] astw:[&>[data-slot=data-table]]:border-0");
|
|
617
|
+
function Ze({ className: e, padding: t = "default", ...n }) {
|
|
603
618
|
return /* @__PURE__ */ N("div", {
|
|
604
619
|
"data-slot": "card-content",
|
|
605
|
-
|
|
606
|
-
|
|
620
|
+
"data-padding": t,
|
|
621
|
+
className: I(t === "none" ? Xe : "astw:px-6 astw:pb-6 astw:first:pt-6", e),
|
|
622
|
+
...n
|
|
607
623
|
});
|
|
608
624
|
}
|
|
609
|
-
|
|
610
|
-
var
|
|
611
|
-
Root:
|
|
612
|
-
Header:
|
|
613
|
-
Content:
|
|
614
|
-
},
|
|
625
|
+
Ze.displayName = "Card.Content";
|
|
626
|
+
var Qe = {
|
|
627
|
+
Root: Je,
|
|
628
|
+
Header: Ye,
|
|
629
|
+
Content: Ze
|
|
630
|
+
}, $e = v(null), et = ({ children: e }) => {
|
|
615
631
|
let [t, n] = E(() => /* @__PURE__ */ new Map()), r = y((e, t) => {
|
|
616
632
|
n((n) => {
|
|
617
633
|
let r = new Map(n);
|
|
@@ -624,7 +640,7 @@ var Ye = {
|
|
|
624
640
|
return n.delete(e), n;
|
|
625
641
|
});
|
|
626
642
|
}, []);
|
|
627
|
-
return /* @__PURE__ */ N(
|
|
643
|
+
return /* @__PURE__ */ N($e.Provider, {
|
|
628
644
|
value: {
|
|
629
645
|
overrides: t,
|
|
630
646
|
register: r,
|
|
@@ -632,15 +648,15 @@ var Ye = {
|
|
|
632
648
|
},
|
|
633
649
|
children: e
|
|
634
650
|
});
|
|
635
|
-
},
|
|
636
|
-
let e = b(
|
|
651
|
+
}, tt = () => {
|
|
652
|
+
let e = b($e);
|
|
637
653
|
if (!e) throw Error("useBreadcrumbOverride must be used within BreadcrumbOverrideProvider");
|
|
638
654
|
return e;
|
|
639
|
-
},
|
|
655
|
+
}, nt = () => b($e);
|
|
640
656
|
//#endregion
|
|
641
657
|
//#region src/hooks/use-override-breadcrumb.ts
|
|
642
|
-
function
|
|
643
|
-
let t = d(), { register: n, unregister: r } =
|
|
658
|
+
function rt(e) {
|
|
659
|
+
let t = d(), { register: n, unregister: r } = tt(), i = t.pathname;
|
|
644
660
|
x(() => (e ? n(i, e) : r(i), () => r(i)), [
|
|
645
661
|
i,
|
|
646
662
|
e,
|
|
@@ -650,25 +666,25 @@ function et(e) {
|
|
|
650
666
|
}
|
|
651
667
|
//#endregion
|
|
652
668
|
//#region src/components/internals/app-info/app-info.tsx
|
|
653
|
-
var
|
|
669
|
+
var it = "__appinfo", at = `/${it}`, ot = qe.version, st = (e) => e == null ? "-" : String(e), ct = (e) => e.map((e) => `${e.label}: ${st(e.value)}`).join("\n"), lt = ({ label: e, value: t }) => /* @__PURE__ */ P("div", {
|
|
654
670
|
className: "astw:grid astw:gap-1 astw:py-3 astw:sm:grid-cols-[12rem_minmax(0,1fr)] astw:sm:gap-4",
|
|
655
671
|
children: [/* @__PURE__ */ N("dt", {
|
|
656
672
|
className: "astw:text-sm astw:text-muted-foreground",
|
|
657
673
|
children: e
|
|
658
674
|
}), /* @__PURE__ */ N("dd", {
|
|
659
675
|
className: "astw:min-w-0 astw:text-sm astw:break-all",
|
|
660
|
-
children:
|
|
676
|
+
children: st(t)
|
|
661
677
|
})]
|
|
662
|
-
}),
|
|
678
|
+
}), ut = () => {
|
|
663
679
|
let e = H();
|
|
664
680
|
return {
|
|
665
|
-
path:
|
|
681
|
+
path: at,
|
|
666
682
|
title: e("appInfoTitle"),
|
|
667
683
|
breadcrumb: [e("appInfoTitle")]
|
|
668
684
|
};
|
|
669
|
-
},
|
|
685
|
+
}, dt = () => {
|
|
670
686
|
let e = H(), { title: t, appInfo: n } = V();
|
|
671
|
-
|
|
687
|
+
rt(e("appInfoTitle"));
|
|
672
688
|
let r = [
|
|
673
689
|
...t ? [{
|
|
674
690
|
label: e("appInfoAppName"),
|
|
@@ -676,13 +692,13 @@ var tt = "__appinfo", nt = `/${tt}`, rt = Ge.version, it = (e) => e == null ? "-
|
|
|
676
692
|
}] : [],
|
|
677
693
|
{
|
|
678
694
|
label: e("appInfoAppShellVersion"),
|
|
679
|
-
value:
|
|
695
|
+
value: ot
|
|
680
696
|
},
|
|
681
697
|
...n?.metadata ?? []
|
|
682
698
|
];
|
|
683
699
|
return /* @__PURE__ */ N("div", {
|
|
684
700
|
className: "astw:w-full astw:max-w-xl",
|
|
685
|
-
children: /* @__PURE__ */ P(
|
|
701
|
+
children: /* @__PURE__ */ P(Qe.Root, { children: [/* @__PURE__ */ P("div", {
|
|
686
702
|
className: "astw:flex astw:items-center astw:justify-between astw:px-6 astw:pt-6 astw:pb-4",
|
|
687
703
|
children: [/* @__PURE__ */ N("h1", {
|
|
688
704
|
className: "astw:text-lg astw:font-semibold astw:leading-none",
|
|
@@ -692,21 +708,21 @@ var tt = "__appinfo", nt = `/${tt}`, rt = Ge.version, it = (e) => e == null ? "-
|
|
|
692
708
|
size: "sm",
|
|
693
709
|
onClick: async () => {
|
|
694
710
|
try {
|
|
695
|
-
await navigator.clipboard.writeText(
|
|
711
|
+
await navigator.clipboard.writeText(ct(r));
|
|
696
712
|
} catch {}
|
|
697
713
|
},
|
|
698
714
|
children: e("appInfoCopy")
|
|
699
715
|
})]
|
|
700
|
-
}), /* @__PURE__ */ N(
|
|
716
|
+
}), /* @__PURE__ */ N(Qe.Content, { children: /* @__PURE__ */ N("dl", { children: r.map((e, t) => /* @__PURE__ */ N("div", {
|
|
701
717
|
className: t > 0 ? "astw:border-t astw:border-border" : void 0,
|
|
702
|
-
children: /* @__PURE__ */ N(
|
|
718
|
+
children: /* @__PURE__ */ N(lt, { ...e })
|
|
703
719
|
}, `${e.label}-${t}`)) }) })] })
|
|
704
720
|
});
|
|
705
|
-
},
|
|
721
|
+
}, ft = [
|
|
706
722
|
"light",
|
|
707
723
|
"dark",
|
|
708
724
|
"system"
|
|
709
|
-
],
|
|
725
|
+
], pt = [
|
|
710
726
|
{
|
|
711
727
|
value: "light",
|
|
712
728
|
label: "Light"
|
|
@@ -719,8 +735,8 @@ var tt = "__appinfo", nt = `/${tt}`, rt = Ge.version, it = (e) => e == null ? "-
|
|
|
719
735
|
value: "system",
|
|
720
736
|
label: "System"
|
|
721
737
|
}
|
|
722
|
-
],
|
|
723
|
-
function
|
|
738
|
+
], mt = "appshell-ui-theme";
|
|
739
|
+
function ht(e, t, n) {
|
|
724
740
|
if (typeof window > "u") return n;
|
|
725
741
|
try {
|
|
726
742
|
let r = localStorage.getItem(e);
|
|
@@ -729,22 +745,22 @@ function ft(e, t, n) {
|
|
|
729
745
|
return n;
|
|
730
746
|
}
|
|
731
747
|
}
|
|
732
|
-
function
|
|
748
|
+
function gt(e, t) {
|
|
733
749
|
return e === "system" ? t ? "dark" : "light" : e;
|
|
734
750
|
}
|
|
735
|
-
function
|
|
751
|
+
function _t() {
|
|
736
752
|
return typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
737
753
|
}
|
|
738
|
-
var
|
|
739
|
-
function
|
|
740
|
-
let [n, r] = E(() =>
|
|
754
|
+
var vt = v(void 0);
|
|
755
|
+
function yt({ children: e, defaultColorTheme: t = "system" }) {
|
|
756
|
+
let [n, r] = E(() => ht(mt, ft, t)), [i, a] = E(() => gt(ht(mt, ft, t), _t())), o = y((e) => {
|
|
741
757
|
let t = window.document.documentElement;
|
|
742
758
|
t.classList.remove("light", "dark"), t.classList.add(e);
|
|
743
759
|
}, []);
|
|
744
760
|
x(() => {
|
|
745
761
|
o(i);
|
|
746
762
|
let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e) => {
|
|
747
|
-
let t =
|
|
763
|
+
let t = gt(n, e.matches);
|
|
748
764
|
a(t);
|
|
749
765
|
};
|
|
750
766
|
return e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
@@ -755,10 +771,10 @@ function gt({ children: e, defaultColorTheme: t = "system" }) {
|
|
|
755
771
|
]);
|
|
756
772
|
let s = y((e) => {
|
|
757
773
|
try {
|
|
758
|
-
localStorage.setItem(
|
|
774
|
+
localStorage.setItem(mt, e);
|
|
759
775
|
} catch {}
|
|
760
776
|
r(e);
|
|
761
|
-
let t =
|
|
777
|
+
let t = gt(e, _t());
|
|
762
778
|
a(t), o(t);
|
|
763
779
|
}, [o]), c = C(() => ({
|
|
764
780
|
colorTheme: n,
|
|
@@ -769,13 +785,13 @@ function gt({ children: e, defaultColorTheme: t = "system" }) {
|
|
|
769
785
|
i,
|
|
770
786
|
s
|
|
771
787
|
]);
|
|
772
|
-
return /* @__PURE__ */ N(
|
|
788
|
+
return /* @__PURE__ */ N(vt.Provider, {
|
|
773
789
|
value: c,
|
|
774
790
|
children: e
|
|
775
791
|
});
|
|
776
792
|
}
|
|
777
|
-
var
|
|
778
|
-
let e = b(
|
|
793
|
+
var bt = () => {
|
|
794
|
+
let e = b(vt);
|
|
779
795
|
if (e === void 0) throw Error("useTheme must be used within a ThemeProvider");
|
|
780
796
|
let { colorTheme: t, resolvedColorTheme: n, setColorTheme: r } = e;
|
|
781
797
|
return C(() => ({
|
|
@@ -787,8 +803,8 @@ var _t = () => {
|
|
|
787
803
|
n,
|
|
788
804
|
r
|
|
789
805
|
]);
|
|
790
|
-
},
|
|
791
|
-
let { resolvedTheme: t } =
|
|
806
|
+
}, xt = ({ ...e }) => {
|
|
807
|
+
let { resolvedTheme: t } = bt();
|
|
792
808
|
return /* @__PURE__ */ N(ue, {
|
|
793
809
|
theme: t,
|
|
794
810
|
className: "astw:toaster astw:group",
|
|
@@ -799,7 +815,7 @@ var _t = () => {
|
|
|
799
815
|
},
|
|
800
816
|
...e
|
|
801
817
|
});
|
|
802
|
-
},
|
|
818
|
+
}, St = () => {
|
|
803
819
|
let e = H();
|
|
804
820
|
return /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N("p", {
|
|
805
821
|
className: "astw:font-semibold astw:leading-none astw:tracking-tight",
|
|
@@ -808,8 +824,8 @@ var _t = () => {
|
|
|
808
824
|
className: "pt-4",
|
|
809
825
|
children: e("welcomeBody")
|
|
810
826
|
})] });
|
|
811
|
-
},
|
|
812
|
-
let { configurations: e } =
|
|
827
|
+
}, Ct = () => /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(a, {}), /* @__PURE__ */ N(xt, {})] }), wt = () => {
|
|
828
|
+
let { configurations: e } = Me(), t = H(), n = Fe();
|
|
813
829
|
return /* @__PURE__ */ P("div", {
|
|
814
830
|
className: "astw:mx-auto astw:flex-col astw:flex astw:md:flex-row astw:max-w-5xl astw:gap-[10px] astw:w-full",
|
|
815
831
|
children: [/* @__PURE__ */ N("div", { children: /* @__PURE__ */ P("nav", {
|
|
@@ -833,7 +849,7 @@ var _t = () => {
|
|
|
833
849
|
children: /* @__PURE__ */ N(a, {})
|
|
834
850
|
})]
|
|
835
851
|
});
|
|
836
|
-
},
|
|
852
|
+
}, Tt = (e) => () => /* @__PURE__ */ N(M, { children: e }), Et = (e) => e.component ? {
|
|
837
853
|
index: !0,
|
|
838
854
|
Component: e.component,
|
|
839
855
|
...e.loader && { loader: e.loader }
|
|
@@ -851,18 +867,18 @@ var _t = () => {
|
|
|
851
867
|
loader: () => {
|
|
852
868
|
throw W();
|
|
853
869
|
}
|
|
854
|
-
},
|
|
855
|
-
let r = e.errorBoundary || n, i = (t ?? []).map((e) =>
|
|
870
|
+
}, Dt = (e, t, n) => {
|
|
871
|
+
let r = e.errorBoundary || n, i = (t ?? []).map((e) => Dt(e, e.subResources, r)), a = [Et(e), ...i];
|
|
856
872
|
return {
|
|
857
873
|
path: e.path,
|
|
858
874
|
handle: { node: e },
|
|
859
|
-
...e.errorBoundary && { ErrorBoundary:
|
|
875
|
+
...e.errorBoundary && { ErrorBoundary: Tt(e.errorBoundary) },
|
|
860
876
|
...a.length > 0 ? { children: a } : {}
|
|
861
877
|
};
|
|
862
|
-
},
|
|
863
|
-
let n = e.some((e) => e.path === "") ? null :
|
|
878
|
+
}, Ot = (e) => e.map((e) => Dt(e, e.resources, e.errorBoundary)), kt = ({ modules: e, settingsResources: t }) => {
|
|
879
|
+
let n = e.some((e) => e.path === "") ? null : Et({
|
|
864
880
|
path: "",
|
|
865
|
-
component:
|
|
881
|
+
component: St
|
|
866
882
|
}), r = t.length > 0 ? [{
|
|
867
883
|
path: "settings",
|
|
868
884
|
index: !0,
|
|
@@ -873,22 +889,22 @@ var _t = () => {
|
|
|
873
889
|
})
|
|
874
890
|
}, {
|
|
875
891
|
path: "settings",
|
|
876
|
-
Component:
|
|
892
|
+
Component: wt,
|
|
877
893
|
children: t.map((e) => {
|
|
878
894
|
if (!e.component) throw Error(`Settings resource "${e.path}" must have a component.`);
|
|
879
895
|
return {
|
|
880
896
|
path: e.path,
|
|
881
897
|
Component: e.component,
|
|
882
|
-
...e.errorBoundary && { ErrorBoundary:
|
|
898
|
+
...e.errorBoundary && { ErrorBoundary: Tt(e.errorBoundary) }
|
|
883
899
|
};
|
|
884
900
|
})
|
|
885
901
|
}] : [];
|
|
886
902
|
return [
|
|
887
903
|
...n ? [n] : [],
|
|
888
|
-
{ children:
|
|
904
|
+
{ children: Ot(e) },
|
|
889
905
|
{
|
|
890
|
-
path:
|
|
891
|
-
Component:
|
|
906
|
+
path: it,
|
|
907
|
+
Component: dt
|
|
892
908
|
},
|
|
893
909
|
...r,
|
|
894
910
|
{
|
|
@@ -900,14 +916,17 @@ var _t = () => {
|
|
|
900
916
|
ErrorBoundary: U
|
|
901
917
|
}
|
|
902
918
|
];
|
|
903
|
-
}, q = (e) => e.startsWith(":") ? e.slice(1) : null,
|
|
904
|
-
function
|
|
919
|
+
}, q = (e) => e.startsWith(":") ? e.slice(1) : null, At = (e) => e.split("/").some((e) => q(e) !== null);
|
|
920
|
+
function jt(e, t) {
|
|
905
921
|
if (!t.trim()) return e;
|
|
906
922
|
let n = t.toLowerCase();
|
|
907
923
|
return e.filter((e) => e.title.toLowerCase().includes(n) || e.path.toLowerCase().includes(n));
|
|
908
924
|
}
|
|
909
|
-
var
|
|
910
|
-
let
|
|
925
|
+
var Mt = (e, t, n) => {
|
|
926
|
+
let r = typeof e.breadcrumbTitle == "function" ? e.breadcrumbTitle(we in e.breadcrumbTitle ? n : t) : e.breadcrumbTitle;
|
|
927
|
+
return typeof r == "function" ? z(n)(r, e.title) : r ?? e.title;
|
|
928
|
+
}, Nt = (e, t) => {
|
|
929
|
+
let n = Oe(t);
|
|
911
930
|
return e.reduce((e, t) => {
|
|
912
931
|
let r = n(t.meta.title, t.path);
|
|
913
932
|
e[t.path] = {
|
|
@@ -928,8 +947,8 @@ var kt = (e, t) => typeof e.breadcrumbTitle == "function" ? e.breadcrumbTitle(t)
|
|
|
928
947
|
return t.resources && t.resources.length > 0 && i(t.resources, t.path), e;
|
|
929
948
|
}, {});
|
|
930
949
|
};
|
|
931
|
-
function
|
|
932
|
-
let i = e.split("/").filter((e) => e !== ""), a = t && i[0] === t ? i.slice(1) : i, o =
|
|
950
|
+
function Pt(e, t, n, r) {
|
|
951
|
+
let i = e.split("/").filter((e) => e !== ""), a = t && i[0] === t ? i.slice(1) : i, o = Nt(n, r);
|
|
933
952
|
if (a.length === 0) {
|
|
934
953
|
let e = o[""];
|
|
935
954
|
if (e) return {
|
|
@@ -937,26 +956,26 @@ function jt(e, t, n, r) {
|
|
|
937
956
|
segments: [{
|
|
938
957
|
segment: "",
|
|
939
958
|
path: "",
|
|
940
|
-
title:
|
|
959
|
+
title: Mt(e, "", r),
|
|
941
960
|
clickable: e.clickable
|
|
942
961
|
}]
|
|
943
962
|
};
|
|
944
963
|
}
|
|
945
964
|
let s = a.map((e, t) => {
|
|
946
|
-
let n = a.slice(0, t + 1).join("/"),
|
|
947
|
-
if (!
|
|
965
|
+
let n = a.slice(0, t + 1).join("/"), i = o[n];
|
|
966
|
+
if (!i) {
|
|
948
967
|
let e = Object.entries(o).find(([e]) => {
|
|
949
968
|
let t = e.split("/").map((e) => q(e) === null ? e : "[^/]+").join("/");
|
|
950
969
|
return RegExp(`^${t}$`).test(n);
|
|
951
970
|
})?.[1];
|
|
952
|
-
e && (
|
|
971
|
+
e && (i = e);
|
|
953
972
|
}
|
|
954
|
-
let
|
|
955
|
-
return
|
|
973
|
+
let s;
|
|
974
|
+
return s = i ? Mt(i, e, r) : decodeURIComponent(e), {
|
|
956
975
|
segment: e,
|
|
957
976
|
path: n,
|
|
958
|
-
title:
|
|
959
|
-
clickable:
|
|
977
|
+
title: s,
|
|
978
|
+
clickable: i?.clickable ?? !0
|
|
960
979
|
};
|
|
961
980
|
});
|
|
962
981
|
return {
|
|
@@ -966,14 +985,14 @@ function jt(e, t, n, r) {
|
|
|
966
985
|
}
|
|
967
986
|
//#endregion
|
|
968
987
|
//#region src/routing/navigation.tsx
|
|
969
|
-
var
|
|
970
|
-
loaderID:
|
|
971
|
-
loader: async () => ({ navItems:
|
|
972
|
-
}),
|
|
973
|
-
let t =
|
|
988
|
+
var Ft = "appshell-root-nav", It = (e) => ({
|
|
989
|
+
loaderID: Ft,
|
|
990
|
+
loader: async () => ({ navItems: Rt(e) })
|
|
991
|
+
}), Lt = () => h(Ft)?.navItems, Rt = async (e) => {
|
|
992
|
+
let t = Oe(e.locale);
|
|
974
993
|
return (await Promise.all(e.modules.map(async (e) => {
|
|
975
994
|
if (q(e.path) !== null || (await G(e.guards)).type !== "pass") return null;
|
|
976
|
-
let n = await
|
|
995
|
+
let n = await zt(e.resources, e.path, t);
|
|
977
996
|
return n.length === 0 && !e.meta.menuItemClickable ? null : {
|
|
978
997
|
module: e,
|
|
979
998
|
resources: n
|
|
@@ -984,70 +1003,70 @@ var Mt = "appshell-root-nav", Nt = (e) => ({
|
|
|
984
1003
|
icon: e.meta.icon || /* @__PURE__ */ N(ie, {}),
|
|
985
1004
|
items: n
|
|
986
1005
|
}));
|
|
987
|
-
},
|
|
1006
|
+
}, zt = async (e, t, n) => (await Promise.all(e.map(async (e) => {
|
|
988
1007
|
if (q(e.path) !== null || (await G(e.guards)).type !== "pass") return null;
|
|
989
|
-
let r = `${t}/${e.path}`, i = n(e.meta.title, e.path), a = e.component !== void 0, o = e.subResources ? await
|
|
1008
|
+
let r = `${t}/${e.path}`, i = n(e.meta.title, e.path), a = e.component !== void 0, o = e.subResources ? await zt(e.subResources, r, n) : void 0, s = o && o.length > 0;
|
|
990
1009
|
return !a && !s ? null : {
|
|
991
1010
|
title: i,
|
|
992
1011
|
url: a ? r : void 0,
|
|
993
1012
|
items: s ? o : void 0
|
|
994
1013
|
};
|
|
995
|
-
}))).filter((e) => e !== null), J = (e) => e.split("/").filter((e) => e !== ""),
|
|
1014
|
+
}))).filter((e) => e !== null), J = (e) => e.split("/").filter((e) => e !== ""), Bt = (e, t) => {
|
|
996
1015
|
let n = J(e), r = t && n[0] === t ? n.slice(1) : n;
|
|
997
1016
|
return r.length > 0 ? `/${r.join("/")}` : "/";
|
|
998
|
-
},
|
|
1017
|
+
}, Vt = (e) => e.join("/") || "/", Ht = 8, Ut = (e, t) => J(e).map((e) => {
|
|
999
1018
|
let n = q(e);
|
|
1000
1019
|
if (n === null) return e;
|
|
1001
1020
|
let r = t[n] ?? "";
|
|
1002
|
-
return r.length >
|
|
1003
|
-
}),
|
|
1004
|
-
let i =
|
|
1021
|
+
return r.length > Ht ? `${r.slice(0, Ht)}...` : r;
|
|
1022
|
+
}), Wt = async ({ modules: e, locale: t, basePath: n, pathname: r }) => {
|
|
1023
|
+
let i = Oe(t), a = l(kt({
|
|
1005
1024
|
modules: e,
|
|
1006
1025
|
settingsResources: []
|
|
1007
|
-
}),
|
|
1026
|
+
}), Bt(r, n));
|
|
1008
1027
|
if (!a) return [];
|
|
1009
1028
|
let o = /* @__PURE__ */ new Map(), s = a.map((e) => {
|
|
1010
1029
|
let t = e.route.handle;
|
|
1011
1030
|
return t?.node ? {
|
|
1012
1031
|
node: t.node,
|
|
1013
1032
|
params: e.params,
|
|
1014
|
-
pathnameBase:
|
|
1033
|
+
pathnameBase: Vt(J(e.pathnameBase))
|
|
1015
1034
|
} : null;
|
|
1016
1035
|
}).filter((e) => e !== null);
|
|
1017
1036
|
for (let [e, t] of s.entries()) {
|
|
1018
|
-
if (!
|
|
1037
|
+
if (!At(t.node.path)) continue;
|
|
1019
1038
|
let n = s.slice(0, e + 1).map(({ node: e }) => i(e.meta.title, e.path)), r = s.slice(0, e + 1).toReversed().find(({ node: e }) => "resources" in e), a = r && "resources" in r.node && r.node.meta.icon || /* @__PURE__ */ N(ie, {});
|
|
1020
|
-
await
|
|
1039
|
+
await Gt({
|
|
1021
1040
|
node: t.node,
|
|
1022
1041
|
params: t.params,
|
|
1023
1042
|
icon: a,
|
|
1024
1043
|
baseSegments: J(t.pathnameBase),
|
|
1025
|
-
baseDisplaySegments: s.slice(0, e + 1).flatMap(({ node: e, params: t }) =>
|
|
1044
|
+
baseDisplaySegments: s.slice(0, e + 1).flatMap(({ node: e, params: t }) => Ut(e.path, t)),
|
|
1026
1045
|
breadcrumb: n,
|
|
1027
1046
|
resolveTitle: i,
|
|
1028
1047
|
routeMap: o
|
|
1029
1048
|
});
|
|
1030
1049
|
}
|
|
1031
1050
|
return [...o.values()];
|
|
1032
|
-
},
|
|
1051
|
+
}, Gt = async ({ node: e, params: t, icon: n, baseSegments: r, baseDisplaySegments: i, breadcrumb: a, resolveTitle: o, routeMap: s }) => {
|
|
1033
1052
|
if ((await G(e.guards)).type !== "pass") return;
|
|
1034
1053
|
if ("resources" in e ? e.meta.menuItemClickable : e.component !== void 0) {
|
|
1035
|
-
let t =
|
|
1054
|
+
let t = Vt(r);
|
|
1036
1055
|
s.set(t, {
|
|
1037
1056
|
path: t,
|
|
1038
|
-
displayPath:
|
|
1057
|
+
displayPath: Vt(i),
|
|
1039
1058
|
title: o(e.meta.title, e.path),
|
|
1040
1059
|
icon: n,
|
|
1041
1060
|
breadcrumb: a
|
|
1042
1061
|
});
|
|
1043
1062
|
}
|
|
1044
1063
|
let c = "resources" in e ? e.resources : e.subResources;
|
|
1045
|
-
if (!(!c || c.length === 0)) for (let e of c)
|
|
1064
|
+
if (!(!c || c.length === 0)) for (let e of c) At(e.path) || await Gt({
|
|
1046
1065
|
node: e,
|
|
1047
1066
|
params: t,
|
|
1048
1067
|
icon: n,
|
|
1049
1068
|
baseSegments: [...r, ...J(e.path)],
|
|
1050
|
-
baseDisplaySegments: [...i, ...
|
|
1069
|
+
baseDisplaySegments: [...i, ...Ut(e.path, t)],
|
|
1051
1070
|
breadcrumb: [...a, o(e.meta.title, e.path)],
|
|
1052
1071
|
resolveTitle: o,
|
|
1053
1072
|
routeMap: s
|
|
@@ -1055,28 +1074,28 @@ var Mt = "appshell-root-nav", Nt = (e) => ({
|
|
|
1055
1074
|
};
|
|
1056
1075
|
//#endregion
|
|
1057
1076
|
//#region src/components/internals/breadcrumb/breadcrumb.tsx
|
|
1058
|
-
function
|
|
1077
|
+
function Kt({ ...e }) {
|
|
1059
1078
|
return /* @__PURE__ */ N("nav", {
|
|
1060
1079
|
"aria-label": "breadcrumb",
|
|
1061
1080
|
"data-slot": "breadcrumb",
|
|
1062
1081
|
...e
|
|
1063
1082
|
});
|
|
1064
1083
|
}
|
|
1065
|
-
function
|
|
1084
|
+
function qt({ className: e, ...t }) {
|
|
1066
1085
|
return /* @__PURE__ */ N("ol", {
|
|
1067
1086
|
"data-slot": "breadcrumb-list",
|
|
1068
1087
|
className: I("astw:text-muted-foreground astw:flex astw:flex-wrap astw:items-center astw:gap-1.5 astw:text-sm astw:break-words astw:sm:gap-2.5", e),
|
|
1069
1088
|
...t
|
|
1070
1089
|
});
|
|
1071
1090
|
}
|
|
1072
|
-
function
|
|
1091
|
+
function Jt({ className: e, ...t }) {
|
|
1073
1092
|
return /* @__PURE__ */ N("li", {
|
|
1074
1093
|
"data-slot": "breadcrumb-item",
|
|
1075
1094
|
className: I("astw:inline-flex astw:items-center astw:gap-1.5", e),
|
|
1076
1095
|
...t
|
|
1077
1096
|
});
|
|
1078
1097
|
}
|
|
1079
|
-
function
|
|
1098
|
+
function Yt({ render: e, className: t, children: r, to: i, ...a }) {
|
|
1080
1099
|
let o = I("astw:hover:text-foreground astw:transition-colors", t);
|
|
1081
1100
|
return k({
|
|
1082
1101
|
defaultTagName: "a",
|
|
@@ -1092,7 +1111,7 @@ function Kt({ render: e, className: t, children: r, to: i, ...a }) {
|
|
|
1092
1111
|
}
|
|
1093
1112
|
});
|
|
1094
1113
|
}
|
|
1095
|
-
function
|
|
1114
|
+
function Xt({ className: e, ariaCurrent: t = "location", ...n }) {
|
|
1096
1115
|
return /* @__PURE__ */ N("span", {
|
|
1097
1116
|
"data-slot": "breadcrumb-page",
|
|
1098
1117
|
"aria-disabled": "true",
|
|
@@ -1101,7 +1120,7 @@ function qt({ className: e, ariaCurrent: t = "location", ...n }) {
|
|
|
1101
1120
|
...n
|
|
1102
1121
|
});
|
|
1103
1122
|
}
|
|
1104
|
-
function
|
|
1123
|
+
function Zt({ children: e, className: t, ...n }) {
|
|
1105
1124
|
return /* @__PURE__ */ N("li", {
|
|
1106
1125
|
"data-slot": "breadcrumb-separator",
|
|
1107
1126
|
role: "presentation",
|
|
@@ -1113,31 +1132,31 @@ function Jt({ children: e, className: t, ...n }) {
|
|
|
1113
1132
|
}
|
|
1114
1133
|
//#endregion
|
|
1115
1134
|
//#region src/components/sidebar/dynamic-breadcrumb.tsx
|
|
1116
|
-
var
|
|
1135
|
+
var Qt = () => {
|
|
1117
1136
|
let { configurations: e } = V();
|
|
1118
|
-
return
|
|
1119
|
-
},
|
|
1120
|
-
let { basePath: e, segments: t } =
|
|
1121
|
-
return r ? /* @__PURE__ */ N(
|
|
1137
|
+
return Pt(d().pathname, e.basePath, e.modules, e.locale);
|
|
1138
|
+
}, $t = () => {
|
|
1139
|
+
let { basePath: e, segments: t } = Qt(), { overrides: n } = tt(), r = f("/:prefix/settings/:suffix"), i = H();
|
|
1140
|
+
return r ? /* @__PURE__ */ N(Kt, { children: /* @__PURE__ */ N(qt, { children: /* @__PURE__ */ N("div", {
|
|
1122
1141
|
className: "astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",
|
|
1123
|
-
children: /* @__PURE__ */ N(
|
|
1142
|
+
children: /* @__PURE__ */ N(Jt, { children: /* @__PURE__ */ N(Yt, {
|
|
1124
1143
|
to: `/${r.params.prefix}/settings`,
|
|
1125
1144
|
children: i("settings")
|
|
1126
1145
|
}) })
|
|
1127
|
-
}) }) }) : /* @__PURE__ */ N(
|
|
1146
|
+
}) }) }) : /* @__PURE__ */ N(Kt, { children: /* @__PURE__ */ N(qt, { children: t.map((r, i) => {
|
|
1128
1147
|
let a = e ? `/${e}/${r.path}` : `/${r.path}`, o = n.get(a) ?? r.title;
|
|
1129
1148
|
return /* @__PURE__ */ P("div", {
|
|
1130
1149
|
className: "astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",
|
|
1131
|
-
children: [/* @__PURE__ */ N(
|
|
1150
|
+
children: [/* @__PURE__ */ N(Jt, { children: r.clickable ? /* @__PURE__ */ N(Yt, {
|
|
1132
1151
|
to: r.path,
|
|
1133
1152
|
children: o
|
|
1134
|
-
}) : /* @__PURE__ */ N(
|
|
1153
|
+
}) : /* @__PURE__ */ N(Xt, {
|
|
1135
1154
|
ariaCurrent: i === t.length - 1 && "location",
|
|
1136
1155
|
children: o
|
|
1137
|
-
}) }), i < t.length - 1 && /* @__PURE__ */ N(
|
|
1156
|
+
}) }), i < t.length - 1 && /* @__PURE__ */ N(Zt, {})]
|
|
1138
1157
|
}, i);
|
|
1139
1158
|
}) }) });
|
|
1140
|
-
},
|
|
1159
|
+
}, en = [
|
|
1141
1160
|
{
|
|
1142
1161
|
rel: "icon",
|
|
1143
1162
|
type: "image/png",
|
|
@@ -1155,54 +1174,54 @@ var Yt = () => {
|
|
|
1155
1174
|
sizes: "180x180",
|
|
1156
1175
|
href: "data:image/png;base64,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"
|
|
1157
1176
|
}
|
|
1158
|
-
],
|
|
1177
|
+
], tn = " · ", nn = "data-app-shell-favicon", rn = (e) => {
|
|
1159
1178
|
if (e.startsWith("data:")) return e.match(/^data:([^;,]+)/)?.[1];
|
|
1160
1179
|
if (e.endsWith(".svg")) return "image/svg+xml";
|
|
1161
1180
|
if (e.endsWith(".png")) return "image/png";
|
|
1162
1181
|
if (e.endsWith(".ico")) return "image/x-icon";
|
|
1163
|
-
},
|
|
1164
|
-
let { title: e, favicon: t } = V(), { basePath: n, segments: r } =
|
|
1182
|
+
}, an = () => {
|
|
1183
|
+
let { title: e, favicon: t } = V(), { basePath: n, segments: r } = Qt(), i = nt()?.overrides, a = r.at(-1), o;
|
|
1165
1184
|
if (a) {
|
|
1166
1185
|
let e = n ? `/${n}/${a.path}` : `/${a.path}`;
|
|
1167
1186
|
o = i?.get(e) ?? a.title;
|
|
1168
1187
|
}
|
|
1169
|
-
let s = [o, e].filter(Boolean).join(
|
|
1188
|
+
let s = [o, e].filter(Boolean).join(tn), c = typeof document < "u" && document.head.querySelector(`link[rel~="icon"]:not([${nn}])`), l;
|
|
1170
1189
|
return l = t ? [{
|
|
1171
1190
|
rel: "icon",
|
|
1172
1191
|
href: t,
|
|
1173
|
-
type:
|
|
1174
|
-
}] : c ? [] :
|
|
1192
|
+
type: rn(t)
|
|
1193
|
+
}] : c ? [] : en, /* @__PURE__ */ P(M, { children: [s ? /* @__PURE__ */ N("title", { children: s }) : null, l.map(({ rel: e, href: t, type: n, sizes: r }) => /* @__PURE__ */ N("link", {
|
|
1175
1194
|
rel: e,
|
|
1176
1195
|
href: t,
|
|
1177
1196
|
"data-app-shell-favicon": "",
|
|
1178
1197
|
...n ? { type: n } : {},
|
|
1179
1198
|
...r ? { sizes: r } : {}
|
|
1180
1199
|
}, `${e}-${r ?? "any"}`))] });
|
|
1181
|
-
},
|
|
1182
|
-
let { configurations: t, contentRoutes: n, children: r } = e, { loaderID: i, loader: o } =
|
|
1200
|
+
}, on = (e) => {
|
|
1201
|
+
let { configurations: t, contentRoutes: n, children: r } = e, { loaderID: i, loader: o } = It({
|
|
1183
1202
|
modules: t.modules,
|
|
1184
1203
|
locale: t.locale,
|
|
1185
1204
|
basePath: t.basePath
|
|
1186
1205
|
}), s = t.errorBoundary, c = s ? [{
|
|
1187
1206
|
element: /* @__PURE__ */ N(a, {}),
|
|
1188
|
-
ErrorBoundary:
|
|
1207
|
+
ErrorBoundary: Tt(s),
|
|
1189
1208
|
children: n
|
|
1190
1209
|
}] : n;
|
|
1191
1210
|
return {
|
|
1192
1211
|
id: i,
|
|
1193
1212
|
loader: o,
|
|
1194
|
-
element: /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(
|
|
1213
|
+
element: /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(an, {}), r] }),
|
|
1195
1214
|
children: c,
|
|
1196
1215
|
HydrateFallback: () => null
|
|
1197
1216
|
};
|
|
1198
|
-
},
|
|
1217
|
+
}, sn = {
|
|
1199
1218
|
createBrowserRouter: o,
|
|
1200
1219
|
createMemoryRouter: s
|
|
1201
|
-
},
|
|
1202
|
-
let { children: t } = e, { configurations: n } = V(), r = C(() =>
|
|
1220
|
+
}, cn = (e) => {
|
|
1221
|
+
let { children: t } = e, { configurations: n } = V(), r = C(() => kt({
|
|
1203
1222
|
modules: n.modules,
|
|
1204
1223
|
settingsResources: n.settingsResources
|
|
1205
|
-
}), [n.modules, n.settingsResources]), i = C(() => [
|
|
1224
|
+
}), [n.modules, n.settingsResources]), i = C(() => [on({
|
|
1206
1225
|
configurations: n,
|
|
1207
1226
|
contentRoutes: r,
|
|
1208
1227
|
children: t
|
|
@@ -1210,18 +1229,18 @@ var Yt = () => {
|
|
|
1210
1229
|
n,
|
|
1211
1230
|
r,
|
|
1212
1231
|
t
|
|
1213
|
-
]), a = n.basePath ? "/" + n.basePath : void 0, o = e.memory ? e.initialEntries : void 0, s = C(() => e.memory ?
|
|
1232
|
+
]), a = n.basePath ? "/" + n.basePath : void 0, o = e.memory ? e.initialEntries : void 0, s = C(() => e.memory ? sn.createMemoryRouter(i, {
|
|
1214
1233
|
basename: a,
|
|
1215
1234
|
...o ? { initialEntries: o } : {}
|
|
1216
|
-
}) :
|
|
1235
|
+
}) : sn.createBrowserRouter(i, { basename: a }), [
|
|
1217
1236
|
a,
|
|
1218
1237
|
o,
|
|
1219
1238
|
e.memory,
|
|
1220
1239
|
i
|
|
1221
1240
|
]);
|
|
1222
1241
|
return /* @__PURE__ */ N(le, { router: s });
|
|
1223
|
-
},
|
|
1224
|
-
function
|
|
1242
|
+
}, ln = v(null), Y = v(null);
|
|
1243
|
+
function un({ children: e, searchSources: t = [] }) {
|
|
1225
1244
|
let { pathname: n } = d(), { configurations: r } = V(), i = T(/* @__PURE__ */ new Map()), a = T(0), o = T(n), [s, c] = E([]), [l, u] = E(!1), [f, p] = E(null), [m, h] = E([]), [g, _] = E(null), [v, b] = E(!1), S = y(() => {
|
|
1226
1245
|
c(Array.from(i.current.values()).flat());
|
|
1227
1246
|
}, []), w = y((e, t) => (i.current.set(e, t), S(), () => {
|
|
@@ -1232,7 +1251,7 @@ function sn({ children: e, searchSources: t = [] }) {
|
|
|
1232
1251
|
a.current += 1, u(!1), h([]), _(null), b(!1);
|
|
1233
1252
|
}, []), k = y(() => {
|
|
1234
1253
|
let e = a.current + 1;
|
|
1235
|
-
a.current = e, h([]), _(n), b(!0),
|
|
1254
|
+
a.current = e, h([]), _(n), b(!0), Wt({
|
|
1236
1255
|
modules: r.modules,
|
|
1237
1256
|
locale: r.locale,
|
|
1238
1257
|
basePath: r.basePath,
|
|
@@ -1292,7 +1311,7 @@ function sn({ children: e, searchSources: t = [] }) {
|
|
|
1292
1311
|
n,
|
|
1293
1312
|
j
|
|
1294
1313
|
]);
|
|
1295
|
-
return /* @__PURE__ */ N(
|
|
1314
|
+
return /* @__PURE__ */ N(ln.Provider, {
|
|
1296
1315
|
value: M,
|
|
1297
1316
|
children: /* @__PURE__ */ N(Y.Provider, {
|
|
1298
1317
|
value: P,
|
|
@@ -1300,13 +1319,13 @@ function sn({ children: e, searchSources: t = [] }) {
|
|
|
1300
1319
|
})
|
|
1301
1320
|
});
|
|
1302
1321
|
}
|
|
1303
|
-
function
|
|
1304
|
-
let e = b(
|
|
1322
|
+
function dn() {
|
|
1323
|
+
let e = b(ln);
|
|
1305
1324
|
if (!e) throw Error("useCommandPaletteDispatch must be used within CommandPaletteProvider");
|
|
1306
1325
|
return e;
|
|
1307
1326
|
}
|
|
1308
|
-
function
|
|
1309
|
-
let n = S(), { register: r } =
|
|
1327
|
+
function fn(e, t) {
|
|
1328
|
+
let n = S(), { register: r } = dn(), i = T(t);
|
|
1310
1329
|
i.current = t;
|
|
1311
1330
|
let a = t.map((e) => `${e.key}\0${e.label}`).join("\n");
|
|
1312
1331
|
x(() => r(n, i.current.map((t) => ({
|
|
@@ -1320,63 +1339,63 @@ function ln(e, t) {
|
|
|
1320
1339
|
e
|
|
1321
1340
|
]);
|
|
1322
1341
|
}
|
|
1323
|
-
function
|
|
1342
|
+
function pn() {
|
|
1324
1343
|
let e = b(Y);
|
|
1325
1344
|
if (!e) throw Error("useCommandPaletteState must be used within CommandPaletteProvider");
|
|
1326
1345
|
return e;
|
|
1327
1346
|
}
|
|
1328
|
-
function
|
|
1347
|
+
function mn() {
|
|
1329
1348
|
let e = b(Y);
|
|
1330
1349
|
if (!e) throw Error("useOpenCommandPalette must be used within CommandPaletteProvider");
|
|
1331
1350
|
return e.openCommandPalette;
|
|
1332
1351
|
}
|
|
1333
|
-
function
|
|
1352
|
+
function hn() {
|
|
1334
1353
|
let e = b(Y);
|
|
1335
1354
|
if (!e) throw Error("useCommandPaletteActions must be used within CommandPaletteProvider");
|
|
1336
1355
|
return e.actions;
|
|
1337
1356
|
}
|
|
1338
1357
|
//#endregion
|
|
1339
1358
|
//#region src/components/dialog/dialog.tsx
|
|
1340
|
-
function
|
|
1359
|
+
function gn({ ...e }) {
|
|
1341
1360
|
return /* @__PURE__ */ N(F.Root, {
|
|
1342
1361
|
"data-slot": "dialog",
|
|
1343
1362
|
...e
|
|
1344
1363
|
});
|
|
1345
1364
|
}
|
|
1346
|
-
|
|
1347
|
-
function
|
|
1365
|
+
gn.displayName = "Dialog.Root";
|
|
1366
|
+
function _n({ ...e }) {
|
|
1348
1367
|
return /* @__PURE__ */ N(F.Trigger, {
|
|
1349
1368
|
"data-slot": "dialog-trigger",
|
|
1350
1369
|
...e
|
|
1351
1370
|
});
|
|
1352
1371
|
}
|
|
1353
|
-
|
|
1354
|
-
function
|
|
1372
|
+
_n.displayName = "Dialog.Trigger";
|
|
1373
|
+
function vn({ ...e }) {
|
|
1355
1374
|
return /* @__PURE__ */ N(F.Portal, {
|
|
1356
1375
|
"data-slot": "dialog-portal",
|
|
1357
1376
|
...e
|
|
1358
1377
|
});
|
|
1359
1378
|
}
|
|
1360
|
-
|
|
1361
|
-
function
|
|
1379
|
+
vn.displayName = "Dialog.Portal";
|
|
1380
|
+
function yn({ ...e }) {
|
|
1362
1381
|
return /* @__PURE__ */ N(F.Close, {
|
|
1363
1382
|
"data-slot": "dialog-close",
|
|
1364
1383
|
...e
|
|
1365
1384
|
});
|
|
1366
1385
|
}
|
|
1367
|
-
|
|
1368
|
-
function
|
|
1386
|
+
yn.displayName = "Dialog.Close";
|
|
1387
|
+
function bn({ className: e, ...t }) {
|
|
1369
1388
|
return /* @__PURE__ */ N(F.Backdrop, {
|
|
1370
1389
|
"data-slot": "dialog-overlay",
|
|
1371
1390
|
className: I("astw:data-open:animate-in astw:data-ending-style:animate-out astw:data-ending-style:fade-out-0 astw:data-open:fade-in-0 astw:fill-mode-forwards astw:fixed astw:inset-0 astw:z-(--z-overlay) astw:bg-black/50", e),
|
|
1372
1391
|
...t
|
|
1373
1392
|
});
|
|
1374
1393
|
}
|
|
1375
|
-
|
|
1376
|
-
function
|
|
1377
|
-
return /* @__PURE__ */ P(
|
|
1394
|
+
bn.displayName = "Dialog.Overlay";
|
|
1395
|
+
function xn({ className: e, children: t, ...n }) {
|
|
1396
|
+
return /* @__PURE__ */ P(vn, {
|
|
1378
1397
|
"data-slot": "dialog-portal",
|
|
1379
|
-
children: [/* @__PURE__ */ N(
|
|
1398
|
+
children: [/* @__PURE__ */ N(bn, {}), /* @__PURE__ */ P(F.Popup, {
|
|
1380
1399
|
"data-slot": "dialog-content",
|
|
1381
1400
|
className: I("astw:bg-card astw:data-open:animate-in astw:data-ending-style:animate-out astw:data-ending-style:fade-out-0 astw:data-open:fade-in-0 astw:data-ending-style:zoom-out-95 astw:data-open:zoom-in-95 astw:fill-mode-forwards astw:fixed astw:top-[50%] astw:left-[50%] astw:z-(--z-overlay) astw:grid astw:w-full astw:max-w-[calc(100%-2rem)] astw:translate-x-[-50%] astw:translate-y-[-50%] astw:gap-4 astw:rounded-lg astw:border astw:border-border astw:p-6 astw:shadow-lg astw:duration-200 astw:sm:max-w-lg", e),
|
|
1382
1401
|
...n,
|
|
@@ -1390,78 +1409,78 @@ function vn({ className: e, children: t, ...n }) {
|
|
|
1390
1409
|
})]
|
|
1391
1410
|
});
|
|
1392
1411
|
}
|
|
1393
|
-
|
|
1394
|
-
function
|
|
1412
|
+
xn.displayName = "Dialog.Content";
|
|
1413
|
+
function Sn({ className: e, ...t }) {
|
|
1395
1414
|
return /* @__PURE__ */ N("div", {
|
|
1396
1415
|
"data-slot": "dialog-header",
|
|
1397
1416
|
className: I("astw:flex astw:flex-col astw:gap-2 astw:text-center astw:sm:text-left", e),
|
|
1398
1417
|
...t
|
|
1399
1418
|
});
|
|
1400
1419
|
}
|
|
1401
|
-
|
|
1402
|
-
function
|
|
1420
|
+
Sn.displayName = "Dialog.Header";
|
|
1421
|
+
function Cn({ className: e, ...t }) {
|
|
1403
1422
|
return /* @__PURE__ */ N("div", {
|
|
1404
1423
|
"data-slot": "dialog-footer",
|
|
1405
1424
|
className: I("astw:flex astw:flex-col-reverse astw:gap-2 astw:sm:flex-row astw:sm:justify-end", e),
|
|
1406
1425
|
...t
|
|
1407
1426
|
});
|
|
1408
1427
|
}
|
|
1409
|
-
|
|
1410
|
-
function
|
|
1428
|
+
Cn.displayName = "Dialog.Footer";
|
|
1429
|
+
function wn({ className: e, ...t }) {
|
|
1411
1430
|
return /* @__PURE__ */ N(F.Title, {
|
|
1412
1431
|
"data-slot": "dialog-title",
|
|
1413
1432
|
className: I("astw:text-lg astw:leading-none astw:font-semibold", e),
|
|
1414
1433
|
...t
|
|
1415
1434
|
});
|
|
1416
1435
|
}
|
|
1417
|
-
|
|
1418
|
-
function
|
|
1436
|
+
wn.displayName = "Dialog.Title";
|
|
1437
|
+
function Tn({ className: e, ...t }) {
|
|
1419
1438
|
return /* @__PURE__ */ N(F.Description, {
|
|
1420
1439
|
"data-slot": "dialog-description",
|
|
1421
1440
|
className: I("astw:text-muted-foreground astw:text-sm", e),
|
|
1422
1441
|
...t
|
|
1423
1442
|
});
|
|
1424
1443
|
}
|
|
1425
|
-
|
|
1444
|
+
Tn.displayName = "Dialog.Description";
|
|
1426
1445
|
var X = {
|
|
1427
|
-
Root:
|
|
1428
|
-
Close:
|
|
1429
|
-
Content:
|
|
1430
|
-
Description:
|
|
1431
|
-
Footer:
|
|
1432
|
-
Header:
|
|
1433
|
-
Title:
|
|
1434
|
-
Trigger:
|
|
1435
|
-
},
|
|
1436
|
-
"astw:border-input astw:flex astw:w-full astw:min-w-0 astw:rounded-md astw:border astw:bg-transparent astw:px-3 astw:text-base astw:
|
|
1446
|
+
Root: gn,
|
|
1447
|
+
Close: yn,
|
|
1448
|
+
Content: xn,
|
|
1449
|
+
Description: Tn,
|
|
1450
|
+
Footer: Cn,
|
|
1451
|
+
Header: Sn,
|
|
1452
|
+
Title: wn,
|
|
1453
|
+
Trigger: _n
|
|
1454
|
+
}, En = [
|
|
1455
|
+
"astw:border-input astw:flex astw:w-full astw:min-w-0 astw:rounded-md astw:border astw:bg-transparent astw:px-3 astw:text-base astw:outline-none astw:md:text-sm",
|
|
1437
1456
|
"astw:dark:bg-input/30 astw:transition-[color,box-shadow]",
|
|
1438
1457
|
"astw:selection:bg-primary astw:selection:text-primary-foreground",
|
|
1439
1458
|
"astw:placeholder:text-muted-foreground",
|
|
1440
1459
|
"astw:focus-visible:border-ring astw:focus-visible:ring-ring/50 astw:focus-visible:ring-[3px]",
|
|
1441
1460
|
"astw:disabled:pointer-events-none astw:disabled:cursor-not-allowed astw:disabled:opacity-50"
|
|
1442
|
-
],
|
|
1461
|
+
], Dn = [...En, "astw:h-9 astw:py-1"], On = [...En, "astw:min-h-16 astw:py-2 astw:resize-y"];
|
|
1443
1462
|
//#endregion
|
|
1444
1463
|
//#region src/components/input/input.tsx
|
|
1445
|
-
function
|
|
1464
|
+
function kn({ className: e, type: t, ref: n, ...r }) {
|
|
1446
1465
|
let i = g.useRef(null);
|
|
1447
|
-
return
|
|
1466
|
+
return ge(i, { handlesDirectionalKeys: !0 }), /* @__PURE__ */ N("input", {
|
|
1448
1467
|
ref: L(i, n),
|
|
1449
1468
|
type: t,
|
|
1450
1469
|
"data-slot": "input",
|
|
1451
|
-
className: I(
|
|
1470
|
+
className: I(Dn, "astw:file:text-foreground astw:file:inline-flex astw:file:h-7 astw:file:border-0 astw:file:bg-transparent astw:file:text-sm astw:file:font-medium", "astw:aria-invalid:ring-destructive/20 astw:dark:aria-invalid:ring-destructive/40 astw:aria-invalid:border-destructive", e),
|
|
1452
1471
|
...r
|
|
1453
1472
|
});
|
|
1454
1473
|
}
|
|
1455
1474
|
//#endregion
|
|
1456
1475
|
//#region src/components/spinner/spinner.tsx
|
|
1457
|
-
var
|
|
1476
|
+
var An = {
|
|
1458
1477
|
xs: 12,
|
|
1459
1478
|
sm: 14,
|
|
1460
1479
|
default: 16,
|
|
1461
1480
|
lg: 20
|
|
1462
1481
|
};
|
|
1463
|
-
function
|
|
1464
|
-
let a = i["aria-label"] != null || i["aria-labelledby"] != null, o = i["aria-hidden"] === !0 || i["aria-hidden"] == null && i.role == null && !a, s =
|
|
1482
|
+
function jn({ className: e, size: t = "default", width: n, height: r, ...i }) {
|
|
1483
|
+
let a = i["aria-label"] != null || i["aria-labelledby"] != null, o = i["aria-hidden"] === !0 || i["aria-hidden"] == null && i.role == null && !a, s = An[t];
|
|
1465
1484
|
return /* @__PURE__ */ N("svg", {
|
|
1466
1485
|
"data-slot": "spinner",
|
|
1467
1486
|
viewBox: "0 0 16 16",
|
|
@@ -1488,7 +1507,7 @@ function On({ className: e, size: t = "default", width: n, height: r, ...i }) {
|
|
|
1488
1507
|
//#endregion
|
|
1489
1508
|
//#region src/components/command-palette/command-palette.tsx
|
|
1490
1509
|
var Z = "astw:relative astw:flex astw:w-full astw:cursor-pointer astw:select-none astw:rounded-sm astw:px-2 astw:py-2 astw:text-sm astw:outline-none astw:text-left", Q = (e) => e ? "astw:bg-accent astw:text-accent-foreground" : "astw:hover:bg-accent astw:hover:text-accent-foreground";
|
|
1491
|
-
function
|
|
1510
|
+
function Mn(e) {
|
|
1492
1511
|
let t = [], n = (e, r, i) => {
|
|
1493
1512
|
e.forEach((e) => {
|
|
1494
1513
|
let a = [...i, e.title];
|
|
@@ -1509,17 +1528,17 @@ function kn(e) {
|
|
|
1509
1528
|
}), n(e.items, e.icon, [e.title]);
|
|
1510
1529
|
}), t;
|
|
1511
1530
|
}
|
|
1512
|
-
function
|
|
1531
|
+
function Nn(e, t) {
|
|
1513
1532
|
if (!t.trim()) return e;
|
|
1514
1533
|
let n = t.toLowerCase();
|
|
1515
1534
|
return e.filter((e) => e.label.toLowerCase().includes(n));
|
|
1516
1535
|
}
|
|
1517
|
-
var
|
|
1536
|
+
var Pn = 300, Fn = (e) => e === "/" || e.startsWith("/_"), In = {
|
|
1518
1537
|
mode: "browse",
|
|
1519
1538
|
search: "",
|
|
1520
1539
|
selectedIndex: 0
|
|
1521
|
-
},
|
|
1522
|
-
function
|
|
1540
|
+
}, Ln = [];
|
|
1541
|
+
function Rn(e, t) {
|
|
1523
1542
|
switch (t.type) {
|
|
1524
1543
|
case "SET_SEARCH": return e.mode === "search" ? {
|
|
1525
1544
|
...e,
|
|
@@ -1557,7 +1576,7 @@ function Fn(e, t) {
|
|
|
1557
1576
|
results: [],
|
|
1558
1577
|
isSearching: !1
|
|
1559
1578
|
};
|
|
1560
|
-
case "EXIT_SEARCH_MODE": return
|
|
1579
|
+
case "EXIT_SEARCH_MODE": return In;
|
|
1561
1580
|
case "SEARCH_START": return e.mode === "search" ? {
|
|
1562
1581
|
...e,
|
|
1563
1582
|
isSearching: !0,
|
|
@@ -1581,10 +1600,10 @@ function Fn(e, t) {
|
|
|
1581
1600
|
...e,
|
|
1582
1601
|
selectedIndex: Math.max(e.selectedIndex - 1, 0)
|
|
1583
1602
|
};
|
|
1584
|
-
case "RESET": return
|
|
1603
|
+
case "RESET": return In;
|
|
1585
1604
|
}
|
|
1586
1605
|
}
|
|
1587
|
-
function
|
|
1606
|
+
function zn(e, t) {
|
|
1588
1607
|
let n = e.indexOf(":");
|
|
1589
1608
|
if (n < 1) return {
|
|
1590
1609
|
activeSource: null,
|
|
@@ -1599,13 +1618,13 @@ function In(e, t) {
|
|
|
1599
1618
|
searchQuery: e
|
|
1600
1619
|
};
|
|
1601
1620
|
}
|
|
1602
|
-
function
|
|
1603
|
-
let a = p(), o = T(null), [s, c] = w(
|
|
1621
|
+
function Bn({ routes: e, contextualActions: t = [], searchSources: n = [], open: r, setOpen: i }) {
|
|
1622
|
+
let a = p(), o = T(null), [s, c] = w(Rn, In), l = T(null), u = s.mode === "search" ? s.query : s.search, d = s.selectedIndex, f = s.mode === "search" ? s.source : null, m = s.mode === "search" ? s.results : Ln, h = s.mode === "search" && s.isSearching, g = C(() => f ? [] : Nn(t, u), [
|
|
1604
1623
|
t,
|
|
1605
1624
|
u,
|
|
1606
1625
|
f
|
|
1607
|
-
]), _ = C(() => f ? [] :
|
|
1608
|
-
let n =
|
|
1626
|
+
]), _ = C(() => f ? [] : jt(e, u).toSorted((e, t) => {
|
|
1627
|
+
let n = Fn(e.path), r = Fn(t.path);
|
|
1609
1628
|
return Number(n) - Number(r) || e.path.localeCompare(t.path);
|
|
1610
1629
|
}), [
|
|
1611
1630
|
e,
|
|
@@ -1628,7 +1647,7 @@ function Ln({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1628
1647
|
}).catch(() => {
|
|
1629
1648
|
e.signal.aborted || c({ type: "SEARCH_FAIL" });
|
|
1630
1649
|
});
|
|
1631
|
-
},
|
|
1650
|
+
}, Pn);
|
|
1632
1651
|
return () => {
|
|
1633
1652
|
clearTimeout(e), l.current?.abort(), l.current = null;
|
|
1634
1653
|
};
|
|
@@ -1669,7 +1688,7 @@ function Ln({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1669
1688
|
});
|
|
1670
1689
|
return;
|
|
1671
1690
|
}
|
|
1672
|
-
let t =
|
|
1691
|
+
let t = zn(e, n);
|
|
1673
1692
|
c({
|
|
1674
1693
|
type: "SET_SEARCH",
|
|
1675
1694
|
value: e,
|
|
@@ -1677,7 +1696,7 @@ function Ln({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1677
1696
|
detectedQuery: t.activeSource ? t.searchQuery : void 0
|
|
1678
1697
|
});
|
|
1679
1698
|
}, [s.mode, n]), S = y((e) => {
|
|
1680
|
-
let t =
|
|
1699
|
+
let t = zn(e, n);
|
|
1681
1700
|
c({
|
|
1682
1701
|
type: "INITIALIZE_SEARCH",
|
|
1683
1702
|
value: e,
|
|
@@ -1746,10 +1765,10 @@ function Ln({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1746
1765
|
listRef: o
|
|
1747
1766
|
};
|
|
1748
1767
|
}
|
|
1749
|
-
function
|
|
1750
|
-
let n = H(), r =
|
|
1768
|
+
function Vn({ navItems: e, extraRoutes: t = [] }) {
|
|
1769
|
+
let n = H(), r = hn(), { searchSources: i, open: a, setOpen: o, openRequest: s, clearOpenRequest: c, dynamicRoutes: l, isLoadingDynamicRoutes: u } = pn(), { open: d, handleOpenChange: f, search: p, setSearch: m, initializeSearch: h, selectedIndex: g, filteredActions: _, filteredRoutes: v, searchResults: y, activeSearchSource: b, isSearching: S, selectableItems: w, handleSelectItem: T, handleKeyDown: E, listRef: D } = Bn({
|
|
1751
1770
|
routes: C(() => [
|
|
1752
|
-
...
|
|
1771
|
+
...Mn(e),
|
|
1753
1772
|
...t,
|
|
1754
1773
|
...l
|
|
1755
1774
|
], [
|
|
@@ -1790,7 +1809,7 @@ function Rn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1790
1809
|
className: "astw:inline-flex astw:items-center astw:shrink-0 astw:rounded astw:bg-muted astw:px-1.5 astw:py-0.5 astw:mr-1.5 astw:text-xs astw:font-medium astw:text-muted-foreground",
|
|
1791
1810
|
children: b.prefix
|
|
1792
1811
|
}),
|
|
1793
|
-
/* @__PURE__ */ N(
|
|
1812
|
+
/* @__PURE__ */ N(kn, {
|
|
1794
1813
|
value: p,
|
|
1795
1814
|
onChange: (e) => m(e.target.value),
|
|
1796
1815
|
placeholder: n("commandPaletteSearch"),
|
|
@@ -1810,7 +1829,7 @@ function Rn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1810
1829
|
children: [
|
|
1811
1830
|
u && /* @__PURE__ */ P("output", {
|
|
1812
1831
|
className: "astw:flex astw:items-center astw:justify-center astw:gap-2 astw:py-4 astw:text-sm astw:text-muted-foreground",
|
|
1813
|
-
children: [/* @__PURE__ */ N(
|
|
1832
|
+
children: [/* @__PURE__ */ N(jn, { "aria-label": n("commandPaletteLoadingRoutes") }), n("commandPaletteLoadingRoutes")]
|
|
1814
1833
|
}),
|
|
1815
1834
|
k > 0 && /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N("div", {
|
|
1816
1835
|
className: "astw:px-2 astw:py-1.5 astw:text-xs astw:font-medium astw:text-muted-foreground",
|
|
@@ -1917,23 +1936,23 @@ function Rn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1917
1936
|
]
|
|
1918
1937
|
}), S && /* @__PURE__ */ P("div", {
|
|
1919
1938
|
className: "astw:flex astw:items-center astw:justify-center astw:gap-2 astw:py-4 astw:text-sm astw:text-muted-foreground",
|
|
1920
|
-
children: [/* @__PURE__ */ N(
|
|
1939
|
+
children: [/* @__PURE__ */ N(jn, {}), n("commandPaletteSearching")]
|
|
1921
1940
|
})]
|
|
1922
1941
|
})
|
|
1923
1942
|
]
|
|
1924
1943
|
})
|
|
1925
1944
|
});
|
|
1926
1945
|
}
|
|
1927
|
-
function
|
|
1946
|
+
function Hn() {
|
|
1928
1947
|
return null;
|
|
1929
1948
|
}
|
|
1930
|
-
function
|
|
1931
|
-
let e =
|
|
1949
|
+
function Un() {
|
|
1950
|
+
let e = Lt(), n = ut();
|
|
1932
1951
|
return /* @__PURE__ */ N(_, {
|
|
1933
1952
|
fallback: null,
|
|
1934
1953
|
children: /* @__PURE__ */ N(t, {
|
|
1935
1954
|
resolve: e,
|
|
1936
|
-
children: (e) => /* @__PURE__ */ N(
|
|
1955
|
+
children: (e) => /* @__PURE__ */ N(Vn, {
|
|
1937
1956
|
navItems: e ?? [],
|
|
1938
1957
|
extraRoutes: [n]
|
|
1939
1958
|
})
|
|
@@ -1942,13 +1961,13 @@ function Bn() {
|
|
|
1942
1961
|
}
|
|
1943
1962
|
//#endregion
|
|
1944
1963
|
//#region src/hooks/use-is-client.ts
|
|
1945
|
-
var
|
|
1946
|
-
function
|
|
1947
|
-
return D(
|
|
1964
|
+
var Wn = () => () => {}, Gn = () => !0, Kn = () => !1;
|
|
1965
|
+
function qn() {
|
|
1966
|
+
return D(Wn, Gn, Kn);
|
|
1948
1967
|
}
|
|
1949
1968
|
//#endregion
|
|
1950
1969
|
//#region src/fs-routes/converter.tsx
|
|
1951
|
-
function
|
|
1970
|
+
function Jn(e) {
|
|
1952
1971
|
let t = {
|
|
1953
1972
|
path: "",
|
|
1954
1973
|
fullPath: "",
|
|
@@ -1967,12 +1986,12 @@ function Gn(e) {
|
|
|
1967
1986
|
}
|
|
1968
1987
|
return t;
|
|
1969
1988
|
}
|
|
1970
|
-
function
|
|
1971
|
-
return e?.appShellPageProps?.meta?.title ??
|
|
1989
|
+
function Yn(e, t) {
|
|
1990
|
+
return e?.appShellPageProps?.meta?.title ?? Ue(t);
|
|
1972
1991
|
}
|
|
1973
|
-
function
|
|
1974
|
-
let t = e.component, n =
|
|
1975
|
-
for (let t of e.children.values()) o.push(
|
|
1992
|
+
function Xn(e) {
|
|
1993
|
+
let t = e.component, n = Yn(t, e.path), r = t?.appShellPageProps?.meta?.icon, i = t?.appShellPageProps?.meta?.breadcrumbTitle, a = e.guards && e.guards.length > 0 ? K(e.guards) : void 0, o = [];
|
|
1994
|
+
for (let t of e.children.values()) o.push(Xn(t));
|
|
1976
1995
|
return {
|
|
1977
1996
|
_type: "resource",
|
|
1978
1997
|
type: "component",
|
|
@@ -1989,9 +2008,9 @@ function qn(e) {
|
|
|
1989
2008
|
loader: a
|
|
1990
2009
|
};
|
|
1991
2010
|
}
|
|
1992
|
-
function
|
|
1993
|
-
let t = e.component, n =
|
|
1994
|
-
for (let t of e.children.values()) o.push(
|
|
2011
|
+
function Zn(e) {
|
|
2012
|
+
let t = e.component, n = Yn(t, e.path), r = t?.appShellPageProps?.meta?.icon, i = t?.appShellPageProps?.meta?.breadcrumbTitle, a = e.guards && e.guards.length > 0 ? K(e.guards) : void 0, o = [];
|
|
2013
|
+
for (let t of e.children.values()) o.push(Xn(t));
|
|
1995
2014
|
return {
|
|
1996
2015
|
_type: "module",
|
|
1997
2016
|
type: "component",
|
|
@@ -2009,33 +2028,33 @@ function Jn(e) {
|
|
|
2009
2028
|
loader: a
|
|
2010
2029
|
};
|
|
2011
2030
|
}
|
|
2012
|
-
function
|
|
2031
|
+
function Qn(e) {
|
|
2013
2032
|
if (e.length === 0) return [];
|
|
2014
|
-
let t =
|
|
2033
|
+
let t = Jn(e), n = [];
|
|
2015
2034
|
if (t.component) {
|
|
2016
|
-
let e =
|
|
2035
|
+
let e = Zn({
|
|
2017
2036
|
...t,
|
|
2018
2037
|
path: "",
|
|
2019
2038
|
children: /* @__PURE__ */ new Map()
|
|
2020
2039
|
});
|
|
2021
2040
|
n.push(e);
|
|
2022
2041
|
}
|
|
2023
|
-
for (let e of t.children.values()) n.push(
|
|
2042
|
+
for (let e of t.children.values()) n.push(Zn(e));
|
|
2024
2043
|
return n;
|
|
2025
2044
|
}
|
|
2026
2045
|
//#endregion
|
|
2027
2046
|
//#region src/components/appshell/appshell.tsx
|
|
2028
2047
|
var $ = (e) => {
|
|
2029
|
-
let t =
|
|
2030
|
-
|
|
2048
|
+
let t = qn();
|
|
2049
|
+
ze(e.contextData ?? {});
|
|
2031
2050
|
let { modules: n, rootComponent: r, rootGuards: i } = e, a = e.memory ? {
|
|
2032
2051
|
memory: !0,
|
|
2033
2052
|
initialEntries: e.initialEntries
|
|
2034
|
-
} : { memory: !1 }, o = C(() => n && (n.some((e) => e.path === "") ? ((r || i?.length) && console.warn("[AppShell] Both a root module (path=\"\") and rootComponent/rootGuards are provided. The root module takes precedence; rootComponent and rootGuards will be ignored. Define guards directly on the root module instead."), n) : r || i?.length ? [
|
|
2053
|
+
} : { memory: !1 }, o = C(() => n && (n.some((e) => e.path === "") ? ((r || i?.length) && console.warn("[AppShell] Both a root module (path=\"\") and rootComponent/rootGuards are provided. The root module takes precedence; rootComponent and rootGuards will be ignored. Define guards directly on the root module instead."), n) : r || i?.length ? [Ge({
|
|
2035
2054
|
path: "",
|
|
2036
2055
|
...r ? {
|
|
2037
2056
|
meta: {
|
|
2038
|
-
title:
|
|
2057
|
+
title: Le.t("home"),
|
|
2039
2058
|
icon: /* @__PURE__ */ N(ne, {})
|
|
2040
2059
|
},
|
|
2041
2060
|
component: () => r()
|
|
@@ -2046,7 +2065,7 @@ var $ = (e) => {
|
|
|
2046
2065
|
n,
|
|
2047
2066
|
r,
|
|
2048
2067
|
i
|
|
2049
|
-
]), s = C(() => o ?
|
|
2068
|
+
]), s = C(() => o ? ke({
|
|
2050
2069
|
modules: o,
|
|
2051
2070
|
settingsResources: e.settingsResources,
|
|
2052
2071
|
basePath: e.basePath,
|
|
@@ -2091,15 +2110,15 @@ var $ = (e) => {
|
|
|
2091
2110
|
}
|
|
2092
2111
|
return t ? /* @__PURE__ */ N(B.Provider, {
|
|
2093
2112
|
value: c,
|
|
2094
|
-
children: /* @__PURE__ */ N(
|
|
2113
|
+
children: /* @__PURE__ */ N(Ae.Provider, {
|
|
2095
2114
|
value: l,
|
|
2096
|
-
children: /* @__PURE__ */ N(
|
|
2115
|
+
children: /* @__PURE__ */ N(et, { children: /* @__PURE__ */ N(yt, {
|
|
2097
2116
|
defaultColorTheme: e.defaultColorTheme,
|
|
2098
|
-
children: /* @__PURE__ */ N(
|
|
2117
|
+
children: /* @__PURE__ */ N(cn, {
|
|
2099
2118
|
...a,
|
|
2100
|
-
children: /* @__PURE__ */ P(
|
|
2119
|
+
children: /* @__PURE__ */ P(un, {
|
|
2101
2120
|
searchSources: e.searchSources,
|
|
2102
|
-
children: [e.children, /* @__PURE__ */ N(
|
|
2121
|
+
children: [e.children, /* @__PURE__ */ N(Un, {})]
|
|
2103
2122
|
})
|
|
2104
2123
|
})
|
|
2105
2124
|
}) })
|
|
@@ -2107,18 +2126,18 @@ var $ = (e) => {
|
|
|
2107
2126
|
}) : null;
|
|
2108
2127
|
};
|
|
2109
2128
|
$.WithPages = (e) => {
|
|
2110
|
-
let t =
|
|
2129
|
+
let t = Qn(e);
|
|
2111
2130
|
return (e) => /* @__PURE__ */ N($, {
|
|
2112
2131
|
...e,
|
|
2113
2132
|
modules: t,
|
|
2114
2133
|
memory: !1
|
|
2115
2134
|
});
|
|
2116
2135
|
};
|
|
2117
|
-
var
|
|
2136
|
+
var $n = (e) => /* @__PURE__ */ N($, {
|
|
2118
2137
|
...e,
|
|
2119
2138
|
memory: !1
|
|
2120
2139
|
});
|
|
2121
|
-
|
|
2122
|
-
var
|
|
2140
|
+
$n.WithPages = $.WithPages;
|
|
2141
|
+
var er = $n;
|
|
2123
2142
|
//#endregion
|
|
2124
|
-
export {
|
|
2143
|
+
export { je as A, I as B, Ve as C, Ie as D, H as E, Ce as F, Se as I, L, Pe as M, z as N, Me as O, R as P, ge as R, Ke as S, He as T, pt as _, kn as a, Qe as b, X as c, fn as d, $t as f, Ct as g, q as h, jn as i, Ne as j, V as k, pn as l, Lt as m, $ as n, Dn as o, Qt as p, Hn as r, On as s, er as t, mn as u, bt as v, Be as w, Ge as x, rt as y, pe as z };
|