@senitix/ui 0.4.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/dist/avatar-C0aVNCG9.cjs +2 -0
- package/dist/avatar-C0aVNCG9.cjs.map +1 -0
- package/dist/avatar-CN6wcrqY.js +288 -0
- package/dist/avatar-CN6wcrqY.js.map +1 -0
- package/dist/calendar-BFWc4IB7.js +1182 -0
- package/dist/calendar-BFWc4IB7.js.map +1 -0
- package/dist/calendar-BUm7YrNf.cjs +2 -0
- package/dist/calendar-BUm7YrNf.cjs.map +1 -0
- package/dist/calendar-ChJkFXXr.js +11 -0
- package/dist/calendar-ChJkFXXr.js.map +1 -0
- package/dist/calendar-SwL5isYC.cjs +2 -0
- package/dist/calendar-SwL5isYC.cjs.map +1 -0
- package/dist/card-K4fxyYwE.js +51 -0
- package/dist/card-K4fxyYwE.js.map +1 -0
- package/dist/card-tMkUxpmW.cjs +2 -0
- package/dist/card-tMkUxpmW.cjs.map +1 -0
- package/dist/checkbox-CpOq5hkT.js +289 -0
- package/dist/checkbox-CpOq5hkT.js.map +1 -0
- package/dist/checkbox-D7-LQyCl.cjs +2 -0
- package/dist/checkbox-D7-LQyCl.cjs.map +1 -0
- package/dist/chevron-down-DHdXqOqK.cjs +2 -0
- package/dist/chevron-down-DHdXqOqK.cjs.map +1 -0
- package/dist/chevron-down-DJ1_YIFu.js +8 -0
- package/dist/chevron-down-DJ1_YIFu.js.map +1 -0
- package/dist/chevron-right-B3bovvh0.js +8 -0
- package/dist/chevron-right-B3bovvh0.js.map +1 -0
- package/dist/chevron-right-Dvyd11q0.cjs +2 -0
- package/dist/chevron-right-Dvyd11q0.cjs.map +1 -0
- package/dist/chevron-up-B9fuiZhc.cjs +2 -0
- package/dist/chevron-up-B9fuiZhc.cjs.map +1 -0
- package/dist/chevron-up-CGtXOr51.js +6 -0
- package/dist/chevron-up-CGtXOr51.js.map +1 -0
- package/dist/components/charts/index.cjs.js +2 -0
- package/dist/components/charts/index.cjs.js.map +1 -0
- package/dist/components/charts/index.es.js +12 -0
- package/dist/components/charts/index.es.js.map +1 -0
- package/dist/components/data-display/index.cjs.js +2 -0
- package/dist/components/data-display/index.cjs.js.map +1 -0
- package/dist/components/data-display/index.es.js +25 -0
- package/dist/components/data-display/index.es.js.map +1 -0
- package/dist/components/dnd/index.cjs.js +2 -0
- package/dist/components/dnd/index.cjs.js.map +1 -0
- package/dist/components/dnd/index.es.js +9 -0
- package/dist/components/dnd/index.es.js.map +1 -0
- package/dist/components/feedback/index.cjs.js +2 -0
- package/dist/components/feedback/index.cjs.js.map +1 -0
- package/dist/components/feedback/index.es.js +16 -0
- package/dist/components/feedback/index.es.js.map +1 -0
- package/dist/components/forms/index.cjs.js +2 -0
- package/dist/components/forms/index.cjs.js.map +1 -0
- package/dist/components/forms/index.es.js +27 -0
- package/dist/components/forms/index.es.js.map +1 -0
- package/dist/components/layouts/index.cjs.js +2 -0
- package/dist/components/layouts/index.cjs.js.map +1 -0
- package/dist/components/layouts/index.es.js +25 -0
- package/dist/components/layouts/index.es.js.map +1 -0
- package/dist/components/navigation/index.cjs.js +2 -0
- package/dist/components/navigation/index.cjs.js.map +1 -0
- package/dist/components/navigation/index.es.js +42 -0
- package/dist/components/navigation/index.es.js.map +1 -0
- package/dist/components/ui/index.cjs.js +2 -0
- package/dist/components/ui/index.cjs.js.map +1 -0
- package/dist/components/ui/index.es.js +165 -0
- package/dist/components/ui/index.es.js.map +1 -0
- package/dist/createLucideIcon-BbeNo6vq.js +56 -0
- package/dist/createLucideIcon-BbeNo6vq.js.map +1 -0
- package/dist/createLucideIcon-i5GEhNMV.cjs +2 -0
- package/dist/createLucideIcon-i5GEhNMV.cjs.map +1 -0
- package/dist/ellipsis-BW2gWki8.cjs +2 -0
- package/dist/ellipsis-BW2gWki8.cjs.map +1 -0
- package/dist/ellipsis-CiKEaUNP.js +10 -0
- package/dist/ellipsis-CiKEaUNP.js.map +1 -0
- package/dist/file-V_hhCUhr.cjs +2 -0
- package/dist/file-V_hhCUhr.cjs.map +1 -0
- package/dist/file-wzTXnWqz.js +9 -0
- package/dist/file-wzTXnWqz.js.map +1 -0
- package/dist/filter-tags-DjUaNXHR.cjs +5 -0
- package/dist/filter-tags-DjUaNXHR.cjs.map +1 -0
- package/dist/filter-tags-i_I8qV1N.js +2658 -0
- package/dist/filter-tags-i_I8qV1N.js.map +1 -0
- package/dist/full-calendar-7ac2FFU6.js +3518 -0
- package/dist/full-calendar-7ac2FFU6.js.map +1 -0
- package/dist/full-calendar-Cpeh5xMP.cjs +8 -0
- package/dist/full-calendar-Cpeh5xMP.cjs.map +1 -0
- package/dist/global-search-UNXjoFlI.cjs +2 -0
- package/dist/global-search-UNXjoFlI.cjs.map +1 -0
- package/dist/global-search-h1rVbP2q.js +1188 -0
- package/dist/global-search-h1rVbP2q.js.map +1 -0
- package/dist/hooks/index.cjs.js +2 -0
- package/dist/hooks/index.cjs.js.map +1 -0
- package/dist/hooks/index.es.js +13 -0
- package/dist/hooks/index.es.js.map +1 -0
- package/dist/index-Co9o9StL.js +33 -0
- package/dist/index-Co9o9StL.js.map +1 -0
- package/dist/index-CwJPJKOE.js +2278 -0
- package/dist/index-CwJPJKOE.js.map +1 -0
- package/dist/index-CzVK9Zyb.cjs +6 -0
- package/dist/index-CzVK9Zyb.cjs.map +1 -0
- package/dist/index-l828OqQN.js +288 -0
- package/dist/index-l828OqQN.js.map +1 -0
- package/dist/index-lGzB9daF.cjs +2 -0
- package/dist/index-lGzB9daF.cjs.map +1 -0
- package/dist/index-lT9bLt9X.cjs +2 -0
- package/dist/index-lT9bLt9X.cjs.map +1 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +332 -0
- package/dist/index.es.js.map +1 -0
- package/dist/input-CZrckPLk.cjs +42 -0
- package/dist/input-CZrckPLk.cjs.map +1 -0
- package/dist/input-D4AoiWxo.js +3629 -0
- package/dist/input-D4AoiWxo.js.map +1 -0
- package/dist/locale-provider-DHMwuneF.cjs +2 -0
- package/dist/locale-provider-DHMwuneF.cjs.map +1 -0
- package/dist/locale-provider-DanG6RRG.js +1012 -0
- package/dist/locale-provider-DanG6RRG.js.map +1 -0
- package/dist/locale-selector-Ppe0KTi-.cjs +2 -0
- package/dist/locale-selector-Ppe0KTi-.cjs.map +1 -0
- package/dist/locale-selector-xn2GpdP9.js +1745 -0
- package/dist/locale-selector-xn2GpdP9.js.map +1 -0
- package/dist/minus-BXBFZSZs.cjs +2 -0
- package/dist/minus-BXBFZSZs.cjs.map +1 -0
- package/dist/minus-DvlYtl96.js +6 -0
- package/dist/minus-DvlYtl96.js.map +1 -0
- package/dist/multi-container-C2UpSw5f.js +731 -0
- package/dist/multi-container-C2UpSw5f.js.map +1 -0
- package/dist/multi-container-DMKL8c9B.cjs +2 -0
- package/dist/multi-container-DMKL8c9B.cjs.map +1 -0
- package/dist/pipeline-By5_8AFg.cjs +2 -0
- package/dist/pipeline-By5_8AFg.cjs.map +1 -0
- package/dist/pipeline-D-QNSU0U.js +1036 -0
- package/dist/pipeline-D-QNSU0U.js.map +1 -0
- package/dist/plus-8wKRkVu-.cjs +2 -0
- package/dist/plus-8wKRkVu-.cjs.map +1 -0
- package/dist/plus-CJD68KQD.js +9 -0
- package/dist/plus-CJD68KQD.js.map +1 -0
- package/dist/popover-4V4sGe1U.js +765 -0
- package/dist/popover-4V4sGe1U.js.map +1 -0
- package/dist/popover-ivh-plLc.cjs +2 -0
- package/dist/popover-ivh-plLc.cjs.map +1 -0
- package/dist/progress-CFnuLqnS.cjs +7 -0
- package/dist/progress-CFnuLqnS.cjs.map +1 -0
- package/dist/progress-D5AsrWa6.js +222 -0
- package/dist/progress-D5AsrWa6.js.map +1 -0
- package/dist/providers/index.cjs.js +2 -0
- package/dist/providers/index.cjs.js.map +1 -0
- package/dist/providers/index.es.js +9 -0
- package/dist/providers/index.es.js.map +1 -0
- package/dist/scroll-area-DQeqDp3Y.js +952 -0
- package/dist/scroll-area-DQeqDp3Y.js.map +1 -0
- package/dist/scroll-area-DYOiJMXh.cjs +2 -0
- package/dist/scroll-area-DYOiJMXh.cjs.map +1 -0
- package/dist/select-C1rNBi6c.js +974 -0
- package/dist/select-C1rNBi6c.js.map +1 -0
- package/dist/select-m-Mqwxu3.cjs +2 -0
- package/dist/select-m-Mqwxu3.cjs.map +1 -0
- package/dist/separator-DBUivkHq.cjs +2 -0
- package/dist/separator-DBUivkHq.cjs.map +1 -0
- package/dist/separator-DsfoJx-2.js +395 -0
- package/dist/separator-DsfoJx-2.js.map +1 -0
- package/dist/sheet-BVWCpq7E.js +84 -0
- package/dist/sheet-BVWCpq7E.js.map +1 -0
- package/dist/sheet-mKiFLVnK.cjs +2 -0
- package/dist/sheet-mKiFLVnK.cjs.map +1 -0
- package/dist/skeleton-BSwwYaQU.cjs +2 -0
- package/dist/skeleton-BSwwYaQU.cjs.map +1 -0
- package/dist/skeleton-BmGbfJw3.js +9 -0
- package/dist/skeleton-BmGbfJw3.js.map +1 -0
- package/dist/sortable.esm-Blhf_jh1.js +3391 -0
- package/dist/sortable.esm-Blhf_jh1.js.map +1 -0
- package/dist/sortable.esm-DcQYlXi3.cjs +6 -0
- package/dist/sortable.esm-DcQYlXi3.cjs.map +1 -0
- package/dist/sparkline-chart-Da-ehDGv.js +21082 -0
- package/dist/sparkline-chart-Da-ehDGv.js.map +1 -0
- package/dist/sparkline-chart-ca3uTzVK.cjs +68 -0
- package/dist/sparkline-chart-ca3uTzVK.cjs.map +1 -0
- package/dist/trending-up-D3Nfrhi3.cjs +2 -0
- package/dist/trending-up-D3Nfrhi3.cjs.map +1 -0
- package/dist/trending-up-DPwlYzQb.js +9 -0
- package/dist/trending-up-DPwlYzQb.js.map +1 -0
- package/dist/ui.css +1 -0
- package/dist/use-formatters-d97RVcmg.cjs +2 -0
- package/dist/use-formatters-d97RVcmg.cjs.map +1 -0
- package/dist/use-formatters-l1_2c8z0.js +6682 -0
- package/dist/use-formatters-l1_2c8z0.js.map +1 -0
- package/dist/use-local-storage-BjlrKzE-.js +42 -0
- package/dist/use-local-storage-BjlrKzE-.js.map +1 -0
- package/dist/use-local-storage-q-1odzIu.cjs +2 -0
- package/dist/use-local-storage-q-1odzIu.cjs.map +1 -0
- package/dist/use-mobile-C-LMK4T8.js +15 -0
- package/dist/use-mobile-C-LMK4T8.js.map +1 -0
- package/dist/use-mobile-DY7TJ5lx.cjs +2 -0
- package/dist/use-mobile-DY7TJ5lx.cjs.map +1 -0
- package/dist/use-toast-DG2qdYhl.js +97 -0
- package/dist/use-toast-DG2qdYhl.js.map +1 -0
- package/dist/use-toast-DxZJ8uUm.cjs +2 -0
- package/dist/use-toast-DxZJ8uUm.cjs.map +1 -0
- package/dist/utils/index.cjs.js +2 -0
- package/dist/utils/index.cjs.js.map +1 -0
- package/dist/utils/index.es.js +5 -0
- package/dist/utils/index.es.js.map +1 -0
- package/dist/welcome-card-CPolYl1D.cjs +2 -0
- package/dist/welcome-card-CPolYl1D.cjs.map +1 -0
- package/dist/welcome-card-CxMJZ8bv.js +963 -0
- package/dist/welcome-card-CxMJZ8bv.js.map +1 -0
- package/package.json +179 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),Ce=require("react"),N=require("./scroll-area-DYOiJMXh.cjs"),d=require("./index-lGzB9daF.cjs"),R=require("./separator-DBUivkHq.cjs"),z=require("./sheet-mKiFLVnK.cjs"),q=require("./skeleton-BSwwYaQU.cjs"),Re=require("./use-mobile-DY7TJ5lx.cjs"),D=require("./createLucideIcon-i5GEhNMV.cjs"),Be=require("./chevron-right-Dvyd11q0.cjs"),De=require("./ellipsis-BW2gWki8.cjs"),f=require("./input-CZrckPLk.cjs"),T=require("./avatar-C0aVNCG9.cjs"),_=require("./index-CzVK9Zyb.cjs"),A=require("./chevron-down-DHdXqOqK.cjs"),Ie=require("./plus-8wKRkVu-.cjs"),S=require("./popover-ivh-plLc.cjs"),Te=require("./trending-up-D3Nfrhi3.cjs");function _e(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(a,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return a.default=r,Object.freeze(a)}const s=_e(Ce);const Le=D.createLucideIcon("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);const Ee=D.createLucideIcon("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);const ze=D.createLucideIcon("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);const qe=D.createLucideIcon("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Ae="sidebar:state",Ge=3600*24*7,Pe="16rem",Oe="18rem",Ke="3rem",He="b",G=s.createContext(null);function B(){const r=s.useContext(G);if(!r)throw new Error("useSidebar must be used within a SidebarProvider.");return r}const P=s.forwardRef(({defaultOpen:r=!0,open:a,onOpenChange:t,className:n,style:i,children:p,...u},g)=>{const b=Re.useIsMobile(),[x,v]=s.useState(!1),[l,h]=s.useState(r),m=a??l,j=s.useCallback(M=>{const k=typeof M=="function"?M(m):M;t?t(k):h(k),document.cookie=`${Ae}=${k}; path=/; max-age=${Ge}`},[t,m]),y=s.useCallback(()=>b?v(M=>!M):j(M=>!M),[b,j,v]);s.useEffect(()=>{const M=k=>{k.key===He&&(k.metaKey||k.ctrlKey)&&(k.preventDefault(),y())};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[y]);const o=m?"expanded":"collapsed",w=s.useMemo(()=>({state:o,open:m,setOpen:j,isMobile:b,openMobile:x,setOpenMobile:v,toggleSidebar:y}),[o,m,j,b,x,v,y]);return e.jsx(G.Provider,{value:w,children:e.jsx(R.TooltipProvider,{delayDuration:0,children:e.jsx("div",{style:{"--sidebar-width":Pe,"--sidebar-width-icon":Ke,...i},className:d.cn("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",n),ref:g,...u,children:p})})})});P.displayName="SidebarProvider";const O=s.forwardRef(({side:r="left",variant:a="sidebar",collapsible:t="offcanvas",className:n,children:i,...p},u)=>{const{isMobile:g,state:b,openMobile:x,setOpenMobile:v}=B();return t==="none"?e.jsx("div",{className:d.cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:u,...p,children:i}):g?e.jsx(z.Sheet,{open:x,onOpenChange:v,...p,children:e.jsx(z.SheetContent,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Oe},side:r,children:e.jsx("div",{className:"flex h-full w-full flex-col",children:i})})}):e.jsxs("div",{ref:u,className:"group peer hidden md:block text-sidebar-foreground","data-state":b,"data-collapsible":b==="collapsed"?t:"","data-variant":a,"data-side":r,children:[e.jsx("div",{className:d.cn("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",a==="floating"||a==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),e.jsx("div",{className:d.cn("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...p,children:e.jsx("div",{"data-sidebar":"sidebar",className:d.cn("flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow"),children:i})})]})});O.displayName="Sidebar";const K=s.forwardRef(({className:r,onClick:a,...t},n)=>{const{toggleSidebar:i}=B();return e.jsxs(N.Button,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:d.cn("h-7 w-7",r),onClick:p=>{a?.(p),i()},...t,children:[e.jsx(qe,{}),e.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});K.displayName="SidebarTrigger";const H=s.forwardRef(({className:r,...a},t)=>{const{toggleSidebar:n}=B();return e.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:d.cn("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",r),...a})});H.displayName="SidebarRail";const F=s.forwardRef(({className:r,...a},t)=>e.jsx("main",{ref:t,className:d.cn("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",r),...a}));F.displayName="SidebarInset";const V=s.forwardRef(({className:r,...a},t)=>e.jsx("input",{ref:t,"data-sidebar":"input",className:d.cn("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",r),...a}));V.displayName="SidebarInput";const $=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"header",className:d.cn("flex flex-col gap-2 p-2",r),...a}));$.displayName="SidebarHeader";const U=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"footer",className:d.cn("flex flex-col gap-2 p-2",r),...a}));U.displayName="SidebarFooter";const W=s.forwardRef(({className:r,...a},t)=>e.jsx(R.Separator,{ref:t,"data-sidebar":"separator",className:d.cn("mx-2 w-auto bg-sidebar-border",r),...a}));W.displayName="SidebarSeparator";const X=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"content",className:d.cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",r),...a}));X.displayName="SidebarContent";const Y=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"group",className:d.cn("relative flex w-full min-w-0 flex-col p-2",r),...a}));Y.displayName="SidebarGroup";const J=s.forwardRef(({className:r,asChild:a=!1,...t},n)=>{const i=a?N.Slot:"div";return e.jsx(i,{ref:n,"data-sidebar":"group-label",className:d.cn("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",r),...t})});J.displayName="SidebarGroupLabel";const Q=s.forwardRef(({className:r,asChild:a=!1,...t},n)=>{const i=a?N.Slot:"button";return e.jsx(i,{ref:n,"data-sidebar":"group-action",className:d.cn("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",r),...t})});Q.displayName="SidebarGroupAction";const Z=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"group-content",className:d.cn("w-full text-sm",r),...a}));Z.displayName="SidebarGroupContent";const ee=s.forwardRef(({className:r,...a},t)=>e.jsx("ul",{ref:t,"data-sidebar":"menu",className:d.cn("flex w-full min-w-0 flex-col gap-1",r),...a}));ee.displayName="SidebarMenu";const ae=s.forwardRef(({className:r,...a},t)=>e.jsx("li",{ref:t,"data-sidebar":"menu-item",className:d.cn("group/menu-item relative",r),...a}));ae.displayName="SidebarMenuItem";const Fe=N.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),re=s.forwardRef(({asChild:r=!1,isActive:a=!1,variant:t="default",size:n="default",tooltip:i,className:p,...u},g)=>{const b=r?N.Slot:"button",{isMobile:x,state:v}=B(),l=e.jsx(b,{ref:g,"data-sidebar":"menu-button","data-size":n,"data-active":a,className:d.cn(Fe({variant:t,size:n}),p),...u});return i?(typeof i=="string"&&(i={children:i}),e.jsxs(R.Tooltip,{children:[e.jsx(R.TooltipTrigger,{asChild:!0,children:l}),e.jsx(R.TooltipContent,{side:"right",align:"center",hidden:v!=="collapsed"||x,...i})]})):l});re.displayName="SidebarMenuButton";const te=s.forwardRef(({className:r,asChild:a=!1,showOnHover:t=!1,...n},i)=>{const p=a?N.Slot:"button";return e.jsx(p,{ref:i,"data-sidebar":"menu-action",className:d.cn("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",t&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",r),...n})});te.displayName="SidebarMenuAction";const se=s.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:d.cn("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r),...a}));se.displayName="SidebarMenuBadge";const ne=s.forwardRef(({className:r,showIcon:a=!1,...t},n)=>{const i=s.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return e.jsxs("div",{ref:n,"data-sidebar":"menu-skeleton",className:d.cn("rounded-md h-8 flex gap-2 px-2 items-center",r),...t,children:[a&&e.jsx(q.Skeleton,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e.jsx(q.Skeleton,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":i}})]})});ne.displayName="SidebarMenuSkeleton";const de=s.forwardRef(({className:r,...a},t)=>e.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:d.cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",r),...a}));de.displayName="SidebarMenuSub";const oe=s.forwardRef(({...r},a)=>e.jsx("li",{ref:a,...r}));oe.displayName="SidebarMenuSubItem";const ie=s.forwardRef(({asChild:r=!1,size:a="md",isActive:t,className:n,...i},p)=>{const u=r?N.Slot:"a";return e.jsx(u,{ref:p,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:d.cn("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"text-xs",a==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",n),...i})});ie.displayName="SidebarMenuSubButton";const le=s.forwardRef(({...r},a)=>e.jsx("nav",{ref:a,"aria-label":"breadcrumb",...r}));le.displayName="Breadcrumb";const ce=s.forwardRef(({className:r,...a},t)=>e.jsx("ol",{ref:t,className:d.cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",r),...a}));ce.displayName="BreadcrumbList";const ue=s.forwardRef(({className:r,...a},t)=>e.jsx("li",{ref:t,className:d.cn("inline-flex items-center gap-1.5",r),...a}));ue.displayName="BreadcrumbItem";const me=s.forwardRef(({asChild:r,className:a,...t},n)=>{const i=r?N.Slot:"a";return e.jsx(i,{ref:n,className:d.cn("transition-colors hover:text-foreground",a),...t})});me.displayName="BreadcrumbLink";const pe=s.forwardRef(({className:r,...a},t)=>e.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:d.cn("font-normal text-foreground",r),...a}));pe.displayName="BreadcrumbPage";const be=({children:r,className:a,...t})=>e.jsx("li",{role:"presentation","aria-hidden":"true",className:d.cn("[&>svg]:size-3.5",a),...t,children:r??e.jsx(Be.ChevronRight,{})});be.displayName="BreadcrumbSeparator";const xe=({className:r,...a})=>e.jsxs("span",{role:"presentation","aria-hidden":"true",className:d.cn("flex h-9 w-9 items-center justify-center",r),...a,children:[e.jsx(De.Ellipsis,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"More"})]});xe.displayName="BreadcrumbEllipsis";const fe=s.forwardRef(({className:r,logo:a,onMenuClick:t,showSearch:n=!0,searchPlaceholder:i="Search...",onSearch:p,user:u,userMenuItems:g=[],notificationCount:b,onNotificationClick:x,rightContent:v,...l},h)=>{const[m,j]=s.useState(""),y=o=>{o.preventDefault(),p?.(m)};return e.jsxs("header",{ref:h,className:d.cn("sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6",r),...l,children:[t&&e.jsxs(N.Button,{variant:"ghost",size:"icon",className:"shrink-0 md:hidden",onClick:t,children:[e.jsx(ze,{className:"h-5 w-5"}),e.jsx("span",{className:"sr-only",children:"Toggle navigation menu"})]}),a&&e.jsx("div",{className:"flex items-center gap-2",children:a}),n&&e.jsx("form",{onSubmit:y,className:"flex-1 md:flex-initial",children:e.jsxs("div",{className:"relative",children:[e.jsx(_.Search,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(f.Input,{type:"search",placeholder:i,className:"w-full pl-8 md:w-[200px] lg:w-[300px]",value:m,onChange:o=>j(o.target.value)})]})}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[v,x&&e.jsxs(N.Button,{variant:"ghost",size:"icon",className:"relative",onClick:x,children:[e.jsx(Le,{className:"h-5 w-5"}),b!==void 0&&b>0&&e.jsx("span",{className:"absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-xs text-destructive-foreground",children:b>99?"99+":b}),e.jsx("span",{className:"sr-only",children:"Notifications"})]}),u&&e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsx(N.Button,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:e.jsxs(T.Avatar,{className:"h-8 w-8",children:[u.avatar&&e.jsx(T.AvatarImage,{src:u.avatar,alt:u.name}),e.jsx(T.AvatarFallback,{children:u.initials||u.name.charAt(0).toUpperCase()})]})})}),e.jsxs(f.DropdownMenuContent,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(f.DropdownMenuLabel,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsx("p",{className:"text-sm font-medium leading-none",children:u.name}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:u.email})]})}),g.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(f.DropdownMenuSeparator,{}),g.map((o,w)=>e.jsxs(f.DropdownMenuItem,{onClick:o.onClick,children:[o.icon&&e.jsx("span",{className:"mr-2",children:o.icon}),o.label]},w))]})]})]})]})]})});fe.displayName="TopNav";const he=s.forwardRef(({className:r,items:a,logo:t,rightContent:n,...i},p)=>{const[u,g]=s.useState(null),b=s.useRef(null),x=l=>{b.current&&clearTimeout(b.current),g(l)},v=()=>{b.current=setTimeout(()=>{g(null)},150)};return e.jsx("nav",{ref:p,className:d.cn("relative z-50 w-full border-b bg-background",r),...i,children:e.jsxs("div",{className:"mx-auto flex h-16 max-w-7xl items-center justify-between px-4",children:[t&&e.jsx("div",{className:"flex-shrink-0",children:t}),e.jsx("ul",{className:"hidden items-center gap-1 md:flex",children:a.map(l=>e.jsxs("li",{onMouseEnter:()=>l.columns&&x(l.label),onMouseLeave:v,children:[l.href&&!l.columns?e.jsx("a",{href:l.href,className:"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground",children:l.label}):e.jsxs(N.Button,{variant:"ghost",className:d.cn("flex items-center gap-1",u===l.label&&"bg-accent text-accent-foreground"),children:[l.label,l.columns&&e.jsx(A.ChevronDown,{className:d.cn("h-4 w-4 transition-transform",u===l.label&&"rotate-180")})]}),l.columns&&u===l.label&&e.jsx("div",{className:"absolute left-0 right-0 top-full border-b bg-background shadow-lg",onMouseEnter:()=>x(l.label),onMouseLeave:v,children:e.jsx("div",{className:"mx-auto max-w-7xl p-6",children:e.jsx("div",{className:"grid gap-8",style:{gridTemplateColumns:`repeat(${l.columns.length}, minmax(0, 1fr))`},children:l.columns.map((h,m)=>e.jsxs("div",{children:[h.title&&e.jsx("h3",{className:"mb-4 text-sm font-semibold text-foreground",children:h.title}),h.sections.map((j,y)=>e.jsxs("div",{className:"mb-4",children:[j.title&&e.jsx("h4",{className:"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground",children:j.title}),e.jsx("ul",{className:"space-y-1",children:j.links.map((o,w)=>e.jsx("li",{children:e.jsxs("a",{href:o.href,className:"group flex items-start gap-3 rounded-md p-2 transition-colors hover:bg-accent",children:[o.icon&&e.jsx("span",{className:"mt-0.5 text-muted-foreground group-hover:text-foreground",children:o.icon}),e.jsxs("div",{children:[e.jsx("span",{className:"block text-sm font-medium",children:o.label}),o.description&&e.jsx("span",{className:"block text-xs text-muted-foreground",children:o.description})]})]})},w))})]},y)),h.featured&&e.jsx("div",{className:"mt-4 rounded-lg bg-muted p-4",children:h.featured})]},m))})})})]},l.label))}),n&&e.jsx("div",{className:"flex items-center gap-2",children:n})]})})});he.displayName="MegaMenu";function ge(r){return r.map((a,t)=>{if(a.separator)return e.jsx(f.DropdownMenuSeparator,{},`separator-${t}`);if(a.children&&a.children.length>0)return e.jsxs(f.DropdownMenuSub,{children:[e.jsxs(f.DropdownMenuSubTrigger,{disabled:a.disabled,className:"flex items-center gap-2",children:[a.icon&&e.jsx("span",{className:"h-4 w-4",children:a.icon}),a.label]}),e.jsx(f.DropdownMenuSubContent,{children:ge(a.children)})]},a.label);const n=()=>{a.onClick&&a.onClick()};return a.href?e.jsx(f.DropdownMenuItem,{disabled:a.disabled,asChild:!0,children:e.jsxs("a",{href:a.href,className:"flex items-center gap-2",children:[a.icon&&e.jsx("span",{className:"h-4 w-4",children:a.icon}),a.label]})},a.label):e.jsxs(f.DropdownMenuItem,{disabled:a.disabled,onClick:n,className:"flex items-center gap-2",children:[a.icon&&e.jsx("span",{className:"h-4 w-4",children:a.icon}),a.label]},a.label)})}const ve=s.forwardRef(({trigger:r,items:a,align:t="start",side:n="bottom",className:i},p)=>e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:r}),e.jsx(f.DropdownMenuContent,{ref:p,align:t,side:n,className:d.cn("w-56",i),children:ge(a)})]}));ve.displayName="MultiLevelDropdown";const we=s.forwardRef(({className:r,tabs:a,activeTab:t,onTabChange:n,variant:i="default",size:p="md",fullWidth:u=!1,...g},b)=>{const[x,v]=s.useState(a[0]?.id),l=t??x,h=o=>{n?n(o):v(o)},m={sm:"text-xs py-1 px-2",md:"text-sm py-2 px-3",lg:"text-base py-3 px-4"},j=o=>{const w="flex items-center gap-2 font-medium transition-colors";switch(i){case"pills":return d.cn(w,"rounded-full",o?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground");case"underline":return d.cn(w,"border-b-2 rounded-none",o?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground");case"boxed":return d.cn(w,"rounded-lg border",o?"border-primary bg-primary/10 text-primary":"border-transparent text-muted-foreground hover:bg-muted hover:text-foreground");default:return d.cn(w,"rounded-md",o?"bg-muted text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground")}},y=d.cn("flex items-center gap-1",i==="underline"&&"border-b",u&&"w-full",r);return e.jsx("div",{ref:b,className:y,role:"tablist",...g,children:a.map(o=>{const w=l===o.id;return e.jsxs("button",{role:"tab","aria-selected":w,"aria-disabled":o.disabled,disabled:o.disabled,onClick:()=>h(o.id),className:d.cn(j(w),m[p],u&&"flex-1 justify-center",o.disabled&&"cursor-not-allowed opacity-50"),children:[o.icon&&e.jsx("span",{className:"h-4 w-4",children:o.icon}),e.jsx("span",{children:o.label}),o.badge!==void 0&&e.jsx(N.Badge,{variant:w?"default":"secondary",className:"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs",children:o.badge})]},o.id)})})});we.displayName="TabNavigation";const je=s.forwardRef(({groups:r,label:a="Create",variant:t="default",size:n="default",className:i,align:p="end"},u)=>e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(N.Button,{ref:u,variant:t,size:n,className:d.cn("gap-1",i),children:[e.jsx(Ie.Plus,{className:"h-4 w-4"}),n!=="icon"&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:a}),e.jsx(A.ChevronDown,{className:"h-3 w-3 opacity-50"})]})]})}),e.jsx(f.DropdownMenuContent,{align:p,className:"w-64",children:r.map((g,b)=>e.jsxs(s.Fragment,{children:[b>0&&e.jsx(f.DropdownMenuSeparator,{}),g.label&&e.jsx(f.DropdownMenuLabel,{children:g.label}),e.jsx(f.DropdownMenuGroup,{children:g.items.map(x=>e.jsxs(f.DropdownMenuItem,{onClick:x.onClick,className:"flex items-start gap-3 py-2",children:[x.icon&&e.jsx("span",{className:"mt-0.5 flex h-5 w-5 items-center justify-center text-muted-foreground",children:x.icon}),e.jsxs("div",{className:"flex flex-1 flex-col gap-0.5",children:[e.jsx("span",{className:"font-medium",children:x.label}),x.description&&e.jsx("span",{className:"text-xs text-muted-foreground",children:x.description})]}),x.shortcut&&e.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100",children:x.shortcut})]},x.id))})]},b))})]}));je.displayName="QuickCreateMenu";const Ne=s.forwardRef(({open:r,onOpenChange:a,groups:t,placeholder:n="Type a command or search...",emptyMessage:i="No results found.",loading:p=!1,onSearch:u},g)=>{const[b,x]=s.useState("");s.useEffect(()=>{const l=h=>{h.key==="k"&&(h.metaKey||h.ctrlKey)&&(h.preventDefault(),a(!r))};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[r,a]);const v=l=>{x(l),u?.(l)};return e.jsx(S.CommandDialog,{open:r,onOpenChange:a,children:e.jsxs(S.Command,{ref:g,className:"rounded-lg border shadow-md",children:[e.jsxs("div",{className:"flex items-center border-b px-3",children:[p?e.jsx(S.LoaderCircle,{className:"mr-2 h-4 w-4 shrink-0 animate-spin opacity-50"}):e.jsx(_.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(S.CommandInput,{placeholder:n,value:b,onValueChange:v,className:"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"})]}),e.jsxs(S.CommandList,{children:[e.jsx(S.CommandEmpty,{children:i}),t.map((l,h)=>e.jsxs(s.Fragment,{children:[h>0&&e.jsx(S.CommandSeparator,{}),e.jsx(S.CommandGroup,{heading:l.heading,children:l.actions.map(m=>e.jsxs(S.CommandItem,{value:m.id,keywords:m.keywords,onSelect:()=>{m.onSelect(),a(!1)},disabled:m.disabled,className:"flex items-center gap-2",children:[m.icon&&e.jsx("span",{className:"flex h-5 w-5 items-center justify-center",children:m.icon}),e.jsx("span",{children:m.label}),m.shortcut&&e.jsx(S.CommandShortcut,{children:m.shortcut})]},m.id))})]},l.heading))]})]})})});Ne.displayName="CommandPalette";const ye=s.forwardRef(({className:r,onSearch:a,recentSearches:t=[],onRecentSearchClick:n,onClearRecent:i,trendingSearches:p=[],placeholder:u="Search...",shortcut:g="⌘K",debounceMs:b=300,...x},v)=>{const[l,h]=s.useState(!1),[m,j]=s.useState(""),[y,o]=s.useState([]),[w,M]=s.useState(!1),k=s.useRef(null),I=s.useRef(null);s.useEffect(()=>{const c=C=>{C.key==="k"&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),h(!0),setTimeout(()=>k.current?.focus(),0))};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[]);const L=s.useCallback(async c=>{if(j(c),I.current&&clearTimeout(I.current),!c.trim()){o([]);return}I.current=setTimeout(async()=>{M(!0);try{const C=await a(c);o(C)}catch{o([])}finally{M(!1)}},b)},[a,b]),Se=c=>{c.onClick&&c.onClick(),h(!1),j(""),o([])},E=c=>{n?.(c),j(c),L(c)},Me=!m&&t.length>0,ke=!m&&p.length>0;return e.jsx("div",{ref:v,className:d.cn("relative",r),...x,children:e.jsxs(S.Popover,{open:l,onOpenChange:h,children:[e.jsx(S.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:"relative cursor-pointer",onClick:()=>h(!0),children:[e.jsx(_.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(f.Input,{ref:k,type:"text",placeholder:u,value:m,onChange:c=>L(c.target.value),className:"w-full pl-10 pr-16"}),e.jsx("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded border bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:g})]})}),e.jsx(S.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",onOpenAutoFocus:c=>c.preventDefault(),children:e.jsxs(N.ScrollArea,{className:"max-h-80",children:[w&&e.jsx("div",{className:"flex items-center justify-center p-4",children:e.jsx(S.LoaderCircle,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!w&&y.length>0&&e.jsxs("div",{className:"p-2",children:[e.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Results"}),y.map(c=>e.jsxs("button",{onClick:()=>Se(c),className:"flex w-full items-center gap-3 rounded-md p-2 text-left transition-colors hover:bg-accent",children:[c.icon&&e.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-md bg-muted",children:c.icon}),e.jsxs("div",{className:"flex-1 overflow-hidden",children:[e.jsx("p",{className:"truncate font-medium",children:c.title}),c.description&&e.jsx("p",{className:"truncate text-xs text-muted-foreground",children:c.description})]}),c.type&&e.jsx("span",{className:"text-xs text-muted-foreground",children:c.type})]},c.id))]}),!w&&m&&y.length===0&&e.jsxs("div",{className:"p-4 text-center text-sm text-muted-foreground",children:['No results found for "',m,'"']}),Me&&e.jsxs("div",{className:"p-2",children:[e.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Recent"}),i&&e.jsx(N.Button,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs",onClick:i,children:"Clear"})]}),t.map((c,C)=>e.jsxs("button",{onClick:()=>E(c),className:"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",children:[e.jsx(Ee,{className:"h-4 w-4 text-muted-foreground"}),c]},C))]}),ke&&e.jsxs("div",{className:"border-t p-2",children:[e.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Trending"}),p.map((c,C)=>e.jsxs("button",{onClick:()=>E(c),className:"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",children:[e.jsx(Te.TrendingUp,{className:"h-4 w-4 text-muted-foreground"}),c]},C))]})]})})]})})});ye.displayName="GlobalSearch";exports.Breadcrumb=le;exports.BreadcrumbEllipsis=xe;exports.BreadcrumbItem=ue;exports.BreadcrumbLink=me;exports.BreadcrumbList=ce;exports.BreadcrumbPage=pe;exports.BreadcrumbSeparator=be;exports.CommandPalette=Ne;exports.GlobalSearch=ye;exports.MegaMenu=he;exports.MultiLevelDropdown=ve;exports.QuickCreateMenu=je;exports.Sidebar=O;exports.SidebarContent=X;exports.SidebarFooter=U;exports.SidebarGroup=Y;exports.SidebarGroupAction=Q;exports.SidebarGroupContent=Z;exports.SidebarGroupLabel=J;exports.SidebarHeader=$;exports.SidebarInput=V;exports.SidebarInset=F;exports.SidebarMenu=ee;exports.SidebarMenuAction=te;exports.SidebarMenuBadge=se;exports.SidebarMenuButton=re;exports.SidebarMenuItem=ae;exports.SidebarMenuSkeleton=ne;exports.SidebarMenuSub=de;exports.SidebarMenuSubButton=ie;exports.SidebarMenuSubItem=oe;exports.SidebarProvider=P;exports.SidebarRail=H;exports.SidebarSeparator=W;exports.SidebarTrigger=K;exports.TabNavigation=we;exports.TopNav=fe;exports.useSidebar=B;
|
|
2
|
+
//# sourceMappingURL=global-search-UNXjoFlI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-search-UNXjoFlI.cjs","sources":["../node_modules/lucide-react/dist/esm/icons/bell.js","../node_modules/lucide-react/dist/esm/icons/history.js","../node_modules/lucide-react/dist/esm/icons/menu.js","../node_modules/lucide-react/dist/esm/icons/panel-left.js","../src/components/navigation/sidebar.tsx","../src/components/navigation/breadcrumb.tsx","../src/components/navigation/top-nav.tsx","../src/components/navigation/mega-menu.tsx","../src/components/navigation/multi-level-dropdown.tsx","../src/components/navigation/tab-navigation.tsx","../src/components/navigation/quick-create-menu.tsx","../src/components/navigation/command-palette.tsx","../src/components/navigation/global-search.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bell = createLucideIcon(\"Bell\", [\n [\"path\", { d: \"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\", key: \"1qo2s2\" }],\n [\"path\", { d: \"M10.3 21a1.94 1.94 0 0 0 3.4 0\", key: \"qgo35s\" }]\n]);\n\nexport { Bell as default };\n//# sourceMappingURL=bell.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst History = createLucideIcon(\"History\", [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }],\n [\"path\", { d: \"M12 7v5l4 2\", key: \"1fdv2h\" }]\n]);\n\nexport { History as default };\n//# sourceMappingURL=history.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Menu = createLucideIcon(\"Menu\", [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"12\", y2: \"12\", key: \"1e0a9i\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"6\", y2: \"6\", key: \"1owob3\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"18\", y2: \"18\", key: \"yk5zj1\" }]\n]);\n\nexport { Menu as default };\n//# sourceMappingURL=menu.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { PanelLeft } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\nimport { useIsMobile } from '@/hooks/use-mobile'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContext = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n return context\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n }\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n const state = open ? 'expanded' : 'collapsed'\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = 'SidebarProvider'\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n }\n>(\n (\n {\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n <div\n className={cn(\n 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]'\n )}\n />\n <div\n className={cn(\n 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className={cn(\n 'flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = 'Sidebar'\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = 'SidebarTrigger'\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(\n ({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarRail.displayName = 'SidebarRail'\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(\n ({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n 'relative flex min-h-svh flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarInset.displayName = 'SidebarInset'\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<'input'>,\n React.ComponentProps<'input'>\n>(({ className, ...props }, ref) => {\n return (\n <input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring',\n className\n )}\n {...props}\n />\n )\n})\nSidebarInput.displayName = 'SidebarInput'\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarHeader.displayName = 'SidebarHeader'\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarFooter.displayName = 'SidebarFooter'\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = 'SidebarSeparator'\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarContent.displayName = 'SidebarContent'\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarGroup.displayName = 'SidebarGroup'\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupLabel.displayName = 'SidebarGroupLabel'\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = 'SidebarGroupAction'\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n)\nSidebarGroupContent.displayName = 'SidebarGroupContent'\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n )\n)\nSidebarMenu.displayName = 'SidebarMenu'\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n )\n)\nSidebarMenuItem.displayName = 'SidebarMenuItem'\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = 'SidebarMenuButton'\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuAction.displayName = 'SidebarMenuAction'\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n)\nSidebarMenuBadge.displayName = 'SidebarMenuBadge'\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n showIcon?: boolean\n }\n>(({ className, showIcon = false, ...props }, ref) => {\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 flex-1 max-w-[--skeleton-width]\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton'\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n)\nSidebarMenuSub.displayName = 'SidebarMenuSub'\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ ...props }, ref) => <li ref={ref} {...props} />\n)\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem'\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton'\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronRight, MoreHorizontal } from 'lucide-react'\nimport { cn } from '@/utils/cn'\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<'nav'> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = 'Breadcrumb'\n\nconst BreadcrumbList = React.forwardRef<HTMLOListElement, React.ComponentPropsWithoutRef<'ol'>>(\n ({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n className\n )}\n {...props}\n />\n )\n)\nBreadcrumbList.displayName = 'BreadcrumbList'\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, React.ComponentPropsWithoutRef<'li'>>(\n ({ className, ...props }, ref) => (\n <li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />\n )\n)\nBreadcrumbItem.displayName = 'BreadcrumbItem'\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<'a'> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n ref={ref}\n className={cn('transition-colors hover:text-foreground', className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = 'BreadcrumbLink'\n\nconst BreadcrumbPage = React.forwardRef<HTMLSpanElement, React.ComponentPropsWithoutRef<'span'>>(\n ({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('font-normal text-foreground', className)}\n {...props}\n />\n )\n)\nBreadcrumbPage.displayName = 'BreadcrumbPage'\n\nconst BreadcrumbSeparator = ({ children, className, ...props }: React.ComponentProps<'li'>) => (\n <li role=\"presentation\" aria-hidden=\"true\" className={cn('[&>svg]:size-3.5', className)} {...props}>\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator'\n\nconst BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","import * as React from 'react'\nimport { Menu, Bell, Search } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\n\nexport interface TopNavProps extends React.HTMLAttributes<HTMLElement> {\n logo?: React.ReactNode\n onMenuClick?: () => void\n showSearch?: boolean\n searchPlaceholder?: string\n onSearch?: (value: string) => void\n user?: {\n name: string\n email: string\n avatar?: string\n initials?: string\n }\n userMenuItems?: {\n label: string\n onClick: () => void\n icon?: React.ReactNode\n }[]\n notificationCount?: number\n onNotificationClick?: () => void\n rightContent?: React.ReactNode\n}\n\nconst TopNav = React.forwardRef<HTMLElement, TopNavProps>(\n (\n {\n className,\n logo,\n onMenuClick,\n showSearch = true,\n searchPlaceholder = 'Search...',\n onSearch,\n user,\n userMenuItems = [],\n notificationCount,\n onNotificationClick,\n rightContent,\n ...props\n },\n ref\n ) => {\n const [searchValue, setSearchValue] = React.useState('')\n\n const handleSearchSubmit = (e: React.FormEvent) => {\n e.preventDefault()\n onSearch?.(searchValue)\n }\n\n return (\n <header\n ref={ref}\n className={cn(\n 'sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6',\n className\n )}\n {...props}\n >\n {onMenuClick && (\n <Button variant=\"ghost\" size=\"icon\" className=\"shrink-0 md:hidden\" onClick={onMenuClick}>\n <Menu className=\"h-5 w-5\" />\n <span className=\"sr-only\">Toggle navigation menu</span>\n </Button>\n )}\n\n {logo && <div className=\"flex items-center gap-2\">{logo}</div>}\n\n {showSearch && (\n <form onSubmit={handleSearchSubmit} className=\"flex-1 md:flex-initial\">\n <div className=\"relative\">\n <Search className=\"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground\" />\n <Input\n type=\"search\"\n placeholder={searchPlaceholder}\n className=\"w-full pl-8 md:w-[200px] lg:w-[300px]\"\n value={searchValue}\n onChange={(e) => setSearchValue(e.target.value)}\n />\n </div>\n </form>\n )}\n\n <div className=\"ml-auto flex items-center gap-2\">\n {rightContent}\n\n {onNotificationClick && (\n <Button variant=\"ghost\" size=\"icon\" className=\"relative\" onClick={onNotificationClick}>\n <Bell className=\"h-5 w-5\" />\n {notificationCount !== undefined && notificationCount > 0 && (\n <span className=\"absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-xs text-destructive-foreground\">\n {notificationCount > 99 ? '99+' : notificationCount}\n </span>\n )}\n <span className=\"sr-only\">Notifications</span>\n </Button>\n )}\n\n {user && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" className=\"relative h-8 w-8 rounded-full\">\n <Avatar className=\"h-8 w-8\">\n {user.avatar && <AvatarImage src={user.avatar} alt={user.name} />}\n <AvatarFallback>{user.initials || user.name.charAt(0).toUpperCase()}</AvatarFallback>\n </Avatar>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent className=\"w-56\" align=\"end\" forceMount>\n <DropdownMenuLabel className=\"font-normal\">\n <div className=\"flex flex-col space-y-1\">\n <p className=\"text-sm font-medium leading-none\">{user.name}</p>\n <p className=\"text-xs leading-none text-muted-foreground\">{user.email}</p>\n </div>\n </DropdownMenuLabel>\n {userMenuItems.length > 0 && (\n <>\n <DropdownMenuSeparator />\n {userMenuItems.map((item, index) => (\n <DropdownMenuItem key={index} onClick={item.onClick}>\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </DropdownMenuItem>\n ))}\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n </header>\n )\n }\n)\nTopNav.displayName = 'TopNav'\n\nexport { TopNav }\n","import * as React from 'react'\nimport { ChevronDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\n\nexport interface MegaMenuLink {\n label: string\n href: string\n description?: string\n icon?: React.ReactNode\n}\n\nexport interface MegaMenuSection {\n title?: string\n links: MegaMenuLink[]\n}\n\nexport interface MegaMenuColumn {\n title?: string\n sections: MegaMenuSection[]\n featured?: React.ReactNode\n}\n\nexport interface MegaMenuItem {\n label: string\n href?: string\n columns?: MegaMenuColumn[]\n}\n\nexport interface MegaMenuProps extends React.HTMLAttributes<HTMLElement> {\n items: MegaMenuItem[]\n logo?: React.ReactNode\n rightContent?: React.ReactNode\n}\n\nconst MegaMenu = React.forwardRef<HTMLElement, MegaMenuProps>(\n ({ className, items, logo, rightContent, ...props }, ref) => {\n const [activeItem, setActiveItem] = React.useState<string | null>(null)\n const timeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const handleMouseEnter = (label: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n setActiveItem(label)\n }\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setActiveItem(null)\n }, 150)\n }\n\n return (\n <nav\n ref={ref}\n className={cn('relative z-50 w-full border-b bg-background', className)}\n {...props}\n >\n <div className=\"mx-auto flex h-16 max-w-7xl items-center justify-between px-4\">\n {logo && <div className=\"flex-shrink-0\">{logo}</div>}\n\n <ul className=\"hidden items-center gap-1 md:flex\">\n {items.map((item) => (\n <li\n key={item.label}\n onMouseEnter={() => item.columns && handleMouseEnter(item.label)}\n onMouseLeave={handleMouseLeave}\n >\n {item.href && !item.columns ? (\n <a\n href={item.href}\n className=\"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground\"\n >\n {item.label}\n </a>\n ) : (\n <Button\n variant=\"ghost\"\n className={cn(\n 'flex items-center gap-1',\n activeItem === item.label && 'bg-accent text-accent-foreground'\n )}\n >\n {item.label}\n {item.columns && (\n <ChevronDown\n className={cn(\n 'h-4 w-4 transition-transform',\n activeItem === item.label && 'rotate-180'\n )}\n />\n )}\n </Button>\n )}\n\n {item.columns && activeItem === item.label && (\n <div\n className=\"absolute left-0 right-0 top-full border-b bg-background shadow-lg\"\n onMouseEnter={() => handleMouseEnter(item.label)}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"mx-auto max-w-7xl p-6\">\n <div\n className=\"grid gap-8\"\n style={{\n gridTemplateColumns: `repeat(${item.columns.length}, minmax(0, 1fr))`,\n }}\n >\n {item.columns.map((column, colIndex) => (\n <div key={colIndex}>\n {column.title && (\n <h3 className=\"mb-4 text-sm font-semibold text-foreground\">\n {column.title}\n </h3>\n )}\n {column.sections.map((section, secIndex) => (\n <div key={secIndex} className=\"mb-4\">\n {section.title && (\n <h4 className=\"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground\">\n {section.title}\n </h4>\n )}\n <ul className=\"space-y-1\">\n {section.links.map((link, linkIndex) => (\n <li key={linkIndex}>\n <a\n href={link.href}\n className=\"group flex items-start gap-3 rounded-md p-2 transition-colors hover:bg-accent\"\n >\n {link.icon && (\n <span className=\"mt-0.5 text-muted-foreground group-hover:text-foreground\">\n {link.icon}\n </span>\n )}\n <div>\n <span className=\"block text-sm font-medium\">\n {link.label}\n </span>\n {link.description && (\n <span className=\"block text-xs text-muted-foreground\">\n {link.description}\n </span>\n )}\n </div>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n {column.featured && (\n <div className=\"mt-4 rounded-lg bg-muted p-4\">\n {column.featured}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n )}\n </li>\n ))}\n </ul>\n\n {rightContent && <div className=\"flex items-center gap-2\">{rightContent}</div>}\n </div>\n </nav>\n )\n }\n)\nMegaMenu.displayName = 'MegaMenu'\n\nexport { MegaMenu }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu'\n\nexport interface MultiLevelDropdownItem {\n label: string\n icon?: React.ReactNode\n href?: string\n onClick?: () => void\n disabled?: boolean\n children?: MultiLevelDropdownItem[]\n separator?: boolean\n}\n\nexport interface MultiLevelDropdownProps {\n trigger: React.ReactNode\n items: MultiLevelDropdownItem[]\n align?: 'start' | 'center' | 'end'\n side?: 'top' | 'right' | 'bottom' | 'left'\n className?: string\n}\n\nfunction renderDropdownItems(items: MultiLevelDropdownItem[]) {\n return items.map((item, index) => {\n if (item.separator) {\n return <DropdownMenuSeparator key={`separator-${index}`} />\n }\n\n if (item.children && item.children.length > 0) {\n return (\n <DropdownMenuSub key={item.label}>\n <DropdownMenuSubTrigger disabled={item.disabled} className=\"flex items-center gap-2\">\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.label}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n {renderDropdownItems(item.children)}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n }\n\n const handleClick = () => {\n if (item.onClick) {\n item.onClick()\n }\n }\n\n if (item.href) {\n return (\n <DropdownMenuItem key={item.label} disabled={item.disabled} asChild>\n <a href={item.href} className=\"flex items-center gap-2\">\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.label}\n </a>\n </DropdownMenuItem>\n )\n }\n\n return (\n <DropdownMenuItem\n key={item.label}\n disabled={item.disabled}\n onClick={handleClick}\n className=\"flex items-center gap-2\"\n >\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.label}\n </DropdownMenuItem>\n )\n })\n}\n\nconst MultiLevelDropdown = React.forwardRef<HTMLDivElement, MultiLevelDropdownProps>(\n ({ trigger, items, align = 'start', side = 'bottom', className }, ref) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>{trigger}</DropdownMenuTrigger>\n <DropdownMenuContent ref={ref} align={align} side={side} className={cn('w-56', className)}>\n {renderDropdownItems(items)}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n }\n)\nMultiLevelDropdown.displayName = 'MultiLevelDropdown'\n\nexport { MultiLevelDropdown }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\nimport { Badge } from '@/components/ui/badge'\n\nexport interface TabItem {\n id: string\n label: string\n icon?: React.ReactNode\n badge?: string | number\n disabled?: boolean\n}\n\nexport interface TabNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n tabs: TabItem[]\n activeTab?: string\n onTabChange?: (tabId: string) => void\n variant?: 'default' | 'pills' | 'underline' | 'boxed'\n size?: 'sm' | 'md' | 'lg'\n fullWidth?: boolean\n}\n\nconst TabNavigation = React.forwardRef<HTMLDivElement, TabNavigationProps>(\n (\n {\n className,\n tabs,\n activeTab,\n onTabChange,\n variant = 'default',\n size = 'md',\n fullWidth = false,\n ...props\n },\n ref\n ) => {\n const [internalActiveTab, setInternalActiveTab] = React.useState(tabs[0]?.id)\n const currentTab = activeTab ?? internalActiveTab\n\n const handleTabClick = (tabId: string) => {\n if (onTabChange) {\n onTabChange(tabId)\n } else {\n setInternalActiveTab(tabId)\n }\n }\n\n const sizeClasses = {\n sm: 'text-xs py-1 px-2',\n md: 'text-sm py-2 px-3',\n lg: 'text-base py-3 px-4',\n }\n\n const getVariantClasses = (isActive: boolean) => {\n const baseClasses = 'flex items-center gap-2 font-medium transition-colors'\n\n switch (variant) {\n case 'pills':\n return cn(\n baseClasses,\n 'rounded-full',\n isActive\n ? 'bg-primary text-primary-foreground'\n : 'text-muted-foreground hover:bg-muted hover:text-foreground'\n )\n case 'underline':\n return cn(\n baseClasses,\n 'border-b-2 rounded-none',\n isActive\n ? 'border-primary text-primary'\n : 'border-transparent text-muted-foreground hover:border-border hover:text-foreground'\n )\n case 'boxed':\n return cn(\n baseClasses,\n 'rounded-lg border',\n isActive\n ? 'border-primary bg-primary/10 text-primary'\n : 'border-transparent text-muted-foreground hover:bg-muted hover:text-foreground'\n )\n default:\n return cn(\n baseClasses,\n 'rounded-md',\n isActive\n ? 'bg-muted text-foreground'\n : 'text-muted-foreground hover:bg-muted/50 hover:text-foreground'\n )\n }\n }\n\n const containerClasses = cn(\n 'flex items-center gap-1',\n variant === 'underline' && 'border-b',\n fullWidth && 'w-full',\n className\n )\n\n return (\n <div ref={ref} className={containerClasses} role=\"tablist\" {...props}>\n {tabs.map((tab) => {\n const isActive = currentTab === tab.id\n\n return (\n <button\n key={tab.id}\n role=\"tab\"\n aria-selected={isActive}\n aria-disabled={tab.disabled}\n disabled={tab.disabled}\n onClick={() => handleTabClick(tab.id)}\n className={cn(\n getVariantClasses(isActive),\n sizeClasses[size],\n fullWidth && 'flex-1 justify-center',\n tab.disabled && 'cursor-not-allowed opacity-50'\n )}\n >\n {tab.icon && <span className=\"h-4 w-4\">{tab.icon}</span>}\n <span>{tab.label}</span>\n {tab.badge !== undefined && (\n <Badge\n variant={isActive ? 'default' : 'secondary'}\n className=\"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs\"\n >\n {tab.badge}\n </Badge>\n )}\n </button>\n )\n })}\n </div>\n )\n }\n)\nTabNavigation.displayName = 'TabNavigation'\n\nexport { TabNavigation }\n","import * as React from 'react'\nimport { Plus, ChevronDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n DropdownMenuGroup,\n} from '@/components/ui/dropdown-menu'\n\nexport interface QuickCreateItem {\n id: string\n label: string\n icon?: React.ReactNode\n description?: string\n onClick: () => void\n shortcut?: string\n}\n\nexport interface QuickCreateGroup {\n label?: string\n items: QuickCreateItem[]\n}\n\nexport interface QuickCreateMenuProps {\n groups: QuickCreateGroup[]\n label?: string\n variant?: 'default' | 'outline' | 'ghost'\n size?: 'default' | 'sm' | 'lg' | 'icon'\n className?: string\n align?: 'start' | 'center' | 'end'\n}\n\nconst QuickCreateMenu = React.forwardRef<HTMLButtonElement, QuickCreateMenuProps>(\n (\n {\n groups,\n label = 'Create',\n variant = 'default',\n size = 'default',\n className,\n align = 'end',\n },\n ref\n ) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button ref={ref} variant={variant} size={size} className={cn('gap-1', className)}>\n <Plus className=\"h-4 w-4\" />\n {size !== 'icon' && (\n <>\n <span>{label}</span>\n <ChevronDown className=\"h-3 w-3 opacity-50\" />\n </>\n )}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align={align} className=\"w-64\">\n {groups.map((group, groupIndex) => (\n <React.Fragment key={groupIndex}>\n {groupIndex > 0 && <DropdownMenuSeparator />}\n {group.label && <DropdownMenuLabel>{group.label}</DropdownMenuLabel>}\n <DropdownMenuGroup>\n {group.items.map((item) => (\n <DropdownMenuItem\n key={item.id}\n onClick={item.onClick}\n className=\"flex items-start gap-3 py-2\"\n >\n {item.icon && (\n <span className=\"mt-0.5 flex h-5 w-5 items-center justify-center text-muted-foreground\">\n {item.icon}\n </span>\n )}\n <div className=\"flex flex-1 flex-col gap-0.5\">\n <span className=\"font-medium\">{item.label}</span>\n {item.description && (\n <span className=\"text-xs text-muted-foreground\">{item.description}</span>\n )}\n </div>\n {item.shortcut && (\n <kbd className=\"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100\">\n {item.shortcut}\n </kbd>\n )}\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </React.Fragment>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n }\n)\nQuickCreateMenu.displayName = 'QuickCreateMenu'\n\nexport { QuickCreateMenu }\n","import * as React from 'react'\nimport { Search, Loader2 } from 'lucide-react'\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n} from '@/components/ui/command'\n\nexport interface CommandAction {\n id: string\n label: string\n icon?: React.ReactNode\n shortcut?: string\n keywords?: string[]\n onSelect: () => void\n disabled?: boolean\n}\n\nexport interface CommandPaletteGroup {\n heading: string\n actions: CommandAction[]\n}\n\nexport interface CommandPaletteProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n groups: CommandPaletteGroup[]\n placeholder?: string\n emptyMessage?: string\n loading?: boolean\n onSearch?: (query: string) => void\n}\n\nconst CommandPalette = React.forwardRef<HTMLDivElement, CommandPaletteProps>(\n (\n {\n open,\n onOpenChange,\n groups,\n placeholder = 'Type a command or search...',\n emptyMessage = 'No results found.',\n loading = false,\n onSearch,\n },\n ref\n ) => {\n const [search, setSearch] = React.useState('')\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onOpenChange(!open)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [open, onOpenChange])\n\n const handleValueChange = (value: string) => {\n setSearch(value)\n onSearch?.(value)\n }\n\n return (\n <CommandDialog open={open} onOpenChange={onOpenChange}>\n <Command ref={ref} className=\"rounded-lg border shadow-md\">\n <div className=\"flex items-center border-b px-3\">\n {loading ? (\n <Loader2 className=\"mr-2 h-4 w-4 shrink-0 animate-spin opacity-50\" />\n ) : (\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n <CommandInput\n placeholder={placeholder}\n value={search}\n onValueChange={handleValueChange}\n className=\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n />\n </div>\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups.map((group, groupIndex) => (\n <React.Fragment key={group.heading}>\n {groupIndex > 0 && <CommandSeparator />}\n <CommandGroup heading={group.heading}>\n {group.actions.map((action) => (\n <CommandItem\n key={action.id}\n value={action.id}\n keywords={action.keywords}\n onSelect={() => {\n action.onSelect()\n onOpenChange(false)\n }}\n disabled={action.disabled}\n className=\"flex items-center gap-2\"\n >\n {action.icon && (\n <span className=\"flex h-5 w-5 items-center justify-center\">\n {action.icon}\n </span>\n )}\n <span>{action.label}</span>\n {action.shortcut && (\n <CommandShortcut>{action.shortcut}</CommandShortcut>\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n </React.Fragment>\n ))}\n </CommandList>\n </Command>\n </CommandDialog>\n )\n }\n)\nCommandPalette.displayName = 'CommandPalette'\n\nexport { CommandPalette }\n","import * as React from 'react'\nimport { Search, Loader2, History, TrendingUp } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Input } from '@/components/ui/input'\nimport { Button } from '@/components/ui/button'\nimport { ScrollArea } from '@/components/ui/scroll-area'\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/components/ui/popover'\n\nexport interface SearchResult {\n id: string\n title: string\n description?: string\n type?: string\n icon?: React.ReactNode\n href?: string\n onClick?: () => void\n}\n\nexport interface GlobalSearchProps extends React.HTMLAttributes<HTMLDivElement> {\n onSearch: (query: string) => Promise<SearchResult[]> | SearchResult[]\n recentSearches?: string[]\n onRecentSearchClick?: (query: string) => void\n onClearRecent?: () => void\n trendingSearches?: string[]\n placeholder?: string\n shortcut?: string\n debounceMs?: number\n}\n\nconst GlobalSearch = React.forwardRef<HTMLDivElement, GlobalSearchProps>(\n (\n {\n className,\n onSearch,\n recentSearches = [],\n onRecentSearchClick,\n onClearRecent,\n trendingSearches = [],\n placeholder = 'Search...',\n shortcut = '⌘K',\n debounceMs = 300,\n ...props\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const [query, setQuery] = React.useState('')\n const [results, setResults] = React.useState<SearchResult[]>([])\n const [loading, setLoading] = React.useState(false)\n const inputRef = React.useRef<HTMLInputElement>(null)\n const debounceRef = React.useRef<NodeJS.Timeout | null>(null)\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n setOpen(true)\n setTimeout(() => inputRef.current?.focus(), 0)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [])\n\n const handleSearch = React.useCallback(\n async (searchQuery: string) => {\n setQuery(searchQuery)\n\n if (debounceRef.current) {\n clearTimeout(debounceRef.current)\n }\n\n if (!searchQuery.trim()) {\n setResults([])\n return\n }\n\n debounceRef.current = setTimeout(async () => {\n setLoading(true)\n try {\n const searchResults = await onSearch(searchQuery)\n setResults(searchResults)\n } catch {\n setResults([])\n } finally {\n setLoading(false)\n }\n }, debounceMs)\n },\n [onSearch, debounceMs]\n )\n\n const handleResultClick = (result: SearchResult) => {\n if (result.onClick) {\n result.onClick()\n }\n setOpen(false)\n setQuery('')\n setResults([])\n }\n\n const handleRecentClick = (recentQuery: string) => {\n onRecentSearchClick?.(recentQuery)\n setQuery(recentQuery)\n handleSearch(recentQuery)\n }\n\n const showRecent = !query && recentSearches.length > 0\n const showTrending = !query && trendingSearches.length > 0\n\n return (\n <div ref={ref} className={cn('relative', className)} {...props}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className=\"relative cursor-pointer\" onClick={() => setOpen(true)}>\n <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n ref={inputRef}\n type=\"text\"\n placeholder={placeholder}\n value={query}\n onChange={(e) => handleSearch(e.target.value)}\n className=\"w-full pl-10 pr-16\"\n />\n <kbd className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded border bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {shortcut}\n </kbd>\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[var(--radix-popover-trigger-width)] p-0\"\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n >\n <ScrollArea className=\"max-h-80\">\n {loading && (\n <div className=\"flex items-center justify-center p-4\">\n <Loader2 className=\"h-5 w-5 animate-spin text-muted-foreground\" />\n </div>\n )}\n\n {!loading && results.length > 0 && (\n <div className=\"p-2\">\n <p className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">\n Results\n </p>\n {results.map((result) => (\n <button\n key={result.id}\n onClick={() => handleResultClick(result)}\n className=\"flex w-full items-center gap-3 rounded-md p-2 text-left transition-colors hover:bg-accent\"\n >\n {result.icon && (\n <span className=\"flex h-8 w-8 items-center justify-center rounded-md bg-muted\">\n {result.icon}\n </span>\n )}\n <div className=\"flex-1 overflow-hidden\">\n <p className=\"truncate font-medium\">{result.title}</p>\n {result.description && (\n <p className=\"truncate text-xs text-muted-foreground\">\n {result.description}\n </p>\n )}\n </div>\n {result.type && (\n <span className=\"text-xs text-muted-foreground\">{result.type}</span>\n )}\n </button>\n ))}\n </div>\n )}\n\n {!loading && query && results.length === 0 && (\n <div className=\"p-4 text-center text-sm text-muted-foreground\">\n No results found for "{query}"\n </div>\n )}\n\n {showRecent && (\n <div className=\"p-2\">\n <div className=\"flex items-center justify-between px-2 py-1.5\">\n <p className=\"text-xs font-medium text-muted-foreground\">Recent</p>\n {onClearRecent && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-auto p-0 text-xs\"\n onClick={onClearRecent}\n >\n Clear\n </Button>\n )}\n </div>\n {recentSearches.map((recent, index) => (\n <button\n key={index}\n onClick={() => handleRecentClick(recent)}\n className=\"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent\"\n >\n <History className=\"h-4 w-4 text-muted-foreground\" />\n {recent}\n </button>\n ))}\n </div>\n )}\n\n {showTrending && (\n <div className=\"border-t p-2\">\n <p className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">\n Trending\n </p>\n {trendingSearches.map((trending, index) => (\n <button\n key={index}\n onClick={() => handleRecentClick(trending)}\n className=\"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent\"\n >\n <TrendingUp className=\"h-4 w-4 text-muted-foreground\" />\n {trending}\n </button>\n ))}\n </div>\n )}\n </ScrollArea>\n </PopoverContent>\n </Popover>\n </div>\n )\n }\n)\nGlobalSearch.displayName = 'GlobalSearch'\n\nexport { GlobalSearch }\n"],"names":["Bell","createLucideIcon","History","Menu","PanelLeft","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","jsxs","SidebarTrigger","onClick","Button","SidebarRail","SidebarInset","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbPage","BreadcrumbSeparator","ChevronRight","BreadcrumbEllipsis","MoreHorizontal","TopNav","logo","onMenuClick","showSearch","searchPlaceholder","onSearch","user","userMenuItems","notificationCount","onNotificationClick","rightContent","searchValue","setSearchValue","handleSearchSubmit","e","Search","Input","DropdownMenu","DropdownMenuTrigger","Avatar","AvatarImage","AvatarFallback","DropdownMenuContent","DropdownMenuLabel","Fragment","DropdownMenuSeparator","item","index","DropdownMenuItem","MegaMenu","items","activeItem","setActiveItem","timeoutRef","handleMouseEnter","label","handleMouseLeave","ChevronDown","column","colIndex","section","secIndex","link","linkIndex","renderDropdownItems","DropdownMenuSub","DropdownMenuSubTrigger","DropdownMenuSubContent","handleClick","MultiLevelDropdown","trigger","align","TabNavigation","tabs","activeTab","onTabChange","fullWidth","internalActiveTab","setInternalActiveTab","currentTab","handleTabClick","tabId","sizeClasses","getVariantClasses","baseClasses","containerClasses","tab","Badge","QuickCreateMenu","groups","Plus","group","groupIndex","DropdownMenuGroup","CommandPalette","onOpenChange","placeholder","emptyMessage","loading","search","setSearch","down","handleValueChange","CommandDialog","Command","Loader2","CommandInput","CommandList","CommandEmpty","CommandSeparator","CommandGroup","action","CommandItem","CommandShortcut","GlobalSearch","recentSearches","onRecentSearchClick","onClearRecent","trendingSearches","shortcut","debounceMs","query","setQuery","results","setResults","setLoading","inputRef","debounceRef","handleSearch","searchQuery","searchResults","handleResultClick","result","handleRecentClick","recentQuery","showRecent","showTrending","Popover","PopoverTrigger","PopoverContent","ScrollArea","recent","trending","TrendingUp"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|