@rafal.lemieszewski/tide-ui 0.87.6 → 0.87.8

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.
Files changed (92) hide show
  1. package/dist/cjs/components/fundamental/alert-dialog.cjs +1 -1
  2. package/dist/cjs/components/fundamental/alert.cjs +1 -1
  3. package/dist/cjs/components/fundamental/avatar.cjs +1 -1
  4. package/dist/cjs/components/fundamental/badge.cjs +1 -1
  5. package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -1
  6. package/dist/cjs/components/fundamental/button-group.cjs +1 -1
  7. package/dist/cjs/components/fundamental/button.cjs +1 -1
  8. package/dist/cjs/components/fundamental/calendar.cjs +1 -1
  9. package/dist/cjs/components/fundamental/card.cjs +1 -1
  10. package/dist/cjs/components/fundamental/chart.cjs +1 -1
  11. package/dist/cjs/components/fundamental/checkbox.cjs +1 -1
  12. package/dist/cjs/components/fundamental/command.cjs +1 -1
  13. package/dist/cjs/components/fundamental/dialog.cjs +1 -1
  14. package/dist/cjs/components/fundamental/drawer.cjs +1 -1
  15. package/dist/cjs/components/fundamental/dropdown-menu.cjs +1 -1
  16. package/dist/cjs/components/fundamental/file-upload.cjs +1 -1
  17. package/dist/cjs/components/fundamental/hover-card.cjs +1 -1
  18. package/dist/cjs/components/fundamental/input-group.cjs +1 -1
  19. package/dist/cjs/components/fundamental/input.cjs +1 -1
  20. package/dist/cjs/components/fundamental/kbd.cjs +1 -1
  21. package/dist/cjs/components/fundamental/month-picker.cjs +1 -1
  22. package/dist/cjs/components/fundamental/popover.cjs +1 -1
  23. package/dist/cjs/components/fundamental/resizable.cjs +1 -1
  24. package/dist/cjs/components/fundamental/select.cjs +1 -1
  25. package/dist/cjs/components/fundamental/sheet.cjs +1 -1
  26. package/dist/cjs/components/fundamental/sidebar.cjs +1 -1
  27. package/dist/cjs/components/fundamental/skeleton.cjs +1 -1
  28. package/dist/cjs/components/fundamental/slider.cjs +1 -1
  29. package/dist/cjs/components/fundamental/spinner.cjs +1 -1
  30. package/dist/cjs/components/fundamental/switch.cjs +1 -1
  31. package/dist/cjs/components/fundamental/tabs.cjs +1 -1
  32. package/dist/cjs/components/fundamental/tag.cjs +3 -3
  33. package/dist/cjs/components/fundamental/textarea.cjs +1 -1
  34. package/dist/cjs/components/fundamental/toast.cjs +1 -1
  35. package/dist/cjs/components/fundamental/toggle.cjs +1 -1
  36. package/dist/cjs/components/fundamental/tooltip.cjs +1 -1
  37. package/dist/cjs/components/fundamental/tree.cjs +1 -1
  38. package/dist/cjs/components/product/activity-log.cjs +1 -1
  39. package/dist/cjs/components/product/app-frame.cjs +1 -1
  40. package/dist/cjs/components/product/attributes-list.cjs +1 -1
  41. package/dist/cjs/components/product/bookmarks.cjs +1 -1
  42. package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -1
  43. package/dist/cjs/components/product/data-table.cjs +1 -1
  44. package/dist/cjs/components/product/filters.cjs +1 -1
  45. package/dist/cjs/components/product/linked-chart.cjs +1 -1
  46. package/dist/es/components/fundamental/alert-dialog.js +10 -10
  47. package/dist/es/components/fundamental/alert.js +1 -1
  48. package/dist/es/components/fundamental/avatar.js +23 -23
  49. package/dist/es/components/fundamental/badge.js +1 -1
  50. package/dist/es/components/fundamental/breadcrumb.js +23 -23
  51. package/dist/es/components/fundamental/button-group.js +14 -14
  52. package/dist/es/components/fundamental/button.js +28 -28
  53. package/dist/es/components/fundamental/calendar.js +20 -20
  54. package/dist/es/components/fundamental/card.js +26 -26
  55. package/dist/es/components/fundamental/chart.js +1 -1
  56. package/dist/es/components/fundamental/checkbox.js +3 -3
  57. package/dist/es/components/fundamental/command.js +36 -36
  58. package/dist/es/components/fundamental/dialog.js +7 -7
  59. package/dist/es/components/fundamental/drawer.js +1 -1
  60. package/dist/es/components/fundamental/dropdown-menu.js +111 -111
  61. package/dist/es/components/fundamental/file-upload.js +2 -2
  62. package/dist/es/components/fundamental/hover-card.js +6 -6
  63. package/dist/es/components/fundamental/input-group.js +2 -2
  64. package/dist/es/components/fundamental/input.js +1 -1
  65. package/dist/es/components/fundamental/kbd.js +5 -5
  66. package/dist/es/components/fundamental/month-picker.js +21 -21
  67. package/dist/es/components/fundamental/popover.js +7 -7
  68. package/dist/es/components/fundamental/resizable.js +1 -1
  69. package/dist/es/components/fundamental/select.js +21 -21
  70. package/dist/es/components/fundamental/sheet.js +40 -40
  71. package/dist/es/components/fundamental/sidebar.js +45 -45
  72. package/dist/es/components/fundamental/skeleton.js +19 -19
  73. package/dist/es/components/fundamental/slider.js +1 -1
  74. package/dist/es/components/fundamental/spinner.js +11 -11
  75. package/dist/es/components/fundamental/switch.js +7 -7
  76. package/dist/es/components/fundamental/tabs.js +30 -30
  77. package/dist/es/components/fundamental/tag.js +28 -28
  78. package/dist/es/components/fundamental/textarea.js +9 -9
  79. package/dist/es/components/fundamental/toast.js +11 -11
  80. package/dist/es/components/fundamental/toggle.js +7 -7
  81. package/dist/es/components/fundamental/tooltip.js +4 -4
  82. package/dist/es/components/fundamental/tree.js +17 -17
  83. package/dist/es/components/product/activity-log.js +41 -41
  84. package/dist/es/components/product/app-frame.js +181 -191
  85. package/dist/es/components/product/attributes-list.js +68 -68
  86. package/dist/es/components/product/bookmarks.js +148 -148
  87. package/dist/es/components/product/data-table-settings-menu.js +45 -45
  88. package/dist/es/components/product/data-table.js +375 -375
  89. package/dist/es/components/product/filters.js +5 -5
  90. package/dist/es/components/product/linked-chart.js +24 -24
  91. package/dist/es/style.css +1 -1
  92. 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"),i=require("../fundamental/sidebar.cjs"),R=require("../fundamental/button.cjs"),p=require("../fundamental/icon.cjs"),d=require("lucide-react"),u=require("../fundamental/avatar.cjs"),F=require("../fundamental/separator.cjs"),V=require("../fundamental/kbd.cjs"),a=require("../fundamental/dropdown-menu.cjs"),c=require("../fundamental/tooltip.cjs"),h=require("../fundamental/command.cjs");function U(o){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const x in o)if(x!=="default"){const n=Object.getOwnPropertyDescriptor(o,x);Object.defineProperty(l,x,n.get?n:{enumerable:!0,get:()=>o[x]})}}return l.default=o,Object.freeze(l)}const g=U(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}]},H=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(),D=()=>typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.userAgent);function K(o,l){return o.reduce((x,n)=>{const b=l(n);return(x[b]??=[]).push(n),x},{})}function B(o){const l={};return[...o.main||[],...o.operations||[],...o.intelligence||[],...o.support||[]].forEach(n=>{if(n.items&&n.items.length>0){const b=n.items.some(v=>v.isActive);l[n.title]=b}}),l}function Z({navigationData:o,user:l,teams:x,onNavigate:n,navigationMode:b,onNavigationModeChange:v,onSearchChange:y,searchItems:j,searchLoading:k}){const[A,f]=g.useState(!1),[I,N]=g.useState(""),[C,M]=g.useState(()=>B(o)),[s,m]=g.useState(x[0]),S=r=>{M(t=>({...t,[r]:!t[r]}))},O=r=>r.items&&r.items.some(t=>t.isActive),z=r=>{if(r.items&&r.items.length>0){const t=r.items.find(w=>w.isActive);if(t)return`${r.title} → ${t.title}`}return r.title};return g.useEffect(()=>{const r=t=>{t.key==="k"&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),f(w=>!w))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),g.useEffect(()=>{M(B(o))},[o]),e.jsxs(c.TooltipProvider,{delayDuration:100,children:[e.jsxs(i.Sidebar,{variant:"sidebar",collapsible:"icon",className:"flex h-full flex-col",children:[e.jsx(i.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-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:D()?"⌘":"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:D()?"⌘":"Ctrl"}),e.jsx(V.Kbd,{size:"s",variant:"dark",children:"K"})]})]})})]})]})}),e.jsx(i.SidebarGroup,{className:"pb-1 mt-1 p-[var(--space-s)]",children:e.jsx(i.SidebarGroupContent,{children:e.jsx(i.SidebarMenu,{children:o.main.map(r=>e.jsx(i.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(i.SidebarMenuButton,{isActive:r.isActive,onClick:t=>{n&&(t.preventDefault(),n(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(F.Separator,{layout:"vertical"})}),e.jsxs(i.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(i.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Operations"}),e.jsx(i.SidebarGroupContent,{children:e.jsx(i.SidebarMenu,{children:o.operations.map(r=>e.jsx(i.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(i.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(i.SidebarMenuSub,{children:r.items.map(t=>e.jsx(i.SidebarMenuSubItem,{children:e.jsx(i.SidebarMenuSubButton,{isActive:t.isActive,onClick:w=>{n&&(w.preventDefault(),n(t.url))},children:e.jsx("span",{children:t.title})})},t.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(i.SidebarMenuButton,{isActive:O(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(t=>e.jsx(a.DropdownMenuItem,{className:t.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{n&&n(t.url)},children:t.title},t.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(i.SidebarMenuButton,{isActive:r.isActive,onClick:t=>{n&&(t.preventDefault(),n(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(F.Separator,{layout:"vertical"})}),e.jsxs(i.SidebarGroup,{className:"mt-1 p-[var(--space-s)]",children:[e.jsx(i.SidebarGroupLabel,{className:"py-1 pb-1.5 group-data-[collapsible=icon]:hidden",children:"Intelligence"}),e.jsx(i.SidebarGroupContent,{children:e.jsx(i.SidebarMenu,{children:o.intelligence.map(r=>e.jsx(i.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(i.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(i.SidebarMenuSub,{children:r.items.map(t=>e.jsx(i.SidebarMenuSubItem,{children:e.jsx(i.SidebarMenuSubButton,{isActive:t.isActive,onClick:w=>{n&&(w.preventDefault(),n(t.url))},children:e.jsx("span",{children:t.title})})},t.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(i.SidebarMenuButton,{isActive:O(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(t=>e.jsx(a.DropdownMenuItem,{className:t.isActive?"bg-[var(--color-background-blue-subtle-selected)] text-[var(--color-text-brand-bold)]":"",onSelect:()=>{n&&n(t.url)},children:t.title},t.title))]})]})})]}):e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(i.SidebarMenuButton,{isActive:r.isActive,onClick:t=>{n&&(t.preventDefault(),n(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(i.SidebarGroup,{className:"pb-2 p-[var(--space-s)] pt-[var(--space-l)] mt-auto",children:e.jsx(i.SidebarGroupContent,{children:e.jsx(i.SidebarMenu,{children:o.support.map(r=>e.jsx(i.SidebarMenuItem,{children:e.jsxs(c.Tooltip,{children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsxs(i.SidebarMenuButton,{isActive:r.isActive,onClick:t=>{n&&(t.preventDefault(),n(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(i.SidebarFooter,{className:"sticky bottom-0 z-10 border-t border-[var(--color-border-primary-subtle)] bg-[var(--color-surface-primary)] group-data-[collapsible=icon]:px-2 group-data-[collapsible=icon]:py-2",children:e.jsx("div",{className:"group/user-menu rounded-m border border-[var(--color-border-primary-subtle)] transition-colors hover:border-[var(--color-border-primary-medium)] group-data-[collapsible=icon]:rounded-none group-data-[collapsible=icon]:border-none",children:e.jsxs(a.DropdownMenu,{children:[e.jsx(a.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(R.Button,{variant:"ghost",className:"h-auto min-h-[56px] w-full justify-start rounded-m px-3 py-2 hover:!bg-[var(--color-background-neutral-subtlest-hovered)] group-data-[collapsible=icon]:h-8 group-data-[collapsible=icon]:min-h-0 group-data-[collapsible=icon]:w-8 group-data-[collapsible=icon]:p-0",children:[e.jsxs("div",{className:"flex w-full items-center gap-3 group-data-[collapsible=icon]:hidden",children:[e.jsxs("div",{className:"relative flex-shrink-0",children:[e.jsxs(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:H(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:H(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:H(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:()=>m(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"}),b==="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"}),b==="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:()=>{n&&n("/user/profile")},children:"User profile"}),e.jsx(a.DropdownMenuItem,{icon:d.Settings,className:"cursor-pointer",onSelect:()=>{n&&n("/organization/settings")},children:"Organization settings"}),e.jsx(a.DropdownMenuSeparator,{}),e.jsx(a.DropdownMenuItem,{icon:d.LogOut,destructive:!0,className:"cursor-pointer",onSelect:()=>{n&&n("/auth/sign-out")},children:"Sign out"})]})]})})}),e.jsx(i.SidebarRail,{})]}),e.jsxs(h.CommandDialog,{open:A,onOpenChange:f,commandProps:j&&j.length>0?{shouldFilter:!1}:void 0,children:[e.jsx(h.CommandInput,{placeholder:"Type a command or search...",value:I,onValueChange:r=>{N(r),y?.(r)},clearable:!1}),e.jsxs(h.CommandList,{children:[e.jsx(h.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…"}),j&&j.length>0&&(()=>{const r=K(j,t=>t.group??"Results");return Object.entries(r).map(([t,w])=>e.jsx(h.CommandGroup,{heading:t,children:w.map(T=>e.jsxs(h.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))},t))})(),!j?.length&&e.jsxs(e.Fragment,{children:[e.jsxs(h.CommandGroup,{heading:"Quick actions",children:[e.jsxs(h.CommandItem,{onSelect:()=>console.log("Reload"),children:[e.jsx(p.Icon,{name:d.RotateCcw,size:"s",className:"mr-2"}),e.jsx("span",{children:"Reload Page"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[D()?"⌘":"Ctrl","R"]})]}),e.jsxs(h.CommandItem,{onSelect:()=>f(!1),children:[e.jsx(p.Icon,{name:d.Search,size:"s",className:"mr-2"}),e.jsx("span",{children:"Search"}),e.jsxs("span",{className:"text-caption-sm ml-auto text-[var(--color-text-tertiary)]",children:[D()?"⌘":"Ctrl","K"]})]})]}),e.jsxs(h.CommandGroup,{heading:"Navigation",children:[o.main.map(r=>e.jsxs(h.CommandItem,{onSelect:()=>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(h.CommandItem,{onSelect:()=>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(h.CommandItem,{onSelect:()=>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(h.CommandGroup,{heading:"Settings",children:o.support.map(r=>e.jsxs(h.CommandItem,{onSelect:()=>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(h.CommandGroup,{heading:"Switch team",children:x.map(r=>e.jsxs(h.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:n,navigationMode:b,onNavigationModeChange:v}){const[y,j]=g.useState(!1),k=g.useRef(null);g.useEffect(()=>{if(!y)return;const s=m=>{k.current&&!k.current.contains(m.target)&&j(!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(m=>m.isActive))?.title??null,[I,N]=g.useState(f),C=A.find(s=>s.title===I)?.items??[],M=H(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:()=>n?.("/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:()=>j(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"}}):M}),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"),j(!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"}),b==="sidebar"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]}),e.jsxs("button",{onClick:()=>{v("horizontal"),j(!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"}),b==="horizontal"&&e.jsx("span",{style:{color:"#005F85",fontWeight:700},children:"✓"})]})]}),e.jsx("div",{style:{padding:"4px 0"},children:e.jsx("button",{onClick:()=>{n?.("/auth/sign-out"),j(!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 m=s.isActive||(s.items?.some(S=>S.isActive)??!1);return e.jsx("button",{onClick:S=>{S.preventDefault(),N(s.title),n?.(s.url)},style:{padding:"6px 14px",borderRadius:4,border:"none",cursor:"pointer",fontSize:13,fontWeight:m?600:400,color:"white",backgroundColor:m?"#005F85":"transparent",whiteSpace:"nowrap",transition:"background-color 0.15s"},onMouseEnter:S=>{m||(S.currentTarget.style.backgroundColor="rgba(255,255,255,0.1)")},onMouseLeave:S=>{m||(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:m=>{m.preventDefault(),n?.(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:m=>{s.isActive||(m.currentTarget.style.backgroundColor="#e5eef4")},onMouseLeave:m=>{s.isActive||(m.currentTarget.style.backgroundColor="transparent")},children:s.title},s.title))})]})}function $(){const{state:o,toggleSidebar:l}=i.useSidebar(),x=o==="collapsed";return g.useEffect(()=>{const n=b=>{b.key==="["&&(b.preventDefault(),l())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[l]),e.jsxs(c.Tooltip,{delayDuration:500,children:[e.jsx(c.TooltipTrigger,{asChild:!0,children:e.jsx(i.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:n=!0,headerContent:b,headerTabs:v,headerActions:y,children:j,onNavigate:k,onSearchChange:A,searchItems:f,searchLoading:I}){const[N,C]=g.useState("sidebar"),[M]=g.useState(x[0]);return N==="horizontal"?e.jsxs("div",{className:"h-screen overflow-hidden",style:{display:"flex",flexDirection:"column"},children:[e.jsx(W,{navigationData:o,user:l,activeTeam:M,onNavigate:k,navigationMode:N,onNavigationModeChange:C}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0,backgroundColor:"var(--color-surface-base)"},children:j})]}):e.jsx("div",{className:"h-screen overflow-hidden",children:e.jsxs(i.SidebarProvider,{defaultOpen:n,children:[e.jsx(Z,{navigationData:o,user:l,teams:x,onNavigate:k,navigationMode:N,onNavigationModeChange:C,onSearchChange:A,searchItems:f,searchLoading:I}),e.jsxs(i.SidebarInset,{children:[(b||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(F.Separator,{layout:"horizontal",className:"mr-2 h-4"}),e.jsx("div",{className:"flex-1 min-w-0",children:b}),e.jsxs("div",{className:"flex items-center gap-2 ml-auto shrink-0",children:[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:j})]})]})})}exports.AppFrame=_;
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 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),V=require("react"),i=require("../../lib/utils.cjs"),N=require("../fundamental/collapsible.cjs"),h=require("../fundamental/icon.cjs"),k=require("lucide-react");function z(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(s,t,a.get?a:{enumerable:!0,get:()=>r[t]})}}return s.default=r,Object.freeze(s)}const e=z(V),g=e.createContext("s"),A=e.forwardRef(({className:r,children:s,size:t="s",showHiddenLabel:a="More details",hideLabel:l="Less details",defaultShowHidden:f=!1,labelWidth:p,...d},u)=>{const[n,b]=e.useState(f),v=e.useMemo(()=>e.Children.toArray(s).some(c=>e.isValidElement(c)&&(c.type?.displayName||"")==="AttributesItem"?c.props.hidden:!1),[s]),y=e.useMemo(()=>e.Children.map(s,c=>e.isValidElement(c)&&(c.type?.displayName||"")==="AttributesItem"&&c.props.hidden&&!n?null:c),[s,n]),m=typeof p=="number"?`${p}px`:p;return o.jsx(g.Provider,{value:t,children:o.jsxs("div",{ref:u,className:i.cn("grid",t==="s"?"gap-y-[12px]":"gap-y-[8px]",r),style:{gridTemplateColumns:`${m||"auto"} 1fr`,columnGap:"var(--space-m)",...d.style||{}},...d,children:[y,v&&o.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",t==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",t==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?l:a,o.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})})});A.displayName="AttributesList";const j=e.memo(e.forwardRef(({className:r,...s},t)=>o.jsx("div",{ref:t,role:"separator","aria-hidden":"true",className:i.cn("h-px bg-[var(--color-border-primary-subtle)] my-[var(--space-s)]",r),style:{gridColumn:"1 / -1"},...s})));j.displayName="AttributesSeparator";const w=e.forwardRef(({className:r,label:s,children:t,showHiddenLabel:a="More details",hideLabel:l="Less details",defaultShowHidden:f=!1,...p},d)=>{const u=e.useContext(g),[n,b]=e.useState(f),v=e.useMemo(()=>(c=>e.Children.toArray(c).some(x=>!!(e.isValidElement(x)&&(x.type?.displayName||"")==="AttributesItem"&&x.props.hidden)))(t),[t]),y=e.useMemo(()=>e.Children.map(t,m=>e.isValidElement(m)&&(m.type?.displayName||"")==="AttributesItem"&&m.props.hidden&&!n?null:m),[t,n]);return o.jsxs("div",{ref:d,className:i.cn("grid",u==="s"?"gap-y-[12px]":"gap-y-[8px]",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)"},...p,children:[s&&o.jsx("h3",{className:i.cn("text-[var(--color-text-tertiary)]",u==="s"?"mb-[6px]":"mb-[4px]",u==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:s}),y,v&&o.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",u==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",u==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?l:a,o.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})});w.displayName="AttributesGroup";const R=e.forwardRef(({className:r,children:s,collapsible:t=!1,defaultOpen:a,open:l,onOpenChange:f,hidden:p,style:d,...u},n)=>t?o.jsx(N.Collapsible,{ref:n,defaultOpen:a,open:l,onOpenChange:f,className:i.cn("w-full group grid",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...d},"data-hidden":p,...u,children:s}):o.jsx("div",{ref:n,className:i.cn(r),style:{display:"contents",...d},"data-hidden":p,...u,children:s}));R.displayName="AttributesItem";const I=e.forwardRef(({className:r,children:s,asCollapsibleTrigger:t,externalLink:a,style:l,...f},p)=>{const d=e.useContext(g),u=e.useMemo(()=>{if(!a)return s;const b=e.Children.toArray(s);if(b.length>=2){const v=b[0],y=b[1],m=b.slice(2);return[v,o.jsxs("div",{className:"flex items-center justify-between gap-[var(--space-m)]",style:{gridColumn:"2"},children:[y,o.jsxs("a",{href:a.href,className:i.cn("text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] inline-flex items-center no-underline shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",d==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",d==="s"?"[&]:text-body-sm":"[&]:text-body-xsm"),target:"_blank",rel:"noopener noreferrer","aria-label":`${a.label} (opens in new tab)`,children:[a.label,o.jsx(h.Icon,{name:k.ExternalLink,size:"s","aria-hidden":"true"})]})]},"value-with-link"),...m]}return s},[s,a,d]),n=o.jsx("div",{ref:t?void 0:p,className:i.cn("grid items-center",t&&"cursor-pointer hover:bg-[var(--color-surface-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 transition-colors rounded-s px-[var(--space-s)] py-[var(--space-xs)] -mx-[var(--space-s)]",r),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...l},...f,children:u});return t?o.jsx(N.CollapsibleTrigger,{asChild:!0,hideIcon:!0,children:n}):n});I.displayName="AttributesRow";const P=e.memo(e.forwardRef(({className:r,children:s,...t},a)=>{const l=e.useContext(g);return o.jsx("div",{ref:a,className:i.cn("text-[var(--color-text-secondary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] shrink-0",l==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm",r),...t,children:s})}));P.displayName="AttributesLabel";const S=e.memo(e.forwardRef(({className:r,children:s,...t},a)=>{const l=e.useContext(g);return o.jsx("div",{ref:a,className:i.cn("text-[var(--color-text-primary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] flex items-center",l==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",l==="s"?"[&]:text-body-sm":"[&]:text-body-xsm",r),...t,children:s})}));S.displayName="AttributesValue";const M=e.forwardRef(({className:r,children:s,style:t,...a},l)=>o.jsx(N.CollapsibleContent,{ref:l,className:i.cn("pt-[var(--space-s)] pb-[var(--space-s)]",r),style:{gridColumn:"1 / -1",...t},...a,children:s}));M.displayName="AttributesContent";const H=e.memo(e.forwardRef(({className:r,...s},t)=>o.jsx("div",{ref:t,"aria-hidden":"true",className:i.cn("shrink-0 -ml-[4px]",r),...s,children:o.jsx(h.Icon,{name:"chevron-down",size:"s",color:"tertiary",className:"transition-transform [.group[data-state=open]_&]:rotate-180"})})));H.displayName="AttributesChevron";exports.AttributesChevron=H;exports.AttributesContent=M;exports.AttributesGroup=w;exports.AttributesItem=R;exports.AttributesLabel=P;exports.AttributesList=A;exports.AttributesRow=I;exports.AttributesSeparator=j;exports.AttributesValue=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),V=require("react"),i=require("../../lib/utils.cjs"),N=require("../fundamental/collapsible.cjs"),h=require("../fundamental/icon.cjs"),k=require("lucide-react");function z(s){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>s[t]})}}return r.default=s,Object.freeze(r)}const e=z(V),g=e.createContext("s"),A=e.forwardRef(({className:s,children:r,size:t="s",showHiddenLabel:o="More details",hideLabel:d="Less details",defaultShowHidden:f=!1,labelWidth:p,...c},l)=>{const[n,b]=e.useState(f),v=e.useMemo(()=>e.Children.toArray(r).some(u=>e.isValidElement(u)&&(u.type?.displayName||"")==="AttributesItem"?u.props.hidden:!1),[r]),y=e.useMemo(()=>e.Children.map(r,u=>e.isValidElement(u)&&(u.type?.displayName||"")==="AttributesItem"&&u.props.hidden&&!n?null:u),[r,n]),m=typeof p=="number"?`${p}px`:p;return a.jsx(g.Provider,{value:t,children:a.jsxs("div",{ref:l,className:i.cn("grid",t==="s"?"gap-y-[12px]":"gap-y-[8px]",s),style:{gridTemplateColumns:`${m||"auto"} 1fr`,columnGap:"var(--space-m)",...c.style||{}},...c,children:[y,v&&a.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-[var(--border-radius-s)]",t==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",t==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?d:o,a.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})})});A.displayName="AttributesList";const j=e.memo(e.forwardRef(({className:s,...r},t)=>a.jsx("div",{ref:t,role:"separator","aria-hidden":"true",className:i.cn("h-px bg-[var(--color-border-primary-subtle)] my-[var(--space-s)]",s),style:{gridColumn:"1 / -1"},...r})));j.displayName="AttributesSeparator";const w=e.forwardRef(({className:s,label:r,children:t,showHiddenLabel:o="More details",hideLabel:d="Less details",defaultShowHidden:f=!1,...p},c)=>{const l=e.useContext(g),[n,b]=e.useState(f),v=e.useMemo(()=>(u=>e.Children.toArray(u).some(x=>!!(e.isValidElement(x)&&(x.type?.displayName||"")==="AttributesItem"&&x.props.hidden)))(t),[t]),y=e.useMemo(()=>e.Children.map(t,m=>e.isValidElement(m)&&(m.type?.displayName||"")==="AttributesItem"&&m.props.hidden&&!n?null:m),[t,n]);return a.jsxs("div",{ref:c,className:i.cn("grid",l==="s"?"gap-y-[12px]":"gap-y-[8px]",s),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)"},...p,children:[r&&a.jsx("h3",{className:i.cn("text-[var(--color-text-tertiary)]",l==="s"?"mb-[6px]":"mb-[4px]",l==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:r}),y,v&&a.jsxs("button",{onClick:()=>b(!n),"aria-expanded":n,className:i.cn("flex items-center text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] cursor-pointer mt-[var(--space-s)] bg-transparent border-none p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-[var(--border-radius-s)]",l==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",l==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm"),style:{gridColumn:"1 / -1"},children:[n?d:o,a.jsx(h.Icon,{name:"chevron-down",size:"s","aria-hidden":"true",className:i.cn("transition-transform",n&&"rotate-180")})]})]})});w.displayName="AttributesGroup";const R=e.forwardRef(({className:s,children:r,collapsible:t=!1,defaultOpen:o,open:d,onOpenChange:f,hidden:p,style:c,...l},n)=>t?a.jsx(N.Collapsible,{ref:n,defaultOpen:o,open:d,onOpenChange:f,className:i.cn("w-full group grid",s),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...c},"data-hidden":p,...l,children:r}):a.jsx("div",{ref:n,className:i.cn(s),style:{display:"contents",...c},"data-hidden":p,...l,children:r}));R.displayName="AttributesItem";const I=e.forwardRef(({className:s,children:r,asCollapsibleTrigger:t,externalLink:o,style:d,...f},p)=>{const c=e.useContext(g),l=e.useMemo(()=>{if(!o)return r;const b=e.Children.toArray(r);if(b.length>=2){const v=b[0],y=b[1],m=b.slice(2);return[v,a.jsxs("div",{className:"flex items-center justify-between gap-[var(--space-m)]",style:{gridColumn:"2"},children:[y,a.jsxs("a",{href:o.href,className:i.cn("text-[var(--color-text-brand-bold)] hover:text-[var(--color-text-brand-bold-hovered)] inline-flex items-center no-underline shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-[var(--border-radius-s)]",c==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",c==="s"?"[&]:text-body-sm":"[&]:text-body-xsm"),target:"_blank",rel:"noopener noreferrer","aria-label":`${o.label} (opens in new tab)`,children:[o.label,a.jsx(h.Icon,{name:k.ExternalLink,size:"s","aria-hidden":"true"})]})]},"value-with-link"),...m]}return r},[r,o,c]),n=a.jsx("div",{ref:t?void 0:p,className:i.cn("grid items-center",t&&"cursor-pointer hover:bg-[var(--color-surface-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 transition-colors rounded-[var(--border-radius-s)] px-[var(--space-s)] py-[var(--space-xs)] -mx-[var(--space-s)]",s),style:{gridColumn:"1 / -1",gridTemplateColumns:"subgrid",columnGap:"var(--space-m)",...d},...f,children:l});return t?a.jsx(N.CollapsibleTrigger,{asChild:!0,hideIcon:!0,children:n}):n});I.displayName="AttributesRow";const P=e.memo(e.forwardRef(({className:s,children:r,...t},o)=>{const d=e.useContext(g);return a.jsx("div",{ref:o,className:i.cn("text-[var(--color-text-secondary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] shrink-0",d==="s"?"[&]:text-body-medium-sm":"[&]:text-body-medium-xsm",s),...t,children:r})}));P.displayName="AttributesLabel";const S=e.memo(e.forwardRef(({className:s,children:r,...t},o)=>{const d=e.useContext(g);return a.jsx("div",{ref:o,className:i.cn("text-[var(--color-text-primary)] [[data-hidden='true']_&]:text-[var(--color-text-tertiary)] flex items-center",d==="s"?"gap-[var(--space-s)]":"gap-[var(--space-xs)]",d==="s"?"[&]:text-body-sm":"[&]:text-body-xsm",s),...t,children:r})}));S.displayName="AttributesValue";const M=e.forwardRef(({className:s,children:r,style:t,...o},d)=>a.jsx(N.CollapsibleContent,{ref:d,className:i.cn("pt-[var(--space-s)] pb-[var(--space-s)]",s),style:{gridColumn:"1 / -1",...t},...o,children:r}));M.displayName="AttributesContent";const H=e.memo(e.forwardRef(({className:s,...r},t)=>a.jsx("div",{ref:t,"aria-hidden":"true",className:i.cn("shrink-0 -ml-[4px]",s),...r,children:a.jsx(h.Icon,{name:"chevron-down",size:"s",color:"tertiary",className:"transition-transform [.group[data-state=open]_&]:rotate-180"})})));H.displayName="AttributesChevron";exports.AttributesChevron=H;exports.AttributesContent=M;exports.AttributesGroup=w;exports.AttributesItem=R;exports.AttributesLabel=P;exports.AttributesList=A;exports.AttributesRow=I;exports.AttributesSeparator=j;exports.AttributesValue=S;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),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-sm focus:border-[var(--color-border-action-outline)] focus:ring-0 focus:outline-none focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 active:translate-y-px active:bg-[var(--grey-alpha-50)] active:shadow-xs data-[state=open]:ring-0",m?"rounded-m":"rounded-l-m !rounded-r-none !border-r-0"),children:[e.jsx(j.Icon,{name: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-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-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-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 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 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),B=require("../fundamental/button.cjs"),x=require("../fundamental/dropdown-menu.cjs"),n=require("../fundamental/select.cjs"),F=require("../fundamental/toggle.cjs"),L=require("../fundamental/icon.cjs"),j=require("lucide-react"),E=require("../fundamental/input.cjs");function q(i){if(i?.directionOptions)return i.directionOptions;if(i?.dataType)switch(i.dataType){case"text":return{asc:"A to Z",desc:"Z to A"};case"number":return{asc:"Ascending",desc:"Descending"};case"date":return{asc:"Oldest first",desc:"Newest first"};case"boolean":return{asc:"False first",desc:"True first"}}return{asc:"Ascending",desc:"Descending"}}function J({sortableColumns:i,selectedSortColumn:c,sortDirection:z="asc",onSortChange:p,onSortDirectionChange:b,groupableColumns:o,selectedGroupColumn:V,onGroupChange:v,columns:r,visibleColumns:A,onColumnVisibilityChange:m,align:C="end",triggerClassName:$}){const[u,k]=t.useState(""),[G,d]=t.useState(""),S=t.useId(),f=t.useId(),w=t.useId(),H=t.useCallback(s=>{const a=i.find(l=>l.id===s)?.label;d(`Sorting by ${a}`),p?.(s)},[i,p]),O=t.useCallback(s=>{const a=i.find(Z=>Z.id===c),l=q(a),g=s==="asc"?l.asc:l.desc;d(`Sort direction: ${g}`),b?.(s)},[i,c,b]),R=t.useCallback(s=>{if(s==="none")d("Grouping cleared");else{const a=o.find(l=>l.id===s)?.label;d(`Grouping by ${a}`)}v?.(s)},[o,v]),P=t.useCallback((s,a)=>{const l=r.find(g=>g.id===s)?.label;d(a?`${l} column shown`:`${l} column hidden`),m?.(s,a)},[r,m]),y=i.length>0,N=o.length>0,D=r.length>0,T=y||N,I=t.useMemo(()=>i.find(s=>s.id===c),[i,c]),M=t.useMemo(()=>q(I),[I]),h=t.useMemo(()=>{if(!u)return r;const s=u.toLowerCase();return r.filter(a=>a.label.toLowerCase().includes(s))},[r,u]),W=r.length>=20;return e.jsxs(x.DropdownMenu,{children:[e.jsx(x.DropdownMenuTrigger,{asChild:!0,children:e.jsx(B.Button,{size:"m",icon:j.Settings,"aria-label":"Table settings",className:$})}),e.jsxs(x.DropdownMenuContent,{align:C,className:"w-72 max-w-[90vw]",children:[T&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-4",children:[y&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":S,children:[e.jsx("h4",{id:S,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(n.Select,{value:c,onValueChange:H,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to sort"})}),e.jsx(n.SelectContent,{children:i.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))})]}),c&&e.jsxs(n.Select,{value:z,onValueChange:s=>O(s),children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L.Icon,{name:j.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:M.asc})]})}),e.jsx(n.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L.Icon,{name:j.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:M.desc})]})})]})]})]})]}),N&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":f,children:[e.jsx("h4",{id:f,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Grouping"}),e.jsxs(n.Select,{value:V||"none",onValueChange:R,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to group by"})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"none",children:"None"}),o.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))]})]})]})]})}),T&&D&&e.jsx(x.DropdownMenuSeparator,{}),D&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":w,children:[e.jsx("h4",{id:w,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Display columns"}),W&&e.jsx(E.Input,{type:"search",size:"s",placeholder:"Search columns...","aria-label":"Search columns",value:u,onChange:s=>k(s.target.value)}),e.jsx("div",{className:"flex flex-wrap items-start justify-start gap-1 max-h-[190px] overflow-y-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-s",role:h.length>15?"region":void 0,"aria-label":h.length>15?"Column visibility toggles, scrollable":void 0,tabIndex:h.length>15?0:void 0,children:h.map(s=>{const a=A.includes(s.id);return e.jsx(F.Toggle,{variant:"outline",size:"s",pressed:a,"aria-label":a?`Hide ${s.label} column`:`Show ${s.label} column`,onPressedChange:l=>{P(s.id,l)},children:s.label},s.id)})})]})}),e.jsx("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:G})]})]})}exports.DataTableSettingsMenu=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),B=require("../fundamental/button.cjs"),x=require("../fundamental/dropdown-menu.cjs"),n=require("../fundamental/select.cjs"),F=require("../fundamental/toggle.cjs"),L=require("../fundamental/icon.cjs"),j=require("lucide-react"),E=require("../fundamental/input.cjs");function q(a){if(a?.directionOptions)return a.directionOptions;if(a?.dataType)switch(a.dataType){case"text":return{asc:"A to Z",desc:"Z to A"};case"number":return{asc:"Ascending",desc:"Descending"};case"date":return{asc:"Oldest first",desc:"Newest first"};case"boolean":return{asc:"False first",desc:"True first"}}return{asc:"Ascending",desc:"Descending"}}function J({sortableColumns:a,selectedSortColumn:c,sortDirection:z="asc",onSortChange:p,onSortDirectionChange:b,groupableColumns:o,selectedGroupColumn:V,onGroupChange:v,columns:r,visibleColumns:A,onColumnVisibilityChange:m,align:C="end",triggerClassName:$}){const[u,k]=t.useState(""),[G,d]=t.useState(""),S=t.useId(),f=t.useId(),w=t.useId(),H=t.useCallback(s=>{const i=a.find(l=>l.id===s)?.label;d(`Sorting by ${i}`),p?.(s)},[a,p]),O=t.useCallback(s=>{const i=a.find(Z=>Z.id===c),l=q(i),g=s==="asc"?l.asc:l.desc;d(`Sort direction: ${g}`),b?.(s)},[a,c,b]),R=t.useCallback(s=>{if(s==="none")d("Grouping cleared");else{const i=o.find(l=>l.id===s)?.label;d(`Grouping by ${i}`)}v?.(s)},[o,v]),P=t.useCallback((s,i)=>{const l=r.find(g=>g.id===s)?.label;d(i?`${l} column shown`:`${l} column hidden`),m?.(s,i)},[r,m]),y=a.length>0,N=o.length>0,D=r.length>0,T=y||N,I=t.useMemo(()=>a.find(s=>s.id===c),[a,c]),M=t.useMemo(()=>q(I),[I]),h=t.useMemo(()=>{if(!u)return r;const s=u.toLowerCase();return r.filter(i=>i.label.toLowerCase().includes(s))},[r,u]),W=r.length>=20;return e.jsxs(x.DropdownMenu,{children:[e.jsx(x.DropdownMenuTrigger,{asChild:!0,children:e.jsx(B.Button,{size:"m",icon:j.Settings,"aria-label":"Table settings",className:$})}),e.jsxs(x.DropdownMenuContent,{align:C,className:"w-72 max-w-[90vw]",children:[T&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-4",children:[y&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":S,children:[e.jsx("h4",{id:S,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Sorting"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs(n.Select,{value:c,onValueChange:H,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to sort"})}),e.jsx(n.SelectContent,{children:a.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))})]}),c&&e.jsxs(n.Select,{value:z,onValueChange:s=>O(s),children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"asc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L.Icon,{name:j.ArrowDownNarrowWide,size:"s"}),e.jsx("span",{children:M.asc})]})}),e.jsx(n.SelectItem,{value:"desc",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L.Icon,{name:j.ArrowDownWideNarrow,size:"s"}),e.jsx("span",{children:M.desc})]})})]})]})]})]}),N&&e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":f,children:[e.jsx("h4",{id:f,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Grouping"}),e.jsxs(n.Select,{value:V||"none",onValueChange:R,children:[e.jsx(n.SelectTrigger,{size:"s",children:e.jsx(n.SelectValue,{placeholder:"Select column to group by"})}),e.jsxs(n.SelectContent,{children:[e.jsx(n.SelectItem,{value:"none",children:"None"}),o.map(s=>e.jsx(n.SelectItem,{value:s.id,children:s.label},s.id))]})]})]})]})}),T&&D&&e.jsx(x.DropdownMenuSeparator,{}),D&&e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"space-y-2",role:"group","aria-labelledby":w,children:[e.jsx("h4",{id:w,className:"text-label-sm text-[var(--color-text-tertiary)]",children:"Display columns"}),W&&e.jsx(E.Input,{type:"search",size:"s",placeholder:"Search columns...","aria-label":"Search columns",value:u,onChange:s=>k(s.target.value)}),e.jsx("div",{className:"flex flex-wrap items-start justify-start gap-1 max-h-[190px] overflow-y-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring-color)] focus-visible:ring-offset-2 rounded-[var(--border-radius-s)]",role:h.length>15?"region":void 0,"aria-label":h.length>15?"Column visibility toggles, scrollable":void 0,tabIndex:h.length>15?0:void 0,children:h.map(s=>{const i=A.includes(s.id);return e.jsx(F.Toggle,{variant:"outline",size:"s",pressed:i,"aria-label":i?`Hide ${s.label} column`:`Show ${s.label} column`,onPressedChange:l=>{P(s.id,l)},children:s.label},s.id)})})]})}),e.jsx("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:G})]})]})}exports.DataTableSettingsMenu=J;