@womp/kookie-ui 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/components.css +91 -0
  2. package/dist/cjs/components/_internal/pane-chrome.d.ts +11 -0
  3. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  5. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  6. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  7. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  8. package/dist/cjs/components/index.js +1 -1
  9. package/dist/cjs/components/index.js.map +3 -3
  10. package/dist/cjs/components/shell.js +1 -1
  11. package/dist/cjs/components/shell.js.map +3 -3
  12. package/dist/cjs/components/sidebar.js +1 -1
  13. package/dist/cjs/components/sidebar.js.map +3 -3
  14. package/dist/cjs/components/toolbar.d.ts +8 -2
  15. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  16. package/dist/cjs/components/toolbar.js +2 -2
  17. package/dist/cjs/components/toolbar.js.map +3 -3
  18. package/dist/cjs/index.js +1 -1
  19. package/dist/cjs/index.js.map +3 -3
  20. package/dist/esm/chunk-2IWL4V4H.js +2 -0
  21. package/dist/esm/chunk-2IWL4V4H.js.map +7 -0
  22. package/dist/esm/{chunk-CMQMCGGC.js → chunk-DDYII5NA.js} +2 -2
  23. package/dist/esm/{chunk-SEKZGBK3.js → chunk-J43ZS6TI.js} +2 -2
  24. package/dist/esm/{chunk-MGXXNEMQ.js → chunk-PAB6HVKC.js} +2 -2
  25. package/dist/esm/chunk-UZS3BA2Z.js +2 -0
  26. package/dist/esm/chunk-UZS3BA2Z.js.map +7 -0
  27. package/dist/esm/components/_internal/pane-chrome.d.ts +11 -0
  28. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  29. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  30. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  31. package/dist/esm/components/index.js +1 -1
  32. package/dist/esm/components/shell.js +1 -1
  33. package/dist/esm/components/sidebar.js +1 -1
  34. package/dist/esm/components/toolbar.d.ts +8 -2
  35. package/dist/esm/components/toolbar.d.ts.map +1 -1
  36. package/dist/esm/components/toolbar.js +1 -1
  37. package/dist/esm/index.js +1 -1
  38. package/package.json +1 -1
  39. package/src/components/_internal/pane-chrome.tsx +37 -9
  40. package/src/components/shell.css +109 -0
  41. package/src/components/toolbar.css +6 -0
  42. package/src/components/toolbar.tsx +15 -6
  43. package/styles.css +91 -0
  44. package/dist/esm/chunk-KLIREDPE.js +0 -2
  45. package/dist/esm/chunk-KLIREDPE.js.map +0 -7
  46. package/dist/esm/chunk-VASXAV62.js +0 -2
  47. package/dist/esm/chunk-VASXAV62.js.map +0 -7
  48. /package/dist/esm/{chunk-CMQMCGGC.js.map → chunk-DDYII5NA.js.map} +0 -0
  49. /package/dist/esm/{chunk-SEKZGBK3.js.map → chunk-J43ZS6TI.js.map} +0 -0
  50. /package/dist/esm/{chunk-MGXXNEMQ.js.map → chunk-PAB6HVKC.js.map} +0 -0
@@ -20,5 +20,5 @@
20
20
  overflow: hidden;
21
21
  clip: rect(0, 0, 0, 0);
22
22
  white-space: nowrap;
