@llmnative/react 1.7.0 → 1.7.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.
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
6
6
  `)+1,l=e.value.slice(c,t.start),u=s.split(`
7
7
  `).length-1,d=document.createElement(`span`);d.style.all=`initial`;for(let e of[`fontFamily`,`fontSize`,`fontWeight`,`fontStyle`,`fontVariant`,`letterSpacing`,`wordSpacing`,`lineHeight`,`textAlign`,`textIndent`,`textRendering`,`textTransform`,`whiteSpace`,`wordBreak`,`wordWrap`]){let t=n.getPropertyValue(e);t&&d.style.setProperty(e,t)}d.style.whiteSpace=`pre`,d.style.position=`absolute`,d.style.visibility=`hidden`,d.style.pointerEvents=`none`,d.style.margin=`0`,d.style.padding=`0`,d.style.border=`0`,d.textContent=l,document.body.appendChild(d);let f=d.offsetWidth;return document.body.removeChild(d),{left:r.left+a+o+f-e.scrollLeft,top:r.top+(u+1)*i-e.scrollTop}},pc=(e,t)=>{let n=e.selectionStart??e.value.length,r=e.selectionEnd??n,i=e.value;return uc(i,n,t)?((n,r,i=r)=>{let a=uc(n,r,t)??{query:``,start:r,end:r};return{value:n,textBeforeCaret:n.slice(0,r),textAfterCaret:n.slice(i),trigger:t,query:a.query,triggerRange:{start:a.start,end:a.end},insert:t=>{let r=e.selectionStart??n.length,i=e.selectionEnd??r;e.value=n.slice(0,r)+t+n.slice(i),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.selectionStart=e.selectionEnd=r+t.length,e.focus()},replace:(t,r,i)=>{e.value=n.slice(0,t)+i+n.slice(r),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.selectionStart=e.selectionEnd=t+i.length,e.focus()}}})(i,n,r):null},mc=(0,t.forwardRef)(({trigger:e,searchable:n=!1,controlled:r,onSelect:i,children:a,before:o,after:c,wrapperClassName:l,className:u},d)=>{let f=(0,t.useId)(),p=(0,t.useRef)(null),m=(0,t.useRef)(null),h=(0,t.useRef)(null),[g,_]=(0,t.useState)(0),[v,y]=(0,t.useState)({open:!1,anchorPosition:null,query:``,editorContext:null}),b=(0,t.useMemo)(()=>{let e=[];return t.default.Children.forEach(a,n=>{t.default.isValidElement(n)&&n.type===rc&&e.push({label:n.props.label,value:n.props.value,icon:n.props.icon,description:n.props.description})}),e},[a]),x=r?{open:r.open,anchorPosition:r.anchorPosition,query:r.query,editorContext:r.editorContext}:v,S=(0,t.useMemo)(()=>{if(!x.query)return b;let e=x.query.toLowerCase();return b.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))},[b,x.query]),C=(0,t.useCallback)(()=>{if(r){r.onClose();return}y({open:!1,anchorPosition:null,query:``,editorContext:null})},[r]),w=(0,t.useCallback)(e=>{let t=x.editorContext;t&&(i?i(e,t):t.replace(t.triggerRange.start,t.triggerRange.end,e.value),C())},[C,i,x.editorContext]);(0,t.useImperativeHandle)(d,()=>({moveNext:()=>{!x.open||S.length===0||_(e=>(e+1)%S.length)},movePrev:()=>{!x.open||S.length===0||_(e=>(e-1+S.length)%S.length)},selectActive:()=>{!x.open||S.length===0||w(S[g]??S[0])},close:()=>{C()}}),[g,C,S,x.open,w]),(0,t.useEffect)(()=>{_(0)},[x.query]),(0,t.useEffect)(()=>{if(r)return;let t=p.current;if(!t)return;let n=tc(t);if(n.length===0)return;h.current=nc(t,h.current);let i=()=>{let n=nc(t,h.current);if(!n)return;h.current=n;let r=n.selectionStart??n.value.length,i=uc(n.value,r,e);if(!i){y(e=>e.open?{open:!1,anchorPosition:null,query:``,editorContext:null}:e);return}let a=fc(n,i),o=pc(n,e);!a||!o||y({open:!0,anchorPosition:a,query:i.query,editorContext:o})},a=e=>{let t=e;if(v.open)switch(t.key){case`ArrowDown`:if(S.length===0)return;t.preventDefault(),_(e=>(e+1)%S.length);return;case`ArrowUp`:if(S.length===0)return;t.preventDefault(),_(e=>(e-1+S.length)%S.length);return;case`Enter`:case`Tab`:if(S.length===0)return;t.preventDefault(),w(S[g]??S[0]);return;case`Escape`:t.preventDefault(),C();return;default:return}},o=e=>{let t=e;[`ArrowDown`,`ArrowUp`,`Enter`,`Tab`,`Escape`].includes(t.key)||i()},s=()=>{i()},c=e=>{let n=$s(e.target)?e.target:null;h.current=n&&ec(n)?n:nc(t,h.current),i()},l=()=>{window.setTimeout(()=>{let e=document.activeElement,t=m.current?.contains(e),n=p.current?.contains(e);!t&&!n&&C()},0)};return t.addEventListener(`focusin`,c),n.forEach(e=>{e.addEventListener(`keydown`,a),e.addEventListener(`keyup`,o),e.addEventListener(`input`,o),e.addEventListener(`change`,o),e.addEventListener(`click`,s),e.addEventListener(`blur`,l)}),()=>{t.removeEventListener(`focusin`,c),n.forEach(e=>{e.removeEventListener(`keydown`,a),e.removeEventListener(`keyup`,o),e.removeEventListener(`input`,o),e.removeEventListener(`change`,o),e.removeEventListener(`click`,s),e.removeEventListener(`blur`,l)})}},[g,C,r,S,v.open,w,e]),(0,t.useEffect)(()=>{if(!x.open)return;let e=e=>{let t=e.target,n=p.current?.contains(t),r=m.current?.contains(t);!n&&!r&&C()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[C,x.open]);let{domChildren:T,renderedItems:E}=(0,t.useMemo)(()=>{let e=[],n=[],r=-1;return t.default.Children.forEach(a,i=>{if(!t.default.isValidElement(i)){e.push(i);return}if(i.type===rc){let e=i.props;if(S.findIndex(t=>t.label===e.label&&t.value===e.value&&t.icon===e.icon)===-1)return;r+=1,n.push(t.default.cloneElement(i,{onSelect:w,active:r===g}));return}if(oc.has(i.type)){n.push(i);return}e.push(i)}),{domChildren:e,renderedItems:n}},[g,a,S,w]);return t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{ref:p,className:X(u,l)},o,T,c),x.open&&x.anchorPosition&&S.length>0&&(0,s.createPortal)(t.default.createElement(`div`,{ref:m,role:`menu`,id:f,className:`fixed z-[200] min-w-44 overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none`,style:{top:x.anchorPosition.top,left:x.anchorPosition.left,maxHeight:240}},E),document.body))});mc.displayName=`ContextMenu`,mc.Item=rc,mc.Heading=ic,mc.Separator=ac;var hc=`h-7 w-7 cursor-pointer rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,gc=`h-7 max-w-[140px] rounded-md px-2 text-xs gap-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground truncate`,_c=`w-full resize-none border-0 bg-transparent px-4 py-3 text-sm shadow-none outline-none focus-visible:ring-0 placeholder:text-muted-foreground`;function vc(e){return e?(e.includes(`/`)?e.split(`/`).pop():e)||e:null}function yc({name:e,value:n,onChange:r,placeholder:i,running:a=!1,onStop:o,disabled:s=!1,onSubmit:c,attachments:l=!1,commands:u,commandsTrigger:d,models:f=[],selectedModel:p,onModelChange:m,showSettings:h=!1,defaultRole:g=``,defaultVoice:_=``,defaultStyle:v=``,defaultLanguage:y=``,defaultTemperature:b,actions:x,minHeight:S=96,maxHeight:C=220,wrapperClassName:w,className:T}){let E=Y(`prompt`),D=ct(`prompt`),O=(0,t.useRef)(null),k=(0,t.useRef)(null),A=(0,t.useId)(),[j,M]=(0,t.useState)([]),[N,P]=(0,t.useState)(!1),F=(0,t.useRef)(0),[I,L]=(0,t.useState)(!1),[R,z]=(0,t.useState)(g),[B,V]=(0,t.useState)(_),[ee,H]=(0,t.useState)(v),[te,U]=(0,t.useState)(y),[ne,W]=(0,t.useState)(b);(0,t.useEffect)(()=>{a||L(!1)},[a]),(0,t.useEffect)(()=>()=>{j.forEach(({objectUrl:e})=>URL.revokeObjectURL(e))},[j]);let G=(0,t.useCallback)(e=>{M(t=>(URL.revokeObjectURL(t[e].objectUrl),t.filter((t,n)=>n!==e)))},[]),re=(0,t.useCallback)(e=>{let t=Array.from(e).map(e=>({file:e,objectUrl:URL.createObjectURL(e)}));M(e=>[...e,...t])},[]),ie=(0,t.useCallback)(e=>{!l||!e.dataTransfer.types.includes(`Files`)||(e.preventDefault(),F.current+=1,P(!0))},[l]),ae=(0,t.useCallback)(e=>{!l||!e.dataTransfer.types.includes(`Files`)||e.preventDefault()},[l]),oe=(0,t.useCallback)(e=>{l&&(e.preventDefault(),F.current=Math.max(0,F.current-1),F.current===0&&P(!1))},[l]),se=(0,t.useCallback)(e=>{l&&(e.preventDefault(),F.current=0,P(!1),e.dataTransfer.files.length&&re(e.dataTransfer.files))},[l,re]),K=Oa({minHeight:S,maxHeight:C});(0,t.useEffect)(()=>{let e=O.current;if(!e)return;e.style.height=`auto`;let t=Math.max(e.scrollHeight,K.resolvedMinHeight),n=K.resolvedMaxHeight?Math.min(t,K.resolvedMaxHeight):t;e.style.height=`${n}px`,e.style.overflowY=K.resolvedMaxHeight&&t>K.resolvedMaxHeight?`auto`:`hidden`},[n,K.resolvedMinHeight,K.resolvedMaxHeight]);let ce=u?.length?d??`/`:void 0,q=(u?.length??0)>=10,le=t.default.useMemo(()=>new Map((u??[]).map(e=>[e.name,e])),[u]),ue=t.default.useMemo(()=>(u??[]).map(e=>({key:e.name,label:`${ce??`/`}${e.name}`,value:e.name,icon:e.icon})),[u,ce]),de=(0,t.useCallback)(async(e,t)=>{let n=le.get(e.value);if(n){if(n.handler){let e=await n.handler(dc(t)),r=n.consumeSuffix?cc(t.textAfterCaret,n.consumeSuffix):0;t.replace(t.triggerRange.start,t.triggerRange.end+r,e);return}t.replace(t.triggerRange.start,t.triggerRange.end,`${t.trigger}${n.name} `)}},[le]),fe=vc(p),pe=()=>{s||a||(c({text:n,files:j.map(e=>e.file),model:p??``,...h?{role:R,voice:B,style:ee,language:te,temperature:ne}:{}}),j.forEach(({objectUrl:e})=>URL.revokeObjectURL(e)),M([]))},me=()=>{if(a){L(!0),o?.();return}pe()},he=t.default.createElement(`textarea`,{id:A,name:e,ref:O,value:n,onChange:e=>r(e.target.value),placeholder:i,className:T||_c,style:{maxHeight:C},onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!ce&&(e.preventDefault(),me())}});return t.default.createElement(Z,{className:w||E.Prompt.wrapperClassName},t.default.createElement(`div`,{className:`group relative rounded-xl border shadow-sm transition-shadow focus-within:shadow-md focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-0 ${N?`border-primary ring-2 ring-primary`:`border-input`}`,onDragEnter:ie,onDragOver:ae,onDragLeave:oe,onDrop:se},l&&N&&t.default.createElement(`div`,{className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-primary/5`},t.default.createElement(`div`,{className:`flex items-center gap-2 rounded-lg bg-background px-3 py-1.5 text-xs font-medium text-primary shadow`},t.default.createElement(Q,{name:`paperclip`,size:13}),D.dropFilesHere)),t.default.createElement(`div`,{className:`overflow-hidden rounded-t-xl`},j.length>0&&t.default.createElement(`div`,{className:`flex gap-2 overflow-x-auto border-b border-input px-3 py-2.5`},j.map(({file:e,objectUrl:n},r)=>t.default.createElement(`div`,{key:n,className:`relative shrink-0`},e.type.startsWith(`image/`)?t.default.createElement(`div`,{className:`h-16 w-16 overflow-hidden rounded-lg border border-input bg-muted/30`},t.default.createElement(`img`,{src:n,alt:e.name,className:`h-full w-full object-cover`})):t.default.createElement(`div`,{className:`flex items-center gap-2 rounded-lg border border-input bg-muted/30 px-2.5 py-2 text-xs`},t.default.createElement(Q,{name:`file-text`,size:18,className:`shrink-0 text-muted-foreground`}),t.default.createElement(`div`,{className:`max-w-[100px]`},t.default.createElement(`p`,{className:`truncate font-medium text-foreground`},e.name),t.default.createElement(`p`,{className:`text-muted-foreground`},(e.size/1024).toFixed(0),` KB`))),t.default.createElement(`button`,{type:`button`,className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 cursor-pointer items-center justify-center rounded-full bg-foreground text-background shadow`,onClick:()=>G(r)},t.default.createElement(Q,{name:`x`,size:9}))))),ce&&ue.length>0?t.default.createElement(mc,{trigger:ce,searchable:q,onSelect:(e,t)=>{de(e,t)}},ue.map(e=>t.default.createElement(mc.Item,{key:e.key,label:e.label,value:e.value,icon:e.icon})),he):he),l&&t.default.createElement(`input`,{ref:k,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{e.target.files&&(re(e.target.files),e.target.value=``)}}),t.default.createElement(`div`,{className:`relative flex items-center gap-1 rounded-b-xl border-t border-input px-2 py-1`},(l||(x?.length??0)>0)&&t.default.createElement(t.default.Fragment,null,l&&t.default.createElement(`button`,{type:`button`,title:D.attachFiles,className:`${hc} flex items-center justify-center`,onClick:()=>k.current?.click()},t.default.createElement(Q,{name:`paperclip`,size:13})),x?.map(e=>e.content?t.default.createElement(fr,{key:e.key,trigger:{icon:e.icon,title:e.label},placement:`top`,position:`start`,triggerClassName:hc},e.content):t.default.createElement(`button`,{key:e.key,type:`button`,title:e.label,className:`${hc} flex items-center justify-center`},t.default.createElement(Q,{name:e.icon,size:13}))),t.default.createElement(`div`,{className:`mx-1 h-4 w-px shrink-0 bg-border`})),f.length>0&&t.default.createElement(fr,{trigger:{icon:`cpu`,text:fe??D.defaultOption},placement:`top`,position:`start`,triggerClassName:gc},f.map(e=>t.default.createElement(hr,{key:e.value,onClick:()=>m?.(e.value)},e.label))),h&&t.default.createElement(t.default.Fragment,null,t.default.createElement(fr,{trigger:{icon:`user`,title:`Role`},placement:`top`,position:`start`,triggerClassName:hc},t.default.createElement(hr,{onClick:()=>z(``)},D.defaultOption),Ss.getRoles().map(e=>t.default.createElement(hr,{key:e,onClick:()=>z(e)},e))),t.default.createElement(fr,{trigger:{icon:`globe`,title:`Language`},placement:`top`,position:`start`,triggerClassName:hc},t.default.createElement(hr,{onClick:()=>U(``)},D.defaultOption),Ss.getLangs().map(e=>t.default.createElement(hr,{key:e,onClick:()=>U(e)},e))),t.default.createElement(fr,{trigger:{icon:`mic`,title:`Voice`},placement:`top`,position:`start`,triggerClassName:hc},t.default.createElement(hr,{onClick:()=>V(``)},D.defaultOption),Ss.getVoices().map(e=>t.default.createElement(hr,{key:e,onClick:()=>V(e)},e))),t.default.createElement(fr,{trigger:{icon:`feather`,title:`Style`},placement:`top`,position:`start`,triggerClassName:hc},t.default.createElement(hr,{onClick:()=>H(``)},D.defaultOption),Ss.getStyles().map(e=>t.default.createElement(hr,{key:e,onClick:()=>H(e)},e))),t.default.createElement(fr,{trigger:{icon:`thermometer`,title:`Temperature`},placement:`top`,position:`start`,triggerClassName:hc},t.default.createElement(hr,null,t.default.createElement(`input`,{type:`range`,"aria-label":`Temperature`,min:0,max:1,step:.1,value:ne??0,onChange:e=>W(Number(e.target.value)),className:`w-full cursor-pointer accent-primary`})))),t.default.createElement(`div`,{className:`flex-1`}),t.default.createElement(`button`,{type:`button`,onClick:me,disabled:a?!o:s,title:I?`Stopping…`:a?`Stop`:D.run,"aria-label":I?`Stopping…`:a?`Stop`:D.run,className:`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${a?`bg-destructive text-destructive-foreground hover:bg-destructive/90`:`bg-primary text-primary-foreground hover:bg-primary/90`}`},I||a&&!o?t.default.createElement(`span`,{className:`inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):t.default.createElement(Q,{name:a?`square`:`send`,size:14})))))}var bc=function(e){return e.EDIT=`edit`,e.RUN=`run`,e}({}),xc=`space-y-2`,Sc=`flex items-center justify-between gap-3`,Cc=`mb-0 min-w-0 text-sm font-medium leading-5 text-foreground`,wc=`ml-auto shrink-0`,Tc=()=>[],Ec=(e,t=`Prompt execution failed.`)=>{if(e instanceof Error&&e.message)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`){if(`reason`in e&&typeof e.reason==`string`)return e.reason;if(`error`in e&&typeof e.error==`string`)return e.error;if(`message`in e&&typeof e.message==`string`)return e.message}return t},Dc=({htmlFor:e,label:n,required:r=!1,action:i})=>t.default.createElement(`div`,{className:Sc},t.default.createElement(oo,{htmlFor:e,label:n,required:r,className:Cc}),i?t.default.createElement(`div`,{className:wc},i):null);function Oc(){let e=Os(),[n,r]=(0,t.useState)({modelOptions:Tc(),capabilitiesByProvider:{}});return(0,t.useEffect)(()=>{let t=!1;return(async()=>{if(!e||Object.keys(e.registry).length===0){t||r({modelOptions:Tc(),capabilitiesByProvider:{}});return}let n=await Ws(e.registry);if(t)return;let i=n.models.map(e=>({label:e.label,value:e.id}));r({modelOptions:i.length>0?i:Tc(),capabilitiesByProvider:n.capabilitiesByProvider})})(),()=>{t=!0}},[e]),n}function kc(e,t=!1){let n=Ds(),r=Os(),i=ws(e),a=Object.keys(r?.registry??{}),o=i?.provider??n?.id??(r?.defaultKey&&a.includes(r.defaultKey)?r.defaultKey:null),s=o?r?.registry[o]??(n?.id===o?n:null):n??null;if(t)return{provider:s,providerId:o,configured:!0};if(a.length===0&&!s)return{provider:null,providerId:null,configured:!1,reason:void 0};let c=Fn(s,o?`AI provider "${o}"`:`AI provider`);return{provider:s,providerId:o,configured:c.configured,reason:c.reason}}var Ac=({mode:e,availability:n,renderAIUnavailable:r})=>{let i=ct(`prompt`);if(n.configured)return null;let a=r?.({mode:e,providerId:n.providerId,reason:n.reason,configured:n.configured});return a==null?t.default.createElement(la,{variant:`warning`,icon:`warning`,className:`text-xs leading-5`},e===`edit`?n.reason||i.aiNotConfiguredEdit:n.reason||i.aiNotConfiguredRun):t.default.createElement(t.default.Fragment,null,a)},jc=({mode:e=`edit`,...n})=>{let{value:r}=Nl({name:n.name}),i=typeof r==`object`&&r&&!Array.isArray(r)?r:void 0,a=Mc(i?.prompt?.enabled,n.defaultValue?.enabled,i?.prompt);return e===`edit`?t.default.createElement(Pc,{...n,value:i}):a?t.default.createElement(Rc,{...n,value:i}):t.default.createElement(zc,n)},Mc=(e,t,n)=>typeof e==`string`?e===`on`||e===`true`:typeof e==`boolean`?e:typeof e==`number`?e!==0:n&&typeof n==`object`?!1:!!t,Nc=(e,t)=>e?t.toggleOnTitle:t.toggleOffTitle,Pc=({name:e,label:n=void 0,value:r=void 0,required:i=!1,onChange:a=void 0,defaultValue:o=void 0,minHeight:s=160,maxHeight:c=240,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0,renderAIUnavailable:p=void 0})=>{let{handleChange:m}=Nl({name:e}),h=Y(`prompt`),g=ct(`prompt`),_=n||e,v=Mc(r?.prompt?.enabled,o?.enabled,r?.prompt),y=Nc(v,g),b=(0,t.useId)(),x=kc(r?.prompt?.model?.toString()||o?.model);return t.default.createElement(Z,{className:d||h.Prompt.wrapperClassName},t.default.createElement(`div`,{className:`flex items-center gap-2`},l&&t.default.createElement(`div`,{className:`shrink-0`},l),t.default.createElement(`div`,{className:`${xc} min-w-0 flex-1`},t.default.createElement(Dc,{htmlFor:b,label:v?g.promptLabel+_:_,required:i,action:t.default.createElement(ao,{name:e+`.prompt.enabled`,ariaLabel:y,title:y,defaultValue:v?`on`:``,inheritWrapperClassName:!1,onChange:({event:t})=>{m({target:{name:e+`.prompt.value`,value:t.target.value&&o?.value}})}})}),t.default.createElement(so,{id:b,className:f||h.Prompt.className,name:e+(v?`.prompt.value`:`.value`),defaultValue:v?o?.value:void 0,onChange:a,required:i,inheritWrapperClassName:!1,wrapperClassName:``,minHeight:s,maxHeight:c}),t.default.createElement(Ac,{mode:`edit`,availability:x,renderAIUnavailable:p})),u&&t.default.createElement(`div`,{className:`shrink-0`},u)))},Fc=`border-0 shadow-none rounded-none focus-visible:ring-0 resize-none`,Ic=`h-7 w-7 cursor-pointer rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,Lc=(e,t)=>({value:String(e?.value??t?.value??``),role:String(e?.role??t?.role??``),language:String(e?.language??t?.language??``),voice:String(e?.voice??t?.voice??``),style:String(e?.style??t?.style??``),model:String(e?.model??t?.model??``),temperature:typeof e?.temperature==`number`?e.temperature:t?.temperature}),Rc=({name:e,label:n,value:r,required:i,onChange:a,defaultValue:o,minHeight:s=120,maxHeight:c=160,before:l,after:u,wrapperClassName:d,className:f,onRunPrompt:p,renderAIUnavailable:m,variables:h,commands:g,commandsTrigger:_,attachments:v,actions:y,statusItems:b})=>{let{handleChange:x,record:S}=Nl({name:e}),C=Y(`prompt`),w=ct(`prompt`),T=n||e,[E,D]=(0,t.useState)(!1),[O,k]=(0,t.useState)(o?.value??``),[A,j]=(0,t.useState)(!1),[M,N]=(0,t.useState)(null),P=Ds(),F=Os(),I=typeof localStorage<`u`&&localStorage.getItem(`prompt.model`)||(P?Cs(P.id,P.defaultModel):``),{modelOptions:L}=Oc(),R=t.default.useMemo(()=>Lc(r?.prompt,o),[o,r?.prompt]),z=R.model||I,B=(0,t.useId)(),V=kc(z,!!p),ee=!V.configured,[H,te]=(0,t.useState)(null),U=!H&&!V.configured?m?.({mode:`run`,providerId:V.providerId,reason:V.reason,configured:V.configured}):null,ne=t.default.useMemo(()=>{if(!O)return``;let e={...S,...h};return Ss.parsePrompt(O,e)},[O,S,h]),W=ne!==O,G=(e,t)=>x?.({target:{name:e,value:t}}),re=y?.map(e=>e.key===`tokenUsage`&&!e.content?{...e,content:M?t.default.createElement(`div`,{className:`px-3 py-2 text-xs space-y-1`},t.default.createElement(`p`,{className:`font-medium text-foreground`},w.tokenUsage),t.default.createElement(`p`,{className:`text-muted-foreground`},et(w.tokenInput,{count:String(M.tokensIn)})),t.default.createElement(`p`,{className:`text-muted-foreground`},et(w.tokenOutput,{count:String(M.tokensOut)})),M.contextPercent!==null&&t.default.createElement(`p`,{className:`text-muted-foreground`},et(w.tokenContext,{percent:M.contextPercent.toFixed(1)})),M.estimatedCost!==null&&t.default.createElement(`p`,{className:`text-muted-foreground`},et(w.tokenCost,{amount:M.estimatedCost.toFixed(5)})),t.default.createElement(`p`,{className:`text-muted-foreground`},et(w.tokenTime,{seconds:(M.durationMs/1e3).toFixed(1)}))):t.default.createElement(`p`,{className:`px-3 py-2 text-xs text-muted-foreground`},w.tokenUsageEmpty)}:e),ie=async t=>{let n=t.model||z||I,r=ws(n),i=r?F?.registry[r.provider]??P??void 0:P??void 0,a=Date.now();try{let r={...S,...h},o=await Promise.all(t.files.map(e=>Zs.fileToAttachment(e))),s=await Bc({...R,model:n,role:t.role??R.role,voice:t.voice??R.voice,style:t.style??R.style,language:t.language??R.language,temperature:t.temperature??R.temperature},r,p,i,o.length>0?o:void 0,{noProvider:w.noProvider,noResponse:w.noResponse}),c=Date.now()-a;if(te(null),x?.({target:{name:e+`.value`,value:s}}),t.role!==void 0&&G(e+`.prompt.role`,t.role),t.voice!==void 0&&G(e+`.prompt.voice`,t.voice),t.style!==void 0&&G(e+`.prompt.style`,t.style),t.language!==void 0&&G(e+`.prompt.language`,t.language),b&&b.length>0){let e=Ss.parsePrompt(R.value??``,r),t=Zs.countTokens(e),i=Zs.countTokens(s??``),a=Zs.contextPercent(t,n),o=Zs.estimateCost(t,i,n);N({tokensIn:t,tokensOut:i,contextPercent:a>0?a:null,model:n,durationMs:c,estimatedCost:isFinite(o)?o:null})}}catch(e){te(Ec(e,w.runFailed))}};return t.default.createElement(Z,{className:d||C.Prompt.wrapperClassName},t.default.createElement(`div`,{className:`flex items-center gap-2`},l&&t.default.createElement(`div`,{className:`shrink-0`},l),t.default.createElement(`div`,{className:`${xc} min-w-0 flex-1`},T&&t.default.createElement(Dc,{htmlFor:B,label:E?`${w.promptLabel}${T}`:T,required:i}),t.default.createElement(`div`,{className:`group relative`},t.default.createElement(`button`,{type:`button`,title:E?w.closeEditor:w.editSettings,className:`absolute right-2 top-2 z-10 flex h-6 w-6 items-center justify-center rounded-md transition-all ${E?`bg-warning/10 text-warning opacity-100`:`bg-background/80 text-muted-foreground opacity-0 group-hover:opacity-100 hover:bg-muted hover:text-foreground`}`,onClick:()=>D(e=>!e)},t.default.createElement(Q,{name:E?`x`:`settings`,size:13})),E?t.default.createElement(`div`,{className:`overflow-hidden rounded-xl border border-input shadow-sm transition-shadow focus-within:shadow-md focus-within:ring-2 focus-within:ring-warning focus-within:ring-offset-0`},t.default.createElement(so,{id:B,name:e+`.prompt.value`,defaultValue:o?.value,onChange:e=>{k(String(e.event.target.value??``)),a?.(e)},required:!0,inheritWrapperClassName:!1,wrapperClassName:``,className:`${f||C.Prompt.className} ${Fc}`,minHeight:s,maxHeight:c}),W&&A&&t.default.createElement(`div`,{className:`border-t border-input px-4 py-3 bg-muted/20`},t.default.createElement(`p`,{className:`whitespace-pre-wrap text-sm text-foreground/70`},ne)),W&&t.default.createElement(`div`,{className:`flex items-center justify-end border-t border-input px-2 py-1`},t.default.createElement(`button`,{type:`button`,title:A?w.hidePreview:w.showPreview,className:`${Ic} flex items-center justify-center ${A?`bg-muted text-foreground`:``}`,onClick:()=>j(e=>!e)},t.default.createElement(Q,{name:A?`eye-off`:`eye`,size:13})))):t.default.createElement(t.default.Fragment,null,t.default.createElement(yc,{name:e+`.value`,value:r?.value===void 0?``:String(r.value),onChange:t=>{x?.({target:{name:e+`.value`,value:t}}),a?.({event:{target:{name:e+`.value`,value:t}},name:e+`.value`,value:t,record:S??{},onChange:x??(()=>{})})},disabled:ee,onSubmit:e=>{ie(e)},attachments:v,commands:g,commandsTrigger:_,models:L,selectedModel:z,onModelChange:t=>G(e+`.prompt.model`,t),showSettings:!0,defaultRole:R.role,defaultVoice:R.voice,defaultStyle:R.style,defaultLanguage:R.language,defaultTemperature:R.temperature,actions:re,minHeight:s,maxHeight:c,className:f||C.Prompt.className,wrapperClassName:``}),(H||!V.configured)&&(U?t.default.createElement(`div`,{className:`mt-1`},U):t.default.createElement(`span`,{className:`mt-1 flex min-w-0 items-center gap-1 text-xs text-warning`},t.default.createElement(Q,{name:`triangle-alert`,size:13,className:`shrink-0`}),t.default.createElement(`span`,{className:`truncate`},H??(V.reason||w.aiNotConfiguredShort)))),b&&b.length>0&&M&&t.default.createElement(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-0.5 rounded-lg border border-input/50 bg-muted/20 px-4 py-1.5 text-[11px] text-muted-foreground`},b.map(e=>{if(typeof e==`string`)switch(e){case`tokensIn`:return t.default.createElement(`span`,{key:`tokensIn`},et(w.tokenInput,{count:M.tokensIn}));case`tokensOut`:return t.default.createElement(`span`,{key:`tokensOut`},et(w.tokenOutput,{count:M.tokensOut}));case`contextPercent`:return M.contextPercent===null?null:t.default.createElement(`span`,{key:`ctx`},et(w.tokenContext,{percent:M.contextPercent.toFixed(1)}));case`model`:return t.default.createElement(`span`,{key:`model`,className:`font-mono`},(ws(M.model)?.model||M.model).split(`/`).pop());case`duration`:return t.default.createElement(`span`,{key:`dur`},et(w.tokenTime,{seconds:(M.durationMs/1e3).toFixed(1)}));default:return null}return t.default.createElement(`span`,{key:e.key},e.render(M))}),M.estimatedCost!==null&&!b.some(e=>typeof e==`object`&&e.key===`cost`)&&t.default.createElement(`span`,{className:`ml-auto font-mono`},`~$`,M.estimatedCost.toFixed(5)))))),u&&t.default.createElement(`div`,{className:`shrink-0`},u)))},zc=({name:e,label:n,required:r,onChange:i,minHeight:a=96,maxHeight:o=120,before:s,after:c,wrapperClassName:l,className:u,renderFallback:d})=>{let f=Y(`prompt`),p=(0,t.useId)();return t.default.createElement(Z,{className:l||f.Prompt.wrapperClassName},t.default.createElement(`div`,{className:`flex items-center gap-2`},s&&t.default.createElement(`div`,{className:`shrink-0`},s),t.default.createElement(`div`,{className:`min-w-0 flex-1`},d?.({name:e,label:n,required:r,onChange:i})??t.default.createElement(`div`,{className:xc},n&&t.default.createElement(Dc,{htmlFor:p,label:n,required:r}),t.default.createElement(so,{id:p,className:u||f.Prompt.className,name:e+`.value`,onChange:i,required:r,inheritWrapperClassName:!1,wrapperClassName:``,minHeight:a,maxHeight:o}))),c&&t.default.createElement(`div`,{className:`shrink-0`},c)))},Bc=async(e,t,n,r,i,a)=>{let{value:o,model:s,...c}=e??{};if(n)return n(o,{...c,model:s,attachments:i},t);if(!o)return``;if(!r)throw Error(a?.noProvider??`No AI provider is available for this prompt.`);let l=ws(s)?.model||s||r.defaultModel,u=await r.complete({...c,model:l,prompt:[ms,o,hs].join(`
8
8
  `),data:t,attachments:i});if(u?.type!==`text`||!u.text.trim())throw Error(a?.noResponse??`The AI provider returned no response.`);return u.text},Vc=class extends Error{language;from;to;line;column;nodeName;constructor(e,t){super(e),this.name=`CodeSyntaxError`,this.language=t.language,this.from=t.from,this.to=t.to,this.line=t.line,this.column=t.column,this.nodeName=t.nodeName}},Hc={},Uc=null,Wc=e=>{switch(e){case`html`:return async()=>{let{html:e}=await import(`@codemirror/lang-html`);return e({matchClosingTags:!0}).language.parser};case`json`:return async()=>{let{json:e}=await import(`@codemirror/lang-json`);return e().language.parser};case`js`:return async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e().language.parser};case`ts`:return async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:!0}).language.parser};case`css`:return async()=>{let{css:e}=await import(`@codemirror/lang-css`);return e().language.parser}}},Gc=e=>(Hc[e]??=Wc(e)(),Hc[e]),Kc=async()=>(Uc??=import(`liquidjs`).then(({Liquid:e})=>new e({strictFilters:!0,strictVariables:!0})),Uc),qc=(e,t)=>{let n=1,r=1;for(let i=0;i<t&&i<e.length;i++)e[i]===`
9
- `?(n+=1,r=1):r+=1;return{line:n,column:r}},Jc=(e,t,n,r,i,a=`Syntax error`)=>{let{line:o,column:s}=qc(e,n);return new Vc(`${a}${i?` near ${i}`:``} at line ${o}, column ${s}.`,{language:t,from:n,to:r,line:o,column:s,nodeName:i})},Yc=e=>{do if(e.type.isError)return{from:e.from,to:e.to,nodeName:e.name};while(e.next());return null},Xc=async(e,t)=>{if(e.trim()){if(t===`liquid`){try{(await Kc()).parse(e)}catch(n){if(n instanceof Vc)throw n;let r=n&&typeof n==`object`&&`token`in n?n.token:void 0,i=r?.begin??0,a=r?.end??i,o=n instanceof Error?n.message.split(`, line:`)[0]:`Invalid Liquid syntax`;throw Jc(e,t,i,a,r?.name,o)}return}try{let n=Yc((await Gc(t)).parse(e).cursor());if(n)throw Jc(e,t,n.from,n.to,n.nodeName)}catch(n){if(n instanceof Vc)throw n;if(t===`json`&&n instanceof Error){let r=n.message.match(/position\s+(\d+)/i),i=r?Number(r[1]):0;throw Jc(e,t,i,i,void 0,`Invalid JSON`)}throw new Vc(`Unable to validate ${t} code.`,{language:t,from:0,to:0,line:1,column:1})}}},Zc=async(e,t)=>{try{return await Xc(e,t),{valid:!0}}catch(e){if(e instanceof Vc)return{valid:!1,error:e};throw e}},Qc=e=>{switch(e){case`html`:return()=>import(`@codemirror/lang-html`).then(e=>e.html());case`liquid`:return()=>import(`@codemirror/lang-liquid`).then(e=>e.liquid());case`json`:return()=>import(`@codemirror/lang-json`).then(e=>e.json());case`js`:return()=>import(`@codemirror/lang-javascript`).then(e=>e.javascript());case`ts`:return()=>import(`@codemirror/lang-javascript`).then(e=>e.javascript({typescript:!0}));case`css`:return()=>import(`@codemirror/lang-css`).then(e=>e.css())}},$c=async e=>{let[t,n,r,i]=await Promise.all([import(`codemirror`),import(`@codemirror/view`),import(`@codemirror/state`),Qc(e)()]);return{basicSetup:t.basicSetup,EditorView:n.EditorView,EditorState:r.EditorState,keymap:n.keymap,language:i,Prec:r.Prec}},el={},tl={},nl=e=>el[e]?Promise.resolve(el[e]):(tl[e]||(tl[e]=$c(e).then(t=>(el[e]=t,t))),tl[e]),rl=(e,t)=>{t.fill?(e.style.height=`100%`,e.style.minHeight=``,e.style.maxHeight=``):(e.style.height=``,e.style.minHeight=`${t.resolvedMinHeight}px`,e.style.maxHeight=t.resolvedMaxHeight?`${t.resolvedMaxHeight}px`:``)},il=(e,t,n)=>lc(e,t,n,{queryPattern:/^[A-Za-z0-9_.-]*$/}),al=(e,t)=>{let n=e.state.doc.toString(),r=e.state.selection.main;if(r.from!==r.to)return null;let i=il(n,r.from,t);return i?{value:n,textBeforeCaret:n.slice(0,r.from),textAfterCaret:n.slice(r.to),trigger:t,query:i.query,triggerRange:{start:i.start,end:i.end},insert:t=>{let n=e.state.selection.main;e.dispatch({changes:{from:n.from,to:n.to,insert:t},selection:{anchor:n.from+t.length}}),e.focus()},replace:(t,n,r)=>{e.dispatch({changes:{from:t,to:n,insert:r},selection:{anchor:t+r.length}}),e.focus()}}:null},ol=({name:e,onChange:n=void 0,defaultValue:r=void 0,className:i=void 0,label:a,language:o=`html`,placeholder:s,minHeight:c,maxHeight:l,required:u,disabled:d,feedback:f,labelClassName:p,validateSyntax:m=!0,validator:h,extensions:g,commands:_,commandsTrigger:v,wrapperClassName:y,inheritWrapperClassName:b=!0,before:x,after:S})=>{let C=(0,t.useId)(),w=Y(`CodeEditor`),T=Oa({minHeight:c,maxHeight:l}),{value:E,handleChange:D,formWrapClass:O}=Nl({name:e,onChange:n,defaultValue:r,wrapperClassName:y,inheritWrapperClassName:b}),k=Ml(e,{required:u,label:a,validator:async e=>{let t=typeof e==`string`?e:`${e??``}`;if(m)try{await Xc(t,o)}catch(e){if(e instanceof Vc)return e.message;throw e}return await h?.(e)}}),A=(0,t.useRef)(null),j=(0,t.useRef)(null),M=(0,t.useRef)(null),[N,P]=(0,t.useState)(!0),[F,I]=(0,t.useState)({open:!1,query:``,anchorPosition:null,editorContext:null}),L=(0,t.useRef)(E??``),R=(0,t.useRef)(F);R.current=F;let z=_?.length?v??`/`:void 0,B=(_?.length??0)>=10,V=t.default.useMemo(()=>new Map((_??[]).map(e=>[e.name,e])),[_]),ee=t.default.useMemo(()=>(_??[]).map(e=>({key:e.name,label:`${z??`/`}${e.name}`,value:e.name,icon:e.icon,description:e.description,group:e.group})),[_,z]),H=t.default.useMemo(()=>{let e=[],n;return ee.forEach(r=>{r.group!==n&&(n=r.group,r.group&&e.push(t.default.createElement(mc.Heading,{key:`group:${r.group}`},r.group))),e.push(t.default.createElement(mc.Item,{key:r.key,label:r.label,value:r.value,icon:r.icon,description:r.description}))}),e},[ee]);(0,t.useEffect)(()=>{j.current||(L.current=E??``)},[E]);let te=(0,t.useCallback)(t=>{L.current=t,D({target:{name:e,value:t}})},[D,e]),U=(0,t.useCallback)(()=>{I({open:!1,query:``,anchorPosition:null,editorContext:null})},[]),ne=(0,t.useCallback)(async(e,t)=>{let n=V.get(e.value);if(n){if(n.handler){let e=await n.handler(dc(t)),r=n.consumeSuffix?cc(t.textAfterCaret,n.consumeSuffix):0;t.replace(t.triggerRange.start,t.triggerRange.end+r,e);return}t.replace(t.triggerRange.start,t.triggerRange.end,`${t.trigger}${n.name} `)}},[V]);(0,t.useEffect)(()=>{let e=!1,t=null;return nl(o).then(n=>{if(e||!A.current)return;let r=n.EditorView.theme({"&":{backgroundColor:`hsl(var(--rf-background))`,height:`100%`},".cm-scroller":{fontFamily:`var(--font-mono, ui-monospace, SFMono-Regular, monospace)`,paddingBottom:`0.5rem`,minHeight:`100%`},".cm-content":{caretColor:`hsl(var(--rf-foreground))`,color:`hsl(var(--rf-foreground))`,paddingBottom:`0.75rem`,minHeight:`100%`},".cm-cursor, .cm-dropCursor":{borderLeftColor:`hsl(var(--rf-primary))`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:`hsl(var(--rf-primary)) !important`},".cm-activeLine":{backgroundColor:`hsl(var(--rf-muted) / 0.6)`},".cm-gutters":{backgroundColor:`hsl(var(--rf-muted))`,color:`hsl(var(--rf-muted-foreground))`,border:`none`},".cm-activeLineGutter":{backgroundColor:`hsl(var(--rf-accent))`},".cm-foldPlaceholder":{backgroundColor:`hsl(var(--rf-muted))`,color:`hsl(var(--rf-muted-foreground))`},".cm-tooltip":{backgroundColor:`hsl(var(--rf-popover))`,border:`1px solid hsl(var(--rf-border))`,color:`hsl(var(--rf-popover-foreground))`},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:`hsl(var(--rf-accent))`,color:`hsl(var(--rf-accent-foreground))`},"&.cm-focused":{outline:`none`},".cm-placeholder":{color:`hsl(var(--rf-muted-foreground))`}}),i=[n.basicSetup,n.language,r,n.EditorView.updateListener.of(e=>{e.docChanged&&te(e.state.doc.toString())}),...g??[]];z&&i.push(n.EditorView.updateListener.of(e=>{let t=e.state.selection.main;if(t.from!==t.to){R.current.open&&U();return}let n=il(e.state.doc.toString(),t.from,z);if(!n){R.current.open&&U();return}let r=e.view.coordsAtPos(t.from),i=al(e.view,z);!r||!i||I({open:!0,query:n.query,anchorPosition:{top:r.bottom,left:r.left},editorContext:i})}),n.Prec.highest(n.keymap.of([{key:`ArrowDown`,run:()=>R.current.open?(M.current?.moveNext(),!0):!1},{key:`ArrowUp`,run:()=>R.current.open?(M.current?.movePrev(),!0):!1},{key:`Enter`,run:()=>R.current.open?(M.current?.selectActive(),!0):!1},{key:`Tab`,run:()=>R.current.open?(M.current?.selectActive(),!0):!1},{key:`Escape`,run:()=>R.current.open?(M.current?.close(),!0):!1}])),n.EditorView.domEventHandlers({keydown:e=>{if(!R.current.open)return!1;switch(e.key){case`ArrowDown`:return e.preventDefault(),M.current?.moveNext(),!0;case`ArrowUp`:return e.preventDefault(),M.current?.movePrev(),!0;case`Enter`:case`Tab`:return e.preventDefault(),M.current?.selectActive(),!0;case`Escape`:return e.preventDefault(),M.current?.close(),!0;default:return!1}}})),d&&i.push(n.EditorView.editable.of(!1));let a=n.EditorState.create({doc:L.current,extensions:i});t=new n.EditorView({state:a,parent:A.current}),rl(t.scrollDOM,T),j.current=t,P(!1)}).catch(t=>{e||(console.error(`[CodeEditor] Failed to load CodeMirror:`,t),P(!1))}),()=>{e=!0,t&&(t.destroy(),j.current=null)}},[U,g,d,o,te,s,z]),(0,t.useEffect)(()=>{let e=E??``,t=j.current;t&&e!==L.current&&(L.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[E]),(0,t.useEffect)(()=>{let e=j.current;e&&rl(e.scrollDOM,T)},[T.fill,T.resolvedMinHeight,T.resolvedMaxHeight]);let W=X(`w-full overflow-hidden border border-input`,w.CodeEditor?.className,i,N&&`flex items-center justify-center bg-muted text-muted-foreground text-sm`,k&&`border-destructive`,x?`rounded-l-none`:`rounded-l-md`,S?`rounded-r-none`:`rounded-r-md`),G=t.default.createElement(`div`,{className:X(`min-w-0 flex-1`,T.fill&&`h-full flex flex-col`,W)},N&&t.default.createElement(`div`,{style:{minHeight:T.fill?void 0:T.resolvedMinHeight},className:`flex items-center justify-center`},t.default.createElement(Q,{name:`loader-circle`,size:16,className:`animate-spin text-muted-foreground`})),t.default.createElement(`div`,{ref:A,className:X(N&&`hidden`,T.fill&&`h-full min-h-0 flex-1`)}));return t.default.createElement(Z,{className:X(O,T.fill&&`h-full flex flex-col min-h-0`,w.CodeEditor?.wrapperClassName)},a&&t.default.createElement(oo,{label:a,required:u,htmlFor:C,className:p}),t.default.createElement(`div`,{className:X(x||S?Na:``,T.fill&&`flex-1 min-h-0 flex flex-col`)},x&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-md rounded-r-none border-r-0`)},x),z&&ee.length>0?t.default.createElement(mc,{ref:M,className:X(T.fill&&`flex-1 min-h-0 flex flex-col`),trigger:z,searchable:B,controlled:F.editorContext?{open:F.open,anchorPosition:F.anchorPosition,query:F.query,editorContext:F.editorContext,onClose:U}:void 0,onSelect:(e,t)=>{ne(e,t)}},H,G):G,S&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-none rounded-r-md border-l-0`)},S)),k&&t.default.createElement(Ha,{message:k}),f&&t.default.createElement(`p`,{className:`mt-1 text-xs text-muted-foreground`},f))},sl={string:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ga,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),number:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ka,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),email:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(qa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),password:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ja,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),color:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ya,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),date:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Xa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),time:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Za,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),datetime:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Qa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),week:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement($a,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),month:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(eo,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),textarea:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(so,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),checkbox:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(io,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),switch:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(ao,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),select:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(xo,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),autocomplete:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(So,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),checklist:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Co,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),uploadImage:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(ls,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),uploadDocument:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(cs,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),prompt:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(jc,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),imageField:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Vo,{name:n??e.name,label:r??n,...e,...i})}),menu:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(xo,{key:n,name:n,label:r??n,...e,...i})}),codeEditor:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue??``}),render:({name:n,label:r,...i}={})=>t.default.createElement(ol,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})})},$=sl,cl={layout:Da,input:sl,schema:{string:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.string({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),number:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.number({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),min:$.number({label:`Minimo`,defaultValue:e.min}),max:$.number({label:`Massimo`,defaultValue:e.max}),step:$.number({label:`Step`,min:0,defaultValue:e.step}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),email:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.email({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),password:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),color:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.color({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),date:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.date({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),min:$.number({label:`Data minima`,defaultValue:e.min}),max:$.number({label:`Data massima`,defaultValue:e.max}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),time:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.time({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),datetime:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.datetime({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),week:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.week({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),month:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.month({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),textarea:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.textarea({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),minHeight:$.number({label:`Altezza minima`,min:0,defaultValue:e.minHeight}),maxHeight:$.number({label:`Altezza massima`,min:0,defaultValue:e.maxHeight}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),checkbox:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),defaultValue:$.switch({label:`Valore default`,defaultValue:e.defaultValue}),title:$.string({label:`Titolo tooltip`,defaultValue:e.title}),valueChecked:$.string({label:`Valore checked`,defaultValue:e.valueChecked?.toString()})}),switch:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),defaultValue:$.switch({label:`Valore default`,defaultValue:e.defaultValue}),title:$.string({label:`Titolo tooltip`,defaultValue:e.title}),valueChecked:$.string({label:`Valore checked`,defaultValue:e.valueChecked?.toString()})}),select:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.string({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),autocomplete:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),minItems:$.number({label:`Min selezioni`,min:0,defaultValue:e.minItems}),maxItems:$.number({label:`Max selezioni`,min:1,defaultValue:e.maxItems}),creatable:$.switch({label:`Creazione libera`,defaultValue:e.creatable}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),checklist:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),uploadImage:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),multiple:$.switch({label:`Multiplo`,defaultValue:e.multiple}),editable:$.switch({label:`Modificabile`,defaultValue:e.editable}),max:$.number({label:`Max file`,min:1,defaultValue:e.max}),accept:$.string({label:`Formati accettati`,defaultValue:e.accept}),previewWidth:$.number({label:`Larghezza preview`,min:0,defaultValue:e.previewWidth}),previewHeight:$.number({label:`Altezza preview`,min:0,defaultValue:e.previewHeight})}),uploadDocument:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),multiple:$.switch({label:`Multiplo`,defaultValue:e.multiple}),editable:$.switch({label:`Modificabile`,defaultValue:e.editable}),max:$.number({label:`Max file`,min:1,defaultValue:e.max}),accept:$.string({label:`Formati accettati`,defaultValue:e.accept})}),imageField:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required})})},block:{},section:{}},ll=class{verifyRequiredMethods(){if(!this.model||typeof this.model!=`object`)throw Error(`[ComponentBlock] Missing property: "model"`);for(let e of[`html`,`form`])if(typeof this[e]!=`function`)throw Error(`[ComponentBlock] Missing method: "${e}()"`)}static default(e){let n=new this;return n.verifyRequiredMethods(),()=>{let[r,i]=t.default.useMemo(()=>pl(n.model),[n.model]);return t.default.createElement(Ll,{defaultValues:i,path:e?.path},n.form(r))}}};function ul(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.render==`function`&&typeof t.getDefaults==`function`}function dl(e){return typeof e==`function`&&e.prototype instanceof ll}function fl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!t.default.isValidElement(e)&&!ul(e)}function pl(e){let t={},n={};function r(e){for(let[t,r]of Object.entries(e))n[t]=r}for(let[n,i]of Object.entries(e))if(ul(i))t[n]=i.render({name:n}),r(i.getDefaults(n));else if(dl(i)){let e=new i,[a,o]=pl(e.model);t[n]=e.form(a),r(o)}else if(Array.isArray(i)){console.warn(`[buildFormFields] ⚠️ The field "${n}" is defined as an array. It has been automatically converted into an object with generated keys (e.g., "${n}_0"). Consider refactoring your model to use an explicit object instead of an array.`);let e={};i.forEach((t,r)=>{let i=`${n}_${r}`;e[i]=t});let[a,o]=pl(e);r(o),t[n]=a}else if(fl(i)){let[e,a]=pl(i);t[n]=e,r(a)}else t[n]=i;return[t,n]}var ml=Symbol(`llmnative.form-controller-store`),hl=()=>({record:void 0,isNewRecord:!0,isDirty:!1,canSave:!1,canDelete:!1,isSaving:!1,isDeleting:!1,saveDisabled:!0,deleteDisabled:!0,hasDraft:!1,draftStatus:null,errors:{},hasErrors:!1}),gl=async()=>!1,_l=()=>void 0;function vl(){let e=hl(),t,n=new Set,r={save:gl,delete:gl,reset:_l,restoreDraft:_l,discardDraft:_l},i=()=>{t={...e,save:r.save,delete:r.delete,reset:r.reset,restoreDraft:r.restoreDraft,discardDraft:r.discardDraft,[ml]:a},n.forEach(e=>e())},a={bindActions(e){let t=!1;e.save&&r.save!==e.save&&(r.save=e.save,t=!0),e.delete&&r.delete!==e.delete&&(r.delete=e.delete,t=!0),e.reset&&r.reset!==e.reset&&(r.reset=e.reset,t=!0),e.restoreDraft&&r.restoreDraft!==e.restoreDraft&&(r.restoreDraft=e.restoreDraft,t=!0),e.discardDraft&&r.discardDraft!==e.discardDraft&&(r.discardDraft=e.discardDraft,t=!0),t&&i()},getControllerSnapshot:()=>t,getState:()=>e,setState(t){let n={...e,...t};Object.keys(n).some(t=>e[t]!==n[t])&&(e=n,i())},subscribe(e){return n.add(e),()=>n.delete(e)}};return t={...e,save:r.save,delete:r.delete,reset:r.reset,restoreDraft:r.restoreDraft,discardDraft:r.discardDraft,[ml]:a},a}function yl(e){return e?.[ml]??vl()}function bl(e){return yl(e)}function xl(e){let t=bl(e);t.setState(hl()),t.bindActions({save:gl,delete:gl,reset:_l,restoreDraft:_l,discardDraft:_l})}var Sl=(0,t.createContext)(null);function Cl(e){let n=(0,t.useRef)(void 0);n.current||=e?yl(e):vl();let r=e?yl(e):n.current;return(0,t.useSyncExternalStore)(r.subscribe,r.getControllerSnapshot,r.getControllerSnapshot)}function wl(){let e=(0,t.useContext)(Sl);if(!e)throw Error(`useFormActions must be used within a FormControllerContext`);return e}var Tl=e=>Array.isArray(e)?[...e]:e&&typeof e==`object`?{...e}:{},El=e=>!Number.isNaN(Number(e)),Dl=(e,t)=>[`number`,`range`].includes(t)?e===``||e==null?``:Number(e):e,Ol=e=>e!==void 0&&El(e)?[]:{},kl=(e,t,n)=>{let r=t.target.name.split(`.`),i=Dl(t.target.value,n),a=Tl(e??{}),o=a;for(let e=0;e<r.length-1;e++){let t=r[e],n=r[e+1],i=o[t];o[t]=typeof i==`object`&&i?Tl(i):Ol(n),o=o[t]}let s=r[r.length-1];return i==null||i===``?Array.isArray(o)&&El(s)?o.splice(Number(s),1):delete o[s]:o[s]=i,a},Al=(0,t.createContext)(null),jl=(0,t.createContext)(null),Ml=(e,n)=>{let r=(0,t.useContext)(jl),i=(0,t.useRef)(n);return i.current=n,(0,t.useEffect)(()=>{if(r)return r.registerField(e,i),()=>r.unregisterField(e)},[e]),r?.errors[e]},Nl=({name:e,onChange:n,wrapperClassName:r,inputType:i=`text`,defaultValue:a,inheritWrapperClassName:o=!0})=>{let s=(0,t.useContext)(Al);if(!s)throw Error(`useFormContext must be used within a FormContext.Provider`);if(!e)throw Error(`useFormContext: name is required`);let c=(0,t.useContext)(jl);return{value:(0,t.useMemo)(()=>{let t=e.split(`.`).reduce((e,t)=>{if(e!=null){if(Array.isArray(e)){let n=Number(t);return isNaN(n)?void 0:e[n]}if(typeof e==`object`)return e[t]}},s.record);return t===void 0&&a!==void 0?a??``:t??``},[e,s.record,a]),handleChange:(0,t.useCallback)(t=>{c?.clearFieldError(t.target.name);let r;s.setRecord(e=>(r=kl(e,t,i),r)),n?.({event:t,name:e,value:t.target.value,record:r??{},onChange:e=>{s.setRecord(t=>kl(t,e,i))}})},[c,s.setRecord,n,e,i]),formWrapClass:[r,o?s.wrapperClassName:void 0].filter(Boolean).join(` `),record:s.record??{}}},Pl=({name:e,value:n,handleChange:r})=>t.default.useCallback(t=>{t.preventDefault();let i=t.target,a=`${t.dataTransfer.getData(`text/plain`)}`;i.focus();let o=(()=>{let e=document.caretPositionFromPoint?.(t.clientX,t.clientY)??document.caretRangeFromPoint?.(t.clientX,t.clientY);return e&&`offset`in e?e.offset??i.value.length:i.value.length})(),s=String(n??``),c=s.slice(0,o)+a+s.slice(o);r?.({target:{value:c.trim(),name:e}}),requestAnimationFrame(()=>{let e=o+a.length;i.setSelectionRange(e,e)})},[e,n,r]);function Fl(e,t){if(e.indexOf(`.`)===-1||t.indexOf(`.`)===-1)return`${t}.${e}`;let n=Math.min(e.length,t.length),r=0;for(;r<n&&e.charCodeAt(r)===t.charCodeAt(r);)r++;let i=e.lastIndexOf(`.`,r-1);return i===-1?`${t}.${e}`:`${t}.${e.slice(i+1)}`}var Il=({children:e,parentName:n,parentKey:r,wrapperClassName:i})=>t.default.Children.map(e,e=>{if(!n||!t.default.isValidElement(e))return e;let{name:a,children:o}=e.props,s={};return a&&(s.name=Fl(a,n),s.key=r??s.name,s.wrapperClassName=e.props.wrapperClassName??i,e.props.before&&t.default.isValidElement(e.props.before)&&(s.before=Il({children:e.props.before,parentName:n,parentKey:`${s.key}.before`})),e.props.after&&t.default.isValidElement(e.props.after)&&(s.after=Il({children:e.props.after,parentName:n,parentKey:`${s.key}.after`}))),o&&typeof o!=`function`&&(s.children=Il({children:o,parentName:n,parentKey:r,wrapperClassName:i})),t.default.cloneElement(e,s)});function Ll(e){let r=(0,n.useLocation)(),{path:i,keyGenerator:a,defaultValues:o,children:s,...c}=e,l=(e=>e??(r.hash?`${M(r.pathname)}/${r.hash.slice(1)}`:void 0))(i);return o||!l||a?t.default.createElement(Vl,{children:s,defaultValues:o,path:i,keyGenerator:a,...c}):t.default.createElement(Rl,{children:s,defaultValues:o,path:l,keyGenerator:a,...c})}var Rl=e=>{let{path:n,defaultValues:r,...i}=e,a=$n(),[o,s]=(0,t.useState)(void 0);return(0,t.useEffect)(()=>{a.read(n).then(e=>{s({...r,...e})}).catch(e=>{console.error(e),s({})})},[a,n,r]),o?t.default.createElement(Vl,{...i,defaultValues:o,path:n}):t.default.createElement(`p`,{className:`p-4`},t.default.createElement(`span`,{className:`mr-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),`Loading...`)},zl=e=>JSON.stringify(ue(e??{})),Bl=e=>{if(e)try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{return}},Vl=({children:e,appearance:r=void 0,controller:i=void 0,header:a=void 0,footer:o=void 0,path:c=void 0,defaultValues:l=void 0,keyGenerator:u=void 0,onLoad:d=void 0,onRecordChange:f=void 0,onSave:p=void 0,onDelete:m=void 0,onComplete:h=void 0,log:g=!1,showNotice:_=!0,draftBucket:v=void 0,noticeAnchorRef:y=void 0,showBack:b=!1,wrapperClassName:x=void 0,headerClassName:S=void 0,className:C=void 0,footerClassName:w=void 0,formClassName:T=void 0})=>{let E=(0,n.useLocation)(),D=Y(`form`),O=ct(`form`),k=$n(),A=Cl(i),j=bl(A),[P,F]=(0,t.useState)(l),[I,L]=(0,t.useState)(!1),[R,z]=(0,t.useState)(!1),B=!l?.[pi],V=(0,t.useRef)(re(l??{})),[ee,H]=(0,t.useState)(()=>zl(l)),[te,U]=(0,t.useState)(null),ne=(0,t.useRef)({isDirty:!1}),W=(0,t.useMemo)(()=>{if(!v)return;let e=N(v),t=N(c||`${E.pathname}${E.hash||``}`);return e&&t?`llmnative.form-draft.${e}.${t}`:void 0},[v,E.pathname,E.hash,c]),G=!!(p||c||!B),ie=!!(m||!B),ae=(0,t.useMemo)(()=>zl(P)!==ee,[P,ee]),oe=O.noChangesToSave??`No changes to save`,se=O.draftRestoreTitle??`Unsaved changes found`,K=O.draftRestoreMessage??`A local draft is available for this form. Restore it or discard it.`,ce=O.draftRestoreAction??`Restore`,q=O.draftDiscardAction??`Discard`,le=O.draftRestoredTitle??`Draft restored`,de=O.draftRestoredMessage??`The local draft has been restored. You can still discard it for a few seconds.`,fe=(0,t.useCallback)(()=>{!W||typeof localStorage>`u`||localStorage.removeItem(W)},[W]),pe=(0,t.useCallback)(()=>{if(!(!W||typeof localStorage>`u`))return Bl(localStorage.getItem(W))},[W]),me=(0,t.useCallback)(()=>{F(re(V.current))},[]),[he,ge]=(0,t.useState)(void 0),_e=(0,t.useCallback)(({message:e,type:t=`danger`})=>{_&&ge({type:t,message:e})},[_]),[ve,ye]=(0,t.useState)({}),be=(0,t.useRef)({}),xe=(0,t.useRef)(null),Se=(0,t.useRef)(P),Ce=(0,t.useRef)(l),we=(0,t.useRef)(p),Te=(0,t.useRef)(m),J=(0,t.useRef)(h),Ee=(0,t.useRef)(c),De=(0,t.useRef)(g),Oe=(0,t.useCallback)(()=>{fe(),me(),U(null)},[fe,me]),ke=(0,t.useCallback)(()=>{let e=pe();if(!e){U(null);return}F(re(e)),U(`restored`)},[pe]),Ae=(0,t.useCallback)(()=>{ye({}),ge(void 0),U(null),me()},[me]),je=(0,t.useCallback)((e,t)=>{be.current[e]=t},[]),Me=(0,t.useCallback)(e=>{delete be.current[e]},[]),Ne=(0,t.useCallback)(e=>{ye(t=>{if(!t[e])return t;let{[e]:n,...r}=t;return r})},[]),Pe=(0,t.useCallback)(async()=>{let e={};for(let[t,n]of Object.entries(be.current)){let{required:r,label:i,validator:a}=n.current,o=t.split(`.`).reduce((e,t)=>{if(e!=null){if(Array.isArray(e))return e[Number(t)];if(typeof e==`object`)return e[t]}},Se.current);if(r&&(o==null||typeof o==`string`&&o.trim()===``||Array.isArray(o)&&o.length===0)){e[t]=i?et(O.requiredField,{field:i}):O.requiredFieldGeneric;continue}if(a){let n=await a(o);n&&(e[t]=n)}}if(ye(e),Object.keys(e).length>0){let t=Object.keys(e)[0];requestAnimationFrame(()=>{xe.current?.querySelector(`[name="${CSS.escape(t)}"]`)?.focus()})}return Object.keys(e).length===0},[O]),Fe=(0,t.useCallback)(e=>{if(!c)return;let t=M(c);if(B)return t.split(`/`).filter(Boolean).length%2==0&&!u?`/${t}`:`/${t}/${u?.(e)??Date.now().toString()}`;let n=e[pi];if(!n)return c;let r=t.split(`/`).filter(Boolean);return`/${r[r.length-1]===n?r.slice(0,-1).join(`/`):t}/${n}`},[c,u,B]),Ie=(0,t.useCallback)(async e=>{if(De.current&&Ee.current&&k){let t=new Date().toISOString(),n=Tn(`user`);k.set(`/log/${Ee.current}/${N(t)}`,{user:n?.email??`unknown`,when:t,action:e,record:Se.current})}return _e({message:e===`delete`?O.deleteSuccess:O.saveSuccess,type:`success`}),await J.current?.({record:Se.current,action:e})??!0},[k,_e,O]),Le=(0,t.useCallback)(async e=>{if(e?.preventDefault?.(),!ae)return _&&ge({message:oe,type:`info`}),!1;if((0,s.flushSync)(()=>{ye({}),_&&ge(void 0)}),!await Pe())return _&&ge({message:O.noticeRequiredFields,type:`warning`}),!1;let t=B?`create`:`update`;L(!0);try{let e=(we.current&&await we.current({record:Se.current,prevRecord:Ce.current,action:t,storagePath:Ee.current}))??Fe(Se.current??{});return e&&await k.set(e,ue(Se.current)),V.current=re(Se.current??{}),H(zl(Se.current)),fe(),U(null),await Ie(t)}finally{L(!1)}},[fe,Fe,k,O.noticeRequiredFields,Ie,ae,B,oe,_,Pe]),Re=(0,t.useCallback)(async e=>{e?.preventDefault?.(),_&&ge(void 0),z(!0);try{let e=(Te.current&&await Te.current({record:Se.current}))??Fe(Se.current??{});return e&&await k.remove(e),fe(),U(null),await Ie(`delete`)}finally{z(!1)}},[fe,Fe,k,Ie,_]);(0,t.useEffect)(()=>{let e=re(l??{});if(l&&(F(e),d?.(re(e))),V.current=e,H(zl(e)),!v){U(null);return}let t=pe();if(t&&zl(t)!==zl(e)){U(`restore`);return}U(null)},[JSON.stringify(l),v,d,pe]),(0,t.useEffect)(()=>{Se.current=P,P!==void 0&&f?.(P)},[P,f]),(0,t.useEffect)(()=>{Ce.current=l,we.current=p,Te.current=m,J.current=h,Ee.current=c,De.current=g},[l,g,h,m,p,c]),(0,t.useEffect)(()=>{if(!W||typeof localStorage>`u`||P===void 0)return;if(!ae){let e=pe();if(e&&zl(e)!==ee)return;localStorage.removeItem(W);return}let e=window.setTimeout(()=>{localStorage.setItem(W,JSON.stringify(ue(P)))},150);return()=>window.clearTimeout(e)},[ee,W,ae,pe,P]),(0,t.useEffect)(()=>{ne.current={storageKey:W,record:P,isDirty:ae}},[W,ae,P]),(0,t.useEffect)(()=>()=>{let{storageKey:e,record:t,isDirty:n}=ne.current;!e||!n||!t||typeof localStorage>`u`||localStorage.setItem(e,JSON.stringify(ue(t)))},[]),(0,t.useEffect)(()=>{j.bindActions({save:Le,delete:Re,reset:Ae,restoreDraft:ke,discardDraft:Oe})},[j,Oe,Re,Le,Ae,ke]),(0,t.useEffect)(()=>{j.setState({record:Se.current,isNewRecord:B,isDirty:ae,canSave:G,canDelete:ie,isSaving:I,isDeleting:R,saveDisabled:!G||!ae||I,deleteDisabled:!ie||R,hasDraft:te!==null,draftStatus:te,errors:ve,hasErrors:Object.keys(ve).length>0})},[ie,G,j,te,ve,R,ae,B,I,P]),(0,t.useEffect)(()=>()=>xl(A),[j]);let ze=(0,t.useCallback)(e=>{e.defaultPrevented||!((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`)||A.saveDisabled||(e.preventDefault(),A.save())},[A]),Be=(0,t.useMemo)(()=>({registerField:je,unregisterField:Me,clearFieldError:Ne,errors:ve}),[je,Me,Ne,ve]),Ve=(0,t.useMemo)(()=>({record:P,setRecord:F,wrapperClassName:`mb-3`}),[P,F]),He=(0,t.useMemo)(()=>t.default.createElement(Sl.Provider,{value:A},t.default.createElement(Al.Provider,{value:Ve},t.default.createElement(jl.Provider,{value:Be},typeof e==`function`?e({record:P}):e))),[e,A,Ve,P,Be]),Ue=(0,t.useMemo)(()=>he?t.default.createElement(la,{variant:he.type,appearance:y?`default`:`text`,placement:y?`sticky`:`inline`,anchorRef:y,timeout:he.type===`success`?3e3:void 0,onClose:he.type===`success`?()=>ge(void 0):void 0},he.message):null,[he,y]),We=(0,t.useMemo)(()=>{if(!te)return null;let e=te===`restore`?se:le,n=te===`restore`?K:de;return t.default.createElement(la,{variant:te===`restore`?`warning`:`info`,timeout:te===`restored`?6e3:void 0,onClose:te===`restored`?()=>U(null):void 0},t.default.createElement(`div`,{className:`flex items-start justify-between gap-3`},t.default.createElement(`div`,{className:`min-w-0`},t.default.createElement(`div`,{className:`font-medium`},e),t.default.createElement(`div`,{className:`text-sm opacity-90`},n)),t.default.createElement(`div`,{className:`flex shrink-0 items-center gap-2`},te===`restore`?t.default.createElement(t.default.Fragment,null,t.default.createElement(gn,{label:ce,variant:`warning`,onClick:()=>ke()}),t.default.createElement(gn,{label:q,variant:`outline-secondary`,onClick:()=>Oe()})):t.default.createElement(gn,{label:q,variant:`outline-secondary`,onClick:()=>Oe()}))))},[Oe,q,te,ce,K,se,de,le,ke]),Ge=(0,t.useMemo)(()=>{switch(r){case`empty`:return t.default.createElement(t.default.Fragment,null,We,He,Ue);default:return t.default.createElement(ar,{header:a||t.default.createElement(Or,{rootItem:B?O.headerAdd:O.headerEdit,trail:c||void 0}),footer:(o||!B||p||m||b||!!c)&&t.default.createElement(t.default.Fragment,null,o,Ue,(p||!!c||!B)&&t.default.createElement(hn,{className:X(D.Form.buttonSaveClass,A.saveDisabled&&`cursor-not-allowed opacity-50`),label:O.buttonSave,title:A.saveDisabled&&!ae?oe:void 0,disabled:A.saveDisabled,loading:A.isSaving,onClick:e=>A.save(e)}),(m||!B)&&t.default.createElement(hn,{className:D.Form.buttonDeleteClass,label:O.buttonDelete,disabled:A.deleteDisabled,loading:A.isDeleting,onClick:e=>A.delete(e)}),b&&t.default.createElement(_n,{className:D.Form.buttonBackClass,label:O.buttonBack})),headerClassName:S||D.Form.Card.headerClassName,bodyClassName:C||D.Form.Card.bodyClassName,footerClassName:w||D.Form.Card.footerClassName},t.default.createElement(t.default.Fragment,null,We,He))}},[r,C,He,O.buttonBack,O.buttonDelete,O.buttonSave,O.headerAdd,O.headerEdit,We,o,w,A,a,S,ae,B,oe,Ue,m,p,c,b,D.Form.buttonDeleteClass,D.Form.buttonSaveClass,D.Form.buttonBackClass,D.Form.Card.bodyClassName,D.Form.Card.footerClassName,D.Form.Card.headerClassName]);return t.default.createElement(Z,{className:x||D.Form.wrapperClassName},t.default.createElement(`form`,{ref:xe,className:T,noValidate:!0,onSubmit:e=>e.preventDefault(),onKeyDownCapture:ze,onKeyDown:ze},Ge))},Hl=`rounded-xl border border-border/60 bg-card/80 shadow-sm`,Ul=`flex items-center justify-between gap-3 border-b border-border/50 px-3 py-2`,Wl=`text-xs font-medium uppercase tracking-[0.14em] text-muted-foreground`,Gl=`px-3 py-3`,Kl=`h-7 w-7 rounded-md bg-transparent p-0 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,ql=({name:e,children:n,onChange:r,onAdd:i,onRemove:a,className:o,layout:s=`horizontal`,minItems:c=void 0,maxItems:l=void 0,label:u=void 0,labelPosition:d=`top`,hideRemoveButton:f=!1,readOnly:p=!1})=>{let{value:m,handleChange:h}=Nl({name:e,onChange:r}),g=Array.isArray(m)?m:[],_=(t,r)=>Il({children:typeof n==`function`?n({record:g[t],records:g,index:t,remove:()=>x(t)}):n,parentName:`${e}.${t}`,wrapperClassName:r}),v=(e,n)=>{switch(s){case`horizontal`:return t.default.createElement(`div`,{className:Hl},t.default.createElement(`div`,{className:Ul},t.default.createElement(`span`,{className:Wl},`#`,e+1),n&&!f?t.default.createElement(gn,{className:Kl,icon:`x`,onClick:()=>x(e)}):t.default.createElement(`span`,{className:`h-7 w-7`,"aria-hidden":`true`})),t.default.createElement(`div`,{className:Gl},_(e)));case`vertical`:return t.default.createElement(t.default.Fragment,null);case`inline`:return t.default.createElement(`div`,{className:X(Hl,`px-3 py-2`)},t.default.createElement(`div`,{className:`flex items-start gap-2`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},_(e,`!mb-0`)),n&&!f&&t.default.createElement(gn,{className:X(Kl,`mt-1 shrink-0`),icon:`x`,onClick:()=>x(e)})))}},y=(g.length>0?g:Array.from({length:c||0},()=>({})))?.map((n,r)=>{let i=!p&&r>=(c||0);return t.default.createElement(t.default.Fragment,{key:`${e}-${r}`},v(r,i))}),b=()=>{let t=g.length>0?[...g,{}]:Array.from({length:y.length+1},()=>({}));i?.(t),h({target:{name:`${e}.${t.length-1}`,value:{}}})},x=t=>{a?.(t),h({target:{name:`${e}.${t}`}})},S=(0,t.useMemo)(()=>p?null:!l||y.length<l?u&&d===`bottom`?t.default.createElement(gn,{icon:`plus`,label:u,variant:`link`,className:`w-full justify-start gap-1 rounded-lg border border-dashed border-border/60 px-3 py-2 text-sm text-muted-foreground hover:border-border hover:bg-muted/40 hover:text-foreground`,onClick:b}):t.default.createElement(gn,{icon:`plus`,label:u?void 0:`Add`,variant:u?`link`:`secondary`,className:u?`h-8 w-8 rounded-lg p-0 text-muted-foreground hover:bg-muted/50 hover:text-foreground`:void 0,onClick:b}):null,[p,l,y.length,u,d]);return t.default.createElement(`div`,{className:X(`space-y-3`,o)},u&&d===`top`&&t.default.createElement(`div`,{className:`flex items-center justify-between gap-3`},t.default.createElement(`span`,{className:`text-sm font-medium text-foreground`},u),S),y,!u&&S,u&&d===`bottom`&&S)},Jl={default:{shellClassName:`space-y-4`,menuClassName:`flex flex-wrap items-end gap-2 border-b border-border/70`,contentClassName:`min-w-0`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-t-lg border-b-2 px-3 py-2 text-sm font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`border-primary text-foreground`,inactiveTriggerClassName:`border-transparent text-muted-foreground hover:text-foreground hover:border-border/80`},top:{shellClassName:`space-y-4`,menuClassName:`inline-flex max-w-full flex-wrap gap-2 rounded-xl bg-muted/50 p-1.5`,contentClassName:`min-w-0`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-lg px-3 py-2 text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-card text-foreground shadow-sm ring-1 ring-border/60`,inactiveTriggerClassName:`text-muted-foreground hover:bg-background/80 hover:text-foreground`},left:{shellClassName:`flex h-full min-h-0 flex-col gap-5 md:flex-row md:items-start`,menuClassName:`flex shrink-0 gap-2 overflow-x-auto md:w-64 md:flex-col md:overflow-visible`,contentClassName:`min-h-0 min-w-0 flex-1 overflow-hidden rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm`,itemClassName:`shrink-0 md:w-full`,triggerClassName:`inline-flex w-full items-center justify-between rounded-xl px-3 py-2.5 text-left text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-primary/10 text-primary shadow-sm ring-1 ring-primary/15`,inactiveTriggerClassName:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`},right:{shellClassName:`flex h-full min-h-0 flex-col gap-5 md:flex-row md:items-start`,menuClassName:`order-1 flex shrink-0 gap-2 overflow-x-auto md:order-2 md:w-64 md:flex-col md:overflow-visible`,contentClassName:`order-2 min-h-0 min-w-0 flex-1 overflow-hidden rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm md:order-1`,itemClassName:`shrink-0 md:w-full`,triggerClassName:`inline-flex w-full items-center justify-between rounded-xl px-3 py-2.5 text-left text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-primary/10 text-primary shadow-sm ring-1 ring-primary/15`,inactiveTriggerClassName:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`},bottom:{shellClassName:`space-y-4`,menuClassName:`flex flex-wrap gap-2 rounded-xl bg-muted/50 p-1.5`,contentClassName:`min-w-0 rounded-2xl border border-border/60 bg-card p-4 shadow-sm`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-lg px-3 py-2 text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-card text-foreground shadow-sm ring-1 ring-border/60`,inactiveTriggerClassName:`text-muted-foreground hover:bg-background/80 hover:text-foreground`}};function Yl(e){return Jl[e]}function Xl(e,t,n){let r=Yl(e),i=Y(`tab`);return X(`cursor-pointer`,r.triggerClassName,i.Tab.triggerClassName,t?r.activeTriggerClassName:r.inactiveTriggerClassName,t?i.Tab.activeTriggerClassName:i.Tab.inactiveTriggerClassName,n)}function Zl(e){return X(`min-h-0 min-w-0 h-full overflow-x-hidden overflow-y-auto`,Y(`tab`).Tab.contentClassName,e)}var Ql={default:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`default`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},top:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`top`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},left:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`left`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`vertical`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},right:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`right`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`vertical`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},bottom:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`bottom`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n),t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e))}},$l=()=>null,eu=({children:e,motion:n})=>{let r=Y(`tab`),i=Ft(void 0,n??r.Tab.motion?.enter??`fadeUp`,r.Tab.motion?.enter??`fadeUp`);return t.default.createElement(`div`,{style:i,className:Zl()},e)},tu=({children:e,defaultIndex:n=0,onChange:r,layout:i=`default`,menuClassName:a=void 0,contentClassName:o=void 0,before:s=void 0,after:c=void 0,wrapperClassName:l=void 0,className:u=void 0,motion:d=void 0})=>{let[f,p]=(0,t.useState)(n),m=e=>{p(e),r?.(e)},h=t.Children.toArray(e).filter(e=>t.default.isValidElement(e)&&e.type===$l),g=(0,t.useMemo)(()=>Yl(i),[i]),_=Ql[i],v=Y(`tab`);return t.default.createElement(Z,{className:X(v.Tab.wrapperClassName,l)},s,t.default.createElement(`div`,{className:X(`min-w-0`,v.Tab.className,u)},t.default.createElement(_,{menuClassName:a,contentClassName:o,menu:h.map((e,n)=>t.default.createElement(`div`,{key:n,className:X(g.itemClassName,v.Tab.itemClassName)},t.default.createElement(`button`,{type:`button`,role:`tab`,"aria-selected":n===f,onClick:()=>m(n),className:Xl(i,n===f)},e.props.label))),content:t.default.createElement(eu,{key:f,motion:d},h[f]?.props?.children)})),c)};function nu({records:e,selectedKeys:n,onSelectionChange:r,getRecordKey:i}){let a=n,o=a!==void 0&&!!r,[s,c]=(0,t.useState)(a??[]);(0,t.useEffect)(()=>{a!==void 0&&!o&&c(a)},[a,o]);let l=o?a||[]:s,u=!!r||a!==void 0,d=(0,t.useCallback)(t=>{let n=new Set(t);return{keys:t,records:e.filter((e,t)=>n.has(i(e,t))),hasSelection:t.length>0}},[i,e]),f=(0,t.useCallback)(e=>{o||c(e);let t=d(e);r?.({...t,clear:()=>f([])})},[d,o,r]),p=(0,t.useCallback)(()=>{f([])},[f]);return{activeSelectedKeys:l,selectionState:(0,t.useMemo)(()=>({...d(l),clear:p}),[l,d,p]),showSelection:u,updateSelection:f}}function ru(e,n){let r=(0,t.useRef)(new WeakMap),i=(0,t.useRef)(0);return(0,t.useCallback)((t,a)=>{if(n!=null){let e=typeof n==`function`?n(t):t[n];if(e!=null&&e!==``)return String(e)}if(t._key)return t[pi];let o=t,s=r.current.get(o);if(s)return s;let c=`${e}-${i.current++}`;return r.current.set(o,c),c},[e,n])}function iu({columns:e=void 0,records:n=void 0,footer:r=void 0,onRowClick:i=void 0,onReorder:o=void 0,onSelectionChange:s=void 0,selection:c=`multiple`,sortable:l=!1,pagination:u=void 0,activeKey:d=void 0,selectedKeys:f=void 0,groupBy:p=void 0,recordId:m=void 0,before:h=void 0,after:g=void 0,wrapperClassName:_=void 0,className:v=void 0,headerClassName:y=void 0,bodyClassName:b=void 0,footerClassName:x=void 0,heightClassName:S=void 0,scrollClassName:C=void 0,selectedClassName:w=void 0,renderCell:T=void 0}){let E=Y(`table`),D=ct(`table`),O=w||E.Table.selectedClassName,[k,A]=(0,t.useState)(n||[]),j=(0,t.useMemo)(()=>{if(!(!l||typeof l==`boolean`))return l},[typeof l==`object`?l?.dir:void 0,typeof l==`object`?l?.field:void 0]),M=l!==!1,[N,P]=(0,t.useState)(j),[F,I]=(0,t.useState)(null),[L,R]=(0,t.useState)(null),[z,B]=(0,t.useState)(null),[V,ee]=(0,t.useState)(null),[H,te]=(0,t.useState)(null),U=(0,t.useRef)(!1),ne=(0,t.useCallback)(e=>{e&&I(e)},[]),W=(0,t.useId)(),G=!!o,re=M||!!po.normalize(j),ie=G&&re,ae=!ie&&M,oe=ie?void 0:j;(0,t.useEffect)(()=>{A(n||[])},[n]),(0,t.useEffect)(()=>{P(oe)},[oe?.field,oe?.dir]),(0,t.useEffect)(()=>{!ie||U.current||(console.warn("Table: `onReorder` cannot be combined with sortable sorting on the same view. Manual reorder takes precedence and sorting is ignored."),U.current=!0)},[ie]);let se=ru(`row`,m),K=(0,t.useCallback)((e,t)=>se(e,t),[se]),{activeSelectedKeys:ce,selectionState:q,showSelection:le,updateSelection:ue}=nu({records:k,selectedKeys:f,onSelectionChange:s,getRecordKey:K});(0,t.useEffect)(()=>{H&&(k.some((e,t)=>K(e,t)===H)||te(null))},[H,K,k]),(0,t.useEffect)(()=>{if(N||!e?.length||G)return;let t=e.find(e=>ae&&e.sort!==!1);t&&P({field:t.key,dir:`asc`})},[N,ae,e,G]);let de=(0,t.useMemo)(()=>po.records(k,N)||[],[k,N]),fe=(e,t,n)=>{let r=e.target;for(;r&&r.tagName!==`TR`;){if([`A`,`BUTTON`,`INPUT`,`LABEL`].includes(r.tagName))return;r=r.parentNode}let a=K(t,n);O&&d===void 0&&te(e=>e===a?null:a),i?.(t)},pe=(e,n,r)=>{if(T)return T(e,n,r);let i=e[n],a=typeof i==`object`&&i&&!Array.isArray(i)?i:null,o=a?.prompt&&a?.value||i;return t.default.isValidElement(o)||typeof o!=`object`||!o?o:Array.isArray(o)&&!o.some(e=>typeof e==`object`&&e)?o.join(`, `):``},me=(0,t.useCallback)((e,t)=>{let n=K(e,t),r=ce.includes(n)?ce.filter(e=>e!==n):[...ce,n];ue(r)},[ce,K,ue]),he=(0,t.useCallback)((e,t)=>{let n=K(e,t);ue(ce.includes(n)?[]:[n])},[ce,K,ue]),ge=(0,t.useCallback)((e,t)=>{if(!L)return;let n=de.findIndex((e,t)=>K(e,t)===L),r=de.findIndex((n,r)=>K(n,r)===K(e,t));B(null),R(null);let i=V?.position||`after`;if(ee(null),n<0||r<0||n===r)return;let a=[...de],[s]=a.splice(n,1),c=n<r?r+(i===`after`?0:-1):r+ +(i===`after`);a.splice(c,0,s),P(void 0),A(a),o?.(a,{fromIndex:n,toIndex:c,record:s})},[L,V?.position,K,o,de]);if(de.length===0)return t.default.createElement(`p`,{className:`p-4`},D.noDataFound);let _e=e||Object.keys(de[0]).map(e=>({key:e,label:e,sort:M})),ve=[`w-full`,E.Table.scrollClassName,S?`${S} overflow-auto`:``,C||``].filter(Boolean).join(` `),ye=!!S,be=_e.length+ +!!le+ +!!G,xe=ye?`sticky top-0 z-10 bg-card`:``,Se=(e,n,r,i)=>!V||V.key!==e||V.position!==n?null:t.default.createElement(`tr`,{"aria-hidden":`true`,onDragOver:t=>{G&&(t.preventDefault(),z!==e&&B(e),ee({key:e,position:n}))},onDrop:t=>{G&&(t.preventDefault(),ee({key:e,position:n}),ge(r,i))}},t.default.createElement(`td`,{colSpan:be,className:`border-0 p-0`},t.default.createElement(`div`,{className:`relative h-5 cursor-grab`},t.default.createElement(`div`,{className:`absolute inset-x-2 top-1/2 -translate-y-1/2`},t.default.createElement(`div`,{className:`h-0 rounded-full border-t-2 border-primary/80`}),t.default.createElement(`div`,{className:`absolute left-0 top-1/2 h-2 w-2 -translate-y-1/2 rounded-full bg-primary shadow-sm`}))))),Ce=t.default.createElement(`tr`,null,le&&t.default.createElement(`th`,{className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}},c===`single`?t.default.createElement(`div`,{className:`th-inner py-1`}):t.default.createElement(`div`,{className:`th-inner py-1`},t.default.createElement(`input`,{type:`checkbox`,"aria-label":D.selectAllRows,checked:q.records.length>0&&q.records.length===k.length,onChange:e=>{let t=e.target.checked?de.map((e,t)=>K(e,t)):[];ue(t)}}))),G&&t.default.createElement(`th`,{className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`div`,{className:`th-inner py-1`})),_e.map(e=>e.label?(()=>{let n=ae&&e.sort!==!1,r=n&&N?.field===e.key,i=r?N?.dir===`desc`?`descending`:`ascending`:`none`;return t.default.createElement(`th`,{key:e.key,className:[`px-3 py-2 font-semibold text-muted-foreground`,xe,e.className||``].filter(Boolean).join(` `),"aria-sort":i},n?t.default.createElement(`button`,{type:`button`,className:`th-inner group inline-flex w-full cursor-pointer items-center gap-2 rounded-sm border-0 bg-transparent px-0 py-1 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 `+(r?`font-semibold text-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>P(t=>po.toggle(t,e.key)),"aria-label":r?et(D.sortByCurrent,{label:e.label,direction:N?.dir===`desc`?`descending`:`ascending`}):et(D.sortBy,{label:e.label}),title:r?`${e.label}: ${N?.dir===`desc`?`descending`:`ascending`}`:et(D.sortBy,{label:e.label})},t.default.createElement(`span`,{className:`inline-flex h-4 w-4 flex-none items-center justify-center transition-colors `+(r?`text-primary`:`text-muted-foreground/70 group-hover:text-foreground/80`),"aria-hidden":`true`},r?N?.dir===`desc`?t.default.createElement(a.ArrowDown,{size:14}):t.default.createElement(a.ArrowUp,{size:14}):t.default.createElement(a.ArrowUpDown,{size:14})),t.default.createElement(`span`,null,e.label)):t.default.createElement(`div`,{className:`th-inner py-1`},e.label))})():t.default.createElement(`th`,{key:e.key,className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}}))),we=t.default.createElement(vf,{records:de,appendTo:F,wrapperClassName:`px-3 pt-4 pb-2`,...u||{}},(e,n)=>{let r=p?Array.isArray(p)?p:[p]:null,o;return e.map((e,s)=>{let l=n+s,u=K(e,l),f=r?r.map(t=>String(e[t]??``)).join(` · `):void 0,p=f!==void 0&&f!==o;o=f;let m=ce.includes(u),h=z===u,g=L===u,_=O&&(d===void 0?H:d)===u;return t.default.createElement(t.default.Fragment,{key:u},p&&t.default.createElement(`tr`,{"aria-hidden":`true`},t.default.createElement(`td`,{colSpan:be,className:`bg-muted/40 px-3 py-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},f)),Se(u,`before`,e,l),t.default.createElement(`tr`,{draggable:G,className:[`odd:bg-muted/30 hover:bg-muted/20 transition-colors`,h?`bg-muted/30`:``,_?O:``].filter(Boolean).join(` `)||void 0,style:{cursor:i?`pointer`:G?`grab`:`default`,opacity:g?.45:1},onClick:t=>{i&&fe(t,e,l)},onDragStart:()=>{R(u)},onDragOver:e=>{if(!G)return;e.preventDefault();let t=e.currentTarget.getBoundingClientRect(),n=e.clientY<t.top+t.height/2?`before`:`after`;z!==u&&B(u),L!==u&&ee(e=>e?.key===u&&e.position===n?e:{key:u,position:n})},onDragLeave:()=>{z===u&&B(null)},onDragEnd:()=>{R(null),B(null),ee(null)},onDrop:t=>{G&&(t.preventDefault(),ge(e,l))}},le&&t.default.createElement(`td`,{className:`px-3 py-2 border-b border-border/50`,style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`input`,{type:c===`single`?`radio`:`checkbox`,name:c===`single`?W:void 0,"aria-label":et(D.selectRow,{key:u}),checked:m,onChange:()=>{if(c===`single`){he(e,l);return}me(e,l)},onClick:t=>{t.stopPropagation(),c===`single`&&(t.preventDefault(),he(e,l))}})),G&&t.default.createElement(`td`,{className:`px-3 py-2 border-b border-border/50`,style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`button`,{type:`button`,draggable:G,className:`inline-flex cursor-grab items-center justify-center rounded-sm border-0 bg-transparent p-0 text-muted-foreground`,"aria-label":et(D.reorderRow,{key:u}),onClick:e=>e.preventDefault(),onDragStart:e=>{e.stopPropagation(),R(u)},onDragEnd:e=>{e.stopPropagation(),R(null),B(null),ee(null)}},t.default.createElement(a.GripVertical,{size:14}))),_e.map(n=>t.default.createElement(`td`,{key:n.key,className:`px-3 py-2 border-b border-border/50`},pe(e,n.key,l)))),Se(u,`after`,e,l))})});return t.default.createElement(`div`,{className:`flex items-stretch gap-3`},h&&t.default.createElement(`div`,{className:`table-before flex shrink-0 items-center self-stretch`},h),t.default.createElement(`div`,{ref:ne,className:`min-w-0 flex-1 overflow-x-auto `+(_||E.Table.wrapperClassName)},t.default.createElement(`div`,{className:ve},t.default.createElement(`table`,{className:`w-full text-left text-sm border-collapse `+(v||E.Table.className)},t.default.createElement(`thead`,{className:`border-b `+(y||E.Table.headerClassName)},Ce),t.default.createElement(`tbody`,{className:b||E.Table.bodyClassName},we),r&&t.default.createElement(`tfoot`,{className:x||E.Table.footerClassName},r)))),g&&t.default.createElement(`div`,{className:`table-after flex shrink-0 items-center self-stretch`},g))}var au=12,ou=12,su=(e,t,n)=>Math.max(t,Math.min(n,e)),cu=e=>{if(!e)return``;let t=e.trim().replace(/^\{/,``).replace(/\}$/,``).trim(),n=t.split(`.`);return(n[n.length-1]||t).trim()},lu=(e,t)=>{let n=e-t.left,r=t.width/au;return su(Math.floor(n/r),0,au-1)},uu=()=>`${Date.now()}_${Math.random().toString(16).slice(2)}`,du=(e,t,n)=>{let r=e=>{let r=e+t;return r>au?!1:!n.some(t=>{let n=e,i=r,a=t.colStart;return n<t.colStart+t.colSpan&&a<i})};for(let n=e;n<=au-t;n++)if(r(n))return n;for(let e=0;e<=au-t;e++)if(r(e))return e;return null},fu=(e,t,n)=>{let r=e.find(e=>e.id===t);if(!r)return e;let i=e.filter(e=>e.id!==t),a=du(su(n,0,au-r.colSpan),r.colSpan,i);return a===null?e:e.map(e=>e.id===t?{...e,colStart:a}:e)},pu=(e,t,n)=>{let r=e.find(e=>e.id===t);if(!r)return e;let i=e.filter(e=>e.id!==t),a=su(n,1,au-r.colStart),o=e=>{let t=r.colStart,n=r.colStart+e;return i.some(e=>{let r=e.colStart,i=e.colStart+e.colSpan;return t<i&&r<n})};for(;a>1&&o(a);)a--;return o(a)?e:e.map(e=>e.id===t?{...e,colSpan:a}:e)},mu=(e,t,n)=>{if(n<=0)return null;let r=e.map(e=>{let n=e.colStart+e.colSpan/2;return{it:e,dist:Math.abs(n-(t+.5))}}).sort((e,t)=>e.dist-t.dist).map(e=>e.it);for(let t of r){if(t.colSpan-1<n)continue;let r=t.colSpan-n,i=t.colStart+r;if(!(i<0||i+n>au))return{nextItems:e.map(e=>e.id===t.id?{...e,colSpan:r}:e),insertCol:i}}return null},hu=(0,t.forwardRef)(({name:e,defaultSpan:n=1,heightPx:r=100},i)=>{let a=(0,t.useRef)(null),o=ct(`layout`),{value:s,handleChange:c}=Nl({name:e,defaultValue:[]}),l=Array.isArray(s)?s:[],u=t=>{let n=typeof t==`function`?t(l):t;c({target:{name:e,value:n}})},[d,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[h,g]=(0,t.useState)(``),_=(0,t.useRef)(null),v=e=>{g(e),_.current&&window.clearTimeout(_.current),_.current=window.setTimeout(()=>g(``),2500)};(0,t.useEffect)(()=>()=>{_.current&&window.clearTimeout(_.current)},[]),(0,t.useImperativeHandle)(i,()=>({getValue:()=>l,setValue:e=>u(e),clear:()=>u([])}));let y=(0,t.useMemo)(()=>Array.from({length:au},(e,t)=>t),[]),b=e=>{e.preventDefault()},x=e=>{if(e.preventDefault(),e.dataTransfer.getData(`application/x-layoutbuilder-internal`)){f(null);return}if(l.length>=ou){v(o.maxElements);return}let t=a.current;if(!t)return;let r=t.getBoundingClientRect(),i=lu(e.clientX,r),s=cu(e.dataTransfer.getData(`text/plain`)||e.dataTransfer.getData(`label`)||``)||`unknown`,c=su(n,1,au),d=du(su(i,0,au-c),c,l);if(d!==null){u(e=>[...e,{id:uu(),fieldName:s,colStart:d,colSpan:c}]);return}if(!mu(l,i,c)){v(o.noSpace);return}u(e=>{if(e.length>=ou)return v(o.maxElements),e;let t=mu(e,i,c);if(!t)return v(o.noSpace),e;let n={id:uu(),fieldName:s,colStart:t.insertCol,colSpan:c};return[...t.nextItems,n]})},S=e=>t=>{f(e),t.dataTransfer.setData(`application/x-layoutbuilder-internal`,e),t.dataTransfer.effectAllowed=`move`},C=e=>{if(e.preventDefault(),!d)return;let t=a.current;if(!t)return;let n=t.getBoundingClientRect(),r=lu(e.clientX,n);u(e=>fu(e,d,r))},w=()=>f(null),T=e=>t=>{t.stopPropagation(),t.preventDefault();let n=l.find(t=>t.id===e);n&&m({id:e,startClientX:t.clientX,startSpan:n.colSpan})},E=e=>{if(!p)return;let t=a.current;if(!t)return;let n=t.getBoundingClientRect().width/au,r=e.clientX-p.startClientX,i=Math.round(r/n),o=p.startSpan+i;u(e=>pu(e,p.id,o))},D=()=>{p&&m(null)},O=e=>u(t=>t.filter(t=>t.id!==e));return t.default.createElement(`div`,{onMouseMove:E,onMouseUp:D,onMouseLeave:D},h&&t.default.createElement(`div`,{style:{marginBottom:8,padding:`8px 10px`,borderRadius:10,border:`1px solid rgba(255,255,255,0.15)`,background:`rgba(255,255,255,0.04)`,fontSize:12,opacity:.95}},h),t.default.createElement(`div`,{ref:a,onDragOver:e=>{b(e),C(e)},onDrop:x,onDragEnd:w,style:{position:`relative`,height:r,borderRadius:12,border:`2px dashed rgba(255, 255, 255, 0.25)`,background:`rgba(0,0,0,0.02)`,overflow:`hidden`}},y.map(e=>t.default.createElement(`div`,{key:e,style:{position:`absolute`,top:0,bottom:0,left:`${e/au*100}%`,width:1,background:`rgba(255, 255, 255, 0.06)`,pointerEvents:`none`}})),l.map(e=>t.default.createElement(`div`,{key:e.id,draggable:!0,onDragStart:S(e.id),style:{position:`absolute`,top:12,bottom:12,left:`${e.colStart/au*100}%`,width:`${e.colSpan/au*100}%`,padding:10,borderRadius:12,border:`1px solid rgba(255, 255, 255, 0.18)`,boxShadow:`0 1px 2px rgba(0,0,0,0.06)`,cursor:d===e.id?`grabbing`:`grab`,display:`flex`,alignItems:`center`,justifyContent:`center`,userSelect:`none`},title:o.dragToMove},t.default.createElement(`div`,{style:{fontSize:10,fontWeight:400,opacity:.9}},e.fieldName),t.default.createElement(`button`,{type:`button`,onClick:()=>O(e.id),style:{position:`absolute`,border:`none`,top:3,right:3,color:`white`,background:`rgba(255, 255, 255, 0.03)`,fontSize:12,cursor:`pointer`},title:o.remove},`×`),t.default.createElement(`div`,{onMouseDown:T(e.id),style:{position:`absolute`,right:4,top:`50%`,transform:`translateY(-50%)`,width:10,height:30,borderRadius:6,background:`rgba(255, 255, 255, 0.12)`,cursor:`ew-resize`},title:o.dragToResize}))),l.length===0&&t.default.createElement(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`}},o.dragHere)))}),gu=(0,t.createContext)(void 0);function _u({config:e,children:n}){return t.default.createElement(gu.Provider,{value:e},n)}function vu(){return(0,t.useContext)(gu)}var yu,bu;function xu(e){if(typeof window>`u`)return Promise.reject(Error(`loadGoogleMaps can only run in the browser`));if(!e.apiKey)return Promise.reject(Error(`GoogleMapsConfig.apiKey is required`));if(bu!==void 0&&bu!==e.apiKey)return Promise.reject(Error(`loadGoogleMaps was already initialized with a different apiKey`));if(window.google?.maps?.places)return Promise.resolve(window.google);if(yu)return yu;bu=e.apiKey;let t=`__googleMapsLoader_${Math.random().toString(36).slice(2)}`;return yu=new Promise((n,r)=>{window[t]=()=>{delete window[t],window.google?.maps?.places?n(window.google):r(Error(`Google Maps script loaded but the places library is unavailable`))};let i=document.createElement(`script`);i.src=`https://maps.googleapis.com/maps/api/js?${new URLSearchParams({key:e.apiKey,libraries:`places`,loading:`async`,callback:t,...e.language?{language:e.language}:{},...e.region?{region:e.region}:{}}).toString()}`,i.async=!0,i.onerror=()=>r(Error(`Failed to load the Google Maps script`)),document.head.appendChild(i)}),yu}var Su={lat:41.8719,lng:12.5674},Cu=5;function wu(e){return(e??[]).map(e=>({longText:e.longText??``,shortText:e.shortText??e.longText??``,types:e.types}))}function Tu(e){return e.map(e=>({longText:e.long_name,shortText:e.short_name,types:e.types}))}function Eu(e,t,n=!0){let r=e.find(e=>e.types.includes(t));if(r)return(n?r.longText:r.shortText)||void 0}function Du(e,t,n,r){let i=Eu(e,`street_number`),a=Eu(e,`route`);return{street:[a,i].filter(Boolean).join(`, `)||a||void 0,city:Eu(e,`locality`)??Eu(e,`postal_town`)??Eu(e,`sublocality`),state:Eu(e,`administrative_area_level_2`,!1)??Eu(e,`administrative_area_level_1`,!1),zip:Eu(e,`postal_code`),country:Eu(e,`country`),countryCode:Eu(e,`country`,!1),lat:t,lng:n,formatted:r}}function Ou(e){return Du(wu(e.addressComponents),e.location?.lat(),e.location?.lng(),e.formattedAddress??void 0)}function ku(e){return Du(Tu(e.address_components),e.geometry.location.lat(),e.geometry.location.lng(),e.formatted_address)}var Au=({name:e,label:n=void 0,required:r=!1,placeholder:i=void 0,disabled:a=!1,feedback:o=void 0,countries:s=void 0,language:c=void 0,region:l=void 0,validator:u=void 0,onSelect:d=void 0,fieldNames:f=void 0,map:p=!1,id:m=void 0,labelClassName:h=void 0,inheritWrapperClassName:g=!0,wrapperClassName:_=void 0,className:v=void 0,menuClassName:y=void 0,itemClassName:b=void 0,mapClassName:x=void 0})=>{let S=ct(`addressAutocomplete`),C=Y(`addressAutocomplete`),w=vu(),T={street:f?.street??`${e}.street`,city:f?.city??`${e}.city`,state:f?.state??`${e}.state`,zip:f?.zip??`${e}.zip`,country:f?.country??`${e}.country`,countryCode:f?.countryCode??`${e}.countryCode`,lat:f?.lat??`${e}.lat`,lng:f?.lng??`${e}.lng`,zoom:f?.zoom??`${e}.zoom`,formatted:f?.formatted??`${e}.formatted`},E=Nl({name:T.formatted,wrapperClassName:_,inheritWrapperClassName:g}),D=Nl({name:T.street}),O=Nl({name:T.city}),k=Nl({name:T.state}),A=Nl({name:T.zip}),j=Nl({name:T.country}),M=Nl({name:T.countryCode}),N=Nl({name:T.lat}),P=Nl({name:T.lng}),F=Nl({name:T.zoom}),I=Ml(e,{required:r,label:n,validator:u}),L=(0,t.useId)(),R=m??L,z=typeof p==`object`?p:{},B=!!p,V=z.position??`below`,ee=z.defaultZoom??15,H=z.height??240,[te,U]=(0,t.useState)(typeof E.value==`string`?E.value:``),[ne,W]=(0,t.useState)([]),[G,re]=(0,t.useState)(!1),[ie,ae]=(0,t.useState)(!1),[oe,se]=(0,t.useState)(null),K=(0,t.useRef)(void 0),ce=(0,t.useRef)(0),q=(0,t.useRef)(null),le=(0,t.useRef)(null),ue=(0,t.useRef)(void 0),de=(0,t.useRef)(void 0),fe=(0,t.useRef)(void 0),pe=(0,t.useRef)(void 0),me=(0,t.useRef)(!1);(0,t.useEffect)(()=>{typeof E.value==`string`&&E.value!==te&&U(E.value)},[E.value]),(0,t.useEffect)(()=>{if(!G)return;let e=e=>{q.current?.contains(e.target)||re(!1)};return window.document.addEventListener(`pointerdown`,e),()=>window.document.removeEventListener(`pointerdown`,e)},[G]),(0,t.useEffect)(()=>{if(!w)return;let e=++ce.current,t=te.trim();if(t.length<3){W([]),ae(!1);return}ae(!0);let n=window.setTimeout(()=>{(async()=>{try{let n=await xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region});if(ue.current=n,e!==ce.current)return;K.current??=new n.maps.places.AutocompleteSessionToken;let{suggestions:r}=await n.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({input:t,sessionToken:K.current,includedRegionCodes:s,language:c??w.language,region:l??w.region});if(e!==ce.current)return;W(r.filter(e=>e.placePrediction).map(e=>({id:e.placePrediction.placeId,text:e.placePrediction.text.text,prediction:e.placePrediction}))),se(null)}catch(t){if(e!==ce.current)return;W([]),se(t instanceof Error?t.message:S.loadError)}finally{e===ce.current&&ae(!1)}})()},250);return()=>window.clearTimeout(n)},[te,w]);let he=(e,t)=>{me.current=!0;let n=e.formatted??te;U(n),E.handleChange({target:{name:T.formatted,value:n}}),e.street!==void 0&&D.handleChange({target:{name:T.street,value:e.street}}),e.city!==void 0&&O.handleChange({target:{name:T.city,value:e.city}}),e.state!==void 0&&k.handleChange({target:{name:T.state,value:e.state}}),e.zip!==void 0&&A.handleChange({target:{name:T.zip,value:e.zip}}),e.country!==void 0&&j.handleChange({target:{name:T.country,value:e.country}}),e.countryCode!==void 0&&M.handleChange({target:{name:T.countryCode,value:e.countryCode}}),e.lat!==void 0&&N.handleChange({target:{name:T.lat,value:e.lat}}),e.lng!==void 0&&P.handleChange({target:{name:T.lng,value:e.lng}}),t!==void 0&&F.handleChange({target:{name:T.zoom,value:t}}),d?.(e)},ge=e=>{e.addListener(`dragend`,()=>{let t=e.getPosition();t&&ve(t)})},_e=(e,t)=>{de.current&&(fe.current?fe.current.setPosition(t):(fe.current=new e.maps.Marker({position:t,map:de.current,draggable:!0}),ge(fe.current)))},ve=async e=>{try{if(!pe.current)return;let t=(await pe.current.geocode({location:e})).results[0];if(!t)return;he(ku(t)),se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}};(0,t.useEffect)(()=>{if(me.current){me.current=!1;return}if(!w)return;let e=[D.value,A.value,O.value,k.value,j.value].filter(e=>typeof e==`string`&&e.trim().length>0);if(e.length===0)return;let t=e.join(`, `),n=window.setTimeout(()=>{(async()=>{try{let e=await xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region});ue.current=e,pe.current??=new e.maps.Geocoder;let n=(await pe.current.geocode({address:t,region:l??w.region})).results[0];if(!n)return;let r=ku(n),i=r.formatted??t;if(U(i),E.handleChange({target:{name:T.formatted,value:i}}),r.lat!==void 0&&N.handleChange({target:{name:T.lat,value:r.lat}}),r.lng!==void 0&&P.handleChange({target:{name:T.lng,value:r.lng}}),de.current&&r.lat!==void 0&&r.lng!==void 0){let t=new e.maps.LatLng(r.lat,r.lng);de.current.panTo(t),_e(e,t)}se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}})()},600);return()=>window.clearTimeout(n)},[D.value,O.value,k.value,A.value,j.value,w]),(0,t.useEffect)(()=>{if(!B||!w||!le.current||de.current)return;let e=!1;return xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region}).then(t=>{if(e||!le.current||de.current)return;ue.current=t;let n=typeof N.value==`number`&&typeof P.value==`number`,r=n?{lat:N.value,lng:P.value}:Su,i=typeof F.value==`number`?F.value:n?ee:Cu,a=new t.maps.Map(le.current,{center:r,zoom:i,streetViewControl:!1,mapTypeControl:!1,fullscreenControl:!1});de.current=a,pe.current=new t.maps.Geocoder,n&&(fe.current=new t.maps.Marker({position:r,map:a,draggable:!0}),ge(fe.current)),a.addListener(`click`,e=>{e.latLng&&(_e(t,e.latLng),ve(e.latLng))}),a.addListener(`zoom_changed`,()=>{let e=a.getZoom();typeof e==`number`&&F.handleChange({target:{name:T.zoom,value:e}})})}).catch(t=>{e||se(t instanceof Error?t.message:S.loadError)}),()=>{e=!0}},[B,w]);let ye=async e=>{re(!1);try{let t=e.prediction.toPlace();await t.fetchFields({fields:[`addressComponents`,`location`,`formattedAddress`]});let n=Ou(t);he(n,B?ee:void 0);let r=ue.current;if(B&&r&&de.current&&n.lat!==void 0&&n.lng!==void 0){let e=new r.maps.LatLng(n.lat,n.lng);de.current.setCenter(e),de.current.setZoom(ee),_e(r,e)}K.current=void 0,se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}};if(!w)return t.default.createElement(Z,{className:E.formWrapClass},n&&t.default.createElement(oo,{label:n,required:r,htmlFor:R,className:h}),t.default.createElement(`input`,{id:R,disabled:!0,className:X(ja,v||C.AddressAutocomplete.className),placeholder:S.notConfigured,title:S.notConfigured}),t.default.createElement(`div`,{className:Aa},S.notConfigured));let be=B?t.default.createElement(`div`,{ref:le,className:X(`mt-2 w-full overflow-hidden rounded-md border`,x),style:{height:H}}):null;return t.default.createElement(Z,{className:E.formWrapClass||C.AddressAutocomplete.wrapperClassName},n&&t.default.createElement(oo,{label:n,required:r,htmlFor:R,className:h}),V===`above`&&be,t.default.createElement(`div`,{ref:q,className:`relative`},t.default.createElement(`input`,{id:R,type:`text`,role:`combobox`,"aria-expanded":G,"aria-autocomplete":`list`,autoComplete:`off`,className:X(ja,`pr-8`,I&&`border-destructive focus-visible:ring-destructive/20`,v||C.AddressAutocomplete.className),placeholder:i??S.placeholder,required:r,disabled:a,value:te,onChange:e=>{U(e.target.value),re(!0)},onFocus:()=>re(!0)}),t.default.createElement(`span`,{className:`pointer-events-none absolute inset-y-0 right-2 flex items-center text-muted-foreground`},t.default.createElement(Q,{name:ie?`loader-circle`:`map-pin`,size:15,className:ie?`animate-spin`:void 0})),G&&te.trim().length>=3&&t.default.createElement(`div`,{className:X(`absolute z-50 mt-1 max-h-64 w-full overflow-y-auto rounded-md border p-1 text-sm shadow-lg`,y||C.AddressAutocomplete.menuClassName)},oe?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-destructive`},oe):ie&&ne.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-muted-foreground`},S.searching):ne.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-muted-foreground`},S.noResults):ne.map(e=>t.default.createElement(`button`,{key:e.id,type:`button`,className:X(`flex w-full items-start gap-2 rounded-sm px-2 py-1.5 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,b||C.AddressAutocomplete.itemClassName),onClick:()=>{ye(e)}},t.default.createElement(Q,{name:`map-pin`,size:14,className:`mt-0.5 shrink-0 text-muted-foreground`}),t.default.createElement(`span`,{className:`min-w-0 truncate`},e.text))))),V===`below`&&be,I?t.default.createElement(Ha,{message:I}):o&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},o))},ju=({name:e,onDataLoaded:n,onClear:r=void 0,onParseField:i=void 0,label:a=void 0,icon:o=`upload`,delimiter:s=void 0,normalizeKeys:c=!1,removeEmptyFields:l=!1,required:u=!1,before:d=void 0,after:f=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=ct(`upload`),[_,v]=(0,t.useState)(null),[y,b]=(0,t.useState)(!1),[x,S]=(0,t.useState)(null),C=(0,t.useRef)(null),w=([e,t])=>{if(![``,null,void 0].includes(e)&&t!==void 0&&!(l&&[``,null].includes(t)))return c&&(e=N(e)),i?i([e,t]):[e.trim(),de(t)]},T=e=>{e&&p.default.parse(e,{header:!0,skipEmptyLines:!0,delimiter:s,dynamicTyping:!1,complete:t=>{v(null),S(e),n({data:t.data.map(e=>Object.fromEntries(Object.entries(e).reduce((e,[t,n])=>{let r=w([t,n]);return r&&e.push(r),e},[]))),fields:(t.meta?.fields||[]).reduce((e,t)=>(t&&e.push(c?N(t):t),e),[]),file:e})},error:e=>{v(e instanceof Error?e.message:String(e)),S(null)}})},E=e=>{T(e.target.files?.[0]??null),e.target.value=``},D=e=>{e.preventDefault(),e.stopPropagation(),b(!0)},O=e=>{e.preventDefault(),e.stopPropagation(),b(!1)},k=e=>{e.preventDefault(),e.stopPropagation(),b(!1),T(e.dataTransfer.files?.[0]??null)},A=()=>C.current?.click();return t.default.createElement(Z,{className:m},d,t.default.createElement(`div`,{className:X(h),"data-name":e},a&&t.default.createElement(oo,{label:a,required:u}),t.default.createElement(`input`,{ref:C,type:`file`,accept:`.csv,.tsv,text/csv,text/plain`,className:`hidden`,onChange:E}),x?t.default.createElement(`div`,{className:`rounded-lg border border-border overflow-hidden`},t.default.createElement(`div`,{className:`flex items-center gap-3 px-3 py-3`},t.default.createElement(`div`,{className:`w-9 h-9 rounded-md bg-emerald-500/10 flex items-center justify-center shrink-0`},t.default.createElement(Q,{name:`file-text`,className:`w-4 h-4 text-emerald-600`})),t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`p`,{className:`text-sm font-medium truncate`},x.name),t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},(e=>e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`)(x.size))),t.default.createElement(`div`,{className:`flex items-center gap-1 text-xs text-emerald-600 font-medium shrink-0`},t.default.createElement(Q,{name:`check-circle`,className:`w-4 h-4`}),g.loaded),t.default.createElement(`button`,{type:`button`,onClick:()=>{S(null),r?.()},className:`w-7 h-7 flex items-center justify-center rounded-full text-muted-foreground hover:bg-red-50 hover:text-red-500 transition-colors`,title:g.removeFile},t.default.createElement(Q,{name:`x`,className:`w-3.5 h-3.5`}))),t.default.createElement(`div`,{className:`px-3 py-2 border-t border-border bg-muted/20`},t.default.createElement(`button`,{type:`button`,onClick:A,className:`flex items-center gap-1.5 text-xs text-muted-foreground hover:text-primary transition-colors`},t.default.createElement(Q,{name:`refresh-cw`,className:`w-3.5 h-3.5`}),g.uploadAnother))):t.default.createElement(`button`,{type:`button`,onClick:A,onDragOver:D,onDragLeave:O,onDrop:k,className:X(`w-full flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed py-8 px-4 transition-colors cursor-pointer`,y?`border-primary/60 bg-primary/8 text-primary`:`border-muted-foreground/25 bg-muted/30 text-muted-foreground hover:border-primary/40 hover:bg-primary/5 hover:text-primary/70`)},t.default.createElement(Q,{name:o,className:`w-8 h-8`}),t.default.createElement(`span`,{className:`text-sm font-medium`},y?g.dropToParse:g.clickOrDrag),t.default.createElement(`span`,{className:`text-xs opacity-60`},`.csv, .tsv`)),_&&t.default.createElement(Ha,{message:`Parse error: ${_}`})),f)},Mu=()=>Promise.all([import(`@tiptap/react`),import(`@tiptap/react/menus`),import(`@tiptap/starter-kit`),import(`@tiptap/extension-underline`),import(`@tiptap/extension-link`),import(`@tiptap/extension-image`),import(`@tiptap/extension-table`),import(`@tiptap/extension-placeholder`),import(`@tiptap/extension-character-count`)]),Nu=null,Pu=null,Fu=()=>Nu?Promise.resolve(Nu):(Pu||=Mu().then(e=>(Nu=e,e)),Pu),Iu=`bold.italic.underline.strike.|.headings.|.bulletList.orderedList.|.blockquote.code.codeBlock.|.link.|.imageUpload.documentUpload.|.table.|.sourceCode.|.undo.redo.clearFormat`.split(`.`),Lu=e=>e===!0?{tagBreadcrumb:!0,wordCount:!0,charCount:!1}:e===!1?{}:{tagBreadcrumb:!0,wordCount:!0,charCount:!1,...e},Ru=8,zu={bold:{icon:`bold`,label:`Bold`,isActive:e=>e.isActive(`bold`),execute:e=>e.chain().focus().toggleBold().run()},italic:{icon:`italic`,label:`Italic`,isActive:e=>e.isActive(`italic`),execute:e=>e.chain().focus().toggleItalic().run()},underline:{icon:`underline`,label:`Underline`,isActive:e=>e.isActive(`underline`),execute:e=>e.chain().focus().toggleUnderline().run()},strike:{icon:`strikethrough`,label:`Strikethrough`,isActive:e=>e.isActive(`strike`),execute:e=>e.chain().focus().toggleStrike().run()},heading1:{icon:`heading-1`,label:`Heading 1`,isActive:e=>e.isActive(`heading`,{level:1}),execute:e=>e.chain().focus().toggleHeading({level:1}).run()},heading2:{icon:`heading-2`,label:`Heading 2`,isActive:e=>e.isActive(`heading`,{level:2}),execute:e=>e.chain().focus().toggleHeading({level:2}).run()},heading3:{icon:`heading-3`,label:`Heading 3`,isActive:e=>e.isActive(`heading`,{level:3}),execute:e=>e.chain().focus().toggleHeading({level:3}).run()},bulletList:{icon:`list`,label:`Bullet List`,isActive:e=>e.isActive(`bulletList`),execute:e=>e.chain().focus().toggleBulletList().run()},orderedList:{icon:`list-ordered`,label:`Ordered List`,isActive:e=>e.isActive(`orderedList`),execute:e=>e.chain().focus().toggleOrderedList().run()},blockquote:{icon:`quote`,label:`Blockquote`,isActive:e=>e.isActive(`blockquote`),execute:e=>e.chain().focus().toggleBlockquote().run()},code:{icon:`code`,label:`Inline Code`,isActive:e=>e.isActive(`code`),execute:e=>e.chain().focus().toggleCode().run()},codeBlock:{icon:`square-code`,label:`Code Block`,isActive:e=>e.isActive(`codeBlock`),execute:e=>e.chain().focus().toggleCodeBlock().run()},link:{icon:`link`,label:`Link`,isActive:e=>e.isActive(`link`),execute:e=>{if(e.isActive(`link`)){e.chain().focus().unsetLink().run();return}let t=window.prompt(`URL`);t&&e.chain().focus().setLink({href:t}).run()}},undo:{icon:`undo-2`,label:`Undo`,execute:e=>e.chain().focus().undo().run()},redo:{icon:`redo-2`,label:`Redo`,execute:e=>e.chain().focus().redo().run()},clearFormat:{icon:`eraser`,label:`Clear Format`,execute:e=>e.chain().focus().clearNodes().unsetAllMarks().run()}},Bu=({def:e,editor:n})=>{let r=e.isActive?.(n)??!1;return t.default.createElement(`button`,{type:`button`,title:e.label,onMouseDown:t=>{t.preventDefault(),e.execute(n)},className:X(`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors`,`hover:bg-muted disabled:cursor-not-allowed disabled:opacity-40`,r&&`bg-muted text-primary`)},t.default.createElement(Q,{name:e.icon,size:14}))},Vu=[{value:0,label:`Normal`,previewClass:`text-sm`,execute:e=>e.chain().focus().setParagraph().run()},{value:1,label:`Heading 1`,previewClass:`text-2xl font-bold`,execute:e=>e.chain().focus().setHeading({level:1}).run()},{value:2,label:`Heading 2`,previewClass:`text-xl font-semibold`,execute:e=>e.chain().focus().setHeading({level:2}).run()},{value:3,label:`Heading 3`,previewClass:`text-lg font-semibold`,execute:e=>e.chain().focus().setHeading({level:3}).run()}],Hu=({editor:e})=>{let[n,r]=t.default.useState(!1),i=(0,t.useRef)(null);t.default.useEffect(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&r(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let a=e.isActive(`heading`,{level:1})?`H1`:e.isActive(`heading`,{level:2})?`H2`:e.isActive(`heading`,{level:3})?`H3`:`P`;return t.default.createElement(`div`,{ref:i,className:`relative`},t.default.createElement(`button`,{type:`button`,title:`Paragraph style`,onMouseDown:e=>{e.preventDefault(),r(e=>!e)},className:`inline-flex h-7 items-center gap-0.5 rounded px-1.5 text-xs font-medium transition-colors hover:bg-muted`},a,t.default.createElement(Q,{name:`chevron-down`,size:10})),n&&t.default.createElement(`div`,{className:`absolute left-0 top-full z-50 mt-1 w-44 overflow-hidden rounded-md border border-border bg-background shadow-lg`},Vu.map(n=>t.default.createElement(`button`,{key:n.value,type:`button`,onMouseDown:t=>{t.preventDefault(),n.execute(e),r(!1)},className:X(`block w-full px-3 py-1.5 text-left leading-snug transition-colors hover:bg-muted`,n.previewClass,n.value===0&&e.isActive(`paragraph`)&&`bg-muted/60`,n.value!==0&&e.isActive(`heading`,{level:n.value})&&`bg-muted/60`)},n.label))))},Uu=({editor:e})=>{let[n,r]=t.default.useState(!1),[i,a]=t.default.useState(3),[o,s]=t.default.useState(3),c=(0,t.useRef)(null);t.default.useEffect(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&r(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let l=(t,n)=>{e.chain().focus().insertTable({rows:t,cols:n,withHeaderRow:!0}).run(),r(!1)};return t.default.createElement(`div`,{ref:c,className:`relative`},t.default.createElement(`button`,{type:`button`,title:`Insert Table`,onMouseDown:e=>{e.preventDefault(),r(e=>!e)},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`table`,size:14})),n&&t.default.createElement(`div`,{className:`absolute left-0 top-full z-50 mt-1 rounded-md border border-border bg-background p-3 shadow-lg`},t.default.createElement(`div`,{className:`grid gap-1.5`,style:{gridTemplateColumns:`repeat(${Ru}, 18px)`,width:`fit-content`}},Array.from({length:Ru*Ru},(e,n)=>{let r=Math.floor(n/Ru)+1,c=n%Ru+1,u=r<=i&&c<=o;return t.default.createElement(`button`,{key:`${r}-${c}`,type:`button`,"aria-label":`Insert ${r} by ${c} table`,onMouseEnter:()=>{a(r),s(c)},onFocus:()=>{a(r),s(c)},onMouseDown:e=>{e.preventDefault(),l(r,c)},className:X(`h-[18px] w-[18px] rounded-[4px] border transition-colors`,u?`border-primary bg-primary/25 shadow-[inset_0_0_0_1px_rgba(59,130,246,0.35)]`:`border-border bg-background hover:border-primary/50 hover:bg-muted/60`)})})),t.default.createElement(`div`,{className:`mt-3 text-center text-xs font-medium text-muted-foreground`},i,` x `,o)))},Wu=({editor:e})=>t.default.createElement(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-background px-1 py-0.5 shadow-lg`},[{icon:`rows-2`,label:`Add row above`,execute:()=>e.chain().focus().addRowBefore().run()},{icon:`rows-3`,label:`Add row below`,execute:()=>e.chain().focus().addRowAfter().run()},{icon:`columns-2`,label:`Add column left`,execute:()=>e.chain().focus().addColumnBefore().run()},{icon:`columns-3`,label:`Add column right`,execute:()=>e.chain().focus().addColumnAfter().run()},{icon:`minus-square`,label:`Delete row`,execute:()=>e.chain().focus().deleteRow().run()},{icon:`rectangle-ellipsis`,label:`Delete column`,execute:()=>e.chain().focus().deleteColumn().run()},{icon:`trash-2`,label:`Delete table`,execute:()=>e.chain().focus().deleteTable().run()}].map((e,n)=>t.default.createElement(t.default.Fragment,{key:e.label},n>0&&n!==4&&t.default.createElement(`div`,{className:`mx-0.5 h-4 w-px bg-border`}),t.default.createElement(`button`,{type:`button`,title:e.label,onMouseDown:t=>{t.preventDefault(),e.execute()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:e.icon,size:14}))))),Gu=({editor:e,commands:n,sourceMode:r,onImageUpload:i,onDocumentUpload:a,onSourceToggle:o,compact:s})=>{let[,c]=t.default.useReducer(e=>e+1,0);return t.default.useEffect(()=>(e.on(`selectionUpdate`,c),e.on(`transaction`,c),()=>{e.off(`selectionUpdate`,c),e.off(`transaction`,c)}),[e]),t.default.createElement(`div`,{className:X(`flex flex-wrap items-center gap-0.5 px-2 py-1`,!s&&`border-b border-border`)},n.map((n,s)=>{if(n===`|`)return t.default.createElement(`div`,{key:s,className:`mx-0.5 h-4 w-px bg-border`});if(n===`headings`)return t.default.createElement(Hu,{key:n,editor:e});if(n===`table`)return t.default.createElement(Uu,{key:n,editor:e});if(n===`imageUpload`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Upload Image`,onMouseDown:e=>{e.preventDefault(),i()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`image`,size:14}));if(n===`documentUpload`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Upload Document`,onMouseDown:e=>{e.preventDefault(),a()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`file-up`,size:14}));if(n===`sourceCode`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Source Code`,onMouseDown:e=>{e.preventDefault(),o()},className:X(`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`,r&&`bg-muted text-primary`)},t.default.createElement(Q,{name:`code`,size:14}));let c=zu[n];return c?t.default.createElement(Bu,{key:n,def:c,editor:e}):null}))},Ku=e=>{try{let{$anchor:t}=e.state.selection,n=[];for(let e=t.depth;e>=0;e--){let r=t.node(e).type.name;r!==`doc`&&n.unshift(r)}return n}catch{return[]}},qu=({editor:e,config:n})=>{let[r,i]=(0,t.useState)(0);(0,t.useEffect)(()=>{let t=()=>i(e=>e+1);return e.on(`selectionUpdate`,t),e.on(`transaction`,t),()=>{e.off(`selectionUpdate`,t),e.off(`transaction`,t)}},[e]);let a=n.tagBreadcrumb?Ku(e):[],o=e.storage.characterCount;return t.default.createElement(`div`,{className:`flex items-center gap-3 border-t border-border px-3 py-1 text-xs text-muted-foreground select-none`},n.tagBreadcrumb&&a.length>0&&t.default.createElement(`div`,{className:`flex items-center gap-1 font-mono`},a.map((e,n)=>t.default.createElement(t.Fragment,{key:n},n>0&&t.default.createElement(`span`,{className:`opacity-40`},`›`),t.default.createElement(`span`,null,e)))),t.default.createElement(`div`,{className:`ml-auto flex items-center gap-3`},n.wordCount&&o&&t.default.createElement(`span`,null,o.words(),` words`),n.charCount&&o&&t.default.createElement(`span`,null,o.characters(),` chars`)))},Ju=({srcset:e})=>{let n=e.split(`,`).map(e=>e.trim()).map(e=>{let[t,n]=e.split(` `);return{src:t,width:parseInt(n,10)}}).filter(e=>e.src&&!isNaN(e.width));return n.length?t.default.createElement(`div`,{className:`flex flex-col gap-1.5`},t.default.createElement(`p`,{className:`text-xs font-medium text-muted-foreground`},`Responsive variants `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(`,n.length,` generated)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},n.map(e=>t.default.createElement(`a`,{key:e.width,href:e.src,target:`_blank`,rel:`noopener noreferrer`,className:`group relative flex-1 overflow-hidden rounded border border-border`,style:{backgroundImage:`repeating-conic-gradient(#e4e4e4 0% 25%, #f5f5f5 0% 50%)`,backgroundSize:`8px 8px`}},t.default.createElement(`img`,{src:e.src,alt:`${e.width}w`,className:`h-12 w-full object-contain transition-opacity group-hover:opacity-80`}),t.default.createElement(`span`,{className:`absolute bottom-0.5 left-0.5 rounded bg-black/60 px-1 py-0.5 text-[9px] font-mono leading-none text-white`},e.width,`px`),t.default.createElement(`div`,{className:`absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`div`,{className:`rounded-md bg-black/60 p-1`},t.default.createElement(Q,{name:`external-link`,size:11,className:`text-white`}))))))):null},Yu=({items:e,onInsertAll:n,onCropSave:r,onCancel:i})=>{let[a,o]=(0,t.useState)(0),[s,c]=(0,t.useState)(()=>e.map(e=>({alt:e.defaultAlt,href:``,target:`_blank`,enabled:!0}))),[l,u]=(0,t.useState)(!1),d=(0,t.useRef)(null);(0,t.useEffect)(()=>{d.current?.focus()},[a]),(0,t.useEffect)(()=>{c(t=>{if(e.length<=t.length)return t;let n=e.slice(t.length).map(e=>({alt:e.defaultAlt,href:``,target:`_blank`,enabled:!0}));return[...t,...n]})},[e.length]);let f=e.length,p=e[a]??e[0],m=s[a]??{alt:``,href:``,target:`_blank`,enabled:!0},h=s.filter(e=>e.enabled).length,g=e=>c(t=>t.map((t,n)=>n===a?{...t,...e}:t));return t.default.createElement(t.default.Fragment,null,t.default.createElement(or,{title:f===1?`Insert image`:`Insert images`,onClose:i,size:`md`,footer:t.default.createElement(`div`,{className:`flex w-full items-center justify-between`},t.default.createElement(`label`,{className:`flex cursor-pointer select-none items-center gap-2 text-sm`},t.default.createElement(`input`,{type:`checkbox`,checked:m.enabled,onChange:e=>g({enabled:e.target.checked}),className:`h-4 w-4 rounded accent-primary`}),`Include`),t.default.createElement(`div`,{className:`flex gap-2`},t.default.createElement(`button`,{type:`button`,onClick:i,className:`h-8 rounded-md px-3 text-sm transition-colors hover:bg-muted`},`Cancel`),t.default.createElement(`button`,{type:`button`,onClick:()=>n(s),disabled:h===0,className:`h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground transition-colors hover:bg-primary/90 disabled:opacity-50`},f===1?`Insert`:`Insert (${h})`)))},f>1&&t.default.createElement(`div`,{className:`mb-3 flex items-center justify-between gap-3`},t.default.createElement(`div`,{className:`flex gap-1.5 overflow-x-auto pb-0.5`},e.map((e,n)=>t.default.createElement(`button`,{key:n,type:`button`,onClick:()=>o(n),title:e.fileProps.fileName,className:X(`relative h-12 w-12 flex-shrink-0 overflow-hidden rounded-md border-2 transition-all`,n===a?`border-primary shadow-md`:`border-transparent opacity-50 hover:opacity-90`,!s[n]?.enabled&&`opacity-20 grayscale`)},t.default.createElement(`img`,{src:e.preview,alt:``,className:`h-full w-full object-cover`})))),t.default.createElement(`div`,{className:`flex flex-shrink-0 items-center gap-0.5`},t.default.createElement(`button`,{type:`button`,onClick:()=>o(e=>Math.max(0,e-1)),disabled:a===0,className:`flex h-7 w-7 items-center justify-center rounded hover:bg-muted disabled:opacity-30`},t.default.createElement(Q,{name:`chevron-left`,size:14})),t.default.createElement(`span`,{className:`w-10 text-center text-xs tabular-nums text-muted-foreground`},a+1,` / `,f),t.default.createElement(`button`,{type:`button`,onClick:()=>o(t=>Math.min(e.length-1,t+1)),disabled:a>=e.length-1,className:`flex h-7 w-7 items-center justify-center rounded hover:bg-muted disabled:opacity-30`},t.default.createElement(Q,{name:`chevron-right`,size:14})))),t.default.createElement(`div`,{className:X(`group relative flex min-h-[160px] items-center justify-center overflow-hidden rounded-lg transition-opacity`,`[background-image:repeating-conic-gradient(#e4e4e4_0%_25%,#f5f5f5_0%_50%)]`,`dark:[background-image:repeating-conic-gradient(#2a2a2a_0%_25%,#343434_0%_50%)]`,`[background-size:16px_16px]`,!m.enabled&&`opacity-40`)},t.default.createElement(`img`,{src:p.preview,alt:``,className:`max-h-[160px] max-w-full object-contain`}),t.default.createElement(`div`,{className:`absolute right-2 top-2 flex gap-1 opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`a`,{href:p.preview,target:`_blank`,rel:`noopener noreferrer`,title:`Open original`,className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`external-link`,size:13})),t.default.createElement(`button`,{type:`button`,title:`Crop`,onClick:()=>u(!0),className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`crop`,size:13})))),t.default.createElement(`p`,{className:`mt-1.5 truncate font-mono text-xs text-muted-foreground`},p.fileProps.fileName),p.fileProps.srcset&&t.default.createElement(Ju,{srcset:p.fileProps.srcset}),t.default.createElement(`div`,{className:`mt-3 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Alt text `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(accessibility & SEO)`)),t.default.createElement(`input`,{ref:d,type:`text`,value:m.alt,onChange:e=>g({alt:e.target.value}),placeholder:`E.g. Team photo at company retreat`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Link URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(optional)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},t.default.createElement(`input`,{type:`url`,value:m.href,onChange:e=>g({href:e.target.value}),placeholder:`https://...`,className:`h-8 min-w-0 flex-1 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`}),t.default.createElement(`select`,{value:m.target,onChange:e=>g({target:e.target.value}),disabled:!m.href,className:`h-8 rounded-md border border-input bg-background px-2 text-xs outline-none focus:ring-1 focus:ring-ring disabled:opacity-40`},t.default.createElement(`option`,{value:`_blank`},`New tab`),t.default.createElement(`option`,{value:`_self`},`Same tab`))))),l&&t.default.createElement(zo,{src:p.preview,mode:`modal`,title:`Crop — ${p.fileProps.fileName}`,onClose:()=>u(!1),onSave:e=>{r(a,e),u(!1)}}))},Xu=({state:e,onConfirm:n,onCancel:r})=>{let[i,a]=(0,t.useState)(e.attrs.src??``),[o,s]=(0,t.useState)(e.attrs.alt??``),[c,l]=(0,t.useState)(e.attrs.href??``),[u,d]=(0,t.useState)(e.attrs.target??`_blank`),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(null);(0,t.useEffect)(()=>{m.current?.focus()},[]);let h=e.attrs.srcset;return t.default.createElement(t.default.Fragment,null,t.default.createElement(or,{title:`Edit image`,onClose:r,size:`sm`,footer:t.default.createElement(`div`,{className:`flex justify-end gap-2`},t.default.createElement(`button`,{type:`button`,onClick:r,className:`h-8 rounded-md px-3 text-sm transition-colors hover:bg-muted`},`Cancel`),t.default.createElement(`button`,{type:`button`,onClick:()=>n({src:i,alt:o,href:c,target:u,enabled:!0}),className:`h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground transition-colors hover:bg-primary/90`},`Save`))},i&&t.default.createElement(`div`,{className:`group relative mb-3 overflow-hidden rounded-lg bg-muted/40`},t.default.createElement(yr,{src:i,fit:`contain`,height:140,wrapperClassName:`w-full`,className:`w-full`}),t.default.createElement(`div`,{className:`absolute right-2 top-2 flex gap-1 opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,title:`Open original`,className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`external-link`,size:13})),t.default.createElement(`button`,{type:`button`,title:`Crop`,onClick:()=>p(!0),className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`crop`,size:13})))),h&&t.default.createElement(Ju,{srcset:h}),t.default.createElement(`div`,{className:`flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Image URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(path or https://…)`)),t.default.createElement(`input`,{type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/image.jpg`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Alt text `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(accessibility & SEO)`)),t.default.createElement(`input`,{ref:m,type:`text`,value:o,onChange:e=>s(e.target.value),placeholder:`E.g. Team photo at company retreat`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Link URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(optional)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},t.default.createElement(`input`,{type:`url`,value:c,onChange:e=>l(e.target.value),placeholder:`https://...`,className:`h-8 min-w-0 flex-1 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`}),t.default.createElement(`select`,{value:u,onChange:e=>d(e.target.value),disabled:!c,className:`h-8 rounded-md border border-input bg-background px-2 text-xs outline-none focus:ring-1 focus:ring-ring disabled:opacity-40`},t.default.createElement(`option`,{value:`_blank`},`New tab`),t.default.createElement(`option`,{value:`_self`},`Same tab`))))),f&&t.default.createElement(zo,{src:i,mode:`modal`,title:`Crop image`,onClose:()=>p(!1),onSave:e=>{a(e),p(!1)}}))},Zu=(e,t,n)=>lc(e,t,n,{queryPattern:/^[A-Za-z0-9-]*$/}),Qu=({modules:e,name:n,value:r,outputFormat:i,placeholder:a,disabled:o,toolbar:s,toolbarCommands:c,statusBar:l,minHeight:u,maxHeight:d,imageUpload:f,documentUpload:p,hasError:m,className:h,onEditorChange:g,commands:_,commandsTrigger:v})=>{let{useEditor:y,EditorContent:b}=e[0],{BubbleMenu:x}=e[1],S=e[2].default,C=e[3].default,w=e[4].default,T=e[5].default.extend({addAttributes(){return{...this.parent?.()??{},srcset:{default:null},sizes:{default:null},loading:{default:null},decoding:{default:null},href:{default:null},target:{default:null}}},renderHTML({HTMLAttributes:e}){let{href:t,target:n,...r}=e,i=this.options.HTMLAttributes??{},a=[`img`,Object.fromEntries(Object.entries({...i,...r}).filter(([,e])=>e!=null))];return t?[`a`,{"data-href":t,"data-target":n??`_blank`,rel:`noopener noreferrer`},a]:a}}),{Table:E,TableRow:D,TableHeader:O,TableCell:k}=e[6],A=e[7].default,j=e[8].default,[M,N]=(0,t.useState)(!1),[P,F]=(0,t.useState)(``),[I,L]=(0,t.useState)([]),[R,z]=(0,t.useState)(null),[,B]=t.default.useReducer(e=>e+1,0),V=(0,t.useRef)(null),ee=(0,t.useRef)(null),[H,te]=(0,t.useState)({open:!1,query:``,anchorPosition:null,editorContext:null}),U=(0,t.useRef)(H);U.current=H;let ne=_?.length?v??`/`:void 0,W=(_?.length??0)>=10,G=t.default.useMemo(()=>new Map((_??[]).map(e=>[e.name,e])),[_]),re=t.default.useMemo(()=>(_??[]).map(e=>({key:e.name,label:`${ne??`/`}${e.name}`,value:e.name,icon:e.icon})),[_,ne]),ie=f?.srcsetWidths===void 0?[400,800]:f.srcsetWidths,ae=Lo(),oe=ts({uploadPath:f?.path,srcsetWidths:ie,onFileReady:e=>{let t=e.fileName.replace(/\.[^/.]+$/,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/^(.)/,e=>e.toUpperCase()),n=e.url||(e.base64?`data:${e.type};base64,${e.base64}`:``);L(r=>[...r,{fileProps:e,preview:n,defaultAlt:t}])}}),se=Oa({minHeight:u,maxHeight:d,paddingOffset:16}),K=(0,t.useCallback)(()=>{te({open:!1,query:``,anchorPosition:null,editorContext:null})},[]),ce=(0,t.useCallback)((e,t)=>{let n=e.state.selection;if(!n.empty)return null;let{$from:r}=n,i=r.parent;if(!i.isTextblock)return null;let a=i.textContent??``,o=r.parentOffset,s=Zu(a,o,t);if(!s)return null;let c=n.from-o,l=c+s.start,u=c+s.end;return{value:e.getText(),textBeforeCaret:a.slice(0,o),textAfterCaret:a.slice(o),trigger:t,query:s.query,triggerRange:{start:l,end:u},insert:t=>{let{from:n,to:r}=e.state.selection,i=e.state.tr.insertText(t,n,r);e.view.dispatch(i),e.commands.focus()},replace:(t,n,r)=>{let i=e.state.tr.insertText(r,t,n);e.view.dispatch(i),e.commands.focus()}}},[]),q=y({extensions:[S,C,w.configure({openOnClick:!1,HTMLAttributes:{target:null,rel:`noopener noreferrer nofollow`}}),T.configure({allowBase64:!0}),E.configure({resizable:!0}),D,O,k,A.configure({placeholder:a??``}),j],content:r||``,editable:!o,editorProps:{attributes:{style:`min-height: ${se.adjustedMinHeight}px`},handleClick(e,t,n){if(n.ctrlKey||n.metaKey){let n=e.state.doc.resolve(t).marks().find(e=>e.type.name===`link`);if(n?.attrs.href)return window.open(n.attrs.href,`_blank`,`noopener,noreferrer`),!0}let r=n.target;if(r.tagName===`IMG`)try{let t=e.posAtDOM(r,0),n=e.state.doc.nodeAt(t);if(n?.type.name===`image`){let e={...n.attrs};if(!e.href){let t=n.marks?.find(e=>e.type.name===`link`);t&&(t.attrs.href&&(e.href=t.attrs.href),t.attrs.target&&(e.target=t.attrs.target))}return z({pos:t,attrs:e}),!0}}catch{}return!1},handleKeyDown(e,t){if(!U.current.open)return!1;switch(t.key){case`ArrowDown`:return t.preventDefault(),ee.current?.moveNext(),!0;case`ArrowUp`:return t.preventDefault(),ee.current?.movePrev(),!0;case`Enter`:case`Tab`:return t.preventDefault(),ee.current?.selectActive(),!0;case`Escape`:return t.preventDefault(),ee.current?.close(),!0;default:return!1}}},onUpdate:({editor:e})=>{g(i===`json`?JSON.stringify(e.getJSON()):i===`text`?e.getText():e.getHTML().replace(/<a([^>]*?)data-href="([^"]*?)"/g,`<a$1href="$2"`).replace(/data-target="([^"]*?)"/g,`target="$1"`))}}),le=(0,t.useRef)(r);(0,t.useEffect)(()=>{!q||r===le.current||(le.current=r,r!==(i===`json`?JSON.stringify(q.getJSON()):i===`text`?q.getText():q.getHTML().replace(/<a([^>]*?)data-href="([^"]*?)"/g,`<a$1href="$2"`).replace(/data-target="([^"]*?)"/g,`target="$1"`))&&q.commands.setContent(i===`json`&&r?JSON.parse(r):r||``))},[r,q,i]),(0,t.useEffect)(()=>{if(q)return q.view.dom.style.minHeight=`${se.adjustedMinHeight}px`,q.on(`selectionUpdate`,B),()=>{q.off(`selectionUpdate`,B)}},[q,se.adjustedMinHeight]),(0,t.useEffect)(()=>{if(!q||!ne||M){U.current.open&&K();return}let e=()=>{if(!q.isFocused){U.current.open&&K();return}let e=q.state.selection;if(!e.empty){U.current.open&&K();return}let{$from:t}=e,n=t.parent;if(!n.isTextblock){U.current.open&&K();return}let r=n.textContent??``,i=t.parentOffset,a=Zu(r,i,ne);if(!a){U.current.open&&K();return}let o=q.view.coordsAtPos(e.from),s=ce(q,ne);!o||!s||te({open:!0,query:a.query,anchorPosition:{top:o.bottom,left:o.left},editorContext:s})};return e(),q.on(`selectionUpdate`,e),q.on(`transaction`,e),()=>{q.off(`selectionUpdate`,e),q.off(`transaction`,e)}},[K,q,ce,ne,M]);let ue=(0,t.useCallback)(async(e,t)=>{let n=G.get(e.value);if(n){if(n.handler){let e=await n.handler(dc(t)),r=n.consumeSuffix?cc(t.textAfterCaret,n.consumeSuffix):0;t.replace(t.triggerRange.start,t.triggerRange.end+r,e);return}t.replace(t.triggerRange.start,t.triggerRange.end,`${t.trigger}${n.name} `)}},[G]),de=()=>{q&&(M?q.commands.setContent(P):F(q.getHTML()),N(e=>!e))},fe=e=>new Promise(t=>{let n=new FileReader;n.onload=e=>t(e.target?.result),n.readAsDataURL(e)}),pe=async e=>{if(!q)return;let t=p?.maxBytes??20971520;for(let n of e){if(n.size>t){alert(`"${n.name}" exceeds the ${Math.round(t/1048576)} MB limit.`);continue}let e;if(ae&&p?.path)try{e=await ae.upload(n,`${p.path}/${n.name}`)??await fe(n)}catch{e=await fe(n)}else e=await fe(n);let r=n.size<1048576?`${Math.round(n.size/1024)} KB`:`${(n.size/1048576).toFixed(1)} MB`;q.chain().focus().insertContent([{type:`text`,marks:[{type:`link`,attrs:{href:e,target:`_blank`,rel:`noopener noreferrer`}}],text:`📎 ${n.name} (${r})`},{type:`text`,text:` `}]).run()}},me=e=>{if(!q)return;let t=[];e.forEach(({alt:e,href:n,target:r,enabled:i},a)=>{if(!i)return;let o=I[a];if(!o)return;oe.handleRemove(o.fileProps.key);let s=o.fileProps.url||o.preview,c={alt:e||null,href:n||null,target:n?r||`_blank`:null},l=o.fileProps.srcset?{...c,src:s,srcset:o.fileProps.srcset,sizes:o.fileProps.sizes??`(max-width: 640px) 100vw, 800px`,loading:`lazy`,decoding:`async`}:{...c,src:s};t.push({type:`image`,attrs:l})}),t.length&&q.chain().focus().insertContent(t).run(),L([])},he=(0,t.useCallback)(async(e,t)=>{let n=`image.jpg`;if(L(r=>(n=r[e]?.fileProps.fileName??`image.jpg`,r.map((n,r)=>r===e?{...n,preview:t,fileProps:{...n.fileProps,url:t,srcset:``,sizes:``}}:n))),ie.length)try{let{variants:r,naturalWidth:i}=await Ao(t,ie),a=ae&&f?.path?await jo(r,ae,f.path,n):r.map(e=>({url:e.localUrl,width:e.width})),o=await fetch(t).then(e=>e.blob()),s=URL.createObjectURL(o),c=Mo([...a,{url:s,width:i}]);L(t=>t.map((t,n)=>n===e?{...t,fileProps:{...t.fileProps,srcset:c,sizes:`(max-width: 640px) 100vw, 800px`}}:t))}catch{}},[ie,ae,f?.path]),ge=({src:e,alt:t,href:n,target:r})=>{if(!q||!R)return;let{pos:i,attrs:a}=R,o=q.state.doc.nodeAt(i);if(o?.type.name===`image`){let{tr:s,schema:c}=q.state,l=e!==void 0&&e!==a.src,u={...a,...l?{src:e||null,srcset:null,sizes:null}:{},alt:t||null,href:n||null,target:n?r||`_blank`:null},d=o.marks??[],f=d.some(e=>e.type.name===`link`),p=d;n?f||(p=[...d,c.marks.link.create({href:n,target:r||`_blank`})]):p=d.filter(e=>e.type.name!==`link`),s.setNodeMarkup(i,null,u,p),q.view.dispatch(s)}z(null)},_e=c.filter(e=>e!==`imageUpload`&&e!==`documentUpload`&&e!==`sourceCode`);return t.default.createElement(t.default.Fragment,null,I.length>0&&t.default.createElement(Yu,{items:I,onInsertAll:me,onCropSave:he,onCancel:()=>{I.forEach(e=>oe.handleRemove(e.fileProps.key)),L([])}}),R&&t.default.createElement(Xu,{state:R,onConfirm:ge,onCancel:()=>z(null)}),t.default.createElement(`div`,{className:X(`rounded-md border border-input bg-background shadow-sm transition-colors`,`focus-within:ring-1 focus-within:ring-ring`,m&&`border-destructive focus-within:ring-destructive/20`,o&&`cursor-not-allowed opacity-50`,h)},s===`fixed`&&q&&t.default.createElement(Gu,{editor:q,commands:c,sourceMode:M,onImageUpload:oe.handleUpload,onDocumentUpload:()=>V.current?.click(),onSourceToggle:de}),s===`floating`&&q&&t.default.createElement(x,{editor:q},t.default.createElement(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-background px-1 py-0.5 shadow-lg`},t.default.createElement(Gu,{editor:q,commands:_e,sourceMode:M,onImageUpload:oe.handleUpload,onDocumentUpload:()=>V.current?.click(),onSourceToggle:de,compact:!0}))),q&&!M&&t.default.createElement(x,{editor:q,shouldShow:({editor:e,from:t,to:n})=>t!==n||!e.isActive(`link`)?!1:!!e.getAttributes(`link`).href,options:{placement:`bottom-start`,offset:6}},(()=>{let e=q.getAttributes(`link`).href??``;return t.default.createElement(`div`,{className:`flex items-center gap-1.5 rounded-md border border-border bg-background px-2 py-1.5 shadow-md`},t.default.createElement(Q,{name:`link`,size:12,className:`shrink-0 text-muted-foreground`}),t.default.createElement(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`max-w-[220px] truncate text-xs text-primary underline`},e),t.default.createElement(`div`,{className:`mx-0.5 h-3 w-px bg-border`}),t.default.createElement(`button`,{type:`button`,title:`Edit link`,onMouseDown:t=>{t.preventDefault();let n=window.prompt(`URL`,e);n?q.chain().focus().setLink({href:n}).run():n===``&&q.chain().focus().unsetLink().run()},className:`inline-flex h-5 w-5 items-center justify-center rounded transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`pencil`,size:11})),t.default.createElement(`button`,{type:`button`,title:`Remove link`,onMouseDown:e=>{e.preventDefault(),q.chain().focus().unsetLink().run()},className:`inline-flex h-5 w-5 items-center justify-center rounded transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`unlink`,size:11})))})()),q&&!M&&t.default.createElement(x,{editor:q,shouldShow:({editor:e})=>e.isActive(`table`),options:{placement:`top-start`,offset:8}},t.default.createElement(Wu,{editor:q})),M?t.default.createElement(`textarea`,{"aria-label":`${n} source`,className:`w-full resize-none bg-background px-3 py-2 font-mono text-xs text-foreground outline-none`,style:{minHeight:se.adjustedMinHeight,maxHeight:d,overflowY:`auto`},value:P,onChange:e=>F(e.target.value)}):(()=>{let e=t.default.createElement(`div`,{style:se.wrapperStyle,className:X(`w-full px-3 py-2 text-sm`,`[&_.ProseMirror]:outline-none`,`[&_.ProseMirror_p]:my-1`,`[&_.ProseMirror_h1]:my-2 [&_.ProseMirror_h1]:text-2xl [&_.ProseMirror_h1]:font-bold`,`[&_.ProseMirror_h2]:my-2 [&_.ProseMirror_h2]:text-xl [&_.ProseMirror_h2]:font-semibold`,`[&_.ProseMirror_h3]:my-1 [&_.ProseMirror_h3]:text-lg [&_.ProseMirror_h3]:font-semibold`,`[&_.ProseMirror_ul]:list-disc [&_.ProseMirror_ul]:pl-6`,`[&_.ProseMirror_ol]:list-decimal [&_.ProseMirror_ol]:pl-6`,`[&_.ProseMirror_blockquote]:my-2 [&_.ProseMirror_blockquote]:border-l-4 [&_.ProseMirror_blockquote]:border-border [&_.ProseMirror_blockquote]:pl-4 [&_.ProseMirror_blockquote]:text-muted-foreground`,`[&_.ProseMirror_code]:rounded [&_.ProseMirror_code]:bg-muted [&_.ProseMirror_code]:px-1 [&_.ProseMirror_code]:font-mono [&_.ProseMirror_code]:text-xs`,`[&_.ProseMirror_pre]:my-2 [&_.ProseMirror_pre]:overflow-x-auto [&_.ProseMirror_pre]:rounded [&_.ProseMirror_pre]:bg-muted [&_.ProseMirror_pre]:p-3`,`[&_.ProseMirror_table]:w-full [&_.ProseMirror_table]:border-collapse`,`[&_.ProseMirror_td]:border [&_.ProseMirror_td]:border-border [&_.ProseMirror_td]:px-2 [&_.ProseMirror_td]:py-1`,`[&_.ProseMirror_th]:border [&_.ProseMirror_th]:border-border [&_.ProseMirror_th]:bg-muted [&_.ProseMirror_th]:px-2 [&_.ProseMirror_th]:py-1 [&_.ProseMirror_th]:font-semibold`,`[&_.ProseMirror_a]:text-primary [&_.ProseMirror_a]:underline [&_.ProseMirror_a]:pointer-events-none`,`[&_.ProseMirror_a_img]:pointer-events-auto`,`[&_.ProseMirror_.is-editor-empty:first-child::before]:pointer-events-none [&_.ProseMirror_.is-editor-empty:first-child::before]:float-left [&_.ProseMirror_.is-editor-empty:first-child::before]:h-0 [&_.ProseMirror_.is-editor-empty:first-child::before]:text-muted-foreground [&_.ProseMirror_.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]`)},t.default.createElement(b,{editor:q}));return ne&&re.length>0?t.default.createElement(mc,{ref:ee,trigger:ne,searchable:W,controlled:H.editorContext?{open:H.open,anchorPosition:H.anchorPosition,query:H.query,editorContext:H.editorContext,onClose:K}:void 0,onSelect:(e,t)=>{ue(e,t)}},re.map(e=>t.default.createElement(mc.Item,{key:e.key,label:e.label,value:e.value,icon:e.icon})),e):e})(),l&&q&&t.default.createElement(qu,{editor:q,config:l}),t.default.createElement(`input`,{ref:oe.fileInputRef,type:`file`,multiple:!0,accept:f?.accept??`image/*`,className:`hidden`,onChange:e=>{let t=f?.maxBytes??10485760,n=Array.from(e.target.files??[]).find(e=>e.size>t);if(n){alert(`"${n.name}" exceeds the ${Math.round(t/1048576)} MB limit.`),e.target.value=``;return}oe.handleUploadChange(e)}}),t.default.createElement(`input`,{ref:V,type:`file`,multiple:!0,accept:p?.accept??`.pdf,.doc,.docx,.txt,.csv`,className:`hidden`,onChange:e=>{let t=Array.from(e.target.files??[]);t.length&&pe(t),e.target.value=``}})))},$u=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,required:a=!1,placeholder:o=void 0,disabled:s=!1,feedback:c=void 0,toolbar:l=`fixed`,toolbarCommands:u=Iu,outputFormat:d=`html`,statusBar:f=!1,minHeight:p=120,maxHeight:m=void 0,imageUpload:h=void 0,documentUpload:g=void 0,labelClassName:_=void 0,inheritWrapperClassName:v=!0,wrapperClassName:y=void 0,className:b=void 0,before:x=void 0,after:S=void 0,validator:C=void 0,commands:w=void 0,commandsTrigger:T=void 0})=>{let{value:E,handleChange:D,formWrapClass:O}=Nl({name:e,onChange:n,wrapperClassName:y,defaultValue:r,inheritWrapperClassName:v}),k=Ml(e,{required:a,label:i,validator:C}),A=(0,t.useId)(),[j,M]=(0,t.useState)(Nu);(0,t.useEffect)(()=>{j||Fu().then(M)},[j]);let N=(0,t.useCallback)(t=>{D?.({target:{name:e,value:t}})},[D,e]),P=f!==!1&&Lu(f);return t.default.createElement(Z,{className:O},i&&t.default.createElement(oo,{label:i,required:a,htmlFor:A,className:_}),t.default.createElement(`div`,{className:X(x||S?Na:``)},x&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-md rounded-r-none border-r-0`)},x),t.default.createElement(`div`,{className:`min-w-0 flex-1`},j?t.default.createElement(Qu,{modules:j,name:e,value:E??``,outputFormat:d,placeholder:o,disabled:s,toolbar:l,toolbarCommands:u,statusBar:P,minHeight:p,maxHeight:m,imageUpload:h,documentUpload:g,hasError:!!k,className:b,onEditorChange:N,commands:w,commandsTrigger:T}):t.default.createElement(`div`,{className:X(`rounded-md border border-input bg-muted/30 shadow-sm`,k&&`border-destructive`),style:{minHeight:p},"aria-busy":`true`,"aria-label":i})),S&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-none rounded-r-md border-l-0`)},S)),k?t.default.createElement(Ha,{message:k}):c&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},c))};function ed(e){return e?typeof e==`string`?t.default.createElement(Q,{name:e,size:16}):e:null}function td({title:e=void 0,description:r=void 0,meta:i=void 0,badge:a=void 0,icon:o=void 0,trailing:s=void 0,footer:c=void 0,children:l=void 0,href:u=void 0,external:d=!1,active:f=!1,disabled:p=!1,dashed:m=!1,compact:h=!1,align:g=`start`,onClick:_=void 0,before:v=void 0,after:y=void 0,wrapperClassName:b=void 0,className:x=void 0,titleClassName:S=void 0,descriptionClassName:C=void 0,metaClassName:w=void 0,badgeClassName:T=void 0,leadingClassName:E=void 0,bodyClassName:D=void 0,headerClassName:O=void 0,trailingClassName:k=void 0,footerClassName:A=void 0,style:j=void 0,motion:M=void 0}){let N=Y(`listCard`),P=!!u||!!_,F=Pt(p||!P,j,M??N.ListCard.motion?.press??`press`),I=ed(o),L=c??l,R=X(`flex w-full gap-3 rounded-xl border border-border/60 bg-background p-4 text-left transition-[background-color,border-color,box-shadow,color] duration-150`,g===`center`?`items-center`:`items-start`,P&&!p&&`cursor-pointer`,N.ListCard.className,f?N.ListCard.activeClassName:N.ListCard.inactiveClassName,p&&N.ListCard.disabledClassName,m&&N.ListCard.dashedClassName,h&&N.ListCard.compactClassName,x),z=t.default.createElement(t.default.Fragment,null,I?t.default.createElement(`div`,{className:X(`mt-0.5 flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,g===`center`&&`mt-0`,N.ListCard.leadingClassName,E)},I):null,t.default.createElement(`div`,{className:X(`min-w-0 flex-1`,N.ListCard.bodyClassName,D)},e||a?t.default.createElement(`div`,{className:X(`flex items-center gap-2`,N.ListCard.headerClassName,O)},e?t.default.createElement(`div`,{className:X(`min-w-0 flex-1 truncate text-sm font-semibold text-foreground`,N.ListCard.titleClassName,S)},e):t.default.createElement(`div`,{className:`flex-1`}),a?t.default.createElement(`div`,{className:X(`shrink-0`,N.ListCard.badgeClassName,T)},a):null):null,r?t.default.createElement(`div`,{className:X(`mt-1 text-sm text-muted-foreground`,N.ListCard.descriptionClassName,C)},r):null,i?t.default.createElement(`div`,{className:X(`mt-1 text-xs text-muted-foreground`,N.ListCard.metaClassName,w)},i):null,L?t.default.createElement(`div`,{className:X(`mt-3`,N.ListCard.footerClassName,A)},L):null),s?t.default.createElement(`div`,{className:X(`shrink-0 self-center`,N.ListCard.trailingClassName,k)},s):null),B=e=>{if(p){e.preventDefault(),e.stopPropagation();return}_?.(e)},V;return V=u&&!p?d?t.default.createElement(`a`,{href:u,target:`_blank`,rel:`noreferrer noopener`,className:R,style:F.style,...F.pressHandlers,onClick:B},z):t.default.createElement(n.Link,{to:u,className:R,style:F.style,...F.pressHandlers,onClick:B},z):P?t.default.createElement(`button`,{type:`button`,className:R,style:F.style,disabled:p,...F.pressHandlers,onClick:B},z):t.default.createElement(`div`,{className:R,style:j,"aria-disabled":p||void 0},z),t.default.createElement(Z,{className:X(N.ListCard.wrapperClassName,b)},v,V,y)}var nd=208,rd=52;function id(e){return e.map(e=>({path:e.path,title:e.title,icon:e.icon,group:e.group,end:e.end,badge:e.badge,children:e.children?id(e.children):void 0}))}function ad(e,t,n){return n?e===t:e===t||t!==`/`&&e.startsWith(t+`/`)}function od(e){let t=new Map;for(let n of e){let e=n.group??`General`;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({key:e,items:t}))}function sd({value:e}){let n=Y(`sideNav`);return t.default.createElement(`span`,{className:X(`ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-full bg-primary/15 text-primary`,n.SideNav.itemBadgeClassName)},e)}function cd({children:e,open:r}){let{pathname:i}=(0,n.useLocation)(),a=Y(`sideNav`);return t.default.createElement(`div`,{style:{maxHeight:r?`${e.length*34+8}px`:`0px`,overflow:`hidden`,transition:`max-height 200ms ease`}},t.default.createElement(`div`,{className:`py-0.5 space-y-0.5`},e.map(e=>{let r=ad(i,e.path,e.end);return t.default.createElement(n.Link,{key:e.path,to:e.path,className:X(`flex items-center rounded-md pl-9 pr-3 py-[6px] text-sm transition-colors`,a.SideNav.subItemClassName,r?a.SideNav.subItemActiveClassName:a.SideNav.subItemInactiveClassName)},t.default.createElement(`span`,{className:`flex-1 truncate`},e.title),e.badge!==void 0&&t.default.createElement(sd,{value:e.badge}))})))}function ld({item:e,expanded:r,open:i,showIcons:a,onToggle:o}){let{pathname:s}=(0,n.useLocation)(),c=Y(`sideNav`),l=(e.children?.length??0)>0,u=ad(s,e.path,e.end),d=l&&e.children.some(e=>ad(s,e.path,e.end)),f=u?c.SideNav.itemActiveClassName:d?c.SideNav.itemChildActiveClassName:c.SideNav.itemInactiveClassName,p=a?t.default.createElement(`span`,{className:X(`relative shrink-0 flex items-center justify-center w-[18px] h-[18px]`,c.SideNav.itemIconClassName)},e.icon?t.default.createElement(Q,{name:e.icon,size:17}):t.default.createElement(`span`,{className:`w-1.5 h-1.5 rounded-full bg-current opacity-30`}),!r&&e.badge!==void 0&&t.default.createElement(`span`,{className:X(`absolute -top-0.5 -right-1 w-[7px] h-[7px] rounded-full bg-primary ring-1 ring-background`,c.SideNav.itemCollapsedBadgeClassName)})):null,m={opacity:+!!r,maxWidth:r?`200px`:`0px`,overflow:`hidden`,whiteSpace:`nowrap`,transition:`opacity 150ms ease, max-width 200ms ease`},h=X(`flex items-center w-full rounded-md px-2 py-[7px] text-sm transition-colors gap-2.5`,c.SideNav.itemClassName);return l?t.default.createElement(`div`,null,t.default.createElement(`div`,{className:`flex items-center gap-0.5`},t.default.createElement(n.Link,{to:e.path,title:r?void 0:e.title,className:X(`flex-1 flex items-center gap-2.5 rounded-md px-2 py-[7px] text-sm transition-colors`,c.SideNav.itemClassName,f)},p,t.default.createElement(`span`,{style:m,className:c.SideNav.itemTextClassName},e.title),r&&e.badge!==void 0&&t.default.createElement(sd,{value:e.badge})),r&&t.default.createElement(`button`,{onClick:()=>o(e.path),className:X(`shrink-0 flex items-center justify-center w-6 h-6 rounded transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent`,c.SideNav.itemToggleClassName),title:i?`Collapse`:`Expand`},t.default.createElement(`span`,{style:{transform:i?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 200ms ease`}},t.default.createElement(Q,{name:`chevron-down`,size:13})))),r&&t.default.createElement(cd,{children:e.children,open:i})):t.default.createElement(n.Link,{to:e.path,title:r?void 0:e.title,className:X(h,f)},p,t.default.createElement(`span`,{style:m,className:c.SideNav.itemTextClassName},e.title),r&&e.badge!==void 0&&t.default.createElement(sd,{value:e.badge}))}function ud({group:e,expanded:n,openItems:r,showIcons:i,onToggle:a}){let o=e.key===`General`,s=Y(`sideNav`);return t.default.createElement(`div`,{className:`mb-1`},!o&&t.default.createElement(`div`,{style:{height:n?void 0:`1px`},className:n?`px-2 pb-0.5 pt-3 first:pt-1`:X(`mx-2 my-2 bg-border/40`,s.SideNav.groupDividerClassName)},n&&t.default.createElement(`span`,{className:X(`text-[10.5px] font-semibold uppercase tracking-widest text-muted-foreground/50 select-none`,s.SideNav.groupLabelClassName)},e.key)),t.default.createElement(`div`,{className:`space-y-0.5`},e.items.map(e=>t.default.createElement(ld,{key:e.path,item:e,expanded:n,open:r.has(e.path),showIcons:i,onToggle:a}))))}function dd({menuKey:e,items:r,defaultCollapsed:i=!1,showIcons:a=!0,showCollapseButton:o=!0,footer:s,header:c,embedded:l=!1}){let{pathname:u}=(0,n.useLocation)(),d=Y(`sideNav`),f=dm(e??``),p=r??(e?id(f):[]),[m,h]=(0,t.useState)(i),[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(new Set),b=(0,t.useRef)(null),x=!m||g;(0,t.useEffect)(()=>{y(e=>{let t=new Set(e);return p.forEach(e=>{e.children?.some(e=>ad(u,e.path,e.end))&&t.add(e.path)}),t})},[u]);let S=(0,t.useCallback)(e=>{y(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),C=()=>{m&&(b.current&&clearTimeout(b.current),_(!0))},w=()=>{m&&(b.current=setTimeout(()=>_(!1),80))};if(p.length===0)return null;let T=od(p);return l?t.default.createElement(`nav`,{className:X(`px-1.5 py-2`,d.SideNav.navClassName)},T.map(e=>t.default.createElement(ud,{key:e.key,group:e,expanded:!0,openItems:v,showIcons:a,onToggle:S}))):t.default.createElement(`div`,{className:X(`min-h-0`,d.SideNav.wrapperClassName),style:{width:m?rd:nd,height:`100%`,transition:`width 220ms cubic-bezier(0.4,0,0.2,1)`,flexShrink:0,position:`relative`}},t.default.createElement(`aside`,{style:{width:x?nd:rd,transition:`width 220ms cubic-bezier(0.4,0,0.2,1)`,position:m?`absolute`:`sticky`,top:0,zIndex:m&&g?50:10,boxShadow:m&&g?`4px 0 24px rgba(0,0,0,0.10)`:`none`,height:`100%`,overflowX:`hidden`,overflowY:`hidden`},className:X(`flex min-h-0 flex-col border-r bg-background`,d.SideNav.shellClassName,m&&g&&d.SideNav.overlayClassName),onMouseEnter:C,onMouseLeave:w},c&&t.default.createElement(`div`,{className:X(`flex h-14 shrink-0 items-center border-b px-1.5`,d.SideNav.headerClassName),style:{opacity:+!!x,maxWidth:x?`100%`:`0px`,overflow:`hidden`,transition:`opacity 150ms ease, max-width 200ms ease`}},t.default.createElement(`div`,{className:`min-w-0 flex-1`},c)),t.default.createElement(`nav`,{className:X(`min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-1.5 py-2`,d.SideNav.navClassName)},T.map(e=>t.default.createElement(ud,{key:e.key,group:e,expanded:x,openItems:v,showIcons:a,onToggle:S}))),(o||s)&&t.default.createElement(`div`,{className:X(`shrink-0 border-t px-1.5 py-2 flex items-center gap-1`,d.SideNav.footerClassName)},o&&t.default.createElement(`button`,{onClick:()=>{h(e=>!e),_(!1)},title:m?`Expand sidebar`:`Collapse sidebar`,className:X(`shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent`,d.SideNav.collapseButtonClassName)},t.default.createElement(Q,{name:m?`chevrons-right`:`chevrons-left`,size:16})),s&&t.default.createElement(`div`,{style:{flex:1,minWidth:0,opacity:+!!x,maxWidth:x?`100%`:`0px`,overflow:`hidden`,transition:`opacity 150ms ease, max-width 200ms ease`}},s))))}function fd({path:e,where:n,order:r,fieldMap:i}){let a=$n(),[o,s]=(0,t.useState)([]),c=(0,t.useMemo)(()=>{if(!(!n&&!r&&!i))return{where:n,order:r,fieldMap:i}},[i,r,n]);return(0,t.useEffect)(()=>a.subscribe(e,s,c),[a,c,e]),o}function pd(e){if(e)return e}function md({path:e,fromUrl:r,where:i,order:a,fieldMap:o,recordId:s=pi,...c}){let l=(0,n.useLocation)(),u=r?pd(l.pathname):e,d=fd({path:u,where:i,order:a,fieldMap:o}),f=t.default.useMemo(()=>{if(!a)return;let e=Object.entries(a)[0];if(!e)return;let[t,n]=e;return{field:t,dir:n}},[a]),p=c.sortable===void 0||c.sortable===!0?f??c.sortable:c.sortable;return t.default.createElement(Ef,{...c,records:d,recordId:s,sourcePath:u,sortable:p})}var hd=e=>e.replace(/[^a-zA-Z0-9_-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``),gd=e=>t=>{if(typeof e==`function`)return String(e(t));let n=t[e];return n==null||n===``?``:String(n)},_d=(e,t)=>{if(e==null||e===`text`)return t;if(e===`boolean`)return t?`Yes`:`No`;if(e===`json`)return t==null?``:JSON.stringify(t,null,2);if(e===`badge`||e===`image`||e===`email`)return t;let n=T[e===`datetime`?`dateTime`:e];return n?n(t):t},vd=(e,t)=>typeof e.render==`function`?e.render(t):_d(e.render,t.value),yd=e=>({key:e,label:T.toCamel(e,` `),sortable:!0}),bd=(e,n)=>{let r=[],i=e=>{t.default.Children.forEach(e,e=>{if(!t.default.isValidElement(e))return;let{props:a}=e;a.name?r.push(n(a)):a.children&&i(a.children)})};return i(Array.isArray(e)?e:[e]),r},xd=(e,n,r)=>{if(e?.length)return e;if(t.default.isValidElement(r)){let e=bd(r,e=>yd(e.name));if(e.length>0)return e}let i=n[0];return i?Object.entries(i).reduce((e,[n,r])=>(n.startsWith(`_`)||(t.default.isValidElement(r)||typeof r!=`object`||Array.isArray(r))&&e.push(yd(n)),e),[]):[]},Sd=(e,t)=>Array.isArray(e)?e.reduce((e,t)=>(t===`delete`?e[t]={kind:`delete`}:e[t]={kind:`modal`},e),{}):e?Object.entries(e).reduce((e,[t,n])=>(n&&(e[t]=n),e),{}):t?{add:{kind:`modal`},edit:{kind:`modal`},delete:{kind:`delete`}}:{},Cd=(e,t)=>e?.visible?typeof e.visible==`function`?e.visible(t):e.visible:!0,wd=(e,t)=>e?.disabled?typeof e.disabled==`function`?e.disabled(t):e.disabled:!1,Td=(e,t,n)=>t?.label?t.label:e===`add`?n?.add??`Add`:e===`edit`?n?.edit??`Edit`:e===`delete`?n?.delete??`Delete`:T.toCamel(e,` `),Ed=e=>{if(!(!e||typeof e==`boolean`))return e};function Dd({records:e,recordId:n,columns:r,runAction:i,sortable:a,pagination:o,selection:s=!1,selectedKeys:c,onSelectionChange:l,onRowClick:u,reorderable:d=!1,onReorder:f,activeKey:p,groupBy:m,wrapperClassName:h,className:g,heightClassName:_,scrollClassName:v,headerClassName:y,before:b,after:x}){let S=(0,t.useMemo)(()=>gd(n),[n]),C=(0,t.useRef)(new Map),w=(0,t.useMemo)(()=>e.reduce((e,t)=>(e.set(S(t),t),e),new Map),[S,e]),T=(0,t.useMemo)(()=>r.reduce((e,t)=>(e.set(String(t.key),t),e),new Map),[r]);(0,t.useEffect)(()=>{let t=new Set(e.map(e=>S(e)));for(let e of C.current.keys())t.has(e)||C.current.delete(e)},[S,e]);let E=(0,t.useCallback)((e,t,n)=>{let r=e,a=S(r),o=T.get(t);if(!o)return le(r,t);let s=le(r,t),c=C.current.get(a)??new Map,l=c.get(t),u=typeof o.render==`function`;if(l&&l.recordRef===r&&l.valueRef===s&&l.renderRef===o.render&&(!u||l.rowIndex===n))return l.output;let d=vd(o,{record:r,value:s,key:t,rowIndex:n,runAction:e=>i(e,r)});return c.set(t,{recordRef:r,valueRef:s,renderRef:o.render,rowIndex:n,output:d}),C.current.set(a,c),d},[T,S,i]);return t.default.createElement(iu,{columns:r.map(e=>({key:String(e.key),label:e.label,className:e.className,sort:e.sortable})),records:e,recordId:e=>S(e),sortable:a,pagination:o,renderCell:E,selection:s===`single`?`single`:`multiple`,selectedKeys:s?c:void 0,onSelectionChange:s?t=>{let n=new Set(t.keys),r=e.filter(e=>n.has(S(e))),i=t.keys;if(s===`single`&&t.keys.length>1){let e=t.keys[t.keys.length-1];i=e?[e]:[],r=e&&w.get(e)?[w.get(e)]:[]}let a={keys:i,records:r,hasSelection:i.length>0,clear:()=>l?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})};l?.(a)}:void 0,onRowClick:u?e=>{let t=S(e),n=w.get(t);n&&u(n)}:void 0,onReorder:d&&f?(e,t)=>{let n=e.map(e=>w.get(S(e))).filter(Boolean),r=w.get(S(t.record));r&&f(n,{fromIndex:t.fromIndex,toIndex:t.toIndex,record:r})}:void 0,activeKey:p,groupBy:m,wrapperClassName:h,className:g,heightClassName:_,scrollClassName:v,headerClassName:y,before:b,after:x})}var Od=(0,t.createContext)(null),kd=0,Ad=`LLM Native`,jd={charset:`UTF-8`,viewport:`width=device-width, initial-scale=1.0`},Md={lang:`en`};function Nd(e,t){return t.includes(`:`)?t:`${e}:${t}`}function Pd(e){return Array.isArray(e)?e.join(`, `):e}function Fd(e){return e===`siteName`?`og:site_name`:Nd(`og`,e)}function Id(e){return[...e.canonical?[{rel:`canonical`,href:e.canonical}]:[],...e.ampHtml?[{rel:`amphtml`,href:e.ampHtml}]:[],...e.sitemap?[{rel:`sitemap`,href:e.sitemap,type:`application/xml`}]:[],...e.links??[]]}function Ld(e){return[...e.prev?[{rel:`prev`,href:e.prev}]:[],...e.next?[{rel:`next`,href:e.next}]:[]]}function Rd(e){return(e.alternates??[]).map(e=>({rel:`alternate`,href:e.href,hrefLang:e.hrefLang,media:e.media,type:e.type,title:e.title}))}function zd(e,t,n){return{name:{description:e.description,...e.meta??{},robots:n.robots??e.meta?.robots,googlebot:n.googlebot,keywords:Pd(n.keywords),author:n.author,publisher:n.publisher,referrer:n.referrer,...n.meta??{},...Object.fromEntries(Object.entries(t.twitter??{}).map(([e,t])=>[Nd(`twitter`,e),t]))},property:Object.fromEntries(Object.entries(t.openGraph??{}).map(([e,t])=>[Fd(e),t]))}}function Bd(e,t,n,r){return[...Id(t),...Ld(r),...Rd(n),...e.canonical&&!t.canonical?[{rel:`canonical`,href:e.canonical}]:[],...e.links??[]]}function Vd(e){return[...(e.fonts??[]).flatMap(e=>[...(e.dnsPrefetch??[]).map(e=>({rel:`dns-prefetch`,href:e})),...(e.preconnect??[]).map(t=>({rel:`preconnect`,href:t,crossOrigin:e.crossOrigin})),...e.preload?[{rel:`preload`,href:e.href,as:e.as??`font`,type:e.type,media:e.media,crossOrigin:e.crossOrigin}]:[],{rel:`stylesheet`,href:e.href,media:e.media,crossOrigin:e.crossOrigin}])]}function Hd(e){return[...e.manifest?[{rel:`manifest`,href:e.manifest}]:[],...e.favicon?[{rel:`icon`,href:e.favicon}]:[],...e.appleTouchIcon?[{rel:`apple-touch-icon`,href:e.appleTouchIcon}]:[],...e.icons??[]]}function Ud(e){return{"theme-color":e.themeColor,"msapplication-TileColor":e.backgroundColor,"color-scheme":e.colorScheme,"application-name":e.applicationName,"mobile-web-app-capable":e.mobileWebAppCapable===void 0?void 0:String(e.mobileWebAppCapable),"apple-mobile-web-app-capable":e.appleMobileWebAppCapable===void 0?void 0:String(e.appleMobileWebAppCapable),"apple-mobile-web-app-title":e.appleMobileWebAppTitle,"apple-mobile-web-app-status-bar-style":e.appleMobileWebAppStatusBarStyle}}function Wd(e){return Array.isArray(e.jsonLd)?e.jsonLd:e.jsonLd?[e.jsonLd]:[]}function Gd(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>!!e))}function Kd(e){let{inline:t,...n}=e;return Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0&&e!==!1))}function qd(e){let{inline:t,...n}=e;return Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0&&e!==!1))}function Jd({appName:e,metadata:n,social:r,links:i,pagination:a,language:o,document:c,assets:l,pwa:u,schemaOrg:d}){if(globalThis.document===void 0)return null;let f=zd(n,r,c),p=Ud(u),m=[...Bd(i,c,o,a),...Vd(l),...Hd(u)],h=Wd(d);return(0,s.createPortal)(t.default.createElement(t.default.Fragment,null,c.charset?t.default.createElement(`meta`,{charSet:c.charset,"data-rfs-head":`document`}):null,c.base?.href||c.base?.target?t.default.createElement(`base`,{href:c.base.href,target:c.base.target,"data-rfs-head":`document`}):null,c.viewport?t.default.createElement(`meta`,{name:`viewport`,content:c.viewport,"data-rfs-head":`document`}):null,Object.entries(c.httpEquiv??{}).map(([e,n])=>n?t.default.createElement(`meta`,{key:`http-equiv:${e}`,httpEquiv:e,content:n,"data-rfs-head":`document`}):null),Object.entries(f.name).map(([e,n])=>n?t.default.createElement(`meta`,{key:`name:${e}`,name:e,content:n,"data-rfs-head":`meta`}):null),Object.entries(f.property).map(([e,n])=>n?t.default.createElement(`meta`,{key:`property:${e}`,property:e,content:n,"data-rfs-head":`meta`}):null),Object.entries(p).map(([e,n])=>n?t.default.createElement(`meta`,{key:`pwa:${e}`,name:e,content:n,"data-rfs-head":`pwa`}):null),m.map((e,n)=>t.default.createElement(`link`,{key:`${e.rel}:${e.href??n}`,...Gd(e),"data-rfs-head":`link`})),(l.styles??[]).map((e,n)=>t.default.createElement(t.default.Fragment,{key:`style:${e.href??n}`},e.href?t.default.createElement(`link`,{rel:`stylesheet`,href:e.href,...qd(e),"data-rfs-head":`asset-style`}):null,e.inline?t.default.createElement(`style`,{id:e.id,nonce:e.nonce,media:e.media,title:e.title,"data-rfs-head":`asset-style`},e.inline):null)),(l.scripts??[]).map((e,n)=>t.default.createElement(t.default.Fragment,{key:`script:${e.src??n}`},e.src?t.default.createElement(`script`,{...Kd(e),"data-rfs-head":`asset-script`}):null,e.inline?t.default.createElement(`script`,{type:e.type,id:e.id,nonce:e.nonce,"data-rfs-head":`asset-script`},e.inline):null)),h.map((e,n)=>t.default.createElement(`script`,{key:`schema-org:${n}`,type:`application/ld+json`,"data-rfs-head":`schema-org`},JSON.stringify(e)))),globalThis.document.head)}function Yd({appName:e=Ad,children:n}){let r=e||`LLM Native`,i=t.default.useRef(globalThis.document===void 0?``:globalThis.document.documentElement.lang),a=t.default.useRef(globalThis.document===void 0?``:globalThis.document.documentElement.dir),[o,s]=(0,t.useState)({}),[c,l]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[f,p]=(0,t.useState)({}),[m,h]=(0,t.useState)({}),[g,_]=(0,t.useState)(Md),[v,y]=(0,t.useState)(jd),[b,x]=(0,t.useState)({}),[S,C]=(0,t.useState)({}),[w,T]=(0,t.useState)({}),E=(0,t.useCallback)(()=>s({}),[]),D=(0,t.useCallback)((e,t)=>{l(n=>[...n.filter(t=>t.id!==e),{id:e,metadata:t}])},[]),O=(0,t.useCallback)(e=>{l(t=>t.filter(t=>t.id!==e))},[]),k=(0,t.useCallback)(()=>d({}),[]),A=(0,t.useCallback)(()=>p({}),[]),j=(0,t.useCallback)(()=>h({}),[]),M=(0,t.useCallback)(()=>_(Md),[]),N=(0,t.useCallback)(()=>y(jd),[]),P=(0,t.useCallback)(()=>x({}),[]),F=(0,t.useCallback)(()=>C({}),[]),I=(0,t.useCallback)(()=>T({}),[]);(0,t.useEffect)(()=>{globalThis.document!==void 0&&(globalThis.document.documentElement.lang=g.lang??i.current,globalThis.document.documentElement.dir=g.dir??a.current)},[g.lang,g.dir]);let L=c.length>0?c[c.length-1].metadata:o;(0,t.useEffect)(()=>{globalThis.document!==void 0&&(globalThis.document.title=L.title??r)},[L.title,r]);let R=(0,t.useMemo)(()=>({metadata:L,social:u,links:f,pagination:m,language:g,document:v,assets:b,pwa:S,schemaOrg:w,setPageMetadata:s,clearPageMetadata:E,setPageMetadataEntry:D,clearPageMetadataEntry:O,setSocialHead:d,clearSocialHead:k,setHeadLinks:p,clearHeadLinks:A,setPaginationHead:h,clearPaginationHead:j,setLanguageHead:_,clearLanguageHead:M,setDocumentHead:y,clearDocumentHead:N,setAssetsHead:x,clearAssetsHead:P,setPwaHead:C,clearPwaHead:F,setSchemaOrg:T,clearSchemaOrg:I}),[L,u,f,m,g,v,b,S,w,E,D,O,k,A,j,M,N,P,F,I]);return t.default.createElement(Od.Provider,{value:R},n,t.default.createElement(Jd,{appName:r,metadata:L,social:u,links:f,pagination:m,language:g,document:v,assets:b,pwa:S,schemaOrg:w}))}function Xd(){return(0,t.useContext)(Od)}function Zd(e){return JSON.stringify(e??{})}function Qd(e){let n=Xd(),r=t.default.useRef(null);r.current||=(kd+=1,`metadata-${kd}`);let i=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=r.current;return n.setPageMetadataEntry(t,e),()=>n.clearPageMetadataEntry(t)},[n?.setPageMetadataEntry,n?.clearPageMetadataEntry,i]),n}function $d(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.social;return n.setSocialHead(e),()=>n.setSocialHead(t)},[n?.setSocialHead,r]),n}function ef(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.links;return n.setHeadLinks(e),()=>n.setHeadLinks(t)},[n?.setHeadLinks,r]),n}function tf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.pagination;return n.setPaginationHead(e),()=>n.setPaginationHead(t)},[n?.setPaginationHead,r]),n}function nf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.language;return n.setLanguageHead(e),()=>n.setLanguageHead(t)},[n?.setLanguageHead,r]),n}function rf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.document;return n.setDocumentHead({...t,...e}),()=>n.setDocumentHead(t)},[n?.setDocumentHead,r]),n}function af(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.assets;return n.setAssetsHead(e),()=>n.setAssetsHead(t)},[n?.setAssetsHead,r]),n}function of(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.pwa;return n.setPwaHead(e),()=>n.setPwaHead(t)},[n?.setPwaHead,r]),n}function sf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.schemaOrg;return n.setSchemaOrg(e),()=>n.setSchemaOrg(t)},[n?.setSchemaOrg,r]),n}function cf(e){return Qd(e),null}var lf=e=>/^(https?:)?\/\//.test(e)||e.startsWith(`mailto:`)||e.startsWith(`tel:`),uf=e=>!!e&&!lf(e)&&!e.startsWith(`#`),df=e=>e.startsWith(`#`),ff=e=>typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(ff).join(``):t.default.isValidElement(e)?ff(e.props.children):``,pf=e=>{if(t.default.isValidElement(e))return/language-([\w-]+)/.exec(e.props.className||``)?.[1]};function mf({code:e,language:n}){let[r,i]=t.default.useState(!1),a=ct(`code`);return t.default.createElement(`div`,{className:`relative my-4 overflow-hidden rounded-md border bg-muted/50`},t.default.createElement(`div`,{className:`flex h-9 items-center justify-between border-b px-3`},t.default.createElement(`span`,{className:`text-xs font-medium text-muted-foreground`},n||a.codeLanguageDefault),t.default.createElement(`button`,{type:`button`,className:`rounded border bg-background px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:()=>{k(e),i(!0),window.setTimeout(()=>i(!1),1600)}},r?a.copied:a.copy)),t.default.createElement(`pre`,{className:`m-0 overflow-x-auto p-4 text-xs leading-relaxed`},t.default.createElement(`code`,{className:n?`language-${n}`:void 0},e)))}var hf=e=>({h1:({className:e,...n})=>t.default.createElement(`h1`,{className:X(`mt-8 scroll-m-20 text-3xl font-bold tracking-normal first:mt-0 [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h2:({className:e,...n})=>t.default.createElement(`h2`,{className:X(`mt-8 scroll-m-20 border-b pb-2 text-2xl font-semibold tracking-normal first:mt-0 [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h3:({className:e,...n})=>t.default.createElement(`h3`,{className:X(`mt-6 scroll-m-20 text-xl font-semibold tracking-normal [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h4:({className:e,...n})=>t.default.createElement(`h4`,{className:X(`mt-5 scroll-m-20 text-base font-semibold tracking-normal [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),p:({className:e,...n})=>t.default.createElement(`p`,{className:X(`my-4 leading-7 text-foreground`,e),...n}),ul:({className:e,...n})=>t.default.createElement(`ul`,{className:X(`my-4 ml-6 list-disc space-y-2`,e),...n}),ol:({className:e,...n})=>t.default.createElement(`ol`,{className:X(`my-4 ml-6 list-decimal space-y-2`,e),...n}),li:({className:e,...n})=>t.default.createElement(`li`,{className:X(`leading-7`,e),...n}),blockquote:({className:e,...n})=>t.default.createElement(`blockquote`,{className:X(`my-4 border-l-4 border-primary bg-muted/40 px-4 py-3 text-sm text-muted-foreground`,e),...n}),table:({className:e,...n})=>t.default.createElement(`div`,{className:`my-4 w-full overflow-x-auto`},t.default.createElement(`table`,{className:X(`w-full border-collapse text-sm`,e),...n})),th:({className:e,...n})=>t.default.createElement(`th`,{className:X(`border bg-muted px-3 py-2 text-left font-semibold`,e),...n}),td:({className:e,...n})=>t.default.createElement(`td`,{className:X(`border px-3 py-2 align-top`,e),...n}),hr:({className:e,...n})=>t.default.createElement(`hr`,{className:X(`my-8 border-border`,e),...n}),a:({className:n,href:r=``,onClick:i,...a})=>t.default.createElement(`a`,{className:X(df(r)?`text-primary no-underline transition-opacity hover:opacity-80`:`font-medium text-primary no-underline transition-opacity hover:opacity-80`,n),href:r,target:lf(r)?`_blank`:void 0,rel:lf(r)?`noreferrer`:void 0,onClick:t=>{i?.(t),!t.defaultPrevented&&e&&uf(r)&&(t.preventDefault(),e(r,t))},...a}),pre:({children:e})=>t.default.createElement(mf,{code:ff(e).replace(/\n$/,``),language:pf(e)}),code:({className:e,children:n,...r})=>typeof e==`string`&&e.startsWith(`language-`)?t.default.createElement(`code`,{className:e,...r},n):t.default.createElement(`code`,{className:X(`rounded bg-muted px-1.5 py-0.5 text-[0.9em]`,e),...r},n),input:({className:e,...n})=>t.default.createElement(`input`,{className:X(`mr-2 align-middle`,e),disabled:!0,...n})});function gf({content:e,components:n,className:r,wrapperClassName:i,metadata:a,onInternalLinkClick:o}){let s=t.default.useMemo(()=>e.match(/^#[ \t]+(.+)/m)?.[1]?.trim(),[e]);Qd(a||s?{...a??{},title:a?.title??s}:void 0);let c=t.default.useMemo(()=>hf(o),[o]);return t.default.createElement(`div`,{className:X(`rf-markdown-reader max-w-none text-sm text-foreground`,i,r)},t.default.createElement(m.default,{remarkPlugins:[h.default],rehypePlugins:[g.default,[_.default,{behavior:`wrap`}],v.default],components:{...c,...n}},e))}var _f=({children:e,name:n,onChange:r=void 0,onAdd:i=void 0,onRemove:a=void 0,label:o=`Tab`,min:s=1,max:c=void 0,activeIndex:l=0,title:u=void 0,readOnly:d=!1,tabPosition:f=`default`})=>{let{value:p,handleChange:m}=Nl({name:n,onChange:r}),h=Array.isArray(p)?p:[],[g,_]=(0,t.useState)(l),[v,y]=(0,t.useState)(0),b=(0,t.useMemo)(()=>(h.length>0?h:Array.from({length:s},()=>({})))?.map((e,t)=>o.includes(`{`)?T.parse(h[t]??{},o):o+` `+(t+1)),[h,o,s,v]),x=typeof e==`function`?e({record:h[g]??{},records:h,currentIndex:g}):e,S=(0,t.useMemo)(()=>Il({children:x,parentName:`${n}.${g}`,parentKey:`${n}-${g}-${v}`}),[g,x,n,v]),C=()=>{let e=h.length>0?[...h,{}]:Array.from({length:b.length+1},()=>({}));i?.(e),m({target:{name:`${n}.${e.length-1}`,value:{}}}),_(e.length-1),y(e=>e+1)},w=e=>{let t=b.length-1;a?.(e),m({target:{name:`${n}.${e}`}}),g>=t&&_(e=>e-1),y(e=>e+1)},E=Ql[f],D=Yl(f);return t.default.createElement(`div`,null,u&&t.default.createElement(`h3`,null,u),t.default.createElement(E,{menu:t.default.createElement(t.default.Fragment,null,b?.map((e,r)=>t.default.createElement(`div`,{key:`${n}-${r}`,className:`${D.itemClassName} relative`},t.default.createElement(`button`,{type:`button`,role:`tab`,"aria-selected":r===g,onClick:()=>_(r),className:Xl(f,r===g,!d&&b.length-1>=s&&r===g?`pr-9`:void 0)},e),!d&&b.length-1>=s&&r===g&&t.default.createElement(gn,{className:`absolute right-2 top-1/2 -translate-y-1/2 p-1 text-current opacity-70 hover:opacity-100`,icon:`x`,onClick:()=>w(r)}))),!d&&(!c||b.length<c)&&t.default.createElement(`div`,{key:b.length+1,className:D.itemClassName},t.default.createElement(gn,{className:Xl(f,!1,`border border-dashed border-border/70 justify-center`),icon:`plus`,title:`Add tab`,onClick:C}))),content:t.default.createElement(`div`,{className:Zl()},S)}))},vf=({records:e,children:n,limit:r=void 0,page:i=void 0,maxPageButtons:a=void 0,appendTo:o=void 0,before:c=void 0,after:l=void 0,className:u=void 0,wrapperClassName:d=void 0,scrollToTopOnChange:f=void 0,scrollBehavior:p=void 0,align:m=void 0,sticky:h=void 0})=>{let g=Y(`pagination`),_=ct(`common`),[v,y]=(0,t.useState)(i||1),b=r||e.length,x=Math.ceil(e.length/b),S=(v-1)*b,C=S+b,w=(0,t.useMemo)(()=>e.slice(S,C),[e,S,C]),T=e=>{e>=1&&e<=x&&y(e)};(0,t.useEffect)(()=>{(f||g.Pagination.scrollToTop)&&window.scrollTo({top:0,behavior:p||g.Pagination.scrollBehavior})},[v,f,p]);let E=(0,t.useMemo)(()=>{let e=Math.min(a||g.Pagination.maxItems,x),t=Math.max(1,v-Math.floor(e/2)),n=t+e-1;return n>x&&(n=x,t=Math.max(1,n-e+1)),Array.from({length:n-t+1},(e,n)=>t+n)},[v,a,x]),D=v===1?`disabled`:``,O=v===x?`disabled`:``,k={start:`justify-start`,center:`justify-center`,end:`justify-end`}[m||g.Pagination.align]||`justify-end`,A=e.length>b&&(h??g.Pagination.sticky),j=t.default.createElement(Z,{className:(d||g.Pagination.wrapperClassName)+(A?` ${g.Pagination.stickyClassName}`:``),style:A?{backdropFilter:`blur(10px)`,backgroundColor:`rgba(255, 255, 255, 0.1)`}:{}},c,e.length>b&&t.default.createElement(`nav`,{"aria-label":_.pageNavigation,className:`${u||g.Pagination.className} flex w-full ${k}`},t.default.createElement(`ul`,{className:`flex items-center gap-1`},t.default.createElement(`li`,{className:`mr-2`},t.default.createElement(`button`,{type:`button`,onClick:()=>T(1),disabled:D===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,D===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`)},t.default.createElement(`span`,null,`«`))),t.default.createElement(`li`,null,t.default.createElement(`button`,{type:`button`,disabled:D===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,D===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`),onClick:()=>T(v-1)},t.default.createElement(`span`,null,`‹`))),E.map(e=>t.default.createElement(`li`,{key:e},t.default.createElement(`button`,{type:`button`,onClick:()=>T(e),className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors cursor-pointer hover:bg-accent hover:text-accent-foreground`,v===e&&`border-primary bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground`)},e))),t.default.createElement(`li`,{className:`ml-2`},t.default.createElement(`button`,{type:`button`,disabled:O===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,O===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`),onClick:()=>T(v+1)},t.default.createElement(`span`,null,`›`))),t.default.createElement(`li`,null,t.default.createElement(`button`,{type:`button`,onClick:()=>T(x),disabled:O===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,O===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`)},t.default.createElement(`span`,null,`»`))))),l);return t.default.createElement(t.default.Fragment,null,n(w,S),o?(0,s.createPortal)(j,o):o===void 0&&j)},yf=({records:e=void 0,header:n=void 0,footer:r=void 0,overlays:i=void 0,onRowClick:a=void 0,onSelectionChange:o=void 0,sortable:s=!1,pagination:c=void 0,gap:l=void 0,columns:u=void 0,groupBy:d=void 0,selectedKeys:f=void 0,before:p=void 0,after:m=void 0,wrapperClassName:h=void 0,className:g=void 0,headerClassName:_=void 0,scrollClassName:v=void 0,bodyClassName:y=void 0,footerClassName:b=void 0,selectedClassName:x=void 0})=>{let S=Y(`gallery`),C=ct(`gallery`),w=ct(`common`),T=x||S.Gallery.selectedClassName,[E,D]=(0,t.useState)(null),O=(0,t.useCallback)(e=>{e&&D(e)},[]),k=l??S.Gallery.gap,A=u??S.Gallery.rowCols,j={0:`0`,1:`0.25rem`,2:`0.5rem`,3:`1rem`,4:`1.5rem`,5:`3rem`},M=j[k]??j[2],N=`0.75rem`,P=`calc(50% - 1rem)`,F=k===0?`${(100/A).toFixed(4)}%`:`calc((100% - (${M} * ${A-1})) / ${A})`,I=e||[],L=(0,t.useMemo)(()=>{if(!s)return;if(typeof s==`object`)return s;let t=e?.[0];if(!t)return;let n=Object.keys(t).find(e=>!e.startsWith(`_`));if(n)return{field:n,dir:`asc`}},[e,typeof s==`object`?s?.dir:void 0,typeof s==`object`?s?.field:void 0,s]),R=ru(`item`),z=(0,t.useCallback)((e,t)=>R(e,t),[R]),{activeSelectedKeys:B,showSelection:V,updateSelection:ee}=nu({records:I,selectedKeys:f,onSelectionChange:o,getRecordKey:z}),H=(0,t.useRef)(new Map);(0,t.useEffect)(()=>{let e=new Set(I.map((e,t)=>z(e,t)));for(let t of H.current.keys())e.has(t)||H.current.delete(t)},[I,z]);let te=(e,t)=>{if(T){let t=T.split(/\s+/).filter(Boolean),n=e.target;for(;n&&!n.classList.contains(`item`);){if([`A`,`BUTTON`,`INPUT`,`LABEL`].includes(n.tagName))return;n=n.parentNode}t.every(e=>n.classList.contains(e))||(Array.from(n.parentNode?.children||[]).forEach(e=>{e.classList.remove(...t)}),n.classList.add(...t))}a?.(t)},U=(0,t.useCallback)((e,t)=>{let n=z(e,t),r=B.includes(n)?B.filter(e=>e!==n):[...B,n];ee(r)},[B,z,ee]),ne=(e,n)=>{let r=e.img;return r&&t.default.isValidElement(r)?t.default.cloneElement(r,{className:X(`block h-auto w-full max-w-full rounded-lg object-cover`,r.props.className),style:{...r.props.style||{},aspectRatio:r.props.style?.aspectRatio||`16 / 11`,cursor:a?`pointer`:`default`},onClick:a?(t=>{te(t,e),r.props.onClick?.(t)}):r.props.onClick}):t.default.createElement(`img`,{className:`block h-auto w-full max-w-full rounded-lg object-cover`,src:e.thumbnail?e.mimetype+e.thumbnail:`data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAgAAAAwAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==`,alt:e.name,width:e.width,height:e.height,style:{aspectRatio:`16 / 11`,cursor:a?`pointer`:`default`},onClick:a?(t=>te(t,e)):void 0})},W=e=>t.default.isValidElement(e)?e:t.default.createElement(`span`,{className:`inline-block max-w-full overflow-hidden text-ellipsis align-top`},t.default.createElement(wt,{badge:e,className:`badge-overlay`})),G=(e,n,r=`left`,i)=>t.default.createElement(`div`,{className:X(`absolute z-10 overflow-hidden text-ellipsis whitespace-nowrap leading-none`,r===`right`?`text-right`:`text-left`,i),style:{width:P,maxWidth:P,pointerEvents:`none`,...n}},W(e)),re={topLeft:{style:{left:N,top:N}},topRight:{style:{right:N,top:N},align:`right`},bottomLeft:{style:{bottom:N,left:N}},bottomRight:{style:{bottom:N,right:N},align:`right`},middleLeft:{style:{left:N,top:`50%`,transform:`translateY(-50%)`}},middleRight:{style:{right:N,top:`50%`,transform:`translateY(-50%)`},align:`right`}},ie=(e,t,n)=>e.when?typeof e.when==`function`?e.when(t,n):Object.entries(e.when).every(([e,n])=>t[e]===n):!0,ae=(e,t,n)=>e.render?e.render(t,n):typeof e.badge==`function`?e.badge(t,n):e.badge,oe=(e,n)=>i?.length?i.map((r,i)=>{if(!r.position||!ie(r,e,n))return null;let a=ae(r,e,n);if(a==null||a===!1)return null;let o=re[r.position];return o?t.default.createElement(t.default.Fragment,{key:`${r.position}-${i}`},G(a,{...o.style,...r.style},o.align,r.className)):null}):null,se=(0,t.useCallback)((e,t)=>{let n=z(e,t),r=H.current.get(n);if(r&&r.recordRef===e&&r.overlaysRef===i&&r.onClickRef===a&&r.rowIndex===t)return{image:r.image,overlays:r.overlays};let o={image:ne(e,t),overlays:oe(e,t)};return H.current.set(n,{recordRef:e,overlaysRef:i,onClickRef:a,rowIndex:t,image:o.image,overlays:o.overlays}),o},[z,a,i]),K=(e,n)=>{let r=z(n,e),i=B.includes(r),a=T?.split(/\s+/).filter(Boolean)||[],o=se(n,e);return t.default.createElement(`div`,{key:r,className:X(`item min-w-0`,i&&a),style:{flex:`0 0 ${F}`,maxWidth:F}},t.default.createElement(`div`,{className:`relative overflow-hidden rounded-lg`},V&&t.default.createElement(`label`,{className:`absolute left-3 top-3 z-20 inline-flex items-center rounded bg-background/90 px-2 py-1 shadow-sm`},t.default.createElement(`input`,{type:`checkbox`,"aria-label":et(C.selectItem,{key:r}),checked:i,onChange:()=>U(n,e),onClick:e=>e.stopPropagation()})),o.image,o.overlays))},ce=(e,t)=>{let n=Array.isArray(t)?t:[t],r=new Map;return e.forEach((e,t)=>{let i=n.map(t=>String(e[t]??``)).join(` · `)||`-`;r.has(i)||r.set(i,[]),r.get(i).push({item:e,index:t})}),Array.from(r.entries()).map(([e,t])=>({kind:`group`,groupName:e,items:t}))},q=(0,t.useMemo)(()=>{if(!Array.isArray(e))return;let t=po.records(e,L)||[];return d?ce(t,d):t.map((e,t)=>({kind:`item`,item:e,index:t}))},[e,d,L]);return q===void 0?t.default.createElement(`p`,{className:`p-4`},t.default.createElement(`span`,{className:`mr-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),w.loading):q.length===0?t.default.createElement(`p`,{className:`p-4`},w.noDataFound):t.default.createElement(`div`,{className:X(`flex items-stretch gap-3`,h||S.Gallery.wrapperClassName)},p&&t.default.createElement(`div`,{className:`gallery-before flex shrink-0 items-center self-stretch`},p),t.default.createElement(Z,{className:X(`min-w-0 flex-1 flex flex-col`,g||S.Gallery.className)},n&&t.default.createElement(`div`,{className:_||S.Gallery.headerClassName},n),t.default.createElement(Z,{className:X(`min-w-0 flex-1`,v||S.Gallery.scrollClassName)},t.default.createElement(vf,{records:q,appendTo:E,wrapperClassName:`px-3 pt-4 pb-2`,...c||{}},e=>t.default.createElement(`div`,{className:`p-3`},t.default.createElement(`div`,{className:`flex flex-wrap text-center items-center `+(y||S.Gallery.bodyClassName),style:{gap:M}},e.map(e=>e.kind===`group`?t.default.createElement(`section`,{key:e.groupName,className:`gallery-group rounded-lg border bg-card p-3 text-left`},t.default.createElement(`h3`,{className:`mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground`},e.groupName),t.default.createElement(`div`,{className:X(`flex flex-wrap items-center`),style:{gap:M}},e.items.map(({item:e,index:t})=>K(t,e)))):K(e.index,e.item)))))),t.default.createElement(`div`,{ref:O,className:`mt-auto`}),r&&t.default.createElement(`div`,{className:b||S.Gallery.footerClassName},r)),m&&t.default.createElement(`div`,{className:`gallery-after flex shrink-0 items-center self-stretch`},m))};function bf({records:e,recordId:n,sortable:r,pagination:i,selection:a=!1,selectedKeys:o,onSelectionChange:s,onRowClick:c,groupBy:l,wrapperClassName:u,before:d,after:f,columns:p,overlays:m}){let h=(0,t.useMemo)(()=>gd(n),[n]),g=(0,t.useMemo)(()=>e.reduce((e,t)=>(e.set(h(t),t),e),new Map),[h,e]),_=(0,t.useMemo)(()=>e.map(e=>({...e,[pi]:h(e)})),[e,h]);return t.default.createElement(yf,{records:_,overlays:m,sortable:r,pagination:i,selectedKeys:a?o:void 0,onSelectionChange:a?e=>{let t=e.keys,n=e.records;if(a===`single`&&e.keys.length>1){let r=e.keys[e.keys.length-1];t=r?[r]:[],n=r&&g.get(r)?[g.get(r)]:[]}let r={keys:t,records:n,hasSelection:t.length>0,clear:()=>s?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})};s?.(r)}:void 0,onRowClick:c?e=>c(e):void 0,groupBy:l,wrapperClassName:u,before:d,after:f,columns:p})}function xf({actions:e,form:r,editDeepLink:i,preparedRecords:a,recordId:o,sourcePath:s,db:c,onSave:l,onDelete:u,onComplete:d,audit:f=!1}){let p=(0,n.useLocation)(),m=(0,n.useNavigate)(),h=(0,t.useId)(),g=Cl(),_=(0,t.useMemo)(()=>gd(o),[o]),v=(0,t.useMemo)(()=>Sd(e,!!r),[e,r]),[y,b]=(0,t.useState)(null),x=(0,t.useMemo)(()=>`${hd(s||`grid-records`)}-${hd(h)}`,[h,s]),S=(0,t.useCallback)(()=>{b(null),i&&p.hash.startsWith(`#${x}:`)&&m({pathname:p.pathname,search:p.search,hash:``},{replace:!0})},[i,x,p.hash,p.pathname,p.search,m]),C=(0,t.useCallback)(async(e,t=!0)=>{let n=u?await u({record:e}):s?`${s}/${_(e)}`:void 0;if(!n&&!u)return!1;n&&await c.remove(n);let r=await d?.({record:e,action:`delete`})??!0;return r&&t&&S(),r},[S,c,_,d,u,s]),w=(0,t.useCallback)(async()=>g.save(),[g]),T=(0,t.useCallback)(async(e,t)=>{let n=v[e];if(!n||!Cd(n,t)||wd(n,t))return;let r={actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,close:S,save:w,remove:async()=>t?C(t,!0):!1,runAction:(e,t)=>T(e,t)};if(n.kind===`route`){let e=typeof n.to==`function`?n.to(r):n.to;m(e);return}if(n.kind===`external`){let e=typeof n.href==`function`?n.href(r):n.href;window.open(e,`_blank`,`noopener,noreferrer`);return}if(n.kind===`inline`){await n.run(r);return}e===`edit`&&i&&t&&m({hash:`${x}:${encodeURIComponent(_(t))}`},{replace:!1}),b({actionKey:e,record:t})},[S,i,_,x,m,v,C,w]),E=(0,t.useCallback)((e,t)=>({actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,runAction:(e,t)=>T(e,t)}),[_,T]),D=(0,t.useCallback)(async e=>{let t=y?.record;if(e===`cancel`){S();return}if(e===`save`){await w();return}if(e===`remove`){if(!t)return;await C(t,!0);return}await T(e,t)},[y?.record,S,C,T,w]),O=(0,t.useCallback)((e,t)=>({actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,runAction:e=>{D(e)}}),[_,D]);(0,t.useEffect)(()=>{if(!i)return;let e=p.hash.replace(/^#/,``),t=`${x}:`;if(!e.startsWith(t)){y?.actionKey===`edit`&&b(null);return}let n=decodeURIComponent(e.slice(t.length)),r=a.find(e=>_(e)===n);r&&b(e=>e?.actionKey===`edit`&&e.record&&_(e.record)===n?e:{actionKey:`edit`,record:r})},[y?.actionKey,i,_,x,p.hash,a]);let k=y?v[y.actionKey]:void 0;return{normalizedActions:v,activeAction:y,activeActionConfig:k,activeActionBody:(0,t.useMemo)(()=>{if(!y||!k)return null;let e=E(y.actionKey,y.record),n=O(y.actionKey,y.record);if(k.kind===`delete`)return typeof k.body==`function`?k.body(n):k.body===void 0?t.default.createElement(`div`,{className:`space-y-2`},t.default.createElement(`p`,null,`Delete this record?`),y.record&&t.default.createElement(`p`,{className:`text-sm text-muted-foreground`},_(y.record))):k.body;if((y.actionKey===`add`||y.actionKey===`edit`)&&r){let i=k.kind===`modal`&&k.body!==void 0?typeof k.body==`function`?k.body(n):k.body:typeof r==`function`?r({...e,record:y.record}):r;return t.default.isValidElement(i)?t.default.createElement(Ll,{appearance:`empty`,controller:g,defaultValues:y.record,log:f,onSave:l?async({record:e,action:t,storagePath:n})=>l({record:e,action:t,storagePath:n}):void 0,onDelete:u?async({record:e})=>u({record:e}):void 0,onComplete:async({record:e,action:t})=>{let n=await d?.({record:e,action:t})??!0;return n&&S(),n},path:s},i):i}return k.kind===`modal`&&k.body!==void 0?typeof k.body==`function`?k.body(n):k.body:null},[y,k,f,S,r,g,E,O,_,d,u,l,s]),activeKey:y?.actionKey===`edit`&&y.record?_(y.record):null,runAction:T,runModalAction:D,close:S,getActionContext:E,getModalActionContext:O,getRecordKey:_,formController:g,gridHashId:x}}function Sf({columns:e,records:n,form:r}){return(0,t.useMemo)(()=>xd(e,n,r),[e,r,n])}function Cf({records:e,onLoad:n}){let[r,i]=(0,t.useState)(e),[a,o]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{if(!n){i(e),o(!1);return}let t=!0,r=n(re(e));if(r instanceof Promise)return o(!0),r.then(e=>{t&&i(e)}).finally(()=>{t&&o(!1)}),()=>{t=!1};i(r),o(!1)},[e,n]),{preparedRecords:r,loading:a}}function wf({selection:e}){let n=e!==null&&e!==!1&&typeof e==`object`,r=e?typeof e==`string`?e:e.mode:!1,i=n?e.defaultKeys:void 0,a=n?e.onChange:void 0,[o,s]=(0,t.useState)(i??[]),[c,l]=(0,t.useState)([]);(0,t.useEffect)(()=>{s(i??[]),l([])},[i?.join(`\0`)??``]);let u=(0,t.useCallback)(()=>{s([]),l([]),a?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})},[a]);return{mode:r,activeSelectionKeys:o,selectionState:(0,t.useMemo)(()=>({keys:o,records:c,hasSelection:o.length>0,clear:u}),[u,o,c]),handleSelectionChange:(0,t.useCallback)(e=>{s(e.keys),l(e.records),a?.(e)},[a])}}var Tf=(e,t,n,r,i)=>t?.kind===`delete`?typeof t.title==`function`?t.title(n):t.title||r:t?.kind===`modal`?typeof t.title==`function`?t.title(n):t.title||Td(e,t,i):Td(e,t,i);function Ef({records:e,recordId:n,sourcePath:r,columns:i,actions:a,form:o,editDeepLink:s,header:c,footer:l,view:u=`table`,views:d,sticky:f,wrapperClassName:p,cardClassName:m,bodyClassName:h,loading:g=!1,title:_,before:v,after:y,sortable:b=!0,pagination:x,selection:S,onRowClick:C,reorderable:w=!1,onReorder:T,groupBy:E,searchable:D,filters:O,onSave:k,onDelete:A,onComplete:j,audit:M=!1,onLoad:N}){let P=Y(`grid`),F=ct(`grid`),I=ct(`common`),L=(0,t.useMemo)(()=>({add:F.buttonAdd}),[F.buttonAdd]),R=$n(),{preparedRecords:z,loading:B}=Cf({records:e,onLoad:N}),V=Sf({columns:i,records:z,form:o}),[ee,H]=(0,t.useState)(()=>Object.fromEntries((O??[]).map(e=>[e.key,e.defaultValue??!1]))),te=(0,t.useCallback)(e=>{H(t=>({...t,[e]:!t[e]}))},[]),U=(0,t.useMemo)(()=>!O||O.length===0?z:z.filter(e=>O.every(t=>t.predicate(e,ee[t.key]??t.defaultValue??!1))),[z,O,ee]),ne=O&&O.length>0?t.default.createElement(`div`,{className:`flex flex-wrap items-center gap-3`},O.map(e=>t.default.createElement(`label`,{key:e.key,className:`flex shrink-0 items-center gap-1.5 text-sm text-muted-foreground`},t.default.createElement(`input`,{type:`checkbox`,checked:ee[e.key]??e.defaultValue??!1,onChange:()=>te(e.key)}),e.label))):null,W=D===!0?{}:D||void 0,[G,re]=(0,t.useState)(``),ie=(0,t.useMemo)(()=>{if(!W||!G.trim())return U;let e=G.trim().toLowerCase(),t=W.fields?.map(String);return U.filter(n=>(t??Object.keys(n)).some(t=>{let r=le(n,t);return typeof r==`string`&&r.toLowerCase().includes(e)}))},[U,W,G]),ae=W?t.default.createElement(`div`,{className:`flex min-w-0 items-center gap-2`},t.default.createElement(`input`,{type:`search`,value:G,onChange:e=>re(e.target.value),placeholder:W.placeholder??I.search,className:`w-full max-w-xs rounded-md border border-input bg-background px-2 py-1 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`}),t.default.createElement(`span`,{className:`shrink-0 text-xs text-muted-foreground`},ie.length,` / `,U.length)):null,oe=d??{},se=oe.table??{},K=oe.gallery??{},[ce,q]=(0,t.useState)(u);(0,t.useEffect)(()=>{q(u)},[u]);let[ue,de]=(0,t.useState)(()=>new Set(V.filter(e=>e.defaultVisible===!1).map(e=>String(e.key)))),fe=(0,t.useCallback)(e=>{de(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),pe=(0,t.useMemo)(()=>V.filter(e=>!ue.has(String(e.key))),[V,ue]),me=K.fields??[],[he,ge]=(0,t.useState)(()=>new Set(me.filter(e=>e.defaultVisible===!1).map(e=>String(e.key)))),_e=(0,t.useCallback)(e=>{ge(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),ve=(0,t.useMemo)(()=>me.filter(e=>!he.has(String(e.key))),[me,he]),ye=(0,t.useMemo)(()=>{let e=[];if(ve.length){let n=new Map;ve.forEach(e=>{let t=e.position??`bottomLeft`;n.has(t)||n.set(t,[]),n.get(t).push(e)}),e.push(...Array.from(n.entries()).map(([e,n])=>({position:e,render:e=>t.default.createElement(`div`,{className:`w-full space-y-0.5 bg-background/90 px-2 py-1 text-xs`},n.map(n=>{let r=le(e,String(n.key));return t.default.createElement(`div`,{key:String(n.key),className:`truncate font-medium`},n.render?n.render(r,e):String(r??``))}))})))}let n=[...K.overlays??[],...e];return n.length?n:void 0},[K.overlays,ve]),{mode:be,activeSelectionKeys:xe,selectionState:Se,handleSelectionChange:Ce}=wf({selection:S}),{normalizedActions:we,activeAction:Te,activeActionConfig:J,activeActionBody:Ee,activeKey:De,runAction:Oe,close:ke,getActionContext:Ae,getModalActionContext:je,getRecordKey:Me,formController:Ne}=xf({actions:a,form:o,editDeepLink:s,preparedRecords:z,recordId:n,sourcePath:r,db:R,onSave:k,onDelete:A,onComplete:j,audit:M}),Pe=we.edit,Fe=!!Pe&&(Pe.kind!==`modal`||!!o),Ie=(0,t.useCallback)(e=>{if(C?.(e),!Fe)return;let t=Me(e);if(Te?.actionKey===`edit`&&Te.record&&Me(Te.record)===t){ke();return}Oe(`edit`,e)},[Te?.actionKey,Te?.record,Fe,ke,Me,C,Oe]),Le=C||Fe?Ie:void 0,Re=(0,t.useCallback)((e,n,r)=>{let i=we[e];return!i||!Cd(i,n)?null:t.default.createElement(gn,{className:r||(e===`add`?`btn-primary`:void 0),icon:i.icon,label:Td(e,i,L),disabled:wd(i,n),onClick:()=>Oe(e,n)})},[we,Oe,L]),ze=(0,t.useMemo)(()=>Object.entries(we).filter(([e,t])=>e!==`edit`&&e!==`delete`&&Cd(t,void 0)).map(([e])=>e),[we]),Be=(0,t.useMemo)(()=>({title:_,records:z,selection:Se,runAction:Oe}),[z,Oe,Se,_]),Ve=(0,t.useMemo)(()=>({records:z,selection:Se,runAction:Oe}),[z,Oe,Se]),He=oe.toggle?t.default.createElement(`span`,{className:`inline-flex rounded-md border border-border overflow-hidden`},t.default.createElement(gn,{icon:`list`,ariaLabel:`Table view`,title:`Table view`,className:`rounded-none border-0 `+(ce===`table`?`bg-card text-foreground shadow-sm`:`bg-transparent text-muted-foreground`),onClick:()=>q(`table`)}),t.default.createElement(gn,{icon:`layout-grid`,ariaLabel:`Gallery view`,title:`Gallery view`,className:`rounded-none border-0 border-l border-border `+(ce===`gallery`?`bg-card text-foreground shadow-sm`:`bg-transparent text-muted-foreground`),onClick:()=>q(`gallery`)})):null,Ue=se.columnPicker&&ce===`table`?t.default.createElement(fr,{trigger:{icon:`columns`,title:`Columns`},triggerClassName:`btn btn-outline-secondary`,position:`end`},V.map(e=>{let n=String(e.key);return t.default.createElement(`label`,{key:n,className:`flex cursor-pointer items-center gap-2 px-3 py-1.5 text-sm hover:bg-accent`},t.default.createElement(`input`,{type:`checkbox`,checked:!ue.has(n),onChange:()=>fe(n)}),e.label)})):null,We=K.fieldPicker&&ce===`gallery`&&me.length?t.default.createElement(fr,{trigger:{icon:`sliders-horizontal`,title:`Fields`},triggerClassName:`btn btn-outline-secondary`,position:`end`},me.map(e=>{let n=String(e.key);return t.default.createElement(`label`,{key:n,className:`flex cursor-pointer items-center gap-2 px-3 py-1.5 text-sm hover:bg-accent`},t.default.createElement(`input`,{type:`checkbox`,checked:!he.has(n),onChange:()=>_e(n)}),e.label)})):null,Ge=(0,t.useMemo)(()=>{if(c!==void 0)return typeof c==`function`?c(Be):c;if(!(!_&&!ae&&!ne&&!ze.length&&!He&&!Ue&&!We))return t.default.createElement(t.default.Fragment,null,ae||ne?t.default.createElement(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`},_,ae,ne):_||t.default.createElement(`span`,null),ze.length||He||Ue||We?t.default.createElement(`span`,{className:`flex flex-wrap items-center gap-2`},Ue,We,He,ze.map(e=>t.default.createElement(t.default.Fragment,{key:e},Re(e)))):null)},[Re,c,ze,Be,_,He,Ue,We,ae,ne]),Ke=(0,t.useMemo)(()=>{if(l!==void 0)return typeof l==`function`?l(Ve):l},[l,Ve]),qe=(0,t.useMemo)(()=>{if(!(!Te||!J||J.kind!==`modal`&&J.kind!==`delete`))return je(Te.actionKey,Te.record)},[Te,J,je]),Je=(0,t.useMemo)(()=>{if(!(!J||J.kind!==`modal`&&J.kind!==`delete`||J.header===void 0||!qe))return typeof J.header==`function`?J.header(qe):J.header},[J,qe]),Ye=(0,t.useMemo)(()=>{if(!(!J||J.kind!==`modal`&&J.kind!==`delete`)){if(J.footer===!1)return!1;if(!(J.footer===void 0||!qe))return typeof J.footer==`function`?J.footer(qe):J.footer}},[J,qe]),Xe=Ed(b);return t.default.createElement(t.default.Fragment,null,t.default.createElement(ar,{wrapperClassName:p,header:Ge,footer:Ke,className:X(P.Grid.Card.className,f?`sticky-${f}`:``,m),headerClassName:P.Grid.Card.headerClassName,bodyClassName:X(P.Grid.Card.bodyClassName,h),footerClassName:P.Grid.Card.footerClassName,loading:g||B},ce===`gallery`?t.default.createElement(bf,{records:ie,recordId:n,sortable:Xe||b,pagination:x,selection:be,selectedKeys:xe,onSelectionChange:be?Ce:void 0,onRowClick:Le,groupBy:E,wrapperClassName:P.Grid.Gallery.wrapperClassName,before:v,after:y,columns:K.columns,overlays:ye}):t.default.createElement(Dd,{records:ie,recordId:n,columns:pe,runAction:Oe,sortable:Xe||b,pagination:x,selection:be,selectedKeys:xe,onSelectionChange:be?Ce:void 0,onRowClick:Le,reorderable:w,onReorder:T,activeKey:De,groupBy:E,wrapperClassName:P.Grid.Table.wrapperClassName,className:se.className,heightClassName:se.heightClassName,scrollClassName:se.scrollClassName,headerClassName:se.headerClassName,before:v,after:y})),Te&&J&&(J.kind===`modal`||J.kind===`delete`)&&t.default.createElement(or,{size:(J.kind===`modal`||J.kind===`delete`)&&J.size||P.Grid.Modal.size,position:(J.kind===`modal`||J.kind===`delete`)&&J.position||P.Grid.Modal.position,header:Je,title:Tf(Te.actionKey,J,J.kind===`modal`||J.kind===`delete`?je(Te.actionKey,Te.record):Ae(Te.actionKey,Te.record),F.deleteConfirm,L),onClose:ke,onSave:J.kind===`modal`&&J.footer===void 0&&(Te.actionKey===`add`||Te.actionKey===`edit`)?e=>Ne.save(e):void 0,onDelete:J.kind===`delete`?async()=>{let e=Te.record;if(!e)return!1;let t=A?await A({record:e}):r?`${r}/${Me(e)}`:void 0;if(!t&&!A)return!1;t&&await R.remove(t);let n=await j?.({record:e,action:`delete`})??!0;return n&&ke(),n}:J.kind===`modal`&&J.footer===void 0&&Te.actionKey===`edit`&&Te.record&&we.delete?async()=>(await je(Te.actionKey,Te.record).runAction(`remove`),!1):void 0,footer:Ye,showCancel:J.kind===`modal`||J.kind===`delete`?J.footer===void 0:!0,allowFullscreen:J.kind===`modal`||J.kind===`delete`?J.allowFullscreen:!0,wrapperClassName:P.Grid.Modal.wrapperClassName,className:P.Grid.Modal.className,headerClassName:P.Grid.Modal.headerClassName,titleClassName:P.Grid.Modal.titleClassName,bodyClassName:P.Grid.Modal.bodyClassName,footerClassName:P.Grid.Modal.footerClassName},Ee))}function Df(e){return t.default.createElement(Ef,e)}function Of(e){return`records`in e?t.default.createElement(Df,e):t.default.createElement(md,e)}function kf(){return t.default.createElement(Of,{path:`/users`,recordId:e=>`${e.email??``}`.replace(`@`,`-`),form:t.default.createElement(t.default.Fragment,null,t.default.createElement(Ga,{name:`username`,label:`Username`}),t.default.createElement(qa,{name:`email`,label:`Email`,required:!0,readOnlyAfterSet:!0}),t.default.createElement(xo,{name:`permission`,label:`Permission`,options:[{value:`admin`,label:`Admin`},{value:`user`,label:`User`}],required:!0}))})}var Af=()=>{let e=ct(`common`);return t.default.createElement(`div`,{className:`flex flex-col justify-center items-center vh-100`},t.default.createElement(`h1`,null,`404`),t.default.createElement(`p`,null,e.notFoundMessage),t.default.createElement(n.Link,{to:`/`},t.default.createElement(Q,{name:`house-door`}),` `,e.goHome))},jf=({size:e=28})=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}),t.default.createElement(`line`,{x1:`12`,x2:`12`,y1:`9`,y2:`13`}),t.default.createElement(`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`})),Mf=({open:e})=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{transition:`transform 0.18s`,transform:e?`rotate(180deg)`:`none`,flexShrink:0}},t.default.createElement(`polyline`,{points:`6 9 12 15 18 9`})),Nf=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),t.default.createElement(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})),Pf=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),t.default.createElement(`path`,{d:`M22 2 11 13`})),Ff=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m8 2 1.88 1.88M14.12 3.88 16 2`}),t.default.createElement(`path`,{d:`M9 7.13v-1a3.003 3.003 0 1 1 6 0v1`}),t.default.createElement(`path`,{d:`M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6z`}),t.default.createElement(`path`,{d:`M12 20v-9`}),t.default.createElement(`path`,{d:`M6.53 9C4.6 8.8 3 7.1 3 5`}),t.default.createElement(`path`,{d:`M6 13H2`}),t.default.createElement(`path`,{d:`M3 21c0-2.1 1.7-3.9 3.8-4`}),t.default.createElement(`path`,{d:`M20.97 5c0 2.1-1.6 3.8-3.5 4`}),t.default.createElement(`path`,{d:`M22 13h-4`}),t.default.createElement(`path`,{d:`M17.2 17c2.1.1 3.8 1.9 3.8 4`})),If=(e,t)=>({error:{message:e.message,stack:e.stack??``},componentStack:t?.componentStack??``,context:{url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}),Lf=(e,t)=>{let n=If(e,t);return[`Error: ${n.error.message}`,``,`--- Stack Trace ---`,n.error.stack,``,`--- Component Stack ---`,n.componentStack,``,`--- Context ---`,`URL: ${n.context.url}`,`Timestamp: ${n.context.timestamp}`,`Agent: ${n.context.userAgent}`].join(`
9
+ `?(n+=1,r=1):r+=1;return{line:n,column:r}},Jc=(e,t,n,r,i,a=`Syntax error`)=>{let{line:o,column:s}=qc(e,n);return new Vc(`${a}${i?` near ${i}`:``} at line ${o}, column ${s}.`,{language:t,from:n,to:r,line:o,column:s,nodeName:i})},Yc=e=>{do if(e.type.isError)return{from:e.from,to:e.to,nodeName:e.name};while(e.next());return null},Xc=async(e,t)=>{if(e.trim()){if(t===`liquid`){try{(await Kc()).parse(e)}catch(n){if(n instanceof Vc)throw n;let r=n&&typeof n==`object`&&`token`in n?n.token:void 0,i=r?.begin??0,a=r?.end??i,o=n instanceof Error?n.message.split(`, line:`)[0]:`Invalid Liquid syntax`;throw Jc(e,t,i,a,r?.name,o)}return}try{let n=Yc((await Gc(t)).parse(e).cursor());if(n)throw Jc(e,t,n.from,n.to,n.nodeName)}catch(n){if(n instanceof Vc)throw n;if(t===`json`&&n instanceof Error){let r=n.message.match(/position\s+(\d+)/i),i=r?Number(r[1]):0;throw Jc(e,t,i,i,void 0,`Invalid JSON`)}throw new Vc(`Unable to validate ${t} code.`,{language:t,from:0,to:0,line:1,column:1})}}},Zc=async(e,t)=>{try{return await Xc(e,t),{valid:!0}}catch(e){if(e instanceof Vc)return{valid:!1,error:e};throw e}},Qc=e=>{switch(e){case`html`:return()=>import(`@codemirror/lang-html`).then(e=>e.html());case`liquid`:return()=>import(`@codemirror/lang-liquid`).then(e=>e.liquid());case`json`:return()=>import(`@codemirror/lang-json`).then(e=>e.json());case`js`:return()=>import(`@codemirror/lang-javascript`).then(e=>e.javascript());case`ts`:return()=>import(`@codemirror/lang-javascript`).then(e=>e.javascript({typescript:!0}));case`css`:return()=>import(`@codemirror/lang-css`).then(e=>e.css())}},$c=async e=>{let[t,n,r,i]=await Promise.all([import(`codemirror`),import(`@codemirror/view`),import(`@codemirror/state`),Qc(e)()]);return{basicSetup:t.basicSetup,EditorView:n.EditorView,EditorState:r.EditorState,keymap:n.keymap,language:i,Prec:r.Prec}},el={},tl={},nl=e=>el[e]?Promise.resolve(el[e]):(tl[e]||(tl[e]=$c(e).then(t=>(el[e]=t,t))),tl[e]),rl=(e,t)=>{t.fill?(e.style.height=`100%`,e.style.minHeight=``,e.style.maxHeight=``):(e.style.height=``,e.style.minHeight=`${t.resolvedMinHeight}px`,e.style.maxHeight=t.resolvedMaxHeight?`${t.resolvedMaxHeight}px`:``)},il=(e,t,n)=>lc(e,t,n,{queryPattern:/^[A-Za-z0-9_.-]*$/}),al=(e,t)=>{let n=e.state.doc.toString(),r=e.state.selection.main;if(r.from!==r.to)return null;let i=il(n,r.from,t);return i?{value:n,textBeforeCaret:n.slice(0,r.from),textAfterCaret:n.slice(r.to),trigger:t,query:i.query,triggerRange:{start:i.start,end:i.end},insert:t=>{let n=e.state.selection.main;e.dispatch({changes:{from:n.from,to:n.to,insert:t},selection:{anchor:n.from+t.length}}),e.focus()},replace:(t,n,r)=>{e.dispatch({changes:{from:t,to:n,insert:r},selection:{anchor:t+r.length}}),e.focus()}}:null},ol=({name:e,onChange:n=void 0,defaultValue:r=void 0,className:i=void 0,label:a,language:o=`html`,placeholder:s,minHeight:c,maxHeight:l,required:u,disabled:d,feedback:f,labelClassName:p,validateSyntax:m=!0,validator:h,extensions:g,commands:_,commandsTrigger:v,wrapperClassName:y,inheritWrapperClassName:b=!0,before:x,after:S})=>{let C=(0,t.useId)(),w=Y(`CodeEditor`),T=Oa({minHeight:c,maxHeight:l}),{value:E,handleChange:D,formWrapClass:O}=Nl({name:e,onChange:n,defaultValue:r,wrapperClassName:y,inheritWrapperClassName:b}),k=Ml(e,{required:u,label:a,validator:async e=>{let t=typeof e==`string`?e:`${e??``}`;if(m)try{await Xc(t,o)}catch(e){if(e instanceof Vc)return e.message;throw e}return await h?.(e)}}),A=(0,t.useRef)(null),j=(0,t.useRef)(null),M=(0,t.useRef)(null),[N,P]=(0,t.useState)(!0),[F,I]=(0,t.useState)({open:!1,query:``,anchorPosition:null,editorContext:null}),L=(0,t.useRef)(E??``),R=(0,t.useRef)(F);R.current=F;let z=_?.length?v??`/`:void 0,B=(_?.length??0)>=10,V=t.default.useMemo(()=>new Map((_??[]).map(e=>[e.name,e])),[_]),ee=t.default.useMemo(()=>(_??[]).map(e=>({key:e.name,label:`${z??`/`}${e.name}`,value:e.name,icon:e.icon,description:e.description,group:e.group})),[_,z]),H=t.default.useMemo(()=>{let e=[],n;return ee.forEach(r=>{r.group!==n&&(n=r.group,r.group&&e.push(t.default.createElement(mc.Heading,{key:`group:${r.group}`},r.group))),e.push(t.default.createElement(mc.Item,{key:r.key,label:r.label,value:r.value,icon:r.icon,description:r.description}))}),e},[ee]);(0,t.useEffect)(()=>{j.current||(L.current=E??``)},[E]);let te=(0,t.useCallback)(t=>{L.current=t,D({target:{name:e,value:t}})},[D,e]),U=(0,t.useCallback)(()=>{I({open:!1,query:``,anchorPosition:null,editorContext:null})},[]),ne=(0,t.useCallback)(async(e,t)=>{let n=V.get(e.value);if(n){if(n.handler){let e=await n.handler(dc(t)),r=n.consumeSuffix?cc(t.textAfterCaret,n.consumeSuffix):0;t.replace(t.triggerRange.start,t.triggerRange.end+r,e);return}t.replace(t.triggerRange.start,t.triggerRange.end,`${t.trigger}${n.name} `)}},[V]);(0,t.useEffect)(()=>{let e=!1,t=null;return nl(o).then(n=>{if(e||!A.current)return;let r=n.EditorView.theme({"&":{backgroundColor:`hsl(var(--rf-background))`,height:`100%`},".cm-scroller":{fontFamily:`var(--font-mono, ui-monospace, SFMono-Regular, monospace)`,paddingBottom:`0.5rem`,minHeight:`100%`},".cm-content":{caretColor:`hsl(var(--rf-foreground))`,color:`hsl(var(--rf-foreground))`,paddingBottom:`0.75rem`,minHeight:`100%`},".cm-cursor, .cm-dropCursor":{borderLeftColor:`hsl(var(--rf-primary))`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:`hsl(var(--rf-primary)) !important`},".cm-activeLine":{backgroundColor:`hsl(var(--rf-muted) / 0.6)`},".cm-gutters":{backgroundColor:`hsl(var(--rf-muted))`,color:`hsl(var(--rf-muted-foreground))`,border:`none`},".cm-activeLineGutter":{backgroundColor:`hsl(var(--rf-accent))`},".cm-foldPlaceholder":{backgroundColor:`hsl(var(--rf-muted))`,color:`hsl(var(--rf-muted-foreground))`},".cm-tooltip":{backgroundColor:`hsl(var(--rf-popover))`,border:`1px solid hsl(var(--rf-border))`,color:`hsl(var(--rf-popover-foreground))`},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:`hsl(var(--rf-accent))`,color:`hsl(var(--rf-accent-foreground))`},"&.cm-focused":{outline:`none`},".cm-placeholder":{color:`hsl(var(--rf-muted-foreground))`}}),i=[n.basicSetup,n.language,r,n.EditorView.updateListener.of(e=>{e.docChanged&&te(e.state.doc.toString())}),...g??[]];z&&i.push(n.EditorView.updateListener.of(e=>{let t=e.state.selection.main;if(t.from!==t.to){R.current.open&&U();return}let n=il(e.state.doc.toString(),t.from,z);if(!n){R.current.open&&U();return}let r=e.view.coordsAtPos(t.from),i=al(e.view,z);!r||!i||I({open:!0,query:n.query,anchorPosition:{top:r.bottom,left:r.left},editorContext:i})}),n.Prec.highest(n.keymap.of([{key:`ArrowDown`,run:()=>R.current.open?(M.current?.moveNext(),!0):!1},{key:`ArrowUp`,run:()=>R.current.open?(M.current?.movePrev(),!0):!1},{key:`Enter`,run:()=>R.current.open?(M.current?.selectActive(),!0):!1},{key:`Tab`,run:()=>R.current.open?(M.current?.selectActive(),!0):!1},{key:`Escape`,run:()=>R.current.open?(M.current?.close(),!0):!1}])),n.EditorView.domEventHandlers({keydown:e=>{if(!R.current.open)return!1;switch(e.key){case`ArrowDown`:return e.preventDefault(),M.current?.moveNext(),!0;case`ArrowUp`:return e.preventDefault(),M.current?.movePrev(),!0;case`Enter`:case`Tab`:return e.preventDefault(),M.current?.selectActive(),!0;case`Escape`:return e.preventDefault(),M.current?.close(),!0;default:return!1}}})),d&&i.push(n.EditorView.editable.of(!1));let a=n.EditorState.create({doc:L.current,extensions:i});t=new n.EditorView({state:a,parent:A.current}),rl(t.scrollDOM,T),j.current=t,P(!1)}).catch(t=>{e||(console.error(`[CodeEditor] Failed to load CodeMirror:`,t),P(!1))}),()=>{e=!0,t&&(t.destroy(),j.current=null)}},[U,g,d,o,te,s,z]),(0,t.useEffect)(()=>{let e=E??``,t=j.current;t&&e!==L.current&&(L.current=e,t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}))},[E]),(0,t.useEffect)(()=>{let e=j.current;e&&rl(e.scrollDOM,T)},[T.fill,T.resolvedMinHeight,T.resolvedMaxHeight]);let W=X(`w-full overflow-hidden border border-input`,w.CodeEditor?.className,i,N&&`flex items-center justify-center bg-muted text-muted-foreground text-sm`,k&&`border-destructive`,x?`rounded-l-none`:`rounded-l-md`,S?`rounded-r-none`:`rounded-r-md`),G=t.default.createElement(`div`,{className:X(`min-w-0 flex-1`,T.fill&&`h-full flex flex-col`,W)},N&&t.default.createElement(`div`,{style:{minHeight:T.fill?void 0:T.resolvedMinHeight},className:`flex items-center justify-center`},t.default.createElement(Q,{name:`loader-circle`,size:16,className:`animate-spin text-muted-foreground`})),t.default.createElement(`div`,{ref:A,className:X(N&&`hidden`,T.fill&&`h-full min-h-0 flex-1`)}));return t.default.createElement(Z,{className:X(O,T.fill&&`h-full flex flex-col min-h-0`,w.CodeEditor?.wrapperClassName)},a&&t.default.createElement(oo,{label:a,required:u,htmlFor:C,className:p}),t.default.createElement(`div`,{className:X(x||S?Na:``,T.fill&&`flex-1 min-h-0 flex flex-col`)},x&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-md rounded-r-none border-r-0`)},x),z&&ee.length>0?t.default.createElement(mc,{ref:M,className:X(T.fill&&`flex-1 min-h-0 flex flex-col`),trigger:z,searchable:B,controlled:F.editorContext?{open:F.open,anchorPosition:F.anchorPosition,query:F.query,editorContext:F.editorContext,onClose:U}:void 0,onSelect:(e,t)=>{ne(e,t)}},H,G):G,S&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-none rounded-r-md border-l-0`)},S)),k&&t.default.createElement(Ha,{message:k}),f&&t.default.createElement(`p`,{className:`mt-1 text-xs text-muted-foreground`},f))},sl={string:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ga,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),number:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ka,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),email:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(qa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),password:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ja,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),color:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Ya,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),date:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Xa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),time:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Za,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),datetime:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Qa,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),week:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement($a,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),month:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(eo,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),textarea:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(so,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),checkbox:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(io,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),switch:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(ao,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),select:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(xo,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),autocomplete:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(So,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),checklist:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Co,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),uploadImage:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(ls,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),uploadDocument:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(cs,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),prompt:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(jc,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})}),imageField:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(Vo,{name:n??e.name,label:r??n,...e,...i})}),menu:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue}),render:({name:n,label:r,...i}={})=>t.default.createElement(xo,{key:n,name:n,label:r??n,...e,...i})}),codeEditor:(e={})=>({__props:e,getDefaults:t=>({[t]:e.defaultValue??``}),render:({name:n,label:r,...i}={})=>t.default.createElement(ol,{key:n??e.name,name:n??e.name,label:r??e.label??n,...e,...i})})},$=sl,cl={layout:Da,input:sl,schema:{string:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.string({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),number:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.number({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),min:$.number({label:`Minimo`,defaultValue:e.min}),max:$.number({label:`Massimo`,defaultValue:e.max}),step:$.number({label:`Step`,min:0,defaultValue:e.step}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),email:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.email({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),password:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),color:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.color({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),date:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.date({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),min:$.number({label:`Data minima`,defaultValue:e.min}),max:$.number({label:`Data massima`,defaultValue:e.max}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),time:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.time({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),datetime:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.datetime({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),week:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.week({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),month:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.month({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),textarea:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),defaultValue:$.textarea({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),minHeight:$.number({label:`Altezza minima`,min:0,defaultValue:e.minHeight}),maxHeight:$.number({label:`Altezza massima`,min:0,defaultValue:e.maxHeight}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),checkbox:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),defaultValue:$.switch({label:`Valore default`,defaultValue:e.defaultValue}),title:$.string({label:`Titolo tooltip`,defaultValue:e.title}),valueChecked:$.string({label:`Valore checked`,defaultValue:e.valueChecked?.toString()})}),switch:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),defaultValue:$.switch({label:`Valore default`,defaultValue:e.defaultValue}),title:$.string({label:`Titolo tooltip`,defaultValue:e.title}),valueChecked:$.string({label:`Valore checked`,defaultValue:e.valueChecked?.toString()})}),select:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),defaultValue:$.string({label:`Valore default`,defaultValue:e.defaultValue}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),readOnlyAfterSet:$.switch({label:`Read-only dopo set`,defaultValue:e.readOnlyAfterSet}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),autocomplete:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),placeholder:$.string({label:`Placeholder`,defaultValue:e.placeholder}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),minItems:$.number({label:`Min selezioni`,min:0,defaultValue:e.minItems}),maxItems:$.number({label:`Max selezioni`,min:1,defaultValue:e.maxItems}),creatable:$.switch({label:`Creazione libera`,defaultValue:e.creatable}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),checklist:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),feedback:$.string({label:`Messaggio helper`,defaultValue:e.feedback}),disabled:$.switch({label:`Disabilitato`,defaultValue:e.disabled})}),uploadImage:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),multiple:$.switch({label:`Multiplo`,defaultValue:e.multiple}),editable:$.switch({label:`Modificabile`,defaultValue:e.editable}),max:$.number({label:`Max file`,min:1,defaultValue:e.max}),accept:$.string({label:`Formati accettati`,defaultValue:e.accept}),previewWidth:$.number({label:`Larghezza preview`,min:0,defaultValue:e.previewWidth}),previewHeight:$.number({label:`Altezza preview`,min:0,defaultValue:e.previewHeight})}),uploadDocument:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required}),multiple:$.switch({label:`Multiplo`,defaultValue:e.multiple}),editable:$.switch({label:`Modificabile`,defaultValue:e.editable}),max:$.number({label:`Max file`,min:1,defaultValue:e.max}),accept:$.string({label:`Formati accettati`,defaultValue:e.accept})}),imageField:(e={})=>({label:$.string({label:`Label`,required:!0,defaultValue:e.label}),required:$.switch({label:`Obbligatorio`,defaultValue:e.required})})},block:{},section:{}},ll=class{verifyRequiredMethods(){if(!this.model||typeof this.model!=`object`)throw Error(`[ComponentBlock] Missing property: "model"`);for(let e of[`html`,`form`])if(typeof this[e]!=`function`)throw Error(`[ComponentBlock] Missing method: "${e}()"`)}static default(e){let n=new this;return n.verifyRequiredMethods(),()=>{let[r,i]=t.default.useMemo(()=>pl(n.model),[n.model]);return t.default.createElement(Ll,{defaultValues:i,path:e?.path},n.form(r))}}};function ul(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.render==`function`&&typeof t.getDefaults==`function`}function dl(e){return typeof e==`function`&&e.prototype instanceof ll}function fl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!t.default.isValidElement(e)&&!ul(e)}function pl(e){let t={},n={};function r(e){for(let[t,r]of Object.entries(e))n[t]=r}for(let[n,i]of Object.entries(e))if(ul(i))t[n]=i.render({name:n}),r(i.getDefaults(n));else if(dl(i)){let e=new i,[a,o]=pl(e.model);t[n]=e.form(a),r(o)}else if(Array.isArray(i)){console.warn(`[buildFormFields] ⚠️ The field "${n}" is defined as an array. It has been automatically converted into an object with generated keys (e.g., "${n}_0"). Consider refactoring your model to use an explicit object instead of an array.`);let e={};i.forEach((t,r)=>{let i=`${n}_${r}`;e[i]=t});let[a,o]=pl(e);r(o),t[n]=a}else if(fl(i)){let[e,a]=pl(i);t[n]=e,r(a)}else t[n]=i;return[t,n]}var ml=Symbol(`llmnative.form-controller-store`),hl=()=>({record:void 0,isNewRecord:!0,isDirty:!1,canSave:!1,canDelete:!1,isSaving:!1,isDeleting:!1,saveDisabled:!0,deleteDisabled:!0,hasDraft:!1,draftStatus:null,errors:{},hasErrors:!1}),gl=async()=>!1,_l=()=>void 0;function vl(){let e=hl(),t,n=new Set,r={save:gl,delete:gl,reset:_l,restoreDraft:_l,discardDraft:_l},i=()=>{t={...e,save:r.save,delete:r.delete,reset:r.reset,restoreDraft:r.restoreDraft,discardDraft:r.discardDraft,[ml]:a},n.forEach(e=>e())},a={bindActions(e){let t=!1;e.save&&r.save!==e.save&&(r.save=e.save,t=!0),e.delete&&r.delete!==e.delete&&(r.delete=e.delete,t=!0),e.reset&&r.reset!==e.reset&&(r.reset=e.reset,t=!0),e.restoreDraft&&r.restoreDraft!==e.restoreDraft&&(r.restoreDraft=e.restoreDraft,t=!0),e.discardDraft&&r.discardDraft!==e.discardDraft&&(r.discardDraft=e.discardDraft,t=!0),t&&i()},getControllerSnapshot:()=>t,getState:()=>e,setState(t){let n={...e,...t};Object.keys(n).some(t=>e[t]!==n[t])&&(e=n,i())},subscribe(e){return n.add(e),()=>n.delete(e)}};return t={...e,save:r.save,delete:r.delete,reset:r.reset,restoreDraft:r.restoreDraft,discardDraft:r.discardDraft,[ml]:a},a}function yl(e){return e?.[ml]??vl()}function bl(e){return yl(e)}function xl(e){let t=bl(e);t.setState(hl()),t.bindActions({save:gl,delete:gl,reset:_l,restoreDraft:_l,discardDraft:_l})}var Sl=(0,t.createContext)(null);function Cl(e){let n=(0,t.useRef)(void 0);n.current||=e?yl(e):vl();let r=e?yl(e):n.current;return(0,t.useSyncExternalStore)(r.subscribe,r.getControllerSnapshot,r.getControllerSnapshot)}function wl(){let e=(0,t.useContext)(Sl);if(!e)throw Error(`useFormActions must be used within a FormControllerContext`);return e}var Tl=e=>Array.isArray(e)?[...e]:e&&typeof e==`object`?{...e}:{},El=e=>!Number.isNaN(Number(e)),Dl=(e,t)=>[`number`,`range`].includes(t)?e===``||e==null?``:Number(e):e,Ol=e=>e!==void 0&&El(e)?[]:{},kl=(e,t,n)=>{let r=t.target.name.split(`.`),i=Dl(t.target.value,n),a=Tl(e??{}),o=a;for(let e=0;e<r.length-1;e++){let t=r[e],n=r[e+1],i=o[t];o[t]=typeof i==`object`&&i?Tl(i):Ol(n),o=o[t]}let s=r[r.length-1];return i==null||i===``?Array.isArray(o)&&El(s)?o.splice(Number(s),1):delete o[s]:o[s]=i,a},Al=(0,t.createContext)(null),jl=(0,t.createContext)(null),Ml=(e,n)=>{let r=(0,t.useContext)(jl),i=(0,t.useRef)(n);return i.current=n,(0,t.useEffect)(()=>{if(r)return r.registerField(e,i),()=>r.unregisterField(e)},[e]),r?.errors[e]},Nl=({name:e,onChange:n,wrapperClassName:r,inputType:i=`text`,defaultValue:a,inheritWrapperClassName:o=!0})=>{let s=(0,t.useContext)(Al);if(!s)throw Error(`useFormContext must be used within a FormContext.Provider`);if(!e)throw Error(`useFormContext: name is required`);let c=(0,t.useContext)(jl);return{value:(0,t.useMemo)(()=>{let t=e.split(`.`).reduce((e,t)=>{if(e!=null){if(Array.isArray(e)){let n=Number(t);return isNaN(n)?void 0:e[n]}if(typeof e==`object`)return e[t]}},s.record);return t===void 0&&a!==void 0?a??``:t??``},[e,s.record,a]),handleChange:(0,t.useCallback)(t=>{c?.clearFieldError(t.target.name);let r;s.setRecord(e=>(r=kl(e,t,i),r)),n?.({event:t,name:e,value:t.target.value,record:r??{},onChange:e=>{s.setRecord(t=>kl(t,e,i))}})},[c,s.setRecord,n,e,i]),formWrapClass:[r,o?s.wrapperClassName:void 0].filter(Boolean).join(` `),record:s.record??{}}},Pl=({name:e,value:n,handleChange:r})=>t.default.useCallback(t=>{t.preventDefault();let i=t.target,a=`${t.dataTransfer.getData(`text/plain`)}`;i.focus();let o=(()=>{let e=document.caretPositionFromPoint?.(t.clientX,t.clientY)??document.caretRangeFromPoint?.(t.clientX,t.clientY);return e&&`offset`in e?e.offset??i.value.length:i.value.length})(),s=String(n??``),c=s.slice(0,o)+a+s.slice(o);r?.({target:{value:c.trim(),name:e}}),requestAnimationFrame(()=>{let e=o+a.length;i.setSelectionRange(e,e)})},[e,n,r]);function Fl(e,t){if(e.indexOf(`.`)===-1||t.indexOf(`.`)===-1)return`${t}.${e}`;let n=Math.min(e.length,t.length),r=0;for(;r<n&&e.charCodeAt(r)===t.charCodeAt(r);)r++;let i=e.lastIndexOf(`.`,r-1);return i===-1?`${t}.${e}`:`${t}.${e.slice(i+1)}`}var Il=({children:e,parentName:n,parentKey:r,wrapperClassName:i})=>t.default.Children.map(e,e=>{if(!n||!t.default.isValidElement(e))return e;let{name:a,children:o}=e.props,s={};return a&&(s.name=Fl(a,n),s.key=r??s.name,s.wrapperClassName=e.props.wrapperClassName??i,e.props.before&&t.default.isValidElement(e.props.before)&&(s.before=Il({children:e.props.before,parentName:n,parentKey:`${s.key}.before`})),e.props.after&&t.default.isValidElement(e.props.after)&&(s.after=Il({children:e.props.after,parentName:n,parentKey:`${s.key}.after`}))),o&&typeof o!=`function`&&(s.children=Il({children:o,parentName:n,parentKey:r,wrapperClassName:i})),t.default.cloneElement(e,s)});function Ll(e){let r=(0,n.useLocation)(),{path:i,keyGenerator:a,defaultValues:o,children:s,...c}=e,l=(e=>e??(r.hash?`${M(r.pathname)}/${r.hash.slice(1)}`:void 0))(i);return o||!l||a?t.default.createElement(Vl,{children:s,defaultValues:o,path:i,keyGenerator:a,...c}):t.default.createElement(Rl,{children:s,defaultValues:o,path:l,keyGenerator:a,...c})}var Rl=e=>{let{path:n,defaultValues:r,...i}=e,a=$n(),[o,s]=(0,t.useState)(void 0);return(0,t.useEffect)(()=>{a.read(n).then(e=>{s({...r,...e})}).catch(e=>{console.error(e),s({})})},[a,n,r]),o?t.default.createElement(Vl,{...i,defaultValues:o,path:n}):t.default.createElement(`p`,{className:`p-4`},t.default.createElement(`span`,{className:`mr-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),`Loading...`)},zl=e=>JSON.stringify(ue(e??{})),Bl=e=>{if(e)try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{return}},Vl=({children:e,appearance:r=void 0,controller:i=void 0,header:a=void 0,footer:o=void 0,path:c=void 0,defaultValues:l=void 0,keyGenerator:u=void 0,onLoad:d=void 0,onRecordChange:f=void 0,onSave:p=void 0,onDelete:m=void 0,onComplete:h=void 0,log:g=!1,showNotice:_=!0,draftBucket:v=void 0,noticeAnchorRef:y=void 0,showBack:b=!1,wrapperClassName:x=void 0,headerClassName:S=void 0,className:C=void 0,footerClassName:w=void 0,formClassName:T=void 0})=>{let E=(0,n.useLocation)(),D=Y(`form`),O=ct(`form`),k=$n(),A=Cl(i),j=bl(A),[P,F]=(0,t.useState)(l),[I,L]=(0,t.useState)(!1),[R,z]=(0,t.useState)(!1),B=!l?.[pi],V=(0,t.useRef)(re(l??{})),[ee,H]=(0,t.useState)(()=>zl(l)),[te,U]=(0,t.useState)(null),ne=(0,t.useRef)({isDirty:!1}),W=(0,t.useMemo)(()=>{if(!v)return;let e=N(v),t=N(c||`${E.pathname}${E.hash||``}`);return e&&t?`llmnative.form-draft.${e}.${t}`:void 0},[v,E.pathname,E.hash,c]),G=!!(p||c||!B),ie=!!(m||!B),ae=(0,t.useMemo)(()=>zl(P)!==ee,[P,ee]),oe=O.noChangesToSave??`No changes to save`,se=O.draftRestoreTitle??`Unsaved changes found`,K=O.draftRestoreMessage??`A local draft is available for this form. Restore it or discard it.`,ce=O.draftRestoreAction??`Restore`,q=O.draftDiscardAction??`Discard`,le=O.draftRestoredTitle??`Draft restored`,de=O.draftRestoredMessage??`The local draft has been restored. You can still discard it for a few seconds.`,fe=(0,t.useCallback)(()=>{!W||typeof localStorage>`u`||localStorage.removeItem(W)},[W]),pe=(0,t.useCallback)(()=>{if(!(!W||typeof localStorage>`u`))return Bl(localStorage.getItem(W))},[W]),me=(0,t.useCallback)(()=>{F(re(V.current))},[]),[he,ge]=(0,t.useState)(void 0),_e=(0,t.useCallback)(({message:e,type:t=`danger`})=>{_&&ge({type:t,message:e})},[_]),[ve,ye]=(0,t.useState)({}),be=(0,t.useRef)({}),xe=(0,t.useRef)(null),Se=(0,t.useRef)(P),Ce=(0,t.useRef)(l),we=(0,t.useRef)(p),Te=(0,t.useRef)(m),J=(0,t.useRef)(h),Ee=(0,t.useRef)(c),De=(0,t.useRef)(g),Oe=(0,t.useCallback)(()=>{fe(),me(),U(null)},[fe,me]),ke=(0,t.useCallback)(()=>{let e=pe();if(!e){U(null);return}F(re(e)),U(`restored`)},[pe]),Ae=(0,t.useCallback)(()=>{ye({}),ge(void 0),U(null),me()},[me]),je=(0,t.useCallback)((e,t)=>{be.current[e]=t},[]),Me=(0,t.useCallback)(e=>{delete be.current[e]},[]),Ne=(0,t.useCallback)(e=>{ye(t=>{if(!t[e])return t;let{[e]:n,...r}=t;return r})},[]),Pe=(0,t.useCallback)(async()=>{let e={};for(let[t,n]of Object.entries(be.current)){let{required:r,label:i,validator:a}=n.current,o=t.split(`.`).reduce((e,t)=>{if(e!=null){if(Array.isArray(e))return e[Number(t)];if(typeof e==`object`)return e[t]}},Se.current);if(r&&(o==null||typeof o==`string`&&o.trim()===``||Array.isArray(o)&&o.length===0)){e[t]=i?et(O.requiredField,{field:i}):O.requiredFieldGeneric;continue}if(a){let n=await a(o);n&&(e[t]=n)}}if(ye(e),Object.keys(e).length>0){let t=Object.keys(e)[0];requestAnimationFrame(()=>{xe.current?.querySelector(`[name="${CSS.escape(t)}"]`)?.focus()})}return Object.keys(e).length===0},[O]),Fe=(0,t.useCallback)(e=>{if(!c)return;let t=M(c);if(B)return t.split(`/`).filter(Boolean).length%2==0&&!u?`/${t}`:`/${t}/${u?.(e)??Date.now().toString()}`;let n=e[pi];if(!n)return c;let r=t.split(`/`).filter(Boolean);return`/${r[r.length-1]===n?r.slice(0,-1).join(`/`):t}/${n}`},[c,u,B]),Ie=(0,t.useCallback)(async e=>{if(De.current&&Ee.current&&k){let t=new Date().toISOString(),n=Tn(`user`);k.set(`/log/${Ee.current}/${N(t)}`,{user:n?.email??`unknown`,when:t,action:e,record:Se.current})}return _e({message:e===`delete`?O.deleteSuccess:O.saveSuccess,type:`success`}),await J.current?.({record:Se.current,action:e})??!0},[k,_e,O]),Le=(0,t.useCallback)(async e=>{if(e?.preventDefault?.(),!ae)return _&&ge({message:oe,type:`info`}),!1;if((0,s.flushSync)(()=>{ye({}),_&&ge(void 0)}),!await Pe())return _&&ge({message:O.noticeRequiredFields,type:`warning`}),!1;let t=B?`create`:`update`;L(!0);try{let e=(we.current&&await we.current({record:Se.current,prevRecord:Ce.current,action:t,storagePath:Ee.current}))??Fe(Se.current??{});return e&&await k.set(e,ue(Se.current)),V.current=re(Se.current??{}),H(zl(Se.current)),fe(),U(null),await Ie(t)}finally{L(!1)}},[fe,Fe,k,O.noticeRequiredFields,Ie,ae,B,oe,_,Pe]),Re=(0,t.useCallback)(async e=>{e?.preventDefault?.(),_&&ge(void 0),z(!0);try{let e=(Te.current&&await Te.current({record:Se.current}))??Fe(Se.current??{});return e&&await k.remove(e),fe(),U(null),await Ie(`delete`)}finally{z(!1)}},[fe,Fe,k,Ie,_]);(0,t.useEffect)(()=>{let e=re(l??{});if(l&&(F(e),d?.(re(e))),V.current=e,H(zl(e)),!v){U(null);return}let t=pe();if(t&&zl(t)!==zl(e)){U(`restore`);return}U(null)},[JSON.stringify(l),v,d,pe]),(0,t.useEffect)(()=>{Se.current=P,P!==void 0&&f?.(P)},[P,f]),(0,t.useEffect)(()=>{Ce.current=l,we.current=p,Te.current=m,J.current=h,Ee.current=c,De.current=g},[l,g,h,m,p,c]),(0,t.useEffect)(()=>{if(!W||typeof localStorage>`u`||P===void 0)return;if(!ae){let e=pe();if(e&&zl(e)!==ee)return;localStorage.removeItem(W);return}let e=window.setTimeout(()=>{localStorage.setItem(W,JSON.stringify(ue(P)))},150);return()=>window.clearTimeout(e)},[ee,W,ae,pe,P]),(0,t.useEffect)(()=>{ne.current={storageKey:W,record:P,isDirty:ae}},[W,ae,P]),(0,t.useEffect)(()=>()=>{let{storageKey:e,record:t,isDirty:n}=ne.current;!e||!n||!t||typeof localStorage>`u`||localStorage.setItem(e,JSON.stringify(ue(t)))},[]),(0,t.useEffect)(()=>{j.bindActions({save:Le,delete:Re,reset:Ae,restoreDraft:ke,discardDraft:Oe})},[j,Oe,Re,Le,Ae,ke]),(0,t.useEffect)(()=>{j.setState({record:Se.current,isNewRecord:B,isDirty:ae,canSave:G,canDelete:ie,isSaving:I,isDeleting:R,saveDisabled:!G||!ae||I,deleteDisabled:!ie||R,hasDraft:te!==null,draftStatus:te,errors:ve,hasErrors:Object.keys(ve).length>0})},[ie,G,j,te,ve,R,ae,B,I,P]),(0,t.useEffect)(()=>()=>xl(A),[j]);let ze=(0,t.useCallback)(e=>{e.defaultPrevented||!((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`)||A.saveDisabled||(e.preventDefault(),A.save())},[A]),Be=(0,t.useMemo)(()=>({registerField:je,unregisterField:Me,clearFieldError:Ne,errors:ve}),[je,Me,Ne,ve]),Ve=(0,t.useMemo)(()=>({record:P,setRecord:F,wrapperClassName:`mb-3`}),[P,F]),He=(0,t.useMemo)(()=>t.default.createElement(Sl.Provider,{value:A},t.default.createElement(Al.Provider,{value:Ve},t.default.createElement(jl.Provider,{value:Be},typeof e==`function`?e({record:P}):e))),[e,A,Ve,P,Be]),Ue=(0,t.useMemo)(()=>he?t.default.createElement(la,{variant:he.type,appearance:y?`default`:`text`,placement:y?`sticky`:`inline`,anchorRef:y,timeout:he.type===`success`?3e3:void 0,onClose:he.type===`success`?()=>ge(void 0):void 0},he.message):null,[he,y]),We=(0,t.useMemo)(()=>{if(!te)return null;let e=te===`restore`?se:le,n=te===`restore`?K:de;return t.default.createElement(la,{variant:te===`restore`?`warning`:`info`,timeout:te===`restored`?6e3:void 0,onClose:te===`restored`?()=>U(null):void 0},t.default.createElement(`div`,{className:`flex items-start justify-between gap-3`},t.default.createElement(`div`,{className:`min-w-0`},t.default.createElement(`div`,{className:`font-medium`},e),t.default.createElement(`div`,{className:`text-sm opacity-90`},n)),t.default.createElement(`div`,{className:`flex shrink-0 items-center gap-2`},te===`restore`?t.default.createElement(t.default.Fragment,null,t.default.createElement(gn,{label:ce,variant:`warning`,onClick:()=>ke()}),t.default.createElement(gn,{label:q,variant:`outline-secondary`,onClick:()=>Oe()})):t.default.createElement(gn,{label:q,variant:`outline-secondary`,onClick:()=>Oe()}))))},[Oe,q,te,ce,K,se,de,le,ke]),Ge=(0,t.useMemo)(()=>{switch(r){case`empty`:return t.default.createElement(t.default.Fragment,null,We,He,Ue);default:return t.default.createElement(ar,{header:a||t.default.createElement(Or,{rootItem:B?O.headerAdd:O.headerEdit,trail:c||void 0}),footer:(o||!B||p||m||b||!!c)&&t.default.createElement(t.default.Fragment,null,o,Ue,(p||!!c||!B)&&t.default.createElement(hn,{className:X(D.Form.buttonSaveClass,A.saveDisabled&&`cursor-not-allowed opacity-50`),label:O.buttonSave,title:A.saveDisabled&&!ae?oe:void 0,disabled:A.saveDisabled,loading:A.isSaving,onClick:e=>A.save(e)}),(m||!B)&&t.default.createElement(hn,{className:D.Form.buttonDeleteClass,label:O.buttonDelete,disabled:A.deleteDisabled,loading:A.isDeleting,onClick:e=>A.delete(e)}),b&&t.default.createElement(_n,{className:D.Form.buttonBackClass,label:O.buttonBack})),headerClassName:S||D.Form.Card.headerClassName,bodyClassName:C||D.Form.Card.bodyClassName,footerClassName:w||D.Form.Card.footerClassName},t.default.createElement(t.default.Fragment,null,We,He))}},[r,C,He,O.buttonBack,O.buttonDelete,O.buttonSave,O.headerAdd,O.headerEdit,We,o,w,A,a,S,ae,B,oe,Ue,m,p,c,b,D.Form.buttonDeleteClass,D.Form.buttonSaveClass,D.Form.buttonBackClass,D.Form.Card.bodyClassName,D.Form.Card.footerClassName,D.Form.Card.headerClassName]);return t.default.createElement(Z,{className:x||D.Form.wrapperClassName},t.default.createElement(`form`,{ref:xe,className:T,noValidate:!0,onSubmit:e=>e.preventDefault(),onKeyDownCapture:ze,onKeyDown:ze},Ge))},Hl=`rounded-xl border border-border/60 bg-card/80 shadow-sm`,Ul=`flex items-center justify-between gap-3 border-b border-border/50 px-3 py-2`,Wl=`text-xs font-medium uppercase tracking-[0.14em] text-muted-foreground`,Gl=`px-3 py-3`,Kl=`h-7 w-7 rounded-md bg-transparent p-0 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,ql=({name:e,children:n,onChange:r,onAdd:i,onRemove:a,className:o,layout:s=`horizontal`,minItems:c=void 0,maxItems:l=void 0,label:u=void 0,labelPosition:d=`top`,hideRemoveButton:f=!1,readOnly:p=!1})=>{let{value:m,handleChange:h}=Nl({name:e,onChange:r}),g=Array.isArray(m)?m:[],_=(t,r)=>Il({children:typeof n==`function`?n({record:g[t],records:g,index:t,remove:()=>x(t)}):n,parentName:`${e}.${t}`,wrapperClassName:r}),v=(e,n)=>{switch(s){case`horizontal`:return t.default.createElement(`div`,{className:Hl},t.default.createElement(`div`,{className:Ul},t.default.createElement(`span`,{className:Wl},`#`,e+1),n&&!f?t.default.createElement(gn,{className:Kl,icon:`x`,onClick:()=>x(e)}):t.default.createElement(`span`,{className:`h-7 w-7`,"aria-hidden":`true`})),t.default.createElement(`div`,{className:Gl},_(e)));case`vertical`:return t.default.createElement(t.default.Fragment,null);case`inline`:return t.default.createElement(`div`,{className:X(Hl,`px-3 py-2`)},t.default.createElement(`div`,{className:`flex items-start gap-2`},t.default.createElement(`div`,{className:`flex-1 min-w-0`},_(e,`!mb-0`)),n&&!f&&t.default.createElement(gn,{className:X(Kl,`mt-1 shrink-0`),icon:`x`,onClick:()=>x(e)})))}},y=(g.length>0?g:Array.from({length:c||0},()=>({})))?.map((n,r)=>{let i=!p&&r>=(c||0);return t.default.createElement(t.default.Fragment,{key:`${e}-${r}`},v(r,i))}),b=()=>{let t=g.length>0?[...g,{}]:Array.from({length:y.length+1},()=>({}));i?.(t),h({target:{name:`${e}.${t.length-1}`,value:{}}})},x=t=>{a?.(t),h({target:{name:`${e}.${t}`}})},S=(0,t.useMemo)(()=>p?null:!l||y.length<l?u&&d===`bottom`?t.default.createElement(gn,{icon:`plus`,label:u,variant:`link`,className:`w-full justify-start gap-1 rounded-lg border border-dashed border-border/60 px-3 py-2 text-sm text-muted-foreground hover:border-border hover:bg-muted/40 hover:text-foreground`,onClick:b}):t.default.createElement(gn,{icon:`plus`,label:u?void 0:`Add`,variant:u?`link`:`secondary`,className:u?`h-8 w-8 rounded-lg p-0 text-muted-foreground hover:bg-muted/50 hover:text-foreground`:void 0,onClick:b}):null,[p,l,y.length,u,d]);return t.default.createElement(`div`,{className:X(`space-y-3`,o)},u&&d===`top`&&t.default.createElement(`div`,{className:`flex items-center justify-between gap-3`},t.default.createElement(`span`,{className:`text-sm font-medium text-foreground`},u),S),y,!u&&S,u&&d===`bottom`&&S)},Jl={default:{shellClassName:`space-y-4`,menuClassName:`flex flex-wrap items-end gap-2 border-b border-border/70`,contentClassName:`min-w-0`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-t-lg border-b-2 px-3 py-2 text-sm font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`border-primary text-foreground`,inactiveTriggerClassName:`border-transparent text-muted-foreground hover:text-foreground hover:border-border/80`},top:{shellClassName:`space-y-4`,menuClassName:`inline-flex max-w-full flex-wrap gap-2 rounded-xl bg-muted/50 p-1.5`,contentClassName:`min-w-0`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-lg px-3 py-2 text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-card text-foreground shadow-sm ring-1 ring-border/60`,inactiveTriggerClassName:`text-muted-foreground hover:bg-background/80 hover:text-foreground`},left:{shellClassName:`flex h-full min-h-0 flex-col gap-5 md:flex-row md:items-start`,menuClassName:`flex shrink-0 gap-2 overflow-x-auto md:w-64 md:flex-col md:overflow-visible`,contentClassName:`min-h-0 min-w-0 flex-1 overflow-hidden rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm`,itemClassName:`shrink-0 md:w-full`,triggerClassName:`inline-flex w-full items-center justify-between rounded-xl px-3 py-2.5 text-left text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-primary/10 text-primary shadow-sm ring-1 ring-primary/15`,inactiveTriggerClassName:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`},right:{shellClassName:`flex h-full min-h-0 flex-col gap-5 md:flex-row md:items-start`,menuClassName:`order-1 flex shrink-0 gap-2 overflow-x-auto md:order-2 md:w-64 md:flex-col md:overflow-visible`,contentClassName:`order-2 min-h-0 min-w-0 flex-1 overflow-hidden rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm md:order-1`,itemClassName:`shrink-0 md:w-full`,triggerClassName:`inline-flex w-full items-center justify-between rounded-xl px-3 py-2.5 text-left text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-primary/10 text-primary shadow-sm ring-1 ring-primary/15`,inactiveTriggerClassName:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`},bottom:{shellClassName:`space-y-4`,menuClassName:`flex flex-wrap gap-2 rounded-xl bg-muted/50 p-1.5`,contentClassName:`min-w-0 rounded-2xl border border-border/60 bg-card p-4 shadow-sm`,itemClassName:`shrink-0`,triggerClassName:`inline-flex items-center rounded-lg px-3 py-2 text-sm font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,activeTriggerClassName:`bg-card text-foreground shadow-sm ring-1 ring-border/60`,inactiveTriggerClassName:`text-muted-foreground hover:bg-background/80 hover:text-foreground`}};function Yl(e){return Jl[e]}function Xl(e,t,n){let r=Yl(e),i=Y(`tab`);return X(`cursor-pointer`,r.triggerClassName,i.Tab.triggerClassName,t?r.activeTriggerClassName:r.inactiveTriggerClassName,t?i.Tab.activeTriggerClassName:i.Tab.inactiveTriggerClassName,n)}function Zl(e){return X(`min-h-0 min-w-0 h-full overflow-x-hidden overflow-y-auto`,Y(`tab`).Tab.contentClassName,e)}var Ql={default:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`default`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},top:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`top`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},left:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`left`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`vertical`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},right:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`right`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`vertical`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e),t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n))},bottom:({menu:e,content:n,menuClassName:r,contentClassName:i})=>{let a=Yl(`bottom`),o=Y(`tab`);return t.default.createElement(`div`,{className:a.shellClassName},t.default.createElement(`div`,{className:X(a.contentClassName,o.Tab.contentClassName,i)},n),t.default.createElement(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:X(a.menuClassName,o.Tab.menuClassName,r)},e))}},$l=()=>null,eu=({children:e,motion:n})=>{let r=Y(`tab`),i=Ft(void 0,n??r.Tab.motion?.enter??`fadeUp`,r.Tab.motion?.enter??`fadeUp`);return t.default.createElement(`div`,{style:i,className:Zl()},e)},tu=({children:e,defaultIndex:n=0,onChange:r,layout:i=`default`,menuClassName:a=void 0,contentClassName:o=void 0,before:s=void 0,after:c=void 0,wrapperClassName:l=void 0,className:u=void 0,motion:d=void 0})=>{let[f,p]=(0,t.useState)(n),m=e=>{p(e),r?.(e)},h=t.Children.toArray(e).filter(e=>t.default.isValidElement(e)&&e.type===$l),g=(0,t.useMemo)(()=>Yl(i),[i]),_=Ql[i],v=Y(`tab`);return t.default.createElement(Z,{className:X(v.Tab.wrapperClassName,l)},s,t.default.createElement(`div`,{className:X(`min-w-0`,v.Tab.className,u)},t.default.createElement(_,{menuClassName:a,contentClassName:o,menu:h.map((e,n)=>t.default.createElement(`div`,{key:n,className:X(g.itemClassName,v.Tab.itemClassName)},t.default.createElement(`button`,{type:`button`,role:`tab`,"aria-selected":n===f,onClick:()=>m(n),className:Xl(i,n===f)},e.props.label))),content:t.default.createElement(eu,{key:f,motion:d},h[f]?.props?.children)})),c)};function nu({records:e,selectedKeys:n,onSelectionChange:r,getRecordKey:i}){let a=n,o=a!==void 0&&!!r,[s,c]=(0,t.useState)(a??[]);(0,t.useEffect)(()=>{a!==void 0&&!o&&c(a)},[a,o]);let l=o?a||[]:s,u=!!r||a!==void 0,d=(0,t.useCallback)(t=>{let n=new Set(t);return{keys:t,records:e.filter((e,t)=>n.has(i(e,t))),hasSelection:t.length>0}},[i,e]),f=(0,t.useCallback)(e=>{o||c(e);let t=d(e);r?.({...t,clear:()=>f([])})},[d,o,r]),p=(0,t.useCallback)(()=>{f([])},[f]);return{activeSelectedKeys:l,selectionState:(0,t.useMemo)(()=>({...d(l),clear:p}),[l,d,p]),showSelection:u,updateSelection:f}}function ru(e,n){let r=(0,t.useRef)(new WeakMap),i=(0,t.useRef)(0);return(0,t.useCallback)((t,a)=>{if(n!=null){let e=typeof n==`function`?n(t):t[n];if(e!=null&&e!==``)return String(e)}if(t._key)return t[pi];let o=t,s=r.current.get(o);if(s)return s;let c=`${e}-${i.current++}`;return r.current.set(o,c),c},[e,n])}function iu({columns:e=void 0,records:n=void 0,footer:r=void 0,onRowClick:i=void 0,onReorder:o=void 0,onSelectionChange:s=void 0,selection:c=`multiple`,sortable:l=!1,pagination:u=void 0,activeKey:d=void 0,selectedKeys:f=void 0,groupBy:p=void 0,recordId:m=void 0,before:h=void 0,after:g=void 0,wrapperClassName:_=void 0,className:v=void 0,headerClassName:y=void 0,bodyClassName:b=void 0,footerClassName:x=void 0,heightClassName:S=void 0,scrollClassName:C=void 0,selectedClassName:w=void 0,renderCell:T=void 0}){let E=Y(`table`),D=ct(`table`),O=w||E.Table.selectedClassName,[k,A]=(0,t.useState)(n||[]),j=(0,t.useMemo)(()=>{if(!(!l||typeof l==`boolean`))return l},[typeof l==`object`?l?.dir:void 0,typeof l==`object`?l?.field:void 0]),M=l!==!1,[N,P]=(0,t.useState)(j),[F,I]=(0,t.useState)(null),[L,R]=(0,t.useState)(null),[z,B]=(0,t.useState)(null),[V,ee]=(0,t.useState)(null),[H,te]=(0,t.useState)(null),U=(0,t.useRef)(!1),ne=(0,t.useCallback)(e=>{e&&I(e)},[]),W=(0,t.useId)(),G=!!o,re=M||!!po.normalize(j),ie=G&&re,ae=!ie&&M,oe=ie?void 0:j;(0,t.useEffect)(()=>{A(n||[])},[n]),(0,t.useEffect)(()=>{P(oe)},[oe?.field,oe?.dir]),(0,t.useEffect)(()=>{!ie||U.current||(console.warn("Table: `onReorder` cannot be combined with sortable sorting on the same view. Manual reorder takes precedence and sorting is ignored."),U.current=!0)},[ie]);let se=ru(`row`,m),K=(0,t.useCallback)((e,t)=>se(e,t),[se]),{activeSelectedKeys:ce,selectionState:q,showSelection:le,updateSelection:ue}=nu({records:k,selectedKeys:f,onSelectionChange:s,getRecordKey:K});(0,t.useEffect)(()=>{H&&(k.some((e,t)=>K(e,t)===H)||te(null))},[H,K,k]),(0,t.useEffect)(()=>{if(N||!e?.length||G)return;let t=e.find(e=>ae&&e.sort!==!1);t&&P({field:t.key,dir:`asc`})},[N,ae,e,G]);let de=(0,t.useMemo)(()=>po.records(k,N)||[],[k,N]),fe=(e,t,n)=>{let r=e.target;for(;r&&r.tagName!==`TR`;){if([`A`,`BUTTON`,`INPUT`,`LABEL`].includes(r.tagName))return;r=r.parentNode}let a=K(t,n);O&&d===void 0&&te(e=>e===a?null:a),i?.(t)},pe=(e,n,r)=>{if(T)return T(e,n,r);let i=e[n],a=typeof i==`object`&&i&&!Array.isArray(i)?i:null,o=a?.prompt&&a?.value||i;return t.default.isValidElement(o)||typeof o!=`object`||!o?o:Array.isArray(o)&&!o.some(e=>typeof e==`object`&&e)?o.join(`, `):``},me=(0,t.useCallback)((e,t)=>{let n=K(e,t),r=ce.includes(n)?ce.filter(e=>e!==n):[...ce,n];ue(r)},[ce,K,ue]),he=(0,t.useCallback)((e,t)=>{let n=K(e,t);ue(ce.includes(n)?[]:[n])},[ce,K,ue]),ge=(0,t.useCallback)((e,t)=>{if(!L)return;let n=de.findIndex((e,t)=>K(e,t)===L),r=de.findIndex((n,r)=>K(n,r)===K(e,t));B(null),R(null);let i=V?.position||`after`;if(ee(null),n<0||r<0||n===r)return;let a=[...de],[s]=a.splice(n,1),c=n<r?r+(i===`after`?0:-1):r+ +(i===`after`);a.splice(c,0,s),P(void 0),A(a),o?.(a,{fromIndex:n,toIndex:c,record:s})},[L,V?.position,K,o,de]);if(de.length===0)return t.default.createElement(`p`,{className:`p-4`},D.noDataFound);let _e=e||Object.keys(de[0]).map(e=>({key:e,label:e,sort:M})),ve=[`w-full`,E.Table.scrollClassName,S?`${S} overflow-auto`:``,C||``].filter(Boolean).join(` `),ye=!!S,be=_e.length+ +!!le+ +!!G,xe=ye?`sticky top-0 z-10 bg-card`:``,Se=(e,n,r,i)=>!V||V.key!==e||V.position!==n?null:t.default.createElement(`tr`,{"aria-hidden":`true`,onDragOver:t=>{G&&(t.preventDefault(),z!==e&&B(e),ee({key:e,position:n}))},onDrop:t=>{G&&(t.preventDefault(),ee({key:e,position:n}),ge(r,i))}},t.default.createElement(`td`,{colSpan:be,className:`border-0 p-0`},t.default.createElement(`div`,{className:`relative h-5 cursor-grab`},t.default.createElement(`div`,{className:`absolute inset-x-2 top-1/2 -translate-y-1/2`},t.default.createElement(`div`,{className:`h-0 rounded-full border-t-2 border-primary/80`}),t.default.createElement(`div`,{className:`absolute left-0 top-1/2 h-2 w-2 -translate-y-1/2 rounded-full bg-primary shadow-sm`}))))),Ce=t.default.createElement(`tr`,null,le&&t.default.createElement(`th`,{className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}},c===`single`?t.default.createElement(`div`,{className:`th-inner py-1`}):t.default.createElement(`div`,{className:`th-inner py-1`},t.default.createElement(`input`,{type:`checkbox`,"aria-label":D.selectAllRows,checked:q.records.length>0&&q.records.length===k.length,onChange:e=>{let t=e.target.checked?de.map((e,t)=>K(e,t)):[];ue(t)}}))),G&&t.default.createElement(`th`,{className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`div`,{className:`th-inner py-1`})),_e.map(e=>e.label?(()=>{let n=ae&&e.sort!==!1,r=n&&N?.field===e.key,i=r?N?.dir===`desc`?`descending`:`ascending`:`none`;return t.default.createElement(`th`,{key:e.key,className:[`px-3 py-2 font-semibold text-muted-foreground`,xe,e.className||``].filter(Boolean).join(` `),"aria-sort":i},n?t.default.createElement(`button`,{type:`button`,className:`th-inner group inline-flex w-full cursor-pointer items-center gap-2 rounded-sm border-0 bg-transparent px-0 py-1 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 `+(r?`font-semibold text-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>P(t=>po.toggle(t,e.key)),"aria-label":r?et(D.sortByCurrent,{label:e.label,direction:N?.dir===`desc`?`descending`:`ascending`}):et(D.sortBy,{label:e.label}),title:r?`${e.label}: ${N?.dir===`desc`?`descending`:`ascending`}`:et(D.sortBy,{label:e.label})},t.default.createElement(`span`,{className:`inline-flex h-4 w-4 flex-none items-center justify-center transition-colors `+(r?`text-primary`:`text-muted-foreground/70 group-hover:text-foreground/80`),"aria-hidden":`true`},r?N?.dir===`desc`?t.default.createElement(a.ArrowDown,{size:14}):t.default.createElement(a.ArrowUp,{size:14}):t.default.createElement(a.ArrowUpDown,{size:14})),t.default.createElement(`span`,null,e.label)):t.default.createElement(`div`,{className:`th-inner py-1`},e.label))})():t.default.createElement(`th`,{key:e.key,className:[`px-3 py-2 font-semibold text-muted-foreground`,xe].filter(Boolean).join(` `),style:{width:`1%`,whiteSpace:`nowrap`}}))),we=t.default.createElement(vf,{records:de,appendTo:F,wrapperClassName:`px-3 pt-4 pb-2`,...u||{}},(e,n)=>{let r=p?Array.isArray(p)?p:[p]:null,o;return e.map((e,s)=>{let l=n+s,u=K(e,l),f=r?r.map(t=>String(e[t]??``)).join(` · `):void 0,p=f!==void 0&&f!==o;o=f;let m=ce.includes(u),h=z===u,g=L===u,_=O&&(d===void 0?H:d)===u;return t.default.createElement(t.default.Fragment,{key:u},p&&t.default.createElement(`tr`,{"aria-hidden":`true`},t.default.createElement(`td`,{colSpan:be,className:`bg-muted/40 px-3 py-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground`},f)),Se(u,`before`,e,l),t.default.createElement(`tr`,{draggable:G,className:[`odd:bg-muted/30 hover:bg-muted/20 transition-colors`,h?`bg-muted/30`:``,_?O:``].filter(Boolean).join(` `)||void 0,style:{cursor:i?`pointer`:G?`grab`:`default`,opacity:g?.45:1},onClick:t=>{i&&fe(t,e,l)},onDragStart:()=>{R(u)},onDragOver:e=>{if(!G)return;e.preventDefault();let t=e.currentTarget.getBoundingClientRect(),n=e.clientY<t.top+t.height/2?`before`:`after`;z!==u&&B(u),L!==u&&ee(e=>e?.key===u&&e.position===n?e:{key:u,position:n})},onDragLeave:()=>{z===u&&B(null)},onDragEnd:()=>{R(null),B(null),ee(null)},onDrop:t=>{G&&(t.preventDefault(),ge(e,l))}},le&&t.default.createElement(`td`,{className:`px-3 py-2 border-b border-border/50`,style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`input`,{type:c===`single`?`radio`:`checkbox`,name:c===`single`?W:void 0,"aria-label":et(D.selectRow,{key:u}),checked:m,onChange:()=>{if(c===`single`){he(e,l);return}me(e,l)},onClick:t=>{t.stopPropagation(),c===`single`&&(t.preventDefault(),he(e,l))}})),G&&t.default.createElement(`td`,{className:`px-3 py-2 border-b border-border/50`,style:{width:`1%`,whiteSpace:`nowrap`}},t.default.createElement(`button`,{type:`button`,draggable:G,className:`inline-flex cursor-grab items-center justify-center rounded-sm border-0 bg-transparent p-0 text-muted-foreground`,"aria-label":et(D.reorderRow,{key:u}),onClick:e=>e.preventDefault(),onDragStart:e=>{e.stopPropagation(),R(u)},onDragEnd:e=>{e.stopPropagation(),R(null),B(null),ee(null)}},t.default.createElement(a.GripVertical,{size:14}))),_e.map(n=>t.default.createElement(`td`,{key:n.key,className:`px-3 py-2 border-b border-border/50`},pe(e,n.key,l)))),Se(u,`after`,e,l))})});return t.default.createElement(`div`,{className:`flex items-stretch gap-3`},h&&t.default.createElement(`div`,{className:`table-before flex shrink-0 items-center self-stretch`},h),t.default.createElement(`div`,{ref:ne,className:`min-w-0 flex-1 overflow-x-auto `+(_||E.Table.wrapperClassName)},t.default.createElement(`div`,{className:ve},t.default.createElement(`table`,{className:`w-full text-left text-sm border-collapse `+(v||E.Table.className)},t.default.createElement(`thead`,{className:`border-b `+(y||E.Table.headerClassName)},Ce),t.default.createElement(`tbody`,{className:b||E.Table.bodyClassName},we),r&&t.default.createElement(`tfoot`,{className:x||E.Table.footerClassName},r)))),g&&t.default.createElement(`div`,{className:`table-after flex shrink-0 items-center self-stretch`},g))}var au=12,ou=12,su=(e,t,n)=>Math.max(t,Math.min(n,e)),cu=e=>{if(!e)return``;let t=e.trim().replace(/^\{/,``).replace(/\}$/,``).trim(),n=t.split(`.`);return(n[n.length-1]||t).trim()},lu=(e,t)=>{let n=e-t.left,r=t.width/au;return su(Math.floor(n/r),0,au-1)},uu=()=>`${Date.now()}_${Math.random().toString(16).slice(2)}`,du=(e,t,n)=>{let r=e=>{let r=e+t;return r>au?!1:!n.some(t=>{let n=e,i=r,a=t.colStart;return n<t.colStart+t.colSpan&&a<i})};for(let n=e;n<=au-t;n++)if(r(n))return n;for(let e=0;e<=au-t;e++)if(r(e))return e;return null},fu=(e,t,n)=>{let r=e.find(e=>e.id===t);if(!r)return e;let i=e.filter(e=>e.id!==t),a=du(su(n,0,au-r.colSpan),r.colSpan,i);return a===null?e:e.map(e=>e.id===t?{...e,colStart:a}:e)},pu=(e,t,n)=>{let r=e.find(e=>e.id===t);if(!r)return e;let i=e.filter(e=>e.id!==t),a=su(n,1,au-r.colStart),o=e=>{let t=r.colStart,n=r.colStart+e;return i.some(e=>{let r=e.colStart,i=e.colStart+e.colSpan;return t<i&&r<n})};for(;a>1&&o(a);)a--;return o(a)?e:e.map(e=>e.id===t?{...e,colSpan:a}:e)},mu=(e,t,n)=>{if(n<=0)return null;let r=e.map(e=>{let n=e.colStart+e.colSpan/2;return{it:e,dist:Math.abs(n-(t+.5))}}).sort((e,t)=>e.dist-t.dist).map(e=>e.it);for(let t of r){if(t.colSpan-1<n)continue;let r=t.colSpan-n,i=t.colStart+r;if(!(i<0||i+n>au))return{nextItems:e.map(e=>e.id===t.id?{...e,colSpan:r}:e),insertCol:i}}return null},hu=(0,t.forwardRef)(({name:e,defaultSpan:n=1,heightPx:r=100},i)=>{let a=(0,t.useRef)(null),o=ct(`layout`),{value:s,handleChange:c}=Nl({name:e,defaultValue:[]}),l=Array.isArray(s)?s:[],u=t=>{let n=typeof t==`function`?t(l):t;c({target:{name:e,value:n}})},[d,f]=(0,t.useState)(null),[p,m]=(0,t.useState)(null),[h,g]=(0,t.useState)(``),_=(0,t.useRef)(null),v=e=>{g(e),_.current&&window.clearTimeout(_.current),_.current=window.setTimeout(()=>g(``),2500)};(0,t.useEffect)(()=>()=>{_.current&&window.clearTimeout(_.current)},[]),(0,t.useImperativeHandle)(i,()=>({getValue:()=>l,setValue:e=>u(e),clear:()=>u([])}));let y=(0,t.useMemo)(()=>Array.from({length:au},(e,t)=>t),[]),b=e=>{e.preventDefault()},x=e=>{if(e.preventDefault(),e.dataTransfer.getData(`application/x-layoutbuilder-internal`)){f(null);return}if(l.length>=ou){v(o.maxElements);return}let t=a.current;if(!t)return;let r=t.getBoundingClientRect(),i=lu(e.clientX,r),s=cu(e.dataTransfer.getData(`text/plain`)||e.dataTransfer.getData(`label`)||``)||`unknown`,c=su(n,1,au),d=du(su(i,0,au-c),c,l);if(d!==null){u(e=>[...e,{id:uu(),fieldName:s,colStart:d,colSpan:c}]);return}if(!mu(l,i,c)){v(o.noSpace);return}u(e=>{if(e.length>=ou)return v(o.maxElements),e;let t=mu(e,i,c);if(!t)return v(o.noSpace),e;let n={id:uu(),fieldName:s,colStart:t.insertCol,colSpan:c};return[...t.nextItems,n]})},S=e=>t=>{f(e),t.dataTransfer.setData(`application/x-layoutbuilder-internal`,e),t.dataTransfer.effectAllowed=`move`},C=e=>{if(e.preventDefault(),!d)return;let t=a.current;if(!t)return;let n=t.getBoundingClientRect(),r=lu(e.clientX,n);u(e=>fu(e,d,r))},w=()=>f(null),T=e=>t=>{t.stopPropagation(),t.preventDefault();let n=l.find(t=>t.id===e);n&&m({id:e,startClientX:t.clientX,startSpan:n.colSpan})},E=e=>{if(!p)return;let t=a.current;if(!t)return;let n=t.getBoundingClientRect().width/au,r=e.clientX-p.startClientX,i=Math.round(r/n),o=p.startSpan+i;u(e=>pu(e,p.id,o))},D=()=>{p&&m(null)},O=e=>u(t=>t.filter(t=>t.id!==e));return t.default.createElement(`div`,{onMouseMove:E,onMouseUp:D,onMouseLeave:D},h&&t.default.createElement(`div`,{style:{marginBottom:8,padding:`8px 10px`,borderRadius:10,border:`1px solid rgba(255,255,255,0.15)`,background:`rgba(255,255,255,0.04)`,fontSize:12,opacity:.95}},h),t.default.createElement(`div`,{ref:a,onDragOver:e=>{b(e),C(e)},onDrop:x,onDragEnd:w,style:{position:`relative`,height:r,borderRadius:12,border:`2px dashed rgba(255, 255, 255, 0.25)`,background:`rgba(0,0,0,0.02)`,overflow:`hidden`}},y.map(e=>t.default.createElement(`div`,{key:e,style:{position:`absolute`,top:0,bottom:0,left:`${e/au*100}%`,width:1,background:`rgba(255, 255, 255, 0.06)`,pointerEvents:`none`}})),l.map(e=>t.default.createElement(`div`,{key:e.id,draggable:!0,onDragStart:S(e.id),style:{position:`absolute`,top:12,bottom:12,left:`${e.colStart/au*100}%`,width:`${e.colSpan/au*100}%`,padding:10,borderRadius:12,border:`1px solid rgba(255, 255, 255, 0.18)`,boxShadow:`0 1px 2px rgba(0,0,0,0.06)`,cursor:d===e.id?`grabbing`:`grab`,display:`flex`,alignItems:`center`,justifyContent:`center`,userSelect:`none`},title:o.dragToMove},t.default.createElement(`div`,{style:{fontSize:10,fontWeight:400,opacity:.9}},e.fieldName),t.default.createElement(`button`,{type:`button`,onClick:()=>O(e.id),style:{position:`absolute`,border:`none`,top:3,right:3,color:`white`,background:`rgba(255, 255, 255, 0.03)`,fontSize:12,cursor:`pointer`},title:o.remove},`×`),t.default.createElement(`div`,{onMouseDown:T(e.id),style:{position:`absolute`,right:4,top:`50%`,transform:`translateY(-50%)`,width:10,height:30,borderRadius:6,background:`rgba(255, 255, 255, 0.12)`,cursor:`ew-resize`},title:o.dragToResize}))),l.length===0&&t.default.createElement(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`}},o.dragHere)))}),gu=(0,t.createContext)(void 0);function _u({config:e,children:n}){return t.default.createElement(gu.Provider,{value:e},n)}function vu(){return(0,t.useContext)(gu)}var yu,bu;function xu(e){if(typeof window>`u`)return Promise.reject(Error(`loadGoogleMaps can only run in the browser`));if(!e.apiKey)return Promise.reject(Error(`GoogleMapsConfig.apiKey is required`));if(bu!==void 0&&bu!==e.apiKey)return Promise.reject(Error(`loadGoogleMaps was already initialized with a different apiKey`));if(window.google?.maps?.places)return Promise.resolve(window.google);if(yu)return yu;bu=e.apiKey;let t=`__googleMapsLoader_${Math.random().toString(36).slice(2)}`;return yu=new Promise((n,r)=>{window[t]=()=>{delete window[t],window.google?.maps?.places?n(window.google):r(Error(`Google Maps script loaded but the places library is unavailable`))};let i=document.createElement(`script`);i.src=`https://maps.googleapis.com/maps/api/js?${new URLSearchParams({key:e.apiKey,libraries:`places`,loading:`async`,callback:t,...e.language?{language:e.language}:{},...e.region?{region:e.region}:{}}).toString()}`,i.async=!0,i.onerror=()=>r(Error(`Failed to load the Google Maps script`)),document.head.appendChild(i)}),yu}var Su={lat:41.8719,lng:12.5674},Cu=5;function wu(e){return(e??[]).map(e=>({longText:e.longText??``,shortText:e.shortText??e.longText??``,types:e.types}))}function Tu(e){return e.map(e=>({longText:e.long_name,shortText:e.short_name,types:e.types}))}function Eu(e,t,n=!0){let r=e.find(e=>e.types.includes(t));if(r)return(n?r.longText:r.shortText)||void 0}function Du(e,t,n,r){let i=Eu(e,`street_number`),a=Eu(e,`route`);return{street:[a,i].filter(Boolean).join(`, `)||a||void 0,city:Eu(e,`locality`)??Eu(e,`postal_town`)??Eu(e,`sublocality`),state:Eu(e,`administrative_area_level_2`,!1)??Eu(e,`administrative_area_level_1`,!1),zip:Eu(e,`postal_code`),country:Eu(e,`country`),countryCode:Eu(e,`country`,!1),lat:t,lng:n,formatted:r}}function Ou(e){return Du(wu(e.addressComponents),e.location?.lat(),e.location?.lng(),e.formattedAddress??void 0)}function ku(e){return Du(Tu(e.address_components),e.geometry.location.lat(),e.geometry.location.lng(),e.formatted_address)}var Au=({name:e,label:n=void 0,required:r=!1,placeholder:i=void 0,disabled:a=!1,feedback:o=void 0,countries:s=void 0,language:c=void 0,region:l=void 0,validator:u=void 0,onSelect:d=void 0,fieldNames:f=void 0,map:p=!1,id:m=void 0,labelClassName:h=void 0,inheritWrapperClassName:g=!0,wrapperClassName:_=void 0,className:v=void 0,menuClassName:y=void 0,itemClassName:b=void 0,mapClassName:x=void 0})=>{let S=ct(`addressAutocomplete`),C=Y(`addressAutocomplete`),w=vu(),T={street:f?.street??`${e}.street`,city:f?.city??`${e}.city`,state:f?.state??`${e}.state`,zip:f?.zip??`${e}.zip`,country:f?.country??`${e}.country`,countryCode:f?.countryCode??`${e}.countryCode`,lat:f?.lat??`${e}.lat`,lng:f?.lng??`${e}.lng`,zoom:f?.zoom??`${e}.zoom`,formatted:f?.formatted??`${e}.formatted`},E=Nl({name:T.formatted,wrapperClassName:_,inheritWrapperClassName:g}),D=Nl({name:T.street}),O=Nl({name:T.city}),k=Nl({name:T.state}),A=Nl({name:T.zip}),j=Nl({name:T.country}),M=Nl({name:T.countryCode}),N=Nl({name:T.lat}),P=Nl({name:T.lng}),F=Nl({name:T.zoom}),I=Ml(e,{required:r,label:n,validator:u}),L=(0,t.useId)(),R=m??L,z=typeof p==`object`?p:{},B=!!p,V=z.position??`below`,ee=z.defaultZoom??15,H=z.height??240,[te,U]=(0,t.useState)(typeof E.value==`string`?E.value:``),[ne,W]=(0,t.useState)([]),[G,re]=(0,t.useState)(!1),[ie,ae]=(0,t.useState)(!1),[oe,se]=(0,t.useState)(null),K=(0,t.useRef)(void 0),ce=(0,t.useRef)(0),q=(0,t.useRef)(null),le=(0,t.useRef)(null),ue=(0,t.useRef)(void 0),de=(0,t.useRef)(void 0),fe=(0,t.useRef)(void 0),pe=(0,t.useRef)(void 0),me=(0,t.useRef)(!1);(0,t.useEffect)(()=>{typeof E.value==`string`&&E.value!==te&&U(E.value)},[E.value]),(0,t.useEffect)(()=>{if(!G)return;let e=e=>{q.current?.contains(e.target)||re(!1)};return window.document.addEventListener(`pointerdown`,e),()=>window.document.removeEventListener(`pointerdown`,e)},[G]),(0,t.useEffect)(()=>{if(!w)return;let e=++ce.current,t=te.trim();if(t.length<3){W([]),ae(!1);return}ae(!0);let n=window.setTimeout(()=>{(async()=>{try{let n=await xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region});if(ue.current=n,e!==ce.current)return;K.current??=new n.maps.places.AutocompleteSessionToken;let{suggestions:r}=await n.maps.places.AutocompleteSuggestion.fetchAutocompleteSuggestions({input:t,sessionToken:K.current,includedRegionCodes:s,language:c??w.language,region:l??w.region});if(e!==ce.current)return;W(r.filter(e=>e.placePrediction).map(e=>({id:e.placePrediction.placeId,text:e.placePrediction.text.text,prediction:e.placePrediction}))),se(null)}catch(t){if(e!==ce.current)return;W([]),se(t instanceof Error?t.message:S.loadError)}finally{e===ce.current&&ae(!1)}})()},250);return()=>window.clearTimeout(n)},[te,w]);let he=(e,t)=>{me.current=!0;let n=e.formatted??te;U(n),E.handleChange({target:{name:T.formatted,value:n}}),e.street!==void 0&&D.handleChange({target:{name:T.street,value:e.street}}),e.city!==void 0&&O.handleChange({target:{name:T.city,value:e.city}}),e.state!==void 0&&k.handleChange({target:{name:T.state,value:e.state}}),e.zip!==void 0&&A.handleChange({target:{name:T.zip,value:e.zip}}),e.country!==void 0&&j.handleChange({target:{name:T.country,value:e.country}}),e.countryCode!==void 0&&M.handleChange({target:{name:T.countryCode,value:e.countryCode}}),e.lat!==void 0&&N.handleChange({target:{name:T.lat,value:e.lat}}),e.lng!==void 0&&P.handleChange({target:{name:T.lng,value:e.lng}}),t!==void 0&&F.handleChange({target:{name:T.zoom,value:t}}),d?.(e)},ge=e=>{e.addListener(`dragend`,()=>{let t=e.getPosition();t&&ve(t)})},_e=(e,t)=>{de.current&&(fe.current?fe.current.setPosition(t):(fe.current=new e.maps.Marker({position:t,map:de.current,draggable:!0}),ge(fe.current)))},ve=async e=>{try{if(!pe.current)return;let t=(await pe.current.geocode({location:e})).results[0];if(!t)return;he(ku(t)),se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}};(0,t.useEffect)(()=>{if(me.current){me.current=!1;return}if(!w)return;let e=[D.value,A.value,O.value,k.value,j.value].filter(e=>typeof e==`string`&&e.trim().length>0);if(e.length===0)return;let t=e.join(`, `),n=window.setTimeout(()=>{(async()=>{try{let e=await xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region});ue.current=e,pe.current??=new e.maps.Geocoder;let n=(await pe.current.geocode({address:t,region:l??w.region})).results[0];if(!n)return;let r=ku(n),i=r.formatted??t;if(U(i),E.handleChange({target:{name:T.formatted,value:i}}),r.lat!==void 0&&N.handleChange({target:{name:T.lat,value:r.lat}}),r.lng!==void 0&&P.handleChange({target:{name:T.lng,value:r.lng}}),de.current&&r.lat!==void 0&&r.lng!==void 0){let t=new e.maps.LatLng(r.lat,r.lng);de.current.panTo(t),_e(e,t)}se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}})()},600);return()=>window.clearTimeout(n)},[D.value,O.value,k.value,A.value,j.value,w]),(0,t.useEffect)(()=>{if(!B||!w||!le.current||de.current)return;let e=!1;return xu({apiKey:w.apiKey,language:c??w.language,region:l??w.region}).then(t=>{if(e||!le.current||de.current)return;ue.current=t;let n=typeof N.value==`number`&&typeof P.value==`number`,r=n?{lat:N.value,lng:P.value}:Su,i=typeof F.value==`number`?F.value:n?ee:Cu,a=new t.maps.Map(le.current,{center:r,zoom:i,streetViewControl:!1,mapTypeControl:!1,fullscreenControl:!1});de.current=a,pe.current=new t.maps.Geocoder,n&&(fe.current=new t.maps.Marker({position:r,map:a,draggable:!0}),ge(fe.current)),a.addListener(`click`,e=>{e.latLng&&(_e(t,e.latLng),ve(e.latLng))}),a.addListener(`zoom_changed`,()=>{let e=a.getZoom();typeof e==`number`&&F.handleChange({target:{name:T.zoom,value:e}})})}).catch(t=>{e||se(t instanceof Error?t.message:S.loadError)}),()=>{e=!0}},[B,w]);let ye=async e=>{re(!1);try{let t=e.prediction.toPlace();await t.fetchFields({fields:[`addressComponents`,`location`,`formattedAddress`]});let n=Ou(t);he(n,B?ee:void 0);let r=ue.current;if(B&&r&&de.current&&n.lat!==void 0&&n.lng!==void 0){let e=new r.maps.LatLng(n.lat,n.lng);de.current.setCenter(e),de.current.setZoom(ee),_e(r,e)}K.current=void 0,se(null)}catch(e){se(e instanceof Error?e.message:S.loadError)}};if(!w)return t.default.createElement(Z,{className:E.formWrapClass},n&&t.default.createElement(oo,{label:n,required:r,htmlFor:R,className:h}),t.default.createElement(`input`,{id:R,disabled:!0,className:X(ja,v||C.AddressAutocomplete.className),placeholder:S.notConfigured,title:S.notConfigured}),t.default.createElement(`div`,{className:Aa},S.notConfigured));let be=B?t.default.createElement(`div`,{ref:le,className:X(`mt-2 w-full overflow-hidden rounded-md border`,x),style:{height:H}}):null;return t.default.createElement(Z,{className:E.formWrapClass||C.AddressAutocomplete.wrapperClassName},n&&t.default.createElement(oo,{label:n,required:r,htmlFor:R,className:h}),V===`above`&&be,t.default.createElement(`div`,{ref:q,className:`relative`},t.default.createElement(`input`,{id:R,type:`text`,role:`combobox`,"aria-expanded":G,"aria-autocomplete":`list`,autoComplete:`off`,className:X(ja,`pr-8`,I&&`border-destructive focus-visible:ring-destructive/20`,v||C.AddressAutocomplete.className),placeholder:i??S.placeholder,required:r,disabled:a,value:te,onChange:e=>{U(e.target.value),re(!0)},onFocus:()=>re(!0)}),t.default.createElement(`span`,{className:`pointer-events-none absolute inset-y-0 right-2 flex items-center text-muted-foreground`},t.default.createElement(Q,{name:ie?`loader-circle`:`map-pin`,size:15,className:ie?`animate-spin`:void 0})),G&&te.trim().length>=3&&t.default.createElement(`div`,{className:X(`absolute z-50 mt-1 max-h-64 w-full overflow-y-auto rounded-md border p-1 text-sm shadow-lg`,y||C.AddressAutocomplete.menuClassName)},oe?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-destructive`},oe):ie&&ne.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-muted-foreground`},S.searching):ne.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-muted-foreground`},S.noResults):ne.map(e=>t.default.createElement(`button`,{key:e.id,type:`button`,className:X(`flex w-full items-start gap-2 rounded-sm px-2 py-1.5 text-left transition-colors hover:bg-accent hover:text-accent-foreground`,b||C.AddressAutocomplete.itemClassName),onClick:()=>{ye(e)}},t.default.createElement(Q,{name:`map-pin`,size:14,className:`mt-0.5 shrink-0 text-muted-foreground`}),t.default.createElement(`span`,{className:`min-w-0 truncate`},e.text))))),V===`below`&&be,I?t.default.createElement(Ha,{message:I}):o&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},o))},ju=({name:e,onDataLoaded:n,onClear:r=void 0,onParseField:i=void 0,label:a=void 0,icon:o=`upload`,delimiter:s=void 0,normalizeKeys:c=!1,removeEmptyFields:l=!1,required:u=!1,before:d=void 0,after:f=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=ct(`upload`),[_,v]=(0,t.useState)(null),[y,b]=(0,t.useState)(!1),[x,S]=(0,t.useState)(null),C=(0,t.useRef)(null),w=([e,t])=>{if(![``,null,void 0].includes(e)&&t!==void 0&&!(l&&[``,null].includes(t)))return c&&(e=N(e)),i?i([e,t]):[e.trim(),de(t)]},T=e=>{e&&p.default.parse(e,{header:!0,skipEmptyLines:!0,delimiter:s,dynamicTyping:!1,complete:t=>{v(null),S(e),n({data:t.data.map(e=>Object.fromEntries(Object.entries(e).reduce((e,[t,n])=>{let r=w([t,n]);return r&&e.push(r),e},[]))),fields:(t.meta?.fields||[]).reduce((e,t)=>(t&&e.push(c?N(t):t),e),[]),file:e})},error:e=>{v(e instanceof Error?e.message:String(e)),S(null)}})},E=e=>{T(e.target.files?.[0]??null),e.target.value=``},D=e=>{e.preventDefault(),e.stopPropagation(),b(!0)},O=e=>{e.preventDefault(),e.stopPropagation(),b(!1)},k=e=>{e.preventDefault(),e.stopPropagation(),b(!1),T(e.dataTransfer.files?.[0]??null)},A=()=>C.current?.click();return t.default.createElement(Z,{className:m},d,t.default.createElement(`div`,{className:X(h),"data-name":e},a&&t.default.createElement(oo,{label:a,required:u}),t.default.createElement(`input`,{ref:C,type:`file`,accept:`.csv,.tsv,text/csv,text/plain`,className:`hidden`,onChange:E}),x?t.default.createElement(`div`,{className:`rounded-lg border border-border overflow-hidden`},t.default.createElement(`div`,{className:`flex items-center gap-3 px-3 py-3`},t.default.createElement(`div`,{className:`w-9 h-9 rounded-md bg-emerald-500/10 flex items-center justify-center shrink-0`},t.default.createElement(Q,{name:`file-text`,className:`w-4 h-4 text-emerald-600`})),t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`p`,{className:`text-sm font-medium truncate`},x.name),t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},(e=>e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`)(x.size))),t.default.createElement(`div`,{className:`flex items-center gap-1 text-xs text-emerald-600 font-medium shrink-0`},t.default.createElement(Q,{name:`check-circle`,className:`w-4 h-4`}),g.loaded),t.default.createElement(`button`,{type:`button`,onClick:()=>{S(null),r?.()},className:`w-7 h-7 flex items-center justify-center rounded-full text-muted-foreground hover:bg-red-50 hover:text-red-500 transition-colors`,title:g.removeFile},t.default.createElement(Q,{name:`x`,className:`w-3.5 h-3.5`}))),t.default.createElement(`div`,{className:`px-3 py-2 border-t border-border bg-muted/20`},t.default.createElement(`button`,{type:`button`,onClick:A,className:`flex items-center gap-1.5 text-xs text-muted-foreground hover:text-primary transition-colors`},t.default.createElement(Q,{name:`refresh-cw`,className:`w-3.5 h-3.5`}),g.uploadAnother))):t.default.createElement(`button`,{type:`button`,onClick:A,onDragOver:D,onDragLeave:O,onDrop:k,className:X(`w-full flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed py-8 px-4 transition-colors cursor-pointer`,y?`border-primary/60 bg-primary/8 text-primary`:`border-muted-foreground/25 bg-muted/30 text-muted-foreground hover:border-primary/40 hover:bg-primary/5 hover:text-primary/70`)},t.default.createElement(Q,{name:o,className:`w-8 h-8`}),t.default.createElement(`span`,{className:`text-sm font-medium`},y?g.dropToParse:g.clickOrDrag),t.default.createElement(`span`,{className:`text-xs opacity-60`},`.csv, .tsv`)),_&&t.default.createElement(Ha,{message:`Parse error: ${_}`})),f)},Mu=()=>Promise.all([import(`@tiptap/react`),import(`@tiptap/react/menus`),import(`@tiptap/starter-kit`),import(`@tiptap/extension-underline`),import(`@tiptap/extension-link`),import(`@tiptap/extension-image`),import(`@tiptap/extension-table`),import(`@tiptap/extension-placeholder`),import(`@tiptap/extension-character-count`)]),Nu=null,Pu=null,Fu=()=>Nu?Promise.resolve(Nu):(Pu||=Mu().then(e=>(Nu=e,e)),Pu),Iu=`bold.italic.underline.strike.|.headings.|.bulletList.orderedList.|.blockquote.code.codeBlock.|.link.|.imageUpload.documentUpload.|.table.|.sourceCode.|.undo.redo.clearFormat`.split(`.`),Lu=e=>e===!0?{tagBreadcrumb:!0,wordCount:!0,charCount:!1}:e===!1?{}:{tagBreadcrumb:!0,wordCount:!0,charCount:!1,...e},Ru=8,zu={bold:{icon:`bold`,label:`Bold`,isActive:e=>e.isActive(`bold`),execute:e=>e.chain().focus().toggleBold().run()},italic:{icon:`italic`,label:`Italic`,isActive:e=>e.isActive(`italic`),execute:e=>e.chain().focus().toggleItalic().run()},underline:{icon:`underline`,label:`Underline`,isActive:e=>e.isActive(`underline`),execute:e=>e.chain().focus().toggleUnderline().run()},strike:{icon:`strikethrough`,label:`Strikethrough`,isActive:e=>e.isActive(`strike`),execute:e=>e.chain().focus().toggleStrike().run()},heading1:{icon:`heading-1`,label:`Heading 1`,isActive:e=>e.isActive(`heading`,{level:1}),execute:e=>e.chain().focus().toggleHeading({level:1}).run()},heading2:{icon:`heading-2`,label:`Heading 2`,isActive:e=>e.isActive(`heading`,{level:2}),execute:e=>e.chain().focus().toggleHeading({level:2}).run()},heading3:{icon:`heading-3`,label:`Heading 3`,isActive:e=>e.isActive(`heading`,{level:3}),execute:e=>e.chain().focus().toggleHeading({level:3}).run()},bulletList:{icon:`list`,label:`Bullet List`,isActive:e=>e.isActive(`bulletList`),execute:e=>e.chain().focus().toggleBulletList().run()},orderedList:{icon:`list-ordered`,label:`Ordered List`,isActive:e=>e.isActive(`orderedList`),execute:e=>e.chain().focus().toggleOrderedList().run()},blockquote:{icon:`quote`,label:`Blockquote`,isActive:e=>e.isActive(`blockquote`),execute:e=>e.chain().focus().toggleBlockquote().run()},code:{icon:`code`,label:`Inline Code`,isActive:e=>e.isActive(`code`),execute:e=>e.chain().focus().toggleCode().run()},codeBlock:{icon:`square-code`,label:`Code Block`,isActive:e=>e.isActive(`codeBlock`),execute:e=>e.chain().focus().toggleCodeBlock().run()},link:{icon:`link`,label:`Link`,isActive:e=>e.isActive(`link`),execute:e=>{if(e.isActive(`link`)){e.chain().focus().unsetLink().run();return}let t=window.prompt(`URL`);t&&e.chain().focus().setLink({href:t}).run()}},undo:{icon:`undo-2`,label:`Undo`,execute:e=>e.chain().focus().undo().run()},redo:{icon:`redo-2`,label:`Redo`,execute:e=>e.chain().focus().redo().run()},clearFormat:{icon:`eraser`,label:`Clear Format`,execute:e=>e.chain().focus().clearNodes().unsetAllMarks().run()}},Bu=({def:e,editor:n})=>{let r=e.isActive?.(n)??!1;return t.default.createElement(`button`,{type:`button`,title:e.label,onMouseDown:t=>{t.preventDefault(),e.execute(n)},className:X(`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors`,`hover:bg-muted disabled:cursor-not-allowed disabled:opacity-40`,r&&`bg-muted text-primary`)},t.default.createElement(Q,{name:e.icon,size:14}))},Vu=[{value:0,label:`Normal`,previewClass:`text-sm`,execute:e=>e.chain().focus().setParagraph().run()},{value:1,label:`Heading 1`,previewClass:`text-2xl font-bold`,execute:e=>e.chain().focus().setHeading({level:1}).run()},{value:2,label:`Heading 2`,previewClass:`text-xl font-semibold`,execute:e=>e.chain().focus().setHeading({level:2}).run()},{value:3,label:`Heading 3`,previewClass:`text-lg font-semibold`,execute:e=>e.chain().focus().setHeading({level:3}).run()}],Hu=({editor:e})=>{let[n,r]=t.default.useState(!1),i=(0,t.useRef)(null);t.default.useEffect(()=>{let e=e=>{i.current&&!i.current.contains(e.target)&&r(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let a=e.isActive(`heading`,{level:1})?`H1`:e.isActive(`heading`,{level:2})?`H2`:e.isActive(`heading`,{level:3})?`H3`:`P`;return t.default.createElement(`div`,{ref:i,className:`relative`},t.default.createElement(`button`,{type:`button`,title:`Paragraph style`,onMouseDown:e=>{e.preventDefault(),r(e=>!e)},className:`inline-flex h-7 items-center gap-0.5 rounded px-1.5 text-xs font-medium transition-colors hover:bg-muted`},a,t.default.createElement(Q,{name:`chevron-down`,size:10})),n&&t.default.createElement(`div`,{className:`absolute left-0 top-full z-50 mt-1 w-44 overflow-hidden rounded-md border border-border bg-background shadow-lg`},Vu.map(n=>t.default.createElement(`button`,{key:n.value,type:`button`,onMouseDown:t=>{t.preventDefault(),n.execute(e),r(!1)},className:X(`block w-full px-3 py-1.5 text-left leading-snug transition-colors hover:bg-muted`,n.previewClass,n.value===0&&e.isActive(`paragraph`)&&`bg-muted/60`,n.value!==0&&e.isActive(`heading`,{level:n.value})&&`bg-muted/60`)},n.label))))},Uu=({editor:e})=>{let[n,r]=t.default.useState(!1),[i,a]=t.default.useState(3),[o,s]=t.default.useState(3),c=(0,t.useRef)(null);t.default.useEffect(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&r(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let l=(t,n)=>{e.chain().focus().insertTable({rows:t,cols:n,withHeaderRow:!0}).run(),r(!1)};return t.default.createElement(`div`,{ref:c,className:`relative`},t.default.createElement(`button`,{type:`button`,title:`Insert Table`,onMouseDown:e=>{e.preventDefault(),r(e=>!e)},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`table`,size:14})),n&&t.default.createElement(`div`,{className:`absolute left-0 top-full z-50 mt-1 rounded-md border border-border bg-background p-3 shadow-lg`},t.default.createElement(`div`,{className:`grid gap-1.5`,style:{gridTemplateColumns:`repeat(${Ru}, 18px)`,width:`fit-content`}},Array.from({length:Ru*Ru},(e,n)=>{let r=Math.floor(n/Ru)+1,c=n%Ru+1,u=r<=i&&c<=o;return t.default.createElement(`button`,{key:`${r}-${c}`,type:`button`,"aria-label":`Insert ${r} by ${c} table`,onMouseEnter:()=>{a(r),s(c)},onFocus:()=>{a(r),s(c)},onMouseDown:e=>{e.preventDefault(),l(r,c)},className:X(`h-[18px] w-[18px] rounded-[4px] border transition-colors`,u?`border-primary bg-primary/25 shadow-[inset_0_0_0_1px_rgba(59,130,246,0.35)]`:`border-border bg-background hover:border-primary/50 hover:bg-muted/60`)})})),t.default.createElement(`div`,{className:`mt-3 text-center text-xs font-medium text-muted-foreground`},i,` x `,o)))},Wu=({editor:e})=>t.default.createElement(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-background px-1 py-0.5 shadow-lg`},[{icon:`rows-2`,label:`Add row above`,execute:()=>e.chain().focus().addRowBefore().run()},{icon:`rows-3`,label:`Add row below`,execute:()=>e.chain().focus().addRowAfter().run()},{icon:`columns-2`,label:`Add column left`,execute:()=>e.chain().focus().addColumnBefore().run()},{icon:`columns-3`,label:`Add column right`,execute:()=>e.chain().focus().addColumnAfter().run()},{icon:`minus-square`,label:`Delete row`,execute:()=>e.chain().focus().deleteRow().run()},{icon:`rectangle-ellipsis`,label:`Delete column`,execute:()=>e.chain().focus().deleteColumn().run()},{icon:`trash-2`,label:`Delete table`,execute:()=>e.chain().focus().deleteTable().run()}].map((e,n)=>t.default.createElement(t.default.Fragment,{key:e.label},n>0&&n!==4&&t.default.createElement(`div`,{className:`mx-0.5 h-4 w-px bg-border`}),t.default.createElement(`button`,{type:`button`,title:e.label,onMouseDown:t=>{t.preventDefault(),e.execute()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:e.icon,size:14}))))),Gu=({editor:e,commands:n,sourceMode:r,onImageUpload:i,onDocumentUpload:a,onSourceToggle:o,compact:s})=>{let[,c]=t.default.useReducer(e=>e+1,0);return t.default.useEffect(()=>(e.on(`selectionUpdate`,c),e.on(`transaction`,c),()=>{e.off(`selectionUpdate`,c),e.off(`transaction`,c)}),[e]),t.default.createElement(`div`,{className:X(`flex flex-wrap items-center gap-0.5 px-2 py-1`,!s&&`border-b border-border`)},n.map((n,s)=>{if(n===`|`)return t.default.createElement(`div`,{key:s,className:`mx-0.5 h-4 w-px bg-border`});if(n===`headings`)return t.default.createElement(Hu,{key:n,editor:e});if(n===`table`)return t.default.createElement(Uu,{key:n,editor:e});if(n===`imageUpload`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Upload Image`,onMouseDown:e=>{e.preventDefault(),i()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`image`,size:14}));if(n===`documentUpload`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Upload Document`,onMouseDown:e=>{e.preventDefault(),a()},className:`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`file-up`,size:14}));if(n===`sourceCode`)return t.default.createElement(`button`,{key:n,type:`button`,title:`Source Code`,onMouseDown:e=>{e.preventDefault(),o()},className:X(`inline-flex h-7 w-7 items-center justify-center rounded text-sm transition-colors hover:bg-muted`,r&&`bg-muted text-primary`)},t.default.createElement(Q,{name:`code`,size:14}));let c=zu[n];return c?t.default.createElement(Bu,{key:n,def:c,editor:e}):null}))},Ku=e=>{try{let{$anchor:t}=e.state.selection,n=[];for(let e=t.depth;e>=0;e--){let r=t.node(e).type.name;r!==`doc`&&n.unshift(r)}return n}catch{return[]}},qu=({editor:e,config:n})=>{let[r,i]=(0,t.useState)(0);(0,t.useEffect)(()=>{let t=()=>i(e=>e+1);return e.on(`selectionUpdate`,t),e.on(`transaction`,t),()=>{e.off(`selectionUpdate`,t),e.off(`transaction`,t)}},[e]);let a=n.tagBreadcrumb?Ku(e):[],o=e.storage.characterCount;return t.default.createElement(`div`,{className:`flex items-center gap-3 border-t border-border px-3 py-1 text-xs text-muted-foreground select-none`},n.tagBreadcrumb&&a.length>0&&t.default.createElement(`div`,{className:`flex items-center gap-1 font-mono`},a.map((e,n)=>t.default.createElement(t.Fragment,{key:n},n>0&&t.default.createElement(`span`,{className:`opacity-40`},`›`),t.default.createElement(`span`,null,e)))),t.default.createElement(`div`,{className:`ml-auto flex items-center gap-3`},n.wordCount&&o&&t.default.createElement(`span`,null,o.words(),` words`),n.charCount&&o&&t.default.createElement(`span`,null,o.characters(),` chars`)))},Ju=({srcset:e})=>{let n=e.split(`,`).map(e=>e.trim()).map(e=>{let[t,n]=e.split(` `);return{src:t,width:parseInt(n,10)}}).filter(e=>e.src&&!isNaN(e.width));return n.length?t.default.createElement(`div`,{className:`flex flex-col gap-1.5`},t.default.createElement(`p`,{className:`text-xs font-medium text-muted-foreground`},`Responsive variants `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(`,n.length,` generated)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},n.map(e=>t.default.createElement(`a`,{key:e.width,href:e.src,target:`_blank`,rel:`noopener noreferrer`,className:`group relative flex-1 overflow-hidden rounded border border-border`,style:{backgroundImage:`repeating-conic-gradient(#e4e4e4 0% 25%, #f5f5f5 0% 50%)`,backgroundSize:`8px 8px`}},t.default.createElement(`img`,{src:e.src,alt:`${e.width}w`,className:`h-12 w-full object-contain transition-opacity group-hover:opacity-80`}),t.default.createElement(`span`,{className:`absolute bottom-0.5 left-0.5 rounded bg-black/60 px-1 py-0.5 text-[9px] font-mono leading-none text-white`},e.width,`px`),t.default.createElement(`div`,{className:`absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`div`,{className:`rounded-md bg-black/60 p-1`},t.default.createElement(Q,{name:`external-link`,size:11,className:`text-white`}))))))):null},Yu=({items:e,onInsertAll:n,onCropSave:r,onCancel:i})=>{let[a,o]=(0,t.useState)(0),[s,c]=(0,t.useState)(()=>e.map(e=>({alt:e.defaultAlt,href:``,target:`_blank`,enabled:!0}))),[l,u]=(0,t.useState)(!1),d=(0,t.useRef)(null);(0,t.useEffect)(()=>{d.current?.focus()},[a]),(0,t.useEffect)(()=>{c(t=>{if(e.length<=t.length)return t;let n=e.slice(t.length).map(e=>({alt:e.defaultAlt,href:``,target:`_blank`,enabled:!0}));return[...t,...n]})},[e.length]);let f=e.length,p=e[a]??e[0],m=s[a]??{alt:``,href:``,target:`_blank`,enabled:!0},h=s.filter(e=>e.enabled).length,g=e=>c(t=>t.map((t,n)=>n===a?{...t,...e}:t));return t.default.createElement(t.default.Fragment,null,t.default.createElement(or,{title:f===1?`Insert image`:`Insert images`,onClose:i,size:`md`,footer:t.default.createElement(`div`,{className:`flex w-full items-center justify-between`},t.default.createElement(`label`,{className:`flex cursor-pointer select-none items-center gap-2 text-sm`},t.default.createElement(`input`,{type:`checkbox`,checked:m.enabled,onChange:e=>g({enabled:e.target.checked}),className:`h-4 w-4 rounded accent-primary`}),`Include`),t.default.createElement(`div`,{className:`flex gap-2`},t.default.createElement(`button`,{type:`button`,onClick:i,className:`h-8 rounded-md px-3 text-sm transition-colors hover:bg-muted`},`Cancel`),t.default.createElement(`button`,{type:`button`,onClick:()=>n(s),disabled:h===0,className:`h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground transition-colors hover:bg-primary/90 disabled:opacity-50`},f===1?`Insert`:`Insert (${h})`)))},f>1&&t.default.createElement(`div`,{className:`mb-3 flex items-center justify-between gap-3`},t.default.createElement(`div`,{className:`flex gap-1.5 overflow-x-auto pb-0.5`},e.map((e,n)=>t.default.createElement(`button`,{key:n,type:`button`,onClick:()=>o(n),title:e.fileProps.fileName,className:X(`relative h-12 w-12 flex-shrink-0 overflow-hidden rounded-md border-2 transition-all`,n===a?`border-primary shadow-md`:`border-transparent opacity-50 hover:opacity-90`,!s[n]?.enabled&&`opacity-20 grayscale`)},t.default.createElement(`img`,{src:e.preview,alt:``,className:`h-full w-full object-cover`})))),t.default.createElement(`div`,{className:`flex flex-shrink-0 items-center gap-0.5`},t.default.createElement(`button`,{type:`button`,onClick:()=>o(e=>Math.max(0,e-1)),disabled:a===0,className:`flex h-7 w-7 items-center justify-center rounded hover:bg-muted disabled:opacity-30`},t.default.createElement(Q,{name:`chevron-left`,size:14})),t.default.createElement(`span`,{className:`w-10 text-center text-xs tabular-nums text-muted-foreground`},a+1,` / `,f),t.default.createElement(`button`,{type:`button`,onClick:()=>o(t=>Math.min(e.length-1,t+1)),disabled:a>=e.length-1,className:`flex h-7 w-7 items-center justify-center rounded hover:bg-muted disabled:opacity-30`},t.default.createElement(Q,{name:`chevron-right`,size:14})))),t.default.createElement(`div`,{className:X(`group relative flex min-h-[160px] items-center justify-center overflow-hidden rounded-lg transition-opacity`,`[background-image:repeating-conic-gradient(#e4e4e4_0%_25%,#f5f5f5_0%_50%)]`,`dark:[background-image:repeating-conic-gradient(#2a2a2a_0%_25%,#343434_0%_50%)]`,`[background-size:16px_16px]`,!m.enabled&&`opacity-40`)},t.default.createElement(`img`,{src:p.preview,alt:``,className:`max-h-[160px] max-w-full object-contain`}),t.default.createElement(`div`,{className:`absolute right-2 top-2 flex gap-1 opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`a`,{href:p.preview,target:`_blank`,rel:`noopener noreferrer`,title:`Open original`,className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`external-link`,size:13})),t.default.createElement(`button`,{type:`button`,title:`Crop`,onClick:()=>u(!0),className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`crop`,size:13})))),t.default.createElement(`p`,{className:`mt-1.5 truncate font-mono text-xs text-muted-foreground`},p.fileProps.fileName),p.fileProps.srcset&&t.default.createElement(Ju,{srcset:p.fileProps.srcset}),t.default.createElement(`div`,{className:`mt-3 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Alt text `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(accessibility & SEO)`)),t.default.createElement(`input`,{ref:d,type:`text`,value:m.alt,onChange:e=>g({alt:e.target.value}),placeholder:`E.g. Team photo at company retreat`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Link URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(optional)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},t.default.createElement(`input`,{type:`url`,value:m.href,onChange:e=>g({href:e.target.value}),placeholder:`https://...`,className:`h-8 min-w-0 flex-1 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`}),t.default.createElement(`select`,{value:m.target,onChange:e=>g({target:e.target.value}),disabled:!m.href,className:`h-8 rounded-md border border-input bg-background px-2 text-xs outline-none focus:ring-1 focus:ring-ring disabled:opacity-40`},t.default.createElement(`option`,{value:`_blank`},`New tab`),t.default.createElement(`option`,{value:`_self`},`Same tab`))))),l&&t.default.createElement(zo,{src:p.preview,mode:`modal`,title:`Crop — ${p.fileProps.fileName}`,onClose:()=>u(!1),onSave:e=>{r(a,e),u(!1)}}))},Xu=({state:e,onConfirm:n,onCancel:r})=>{let[i,a]=(0,t.useState)(e.attrs.src??``),[o,s]=(0,t.useState)(e.attrs.alt??``),[c,l]=(0,t.useState)(e.attrs.href??``),[u,d]=(0,t.useState)(e.attrs.target??`_blank`),[f,p]=(0,t.useState)(!1),m=(0,t.useRef)(null);(0,t.useEffect)(()=>{m.current?.focus()},[]);let h=e.attrs.srcset;return t.default.createElement(t.default.Fragment,null,t.default.createElement(or,{title:`Edit image`,onClose:r,size:`sm`,footer:t.default.createElement(`div`,{className:`flex justify-end gap-2`},t.default.createElement(`button`,{type:`button`,onClick:r,className:`h-8 rounded-md px-3 text-sm transition-colors hover:bg-muted`},`Cancel`),t.default.createElement(`button`,{type:`button`,onClick:()=>n({src:i,alt:o,href:c,target:u,enabled:!0}),className:`h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground transition-colors hover:bg-primary/90`},`Save`))},i&&t.default.createElement(`div`,{className:`group relative mb-3 overflow-hidden rounded-lg bg-muted/40`},t.default.createElement(yr,{src:i,fit:`contain`,height:140,wrapperClassName:`w-full`,className:`w-full`}),t.default.createElement(`div`,{className:`absolute right-2 top-2 flex gap-1 opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,title:`Open original`,className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`external-link`,size:13})),t.default.createElement(`button`,{type:`button`,title:`Crop`,onClick:()=>p(!0),className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`crop`,size:13})))),h&&t.default.createElement(Ju,{srcset:h}),t.default.createElement(`div`,{className:`flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Image URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(path or https://…)`)),t.default.createElement(`input`,{type:`url`,value:i,onChange:e=>a(e.target.value),placeholder:`https://example.com/image.jpg`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Alt text `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(accessibility & SEO)`)),t.default.createElement(`input`,{ref:m,type:`text`,value:o,onChange:e=>s(e.target.value),placeholder:`E.g. Team photo at company retreat`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Link URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(optional)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},t.default.createElement(`input`,{type:`url`,value:c,onChange:e=>l(e.target.value),placeholder:`https://...`,className:`h-8 min-w-0 flex-1 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring`}),t.default.createElement(`select`,{value:u,onChange:e=>d(e.target.value),disabled:!c,className:`h-8 rounded-md border border-input bg-background px-2 text-xs outline-none focus:ring-1 focus:ring-ring disabled:opacity-40`},t.default.createElement(`option`,{value:`_blank`},`New tab`),t.default.createElement(`option`,{value:`_self`},`Same tab`))))),f&&t.default.createElement(zo,{src:i,mode:`modal`,title:`Crop image`,onClose:()=>p(!1),onSave:e=>{a(e),p(!1)}}))},Zu=(e,t,n)=>lc(e,t,n,{queryPattern:/^[A-Za-z0-9-]*$/}),Qu=({modules:e,name:n,value:r,outputFormat:i,placeholder:a,disabled:o,toolbar:s,toolbarCommands:c,statusBar:l,minHeight:u,maxHeight:d,imageUpload:f,documentUpload:p,hasError:m,className:h,onEditorChange:g,commands:_,commandsTrigger:v})=>{let{useEditor:y,EditorContent:b}=e[0],{BubbleMenu:x}=e[1],S=e[2].default,C=e[3].default,w=e[4].default,T=e[5].default.extend({addAttributes(){return{...this.parent?.()??{},srcset:{default:null},sizes:{default:null},loading:{default:null},decoding:{default:null},href:{default:null},target:{default:null}}},renderHTML({HTMLAttributes:e}){let{href:t,target:n,...r}=e,i=this.options.HTMLAttributes??{},a=[`img`,Object.fromEntries(Object.entries({...i,...r}).filter(([,e])=>e!=null))];return t?[`a`,{"data-href":t,"data-target":n??`_blank`,rel:`noopener noreferrer`},a]:a}}),{Table:E,TableRow:D,TableHeader:O,TableCell:k}=e[6],A=e[7].default,j=e[8].default,[M,N]=(0,t.useState)(!1),[P,F]=(0,t.useState)(``),[I,L]=(0,t.useState)([]),[R,z]=(0,t.useState)(null),[,B]=t.default.useReducer(e=>e+1,0),V=(0,t.useRef)(null),ee=(0,t.useRef)(null),[H,te]=(0,t.useState)({open:!1,query:``,anchorPosition:null,editorContext:null}),U=(0,t.useRef)(H);U.current=H;let ne=_?.length?v??`/`:void 0,W=(_?.length??0)>=10,G=t.default.useMemo(()=>new Map((_??[]).map(e=>[e.name,e])),[_]),re=t.default.useMemo(()=>(_??[]).map(e=>({key:e.name,label:`${ne??`/`}${e.name}`,value:e.name,icon:e.icon})),[_,ne]),ie=f?.srcsetWidths===void 0?[400,800]:f.srcsetWidths,ae=Lo(),oe=ts({uploadPath:f?.path,srcsetWidths:ie,onFileReady:e=>{let t=e.fileName.replace(/\.[^/.]+$/,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/^(.)/,e=>e.toUpperCase()),n=e.url||(e.base64?`data:${e.type};base64,${e.base64}`:``);L(r=>[...r,{fileProps:e,preview:n,defaultAlt:t}])}}),se=Oa({minHeight:u,maxHeight:d,paddingOffset:16}),K=(0,t.useCallback)(()=>{te({open:!1,query:``,anchorPosition:null,editorContext:null})},[]),ce=(0,t.useCallback)((e,t)=>{let n=e.state.selection;if(!n.empty)return null;let{$from:r}=n,i=r.parent;if(!i.isTextblock)return null;let a=i.textContent??``,o=r.parentOffset,s=Zu(a,o,t);if(!s)return null;let c=n.from-o,l=c+s.start,u=c+s.end;return{value:e.getText(),textBeforeCaret:a.slice(0,o),textAfterCaret:a.slice(o),trigger:t,query:s.query,triggerRange:{start:l,end:u},insert:t=>{let{from:n,to:r}=e.state.selection,i=e.state.tr.insertText(t,n,r);e.view.dispatch(i),e.commands.focus()},replace:(t,n,r)=>{let i=e.state.tr.insertText(r,t,n);e.view.dispatch(i),e.commands.focus()}}},[]),q=y({extensions:[S,C,w.configure({openOnClick:!1,HTMLAttributes:{target:null,rel:`noopener noreferrer nofollow`}}),T.configure({allowBase64:!0}),E.configure({resizable:!0}),D,O,k,A.configure({placeholder:a??``}),j],content:r||``,editable:!o,editorProps:{attributes:{style:`min-height: ${se.adjustedMinHeight}px`},handleClick(e,t,n){if(n.ctrlKey||n.metaKey){let n=e.state.doc.resolve(t).marks().find(e=>e.type.name===`link`);if(n?.attrs.href)return window.open(n.attrs.href,`_blank`,`noopener,noreferrer`),!0}let r=n.target;if(r.tagName===`IMG`)try{let t=e.posAtDOM(r,0),n=e.state.doc.nodeAt(t);if(n?.type.name===`image`){let e={...n.attrs};if(!e.href){let t=n.marks?.find(e=>e.type.name===`link`);t&&(t.attrs.href&&(e.href=t.attrs.href),t.attrs.target&&(e.target=t.attrs.target))}return z({pos:t,attrs:e}),!0}}catch{}return!1},handleKeyDown(e,t){if(!U.current.open)return!1;switch(t.key){case`ArrowDown`:return t.preventDefault(),ee.current?.moveNext(),!0;case`ArrowUp`:return t.preventDefault(),ee.current?.movePrev(),!0;case`Enter`:case`Tab`:return t.preventDefault(),ee.current?.selectActive(),!0;case`Escape`:return t.preventDefault(),ee.current?.close(),!0;default:return!1}}},onUpdate:({editor:e})=>{g(i===`json`?JSON.stringify(e.getJSON()):i===`text`?e.getText():e.getHTML().replace(/<a([^>]*?)data-href="([^"]*?)"/g,`<a$1href="$2"`).replace(/data-target="([^"]*?)"/g,`target="$1"`))}}),le=(0,t.useRef)(r);(0,t.useEffect)(()=>{!q||r===le.current||(le.current=r,r!==(i===`json`?JSON.stringify(q.getJSON()):i===`text`?q.getText():q.getHTML().replace(/<a([^>]*?)data-href="([^"]*?)"/g,`<a$1href="$2"`).replace(/data-target="([^"]*?)"/g,`target="$1"`))&&q.commands.setContent(i===`json`&&r?JSON.parse(r):r||``))},[r,q,i]),(0,t.useEffect)(()=>{if(q)return q.view.dom.style.minHeight=`${se.adjustedMinHeight}px`,q.on(`selectionUpdate`,B),()=>{q.off(`selectionUpdate`,B)}},[q,se.adjustedMinHeight]),(0,t.useEffect)(()=>{if(!q||!ne||M){U.current.open&&K();return}let e=()=>{if(!q.isFocused){U.current.open&&K();return}let e=q.state.selection;if(!e.empty){U.current.open&&K();return}let{$from:t}=e,n=t.parent;if(!n.isTextblock){U.current.open&&K();return}let r=n.textContent??``,i=t.parentOffset,a=Zu(r,i,ne);if(!a){U.current.open&&K();return}let o=q.view.coordsAtPos(e.from),s=ce(q,ne);!o||!s||te({open:!0,query:a.query,anchorPosition:{top:o.bottom,left:o.left},editorContext:s})};return e(),q.on(`selectionUpdate`,e),q.on(`transaction`,e),()=>{q.off(`selectionUpdate`,e),q.off(`transaction`,e)}},[K,q,ce,ne,M]);let ue=(0,t.useCallback)(async(e,t)=>{let n=G.get(e.value);if(n){if(n.handler){let e=await n.handler(dc(t)),r=n.consumeSuffix?cc(t.textAfterCaret,n.consumeSuffix):0;t.replace(t.triggerRange.start,t.triggerRange.end+r,e);return}t.replace(t.triggerRange.start,t.triggerRange.end,`${t.trigger}${n.name} `)}},[G]),de=()=>{q&&(M?q.commands.setContent(P):F(q.getHTML()),N(e=>!e))},fe=e=>new Promise(t=>{let n=new FileReader;n.onload=e=>t(e.target?.result),n.readAsDataURL(e)}),pe=async e=>{if(!q)return;let t=p?.maxBytes??20971520;for(let n of e){if(n.size>t){alert(`"${n.name}" exceeds the ${Math.round(t/1048576)} MB limit.`);continue}let e;if(ae&&p?.path)try{e=await ae.upload(n,`${p.path}/${n.name}`)??await fe(n)}catch{e=await fe(n)}else e=await fe(n);let r=n.size<1048576?`${Math.round(n.size/1024)} KB`:`${(n.size/1048576).toFixed(1)} MB`;q.chain().focus().insertContent([{type:`text`,marks:[{type:`link`,attrs:{href:e,target:`_blank`,rel:`noopener noreferrer`}}],text:`📎 ${n.name} (${r})`},{type:`text`,text:` `}]).run()}},me=e=>{if(!q)return;let t=[];e.forEach(({alt:e,href:n,target:r,enabled:i},a)=>{if(!i)return;let o=I[a];if(!o)return;oe.handleRemove(o.fileProps.key);let s=o.fileProps.url||o.preview,c={alt:e||null,href:n||null,target:n?r||`_blank`:null},l=o.fileProps.srcset?{...c,src:s,srcset:o.fileProps.srcset,sizes:o.fileProps.sizes??`(max-width: 640px) 100vw, 800px`,loading:`lazy`,decoding:`async`}:{...c,src:s};t.push({type:`image`,attrs:l})}),t.length&&q.chain().focus().insertContent(t).run(),L([])},he=(0,t.useCallback)(async(e,t)=>{let n=`image.jpg`;if(L(r=>(n=r[e]?.fileProps.fileName??`image.jpg`,r.map((n,r)=>r===e?{...n,preview:t,fileProps:{...n.fileProps,url:t,srcset:``,sizes:``}}:n))),ie.length)try{let{variants:r,naturalWidth:i}=await Ao(t,ie),a=ae&&f?.path?await jo(r,ae,f.path,n):r.map(e=>({url:e.localUrl,width:e.width})),o=await fetch(t).then(e=>e.blob()),s=URL.createObjectURL(o),c=Mo([...a,{url:s,width:i}]);L(t=>t.map((t,n)=>n===e?{...t,fileProps:{...t.fileProps,srcset:c,sizes:`(max-width: 640px) 100vw, 800px`}}:t))}catch{}},[ie,ae,f?.path]),ge=({src:e,alt:t,href:n,target:r})=>{if(!q||!R)return;let{pos:i,attrs:a}=R,o=q.state.doc.nodeAt(i);if(o?.type.name===`image`){let{tr:s,schema:c}=q.state,l=e!==void 0&&e!==a.src,u={...a,...l?{src:e||null,srcset:null,sizes:null}:{},alt:t||null,href:n||null,target:n?r||`_blank`:null},d=o.marks??[],f=d.some(e=>e.type.name===`link`),p=d;n?f||(p=[...d,c.marks.link.create({href:n,target:r||`_blank`})]):p=d.filter(e=>e.type.name!==`link`),s.setNodeMarkup(i,null,u,p),q.view.dispatch(s)}z(null)},_e=c.filter(e=>e!==`imageUpload`&&e!==`documentUpload`&&e!==`sourceCode`);return t.default.createElement(t.default.Fragment,null,I.length>0&&t.default.createElement(Yu,{items:I,onInsertAll:me,onCropSave:he,onCancel:()=>{I.forEach(e=>oe.handleRemove(e.fileProps.key)),L([])}}),R&&t.default.createElement(Xu,{state:R,onConfirm:ge,onCancel:()=>z(null)}),t.default.createElement(`div`,{className:X(`rounded-md border border-input bg-background shadow-sm transition-colors`,`focus-within:ring-1 focus-within:ring-ring`,m&&`border-destructive focus-within:ring-destructive/20`,o&&`cursor-not-allowed opacity-50`,h)},s===`fixed`&&q&&t.default.createElement(Gu,{editor:q,commands:c,sourceMode:M,onImageUpload:oe.handleUpload,onDocumentUpload:()=>V.current?.click(),onSourceToggle:de}),s===`floating`&&q&&t.default.createElement(x,{editor:q},t.default.createElement(`div`,{className:`flex items-center gap-0.5 rounded-md border border-border bg-background px-1 py-0.5 shadow-lg`},t.default.createElement(Gu,{editor:q,commands:_e,sourceMode:M,onImageUpload:oe.handleUpload,onDocumentUpload:()=>V.current?.click(),onSourceToggle:de,compact:!0}))),q&&!M&&t.default.createElement(x,{editor:q,shouldShow:({editor:e,from:t,to:n})=>t!==n||!e.isActive(`link`)?!1:!!e.getAttributes(`link`).href,options:{placement:`bottom-start`,offset:6}},(()=>{let e=q.getAttributes(`link`).href??``;return t.default.createElement(`div`,{className:`flex items-center gap-1.5 rounded-md border border-border bg-background px-2 py-1.5 shadow-md`},t.default.createElement(Q,{name:`link`,size:12,className:`shrink-0 text-muted-foreground`}),t.default.createElement(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`max-w-[220px] truncate text-xs text-primary underline`},e),t.default.createElement(`div`,{className:`mx-0.5 h-3 w-px bg-border`}),t.default.createElement(`button`,{type:`button`,title:`Edit link`,onMouseDown:t=>{t.preventDefault();let n=window.prompt(`URL`,e);n?q.chain().focus().setLink({href:n}).run():n===``&&q.chain().focus().unsetLink().run()},className:`inline-flex h-5 w-5 items-center justify-center rounded transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`pencil`,size:11})),t.default.createElement(`button`,{type:`button`,title:`Remove link`,onMouseDown:e=>{e.preventDefault(),q.chain().focus().unsetLink().run()},className:`inline-flex h-5 w-5 items-center justify-center rounded transition-colors hover:bg-muted`},t.default.createElement(Q,{name:`unlink`,size:11})))})()),q&&!M&&t.default.createElement(x,{editor:q,shouldShow:({editor:e})=>e.isActive(`table`),options:{placement:`top-start`,offset:8}},t.default.createElement(Wu,{editor:q})),M?t.default.createElement(`textarea`,{"aria-label":`${n} source`,className:`w-full resize-none bg-background px-3 py-2 font-mono text-xs text-foreground outline-none`,style:{minHeight:se.adjustedMinHeight,maxHeight:d,overflowY:`auto`},value:P,onChange:e=>F(e.target.value)}):(()=>{let e=t.default.createElement(`div`,{style:se.wrapperStyle,className:X(`w-full px-3 py-2 text-sm`,`[&_.ProseMirror]:outline-none`,`[&_.ProseMirror_p]:my-1`,`[&_.ProseMirror_h1]:my-2 [&_.ProseMirror_h1]:text-2xl [&_.ProseMirror_h1]:font-bold`,`[&_.ProseMirror_h2]:my-2 [&_.ProseMirror_h2]:text-xl [&_.ProseMirror_h2]:font-semibold`,`[&_.ProseMirror_h3]:my-1 [&_.ProseMirror_h3]:text-lg [&_.ProseMirror_h3]:font-semibold`,`[&_.ProseMirror_ul]:list-disc [&_.ProseMirror_ul]:pl-6`,`[&_.ProseMirror_ol]:list-decimal [&_.ProseMirror_ol]:pl-6`,`[&_.ProseMirror_blockquote]:my-2 [&_.ProseMirror_blockquote]:border-l-4 [&_.ProseMirror_blockquote]:border-border [&_.ProseMirror_blockquote]:pl-4 [&_.ProseMirror_blockquote]:text-muted-foreground`,`[&_.ProseMirror_code]:rounded [&_.ProseMirror_code]:bg-muted [&_.ProseMirror_code]:px-1 [&_.ProseMirror_code]:font-mono [&_.ProseMirror_code]:text-xs`,`[&_.ProseMirror_pre]:my-2 [&_.ProseMirror_pre]:overflow-x-auto [&_.ProseMirror_pre]:rounded [&_.ProseMirror_pre]:bg-muted [&_.ProseMirror_pre]:p-3`,`[&_.ProseMirror_table]:w-full [&_.ProseMirror_table]:border-collapse`,`[&_.ProseMirror_td]:border [&_.ProseMirror_td]:border-border [&_.ProseMirror_td]:px-2 [&_.ProseMirror_td]:py-1`,`[&_.ProseMirror_th]:border [&_.ProseMirror_th]:border-border [&_.ProseMirror_th]:bg-muted [&_.ProseMirror_th]:px-2 [&_.ProseMirror_th]:py-1 [&_.ProseMirror_th]:font-semibold`,`[&_.ProseMirror_a]:text-primary [&_.ProseMirror_a]:underline [&_.ProseMirror_a]:pointer-events-none`,`[&_.ProseMirror_a_img]:pointer-events-auto`,`[&_.ProseMirror_.is-editor-empty:first-child::before]:pointer-events-none [&_.ProseMirror_.is-editor-empty:first-child::before]:float-left [&_.ProseMirror_.is-editor-empty:first-child::before]:h-0 [&_.ProseMirror_.is-editor-empty:first-child::before]:text-muted-foreground [&_.ProseMirror_.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]`)},t.default.createElement(b,{editor:q}));return ne&&re.length>0?t.default.createElement(mc,{ref:ee,trigger:ne,searchable:W,controlled:H.editorContext?{open:H.open,anchorPosition:H.anchorPosition,query:H.query,editorContext:H.editorContext,onClose:K}:void 0,onSelect:(e,t)=>{ue(e,t)}},re.map(e=>t.default.createElement(mc.Item,{key:e.key,label:e.label,value:e.value,icon:e.icon})),e):e})(),l&&q&&t.default.createElement(qu,{editor:q,config:l}),t.default.createElement(`input`,{ref:oe.fileInputRef,type:`file`,multiple:!0,accept:f?.accept??`image/*`,className:`hidden`,onChange:e=>{let t=f?.maxBytes??10485760,n=Array.from(e.target.files??[]).find(e=>e.size>t);if(n){alert(`"${n.name}" exceeds the ${Math.round(t/1048576)} MB limit.`),e.target.value=``;return}oe.handleUploadChange(e)}}),t.default.createElement(`input`,{ref:V,type:`file`,multiple:!0,accept:p?.accept??`.pdf,.doc,.docx,.txt,.csv`,className:`hidden`,onChange:e=>{let t=Array.from(e.target.files??[]);t.length&&pe(t),e.target.value=``}})))},$u=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,required:a=!1,placeholder:o=void 0,disabled:s=!1,feedback:c=void 0,toolbar:l=`fixed`,toolbarCommands:u=Iu,outputFormat:d=`html`,statusBar:f=!1,minHeight:p=120,maxHeight:m=void 0,imageUpload:h=void 0,documentUpload:g=void 0,labelClassName:_=void 0,inheritWrapperClassName:v=!0,wrapperClassName:y=void 0,className:b=void 0,before:x=void 0,after:S=void 0,validator:C=void 0,commands:w=void 0,commandsTrigger:T=void 0})=>{let{value:E,handleChange:D,formWrapClass:O}=Nl({name:e,onChange:n,wrapperClassName:y,defaultValue:r,inheritWrapperClassName:v}),k=Ml(e,{required:a,label:i,validator:C}),A=(0,t.useId)(),[j,M]=(0,t.useState)(Nu);(0,t.useEffect)(()=>{j||Fu().then(M)},[j]);let N=(0,t.useCallback)(t=>{D?.({target:{name:e,value:t}})},[D,e]),P=f!==!1&&Lu(f);return t.default.createElement(Z,{className:O},i&&t.default.createElement(oo,{label:i,required:a,htmlFor:A,className:_}),t.default.createElement(`div`,{className:X(x||S?Na:``)},x&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-md rounded-r-none border-r-0`)},x),t.default.createElement(`div`,{className:`min-w-0 flex-1`},j?t.default.createElement(Qu,{modules:j,name:e,value:E??``,outputFormat:d,placeholder:o,disabled:s,toolbar:l,toolbarCommands:u,statusBar:P,minHeight:p,maxHeight:m,imageUpload:h,documentUpload:g,hasError:!!k,className:b,onEditorChange:N,commands:w,commandsTrigger:T}):t.default.createElement(`div`,{className:X(`rounded-md border border-input bg-muted/30 shadow-sm`,k&&`border-destructive`),style:{minHeight:p},"aria-busy":`true`,"aria-label":i})),S&&t.default.createElement(`span`,{className:X(`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,`rounded-l-none rounded-r-md border-l-0`)},S)),k?t.default.createElement(Ha,{message:k}):c&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},c))};function ed(e){return e?typeof e==`string`?t.default.createElement(Q,{name:e,size:16}):e:null}function td({title:e=void 0,description:r=void 0,meta:i=void 0,badge:a=void 0,icon:o=void 0,trailing:s=void 0,footer:c=void 0,children:l=void 0,href:u=void 0,external:d=!1,active:f=!1,disabled:p=!1,dashed:m=!1,compact:h=!1,align:g=`start`,onClick:_=void 0,before:v=void 0,after:y=void 0,wrapperClassName:b=void 0,className:x=void 0,titleClassName:S=void 0,descriptionClassName:C=void 0,metaClassName:w=void 0,badgeClassName:T=void 0,leadingClassName:E=void 0,bodyClassName:D=void 0,headerClassName:O=void 0,trailingClassName:k=void 0,footerClassName:A=void 0,style:j=void 0,motion:M=void 0}){let N=Y(`listCard`),P=!!u||!!_,F=Pt(p||!P,j,M??N.ListCard.motion?.press??`press`),I=ed(o),L=c??l,R=X(`flex w-full gap-3 rounded-xl border border-border/60 bg-background p-4 text-left transition-[background-color,border-color,box-shadow,color] duration-150`,g===`center`?`items-center`:`items-start`,P&&!p&&`cursor-pointer`,N.ListCard.className,f?N.ListCard.activeClassName:N.ListCard.inactiveClassName,p&&N.ListCard.disabledClassName,m&&N.ListCard.dashedClassName,h&&N.ListCard.compactClassName,x),z=t.default.createElement(t.default.Fragment,null,I?t.default.createElement(`div`,{className:X(`mt-0.5 flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,g===`center`&&`mt-0`,N.ListCard.leadingClassName,E)},I):null,t.default.createElement(`div`,{className:X(`min-w-0 flex-1`,N.ListCard.bodyClassName,D)},e||a?t.default.createElement(`div`,{className:X(`flex items-center gap-2`,N.ListCard.headerClassName,O)},e?t.default.createElement(`div`,{className:X(`min-w-0 flex-1 truncate text-sm font-semibold text-foreground`,N.ListCard.titleClassName,S)},e):t.default.createElement(`div`,{className:`flex-1`}),a?t.default.createElement(`div`,{className:X(`shrink-0`,N.ListCard.badgeClassName,T)},a):null):null,r?t.default.createElement(`div`,{className:X(`mt-1 text-sm text-muted-foreground`,N.ListCard.descriptionClassName,C)},r):null,i?t.default.createElement(`div`,{className:X(`mt-1 text-xs text-muted-foreground`,N.ListCard.metaClassName,w)},i):null,L?t.default.createElement(`div`,{className:X(`mt-3`,N.ListCard.footerClassName,A)},L):null),s?t.default.createElement(`div`,{className:X(`shrink-0 self-center`,N.ListCard.trailingClassName,k)},s):null),B=e=>{if(p){e.preventDefault(),e.stopPropagation();return}_?.(e)},V;return V=u&&!p?d?t.default.createElement(`a`,{href:u,target:`_blank`,rel:`noreferrer noopener`,className:R,style:F.style,...F.pressHandlers,onClick:B},z):t.default.createElement(n.Link,{to:u,className:R,style:F.style,...F.pressHandlers,onClick:B},z):P?t.default.createElement(`button`,{type:`button`,className:R,style:F.style,disabled:p,...F.pressHandlers,onClick:B},z):t.default.createElement(`div`,{className:R,style:j,"aria-disabled":p||void 0},z),t.default.createElement(Z,{className:X(N.ListCard.wrapperClassName,b)},v,V,y)}var nd=208,rd=52;function id(e){return e.map(e=>({path:e.path,title:e.title,icon:e.icon,group:e.group,end:e.end,badge:e.badge,children:e.children?id(e.children):void 0}))}function ad(e,t,n){return n?e===t:e===t||t!==`/`&&e.startsWith(t+`/`)}function od(e){let t=new Map;for(let n of e){let e=n.group??`General`;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({key:e,items:t}))}function sd({value:e}){let n=Y(`sideNav`);return t.default.createElement(`span`,{className:X(`ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-full bg-primary/15 text-primary`,n.SideNav.itemBadgeClassName)},e)}function cd({children:e,open:r}){let{pathname:i}=(0,n.useLocation)(),a=Y(`sideNav`);return t.default.createElement(`div`,{style:{maxHeight:r?`${e.length*34+8}px`:`0px`,overflow:`hidden`,transition:`max-height 200ms ease`}},t.default.createElement(`div`,{className:`py-0.5 space-y-0.5`},e.map(e=>{let r=ad(i,e.path,e.end);return t.default.createElement(n.Link,{key:e.path,to:e.path,className:X(`flex items-center rounded-md pl-9 pr-3 py-[6px] text-sm transition-colors`,a.SideNav.subItemClassName,r?a.SideNav.subItemActiveClassName:a.SideNav.subItemInactiveClassName)},t.default.createElement(`span`,{className:`flex-1 truncate`},e.title),e.badge!==void 0&&t.default.createElement(sd,{value:e.badge}))})))}function ld({item:e,expanded:r,open:i,showIcons:a,onToggle:o}){let{pathname:s}=(0,n.useLocation)(),c=Y(`sideNav`),l=(e.children?.length??0)>0,u=ad(s,e.path,e.end),d=l&&e.children.some(e=>ad(s,e.path,e.end)),f=u?c.SideNav.itemActiveClassName:d?c.SideNav.itemChildActiveClassName:c.SideNav.itemInactiveClassName,p=a?t.default.createElement(`span`,{className:X(`relative shrink-0 flex items-center justify-center w-[18px] h-[18px]`,c.SideNav.itemIconClassName)},e.icon?t.default.createElement(Q,{name:e.icon,size:17}):t.default.createElement(`span`,{className:`w-1.5 h-1.5 rounded-full bg-current opacity-30`}),!r&&e.badge!==void 0&&t.default.createElement(`span`,{className:X(`absolute -top-0.5 -right-1 w-[7px] h-[7px] rounded-full bg-primary ring-1 ring-background`,c.SideNav.itemCollapsedBadgeClassName)})):null,m={opacity:+!!r,maxWidth:r?`200px`:`0px`,overflow:`hidden`,whiteSpace:`nowrap`,transition:`opacity 150ms ease, max-width 200ms ease`},h=X(`flex items-center w-full rounded-md px-2 py-[7px] text-sm transition-colors gap-2.5`,c.SideNav.itemClassName);return l?t.default.createElement(`div`,null,t.default.createElement(`div`,{className:`flex items-center gap-0.5`},t.default.createElement(n.Link,{to:e.path,title:r?void 0:e.title,className:X(`flex-1 flex items-center gap-2.5 rounded-md px-2 py-[7px] text-sm transition-colors`,c.SideNav.itemClassName,f)},p,t.default.createElement(`span`,{style:m,className:c.SideNav.itemTextClassName},e.title),r&&e.badge!==void 0&&t.default.createElement(sd,{value:e.badge})),r&&t.default.createElement(`button`,{onClick:()=>o(e.path),className:X(`shrink-0 flex items-center justify-center w-6 h-6 rounded transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent`,c.SideNav.itemToggleClassName),title:i?`Collapse`:`Expand`},t.default.createElement(`span`,{style:{transform:i?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 200ms ease`}},t.default.createElement(Q,{name:`chevron-down`,size:13})))),r&&t.default.createElement(cd,{children:e.children,open:i})):t.default.createElement(n.Link,{to:e.path,title:r?void 0:e.title,className:X(h,f)},p,t.default.createElement(`span`,{style:m,className:c.SideNav.itemTextClassName},e.title),r&&e.badge!==void 0&&t.default.createElement(sd,{value:e.badge}))}function ud({group:e,expanded:n,openItems:r,showIcons:i,onToggle:a}){let o=e.key===`General`,s=Y(`sideNav`);return t.default.createElement(`div`,{className:`mb-1`},!o&&t.default.createElement(`div`,{style:{height:n?void 0:`1px`},className:n?`px-2 pb-0.5 pt-3 first:pt-1`:X(`mx-2 my-2 bg-border/40`,s.SideNav.groupDividerClassName)},n&&t.default.createElement(`span`,{className:X(`text-[10.5px] font-semibold uppercase tracking-widest text-muted-foreground/50 select-none`,s.SideNav.groupLabelClassName)},e.key)),t.default.createElement(`div`,{className:`space-y-0.5`},e.items.map(e=>t.default.createElement(ld,{key:e.path,item:e,expanded:n,open:r.has(e.path),showIcons:i,onToggle:a}))))}function dd({menuKey:e,items:r,defaultCollapsed:i=!1,showIcons:a=!0,showCollapseButton:o=!0,footer:s,header:c,embedded:l=!1}){let{pathname:u}=(0,n.useLocation)(),d=Y(`sideNav`),f=dm(e??``),p=r??(e?id(f):[]),[m,h]=(0,t.useState)(i),[g,_]=(0,t.useState)(!1),[v,y]=(0,t.useState)(new Set),b=(0,t.useRef)(null),x=!m||g;(0,t.useEffect)(()=>{y(e=>{let t=new Set(e);return p.forEach(e=>{e.children?.some(e=>ad(u,e.path,e.end))&&t.add(e.path)}),t})},[u]);let S=(0,t.useCallback)(e=>{y(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),C=()=>{m&&(b.current&&clearTimeout(b.current),_(!0))},w=()=>{m&&(b.current=setTimeout(()=>_(!1),80))};if(p.length===0)return null;let T=od(p);return l?t.default.createElement(`nav`,{className:X(`px-1.5 py-2`,d.SideNav.navClassName)},T.map(e=>t.default.createElement(ud,{key:e.key,group:e,expanded:!0,openItems:v,showIcons:a,onToggle:S}))):t.default.createElement(`div`,{className:X(`min-h-0`,d.SideNav.wrapperClassName),style:{width:m?rd:nd,height:`100%`,transition:`width 220ms cubic-bezier(0.4,0,0.2,1)`,flexShrink:0,position:`relative`}},t.default.createElement(`aside`,{style:{width:x?nd:rd,transition:`width 220ms cubic-bezier(0.4,0,0.2,1)`,position:m?`absolute`:`sticky`,top:0,zIndex:m&&g?50:10,boxShadow:m&&g?`4px 0 24px rgba(0,0,0,0.10)`:`none`,height:`100%`,overflowX:`hidden`,overflowY:`hidden`},className:X(`flex min-h-0 flex-col border-r bg-background`,d.SideNav.shellClassName,m&&g&&d.SideNav.overlayClassName),onMouseEnter:C,onMouseLeave:w},c&&t.default.createElement(`div`,{className:X(`flex h-14 shrink-0 items-center border-b px-1.5`,d.SideNav.headerClassName),style:{opacity:+!!x,maxWidth:x?`100%`:`0px`,overflow:`hidden`,transition:`opacity 150ms ease, max-width 200ms ease`}},t.default.createElement(`div`,{className:`min-w-0 flex-1`},c)),t.default.createElement(`nav`,{className:X(`min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-1.5 py-2`,d.SideNav.navClassName)},T.map(e=>t.default.createElement(ud,{key:e.key,group:e,expanded:x,openItems:v,showIcons:a,onToggle:S}))),(o||s)&&t.default.createElement(`div`,{className:X(`shrink-0 border-t px-1.5 py-2 flex items-center gap-1`,d.SideNav.footerClassName)},o&&t.default.createElement(`button`,{onClick:()=>{h(e=>!e),_(!1)},title:m?`Expand sidebar`:`Collapse sidebar`,className:X(`shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent`,d.SideNav.collapseButtonClassName)},t.default.createElement(Q,{name:m?`chevrons-right`:`chevrons-left`,size:16})),s&&t.default.createElement(`div`,{style:{flex:1,minWidth:0,opacity:+!!x,maxWidth:x?`100%`:`0px`,overflow:`hidden`,transition:`opacity 150ms ease, max-width 200ms ease`}},s))))}function fd({path:e,where:n,order:r,fieldMap:i}){let a=$n(),[o,s]=(0,t.useState)([]),c=(0,t.useMemo)(()=>{if(!(!n&&!r&&!i))return{where:n,order:r,fieldMap:i}},[i,r,n]);return(0,t.useEffect)(()=>a.subscribe(e,s,c),[a,c,e]),o}function pd(e){if(e)return e}function md({path:e,fromUrl:r,where:i,order:a,fieldMap:o,recordId:s=pi,...c}){let l=(0,n.useLocation)(),u=r?pd(l.pathname):e,d=fd({path:u,where:i,order:a,fieldMap:o}),f=t.default.useMemo(()=>{if(!a)return;let e=Object.entries(a)[0];if(!e)return;let[t,n]=e;return{field:t,dir:n}},[a]),p=c.sortable===void 0||c.sortable===!0?f??c.sortable:c.sortable;return t.default.createElement(Ef,{...c,records:d,recordId:s,sourcePath:u,sortable:p})}var hd=e=>e.replace(/[^a-zA-Z0-9_-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``),gd=e=>t=>{if(typeof e==`function`)return String(e(t));let n=t[e];return n==null||n===``?``:String(n)},_d=(e,t)=>{if(e==null||e===`text`)return t;if(e===`boolean`)return t?`Yes`:`No`;if(e===`json`)return t==null?``:JSON.stringify(t,null,2);if(e===`badge`||e===`image`||e===`email`)return t;let n=T[e===`datetime`?`dateTime`:e];return n?n(t):t},vd=(e,t)=>typeof e.render==`function`?e.render(t):_d(e.render,t.value),yd=e=>({key:e,label:T.toCamel(e,` `),sortable:!0}),bd=(e,n)=>{let r=[],i=e=>{t.default.Children.forEach(e,e=>{if(!t.default.isValidElement(e))return;let{props:a}=e;a.name?r.push(n(a)):a.children&&i(a.children)})};return i(Array.isArray(e)?e:[e]),r},xd=(e,n,r)=>{if(e?.length)return e;if(t.default.isValidElement(r)){let e=bd(r,e=>yd(e.name));if(e.length>0)return e}let i=n[0];return i?Object.entries(i).reduce((e,[n,r])=>(n.startsWith(`_`)||(t.default.isValidElement(r)||typeof r!=`object`||Array.isArray(r))&&e.push(yd(n)),e),[]):[]},Sd=(e,t)=>Array.isArray(e)?e.reduce((e,t)=>(t===`delete`?e[t]={kind:`delete`}:e[t]={kind:`modal`},e),{}):e?Object.entries(e).reduce((e,[t,n])=>(n&&(e[t]=n),e),{}):t?{add:{kind:`modal`},edit:{kind:`modal`},delete:{kind:`delete`}}:{},Cd=(e,t)=>e?.visible?typeof e.visible==`function`?e.visible(t):e.visible:!0,wd=(e,t)=>e?.disabled?typeof e.disabled==`function`?e.disabled(t):e.disabled:!1,Td=(e,t,n)=>t?.label?t.label:e===`add`?n?.add??`Add`:e===`edit`?n?.edit??`Edit`:e===`delete`?n?.delete??`Delete`:T.toCamel(e,` `),Ed=e=>{if(!(!e||typeof e==`boolean`))return e};function Dd({records:e,recordId:n,columns:r,runAction:i,sortable:a,pagination:o,selection:s=!1,selectedKeys:c,onSelectionChange:l,onRowClick:u,reorderable:d=!1,onReorder:f,activeKey:p,groupBy:m,wrapperClassName:h,className:g,heightClassName:_,scrollClassName:v,headerClassName:y,before:b,after:x}){let S=(0,t.useMemo)(()=>gd(n),[n]),C=(0,t.useRef)(new Map),w=(0,t.useMemo)(()=>e.reduce((e,t)=>(e.set(S(t),t),e),new Map),[S,e]),T=(0,t.useMemo)(()=>r.reduce((e,t)=>(e.set(String(t.key),t),e),new Map),[r]);(0,t.useEffect)(()=>{let t=new Set(e.map(e=>S(e)));for(let e of C.current.keys())t.has(e)||C.current.delete(e)},[S,e]);let E=(0,t.useCallback)((e,t,n)=>{let r=e,a=S(r),o=T.get(t);if(!o)return le(r,t);let s=le(r,t),c=C.current.get(a)??new Map,l=c.get(t),u=typeof o.render==`function`;if(l&&l.recordRef===r&&l.valueRef===s&&l.renderRef===o.render&&(!u||l.rowIndex===n))return l.output;let d=vd(o,{record:r,value:s,key:t,rowIndex:n,runAction:e=>i(e,r)});return c.set(t,{recordRef:r,valueRef:s,renderRef:o.render,rowIndex:n,output:d}),C.current.set(a,c),d},[T,S,i]);return t.default.createElement(iu,{columns:r.map(e=>({key:String(e.key),label:e.label,className:e.className,sort:e.sortable})),records:e,recordId:e=>S(e),sortable:a,pagination:o,renderCell:E,selection:s===`single`?`single`:`multiple`,selectedKeys:s?c:void 0,onSelectionChange:s?t=>{let n=new Set(t.keys),r=e.filter(e=>n.has(S(e))),i=t.keys;if(s===`single`&&t.keys.length>1){let e=t.keys[t.keys.length-1];i=e?[e]:[],r=e&&w.get(e)?[w.get(e)]:[]}let a={keys:i,records:r,hasSelection:i.length>0,clear:()=>l?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})};l?.(a)}:void 0,onRowClick:u?e=>{let t=S(e),n=w.get(t);n&&u(n)}:void 0,onReorder:d&&f?(e,t)=>{let n=e.map(e=>w.get(S(e))).filter(Boolean),r=w.get(S(t.record));r&&f(n,{fromIndex:t.fromIndex,toIndex:t.toIndex,record:r})}:void 0,activeKey:p,groupBy:m,wrapperClassName:h,className:g,heightClassName:_,scrollClassName:v,headerClassName:y,before:b,after:x})}var Od=(0,t.createContext)(null),kd=0,Ad=`LLM Native`,jd={charset:`UTF-8`,viewport:`width=device-width, initial-scale=1.0`},Md={lang:`en`};function Nd(e,t){return t.includes(`:`)?t:`${e}:${t}`}function Pd(e){return Array.isArray(e)?e.join(`, `):e}function Fd(e){return e===`siteName`?`og:site_name`:Nd(`og`,e)}function Id(e){return[...e.canonical?[{rel:`canonical`,href:e.canonical}]:[],...e.ampHtml?[{rel:`amphtml`,href:e.ampHtml}]:[],...e.sitemap?[{rel:`sitemap`,href:e.sitemap,type:`application/xml`}]:[],...e.links??[]]}function Ld(e){return[...e.prev?[{rel:`prev`,href:e.prev}]:[],...e.next?[{rel:`next`,href:e.next}]:[]]}function Rd(e){return(e.alternates??[]).map(e=>({rel:`alternate`,href:e.href,hrefLang:e.hrefLang,media:e.media,type:e.type,title:e.title}))}function zd(e,t,n){return{name:{description:e.description,...e.meta??{},robots:n.robots??e.meta?.robots,googlebot:n.googlebot,keywords:Pd(n.keywords),author:n.author,publisher:n.publisher,referrer:n.referrer,...n.meta??{},...Object.fromEntries(Object.entries(t.twitter??{}).map(([e,t])=>[Nd(`twitter`,e),t]))},property:Object.fromEntries(Object.entries(t.openGraph??{}).map(([e,t])=>[Fd(e),t]))}}function Bd(e,t,n,r){return[...Id(t),...Ld(r),...Rd(n),...e.canonical&&!t.canonical?[{rel:`canonical`,href:e.canonical}]:[],...e.links??[]]}function Vd(e){return[...(e.fonts??[]).flatMap(e=>[...(e.dnsPrefetch??[]).map(e=>({rel:`dns-prefetch`,href:e})),...(e.preconnect??[]).map(t=>({rel:`preconnect`,href:t,crossOrigin:e.crossOrigin})),...e.preload?[{rel:`preload`,href:e.href,as:e.as??`font`,type:e.type,media:e.media,crossOrigin:e.crossOrigin}]:[],{rel:`stylesheet`,href:e.href,media:e.media,crossOrigin:e.crossOrigin}])]}function Hd(e){return[...e.manifest?[{rel:`manifest`,href:e.manifest}]:[],...e.favicon?[{rel:`icon`,href:e.favicon}]:[],...e.appleTouchIcon?[{rel:`apple-touch-icon`,href:e.appleTouchIcon}]:[],...e.icons??[]]}function Ud(e){return{"theme-color":e.themeColor,"msapplication-TileColor":e.backgroundColor,"color-scheme":e.colorScheme,"application-name":e.applicationName,"mobile-web-app-capable":e.mobileWebAppCapable===void 0?void 0:String(e.mobileWebAppCapable),"apple-mobile-web-app-capable":e.appleMobileWebAppCapable===void 0?void 0:String(e.appleMobileWebAppCapable),"apple-mobile-web-app-title":e.appleMobileWebAppTitle,"apple-mobile-web-app-status-bar-style":e.appleMobileWebAppStatusBarStyle}}function Wd(e){return Array.isArray(e.jsonLd)?e.jsonLd:e.jsonLd?[e.jsonLd]:[]}function Gd(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>!!e))}function Kd(e){let{inline:t,...n}=e;return Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0&&e!==!1))}function qd(e){let{inline:t,...n}=e;return Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0&&e!==!1))}function Jd({appName:e,metadata:n,social:r,links:i,pagination:a,language:o,document:c,assets:l,pwa:u,schemaOrg:d}){if(globalThis.document===void 0)return null;let f=zd(n,r,c),p=Ud(u),m=[...Bd(i,c,o,a),...Vd(l),...Hd(u)],h=Wd(d);return(0,s.createPortal)(t.default.createElement(t.default.Fragment,null,c.charset?t.default.createElement(`meta`,{charSet:c.charset,"data-rfs-head":`document`}):null,c.base?.href||c.base?.target?t.default.createElement(`base`,{href:c.base.href,target:c.base.target,"data-rfs-head":`document`}):null,c.viewport?t.default.createElement(`meta`,{name:`viewport`,content:c.viewport,"data-rfs-head":`document`}):null,Object.entries(c.httpEquiv??{}).map(([e,n])=>n?t.default.createElement(`meta`,{key:`http-equiv:${e}`,httpEquiv:e,content:n,"data-rfs-head":`document`}):null),Object.entries(f.name).map(([e,n])=>n?t.default.createElement(`meta`,{key:`name:${e}`,name:e,content:n,"data-rfs-head":`meta`}):null),Object.entries(f.property).map(([e,n])=>n?t.default.createElement(`meta`,{key:`property:${e}`,property:e,content:n,"data-rfs-head":`meta`}):null),Object.entries(p).map(([e,n])=>n?t.default.createElement(`meta`,{key:`pwa:${e}`,name:e,content:n,"data-rfs-head":`pwa`}):null),m.map((e,n)=>t.default.createElement(`link`,{key:`${e.rel}:${e.href??n}`,...Gd(e),"data-rfs-head":`link`})),(l.styles??[]).map((e,n)=>t.default.createElement(t.default.Fragment,{key:`style:${e.href??n}`},e.href?t.default.createElement(`link`,{rel:`stylesheet`,href:e.href,...qd(e),"data-rfs-head":`asset-style`}):null,e.inline?t.default.createElement(`style`,{id:e.id,nonce:e.nonce,media:e.media,title:e.title,"data-rfs-head":`asset-style`},e.inline):null)),(l.scripts??[]).map((e,n)=>t.default.createElement(t.default.Fragment,{key:`script:${e.src??n}`},e.src?t.default.createElement(`script`,{...Kd(e),"data-rfs-head":`asset-script`}):null,e.inline?t.default.createElement(`script`,{type:e.type,id:e.id,nonce:e.nonce,"data-rfs-head":`asset-script`},e.inline):null)),h.map((e,n)=>t.default.createElement(`script`,{key:`schema-org:${n}`,type:`application/ld+json`,"data-rfs-head":`schema-org`},JSON.stringify(e)))),globalThis.document.head)}function Yd({appName:e=Ad,children:n}){let r=e||`LLM Native`,i=t.default.useRef(globalThis.document===void 0?``:globalThis.document.documentElement.lang),a=t.default.useRef(globalThis.document===void 0?``:globalThis.document.documentElement.dir),[o,s]=(0,t.useState)({}),[c,l]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[f,p]=(0,t.useState)({}),[m,h]=(0,t.useState)({}),[g,_]=(0,t.useState)(Md),[v,y]=(0,t.useState)(jd),[b,x]=(0,t.useState)({}),[S,C]=(0,t.useState)({}),[w,T]=(0,t.useState)({}),E=(0,t.useCallback)(()=>s({}),[]),D=(0,t.useCallback)((e,t)=>{l(n=>[...n.filter(t=>t.id!==e),{id:e,metadata:t}])},[]),O=(0,t.useCallback)(e=>{l(t=>t.filter(t=>t.id!==e))},[]),k=(0,t.useCallback)(()=>d({}),[]),A=(0,t.useCallback)(()=>p({}),[]),j=(0,t.useCallback)(()=>h({}),[]),M=(0,t.useCallback)(()=>_(Md),[]),N=(0,t.useCallback)(()=>y(jd),[]),P=(0,t.useCallback)(()=>x({}),[]),F=(0,t.useCallback)(()=>C({}),[]),I=(0,t.useCallback)(()=>T({}),[]);(0,t.useEffect)(()=>{globalThis.document!==void 0&&(globalThis.document.documentElement.lang=g.lang??i.current,globalThis.document.documentElement.dir=g.dir??a.current)},[g.lang,g.dir]);let L=c.length>0?c[c.length-1].metadata:o;(0,t.useEffect)(()=>{globalThis.document!==void 0&&(globalThis.document.title=L.title??r)},[L.title,r]);let R=(0,t.useMemo)(()=>({metadata:L,social:u,links:f,pagination:m,language:g,document:v,assets:b,pwa:S,schemaOrg:w,setPageMetadata:s,clearPageMetadata:E,setPageMetadataEntry:D,clearPageMetadataEntry:O,setSocialHead:d,clearSocialHead:k,setHeadLinks:p,clearHeadLinks:A,setPaginationHead:h,clearPaginationHead:j,setLanguageHead:_,clearLanguageHead:M,setDocumentHead:y,clearDocumentHead:N,setAssetsHead:x,clearAssetsHead:P,setPwaHead:C,clearPwaHead:F,setSchemaOrg:T,clearSchemaOrg:I}),[L,u,f,m,g,v,b,S,w,E,D,O,k,A,j,M,N,P,F,I]);return t.default.createElement(Od.Provider,{value:R},n,t.default.createElement(Jd,{appName:r,metadata:L,social:u,links:f,pagination:m,language:g,document:v,assets:b,pwa:S,schemaOrg:w}))}function Xd(){return(0,t.useContext)(Od)}function Zd(e){return JSON.stringify(e??{})}function Qd(e){let n=Xd(),r=t.default.useRef(null);r.current||=(kd+=1,`metadata-${kd}`);let i=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=r.current;return n.setPageMetadataEntry(t,e),()=>n.clearPageMetadataEntry(t)},[n?.setPageMetadataEntry,n?.clearPageMetadataEntry,i]),n}function $d(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.social;return n.setSocialHead(e),()=>n.setSocialHead(t)},[n?.setSocialHead,r]),n}function ef(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.links;return n.setHeadLinks(e),()=>n.setHeadLinks(t)},[n?.setHeadLinks,r]),n}function tf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.pagination;return n.setPaginationHead(e),()=>n.setPaginationHead(t)},[n?.setPaginationHead,r]),n}function nf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.language;return n.setLanguageHead(e),()=>n.setLanguageHead(t)},[n?.setLanguageHead,r]),n}function rf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.document;return n.setDocumentHead({...t,...e}),()=>n.setDocumentHead(t)},[n?.setDocumentHead,r]),n}function af(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.assets;return n.setAssetsHead(e),()=>n.setAssetsHead(t)},[n?.setAssetsHead,r]),n}function of(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.pwa;return n.setPwaHead(e),()=>n.setPwaHead(t)},[n?.setPwaHead,r]),n}function sf(e){let n=Xd(),r=Zd(e);return(0,t.useEffect)(()=>{if(!n||!e)return;let t=n.schemaOrg;return n.setSchemaOrg(e),()=>n.setSchemaOrg(t)},[n?.setSchemaOrg,r]),n}function cf(e){return Qd(e),null}var lf=e=>/^(https?:)?\/\//.test(e)||e.startsWith(`mailto:`)||e.startsWith(`tel:`),uf=e=>!!e&&!lf(e)&&!e.startsWith(`#`),df=e=>e.startsWith(`#`),ff=e=>typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(ff).join(``):t.default.isValidElement(e)?ff(e.props.children):``,pf=e=>{if(t.default.isValidElement(e))return/language-([\w-]+)/.exec(e.props.className||``)?.[1]};function mf({code:e,language:n}){let[r,i]=t.default.useState(!1),a=ct(`code`);return t.default.createElement(`div`,{className:`relative my-4 overflow-hidden rounded-md border bg-muted/50`},t.default.createElement(`div`,{className:`flex h-9 items-center justify-between border-b px-3`},t.default.createElement(`span`,{className:`text-xs font-medium text-muted-foreground`},n||a.codeLanguageDefault),t.default.createElement(`button`,{type:`button`,className:`rounded border bg-background px-2 py-1 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:()=>{k(e),i(!0),window.setTimeout(()=>i(!1),1600)}},r?a.copied:a.copy)),t.default.createElement(`pre`,{className:`m-0 overflow-x-auto p-4 text-xs leading-relaxed`},t.default.createElement(`code`,{className:n?`language-${n}`:void 0},e)))}var hf=e=>({h1:({className:e,...n})=>t.default.createElement(`h1`,{className:X(`mt-8 scroll-m-20 text-3xl font-bold tracking-normal first:mt-0 [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h2:({className:e,...n})=>t.default.createElement(`h2`,{className:X(`mt-8 scroll-m-20 border-b pb-2 text-2xl font-semibold tracking-normal first:mt-0 [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h3:({className:e,...n})=>t.default.createElement(`h3`,{className:X(`mt-6 scroll-m-20 text-xl font-semibold tracking-normal [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),h4:({className:e,...n})=>t.default.createElement(`h4`,{className:X(`mt-5 scroll-m-20 text-base font-semibold tracking-normal [&>a]:no-underline [&>a:hover]:opacity-80`,e),...n}),p:({className:e,...n})=>t.default.createElement(`p`,{className:X(`my-4 leading-7 text-foreground`,e),...n}),ul:({className:e,...n})=>t.default.createElement(`ul`,{className:X(`my-4 ml-6 list-disc space-y-2`,e),...n}),ol:({className:e,...n})=>t.default.createElement(`ol`,{className:X(`my-4 ml-6 list-decimal space-y-2`,e),...n}),li:({className:e,...n})=>t.default.createElement(`li`,{className:X(`leading-7`,e),...n}),blockquote:({className:e,...n})=>t.default.createElement(`blockquote`,{className:X(`my-4 border-l-4 border-primary bg-muted/40 px-4 py-3 text-sm text-muted-foreground`,e),...n}),table:({className:e,...n})=>t.default.createElement(`div`,{className:`my-4 w-full overflow-x-auto`},t.default.createElement(`table`,{className:X(`w-full border-collapse text-sm`,e),...n})),th:({className:e,...n})=>t.default.createElement(`th`,{className:X(`border bg-muted px-3 py-2 text-left font-semibold`,e),...n}),td:({className:e,...n})=>t.default.createElement(`td`,{className:X(`border px-3 py-2 align-top`,e),...n}),hr:({className:e,...n})=>t.default.createElement(`hr`,{className:X(`my-8 border-border`,e),...n}),a:({className:n,href:r=``,onClick:i,...a})=>t.default.createElement(`a`,{className:X(df(r)?`text-primary no-underline transition-opacity hover:opacity-80`:`font-medium text-primary no-underline transition-opacity hover:opacity-80`,n),href:r,target:lf(r)?`_blank`:void 0,rel:lf(r)?`noreferrer`:void 0,onClick:t=>{i?.(t),!t.defaultPrevented&&e&&uf(r)&&(t.preventDefault(),e(r,t))},...a}),pre:({children:e})=>t.default.createElement(mf,{code:ff(e).replace(/\n$/,``),language:pf(e)}),code:({className:e,children:n,...r})=>typeof e==`string`&&e.startsWith(`language-`)?t.default.createElement(`code`,{className:e,...r},n):t.default.createElement(`code`,{className:X(`rounded bg-muted px-1.5 py-0.5 text-[0.9em]`,e),...r},n),input:({className:e,...n})=>t.default.createElement(`input`,{className:X(`mr-2 align-middle`,e),disabled:!0,...n})});function gf({content:e,components:n,className:r,wrapperClassName:i,metadata:a,onInternalLinkClick:o}){let s=t.default.useMemo(()=>e.match(/^#[ \t]+(.+)/m)?.[1]?.trim(),[e]);Qd(a||s?{...a??{},title:a?.title??s}:void 0);let c=t.default.useMemo(()=>hf(o),[o]);return t.default.createElement(`div`,{className:X(`rf-markdown-reader max-w-none text-sm text-foreground`,i,r)},t.default.createElement(m.default,{remarkPlugins:[h.default],rehypePlugins:[g.default,[_.default,{behavior:`wrap`}],v.default],components:{...c,...n}},e))}var _f=({children:e,name:n,onChange:r=void 0,onAdd:i=void 0,onRemove:a=void 0,label:o=`Tab`,min:s=1,max:c=void 0,activeIndex:l=0,title:u=void 0,readOnly:d=!1,tabPosition:f=`default`})=>{let{value:p,handleChange:m}=Nl({name:n,onChange:r}),h=Array.isArray(p)?p:[],[g,_]=(0,t.useState)(l),[v,y]=(0,t.useState)(0),b=(0,t.useMemo)(()=>(h.length>0?h:Array.from({length:s},()=>({})))?.map((e,t)=>o.includes(`{`)?T.parse(h[t]??{},o):o+` `+(t+1)),[h,o,s,v]),x=typeof e==`function`?e({record:h[g]??{},records:h,currentIndex:g}):e,S=(0,t.useMemo)(()=>Il({children:x,parentName:`${n}.${g}`,parentKey:`${n}-${g}-${v}`}),[g,x,n,v]),C=()=>{let e=h.length>0?[...h,{}]:Array.from({length:b.length+1},()=>({}));i?.(e),m({target:{name:`${n}.${e.length-1}`,value:{}}}),_(e.length-1),y(e=>e+1)},w=e=>{let t=b.length-1;a?.(e),m({target:{name:`${n}.${e}`}}),g>=t&&_(e=>e-1),y(e=>e+1)},E=Ql[f],D=Yl(f);return t.default.createElement(`div`,null,u&&t.default.createElement(`h3`,null,u),t.default.createElement(E,{menu:t.default.createElement(t.default.Fragment,null,b?.map((e,r)=>t.default.createElement(`div`,{key:`${n}-${r}`,className:`${D.itemClassName} relative`},t.default.createElement(`button`,{type:`button`,role:`tab`,"aria-selected":r===g,onClick:()=>_(r),className:Xl(f,r===g,!d&&b.length-1>=s&&r===g?`pr-9`:void 0)},e),!d&&b.length-1>=s&&r===g&&t.default.createElement(gn,{className:`absolute right-2 top-1/2 -translate-y-1/2 p-1 text-current opacity-70 hover:opacity-100`,icon:`x`,onClick:()=>w(r)}))),!d&&(!c||b.length<c)&&t.default.createElement(`div`,{key:b.length+1,className:D.itemClassName},t.default.createElement(gn,{className:Xl(f,!1,`border border-dashed border-border/70 justify-center`),icon:`plus`,title:`Add tab`,onClick:C}))),content:t.default.createElement(`div`,{className:Zl()},S)}))},vf=({records:e,children:n,limit:r=void 0,page:i=void 0,maxPageButtons:a=void 0,appendTo:o=void 0,before:c=void 0,after:l=void 0,className:u=void 0,wrapperClassName:d=void 0,scrollToTopOnChange:f=void 0,scrollBehavior:p=void 0,align:m=void 0,sticky:h=void 0})=>{let g=Y(`pagination`),_=ct(`common`),[v,y]=(0,t.useState)(i||1),b=r||e.length,x=Math.ceil(e.length/b),S=(v-1)*b,C=S+b,w=(0,t.useMemo)(()=>e.slice(S,C),[e,S,C]),T=e=>{e>=1&&e<=x&&y(e)};(0,t.useEffect)(()=>{(f||g.Pagination.scrollToTop)&&window.scrollTo({top:0,behavior:p||g.Pagination.scrollBehavior})},[v,f,p]);let E=(0,t.useMemo)(()=>{let e=Math.min(a||g.Pagination.maxItems,x),t=Math.max(1,v-Math.floor(e/2)),n=t+e-1;return n>x&&(n=x,t=Math.max(1,n-e+1)),Array.from({length:n-t+1},(e,n)=>t+n)},[v,a,x]),D=v===1?`disabled`:``,O=v===x?`disabled`:``,k={start:`justify-start`,center:`justify-center`,end:`justify-end`}[m||g.Pagination.align]||`justify-end`,A=e.length>b&&(h??g.Pagination.sticky),j=t.default.createElement(Z,{className:(d||g.Pagination.wrapperClassName)+(A?` ${g.Pagination.stickyClassName}`:``),style:A?{backdropFilter:`blur(10px)`,backgroundColor:`rgba(255, 255, 255, 0.1)`}:{}},c,e.length>b&&t.default.createElement(`nav`,{"aria-label":_.pageNavigation,className:`${u||g.Pagination.className} flex w-full ${k}`},t.default.createElement(`ul`,{className:`flex items-center gap-1`},t.default.createElement(`li`,{className:`mr-2`},t.default.createElement(`button`,{type:`button`,onClick:()=>T(1),disabled:D===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,D===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`)},t.default.createElement(`span`,null,`«`))),t.default.createElement(`li`,null,t.default.createElement(`button`,{type:`button`,disabled:D===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,D===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`),onClick:()=>T(v-1)},t.default.createElement(`span`,null,`‹`))),E.map(e=>t.default.createElement(`li`,{key:e},t.default.createElement(`button`,{type:`button`,onClick:()=>T(e),className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors cursor-pointer hover:bg-accent hover:text-accent-foreground`,v===e&&`border-primary bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground`)},e))),t.default.createElement(`li`,{className:`ml-2`},t.default.createElement(`button`,{type:`button`,disabled:O===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,O===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`),onClick:()=>T(v+1)},t.default.createElement(`span`,null,`›`))),t.default.createElement(`li`,null,t.default.createElement(`button`,{type:`button`,onClick:()=>T(x),disabled:O===`disabled`,className:X(`inline-flex h-9 min-w-[2.25rem] items-center justify-center rounded-md border bg-background px-3 text-sm transition-colors`,O===`disabled`?`pointer-events-none opacity-40`:`cursor-pointer hover:bg-accent hover:text-accent-foreground`)},t.default.createElement(`span`,null,`»`))))),l);return t.default.createElement(t.default.Fragment,null,n(w,S),o?(0,s.createPortal)(j,o):o===void 0&&j)},yf=({records:e=void 0,header:n=void 0,footer:r=void 0,overlays:i=void 0,onRowClick:a=void 0,onSelectionChange:o=void 0,sortable:s=!1,pagination:c=void 0,gap:l=void 0,columns:u=void 0,groupBy:d=void 0,selectedKeys:f=void 0,before:p=void 0,after:m=void 0,wrapperClassName:h=void 0,className:g=void 0,headerClassName:_=void 0,scrollClassName:v=void 0,bodyClassName:y=void 0,footerClassName:b=void 0,selectedClassName:x=void 0})=>{let S=Y(`gallery`),C=ct(`gallery`),w=ct(`common`),T=x||S.Gallery.selectedClassName,[E,D]=(0,t.useState)(null),O=(0,t.useCallback)(e=>{e&&D(e)},[]),k=l??S.Gallery.gap,A=u??S.Gallery.rowCols,j={0:`0`,1:`0.25rem`,2:`0.5rem`,3:`1rem`,4:`1.5rem`,5:`3rem`},M=j[k]??j[2],N=`0.75rem`,P=`calc(50% - 1rem)`,F=k===0?`${(100/A).toFixed(4)}%`:`calc((100% - (${M} * ${A-1})) / ${A})`,I=e||[],L=(0,t.useMemo)(()=>{if(!s)return;if(typeof s==`object`)return s;let t=e?.[0];if(!t)return;let n=Object.keys(t).find(e=>!e.startsWith(`_`));if(n)return{field:n,dir:`asc`}},[e,typeof s==`object`?s?.dir:void 0,typeof s==`object`?s?.field:void 0,s]),R=ru(`item`),z=(0,t.useCallback)((e,t)=>R(e,t),[R]),{activeSelectedKeys:B,showSelection:V,updateSelection:ee}=nu({records:I,selectedKeys:f,onSelectionChange:o,getRecordKey:z}),H=(0,t.useRef)(new Map);(0,t.useEffect)(()=>{let e=new Set(I.map((e,t)=>z(e,t)));for(let t of H.current.keys())e.has(t)||H.current.delete(t)},[I,z]);let te=(e,t)=>{if(T){let t=T.split(/\s+/).filter(Boolean),n=e.target;for(;n&&!n.classList.contains(`item`);){if([`A`,`BUTTON`,`INPUT`,`LABEL`].includes(n.tagName))return;n=n.parentNode}t.every(e=>n.classList.contains(e))||(Array.from(n.parentNode?.children||[]).forEach(e=>{e.classList.remove(...t)}),n.classList.add(...t))}a?.(t)},U=(0,t.useCallback)((e,t)=>{let n=z(e,t),r=B.includes(n)?B.filter(e=>e!==n):[...B,n];ee(r)},[B,z,ee]),ne=(e,n)=>{let r=e.img;return r&&t.default.isValidElement(r)?t.default.cloneElement(r,{className:X(`block h-auto w-full max-w-full rounded-lg object-cover`,r.props.className),style:{...r.props.style||{},aspectRatio:r.props.style?.aspectRatio||`16 / 11`,cursor:a?`pointer`:`default`},onClick:a?(t=>{te(t,e),r.props.onClick?.(t)}):r.props.onClick}):t.default.createElement(`img`,{className:`block h-auto w-full max-w-full rounded-lg object-cover`,src:e.thumbnail?e.mimetype+e.thumbnail:`data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAgAAAAwAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==`,alt:e.name,width:e.width,height:e.height,style:{aspectRatio:`16 / 11`,cursor:a?`pointer`:`default`},onClick:a?(t=>te(t,e)):void 0})},W=e=>t.default.isValidElement(e)?e:t.default.createElement(`span`,{className:`inline-block max-w-full overflow-hidden text-ellipsis align-top`},t.default.createElement(wt,{badge:e,className:`badge-overlay`})),G=(e,n,r=`left`,i)=>t.default.createElement(`div`,{className:X(`absolute z-10 overflow-hidden text-ellipsis whitespace-nowrap leading-none`,r===`right`?`text-right`:`text-left`,i),style:{width:P,maxWidth:P,pointerEvents:`none`,...n}},W(e)),re={topLeft:{style:{left:N,top:N}},topRight:{style:{right:N,top:N},align:`right`},bottomLeft:{style:{bottom:N,left:N}},bottomRight:{style:{bottom:N,right:N},align:`right`},middleLeft:{style:{left:N,top:`50%`,transform:`translateY(-50%)`}},middleRight:{style:{right:N,top:`50%`,transform:`translateY(-50%)`},align:`right`}},ie=(e,t,n)=>e.when?typeof e.when==`function`?e.when(t,n):Object.entries(e.when).every(([e,n])=>t[e]===n):!0,ae=(e,t,n)=>e.render?e.render(t,n):typeof e.badge==`function`?e.badge(t,n):e.badge,oe=(e,n)=>i?.length?i.map((r,i)=>{if(!r.position||!ie(r,e,n))return null;let a=ae(r,e,n);if(a==null||a===!1)return null;let o=re[r.position];return o?t.default.createElement(t.default.Fragment,{key:`${r.position}-${i}`},G(a,{...o.style,...r.style},o.align,r.className)):null}):null,se=(0,t.useCallback)((e,t)=>{let n=z(e,t),r=H.current.get(n);if(r&&r.recordRef===e&&r.overlaysRef===i&&r.onClickRef===a&&r.rowIndex===t)return{image:r.image,overlays:r.overlays};let o={image:ne(e,t),overlays:oe(e,t)};return H.current.set(n,{recordRef:e,overlaysRef:i,onClickRef:a,rowIndex:t,image:o.image,overlays:o.overlays}),o},[z,a,i]),K=(e,n)=>{let r=z(n,e),i=B.includes(r),a=T?.split(/\s+/).filter(Boolean)||[],o=se(n,e);return t.default.createElement(`div`,{key:r,className:X(`item min-w-0`,i&&a),style:{flex:`0 0 ${F}`,maxWidth:F}},t.default.createElement(`div`,{className:`relative overflow-hidden rounded-lg`},V&&t.default.createElement(`label`,{className:`absolute left-3 top-3 z-20 inline-flex items-center rounded bg-background/90 px-2 py-1 shadow-sm`},t.default.createElement(`input`,{type:`checkbox`,"aria-label":et(C.selectItem,{key:r}),checked:i,onChange:()=>U(n,e),onClick:e=>e.stopPropagation()})),o.image,o.overlays))},ce=(e,t)=>{let n=Array.isArray(t)?t:[t],r=new Map;return e.forEach((e,t)=>{let i=n.map(t=>String(e[t]??``)).join(` · `)||`-`;r.has(i)||r.set(i,[]),r.get(i).push({item:e,index:t})}),Array.from(r.entries()).map(([e,t])=>({kind:`group`,groupName:e,items:t}))},q=(0,t.useMemo)(()=>{if(!Array.isArray(e))return;let t=po.records(e,L)||[];return d?ce(t,d):t.map((e,t)=>({kind:`item`,item:e,index:t}))},[e,d,L]);return q===void 0?t.default.createElement(`p`,{className:`p-4`},t.default.createElement(`span`,{className:`mr-2 inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),w.loading):q.length===0?t.default.createElement(`p`,{className:`p-4`},w.noDataFound):t.default.createElement(`div`,{className:X(`flex items-stretch gap-3`,h||S.Gallery.wrapperClassName)},p&&t.default.createElement(`div`,{className:`gallery-before flex shrink-0 items-center self-stretch`},p),t.default.createElement(Z,{className:X(`min-w-0 flex-1 flex flex-col`,g||S.Gallery.className)},n&&t.default.createElement(`div`,{className:_||S.Gallery.headerClassName},n),t.default.createElement(Z,{className:X(`min-w-0 flex-1`,v||S.Gallery.scrollClassName)},t.default.createElement(vf,{records:q,appendTo:E,wrapperClassName:`px-3 pt-4 pb-2`,...c||{}},e=>t.default.createElement(`div`,{className:`p-3`},t.default.createElement(`div`,{className:`flex flex-wrap text-center items-center `+(y||S.Gallery.bodyClassName),style:{gap:M}},e.map(e=>e.kind===`group`?t.default.createElement(`section`,{key:e.groupName,className:`gallery-group rounded-lg border bg-card p-3 text-left`},t.default.createElement(`h3`,{className:`mb-3 text-sm font-semibold uppercase tracking-wide text-muted-foreground`},e.groupName),t.default.createElement(`div`,{className:X(`flex flex-wrap items-center`),style:{gap:M}},e.items.map(({item:e,index:t})=>K(t,e)))):K(e.index,e.item)))))),t.default.createElement(`div`,{ref:O,className:`mt-auto`}),r&&t.default.createElement(`div`,{className:b||S.Gallery.footerClassName},r)),m&&t.default.createElement(`div`,{className:`gallery-after flex shrink-0 items-center self-stretch`},m))};function bf({records:e,recordId:n,sortable:r,pagination:i,selection:a=!1,selectedKeys:o,onSelectionChange:s,onRowClick:c,groupBy:l,wrapperClassName:u,before:d,after:f,columns:p,overlays:m}){let h=(0,t.useMemo)(()=>gd(n),[n]),g=(0,t.useMemo)(()=>e.reduce((e,t)=>(e.set(h(t),t),e),new Map),[h,e]),_=(0,t.useMemo)(()=>e.map(e=>({...e,[pi]:h(e)})),[e,h]);return t.default.createElement(yf,{records:_,overlays:m,sortable:r,pagination:i,selectedKeys:a?o:void 0,onSelectionChange:a?e=>{let t=e.keys,n=e.records;if(a===`single`&&e.keys.length>1){let r=e.keys[e.keys.length-1];t=r?[r]:[],n=r&&g.get(r)?[g.get(r)]:[]}let r={keys:t,records:n,hasSelection:t.length>0,clear:()=>s?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})};s?.(r)}:void 0,onRowClick:c?e=>c(e):void 0,groupBy:l,wrapperClassName:u,before:d,after:f,columns:p})}function xf({actions:e,form:r,editDeepLink:i,preparedRecords:a,recordId:o,sourcePath:s,db:c,onSave:l,onDelete:u,onComplete:d,audit:f=!1}){let p=(0,n.useLocation)(),m=(0,n.useNavigate)(),h=(0,t.useId)(),g=Cl(),_=(0,t.useMemo)(()=>gd(o),[o]),v=(0,t.useMemo)(()=>Sd(e,!!r),[e,r]),[y,b]=(0,t.useState)(null),x=(0,t.useMemo)(()=>`${hd(s||`grid-records`)}-${hd(h)}`,[h,s]),S=(0,t.useCallback)(()=>{b(null),i&&p.hash.startsWith(`#${x}:`)&&m({pathname:p.pathname,search:p.search,hash:``},{replace:!0})},[i,x,p.hash,p.pathname,p.search,m]),C=(0,t.useCallback)(async(e,t=!0)=>{let n=u?await u({record:e}):s?`${s}/${_(e)}`:void 0;if(!n&&!u)return!1;n&&await c.remove(n);let r=await d?.({record:e,action:`delete`})??!0;return r&&t&&S(),r},[S,c,_,d,u,s]),w=(0,t.useCallback)(async()=>g.save(),[g]),T=(0,t.useCallback)(async(e,t)=>{let n=v[e];if(!n||!Cd(n,t)||wd(n,t))return;let r={actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,close:S,save:w,remove:async()=>t?C(t,!0):!1,runAction:(e,t)=>T(e,t)};if(n.kind===`route`){let e=typeof n.to==`function`?n.to(r):n.to;m(e);return}if(n.kind===`external`){let e=typeof n.href==`function`?n.href(r):n.href;window.open(e,`_blank`,`noopener,noreferrer`);return}if(n.kind===`inline`){await n.run(r);return}e===`edit`&&i&&t&&m({hash:`${x}:${encodeURIComponent(_(t))}`},{replace:!1}),b({actionKey:e,record:t})},[S,i,_,x,m,v,C,w]),E=(0,t.useCallback)((e,t)=>({actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,runAction:(e,t)=>T(e,t)}),[_,T]),D=(0,t.useCallback)(async e=>{let t=y?.record;if(e===`cancel`){S();return}if(e===`save`){await w();return}if(e===`remove`){if(!t)return;await C(t,!0);return}await T(e,t)},[y?.record,S,C,T,w]),O=(0,t.useCallback)((e,t)=>({actionKey:e,record:t,recordKey:t?_(t):void 0,rowIndex:t?._index,isNewRecord:!t,runAction:e=>{D(e)}}),[_,D]);(0,t.useEffect)(()=>{if(!i)return;let e=p.hash.replace(/^#/,``),t=`${x}:`;if(!e.startsWith(t)){y?.actionKey===`edit`&&b(null);return}let n=decodeURIComponent(e.slice(t.length)),r=a.find(e=>_(e)===n);r&&b(e=>e?.actionKey===`edit`&&e.record&&_(e.record)===n?e:{actionKey:`edit`,record:r})},[y?.actionKey,i,_,x,p.hash,a]);let k=y?v[y.actionKey]:void 0;return{normalizedActions:v,activeAction:y,activeActionConfig:k,activeActionBody:(0,t.useMemo)(()=>{if(!y||!k)return null;let e=E(y.actionKey,y.record),n=O(y.actionKey,y.record);if(k.kind===`delete`)return typeof k.body==`function`?k.body(n):k.body===void 0?t.default.createElement(`div`,{className:`space-y-2`},t.default.createElement(`p`,null,`Delete this record?`),y.record&&t.default.createElement(`p`,{className:`text-sm text-muted-foreground`},_(y.record))):k.body;if((y.actionKey===`add`||y.actionKey===`edit`)&&r){let i=k.kind===`modal`&&k.body!==void 0?typeof k.body==`function`?k.body(n):k.body:typeof r==`function`?r({...e,record:y.record}):r;return t.default.isValidElement(i)?t.default.createElement(Ll,{appearance:`empty`,controller:g,defaultValues:y.record,log:f,onSave:l?async({record:e,action:t,storagePath:n})=>l({record:e,action:t,storagePath:n}):void 0,onDelete:u?async({record:e})=>u({record:e}):void 0,onComplete:async({record:e,action:t})=>{let n=await d?.({record:e,action:t})??!0;return n&&S(),n},path:s},i):i}return k.kind===`modal`&&k.body!==void 0?typeof k.body==`function`?k.body(n):k.body:null},[y,k,f,S,r,g,E,O,_,d,u,l,s]),activeKey:y?.actionKey===`edit`&&y.record?_(y.record):null,runAction:T,runModalAction:D,close:S,getActionContext:E,getModalActionContext:O,getRecordKey:_,formController:g,gridHashId:x}}function Sf({columns:e,records:n,form:r}){return(0,t.useMemo)(()=>xd(e,n,r),[e,r,n])}function Cf({records:e,onLoad:n}){let[r,i]=(0,t.useState)(e),[a,o]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{if(!n){i(e),o(!1);return}let t=!0,r=n(re(e));if(r instanceof Promise)return o(!0),r.then(e=>{t&&i(e)}).finally(()=>{t&&o(!1)}),()=>{t=!1};i(r),o(!1)},[e,n]),{preparedRecords:r,loading:a}}function wf({selection:e}){let n=e!==null&&e!==!1&&typeof e==`object`,r=e?typeof e==`string`?e:e.mode:!1,i=n?e.defaultKeys:void 0,a=n?e.onChange:void 0,[o,s]=(0,t.useState)(i??[]),[c,l]=(0,t.useState)([]);(0,t.useEffect)(()=>{s(i??[]),l([])},[i?.join(`\0`)??``]);let u=(0,t.useCallback)(()=>{s([]),l([]),a?.({keys:[],records:[],hasSelection:!1,clear:()=>void 0})},[a]);return{mode:r,activeSelectionKeys:o,selectionState:(0,t.useMemo)(()=>({keys:o,records:c,hasSelection:o.length>0,clear:u}),[u,o,c]),handleSelectionChange:(0,t.useCallback)(e=>{s(e.keys),l(e.records),a?.(e)},[a])}}var Tf=(e,t,n,r,i)=>t?.kind===`delete`?typeof t.title==`function`?t.title(n):t.title||r:t?.kind===`modal`?typeof t.title==`function`?t.title(n):t.title||Td(e,t,i):Td(e,t,i);function Ef({records:e,recordId:n,sourcePath:r,columns:i,actions:a,form:o,editDeepLink:s,header:c,footer:l,view:u=`table`,views:d,sticky:f,wrapperClassName:p,cardClassName:m,bodyClassName:h,loading:g=!1,title:_,before:v,after:y,sortable:b=!0,pagination:x,selection:S,onRowClick:C,reorderable:w=!1,onReorder:T,groupBy:E,searchable:D,filters:O,onSave:k,onDelete:A,onComplete:j,audit:M=!1,onLoad:N}){let P=Y(`grid`),F=ct(`grid`),I=ct(`common`),L=(0,t.useMemo)(()=>({add:F.buttonAdd}),[F.buttonAdd]),R=$n(),{preparedRecords:z,loading:B}=Cf({records:e,onLoad:N}),V=Sf({columns:i,records:z,form:o}),[ee,H]=(0,t.useState)(()=>Object.fromEntries((O??[]).map(e=>[e.key,e.defaultValue??!1]))),te=(0,t.useCallback)(e=>{H(t=>({...t,[e]:!t[e]}))},[]),U=(0,t.useMemo)(()=>!O||O.length===0?z:z.filter(e=>O.every(t=>t.predicate(e,ee[t.key]??t.defaultValue??!1))),[z,O,ee]),ne=O&&O.length>0?t.default.createElement(`div`,{className:`flex flex-wrap items-center gap-3`},O.map(e=>{let n=ee[e.key]??e.defaultValue??!1;return t.default.createElement(`label`,{key:e.key,className:`inline-flex shrink-0 cursor-pointer items-center gap-1.5 select-none`},t.default.createElement(`span`,{className:`relative inline-flex h-5 w-9 shrink-0 items-center`},t.default.createElement(`input`,{type:`checkbox`,checked:n,onChange:()=>te(e.key),className:`peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0`}),t.default.createElement(`span`,{"aria-hidden":`true`,className:X(`pointer-events-none absolute inset-0 rounded-full transition-colors duration-200 ease-out peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2`,n?`bg-primary`:`bg-muted-foreground/35`)},t.default.createElement(`span`,{className:X(`pointer-events-none absolute top-0.5 left-0.5 h-4 w-4 rounded-full bg-background shadow-sm transition-transform duration-200 ease-out`,n&&`translate-x-4`)}))),t.default.createElement(`span`,{className:`text-sm text-muted-foreground`},e.label))})):null,W=D===!0?{}:D||void 0,[G,re]=(0,t.useState)(``),ie=(0,t.useMemo)(()=>{if(!W||!G.trim())return U;let e=G.trim().toLowerCase(),t=W.fields?.map(String);return U.filter(n=>(t??Object.keys(n)).some(t=>{let r=le(n,t);return typeof r==`string`&&r.toLowerCase().includes(e)}))},[U,W,G]),ae=W?t.default.createElement(`div`,{className:`flex min-w-0 items-center gap-2`},t.default.createElement(`input`,{type:`search`,value:G,onChange:e=>re(e.target.value),placeholder:W.placeholder??I.search,className:`w-full max-w-xs rounded-md border border-input bg-background px-2 py-1 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring`}),t.default.createElement(`span`,{className:`shrink-0 text-xs text-muted-foreground`},ie.length,` / `,U.length)):null,oe=d??{},se=oe.table??{},K=oe.gallery??{},[ce,q]=(0,t.useState)(u);(0,t.useEffect)(()=>{q(u)},[u]);let[ue,de]=(0,t.useState)(()=>new Set(V.filter(e=>e.defaultVisible===!1).map(e=>String(e.key)))),fe=(0,t.useCallback)(e=>{de(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),pe=(0,t.useMemo)(()=>V.filter(e=>!ue.has(String(e.key))),[V,ue]),me=K.fields??[],[he,ge]=(0,t.useState)(()=>new Set(me.filter(e=>e.defaultVisible===!1).map(e=>String(e.key)))),_e=(0,t.useCallback)(e=>{ge(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),ve=(0,t.useMemo)(()=>me.filter(e=>!he.has(String(e.key))),[me,he]),ye=(0,t.useMemo)(()=>{let e=[];if(ve.length){let n=new Map;ve.forEach(e=>{let t=e.position??`bottomLeft`;n.has(t)||n.set(t,[]),n.get(t).push(e)}),e.push(...Array.from(n.entries()).map(([e,n])=>({position:e,render:e=>t.default.createElement(`div`,{className:`w-full space-y-0.5 bg-background/90 px-2 py-1 text-xs`},n.map(n=>{let r=le(e,String(n.key));return t.default.createElement(`div`,{key:String(n.key),className:`truncate font-medium`},n.render?n.render(r,e):String(r??``))}))})))}let n=[...K.overlays??[],...e];return n.length?n:void 0},[K.overlays,ve]),{mode:be,activeSelectionKeys:xe,selectionState:Se,handleSelectionChange:Ce}=wf({selection:S}),{normalizedActions:we,activeAction:Te,activeActionConfig:J,activeActionBody:Ee,activeKey:De,runAction:Oe,close:ke,getActionContext:Ae,getModalActionContext:je,getRecordKey:Me,formController:Ne}=xf({actions:a,form:o,editDeepLink:s,preparedRecords:z,recordId:n,sourcePath:r,db:R,onSave:k,onDelete:A,onComplete:j,audit:M}),Pe=we.edit,Fe=!!Pe&&(Pe.kind!==`modal`||!!o),Ie=(0,t.useCallback)(e=>{if(C?.(e),!Fe)return;let t=Me(e);if(Te?.actionKey===`edit`&&Te.record&&Me(Te.record)===t){ke();return}Oe(`edit`,e)},[Te?.actionKey,Te?.record,Fe,ke,Me,C,Oe]),Le=C||Fe?Ie:void 0,Re=(0,t.useCallback)((e,n,r)=>{let i=we[e];return!i||!Cd(i,n)?null:t.default.createElement(gn,{className:r||(e===`add`?`btn-primary`:void 0),icon:i.icon,label:Td(e,i,L),disabled:wd(i,n),onClick:()=>Oe(e,n)})},[we,Oe,L]),ze=(0,t.useMemo)(()=>Object.entries(we).filter(([e,t])=>e!==`edit`&&e!==`delete`&&Cd(t,void 0)).map(([e])=>e),[we]),Be=(0,t.useMemo)(()=>({title:_,records:z,selection:Se,runAction:Oe}),[z,Oe,Se,_]),Ve=(0,t.useMemo)(()=>({records:z,selection:Se,runAction:Oe}),[z,Oe,Se]),He=oe.toggle?t.default.createElement(`span`,{className:`inline-flex rounded-md border border-border overflow-hidden`},t.default.createElement(gn,{icon:`list`,ariaLabel:`Table view`,title:`Table view`,className:`rounded-none border-0 `+(ce===`table`?`bg-card text-foreground shadow-sm`:`bg-transparent text-muted-foreground`),onClick:()=>q(`table`)}),t.default.createElement(gn,{icon:`layout-grid`,ariaLabel:`Gallery view`,title:`Gallery view`,className:`rounded-none border-0 border-l border-border `+(ce===`gallery`?`bg-card text-foreground shadow-sm`:`bg-transparent text-muted-foreground`),onClick:()=>q(`gallery`)})):null,Ue=se.columnPicker&&ce===`table`?t.default.createElement(fr,{trigger:{icon:`columns`,title:`Columns`},triggerClassName:`btn btn-outline-secondary`,position:`end`},V.map(e=>{let n=String(e.key);return t.default.createElement(`label`,{key:n,className:`flex cursor-pointer items-center gap-2 px-3 py-1.5 text-sm hover:bg-accent`},t.default.createElement(`input`,{type:`checkbox`,checked:!ue.has(n),onChange:()=>fe(n)}),e.label)})):null,We=K.fieldPicker&&ce===`gallery`&&me.length?t.default.createElement(fr,{trigger:{icon:`sliders-horizontal`,title:`Fields`},triggerClassName:`btn btn-outline-secondary`,position:`end`},me.map(e=>{let n=String(e.key);return t.default.createElement(`label`,{key:n,className:`flex cursor-pointer items-center gap-2 px-3 py-1.5 text-sm hover:bg-accent`},t.default.createElement(`input`,{type:`checkbox`,checked:!he.has(n),onChange:()=>_e(n)}),e.label)})):null,Ge=(0,t.useMemo)(()=>{if(c!==void 0)return typeof c==`function`?c(Be):c;if(!(!_&&!ae&&!ne&&!ze.length&&!He&&!Ue&&!We))return t.default.createElement(t.default.Fragment,null,ae||ne?t.default.createElement(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`},_,ae,ne):_||t.default.createElement(`span`,null),ze.length||He||Ue||We?t.default.createElement(`span`,{className:`flex flex-wrap items-center gap-2`},Ue,We,He,ze.map(e=>t.default.createElement(t.default.Fragment,{key:e},Re(e)))):null)},[Re,c,ze,Be,_,He,Ue,We,ae,ne]),Ke=(0,t.useMemo)(()=>{if(l!==void 0)return typeof l==`function`?l(Ve):l},[l,Ve]),qe=(0,t.useMemo)(()=>{if(!(!Te||!J||J.kind!==`modal`&&J.kind!==`delete`))return je(Te.actionKey,Te.record)},[Te,J,je]),Je=(0,t.useMemo)(()=>{if(!(!J||J.kind!==`modal`&&J.kind!==`delete`||J.header===void 0||!qe))return typeof J.header==`function`?J.header(qe):J.header},[J,qe]),Ye=(0,t.useMemo)(()=>{if(!(!J||J.kind!==`modal`&&J.kind!==`delete`)){if(J.footer===!1)return!1;if(!(J.footer===void 0||!qe))return typeof J.footer==`function`?J.footer(qe):J.footer}},[J,qe]),Xe=Ed(b);return t.default.createElement(t.default.Fragment,null,t.default.createElement(ar,{wrapperClassName:p,header:Ge,footer:Ke,className:X(P.Grid.Card.className,f?`sticky-${f}`:``,m),headerClassName:P.Grid.Card.headerClassName,bodyClassName:X(P.Grid.Card.bodyClassName,h),footerClassName:P.Grid.Card.footerClassName,loading:g||B},ce===`gallery`?t.default.createElement(bf,{records:ie,recordId:n,sortable:Xe||b,pagination:x,selection:be,selectedKeys:xe,onSelectionChange:be?Ce:void 0,onRowClick:Le,groupBy:E,wrapperClassName:P.Grid.Gallery.wrapperClassName,before:v,after:y,columns:K.columns,overlays:ye}):t.default.createElement(Dd,{records:ie,recordId:n,columns:pe,runAction:Oe,sortable:Xe||b,pagination:x,selection:be,selectedKeys:xe,onSelectionChange:be?Ce:void 0,onRowClick:Le,reorderable:w,onReorder:T,activeKey:De,groupBy:E,wrapperClassName:P.Grid.Table.wrapperClassName,className:se.className,heightClassName:se.heightClassName,scrollClassName:se.scrollClassName,headerClassName:se.headerClassName,before:v,after:y})),Te&&J&&(J.kind===`modal`||J.kind===`delete`)&&t.default.createElement(or,{size:(J.kind===`modal`||J.kind===`delete`)&&J.size||P.Grid.Modal.size,position:(J.kind===`modal`||J.kind===`delete`)&&J.position||P.Grid.Modal.position,header:Je,title:Tf(Te.actionKey,J,J.kind===`modal`||J.kind===`delete`?je(Te.actionKey,Te.record):Ae(Te.actionKey,Te.record),F.deleteConfirm,L),onClose:ke,onSave:J.kind===`modal`&&J.footer===void 0&&(Te.actionKey===`add`||Te.actionKey===`edit`)?e=>Ne.save(e):void 0,onDelete:J.kind===`delete`?async()=>{let e=Te.record;if(!e)return!1;let t=A?await A({record:e}):r?`${r}/${Me(e)}`:void 0;if(!t&&!A)return!1;t&&await R.remove(t);let n=await j?.({record:e,action:`delete`})??!0;return n&&ke(),n}:J.kind===`modal`&&J.footer===void 0&&Te.actionKey===`edit`&&Te.record&&we.delete?async()=>(await je(Te.actionKey,Te.record).runAction(`remove`),!1):void 0,footer:Ye,showCancel:J.kind===`modal`||J.kind===`delete`?J.footer===void 0:!0,allowFullscreen:J.kind===`modal`||J.kind===`delete`?J.allowFullscreen:!0,wrapperClassName:P.Grid.Modal.wrapperClassName,className:P.Grid.Modal.className,headerClassName:P.Grid.Modal.headerClassName,titleClassName:P.Grid.Modal.titleClassName,bodyClassName:P.Grid.Modal.bodyClassName,footerClassName:P.Grid.Modal.footerClassName},Ee))}function Df(e){return t.default.createElement(Ef,e)}function Of(e){return`records`in e?t.default.createElement(Df,e):t.default.createElement(md,e)}function kf(){return t.default.createElement(Of,{path:`/users`,recordId:e=>`${e.email??``}`.replace(`@`,`-`),form:t.default.createElement(t.default.Fragment,null,t.default.createElement(Ga,{name:`username`,label:`Username`}),t.default.createElement(qa,{name:`email`,label:`Email`,required:!0,readOnlyAfterSet:!0}),t.default.createElement(xo,{name:`permission`,label:`Permission`,options:[{value:`admin`,label:`Admin`},{value:`user`,label:`User`}],required:!0}))})}var Af=()=>{let e=ct(`common`);return t.default.createElement(`div`,{className:`flex flex-col justify-center items-center vh-100`},t.default.createElement(`h1`,null,`404`),t.default.createElement(`p`,null,e.notFoundMessage),t.default.createElement(n.Link,{to:`/`},t.default.createElement(Q,{name:`house-door`}),` `,e.goHome))},jf=({size:e=28})=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}),t.default.createElement(`line`,{x1:`12`,x2:`12`,y1:`9`,y2:`13`}),t.default.createElement(`line`,{x1:`12`,x2:`12.01`,y1:`17`,y2:`17`})),Mf=({open:e})=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{transition:`transform 0.18s`,transform:e?`rotate(180deg)`:`none`,flexShrink:0}},t.default.createElement(`polyline`,{points:`6 9 12 15 18 9`})),Nf=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),t.default.createElement(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})),Pf=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m22 2-7 20-4-9-9-4Z`}),t.default.createElement(`path`,{d:`M22 2 11 13`})),Ff=()=>t.default.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`},t.default.createElement(`path`,{d:`m8 2 1.88 1.88M14.12 3.88 16 2`}),t.default.createElement(`path`,{d:`M9 7.13v-1a3.003 3.003 0 1 1 6 0v1`}),t.default.createElement(`path`,{d:`M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6z`}),t.default.createElement(`path`,{d:`M12 20v-9`}),t.default.createElement(`path`,{d:`M6.53 9C4.6 8.8 3 7.1 3 5`}),t.default.createElement(`path`,{d:`M6 13H2`}),t.default.createElement(`path`,{d:`M3 21c0-2.1 1.7-3.9 3.8-4`}),t.default.createElement(`path`,{d:`M20.97 5c0 2.1-1.6 3.8-3.5 4`}),t.default.createElement(`path`,{d:`M22 13h-4`}),t.default.createElement(`path`,{d:`M17.2 17c2.1.1 3.8 1.9 3.8 4`})),If=(e,t)=>({error:{message:e.message,stack:e.stack??``},componentStack:t?.componentStack??``,context:{url:typeof window<`u`?window.location.href:``,userAgent:typeof navigator<`u`?navigator.userAgent:``,timestamp:new Date().toISOString()}}),Lf=(e,t)=>{let n=If(e,t);return[`Error: ${n.error.message}`,``,`--- Stack Trace ---`,n.error.stack,``,`--- Component Stack ---`,n.componentStack,``,`--- Context ---`,`URL: ${n.context.url}`,`Timestamp: ${n.context.timestamp}`,`Agent: ${n.context.userAgent}`].join(`
10
10
  `)},Rf=class extends t.default.Component{constructor(e){super(e),this.state={error:null,errorInfo:null,detailsOpen:!1,debugOpen:!1,copied:!1,reportState:`idle`}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.setState({errorInfo:t}),console.error(`[ErrorBoundary]`,e.message,t.componentStack)}reset=()=>{window.location.reload()};copy=()=>{let{error:e,errorInfo:t}=this.state;e&&navigator.clipboard?.writeText(Lf(e,t)).then(()=>{this.setState({copied:!0}),setTimeout(()=>this.setState({copied:!1}),2e3)})};sendReport=()=>{let{error:e,errorInfo:t}=this.state,{reportUrl:n}=this.props;!e||!n||(this.setState({reportState:`sending`}),fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(If(e,t))}).then(e=>this.setState({reportState:e.ok?`sent`:`failed`})).catch(()=>this.setState({reportState:`failed`})))};render(){let{error:e,errorInfo:n,detailsOpen:r,debugOpen:i,copied:a,reportState:o}=this.state;if(!e)return this.props.children;let{fallback:s,reportUrl:c,fullPage:l}=this.props,u=this.props.debug??!1??!1;if(typeof s==`function`)return s(e,this.reset);if(s!=null)return s;let d=(e.stack??e.message).split(`
11
11
  `).map(e=>e.trim()).filter(Boolean),f=(n?.componentStack??``).split(`
12
12
  `).map(e=>e.trim()).filter(Boolean),p=l?`flex min-h-screen flex-col items-center justify-center bg-background p-8`:`flex min-h-[calc(100vh-4rem)] flex-col items-center justify-center p-8`;return t.default.createElement(`div`,{className:p},t.default.createElement(`div`,{className:`flex w-full max-w-xl flex-col gap-4 rounded-xl border border-destructive/25 bg-destructive/5 p-6`},t.default.createElement(`div`,{className:`flex items-start gap-4`},t.default.createElement(`div`,{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-destructive/12 text-destructive`},t.default.createElement(jf,{size:22})),t.default.createElement(`div`,null,t.default.createElement(`p`,{className:`text-sm font-semibold text-foreground`},`This page ran into a problem`),t.default.createElement(`p`,{className:`mt-0.5 text-xs text-muted-foreground`},`An unexpected error occurred while rendering this content.`))),t.default.createElement(`div`,{className:`rounded-lg border bg-background/60`},t.default.createElement(`button`,{onClick:()=>this.setState(e=>({detailsOpen:!e.detailsOpen})),className:`flex w-full items-center gap-2 px-3 py-2.5 text-left text-xs font-medium text-muted-foreground transition-colors hover:text-foreground`},t.default.createElement(Mf,{open:r}),`Technical details`,t.default.createElement(`span`,{className:`ml-auto truncate max-w-[280px] font-mono text-[11px] text-muted-foreground/70`},e.message)),r&&t.default.createElement(`div`,{className:`border-t`},t.default.createElement(`pre`,{className:`max-h-48 overflow-y-auto px-3 py-3 text-[11px] leading-relaxed text-muted-foreground font-mono whitespace-before-wrap break-all`},d.join(`