@enonic/ui 0.15.0 → 0.15.1

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.
@@ -23,4 +23,4 @@ var nt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24
23
23
  *
24
24
  * This source code is licensed under the ISC license.
25
25
  * See the LICENSE file in the root directory of this source tree.
26
- */vt.displayName="Checkbox";const xt=Be(["p-0"],{variants:{size:{sm:"h-9 w-9",md:"h-10 w-10",lg:"h-11.5 w-11.5"},shape:{square:"rounded-sm",round:"rounded-full"}},defaultVariants:{size:"md",shape:"square"}}),wt=t.forwardRef(({className:e,variant:t="text",size:r="md",shape:o="square",icon:a,...n},i)=>s(Ze,{ref:i,className:Ve(xt({size:r,shape:o}),e),variant:t,size:r,startIcon:a,label:"",...n}));function yt(e,t,r="any"){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;const o="any"===r?[...e].sort():e,a="any"===r?[...t].sort():t;for(let n=0;n<o.length;n+=1)if(o[n]!==a[n])return!1;return!0}wt.displayName="IconButton";const kt=[],Nt=e=>t=>yt(t,e)?t:e,Ct=({children:e,open:r,defaultOpen:o=!1,onOpenChange:a,closeOnBlur:n=!0,value:i,defaultValue:l="",onChange:c,disabled:d=!1,error:m=!1,selectionMode:f="single",selection:p,defaultSelection:b=kt,onSelectionChange:h,active:g,defaultActive:x,setActive:w})=>{const y=v(),[k,N]=Qe(r,o,a),[C,I]=Qe(i,l,c),z="single"!==f,S="staged"===f,[R,D]=t.useState(()=>new Set(b)),M=void 0!==p,E=t.useMemo(()=>M?new Set(p):R,[M,p,R]),O=t.useMemo(()=>Array.from(E),[E]),[A,P]=t.useState(O);t.useEffect(()=>{P(S?Nt(O):O)},[O,S]);const L=S?A:O,j=t.useMemo(()=>new Set(L),[L]),$=t.useMemo(()=>S&&!yt(A,O),[S,A,O]),V=t.useCallback(()=>{S&&P(Nt(O))},[S,O]),[F,T]=Qe(g,x,w),{registerItem:W,unregisterItem:_,getItems:q,isItemDisabled:B}=et(),G=t.useCallback(e=>{I(e),N(!0)},[I,N]),H=t.useCallback(e=>{N(e),e||V()},[N,V]),K=t.useCallback(e=>{const t=new Set(e);M||D(t),h?.(e),"single"===f&&N(!1)},[M,h,f,N]),X=t.useCallback(e=>{S?P(e):K(e)},[S,K]),Y=t.useCallback(()=>{S&&(yt(A,O)||K(A),N(!1))},[S,A,O,K,N]),{handleKeyDown:U}=tt({getItems:q,isItemDisabled:B,active:F,setActive:T,loop:!1,orientation:"vertical",onSelect:e=>{let t;t=z?L.includes(e)?L.filter(t=>t!==e):[...L,e]:[e],X(t)}}),Z=t.useCallback(e=>{if(!d){if("ArrowDown"!==e.key&&"ArrowUp"!==e.key||k||(e.preventDefault(),N(!0)),"Escape"===e.key)return e.preventDefault(),void H(!1);U(e)}},[d,k,N,H,U]);t.useEffect(()=>{if(k&&void 0===F){const e=q();e.length>0&&T(e[0])}},[k,F,q,T]);const J=t.useMemo(()=>({open:k,setOpen:H,inputValue:C,setInputValue:G,baseId:y,active:F,disabled:d,error:m,closeOnBlur:n,keyHandler:Z,selection:j,appliedSelection:O,stagedSelection:A,stagingEnabled:S,hasStagedChanges:$,applyStagedSelection:Y,resetStagedSelection:V}),[k,H,n,Z,C,G,F,y,d,m,j,O,A,S,$,Y,V]);return s(u,{value:J,children:s(ur.Root,{selectionMode:z?"multiple":"single",selection:L,onSelectionChange:X,disabled:d,active:F,focusable:!1,baseId:y,setActive:T,keyHandler:Z,registerItem:W,unregisterItem:_,getItems:q,isItemDisabled:B,children:e})})};Ct.displayName="Combobox.Root";const It=t.forwardRef(({className:e,children:r,...o},a)=>{const n=t.useRef(null),{setOpen:i,closeOnBlur:l}=m(),c=l?t.useCallback(e=>{const t=e.relatedTarget;t&&n.current?.contains(t)||i(!1)},[i]):void 0;return s("div",{ref:Te(a,n),className:e,onBlur:c,...o,children:r})});It.displayName="Combobox.Content";const zt=Be(["flex gap-2.5 items-center","h-12 rounded-sm border bg-surface-neutral","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight"],{variants:{error:{true:"border-error focus-within:border-error focus-within:ring-error/50",false:"border-bdr-subtle focus-within:border-bdr-strong"},open:{true:"border-bdr-strong",false:null},disabled:{true:"pointer-events-none select-none opacity-30",false:null}},defaultVariants:{error:!1,open:!1,disabled:!1}}),St=({className:e,children:t,...r})=>{const{open:o,disabled:a,error:n}=m();return s("div",{className:Ve(zt({error:n,open:o,disabled:a}),e),"data-open":o?"true":void 0,...r,children:t})};St.displayName="Combobox.Control";const Rt=t.forwardRef(({placeholder:e,...r},o)=>{const a=t.useRef(null),{open:n,keyHandler:i,baseId:l,active:c,disabled:d,error:u}=m();return t.useEffect(()=>{n&&!d&&a.current?.focus()},[n,d]),s(Ir.Input,{ref:Te(o,a),id:`${l}-input`,onKeyDown:i,"aria-disabled":d,"aria-invalid":u??void 0,role:"combobox","aria-autocomplete":"list","aria-expanded":n,"aria-haspopup":"listbox","aria-controls":`${l}-listbox`,"aria-activedescendant":c?`${l}-listbox-option-${c}`:void 0,...r})});Rt.displayName="Combobox.Input";const Dt=({children:e,className:t,...r})=>{const{inputValue:o,setInputValue:a}=m();return s(Ir.Root,{value:o,onChange:a,className:Ve("w-full pr-0","border-0 focus-within:border-0 focus-within:ring-0 focus-within:ring-offset-0",t),...r,children:e})};Dt.displayName="Combobox.Search";const Mt=({className:e,...t})=>{const{open:r,setOpen:o,disabled:a}=m();return s(wt,{type:"button",variant:"text",size:"lg",icon:dt,"aria-label":"Toggle",onClick:()=>{a||o(!r)},disabled:a,tabIndex:-1,className:Ve("shrink-0 text-subtle transition-transform hover:bg-surface-primary-hover",r&&"rotate-180",e),...t})};Mt.displayName="Combobox.Toggle";const Et=({className:e,label:t="Apply",...r})=>{const{stagingEnabled:o,hasStagedChanges:a,applyStagedSelection:n}=m();return o&&a?s(Ze,{className:Ve("h-7 px-2.5 min-w-14 gap-2 text-xs",e),type:"button",label:t,variant:"outline",onClick:n,...r}):null};Et.displayName="Combobox.Apply";const Ot=({children:e,className:t,...r})=>{const{open:o}=m();return o?s("div",{className:Ve("absolute left-0 right-0 z-50 mt-1 rounded-sm bg-surface-neutral shadow-lg ring-1 ring-bdr-subtle",t),...r,children:e}):null};Ot.displayName="Combobox.Popup";const At=Object.assign(Ct,{Root:Ct,Content:It,Control:St,Search:Dt,Input:Rt,SearchIcon:Ir.Icon,Toggle:Mt,Apply:Et,Popup:Ot}),Pt=({open:e,defaultOpen:r=!1,onOpenChange:o,children:a})=>{const[n,i]=Qe(e,r,o),l=t.useMemo(()=>({open:n,setOpen:i}),[n,i]);return s(p,{value:l,children:a})};Pt.displayName="Dialog.Root";const Lt=t.forwardRef(({asChild:e,children:t,onClick:o,...a},n)=>{const{setOpen:i}=b();return s(e?r.Slot:"button",{ref:n,type:e?void 0:"button",onClick:e=>{o?.(e),i(!0)},...a,children:t})});Lt.displayName="Dialog.Trigger";const jt=({children:e,container:r,forceMount:o})=>{const{open:n}=b(),[s,i]=t.useState(!1);return t.useEffect(()=>{i(!0)},[]),s&&(o||n)?a.createPortal(e,r??document.body):null};jt.displayName="Dialog.Portal";const $t=t.forwardRef(({className:e,forceMount:t,...r},o)=>{const{open:a}=b();return t||a?s("div",{ref:o,"data-state":a?"open":"closed",className:Ve("fixed inset-0 z-30 bg-overlay backdrop-blur-xs","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...r}):null});$t.displayName="Dialog.Overlay";const Vt=t.forwardRef(({children:e,className:r,forceMount:a,onEscapeKeyDown:n,onPointerDownOutside:i,onInteractOutside:l,onOpenAutoFocus:c,onCloseAutoFocus:d,...u},m)=>{const{open:f,setOpen:p}=b(),h=t.useRef(null),g=t.useId(),v=t.useId();t.useEffect(()=>{"function"==typeof m?m(h.current):m&&(m.current=h.current)},[m]),Je(f);const x=t.useCallback(e=>{"Escape"===e.key&&(n?.(e),e.defaultPrevented||p(!1))},[n,p]);t.useEffect(()=>{if(f)return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[f,x]);const w=t.useCallback(e=>{const t=e.target;h.current&&!h.current.contains(t)&&(i?.(e),l?.(e),e.defaultPrevented||p(!1))},[i,l,p]);return t.useEffect(()=>{if(f)return document.addEventListener("pointerdown",w),()=>document.removeEventListener("pointerdown",w)},[f,w]),a||f?s(o.FocusTrap,{active:f,focusTrapOptions:{initialFocus:!1,fallbackFocus:()=>h.current??document.body,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!0,allowOutsideClick:!0,preventScroll:!1,onActivate:()=>{requestAnimationFrame(()=>{const e=new Event("openautofocus",{bubbles:!0,cancelable:!0});c?.(e),!e.defaultPrevented&&h.current&&h.current.focus()})},onDeactivate:()=>{requestAnimationFrame(()=>{const e=new Event("closeautofocus",{bubbles:!0,cancelable:!0});d?.(e)})}},children:s("div",{className:"fixed inset-0 z-40 flex items-center justify-center p-4",children:s("div",{ref:h,role:"dialog","aria-modal":"true","aria-labelledby":g,"aria-describedby":v,"data-state":f?"open":"closed",tabIndex:-1,className:Ve("relative rounded-lg shadow-xl bg-surface-neutral","flex flex-col max-w-lg w-full max-h-[90vh] gap-10 p-10","border border-bdr-subtle outline-none overflow-hidden","focus:outline-none focus:ring-0","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",r),...u,children:e})})}):null});Vt.displayName="Dialog.Content";const Ft=t.forwardRef(({className:e,children:t,...r},o)=>s("header",{ref:o,className:Ve("relative grid gap-2.5 self-stretch",e),...r,children:t}));Ft.displayName="Dialog.Header";const Tt=t.forwardRef(({children:e,asChild:o,onClick:a,...n},i)=>{const{setOpen:l}=b(),c=t.useCallback(e=>{a?.(e),e.defaultPrevented||l(!1)},[a,l]);return s(o?r.Slot:"button",{ref:i,type:o?void 0:"button",onClick:c,...n,children:e})});Tt.displayName="Dialog.Close";const Wt=t.forwardRef(({children:e,className:t,asChild:o,...a},n)=>s(o?r.Slot:"h2",{ref:n,className:Ve("text-2xl font-semibold",t),...a,children:e}));Wt.displayName="Dialog.Title";const _t=t.forwardRef(({children:e,className:t,asChild:o,...a},n)=>s(o?r.Slot:"p",{ref:n,className:Ve("",t),...a,children:e}));_t.displayName="Dialog.Description";const qt=t.forwardRef(({className:e,children:t,...r},o)=>s("div",{ref:o,className:Ve("min-h-0 flex-1 overflow-y-auto",e),...r,children:t}));qt.displayName="Dialog.Body";const Bt=t.forwardRef(({className:e,children:t,...r},o)=>s("footer",{ref:o,className:Ve("flex justify-end gap-2.5",e),...r,children:t}));Bt.displayName="Dialog.Footer";const Gt=t.forwardRef((e,t)=>s(Tt,{asChild:!0,ref:t,...e,children:s(wt,{"aria-label":"Close","data-area":"close",icon:ht,size:"lg",iconSize:36,iconStrokeWidth:1,shape:"round",variant:"filled"})}));Gt.displayName="Dialog.DefaultClose";const Ht=t.forwardRef(({title:e,description:t,withClose:r,className:o,children:a,...n},i)=>s(Ft,{ref:i,className:Ve(r&&"grid-cols-[minmax(0,1fr)_auto]",o),...n,children:[s(Wt,{className:Ve(r&&"col-start-1 row-start-1 min-w-0"),children:e}),r&&s(Gt,{className:"col-start-2 row-start-1 row-span-2 self-start justify-self-end"}),t&&s(_t,{className:Ve(r&&"row-start-2"),children:t}),a]}));Ht.displayName="Dialog.DefaultHeader";const Kt=Object.assign(Pt,{Root:Pt,Trigger:Lt,Portal:jt,Overlay:$t,Content:Vt,Header:Ft,Close:Tt,Title:Wt,Description:_t,Body:qt,Footer:Bt,DefaultClose:Gt,DefaultHeader:Ht}),Xt=Be(["relative flex rounded-sm overflow-hidden","h-12 border focus-within:border-bdr-solid","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight"],{variants:{state:{default:"border-bdr-subtle focus-within:border-bdr-strong",error:"border-error focus-within:border-error focus-within:ring-error/50"},disabled:{true:"select-none"}},defaultVariants:{state:"default",disabled:!1}}),Yt=({children:e,error:t})=>s("div",{className:Ve("flex items-center justify-center shrink-0 min-w-12 px-4","text-sm text-subtle bg-surface-primary","first:rounded-l-sm first:border-r first:border-bdr-subtle","last:rounded-r-sm last:border-l last:border-bdr-subtle",t&&"first:border-error last:border-error"),children:e}),Ut=t.forwardRef(({className:e,label:t,description:r,error:o,startAddon:a,endAddon:n,id:i,disabled:l,readOnly:c,...d},u)=>{const m=v(We(i)),f=o?"error":"default",p="error"===f;return s("div",{className:Ve("w-full",l&&"opacity-30",e),children:[(!!t||!!r)&&s("div",{className:"mb-2",children:[t&&s("label",{htmlFor:m,className:"block text-base font-semibold text-main",children:s("div",{className:"flex items-center gap-2",children:[c&&s(mt,{size:16,strokeWidth:2.5}),t]})}),r&&s("div",{className:"text-sm text-subtle",children:r})]}),s("div",{className:Ve(Xt({state:f,disabled:l})),children:[a&&s(Yt,{error:p,children:a}),s("input",{ref:u,id:m,className:Ve("flex-1 w-full px-4.5 text-base","text-main bg-surface-neutral placeholder:text-subtle","border-0 focus:outline-none","disabled:select-none enabled:read-only:bg-surface-primary",a&&"rounded-l-none",n&&"rounded-r-none"),disabled:l,readOnly:c,...d}),n&&s(Yt,{error:p,children:n})]}),o&&s("div",{className:"flex items-center gap-2 mt-2 leading-5 text-error",children:[s(pt,{size:16,strokeWidth:2.5}),o]})]})});function Zt(e,t,r=!1){return"function"==typeof e?e:!0===e||void 0===e&&r?t:void 0}Ut.displayName="Input";const Jt=t.forwardRef(({className:e,href:t,external:r="auto",newTab:o,leftIcon:a,rightIcon:n,children:i,rel:l,...c},d)=>{const u="auto"===r?function(e){try{if(e.startsWith("mailto:")||e.startsWith("tel:"))return!0;const t="undefined"!=typeof window?window.location:void 0;return!t||new URL(e,t.origin).origin!==t.origin}catch{return!0}}(t):r,m=o??u?"_blank":void 0,f=Zt(a,lt),p=Zt(n,ut,u);return s("a",{ref:d,href:t,className:Ve("inline-flex items-center align-baseline gap-1","text-sm font-normal underline underline-offset-3 decoration-1","visited:text-link-visited hover:text-main-hover",e),target:m,rel:o||u?"noopener noreferrer":"noreferrer",...c,children:[f&&s(f,{className:"inline-block flex-none w-3.5 h-3.5",strokeWidth:1.5,"aria-hidden":"true"}),i,p&&s(p,{className:"inline-block flex-none w-3.5 h-3.5",strokeWidth:1.5,"aria-hidden":"true"})]})});function Qt(e,r){return t.Children.toArray(e).find(e=>function(e,r){return t.isValidElement(e)&&e.type===r}(e,r))}Jt.displayName="Link";const er=({children:e,className:t,...r})=>s("div",{className:Ve("flex items-center gap-2.5 flex-shrink-0",t),...r,children:e}),tr=({className:e,children:t,...r})=>s("div",{className:Ve("flex-1 min-w-0",e),...r,children:t});tr.displayName="ListItem.Content";const rr=({className:e,label:t,description:r,metadata:o,icon:a})=>s(tr,{className:Ve(a&&"grid grid-cols-[auto_1fr] gap-2.5 items-center",e),children:[a&&s("div",{className:"flex items-center justify-center flex-shrink-0 group-data-[tone=inverse]:text-alt",children:a}),s("div",{className:"min-w-0 text-left",children:[t&&s("h1",{className:"truncate font-semibold group-data-[tone=inverse]:text-alt",children:t}),r&&s("p",{className:"truncate text-sm text-subtle group-data-[tone=inverse]:text-alt",children:r}),o&&s("p",{className:"text-xs text-subtle group-data-[tone=inverse]:text-alt",children:o})]})]}),or=({children:e,className:t,...r})=>s("div",{className:Ve("flex items-center gap-5 flex-shrink-0",t),...r,children:e});or.displayName="ListItem.Right";const ar=({children:e,className:t,selected:r,...o})=>{const a=Qt(e,er),n=Qt(e,tr)??Qt(e,rr),i=Qt(e,or);return s("div",{className:Ve("group flex items-center px-2.5 py-1 gap-2.5",r&&"bg-surface-primary-selected text-alt",t),"data-tone":r&&"inverse",role:"listitem",...o,children:[a,n,i]})};ar.displayName="ListItem";const nr=Object.assign(ar,{Left:er,Content:tr,DefaultContent:rr,Right:or}),sr=[],ir=({baseId:e,selection:r,defaultSelection:o=sr,onSelectionChange:a,active:n,defaultActive:i,setActive:l,selectionMode:c="single",focusable:d=!0,disabled:u,children:m,keyHandler:f,registerItem:p,unregisterItem:b,getItems:h,isItemDisabled:g})=>{const x=e??v(),[y,k]=t.useState(()=>new Set(o)),N=void 0!==r,C=t.useMemo(()=>N?new Set(r):y,[N,r,y]),[I,z]=Qe(n,i,l),S=et(),R=p??S.registerItem,D=b??S.unregisterItem,M=h??S.getItems,E=g??S.isItemDisabled,O=t.useCallback(e=>{const t=C.has(e),r=new Set(C);"single"===c?(r.clear(),t||r.add(e)):t?r.delete(e):r.add(e),N||k(r),a?.(Array.from(r)),z(e)},[C,c,N,a,z]),A=t.useMemo(()=>({active:I,selection:C,selectionMode:c,focusable:d,disabled:u,setActive:z,toggleValue:O,baseId:x,keyHandler:f,registerItem:R,unregisterItem:D,getItems:M,isItemDisabled:E}),[I,C,c,d,u,z,O,x,f,R,D,M,E]);return s(w,{value:A,children:m})};ir.displayName="ListboxRoot";const lr=t.forwardRef(({className:e,label:r,children:o,...a},n)=>{const i=t.useRef(null),{active:l,disabled:c,setActive:d,toggleValue:u,baseId:m,selectionMode:f,keyHandler:p,focusable:b=!0,getItems:h,isItemDisabled:g}=y(),{handleKeyDown:v}=tt({getItems:h,isItemDisabled:g,active:l,setActive:d,loop:!1,orientation:"vertical",onSelect:e=>{u(e)}}),x=p??v;return t.useEffect(()=>{if(!l||!i.current)return;const e=i.current.querySelector(`#${m}-listbox-option-${l}`);e&&e.scrollIntoView({block:"nearest",behavior:"auto"})},[l,m]),s("div",{ref:Te(n,i),id:`${m}-listbox`,className:Ve("flex flex-col items-start grow shrink-0 basis-0","max-h-100 overflow-y-auto","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50",c&&"pointer-events-none select-none opacity-30",e),role:"listbox","aria-disabled":c,"aria-label":r,"aria-multiselectable":"multiple"===f||void 0,"aria-activedescendant":l?`${m}-listbox-option-${l}`:void 0,tabIndex:b&&!c?0:-1,onKeyDown:x,...a,children:o})});lr.displayName="ListboxContent";const cr=Be("group flex w-full items-center px-4.5 py-1 gap-x-2.5 cursor-pointer",{variants:{selected:{true:"bg-surface-primary-selected text-alt hover:bg-surface-primary-selected-hover",false:"hover:bg-surface-primary-hover"},active:{true:"bg-surface-primary-hover",false:""},disabled:{true:"opacity-30 cursor-not-allowed pointer-events-none",false:""}},compoundVariants:[{selected:!0,active:!0,class:"bg-surface-primary-selected-hover"}],defaultVariants:{selected:!1,active:!1,disabled:!1}}),dr=({value:e,disabled:r=!1,children:o,className:a,...n})=>{const i=y(),{disabled:l,toggleValue:c,baseId:d,registerItem:u,unregisterItem:m}=i,f=i.selection.has(e),p=i.active===e,b=r||l;t.useEffect(()=>(u(e,b),()=>m(e)),[e,b,u,m]);const h=t.useCallback(()=>{b||c(e)},[b,c,e]);return s("div",{id:`${d}-listbox-option-${e}`,className:Ve(cr({selected:f,active:p,disabled:b}),a),role:"option","aria-selected":f,"aria-disabled":b??void 0,"data-value":e,"data-active":p||void 0,"data-tone":f&&"inverse",onClick:h,...n,children:o})};dr.displayName="ListboxItem";const ur=Object.assign(ir,{Root:ir,Content:lr,Item:dr}),mr=({open:e,defaultOpen:r=!1,onOpenChange:o,children:a})=>{const n=t.useRef(null),i=v(void 0,"menu-trigger"),l=v(void 0,"menu"),[c,d]=Qe(e,r,o),[u,m]=t.useState(void 0),{registerItem:f,unregisterItem:p,getItems:b,isItemDisabled:h}=et(),g=t.useMemo(()=>({open:c,setOpen:d,active:u,setActive:m,registerItem:f,unregisterItem:p,getItems:b,isItemDisabled:h,triggerId:i,menuId:l,triggerRef:n}),[c,d,u,m,f,p,b,h,i,l]);return t.useEffect(()=>{!c&&n.current&&n.current.focus()},[c]),s(N,{value:g,children:a})};mr.displayName="Menu.Root";const fr=t.forwardRef(({asChild:e,onClick:t,onKeyDown:o,className:a,children:n,...i},l)=>{const{open:c,setOpen:d,triggerId:u,menuId:m,triggerRef:f}=C();return s(e?r.Slot:"button",{ref:Te(l,f),id:u,type:e?void 0:"button","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?m:void 0,onClick:e=>{t?.(e),d(!c)},onKeyDown:e=>{o?.(e),"ArrowDown"!==e.key||c||(e.preventDefault(),d(!0))},className:a,...i,children:n})});fr.displayName="Menu.Trigger";const pr=({container:e,forceMount:r,children:o})=>{const{open:n}=C(),[s,i]=t.useState(!1);return t.useEffect(()=>{i(!0)},[]),s&&(r||n)?a.createPortal(o,e??document.body):null};pr.displayName="Menu.Portal";const br=t.forwardRef(({forceMount:e,align:r="start",loop:o=!0,onEscapeKeyDown:a,onPointerDownOutside:n,onInteractOutside:i,className:l,children:c,...d},u)=>{const{open:m,setOpen:f,active:p,setActive:b,getItems:h,isItemDisabled:g,menuId:v,triggerRef:x}=C(),w=t.useRef(null),y=Te(u,w),[k,N]=t.useState(void 0);t.useEffect(()=>{if(!m||!x?.current||!w.current)return;const e=()=>{if(!x.current||!w.current)return;const e=x.current.getBoundingClientRect(),t=w.current.getBoundingClientRect(),o=window.innerWidth,a=window.innerHeight;let n=e.bottom;if(n+t.height>a&&(n=e.top-t.height),n<0&&(n=10),"start"===r){let r=e.left;r+t.width>o&&(r=e.right-t.width),r<0&&(r=10),N({top:n,left:r})}else{let r=o-e.right;e.right-t.width<0&&(r=o-(e.left+t.width)),r<0&&(r=10),N({top:n,right:r})}};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[m,x,r]),t.useEffect(()=>{if(m&&w.current){w.current.focus();const e=h().find(e=>!g(e));e&&b(e)}},[m,h,g,b]);const{handleKeyDown:I}=tt({getItems:h,isItemDisabled:g,active:p,setActive:b,loop:o,orientation:"vertical",onSelect:e=>{const t=document.getElementById(e);t&&t.click()}}),z=t.useCallback(e=>{if("Tab"!==e.key)return"Escape"===e.key?(e.preventDefault(),a?.(e),void f(!1)):void I(e);f(!1)},[I,f,a]),S=t.useCallback(e=>{const t=e.target;t instanceof Node&&(x?.current?.contains(t)||w.current&&!w.current.contains(t)&&(n?.(e),i?.(e),e.defaultPrevented||f(!1)))},[n,i,f,x]);return t.useEffect(()=>{if(m)return document.addEventListener("pointerdown",S),()=>document.removeEventListener("pointerdown",S)},[m,S]),t.useEffect(()=>{if(!p||!w.current)return;const e=w.current.querySelector(`#${p}`);e&&e.scrollIntoView({block:"nearest",behavior:"auto"})},[p]),e||m?s("div",{ref:y,id:v,role:"menu","aria-orientation":"vertical","aria-activedescendant":p,tabIndex:-1,"data-state":m?"open":"closed",className:Ve("fixed z-40 flex flex-col items-start w-fit py-2.5 mt-2.5 overflow-hidden","rounded-sm border border-bdr-subtle bg-surface-neutral shadow-lg outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",!k&&"opacity-0 pointer-events-none",l),style:{...k},onKeyDown:z,...d,children:c}):null});br.displayName="Menu.Content";const hr=Be("flex w-full items-center px-4.5 py-2.5 gap-x-1.25 cursor-pointer text-sm outline-none",{variants:{active:{true:"bg-surface-primary-selected",false:""},disabled:{true:"hover:bg-transparent opacity-30 select-none pointer-events-none",false:""}},compoundVariants:[{active:!0,disabled:!1,class:"text-alt outline-none ring-3 ring-inset ring-bdr-strong"}],defaultVariants:{active:!1,disabled:!1}}),gr=({id:e,asChild:o=!1,disabled:a=!1,onSelect:n,className:i,children:l,...c})=>{const d=v(e,e?void 0:"menu-item"),{active:u,setActive:m,setOpen:f,registerItem:p,unregisterItem:b}=C(),h=u===d,g=a;t.useEffect(()=>(p(d,a),()=>b(d)),[d,a,p,b]);const x=t.useCallback(()=>{if(g)return;const e=new Event("select",{bubbles:!0,cancelable:!0});n?.(e),e.defaultPrevented||f(!1)},[g,n,f]),w=t.useCallback(()=>{h||m(d)},[h,m,d]),y=t.useCallback(()=>{m(void 0)},[m]);return s(o?r.Slot:"div",{id:d,role:"menuitem","aria-disabled":g,"data-active":h||void 0,"data-disabled":g||void 0,className:Ve(hr({active:h,disabled:g}),i),onClick:x,onPointerMove:w,onPointerLeave:y,...c,children:l})};gr.displayName="Menu.Item";const vr=t.forwardRef(({className:e,children:t,...r},o)=>s("div",{ref:o,className:Ve("px-3 py-1.5 text-xs font-semibold text-subtle",e),...r,children:t}));vr.displayName="Menu.Label";const xr=t.forwardRef(({className:e,...t},r)=>s("div",{ref:r,role:"separator","aria-orientation":"horizontal",className:Ve("my-1 h-px bg-bdr-subtle",e),...t}));xr.displayName="Menu.Separator";const wr=Object.assign(mr,{Root:mr,Trigger:fr,Portal:pr,Content:br,Item:gr,Label:vr,Separator:xr}),yr=({id:e,value:r,defaultValue:o="",onChange:a,placeholder:n="Search",clearLabel:i="Clear",disabled:l,readOnly:c,children:d,className:u,...m})=>{const f=v(We(e)),p=t.useRef(null),[b,h]=Qe(r,o,a),g=t.useMemo(()=>({id:f,value:b,disabled:l,readOnly:c,placeholder:n,clearLabel:i,setValue:h,inputRef:p}),[f,b,l,c,n,i,h]);return s(z,{value:g,children:s("div",{className:Ve("relative flex gap-2.5 items-center rounded-sm overflow-hidden","h-11.5 px-4.5 py-3","border border-bdr-subtle focus-within:border-bdr-strong","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight",c?"bg-surface-primary":"bg-surface-neutral",l&&"pointer-events-none select-none opacity-30",u),...m,children:d})})};yr.displayName="SearchFieldRoot";const kr=({className:e})=>s(bt,{className:Ve("flex items-center justify-center shrink-0 size-5.5 text-subtle",e),strokeWidth:1.5});kr.displayName="SearchFieldIcon";const Nr=t.forwardRef(({className:e,...t},r)=>{const{id:o,value:a,disabled:n,readOnly:i,placeholder:l,setValue:c,inputRef:d}=S();return s("input",{ref:Te(r,d),id:o,className:Ve("h-5.5 w-full text-base border-0","text-main bg-surface-neutral","placeholder:text-subtle","focus:outline-none","enabled:read-only:bg-surface-primary",e),value:a,onChange:e=>{c(e.currentTarget.value)},readOnly:i,disabled:n,placeholder:l,"aria-label":"Search","aria-disabled":n,...t})});Nr.displayName="SearchFieldInput";const Cr=({className:e,...t})=>{const{value:r,disabled:o,readOnly:a,clearLabel:n,setValue:i,inputRef:l}=S();if(!r||o||a)return null;return s(wt,{className:Ve("flex items-center justify-center shrink-0 size-7 -mx-1.5 text-subtle",e),icon:ht,title:n,onClick:()=>{i(""),l.current?.focus()},disabled:o,iconSize:28,iconStrokeWidth:1.25,...t})};Cr.displayName="SearchFieldClear";const Ir=Object.assign(yr,{Root:yr,Icon:kr,Input:Nr,Clear:Cr}),zr=({className:e,selected:t,children:r,label:o,description:a,metadata:n,icon:i,readOnly:l,checked:c,defaultChecked:d,onCheckedChange:u,...m})=>s(nr,{className:Ve(!t&&"hover:bg-surface-primary-hover",e),selected:t,role:"row","aria-selected":t,...m,children:[s(nr.Left,{children:s(vt,{checked:c,defaultChecked:d,onCheckedChange:u,readOnly:l})}),s(nr.DefaultContent,{label:o,description:a,metadata:n,icon:i}),s(nr.Right,{children:r})]});zr.displayName="SelectableListItem";const Sr=({className:e,label:t,decorative:r=!1,...o})=>{const a=r?"true":void 0;return t?s("div",{role:"separator","aria-orientation":"horizontal","aria-hidden":a,className:Ve("inline-flex w-full gap-2.5",e),...o,children:[s("span",{className:"min-w-0 truncate text-subtle uppercase",children:t}),s("span",{className:"min-w-6 flex-1 border-b-1 border-bdr-subtle"})]}):s("hr",{"aria-hidden":a,className:Ve("w-full border-bdr-subtle",e)})};Sr.displayName="Separator";const Rr={top:"bottom",bottom:"top",left:"right",right:"left"};function Dr({children:e,asChild:t,triggerRef:o,isOpen:a,onMouseEnter:n,onMouseLeave:i,onFocus:l,onBlur:c}){return s(t?r.Root:"div",{ref:o,className:t?void 0:"inline-flex",onMouseEnter:n,onMouseLeave:i,onFocus:l,onBlur:c,"aria-describedby":a?"tooltip":void 0,role:t?void 0:"button",tabIndex:t?void 0:0,children:e})}function Mr({children:e,actualSide:t,className:r,position:o,tooltipRef:a}){return s("div",{ref:a,role:"tooltip",className:Ve("fixed z-50 pointer-events-none select-none",!o.transformOrigin&&"opacity-0"),style:{top:`${o.top}px`,left:`${o.left}px`,transformOrigin:o.transformOrigin},children:s("div",{className:Ve("relative w-fit rounded-xs px-2 py-1 text-xs","bg-tooltip text-tooltip-foreground shadow-md","animate-in fade-in-0 zoom-in-95","top"===t&&"slide-in-from-top-2","bottom"===t&&"slide-in-from-bottom-2","left"===t&&"slide-in-from-left-2","right"===t&&"slide-in-from-right-2",r),children:[e,s("div",{className:Ve("absolute size-2 rotate-45","top"===t&&"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2","bottom"===t&&"top-0 left-1/2 -translate-x-1/2 -translate-y-1/2","left"===t&&"right-0 top-1/2 -translate-y-1/2 translate-x-1/2","right"===t&&"left-0 top-1/2 -translate-y-1/2 -translate-x-1/2"),style:{backgroundColor:"inherit"}})]})})}exports.Avatar=Ye,exports.AvatarProvider=l,exports.Button=Ze,exports.Checkbox=vt,exports.Combobox=At,exports.ComboboxProvider=u,exports.Dialog=Kt,exports.DialogProvider=p,exports.IconButton=wt,exports.IdProvider=g,exports.Input=Ut,exports.Link=Jt,exports.ListItem=nr,exports.Listbox=ur,exports.ListboxProvider=w,exports.Menu=wr,exports.MenuProvider=N,exports.SearchField=Ir,exports.SearchFieldProvider=z,exports.SelectableListItem=zr,exports.Separator=Sr,exports.Tooltip=function({className:r,children:o,value:a,side:n="bottom",asChild:i=!0,delay:l=0}){const[c,d]=t.useState(!1),u=t.useRef(null),m=t.useRef(null),f=t.useRef(),p=null!=a&&""!==a,b=function(e,r,o,a){const[n,s]=t.useState({top:0,left:0,transformOrigin:"",actualSide:r});return t.useEffect(()=>{if(!e||!o.current||!a.current)return;const t=o.current.getBoundingClientRect(),n=a.current.getBoundingClientRect(),i=e=>{let r=0,o=0,a="";switch(e){case"top":r=t.top+window.scrollY-n.height-8,o=t.left+window.scrollX+(t.width-n.width)/2,a="bottom center";break;case"bottom":r=t.bottom+window.scrollY+8,o=t.left+window.scrollX+(t.width-n.width)/2,a="top center";break;case"left":r=t.top+window.scrollY+(t.height-n.height)/2,o=t.left+window.scrollX-n.width-8,a="center right";break;case"right":r=t.top+window.scrollY+(t.height-n.height)/2,o=t.right+window.scrollX+8,a="center left"}return{top:r,left:o,transformOrigin:a,actualSide:e}},l=({top:e,left:t})=>{const r=window.scrollY+8,o=window.scrollY+window.innerHeight-n.height-8,a=window.scrollX+8,s=window.scrollX+window.innerWidth-n.width-8;return e>=r&&e<=o&&t>=a&&t<=s};let c=i(r);if(!l(c)){const e=i(Rr[r]);l(e)&&(c=e)}s(c)},[e,r]),n}(c&&p,n,u,m);t.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);const h=t.useCallback(()=>{p&&(f.current&&clearTimeout(f.current),l>0?f.current=window.setTimeout(()=>d(!0),l):d(!0))},[l,p]),g=t.useCallback(()=>{f.current&&clearTimeout(f.current),d(!1)},[]),v=t.useCallback(()=>{p&&d(!0)},[p]),x=t.useCallback(()=>d(!1),[]);return s(e.Fragment,{children:[s(Dr,{asChild:i,triggerRef:u,isOpen:c,onMouseEnter:h,onMouseLeave:g,onFocus:v,onBlur:x,children:o}),c&&p&&t.createPortal(s(Mr,{actualSide:b.actualSide,className:r,position:b,tooltipRef:m,children:a}),document.body)]})},exports.cn=Ve,exports.generateAriaId=R,exports.generateAriaIds=function(e,t){return t.reduce((t,r)=>(t[r]=R(e,r),t),{})},exports.generateItemId=D,exports.getActiveDescendantId=function(e,t,r){if(r)return D(e,t,r)},exports.setRef=Fe,exports.unwrap=We,exports.useAvatar=c,exports.useCombobox=m,exports.useComposedRefs=Te,exports.useControlledState=Qe,exports.useDialog=b,exports.useItemRegistry=et,exports.useKeyboardNavigation=tt,exports.useListbox=y,exports.useMenu=C,exports.usePrefixedId=v,exports.useScrollLock=Je,exports.useSearchField=S;
26
+ */vt.displayName="Checkbox";const xt=Be(["p-0"],{variants:{size:{sm:"h-9 w-9",md:"h-10 w-10",lg:"h-11.5 w-11.5"},shape:{square:"rounded-sm",round:"rounded-full"}},defaultVariants:{size:"md",shape:"square"}}),wt=t.forwardRef(({className:e,variant:t="text",size:r="md",shape:o="square",icon:a,...n},i)=>s(Ze,{ref:i,className:Ve(xt({size:r,shape:o}),e),variant:t,size:r,startIcon:a,label:"",...n}));function yt(e,t,r="any"){if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;const o="any"===r?[...e].sort():e,a="any"===r?[...t].sort():t;for(let n=0;n<o.length;n+=1)if(o[n]!==a[n])return!1;return!0}wt.displayName="IconButton";const kt=[],Nt=e=>t=>yt(t,e)?t:e,Ct=({children:e,open:r,defaultOpen:o=!1,onOpenChange:a,closeOnBlur:n=!0,value:i,defaultValue:l="",onChange:c,disabled:d=!1,error:m=!1,selectionMode:f="single",selection:p,defaultSelection:b=kt,onSelectionChange:h,active:g,defaultActive:x,setActive:w})=>{const y=v(),[k,N]=Qe(r,o,a),[C,I]=Qe(i,l,c),z="single"!==f,S="staged"===f,[R,D]=t.useState(()=>new Set(b)),M=void 0!==p,E=t.useMemo(()=>M?new Set(p):R,[M,p,R]),O=t.useMemo(()=>Array.from(E),[E]),[A,P]=t.useState(O);t.useEffect(()=>{P(S?Nt(O):O)},[O,S]);const L=S?A:O,j=t.useMemo(()=>new Set(L),[L]),$=t.useMemo(()=>S&&!yt(A,O),[S,A,O]),V=t.useCallback(()=>{S&&P(Nt(O))},[S,O]),[F,T]=Qe(g,x,w),{registerItem:W,unregisterItem:_,getItems:q,isItemDisabled:B}=et(),G=t.useCallback(e=>{I(e),N(!0)},[I,N]),H=t.useCallback(e=>{N(e),e||V()},[N,V]),K=t.useCallback(e=>{const t=new Set(e);M||D(t),h?.(e),"single"===f&&N(!1)},[M,h,f,N]),X=t.useCallback(e=>{S?P(e):K(e)},[S,K]),Y=t.useCallback(()=>{S&&(yt(A,O)||K(A),N(!1))},[S,A,O,K,N]),{handleKeyDown:U}=tt({getItems:q,isItemDisabled:B,active:F,setActive:T,loop:!1,orientation:"vertical",onSelect:e=>{let t;t=z?L.includes(e)?L.filter(t=>t!==e):[...L,e]:[e],X(t)}}),Z=t.useCallback(e=>{if(!d){if("ArrowDown"!==e.key&&"ArrowUp"!==e.key||k||(e.preventDefault(),N(!0)),"Escape"===e.key)return e.preventDefault(),void H(!1);U(e)}},[d,k,N,H,U]);t.useEffect(()=>{if(k&&void 0===F){const e=q();e.length>0&&T(e[0])}},[k,F,q,T]);const J=t.useMemo(()=>({open:k,setOpen:H,inputValue:C,setInputValue:G,baseId:y,active:F,disabled:d,error:m,closeOnBlur:n,keyHandler:Z,selection:j,appliedSelection:O,stagedSelection:A,stagingEnabled:S,hasStagedChanges:$,applyStagedSelection:Y,resetStagedSelection:V}),[k,H,n,Z,C,G,F,y,d,m,j,O,A,S,$,Y,V]);return s(u,{value:J,children:s(mr.Root,{selectionMode:z?"multiple":"single",selection:L,onSelectionChange:X,disabled:d,active:F,focusable:!1,baseId:y,setActive:T,keyHandler:Z,registerItem:W,unregisterItem:_,getItems:q,isItemDisabled:B,children:e})})};Ct.displayName="Combobox.Root";const It=t.forwardRef(({className:e,children:r,...o},a)=>{const n=t.useRef(null),{setOpen:i,closeOnBlur:l}=m(),c=l?t.useCallback(e=>{const t=e.relatedTarget;t&&n.current?.contains(t)||i(!1)},[i]):void 0;return s("div",{ref:Te(a,n),className:e,onBlur:c,...o,children:r})});It.displayName="Combobox.Content";const zt=Be(["flex gap-2.5 items-center","h-12 rounded-sm border bg-surface-neutral","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight"],{variants:{error:{true:"border-error focus-within:border-error focus-within:ring-error/50",false:"border-bdr-subtle focus-within:border-bdr-strong"},open:{true:"border-bdr-strong",false:null},disabled:{true:"pointer-events-none select-none opacity-30",false:null}},defaultVariants:{error:!1,open:!1,disabled:!1}}),St=({className:e,children:t,...r})=>{const{open:o,disabled:a,error:n}=m();return s("div",{className:Ve(zt({error:n,open:o,disabled:a}),e),"data-open":o?"true":void 0,...r,children:t})};St.displayName="Combobox.Control";const Rt=t.forwardRef((e,r)=>{const o=t.useRef(null),{open:a,keyHandler:n,baseId:i,active:l,disabled:c,error:d}=m();return t.useEffect(()=>{a&&!c&&o.current?.focus()},[a,c]),s(zr.Input,{ref:Te(r,o),id:`${i}-input`,onKeyDown:n,"aria-disabled":c,"aria-invalid":d??void 0,role:"combobox","aria-autocomplete":"list","aria-expanded":a,"aria-haspopup":"listbox","aria-controls":`${i}-listbox`,"aria-activedescendant":l?`${i}-listbox-option-${l}`:void 0,...e})});Rt.displayName="Combobox.Input";const Dt=({children:e,className:t,...r})=>{const{inputValue:o,setInputValue:a}=m();return s(zr.Root,{value:o,onChange:a,className:Ve("w-full pr-0","border-0 focus-within:border-0 focus-within:ring-0 focus-within:ring-offset-0",t),...r,children:e})};Dt.displayName="Combobox.Search";const Mt=({className:e,...t})=>s(zr.Icon,{className:e,...t});Mt.displayName="Combobox.SearchIcon";const Et=({className:e,...t})=>{const{open:r,setOpen:o,disabled:a}=m();return s(wt,{type:"button",variant:"text",size:"lg",icon:dt,"aria-label":"Toggle",onClick:()=>{a||o(!r)},disabled:a,tabIndex:-1,className:Ve("shrink-0 text-subtle transition-transform hover:bg-surface-primary-hover",r&&"rotate-180",e),...t})};Et.displayName="Combobox.Toggle";const Ot=({className:e,label:t="Apply",...r})=>{const{stagingEnabled:o,hasStagedChanges:a,applyStagedSelection:n}=m();return o&&a?s(Ze,{className:Ve("h-7 px-2.5 min-w-14 gap-2 text-xs",e),type:"button",label:t,variant:"outline",onClick:n,...r}):null};Ot.displayName="Combobox.Apply";const At=({children:e,className:t,...r})=>{const{open:o}=m();return o?s("div",{className:Ve("absolute left-0 right-0 z-50 mt-1 rounded-sm bg-surface-neutral shadow-lg ring-1 ring-bdr-subtle",t),...r,children:e}):null};At.displayName="Combobox.Popup";const Pt=Object.assign(Ct,{Root:Ct,Content:It,Control:St,Search:Dt,Input:Rt,SearchIcon:Mt,Toggle:Et,Apply:Ot,Popup:At}),Lt=({open:e,defaultOpen:r=!1,onOpenChange:o,children:a})=>{const[n,i]=Qe(e,r,o),l=t.useMemo(()=>({open:n,setOpen:i}),[n,i]);return s(p,{value:l,children:a})};Lt.displayName="Dialog.Root";const jt=t.forwardRef(({asChild:e,children:t,onClick:o,...a},n)=>{const{setOpen:i}=b();return s(e?r.Slot:"button",{ref:n,type:e?void 0:"button",onClick:e=>{o?.(e),i(!0)},...a,children:t})});jt.displayName="Dialog.Trigger";const $t=({children:e,container:r,forceMount:o})=>{const{open:n}=b(),[s,i]=t.useState(!1);return t.useEffect(()=>{i(!0)},[]),s&&(o||n)?a.createPortal(e,r??document.body):null};$t.displayName="Dialog.Portal";const Vt=t.forwardRef(({className:e,forceMount:t,...r},o)=>{const{open:a}=b();return t||a?s("div",{ref:o,"data-state":a?"open":"closed",className:Ve("fixed inset-0 z-30 bg-overlay backdrop-blur-xs","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...r}):null});Vt.displayName="Dialog.Overlay";const Ft=t.forwardRef(({children:e,className:r,forceMount:a,onEscapeKeyDown:n,onPointerDownOutside:i,onInteractOutside:l,onOpenAutoFocus:c,onCloseAutoFocus:d,...u},m)=>{const{open:f,setOpen:p}=b(),h=t.useRef(null),g=t.useId(),v=t.useId();t.useEffect(()=>{"function"==typeof m?m(h.current):m&&(m.current=h.current)},[m]),Je(f);const x=t.useCallback(e=>{"Escape"===e.key&&(n?.(e),e.defaultPrevented||p(!1))},[n,p]);t.useEffect(()=>{if(f)return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[f,x]);const w=t.useCallback(e=>{const t=e.target;h.current&&!h.current.contains(t)&&(i?.(e),l?.(e),e.defaultPrevented||p(!1))},[i,l,p]);return t.useEffect(()=>{if(f)return document.addEventListener("pointerdown",w),()=>document.removeEventListener("pointerdown",w)},[f,w]),a||f?s(o.FocusTrap,{active:f,focusTrapOptions:{initialFocus:!1,fallbackFocus:()=>h.current??document.body,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!0,allowOutsideClick:!0,preventScroll:!1,onActivate:()=>{requestAnimationFrame(()=>{const e=new Event("openautofocus",{bubbles:!0,cancelable:!0});c?.(e),!e.defaultPrevented&&h.current&&h.current.focus()})},onDeactivate:()=>{requestAnimationFrame(()=>{const e=new Event("closeautofocus",{bubbles:!0,cancelable:!0});d?.(e)})}},children:s("div",{className:"fixed inset-0 z-40 flex items-center justify-center p-4",children:s("div",{ref:h,role:"dialog","aria-modal":"true","aria-labelledby":g,"aria-describedby":v,"data-state":f?"open":"closed",tabIndex:-1,className:Ve("relative rounded-lg shadow-xl bg-surface-neutral","flex flex-col max-w-lg w-full max-h-[90vh] gap-10 p-10","border border-bdr-subtle outline-none overflow-hidden","focus:outline-none focus:ring-0","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",r),...u,children:e})})}):null});Ft.displayName="Dialog.Content";const Tt=t.forwardRef(({className:e,children:t,...r},o)=>s("header",{ref:o,className:Ve("relative grid gap-2.5 self-stretch",e),...r,children:t}));Tt.displayName="Dialog.Header";const Wt=t.forwardRef(({children:e,asChild:o,onClick:a,...n},i)=>{const{setOpen:l}=b(),c=t.useCallback(e=>{a?.(e),e.defaultPrevented||l(!1)},[a,l]);return s(o?r.Slot:"button",{ref:i,type:o?void 0:"button",onClick:c,...n,children:e})});Wt.displayName="Dialog.Close";const _t=t.forwardRef(({children:e,className:t,asChild:o,...a},n)=>s(o?r.Slot:"h2",{ref:n,className:Ve("text-2xl font-semibold",t),...a,children:e}));_t.displayName="Dialog.Title";const qt=t.forwardRef(({children:e,className:t,asChild:o,...a},n)=>s(o?r.Slot:"p",{ref:n,className:Ve("",t),...a,children:e}));qt.displayName="Dialog.Description";const Bt=t.forwardRef(({className:e,children:t,...r},o)=>s("div",{ref:o,className:Ve("min-h-0 flex-1 overflow-y-auto",e),...r,children:t}));Bt.displayName="Dialog.Body";const Gt=t.forwardRef(({className:e,children:t,...r},o)=>s("footer",{ref:o,className:Ve("flex justify-end gap-2.5",e),...r,children:t}));Gt.displayName="Dialog.Footer";const Ht=t.forwardRef((e,t)=>s(Wt,{asChild:!0,ref:t,...e,children:s(wt,{"aria-label":"Close","data-area":"close",icon:ht,size:"lg",iconSize:36,iconStrokeWidth:1,shape:"round",variant:"filled"})}));Ht.displayName="Dialog.DefaultClose";const Kt=t.forwardRef(({title:e,description:t,withClose:r,className:o,children:a,...n},i)=>s(Tt,{ref:i,className:Ve(r&&"grid-cols-[minmax(0,1fr)_auto]",o),...n,children:[s(_t,{className:Ve(r&&"col-start-1 row-start-1 min-w-0"),children:e}),r&&s(Ht,{className:"col-start-2 row-start-1 row-span-2 self-start justify-self-end"}),t&&s(qt,{className:Ve(r&&"row-start-2"),children:t}),a]}));Kt.displayName="Dialog.DefaultHeader";const Xt=Object.assign(Lt,{Root:Lt,Trigger:jt,Portal:$t,Overlay:Vt,Content:Ft,Header:Tt,Close:Wt,Title:_t,Description:qt,Body:Bt,Footer:Gt,DefaultClose:Ht,DefaultHeader:Kt}),Yt=Be(["relative flex rounded-sm overflow-hidden","h-12 border focus-within:border-bdr-solid","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight"],{variants:{state:{default:"border-bdr-subtle focus-within:border-bdr-strong",error:"border-error focus-within:border-error focus-within:ring-error/50"},disabled:{true:"select-none"}},defaultVariants:{state:"default",disabled:!1}}),Ut=({children:e,error:t})=>s("div",{className:Ve("flex items-center justify-center shrink-0 min-w-12 px-4","text-sm text-subtle bg-surface-primary","first:rounded-l-sm first:border-r first:border-bdr-subtle","last:rounded-r-sm last:border-l last:border-bdr-subtle",t&&"first:border-error last:border-error"),children:e}),Zt=t.forwardRef(({className:e,label:t,description:r,error:o,startAddon:a,endAddon:n,id:i,disabled:l,readOnly:c,...d},u)=>{const m=v(We(i)),f=o?"error":"default",p="error"===f;return s("div",{className:Ve("w-full",l&&"opacity-30",e),children:[(!!t||!!r)&&s("div",{className:"mb-2",children:[t&&s("label",{htmlFor:m,className:"block text-base font-semibold text-main",children:s("div",{className:"flex items-center gap-2",children:[c&&s(mt,{size:16,strokeWidth:2.5}),t]})}),r&&s("div",{className:"text-sm text-subtle",children:r})]}),s("div",{className:Ve(Yt({state:f,disabled:l})),children:[a&&s(Ut,{error:p,children:a}),s("input",{ref:u,id:m,className:Ve("flex-1 w-full px-4.5 text-base","text-main bg-surface-neutral placeholder:text-subtle","border-0 focus:outline-none","disabled:select-none enabled:read-only:bg-surface-primary",a&&"rounded-l-none",n&&"rounded-r-none"),disabled:l,readOnly:c,...d}),n&&s(Ut,{error:p,children:n})]}),o&&s("div",{className:"flex items-center gap-2 mt-2 leading-5 text-error",children:[s(pt,{size:16,strokeWidth:2.5}),o]})]})});function Jt(e,t,r=!1){return"function"==typeof e?e:!0===e||void 0===e&&r?t:void 0}Zt.displayName="Input";const Qt=t.forwardRef(({className:e,href:t,external:r="auto",newTab:o,leftIcon:a,rightIcon:n,children:i,rel:l,...c},d)=>{const u="auto"===r?function(e){try{if(e.startsWith("mailto:")||e.startsWith("tel:"))return!0;const t="undefined"!=typeof window?window.location:void 0;return!t||new URL(e,t.origin).origin!==t.origin}catch{return!0}}(t):r,m=o??u?"_blank":void 0,f=Jt(a,lt),p=Jt(n,ut,u);return s("a",{ref:d,href:t,className:Ve("inline-flex items-center align-baseline gap-1","text-sm font-normal underline underline-offset-3 decoration-1","visited:text-link-visited hover:text-main-hover",e),target:m,rel:o||u?"noopener noreferrer":"noreferrer",...c,children:[f&&s(f,{className:"inline-block flex-none w-3.5 h-3.5",strokeWidth:1.5,"aria-hidden":"true"}),i,p&&s(p,{className:"inline-block flex-none w-3.5 h-3.5",strokeWidth:1.5,"aria-hidden":"true"})]})});function er(e,r){return t.Children.toArray(e).find(e=>function(e,r){return t.isValidElement(e)&&e.type===r}(e,r))}Qt.displayName="Link";const tr=({children:e,className:t,...r})=>s("div",{className:Ve("flex items-center gap-2.5 flex-shrink-0",t),...r,children:e}),rr=({className:e,children:t,...r})=>s("div",{className:Ve("flex-1 min-w-0",e),...r,children:t});rr.displayName="ListItem.Content";const or=({className:e,label:t,description:r,metadata:o,icon:a})=>s(rr,{className:Ve(a&&"grid grid-cols-[auto_1fr] gap-2.5 items-center",e),children:[a&&s("div",{className:"flex items-center justify-center flex-shrink-0 group-data-[tone=inverse]:text-alt",children:a}),s("div",{className:"min-w-0 text-left",children:[t&&s("h1",{className:"truncate font-semibold group-data-[tone=inverse]:text-alt",children:t}),r&&s("p",{className:"truncate text-sm text-subtle group-data-[tone=inverse]:text-alt",children:r}),o&&s("p",{className:"text-xs text-subtle group-data-[tone=inverse]:text-alt",children:o})]})]}),ar=({children:e,className:t,...r})=>s("div",{className:Ve("flex items-center gap-5 flex-shrink-0",t),...r,children:e});ar.displayName="ListItem.Right";const nr=({children:e,className:t,selected:r,...o})=>{const a=er(e,tr),n=er(e,rr)??er(e,or),i=er(e,ar);return s("div",{className:Ve("group flex items-center px-2.5 py-1 gap-2.5",r&&"bg-surface-primary-selected text-alt",t),"data-tone":r&&"inverse",role:"listitem",...o,children:[a,n,i]})};nr.displayName="ListItem";const sr=Object.assign(nr,{Left:tr,Content:rr,DefaultContent:or,Right:ar}),ir=[],lr=({baseId:e,selection:r,defaultSelection:o=ir,onSelectionChange:a,active:n,defaultActive:i,setActive:l,selectionMode:c="single",focusable:d=!0,disabled:u,children:m,keyHandler:f,registerItem:p,unregisterItem:b,getItems:h,isItemDisabled:g})=>{const x=e??v(),[y,k]=t.useState(()=>new Set(o)),N=void 0!==r,C=t.useMemo(()=>N?new Set(r):y,[N,r,y]),[I,z]=Qe(n,i,l),S=et(),R=p??S.registerItem,D=b??S.unregisterItem,M=h??S.getItems,E=g??S.isItemDisabled,O=t.useCallback(e=>{const t=C.has(e),r=new Set(C);"single"===c?(r.clear(),t||r.add(e)):t?r.delete(e):r.add(e),N||k(r),a?.(Array.from(r)),z(e)},[C,c,N,a,z]),A=t.useMemo(()=>({active:I,selection:C,selectionMode:c,focusable:d,disabled:u,setActive:z,toggleValue:O,baseId:x,keyHandler:f,registerItem:R,unregisterItem:D,getItems:M,isItemDisabled:E}),[I,C,c,d,u,z,O,x,f,R,D,M,E]);return s(w,{value:A,children:m})};lr.displayName="ListboxRoot";const cr=t.forwardRef(({className:e,label:r,children:o,...a},n)=>{const i=t.useRef(null),{active:l,disabled:c,setActive:d,toggleValue:u,baseId:m,selectionMode:f,keyHandler:p,focusable:b=!0,getItems:h,isItemDisabled:g}=y(),{handleKeyDown:v}=tt({getItems:h,isItemDisabled:g,active:l,setActive:d,loop:!1,orientation:"vertical",onSelect:e=>{u(e)}}),x=p??v;return t.useEffect(()=>{if(!l||!i.current)return;const e=i.current.querySelector(`#${m}-listbox-option-${l}`);e&&e.scrollIntoView({block:"nearest",behavior:"auto"})},[l,m]),s("div",{ref:Te(n,i),id:`${m}-listbox`,className:Ve("flex flex-col items-start grow shrink-0 basis-0","max-h-100 overflow-y-auto","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50",c&&"pointer-events-none select-none opacity-30",e),role:"listbox","aria-disabled":c,"aria-label":r,"aria-multiselectable":"multiple"===f||void 0,"aria-activedescendant":l?`${m}-listbox-option-${l}`:void 0,tabIndex:b&&!c?0:-1,onKeyDown:x,...a,children:o})});cr.displayName="ListboxContent";const dr=Be("group flex w-full items-center px-4.5 py-1 gap-x-2.5 cursor-pointer",{variants:{selected:{true:"bg-surface-primary-selected text-alt hover:bg-surface-primary-selected-hover",false:"hover:bg-surface-primary-hover"},active:{true:"bg-surface-primary-hover",false:""},disabled:{true:"opacity-30 cursor-not-allowed pointer-events-none",false:""}},compoundVariants:[{selected:!0,active:!0,class:"bg-surface-primary-selected-hover"}],defaultVariants:{selected:!1,active:!1,disabled:!1}}),ur=({value:e,disabled:r=!1,children:o,className:a,...n})=>{const i=y(),{disabled:l,toggleValue:c,baseId:d,registerItem:u,unregisterItem:m}=i,f=i.selection.has(e),p=i.active===e,b=r||l;t.useEffect(()=>(u(e,b),()=>m(e)),[e,b,u,m]);const h=t.useCallback(()=>{b||c(e)},[b,c,e]);return s("div",{id:`${d}-listbox-option-${e}`,className:Ve(dr({selected:f,active:p,disabled:b}),a),role:"option","aria-selected":f,"aria-disabled":b??void 0,"data-value":e,"data-active":p||void 0,"data-tone":f&&"inverse",onClick:h,...n,children:o})};ur.displayName="ListboxItem";const mr=Object.assign(lr,{Root:lr,Content:cr,Item:ur}),fr=({open:e,defaultOpen:r=!1,onOpenChange:o,children:a})=>{const n=t.useRef(null),i=v(void 0,"menu-trigger"),l=v(void 0,"menu"),[c,d]=Qe(e,r,o),[u,m]=t.useState(void 0),{registerItem:f,unregisterItem:p,getItems:b,isItemDisabled:h}=et(),g=t.useMemo(()=>({open:c,setOpen:d,active:u,setActive:m,registerItem:f,unregisterItem:p,getItems:b,isItemDisabled:h,triggerId:i,menuId:l,triggerRef:n}),[c,d,u,m,f,p,b,h,i,l]);return t.useEffect(()=>{!c&&n.current&&n.current.focus()},[c]),s(N,{value:g,children:a})};fr.displayName="Menu.Root";const pr=t.forwardRef(({asChild:e,onClick:t,onKeyDown:o,className:a,children:n,...i},l)=>{const{open:c,setOpen:d,triggerId:u,menuId:m,triggerRef:f}=C();return s(e?r.Slot:"button",{ref:Te(l,f),id:u,type:e?void 0:"button","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?m:void 0,onClick:e=>{t?.(e),d(!c)},onKeyDown:e=>{o?.(e),"ArrowDown"!==e.key||c||(e.preventDefault(),d(!0))},className:a,...i,children:n})});pr.displayName="Menu.Trigger";const br=({container:e,forceMount:r,children:o})=>{const{open:n}=C(),[s,i]=t.useState(!1);return t.useEffect(()=>{i(!0)},[]),s&&(r||n)?a.createPortal(o,e??document.body):null};br.displayName="Menu.Portal";const hr=t.forwardRef(({forceMount:e,align:r="start",loop:o=!0,onEscapeKeyDown:a,onPointerDownOutside:n,onInteractOutside:i,className:l,children:c,...d},u)=>{const{open:m,setOpen:f,active:p,setActive:b,getItems:h,isItemDisabled:g,menuId:v,triggerRef:x}=C(),w=t.useRef(null),y=Te(u,w),[k,N]=t.useState(void 0);t.useEffect(()=>{if(!m||!x?.current||!w.current)return;const e=()=>{if(!x.current||!w.current)return;const e=x.current.getBoundingClientRect(),t=w.current.getBoundingClientRect(),o=window.innerWidth,a=window.innerHeight;let n=e.bottom;if(n+t.height>a&&(n=e.top-t.height),n<0&&(n=10),"start"===r){let r=e.left;r+t.width>o&&(r=e.right-t.width),r<0&&(r=10),N({top:n,left:r})}else{let r=o-e.right;e.right-t.width<0&&(r=o-(e.left+t.width)),r<0&&(r=10),N({top:n,right:r})}};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[m,x,r]),t.useEffect(()=>{if(m&&w.current){w.current.focus();const e=h().find(e=>!g(e));e&&b(e)}},[m,h,g,b]);const{handleKeyDown:I}=tt({getItems:h,isItemDisabled:g,active:p,setActive:b,loop:o,orientation:"vertical",onSelect:e=>{const t=document.getElementById(e);t&&t.click()}}),z=t.useCallback(e=>{if("Tab"!==e.key)return"Escape"===e.key?(e.preventDefault(),a?.(e),void f(!1)):void I(e);f(!1)},[I,f,a]),S=t.useCallback(e=>{const t=e.target;t instanceof Node&&(x?.current?.contains(t)||w.current&&!w.current.contains(t)&&(n?.(e),i?.(e),e.defaultPrevented||f(!1)))},[n,i,f,x]);return t.useEffect(()=>{if(m)return document.addEventListener("pointerdown",S),()=>document.removeEventListener("pointerdown",S)},[m,S]),t.useEffect(()=>{if(!p||!w.current)return;const e=w.current.querySelector(`#${p}`);e&&e.scrollIntoView({block:"nearest",behavior:"auto"})},[p]),e||m?s("div",{ref:y,id:v,role:"menu","aria-orientation":"vertical","aria-activedescendant":p,tabIndex:-1,"data-state":m?"open":"closed",className:Ve("fixed z-40 flex flex-col items-start w-fit py-2.5 mt-2.5 overflow-hidden","rounded-sm border border-bdr-subtle bg-surface-neutral shadow-lg outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",!k&&"opacity-0 pointer-events-none",l),style:{...k},onKeyDown:z,...d,children:c}):null});hr.displayName="Menu.Content";const gr=Be("flex w-full items-center px-4.5 py-2.5 gap-x-1.25 cursor-pointer text-sm outline-none",{variants:{active:{true:"bg-surface-primary-selected",false:""},disabled:{true:"hover:bg-transparent opacity-30 select-none pointer-events-none",false:""}},compoundVariants:[{active:!0,disabled:!1,class:"text-alt outline-none ring-3 ring-inset ring-bdr-strong"}],defaultVariants:{active:!1,disabled:!1}}),vr=({id:e,asChild:o=!1,disabled:a=!1,onSelect:n,className:i,children:l,...c})=>{const d=v(e,e?void 0:"menu-item"),{active:u,setActive:m,setOpen:f,registerItem:p,unregisterItem:b}=C(),h=u===d,g=a;t.useEffect(()=>(p(d,a),()=>b(d)),[d,a,p,b]);const x=t.useCallback(()=>{if(g)return;const e=new Event("select",{bubbles:!0,cancelable:!0});n?.(e),e.defaultPrevented||f(!1)},[g,n,f]),w=t.useCallback(()=>{h||m(d)},[h,m,d]),y=t.useCallback(()=>{m(void 0)},[m]);return s(o?r.Slot:"div",{id:d,role:"menuitem","aria-disabled":g,"data-active":h||void 0,"data-disabled":g||void 0,className:Ve(gr({active:h,disabled:g}),i),onClick:x,onPointerMove:w,onPointerLeave:y,...c,children:l})};vr.displayName="Menu.Item";const xr=t.forwardRef(({className:e,children:t,...r},o)=>s("div",{ref:o,className:Ve("px-3 py-1.5 text-xs font-semibold text-subtle",e),...r,children:t}));xr.displayName="Menu.Label";const wr=t.forwardRef(({className:e,...t},r)=>s("div",{ref:r,role:"separator","aria-orientation":"horizontal",className:Ve("my-1 h-px bg-bdr-subtle",e),...t}));wr.displayName="Menu.Separator";const yr=Object.assign(fr,{Root:fr,Trigger:pr,Portal:br,Content:hr,Item:vr,Label:xr,Separator:wr}),kr=({id:e,value:r,defaultValue:o="",onChange:a,placeholder:n="Search",clearLabel:i="Clear",disabled:l,readOnly:c,children:d,className:u,...m})=>{const f=v(We(e)),p=t.useRef(null),[b,h]=Qe(r,o,a),g=t.useMemo(()=>({id:f,value:b,disabled:l,readOnly:c,placeholder:n,clearLabel:i,setValue:h,inputRef:p}),[f,b,l,c,n,i,h]);return s(z,{value:g,children:s("div",{className:Ve("relative flex gap-2.5 items-center rounded-sm overflow-hidden","h-11.5 px-4.5 py-3","border border-bdr-subtle focus-within:border-bdr-strong","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight",c?"bg-surface-primary":"bg-surface-neutral",l&&"pointer-events-none select-none opacity-30",u),...m,children:d})})};kr.displayName="SearchFieldRoot";const Nr=({className:e})=>s(bt,{className:Ve("flex items-center justify-center shrink-0 size-5.5 text-subtle",e),strokeWidth:1.5});Nr.displayName="SearchFieldIcon";const Cr=t.forwardRef(({className:e,...t},r)=>{const{id:o,value:a,disabled:n,readOnly:i,placeholder:l,setValue:c,inputRef:d}=S();return s("input",{ref:Te(r,d),id:o,className:Ve("h-5.5 w-full text-base border-0","text-main bg-surface-neutral","placeholder:text-subtle","focus:outline-none","enabled:read-only:bg-surface-primary",e),value:a,onChange:e=>{c(e.currentTarget.value)},readOnly:i,disabled:n,placeholder:l,"aria-label":"Search","aria-disabled":n,...t})});Cr.displayName="SearchFieldInput";const Ir=({className:e,...t})=>{const{value:r,disabled:o,readOnly:a,clearLabel:n,setValue:i,inputRef:l}=S();if(!r||o||a)return null;return s(wt,{className:Ve("flex items-center justify-center shrink-0 size-7 -mx-1.5 text-subtle",e),icon:ht,title:n,onClick:()=>{i(""),l.current?.focus()},disabled:o,iconSize:28,iconStrokeWidth:1.25,...t})};Ir.displayName="SearchFieldClear";const zr=Object.assign(kr,{Root:kr,Icon:Nr,Input:Cr,Clear:Ir}),Sr=({className:e,selected:t,children:r,label:o,description:a,metadata:n,icon:i,readOnly:l,checked:c,defaultChecked:d,onCheckedChange:u,...m})=>s(sr,{className:Ve(!t&&"hover:bg-surface-primary-hover",e),selected:t,role:"row","aria-selected":t,...m,children:[s(sr.Left,{children:s(vt,{checked:c,defaultChecked:d,onCheckedChange:u,readOnly:l})}),s(sr.DefaultContent,{label:o,description:a,metadata:n,icon:i}),s(sr.Right,{children:r})]});Sr.displayName="SelectableListItem";const Rr=({className:e,label:t,decorative:r=!1,...o})=>{const a=r?"true":void 0;return t?s("div",{role:"separator","aria-orientation":"horizontal","aria-hidden":a,className:Ve("inline-flex w-full gap-2.5",e),...o,children:[s("span",{className:"min-w-0 truncate text-subtle uppercase",children:t}),s("span",{className:"min-w-6 flex-1 border-b-1 border-bdr-subtle"})]}):s("hr",{"aria-hidden":a,className:Ve("w-full border-bdr-subtle",e)})};Rr.displayName="Separator";const Dr={top:"bottom",bottom:"top",left:"right",right:"left"};function Mr({children:e,asChild:t,triggerRef:o,isOpen:a,onMouseEnter:n,onMouseLeave:i,onFocus:l,onBlur:c}){return s(t?r.Root:"div",{ref:o,className:t?void 0:"inline-flex",onMouseEnter:n,onMouseLeave:i,onFocus:l,onBlur:c,"aria-describedby":a?"tooltip":void 0,role:t?void 0:"button",tabIndex:t?void 0:0,children:e})}function Er({children:e,actualSide:t,className:r,position:o,tooltipRef:a}){return s("div",{ref:a,role:"tooltip",className:Ve("fixed z-50 pointer-events-none select-none",!o.transformOrigin&&"opacity-0"),style:{top:`${o.top}px`,left:`${o.left}px`,transformOrigin:o.transformOrigin},children:s("div",{className:Ve("relative w-fit rounded-xs px-2 py-1 text-xs","bg-tooltip text-tooltip-foreground shadow-md","animate-in fade-in-0 zoom-in-95","top"===t&&"slide-in-from-top-2","bottom"===t&&"slide-in-from-bottom-2","left"===t&&"slide-in-from-left-2","right"===t&&"slide-in-from-right-2",r),children:[e,s("div",{className:Ve("absolute size-2 rotate-45","top"===t&&"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2","bottom"===t&&"top-0 left-1/2 -translate-x-1/2 -translate-y-1/2","left"===t&&"right-0 top-1/2 -translate-y-1/2 translate-x-1/2","right"===t&&"left-0 top-1/2 -translate-y-1/2 -translate-x-1/2"),style:{backgroundColor:"inherit"}})]})})}exports.Avatar=Ye,exports.AvatarProvider=l,exports.Button=Ze,exports.Checkbox=vt,exports.Combobox=Pt,exports.ComboboxProvider=u,exports.Dialog=Xt,exports.DialogProvider=p,exports.IconButton=wt,exports.IdProvider=g,exports.Input=Zt,exports.Link=Qt,exports.ListItem=sr,exports.Listbox=mr,exports.ListboxProvider=w,exports.Menu=yr,exports.MenuProvider=N,exports.SearchField=zr,exports.SearchFieldProvider=z,exports.SelectableListItem=Sr,exports.Separator=Rr,exports.Tooltip=function({className:r,children:o,value:a,side:n="bottom",asChild:i=!0,delay:l=0}){const[c,d]=t.useState(!1),u=t.useRef(null),m=t.useRef(null),f=t.useRef(),p=null!=a&&""!==a,b=function(e,r,o,a){const[n,s]=t.useState({top:0,left:0,transformOrigin:"",actualSide:r});return t.useEffect(()=>{if(!e||!o.current||!a.current)return;const t=o.current.getBoundingClientRect(),n=a.current.getBoundingClientRect(),i=e=>{let r=0,o=0,a="";switch(e){case"top":r=t.top+window.scrollY-n.height-8,o=t.left+window.scrollX+(t.width-n.width)/2,a="bottom center";break;case"bottom":r=t.bottom+window.scrollY+8,o=t.left+window.scrollX+(t.width-n.width)/2,a="top center";break;case"left":r=t.top+window.scrollY+(t.height-n.height)/2,o=t.left+window.scrollX-n.width-8,a="center right";break;case"right":r=t.top+window.scrollY+(t.height-n.height)/2,o=t.right+window.scrollX+8,a="center left"}return{top:r,left:o,transformOrigin:a,actualSide:e}},l=({top:e,left:t})=>{const r=window.scrollY+8,o=window.scrollY+window.innerHeight-n.height-8,a=window.scrollX+8,s=window.scrollX+window.innerWidth-n.width-8;return e>=r&&e<=o&&t>=a&&t<=s};let c=i(r);if(!l(c)){const e=i(Dr[r]);l(e)&&(c=e)}s(c)},[e,r]),n}(c&&p,n,u,m);t.useEffect(()=>()=>{f.current&&clearTimeout(f.current)},[]);const h=t.useCallback(()=>{p&&(f.current&&clearTimeout(f.current),l>0?f.current=window.setTimeout(()=>d(!0),l):d(!0))},[l,p]),g=t.useCallback(()=>{f.current&&clearTimeout(f.current),d(!1)},[]),v=t.useCallback(()=>{p&&d(!0)},[p]),x=t.useCallback(()=>d(!1),[]);return s(e.Fragment,{children:[s(Mr,{asChild:i,triggerRef:u,isOpen:c,onMouseEnter:h,onMouseLeave:g,onFocus:v,onBlur:x,children:o}),c&&p&&t.createPortal(s(Er,{actualSide:b.actualSide,className:r,position:b,tooltipRef:m,children:a}),document.body)]})},exports.cn=Ve,exports.generateAriaId=R,exports.generateAriaIds=function(e,t){return t.reduce((t,r)=>(t[r]=R(e,r),t),{})},exports.generateItemId=D,exports.getActiveDescendantId=function(e,t,r){if(r)return D(e,t,r)},exports.setRef=Fe,exports.unwrap=We,exports.useAvatar=c,exports.useCombobox=m,exports.useComposedRefs=Te,exports.useControlledState=Qe,exports.useDialog=b,exports.useItemRegistry=et,exports.useKeyboardNavigation=tt,exports.useListbox=y,exports.useMenu=C,exports.usePrefixedId=v,exports.useScrollLock=Je,exports.useSearchField=S;
@@ -4166,34 +4166,32 @@ const ComboboxControl = ({ className, children, ...props }) => {
4166
4166
  );
4167
4167
  };
4168
4168
  ComboboxControl.displayName = "Combobox.Control";
4169
- const ComboboxInput = forwardRef(
4170
- ({ placeholder, ...props }, ref) => {
4171
- const innerRef = useRef(null);
4172
- const { open, keyHandler, baseId, active, disabled, error } = useCombobox();
4173
- useEffect(() => {
4174
- if (open && !disabled) {
4175
- innerRef.current?.focus();
4176
- }
4177
- }, [open, disabled]);
4178
- return /* @__PURE__ */ u(
4179
- SearchField.Input,
4180
- {
4181
- ref: useComposedRefs(ref, innerRef),
4182
- id: `${baseId}-input`,
4183
- onKeyDown: keyHandler,
4184
- "aria-disabled": disabled,
4185
- "aria-invalid": error ?? void 0,
4186
- role: "combobox",
4187
- "aria-autocomplete": "list",
4188
- "aria-expanded": open,
4189
- "aria-haspopup": "listbox",
4190
- "aria-controls": `${baseId}-listbox`,
4191
- "aria-activedescendant": active ? `${baseId}-listbox-option-${active}` : void 0,
4192
- ...props
4193
- }
4194
- );
4195
- }
4196
- );
4169
+ const ComboboxInput = forwardRef((props, ref) => {
4170
+ const innerRef = useRef(null);
4171
+ const { open, keyHandler, baseId, active, disabled, error } = useCombobox();
4172
+ useEffect(() => {
4173
+ if (open && !disabled) {
4174
+ innerRef.current?.focus();
4175
+ }
4176
+ }, [open, disabled]);
4177
+ return /* @__PURE__ */ u(
4178
+ SearchField.Input,
4179
+ {
4180
+ ref: useComposedRefs(ref, innerRef),
4181
+ id: `${baseId}-input`,
4182
+ onKeyDown: keyHandler,
4183
+ "aria-disabled": disabled,
4184
+ "aria-invalid": error ?? void 0,
4185
+ role: "combobox",
4186
+ "aria-autocomplete": "list",
4187
+ "aria-expanded": open,
4188
+ "aria-haspopup": "listbox",
4189
+ "aria-controls": `${baseId}-listbox`,
4190
+ "aria-activedescendant": active ? `${baseId}-listbox-option-${active}` : void 0,
4191
+ ...props
4192
+ }
4193
+ );
4194
+ });
4197
4195
  ComboboxInput.displayName = "Combobox.Input";
4198
4196
  const ComboboxSearch = ({ children, className, ...props }) => {
4199
4197
  const { inputValue, setInputValue } = useCombobox();
@@ -4213,6 +4211,10 @@ const ComboboxSearch = ({ children, className, ...props }) => {
4213
4211
  );
4214
4212
  };
4215
4213
  ComboboxSearch.displayName = "Combobox.Search";
4214
+ const ComboboxSearchIcon = ({ className, ...props }) => {
4215
+ return /* @__PURE__ */ u(SearchField.Icon, { className, ...props });
4216
+ };
4217
+ ComboboxSearchIcon.displayName = "Combobox.SearchIcon";
4216
4218
  const ComboboxToggle = ({ className, ...props }) => {
4217
4219
  const { open, setOpen, disabled } = useCombobox();
4218
4220
  return /* @__PURE__ */ u(
@@ -4280,7 +4282,7 @@ const Combobox = Object.assign(ComboboxRoot, {
4280
4282
  Control: ComboboxControl,
4281
4283
  Search: ComboboxSearch,
4282
4284
  Input: ComboboxInput,
4283
- SearchIcon: SearchField.Icon,
4285
+ SearchIcon: ComboboxSearchIcon,
4284
4286
  Toggle: ComboboxToggle,
4285
4287
  Apply: ComboboxApply,
4286
4288
  Popup: ComboboxPopup
@@ -36,6 +36,9 @@ export type ComboboxSearchProps = {
36
36
  className?: string;
37
37
  children?: ReactNode;
38
38
  } & ComponentPropsWithoutRef<typeof SearchField.Root>;
39
+ export type ComboboxSearchIconProps = {
40
+ className?: string;
41
+ } & ComponentPropsWithoutRef<typeof SearchField.Icon>;
39
42
  export type ComboboxToggleProps = {
40
43
  className?: string;
41
44
  } & Omit<ComponentPropsWithoutRef<typeof IconButton>, 'icon'>;
@@ -69,7 +72,7 @@ export declare const Combobox: {
69
72
  ref?: import('preact').Ref<HTMLInputElement> | undefined;
70
73
  }>;
71
74
  SearchIcon: {
72
- ({ className }: import('..').SearchFieldIconProps): ReactElement;
75
+ ({ className, ...props }: ComboboxSearchIconProps): ReactElement;
73
76
  displayName: string;
74
77
  };
75
78
  Toggle: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enonic/ui",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Enonic UI Component Library",
5
5
  "author": "Enonic",
6
6
  "license": "MIT",