23
- `,document.body.appendChild(o)),Yi++,()=>{if(Yi--,e.current&&clearTimeout(e.current),Yi===0){let r=document.getElementById("rt-live-announcer");r&&r.remove()}}},[]),Or.useCallback(o=>{let r=document.getElementById("rt-live-announcer");r&&(e.current&&clearTimeout(e.current),r.textContent="",e.current=setTimeout(()=>{r.textContent=o},100))},[])}function ju({pressed:e,onPressedChange:t,getAccessibleName:o,componentName:r}){let n=Wu(),a=Gr.useRef(!1),s=Gr.useCallback(i=>{let l=o();n(`${l} ${i?"pressed":"unpressed"}`),t?.(i)},[n,t,o]);return Gr.useEffect(()=>{},[e,t,r]),{handlePressedChange:s}}var vn=Ct.forwardRef(({pressed:e,onPressedChange:t,defaultPressed:o,children:r,...n},a)=>{let{"aria-label":s,"aria-labelledby":i,iconOnly:l}=n,p=Ct.useRef(null);Ct.useEffect(()=>{p.current=null},[i]);let c=Ct.useCallback(()=>s||(i?(p.current===null&&(p.current=document.getElementById(i)?.textContent||"Toggle button"),p.current):typeof r=="string"?r:Ct.isValidElement(r)&&typeof r.props?.children=="string"?r.props.children:"Toggle button"),[s,i,r]),{handlePressedChange:m}=ju({pressed:e,onPressedChange:t,getAccessibleName:c,componentName:l?"ToggleIconButton":"ToggleButton"});return Ct.createElement(Fu.Toggle.Root,{pressed:e,onPressedChange:m,defaultPressed:o,asChild:!0},Ct.createElement(dt,{...n,ref:a},r))});vn.displayName="ToggleButton";var Wa=u(require("react")),pN=require("radix-ui");var Qi=Wa.forwardRef((e,t)=>Wa.createElement(vn,{...e,iconOnly:!0,ref:t}));Qi.displayName="ToggleIconButton";var Ne=u(require("react")),xn=u(require("classnames")),Fa=require("radix-ui");var vh=["1","2","3","4"],xh=["horizontal","vertical"],ja={size:{type:"enum",className:"rt-r-size",values:vh,default:"2"},orientation:{type:"enum",values:xh,default:"horizontal"}};var Ku=Ne.createContext(null),$u=Ne.createContext(null);function Ka(e){let t=Ne.useContext(Ku);if(!t)throw new Error(`${e} must be rendered inside a Toolbar.`);return t}var Ji=Ne.forwardRef((e,t)=>{let o=e.size??ja.size.default,r=e.orientation??ja.orientation.default,{className:n,orientation:a,children:s,...i}=C(e,ja,j),l=Ne.useMemo(()=>({size:o,orientation:r}),[o,r]);return Ne.createElement(Fa.Toolbar.Root,{...i,ref:t,orientation:r,className:(0,xn.default)("rt-Toolbar",n)},Ne.createElement(Ku.Provider,{value:l},s))});Ji.displayName="Toolbar";var $a=Ne.forwardRef(({className:e,disabled:t=!1,children:o,...r},n)=>{let{orientation:a}=Ka("ToolbarGroup"),s=Ne.useMemo(()=>({disabled:t}),[t]);return Ne.createElement("div",{role:"group","data-orientation":a,"data-disabled":t||void 0,...r,ref:n,className:(0,xn.default)("rt-ToolbarGroup",e)},Ne.createElement($u.Provider,{value:s},o))});$a.displayName="Toolbar.Group";function Dh(e){return e===!0||e==="true"}var _a=Ne.forwardRef((e,t)=>{let o=Ka("ToolbarButton"),r=Ne.useContext($u),{iconOnly:n,size:a,variant:s,emphasis:i,color:l,disabled:p,...c}=e,m=Dh(e["aria-pressed"]),d="data-state"in e||e["aria-pressed"]===void 0?{}:{"data-state":m?"on":"off"},f={size:a??o.size,...i!==void 0?{emphasis:i}:{variant:s??(r?"ghost":"soft")},color:l??(s||i?void 0:"gray"),...d};return Ne.createElement(Fa.Toolbar.Button,{asChild:!0,ref:t,disabled:p||r?.disabled||void 0},n?Ne.createElement(Pt,{...c,...f}):Ne.createElement(dt,{...c,...f}))});_a.displayName="Toolbar.Button";var qa=Ne.forwardRef(({className:e,...t},o)=>(Ka("ToolbarSeparator"),Ne.createElement(Fa.Toolbar.Separator,{...t,ref:o,className:(0,xn.default)("rt-ToolbarSeparator",e)})));qa.displayName="Toolbar.Separator";var Sh={1:"2",2:"3",3:"4",4:"5"},Ua=Ne.forwardRef(({className:e,children:t,style:o,id:r},n)=>{let{size:a}=Ka("ToolbarTitle");return t==null||t===!1?null:Ne.createElement(me,{ref:n,as:"span",size:Sh[a],weight:"medium",truncate:!0,id:r,style:o,className:(0,xn.default)("rt-ToolbarTitle",e)},t)});Ua.displayName="Toolbar.Title";var _u=Object.assign(Ji,{Root:Ji,Group:$a,Button:_a,Separator:qa,Title:Ua});var sp={};De(sp,{Group:()=>of,GroupContent:()=>nf,GroupLabel:()=>rf,Menu:()=>Xu,MenuButton:()=>Qu,MenuItem:()=>Yu,MenuSub:()=>Ju,MenuSubContent:()=>tf,MenuSubTrigger:()=>ef,Search:()=>af,Separator:()=>Zu});var v=u(require("react")),nt=u(require("classnames"));var Yt=u(require("@radix-ui/react-accordion"));var _e=u(require("react")),Za=u(require("classnames"));var qu=_e.createContext(null);function Wr(){return _e.useContext(qu)}var Xa=_e.createContext("2");function Dn({children:e,presentation:t}){let o=_e.useContext(Xa),r=_e.useMemo(()=>({size:o,menuVariant:"soft",presentation:t}),[o,t]);return _e.createElement(qu.Provider,{value:r},e)}function ep(){let e=Wr(),t=e?.size??"2",o=e?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${t}`,`rt-menu-variant-${o}`]}var tp=_e.forwardRef(({className:e,...t},o)=>{let r=ep();return _e.createElement("div",{...t,ref:o,className:(0,Za.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...r,e)})});tp.displayName="Shell.PaneHeader";var op=_e.forwardRef(({className:e,...t},o)=>{let r=ep();return _e.createElement("div",{...t,ref:o,className:(0,Za.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...r,e)})});op.displayName="Shell.PaneFooter";var rp=_e.forwardRef(({className:e,children:t,...o},r)=>{let n=ep();return _e.createElement(Qe,{type:"hover",className:"rt-ShellScroll"},_e.createElement("div",{...o,ref:r,className:(0,Za.default)("rt-BaseMenuContent","rt-SidebarContent",...n,e)},_e.createElement("div",{className:"rt-BaseMenuViewport"},t)))});rp.displayName="Shell.Scroll";var Zu=v.forwardRef(({className:e,...t},o)=>v.createElement(gn,{...t,ref:o,className:(0,nt.default)("rt-SidebarSeparator",e)}));Zu.displayName="Sidebar.Separator";var Xu=v.forwardRef(({className:e,...t},o)=>v.createElement("ul",{...t,ref:o,className:(0,nt.default)("rt-SidebarMenu",e)}));Xu.displayName="Sidebar.Menu";var Yu=v.forwardRef(({className:e,...t},o)=>v.createElement("li",{...t,ref:o,className:(0,nt.default)("rt-SidebarMenuItem",e)}));Yu.displayName="Sidebar.MenuItem";function Th(e){let t=[],o=[];return v.Children.forEach(e,r=>{if(typeof r=="string"||typeof r=="number")o.push(v.createElement("span",{key:o.length,className:"rt-SidebarMenuLabel"},r));else if(v.isValidElement(r)){let n=r;n.type==="svg"||n.props&&n.props.icon||typeof n.type=="function"&&(n.type.displayName?.includes("Icon")||n.type.name?.includes("Icon"))?t.push(r):o.push(r)}else r&&o.push(r)}),{icons:t,labels:o}}function ap(e){if(typeof e=="string"||typeof e=="number")return v.createElement("span",{className:"rt-SidebarMenuLabel"},e);if(Array.isArray(e))return e.map((t,o)=>v.createElement(v.Fragment,{key:o},ap(t)));if(v.isValidElement(e)){let t=e,o=t.props&&t.props.className||"";if(typeof t.type=="string"&&o.split(" ").includes("rt-SidebarMenuLabel"))return t;let n=ap(t.props?.children);return v.cloneElement(t,{...t.props},n)}return e}var Qu=v.forwardRef(({asChild:e=!1,isActive:t=!1,shortcut:o,badge:r,className:n,children:a,onKeyDown:s,...i},l)=>{let p=Wr(),c=p?.size??"2",m=p?.presentation==="thin",d=e?Le:"button",f=v.useCallback(P=>{if(P.key==="ArrowDown"||P.key==="ArrowUp"){let k=P.currentTarget.closest(".rt-SidebarContent, .rt-SidebarSearchPopover"),w=k?Array.from(k.querySelectorAll(".rt-SidebarMenuButton")).filter(z=>z.offsetParent!==null):[],M=w.indexOf(P.currentTarget),F=w[M+(P.key==="ArrowDown"?1:-1)];M!==-1&&F&&(P.preventDefault(),F.focus())}s?.(P)},[s]),x=v.useMemo(()=>ap(a),[a]),{icons:h,labels:g}=v.useMemo(()=>m?Th(a):{icons:[],labels:[]},[m,a]),R=v.useMemo(()=>{if(!e)return null;try{let P=v.Children.only(x),k=P.props?.children,w=v.createElement(v.Fragment,null,k,r&&v.createElement("div",{className:"rt-SidebarMenuBadge"},typeof r=="string"?v.createElement(To,{size:c,variant:"soft"},r):v.createElement(To,{size:r.size||c,variant:r.variant||"soft",color:r.color,radius:r.radius},r.content)),o&&v.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},v.createElement(Zt,{size:c},o)));return v.cloneElement(P,{...P.props},w)}catch{return x}},[e,x,r,o,c]);return v.createElement(d,{...i,ref:l,"aria-current":t?"page":void 0,className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",n),"data-active":t||void 0,onKeyDown:f},e?R:m&&h.length>0?v.createElement(v.Fragment,null,v.createElement("span",{className:"rt-SidebarMenuIconWrapper"},h),g.map((P,k)=>v.createElement(v.Fragment,{key:k},typeof P=="string"||typeof P=="number"?v.createElement("span",{className:"rt-SidebarMenuLabel"},P):P))):v.createElement(v.Fragment,null,x,r&&v.createElement("div",{className:"rt-SidebarMenuBadge"},typeof r=="string"?v.createElement(To,{size:c,variant:"soft"},r):v.createElement(To,{size:r.size||c,variant:r.variant||"soft",color:r.color,radius:r.radius},r.content)),o&&v.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},v.createElement(Zt,{size:c},o))))});Qu.displayName="Sidebar.MenuButton";var Ya=v.createContext("accordion"),Ju=v.forwardRef(({defaultOpen:e=!1,children:t,...o},r)=>(Wr()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?v.createElement("div",{...o,ref:r},v.createElement(ha,null,v.createElement(Ya.Provider,{value:"dropdown"},t))):v.createElement("div",{...o,ref:r},v.createElement(Ya.Provider,{value:"accordion"},v.createElement(Yt.Root,{type:"single",collapsible:!0,defaultValue:e?"item":void 0},v.createElement(Yt.Item,{value:"item"},t)))));Ju.displayName="Sidebar.MenuSub";var ef=v.forwardRef(({asChild:e=!1,className:t,children:o,...r},n)=>v.useContext(Ya)==="dropdown"?v.createElement(Ra,null,v.createElement("button",{...r,ref:n,type:"button","aria-haspopup":"menu",className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},o)):v.createElement(Yt.Header,{asChild:!0},v.createElement("div",null,v.createElement(Yt.Trigger,{...r,ref:n,asChild:e,className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},e?o:v.createElement(v.Fragment,null,o,v.createElement(Ut,{className:(0,nt.default)("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")}))))));ef.displayName="Sidebar.MenuSubTrigger";var tf=v.forwardRef(({className:e,children:t,...o},r)=>{let n=Wr();if(v.useContext(Ya)==="dropdown"){let s=p=>{if(Array.isArray(p))return p.map((c,m)=>v.createElement(v.Fragment,{key:m},s(c)));if(v.isValidElement(p)){if(p.type?.displayName==="Sidebar.MenuButton")return p.props?.children;let m=p.props?.children;if(m!==void 0)return v.cloneElement(p,{...p.props,children:s(m)})}return p},i=v.Children.map(t,(p,c)=>{if(v.isValidElement(p)&&p.type?.displayName==="Sidebar.MenuItem"){let m=p.props?.children,d=s(m);return v.createElement(pn,{key:c,asChild:!0},d)}return v.createElement(pn,{key:c,asChild:!0},s(p))}),l=n?.size==="3"?"2":n?.size;return v.createElement(Ca,{size:l,className:(0,nt.default)(e)},v.createElement(va,null,i))}return v.createElement(Yt.Content,{...o,ref:r,className:(0,nt.default)("rt-SidebarMenuSubContent",e)},v.createElement("div",{className:"rt-SidebarMenuSubList"},t))});tf.displayName="Sidebar.MenuSubContent";var of=v.forwardRef(({className:e,...t},o)=>v.createElement("div",{...t,ref:o,className:(0,nt.default)("rt-BaseMenuGroup","rt-SidebarGroup",e)}));of.displayName="Sidebar.Group";var rf=v.forwardRef(({asChild:e=!1,className:t,...o},r)=>v.createElement(e?Le:"div",{...o,ref:r,className:(0,nt.default)("rt-BaseMenuLabel","rt-SidebarGroupLabel",t)}));rf.displayName="Sidebar.GroupLabel";var nf=v.forwardRef(({className:e,...t},o)=>v.createElement("div",{...t,ref:o,className:(0,nt.default)("rt-SidebarGroupContent",e)}));nf.displayName="Sidebar.GroupContent";var np=({className:e})=>v.createElement("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},v.createElement("circle",{cx:"11",cy:"11",r:"8"}),v.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),Uu=({className:e})=>v.createElement("svg",{className:e,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},v.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),v.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),af=v.forwardRef(({value:e,onValueChange:t,placeholder:o="Search...",children:r,className:n,...a},s)=>{let i=Wr(),l=i?.presentation==="thin",p=v.useRef(null),c=v.useRef(null),d=`${v.useId()}-results`,f=v.useRef(e);f.current=e;let x=v.useRef(t);x.current=t;let h=o.replace(/\.+$/,""),g=v.useCallback(P=>{P.key==="Escape"&&f.current&&(P.preventDefault(),P.stopPropagation(),x.current(""),p.current?.focus())},[]),R=v.useCallback(P=>{let k=c.current;if(!k)return;let w=k.querySelector('[role="group"]');if(!w)return;let M=Array.from(w.querySelectorAll("a, button"));if(M.length===0)return;let F=document.activeElement,z=F===p.current,S=M.indexOf(F);if(P.key.length===1&&!P.ctrlKey&&!P.metaKey&&!P.altKey&&!z&&S!==-1){p.current?.focus();return}switch(P.key){case"ArrowDown":{P.preventDefault(),z||S===-1?M[0]?.focus():S<M.length-1&&M[S+1]?.focus();break}case"ArrowUp":{P.preventDefault(),S<=0?p.current?.focus():M[S-1]?.focus();break}case"Home":{z||(P.preventDefault(),M[0]?.focus());break}case"End":{z||(P.preventDefault(),M[M.length-1]?.focus());break}}},[]);return l?v.createElement("div",{...a,ref:s,className:(0,nt.default)("rt-SidebarSearch","rt-SidebarSearch--thin",n)},v.createElement(Lo,null,v.createElement(zo,null,v.createElement("button",{type:"button",className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarSearchTrigger"),"aria-label":h},v.createElement("span",{className:"rt-SidebarMenuIconWrapper"},v.createElement(np,null)),v.createElement("span",{className:"rt-SidebarMenuLabel"},"Search"))),v.createElement(zr,{side:"right",align:"start",size:"2",width:"280px","aria-label":h},v.createElement("div",{ref:c,className:"rt-SidebarSearchPopover",role:"search",onKeyDown:R},v.createElement("div",{className:"rt-SidebarSearchInputWrapper"},v.createElement(np,{className:"rt-SidebarSearchIcon"}),v.createElement("input",{ref:p,type:"search",className:"rt-SidebarSearchInput",value:e,onChange:P=>t(P.target.value),onKeyDown:g,placeholder:o,"aria-label":h,"aria-controls":r?d:void 0,autoFocus:!0}),e&&v.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),p.current?.focus()},"aria-label":"Clear search"},v.createElement(Uu,null))),r&&v.createElement("div",{id:d,role:"group","aria-label":"Search results"},r))))):v.createElement("div",{...a,ref:s,className:(0,nt.default)("rt-SidebarSearch","rt-SidebarSearch--expanded","rt-ShellPaneChrome",`rt-r-size-${i?.size??"2"}`,n),role:"search"},v.createElement("div",{className:"rt-SidebarSearchInputWrapper"},v.createElement(np,{className:"rt-SidebarSearchIcon"}),v.createElement("input",{ref:p,type:"search",className:"rt-SidebarSearchInput",value:e,onChange:P=>t(P.target.value),onKeyDown:g,placeholder:o,"aria-label":h}),e&&v.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),p.current?.focus()},"aria-label":"Clear search"},v.createElement(Uu,null))))});af.displayName="Sidebar.Search";var bp={};De(bp,{Bottom:()=>is,Content:()=>Bf,Header:()=>Lf,Inspector:()=>ps,Left:()=>zf,PaneFooter:()=>op,PaneHeader:()=>tp,Panel:()=>yp,Rail:()=>Af,Root:()=>kf,Scroll:()=>rp,Sidebar:()=>ss,Trigger:()=>Vf,useResponsivePresentation:()=>Nf,useShell:()=>wf,useSidebarMode:()=>Tf});var q=u(require("react")),cr=u(require("classnames")),ms=require("radix-ui/internal");var Qa=u(require("react")),mo=Qa.createContext(null);function sf(){let e=Qa.useContext(mo);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var Ae=u(require("react")),pf=u(require("classnames"));var vt=Ae.forwardRef(({className:e,children:t,...o},r)=>{let{containerRef:n,controls:a,cssVarName:s,minSize:i,maxSize:l,defaultSize:p,orientation:c,edge:m,growth:d,onResize:f,onResizeStart:x,onResizeEnd:h,snapPoints:g,snapTolerance:R,collapseThreshold:P,collapsible:k,target:w,requestCollapse:M,requestToggle:F}=sf(),z=Ae.useRef(null),S=Ae.useCallback(H=>{z.current=H,typeof r=="function"?r(H):r&&(r.current=H)},[r]),b=Ae.useRef(null);Ae.useEffect(()=>()=>{b.current?.(),b.current=null},[]);let L=Ae.useCallback(()=>{let H=n.current;if(!H)return p;let _=Number.parseFloat(getComputedStyle(H).getPropertyValue(s));return Number.isFinite(_)?_:p},[n,s,p]),W=Ae.useCallback(()=>{let H=n.current,_=z.current,Y=H?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!H||!Y||!_)return l;let N=H.getBoundingClientRect(),U=_.getBoundingClientRect(),B=d(getComputedStyle(H).direction==="rtl"),E;c==="vertical"?E=B>0?Y.right-N.left:N.right-Y.left:E=B>0?Y.bottom-N.top:N.bottom-Y.top;let A=c==="vertical"?U.width:U.height;return!(Y.width>0&&Y.height>0)||!Number.isFinite(E)?l:Math.max(i,Math.min(l,Math.round(E-A)))},[n,d,l,i,c]),D=()=>{z.current?.setAttribute("aria-valuemax",String(W()))};Ae.useLayoutEffect(()=>{z.current?.setAttribute("aria-valuenow",String(Math.round(L())))},[L]);let O=(H,_)=>{H.style.setProperty(s,`${_}px`),z.current?.setAttribute("aria-valuenow",String(Math.round(_)))},J=w.charAt(0).toUpperCase()+w.slice(1);return Ae.createElement("div",{ref:S,className:(0,pf.default)("rt-ShellResizer",e),"data-orientation":c,"data-edge":m,role:"separator",tabIndex:0,"aria-label":`Resize ${J} pane`,"aria-controls":a,"aria-orientation":c,"aria-valuemin":i,"aria-valuemax":l,...o,onPointerDown:H=>{o.onPointerDown?.(H);let _=n.current;if(!_||H.defaultPrevented||H.button!==0)return;H.preventDefault();let Y=H.currentTarget,N=H.pointerId;b.current?.();try{Y.setPointerCapture(N)}catch{}let U=getComputedStyle(_),B=Number.parseFloat(U.getPropertyValue(s)),E=Number.isFinite(B)?B:p,A=c==="vertical"?H.clientX:H.clientY,V=d(U.direction==="rtl"),X=W();Y.setAttribute("aria-valuemax",String(X));let ee=We=>Math.min(Math.max(We,i),X);_.setAttribute("data-resizing",""),Y.setAttribute("data-dragging","");let ie=document.body,K=ie.style.cursor,ge=ie.style.userSelect;ie.style.cursor=c==="vertical"?"col-resize":"row-resize",ie.style.userSelect="none",x?.(E);let Pe=E,re=E,ae=0,ve=null,kt=()=>{if(ae=0,ve===null)return;let We=ve;ve=null,f?.(We)},je=null,eo=!1,Wo=(We,bo)=>{if(We.type===bo)eo=!0;else if(eo)return!1;return!0},Dt=We=>{if(!Wo(We,"pointermove")||We===je)return;je=We;let bo=c==="vertical"?We.clientX:We.clientY;re=E+(bo-A)*V,Pe=ee(re),O(_,Pe),ve=Pe,ae||(ae=requestAnimationFrame(kt))},$t=()=>{ae&&cancelAnimationFrame(ae),ae=0;try{Y.releasePointerCapture(N)}catch{}window.removeEventListener("pointermove",Dt),document.removeEventListener("pointermove",Dt),window.removeEventListener("mousemove",Dt),document.removeEventListener("mousemove",Dt),Y.removeEventListener("pointermove",Dt),window.removeEventListener("pointerup",Je),document.removeEventListener("pointerup",Je),window.removeEventListener("mouseup",Je),document.removeEventListener("mouseup",Je),window.removeEventListener("pointercancel",Je),document.removeEventListener("pointercancel",Je),window.removeEventListener("keydown",yo),Y.removeEventListener("lostpointercapture",Je),_.removeAttribute("data-resizing"),Y.removeAttribute("data-dragging"),ie.style.cursor=K,ie.style.userSelect=ge,b.current=null},mr=!1,Je=()=>{if(mr)return;if(mr=!0,ae&&cancelAnimationFrame(ae),kt(),k&&typeof P=="number"&&re<=P){O(_,E),f?.(E),$t(),M?.(),h?.(E);return}let We=Pe;if(g&&g.length){let bo=g.reduce((dr,ur)=>Math.abs(ur-Pe)<Math.abs(dr-Pe)?ur:dr,g[0]);Math.abs(bo-Pe)<=R&&(We=ee(bo),O(_,We),f?.(We))}h?.(We),$t()},yo=We=>{We.key==="Escape"&&(ae&&cancelAnimationFrame(ae),ae=0,ve=null,O(_,E),f?.(E),mr=!0,h?.(E),$t())};window.addEventListener("pointermove",Dt),document.addEventListener("pointermove",Dt),window.addEventListener("mousemove",Dt),document.addEventListener("mousemove",Dt),Y.addEventListener("pointermove",Dt),window.addEventListener("pointerup",Je),document.addEventListener("pointerup",Je),window.addEventListener("mouseup",Je),document.addEventListener("mouseup",Je),window.addEventListener("pointercancel",Je),document.addEventListener("pointercancel",Je),window.addEventListener("keydown",yo),Y.addEventListener("lostpointercapture",Je),b.current=$t},onDoubleClick:H=>{o.onDoubleClick?.(H),!H.defaultPrevented&&k&&F?.()},onFocus:H=>{o.onFocus?.(H),D()},onKeyDown:H=>{o.onKeyDown?.(H);let _=n.current;if(!_||H.defaultPrevented)return;let Y=L(),N=W(),U=E=>Math.min(Math.max(E,i),N),B;if(H.key==="Home")B=U(i);else if(H.key==="End")B=U(N);else{let E=c==="vertical"?H.key==="ArrowRight"?1:H.key==="ArrowLeft"?-1:0:H.key==="ArrowDown"?1:H.key==="ArrowUp"?-1:0;if(E===0)return;let A=H.shiftKey?32:8;B=U(Y+E*A*d(getComputedStyle(_).direction==="rtl"))}H.preventDefault(),x?.(Y),O(_,B),f?.(B),h?.(B)}},t)});vt.displayName="Shell.Handle";var Ja=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));Ja.displayName="Shell.Panel.Handle";var es=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));es.displayName="Shell.Sidebar.Handle";var ts=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));ts.displayName="Shell.Inspector.Handle";var os=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));os.displayName="Shell.Bottom.Handle";var It=u(require("react")),yf=u(require("classnames")),bf=require("radix-ui/internal");var Ce=u(require("react"));var lt=u(require("react"));function lf(e){return typeof e=="object"&&e!==null}function pr(e,t){let o={},r=null;for(let n of ia){if(e!==void 0&&!lf(e)){o[n]=e;continue}let a=lf(e)?e[n]:void 0;a!==void 0&&(r={value:a}),o[n]=r?r.value:t(n)}return o}function jr(e){let t=e.initial;return ia.every(o=>e[o]===t)?t:void 0}function ip(e,t){let o=jr(t);if(o!==void 0)return{[`data-${e}`]:o};let r={};for(let n of ia)r[`data-${e}-${n}`]=t[n];return r}function pp(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var lp=pr("fixed",()=>"fixed");function cf(){return{entries:new Map,listeners:new Set,version:0,peek:null}}function rs(e){e.version+=1;for(let t of e.listeners)t()}function lr(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}function Fr(e,t){e.peek!==t&&(e.peek=t,rs(e))}var cp=lt.createContext(null);function Vo(e){let t=lt.useContext(cp);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function mp(e,t){let o=lt.useCallback(n=>lr(e,n),[e]),r=lt.useCallback(()=>e.entries.get(t),[e,t]);return lt.useSyncExternalStore(o,r,()=>{})}function mf(e,t){let o=lt.useCallback(r=>lr(e,r),[e]);return lt.useSyncExternalStore(o,()=>e.peek===t,()=>!1)}var dp=lt.createContext(null);function Qt(e,t){let o=lt.useContext(dp);if(!o)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:n}=o;lt.useLayoutEffect(()=>{if(t)return r(e),()=>n(e)},[e,t,r,n])}var up=e=>typeof e=="object"&&e!==null;function wh(e){for(let t of["initial","xs","sm","md","lg","xl"]){let o=e[t];if(o!==void 0)return o}return"closed"}function uo(e){let{name:t,label:o,propNames:r,presentationTable:n,builtIn:a}=e,s=Vo(`Shell.${o}`),i=Ce.useId(),l=e.id??`shell-${t}${i}`,p=e.controlled!==void 0,c=up(e.controlled);c&&(`${o}${r.controlled}${r.default}`,void 0);let m=c?e.controlled:void 0,d=m??(up(e.defaultValue)?e.defaultValue:void 0),f=pp(d),[x,h]=Ce.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),g=Ce.useMemo(()=>m?pr(m,()=>wh(m)):pr(d,V=>a(n[V])),[f,c,n,a]),R=x;p&&(R=m?"auto":e.controlled);let P=jr(n)===void 0||R==="auto"&&jr(g)===void 0,{breakpoint:k,ready:w}=No(P),M=V=>{let X=jr(V);return X!==void 0?X:w?V[k]:void 0},F=R==="auto"?M(g):R,z=M(n),S=z==="overlay",b=F===void 0?void 0:F!=="closed",L=b===!0&&S,W=e.defaultValue,D=Ce.useRef({state:R,value:F,autoTable:g,defaultValue:W,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext});Ce.useLayoutEffect(()=>{D.current={state:R,value:F,autoTable:g,defaultValue:W,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext}});let O=Ce.useCallback(()=>{let V=D.current;return V.value!==void 0?V.value:V.state==="auto"?V.autoTable[Bt()]:void 0},[]),J=Ce.useCallback(()=>{let V=D.current;return typeof V.defaultValue=="string"?V.defaultValue:up(V.defaultValue)?V.autoTable[Bt()]:void 0},[]),H=Ce.useCallback((V,X)=>{let ee=D.current;O()!==V&&(ee.onChange?.(V,X),ee.controlled||h(V))},[O]),_=Ce.useCallback(V=>{let X=D.current,ee=O()??"closed",ie=X.toggleNext?X.toggleNext(ee,J()):ee==="closed"?"open":"closed";H(ie,V)},[H,O,J]),Y=Ce.useRef(null),N=Ce.useCallback(V=>{Y.current=V},[]);Ce.useLayoutEffect(()=>{let V={name:t,id:l,el:Y.current,value:F,presentation:z,presentationTable:n,overlayLive:L,size:e.size,setValue:H,toggle:_};return s.entries.set(t,V),rs(s),()=>{s.entries.get(t)===V&&(s.entries.delete(t),rs(s))}},[s,t,l,F,z,n,L,e.size,H,_]);let U=Ce.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});Ce.useLayoutEffect(()=>{U.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let B=Ce.useRef({state:R,shown:b});Ce.useEffect(()=>{let V=B.current;V.state!==R&&V.shown!==void 0&&b!==void 0&&V.shown!==b&&(b?U.current.onExpand?.():U.current.onCollapse?.()),B.current={state:R,shown:b}},[R,b]),Ce.useLayoutEffect(()=>{},[]);let E=Ce.useRef(p);Ce.useEffect(()=>{},[p,o,r.controlled]);let A=mf(s,t)&&b===!1&&!S;return{store:s,id:l,state:R,value:F,shown:b,presentation:z,overlaying:S,overlayLive:L,peeking:A,ready:w,breakpoint:k,autoTable:g,setValue:H,toggle:_,defaultHereNow:J,setElement:N}}function fo(e,t){let{state:o,value:r,presentation:n,shown:a}=e;return{...t,"data-state":o,...o==="auto"?ip("auto",e.autoTable):{},"data-presentation":n,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":n==="stacked"&&a?"":void 0,"data-peek":e.peeking?"":void 0}}function Po(e,t){let o=pp(e),r=Ce.useMemo(()=>pr(e,()=>t),[o,t]),n=Ce.useMemo(()=>jr(r)===void 0?ip("presentation",r):{},[r]);return{table:r,attributes:n}}var be=u(require("react"));function df(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let o=String(e).trim();if(!o)return;if(o.endsWith("px"))return Number.parseFloat(o);if(o.endsWith("rem")){let n=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(o)*n}if(o.endsWith("%")){let n=Number.parseFloat(o),a=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return n/100*a}let r=Number.parseFloat(o);return Number.isFinite(r)?r:void 0}var fp=(e,t,o)=>Math.max(t??e,Math.min(o??e,e));function Ho(e){let{name:t,elementRef:o,cssVarName:r,orientation:n,minSize:a,maxSize:s,resizable:i,size:l,defaultSize:p,paneId:c,persistence:m}=e,d=be.useRef(e);be.useLayoutEffect(()=>{d.current=e});let f=be.useRef(null),x=be.useRef(0);be.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);let h=be.useCallback((b,L)=>{let{onSizeChange:W,sizeUpdate:D,sizeUpdateMs:O}=d.current;if(W){if(D==="debounce"){f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,d.current.onSizeChange?.(b,L)},O);return}if(D==="throttle"){let J=Date.now();if(J-x.current<O)return;x.current=J}W(b,L)}},[]),g=be.useCallback(b=>df(b,n==="vertical"?"horizontal":"vertical"),[n]),R=be.useRef(!1),P=be.useCallback((b,L)=>{let W=o.current;if(W){W.style.setProperty(r,`${b}px`);for(let D of W.querySelectorAll(":scope > .rt-ShellResizer"))D.setAttribute("aria-valuenow",String(Math.round(b)));L&&(R.current=!0)}},[o,r]);be.useLayoutEffect(()=>{R.current||P(e.expandedSize,!1)},[e.expandedSize,P]),be.useLayoutEffect(()=>{if(l!==void 0||p===void 0)return;let b=g(p);if(typeof b!="number"||!Number.isFinite(b))return;let L=fp(b,a,s);P(L,!0),h(L,{reason:"init"})},[]),be.useLayoutEffect(()=>{if(l===void 0||d.current.overlayingNow())return;let b=g(l);if(typeof b!="number"||!Number.isFinite(b))return;let L=fp(b,a,s);P(L,!0),h(L,{reason:"controlled"})},[l,a,s,e.overlaying,g,P,h]);let k=be.useMemo(()=>{if(!c||m)return m;let b=`kookie-ui:shell:${t}:${c}`;return{load:()=>{if(!(typeof window>"u"))try{let L=window.localStorage.getItem(b);return L?Number(L):void 0}catch{return}},save:L=>{if(!(typeof window>"u"))try{window.localStorage.setItem(b,String(L))}catch{}}}},[t,c,m]);be.useLayoutEffect(()=>{if(!i||!k?.load||d.current.overlayingNow())return;let b=!0,L=D=>{if(!b||typeof D!="number"||!Number.isFinite(D))return;let O=fp(D,a,s);P(O,!0),d.current.onResize?.(O)},W=k.load();return W instanceof Promise?W.then(L).catch(D=>{}):L(W),()=>{b=!1}},[i,k,e.overlaying,P,a,s,t]);let w=be.useCallback(b=>d.current.onResize?.(b),[]),M=be.useCallback(b=>{R.current=!0,d.current.onResizeStart?.(b)},[]),F=be.useCallback(b=>{d.current.onResizeEnd?.(b),h(b,{reason:"resize"}),k?.save?.(b)},[h,k]),z=be.useCallback(()=>d.current.requestCollapse(),[]),S=be.useCallback(()=>d.current.requestToggle(),[]);return be.useMemo(()=>({containerRef:o,controls:e.elementId,cssVarName:r,minSize:a,maxSize:s,defaultSize:e.expandedSize,orientation:n,edge:e.edge,growth:e.growth,onResize:w,onResizeStart:M,onResizeEnd:F,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:z,requestToggle:S}),[o,e.elementId,r,a,s,e.expandedSize,n,e.edge,e.growth,w,M,F,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,z,S])}function Oo(e,t){let o=be.Children.toArray(e),r=o.filter(a=>be.isValidElement(a)&&a.type===t),n=o.filter(a=>!(be.isValidElement(a)&&a.type===t));return{handles:r,content:n}}function Wt(e){if(e===void 0)return;if(typeof e=="boolean")return e?"open":"closed";let t={};for(let[o,r]of Object.entries(e))typeof r=="boolean"&&(t[o]=r?"open":"closed");return t}var ns=e=>e==="overlay"?"closed":"open",$r=()=>"closed",as=e=>e?-1:1,uf=e=>e?1:-1,ff=()=>-1;function Go(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:o,...r}=e;return r}var Pf=e=>e==="collapsed"?"closed":"open",Mh=e=>e==="closed"?"collapsed":"expanded";function gf(e){if(e===void 0)return;if(typeof e=="string")return Pf(e);let t={};for(let[o,r]of Object.entries(e))r!==void 0&&(t[o]=Pf(r));return t}var Nh={controlled:"state",default:"defaultState"},Eh={initial:"overlay",sm:"fixed"},ss=It.forwardRef((e,t)=>{let{className:o,presentation:r=Eh,expandedSize:n=288,minSize:a=200,maxSize:s=400,resizable:i=!1,collapsible:l=!0,onExpand:p,onCollapse:c,onResize:m,onResizeStart:d,onResizeEnd:f,snapPoints:x,snapTolerance:h,collapseThreshold:g,paneId:R,persistence:P,children:k,style:w,state:M,defaultState:F,onStateChange:z,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"sidebar",label:"Sidebar",propNames:Nh,id:J,controlled:gf(M),defaultValue:gf(F),presentationTable:_,builtIn:ns,onChange:(ie,K)=>z?.(Mh(ie),{reason:K}),onExpand:p,onCollapse:c,size:n});Qt("sidebar",O),It.useEffect(()=>{(x!==void 0||g!==void 0||R!==void 0||P!==void 0)&&void 0},[x,g,R,P]);let U=It.useRef(null),B=(0,bf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"sidebar",elementId:N.id,elementRef:U,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:as,expandedSize:n,minSize:a,maxSize:s,resizable:i,collapsible:l,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:m,onResizeStart:d,onResizeEnd:f,snapPoints:x,snapTolerance:h,collapseThreshold:g,paneId:R,persistence:P,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(k,es),X=i&&N.value!=="closed"&&!N.overlaying?It.createElement(mo.Provider,{value:E},A.length>0?A:It.createElement(vt,null)):null,ee=N.peeking?`var(--sidebar-size, ${n}px)`:void 0;return It.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,yf.default)("rt-ShellPane","rt-ShellSidebar",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...w,"--sidebar-expanded-size":`${n}px`,"--sidebar-min-size":`${a}px`,"--sidebar-max-size":`${s}px`,...ee?{"--peek-sidebar-width":ee}:{}}},It.createElement("div",{className:"rt-ShellSidebarContent"},It.createElement(Dn,null,V)),X)});ss.displayName="Shell.Sidebar";ss.Handle=es;var jt=u(require("react")),hf=u(require("classnames")),Rf=require("radix-ui/internal");var Ih={controlled:"open",default:"defaultOpen"},is=jt.forwardRef((e,t)=>{let{className:o,presentation:r="fixed",defaultOpen:n,open:a,onOpenChange:s,expandedSize:i=200,minSize:l=100,maxSize:p=400,resizable:c=!1,collapsible:m=!0,onExpand:d,onCollapse:f,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,children:F,style:z,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"bottom",label:"Bottom",propNames:Ih,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:_,builtIn:$r,onChange:(ee,ie)=>s?.(ee!=="closed",{reason:ie}),onExpand:d,onCollapse:f,size:i});Qt("bottom",O),jt.useEffect(()=>{(R!==void 0||k!==void 0||w!==void 0||M!==void 0)&&void 0},[R,k,w,M]);let U=jt.useRef(null),B=(0,Rf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"bottom",elementId:N.id,elementRef:U,cssVarName:"--bottom-size",orientation:"horizontal",edge:"start",growth:ff,expandedSize:i,minSize:l,maxSize:p,resizable:c,collapsible:m,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(F,os),X=c&&N.shown!==!1&&!N.overlaying?jt.createElement(mo.Provider,{value:E},A.length>0?A:jt.createElement(vt,null)):null;return jt.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,hf.default)("rt-ShellPane","rt-ShellBottom",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...z,"--bottom-expanded-size":`${i}px`,"--bottom-min-size":`${l}px`,"--bottom-max-size":`${p}px`}},jt.createElement("div",{className:"rt-ShellBottomContent"},V),X)});is.displayName="Shell.Bottom";is.Handle=os;var Ft=u(require("react")),Cf=u(require("classnames")),vf=require("radix-ui/internal");var kh={controlled:"open",default:"defaultOpen"},Lh={initial:"overlay",sm:"fixed"},ps=Ft.forwardRef((e,t)=>{let{className:o,presentation:r=Lh,defaultOpen:n,open:a,onOpenChange:s,expandedSize:i=320,minSize:l=200,maxSize:p=500,resizable:c=!1,collapsible:m=!0,onExpand:d,onCollapse:f,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,children:F,style:z,onSizeChange:S,sizeUpdate:b,sizeUpdateMs:L=50,size:W,defaultSize:D,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"inspector",label:"Inspector",propNames:kh,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:_,builtIn:$r,onChange:(ee,ie)=>s?.(ee!=="closed",{reason:ie}),onExpand:d,onCollapse:f,size:i});Qt("inspector",O),Ft.useEffect(()=>{(R!==void 0||k!==void 0||w!==void 0||M!==void 0)&&void 0},[R,k,w,M]);let U=Ft.useRef(null),B=(0,vf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"inspector",elementId:N.id,elementRef:U,cssVarName:"--inspector-size",orientation:"vertical",edge:"start",growth:uf,expandedSize:i,minSize:l,maxSize:p,resizable:c,collapsible:m,size:W,defaultSize:D,onSizeChange:S,sizeUpdate:b,sizeUpdateMs:L,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(F,ts),X=c&&N.shown!==!1&&!N.overlaying?Ft.createElement(mo.Provider,{value:E},A.length>0?A:Ft.createElement(vt,null)):null;return Ft.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,Cf.default)("rt-ShellPane","rt-ShellInspector",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...z,"--inspector-expanded-size":`${i}px`,"--inspector-min-size":`${l}px`,"--inspector-max-size":`${p}px`}},Ft.createElement("div",{className:"rt-ShellInspectorContent"},V),X)});ps.displayName="Shell.Inspector";ps.Handle=ts;var Kt=u(require("react"));var Df=e=>e===void 0?void 0:e==="closed"?"collapsed":"expanded",Sf=e=>e==="collapsed"?"closed":"open",ls=e=>e===void 0||e==="closed"?"collapsed":"expanded",cs=e=>e==="left"?"rail":e;function zh(e){let t=Kt.useCallback(o=>lr(e,o),[e]);return Kt.useSyncExternalStore(t,()=>e.version,()=>0)}function Tf(){let e=Vo("useSidebarMode"),t=Kt.useCallback(n=>lr(e,n),[e]),o=Kt.useSyncExternalStore(t,()=>e.entries.get("sidebar")?.value,()=>{}),r=Kt.useCallback(n=>{e.entries.get("sidebar")?.setValue(Sf(n),"toggle")},[e]);return{sidebarMode:Df(o)??"expanded",setSidebarMode:r}}var xf=()=>{};function wf(){let e=Vo("useShell");Kt.useEffect(()=>{},[]),zh(e);let{breakpoint:t,ready:o}=No(),r=Kt.useMemo(()=>{let s=l=>p=>e.entries.get(l)?.setValue(p==="collapsed"?"closed":"open","toggle"),i=l=>Fr(e,l===null?null:cs(l));return{setLeftMode:s("rail"),setPanelMode:s("panel"),setInspectorMode:s("inspector"),setBottomMode:s("bottom"),setSidebarMode:l=>e.entries.get("sidebar")?.setValue(Sf(l),"toggle"),setPeekTarget:i,peekPane:l=>i(l),clearPeek:()=>i(null),setHasLeft:xf,setHasSidebar:xf,togglePane:l=>e.entries.get(cs(l))?.toggle("toggle"),expandPane:l=>e.entries.get(cs(l))?.setValue("open","toggle"),collapsePane:l=>e.entries.get(cs(l))?.setValue("closed","toggle")}},[e]),n=s=>e.entries.get(s)?.value,a=e.entries.get("rail");return{leftMode:ls(n("rail")),leftControlledOpen:a?.value===void 0?void 0:a.value!=="closed",panelMode:ls(n("panel")),sidebarMode:Df(n("sidebar"))??"expanded",inspectorMode:ls(n("inspector")),bottomMode:ls(n("bottom")),peekTarget:e.peek,hasLeft:e.entries.has("rail"),hasSidebar:e.entries.has("sidebar"),currentBreakpoint:t,currentBreakpointReady:o,leftResolvedPresentation:a?.presentation,...r}}var Mf=u(require("react"));function Nf(e){Mf.useEffect(()=>{},[]);let{breakpoint:t}=No(typeof e!="string");return pr(e,()=>"fixed")[t]}var Pp=0;function Ef(e){Pp=Math.max(0,Pp+e);let t=document.documentElement;Pp>0?t.setAttribute("data-rt-shell-lock",""):t.removeAttribute("data-rt-shell-lock")}var gp="data-rt-shell-inert",Ah=30;function Sn(e,t){return t===null||t===e||t===e.body||t===e.documentElement}function If(e,t,o){for(let r of e.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(r.getAttribute("aria-controls")!==t||r.closest("[inert]"))&&!(o&&!o.some(n=>n.contains(r))))return r;return null}var kf=q.forwardRef(({className:e,children:t,height:o="full",size:r="2",style:n,onKeyDown:a,onFocus:s,...i},l)=>{let[p]=q.useState(cf),c=q.useCallback(B=>lr(p,B),[p]);q.useSyncExternalStore(c,()=>p.version,()=>0);let m=q.useRef(null),d=(0,ms.useComposedRefs)(l,m),[f,x]=q.useState(()=>new Set),h=q.useCallback(B=>{x(E=>E.has(B)?E:new Set(E).add(B))},[]),g=q.useCallback(B=>{x(E=>{if(!E.has(B))return E;let A=new Set(E);return A.delete(B),A})},[]),R=q.useMemo(()=>({registerInset:h,unregisterInset:g}),[h,g]),P=q.useCallback(()=>{for(let B of p.entries.values())B.overlayLive&&B.setValue("closed","dismiss")},[p]),k=q.useCallback(()=>[...p.entries.values()].filter(B=>B.overlayLive&&B.el).map(B=>({name:B.name,id:B.id,el:B.el})),[p]),w=[...p.entries.values()].filter(B=>B.overlayLive&&B.el).length,M=o!=="full"&&o!=="auto",F=q.useCallback(()=>{let B=m.current;if(!B)return;let E=k().map(A=>A.el);for(let A of B.children){if(!(A instanceof HTMLElement)||A.classList.contains("rt-ShellScrim"))continue;let V=E.some(X=>A===X||A.contains(X));E.length===0||V?A.hasAttribute(gp)&&(A.removeAttribute(gp),A.inert=!1):A.inert||(A.setAttribute(gp,""),A.inert=!0)}},[k]),z=q.useRef(null),S=q.useRef([]),b=q.useRef(null),L=q.useRef(!1),W=q.useRef(0),D=q.useCallback(()=>{W.current&&cancelAnimationFrame(W.current),W.current=0},[]),O=q.useCallback((B,E)=>{D();let A=0,V=()=>{if(W.current=0,!!B.isConnected){if(E(B.ownerDocument.activeElement)){B.focus({preventScroll:!0});return}A+=1,A<Ah&&(W.current=requestAnimationFrame(V))}};W.current=requestAnimationFrame(V)},[D]);q.useEffect(()=>()=>{D(),L.current&&(L.current=!1,Ef(-1))},[D]),q.useEffect(()=>{let B=m.current;if(!B)return;let E=B.ownerDocument,A=k(),V=A.map(re=>re.el),X=!M&&A.length>0;X!==L.current&&(L.current=X,Ef(X?1:-1));let ee=S.current;S.current=A;let ie=ee.filter(re=>{if(V.includes(re.el))return!1;let ae=p.entries.get(re.name);return!re.el.isConnected||!ae||ae.el!==re.el||ae.value==="closed"}),K=re=>re!==null&&ie.some(ae=>ae.el.contains(re));if(ee.length===0&&A.length>0){let re=E.activeElement,ae=re instanceof HTMLElement&&!Sn(E,re)&&!V.some(ve=>ve.contains(re))?re:null;if(ae&&!B.contains(ae)){let ve=b.current;ve&&ve.isConnected&&!V.some(kt=>kt.contains(ve))&&(ae=ve)}z.current=ae}if(F(),A.length===0){let re=z.current;if(z.current=null,ie.length===0)return;let ve=(je=>je!==null&&je.isConnected&&!je.closest("[inert]")&&!K(je))(re)?re:null;for(let je of ie)ve??(ve=If(E,je.id));if(!ve)return;let kt=je=>Sn(E,je)||K(je);kt(E.activeElement)?ve.focus({preventScroll:!0}):O(ve,kt);return}if(ie.length>0){let re=E.activeElement;if(Sn(E,re)||K(re)){let ae=null;for(let ve of ie)ae??(ae=If(E,ve.id,V));(ae??V[V.length-1]).focus({preventScroll:!0})}}let ge=V.filter(re=>!ee.some(ae=>ae.el===re)),Pe=E.activeElement;ge.length>0&&!V.some(re=>re.contains(Pe))&&(ge[0].focus({preventScroll:!0}),O(ge[0],re=>Sn(E,re)||re instanceof Element&&re.closest("[inert]")!==null))}),q.useEffect(()=>{let B=m.current;if(!B||w===0||typeof MutationObserver>"u")return;let E=new MutationObserver(F);return E.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>E.disconnect()},[w,F]);let J=B=>{a?.(B),!(B.key!=="Escape"||B.defaultPrevented||w===0)&&(P(),B.stopPropagation())};q.useEffect(()=>{let B=m.current;if(!B||w===0)return;let E=B.ownerDocument,A=V=>{V.key!=="Escape"||V.defaultPrevented||!Sn(E,V.target)||P()};return E.addEventListener("keydown",A),()=>E.removeEventListener("keydown",A)},[w,P]);let H=B=>{s?.(B),B.target instanceof HTMLElement&&m.current?.contains(B.target)&&(b.current=B.target)},_=p.entries.get("rail"),N=_!==void 0&&_.value!==void 0&&_.value!=="closed"?f.has("rail")?`calc(${_.size}px + 2 * var(--shell-inset-gap))`:`${_.size}px`:void 0,U=o==="full"?{}:o==="auto"?{height:"auto"}:typeof o=="number"?{height:`${o}px`}:{height:o};return q.createElement(cp.Provider,{value:p},q.createElement(Xa.Provider,{value:r},q.createElement(dp.Provider,{value:R},q.createElement("div",{...i,ref:d,className:(0,cr.default)("rt-ShellRoot",e),"data-height":o==="auto"?"auto":void 0,"data-has-inset":f.size>0||void 0,"data-overlay-live":w>0||void 0,onKeyDown:J,onFocus:H,style:{...U,...N?{"--shell-rail-offset":N}:{},...n}},t,q.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:P})))))});kf.displayName="Shell.Root";var Lf=q.forwardRef(({className:e,height:t=64,style:o,...r},n)=>q.createElement("header",{...r,ref:n,className:(0,cr.default)("rt-ShellHeader",e),style:{...o,"--shell-header-height":`${t}px`}}));Lf.displayName="Shell.Header";var zf=q.forwardRef(({children:e},t)=>(q.useEffect(()=>{},[]),q.createElement(q.Fragment,null,e)));zf.displayName="Shell.Left";var Bh={controlled:"open",default:"defaultOpen"},Af=q.forwardRef((e,t)=>{let{className:o,presentation:r,expandedSize:n=64,collapsible:a,onExpand:s,onCollapse:i,children:l,style:p,open:c,defaultOpen:m,onOpenChange:d,inset:f,id:x,...h}=e,{table:g,attributes:R}=Po(r,"fixed"),P=uo({name:"rail",label:"Rail",propNames:Bh,id:x,controlled:Wt(c),defaultValue:Wt(m),presentationTable:g,builtIn:ns,onChange:(w,M)=>d?.(w!=="closed",{reason:M}),onExpand:s,onCollapse:i,size:n});Qt("rail",f);let k=(0,ms.useComposedRefs)(t,P.setElement);return q.createElement("div",{...h,id:P.id,ref:k,className:(0,cr.default)("rt-ShellPane","rt-ShellRail",o),...fo(P,R),"data-inset":f||void 0,tabIndex:P.overlaying?-1:h.tabIndex,style:{...p,"--rail-size":`${n}px`}},q.createElement(Vh,null,l))});Af.displayName="Shell.Rail";function Vh({children:e}){let t=q.useContext(Xa);return q.createElement("div",{className:(0,cr.default)("rt-ShellRailContent",`rt-r-size-${t}`)},q.createElement(Dn,{presentation:"thin"},e))}var Hh={controlled:"open",default:"defaultOpen"},yp=q.forwardRef((e,t)=>{let{className:o,presentation:r,defaultOpen:n,open:a,onOpenChange:s,size:i,defaultSize:l,expandedSize:p=288,minSize:c=100,maxSize:m=800,resizable:d=!1,collapsible:f=!0,onExpand:x,onCollapse:h,onResize:g,onResizeStart:R,onResizeEnd:P,snapPoints:k,snapTolerance:w,collapseThreshold:M,paneId:F,persistence:z,children:S,style:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,_=Vo("Shell.Panel"),Y=mp(_,"rail"),N=Po(r,"fixed"),U=r===void 0,B=U?Y?.presentationTable??lp:N.table,E=U?{"data-presentation-follows":""}:N.attributes,A=uo({name:"panel",label:"Panel",propNames:Hh,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:B,builtIn:$r,onChange:(Pe,re)=>s?.(Pe!=="closed",{reason:re}),onExpand:x,onCollapse:h,size:p});Qt("panel",O),q.useEffect(()=>{(k!==void 0||M!==void 0||F!==void 0||z!==void 0)&&void 0},[k,M,F,z]);let V=q.useRef(null),X=(0,ms.useComposedRefs)(t,A.setElement,V),ee=Ho({name:"panel",elementId:A.id,elementRef:V,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:as,expandedSize:p,minSize:c,maxSize:m,resizable:d,collapsible:f,size:i,defaultSize:l,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:g,onResizeStart:R,onResizeEnd:P,snapPoints:k,snapTolerance:w,collapseThreshold:M,paneId:F,persistence:z,overlaying:A.overlaying,overlayingNow:()=>(U?_.entries.get("rail")?.presentationTable??lp:N.table)[Bt()]==="overlay",requestCollapse:()=>A.setValue("closed","toggle"),requestToggle:()=>A.toggle("toggle")}),{handles:ie,content:K}=Oo(S,Ja),ge=d&&A.shown!==!1&&!A.overlaying?q.createElement(mo.Provider,{value:ee},ie.length>0?ie:q.createElement(vt,null)):null;return q.createElement("div",{...Go(H),id:A.id,ref:X,className:(0,cr.default)("rt-ShellPane","rt-ShellPanel",o),...fo(A,E),"data-inset":O||void 0,tabIndex:A.overlaying?-1:H.tabIndex,style:{...b,"--panel-expanded-size":`${p}px`}},q.createElement("div",{className:"rt-ShellPanelContent"},q.createElement(Dn,null,K)),ge)});yp.displayName="Shell.Panel";yp.Handle=Ja;var Bf=q.forwardRef(({className:e,inset:t,...o},r)=>(Qt("content",t),q.createElement("main",{...o,ref:r,className:(0,cr.default)("rt-ShellContent",e),"data-inset":t||void 0})));Bf.displayName="Shell.Content";var Vf=q.forwardRef(({target:e,action:t="toggle",peekOnHover:o,onClick:r,onMouseEnter:n,onMouseLeave:a,children:s,...i},l)=>{let p=Vo("Shell.Trigger");q.useEffect(()=>{e==="left"&&void 0,o&&void 0},[e,o]);let c=e==="left"?"rail":e,m=mp(p,c),d=m?.value===void 0?void 0:m.value!=="closed",f=g=>{if(r?.(g),g.defaultPrevented)return;let R=p.entries.get(c);R&&(p.peek===c&&Fr(p,null),t==="toggle"?R.toggle("toggle"):t==="expand"?R.setValue("open","toggle"):R.setValue("closed","toggle"))},x=g=>{if(n?.(g),!o)return;let R=p.entries.get(c);R&&R.value==="closed"&&R.presentation!=="overlay"&&Fr(p,c)},h=g=>{a?.(g),o&&p.peek===c&&Fr(p,null)};return q.createElement("button",{type:"button","aria-controls":m?.id,"aria-expanded":d,...i,ref:l,onClick:f,onMouseEnter:x,onMouseLeave:h,"data-shell-trigger":e,"data-shell-action":t},s)});Vf.displayName="Shell.Trigger";var hp={};De(hp,{Close:()=>$f,Content:()=>jf,Description:()=>Kf,Root:()=>Of,Title:()=>Ff,Trigger:()=>Gf});var we=u(require("react")),Hf=u(require("classnames")),go=require("radix-ui");var Of=e=>we.createElement(go.Dialog.Root,{...e,modal:!0});Of.displayName="Sheet.Root";var Gf=we.forwardRef(({children:e,...t},o)=>we.createElement(go.Dialog.Trigger,{...t,ref:o,asChild:!0},ke(e)));Gf.displayName="Sheet.Trigger";var{align:VE,material:Oh,...Wf}=Cr,Gh={material:Oh},{default:HE,...Wh}=Wf.maxWidth,jh={...Wf,maxWidth:Wh},jf=we.forwardRef((e,t)=>{let{side:o="start",forceMount:r,container:n,className:a,material:s,...i}=e,p={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[o],{material:c}=C({material:s},Gh),m=c,{className:d,...f}=C(i,jh),x=we.useRef(null),h=we.useMemo(()=>g=>{x.current=g,typeof t=="function"?t(g):t&&(t.current=g)},[t]);return ba(),we.useEffect(()=>{if(typeof window>"u")return;let g=x.current;if(!g)return;let R=g.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(R.length===0)return;let P=R[0],k=R[R.length-1],w=M=>{M.key==="Tab"&&(M.shiftKey?document.activeElement===P&&(M.preventDefault(),k.focus()):document.activeElement===k&&(M.preventDefault(),P.focus()))};return g.addEventListener("keydown",w),P.focus(),()=>{g.removeEventListener("keydown",w)}},[]),we.createElement(go.Dialog.Portal,{container:n,forceMount:r},we.createElement(he,{asChild:!0},we.createElement(go.Dialog.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},we.createElement(go.Dialog.Content,{...f,ref:h,className:(0,Hf.default)("rt-BaseDialogContent","rt-SheetContent",a,d),"data-side":p,"data-material":m,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});jf.displayName="Sheet.Content";var Ff=we.forwardRef(({size:e="4",weight:t="medium",...o},r)=>we.createElement(go.Dialog.Title,{asChild:!0},we.createElement(Tt,{ref:r,size:e,weight:t,...o})));Ff.displayName="Sheet.Title";var Kf=we.forwardRef(({size:e="2",emphasis:t="medium",...o},r)=>we.createElement(go.Dialog.Description,{asChild:!0},we.createElement(me,{ref:r,size:e,emphasis:t,...o})));Kf.displayName="Sheet.Description";var $f=we.forwardRef(({children:e,...t},o)=>we.createElement(go.Dialog.Close,{...t,ref:o,asChild:!0},ke(e)));$f.displayName="Sheet.Close";var Mp={};De(Mp,{AttachTrigger:()=>sP,Attachment:()=>wp,AttachmentsRow:()=>oP,InlineEnd:()=>tP,InlineStart:()=>eP,Item:()=>aP,Root:()=>Qf,Row:()=>iP,RowEnd:()=>lP,RowStart:()=>pP,Send:()=>cP,Textarea:()=>Jf});var y=u(require("react")),yt=u(require("classnames")),Sp=require("radix-ui/internal"),Zf=require("react-dropzone");var Ge=u(require("react")),_f=u(require("classnames"));var ds=Ge.createContext(void 0),Rp=Ge.forwardRef(({kind:e,size:t="2",color:o="gray",material:r,className:n,children:a,trailing:s,leading:i,...l},p)=>Ge.createElement("div",{role:"status","aria-live":"polite",...l,ref:p,className:(0,_f.default)("rt-NoticeRoot",`rt-r-size-${t}`,n),"data-kind":e,"data-accent-color":o,"data-material":r},i?Ge.createElement("span",{className:"rt-NoticeIcon","aria-hidden":!0},i):null,Ge.createElement(me,{as:"div",size:t,className:"rt-NoticeText"},a),s));Rp.displayName="Strip";var Cp=Ge.forwardRef(({icon:e,action:t,onDismiss:o,dismissLabel:r="Dismiss",size:n,...a},s)=>{let i=Ge.useContext(ds),l=n??i??"2";return Ge.createElement(Rp,{...a,size:l,ref:s,kind:"notice",leading:e,trailing:t||o?Ge.createElement("span",{className:"rt-NoticeActions"},t,o?Ge.createElement(Pt,{size:l,variant:"ghost",color:"gray","aria-label":r,className:"rt-NoticeDismiss",onClick:o},Ge.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0},Ge.createElement("path",{d:"M4 4l7 7M11 4l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}))):null):null})});Cp.displayName="Notice";var vp=Ge.forwardRef(({confirmLabel:e,cancelLabel:t="Not now",onConfirm:o,onCancel:r,busy:n=!1,size:a,color:s="gray",...i},l)=>{let p=Ge.useContext(ds),c=a??p??"2";return Ge.createElement(Rp,{...i,size:c,color:s,ref:l,kind:"confirmation",trailing:Ge.createElement("span",{className:"rt-NoticeActions"},Ge.createElement(dt,{size:c,variant:"ghost",color:"gray",disabled:n,onClick:r},t),Ge.createElement(dt,{size:c,variant:"solid",color:s,loading:n,onClick:o},e))})});vp.displayName="Confirmation";var xp=typeof window<"u"?y.useLayoutEffect:y.useEffect;function qf(e,t){let{placeholder:o}=e;if(!o){t();return}e.placeholder="";try{t()}finally{e.placeholder=o}}var Xf=y.createContext(null),Tp=y.createContext(""),Jt=()=>{let e=y.useContext(Xf);if(!e)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return e},Tn=e=>Array.isArray(e)?e:typeof e=="string"?e.split(",").map(t=>t.trim()).filter(Boolean):[],Fh=(e,t)=>{if(t.length===0)return!0;let o=e.type.toLowerCase(),r=e.name.toLowerCase();for(let n of t){let a=n.toLowerCase();if(a.includes("/")){let[s,i]=a.split("/"),[l,p]=o.split("/");if(s==="*"||s===l&&(i==="*"||i===p))return!0}else if(a.startsWith(".")&&r.endsWith(a))return!0}return!1},Kh=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,Yf=(e,t)=>(t||"").toLowerCase().startsWith("image/")||Kh.test(e),Dp=e=>e.trim().length>0,Uf=(e,t)=>`${e} ${t}${e===1?"":"s"}`,$h=0,_h=()=>`chatbar-attachment-${Date.now()}-${++$h}`,Qf=y.forwardRef((e,t)=>{let{className:o,style:r,children:n,value:a,defaultValue:s="",onValueChange:i,open:l,defaultOpen:p=!1,onOpenChange:c,expandOn:m="both",minLines:d=3,maxLines:f=6,sendMode:x="whenDirty",disabled:h,readOnly:g,onSubmit:R,size:P="2",variant:k,color:w,radius:M,material:F,width:z,maxWidth:S,attachments:b,defaultAttachments:L,onAttachmentsChange:W,accept:D,multiple:O=!0,maxAttachments:J,maxFileSize:H,paste:_=!0,pasteAccept:Y,clearOnSubmit:N=!0,onAttachmentReject:U,dropzone:B=!0,apiRef:E,onBlurCapture:A,notices:V,context:X,...ee}=e,ie=F,K=a!=null,[ge,Pe]=y.useState(s),re=K?a:ge,ae=l!=null,[ve,kt]=y.useState(p),je=ae?l:ve,eo="attachments"in e,[Wo,Dt]=y.useState(()=>L??[]),$t=y.useMemo(()=>eo?b??[]:Wo,[eo,b,Wo]),[mr,Je]=y.useState({text:"",id:0}),yo=y.useCallback(Q=>Je(le=>({text:Q,id:le.id+1})),[]),We=y.useRef(null),bo=(0,Sp.useComposedRefs)(t,We),dr=y.useRef(null),ur=y.useRef(null),qr=y.useRef(!1),wn=y.useRef(!1),Mn=y.useRef(void 0),us=y.useRef(null),Ep=Tn(D).join(","),fs=Tn(Y).join(","),Ps=y.useMemo(()=>Tn(Ep),[Ep]),yP=y.useMemo(()=>fs?Tn(fs):Ps,[fs,Ps]),Ip={value:re,attachments:$t,accepts:Ps,pasteAccepts:yP,multiple:O,maxAttachments:J,maxFileSize:H,disabled:h,readOnly:g,expandOn:m,isValueControlled:K,isOpenControlled:ae,isAttachmentsControlled:eo,onValueChange:i,onOpenChange:c,onAttachmentsChange:W,onAttachmentReject:U,onSubmit:R},Ue=y.useRef(Ip);Ue.current=Ip;let gs=y.useRef(null),ho=y.useCallback(()=>gs.current??Ue.current.attachments,[]),fr=y.useCallback(Q=>{Ue.current.isOpenControlled||kt(Q),Ue.current.onOpenChange?.(Q)},[]),Nn=y.useCallback(Q=>{Ue.current.isValueControlled||Pe(Q),Ue.current.onValueChange?.(Q)},[]),Pr=y.useCallback(Q=>{gs.current=Q,queueMicrotask(()=>{gs.current=null}),Ue.current.isAttachmentsControlled||Dt(Q),Ue.current.onAttachmentsChange?.(Q)},[]),En=y.useRef(new Set),gr=y.useCallback((Q,le,Ee=Ue.current.multiple)=>{let Ie=Ue.current;if(Ie.disabled||Ie.readOnly||Q.length===0)return 0;let Ro=ho(),jo=[],yr=[],SP=typeof Ie.maxAttachments=="number"?Math.max(Ie.maxAttachments-Ro.length,0):1/0,TP=Ee?1/0:1;for(let St of Q){if(jo.length>=SP||jo.length>=TP){yr.push({file:St,reason:"count"});continue}if(typeof Ie.maxFileSize=="number"&&St.size>Ie.maxFileSize){yr.push({file:St,reason:"size"});continue}if(!Fh(St,le)){yr.push({file:St,reason:"type"});continue}let bs=Yf(St.name,St.type)?URL.createObjectURL(St):void 0;bs&&En.current.add(bs),jo.push({id:_h(),name:St.name,size:St.size,type:St.type,file:St,url:bs,status:"idle"})}let Ln=[];return jo.length>0&&(Pr(Ro.concat(jo)),Ie.expandOn!=="none"&&fr(!0),Ln.push(`${Uf(jo.length,"file")} attached.`)),yr.length>0&&(Ie.onAttachmentReject?.(yr),Ln.push(`${Uf(yr.length,"file")} could not be attached.`)),Ln.length>0&&yo(Ln.join(" ")),jo.length},[ho,Pr,fr,yo]),In=y.useCallback(Q=>gr(Q,Ue.current.accepts),[gr]),kp=y.useCallback(Q=>gr(Q,Ue.current.pasteAccepts),[gr]),Lp=y.useCallback(Q=>{let le=ho(),Ee=le.find(Ie=>Ie.id===Q);Ee&&(Pr(le.filter(Ie=>Ie.id!==Q)),yo(`Removed ${Ee.name}.`))},[ho,Pr,yo]),zp=y.useCallback(Q=>{let le=Ue.current;if(le.disabled||le.readOnly)return!1;let Ee=ho();if(!Dp(le.value)&&Ee.length===0)return!1;let Ie={value:le.value,attachments:Ee};if(Q&&le.onSubmit)for(let Ro of Ee)Ro.url&&En.current.delete(Ro.url);return le.onSubmit?.(Ie),Q&&(Nn(""),Pr([])),!0},[ho,Nn,Pr]);y.useEffect(()=>{let Q=En.current;if(Q.size===0)return;let le=new Set($t.map(Ee=>Ee.url));for(let Ee of Array.from(Q))le.has(Ee)||(URL.revokeObjectURL(Ee),Q.delete(Ee))},[$t]),y.useEffect(()=>{let Q=En.current;return()=>{if(!Ue.current.isAttachmentsControlled){for(let le of Array.from(Q))URL.revokeObjectURL(le);Q.clear()}}},[]);let kn=y.useCallback(Q=>{let le=Ue.current,Ee=ur.current;if(clearTimeout(Mn.current),wn.current=!1,!Ee||le.disabled||le.readOnly)return;let Ie=Q?.accept!=null?Tn(Q.accept):le.accepts,Ro=Q?.multiple??le.multiple;us.current={patterns:Ie,multiple:Ro},Ee.accept=Ie.join(","),Ee.multiple=Ro,qr.current=!0,Ee.click(),setTimeout(()=>{document.hasFocus()&&(qr.current=!1)},1e3)},[]),Ap=y.useCallback(()=>{wn.current=!0,clearTimeout(Mn.current),Mn.current=setTimeout(()=>{wn.current=!1},800)},[]);y.useEffect(()=>()=>clearTimeout(Mn.current),[]),y.useEffect(()=>{let Q=ur.current,le=()=>{qr.current=!1};return window.addEventListener("focus",le),Q?.addEventListener("cancel",le),()=>{window.removeEventListener("focus",le),Q?.removeEventListener("cancel",le)}},[]);let bP=y.useCallback(Q=>{let le=Q.currentTarget,Ee=Array.from(le.files??[]),Ie=us.current;gr(Ee,Ie?.patterns??Ue.current.accepts,Ie?.multiple),qr.current=!1,us.current=null,le.value=""},[gr]),hP=y.useCallback(Q=>{A?.(Q);let le=Ue.current,Ee=We.current;if(!Ee||le.expandOn==="none")return;let Ie=Q.relatedTarget;Ie&&Ee.contains(Ie)||qr.current||wn.current||!Dp(le.value)&&ho().length===0&&fr(!1)},[A,fr,ho]),RP=y.useCallback(Q=>{In(Q)},[In]),{getRootProps:CP,isDragActive:vP}=(0,Zf.useDropzone)({onDrop:RP,onDragEnter:()=>yo(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!B||h||g}),ys=B&&vP;y.useImperativeHandle(E,()=>({focusTextarea:()=>dr.current?.focus({preventScroll:!0}),openFilePicker:()=>kn()}),[kn]);let xP=y.useCallback(Q=>{if(h||Q.pointerType==="mouse"&&Q.button!==0)return;let le=Q.target;le instanceof Element&&le.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(Q.preventDefault(),dr.current?.focus({preventScroll:!0}))},[h]),DP=y.useMemo(()=>({open:je,setOpen:fr,setValue:Nn,size:P,expandOn:m,minLines:d,maxLines:f,sendMode:x,disabled:h,readOnly:g,paste:_,clearOnSubmit:N,multiple:O,textareaRef:dr,attachments:$t,removeAttachment:Lp,submit:zp,appendFiles:In,appendFilesFromPaste:kp,openFilePicker:kn,beginFilePickerPress:Ap}),[je,fr,Nn,P,m,d,f,x,h,g,_,N,O,$t,Lp,zp,In,kp,kn,Ap]);return y.createElement(Xf.Provider,{value:DP},y.createElement(Tp.Provider,{value:re},y.createElement(y.Fragment,null,y.createElement("div",{...ee,ref:bo,className:(0,yt.default)("rt-ChatbarRoot",`rt-r-size-${P}`,o),style:{position:"relative",width:z,maxWidth:S,...r},"data-state":je?"open":"closed","data-disabled":h?"":void 0,"data-readonly":g?"":void 0,"data-drop-active":ys?"":void 0,"data-accent-color":w,"data-radius":M,"data-material":ie,onBlurCapture:hP},y.createElement("input",{ref:ur,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:bP}),V?y.createElement("div",{className:"rt-ChatbarNotices"},y.createElement(ds.Provider,{value:P},V)):null,y.createElement("div",{...B?CP():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:xP},y.createElement("div",{className:(0,yt.default)("rt-ChatbarBox",`rt-variant-${k??"raised"}`),style:{position:"relative"},"data-accent-color":w,"data-radius":M,"data-material":ie},y.createElement("div",{className:"rt-ChatbarGrid"},n),ys&&y.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},y.createElement("div",{className:"rt-ChatbarDropContent"},y.createElement(me,{emphasis:"medium",size:P,weight:"medium"},"Drop files here to attach"))))),X?y.createElement(me,{as:"div",size:P==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},X):null,y.createElement(no,{role:"status","aria-live":"polite"},ys?"Drop files here to attach.":y.createElement("span",{key:mr.id},mr.text))))))});Qf.displayName="Chatbar.Root";var Jf=y.forwardRef((e,t)=>{let{className:o,style:r,asChild:n,onFocus:a,onChange:s,onPaste:i,onKeyDown:l,onCompositionStart:p,onCompositionEnd:c,submitOnEnter:m=!1,...d}=e,f=Jt(),x=y.useContext(Tp),{open:h,minLines:g,maxLines:R,expandOn:P,disabled:k,readOnly:w,setOpen:M,setValue:F,textareaRef:z,paste:S,appendFilesFromPaste:b,size:L,submit:W,clearOnSubmit:D}=f,O=(0,Sp.useComposedRefs)(t,z),J=y.useRef(0),H=y.useRef(0),_=y.useRef(!1),Y=y.useRef({open:h,minLines:g,maxLines:R});xp(()=>{Y.current={open:h,minLines:g,maxLines:R}},[h,g,R]);let N=y.useCallback(()=>{let K=z.current;if(!K)return;let ge=window.getComputedStyle(K);J.current=parseFloat(ge.lineHeight)||20,H.current=(parseFloat(ge.paddingTop)||0)+(parseFloat(ge.paddingBottom)||0)},[z]),U=y.useCallback((K,ge)=>{let{minLines:Pe,maxLines:re}=Y.current,ae=J.current,ve=H.current,kt=Math.ceil((ge?Pe:1)*ae)+ve,je=Math.ceil((ge?re:1)*ae)+ve,eo=Math.max(K.scrollHeight,kt);K.style.height=`${Math.min(eo,je)}px`;let Wo=eo>je;K.style.overflowY=Wo?"auto":"hidden",K.style.maxHeight=Wo?`${je}px`:"none"},[]);xp(()=>{N()},[N,L]),xp(()=>{let K=z.current;K&&(J.current===0&&N(),qf(K,()=>{K.style.height="auto";let ge=h;if(!h&&(P==="overflow"||P==="both")){let Pe=Math.ceil(J.current)+H.current;K.scrollHeight>Pe+1&&(ge=!0,M(!0))}U(K,ge)}))},[x,h,P,g,R,L,M,z,N,U]),y.useEffect(()=>{let K=z.current;if(!K||typeof ResizeObserver>"u")return;let ge=-1,Pe=new ResizeObserver(re=>{let ae=re[0]?.contentRect.width??0;if(ae===ge)return;let ve=ge===-1;ge=ae,!ve&&(N(),qf(K,()=>{K.style.height="auto",U(K,Y.current.open)}))});return Pe.observe(K),()=>Pe.disconnect()},[z,N,U]),y.useEffect(()=>{},[]);let B=y.useCallback(K=>{a?.(K),!(k||w)&&(P==="focus"||P==="both")&&!h&&M(!0)},[k,w,P,h,M,a]),E=y.useCallback(K=>{F(K.currentTarget.value),s?.(K)},[F,s]),A=y.useCallback(K=>{if(i?.(K),K.defaultPrevented||!S||k||w)return;let ge=Array.from(K.clipboardData?.items??[]).filter(Pe=>Pe.kind==="file").map(Pe=>Pe.getAsFile()).filter(Pe=>!!Pe);ge.length!==0&&b(ge)>0&&K.preventDefault()},[S,k,w,i,b]),V=y.useCallback(K=>{_.current=!0,p?.(K)},[p]),X=y.useCallback(K=>{_.current=!1,c?.(K)},[c]),ee=y.useCallback(K=>{l?.(K),!(K.defaultPrevented||!m)&&(K.key!=="Enter"||K.shiftKey||K.altKey||K.ctrlKey||K.metaKey||_.current||K.nativeEvent.isComposing||K.nativeEvent.keyCode===229||(K.preventDefault(),W(D)))},[m,l,W,D]),ie=n?Le:"textarea";return y.createElement("div",{className:(0,yt.default)("rt-ChatbarField","rt-ChatbarTextarea",o)},y.createElement(ie,{...d,ref:O,className:"rt-ChatbarInput",value:x,onChange:E,onFocus:B,onPaste:A,onKeyDown:ee,onCompositionStart:V,onCompositionEnd:X,disabled:k,readOnly:w,rows:h?g:1,spellCheck:d.spellCheck??!0,autoCorrect:d.autoCorrect??"on",style:r}))});Jf.displayName="Chatbar.Textarea";var eP=y.forwardRef((e,t)=>{let{children:o,asChild:r,className:n,...a}=e;return Jt().open?null:y.createElement(r?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarInlineStart",n)},o)});eP.displayName="Chatbar.InlineStart";var tP=y.forwardRef((e,t)=>{let{children:o,asChild:r,className:n,...a}=e;return Jt().open?null:y.createElement(r?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarInlineEnd",n)},o)});tP.displayName="Chatbar.InlineEnd";var oP=y.forwardRef((e,t)=>{let{asChild:o,forceMount:r,renderAttachment:n,className:a,children:s,...i}=e,l=Jt(),p=y.Children.toArray(s).length>0;return l.attachments.length===0&&!p&&!r?null:y.createElement("div",null,y.createElement(o?Le:"div",{...i,ref:t,className:(0,yt.default)("rt-ChatbarAttachmentsRow",a),role:"list","aria-label":i["aria-label"]??"Attachments"},y.createElement(Qe,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},y.createElement(ye,{align:"center",gap:"2",minWidth:"fit-content"},l.attachments.map(m=>y.createElement(wp,{key:m.id,attachment:m,asChild:!!n},n?.(m))),s))))});oP.displayName="Chatbar.AttachmentsRow";function rP(e,t){let o=e.closest('[role="listitem"]'),r=o?.parentElement?Array.from(o.parentElement.children):[],n=o?r.indexOf(o):-1,s=(r[n+1]??r[n-1])?.querySelector(".rt-ChatbarItemRemove");s?s.focus():t.current?.focus({preventScroll:!0})}var nP=({lead:e,leadKind:t,label:o,detail:r,removeLabel:n,onRemove:a})=>{let s=Jt();return y.createElement(y.Fragment,null,y.createElement("span",{className:"rt-ChatbarItemLead","data-kind":t,"aria-hidden":!0},e),y.createElement(me,{className:"rt-ChatbarItemLabel",size:s.size,truncate:!0},o,r?y.createElement(no,null,", ",r):null),a&&y.createElement(Pt,{className:"rt-ChatbarItemRemove","aria-label":n,size:"1",variant:"ghost",color:"gray",onClick:a},y.createElement(Vs,null)))},qh={uploading:"uploading",error:"failed to upload"},wp=y.forwardRef((e,t)=>{let{attachment:o,asChild:r,className:n,children:a,...s}=e,i=Jt(),l=r?Le:"div",p=!!o.url&&Yf(o.name,o.type),c=`${Math.ceil(o.size/1024)} KB`,m=o.status?qh[o.status]:void 0,d=i.disabled||i.readOnly,f=h=>{rP(h.currentTarget,i.textareaRef),i.removeAttachment(o.id)},x=o.status==="uploading"?y.createElement(Mo,{size:"1"}):p?y.createElement("img",{className:"rt-ChatbarAttachmentImage",src:o.url,alt:""}):y.createElement(Hs,null);return y.createElement(l,{...s,ref:t,className:(0,yt.default)(a?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",n),role:"listitem","data-kind":p?"image":"file","data-status":o.status,title:o.name},a??y.createElement(nP,{lead:x,leadKind:p&&o.status!=="uploading"?"image":"icon",label:o.name,detail:m?`${c}, ${m}`:c,removeLabel:`Remove ${o.name}`,onRemove:d?void 0:f}))});wp.displayName="Chatbar.Attachment";var aP=y.forwardRef((e,t)=>{let{children:o,icon:r,image:n,color:a,onRemove:s,removeLabel:i,className:l,...p}=e,c=Jt(),m=c.disabled||c.readOnly,d=s?f=>{rP(f.currentTarget,c.textareaRef),s()}:void 0;return y.createElement("div",{...p,ref:t,className:(0,yt.default)("rt-ChatbarItem",l),role:"listitem","data-accent-color":n?void 0:a??"gray",title:o},y.createElement(nP,{lead:n?y.createElement("img",{className:"rt-ChatbarAttachmentImage",src:n,alt:""}):r,leadKind:n?"image":"icon",label:o,removeLabel:i??`Remove ${o}`,onRemove:m?void 0:d}))});aP.displayName="Chatbar.Item";var sP=y.forwardRef((e,t)=>{let{asChild:o,accept:r,multiple:n,disabled:a,onPointerDown:s,onClick:i,...l}=e,p=Jt(),c=a||p.disabled||p.readOnly;return y.createElement(o?Le:"button",{...l,ref:t,className:(0,yt.default)("rt-ChatbarAttachTrigger",l.className),type:l.type??"button","aria-label":l["aria-label"]??"Add attachments",disabled:c,onPointerDown:d=>{s?.(d),!c&&!d.defaultPrevented&&p.beginFilePickerPress()},onClick:d=>{i?.(d),!(c||d.defaultPrevented)&&p.openFilePicker({accept:r,multiple:n})}})});sP.displayName="Chatbar.AttachTrigger";var iP=y.forwardRef((e,t)=>{let{asChild:o,children:r,className:n,...a}=e;return Jt().open?y.createElement("div",null,y.createElement(o?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarRow",n)},y.createElement(ye,{align:"center",justify:"between",width:"100%"},r))):null});iP.displayName="Chatbar.Row";var pP=y.forwardRef((e,t)=>{let{className:o,...r}=e;return y.createElement("div",{...r,ref:t,className:(0,yt.default)("rt-ChatbarRowStart",o)})});pP.displayName="Chatbar.RowStart";var lP=y.forwardRef((e,t)=>{let{className:o,...r}=e;return y.createElement("div",{...r,ref:t,className:(0,yt.default)("rt-ChatbarRowEnd",o)})});lP.displayName="Chatbar.RowEnd";var cP=y.forwardRef((e,t)=>{let{asChild:o,clearOnSend:r,disabled:n,children:a,style:s,className:i,size:l,variant:p,emphasis:c,tabIndex:m,onClick:d,status:f="ready",onStop:x,onRetry:h,stopLabel:g="Stop",retryLabel:R="Retry",stopIcon:P,retryIcon:k,"aria-label":w,"aria-labelledby":M,...F}=e,z=Jt(),S=y.useContext(Tp),b=Dp(S)||z.attachments.length>0,W=b?"send":f==="submitted"||f==="streaming"?"stop":f==="error"?"retry":"send";if(z.sendMode==="never"&&W==="send")return null;let D=W!=="send"||z.sendMode==="always"||b,O=W==="send"?n||z.disabled||z.readOnly||!b:n||z.disabled,H=W==="stop"?{"aria-label":g}:W==="retry"?{"aria-label":R}:M?{"aria-labelledby":M}:{"aria-label":w??"Send"},_=N=>{if(d?.(N),N.defaultPrevented||O)return;if(W==="stop"){x?.();return}if(W==="retry"){h?.();return}let U=r??z.clearOnSubmit;z.submit(U)&&U&&z.textareaRef.current?.focus({preventScroll:!0})},Y=W==="stop"?P??(f==="submitted"?y.createElement(Mo,{size:z.size}):y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},y.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):W==="retry"?k??y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},y.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),y.createElement("path",{d:"M3 3v5h5"})):a??y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},y.createElement("path",{d:"M5 12h14"}),y.createElement("path",{d:"m12 5 7 7-7 7"}));return y.createElement(Pt,{...F,ref:t,size:l??z.size,...c?{emphasis:c}:{variant:p??(z.open||W!=="send"?"solid":"ghost")},disabled:O,className:(0,yt.default)("rt-ChatbarSend",i),style:{opacity:D?1:0,pointerEvents:D?void 0:"none",...s},"aria-hidden":D?void 0:!0,tabIndex:D?m:-1,asChild:o,onClick:_,"data-status":f,"data-mode":W,...H},Y)});cP.displayName="Chatbar.Send";var Np={};De(Np,{Button:()=>gP,Content:()=>fP,Item:()=>PP,Root:()=>dP,Viewport:()=>uP,useMessageScroller:()=>xt.useMessageScroller,useMessageScrollerScrollable:()=>xt.useMessageScrollerScrollable,useMessageScrollerVisibility:()=>xt.useMessageScrollerVisibility});var at=u(require("react")),_r=u(require("classnames")),xt=require("@shadcn/react/message-scroller"),mP=require("radix-ui/internal");var dP=at.forwardRef(({autoScroll:e=!0,defaultScrollPosition:t="end",scrollEdgeThreshold:o,scrollMargin:r,className:n,children:a,...s},i)=>at.createElement(xt.MessageScroller.Provider,{autoScroll:e,defaultScrollPosition:t,...o!=null?{scrollEdgeThreshold:o}:{},...r!=null?{scrollMargin:r}:{}},at.createElement(xt.MessageScroller.Root,{...s,ref:i,className:(0,_r.default)("rt-MessageScrollerRoot",n)},a)));dP.displayName="MessageScroller.Root";var uP=at.forwardRef(({className:e,"aria-label":t,fade:o=!0,...r},n)=>{let a=ua(o),s=(0,mP.useComposedRefs)(n,a);return at.createElement(xt.MessageScroller.Viewport,{"aria-label":t??"",...r,ref:s,"data-fade":o?"":void 0,className:(0,_r.default)("rt-MessageScrollerViewport",e)})});uP.displayName="MessageScroller.Viewport";var fP=at.forwardRef(({className:e,...t},o)=>at.createElement(xt.MessageScroller.Content,{...t,ref:o,className:(0,_r.default)("rt-MessageScrollerContent",e)}));fP.displayName="MessageScroller.Content";var PP=at.forwardRef(({className:e,...t},o)=>at.createElement(xt.MessageScroller.Item,{...t,ref:o,className:(0,_r.default)("rt-MessageScrollerItem",e)}));PP.displayName="MessageScroller.Item";var gP=at.forwardRef(({direction:e="end",behavior:t,className:o,children:r,size:n="2",variant:a="surface",emphasis:s,color:i="gray",radius:l="full","aria-label":p,...c},m)=>at.createElement(xt.MessageScroller.Button,{direction:e,...t?{behavior:t}:{},render:at.createElement(Pt,{...c,ref:m,size:n,...s?{emphasis:s}:{variant:a},color:i,radius:l,"aria-label":p??(e==="end"?"Jump to the latest":"Jump to the first"),className:(0,_r.default)("rt-MessageScrollerButton",o),"data-direction":e},r??at.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:e==="start"?{transform:"rotate(180deg)"}:void 0},at.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));gP.displayName="MessageScroller.Button";
23
+ `,document.body.appendChild(o)),Yi++,()=>{if(Yi--,e.current&&clearTimeout(e.current),Yi===0){let r=document.getElementById("rt-live-announcer");r&&r.remove()}}},[]),Or.useCallback(o=>{let r=document.getElementById("rt-live-announcer");r&&(e.current&&clearTimeout(e.current),r.textContent="",e.current=setTimeout(()=>{r.textContent=o},100))},[])}function ju({pressed:e,onPressedChange:t,getAccessibleName:o,componentName:r}){let n=Wu(),a=Gr.useRef(!1),s=Gr.useCallback(i=>{let l=o();n(`${l} ${i?"pressed":"unpressed"}`),t?.(i)},[n,t,o]);return Gr.useEffect(()=>{},[e,t,r]),{handlePressedChange:s}}var vn=Ct.forwardRef(({pressed:e,onPressedChange:t,defaultPressed:o,children:r,...n},a)=>{let{"aria-label":s,"aria-labelledby":i,iconOnly:l}=n,p=Ct.useRef(null);Ct.useEffect(()=>{p.current=null},[i]);let c=Ct.useCallback(()=>s||(i?(p.current===null&&(p.current=document.getElementById(i)?.textContent||"Toggle button"),p.current):typeof r=="string"?r:Ct.isValidElement(r)&&typeof r.props?.children=="string"?r.props.children:"Toggle button"),[s,i,r]),{handlePressedChange:m}=ju({pressed:e,onPressedChange:t,getAccessibleName:c,componentName:l?"ToggleIconButton":"ToggleButton"});return Ct.createElement(Fu.Toggle.Root,{pressed:e,onPressedChange:m,defaultPressed:o,asChild:!0},Ct.createElement(dt,{...n,ref:a},r))});vn.displayName="ToggleButton";var Wa=u(require("react")),pN=require("radix-ui");var Qi=Wa.forwardRef((e,t)=>Wa.createElement(vn,{...e,iconOnly:!0,ref:t}));Qi.displayName="ToggleIconButton";var Ne=u(require("react")),xn=u(require("classnames")),Fa=require("radix-ui");var vh=["1","2","3","4"],xh=["horizontal","vertical"],ja={size:{type:"enum",className:"rt-r-size",values:vh,default:"2"},orientation:{type:"enum",values:xh,default:"horizontal"}};var Ku=Ne.createContext(null),$u=Ne.createContext(null);function Ka(e){let t=Ne.useContext(Ku);if(!t)throw new Error(`${e} must be rendered inside a Toolbar.`);return t}var Ji=Ne.forwardRef((e,t)=>{let o=e.size??ja.size.default,r=e.orientation??ja.orientation.default,{className:n,orientation:a,backdrop:s=!1,children:i,...l}=C(e,ja,j),p=Ne.useMemo(()=>({size:o,orientation:r,backdrop:s}),[o,r,s]);return Ne.createElement(Fa.Toolbar.Root,{...l,ref:t,orientation:r,"data-backdrop":s||void 0,className:(0,xn.default)("rt-Toolbar",n)},Ne.createElement(Ku.Provider,{value:p},i))});Ji.displayName="Toolbar";var $a=Ne.forwardRef(({className:e,disabled:t=!1,children:o,...r},n)=>{let{orientation:a}=Ka("ToolbarGroup"),s=Ne.useMemo(()=>({disabled:t}),[t]);return Ne.createElement("div",{role:"group","data-orientation":a,"data-disabled":t||void 0,...r,ref:n,className:(0,xn.default)("rt-ToolbarGroup",e)},Ne.createElement($u.Provider,{value:s},o))});$a.displayName="Toolbar.Group";function Dh(e){return e===!0||e==="true"}var _a=Ne.forwardRef((e,t)=>{let o=Ka("ToolbarButton"),r=Ne.useContext($u),{iconOnly:n,size:a,variant:s,emphasis:i,color:l,disabled:p,...c}=e,m=Dh(e["aria-pressed"]),d="data-state"in e||e["aria-pressed"]===void 0?{}:{"data-state":m?"on":"off"},f={size:a??o.size,...i!==void 0?{emphasis:i}:{variant:s??(r?"ghost":o.backdrop?"raised":"soft")},color:l??(s||i?void 0:"gray"),...d};return Ne.createElement(Fa.Toolbar.Button,{asChild:!0,ref:t,disabled:p||r?.disabled||void 0},n?Ne.createElement(Pt,{...c,...f}):Ne.createElement(dt,{...c,...f}))});_a.displayName="Toolbar.Button";var qa=Ne.forwardRef(({className:e,...t},o)=>(Ka("ToolbarSeparator"),Ne.createElement(Fa.Toolbar.Separator,{...t,ref:o,className:(0,xn.default)("rt-ToolbarSeparator",e)})));qa.displayName="Toolbar.Separator";var Sh={1:"2",2:"3",3:"4",4:"5"},Ua=Ne.forwardRef(({className:e,children:t,style:o,id:r},n)=>{let{size:a}=Ka("ToolbarTitle");return t==null||t===!1?null:Ne.createElement(me,{ref:n,as:"span",size:Sh[a],weight:"medium",truncate:!0,id:r,style:o,className:(0,xn.default)("rt-ToolbarTitle",e)},t)});Ua.displayName="Toolbar.Title";var _u=Object.assign(Ji,{Root:Ji,Group:$a,Button:_a,Separator:qa,Title:Ua});var sp={};De(sp,{Group:()=>of,GroupContent:()=>nf,GroupLabel:()=>rf,Menu:()=>Xu,MenuButton:()=>Qu,MenuItem:()=>Yu,MenuSub:()=>Ju,MenuSubContent:()=>tf,MenuSubTrigger:()=>ef,Search:()=>af,Separator:()=>Zu});var v=u(require("react")),nt=u(require("classnames"));var Yt=u(require("@radix-ui/react-accordion"));var _e=u(require("react")),Za=u(require("classnames"));var qu=_e.createContext(null);function Wr(){return _e.useContext(qu)}var Xa=_e.createContext("2");function Dn({children:e,presentation:t}){let o=_e.useContext(Xa),r=_e.useMemo(()=>({size:o,menuVariant:"soft",presentation:t}),[o,t]);return _e.createElement(qu.Provider,{value:r},e)}function ep(){let e=Wr(),t=e?.size??"2",o=e?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${t}`,`rt-menu-variant-${o}`]}var tp=_e.forwardRef(({className:e,float:t,...o},r)=>{let n=ep();return _e.createElement("div",{...o,ref:r,"data-float":t||void 0,className:(0,Za.default)("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...n,e)})});tp.displayName="Shell.PaneHeader";var op=_e.forwardRef(({className:e,float:t,...o},r)=>{let n=ep();return _e.createElement("div",{...o,ref:r,"data-float":t||void 0,className:(0,Za.default)("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...n,e)})});op.displayName="Shell.PaneFooter";var rp=_e.forwardRef(({className:e,children:t,fade:o=!1,...r},n)=>{let a=ep();return _e.createElement(Qe,{type:"hover",fade:o,className:"rt-ShellScroll"},_e.createElement("div",{...r,ref:n,className:(0,Za.default)("rt-BaseMenuContent","rt-SidebarContent",...a,e)},_e.createElement("div",{className:"rt-BaseMenuViewport"},t)))});rp.displayName="Shell.Scroll";var Zu=v.forwardRef(({className:e,...t},o)=>v.createElement(gn,{...t,ref:o,className:(0,nt.default)("rt-SidebarSeparator",e)}));Zu.displayName="Sidebar.Separator";var Xu=v.forwardRef(({className:e,...t},o)=>v.createElement("ul",{...t,ref:o,className:(0,nt.default)("rt-SidebarMenu",e)}));Xu.displayName="Sidebar.Menu";var Yu=v.forwardRef(({className:e,...t},o)=>v.createElement("li",{...t,ref:o,className:(0,nt.default)("rt-SidebarMenuItem",e)}));Yu.displayName="Sidebar.MenuItem";function Th(e){let t=[],o=[];return v.Children.forEach(e,r=>{if(typeof r=="string"||typeof r=="number")o.push(v.createElement("span",{key:o.length,className:"rt-SidebarMenuLabel"},r));else if(v.isValidElement(r)){let n=r;n.type==="svg"||n.props&&n.props.icon||typeof n.type=="function"&&(n.type.displayName?.includes("Icon")||n.type.name?.includes("Icon"))?t.push(r):o.push(r)}else r&&o.push(r)}),{icons:t,labels:o}}function ap(e){if(typeof e=="string"||typeof e=="number")return v.createElement("span",{className:"rt-SidebarMenuLabel"},e);if(Array.isArray(e))return e.map((t,o)=>v.createElement(v.Fragment,{key:o},ap(t)));if(v.isValidElement(e)){let t=e,o=t.props&&t.props.className||"";if(typeof t.type=="string"&&o.split(" ").includes("rt-SidebarMenuLabel"))return t;let n=ap(t.props?.children);return v.cloneElement(t,{...t.props},n)}return e}var Qu=v.forwardRef(({asChild:e=!1,isActive:t=!1,shortcut:o,badge:r,className:n,children:a,onKeyDown:s,...i},l)=>{let p=Wr(),c=p?.size??"2",m=p?.presentation==="thin",d=e?Le:"button",f=v.useCallback(P=>{if(P.key==="ArrowDown"||P.key==="ArrowUp"){let k=P.currentTarget.closest(".rt-SidebarContent, .rt-SidebarSearchPopover"),w=k?Array.from(k.querySelectorAll(".rt-SidebarMenuButton")).filter(z=>z.offsetParent!==null):[],M=w.indexOf(P.currentTarget),F=w[M+(P.key==="ArrowDown"?1:-1)];M!==-1&&F&&(P.preventDefault(),F.focus())}s?.(P)},[s]),x=v.useMemo(()=>ap(a),[a]),{icons:h,labels:g}=v.useMemo(()=>m?Th(a):{icons:[],labels:[]},[m,a]),R=v.useMemo(()=>{if(!e)return null;try{let P=v.Children.only(x),k=P.props?.children,w=v.createElement(v.Fragment,null,k,r&&v.createElement("div",{className:"rt-SidebarMenuBadge"},typeof r=="string"?v.createElement(To,{size:c,variant:"soft"},r):v.createElement(To,{size:r.size||c,variant:r.variant||"soft",color:r.color,radius:r.radius},r.content)),o&&v.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},v.createElement(Zt,{size:c},o)));return v.cloneElement(P,{...P.props},w)}catch{return x}},[e,x,r,o,c]);return v.createElement(d,{...i,ref:l,"aria-current":t?"page":void 0,className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",n),"data-active":t||void 0,onKeyDown:f},e?R:m&&h.length>0?v.createElement(v.Fragment,null,v.createElement("span",{className:"rt-SidebarMenuIconWrapper"},h),g.map((P,k)=>v.createElement(v.Fragment,{key:k},typeof P=="string"||typeof P=="number"?v.createElement("span",{className:"rt-SidebarMenuLabel"},P):P))):v.createElement(v.Fragment,null,x,r&&v.createElement("div",{className:"rt-SidebarMenuBadge"},typeof r=="string"?v.createElement(To,{size:c,variant:"soft"},r):v.createElement(To,{size:r.size||c,variant:r.variant||"soft",color:r.color,radius:r.radius},r.content)),o&&v.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},v.createElement(Zt,{size:c},o))))});Qu.displayName="Sidebar.MenuButton";var Ya=v.createContext("accordion"),Ju=v.forwardRef(({defaultOpen:e=!1,children:t,...o},r)=>(Wr()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?v.createElement("div",{...o,ref:r},v.createElement(ha,null,v.createElement(Ya.Provider,{value:"dropdown"},t))):v.createElement("div",{...o,ref:r},v.createElement(Ya.Provider,{value:"accordion"},v.createElement(Yt.Root,{type:"single",collapsible:!0,defaultValue:e?"item":void 0},v.createElement(Yt.Item,{value:"item"},t)))));Ju.displayName="Sidebar.MenuSub";var ef=v.forwardRef(({asChild:e=!1,className:t,children:o,...r},n)=>v.useContext(Ya)==="dropdown"?v.createElement(Ra,null,v.createElement("button",{...r,ref:n,type:"button","aria-haspopup":"menu",className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},o)):v.createElement(Yt.Header,{asChild:!0},v.createElement("div",null,v.createElement(Yt.Trigger,{...r,ref:n,asChild:e,className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},e?o:v.createElement(v.Fragment,null,o,v.createElement(Ut,{className:(0,nt.default)("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")}))))));ef.displayName="Sidebar.MenuSubTrigger";var tf=v.forwardRef(({className:e,children:t,...o},r)=>{let n=Wr();if(v.useContext(Ya)==="dropdown"){let s=p=>{if(Array.isArray(p))return p.map((c,m)=>v.createElement(v.Fragment,{key:m},s(c)));if(v.isValidElement(p)){if(p.type?.displayName==="Sidebar.MenuButton")return p.props?.children;let m=p.props?.children;if(m!==void 0)return v.cloneElement(p,{...p.props,children:s(m)})}return p},i=v.Children.map(t,(p,c)=>{if(v.isValidElement(p)&&p.type?.displayName==="Sidebar.MenuItem"){let m=p.props?.children,d=s(m);return v.createElement(pn,{key:c,asChild:!0},d)}return v.createElement(pn,{key:c,asChild:!0},s(p))}),l=n?.size==="3"?"2":n?.size;return v.createElement(Ca,{size:l,className:(0,nt.default)(e)},v.createElement(va,null,i))}return v.createElement(Yt.Content,{...o,ref:r,className:(0,nt.default)("rt-SidebarMenuSubContent",e)},v.createElement("div",{className:"rt-SidebarMenuSubList"},t))});tf.displayName="Sidebar.MenuSubContent";var of=v.forwardRef(({className:e,...t},o)=>v.createElement("div",{...t,ref:o,className:(0,nt.default)("rt-BaseMenuGroup","rt-SidebarGroup",e)}));of.displayName="Sidebar.Group";var rf=v.forwardRef(({asChild:e=!1,className:t,...o},r)=>v.createElement(e?Le:"div",{...o,ref:r,className:(0,nt.default)("rt-BaseMenuLabel","rt-SidebarGroupLabel",t)}));rf.displayName="Sidebar.GroupLabel";var nf=v.forwardRef(({className:e,...t},o)=>v.createElement("div",{...t,ref:o,className:(0,nt.default)("rt-SidebarGroupContent",e)}));nf.displayName="Sidebar.GroupContent";var np=({className:e})=>v.createElement("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},v.createElement("circle",{cx:"11",cy:"11",r:"8"}),v.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),Uu=({className:e})=>v.createElement("svg",{className:e,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},v.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),v.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),af=v.forwardRef(({value:e,onValueChange:t,placeholder:o="Search...",children:r,className:n,...a},s)=>{let i=Wr(),l=i?.presentation==="thin",p=v.useRef(null),c=v.useRef(null),d=`${v.useId()}-results`,f=v.useRef(e);f.current=e;let x=v.useRef(t);x.current=t;let h=o.replace(/\.+$/,""),g=v.useCallback(P=>{P.key==="Escape"&&f.current&&(P.preventDefault(),P.stopPropagation(),x.current(""),p.current?.focus())},[]),R=v.useCallback(P=>{let k=c.current;if(!k)return;let w=k.querySelector('[role="group"]');if(!w)return;let M=Array.from(w.querySelectorAll("a, button"));if(M.length===0)return;let F=document.activeElement,z=F===p.current,S=M.indexOf(F);if(P.key.length===1&&!P.ctrlKey&&!P.metaKey&&!P.altKey&&!z&&S!==-1){p.current?.focus();return}switch(P.key){case"ArrowDown":{P.preventDefault(),z||S===-1?M[0]?.focus():S<M.length-1&&M[S+1]?.focus();break}case"ArrowUp":{P.preventDefault(),S<=0?p.current?.focus():M[S-1]?.focus();break}case"Home":{z||(P.preventDefault(),M[0]?.focus());break}case"End":{z||(P.preventDefault(),M[M.length-1]?.focus());break}}},[]);return l?v.createElement("div",{...a,ref:s,className:(0,nt.default)("rt-SidebarSearch","rt-SidebarSearch--thin",n)},v.createElement(Lo,null,v.createElement(zo,null,v.createElement("button",{type:"button",className:(0,nt.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarSearchTrigger"),"aria-label":h},v.createElement("span",{className:"rt-SidebarMenuIconWrapper"},v.createElement(np,null)),v.createElement("span",{className:"rt-SidebarMenuLabel"},"Search"))),v.createElement(zr,{side:"right",align:"start",size:"2",width:"280px","aria-label":h},v.createElement("div",{ref:c,className:"rt-SidebarSearchPopover",role:"search",onKeyDown:R},v.createElement("div",{className:"rt-SidebarSearchInputWrapper"},v.createElement(np,{className:"rt-SidebarSearchIcon"}),v.createElement("input",{ref:p,type:"search",className:"rt-SidebarSearchInput",value:e,onChange:P=>t(P.target.value),onKeyDown:g,placeholder:o,"aria-label":h,"aria-controls":r?d:void 0,autoFocus:!0}),e&&v.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),p.current?.focus()},"aria-label":"Clear search"},v.createElement(Uu,null))),r&&v.createElement("div",{id:d,role:"group","aria-label":"Search results"},r))))):v.createElement("div",{...a,ref:s,className:(0,nt.default)("rt-SidebarSearch","rt-SidebarSearch--expanded","rt-ShellPaneChrome",`rt-r-size-${i?.size??"2"}`,n),role:"search"},v.createElement("div",{className:"rt-SidebarSearchInputWrapper"},v.createElement(np,{className:"rt-SidebarSearchIcon"}),v.createElement("input",{ref:p,type:"search",className:"rt-SidebarSearchInput",value:e,onChange:P=>t(P.target.value),onKeyDown:g,placeholder:o,"aria-label":h}),e&&v.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),p.current?.focus()},"aria-label":"Clear search"},v.createElement(Uu,null))))});af.displayName="Sidebar.Search";var bp={};De(bp,{Bottom:()=>is,Content:()=>Bf,Header:()=>Lf,Inspector:()=>ps,Left:()=>zf,PaneFooter:()=>op,PaneHeader:()=>tp,Panel:()=>yp,Rail:()=>Af,Root:()=>kf,Scroll:()=>rp,Sidebar:()=>ss,Trigger:()=>Vf,useResponsivePresentation:()=>Nf,useShell:()=>wf,useSidebarMode:()=>Tf});var q=u(require("react")),cr=u(require("classnames")),ms=require("radix-ui/internal");var Qa=u(require("react")),mo=Qa.createContext(null);function sf(){let e=Qa.useContext(mo);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var Ae=u(require("react")),pf=u(require("classnames"));var vt=Ae.forwardRef(({className:e,children:t,...o},r)=>{let{containerRef:n,controls:a,cssVarName:s,minSize:i,maxSize:l,defaultSize:p,orientation:c,edge:m,growth:d,onResize:f,onResizeStart:x,onResizeEnd:h,snapPoints:g,snapTolerance:R,collapseThreshold:P,collapsible:k,target:w,requestCollapse:M,requestToggle:F}=sf(),z=Ae.useRef(null),S=Ae.useCallback(H=>{z.current=H,typeof r=="function"?r(H):r&&(r.current=H)},[r]),b=Ae.useRef(null);Ae.useEffect(()=>()=>{b.current?.(),b.current=null},[]);let L=Ae.useCallback(()=>{let H=n.current;if(!H)return p;let _=Number.parseFloat(getComputedStyle(H).getPropertyValue(s));return Number.isFinite(_)?_:p},[n,s,p]),W=Ae.useCallback(()=>{let H=n.current,_=z.current,Y=H?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!H||!Y||!_)return l;let N=H.getBoundingClientRect(),U=_.getBoundingClientRect(),B=d(getComputedStyle(H).direction==="rtl"),E;c==="vertical"?E=B>0?Y.right-N.left:N.right-Y.left:E=B>0?Y.bottom-N.top:N.bottom-Y.top;let A=c==="vertical"?U.width:U.height;return!(Y.width>0&&Y.height>0)||!Number.isFinite(E)?l:Math.max(i,Math.min(l,Math.round(E-A)))},[n,d,l,i,c]),D=()=>{z.current?.setAttribute("aria-valuemax",String(W()))};Ae.useLayoutEffect(()=>{z.current?.setAttribute("aria-valuenow",String(Math.round(L())))},[L]);let O=(H,_)=>{H.style.setProperty(s,`${_}px`),z.current?.setAttribute("aria-valuenow",String(Math.round(_)))},J=w.charAt(0).toUpperCase()+w.slice(1);return Ae.createElement("div",{ref:S,className:(0,pf.default)("rt-ShellResizer",e),"data-orientation":c,"data-edge":m,role:"separator",tabIndex:0,"aria-label":`Resize ${J} pane`,"aria-controls":a,"aria-orientation":c,"aria-valuemin":i,"aria-valuemax":l,...o,onPointerDown:H=>{o.onPointerDown?.(H);let _=n.current;if(!_||H.defaultPrevented||H.button!==0)return;H.preventDefault();let Y=H.currentTarget,N=H.pointerId;b.current?.();try{Y.setPointerCapture(N)}catch{}let U=getComputedStyle(_),B=Number.parseFloat(U.getPropertyValue(s)),E=Number.isFinite(B)?B:p,A=c==="vertical"?H.clientX:H.clientY,V=d(U.direction==="rtl"),X=W();Y.setAttribute("aria-valuemax",String(X));let ee=We=>Math.min(Math.max(We,i),X);_.setAttribute("data-resizing",""),Y.setAttribute("data-dragging","");let ie=document.body,K=ie.style.cursor,ge=ie.style.userSelect;ie.style.cursor=c==="vertical"?"col-resize":"row-resize",ie.style.userSelect="none",x?.(E);let Pe=E,re=E,ae=0,ve=null,kt=()=>{if(ae=0,ve===null)return;let We=ve;ve=null,f?.(We)},je=null,eo=!1,Wo=(We,bo)=>{if(We.type===bo)eo=!0;else if(eo)return!1;return!0},Dt=We=>{if(!Wo(We,"pointermove")||We===je)return;je=We;let bo=c==="vertical"?We.clientX:We.clientY;re=E+(bo-A)*V,Pe=ee(re),O(_,Pe),ve=Pe,ae||(ae=requestAnimationFrame(kt))},$t=()=>{ae&&cancelAnimationFrame(ae),ae=0;try{Y.releasePointerCapture(N)}catch{}window.removeEventListener("pointermove",Dt),document.removeEventListener("pointermove",Dt),window.removeEventListener("mousemove",Dt),document.removeEventListener("mousemove",Dt),Y.removeEventListener("pointermove",Dt),window.removeEventListener("pointerup",Je),document.removeEventListener("pointerup",Je),window.removeEventListener("mouseup",Je),document.removeEventListener("mouseup",Je),window.removeEventListener("pointercancel",Je),document.removeEventListener("pointercancel",Je),window.removeEventListener("keydown",yo),Y.removeEventListener("lostpointercapture",Je),_.removeAttribute("data-resizing"),Y.removeAttribute("data-dragging"),ie.style.cursor=K,ie.style.userSelect=ge,b.current=null},mr=!1,Je=()=>{if(mr)return;if(mr=!0,ae&&cancelAnimationFrame(ae),kt(),k&&typeof P=="number"&&re<=P){O(_,E),f?.(E),$t(),M?.(),h?.(E);return}let We=Pe;if(g&&g.length){let bo=g.reduce((dr,ur)=>Math.abs(ur-Pe)<Math.abs(dr-Pe)?ur:dr,g[0]);Math.abs(bo-Pe)<=R&&(We=ee(bo),O(_,We),f?.(We))}h?.(We),$t()},yo=We=>{We.key==="Escape"&&(ae&&cancelAnimationFrame(ae),ae=0,ve=null,O(_,E),f?.(E),mr=!0,h?.(E),$t())};window.addEventListener("pointermove",Dt),document.addEventListener("pointermove",Dt),window.addEventListener("mousemove",Dt),document.addEventListener("mousemove",Dt),Y.addEventListener("pointermove",Dt),window.addEventListener("pointerup",Je),document.addEventListener("pointerup",Je),window.addEventListener("mouseup",Je),document.addEventListener("mouseup",Je),window.addEventListener("pointercancel",Je),document.addEventListener("pointercancel",Je),window.addEventListener("keydown",yo),Y.addEventListener("lostpointercapture",Je),b.current=$t},onDoubleClick:H=>{o.onDoubleClick?.(H),!H.defaultPrevented&&k&&F?.()},onFocus:H=>{o.onFocus?.(H),D()},onKeyDown:H=>{o.onKeyDown?.(H);let _=n.current;if(!_||H.defaultPrevented)return;let Y=L(),N=W(),U=E=>Math.min(Math.max(E,i),N),B;if(H.key==="Home")B=U(i);else if(H.key==="End")B=U(N);else{let E=c==="vertical"?H.key==="ArrowRight"?1:H.key==="ArrowLeft"?-1:0:H.key==="ArrowDown"?1:H.key==="ArrowUp"?-1:0;if(E===0)return;let A=H.shiftKey?32:8;B=U(Y+E*A*d(getComputedStyle(_).direction==="rtl"))}H.preventDefault(),x?.(Y),O(_,B),f?.(B),h?.(B)}},t)});vt.displayName="Shell.Handle";var Ja=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));Ja.displayName="Shell.Panel.Handle";var es=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));es.displayName="Shell.Sidebar.Handle";var ts=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));ts.displayName="Shell.Inspector.Handle";var os=Ae.forwardRef((e,t)=>Ae.createElement(vt,{...e,ref:t}));os.displayName="Shell.Bottom.Handle";var It=u(require("react")),yf=u(require("classnames")),bf=require("radix-ui/internal");var Ce=u(require("react"));var lt=u(require("react"));function lf(e){return typeof e=="object"&&e!==null}function pr(e,t){let o={},r=null;for(let n of ia){if(e!==void 0&&!lf(e)){o[n]=e;continue}let a=lf(e)?e[n]:void 0;a!==void 0&&(r={value:a}),o[n]=r?r.value:t(n)}return o}function jr(e){let t=e.initial;return ia.every(o=>e[o]===t)?t:void 0}function ip(e,t){let o=jr(t);if(o!==void 0)return{[`data-${e}`]:o};let r={};for(let n of ia)r[`data-${e}-${n}`]=t[n];return r}function pp(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var lp=pr("fixed",()=>"fixed");function cf(){return{entries:new Map,listeners:new Set,version:0,peek:null}}function rs(e){e.version+=1;for(let t of e.listeners)t()}function lr(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}function Fr(e,t){e.peek!==t&&(e.peek=t,rs(e))}var cp=lt.createContext(null);function Vo(e){let t=lt.useContext(cp);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function mp(e,t){let o=lt.useCallback(n=>lr(e,n),[e]),r=lt.useCallback(()=>e.entries.get(t),[e,t]);return lt.useSyncExternalStore(o,r,()=>{})}function mf(e,t){let o=lt.useCallback(r=>lr(e,r),[e]);return lt.useSyncExternalStore(o,()=>e.peek===t,()=>!1)}var dp=lt.createContext(null);function Qt(e,t){let o=lt.useContext(dp);if(!o)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:n}=o;lt.useLayoutEffect(()=>{if(t)return r(e),()=>n(e)},[e,t,r,n])}var up=e=>typeof e=="object"&&e!==null;function wh(e){for(let t of["initial","xs","sm","md","lg","xl"]){let o=e[t];if(o!==void 0)return o}return"closed"}function uo(e){let{name:t,label:o,propNames:r,presentationTable:n,builtIn:a}=e,s=Vo(`Shell.${o}`),i=Ce.useId(),l=e.id??`shell-${t}${i}`,p=e.controlled!==void 0,c=up(e.controlled);c&&(`${o}${r.controlled}${r.default}`,void 0);let m=c?e.controlled:void 0,d=m??(up(e.defaultValue)?e.defaultValue:void 0),f=pp(d),[x,h]=Ce.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),g=Ce.useMemo(()=>m?pr(m,()=>wh(m)):pr(d,V=>a(n[V])),[f,c,n,a]),R=x;p&&(R=m?"auto":e.controlled);let P=jr(n)===void 0||R==="auto"&&jr(g)===void 0,{breakpoint:k,ready:w}=No(P),M=V=>{let X=jr(V);return X!==void 0?X:w?V[k]:void 0},F=R==="auto"?M(g):R,z=M(n),S=z==="overlay",b=F===void 0?void 0:F!=="closed",L=b===!0&&S,W=e.defaultValue,D=Ce.useRef({state:R,value:F,autoTable:g,defaultValue:W,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext});Ce.useLayoutEffect(()=>{D.current={state:R,value:F,autoTable:g,defaultValue:W,controlled:p,onChange:e.onChange,toggleNext:e.toggleNext}});let O=Ce.useCallback(()=>{let V=D.current;return V.value!==void 0?V.value:V.state==="auto"?V.autoTable[Bt()]:void 0},[]),J=Ce.useCallback(()=>{let V=D.current;return typeof V.defaultValue=="string"?V.defaultValue:up(V.defaultValue)?V.autoTable[Bt()]:void 0},[]),H=Ce.useCallback((V,X)=>{let ee=D.current;O()!==V&&(ee.onChange?.(V,X),ee.controlled||h(V))},[O]),_=Ce.useCallback(V=>{let X=D.current,ee=O()??"closed",ie=X.toggleNext?X.toggleNext(ee,J()):ee==="closed"?"open":"closed";H(ie,V)},[H,O,J]),Y=Ce.useRef(null),N=Ce.useCallback(V=>{Y.current=V},[]);Ce.useLayoutEffect(()=>{let V={name:t,id:l,el:Y.current,value:F,presentation:z,presentationTable:n,overlayLive:L,size:e.size,setValue:H,toggle:_};return s.entries.set(t,V),rs(s),()=>{s.entries.get(t)===V&&(s.entries.delete(t),rs(s))}},[s,t,l,F,z,n,L,e.size,H,_]);let U=Ce.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});Ce.useLayoutEffect(()=>{U.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let B=Ce.useRef({state:R,shown:b});Ce.useEffect(()=>{let V=B.current;V.state!==R&&V.shown!==void 0&&b!==void 0&&V.shown!==b&&(b?U.current.onExpand?.():U.current.onCollapse?.()),B.current={state:R,shown:b}},[R,b]),Ce.useLayoutEffect(()=>{},[]);let E=Ce.useRef(p);Ce.useEffect(()=>{},[p,o,r.controlled]);let A=mf(s,t)&&b===!1&&!S;return{store:s,id:l,state:R,value:F,shown:b,presentation:z,overlaying:S,overlayLive:L,peeking:A,ready:w,breakpoint:k,autoTable:g,setValue:H,toggle:_,defaultHereNow:J,setElement:N}}function fo(e,t){let{state:o,value:r,presentation:n,shown:a}=e;return{...t,"data-state":o,...o==="auto"?ip("auto",e.autoTable):{},"data-presentation":n,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":n==="stacked"&&a?"":void 0,"data-peek":e.peeking?"":void 0}}function Po(e,t){let o=pp(e),r=Ce.useMemo(()=>pr(e,()=>t),[o,t]),n=Ce.useMemo(()=>jr(r)===void 0?ip("presentation",r):{},[r]);return{table:r,attributes:n}}var be=u(require("react"));function df(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let o=String(e).trim();if(!o)return;if(o.endsWith("px"))return Number.parseFloat(o);if(o.endsWith("rem")){let n=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(o)*n}if(o.endsWith("%")){let n=Number.parseFloat(o),a=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return n/100*a}let r=Number.parseFloat(o);return Number.isFinite(r)?r:void 0}var fp=(e,t,o)=>Math.max(t??e,Math.min(o??e,e));function Ho(e){let{name:t,elementRef:o,cssVarName:r,orientation:n,minSize:a,maxSize:s,resizable:i,size:l,defaultSize:p,paneId:c,persistence:m}=e,d=be.useRef(e);be.useLayoutEffect(()=>{d.current=e});let f=be.useRef(null),x=be.useRef(0);be.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);let h=be.useCallback((b,L)=>{let{onSizeChange:W,sizeUpdate:D,sizeUpdateMs:O}=d.current;if(W){if(D==="debounce"){f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{f.current=null,d.current.onSizeChange?.(b,L)},O);return}if(D==="throttle"){let J=Date.now();if(J-x.current<O)return;x.current=J}W(b,L)}},[]),g=be.useCallback(b=>df(b,n==="vertical"?"horizontal":"vertical"),[n]),R=be.useRef(!1),P=be.useCallback((b,L)=>{let W=o.current;if(W){W.style.setProperty(r,`${b}px`);for(let D of W.querySelectorAll(":scope > .rt-ShellResizer"))D.setAttribute("aria-valuenow",String(Math.round(b)));L&&(R.current=!0)}},[o,r]);be.useLayoutEffect(()=>{R.current||P(e.expandedSize,!1)},[e.expandedSize,P]),be.useLayoutEffect(()=>{if(l!==void 0||p===void 0)return;let b=g(p);if(typeof b!="number"||!Number.isFinite(b))return;let L=fp(b,a,s);P(L,!0),h(L,{reason:"init"})},[]),be.useLayoutEffect(()=>{if(l===void 0||d.current.overlayingNow())return;let b=g(l);if(typeof b!="number"||!Number.isFinite(b))return;let L=fp(b,a,s);P(L,!0),h(L,{reason:"controlled"})},[l,a,s,e.overlaying,g,P,h]);let k=be.useMemo(()=>{if(!c||m)return m;let b=`kookie-ui:shell:${t}:${c}`;return{load:()=>{if(!(typeof window>"u"))try{let L=window.localStorage.getItem(b);return L?Number(L):void 0}catch{return}},save:L=>{if(!(typeof window>"u"))try{window.localStorage.setItem(b,String(L))}catch{}}}},[t,c,m]);be.useLayoutEffect(()=>{if(!i||!k?.load||d.current.overlayingNow())return;let b=!0,L=D=>{if(!b||typeof D!="number"||!Number.isFinite(D))return;let O=fp(D,a,s);P(O,!0),d.current.onResize?.(O)},W=k.load();return W instanceof Promise?W.then(L).catch(D=>{}):L(W),()=>{b=!1}},[i,k,e.overlaying,P,a,s,t]);let w=be.useCallback(b=>d.current.onResize?.(b),[]),M=be.useCallback(b=>{R.current=!0,d.current.onResizeStart?.(b)},[]),F=be.useCallback(b=>{d.current.onResizeEnd?.(b),h(b,{reason:"resize"}),k?.save?.(b)},[h,k]),z=be.useCallback(()=>d.current.requestCollapse(),[]),S=be.useCallback(()=>d.current.requestToggle(),[]);return be.useMemo(()=>({containerRef:o,controls:e.elementId,cssVarName:r,minSize:a,maxSize:s,defaultSize:e.expandedSize,orientation:n,edge:e.edge,growth:e.growth,onResize:w,onResizeStart:M,onResizeEnd:F,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:z,requestToggle:S}),[o,e.elementId,r,a,s,e.expandedSize,n,e.edge,e.growth,w,M,F,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,z,S])}function Oo(e,t){let o=be.Children.toArray(e),r=o.filter(a=>be.isValidElement(a)&&a.type===t),n=o.filter(a=>!(be.isValidElement(a)&&a.type===t));return{handles:r,content:n}}function Wt(e){if(e===void 0)return;if(typeof e=="boolean")return e?"open":"closed";let t={};for(let[o,r]of Object.entries(e))typeof r=="boolean"&&(t[o]=r?"open":"closed");return t}var ns=e=>e==="overlay"?"closed":"open",$r=()=>"closed",as=e=>e?-1:1,uf=e=>e?1:-1,ff=()=>-1;function Go(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:o,...r}=e;return r}var Pf=e=>e==="collapsed"?"closed":"open",Mh=e=>e==="closed"?"collapsed":"expanded";function gf(e){if(e===void 0)return;if(typeof e=="string")return Pf(e);let t={};for(let[o,r]of Object.entries(e))r!==void 0&&(t[o]=Pf(r));return t}var Nh={controlled:"state",default:"defaultState"},Eh={initial:"overlay",sm:"fixed"},ss=It.forwardRef((e,t)=>{let{className:o,presentation:r=Eh,expandedSize:n=288,minSize:a=200,maxSize:s=400,resizable:i=!1,collapsible:l=!0,onExpand:p,onCollapse:c,onResize:m,onResizeStart:d,onResizeEnd:f,snapPoints:x,snapTolerance:h,collapseThreshold:g,paneId:R,persistence:P,children:k,style:w,state:M,defaultState:F,onStateChange:z,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"sidebar",label:"Sidebar",propNames:Nh,id:J,controlled:gf(M),defaultValue:gf(F),presentationTable:_,builtIn:ns,onChange:(ie,K)=>z?.(Mh(ie),{reason:K}),onExpand:p,onCollapse:c,size:n});Qt("sidebar",O),It.useEffect(()=>{(x!==void 0||g!==void 0||R!==void 0||P!==void 0)&&void 0},[x,g,R,P]);let U=It.useRef(null),B=(0,bf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"sidebar",elementId:N.id,elementRef:U,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:as,expandedSize:n,minSize:a,maxSize:s,resizable:i,collapsible:l,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:m,onResizeStart:d,onResizeEnd:f,snapPoints:x,snapTolerance:h,collapseThreshold:g,paneId:R,persistence:P,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(k,es),X=i&&N.value!=="closed"&&!N.overlaying?It.createElement(mo.Provider,{value:E},A.length>0?A:It.createElement(vt,null)):null,ee=N.peeking?`var(--sidebar-size, ${n}px)`:void 0;return It.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,yf.default)("rt-ShellPane","rt-ShellSidebar",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...w,"--sidebar-expanded-size":`${n}px`,"--sidebar-min-size":`${a}px`,"--sidebar-max-size":`${s}px`,...ee?{"--peek-sidebar-width":ee}:{}}},It.createElement("div",{className:"rt-ShellSidebarContent"},It.createElement(Dn,null,V)),X)});ss.displayName="Shell.Sidebar";ss.Handle=es;var jt=u(require("react")),hf=u(require("classnames")),Rf=require("radix-ui/internal");var Ih={controlled:"open",default:"defaultOpen"},is=jt.forwardRef((e,t)=>{let{className:o,presentation:r="fixed",defaultOpen:n,open:a,onOpenChange:s,expandedSize:i=200,minSize:l=100,maxSize:p=400,resizable:c=!1,collapsible:m=!0,onExpand:d,onCollapse:f,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,children:F,style:z,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"bottom",label:"Bottom",propNames:Ih,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:_,builtIn:$r,onChange:(ee,ie)=>s?.(ee!=="closed",{reason:ie}),onExpand:d,onCollapse:f,size:i});Qt("bottom",O),jt.useEffect(()=>{(R!==void 0||k!==void 0||w!==void 0||M!==void 0)&&void 0},[R,k,w,M]);let U=jt.useRef(null),B=(0,Rf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"bottom",elementId:N.id,elementRef:U,cssVarName:"--bottom-size",orientation:"horizontal",edge:"start",growth:ff,expandedSize:i,minSize:l,maxSize:p,resizable:c,collapsible:m,size:S,defaultSize:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(F,os),X=c&&N.shown!==!1&&!N.overlaying?jt.createElement(mo.Provider,{value:E},A.length>0?A:jt.createElement(vt,null)):null;return jt.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,hf.default)("rt-ShellPane","rt-ShellBottom",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...z,"--bottom-expanded-size":`${i}px`,"--bottom-min-size":`${l}px`,"--bottom-max-size":`${p}px`}},jt.createElement("div",{className:"rt-ShellBottomContent"},V),X)});is.displayName="Shell.Bottom";is.Handle=os;var Ft=u(require("react")),Cf=u(require("classnames")),vf=require("radix-ui/internal");var kh={controlled:"open",default:"defaultOpen"},Lh={initial:"overlay",sm:"fixed"},ps=Ft.forwardRef((e,t)=>{let{className:o,presentation:r=Lh,defaultOpen:n,open:a,onOpenChange:s,expandedSize:i=320,minSize:l=200,maxSize:p=500,resizable:c=!1,collapsible:m=!0,onExpand:d,onCollapse:f,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,children:F,style:z,onSizeChange:S,sizeUpdate:b,sizeUpdateMs:L=50,size:W,defaultSize:D,inset:O,id:J,...H}=e,{table:_,attributes:Y}=Po(r,"fixed"),N=uo({name:"inspector",label:"Inspector",propNames:kh,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:_,builtIn:$r,onChange:(ee,ie)=>s?.(ee!=="closed",{reason:ie}),onExpand:d,onCollapse:f,size:i});Qt("inspector",O),Ft.useEffect(()=>{(R!==void 0||k!==void 0||w!==void 0||M!==void 0)&&void 0},[R,k,w,M]);let U=Ft.useRef(null),B=(0,vf.useComposedRefs)(t,N.setElement,U),E=Ho({name:"inspector",elementId:N.id,elementRef:U,cssVarName:"--inspector-size",orientation:"vertical",edge:"start",growth:uf,expandedSize:i,minSize:l,maxSize:p,resizable:c,collapsible:m,size:W,defaultSize:D,onSizeChange:S,sizeUpdate:b,sizeUpdateMs:L,onResize:x,onResizeStart:h,onResizeEnd:g,snapPoints:R,snapTolerance:P,collapseThreshold:k,paneId:w,persistence:M,overlaying:N.overlaying,overlayingNow:()=>_[Bt()]==="overlay",requestCollapse:()=>N.setValue("closed","toggle"),requestToggle:()=>N.toggle("toggle")}),{handles:A,content:V}=Oo(F,ts),X=c&&N.shown!==!1&&!N.overlaying?Ft.createElement(mo.Provider,{value:E},A.length>0?A:Ft.createElement(vt,null)):null;return Ft.createElement("div",{...Go(H),id:N.id,ref:B,className:(0,Cf.default)("rt-ShellPane","rt-ShellInspector",o),...fo(N,Y),"data-inset":O||void 0,tabIndex:N.overlaying?-1:H.tabIndex,style:{...z,"--inspector-expanded-size":`${i}px`,"--inspector-min-size":`${l}px`,"--inspector-max-size":`${p}px`}},Ft.createElement("div",{className:"rt-ShellInspectorContent"},V),X)});ps.displayName="Shell.Inspector";ps.Handle=ts;var Kt=u(require("react"));var Df=e=>e===void 0?void 0:e==="closed"?"collapsed":"expanded",Sf=e=>e==="collapsed"?"closed":"open",ls=e=>e===void 0||e==="closed"?"collapsed":"expanded",cs=e=>e==="left"?"rail":e;function zh(e){let t=Kt.useCallback(o=>lr(e,o),[e]);return Kt.useSyncExternalStore(t,()=>e.version,()=>0)}function Tf(){let e=Vo("useSidebarMode"),t=Kt.useCallback(n=>lr(e,n),[e]),o=Kt.useSyncExternalStore(t,()=>e.entries.get("sidebar")?.value,()=>{}),r=Kt.useCallback(n=>{e.entries.get("sidebar")?.setValue(Sf(n),"toggle")},[e]);return{sidebarMode:Df(o)??"expanded",setSidebarMode:r}}var xf=()=>{};function wf(){let e=Vo("useShell");Kt.useEffect(()=>{},[]),zh(e);let{breakpoint:t,ready:o}=No(),r=Kt.useMemo(()=>{let s=l=>p=>e.entries.get(l)?.setValue(p==="collapsed"?"closed":"open","toggle"),i=l=>Fr(e,l===null?null:cs(l));return{setLeftMode:s("rail"),setPanelMode:s("panel"),setInspectorMode:s("inspector"),setBottomMode:s("bottom"),setSidebarMode:l=>e.entries.get("sidebar")?.setValue(Sf(l),"toggle"),setPeekTarget:i,peekPane:l=>i(l),clearPeek:()=>i(null),setHasLeft:xf,setHasSidebar:xf,togglePane:l=>e.entries.get(cs(l))?.toggle("toggle"),expandPane:l=>e.entries.get(cs(l))?.setValue("open","toggle"),collapsePane:l=>e.entries.get(cs(l))?.setValue("closed","toggle")}},[e]),n=s=>e.entries.get(s)?.value,a=e.entries.get("rail");return{leftMode:ls(n("rail")),leftControlledOpen:a?.value===void 0?void 0:a.value!=="closed",panelMode:ls(n("panel")),sidebarMode:Df(n("sidebar"))??"expanded",inspectorMode:ls(n("inspector")),bottomMode:ls(n("bottom")),peekTarget:e.peek,hasLeft:e.entries.has("rail"),hasSidebar:e.entries.has("sidebar"),currentBreakpoint:t,currentBreakpointReady:o,leftResolvedPresentation:a?.presentation,...r}}var Mf=u(require("react"));function Nf(e){Mf.useEffect(()=>{},[]);let{breakpoint:t}=No(typeof e!="string");return pr(e,()=>"fixed")[t]}var Pp=0;function Ef(e){Pp=Math.max(0,Pp+e);let t=document.documentElement;Pp>0?t.setAttribute("data-rt-shell-lock",""):t.removeAttribute("data-rt-shell-lock")}var gp="data-rt-shell-inert",Ah=30;function Sn(e,t){return t===null||t===e||t===e.body||t===e.documentElement}function If(e,t,o){for(let r of e.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(r.getAttribute("aria-controls")!==t||r.closest("[inert]"))&&!(o&&!o.some(n=>n.contains(r))))return r;return null}var kf=q.forwardRef(({className:e,children:t,height:o="full",size:r="2",style:n,onKeyDown:a,onFocus:s,...i},l)=>{let[p]=q.useState(cf),c=q.useCallback(B=>lr(p,B),[p]);q.useSyncExternalStore(c,()=>p.version,()=>0);let m=q.useRef(null),d=(0,ms.useComposedRefs)(l,m),[f,x]=q.useState(()=>new Set),h=q.useCallback(B=>{x(E=>E.has(B)?E:new Set(E).add(B))},[]),g=q.useCallback(B=>{x(E=>{if(!E.has(B))return E;let A=new Set(E);return A.delete(B),A})},[]),R=q.useMemo(()=>({registerInset:h,unregisterInset:g}),[h,g]),P=q.useCallback(()=>{for(let B of p.entries.values())B.overlayLive&&B.setValue("closed","dismiss")},[p]),k=q.useCallback(()=>[...p.entries.values()].filter(B=>B.overlayLive&&B.el).map(B=>({name:B.name,id:B.id,el:B.el})),[p]),w=[...p.entries.values()].filter(B=>B.overlayLive&&B.el).length,M=o!=="full"&&o!=="auto",F=q.useCallback(()=>{let B=m.current;if(!B)return;let E=k().map(A=>A.el);for(let A of B.children){if(!(A instanceof HTMLElement)||A.classList.contains("rt-ShellScrim"))continue;let V=E.some(X=>A===X||A.contains(X));E.length===0||V?A.hasAttribute(gp)&&(A.removeAttribute(gp),A.inert=!1):A.inert||(A.setAttribute(gp,""),A.inert=!0)}},[k]),z=q.useRef(null),S=q.useRef([]),b=q.useRef(null),L=q.useRef(!1),W=q.useRef(0),D=q.useCallback(()=>{W.current&&cancelAnimationFrame(W.current),W.current=0},[]),O=q.useCallback((B,E)=>{D();let A=0,V=()=>{if(W.current=0,!!B.isConnected){if(E(B.ownerDocument.activeElement)){B.focus({preventScroll:!0});return}A+=1,A<Ah&&(W.current=requestAnimationFrame(V))}};W.current=requestAnimationFrame(V)},[D]);q.useEffect(()=>()=>{D(),L.current&&(L.current=!1,Ef(-1))},[D]),q.useEffect(()=>{let B=m.current;if(!B)return;let E=B.ownerDocument,A=k(),V=A.map(re=>re.el),X=!M&&A.length>0;X!==L.current&&(L.current=X,Ef(X?1:-1));let ee=S.current;S.current=A;let ie=ee.filter(re=>{if(V.includes(re.el))return!1;let ae=p.entries.get(re.name);return!re.el.isConnected||!ae||ae.el!==re.el||ae.value==="closed"}),K=re=>re!==null&&ie.some(ae=>ae.el.contains(re));if(ee.length===0&&A.length>0){let re=E.activeElement,ae=re instanceof HTMLElement&&!Sn(E,re)&&!V.some(ve=>ve.contains(re))?re:null;if(ae&&!B.contains(ae)){let ve=b.current;ve&&ve.isConnected&&!V.some(kt=>kt.contains(ve))&&(ae=ve)}z.current=ae}if(F(),A.length===0){let re=z.current;if(z.current=null,ie.length===0)return;let ve=(je=>je!==null&&je.isConnected&&!je.closest("[inert]")&&!K(je))(re)?re:null;for(let je of ie)ve??(ve=If(E,je.id));if(!ve)return;let kt=je=>Sn(E,je)||K(je);kt(E.activeElement)?ve.focus({preventScroll:!0}):O(ve,kt);return}if(ie.length>0){let re=E.activeElement;if(Sn(E,re)||K(re)){let ae=null;for(let ve of ie)ae??(ae=If(E,ve.id,V));(ae??V[V.length-1]).focus({preventScroll:!0})}}let ge=V.filter(re=>!ee.some(ae=>ae.el===re)),Pe=E.activeElement;ge.length>0&&!V.some(re=>re.contains(Pe))&&(ge[0].focus({preventScroll:!0}),O(ge[0],re=>Sn(E,re)||re instanceof Element&&re.closest("[inert]")!==null))}),q.useEffect(()=>{let B=m.current;if(!B||w===0||typeof MutationObserver>"u")return;let E=new MutationObserver(F);return E.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>E.disconnect()},[w,F]);let J=B=>{a?.(B),!(B.key!=="Escape"||B.defaultPrevented||w===0)&&(P(),B.stopPropagation())};q.useEffect(()=>{let B=m.current;if(!B||w===0)return;let E=B.ownerDocument,A=V=>{V.key!=="Escape"||V.defaultPrevented||!Sn(E,V.target)||P()};return E.addEventListener("keydown",A),()=>E.removeEventListener("keydown",A)},[w,P]);let H=B=>{s?.(B),B.target instanceof HTMLElement&&m.current?.contains(B.target)&&(b.current=B.target)},_=p.entries.get("rail"),N=_!==void 0&&_.value!==void 0&&_.value!=="closed"?f.has("rail")?`calc(${_.size}px + 2 * var(--shell-inset-gap))`:`${_.size}px`:void 0,U=o==="full"?{}:o==="auto"?{height:"auto"}:typeof o=="number"?{height:`${o}px`}:{height:o};return q.createElement(cp.Provider,{value:p},q.createElement(Xa.Provider,{value:r},q.createElement(dp.Provider,{value:R},q.createElement("div",{...i,ref:d,className:(0,cr.default)("rt-ShellRoot",e),"data-height":o==="auto"?"auto":void 0,"data-has-inset":f.size>0||void 0,"data-overlay-live":w>0||void 0,onKeyDown:J,onFocus:H,style:{...U,...N?{"--shell-rail-offset":N}:{},...n}},t,q.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:P})))))});kf.displayName="Shell.Root";var Lf=q.forwardRef(({className:e,height:t=64,style:o,...r},n)=>q.createElement("header",{...r,ref:n,className:(0,cr.default)("rt-ShellHeader",e),style:{...o,"--shell-header-height":`${t}px`}}));Lf.displayName="Shell.Header";var zf=q.forwardRef(({children:e},t)=>(q.useEffect(()=>{},[]),q.createElement(q.Fragment,null,e)));zf.displayName="Shell.Left";var Bh={controlled:"open",default:"defaultOpen"},Af=q.forwardRef((e,t)=>{let{className:o,presentation:r,expandedSize:n=64,collapsible:a,onExpand:s,onCollapse:i,children:l,style:p,open:c,defaultOpen:m,onOpenChange:d,inset:f,id:x,...h}=e,{table:g,attributes:R}=Po(r,"fixed"),P=uo({name:"rail",label:"Rail",propNames:Bh,id:x,controlled:Wt(c),defaultValue:Wt(m),presentationTable:g,builtIn:ns,onChange:(w,M)=>d?.(w!=="closed",{reason:M}),onExpand:s,onCollapse:i,size:n});Qt("rail",f);let k=(0,ms.useComposedRefs)(t,P.setElement);return q.createElement("div",{...h,id:P.id,ref:k,className:(0,cr.default)("rt-ShellPane","rt-ShellRail",o),...fo(P,R),"data-inset":f||void 0,tabIndex:P.overlaying?-1:h.tabIndex,style:{...p,"--rail-size":`${n}px`}},q.createElement(Vh,null,l))});Af.displayName="Shell.Rail";function Vh({children:e}){let t=q.useContext(Xa);return q.createElement("div",{className:(0,cr.default)("rt-ShellRailContent",`rt-r-size-${t}`)},q.createElement(Dn,{presentation:"thin"},e))}var Hh={controlled:"open",default:"defaultOpen"},yp=q.forwardRef((e,t)=>{let{className:o,presentation:r,defaultOpen:n,open:a,onOpenChange:s,size:i,defaultSize:l,expandedSize:p=288,minSize:c=100,maxSize:m=800,resizable:d=!1,collapsible:f=!0,onExpand:x,onCollapse:h,onResize:g,onResizeStart:R,onResizeEnd:P,snapPoints:k,snapTolerance:w,collapseThreshold:M,paneId:F,persistence:z,children:S,style:b,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D=50,inset:O,id:J,...H}=e,_=Vo("Shell.Panel"),Y=mp(_,"rail"),N=Po(r,"fixed"),U=r===void 0,B=U?Y?.presentationTable??lp:N.table,E=U?{"data-presentation-follows":""}:N.attributes,A=uo({name:"panel",label:"Panel",propNames:Hh,id:J,controlled:Wt(a),defaultValue:Wt(n),presentationTable:B,builtIn:$r,onChange:(Pe,re)=>s?.(Pe!=="closed",{reason:re}),onExpand:x,onCollapse:h,size:p});Qt("panel",O),q.useEffect(()=>{(k!==void 0||M!==void 0||F!==void 0||z!==void 0)&&void 0},[k,M,F,z]);let V=q.useRef(null),X=(0,ms.useComposedRefs)(t,A.setElement,V),ee=Ho({name:"panel",elementId:A.id,elementRef:V,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:as,expandedSize:p,minSize:c,maxSize:m,resizable:d,collapsible:f,size:i,defaultSize:l,onSizeChange:L,sizeUpdate:W,sizeUpdateMs:D,onResize:g,onResizeStart:R,onResizeEnd:P,snapPoints:k,snapTolerance:w,collapseThreshold:M,paneId:F,persistence:z,overlaying:A.overlaying,overlayingNow:()=>(U?_.entries.get("rail")?.presentationTable??lp:N.table)[Bt()]==="overlay",requestCollapse:()=>A.setValue("closed","toggle"),requestToggle:()=>A.toggle("toggle")}),{handles:ie,content:K}=Oo(S,Ja),ge=d&&A.shown!==!1&&!A.overlaying?q.createElement(mo.Provider,{value:ee},ie.length>0?ie:q.createElement(vt,null)):null;return q.createElement("div",{...Go(H),id:A.id,ref:X,className:(0,cr.default)("rt-ShellPane","rt-ShellPanel",o),...fo(A,E),"data-inset":O||void 0,tabIndex:A.overlaying?-1:H.tabIndex,style:{...b,"--panel-expanded-size":`${p}px`}},q.createElement("div",{className:"rt-ShellPanelContent"},q.createElement(Dn,null,K)),ge)});yp.displayName="Shell.Panel";yp.Handle=Ja;var Bf=q.forwardRef(({className:e,inset:t,...o},r)=>(Qt("content",t),q.createElement("main",{...o,ref:r,className:(0,cr.default)("rt-ShellContent",e),"data-inset":t||void 0})));Bf.displayName="Shell.Content";var Vf=q.forwardRef(({target:e,action:t="toggle",peekOnHover:o,onClick:r,onMouseEnter:n,onMouseLeave:a,children:s,...i},l)=>{let p=Vo("Shell.Trigger");q.useEffect(()=>{e==="left"&&void 0,o&&void 0},[e,o]);let c=e==="left"?"rail":e,m=mp(p,c),d=m?.value===void 0?void 0:m.value!=="closed",f=g=>{if(r?.(g),g.defaultPrevented)return;let R=p.entries.get(c);R&&(p.peek===c&&Fr(p,null),t==="toggle"?R.toggle("toggle"):t==="expand"?R.setValue("open","toggle"):R.setValue("closed","toggle"))},x=g=>{if(n?.(g),!o)return;let R=p.entries.get(c);R&&R.value==="closed"&&R.presentation!=="overlay"&&Fr(p,c)},h=g=>{a?.(g),o&&p.peek===c&&Fr(p,null)};return q.createElement("button",{type:"button","aria-controls":m?.id,"aria-expanded":d,...i,ref:l,onClick:f,onMouseEnter:x,onMouseLeave:h,"data-shell-trigger":e,"data-shell-action":t},s)});Vf.displayName="Shell.Trigger";var hp={};De(hp,{Close:()=>$f,Content:()=>jf,Description:()=>Kf,Root:()=>Of,Title:()=>Ff,Trigger:()=>Gf});var we=u(require("react")),Hf=u(require("classnames")),go=require("radix-ui");var Of=e=>we.createElement(go.Dialog.Root,{...e,modal:!0});Of.displayName="Sheet.Root";var Gf=we.forwardRef(({children:e,...t},o)=>we.createElement(go.Dialog.Trigger,{...t,ref:o,asChild:!0},ke(e)));Gf.displayName="Sheet.Trigger";var{align:VE,material:Oh,...Wf}=Cr,Gh={material:Oh},{default:HE,...Wh}=Wf.maxWidth,jh={...Wf,maxWidth:Wh},jf=we.forwardRef((e,t)=>{let{side:o="start",forceMount:r,container:n,className:a,material:s,...i}=e,p={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[o],{material:c}=C({material:s},Gh),m=c,{className:d,...f}=C(i,jh),x=we.useRef(null),h=we.useMemo(()=>g=>{x.current=g,typeof t=="function"?t(g):t&&(t.current=g)},[t]);return ba(),we.useEffect(()=>{if(typeof window>"u")return;let g=x.current;if(!g)return;let R=g.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(R.length===0)return;let P=R[0],k=R[R.length-1],w=M=>{M.key==="Tab"&&(M.shiftKey?document.activeElement===P&&(M.preventDefault(),k.focus()):document.activeElement===k&&(M.preventDefault(),P.focus()))};return g.addEventListener("keydown",w),P.focus(),()=>{g.removeEventListener("keydown",w)}},[]),we.createElement(go.Dialog.Portal,{container:n,forceMount:r},we.createElement(he,{asChild:!0},we.createElement(go.Dialog.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},we.createElement(go.Dialog.Content,{...f,ref:h,className:(0,Hf.default)("rt-BaseDialogContent","rt-SheetContent",a,d),"data-side":p,"data-material":m,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});jf.displayName="Sheet.Content";var Ff=we.forwardRef(({size:e="4",weight:t="medium",...o},r)=>we.createElement(go.Dialog.Title,{asChild:!0},we.createElement(Tt,{ref:r,size:e,weight:t,...o})));Ff.displayName="Sheet.Title";var Kf=we.forwardRef(({size:e="2",emphasis:t="medium",...o},r)=>we.createElement(go.Dialog.Description,{asChild:!0},we.createElement(me,{ref:r,size:e,emphasis:t,...o})));Kf.displayName="Sheet.Description";var $f=we.forwardRef(({children:e,...t},o)=>we.createElement(go.Dialog.Close,{...t,ref:o,asChild:!0},ke(e)));$f.displayName="Sheet.Close";var Mp={};De(Mp,{AttachTrigger:()=>sP,Attachment:()=>wp,AttachmentsRow:()=>oP,InlineEnd:()=>tP,InlineStart:()=>eP,Item:()=>aP,Root:()=>Qf,Row:()=>iP,RowEnd:()=>lP,RowStart:()=>pP,Send:()=>cP,Textarea:()=>Jf});var y=u(require("react")),yt=u(require("classnames")),Sp=require("radix-ui/internal"),Zf=require("react-dropzone");var Ge=u(require("react")),_f=u(require("classnames"));var ds=Ge.createContext(void 0),Rp=Ge.forwardRef(({kind:e,size:t="2",color:o="gray",material:r,className:n,children:a,trailing:s,leading:i,...l},p)=>Ge.createElement("div",{role:"status","aria-live":"polite",...l,ref:p,className:(0,_f.default)("rt-NoticeRoot",`rt-r-size-${t}`,n),"data-kind":e,"data-accent-color":o,"data-material":r},i?Ge.createElement("span",{className:"rt-NoticeIcon","aria-hidden":!0},i):null,Ge.createElement(me,{as:"div",size:t,className:"rt-NoticeText"},a),s));Rp.displayName="Strip";var Cp=Ge.forwardRef(({icon:e,action:t,onDismiss:o,dismissLabel:r="Dismiss",size:n,...a},s)=>{let i=Ge.useContext(ds),l=n??i??"2";return Ge.createElement(Rp,{...a,size:l,ref:s,kind:"notice",leading:e,trailing:t||o?Ge.createElement("span",{className:"rt-NoticeActions"},t,o?Ge.createElement(Pt,{size:l,variant:"ghost",color:"gray","aria-label":r,className:"rt-NoticeDismiss",onClick:o},Ge.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0},Ge.createElement("path",{d:"M4 4l7 7M11 4l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}))):null):null})});Cp.displayName="Notice";var vp=Ge.forwardRef(({confirmLabel:e,cancelLabel:t="Not now",onConfirm:o,onCancel:r,busy:n=!1,size:a,color:s="gray",...i},l)=>{let p=Ge.useContext(ds),c=a??p??"2";return Ge.createElement(Rp,{...i,size:c,color:s,ref:l,kind:"confirmation",trailing:Ge.createElement("span",{className:"rt-NoticeActions"},Ge.createElement(dt,{size:c,variant:"ghost",color:"gray",disabled:n,onClick:r},t),Ge.createElement(dt,{size:c,variant:"solid",color:s,loading:n,onClick:o},e))})});vp.displayName="Confirmation";var xp=typeof window<"u"?y.useLayoutEffect:y.useEffect;function qf(e,t){let{placeholder:o}=e;if(!o){t();return}e.placeholder="";try{t()}finally{e.placeholder=o}}var Xf=y.createContext(null),Tp=y.createContext(""),Jt=()=>{let e=y.useContext(Xf);if(!e)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return e},Tn=e=>Array.isArray(e)?e:typeof e=="string"?e.split(",").map(t=>t.trim()).filter(Boolean):[],Fh=(e,t)=>{if(t.length===0)return!0;let o=e.type.toLowerCase(),r=e.name.toLowerCase();for(let n of t){let a=n.toLowerCase();if(a.includes("/")){let[s,i]=a.split("/"),[l,p]=o.split("/");if(s==="*"||s===l&&(i==="*"||i===p))return!0}else if(a.startsWith(".")&&r.endsWith(a))return!0}return!1},Kh=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,Yf=(e,t)=>(t||"").toLowerCase().startsWith("image/")||Kh.test(e),Dp=e=>e.trim().length>0,Uf=(e,t)=>`${e} ${t}${e===1?"":"s"}`,$h=0,_h=()=>`chatbar-attachment-${Date.now()}-${++$h}`,Qf=y.forwardRef((e,t)=>{let{className:o,style:r,children:n,value:a,defaultValue:s="",onValueChange:i,open:l,defaultOpen:p=!1,onOpenChange:c,expandOn:m="both",minLines:d=3,maxLines:f=6,sendMode:x="whenDirty",disabled:h,readOnly:g,onSubmit:R,size:P="2",variant:k,color:w,radius:M,material:F,width:z,maxWidth:S,attachments:b,defaultAttachments:L,onAttachmentsChange:W,accept:D,multiple:O=!0,maxAttachments:J,maxFileSize:H,paste:_=!0,pasteAccept:Y,clearOnSubmit:N=!0,onAttachmentReject:U,dropzone:B=!0,apiRef:E,onBlurCapture:A,notices:V,context:X,...ee}=e,ie=F,K=a!=null,[ge,Pe]=y.useState(s),re=K?a:ge,ae=l!=null,[ve,kt]=y.useState(p),je=ae?l:ve,eo="attachments"in e,[Wo,Dt]=y.useState(()=>L??[]),$t=y.useMemo(()=>eo?b??[]:Wo,[eo,b,Wo]),[mr,Je]=y.useState({text:"",id:0}),yo=y.useCallback(Q=>Je(le=>({text:Q,id:le.id+1})),[]),We=y.useRef(null),bo=(0,Sp.useComposedRefs)(t,We),dr=y.useRef(null),ur=y.useRef(null),qr=y.useRef(!1),wn=y.useRef(!1),Mn=y.useRef(void 0),us=y.useRef(null),Ep=Tn(D).join(","),fs=Tn(Y).join(","),Ps=y.useMemo(()=>Tn(Ep),[Ep]),yP=y.useMemo(()=>fs?Tn(fs):Ps,[fs,Ps]),Ip={value:re,attachments:$t,accepts:Ps,pasteAccepts:yP,multiple:O,maxAttachments:J,maxFileSize:H,disabled:h,readOnly:g,expandOn:m,isValueControlled:K,isOpenControlled:ae,isAttachmentsControlled:eo,onValueChange:i,onOpenChange:c,onAttachmentsChange:W,onAttachmentReject:U,onSubmit:R},Ue=y.useRef(Ip);Ue.current=Ip;let gs=y.useRef(null),ho=y.useCallback(()=>gs.current??Ue.current.attachments,[]),fr=y.useCallback(Q=>{Ue.current.isOpenControlled||kt(Q),Ue.current.onOpenChange?.(Q)},[]),Nn=y.useCallback(Q=>{Ue.current.isValueControlled||Pe(Q),Ue.current.onValueChange?.(Q)},[]),Pr=y.useCallback(Q=>{gs.current=Q,queueMicrotask(()=>{gs.current=null}),Ue.current.isAttachmentsControlled||Dt(Q),Ue.current.onAttachmentsChange?.(Q)},[]),En=y.useRef(new Set),gr=y.useCallback((Q,le,Ee=Ue.current.multiple)=>{let Ie=Ue.current;if(Ie.disabled||Ie.readOnly||Q.length===0)return 0;let Ro=ho(),jo=[],yr=[],SP=typeof Ie.maxAttachments=="number"?Math.max(Ie.maxAttachments-Ro.length,0):1/0,TP=Ee?1/0:1;for(let St of Q){if(jo.length>=SP||jo.length>=TP){yr.push({file:St,reason:"count"});continue}if(typeof Ie.maxFileSize=="number"&&St.size>Ie.maxFileSize){yr.push({file:St,reason:"size"});continue}if(!Fh(St,le)){yr.push({file:St,reason:"type"});continue}let bs=Yf(St.name,St.type)?URL.createObjectURL(St):void 0;bs&&En.current.add(bs),jo.push({id:_h(),name:St.name,size:St.size,type:St.type,file:St,url:bs,status:"idle"})}let Ln=[];return jo.length>0&&(Pr(Ro.concat(jo)),Ie.expandOn!=="none"&&fr(!0),Ln.push(`${Uf(jo.length,"file")} attached.`)),yr.length>0&&(Ie.onAttachmentReject?.(yr),Ln.push(`${Uf(yr.length,"file")} could not be attached.`)),Ln.length>0&&yo(Ln.join(" ")),jo.length},[ho,Pr,fr,yo]),In=y.useCallback(Q=>gr(Q,Ue.current.accepts),[gr]),kp=y.useCallback(Q=>gr(Q,Ue.current.pasteAccepts),[gr]),Lp=y.useCallback(Q=>{let le=ho(),Ee=le.find(Ie=>Ie.id===Q);Ee&&(Pr(le.filter(Ie=>Ie.id!==Q)),yo(`Removed ${Ee.name}.`))},[ho,Pr,yo]),zp=y.useCallback(Q=>{let le=Ue.current;if(le.disabled||le.readOnly)return!1;let Ee=ho();if(!Dp(le.value)&&Ee.length===0)return!1;let Ie={value:le.value,attachments:Ee};if(Q&&le.onSubmit)for(let Ro of Ee)Ro.url&&En.current.delete(Ro.url);return le.onSubmit?.(Ie),Q&&(Nn(""),Pr([])),!0},[ho,Nn,Pr]);y.useEffect(()=>{let Q=En.current;if(Q.size===0)return;let le=new Set($t.map(Ee=>Ee.url));for(let Ee of Array.from(Q))le.has(Ee)||(URL.revokeObjectURL(Ee),Q.delete(Ee))},[$t]),y.useEffect(()=>{let Q=En.current;return()=>{if(!Ue.current.isAttachmentsControlled){for(let le of Array.from(Q))URL.revokeObjectURL(le);Q.clear()}}},[]);let kn=y.useCallback(Q=>{let le=Ue.current,Ee=ur.current;if(clearTimeout(Mn.current),wn.current=!1,!Ee||le.disabled||le.readOnly)return;let Ie=Q?.accept!=null?Tn(Q.accept):le.accepts,Ro=Q?.multiple??le.multiple;us.current={patterns:Ie,multiple:Ro},Ee.accept=Ie.join(","),Ee.multiple=Ro,qr.current=!0,Ee.click(),setTimeout(()=>{document.hasFocus()&&(qr.current=!1)},1e3)},[]),Ap=y.useCallback(()=>{wn.current=!0,clearTimeout(Mn.current),Mn.current=setTimeout(()=>{wn.current=!1},800)},[]);y.useEffect(()=>()=>clearTimeout(Mn.current),[]),y.useEffect(()=>{let Q=ur.current,le=()=>{qr.current=!1};return window.addEventListener("focus",le),Q?.addEventListener("cancel",le),()=>{window.removeEventListener("focus",le),Q?.removeEventListener("cancel",le)}},[]);let bP=y.useCallback(Q=>{let le=Q.currentTarget,Ee=Array.from(le.files??[]),Ie=us.current;gr(Ee,Ie?.patterns??Ue.current.accepts,Ie?.multiple),qr.current=!1,us.current=null,le.value=""},[gr]),hP=y.useCallback(Q=>{A?.(Q);let le=Ue.current,Ee=We.current;if(!Ee||le.expandOn==="none")return;let Ie=Q.relatedTarget;Ie&&Ee.contains(Ie)||qr.current||wn.current||!Dp(le.value)&&ho().length===0&&fr(!1)},[A,fr,ho]),RP=y.useCallback(Q=>{In(Q)},[In]),{getRootProps:CP,isDragActive:vP}=(0,Zf.useDropzone)({onDrop:RP,onDragEnter:()=>yo(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!B||h||g}),ys=B&&vP;y.useImperativeHandle(E,()=>({focusTextarea:()=>dr.current?.focus({preventScroll:!0}),openFilePicker:()=>kn()}),[kn]);let xP=y.useCallback(Q=>{if(h||Q.pointerType==="mouse"&&Q.button!==0)return;let le=Q.target;le instanceof Element&&le.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(Q.preventDefault(),dr.current?.focus({preventScroll:!0}))},[h]),DP=y.useMemo(()=>({open:je,setOpen:fr,setValue:Nn,size:P,expandOn:m,minLines:d,maxLines:f,sendMode:x,disabled:h,readOnly:g,paste:_,clearOnSubmit:N,multiple:O,textareaRef:dr,attachments:$t,removeAttachment:Lp,submit:zp,appendFiles:In,appendFilesFromPaste:kp,openFilePicker:kn,beginFilePickerPress:Ap}),[je,fr,Nn,P,m,d,f,x,h,g,_,N,O,$t,Lp,zp,In,kp,kn,Ap]);return y.createElement(Xf.Provider,{value:DP},y.createElement(Tp.Provider,{value:re},y.createElement(y.Fragment,null,y.createElement("div",{...ee,ref:bo,className:(0,yt.default)("rt-ChatbarRoot",`rt-r-size-${P}`,o),style:{position:"relative",width:z,maxWidth:S,...r},"data-state":je?"open":"closed","data-disabled":h?"":void 0,"data-readonly":g?"":void 0,"data-drop-active":ys?"":void 0,"data-accent-color":w,"data-radius":M,"data-material":ie,onBlurCapture:hP},y.createElement("input",{ref:ur,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:bP}),V?y.createElement("div",{className:"rt-ChatbarNotices"},y.createElement(ds.Provider,{value:P},V)):null,y.createElement("div",{...B?CP():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:xP},y.createElement("div",{className:(0,yt.default)("rt-ChatbarBox",`rt-variant-${k??"raised"}`),style:{position:"relative"},"data-accent-color":w,"data-radius":M,"data-material":ie},y.createElement("div",{className:"rt-ChatbarGrid"},n),ys&&y.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},y.createElement("div",{className:"rt-ChatbarDropContent"},y.createElement(me,{emphasis:"medium",size:P,weight:"medium"},"Drop files here to attach"))))),X?y.createElement(me,{as:"div",size:P==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},X):null,y.createElement(no,{role:"status","aria-live":"polite"},ys?"Drop files here to attach.":y.createElement("span",{key:mr.id},mr.text))))))});Qf.displayName="Chatbar.Root";var Jf=y.forwardRef((e,t)=>{let{className:o,style:r,asChild:n,onFocus:a,onChange:s,onPaste:i,onKeyDown:l,onCompositionStart:p,onCompositionEnd:c,submitOnEnter:m=!1,...d}=e,f=Jt(),x=y.useContext(Tp),{open:h,minLines:g,maxLines:R,expandOn:P,disabled:k,readOnly:w,setOpen:M,setValue:F,textareaRef:z,paste:S,appendFilesFromPaste:b,size:L,submit:W,clearOnSubmit:D}=f,O=(0,Sp.useComposedRefs)(t,z),J=y.useRef(0),H=y.useRef(0),_=y.useRef(!1),Y=y.useRef({open:h,minLines:g,maxLines:R});xp(()=>{Y.current={open:h,minLines:g,maxLines:R}},[h,g,R]);let N=y.useCallback(()=>{let K=z.current;if(!K)return;let ge=window.getComputedStyle(K);J.current=parseFloat(ge.lineHeight)||20,H.current=(parseFloat(ge.paddingTop)||0)+(parseFloat(ge.paddingBottom)||0)},[z]),U=y.useCallback((K,ge)=>{let{minLines:Pe,maxLines:re}=Y.current,ae=J.current,ve=H.current,kt=Math.ceil((ge?Pe:1)*ae)+ve,je=Math.ceil((ge?re:1)*ae)+ve,eo=Math.max(K.scrollHeight,kt);K.style.height=`${Math.min(eo,je)}px`;let Wo=eo>je;K.style.overflowY=Wo?"auto":"hidden",K.style.maxHeight=Wo?`${je}px`:"none"},[]);xp(()=>{N()},[N,L]),xp(()=>{let K=z.current;K&&(J.current===0&&N(),qf(K,()=>{K.style.height="auto";let ge=h;if(!h&&(P==="overflow"||P==="both")){let Pe=Math.ceil(J.current)+H.current;K.scrollHeight>Pe+1&&(ge=!0,M(!0))}U(K,ge)}))},[x,h,P,g,R,L,M,z,N,U]),y.useEffect(()=>{let K=z.current;if(!K||typeof ResizeObserver>"u")return;let ge=-1,Pe=new ResizeObserver(re=>{let ae=re[0]?.contentRect.width??0;if(ae===ge)return;let ve=ge===-1;ge=ae,!ve&&(N(),qf(K,()=>{K.style.height="auto",U(K,Y.current.open)}))});return Pe.observe(K),()=>Pe.disconnect()},[z,N,U]),y.useEffect(()=>{},[]);let B=y.useCallback(K=>{a?.(K),!(k||w)&&(P==="focus"||P==="both")&&!h&&M(!0)},[k,w,P,h,M,a]),E=y.useCallback(K=>{F(K.currentTarget.value),s?.(K)},[F,s]),A=y.useCallback(K=>{if(i?.(K),K.defaultPrevented||!S||k||w)return;let ge=Array.from(K.clipboardData?.items??[]).filter(Pe=>Pe.kind==="file").map(Pe=>Pe.getAsFile()).filter(Pe=>!!Pe);ge.length!==0&&b(ge)>0&&K.preventDefault()},[S,k,w,i,b]),V=y.useCallback(K=>{_.current=!0,p?.(K)},[p]),X=y.useCallback(K=>{_.current=!1,c?.(K)},[c]),ee=y.useCallback(K=>{l?.(K),!(K.defaultPrevented||!m)&&(K.key!=="Enter"||K.shiftKey||K.altKey||K.ctrlKey||K.metaKey||_.current||K.nativeEvent.isComposing||K.nativeEvent.keyCode===229||(K.preventDefault(),W(D)))},[m,l,W,D]),ie=n?Le:"textarea";return y.createElement("div",{className:(0,yt.default)("rt-ChatbarField","rt-ChatbarTextarea",o)},y.createElement(ie,{...d,ref:O,className:"rt-ChatbarInput",value:x,onChange:E,onFocus:B,onPaste:A,onKeyDown:ee,onCompositionStart:V,onCompositionEnd:X,disabled:k,readOnly:w,rows:h?g:1,spellCheck:d.spellCheck??!0,autoCorrect:d.autoCorrect??"on",style:r}))});Jf.displayName="Chatbar.Textarea";var eP=y.forwardRef((e,t)=>{let{children:o,asChild:r,className:n,...a}=e;return Jt().open?null:y.createElement(r?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarInlineStart",n)},o)});eP.displayName="Chatbar.InlineStart";var tP=y.forwardRef((e,t)=>{let{children:o,asChild:r,className:n,...a}=e;return Jt().open?null:y.createElement(r?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarInlineEnd",n)},o)});tP.displayName="Chatbar.InlineEnd";var oP=y.forwardRef((e,t)=>{let{asChild:o,forceMount:r,renderAttachment:n,className:a,children:s,...i}=e,l=Jt(),p=y.Children.toArray(s).length>0;return l.attachments.length===0&&!p&&!r?null:y.createElement("div",null,y.createElement(o?Le:"div",{...i,ref:t,className:(0,yt.default)("rt-ChatbarAttachmentsRow",a),role:"list","aria-label":i["aria-label"]??"Attachments"},y.createElement(Qe,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},y.createElement(ye,{align:"center",gap:"2",minWidth:"fit-content"},l.attachments.map(m=>y.createElement(wp,{key:m.id,attachment:m,asChild:!!n},n?.(m))),s))))});oP.displayName="Chatbar.AttachmentsRow";function rP(e,t){let o=e.closest('[role="listitem"]'),r=o?.parentElement?Array.from(o.parentElement.children):[],n=o?r.indexOf(o):-1,s=(r[n+1]??r[n-1])?.querySelector(".rt-ChatbarItemRemove");s?s.focus():t.current?.focus({preventScroll:!0})}var nP=({lead:e,leadKind:t,label:o,detail:r,removeLabel:n,onRemove:a})=>{let s=Jt();return y.createElement(y.Fragment,null,y.createElement("span",{className:"rt-ChatbarItemLead","data-kind":t,"aria-hidden":!0},e),y.createElement(me,{className:"rt-ChatbarItemLabel",size:s.size,truncate:!0},o,r?y.createElement(no,null,", ",r):null),a&&y.createElement(Pt,{className:"rt-ChatbarItemRemove","aria-label":n,size:"1",variant:"ghost",color:"gray",onClick:a},y.createElement(Vs,null)))},qh={uploading:"uploading",error:"failed to upload"},wp=y.forwardRef((e,t)=>{let{attachment:o,asChild:r,className:n,children:a,...s}=e,i=Jt(),l=r?Le:"div",p=!!o.url&&Yf(o.name,o.type),c=`${Math.ceil(o.size/1024)} KB`,m=o.status?qh[o.status]:void 0,d=i.disabled||i.readOnly,f=h=>{rP(h.currentTarget,i.textareaRef),i.removeAttachment(o.id)},x=o.status==="uploading"?y.createElement(Mo,{size:"1"}):p?y.createElement("img",{className:"rt-ChatbarAttachmentImage",src:o.url,alt:""}):y.createElement(Hs,null);return y.createElement(l,{...s,ref:t,className:(0,yt.default)(a?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",n),role:"listitem","data-kind":p?"image":"file","data-status":o.status,title:o.name},a??y.createElement(nP,{lead:x,leadKind:p&&o.status!=="uploading"?"image":"icon",label:o.name,detail:m?`${c}, ${m}`:c,removeLabel:`Remove ${o.name}`,onRemove:d?void 0:f}))});wp.displayName="Chatbar.Attachment";var aP=y.forwardRef((e,t)=>{let{children:o,icon:r,image:n,color:a,onRemove:s,removeLabel:i,className:l,...p}=e,c=Jt(),m=c.disabled||c.readOnly,d=s?f=>{rP(f.currentTarget,c.textareaRef),s()}:void 0;return y.createElement("div",{...p,ref:t,className:(0,yt.default)("rt-ChatbarItem",l),role:"listitem","data-accent-color":n?void 0:a??"gray",title:o},y.createElement(nP,{lead:n?y.createElement("img",{className:"rt-ChatbarAttachmentImage",src:n,alt:""}):r,leadKind:n?"image":"icon",label:o,removeLabel:i??`Remove ${o}`,onRemove:m?void 0:d}))});aP.displayName="Chatbar.Item";var sP=y.forwardRef((e,t)=>{let{asChild:o,accept:r,multiple:n,disabled:a,onPointerDown:s,onClick:i,...l}=e,p=Jt(),c=a||p.disabled||p.readOnly;return y.createElement(o?Le:"button",{...l,ref:t,className:(0,yt.default)("rt-ChatbarAttachTrigger",l.className),type:l.type??"button","aria-label":l["aria-label"]??"Add attachments",disabled:c,onPointerDown:d=>{s?.(d),!c&&!d.defaultPrevented&&p.beginFilePickerPress()},onClick:d=>{i?.(d),!(c||d.defaultPrevented)&&p.openFilePicker({accept:r,multiple:n})}})});sP.displayName="Chatbar.AttachTrigger";var iP=y.forwardRef((e,t)=>{let{asChild:o,children:r,className:n,...a}=e;return Jt().open?y.createElement("div",null,y.createElement(o?Le:"div",{...a,ref:t,className:(0,yt.default)("rt-ChatbarRow",n)},y.createElement(ye,{align:"center",justify:"between",width:"100%"},r))):null});iP.displayName="Chatbar.Row";var pP=y.forwardRef((e,t)=>{let{className:o,...r}=e;return y.createElement("div",{...r,ref:t,className:(0,yt.default)("rt-ChatbarRowStart",o)})});pP.displayName="Chatbar.RowStart";var lP=y.forwardRef((e,t)=>{let{className:o,...r}=e;return y.createElement("div",{...r,ref:t,className:(0,yt.default)("rt-ChatbarRowEnd",o)})});lP.displayName="Chatbar.RowEnd";var cP=y.forwardRef((e,t)=>{let{asChild:o,clearOnSend:r,disabled:n,children:a,style:s,className:i,size:l,variant:p,emphasis:c,tabIndex:m,onClick:d,status:f="ready",onStop:x,onRetry:h,stopLabel:g="Stop",retryLabel:R="Retry",stopIcon:P,retryIcon:k,"aria-label":w,"aria-labelledby":M,...F}=e,z=Jt(),S=y.useContext(Tp),b=Dp(S)||z.attachments.length>0,W=b?"send":f==="submitted"||f==="streaming"?"stop":f==="error"?"retry":"send";if(z.sendMode==="never"&&W==="send")return null;let D=W!=="send"||z.sendMode==="always"||b,O=W==="send"?n||z.disabled||z.readOnly||!b:n||z.disabled,H=W==="stop"?{"aria-label":g}:W==="retry"?{"aria-label":R}:M?{"aria-labelledby":M}:{"aria-label":w??"Send"},_=N=>{if(d?.(N),N.defaultPrevented||O)return;if(W==="stop"){x?.();return}if(W==="retry"){h?.();return}let U=r??z.clearOnSubmit;z.submit(U)&&U&&z.textareaRef.current?.focus({preventScroll:!0})},Y=W==="stop"?P??(f==="submitted"?y.createElement(Mo,{size:z.size}):y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},y.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):W==="retry"?k??y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},y.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),y.createElement("path",{d:"M3 3v5h5"})):a??y.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},y.createElement("path",{d:"M5 12h14"}),y.createElement("path",{d:"m12 5 7 7-7 7"}));return y.createElement(Pt,{...F,ref:t,size:l??z.size,...c?{emphasis:c}:{variant:p??(z.open||W!=="send"?"solid":"ghost")},disabled:O,className:(0,yt.default)("rt-ChatbarSend",i),style:{opacity:D?1:0,pointerEvents:D?void 0:"none",...s},"aria-hidden":D?void 0:!0,tabIndex:D?m:-1,asChild:o,onClick:_,"data-status":f,"data-mode":W,...H},Y)});cP.displayName="Chatbar.Send";var Np={};De(Np,{Button:()=>gP,Content:()=>fP,Item:()=>PP,Root:()=>dP,Viewport:()=>uP,useMessageScroller:()=>xt.useMessageScroller,useMessageScrollerScrollable:()=>xt.useMessageScrollerScrollable,useMessageScrollerVisibility:()=>xt.useMessageScrollerVisibility});var at=u(require("react")),_r=u(require("classnames")),xt=require("@shadcn/react/message-scroller"),mP=require("radix-ui/internal");var dP=at.forwardRef(({autoScroll:e=!0,defaultScrollPosition:t="end",scrollEdgeThreshold:o,scrollMargin:r,className:n,children:a,...s},i)=>at.createElement(xt.MessageScroller.Provider,{autoScroll:e,defaultScrollPosition:t,...o!=null?{scrollEdgeThreshold:o}:{},...r!=null?{scrollMargin:r}:{}},at.createElement(xt.MessageScroller.Root,{...s,ref:i,className:(0,_r.default)("rt-MessageScrollerRoot",n)},a)));dP.displayName="MessageScroller.Root";var uP=at.forwardRef(({className:e,"aria-label":t,fade:o=!0,...r},n)=>{let a=ua(o),s=(0,mP.useComposedRefs)(n,a);return at.createElement(xt.MessageScroller.Viewport,{"aria-label":t??"",...r,ref:s,"data-fade":o?"":void 0,className:(0,_r.default)("rt-MessageScrollerViewport",e)})});uP.displayName="MessageScroller.Viewport";var fP=at.forwardRef(({className:e,...t},o)=>at.createElement(xt.MessageScroller.Content,{...t,ref:o,className:(0,_r.default)("rt-MessageScrollerContent",e)}));fP.displayName="MessageScroller.Content";var PP=at.forwardRef(({className:e,...t},o)=>at.createElement(xt.MessageScroller.Item,{...t,ref:o,className:(0,_r.default)("rt-MessageScrollerItem",e)}));PP.displayName="MessageScroller.Item";var gP=at.forwardRef(({direction:e="end",behavior:t,className:o,children:r,size:n="2",variant:a="surface",emphasis:s,color:i="gray",radius:l="full","aria-label":p,...c},m)=>at.createElement(xt.MessageScroller.Button,{direction:e,...t?{behavior:t}:{},render:at.createElement(Pt,{...c,ref:m,size:n,...s?{emphasis:s}:{variant:a},color:i,radius:l,"aria-label":p??(e==="end"?"Jump to the latest":"Jump to the first"),className:(0,_r.default)("rt-MessageScrollerButton",o),"data-direction":e},r??at.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:e==="start"?{transform:"rotate(180deg)"}:void 0},at.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));gP.displayName="MessageScroller.Button";
24
24
  //# sourceMappingURL=index.js.map