@rafal.lemieszewski/tide-ui 0.88.1 → 0.88.2
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/product/app-frame.cjs +1 -1
- package/dist/cjs/components/product/bookmarks.cjs +1 -1
- package/dist/cjs/components/product/filters.cjs +1 -1
- package/dist/es/components/product/app-frame.js +3 -3
- package/dist/es/components/product/bookmarks.js +28 -29
- package/dist/es/components/product/filters.js +566 -517
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),E=require("react"),l=require("../fundamental/sidebar.cjs"),U=require("../fundamental/button.cjs"),p=require("../fundamental/icon.cjs"),d=require("lucide-react"),u=require("../fundamental/avatar.cjs"),H=require("../fundamental/separator.cjs"),V=require("../fundamental/kbd.cjs"),a=require("../fundamental/dropdown-menu.cjs"),c=require("../fundamental/tooltip.cjs"),j=require("../fundamental/command.cjs");function R(o){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const x in o)if(x!=="default"){const t=Object.getOwnPropertyDescriptor(o,x);Object.defineProperty(n,x,t.get?t:{enumerable:!0,get:()=>o[x]})}}return n.default=o,Object.freeze(n)}const g=R(E),G={name:"John Doe",email:"john@example.com",avatarUrl:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=32&h=32&fit=crop&crop=face"},P=[{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"}],q={main:[{title:"Home",icon:d.House,url:"/home",isActive:!1},{title:"News",icon:d.Newspaper,url:"/news",isActive:!1},{title:"Boards",icon:d.LayoutDashboard,url:"/boards",isActive:!1}],operations:[{title:"Voyage economics",icon:d.Ship,url:"/freight-planner",isActive:!1,items:[]},{title:"Trade desk",icon:d.TrendingUp,url:"/trade-desk",isActive:!1,items:[]},{title:"Agreements",icon:d.ScrollText,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:d.ShieldCheck,url:"/compliance",isActive:!1,items:[]}],intelligence:[{title:"Global market",icon:d.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:d.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:"Chokepoints",url:"/assets/chokepoints",isActive:!1}]},{title:"Fixtures",icon:d.Anchor,url:"/fixtures",isActive:!1}],support:[{title:"Notifications",icon:d.Bell,url:"/notifications",isActive:!1},{title:"Help & support",icon:d.CircleHelp,url:"/help-support",isActive:!1}]},D=o=>o.split(" ").filter(Boolean).map(n=>n[0]).join("").slice(0,2).toUpperCase(),L=o=>o.split(" ").filter(Boolean).map(n=>n[0]).join("").slice(0,2).toUpperCase(),O=()=>typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent);function K(o,n){return o.reduce((x,t)=>{const m=n(t);return(x[m]??=[]).push(t),x},{})}function B(o){const n={};return[...o.main||[],...o.operations||[],...o.intelligence||[],...o.support||[]].forEach(t=>{if(t.items&&t.items.length>0){const m=t.items.some(v=>v.isActive);n[t.title]=m}}),n}function Z({navigationData:o,user:n,teams:x,onNavigate:t,navigationMode:m,onNavigationModeChange:v,onSearchChange:y,searchItems:b,searchLoading:k}){const[A,f]=g.useState(!1),[I,M]=g.useState(""),[C,N]=g.useState(()=>B(o)),[s,h]=g.useState(x[0]),S=r=>{N(i=>({...i,[r]:!i[r]}))},F=r=>r.items&&r.items.some(i=>i.isActive),z=r=>{if(r.items&&r.items.length>0){const i=r.items.find(w=>w.isActive);if(i)return`${r.title} → ${i.title}`}return r.title};return g.useEffect(()=>{const r=i=>{i.key==="k"&&(i.metaKey||i.ctrlKey)&&(i.preventDefault(),f(w=>!w))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),g.useEffect(()=>{N(B(o))},[o]),e.jsxs(c.TooltipProvider,{delayDuration:100,children:[e.jsxs(l.Sidebar,{variant:"sidebar",collapsible:"icon",className:"flex h-full flex-col",children:[e.jsx(l.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(p.Icon,{name:d.Search,size:"m",color:"tertiary"})}),e.jsxs("div",{className:"group-data-[collapsible=icon]:hidden",children:[e.jsx("button",{onClick:()=>f(!0),className:"text-body-md flex h-8 w-full cursor-pointer items-center rounded-[var(--border-radius-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(V.Kbd,{size:"s",children:O()?"⌘":"Ctrl"}),e.jsx(V.Kbd,{size:"s",children:"K"})]})]}),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx("button",{onClick:()=>f(!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(p.Icon,{name:d.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(V.Kbd,{size:"s",variant:"dark",children:O()?"⌘":"Ctrl"}),e.jsx(V.Kbd,{size:"s",variant:"dark",children:"K"})]})]})})]})]})}),e.jsx(l.SidebarGroup,{className:"pb-1 mt-1 p-[var(--space-s)]",children:e.jsx(l.SidebarGroupContent,{children:e.jsx(l.SidebarMenu,{children:o.main.map(r=>e.jsx(l.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(l.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(H.Separator,{layout:"vertical"})}),e.jsxs(l.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(l.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Operations"}),e.jsx(l.SidebarGroupContent,{children:e.jsx(l.SidebarMenu,{children:o.operations.map(r=>e.jsx(l.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(l.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>S(r.title),children:[e.jsx(p.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(p.Icon,{name:d.ChevronRight,size:"s",className:`ml-auto transition-transform ${C[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&C[r.title]&&e.jsx(l.SidebarMenuSub,{children:r.items.map(i=>e.jsx(l.SidebarMenuSubItem,{children:e.jsx(l.SidebarMenuSubButton,{isActive:i.isActive,onClick:w=>{t&&(w.preventDefault(),t(i.url))},children:e.jsx("span",{children:i.title})})},i.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(a.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(l.SidebarMenuButton,{isActive:F(r),className:"w-full justify-center",children:e.jsx(p.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:z(r)})]}),e.jsxs(a.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(a.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(a.DropdownMenuSeparator,{}),r.items.map(i=>e.jsx(a.DropdownMenuItem,{className:i.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{t&&t(i.url)},children:i.title},i.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(l.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})]}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(H.Separator,{layout:"vertical"})}),e.jsxs(l.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(l.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Intelligence"}),e.jsx(l.SidebarGroupContent,{children:e.jsx(l.SidebarMenu,{children:o.intelligence.map(r=>e.jsx(l.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(l.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>S(r.title),children:[e.jsx(p.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(p.Icon,{name:d.ChevronRight,size:"s",className:`ml-auto transition-transform ${C[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&C[r.title]&&e.jsx(l.SidebarMenuSub,{children:r.items.map(i=>e.jsx(l.SidebarMenuSubItem,{children:e.jsx(l.SidebarMenuSubButton,{isActive:i.isActive,onClick:w=>{t&&(w.preventDefault(),t(i.url))},children:e.jsx("span",{children:i.title})})},i.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(a.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(l.SidebarMenuButton,{isActive:F(r),className:"w-full justify-center",children:e.jsx(p.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:z(r)})]}),e.jsxs(a.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(a.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(a.DropdownMenuSeparator,{}),r.items.map(i=>e.jsx(a.DropdownMenuItem,{className:i.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{t&&t(i.url)},children:i.title},i.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(l.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})]}),e.jsx(l.SidebarGroup,{className:"pb-2 p-[var(--space-s)] pt-[var(--space-l)] mt-auto",children:e.jsx(l.SidebarGroupContent,{children:e.jsx(l.SidebarMenu,{children:o.support.map(r=>e.jsx(l.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(l.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})})]}),e.jsx(l.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-[var(--border-radius-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(a.DropdownMenu,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(U.Button,{variant:"ghost",className:"h-auto min-h-[56px] w-full justify-start rounded-[var(--border-radius-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(u.Avatar,{size:"m",type:"user",children:[e.jsx(u.AvatarImage,{src:n.avatarUrl,alt:n.name}),e.jsx(u.AvatarFallback,{size:"m",type:"user",children:D(n.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[4px] border-2 border-white p-0",children:e.jsxs(u.Avatar,{size:"xxs",type:"organization",children:[e.jsx(u.AvatarImage,{src:s.avatarUrl,alt:s.name}),e.jsx(u.AvatarFallback,{size:"xxs",type:"organization",children:L(s.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:n.name}),e.jsxs("div",{className:"text-body-xsm text-[var(--color-text-secondary)]",children:[s.role," at ",s.name]})]}),e.jsx(p.Icon,{name:d.ChevronDown,size:"m",className:"opacity-50"})]}),e.jsxs("div",{className:"relative hidden group-data-[collapsible=icon]:block",children:[e.jsxs(u.Avatar,{size:"s",type:"user",children:[e.jsx(u.AvatarImage,{src:n.avatarUrl,alt:n.name}),e.jsx(u.AvatarFallback,{size:"s",type:"user",children:D(n.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[2px] border-2 border-white bg-[var(--color-surface-primary)]",children:e.jsxs(u.Avatar,{size:"xxs",type:"organization",children:[e.jsx(u.AvatarImage,{src:s.avatarUrl,alt:s.name}),e.jsx(u.AvatarFallback,{size:"xxs",type:"organization",children:L(s.name)})]})})]})]})}),e.jsxs(a.DropdownMenuContent,{className:"w-[--radix-dropdown-menu-trigger-width]",align:"start",side:"top",sideOffset:4,children:[e.jsx(a.DropdownMenuLabel,{className:"p-0 font-normal",children:e.jsxs("div",{className:"flex items-center gap-3 px-2 py-2",children:[e.jsxs(u.Avatar,{size:"s",type:"user",children:[e.jsx(u.AvatarImage,{src:n.avatarUrl,alt:n.name}),e.jsx(u.AvatarFallback,{size:"s",type:"user",children:D(n.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:n.name}),e.jsx("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:n.email})]})]})}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Organizations"}),x.map(r=>e.jsxs(a.DropdownMenuItem,{onSelect:()=>h(r),className:"mx-1 mb-1 h-10 cursor-pointer gap-2 px-1 pr-2 pl-1",children:[e.jsxs(u.Avatar,{size:"s",type:"organization",children:[e.jsx(u.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(u.AvatarFallback,{size:"s",type:"organization",children:L(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"]})]}),s.name===r.name&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]},r.name)),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Navigation"}),e.jsxs(a.DropdownMenuItem,{className:"mx-1 mb-0.5 cursor-pointer gap-2 px-2",onSelect:()=>v("sidebar"),children:[e.jsx("span",{className:"flex-1",children:"New sidebar navigation"}),m==="sidebar"&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsxs(a.DropdownMenuItem,{className:"mx-1 mb-1 cursor-pointer gap-2 px-2",onSelect:()=>v("horizontal"),children:[e.jsx("span",{className:"flex-1",children:"Old horizontal menu"}),m==="horizontal"&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuItem,{icon:d.User,className:"cursor-pointer",onSelect:()=>{t&&t("/user/profile")},children:"User profile"}),e.jsx(a.DropdownMenuItem,{icon:d.Settings,className:"cursor-pointer",onSelect:()=>{t&&t("/organization/settings")},children:"Organization settings"}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuItem,{icon:d.LogOut,destructive:!0,className:"cursor-pointer",onSelect:()=>{t&&t("/auth/sign-out")},children:"Sign out"})]})]})})}),e.jsx(l.SidebarRail,{})]}),e.jsxs(j.CommandDialog,{open:A,onOpenChange:f,commandProps:b&&b.length>0?{shouldFilter:!1}:void 0,children:[e.jsx(j.CommandInput,{placeholder:"Type a command or search...",value:I,onValueChange:r=>{M(r),y?.(r)},clearable:!1}),e.jsxs(j.CommandList,{children:[e.jsx(j.CommandEmpty,{children:"No results found."}),k&&e.jsx("div",{className:"py-[var(--space-m)] text-center text-body-sm text-[var(--color-text-tertiary)]",children:"Searching…"}),b&&b.length>0&&(()=>{const r=K(b,i=>i.group??"Results");return Object.entries(r).map(([i,w])=>e.jsx(j.CommandGroup,{heading:i,children:w.map(T=>e.jsxs(j.CommandItem,{value:T.id,onSelect:()=>{T.onSelect?.(),f(!1)},children:[T.icon&&e.jsx(p.Icon,{name:T.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:T.label})]},T.id))},i))})(),!b?.length&&e.jsxs(e.Fragment,{children:[e.jsxs(j.CommandGroup,{heading:"Navigation",children:[o.main.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),o.operations.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),o.intelligence.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))]}),e.jsx(j.CommandGroup,{heading:"Settings",children:o.support.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))}),e.jsx(j.CommandGroup,{heading:"Switch team",children:x.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>f(!1),children:[e.jsxs(u.Avatar,{size:"s",className:"mr-2",type:"organization",children:[e.jsx(u.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(u.AvatarFallback,{size:"s",type:"organization",children:L(r.name)})]}),e.jsx("span",{children:r.name})]},r.name))})]})]})]})]})}function W({navigationData:o,user:n,activeTeam:x,onNavigate:t,navigationMode:m,onNavigationModeChange:v}){const[y,b]=g.useState(!1),k=g.useRef(null);g.useEffect(()=>{if(!y)return;const s=h=>{k.current&&!k.current.contains(h.target)&&b(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[y]);const A=[...o.main,...o.operations,...o.intelligence],f=A.find(s=>s.isActive||s.items?.some(h=>h.isActive))?.title??null,[I,M]=g.useState(f),C=A.find(s=>s.title===I)?.items??[],N=D(n.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:()=>t?.("/notifications"),style:{background:"none",border:"none",cursor:"pointer",padding:6,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)"},onMouseLeave:s=>{s.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:k,style:{position:"relative"},children:[e.jsx("button",{onClick:()=>b(s=>!s),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:n.avatarUrl?e.jsx("img",{src:n.avatarUrl,alt:n.name,style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover"}}):N}),y&&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:n.name}),e.jsx("div",{style:{fontSize:12,color:"#6b7280"},children:n.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:()=>{v("sidebar"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:s=>{s.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"New sidebar navigation"}),m==="sidebar"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]}),e.jsxs("button",{onClick:()=>{v("horizontal"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:s=>{s.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"Old horizontal menu"}),m==="horizontal"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]})]}),e.jsx("div",{style:{padding:"4px 0"},children:e.jsx("button",{onClick:()=>{t?.("/auth/sign-out"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#dc2626",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#fef2f2"},onMouseLeave:s=>{s.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:A.map(s=>{const h=s.isActive||(s.items?.some(S=>S.isActive)??!1);return e.jsx("button",{onClick:S=>{S.preventDefault(),M(s.title),t?.(s.url)},style:{padding:"6px 14px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:h?600:400,color:"white",backgroundColor:h?"#005F85":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:S=>{h||(S.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)")},onMouseLeave:S=>{h||(S.currentTarget.style.backgroundColor="transparent")},children:s.title},s.title)})}),C.length>0&&e.jsx("div",{style:{display:"flex",alignItems:"center",height:36,backgroundColor:"#f0f5f8",padding:"0 16px",gap:2,borderBottom:"1px solid #d1dde6",overflowX:"auto"},children:C.map(s=>e.jsx("button",{onClick:h=>{h.preventDefault(),t?.(s.url)},style:{padding:"4px 12px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:s.isActive?600:400,color:s.isActive?"#005F85":"#374151",backgroundColor:s.isActive?"#dbeeff":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:h=>{s.isActive||(h.currentTarget.style.backgroundColor="#e5eef4")},onMouseLeave:h=>{s.isActive||(h.currentTarget.style.backgroundColor="transparent")},children:s.title},s.title))})]})}function $(){const{state:o,toggleSidebar:n}=l.useSidebar(),x=o==="collapsed";return g.useEffect(()=>{const t=m=>{m.key==="["&&(m.preventDefault(),n())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[n]),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(l.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:x?"Expand sidebar":"Collapse sidebar"}),e.jsx(V.Kbd,{size:"s",variant:"dark",children:"["})]})})]})}function _({navigationData:o=q,user:n=G,teams:x=P,defaultSidebarOpen:t=!0,headerContent:m,headerTabs:v,headerActions:y,children:b,onNavigate:k,onSearchChange:A,searchItems:f,searchLoading:I}){const[M,C]=g.useState("sidebar"),[N]=g.useState(x[0]);return M==="horizontal"?e.jsxs("div",{className:"h-screen overflow-hidden",style:{display:"flex",flexDirection:"column"},children:[e.jsx(W,{navigationData:o,user:n,activeTeam:N,onNavigate:k,navigationMode:M,onNavigationModeChange:C}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0,backgroundColor:"var(--color-surface-base)"},children:b})]}):e.jsx("div",{className:"h-screen overflow-hidden",children:e.jsxs(l.SidebarProvider,{defaultOpen:t,children:[e.jsx(Z,{navigationData:o,user:n,teams:x,onNavigate:k,navigationMode:M,onNavigationModeChange:C,onSearchChange:A,searchItems:f,searchLoading:I}),e.jsxs(l.SidebarInset,{children:[(m||y||v)&&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($,{}),e.jsx(H.Separator,{layout:"horizontal",className:"mr-2 h-4"}),e.jsx("div",{className:"flex-1 min-w-0",children:m}),e.jsxs("div",{className:"flex items-center gap-2 ml-auto shrink-0",children:[v&&e.jsx("div",{className:"flex items-center gap-2",children:v}),v&&y&&e.jsx("span",{className:"text-[var(--color-text-tertiary)] select-none","aria-hidden":!0,children:"•"}),y&&e.jsx("div",{className:"flex items-center gap-2",children:y})]})]}),e.jsx("div",{className:"flex flex-1 flex-col overflow-auto min-h-0 min-w-0",children:b})]})]})})}exports.AppFrame=_;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),E=require("react"),n=require("../fundamental/sidebar.cjs"),U=require("../fundamental/button.cjs"),p=require("../fundamental/icon.cjs"),d=require("lucide-react"),u=require("../fundamental/avatar.cjs"),H=require("../fundamental/separator.cjs"),V=require("../fundamental/kbd.cjs"),a=require("../fundamental/dropdown-menu.cjs"),c=require("../fundamental/tooltip.cjs"),j=require("../fundamental/command.cjs");function R(o){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const x in o)if(x!=="default"){const t=Object.getOwnPropertyDescriptor(o,x);Object.defineProperty(l,x,t.get?t:{enumerable:!0,get:()=>o[x]})}}return l.default=o,Object.freeze(l)}const g=R(E),G={name:"John Doe",email:"john@example.com",avatarUrl:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=32&h=32&fit=crop&crop=face"},P=[{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"}],q={main:[{title:"Home",icon:d.House,url:"/home",isActive:!1},{title:"News",icon:d.Newspaper,url:"/news",isActive:!1},{title:"Boards",icon:d.LayoutDashboard,url:"/boards",isActive:!1}],operations:[{title:"Voyage economics",icon:d.Ship,url:"/freight-planner",isActive:!1,items:[]},{title:"Trade desk",icon:d.TrendingUp,url:"/trade-desk",isActive:!1,items:[]},{title:"Agreements",icon:d.ScrollText,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:d.ShieldCheck,url:"/compliance",isActive:!1,items:[]}],intelligence:[{title:"Global market",icon:d.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:d.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:"Chokepoints",url:"/assets/chokepoints",isActive:!1}]},{title:"Fixtures",icon:d.Anchor,url:"/fixtures",isActive:!1}],support:[{title:"Notifications",icon:d.Bell,url:"/notifications",isActive:!1},{title:"Help & support",icon:d.CircleHelp,url:"/help-support",isActive:!1}]},D=o=>o.split(" ").filter(Boolean).map(l=>l[0]).join("").slice(0,2).toUpperCase(),L=o=>o.split(" ").filter(Boolean).map(l=>l[0]).join("").slice(0,2).toUpperCase(),O=()=>typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent);function K(o,l){return o.reduce((x,t)=>{const m=l(t);return(x[m]??=[]).push(t),x},{})}function B(o){const l={};return[...o.main||[],...o.operations||[],...o.intelligence||[],...o.support||[]].forEach(t=>{if(t.items&&t.items.length>0){const m=t.items.some(v=>v.isActive);l[t.title]=m}}),l}function Z({navigationData:o,user:l,teams:x,onNavigate:t,navigationMode:m,onNavigationModeChange:v,onSearchChange:y,searchItems:b,searchLoading:k}){const[A,f]=g.useState(!1),[I,M]=g.useState(""),[C,N]=g.useState(()=>B(o)),[s,h]=g.useState(x[0]),S=r=>{N(i=>({...i,[r]:!i[r]}))},F=r=>r.items&&r.items.some(i=>i.isActive),z=r=>{if(r.items&&r.items.length>0){const i=r.items.find(w=>w.isActive);if(i)return`${r.title} → ${i.title}`}return r.title};return g.useEffect(()=>{const r=i=>{i.key==="k"&&(i.metaKey||i.ctrlKey)&&(i.preventDefault(),f(w=>!w))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),g.useEffect(()=>{N(B(o))},[o]),e.jsxs(c.TooltipProvider,{delayDuration:100,children:[e.jsxs(n.Sidebar,{variant:"sidebar",collapsible:"icon",className:"flex h-full flex-col",children:[e.jsx(n.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(p.Icon,{name:d.Search,size:"m",color:"tertiary"})}),e.jsxs("div",{className:"group-data-[collapsible=icon]:hidden",children:[e.jsx("button",{onClick:()=>f(!0),className:"text-body-md flex h-8 w-full cursor-pointer items-center rounded-[var(--border-radius-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(V.Kbd,{size:"s",children:O()?"⌘":"Ctrl"}),e.jsx(V.Kbd,{size:"s",children:"K"})]})]}),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx("button",{onClick:()=>f(!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(p.Icon,{name:d.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(V.Kbd,{size:"s",variant:"dark",children:O()?"⌘":"Ctrl"}),e.jsx(V.Kbd,{size:"s",variant:"dark",children:"K"})]})]})})]})]})}),e.jsx(n.SidebarGroup,{className:"pb-1 mt-1 p-[var(--space-s)]",children:e.jsx(n.SidebarGroupContent,{children:e.jsx(n.SidebarMenu,{children:o.main.map(r=>e.jsx(n.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(n.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(H.Separator,{type:"horizontal-line"})}),e.jsxs(n.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(n.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Operations"}),e.jsx(n.SidebarGroupContent,{children:e.jsx(n.SidebarMenu,{children:o.operations.map(r=>e.jsx(n.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(n.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>S(r.title),children:[e.jsx(p.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(p.Icon,{name:d.ChevronRight,size:"s",className:`ml-auto transition-transform ${C[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&C[r.title]&&e.jsx(n.SidebarMenuSub,{children:r.items.map(i=>e.jsx(n.SidebarMenuSubItem,{children:e.jsx(n.SidebarMenuSubButton,{isActive:i.isActive,onClick:w=>{t&&(w.preventDefault(),t(i.url))},children:e.jsx("span",{children:i.title})})},i.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(a.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(n.SidebarMenuButton,{isActive:F(r),className:"w-full justify-center",children:e.jsx(p.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:z(r)})]}),e.jsxs(a.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(a.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(a.DropdownMenuSeparator,{}),r.items.map(i=>e.jsx(a.DropdownMenuItem,{className:i.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{t&&t(i.url)},children:i.title},i.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(n.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})]}),e.jsx("div",{className:"my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex",children:e.jsx(H.Separator,{type:"horizontal-line"})}),e.jsxs(n.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(n.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Intelligence"}),e.jsx(n.SidebarGroupContent,{children:e.jsx(n.SidebarMenu,{children:o.intelligence.map(r=>e.jsx(n.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(n.SidebarMenuButton,{isActive:r.isActive&&!r.items?.length,onClick:()=>S(r.title),children:[e.jsx(p.Icon,{name:r.icon,size:"s"}),e.jsx("span",{children:r.title}),e.jsx(p.Icon,{name:d.ChevronRight,size:"s",className:`ml-auto transition-transform ${C[r.title]?"rotate-90":""}`})]})}),r.items&&r.items.length>0&&C[r.title]&&e.jsx(n.SidebarMenuSub,{children:r.items.map(i=>e.jsx(n.SidebarMenuSubItem,{children:e.jsx(n.SidebarMenuSubButton,{isActive:i.isActive,onClick:w=>{t&&(w.preventDefault(),t(i.url))},children:e.jsx("span",{children:i.title})})},i.title))}),e.jsx("div",{className:"hidden group-data-[collapsible=icon]:block",children:e.jsxs(a.DropdownMenu,{children:[e.jsxs(c.Tooltip,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(n.SidebarMenuButton,{isActive:F(r),className:"w-full justify-center",children:e.jsx(p.Icon,{name:r.icon,size:"s"})})})}),e.jsx(c.TooltipContent,{side:"right",className:"hidden group-data-[collapsible=icon]:block",children:z(r)})]}),e.jsxs(a.DropdownMenuContent,{side:"right",sideOffset:8,align:"start",children:[e.jsx(a.DropdownMenuLabel,{className:"text-body-medium-sm font-medium",children:r.title}),e.jsx(a.DropdownMenuSeparator,{}),r.items.map(i=>e.jsx(a.DropdownMenuItem,{className:i.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{t&&t(i.url)},children:i.title},i.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(n.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})]}),e.jsx(n.SidebarGroup,{className:"pb-2 p-[var(--space-s)] pt-[var(--space-l)] mt-auto",children:e.jsx(n.SidebarGroupContent,{children:e.jsx(n.SidebarMenu,{children:o.support.map(r=>e.jsx(n.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(n.SidebarMenuButton,{isActive:r.isActive,onClick:i=>{t&&(i.preventDefault(),t(r.url))},children:[e.jsx(p.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:z(r)})]})},r.title))})})})]}),e.jsx(n.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-[var(--border-radius-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(a.DropdownMenu,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(U.Button,{variant:"ghost",className:"h-auto min-h-[56px] w-full justify-start rounded-[var(--border-radius-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(u.Avatar,{size:"m",type:"user",children:[e.jsx(u.AvatarImage,{src:l.avatarUrl,alt:l.name}),e.jsx(u.AvatarFallback,{size:"m",type:"user",children:D(l.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[4px] border-2 border-white p-0",children:e.jsxs(u.Avatar,{size:"xxs",type:"organization",children:[e.jsx(u.AvatarImage,{src:s.avatarUrl,alt:s.name}),e.jsx(u.AvatarFallback,{size:"xxs",type:"organization",children:L(s.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:l.name}),e.jsxs("div",{className:"text-body-xsm text-[var(--color-text-secondary)]",children:[s.role," at ",s.name]})]}),e.jsx(p.Icon,{name:d.ChevronDown,size:"m",className:"opacity-50"})]}),e.jsxs("div",{className:"relative hidden group-data-[collapsible=icon]:block",children:[e.jsxs(u.Avatar,{size:"s",type:"user",children:[e.jsx(u.AvatarImage,{src:l.avatarUrl,alt:l.name}),e.jsx(u.AvatarFallback,{size:"s",type:"user",children:D(l.name)})]}),e.jsx("div",{className:"absolute -right-1 -bottom-1 rounded-[2px] border-2 border-white bg-[var(--color-surface-primary)]",children:e.jsxs(u.Avatar,{size:"xxs",type:"organization",children:[e.jsx(u.AvatarImage,{src:s.avatarUrl,alt:s.name}),e.jsx(u.AvatarFallback,{size:"xxs",type:"organization",children:L(s.name)})]})})]})]})}),e.jsxs(a.DropdownMenuContent,{className:"w-[--radix-dropdown-menu-trigger-width]",align:"start",side:"top",sideOffset:4,children:[e.jsx(a.DropdownMenuLabel,{className:"p-0 font-normal",children:e.jsxs("div",{className:"flex items-center gap-3 px-2 py-2",children:[e.jsxs(u.Avatar,{size:"s",type:"user",children:[e.jsx(u.AvatarImage,{src:l.avatarUrl,alt:l.name}),e.jsx(u.AvatarFallback,{size:"s",type:"user",children:D(l.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:l.name}),e.jsx("span",{className:"text-caption-xsm truncate text-[var(--color-text-secondary)]",children:l.email})]})]})}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Organizations"}),x.map(r=>e.jsxs(a.DropdownMenuItem,{onSelect:()=>h(r),className:"mx-1 mb-1 h-10 cursor-pointer gap-2 px-1 pr-2 pl-1",children:[e.jsxs(u.Avatar,{size:"s",type:"organization",children:[e.jsx(u.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(u.AvatarFallback,{size:"s",type:"organization",children:L(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"]})]}),s.name===r.name&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]},r.name)),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuLabel,{className:"px-2 py-1 text-[12px] font-medium text-[var(--color-text-tertiary)]",children:"Navigation"}),e.jsxs(a.DropdownMenuItem,{className:"mx-1 mb-0.5 cursor-pointer gap-2 px-2",onSelect:()=>v("sidebar"),children:[e.jsx("span",{className:"flex-1",children:"New sidebar navigation"}),m==="sidebar"&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsxs(a.DropdownMenuItem,{className:"mx-1 mb-1 cursor-pointer gap-2 px-2",onSelect:()=>v("horizontal"),children:[e.jsx("span",{className:"flex-1",children:"Old horizontal menu"}),m==="horizontal"&&e.jsx(p.Icon,{name:d.Check,size:"m",className:"text-[var(--color-icon-brand-bold)]"})]}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuItem,{icon:d.User,className:"cursor-pointer",onSelect:()=>{t&&t("/user/profile")},children:"User profile"}),e.jsx(a.DropdownMenuItem,{icon:d.Settings,className:"cursor-pointer",onSelect:()=>{t&&t("/organization/settings")},children:"Organization settings"}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuItem,{icon:d.LogOut,destructive:!0,className:"cursor-pointer",onSelect:()=>{t&&t("/auth/sign-out")},children:"Sign out"})]})]})})}),e.jsx(n.SidebarRail,{})]}),e.jsxs(j.CommandDialog,{open:A,onOpenChange:f,commandProps:b&&b.length>0?{shouldFilter:!1}:void 0,children:[e.jsx(j.CommandInput,{placeholder:"Type a command or search...",value:I,onValueChange:r=>{M(r),y?.(r)},clearable:!1}),e.jsxs(j.CommandList,{children:[e.jsx(j.CommandEmpty,{children:"No results found."}),k&&e.jsx("div",{className:"py-[var(--space-m)] text-center text-body-sm text-[var(--color-text-tertiary)]",children:"Searching…"}),b&&b.length>0&&(()=>{const r=K(b,i=>i.group??"Results");return Object.entries(r).map(([i,w])=>e.jsx(j.CommandGroup,{heading:i,children:w.map(T=>e.jsxs(j.CommandItem,{value:T.id,onSelect:()=>{T.onSelect?.(),f(!1)},children:[T.icon&&e.jsx(p.Icon,{name:T.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:T.label})]},T.id))},i))})(),!b?.length&&e.jsxs(e.Fragment,{children:[e.jsxs(j.CommandGroup,{heading:"Navigation",children:[o.main.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),o.operations.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title)),o.intelligence.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))]}),e.jsx(j.CommandGroup,{heading:"Settings",children:o.support.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>{t?.(r.url),f(!1)},children:[e.jsx(p.Icon,{name:r.icon,size:"s",className:"mr-2"}),e.jsx("span",{children:r.title})]},r.title))}),e.jsx(j.CommandGroup,{heading:"Switch team",children:x.map(r=>e.jsxs(j.CommandItem,{onSelect:()=>f(!1),children:[e.jsxs(u.Avatar,{size:"s",className:"mr-2",type:"organization",children:[e.jsx(u.AvatarImage,{src:r.avatarUrl,alt:r.name}),e.jsx(u.AvatarFallback,{size:"s",type:"organization",children:L(r.name)})]}),e.jsx("span",{children:r.name})]},r.name))})]})]})]})]})}function W({navigationData:o,user:l,activeTeam:x,onNavigate:t,navigationMode:m,onNavigationModeChange:v}){const[y,b]=g.useState(!1),k=g.useRef(null);g.useEffect(()=>{if(!y)return;const s=h=>{k.current&&!k.current.contains(h.target)&&b(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[y]);const A=[...o.main,...o.operations,...o.intelligence],f=A.find(s=>s.isActive||s.items?.some(h=>h.isActive))?.title??null,[I,M]=g.useState(f),C=A.find(s=>s.title===I)?.items??[],N=D(l.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:()=>t?.("/notifications"),style:{background:"none",border:"none",cursor:"pointer",padding:6,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)"},onMouseLeave:s=>{s.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:k,style:{position:"relative"},children:[e.jsx("button",{onClick:()=>b(s=>!s),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:l.avatarUrl?e.jsx("img",{src:l.avatarUrl,alt:l.name,style:{width:"100%",height:"100%",borderRadius:"50%",objectFit:"cover"}}):N}),y&&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:l.name}),e.jsx("div",{style:{fontSize:12,color:"#6b7280"},children:l.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:()=>{v("sidebar"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:s=>{s.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"New sidebar navigation"}),m==="sidebar"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]}),e.jsxs("button",{onClick:()=>{v("horizontal"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#374151",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#f3f4f6"},onMouseLeave:s=>{s.currentTarget.style.backgroundColor="transparent"},children:[e.jsx("span",{style:{flex:1},children:"Old horizontal menu"}),m==="horizontal"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]})]}),e.jsx("div",{style:{padding:"4px 0"},children:e.jsx("button",{onClick:()=>{t?.("/auth/sign-out"),b(!1)},style:{display:"flex",alignItems:"center",width:"100%",padding:"6px 12px",background:"none",border:"none",cursor:"pointer",fontSize:14,color:"#dc2626",textAlign:"left"},onMouseEnter:s=>{s.currentTarget.style.backgroundColor="#fef2f2"},onMouseLeave:s=>{s.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:A.map(s=>{const h=s.isActive||(s.items?.some(S=>S.isActive)??!1);return e.jsx("button",{onClick:S=>{S.preventDefault(),M(s.title),t?.(s.url)},style:{padding:"6px 14px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:h?600:400,color:"white",backgroundColor:h?"#005F85":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:S=>{h||(S.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)")},onMouseLeave:S=>{h||(S.currentTarget.style.backgroundColor="transparent")},children:s.title},s.title)})}),C.length>0&&e.jsx("div",{style:{display:"flex",alignItems:"center",height:36,backgroundColor:"#f0f5f8",padding:"0 16px",gap:2,borderBottom:"1px solid #d1dde6",overflowX:"auto"},children:C.map(s=>e.jsx("button",{onClick:h=>{h.preventDefault(),t?.(s.url)},style:{padding:"4px 12px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:s.isActive?600:400,color:s.isActive?"#005F85":"#374151",backgroundColor:s.isActive?"#dbeeff":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:h=>{s.isActive||(h.currentTarget.style.backgroundColor="#e5eef4")},onMouseLeave:h=>{s.isActive||(h.currentTarget.style.backgroundColor="transparent")},children:s.title},s.title))})]})}function $(){const{state:o,toggleSidebar:l}=n.useSidebar(),x=o==="collapsed";return g.useEffect(()=>{const t=m=>{m.key==="["&&(m.preventDefault(),l())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[l]),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(n.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:x?"Expand sidebar":"Collapse sidebar"}),e.jsx(V.Kbd,{size:"s",variant:"dark",children:"["})]})})]})}function _({navigationData:o=q,user:l=G,teams:x=P,defaultSidebarOpen:t=!0,headerContent:m,headerTabs:v,headerActions:y,children:b,onNavigate:k,onSearchChange:A,searchItems:f,searchLoading:I}){const[M,C]=g.useState("sidebar"),[N]=g.useState(x[0]);return M==="horizontal"?e.jsxs("div",{className:"h-screen overflow-hidden",style:{display:"flex",flexDirection:"column"},children:[e.jsx(W,{navigationData:o,user:l,activeTeam:N,onNavigate:k,navigationMode:M,onNavigationModeChange:C}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0,backgroundColor:"var(--color-surface-base)"},children:b})]}):e.jsx("div",{className:"h-screen overflow-hidden",children:e.jsxs(n.SidebarProvider,{defaultOpen:t,children:[e.jsx(Z,{navigationData:o,user:l,teams:x,onNavigate:k,navigationMode:M,onNavigationModeChange:C,onSearchChange:A,searchItems:f,searchLoading:I}),e.jsxs(n.SidebarInset,{children:[(m||y||v)&&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($,{}),e.jsx(H.Separator,{type:"vertical-line",className:"mr-2 h-4"}),e.jsx("div",{className:"flex-1 min-w-0",children:m}),e.jsxs("div",{className:"flex items-center gap-2 ml-auto shrink-0",children:[v&&e.jsx("div",{className:"flex items-center gap-2",children:v}),v&&y&&e.jsx("span",{className:"text-[var(--color-text-tertiary)] select-none","aria-hidden":!0,children:"•"}),y&&e.jsx("div",{className:"flex items-center gap-2",children:y})]})]}),e.jsx("div",{className:"flex flex-1 flex-col overflow-auto min-h-0 min-w-0",children:b})]})]})})}exports.AppFrame=_;
|
|
@@ -1 +1 @@
|
|
|
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"),k=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 w=()=>{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(),w())},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:w,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 w=t.useMemo(()=>[...r,...s],[r,s]),g=t.useMemo(()=>w.find(u=>u.id===o),[w,o]),m=g?.type==="system";return e.jsxs(Be.ButtonGroup,{children:[e.jsxs(A.Select,{value:o,onValueChange:u=>{const y=w.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-[var(--shadow-200)] 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-[var(--shadow-100)] data-[state=open]:ring-0",m?"rounded-[var(--border-radius-m)]":"rounded-l-[var(--border-radius-m)] !rounded-r-none !border-r-0"),children:[e.jsx(j.Icon,{name:k.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:k.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:k.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:k.MoreHorizontal,"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:k.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:k.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:k.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:w,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(()=>{w(s.id)},[w,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-[var(--border-radius-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:k.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:k.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:k.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:k.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:w,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]),H=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,$=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]),G=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:[G.map((n,d)=>{const i=K.has(n.id),h=i?a.findIndex(B=>B.id===n.id):-1,I=i&&h===$;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:H,onRename:v,onDelete:S,onSetDefault:w,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-[var(--border-radius-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:k.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-[var(--border-radius-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:k.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:k.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:k.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:w,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]),H=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",$=t.useCallback(c=>{U(c||l),H(!0)},[l,H]),ee=t.useCallback(async c=>{a&&await u(a,c)},[a,u]),ne=t.useCallback(async c=>{await m("create",c)},[m]),G=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:$,handleRevert:g,handleUpdate:B,handleDelete:G,handleSetDefault:K}),[b,Z,X,I,$,g,B,G,K]);return s==="tabs"?e.jsxs(oe.Provider,{value:F,children:[e.jsx(Re,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,"aria-label":S,onSelect:w,onRename:$,onDelete:G,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:H,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:w,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(te,{open:C,onOpenChange:L,mode:"create",onSave:ne}),e.jsx(te,{open:W,onOpenChange:H,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
|
+
"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"),k=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 w=()=>{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(),w())},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:w,disabled:!v.trim(),children:o==="create"?"Create":"Save"})]})]})})}function Me({bookmarks:s,systemBookmarks:r,activeBookmarkId:o,onSelect:l,onRename:b,onDelete:v,onSetDefault:S}){const w=t.useMemo(()=>[...r,...s],[r,s]),g=t.useMemo(()=>w.find(u=>u.id===o),[w,o]),m=g?.type==="system";return e.jsxs(Be.ButtonGroup,{children:[e.jsxs(A.Select,{value:o,onValueChange:u=>{const y=w.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-[var(--shadow-200)] 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-[var(--shadow-100)] data-[state=open]:ring-0",m?"rounded-[var(--border-radius-m)]":"rounded-l-[var(--border-radius-m)] !rounded-r-none !border-r-0"),children:[e.jsx(j.Icon,{name:k.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:k.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:k.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:k.MoreHorizontal,"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:k.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:k.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 ze({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:k.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:w,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(()=>{w(s.id)},[w,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-[var(--border-radius-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:k.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:k.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:k.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:k.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:w,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,M=52;let J=0,z=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+(z>0||D?F:0);if((P<x.length-1?re+F+M:re)>I)break;J=re,z++}z===0&&x.length>0&&(z=1),W(z)},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]),H=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,$=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]),G=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:[G.map((n,d)=>{const i=K.has(n.id),h=i?a.findIndex(B=>B.id===n.id):-1,I=i&&h===$;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:H,onRename:v,onDelete:S,onSetDefault:w,onNavigate:L,onNavigateFirst:_,onNavigateLast:X,onHover:g}),I&&e.jsx(fe.Separator,{type:"vertical-line",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-[var(--border-radius-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:k.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-[var(--border-radius-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:k.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:k.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:k.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(ze,{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"}),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:w,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]),H=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",$=t.useCallback(c=>{U(c||l),H(!0)},[l,H]),ee=t.useCallback(async c=>{a&&await u(a,c)},[a,u]),ne=t.useCallback(async c=>{await m("create",c)},[m]),G=t.useCallback(async c=>{const M=c||l;M&&await y(M)},[l,y]),K=t.useCallback(async c=>{const M=c||l;M&&await p(M)},[l,p]),n=t.useMemo(()=>_.find(c=>c.id===a),[_,a]),{contentSlot:d,actionsSlot:i,settingsSlot:h}=t.useMemo(()=>{let c=null,M=null,J=null;const z=[];return t.Children.forEach(v,D=>{t.isValidElement(D)?D.type===le?c=D.props.children:D.type===ie?M=D.props.children:D.type===ce?J=D.props.children:z.push(D):z.push(D)}),!c&&z.length>0&&(c=z),{contentSlot:c,actionsSlot:M,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:$,handleRevert:g,handleUpdate:B,handleDelete:G,handleSetDefault:K}),[b,Z,X,I,$,g,B,G,K]);return s==="tabs"?e.jsxs(oe.Provider,{value:F,children:[e.jsx(Re,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,"aria-label":S,onSelect:w,onRename:$,onDelete:G,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:H,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(Me,{bookmarks:r,systemBookmarks:o,activeBookmarkId:l,onSelect:w,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(te,{open:C,onOpenChange:L,mode:"create",onSave:ne}),e.jsx(te,{open:W,onOpenChange:H,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"),me=require("react"),A=require("../../lib/utils.cjs"),Y=require("../fundamental/button.cjs"),re=require("../fundamental/input.cjs"),ve=require("../fundamental/autocomplete-search.cjs"),_=require("../fundamental/icon.cjs"),G=require("lucide-react"),ie=require("../fundamental/checkbox.cjs"),ne=require("../fundamental/radio-group.cjs"),J=require("../fundamental/select.cjs"),he=require("../fundamental/month-picker.cjs"),be=require("../fundamental/calendar.cjs"),U=require("../fundamental/popover.cjs"),oe=require("../fundamental/separator.cjs"),le=require("../fundamental/badge.cjs"),te=require("../../lib/date-utils.cjs");function ge(m){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const n in m)if(n!=="default"){const v=Object.getOwnPropertyDescriptor(m,n);Object.defineProperty(a,n,v.get?v:{enumerable:!0,get:()=>m[n]})}}return a.default=m,Object.freeze(a)}const d=ge(me),de=["this-month","last-month","this-quarter","last-quarter","this-year","last-year","custom"],pe=["this-week","last-week","last-30-days","last-90-days","this-month","last-month","custom"];function fe(m){let a=0;if(m.groups)for(const n of m.groups)for(const v of n.options)a++,v.children&&(a+=v.children.length);return m.options&&(a=m.options.length),a}const ce=d.memo(function({filter:a,value:n,onChange:v,onReset:g,autoFocusSearch:f=!0}){const[j,k]=d.useState(""),b=d.useDeferredValue(j),[C,D]=d.useState(""),[N,O]=d.useState(""),[I,E]=d.useState(null),[V,z]=d.useState(null),[T,i]=d.useState(!1),[w,S]=d.useState(new Date().getFullYear()),h=d.useMemo(()=>n?Array.isArray(n)?n.map(String):[String(n)]:[],[n]);d.useEffect(()=>{if(a.type==="number"&&a.rangeMode){const s=n;if(Array.isArray(s)){const[u,p]=s;D(u===-1/0?"":u?.toString()||""),O(p===1/0?"":p?.toString()||"")}else typeof s=="number"?(D(s.toString()),O("")):(D(""),O(""));E(null),z(null)}},[n,a.type,a.rangeMode]);const R=d.useMemo(()=>{const s=a.showSearch??"auto";if(s===!0)return!0;if(s===!1)return!1;const u=fe(a),p=a.searchThreshold??8;return u>=p},[a]),B=d.useMemo(()=>{if(a.groups){if(!b)return a.groups;const s=b.toLowerCase();return a.groups.map(u=>({...u,options:u.options.filter(p=>p.label.toLowerCase().includes(s)||p.children?.some(x=>x.label.toLowerCase().includes(s)))})).filter(u=>u.options.length>0)}if(a.options){const s=b?a.options.filter(u=>u.label.toLowerCase().includes(b.toLowerCase())):a.options;return s.length>0?[{label:a.label,options:s}]:[]}return[]},[a.groups,a.options,a.label,b]),K=s=>{if(a.type==="multiselect"){const u=h.includes(s)?h.filter(p=>p!==s):[...h,s];v(u.length>0?u:void 0)}else v(s===h[0]?void 0:s)},Z=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=h.filter(x=>!u.includes(x));v(p.length>0?p:void 0)},Q=s=>{if(a.type!=="multiselect")return;const u=s.options.flatMap(x=>[x.value,...x.children?.map(y=>y.value)||[]]),p=Array.from(new Set([...h,...u]));v(p.length>0?p:void 0)},W=s=>{if(a.type!=="multiselect")return;const p=s.options.filter(L=>!j||L.label.toLowerCase().includes(j.toLowerCase())).flatMap(L=>{const ae=L.value,t=L.children?.filter(r=>!j||r.label.toLowerCase().includes(j.toLowerCase())).map(r=>r.value)||[];return[ae,...t]}),x=h.filter(L=>!p.includes(L)),y=p.filter(L=>!h.includes(L)),X=[...x,...y];v(X.length>0?X:void 0)},q=()=>{const s=C.trim(),u=N.trim();if(E(null),z(null),s===""&&u===""){v(void 0);return}const p=s===""?-1/0:parseFloat(s),x=u===""?1/0:parseFloat(u);if(s!==""&&isNaN(p)){E("Invalid minimum value");return}if(u!==""&&isNaN(x)){z("Invalid maximum value");return}if(p!==-1/0&&x!==1/0&&p>x){E("Minimum must be less than maximum"),z("Maximum must be more than minimum");return}v([p,x])},F=a.dateConfig?.granularity||"month",H=()=>a.dateConfig?.presets?a.dateConfig.presets:F==="day"?pe:de,ee=()=>{if(T)return"custom";const s=n;if(!s||!Array.isArray(s))return H().includes("all-time")?"all-time":"";for(const u of H()){if(u==="custom")continue;const p=te.calculatePresetRange(u);if(p&&p[0].getTime()===s[0].getTime()&&p[1].getTime()===s[1].getTime())return u}return"custom"},se=s=>{if(s==="custom"){i(!0);return}i(!1);const u=te.calculatePresetRange(s);v(u)};return e.jsxs("div",{className:"flex flex-col gap-[var(--space-3xl)]",children:[R&&e.jsxs("div",{className:"relative",children:[e.jsx(_.Icon,{name:"search",className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 h-[var(--size-xs)] w-[var(--size-xs)] text-[var(--color-text-tertiary)] pointer-events-none"}),e.jsx(re.Input,{type:"text",size:"l",placeholder:a.searchPlaceholder||`Search for a ${a.label.toLowerCase()}`,value:j,onChange:s=>k(s.target.value),className:"pl-[calc(var(--space-m)+var(--size-xs)+var(--space-s))]",autoFocus:f})]}),a.type==="number"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"At least..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(re.Input,{type:"text",inputMode:"numeric",size:"l",variant:I?"error":"default",value:C,onChange:s=>{D(s.target.value),E(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.min?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),I&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:I})]}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"No more than..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(re.Input,{type:"text",inputMode:"numeric",size:"l",variant:V?"error":"default",value:N,onChange:s=>{O(s.target.value),z(null)},onBlur:q,onKeyDown:s=>{s.key==="Enter"&&q()},placeholder:a.numberConfig?.max?.toString()||"0.00",className:A.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),V&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:V})]}),g&&(C!==""||N!=="")&&e.jsx(Y.Button,{variant:"default",onClick:()=>{D(""),O(""),E(null),z(null),g()},className:"self-start",children:e.jsx("span",{className:"text-body-medium-sm",children:"Reset"})})]}),a.type==="date"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"Date range"}),e.jsxs(J.Select,{value:ee(),onValueChange:se,children:[e.jsx(J.SelectTrigger,{size:"l",children:e.jsx(J.SelectValue,{placeholder:"Select date range..."})}),e.jsx(J.SelectContent,{children:H().map(s=>e.jsx(J.SelectItem,{value:s,children:te.getPresetLabel(s)},s))})]})]}),ee()==="custom"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)]",children:F==="day"?"Select start and end dates for custom range":"Select start and end months for custom range"}),F==="day"&&e.jsx(be.Calendar,{mode:"range",selected:n&&Array.isArray(n)&&n.length===2?{from:n[0],to:n[1]}:void 0,onSelect:s=>{if(s?.from&&s?.to){const u=new Date(s.from);u.setHours(0,0,0,0);const p=new Date(s.to);p.setHours(23,59,59,999),v([u,p]),i(!1)}},numberOfMonths:2,disabled:a.dateConfig?.minDate||a.dateConfig?.maxDate?s=>!!(a.dateConfig?.minDate&&s<a.dateConfig.minDate||a.dateConfig?.maxDate&&s>a.dateConfig.maxDate):void 0}),F==="month"&&e.jsx(he.MonthPicker,{value:n,onChange:s=>{v(s),i(!1)},mode:"range",yearCount:2,size:"small",enableNavigation:!0,onYearNavigate:s=>S(s),minDate:a.dateConfig?.minDate,maxDate:a.dateConfig?.maxDate})]})]}),B.map((s,u)=>{const p=`filter-group-${u}-${s.label.replace(/\s+/g,"-").toLowerCase()}`;return e.jsxs("div",{role:"group","aria-labelledby":p,className:"flex flex-col gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] items-start justify-start w-full",children:[e.jsx("div",{id:p,className:"flex-1 text-body-medium-sm text-[var(--color-text-tertiary)]",children:s.label}),g&&a.type==="multiselect"&&e.jsxs("div",{className:"flex gap-[var(--space-xs)] items-center text-body-medium-sm text-[var(--color-text-brand-bold)]",children:[e.jsx("button",{onClick:()=>Q(s),"aria-label":`Select all ${s.label} options`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"All"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>W(s),"aria-label":`Inverse selection in ${s.label}`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"Inverse"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>Z(s),"aria-label":`Clear all ${s.label} selections`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"None"})]})]}),e.jsx("div",{className:"h-px w-full",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),a.type==="multiselect"?e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ie.Checkbox,{id:`checkbox-${a.id}-${x.value}`,checked:h.includes(x.value),onCheckedChange:()=>K(x.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ie.Checkbox,{id:`checkbox-${a.id}-${y.value}`,checked:h.includes(y.value),onCheckedChange:()=>K(y.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))}):e.jsx(ne.RadioGroup,{value:h[0]||"",onValueChange:K,"aria-label":s.label,children:e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(x=>e.jsxs(d.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ne.RadioGroupItem,{id:`radio-${a.id}-${x.value}`,value:x.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${x.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:x.label})]}),x.children&&x.children.map(y=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ne.RadioGroupItem,{id:`radio-${a.id}-${y.value}`,value:y.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${y.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:y.label})]},y.value))]},x.value))})})]},s.label)})]})}),ue=d.memo(function({filter:a,isSelected:n,isPinned:v,valueCount:g,onSelect:f,onTogglePin:j,onPrefetch:k}){const b=a.icon,[C,D]=d.useState(!1);return e.jsxs("div",{id:`filter-option-${a.id}`,role:"option","aria-selected":n,"aria-label":`${a.label}${g?`, ${g} selected`:""}`,tabIndex:-1,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),f())},onMouseEnter:()=>{D(!0),k?.()},onMouseLeave:()=>D(!1),className:A.cn("group/item box-border flex gap-[var(--space-m)] h-[var(--size-m)] items-center justify-start px-[var(--space-l)] py-[var(--space-s)] relative rounded-[var(--border-radius-m)] shrink-0 w-full cursor-pointer transition-colors","hover:bg-[var(--color-background-neutral-hovered)]",n&&"bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)] group-focus-visible/listbox:ring-2 group-focus-visible/listbox:ring-[var(--ring-color)] group-focus-visible/listbox:ring-inset"),onClick:f,children:[e.jsxs("div",{className:"flex-1 flex gap-[var(--space-s)] items-center justify-start min-w-0",children:[e.jsx(b,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)] shrink-0",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx("div",{className:A.cn("truncate [&]:text-label-md",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]"),children:a.label}),g!==void 0&&g>0&&e.jsx(le.Badge,{size:"s",intent:n?"brand":"neutral",appearance:n||C?"bold":"subtle",children:g})]}),e.jsx("div",{className:"flex items-center gap-[var(--space-s)] shrink-0",children:e.jsx(Y.Button,{variant:"ghost",size:"s",tabIndex:-1,"aria-label":v?`Unpin ${a.label} filter`:`Pin ${a.label} filter`,"aria-pressed":v,onClick:N=>{N.stopPropagation(),j()},className:A.cn("group/pin h-auto w-auto p-[var(--space-xs)] transition-opacity",v?"opacity-100":"opacity-0 group-hover/item:opacity-100"),children:v?e.jsxs(e.Fragment,{children:[e.jsx(_.Icon,{name:G.Pin,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px] group-hover/pin:hidden",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx(_.Icon,{name:G.PinOff,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px] hidden group-hover/pin:block",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})]}):e.jsx(_.Icon,{name:G.Pin,"aria-hidden":"true",className:A.cn("h-[12px] w-[12px]",n?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})})})]})});function ye({placeholder:m="Search for keyword...",onAddSearchTerm:a}){const[n,v]=d.useState(""),g=f=>{f.key==="Enter"&&n.trim()&&(f.preventDefault(),a(n.trim()),v(""))};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(re.Input,{type:"search","aria-label":"Search filters by keyword",placeholder:m,value:n,onChange:f=>v(f.target.value),onKeyDown:g,size:"m"})})}function je({placeholder:m="Search for keyword...",onAddSearchTerm:a,suggestions:n,minCharacters:v}){const[g,f]=d.useState(""),j=(k,b)=>{a(k,b),f("")};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(ve.AutocompleteSearch,{value:g,onValueChange:f,onSelect:j,suggestions:n,placeholder:m,minCharacters:v})})}function xe({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,sidebarWidth:f=240}){const[j,k]=d.useState(m[0]?.id),[b,C]=d.useState("mouse"),D=d.useRef(null),N=d.useMemo(()=>m.map(i=>i.id),[m]),O=i=>{const w=N.indexOf(j);let S=w;switch(i.key){case"ArrowDown":i.preventDefault(),S=Math.min(w+1,N.length-1);break;case"ArrowUp":i.preventDefault(),S=Math.max(w-1,0);break;case"Home":i.preventDefault(),S=0;break;case"End":i.preventDefault(),S=N.length-1;break;default:return}S!==w&&(C("keyboard"),k(N[S]))},I=m.find(i=>i.id===j),E=d.useCallback(i=>{I&&g(I.id,i)},[I?.id,g]),V=d.useCallback(()=>{I&&g(I.id,void 0)},[I?.id,g]),z=i=>{const w=a.includes(i)?a.filter(S=>S!==i):[...a,i];v(w)},T=d.useMemo(()=>{const i={},w=[],S=[];return m.forEach(h=>{h.group?(i[h.group]||(i[h.group]=[],S.push(h.group)),i[h.group].push(h)):w.push(h)}),{grouped:i,ungrouped:w,groupOrder:S}},[m]);return e.jsx("div",{className:"bg-[var(--color-surface-primary)] relative rounded-[var(--border-radius-m)] max-h-[480px] flex flex-col",children:e.jsxs("div",{className:"flex items-stretch justify-start min-h-0 overflow-hidden rounded-[var(--border-radius-m)] flex-1",children:[e.jsx("div",{className:"bg-[var(--color-background-neutral-default)] relative shrink-0 border-r border-[var(--color-border-primary-subtle)] flex flex-col",style:{width:typeof f=="number"?`${f}px`:f},children:e.jsxs("div",{ref:D,role:"listbox","aria-label":"Filter categories","aria-orientation":"vertical","aria-activedescendant":j?`filter-option-${j}`:void 0,tabIndex:0,onKeyDown:O,className:"group/listbox box-border flex flex-col gap-[var(--space-s)] p-[var(--space-s)] overflow-y-auto focus-visible:outline-none",children:[T.ungrouped.map(i=>{const w=n[i.id],S=Array.isArray(w)?w.length:w!=null?1:0;return e.jsx(ue,{filter:i,isSelected:i.id===j,isPinned:a.includes(i.id),valueCount:S,onSelect:()=>{C("mouse"),k(i.id)},onTogglePin:()=>z(i.id)},i.id)}),T.groupOrder.map((i,w)=>{const S=T.grouped[i];return e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:A.cn("px-[var(--space-m)] pb-[var(--space-xs)]",w===0&&T.ungrouped.length===0?"pt-0":"pt-[var(--space-m)]"),children:e.jsx("div",{className:"text-caption-sm text-[var(--color-text-tertiary)] tracking-[0.1px]",children:i})}),S.map(h=>{const R=n[h.id],B=Array.isArray(R)?R.length:R!=null?1:0;return e.jsx(ue,{filter:h,isSelected:h.id===j,isPinned:a.includes(h.id),valueCount:B,onSelect:()=>{C("mouse"),k(h.id)},onTogglePin:()=>z(h.id)},h.id)})]},i)})]})}),e.jsx("div",{className:"flex-1 box-border p-[var(--space-l)] overflow-y-auto",children:I&&e.jsx(ce,{filter:I,value:n[I.id],onChange:E,onReset:V,autoFocusSearch:b==="mouse"})})]})})}function Ne({filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g,onFilterClear:f,onFilterReset:j,enableGlobalSearch:k=!1,globalSearchTerms:b=[],onGlobalSearchChange:C,globalSearchPlaceholder:D,enableAutocomplete:N=!1,autocompleteMinCharacters:O=2,hideReset:I=!1,hideFiltersButton:E=!1,actionButtons:V}){const[z,T]=d.useState(!1),[i,w]=d.useState(null),[S,h]=d.useState(""),R=d.useRef(n),B=d.useRef(b),K=d.useRef({}),Z=d.useCallback((t,r)=>{const o=i;w(t?r:null),!t&&o===r&&setTimeout(()=>{K.current[r]?.focus()},0)},[i]);d.useEffect(()=>{const t=R.current,r=B.current,o=Object.keys(n).filter(M=>n[M]!==void 0&&n[M]!==null&&(!Array.isArray(n[M])||n[M].length>0)).length,c=Object.keys(t).filter(M=>t[M]!==void 0&&t[M]!==null&&(!Array.isArray(t[M])||t[M].length>0)).length,l=b.length,P=r.length;let $="";if(o!==c&&(o>c?$="Filter applied.":o<c&&($="Filter removed.")),l!==P&&(l>P?$=$?`${$} Search term added.`:"Search term added.":l<P&&($=$?`${$} Search term removed.`:"Search term removed.")),$){const M=o+l;M===0?$="All filters cleared.":$=`${$} ${M} active filter${M!==1?"s":""}.`,h($)}R.current=n,B.current=b},[n,b]);const Q=!E&&m.length>0,W=Object.keys(n).some(t=>n[t]!==void 0&&n[t]!==null),q=b.length>0,F=Object.keys(n).filter(t=>{const r=n[t];return r!=null&&(!Array.isArray(r)||r.length>0)}).length,H=(t,r)=>{if(!t.groups)return r;for(const o of t.groups)for(const c of o.options){if(c.value===r)return c.label;if(c.children){const l=c.children.find(P=>P.value===r);if(l)return l.label}}return r},ee=(t,r,o)=>{const c=o?.prefix||"",l=o?.suffix||"";return t===-1/0?`≤ ${c}${r}${l}`:r===1/0?`≥ ${c}${t}${l}`:`${c}${t}${l} - ${c}${r}${l}`},se=t=>{const r=n[t.id];if(!r||Array.isArray(r)&&r.length===0)return{type:"empty",icon:t.icon,content:t.label};if(t.type==="number"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toString(),c.toString()],2)??ee(o,c,t.numberConfig);return{type:"values",icon:t.icon,content:l}}if(t.type==="date"&&t.rangeMode&&Array.isArray(r)&&r.length===2){const[o,c]=r,l=t.formatValue?.([o.toISOString(),c.toISOString()],2)??te.formatDateRange(o,c);return{type:"values",icon:t.icon,content:l}}if(Array.isArray(r))if(r.length<=3){const o=r.map(String),c=t.formatValue?.(o,o.length)??o.map(l=>H(t,l)).join(", ");return{type:"values",icon:t.icon,content:c}}else return{type:"count",icon:t.icon,label:t.label,count:r.length};return{type:"values",icon:t.icon,content:H(t,String(r))}},s=m.filter(t=>a.includes(t.id)),u=d.useMemo(()=>{const t=[];for(const r of m){const o=c=>{t.push({normalizedLabel:c.toLowerCase(),filterId:r.id,icon:r.icon})};if(r.groups)for(const c of r.groups)for(const l of c.options)o(l.label),l.children?.forEach(P=>o(P.label));r.options&&r.options.forEach(c=>{o(c.label),c.children?.forEach(l=>o(l.label))})}return t},[m]),p=d.useCallback(t=>{if(!t)return null;const r=t.toLowerCase();for(const o of u)if(o.normalizedLabel.includes(r))return{filterId:o.filterId,icon:o.icon};return null},[u]),x=d.useMemo(()=>b.filter(r=>r&&typeof r=="string").map(r=>{if(r.includes("|")){const[c,l]=r.split("|"),P=m.find($=>$.label===l);return{value:r,matchedFilter:P?{filterId:P.id,icon:P.icon}:void 0}}const o=p(r);return{value:r,matchedFilter:o?{filterId:o.filterId,icon:o.icon}:void 0}}),[b,m,p]),y=d.useMemo(()=>{if(!N||!k)return[];const t=[];return m.forEach(r=>{r.groups?r.groups.forEach(o=>{o.options.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon}),c.children&&c.children.forEach(l=>{l.label&&l.value&&t.push({label:l.label,value:l.value,filterLabel:r.label,filterIcon:r.icon})})})}):r.options&&r.options.forEach(o=>{o.label&&o.value&&t.push({label:o.label,value:o.value,filterLabel:r.label,filterIcon:r.icon}),o.children&&o.children.forEach(c=>{c.label&&c.value&&t.push({label:c.label,value:c.value,filterLabel:r.label,filterIcon:r.icon})})})}),t.sort((r,o)=>{const c=r.label.localeCompare(o.label);return c!==0?c:r.filterLabel.localeCompare(o.filterLabel)})},[m,N,k]),X=(t,r)=>{if(!C)return;const o=r?`${t}|${r}`:t;b.includes(o)||C([...b,o])},L=t=>{C&&C(b.filter(r=>r!==t))},ae=()=>{j(),C&&q&&C([])};return e.jsxs("div",{className:"flex gap-[3px] items-center min-w-0",children:[e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:S}),Q&&e.jsxs(U.Popover,{open:z,onOpenChange:T,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(Y.Button,{className:"h-[var(--size-m)] gap-[var(--space-xs)]","aria-label":`Filters${F>0?`, ${F} active`:""}`,"aria-expanded":z,"aria-haspopup":"dialog",children:[e.jsx(_.Icon,{name:G.ListFilter,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsx("span",{className:"text-label-md",children:"Filters"}),F>0&&e.jsx(le.Badge,{size:"s",intent:"neutral",appearance:"subtle","aria-hidden":"true",children:F})]})}),e.jsx(U.PopoverContent,{className:"w-[660px] p-0",align:"start",children:e.jsx(xe,{filters:m,pinnedFilters:a,activeFilters:n,onPinnedFiltersChange:v,onFilterChange:g})})]}),Q&&s.length>0&&e.jsx(oe.Separator,{type:"dot",layout:"horizontal"}),s.length>0&&e.jsx("div",{className:"min-w-0 flex gap-[7px] overflow-x-auto scrollbar-hide p-1",children:s.map(t=>{const r=se(t),o=r.type!=="empty",c=r.icon;return e.jsxs(U.Popover,{open:i===t.id,onOpenChange:l=>Z(l,t.id),children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{ref:l=>{K.current[t.id]=l},role:"button",tabIndex:0,"aria-label":`${t.label}: ${r.type==="empty"?"not set, click to add filter":r.type==="count"?`${r.count} selected, click to edit`:`${r.content}, click to edit`}`,"aria-expanded":i===t.id,"aria-haspopup":"dialog",onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),Z(i!==t.id,t.id))},className:A.cn("group/slot h-[var(--size-m)] rounded-[var(--border-radius-l)] flex items-center justify-center gap-[var(--space-s)] transition-colors cursor-pointer flex-shrink-0","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2",o?"bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px]":"border border-dashed border-[var(--color-border-primary-strong)] px-[var(--space-m)] pr-[var(--space-s)] hover:border-[var(--grey-400)] active:bg-[var(--grey-25)]"),children:[e.jsx(c,{className:A.cn("h-[var(--size-2xs)] w-[var(--size-2xs)]",o?"text-[var(--color-icon-primary)]":"text-[var(--grey-400)] group-hover/slot:text-[var(--grey-500)]")}),r.type==="count"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:r.label}),e.jsx(le.Badge,{size:"s",intent:"neutral",appearance:"bold",children:r.count})]}):e.jsx("span",{className:A.cn("whitespace-nowrap [&]:text-label-md",o?"text-[var(--color-text-primary)]":"text-[var(--color-text-tertiary)] group-hover/slot:text-[var(--grey-500)]"),children:r.content}),o&&e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Clear ${t.label} filter`,onClick:l=>{l.stopPropagation(),f(t.id)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),l.stopPropagation(),f(t.id))},className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:G.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]})}),e.jsx(U.PopoverContent,{className:A.cn("p-[var(--space-l)]",t.type==="date"?"w-[600px]":"w-[320px]","max-h-[var(--radix-popover-content-available-height)] overflow-y-auto"),align:"start",collisionPadding:8,children:e.jsx(ce,{filter:t,value:n[t.id],onChange:l=>g(t.id,l),onReset:()=>f(t.id)})})]},t.id)})}),k&&(Q||s.length>0)&&e.jsx(oe.Separator,{type:"line",layout:"horizontal",className:"mx-[var(--space-s)]"}),k&&!N&&e.jsx(ye,{placeholder:D,onAddSearchTerm:X}),k&&N&&e.jsx(je,{placeholder:D,onAddSearchTerm:X,suggestions:y,minCharacters:O}),x.map(t=>{const r=t.matchedFilter?.icon,o=t.value.includes("|")?t.value.split("|")[0]:t.value;return e.jsxs("div",{className:"h-[var(--size-m)] rounded-[var(--border-radius-l)] bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px] flex items-center gap-[var(--space-s)] transition-colors",children:[r&&e.jsx(r,{className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]"}),e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:o}),e.jsx(Y.Button,{variant:"ghost",size:"s","aria-label":`Remove search term: ${o}`,onClick:()=>L(t.value),className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(_.Icon,{name:G.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]},t.value)}),!I&&(W||q)&&e.jsx(oe.Separator,{type:"dot",layout:"horizontal"}),!I&&(W||q)&&e.jsx(Y.Button,{variant:"ghost",onClick:ae,"aria-label":"Reset all filters and search terms",className:"h-[var(--size-m)] rounded-[var(--border-radius-s)] px-[var(--space-m)]",children:e.jsx("span",{className:"text-label-md",children:"Clear all"})}),V&&e.jsx("div",{className:"flex-1"}),V]})}exports.DEFAULT_DAY_PRESETS=pe;exports.DEFAULT_MONTH_PRESETS=de;exports.FilterDropdownMenu=xe;exports.FilterPanelContent=ce;exports.Filters=Ne;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),Se=require("react"),E=require("../../lib/utils.cjs"),Q=require("../fundamental/button.cjs"),ne=require("../fundamental/input.cjs"),Ce=require("../fundamental/autocomplete-search.cjs"),q=require("../fundamental/icon.cjs"),W=require("lucide-react"),ve=require("../fundamental/checkbox.cjs"),ce=require("../fundamental/radio-group.cjs"),ee=require("../fundamental/select.cjs"),Ie=require("../fundamental/month-picker.cjs"),ke=require("../fundamental/calendar.cjs"),G=require("../fundamental/popover.cjs"),se=require("../fundamental/tooltip.cjs"),ie=require("../fundamental/separator.cjs"),ue=require("../fundamental/badge.cjs"),oe=require("../../lib/date-utils.cjs");function $e(m){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const o in m)if(o!=="default"){const v=Object.getOwnPropertyDescriptor(m,o);Object.defineProperty(a,o,v.get?v:{enumerable:!0,get:()=>m[o]})}}return a.default=m,Object.freeze(a)}const i=$e(Se),be=["this-month","last-month","this-quarter","last-quarter","this-year","last-year","custom"],fe=["this-week","last-week","last-30-days","last-90-days","this-month","last-month","custom"];function Ae(m){let a=0;if(m.groups)for(const o of m.groups)for(const v of o.options)a++,v.children&&(a+=v.children.length);return m.options&&(a=m.options.length),a}const de=i.memo(function({filter:a,value:o,onChange:v,onReset:g,autoFocusSearch:j=!0}){const[N,D]=i.useState(""),f=i.useDeferredValue(N),[k,M]=i.useState(""),[w,O]=i.useState(""),[$,z]=i.useState(null),[F,P]=i.useState(null),[L,u]=i.useState(!1),[S,C]=i.useState(new Date().getFullYear()),h=i.useMemo(()=>o?Array.isArray(o)?o.map(String):[String(o)]:[],[o]);i.useEffect(()=>{if(a.type==="number"&&a.rangeMode){const s=o;if(Array.isArray(s)){const[d,x]=s;M(d===-1/0?"":d?.toString()||""),O(x===1/0?"":x?.toString()||"")}else typeof s=="number"?(M(s.toString()),O("")):(M(""),O(""));z(null),P(null)}},[o,a.type,a.rangeMode]);const V=i.useMemo(()=>{const s=a.showSearch??"auto";if(s===!0)return!0;if(s===!1)return!1;const d=Ae(a),x=a.searchThreshold??8;return d>=x},[a]),X=i.useMemo(()=>{if(a.groups){if(!f)return a.groups;const s=f.toLowerCase();return a.groups.map(d=>({...d,options:d.options.filter(x=>x.label.toLowerCase().includes(s)||x.children?.some(p=>p.label.toLowerCase().includes(s)))})).filter(d=>d.options.length>0)}if(a.options){const s=f?a.options.filter(d=>d.label.toLowerCase().includes(f.toLowerCase())):a.options;return s.length>0?[{label:a.label,options:s}]:[]}return[]},[a.groups,a.options,a.label,f]),_=s=>{if(a.type==="multiselect"){const d=h.includes(s)?h.filter(x=>x!==s):[...h,s];v(d.length>0?d:void 0)}else v(s===h[0]?void 0:s)},re=s=>{if(a.type!=="multiselect")return;const d=s.options.flatMap(p=>[p.value,...p.children?.map(b=>b.value)||[]]),x=h.filter(p=>!d.includes(p));v(x.length>0?x:void 0)},J=s=>{if(a.type!=="multiselect")return;const d=s.options.flatMap(p=>[p.value,...p.children?.map(b=>b.value)||[]]),x=Array.from(new Set([...h,...d]));v(x.length>0?x:void 0)},te=s=>{if(a.type!=="multiselect")return;const x=s.options.filter(R=>!N||R.label.toLowerCase().includes(N.toLowerCase())).flatMap(R=>{const ae=R.value,T=R.children?.filter(Y=>!N||Y.label.toLowerCase().includes(N.toLowerCase())).map(Y=>Y.value)||[];return[ae,...T]}),p=h.filter(R=>!x.includes(R)),b=x.filter(R=>!h.includes(R)),Z=[...p,...b];v(Z.length>0?Z:void 0)},B=()=>{const s=k.trim(),d=w.trim();if(z(null),P(null),s===""&&d===""){v(void 0);return}const x=s===""?-1/0:parseFloat(s),p=d===""?1/0:parseFloat(d);if(s!==""&&isNaN(x)){z("Invalid minimum value");return}if(d!==""&&isNaN(p)){P("Invalid maximum value");return}if(x!==-1/0&&p!==1/0&&x>p){z("Minimum must be less than maximum"),P("Maximum must be more than minimum");return}v([x,p])},K=a.dateConfig?.granularity||"month",H=()=>a.dateConfig?.presets?a.dateConfig.presets:K==="day"?fe:be,U=()=>{if(L)return"custom";const s=o;if(!s||!Array.isArray(s))return H().includes("all-time")?"all-time":"";for(const d of H()){if(d==="custom")continue;const x=oe.calculatePresetRange(d);if(x&&x[0].getTime()===s[0].getTime()&&x[1].getTime()===s[1].getTime())return d}return"custom"},le=s=>{if(s==="custom"){u(!0);return}u(!1);const d=oe.calculatePresetRange(s);v(d)};return e.jsxs("div",{className:"flex flex-col gap-[var(--space-3xl)]",children:[V&&e.jsxs("div",{className:"relative",children:[e.jsx(q.Icon,{name:"search",className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 h-[var(--size-xs)] w-[var(--size-xs)] text-[var(--color-text-tertiary)] pointer-events-none"}),e.jsx(ne.Input,{type:"text",size:"l",placeholder:a.searchPlaceholder||`Search for a ${a.label.toLowerCase()}`,value:N,onChange:s=>D(s.target.value),className:"pl-[calc(var(--space-m)+var(--size-xs)+var(--space-s))]",autoFocus:j})]}),a.type==="number"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"At least..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(ne.Input,{type:"text",inputMode:"numeric",size:"l",variant:$?"error":"default",value:k,onChange:s=>{M(s.target.value),z(null)},onBlur:B,onKeyDown:s=>{s.key==="Enter"&&B()},placeholder:a.numberConfig?.min?.toString()||"0.00",className:E.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),$&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:$})]}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"No more than..."}),e.jsxs("div",{className:"relative",children:[a.numberConfig?.prefix&&e.jsx("span",{className:"absolute left-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.prefix}),e.jsx(ne.Input,{type:"text",inputMode:"numeric",size:"l",variant:F?"error":"default",value:w,onChange:s=>{O(s.target.value),P(null)},onBlur:B,onKeyDown:s=>{s.key==="Enter"&&B()},placeholder:a.numberConfig?.max?.toString()||"0.00",className:E.cn(a.numberConfig?.prefix&&"pl-[calc(var(--space-l)+var(--space-m))]",a.numberConfig?.suffix&&"pr-[calc(var(--space-l)+var(--space-m))]")}),a.numberConfig?.suffix&&e.jsx("span",{className:"absolute right-[var(--space-m)] top-1/2 -translate-y-1/2 text-body-md text-[var(--color-text-tertiary)] pointer-events-none",children:a.numberConfig.suffix})]}),F&&e.jsx("span",{className:"text-caption-sm text-[var(--color-text-error-bold)]",children:F})]}),g&&(k!==""||w!=="")&&e.jsx(Q.Button,{variant:"default",onClick:()=>{M(""),O(""),z(null),P(null),g()},className:"self-start",children:e.jsx("span",{className:"text-body-medium-sm",children:"Reset"})})]}),a.type==="date"&&a.rangeMode&&e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:"text-body-medium-sm text-[var(--color-text-tertiary)]",children:a.label}),e.jsx("div",{className:"h-px w-full mb-[var(--space-s)]",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("label",{className:"text-label-md text-[var(--color-text-primary)]",children:"Date range"}),e.jsxs(ee.Select,{value:U(),onValueChange:le,children:[e.jsx(ee.SelectTrigger,{size:"l",children:e.jsx(ee.SelectValue,{placeholder:"Select date range..."})}),e.jsx(ee.SelectContent,{children:H().map(s=>e.jsx(ee.SelectItem,{value:s,children:oe.getPresetLabel(s)},s))})]})]}),U()==="custom"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-body-sm text-[var(--color-text-secondary)]",children:K==="day"?"Select start and end dates for custom range":"Select start and end months for custom range"}),K==="day"&&e.jsx(ke.Calendar,{mode:"range",selected:o&&Array.isArray(o)&&o.length===2?{from:o[0],to:o[1]}:void 0,onSelect:s=>{if(s?.from&&s?.to){const d=new Date(s.from);d.setHours(0,0,0,0);const x=new Date(s.to);x.setHours(23,59,59,999),v([d,x]),u(!1)}},numberOfMonths:2,disabled:a.dateConfig?.minDate||a.dateConfig?.maxDate?s=>!!(a.dateConfig?.minDate&&s<a.dateConfig.minDate||a.dateConfig?.maxDate&&s>a.dateConfig.maxDate):void 0}),K==="month"&&e.jsx(Ie.MonthPicker,{value:o,onChange:s=>{v(s),u(!1)},mode:"range",yearCount:2,size:"small",enableNavigation:!0,onYearNavigate:s=>C(s),minDate:a.dateConfig?.minDate,maxDate:a.dateConfig?.maxDate})]})]}),X.map((s,d)=>{const x=`filter-group-${d}-${s.label.replace(/\s+/g,"-").toLowerCase()}`;return e.jsxs("div",{role:"group","aria-labelledby":x,className:"flex flex-col gap-[var(--space-s)]",children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] items-start justify-start w-full",children:[e.jsx("div",{id:x,className:"flex-1 text-body-medium-sm text-[var(--color-text-tertiary)]",children:s.label}),g&&a.type==="multiselect"&&e.jsxs("div",{className:"flex gap-[var(--space-xs)] items-center text-body-medium-sm text-[var(--color-text-brand-bold)]",children:[e.jsx("button",{onClick:()=>J(s),"aria-label":`Select all ${s.label} options`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"All"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>te(s),"aria-label":`Inverse selection in ${s.label}`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"Inverse"}),e.jsx("span",{className:"text-[var(--color-text-tertiary)]","aria-hidden":"true",children:"•"}),e.jsx("button",{onClick:()=>re(s),"aria-label":`Clear all ${s.label} selections`,className:"hover:text-[var(--color-text-brand-bold-hovered)] hover:underline",children:"None"})]})]}),e.jsx("div",{className:"h-px w-full",children:e.jsx("div",{"aria-hidden":"true",className:"border-[var(--color-border-primary-subtle)] border-[0px_0px_1px] border-solid h-px"})}),a.type==="multiselect"?e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(p=>e.jsxs(i.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ve.Checkbox,{id:`checkbox-${a.id}-${p.value}`,checked:h.includes(p.value),onCheckedChange:()=>_(p.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${p.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:p.label})]}),p.children&&p.children.map(b=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ve.Checkbox,{id:`checkbox-${a.id}-${b.value}`,checked:h.includes(b.value),onCheckedChange:()=>_(b.value)}),e.jsx("label",{htmlFor:`checkbox-${a.id}-${b.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:b.label})]},b.value))]},p.value))}):e.jsx(ce.RadioGroup,{value:h[0]||"",onValueChange:_,"aria-label":s.label,children:e.jsx("div",{className:"flex flex-col gap-[var(--space-s)]",children:s.options.map(p=>e.jsxs(i.Fragment,{children:[e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center",children:[e.jsx(ce.RadioGroupItem,{id:`radio-${a.id}-${p.value}`,value:p.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${p.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:p.label})]}),p.children&&p.children.map(b=>e.jsxs("div",{className:"flex gap-[var(--space-s)] h-[20px] items-center pl-[var(--space-3xl)]",children:[e.jsx(ce.RadioGroupItem,{id:`radio-${a.id}-${b.value}`,value:b.value}),e.jsx("label",{htmlFor:`radio-${a.id}-${b.value}`,className:"flex-1 text-body-md text-[var(--color-text-primary)] cursor-pointer",children:b.label})]},b.value))]},p.value))})})]},s.label)})]})}),he=i.memo(function({filter:a,isSelected:o,isPinned:v,valueCount:g,onSelect:j,onTogglePin:N,onPrefetch:D}){const f=a.icon,[k,M]=i.useState(!1);return e.jsxs("div",{id:`filter-option-${a.id}`,role:"option","aria-selected":o,"aria-label":`${a.label}${g?`, ${g} selected`:""}`,tabIndex:-1,onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),j())},onMouseEnter:()=>{M(!0),D?.()},onMouseLeave:()=>M(!1),className:E.cn("group/item box-border flex gap-[var(--space-m)] h-[var(--size-m)] items-center justify-start px-[var(--space-l)] py-[var(--space-s)] relative rounded-[var(--border-radius-m)] shrink-0 w-full cursor-pointer transition-colors","hover:bg-[var(--color-background-neutral-hovered)]",o&&"bg-[var(--color-background-blue-subtle-selected)] hover:bg-[var(--color-background-blue-subtle-selected-hovered)] group-focus-visible/listbox:ring-2 group-focus-visible/listbox:ring-[var(--ring-color)] group-focus-visible/listbox:ring-inset"),onClick:j,children:[e.jsxs("div",{className:"flex-1 flex gap-[var(--space-s)] items-center justify-start min-w-0",children:[e.jsx(f,{className:E.cn("h-[var(--size-2xs)] w-[var(--size-2xs)] shrink-0",o?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx("div",{className:E.cn("truncate [&]:text-label-md",o?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]"),children:a.label}),g!==void 0&&g>0&&e.jsx(ue.Badge,{size:"s",intent:o?"brand":"neutral",appearance:o||k?"bold":"subtle",children:g})]}),e.jsx("div",{className:"flex items-center gap-[var(--space-s)] shrink-0",children:e.jsx(Q.Button,{variant:"ghost",size:"s",tabIndex:-1,"aria-label":v?`Unpin ${a.label} filter`:`Pin ${a.label} filter`,"aria-pressed":v,onClick:w=>{w.stopPropagation(),N()},className:E.cn("group/pin h-auto w-auto p-[var(--space-xs)] transition-opacity",v?"opacity-100":"opacity-0 group-hover/item:opacity-100"),children:v?e.jsxs(e.Fragment,{children:[e.jsx(q.Icon,{name:W.Pin,"aria-hidden":"true",className:E.cn("h-[12px] w-[12px] group-hover/pin:hidden",o?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")}),e.jsx(q.Icon,{name:W.PinOff,"aria-hidden":"true",className:E.cn("h-[12px] w-[12px] hidden group-hover/pin:block",o?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})]}):e.jsx(q.Icon,{name:W.Pin,"aria-hidden":"true",className:E.cn("h-[12px] w-[12px]",o?"text-[var(--color-text-brand-bold)]":"text-[var(--color-text-primary)]")})})})]})});function De({placeholder:m="Search for keyword...",onAddSearchTerm:a}){const[o,v]=i.useState(""),g=j=>{j.key==="Enter"&&o.trim()&&(j.preventDefault(),a(o.trim()),v(""))};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(ne.Input,{type:"search","aria-label":"Search filters by keyword",placeholder:m,value:o,onChange:j=>v(j.target.value),onKeyDown:g,size:"m"})})}function Ee({placeholder:m="Search for keyword...",onAddSearchTerm:a,suggestions:o,minCharacters:v}){const[g,j]=i.useState(""),N=(D,f)=>{a(D,f),j("")};return e.jsx("div",{className:"min-w-[200px] w-[280px]",children:e.jsx(Ce.AutocompleteSearch,{value:g,onValueChange:j,onSelect:N,suggestions:o,placeholder:m,minCharacters:v})})}function ge({filters:m,pinnedFilters:a,activeFilters:o,onPinnedFiltersChange:v,onFilterChange:g,sidebarWidth:j=240}){const[N,D]=i.useState(m[0]?.id),[f,k]=i.useState("mouse"),M=i.useRef(null),w=i.useMemo(()=>m.map(u=>u.id),[m]),O=u=>{const S=w.indexOf(N);let C=S;switch(u.key){case"ArrowDown":u.preventDefault(),C=Math.min(S+1,w.length-1);break;case"ArrowUp":u.preventDefault(),C=Math.max(S-1,0);break;case"Home":u.preventDefault(),C=0;break;case"End":u.preventDefault(),C=w.length-1;break;default:return}C!==S&&(k("keyboard"),D(w[C]))},$=m.find(u=>u.id===N),z=i.useCallback(u=>{$&&g($.id,u)},[$?.id,g]),F=i.useCallback(()=>{$&&g($.id,void 0)},[$?.id,g]),P=u=>{const S=a.includes(u)?a.filter(C=>C!==u):[...a,u];v(S)},L=i.useMemo(()=>{const u={},S=[],C=[];return m.forEach(h=>{h.group?(u[h.group]||(u[h.group]=[],C.push(h.group)),u[h.group].push(h)):S.push(h)}),{grouped:u,ungrouped:S,groupOrder:C}},[m]);return e.jsx("div",{className:"bg-[var(--color-surface-primary)] relative rounded-[var(--border-radius-m)] max-h-[480px] flex flex-col",children:e.jsxs("div",{className:"flex items-stretch justify-start min-h-0 overflow-hidden rounded-[var(--border-radius-m)] flex-1",children:[e.jsx("div",{className:"bg-[var(--color-background-neutral-default)] relative shrink-0 border-r border-[var(--color-border-primary-subtle)] flex flex-col",style:{width:typeof j=="number"?`${j}px`:j},children:e.jsxs("div",{ref:M,role:"listbox","aria-label":"Filter categories","aria-orientation":"vertical","aria-activedescendant":N?`filter-option-${N}`:void 0,tabIndex:0,onKeyDown:O,className:"group/listbox box-border flex flex-col gap-[var(--space-s)] p-[var(--space-s)] overflow-y-auto focus-visible:outline-none",children:[L.ungrouped.map(u=>{const S=o[u.id],C=Array.isArray(S)?S.length:S!=null?1:0;return e.jsx(he,{filter:u,isSelected:u.id===N,isPinned:a.includes(u.id),valueCount:C,onSelect:()=>{k("mouse"),D(u.id)},onTogglePin:()=>P(u.id)},u.id)}),L.groupOrder.map((u,S)=>{const C=L.grouped[u];return e.jsxs("div",{className:"flex flex-col gap-[var(--space-s)]",children:[e.jsx("div",{className:E.cn("px-[var(--space-m)] pb-[var(--space-xs)]",S===0&&L.ungrouped.length===0?"pt-0":"pt-[var(--space-m)]"),children:e.jsx("div",{className:"text-caption-sm text-[var(--color-text-tertiary)] tracking-[0.1px]",children:u})}),C.map(h=>{const V=o[h.id],X=Array.isArray(V)?V.length:V!=null?1:0;return e.jsx(he,{filter:h,isSelected:h.id===N,isPinned:a.includes(h.id),valueCount:X,onSelect:()=>{k("mouse"),D(h.id)},onTogglePin:()=>P(h.id)},h.id)})]},u)})]})}),e.jsx("div",{className:"flex-1 box-border p-[var(--space-l)] overflow-y-auto",children:$&&e.jsx(de,{filter:$,value:o[$.id],onChange:z,onReset:F,autoFocusSearch:f==="mouse"})})]})})}function Me({filters:m,pinnedFilters:a,activeFilters:o,onPinnedFiltersChange:v,onFilterChange:g,onFilterClear:j,onFilterReset:N,enableGlobalSearch:D=!1,globalSearchTerms:f=[],onGlobalSearchChange:k,globalSearchPlaceholder:M,enableAutocomplete:w=!1,autocompleteMinCharacters:O=2,hideReset:$=!1,hideFiltersButton:z=!1,actionButtons:F}){const[P,L]=i.useState(!1),[u,S]=i.useState(null),[C,h]=i.useState(null),[V,X]=i.useState(""),_=i.useRef(o),re=i.useRef(f),J=i.useRef({}),te=i.useRef(null),[B,K]=i.useState(new Set),H=i.useRef(null),[U,le]=i.useState(!1),s=i.useCallback((r,t)=>{const n=u;S(r?t:null),!r&&n===t&&(h(t),setTimeout(()=>h(null),500),setTimeout(()=>{J.current[t]?.focus()},0))},[u]);i.useEffect(()=>{const r=_.current,t=re.current,n=Object.keys(o).filter(A=>o[A]!==void 0&&o[A]!==null&&(!Array.isArray(o[A])||o[A].length>0)).length,c=Object.keys(r).filter(A=>r[A]!==void 0&&r[A]!==null&&(!Array.isArray(r[A])||r[A].length>0)).length,l=f.length,I=t.length;let y="";if(n!==c&&(n>c?y="Filter applied.":n<c&&(y="Filter removed.")),l!==I&&(l>I?y=y?`${y} Search term added.`:"Search term added.":l<I&&(y=y?`${y} Search term removed.`:"Search term removed.")),y){const A=n+l;A===0?y="All filters cleared.":y=`${y} ${A} active filter${A!==1?"s":""}.`,X(y)}_.current=o,re.current=f},[o,f]);const d=!z&&m.length>0,x=Object.keys(o).some(r=>o[r]!==void 0&&o[r]!==null),p=f.length>0,b=Object.keys(o).filter(r=>{const t=o[r];return t!=null&&(!Array.isArray(t)||t.length>0)}).length,Z=(r,t)=>{if(!r.groups)return t;for(const n of r.groups)for(const c of n.options){if(c.value===t)return c.label;if(c.children){const l=c.children.find(I=>I.value===t);if(l)return l.label}}return t},R=(r,t,n)=>{const c=n?.prefix||"",l=n?.suffix||"";return r===-1/0?`≤ ${c}${t}${l}`:t===1/0?`≥ ${c}${r}${l}`:`${c}${r}${l} - ${c}${t}${l}`},ae=r=>{const t=o[r.id];if(!t||Array.isArray(t)&&t.length===0)return{type:"empty",icon:r.icon,content:r.label};if(r.type==="number"&&r.rangeMode&&Array.isArray(t)&&t.length===2){const[n,c]=t,l=r.formatValue?.([n.toString(),c.toString()],2)??R(n,c,r.numberConfig);return{type:"values",icon:r.icon,content:l}}if(r.type==="date"&&r.rangeMode&&Array.isArray(t)&&t.length===2){const[n,c]=t,l=r.formatValue?.([n.toISOString(),c.toISOString()],2)??oe.formatDateRange(n,c);return{type:"values",icon:r.icon,content:l}}if(Array.isArray(t))if(t.length<=3){const n=t.map(String),c=r.formatValue?.(n,n.length)??n.map(l=>Z(r,l)).join(", ");return{type:"values",icon:r.icon,content:c}}else return{type:"count",icon:r.icon,label:r.label,count:t.length};return{type:"values",icon:r.icon,content:Z(r,String(t))}},T=m.filter(r=>a.includes(r.id));i.useEffect(()=>{const r=H.current;if(!r)return;const t=r.parentElement;if(!t)return;const n=()=>{let l=0,I=0;for(const A of Array.from(t.children)){if(A===r)continue;const me=A.offsetWidth;me!==0&&(l+=me,I++)}const y=(I+1)*3;return t.clientWidth-l-y},c=new ResizeObserver(()=>{le(n()<320)});return c.observe(t),()=>c.disconnect()},[]),i.useEffect(()=>{const r=te.current;if(!r||T.length===0)return;const t=new IntersectionObserver(n=>{K(c=>{const l=new Set(c);return n.forEach(I=>{const y=I.target.dataset.filterId;y&&(I.isIntersecting&&I.intersectionRatio>=1?l.add(y):l.delete(y))}),l})},{root:r,threshold:1});return Object.values(J.current).forEach(n=>{n&&t.observe(n)}),()=>t.disconnect()},[T]);const Y=i.useMemo(()=>{const r=[];for(const t of m){const n=c=>{r.push({normalizedLabel:c.toLowerCase(),filterId:t.id,icon:t.icon})};if(t.groups)for(const c of t.groups)for(const l of c.options)n(l.label),l.children?.forEach(I=>n(I.label));t.options&&t.options.forEach(c=>{n(c.label),c.children?.forEach(l=>n(l.label))})}return r},[m]),pe=i.useCallback(r=>{if(!r)return null;const t=r.toLowerCase();for(const n of Y)if(n.normalizedLabel.includes(t))return{filterId:n.filterId,icon:n.icon};return null},[Y]),ye=i.useMemo(()=>f.filter(t=>t&&typeof t=="string").map(t=>{if(t.includes("|")){const[c,l]=t.split("|"),I=m.find(y=>y.label===l);return{value:t,matchedFilter:I?{filterId:I.id,icon:I.icon}:void 0}}const n=pe(t);return{value:t,matchedFilter:n?{filterId:n.filterId,icon:n.icon}:void 0}}),[f,m,pe]),je=i.useMemo(()=>{if(!w||!D)return[];const r=[];return m.forEach(t=>{t.groups?t.groups.forEach(n=>{n.options.forEach(c=>{c.label&&c.value&&r.push({label:c.label,value:c.value,filterLabel:t.label,filterIcon:t.icon}),c.children&&c.children.forEach(l=>{l.label&&l.value&&r.push({label:l.label,value:l.value,filterLabel:t.label,filterIcon:t.icon})})})}):t.options&&t.options.forEach(n=>{n.label&&n.value&&r.push({label:n.label,value:n.value,filterLabel:t.label,filterIcon:t.icon}),n.children&&n.children.forEach(c=>{c.label&&c.value&&r.push({label:c.label,value:c.value,filterLabel:t.label,filterIcon:t.icon})})})}),r.sort((t,n)=>{const c=t.label.localeCompare(n.label);return c!==0?c:t.filterLabel.localeCompare(n.filterLabel)})},[m,w,D]),xe=(r,t)=>{if(!k)return;const n=t?`${r}|${t}`:r;f.includes(n)||k([...f,n])},Ne=r=>{k&&k(f.filter(t=>t!==r))},we=()=>{N(),k&&p&&k([])};return e.jsxs("div",{className:"flex gap-[3px] items-center min-w-0",children:[e.jsx("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:V}),d&&e.jsxs(G.Popover,{open:P,onOpenChange:L,children:[e.jsx(G.PopoverTrigger,{asChild:!0,children:e.jsxs(Q.Button,{className:"h-[var(--size-m)] gap-[var(--space-xs)]","aria-label":`Filters${b>0?`, ${b} active`:""}`,"aria-expanded":P,"aria-haspopup":"dialog",children:[e.jsx(q.Icon,{name:W.ListFilter,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"}),e.jsx("span",{className:"text-label-md",children:"Filters"}),b>0&&e.jsx(ue.Badge,{size:"s",intent:"neutral",appearance:"subtle","aria-hidden":"true",children:b})]})}),e.jsx(G.PopoverContent,{className:"w-[660px] p-0",align:"start",children:e.jsx(ge,{filters:m,pinnedFilters:a,activeFilters:o,onPinnedFiltersChange:v,onFilterChange:g})})]}),d&&T.length>0&&!U&&e.jsx(ie.Separator,{type:"dot"}),T.length>0&&e.jsx("div",{ref:H,className:E.cn("min-w-0 flex-1 overflow-hidden",U&&"hidden"),children:!U&&e.jsx(se.TooltipProvider,{delayDuration:400,children:e.jsx("div",{ref:te,className:"min-w-0 flex gap-[7px] overflow-x-auto scrollbar-hide p-1",children:T.map(r=>{const t=ae(r),n=t.type!=="empty",c=t.icon;return e.jsxs(se.Tooltip,{open:u===r.id||C===r.id||!B.has(r.id)?!1:void 0,children:[e.jsxs(G.Popover,{open:u===r.id,onOpenChange:l=>s(l,r.id),children:[e.jsx(se.TooltipTrigger,{asChild:!0,children:e.jsx(G.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{ref:l=>{J.current[r.id]=l},"data-filter-id":r.id,role:"button",tabIndex:0,"aria-label":`${r.label}: ${t.type==="empty"?"not set, click to add filter":t.type==="count"?`${t.count} selected, click to edit`:`${t.content}, click to edit`}`,"aria-expanded":u===r.id,"aria-haspopup":"dialog",onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),s(u!==r.id,r.id))},className:E.cn("group/slot h-[var(--size-m)] rounded-[var(--border-radius-l)] flex items-center justify-center gap-[var(--space-s)] transition-colors cursor-pointer flex-shrink-0","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2",n?"bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px]":"border border-dashed border-[var(--color-border-primary-strong)] px-[var(--space-m)] pr-[var(--space-s)] hover:border-[var(--grey-400)] active:bg-[var(--grey-25)]"),children:[e.jsx(c,{className:E.cn("h-[var(--size-2xs)] w-[var(--size-2xs)]",n?"text-[var(--color-icon-primary)]":"text-[var(--grey-400)] group-hover/slot:text-[var(--grey-500)]")}),t.type==="count"?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:t.label}),e.jsx(ue.Badge,{size:"s",intent:"neutral",appearance:"bold",children:t.count})]}):e.jsx("span",{className:E.cn("whitespace-nowrap [&]:text-label-md",n?"text-[var(--color-text-primary)]":"text-[var(--color-text-tertiary)] group-hover/slot:text-[var(--grey-500)]"),children:t.content}),n&&e.jsx(Q.Button,{variant:"ghost",size:"s","aria-label":`Clear ${r.label} filter`,onClick:l=>{l.stopPropagation(),j(r.id)},onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),l.stopPropagation(),j(r.id))},className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(q.Icon,{name:W.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]})})}),e.jsx(G.PopoverContent,{className:E.cn("p-[var(--space-l)]",r.type==="date"?"w-[600px]":"w-[320px]","max-h-[var(--radix-popover-content-available-height)] overflow-y-auto"),align:"start",collisionPadding:8,children:e.jsx(de,{filter:r,value:o[r.id],onChange:l=>g(r.id,l),onReset:()=>j(r.id)})})]}),t.type==="values"&&e.jsx(se.TooltipContent,{side:"top",children:r.label})]},r.id)})})})}),D&&(d||T.length>0)&&e.jsx(ie.Separator,{type:"vertical-line",className:"mx-[var(--space-s)]"}),D&&!w&&e.jsx(De,{placeholder:M,onAddSearchTerm:xe}),D&&w&&e.jsx(Ee,{placeholder:M,onAddSearchTerm:xe,suggestions:je,minCharacters:O}),ye.map(r=>{const t=r.matchedFilter?.icon,n=r.value.includes("|")?r.value.split("|")[0]:r.value;return e.jsxs("div",{className:"h-[var(--size-m)] rounded-[var(--border-radius-l)] bg-[var(--color-background-neutral-selected)] hover:bg-[var(--color-background-neutral-hovered)] px-[var(--space-m)] pr-[4px] flex items-center gap-[var(--space-s)] transition-colors",children:[t&&e.jsx(t,{className:"h-[var(--size-2xs)] w-[var(--size-2xs)] text-[var(--color-icon-primary)]"}),e.jsx("span",{className:"whitespace-nowrap [&]:text-label-md text-[var(--color-text-primary)]",children:n}),e.jsx(Q.Button,{variant:"ghost",size:"s","aria-label":`Remove search term: ${n}`,onClick:()=>Ne(r.value),className:"h-auto w-auto p-[var(--space-xs)]",children:e.jsx(q.Icon,{name:W.X,className:"h-[var(--size-2xs)] w-[var(--size-2xs)]","aria-hidden":"true"})})]},r.value)}),!$&&(x||p)&&e.jsx(ie.Separator,{type:"dot"}),!$&&(x||p)&&e.jsx(Q.Button,{variant:"ghost",onClick:we,"aria-label":"Reset all filters and search terms",className:"h-[var(--size-m)] rounded-[var(--border-radius-s)] px-[var(--space-m)]",children:e.jsx("span",{className:"text-label-md",children:"Clear all"})}),F&&e.jsx("div",{className:"flex-1"}),F]})}exports.DEFAULT_DAY_PRESETS=fe;exports.DEFAULT_MONTH_PRESETS=be;exports.FilterDropdownMenu=ge;exports.FilterPanelContent=de;exports.Filters=Me;
|
|
@@ -259,7 +259,7 @@ function Ie({ navigationData: a, user: o, teams: u, onNavigate: n, navigationMod
|
|
|
259
259
|
) }),
|
|
260
260
|
/* @__PURE__ */ e(N, { side: "right", className: "hidden group-data-[collapsible=icon]:block", children: H(r) })
|
|
261
261
|
] }) }, r.title)) }) }) }),
|
|
262
|
-
/* @__PURE__ */ e("div", { className: "my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex", children: /* @__PURE__ */ e(Q, {
|
|
262
|
+
/* @__PURE__ */ e("div", { className: "my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex", children: /* @__PURE__ */ e(Q, { type: "horizontal-line" }) }),
|
|
263
263
|
/* @__PURE__ */ l(F, { className: "mt-1 p-[var(--space-s)]", children: [
|
|
264
264
|
/* @__PURE__ */ e(_, { className: "py-1 pb-1.5 group-data-[collapsible=icon]:hidden", children: "Operations" }),
|
|
265
265
|
/* @__PURE__ */ e(B, { children: /* @__PURE__ */ e(I, { children: a.operations.map((r) => /* @__PURE__ */ e(P, { children: r.items && r.items.length > 0 ? /* @__PURE__ */ l(G, { children: [
|
|
@@ -337,7 +337,7 @@ function Ie({ navigationData: a, user: o, teams: u, onNavigate: n, navigationMod
|
|
|
337
337
|
/* @__PURE__ */ e(N, { side: "right", className: "hidden group-data-[collapsible=icon]:block", children: H(r) })
|
|
338
338
|
] }) }, r.title)) }) })
|
|
339
339
|
] }),
|
|
340
|
-
/* @__PURE__ */ e("div", { className: "my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex", children: /* @__PURE__ */ e(Q, {
|
|
340
|
+
/* @__PURE__ */ e("div", { className: "my-2 hidden justify-center px-2 group-data-[collapsible=icon]:flex", children: /* @__PURE__ */ e(Q, { type: "horizontal-line" }) }),
|
|
341
341
|
/* @__PURE__ */ l(F, { className: "mt-1 p-[var(--space-s)]", children: [
|
|
342
342
|
/* @__PURE__ */ e(_, { className: "py-1 pb-1.5 group-data-[collapsible=icon]:hidden", children: "Intelligence" }),
|
|
343
343
|
/* @__PURE__ */ e(B, { children: /* @__PURE__ */ e(I, { children: a.intelligence.map((r) => /* @__PURE__ */ e(P, { children: r.items && r.items.length > 0 ? /* @__PURE__ */ l(G, { children: [
|
|
@@ -1042,7 +1042,7 @@ function rr({
|
|
|
1042
1042
|
/* @__PURE__ */ l(se, { children: [
|
|
1043
1043
|
(d || b || f) && /* @__PURE__ */ l("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: [
|
|
1044
1044
|
/* @__PURE__ */ e(Ze, {}),
|
|
1045
|
-
/* @__PURE__ */ e(Q, {
|
|
1045
|
+
/* @__PURE__ */ e(Q, { type: "vertical-line", className: "mr-2 h-4" }),
|
|
1046
1046
|
/* @__PURE__ */ e("div", { className: "flex-1 min-w-0", children: d }),
|
|
1047
1047
|
/* @__PURE__ */ l("div", { className: "flex items-center gap-2 ml-auto shrink-0", children: [
|
|
1048
1048
|
f && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: f }),
|