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