@tailor-platform/app-shell 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-shell-core.css +2 -2
- package/dist/app-shell.d.ts +807 -130
- package/dist/app-shell.js +12419 -10930
- package/dist/{appshell-DQTz-QwK.js → appshell-B4QkQvXF.js} +377 -360
- package/dist/fonts/inter.css +7 -7
- package/dist/fonts/noto-sans-jp.css +116 -116
- package/dist/testing.d.ts +119 -89
- package/dist/testing.js +1 -1
- package/dist/vite-plugin.d.ts +119 -89
- package/package.json +10 -8
- package/skills/app-shell-patterns/SKILL.md +4 -3
- package/skills/app-shell-patterns/references/api/create-ai-gateway-client.md +32 -2
- package/skills/app-shell-patterns/references/api/define-module.md +5 -5
- package/skills/app-shell-patterns/references/api/router/use-params.md +2 -2
- package/skills/app-shell-patterns/references/api/use-ai-chat.md +46 -8
- package/skills/app-shell-patterns/references/api/use-app-shell-config.md +4 -4
- package/skills/app-shell-patterns/references/api/use-app-shell-data.md +5 -5
- package/skills/app-shell-patterns/references/api/use-app-shell.md +2 -2
- package/skills/app-shell-patterns/references/api/use-auth.md +3 -3
- package/skills/app-shell-patterns/references/api/use-route-error.md +12 -12
- package/skills/app-shell-patterns/references/components/action-panel.md +4 -2
- package/skills/app-shell-patterns/references/components/activity-card.md +3 -3
- package/skills/app-shell-patterns/references/components/ai-chat.md +37 -3
- package/skills/app-shell-patterns/references/components/app-shell.md +6 -5
- package/skills/app-shell-patterns/references/components/card.md +2 -2
- package/skills/app-shell-patterns/references/components/data-table.md +87 -31
- package/skills/app-shell-patterns/references/components/date-picker.md +2 -2
- package/skills/app-shell-patterns/references/components/default-sidebar.md +2 -2
- package/skills/app-shell-patterns/references/components/dialog.md +8 -0
- package/skills/app-shell-patterns/references/components/filter-rail.md +10 -3
- package/skills/app-shell-patterns/references/components/form.md +5 -5
- package/skills/app-shell-patterns/references/components/global-header-layout.md +31 -8
- package/skills/app-shell-patterns/references/components/layout.md +24 -17
- package/skills/app-shell-patterns/references/components/select.md +8 -0
- package/skills/app-shell-patterns/references/components/sidebar-group.md +9 -7
- package/skills/app-shell-patterns/references/components/sidebar-layout.md +74 -11
- package/skills/app-shell-patterns/references/components/sidebar-section.md +8 -8
- package/skills/app-shell-patterns/references/components/tabs.md +32 -2
- package/skills/app-shell-patterns/references/components/tree.md +342 -0
- package/skills/app-shell-patterns/references/components/with-guard.md +5 -5
- package/skills/app-shell-patterns/references/concepts/authentication.md +1 -1
- package/skills/app-shell-patterns/references/concepts/routing-navigation.md +3 -3
- package/skills/app-shell-patterns/references/concepts/styling-theming.md +13 -13
- package/skills/app-shell-patterns/references/migrations.md +20 -0
- package/skills/app-shell-patterns/references/pages/document-detail.md +8 -12
- package/skills/app-shell-patterns/references/patterns/interaction-multi-select.md +1 -1
|
@@ -10,11 +10,12 @@ 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";
|
|
12
12
|
import { RouterProvider as le } from "react-router/dom";
|
|
13
|
-
import {
|
|
13
|
+
import { createPortal as ue } from "react-dom";
|
|
14
|
+
import { Toaster as de } from "sonner";
|
|
14
15
|
import { Dialog as F } from "@base-ui/react/dialog";
|
|
15
|
-
import { parsePath as
|
|
16
|
+
import { parsePath as fe } from "@tailor-platform/vite-plugin-app-shell/parser";
|
|
16
17
|
//#region src/lib/utils.ts
|
|
17
|
-
var
|
|
18
|
+
var pe = j({ extend: { classGroups: { "font-size": [{ text: [
|
|
18
19
|
"heading-lg",
|
|
19
20
|
"heading-md",
|
|
20
21
|
"heading-sm",
|
|
@@ -27,11 +28,11 @@ var fe = j({ extend: { classGroups: { "font-size": [{ text: [
|
|
|
27
28
|
"body-sm-relaxed"
|
|
28
29
|
] }] } } });
|
|
29
30
|
function I(...e) {
|
|
30
|
-
return
|
|
31
|
+
return pe(A(e));
|
|
31
32
|
}
|
|
32
33
|
//#endregion
|
|
33
34
|
//#region src/components/internals/separator/separator.tsx
|
|
34
|
-
function
|
|
35
|
+
function me({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }) {
|
|
35
36
|
return /* @__PURE__ */ N("div", {
|
|
36
37
|
"data-slot": "separator-root",
|
|
37
38
|
role: n ? "none" : "separator",
|
|
@@ -43,18 +44,18 @@ function pe({ className: e, orientation: t = "horizontal", decorative: n = !0, .
|
|
|
43
44
|
}
|
|
44
45
|
//#endregion
|
|
45
46
|
//#region src/components/toolbar/toolbar.tsx
|
|
46
|
-
var
|
|
47
|
-
function
|
|
47
|
+
var he = g.createContext(null), ge = typeof document > "u" ? g.useEffect : g.useLayoutEffect;
|
|
48
|
+
function L(...e) {
|
|
48
49
|
return (t) => {
|
|
49
50
|
for (let n of e) typeof n == "function" ? n(t) : n && (n.current = t);
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
function _e(e, t = {}) {
|
|
53
|
-
let n = g.useContext(
|
|
54
|
-
|
|
54
|
+
let n = g.useContext(he), { handlesDirectionalKeys: r = !1 } = t;
|
|
55
|
+
ge(() => {
|
|
55
56
|
let t = e.current;
|
|
56
57
|
if (!(!n || !t)) return n.registerItem(t, { handlesDirectionalKeys: r }), () => n.unregisterItem(t);
|
|
57
|
-
}, [n, e]),
|
|
58
|
+
}, [n, e]), ge(() => {
|
|
58
59
|
let t = e.current;
|
|
59
60
|
n && t && n.updateItem(t, { handlesDirectionalKeys: r });
|
|
60
61
|
}, [
|
|
@@ -90,10 +91,10 @@ function be({ className: e, justify: t = "start", onKeyDown: n, ref: r, ...i })
|
|
|
90
91
|
c,
|
|
91
92
|
l
|
|
92
93
|
]);
|
|
93
|
-
return /* @__PURE__ */ N(
|
|
94
|
+
return /* @__PURE__ */ N(he.Provider, {
|
|
94
95
|
value: u,
|
|
95
96
|
children: /* @__PURE__ */ N("div", {
|
|
96
|
-
ref:
|
|
97
|
+
ref: L(a, r),
|
|
97
98
|
"data-slot": "toolbar-row",
|
|
98
99
|
role: "toolbar",
|
|
99
100
|
tabIndex: -1,
|
|
@@ -125,7 +126,7 @@ function xe({ className: e, ...t }) {
|
|
|
125
126
|
}
|
|
126
127
|
xe.displayName = "Toolbar.Group";
|
|
127
128
|
function Se({ className: e, ...t }) {
|
|
128
|
-
return /* @__PURE__ */ N(
|
|
129
|
+
return /* @__PURE__ */ N(me, {
|
|
129
130
|
"data-slot": "toolbar-separator",
|
|
130
131
|
decorative: !1,
|
|
131
132
|
orientation: "vertical",
|
|
@@ -162,12 +163,12 @@ var Ce = {
|
|
|
162
163
|
size: "default"
|
|
163
164
|
}
|
|
164
165
|
});
|
|
165
|
-
function
|
|
166
|
+
function R({ className: e, variant: t, size: n, render: r, children: i, ref: a, ...o }) {
|
|
166
167
|
let s = g.useRef(null);
|
|
167
168
|
return _e(s), k({
|
|
168
169
|
defaultTagName: "button",
|
|
169
170
|
render: r,
|
|
170
|
-
ref:
|
|
171
|
+
ref: L(s, a),
|
|
171
172
|
props: {
|
|
172
173
|
"data-slot": "button",
|
|
173
174
|
className: I(we({
|
|
@@ -202,49 +203,49 @@ var Te = Symbol("localized-label"), Ee = () => {
|
|
|
202
203
|
} catch {
|
|
203
204
|
return e;
|
|
204
205
|
}
|
|
205
|
-
},
|
|
206
|
-
let n =
|
|
206
|
+
}, z = (e) => (t, n) => t ? typeof t == "string" ? t : t(e) ?? n : n, ke = (t) => {
|
|
207
|
+
let n = z(t);
|
|
207
208
|
return (t, r) => n(t, typeof t == "string" ? t : e(r));
|
|
208
209
|
}, Ae = (e) => ({
|
|
209
210
|
modules: e.modules,
|
|
210
211
|
settingsResources: e.settingsResources ?? [],
|
|
211
|
-
errorBoundary: e.errorBoundary ?? /* @__PURE__ */ N(
|
|
212
|
+
errorBoundary: e.errorBoundary ?? /* @__PURE__ */ N(G, {}),
|
|
212
213
|
basePath: e.basePath,
|
|
213
214
|
locale: e.locale ? Oe(e.locale) : Ee(),
|
|
214
215
|
resolvedLocale: e.locale ?? De(),
|
|
215
216
|
timeZone: e.timeZone
|
|
216
|
-
}),
|
|
217
|
+
}), B = v({ configurations: {
|
|
217
218
|
modules: [],
|
|
218
219
|
settingsResources: [],
|
|
219
220
|
locale: "en",
|
|
220
221
|
errorBoundary: null
|
|
221
|
-
} }), je = v({ contextData: {} }),
|
|
222
|
-
let e = b(
|
|
222
|
+
} }), je = v({ contextData: {} }), V = () => b(B), Me = () => b(je), Ne = () => {
|
|
223
|
+
let e = b(B), t = b(je);
|
|
223
224
|
return {
|
|
224
225
|
...e,
|
|
225
226
|
...t
|
|
226
227
|
};
|
|
227
228
|
}, Pe = () => {
|
|
228
|
-
let { configurations: e } = b(
|
|
229
|
+
let { configurations: e } = b(B);
|
|
229
230
|
return {
|
|
230
231
|
locale: e.resolvedLocale ?? e.locale,
|
|
231
232
|
language: e.locale
|
|
232
233
|
};
|
|
233
234
|
}, Fe = () => {
|
|
234
|
-
let { configurations: e } = b(
|
|
235
|
+
let { configurations: e } = b(B), t = e.timeZone ?? oe();
|
|
235
236
|
return {
|
|
236
237
|
value: t,
|
|
237
238
|
today: () => ce(t),
|
|
238
239
|
now: () => se(t)
|
|
239
240
|
};
|
|
240
241
|
}, Ie = () => {
|
|
241
|
-
let { configurations: e } =
|
|
242
|
+
let { configurations: e } = V(), t = z(e.locale);
|
|
242
243
|
return (e, n) => t(e, n);
|
|
243
244
|
}, Le = (e) => {
|
|
244
245
|
let t = (t) => (n) => e[t]?.[n] ?? e.en[n];
|
|
245
246
|
return {
|
|
246
247
|
useT: () => {
|
|
247
|
-
let { configurations: n } =
|
|
248
|
+
let { configurations: n } = V(), r = t(n.locale), i = ((e, ...t) => {
|
|
248
249
|
let n = r(e);
|
|
249
250
|
return typeof n == "function" ? n(t[0]) : n;
|
|
250
251
|
});
|
|
@@ -301,6 +302,7 @@ var Te = Symbol("localized-label"), Ee = () => {
|
|
|
301
302
|
aiChatThoughtFor: (e) => `Thought for ${e.seconds}s`,
|
|
302
303
|
aiChatReasoning: "Reasoning",
|
|
303
304
|
aiChatChainOfThought: "Chain of thought",
|
|
305
|
+
aiChatToolCall: (e) => `Tool call: ${e.name}`,
|
|
304
306
|
aiChatToolPreparing: "Preparing",
|
|
305
307
|
aiChatToolRunning: "Running",
|
|
306
308
|
aiChatToolDone: "Done",
|
|
@@ -351,6 +353,7 @@ var Te = Symbol("localized-label"), Ee = () => {
|
|
|
351
353
|
aiChatThoughtFor: (e) => `${e.seconds}秒 思考しました`,
|
|
352
354
|
aiChatReasoning: "思考",
|
|
353
355
|
aiChatChainOfThought: "思考の流れ",
|
|
356
|
+
aiChatToolCall: (e) => `ツール呼び出し: ${e.name}`,
|
|
354
357
|
aiChatToolPreparing: "準備中",
|
|
355
358
|
aiChatToolRunning: "実行中",
|
|
356
359
|
aiChatToolDone: "完了",
|
|
@@ -359,7 +362,7 @@ var Te = Symbol("localized-label"), Ee = () => {
|
|
|
359
362
|
aiChatToolResult: "結果",
|
|
360
363
|
aiChatSourcesUsed: (e) => `${e.count} 件の出典を使用`
|
|
361
364
|
}
|
|
362
|
-
}),
|
|
365
|
+
}), H = Re.useT, ze = O("", {
|
|
363
366
|
variants: { variant: {
|
|
364
367
|
"heading-lg": "astw:text-heading-lg",
|
|
365
368
|
"heading-md": "astw:text-heading-md",
|
|
@@ -414,7 +417,7 @@ var He = {
|
|
|
414
417
|
span: "label-md",
|
|
415
418
|
div: "body-md"
|
|
416
419
|
};
|
|
417
|
-
function
|
|
420
|
+
function U(e) {
|
|
418
421
|
let t = He[e], n = e;
|
|
419
422
|
function r({ className: e, variant: r, ...i }) {
|
|
420
423
|
return /* @__PURE__ */ N(n, {
|
|
@@ -428,18 +431,18 @@ function H(e) {
|
|
|
428
431
|
}
|
|
429
432
|
return r.displayName = `Text.${e}`, r;
|
|
430
433
|
}
|
|
431
|
-
var
|
|
432
|
-
h1:
|
|
433
|
-
h2:
|
|
434
|
-
h3:
|
|
435
|
-
h4:
|
|
436
|
-
h5:
|
|
437
|
-
h6:
|
|
438
|
-
p:
|
|
439
|
-
span:
|
|
440
|
-
div:
|
|
441
|
-
}),
|
|
442
|
-
let e = m(), t =
|
|
434
|
+
var W = Object.assign(Ve, {
|
|
435
|
+
h1: U("h1"),
|
|
436
|
+
h2: U("h2"),
|
|
437
|
+
h3: U("h3"),
|
|
438
|
+
h4: U("h4"),
|
|
439
|
+
h5: U("h5"),
|
|
440
|
+
h6: U("h6"),
|
|
441
|
+
p: U("p"),
|
|
442
|
+
span: U("span"),
|
|
443
|
+
div: U("div")
|
|
444
|
+
}), G = () => {
|
|
445
|
+
let e = m(), t = H(), n = {
|
|
443
446
|
role: "alert",
|
|
444
447
|
"aria-label": "default-error-boundary"
|
|
445
448
|
};
|
|
@@ -449,17 +452,16 @@ var U = Object.assign(Ve, {
|
|
|
449
452
|
children: /* @__PURE__ */ P("div", {
|
|
450
453
|
className: "astw:flex astw:items-start astw:gap-4",
|
|
451
454
|
children: [/* @__PURE__ */ N(ee, { className: "astw:h-5 astw:w-5 astw:text-danger-text astw:flex-shrink-0 astw:mt-0.5" }), /* @__PURE__ */ P("div", { children: [
|
|
452
|
-
/* @__PURE__ */ N(
|
|
455
|
+
/* @__PURE__ */ N(W.h1, {
|
|
453
456
|
variant: "heading-md",
|
|
454
|
-
render: /* @__PURE__ */ N("h1", {}),
|
|
455
457
|
children: t("error404Title")
|
|
456
458
|
}),
|
|
457
|
-
/* @__PURE__ */ N(
|
|
459
|
+
/* @__PURE__ */ N(W, {
|
|
458
460
|
variant: "body-md",
|
|
459
461
|
className: "astw:text-muted-foreground astw:mt-1",
|
|
460
462
|
children: t("error404Body")
|
|
461
463
|
}),
|
|
462
|
-
/* @__PURE__ */ N(
|
|
464
|
+
/* @__PURE__ */ N(R, {
|
|
463
465
|
variant: "outline",
|
|
464
466
|
size: "sm",
|
|
465
467
|
className: "astw:mt-4",
|
|
@@ -476,17 +478,16 @@ var U = Object.assign(Ve, {
|
|
|
476
478
|
children: /* @__PURE__ */ P("div", {
|
|
477
479
|
className: "astw:flex astw:items-start astw:gap-4",
|
|
478
480
|
children: [/* @__PURE__ */ N(ee, { className: "astw:h-5 astw:w-5 astw:text-danger-text astw:flex-shrink-0 astw:mt-0.5" }), /* @__PURE__ */ P("div", { children: [
|
|
479
|
-
/* @__PURE__ */ N(
|
|
481
|
+
/* @__PURE__ */ N(W.h1, {
|
|
480
482
|
variant: "heading-md",
|
|
481
|
-
render: /* @__PURE__ */ N("h1", {}),
|
|
482
483
|
children: t("errorTitle")
|
|
483
484
|
}),
|
|
484
|
-
/* @__PURE__ */ N(
|
|
485
|
+
/* @__PURE__ */ N(W, {
|
|
485
486
|
variant: "body-md",
|
|
486
487
|
className: "astw:text-muted-foreground astw:mt-1",
|
|
487
488
|
children: r
|
|
488
489
|
}),
|
|
489
|
-
/* @__PURE__ */ N(
|
|
490
|
+
/* @__PURE__ */ N(R, {
|
|
490
491
|
variant: "outline",
|
|
491
492
|
size: "sm",
|
|
492
493
|
className: "astw:mt-4",
|
|
@@ -501,7 +502,7 @@ var U = Object.assign(Ve, {
|
|
|
501
502
|
}, Ge = () => ({ type: "pass" }), Ke = () => ({ type: "hidden" }), qe = (e) => ({
|
|
502
503
|
type: "redirect",
|
|
503
504
|
to: e
|
|
504
|
-
}),
|
|
505
|
+
}), K = () => new Response("Not Found", { status: 404 }), q = async (e) => {
|
|
505
506
|
if (!e || e.length === 0) return { type: "pass" };
|
|
506
507
|
let t = { context: Ue };
|
|
507
508
|
for (let n of e) {
|
|
@@ -509,24 +510,24 @@ var U = Object.assign(Ve, {
|
|
|
509
510
|
if (e.type !== "pass") return e;
|
|
510
511
|
}
|
|
511
512
|
return { type: "pass" };
|
|
512
|
-
},
|
|
513
|
-
let r = await
|
|
513
|
+
}, J = (e, t) => async (n) => {
|
|
514
|
+
let r = await q(e);
|
|
514
515
|
switch (r.type) {
|
|
515
|
-
case "hidden": throw
|
|
516
|
+
case "hidden": throw K();
|
|
516
517
|
case "redirect": return u(r.to);
|
|
517
518
|
case "pass": return t ? t(n) : null;
|
|
518
519
|
}
|
|
519
|
-
},
|
|
520
|
-
let { configurations: n } =
|
|
521
|
-
return t(
|
|
520
|
+
}, Je = (t) => t === "" || t === "/" ? Re.t("home") : e(t), Ye = (e, t) => () => {
|
|
521
|
+
let { configurations: n } = V(), { metaTitle: r, fallbackTitle: i } = e;
|
|
522
|
+
return t(z(n.locale)(r, typeof i == "function" ? i(n.locale) : i));
|
|
522
523
|
};
|
|
523
|
-
function
|
|
524
|
-
let { path: t, meta: n, component: r, resources: i, errorBoundary: a, guards: o } = e, s = n?.title ??
|
|
524
|
+
function Xe(e) {
|
|
525
|
+
let { path: t, meta: n, component: r, resources: i, errorBoundary: a, guards: o } = e, s = n?.title ?? Je(t), c = Je(t), l = o && o.length > 0 ? J(o) : void 0;
|
|
525
526
|
return {
|
|
526
527
|
path: t,
|
|
527
528
|
type: "component",
|
|
528
529
|
_type: "module",
|
|
529
|
-
component: r ?
|
|
530
|
+
component: r ? Ye({
|
|
530
531
|
metaTitle: s,
|
|
531
532
|
fallbackTitle: c
|
|
532
533
|
}, (e) => r({
|
|
@@ -542,12 +543,12 @@ function Ze(e) {
|
|
|
542
543
|
icon: e.meta?.icon
|
|
543
544
|
},
|
|
544
545
|
resources: i,
|
|
545
|
-
errorBoundary: a || /* @__PURE__ */ N(
|
|
546
|
+
errorBoundary: a || /* @__PURE__ */ N(G, {}),
|
|
546
547
|
guards: o
|
|
547
548
|
};
|
|
548
549
|
}
|
|
549
|
-
function
|
|
550
|
-
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 ?
|
|
550
|
+
function Ze(t) {
|
|
551
|
+
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 ? J(s) : void 0, d = r ? Ye({
|
|
551
552
|
metaTitle: c,
|
|
552
553
|
fallbackTitle: l
|
|
553
554
|
}, (e) => r({
|
|
@@ -565,14 +566,14 @@ function Qe(t) {
|
|
|
565
566
|
},
|
|
566
567
|
component: d,
|
|
567
568
|
subResources: i,
|
|
568
|
-
errorBoundary: o ?? /* @__PURE__ */ N(
|
|
569
|
+
errorBoundary: o ?? /* @__PURE__ */ N(G, {}),
|
|
569
570
|
guards: s,
|
|
570
571
|
loader: u
|
|
571
572
|
};
|
|
572
573
|
}
|
|
573
|
-
var
|
|
574
|
+
var Qe = {
|
|
574
575
|
name: "@tailor-platform/app-shell",
|
|
575
|
-
version: "1.
|
|
576
|
+
version: "1.20.0",
|
|
576
577
|
description: "An opinionated React application framework for building ERP applications on Tailor Platform",
|
|
577
578
|
keywords: [
|
|
578
579
|
"app-shell",
|
|
@@ -640,7 +641,8 @@ var $e = {
|
|
|
640
641
|
},
|
|
641
642
|
devDependencies: {
|
|
642
643
|
"@fontsource-variable/noto-sans-jp": "5.3.0",
|
|
643
|
-
"@microsoft/api-extractor": "7.
|
|
644
|
+
"@microsoft/api-extractor": "7.60.1",
|
|
645
|
+
"@tailor-platform/eslint-plugin-app-shell": "workspace:*",
|
|
644
646
|
"@tailwindcss/postcss": "catalog:",
|
|
645
647
|
"@testing-library/react": "16.3.3",
|
|
646
648
|
"@testing-library/user-event": "14.6.8",
|
|
@@ -650,11 +652,11 @@ var $e = {
|
|
|
650
652
|
"@types/react": "catalog:",
|
|
651
653
|
"@types/react-dom": "catalog:",
|
|
652
654
|
"@vitejs/plugin-react": "catalog:",
|
|
653
|
-
"@vitest/browser-playwright": "4.1.
|
|
654
|
-
"@vitest/coverage-v8": "4.1.
|
|
655
|
+
"@vitest/browser-playwright": "4.1.12",
|
|
656
|
+
"@vitest/coverage-v8": "4.1.12",
|
|
655
657
|
"happy-dom": "21.0.4",
|
|
656
658
|
playwright: "1.63.0",
|
|
657
|
-
postcss: "8.5.
|
|
659
|
+
postcss: "8.5.32",
|
|
658
660
|
react: "catalog:",
|
|
659
661
|
"react-dom": "catalog:",
|
|
660
662
|
"react-hook-form": "7.71.2",
|
|
@@ -663,7 +665,8 @@ var $e = {
|
|
|
663
665
|
typescript: "5.9.3",
|
|
664
666
|
vite: "catalog:",
|
|
665
667
|
"vite-plugin-dts": "5.1.2",
|
|
666
|
-
vitest: "catalog:"
|
|
668
|
+
vitest: "catalog:",
|
|
669
|
+
zod: "4.6.7"
|
|
667
670
|
},
|
|
668
671
|
peerDependencies: {
|
|
669
672
|
react: ">=19.2.7",
|
|
@@ -672,52 +675,51 @@ var $e = {
|
|
|
672
675
|
};
|
|
673
676
|
//#endregion
|
|
674
677
|
//#region src/components/card/card.tsx
|
|
675
|
-
function
|
|
678
|
+
function $e({ className: e, ...t }) {
|
|
676
679
|
return /* @__PURE__ */ N("div", {
|
|
677
680
|
"data-slot": "card",
|
|
678
681
|
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),
|
|
679
682
|
...t
|
|
680
683
|
});
|
|
681
684
|
}
|
|
682
|
-
|
|
683
|
-
function
|
|
685
|
+
$e.displayName = "Card.Root";
|
|
686
|
+
function et({ className: e, title: t, description: n, children: r, ...i }) {
|
|
684
687
|
return /* @__PURE__ */ P("div", {
|
|
685
688
|
"data-slot": "card-header",
|
|
686
689
|
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),
|
|
687
690
|
...i,
|
|
688
691
|
children: [
|
|
689
|
-
t && /* @__PURE__ */ N(
|
|
692
|
+
t && /* @__PURE__ */ N(W.h3, {
|
|
690
693
|
variant: "heading-md",
|
|
691
694
|
className: "astw:leading-none astw:text-card-foreground",
|
|
692
|
-
|
|
695
|
+
"data-slot": "card-title",
|
|
693
696
|
children: t
|
|
694
697
|
}),
|
|
695
|
-
n && /* @__PURE__ */ N(
|
|
696
|
-
variant: "body-md",
|
|
698
|
+
n && /* @__PURE__ */ N(W.div, {
|
|
697
699
|
className: "astw:text-muted-foreground",
|
|
698
|
-
|
|
700
|
+
"data-slot": "card-description",
|
|
699
701
|
children: n
|
|
700
702
|
}),
|
|
701
703
|
r
|
|
702
704
|
]
|
|
703
705
|
});
|
|
704
706
|
}
|
|
705
|
-
|
|
706
|
-
var
|
|
707
|
-
function
|
|
707
|
+
et.displayName = "Card.Header";
|
|
708
|
+
var tt = 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");
|
|
709
|
+
function nt({ className: e, padding: t = "default", ...n }) {
|
|
708
710
|
return /* @__PURE__ */ N("div", {
|
|
709
711
|
"data-slot": "card-content",
|
|
710
712
|
"data-padding": t,
|
|
711
|
-
className: I(t === "none" ?
|
|
713
|
+
className: I(t === "none" ? tt : "astw:px-6 astw:pb-6 astw:first:pt-6", e),
|
|
712
714
|
...n
|
|
713
715
|
});
|
|
714
716
|
}
|
|
715
|
-
|
|
716
|
-
var
|
|
717
|
-
Root:
|
|
718
|
-
Header:
|
|
719
|
-
Content:
|
|
720
|
-
},
|
|
717
|
+
nt.displayName = "Card.Content";
|
|
718
|
+
var rt = {
|
|
719
|
+
Root: $e,
|
|
720
|
+
Header: et,
|
|
721
|
+
Content: nt
|
|
722
|
+
}, it = v(null), at = ({ children: e }) => {
|
|
721
723
|
let [t, n] = E(() => /* @__PURE__ */ new Map()), r = y((e, t) => {
|
|
722
724
|
n((n) => {
|
|
723
725
|
let r = new Map(n);
|
|
@@ -730,7 +732,7 @@ var it = {
|
|
|
730
732
|
return n.delete(e), n;
|
|
731
733
|
});
|
|
732
734
|
}, []);
|
|
733
|
-
return /* @__PURE__ */ N(
|
|
735
|
+
return /* @__PURE__ */ N(it.Provider, {
|
|
734
736
|
value: {
|
|
735
737
|
overrides: t,
|
|
736
738
|
register: r,
|
|
@@ -738,15 +740,15 @@ var it = {
|
|
|
738
740
|
},
|
|
739
741
|
children: e
|
|
740
742
|
});
|
|
741
|
-
},
|
|
742
|
-
let e = b(
|
|
743
|
+
}, ot = () => {
|
|
744
|
+
let e = b(it);
|
|
743
745
|
if (!e) throw Error("useBreadcrumbOverride must be used within BreadcrumbOverrideProvider");
|
|
744
746
|
return e;
|
|
745
|
-
},
|
|
747
|
+
}, st = () => b(it);
|
|
746
748
|
//#endregion
|
|
747
749
|
//#region src/hooks/use-override-breadcrumb.ts
|
|
748
|
-
function
|
|
749
|
-
let t = d(), { register: n, unregister: r } =
|
|
750
|
+
function ct(e) {
|
|
751
|
+
let t = d(), { register: n, unregister: r } = ot(), i = t.pathname;
|
|
750
752
|
x(() => (e ? n(i, e) : r(i), () => r(i)), [
|
|
751
753
|
i,
|
|
752
754
|
e,
|
|
@@ -756,29 +758,29 @@ function lt(e) {
|
|
|
756
758
|
}
|
|
757
759
|
//#endregion
|
|
758
760
|
//#region src/components/internals/app-info/app-info.tsx
|
|
759
|
-
var
|
|
761
|
+
var lt = "__appinfo", ut = `/${lt}`, dt = Qe.version, ft = (e) => e == null ? "-" : String(e), pt = (e) => e.map((e) => `${e.label}: ${ft(e.value)}`).join("\n"), mt = ({ label: e, value: t }) => /* @__PURE__ */ P("div", {
|
|
760
762
|
className: "astw:grid astw:gap-1 astw:py-3 astw:sm:grid-cols-[12rem_minmax(0,1fr)] astw:sm:gap-4",
|
|
761
|
-
children: [/* @__PURE__ */ N(
|
|
763
|
+
children: [/* @__PURE__ */ N(W, {
|
|
762
764
|
variant: "label-md",
|
|
763
765
|
className: "astw:text-muted-foreground",
|
|
764
766
|
render: /* @__PURE__ */ N("dt", {}),
|
|
765
767
|
children: e
|
|
766
|
-
}), /* @__PURE__ */ N(
|
|
768
|
+
}), /* @__PURE__ */ N(W, {
|
|
767
769
|
variant: "body-md",
|
|
768
770
|
className: "astw:min-w-0 astw:break-all",
|
|
769
771
|
render: /* @__PURE__ */ N("dd", {}),
|
|
770
|
-
children:
|
|
772
|
+
children: ft(t)
|
|
771
773
|
})]
|
|
772
|
-
}),
|
|
773
|
-
let e =
|
|
774
|
+
}), ht = () => {
|
|
775
|
+
let e = H();
|
|
774
776
|
return {
|
|
775
|
-
path:
|
|
777
|
+
path: ut,
|
|
776
778
|
title: e("appInfoTitle"),
|
|
777
779
|
breadcrumb: [e("appInfoTitle")]
|
|
778
780
|
};
|
|
779
|
-
},
|
|
780
|
-
let e =
|
|
781
|
-
|
|
781
|
+
}, gt = () => {
|
|
782
|
+
let e = H(), { title: t, appInfo: n } = V();
|
|
783
|
+
ct(e("appInfoTitle"));
|
|
782
784
|
let r = [
|
|
783
785
|
...t ? [{
|
|
784
786
|
label: e("appInfoAppName"),
|
|
@@ -786,39 +788,38 @@ var ut = "__appinfo", dt = `/${ut}`, ft = $e.version, pt = (e) => e == null ? "-
|
|
|
786
788
|
}] : [],
|
|
787
789
|
{
|
|
788
790
|
label: e("appInfoAppShellVersion"),
|
|
789
|
-
value:
|
|
791
|
+
value: dt
|
|
790
792
|
},
|
|
791
793
|
...n?.metadata ?? []
|
|
792
794
|
];
|
|
793
795
|
return /* @__PURE__ */ N("div", {
|
|
794
796
|
className: "astw:w-full astw:max-w-xl",
|
|
795
|
-
children: /* @__PURE__ */ P(
|
|
797
|
+
children: /* @__PURE__ */ P(rt.Root, { children: [/* @__PURE__ */ P("div", {
|
|
796
798
|
className: "astw:flex astw:items-center astw:justify-between astw:px-6 astw:pt-6 astw:pb-4",
|
|
797
|
-
children: [/* @__PURE__ */ N(
|
|
799
|
+
children: [/* @__PURE__ */ N(W.h1, {
|
|
798
800
|
variant: "heading-md",
|
|
799
801
|
className: "astw:leading-none",
|
|
800
|
-
render: /* @__PURE__ */ N("h1", {}),
|
|
801
802
|
children: e("appInfoTitle")
|
|
802
|
-
}), /* @__PURE__ */ N(
|
|
803
|
+
}), /* @__PURE__ */ N(R, {
|
|
803
804
|
variant: "outline",
|
|
804
805
|
size: "sm",
|
|
805
806
|
onClick: async () => {
|
|
806
807
|
try {
|
|
807
|
-
await navigator.clipboard.writeText(
|
|
808
|
+
await navigator.clipboard.writeText(pt(r));
|
|
808
809
|
} catch {}
|
|
809
810
|
},
|
|
810
811
|
children: e("appInfoCopy")
|
|
811
812
|
})]
|
|
812
|
-
}), /* @__PURE__ */ N(
|
|
813
|
+
}), /* @__PURE__ */ N(rt.Content, { children: /* @__PURE__ */ N("dl", { children: r.map((e, t) => /* @__PURE__ */ N("div", {
|
|
813
814
|
className: t > 0 ? "astw:border-t astw:border-border" : void 0,
|
|
814
|
-
children: /* @__PURE__ */ N(
|
|
815
|
+
children: /* @__PURE__ */ N(mt, { ...e })
|
|
815
816
|
}, `${e.label}-${t}`)) }) })] })
|
|
816
817
|
});
|
|
817
|
-
},
|
|
818
|
+
}, _t = [
|
|
818
819
|
"light",
|
|
819
820
|
"dark",
|
|
820
821
|
"system"
|
|
821
|
-
],
|
|
822
|
+
], vt = [
|
|
822
823
|
{
|
|
823
824
|
value: "light",
|
|
824
825
|
label: "Light"
|
|
@@ -831,8 +832,8 @@ var ut = "__appinfo", dt = `/${ut}`, ft = $e.version, pt = (e) => e == null ? "-
|
|
|
831
832
|
value: "system",
|
|
832
833
|
label: "System"
|
|
833
834
|
}
|
|
834
|
-
],
|
|
835
|
-
function
|
|
835
|
+
], yt = "appshell-ui-theme";
|
|
836
|
+
function bt(e, t, n) {
|
|
836
837
|
if (typeof window > "u") return n;
|
|
837
838
|
try {
|
|
838
839
|
let r = localStorage.getItem(e);
|
|
@@ -841,22 +842,22 @@ function xt(e, t, n) {
|
|
|
841
842
|
return n;
|
|
842
843
|
}
|
|
843
844
|
}
|
|
844
|
-
function
|
|
845
|
+
function xt(e, t) {
|
|
845
846
|
return e === "system" ? t ? "dark" : "light" : e;
|
|
846
847
|
}
|
|
847
|
-
function
|
|
848
|
+
function St() {
|
|
848
849
|
return typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
849
850
|
}
|
|
850
|
-
var
|
|
851
|
-
function
|
|
852
|
-
let [n, r] = E(() =>
|
|
851
|
+
var Ct = v(void 0);
|
|
852
|
+
function wt({ children: e, defaultColorTheme: t = "system" }) {
|
|
853
|
+
let [n, r] = E(() => bt(yt, _t, t)), [i, a] = E(() => xt(bt(yt, _t, t), St())), o = y((e) => {
|
|
853
854
|
let t = window.document.documentElement;
|
|
854
855
|
t.classList.remove("light", "dark"), t.classList.add(e);
|
|
855
856
|
}, []);
|
|
856
857
|
x(() => {
|
|
857
858
|
o(i);
|
|
858
859
|
let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e) => {
|
|
859
|
-
let t =
|
|
860
|
+
let t = xt(n, e.matches);
|
|
860
861
|
a(t);
|
|
861
862
|
};
|
|
862
863
|
return e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
@@ -867,10 +868,10 @@ function Tt({ children: e, defaultColorTheme: t = "system" }) {
|
|
|
867
868
|
]);
|
|
868
869
|
let s = y((e) => {
|
|
869
870
|
try {
|
|
870
|
-
localStorage.setItem(
|
|
871
|
+
localStorage.setItem(yt, e);
|
|
871
872
|
} catch {}
|
|
872
873
|
r(e);
|
|
873
|
-
let t =
|
|
874
|
+
let t = xt(e, St());
|
|
874
875
|
a(t), o(t);
|
|
875
876
|
}, [o]), c = C(() => ({
|
|
876
877
|
colorTheme: n,
|
|
@@ -881,13 +882,13 @@ function Tt({ children: e, defaultColorTheme: t = "system" }) {
|
|
|
881
882
|
i,
|
|
882
883
|
s
|
|
883
884
|
]);
|
|
884
|
-
return /* @__PURE__ */ N(
|
|
885
|
+
return /* @__PURE__ */ N(Ct.Provider, {
|
|
885
886
|
value: c,
|
|
886
887
|
children: e
|
|
887
888
|
});
|
|
888
889
|
}
|
|
889
|
-
var
|
|
890
|
-
let e = b(
|
|
890
|
+
var Tt = () => {
|
|
891
|
+
let e = b(Ct);
|
|
891
892
|
if (e === void 0) throw Error("useTheme must be used within a ThemeProvider");
|
|
892
893
|
let { colorTheme: t, resolvedColorTheme: n, setColorTheme: r } = e;
|
|
893
894
|
return C(() => ({
|
|
@@ -899,29 +900,30 @@ var Et = () => {
|
|
|
899
900
|
n,
|
|
900
901
|
r
|
|
901
902
|
]);
|
|
902
|
-
},
|
|
903
|
-
let { resolvedTheme:
|
|
904
|
-
return
|
|
905
|
-
|
|
903
|
+
}, Et = ({ style: e, ...t }) => {
|
|
904
|
+
let { resolvedTheme: n } = Tt(), [r, i] = E(null);
|
|
905
|
+
return x(() => {
|
|
906
|
+
i(document.body);
|
|
907
|
+
}, []), r ? ue(/* @__PURE__ */ N(de, {
|
|
908
|
+
theme: n,
|
|
906
909
|
className: "astw:toaster astw:group",
|
|
907
910
|
style: {
|
|
908
911
|
"--normal-bg": "var(--popover)",
|
|
909
912
|
"--normal-text": "var(--popover-foreground)",
|
|
910
|
-
"--normal-border": "var(--border)"
|
|
913
|
+
"--normal-border": "var(--border)",
|
|
914
|
+
zIndex: "var(--z-toast)",
|
|
915
|
+
...e
|
|
911
916
|
},
|
|
912
|
-
...
|
|
913
|
-
});
|
|
914
|
-
},
|
|
915
|
-
let e =
|
|
917
|
+
...t
|
|
918
|
+
}), r) : null;
|
|
919
|
+
}, Dt = () => {
|
|
920
|
+
let e = H();
|
|
916
921
|
return /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N("p", {
|
|
917
922
|
className: "astw:font-semibold astw:leading-none astw:tracking-tight",
|
|
918
923
|
children: e("welcomeTitle")
|
|
919
|
-
}), /* @__PURE__ */ N("p", {
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
})] });
|
|
923
|
-
}, kt = () => /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(a, {}), /* @__PURE__ */ N(Dt, {})] }), At = () => {
|
|
924
|
-
let { configurations: e } = Ne(), t = V(), n = Ie();
|
|
924
|
+
}), /* @__PURE__ */ N("p", { children: e("welcomeBody") })] });
|
|
925
|
+
}, Ot = () => /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(a, {}), /* @__PURE__ */ N(Et, {})] }), kt = () => {
|
|
926
|
+
let { configurations: e } = Ne(), t = H(), n = Ie();
|
|
925
927
|
return /* @__PURE__ */ P("div", {
|
|
926
928
|
className: "astw:mx-auto astw:flex-col astw:flex astw:md:flex-row astw:max-w-5xl astw:gap-[10px] astw:w-full",
|
|
927
929
|
children: [/* @__PURE__ */ N("div", { children: /* @__PURE__ */ P("nav", {
|
|
@@ -933,7 +935,7 @@ var Et = () => {
|
|
|
933
935
|
className: "astw:flex astw:flex-col astw:gap-1",
|
|
934
936
|
children: e.settingsResources.map((e) => /* @__PURE__ */ N("li", { children: /* @__PURE__ */ N(r, {
|
|
935
937
|
to: `./${e.path}`,
|
|
936
|
-
children: ({ isActive: t }) => /* @__PURE__ */ P(
|
|
938
|
+
children: ({ isActive: t }) => /* @__PURE__ */ P(R, {
|
|
937
939
|
variant: t ? "secondary" : "ghost",
|
|
938
940
|
className: "astw:w-full astw:justify-start",
|
|
939
941
|
children: [e.meta.icon, n(e.meta.title, e.path)]
|
|
@@ -945,7 +947,7 @@ var Et = () => {
|
|
|
945
947
|
children: /* @__PURE__ */ N(a, {})
|
|
946
948
|
})]
|
|
947
949
|
});
|
|
948
|
-
},
|
|
950
|
+
}, At = (e) => () => /* @__PURE__ */ N(M, { children: e }), jt = (e) => e.component ? {
|
|
949
951
|
index: !0,
|
|
950
952
|
Component: e.component,
|
|
951
953
|
...e.loader && { loader: e.loader }
|
|
@@ -955,26 +957,26 @@ var Et = () => {
|
|
|
955
957
|
loader: async (t) => {
|
|
956
958
|
let n = await e.loader(t);
|
|
957
959
|
if (n instanceof Response) return n;
|
|
958
|
-
throw
|
|
960
|
+
throw K();
|
|
959
961
|
}
|
|
960
962
|
} : {
|
|
961
963
|
index: !0,
|
|
962
964
|
Component: () => null,
|
|
963
965
|
loader: () => {
|
|
964
|
-
throw
|
|
966
|
+
throw K();
|
|
965
967
|
}
|
|
966
|
-
},
|
|
967
|
-
let r = e.errorBoundary || n, i = (t ?? []).map((e) =>
|
|
968
|
+
}, Mt = (e, t, n) => {
|
|
969
|
+
let r = e.errorBoundary || n, i = (t ?? []).map((e) => Mt(e, e.subResources, r)), a = [jt(e), ...i];
|
|
968
970
|
return {
|
|
969
971
|
path: e.path,
|
|
970
972
|
handle: { node: e },
|
|
971
|
-
...e.errorBoundary && { ErrorBoundary:
|
|
973
|
+
...e.errorBoundary && { ErrorBoundary: At(e.errorBoundary) },
|
|
972
974
|
...a.length > 0 ? { children: a } : {}
|
|
973
975
|
};
|
|
974
|
-
},
|
|
975
|
-
let n = e.some((e) => e.path === "") ? null :
|
|
976
|
+
}, Nt = (e) => e.map((e) => Mt(e, e.resources, e.errorBoundary)), Pt = ({ modules: e, settingsResources: t }) => {
|
|
977
|
+
let n = e.some((e) => e.path === "") ? null : jt({
|
|
976
978
|
path: "",
|
|
977
|
-
component:
|
|
979
|
+
component: Dt
|
|
978
980
|
}), r = t.length > 0 ? [{
|
|
979
981
|
path: "settings",
|
|
980
982
|
index: !0,
|
|
@@ -985,43 +987,43 @@ var Et = () => {
|
|
|
985
987
|
})
|
|
986
988
|
}, {
|
|
987
989
|
path: "settings",
|
|
988
|
-
Component:
|
|
990
|
+
Component: kt,
|
|
989
991
|
children: t.map((e) => {
|
|
990
992
|
if (!e.component) throw Error(`Settings resource "${e.path}" must have a component.`);
|
|
991
993
|
return {
|
|
992
994
|
path: e.path,
|
|
993
995
|
Component: e.component,
|
|
994
|
-
...e.errorBoundary && { ErrorBoundary:
|
|
996
|
+
...e.errorBoundary && { ErrorBoundary: At(e.errorBoundary) }
|
|
995
997
|
};
|
|
996
998
|
})
|
|
997
999
|
}] : [];
|
|
998
1000
|
return [
|
|
999
1001
|
...n ? [n] : [],
|
|
1000
|
-
{ children:
|
|
1002
|
+
{ children: Nt(e) },
|
|
1001
1003
|
{
|
|
1002
|
-
path:
|
|
1003
|
-
Component:
|
|
1004
|
+
path: lt,
|
|
1005
|
+
Component: gt
|
|
1004
1006
|
},
|
|
1005
1007
|
...r,
|
|
1006
1008
|
{
|
|
1007
1009
|
path: "*",
|
|
1008
1010
|
loader: () => {
|
|
1009
|
-
throw
|
|
1011
|
+
throw K();
|
|
1010
1012
|
},
|
|
1011
1013
|
Component: () => null,
|
|
1012
|
-
ErrorBoundary:
|
|
1014
|
+
ErrorBoundary: G
|
|
1013
1015
|
}
|
|
1014
1016
|
];
|
|
1015
|
-
},
|
|
1016
|
-
function
|
|
1017
|
+
}, Y = (e) => e.startsWith(":") ? e.slice(1) : null, Ft = (e) => e.split("/").some((e) => Y(e) !== null);
|
|
1018
|
+
function It(e, t) {
|
|
1017
1019
|
if (!t.trim()) return e;
|
|
1018
1020
|
let n = t.toLowerCase();
|
|
1019
1021
|
return e.filter((e) => e.title.toLowerCase().includes(n) || e.path.toLowerCase().includes(n));
|
|
1020
1022
|
}
|
|
1021
|
-
var
|
|
1023
|
+
var Lt = (e, t, n) => {
|
|
1022
1024
|
let r = typeof e.breadcrumbTitle == "function" ? e.breadcrumbTitle(Te in e.breadcrumbTitle ? n : t) : e.breadcrumbTitle;
|
|
1023
|
-
return typeof r == "function" ?
|
|
1024
|
-
},
|
|
1025
|
+
return typeof r == "function" ? z(n)(r, e.title) : r ?? e.title;
|
|
1026
|
+
}, Rt = (e, t) => {
|
|
1025
1027
|
let n = ke(t);
|
|
1026
1028
|
return e.reduce((e, t) => {
|
|
1027
1029
|
let r = n(t.meta.title, t.path);
|
|
@@ -1043,8 +1045,8 @@ var Rt = (e, t, n) => {
|
|
|
1043
1045
|
return t.resources && t.resources.length > 0 && i(t.resources, t.path), e;
|
|
1044
1046
|
}, {});
|
|
1045
1047
|
};
|
|
1046
|
-
function
|
|
1047
|
-
let i = e.split("/").filter((e) => e !== ""), a = t && i[0] === t ? i.slice(1) : i, o =
|
|
1048
|
+
function zt(e, t, n, r) {
|
|
1049
|
+
let i = e.split("/").filter((e) => e !== ""), a = t && i[0] === t ? i.slice(1) : i, o = Rt(n, r);
|
|
1048
1050
|
if (a.length === 0) {
|
|
1049
1051
|
let e = o[""];
|
|
1050
1052
|
if (e) return {
|
|
@@ -1052,7 +1054,7 @@ function Bt(e, t, n, r) {
|
|
|
1052
1054
|
segments: [{
|
|
1053
1055
|
segment: "",
|
|
1054
1056
|
path: "",
|
|
1055
|
-
title:
|
|
1057
|
+
title: Lt(e, "", r),
|
|
1056
1058
|
clickable: e.clickable
|
|
1057
1059
|
}]
|
|
1058
1060
|
};
|
|
@@ -1061,13 +1063,13 @@ function Bt(e, t, n, r) {
|
|
|
1061
1063
|
let n = a.slice(0, t + 1).join("/"), i = o[n];
|
|
1062
1064
|
if (!i) {
|
|
1063
1065
|
let e = Object.entries(o).find(([e]) => {
|
|
1064
|
-
let t = e.split("/").map((e) =>
|
|
1066
|
+
let t = e.split("/").map((e) => Y(e) === null ? e : "[^/]+").join("/");
|
|
1065
1067
|
return RegExp(`^${t}$`).test(n);
|
|
1066
1068
|
})?.[1];
|
|
1067
1069
|
e && (i = e);
|
|
1068
1070
|
}
|
|
1069
1071
|
let s;
|
|
1070
|
-
return s = i ?
|
|
1072
|
+
return s = i ? Lt(i, e, r) : decodeURIComponent(e), {
|
|
1071
1073
|
segment: e,
|
|
1072
1074
|
path: n,
|
|
1073
1075
|
title: s,
|
|
@@ -1081,14 +1083,14 @@ function Bt(e, t, n, r) {
|
|
|
1081
1083
|
}
|
|
1082
1084
|
//#endregion
|
|
1083
1085
|
//#region src/routing/navigation.tsx
|
|
1084
|
-
var
|
|
1085
|
-
loaderID:
|
|
1086
|
-
loader: async () => ({ navItems:
|
|
1087
|
-
}),
|
|
1086
|
+
var Bt = "appshell-root-nav", Vt = (e) => ({
|
|
1087
|
+
loaderID: Bt,
|
|
1088
|
+
loader: async () => ({ navItems: Ut(e) })
|
|
1089
|
+
}), Ht = () => h(Bt)?.navItems, Ut = async (e) => {
|
|
1088
1090
|
let t = ke(e.locale);
|
|
1089
1091
|
return (await Promise.all(e.modules.map(async (e) => {
|
|
1090
|
-
if (
|
|
1091
|
-
let n = await
|
|
1092
|
+
if (Y(e.path) !== null || (await q(e.guards)).type !== "pass") return null;
|
|
1093
|
+
let n = await Wt(e.resources, e.path, t);
|
|
1092
1094
|
return n.length === 0 && !e.meta.menuItemClickable ? null : {
|
|
1093
1095
|
module: e,
|
|
1094
1096
|
resources: n
|
|
@@ -1099,70 +1101,70 @@ var Vt = "appshell-root-nav", Ht = (e) => ({
|
|
|
1099
1101
|
icon: e.meta.icon || /* @__PURE__ */ N(ie, {}),
|
|
1100
1102
|
items: n
|
|
1101
1103
|
}));
|
|
1102
|
-
},
|
|
1103
|
-
if (
|
|
1104
|
-
let r = `${t}/${e.path}`, i = n(e.meta.title, e.path), a = e.component !== void 0, o = e.subResources ? await
|
|
1104
|
+
}, Wt = async (e, t, n) => (await Promise.all(e.map(async (e) => {
|
|
1105
|
+
if (Y(e.path) !== null || (await q(e.guards)).type !== "pass") return null;
|
|
1106
|
+
let r = `${t}/${e.path}`, i = n(e.meta.title, e.path), a = e.component !== void 0, o = e.subResources ? await Wt(e.subResources, r, n) : void 0, s = o && o.length > 0;
|
|
1105
1107
|
return !a && !s ? null : {
|
|
1106
1108
|
title: i,
|
|
1107
1109
|
url: a ? r : void 0,
|
|
1108
1110
|
items: s ? o : void 0
|
|
1109
1111
|
};
|
|
1110
|
-
}))).filter((e) => e !== null),
|
|
1111
|
-
let n =
|
|
1112
|
+
}))).filter((e) => e !== null), X = (e) => e.split("/").filter((e) => e !== ""), Gt = (e, t) => {
|
|
1113
|
+
let n = X(e), r = t && n[0] === t ? n.slice(1) : n;
|
|
1112
1114
|
return r.length > 0 ? `/${r.join("/")}` : "/";
|
|
1113
|
-
},
|
|
1114
|
-
let n =
|
|
1115
|
+
}, Kt = (e) => e.join("/") || "/", qt = 8, Jt = (e, t) => X(e).map((e) => {
|
|
1116
|
+
let n = Y(e);
|
|
1115
1117
|
if (n === null) return e;
|
|
1116
1118
|
let r = t[n] ?? "";
|
|
1117
|
-
return r.length >
|
|
1118
|
-
}),
|
|
1119
|
-
let i = ke(t), a = l(
|
|
1119
|
+
return r.length > qt ? `${r.slice(0, qt)}...` : r;
|
|
1120
|
+
}), Yt = async ({ modules: e, locale: t, basePath: n, pathname: r }) => {
|
|
1121
|
+
let i = ke(t), a = l(Pt({
|
|
1120
1122
|
modules: e,
|
|
1121
1123
|
settingsResources: []
|
|
1122
|
-
}),
|
|
1124
|
+
}), Gt(r, n));
|
|
1123
1125
|
if (!a) return [];
|
|
1124
1126
|
let o = /* @__PURE__ */ new Map(), s = a.map((e) => {
|
|
1125
1127
|
let t = e.route.handle;
|
|
1126
1128
|
return t?.node ? {
|
|
1127
1129
|
node: t.node,
|
|
1128
1130
|
params: e.params,
|
|
1129
|
-
pathnameBase:
|
|
1131
|
+
pathnameBase: Kt(X(e.pathnameBase))
|
|
1130
1132
|
} : null;
|
|
1131
1133
|
}).filter((e) => e !== null);
|
|
1132
1134
|
for (let [e, t] of s.entries()) {
|
|
1133
|
-
if (!
|
|
1135
|
+
if (!Ft(t.node.path)) continue;
|
|
1134
1136
|
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, {});
|
|
1135
|
-
await
|
|
1137
|
+
await Xt({
|
|
1136
1138
|
node: t.node,
|
|
1137
1139
|
params: t.params,
|
|
1138
1140
|
icon: a,
|
|
1139
|
-
baseSegments:
|
|
1140
|
-
baseDisplaySegments: s.slice(0, e + 1).flatMap(({ node: e, params: t }) =>
|
|
1141
|
+
baseSegments: X(t.pathnameBase),
|
|
1142
|
+
baseDisplaySegments: s.slice(0, e + 1).flatMap(({ node: e, params: t }) => Jt(e.path, t)),
|
|
1141
1143
|
breadcrumb: n,
|
|
1142
1144
|
resolveTitle: i,
|
|
1143
1145
|
routeMap: o
|
|
1144
1146
|
});
|
|
1145
1147
|
}
|
|
1146
1148
|
return [...o.values()];
|
|
1147
|
-
},
|
|
1148
|
-
if ((await
|
|
1149
|
+
}, Xt = async ({ node: e, params: t, icon: n, baseSegments: r, baseDisplaySegments: i, breadcrumb: a, resolveTitle: o, routeMap: s }) => {
|
|
1150
|
+
if ((await q(e.guards)).type !== "pass") return;
|
|
1149
1151
|
if ("resources" in e ? e.meta.menuItemClickable : e.component !== void 0) {
|
|
1150
|
-
let t =
|
|
1152
|
+
let t = Kt(r);
|
|
1151
1153
|
s.set(t, {
|
|
1152
1154
|
path: t,
|
|
1153
|
-
displayPath:
|
|
1155
|
+
displayPath: Kt(i),
|
|
1154
1156
|
title: o(e.meta.title, e.path),
|
|
1155
1157
|
icon: n,
|
|
1156
1158
|
breadcrumb: a
|
|
1157
1159
|
});
|
|
1158
1160
|
}
|
|
1159
1161
|
let c = "resources" in e ? e.resources : e.subResources;
|
|
1160
|
-
if (!(!c || c.length === 0)) for (let e of c)
|
|
1162
|
+
if (!(!c || c.length === 0)) for (let e of c) Ft(e.path) || await Xt({
|
|
1161
1163
|
node: e,
|
|
1162
1164
|
params: t,
|
|
1163
1165
|
icon: n,
|
|
1164
|
-
baseSegments: [...r, ...
|
|
1165
|
-
baseDisplaySegments: [...i, ...
|
|
1166
|
+
baseSegments: [...r, ...X(e.path)],
|
|
1167
|
+
baseDisplaySegments: [...i, ...Jt(e.path, t)],
|
|
1166
1168
|
breadcrumb: [...a, o(e.meta.title, e.path)],
|
|
1167
1169
|
resolveTitle: o,
|
|
1168
1170
|
routeMap: s
|
|
@@ -1170,28 +1172,28 @@ var Vt = "appshell-root-nav", Ht = (e) => ({
|
|
|
1170
1172
|
};
|
|
1171
1173
|
//#endregion
|
|
1172
1174
|
//#region src/components/internals/breadcrumb/breadcrumb.tsx
|
|
1173
|
-
function
|
|
1175
|
+
function Zt({ ...e }) {
|
|
1174
1176
|
return /* @__PURE__ */ N("nav", {
|
|
1175
1177
|
"aria-label": "breadcrumb",
|
|
1176
1178
|
"data-slot": "breadcrumb",
|
|
1177
1179
|
...e
|
|
1178
1180
|
});
|
|
1179
1181
|
}
|
|
1180
|
-
function
|
|
1182
|
+
function Qt({ className: e, ...t }) {
|
|
1181
1183
|
return /* @__PURE__ */ N("ol", {
|
|
1182
1184
|
"data-slot": "breadcrumb-list",
|
|
1183
1185
|
className: I("astw:text-muted-foreground astw:flex astw:flex-wrap astw:items-center astw:gap-1.5 astw:text-body-md astw:break-words astw:sm:gap-2.5", e),
|
|
1184
1186
|
...t
|
|
1185
1187
|
});
|
|
1186
1188
|
}
|
|
1187
|
-
function
|
|
1189
|
+
function $t({ className: e, ...t }) {
|
|
1188
1190
|
return /* @__PURE__ */ N("li", {
|
|
1189
1191
|
"data-slot": "breadcrumb-item",
|
|
1190
1192
|
className: I("astw:inline-flex astw:items-center astw:gap-1.5", e),
|
|
1191
1193
|
...t
|
|
1192
1194
|
});
|
|
1193
1195
|
}
|
|
1194
|
-
function
|
|
1196
|
+
function en({ render: e, className: t, children: r, to: i, ...a }) {
|
|
1195
1197
|
let o = I("astw:hover:text-foreground astw:transition-colors", t);
|
|
1196
1198
|
return k({
|
|
1197
1199
|
defaultTagName: "a",
|
|
@@ -1207,7 +1209,7 @@ function tn({ render: e, className: t, children: r, to: i, ...a }) {
|
|
|
1207
1209
|
}
|
|
1208
1210
|
});
|
|
1209
1211
|
}
|
|
1210
|
-
function
|
|
1212
|
+
function tn({ className: e, ariaCurrent: t = "location", ...n }) {
|
|
1211
1213
|
return /* @__PURE__ */ N("span", {
|
|
1212
1214
|
"data-slot": "breadcrumb-page",
|
|
1213
1215
|
"aria-disabled": "true",
|
|
@@ -1216,7 +1218,7 @@ function nn({ className: e, ariaCurrent: t = "location", ...n }) {
|
|
|
1216
1218
|
...n
|
|
1217
1219
|
});
|
|
1218
1220
|
}
|
|
1219
|
-
function
|
|
1221
|
+
function nn({ children: e, className: t, ...n }) {
|
|
1220
1222
|
return /* @__PURE__ */ N("li", {
|
|
1221
1223
|
"data-slot": "breadcrumb-separator",
|
|
1222
1224
|
role: "presentation",
|
|
@@ -1228,31 +1230,31 @@ function rn({ children: e, className: t, ...n }) {
|
|
|
1228
1230
|
}
|
|
1229
1231
|
//#endregion
|
|
1230
1232
|
//#region src/components/sidebar/dynamic-breadcrumb.tsx
|
|
1231
|
-
var
|
|
1232
|
-
let { configurations: e } =
|
|
1233
|
-
return
|
|
1234
|
-
},
|
|
1235
|
-
let { basePath: e, segments: t } =
|
|
1236
|
-
return r ? /* @__PURE__ */ N(
|
|
1233
|
+
var rn = () => {
|
|
1234
|
+
let { configurations: e } = V();
|
|
1235
|
+
return zt(d().pathname, e.basePath, e.modules, e.locale);
|
|
1236
|
+
}, an = () => {
|
|
1237
|
+
let { basePath: e, segments: t } = rn(), { overrides: n } = ot(), r = f("/:prefix/settings/:suffix"), i = H();
|
|
1238
|
+
return r ? /* @__PURE__ */ N(Zt, { children: /* @__PURE__ */ N(Qt, { children: /* @__PURE__ */ N("div", {
|
|
1237
1239
|
className: "astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",
|
|
1238
|
-
children: /* @__PURE__ */ N(
|
|
1240
|
+
children: /* @__PURE__ */ N($t, { children: /* @__PURE__ */ N(en, {
|
|
1239
1241
|
to: `/${r.params.prefix}/settings`,
|
|
1240
1242
|
children: i("settings")
|
|
1241
1243
|
}) })
|
|
1242
|
-
}) }) }) : /* @__PURE__ */ N(
|
|
1244
|
+
}) }) }) : /* @__PURE__ */ N(Zt, { children: /* @__PURE__ */ N(Qt, { children: t.map((r, i) => {
|
|
1243
1245
|
let a = e ? `/${e}/${r.path}` : `/${r.path}`, o = n.get(a) ?? r.title;
|
|
1244
1246
|
return /* @__PURE__ */ P("div", {
|
|
1245
1247
|
className: "astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",
|
|
1246
|
-
children: [/* @__PURE__ */ N(
|
|
1248
|
+
children: [/* @__PURE__ */ N($t, { children: r.clickable ? /* @__PURE__ */ N(en, {
|
|
1247
1249
|
to: r.path,
|
|
1248
1250
|
children: o
|
|
1249
|
-
}) : /* @__PURE__ */ N(
|
|
1251
|
+
}) : /* @__PURE__ */ N(tn, {
|
|
1250
1252
|
ariaCurrent: i === t.length - 1 && "location",
|
|
1251
1253
|
children: o
|
|
1252
|
-
}) }), i < t.length - 1 && /* @__PURE__ */ N(
|
|
1254
|
+
}) }), i < t.length - 1 && /* @__PURE__ */ N(nn, {})]
|
|
1253
1255
|
}, i);
|
|
1254
1256
|
}) }) });
|
|
1255
|
-
},
|
|
1257
|
+
}, on = [
|
|
1256
1258
|
{
|
|
1257
1259
|
rel: "icon",
|
|
1258
1260
|
type: "image/png",
|
|
@@ -1270,54 +1272,54 @@ var an = () => {
|
|
|
1270
1272
|
sizes: "180x180",
|
|
1271
1273
|
href: "data:image/png;base64,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"
|
|
1272
1274
|
}
|
|
1273
|
-
],
|
|
1275
|
+
], sn = " · ", cn = "data-app-shell-favicon", ln = (e) => {
|
|
1274
1276
|
if (e.startsWith("data:")) return e.match(/^data:([^;,]+)/)?.[1];
|
|
1275
1277
|
if (e.endsWith(".svg")) return "image/svg+xml";
|
|
1276
1278
|
if (e.endsWith(".png")) return "image/png";
|
|
1277
1279
|
if (e.endsWith(".ico")) return "image/x-icon";
|
|
1278
|
-
},
|
|
1279
|
-
let { title: e, favicon: t } =
|
|
1280
|
+
}, un = () => {
|
|
1281
|
+
let { title: e, favicon: t } = V(), { basePath: n, segments: r } = rn(), i = st()?.overrides, a = r.at(-1), o;
|
|
1280
1282
|
if (a) {
|
|
1281
1283
|
let e = n ? `/${n}/${a.path}` : `/${a.path}`;
|
|
1282
1284
|
o = i?.get(e) ?? a.title;
|
|
1283
1285
|
}
|
|
1284
|
-
let s = [o, e].filter(Boolean).join(
|
|
1286
|
+
let s = [o, e].filter(Boolean).join(sn), c = typeof document < "u" && document.head.querySelector(`link[rel~="icon"]:not([${cn}])`), l;
|
|
1285
1287
|
return l = t ? [{
|
|
1286
1288
|
rel: "icon",
|
|
1287
1289
|
href: t,
|
|
1288
|
-
type:
|
|
1289
|
-
}] : c ? [] :
|
|
1290
|
+
type: ln(t)
|
|
1291
|
+
}] : c ? [] : on, /* @__PURE__ */ P(M, { children: [s ? /* @__PURE__ */ N("title", { children: s }) : null, l.map(({ rel: e, href: t, type: n, sizes: r }) => /* @__PURE__ */ N("link", {
|
|
1290
1292
|
rel: e,
|
|
1291
1293
|
href: t,
|
|
1292
1294
|
"data-app-shell-favicon": "",
|
|
1293
1295
|
...n ? { type: n } : {},
|
|
1294
1296
|
...r ? { sizes: r } : {}
|
|
1295
1297
|
}, `${e}-${r ?? "any"}`))] });
|
|
1296
|
-
},
|
|
1297
|
-
let { configurations: t, contentRoutes: n, children: r } = e, { loaderID: i, loader: o } =
|
|
1298
|
+
}, dn = (e) => {
|
|
1299
|
+
let { configurations: t, contentRoutes: n, children: r } = e, { loaderID: i, loader: o } = Vt({
|
|
1298
1300
|
modules: t.modules,
|
|
1299
1301
|
locale: t.locale,
|
|
1300
1302
|
basePath: t.basePath
|
|
1301
1303
|
}), s = t.errorBoundary, c = s ? [{
|
|
1302
1304
|
element: /* @__PURE__ */ N(a, {}),
|
|
1303
|
-
ErrorBoundary:
|
|
1305
|
+
ErrorBoundary: At(s),
|
|
1304
1306
|
children: n
|
|
1305
1307
|
}] : n;
|
|
1306
1308
|
return {
|
|
1307
1309
|
id: i,
|
|
1308
1310
|
loader: o,
|
|
1309
|
-
element: /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(
|
|
1311
|
+
element: /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(un, {}), r] }),
|
|
1310
1312
|
children: c,
|
|
1311
1313
|
HydrateFallback: () => null
|
|
1312
1314
|
};
|
|
1313
|
-
},
|
|
1315
|
+
}, fn = {
|
|
1314
1316
|
createBrowserRouter: o,
|
|
1315
1317
|
createMemoryRouter: s
|
|
1316
|
-
},
|
|
1317
|
-
let { children: t } = e, { configurations: n } =
|
|
1318
|
+
}, pn = (e) => {
|
|
1319
|
+
let { children: t } = e, { configurations: n } = V(), r = C(() => Pt({
|
|
1318
1320
|
modules: n.modules,
|
|
1319
1321
|
settingsResources: n.settingsResources
|
|
1320
|
-
}), [n.modules, n.settingsResources]), i = C(() => [
|
|
1322
|
+
}), [n.modules, n.settingsResources]), i = C(() => [dn({
|
|
1321
1323
|
configurations: n,
|
|
1322
1324
|
contentRoutes: r,
|
|
1323
1325
|
children: t
|
|
@@ -1325,19 +1327,19 @@ var an = () => {
|
|
|
1325
1327
|
n,
|
|
1326
1328
|
r,
|
|
1327
1329
|
t
|
|
1328
|
-
]), a = n.basePath ? "/" + n.basePath : void 0, o = e.memory ? e.initialEntries : void 0, s = C(() => e.memory ?
|
|
1330
|
+
]), a = n.basePath ? "/" + n.basePath : void 0, o = e.memory ? e.initialEntries : void 0, s = C(() => e.memory ? fn.createMemoryRouter(i, {
|
|
1329
1331
|
basename: a,
|
|
1330
1332
|
...o ? { initialEntries: o } : {}
|
|
1331
|
-
}) :
|
|
1333
|
+
}) : fn.createBrowserRouter(i, { basename: a }), [
|
|
1332
1334
|
a,
|
|
1333
1335
|
o,
|
|
1334
1336
|
e.memory,
|
|
1335
1337
|
i
|
|
1336
1338
|
]);
|
|
1337
1339
|
return /* @__PURE__ */ N(le, { router: s });
|
|
1338
|
-
},
|
|
1339
|
-
function
|
|
1340
|
-
let { pathname: n } = d(), { configurations: r } =
|
|
1340
|
+
}, mn = v(null), Z = v(null);
|
|
1341
|
+
function hn({ children: e, searchSources: t = [] }) {
|
|
1342
|
+
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(() => {
|
|
1341
1343
|
c(Array.from(i.current.values()).flat());
|
|
1342
1344
|
}, []), w = y((e, t) => (i.current.set(e, t), S(), () => {
|
|
1343
1345
|
i.current.delete(e), S();
|
|
@@ -1347,7 +1349,7 @@ function gn({ children: e, searchSources: t = [] }) {
|
|
|
1347
1349
|
a.current += 1, u(!1), h([]), _(null), b(!1);
|
|
1348
1350
|
}, []), k = y(() => {
|
|
1349
1351
|
let e = a.current + 1;
|
|
1350
|
-
a.current = e, h([]), _(n), b(!0),
|
|
1352
|
+
a.current = e, h([]), _(n), b(!0), Yt({
|
|
1351
1353
|
modules: r.modules,
|
|
1352
1354
|
locale: r.locale,
|
|
1353
1355
|
basePath: r.basePath,
|
|
@@ -1407,21 +1409,21 @@ function gn({ children: e, searchSources: t = [] }) {
|
|
|
1407
1409
|
n,
|
|
1408
1410
|
j
|
|
1409
1411
|
]);
|
|
1410
|
-
return /* @__PURE__ */ N(
|
|
1412
|
+
return /* @__PURE__ */ N(mn.Provider, {
|
|
1411
1413
|
value: M,
|
|
1412
|
-
children: /* @__PURE__ */ N(
|
|
1414
|
+
children: /* @__PURE__ */ N(Z.Provider, {
|
|
1413
1415
|
value: P,
|
|
1414
1416
|
children: e
|
|
1415
1417
|
})
|
|
1416
1418
|
});
|
|
1417
1419
|
}
|
|
1418
|
-
function
|
|
1419
|
-
let e = b(
|
|
1420
|
+
function gn() {
|
|
1421
|
+
let e = b(mn);
|
|
1420
1422
|
if (!e) throw Error("useCommandPaletteDispatch must be used within CommandPaletteProvider");
|
|
1421
1423
|
return e;
|
|
1422
1424
|
}
|
|
1423
|
-
function
|
|
1424
|
-
let n = S(), { register: r } =
|
|
1425
|
+
function _n(e, t) {
|
|
1426
|
+
let n = S(), { register: r } = gn(), i = T(t);
|
|
1425
1427
|
i.current = t;
|
|
1426
1428
|
let a = t.map((e) => `${e.key}\0${e.label}`).join("\n");
|
|
1427
1429
|
x(() => r(n, i.current.map((t) => ({
|
|
@@ -1435,68 +1437,84 @@ function vn(e, t) {
|
|
|
1435
1437
|
e
|
|
1436
1438
|
]);
|
|
1437
1439
|
}
|
|
1438
|
-
function
|
|
1439
|
-
let e = b(
|
|
1440
|
+
function vn() {
|
|
1441
|
+
let e = b(Z);
|
|
1440
1442
|
if (!e) throw Error("useCommandPaletteState must be used within CommandPaletteProvider");
|
|
1441
1443
|
return e;
|
|
1442
1444
|
}
|
|
1443
|
-
function
|
|
1444
|
-
let e = b(
|
|
1445
|
+
function yn() {
|
|
1446
|
+
let e = b(Z);
|
|
1445
1447
|
if (!e) throw Error("useOpenCommandPalette must be used within CommandPaletteProvider");
|
|
1446
1448
|
return e.openCommandPalette;
|
|
1447
1449
|
}
|
|
1448
|
-
function
|
|
1449
|
-
let e = b(
|
|
1450
|
+
function bn() {
|
|
1451
|
+
let e = b(Z);
|
|
1450
1452
|
if (!e) throw Error("useCommandPaletteActions must be used within CommandPaletteProvider");
|
|
1451
1453
|
return e.actions;
|
|
1452
1454
|
}
|
|
1453
1455
|
//#endregion
|
|
1454
1456
|
//#region src/components/dialog/dialog.tsx
|
|
1455
|
-
function
|
|
1457
|
+
function xn({ ...e }) {
|
|
1456
1458
|
return /* @__PURE__ */ N(F.Root, {
|
|
1457
1459
|
"data-slot": "dialog",
|
|
1458
1460
|
...e
|
|
1459
1461
|
});
|
|
1460
1462
|
}
|
|
1461
|
-
|
|
1462
|
-
function
|
|
1463
|
+
xn.displayName = "Dialog.Root";
|
|
1464
|
+
function Sn({ ...e }) {
|
|
1463
1465
|
return /* @__PURE__ */ N(F.Trigger, {
|
|
1464
1466
|
"data-slot": "dialog-trigger",
|
|
1465
1467
|
...e
|
|
1466
1468
|
});
|
|
1467
1469
|
}
|
|
1468
|
-
|
|
1469
|
-
function
|
|
1470
|
+
Sn.displayName = "Dialog.Trigger";
|
|
1471
|
+
function Cn({ ...e }) {
|
|
1470
1472
|
return /* @__PURE__ */ N(F.Portal, {
|
|
1471
1473
|
"data-slot": "dialog-portal",
|
|
1472
1474
|
...e
|
|
1473
1475
|
});
|
|
1474
1476
|
}
|
|
1475
|
-
|
|
1476
|
-
function
|
|
1477
|
+
Cn.displayName = "Dialog.Portal";
|
|
1478
|
+
function wn({ ...e }) {
|
|
1477
1479
|
return /* @__PURE__ */ N(F.Close, {
|
|
1478
1480
|
"data-slot": "dialog-close",
|
|
1479
1481
|
...e
|
|
1480
1482
|
});
|
|
1481
1483
|
}
|
|
1482
|
-
|
|
1483
|
-
function
|
|
1484
|
+
wn.displayName = "Dialog.Close";
|
|
1485
|
+
function Tn({ className: e, ...t }) {
|
|
1484
1486
|
return /* @__PURE__ */ N(F.Backdrop, {
|
|
1485
1487
|
"data-slot": "dialog-overlay",
|
|
1486
|
-
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-
|
|
1488
|
+
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-portal) astw:bg-backdrop", e),
|
|
1487
1489
|
...t
|
|
1488
1490
|
});
|
|
1489
1491
|
}
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1492
|
+
Tn.displayName = "Dialog.Overlay";
|
|
1493
|
+
var En = "a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), [contenteditable=\"\"], [contenteditable=\"true\"]";
|
|
1494
|
+
function Dn(e) {
|
|
1495
|
+
return Array.from(e.querySelectorAll(En)).find((e) => e.tabIndex >= 0 && !e.disabled && e.getClientRects().length > 0) ?? null;
|
|
1496
|
+
}
|
|
1497
|
+
function On({ className: e, children: t, ref: n, initialFocus: r, ...i }) {
|
|
1498
|
+
let a = g.useRef(null);
|
|
1499
|
+
return /* @__PURE__ */ P(Cn, {
|
|
1493
1500
|
"data-slot": "dialog-portal",
|
|
1494
|
-
children: [/* @__PURE__ */ N(
|
|
1501
|
+
children: [/* @__PURE__ */ N(Tn, {}), /* @__PURE__ */ P(F.Popup, {
|
|
1495
1502
|
"data-slot": "dialog-content",
|
|
1496
|
-
|
|
1497
|
-
|
|
1503
|
+
ref: L(a, n),
|
|
1504
|
+
initialFocus: r ?? ((e) => {
|
|
1505
|
+
let t = a.current;
|
|
1506
|
+
if (!t) return !0;
|
|
1507
|
+
if (e === "touch") return t;
|
|
1508
|
+
if (t.scrollHeight <= t.clientHeight) return !0;
|
|
1509
|
+
let n = Dn(t);
|
|
1510
|
+
if (!n) return t;
|
|
1511
|
+
let r = t.getBoundingClientRect(), i = n.getBoundingClientRect();
|
|
1512
|
+
return i.top >= r.top && i.bottom <= r.bottom ? n : t;
|
|
1513
|
+
}),
|
|
1514
|
+
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-portal) astw:grid astw:w-full astw:max-w-[calc(100%-2rem)] astw:max-h-[calc(100dvh-2rem)] astw:overflow-y-auto 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),
|
|
1515
|
+
...i,
|
|
1498
1516
|
children: [t, /* @__PURE__ */ P(F.Close, {
|
|
1499
|
-
className: "astw:ring-offset-
|
|
1517
|
+
className: "astw:ring-offset-card astw:focus:ring-ring astw:data-open:bg-accent astw:data-open:text-muted-foreground astw:absolute astw:top-4 astw:right-4 astw:rounded-xs astw:opacity-70 astw:transition-opacity astw:hover:opacity-100 astw:focus:ring-2 astw:focus:ring-offset-2 astw:focus:outline-hidden astw:disabled:pointer-events-none astw:[&_svg]:pointer-events-none astw:[&_svg]:shrink-0 astw:[&_svg:not([class*='size-'])]:size-4",
|
|
1500
1518
|
children: [/* @__PURE__ */ N(ae, {}), /* @__PURE__ */ N("span", {
|
|
1501
1519
|
className: "astw:sr-only",
|
|
1502
1520
|
children: "Close"
|
|
@@ -1505,25 +1523,25 @@ function Dn({ className: e, children: t, ...n }) {
|
|
|
1505
1523
|
})]
|
|
1506
1524
|
});
|
|
1507
1525
|
}
|
|
1508
|
-
|
|
1509
|
-
function
|
|
1526
|
+
On.displayName = "Dialog.Content";
|
|
1527
|
+
function kn({ className: e, ...t }) {
|
|
1510
1528
|
return /* @__PURE__ */ N("div", {
|
|
1511
1529
|
"data-slot": "dialog-header",
|
|
1512
1530
|
className: I("astw:flex astw:flex-col astw:gap-2 astw:text-center astw:sm:text-left", e),
|
|
1513
1531
|
...t
|
|
1514
1532
|
});
|
|
1515
1533
|
}
|
|
1516
|
-
|
|
1517
|
-
function
|
|
1534
|
+
kn.displayName = "Dialog.Header";
|
|
1535
|
+
function An({ className: e, ...t }) {
|
|
1518
1536
|
return /* @__PURE__ */ N("div", {
|
|
1519
1537
|
"data-slot": "dialog-footer",
|
|
1520
1538
|
className: I("astw:flex astw:flex-col-reverse astw:gap-2 astw:sm:flex-row astw:sm:justify-end", e),
|
|
1521
1539
|
...t
|
|
1522
1540
|
});
|
|
1523
1541
|
}
|
|
1524
|
-
|
|
1525
|
-
function
|
|
1526
|
-
return /* @__PURE__ */ N(
|
|
1542
|
+
An.displayName = "Dialog.Footer";
|
|
1543
|
+
function jn({ className: e, ...t }) {
|
|
1544
|
+
return /* @__PURE__ */ N(W, {
|
|
1527
1545
|
variant: "heading-md",
|
|
1528
1546
|
className: I("astw:leading-none", e),
|
|
1529
1547
|
render: /* @__PURE__ */ N(F.Title, {
|
|
@@ -1532,9 +1550,9 @@ function An({ className: e, ...t }) {
|
|
|
1532
1550
|
})
|
|
1533
1551
|
});
|
|
1534
1552
|
}
|
|
1535
|
-
|
|
1536
|
-
function
|
|
1537
|
-
return /* @__PURE__ */ N(
|
|
1553
|
+
jn.displayName = "Dialog.Title";
|
|
1554
|
+
function Mn({ className: e, ...t }) {
|
|
1555
|
+
return /* @__PURE__ */ N(W, {
|
|
1538
1556
|
variant: "body-md",
|
|
1539
1557
|
className: I("astw:text-muted-foreground", e),
|
|
1540
1558
|
render: /* @__PURE__ */ N(F.Description, {
|
|
@@ -1543,46 +1561,46 @@ function jn({ className: e, ...t }) {
|
|
|
1543
1561
|
})
|
|
1544
1562
|
});
|
|
1545
1563
|
}
|
|
1546
|
-
|
|
1547
|
-
var
|
|
1548
|
-
Root:
|
|
1549
|
-
Close:
|
|
1550
|
-
Content:
|
|
1551
|
-
Description:
|
|
1552
|
-
Footer:
|
|
1553
|
-
Header:
|
|
1554
|
-
Title:
|
|
1555
|
-
Trigger:
|
|
1556
|
-
},
|
|
1564
|
+
Mn.displayName = "Dialog.Description";
|
|
1565
|
+
var Q = {
|
|
1566
|
+
Root: xn,
|
|
1567
|
+
Close: wn,
|
|
1568
|
+
Content: On,
|
|
1569
|
+
Description: Mn,
|
|
1570
|
+
Footer: An,
|
|
1571
|
+
Header: kn,
|
|
1572
|
+
Title: jn,
|
|
1573
|
+
Trigger: Sn
|
|
1574
|
+
}, Nn = [
|
|
1557
1575
|
"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",
|
|
1558
1576
|
"astw:dark:bg-input/30 astw:transition-[color,box-shadow]",
|
|
1559
1577
|
"astw:selection:bg-primary astw:selection:text-primary-foreground",
|
|
1560
1578
|
"astw:placeholder:text-muted-foreground",
|
|
1561
1579
|
"astw:focus-visible:border-ring astw:focus-visible:ring-ring/50 astw:focus-visible:ring-[3px]",
|
|
1562
1580
|
"astw:disabled:pointer-events-none astw:disabled:cursor-not-allowed astw:disabled:opacity-50"
|
|
1563
|
-
],
|
|
1581
|
+
], Pn = [...Nn, "astw:h-9 astw:py-1"], Fn = [...Nn, "astw:min-h-16 astw:py-2 astw:resize-y"];
|
|
1564
1582
|
//#endregion
|
|
1565
1583
|
//#region src/components/input/input.tsx
|
|
1566
|
-
function
|
|
1584
|
+
function In({ className: e, type: t, ref: n, ...r }) {
|
|
1567
1585
|
let i = g.useRef(null);
|
|
1568
1586
|
return _e(i, { handlesDirectionalKeys: !0 }), /* @__PURE__ */ N("input", {
|
|
1569
|
-
ref:
|
|
1587
|
+
ref: L(i, n),
|
|
1570
1588
|
type: t,
|
|
1571
1589
|
"data-slot": "input",
|
|
1572
|
-
className: I(
|
|
1590
|
+
className: I(Pn, "astw:file:text-foreground astw:file:inline-flex astw:file:h-7 astw:file:border-0 astw:file:bg-transparent astw:file:text-label-md", "astw:aria-invalid:ring-danger-solid/20 astw:dark:aria-invalid:ring-danger-solid/40 astw:aria-invalid:border-danger-solid", e),
|
|
1573
1591
|
...r
|
|
1574
1592
|
});
|
|
1575
1593
|
}
|
|
1576
1594
|
//#endregion
|
|
1577
1595
|
//#region src/components/spinner/spinner.tsx
|
|
1578
|
-
var
|
|
1596
|
+
var Ln = {
|
|
1579
1597
|
xs: 12,
|
|
1580
1598
|
sm: 14,
|
|
1581
1599
|
default: 16,
|
|
1582
1600
|
lg: 20
|
|
1583
1601
|
};
|
|
1584
|
-
function
|
|
1585
|
-
let a = i["aria-label"] != null || i["aria-labelledby"] != null, o = i["aria-hidden"] === !0 || i["aria-hidden"] == null && i.role == null && !a, s =
|
|
1602
|
+
function Rn({ className: e, size: t = "default", width: n, height: r, ...i }) {
|
|
1603
|
+
let a = i["aria-label"] != null || i["aria-labelledby"] != null, o = i["aria-hidden"] === !0 || i["aria-hidden"] == null && i.role == null && !a, s = Ln[t];
|
|
1586
1604
|
return /* @__PURE__ */ N("svg", {
|
|
1587
1605
|
"data-slot": "spinner",
|
|
1588
1606
|
viewBox: "0 0 16 16",
|
|
@@ -1608,13 +1626,13 @@ function Ln({ className: e, size: t = "default", width: n, height: r, ...i }) {
|
|
|
1608
1626
|
}
|
|
1609
1627
|
//#endregion
|
|
1610
1628
|
//#region src/lib/is-composing.ts
|
|
1611
|
-
function
|
|
1629
|
+
function zn(e, t = !1) {
|
|
1612
1630
|
return e.isComposing || t || e.keyCode === 229;
|
|
1613
1631
|
}
|
|
1614
1632
|
//#endregion
|
|
1615
1633
|
//#region src/components/command-palette/command-palette.tsx
|
|
1616
|
-
var
|
|
1617
|
-
function
|
|
1634
|
+
var Bn = "astw:relative astw:flex astw:w-full astw:cursor-pointer astw:select-none astw:rounded-sm astw:px-2 astw:py-2 astw:text-body-md astw:outline-none astw:text-left", Vn = (e) => e ? "astw:bg-accent astw:text-accent-foreground" : "astw:hover:bg-accent astw:hover:text-accent-foreground";
|
|
1635
|
+
function Hn(e) {
|
|
1618
1636
|
let t = [], n = (e, r, i) => {
|
|
1619
1637
|
e.forEach((e) => {
|
|
1620
1638
|
let a = [...i, e.title];
|
|
@@ -1635,17 +1653,17 @@ function zn(e) {
|
|
|
1635
1653
|
}), n(e.items, e.icon, [e.title]);
|
|
1636
1654
|
}), t;
|
|
1637
1655
|
}
|
|
1638
|
-
function
|
|
1656
|
+
function Un(e, t) {
|
|
1639
1657
|
if (!t.trim()) return e;
|
|
1640
1658
|
let n = t.toLowerCase();
|
|
1641
1659
|
return e.filter((e) => e.label.toLowerCase().includes(n));
|
|
1642
1660
|
}
|
|
1643
|
-
var
|
|
1661
|
+
var Wn = 300, Gn = (e) => e === "/" || e.startsWith("/_"), Kn = {
|
|
1644
1662
|
mode: "browse",
|
|
1645
1663
|
search: "",
|
|
1646
1664
|
selectedIndex: 0
|
|
1647
|
-
},
|
|
1648
|
-
function
|
|
1665
|
+
}, qn = [];
|
|
1666
|
+
function Jn(e, t) {
|
|
1649
1667
|
switch (t.type) {
|
|
1650
1668
|
case "SET_SEARCH": return e.mode === "search" ? {
|
|
1651
1669
|
...e,
|
|
@@ -1683,7 +1701,7 @@ function Gn(e, t) {
|
|
|
1683
1701
|
results: [],
|
|
1684
1702
|
isSearching: !1
|
|
1685
1703
|
};
|
|
1686
|
-
case "EXIT_SEARCH_MODE": return
|
|
1704
|
+
case "EXIT_SEARCH_MODE": return Kn;
|
|
1687
1705
|
case "SEARCH_START": return e.mode === "search" ? {
|
|
1688
1706
|
...e,
|
|
1689
1707
|
isSearching: !0,
|
|
@@ -1707,10 +1725,10 @@ function Gn(e, t) {
|
|
|
1707
1725
|
...e,
|
|
1708
1726
|
selectedIndex: Math.max(e.selectedIndex - 1, 0)
|
|
1709
1727
|
};
|
|
1710
|
-
case "RESET": return
|
|
1728
|
+
case "RESET": return Kn;
|
|
1711
1729
|
}
|
|
1712
1730
|
}
|
|
1713
|
-
function
|
|
1731
|
+
function Yn(e, t) {
|
|
1714
1732
|
let n = e.indexOf(":");
|
|
1715
1733
|
if (n < 1) return {
|
|
1716
1734
|
activeSource: null,
|
|
@@ -1725,13 +1743,13 @@ function Kn(e, t) {
|
|
|
1725
1743
|
searchQuery: e
|
|
1726
1744
|
};
|
|
1727
1745
|
}
|
|
1728
|
-
function
|
|
1729
|
-
let a = p(), o = T(null), [s, c] = w(
|
|
1746
|
+
function Xn({ routes: e, contextualActions: t = [], searchSources: n = [], open: r, setOpen: i }) {
|
|
1747
|
+
let a = p(), o = T(null), [s, c] = w(Jn, Kn), 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 : qn, h = s.mode === "search" && s.isSearching, g = C(() => f ? [] : Un(t, u), [
|
|
1730
1748
|
t,
|
|
1731
1749
|
u,
|
|
1732
1750
|
f
|
|
1733
|
-
]), _ = C(() => f ? [] :
|
|
1734
|
-
let n =
|
|
1751
|
+
]), _ = C(() => f ? [] : It(e, u).toSorted((e, t) => {
|
|
1752
|
+
let n = Gn(e.path), r = Gn(t.path);
|
|
1735
1753
|
return Number(n) - Number(r) || e.path.localeCompare(t.path);
|
|
1736
1754
|
}), [
|
|
1737
1755
|
e,
|
|
@@ -1754,7 +1772,7 @@ function qn({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1754
1772
|
}).catch(() => {
|
|
1755
1773
|
e.signal.aborted || c({ type: "SEARCH_FAIL" });
|
|
1756
1774
|
});
|
|
1757
|
-
},
|
|
1775
|
+
}, Wn);
|
|
1758
1776
|
return () => {
|
|
1759
1777
|
clearTimeout(e), l.current?.abort(), l.current = null;
|
|
1760
1778
|
};
|
|
@@ -1795,7 +1813,7 @@ function qn({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1795
1813
|
});
|
|
1796
1814
|
return;
|
|
1797
1815
|
}
|
|
1798
|
-
let t =
|
|
1816
|
+
let t = Yn(e, n);
|
|
1799
1817
|
c({
|
|
1800
1818
|
type: "SET_SEARCH",
|
|
1801
1819
|
value: e,
|
|
@@ -1803,7 +1821,7 @@ function qn({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1803
1821
|
detectedQuery: t.activeSource ? t.searchQuery : void 0
|
|
1804
1822
|
});
|
|
1805
1823
|
}, [s.mode, n]), S = y((e) => {
|
|
1806
|
-
let t =
|
|
1824
|
+
let t = Yn(e, n);
|
|
1807
1825
|
c({
|
|
1808
1826
|
type: "INITIALIZE_SEARCH",
|
|
1809
1827
|
value: e,
|
|
@@ -1847,7 +1865,7 @@ function qn({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1847
1865
|
selectableItems: v,
|
|
1848
1866
|
handleSelectItem: D,
|
|
1849
1867
|
handleKeyDown: y((e) => {
|
|
1850
|
-
if (!
|
|
1868
|
+
if (!zn(e.nativeEvent)) switch (e.key) {
|
|
1851
1869
|
case "ArrowDown":
|
|
1852
1870
|
e.preventDefault(), c({
|
|
1853
1871
|
type: "ARROW_DOWN",
|
|
@@ -1872,10 +1890,10 @@ function qn({ routes: e, contextualActions: t = [], searchSources: n = [], open:
|
|
|
1872
1890
|
listRef: o
|
|
1873
1891
|
};
|
|
1874
1892
|
}
|
|
1875
|
-
function
|
|
1876
|
-
let n =
|
|
1893
|
+
function Zn({ navItems: e, extraRoutes: t = [] }) {
|
|
1894
|
+
let n = H(), r = bn(), { searchSources: i, open: a, setOpen: o, openRequest: s, clearOpenRequest: c, dynamicRoutes: l, isLoadingDynamicRoutes: u } = vn(), { 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 } = Xn({
|
|
1877
1895
|
routes: C(() => [
|
|
1878
|
-
...
|
|
1896
|
+
...Hn(e),
|
|
1879
1897
|
...t,
|
|
1880
1898
|
...l
|
|
1881
1899
|
], [
|
|
@@ -1896,15 +1914,15 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1896
1914
|
c
|
|
1897
1915
|
]);
|
|
1898
1916
|
let O = b ? [] : w.filter((e) => e.type === "search-mode"), k = O.length, A = k, j = A + _.length;
|
|
1899
|
-
return /* @__PURE__ */ N(
|
|
1917
|
+
return /* @__PURE__ */ N(Q.Root, {
|
|
1900
1918
|
open: d,
|
|
1901
1919
|
onOpenChange: f,
|
|
1902
|
-
children: /* @__PURE__ */ P(
|
|
1920
|
+
children: /* @__PURE__ */ P(Q.Content, {
|
|
1903
1921
|
className: "astw:p-0 astw:gap-0 astw:sm:max-w-2xl astw:lg:max-w-4xl astw:overflow-hidden astw:top-[30%] astw:translate-y-[-30%]",
|
|
1904
1922
|
onKeyDown: E,
|
|
1905
1923
|
"aria-describedby": void 0,
|
|
1906
1924
|
children: [
|
|
1907
|
-
/* @__PURE__ */ N(
|
|
1925
|
+
/* @__PURE__ */ N(Q.Title, {
|
|
1908
1926
|
className: "astw:sr-only",
|
|
1909
1927
|
children: n("commandPaletteSearch")
|
|
1910
1928
|
}),
|
|
@@ -1916,7 +1934,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1916
1934
|
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-label-sm astw:text-muted-foreground",
|
|
1917
1935
|
children: b.prefix
|
|
1918
1936
|
}),
|
|
1919
|
-
/* @__PURE__ */ N(
|
|
1937
|
+
/* @__PURE__ */ N(In, {
|
|
1920
1938
|
value: p,
|
|
1921
1939
|
onChange: (e) => m(e.target.value),
|
|
1922
1940
|
placeholder: n("commandPaletteSearch"),
|
|
@@ -1936,7 +1954,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1936
1954
|
children: [
|
|
1937
1955
|
u && /* @__PURE__ */ P("output", {
|
|
1938
1956
|
className: "astw:flex astw:items-center astw:justify-center astw:gap-2 astw:py-4 astw:text-body-md astw:text-muted-foreground",
|
|
1939
|
-
children: [/* @__PURE__ */ N(
|
|
1957
|
+
children: [/* @__PURE__ */ N(Rn, { "aria-label": n("commandPaletteLoadingRoutes") }), n("commandPaletteLoadingRoutes")]
|
|
1940
1958
|
}),
|
|
1941
1959
|
k > 0 && /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N("div", {
|
|
1942
1960
|
className: "astw:px-2 astw:py-1.5 astw:text-label-sm astw:text-muted-foreground",
|
|
@@ -1949,7 +1967,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1949
1967
|
type: "search-mode",
|
|
1950
1968
|
source: n
|
|
1951
1969
|
}),
|
|
1952
|
-
className: I(
|
|
1970
|
+
className: I(Bn, "astw:items-center astw:gap-2", Vn(t === g)),
|
|
1953
1971
|
children: [
|
|
1954
1972
|
n.icon && /* @__PURE__ */ N("span", {
|
|
1955
1973
|
className: "astw:flex astw:size-4 astw:items-center astw:justify-center astw:shrink-0",
|
|
@@ -1977,7 +1995,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
1977
1995
|
type: "action",
|
|
1978
1996
|
action: e
|
|
1979
1997
|
}),
|
|
1980
|
-
className: I(
|
|
1998
|
+
className: I(Bn, "astw:items-center astw:gap-2", Vn(n === g)),
|
|
1981
1999
|
children: [
|
|
1982
2000
|
e.icon && /* @__PURE__ */ N("span", {
|
|
1983
2001
|
className: "astw:flex astw:size-4 astw:items-center astw:justify-center astw:shrink-0",
|
|
@@ -2005,7 +2023,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
2005
2023
|
type: "route",
|
|
2006
2024
|
route: e
|
|
2007
2025
|
}),
|
|
2008
|
-
className: I(
|
|
2026
|
+
className: I(Bn, "astw:flex-col astw:items-start", Vn(n === g)),
|
|
2009
2027
|
children: [/* @__PURE__ */ N("span", {
|
|
2010
2028
|
className: "astw:truncate astw:w-full astw:text-left",
|
|
2011
2029
|
children: e.breadcrumb.join(" > ")
|
|
@@ -2025,7 +2043,7 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
2025
2043
|
result: e,
|
|
2026
2044
|
source: b
|
|
2027
2045
|
}),
|
|
2028
|
-
className: I(
|
|
2046
|
+
className: I(Bn, "astw:flex-col astw:items-start", Vn(t === g)),
|
|
2029
2047
|
children: [/* @__PURE__ */ P("span", {
|
|
2030
2048
|
className: "astw:flex astw:items-center astw:gap-2 astw:w-full",
|
|
2031
2049
|
children: [(e.icon || b.icon) && /* @__PURE__ */ N("span", {
|
|
@@ -2043,23 +2061,23 @@ function Jn({ navItems: e, extraRoutes: t = [] }) {
|
|
|
2043
2061
|
]
|
|
2044
2062
|
}), S && /* @__PURE__ */ P("div", {
|
|
2045
2063
|
className: "astw:flex astw:items-center astw:justify-center astw:gap-2 astw:py-4 astw:text-body-md astw:text-muted-foreground",
|
|
2046
|
-
children: [/* @__PURE__ */ N(
|
|
2064
|
+
children: [/* @__PURE__ */ N(Rn, {}), n("commandPaletteSearching")]
|
|
2047
2065
|
})]
|
|
2048
2066
|
})
|
|
2049
2067
|
]
|
|
2050
2068
|
})
|
|
2051
2069
|
});
|
|
2052
2070
|
}
|
|
2053
|
-
function
|
|
2071
|
+
function Qn() {
|
|
2054
2072
|
return null;
|
|
2055
2073
|
}
|
|
2056
|
-
function
|
|
2057
|
-
let e =
|
|
2074
|
+
function $n() {
|
|
2075
|
+
let e = Ht(), n = ht();
|
|
2058
2076
|
return /* @__PURE__ */ N(_, {
|
|
2059
2077
|
fallback: null,
|
|
2060
2078
|
children: /* @__PURE__ */ N(t, {
|
|
2061
2079
|
resolve: e,
|
|
2062
|
-
children: (e) => /* @__PURE__ */ N(
|
|
2080
|
+
children: (e) => /* @__PURE__ */ N(Zn, {
|
|
2063
2081
|
navItems: e ?? [],
|
|
2064
2082
|
extraRoutes: [n]
|
|
2065
2083
|
})
|
|
@@ -2068,13 +2086,13 @@ function Xn() {
|
|
|
2068
2086
|
}
|
|
2069
2087
|
//#endregion
|
|
2070
2088
|
//#region src/hooks/use-is-client.ts
|
|
2071
|
-
var
|
|
2072
|
-
function
|
|
2073
|
-
return D(
|
|
2089
|
+
var er = () => () => {}, tr = () => !0, nr = () => !1;
|
|
2090
|
+
function rr() {
|
|
2091
|
+
return D(er, tr, nr);
|
|
2074
2092
|
}
|
|
2075
2093
|
//#endregion
|
|
2076
2094
|
//#region src/fs-routes/converter.tsx
|
|
2077
|
-
function
|
|
2095
|
+
function ir(e) {
|
|
2078
2096
|
let t = {
|
|
2079
2097
|
path: "",
|
|
2080
2098
|
fullPath: "",
|
|
@@ -2082,7 +2100,7 @@ function tr(e) {
|
|
|
2082
2100
|
children: /* @__PURE__ */ new Map()
|
|
2083
2101
|
};
|
|
2084
2102
|
for (let n of e) {
|
|
2085
|
-
let e =
|
|
2103
|
+
let e = fe(n.path), r = t, i = "";
|
|
2086
2104
|
for (let t of e) t.type !== "group" && (i = i ? `${i}/${t.converted}` : t.converted, r.children.has(t.converted) || r.children.set(t.converted, {
|
|
2087
2105
|
path: t.converted,
|
|
2088
2106
|
fullPath: i,
|
|
@@ -2093,12 +2111,12 @@ function tr(e) {
|
|
|
2093
2111
|
}
|
|
2094
2112
|
return t;
|
|
2095
2113
|
}
|
|
2096
|
-
function
|
|
2097
|
-
return e?.appShellPageProps?.meta?.title ??
|
|
2114
|
+
function ar(e, t) {
|
|
2115
|
+
return e?.appShellPageProps?.meta?.title ?? Je(t);
|
|
2098
2116
|
}
|
|
2099
|
-
function
|
|
2100
|
-
let t = e.component, n =
|
|
2101
|
-
for (let t of e.children.values()) o.push(
|
|
2117
|
+
function or(e) {
|
|
2118
|
+
let t = e.component, n = ar(t, e.path), r = t?.appShellPageProps?.meta?.icon, i = t?.appShellPageProps?.meta?.breadcrumbTitle, a = e.guards && e.guards.length > 0 ? J(e.guards) : void 0, o = [];
|
|
2119
|
+
for (let t of e.children.values()) o.push(or(t));
|
|
2102
2120
|
return {
|
|
2103
2121
|
_type: "resource",
|
|
2104
2122
|
type: "component",
|
|
@@ -2110,14 +2128,14 @@ function rr(e) {
|
|
|
2110
2128
|
},
|
|
2111
2129
|
component: t ? () => /* @__PURE__ */ N(t, {}) : void 0,
|
|
2112
2130
|
subResources: o.length > 0 ? o : void 0,
|
|
2113
|
-
errorBoundary: /* @__PURE__ */ N(
|
|
2131
|
+
errorBoundary: /* @__PURE__ */ N(G, {}),
|
|
2114
2132
|
guards: e.guards,
|
|
2115
2133
|
loader: a
|
|
2116
2134
|
};
|
|
2117
2135
|
}
|
|
2118
|
-
function
|
|
2119
|
-
let t = e.component, n =
|
|
2120
|
-
for (let t of e.children.values()) o.push(
|
|
2136
|
+
function sr(e) {
|
|
2137
|
+
let t = e.component, n = ar(t, e.path), r = t?.appShellPageProps?.meta?.icon, i = t?.appShellPageProps?.meta?.breadcrumbTitle, a = e.guards && e.guards.length > 0 ? J(e.guards) : void 0, o = [];
|
|
2138
|
+
for (let t of e.children.values()) o.push(or(t));
|
|
2121
2139
|
return {
|
|
2122
2140
|
_type: "module",
|
|
2123
2141
|
type: "component",
|
|
@@ -2130,34 +2148,34 @@ function ir(e) {
|
|
|
2130
2148
|
},
|
|
2131
2149
|
component: t ? () => /* @__PURE__ */ N(t, {}) : void 0,
|
|
2132
2150
|
resources: o,
|
|
2133
|
-
errorBoundary: /* @__PURE__ */ N(
|
|
2151
|
+
errorBoundary: /* @__PURE__ */ N(G, {}),
|
|
2134
2152
|
guards: e.guards,
|
|
2135
2153
|
loader: a
|
|
2136
2154
|
};
|
|
2137
2155
|
}
|
|
2138
|
-
function
|
|
2156
|
+
function cr(e) {
|
|
2139
2157
|
if (e.length === 0) return [];
|
|
2140
|
-
let t =
|
|
2158
|
+
let t = ir(e), n = [];
|
|
2141
2159
|
if (t.component) {
|
|
2142
|
-
let e =
|
|
2160
|
+
let e = sr({
|
|
2143
2161
|
...t,
|
|
2144
2162
|
path: "",
|
|
2145
2163
|
children: /* @__PURE__ */ new Map()
|
|
2146
2164
|
});
|
|
2147
2165
|
n.push(e);
|
|
2148
2166
|
}
|
|
2149
|
-
for (let e of t.children.values()) n.push(
|
|
2167
|
+
for (let e of t.children.values()) n.push(sr(e));
|
|
2150
2168
|
return n;
|
|
2151
2169
|
}
|
|
2152
2170
|
//#endregion
|
|
2153
2171
|
//#region src/components/appshell/appshell.tsx
|
|
2154
2172
|
var $ = (e) => {
|
|
2155
|
-
let t =
|
|
2173
|
+
let t = rr();
|
|
2156
2174
|
We(e.contextData ?? {});
|
|
2157
2175
|
let { modules: n, rootComponent: r, rootGuards: i } = e, a = e.memory ? {
|
|
2158
2176
|
memory: !0,
|
|
2159
2177
|
initialEntries: e.initialEntries
|
|
2160
|
-
} : { 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 ? [
|
|
2178
|
+
} : { 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 ? [Xe({
|
|
2161
2179
|
path: "",
|
|
2162
2180
|
...r ? {
|
|
2163
2181
|
meta: {
|
|
@@ -2205,12 +2223,11 @@ var $ = (e) => {
|
|
|
2205
2223
|
className: "astw:flex astw:min-h-screen astw:items-center astw:justify-center astw:bg-background astw:p-4",
|
|
2206
2224
|
children: /* @__PURE__ */ P("div", {
|
|
2207
2225
|
className: "astw:max-w-md astw:rounded-lg astw:border astw:border-danger-border astw:bg-danger-surface astw:p-6 astw:text-center",
|
|
2208
|
-
children: [/* @__PURE__ */ N(
|
|
2226
|
+
children: [/* @__PURE__ */ N(W.h1, {
|
|
2209
2227
|
variant: "heading-md",
|
|
2210
2228
|
className: "astw:mb-2 astw:text-danger-text",
|
|
2211
|
-
render: /* @__PURE__ */ N("h1", {}),
|
|
2212
2229
|
children: "Configuration Error"
|
|
2213
|
-
}), /* @__PURE__ */ N(
|
|
2230
|
+
}), /* @__PURE__ */ N(W, {
|
|
2214
2231
|
variant: "body-md",
|
|
2215
2232
|
className: "astw:text-muted-foreground",
|
|
2216
2233
|
children: e
|
|
@@ -2218,17 +2235,17 @@ var $ = (e) => {
|
|
|
2218
2235
|
})
|
|
2219
2236
|
});
|
|
2220
2237
|
}
|
|
2221
|
-
return t ? /* @__PURE__ */ N(
|
|
2238
|
+
return t ? /* @__PURE__ */ N(B.Provider, {
|
|
2222
2239
|
value: c,
|
|
2223
2240
|
children: /* @__PURE__ */ N(je.Provider, {
|
|
2224
2241
|
value: l,
|
|
2225
|
-
children: /* @__PURE__ */ N(
|
|
2242
|
+
children: /* @__PURE__ */ N(at, { children: /* @__PURE__ */ N(wt, {
|
|
2226
2243
|
defaultColorTheme: e.defaultColorTheme,
|
|
2227
|
-
children: /* @__PURE__ */ N(
|
|
2244
|
+
children: /* @__PURE__ */ N(pn, {
|
|
2228
2245
|
...a,
|
|
2229
|
-
children: /* @__PURE__ */ P(
|
|
2246
|
+
children: /* @__PURE__ */ P(hn, {
|
|
2230
2247
|
searchSources: e.searchSources,
|
|
2231
|
-
children: [e.children, /* @__PURE__ */ N(
|
|
2248
|
+
children: [e.children, /* @__PURE__ */ N($n, {})]
|
|
2232
2249
|
})
|
|
2233
2250
|
})
|
|
2234
2251
|
}) })
|
|
@@ -2236,18 +2253,18 @@ var $ = (e) => {
|
|
|
2236
2253
|
}) : null;
|
|
2237
2254
|
};
|
|
2238
2255
|
$.WithPages = (e) => {
|
|
2239
|
-
let t =
|
|
2256
|
+
let t = cr(e);
|
|
2240
2257
|
return (e) => /* @__PURE__ */ N($, {
|
|
2241
2258
|
...e,
|
|
2242
2259
|
modules: t,
|
|
2243
2260
|
memory: !1
|
|
2244
2261
|
});
|
|
2245
2262
|
};
|
|
2246
|
-
var
|
|
2263
|
+
var lr = (e) => /* @__PURE__ */ N($, {
|
|
2247
2264
|
...e,
|
|
2248
2265
|
memory: !1
|
|
2249
2266
|
});
|
|
2250
|
-
|
|
2251
|
-
var
|
|
2267
|
+
lr.WithPages = $.WithPages;
|
|
2268
|
+
var ur = lr;
|
|
2252
2269
|
//#endregion
|
|
2253
|
-
export { Ne as A, _e as B,
|
|
2270
|
+
export { Ne as A, _e as B, Ze as C, W as D, qe as E, z as F, I as H, R as I, we as L, Me as M, Pe as N, H as O, Fe as P, Ce as R, Xe as S, Ge as T, me as V, Ot as _, Rn as a, ct as b, Fn as c, yn as d, _n as f, Y as g, Ht as h, zn as i, V as j, Le as k, Q as l, rn as m, $ as n, In as o, an as p, Qn as r, Pn as s, ur as t, vn as u, vt as v, Ke as w, rt as x, Tt as y, L as z };
|