@viglet/viglet-design-system 2026.3.15 → 2026.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -4
- package/dist/{badge-locale-Bx7m7tg2.js → badge-locale-BwsfyQJT.js} +7 -7
- package/dist/{badge-locale-1_BmNTro.cjs → badge-locale-D4J5OlvK.cjs} +1 -1
- package/dist/bento/bento-actions-menu.d.ts +1 -1
- package/dist/bento/bento-back-to-top.d.ts +1 -1
- package/dist/bento/bento-calendar.d.ts +1 -1
- package/dist/bento/bento-change-mark.d.ts +1 -1
- package/dist/bento/bento-command-palette.d.ts +1 -1
- package/dist/bento/bento-command-palette.d.ts.map +1 -1
- package/dist/bento/bento-count-tile.d.ts +1 -1
- package/dist/bento/bento-data-table.d.ts +2 -2
- package/dist/bento/bento-data-table.d.ts.map +1 -1
- package/dist/bento/bento-diff.d.ts +1 -1
- package/dist/bento/bento-empty-state.d.ts +4 -4
- package/dist/bento/bento-empty-state.d.ts.map +1 -1
- package/dist/bento/bento-entity-shell.d.ts +1 -1
- package/dist/bento/bento-entity-tile.d.ts +7 -3
- package/dist/bento/bento-entity-tile.d.ts.map +1 -1
- package/dist/bento/bento-filter-bar.d.ts +1 -1
- package/dist/bento/bento-form-hero.d.ts +1 -1
- package/dist/bento/bento-form-section.d.ts +8 -7
- package/dist/bento/bento-form-section.d.ts.map +1 -1
- package/dist/bento/bento-hero-icon-picker.d.ts +1 -1
- package/dist/bento/bento-hero.d.ts +3 -3
- package/dist/bento/bento-inline-edit.d.ts +1 -1
- package/dist/bento/bento-layout.d.ts +4 -2
- package/dist/bento/bento-layout.d.ts.map +1 -1
- package/dist/bento/bento-list-page.d.ts +9 -6
- package/dist/bento/bento-list-page.d.ts.map +1 -1
- package/dist/bento/bento-nav-rail.d.ts +1 -1
- package/dist/bento/bento-palette-trigger.d.ts +1 -1
- package/dist/bento/bento-panel.d.ts +8 -7
- package/dist/bento/bento-panel.d.ts.map +1 -1
- package/dist/bento/bento-save-bar.d.ts +2 -2
- package/dist/bento/bento-scroll-save-bar.d.ts +1 -1
- package/dist/bento/bento-section-chrome.d.ts +3 -3
- package/dist/bento/bento-section.d.ts +1 -1
- package/dist/bento/bento-shell.d.ts +1 -1
- package/dist/bento/bento-shortcuts-dialog.d.ts +1 -1
- package/dist/bento/bento-split-page.d.ts +1 -1
- package/dist/bento/bento-status-marker.d.ts +20 -4
- package/dist/bento/bento-status-marker.d.ts.map +1 -1
- package/dist/bento/bento-tile.d.ts +1 -1
- package/dist/bento/bento-tones.d.ts +1 -1
- package/dist/bento/bento-trail.d.ts +1 -1
- package/dist/bento/bento-user-menu.d.ts +1 -1
- package/dist/bento/bento-version-rail.d.ts +1 -1
- package/dist/bento/index.d.ts +1 -1
- package/dist/bento/index.d.ts.map +1 -1
- package/dist/bento.cjs +4 -4
- package/dist/bento.css +39 -5
- package/dist/bento.es.js +1063 -1064
- package/dist/catalogue.json +52 -31
- package/dist/components/app-switcher.d.ts +1 -1
- package/dist/components/backend-status.d.ts +2 -2
- package/dist/components/language-select.d.ts +1 -1
- package/dist/components/language-switcher.d.ts +1 -1
- package/dist/components/login/login.d.ts +11 -11
- package/dist/components/mode-toggle.d.ts +2 -2
- package/dist/components/router/loading-provider.d.ts +1 -1
- package/dist/components/startup-first/startup-first.d.ts +11 -11
- package/dist/components/theme-provider.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/floating-formulas-bg.d.ts +1 -1
- package/dist/components/ui/form-actions.d.ts +1 -1
- package/dist/components/ui/glass-card.d.ts +2 -2
- package/dist/components/ui/gradient-button.d.ts.map +1 -1
- package/dist/components/ui/icon-picker-dialog.d.ts +1 -1
- package/dist/components/ui/pulse-ring.d.ts +1 -1
- package/dist/components/ui/resizable.d.ts +3 -3
- package/dist/components/ui/section-card.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/sonner.d.ts +1 -1
- package/dist/components/ui/stepper.d.ts +1 -1
- package/dist/components/ui/sticky-save-bar.d.ts +2 -2
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/viglet-assistant.d.ts +7 -1
- package/dist/components/ui/viglet-assistant.d.ts.map +1 -1
- package/dist/components/ui/viglet-avatar.d.ts +1 -1
- package/dist/components/viglet-app-switcher.d.ts +1 -1
- package/dist/contexts/breadcrumb.context.d.ts +1 -1
- package/dist/exports.json +4 -1
- package/dist/floating-formulas-bg.css +3 -1
- package/dist/i18n/index.d.ts +16 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en/assistant.json.d.ts +2 -1
- package/dist/i18n/locales/en/bento.json.d.ts +7 -0
- package/dist/i18n/locales/pt/assistant.json.d.ts +2 -1
- package/dist/i18n/locales/pt/bento.json.d.ts +7 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.es.js +18 -2
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +1041 -1030
- package/dist/lib/busy.d.ts +1 -1
- package/dist/{loading-provider-D-_5G-08.js → loading-provider-Dh7jdSol.js} +2 -2
- package/dist/loading-provider-bLW_X3A1.cjs +1 -0
- package/dist/preset.css +66 -7
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +1 -1
- package/dist/user.context-DDPB1fax.cjs +1 -0
- package/dist/{user.context-DUs2lT6D.js → user.context-TpXsFyGy.js} +8 -8
- package/dist/viglet-design-system.css +1 -1
- package/docs/BENTO-AUTHORING.md +19 -3
- package/docs/reference/README.md +5 -7
- package/package.json +3 -1
- package/dist/loading-provider-E4tIG9BM.cjs +0 -1
- package/dist/user.context-uYif5Mp2.cjs +0 -1
package/dist/bento.es.js
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as e } from "./utils-Fk5jmzzb.js";
|
|
3
|
-
import { a as t, c as n, d as r, g as i, o as a, p as o, u as s } from "./badge-locale-
|
|
4
|
-
import { B as c, C as l, D as u, F as d, H as f, I as p, J as m, L as h, M as g, N as _, P as v, R as y, S as b, T as x, V as S, Y as C, _ as w, b as T, d as
|
|
5
|
-
import { r as
|
|
6
|
-
import { Children as
|
|
7
|
-
import { Fragment as
|
|
8
|
-
import { useTranslation as
|
|
9
|
-
import { IconAdjustmentsHorizontal as
|
|
10
|
-
import { Icon as
|
|
11
|
-
import { useDefaultLayout as
|
|
12
|
-
import { Link as
|
|
13
|
-
import { createCoreRowModel as
|
|
14
|
-
import { DndContext as
|
|
15
|
-
import { SortableContext as
|
|
16
|
-
import { CSS as
|
|
3
|
+
import { a as t, c as n, d as r, g as i, o as a, p as o, u as s } from "./badge-locale-BwsfyQJT.js";
|
|
4
|
+
import { B as c, C as l, D as u, F as d, H as f, I as p, J as m, L as h, M as g, N as _, P as v, R as y, S as b, T as x, V as S, Y as C, _ as w, b as T, d as ee, f as E, g as D, h as O, i as k, j as A, l as j, m as M, n as N, o as te, q as P, r as F, s as I, u as L, v as ne, w as re, y as ie } from "./user.context-TpXsFyGy.js";
|
|
5
|
+
import { r as ae, t as oe } from "./loading-provider-Dh7jdSol.js";
|
|
6
|
+
import { Children as R, Fragment as z, isValidElement as se, useEffect as B, useId as ce, useMemo as le, useRef as V, useState as H, useSyncExternalStore as U } from "react";
|
|
7
|
+
import { Fragment as W, jsx as G, jsxs as K } from "react/jsx-runtime";
|
|
8
|
+
import { useTranslation as q } from "react-i18next";
|
|
9
|
+
import { IconAdjustmentsHorizontal as ue, IconAlertTriangle as de, IconArrowBackUp as J, IconArrowDown as fe, IconArrowLeft as pe, IconArrowRight as me, IconArrowUp as he, IconArrowsSort as ge, IconBuildingCommunity as _e, IconBuildingSkyscraper as ve, IconChevronDown as ye, IconChevronLeft as be, IconChevronRight as Y, IconColumns3 as xe, IconDeviceFloppy as Se, IconDotsVertical as Ce, IconExternalLink as we, IconGripVertical as Te, IconHome as Ee, IconKeyboard as De, IconLayoutGrid as Oe, IconLogout as ke, IconPalette as Ae, IconPlus as je, IconRobot as Me, IconSearch as Ne, IconSparkles as Pe, IconTrash as Fe, IconUser as Ie, IconUserCircle as Le, IconUsers as Re, IconX as ze } from "@tabler/icons-react";
|
|
10
|
+
import { Icon as Be } from "@iconify/react";
|
|
11
|
+
import { useDefaultLayout as Ve } from "react-resizable-panels";
|
|
12
|
+
import { Link as He, useInRouterContext as Ue, useLocation as We, useNavigate as Ge } from "react-router-dom";
|
|
13
|
+
import { createCoreRowModel as Ke, createSortedRowModel as qe, rowSortingFeature as Je, useTable as Ye } from "@tanstack/react-table";
|
|
14
|
+
import { DndContext as Xe, KeyboardSensor as Ze, PointerSensor as Qe, closestCenter as $e, useSensor as et, useSensors as tt } from "@dnd-kit/core";
|
|
15
|
+
import { SortableContext as nt, arrayMove as rt, rectSortingStrategy as it, useSortable as at } from "@dnd-kit/sortable";
|
|
16
|
+
import { CSS as ot } from "@dnd-kit/utilities";
|
|
17
17
|
//#region src/bento/bento-actions-menu.tsx
|
|
18
|
-
var
|
|
18
|
+
var st = {
|
|
19
19
|
default: "",
|
|
20
20
|
destructive: "bento-item-danger"
|
|
21
|
-
},
|
|
22
|
-
function
|
|
23
|
-
process.env.NODE_ENV === "production" ||
|
|
21
|
+
}, ct = /* @__PURE__ */ new Set();
|
|
22
|
+
function lt(e) {
|
|
23
|
+
process.env.NODE_ENV === "production" || ct.has(e) || (ct.add(e), console.warn(`BentoActionsMenu: the action "${e}" has no id. Give it a stable name, such as "post.delete": it is rendered as data-action-id so a console verb can be matched to an agent verb, and it becomes required in the next release.`));
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
let { t: n } =
|
|
25
|
+
function ut({ actions: e, triggerLabel: t }) {
|
|
26
|
+
let { t: n } = q();
|
|
27
27
|
if (e.length === 0) return null;
|
|
28
|
-
for (let t of e) t.id ||
|
|
29
|
-
return /* @__PURE__ */
|
|
28
|
+
for (let t of e) t.id || lt(t.label);
|
|
29
|
+
return /* @__PURE__ */ K(_, { children: [/* @__PURE__ */ G(P, {
|
|
30
30
|
asChild: !0,
|
|
31
|
-
children: /* @__PURE__ */
|
|
31
|
+
children: /* @__PURE__ */ G("button", {
|
|
32
32
|
type: "button",
|
|
33
33
|
"aria-label": t ?? n("forms.formActions.moreActions", { defaultValue: "More actions" }),
|
|
34
|
-
className: "bento-tile-clickable inline-flex
|
|
35
|
-
children: /* @__PURE__ */
|
|
34
|
+
className: "bento-tile-clickable inline-flex size-(--vg-control-form) items-center justify-center rounded-full border border-border/60 bg-card/60 text-muted-foreground backdrop-blur transition-colors duration-200 hover:text-foreground",
|
|
35
|
+
children: /* @__PURE__ */ G(Ce, { size: 18 })
|
|
36
36
|
})
|
|
37
|
-
}), /* @__PURE__ */
|
|
37
|
+
}), /* @__PURE__ */ G(d, {
|
|
38
38
|
align: "end",
|
|
39
39
|
sideOffset: 8,
|
|
40
40
|
className: "bento-dropdown min-w-44 p-1.5",
|
|
41
41
|
children: e.map((e) => {
|
|
42
|
-
let t = e.icon, n =
|
|
43
|
-
return /* @__PURE__ */
|
|
42
|
+
let t = e.icon, n = st[e.tone ?? "default"];
|
|
43
|
+
return /* @__PURE__ */ K(h, {
|
|
44
44
|
"data-action-id": e.id,
|
|
45
45
|
onSelect: e.onSelect,
|
|
46
46
|
disabled: e.disabled,
|
|
47
47
|
className: `bento-dropdown-item cursor-pointer gap-2 px-3 py-2 ${n}`,
|
|
48
|
-
children: [/* @__PURE__ */
|
|
48
|
+
children: [/* @__PURE__ */ G(t, { size: 16 }), e.label]
|
|
49
49
|
}, e.id ?? e.label);
|
|
50
50
|
})
|
|
51
51
|
})] });
|
|
52
52
|
}
|
|
53
53
|
//#endregion
|
|
54
54
|
//#region src/bento/bento-tones.ts
|
|
55
|
-
var
|
|
55
|
+
var dt = {
|
|
56
56
|
blue: "bento-tone-blue",
|
|
57
57
|
indigo: "bento-tone-indigo",
|
|
58
58
|
violet: "bento-tone-violet",
|
|
@@ -60,28 +60,28 @@ var ft = {
|
|
|
60
60
|
amber: "bento-tone-amber",
|
|
61
61
|
rose: "bento-tone-rose",
|
|
62
62
|
slate: "bento-tone-slate"
|
|
63
|
-
},
|
|
64
|
-
function
|
|
65
|
-
return `bento-chip ${
|
|
63
|
+
}, ft = Object.keys(dt);
|
|
64
|
+
function pt(e) {
|
|
65
|
+
return `bento-chip ${dt[e] ?? dt.slate}`;
|
|
66
66
|
}
|
|
67
67
|
//#endregion
|
|
68
68
|
//#region src/bento/bento-count-tile.tsx
|
|
69
69
|
function mt({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
|
|
70
|
-
let o = /* @__PURE__ */ W
|
|
71
|
-
className: `grid h-9 w-9 place-items-center rounded-2xl text-white shadow-md ${
|
|
72
|
-
children: /* @__PURE__ */
|
|
73
|
-
}), /* @__PURE__ */
|
|
70
|
+
let o = /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("span", {
|
|
71
|
+
className: `grid h-9 w-9 place-items-center rounded-2xl text-white shadow-md ${pt(n)}`,
|
|
72
|
+
children: /* @__PURE__ */ G(t, { size: 18 })
|
|
73
|
+
}), /* @__PURE__ */ K("div", { children: [/* @__PURE__ */ G("div", {
|
|
74
74
|
className: "text-3xl font-semibold tabular-nums tracking-tight",
|
|
75
75
|
children: i
|
|
76
|
-
}), /* @__PURE__ */
|
|
76
|
+
}), /* @__PURE__ */ G("div", {
|
|
77
77
|
className: "text-[11px] uppercase tracking-wider text-muted-foreground",
|
|
78
78
|
children: r
|
|
79
79
|
})] })] }), s = `bento-tile bento-glass group relative flex flex-col justify-between overflow-hidden p-4 ${a}${e ? " bento-tile-clickable" : ""}`;
|
|
80
|
-
return e ? /* @__PURE__ */
|
|
80
|
+
return e ? /* @__PURE__ */ G(He, {
|
|
81
81
|
to: e,
|
|
82
82
|
className: s,
|
|
83
83
|
children: o
|
|
84
|
-
}) : /* @__PURE__ */
|
|
84
|
+
}) : /* @__PURE__ */ G("div", {
|
|
85
85
|
className: s,
|
|
86
86
|
children: o
|
|
87
87
|
});
|
|
@@ -89,110 +89,110 @@ function mt({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
|
|
|
89
89
|
//#endregion
|
|
90
90
|
//#region src/bento/bento-data-table.tsx
|
|
91
91
|
var ht = 6, gt = {
|
|
92
|
-
rowSortingFeature:
|
|
93
|
-
coreRowModel:
|
|
94
|
-
sortedRowModel:
|
|
92
|
+
rowSortingFeature: Je,
|
|
93
|
+
coreRowModel: Ke(),
|
|
94
|
+
sortedRowModel: qe()
|
|
95
95
|
};
|
|
96
96
|
function _t({ rows: t, getRowId: n, columns: r, label: i, getRowLabel: a, rowActions: o, selectionActions: s, selectedIds: c, onSelectionChange: l, selectionScope: u, layout: f, onLayoutChange: p, onRowOpen: h, rowHeight: g = 44, height: y = 480, empty: b }) {
|
|
97
|
-
let { t: x } =
|
|
98
|
-
|
|
99
|
-
let
|
|
100
|
-
c !== void 0 && (
|
|
101
|
-
let
|
|
102
|
-
|
|
103
|
-
|
|
97
|
+
let { t: x } = q(), [S, w] = H([]), [T, ee] = H({ hidden: [] }), [E, D] = H(/* @__PURE__ */ new Set()), [O, k] = H(null), [A, j] = H(u), [M, N] = H(void 0);
|
|
98
|
+
A !== u && (j(u), D(/* @__PURE__ */ new Set()), N(c), k(null));
|
|
99
|
+
let te = le(() => new Set(c ?? []), [c]), F = E;
|
|
100
|
+
c !== void 0 && (F = c === M ? /* @__PURE__ */ new Set() : te);
|
|
101
|
+
let I = V(u);
|
|
102
|
+
B(() => {
|
|
103
|
+
I.current !== u && (I.current = u, l?.([]));
|
|
104
104
|
}, [u, l]);
|
|
105
|
-
let [
|
|
105
|
+
let [L, ne] = H(0), [re, ie] = H(0), ae = V(null), oe = V(/* @__PURE__ */ new Map()), R = V(!1), z = (s?.length ?? 0) > 0, se = (e) => a?.(e) ?? n(e), ce = le(() => r.map((e) => ({
|
|
106
106
|
id: e.id,
|
|
107
107
|
accessorFn: (t) => e.sortValue?.(t) ?? null,
|
|
108
108
|
enableSorting: e.sortValue !== void 0
|
|
109
|
-
})), [r]),
|
|
109
|
+
})), [r]), U = Ye({
|
|
110
110
|
features: gt,
|
|
111
111
|
data: t,
|
|
112
|
-
columns:
|
|
112
|
+
columns: ce,
|
|
113
113
|
state: { sorting: S },
|
|
114
114
|
onSortingChange: w
|
|
115
|
-
}).getRowModel().rows.map((e) => e.original),
|
|
116
|
-
|
|
117
|
-
...
|
|
115
|
+
}).getRowModel().rows.map((e) => e.original), W = f ?? T, ue = r.filter((e) => e.hideable === !1 || !W.hidden.includes(e.id)), de = [
|
|
116
|
+
z ? "2.75rem" : null,
|
|
117
|
+
...ue.map((e) => e.width ?? "minmax(8rem, 1fr)"),
|
|
118
118
|
o?.length ? "3.25rem" : null
|
|
119
|
-
].filter(Boolean).join(" "),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}, [
|
|
123
|
-
function
|
|
124
|
-
c === void 0 &&
|
|
119
|
+
].filter(Boolean).join(" "), J = U.length, pe = Math.min(y, J * g), me = Math.max(1, Math.floor(pe / g)), _e = Math.max(0, Math.floor(re / g) - ht), ve = Math.min(J, Math.ceil((re + pe) / g) + ht), ye = Math.min(L, Math.max(0, J - 1));
|
|
120
|
+
B(() => {
|
|
121
|
+
R.current && (R.current = !1, oe.current.get(ye)?.focus());
|
|
122
|
+
}, [ye, _e]);
|
|
123
|
+
function be(e) {
|
|
124
|
+
c === void 0 && D(e), l?.([...e]);
|
|
125
125
|
}
|
|
126
|
-
function
|
|
126
|
+
function Y(e, t) {
|
|
127
127
|
let [r, i] = e <= t ? [e, t] : [t, e];
|
|
128
|
-
|
|
128
|
+
be(new Set(U.slice(r, i + 1).map(n)));
|
|
129
129
|
}
|
|
130
|
-
function
|
|
131
|
-
let t = n(
|
|
132
|
-
r.has(t) ? r.delete(t) : r.add(t),
|
|
130
|
+
function Se(e) {
|
|
131
|
+
let t = n(U[e]), r = new Set(F);
|
|
132
|
+
r.has(t) ? r.delete(t) : r.add(t), be(r), k(e);
|
|
133
133
|
}
|
|
134
|
-
function
|
|
135
|
-
let n = Math.max(0, Math.min(
|
|
136
|
-
if (t &&
|
|
137
|
-
let e =
|
|
138
|
-
|
|
134
|
+
function Ce(e, t) {
|
|
135
|
+
let n = Math.max(0, Math.min(J - 1, e));
|
|
136
|
+
if (t && z) {
|
|
137
|
+
let e = O ?? ye;
|
|
138
|
+
k(e), Y(e, n);
|
|
139
139
|
}
|
|
140
|
-
let r =
|
|
140
|
+
let r = ae.current, i = n * g;
|
|
141
141
|
if (r) {
|
|
142
142
|
let e = r.scrollTop;
|
|
143
|
-
i < e ? e = i : i + g > e +
|
|
143
|
+
i < e ? e = i : i + g > e + pe && (e = i + g - pe), e !== r.scrollTop && (r.scrollTop = e, ie(e));
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
R.current = !0, ne(n);
|
|
146
146
|
}
|
|
147
147
|
function we(e, t) {
|
|
148
148
|
if (e.target !== e.currentTarget) return;
|
|
149
149
|
let r = e.shiftKey;
|
|
150
150
|
switch (e.key) {
|
|
151
151
|
case "ArrowDown":
|
|
152
|
-
|
|
152
|
+
Ce(t + 1, r);
|
|
153
153
|
break;
|
|
154
154
|
case "ArrowUp":
|
|
155
|
-
|
|
155
|
+
Ce(t - 1, r);
|
|
156
156
|
break;
|
|
157
157
|
case "PageDown":
|
|
158
|
-
|
|
158
|
+
Ce(t + me, r);
|
|
159
159
|
break;
|
|
160
160
|
case "PageUp":
|
|
161
|
-
|
|
161
|
+
Ce(t - me, r);
|
|
162
162
|
break;
|
|
163
163
|
case "Home":
|
|
164
|
-
|
|
164
|
+
Ce(0, r);
|
|
165
165
|
break;
|
|
166
166
|
case "End":
|
|
167
|
-
J
|
|
167
|
+
Ce(J - 1, r);
|
|
168
168
|
break;
|
|
169
169
|
case " ":
|
|
170
|
-
if (!
|
|
171
|
-
|
|
170
|
+
if (!z) return;
|
|
171
|
+
Se(t);
|
|
172
172
|
break;
|
|
173
173
|
case "Enter":
|
|
174
174
|
if (!h) return;
|
|
175
|
-
h(
|
|
175
|
+
h(U[t]);
|
|
176
176
|
break;
|
|
177
177
|
case "Escape":
|
|
178
|
-
if (!
|
|
179
|
-
|
|
178
|
+
if (!z || F.size === 0) return;
|
|
179
|
+
be(/* @__PURE__ */ new Set()), k(null);
|
|
180
180
|
break;
|
|
181
181
|
case "a":
|
|
182
182
|
case "A":
|
|
183
|
-
if (!
|
|
184
|
-
|
|
183
|
+
if (!z || !(e.ctrlKey || e.metaKey)) return;
|
|
184
|
+
be(new Set(U.map(n)));
|
|
185
185
|
break;
|
|
186
186
|
default: return;
|
|
187
187
|
}
|
|
188
188
|
e.preventDefault();
|
|
189
189
|
}
|
|
190
190
|
function Te(e, t) {
|
|
191
|
-
if (!e.target.closest("button, a, input, [role='checkbox']") && (
|
|
191
|
+
if (!e.target.closest("button, a, input, [role='checkbox']") && (ne(t), z)) {
|
|
192
192
|
if (e.shiftKey) {
|
|
193
|
-
let e =
|
|
194
|
-
|
|
195
|
-
} else e.metaKey || e.ctrlKey ?
|
|
193
|
+
let e = O ?? ye;
|
|
194
|
+
k(e), Y(e, t);
|
|
195
|
+
} else e.metaKey || e.ctrlKey ? Se(t) : (be(/* @__PURE__ */ new Set([n(U[t])])), k(t));
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
function Ee(e) {
|
|
@@ -206,17 +206,17 @@ function _t({ rows: t, getRowId: n, columns: r, label: i, getRowLabel: a, rowAct
|
|
|
206
206
|
}]);
|
|
207
207
|
}
|
|
208
208
|
function De(e, t) {
|
|
209
|
-
let n = { hidden: t ? [...
|
|
210
|
-
f === void 0 &&
|
|
209
|
+
let n = { hidden: t ? [...W.hidden, e] : W.hidden.filter((t) => t !== e) };
|
|
210
|
+
f === void 0 && ee(n), p?.(n);
|
|
211
211
|
}
|
|
212
|
-
let Oe =
|
|
213
|
-
return /* @__PURE__ */
|
|
212
|
+
let Oe = U.filter((e) => F.has(n(e))), ke = J > 0 && Oe.length === J, Ae = r.filter((e) => e.hideable !== !1);
|
|
213
|
+
return /* @__PURE__ */ K("div", {
|
|
214
214
|
"data-slot": "bento-data-table",
|
|
215
215
|
className: "bento-glass overflow-hidden rounded-2xl",
|
|
216
|
-
children: [/* @__PURE__ */
|
|
216
|
+
children: [/* @__PURE__ */ K("div", {
|
|
217
217
|
className: "flex min-h-12 flex-wrap items-center gap-2 border-b border-border/50 px-3 py-2",
|
|
218
218
|
children: [
|
|
219
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ G("span", {
|
|
220
220
|
"aria-live": "polite",
|
|
221
221
|
className: "text-sm font-medium",
|
|
222
222
|
children: Oe.length > 0 ? x("bento.table.selected", {
|
|
@@ -224,184 +224,184 @@ function _t({ rows: t, getRowId: n, columns: r, label: i, getRowLabel: a, rowAct
|
|
|
224
224
|
count: Oe.length
|
|
225
225
|
}) : ""
|
|
226
226
|
}),
|
|
227
|
-
Oe.length > 0 && /* @__PURE__ */
|
|
227
|
+
Oe.length > 0 && /* @__PURE__ */ K("div", {
|
|
228
228
|
role: "toolbar",
|
|
229
229
|
"aria-label": x("bento.table.selectionActions", { defaultValue: "Actions on the selection" }),
|
|
230
230
|
className: "flex flex-wrap items-center gap-2",
|
|
231
231
|
children: [s?.map((t) => {
|
|
232
232
|
let n = t.icon;
|
|
233
|
-
return /* @__PURE__ */
|
|
233
|
+
return /* @__PURE__ */ K(C, {
|
|
234
234
|
variant: "outline",
|
|
235
235
|
size: "sm",
|
|
236
236
|
className: e("gap-1.5", t.tone === "destructive" && "bento-item-danger"),
|
|
237
237
|
onClick: () => t.onSelect(Oe),
|
|
238
|
-
children: [/* @__PURE__ */
|
|
238
|
+
children: [/* @__PURE__ */ G(n, { size: 16 }), t.label]
|
|
239
239
|
}, t.id);
|
|
240
|
-
}), /* @__PURE__ */
|
|
240
|
+
}), /* @__PURE__ */ G(C, {
|
|
241
241
|
variant: "ghost",
|
|
242
242
|
size: "sm",
|
|
243
|
-
onClick: () =>
|
|
243
|
+
onClick: () => be(/* @__PURE__ */ new Set()),
|
|
244
244
|
children: x("bento.table.clearSelection", { defaultValue: "Clear selection" })
|
|
245
245
|
})]
|
|
246
246
|
}),
|
|
247
|
-
Ae.length > 0 && /* @__PURE__ */
|
|
247
|
+
Ae.length > 0 && /* @__PURE__ */ K(_, { children: [/* @__PURE__ */ G(P, {
|
|
248
248
|
asChild: !0,
|
|
249
|
-
children: /* @__PURE__ */
|
|
249
|
+
children: /* @__PURE__ */ K(C, {
|
|
250
250
|
variant: "ghost",
|
|
251
251
|
size: "sm",
|
|
252
252
|
className: "ml-auto gap-1.5",
|
|
253
|
-
children: [/* @__PURE__ */
|
|
253
|
+
children: [/* @__PURE__ */ G(xe, {
|
|
254
254
|
size: 16,
|
|
255
255
|
"aria-hidden": "true"
|
|
256
256
|
}), x("bento.table.columns", { defaultValue: "Columns" })]
|
|
257
257
|
})
|
|
258
|
-
}), /* @__PURE__ */
|
|
258
|
+
}), /* @__PURE__ */ G(d, {
|
|
259
259
|
align: "end",
|
|
260
260
|
className: "bento-dropdown min-w-44 p-1.5",
|
|
261
|
-
children: Ae.map((e) => /* @__PURE__ */
|
|
262
|
-
checked: !
|
|
261
|
+
children: Ae.map((e) => /* @__PURE__ */ G(v, {
|
|
262
|
+
checked: !W.hidden.includes(e.id),
|
|
263
263
|
onCheckedChange: (t) => De(e.id, t !== !0),
|
|
264
264
|
onSelect: (e) => e.preventDefault(),
|
|
265
265
|
children: e.header
|
|
266
266
|
}, e.id))
|
|
267
267
|
})] })
|
|
268
268
|
]
|
|
269
|
-
}), /* @__PURE__ */
|
|
269
|
+
}), /* @__PURE__ */ K("div", {
|
|
270
270
|
role: "grid",
|
|
271
271
|
"aria-label": i,
|
|
272
|
-
"aria-rowcount":
|
|
273
|
-
"aria-colcount":
|
|
274
|
-
"aria-multiselectable":
|
|
275
|
-
children: [/* @__PURE__ */
|
|
272
|
+
"aria-rowcount": J + 1,
|
|
273
|
+
"aria-colcount": ue.length + +!!z + +!!o?.length,
|
|
274
|
+
"aria-multiselectable": z ? "true" : void 0,
|
|
275
|
+
children: [/* @__PURE__ */ G("div", {
|
|
276
276
|
role: "rowgroup",
|
|
277
|
-
children: /* @__PURE__ */
|
|
277
|
+
children: /* @__PURE__ */ K("div", {
|
|
278
278
|
role: "row",
|
|
279
279
|
"aria-rowindex": 1,
|
|
280
280
|
className: "grid items-center border-b border-border/50 px-1 text-xs font-medium text-muted-foreground",
|
|
281
281
|
style: {
|
|
282
|
-
gridTemplateColumns:
|
|
282
|
+
gridTemplateColumns: de,
|
|
283
283
|
minHeight: g
|
|
284
284
|
},
|
|
285
285
|
children: [
|
|
286
|
-
|
|
286
|
+
z && /* @__PURE__ */ G("div", {
|
|
287
287
|
role: "columnheader",
|
|
288
288
|
className: "grid place-items-center",
|
|
289
|
-
children: /* @__PURE__ */
|
|
289
|
+
children: /* @__PURE__ */ G(m, {
|
|
290
290
|
"aria-label": x("bento.table.selectAll", { defaultValue: "Select all rows" }),
|
|
291
291
|
checked: ke ? !0 : Oe.length > 0 && "indeterminate",
|
|
292
|
-
onCheckedChange: () =>
|
|
292
|
+
onCheckedChange: () => be(ke ? /* @__PURE__ */ new Set() : new Set(U.map(n)))
|
|
293
293
|
})
|
|
294
294
|
}),
|
|
295
|
-
|
|
295
|
+
ue.map((e) => {
|
|
296
296
|
let t = S.find((t) => t.id === e.id), n = t ? t.desc ? "descending" : "ascending" : "none";
|
|
297
|
-
return /* @__PURE__ */
|
|
297
|
+
return /* @__PURE__ */ G("div", {
|
|
298
298
|
role: "columnheader",
|
|
299
299
|
"aria-sort": e.sortValue ? n : void 0,
|
|
300
300
|
className: "min-w-0 px-2",
|
|
301
|
-
children: e.sortValue ? /* @__PURE__ */
|
|
301
|
+
children: e.sortValue ? /* @__PURE__ */ K("button", {
|
|
302
302
|
type: "button",
|
|
303
303
|
onClick: () => Ee(e.id),
|
|
304
304
|
className: "inline-flex max-w-full items-center gap-1 rounded-md py-1 hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",
|
|
305
305
|
children: [
|
|
306
|
-
/* @__PURE__ */
|
|
306
|
+
/* @__PURE__ */ G("span", {
|
|
307
307
|
className: "truncate",
|
|
308
308
|
children: e.header
|
|
309
309
|
}),
|
|
310
|
-
n === "ascending" && /* @__PURE__ */
|
|
310
|
+
n === "ascending" && /* @__PURE__ */ G(he, {
|
|
311
311
|
size: 14,
|
|
312
312
|
"aria-hidden": "true"
|
|
313
313
|
}),
|
|
314
|
-
n === "descending" && /* @__PURE__ */
|
|
314
|
+
n === "descending" && /* @__PURE__ */ G(fe, {
|
|
315
315
|
size: 14,
|
|
316
316
|
"aria-hidden": "true"
|
|
317
317
|
}),
|
|
318
|
-
n === "none" && /* @__PURE__ */
|
|
318
|
+
n === "none" && /* @__PURE__ */ G(ge, {
|
|
319
319
|
size: 14,
|
|
320
320
|
"aria-hidden": "true",
|
|
321
321
|
className: "opacity-40"
|
|
322
322
|
})
|
|
323
323
|
]
|
|
324
|
-
}) : /* @__PURE__ */
|
|
324
|
+
}) : /* @__PURE__ */ G("span", {
|
|
325
325
|
className: "block truncate py-1",
|
|
326
326
|
children: e.header
|
|
327
327
|
})
|
|
328
328
|
}, e.id);
|
|
329
329
|
}),
|
|
330
|
-
o?.length ? /* @__PURE__ */
|
|
330
|
+
o?.length ? /* @__PURE__ */ G("div", {
|
|
331
331
|
role: "columnheader",
|
|
332
332
|
className: "px-2",
|
|
333
|
-
children: /* @__PURE__ */
|
|
333
|
+
children: /* @__PURE__ */ G("span", {
|
|
334
334
|
className: "sr-only",
|
|
335
335
|
children: x("bento.table.actions", { defaultValue: "Actions" })
|
|
336
336
|
})
|
|
337
337
|
}) : null
|
|
338
338
|
]
|
|
339
339
|
})
|
|
340
|
-
}),
|
|
340
|
+
}), J === 0 ? /* @__PURE__ */ G("div", {
|
|
341
341
|
role: "rowgroup",
|
|
342
|
-
children: /* @__PURE__ */
|
|
342
|
+
children: /* @__PURE__ */ G("div", {
|
|
343
343
|
role: "row",
|
|
344
344
|
"aria-rowindex": 2,
|
|
345
|
-
children: /* @__PURE__ */
|
|
345
|
+
children: /* @__PURE__ */ G("div", {
|
|
346
346
|
role: "gridcell",
|
|
347
347
|
className: "px-4 py-10 text-center text-sm text-muted-foreground",
|
|
348
348
|
children: b ?? x("bento.table.empty", { defaultValue: "Nothing to show" })
|
|
349
349
|
})
|
|
350
350
|
})
|
|
351
|
-
}) : /* @__PURE__ */
|
|
351
|
+
}) : /* @__PURE__ */ G("div", {
|
|
352
352
|
role: "rowgroup",
|
|
353
|
-
ref:
|
|
354
|
-
onScroll: (e) =>
|
|
353
|
+
ref: ae,
|
|
354
|
+
onScroll: (e) => ie(e.currentTarget.scrollTop),
|
|
355
355
|
className: "relative overflow-y-auto",
|
|
356
|
-
style: { height:
|
|
357
|
-
children: /* @__PURE__ */
|
|
358
|
-
style: { height:
|
|
356
|
+
style: { height: pe },
|
|
357
|
+
children: /* @__PURE__ */ G("div", {
|
|
358
|
+
style: { height: J * g },
|
|
359
359
|
className: "relative",
|
|
360
|
-
children:
|
|
361
|
-
let i =
|
|
362
|
-
return /* @__PURE__ */
|
|
360
|
+
children: U.slice(_e, ve).map((t, r) => {
|
|
361
|
+
let i = _e + r, a = n(t), s = F.has(a), c = se(t);
|
|
362
|
+
return /* @__PURE__ */ K("div", {
|
|
363
363
|
ref: (e) => {
|
|
364
|
-
e ?
|
|
364
|
+
e ? oe.current.set(i, e) : oe.current.delete(i);
|
|
365
365
|
},
|
|
366
366
|
role: "row",
|
|
367
367
|
"aria-rowindex": i + 2,
|
|
368
|
-
"aria-selected":
|
|
369
|
-
tabIndex: i ===
|
|
368
|
+
"aria-selected": z ? s ? "true" : "false" : void 0,
|
|
369
|
+
tabIndex: i === ye ? 0 : -1,
|
|
370
370
|
onKeyDown: (e) => we(e, i),
|
|
371
371
|
onClick: (e) => Te(e, i),
|
|
372
372
|
onDoubleClick: () => h?.(t),
|
|
373
373
|
onFocus: (e) => {
|
|
374
|
-
e.target === e.currentTarget &&
|
|
374
|
+
e.target === e.currentTarget && ne(i);
|
|
375
375
|
},
|
|
376
376
|
className: e("absolute inset-x-0 grid items-center border-b border-border/30 px-1 text-sm outline-none transition-colors", "hover:bg-muted/40 focus-visible:bg-muted/60 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring", s && "bg-primary/10 hover:bg-primary/15"),
|
|
377
377
|
style: {
|
|
378
378
|
top: i * g,
|
|
379
379
|
height: g,
|
|
380
|
-
gridTemplateColumns:
|
|
380
|
+
gridTemplateColumns: de
|
|
381
381
|
},
|
|
382
382
|
children: [
|
|
383
|
-
|
|
383
|
+
z && /* @__PURE__ */ G("div", {
|
|
384
384
|
role: "gridcell",
|
|
385
385
|
className: "grid place-items-center",
|
|
386
|
-
children: /* @__PURE__ */
|
|
386
|
+
children: /* @__PURE__ */ G(m, {
|
|
387
387
|
tabIndex: -1,
|
|
388
388
|
"aria-label": x("bento.table.selectRow", {
|
|
389
389
|
defaultValue: "Select {{row}}",
|
|
390
390
|
row: c
|
|
391
391
|
}),
|
|
392
392
|
checked: s,
|
|
393
|
-
onCheckedChange: () =>
|
|
393
|
+
onCheckedChange: () => Se(i)
|
|
394
394
|
})
|
|
395
395
|
}),
|
|
396
|
-
|
|
396
|
+
ue.map((e) => /* @__PURE__ */ G("div", {
|
|
397
397
|
role: "gridcell",
|
|
398
398
|
className: "min-w-0 truncate px-2",
|
|
399
399
|
children: e.cell(t)
|
|
400
400
|
}, e.id)),
|
|
401
|
-
o?.length ? /* @__PURE__ */
|
|
401
|
+
o?.length ? /* @__PURE__ */ G("div", {
|
|
402
402
|
role: "gridcell",
|
|
403
403
|
className: "grid place-items-center",
|
|
404
|
-
children: /* @__PURE__ */
|
|
404
|
+
children: /* @__PURE__ */ G(ut, {
|
|
405
405
|
triggerLabel: x("bento.table.rowActions", {
|
|
406
406
|
defaultValue: "Actions for {{row}}",
|
|
407
407
|
row: c
|
|
@@ -425,26 +425,26 @@ function _t({ rows: t, getRowId: n, columns: r, label: i, getRowLabel: a, rowAct
|
|
|
425
425
|
}
|
|
426
426
|
//#endregion
|
|
427
427
|
//#region src/bento/bento-empty-state.tsx
|
|
428
|
-
function vt({ icon: t =
|
|
429
|
-
let
|
|
430
|
-
return /* @__PURE__ */
|
|
431
|
-
className: e("bento-tile bento-glass flex flex-col gap-3 rounded-3xl p-8",
|
|
428
|
+
function vt({ icon: t = Pe, title: n, description: r, action: i, align: a = "center", titleLevel: o = 2, className: s }) {
|
|
429
|
+
let c = a === "center", l = `h${o}`;
|
|
430
|
+
return /* @__PURE__ */ K("div", {
|
|
431
|
+
className: e("bento-tile bento-glass flex flex-col gap-3 rounded-3xl p-8", c ? "items-center text-center" : "items-start text-left", s),
|
|
432
432
|
children: [
|
|
433
|
-
/* @__PURE__ */
|
|
434
|
-
className:
|
|
435
|
-
children: /* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ G("span", {
|
|
434
|
+
className: "bento-well grid h-12 w-12 place-items-center rounded-2xl",
|
|
435
|
+
children: /* @__PURE__ */ G(t, { size: 24 })
|
|
436
436
|
}),
|
|
437
|
-
/* @__PURE__ */
|
|
437
|
+
/* @__PURE__ */ G(l, {
|
|
438
438
|
className: "m-0 text-lg font-semibold tracking-tight",
|
|
439
|
+
children: n
|
|
440
|
+
}),
|
|
441
|
+
r && /* @__PURE__ */ G("p", {
|
|
442
|
+
className: e("max-w-md text-sm text-muted-foreground", c && "mx-auto"),
|
|
439
443
|
children: r
|
|
440
444
|
}),
|
|
441
|
-
i && /* @__PURE__ */
|
|
442
|
-
className: e("
|
|
445
|
+
i && /* @__PURE__ */ G("div", {
|
|
446
|
+
className: e("mt-1", c && "mx-auto"),
|
|
443
447
|
children: i
|
|
444
|
-
}),
|
|
445
|
-
a && /* @__PURE__ */ U("div", {
|
|
446
|
-
className: e("mt-1", u && "mx-auto"),
|
|
447
|
-
children: a
|
|
448
448
|
})
|
|
449
449
|
]
|
|
450
450
|
});
|
|
@@ -453,29 +453,29 @@ function vt({ icon: t = Fe, tone: n = "indigo", title: r, description: i, action
|
|
|
453
453
|
//#region src/bento/bento-trail.tsx
|
|
454
454
|
var yt = 4;
|
|
455
455
|
function bt({ steps: e }) {
|
|
456
|
-
let { t } =
|
|
457
|
-
return /* @__PURE__ */
|
|
456
|
+
let { t } = q(), n = e.length > yt, r = (t) => n && t > 0 && t < e.length - 2;
|
|
457
|
+
return /* @__PURE__ */ G("nav", {
|
|
458
458
|
"aria-label": t("bento.trail.label", { defaultValue: "Location" }),
|
|
459
459
|
"data-slot": "bento-trail",
|
|
460
|
-
children: /* @__PURE__ */
|
|
460
|
+
children: /* @__PURE__ */ G("ol", {
|
|
461
461
|
className: "flex min-w-0 flex-wrap items-center gap-1",
|
|
462
|
-
children: e.map((e, t) => /* @__PURE__ */
|
|
462
|
+
children: e.map((e, t) => /* @__PURE__ */ K("li", {
|
|
463
463
|
className: r(t) ? "sr-only" : "inline-flex min-w-0 items-center gap-1",
|
|
464
464
|
children: [
|
|
465
|
-
t > 0 && !r(t) && /* @__PURE__ */
|
|
465
|
+
t > 0 && !r(t) && /* @__PURE__ */ G(Y, {
|
|
466
466
|
size: 12,
|
|
467
467
|
"aria-hidden": !0,
|
|
468
468
|
className: "shrink-0 opacity-60"
|
|
469
469
|
}),
|
|
470
|
-
/* @__PURE__ */
|
|
470
|
+
/* @__PURE__ */ G(He, {
|
|
471
471
|
to: e.to,
|
|
472
472
|
className: "max-w-[16ch] truncate hover:text-foreground",
|
|
473
473
|
children: e.label
|
|
474
474
|
}),
|
|
475
|
-
n && t === 0 && /* @__PURE__ */
|
|
475
|
+
n && t === 0 && /* @__PURE__ */ K("span", {
|
|
476
476
|
"aria-hidden": !0,
|
|
477
477
|
className: "inline-flex items-center gap-1",
|
|
478
|
-
children: [/* @__PURE__ */
|
|
478
|
+
children: [/* @__PURE__ */ G(Y, {
|
|
479
479
|
size: 12,
|
|
480
480
|
className: "shrink-0 opacity-60"
|
|
481
481
|
}), "…"]
|
|
@@ -488,53 +488,53 @@ function bt({ steps: e }) {
|
|
|
488
488
|
//#endregion
|
|
489
489
|
//#region src/bento/bento-hero.tsx
|
|
490
490
|
function xt({ to: e, children: t }) {
|
|
491
|
-
return /* @__PURE__ */
|
|
491
|
+
return /* @__PURE__ */ K(He, {
|
|
492
492
|
to: e,
|
|
493
493
|
className: "inline-flex items-center gap-1 hover:text-foreground",
|
|
494
|
-
children: [/* @__PURE__ */
|
|
494
|
+
children: [/* @__PURE__ */ G(pe, {
|
|
495
495
|
size: 14,
|
|
496
496
|
"aria-hidden": !0
|
|
497
497
|
}), t]
|
|
498
498
|
});
|
|
499
499
|
}
|
|
500
500
|
function St(e, t, n) {
|
|
501
|
-
return e && e.length > 1 ? /* @__PURE__ */
|
|
501
|
+
return e && e.length > 1 ? /* @__PURE__ */ G(bt, { steps: e }) : e && e.length === 1 ? /* @__PURE__ */ G(xt, {
|
|
502
502
|
to: e[0].to,
|
|
503
503
|
children: e[0].label
|
|
504
|
-
}) : t == null ? null : /* @__PURE__ */
|
|
504
|
+
}) : t == null ? null : /* @__PURE__ */ G(xt, {
|
|
505
505
|
to: t,
|
|
506
506
|
children: n
|
|
507
507
|
});
|
|
508
508
|
}
|
|
509
509
|
function Ct({ eyebrow: e, backTo: t, backLabel: n, trail: r, title: i, subtitle: a, leading: o, trailing: s }) {
|
|
510
510
|
let c = e ?? St(r, t, n);
|
|
511
|
-
return /* @__PURE__ */
|
|
511
|
+
return /* @__PURE__ */ G("header", {
|
|
512
512
|
className: "bento-shell-header mb-6 flex flex-col items-start gap-3 md:mb-10",
|
|
513
|
-
children: /* @__PURE__ */
|
|
513
|
+
children: /* @__PURE__ */ K("div", {
|
|
514
514
|
className: "flex w-full items-start gap-4",
|
|
515
515
|
children: [
|
|
516
|
-
o && /* @__PURE__ */
|
|
516
|
+
o && /* @__PURE__ */ G("div", {
|
|
517
517
|
className: "shrink-0",
|
|
518
518
|
children: o
|
|
519
519
|
}),
|
|
520
|
-
/* @__PURE__ */
|
|
520
|
+
/* @__PURE__ */ K("div", {
|
|
521
521
|
className: "flex flex-1 flex-col gap-1",
|
|
522
522
|
children: [
|
|
523
|
-
c && /* @__PURE__ */
|
|
523
|
+
c && /* @__PURE__ */ G("span", {
|
|
524
524
|
className: "text-xs uppercase tracking-[0.18em] text-muted-foreground",
|
|
525
525
|
children: c
|
|
526
526
|
}),
|
|
527
|
-
/* @__PURE__ */
|
|
528
|
-
className: "text-
|
|
527
|
+
/* @__PURE__ */ G("h1", {
|
|
528
|
+
className: "text-2xl font-semibold tracking-tight md:text-3xl",
|
|
529
529
|
children: i
|
|
530
530
|
}),
|
|
531
|
-
a && /* @__PURE__ */
|
|
531
|
+
a && /* @__PURE__ */ G("p", {
|
|
532
532
|
className: "max-w-2xl text-sm text-muted-foreground",
|
|
533
533
|
children: a
|
|
534
534
|
})
|
|
535
535
|
]
|
|
536
536
|
}),
|
|
537
|
-
s && /* @__PURE__ */
|
|
537
|
+
s && /* @__PURE__ */ G("div", {
|
|
538
538
|
className: "ml-auto flex shrink-0 items-center gap-2",
|
|
539
539
|
children: s
|
|
540
540
|
})
|
|
@@ -545,30 +545,30 @@ function Ct({ eyebrow: e, backTo: t, backLabel: n, trail: r, title: i, subtitle:
|
|
|
545
545
|
//#endregion
|
|
546
546
|
//#region src/bento/bento-hero-icon-picker.tsx
|
|
547
547
|
function wt({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title: a, description: o, readOnly: s = !1 }) {
|
|
548
|
-
let { t: c } =
|
|
549
|
-
return s ? /* @__PURE__ */
|
|
550
|
-
className: `grid h-12 w-12 place-items-center rounded-2xl ${
|
|
551
|
-
children: e ? /* @__PURE__ */
|
|
548
|
+
let { t: c } = q(), [l, u] = H(!1);
|
|
549
|
+
return s ? /* @__PURE__ */ G("span", {
|
|
550
|
+
className: `grid h-12 w-12 place-items-center rounded-2xl ${pt(i)} text-white shadow-md`,
|
|
551
|
+
children: e ? /* @__PURE__ */ G(Be, {
|
|
552
552
|
icon: e,
|
|
553
553
|
className: "size-6 text-white"
|
|
554
|
-
}) : /* @__PURE__ */
|
|
555
|
-
}) : /* @__PURE__ */
|
|
554
|
+
}) : /* @__PURE__ */ G(r, { size: 24 })
|
|
555
|
+
}) : /* @__PURE__ */ K("div", {
|
|
556
556
|
className: "group relative",
|
|
557
557
|
children: [
|
|
558
|
-
/* @__PURE__ */
|
|
558
|
+
/* @__PURE__ */ K("button", {
|
|
559
559
|
type: "button",
|
|
560
560
|
onClick: () => u(!0),
|
|
561
561
|
"aria-label": c("forms.iconPicker.chooseAnIcon"),
|
|
562
|
-
className: `group/icon relative grid h-12 w-12 cursor-pointer place-items-center overflow-hidden rounded-2xl ${
|
|
563
|
-
children: [e ? /* @__PURE__ */
|
|
562
|
+
className: `group/icon relative grid h-12 w-12 cursor-pointer place-items-center overflow-hidden rounded-2xl ${pt(i)} text-white shadow-md outline-none transition-all duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] hover:scale-105 focus-visible:ring-2 focus-visible:ring-ring active:scale-95`,
|
|
563
|
+
children: [e ? /* @__PURE__ */ G(Be, {
|
|
564
564
|
icon: e,
|
|
565
565
|
className: "size-6 text-white"
|
|
566
|
-
}) : /* @__PURE__ */
|
|
566
|
+
}) : /* @__PURE__ */ G(r, { size: 24 }), /* @__PURE__ */ G("span", {
|
|
567
567
|
className: "pointer-events-none absolute inset-0 grid place-items-center bg-black/40 opacity-0 transition-opacity duration-200 group-hover/icon:opacity-100",
|
|
568
|
-
children: /* @__PURE__ */
|
|
568
|
+
children: /* @__PURE__ */ G(Ae, { className: "size-5 text-white" })
|
|
569
569
|
})]
|
|
570
570
|
}),
|
|
571
|
-
e && n && /* @__PURE__ */
|
|
571
|
+
e && n && /* @__PURE__ */ G("button", {
|
|
572
572
|
type: "button",
|
|
573
573
|
onClick: (e) => {
|
|
574
574
|
e.stopPropagation(), n();
|
|
@@ -576,9 +576,9 @@ function wt({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title:
|
|
|
576
576
|
"aria-label": c("forms.common.remove"),
|
|
577
577
|
title: c("forms.common.remove"),
|
|
578
578
|
className: "absolute -right-1.5 -top-1.5 grid h-5 w-5 cursor-pointer place-items-center rounded-full border border-border/60 bg-card/90 text-foreground opacity-0 shadow-md backdrop-blur transition-opacity duration-200 bento-clear focus-visible:opacity-100 group-hover:opacity-100",
|
|
579
|
-
children: /* @__PURE__ */
|
|
579
|
+
children: /* @__PURE__ */ G(ze, { size: 12 })
|
|
580
580
|
}),
|
|
581
|
-
/* @__PURE__ */
|
|
581
|
+
/* @__PURE__ */ G(g, {
|
|
582
582
|
open: l,
|
|
583
583
|
onOpenChange: u,
|
|
584
584
|
value: e,
|
|
@@ -593,8 +593,8 @@ function wt({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title:
|
|
|
593
593
|
//#endregion
|
|
594
594
|
//#region src/bento/bento-inline-edit.tsx
|
|
595
595
|
function Tt({ value: n, onSave: r, multiline: i = !1, placeholder: a, className: o, ariaLabel: s, autoFocus: c = !1, readOnly: l = !1, commitOnChange: u = !1 }) {
|
|
596
|
-
let { t: d } =
|
|
597
|
-
!f && n !== S && (C(n), h(n)),
|
|
596
|
+
let { t: d } = q(), [f, p] = H(c), [m, h] = H(n), [g, _] = H(!1), v = V(null), y = V(null), b = V(!1), x = V(!1), [S, C] = H(n);
|
|
597
|
+
!f && n !== S && (C(n), h(n)), B(() => {
|
|
598
598
|
f && v.current ? (v.current.focus(), v.current.select()) : !f && x.current && (x.current = !1, y.current?.focus());
|
|
599
599
|
}, [f]);
|
|
600
600
|
function w() {
|
|
@@ -620,81 +620,95 @@ function Tt({ value: n, onSave: r, multiline: i = !1, placeholder: a, className:
|
|
|
620
620
|
b.current = !1, _(!1), w();
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
|
-
function
|
|
623
|
+
function ee() {
|
|
624
624
|
h(n), w();
|
|
625
625
|
}
|
|
626
|
-
function
|
|
626
|
+
function E(e) {
|
|
627
627
|
h(e), u && r(e);
|
|
628
628
|
}
|
|
629
|
-
let
|
|
630
|
-
if (l) return /* @__PURE__ */
|
|
629
|
+
let D = !n;
|
|
630
|
+
if (l) return /* @__PURE__ */ G("span", {
|
|
631
631
|
className: e("block w-full", o),
|
|
632
632
|
"aria-label": s,
|
|
633
|
-
children: n || /* @__PURE__ */
|
|
633
|
+
children: n || /* @__PURE__ */ G("span", {
|
|
634
634
|
className: "text-muted-foreground",
|
|
635
635
|
children: a ?? "—"
|
|
636
636
|
})
|
|
637
637
|
});
|
|
638
|
-
let
|
|
639
|
-
if (!f) return /* @__PURE__ */
|
|
638
|
+
let O = "w-full bg-transparent outline-none border-b transition-colors duration-200", k = e(O, "cursor-text rounded-sm", D ? "border-dashed border-border/70 hover:border-foreground/40" : "border-transparent hover:border-border/60 focus-visible:border-border/80"), A = e(O, "bento-editing");
|
|
639
|
+
if (!f) return /* @__PURE__ */ G("button", {
|
|
640
640
|
ref: y,
|
|
641
641
|
type: "button",
|
|
642
642
|
onClick: () => p(!0),
|
|
643
|
-
className: e(
|
|
643
|
+
className: e(k, "text-left", o),
|
|
644
644
|
"aria-label": s ?? d("forms.formActions.edit"),
|
|
645
|
-
children: n || /* @__PURE__ */
|
|
645
|
+
children: n || /* @__PURE__ */ G("span", {
|
|
646
646
|
className: "text-muted-foreground",
|
|
647
647
|
children: a ?? "—"
|
|
648
648
|
})
|
|
649
649
|
});
|
|
650
|
-
function
|
|
650
|
+
function j(e) {
|
|
651
651
|
if (e.key === "Escape") {
|
|
652
|
-
e.preventDefault(),
|
|
652
|
+
e.preventDefault(), ee();
|
|
653
653
|
return;
|
|
654
654
|
}
|
|
655
655
|
e.key === "Enter" && (!i || e.metaKey || e.ctrlKey) && (e.preventDefault(), T());
|
|
656
656
|
}
|
|
657
|
-
return i ? /* @__PURE__ */
|
|
657
|
+
return i ? /* @__PURE__ */ G("textarea", {
|
|
658
658
|
ref: v,
|
|
659
659
|
value: m,
|
|
660
|
-
onChange: (e) =>
|
|
660
|
+
onChange: (e) => E(e.target.value),
|
|
661
661
|
onBlur: T,
|
|
662
|
-
onKeyDown:
|
|
662
|
+
onKeyDown: j,
|
|
663
663
|
placeholder: a,
|
|
664
664
|
"aria-label": s,
|
|
665
665
|
"aria-busy": g || void 0,
|
|
666
666
|
rows: 3,
|
|
667
|
-
className: e(
|
|
668
|
-
}) : /* @__PURE__ */
|
|
667
|
+
className: e(A, "resize-none py-0.5 leading-snug", o)
|
|
668
|
+
}) : /* @__PURE__ */ G(t, {
|
|
669
669
|
ref: v,
|
|
670
670
|
value: m,
|
|
671
|
-
onChange: (e) =>
|
|
671
|
+
onChange: (e) => E(e.target.value),
|
|
672
672
|
onBlur: T,
|
|
673
|
-
onKeyDown:
|
|
673
|
+
onKeyDown: j,
|
|
674
674
|
placeholder: a,
|
|
675
675
|
"aria-label": s,
|
|
676
676
|
"aria-busy": g || void 0,
|
|
677
|
-
className: e(
|
|
677
|
+
className: e(A, "h-auto px-0 py-0 shadow-none focus-visible:ring-0", o)
|
|
678
678
|
});
|
|
679
679
|
}
|
|
680
680
|
//#endregion
|
|
681
681
|
//#region src/bento/bento-status-marker.tsx
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
682
|
+
var Et = [
|
|
683
|
+
"published",
|
|
684
|
+
"draft",
|
|
685
|
+
"scheduled",
|
|
686
|
+
"changed",
|
|
687
|
+
"archived"
|
|
688
|
+
];
|
|
689
|
+
function Dt({ titleMissing: t, dirty: n, state: r, className: i }) {
|
|
690
|
+
let { t: a } = q();
|
|
691
|
+
if (!t && !n && !r) return null;
|
|
692
|
+
let o = "inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[10px] font-medium normal-case leading-none tracking-normal";
|
|
693
|
+
return t ? /* @__PURE__ */ K("span", {
|
|
694
|
+
className: e(o, "bento-status bento-status-error", i),
|
|
695
|
+
children: [/* @__PURE__ */ G(de, { className: "size-3" }), a("bento.saveBar.titleRequired", { defaultValue: "Title required" })]
|
|
696
|
+
}) : n ? /* @__PURE__ */ K("span", {
|
|
697
|
+
className: e(o, "bento-status bento-status-warn", i),
|
|
698
|
+
children: [/* @__PURE__ */ G("span", { className: "h-1.5 w-1.5 rounded-full bento-status-dot bento-pulse" }), a("bento.saveBar.unsaved", { defaultValue: "Unsaved changes" })]
|
|
699
|
+
}) : /* @__PURE__ */ K("span", {
|
|
700
|
+
"data-state": r,
|
|
701
|
+
className: e("inline-flex items-center gap-1.5 text-xs font-normal normal-case leading-none tracking-normal", r === "archived" ? "text-muted-foreground" : "text-foreground/80", `bento-state-${r}`, i),
|
|
702
|
+
children: [/* @__PURE__ */ G("span", {
|
|
703
|
+
"aria-hidden": !0,
|
|
704
|
+
className: "h-1.5 w-1.5 shrink-0 rounded-full bento-state-dot"
|
|
705
|
+
}), a(`bento.state.${r}`)]
|
|
692
706
|
});
|
|
693
707
|
}
|
|
694
708
|
//#endregion
|
|
695
709
|
//#region src/bento/bento-scroll-fade.ts
|
|
696
|
-
function
|
|
697
|
-
|
|
710
|
+
function Ot(e) {
|
|
711
|
+
B(() => {
|
|
698
712
|
let t = e.current;
|
|
699
713
|
if (!t) return;
|
|
700
714
|
let n = document.documentElement, r = 0, i = () => {
|
|
@@ -711,109 +725,109 @@ function Dt(e) {
|
|
|
711
725
|
}
|
|
712
726
|
//#endregion
|
|
713
727
|
//#region src/bento/bento-entity-shell.tsx
|
|
714
|
-
function
|
|
728
|
+
function kt(e, t) {
|
|
715
729
|
let n = {};
|
|
716
730
|
for (let r of Object.keys(e)) Object.assign(n, { [r]: t[r] });
|
|
717
731
|
return n;
|
|
718
732
|
}
|
|
719
|
-
function
|
|
720
|
-
let { t: x } =
|
|
733
|
+
function At({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i, trail: o, icon: s, tone: c, formId: l, feature: u, hasStatus: d = !1, hideIcon: f = !1, readOnly: p = !1, autosaveOnly: m = !1, badge: h, notice: g, onUpdate: _, onDelete: v, extraActions: y, children: b }) {
|
|
734
|
+
let { t: x } = q(), S = Ge(), [C, w] = H(!1), [T, ee] = H({
|
|
721
735
|
isDirty: !1,
|
|
722
736
|
isSubmitting: !1
|
|
723
|
-
}),
|
|
724
|
-
|
|
725
|
-
let
|
|
737
|
+
}), E = V(null);
|
|
738
|
+
Ot(E);
|
|
739
|
+
let D = {
|
|
726
740
|
title: e.title ?? "",
|
|
727
741
|
description: e.description ?? "",
|
|
728
742
|
icon: e.icon ?? null,
|
|
729
743
|
enabled: e.enabled ?? 1
|
|
730
|
-
}, [
|
|
731
|
-
(
|
|
732
|
-
async function
|
|
733
|
-
if (
|
|
744
|
+
}, [O, k] = H(D), [A, j] = H(D);
|
|
745
|
+
(D.title !== A.title || D.description !== A.description || D.icon !== A.icon || D.enabled !== A.enabled) && (j(D), k(D));
|
|
746
|
+
async function N(n) {
|
|
747
|
+
if (k((e) => ({
|
|
734
748
|
...e,
|
|
735
749
|
...n
|
|
736
750
|
})), t || !_) return;
|
|
737
|
-
let r = n.title ??
|
|
751
|
+
let r = n.title ?? O.title;
|
|
738
752
|
try {
|
|
739
753
|
await _({
|
|
740
754
|
...e,
|
|
741
755
|
...n
|
|
742
|
-
}),
|
|
756
|
+
}), M.success(x("forms.common.updated", {
|
|
743
757
|
name: r,
|
|
744
758
|
feature: u
|
|
745
759
|
}));
|
|
746
760
|
} catch (e) {
|
|
747
|
-
console.error("Failed to update entity field", e),
|
|
761
|
+
console.error("Failed to update entity field", e), k((e) => ({
|
|
748
762
|
...e,
|
|
749
|
-
...
|
|
750
|
-
})),
|
|
751
|
-
name:
|
|
763
|
+
...kt(n, D)
|
|
764
|
+
})), M.error(x("forms.common.notUpdated", {
|
|
765
|
+
name: D.title || r,
|
|
752
766
|
feature: u
|
|
753
767
|
}));
|
|
754
768
|
}
|
|
755
769
|
}
|
|
756
|
-
async function
|
|
770
|
+
async function te() {
|
|
757
771
|
if (v) {
|
|
758
772
|
try {
|
|
759
|
-
await v() ? (
|
|
760
|
-
name:
|
|
773
|
+
await v() ? (M.success(x("forms.common.deleted", {
|
|
774
|
+
name: O.title,
|
|
761
775
|
feature: u
|
|
762
|
-
})), S(i)) :
|
|
763
|
-
name:
|
|
776
|
+
})), S(i)) : M.error(x("forms.common.notDeleted", {
|
|
777
|
+
name: O.title,
|
|
764
778
|
feature: u
|
|
765
779
|
}));
|
|
766
780
|
} catch (e) {
|
|
767
|
-
console.error("Failed to delete entity", e),
|
|
768
|
-
name:
|
|
781
|
+
console.error("Failed to delete entity", e), M.error(x("forms.common.notDeleted", {
|
|
782
|
+
name: O.title,
|
|
769
783
|
feature: u
|
|
770
784
|
}));
|
|
771
785
|
}
|
|
772
786
|
w(!1);
|
|
773
787
|
}
|
|
774
788
|
}
|
|
775
|
-
let
|
|
789
|
+
let P = O.enabled === 1, F = !p, I = !(m && !t), L = !O.title.trim(), ne = !t && !T.isDirty, re = L || ne, ie = [...y ?? [], ...v && !p ? [{
|
|
776
790
|
id: "entity.delete",
|
|
777
791
|
label: x("forms.formActions.delete"),
|
|
778
|
-
icon:
|
|
792
|
+
icon: Fe,
|
|
779
793
|
tone: "destructive",
|
|
780
794
|
onSelect: () => w(!0)
|
|
781
795
|
}] : []];
|
|
782
|
-
return /* @__PURE__ */ W
|
|
783
|
-
/* @__PURE__ */
|
|
784
|
-
eyebrow: /* @__PURE__ */
|
|
796
|
+
return /* @__PURE__ */ K(W, { children: [
|
|
797
|
+
/* @__PURE__ */ G(Ct, {
|
|
798
|
+
eyebrow: /* @__PURE__ */ K("span", {
|
|
785
799
|
className: "inline-flex items-center gap-2",
|
|
786
|
-
children: [o && o.length > 1 ? /* @__PURE__ */
|
|
800
|
+
children: [o && o.length > 1 ? /* @__PURE__ */ G(bt, { steps: o }) : /* @__PURE__ */ G(xt, {
|
|
787
801
|
to: i,
|
|
788
802
|
children: r
|
|
789
|
-
}), !p && /* @__PURE__ */
|
|
790
|
-
titleMissing:
|
|
803
|
+
}), !p && /* @__PURE__ */ G(Dt, {
|
|
804
|
+
titleMissing: L,
|
|
791
805
|
dirty: t || T.isDirty
|
|
792
806
|
})]
|
|
793
807
|
}),
|
|
794
|
-
leading: /* @__PURE__ */
|
|
795
|
-
value:
|
|
796
|
-
onChange: (e) =>
|
|
797
|
-
onClear: () =>
|
|
808
|
+
leading: /* @__PURE__ */ G(wt, {
|
|
809
|
+
value: O.icon,
|
|
810
|
+
onChange: (e) => N({ icon: e }),
|
|
811
|
+
onClear: () => N({ icon: null }),
|
|
798
812
|
defaultIcon: s,
|
|
799
813
|
tone: c,
|
|
800
|
-
title:
|
|
801
|
-
description:
|
|
814
|
+
title: O.title,
|
|
815
|
+
description: O.description,
|
|
802
816
|
readOnly: p || f
|
|
803
817
|
}),
|
|
804
|
-
title: /* @__PURE__ */
|
|
805
|
-
value:
|
|
806
|
-
onSave: (e) =>
|
|
818
|
+
title: /* @__PURE__ */ G(Tt, {
|
|
819
|
+
value: O.title,
|
|
820
|
+
onSave: (e) => N({ title: e }),
|
|
807
821
|
placeholder: n,
|
|
808
|
-
className: "text-
|
|
822
|
+
className: "text-2xl font-semibold tracking-tight md:text-3xl",
|
|
809
823
|
ariaLabel: x("forms.common.title"),
|
|
810
824
|
autoFocus: t,
|
|
811
825
|
commitOnChange: t,
|
|
812
826
|
readOnly: p
|
|
813
827
|
}),
|
|
814
|
-
subtitle: /* @__PURE__ */
|
|
815
|
-
value:
|
|
816
|
-
onSave: (e) =>
|
|
828
|
+
subtitle: /* @__PURE__ */ G(Tt, {
|
|
829
|
+
value: O.description,
|
|
830
|
+
onSave: (e) => N({ description: e }),
|
|
817
831
|
multiline: !0,
|
|
818
832
|
placeholder: x("forms.common.description"),
|
|
819
833
|
className: "max-w-2xl text-sm text-muted-foreground",
|
|
@@ -821,78 +835,78 @@ function kt({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
|
|
|
821
835
|
commitOnChange: t,
|
|
822
836
|
readOnly: p
|
|
823
837
|
}),
|
|
824
|
-
trailing: /* @__PURE__ */ W
|
|
825
|
-
|
|
838
|
+
trailing: /* @__PURE__ */ K(W, { children: [
|
|
839
|
+
F && /* @__PURE__ */ K("div", {
|
|
826
840
|
className: "bento-fade-out flex shrink-0 items-center gap-2",
|
|
827
|
-
children: [
|
|
841
|
+
children: [I && /* @__PURE__ */ K(a, {
|
|
828
842
|
type: "submit",
|
|
829
843
|
form: l,
|
|
830
844
|
size: "sm",
|
|
831
845
|
loading: T.isSubmitting,
|
|
832
|
-
"aria-disabled":
|
|
833
|
-
children: [/* @__PURE__ */
|
|
834
|
-
}), /* @__PURE__ */
|
|
846
|
+
"aria-disabled": re ? "true" : void 0,
|
|
847
|
+
children: [/* @__PURE__ */ G(Se, { className: "size-4" }), x("forms.formActions.saveChanges")]
|
|
848
|
+
}), /* @__PURE__ */ K(a, {
|
|
835
849
|
type: "button",
|
|
836
850
|
size: "sm",
|
|
837
851
|
variant: "outline",
|
|
838
852
|
onClick: () => S(i),
|
|
839
|
-
children: [/* @__PURE__ */
|
|
853
|
+
children: [/* @__PURE__ */ G(ze, { className: "size-4" }), x("forms.formActions.cancel")]
|
|
840
854
|
})]
|
|
841
855
|
}),
|
|
842
856
|
h,
|
|
843
|
-
d && (p ? /* @__PURE__ */
|
|
844
|
-
className: `flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] uppercase tracking-wider ${
|
|
845
|
-
children: [/* @__PURE__ */
|
|
846
|
-
}) : /* @__PURE__ */
|
|
857
|
+
d && (p ? /* @__PURE__ */ K("span", {
|
|
858
|
+
className: `flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] uppercase tracking-wider ${P ? "bento-status bento-status-on" : "border-border bg-muted text-muted-foreground"}`,
|
|
859
|
+
children: [/* @__PURE__ */ G("span", { className: `h-1.5 w-1.5 rounded-full ${P ? "bento-status-dot bento-pulse" : "bg-muted-foreground/60"}` }), P ? x("common.active", { defaultValue: "Active" }) : x("common.idle", { defaultValue: "Idle" })]
|
|
860
|
+
}) : /* @__PURE__ */ K("button", {
|
|
847
861
|
type: "button",
|
|
848
|
-
onClick: () =>
|
|
862
|
+
onClick: () => N({ enabled: +!P }),
|
|
849
863
|
"aria-label": x("forms.common.enabled"),
|
|
850
|
-
title: x(
|
|
851
|
-
className: `bento-tile-clickable flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] uppercase tracking-wider transition-colors duration-200 ${
|
|
852
|
-
children: [/* @__PURE__ */
|
|
864
|
+
title: x(P ? "common.activeToggleHint" : "common.idleToggleHint"),
|
|
865
|
+
className: `bento-tile-clickable flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] uppercase tracking-wider transition-colors duration-200 ${P ? "bento-status bento-status-on" : "border-border bg-muted text-muted-foreground hover:bg-muted/80"}`,
|
|
866
|
+
children: [/* @__PURE__ */ G("span", { className: `h-1.5 w-1.5 rounded-full ${P ? "bento-status-dot bento-pulse" : "bg-muted-foreground/60"}` }), P ? x("common.active", { defaultValue: "Active" }) : x("common.idle", { defaultValue: "Idle" })]
|
|
853
867
|
})),
|
|
854
|
-
!t &&
|
|
868
|
+
!t && ie.length > 0 && /* @__PURE__ */ G(ut, { actions: ie })
|
|
855
869
|
] })
|
|
856
870
|
}),
|
|
857
|
-
/* @__PURE__ */
|
|
858
|
-
ref:
|
|
871
|
+
/* @__PURE__ */ G("div", {
|
|
872
|
+
ref: E,
|
|
859
873
|
"aria-hidden": !0,
|
|
860
874
|
className: "h-px"
|
|
861
875
|
}),
|
|
862
876
|
g,
|
|
863
|
-
!t && v && /* @__PURE__ */
|
|
877
|
+
!t && v && /* @__PURE__ */ G(ae, {
|
|
864
878
|
feature: u,
|
|
865
|
-
name:
|
|
866
|
-
onDelete:
|
|
879
|
+
name: O.title,
|
|
880
|
+
onDelete: te,
|
|
867
881
|
open: C,
|
|
868
882
|
setOpen: w,
|
|
869
|
-
trigger: /* @__PURE__ */
|
|
883
|
+
trigger: /* @__PURE__ */ G("span", {
|
|
870
884
|
className: "hidden",
|
|
871
885
|
"aria-hidden": !0
|
|
872
886
|
})
|
|
873
887
|
}),
|
|
874
888
|
b({
|
|
875
|
-
staged:
|
|
876
|
-
onStateChange:
|
|
889
|
+
staged: O,
|
|
890
|
+
onStateChange: ee
|
|
877
891
|
})
|
|
878
892
|
] });
|
|
879
893
|
}
|
|
880
894
|
//#endregion
|
|
881
895
|
//#region src/bento/bento-change-mark.tsx
|
|
882
|
-
var
|
|
896
|
+
var jt = {
|
|
883
897
|
added: "bento-status bento-status-on",
|
|
884
898
|
removed: "bento-status bento-status-error",
|
|
885
899
|
changed: "bento-status bento-status-warn",
|
|
886
900
|
unchanged: !1
|
|
887
901
|
};
|
|
888
|
-
function
|
|
889
|
-
let { t: i } =
|
|
902
|
+
function Mt({ state: t, compact: n = !1, className: r }) {
|
|
903
|
+
let { t: i } = q(), a = {
|
|
890
904
|
added: i("bento.diff.added", { defaultValue: "Added" }),
|
|
891
905
|
removed: i("bento.diff.removed", { defaultValue: "Removed" }),
|
|
892
906
|
changed: i("bento.diff.changed", { defaultValue: "Changed" }),
|
|
893
907
|
unchanged: i("bento.diff.unchanged", { defaultValue: "Unchanged" })
|
|
894
|
-
}[t], o = e("rounded-full border px-1.5 leading-4", n && "font-mono",
|
|
895
|
-
if (!n) return /* @__PURE__ */
|
|
908
|
+
}[t], o = e("rounded-full border px-1.5 leading-4", n && "font-mono", jt[t], r);
|
|
909
|
+
if (!n) return /* @__PURE__ */ G("span", {
|
|
896
910
|
"data-slot": "bento-change-mark",
|
|
897
911
|
"data-state": t,
|
|
898
912
|
className: o,
|
|
@@ -904,15 +918,15 @@ function jt({ state: t, compact: n = !1, className: r }) {
|
|
|
904
918
|
changed: i("bento.diff.changedLetter", { defaultValue: "M" }),
|
|
905
919
|
unchanged: i("bento.diff.unchangedLetter", { defaultValue: "·" })
|
|
906
920
|
}[t];
|
|
907
|
-
return /* @__PURE__ */
|
|
921
|
+
return /* @__PURE__ */ K("span", {
|
|
908
922
|
"data-slot": "bento-change-mark",
|
|
909
923
|
"data-state": t,
|
|
910
924
|
title: a,
|
|
911
925
|
className: o,
|
|
912
|
-
children: [/* @__PURE__ */
|
|
926
|
+
children: [/* @__PURE__ */ G("span", {
|
|
913
927
|
"aria-hidden": "true",
|
|
914
928
|
children: s
|
|
915
|
-
}), /* @__PURE__ */
|
|
929
|
+
}), /* @__PURE__ */ G("span", {
|
|
916
930
|
className: "sr-only",
|
|
917
931
|
children: a
|
|
918
932
|
})]
|
|
@@ -920,7 +934,7 @@ function jt({ state: t, compact: n = !1, className: r }) {
|
|
|
920
934
|
}
|
|
921
935
|
//#endregion
|
|
922
936
|
//#region src/bento/bento-diff.tsx
|
|
923
|
-
function
|
|
937
|
+
function Nt(e, t, n = !0) {
|
|
924
938
|
let r = e.length, i = t.length;
|
|
925
939
|
if (r * i > 4e5) return null;
|
|
926
940
|
let a = Array.from({ length: r + 1 }, () => new Uint32Array(i + 1));
|
|
@@ -937,16 +951,16 @@ function Mt(e, t, n = !0) {
|
|
|
937
951
|
for (; l < i;) s("add", t[l++]);
|
|
938
952
|
return o;
|
|
939
953
|
}
|
|
940
|
-
var
|
|
941
|
-
function
|
|
954
|
+
var Pt = (e) => e.split(/(\s+)/).filter((e) => e !== "");
|
|
955
|
+
function Ft(e) {
|
|
942
956
|
if (typeof DOMParser > "u") return e.split(/<\/(?:p|h[1-6]|li|blockquote|pre|div)>/i).map((e) => e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim()).filter(Boolean);
|
|
943
957
|
let t = new DOMParser().parseFromString(e, "text/html"), n = [...t.body.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, blockquote, pre")].filter((e) => !e.parentElement?.closest("p, h1, h2, h3, h4, h5, h6, li, blockquote, pre")).map((e) => (e.textContent ?? "").replace(/\s+/g, " ").trim()).filter(Boolean), r = (t.body.textContent ?? "").replace(/\s+/g, " ").trim();
|
|
944
958
|
return n.length > 0 ? n : r ? [r] : [];
|
|
945
959
|
}
|
|
946
960
|
var X = (e) => e == null ? "" : String(e);
|
|
947
|
-
function
|
|
948
|
-
let { t: o } =
|
|
949
|
-
let r = t?.[e.id], i = n?.[e.id], a = e.kind ?? "text", o = a === "rich" ?
|
|
961
|
+
function It({ before: t, after: n, fields: r, showUnchanged: i = !1, layout: a = "inline" }) {
|
|
962
|
+
let { t: o } = q(), [s, c] = H(i), l = r.map((e) => {
|
|
963
|
+
let r = t?.[e.id], i = n?.[e.id], a = e.kind ?? "text", o = a === "rich" ? Ft(X(r)).join("\n") === Ft(X(i)).join("\n") : a === "value" ? JSON.stringify(r ?? null) === JSON.stringify(i ?? null) : X(r) === X(i), s = "changed";
|
|
950
964
|
return t === null || (r == null || r === "") && !o ? s = "added" : n === null || (i == null || i === "") && !o ? s = "removed" : o && (s = "unchanged"), {
|
|
951
965
|
field: e,
|
|
952
966
|
a: r,
|
|
@@ -955,37 +969,37 @@ function Ft({ before: t, after: n, fields: r, showUnchanged: i = !1, layout: a =
|
|
|
955
969
|
state: s
|
|
956
970
|
};
|
|
957
971
|
}), u = l.filter((e) => e.state !== "unchanged"), d = l.filter((e) => e.state === "unchanged");
|
|
958
|
-
return /* @__PURE__ */
|
|
972
|
+
return /* @__PURE__ */ K("div", {
|
|
959
973
|
"data-slot": "bento-diff",
|
|
960
974
|
className: "flex flex-col gap-3",
|
|
961
975
|
children: [
|
|
962
|
-
(t === null || n === null) && /* @__PURE__ */
|
|
976
|
+
(t === null || n === null) && /* @__PURE__ */ G("p", {
|
|
963
977
|
className: "m-0 text-sm font-medium",
|
|
964
978
|
children: t === null ? o("bento.diff.created", { defaultValue: "Created in this version" }) : o("bento.diff.deleted", { defaultValue: "Deleted in this version" })
|
|
965
979
|
}),
|
|
966
|
-
u.length === 0 && /* @__PURE__ */
|
|
980
|
+
u.length === 0 && /* @__PURE__ */ G("p", {
|
|
967
981
|
className: "m-0 text-sm text-muted-foreground",
|
|
968
982
|
children: o("bento.diff.noChanges", { defaultValue: "No field changed" })
|
|
969
983
|
}),
|
|
970
|
-
/* @__PURE__ */
|
|
984
|
+
/* @__PURE__ */ G("dl", {
|
|
971
985
|
className: "m-0 flex flex-col gap-3",
|
|
972
|
-
children: u.map((e) => /* @__PURE__ */
|
|
986
|
+
children: u.map((e) => /* @__PURE__ */ G(Lt, {
|
|
973
987
|
label: e.field.label,
|
|
974
988
|
state: e.state,
|
|
975
|
-
children: /* @__PURE__ */
|
|
989
|
+
children: /* @__PURE__ */ G(Rt, {
|
|
976
990
|
row: e,
|
|
977
991
|
layout: a
|
|
978
992
|
})
|
|
979
993
|
}, e.field.id))
|
|
980
994
|
}),
|
|
981
|
-
d.length > 0 && /* @__PURE__ */
|
|
995
|
+
d.length > 0 && /* @__PURE__ */ K("div", {
|
|
982
996
|
className: "flex flex-col gap-3",
|
|
983
|
-
children: [/* @__PURE__ */
|
|
997
|
+
children: [/* @__PURE__ */ K("button", {
|
|
984
998
|
type: "button",
|
|
985
999
|
"aria-expanded": s ? "true" : "false",
|
|
986
1000
|
onClick: () => c(!s),
|
|
987
1001
|
className: "inline-flex items-center gap-1 self-start rounded-md text-sm text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",
|
|
988
|
-
children: [/* @__PURE__ */
|
|
1002
|
+
children: [/* @__PURE__ */ G(Y, {
|
|
989
1003
|
size: 14,
|
|
990
1004
|
"aria-hidden": "true",
|
|
991
1005
|
className: e("transition-transform", s && "rotate-90")
|
|
@@ -993,14 +1007,14 @@ function Ft({ before: t, after: n, fields: r, showUnchanged: i = !1, layout: a =
|
|
|
993
1007
|
defaultValue: "{{count}} unchanged",
|
|
994
1008
|
count: d.length
|
|
995
1009
|
})]
|
|
996
|
-
}), s && /* @__PURE__ */
|
|
1010
|
+
}), s && /* @__PURE__ */ G("dl", {
|
|
997
1011
|
className: "m-0 flex flex-col gap-3",
|
|
998
|
-
children: d.map((t) => /* @__PURE__ */
|
|
1012
|
+
children: d.map((t) => /* @__PURE__ */ G(Lt, {
|
|
999
1013
|
label: t.field.label,
|
|
1000
1014
|
state: "unchanged",
|
|
1001
|
-
children: /* @__PURE__ */
|
|
1015
|
+
children: /* @__PURE__ */ G("p", {
|
|
1002
1016
|
className: e("m-0 whitespace-pre-wrap text-sm text-muted-foreground", t.kind === "lines" && "font-mono text-xs"),
|
|
1003
|
-
children: t.kind === "rich" ?
|
|
1017
|
+
children: t.kind === "rich" ? Ft(X(t.b)).join("\n\n") : t.field.format ? t.field.format(t.b) : X(t.b)
|
|
1004
1018
|
})
|
|
1005
1019
|
}, t.field.id))
|
|
1006
1020
|
})]
|
|
@@ -1008,21 +1022,21 @@ function Ft({ before: t, after: n, fields: r, showUnchanged: i = !1, layout: a =
|
|
|
1008
1022
|
]
|
|
1009
1023
|
});
|
|
1010
1024
|
}
|
|
1011
|
-
function
|
|
1012
|
-
return /* @__PURE__ */
|
|
1025
|
+
function Lt({ label: e, state: t, children: n }) {
|
|
1026
|
+
return /* @__PURE__ */ K("div", {
|
|
1013
1027
|
className: "rounded-xl border border-border/60 bg-card/40 p-3",
|
|
1014
|
-
children: [/* @__PURE__ */
|
|
1028
|
+
children: [/* @__PURE__ */ K("dt", {
|
|
1015
1029
|
className: "mb-1.5 flex items-center gap-2 text-xs font-medium text-muted-foreground",
|
|
1016
|
-
children: [/* @__PURE__ */
|
|
1017
|
-
}), /* @__PURE__ */
|
|
1030
|
+
children: [/* @__PURE__ */ G("span", { children: e }), /* @__PURE__ */ G(Mt, { state: t })]
|
|
1031
|
+
}), /* @__PURE__ */ G("dd", {
|
|
1018
1032
|
className: "m-0",
|
|
1019
1033
|
children: n
|
|
1020
1034
|
})]
|
|
1021
1035
|
});
|
|
1022
1036
|
}
|
|
1023
|
-
function
|
|
1024
|
-
let { t: n } =
|
|
1025
|
-
if (o === "lines") return /* @__PURE__ */
|
|
1037
|
+
function Rt({ row: e, layout: t }) {
|
|
1038
|
+
let { t: n } = q(), { field: r, a: i, b: a, kind: o, state: s } = e;
|
|
1039
|
+
if (o === "lines") return /* @__PURE__ */ G(Wt, {
|
|
1026
1040
|
label: r.label,
|
|
1027
1041
|
before: X(i),
|
|
1028
1042
|
after: X(a),
|
|
@@ -1030,19 +1044,19 @@ function Lt({ row: e, layout: t }) {
|
|
|
1030
1044
|
});
|
|
1031
1045
|
if (o === "value") {
|
|
1032
1046
|
let e = (e) => r.format ? r.format(e) : X(e);
|
|
1033
|
-
return /* @__PURE__ */
|
|
1047
|
+
return /* @__PURE__ */ K("p", {
|
|
1034
1048
|
className: "m-0 flex flex-wrap items-center gap-2 text-sm",
|
|
1035
1049
|
children: [
|
|
1036
|
-
s !== "added" && /* @__PURE__ */
|
|
1037
|
-
s === "changed" && /* @__PURE__ */
|
|
1050
|
+
s !== "added" && /* @__PURE__ */ G(nn, { children: e(i) }),
|
|
1051
|
+
s === "changed" && /* @__PURE__ */ G("span", {
|
|
1038
1052
|
"aria-hidden": "true",
|
|
1039
1053
|
children: "→"
|
|
1040
1054
|
}),
|
|
1041
|
-
s !== "removed" && /* @__PURE__ */
|
|
1055
|
+
s !== "removed" && /* @__PURE__ */ G(tn, { children: e(a) })
|
|
1042
1056
|
]
|
|
1043
1057
|
});
|
|
1044
1058
|
}
|
|
1045
|
-
let c = o === "rich" ?
|
|
1059
|
+
let c = o === "rich" ? Ft(X(i)) : [X(i)].filter(Boolean), l = o === "rich" ? Ft(X(a)) : [X(a)].filter(Boolean), u = Nt(c, l, !1) ?? [...c.map((e) => ({
|
|
1046
1060
|
op: "remove",
|
|
1047
1061
|
text: e
|
|
1048
1062
|
})), ...l.map((e) => ({
|
|
@@ -1052,35 +1066,35 @@ function Lt({ row: e, layout: t }) {
|
|
|
1052
1066
|
for (let e = 0; e < u.length; e++) {
|
|
1053
1067
|
let t = u[e], n = u[e + 1];
|
|
1054
1068
|
if (t.op === "remove" && n?.op === "add") {
|
|
1055
|
-
let r =
|
|
1056
|
-
d.push(/* @__PURE__ */
|
|
1069
|
+
let r = Nt(Pt(t.text), Pt(n.text));
|
|
1070
|
+
d.push(/* @__PURE__ */ G("p", {
|
|
1057
1071
|
className: "m-0 whitespace-pre-wrap text-sm leading-relaxed",
|
|
1058
|
-
children: r ? r.map((e, t) => e.op === "same" ? /* @__PURE__ */
|
|
1059
|
-
/* @__PURE__ */
|
|
1072
|
+
children: r ? r.map((e, t) => e.op === "same" ? /* @__PURE__ */ G("span", { children: e.text }, t) : e.op === "add" ? /* @__PURE__ */ G(tn, { children: e.text }, t) : /* @__PURE__ */ G(nn, { children: e.text }, t)) : [
|
|
1073
|
+
/* @__PURE__ */ G(nn, { children: t.text }, "r"),
|
|
1060
1074
|
" ",
|
|
1061
|
-
/* @__PURE__ */
|
|
1075
|
+
/* @__PURE__ */ G(tn, { children: n.text }, "a")
|
|
1062
1076
|
]
|
|
1063
1077
|
}, e)), e++;
|
|
1064
|
-
} else d.push(/* @__PURE__ */
|
|
1078
|
+
} else d.push(/* @__PURE__ */ G("p", {
|
|
1065
1079
|
className: "m-0 whitespace-pre-wrap text-sm leading-relaxed",
|
|
1066
|
-
children: t.op === "same" ? t.text : t.op === "add" ? /* @__PURE__ */
|
|
1080
|
+
children: t.op === "same" ? t.text : t.op === "add" ? /* @__PURE__ */ G(tn, { children: t.text }) : /* @__PURE__ */ G(nn, { children: t.text })
|
|
1067
1081
|
}, e));
|
|
1068
1082
|
}
|
|
1069
|
-
return d.length === 0 ? /* @__PURE__ */
|
|
1083
|
+
return d.length === 0 ? /* @__PURE__ */ G("p", {
|
|
1070
1084
|
className: "m-0 text-sm text-muted-foreground",
|
|
1071
1085
|
children: n("bento.diff.empty", { defaultValue: "Empty" })
|
|
1072
|
-
}) : /* @__PURE__ */
|
|
1086
|
+
}) : /* @__PURE__ */ G("div", {
|
|
1073
1087
|
className: "flex flex-col gap-2",
|
|
1074
1088
|
children: d
|
|
1075
1089
|
});
|
|
1076
1090
|
}
|
|
1077
|
-
var
|
|
1078
|
-
function
|
|
1079
|
-
let n =
|
|
1091
|
+
var zt = 3, Bt = (e) => e === "" ? [] : e.replace(/\r?\n$/, "").split(/\r?\n/);
|
|
1092
|
+
function Vt(e, t) {
|
|
1093
|
+
let n = Bt(e), r = Bt(t), i = 0;
|
|
1080
1094
|
for (; i < n.length && i < r.length && n[i] === r[i];) i++;
|
|
1081
1095
|
let a = 0;
|
|
1082
1096
|
for (; a < n.length - i && a < r.length - i && n[n.length - 1 - a] === r[r.length - 1 - a];) a++;
|
|
1083
|
-
let o =
|
|
1097
|
+
let o = Nt(n.slice(i, n.length - a), r.slice(i, r.length - a), !1);
|
|
1084
1098
|
if (o === null) return null;
|
|
1085
1099
|
let s = [], c = 0, l = 0, u = (e) => s.push({
|
|
1086
1100
|
op: "same",
|
|
@@ -1091,7 +1105,7 @@ function Bt(e, t) {
|
|
|
1091
1105
|
n.slice(0, i).forEach(u);
|
|
1092
1106
|
let d = [], f = [], p = () => {
|
|
1093
1107
|
for (let e = 0; e < Math.min(d.length, f.length); e++) {
|
|
1094
|
-
let t =
|
|
1108
|
+
let t = Nt(Pt(d[e].text), Pt(f[e].text));
|
|
1095
1109
|
t && (d[e].parts = t.filter((e) => e.op !== "add"), f[e].parts = t.filter((e) => e.op !== "remove"));
|
|
1096
1110
|
}
|
|
1097
1111
|
s.push(...d, ...f), d = [], f = [];
|
|
@@ -1107,7 +1121,7 @@ function Bt(e, t) {
|
|
|
1107
1121
|
}) : (p(), u(e.text));
|
|
1108
1122
|
return p(), n.slice(n.length - a).forEach(u), s;
|
|
1109
1123
|
}
|
|
1110
|
-
function
|
|
1124
|
+
function Ht(e) {
|
|
1111
1125
|
let t = [], n = 0;
|
|
1112
1126
|
for (; n < e.length;) {
|
|
1113
1127
|
if (e[n].op === "same") {
|
|
@@ -1126,10 +1140,10 @@ function Vt(e) {
|
|
|
1126
1140
|
}
|
|
1127
1141
|
return t;
|
|
1128
1142
|
}
|
|
1129
|
-
function
|
|
1143
|
+
function Ut(e, t, n) {
|
|
1130
1144
|
let r = Array(e.length).fill(!1);
|
|
1131
1145
|
e.forEach((n, i) => {
|
|
1132
|
-
if (t(n)) for (let t = Math.max(0, i -
|
|
1146
|
+
if (t(n)) for (let t = Math.max(0, i - zt); t <= Math.min(e.length - 1, i + zt); t++) r[t] = !0;
|
|
1133
1147
|
});
|
|
1134
1148
|
let i = [], a = 0;
|
|
1135
1149
|
for (; a < e.length;) {
|
|
@@ -1147,13 +1161,13 @@ function Ht(e, t, n) {
|
|
|
1147
1161
|
}
|
|
1148
1162
|
return i;
|
|
1149
1163
|
}
|
|
1150
|
-
function
|
|
1151
|
-
let { t: a } =
|
|
1152
|
-
if (c === null) return /* @__PURE__ */
|
|
1164
|
+
function Wt({ label: t, before: n, after: r, layout: i }) {
|
|
1165
|
+
let { t: a } = q(), [o, s] = H(/* @__PURE__ */ new Set()), c = Vt(n, r);
|
|
1166
|
+
if (c === null) return /* @__PURE__ */ G("p", {
|
|
1153
1167
|
className: "m-0 text-sm text-muted-foreground",
|
|
1154
1168
|
children: a("bento.diff.tooLarge", { defaultValue: "Too many lines changed to compare them here" })
|
|
1155
1169
|
});
|
|
1156
|
-
if (c.length === 0) return /* @__PURE__ */
|
|
1170
|
+
if (c.length === 0) return /* @__PURE__ */ G("p", {
|
|
1157
1171
|
className: "m-0 text-sm text-muted-foreground",
|
|
1158
1172
|
children: a("bento.diff.empty", { defaultValue: "Empty" })
|
|
1159
1173
|
});
|
|
@@ -1163,15 +1177,15 @@ function Ut({ label: t, before: n, after: r, layout: i }) {
|
|
|
1163
1177
|
};
|
|
1164
1178
|
function u(t, n, r) {
|
|
1165
1179
|
let i = o.has(t.key);
|
|
1166
|
-
return [/* @__PURE__ */
|
|
1180
|
+
return [/* @__PURE__ */ G("tr", { children: /* @__PURE__ */ G("td", {
|
|
1167
1181
|
colSpan: n,
|
|
1168
1182
|
className: "bg-muted/40 px-2",
|
|
1169
|
-
children: /* @__PURE__ */
|
|
1183
|
+
children: /* @__PURE__ */ K("button", {
|
|
1170
1184
|
type: "button",
|
|
1171
1185
|
"aria-expanded": i ? "true" : "false",
|
|
1172
1186
|
onClick: () => l(t.key),
|
|
1173
1187
|
className: "inline-flex items-center gap-1 rounded-md font-sans text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring",
|
|
1174
|
-
children: [/* @__PURE__ */
|
|
1188
|
+
children: [/* @__PURE__ */ G(Y, {
|
|
1175
1189
|
size: 12,
|
|
1176
1190
|
"aria-hidden": "true",
|
|
1177
1191
|
className: e("transition-transform", i && "rotate-90")
|
|
@@ -1182,133 +1196,133 @@ function Ut({ label: t, before: n, after: r, layout: i }) {
|
|
|
1182
1196
|
})
|
|
1183
1197
|
}) }, `fold-${t.key}`), ...i ? t.items.map(r) : []];
|
|
1184
1198
|
}
|
|
1185
|
-
let d = (t) => /* @__PURE__ */
|
|
1199
|
+
let d = (t) => /* @__PURE__ */ G("table", {
|
|
1186
1200
|
"data-layout": "inline",
|
|
1187
|
-
className: e("min-w-full border-collapse font-mono text-
|
|
1188
|
-
children: /* @__PURE__ */
|
|
1189
|
-
let t = (e) => /* @__PURE__ */
|
|
1201
|
+
className: e("min-w-full border-collapse font-mono text-mono leading-5", t),
|
|
1202
|
+
children: /* @__PURE__ */ G("tbody", { children: Ut(c, (e) => e.op !== "same", Gt).map((e) => {
|
|
1203
|
+
let t = (e) => /* @__PURE__ */ G(Zt, { row: e }, Gt(e));
|
|
1190
1204
|
return e.fold ? u(e, 4, t) : e.items.map(t);
|
|
1191
1205
|
}) })
|
|
1192
1206
|
});
|
|
1193
|
-
return /* @__PURE__ */
|
|
1207
|
+
return /* @__PURE__ */ G("section", {
|
|
1194
1208
|
"aria-label": t,
|
|
1195
1209
|
tabIndex: 0,
|
|
1196
1210
|
className: "@container/diff overflow-x-auto rounded-md border border-border/60 focus-visible:outline-2 focus-visible:outline-ring",
|
|
1197
|
-
children: i === "split" ? /* @__PURE__ */ W
|
|
1211
|
+
children: i === "split" ? /* @__PURE__ */ K(W, { children: [d("@3xl/diff:hidden"), ((t) => /* @__PURE__ */ K("table", {
|
|
1198
1212
|
"data-layout": "split",
|
|
1199
|
-
className: e("w-full table-fixed border-collapse font-mono text-
|
|
1200
|
-
children: [/* @__PURE__ */
|
|
1201
|
-
/* @__PURE__ */
|
|
1202
|
-
/* @__PURE__ */
|
|
1203
|
-
/* @__PURE__ */
|
|
1204
|
-
/* @__PURE__ */
|
|
1205
|
-
/* @__PURE__ */
|
|
1206
|
-
/* @__PURE__ */
|
|
1207
|
-
] }), /* @__PURE__ */
|
|
1208
|
-
let t = (e) => /* @__PURE__ */
|
|
1213
|
+
className: e("w-full table-fixed border-collapse font-mono text-mono leading-5", t),
|
|
1214
|
+
children: [/* @__PURE__ */ K("colgroup", { children: [
|
|
1215
|
+
/* @__PURE__ */ G("col", { className: "w-14" }),
|
|
1216
|
+
/* @__PURE__ */ G("col", { className: "w-5" }),
|
|
1217
|
+
/* @__PURE__ */ G("col", {}),
|
|
1218
|
+
/* @__PURE__ */ G("col", { className: "w-14" }),
|
|
1219
|
+
/* @__PURE__ */ G("col", { className: "w-5" }),
|
|
1220
|
+
/* @__PURE__ */ G("col", {})
|
|
1221
|
+
] }), /* @__PURE__ */ G("tbody", { children: Ut(Ht(c), (e) => e.left?.op !== "same", Kt).map((e) => {
|
|
1222
|
+
let t = (e) => /* @__PURE__ */ G(Qt, { pair: e }, Kt(e));
|
|
1209
1223
|
return e.fold ? u(e, 6, t) : e.items.map(t);
|
|
1210
1224
|
}) })]
|
|
1211
1225
|
}))("hidden @3xl/diff:table")] }) : d()
|
|
1212
1226
|
});
|
|
1213
1227
|
}
|
|
1214
|
-
var
|
|
1215
|
-
function
|
|
1216
|
-
return e.parts ? e.parts.map((e, t) => e.op === "add" ? /* @__PURE__ */
|
|
1228
|
+
var Gt = (e) => `${e.old ?? ""}:${e.new ?? ""}`, Kt = (e) => `${e.left?.old ?? ""}:${e.right?.new ?? ""}`, qt = (t) => e(t.op === "add" && "bento-status bento-status-on", t.op === "remove" && "bento-status bento-status-error");
|
|
1229
|
+
function Jt(e) {
|
|
1230
|
+
return e.parts ? e.parts.map((e, t) => e.op === "add" ? /* @__PURE__ */ G(tn, { children: e.text }, t) : e.op === "remove" ? /* @__PURE__ */ G(nn, { children: e.text }, t) : /* @__PURE__ */ G("span", { children: e.text }, t)) : e.op === "same" ? e.text : /* @__PURE__ */ G(en, {
|
|
1217
1231
|
op: e.op,
|
|
1218
1232
|
children: e.text
|
|
1219
1233
|
});
|
|
1220
1234
|
}
|
|
1221
|
-
var
|
|
1235
|
+
var Yt = {
|
|
1222
1236
|
same: " ",
|
|
1223
1237
|
add: "+",
|
|
1224
1238
|
remove: "−"
|
|
1225
|
-
},
|
|
1226
|
-
function
|
|
1227
|
-
let n =
|
|
1228
|
-
return /* @__PURE__ */
|
|
1239
|
+
}, Xt = "select-none px-2 text-right align-top text-muted-foreground tabular-nums";
|
|
1240
|
+
function Zt({ row: t }) {
|
|
1241
|
+
let n = qt(t);
|
|
1242
|
+
return /* @__PURE__ */ K("tr", {
|
|
1229
1243
|
"data-op": t.op,
|
|
1230
1244
|
children: [
|
|
1231
|
-
/* @__PURE__ */
|
|
1232
|
-
className: e("w-px",
|
|
1245
|
+
/* @__PURE__ */ G("td", {
|
|
1246
|
+
className: e("w-px", Xt, n),
|
|
1233
1247
|
children: t.old
|
|
1234
1248
|
}),
|
|
1235
|
-
/* @__PURE__ */
|
|
1236
|
-
className: e("w-px",
|
|
1249
|
+
/* @__PURE__ */ G("td", {
|
|
1250
|
+
className: e("w-px", Xt, n),
|
|
1237
1251
|
children: t.new
|
|
1238
1252
|
}),
|
|
1239
|
-
/* @__PURE__ */
|
|
1253
|
+
/* @__PURE__ */ G("td", {
|
|
1240
1254
|
"aria-hidden": "true",
|
|
1241
1255
|
className: e("w-px select-none pr-1", n),
|
|
1242
|
-
children:
|
|
1256
|
+
children: Yt[t.op]
|
|
1243
1257
|
}),
|
|
1244
|
-
/* @__PURE__ */
|
|
1258
|
+
/* @__PURE__ */ G("td", {
|
|
1245
1259
|
className: e("whitespace-pre pr-3", !t.parts && n),
|
|
1246
|
-
children:
|
|
1260
|
+
children: Jt(t)
|
|
1247
1261
|
})
|
|
1248
1262
|
]
|
|
1249
1263
|
});
|
|
1250
1264
|
}
|
|
1251
|
-
function
|
|
1252
|
-
return /* @__PURE__ */
|
|
1265
|
+
function Qt({ pair: e }) {
|
|
1266
|
+
return /* @__PURE__ */ K("tr", {
|
|
1253
1267
|
"data-op": e.left?.op === "same" ? "same" : "change",
|
|
1254
|
-
children: [/* @__PURE__ */
|
|
1268
|
+
children: [/* @__PURE__ */ G($t, {
|
|
1255
1269
|
row: e.left,
|
|
1256
1270
|
number: e.left?.old
|
|
1257
|
-
}), /* @__PURE__ */
|
|
1271
|
+
}), /* @__PURE__ */ G($t, {
|
|
1258
1272
|
row: e.right,
|
|
1259
1273
|
number: e.right?.new,
|
|
1260
1274
|
right: !0
|
|
1261
1275
|
})]
|
|
1262
1276
|
});
|
|
1263
1277
|
}
|
|
1264
|
-
function
|
|
1265
|
-
if (t === null) return /* @__PURE__ */
|
|
1278
|
+
function $t({ row: t, number: n, right: r = !1 }) {
|
|
1279
|
+
if (t === null) return /* @__PURE__ */ G("td", {
|
|
1266
1280
|
colSpan: 3,
|
|
1267
1281
|
"data-empty": "",
|
|
1268
1282
|
className: e("[background-image:repeating-linear-gradient(-45deg,var(--color-border)_0_1px,transparent_0_6px)]", r && "border-l border-border/60")
|
|
1269
1283
|
});
|
|
1270
|
-
let i =
|
|
1271
|
-
return /* @__PURE__ */ W
|
|
1272
|
-
/* @__PURE__ */
|
|
1273
|
-
className: e(
|
|
1284
|
+
let i = qt(t);
|
|
1285
|
+
return /* @__PURE__ */ K(W, { children: [
|
|
1286
|
+
/* @__PURE__ */ G("td", {
|
|
1287
|
+
className: e(Xt, i, r && "border-l border-border/60"),
|
|
1274
1288
|
children: n
|
|
1275
1289
|
}),
|
|
1276
|
-
/* @__PURE__ */
|
|
1290
|
+
/* @__PURE__ */ G("td", {
|
|
1277
1291
|
"aria-hidden": "true",
|
|
1278
1292
|
className: e("select-none align-top", i),
|
|
1279
|
-
children:
|
|
1293
|
+
children: Yt[t.op]
|
|
1280
1294
|
}),
|
|
1281
|
-
/* @__PURE__ */
|
|
1295
|
+
/* @__PURE__ */ G("td", {
|
|
1282
1296
|
className: e("whitespace-pre-wrap pr-3 [overflow-wrap:anywhere]", !t.parts && i),
|
|
1283
|
-
children:
|
|
1297
|
+
children: Jt(t)
|
|
1284
1298
|
})
|
|
1285
1299
|
] });
|
|
1286
1300
|
}
|
|
1287
|
-
function
|
|
1288
|
-
let { t: n } =
|
|
1289
|
-
return /* @__PURE__ */
|
|
1301
|
+
function en({ op: e, children: t }) {
|
|
1302
|
+
let { t: n } = q();
|
|
1303
|
+
return /* @__PURE__ */ K(e === "add" ? "ins" : "del", {
|
|
1290
1304
|
className: "no-underline",
|
|
1291
|
-
children: [/* @__PURE__ */
|
|
1305
|
+
children: [/* @__PURE__ */ K("span", {
|
|
1292
1306
|
className: "sr-only",
|
|
1293
1307
|
children: [e === "add" ? n("bento.diff.addedStart", { defaultValue: "added:" }) : n("bento.diff.removedStart", { defaultValue: "removed:" }), " "]
|
|
1294
1308
|
}), t]
|
|
1295
1309
|
});
|
|
1296
1310
|
}
|
|
1297
|
-
function
|
|
1298
|
-
let { t } =
|
|
1299
|
-
return /* @__PURE__ */
|
|
1311
|
+
function tn({ children: e }) {
|
|
1312
|
+
let { t } = q();
|
|
1313
|
+
return /* @__PURE__ */ K("ins", {
|
|
1300
1314
|
className: "bento-status bento-status-on rounded-sm px-0.5 underline decoration-2 underline-offset-2",
|
|
1301
|
-
children: [/* @__PURE__ */
|
|
1315
|
+
children: [/* @__PURE__ */ K("span", {
|
|
1302
1316
|
className: "sr-only",
|
|
1303
1317
|
children: [t("bento.diff.addedStart", { defaultValue: "added:" }), " "]
|
|
1304
1318
|
}), e]
|
|
1305
1319
|
});
|
|
1306
1320
|
}
|
|
1307
|
-
function
|
|
1308
|
-
let { t } =
|
|
1309
|
-
return /* @__PURE__ */
|
|
1321
|
+
function nn({ children: e }) {
|
|
1322
|
+
let { t } = q();
|
|
1323
|
+
return /* @__PURE__ */ K("del", {
|
|
1310
1324
|
className: "bento-status bento-status-error rounded-sm px-0.5 line-through decoration-2",
|
|
1311
|
-
children: [/* @__PURE__ */
|
|
1325
|
+
children: [/* @__PURE__ */ K("span", {
|
|
1312
1326
|
className: "sr-only",
|
|
1313
1327
|
children: [t("bento.diff.removedStart", { defaultValue: "removed:" }), " "]
|
|
1314
1328
|
}), e]
|
|
@@ -1316,7 +1330,7 @@ function tn({ children: e }) {
|
|
|
1316
1330
|
}
|
|
1317
1331
|
//#endregion
|
|
1318
1332
|
//#region src/bento/bento-split-page.tsx
|
|
1319
|
-
var
|
|
1333
|
+
var rn = ["primary", "secondary"], an = {
|
|
1320
1334
|
getItem: (e) => {
|
|
1321
1335
|
try {
|
|
1322
1336
|
return window.localStorage.getItem(e);
|
|
@@ -1329,69 +1343,69 @@ var nn = ["primary", "secondary"], rn = {
|
|
|
1329
1343
|
window.localStorage.setItem(e, t);
|
|
1330
1344
|
} catch {}
|
|
1331
1345
|
}
|
|
1332
|
-
},
|
|
1346
|
+
}, on = {
|
|
1333
1347
|
getItem: () => null,
|
|
1334
1348
|
setItem: () => {}
|
|
1335
1349
|
};
|
|
1336
|
-
function
|
|
1337
|
-
let { t: c } =
|
|
1350
|
+
function sn({ primary: t, secondary: n, primaryLabel: r, secondaryLabel: i, storageKey: a, defaultRatio: o = 50, className: s }) {
|
|
1351
|
+
let { t: c } = q(), u = O(), d = Ve({
|
|
1338
1352
|
id: a ?? "bento-split-page",
|
|
1339
|
-
panelIds:
|
|
1340
|
-
storage: a ?
|
|
1353
|
+
panelIds: rn,
|
|
1354
|
+
storage: a ? an : on
|
|
1341
1355
|
});
|
|
1342
|
-
return u ? /* @__PURE__ */
|
|
1356
|
+
return u ? /* @__PURE__ */ K(j, {
|
|
1343
1357
|
"data-slot": "bento-split-page",
|
|
1344
1358
|
defaultValue: "primary",
|
|
1345
1359
|
className: e("flex flex-col gap-3", s),
|
|
1346
1360
|
children: [
|
|
1347
|
-
/* @__PURE__ */
|
|
1361
|
+
/* @__PURE__ */ K(ee, {
|
|
1348
1362
|
"aria-label": c("bento.split.switch", { defaultValue: "Show" }),
|
|
1349
1363
|
className: "self-start",
|
|
1350
|
-
children: [/* @__PURE__ */
|
|
1364
|
+
children: [/* @__PURE__ */ G(E, {
|
|
1351
1365
|
value: "primary",
|
|
1352
1366
|
children: r
|
|
1353
|
-
}), /* @__PURE__ */
|
|
1367
|
+
}), /* @__PURE__ */ G(E, {
|
|
1354
1368
|
value: "secondary",
|
|
1355
1369
|
children: i
|
|
1356
1370
|
})]
|
|
1357
1371
|
}),
|
|
1358
|
-
/* @__PURE__ */
|
|
1372
|
+
/* @__PURE__ */ G(L, {
|
|
1359
1373
|
value: "primary",
|
|
1360
1374
|
forceMount: !0,
|
|
1361
1375
|
className: "data-[state=inactive]:hidden",
|
|
1362
1376
|
children: t
|
|
1363
1377
|
}),
|
|
1364
|
-
/* @__PURE__ */
|
|
1378
|
+
/* @__PURE__ */ G(L, {
|
|
1365
1379
|
value: "secondary",
|
|
1366
1380
|
forceMount: !0,
|
|
1367
1381
|
className: "data-[state=inactive]:hidden",
|
|
1368
1382
|
children: n
|
|
1369
1383
|
})
|
|
1370
1384
|
]
|
|
1371
|
-
}) : /* @__PURE__ */
|
|
1385
|
+
}) : /* @__PURE__ */ G("div", {
|
|
1372
1386
|
"data-slot": "bento-split-page",
|
|
1373
1387
|
className: e("h-[var(--bento-split-height,calc(100dvh-12rem))] min-h-80", s),
|
|
1374
|
-
children: /* @__PURE__ */
|
|
1388
|
+
children: /* @__PURE__ */ K(re, {
|
|
1375
1389
|
orientation: "horizontal",
|
|
1376
1390
|
defaultLayout: d.defaultLayout,
|
|
1377
1391
|
onLayoutChanged: d.onLayoutChanged,
|
|
1378
1392
|
children: [
|
|
1379
|
-
/* @__PURE__ */
|
|
1393
|
+
/* @__PURE__ */ G(l, {
|
|
1380
1394
|
id: "primary",
|
|
1381
1395
|
defaultSize: `${o}`,
|
|
1382
1396
|
minSize: "25",
|
|
1383
|
-
children: /* @__PURE__ */
|
|
1397
|
+
children: /* @__PURE__ */ G("section", {
|
|
1384
1398
|
"aria-label": r,
|
|
1385
1399
|
className: "h-full overflow-y-auto pr-3",
|
|
1386
1400
|
children: t
|
|
1387
1401
|
})
|
|
1388
1402
|
}),
|
|
1389
|
-
/* @__PURE__ */
|
|
1390
|
-
/* @__PURE__ */
|
|
1403
|
+
/* @__PURE__ */ G(b, { withHandle: !0 }),
|
|
1404
|
+
/* @__PURE__ */ G(l, {
|
|
1391
1405
|
id: "secondary",
|
|
1392
1406
|
defaultSize: `${100 - o}`,
|
|
1393
1407
|
minSize: "25",
|
|
1394
|
-
children: /* @__PURE__ */
|
|
1408
|
+
children: /* @__PURE__ */ G("section", {
|
|
1395
1409
|
"aria-label": i,
|
|
1396
1410
|
className: "h-full overflow-y-auto pl-3",
|
|
1397
1411
|
children: n
|
|
@@ -1403,22 +1417,22 @@ function on({ primary: t, secondary: n, primaryLabel: r, secondaryLabel: i, stor
|
|
|
1403
1417
|
}
|
|
1404
1418
|
//#endregion
|
|
1405
1419
|
//#region src/bento/bento-calendar.tsx
|
|
1406
|
-
var Z = ({ y: e, m: t, d: n }) => `${e}-${String(t).padStart(2, "0")}-${String(n).padStart(2, "0")}`, Q = ({ y: e, m: t, d: n }) => Date.UTC(e, t - 1, n),
|
|
1420
|
+
var Z = ({ y: e, m: t, d: n }) => `${e}-${String(t).padStart(2, "0")}-${String(n).padStart(2, "0")}`, Q = ({ y: e, m: t, d: n }) => Date.UTC(e, t - 1, n), cn = (e) => {
|
|
1407
1421
|
let t = new Date(e);
|
|
1408
1422
|
return {
|
|
1409
1423
|
y: t.getUTCFullYear(),
|
|
1410
1424
|
m: t.getUTCMonth() + 1,
|
|
1411
1425
|
d: t.getUTCDate()
|
|
1412
1426
|
};
|
|
1413
|
-
}, $ = (e, t) =>
|
|
1427
|
+
}, $ = (e, t) => cn(Q(e) + t * 864e5), ln = (e, t) => {
|
|
1414
1428
|
let n = new Date(Date.UTC(e.y, e.m - 1 + t, 1)), r = new Date(Date.UTC(n.getUTCFullYear(), n.getUTCMonth() + 1, 0)).getUTCDate();
|
|
1415
1429
|
return {
|
|
1416
1430
|
y: n.getUTCFullYear(),
|
|
1417
1431
|
m: n.getUTCMonth() + 1,
|
|
1418
1432
|
d: Math.min(e.d, r)
|
|
1419
1433
|
};
|
|
1420
|
-
},
|
|
1421
|
-
function
|
|
1434
|
+
}, un = (e) => new Date(Q(e)).getUTCDay();
|
|
1435
|
+
function dn(e, t) {
|
|
1422
1436
|
let n = new Intl.DateTimeFormat("en-US", {
|
|
1423
1437
|
timeZone: t,
|
|
1424
1438
|
year: "numeric",
|
|
@@ -1438,112 +1452,112 @@ function un(e, t) {
|
|
|
1438
1452
|
s: r("second")
|
|
1439
1453
|
};
|
|
1440
1454
|
}
|
|
1441
|
-
function
|
|
1455
|
+
function fn(e, t, n, r, i, a) {
|
|
1442
1456
|
let o = Date.UTC(e.y, e.m - 1, e.d, t, n, r), s = (e) => {
|
|
1443
|
-
let t =
|
|
1457
|
+
let t = dn(e, a);
|
|
1444
1458
|
return Date.UTC(t.y, t.m - 1, t.d, t.h, t.mi, t.s) - Math.floor(e / 1e3) * 1e3;
|
|
1445
1459
|
}, c = o - s(o), l = s(c);
|
|
1446
1460
|
return o - l !== c && (c = o - l), new Date(c + i);
|
|
1447
1461
|
}
|
|
1448
|
-
var
|
|
1462
|
+
var pn = {
|
|
1449
1463
|
on: "bento-status bento-status-on",
|
|
1450
1464
|
warn: "bento-status bento-status-warn",
|
|
1451
1465
|
error: "bento-status bento-status-error"
|
|
1452
1466
|
};
|
|
1453
|
-
function
|
|
1454
|
-
let { t: p, i18n: m } =
|
|
1455
|
-
let t =
|
|
1467
|
+
function mn({ entries: t, view: n, defaultView: r = "month", onViewChange: i, defaultDate: a, timeZone: o = Intl.DateTimeFormat().resolvedOptions().timeZone, weekStartsOn: s = 0, onEntryMove: c, onEntrySelect: l, onRangeChange: u, label: d, className: f }) {
|
|
1468
|
+
let { t: p, i18n: m } = q(), h = m?.resolvedLanguage ?? m?.language, g = (e) => {
|
|
1469
|
+
let t = dn(new Date(e).getTime(), o);
|
|
1456
1470
|
return {
|
|
1457
1471
|
y: t.y,
|
|
1458
1472
|
m: t.m,
|
|
1459
1473
|
d: t.d
|
|
1460
1474
|
};
|
|
1461
|
-
}, [_, v] =
|
|
1475
|
+
}, [_, v] = H(r), y = n ?? _, [b, x] = H(() => g(a ?? Date.now())), [S, C] = H(null), [w, T] = H(null), [ee, E] = H(""), D = V(/* @__PURE__ */ new Map()), O = V(!1), k = ce(), [A] = H(() => Z(g(Date.now()))), j = (e) => $(e, -((un(e) - s + 7) % 7)), M = j(y === "month" ? {
|
|
1462
1476
|
...b,
|
|
1463
1477
|
d: 1
|
|
1464
|
-
} : b),
|
|
1478
|
+
} : b), N = y === "month" ? Math.ceil((Q(ln({
|
|
1465
1479
|
...b,
|
|
1466
1480
|
d: 1
|
|
1467
|
-
}, 1)) - Q(
|
|
1468
|
-
|
|
1481
|
+
}, 1)) - Q(M)) / 6048e5) : 1, te = Array.from({ length: N }, (e, t) => Array.from({ length: 7 }, (e, n) => $(M, t * 7 + n))), P = $(M, N * 7), F = `${Z(M)}/${Z(P)}`;
|
|
1482
|
+
B(() => {
|
|
1469
1483
|
u?.({
|
|
1470
|
-
start:
|
|
1471
|
-
end:
|
|
1484
|
+
start: fn(M, 0, 0, 0, 0, o),
|
|
1485
|
+
end: fn(P, 0, 0, 0, 0, o)
|
|
1472
1486
|
});
|
|
1473
|
-
}, [
|
|
1474
|
-
|
|
1487
|
+
}, [F, o]), B(() => {
|
|
1488
|
+
O.current && (O.current = !1, D.current.get(Z(b))?.focus());
|
|
1475
1489
|
});
|
|
1476
|
-
let
|
|
1490
|
+
let I = /* @__PURE__ */ new Map();
|
|
1477
1491
|
for (let e of t) {
|
|
1478
1492
|
let t = new Date(e.start).getTime();
|
|
1479
1493
|
if (Number.isNaN(t)) continue;
|
|
1480
|
-
let n = Z(g(t)), r =
|
|
1494
|
+
let n = Z(g(t)), r = I.get(n) ?? [];
|
|
1481
1495
|
r.push({
|
|
1482
1496
|
entry: e,
|
|
1483
1497
|
time: t
|
|
1484
|
-
}),
|
|
1498
|
+
}), I.set(n, r);
|
|
1485
1499
|
}
|
|
1486
|
-
for (let e of
|
|
1487
|
-
let
|
|
1500
|
+
for (let e of I.values()) e.sort((e, t) => e.time - t.time);
|
|
1501
|
+
let L = (e) => new Intl.DateTimeFormat(h, {
|
|
1488
1502
|
...e,
|
|
1489
1503
|
timeZone: "UTC"
|
|
1490
|
-
}),
|
|
1504
|
+
}), ne = (e) => L({ dateStyle: "full" }).format(Q(e)), re = (e) => new Intl.DateTimeFormat(h, {
|
|
1491
1505
|
timeStyle: "short",
|
|
1492
1506
|
timeZone: o
|
|
1493
|
-
}).format(e),
|
|
1507
|
+
}).format(e), ie = y === "month" ? L({
|
|
1494
1508
|
month: "long",
|
|
1495
1509
|
year: "numeric"
|
|
1496
1510
|
}).format(Q({
|
|
1497
1511
|
...b,
|
|
1498
1512
|
d: 1
|
|
1499
|
-
})) : `${
|
|
1500
|
-
function
|
|
1501
|
-
|
|
1513
|
+
})) : `${L({ dateStyle: "medium" }).format(Q(M))} – ${L({ dateStyle: "medium" }).format(Q($(P, -1)))}`;
|
|
1514
|
+
function ae(e) {
|
|
1515
|
+
O.current = !0, x(e);
|
|
1502
1516
|
}
|
|
1503
|
-
function
|
|
1517
|
+
function oe(e) {
|
|
1504
1518
|
n === void 0 && v(e), i?.(e);
|
|
1505
1519
|
}
|
|
1506
|
-
let
|
|
1507
|
-
function
|
|
1520
|
+
let R = (e) => y === "month" ? ln(b, e) : $(b, 7 * e);
|
|
1521
|
+
function z(e, n) {
|
|
1508
1522
|
let r = t.find((t) => t.id === e);
|
|
1509
1523
|
if (!r || !c) return;
|
|
1510
|
-
let i = new Date(r.start).getTime(), a =
|
|
1511
|
-
Z(a) !== Z(n) && c(e,
|
|
1524
|
+
let i = new Date(r.start).getTime(), a = dn(i, o);
|
|
1525
|
+
Z(a) !== Z(n) && c(e, fn(n, a.h, a.mi, a.s, i % 1e3, o)), E(p("bento.calendar.moved", {
|
|
1512
1526
|
defaultValue: "Moved {{label}} to {{day}}.",
|
|
1513
1527
|
label: r.label,
|
|
1514
|
-
day:
|
|
1528
|
+
day: ne(n)
|
|
1515
1529
|
}));
|
|
1516
1530
|
}
|
|
1517
|
-
function
|
|
1531
|
+
function se(e, n) {
|
|
1518
1532
|
let r = {
|
|
1519
1533
|
ArrowLeft: () => $(n, -1),
|
|
1520
1534
|
ArrowRight: () => $(n, 1),
|
|
1521
1535
|
ArrowUp: () => $(n, -7),
|
|
1522
1536
|
ArrowDown: () => $(n, 7),
|
|
1523
|
-
Home: () =>
|
|
1524
|
-
End: () => $(
|
|
1525
|
-
PageUp: () =>
|
|
1526
|
-
PageDown: () =>
|
|
1537
|
+
Home: () => j(n),
|
|
1538
|
+
End: () => $(j(n), 6),
|
|
1539
|
+
PageUp: () => R(-1),
|
|
1540
|
+
PageDown: () => R(1)
|
|
1527
1541
|
}[e.key];
|
|
1528
1542
|
if (r) {
|
|
1529
|
-
e.preventDefault(),
|
|
1543
|
+
e.preventDefault(), ae(r());
|
|
1530
1544
|
return;
|
|
1531
1545
|
}
|
|
1532
|
-
if (S && (e.key === "Enter" || e.key === " ")) e.preventDefault(),
|
|
1546
|
+
if (S && (e.key === "Enter" || e.key === " ")) e.preventDefault(), z(S, n), C(null);
|
|
1533
1547
|
else if (S && e.key === "Escape") {
|
|
1534
1548
|
e.preventDefault();
|
|
1535
1549
|
let n = t.find((e) => e.id === S);
|
|
1536
|
-
C(null),
|
|
1550
|
+
C(null), E(p("bento.calendar.cancelled", {
|
|
1537
1551
|
defaultValue: "Put {{label}} back.",
|
|
1538
1552
|
label: n?.label ?? ""
|
|
1539
1553
|
}));
|
|
1540
1554
|
} else e.key === "Enter" && (e.preventDefault(), e.currentTarget.querySelector("button")?.focus());
|
|
1541
1555
|
}
|
|
1542
|
-
function
|
|
1556
|
+
function le(e, t) {
|
|
1543
1557
|
let n = e.currentTarget.closest("td"), r = n ? [...n.querySelectorAll("button")] : [], i = r.indexOf(e.currentTarget), a = c && (e.key === " " || e.key === "Enter" && !l);
|
|
1544
1558
|
if (e.key === "ArrowDown" || e.key === "ArrowUp") r[i + (e.key === "ArrowDown" ? 1 : -1)]?.focus();
|
|
1545
1559
|
else if (e.key === "Escape") n?.focus();
|
|
1546
|
-
else if (a) C(t.id),
|
|
1560
|
+
else if (a) C(t.id), E(p("bento.calendar.picked", {
|
|
1547
1561
|
defaultValue: "Picked up {{label}}. Choose a day and press Enter.",
|
|
1548
1562
|
label: t.label
|
|
1549
1563
|
})), n?.focus();
|
|
@@ -1551,129 +1565,129 @@ function pn({ entries: t, view: n, defaultView: r = "month", onViewChange: i, de
|
|
|
1551
1565
|
else return;
|
|
1552
1566
|
e.preventDefault(), e.stopPropagation();
|
|
1553
1567
|
}
|
|
1554
|
-
function
|
|
1568
|
+
function U(e, t) {
|
|
1555
1569
|
let n = w ?? e.dataTransfer.getData("text/plain");
|
|
1556
|
-
T(null), n && (e.preventDefault(),
|
|
1570
|
+
T(null), n && (e.preventDefault(), z(n, t));
|
|
1557
1571
|
}
|
|
1558
|
-
let
|
|
1559
|
-
return /* @__PURE__ */
|
|
1572
|
+
let W = c ? k : void 0;
|
|
1573
|
+
return /* @__PURE__ */ K("div", {
|
|
1560
1574
|
"data-slot": "bento-calendar",
|
|
1561
1575
|
className: e("flex flex-col gap-3", f),
|
|
1562
1576
|
children: [
|
|
1563
|
-
/* @__PURE__ */
|
|
1577
|
+
/* @__PURE__ */ K("div", {
|
|
1564
1578
|
className: "flex flex-wrap items-center justify-between gap-2",
|
|
1565
|
-
children: [/* @__PURE__ */
|
|
1579
|
+
children: [/* @__PURE__ */ K("div", {
|
|
1566
1580
|
className: "flex items-center gap-1",
|
|
1567
1581
|
children: [
|
|
1568
|
-
/* @__PURE__ */
|
|
1582
|
+
/* @__PURE__ */ G(hn, {
|
|
1569
1583
|
label: p("bento.calendar.previous", { defaultValue: "Previous" }),
|
|
1570
|
-
onClick: () => x(
|
|
1571
|
-
children: /* @__PURE__ */
|
|
1584
|
+
onClick: () => x(R(-1)),
|
|
1585
|
+
children: /* @__PURE__ */ G(be, {
|
|
1572
1586
|
size: 16,
|
|
1573
1587
|
"aria-hidden": "true"
|
|
1574
1588
|
})
|
|
1575
1589
|
}),
|
|
1576
|
-
/* @__PURE__ */
|
|
1590
|
+
/* @__PURE__ */ G(hn, {
|
|
1577
1591
|
label: p("bento.calendar.next", { defaultValue: "Next" }),
|
|
1578
|
-
onClick: () => x(
|
|
1579
|
-
children: /* @__PURE__ */
|
|
1592
|
+
onClick: () => x(R(1)),
|
|
1593
|
+
children: /* @__PURE__ */ G(Y, {
|
|
1580
1594
|
size: 16,
|
|
1581
1595
|
"aria-hidden": "true"
|
|
1582
1596
|
})
|
|
1583
1597
|
}),
|
|
1584
|
-
/* @__PURE__ */
|
|
1598
|
+
/* @__PURE__ */ G("button", {
|
|
1585
1599
|
type: "button",
|
|
1586
1600
|
onClick: () => x(g(Date.now())),
|
|
1587
1601
|
className: "rounded-md border border-border px-2 py-1 text-sm hover:bg-muted/50 focus-visible:outline-2 focus-visible:outline-ring",
|
|
1588
1602
|
children: p("bento.calendar.today", { defaultValue: "Today" })
|
|
1589
1603
|
}),
|
|
1590
|
-
/* @__PURE__ */
|
|
1604
|
+
/* @__PURE__ */ G("h2", {
|
|
1591
1605
|
className: "m-0 ml-2 text-base font-semibold",
|
|
1592
1606
|
"aria-live": "polite",
|
|
1593
|
-
children:
|
|
1607
|
+
children: ie
|
|
1594
1608
|
})
|
|
1595
1609
|
]
|
|
1596
|
-
}), /* @__PURE__ */
|
|
1610
|
+
}), /* @__PURE__ */ G("div", {
|
|
1597
1611
|
role: "group",
|
|
1598
1612
|
"aria-label": p("bento.calendar.views", { defaultValue: "View" }),
|
|
1599
1613
|
className: "flex rounded-md border border-border p-0.5",
|
|
1600
|
-
children: ["month", "week"].map((t) => /* @__PURE__ */
|
|
1614
|
+
children: ["month", "week"].map((t) => /* @__PURE__ */ G("button", {
|
|
1601
1615
|
type: "button",
|
|
1602
1616
|
"aria-pressed": y === t ? "true" : "false",
|
|
1603
|
-
onClick: () =>
|
|
1604
|
-
className: e("rounded px-2 py-0.5 text-sm focus-visible:outline-2 focus-visible:outline-ring", y === t ? "bg-primary text-primary-foreground" : "hover:bg-muted/50"),
|
|
1617
|
+
onClick: () => oe(t),
|
|
1618
|
+
className: e("rounded-sm px-2 py-0.5 text-sm focus-visible:outline-2 focus-visible:outline-ring", y === t ? "bg-primary text-primary-foreground" : "hover:bg-muted/50"),
|
|
1605
1619
|
children: t === "month" ? p("bento.calendar.month", { defaultValue: "Month" }) : p("bento.calendar.week", { defaultValue: "Week" })
|
|
1606
1620
|
}, t))
|
|
1607
1621
|
})]
|
|
1608
1622
|
}),
|
|
1609
|
-
/* @__PURE__ */
|
|
1623
|
+
/* @__PURE__ */ G("span", {
|
|
1610
1624
|
role: "status",
|
|
1611
1625
|
"aria-live": "polite",
|
|
1612
1626
|
className: "sr-only",
|
|
1613
|
-
children:
|
|
1627
|
+
children: ee
|
|
1614
1628
|
}),
|
|
1615
|
-
|
|
1616
|
-
id:
|
|
1629
|
+
W && /* @__PURE__ */ G("span", {
|
|
1630
|
+
id: W,
|
|
1617
1631
|
className: "sr-only",
|
|
1618
1632
|
children: p("bento.calendar.moveHint", { defaultValue: "Space picks this up to move it: the arrow keys choose a day, Enter drops it and Escape cancels." })
|
|
1619
1633
|
}),
|
|
1620
|
-
/* @__PURE__ */
|
|
1634
|
+
/* @__PURE__ */ K("table", {
|
|
1621
1635
|
role: "grid",
|
|
1622
|
-
"aria-label": d ??
|
|
1636
|
+
"aria-label": d ?? ie,
|
|
1623
1637
|
className: "w-full table-fixed border-collapse text-sm",
|
|
1624
|
-
children: [/* @__PURE__ */
|
|
1638
|
+
children: [/* @__PURE__ */ G("thead", { children: /* @__PURE__ */ G("tr", { children: te[0].map((e) => /* @__PURE__ */ G("th", {
|
|
1625
1639
|
scope: "col",
|
|
1626
|
-
abbr:
|
|
1640
|
+
abbr: L({ weekday: "long" }).format(Q(e)),
|
|
1627
1641
|
className: "pb-1 text-xs font-medium text-muted-foreground",
|
|
1628
|
-
children:
|
|
1629
|
-
}, Z(e))) }) }), /* @__PURE__ */
|
|
1630
|
-
let n = Z(t), r =
|
|
1631
|
-
return /* @__PURE__ */
|
|
1642
|
+
children: L({ weekday: "short" }).format(Q(e))
|
|
1643
|
+
}, Z(e))) }) }), /* @__PURE__ */ G("tbody", { children: te.map((t) => /* @__PURE__ */ G("tr", { children: t.map((t) => {
|
|
1644
|
+
let n = Z(t), r = I.get(n) ?? [], i = n === Z(b), a = y === "month" && t.m !== b.m, o = r.length;
|
|
1645
|
+
return /* @__PURE__ */ K("td", {
|
|
1632
1646
|
ref: (e) => {
|
|
1633
|
-
e ?
|
|
1647
|
+
e ? D.current.set(n, e) : D.current.delete(n);
|
|
1634
1648
|
},
|
|
1635
1649
|
role: "gridcell",
|
|
1636
1650
|
tabIndex: i ? 0 : -1,
|
|
1637
|
-
"aria-label": o > 0 ? `${
|
|
1651
|
+
"aria-label": o > 0 ? `${ne(t)}, ${p("bento.calendar.entries", {
|
|
1638
1652
|
defaultValue: "{{count}} scheduled",
|
|
1639
1653
|
count: o
|
|
1640
|
-
})}` :
|
|
1641
|
-
"aria-current": n ===
|
|
1654
|
+
})}` : ne(t),
|
|
1655
|
+
"aria-current": n === A ? "date" : void 0,
|
|
1642
1656
|
"data-day": n,
|
|
1643
|
-
onKeyDown: (e) =>
|
|
1657
|
+
onKeyDown: (e) => se(e, t),
|
|
1644
1658
|
onFocus: () => {
|
|
1645
1659
|
i || x(t);
|
|
1646
1660
|
},
|
|
1647
1661
|
onDragOver: (e) => {
|
|
1648
1662
|
w && e.preventDefault();
|
|
1649
1663
|
},
|
|
1650
|
-
onDrop: (e) =>
|
|
1664
|
+
onDrop: (e) => U(e, t),
|
|
1651
1665
|
className: e("border border-border/60 p-1 align-top outline-none", y === "month" ? "h-24" : "h-48", "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring", S && i && "bg-primary/10"),
|
|
1652
|
-
children: [/* @__PURE__ */
|
|
1666
|
+
children: [/* @__PURE__ */ G("span", {
|
|
1653
1667
|
"aria-hidden": "true",
|
|
1654
|
-
className: e("mb-1 inline-grid size-6 place-items-center rounded-full text-xs", n ===
|
|
1668
|
+
className: e("mb-1 inline-grid size-6 place-items-center rounded-full text-xs", n === A && "bg-primary font-semibold text-primary-foreground", n !== A && a && "text-muted-foreground"),
|
|
1655
1669
|
children: t.d
|
|
1656
|
-
}), /* @__PURE__ */
|
|
1670
|
+
}), /* @__PURE__ */ G("ul", {
|
|
1657
1671
|
className: "m-0 flex list-none flex-col gap-0.5 p-0",
|
|
1658
|
-
children: r.map(({ entry: t, time: n }) => /* @__PURE__ */
|
|
1672
|
+
children: r.map(({ entry: t, time: n }) => /* @__PURE__ */ G("li", { children: /* @__PURE__ */ K("button", {
|
|
1659
1673
|
type: "button",
|
|
1660
1674
|
tabIndex: -1,
|
|
1661
1675
|
draggable: c ? !0 : void 0,
|
|
1662
|
-
"aria-describedby":
|
|
1676
|
+
"aria-describedby": W,
|
|
1663
1677
|
"aria-pressed": c ? S === t.id ? "true" : "false" : void 0,
|
|
1664
1678
|
"data-entry": t.id,
|
|
1665
|
-
onKeyDown: (e) =>
|
|
1679
|
+
onKeyDown: (e) => le(e, t),
|
|
1666
1680
|
onClick: () => l?.(t.id),
|
|
1667
1681
|
onDragStart: (e) => {
|
|
1668
1682
|
e.dataTransfer.setData("text/plain", t.id), e.dataTransfer.effectAllowed = "move", T(t.id);
|
|
1669
1683
|
},
|
|
1670
1684
|
onDragEnd: () => T(null),
|
|
1671
|
-
className: e("flex w-full min-w-0 items-baseline gap-1 rounded-md px-1 py-0.5 text-left text-xs focus-visible:outline-2 focus-visible:outline-ring", t.tone ?
|
|
1672
|
-
children: [/* @__PURE__ */
|
|
1685
|
+
className: e("flex w-full min-w-0 items-baseline gap-1 rounded-md px-1 py-0.5 text-left text-xs focus-visible:outline-2 focus-visible:outline-ring", t.tone ? pn[t.tone] : "bg-muted", S === t.id && "outline-2 outline-dashed outline-primary"),
|
|
1686
|
+
children: [/* @__PURE__ */ G("time", {
|
|
1673
1687
|
dateTime: new Date(n).toISOString(),
|
|
1674
1688
|
className: "flex-none tabular-nums",
|
|
1675
|
-
children:
|
|
1676
|
-
}), /* @__PURE__ */
|
|
1689
|
+
children: re(n)
|
|
1690
|
+
}), /* @__PURE__ */ G("span", {
|
|
1677
1691
|
className: "truncate",
|
|
1678
1692
|
children: t.label
|
|
1679
1693
|
})]
|
|
@@ -1685,8 +1699,8 @@ function pn({ entries: t, view: n, defaultView: r = "month", onViewChange: i, de
|
|
|
1685
1699
|
]
|
|
1686
1700
|
});
|
|
1687
1701
|
}
|
|
1688
|
-
function
|
|
1689
|
-
return /* @__PURE__ */
|
|
1702
|
+
function hn({ label: e, onClick: t, children: n }) {
|
|
1703
|
+
return /* @__PURE__ */ G("button", {
|
|
1690
1704
|
type: "button",
|
|
1691
1705
|
"aria-label": e,
|
|
1692
1706
|
onClick: t,
|
|
@@ -1696,20 +1710,20 @@ function mn({ label: e, onClick: t, children: n }) {
|
|
|
1696
1710
|
}
|
|
1697
1711
|
//#endregion
|
|
1698
1712
|
//#region src/bento/bento-layout.ts
|
|
1699
|
-
var
|
|
1713
|
+
var gn = {
|
|
1700
1714
|
LARGE: "col-span-2 row-span-2 md:col-span-2 md:row-span-2 lg:col-span-2 lg:row-span-2",
|
|
1701
1715
|
MEDIUM: "col-span-2 row-span-1 md:col-span-2 md:row-span-1 lg:col-span-2 lg:row-span-1",
|
|
1702
1716
|
SMALL: "col-span-1 row-span-1"
|
|
1703
|
-
},
|
|
1717
|
+
}, _n = {
|
|
1704
1718
|
SMALL: "MEDIUM",
|
|
1705
1719
|
MEDIUM: "LARGE",
|
|
1706
1720
|
LARGE: "SMALL"
|
|
1707
1721
|
};
|
|
1708
|
-
function
|
|
1709
|
-
if (!n || n.length === 0) return e.map((e
|
|
1722
|
+
function vn(e, t, n) {
|
|
1723
|
+
if (!n || n.length === 0) return e.map((e) => ({
|
|
1710
1724
|
item: e,
|
|
1711
1725
|
key: t(e),
|
|
1712
|
-
emphasis:
|
|
1726
|
+
emphasis: "MEDIUM"
|
|
1713
1727
|
}));
|
|
1714
1728
|
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
1715
1729
|
for (let e of n) r.set(e.itemId, e.displayOrder), i.set(e.itemId, e.emphasis);
|
|
@@ -1726,7 +1740,7 @@ function _n(e, t, n) {
|
|
|
1726
1740
|
emphasis: i.get(t) ?? "MEDIUM"
|
|
1727
1741
|
}));
|
|
1728
1742
|
}
|
|
1729
|
-
function
|
|
1743
|
+
function yn(e) {
|
|
1730
1744
|
return e.map((e, t) => ({
|
|
1731
1745
|
itemId: e.key,
|
|
1732
1746
|
emphasis: e.emphasis,
|
|
@@ -1735,75 +1749,69 @@ function vn(e) {
|
|
|
1735
1749
|
}
|
|
1736
1750
|
//#endregion
|
|
1737
1751
|
//#region src/bento/bento-entity-tile.tsx
|
|
1738
|
-
function
|
|
1739
|
-
let { t: f } =
|
|
1740
|
-
return /* @__PURE__ */
|
|
1752
|
+
function bn({ to: e, emphasis: t, featured: n, defaultIcon: r, icon: i, title: a, description: o, meta: s, state: c, enabled: l, hasStatus: u = !1, viewTransitionName: d }) {
|
|
1753
|
+
let { t: f } = q(), p = t ?? (n ? "LARGE" : "MEDIUM"), m = p === "LARGE", h = p === "SMALL", g = gn[p], _ = l === 1, v = m ? "p-6 md:p-7" : h ? "p-4" : "p-5", y = m ? "h-14 w-14" : h ? "h-8 w-8" : "h-9 w-9", b = m ? 28 : h ? 16 : 18, x = m ? "text-xl md:text-2xl" : h ? "text-sm" : "text-base md:text-lg";
|
|
1754
|
+
return /* @__PURE__ */ K(He, {
|
|
1741
1755
|
to: e,
|
|
1742
|
-
className: `bento-tile bento-tile-clickable bento-glass group relative flex flex-col ${
|
|
1756
|
+
className: `bento-tile bento-tile-clickable bento-glass group relative flex flex-col ${m ? "gap-5" : "gap-4"} overflow-hidden ${v} ${g}`,
|
|
1743
1757
|
style: d ? { viewTransitionName: d } : void 0,
|
|
1744
|
-
children: [
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
className: `
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
/* @__PURE__ */
|
|
1753
|
-
className:
|
|
1754
|
-
children: [/* @__PURE__ */
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
className: "mt-2 text-sm text-muted-foreground",
|
|
1778
|
-
children: s
|
|
1779
|
-
})
|
|
1780
|
-
]
|
|
1781
|
-
})
|
|
1782
|
-
]
|
|
1758
|
+
children: [/* @__PURE__ */ K("div", {
|
|
1759
|
+
className: "relative z-1 flex items-center justify-between",
|
|
1760
|
+
children: [/* @__PURE__ */ G("span", {
|
|
1761
|
+
className: `bento-well grid place-items-center rounded-2xl ${y}`,
|
|
1762
|
+
children: i ? /* @__PURE__ */ G(Be, {
|
|
1763
|
+
icon: i,
|
|
1764
|
+
className: m ? "size-7" : "size-4.5"
|
|
1765
|
+
}) : /* @__PURE__ */ G(r, { size: b })
|
|
1766
|
+
}), u && /* @__PURE__ */ K("span", {
|
|
1767
|
+
className: `flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[10px] uppercase tracking-wider ${_ ? "bento-status bento-status-on" : "border-border bg-muted text-muted-foreground"}`,
|
|
1768
|
+
children: [/* @__PURE__ */ G("span", { className: `h-1.5 w-1.5 rounded-full ${_ ? "bento-status-dot bento-pulse" : "bg-muted-foreground/60"}` }), _ ? f("common.active", { defaultValue: "Active" }) : f("common.idle", { defaultValue: "Idle" })]
|
|
1769
|
+
})]
|
|
1770
|
+
}), /* @__PURE__ */ K("div", {
|
|
1771
|
+
className: "relative z-1",
|
|
1772
|
+
children: [
|
|
1773
|
+
/* @__PURE__ */ G("div", {
|
|
1774
|
+
className: `font-semibold tracking-tight ${x}`,
|
|
1775
|
+
children: a
|
|
1776
|
+
}),
|
|
1777
|
+
!h && s && /* @__PURE__ */ G("div", {
|
|
1778
|
+
className: "mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground",
|
|
1779
|
+
children: s
|
|
1780
|
+
}),
|
|
1781
|
+
!h && o && /* @__PURE__ */ G("p", {
|
|
1782
|
+
className: "mt-2 text-sm text-muted-foreground",
|
|
1783
|
+
children: o
|
|
1784
|
+
}),
|
|
1785
|
+
c && /* @__PURE__ */ G(Dt, {
|
|
1786
|
+
state: c,
|
|
1787
|
+
className: "mt-3"
|
|
1788
|
+
})
|
|
1789
|
+
]
|
|
1790
|
+
})]
|
|
1783
1791
|
});
|
|
1784
1792
|
}
|
|
1785
1793
|
//#endregion
|
|
1786
1794
|
//#region src/bento/bento-filter-bar.tsx
|
|
1787
|
-
var
|
|
1795
|
+
var xn = {
|
|
1788
1796
|
query: "",
|
|
1789
1797
|
facets: {}
|
|
1790
|
-
},
|
|
1791
|
-
function
|
|
1798
|
+
}, Sn = (e) => typeof e == "object" && !!e && !Array.isArray(e), Cn = (e) => Array.isArray(e) ? e : [];
|
|
1799
|
+
function wn(e, t, n) {
|
|
1792
1800
|
let r = { ...e.facets };
|
|
1793
|
-
return n === void 0 || Array.isArray(n) && n.length === 0 ||
|
|
1801
|
+
return n === void 0 || Array.isArray(n) && n.length === 0 || Sn(n) && !n.from && !n.to ? delete r[t] : r[t] = n, {
|
|
1794
1802
|
...e,
|
|
1795
1803
|
facets: r
|
|
1796
1804
|
};
|
|
1797
1805
|
}
|
|
1798
|
-
function
|
|
1799
|
-
let { t: s } =
|
|
1806
|
+
function Tn({ value: e, onChange: n, facets: r, queryLabel: i, queryDelay: a = 300, views: o }) {
|
|
1807
|
+
let { t: s } = q(), [c, l] = H({
|
|
1800
1808
|
source: e.query,
|
|
1801
1809
|
text: e.query
|
|
1802
|
-
}), [u, d] =
|
|
1810
|
+
}), [u, d] = H(null);
|
|
1803
1811
|
c.source !== e.query && l({
|
|
1804
1812
|
source: e.query,
|
|
1805
1813
|
text: e.query === u ? c.text : e.query
|
|
1806
|
-
}),
|
|
1814
|
+
}), B(() => {
|
|
1807
1815
|
if (c.text === e.query) return;
|
|
1808
1816
|
let t = setTimeout(() => {
|
|
1809
1817
|
d(c.text), n({
|
|
@@ -1821,36 +1829,36 @@ function wn({ value: e, onChange: n, facets: r, queryLabel: i, queryDelay: a = 3
|
|
|
1821
1829
|
let f = [];
|
|
1822
1830
|
for (let t of r) {
|
|
1823
1831
|
let n = e.facets[t.id];
|
|
1824
|
-
if (t.kind === "choice") for (let r of
|
|
1832
|
+
if (t.kind === "choice") for (let r of Cn(n)) {
|
|
1825
1833
|
let i = t.options.find((e) => e.value === r);
|
|
1826
1834
|
f.push({
|
|
1827
1835
|
key: `${t.id}:${r}`,
|
|
1828
1836
|
text: `${t.label}: ${i?.label ?? r}`,
|
|
1829
|
-
remove: () =>
|
|
1837
|
+
remove: () => wn(e, t.id, Cn(n).filter((e) => e !== r))
|
|
1830
1838
|
});
|
|
1831
1839
|
}
|
|
1832
|
-
else
|
|
1840
|
+
else Sn(n) && (n.from || n.to) && f.push({
|
|
1833
1841
|
key: t.id,
|
|
1834
1842
|
text: `${t.label}: ${n.from ?? "…"} – ${n.to ?? "…"}`,
|
|
1835
|
-
remove: () =>
|
|
1843
|
+
remove: () => wn(e, t.id, void 0)
|
|
1836
1844
|
});
|
|
1837
1845
|
}
|
|
1838
1846
|
let p = f.length > 0 || e.query !== "", m = i ?? s("bento.filters.search", { defaultValue: "Search" });
|
|
1839
|
-
return /* @__PURE__ */
|
|
1847
|
+
return /* @__PURE__ */ K("div", {
|
|
1840
1848
|
role: "search",
|
|
1841
1849
|
"aria-label": s("bento.filters.label", { defaultValue: "Filters" }),
|
|
1842
1850
|
"data-slot": "bento-filter-bar",
|
|
1843
1851
|
className: "flex flex-col gap-2",
|
|
1844
|
-
children: [/* @__PURE__ */
|
|
1852
|
+
children: [/* @__PURE__ */ K("div", {
|
|
1845
1853
|
className: "flex flex-wrap items-center gap-2",
|
|
1846
1854
|
children: [
|
|
1847
|
-
/* @__PURE__ */
|
|
1855
|
+
/* @__PURE__ */ K("div", {
|
|
1848
1856
|
className: "relative min-w-48 flex-1",
|
|
1849
|
-
children: [/* @__PURE__ */
|
|
1857
|
+
children: [/* @__PURE__ */ G(Ne, {
|
|
1850
1858
|
size: 16,
|
|
1851
1859
|
"aria-hidden": "true",
|
|
1852
1860
|
className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"
|
|
1853
|
-
}), /* @__PURE__ */
|
|
1861
|
+
}), /* @__PURE__ */ G(t, {
|
|
1854
1862
|
type: "search",
|
|
1855
1863
|
value: c.text,
|
|
1856
1864
|
placeholder: m,
|
|
@@ -1862,21 +1870,21 @@ function wn({ value: e, onChange: n, facets: r, queryLabel: i, queryDelay: a = 3
|
|
|
1862
1870
|
className: "pl-9"
|
|
1863
1871
|
})]
|
|
1864
1872
|
}),
|
|
1865
|
-
r.map((t) => t.kind === "choice" ? /* @__PURE__ */
|
|
1873
|
+
r.map((t) => t.kind === "choice" ? /* @__PURE__ */ G(Dn, {
|
|
1866
1874
|
facet: t,
|
|
1867
1875
|
value: e,
|
|
1868
1876
|
onChange: n
|
|
1869
|
-
}, t.id) : /* @__PURE__ */
|
|
1877
|
+
}, t.id) : /* @__PURE__ */ G(On, {
|
|
1870
1878
|
facet: t,
|
|
1871
1879
|
value: e,
|
|
1872
1880
|
onChange: n
|
|
1873
1881
|
}, t.id)),
|
|
1874
1882
|
o
|
|
1875
1883
|
]
|
|
1876
|
-
}), p && /* @__PURE__ */
|
|
1884
|
+
}), p && /* @__PURE__ */ K("ul", {
|
|
1877
1885
|
className: "m-0 flex list-none flex-wrap items-center gap-1.5 p-0",
|
|
1878
1886
|
"aria-label": s("bento.filters.active", { defaultValue: "Active filters" }),
|
|
1879
|
-
children: [f.map((e) => /* @__PURE__ */
|
|
1887
|
+
children: [f.map((e) => /* @__PURE__ */ G("li", { children: /* @__PURE__ */ K("button", {
|
|
1880
1888
|
type: "button",
|
|
1881
1889
|
"aria-label": s("bento.filters.remove", {
|
|
1882
1890
|
defaultValue: "Remove filter {{filter}}",
|
|
@@ -1884,11 +1892,11 @@ function wn({ value: e, onChange: n, facets: r, queryLabel: i, queryDelay: a = 3
|
|
|
1884
1892
|
}),
|
|
1885
1893
|
onClick: () => n(e.remove()),
|
|
1886
1894
|
className: "bento-clear inline-flex items-center gap-1 rounded-full border border-border/60 bg-card/60 py-0.5 pl-2.5 pr-1.5 text-xs",
|
|
1887
|
-
children: [e.text, /* @__PURE__ */
|
|
1895
|
+
children: [e.text, /* @__PURE__ */ G(ze, {
|
|
1888
1896
|
size: 12,
|
|
1889
1897
|
"aria-hidden": "true"
|
|
1890
1898
|
})]
|
|
1891
|
-
}) }, e.key)), /* @__PURE__ */
|
|
1899
|
+
}) }, e.key)), /* @__PURE__ */ G("li", { children: /* @__PURE__ */ G(C, {
|
|
1892
1900
|
variant: "ghost",
|
|
1893
1901
|
size: "sm",
|
|
1894
1902
|
className: "h-6 px-2 text-xs",
|
|
@@ -1896,108 +1904,108 @@ function wn({ value: e, onChange: n, facets: r, queryLabel: i, queryDelay: a = 3
|
|
|
1896
1904
|
l({
|
|
1897
1905
|
source: "",
|
|
1898
1906
|
text: ""
|
|
1899
|
-
}), n(
|
|
1907
|
+
}), n(xn);
|
|
1900
1908
|
},
|
|
1901
1909
|
children: s("bento.filters.clearAll", { defaultValue: "Clear all" })
|
|
1902
1910
|
}) })]
|
|
1903
1911
|
})]
|
|
1904
1912
|
});
|
|
1905
1913
|
}
|
|
1906
|
-
function
|
|
1907
|
-
return /* @__PURE__ */
|
|
1914
|
+
function En({ label: e, count: t, ...n }) {
|
|
1915
|
+
return /* @__PURE__ */ K(C, {
|
|
1908
1916
|
variant: "outline",
|
|
1909
1917
|
size: "sm",
|
|
1910
1918
|
className: "gap-1.5",
|
|
1911
1919
|
...n,
|
|
1912
1920
|
children: [
|
|
1913
1921
|
e,
|
|
1914
|
-
t > 0 && /* @__PURE__ */
|
|
1922
|
+
t > 0 && /* @__PURE__ */ G("span", {
|
|
1915
1923
|
className: "rounded-full bg-primary px-1.5 text-[0.6875rem] leading-4 text-primary-foreground",
|
|
1916
1924
|
children: t
|
|
1917
1925
|
}),
|
|
1918
|
-
/* @__PURE__ */
|
|
1926
|
+
/* @__PURE__ */ G(ye, {
|
|
1919
1927
|
size: 14,
|
|
1920
1928
|
"aria-hidden": "true"
|
|
1921
1929
|
})
|
|
1922
1930
|
]
|
|
1923
1931
|
});
|
|
1924
1932
|
}
|
|
1925
|
-
function
|
|
1926
|
-
let r =
|
|
1927
|
-
return /* @__PURE__ */
|
|
1933
|
+
function Dn({ facet: e, value: t, onChange: n }) {
|
|
1934
|
+
let r = Cn(t.facets[e.id]);
|
|
1935
|
+
return /* @__PURE__ */ K(_, { children: [/* @__PURE__ */ G(P, {
|
|
1928
1936
|
asChild: !0,
|
|
1929
|
-
children: /* @__PURE__ */
|
|
1937
|
+
children: /* @__PURE__ */ G(En, {
|
|
1930
1938
|
label: e.label,
|
|
1931
1939
|
count: r.length
|
|
1932
1940
|
})
|
|
1933
|
-
}), /* @__PURE__ */
|
|
1941
|
+
}), /* @__PURE__ */ G(d, {
|
|
1934
1942
|
align: "start",
|
|
1935
1943
|
className: "bento-dropdown min-w-44 p-1.5",
|
|
1936
|
-
children: e.multiple ? e.options.map((i) => /* @__PURE__ */
|
|
1944
|
+
children: e.multiple ? e.options.map((i) => /* @__PURE__ */ G(v, {
|
|
1937
1945
|
checked: r.includes(i.value),
|
|
1938
|
-
onCheckedChange: (a) => n(
|
|
1946
|
+
onCheckedChange: (a) => n(wn(t, e.id, a === !0 ? [...r, i.value] : r.filter((e) => e !== i.value))),
|
|
1939
1947
|
onSelect: (e) => e.preventDefault(),
|
|
1940
1948
|
children: i.label
|
|
1941
|
-
}, i.value)) : /* @__PURE__ */
|
|
1949
|
+
}, i.value)) : /* @__PURE__ */ G(c, {
|
|
1942
1950
|
value: r[0] ?? "",
|
|
1943
|
-
onValueChange: (i) => n(
|
|
1944
|
-
children: e.options.map((e) => /* @__PURE__ */
|
|
1951
|
+
onValueChange: (i) => n(wn(t, e.id, i === r[0] ? [] : [i])),
|
|
1952
|
+
children: e.options.map((e) => /* @__PURE__ */ G(S, {
|
|
1945
1953
|
value: e.value,
|
|
1946
1954
|
children: e.label
|
|
1947
1955
|
}, e.value))
|
|
1948
1956
|
})
|
|
1949
1957
|
})] });
|
|
1950
1958
|
}
|
|
1951
|
-
function
|
|
1952
|
-
let { t: i } =
|
|
1953
|
-
return /* @__PURE__ */
|
|
1959
|
+
function On({ facet: e, value: n, onChange: r }) {
|
|
1960
|
+
let { t: i } = q(), a = n.facets[e.id], o = Sn(a) ? a : {}, [s, c] = H(!1), [l, d] = H(o.from ?? ""), [f, p] = H(o.to ?? ""), m = ce(), h = ce();
|
|
1961
|
+
return /* @__PURE__ */ K(x, {
|
|
1954
1962
|
open: s,
|
|
1955
1963
|
onOpenChange: (e) => {
|
|
1956
1964
|
e && (d(o.from ?? ""), p(o.to ?? "")), c(e);
|
|
1957
1965
|
},
|
|
1958
|
-
children: [/* @__PURE__ */
|
|
1966
|
+
children: [/* @__PURE__ */ G(A, {
|
|
1959
1967
|
asChild: !0,
|
|
1960
|
-
children: /* @__PURE__ */
|
|
1968
|
+
children: /* @__PURE__ */ G(En, {
|
|
1961
1969
|
label: e.label,
|
|
1962
1970
|
count: o.from || o.to ? 1 : 0
|
|
1963
1971
|
})
|
|
1964
|
-
}), /* @__PURE__ */
|
|
1972
|
+
}), /* @__PURE__ */ G(u, {
|
|
1965
1973
|
align: "start",
|
|
1966
1974
|
className: "bento-dropdown w-64 p-3",
|
|
1967
|
-
children: /* @__PURE__ */
|
|
1975
|
+
children: /* @__PURE__ */ K("form", {
|
|
1968
1976
|
className: "flex flex-col gap-2",
|
|
1969
1977
|
onSubmit: (t) => {
|
|
1970
|
-
t.preventDefault(), r(
|
|
1978
|
+
t.preventDefault(), r(wn(n, e.id, {
|
|
1971
1979
|
from: l || void 0,
|
|
1972
1980
|
to: f || void 0
|
|
1973
1981
|
})), c(!1);
|
|
1974
1982
|
},
|
|
1975
1983
|
children: [
|
|
1976
|
-
/* @__PURE__ */
|
|
1984
|
+
/* @__PURE__ */ G("label", {
|
|
1977
1985
|
htmlFor: m,
|
|
1978
1986
|
className: "text-xs text-muted-foreground",
|
|
1979
1987
|
children: i("bento.filters.from", { defaultValue: "From" })
|
|
1980
1988
|
}),
|
|
1981
|
-
/* @__PURE__ */
|
|
1989
|
+
/* @__PURE__ */ G(t, {
|
|
1982
1990
|
id: m,
|
|
1983
1991
|
type: "date",
|
|
1984
1992
|
value: l,
|
|
1985
1993
|
max: f || void 0,
|
|
1986
1994
|
onChange: (e) => d(e.target.value)
|
|
1987
1995
|
}),
|
|
1988
|
-
/* @__PURE__ */
|
|
1996
|
+
/* @__PURE__ */ G("label", {
|
|
1989
1997
|
htmlFor: h,
|
|
1990
1998
|
className: "text-xs text-muted-foreground",
|
|
1991
1999
|
children: i("bento.filters.to", { defaultValue: "To" })
|
|
1992
2000
|
}),
|
|
1993
|
-
/* @__PURE__ */
|
|
2001
|
+
/* @__PURE__ */ G(t, {
|
|
1994
2002
|
id: h,
|
|
1995
2003
|
type: "date",
|
|
1996
2004
|
value: f,
|
|
1997
2005
|
min: l || void 0,
|
|
1998
2006
|
onChange: (e) => p(e.target.value)
|
|
1999
2007
|
}),
|
|
2000
|
-
/* @__PURE__ */
|
|
2008
|
+
/* @__PURE__ */ G(C, {
|
|
2001
2009
|
type: "submit",
|
|
2002
2010
|
size: "sm",
|
|
2003
2011
|
className: "mt-1",
|
|
@@ -2010,263 +2018,257 @@ function Dn({ facet: e, value: n, onChange: r }) {
|
|
|
2010
2018
|
}
|
|
2011
2019
|
//#endregion
|
|
2012
2020
|
//#region src/bento/bento-list-page.tsx
|
|
2013
|
-
var
|
|
2014
|
-
function
|
|
2015
|
-
let { t:
|
|
2021
|
+
var kn = _t, An = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
|
|
2022
|
+
function jn({ items: e, error: t, tryAgainUrl: n, listId: r, eyebrow: i, backTo: a, backLabel: o, trail: s, heroIcon: c, title: l, subtitle: u, headerAction: d, newRoute: f, newLabel: p, newSubtitle: m, hideNew: h = !1, itemKey: g, columns: _, rowActions: v, onRowOpen: y, getRowLabel: b, columnLayout: x, onColumnLayoutChange: S, renderTile: w, emptyTitle: T, emptyDescription: ee, layout: E }) {
|
|
2023
|
+
let { t: D } = q(), [O, k] = H(!1), A = le(() => vn(e ?? [], g, E?.data?.entries), [
|
|
2016
2024
|
e,
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
]),
|
|
2020
|
-
className:
|
|
2021
|
-
children: /* @__PURE__ */
|
|
2025
|
+
g,
|
|
2026
|
+
E?.data?.entries
|
|
2027
|
+
]), j = c ? /* @__PURE__ */ G("span", {
|
|
2028
|
+
className: "bento-well grid h-12 w-12 place-items-center rounded-2xl",
|
|
2029
|
+
children: /* @__PURE__ */ G(c, { size: 24 })
|
|
2022
2030
|
}) : void 0;
|
|
2023
|
-
if (!
|
|
2031
|
+
if (!w) return /* @__PURE__ */ K(oe, {
|
|
2024
2032
|
checkIsNotUndefined: e,
|
|
2025
2033
|
error: t ?? null,
|
|
2026
2034
|
tryAgainUrl: n,
|
|
2027
2035
|
children: [
|
|
2028
|
-
/* @__PURE__ */
|
|
2036
|
+
/* @__PURE__ */ G(Ct, {
|
|
2029
2037
|
eyebrow: i,
|
|
2030
2038
|
backTo: a,
|
|
2031
2039
|
backLabel: o,
|
|
2032
2040
|
trail: s,
|
|
2033
|
-
leading:
|
|
2041
|
+
leading: j,
|
|
2034
2042
|
title: l,
|
|
2035
2043
|
subtitle: u,
|
|
2036
|
-
trailing:
|
|
2044
|
+
trailing: h ? void 0 : /* @__PURE__ */ G(C, {
|
|
2037
2045
|
asChild: !0,
|
|
2038
2046
|
className: "gap-2",
|
|
2039
|
-
children: /* @__PURE__ */
|
|
2040
|
-
to:
|
|
2041
|
-
children: [/* @__PURE__ */
|
|
2047
|
+
children: /* @__PURE__ */ K(He, {
|
|
2048
|
+
to: f,
|
|
2049
|
+
children: [/* @__PURE__ */ G(je, { size: 16 }), p]
|
|
2042
2050
|
})
|
|
2043
2051
|
})
|
|
2044
2052
|
}),
|
|
2045
|
-
|
|
2053
|
+
d && /* @__PURE__ */ G("div", {
|
|
2046
2054
|
className: "mb-4 flex flex-wrap items-center gap-2",
|
|
2047
|
-
children:
|
|
2055
|
+
children: d
|
|
2048
2056
|
}),
|
|
2049
|
-
e?.length === 0 ? /* @__PURE__ */
|
|
2050
|
-
icon:
|
|
2051
|
-
title:
|
|
2052
|
-
description:
|
|
2053
|
-
}) : /* @__PURE__ */
|
|
2057
|
+
e?.length === 0 ? /* @__PURE__ */ G(vt, {
|
|
2058
|
+
icon: Pe,
|
|
2059
|
+
title: T,
|
|
2060
|
+
description: ee
|
|
2061
|
+
}) : /* @__PURE__ */ G(kn, {
|
|
2054
2062
|
rows: e ?? [],
|
|
2055
|
-
getRowId:
|
|
2056
|
-
columns:
|
|
2063
|
+
getRowId: g,
|
|
2064
|
+
columns: _ ?? [],
|
|
2057
2065
|
label: l,
|
|
2058
|
-
getRowLabel:
|
|
2059
|
-
rowActions:
|
|
2060
|
-
onRowOpen:
|
|
2061
|
-
layout:
|
|
2062
|
-
onLayoutChange:
|
|
2066
|
+
getRowLabel: b,
|
|
2067
|
+
rowActions: v,
|
|
2068
|
+
onRowOpen: y,
|
|
2069
|
+
layout: x,
|
|
2070
|
+
onLayoutChange: S
|
|
2063
2071
|
})
|
|
2064
2072
|
]
|
|
2065
2073
|
});
|
|
2066
|
-
let
|
|
2067
|
-
return /* @__PURE__ */
|
|
2074
|
+
let M = !!r && !!E && (e?.length ?? 0) > 0;
|
|
2075
|
+
return /* @__PURE__ */ K(oe, {
|
|
2068
2076
|
checkIsNotUndefined: e,
|
|
2069
2077
|
error: t ?? null,
|
|
2070
2078
|
tryAgainUrl: n,
|
|
2071
2079
|
children: [
|
|
2072
|
-
/* @__PURE__ */
|
|
2080
|
+
/* @__PURE__ */ G(Ct, {
|
|
2073
2081
|
eyebrow: i,
|
|
2074
2082
|
backTo: a,
|
|
2075
2083
|
backLabel: o,
|
|
2076
2084
|
trail: s,
|
|
2077
|
-
leading:
|
|
2085
|
+
leading: j,
|
|
2078
2086
|
title: l,
|
|
2079
2087
|
subtitle: u
|
|
2080
2088
|
}),
|
|
2081
|
-
(
|
|
2089
|
+
(d || M && !O) && /* @__PURE__ */ K("div", {
|
|
2082
2090
|
className: "mb-4 flex flex-wrap items-center gap-2",
|
|
2083
|
-
children: [
|
|
2091
|
+
children: [d, M && !O && /* @__PURE__ */ K(C, {
|
|
2084
2092
|
variant: "outline",
|
|
2085
2093
|
size: "sm",
|
|
2086
|
-
onClick: () =>
|
|
2094
|
+
onClick: () => k(!0),
|
|
2087
2095
|
className: "ml-auto gap-2",
|
|
2088
|
-
children: [/* @__PURE__ */
|
|
2096
|
+
children: [/* @__PURE__ */ G(ue, { size: 16 }), D("bento.layout.customize", { defaultValue: "Customize layout" })]
|
|
2089
2097
|
})]
|
|
2090
2098
|
}),
|
|
2091
|
-
|
|
2092
|
-
layout:
|
|
2093
|
-
resolved:
|
|
2094
|
-
canEditGlobal:
|
|
2095
|
-
isCustomized:
|
|
2096
|
-
renderTile:
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
newLabel: m,
|
|
2110
|
-
newSubtitle: h,
|
|
2099
|
+
O && r && E ? /* @__PURE__ */ G(Pn, {
|
|
2100
|
+
layout: E,
|
|
2101
|
+
resolved: A,
|
|
2102
|
+
canEditGlobal: E?.data?.canEditGlobal ?? !1,
|
|
2103
|
+
isCustomized: E?.data?.source === "USER",
|
|
2104
|
+
renderTile: w,
|
|
2105
|
+
hideNew: h,
|
|
2106
|
+
newRoute: f,
|
|
2107
|
+
newLabel: p,
|
|
2108
|
+
newSubtitle: m,
|
|
2109
|
+
onClose: () => k(!1)
|
|
2110
|
+
}) : /* @__PURE__ */ G(Nn, {
|
|
2111
|
+
resolved: A,
|
|
2112
|
+
renderTile: w,
|
|
2113
|
+
hideNew: h,
|
|
2114
|
+
newRoute: f,
|
|
2115
|
+
newLabel: p,
|
|
2116
|
+
newSubtitle: m,
|
|
2111
2117
|
isEmpty: e?.length === 0,
|
|
2112
|
-
emptyTitle:
|
|
2113
|
-
emptyDescription:
|
|
2118
|
+
emptyTitle: T,
|
|
2119
|
+
emptyDescription: ee
|
|
2114
2120
|
})
|
|
2115
2121
|
]
|
|
2116
2122
|
});
|
|
2117
2123
|
}
|
|
2118
|
-
function
|
|
2119
|
-
|
|
2120
|
-
return /* @__PURE__ */ U(se, {
|
|
2124
|
+
function Mn({ items: e, error: t, tryAgainUrl: n, newRoute: r, newLabel: i, newSubtitle: a, hideNew: o = !1, itemKey: s, renderTile: c, emptyTitle: l, emptyDescription: u }) {
|
|
2125
|
+
return /* @__PURE__ */ G(oe, {
|
|
2121
2126
|
checkIsNotUndefined: e,
|
|
2122
2127
|
error: t ?? null,
|
|
2123
2128
|
tryAgainUrl: n,
|
|
2124
|
-
children: /* @__PURE__ */
|
|
2129
|
+
children: /* @__PURE__ */ K("div", {
|
|
2125
2130
|
"data-slot": "bento-list-tiles",
|
|
2126
|
-
className:
|
|
2131
|
+
className: An,
|
|
2127
2132
|
children: [
|
|
2128
|
-
!
|
|
2129
|
-
route:
|
|
2130
|
-
label:
|
|
2131
|
-
subtitle:
|
|
2132
|
-
chip: f
|
|
2133
|
+
!o && r && i ? /* @__PURE__ */ G(Rn, {
|
|
2134
|
+
route: r,
|
|
2135
|
+
label: i,
|
|
2136
|
+
subtitle: a
|
|
2133
2137
|
}) : null,
|
|
2134
|
-
(e ?? []).map((e) => /* @__PURE__ */
|
|
2138
|
+
(e ?? []).map((e) => /* @__PURE__ */ G("span", {
|
|
2135
2139
|
className: "contents",
|
|
2136
|
-
children:
|
|
2137
|
-
},
|
|
2138
|
-
e?.length === 0 && /* @__PURE__ */
|
|
2139
|
-
title:
|
|
2140
|
-
description:
|
|
2140
|
+
children: c(e)
|
|
2141
|
+
}, s(e))),
|
|
2142
|
+
e?.length === 0 && /* @__PURE__ */ G(zn, {
|
|
2143
|
+
title: l,
|
|
2144
|
+
description: u
|
|
2141
2145
|
})
|
|
2142
2146
|
]
|
|
2143
2147
|
})
|
|
2144
2148
|
});
|
|
2145
2149
|
}
|
|
2146
|
-
function
|
|
2147
|
-
let
|
|
2148
|
-
return /* @__PURE__ */
|
|
2150
|
+
function Nn({ resolved: t, renderTile: n, hideNew: r, newRoute: i, newLabel: a, newSubtitle: o, isEmpty: s, emptyTitle: c, emptyDescription: l }) {
|
|
2151
|
+
let u = t.some((e) => e.emphasis === "SMALL");
|
|
2152
|
+
return /* @__PURE__ */ K("div", {
|
|
2149
2153
|
"data-slot": "bento-list-tiles",
|
|
2150
|
-
className: e(
|
|
2154
|
+
className: e(An, u && "grid-flow-dense"),
|
|
2151
2155
|
children: [
|
|
2152
|
-
!
|
|
2153
|
-
route:
|
|
2154
|
-
label:
|
|
2155
|
-
subtitle:
|
|
2156
|
-
chip: r
|
|
2156
|
+
!r && /* @__PURE__ */ G(Rn, {
|
|
2157
|
+
route: i,
|
|
2158
|
+
label: a,
|
|
2159
|
+
subtitle: o
|
|
2157
2160
|
}),
|
|
2158
|
-
t.map(({ item: e, key: t, emphasis: r }) => /* @__PURE__ */
|
|
2161
|
+
t.map(({ item: e, key: t, emphasis: r }) => /* @__PURE__ */ G("span", {
|
|
2159
2162
|
className: "contents",
|
|
2160
2163
|
children: n(e, r)
|
|
2161
2164
|
}, t)),
|
|
2162
|
-
|
|
2163
|
-
title:
|
|
2164
|
-
description:
|
|
2165
|
+
s && /* @__PURE__ */ G(zn, {
|
|
2166
|
+
title: c,
|
|
2167
|
+
description: l
|
|
2165
2168
|
})
|
|
2166
2169
|
]
|
|
2167
2170
|
});
|
|
2168
2171
|
}
|
|
2169
|
-
function
|
|
2170
|
-
let { t:
|
|
2172
|
+
function Pn({ layout: t, resolved: n, canEditGlobal: r, isCustomized: i, renderTile: a, hideNew: o, newRoute: s, newLabel: c, newSubtitle: l, onClose: u }) {
|
|
2173
|
+
let { t: d } = q(), [f, p] = H(n), [m, h] = H(null), g = (t.saving ?? !1) || m !== null, _ = (e) => g && m === e ? { loading: !0 } : { "aria-disabled": g || void 0 }, [v, y] = H(!1), b = (e, t) => async () => {
|
|
2171
2174
|
if (t) {
|
|
2172
|
-
|
|
2175
|
+
h(e), y(!1);
|
|
2173
2176
|
try {
|
|
2174
|
-
await t(),
|
|
2177
|
+
await t(), u();
|
|
2175
2178
|
} catch (e) {
|
|
2176
|
-
console.error("Failed to save the bento layout", e),
|
|
2179
|
+
console.error("Failed to save the bento layout", e), y(!0);
|
|
2177
2180
|
} finally {
|
|
2178
|
-
|
|
2181
|
+
h(null);
|
|
2179
2182
|
}
|
|
2180
2183
|
}
|
|
2181
|
-
},
|
|
2182
|
-
function
|
|
2184
|
+
}, x = tt(et(Qe, { activationConstraint: { distance: 8 } }), et(Ze));
|
|
2185
|
+
function S(e) {
|
|
2183
2186
|
let { active: t, over: n } = e;
|
|
2184
|
-
|
|
2187
|
+
n && t.id !== n.id && p((e) => {
|
|
2185
2188
|
let r = e.findIndex((e) => e.key === t.id), i = e.findIndex((e) => e.key === n.id);
|
|
2186
|
-
return r < 0 || i < 0 ? e :
|
|
2189
|
+
return r < 0 || i < 0 ? e : rt(e, r, i);
|
|
2187
2190
|
});
|
|
2188
2191
|
}
|
|
2189
|
-
function
|
|
2190
|
-
|
|
2192
|
+
function w(e, t) {
|
|
2193
|
+
p((n) => n.map((n) => n.key === e ? {
|
|
2191
2194
|
...n,
|
|
2192
2195
|
emphasis: t
|
|
2193
2196
|
} : n));
|
|
2194
2197
|
}
|
|
2195
|
-
let
|
|
2196
|
-
return /* @__PURE__ */
|
|
2198
|
+
let T = le(() => yn(f), [f]), ee = f.some((e) => e.emphasis === "SMALL");
|
|
2199
|
+
return /* @__PURE__ */ K("div", { children: [/* @__PURE__ */ K("div", {
|
|
2197
2200
|
className: "mb-4 flex flex-wrap items-center gap-2 rounded-2xl border border-border/60 bg-card/40 p-3 backdrop-blur-md",
|
|
2198
2201
|
children: [
|
|
2199
|
-
/* @__PURE__ */
|
|
2202
|
+
/* @__PURE__ */ G("span", {
|
|
2200
2203
|
className: "mr-auto text-sm text-muted-foreground",
|
|
2201
|
-
children:
|
|
2204
|
+
children: d("bento.layout.editHint", { defaultValue: "Drag tiles to reorder · tap the size button to resize" })
|
|
2202
2205
|
}),
|
|
2203
|
-
i && t.onReset && /* @__PURE__ */
|
|
2206
|
+
i && t.onReset && /* @__PURE__ */ K(C, {
|
|
2204
2207
|
variant: "ghost",
|
|
2205
2208
|
size: "sm",
|
|
2206
2209
|
className: "gap-2",
|
|
2207
|
-
...
|
|
2208
|
-
onClick:
|
|
2209
|
-
children: [
|
|
2210
|
+
..._("reset"),
|
|
2211
|
+
onClick: b("reset", t.onReset),
|
|
2212
|
+
children: [m !== "reset" && /* @__PURE__ */ G(J, { size: 16 }), d("bento.layout.reset", { defaultValue: "Reset to default" })]
|
|
2210
2213
|
}),
|
|
2211
|
-
r && t.onSaveGlobal && /* @__PURE__ */
|
|
2214
|
+
r && t.onSaveGlobal && /* @__PURE__ */ K(C, {
|
|
2212
2215
|
variant: "outline",
|
|
2213
2216
|
size: "sm",
|
|
2214
2217
|
className: "gap-2",
|
|
2215
|
-
...
|
|
2216
|
-
onClick:
|
|
2217
|
-
children: [
|
|
2218
|
+
..._("global"),
|
|
2219
|
+
onClick: b("global", () => t.onSaveGlobal?.(T)),
|
|
2220
|
+
children: [m !== "global" && /* @__PURE__ */ G(Re, { size: 16 }), d("bento.layout.saveGlobal", { defaultValue: "Set as default for everyone" })]
|
|
2218
2221
|
}),
|
|
2219
|
-
/* @__PURE__ */
|
|
2222
|
+
/* @__PURE__ */ K(C, {
|
|
2220
2223
|
variant: "ghost",
|
|
2221
2224
|
size: "sm",
|
|
2222
2225
|
className: "gap-2",
|
|
2223
|
-
...
|
|
2224
|
-
onClick:
|
|
2225
|
-
children: [/* @__PURE__ */
|
|
2226
|
+
..._("cancel"),
|
|
2227
|
+
onClick: u,
|
|
2228
|
+
children: [/* @__PURE__ */ G(ze, { size: 16 }), d("common.cancel", { defaultValue: "Cancel" })]
|
|
2226
2229
|
}),
|
|
2227
|
-
/* @__PURE__ */
|
|
2230
|
+
/* @__PURE__ */ K(C, {
|
|
2228
2231
|
size: "sm",
|
|
2229
2232
|
className: "gap-2",
|
|
2230
|
-
...
|
|
2231
|
-
onClick:
|
|
2232
|
-
children: [
|
|
2233
|
+
..._("save"),
|
|
2234
|
+
onClick: b("save", () => t.onSave(T)),
|
|
2235
|
+
children: [m !== "save" && /* @__PURE__ */ G(Se, { size: 16 }), d("bento.layout.save", { defaultValue: "Save layout" })]
|
|
2233
2236
|
}),
|
|
2234
|
-
|
|
2237
|
+
v && /* @__PURE__ */ G("p", {
|
|
2235
2238
|
role: "alert",
|
|
2236
2239
|
className: "w-full text-sm text-destructive",
|
|
2237
|
-
children:
|
|
2240
|
+
children: d("bento.layout.saveFailed", { defaultValue: "The layout could not be saved. Nothing has changed — try again." })
|
|
2238
2241
|
})
|
|
2239
2242
|
]
|
|
2240
|
-
}), /* @__PURE__ */
|
|
2241
|
-
sensors:
|
|
2242
|
-
collisionDetection:
|
|
2243
|
-
onDragEnd:
|
|
2244
|
-
children: /* @__PURE__ */
|
|
2245
|
-
items:
|
|
2246
|
-
strategy:
|
|
2247
|
-
children: /* @__PURE__ */
|
|
2243
|
+
}), /* @__PURE__ */ G(Xe, {
|
|
2244
|
+
sensors: x,
|
|
2245
|
+
collisionDetection: $e,
|
|
2246
|
+
onDragEnd: S,
|
|
2247
|
+
children: /* @__PURE__ */ G(nt, {
|
|
2248
|
+
items: f.map((e) => e.key),
|
|
2249
|
+
strategy: it,
|
|
2250
|
+
children: /* @__PURE__ */ K("div", {
|
|
2248
2251
|
"data-slot": "bento-list-tiles",
|
|
2249
|
-
className: e(
|
|
2250
|
-
children: [!
|
|
2251
|
-
route:
|
|
2252
|
-
label:
|
|
2253
|
-
subtitle:
|
|
2254
|
-
|
|
2255
|
-
}), p.map(({ item: e, key: t, emphasis: n }) => /* @__PURE__ */ U(In, {
|
|
2252
|
+
className: e(An, ee && "grid-flow-dense"),
|
|
2253
|
+
children: [!o && /* @__PURE__ */ G(Rn, {
|
|
2254
|
+
route: s,
|
|
2255
|
+
label: c,
|
|
2256
|
+
subtitle: l
|
|
2257
|
+
}), f.map(({ item: e, key: t, emphasis: n }) => /* @__PURE__ */ G(Ln, {
|
|
2256
2258
|
id: t,
|
|
2257
2259
|
emphasis: n,
|
|
2258
|
-
onSetEmphasis: (e) =>
|
|
2260
|
+
onSetEmphasis: (e) => w(t, e),
|
|
2259
2261
|
children: a(e, n)
|
|
2260
2262
|
}, t))]
|
|
2261
2263
|
})
|
|
2262
2264
|
})
|
|
2263
2265
|
})] });
|
|
2264
2266
|
}
|
|
2265
|
-
var
|
|
2267
|
+
var Fn = [
|
|
2266
2268
|
"SMALL",
|
|
2267
2269
|
"MEDIUM",
|
|
2268
2270
|
"LARGE"
|
|
2269
|
-
],
|
|
2271
|
+
], In = {
|
|
2270
2272
|
SMALL: {
|
|
2271
2273
|
key: "bento.layout.size.small",
|
|
2272
2274
|
def: "Small"
|
|
@@ -2280,29 +2282,29 @@ var Pn = [
|
|
|
2280
2282
|
def: "Large"
|
|
2281
2283
|
}
|
|
2282
2284
|
};
|
|
2283
|
-
function
|
|
2284
|
-
let { t: a } =
|
|
2285
|
-
transform:
|
|
2285
|
+
function Ln({ id: t, emphasis: n, onSetEmphasis: r, children: i }) {
|
|
2286
|
+
let { t: a } = q(), { attributes: o, listeners: s, setNodeRef: c, transform: l, transition: u, isDragging: d } = at({ id: t }), f = {
|
|
2287
|
+
transform: ot.Translate.toString(l),
|
|
2286
2288
|
transition: u,
|
|
2287
2289
|
opacity: d ? .6 : 1,
|
|
2288
2290
|
zIndex: d ? 50 : void 0
|
|
2289
2291
|
};
|
|
2290
|
-
return /* @__PURE__ */
|
|
2292
|
+
return /* @__PURE__ */ K("div", {
|
|
2291
2293
|
ref: c,
|
|
2292
2294
|
style: f,
|
|
2293
|
-
className: e("relative h-full",
|
|
2294
|
-
children: [/* @__PURE__ */
|
|
2295
|
+
className: e("relative h-full", gn[n]),
|
|
2296
|
+
children: [/* @__PURE__ */ G("div", {
|
|
2295
2297
|
className: "pointer-events-none h-full select-none [&>*]:h-full [&>*]:w-full",
|
|
2296
2298
|
children: i
|
|
2297
|
-
}), /* @__PURE__ */
|
|
2299
|
+
}), /* @__PURE__ */ K("div", {
|
|
2298
2300
|
className: "absolute right-2 top-2 z-10 flex items-center gap-1",
|
|
2299
|
-
children: [/* @__PURE__ */
|
|
2301
|
+
children: [/* @__PURE__ */ G("div", {
|
|
2300
2302
|
role: "group",
|
|
2301
2303
|
"aria-label": a("bento.layout.sizeGroup", { defaultValue: "Tile size" }),
|
|
2302
2304
|
className: "flex items-center gap-0.5 rounded-full border border-border/60 bg-background/80 p-0.5 shadow-sm backdrop-blur",
|
|
2303
|
-
children:
|
|
2304
|
-
let i = t === n, o = a(
|
|
2305
|
-
return /* @__PURE__ */
|
|
2305
|
+
children: Fn.map((t) => {
|
|
2306
|
+
let i = t === n, o = a(In[t].key, { defaultValue: In[t].def });
|
|
2307
|
+
return /* @__PURE__ */ G("button", {
|
|
2306
2308
|
type: "button",
|
|
2307
2309
|
onClick: () => r(t),
|
|
2308
2310
|
"aria-pressed": i,
|
|
@@ -2312,13 +2314,13 @@ function In({ id: t, emphasis: n, onSetEmphasis: r, children: i }) {
|
|
|
2312
2314
|
children: o.charAt(0)
|
|
2313
2315
|
}, t);
|
|
2314
2316
|
})
|
|
2315
|
-
}), /* @__PURE__ */
|
|
2317
|
+
}), /* @__PURE__ */ G("button", {
|
|
2316
2318
|
type: "button",
|
|
2317
2319
|
...o,
|
|
2318
2320
|
...s,
|
|
2319
2321
|
"aria-label": a("bento.layout.dragToReorder", { defaultValue: "Drag to reorder" }),
|
|
2320
|
-
className: "grid
|
|
2321
|
-
children: /* @__PURE__ */
|
|
2322
|
+
className: "grid size-(--vg-control-dense) cursor-grab place-items-center rounded-full border border-border/60 bg-background/80 shadow-sm backdrop-blur hover:bg-background active:cursor-grabbing",
|
|
2323
|
+
children: /* @__PURE__ */ G(Te, {
|
|
2322
2324
|
size: 14,
|
|
2323
2325
|
className: "text-muted-foreground"
|
|
2324
2326
|
})
|
|
@@ -2326,35 +2328,32 @@ function In({ id: t, emphasis: n, onSetEmphasis: r, children: i }) {
|
|
|
2326
2328
|
})]
|
|
2327
2329
|
});
|
|
2328
2330
|
}
|
|
2329
|
-
function
|
|
2330
|
-
let { t:
|
|
2331
|
-
return /* @__PURE__ */
|
|
2331
|
+
function Rn({ route: e, label: t, subtitle: n }) {
|
|
2332
|
+
let { t: r } = q();
|
|
2333
|
+
return /* @__PURE__ */ K(He, {
|
|
2332
2334
|
to: e,
|
|
2333
2335
|
className: "bento-tile bento-tile-clickable col-span-2 row-span-1 flex flex-col gap-3 rounded-3xl border-2 border-dashed border-border/60 bg-card/30 p-5 backdrop-blur-md bento-new-tile hover:bg-card/50 md:col-span-2 md:row-span-1 lg:col-span-2 lg:row-span-1",
|
|
2334
|
-
children: [/* @__PURE__ */
|
|
2336
|
+
children: [/* @__PURE__ */ K("div", {
|
|
2335
2337
|
className: "flex items-center gap-3",
|
|
2336
|
-
children: [/* @__PURE__ */
|
|
2337
|
-
className:
|
|
2338
|
-
children: /* @__PURE__ */
|
|
2339
|
-
}), /* @__PURE__ */
|
|
2338
|
+
children: [/* @__PURE__ */ G("span", {
|
|
2339
|
+
className: "bento-well grid h-10 w-10 place-items-center rounded-2xl",
|
|
2340
|
+
children: /* @__PURE__ */ G(je, { size: 20 })
|
|
2341
|
+
}), /* @__PURE__ */ G("span", {
|
|
2340
2342
|
className: "text-[11px] uppercase tracking-wider text-muted-foreground",
|
|
2341
|
-
children:
|
|
2343
|
+
children: r("forms.formActions.new", { defaultValue: "New" })
|
|
2342
2344
|
})]
|
|
2343
|
-
}), /* @__PURE__ */
|
|
2345
|
+
}), /* @__PURE__ */ K("div", { children: [/* @__PURE__ */ G("div", {
|
|
2344
2346
|
className: "text-base font-semibold tracking-tight md:text-lg",
|
|
2345
|
-
children:
|
|
2346
|
-
|
|
2347
|
-
children: t
|
|
2348
|
-
})
|
|
2349
|
-
}), n && /* @__PURE__ */ U("p", {
|
|
2347
|
+
children: t
|
|
2348
|
+
}), n && /* @__PURE__ */ G("p", {
|
|
2350
2349
|
className: "mt-1 text-sm text-muted-foreground",
|
|
2351
2350
|
children: n
|
|
2352
2351
|
})] })]
|
|
2353
2352
|
});
|
|
2354
2353
|
}
|
|
2355
|
-
function
|
|
2356
|
-
return /* @__PURE__ */
|
|
2357
|
-
icon:
|
|
2354
|
+
function zn({ title: e, description: t }) {
|
|
2355
|
+
return /* @__PURE__ */ G(vt, {
|
|
2356
|
+
icon: Pe,
|
|
2358
2357
|
title: e,
|
|
2359
2358
|
description: t,
|
|
2360
2359
|
align: "start",
|
|
@@ -2363,97 +2362,97 @@ function Rn({ title: e, description: t }) {
|
|
|
2363
2362
|
}
|
|
2364
2363
|
//#endregion
|
|
2365
2364
|
//#region src/bento/bento-save-bar.tsx
|
|
2366
|
-
function
|
|
2367
|
-
let { t: l } =
|
|
2368
|
-
return /* @__PURE__ */
|
|
2369
|
-
className: "bento-
|
|
2370
|
-
children: [/* @__PURE__ */
|
|
2365
|
+
function Bn({ title: e, badges: t, actions: n, onCancel: r, loading: i, disabled: o, dirty: s, titleMissing: c }) {
|
|
2366
|
+
let { t: l } = q();
|
|
2367
|
+
return /* @__PURE__ */ K("div", {
|
|
2368
|
+
className: "bento-frost flex items-center justify-between gap-4 rounded-2xl px-4 py-3 shadow-md backdrop-blur-xl",
|
|
2369
|
+
children: [/* @__PURE__ */ K("div", {
|
|
2371
2370
|
className: "flex min-w-0 items-center gap-3",
|
|
2372
2371
|
children: [
|
|
2373
|
-
e && /* @__PURE__ */
|
|
2372
|
+
e && /* @__PURE__ */ G("p", {
|
|
2374
2373
|
className: "truncate text-base font-semibold tracking-tight md:text-lg",
|
|
2375
2374
|
children: e
|
|
2376
2375
|
}),
|
|
2377
|
-
/* @__PURE__ */
|
|
2376
|
+
/* @__PURE__ */ G(Dt, {
|
|
2378
2377
|
titleMissing: c,
|
|
2379
2378
|
dirty: s
|
|
2380
2379
|
}),
|
|
2381
|
-
t && /* @__PURE__ */
|
|
2380
|
+
t && /* @__PURE__ */ G("div", {
|
|
2382
2381
|
className: "flex shrink-0 items-center gap-1.5",
|
|
2383
2382
|
children: t
|
|
2384
2383
|
})
|
|
2385
2384
|
]
|
|
2386
|
-
}), /* @__PURE__ */
|
|
2385
|
+
}), /* @__PURE__ */ G("div", {
|
|
2387
2386
|
className: "flex shrink-0 gap-2",
|
|
2388
|
-
children: n ?? /* @__PURE__ */ W
|
|
2387
|
+
children: n ?? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ K(a, {
|
|
2389
2388
|
type: "submit",
|
|
2390
2389
|
size: "sm",
|
|
2391
2390
|
loading: i,
|
|
2392
2391
|
"aria-disabled": o ? "true" : void 0,
|
|
2393
|
-
children: [/* @__PURE__ */
|
|
2394
|
-
}), r && /* @__PURE__ */
|
|
2392
|
+
children: [/* @__PURE__ */ G(Se, { className: "size-4" }), l("forms.formActions.saveChanges")]
|
|
2393
|
+
}), r && /* @__PURE__ */ K(a, {
|
|
2395
2394
|
type: "button",
|
|
2396
2395
|
variant: "outline",
|
|
2397
2396
|
size: "sm",
|
|
2398
2397
|
onClick: r,
|
|
2399
|
-
children: [/* @__PURE__ */
|
|
2398
|
+
children: [/* @__PURE__ */ G(ze, { className: "size-4" }), l("forms.formActions.cancel")]
|
|
2400
2399
|
})] })
|
|
2401
2400
|
})]
|
|
2402
2401
|
});
|
|
2403
2402
|
}
|
|
2404
|
-
function
|
|
2405
|
-
return /* @__PURE__ */
|
|
2403
|
+
function Vn({ children: e }) {
|
|
2404
|
+
return /* @__PURE__ */ G("span", {
|
|
2406
2405
|
className: "rounded-full border border-border/60 bg-card/50 px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground backdrop-blur",
|
|
2407
2406
|
children: e
|
|
2408
2407
|
});
|
|
2409
2408
|
}
|
|
2410
|
-
|
|
2409
|
+
Bn.Badge = Vn;
|
|
2411
2410
|
//#endregion
|
|
2412
2411
|
//#region src/bento/bento-scroll-save-bar.tsx
|
|
2413
|
-
function
|
|
2414
|
-
let t =
|
|
2415
|
-
return
|
|
2416
|
-
/* @__PURE__ */
|
|
2412
|
+
function Hn(e) {
|
|
2413
|
+
let t = V(null);
|
|
2414
|
+
return Ot(t), /* @__PURE__ */ K(W, { children: [
|
|
2415
|
+
/* @__PURE__ */ G("div", {
|
|
2417
2416
|
ref: t,
|
|
2418
2417
|
"aria-hidden": !0,
|
|
2419
2418
|
className: "h-px"
|
|
2420
2419
|
}),
|
|
2421
|
-
/* @__PURE__ */
|
|
2420
|
+
/* @__PURE__ */ G("div", {
|
|
2422
2421
|
"aria-hidden": !0,
|
|
2423
2422
|
className: "bento-save-bar-spacer"
|
|
2424
2423
|
}),
|
|
2425
|
-
/* @__PURE__ */
|
|
2424
|
+
/* @__PURE__ */ G("div", {
|
|
2426
2425
|
className: "bento-fade-in fixed inset-x-0 top-20 z-20 mx-auto w-full max-w-7xl px-4 md:px-8",
|
|
2427
|
-
children: /* @__PURE__ */
|
|
2426
|
+
children: /* @__PURE__ */ G(Bn, { ...e })
|
|
2428
2427
|
})
|
|
2429
2428
|
] });
|
|
2430
2429
|
}
|
|
2431
2430
|
//#endregion
|
|
2432
2431
|
//#region src/bento/bento-form-hero.tsx
|
|
2433
|
-
function
|
|
2434
|
-
let { t: _ } =
|
|
2435
|
-
return /* @__PURE__ */ W
|
|
2432
|
+
function Un({ eyebrow: e, backTo: t, backLabel: n, trail: r, leading: i, title: o, subtitle: s, trailing: c, onCancel: l, actions: u, loading: d, dirty: f, titleMissing: p, saveDisabled: m, stickyTitle: h, stickyBadges: g }) {
|
|
2433
|
+
let { t: _ } = q(), v = m ?? (!!p || !f), y = St(r, t, n) ?? e;
|
|
2434
|
+
return /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Ct, {
|
|
2436
2435
|
eyebrow: y,
|
|
2437
2436
|
leading: i,
|
|
2438
2437
|
title: o,
|
|
2439
2438
|
subtitle: s,
|
|
2440
|
-
trailing: /* @__PURE__ */ W
|
|
2439
|
+
trailing: /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("div", {
|
|
2441
2440
|
className: "bento-fade-out flex shrink-0 items-center gap-2",
|
|
2442
|
-
children: u ?? /* @__PURE__ */ W
|
|
2441
|
+
children: u ?? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ K(a, {
|
|
2443
2442
|
type: "submit",
|
|
2444
2443
|
size: "sm",
|
|
2445
2444
|
loading: d,
|
|
2446
2445
|
"aria-disabled": v ? "true" : void 0,
|
|
2447
|
-
children: [/* @__PURE__ */
|
|
2448
|
-
}), /* @__PURE__ */
|
|
2446
|
+
children: [/* @__PURE__ */ G(Se, { className: "size-4" }), _("forms.formActions.saveChanges")]
|
|
2447
|
+
}), /* @__PURE__ */ K(a, {
|
|
2449
2448
|
type: "button",
|
|
2450
2449
|
variant: "outline",
|
|
2451
2450
|
size: "sm",
|
|
2452
2451
|
onClick: l,
|
|
2453
|
-
children: [/* @__PURE__ */
|
|
2452
|
+
children: [/* @__PURE__ */ G(ze, { className: "size-4" }), _("forms.formActions.cancel")]
|
|
2454
2453
|
})] })
|
|
2455
2454
|
}), c] })
|
|
2456
|
-
}), /* @__PURE__ */
|
|
2455
|
+
}), /* @__PURE__ */ G(Hn, {
|
|
2457
2456
|
title: h,
|
|
2458
2457
|
badges: g,
|
|
2459
2458
|
actions: u,
|
|
@@ -2466,43 +2465,43 @@ function Hn({ eyebrow: e, backTo: t, backLabel: n, trail: r, leading: i, title:
|
|
|
2466
2465
|
}
|
|
2467
2466
|
//#endregion
|
|
2468
2467
|
//#region src/bento/bento-form-section.tsx
|
|
2469
|
-
var
|
|
2470
|
-
function
|
|
2471
|
-
return /* @__PURE__ */
|
|
2472
|
-
className: e(
|
|
2473
|
-
children: [/* @__PURE__ */
|
|
2468
|
+
var Wn = "bento-tile bento-glass relative flex flex-col gap-5 overflow-hidden rounded-3xl p-5 md:p-6";
|
|
2469
|
+
function Gn({ icon: t, title: n, description: r, children: i, trailing: a, as: o = "h2", className: s }) {
|
|
2470
|
+
return /* @__PURE__ */ K("section", {
|
|
2471
|
+
className: e(Wn, s),
|
|
2472
|
+
children: [/* @__PURE__ */ K("header", {
|
|
2474
2473
|
className: "flex items-start justify-between gap-3",
|
|
2475
|
-
children: [/* @__PURE__ */
|
|
2474
|
+
children: [/* @__PURE__ */ K("div", {
|
|
2476
2475
|
className: "flex items-center gap-3",
|
|
2477
|
-
children: [/* @__PURE__ */
|
|
2478
|
-
className:
|
|
2479
|
-
children: /* @__PURE__ */
|
|
2480
|
-
}), /* @__PURE__ */
|
|
2476
|
+
children: [/* @__PURE__ */ G("span", {
|
|
2477
|
+
className: "bento-well grid h-10 w-10 place-items-center rounded-2xl",
|
|
2478
|
+
children: /* @__PURE__ */ G(t, { size: 20 })
|
|
2479
|
+
}), /* @__PURE__ */ K("div", {
|
|
2481
2480
|
className: "flex flex-col gap-0.5",
|
|
2482
|
-
children: [/* @__PURE__ */
|
|
2481
|
+
children: [/* @__PURE__ */ G(o, {
|
|
2483
2482
|
className: "text-base font-semibold tracking-tight md:text-lg",
|
|
2484
|
-
children:
|
|
2485
|
-
}),
|
|
2483
|
+
children: n
|
|
2484
|
+
}), r && /* @__PURE__ */ G("p", {
|
|
2486
2485
|
className: "text-sm text-muted-foreground",
|
|
2487
|
-
children:
|
|
2486
|
+
children: r
|
|
2488
2487
|
})]
|
|
2489
2488
|
})]
|
|
2490
|
-
}),
|
|
2489
|
+
}), a && /* @__PURE__ */ G("div", {
|
|
2491
2490
|
className: "shrink-0",
|
|
2492
|
-
children:
|
|
2491
|
+
children: a
|
|
2493
2492
|
})]
|
|
2494
|
-
}), /* @__PURE__ */
|
|
2493
|
+
}), /* @__PURE__ */ G("div", {
|
|
2495
2494
|
className: "flex flex-col gap-5",
|
|
2496
|
-
children:
|
|
2495
|
+
children: i
|
|
2497
2496
|
})]
|
|
2498
2497
|
});
|
|
2499
2498
|
}
|
|
2500
2499
|
//#endregion
|
|
2501
2500
|
//#region src/bento/bento-panel.tsx
|
|
2502
|
-
function
|
|
2503
|
-
return /* @__PURE__ */
|
|
2501
|
+
function Kn({ children: t, className: n, contentClassName: r }) {
|
|
2502
|
+
return /* @__PURE__ */ G("div", {
|
|
2504
2503
|
className: e("bento-glass rounded-2xl shadow-md", n),
|
|
2505
|
-
children: /* @__PURE__ */
|
|
2504
|
+
children: /* @__PURE__ */ G("div", {
|
|
2506
2505
|
className: r,
|
|
2507
2506
|
children: t
|
|
2508
2507
|
})
|
|
@@ -2510,16 +2509,16 @@ function Gn({ children: t, className: n, contentClassName: r }) {
|
|
|
2510
2509
|
}
|
|
2511
2510
|
//#endregion
|
|
2512
2511
|
//#region src/bento/bento-back-to-top.tsx
|
|
2513
|
-
var
|
|
2514
|
-
function
|
|
2512
|
+
var qn = 480;
|
|
2513
|
+
function Jn(e) {
|
|
2515
2514
|
return window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
|
|
2516
2515
|
}
|
|
2517
|
-
function
|
|
2518
|
-
return window.scrollY >
|
|
2516
|
+
function Yn() {
|
|
2517
|
+
return window.scrollY > qn;
|
|
2519
2518
|
}
|
|
2520
|
-
function
|
|
2521
|
-
let { t } =
|
|
2522
|
-
return /* @__PURE__ */
|
|
2519
|
+
function Xn({ inline: e = !1 } = {}) {
|
|
2520
|
+
let { t } = q(), n = te(), r = e || n, i = U(Jn, Yn, () => !1);
|
|
2521
|
+
return /* @__PURE__ */ G("button", {
|
|
2523
2522
|
type: "button",
|
|
2524
2523
|
"aria-label": t("bento.backToTop", { defaultValue: "Back to top" }),
|
|
2525
2524
|
tabIndex: i ? 0 : -1,
|
|
@@ -2528,28 +2527,28 @@ function Yn({ inline: e = !1 } = {}) {
|
|
|
2528
2527
|
behavior: "smooth"
|
|
2529
2528
|
}),
|
|
2530
2529
|
className: `${r ? "relative" : "fixed bottom-6 right-6 z-40"} grid h-11 w-11 place-items-center rounded-full border border-border/60 bg-card/80 text-foreground shadow-lg backdrop-blur-xl transition-all duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] hover:-translate-y-0.5 hover:shadow-xl active:scale-95 ${i ? "pointer-events-auto translate-y-0 scale-100 opacity-100" : "pointer-events-none translate-y-4 scale-90 opacity-0"}`,
|
|
2531
|
-
children: /* @__PURE__ */
|
|
2530
|
+
children: /* @__PURE__ */ G(he, { size: 18 })
|
|
2532
2531
|
});
|
|
2533
2532
|
}
|
|
2534
2533
|
//#endregion
|
|
2535
2534
|
//#region src/bento/bento-nav.ts
|
|
2536
|
-
function
|
|
2535
|
+
function Zn(e) {
|
|
2537
2536
|
return e.bentoRoute ?? e.fallbackRoute;
|
|
2538
2537
|
}
|
|
2539
2538
|
//#endregion
|
|
2540
2539
|
//#region src/bento/bento-command-palette.tsx
|
|
2541
|
-
function
|
|
2542
|
-
return e ? /* @__PURE__ */
|
|
2540
|
+
function Qn({ label: e, children: t }) {
|
|
2541
|
+
return e ? /* @__PURE__ */ K("div", {
|
|
2543
2542
|
role: "group",
|
|
2544
2543
|
"aria-label": e,
|
|
2545
|
-
children: [/* @__PURE__ */
|
|
2544
|
+
children: [/* @__PURE__ */ G("p", {
|
|
2546
2545
|
className: "px-3 pt-2 pb-1 text-xs font-medium text-muted-foreground",
|
|
2547
2546
|
children: e
|
|
2548
2547
|
}), t]
|
|
2549
|
-
}) : /* @__PURE__ */
|
|
2548
|
+
}) : /* @__PURE__ */ G(W, { children: t });
|
|
2550
2549
|
}
|
|
2551
|
-
function
|
|
2552
|
-
return /* @__PURE__ */
|
|
2550
|
+
function $n({ index: e, active: t, icon: n, label: r, description: i, trailing: a, onActivate: o, onChoose: s }) {
|
|
2551
|
+
return /* @__PURE__ */ K("button", {
|
|
2553
2552
|
type: "button",
|
|
2554
2553
|
id: `bento-palette-opt-${e}`,
|
|
2555
2554
|
"data-index": e,
|
|
@@ -2559,18 +2558,18 @@ function Qn({ index: e, active: t, icon: n, label: r, description: i, trailing:
|
|
|
2559
2558
|
onClick: s,
|
|
2560
2559
|
className: `flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${t ? "bg-accent text-accent-foreground" : "text-foreground"}`,
|
|
2561
2560
|
children: [
|
|
2562
|
-
n && /* @__PURE__ */
|
|
2561
|
+
n && /* @__PURE__ */ G(n, {
|
|
2563
2562
|
size: 18,
|
|
2564
2563
|
className: "shrink-0 text-muted-foreground"
|
|
2565
2564
|
}),
|
|
2566
|
-
/* @__PURE__ */
|
|
2565
|
+
/* @__PURE__ */ K("span", {
|
|
2567
2566
|
className: "flex-1 truncate",
|
|
2568
|
-
children: [r, i && /* @__PURE__ */
|
|
2567
|
+
children: [r, i && /* @__PURE__ */ G("span", {
|
|
2569
2568
|
className: "ml-2 text-muted-foreground",
|
|
2570
2569
|
children: i
|
|
2571
2570
|
})]
|
|
2572
2571
|
}),
|
|
2573
|
-
a ?? (t && /* @__PURE__ */
|
|
2572
|
+
a ?? (t && /* @__PURE__ */ G(me, {
|
|
2574
2573
|
"aria-hidden": !0,
|
|
2575
2574
|
size: 15,
|
|
2576
2575
|
className: "shrink-0 text-muted-foreground"
|
|
@@ -2578,8 +2577,8 @@ function Qn({ index: e, active: t, icon: n, label: r, description: i, trailing:
|
|
|
2578
2577
|
]
|
|
2579
2578
|
});
|
|
2580
2579
|
}
|
|
2581
|
-
function
|
|
2582
|
-
let { t: l } =
|
|
2580
|
+
function er({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c }) {
|
|
2581
|
+
let { t: l } = q(), u = Ge(), [d, f] = H(""), [p, m] = H(0), h = V(null), g = le(() => {
|
|
2583
2582
|
let e = d.trim().toLowerCase(), t = a.map((e) => ({
|
|
2584
2583
|
item: e,
|
|
2585
2584
|
label: l(e.titleKey),
|
|
@@ -2593,26 +2592,26 @@ function $n({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c })
|
|
|
2593
2592
|
a,
|
|
2594
2593
|
d,
|
|
2595
2594
|
l
|
|
2596
|
-
]), _ =
|
|
2595
|
+
]), _ = le(() => [...g.map((e) => ({
|
|
2597
2596
|
kind: "nav",
|
|
2598
2597
|
entry: e
|
|
2599
2598
|
})), ...(o?.items ?? []).map((e) => ({
|
|
2600
2599
|
kind: "supplied",
|
|
2601
2600
|
item: e
|
|
2602
|
-
}))], [g, o]), v =
|
|
2603
|
-
|
|
2601
|
+
}))], [g, o]), v = V(c);
|
|
2602
|
+
B(() => {
|
|
2604
2603
|
v.current = c;
|
|
2605
|
-
}),
|
|
2604
|
+
}), B(() => {
|
|
2606
2605
|
v.current?.(d);
|
|
2607
2606
|
}, [d]);
|
|
2608
|
-
let [y, b] =
|
|
2607
|
+
let [y, b] = H(e);
|
|
2609
2608
|
e !== y && (b(e), e && (f(""), m(0)));
|
|
2610
2609
|
let x = _.length === 0 ? 0 : _.length - 1;
|
|
2611
|
-
p > x && m(x),
|
|
2610
|
+
p > x && m(x), B(() => {
|
|
2612
2611
|
(h.current?.querySelector(`[data-index="${p}"]`))?.scrollIntoView({ block: "nearest" });
|
|
2613
2612
|
}, [p]);
|
|
2614
2613
|
function S(e) {
|
|
2615
|
-
t(!1), e.kind === "nav" ? u(
|
|
2614
|
+
t(!1), e.kind === "nav" ? u(Zn(e.entry.item)) : o?.onSelect(e.item);
|
|
2616
2615
|
}
|
|
2617
2616
|
function C(e) {
|
|
2618
2617
|
if (e.key === "ArrowDown") e.preventDefault(), m((e) => _.length === 0 ? 0 : (e + 1) % _.length);
|
|
@@ -2623,28 +2622,28 @@ function $n({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c })
|
|
|
2623
2622
|
t && S(t);
|
|
2624
2623
|
}
|
|
2625
2624
|
}
|
|
2626
|
-
return /* @__PURE__ */
|
|
2625
|
+
return /* @__PURE__ */ G(n, {
|
|
2627
2626
|
open: e,
|
|
2628
2627
|
onOpenChange: t,
|
|
2629
|
-
children: /* @__PURE__ */
|
|
2628
|
+
children: /* @__PURE__ */ K(s, {
|
|
2630
2629
|
showCloseButton: !1,
|
|
2631
2630
|
className: "top-[15%] max-w-xl translate-y-0 gap-0 overflow-hidden p-0",
|
|
2632
2631
|
onKeyDown: C,
|
|
2633
2632
|
children: [
|
|
2634
|
-
/* @__PURE__ */
|
|
2633
|
+
/* @__PURE__ */ G(i, {
|
|
2635
2634
|
className: "sr-only",
|
|
2636
2635
|
children: l("bento.palette.title", { defaultValue: "Command palette" })
|
|
2637
2636
|
}),
|
|
2638
|
-
/* @__PURE__ */
|
|
2637
|
+
/* @__PURE__ */ G(r, {
|
|
2639
2638
|
className: "sr-only",
|
|
2640
2639
|
children: l("bento.palette.description", { defaultValue: "Search and jump to any area" })
|
|
2641
2640
|
}),
|
|
2642
|
-
/* @__PURE__ */
|
|
2641
|
+
/* @__PURE__ */ K("div", {
|
|
2643
2642
|
className: "flex items-center gap-3 border-b border-border/60 px-4",
|
|
2644
|
-
children: [/* @__PURE__ */
|
|
2643
|
+
children: [/* @__PURE__ */ G(Ne, {
|
|
2645
2644
|
size: 18,
|
|
2646
2645
|
className: "shrink-0 text-muted-foreground"
|
|
2647
|
-
}), /* @__PURE__ */
|
|
2646
|
+
}), /* @__PURE__ */ G("input", {
|
|
2648
2647
|
autoFocus: !0,
|
|
2649
2648
|
type: "text",
|
|
2650
2649
|
role: "combobox",
|
|
@@ -2657,41 +2656,41 @@ function $n({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c })
|
|
|
2657
2656
|
className: "h-12 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground"
|
|
2658
2657
|
})]
|
|
2659
2658
|
}),
|
|
2660
|
-
/* @__PURE__ */
|
|
2659
|
+
/* @__PURE__ */ K("div", {
|
|
2661
2660
|
ref: h,
|
|
2662
2661
|
id: "bento-palette-list",
|
|
2663
2662
|
role: "listbox",
|
|
2664
2663
|
"aria-label": l("bento.palette.title", { defaultValue: "Command palette" }),
|
|
2665
2664
|
className: "max-h-80 overflow-y-auto p-2",
|
|
2666
2665
|
children: [
|
|
2667
|
-
_.length === 0 && !o?.pending && /* @__PURE__ */
|
|
2666
|
+
_.length === 0 && !o?.pending && /* @__PURE__ */ G("p", {
|
|
2668
2667
|
className: "px-3 py-6 text-center text-sm text-muted-foreground",
|
|
2669
2668
|
children: l("bento.palette.noResults", { defaultValue: "No matches" })
|
|
2670
2669
|
}),
|
|
2671
|
-
/* @__PURE__ */
|
|
2670
|
+
/* @__PURE__ */ G(Qn, {
|
|
2672
2671
|
label: o && g.length > 0 ? l("bento.palette.areas", { defaultValue: "Areas" }) : void 0,
|
|
2673
|
-
children: g.map(({ item: e, label: t }, n) => /* @__PURE__ */
|
|
2672
|
+
children: g.map(({ item: e, label: t }, n) => /* @__PURE__ */ G($n, {
|
|
2674
2673
|
index: n,
|
|
2675
2674
|
active: n === p,
|
|
2676
2675
|
icon: e.icon,
|
|
2677
2676
|
label: t,
|
|
2678
2677
|
onActivate: () => m(n),
|
|
2679
2678
|
onChoose: () => S(_[n]),
|
|
2680
|
-
trailing: e.bentoRoute ? void 0 : /* @__PURE__ */ W
|
|
2679
|
+
trailing: e.bentoRoute ? void 0 : /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(we, {
|
|
2681
2680
|
"aria-hidden": !0,
|
|
2682
2681
|
size: 15,
|
|
2683
2682
|
className: "shrink-0 text-muted-foreground/70"
|
|
2684
|
-
}), /* @__PURE__ */
|
|
2683
|
+
}), /* @__PURE__ */ G("span", {
|
|
2685
2684
|
className: "sr-only",
|
|
2686
2685
|
children: l("bento.palette.opensConsole", { defaultValue: "Opens in console" })
|
|
2687
2686
|
})] })
|
|
2688
2687
|
}, e.id))
|
|
2689
2688
|
}),
|
|
2690
|
-
o && /* @__PURE__ */
|
|
2689
|
+
o && /* @__PURE__ */ K(Qn, {
|
|
2691
2690
|
label: o.label,
|
|
2692
2691
|
children: [o.items.map((e, t) => {
|
|
2693
2692
|
let n = g.length + t;
|
|
2694
|
-
return /* @__PURE__ */
|
|
2693
|
+
return /* @__PURE__ */ G($n, {
|
|
2695
2694
|
index: n,
|
|
2696
2695
|
active: n === p,
|
|
2697
2696
|
icon: e.icon,
|
|
@@ -2700,7 +2699,7 @@ function $n({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c })
|
|
|
2700
2699
|
onActivate: () => m(n),
|
|
2701
2700
|
onChoose: () => S(_[n])
|
|
2702
2701
|
}, e.id);
|
|
2703
|
-
}), o.pending && /* @__PURE__ */
|
|
2702
|
+
}), o.pending && /* @__PURE__ */ G("p", {
|
|
2704
2703
|
className: "px-3 py-2.5 text-sm text-muted-foreground",
|
|
2705
2704
|
children: l("bento.palette.searching", { defaultValue: "Searching…" })
|
|
2706
2705
|
})]
|
|
@@ -2713,22 +2712,22 @@ function $n({ open: e, onOpenChange: t, items: a, group: o, onQueryChange: c })
|
|
|
2713
2712
|
}
|
|
2714
2713
|
//#endregion
|
|
2715
2714
|
//#region src/bento/bento-shell.tsx
|
|
2716
|
-
function
|
|
2717
|
-
let { t: c } =
|
|
2715
|
+
function tr({ rail: t, headerStart: n, headerEnd: r, column: i = "default", dock: a, backToTop: o = !0, children: s }) {
|
|
2716
|
+
let { t: c } = q(), l = Ue(), u = ce(), d = V(null), f = V(null), p = i === "full", m = n != null || r != null, h = O(), g = null;
|
|
2718
2717
|
a != null && (g = h ? m ? "header" : "corner" : t == null ? "corner" : "rail");
|
|
2719
|
-
let _ = o || g === "corner", v = (e) => /* @__PURE__ */
|
|
2718
|
+
let _ = o || g === "corner", v = (e) => /* @__PURE__ */ G(F.Provider, {
|
|
2720
2719
|
value: !0,
|
|
2721
|
-
children: /* @__PURE__ */
|
|
2720
|
+
children: /* @__PURE__ */ G(k.Provider, {
|
|
2722
2721
|
value: e,
|
|
2723
2722
|
children: a
|
|
2724
2723
|
})
|
|
2725
2724
|
});
|
|
2726
|
-
return /* @__PURE__ */
|
|
2725
|
+
return /* @__PURE__ */ K("div", {
|
|
2727
2726
|
"data-slot": "bento-shell",
|
|
2728
2727
|
className: e("relative w-full bg-background text-foreground", t != null && "bento-rail-gutter", p ? "flex h-svh flex-col overflow-hidden" : "min-h-svh"),
|
|
2729
2728
|
style: g === "rail" ? { "--bento-rail-foot": "4.5rem" } : void 0,
|
|
2730
2729
|
children: [
|
|
2731
|
-
/* @__PURE__ */
|
|
2730
|
+
/* @__PURE__ */ G("a", {
|
|
2732
2731
|
href: `#${u}`,
|
|
2733
2732
|
onClick: (e) => {
|
|
2734
2733
|
e.preventDefault(), d.current?.focus();
|
|
@@ -2736,37 +2735,37 @@ function er({ rail: t, headerStart: n, headerEnd: r, column: i = "default", dock
|
|
|
2736
2735
|
className: "sr-only rounded-full border border-border/60 bg-card px-4 py-2 text-sm shadow-lg focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-[60]",
|
|
2737
2736
|
children: c("bento.shell.skip", { defaultValue: "Skip to content" })
|
|
2738
2737
|
}),
|
|
2739
|
-
/* @__PURE__ */
|
|
2738
|
+
/* @__PURE__ */ G("span", {
|
|
2740
2739
|
ref: f,
|
|
2741
2740
|
role: "status",
|
|
2742
2741
|
"aria-live": "polite",
|
|
2743
2742
|
className: "sr-only"
|
|
2744
2743
|
}),
|
|
2745
|
-
l && /* @__PURE__ */
|
|
2744
|
+
l && /* @__PURE__ */ G(nr, {
|
|
2746
2745
|
main: d,
|
|
2747
2746
|
announcer: f
|
|
2748
2747
|
}),
|
|
2749
2748
|
t,
|
|
2750
|
-
g === "rail" && /* @__PURE__ */
|
|
2749
|
+
g === "rail" && /* @__PURE__ */ G("div", {
|
|
2751
2750
|
"data-slot": "bento-shell-dock",
|
|
2752
2751
|
className: "pointer-events-none fixed bottom-4 left-[18px] z-50 flex flex-col items-start",
|
|
2753
2752
|
children: v("rail")
|
|
2754
2753
|
}),
|
|
2755
|
-
m && /* @__PURE__ */
|
|
2754
|
+
m && /* @__PURE__ */ K("header", {
|
|
2756
2755
|
className: "bento-shell-header bento-shell-bar sticky top-0 z-30 flex shrink-0 items-center justify-between gap-3 border-b border-border/40 bg-background/55 py-3 backdrop-blur-xl backdrop-saturate-150",
|
|
2757
|
-
children: [/* @__PURE__ */
|
|
2756
|
+
children: [/* @__PURE__ */ G("div", {
|
|
2758
2757
|
className: "flex min-w-0 items-center gap-3",
|
|
2759
2758
|
children: n
|
|
2760
|
-
}), /* @__PURE__ */
|
|
2759
|
+
}), /* @__PURE__ */ K("div", {
|
|
2761
2760
|
className: "flex items-center gap-2",
|
|
2762
|
-
children: [r, g === "header" && /* @__PURE__ */
|
|
2761
|
+
children: [r, g === "header" && /* @__PURE__ */ G("div", {
|
|
2763
2762
|
"data-slot": "bento-shell-dock",
|
|
2764
2763
|
className: "relative flex",
|
|
2765
2764
|
children: v("header")
|
|
2766
2765
|
})]
|
|
2767
2766
|
})]
|
|
2768
2767
|
}),
|
|
2769
|
-
/* @__PURE__ */
|
|
2768
|
+
/* @__PURE__ */ G("main", {
|
|
2770
2769
|
ref: d,
|
|
2771
2770
|
id: u,
|
|
2772
2771
|
tabIndex: -1,
|
|
@@ -2775,20 +2774,20 @@ function er({ rail: t, headerStart: n, headerEnd: r, column: i = "default", dock
|
|
|
2775
2774
|
className: "bento-shell-main",
|
|
2776
2775
|
children: s
|
|
2777
2776
|
}),
|
|
2778
|
-
_ && /* @__PURE__ */
|
|
2777
|
+
_ && /* @__PURE__ */ G("div", {
|
|
2779
2778
|
"data-slot": "bento-shell-corner",
|
|
2780
2779
|
className: "pointer-events-none fixed bottom-5 right-5 z-50 flex flex-col items-end gap-3",
|
|
2781
|
-
children: /* @__PURE__ */
|
|
2780
|
+
children: /* @__PURE__ */ K(F.Provider, {
|
|
2782
2781
|
value: !0,
|
|
2783
|
-
children: [o && /* @__PURE__ */
|
|
2782
|
+
children: [o && /* @__PURE__ */ G(Xn, {}), g === "corner" && v("corner")]
|
|
2784
2783
|
})
|
|
2785
2784
|
})
|
|
2786
2785
|
]
|
|
2787
2786
|
});
|
|
2788
2787
|
}
|
|
2789
|
-
function
|
|
2790
|
-
let { pathname: n } =
|
|
2791
|
-
return
|
|
2788
|
+
function nr({ main: e, announcer: t }) {
|
|
2789
|
+
let { pathname: n } = We(), r = V(n);
|
|
2790
|
+
return B(() => {
|
|
2792
2791
|
if (r.current === n) return;
|
|
2793
2792
|
r.current = n;
|
|
2794
2793
|
let i = 0, a, o = () => {
|
|
@@ -2808,7 +2807,7 @@ function tr({ main: e, announcer: t }) {
|
|
|
2808
2807
|
}
|
|
2809
2808
|
//#endregion
|
|
2810
2809
|
//#region src/bento/bento-shell-shortcuts.ts
|
|
2811
|
-
var
|
|
2810
|
+
var rr = Object.freeze([
|
|
2812
2811
|
{
|
|
2813
2812
|
action: "palette",
|
|
2814
2813
|
key: "k",
|
|
@@ -2823,14 +2822,14 @@ var nr = Object.freeze([
|
|
|
2823
2822
|
key: "?"
|
|
2824
2823
|
}
|
|
2825
2824
|
]);
|
|
2826
|
-
function
|
|
2825
|
+
function ir() {
|
|
2827
2826
|
return typeof navigator > "u" ? !1 : /Mac|iPhone|iPad|iPod/.test(navigator.platform || navigator.userAgent || "");
|
|
2828
2827
|
}
|
|
2829
|
-
function
|
|
2828
|
+
function ar(e, t) {
|
|
2830
2829
|
let n = e.key.length === 1 ? e.key.toUpperCase() : e.key;
|
|
2831
2830
|
return e.mod ? [t ? "⌘" : "Ctrl", n] : [n];
|
|
2832
2831
|
}
|
|
2833
|
-
function
|
|
2832
|
+
function or(e) {
|
|
2834
2833
|
if (!(e instanceof HTMLElement)) return !1;
|
|
2835
2834
|
if ([
|
|
2836
2835
|
"INPUT",
|
|
@@ -2840,24 +2839,24 @@ function ar(e) {
|
|
|
2840
2839
|
let t = e.closest("[contenteditable]");
|
|
2841
2840
|
return t !== null && t.getAttribute("contenteditable") !== "false";
|
|
2842
2841
|
}
|
|
2843
|
-
function
|
|
2842
|
+
function sr(e, t) {
|
|
2844
2843
|
if (e.defaultPrevented || e.isComposing || e.repeat) return;
|
|
2845
2844
|
let n = e.key.toLowerCase();
|
|
2846
|
-
return
|
|
2845
|
+
return rr.find((r) => n === r.key ? r.mod ? (t ? e.metaKey && !e.ctrlKey : e.ctrlKey && !e.metaKey) && !e.altKey && !e.shiftKey : e.metaKey || or(e.target) ? !1 : e.ctrlKey === e.altKey : !1);
|
|
2847
2846
|
}
|
|
2848
|
-
function
|
|
2849
|
-
let r =
|
|
2847
|
+
function cr({ onPalette: e, onShortcuts: t, isMac: n = ir() }) {
|
|
2848
|
+
let r = V({
|
|
2850
2849
|
onPalette: e,
|
|
2851
2850
|
onShortcuts: t
|
|
2852
2851
|
});
|
|
2853
|
-
|
|
2852
|
+
B(() => {
|
|
2854
2853
|
r.current = {
|
|
2855
2854
|
onPalette: e,
|
|
2856
2855
|
onShortcuts: t
|
|
2857
2856
|
};
|
|
2858
|
-
}),
|
|
2857
|
+
}), B(() => {
|
|
2859
2858
|
function e(e) {
|
|
2860
|
-
let t =
|
|
2859
|
+
let t = sr(e, n), i = t?.action === "palette" ? r.current.onPalette : t && r.current.onShortcuts;
|
|
2861
2860
|
i && (e.preventDefault(), i());
|
|
2862
2861
|
}
|
|
2863
2862
|
return globalThis.addEventListener("keydown", e), () => globalThis.removeEventListener("keydown", e);
|
|
@@ -2865,42 +2864,42 @@ function sr({ onPalette: e, onShortcuts: t, isMac: n = rr() }) {
|
|
|
2865
2864
|
}
|
|
2866
2865
|
//#endregion
|
|
2867
2866
|
//#region src/bento/bento-palette-trigger.tsx
|
|
2868
|
-
function
|
|
2869
|
-
let { t: i } =
|
|
2870
|
-
return /* @__PURE__ */
|
|
2867
|
+
function lr({ onClick: t, isMac: n = ir(), className: r }) {
|
|
2868
|
+
let { t: i } = q(), a = rr.filter((e) => e.action === "palette"), o = a.find((e) => e.mod);
|
|
2869
|
+
return /* @__PURE__ */ K("button", {
|
|
2871
2870
|
type: "button",
|
|
2872
2871
|
onClick: t,
|
|
2873
2872
|
"aria-keyshortcuts": a.map((e) => e.mod ? `${n ? "Meta" : "Control"}+${e.key.toUpperCase()}` : e.key).join(" "),
|
|
2874
2873
|
className: e("bento-tile bento-tile-clickable inline-flex items-center gap-2 rounded-full border border-border/60 bg-card/60 py-1.5 pl-3 pr-2 text-sm text-muted-foreground backdrop-blur hover:text-foreground", r),
|
|
2875
2874
|
children: [
|
|
2876
|
-
/* @__PURE__ */
|
|
2875
|
+
/* @__PURE__ */ G(Ne, {
|
|
2877
2876
|
"aria-hidden": !0,
|
|
2878
2877
|
size: 16
|
|
2879
2878
|
}),
|
|
2880
|
-
/* @__PURE__ */
|
|
2879
|
+
/* @__PURE__ */ G("span", {
|
|
2881
2880
|
className: "sr-only sm:not-sr-only",
|
|
2882
2881
|
children: i("bento.palette.search", { defaultValue: "Search" })
|
|
2883
2882
|
}),
|
|
2884
|
-
o && /* @__PURE__ */
|
|
2883
|
+
o && /* @__PURE__ */ G("kbd", {
|
|
2885
2884
|
"aria-hidden": !0,
|
|
2886
|
-
className: "hidden rounded border border-border/60 bg-muted px-1.5 py-0.5 text-[10px] font-medium tracking-wide sm:inline",
|
|
2887
|
-
children:
|
|
2885
|
+
className: "hidden rounded-sm border border-border/60 bg-muted px-1.5 py-0.5 text-[10px] font-medium tracking-wide sm:inline",
|
|
2886
|
+
children: ar(o, n).join(n ? "" : " ")
|
|
2888
2887
|
})
|
|
2889
2888
|
]
|
|
2890
2889
|
});
|
|
2891
2890
|
}
|
|
2892
2891
|
//#endregion
|
|
2893
2892
|
//#region src/bento/bento-shortcuts-dialog.tsx
|
|
2894
|
-
function
|
|
2895
|
-
let { t: c } =
|
|
2893
|
+
function ur({ open: e, onOpenChange: t, isMac: a = ir() }) {
|
|
2894
|
+
let { t: c } = q(), l = {
|
|
2896
2895
|
palette: c("bento.palette.open", { defaultValue: "Open command palette" }),
|
|
2897
2896
|
shortcuts: c("bento.shortcuts.openGuide", { defaultValue: "Show keyboard shortcuts" })
|
|
2898
|
-
}, u = [...new Set(
|
|
2897
|
+
}, u = [...new Set(rr.map((e) => e.action))], d = [{
|
|
2899
2898
|
heading: c("bento.shortcuts.global", { defaultValue: "Global" }),
|
|
2900
2899
|
rows: u.map((e) => ({
|
|
2901
2900
|
id: e,
|
|
2902
2901
|
label: l[e],
|
|
2903
|
-
combos:
|
|
2902
|
+
combos: rr.filter((t) => t.action === e).map((e) => ar(e, a))
|
|
2904
2903
|
}))
|
|
2905
2904
|
}, {
|
|
2906
2905
|
heading: c("bento.shortcuts.palette", { defaultValue: "Command palette" }),
|
|
@@ -2922,36 +2921,36 @@ function lr({ open: e, onOpenChange: t, isMac: a = rr() }) {
|
|
|
2922
2921
|
}
|
|
2923
2922
|
]
|
|
2924
2923
|
}];
|
|
2925
|
-
return /* @__PURE__ */
|
|
2924
|
+
return /* @__PURE__ */ G(n, {
|
|
2926
2925
|
open: e,
|
|
2927
2926
|
onOpenChange: t,
|
|
2928
|
-
children: /* @__PURE__ */
|
|
2927
|
+
children: /* @__PURE__ */ K(s, {
|
|
2929
2928
|
className: "max-w-md",
|
|
2930
|
-
children: [/* @__PURE__ */
|
|
2929
|
+
children: [/* @__PURE__ */ K(o, { children: [/* @__PURE__ */ K(i, {
|
|
2931
2930
|
className: "flex items-center gap-2",
|
|
2932
|
-
children: [/* @__PURE__ */
|
|
2931
|
+
children: [/* @__PURE__ */ G(De, {
|
|
2933
2932
|
size: 20,
|
|
2934
2933
|
className: "bento-accent-icon"
|
|
2935
2934
|
}), c("bento.shortcuts.title", { defaultValue: "Keyboard shortcuts" })]
|
|
2936
|
-
}), /* @__PURE__ */
|
|
2935
|
+
}), /* @__PURE__ */ G(r, { children: c("bento.shortcuts.description", { defaultValue: "Move around without leaving the keyboard." }) })] }), /* @__PURE__ */ G("div", {
|
|
2937
2936
|
className: "flex flex-col gap-5",
|
|
2938
|
-
children: d.map((e) => /* @__PURE__ */
|
|
2937
|
+
children: d.map((e) => /* @__PURE__ */ K("section", { children: [/* @__PURE__ */ G("h3", {
|
|
2939
2938
|
className: "mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",
|
|
2940
2939
|
children: e.heading
|
|
2941
|
-
}), /* @__PURE__ */
|
|
2940
|
+
}), /* @__PURE__ */ G("ul", {
|
|
2942
2941
|
className: "flex flex-col gap-1.5",
|
|
2943
|
-
children: e.rows.map((e) => /* @__PURE__ */
|
|
2942
|
+
children: e.rows.map((e) => /* @__PURE__ */ K("li", {
|
|
2944
2943
|
"data-shortcut": e.id,
|
|
2945
2944
|
className: "flex items-center justify-between gap-4",
|
|
2946
|
-
children: [/* @__PURE__ */
|
|
2945
|
+
children: [/* @__PURE__ */ G("span", {
|
|
2947
2946
|
className: "text-sm text-foreground",
|
|
2948
2947
|
children: e.label
|
|
2949
|
-
}), /* @__PURE__ */
|
|
2948
|
+
}), /* @__PURE__ */ G("span", {
|
|
2950
2949
|
className: "flex shrink-0 items-center gap-1",
|
|
2951
|
-
children: e.combos.map((e, t) => /* @__PURE__ */
|
|
2950
|
+
children: e.combos.map((e, t) => /* @__PURE__ */ K(z, { children: [t > 0 && /* @__PURE__ */ G("span", {
|
|
2952
2951
|
className: "px-0.5 text-[11px] text-muted-foreground",
|
|
2953
2952
|
children: c("bento.shortcuts.or", { defaultValue: "or" })
|
|
2954
|
-
}), e.map((e) => /* @__PURE__ */
|
|
2953
|
+
}), e.map((e) => /* @__PURE__ */ G("kbd", {
|
|
2955
2954
|
className: "inline-flex min-w-6 items-center justify-center rounded-md border border-border/60 bg-muted px-1.5 py-0.5 text-[11px] font-medium tracking-wide",
|
|
2956
2955
|
children: e
|
|
2957
2956
|
}, e))] }, e.join("+")))
|
|
@@ -2964,93 +2963,93 @@ function lr({ open: e, onOpenChange: t, isMac: a = rr() }) {
|
|
|
2964
2963
|
}
|
|
2965
2964
|
//#endregion
|
|
2966
2965
|
//#region src/bento/bento-nav-rail.tsx
|
|
2967
|
-
var
|
|
2968
|
-
function
|
|
2966
|
+
var dr = Oe;
|
|
2967
|
+
function fr(e, t) {
|
|
2969
2968
|
return e === t || e.startsWith(`${t}/`);
|
|
2970
2969
|
}
|
|
2971
|
-
function
|
|
2972
|
-
return t.section.areaRoute &&
|
|
2970
|
+
function pr(e, t) {
|
|
2971
|
+
return t.section.areaRoute && fr(e, t.section.areaRoute) ? !0 : t.items.some((t) => t.bentoRoute && fr(e, t.bentoRoute));
|
|
2973
2972
|
}
|
|
2974
|
-
function
|
|
2973
|
+
function mr(e) {
|
|
2975
2974
|
return e.items.reduce((e, t) => e + (t.count && t.count > 0 ? t.count : 0), 0);
|
|
2976
2975
|
}
|
|
2977
|
-
function
|
|
2978
|
-
let { t: i } =
|
|
2979
|
-
return /* @__PURE__ */
|
|
2976
|
+
function hr({ groups: e, homeRoute: t, homeAliases: n, homeLabel: r }) {
|
|
2977
|
+
let { t: i } = q(), { pathname: a } = We(), o = le(() => e.filter((e) => !!e.section.areaRoute), [e]), s = a === t || (n?.includes(a) ?? !1);
|
|
2978
|
+
return /* @__PURE__ */ G(ne, {
|
|
2980
2979
|
delayDuration: 200,
|
|
2981
|
-
children: /* @__PURE__ */
|
|
2980
|
+
children: /* @__PURE__ */ K("nav", {
|
|
2982
2981
|
"aria-label": i("bento.nav.label", { defaultValue: "Primary" }),
|
|
2983
2982
|
className: "fixed inset-y-0 left-0 z-40 hidden w-20 flex-col items-center gap-1 overflow-y-auto overflow-x-hidden border-r border-border/40 bg-background/55 pt-20 pb-[calc(1rem+var(--bento-rail-foot,0px))] backdrop-blur-xl backdrop-saturate-150 md:flex",
|
|
2984
2983
|
children: [
|
|
2985
|
-
/* @__PURE__ */
|
|
2984
|
+
/* @__PURE__ */ G(gr, {
|
|
2986
2985
|
to: t,
|
|
2987
|
-
icon:
|
|
2986
|
+
icon: Ee,
|
|
2988
2987
|
label: r ?? i("home.title", { defaultValue: "Home" }),
|
|
2989
2988
|
shown: !0,
|
|
2990
2989
|
active: s
|
|
2991
2990
|
}),
|
|
2992
|
-
o.length > 0 && /* @__PURE__ */
|
|
2991
|
+
o.length > 0 && /* @__PURE__ */ G("span", {
|
|
2993
2992
|
"aria-hidden": !0,
|
|
2994
2993
|
className: "my-1 h-px w-6 bg-border/60"
|
|
2995
2994
|
}),
|
|
2996
|
-
o.map((e) => /* @__PURE__ */
|
|
2995
|
+
o.map((e) => /* @__PURE__ */ G(gr, {
|
|
2997
2996
|
to: e.section.areaRoute,
|
|
2998
|
-
icon: e.section.icon ??
|
|
2997
|
+
icon: e.section.icon ?? dr,
|
|
2999
2998
|
label: e.section.labelKey ? i(e.section.labelKey) : e.section.id,
|
|
3000
2999
|
shown: !!e.section.labelKey,
|
|
3001
|
-
count:
|
|
3002
|
-
active:
|
|
3000
|
+
count: mr(e),
|
|
3001
|
+
active: pr(a, e)
|
|
3003
3002
|
}, e.section.id))
|
|
3004
3003
|
]
|
|
3005
3004
|
})
|
|
3006
3005
|
});
|
|
3007
3006
|
}
|
|
3008
|
-
function
|
|
3009
|
-
let { t: o } =
|
|
3007
|
+
function gr({ to: e, icon: t, label: n, shown: r, count: i = 0, active: a }) {
|
|
3008
|
+
let { t: o } = q(), s = i > 0 ? o("bento.nav.count", {
|
|
3010
3009
|
count: i,
|
|
3011
3010
|
defaultValue: "{{count}} waiting"
|
|
3012
|
-
}) : null, c = /* @__PURE__ */
|
|
3011
|
+
}) : null, c = /* @__PURE__ */ K(He, {
|
|
3013
3012
|
to: e,
|
|
3014
3013
|
"aria-label": s ? `${n}, ${s}` : n,
|
|
3015
3014
|
"aria-current": a ? "page" : void 0,
|
|
3016
3015
|
className: `group flex w-full shrink-0 flex-col items-center gap-1 px-1 py-0.5 ${a ? "text-primary" : "text-muted-foreground hover:text-foreground"}`,
|
|
3017
|
-
children: [/* @__PURE__ */
|
|
3016
|
+
children: [/* @__PURE__ */ K("span", {
|
|
3018
3017
|
className: `bento-tile-clickable relative grid h-11 w-11 place-items-center rounded-2xl border transition-colors duration-200 ${a ? "bento-rail-active" : "border-transparent group-hover:border-border/60 group-hover:bg-card/60"}`,
|
|
3019
|
-
children: [/* @__PURE__ */
|
|
3018
|
+
children: [/* @__PURE__ */ G(t, { size: 20 }), i > 0 && /* @__PURE__ */ G("span", {
|
|
3020
3019
|
"aria-hidden": !0,
|
|
3021
3020
|
"data-slot": "bento-rail-count",
|
|
3022
3021
|
className: "absolute -right-1 -top-1 min-w-4 rounded-full bg-primary px-1 text-center text-[0.6875rem] leading-4 text-primary-foreground",
|
|
3023
3022
|
children: i > 99 ? "99+" : i
|
|
3024
3023
|
})]
|
|
3025
|
-
}), r && /* @__PURE__ */
|
|
3024
|
+
}), r && /* @__PURE__ */ G("span", {
|
|
3026
3025
|
"aria-hidden": !0,
|
|
3027
3026
|
title: n,
|
|
3028
3027
|
className: "w-full truncate text-center text-[0.6875rem] leading-4",
|
|
3029
3028
|
children: n
|
|
3030
3029
|
})]
|
|
3031
3030
|
});
|
|
3032
|
-
return r ? c : /* @__PURE__ */
|
|
3031
|
+
return r ? c : /* @__PURE__ */ K(D, { children: [/* @__PURE__ */ G(ie, {
|
|
3033
3032
|
asChild: !0,
|
|
3034
3033
|
children: c
|
|
3035
|
-
}), /* @__PURE__ */
|
|
3034
|
+
}), /* @__PURE__ */ G(w, {
|
|
3036
3035
|
side: "right",
|
|
3037
3036
|
children: n
|
|
3038
3037
|
})] });
|
|
3039
3038
|
}
|
|
3040
3039
|
//#endregion
|
|
3041
3040
|
//#region src/bento/bento-user-menu.tsx
|
|
3042
|
-
function
|
|
3043
|
-
let { user: o, status: s } =
|
|
3044
|
-
return s === "loading" ? /* @__PURE__ */
|
|
3041
|
+
function _r({ accountRoute: e, logoutUrl: t, organizationsRoute: n, tenantAdminRoute: r, onOpenShortcuts: i, onReplayTour: a }) {
|
|
3042
|
+
let { user: o, status: s } = N(), { t: c } = q(), l = Ge(), u = `${o.firstName ?? ""} ${o.lastName ?? ""}`.trim() || o.username || "";
|
|
3043
|
+
return s === "loading" ? /* @__PURE__ */ G("div", {
|
|
3045
3044
|
className: "h-9 w-9 rounded-full bg-muted/40",
|
|
3046
3045
|
"aria-hidden": !0
|
|
3047
|
-
}) : /* @__PURE__ */
|
|
3046
|
+
}) : /* @__PURE__ */ K(_, { children: [/* @__PURE__ */ G(P, {
|
|
3048
3047
|
asChild: !0,
|
|
3049
|
-
children: /* @__PURE__ */
|
|
3048
|
+
children: /* @__PURE__ */ G("button", {
|
|
3050
3049
|
type: "button",
|
|
3051
3050
|
title: u || o.username,
|
|
3052
3051
|
className: "bento-tile-clickable cursor-pointer rounded-full p-0.5 ring-1 ring-border/60 outline-none transition-shadow duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] bento-ring hover:ring-2 focus-visible:ring-2 focus-visible:ring-ring",
|
|
3053
|
-
children: /* @__PURE__ */
|
|
3052
|
+
children: /* @__PURE__ */ G(I, {
|
|
3054
3053
|
givenName: o.firstName,
|
|
3055
3054
|
familyName: o.lastName,
|
|
3056
3055
|
name: u || o.username,
|
|
@@ -3058,77 +3057,77 @@ function gr({ accountRoute: e, logoutUrl: t, organizationsRoute: n, tenantAdminR
|
|
|
3058
3057
|
alt: o.username
|
|
3059
3058
|
})
|
|
3060
3059
|
})
|
|
3061
|
-
}), /* @__PURE__ */
|
|
3060
|
+
}), /* @__PURE__ */ K(d, {
|
|
3062
3061
|
align: "end",
|
|
3063
3062
|
sideOffset: 10,
|
|
3064
3063
|
className: "bento-dropdown min-w-64 p-2",
|
|
3065
3064
|
children: [
|
|
3066
|
-
/* @__PURE__ */
|
|
3065
|
+
/* @__PURE__ */ G(y, {
|
|
3067
3066
|
className: "p-0 font-normal",
|
|
3068
|
-
children: /* @__PURE__ */
|
|
3067
|
+
children: /* @__PURE__ */ K("div", {
|
|
3069
3068
|
className: "flex items-center gap-3 rounded-xl px-2 py-2 text-left text-sm",
|
|
3070
|
-
children: [/* @__PURE__ */
|
|
3069
|
+
children: [/* @__PURE__ */ G("span", {
|
|
3071
3070
|
className: "rounded-full p-0.5 ring-1 ring-border/60",
|
|
3072
|
-
children: /* @__PURE__ */
|
|
3071
|
+
children: /* @__PURE__ */ G(I, {
|
|
3073
3072
|
givenName: o.firstName,
|
|
3074
3073
|
familyName: o.lastName,
|
|
3075
3074
|
name: u || o.username,
|
|
3076
3075
|
src: o.avatarUrl || void 0,
|
|
3077
3076
|
alt: o.username
|
|
3078
3077
|
})
|
|
3079
|
-
}), /* @__PURE__ */
|
|
3078
|
+
}), /* @__PURE__ */ K("div", {
|
|
3080
3079
|
className: "grid flex-1 text-left text-sm leading-tight",
|
|
3081
|
-
children: [u && /* @__PURE__ */
|
|
3080
|
+
children: [u && /* @__PURE__ */ G("span", {
|
|
3082
3081
|
className: "truncate font-medium",
|
|
3083
3082
|
children: u
|
|
3084
|
-
}), o.email && /* @__PURE__ */
|
|
3083
|
+
}), o.email && /* @__PURE__ */ G("span", {
|
|
3085
3084
|
className: "truncate text-xs text-muted-foreground",
|
|
3086
3085
|
children: o.email
|
|
3087
3086
|
})]
|
|
3088
3087
|
})]
|
|
3089
3088
|
})
|
|
3090
3089
|
}),
|
|
3091
|
-
/* @__PURE__ */
|
|
3092
|
-
/* @__PURE__ */
|
|
3093
|
-
/* @__PURE__ */
|
|
3090
|
+
/* @__PURE__ */ G(f, { className: "my-1.5 bg-border/50" }),
|
|
3091
|
+
/* @__PURE__ */ K(p, { children: [
|
|
3092
|
+
/* @__PURE__ */ K(h, {
|
|
3094
3093
|
onSelect: () => l(e),
|
|
3095
3094
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
|
|
3096
|
-
children: [/* @__PURE__ */
|
|
3095
|
+
children: [/* @__PURE__ */ G(Le, { size: 18 }), c("nav.account")]
|
|
3097
3096
|
}),
|
|
3098
|
-
n && /* @__PURE__ */
|
|
3097
|
+
n && /* @__PURE__ */ K(h, {
|
|
3099
3098
|
onSelect: () => l(n),
|
|
3100
3099
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
|
|
3101
|
-
children: [/* @__PURE__ */
|
|
3100
|
+
children: [/* @__PURE__ */ G(_e, { size: 18 }), c("nav.organizations", { defaultValue: "Organizations" })]
|
|
3102
3101
|
}),
|
|
3103
|
-
r && /* @__PURE__ */
|
|
3102
|
+
r && /* @__PURE__ */ K(h, {
|
|
3104
3103
|
onSelect: () => l(r),
|
|
3105
3104
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
|
|
3106
|
-
children: [/* @__PURE__ */
|
|
3105
|
+
children: [/* @__PURE__ */ G(ve, { size: 18 }), c("nav.tenantAdmin", { defaultValue: "Tenant administration" })]
|
|
3107
3106
|
})
|
|
3108
3107
|
] }),
|
|
3109
|
-
(i || a) && /* @__PURE__ */ W
|
|
3108
|
+
(i || a) && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(f, { className: "my-1.5 bg-border/50" }), /* @__PURE__ */ K(p, { children: [a && /* @__PURE__ */ K(h, {
|
|
3110
3109
|
onSelect: () => a(),
|
|
3111
3110
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
|
|
3112
|
-
children: [/* @__PURE__ */
|
|
3113
|
-
}), i && /* @__PURE__ */
|
|
3111
|
+
children: [/* @__PURE__ */ G(Pe, { size: 18 }), c("bento.tour.replay", { defaultValue: "Take the tour" })]
|
|
3112
|
+
}), i && /* @__PURE__ */ K(h, {
|
|
3114
3113
|
onSelect: () => i(),
|
|
3115
3114
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
|
|
3116
|
-
children: [/* @__PURE__ */
|
|
3115
|
+
children: [/* @__PURE__ */ G(De, { size: 18 }), c("bento.shortcuts.title", { defaultValue: "Keyboard shortcuts" })]
|
|
3117
3116
|
})] })] }),
|
|
3118
|
-
/* @__PURE__ */
|
|
3119
|
-
/* @__PURE__ */
|
|
3117
|
+
/* @__PURE__ */ G(f, { className: "my-1.5 bg-border/50" }),
|
|
3118
|
+
/* @__PURE__ */ K(h, {
|
|
3120
3119
|
onSelect: () => {
|
|
3121
3120
|
globalThis.location.href = t;
|
|
3122
3121
|
},
|
|
3123
3122
|
className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2 bento-item-danger",
|
|
3124
|
-
children: [/* @__PURE__ */
|
|
3123
|
+
children: [/* @__PURE__ */ G(ke, { size: 18 }), c("nav.logOut")]
|
|
3125
3124
|
})
|
|
3126
3125
|
]
|
|
3127
3126
|
})] });
|
|
3128
3127
|
}
|
|
3129
3128
|
//#endregion
|
|
3130
3129
|
//#region src/bento/bento-section-chrome.tsx
|
|
3131
|
-
var
|
|
3130
|
+
var vr = {
|
|
3132
3131
|
blue: "blue",
|
|
3133
3132
|
violet: "violet",
|
|
3134
3133
|
emerald: "emerald",
|
|
@@ -3138,62 +3137,62 @@ var _r = {
|
|
|
3138
3137
|
cyan: "blue",
|
|
3139
3138
|
orange: "amber"
|
|
3140
3139
|
};
|
|
3141
|
-
function
|
|
3140
|
+
function yr({ variant: t = "blue", className: n, children: r }) {
|
|
3142
3141
|
let i;
|
|
3143
|
-
|
|
3144
|
-
if (!
|
|
3142
|
+
R.forEach(r, (e) => {
|
|
3143
|
+
if (!se(e)) return;
|
|
3145
3144
|
let { type: t } = e;
|
|
3146
3145
|
(t === T.Header || t === T.StaticHeader) && (i ??= e.props);
|
|
3147
3146
|
});
|
|
3148
|
-
let a =
|
|
3149
|
-
if (!
|
|
3147
|
+
let a = R.map(r, (e) => {
|
|
3148
|
+
if (!se(e)) return e;
|
|
3150
3149
|
let { type: t } = e;
|
|
3151
3150
|
return t === T.Header || t === T.StaticHeader ? null : t === T.Content ? e.props.children : e;
|
|
3152
3151
|
});
|
|
3153
|
-
return i ? /* @__PURE__ */
|
|
3152
|
+
return i ? /* @__PURE__ */ G(Gn, {
|
|
3154
3153
|
icon: i.icon,
|
|
3155
|
-
tone:
|
|
3154
|
+
tone: vr[t] ?? "blue",
|
|
3156
3155
|
title: i.title,
|
|
3157
3156
|
description: i.description,
|
|
3158
3157
|
className: n,
|
|
3159
3158
|
children: a
|
|
3160
|
-
}) : /* @__PURE__ */
|
|
3161
|
-
className: e(
|
|
3159
|
+
}) : /* @__PURE__ */ G("section", {
|
|
3160
|
+
className: e(Wn, n),
|
|
3162
3161
|
children: a
|
|
3163
3162
|
});
|
|
3164
3163
|
}
|
|
3165
|
-
|
|
3164
|
+
yr.Header = T.Header, yr.StaticHeader = T.StaticHeader, yr.Content = T.Content;
|
|
3166
3165
|
//#endregion
|
|
3167
3166
|
//#region src/bento/bento-section.tsx
|
|
3168
|
-
var
|
|
3169
|
-
function
|
|
3170
|
-
let o = /* @__PURE__ */
|
|
3167
|
+
var br = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
|
|
3168
|
+
function xr({ eyebrow: e, title: t, description: n, titleHref: r, children: i, gridClassName: a = br }) {
|
|
3169
|
+
let o = /* @__PURE__ */ G("h2", {
|
|
3171
3170
|
className: "text-xl font-semibold tracking-tight md:text-2xl",
|
|
3172
3171
|
children: t
|
|
3173
3172
|
});
|
|
3174
|
-
return /* @__PURE__ */
|
|
3173
|
+
return /* @__PURE__ */ K("section", {
|
|
3175
3174
|
className: "mb-8 md:mb-10",
|
|
3176
|
-
children: [/* @__PURE__ */
|
|
3175
|
+
children: [/* @__PURE__ */ K("header", {
|
|
3177
3176
|
className: "bento-shell-header mb-4 flex flex-col gap-0.5",
|
|
3178
3177
|
children: [
|
|
3179
|
-
e && /* @__PURE__ */
|
|
3178
|
+
e && /* @__PURE__ */ G("span", {
|
|
3180
3179
|
className: "text-xs uppercase tracking-[0.18em] text-muted-foreground",
|
|
3181
3180
|
children: e
|
|
3182
3181
|
}),
|
|
3183
|
-
r ? /* @__PURE__ */
|
|
3182
|
+
r ? /* @__PURE__ */ K(He, {
|
|
3184
3183
|
to: r,
|
|
3185
3184
|
className: "group inline-flex w-fit items-center gap-1 text-foreground transition-colors hover:text-primary",
|
|
3186
|
-
children: [o, /* @__PURE__ */
|
|
3185
|
+
children: [o, /* @__PURE__ */ G(Y, {
|
|
3187
3186
|
size: 20,
|
|
3188
3187
|
className: "text-muted-foreground transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] group-hover:translate-x-1"
|
|
3189
3188
|
})]
|
|
3190
3189
|
}) : o,
|
|
3191
|
-
n && /* @__PURE__ */
|
|
3190
|
+
n && /* @__PURE__ */ G("p", {
|
|
3192
3191
|
className: "max-w-2xl text-sm text-muted-foreground",
|
|
3193
3192
|
children: n
|
|
3194
3193
|
})
|
|
3195
3194
|
]
|
|
3196
|
-
}), /* @__PURE__ */
|
|
3195
|
+
}), /* @__PURE__ */ G("div", {
|
|
3197
3196
|
className: a,
|
|
3198
3197
|
children: i
|
|
3199
3198
|
})]
|
|
@@ -3201,66 +3200,66 @@ function br({ eyebrow: e, title: t, description: n, titleHref: r, children: i, g
|
|
|
3201
3200
|
}
|
|
3202
3201
|
//#endregion
|
|
3203
3202
|
//#region src/bento/bento-tile.tsx
|
|
3204
|
-
function
|
|
3205
|
-
let f = !r && !!(t || n), p = u ? "h-14 w-14 rounded-2xl" : "h-9 w-9 rounded-2xl", m = u ? 28 : 18, h = u ? "text-xl font-semibold tracking-tight md:text-2xl" : "text-base font-semibold tracking-tight md:text-lg", g = /* @__PURE__ */ W
|
|
3206
|
-
u && /* @__PURE__ */ W
|
|
3203
|
+
function Sr({ to: t, onClick: n, disabled: r = !1, disabledHint: i, icon: a, tone: o, eyebrow: s, title: c, span: l, featured: u = !1, children: d }) {
|
|
3204
|
+
let f = !r && !!(t || n), p = u ? "h-14 w-14 rounded-2xl" : "h-9 w-9 rounded-2xl", m = u ? 28 : 18, h = u ? "text-xl font-semibold tracking-tight md:text-2xl" : "text-base font-semibold tracking-tight md:text-lg", g = /* @__PURE__ */ K(W, { children: [
|
|
3205
|
+
u && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G("div", {
|
|
3207
3206
|
"aria-hidden": !0,
|
|
3208
|
-
className: `pointer-events-none absolute -bottom-10 -right-10 h-64 w-64 rounded-full ${
|
|
3209
|
-
}), /* @__PURE__ */
|
|
3207
|
+
className: `pointer-events-none absolute -bottom-10 -right-10 h-64 w-64 rounded-full ${pt(o)} opacity-40 blur-2xl dark:opacity-50`
|
|
3208
|
+
}), /* @__PURE__ */ G("div", {
|
|
3210
3209
|
"aria-hidden": !0,
|
|
3211
|
-
className: `pointer-events-none absolute right-12 top-1/3 h-32 w-32 rounded-full ${
|
|
3210
|
+
className: `pointer-events-none absolute right-12 top-1/3 h-32 w-32 rounded-full ${pt(o)} bento-chip-tr opacity-20 blur-2xl dark:opacity-30`
|
|
3212
3211
|
})] }),
|
|
3213
|
-
/* @__PURE__ */
|
|
3212
|
+
/* @__PURE__ */ K("div", {
|
|
3214
3213
|
className: "relative z-1 flex items-center justify-between",
|
|
3215
|
-
children: [/* @__PURE__ */
|
|
3216
|
-
className: `grid place-items-center ${
|
|
3217
|
-
children: /* @__PURE__ */
|
|
3218
|
-
}), f && /* @__PURE__ */
|
|
3214
|
+
children: [/* @__PURE__ */ G("span", {
|
|
3215
|
+
className: `grid place-items-center ${pt(o)} text-white shadow-md ${p}`,
|
|
3216
|
+
children: /* @__PURE__ */ G(a, { size: m })
|
|
3217
|
+
}), f && /* @__PURE__ */ G(Y, {
|
|
3219
3218
|
size: u ? 18 : 16,
|
|
3220
3219
|
className: "text-muted-foreground transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] group-hover:translate-x-1"
|
|
3221
3220
|
})]
|
|
3222
3221
|
}),
|
|
3223
|
-
/* @__PURE__ */
|
|
3222
|
+
/* @__PURE__ */ K("div", {
|
|
3224
3223
|
className: "relative z-1",
|
|
3225
3224
|
children: [
|
|
3226
|
-
/* @__PURE__ */
|
|
3225
|
+
/* @__PURE__ */ G("div", {
|
|
3227
3226
|
className: "text-[11px] uppercase tracking-wider text-muted-foreground",
|
|
3228
3227
|
children: s
|
|
3229
3228
|
}),
|
|
3230
|
-
/* @__PURE__ */
|
|
3229
|
+
/* @__PURE__ */ G("div", {
|
|
3231
3230
|
className: `mt-0.5 ${h}`,
|
|
3232
3231
|
children: c
|
|
3233
3232
|
}),
|
|
3234
|
-
d && /* @__PURE__ */
|
|
3233
|
+
d && /* @__PURE__ */ G("div", {
|
|
3235
3234
|
className: "mt-2",
|
|
3236
3235
|
children: d
|
|
3237
3236
|
})
|
|
3238
3237
|
]
|
|
3239
3238
|
})
|
|
3240
3239
|
] }), _ = `bento-tile bento-glass group relative flex flex-col ${u ? "gap-5" : "gap-4"} overflow-hidden text-left ${u ? "p-6 md:p-7" : "p-5"} ${l}${f ? " bento-tile-clickable" : ""}${r ? " cursor-not-allowed opacity-60" : ""}`;
|
|
3241
|
-
return r ? /* @__PURE__ */
|
|
3240
|
+
return r ? /* @__PURE__ */ G("div", {
|
|
3242
3241
|
className: _,
|
|
3243
3242
|
"aria-disabled": "true",
|
|
3244
3243
|
title: i,
|
|
3245
3244
|
children: g
|
|
3246
|
-
}) : t ? /* @__PURE__ */
|
|
3245
|
+
}) : t ? /* @__PURE__ */ G(He, {
|
|
3247
3246
|
to: t,
|
|
3248
3247
|
className: _,
|
|
3249
3248
|
children: g
|
|
3250
|
-
}) : n ? /* @__PURE__ */
|
|
3249
|
+
}) : n ? /* @__PURE__ */ G("button", {
|
|
3251
3250
|
type: "button",
|
|
3252
3251
|
onClick: n,
|
|
3253
3252
|
className: e("w-full", _),
|
|
3254
3253
|
children: g
|
|
3255
|
-
}) : /* @__PURE__ */
|
|
3254
|
+
}) : /* @__PURE__ */ G("div", {
|
|
3256
3255
|
className: _,
|
|
3257
3256
|
children: g
|
|
3258
3257
|
});
|
|
3259
3258
|
}
|
|
3260
3259
|
//#endregion
|
|
3261
3260
|
//#region src/bento/bento-version-rail.tsx
|
|
3262
|
-
function
|
|
3263
|
-
let { t: a, i18n: o } =
|
|
3261
|
+
function Cr({ versions: t, selected: n, onSelect: r, label: i }) {
|
|
3262
|
+
let { t: a, i18n: o } = q(), [s, c] = H(0), [l, u] = H([]), d = V(/* @__PURE__ */ new Map()), f = (e) => [...e].sort((e, n) => t.findIndex((e) => e.id === n) - t.findIndex((t) => t.id === e));
|
|
3264
3263
|
function p(e) {
|
|
3265
3264
|
if (n.includes(e)) {
|
|
3266
3265
|
u(l.filter((t) => t !== e)), r(n.filter((t) => t !== e));
|
|
@@ -3308,15 +3307,15 @@ function Sr({ versions: t, selected: n, onSelect: r, label: i }) {
|
|
|
3308
3307
|
}).format(t)
|
|
3309
3308
|
};
|
|
3310
3309
|
};
|
|
3311
|
-
return /* @__PURE__ */
|
|
3310
|
+
return /* @__PURE__ */ G("ul", {
|
|
3312
3311
|
role: "listbox",
|
|
3313
3312
|
"aria-label": i ?? a("bento.versions.label", { defaultValue: "Versions" }),
|
|
3314
3313
|
"aria-multiselectable": "true",
|
|
3315
3314
|
"data-slot": "bento-version-rail",
|
|
3316
3315
|
className: "m-0 flex list-none flex-col gap-1 p-0",
|
|
3317
3316
|
children: t.map((r, i) => {
|
|
3318
|
-
let o = n.includes(r.id), l = g(r.at), u = r.actor === "agent" ?
|
|
3319
|
-
return /* @__PURE__ */
|
|
3317
|
+
let o = n.includes(r.id), l = g(r.at), u = r.actor === "agent" ? Me : Ie, f = o ? "text-foreground/80" : "text-muted-foreground";
|
|
3318
|
+
return /* @__PURE__ */ K("li", {
|
|
3320
3319
|
ref: (e) => {
|
|
3321
3320
|
e ? d.current.set(i, e) : d.current.delete(i);
|
|
3322
3321
|
},
|
|
@@ -3329,26 +3328,26 @@ function Sr({ versions: t, selected: n, onSelect: r, label: i }) {
|
|
|
3329
3328
|
},
|
|
3330
3329
|
className: e("flex cursor-pointer flex-col gap-0.5 rounded-xl border px-3 py-2 text-sm outline-none transition-colors", "focus-visible:ring-2 focus-visible:ring-ring", o ? "border-primary/50 bg-primary/10" : "border-transparent hover:bg-muted/50"),
|
|
3331
3330
|
children: [
|
|
3332
|
-
/* @__PURE__ */
|
|
3331
|
+
/* @__PURE__ */ K("span", {
|
|
3333
3332
|
className: "flex items-center gap-1.5 font-medium",
|
|
3334
3333
|
children: [
|
|
3335
|
-
/* @__PURE__ */
|
|
3334
|
+
/* @__PURE__ */ G(u, {
|
|
3336
3335
|
size: 14,
|
|
3337
3336
|
"aria-hidden": "true"
|
|
3338
3337
|
}),
|
|
3339
3338
|
r.author,
|
|
3340
|
-
/* @__PURE__ */
|
|
3339
|
+
/* @__PURE__ */ G("span", {
|
|
3341
3340
|
className: e("text-xs font-normal", f),
|
|
3342
3341
|
children: r.actor === "agent" ? a("bento.versions.agent", { defaultValue: "Agent" }) : a("bento.versions.human", { defaultValue: "Person" })
|
|
3343
3342
|
})
|
|
3344
3343
|
]
|
|
3345
3344
|
}),
|
|
3346
|
-
/* @__PURE__ */
|
|
3345
|
+
/* @__PURE__ */ G("time", {
|
|
3347
3346
|
dateTime: l.iso,
|
|
3348
3347
|
className: e("text-xs", f),
|
|
3349
3348
|
children: l.text
|
|
3350
3349
|
}),
|
|
3351
|
-
r.summary && /* @__PURE__ */
|
|
3350
|
+
r.summary && /* @__PURE__ */ G("span", {
|
|
3352
3351
|
className: "text-xs",
|
|
3353
3352
|
children: r.summary
|
|
3354
3353
|
})
|
|
@@ -3358,4 +3357,4 @@ function Sr({ versions: t, selected: n, onSelect: r, label: i }) {
|
|
|
3358
3357
|
});
|
|
3359
3358
|
}
|
|
3360
3359
|
//#endregion
|
|
3361
|
-
export {
|
|
3360
|
+
export { yr as AdaptiveSectionCard, _n as BENTO_EMPHASIS_NEXT, gn as BENTO_EMPHASIS_SPAN, Et as BENTO_RECORD_STATES, rr as BENTO_SHELL_SHORTCUTS, ft as BENTO_TONES, dt as BENTO_TONE_CLASS, ut as BentoActionsMenu, xt as BentoBackLink, Xn as BentoBackToTop, mn as BentoCalendar, Mt as BentoChangeMark, er as BentoCommandPalette, mt as BentoCountTile, _t as BentoDataTable, It as BentoDiff, vt as BentoEmptyState, At as BentoEntityShell, bn as BentoEntityTile, Tn as BentoFilterBar, Un as BentoFormHero, Gn as BentoFormSection, Ct as BentoHero, wt as BentoHeroIconPicker, Tt as BentoInlineEdit, jn as BentoListPage, hr as BentoNavRail, lr as BentoPaletteTrigger, Kn as BentoPanel, Bn as BentoSaveBar, Hn as BentoScrollSaveBar, xr as BentoSection, tr as BentoShell, ur as BentoShortcutsDialog, sn as BentoSplitPage, Dt as BentoStatusMarker, Sr as BentoTile, Mn as BentoTileGrid, bt as BentoTrail, _r as BentoUserMenu, Cr as BentoVersionRail, xn as EMPTY_FILTERS, pt as bentoChipClass, Zn as bentoNavTarget, vn as resolveBentoLayout, yn as toBentoLayoutEntries, Ot as useBentoScrollFade, cr as useBentoShellShortcuts };
|