@viglet/viglet-design-system 2026.3.9 → 2026.3.11
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 +528 -44
- package/consumers.json +186 -0
- package/dist/badge-locale-CJkHDlPg.cjs +1 -0
- package/dist/badge-locale-DxDp8Q3S.js +397 -0
- package/dist/bento/bento-actions-menu.d.ts +8 -0
- package/dist/bento/bento-actions-menu.d.ts.map +1 -1
- package/dist/bento/bento-back-to-top.d.ts +9 -1
- package/dist/bento/bento-back-to-top.d.ts.map +1 -1
- package/dist/bento/bento-command-palette.d.ts +56 -9
- package/dist/bento/bento-command-palette.d.ts.map +1 -1
- package/dist/bento/bento-data-table.d.ts +81 -0
- package/dist/bento/bento-data-table.d.ts.map +1 -0
- package/dist/bento/bento-diff.d.ts +41 -0
- package/dist/bento/bento-diff.d.ts.map +1 -0
- package/dist/bento/bento-empty-state.d.ts +8 -1
- package/dist/bento/bento-empty-state.d.ts.map +1 -1
- package/dist/bento/bento-entity-shell.d.ts.map +1 -1
- package/dist/bento/bento-filter-bar.d.ts +60 -0
- package/dist/bento/bento-filter-bar.d.ts.map +1 -0
- package/dist/bento/bento-form-section.d.ts +14 -1
- package/dist/bento/bento-form-section.d.ts.map +1 -1
- package/dist/bento/bento-inline-edit.d.ts.map +1 -1
- package/dist/bento/bento-nav-rail.d.ts +13 -13
- package/dist/bento/bento-nav-rail.d.ts.map +1 -1
- package/dist/bento/bento-nav.d.ts +10 -2
- package/dist/bento/bento-nav.d.ts.map +1 -1
- package/dist/bento/bento-palette-trigger.d.ts +18 -0
- package/dist/bento/bento-palette-trigger.d.ts.map +1 -0
- package/dist/bento/bento-section-chrome.d.ts +19 -39
- package/dist/bento/bento-section-chrome.d.ts.map +1 -1
- package/dist/bento/bento-shell-shortcuts.d.ts +67 -0
- package/dist/bento/bento-shell-shortcuts.d.ts.map +1 -0
- package/dist/bento/bento-shell.d.ts +53 -0
- package/dist/bento/bento-shell.d.ts.map +1 -0
- package/dist/bento/bento-shortcuts-dialog.d.ts +9 -7
- package/dist/bento/bento-shortcuts-dialog.d.ts.map +1 -1
- package/dist/bento/bento-status-marker.d.ts +5 -2
- package/dist/bento/bento-status-marker.d.ts.map +1 -1
- package/dist/bento/bento-tile.d.ts.map +1 -1
- package/dist/bento/bento-user-menu.d.ts +9 -8
- package/dist/bento/bento-user-menu.d.ts.map +1 -1
- package/dist/bento/bento-version-rail.d.ts +31 -0
- package/dist/bento/bento-version-rail.d.ts.map +1 -0
- package/dist/bento/index.d.ts +15 -6
- package/dist/bento/index.d.ts.map +1 -1
- package/dist/bento.cjs +5 -1
- package/dist/bento.css +70 -4
- package/dist/bento.es.js +1778 -701
- package/dist/catalogue.json +5283 -0
- package/dist/components/app-footer.d.ts +7 -0
- package/dist/components/app-footer.d.ts.map +1 -1
- package/dist/components/app-switcher.d.ts.map +1 -1
- package/dist/components/backend-status.d.ts +19 -11
- package/dist/components/backend-status.d.ts.map +1 -1
- package/dist/components/badge-colorful.d.ts +13 -0
- package/dist/components/badge-colorful.d.ts.map +1 -1
- package/dist/components/badge-locale.d.ts +7 -0
- package/dist/components/badge-locale.d.ts.map +1 -1
- package/dist/components/error-boundary.d.ts +15 -13
- package/dist/components/error-boundary.d.ts.map +1 -1
- package/dist/components/language-select.d.ts +8 -0
- package/dist/components/language-select.d.ts.map +1 -1
- package/dist/components/login/login.d.ts +27 -0
- package/dist/components/login/login.d.ts.map +1 -1
- package/dist/components/mode-toggle.d.ts +9 -0
- package/dist/components/mode-toggle.d.ts.map +1 -1
- package/dist/components/nav-secondary.d.ts +7 -0
- package/dist/components/nav-secondary.d.ts.map +1 -1
- package/dist/components/router/dialog.delete.d.ts +8 -0
- package/dist/components/router/dialog.delete.d.ts.map +1 -1
- package/dist/components/router/gradient-button-link.d.ts +6 -0
- package/dist/components/router/gradient-button-link.d.ts.map +1 -1
- package/dist/components/router/index.d.ts +0 -11
- package/dist/components/router/index.d.ts.map +1 -1
- package/dist/components/router/loading-provider.d.ts +4 -0
- package/dist/components/router/loading-provider.d.ts.map +1 -1
- package/dist/components/startup-first/startup-first.d.ts +29 -0
- package/dist/components/startup-first/startup-first.d.ts.map +1 -1
- package/dist/components/ui/accordion.d.ts +17 -0
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/avatar.d.ts +14 -0
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/badge.d.ts +6 -0
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +25 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +15 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/card.d.ts +27 -0
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/checkbox.d.ts +4 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts +36 -0
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +35 -0
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +53 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/floating-formulas-bg.d.ts +8 -0
- package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
- package/dist/components/ui/form-actions.d.ts +7 -0
- package/dist/components/ui/form-actions.d.ts.map +1 -1
- package/dist/components/ui/form-item-two-columns.d.ts +7 -0
- package/dist/components/ui/form-item-two-columns.d.ts.map +1 -1
- package/dist/components/ui/form.d.ts +25 -0
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/glass-card.d.ts +18 -14
- package/dist/components/ui/glass-card.d.ts.map +1 -1
- package/dist/components/ui/gradient-button.d.ts +15 -1
- package/dist/components/ui/gradient-button.d.ts.map +1 -1
- package/dist/components/ui/gradient-switch.d.ts +6 -0
- package/dist/components/ui/gradient-switch.d.ts.map +1 -1
- package/dist/components/ui/hover-card.d.ts +14 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -1
- package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -1
- package/dist/components/ui/index.d.ts +6 -4
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +41 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts +25 -0
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/popover.d.ts +24 -0
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/progress.d.ts +4 -0
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/pulse-ring.d.ts +9 -11
- package/dist/components/ui/pulse-ring.d.ts.map +1 -1
- package/dist/components/ui/resizable.d.ts +11 -0
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/section-card.d.ts +9 -0
- package/dist/components/ui/section-card.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts +36 -0
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/sheet.d.ts +29 -0
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts +83 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/skeleton.d.ts +4 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/slider.d.ts +4 -0
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +16 -0
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/stepper.d.ts +8 -0
- package/dist/components/ui/stepper.d.ts.map +1 -1
- package/dist/components/ui/sticky-save-bar.d.ts +7 -0
- package/dist/components/ui/sticky-save-bar.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts +4 -0
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/table.d.ts +31 -0
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/tabs.d.ts +16 -0
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/textarea.d.ts +4 -0
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +7 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle.d.ts +4 -0
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/tooltip.d.ts +18 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/user-avatar.d.ts +2 -1
- package/dist/components/ui/user-avatar.d.ts.map +1 -1
- package/dist/components/ui/viglet-assistant.d.ts +103 -0
- package/dist/components/ui/viglet-assistant.d.ts.map +1 -0
- package/dist/components/ui/viglet-avatar.d.ts +44 -0
- package/dist/components/ui/viglet-avatar.d.ts.map +1 -0
- package/dist/contexts/breadcrumb.context.d.ts +7 -0
- package/dist/contexts/breadcrumb.context.d.ts.map +1 -1
- package/dist/contexts/user.context.d.ts +8 -0
- package/dist/contexts/user.context.d.ts.map +1 -1
- package/dist/exports.json +359 -30
- package/dist/floating-formulas-bg.cjs +1 -1
- package/dist/floating-formulas-bg.es.js +56 -55
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-assistant-notifications.d.ts +15 -0
- package/dist/hooks/use-assistant-notifications.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +168 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en/assistant.json.d.ts +25 -0
- package/dist/i18n/locales/en/bento.json.d.ts +48 -2
- package/dist/i18n/locales/en/common.json.d.ts +6 -1
- package/dist/i18n/locales/en/language.json.d.ts +8 -0
- package/dist/i18n/locales/pt/assistant.json.d.ts +25 -0
- package/dist/i18n/locales/pt/bento.json.d.ts +48 -2
- package/dist/i18n/locales/pt/common.json.d.ts +6 -1
- package/dist/i18n/locales/pt/language.json.d.ts +8 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.es.js +572 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +2280 -733
- package/dist/lib/busy.d.ts +26 -0
- package/dist/lib/busy.d.ts.map +1 -0
- package/dist/lib/corner-slot.d.ts +15 -0
- package/dist/lib/corner-slot.d.ts.map +1 -0
- package/dist/{loading-provider-BWWhhfEn.js → loading-provider-ClDkFPuv.js} +84 -81
- package/dist/loading-provider-DGuCfsl9.cjs +1 -0
- package/dist/preset.css +7 -10
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +2 -776
- package/dist/user.context-Cr3GAQ_r.js +762 -0
- package/dist/user.context-hbdvmXOn.cjs +1 -0
- package/dist/utils-Fk5jmzzb.js +41 -0
- package/dist/utils-Oagwe_oa.cjs +1 -0
- package/dist/viglet-design-system.css +1 -1
- package/dist/vite/boot-loader.d.ts +33 -2
- package/dist/vite/boot-loader.d.ts.map +1 -1
- package/dist/vite.cjs +16 -5
- package/dist/vite.es.js +27 -14
- package/docs/BENTO-AUTHORING.md +81 -11
- package/docs/reference/grounds.dc.html +9 -9
- package/package.json +16 -4
- package/scripts/consumer-entries.mjs +209 -0
- package/scripts/lib/contrast.mjs +301 -0
- package/scripts/mcp.mjs +300 -0
- package/scripts/page-lint.mjs +428 -0
- package/scripts/page-reference.mjs +54 -10
- package/dist/badge-locale-CoEEv7s5.js +0 -581
- package/dist/badge-locale-hQyWhAKe.cjs +0 -7
- package/dist/breadcrumb.context-KQut7j8U.js +0 -917
- package/dist/breadcrumb.context-Vwc3lAlf.cjs +0 -1
- package/dist/components/router/blank-slate.d.ts +0 -21
- package/dist/components/router/blank-slate.d.ts.map +0 -1
- package/dist/components/router/grid.list.d.ts +0 -39
- package/dist/components/router/grid.list.d.ts.map +0 -1
- package/dist/components/router/internal.sidebar.d.ts +0 -61
- package/dist/components/router/internal.sidebar.d.ts.map +0 -1
- package/dist/components/router/nav-main.d.ts +0 -25
- package/dist/components/router/nav-main.d.ts.map +0 -1
- package/dist/components/router/nav-user.d.ts +0 -24
- package/dist/components/router/nav-user.d.ts.map +0 -1
- package/dist/components/router/page-content.d.ts +0 -12
- package/dist/components/router/page-content.d.ts.map +0 -1
- package/dist/components/router/page-header.d.ts +0 -23
- package/dist/components/router/page-header.d.ts.map +0 -1
- package/dist/components/router/page.d.ts +0 -22
- package/dist/components/router/page.d.ts.map +0 -1
- package/dist/components/router/sticky.page.header.d.ts +0 -85
- package/dist/components/router/sticky.page.header.d.ts.map +0 -1
- package/dist/components/router/sub.page.d.ts +0 -50
- package/dist/components/router/sub.page.d.ts.map +0 -1
- package/dist/components/router/sub.page.header.d.ts +0 -37
- package/dist/components/router/sub.page.header.d.ts.map +0 -1
- package/dist/i18n-DD3rQOWi.js +0 -426
- package/dist/i18n-DrBq-qJJ.cjs +0 -1
- package/dist/lib/react-markers.d.ts +0 -17
- package/dist/lib/react-markers.d.ts.map +0 -1
- package/dist/loading-provider-CmeMqLGk.cjs +0 -1
- package/dist/user.context-B9vIBzY5.cjs +0 -1
- package/dist/user.context-D1PxP4D4.js +0 -512
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { MouseEvent, MouseEventHandler } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* VDS143 — busy is not disabled.
|
|
4
|
+
*
|
|
5
|
+
* A button marked pending with `disabled` leaves the tab order the moment it is
|
|
6
|
+
* pressed, so focus falls back to the document body just as the outcome is
|
|
7
|
+
* announced, and a keyboard or screen-reader user loses their place on every save.
|
|
8
|
+
*
|
|
9
|
+
* So a control that is loading, or unavailable for now (a form with nothing to
|
|
10
|
+
* save yet), says so with `aria-busy` and `aria-disabled`, stays focusable, and
|
|
11
|
+
* ignores activation. Cancelling the click also cancels a form's submission,
|
|
12
|
+
* the implicit one an Enter in a field triggers included, so a second press
|
|
13
|
+
* never submits twice. Only a control that is genuinely unavailable uses the
|
|
14
|
+
* `disabled` attribute.
|
|
15
|
+
*/
|
|
16
|
+
export declare function busyControl<T extends HTMLElement>(loading: boolean, ariaDisabled: unknown, onClick: MouseEventHandler<T> | undefined): {
|
|
17
|
+
inert: boolean;
|
|
18
|
+
props: {
|
|
19
|
+
"aria-busy": "true" | undefined;
|
|
20
|
+
"aria-disabled": "true" | undefined;
|
|
21
|
+
onClick: (event: MouseEvent<T>) => void;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/** The spinner a busy control shows beside its label. */
|
|
25
|
+
export declare function BusyGlyph(): import("react").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=busy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"busy.d.ts","sourceRoot":"","sources":["../../src/lib/busy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS;;;;;yBAQpB,UAAU,CAAC,CAAC,CAAC;;EAUnC;AAED,yDAAyD;AACzD,wBAAgB,SAAS,gCAOxB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VDS133 — whether a component is being laid out in the shell's corner stack.
|
|
3
|
+
*
|
|
4
|
+
* The assistant dock and the back-to-top control each pinned themselves to the
|
|
5
|
+
* bottom-right corner, four pixels apart and a z-index apart, so the dock covered
|
|
6
|
+
* the button on every long page. The corner is a region, and a region has one
|
|
7
|
+
* owner: `BentoShell` renders both in a stack and sets this, and each component
|
|
8
|
+
* then renders in flow instead of fixing itself to the viewport.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately not a provider a product mounts. Only the shell sets it, and a
|
|
11
|
+
* component rendered anywhere else reads the default and keeps its own corner.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CornerSlotContext: import('react').Context<boolean>;
|
|
14
|
+
export declare function useInCornerSlot(): boolean;
|
|
15
|
+
//# sourceMappingURL=corner-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corner-slot.d.ts","sourceRoot":"","sources":["../../src/lib/corner-slot.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,kCAAuB,CAAC;AAEtD,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as e } from "./utils-Fk5jmzzb.js";
|
|
2
|
+
import { _ as t, a as n, c as r, d as i, f as a, g as o, i as s, n as c, o as l, p as u, r as d, s as f, u as p } from "./badge-locale-DxDp8Q3S.js";
|
|
2
3
|
import { useState as m } from "react";
|
|
3
4
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
4
5
|
import { useTranslation as v } from "react-i18next";
|
|
5
6
|
import { IconAlertTriangle as y, IconAlertTriangleFilled as b, IconTrash as x } from "@tabler/icons-react";
|
|
6
7
|
import { NavLink as S, useNavigate as C } from "react-router-dom";
|
|
7
8
|
//#region src/components/router/dialog.delete.tsx
|
|
8
|
-
var w = ({ feature:
|
|
9
|
-
let k = T && T.length > 0, A = C(), { t: j } = v(), [M, N] = m(""), P = M ===
|
|
9
|
+
var w = ({ feature: e, name: s, onDelete: f, open: b, setOpen: S, trigger: w, blockedBy: T, title: E, description: D, confirmLabel: O }) => {
|
|
10
|
+
let k = T && T.length > 0, A = C(), { t: j } = v(), [M, N] = m(""), P = M === s;
|
|
10
11
|
function F(e) {
|
|
11
12
|
S(e), e || N("");
|
|
12
13
|
}
|
|
13
|
-
return /* @__PURE__ */ _(
|
|
14
|
+
return /* @__PURE__ */ _(r, {
|
|
14
15
|
open: b,
|
|
15
16
|
onOpenChange: F,
|
|
16
|
-
children: [w !== null && /* @__PURE__ */ g(
|
|
17
|
+
children: [w !== null && /* @__PURE__ */ g(t, {
|
|
17
18
|
asChild: !0,
|
|
18
|
-
children: w ?? /* @__PURE__ */ g(
|
|
19
|
+
children: w ?? /* @__PURE__ */ g(l, {
|
|
19
20
|
variant: "ghost",
|
|
20
21
|
size: "icon-sm",
|
|
21
22
|
children: /* @__PURE__ */ g(x, { className: "size-5!" })
|
|
22
23
|
})
|
|
23
|
-
}), /* @__PURE__ */ g(
|
|
24
|
+
}), /* @__PURE__ */ g(p, {
|
|
24
25
|
className: "sm:max-w-md",
|
|
25
26
|
children: k ? /* @__PURE__ */ _(h, { children: [
|
|
26
|
-
/* @__PURE__ */ _(
|
|
27
|
+
/* @__PURE__ */ _(u, { children: [
|
|
27
28
|
/* @__PURE__ */ g("div", {
|
|
28
29
|
className: "mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 ring-1 ring-amber-500/20 mb-2",
|
|
29
30
|
children: /* @__PURE__ */ g(y, { className: "size-6 text-amber-500" })
|
|
30
31
|
}),
|
|
31
|
-
/* @__PURE__ */ g(
|
|
32
|
+
/* @__PURE__ */ g(o, {
|
|
32
33
|
className: "text-center",
|
|
33
|
-
children: j("dialog.cannotDelete", { feature:
|
|
34
|
+
children: j("dialog.cannotDelete", { feature: e })
|
|
34
35
|
}),
|
|
35
|
-
/* @__PURE__ */ g(
|
|
36
|
+
/* @__PURE__ */ g(i, {
|
|
36
37
|
className: "text-center",
|
|
37
|
-
children: j("dialog.inUse", { name:
|
|
38
|
+
children: j("dialog.inUse", { name: s })
|
|
38
39
|
})
|
|
39
40
|
] }),
|
|
40
41
|
/* @__PURE__ */ _("div", {
|
|
@@ -42,13 +43,13 @@ var w = ({ feature: a, name: o, onDelete: s, open: b, setOpen: S, trigger: w, bl
|
|
|
42
43
|
children: [
|
|
43
44
|
/* @__PURE__ */ g("p", {
|
|
44
45
|
className: "text-sm text-muted-foreground",
|
|
45
|
-
children: j("dialog.dependingSites", { feature:
|
|
46
|
+
children: j("dialog.dependingSites", { feature: e })
|
|
46
47
|
}),
|
|
47
48
|
/* @__PURE__ */ g("div", {
|
|
48
49
|
className: "flex flex-wrap gap-2",
|
|
49
50
|
children: T.map((e) => {
|
|
50
|
-
let t = e.language ?
|
|
51
|
-
return /* @__PURE__ */ g(
|
|
51
|
+
let t = e.language ? c(e.language) : void 0;
|
|
52
|
+
return /* @__PURE__ */ g(d, {
|
|
52
53
|
text: e.name,
|
|
53
54
|
href: e.href,
|
|
54
55
|
onClick: (e) => {
|
|
@@ -64,29 +65,29 @@ var w = ({ feature: a, name: o, onDelete: s, open: b, setOpen: S, trigger: w, bl
|
|
|
64
65
|
}),
|
|
65
66
|
/* @__PURE__ */ g("p", {
|
|
66
67
|
className: "text-xs text-muted-foreground",
|
|
67
|
-
children: j("dialog.removeDependencies", { feature:
|
|
68
|
+
children: j("dialog.removeDependencies", { feature: e })
|
|
68
69
|
})
|
|
69
70
|
]
|
|
70
71
|
}),
|
|
71
|
-
/* @__PURE__ */ g(
|
|
72
|
+
/* @__PURE__ */ g(a, { children: /* @__PURE__ */ g(l, {
|
|
72
73
|
onClick: () => S(!1),
|
|
73
74
|
variant: "outline",
|
|
74
75
|
className: "w-full",
|
|
75
76
|
children: j("dialog.understood")
|
|
76
77
|
}) })
|
|
77
78
|
] }) : /* @__PURE__ */ _(h, { children: [
|
|
78
|
-
/* @__PURE__ */ _(
|
|
79
|
+
/* @__PURE__ */ _(u, { children: [
|
|
79
80
|
/* @__PURE__ */ g("div", {
|
|
80
81
|
className: "mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-red-500/10 ring-1 ring-red-500/20 mb-2",
|
|
81
82
|
children: /* @__PURE__ */ g(x, { className: "size-6 text-red-500" })
|
|
82
83
|
}),
|
|
83
|
-
/* @__PURE__ */ g(
|
|
84
|
+
/* @__PURE__ */ g(o, {
|
|
84
85
|
className: "text-center",
|
|
85
|
-
children: E ?? j("dialog.deleteFeature", { feature:
|
|
86
|
+
children: E ?? j("dialog.deleteFeature", { feature: e })
|
|
86
87
|
}),
|
|
87
|
-
/* @__PURE__ */ g(
|
|
88
|
+
/* @__PURE__ */ g(i, {
|
|
88
89
|
className: "text-center",
|
|
89
|
-
children: D ?? j("dialog.permanentDelete", { name:
|
|
90
|
+
children: D ?? j("dialog.permanentDelete", { name: s })
|
|
90
91
|
})
|
|
91
92
|
] }),
|
|
92
93
|
/* @__PURE__ */ _("div", {
|
|
@@ -98,28 +99,28 @@ var w = ({ feature: a, name: o, onDelete: s, open: b, setOpen: S, trigger: w, bl
|
|
|
98
99
|
" ",
|
|
99
100
|
/* @__PURE__ */ g("span", {
|
|
100
101
|
className: "font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded",
|
|
101
|
-
children:
|
|
102
|
+
children: s
|
|
102
103
|
}),
|
|
103
104
|
" ",
|
|
104
105
|
j("dialog.toConfirm")
|
|
105
106
|
]
|
|
106
|
-
}), /* @__PURE__ */ g(
|
|
107
|
+
}), /* @__PURE__ */ g(n, {
|
|
107
108
|
value: M,
|
|
108
109
|
onChange: (e) => N(e.target.value),
|
|
109
|
-
placeholder:
|
|
110
|
+
placeholder: s,
|
|
110
111
|
className: "font-mono text-sm",
|
|
111
112
|
autoFocus: !0
|
|
112
113
|
})]
|
|
113
114
|
}),
|
|
114
|
-
/* @__PURE__ */ _(
|
|
115
|
+
/* @__PURE__ */ _(a, {
|
|
115
116
|
className: "flex-col gap-2 sm:flex-col",
|
|
116
|
-
children: [/* @__PURE__ */ _(
|
|
117
|
-
onClick:
|
|
117
|
+
children: [/* @__PURE__ */ _(l, {
|
|
118
|
+
onClick: f,
|
|
118
119
|
variant: "destructive",
|
|
119
120
|
disabled: !P,
|
|
120
121
|
className: "w-full",
|
|
121
|
-
children: [/* @__PURE__ */ g(x, { className: "size-4" }), O ?? j("dialog.deleteFeature", { feature:
|
|
122
|
-
}), /* @__PURE__ */ g(
|
|
122
|
+
children: [/* @__PURE__ */ g(x, { className: "size-4" }), O ?? j("dialog.deleteFeature", { feature: e })]
|
|
123
|
+
}), /* @__PURE__ */ g(l, {
|
|
123
124
|
onClick: () => F(!1),
|
|
124
125
|
variant: "ghost",
|
|
125
126
|
className: "w-full",
|
|
@@ -132,64 +133,66 @@ var w = ({ feature: a, name: o, onDelete: s, open: b, setOpen: S, trigger: w, bl
|
|
|
132
133
|
};
|
|
133
134
|
//#endregion
|
|
134
135
|
//#region src/components/router/gradient-button-link.tsx
|
|
135
|
-
function T({ className:
|
|
136
|
-
let
|
|
137
|
-
variant:
|
|
138
|
-
size:
|
|
139
|
-
className:
|
|
136
|
+
function T({ className: t, variant: n, size: r, to: i, onClick: a, children: o }) {
|
|
137
|
+
let s = e(f({
|
|
138
|
+
variant: n,
|
|
139
|
+
size: r,
|
|
140
|
+
className: t
|
|
140
141
|
}));
|
|
141
142
|
return /* @__PURE__ */ g(S, {
|
|
142
|
-
to:
|
|
143
|
+
to: i,
|
|
143
144
|
"data-slot": "gradient-button",
|
|
144
|
-
className:
|
|
145
|
+
className: s,
|
|
145
146
|
onClick: (e) => {
|
|
146
|
-
let t = typeof
|
|
147
|
-
t && globalThis.location.pathname === t && globalThis.location.reload(),
|
|
147
|
+
let t = typeof i == "string" ? i : i.pathname;
|
|
148
|
+
t && globalThis.location.pathname === t && globalThis.location.reload(), a && a(e);
|
|
148
149
|
},
|
|
149
150
|
children: o
|
|
150
151
|
});
|
|
151
152
|
}
|
|
152
153
|
//#endregion
|
|
153
|
-
//#region src/components/router/
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
154
|
+
//#region src/components/router/loading-provider.tsx
|
|
155
|
+
function E({ title: e, description: t, buttonText: n, urlNew: r }) {
|
|
156
|
+
return /* @__PURE__ */ g("div", {
|
|
157
|
+
className: "flex items-center justify-center px-6 py-16",
|
|
158
|
+
children: /* @__PURE__ */ g("div", {
|
|
159
|
+
className: "relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl",
|
|
160
|
+
children: /* @__PURE__ */ _("div", {
|
|
161
|
+
className: "relative flex flex-col items-center text-center px-8 py-12 space-y-6",
|
|
162
|
+
children: [
|
|
163
|
+
/* @__PURE__ */ _("div", {
|
|
164
|
+
className: "relative",
|
|
165
|
+
children: [/* @__PURE__ */ g("div", { className: "absolute inset-0 rounded-2xl bg-gradient-to-br from-[var(--vg-accent-surface-strong)] to-[var(--vg-accent-surface-strong)] blur-xl animate-pulse" }), /* @__PURE__ */ g("div", {
|
|
166
|
+
className: "relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br vg-accent-solid shadow-lg shadow-[var(--vg-accent-line)] ring-4 ring-[var(--vg-accent-surface)]",
|
|
167
|
+
children: /* @__PURE__ */ g(b, {
|
|
168
|
+
className: "text-white",
|
|
169
|
+
size: 30
|
|
170
|
+
})
|
|
171
|
+
})]
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ _("div", {
|
|
174
|
+
className: "space-y-2",
|
|
175
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
176
|
+
className: "text-xl font-semibold tracking-tight",
|
|
177
|
+
children: e
|
|
178
|
+
}), /* @__PURE__ */ g("p", {
|
|
179
|
+
className: "text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto",
|
|
180
|
+
children: t
|
|
181
|
+
})]
|
|
182
|
+
}),
|
|
183
|
+
r && /* @__PURE__ */ g(T, {
|
|
184
|
+
size: "lg",
|
|
185
|
+
to: r,
|
|
178
186
|
children: n
|
|
179
|
-
})
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
size: "lg",
|
|
183
|
-
to: r,
|
|
184
|
-
children: i
|
|
185
|
-
})
|
|
186
|
-
]
|
|
187
|
+
})
|
|
188
|
+
]
|
|
189
|
+
})
|
|
187
190
|
})
|
|
188
|
-
})
|
|
189
|
-
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
var D = ({ checkIsNotUndefined: e, error: t, tryAgainUrl: n, children: r }) => {
|
|
190
194
|
let { t: i } = v();
|
|
191
195
|
return t ? /* @__PURE__ */ g(E, {
|
|
192
|
-
icon: b,
|
|
193
196
|
title: i("common.errorLoading"),
|
|
194
197
|
description: t,
|
|
195
198
|
buttonText: i("common.tryAgain"),
|
|
@@ -197,7 +200,7 @@ var E = ({ icon: e, title: t, description: n, urlNew: r, buttonText: i }) => /*
|
|
|
197
200
|
}) : e === void 0 && !t ? /* @__PURE__ */ _("div", {
|
|
198
201
|
className: "space-y-6 py-8 px-6 animate-pulse",
|
|
199
202
|
children: [
|
|
200
|
-
/* @__PURE__ */ g(
|
|
203
|
+
/* @__PURE__ */ g(s, { className: "h-8 w-1/3 rounded-md" }),
|
|
201
204
|
/* @__PURE__ */ g("div", {
|
|
202
205
|
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
|
|
203
206
|
children: [
|
|
@@ -207,18 +210,18 @@ var E = ({ icon: e, title: t, description: n, urlNew: r, buttonText: i }) => /*
|
|
|
207
210
|
].map((e) => /* @__PURE__ */ _("div", {
|
|
208
211
|
className: "space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20",
|
|
209
212
|
children: [
|
|
210
|
-
/* @__PURE__ */ g(
|
|
211
|
-
/* @__PURE__ */ g(
|
|
212
|
-
/* @__PURE__ */ g(
|
|
213
|
+
/* @__PURE__ */ g(s, { className: "h-5 w-2/3" }),
|
|
214
|
+
/* @__PURE__ */ g(s, { className: "h-12 w-full" }),
|
|
215
|
+
/* @__PURE__ */ g(s, { className: "h-4 w-5/6" })
|
|
213
216
|
]
|
|
214
217
|
}, e))
|
|
215
218
|
}),
|
|
216
219
|
/* @__PURE__ */ g("div", {
|
|
217
220
|
className: "pt-4",
|
|
218
|
-
children: /* @__PURE__ */ g(
|
|
221
|
+
children: /* @__PURE__ */ g(s, { className: "h-10 w-32 rounded-lg" })
|
|
219
222
|
})
|
|
220
223
|
]
|
|
221
224
|
}) : /* @__PURE__ */ g(h, { children: r });
|
|
222
225
|
};
|
|
223
226
|
//#endregion
|
|
224
|
-
export {
|
|
227
|
+
export { T as n, w as r, D as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-Oagwe_oa.cjs"),n=require("./badge-locale-CJkHDlPg.cjs");let r=require("react");r=e.t(r,1);let i=require("react/jsx-runtime"),a=require("react-i18next"),o=require("@tabler/icons-react"),s=require("react-router-dom");var c=({feature:e,name:t,onDelete:c,open:l,setOpen:u,trigger:d,blockedBy:f,title:p,description:m,confirmLabel:h})=>{let g=f&&f.length>0,_=(0,s.useNavigate)(),{t:v}=(0,a.useTranslation)(),[y,b]=(0,r.useState)(``),x=y===t;function S(e){u(e),e||b(``)}return(0,i.jsxs)(n.c,{open:l,onOpenChange:S,children:[d!==null&&(0,i.jsx)(n._,{asChild:!0,children:d??(0,i.jsx)(n.o,{variant:`ghost`,size:`icon-sm`,children:(0,i.jsx)(o.IconTrash,{className:`size-5!`})})}),(0,i.jsx)(n.u,{className:`sm:max-w-md`,children:g?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 ring-1 ring-amber-500/20 mb-2`,children:(0,i.jsx)(o.IconAlertTriangle,{className:`size-6 text-amber-500`})}),(0,i.jsx)(n.g,{className:`text-center`,children:v(`dialog.cannotDelete`,{feature:e})}),(0,i.jsx)(n.d,{className:`text-center`,children:v(`dialog.inUse`,{name:t})})]}),(0,i.jsxs)(`div`,{className:`space-y-3`,children:[(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:v(`dialog.dependingSites`,{feature:e})}),(0,i.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:f.map(e=>{let t=e.language?n.n(e.language):void 0;return(0,i.jsx)(n.r,{text:e.name,href:e.href,onClick:e=>{u(!1),e&&_(e)},prefix:t?(0,i.jsx)(`img`,{src:`https://flagcdn.com/w40/${t}.png`,alt:e.language,className:`w-4 h-3 object-cover rounded-sm`}):void 0},e.id)})}),(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`dialog.removeDependencies`,{feature:e})})]}),(0,i.jsx)(n.f,{children:(0,i.jsx)(n.o,{onClick:()=>u(!1),variant:`outline`,className:`w-full`,children:v(`dialog.understood`)})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(`div`,{className:`mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-red-500/10 ring-1 ring-red-500/20 mb-2`,children:(0,i.jsx)(o.IconTrash,{className:`size-6 text-red-500`})}),(0,i.jsx)(n.g,{className:`text-center`,children:p??v(`dialog.deleteFeature`,{feature:e})}),(0,i.jsx)(n.d,{className:`text-center`,children:m??v(`dialog.permanentDelete`,{name:t})})]}),(0,i.jsxs)(`div`,{className:`space-y-2`,children:[(0,i.jsxs)(`label`,{className:`text-sm text-muted-foreground`,children:[v(`dialog.typeToConfirm`),` `,(0,i.jsx)(`span`,{className:`font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded`,children:t}),` `,v(`dialog.toConfirm`)]}),(0,i.jsx)(n.a,{value:y,onChange:e=>b(e.target.value),placeholder:t,className:`font-mono text-sm`,autoFocus:!0})]}),(0,i.jsxs)(n.f,{className:`flex-col gap-2 sm:flex-col`,children:[(0,i.jsxs)(n.o,{onClick:c,variant:`destructive`,disabled:!x,className:`w-full`,children:[(0,i.jsx)(o.IconTrash,{className:`size-4`}),h??v(`dialog.deleteFeature`,{feature:e})]}),(0,i.jsx)(n.o,{onClick:()=>S(!1),variant:`ghost`,className:`w-full`,children:v(`common.cancel`)})]})]})})]})};function l({className:e,variant:r,size:a,to:o,onClick:c,children:l}){let u=t.t(n.s({variant:r,size:a,className:e}));return(0,i.jsx)(s.NavLink,{to:o,"data-slot":`gradient-button`,className:u,onClick:e=>{let t=typeof o==`string`?o:o.pathname;t&&globalThis.location.pathname===t&&globalThis.location.reload(),c&&c(e)},children:l})}function u({title:e,description:t,buttonText:n,urlNew:r}){return(0,i.jsx)(`div`,{className:`flex items-center justify-center px-6 py-16`,children:(0,i.jsx)(`div`,{className:`relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl`,children:(0,i.jsxs)(`div`,{className:`relative flex flex-col items-center text-center px-8 py-12 space-y-6`,children:[(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-2xl bg-gradient-to-br from-[var(--vg-accent-surface-strong)] to-[var(--vg-accent-surface-strong)] blur-xl animate-pulse`}),(0,i.jsx)(`div`,{className:`relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br vg-accent-solid shadow-lg shadow-[var(--vg-accent-line)] ring-4 ring-[var(--vg-accent-surface)]`,children:(0,i.jsx)(o.IconAlertTriangleFilled,{className:`text-white`,size:30})})]}),(0,i.jsxs)(`div`,{className:`space-y-2`,children:[(0,i.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:e}),(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto`,children:t})]}),r&&(0,i.jsx)(l,{size:`lg`,to:r,children:n})]})})})}var d=({checkIsNotUndefined:e,error:t,tryAgainUrl:r,children:o})=>{let{t:s}=(0,a.useTranslation)();return t?(0,i.jsx)(u,{title:s(`common.errorLoading`),description:t,buttonText:s(`common.tryAgain`),urlNew:r}):e===void 0&&!t?(0,i.jsxs)(`div`,{className:`space-y-6 py-8 px-6 animate-pulse`,children:[(0,i.jsx)(n.i,{className:`h-8 w-1/3 rounded-md`}),(0,i.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:[`skeleton-1`,`skeleton-2`,`skeleton-3`].map(e=>(0,i.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20`,children:[(0,i.jsx)(n.i,{className:`h-5 w-2/3`}),(0,i.jsx)(n.i,{className:`h-12 w-full`}),(0,i.jsx)(n.i,{className:`h-4 w-5/6`})]},e))}),(0,i.jsx)(`div`,{className:`pt-4`,children:(0,i.jsx)(n.i,{className:`h-10 w-32 rounded-lg`})})]}):(0,i.jsx)(i.Fragment,{children:o})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
package/dist/preset.css
CHANGED
|
@@ -200,10 +200,9 @@
|
|
|
200
200
|
--vg-accent-line: color-mix(in oklab, var(--vg-accent-from) 35%, transparent);
|
|
201
201
|
|
|
202
202
|
/* The accent as an interactive surface — the primary button, the checked
|
|
203
|
-
switch.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
than mixed at the call site. */
|
|
203
|
+
switch. The fill sits a step darker than the stops so its white label clears
|
|
204
|
+
contrast, on both grounds: the dark ground once used the stops themselves,
|
|
205
|
+
which put that label at 3.76:1. */
|
|
207
206
|
--vg-accent-fill-from: color-mix(in oklab, var(--vg-accent-from) 88%, black);
|
|
208
207
|
--vg-accent-fill-to: color-mix(in oklab, var(--vg-accent-to) 88%, black);
|
|
209
208
|
--vg-accent-fill-from-hover: color-mix(in oklab, var(--vg-accent-from) 76%, black);
|
|
@@ -309,13 +308,11 @@
|
|
|
309
308
|
--vg-accent: oklch(0.32 0 0);
|
|
310
309
|
--vg-accent-foreground: oklch(0.90 0 0);
|
|
311
310
|
/* The brand accent's dark twin. The tint surfaces are color-mix over the same
|
|
312
|
-
stop and read correctly on either ground, so only the foreground
|
|
313
|
-
interactive fill
|
|
311
|
+
stop and read correctly on either ground, so only the foreground re-points
|
|
312
|
+
here. The interactive fill does not: it carries a white label, and the stop
|
|
313
|
+
itself left that label at 3.76:1 on this ground (VDS151), so the dark ground
|
|
314
|
+
keeps the light ground's darker step and its hover. */
|
|
314
315
|
--vg-accent-fg: var(--vg-accent-text-dark);
|
|
315
|
-
--vg-accent-fill-from: var(--vg-accent-from);
|
|
316
|
-
--vg-accent-fill-to: var(--vg-accent-to);
|
|
317
|
-
--vg-accent-fill-from-hover: color-mix(in oklab, var(--vg-accent-from) 88%, black);
|
|
318
|
-
--vg-accent-fill-to-hover: color-mix(in oklab, var(--vg-accent-to) 88%, black);
|
|
319
316
|
--vg-accent-ring: color-mix(in oklab, var(--vg-accent-text-dark) 50%, transparent);
|
|
320
317
|
--vg-accent-shadow: color-mix(in oklab, var(--vg-accent-from) 20%, transparent);
|
|
321
318
|
--vg-accent-shadow-hover: color-mix(in oklab, var(--vg-accent-from) 25%, transparent);
|
package/dist/router.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./badge-locale-hQyWhAKe.cjs"),n=require("./breadcrumb.context-Vwc3lAlf.cjs"),r=require("./loading-provider-CmeMqLGk.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("react-i18next"),s=require("@tabler/icons-react"),c=require("@iconify/react"),l=require("react-router-dom"),u=require("@tanstack/react-table");function d(e){return typeof e.type==`string`?void 0:e.type.displayName}var f=()=>null;f.displayName=`GridListNewButton`;var p=()=>null;p.displayName=`GridListAction`;var m=()=>null;m.displayName=`GridListItemAction`;var h=[`vg-accent-solid`,`from-emerald-500 to-teal-500`,`from-violet-500 to-purple-500`,`from-amber-500 to-orange-500`,`from-rose-500 to-pink-500`,`from-cyan-500 to-sky-500`,`from-fuchsia-500 to-pink-500`,`from-lime-500 to-emerald-500`];function g(e){let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);return h[Math.abs(t)%h.length]}function _(e){return e.split(/[\s\-_]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}var v={columnFilteringFeature:u.columnFilteringFeature,globalFilteringFeature:u.globalFilteringFeature,rowPaginationFeature:u.rowPaginationFeature,rowSortingFeature:u.rowSortingFeature,coreRowModel:(0,u.createCoreRowModel)(),filteredRowModel:(0,u.createFilteredRowModel)(),paginatedRowModel:(0,u.createPaginatedRowModel)(),sortedRowModel:(0,u.createSortedRowModel)()},y=[{accessorKey:`name`,header:`Name`},{accessorKey:`description`,header:`Description`},{accessorKey:`url`,header:`URL`}],b=Object.assign(({gridItemList:e,children:r})=>{let{t:f}=(0,o.useTranslation)(),p=(0,l.useNavigate)(),m=[],h=[];i.default.Children.forEach(r,e=>{if(i.default.isValidElement(e)){if(d(e)===`GridListNewButton`){let{to:n,label:r}=e.props;m.push({key:`new-${r}`,render:()=>(0,a.jsxs)(t.g,{onClick:()=>p(n),children:[(0,a.jsx)(s.IconPlus,{className:`size-4 mr-2`}),f(`sidebar.new`,{feature:r,defaultValue:`New {{feature}}`})]})})}else if(d(e)===`GridListAction`){let{children:t}=e.props;m.push({key:`action-${m.length}`,render:()=>(0,a.jsx)(a.Fragment,{children:t})})}else if(d(e)===`GridListItemAction`){let t=e.props;h.push({key:`item-action-${h.length}`,icon:t.icon,label:t.label,onClick:t.onClick,position:t.position??`right`})}}});let b=h.length>0,x=h.filter(e=>e.position===`left`),S=h.filter(e=>e.position===`right`),[C,w]=(0,i.useState)({pageIndex:0,pageSize:12}),[T,E]=i.default.useState([]),[D,O]=(0,i.useState)(``),k=(0,u.useTable)({features:v,data:e,columns:y,onSortingChange:E,state:{globalFilter:D,pagination:C,sorting:T},onGlobalFilterChange:O,getColumnCanGlobalFilter:e=>e.id===`name`||e.id===`description`,onPaginationChange:w}),A=k.getRowModel().rows;return(0,a.jsxs)(`div`,{className:`px-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,a.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,a.jsx)(s.IconSearch,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,a.jsx)(t.l,{placeholder:f(`forms.common.search`),value:D??``,onChange:e=>O(e.target.value),className:`pl-9`})]}),(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:[k.getFilteredRowModel().rows.length,` `,k.getFilteredRowModel().rows.length===1?f(`forms.common.item`):f(`forms.common.items`)]}),m.length>0&&(0,a.jsx)(`div`,{className:`ml-auto`,children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:f(`forms.common.actions`)})]})}),(0,a.jsx)(t.m,{align:`end`,children:m.map(e=>(0,a.jsx)(i.default.Fragment,{children:e.render()},e.key))})]})})]}),A.length>0?(0,a.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4`,children:A.map(e=>{let t=e.getValue(`name`),r=e.getValue(`description`),i=e.getValue(`url`),o=e.original.icon??void 0,u=g(t),d=_(t),p=(0,a.jsxs)(n.$,{className:`relative overflow-hidden p-0 h-full transition-all duration-200 hover:shadow-lg hover:shadow-[var(--vg-accent-surface)] hover:-translate-y-0.5 border-border/60 hover:border-[var(--vg-accent-line)]`,children:[(0,a.jsx)(`div`,{className:`h-1.5 bg-linear-to-r ${u} opacity-70 group-hover:opacity-100 transition-opacity`}),(0,a.jsxs)(`div`,{className:`p-4 flex items-start gap-3`,children:[b&&x.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:x.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface)] transition-colors cursor-pointer`,children:t.icon},t.key))}),(0,a.jsx)(`div`,{className:`shrink-0 w-10 h-10 rounded-lg bg-linear-to-br ${u} flex items-center justify-center text-white text-sm font-semibold shadow-sm`,children:o?(0,a.jsx)(c.Icon,{icon:o,className:`size-5`}):d}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`h3`,{className:`font-medium text-sm truncate group-hover:text-[var(--vg-accent-fg)] transition-colors`,children:t}),r?(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed`,children:r}):(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground/50 mt-1 italic`,children:f(`forms.common.noDescription`)})]}),b?S.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:S.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),className:`inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface)] transition-colors cursor-pointer`,children:t.icon},t.key))}):(0,a.jsx)(s.IconChevronRight,{className:`h-4 w-4 text-muted-foreground/40 group-hover:text-[var(--vg-accent-fg)] transition-all group-hover:translate-x-0.5 mt-0.5 shrink-0`})]})]});return b?(0,a.jsx)(`div`,{className:`group`,children:p},e.id):(0,a.jsx)(l.NavLink,{to:i,className:`group`,children:p},e.id)})}):(0,a.jsx)(n.$,{className:`p-8`,children:(0,a.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,a.jsx)(s.IconSearch,{className:`h-8 w-8 mx-auto mb-2 opacity-40`}),(0,a.jsx)(`p`,{className:`text-sm`,children:f(`forms.common.noResults`)})]})}),k.getPageCount()>1&&(0,a.jsxs)(`div`,{className:`flex items-center justify-end space-x-2 mt-4`,children:[(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:f(`forms.common.perPage`)}),(0,a.jsxs)(n.U,{value:`${k.state.pagination.pageSize}`,onValueChange:e=>k.setPageSize(Number(e)),children:[(0,a.jsx)(n.Z,{className:`h-8 w-17.5`,children:(0,a.jsx)(n.Q,{placeholder:k.state.pagination.pageSize})}),(0,a.jsx)(n.W,{side:`top`,children:[12,24,36,48].map(e=>(0,a.jsx)(n.K,{value:`${e}`,children:e},e))})]})]}),(0,a.jsx)(`div`,{className:`flex w-25 items-center justify-center text-sm font-medium`,children:f(`forms.common.pageOf`,{index:k.state.pagination.pageIndex+1,count:k.getPageCount()})}),(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.previousPage(),disabled:!k.getCanPreviousPage(),className:`h-8 w-8 p-0`,"aria-label":f(`common.goToPreviousPage`,{defaultValue:`Go to previous page`}),children:(0,a.jsx)(`span`,{children:`<`})}),(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.nextPage(),disabled:!k.getCanNextPage(),className:`h-8 w-8 p-0`,"aria-label":f(`common.goToNextPage`,{defaultValue:`Go to next page`}),children:(0,a.jsx)(`span`,{children:`>`})})]})]})]})},{NewButton:f,Action:p,ItemAction:m}),x=e=>!e.url&&(e.children?.length??0)>0,S=(e,t,n)=>{if(e.url){let r=(t??``)+e.url;if(n===r||n.startsWith(r+`/`))return!0}return e.children?.some(e=>S(e,t,n))??!1},C=e=>(e??0).toLocaleString(),w=(e,t,r,i,o)=>e.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsx)(n.x,{tooltip:e.title,isActive:S(e,t,r),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:(t??``)+(e.url??``),onClick:o,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]})}),!i&&e.children&&e.children.length>0&&(0,a.jsx)(n.v,{className:`ml-4`,children:w(e.children,t,r,i,o)})]},e.title)),T=({icon:e,feature:i,name:c,urlBase:u,isNew:d,data:f,onDelete:p,onExport:m,open:h,setOpen:g})=>{let{t:_}=(0,o.useTranslation)(),v=(0,l.useLocation)().pathname,{state:y,isMobile:b,setOpenMobile:S}=n.j(),T=y===`collapsed`,E=b?()=>S(!1):void 0;return(0,a.jsxs)(n.c,{collapsible:`icon`,variant:`inset`,position:`absolute`,children:[(0,a.jsx)(n.h,{className:`pb-3`,children:(0,a.jsx)(n.v,{children:(0,a.jsxs)(n.S,{className:`flex items-center`,children:[(0,a.jsx)(n.x,{asChild:!0,className:`data-[slot=sidebar-menu-button]:p-1.5!`,children:(0,a.jsxs)(l.NavLink,{to:u??`#`,className:`flex items-center gap-2.5`,children:[(0,a.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),!T&&(0,a.jsx)(`span`,{className:`text-sm font-semibold whitespace-nowrap truncate`,children:d?_(`sidebar.new`,{feature:i}):c})]})}),!T&&(0,a.jsxs)(`div`,{className:`flex items-center gap-1 mr-auto`,children:[!d&&m&&(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,onClick:m,children:(0,a.jsx)(s.IconDownload,{className:`size-5!`})}),!d&&p&&g&&(0,a.jsx)(r.i,{feature:i,name:c,onDelete:p,open:h??!1,setOpen:g})]})]})})}),(0,a.jsxs)(n.l,{children:[f?.counts&&f.counts.length>0&&(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:_(`sidebar.indexing`)}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2 pt-4`,children:(0,a.jsx)(n.v,{children:f.counts.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsxs)(n.x,{tooltip:e.title+`: `+C(e.count),variant:`outline`,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]}),!T&&(0,a.jsx)(n.b,{children:C(e.count)})]},e.title))})})]}),(()=>{let e=f?.navMain??[],t=d?e.filter(e=>e.showOnNew??e.url===`/detail`):e,r=t.filter(e=>!x(e)),o=t.filter(x);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:i}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(r,u,v,T,E)})})]}),o.map(e=>(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:e.title}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(e.children??[],u,v,T,E)})})]},e.title))]})})()]})]})};function E({groups:e}){let t=(0,l.useLocation)().pathname,{isMobile:r,setOpenMobile:i}=n.j();return(0,a.jsx)(a.Fragment,{children:e.map(e=>(0,a.jsxs)(n.d,{children:[e.label&&(0,a.jsx)(n.m,{children:e.label}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:e.items.map(e=>(0,a.jsx)(n.S,{children:(0,a.jsx)(n.x,{tooltip:e.title,isActive:t.startsWith(e.url),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:e.url,onClick:()=>r&&i(!1),children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-6!`}),(0,a.jsx)(`span`,{children:e.title})]})})},e.title))})})]},e.label??`_ungrouped`))})}function D({user:e,accountUrl:r,logoutUrl:c,onLogout:u}){let{t:d}=(0,o.useTranslation)(),{isMobile:f}=n.j(),p=()=>{u?u():c&&(globalThis.location.href=c)},m=i.default.useMemo(()=>{let t=e.firstName||``,n=e.lastName||``;if(!t&&!n)return` `;let r=`${t} ${n}`.trim().split(` `).filter(Boolean);return r.length===1?r[0].charAt(0).toUpperCase():r[0].charAt(0).toUpperCase()+(r.at(-1)?.charAt(0).toUpperCase()??``)},[e]),h=e?.avatarUrl||``;return(0,a.jsx)(n.v,{children:(0,a.jsx)(n.S,{children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(n.x,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]}),(0,a.jsx)(s.IconDotsVertical,{className:`ml-auto size-4`})]})}),(0,a.jsxs)(t.m,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,side:f?`bottom`:`right`,align:`end`,sideOffset:4,children:[(0,a.jsx)(t._,{className:`p-0 font-normal`,children:(0,a.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1.5 text-left text-sm`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]})]})}),(0,a.jsx)(t.x,{}),r&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h,{children:(0,a.jsx)(l.NavLink,{to:r,className:`w-full`,children:(0,a.jsxs)(t.g,{children:[(0,a.jsx)(s.IconUserCircle,{}),d(`nav.account`)]})})}),(0,a.jsx)(t.x,{})]}),(0,a.jsxs)(t.g,{onClick:p,className:`cursor-pointer`,children:[(0,a.jsx)(s.IconLogout,{}),(0,a.jsx)(`span`,{children:d(`nav.logOut`)})]})]})]})})})}var O=()=>(0,a.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,a.jsx)(`div`,{className:`@container/main flex flex-1 flex-col gap-2`,children:(0,a.jsx)(`div`,{className:`flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2`,children:(0,a.jsx)(l.Outlet,{})})})}),k=({icon:e,title:t,urlBase:r,children:c})=>{let{items:u}=n.n(),d=(0,l.useNavigate)(),{t:f}=(0,o.useTranslation)(),p=u.length>0?u[u.length-1]:null,m=u.length>1?u[u.length-2]:null;return(0,a.jsx)(`header`,{className:`flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6`,children:[(0,a.jsx)(n.A,{className:`-ml-1 hidden md:flex`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4 hidden md:block`}),(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[e&&(0,a.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg vg-accent-chip ring-1 mr-1`,children:(0,a.jsx)(e,{className:`size-4.5! vg-accent-text`})}),r?(0,a.jsx)(n.ot,{children:(0,a.jsx)(n.ut,{children:u.map((e,t)=>(0,a.jsxs)(i.default.Fragment,{children:[t>0&&(0,a.jsx)(n.ft,{}),(0,a.jsx)(n.ct,{children:e.href?(0,a.jsx)(n.lt,{asChild:!0,children:(0,a.jsx)(l.NavLink,{to:e.href,children:e.label})}):(0,a.jsx)(n.dt,{children:e.label})})]},e.label))})}):(0,a.jsx)(`h1`,{className:`text-base font-semibold`,children:t})]}),(0,a.jsxs)(`div`,{className:`flex md:hidden items-center gap-2 min-w-0 flex-1`,children:[m?.href&&(0,a.jsx)(`button`,{type:`button`,title:f(`common.goBack`),onClick:()=>d(m.href),className:`shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors`,children:(0,a.jsx)(s.IconChevronLeft,{className:`size-4`})}),e&&(0,a.jsx)(`div`,{className:`flex shrink-0 h-7 w-7 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-3.5! vg-accent-text`})}),(0,a.jsx)(`span`,{className:`text-sm font-semibold truncate`,children:p?.label??t})]}),(0,a.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[c&&(0,a.jsx)(`div`,{className:`hidden md:flex items-center`,children:c}),(0,a.jsx)(`div`,{className:`hidden md:block`,children:(0,a.jsx)(n.i,{})}),(0,a.jsx)(n.A,{className:`md:hidden`})]})]})})},A=({icon:e,title:t,urlBase:n})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k,{icon:e,title:t,urlBase:n}),(0,a.jsx)(O,{})]}),j=({icon:e,feature:t,description:r,urlBase:i})=>{let s=n.M(),c=s?.isMobile??!1,u=s?.toggleSidebar??(()=>{}),{t:d}=(0,o.useTranslation)(),f=(0,a.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${c?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:c?u:void 0,onKeyDown:c?e=>{(e.key===`Enter`||e.key===` `)&&u()}:void 0,tabIndex:c?0:void 0,role:c?`button`:void 0,title:c?d(`common.openNavigation`,{defaultValue:`Open navigation`}):void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),p=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[f,(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground truncate`,children:t}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5 truncate`,children:r})]})]});return i&&!c?(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,a.jsx)(l.NavLink,{to:i,className:`group inline-flex max-w-full`,children:p})}):(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:p})};j.displayName=`StickyPageHeaderTitle`;var M=()=>null;M.displayName=`StickyPageHeaderAction`;var N=({children:e,menuLabel:n})=>{let r=(0,l.useNavigate)(),{t:c}=(0,o.useTranslation)(),u=[],d=[];i.default.Children.forEach(e,e=>{i.default.isValidElement(e)&&e.type?.displayName===`StickyPageHeaderAction`?u.push(e.props):d.push(e)});let f=n??c(`common.actions`);return(0,a.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[d,u.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:n?(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:n})]}):(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,"aria-label":f,title:f,children:(0,a.jsx)(s.IconDotsVertical,{className:`size-5!`})})}),(0,a.jsx)(t.m,{align:`end`,children:u.map(e=>{let n=e.icon??s.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&r(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]})]})};N.displayName=`StickyPageHeaderActions`;var P=Object.assign(({children:e})=>(0,a.jsx)(`header`,{className:`sticky top-0 z-10 -mx-4 lg:-mx-6 mb-5 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6 py-3`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),e]})}),{Title:j,Actions:N,Action:M}),F={comfortable:{outer:`px-1 md:px-6 lg:px-8 py-1 md:py-4`,inset:`md:mr-1.5 md:my-1.5`,main:`pt-2 md:pt-4`},compact:{outer:`px-0 py-0`,inset:`min-w-0 md:mx-1.5`,main:`pt-1 md:pt-2`}},I=({outletContext:e,density:t=`comfortable`,...r})=>{let i=F[t];return(0,a.jsx)(`div`,{className:`w-full ${i.outer} min-h-[calc(100svh-10.5rem)]`,children:(0,a.jsx)(`div`,{className:`flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm`,children:(0,a.jsxs)(n.D,{defaultOpen:!0,className:`min-h-0!`,style:{"--sidebar-width":`calc(var(--spacing) * 72)`,"--header-height":`calc(var(--spacing) * 12)`,minHeight:0},children:[(0,a.jsx)(T,{...r}),(0,a.jsx)(n._,{className:`${i.inset} md:rounded-xl md:border bg-background md:shadow-sm`,children:(0,a.jsx)(`main`,{className:`flex flex-1 flex-col ${i.main} max-md:[&_.px-6]:px-2`,children:(0,a.jsx)(l.Outlet,{context:e})})})]})})})},L=()=>null;L.displayName=`SubPageHeaderAction`;var R=Object.assign(({icon:e,feature:c,name:u,description:f,urlBase:p,onDelete:m,open:h,setOpen:g,children:_})=>{let v=n.M(),y=v?.isMobile??!1,b=v?.toggleSidebar??(()=>{}),x=(0,l.useNavigate)(),{t:S}=(0,o.useTranslation)(),C=[];i.default.Children.forEach(_,e=>{i.default.isValidElement(e)&&d(e)===`SubPageHeaderAction`&&C.push(e.props)});let w=e&&(0,a.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${y?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:y?b:void 0,onKeyDown:y?e=>{(e.key===`Enter`||e.key===` `)&&b()}:void 0,tabIndex:y?0:void 0,title:y?S(`common.openNavigation`,{defaultValue:`Open navigation`}):void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),T=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[w,(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground`,children:c}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5`,children:f})]})]});return(0,a.jsxs)(`header`,{className:`mb-5`,children:[(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:p&&!y?(0,a.jsx)(l.NavLink,{to:p,className:`group inline-flex`,children:T}):T}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:S(`common.actions`,{defaultValue:`Actions`})})]})}),(0,a.jsx)(t.m,{align:`end`,children:C.map(e=>{let n=e.icon??s.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&x(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]}),h!==void 0&&m!==void 0&&g!==void 0&&(0,a.jsx)(r.i,{feature:c,name:u,onDelete:m,open:h,setOpen:g})]})]}),(0,a.jsx)(n.H,{className:`mt-3`})]})},{Action:L});exports.BlankSlate=r.n,exports.DialogDelete=r.i,exports.GradientButtonLink=r.r,exports.GridList=b,exports.InternalSidebar=T,exports.LoadProvider=r.t,exports.NavMain=E,exports.NavUser=D,exports.Page=A,exports.PageContent=O,exports.PageHeader=k,exports.StickyPageHeader=P,exports.SubPage=I,exports.SubPageHeader=R;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./loading-provider-DGuCfsl9.cjs");exports.DialogDelete=e.r,exports.GradientButtonLink=e.n,exports.LoadProvider=e.t;
|