tembro 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/components/charts/charts.d.ts +16 -5
- package/dist/components/display/chat.cjs +1 -0
- package/dist/components/display/chat.d.ts +94 -0
- package/dist/components/display/chat.js +1 -0
- package/dist/components/display/index.d.ts +1 -0
- package/dist/components/display/kanban.d.ts +33 -1
- package/dist/components/layout/sidebar.d.ts +24 -2
- package/dist/components/modern/rich-text-editor.d.ts +13 -1
- package/dist/components/theme-provider.d.ts +19 -6
- package/dist/components/ui/badge/index.d.ts +8 -2
- package/dist/src/components/charts/charts.cjs +1 -1
- package/dist/src/components/charts/charts.js +343 -252
- package/dist/src/components/display/activity-feed.cjs +1 -1
- package/dist/src/components/display/activity-feed.js +4 -1
- package/dist/src/components/display/chat.cjs +1 -0
- package/dist/src/components/display/chat.js +372 -0
- package/dist/src/components/display/index.cjs +1 -1
- package/dist/src/components/display/index.js +17 -16
- package/dist/src/components/display/kanban.cjs +1 -1
- package/dist/src/components/display/kanban.js +321 -176
- package/dist/src/components/display/timeline.cjs +1 -1
- package/dist/src/components/display/timeline.js +5 -5
- package/dist/src/components/inputs/tag-input.cjs +1 -1
- package/dist/src/components/inputs/tag-input.js +6 -2
- package/dist/src/components/layout/index.cjs +1 -1
- package/dist/src/components/layout/index.js +4 -4
- package/dist/src/components/layout/public.cjs +1 -1
- package/dist/src/components/layout/public.js +4 -4
- package/dist/src/components/layout/sidebar.cjs +1 -1
- package/dist/src/components/layout/sidebar.js +326 -228
- package/dist/src/components/layout/workspace-layout.cjs +1 -1
- package/dist/src/components/layout/workspace-layout.js +3 -3
- package/dist/src/components/modern/rich-text-editor.cjs +1 -1
- package/dist/src/components/modern/rich-text-editor.js +216 -89
- package/dist/src/components/theme-provider.cjs +1 -1
- package/dist/src/components/theme-provider.js +58 -36
- package/dist/src/components/ui/badge/index.cjs +1 -1
- package/dist/src/components/ui/badge/index.js +59 -47
- package/dist/src/components/ui/input/clearable.cjs +1 -1
- package/dist/src/components/ui/input/clearable.js +5 -2
- package/dist/src/components/ui/input/primitive.cjs +1 -1
- package/dist/src/components/ui/input/primitive.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/index.js +87 -86
- package/dist/src/public-component-surface.cjs +1 -1
- package/dist/src/public-component-surface.js +5 -0
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +3 -3
- package/packages/cli/vendor/src/components/charts/charts.tsx +55 -15
- package/packages/cli/vendor/src/components/display/activity-feed.tsx +1 -1
- package/packages/cli/vendor/src/components/display/chat.tsx +237 -0
- package/packages/cli/vendor/src/components/display/index.ts +1 -0
- package/packages/cli/vendor/src/components/display/kanban.tsx +219 -72
- package/packages/cli/vendor/src/components/display/timeline.tsx +10 -10
- package/packages/cli/vendor/src/components/inputs/tag-input.tsx +3 -2
- package/packages/cli/vendor/src/components/layout/sidebar.tsx +212 -51
- package/packages/cli/vendor/src/components/layout/workspace-layout.tsx +3 -3
- package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +115 -32
- package/packages/cli/vendor/src/components/theme-provider.tsx +82 -36
- package/packages/cli/vendor/src/components/ui/badge/index.tsx +29 -8
- package/packages/cli/vendor/src/components/ui/input/clearable.tsx +2 -2
- package/packages/cli/vendor/src/components/ui/input/primitive.tsx +1 -1
- package/packages/cli/vendor/src/public-component-surface.ts +1 -0
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +2 -2
- package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +1 -1
- package/packages/cli/vendor/templates/styles/globals.css +136 -33
- package/registry.json +3 -1
|
@@ -61,22 +61,22 @@ function o({ item: r }) {
|
|
|
61
61
|
return /* @__PURE__ */ n("span", {
|
|
62
62
|
"data-slot": "timeline-dot",
|
|
63
63
|
"data-tone": a,
|
|
64
|
-
className: e("
|
|
64
|
+
className: e("relative z-10 grid size-7 shrink-0 place-items-center rounded-full border-2 border-background text-[10px] shadow-[0_0_0_1px_var(--border)]", i[a]),
|
|
65
65
|
children: r.icon ?? /* @__PURE__ */ n(t, { className: "size-2 fill-current" })
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
function s({ item: t, compact: i, className: a, isLast: s }) {
|
|
69
69
|
return /* @__PURE__ */ r("div", {
|
|
70
70
|
"data-slot": "timeline-item",
|
|
71
|
-
className: e("grid grid-cols-[
|
|
71
|
+
className: e("relative grid grid-cols-[1.75rem_minmax(0,1fr)] gap-3", a, t.className),
|
|
72
72
|
children: [/* @__PURE__ */ r("div", {
|
|
73
|
-
className: "
|
|
73
|
+
className: "relative flex justify-center",
|
|
74
74
|
children: [/* @__PURE__ */ n(o, { item: t }), !s && /* @__PURE__ */ n("div", {
|
|
75
75
|
"data-slot": "timeline-line",
|
|
76
|
-
className: "w-px
|
|
76
|
+
className: "absolute left-1/2 top-7 h-[calc(100%_-_1.75rem)] w-px -translate-x-1/2 bg-border"
|
|
77
77
|
})]
|
|
78
78
|
}), /* @__PURE__ */ r("div", {
|
|
79
|
-
className: e("min-w-0 pb-5", i && "pb-3"),
|
|
79
|
+
className: e("min-w-0 pb-5 pt-0.5", i && "pb-3"),
|
|
80
80
|
children: [
|
|
81
81
|
/* @__PURE__ */ r("div", {
|
|
82
82
|
className: "flex min-w-0 flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs"),r=require("../ui/input/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({value:e,defaultValue:s=[],onValueChange:c,placeholder:l=`Add tag...`,disabled:u=!1,readOnly:d=!1,maxTags:f,allowDuplicates:p=!1,separators:m=[`,`,`Enter`],normalizeTag:h=e=>e.trim(),className:g,..._}){let v=e!==void 0,[y,b]=i.useState(s),[x,S]=i.useState(``),C=v?e:y,w=f!==void 0&&C.length>=f,T=i.useCallback(e=>{v||b(e),c?.(e)},[v,c]),E=i.useCallback(e=>{let t=h(e);t&&(f!==void 0&&C.length>=f||!p&&C.includes(t)||(T([...C,t]),S(``)))},[p,f,h,T,C]),D=i.useCallback(e=>{T(C.filter(t=>t!==e))},[T,C]);return(0,o.jsx)(`div`,{"data-slot":`tag-input`,className:t.cn(`grid gap-2`,g),..._,children:(0,o.jsxs)(`div`,{className:t.cn(`flex min-h-12 flex-wrap items-center gap-2 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_78%,white_22%)] px-3 py-2.5 shadow-sm transition focus-within:border-[color:var(--aui-brand-strong)] focus-within:ring-4 focus-within:ring-[color:color-mix(in_srgb,var(--aui-brand-strong)_14%,transparent)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,u&&`opacity-60`,d&&`bg-muted/30`),children:[C.map(e=>(0,o.jsxs)(n.Badge,{variant:`secondary`,className:`h-8 gap-1 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1 text-[13px] font-medium shadow-sm`,children:[e,!d&&!u&&(0,o.jsx)(`button`,{type:`button`,className:`
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs"),r=require("../ui/input/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s({value:e,defaultValue:s=[],onValueChange:c,placeholder:l=`Add tag...`,disabled:u=!1,readOnly:d=!1,maxTags:f,allowDuplicates:p=!1,separators:m=[`,`,`Enter`],normalizeTag:h=e=>e.trim(),className:g,..._}){let v=e!==void 0,[y,b]=i.useState(s),[x,S]=i.useState(``),C=v?e:y,w=f!==void 0&&C.length>=f,T=i.useCallback(e=>{v||b(e),c?.(e)},[v,c]),E=i.useCallback(e=>{let t=h(e);t&&(f!==void 0&&C.length>=f||!p&&C.includes(t)||(T([...C,t]),S(``)))},[p,f,h,T,C]),D=i.useCallback(e=>{T(C.filter(t=>t!==e))},[T,C]);return(0,o.jsx)(`div`,{"data-slot":`tag-input`,className:t.cn(`grid gap-2`,g),..._,children:(0,o.jsxs)(`div`,{className:t.cn(`flex min-h-12 flex-wrap items-center gap-2 rounded-2xl border border-[color:var(--aui-surface-border)] bg-[color:color-mix(in_srgb,var(--aui-control-bg)_78%,white_22%)] px-3 py-2.5 shadow-sm transition focus-within:border-[color:var(--aui-brand-strong)] focus-within:ring-4 focus-within:ring-[color:color-mix(in_srgb,var(--aui-brand-strong)_14%,transparent)] dark:bg-[color:color-mix(in_srgb,var(--aui-control-bg)_90%,black_10%)]`,u&&`opacity-60`,d&&`bg-muted/30`),children:[C.map(e=>(0,o.jsxs)(n.Badge,{variant:`secondary`,className:`h-8 gap-1 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1 text-[13px] font-medium shadow-sm`,children:[e,!d&&!u&&(0,o.jsx)(`button`,{type:`button`,className:`grid size-5 shrink-0 place-items-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,"aria-label":`Remove ${e}`,onClick:n=>{t.stopInteractivePropagation(n),D(e)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`,strokeWidth:2})})]},e)),!d&&(0,o.jsx)(r.Input,{value:x,disabled:u||w,placeholder:l,className:`h-8 min-w-32 flex-1 border-0 bg-transparent px-1 text-sm shadow-none placeholder:text-[color:var(--aui-text-muted)] focus-visible:ring-0`,onChange:e=>S(e.target.value),onBlur:()=>E(x),onKeyDown:e=>{m.includes(e.key)&&(e.preventDefault(),E(x)),e.key===`Backspace`&&!x&&C.length&&D(C[C.length-1])}}),f!==void 0&&(0,o.jsxs)(`span`,{className:`ml-auto text-xs font-medium text-muted-foreground`,children:[C.length,`/`,f]})]})})}exports.TagInput=s;
|
|
@@ -33,13 +33,17 @@ function c({ value: c, defaultValue: l = [], onValueChange: u, placeholder: d =
|
|
|
33
33
|
className: "h-8 gap-1 rounded-full border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-3 pr-1 text-[13px] font-medium shadow-sm",
|
|
34
34
|
children: [e, !p && !f && /* @__PURE__ */ o("button", {
|
|
35
35
|
type: "button",
|
|
36
|
-
className: "
|
|
36
|
+
className: "grid size-5 shrink-0 place-items-center rounded-full p-0 leading-none text-muted-foreground transition hover:bg-[color:var(--aui-control-bg)] hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
|
|
37
|
+
"aria-label": `Remove ${e}`,
|
|
37
38
|
onClick: (n) => {
|
|
38
39
|
t(n), k(e);
|
|
39
40
|
},
|
|
40
41
|
onMouseDown: t,
|
|
41
42
|
onDoubleClick: t,
|
|
42
|
-
children: /* @__PURE__ */ o(a, {
|
|
43
|
+
children: /* @__PURE__ */ o(a, {
|
|
44
|
+
className: "size-3",
|
|
45
|
+
strokeWidth: 2
|
|
46
|
+
})
|
|
43
47
|
})]
|
|
44
48
|
}, e)),
|
|
45
49
|
!p && /* @__PURE__ */ o(r, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./breadcrumbs.cjs"),t=require("./workspace-header.cjs"),n=require("./sidebar-context.cjs"),r=require("./sidebar.cjs"),i=require("./section.cjs"),a=require("./workspace-layout.cjs");exports.Breadcrumbs=e.Breadcrumbs,exports.Section=i.Section,exports.Sidebar=r.Sidebar,exports.SidebarProvider=n.SidebarProvider,exports.SidebarTrigger=n.SidebarTrigger,exports.SplitLayout=i.SplitLayout,exports.Toolbar=i.Toolbar,exports.WorkspaceContent=a.WorkspaceContent,exports.WorkspaceHeader=t.WorkspaceHeader,exports.WorkspaceLayout=a.WorkspaceLayout,exports.WorkspaceMain=a.WorkspaceMain,exports.useSidebar=n.useSidebar;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./breadcrumbs.cjs"),t=require("./workspace-header.cjs"),n=require("./sidebar-context.cjs"),r=require("./sidebar.cjs"),i=require("./section.cjs"),a=require("./workspace-layout.cjs");exports.Breadcrumbs=e.Breadcrumbs,exports.Section=i.Section,exports.Sidebar=r.Sidebar,exports.SidebarInset=r.SidebarInset,exports.SidebarProvider=n.SidebarProvider,exports.SidebarTrigger=n.SidebarTrigger,exports.SplitLayout=i.SplitLayout,exports.Toolbar=i.Toolbar,exports.WorkspaceContent=a.WorkspaceContent,exports.WorkspaceHeader=t.WorkspaceHeader,exports.WorkspaceLayout=a.WorkspaceLayout,exports.WorkspaceMain=a.WorkspaceMain,exports.useSidebar=n.useSidebar;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Breadcrumbs as e } from "./breadcrumbs.js";
|
|
2
2
|
import { WorkspaceHeader as t } from "./workspace-header.js";
|
|
3
3
|
import { SidebarProvider as n, SidebarTrigger as r, useSidebar as i } from "./sidebar-context.js";
|
|
4
|
-
import { Sidebar as a } from "./sidebar.js";
|
|
5
|
-
import { Section as
|
|
6
|
-
import { WorkspaceContent as
|
|
7
|
-
export { e as Breadcrumbs,
|
|
4
|
+
import { Sidebar as a, SidebarInset as o } from "./sidebar.js";
|
|
5
|
+
import { Section as s, SplitLayout as c, Toolbar as l } from "./section.js";
|
|
6
|
+
import { WorkspaceContent as u, WorkspaceLayout as d, WorkspaceMain as f } from "./workspace-layout.js";
|
|
7
|
+
export { e as Breadcrumbs, s as Section, a as Sidebar, o as SidebarInset, n as SidebarProvider, r as SidebarTrigger, c as SplitLayout, l as Toolbar, u as WorkspaceContent, t as WorkspaceHeader, d as WorkspaceLayout, f as WorkspaceMain, i as useSidebar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./breadcrumbs.cjs"),t=require("./workspace-header.cjs"),n=require("./sidebar-context.cjs"),r=require("./sidebar.cjs"),i=require("./section.cjs"),a=require("./workspace-layout.cjs");exports.Breadcrumbs=e.Breadcrumbs,exports.Section=i.Section,exports.Sidebar=r.Sidebar,exports.SidebarProvider=n.SidebarProvider,exports.SidebarTrigger=n.SidebarTrigger,exports.SplitLayout=i.SplitLayout,exports.Toolbar=i.Toolbar,exports.WorkspaceContent=a.WorkspaceContent,exports.WorkspaceHeader=t.WorkspaceHeader,exports.WorkspaceLayout=a.WorkspaceLayout,exports.WorkspaceMain=a.WorkspaceMain,exports.useSidebar=n.useSidebar;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./breadcrumbs.cjs"),t=require("./workspace-header.cjs"),n=require("./sidebar-context.cjs"),r=require("./sidebar.cjs"),i=require("./section.cjs"),a=require("./workspace-layout.cjs");exports.Breadcrumbs=e.Breadcrumbs,exports.Section=i.Section,exports.Sidebar=r.Sidebar,exports.SidebarInset=r.SidebarInset,exports.SidebarProvider=n.SidebarProvider,exports.SidebarTrigger=n.SidebarTrigger,exports.SplitLayout=i.SplitLayout,exports.Toolbar=i.Toolbar,exports.WorkspaceContent=a.WorkspaceContent,exports.WorkspaceHeader=t.WorkspaceHeader,exports.WorkspaceLayout=a.WorkspaceLayout,exports.WorkspaceMain=a.WorkspaceMain,exports.useSidebar=n.useSidebar;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Breadcrumbs as e } from "./breadcrumbs.js";
|
|
2
2
|
import { WorkspaceHeader as t } from "./workspace-header.js";
|
|
3
3
|
import { SidebarProvider as n, SidebarTrigger as r, useSidebar as i } from "./sidebar-context.js";
|
|
4
|
-
import { Sidebar as a } from "./sidebar.js";
|
|
5
|
-
import { Section as
|
|
6
|
-
import { WorkspaceContent as
|
|
7
|
-
export { e as Breadcrumbs,
|
|
4
|
+
import { Sidebar as a, SidebarInset as o } from "./sidebar.js";
|
|
5
|
+
import { Section as s, SplitLayout as c, Toolbar as l } from "./section.js";
|
|
6
|
+
import { WorkspaceContent as u, WorkspaceLayout as d, WorkspaceMain as f } from "./workspace-layout.js";
|
|
7
|
+
export { e as Breadcrumbs, s as Section, a as Sidebar, o as SidebarInset, n as SidebarProvider, r as SidebarTrigger, c as SplitLayout, l as Toolbar, u as WorkspaceContent, t as WorkspaceHeader, d as WorkspaceLayout, f as WorkspaceMain, i as useSidebar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../../hooks/use-is-mobile.cjs"),r=require("./controllable-details.cjs"),i=require("../ui/tooltip/index.cjs"),a=require("./sidebar-context.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");var l=1024,u=`18rem`,d=`4.75rem`,f=`min(88vw, 22rem)`;function p({active:e,disabled:n}){return t.cn(`border border-transparent bg-transparent text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_6%)] hover:border-[color:var(--aui-sidebar-item-active-border)] hover:bg-[color:var(--aui-sidebar-item-hover-bg)] hover:text-[color:var(--sidebar-foreground)] focus-visible:border-[color:var(--sidebar-ring)] focus-visible:bg-[color:var(--aui-sidebar-item-hover-bg)] focus-visible:text-[color:var(--sidebar-foreground)] focus-visible:shadow-[0_0_0_3px_color-mix(in_oklch,var(--sidebar-ring),transparent_82%)]`,e&&`border-[color:var(--aui-sidebar-item-active-border)] bg-[color:var(--aui-sidebar-item-active-bg)] text-[color:var(--aui-sidebar-item-active-fg)] shadow-[inset_0_1px_0_rgba(255,255,255,0.08),0_10px_24px_color-mix(in_oklch,var(--sidebar-primary),transparent_88%)]`,n&&`hover:border-transparent hover:bg-transparent hover:text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_6%)]`)}function m({collapsed:e,depth:n,itemSize:r,activeIndicator:i}){return t.cn(`relative w-full rounded-[min(var(--radius-xl),14px)] py-2`,r===`sm`&&`min-h-8 text-xs`,r===`md`&&`min-h-9 text-sm`,r===`lg`&&`min-h-11 text-sm`,e?`justify-center px-2`:`px-2.5`,!e&&n>0&&`pl-3`,i===`bar`&&`data-[active=true]:pl-4 before:pointer-events-none before:absolute before:left-1.5 before:top-1/2 before:hidden before:h-5 before:w-1 before:-translate-y-1/2 before:rounded-full before:bg-[color:var(--sidebar-primary)] data-[active=true]:before:block`,i===`pill`&&`rounded-full`,i===`none`&&`data-[active=true]:shadow-none`)}function h(e){return e.items?.some(e=>!e.hidden)??!1}function g(e){return e.active?!0:e.items?.some(e=>g(e))??!1}function _(e,t){e.onSelect?.(),t?.(e)}function v({item:e,collapsed:n,depth:r,itemSize:a,activeIndicator:o,onItemSelect:s,renderLink:l}){let u={"aria-current":e.current??(e.active?`page`:void 0),"aria-disabled":e.disabled||void 0,"data-slot":`sidebar-item`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,"data-depth":String(r),"data-size":a,"data-active-indicator":o,className:t.cn(`flex items-center gap-2 border border-transparent font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,p({active:e.active,disabled:e.disabled}),m({collapsed:n,depth:r,itemSize:a,activeIndicator:o}))},d=(0,c.jsxs)(c.Fragment,{children:[e.icon&&(0,c.jsx)(`span`,{className:`shrink-0`,children:e.icon}),!n&&(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge&&(0,c.jsx)(`span`,{className:`shrink-0`,children:e.badge})]}),f=t=>n?(0,c.jsx)(i.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,c.jsx)(`span`,{className:`block`,children:t})}):t;return e.href?.startsWith(`/`)?f(l?(0,c.jsx)(c.Fragment,{children:l({item:e,href:e.href,...u,onClick:t=>{if(e.disabled){t.preventDefault();return}_(e,s)},children:d})}):(0,c.jsx)(`a`,{href:e.href,...u,onClick:t=>{if(e.disabled){t.preventDefault();return}_(e,s)},children:d})):e.href?f((0,c.jsx)(`button`,{type:`button`,...u,className:t.cn(u.className,`w-full`),onClick:()=>{if(e.disabled)return;let t=e.href;if(t){if(_(e,s),t.startsWith(`http`)){window.open(t,`_blank`,`noopener,noreferrer`);return}window.location.assign(t)}},children:d})):f((0,c.jsx)(`button`,{type:`button`,disabled:e.disabled,...u,onClick:()=>{e.disabled||_(e,s)},children:d}))}function y({items:e,collapsed:n,depth:a,showSectionLabels:l,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:_}){return e.map(e=>{if(e.hidden)return null;let b=h(e),x=g(e),S=l&&!n&&a===0&&e.sectionLabel;if(!b)return(0,c.jsxs)(o.Fragment,{children:[S?(0,c.jsx)(`div`,{"data-slot":`sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] first:pt-0`,children:e.sectionLabel}):null,(0,c.jsx)(v,{item:e,collapsed:n,depth:a,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:_})]},e.key);let C=e.defaultExpanded??x;return(0,c.jsxs)(`div`,{"data-slot":`sidebar-group`,"data-depth":a,children:[S&&(0,c.jsx)(`div`,{"data-slot":`sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] first:pt-0`,children:e.sectionLabel}),(0,c.jsxs)(r.ControllableDetails,{"data-slot":`sidebar-group-details`,open:e.expanded,defaultOpen:C,className:`group/sidebar-details`,onOpenChange:e.onExpandedChange,children:[(0,c.jsxs)(`summary`,{"data-slot":`sidebar-group-trigger`,"data-size":u,"data-active":x||void 0,"data-active-indicator":d,className:t.cn(`flex list-none items-center gap-2 border border-transparent font-medium outline-none transition-[background-color,border-color,color,box-shadow]`,p({active:x}),m({collapsed:n,depth:a,itemSize:u,activeIndicator:d})),children:[e.icon?n?(0,c.jsx)(i.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,c.jsx)(`span`,{className:`shrink-0`,children:e.icon})}):(0,c.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,!n&&(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge&&(0,c.jsx)(`span`,{className:`shrink-0`,children:e.badge}),!n&&(0,c.jsx)(s.ChevronRightIcon,{"data-slot":`sidebar-group-chevron`,className:`ml-auto size-3.5 shrink-0 text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] transition-transform group-open/sidebar-details:rotate-90`})]}),(0,c.jsx)(`div`,{"data-slot":`sidebar-group-content`,className:t.cn(`mt-1 flex flex-col gap-1`,!n&&`pl-3`),children:(0,c.jsx)(y,{items:e.items??[],collapsed:n,depth:a+1,showSectionLabels:l,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:_})})]})]},e.key)})}function b({item:e,collapsed:n,onItemSelect:r}){let a=(0,c.jsxs)(`button`,{type:`button`,"data-slot":`sidebar-action`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,p({active:e.active,disabled:e.disabled}),n&&`justify-center px-2`),disabled:e.disabled,onClick:()=>{e.disabled||_(e,r)},children:[e.icon?(0,c.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,n?null:(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge?(0,c.jsx)(`span`,{className:`shrink-0`,children:e.badge}):null]});return n?(0,c.jsx)(i.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,c.jsx)(`span`,{className:`block`,children:a})}):a}function x({account:e,collapsed:n,onAfterSelect:r}){let a=(0,c.jsxs)(`button`,{type:`button`,"data-slot":`sidebar-account`,className:t.cn(`flex w-full items-center gap-3 rounded-[min(var(--radius-xl),16px)] border border-transparent text-left transition-[background-color,border-color,color,box-shadow]`,p({}),n?`justify-center px-2 py-2.5`:`px-3 py-2.5`),onClick:()=>{if(e.onSelect?.(),r?.(),e.href){if(e.href.startsWith(`http`)){window.open(e.href,`_blank`,`noopener,noreferrer`);return}window.location.assign(e.href)}},children:[e.avatar?(0,c.jsx)(`span`,{"data-slot":`sidebar-account-avatar`,className:`inline-flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/65 bg-muted/45 text-sm font-semibold`,children:e.avatar}):null,n?null:(0,c.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,c.jsx)(`span`,{"data-slot":`sidebar-account-label`,className:`block truncate text-sm font-semibold text-[color:var(--sidebar-foreground)]`,children:e.label}),e.description?(0,c.jsx)(`span`,{"data-slot":`sidebar-account-description`,className:`block truncate text-xs text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_36%)]`,children:e.description}):null]})]});return n?(0,c.jsx)(i.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,c.jsx)(`span`,{className:`block`,children:a})}):a}function S({className:e,style:n,header:r,footer:a,items:l=[],collapsed:f=!1,width:p=u,collapsedWidth:m=d,collapsedRail:h,railItems:g=[],footerAccount:_,secondaryActions:v=[],footerSecondary:S,footerClassName:C,tooltipOnCollapsed:w,showSectionLabels:T=!0,itemSize:E=`md`,activeIndicator:D=`bar`,navigationLabel:O=`Primary navigation`,onItemSelect:k,renderItem:A,renderLink:j,children:M,mobile:N,mobileTitle:P,mobileDescription:F,mobileCloseLabel:I=`Close navigation`,onRequestClose:L,closeOnSelect:R=!0,...z}){let B=l.filter(e=>!e.hidden),V=g.filter(e=>!e.hidden),H=v.filter(e=>!e.hidden),U=o.useCallback(e=>{k?.(e),N&&R&&L?.()},[R,N,k,L]),W=N&&(P||F||L);return(0,c.jsxs)(`aside`,{"data-slot":`sidebar`,"data-collapsed":f||void 0,"data-mobile":N||void 0,className:t.cn(`group/sidebar flex h-full min-h-0 flex-col overflow-hidden`,e),style:{width:f?m:p,minWidth:f?m:p,...n},...z,children:[(r||W)&&(0,c.jsx)(`div`,{"data-slot":`sidebar-header`,className:`shrink-0 border-b p-3`,children:(0,c.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,c.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r??null,W?(0,c.jsxs)(`div`,{className:t.cn(r&&`mt-3`),children:[P?(0,c.jsx)(`p`,{className:`text-sm font-semibold text-foreground`,children:P}):null,F?(0,c.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:F}):null]}):null]}),N&&L?(0,c.jsx)(`button`,{type:`button`,"aria-label":I,"data-slot":`sidebar-mobile-close`,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-xl border border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg-alt,var(--muted))] text-[color:var(--aui-page-foreground,var(--foreground))] transition hover:bg-[color:var(--aui-control-bg,var(--muted))]`,onClick:L,children:(0,c.jsx)(s.XIcon,{className:`size-4`})}):null]})}),(0,c.jsxs)(`nav`,{"data-slot":`sidebar-nav`,"aria-label":O,className:`flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto overscroll-contain p-2`,children:[M??B.map(e=>{if(!A)return null;let t=A(e,{collapsed:f});return!f||!w?(0,c.jsx)(o.Fragment,{children:t},e.key):(0,c.jsx)(i.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,c.jsx)(`span`,{className:`block`,children:t})},e.key)}),!M&&!A&&(0,c.jsx)(y,{items:B,collapsed:f,depth:0,showSectionLabels:T,itemSize:E,activeIndicator:D,onItemSelect:U,renderLink:j})]}),(_||S||a||H.length>0||f&&(h||V.length>0))&&(0,c.jsxs)(`div`,{"data-slot":`sidebar-footer`,className:t.cn(`shrink-0 border-t p-3`,C),children:[f?(0,c.jsxs)(c.Fragment,{children:[V.length>0?(0,c.jsx)(`div`,{"data-slot":`sidebar-rail-actions`,className:`grid gap-2`,children:V.map(e=>(0,c.jsx)(b,{item:e,collapsed:!0,onItemSelect:U},e.key))}):null,h?(0,c.jsx)(`div`,{"data-slot":`sidebar-rail`,children:h}):null]}):null,!f&&_?(0,c.jsx)(`div`,{"data-slot":`sidebar-account-wrap`,className:`mb-3`,children:(0,c.jsx)(x,{account:_,collapsed:!1,onAfterSelect:()=>{N&&R&&L?.()}})}):null,!f&&H.length>0?(0,c.jsx)(`div`,{"data-slot":`sidebar-secondary-actions`,className:`mb-3 grid gap-2`,children:H.map(e=>(0,c.jsx)(b,{item:e,collapsed:!1,onItemSelect:U},e.key))}):null,!f&&S?(0,c.jsx)(`div`,{"data-slot":`sidebar-footer-secondary`,className:`mb-3`,children:S}):null,f&&_?(0,c.jsx)(`div`,{"data-slot":`sidebar-account-wrap`,children:(0,c.jsx)(x,{account:_,collapsed:!0,onAfterSelect:()=>{N&&R&&L?.()}})}):null,!f&&a]})]})}function C({className:e,header:r,footer:i,items:p=[],collapsed:m,width:h=u,collapsedWidth:g=d,mobileWidth:_=f,collapsedRail:v,railItems:y=[],footerAccount:b,secondaryActions:x=[],footerSecondary:C,tooltipOnCollapsed:w=!0,showSectionLabels:T=!0,itemSize:E=`md`,activeIndicator:D=`bar`,navigationLabel:O=`Primary navigation`,responsive:k=!0,mobileBreakpoint:A=l,mobileOpen:j,defaultMobileOpen:M=!1,onMobileOpenChange:N,mobileTitle:P,mobileDescription:F,mobileToggleLabel:I=`Open navigation`,mobileCloseLabel:L=`Close navigation`,mobileToggleIcon:R,showMobileToggle:z=!0,closeOnSelect:B=!0,mobileToggleClassName:V,mobilePanelClassName:H,mobileOverlayClassName:U,renderMobileToggle:W,onItemSelect:G,renderItem:K,renderLink:q,children:J,...ee}){let Y=a.useSidebar(!0),te=m??Y?.collapsed??!1,ne=n.useIsMobile(A),X=k&&ne,[re,ie]=o.useState(M),Z=j??Y?.mobileOpen??re,Q=o.useCallback(e=>{j==null&&Y?Y.setMobileOpen(e):j??ie(e),N?.(e)},[j,N,Y]);o.useEffect(()=>{!X&&Z&&Q(!1)},[X,Z,Q]),o.useEffect(()=>{if(!X||!Z)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&Q(!1)};return window.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t)}},[X,Z,Q]);let $={className:e,header:r,footer:i,items:p,collapsed:te,width:h,collapsedWidth:g,collapsedRail:v,railItems:y,footerAccount:b,secondaryActions:x,footerSecondary:C,tooltipOnCollapsed:w,showSectionLabels:T,itemSize:E,activeIndicator:D,navigationLabel:O,mobileCloseLabel:L,closeOnSelect:B,onItemSelect:G,renderItem:K,renderLink:q,children:J,...ee};if(!k||!X)return(0,c.jsx)(S,{...$});let ae=(0,c.jsxs)(`button`,{type:`button`,"aria-label":Z?L:I,"data-slot":`sidebar-mobile-trigger`,"data-state":Z?`open`:`closed`,className:t.cn(`inline-flex min-h-10 items-center gap-2 rounded-xl border border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg,var(--background))] px-3 text-sm font-medium text-[color:var(--aui-page-foreground,var(--foreground))] shadow-sm transition hover:bg-[color:var(--aui-page-bg-alt,var(--muted))]`,V),onClick:()=>Q(!Z),children:[(0,c.jsx)(`span`,{className:`inline-flex size-8 items-center justify-center rounded-lg bg-[color:var(--aui-page-bg-alt,var(--muted))]`,children:R??(0,c.jsx)(s.MenuIcon,{className:`size-4`})}),(0,c.jsx)(`span`,{children:Z?L:I})]});return(0,c.jsxs)(c.Fragment,{children:[z?W?W({open:Z,setOpen:Q}):ae:null,(0,c.jsxs)(`div`,{"data-slot":`sidebar-mobile-root`,className:`relative z-40`,children:[(0,c.jsx)(`button`,{type:`button`,"aria-label":`Dismiss navigation`,"data-slot":`sidebar-mobile-overlay`,"data-state":Z?`open`:`closed`,className:t.cn(`fixed inset-0 z-40 bg-black/45 transition-opacity duration-200`,Z?`opacity-100`:`pointer-events-none opacity-0`,U),style:{opacity:+!!Z,pointerEvents:Z?`auto`:`none`},onClick:()=>Q(!1)}),(0,c.jsx)(S,{...$,mobile:!0,collapsed:!1,mobileTitle:P,mobileDescription:F,onRequestClose:()=>Q(!1),"data-state":Z?`open`:`closed`,role:`dialog`,"aria-modal":`true`,"aria-label":typeof P==`string`?P:`Navigation`,className:t.cn(`fixed inset-y-0 left-0 z-50 max-w-[22rem] border-r border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg,var(--background))] shadow-2xl transition-transform duration-200 ease-out`,Z?`translate-x-0`:`-translate-x-full`,H,e),style:{width:_,minWidth:_,translate:Z?`0 0`:`-100% 0`}})]})]})}exports.Sidebar=C;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/input/index.cjs"),r=require("../../hooks/use-is-mobile.cjs"),i=require("./controllable-details.cjs"),a=require("../ui/tooltip/index.cjs"),o=require("./sidebar-context.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("lucide-react"),l=require("react/jsx-runtime");var u=1024,d=`18rem`,f=`4.75rem`,p=`min(88vw, 22rem)`;function m({active:e,disabled:n}){return t.cn(`border border-transparent bg-transparent text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_6%)] hover:border-[color:var(--aui-sidebar-item-active-border)] hover:bg-[color:var(--aui-sidebar-item-hover-bg)] hover:text-[color:var(--sidebar-foreground)] focus-visible:border-[color:var(--sidebar-ring)] focus-visible:bg-[color:var(--aui-sidebar-item-hover-bg)] focus-visible:text-[color:var(--sidebar-foreground)] focus-visible:shadow-[0_0_0_3px_color-mix(in_oklch,var(--sidebar-ring),transparent_82%)]`,e&&`border-[color:var(--aui-sidebar-item-active-border)] bg-[color:var(--aui-sidebar-item-active-bg)] text-[color:var(--aui-sidebar-item-active-fg)] shadow-[inset_0_1px_0_rgba(255,255,255,0.08),0_10px_24px_color-mix(in_oklch,var(--sidebar-primary),transparent_88%)]`,n&&`hover:border-transparent hover:bg-transparent hover:text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_6%)]`)}function h({collapsed:e,depth:n,itemSize:r,activeIndicator:i}){return t.cn(`relative w-full rounded-[min(var(--radius-xl),14px)] py-2`,r===`sm`&&`min-h-8 text-xs`,r===`md`&&`min-h-9 text-sm`,r===`lg`&&`min-h-11 text-sm`,e?`justify-center px-2`:`px-2.5`,!e&&n>0&&`pl-3`,i===`bar`&&`data-[active=true]:pl-4 before:pointer-events-none before:absolute before:left-1.5 before:top-1/2 before:hidden before:h-5 before:w-1 before:-translate-y-1/2 before:rounded-full before:bg-[color:var(--sidebar-primary)] data-[active=true]:before:block`,i===`pill`&&`rounded-full`,i===`none`&&`data-[active=true]:shadow-none`)}function g(e){return e.items?.some(e=>!e.hidden)??!1}function _(e){return e.active?!0:e.items?.some(e=>_(e))??!1}function v(e,t){e.onSelect?.(),t?.(e)}function y({item:e,collapsed:n,depth:r,itemSize:i,activeIndicator:o,onItemSelect:s,renderLink:c}){let u=e.current??(e.active?`page`:void 0),d={"aria-label":n&&typeof e.label==`string`?e.label:void 0,"aria-current":u,"aria-disabled":e.disabled||void 0,"data-slot":`sidebar-item`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,"data-depth":String(r),"data-size":i,"data-active-indicator":o,className:t.cn(`flex min-w-0 flex-1 items-center gap-2 border border-transparent text-left font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,m({active:e.active,disabled:e.disabled}),h({collapsed:n,depth:r,itemSize:i,activeIndicator:o}))},f=(0,l.jsxs)(l.Fragment,{children:[e.icon&&(0,l.jsx)(`span`,{className:`shrink-0`,children:e.icon}),!n&&(0,l.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge&&(0,l.jsx)(`span`,{className:`shrink-0`,children:e.badge})]}),p=t=>n?(0,l.jsx)(a.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,l.jsx)(`span`,{className:`block`,children:t})}):t,g=t=>n||!e.action?t:(0,l.jsxs)(`div`,{"data-slot":`sidebar-item-row`,className:`group/sidebar-item-row flex min-w-0 items-center gap-1`,children:[t,(0,l.jsx)(`button`,{type:`button`,"data-slot":`sidebar-item-action`,"aria-label":e.actionLabel??`Actions for ${String(e.label)}`,className:`grid size-8 shrink-0 place-items-center rounded-md p-0 leading-none text-muted-foreground opacity-0 outline-none transition hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-sidebar-ring group-hover/sidebar-item-row:opacity-100`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onAction?.()},children:e.action})]});return e.href?.startsWith(`/`)?p(g(c?(0,l.jsx)(l.Fragment,{children:c({item:e,href:e.href,...d,onClick:t=>{if(e.disabled){t.preventDefault();return}v(e,s)},children:f})}):(0,l.jsx)(`a`,{href:e.href,...d,onClick:t=>{if(e.disabled){t.preventDefault();return}v(e,s)},children:f}))):e.href?p(g((0,l.jsx)(`button`,{type:`button`,...d,className:t.cn(d.className,`w-full`),onClick:()=>{if(e.disabled)return;let t=e.href;if(t){if(v(e,s),t.startsWith(`http`)){window.open(t,`_blank`,`noopener,noreferrer`);return}window.location.assign(t)}},children:f}))):p(g((0,l.jsx)(`button`,{type:`button`,disabled:e.disabled,...d,onClick:()=>{e.disabled||v(e,s)},children:f})))}function b({items:e,collapsed:n,depth:r,showSectionLabels:o,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:p}){return e.map(e=>{if(e.hidden)return null;let v=g(e),x=_(e),S=o&&!n&&r===0&&e.sectionLabel;if(!v)return(0,l.jsxs)(s.Fragment,{children:[S?(0,l.jsx)(`div`,{"data-slot":`sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] first:pt-0`,children:e.sectionLabel}):null,(0,l.jsx)(y,{item:e,collapsed:n,depth:r,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:p})]},e.key);let C=e.defaultExpanded??x;return(0,l.jsxs)(`div`,{"data-slot":`sidebar-group`,"data-depth":r,children:[S&&(0,l.jsx)(`div`,{"data-slot":`sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] first:pt-0`,children:e.sectionLabel}),(0,l.jsxs)(i.ControllableDetails,{"data-slot":`sidebar-group-details`,open:e.expanded,defaultOpen:C,className:`group/sidebar-details`,onOpenChange:e.onExpandedChange,children:[(0,l.jsxs)(`summary`,{"aria-label":n&&typeof e.label==`string`?e.label:void 0,"data-slot":`sidebar-group-trigger`,"data-size":u,"data-active":x||void 0,"data-active-indicator":d,className:t.cn(`flex list-none items-center gap-2 border border-transparent text-left font-medium outline-none transition-[background-color,border-color,color,box-shadow]`,m({active:x}),h({collapsed:n,depth:r,itemSize:u,activeIndicator:d})),children:[e.icon?n?(0,l.jsx)(a.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,l.jsx)(`span`,{className:`shrink-0`,children:e.icon})}):(0,l.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,!n&&(0,l.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge&&(0,l.jsx)(`span`,{className:`shrink-0`,children:e.badge}),!n&&(0,l.jsx)(c.ChevronRightIcon,{"data-slot":`sidebar-group-chevron`,className:`ml-auto size-3.5 shrink-0 text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_42%)] transition-transform group-open/sidebar-details:rotate-90`})]}),(0,l.jsx)(`div`,{"data-slot":`sidebar-group-content`,className:t.cn(`mt-1 flex flex-col gap-1`,!n&&`pl-3`),children:(0,l.jsx)(b,{items:e.items??[],collapsed:n,depth:r+1,showSectionLabels:o,itemSize:u,activeIndicator:d,onItemSelect:f,renderLink:p})})]})]},e.key)})}function x(e,t){let n=t.trim().toLocaleLowerCase();return n?e.flatMap(e=>{let t=e.items?x(e.items,n):[];return![typeof e.label==`string`?e.label:``,e.sectionLabel,...e.keywords??[]].filter(e=>typeof e==`string`).join(` `).toLocaleLowerCase().includes(n)&&t.length===0?[]:[{...e,items:t.length?t:e.items,defaultExpanded:t.length?!0:e.defaultExpanded}]}):e}function S({item:e,collapsed:n,onItemSelect:r}){let i=(0,l.jsxs)(`button`,{type:`button`,"data-slot":`sidebar-action`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,m({active:e.active,disabled:e.disabled}),n&&`justify-center px-2`),disabled:e.disabled,onClick:()=>{e.disabled||v(e,r)},children:[e.icon?(0,l.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,n?null:(0,l.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!n&&e.badge?(0,l.jsx)(`span`,{className:`shrink-0`,children:e.badge}):null]});return n?(0,l.jsx)(a.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,l.jsx)(`span`,{className:`block`,children:i})}):i}function C({account:e,collapsed:n,onAfterSelect:r}){let i=(0,l.jsxs)(`button`,{type:`button`,"data-slot":`sidebar-account`,className:t.cn(`flex w-full items-center gap-3 rounded-[min(var(--radius-xl),16px)] border border-transparent text-left transition-[background-color,border-color,color,box-shadow]`,m({}),n?`justify-center px-2 py-2.5`:`px-3 py-2.5`),onClick:()=>{if(e.onSelect?.(),r?.(),e.href){if(e.href.startsWith(`http`)){window.open(e.href,`_blank`,`noopener,noreferrer`);return}window.location.assign(e.href)}},children:[e.avatar?(0,l.jsx)(`span`,{"data-slot":`sidebar-account-avatar`,className:`inline-flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/65 bg-muted/45 text-sm font-semibold`,children:e.avatar}):null,n?null:(0,l.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,l.jsx)(`span`,{"data-slot":`sidebar-account-label`,className:`block truncate text-sm font-semibold text-[color:var(--sidebar-foreground)]`,children:e.label}),e.description?(0,l.jsx)(`span`,{"data-slot":`sidebar-account-description`,className:`block truncate text-xs text-[color:color-mix(in_oklch,var(--sidebar-foreground),transparent_36%)]`,children:e.description}):null]})]});return n?(0,l.jsx)(a.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,l.jsx)(`span`,{className:`block`,children:i})}):i}function w({className:e,style:r,header:i,footer:o,items:u=[],collapsed:p=!1,width:m=d,collapsedWidth:h=f,collapsedRail:g,railItems:_=[],footerAccount:v,secondaryActions:y=[],footerSecondary:w,footerClassName:T,tooltipOnCollapsed:E,showSectionLabels:ee=!0,itemSize:te=`md`,activeIndicator:ne=`bar`,navigationLabel:re=`Primary navigation`,search:D,hideScrollbar:ie=!0,variant:O=`sidebar`,side:k=`left`,collapsible:A=`icon`,onItemSelect:j,renderItem:M,renderLink:N,children:P,mobile:F,mobileTitle:I,mobileDescription:L,mobileCloseLabel:R=`Close navigation`,onRequestClose:z,closeOnSelect:B=!0,...V}){let H=D&&!s.isValidElement(D)&&typeof D==`object`?D:void 0,[ae,oe]=s.useState(H?.defaultValue??``),U=H?.value??ae,W=x(u.filter(e=>!e.hidden),U),G=_.filter(e=>!e.hidden),K=y.filter(e=>!e.hidden),q=s.useCallback(e=>{j?.(e),F&&B&&z?.()},[B,F,j,z]),J=F&&(I||L||z);return(0,l.jsxs)(`aside`,{"data-slot":`sidebar`,"data-collapsed":p||void 0,"data-mobile":F||void 0,"data-variant":O,"data-side":k,"data-collapsible":A,className:t.cn(`peer group/sidebar flex h-full min-h-0 flex-col overflow-hidden bg-sidebar text-sidebar-foreground transition-[width,min-width,transform,border-radius,box-shadow] duration-200`,k===`right`&&`border-l border-r-0`,!F&&O===`floating`&&`m-2 h-[calc(100%-1rem)] rounded-xl border shadow-lg`,!F&&O===`inset`&&`m-2 h-[calc(100%-1rem)] rounded-lg border bg-sidebar/92 shadow-sm`,F&&`m-0 h-full rounded-none border-y-0`,A===`offcanvas`&&p&&(k===`left`?`-translate-x-full`:`translate-x-full`),e),style:{width:p?A===`icon`?h:A===`offcanvas`?0:m:m,minWidth:p?A===`icon`?h:A===`offcanvas`?0:m:m,...r},...V,children:[(i||J)&&(0,l.jsx)(`div`,{"data-slot":`sidebar-header`,className:`shrink-0 border-b p-3`,children:(0,l.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[i??null,J?(0,l.jsxs)(`div`,{className:t.cn(i&&`mt-3`),children:[I?(0,l.jsx)(`p`,{className:`text-sm font-semibold text-foreground`,children:I}):null,L?(0,l.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:L}):null]}):null]}),F&&z?(0,l.jsx)(`button`,{type:`button`,"aria-label":R,"data-slot":`sidebar-mobile-close`,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-xl border border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg-alt,var(--muted))] text-[color:var(--aui-page-foreground,var(--foreground))] transition hover:bg-[color:var(--aui-control-bg,var(--muted))]`,onClick:z,children:(0,l.jsx)(c.XIcon,{className:`size-4`})}):null]})}),D&&!p?(0,l.jsx)(`div`,{"data-slot":`sidebar-search`,className:`shrink-0 px-2 pt-2`,children:s.isValidElement(D)?D:(0,l.jsx)(n.Input,{kind:`search`,value:U,onValueChange:e=>{H?.value===void 0&&oe(e),H?.onValueChange?.(e)},placeholder:H?.placeholder??`Search navigation...`,searchIcon:(0,l.jsx)(c.SearchIcon,{}),"aria-label":H?.label??`Search navigation`,className:`h-9 bg-sidebar-accent/45`})}):null,(0,l.jsxs)(`nav`,{"data-slot":`sidebar-nav`,"aria-label":re,className:t.cn(`flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto overscroll-contain p-2 [scrollbar-gutter:stable]`,ie&&`[scrollbar-width:none] [&::-webkit-scrollbar]:hidden`),children:[P??W.map(e=>{if(!M)return null;let t=M(e,{collapsed:p});return!p||!E?(0,l.jsx)(s.Fragment,{children:t},e.key):(0,l.jsx)(a.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,l.jsx)(`span`,{className:`block`,children:t})},e.key)}),!P&&!M&&(0,l.jsx)(b,{items:W,collapsed:p,depth:0,showSectionLabels:ee,itemSize:te,activeIndicator:ne,onItemSelect:q,renderLink:N}),!P&&W.length===0?(0,l.jsx)(`div`,{"data-slot":`sidebar-search-empty`,className:`grid min-h-24 place-items-center px-4 text-center text-xs text-muted-foreground`,children:H?.empty??`No navigation items found.`}):null]}),(v||w||o||K.length>0||p&&(g||G.length>0))&&(0,l.jsxs)(`div`,{"data-slot":`sidebar-footer`,className:t.cn(`shrink-0 border-t p-3`,T),children:[p?(0,l.jsxs)(l.Fragment,{children:[G.length>0?(0,l.jsx)(`div`,{"data-slot":`sidebar-rail-actions`,className:`grid gap-2`,children:G.map(e=>(0,l.jsx)(S,{item:e,collapsed:!0,onItemSelect:q},e.key))}):null,g?(0,l.jsx)(`div`,{"data-slot":`sidebar-rail`,children:g}):null]}):null,!p&&v?(0,l.jsx)(`div`,{"data-slot":`sidebar-account-wrap`,className:`mb-3`,children:(0,l.jsx)(C,{account:v,collapsed:!1,onAfterSelect:()=>{F&&B&&z?.()}})}):null,!p&&K.length>0?(0,l.jsx)(`div`,{"data-slot":`sidebar-secondary-actions`,className:`mb-3 grid gap-2`,children:K.map(e=>(0,l.jsx)(S,{item:e,collapsed:!1,onItemSelect:q},e.key))}):null,!p&&w?(0,l.jsx)(`div`,{"data-slot":`sidebar-footer-secondary`,className:`mb-3`,children:w}):null,p&&v?(0,l.jsx)(`div`,{"data-slot":`sidebar-account-wrap`,children:(0,l.jsx)(C,{account:v,collapsed:!0,onAfterSelect:()=>{F&&B&&z?.()}})}):null,!p&&o]})]})}function T({className:e,header:n,footer:i,items:a=[],collapsed:m,defaultCollapsed:h=!1,onCollapsedChange:g,variant:_=`sidebar`,side:v=`left`,collapsible:y=`icon`,width:b=d,collapsedWidth:x=f,mobileWidth:S=p,collapsedRail:C,railItems:T=[],footerAccount:E,secondaryActions:ee=[],footerSecondary:te,tooltipOnCollapsed:ne=!0,showSectionLabels:re=!0,itemSize:D=`md`,activeIndicator:ie=`bar`,navigationLabel:O=`Primary navigation`,search:k,hideScrollbar:A=!0,keyboardShortcut:j=`b`,persistKey:M,responsive:N=!0,mobileBreakpoint:P=u,mobileOpen:F,defaultMobileOpen:I=!1,onMobileOpenChange:L,mobileTitle:R,mobileDescription:z,mobileToggleLabel:B=`Open navigation`,mobileCloseLabel:V=`Close navigation`,mobileToggleIcon:H,showMobileToggle:ae=!0,closeOnSelect:oe=!0,mobileToggleClassName:U,mobilePanelClassName:W,mobileOverlayClassName:G,renderMobileToggle:K,onItemSelect:q,renderItem:J,renderLink:se,children:ce,...le}){let Y=o.useSidebar(!0),[ue,de]=s.useState(h),fe=y===`none`?!1:m??Y?.collapsed??ue,pe=r.useIsMobile(P),X=N&&pe,[me,he]=s.useState(I),Z=F??Y?.mobileOpen??me,Q=s.useCallback(e=>{y!==`none`&&(m===void 0&&Y?Y.setCollapsed(e):m===void 0&&de(e),g?.(e),M&&window.localStorage.setItem(M,String(e)))},[m,y,g,M,Y]);s.useEffect(()=>{if(!M||m!==void 0)return;let e=window.localStorage.getItem(M);(e===`true`||e===`false`)&&Q(e===`true`)},[m,M,Q]),s.useEffect(()=>{if(!j||y===`none`)return;let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLocaleLowerCase()===j.toLocaleLowerCase()&&(e.preventDefault(),Q(!fe))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[fe,y,j,Q]);let $=s.useCallback(e=>{F==null&&Y?Y.setMobileOpen(e):F??he(e),L?.(e)},[F,L,Y]);s.useEffect(()=>{!X&&Z&&$(!1)},[X,Z,$]),s.useEffect(()=>{if(!X||!Z)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&$(!1)};return window.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t)}},[X,Z,$]);let ge={className:e,header:n,footer:i,items:a,collapsed:fe,width:b,collapsedWidth:x,collapsedRail:C,railItems:T,footerAccount:E,secondaryActions:ee,footerSecondary:te,tooltipOnCollapsed:ne,showSectionLabels:re,itemSize:D,activeIndicator:ie,navigationLabel:O,search:k,hideScrollbar:A,variant:_,side:v,collapsible:y,mobileCloseLabel:V,closeOnSelect:oe,onItemSelect:q,renderItem:J,renderLink:se,children:ce,...le};if(!N||!X)return(0,l.jsx)(w,{...ge});let _e=(0,l.jsxs)(`button`,{type:`button`,"aria-label":Z?V:B,"data-slot":`sidebar-mobile-trigger`,"data-state":Z?`open`:`closed`,className:t.cn(`inline-flex min-h-10 items-center gap-2 rounded-xl border border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg,var(--background))] px-3 text-sm font-medium text-[color:var(--aui-page-foreground,var(--foreground))] shadow-sm transition hover:bg-[color:var(--aui-page-bg-alt,var(--muted))]`,U),onClick:()=>$(!Z),children:[(0,l.jsx)(`span`,{className:`inline-flex size-8 items-center justify-center rounded-lg bg-[color:var(--aui-page-bg-alt,var(--muted))]`,children:H??(0,l.jsx)(c.MenuIcon,{className:`size-4`})}),(0,l.jsx)(`span`,{children:Z?V:B})]});return(0,l.jsxs)(l.Fragment,{children:[ae?K?K({open:Z,setOpen:$}):_e:null,(0,l.jsxs)(`div`,{"data-slot":`sidebar-mobile-root`,className:`relative z-40`,children:[(0,l.jsx)(`button`,{type:`button`,"aria-label":`Dismiss navigation`,"data-slot":`sidebar-mobile-overlay`,"data-state":Z?`open`:`closed`,className:t.cn(`fixed inset-0 z-40 bg-black/45 transition-opacity duration-200`,Z?`opacity-100`:`pointer-events-none opacity-0`,G),style:{opacity:+!!Z,pointerEvents:Z?`auto`:`none`},onClick:()=>$(!1)}),(0,l.jsx)(w,{...ge,mobile:!0,collapsed:!1,mobileTitle:R,mobileDescription:z,onRequestClose:()=>$(!1),"data-state":Z?`open`:`closed`,role:`dialog`,"aria-modal":`true`,"aria-label":typeof R==`string`?R:`Navigation`,className:t.cn(`fixed inset-y-0 z-50 max-w-[22rem] border-[color:var(--aui-divider,var(--border))] bg-[color:var(--aui-page-bg,var(--background))] shadow-2xl transition-transform duration-200 ease-out`,v===`left`?`left-0 border-r`:`right-0 border-l`,Z?`translate-x-0`:v===`left`?`-translate-x-full`:`translate-x-full`,W,e),style:{width:S,minWidth:S,translate:Z?`0 0`:v===`left`?`-100% 0`:`100% 0`}})]})]})}function E({className:e,...n}){return(0,l.jsx)(`main`,{"data-slot":`sidebar-inset`,className:t.cn(`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:border md:peer-data-[variant=inset]:shadow-sm`,e),...n})}exports.Sidebar=T,exports.SidebarInset=E;
|