@rafal.lemieszewski/tide-ui 0.85.0 → 0.86.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/cjs/components/fundamental/breadcrumb.cjs +1 -1
- package/dist/cjs/components/fundamental/button.cjs +1 -1
- package/dist/cjs/components/fundamental/calendar.cjs +1 -1
- package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -1
- package/dist/cjs/components/fundamental/custom-icons.cjs +1 -1
- package/dist/cjs/components/fundamental/dialog.cjs +1 -1
- package/dist/cjs/components/fundamental/file-upload.cjs +1 -1
- package/dist/cjs/components/fundamental/icon.cjs +1 -1
- package/dist/cjs/components/fundamental/month-picker.cjs +1 -1
- package/dist/cjs/components/fundamental/pagination.cjs +1 -1
- package/dist/cjs/components/fundamental/select.cjs +1 -1
- package/dist/cjs/components/fundamental/separator.cjs +1 -1
- package/dist/cjs/components/fundamental/sidebar.cjs +1 -1
- package/dist/cjs/components/fundamental/toast.cjs +1 -1
- package/dist/cjs/components/fundamental/tree.cjs +1 -1
- package/dist/cjs/components/product/app-frame.cjs +1 -1
- package/dist/cjs/components/product/attributes-list.cjs +1 -1
- package/dist/cjs/components/product/bookmarks.cjs +1 -1
- package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -1
- package/dist/cjs/components/product/data-table.cjs +1 -1
- package/dist/cjs/components/product/filters.cjs +1 -1
- package/dist/cjs/components/product/fixture-status.cjs +1 -1
- package/dist/cjs/components/product/linked-chart.cjs +1 -1
- package/dist/cjs/components/product/view-mode-menu.cjs +1 -1
- package/dist/es/components/fundamental/button.js +10 -9
- package/dist/es/components/fundamental/calendar.js +18 -17
- package/dist/es/components/fundamental/custom-icons.js +283 -517
- package/dist/es/components/fundamental/dialog.js +25 -24
- package/dist/es/components/fundamental/file-upload.js +17 -16
- package/dist/es/components/fundamental/icon.js +112 -139
- package/dist/es/components/fundamental/month-picker.js +21 -20
- package/dist/es/components/fundamental/pagination.js +44 -43
- package/dist/es/components/fundamental/select.js +40 -39
- package/dist/es/components/fundamental/separator.js +11 -10
- package/dist/es/components/fundamental/sidebar.js +85 -84
- package/dist/es/components/fundamental/toast.js +8 -7
- package/dist/es/components/product/app-frame.js +83 -82
- package/dist/es/components/product/attributes-list.js +61 -60
- package/dist/es/components/product/bookmarks.js +170 -169
- package/dist/es/components/product/data-table-settings-menu.js +38 -37
- package/dist/es/components/product/data-table.js +374 -373
- package/dist/es/components/product/filters.js +93 -92
- package/dist/es/components/product/fixture-status.js +89 -87
- package/dist/es/components/product/linked-chart.js +54 -53
- package/dist/es/components/product/view-mode-menu.js +176 -175
- package/dist/es/style.css +1 -1
- package/dist/types/components/core-index.d.cts +1 -1
- package/dist/types/components/core-index.d.ts +1 -1
- package/dist/types/components/fundamental/custom-icons.d.ts +32 -36
- package/dist/types/components/fundamental/dropdown-menu.d.ts +2 -1
- package/dist/types/components/fundamental/icon.d.ts +1 -3
- package/dist/types/components/index.d.ts +2 -1
- package/dist/types/components/product/fixture-status.d.ts +2 -2
- package/dist/types/lib/index.d.cts +1 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),ue=require("react"),be=require("class-variance-authority"),pe=require("@radix-ui/react-dialog"),ve=require("@radix-ui/react-tooltip"),d=require("../../lib/utils.cjs"),T=require("./button.cjs"),fe=require("./separator.cjs"),me=require("./icon.cjs");function D(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(r,a,o.get?o:{enumerable:!0,get:()=>e[a]})}}return r.default=e,Object.freeze(r)}const t=D(ue),z=D(pe),I=D(ve),ge="sidebar:state",xe=3600*24*7,he="16rem",ye="18rem",Se="3rem",we="b",O=t.createContext(null);function R(){const e=t.useContext(O);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const G=t.forwardRef(({defaultOpen:e=!0,open:r,onOpenChange:a,className:o,style:i,children:l,...u},f)=>{const[p,m]=t.useState(e),[v,h]=t.useState(!1),[y,j]=t.useState(!1),g=r??p,S=t.useCallback(n=>{const c=typeof n=="function"?n(g):n;a?a(c):m(c),typeof document<"u"&&(document.cookie=`${ge}=${c}; path=/; max-age=${xe}`)},[a,g]),b=t.useCallback(()=>y?h(n=>!n):S(n=>!n),[y,S,h]);t.useEffect(()=>{const n=c=>{c.key===we&&(c.metaKey||c.ctrlKey)&&(c.preventDefault(),b())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[b]),t.useEffect(()=>{const n=()=>{j(window.innerWidth<768)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]);const N=g?"expanded":"collapsed",w=t.useMemo(()=>({state:N,open:g,setOpen:S,isMobile:y,openMobile:v,setOpenMobile:h,toggleSidebar:b}),[N,g,S,y,v,h,b]);return s.jsx(O.Provider,{value:w,children:s.jsx(I.Provider,{delayDuration:0,children:s.jsx("div",{ref:f,style:{"--sidebar-width":he,"--sidebar-width-icon":Se,...i},className:d.cn("group/sidebar-wrapper flex h-svh w-full min-w-0 has-[[data-variant=inset]]:bg-[var(--color-surface-secondary)]",o),...u,children:l})})})});G.displayName="SidebarProvider";const P=t.forwardRef(({variant:e="sidebar",collapsible:r="offcanvas",side:a="left",className:o,children:i,...l},u)=>{const{isMobile:f,state:p,openMobile:m,setOpenMobile:v}=R();return r==="none"?s.jsx("div",{className:d.cn("flex h-full w-[var(--sidebar-width)] flex-col bg-[var(--color-surface-primary)] text-[var(--color-text-primary)]",o),ref:u,...l,children:i}):f?s.jsx(z.Root,{open:m,onOpenChange:v,modal:!1,children:s.jsxs(z.Portal,{children:[s.jsx(z.Overlay,{className:"fixed inset-0 z-40 bg-black/80"}),s.jsx(z.Content,{ref:u,"data-sidebar":"sidebar","data-mobile":"true",className:"fixed inset-y-0 z-50 h-auto w-[var(--sidebar-width-mobile)] bg-[var(--color-surface-primary)] p-0 text-[var(--color-text-primary)] shadow-md transition ease-in-out data-[state=open]:duration-300 data-[state=closed]:duration-200 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",style:{"--sidebar-width":ye},...l,children:s.jsx("div",{className:"flex h-full w-full flex-col",children:i})})]})}):s.jsx("div",{ref:u,className:"group peer hidden md:block text-[var(--color-text-primary)]","data-state":p,"data-collapsible":p==="collapsed"?r:"","data-variant":e,"data-side":a,children:s.jsx("div",{className:d.cn("duration-200 relative h-svh w-[var(--sidebar-width)] bg-[var(--color-surface-primary)] border-r border-[var(--color-border-primary-subtle)] transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]",e==="floating"&&"m-[var(--space-s)] rounded-m border border-[var(--color-border-primary-subtle)] shadow-md",e==="inset"&&"m-[var(--space-s)] ml-0 rounded-r-m border-r border-[var(--color-border-primary-subtle)]",o),...l,children:s.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col",children:i})})})});P.displayName="Sidebar";const q=t.forwardRef(({className:e,onClick:r,...a},o)=>{const{toggleSidebar:i}=R();return s.jsxs(T.Button,{ref:o,"data-sidebar":"trigger",variant:"ghost",size:"s",className:d.cn("h-7 w-7 p-0",e),onClick:l=>{r?.(l),i()},...a,children:[s.jsx(me.Icon,{name:"panel-left",size:"s"}),s.jsx("span",{className:"sr-only",children:"Toggle sidebar"})]})});q.displayName="SidebarTrigger";const K=t.forwardRef(({className:e,...r},a)=>{const{toggleSidebar:o}=R();return s.jsx("button",{ref:a,"data-sidebar":"rail","aria-label":"Toggle sidebar",tabIndex:-1,onClick:o,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-[var(--color-border-primary)] 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-[var(--color-surface-secondary)]","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...r})});K.displayName="SidebarRail";const L=t.forwardRef(({className:e,...r},a)=>s.jsx("main",{ref:a,className:d.cn("relative flex flex-1 flex-col min-w-0 bg-[var(--color-surface-base)]","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-sm",e),...r}));L.displayName="SidebarInset";const F=t.forwardRef(({className:e,...r},a)=>s.jsx("input",{ref:a,"data-sidebar":"input",className:d.cn("flex h-8 w-full rounded-l border border-[var(--color-interaction-border-input)] bg-[var(--color-surface-primary)] px-[var(--space-m)] py-[var(--space-s)] text-sm text-[var(--color-text-primary)] ring-offset-[var(--color-surface-primary)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--color-text-tertiary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focused)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...r}));F.displayName="SidebarInput";const V=t.forwardRef(({className:e,children:r,onOpenChange:a,shortcuts:o=["⌘","K"],...i},l)=>s.jsxs("button",{ref:l,"data-sidebar":"search-button",className:d.cn("text-body-md flex h-8 w-full cursor-pointer items-center rounded-m border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] px-3 py-1 pr-20 pl-8 text-left text-[var(--color-text-tertiary)] transition-colors hover:border-[var(--color-border-primary-medium)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)] focus:ring-offset-2 focus:outline-none active:border-[var(--color-border-primary-medium)] group-data-[collapsible=icon]:hidden",e),onClick:()=>a?.(!0),...i,children:[r||"Search",s.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 gap-1",children:o.map((u,f)=>s.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-secondary)] px-1.5 font-mono text-[10px] font-medium text-[var(--color-text-tertiary)] opacity-100",children:u},f))})]}));V.displayName="SidebarSearchButton";const W=t.forwardRef(({className:e,onOpenChange:r,shortcuts:a=["⌘","K"],...o},i)=>s.jsx("button",{ref:i,"data-sidebar":"search-trigger",className:d.cn("hidden h-8 w-8 cursor-pointer items-center justify-center rounded border border-[var(--color-border-primary-subtle)] bg-transparent transition-all duration-200 group-data-[collapsible=icon]:flex hover:border-[var(--color-border-primary-medium)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)] focus:ring-offset-2 focus:outline-none active:border-[var(--color-border-primary-medium)]",e),onClick:()=>r?.(!0),"aria-label":"Search",...o}));W.displayName="SidebarSearchTrigger";const $=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"header",className:d.cn("flex flex-col gap-[var(--space-s)] p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));$.displayName="SidebarHeader";const A=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"footer",className:d.cn("flex flex-col gap-[var(--space-s)] p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));A.displayName="SidebarFooter";const U=t.forwardRef(({className:e,...r},a)=>s.jsx(fe.Separator,{ref:a,"data-sidebar":"separator",className:d.cn("mx-2 w-auto bg-[var(--color-border-primary-subtle)]",e),...r}));U.displayName="SidebarSeparator";const X=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"content",className:d.cn("flex min-h-0 flex-1 flex-col overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",e),...r}));X.displayName="SidebarContent";const Y=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"group",className:d.cn("relative flex w-full min-w-0 flex-col p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));Y.displayName="SidebarGroup";const J=t.forwardRef(({className:e,asChild:r=!1,...a},o)=>s.jsx("div",{ref:o,"data-sidebar":"group-label",className:d.cn("duration-200 flex h-8 shrink-0 items-center rounded-m px-2 [&]:text-body-medium-sm text-[var(--color-text-tertiary)] outline-none ring-[var(--color-border-focused)] transition-opacity ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...a}));J.displayName="SidebarGroupLabel";const Q=t.forwardRef(({className:e,asChild:r=!1,...a},o)=>s.jsx("button",{ref:o,"data-sidebar":"group-action",className:d.cn("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-m p-0 text-[var(--color-text-secondary)] outline-none ring-[var(--color-border-focused)] transition-transform hover:bg-[var(--color-background-neutral-subtlest)] focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...a}));Q.displayName="SidebarGroupAction";const Z=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"group-content",className:d.cn("w-full text-sm",e),...r}));Z.displayName="SidebarGroupContent";const H=t.forwardRef(({className:e,...r},a)=>s.jsx("ul",{ref:a,"data-sidebar":"menu",className:d.cn("flex w-full min-w-0 flex-col gap-[var(--space-s)]",e),...r}));H.displayName="SidebarMenu";const ee=t.forwardRef(({className:e,...r},a)=>s.jsx("li",{ref:a,"data-sidebar":"menu-item",className:d.cn("group/menu-item relative",e),...r}));ee.displayName="SidebarMenuItem";const ke=be.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-m px-2 py-1.5 text-left text-body-medium-md outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out focus-visible:ring-2 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-[var(--color-background-blue-subtle-selected)] data-[active=true]:text-[var(--color-text-brand-bold-selected)] data-[state=open]:bg-[var(--color-surface-secondary)] group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 data-[active=true]:[&>svg]:text-[var(--color-text-brand-bold-selected)] cursor-pointer",{variants:{variant:{default:"hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)] active:bg-[var(--color-background-neutral-subtlest-hovered)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:hover:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[active=true]:active:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[state=open]:hover:bg-[var(--color-background-neutral-subtlest-hovered)]",outline:"bg-[var(--color-surface-primary)] border border-[var(--color-border-primary-subtle)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)] active:bg-[var(--color-background-neutral-subtlest-hovered)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:hover:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[active=true]:active:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)]"},size:{default:"h-8",s:"h-7 text-body-sm py-1",l:"h-12 py-3 text-body-lg group-data-[collapsible=icon]:!size-8"}},defaultVariants:{variant:"default",size:"default"}}),re=t.forwardRef(({asChild:e=!1,isActive:r=!1,variant:a="enhanced",size:o="default",tooltip:i,enhancedHover:l=!0,preserveActiveOnFocus:u=!0,className:f,onMouseEnter:p,onMouseLeave:m,onFocus:v,onBlur:h,onMouseDown:y,...j},g)=>{const S=e?"span":"button",{isMobile:b,state:N}=R(),[w,n]=t.useState(!1),[c,C]=t.useState(!1),M=t.useRef(!1),_=t.useCallback(k=>{l&&n(!0),p?.(k)},[l,p]),B=t.useCallback(k=>{l&&n(!1),m?.(k)},[l,m]),x=t.useCallback(k=>{M.current=!0,y?.(k)},[y]),ie=t.useCallback(k=>{l&&!M.current&&C(!0),M.current=!1,v?.(k)},[l,v]),ne=t.useCallback(k=>{l&&C(!1),h?.(k)},[l,h]),ce=t.useMemo(()=>a!=="enhanced"?ke({variant:"default",size:o}):d.cn("relative peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-m px-2 py-1.5 text-left text-body-medium-md outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out focus-visible:ring-2 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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer z-2",o==="s"&&"h-7 text-body-sm py-1",o==="default"&&"h-8",o==="l"&&"h-12 py-3 text-body-lg group-data-[collapsible=icon]:!size-8",w&&!c&&!r&&"bg-[var(--color-background-neutral-subtlest-hovered)]",w&&!c&&r&&["bg-[var(--color-background-blue-subtle-selected-hovered)]","[&>svg]:text-[var(--color-icon-brand-bold-hovered)]"],c&&!r&&"bg-transparent ring-2 ring-[var(--color-border-brand-bold)]",c&&r&&u&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-medium-md [&]:font-normal","ring-2 ring-[var(--color-border-brand-bold)]","[&>svg]:text-[var(--color-text-brand-bold)]"],r&&!c&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-medium-md [&]:font-normal","[&>svg]:text-[var(--color-text-brand-bold)]","hover:bg-[var(--color-background-blue-subtle-selected-hovered)]","hover:[&>svg]:text-[var(--color-icon-brand-bold-hovered)]"],"data-[state=open]:bg-[var(--color-surface-secondary)]","group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2"),[a,o,w,c,r,u]),E=s.jsx(S,{ref:g,"data-sidebar":"menu-button","data-size":o,"data-active":r,className:d.cn(ce,f),onMouseEnter:l?_:p,onMouseLeave:l?B:m,onMouseDown:l?x:y,onFocus:l?ie:v,onBlur:l?ne:h,...j});return i?(typeof i=="string"&&(i={children:i}),s.jsxs(I.Root,{children:[s.jsx(I.Trigger,{asChild:!0,children:E}),s.jsx(I.Content,{side:"right",align:"center",hidden:N!=="collapsed"||b,className:"z-50 overflow-hidden rounded-m bg-[var(--color-surface-primary)] px-3 py-1.5 text-xs text-[var(--color-text-primary)] border border-[var(--color-border-primary-subtle)] shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",...i})]})):E});re.displayName="SidebarMenuButton";const ae=t.forwardRef(({className:e,showOnHover:r=!1,size:a="m",...o},i)=>s.jsx(T.Button,{ref:i,"data-sidebar":"menu-action",variant:"ghost",size:"s",className:d.cn("absolute right-1 flex aspect-square items-center justify-center rounded-m p-0","text-[var(--color-text-secondary)] outline-none transition-all duration-150 ease-in-out","hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]","focus-visible:ring-2 focus-visible:ring-[var(--color-border-focused)]","peer-hover/menu-button:text-[var(--color-text-primary)]","enabled:active:bg-[var(--grey-alpha-100)] enabled:active:translate-y-px","[&>svg]:size-4 [&>svg]:shrink-0","w-6 h-6","top-1","peer-data-[size=s]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1","peer-data-[size=l]/menu-button:top-2.5",r&&["opacity-0 transition-opacity duration-150","group-hover/menu-item:opacity-100","group-focus-within/menu-item:opacity-100","data-[state=open]:opacity-100","peer-data-[active=true]/menu-button:opacity-100","peer-data-[active=true]/menu-button:text-[var(--color-text-primary)]"],"group-data-[collapsible=icon]:hidden",e),...o}));ae.displayName="SidebarMenuAction";const te=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"menu-badge",className:d.cn("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-m px-1 text-xs font-medium tabular-nums text-[var(--color-text-on-action)] select-none pointer-events-none","peer-hover/menu-button:text-[var(--color-text-brand-bold-selected)] peer-data-[active=true]/menu-button:text-[var(--color-text-brand-bold-selected)]","peer-data-[size=s]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=l]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...r}));te.displayName="SidebarMenuBadge";const oe=t.forwardRef(({className:e,showIcon:r=!1,...a},o)=>{const i=t.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return s.jsxs("div",{ref:o,"data-sidebar":"menu-skeleton",className:d.cn("rounded-m h-8 flex gap-2 px-2 items-center",e),...a,children:[r&&s.jsx("div",{className:"rounded-m bg-[var(--color-surface-secondary)] size-4 animate-pulse"}),s.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] bg-[var(--color-surface-secondary)] rounded-m animate-pulse",style:{"--skeleton-width":i}})]})});oe.displayName="SidebarMenuSkeleton";const se=t.forwardRef(({className:e,...r},a)=>s.jsx("ul",{ref:a,"data-sidebar":"menu-sub",className:d.cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-[var(--color-border-primary-subtle)] px-2.5 py-0.5 z-1","group-data-[collapsible=icon]:hidden",e),...r}));se.displayName="SidebarMenuSub";const de=t.forwardRef(({...e},r)=>s.jsx("li",{ref:r,...e}));de.displayName="SidebarMenuSubItem";const le=t.forwardRef(({asChild:e=!1,size:r="m",isActive:a=!1,enhancedHover:o=!0,preserveActiveOnFocus:i=!0,className:l,onMouseEnter:u,onMouseLeave:f,onFocus:p,onBlur:m,onMouseDown:v,...h},y)=>{const j=e?"span":"button",[g,S]=t.useState(!1),[b,N]=t.useState(!1),w=t.useRef(!1),n=t.useCallback(x=>{o&&S(!0),u?.(x)},[o,u]),c=t.useCallback(x=>{o&&S(!1),f?.(x)},[o,f]),C=t.useCallback(x=>{w.current=!0,v?.(x)},[v]),M=t.useCallback(x=>{o&&!w.current&&N(!0),w.current=!1,p?.(x)},[o,p]),_=t.useCallback(x=>{o&&N(!1),m?.(x)},[o,m]),B=t.useMemo(()=>d.cn("relative flex w-full justify-start h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-m px-2 text-[var(--color-text-secondary)] outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 cursor-pointer [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-[var(--color-text-secondary)] z-2",r==="s"&&"text-body-sm px-1.5 py-0.5",r==="m"&&"text-body-md",o&&g&&!b&&!a&&"bg-[var(--color-background-neutral-subtlest-hovered)]",o&&g&&!b&&a&&"bg-[var(--color-background-blue-subtle-selected-hovered)]",o&&b&&!a&&"bg-transparent ring-2 ring-[var(--color-border-brand-bold)]",o&&b&&a&&i&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-md [&]:font-normal","ring-2 ring-[var(--color-border-brand-bold)]"],a&&!b&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-md [&]:font-normal","hover:bg-[var(--color-background-blue-subtle-selected-hovered)]"],!o&&["hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:ring-2 active:bg-[var(--color-background-neutral-subtlest-hovered)] active:text-[var(--color-text-primary)]","data-[active=true]:bg-[var(--color-background-blue-subtle-selected)] data-[active=true]:text-[var(--color-text-brand-bold-selected)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)]"]),[r,o,g,b,a,i]);return s.jsx(j,{ref:y,"data-sidebar":"menu-sub-button","data-size":r,"data-active":a,className:d.cn(B,l),type:e?void 0:"button",onMouseEnter:o?n:u,onMouseLeave:o?c:f,onMouseDown:o?C:v,onFocus:o?M:p,onBlur:o?_:m,...h})});le.displayName="SidebarMenuSubButton";exports.Sidebar=P;exports.SidebarContent=X;exports.SidebarFooter=A;exports.SidebarGroup=Y;exports.SidebarGroupAction=Q;exports.SidebarGroupContent=Z;exports.SidebarGroupLabel=J;exports.SidebarHeader=$;exports.SidebarInput=F;exports.SidebarInset=L;exports.SidebarMenu=H;exports.SidebarMenuAction=ae;exports.SidebarMenuBadge=te;exports.SidebarMenuButton=re;exports.SidebarMenuItem=ee;exports.SidebarMenuSkeleton=oe;exports.SidebarMenuSub=se;exports.SidebarMenuSubButton=le;exports.SidebarMenuSubItem=de;exports.SidebarProvider=G;exports.SidebarRail=K;exports.SidebarSearchButton=V;exports.SidebarSearchTrigger=W;exports.SidebarSeparator=U;exports.SidebarTrigger=q;exports.useSidebar=R;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),ue=require("react"),be=require("class-variance-authority"),pe=require("@radix-ui/react-dialog"),ve=require("@radix-ui/react-tooltip"),d=require("../../lib/utils.cjs"),T=require("./button.cjs"),fe=require("./separator.cjs"),me=require("./icon.cjs"),ge=require("lucide-react");function D(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(r,a,o.get?o:{enumerable:!0,get:()=>e[a]})}}return r.default=e,Object.freeze(r)}const t=D(ue),z=D(pe),I=D(ve),xe="sidebar:state",he=3600*24*7,ye="16rem",Se="18rem",we="3rem",ke="b",O=t.createContext(null);function R(){const e=t.useContext(O);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const G=t.forwardRef(({defaultOpen:e=!0,open:r,onOpenChange:a,className:o,style:i,children:l,...u},f)=>{const[p,m]=t.useState(e),[v,h]=t.useState(!1),[y,j]=t.useState(!1),g=r??p,S=t.useCallback(n=>{const c=typeof n=="function"?n(g):n;a?a(c):m(c),typeof document<"u"&&(document.cookie=`${xe}=${c}; path=/; max-age=${he}`)},[a,g]),b=t.useCallback(()=>y?h(n=>!n):S(n=>!n),[y,S,h]);t.useEffect(()=>{const n=c=>{c.key===ke&&(c.metaKey||c.ctrlKey)&&(c.preventDefault(),b())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[b]),t.useEffect(()=>{const n=()=>{j(window.innerWidth<768)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]);const N=g?"expanded":"collapsed",w=t.useMemo(()=>({state:N,open:g,setOpen:S,isMobile:y,openMobile:v,setOpenMobile:h,toggleSidebar:b}),[N,g,S,y,v,h,b]);return s.jsx(O.Provider,{value:w,children:s.jsx(I.Provider,{delayDuration:0,children:s.jsx("div",{ref:f,style:{"--sidebar-width":ye,"--sidebar-width-icon":we,...i},className:d.cn("group/sidebar-wrapper flex h-svh w-full min-w-0 has-[[data-variant=inset]]:bg-[var(--color-surface-secondary)]",o),...u,children:l})})})});G.displayName="SidebarProvider";const P=t.forwardRef(({variant:e="sidebar",collapsible:r="offcanvas",side:a="left",className:o,children:i,...l},u)=>{const{isMobile:f,state:p,openMobile:m,setOpenMobile:v}=R();return r==="none"?s.jsx("div",{className:d.cn("flex h-full w-[var(--sidebar-width)] flex-col bg-[var(--color-surface-primary)] text-[var(--color-text-primary)]",o),ref:u,...l,children:i}):f?s.jsx(z.Root,{open:m,onOpenChange:v,modal:!1,children:s.jsxs(z.Portal,{children:[s.jsx(z.Overlay,{className:"fixed inset-0 z-40 bg-black/80"}),s.jsx(z.Content,{ref:u,"data-sidebar":"sidebar","data-mobile":"true",className:"fixed inset-y-0 z-50 h-auto w-[var(--sidebar-width-mobile)] bg-[var(--color-surface-primary)] p-0 text-[var(--color-text-primary)] shadow-md transition ease-in-out data-[state=open]:duration-300 data-[state=closed]:duration-200 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",style:{"--sidebar-width":Se},...l,children:s.jsx("div",{className:"flex h-full w-full flex-col",children:i})})]})}):s.jsx("div",{ref:u,className:"group peer hidden md:block text-[var(--color-text-primary)]","data-state":p,"data-collapsible":p==="collapsed"?r:"","data-variant":e,"data-side":a,children:s.jsx("div",{className:d.cn("duration-200 relative h-svh w-[var(--sidebar-width)] bg-[var(--color-surface-primary)] border-r border-[var(--color-border-primary-subtle)] transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]",e==="floating"&&"m-[var(--space-s)] rounded-m border border-[var(--color-border-primary-subtle)] shadow-md",e==="inset"&&"m-[var(--space-s)] ml-0 rounded-r-m border-r border-[var(--color-border-primary-subtle)]",o),...l,children:s.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col",children:i})})})});P.displayName="Sidebar";const q=t.forwardRef(({className:e,onClick:r,...a},o)=>{const{toggleSidebar:i}=R();return s.jsxs(T.Button,{ref:o,"data-sidebar":"trigger",variant:"ghost",size:"s",className:d.cn("h-7 w-7 p-0",e),onClick:l=>{r?.(l),i()},...a,children:[s.jsx(me.Icon,{name:ge.PanelLeft,size:"s"}),s.jsx("span",{className:"sr-only",children:"Toggle sidebar"})]})});q.displayName="SidebarTrigger";const L=t.forwardRef(({className:e,...r},a)=>{const{toggleSidebar:o}=R();return s.jsx("button",{ref:a,"data-sidebar":"rail","aria-label":"Toggle sidebar",tabIndex:-1,onClick:o,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-[var(--color-border-primary)] 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-[var(--color-surface-secondary)]","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...r})});L.displayName="SidebarRail";const K=t.forwardRef(({className:e,...r},a)=>s.jsx("main",{ref:a,className:d.cn("relative flex flex-1 flex-col min-w-0 bg-[var(--color-surface-base)]","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-sm",e),...r}));K.displayName="SidebarInset";const F=t.forwardRef(({className:e,...r},a)=>s.jsx("input",{ref:a,"data-sidebar":"input",className:d.cn("flex h-8 w-full rounded-l border border-[var(--color-interaction-border-input)] bg-[var(--color-surface-primary)] px-[var(--space-m)] py-[var(--space-s)] text-sm text-[var(--color-text-primary)] ring-offset-[var(--color-surface-primary)] file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--color-text-tertiary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focused)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...r}));F.displayName="SidebarInput";const V=t.forwardRef(({className:e,children:r,onOpenChange:a,shortcuts:o=["⌘","K"],...i},l)=>s.jsxs("button",{ref:l,"data-sidebar":"search-button",className:d.cn("text-body-md flex h-8 w-full cursor-pointer items-center rounded-m border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] px-3 py-1 pr-20 pl-8 text-left text-[var(--color-text-tertiary)] transition-colors hover:border-[var(--color-border-primary-medium)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)] focus:ring-offset-2 focus:outline-none active:border-[var(--color-border-primary-medium)] group-data-[collapsible=icon]:hidden",e),onClick:()=>a?.(!0),...i,children:[r||"Search",s.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 gap-1",children:o.map((u,f)=>s.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-secondary)] px-1.5 font-mono text-[10px] font-medium text-[var(--color-text-tertiary)] opacity-100",children:u},f))})]}));V.displayName="SidebarSearchButton";const W=t.forwardRef(({className:e,onOpenChange:r,shortcuts:a=["⌘","K"],...o},i)=>s.jsx("button",{ref:i,"data-sidebar":"search-trigger",className:d.cn("hidden h-8 w-8 cursor-pointer items-center justify-center rounded border border-[var(--color-border-primary-subtle)] bg-transparent transition-all duration-200 group-data-[collapsible=icon]:flex hover:border-[var(--color-border-primary-medium)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)] focus:ring-offset-2 focus:outline-none active:border-[var(--color-border-primary-medium)]",e),onClick:()=>r?.(!0),"aria-label":"Search",...o}));W.displayName="SidebarSearchTrigger";const $=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"header",className:d.cn("flex flex-col gap-[var(--space-s)] p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));$.displayName="SidebarHeader";const A=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"footer",className:d.cn("flex flex-col gap-[var(--space-s)] p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));A.displayName="SidebarFooter";const U=t.forwardRef(({className:e,...r},a)=>s.jsx(fe.Separator,{ref:a,"data-sidebar":"separator",className:d.cn("mx-2 w-auto bg-[var(--color-border-primary-subtle)]",e),...r}));U.displayName="SidebarSeparator";const X=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"content",className:d.cn("flex min-h-0 flex-1 flex-col overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",e),...r}));X.displayName="SidebarContent";const Y=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"group",className:d.cn("relative flex w-full min-w-0 flex-col p-[var(--space-m)] group-data-[collapsible=icon]:p-[var(--space-s)]",e),...r}));Y.displayName="SidebarGroup";const J=t.forwardRef(({className:e,asChild:r=!1,...a},o)=>s.jsx("div",{ref:o,"data-sidebar":"group-label",className:d.cn("duration-200 flex h-8 shrink-0 items-center rounded-m px-2 [&]:text-body-medium-sm text-[var(--color-text-tertiary)] outline-none ring-[var(--color-border-focused)] transition-opacity ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...a}));J.displayName="SidebarGroupLabel";const Q=t.forwardRef(({className:e,asChild:r=!1,...a},o)=>s.jsx("button",{ref:o,"data-sidebar":"group-action",className:d.cn("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-m p-0 text-[var(--color-text-secondary)] outline-none ring-[var(--color-border-focused)] transition-transform hover:bg-[var(--color-background-neutral-subtlest)] focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...a}));Q.displayName="SidebarGroupAction";const Z=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"group-content",className:d.cn("w-full text-sm",e),...r}));Z.displayName="SidebarGroupContent";const H=t.forwardRef(({className:e,...r},a)=>s.jsx("ul",{ref:a,"data-sidebar":"menu",className:d.cn("flex w-full min-w-0 flex-col gap-[var(--space-s)]",e),...r}));H.displayName="SidebarMenu";const ee=t.forwardRef(({className:e,...r},a)=>s.jsx("li",{ref:a,"data-sidebar":"menu-item",className:d.cn("group/menu-item relative",e),...r}));ee.displayName="SidebarMenuItem";const Ne=be.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-m px-2 py-1.5 text-left text-body-medium-md outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out focus-visible:ring-2 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-[var(--color-background-blue-subtle-selected)] data-[active=true]:text-[var(--color-text-brand-bold-selected)] data-[state=open]:bg-[var(--color-surface-secondary)] group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 data-[active=true]:[&>svg]:text-[var(--color-text-brand-bold-selected)] cursor-pointer",{variants:{variant:{default:"hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)] active:bg-[var(--color-background-neutral-subtlest-hovered)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:hover:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[active=true]:active:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[state=open]:hover:bg-[var(--color-background-neutral-subtlest-hovered)]",outline:"bg-[var(--color-surface-primary)] border border-[var(--color-border-primary-subtle)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)] active:bg-[var(--color-background-neutral-subtlest-hovered)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:hover:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)] data-[active=true]:active:[&>svg]:!text-[var(--color-icon-brand-bold-hovered)]"},size:{default:"h-8",s:"h-7 text-body-sm py-1",l:"h-12 py-3 text-body-lg group-data-[collapsible=icon]:!size-8"}},defaultVariants:{variant:"default",size:"default"}}),re=t.forwardRef(({asChild:e=!1,isActive:r=!1,variant:a="enhanced",size:o="default",tooltip:i,enhancedHover:l=!0,preserveActiveOnFocus:u=!0,className:f,onMouseEnter:p,onMouseLeave:m,onFocus:v,onBlur:h,onMouseDown:y,...j},g)=>{const S=e?"span":"button",{isMobile:b,state:N}=R(),[w,n]=t.useState(!1),[c,C]=t.useState(!1),M=t.useRef(!1),_=t.useCallback(k=>{l&&n(!0),p?.(k)},[l,p]),B=t.useCallback(k=>{l&&n(!1),m?.(k)},[l,m]),x=t.useCallback(k=>{M.current=!0,y?.(k)},[y]),ie=t.useCallback(k=>{l&&!M.current&&C(!0),M.current=!1,v?.(k)},[l,v]),ne=t.useCallback(k=>{l&&C(!1),h?.(k)},[l,h]),ce=t.useMemo(()=>a!=="enhanced"?Ne({variant:"default",size:o}):d.cn("relative peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-m px-2 py-1.5 text-left text-body-medium-md outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out focus-visible:ring-2 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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 cursor-pointer z-2",o==="s"&&"h-7 text-body-sm py-1",o==="default"&&"h-8",o==="l"&&"h-12 py-3 text-body-lg group-data-[collapsible=icon]:!size-8",w&&!c&&!r&&"bg-[var(--color-background-neutral-subtlest-hovered)]",w&&!c&&r&&["bg-[var(--color-background-blue-subtle-selected-hovered)]","[&>svg]:text-[var(--color-icon-brand-bold-hovered)]"],c&&!r&&"bg-transparent ring-2 ring-[var(--color-border-brand-bold)]",c&&r&&u&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-medium-md [&]:font-normal","ring-2 ring-[var(--color-border-brand-bold)]","[&>svg]:text-[var(--color-text-brand-bold)]"],r&&!c&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-medium-md [&]:font-normal","[&>svg]:text-[var(--color-text-brand-bold)]","hover:bg-[var(--color-background-blue-subtle-selected-hovered)]","hover:[&>svg]:text-[var(--color-icon-brand-bold-hovered)]"],"data-[state=open]:bg-[var(--color-surface-secondary)]","group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2"),[a,o,w,c,r,u]),E=s.jsx(S,{ref:g,"data-sidebar":"menu-button","data-size":o,"data-active":r,className:d.cn(ce,f),onMouseEnter:l?_:p,onMouseLeave:l?B:m,onMouseDown:l?x:y,onFocus:l?ie:v,onBlur:l?ne:h,...j});return i?(typeof i=="string"&&(i={children:i}),s.jsxs(I.Root,{children:[s.jsx(I.Trigger,{asChild:!0,children:E}),s.jsx(I.Content,{side:"right",align:"center",hidden:N!=="collapsed"||b,className:"z-50 overflow-hidden rounded-m bg-[var(--color-surface-primary)] px-3 py-1.5 text-xs text-[var(--color-text-primary)] border border-[var(--color-border-primary-subtle)] shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",...i})]})):E});re.displayName="SidebarMenuButton";const ae=t.forwardRef(({className:e,showOnHover:r=!1,size:a="m",...o},i)=>s.jsx(T.Button,{ref:i,"data-sidebar":"menu-action",variant:"ghost",size:"s",className:d.cn("absolute right-1 flex aspect-square items-center justify-center rounded-m p-0","text-[var(--color-text-secondary)] outline-none transition-all duration-150 ease-in-out","hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)]","focus-visible:ring-2 focus-visible:ring-[var(--color-border-focused)]","peer-hover/menu-button:text-[var(--color-text-primary)]","enabled:active:bg-[var(--grey-alpha-100)] enabled:active:translate-y-px","[&>svg]:size-4 [&>svg]:shrink-0","w-6 h-6","top-1","peer-data-[size=s]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1","peer-data-[size=l]/menu-button:top-2.5",r&&["opacity-0 transition-opacity duration-150","group-hover/menu-item:opacity-100","group-focus-within/menu-item:opacity-100","data-[state=open]:opacity-100","peer-data-[active=true]/menu-button:opacity-100","peer-data-[active=true]/menu-button:text-[var(--color-text-primary)]"],"group-data-[collapsible=icon]:hidden",e),...o}));ae.displayName="SidebarMenuAction";const te=t.forwardRef(({className:e,...r},a)=>s.jsx("div",{ref:a,"data-sidebar":"menu-badge",className:d.cn("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-m px-1 text-xs font-medium tabular-nums text-[var(--color-text-on-action)] select-none pointer-events-none","peer-hover/menu-button:text-[var(--color-text-brand-bold-selected)] peer-data-[active=true]/menu-button:text-[var(--color-text-brand-bold-selected)]","peer-data-[size=s]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=l]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...r}));te.displayName="SidebarMenuBadge";const oe=t.forwardRef(({className:e,showIcon:r=!1,...a},o)=>{const i=t.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return s.jsxs("div",{ref:o,"data-sidebar":"menu-skeleton",className:d.cn("rounded-m h-8 flex gap-2 px-2 items-center",e),...a,children:[r&&s.jsx("div",{className:"rounded-m bg-[var(--color-surface-secondary)] size-4 animate-pulse"}),s.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] bg-[var(--color-surface-secondary)] rounded-m animate-pulse",style:{"--skeleton-width":i}})]})});oe.displayName="SidebarMenuSkeleton";const se=t.forwardRef(({className:e,...r},a)=>s.jsx("ul",{ref:a,"data-sidebar":"menu-sub",className:d.cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-[var(--color-border-primary-subtle)] px-2.5 py-0.5 z-1","group-data-[collapsible=icon]:hidden",e),...r}));se.displayName="SidebarMenuSub";const de=t.forwardRef(({...e},r)=>s.jsx("li",{ref:r,...e}));de.displayName="SidebarMenuSubItem";const le=t.forwardRef(({asChild:e=!1,size:r="m",isActive:a=!1,enhancedHover:o=!0,preserveActiveOnFocus:i=!0,className:l,onMouseEnter:u,onMouseLeave:f,onFocus:p,onBlur:m,onMouseDown:v,...h},y)=>{const j=e?"span":"button",[g,S]=t.useState(!1),[b,N]=t.useState(!1),w=t.useRef(!1),n=t.useCallback(x=>{o&&S(!0),u?.(x)},[o,u]),c=t.useCallback(x=>{o&&S(!1),f?.(x)},[o,f]),C=t.useCallback(x=>{w.current=!0,v?.(x)},[v]),M=t.useCallback(x=>{o&&!w.current&&N(!0),w.current=!1,p?.(x)},[o,p]),_=t.useCallback(x=>{o&&N(!1),m?.(x)},[o,m]),B=t.useMemo(()=>d.cn("relative flex w-full justify-start h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-m px-2 text-[var(--color-text-secondary)] outline-none ring-[var(--color-border-focused)] transition-all duration-150 ease-in-out disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 cursor-pointer [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-[var(--color-text-secondary)] z-2",r==="s"&&"text-body-sm px-1.5 py-0.5",r==="m"&&"text-body-md",o&&g&&!b&&!a&&"bg-[var(--color-background-neutral-subtlest-hovered)]",o&&g&&!b&&a&&"bg-[var(--color-background-blue-subtle-selected-hovered)]",o&&b&&!a&&"bg-transparent ring-2 ring-[var(--color-border-brand-bold)]",o&&b&&a&&i&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-md [&]:font-normal","ring-2 ring-[var(--color-border-brand-bold)]"],a&&!b&&["bg-[var(--color-background-blue-subtle-selected)]","text-[var(--color-text-brand-bold)]","[&]:text-body-md [&]:font-normal","hover:bg-[var(--color-background-blue-subtle-selected-hovered)]"],!o&&["hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:text-[var(--color-text-primary)] focus-visible:ring-2 active:bg-[var(--color-background-neutral-subtlest-hovered)] active:text-[var(--color-text-primary)]","data-[active=true]:bg-[var(--color-background-blue-subtle-selected)] data-[active=true]:text-[var(--color-text-brand-bold-selected)] data-[active=true]:hover:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:hover:!text-[var(--color-text-brand-bold-hovered)] data-[active=true]:active:!bg-[var(--color-background-blue-subtle-selected-hovered)] data-[active=true]:active:!text-[var(--color-text-brand-bold-hovered)]"]),[r,o,g,b,a,i]);return s.jsx(j,{ref:y,"data-sidebar":"menu-sub-button","data-size":r,"data-active":a,className:d.cn(B,l),type:e?void 0:"button",onMouseEnter:o?n:u,onMouseLeave:o?c:f,onMouseDown:o?C:v,onFocus:o?M:p,onBlur:o?_:m,...h})});le.displayName="SidebarMenuSubButton";exports.Sidebar=P;exports.SidebarContent=X;exports.SidebarFooter=A;exports.SidebarGroup=Y;exports.SidebarGroupAction=Q;exports.SidebarGroupContent=Z;exports.SidebarGroupLabel=J;exports.SidebarHeader=$;exports.SidebarInput=F;exports.SidebarInset=K;exports.SidebarMenu=H;exports.SidebarMenuAction=ae;exports.SidebarMenuBadge=te;exports.SidebarMenuButton=re;exports.SidebarMenuItem=ee;exports.SidebarMenuSkeleton=oe;exports.SidebarMenuSub=se;exports.SidebarMenuSubButton=le;exports.SidebarMenuSubItem=de;exports.SidebarProvider=G;exports.SidebarRail=L;exports.SidebarSearchButton=V;exports.SidebarSearchTrigger=W;exports.SidebarSeparator=U;exports.SidebarTrigger=q;exports.useSidebar=R;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),l=require("sonner"),r=require("../../lib/utils.cjs"),n=require("./spinner.cjs"),i=require("./icon.cjs"),c=require("lucide-react"),a=({name:e,color:t,blurColor:s})=>o.jsxs("div",{className:"relative",children:[s&&o.jsx("div",{className:"absolute inset-0 w-[20px] h-[20px] rounded-full -z-10",style:{backgroundColor:s,filter:"blur(40px)"}}),o.jsx(i.Icon,{name:e,size:"m",className:t})]}),d=({className:e,...t})=>o.jsx(l.Toaster,{className:r.cn("toaster group",e),icons:{loading:o.jsx(n.Spinner,{size:"m",variant:"primary",className:"mt-1"}),success:o.jsx(a,{name:c.CircleCheck,color:"text-[var(--color-icon-success-bold)]",blurColor:"#1C741F"}),error:o.jsx(a,{name:c.TriangleAlert,color:"text-[var(--color-icon-error-bold)]",blurColor:"#D9493E"}),warning:o.jsx(a,{name:c.CircleAlert,color:"text-[var(--color-icon-warning-bold)]",blurColor:"#E57F19"}),info:null},toastOptions:{classNames:{toast:r.cn("group toast","w-[535px] max-w-[calc(100vw-2rem)] p-[var(--space-l)]","bg-[var(--color-surface-primary)]","!border !border-[var(--color-border-primary-medium)] !border-solid","rounded-m","shadow-lg","overflow-hidden","flex items-start gap-[var(--space-l)]","text-[var(--color-text-primary)]"),title:"text-heading-sm text-[var(--color-text-primary)]",description:"text-body-md text-[var(--color-text-primary)] flex-1 min-w-0",icon:"self-start mt-1",actionButton:r.cn("h-[var(--size-m)] px-[var(--space-m)]","rounded-s","text-label-md","bg-[var(--color-background-blue-bold)]","text-[var(--color-text-on-action)]","hover:bg-[var(--color-background-blue-bold-hovered)]","focus:ring-2 focus:ring-[var(--color-border-focused)]"),cancelButton:r.cn("h-[var(--size-m)] px-[var(--space-m)]","rounded-s","text-label-md","bg-[var(--color-background-neutral-subtlest)]","text-[var(--color-text-secondary)]","border border-[var(--color-border-action-outline)]","hover:bg-[var(--color-background-neutral-subtlest-hovered)]","hover:border-[var(--color-border-action-outline-hovered)]","focus:ring-2 focus:ring-[var(--color-border-focused)]"),closeButton:r.cn("w-[20px] h-[20px]","text-[var(--color-icon-tertiary)]","hover:text-[var(--color-icon-tertiary-hovered)]"),success:r.cn("[&_svg]:text-[var(--color-icon-success-bold)]"),error:r.cn("[&_svg]:text-[var(--color-icon-error-bold)]"),warning:r.cn("[&_svg]:text-[var(--color-icon-warning-bold)]")}},...t});Object.defineProperty(exports,"toast",{enumerable:!0,get:()=>l.toast});exports.Toaster=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),T=require("react"),f=require("lucide-react"),u=require("../../lib/utils.cjs"),P=require("./button.cjs");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),T=require("react"),f=require("lucide-react"),u=require("../../lib/utils.cjs"),P=require("./button.cjs");function R(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const c=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(o,s,c.get?c:{enumerable:!0,get:()=>e[s]})}}return o.default=e,Object.freeze(o)}const t=R(T),m=t.createContext(null),E=()=>{const e=t.useContext(m);if(!e)throw new Error("useTree must be used within a TreeProvider");return e},k=t.forwardRef(({item:e,level:o},s)=>{const{selectedItemId:c,expandedItems:a,handleExpand:h,handleSelect:y,defaultNodeIcon:x,defaultLeafIcon:p}=E(),d=a.has(e.id),b=c===e.id,l=e.children&&e.children.length>0,i=b&&!l,v=t.useMemo(()=>e.disabled?p||f.FileIcon:b&&e.selectedIcon?e.selectedIcon:l?d&&e.openIcon?e.openIcon:e.icon||x||f.FolderIcon:e.icon||p||f.FileIcon,[e.disabled,e.selectedIcon,e.openIcon,e.icon,b,l,d,x,p]),j=()=>{e.disabled||(l&&h(e.id),y(e),e.onClick?.())},w=n=>{n.stopPropagation(),l&&!e.disabled&&h(e.id)};return r.jsxs("div",{ref:s,className:"relative",children:[r.jsxs("div",{className:u.cn("flex items-center gap-1 rounded-s py-1 pr-1 cursor-pointer transition-colors","hover:bg-[var(--color-background-neutral-subtlest-hovered)]",i&&"bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)]",e.disabled&&"opacity-50 cursor-not-allowed"),style:{paddingLeft:`${o*16+8}px`},onClick:j,children:[l?r.jsx(P.Button,{variant:"ghost",size:"s",className:"h-4 w-4 p-0 opacity-50 hover:opacity-100",onClick:w,disabled:e.disabled,children:r.jsx(f.ChevronRightIcon,{className:u.cn("h-3 w-3 transition-transform duration-200",d&&"transform rotate-90")})}):r.jsx("div",{className:"h-4 w-4"}),r.jsx(v,{className:u.cn("h-4 w-4 shrink-0",i&&"text-[var(--color-icon-brand-bold-selected)]")}),r.jsx("span",{className:u.cn("flex-1 truncate",i?"text-body-strong-sm":"text-body-sm"),children:r.jsx("span",{className:u.cn(i&&"text-[var(--color-text-brand-bold-selected)]"),children:e.name})}),e.actions&&r.jsx("div",{className:"flex items-center gap-1",onClick:n=>n.stopPropagation(),children:e.actions})]}),l&&d&&r.jsx("div",{children:e.children?.map(n=>r.jsx(k,{item:n,level:o+1},n.id))})]})});k.displayName="TreeItem";const C=t.forwardRef(({data:e,initialSelectedItemId:o,onSelectChange:s,expandAll:c=!1,defaultNodeIcon:a=f.FolderIcon,defaultLeafIcon:h=f.FileIcon,className:y,...x},p)=>{const[d,b]=t.useState(o),[l,g]=t.useState(new Set(c?N(Array.isArray(e)?e:[e]):[]));t.useEffect(()=>{c&&g(new Set(N(Array.isArray(e)?e:[e])))},[e,c]);const i=t.useCallback(n=>{g(S=>{const I=new Set(S);return I.has(n)?I.delete(n):I.add(n),I})},[]),v=t.useCallback(n=>{n.disabled||(b(n.id),s?.(n))},[s]),j=t.useMemo(()=>({selectedItemId:d,expandedItems:l,handleExpand:i,handleSelect:v,onSelectChange:s,defaultNodeIcon:a,defaultLeafIcon:h}),[d,l,i,v,s,a,h]),w=Array.isArray(e)?e:[e];return r.jsx(m.Provider,{value:j,children:r.jsx("div",{ref:p,className:u.cn("space-y-1",y),...x,children:w.map(n=>r.jsx(k,{item:n,level:0},n.id))})})});C.displayName="Tree";function N(e){const o=[];function s(c){for(const a of c)o.push(a.id),a.children&&s(a.children)}return s(e),o}exports.Tree=C;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),D=require("react"),t=require("../fundamental/sidebar.cjs"),H=require("../fundamental/button.cjs"),d=require("../fundamental/icon.cjs"),p=require("../fundamental/avatar.cjs"),I=require("../fundamental/separator.cjs"),N=require("../fundamental/kbd.cjs"),o=require("../fundamental/dropdown-menu.cjs"),c=require("../fundamental/tooltip.cjs"),m=require("../fundamental/command.cjs");function E(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const h in n)if(h!=="default"){const l=Object.getOwnPropertyDescriptor(n,h);Object.defineProperty(i,h,l.get?l:{enumerable:!0,get:()=>n[h]})}}return i.default=n,Object.freeze(i)}const f=E(D),F={name:"John Doe",email:"john@example.com",avatarUrl:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=32&h=32&fit=crop&crop=face"},O=[{name:"Acme Corp",role:"Admin",plan:"Enterprise",avatarUrl:"https://useful-toucan-91.convex.cloud/api/storage/5e36a31d-3f0a-4bb0-95db-f5b1c8e8af93"},{name:"Startup Inc",role:"Member",plan:"Pro",avatarUrl:"https://useful-toucan-91.convex.cloud/api/storage/5e36a31d-3f0a-4bb0-95db-f5b1c8e8af93"}],B={main:[{title:"Home",icon:"house",url:"/home",isActive:!1},{title:"Boards",icon:"layout-dashboard",url:"/boards",isActive:!1}],operations:[{title:"Voyage economics",icon:"ship",url:"/freight-planner",isActive:!1,items:[]},{title:"Trade desk",icon:"trending-up",url:"/trade-desk",isActive:!1,items:[]},{title:"Agreements",icon:"scroll-text",url:"/agreements",isActive:!0,items:[{title:"Recaps",url:"/agreements/recaps",isActive:!0},{title:"Contracts",url:"/agreements/contracts",isActive:!1},{title:"Clause library",url:"/agreements/clause-library",isActive:!1}]},{title:"Compliance",icon:"shield-check",url:"/compliance",isActive:!1,items:[]}],intelligence:[{title:"Global market",icon:"globe",url:"/global-market",isActive:!1,items:[{title:"Supply",url:"/global-market/supply",isActive:!1},{title:"Commodities",url:"/global-market/commodities",isActive:!1},{title:"Freight",url:"/global-market/freight",isActive:!1}]},{title:"Assets",icon:"container",url:"/assets",isActive:!1,items:[{title:"Vessels",url:"/assets/vessels",isActive:!1},{title:"Fleets",url:"/assets/fleets",isActive:!1},{title:"Ports",url:"/assets/ports",isActive:!1},{title:"Canals",url:"/assets/canals",isActive:!1}]},{title:"Fixtures",icon:"anchor",url:"/fixtures",isActive:!1}],support:[{title:"Notifications",icon:"bell",url:"/notifications",isActive:!1},{title:"Help & support",icon:"circle-help",url:"/help-support",isActive:!1}]},z=n=>n.split(" ").filter(Boolean).map(i=>i[0]).join("").slice(0,2).toUpperCase(),M=n=>n.split(" ").filter(Boolean).map(i=>i[0]).join("").slice(0,2).toUpperCase(),A=()=>typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent);function L(n){const i={};return[...n.main||[],...n.operations||[],...n.intelligence||[],...n.support||[]].forEach(l=>{if(l.items&&l.items.length>0){const b=l.items.some(j=>j.isActive);i[l.title]=b}}),i}function U({navigationData:n,user:i,teams:h,onNavigate:l,navigationMode:b,onNavigationModeChange:j}){const[g,u]=f.useState(!1),[C,S]=f.useState(""),[v,a]=f.useState(()=>L(n)),[x,y]=f.useState(h[0]),T=r=>{a(s=>({...s,[r]:!s[r]}))},V=r=>r.items&&r.items.some(s=>s.isActive),k=r=>{if(r.items&&r.items.length>0){const s=r.items.find(w=>w.isActive);if(s)return`${r.title} → ${s.title}`}return r.title};return f.useEffect(()=>{const r=s=>{s.key==="k"&&(s.metaKey||s.ctrlKey)&&(s.preventDefault(),u(w=>!w))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),f.useEffect(()=>{a(L(n))},[n]),e.jsxs(c.TooltipProvider,{delayDuration:100,children:[e.jsxs(t.Sidebar,{variant:"sidebar",collapsible:"icon",className:"flex h-full flex-col",children:[e.jsx(t.SidebarHeader,{className:"sticky top-0 z-10 h-12 border-b border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:px-2 box-border",children:e.jsx("div",{className:"flex h-[22px] w-7 items-center justify-center",children:e.jsx("svg",{width:"28",height:"22",viewBox:"0 0 28 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M4.39355 0.688477C6.89528 0.688477 8.12094 1.67409 8.12109 3.74609V7.69043H5.5332V2.87695H3.28711V8.03125L8.12109 11.458V18.2705C8.12109 20.3262 6.92916 21.3125 4.39355 21.3125C1.85827 21.3124 0.701172 20.3261 0.701172 18.2705L0.700195 13.7412H3.28711V19.1396H5.5332V12.6777L0.701172 9.23438V3.74609C0.701322 1.67422 1.89214 0.688597 4.39355 0.688477ZM13.8379 0.6875C16.4752 0.687615 17.6152 1.67395 17.6152 3.74609V10.5312L12.6113 13.7236V19.123H15.0273V14.3096H17.6143V18.2705C17.6143 20.3262 16.4235 21.3125 13.8027 21.3125C11.1821 21.3125 10.0244 20.3262 10.0244 18.2705V3.74609H10.0254C10.0254 1.67382 11.2003 0.6875 13.8379 0.6875ZM23.333 0.6875C25.9537 0.6875 27.1113 1.67378 27.1113 3.72949V18.2539H27.1104C27.1104 20.3261 25.9363 21.3125 23.2988 21.3125C20.6612 21.3125 19.5205 20.3262 19.5205 18.2539V11.4688L24.5254 8.27637V2.87695H22.1084V7.69043H19.5215V3.72949C19.5215 1.67384 20.7124 0.687556 23.333 0.6875ZM22.1084 12.2197V19.1396H24.5254V10.5986L22.1084 12.2197ZM12.6113 11.4014L15.0273 9.78027V2.86035H12.6113V11.4014Z",fill:"#005F85"})})})}),e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto group-data-[collapsible=icon]:overflow-hidden","data-sidebar":"content",children:[e.jsx("div",{className:"p-[var(--space-m)] pt-[var(--space-s)] group-data-[collapsible=icon]:px-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute top-1/2 left-2 -translate-y-1/2 group-data-[collapsible=icon]:hidden",children:e.jsx(d.Icon,{name:"search",size:"m",color:"tertiary"})}),e.jsxs("div",{className:"group-data-[collapsible=icon]:hidden",children:[e.jsx("button",{onClick:()=>u(!0),className:"text-body-md flex h-8 w-full cursor-pointer items-center rounded-m border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] px-3 py-1 pr-20 pl-8 text-left text-[var(--color-text-tertiary)] transition-colors hover:border-[var(--color-border-primary-medium)] hover:!bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)]/20 focus:ring-offset-0 focus:outline-none active:border-[var(--color-border-primary-medium)]",children:"Search"}),e.jsxs("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 gap-1",children:[e.jsx(N.Kbd,{size:"s",children:A()?"⌘":"Ctrl"}),e.jsx(N.Kbd,{size:"s",children:"K"})]})]}),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx("button",{onClick:()=>u(!0),className:"hidden h-8 w-8 cursor-pointer items-center justify-center rounded border border-[var(--color-border-primary-subtle)] bg-transparent transition-all duration-200 group-data-[collapsible=icon]:flex hover:border-[var(--color-border-primary-medium)] hover:!bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)]/20 focus:ring-offset-0 focus:outline-none active:border-[var(--color-border-primary-medium)]","aria-label":"Search",children:e.jsx(d.Icon,{name:"search",size:"m",color:"tertiary"})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:"Search"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(N.Kbd,{size:"s",variant:"dark",children:A()?"⌘":"Ctrl"}),e.jsx(N.Kbd,{size:"s",variant:"dark",children:"K"})]})]})})]})]})}),e.jsx(t.SidebarGroup,{className:"pb-1 mt-1 p-[var(--space-s)]",children:e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.main.map(r=>e.jsx(t.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]})},r.title))})})}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(I.Separator,{layout:"vertical"})}),e.jsxs(t.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(t.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Operations"}),e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.operations.map(r=>e.jsx(t.SidebarMenuItem,{children:r.items&&r.items.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"group-data-[collapsible=icon]:hidden",children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>T(r.title),children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(d.Icon,{name:"chevron-right",size:"s",className:`ml-auto transition-transform ${v[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&v[r.title]&&e.jsx(t.SidebarMenuSub,{children:r.items.map(s=>e.jsx(t.SidebarMenuSubItem,{children:e.jsx(t.SidebarMenuSubButton,{isActive:s.isActive,onClick:w=>{l&&(w.preventDefault(),l(s.url))},children:e.jsx("span",{children:s.title})})},s.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(o.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarMenuButton,{isActive:V(r),className:"w-full justify-center",children:e.jsx(d.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]}),e.jsxs(o.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(o.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(o.DropdownMenuSeparator,{}),r.items.map(s=>e.jsx(o.DropdownMenuItem,{className:s.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{l&&l(s.url)},children:s.title},s.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]})},r.title))})})]}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(I.Separator,{layout:"vertical"})}),e.jsxs(t.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(t.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Intelligence"}),e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.intelligence.map(r=>e.jsx(t.SidebarMenuItem,{children:r.items&&r.items.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"group-data-[collapsible=icon]:hidden",children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>T(r.title),children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(d.Icon,{name:"chevron-right",size:"s",className:`ml-auto transition-transform ${v[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&v[r.title]&&e.jsx(t.SidebarMenuSub,{children:r.items.map(s=>e.jsx(t.SidebarMenuSubItem,{children:e.jsx(t.SidebarMenuSubButton,{isActive:s.isActive,onClick:w=>{l&&(w.preventDefault(),l(s.url))},children:e.jsx("span",{children:s.title})})},s.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(o.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarMenuButton,{isActive:V(r),className:"w-full justify-center",children:e.jsx(d.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]}),e.jsxs(o.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(o.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(o.DropdownMenuSeparator,{}),r.items.map(s=>e.jsx(o.DropdownMenuItem,{className:s.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{l&&l(s.url)},children:s.title},s.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]})},r.title))})})]}),e.jsx(t.SidebarGroup,{className:"pb-2 p-[var(--space-s)] mt-auto",children:e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.support.map(r=>e.jsx(t.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:k(r)})]})},r.title))})})})]}),e.jsx(t.SidebarFooter,{className:"sticky bottom-0 z-10 border-t border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] group-data-[collapsible=icon]:px-2 group-data-[collapsible=icon]:py-2",children:e.jsx("div",{className:"group/user-menu rounded-m border border-[var(--color-border-primary-subtle)] transition-colors hover:border-[var(--color-border-primary-medium)] group-data-[collapsible=icon]:rounded-none group-data-[collapsible=icon]:border-none",children:e.jsxs(o.DropdownMenu,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(H.Button,{variant:"ghost",className:"h-auto min-h-[56px] w-full justify-start rounded-m px-3 py-2 hover:!bg-[var(--color-background-neutral-subtlest-hovered)] group-data-[collapsible=icon]:h-8 group-data-[collapsible=icon]:min-h-0 group-data-[collapsible=icon]:w-8 group-data-[collapsible=icon]:p-0",children:[e.jsxs("div",{className:"flex w-full items-center gap-3 group-data-[collapsible=icon]:hidden",children:[e.jsxs("div",{className:"relative flex-shrink-0",children:[e.jsxs(p.Avatar,{size:"m",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"m",type:"user",children:z(i.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[4px] border-2 border-white p-0",children:e.jsxs(p.Avatar,{size:"xxs",type:"organization",children:[e.jsx(p.AvatarImage,{src:x.avatarUrl,alt:x.name}),e.jsx(p.AvatarFallback,{size:"xxs",type:"organization",children:M(x.name)})]})})]}),e.jsxs("div",{className:"min-w-0 flex-1 text-left",children:[e.jsx("div",{className:"text-body-medium-sm truncate font-medium text-[var(--color-text-primary)]",children:i.name}),e.jsxs("div",{className:"text-body-xsm text-[var(--color-text-secondary)]",children:[x.role," at ",x.name]})]}),e.jsx(d.Icon,{name:"chevron-down",size:"m",className:"opacity-50"})]}),e.jsxs("div",{className:"relative hidden group-data-[collapsible=icon]:block",children:[e.jsxs(p.Avatar,{size:"s",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"s",type:"user",children:z(i.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[2px] border-2 border-white bg-[var(--color-surface-primary)]",children:e.jsxs(p.Avatar,{size:"xxs",type:"organization",children:[e.jsx(p.AvatarImage,{src:x.avatarUrl,alt:x.name}),e.jsx(p.AvatarFallback,{size:"xxs",type:"organization",children:M(x.name)})]})})]})]})}),e.jsxs(o.DropdownMenuContent,{className:"w-[--radix-dropdown-menu-trigger-width]",align:"start",side:"top",sideOffset:4,children:[e.jsx(o.DropdownMenuLabel,{className:"p-0 font-normal",children:e.jsxs("div",{className:"flex items-center gap-3 px-2 py-2",children:[e.jsxs(p.Avatar,{size:"s",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"s",type:"user",children:z(i.name)})]}),e.jsxs("div",{className:"grid flex-1 text-left",children:[e.jsx("span",{className:"text-body-medium-sm truncate font-semibold text-[var(--color-text-primary)]",children:i.name}),e.jsx("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:i.email})]})]})}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Organizations"}),h.map(r=>e.jsxs(o.DropdownMenuItem,{onSelect:()=>y(r),className:"mx-1 mb-1 h-10 cursor-pointer gap-2 px-1 pr-2 pl-1",children:[e.jsxs(p.Avatar,{size:"s",type:"organization",children:[e.jsx(p.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(p.AvatarFallback,{size:"s",type:"organization",children:M(r.name)})]}),e.jsxs("div",{className:"flex flex-1 flex-col text-left",children:[e.jsx("span",{className:"text-body-medium-sm truncate font-semibold text-[var(--color-text-primary)]",children:r.name}),e.jsxs("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:[r.role," • ",r.plan," plan"]})]}),x.name===r.name&&e.jsx(d.Icon,{name:"check",size:"m",className:"text-[var(--color-icon-brand-bold)]"})]},r.name)),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Navigation"}),e.jsxs(o.DropdownMenuItem,{className:"mx-1 mb-0.5 cursor-pointer gap-2 px-2",onSelect:()=>j("sidebar"),children:[e.jsx("span",{className:"flex-1",children:"New sidebar navigation"}),b==="sidebar"&&e.jsx(d.Icon,{name:"check",size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsxs(o.DropdownMenuItem,{className:"mx-1 mb-1 cursor-pointer gap-2 px-2",onSelect:()=>j("horizontal"),children:[e.jsx("span",{className:"flex-1",children:"Old horizontal menu"}),b==="horizontal"&&e.jsx(d.Icon,{name:"check",size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuItem,{icon:"user",className:"cursor-pointer",onSelect:()=>{l&&l("/user/profile")},children:"User profile"}),e.jsx(o.DropdownMenuItem,{icon:"settings",className:"cursor-pointer",onSelect:()=>{l&&l("/organization/settings")},children:"Organization settings"}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuItem,{icon:"log-out",destructive:!0,className:"cursor-pointer",onSelect:()=>{l&&l("/auth/sign-out")},children:"Sign out"})]})]})})}),e.jsx(t.SidebarRail,{})]}),e.jsxs(m.CommandDialog,{open:g,onOpenChange:u,children:[e.jsx(m.CommandInput,{placeholder:"Type a command or search...",value:C,onValueChange:S,clearable:!1}),e.jsxs(m.CommandList,{children:[e.jsx(m.CommandEmpty,{children:"No results found."}),e.jsxs(m.CommandGroup,{heading:"Quick actions",children:[e.jsxs(m.CommandItem,{onSelect:()=>console.log("Reload"),children:[e.jsx(d.Icon,{name:"rotate-ccw",size:"s",className:"mr-2"}),e.jsx("span",{children:"Reload Page"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[A()?"⌘":"Ctrl","R"]})]}),e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:"search",size:"s",className:"mr-2"}),e.jsx("span",{children:"Search"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[A()?"⌘":"Ctrl","K"]})]})]}),e.jsxs(m.CommandGroup,{heading:"Navigation",children:[n.main.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),n.operations.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),n.intelligence.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))]}),e.jsx(m.CommandGroup,{heading:"Settings",children:n.support.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))}),e.jsx(m.CommandGroup,{heading:"Switch team",children:h.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsxs(p.Avatar,{size:"s",className:"mr-2",type:"organization",children:[e.jsx(p.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(p.AvatarFallback,{size:"s",type:"organization",children:M(r.name)})]}),e.jsx("span",{children:r.name})]},r.name))})]})]})]})}function G({navigationData:n,user:i,activeTeam:h,onNavigate:l,navigationMode:b,onNavigationModeChange:j}){const[g,u]=f.useState(!1),C=f.useRef(null);f.useEffect(()=>{if(!g)return;const a=x=>{C.current&&!C.current.contains(x.target)&&u(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[g]);const S=[...n.main,...n.operations,...n.intelligence],v=z(i.name);return e.jsxs("div",{style:{width:"100%"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",height:48,backgroundColor:"#162736",padding:"0 16px"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[e.jsx("rect",{width:"20",height:"20",rx:"4",fill:"#005F85"}),e.jsx("rect",{x:"4",y:"4",width:"5",height:"5",rx:"1",fill:"white"}),e.jsx("rect",{x:"11",y:"4",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.6"}),e.jsx("rect",{x:"4",y:"11",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.6"}),e.jsx("rect",{x:"11",y:"11",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.4"})]}),e.jsx("svg",{width:"28",height:"22",viewBox:"0 0 28 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M4.39355 0.688477C6.89528 0.688477 8.12094 1.67409 8.12109 3.74609V7.69043H5.5332V2.87695H3.28711V8.03125L8.12109 11.458V18.2705C8.12109 20.3262 6.92916 21.3125 4.39355 21.3125C1.85827 21.3124 0.701172 20.3261 0.701172 18.2705L0.700195 13.7412H3.28711V19.1396H5.5332V12.6777L0.701172 9.23438V3.74609C0.701322 1.67422 1.89214 0.688597 4.39355 0.688477ZM13.8379 0.6875C16.4752 0.687615 17.6152 1.67395 17.6152 3.74609V10.5312L12.6113 13.7236V19.123H15.0273V14.3096H17.6143V18.2705C17.6143 20.3262 16.4235 21.3125 13.8027 21.3125C11.1821 21.3125 10.0244 20.3262 10.0244 18.2705V3.74609H10.0254C10.0254 1.67382 11.2003 0.6875 13.8379 0.6875ZM23.333 0.6875C25.9537 0.6875 27.1113 1.67378 27.1113 3.72949V18.2539H27.1104C27.1104 20.3261 25.9363 21.3125 23.2988 21.3125C20.6612 21.3125 19.5205 20.3262 19.5205 18.2539V11.4688L24.5254 8.27637V2.87695H22.1084V7.69043H19.5215V3.72949C19.5215 1.67384 20.7124 0.687556 23.333 0.6875ZM22.1084 12.2197V19.1396H24.5254V10.5986L22.1084 12.2197ZM12.6113 11.4014L15.0273 9.78027V2.86035H12.6113V11.4014Z",fill:"white"})})]}),e.jsx("div",{style:{flex:1}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx("button",{onClick:()=>l?.("/notifications"),style:{background:"none",border:"none",cursor:"pointer",padding:6,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"}),e.jsx("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"})]})}),e.jsxs("div",{ref:C,style:{position:"relative"},children:[e.jsx("button",{onClick:()=>u(a=>!a),style:{width:32,height:32,borderRadius:"50%",backgroundColor:"#005F85",color:"white",border:"2px solid rgba(255,255,255,0.3)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:600,padding:0},children:i.avatarUrl?e.jsx("img",{src:i.avatarUrl,alt:i.name,style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover"}}):v}),g&&e.jsxs("div",{style:{position:"absolute",top:40,right:0,width:220,backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 24px rgba(0,0,0,0.15)",zIndex:9999,padding:"4px 0",fontSize:14},children:[e.jsxs("div",{style:{padding:"8px 12px",borderBottom:"1px solid #e5e7eb"},children:[e.jsx("div",{style:{fontWeight:600,color:"#111827"},children:i.name}),e.jsx("div",{style:{fontSize:12,color:"#6b7280"},children:i.email})]}),e.jsxs("div",{style:{padding:"4px 0",borderBottom:"1px solid #e5e7eb"},children:[e.jsx("div",{style:{padding:"4px 12px",fontSize:11,fontWeight:500,color:"#9ca3af",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Navigation"}),e.jsxs("button",{onClick:()=>{j("sidebar"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"New sidebar navigation"}),b==="sidebar"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]}),e.jsxs("button",{onClick:()=>{j("horizontal"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"Old horizontal menu"}),b==="horizontal"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]})]}),e.jsx("div",{style:{padding:"4px 0"},children:e.jsx("button",{onClick:()=>{l?.("/auth/sign-out"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#dc2626",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#fef2f2"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:"Sign out"})})]})]})]})]}),e.jsx("div",{style:{display:"flex",alignItems:"center",height:40,backgroundColor:"#1e3a4f",padding:"0 16px",gap:2,overflowX:"auto"},children:S.map(a=>{const x=a.isActive||(a.items?.some(y=>y.isActive)??!1);return e.jsx("button",{onClick:y=>{y.preventDefault(),l?.(a.url)},style:{padding:"6px 14px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:x?600:400,color:"white",backgroundColor:x?"#005F85":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:y=>{x||(y.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)")},onMouseLeave:y=>{x||(y.currentTarget.style.backgroundColor="transparent")},children:a.title},a.title)})})]})}function R(){const{state:n,toggleSidebar:i}=t.useSidebar(),h=n==="collapsed";return f.useEffect(()=>{const l=b=>{b.key==="["&&(b.preventDefault(),i())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[i]),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarTrigger,{className:"-ml-1"})}),e.jsx(c.TooltipContent,{side:"bottom",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:h?"Expand sidebar":"Collapse sidebar"}),e.jsx(N.Kbd,{size:"s",variant:"dark",children:"["})]})})]})}function K({navigationData:n=B,user:i=F,teams:h=O,defaultSidebarOpen:l=!0,headerContent:b,headerTabs:j,headerActions:g,children:u,onNavigate:C}){const[S,v]=f.useState("sidebar"),[a]=f.useState(h[0]);return S==="horizontal"?e.jsxs("div",{className:"h-screen overflow-hidden",style:{display:"flex",flexDirection:"column"},children:[e.jsx(G,{navigationData:n,user:i,activeTeam:a,onNavigate:C,navigationMode:S,onNavigationModeChange:v}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0,backgroundColor:"var(--color-surface-base)"},children:u})]}):e.jsx("div",{className:"h-screen overflow-hidden",children:e.jsxs(t.SidebarProvider,{defaultOpen:l,children:[e.jsx(U,{navigationData:n,user:i,teams:h,onNavigate:C,navigationMode:S,onNavigationModeChange:v}),e.jsxs(t.SidebarInset,{children:[(b||g||j)&&e.jsxs("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-[var(--color-border-primary-subtle)] transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12 box-border px-[var(--space-m)]",children:[e.jsx(R,{}),e.jsx(I.Separator,{layout:"horizontal",className:"mr-2 h-4"}),e.jsx("div",{className:"flex-1 min-w-0",children:b}),e.jsxs("div",{className:"flex items-center gap-2 ml-auto shrink-0",children:[j&&e.jsx("div",{className:"flex items-center gap-2",children:j}),j&&g&&e.jsx("span",{className:"text-[var(--color-text-tertiary)] select-none","aria-hidden":!0,children:"•"}),g&&e.jsx("div",{className:"flex items-center gap-2",children:g})]})]}),e.jsx("div",{className:"flex flex-1 flex-col overflow-auto min-h-0 min-w-0",children:u})]})]})})}exports.AppFrame=K;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),H=require("react"),t=require("../fundamental/sidebar.cjs"),E=require("../fundamental/button.cjs"),d=require("../fundamental/icon.cjs"),v=require("lucide-react"),p=require("../fundamental/avatar.cjs"),T=require("../fundamental/separator.cjs"),M=require("../fundamental/kbd.cjs"),o=require("../fundamental/dropdown-menu.cjs"),c=require("../fundamental/tooltip.cjs"),m=require("../fundamental/command.cjs");function F(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const h in n)if(h!=="default"){const l=Object.getOwnPropertyDescriptor(n,h);Object.defineProperty(i,h,l.get?l:{enumerable:!0,get:()=>n[h]})}}return i.default=n,Object.freeze(i)}const f=F(H),O={name:"John Doe",email:"john@example.com",avatarUrl:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=32&h=32&fit=crop&crop=face"},B=[{name:"Acme Corp",role:"Admin",plan:"Enterprise",avatarUrl:"https://useful-toucan-91.convex.cloud/api/storage/5e36a31d-3f0a-4bb0-95db-f5b1c8e8af93"},{name:"Startup Inc",role:"Member",plan:"Pro",avatarUrl:"https://useful-toucan-91.convex.cloud/api/storage/5e36a31d-3f0a-4bb0-95db-f5b1c8e8af93"}],R={main:[{title:"Home",icon:"house",url:"/home",isActive:!1},{title:"Boards",icon:"layout-dashboard",url:"/boards",isActive:!1}],operations:[{title:"Voyage economics",icon:"ship",url:"/freight-planner",isActive:!1,items:[]},{title:"Trade desk",icon:"trending-up",url:"/trade-desk",isActive:!1,items:[]},{title:"Agreements",icon:"scroll-text",url:"/agreements",isActive:!0,items:[{title:"Recaps",url:"/agreements/recaps",isActive:!0},{title:"Contracts",url:"/agreements/contracts",isActive:!1},{title:"Clause library",url:"/agreements/clause-library",isActive:!1}]},{title:"Compliance",icon:"shield-check",url:"/compliance",isActive:!1,items:[]}],intelligence:[{title:"Global market",icon:"globe",url:"/global-market",isActive:!1,items:[{title:"Supply",url:"/global-market/supply",isActive:!1},{title:"Commodities",url:"/global-market/commodities",isActive:!1},{title:"Freight",url:"/global-market/freight",isActive:!1}]},{title:"Assets",icon:"container",url:"/assets",isActive:!1,items:[{title:"Vessels",url:"/assets/vessels",isActive:!1},{title:"Fleets",url:"/assets/fleets",isActive:!1},{title:"Ports",url:"/assets/ports",isActive:!1},{title:"Canals",url:"/assets/canals",isActive:!1}]},{title:"Fixtures",icon:"anchor",url:"/fixtures",isActive:!1}],support:[{title:"Notifications",icon:"bell",url:"/notifications",isActive:!1},{title:"Help & support",icon:"circle-help",url:"/help-support",isActive:!1}]},I=n=>n.split(" ").filter(Boolean).map(i=>i[0]).join("").slice(0,2).toUpperCase(),A=n=>n.split(" ").filter(Boolean).map(i=>i[0]).join("").slice(0,2).toUpperCase(),z=()=>typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent);function D(n){const i={};return[...n.main||[],...n.operations||[],...n.intelligence||[],...n.support||[]].forEach(l=>{if(l.items&&l.items.length>0){const b=l.items.some(j=>j.isActive);i[l.title]=b}}),i}function U({navigationData:n,user:i,teams:h,onNavigate:l,navigationMode:b,onNavigationModeChange:j}){const[g,u]=f.useState(!1),[S,w]=f.useState(""),[y,a]=f.useState(()=>D(n)),[x,C]=f.useState(h[0]),V=r=>{a(s=>({...s,[r]:!s[r]}))},L=r=>r.items&&r.items.some(s=>s.isActive),N=r=>{if(r.items&&r.items.length>0){const s=r.items.find(k=>k.isActive);if(s)return`${r.title} → ${s.title}`}return r.title};return f.useEffect(()=>{const r=s=>{s.key==="k"&&(s.metaKey||s.ctrlKey)&&(s.preventDefault(),u(k=>!k))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),f.useEffect(()=>{a(D(n))},[n]),e.jsxs(c.TooltipProvider,{delayDuration:100,children:[e.jsxs(t.Sidebar,{variant:"sidebar",collapsible:"icon",className:"flex h-full flex-col",children:[e.jsx(t.SidebarHeader,{className:"sticky top-0 z-10 h-12 border-b border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:px-2 box-border",children:e.jsx("div",{className:"flex h-[22px] w-7 items-center justify-center",children:e.jsx("svg",{width:"28",height:"22",viewBox:"0 0 28 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M4.39355 0.688477C6.89528 0.688477 8.12094 1.67409 8.12109 3.74609V7.69043H5.5332V2.87695H3.28711V8.03125L8.12109 11.458V18.2705C8.12109 20.3262 6.92916 21.3125 4.39355 21.3125C1.85827 21.3124 0.701172 20.3261 0.701172 18.2705L0.700195 13.7412H3.28711V19.1396H5.5332V12.6777L0.701172 9.23438V3.74609C0.701322 1.67422 1.89214 0.688597 4.39355 0.688477ZM13.8379 0.6875C16.4752 0.687615 17.6152 1.67395 17.6152 3.74609V10.5312L12.6113 13.7236V19.123H15.0273V14.3096H17.6143V18.2705C17.6143 20.3262 16.4235 21.3125 13.8027 21.3125C11.1821 21.3125 10.0244 20.3262 10.0244 18.2705V3.74609H10.0254C10.0254 1.67382 11.2003 0.6875 13.8379 0.6875ZM23.333 0.6875C25.9537 0.6875 27.1113 1.67378 27.1113 3.72949V18.2539H27.1104C27.1104 20.3261 25.9363 21.3125 23.2988 21.3125C20.6612 21.3125 19.5205 20.3262 19.5205 18.2539V11.4688L24.5254 8.27637V2.87695H22.1084V7.69043H19.5215V3.72949C19.5215 1.67384 20.7124 0.687556 23.333 0.6875ZM22.1084 12.2197V19.1396H24.5254V10.5986L22.1084 12.2197ZM12.6113 11.4014L15.0273 9.78027V2.86035H12.6113V11.4014Z",fill:"#005F85"})})})}),e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto group-data-[collapsible=icon]:overflow-hidden","data-sidebar":"content",children:[e.jsx("div",{className:"p-[var(--space-m)] pt-[var(--space-s)] group-data-[collapsible=icon]:px-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute top-1/2 left-2 -translate-y-1/2 group-data-[collapsible=icon]:hidden",children:e.jsx(d.Icon,{name:v.Search,size:"m",color:"tertiary"})}),e.jsxs("div",{className:"group-data-[collapsible=icon]:hidden",children:[e.jsx("button",{onClick:()=>u(!0),className:"text-body-md flex h-8 w-full cursor-pointer items-center rounded-m border border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] px-3 py-1 pr-20 pl-8 text-left text-[var(--color-text-tertiary)] transition-colors hover:border-[var(--color-border-primary-medium)] hover:!bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)]/20 focus:ring-offset-0 focus:outline-none active:border-[var(--color-border-primary-medium)]",children:"Search"}),e.jsxs("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 gap-1",children:[e.jsx(M.Kbd,{size:"s",children:z()?"⌘":"Ctrl"}),e.jsx(M.Kbd,{size:"s",children:"K"})]})]}),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx("button",{onClick:()=>u(!0),className:"hidden h-8 w-8 cursor-pointer items-center justify-center rounded border border-[var(--color-border-primary-subtle)] bg-transparent transition-all duration-200 group-data-[collapsible=icon]:flex hover:border-[var(--color-border-primary-medium)] hover:!bg-[var(--color-background-neutral-subtlest-hovered)] focus:border-[var(--color-border-brand-bold)] focus:ring-2 focus:ring-[var(--color-border-brand-bold)]/20 focus:ring-offset-0 focus:outline-none active:border-[var(--color-border-primary-medium)]","aria-label":"Search",children:e.jsx(d.Icon,{name:v.Search,size:"m",color:"tertiary"})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:"Search"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(M.Kbd,{size:"s",variant:"dark",children:z()?"⌘":"Ctrl"}),e.jsx(M.Kbd,{size:"s",variant:"dark",children:"K"})]})]})})]})]})}),e.jsx(t.SidebarGroup,{className:"pb-1 mt-1 p-[var(--space-s)]",children:e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.main.map(r=>e.jsx(t.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]})},r.title))})})}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(T.Separator,{layout:"vertical"})}),e.jsxs(t.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(t.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Operations"}),e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.operations.map(r=>e.jsx(t.SidebarMenuItem,{children:r.items&&r.items.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"group-data-[collapsible=icon]:hidden",children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>V(r.title),children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(d.Icon,{name:v.ChevronRight,size:"s",className:`ml-auto transition-transform ${y[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&y[r.title]&&e.jsx(t.SidebarMenuSub,{children:r.items.map(s=>e.jsx(t.SidebarMenuSubItem,{children:e.jsx(t.SidebarMenuSubButton,{isActive:s.isActive,onClick:k=>{l&&(k.preventDefault(),l(s.url))},children:e.jsx("span",{children:s.title})})},s.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(o.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarMenuButton,{isActive:L(r),className:"w-full justify-center",children:e.jsx(d.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]}),e.jsxs(o.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(o.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(o.DropdownMenuSeparator,{}),r.items.map(s=>e.jsx(o.DropdownMenuItem,{className:s.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{l&&l(s.url)},children:s.title},s.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]})},r.title))})})]}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(T.Separator,{layout:"vertical"})}),e.jsxs(t.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(t.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Intelligence"}),e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.intelligence.map(r=>e.jsx(t.SidebarMenuItem,{children:r.items&&r.items.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"group-data-[collapsible=icon]:hidden",children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>V(r.title),children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(d.Icon,{name:v.ChevronRight,size:"s",className:`ml-auto transition-transform ${y[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&y[r.title]&&e.jsx(t.SidebarMenuSub,{children:r.items.map(s=>e.jsx(t.SidebarMenuSubItem,{children:e.jsx(t.SidebarMenuSubButton,{isActive:s.isActive,onClick:k=>{l&&(k.preventDefault(),l(s.url))},children:e.jsx("span",{children:s.title})})},s.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(o.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarMenuButton,{isActive:L(r),className:"w-full justify-center",children:e.jsx(d.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]}),e.jsxs(o.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(o.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(o.DropdownMenuSeparator,{}),r.items.map(s=>e.jsx(o.DropdownMenuItem,{className:s.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{l&&l(s.url)},children:s.title},s.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]})},r.title))})})]}),e.jsx(t.SidebarGroup,{className:"pb-2 p-[var(--space-s)] mt-auto",children:e.jsx(t.SidebarGroupContent,{children:e.jsx(t.SidebarMenu,{children:n.support.map(r=>e.jsx(t.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(t.SidebarMenuButton,{isActive:r.isActive,onClick:s=>{l&&(s.preventDefault(),l(r.url))},children:[e.jsx(d.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title})]})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:N(r)})]})},r.title))})})})]}),e.jsx(t.SidebarFooter,{className:"sticky bottom-0 z-10 border-t border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] group-data-[collapsible=icon]:px-2 group-data-[collapsible=icon]:py-2",children:e.jsx("div",{className:"group/user-menu rounded-m border border-[var(--color-border-primary-subtle)] transition-colors hover:border-[var(--color-border-primary-medium)] group-data-[collapsible=icon]:rounded-none group-data-[collapsible=icon]:border-none",children:e.jsxs(o.DropdownMenu,{children:[e.jsx(o.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(E.Button,{variant:"ghost",className:"h-auto min-h-[56px] w-full justify-start rounded-m px-3 py-2 hover:!bg-[var(--color-background-neutral-subtlest-hovered)] group-data-[collapsible=icon]:h-8 group-data-[collapsible=icon]:min-h-0 group-data-[collapsible=icon]:w-8 group-data-[collapsible=icon]:p-0",children:[e.jsxs("div",{className:"flex w-full items-center gap-3 group-data-[collapsible=icon]:hidden",children:[e.jsxs("div",{className:"relative flex-shrink-0",children:[e.jsxs(p.Avatar,{size:"m",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"m",type:"user",children:I(i.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[4px] border-2 border-white p-0",children:e.jsxs(p.Avatar,{size:"xxs",type:"organization",children:[e.jsx(p.AvatarImage,{src:x.avatarUrl,alt:x.name}),e.jsx(p.AvatarFallback,{size:"xxs",type:"organization",children:A(x.name)})]})})]}),e.jsxs("div",{className:"min-w-0 flex-1 text-left",children:[e.jsx("div",{className:"text-body-medium-sm truncate font-medium text-[var(--color-text-primary)]",children:i.name}),e.jsxs("div",{className:"text-body-xsm text-[var(--color-text-secondary)]",children:[x.role," at ",x.name]})]}),e.jsx(d.Icon,{name:v.ChevronDown,size:"m",className:"opacity-50"})]}),e.jsxs("div",{className:"relative hidden group-data-[collapsible=icon]:block",children:[e.jsxs(p.Avatar,{size:"s",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"s",type:"user",children:I(i.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[2px] border-2 border-white bg-[var(--color-surface-primary)]",children:e.jsxs(p.Avatar,{size:"xxs",type:"organization",children:[e.jsx(p.AvatarImage,{src:x.avatarUrl,alt:x.name}),e.jsx(p.AvatarFallback,{size:"xxs",type:"organization",children:A(x.name)})]})})]})]})}),e.jsxs(o.DropdownMenuContent,{className:"w-[--radix-dropdown-menu-trigger-width]",align:"start",side:"top",sideOffset:4,children:[e.jsx(o.DropdownMenuLabel,{className:"p-0 font-normal",children:e.jsxs("div",{className:"flex items-center gap-3 px-2 py-2",children:[e.jsxs(p.Avatar,{size:"s",type:"user",children:[e.jsx(p.AvatarImage,{src:i.avatarUrl,alt:i.name}),e.jsx(p.AvatarFallback,{size:"s",type:"user",children:I(i.name)})]}),e.jsxs("div",{className:"grid flex-1 text-left",children:[e.jsx("span",{className:"text-body-medium-sm truncate font-semibold text-[var(--color-text-primary)]",children:i.name}),e.jsx("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:i.email})]})]})}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Organizations"}),h.map(r=>e.jsxs(o.DropdownMenuItem,{onSelect:()=>C(r),className:"mx-1 mb-1 h-10 cursor-pointer gap-2 px-1 pr-2 pl-1",children:[e.jsxs(p.Avatar,{size:"s",type:"organization",children:[e.jsx(p.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(p.AvatarFallback,{size:"s",type:"organization",children:A(r.name)})]}),e.jsxs("div",{className:"flex flex-1 flex-col text-left",children:[e.jsx("span",{className:"text-body-medium-sm truncate font-semibold text-[var(--color-text-primary)]",children:r.name}),e.jsxs("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:[r.role," • ",r.plan," plan"]})]}),x.name===r.name&&e.jsx(d.Icon,{name:v.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]},r.name)),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Navigation"}),e.jsxs(o.DropdownMenuItem,{className:"mx-1 mb-0.5 cursor-pointer gap-2 px-2",onSelect:()=>j("sidebar"),children:[e.jsx("span",{className:"flex-1",children:"New sidebar navigation"}),b==="sidebar"&&e.jsx(d.Icon,{name:v.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsxs(o.DropdownMenuItem,{className:"mx-1 mb-1 cursor-pointer gap-2 px-2",onSelect:()=>j("horizontal"),children:[e.jsx("span",{className:"flex-1",children:"Old horizontal menu"}),b==="horizontal"&&e.jsx(d.Icon,{name:v.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuItem,{icon:"user",className:"cursor-pointer",onSelect:()=>{l&&l("/user/profile")},children:"User profile"}),e.jsx(o.DropdownMenuItem,{icon:"settings",className:"cursor-pointer",onSelect:()=>{l&&l("/organization/settings")},children:"Organization settings"}),e.jsx(o.DropdownMenuSeparator,{}),e.jsx(o.DropdownMenuItem,{icon:"log-out",destructive:!0,className:"cursor-pointer",onSelect:()=>{l&&l("/auth/sign-out")},children:"Sign out"})]})]})})}),e.jsx(t.SidebarRail,{})]}),e.jsxs(m.CommandDialog,{open:g,onOpenChange:u,children:[e.jsx(m.CommandInput,{placeholder:"Type a command or search...",value:S,onValueChange:w,clearable:!1}),e.jsxs(m.CommandList,{children:[e.jsx(m.CommandEmpty,{children:"No results found."}),e.jsxs(m.CommandGroup,{heading:"Quick actions",children:[e.jsxs(m.CommandItem,{onSelect:()=>console.log("Reload"),children:[e.jsx(d.Icon,{name:v.RotateCcw,size:"s",className:"mr-2"}),e.jsx("span",{children:"Reload Page"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[z()?"⌘":"Ctrl","R"]})]}),e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:v.Search,size:"s",className:"mr-2"}),e.jsx("span",{children:"Search"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[z()?"⌘":"Ctrl","K"]})]})]}),e.jsxs(m.CommandGroup,{heading:"Navigation",children:[n.main.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),n.operations.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),n.intelligence.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))]}),e.jsx(m.CommandGroup,{heading:"Settings",children:n.support.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsx(d.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))}),e.jsx(m.CommandGroup,{heading:"Switch team",children:h.map(r=>e.jsxs(m.CommandItem,{onSelect:()=>u(!1),children:[e.jsxs(p.Avatar,{size:"s",className:"mr-2",type:"organization",children:[e.jsx(p.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(p.AvatarFallback,{size:"s",type:"organization",children:A(r.name)})]}),e.jsx("span",{children:r.name})]},r.name))})]})]})]})}function G({navigationData:n,user:i,activeTeam:h,onNavigate:l,navigationMode:b,onNavigationModeChange:j}){const[g,u]=f.useState(!1),S=f.useRef(null);f.useEffect(()=>{if(!g)return;const a=x=>{S.current&&!S.current.contains(x.target)&&u(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[g]);const w=[...n.main,...n.operations,...n.intelligence],y=I(i.name);return e.jsxs("div",{style:{width:"100%"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",height:48,backgroundColor:"#162736",padding:"0 16px"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[e.jsx("rect",{width:"20",height:"20",rx:"4",fill:"#005F85"}),e.jsx("rect",{x:"4",y:"4",width:"5",height:"5",rx:"1",fill:"white"}),e.jsx("rect",{x:"11",y:"4",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.6"}),e.jsx("rect",{x:"4",y:"11",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.6"}),e.jsx("rect",{x:"11",y:"11",width:"5",height:"5",rx:"1",fill:"white",opacity:"0.4"})]}),e.jsx("svg",{width:"28",height:"22",viewBox:"0 0 28 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M4.39355 0.688477C6.89528 0.688477 8.12094 1.67409 8.12109 3.74609V7.69043H5.5332V2.87695H3.28711V8.03125L8.12109 11.458V18.2705C8.12109 20.3262 6.92916 21.3125 4.39355 21.3125C1.85827 21.3124 0.701172 20.3261 0.701172 18.2705L0.700195 13.7412H3.28711V19.1396H5.5332V12.6777L0.701172 9.23438V3.74609C0.701322 1.67422 1.89214 0.688597 4.39355 0.688477ZM13.8379 0.6875C16.4752 0.687615 17.6152 1.67395 17.6152 3.74609V10.5312L12.6113 13.7236V19.123H15.0273V14.3096H17.6143V18.2705C17.6143 20.3262 16.4235 21.3125 13.8027 21.3125C11.1821 21.3125 10.0244 20.3262 10.0244 18.2705V3.74609H10.0254C10.0254 1.67382 11.2003 0.6875 13.8379 0.6875ZM23.333 0.6875C25.9537 0.6875 27.1113 1.67378 27.1113 3.72949V18.2539H27.1104C27.1104 20.3261 25.9363 21.3125 23.2988 21.3125C20.6612 21.3125 19.5205 20.3262 19.5205 18.2539V11.4688L24.5254 8.27637V2.87695H22.1084V7.69043H19.5215V3.72949C19.5215 1.67384 20.7124 0.687556 23.333 0.6875ZM22.1084 12.2197V19.1396H24.5254V10.5986L22.1084 12.2197ZM12.6113 11.4014L15.0273 9.78027V2.86035H12.6113V11.4014Z",fill:"white"})})]}),e.jsx("div",{style:{flex:1}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx("button",{onClick:()=>l?.("/notifications"),style:{background:"none",border:"none",cursor:"pointer",padding:6,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"}),e.jsx("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"})]})}),e.jsxs("div",{ref:S,style:{position:"relative"},children:[e.jsx("button",{onClick:()=>u(a=>!a),style:{width:32,height:32,borderRadius:"50%",backgroundColor:"#005F85",color:"white",border:"2px solid rgba(255,255,255,0.3)",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,fontWeight:600,padding:0},children:i.avatarUrl?e.jsx("img",{src:i.avatarUrl,alt:i.name,style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover"}}):y}),g&&e.jsxs("div",{style:{position:"absolute",top:40,right:0,width:220,backgroundColor:"white",borderRadius:8,boxShadow:"0 4px 24px rgba(0,0,0,0.15)",zIndex:9999,padding:"4px 0",fontSize:14},children:[e.jsxs("div",{style:{padding:"8px 12px",borderBottom:"1px solid #e5e7eb"},children:[e.jsx("div",{style:{fontWeight:600,color:"#111827"},children:i.name}),e.jsx("div",{style:{fontSize:12,color:"#6b7280"},children:i.email})]}),e.jsxs("div",{style:{padding:"4px 0",borderBottom:"1px solid #e5e7eb"},children:[e.jsx("div",{style:{padding:"4px 12px",fontSize:11,fontWeight:500,color:"#9ca3af",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Navigation"}),e.jsxs("button",{onClick:()=>{j("sidebar"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"New sidebar navigation"}),b==="sidebar"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]}),e.jsxs("button",{onClick:()=>{j("horizontal"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"Old horizontal menu"}),b==="horizontal"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]})]}),e.jsx("div",{style:{padding:"4px 0"},children:e.jsx("button",{onClick:()=>{l?.("/auth/sign-out"),u(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#dc2626",textAlign:"left"},onMouseEnter:a=>{a.currentTarget.style.backgroundColor="#fef2f2"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:"Sign out"})})]})]})]})]}),e.jsx("div",{style:{display:"flex",alignItems:"center",height:40,backgroundColor:"#1e3a4f",padding:"0 16px",gap:2,overflowX:"auto"},children:w.map(a=>{const x=a.isActive||(a.items?.some(C=>C.isActive)??!1);return e.jsx("button",{onClick:C=>{C.preventDefault(),l?.(a.url)},style:{padding:"6px 14px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:x?600:400,color:"white",backgroundColor:x?"#005F85":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:C=>{x||(C.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)")},onMouseLeave:C=>{x||(C.currentTarget.style.backgroundColor="transparent")},children:a.title},a.title)})})]})}function q(){const{state:n,toggleSidebar:i}=t.useSidebar(),h=n==="collapsed";return f.useEffect(()=>{const l=b=>{b.key==="["&&(b.preventDefault(),i())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[i]),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(t.SidebarTrigger,{className:"-ml-1"})}),e.jsx(c.TooltipContent,{side:"bottom",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{children:h?"Expand sidebar":"Collapse sidebar"}),e.jsx(M.Kbd,{size:"s",variant:"dark",children:"["})]})})]})}function K({navigationData:n=R,user:i=O,teams:h=B,defaultSidebarOpen:l=!0,headerContent:b,headerTabs:j,headerActions:g,children:u,onNavigate:S}){const[w,y]=f.useState("sidebar"),[a]=f.useState(h[0]);return w==="horizontal"?e.jsxs("div",{className:"h-screen overflow-hidden",style:{display:"flex",flexDirection:"column"},children:[e.jsx(G,{navigationData:n,user:i,activeTeam:a,onNavigate:S,navigationMode:w,onNavigationModeChange:y}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0,backgroundColor:"var(--color-surface-base)"},children:u})]}):e.jsx("div",{className:"h-screen overflow-hidden",children:e.jsxs(t.SidebarProvider,{defaultOpen:l,children:[e.jsx(U,{navigationData:n,user:i,teams:h,onNavigate:S,navigationMode:w,onNavigationModeChange:y}),e.jsxs(t.SidebarInset,{children:[(b||g||j)&&e.jsxs("header",{className:"flex h-12 shrink-0 items-center gap-2 border-b border-[var(--color-border-primary-subtle)] transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12 box-border px-[var(--space-m)]",children:[e.jsx(q,{}),e.jsx(T.Separator,{layout:"horizontal",className:"mr-2 h-4"}),e.jsx("div",{className:"flex-1 min-w-0",children:b}),e.jsxs("div",{className:"flex items-center gap-2 ml-auto shrink-0",children:[j&&e.jsx("div",{className:"flex items-center gap-2",children:j}),j&&g&&e.jsx("span",{className:"text-[var(--color-text-tertiary)] select-none","aria-hidden":!0,children:"•"}),g&&e.jsx("div",{className:"flex items-center gap-2",children:g})]})]}),e.jsx("div",{className:"flex flex-1 flex-col overflow-auto min-h-0 min-w-0",children:u})]})]})})}exports.AppFrame=K;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),V=require("react"),i=require("../../lib/utils.cjs"),N=require("../fundamental/collapsible.cjs"),h=require("../fundamental/icon.cjs");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),V=require("react"),i=require("../../lib/utils.cjs"),N=require("../fundamental/collapsible.cjs"),h=require("../fundamental/icon.cjs"),k=require("lucide-react");function z(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(s,t,a.get?a:{enumerable:!0,get:()=>r[t]})}}return s.default=r,Object.freeze(s)}const e=z(V),g=e.createContext("s"),A=e.forwardRef(({className:r,children:s,size:t="s",showHiddenLabel:a="More details",hideLabel:l="Less details",defaultShowHidden:f=!1,labelWidth:p,...d},u)=>{const[n,b]=e.useState(f),v=e.useMemo(()=>e.Children.toArray(s).some(c=>e.isValidElement(c)&&(c.type?.displayName||"")==="AttributesItem"?c.props.hidden:!1),[s]),y=e.useMemo(()=>e.Children.map(s,c=>e.isValidElement(c)&&(c.type?.displayName||"")==="AttributesItem"&&c.props.hidden&&!n?null:c),[s,n]),m=typeof p=="number"?`${p}px`:p;return o.jsx(g.Provider,{value:t,children:o.jsxs("div",{ref:u,className:i.cn("grid",t==="s"?"gap-y-[12px]":"gap-y-[8px]",r),style:{gridTemplateColumns:`${m||"auto"} 1fr`,columnGap:"var(--space-m)",...d.style||{}},...d,children:[y,v&&o.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",t==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",t==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?l:a,o.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})})});A.displayName="AttributesList";const j=e.memo(e.forwardRef(({className:r,...s},t)=>o.jsx("div",{ref:t,role:"separator","aria-hidden":"true",className:i.cn("h-px bg-[var(--color-border-primary-subtle)] my-[var(--space-s)]",r),style:{gridColumn:"1 / -1"},...s})));j.displayName="AttributesSeparator";const w=e.forwardRef(({className:r,label:s,children:t,showHiddenLabel:a="More details",hideLabel:l="Less details",defaultShowHidden:f=!1,...p},d)=>{const u=e.useContext(g),[n,b]=e.useState(f),v=e.useMemo(()=>(c=>e.Children.toArray(c).some(x=>!!(e.isValidElement(x)&&(x.type?.displayName||"")==="AttributesItem"&&x.props.hidden)))(t),[t]),y=e.useMemo(()=>e.Children.map(t,m=>e.isValidElement(m)&&(m.type?.displayName||"")==="AttributesItem"&&m.props.hidden&&!n?null:m),[t,n]);return o.jsxs("div",{ref:d,className:i.cn("grid",u==="s"?"gap-y-[12px]":"gap-y-[8px]",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)"},...p,children:[s&&o.jsx("h3",{className:i.cn("text-[var(--color-text-tertiary)]",u==="s"?"mb-[6px]":"mb-[4px]",u==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:s}),y,v&&o.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",u==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",u==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?l:a,o.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})});w.displayName="AttributesGroup";const R=e.forwardRef(({className:r,children:s,collapsible:t=!1,defaultOpen:a,open:l,onOpenChange:f,hidden:p,style:d,...u},n)=>t?o.jsx(N.Collapsible,{ref:n,defaultOpen:a,open:l,onOpenChange:f,className:i.cn("w-full group grid",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...d},"data-hidden":p,...u,children:s}):o.jsx("div",{ref:n,className:i.cn(r),style:{display:"contents",...d},"data-hidden":p,...u,children:s}));R.displayName="AttributesItem";const I=e.forwardRef(({className:r,children:s,asCollapsibleTrigger:t,externalLink:a,style:l,...f},p)=>{const d=e.useContext(g),u=e.useMemo(()=>{if(!a)return s;const b=e.Children.toArray(s);if(b.length>=2){const v=b[0],y=b[1],m=b.slice(2);return[v,o.jsxs("div",{className:"flex items-center justify-between gap-[var(--space-m)]",style:{gridColumn:"2"},children:[y,o.jsxs("a",{href:a.href,className:i.cn("text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] inline-flex items-center no-underline shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",d==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",d==="s"?"[&]:text-body-sm":"[&]:text-body-xsm"),target:"_blank",rel:"noopener noreferrer","aria-label":`${a.label} (opens in new tab)`,children:[a.label,o.jsx(h.Icon,{name:k.ExternalLink,size:"s","aria-hidden":"true"})]})]},"value-with-link"),...m]}return s},[s,a,d]),n=o.jsx("div",{ref:t?void 0:p,className:i.cn("grid items-center",t&&"cursor-pointer hover:bg-[var(--color-surface-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 transition-colors rounded-s px-[var(--space-s)] py-[var(--space-xs)] -mx-[var(--space-s)]",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...l},...f,children:u});return t?o.jsx(N.CollapsibleTrigger,{asChild:!0,hideIcon:!0,children:n}):n});I.displayName="AttributesRow";const P=e.memo(e.forwardRef(({className:r,children:s,...t},a)=>{const l=e.useContext(g);return o.jsx("div",{ref:a,className:i.cn("text-[var(--color-text-secondary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] shrink-0",l==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm",r),...t,children:s})}));P.displayName="AttributesLabel";const S=e.memo(e.forwardRef(({className:r,children:s,...t},a)=>{const l=e.useContext(g);return o.jsx("div",{ref:a,className:i.cn("text-[var(--color-text-primary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] flex items-center",l==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",l==="s"?"[&]:text-body-sm":"[&]:text-body-xsm",r),...t,children:s})}));S.displayName="AttributesValue";const M=e.forwardRef(({className:r,children:s,style:t,...a},l)=>o.jsx(N.CollapsibleContent,{ref:l,className:i.cn("pt-[var(--space-s)] pb-[var(--space-s)]",r),style:{gridColumn:"1 / -1",...t},...a,children:s}));M.displayName="AttributesContent";const H=e.memo(e.forwardRef(({className:r,...s},t)=>o.jsx("div",{ref:t,"aria-hidden":"true",className:i.cn("shrink-0 -ml-[4px]",r),...s,children:o.jsx(h.Icon,{name:"chevron-down",size:"s",color:"tertiary",className:"transition-transform [.group[data-state=open]_&]:rotate-180"})})));H.displayName="AttributesChevron";exports.AttributesChevron=H;exports.AttributesContent=M;exports.AttributesGroup=w;exports.AttributesItem=R;exports.AttributesLabel=P;exports.AttributesList=A;exports.AttributesRow=I;exports.AttributesSeparator=j;exports.AttributesValue=S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),we=require("react"),X=require("../../lib/utils.cjs"),I=require("../fundamental/button.cjs"),Ce=require("../fundamental/button-group.cjs"),j=require("../fundamental/icon.cjs"),pe=require("../fundamental/separator.cjs"),A=require("../fundamental/select.cjs"),f=require("../fundamental/dropdown-menu.cjs"),re=require("../fundamental/popover.cjs"),J=require("../fundamental/dialog.cjs"),Be=require("../fundamental/input.cjs"),De=require("../fundamental/label.cjs"),Se=require("../fundamental/badge.cjs"),fe=require("../fundamental/skeleton.cjs");function Ne(s){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const o in s)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(s,o);Object.defineProperty(r,o,l.get?l:{enumerable:!0,get:()=>s[o]})}}return r.default=s,Object.freeze(r)}const t=Ne(we),ae=t.createContext(null);function U(){const s=t.useContext(ae);if(!s)throw new Error("useBookmarksActions must be used within Bookmarks");return s}function se({open:s,onOpenChange:r,mode:o,initialName:l="",onSave:b}){const[v,D]=t.useState(l);t.useEffect(()=>{s&&D(l)},[s,l]);const k=()=>{v.trim()&&(b(v.trim()),r(!1))};return e.jsx(J.Dialog,{open:s,onOpenChange:r,children:e.jsxs(J.DialogContent,{children:[e.jsx(J.DialogHeader,{children:e.jsx(J.DialogTitle,{children:o==="create"?"Create bookmark":"Rename bookmark"})}),e.jsx(J.DialogBody,{children:e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx(De.Label,{htmlFor:"bookmark-name",children:"Bookmark name"}),e.jsx(Be.Input,{id:"bookmark-name",value:v,onChange:g=>D(g.target.value),placeholder:"Enter bookmark name...",onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),k())},autoFocus:!0})]})}),e.jsxs(J.DialogFooter,{children:[e.jsx(I.Button,{variant:"default",onClick:()=>r(!1),children:"Cancel"}),e.jsx(I.Button,{variant:"primary",onClick:k,disabled:!v.trim(),children:o==="create"?"Create":"Save"})]})]})})}function ye({bookmarks:s,systemBookmarks:r,activeBookmarkId:o,onSelect:l,onRename:b,onDelete:v,onSetDefault:D}){const k=t.useMemo(()=>[...r,...s],[r,s]),g=t.useMemo(()=>k.find(u=>u.id===o),[k,o]),m=g?.type==="system";return e.jsxs(Ce.ButtonGroup,{children:[e.jsxs(A.Select,{value:o,onValueChange:u=>{const N=k.find(p=>p.id===u);N&&l(N)},children:[e.jsxs(A.SelectTrigger,{className:X.cn("!text-label-md relative z-0 h-[var(--size-m)] w-auto gap-[var(--space-xs)] border border-[var(--color-border-action-outline)] bg-[var(--color-background-neutral-subtlest)] pr-[var(--space-m)] pl-[var(--space-s)] text-[var(--color-text-primary)] hover:border-[var(--color-border-action-outline-hovered)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:shadow-sm focus:border-[var(--color-border-action-outline)] focus:ring-0 focus:outline-none focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 active:translate-y-px active:bg-[var(--grey-alpha-50)] active:shadow-xs data-[state=open]:ring-0",m?"rounded-m":"rounded-l-m !rounded-r-none !border-r-0"),children:[e.jsx(j.Icon,{name:"bookmark",size:"m",color:"primary"}),g?.name||"Bookmarks"]}),e.jsxs(A.SelectContent,{align:"start",position:"popper",className:"min-w-[200px]",children:[r.length>0&&e.jsx(e.Fragment,{children:r.map(u=>e.jsx(A.SelectItem,{value:u.id,children:e.jsx("div",{className:"flex items-center gap-[var(--space-s)] pr-6",children:e.jsx("span",{children:u.name})})},u.id))}),r.length>0&&s.length>0&&e.jsx(A.SelectSeparator,{}),s.length>0&&e.jsxs(A.SelectGroup,{children:[e.jsx(A.SelectLabel,{children:"Custom Bookmarks"}),s.map(u=>e.jsx(A.SelectItem,{value:u.id,children:e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] pr-6",children:[e.jsx(j.Icon,{name:"bookmark",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"}),e.jsx("span",{className:"truncate",children:u.name}),u.isDefault&&e.jsx(j.Icon,{name:"star",className:"h-[var(--size-2xs)] w-[var(--size-2xs)] flex-shrink-0 text-[var(--color-icon-warning-bold)]"})]})},u.id))]})]})]}),!m&&e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsx(I.Button,{icon:"more-horizontal","aria-label":"Bookmark options",className:"!rounded-l-none rounded-r-md !border-l !border-l-[var(--color-border-action-outline)] focus:ring-0 data-[state=open]:ring-0"})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsxs(f.DropdownMenuItem,{onClick:u=>{if(m){u.preventDefault();return}b()},disabled:m,children:[e.jsx(j.Icon,{name:"pencil",className:"mr-2 h-4 w-4"}),"Rename"]}),e.jsxs(f.DropdownMenuItem,{onClick:u=>{if(m){u.preventDefault();return}v()},disabled:m,destructive:!0,children:[e.jsx(j.Icon,{name:"trash-2",className:"mr-2 h-4 w-4"}),"Delete"]}),!m&&e.jsxs(e.Fragment,{children:[e.jsx(f.DropdownMenuSeparator,{}),e.jsxs(f.DropdownMenuItem,{onClick:D,children:[e.jsx(j.Icon,{name:(g?.isDefault,"star"),className:X.cn("mr-2 h-4 w-4",g?.isDefault&&"text-[var(--color-icon-warning-bold)]")}),g?.isDefault?"Unset as Default":"Set as Default"]})]})]})]})]})}function ze({onUpdate:s,onCreate:r}){return e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(I.Button,{variant:"ghost",className:"h-[var(--size-m)] gap-[var(--space-xs)] px-[var(--space-m)] data-[state=open]:ring-0",children:[e.jsx("span",{className:"text-label-md",children:"Save"}),e.jsx(j.Icon,{name:"chevron-down",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})]})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsx(f.DropdownMenuItem,{onClick:s,children:"Update bookmark"}),e.jsx(f.DropdownMenuItem,{onClick:r,children:"Create new bookmark"})]})]})}const ve=t.memo(t.forwardRef(({bookmark:s,isActive:r,isVisible:o=!0,index:l,totalTabs:b,onSelect:v,onRename:D,onDelete:k,onSetDefault:g,onNavigate:m,onNavigateFirst:u,onNavigateLast:N,onHover:p},E)=>{const O=s.type==="user",S=t.useCallback(()=>{v(s)},[v,s]),V=t.useCallback(()=>{p?.(s)},[p,s]),T=t.useCallback(()=>{D(s.id)},[D,s.id]),w=t.useCallback(()=>{k(s.id)},[k,s.id]),x=t.useCallback(a=>{switch(a.key){case"Enter":case" ":a.preventDefault(),v(s);break;case"ArrowRight":a.preventDefault(),m(l,1);break;case"ArrowLeft":a.preventDefault(),m(l,-1);break;case"Home":a.preventDefault(),u();break;case"End":a.preventDefault(),N();break}},[s,l,v,m,u,N]);return e.jsxs("div",{ref:E,role:"tab","aria-selected":r,"aria-posinset":l+1,"aria-setsize":b,tabIndex:r?0:-1,onClick:S,onKeyDown:x,onMouseEnter:V,className:X.cn("group relative flex min-w-[160px] flex-shrink-0 cursor-pointer flex-col gap-[var(--space-xs)] rounded-l p-[var(--space-l)] transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-brand-bold)] focus-visible:ring-offset-2",r?"bg-[var(--blue-50)] hover:bg-[var(--blue-50)]":"bg-[var(--color-background-neutral-default)] hover:bg-[var(--color-background-neutral-hovered)]",!o&&"pointer-events-none invisible absolute"),children:[e.jsxs("div",{className:"flex min-h-[var(--size-s)] items-center justify-between gap-[var(--space-xs)]",children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-xs)]",children:[O&&e.jsx(j.Icon,{name:"bookmark",size:"s",color:"secondary",className:"flex-shrink-0"}),e.jsx("div",{className:"text-body-md whitespace-nowrap text-[var(--color-text-primary)]",children:s.name})]}),O&&e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsx(I.Button,{variant:"ghost",size:"s","aria-label":`Options for ${s.name}`,className:"p-[var(--space-xs)] opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100",tabIndex:-1,onClick:a=>a.stopPropagation(),children:e.jsx(j.Icon,{name:"more-horizontal",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsxs(f.DropdownMenuItem,{onClick:a=>{a.stopPropagation(),T()},children:[e.jsx(j.Icon,{name:"pencil",className:"mr-2 h-4 w-4"}),"Rename"]}),e.jsxs(f.DropdownMenuItem,{onClick:a=>{a.stopPropagation(),w()},destructive:!0,children:[e.jsx(j.Icon,{name:"trash-2",className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),e.jsx("div",{className:"text-heading-lg text-[var(--color-text-primary)]",children:s.isLoadingCount?e.jsx(fe.Skeleton,{height:32,width:40}):s.count??" "})]})}));ve.displayName="BookmarkTab";function Me({bookmarks:s,systemBookmarks:r,activeBookmarkId:o,"aria-label":l="Bookmarks",onSelect:b,onRename:v,onDelete:D,onSetDefault:k,onBookmarkHover:g,onOverflowMenuChange:m}){const[u,N]=t.useState(!1),[p,E]=t.useState(null),O=t.useCallback(n=>{N(n),m?.(n)},[m]),[S,V]=t.useState(null),T=t.useRef(null),w=t.useRef(new Map),x=t.useMemo(()=>[...r,...s],[r,s]);t.useEffect(()=>{p&&!x.some(n=>n.id===p)&&E(null)},[x,p]),t.useEffect(()=>{if(!T.current||x.length===0)return;let n=null;const d=()=>{n&&clearTimeout(n),n=setTimeout(()=>{const h=T.current;if(!h||w.current.size<x.length)return;const R=h.offsetWidth,C=new Map;x.forEach(F=>{const ne=w.current.get(F.id);ne&&C.set(F.id,ne.offsetWidth)});const q=8,c=32,y=52;let H=0,z=0,B=!1;const he=r.length,je=s.length>0,ke=he>0&&je?he:-1;for(let F=0;F<x.length;F++){const ne=x[F],xe=C.get(ne.id);if(xe===void 0)continue;F===ke&&(B=!0,H+=c+q);const te=H+xe+(z>0||B?q:0);if((F<x.length-1?te+q+y:te)>R)break;H=te,z++}z===0&&x.length>0&&(z=1),V(z)},100)};d();const i=new ResizeObserver(d);return i.observe(T.current),()=>{n&&clearTimeout(n),i.disconnect()}},[x,r.length,s.length]);const{visibleBookmarks:a,overflowBookmarks:P}=t.useMemo(()=>{if(S===null)return{visibleBookmarks:x,overflowBookmarks:[]};const n=x.slice(0,S),d=x.slice(S),i=p?d.find(h=>h.id===p):null;if(i&&n.length>0){const h=n[n.length-1],R=[...n.slice(0,-1),i],C=[h,...d.filter(q=>q.id!==p)];return{visibleBookmarks:R,overflowBookmarks:C}}return{visibleBookmarks:n,overflowBookmarks:d}},[x,S,p]),W=t.useCallback((n,d)=>{let i=n+d;i<0?i=a.length-1:i>=a.length&&(i=0);const h=a[i];h&&w.current.get(h.id)?.focus()},[a]),L=t.useCallback(n=>{b(n)},[b]),_=t.useCallback(()=>{const n=a[0];n&&w.current.get(n.id)?.focus()},[a]),Q=t.useCallback(()=>{const n=a[a.length-1];n&&w.current.get(n.id)?.focus()},[a]),Y=a.length,$=t.useMemo(()=>{for(let n=0;n<a.length-1;n++)if(a[n].type==="system"&&a[n+1].type==="user")return n;return-1},[a]),Z=t.useCallback(n=>{a.some(i=>i.id===n.id)&&n.id!==p&&E(null),b(n)},[a,p,b]),ee=t.useCallback(n=>{E(n.id),b(n),O(!1)},[b,O]),G=t.useMemo(()=>[...a,...P],[a,P]),K=t.useMemo(()=>new Set(a.map(n=>n.id)),[a]);return e.jsxs("div",{ref:T,role:"tablist","aria-label":l,className:"flex items-center gap-[var(--space-s)]",children:[G.map((n,d)=>{const i=K.has(n.id),h=i?a.findIndex(C=>C.id===n.id):-1,R=i&&h===$;return e.jsxs(t.Fragment,{children:[e.jsx(ve,{ref:C=>{C?w.current.set(n.id,C):w.current.delete(n.id)},bookmark:n,isActive:o===n.id,isVisible:i,index:h>=0?h:d,totalTabs:Y,onSelect:i?Z:L,onRename:v,onDelete:D,onSetDefault:k,onNavigate:W,onNavigateFirst:_,onNavigateLast:Q,onHover:g}),R&&e.jsx(pe.Separator,{type:"line",layout:"horizontal",className:"h-20 flex-shrink-0","aria-hidden":"true"})]},n.id)}),P.length>0&&e.jsxs(re.Popover,{open:u,onOpenChange:O,children:[e.jsx(re.PopoverTrigger,{asChild:!0,children:e.jsx("button",{"aria-label":`Show ${P.length} more bookmarks`,"aria-expanded":u,className:X.cn("flex cursor-pointer flex-shrink-0 items-center justify-center rounded-l border border-[var(--color-border-action-outline)] bg-transparent px-[var(--space-m)] transition-colors hover:bg-[var(--color-background-neutral-subtlest-hovered)]","min-h-[88px]","focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-brand-bold)] focus-visible:ring-offset-2"),children:e.jsx(j.Icon,{name:"chevron-down",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})})}),e.jsx(re.PopoverContent,{align:"end",side:"bottom",className:"w-[280px] p-[var(--space-s)]",role:"menu","aria-label":"More bookmarks",children:e.jsx("div",{className:"flex flex-col",children:P.map(n=>{const d=o===n.id,i=n.type==="user";return e.jsxs("button",{role:"menuitem","aria-label":`Select ${n.name} bookmark${d?" (currently selected)":""}`,onClick:()=>ee(n),className:X.cn("text-body-md flex cursor-pointer items-center gap-[var(--space-s)] rounded-m px-[var(--space-m)] py-[var(--space-s)] text-left transition-colors","hover:bg-[var(--color-background-neutral-subtlest-hovered)]","focus:outline-none focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)]"),children:[i&&e.jsx(j.Icon,{name:"bookmark",className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),!i&&e.jsx("div",{className:"w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-1 items-center gap-[var(--space-xs)]",children:[e.jsx("span",{className:"truncate",children:n.name}),(n.count!==void 0||n.isLoadingCount)&&e.jsx(Se.Badge,{size:"s",intent:"neutral",appearance:"subtle",children:n.isLoadingCount?e.jsx(fe.Skeleton,{height:16,width:24}):n.count})]}),n.isDefault&&e.jsx(j.Icon,{name:"star",className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-warning-bold)]","aria-hidden":"true"}),d&&e.jsx(j.Icon,{name:"check",className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]","aria-hidden":"true"})]},n.id)})})})]})]})}function oe({children:s}){return e.jsx(e.Fragment,{children:s})}function le({children:s}){return e.jsx(e.Fragment,{children:s})}function ie({children:s}){return e.jsx(e.Fragment,{children:s})}function ce(){const{isDirty:s,handleRevert:r}=U();return s?e.jsx(I.Button,{variant:"ghost",onClick:r,className:"h-[var(--size-m)]",children:"Revert changes"}):null}function ue(){const{isDirty:s,isSystemBookmark:r,openCreateDialog:o}=U();return!s||!r?null:e.jsx(I.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Create bookmark"})}function ge(){const{isDirty:s,isSystemBookmark:r,handleUpdate:o}=U();return!s||r?null:e.jsx(I.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Update bookmark"})}function de(){const{isDirty:s,isSystemBookmark:r,handleRevert:o}=U();return!s||!r?null:e.jsx(I.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Reset"})}function me(){const{isDirty:s,isSystemBookmark:r,handleUpdate:o,openCreateDialog:l}=U();return!s||r?null:e.jsx(ze,{onUpdate:o,onCreate:l})}function be(){const{isDirty:s,isSystemBookmark:r}=U();return s?e.jsxs(e.Fragment,{children:[e.jsx(pe.Separator,{type:"dot",layout:"horizontal"}),r?e.jsxs(e.Fragment,{children:[e.jsx(de,{}),e.jsx(ue,{})]}):e.jsxs(e.Fragment,{children:[e.jsx(ce,{}),e.jsx(me,{})]})]}):null}function M({variant:s,bookmarks:r,systemBookmarks:o,activeBookmarkId:l,isDirty:b,children:v,"aria-label":D="Bookmarks",onSelect:k,onRevert:g,onSave:m,onRename:u,onDelete:N,onSetDefault:p,onBookmarkHover:E,onOverflowMenuChange:O,onDialogChange:S}){const[V,T]=t.useState(!1),[w,x]=t.useState(!1),[a,P]=t.useState(),W=t.useCallback(c=>{x(c),S?.(c?"create":null)},[S]),L=t.useCallback(c=>{T(c),S?.(c?"rename":null)},[S]),_=t.useMemo(()=>[...o,...r],[o,r]),Q=t.useMemo(()=>_.find(c=>c.id===l),[_,l]),Y=Q?.type==="system",$=t.useCallback(c=>{P(c||l),L(!0)},[l,L]),Z=t.useCallback(async c=>{a&&await u(a,c)},[a,u]),ee=t.useCallback(async c=>{await m("create",c)},[m]),G=t.useCallback(async c=>{const y=c||l;y&&await N(y)},[l,N]),K=t.useCallback(async c=>{const y=c||l;y&&await p(y)},[l,p]),n=t.useMemo(()=>_.find(c=>c.id===a),[_,a]),{contentSlot:d,actionsSlot:i,settingsSlot:h}=t.useMemo(()=>{let c=null,y=null,H=null;const z=[];return t.Children.forEach(v,B=>{t.isValidElement(B)?B.type===oe?c=B.props.children:B.type===le?y=B.props.children:B.type===ie?H=B.props.children:z.push(B):z.push(B)}),!c&&z.length>0&&(c=z),{contentSlot:c,actionsSlot:y,settingsSlot:H}},[v]),R=t.useCallback(()=>W(!0),[W]),C=t.useCallback(()=>m("update"),[m]),q=t.useMemo(()=>({isDirty:b,isSystemBookmark:Y,activeBookmark:Q,openCreateDialog:R,openRenameDialog:$,handleRevert:g,handleUpdate:C,handleDelete:G,handleSetDefault:K}),[b,Y,Q,R,$,g,C,G,K]);return s==="tabs"?e.jsxs(ae.Provider,{value:q,children:[e.jsx(Me,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,"aria-label":D,onSelect:k,onRename:$,onDelete:G,onSetDefault:K,onBookmarkHover:E,onOverflowMenuChange:O}),(d||i||h)&&e.jsxs("div",{className:"flex items-center",children:[e.jsxs("div",{className:"flex items-center gap-[7px] flex-1 min-w-0 overflow-hidden",children:[d&&e.jsx("div",{className:"flex items-center gap-[7px] min-w-0",children:d}),i&&e.jsx("div",{className:"flex items-center gap-[7px] flex-shrink-0",children:i})]}),h&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-[var(--space-m)]"}),e.jsx("div",{className:"flex-shrink-0",children:h})]})]}),e.jsx(se,{open:w,onOpenChange:W,mode:"create",onSave:ee}),e.jsx(se,{open:V,onOpenChange:L,mode:"rename",initialName:n?.name,onSave:Z})]}):e.jsxs(ae.Provider,{value:q,children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-m)]",children:[e.jsx(ye,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,onSelect:k,onRename:()=>$(),onDelete:()=>G(),onSetDefault:()=>K()}),e.jsxs("div",{className:"flex items-center gap-[7px] flex-1 min-w-0 overflow-hidden",children:[d&&e.jsx("div",{className:"flex items-center gap-[7px]",children:d}),i&&e.jsx("div",{className:"flex items-center gap-[7px] flex-shrink-0",children:i})]}),h&&e.jsx("div",{className:"flex-shrink-0",children:h})]}),e.jsx(se,{open:w,onOpenChange:W,mode:"create",onSave:ee}),e.jsx(se,{open:V,onOpenChange:L,mode:"rename",initialName:n?.name,onSave:Z})]})}M.Content=oe;M.Actions=le;M.Settings=ie;M.DefaultActions=be;M.RevertButton=ce;M.CreateButton=ue;M.SaveButton=ge;M.ResetButton=de;M.SaveDropdown=me;exports.Bookmarks=M;exports.BookmarksActions=le;exports.BookmarksContent=oe;exports.BookmarksCreateButton=ue;exports.BookmarksDefaultActions=be;exports.BookmarksResetButton=de;exports.BookmarksRevertButton=ce;exports.BookmarksSaveButton=ge;exports.BookmarksSaveDropdown=me;exports.BookmarksSettings=ie;exports.useBookmarksActions=U;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),Ce=require("react"),Y=require("../../lib/utils.cjs"),O=require("../fundamental/button.cjs"),Be=require("../fundamental/button-group.cjs"),j=require("../fundamental/icon.cjs"),w=require("lucide-react"),fe=require("../fundamental/separator.cjs"),A=require("../fundamental/select.cjs"),f=require("../fundamental/dropdown-menu.cjs"),ae=require("../fundamental/popover.cjs"),Q=require("../fundamental/dialog.cjs"),De=require("../fundamental/input.cjs"),Se=require("../fundamental/label.cjs"),Ne=require("../fundamental/badge.cjs"),ve=require("../fundamental/skeleton.cjs");function ye(s){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const o in s)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(s,o);Object.defineProperty(r,o,l.get?l:{enumerable:!0,get:()=>s[o]})}}return r.default=s,Object.freeze(r)}const t=ye(Ce),oe=t.createContext(null);function V(){const s=t.useContext(oe);if(!s)throw new Error("useBookmarksActions must be used within Bookmarks");return s}function te({open:s,onOpenChange:r,mode:o,initialName:l="",onSave:b}){const[v,S]=t.useState(l);t.useEffect(()=>{s&&S(l)},[s,l]);const k=()=>{v.trim()&&(b(v.trim()),r(!1))};return e.jsx(Q.Dialog,{open:s,onOpenChange:r,children:e.jsxs(Q.DialogContent,{children:[e.jsx(Q.DialogHeader,{children:e.jsx(Q.DialogTitle,{children:o==="create"?"Create bookmark":"Rename bookmark"})}),e.jsx(Q.DialogBody,{children:e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx(Se.Label,{htmlFor:"bookmark-name",children:"Bookmark name"}),e.jsx(De.Input,{id:"bookmark-name",value:v,onChange:g=>S(g.target.value),placeholder:"Enter bookmark name...",onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),k())},autoFocus:!0})]})}),e.jsxs(Q.DialogFooter,{children:[e.jsx(O.Button,{variant:"default",onClick:()=>r(!1),children:"Cancel"}),e.jsx(O.Button,{variant:"primary",onClick:k,disabled:!v.trim(),children:o==="create"?"Create":"Save"})]})]})})}function ze({bookmarks:s,systemBookmarks:r,activeBookmarkId:o,onSelect:l,onRename:b,onDelete:v,onSetDefault:S}){const k=t.useMemo(()=>[...r,...s],[r,s]),g=t.useMemo(()=>k.find(u=>u.id===o),[k,o]),m=g?.type==="system";return e.jsxs(Be.ButtonGroup,{children:[e.jsxs(A.Select,{value:o,onValueChange:u=>{const y=k.find(p=>p.id===u);y&&l(y)},children:[e.jsxs(A.SelectTrigger,{className:Y.cn("!text-label-md relative z-0 h-[var(--size-m)] w-auto gap-[var(--space-xs)] border border-[var(--color-border-action-outline)] bg-[var(--color-background-neutral-subtlest)] pr-[var(--space-m)] pl-[var(--space-s)] text-[var(--color-text-primary)] hover:border-[var(--color-border-action-outline-hovered)] hover:bg-[var(--color-background-neutral-subtlest-hovered)] hover:shadow-sm focus:border-[var(--color-border-action-outline)] focus:ring-0 focus:outline-none focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 active:translate-y-px active:bg-[var(--grey-alpha-50)] active:shadow-xs data-[state=open]:ring-0",m?"rounded-m":"rounded-l-m !rounded-r-none !border-r-0"),children:[e.jsx(j.Icon,{name:w.Bookmark,size:"m",color:"primary"}),g?.name||"Bookmarks"]}),e.jsxs(A.SelectContent,{align:"start",position:"popper",className:"min-w-[200px]",children:[r.length>0&&e.jsx(e.Fragment,{children:r.map(u=>e.jsx(A.SelectItem,{value:u.id,children:e.jsx("div",{className:"flex items-center gap-[var(--space-s)] pr-6",children:e.jsx("span",{children:u.name})})},u.id))}),r.length>0&&s.length>0&&e.jsx(A.SelectSeparator,{}),s.length>0&&e.jsxs(A.SelectGroup,{children:[e.jsx(A.SelectLabel,{children:"Custom Bookmarks"}),s.map(u=>e.jsx(A.SelectItem,{value:u.id,children:e.jsxs("div",{className:"flex items-center gap-[var(--space-s)] pr-6",children:[e.jsx(j.Icon,{name:w.Bookmark,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"}),e.jsx("span",{className:"truncate",children:u.name}),u.isDefault&&e.jsx(j.Icon,{name:w.Star,className:"h-[var(--size-2xs)] w-[var(--size-2xs)] flex-shrink-0 text-[var(--color-icon-warning-bold)]"})]})},u.id))]})]})]}),!m&&e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsx(O.Button,{icon:"more-horizontal","aria-label":"Bookmark options",className:"!rounded-l-none rounded-r-md !border-l !border-l-[var(--color-border-action-outline)] focus:ring-0 data-[state=open]:ring-0"})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsxs(f.DropdownMenuItem,{onClick:u=>{if(m){u.preventDefault();return}b()},disabled:m,children:[e.jsx(j.Icon,{name:w.Pencil,className:"mr-2 h-4 w-4"}),"Rename"]}),e.jsxs(f.DropdownMenuItem,{onClick:u=>{if(m){u.preventDefault();return}v()},disabled:m,destructive:!0,children:[e.jsx(j.Icon,{name:w.Trash2,className:"mr-2 h-4 w-4"}),"Delete"]}),!m&&e.jsxs(e.Fragment,{children:[e.jsx(f.DropdownMenuSeparator,{}),e.jsxs(f.DropdownMenuItem,{onClick:S,children:[e.jsx(j.Icon,{name:(g?.isDefault,"star"),className:Y.cn("mr-2 h-4 w-4",g?.isDefault&&"text-[var(--color-icon-warning-bold)]")}),g?.isDefault?"Unset as Default":"Set as Default"]})]})]})]})]})}function Me({onUpdate:s,onCreate:r}){return e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(O.Button,{variant:"ghost",className:"h-[var(--size-m)] gap-[var(--space-xs)] px-[var(--space-m)] data-[state=open]:ring-0",children:[e.jsx("span",{className:"text-label-md",children:"Save"}),e.jsx(j.Icon,{name:w.ChevronDown,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})]})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsx(f.DropdownMenuItem,{onClick:s,children:"Update bookmark"}),e.jsx(f.DropdownMenuItem,{onClick:r,children:"Create new bookmark"})]})]})}const ge=t.memo(t.forwardRef(({bookmark:s,isActive:r,isVisible:o=!0,index:l,totalTabs:b,onSelect:v,onRename:S,onDelete:k,onSetDefault:g,onNavigate:m,onNavigateFirst:u,onNavigateLast:y,onHover:p},E)=>{const T=s.type==="user",N=t.useCallback(()=>{v(s)},[v,s]),W=t.useCallback(()=>{p?.(s)},[p,s]),q=t.useCallback(()=>{S(s.id)},[S,s.id]),C=t.useCallback(()=>{k(s.id)},[k,s.id]),x=t.useCallback(a=>{switch(a.key){case"Enter":case" ":a.preventDefault(),v(s);break;case"ArrowRight":a.preventDefault(),m(l,1);break;case"ArrowLeft":a.preventDefault(),m(l,-1);break;case"Home":a.preventDefault(),u();break;case"End":a.preventDefault(),y();break}},[s,l,v,m,u,y]);return e.jsxs("div",{ref:E,role:"tab","aria-selected":r,"aria-posinset":l+1,"aria-setsize":b,tabIndex:r?0:-1,onClick:N,onKeyDown:x,onMouseEnter:W,className:Y.cn("group relative flex min-w-[160px] flex-shrink-0 cursor-pointer flex-col gap-[var(--space-xs)] rounded-l p-[var(--space-l)] transition-colors","focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-brand-bold)] focus-visible:ring-offset-2",r?"bg-[var(--blue-50)] hover:bg-[var(--blue-50)]":"bg-[var(--color-background-neutral-default)] hover:bg-[var(--color-background-neutral-hovered)]",!o&&"pointer-events-none invisible absolute"),children:[e.jsxs("div",{className:"flex min-h-[var(--size-s)] items-center justify-between gap-[var(--space-xs)]",children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-xs)]",children:[T&&e.jsx(j.Icon,{name:w.Bookmark,size:"s",color:"secondary",className:"flex-shrink-0"}),e.jsx("div",{className:"text-body-md whitespace-nowrap text-[var(--color-text-primary)]",children:s.name})]}),T&&e.jsxs(f.DropdownMenu,{children:[e.jsx(f.DropdownMenuTrigger,{asChild:!0,children:e.jsx(O.Button,{variant:"ghost",size:"s","aria-label":`Options for ${s.name}`,className:"p-[var(--space-xs)] opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100",tabIndex:-1,onClick:a=>a.stopPropagation(),children:e.jsx(j.Icon,{name:w.MoreHorizontal,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})})}),e.jsxs(f.DropdownMenuContent,{align:"end",children:[e.jsxs(f.DropdownMenuItem,{onClick:a=>{a.stopPropagation(),q()},children:[e.jsx(j.Icon,{name:w.Pencil,className:"mr-2 h-4 w-4"}),"Rename"]}),e.jsxs(f.DropdownMenuItem,{onClick:a=>{a.stopPropagation(),C()},destructive:!0,children:[e.jsx(j.Icon,{name:w.Trash2,className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),e.jsx("div",{className:"text-heading-lg text-[var(--color-text-primary)]",children:s.isLoadingCount?e.jsx(ve.Skeleton,{height:32,width:40}):s.count??" "})]})}));ge.displayName="BookmarkTab";function Re({bookmarks:s,systemBookmarks:r,activeBookmarkId:o,"aria-label":l="Bookmarks",onSelect:b,onRename:v,onDelete:S,onSetDefault:k,onBookmarkHover:g,onOverflowMenuChange:m}){const[u,y]=t.useState(!1),[p,E]=t.useState(null),T=t.useCallback(n=>{y(n),m?.(n)},[m]),[N,W]=t.useState(null),q=t.useRef(null),C=t.useRef(new Map),x=t.useMemo(()=>[...r,...s],[r,s]);t.useEffect(()=>{p&&!x.some(n=>n.id===p)&&E(null)},[x,p]),t.useEffect(()=>{if(!q.current||x.length===0)return;let n=null;const d=()=>{n&&clearTimeout(n),n=setTimeout(()=>{const h=q.current;if(!h||C.current.size<x.length)return;const I=h.offsetWidth,B=new Map;x.forEach(P=>{const se=C.current.get(P.id);se&&B.set(P.id,se.offsetWidth)});const F=8,c=32,z=52;let J=0,M=0,D=!1;const xe=r.length,ke=s.length>0,we=xe>0&&ke?xe:-1;for(let P=0;P<x.length;P++){const se=x[P],pe=B.get(se.id);if(pe===void 0)continue;P===we&&(D=!0,J+=c+F);const re=J+pe+(M>0||D?F:0);if((P<x.length-1?re+F+z:re)>I)break;J=re,M++}M===0&&x.length>0&&(M=1),W(M)},100)};d();const i=new ResizeObserver(d);return i.observe(q.current),()=>{n&&clearTimeout(n),i.disconnect()}},[x,r.length,s.length]);const{visibleBookmarks:a,overflowBookmarks:U}=t.useMemo(()=>{if(N===null)return{visibleBookmarks:x,overflowBookmarks:[]};const n=x.slice(0,N),d=x.slice(N),i=p?d.find(h=>h.id===p):null;if(i&&n.length>0){const h=n[n.length-1],I=[...n.slice(0,-1),i],B=[h,...d.filter(F=>F.id!==p)];return{visibleBookmarks:I,overflowBookmarks:B}}return{visibleBookmarks:n,overflowBookmarks:d}},[x,N,p]),L=t.useCallback((n,d)=>{let i=n+d;i<0?i=a.length-1:i>=a.length&&(i=0);const h=a[i];h&&C.current.get(h.id)?.focus()},[a]),_=t.useCallback(n=>{b(n)},[b]),$=t.useCallback(()=>{const n=a[0];n&&C.current.get(n.id)?.focus()},[a]),X=t.useCallback(()=>{const n=a[a.length-1];n&&C.current.get(n.id)?.focus()},[a]),Z=a.length,G=t.useMemo(()=>{for(let n=0;n<a.length-1;n++)if(a[n].type==="system"&&a[n+1].type==="user")return n;return-1},[a]),ee=t.useCallback(n=>{a.some(i=>i.id===n.id)&&n.id!==p&&E(null),b(n)},[a,p,b]),ne=t.useCallback(n=>{E(n.id),b(n),T(!1)},[b,T]),H=t.useMemo(()=>[...a,...U],[a,U]),K=t.useMemo(()=>new Set(a.map(n=>n.id)),[a]);return e.jsxs("div",{ref:q,role:"tablist","aria-label":l,className:"flex items-center gap-[var(--space-s)]",children:[H.map((n,d)=>{const i=K.has(n.id),h=i?a.findIndex(B=>B.id===n.id):-1,I=i&&h===G;return e.jsxs(t.Fragment,{children:[e.jsx(ge,{ref:B=>{B?C.current.set(n.id,B):C.current.delete(n.id)},bookmark:n,isActive:o===n.id,isVisible:i,index:h>=0?h:d,totalTabs:Z,onSelect:i?ee:_,onRename:v,onDelete:S,onSetDefault:k,onNavigate:L,onNavigateFirst:$,onNavigateLast:X,onHover:g}),I&&e.jsx(fe.Separator,{type:"line",layout:"horizontal",className:"h-20 flex-shrink-0","aria-hidden":"true"})]},n.id)}),U.length>0&&e.jsxs(ae.Popover,{open:u,onOpenChange:T,children:[e.jsx(ae.PopoverTrigger,{asChild:!0,children:e.jsx("button",{"aria-label":`Show ${U.length} more bookmarks`,"aria-expanded":u,className:Y.cn("flex cursor-pointer flex-shrink-0 items-center justify-center rounded-l border border-[var(--color-border-action-outline)] bg-transparent px-[var(--space-m)] transition-colors hover:bg-[var(--color-background-neutral-subtlest-hovered)]","min-h-[88px]","focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-brand-bold)] focus-visible:ring-offset-2"),children:e.jsx(j.Icon,{name:w.ChevronDown,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]"})})}),e.jsx(ae.PopoverContent,{align:"end",side:"bottom",className:"w-[280px] p-[var(--space-s)]",role:"menu","aria-label":"More bookmarks",children:e.jsx("div",{className:"flex flex-col",children:U.map(n=>{const d=o===n.id,i=n.type==="user";return e.jsxs("button",{role:"menuitem","aria-label":`Select ${n.name} bookmark${d?" (currently selected)":""}`,onClick:()=>ne(n),className:Y.cn("text-body-md flex cursor-pointer items-center gap-[var(--space-s)] rounded-m px-[var(--space-m)] py-[var(--space-s)] text-left transition-colors","hover:bg-[var(--color-background-neutral-subtlest-hovered)]","focus:outline-none focus-visible:bg-[var(--color-background-neutral-subtlest-hovered)]"),children:[i&&e.jsx(j.Icon,{name:w.Bookmark,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),!i&&e.jsx("div",{className:"w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-1 items-center gap-[var(--space-xs)]",children:[e.jsx("span",{className:"truncate",children:n.name}),(n.count!==void 0||n.isLoadingCount)&&e.jsx(Ne.Badge,{size:"s",intent:"neutral",appearance:"subtle",children:n.isLoadingCount?e.jsx(ve.Skeleton,{height:16,width:24}):n.count})]}),n.isDefault&&e.jsx(j.Icon,{name:w.Star,className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-warning-bold)]","aria-hidden":"true"}),d&&e.jsx(j.Icon,{name:w.Check,className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]","aria-hidden":"true"})]},n.id)})})})]})]})}function le({children:s}){return e.jsx(e.Fragment,{children:s})}function ie({children:s}){return e.jsx(e.Fragment,{children:s})}function ce({children:s}){return e.jsx(e.Fragment,{children:s})}function ue(){const{isDirty:s,handleRevert:r}=V();return s?e.jsx(O.Button,{variant:"ghost",onClick:r,className:"h-[var(--size-m)]",children:"Revert changes"}):null}function de(){const{isDirty:s,isSystemBookmark:r,openCreateDialog:o}=V();return!s||!r?null:e.jsx(O.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Create bookmark"})}function be(){const{isDirty:s,isSystemBookmark:r,handleUpdate:o}=V();return!s||r?null:e.jsx(O.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Update bookmark"})}function me(){const{isDirty:s,isSystemBookmark:r,handleRevert:o}=V();return!s||!r?null:e.jsx(O.Button,{variant:"ghost",onClick:o,className:"h-[var(--size-m)]",children:"Reset"})}function he(){const{isDirty:s,isSystemBookmark:r,handleUpdate:o,openCreateDialog:l}=V();return!s||r?null:e.jsx(Me,{onUpdate:o,onCreate:l})}function je(){const{isDirty:s,isSystemBookmark:r}=V();return s?e.jsxs(e.Fragment,{children:[e.jsx(fe.Separator,{type:"dot",layout:"horizontal"}),r?e.jsxs(e.Fragment,{children:[e.jsx(me,{}),e.jsx(de,{})]}):e.jsxs(e.Fragment,{children:[e.jsx(ue,{}),e.jsx(he,{})]})]}):null}function R({variant:s,bookmarks:r,systemBookmarks:o,activeBookmarkId:l,isDirty:b,children:v,"aria-label":S="Bookmarks",onSelect:k,onRevert:g,onSave:m,onRename:u,onDelete:y,onSetDefault:p,onBookmarkHover:E,onOverflowMenuChange:T,onDialogChange:N}){const[W,q]=t.useState(!1),[C,x]=t.useState(!1),[a,U]=t.useState(),L=t.useCallback(c=>{x(c),N?.(c?"create":null)},[N]),_=t.useCallback(c=>{q(c),N?.(c?"rename":null)},[N]),$=t.useMemo(()=>[...o,...r],[o,r]),X=t.useMemo(()=>$.find(c=>c.id===l),[$,l]),Z=X?.type==="system",G=t.useCallback(c=>{U(c||l),_(!0)},[l,_]),ee=t.useCallback(async c=>{a&&await u(a,c)},[a,u]),ne=t.useCallback(async c=>{await m("create",c)},[m]),H=t.useCallback(async c=>{const z=c||l;z&&await y(z)},[l,y]),K=t.useCallback(async c=>{const z=c||l;z&&await p(z)},[l,p]),n=t.useMemo(()=>$.find(c=>c.id===a),[$,a]),{contentSlot:d,actionsSlot:i,settingsSlot:h}=t.useMemo(()=>{let c=null,z=null,J=null;const M=[];return t.Children.forEach(v,D=>{t.isValidElement(D)?D.type===le?c=D.props.children:D.type===ie?z=D.props.children:D.type===ce?J=D.props.children:M.push(D):M.push(D)}),!c&&M.length>0&&(c=M),{contentSlot:c,actionsSlot:z,settingsSlot:J}},[v]),I=t.useCallback(()=>L(!0),[L]),B=t.useCallback(()=>m("update"),[m]),F=t.useMemo(()=>({isDirty:b,isSystemBookmark:Z,activeBookmark:X,openCreateDialog:I,openRenameDialog:G,handleRevert:g,handleUpdate:B,handleDelete:H,handleSetDefault:K}),[b,Z,X,I,G,g,B,H,K]);return s==="tabs"?e.jsxs(oe.Provider,{value:F,children:[e.jsx(Re,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,"aria-label":S,onSelect:k,onRename:G,onDelete:H,onSetDefault:K,onBookmarkHover:E,onOverflowMenuChange:T}),(d||i||h)&&e.jsxs("div",{className:"flex items-center",children:[e.jsxs("div",{className:"flex items-center gap-[7px] flex-1 min-w-0 overflow-hidden",children:[d&&e.jsx("div",{className:"flex items-center gap-[7px] min-w-0",children:d}),i&&e.jsx("div",{className:"flex items-center gap-[7px] flex-shrink-0",children:i})]}),h&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-[var(--space-m)]"}),e.jsx("div",{className:"flex-shrink-0",children:h})]})]}),e.jsx(te,{open:C,onOpenChange:L,mode:"create",onSave:ne}),e.jsx(te,{open:W,onOpenChange:_,mode:"rename",initialName:n?.name,onSave:ee})]}):e.jsxs(oe.Provider,{value:F,children:[e.jsxs("div",{className:"flex items-center gap-[var(--space-m)]",children:[e.jsx(ze,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,onSelect:k,onRename:()=>G(),onDelete:()=>H(),onSetDefault:()=>K()}),e.jsxs("div",{className:"flex items-center gap-[7px] flex-1 min-w-0 overflow-hidden",children:[d&&e.jsx("div",{className:"flex items-center gap-[7px]",children:d}),i&&e.jsx("div",{className:"flex items-center gap-[7px] flex-shrink-0",children:i})]}),h&&e.jsx("div",{className:"flex-shrink-0",children:h})]}),e.jsx(te,{open:C,onOpenChange:L,mode:"create",onSave:ne}),e.jsx(te,{open:W,onOpenChange:_,mode:"rename",initialName:n?.name,onSave:ee})]})}R.Content=le;R.Actions=ie;R.Settings=ce;R.DefaultActions=je;R.RevertButton=ue;R.CreateButton=de;R.SaveButton=be;R.ResetButton=me;R.SaveDropdown=he;exports.Bookmarks=R;exports.BookmarksActions=ie;exports.BookmarksContent=le;exports.BookmarksCreateButton=de;exports.BookmarksDefaultActions=je;exports.BookmarksResetButton=me;exports.BookmarksRevertButton=ue;exports.BookmarksSaveButton=be;exports.BookmarksSaveDropdown=he;exports.BookmarksSettings=ce;exports.useBookmarksActions=V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),B=require("../fundamental/button.cjs"),x=require("../fundamental/dropdown-menu.cjs"),n=require("../fundamental/select.cjs"),F=require("../fundamental/toggle.cjs"),M=require("../fundamental/icon.cjs"),E=require("../fundamental/input.cjs");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),B=require("../fundamental/button.cjs"),x=require("../fundamental/dropdown-menu.cjs"),n=require("../fundamental/select.cjs"),F=require("../fundamental/toggle.cjs"),M=require("../fundamental/icon.cjs"),L=require("lucide-react"),E=require("../fundamental/input.cjs");function q(i){if(i?.directionOptions)return i.directionOptions;if(i?.dataType)switch(i.dataType){case"text":return{asc:"A to Z",desc:"Z to A"};case"number":return{asc:"Ascending",desc:"Descending"};case"date":return{asc:"Oldest first",desc:"Newest first"};case"boolean":return{asc:"False first",desc:"True first"}}return{asc:"Ascending",desc:"Descending"}}function J({sortableColumns:i,selectedSortColumn:c,sortDirection:z="asc",onSortChange:j,onSortDirectionChange:p,groupableColumns:o,selectedGroupColumn:V,onGroupChange:b,columns:r,visibleColumns:A,onColumnVisibilityChange:v,align:C="end",triggerClassName:$}){const[u,k]=t.useState(""),[G,d]=t.useState(""),m=t.useId(),S=t.useId(),f=t.useId(),H=t.useCallback(s=>{const a=i.find(l=>l.id===s)?.label;d(`Sorting by ${a}`),j?.(s)},[i,j]),O=t.useCallback(s=>{const a=i.find(Z=>Z.id===c),l=q(a),g=s==="asc"?l.asc:l.desc;d(`Sort direction: ${g}`),p?.(s)},[i,c,p]),R=t.useCallback(s=>{if(s==="none")d("Grouping cleared");else{const a=o.find(l=>l.id===s)?.label;d(`Grouping by ${a}`)}b?.(s)},[o,b]),P=t.useCallback((s,a)=>{const l=r.find(g=>g.id===s)?.label;d(a?`${l} column shown`:`${l} column hidden`),v?.(s,a)},[r,v]),w=i.length>0,y=o.length>0,N=r.length>0,D=w||y,T=t.useMemo(()=>i.find(s=>s.id===c),[i,c]),I=t.useMemo(()=>q(T),[T]),h=t.useMemo(()=>{if(!u)return r;const s=u.toLowerCase();return r.filter(a=>a.label.toLowerCase().includes(s))},[r,u]),W=r.length>=20;return e.jsxs(x.DropdownMenu,{children:[e.jsx(x.DropdownMenuTrigger,{asChild:!0,children:e.jsx(B.Button,{size:"m",icon:"settings","aria-label":"Table settings",className:$})}),e.jsxs(x.DropdownMenuContent,{align:C,className:"w-72 max-w-[90vw]",children:[D&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-4",children:[w&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":m,children:[e.jsx("h4",{id:m,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(n.Select,{value:c,onValueChange:H,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to sort"})}),e.jsx(n.SelectContent,{children:i.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))})]}),c&&e.jsxs(n.Select,{value:z,onValueChange:s=>O(s),children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(M.Icon,{name:L.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:I.asc})]})}),e.jsx(n.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(M.Icon,{name:L.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:I.desc})]})})]})]})]})]}),y&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":S,children:[e.jsx("h4",{id:S,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Grouping"}),e.jsxs(n.Select,{value:V||"none",onValueChange:R,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to group by"})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"none",children:"None"}),o.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))]})]})]})]})}),D&&N&&e.jsx(x.DropdownMenuSeparator,{}),N&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":f,children:[e.jsx("h4",{id:f,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Display columns"}),W&&e.jsx(E.Input,{type:"search",size:"s",placeholder:"Search columns...","aria-label":"Search columns",value:u,onChange:s=>k(s.target.value)}),e.jsx("div",{className:"flex flex-wrap items-start justify-start gap-1 max-h-[190px] overflow-y-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",role:h.length>15?"region":void 0,"aria-label":h.length>15?"Column visibility toggles, scrollable":void 0,tabIndex:h.length>15?0:void 0,children:h.map(s=>{const a=A.includes(s.id);return e.jsx(F.Toggle,{variant:"outline",size:"s",pressed:a,"aria-label":a?`Hide ${s.label} column`:`Show ${s.label} column`,onPressedChange:l=>{P(s.id,l)},children:s.label},s.id)})})]})}),e.jsx("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:G})]})]})}exports.DataTableSettingsMenu=J;
|