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