@devframes/plugin-assets--assets 0.10.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import{t as e}from"./index-B-gQ8V7h.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge};
@@ -5,4 +5,4 @@ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],en
5
5
  `)].join(`
6
6
  `))}return()=>i.value||r.value||o.value?tc(t.default({present:o.value})[0],{ref:e=>{let t=sd(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),Yd=I({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=gd(n.default()),r=e.findIndex(e=>e.type!==cs);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?ks(t,i.props):t,o=Cs({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),Xd=[`area`,`img`,`input`],Zd=I({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&Xd.includes(r)?()=>tc(r,t):r===`template`?()=>tc(Yd,t,{default:n.default}):()=>tc(e.as,t,{default:n.default})}});function Qd(){let e=M();return{primitiveElement:e,currentElement:G(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:sd(e))}}var[$d,ef]=Hu(`DialogRoot`),tf=I({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=hd(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=M(),a=M(),{modal:o,unmountOnHide:s}=bn(n);return ef({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>L(e.$slots,`default`,{open:N(r),close:()=>r.value=!1})}}),nf=I({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;jd();let n=$d();return(e,r)=>(z(),V(N(Zd),ks(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>N(n).onOpenChange(!1)}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`type`]))}}),rf=`dismissableLayer.pointerDownOutside`,af=`dismissableLayer.focusOutside`;function of(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function sf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=M(!1),a=M(()=>{});return wr(o=>{if(!Yu||!hn(n))return;let s=async n=>{let o=n.target;if(t?.value&&o){if(of(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Wu(rf,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{hn(n)&&(i.value=!0)}}}function cf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=M(!1);return wr(a=>{if(!Yu||!hn(n))return;let o=async n=>{if(!t?.value)return;await $n(),await $n();let r=n.target;t.value&&r&&!of(t.value,r)&&n.target&&!i.value&&Wu(af,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{hn(n)&&(i.value=!0)},onBlurCapture:()=>{hn(n)&&(i.value=!1)}}}var lf=I({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=jd(),o=G(()=>a.value?.ownerDocument??globalThis.document),s=G(()=>yd.layersRoot),c=G(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=G(()=>yd.layersWithOutsidePointerEventsDisabled.size>0),u=G(()=>{let e=Array.from(s.value),[t]=[...yd.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=sf(async e=>{let t=[...yd.branches].some(t=>t?.contains(e.target));n.present&&u.value&&!t&&(r(`pointerDownOutside`,e),r(`interactOutside`,e),await $n(),e.defaultPrevented||r(`dismiss`))},a,()=>n.present),f=cf(e=>{let t=[...yd.branches].some(t=>t?.contains(e.target));n.present&&!t&&(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return fd(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),F([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{e&&n&&t&&(yd.layersWithOutsidePointerEventsDisabled.size===0&&(yd.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),yd.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{yd.layersWithOutsidePointerEventsDisabled.delete(e),yd.layersWithOutsidePointerEventsDisabled.size===0&&!Gu(yd.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=yd.originalBodyPointerEvents)}))},{immediate:!0}),F([a,()=>n.present],([e,t],n,r)=>{e&&t&&(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),wr(e=>{e(()=>{a.value&&(s.value.delete(a.value),yd.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(z(),V(N(Zd),{ref:N(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:he({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:N(f).onFocusCapture,onBlurCapture:N(f).onBlurCapture,onPointerdownCapture:N(d).onPointerDownCapture},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),uf=Ju(()=>M([]));function df(){let e=uf();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=ff(e.value,t),e.value.unshift(t)},remove(t){e.value=ff(e.value,t),e.value[0]?.resume()}}}function ff(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var pf=`focusScope.autoFocusOnMount`,mf=`focusScope.autoFocusOnUnmount`,hf={bubbles:!1,cancelable:!0};function gf(e,{select:t=!1}={}){let n=Uu();for(let r of e)if(Sf(r,{select:t}),Uu()!==n)return!0}function _f(e){let t=vf(e);return[yf(t,e),yf(t.reverse(),e)]}function vf(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function yf(e,t){for(let n of e)if(!bf(n,{upTo:t}))return n}function bf(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function xf(e){return e instanceof HTMLInputElement&&`select`in e}function Sf(e,{select:t=!1}={}){if(e&&e.focus){let n=Uu();e.focus({preventScroll:!0}),e!==n&&xf(e)&&t&&e.select()}}var Cf=I({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=jd(),o=M(null),s=df(),c=Zt({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});wr(e=>{if(!Yu)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Sf(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Sf(o.value,{select:!0}))}function s(e){let n=o.value;if(n===null||!e.some(e=>e.removedNodes.length>0))return;let r=Uu();r&&t.contains(r)||t.contains(n)||Sf(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})});function l(e,t){let n=new CustomEvent(pf,hf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(pf,i),e.dispatchEvent(n),e.removeEventListener(pf,i),n.defaultPrevented||(gf(vf(e),{select:!0}),Uu()===t&&Sf(e))}wr(async e=>{let t=a.value;if(await $n(),!t)return;n.present!==!1&&s.add(c);let i=Uu();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(mf,hf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(mf,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Sf(i??document.body,{select:!0}),t.removeEventListener(mf,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),F(()=>n.present,async(e,t)=>{if(!Yu)return;if(e===!1&&t===!0){s.remove(c);return}if(e!==!0||t!==!1)return;s.add(c),await $n();let n=a.value;if(!n)return;let r=Uu();n.contains(r)||l(n,r)});function u(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Uu();if(t&&r){let t=e.currentTarget,[i,a]=_f(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Sf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Sf(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(z(),V(N(Zd),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),wf=[`Enter`,` `],Tf=[`ArrowDown`,`PageUp`,`Home`],Ef=[`ArrowUp`,`PageDown`,`End`];[...Tf,...Ef],[...wf],[...wf];function Df(e){return e?`open`:`closed`}var Of=I({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=$d(),{forwardRef:a,currentElement:o}=jd();return i.titleId||=Wd(void 0,`reka-dialog-title`),i.descriptionId||=Wd(void 0,`reka-dialog-description`),Zi(()=>{i.contentElement=o,Uu()!==document.body&&(i.triggerElement.value=Uu())}),(e,t)=>(z(),V(N(Cf),{"as-child":``,loop:``,trapped:n.trapFocus,present:n.present,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:P(()=>[U(N(lf),ks({id:N(i).contentId,ref:N(a),as:e.as,"as-child":e.asChild,present:n.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":N(i).descriptionId,"aria-labelledby":N(i).titleId,"data-state":N(Df)(N(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>N(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),kf=I({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=$d(),a=kd(r),{forwardRef:o,currentElement:s}=jd();Hd(G(()=>n.present?s.value:void 0));let c=G(()=>{let{present:e,...t}=n;return t});return F(()=>n.present,(e,t)=>{!e&&t&&i.triggerElement.value?.focus()}),(e,t)=>(z(),V(Of,ks({...c.value,...N(a)},{ref:N(o),present:e.present,"trap-focus":N(i).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),N(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),Af=I({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=kd(t);jd();let i=$d(),a=M(!1),o=M(!1),s=G(()=>{let{present:e,...t}=n;return t});return F(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(z(),V(Of,ks({...s.value,...N(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||N(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;N(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`present`]))}}),jf=I({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=$d(),a=kd(r),{forwardRef:o}=jd();return(e,t)=>(z(),V(N(Jd),{present:e.forceMount||N(i).open.value,"force-mount":e.forceMount||!N(i).unmountOnHide.value},{default:P(({present:t})=>[N(i).modal.value?_r((z(),V(kf,ks({key:0,ref:N(o),present:N(i).unmountOnHide.value||t},{...n,...N(a),...e.$attrs}),{default:P(()=>[L(e.$slots,`default`)]),_:2},1040,[`present`])),[[Hc,N(i).unmountOnHide.value||t]]):_r((z(),V(Af,ks({key:1,ref:N(o),present:N(i).unmountOnHide.value||t},{...n,...N(a),...e.$attrs}),{default:P(()=>[L(e.$slots,`default`)]),_:2},1040,[`present`])),[[Hc,N(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),Mf=I({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;jd();let n=$d();return(e,r)=>(z(),V(N(Zd),ks(t,{id:N(n).descriptionId}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`id`]))}}),Nf=I({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,n=$d(),r=Td(t.present);return F(()=>t.present,e=>r.value=e),jd(),(e,t)=>(z(),V(N(Zd),{as:e.as,"as-child":e.asChild,"data-state":N(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=ou(()=>{},[`left`,`self`,`prevent`])},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Pf=I({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=$d(),{forwardRef:n}=jd();return(e,r)=>N(t)?.modal.value?(z(),V(N(Jd),{key:0,present:e.forceMount||N(t).open.value,"force-mount":e.forceMount||!N(t).unmountOnHide.value},{default:P(({present:r})=>[_r(U(Nf,ks(e.$attrs,{ref:N(n),as:e.as,"as-child":e.asChild,present:N(t).unmountOnHide.value||r}),{default:P(()=>[L(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[Hc,N(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):W(`v-if`,!0)}}),Ff=I({__name:`Teleport`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e,n=_d({}),r=G(()=>t.to??n.teleportTo?.value??`body`),i=ld();return(e,t)=>N(i)||e.forceMount?(z(),V(Vr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[L(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):W(`v-if`,!0)}}),If=I({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(z(),V(N(Ff),be(Ss(t)),{default:P(()=>[L(e.$slots,`default`)]),_:3},16))}}),Lf=I({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=$d();return jd(),(e,r)=>(z(),V(N(Zd),ks(t,{id:N(n).titleId}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`id`]))}}),Rf=I({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=$d(),{forwardRef:r,currentElement:i}=jd();return n.contentId||=Wd(void 0,`reka-dialog-content`),Zi(()=>{n.triggerElement.value=i.value}),(e,i)=>(z(),V(N(Zd),ks(t,{ref:N(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":N(n).open.value||!1,"aria-controls":N(n).open.value?N(n).contentId:void 0,"data-state":N(n).open.value?`open`:`closed`,onClick:N(n).onOpenToggle}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}}),zf=`data-reka-collection-item`;function Bf(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:M(),itemMap:M(new Map)},yr(r,i)):i=br(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${zf}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},o=I({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Qd();return F(a,()=>{i.collectionRef.value=a.value}),()=>tc(Yd,{ref:r,...n},t)}}),s=I({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=Qd();return wr(t=>{if(a.value){let n=sn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>tc(Yd,{...n,[zf]:``,ref:r},t)}});return{getItems:a,reactiveItems:G(()=>Array.from(i.itemMap.value.values())),itemMapSize:G(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var Vf=I({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(z(),V(N(Zd),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),Hf=I({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=Qd();return F(G(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(z(),V(Vf,ks({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),Uf=I({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=G(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=G(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(z(),B(R,null,[W(` We render single input if it's required `),n.value?(z(),V(Hf,ks({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(z(!0),B(R,{key:1},ma(r.value,n=>(z(),V(Hf,ks({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),Wf=`rovingFocusGroup.onEntryFocus`,Gf={bubbles:!1,cancelable:!0},Kf={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function qf(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Jf(e,t,n){let r=qf(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Kf[r]}function Yf(e,t=!1){let n=Uu();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Uu()!==n))return}function Xf(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Zf=[`top`,`right`,`bottom`,`left`],Qf=[`start`,`end`],$f=Zf.reduce((e,t)=>e.concat(t,t+`-`+Qf[0],t+`-`+Qf[1]),[]),ep=Math.min,tp=Math.max,np=Math.round,rp=e=>({x:e,y:e}),ip={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ap(e,t,n){return tp(e,ep(t,n))}function op(e,t){return typeof e==`function`?e(t):e}function sp(e){return e.split(`-`)[0]}function cp(e){return e.split(`-`)[1]}function lp(e){return e===`x`?`y`:`x`}function up(e){return e===`y`?`height`:`width`}function dp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function fp(e){return lp(dp(e))}function pp(e,t,n){n===void 0&&(n=!1);let r=cp(e),i=fp(e),a=up(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Sp(o)),[o,Sp(o)]}function mp(e){let t=Sp(e);return[hp(e),t,hp(t)]}function hp(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var gp=[`left`,`right`],_p=[`right`,`left`],vp=[`top`,`bottom`],yp=[`bottom`,`top`];function bp(e,t,n){switch(e){case`top`:case`bottom`:return n?t?_p:gp:t?gp:_p;case`left`:case`right`:return t?vp:yp;default:return[]}}function xp(e,t,n,r){let i=cp(e),a=bp(sp(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(hp)))),a}function Sp(e){let t=sp(e);return ip[t]+e.slice(t.length)}function Cp(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function wp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Cp(e)}function Tp(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ep(e,t,n){let{reference:r,floating:i}=e,a=dp(t),o=fp(t),s=up(o),c=sp(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=cp(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Dp(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=op(t,e),p=wp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Tp(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Tp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Op=50,kp=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Dp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ep(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Op&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ep(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ap=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=op(e,t)||{};if(l==null)return{};let d=wp(u),f={x:n,y:r},p=fp(i),m=up(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ep(d[_],T),D=ep(d[v],T),ee=C-h[m]-D,te=C/2-h[m]/2+w,ne=ap(E,te,ee),O=!c.arrow&&cp(i)!=null&&te!==ne&&a.reference[m]/2-(te<E?E:D)-h[m]/2<0,re=O?te<E?te-E:te-ee:0;return{[p]:f[p]+re,data:{[p]:ne,centerOffset:te-ne-re,...O&&{alignmentOffset:re}},reset:O}}});function jp(e,t,n){return(e?[...n.filter(t=>cp(t)===e),...n.filter(t=>cp(t)!==e)]:n.filter(e=>sp(e)===e)).filter(n=>!e||cp(n)===e||(t?hp(n)!==n:!1))}var Mp=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=$f,autoAlignment:u=!0,...d}=op(e,t),f=c!==void 0||l===$f?jp(c||null,u,l):l,p=r.autoPlacement?.index||0,m=f[p];if(m==null)return{};if(i!==m)return{reset:{placement:f[0]}};let h=await a.detectOverflow(t,d),g=pp(m,n,await(a.isRTL==null?void 0:a.isRTL(o.floating))),_=[h[sp(m)],h[g[0]],h[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:m,overflows:_}],y=f[p+1];if(y)return{data:{index:p+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=cp(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,cp(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:p+1,overflows:v},reset:{placement:x}}}}},Np=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=op(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=sp(r),_=dp(o),v=sp(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Sp(o)]:mp(o)),x=p!==`none`;!d&&x&&b.push(...xp(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=pp(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===dp(t)||T.every(e=>dp(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=dp(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Pp=new Set([`left`,`top`]);async function Fp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=sp(n),s=cp(n),c=dp(n)===`y`,l=Pp.has(o)?-1:1,u=a&&c?-1:1,d=op(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ip=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Fp(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Lp=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=op(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=dp(i),p=lp(f),m=u[p],h=u[f],g=(e,t)=>ap(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Rp=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=op(e,t),c=await i.detectOverflow(t,s),l=sp(n),u=cp(n),d=dp(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=ep(p-c[m],g),y=ep(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*tp(c.left,c.right):S=p-2*tp(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function zp(){return typeof window<`u`}function Bp(e){return Up(e)?(e.nodeName||``).toLowerCase():`#document`}function Vp(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Hp(e){return((Up(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Up(e){return zp()?e instanceof Node||e instanceof Vp(e).Node:!1}function Wp(e){return zp()?e instanceof Element||e instanceof Vp(e).Element:!1}function Gp(e){return zp()?e instanceof HTMLElement||e instanceof Vp(e).HTMLElement:!1}function Kp(e){return!zp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Vp(e).ShadowRoot}function qp(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=im(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Jp(e){return/^(table|td|th)$/.test(Bp(e))}function Yp(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Xp=/transform|translate|scale|rotate|perspective|filter/,Zp=/paint|layout|strict|content/,Qp=e=>!!e&&e!==`none`,$p;function em(e){let t=Wp(e)?im(e):e;return Qp(t.transform)||Qp(t.translate)||Qp(t.scale)||Qp(t.rotate)||Qp(t.perspective)||!nm()&&(Qp(t.backdropFilter)||Qp(t.filter))||Xp.test(t.willChange||``)||Zp.test(t.contain||``)}function tm(e){let t=om(e);for(;Gp(t)&&!rm(t);){if(em(t))return t;if(Yp(t))return null;t=om(t)}return null}function nm(){return $p??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),$p}function rm(e){return/^(html|body|#document)$/.test(Bp(e))}function im(e){return Vp(e).getComputedStyle(e)}function am(e){return Wp(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function om(e){if(Bp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Kp(e)&&e.host||Hp(e);return Kp(t)?t.host:t}function sm(e){let t=om(e);return rm(t)?(e.ownerDocument||e).body:Gp(t)&&qp(t)?t:sm(t)}function cm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=sm(e),i=r===e.ownerDocument?.body,a=Vp(r);if(i){let e=lm(a);return t.concat(a,a.visualViewport||[],qp(r)?r:[],e&&n?cm(e):[])}return t.concat(r,cm(r,[],n))}function lm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function um(e){let t=im(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Gp(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=np(n)!==a||np(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function dm(e){return Wp(e)?e:e.contextElement}function fm(e){let t=dm(e);if(!Gp(t))return rp(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=um(t),o=(a?np(n.width):n.width)/r,s=(a?np(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var pm=rp(0);function mm(e){let t=Vp(e);return!nm()||!t.visualViewport?pm:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function hm(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Vp(e)}function gm(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=dm(e),o=rp(1);t&&(r?Wp(r)&&(o=fm(r)):o=fm(e));let s=hm(a,n,r)?mm(a):rp(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Vp(a),t=Wp(r)?Vp(r):r,n=e,i=lm(n);for(;i&&t!==n;){let e=fm(i),t=i.getBoundingClientRect(),r=im(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Vp(i),i=lm(n)}}return Tp({width:u,height:d,x:c,y:l})}function _m(e,t){let n=am(e).scrollLeft;return t?t.left+n:gm(Hp(e)).left+n}function vm(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-_m(e,n),y:n.top+t.scrollTop}}function ym(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Hp(r),s=t?Yp(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=rp(1),u=rp(0),d=Gp(r);if((d||!a)&&((Bp(r)!==`body`||qp(o))&&(c=am(r)),d)){let e=gm(r);l=fm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?vm(o,c):rp(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function bm(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function xm(e){let t=am(e),n=e.ownerDocument.body,r=tp(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=tp(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+_m(e),o=-t.scrollTop;return im(n).direction===`rtl`&&(a+=tp(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Sm=25;function Cm(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Vp(e),a=Hp(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!nm()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(_m(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Sm&&(s-=o)}return{width:s,height:c,x:l,y:u}}function wm(e,t){let n=gm(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=fm(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Tm(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Cm(e,n,t);else if(t===`document`)r=xm(Hp(e));else if(Wp(t))r=wm(t,n);else{let n=mm(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Tp(r)}function Em(e,t){let n=t.get(e);if(n)return n;let r=cm(e,[],!1).filter(e=>Wp(e)&&Bp(e)!==`body`),i=null,a=im(e).position===`fixed`,o=a?om(e):e;for(;Wp(o)&&!rm(o);){let e=im(o),t=em(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=om(o)}return t.set(e,r),r}function Dm(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Yp(t)?[]:Em(t,this._c):[].concat(n),r],o=Tm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Tm(t,a[e],i);s=tp(n.top,s),c=ep(n.right,c),l=ep(n.bottom,l),u=tp(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Om(e){let{width:t,height:n}=um(e);return{width:t,height:n}}function km(e,t,n){let r=Gp(t),i=Hp(t),a=n===`fixed`,o=gm(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=rp(0);if((r||!a)&&((Bp(t)!==`body`||qp(i))&&(s=am(t)),r)){let e=gm(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=_m(i));let l=i&&!r&&!a?vm(i,s):rp(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Am(e){return im(e).position===`static`}function jm(e,t){if(!Gp(e)||im(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Hp(e)===n&&(n=n.ownerDocument.body),n}function Mm(e,t){let n=Vp(e);if(Yp(e))return n;if(!Gp(e)){let t=om(e);for(;t&&!rm(t);){if(Wp(t)&&!Am(t))return t;t=om(t)}return n}let r=jm(e,t);for(;r&&Jp(r)&&Am(r);)r=jm(r,t);return r&&rm(r)&&Am(r)&&!em(r)?n:r||tm(e)||n}var Nm=async function(e){let t=this.getOffsetParent||Mm,n=this.getDimensions,r=await n(e.floating);return{reference:km(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Pm(e){return im(e).direction===`rtl`}var Fm={convertOffsetParentRelativeRectToViewportRelativeRect:ym,getDocumentElement:Hp,getClippingRect:Dm,getOffsetParent:Mm,getElementRects:Nm,getClientRects:bm,getDimensions:Om,getScale:fm,isElement:Wp,isRTL:Pm},Im=Ip,Lm=Mp,Rm=Lp,zm=Np,Bm=Rp,Vm=Ap,Hm=(e,t,n)=>{let r=new Map,i=n??{},a={...Fm,...i.platform,_c:r};return kp(e,t,{...i,platform:a})},[Um,Wm]=Hu(`RovingFocusGroup`),Gm=I({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=bn(r),c=Od(s),l=hd(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=M(!1),d=M(!1),f=M(0),{getItems:p,CollectionSlot:m}=Bf({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(Wf,Gf);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);Yf([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),Wm({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(z(),V(N(m),null,{default:P(()=>[U(N(Zd),{tabindex:u.value||f.value===0?-1:0,"data-orientation":N(o),as:e.as,"as-child":e.asChild,dir:N(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),Km=I({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=Um(),r=Wd(),i=G(()=>t.tabStopId||r),a=G(()=>n.currentTabStopId.value===i.value),{getItems:o,CollectionItem:s}=Bf();Zi(()=>{t.focusable&&n.onFocusableItemAdd()}),ta(()=>{t.focusable&&n.onFocusableItemRemove()}),F(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function c(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=Jf(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...o().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?Xf(i,t+1):i.slice(t+1)}$n(()=>Yf(i))}}return(e,t)=>(z(),V(N(s),null,{default:P(()=>[U(N(Zd),{tabindex:a.value?0:-1,"data-orientation":N(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?N(n).onItemFocus(i.value):t.preventDefault()},onFocus:t[1]||=e=>N(n).onItemFocus(i.value),onKeydown:c},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[qm,Jm]=Hu(`CheckboxGroupRoot`);function Ym(e){return e===`indeterminate`}function Xm(e){return Ym(e)?`indeterminate`:e?`checked`:`unchecked`}var[Zm,Qm]=Hu(`CheckboxRoot`),$m=I({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=jd(),o=qm(null),s=hd(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),c=G(()=>o?.disabled.value||n.disabled),l=G(()=>Nu(s.value,n.trueValue)),u=G(()=>Gu(o?.modelValue.value)?s.value===`indeterminate`?`indeterminate`:l.value:Ku(o.modelValue.value,n.value));function d(){if(Gu(o?.modelValue.value))s.value===`indeterminate`?s.value=n.trueValue:s.value=l.value?n.falseValue:n.trueValue;else{let e=[...o.modelValue.value||[]];if(Ku(e,n.value)){let t=e.findIndex(e=>Nu(e,n.value));e.splice(t,1)}else e.push(n.value);o.modelValue.value=e}}let f=Ad(a),p=Md(),m=ja(),h=G(()=>{if(!m[`aria-label`])return n.id&&a.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0});return Qm({disabled:c,state:u}),(e,t)=>(z(),B(R,null,[(z(),V(ua(N(o)?.rovingFocus.value?N(Km):N(Zd)),ks({...e.$attrs,...N(p)},{id:e.id,ref:N(i),role:`checkbox`,"as-child":e.asChild,as:e.as,type:e.as===`button`?`button`:void 0,"aria-checked":N(Ym)(u.value)?`mixed`:u.value,"aria-required":e.required,"aria-label":e.$attrs[`aria-label`]||h.value,"data-state":N(Xm)(u.value),"data-disabled":c.value?``:void 0,disabled:c.value,focusable:N(o)?.rovingFocus.value?!c.value:void 0,onKeydown:cu(ou(()=>{},[`prevent`]),[`enter`]),onClick:d}),{default:P(()=>[L(e.$slots,`default`,{modelValue:N(s),state:u.value})]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`])),N(f)&&e.name&&!N(o)?(z(),V(N(Uf),ks({key:0,type:`checkbox`,checked:!!u.value,name:e.name,value:e.value,disabled:c.value,required:e.required},N(p)),null,16,[`checked`,`name`,`value`,`disabled`,`required`])):W(`v-if`,!0)],64))}}),eh=I({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=jd(),n=Zm();return(e,r)=>(z(),V(N(Jd),{present:e.forceMount||N(Ym)(N(n).state.value)||N(n).state.value===!0},{default:P(()=>[U(N(Zd),ks({ref:N(t),"data-state":N(Xm)(N(n).state.value),"data-disabled":N(n).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),[th,nh]=Hu(`TabsRoot`),rh=I({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{orientation:i,unmountOnHide:a,dir:o}=bn(n),s=Od(o);jd();let c=hd(n,`modelValue`,r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),l=M(),u=dn(new Set);return nh({modelValue:c,changeModelValue:e=>{c.value=e},orientation:i,dir:s,unmountOnHide:a,activationMode:n.activationMode,baseId:Wd(void 0,`reka-tabs`),tabsList:l,contentIds:u,registerContent:e=>{u.value=new Set([...u.value,e])},unregisterContent:e=>{let t=new Set(u.value);t.delete(e),u.value=t}}),(e,t)=>(z(),V(N(Zd),{dir:N(s),"data-orientation":N(i),"as-child":e.asChild,as:e.as},{default:P(()=>[L(e.$slots,`default`,{modelValue:N(c)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function ih(e,t){return`${e}-trigger-${t}`}function ah(e,t){return`${e}-content-${t}`}var oh=I({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=jd(),r=th(),i=G(()=>ih(r.baseId,t.value)),a=G(()=>ah(r.baseId,t.value)),o=G(()=>t.value===r.modelValue.value),s=M(o.value);return Zi(()=>{r.registerContent(t.value),requestAnimationFrame(()=>{s.value=!1})}),ea(()=>{r.unregisterContent(t.value)}),(e,t)=>(z(),V(N(Jd),{present:e.forceMount||o.value,"force-mount":``},{default:P(({present:t})=>[U(N(Zd),{id:a.value,ref:N(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":o.value?`active`:`inactive`,"data-orientation":N(r).orientation.value,"aria-labelledby":i.value,hidden:!t,tabindex:`0`,style:he({animationDuration:s.value?`0s`:void 0})},{default:P(()=>[!N(r).unmountOnHide.value||t?L(e.$slots,`default`,{key:0}):W(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),sh=I({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,r=th();t({updateIndicatorStyle:s}),jd();let i=ld(),a=M({size:null,thickness:null,position:null}),o=M([]);F(()=>[r.modelValue.value,r?.dir.value],()=>{s()},{immediate:!0,flush:`post`}),Tr(()=>{o.value=Array.from(r.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),md(G(()=>[r.tabsList.value,...o.value]),s);function s(){let e=r.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(r.orientation.value===`horizontal`?a.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:a.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>N(i)&&typeof a.value.size==`number`?(z(),V(N(Zd),ks({key:0},n,{style:{"--reka-tabs-indicator-size":`${a.value.size}px`,"--reka-tabs-indicator-thickness":`${a.value.thickness}px`,"--reka-tabs-indicator-position":`${a.value.position}px`}}),{default:P(()=>[L(e.$slots,`default`)]),_:3},16,[`style`])):W(`v-if`,!0)}}),ch=I({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=bn(e),{forwardRef:n,currentElement:r}=jd(),i=th();return i.tabsList=r,(e,r)=>(z(),V(N(Gm),{"as-child":``,orientation:N(i).orientation.value,dir:N(i).dir.value,loop:N(t)},{default:P(()=>[U(N(Zd),{ref:N(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":N(i).orientation.value},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),lh=I({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=jd(),r=th(),i=G(()=>ih(r.baseId,t.value)),a=G(()=>r.contentIds.value.has(t.value)?ah(r.baseId,t.value):void 0),o=G(()=>t.value===r.modelValue.value);return(e,t)=>(z(),V(N(Km),{"as-child":``,focusable:!e.disabled,active:o.value},{default:P(()=>[U(N(Zd),{id:i.value,ref:N(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":N(r).orientation.value,onMousedown:t[0]||=ou(t=>{!e.disabled&&t.ctrlKey===!1?N(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=cu(t=>N(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=N(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&N(r).changeModelValue(e.value)}},{default:P(()=>[L(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),uh={class:`p-4 flex pointer-events-none items-center inset-0 justify-center fixed z-modal-content`},dh={key:0,class:`px-3 py-2 border-b border-base flex shrink-0 gap-2 items-start justify-between`},fh={class:`min-w-0`},ph={class:`p-3 flex-1 overflow-auto`},mh={key:1,class:`px-2 py-2 border-t border-base flex shrink-0 gap-2 justify-end`},hh=I({__name:`OverlayModal`,props:Fa({title:{},description:{}},{open:{type:Boolean},openModifiers:{}}),emits:[`update:open`],setup(e){let t=ro(e,`open`);return(n,r)=>(z(),V(N(tf),{open:t.value,"onUpdate:open":r[0]||=e=>t.value=e},{default:P(()=>[n.$slots.trigger?(z(),V(N(Rf),{key:0,"as-child":``},{default:P(()=>[L(n.$slots,`trigger`)]),_:3})):W(``,!0),U(N(If),null,{default:P(()=>[U(N(Pf),{class:`bg-[#ddd]/40 inset-0 fixed z-modal-backdrop backdrop-blur-sm dark:bg-black/40`,"data-af-animate":``}),H(`div`,uh,[U(N(jf),{class:`outline-none border border-base rounded-lg bg-base flex flex-col max-h-full max-w-lg w-full pointer-events-auto shadow-xl overflow-hidden`,"data-af-modal":``},{default:P(()=>[e.title||e.description||n.$slots.header?(z(),B(`header`,dh,[H(`div`,fh,[e.title?(z(),V(N(Lf),{key:0,class:`color-base font-medium`},{default:P(()=>[ws(A(e.title),1)]),_:1})):W(``,!0),e.description?(z(),V(N(Mf),{key:1,class:`text-sm op-fade`},{default:P(()=>[ws(A(e.description),1)]),_:1})):W(``,!0),L(n.$slots,`header`)]),U(N(nf),{class:`btn-icon shrink-0 h-7 w-7`,"aria-label":`Close`},{default:P(()=>[...r[1]||=[H(`span`,{class:`i-ph:x`,"aria-hidden":`true`},null,-1)]]),_:1})])):W(``,!0),H(`div`,ph,[L(n.$slots,`default`)]),n.$slots.footer?(z(),B(`footer`,mh,[L(n.$slots,`footer`)])):W(``,!0)]),_:3})])]),_:3})]),_:3},8,[`open`]))}}),gh={disabled:!1,distance:5,skidding:0,container:`body`,boundary:void 0,instantMove:!1,disposeTimeout:150,popperTriggers:[],strategy:`absolute`,preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,autoHideOnMousedown:!1,themes:{tooltip:{placement:`top`,triggers:[`hover`,`focus`,`touch`],hideTriggers:e=>[...e,`click`],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:`...`},dropdown:{placement:`bottom`,triggers:[`click`],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:`dropdown`,triggers:[`hover`,`focus`],popperTriggers:[`hover`],delay:{show:0,hide:400}}}};function _h(e,t){let n=gh.themes[e]||{},r;do r=n[t],r===void 0?n.$extend?n=gh.themes[n.$extend]||{}:(n=null,r=gh[t]):n=null;while(n);return r}function vh(e){let t=[e],n=gh.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=gh.themes[n.$extend]||{}):n=null;while(n);return t.map(e=>`v-popper--theme-${e}`)}function yh(e){let t=[e],n=gh.themes[e]||{};do n.$extend?(t.push(n.$extend),n=gh.themes[n.$extend]||{}):n=null;while(n);return t}var bh=(()=>{if(typeof window>`u`)return!1;let e=!1;try{let t=Object.defineProperty({},"passive",{get(){e=!0}});window.addEventListener(`test`,null,t)}catch{}return e})(),xh=typeof window<`u`&&typeof navigator<`u`&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Sh=[`auto`,`top`,`bottom`,`left`,`right`].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Ch={hover:`mouseenter`,focus:`focus`,click:`click`,touch:`touchstart`,pointer:`pointerdown`},wh={hover:`mouseleave`,focus:`blur`,click:`click`,touch:`touchend`,pointer:`pointerup`};function Th(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1)}function Eh(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e)}))}var Dh=[],Oh=null,kh={};function Ah(e){let t=kh[e];return t||=kh[e]=[],t}var jh=function(){};typeof window<`u`&&(jh=window.Element);function K(e){return function(t){return _h(t.theme,e)}}var Mh=`__floating-vue__popper`,Nh=()=>I({name:`VPopper`,provide(){return{[Mh]:{parentPopper:this}}},inject:{[Mh]:{default:null}},props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:K(`disabled`)},positioningDisabled:{type:Boolean,default:K(`positioningDisabled`)},placement:{type:String,default:K(`placement`),validator:e=>Sh.includes(e)},delay:{type:[String,Number,Object],default:K(`delay`)},distance:{type:[Number,String],default:K(`distance`)},skidding:{type:[Number,String],default:K(`skidding`)},triggers:{type:Array,default:K(`triggers`)},showTriggers:{type:[Array,Function],default:K(`showTriggers`)},hideTriggers:{type:[Array,Function],default:K(`hideTriggers`)},popperTriggers:{type:Array,default:K(`popperTriggers`)},popperShowTriggers:{type:[Array,Function],default:K(`popperShowTriggers`)},popperHideTriggers:{type:[Array,Function],default:K(`popperHideTriggers`)},container:{type:[String,Object,jh,Boolean],default:K(`container`)},boundary:{type:[String,jh],default:K(`boundary`)},strategy:{type:String,validator:e=>[`absolute`,`fixed`].includes(e),default:K(`strategy`)},autoHide:{type:[Boolean,Function],default:K(`autoHide`)},handleResize:{type:Boolean,default:K(`handleResize`)},instantMove:{type:Boolean,default:K(`instantMove`)},eagerMount:{type:Boolean,default:K(`eagerMount`)},popperClass:{type:[String,Array,Object],default:K(`popperClass`)},computeTransformOrigin:{type:Boolean,default:K(`computeTransformOrigin`)},autoMinSize:{type:Boolean,default:K(`autoMinSize`)},autoSize:{type:[Boolean,String],default:K(`autoSize`)},autoMaxSize:{type:Boolean,default:K(`autoMaxSize`)},autoBoundaryMaxSize:{type:Boolean,default:K(`autoBoundaryMaxSize`)},preventOverflow:{type:Boolean,default:K(`preventOverflow`)},overflowPadding:{type:[Number,String],default:K(`overflowPadding`)},arrowPadding:{type:[Number,String],default:K(`arrowPadding`)},arrowOverflow:{type:Boolean,default:K(`arrowOverflow`)},flip:{type:Boolean,default:K(`flip`)},shift:{type:Boolean,default:K(`shift`)},shiftCrossAxis:{type:Boolean,default:K(`shiftCrossAxis`)},noAutoFocus:{type:Boolean,default:K(`noAutoFocus`)},disposeTimeout:{type:Number,default:K(`disposeTimeout`)}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:``,strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join(`_`)}`,shownChildren:new Set,lastAutoHide:!0,pendingHide:!1,containsGlobalTarget:!1,isDisposed:!0,mouseDownContains:!1}},computed:{popperId(){return this.ariaId??this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide==`function`?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){return this[Mh]?.parentPopper},hasPopperShowTriggerHover(){return this.popperTriggers?.includes(`hover`)||this.popperShowTriggers?.includes(`hover`)}},watch:{shown:`$_autoShowHide`,disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers:{handler:`$_refreshListeners`,deep:!0},positioningDisabled:`$_refreshListeners`,...[`placement`,`distance`,`skidding`,`boundary`,`strategy`,`overflowPadding`,`arrowPadding`,`preventOverflow`,`shift`,`shiftCrossAxis`,`flip`].reduce((e,t)=>(e[t]=`$_computePosition`,e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){this.parentPopper?.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=!1,(n||!this.disabled)&&(this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit(`show`),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit(`update:shown`,!0))},hide({event:e=null,skipDelay:t=!1}={}){if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=!0;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,this.parentPopper.lockedChildTimer&&clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)},1e3));return}this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.pendingHide=!1,this.$_scheduleHide(e,t),this.$emit(`hide`),this.$emit(`update:shown`,!1)}},init(){this.isDisposed&&(this.isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode?.call(this)??this.$el,this.$_targetNodes=this.targetNodes().filter(e=>e.nodeType===e.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(`.v-popper__inner`),this.$_arrowNode=this.$_popperNode.querySelector(`.v-popper__arrow-container`),this.$_swapTargetAttrs(`title`,`data-original-title`),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.isDisposed||(this.isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(`data-original-title`,`title`))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit(`resize`))},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;let e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(Im({mainAxis:this.distance,crossAxis:this.skidding}));let t=this.placement.startsWith(`auto`);if(t?e.middleware.push(Lm({alignment:this.placement.split(`-`)[1]??``})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(Rm({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(zm({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Vm({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:`arrowOverflow`,fn:({placement:e,rects:t,middlewareData:n})=>{let r,{centerOffset:i}=n.arrow;return r=e.startsWith(`top`)||e.startsWith(`bottom`)?Math.abs(i)>t.reference.width/2:Math.abs(i)>t.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){let t=this.autoSize?this.autoSize:this.autoMinSize?`min`:null;e.middleware.push({name:`autoSize`,fn:({rects:e,placement:n,middlewareData:r})=>{if(r.autoSize?.skip)return{};let i,a;return n.startsWith(`top`)||n.startsWith(`bottom`)?i=e.reference.width:a=e.reference.height,this.$_innerNode.style[t===`min`?`minWidth`:t===`max`?`maxWidth`:`width`]=i==null?null:`${i}px`,this.$_innerNode.style[t===`min`?`minHeight`:t===`max`?`maxHeight`:`height`]=a==null?null:`${a}px`,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push(Bm({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:e,availableHeight:t})=>{this.$_innerNode.style.maxWidth=e==null?null:`${e}px`,this.$_innerNode.style.maxHeight=t==null?null:`${t}px`}})));let n=await Hm(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}})},$_scheduleShow(e,t=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),Oh&&this.instantMove&&Oh.instantMove&&Oh!==this.parentPopper){Oh.$_applyHide(!0),this.$_applyShow(!0);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay(`show`))},$_scheduleHide(e,t=!1){if(this.shownChildren.size>0){this.pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),this.isShown&&(Oh=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay(`hide`))},$_computeDelay(e){let t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){this.$_disposeTimer&&clearTimeout(this.$_disposeTimer),this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Eh(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...cm(this.$_referenceNode),...cm(this.$_popperNode)],`scroll`,()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){let e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(`.v-popper__wrapper`),n=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(n.left+t.offsetLeft),i=e.y+e.height/2-(n.top+t.offsetTop);this.result.transformOrigin=`${r}px ${i}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":``});let e=this.showGroup;if(e){let t;for(let n=0;n<Dh.length;n++)t=Dh[n],t.showGroup!==e&&(t.hide(),t.$emit(`close-group`))}Dh.push(this),document.body.classList.add(`v-popper--some-open`);for(let e of yh(this.theme))Ah(e).push(this),document.body.classList.add(`v-popper--some-open--${e}`);this.$emit(`apply-show`),this.classes.showFrom=!0,this.classes.showTo=!1,this.classes.hideFrom=!1,this.classes.hideTo=!1,await Eh(),this.classes.showFrom=!1,this.classes.showTo=!0,this.noAutoFocus||this.$_popperNode.focus()},async $_applyHide(e=!1){if(this.shownChildren.size>0){this.pendingHide=!0,this.$_hideInProgress=!1;return}if(this.$_scheduleTimer&&clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Th(Dh,this),Dh.length===0&&document.body.classList.remove(`v-popper--some-open`);for(let e of yh(this.theme)){let t=Ah(e);Th(t,this),t.length===0&&document.body.classList.remove(`v-popper--some-open--${e}`)}Oh===this&&(Oh=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),this.$_disposeTimer&&clearTimeout(this.$_disposeTimer);let t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},t)),this.$_removeEventListeners(`scroll`),this.$emit(`apply-hide`),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Eh(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e==`string`?e=window.document.querySelector(e):e===!1&&(e=this.$_targetNodes[0].parentNode),!e)throw Error(`No container for popover: ${this.container}`);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){let e=e=>{(!this.isShown||this.$_hideInProgress)&&(e.usedByTooltip=!0,!this.$_preventShow&&this.show({event:e}))};this.$_registerTriggerListeners(this.$_targetNodes,Ch,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Ch,this.popperTriggers,this.popperShowTriggers,e);let t=e=>{e.usedByTooltip||this.hide({event:e})};this.$_registerTriggerListeners(this.$_targetNodes,wh,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],wh,this.popperTriggers,this.popperHideTriggers,t)},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(e=>e.addEventListener(t,n,bh?{passive:!0}:void 0))},$_registerTriggerListeners(e,t,n,r,i){let a=n;r!=null&&(a=typeof r==`function`?r(a):r),a.forEach(n=>{let r=t[n];r&&this.$_registerEventListeners(e,r,i)})},$_removeEventListeners(e){let t=[];this.$_events.forEach(n=>{let{targetNodes:r,eventType:i,handler:a}=n;!e||e===i?r.forEach(e=>e.removeEventListener(i,a)):t.push(n)}),this.$_events=t},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit(`close-directive`):this.$emit(`auto-hide`),t&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(let n of this.$_targetNodes){let r=n.getAttribute(e);r&&(n.removeAttribute(e),n.setAttribute(t,r))}},$_applyAttrsToTarget(e){for(let t of this.$_targetNodes)for(let n in e){let r=e[n];r==null?t.removeAttribute(n):t.setAttribute(n,r)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){let e=this.$_referenceNode.getBoundingClientRect();if(Hh>=e.left&&Hh<=e.right&&Uh>=e.top&&Uh<=e.bottom){let e=this.$_popperNode.getBoundingClientRect(),t=Hh-Bh,n=Uh-Vh,r=e.left+e.width/2-Bh+(e.top+e.height/2)-Vh+e.width+e.height,i=Bh+t*r,a=Vh+n*r;return Wh(Bh,Vh,i,a,e.left,e.top,e.left,e.bottom)||Wh(Bh,Vh,i,a,e.left,e.top,e.right,e.top)||Wh(Bh,Vh,i,a,e.right,e.top,e.right,e.bottom)||Wh(Bh,Vh,i,a,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$slots.default(this.slotData)}});if(typeof document<`u`&&typeof window<`u`){if(xh){let e=!bh||{passive:!0,capture:!0};document.addEventListener(`touchstart`,e=>Ph(e,!0),e),document.addEventListener(`touchend`,e=>Fh(e,!0),e)}else window.addEventListener(`mousedown`,e=>Ph(e,!1),!0),window.addEventListener(`click`,e=>Fh(e,!1),!0);window.addEventListener(`resize`,zh)}function Ph(e,t){if(gh.autoHideOnMousedown)Ih(e,t);else for(let t=0;t<Dh.length;t++){let n=Dh[t];try{n.mouseDownContains=n.popperNode().contains(e.target)}catch{}}}function Fh(e,t){gh.autoHideOnMousedown||Ih(e,t)}function Ih(e,t){let n={};for(let r=Dh.length-1;r>=0;r--){let i=Dh[r];try{let r=Array.from(i.shownChildren).some(t=>{let n=Dh.find(e=>e.randomId===t);return n&&n.popperNode().contains(e.target)}),a=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target)||r;i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&Lh(i,a,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&a){let e=i.parentPopper;for(;e;)n[e.randomId]=!0,e=e.parentPopper;return}let r=i.parentPopper;for(;r&&Lh(r,r.containsGlobalTarget,e);)r.$_handleGlobalClose(e,t),r=r.parentPopper}})}catch{}}}function Lh(e,t,n){return n.closeAllPopover||n.closePopover&&t||Rh(e,n)&&!t}function Rh(e,t){if(typeof e.autoHide==`function`){let n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function zh(){for(let e=0;e<Dh.length;e++)Dh[e].$_computePosition()}var Bh=0,Vh=0,Hh=0,Uh=0;typeof window<`u`&&window.addEventListener(`mousemove`,e=>{Bh=Hh,Vh=Uh,Hh=e.clientX,Uh=e.clientY},bh?{passive:!0}:void 0);function Wh(e,t,n,r,i,a,o,s){let c=((o-i)*(t-a)-(s-a)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t)),l=((n-e)*(t-a)-(r-t)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t));return c>=0&&c<=1&&l>=0&&l<=1}var Gh=I({extends:Nh(),render(){var e;return tc(`div`,{ref:`reference`,class:[`v-popper`,{"v-popper--shown":this.slotData.isShown}]},(e=this.$slots).default?.call(e,this.slotData))}}),Kh=(e=`theme`)=>({computed:{themeClass(){return vh(this[e])}}}),qh=I({name:`VPopperContent`,mixins:[Kh()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:[`hide`,`resize`],mounted(){this.handleResize&&(this.$_resizeObserver=new ResizeObserver(()=>this.$emit(`resize`)),this.$_resizeObserver.observe(this.$refs.inner))},beforeUnmount(){var e;(e=this.$_resizeObserver)==null||e.disconnect()},methods:{toPx(e){return e!=null&&!Number.isNaN(e)?`${e}px`:null}},render(){var e;let{autoHide:t,classes:n,result:r,shown:i}=this;return tc(`div`,{id:this.popperId,ref:`popover`,"data-allow-mismatch":``,class:[`v-popper__popper`,this.themeClass,n.popperClass,{"v-popper__popper--shown":i,"v-popper__popper--hidden":!i,"v-popper__popper--show-from":n.showFrom,"v-popper__popper--show-to":n.showTo,"v-popper__popper--hide-from":n.hideFrom,"v-popper__popper--hide-to":n.hideTo,"v-popper__popper--skip-transition":this.skipTransition,"v-popper__popper--arrow-overflow":r&&r.arrow.overflow,"v-popper__popper--no-positioning":!r}],style:r?{position:r.strategy,transform:`translate3d(${Math.round(r.x)}px,${Math.round(r.y)}px,0)`}:void 0,"aria-hidden":i||t?`false`:`true`,tabindex:t?0:void 0,"data-popper-placement":r?r.placement:void 0,onKeyup:e=>{e.key===`Escape`&&t&&this.$emit(`hide`)}},[tc(`div`,{class:`v-popper__backdrop`,onClick:()=>t&&this.$emit(`hide`)}),tc(`div`,{class:`v-popper__wrapper`,style:r?{transformOrigin:r.transformOrigin}:void 0},[tc(`div`,{ref:`inner`,class:`v-popper__inner`},this.mounted?[tc(`div`,(e=this.$slots).default?.call(e))]:void 0),tc(`div`,{ref:`arrow`,class:`v-popper__arrow-container`,style:r?{left:this.toPx(r.arrow.x),top:this.toPx(r.arrow.y)}:void 0},[tc(`div`,{class:`v-popper__arrow-outer`}),tc(`div`,{class:`v-popper__arrow-inner`})])])])}}),Jh={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},Yh=function(){};typeof window<`u`&&(Yh=window.Element);var Xh=I({name:`VPopperWrapper`,mixins:[Jh,Kh(`finalTheme`)],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,Yh,Boolean],default:void 0},boundary:{type:[String,Yh],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}},render(){return tc(Gh,{ref:`popper`,...this.$props,theme:this.finalTheme,targetNodes:this.getTargetNodes,popperNode:()=>this.$refs.popperContent.$el,class:[this.themeClass],onShow:()=>this.$emit(`show`),onHide:()=>this.$emit(`hide`),"onUpdate:shown":e=>this.$emit(`update:shown`,e),onApplyShow:()=>this.$emit(`apply-show`),onApplyHide:()=>this.$emit(`apply-hide`),onCloseGroup:()=>this.$emit(`close-group`),onCloseDirective:()=>this.$emit(`close-directive`),onAutoHide:()=>this.$emit(`auto-hide`),onResize:()=>this.$emit(`resize`)},{default:({popperId:e,isShown:t,shouldMountContent:n,skipTransition:r,autoHide:i,show:a,hide:o,handleResize:s,onResize:c,classes:l,result:u})=>{var d;return[(d=this.$slots).default?.call(d,{shown:t,show:a,hide:o}),tc(qh,{ref:`popperContent`,popperId:e,theme:this.finalTheme,shown:t,mounted:n,skipTransition:r,autoHide:i,handleResize:s,classes:l,result:u,onHide:o,onResize:c},{default:()=>{var e;return(e=this.$slots).popper?.call(e,{shown:t,hide:o})}})]}})}});function Zh(e,t){return{...Xh,name:e,vPopperTheme:t}}Zh(`VDropdown`,`dropdown`),Zh(`VMenu`,`menu`),Zh(`VTooltip`,`tooltip`);var Qh=Nh(),$h=I({name:`VTooltipDirective`,mixins:[Jh],inheritAttrs:!1,props:{theme:{type:String,default:`tooltip`},html:{type:Boolean,default:e=>_h(e.theme,`html`)},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>_h(e.theme,`loadingContent`)},targetNodes:{type:Function,required:!0}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content==`function`},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if(typeof this.content==`function`&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;let e=++this.$_fetchId,t=this.content(this);t.then?t.then(t=>this.onResult(e,t)):this.onResult(e,t)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}},render(){return tc(Qh,{ref:`popper`,...this.$attrs,theme:this.theme,targetNodes:this.targetNodes,popperNode:()=>this.$refs.popperContent.$el,onApplyShow:this.onShow,onApplyHide:this.onHide},{default:({popperId:e,isShown:t,shouldMountContent:n,skipTransition:r,autoHide:i,hide:a,handleResize:o,onResize:s,classes:c,result:l})=>tc(qh,{ref:`popperContent`,class:{"v-popper--tooltip-loading":this.loading},popperId:e,theme:this.theme,shown:t,mounted:n,skipTransition:r,autoHide:i,handleResize:o,classes:c,result:l,onHide:a,onResize:s},{default:()=>this.html?tc(`div`,{innerHTML:this.finalContent}):tc(`div`,{textContent:this.finalContent})})})}}),eg=`v-popper--has-tooltip`;function tg(e,t){let n=e.placement;if(!n&&t)for(let e of Sh)t[e]&&(n=e);return n||=_h(e.theme||`tooltip`,`placement`),n}function ng(e,t,n){let r,i=typeof t;return r=i===`string`?{content:t}:t&&i===`object`?t:{content:!1},r.placement=tg(r,n),r.targetNodes=()=>[e],r.referenceNode=()=>e,r}var rg,ig,ag=0;function og(){if(rg)return;ig=M([]),rg=gu({name:`VTooltipDirectiveApp`,setup(){return{directives:ig}},render(){return this.directives.map(e=>tc($h,{...e.options,shown:e.shown||e.options.shown,key:e.id}))},devtools:{hide:!0}});let e=document.createElement(`div`);document.body.appendChild(e),rg.mount(e)}function sg(e,t,n){og();let r=M(ng(e,t,n)),i=M(!1),a={id:ag++,options:r,shown:i};return ig.value.push(a),e.classList&&e.classList.add(eg),e.$_popper={options:r,item:a,show(){i.value=!0},hide(){i.value=!1}}}function cg(e){if(e.$_popper){let t=ig.value.indexOf(e.$_popper.item);t!==-1&&ig.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget}e.classList&&e.classList.remove(eg)}function lg(e,{value:t,modifiers:n}){let r=ng(e,t,n);if(!r.content||_h(r.theme||`tooltip`,`disabled`))cg(e);else{let i;e.$_popper?(i=e.$_popper,i.options.value=r):i=sg(e,t,n),t.shown!==void 0&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide())}}var ug={beforeMount:lg,updated:lg,beforeUnmount(e){cg(e)}},dg=I({__name:`ActionIconButton`,props:{as:{},to:{},href:{},icon:{},tooltip:{},active:{type:Boolean},disabled:{type:Boolean},label:{},compact:{type:Boolean},activeClass:{}},setup(e){let t=e,n=G(()=>t.as?t.as:t.href!=null||t.to!=null?`a`:`button`),r=G(()=>n.value===`a`),i=G(()=>n.value===`button`),a=G(()=>t.compact?`btn-icon-compact`:`btn-icon`),o=G(()=>t.compact?`w-auto! h-auto! p-[0.25em]`:`w-auto! h-auto! p-[0.5em]`),s=G(()=>t.active?t.activeClass||`color-active bg-active op100`:``);return(t,c)=>_r((z(),V(ua(n.value),{type:i.value?`button`:void 0,class:k([a.value,o.value,s.value,{"pointer-events-none op-mute":e.disabled&&!i.value}]),href:r.value?e.href??e.to:void 0,to:e.as&&e.to!=null?e.to:void 0,disabled:i.value?e.disabled:void 0,"aria-disabled":e.disabled&&!i.value||void 0,"aria-label":e.label??e.tooltip,"aria-pressed":e.active||void 0},{default:P(()=>[e.icon?(z(),B(`span`,{key:0,class:k(e.icon),"aria-hidden":`true`},null,2)):W(``,!0),L(t.$slots,`default`),L(t.$slots,`badge`)]),_:3},8,[`type`,`class`,`href`,`to`,`disabled`,`aria-disabled`,`aria-label`,`aria-pressed`])),[[N(ug),e.tooltip]])}});function fg(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}var pg=[[60,`just now`],[3600,`m`],[86400,`h`],[2592e3,`d`],[31536e3,`mo`]];function mg(e){let t=Math.floor((Date.now()-e)/1e3);return t<60?`just now`:t<pg[1][0]?`${Math.floor(t/60)}m ago`:t<pg[2][0]?`${Math.floor(t/3600)}h ago`:t<pg[3][0]?`${Math.floor(t/86400)}d ago`:t<pg[4][0]?`${Math.floor(t/2592e3)}mo ago`:`${Math.floor(t/31536e3)}y ago`}function hg(e){return e.split(`/`).pop()??e}function gg(e){let t=e.split(`/`);return t.pop(),t.length?`${t.join(`/`)}/`:``}var _g=`@devframes/service-shiki`;async function vg(e,t,n){let r=e.services.get(_g);if(!r)return null;let i=/\.([^./\\]+)$/.exec(t)?.[1]?.toLowerCase();try{let{html:e}=await r.rpc.call(`highlight`,{code:n,lang:i});return e}catch{return null}}function yg(e,t){let n=[],r=hg(e.path);if(e.type===`image`){let r=t?.width&&t?.height?` width="${t.width}" height="${t.height}"`:``;n.push({name:`Image tag`,lang:`html`,code:`<img src="${e.publicPath}"${r} />`}),n.push({name:`CSS background`,lang:`css`,code:`.element {\n background-image: url('${e.publicPath}');\n}`})}else if(e.type===`font`){let t=r.replace(/\.[^.]+$/,``);n.push({name:`@font-face`,lang:`css`,code:`@font-face {\n font-family: '${t}';\n src: url('${e.publicPath}');\n}`})}else e.type===`video`?n.push({name:`Video tag`,lang:`html`,code:`<video src="${e.publicPath}" controls></video>`}):e.type===`audio`&&n.push({name:`Audio tag`,lang:`html`,code:`<audio src="${e.publicPath}" controls></audio>`});return n.push({name:`Download link`,lang:`html`,code:`<a href="${e.publicPath}" download>\n Download ${r}\n</a>`}),n}var bg=I({__name:`FontPreview`,props:{asset:{}},setup(e){let t=e,n=`devframe-assets-${Math.random().toString(36).slice(2)}`,r=null;function i(e){r||(r=document.createElement(`style`),document.head.append(r)),r.textContent=`@font-face { font-family: '${n}'; src: url('${e}'); }`}return Zi(()=>i(t.asset.publicPath)),F(()=>t.asset.publicPath,e=>i(e)),ea(()=>r?.remove()),(e,t)=>(z(),B(`div`,{class:`overflow-hidden`,style:he({fontFamily:`'${n}'`})},` Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz `,4))}}),xg=[`src`,`alt`],Sg=[`innerHTML`],Cg={class:`max-h-40 w-full overflow-hidden text-xs font-mono`},wg=[`src`,`autoplay`,`controls`],Tg=[`src`],Eg={key:1,class:`i-ph-speaker-high-duotone text-3xl op-mute`},Dg=`flex items-center justify-center overflow-hidden bg-active p-1`,Og=I({__name:`AssetPreview`,props:{asset:{},textContent:{},highlightedHtml:{},detail:{type:Boolean}},setup(e){return(t,n)=>e.asset.type===`image`?(z(),B(`div`,{key:0,class:k(Dg)},[H(`img`,{src:e.asset.publicPath,alt:e.asset.path,class:`max-h-full max-w-full select-none object-contain`,draggable:!1},null,8,xg)])):e.asset.type===`font`?(z(),B(`div`,{key:1,class:k(Dg)},[U(bg,{asset:e.asset,class:`self-stretch p-2 text-2xl`},null,8,[`asset`])])):e.asset.type===`text`&&e.highlightedHtml?(z(),B(`div`,{key:2,class:k([`asset-code-preview w-full items-start p-4`,Dg]),innerHTML:e.highlightedHtml},null,8,Sg)):e.asset.type===`text`&&e.textContent?(z(),B(`div`,{key:3,class:k([`w-full items-start p-4`,Dg])},[H(`pre`,Cg,A(e.textContent),1)])):e.asset.type===`text`?(z(),B(`div`,{key:4,class:k(Dg)},[...n[0]||=[H(`span`,{class:`i-ph-file-text-duotone text-3xl op-mute`},null,-1)]])):e.asset.type===`video`?(z(),B(`div`,{key:5,class:k(Dg)},[H(`video`,{src:e.asset.publicPath,autoplay:e.detail,controls:e.detail,class:`max-h-full max-w-full`},null,8,wg)])):e.asset.type===`audio`?(z(),B(`div`,{key:6,class:k(Dg)},[e.detail?(z(),B(`audio`,{key:0,src:e.asset.publicPath,controls:``},null,8,Tg)):(z(),B(`span`,Eg))])):(z(),B(`div`,{key:7,class:k(Dg)},[...n[1]||=[H(`span`,{class:`i-ph-file-duotone text-3xl op-mute`},null,-1)]]))}}),kg={class:`-mx-4 -mb-4 border-t border-base px-4 pb-4 pt-3`},Ag={class:`mb-2 flex items-center gap-1 overflow-x-auto`},jg=[`onClick`],Mg={class:`overflow-x-auto rounded-lg bg-secondary p-3 text-xs font-mono`},Ng=I({__name:`CodeSnippets`,props:{snippets:{}},setup(e){let t=e,n=M(0),r=M(!1),i=G(()=>t.snippets[Math.min(n.value,t.snippets.length-1)]);async function a(){await navigator.clipboard.writeText(i.value.code),r.value=!0,setTimeout(()=>{r.value=!1},1500)}return(t,o)=>(z(),B(`div`,kg,[H(`div`,Ag,[(z(!0),B(R,null,ma(e.snippets,(e,t)=>(z(),B(`button`,{key:e.name,type:`button`,class:k([`shrink-0 rounded px-2 py-1 text-xs`,t===n.value?`bg-active color-base`:`op-fade hover:bg-active`]),onClick:e=>n.value=t},A(e.name),11,jg))),128)),o[0]||=H(`span`,{class:`flex-1`},null,-1),H(`button`,{type:`button`,class:`shrink-0 rounded p-1 op-fade hover:bg-active hover:op-100`,title:`Copy`,onClick:a},[H(`span`,{class:k(r.value?`i-ph-check`:`i-ph-copy`)},null,2)])]),H(`pre`,Mg,[H(`code`,null,A(i.value.code),1)])]))}}),Pg={class:`flex min-h-full w-full flex-col gap-4 p-4`},Fg={class:`flex items-center justify-between gap-2`},Ig={class:`truncate text-sm font-medium font-mono`},Lg={key:0,class:`flex items-center justify-center`},Rg={class:`w-full table-fixed`},zg={class:`text-sm`},Bg={class:`flex items-center gap-1 overflow-hidden`},Vg=[`href`],Hg={class:`text-sm capitalize`},Ug={key:0},Wg={class:`text-sm`},Gg={key:1},Kg={class:`text-sm`},qg={class:`text-sm`},Jg={class:`text-sm`},Yg={class:`op-fade`},Xg={class:`flex flex-wrap gap-2`},Zg={key:1,class:`text-xs text-error`},Qg={class:`font-mono`},$g=I({__name:`AssetDetails`,props:{asset:{},rpc:{},canWrite:{type:Boolean}},emits:[`close`,`changed`],setup(e,{emit:t}){let n=e,r=t,i=new Set([`image`,`text`,`video`,`audio`,`font`]),a=M(null),o=M(null),s=M(null),c=M(!1),l=M(!1),u=M(``),d=M(!1),f=M(null);F(()=>n.asset.path,e=>{a.value=null,o.value=null,s.value=null,f.value=null;let t=n.rpc;t&&(n.asset.type===`image`&&t.call(`devframes:plugin:assets:read-image-meta`,e).then(e=>{a.value=e}),n.asset.type===`text`&&t.call(`devframes:plugin:assets:read-text`,e,5e3).then(async r=>{o.value=r;let i=r==null?null:await vg(t,e,r);n.asset.path===e&&(s.value=i)}))},{immediate:!0});let p=M(!1);F(()=>n.rpc,e=>{e&&(p.value=e.services.has(`@devframes/service-open`),e.services.state().then(t=>{p.value=e.services.has(`@devframes/service-open`),t.on(`updated`,()=>p.value=e.services.has(`@devframes/service-open`))}).catch(()=>{}))},{immediate:!0});function m(e,t){return t?m(t,e%t):e}let h=G(()=>{let e=a.value;if(!e?.width||!e?.height)return``;let t=m(e.width,e.height);return t>3?`${e.width/t}:${e.height/t}`:``}),g=G(()=>yg(n.asset,a.value)),_=G(()=>i.has(n.asset.type));async function v(e){if(n.rpc){f.value=null,d.value=!0;try{await e()}catch(e){f.value=e instanceof Error?e.message:String(e)}finally{d.value=!1}}}async function y(){await v(async()=>{await n.rpc.call(`devframes:plugin:assets:delete`,{paths:[n.asset.path]}),c.value=!1,r(`changed`),r(`close`)})}async function b(){await v(async()=>{await n.rpc.call(`devframes:plugin:assets:rename`,{path:n.asset.path,newName:u.value}),l.value=!1,r(`changed`),r(`close`)})}async function x(){await v(async()=>{let e=n.rpc.services.get(`@devframes/service-open`);e&&n.asset.fsPath&&await e.rpc.call(`open-in-editor`,{path:n.asset.fsPath})})}async function S(){await v(async()=>{let e=n.rpc.services.get(`@devframes/service-open`);if(e&&n.asset.fsPath){let t=n.asset.fsPath.replace(/[/\\][^/\\]*$/,``);await e.rpc.call(`open-in-finder`,{path:t})}})}function C(){u.value=hg(n.asset.path).replace(/\.[^./]+$/,``),l.value=!0}function w(){window.open(n.asset.publicPath,`_blank`)}return(t,n)=>(z(),B(R,null,[H(`div`,Pg,[H(`div`,Fg,[H(`h2`,Ig,A(e.asset.path),1),U(dg,{icon:`i-ph-x`,label:`Close`,tooltip:`Close`,onClick:n[0]||=e=>r(`close`)})]),_.value?(z(),B(`div`,Lg,[U(Og,{asset:e.asset,detail:``,"text-content":o.value,"highlighted-html":s.value,class:`max-h-80 min-h-20 w-auto min-w-20 rounded border border-base`},null,8,[`asset`,`text-content`,`highlighted-html`])])):W(``,!0),H(`table`,Rg,[H(`tbody`,null,[H(`tr`,null,[n[7]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` Public Path `,-1),H(`td`,zg,[H(`div`,Bg,[H(`a`,{href:e.asset.publicPath,target:`_blank`,rel:`noreferrer`,class:`flex-1 truncate text-xs color-active font-mono`},A(e.asset.publicPath),9,Vg),U(dg,{icon:`i-ph-arrow-square-out`,label:`Open in browser`,tooltip:`Open in browser`,class:`text-sm`,onClick:w})])])]),H(`tr`,null,[n[8]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` Type `,-1),H(`td`,Hg,A(e.asset.type),1)]),a.value?.width?(z(),B(`tr`,Ug,[n[9]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` Image Size `,-1),H(`td`,Wg,A(a.value.width)+` x `+A(a.value.height),1)])):W(``,!0),h.value?(z(),B(`tr`,Gg,[n[10]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` Aspect Ratio `,-1),H(`td`,Kg,A(h.value),1)])):W(``,!0),H(`tr`,null,[n[11]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` File Size `,-1),H(`td`,qg,A(N(fg)(e.asset.size)),1)]),H(`tr`,null,[n[12]||=H(`td`,{class:`w-28 whitespace-nowrap pr-4 text-right text-xs op-fade`},` Last Modified `,-1),H(`td`,Jg,[ws(A(new Date(e.asset.mtime).toLocaleString())+` `,1),H(`span`,Yg,`(`+A(N(mg)(e.asset.mtime))+`)`,1)])])])]),H(`div`,Xg,[U(Tu,{variant:`primary`,icon:`i-ph-download-simple-duotone`,onClick:w},{default:P(()=>[...n[13]||=[ws(` Download `,-1)]]),_:1}),p.value&&e.asset.fsPath?(z(),V(Tu,{key:0,icon:`i-ph-code-duotone`,disabled:d.value,onClick:x},{default:P(()=>[...n[14]||=[ws(` Open in Editor `,-1)]]),_:1},8,[`disabled`])):W(``,!0),p.value&&e.asset.fsPath?(z(),V(Tu,{key:1,icon:`i-ph-folder-open-duotone`,disabled:d.value,onClick:S},{default:P(()=>[...n[15]||=[ws(` Reveal in Folder `,-1)]]),_:1},8,[`disabled`])):W(``,!0),e.canWrite?(z(),V(Tu,{key:2,icon:`i-ph-text-aa-duotone`,onClick:C},{default:P(()=>[...n[16]||=[ws(` Rename `,-1)]]),_:1})):W(``,!0),e.canWrite?(z(),V(Tu,{key:3,class:`text-error border-error/30!`,icon:`i-ph-trash-duotone`,onClick:n[1]||=e=>c.value=!0},{default:P(()=>[...n[17]||=[ws(` Delete `,-1)]]),_:1})):W(``,!0)]),f.value?(z(),B(`div`,Zg,A(f.value),1)):W(``,!0),n[18]||=H(`div`,{class:`flex-1`},null,-1),g.value.length?(z(),V(Ng,{key:2,snippets:g.value},null,8,[`snippets`])):W(``,!0)]),U(hh,{open:c.value,"onUpdate:open":n[3]||=e=>c.value=e,title:`Delete asset`},{footer:P(()=>[U(Tu,{onClick:n[2]||=e=>c.value=!1},{default:P(()=>[...n[21]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{class:`text-error border-error/30!`,disabled:d.value,onClick:y},{default:P(()=>[...n[22]||=[ws(` Delete `,-1)]]),_:1},8,[`disabled`])]),default:P(()=>[H(`p`,null,[n[19]||=ws(` Are you sure you want to delete `,-1),H(`strong`,Qg,A(N(hg)(e.asset.path)),1),n[20]||=ws(`? `,-1)])]),_:1},8,[`open`]),U(hh,{open:l.value,"onUpdate:open":n[6]||=e=>l.value=e,title:`Rename asset`},{footer:P(()=>[U(Tu,{onClick:n[5]||=e=>l.value=!1},{default:P(()=>[...n[23]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{variant:`primary`,disabled:d.value||!u.value.trim(),onClick:b},{default:P(()=>[...n[24]||=[ws(` Rename `,-1)]]),_:1},8,[`disabled`])]),default:P(()=>[U(Du,{modelValue:u.value,"onUpdate:modelValue":n[4]||=e=>u.value=e,placeholder:`New name`,onKeydown:cu(b,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`open`])],64))}});function e_(e){let t=new Map;for(let n of e){let e=gg(n.path),r=t.get(e);r?r.push(n):t.set(e,[n])}return Array.from(t.entries()).map(([e,t])=>({folder:e,items:t})).sort((e,t)=>e.folder.localeCompare(t.folder))}function t_(e){let t={name:``,path:``,isFolder:!0,children:[]};for(let n of e){let e=n.path.split(`/`).filter(Boolean),r=t,i=``;e.forEach((t,a)=>{i=i?`${i}/${t}`:t;let o=a===e.length-1,s=r.children.find(e=>e.name===t&&e.isFolder===!o);s||(s={name:t,path:i,isFolder:!o,children:[],asset:o?n:void 0},r.children.push(s)),r=s})}let n=e=>{e.children.sort((e,t)=>e.isFolder===t.isFolder?e.name.localeCompare(t.name):e.isFolder?-1:1),e.children.forEach(n)};return n(t),t.children}var n_=`outline-none border border-base rounded bg-raised flex h-4 w-4 transition items-center justify-center data-[state=checked]:border-primary-500 data-[state=checked]:bg-primary-500 focus-visible:ring-2 focus-visible:ring-primary-500/40`,r_=I({inheritAttrs:!1,__name:`FormCheckbox`,props:Fa({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ro(e,`modelValue`);return(n,r)=>e.label||n.$slots.default?(z(),B(`label`,ks({key:0},n.$attrs,{class:[`text-sm inline-flex gap-1.5 cursor-pointer select-none items-center`,{"op-fade saturate-0 pointer-events-none":e.disabled}]}),[U(N($m),{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,disabled:e.disabled,class:k(n_)},{default:P(()=>[U(N(eh),{class:`text-white`},{default:P(()=>[...r[2]||=[H(`div`,{class:`i-ph:check-bold text-micro text-white mt--1px`,"aria-hidden":`true`},null,-1)]]),_:1})]),_:1},8,[`modelValue`,`disabled`]),H(`span`,null,[L(n.$slots,`default`,{},()=>[ws(A(e.label),1)])])],16)):(z(),V(N($m),ks({key:1},n.$attrs,{modelValue:t.value,"onUpdate:modelValue":r[1]||=e=>t.value=e,disabled:e.disabled,class:n_}),{default:P(()=>[U(N(eh),{class:`text-white`},{default:P(()=>[...r[3]||=[H(`div`,{class:`i-ph:check-bold text-micro text-white mt--1px`,"aria-hidden":`true`},null,-1)]]),_:1})]),_:1},16,[`modelValue`,`disabled`]))}}),i_={class:`w-full truncate whitespace-nowrap text-center text-xs`},a_=I({__name:`AssetGridItem`,props:{asset:{},label:{},selectable:{type:Boolean},isSelected:{type:Boolean}},emits:[`select`,`selectToggle`],setup(e,{emit:t}){let n=t;return(t,r)=>(z(),B(`div`,{class:`relative flex cursor-pointer flex-col items-center gap-1 overflow-hidden rounded p-2 hover:bg-active`,role:`button`,tabindex:`0`,onClick:r[2]||=e=>n(`select`),onKeydown:r[3]||=cu(e=>n(`select`),[`enter`])},[e.selectable?(z(),B(`span`,{key:0,class:`absolute left-1 top-1 z-1`,onClick:r[1]||=ou(()=>{},[`stop`])},[U(r_,{"model-value":e.isSelected,"onUpdate:modelValue":r[0]||=t=>n(`selectToggle`,e.asset.path)},null,8,[`model-value`])])):W(``,!0),U(Og,{asset:e.asset,class:`h-30 w-30 rounded border border-base`},null,8,[`asset`]),H(`div`,i_,A(e.label),1)],32))}}),o_={class:`border-b border-base last:border-b-0`},s_={class:`text-sm font-mono`},c_={key:0,class:`op-fade text-xs`},l_={key:0,class:`px-2 pb-2`},u_=I({__name:`SectionBlock`,props:{title:{},description:{},defaultOpen:{type:Boolean,default:!0}},setup(e){let t=M(e.defaultOpen);return(n,r)=>(z(),B(`div`,o_,[H(`button`,{type:`button`,class:`flex w-full items-center gap-2 px-4 py-2 text-left hover:bg-active`,onClick:r[0]||=e=>t.value=!t.value},[H(`span`,{class:k([`i-ph-caret-right transition`,t.value?`rotate-90`:``])},null,2),H(`span`,s_,A(e.title),1),e.description?(z(),B(`span`,c_,A(e.description),1)):W(``,!0)]),t.value?(z(),B(`div`,l_,[L(n.$slots,`default`)])):W(``,!0)]))}}),d_={key:1},f_=I({__name:`AssetGrid`,props:{assets:{},selectable:{type:Boolean},selectedPaths:{}},emits:[`selectToggle`,`select`],setup(e,{emit:t}){let n=e,r=t,i=G(()=>e_(n.assets)),a={gridTemplateColumns:`repeat(auto-fill, minmax(8rem, 1fr))`};function o(e,t){return t&&e.path.startsWith(t)?e.path.slice(t.length):e.path}return(t,n)=>i.value.length<=1?(z(),B(`div`,{key:0,class:`grid gap-2 p-2`,style:a},[(z(!0),B(R,null,ma(e.assets,t=>(z(),V(a_,{key:t.path,asset:t,label:t.path,selectable:e.selectable,"is-selected":e.selectedPaths.has(t.path),onSelect:e=>r(`select`,t),onSelectToggle:n[0]||=e=>r(`selectToggle`,e)},null,8,[`asset`,`label`,`selectable`,`is-selected`,`onSelect`]))),128))])):(z(),B(`div`,d_,[(z(!0),B(R,null,ma(i.value,({folder:t,items:i})=>(z(),V(u_,{key:t||`/`,title:t||`/`,description:`${i.length} items`,"default-open":i.length<=200},{default:P(()=>[H(`div`,{class:`grid gap-2 p-2`,style:a},[(z(!0),B(R,null,ma(i,i=>(z(),V(a_,{key:i.path,asset:i,label:o(i,t),selectable:e.selectable,"is-selected":e.selectedPaths.has(i.path),onSelect:e=>r(`select`,i),onSelectToggle:n[1]||=e=>r(`selectToggle`,e)},null,8,[`asset`,`label`,`selectable`,`is-selected`,`onSelect`]))),128))])]),_:2},1032,[`title`,`description`,`default-open`]))),128))]))}}),p_=[`image`,`video`,`audio`,`font`,`text`,`other`],m_={image:{label:`Images`,icon:`i-ph-image-duotone`},video:{label:`Videos`,icon:`i-ph-video-duotone`},audio:{label:`Audio`,icon:`i-ph-speaker-high-duotone`},font:{label:`Fonts`,icon:`i-ph-text-aa-duotone`},text:{label:`Text`,icon:`i-ph-file-text-duotone`},other:{label:`Other`,icon:`i-ph-file-duotone`}},h_={class:`flex-1 truncate text-left font-mono`},g_=I({name:`AssetListItem`,__name:`AssetListItem`,props:{node:{},depth:{default:0},selectedPath:{},selectable:{type:Boolean},selectedPaths:{}},emits:[`select`,`selectToggle`],setup(e,{emit:t}){let n=e,r=t,i=M(!0),a=G(()=>n.node.isFolder?`i-ph-folder-duotone`:m_[n.node.asset?.type??`other`].icon),o=G(()=>!n.node.isFolder&&n.node.asset?.path===n.selectedPath);function s(){n.node.isFolder?i.value=!i.value:r(`select`,n.node)}return(t,n)=>{let c=ca(`AssetListItem`,!0);return z(),B(`div`,null,[H(`div`,{class:k([`flex w-full items-center gap-2 border-b border-base px-4 py-1 text-sm hover:bg-active`,o.value?`bg-active`:`cursor-pointer`]),style:he({paddingLeft:`${1+e.depth*1.25}rem`}),role:`button`,tabindex:`0`,onClick:s,onKeydown:cu(s,[`enter`])},[e.selectable&&!e.node.isFolder?(z(),B(`span`,{key:0,onClick:n[1]||=ou(()=>{},[`stop`])},[U(r_,{"model-value":e.selectedPaths?.has(e.node.path),"onUpdate:modelValue":n[0]||=t=>r(`selectToggle`,e.node.path)},null,8,[`model-value`])])):W(``,!0),H(`span`,{class:k(a.value)},null,2),H(`span`,h_,A(e.node.name),1),e.node.isFolder?(z(),B(`span`,{key:1,class:k([`i-ph-caret-right transition`,i.value?`rotate-90`:``])},null,2)):W(``,!0)],38),e.node.isFolder&&i.value?(z(!0),B(R,{key:0},ma(e.node.children,t=>(z(),V(c,{key:t.path,node:t,depth:e.depth+1,"selected-path":e.selectedPath,selectable:e.selectable,"selected-paths":e.selectedPaths,onSelect:n[2]||=e=>r(`select`,e),onSelectToggle:n[3]||=e=>r(`selectToggle`,e)},null,8,[`node`,`depth`,`selected-path`,`selectable`,`selected-paths`]))),128)):W(``,!0)])}}}),__=I({__name:`AssetTree`,props:{assets:{},selectedPath:{},selectable:{type:Boolean},selectedPaths:{}},emits:[`selectToggle`,`select`],setup(e,{emit:t}){let n=e,r=t,i=G(()=>t_(n.assets));function a(e){e.asset&&r(`select`,e.asset)}return(t,n)=>(z(),B(`div`,null,[(z(!0),B(R,null,ma(i.value,t=>(z(),V(g_,{key:t.path,node:t,"selected-path":e.selectedPath,selectable:e.selectable,"selected-paths":e.selectedPaths,onSelect:a,onSelectToggle:n[0]||=e=>r(`selectToggle`,e)},null,8,[`node`,`selected-path`,`selectable`,`selected-paths`]))),128))]))}}),v_=Symbol(`antfu-design-color-scheme`);function y_(e){let t=br(v_,void 0);return G(()=>e?.()??t?.value??`light`)}function b_(e,t){let n=e.length,r,i,a=!1,o=!1;Array.isArray(e[0])?r=e:(r=[e],n=r.length,a=!0),Array.isArray(t[0])?i=t:(i=t.length>0?t.map(e=>[e]):[[]],o=!0);let s=i[0].length,c=i[0].map((e,t)=>i.map(e=>e[t])),l=r.map(e=>c.map(t=>{let n=0;if(!Array.isArray(e)){for(let r of t)n+=e*r;return n}for(let r=0;r<e.length;r++)n+=e[r]*(t[r]||0);return n}));return n===1&&a&&(l=l[0]),s===1&&o?n===1&&a?l[0]:l.map(e=>e[0]):l}function x_(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function q(e,t,n=[0,0,0]){let r=x_(e,t[0]),i=x_(e,t[1]),a=x_(e,t[2]);return n[0]=r,n[1]=i,n[2]=a,n}var S_=t({bisectLeft:()=>F_,clamp:()=>j_,copySign:()=>M_,diag:()=>L_,interpolate:()=>O_,interpolateInv:()=>k_,inv:()=>U_,isInstance:()=>I_,isNone:()=>J,isString:()=>C_,lu:()=>R_,mapRange:()=>A_,multiplyMatrices:()=>b_,multiply_v3_m3x3:()=>q,serializeNumber:()=>T_,skipNone:()=>E_,solve:()=>W_,spow:()=>N_,toPrecision:()=>D_,type:()=>w_,zdiv:()=>P_});function C_(e){return w_(e)===`string`}function w_(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||``).toLowerCase()}function T_(e,{precision:t=16,unit:n}){return J(e)?`none`:(e=+D_(e,t),e+(n??``))}function J(e){return e===null}function E_(e){return J(e)?0:e}function D_(e,t){if(e===0)return 0;let n=~~e,r=0;n&&t&&(r=~~Math.log10(Math.abs(n))+1);let i=10**(t-r);return Math.floor(e*i+.5)/i}function O_(e,t,n){return J(e)||isNaN(e)?t:J(t)||isNaN(t)?e:e+(t-e)*n}function k_(e,t,n){return(n-e)/(t-e)}function A_(e,t,n){return!e||!t||e===t||e[0]===t[0]&&e[1]===t[1]||isNaN(n)||n===null?n:O_(t[0],t[1],k_(e[0],e[1],n))}function j_(e,t,n){return Math.max(Math.min(n,t),e)}function M_(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function N_(e,t){return M_(Math.abs(e)**t,e)}function P_(e,t){return t===0?0:e/t}function F_(e,t,n=0,r=e.length){for(;n<r;){let i=n+r>>1;e[i]<t?n=i+1:r=i}return n}function I_(e,t){if(e instanceof t)return!0;let n=t.name;for(;e;){let t=Object.getPrototypeOf(e),r=t?.constructor?.name;if(r===n)return!0;if(!r||r===`Object`)return!1;e=t}return!1}function L_(e){let t=e.length,n=[];for(let r=0;r<t;r++){n[r]=[];for(let i=0;i<t;i++)n[r][i]=r===i?e[r]:0}return n}function R_(e,{pIndices:t=!1}={}){let n,r,i,a,o=e.length;t?(n=Array.from({length:o},(e,t)=>t),i=L_(Array(o).fill(1))):(r=L_(Array(o).fill(1)),i=structuredClone(r)),a=structuredClone(e);for(let e=0;e<o-1;e++){let s=e,c=Math.abs(a[e][e]);for(let t=e+1;t<o;t++){let n=Math.abs(a[t][e]);n>c&&(s=t,c=n)}if(s!=e){if([a[e],a[s]]=[a[s],a[e]],t?[n[e],n[s]]=[n[s],n[e]]:[r[e],r[s]]=[r[s],r[e]],e)for(let t=0;t<e;t++)[i[e][t],i[s][t]]=[i[s][t],i[e][t]]}else if(!c)continue;for(let t=e+1;t<o;t++){let n=a[t][e]/a[e][e];for(let r=e;r<o;r++)a[t][r]+=-a[e][r]*n,i[t][r]+=i[e][r]*n}}return t?[n,i,a]:[r,i,a]}function z_(e,t,n){for(let r=0;r<n;r++){let i=t[r];for(let a=0;a<r;a++)for(let o=0;o<n;o++)i[o]-=e[r][a]*t[a][o];for(let t=0;t<n;t++)i[t]/=e[r][r]}return t}function B_(e,t,n){for(let i=n-1;i>-1;i--){let a=t[i];for(let o=i+1;o<n;o++)for(var r=0;r<n;r++)a[r]-=e[i][o]*t[o][r];for(let r=0;r<n;r++)t[i][r]/=e[i][i]}return t}function V_(e,t,n){for(let r=0;r<n;r++){let n=t[r];for(let i=0;i<r;i++)n-=e[r][i]*t[i];t[r]=n/e[r][r]}return t}function H_(e,t,n){for(let r=n-1;r>-1;r--){let i=t[r];for(let a=r+1;a<n;a++)i-=e[r][a]*t[a];t[r]=i/e[r][r]}return t}function U_(e){let[t,n,r]=R_(e),i=n.length;if(n.map((e,t)=>e[t]*r[t][t]).reduce((e,t)=>e*t,1)===0)throw Error(`Matrix is singular`);return B_(r,z_(n,t,i),i)}function W_(e,t){let[n,r,i]=R_(e,{pIndices:!0}),a=r.length;if(r.map((e,t)=>e[t]*i[t][t]).reduce((e,t)=>e*t,1)===0)throw Error(`Matrix is singular`);return H_(i,V_(r,n.map(e=>t[e]),a),a)}var G_=new class{add(e,t,n){if(typeof arguments[0]!=`string`){for(var e in arguments[0])this.add(e,arguments[0][e],arguments[1]);return}(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][n?`unshift`:`push`](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},K_={gamut_mapping:`css`,precision:5,deltaE:`76`,verbose:!0,warn:function(e){this.verbose&&globalThis?.console?.warn?.(e)}},q_=class{type;coordMeta;coordRange;range;constructor(e,t){if(typeof e==`object`&&(this.coordMeta=e),t&&(this.coordMeta=t,this.coordRange=t.range??t.refRange),typeof e==`string`){let t=e.trim().match(/^(?<type><[a-z]+>)(\[(?<min>-?[.\d]+),\s*(?<max>-?[.\d]+)\])?$/);if(!t)throw TypeError(`Cannot parse ${e} as a type definition.`);this.type=t.groups.type;let{min:n,max:r}=t.groups;(n||r)&&(this.range=[+n,+r])}}get computedRange(){return this.range?this.range:this.type===`<percentage>`?this.percentageRange():this.type===`<angle>`?[0,360]:null}get unit(){return this.type===`<percentage>`?`%`:this.type===`<angle>`?`deg`:``}resolve(e){if(this.type===`<angle>`)return e;let t=this.computedRange,n=this.coordRange;return this.type===`<percentage>`&&(n??=this.percentageRange()),A_(t,n,e)}serialize(e,t){let n=this.type===`<percentage>`?this.percentageRange(100):this.computedRange,r=this.unit;return e=A_(this.coordRange,n,e),T_(e,{unit:r,precision:t})}toString(){let e=this.type;if(this.range){let[t=``,n=``]=this.range;e+=`[${t},${n}]`}return e}percentageRange(e=1){let t;return t=this.coordMeta&&this.coordMeta.range||this.coordRange&&this.coordRange[0]>=0?[0,1]:[-1,1],[t[0]*e,t[1]*e]}static get(e,t){return I_(e,this)?e:new this(e,t)}},J_=Symbol(`instance`),Y_=class e{type;name;spaceCoords;coords;id;alpha;constructor(e,t=e.space){e[J_]=this,this.type=`function`,this.name=`color`,Object.assign(this,e),this.space=t,this.type!==`custom`&&(this.spaceCoords=Object.values(t.coords),this.coords||=this.spaceCoords.map(e=>{let t=[`<number>`,`<percentage>`];return e.type===`angle`&&t.push(`<angle>`),t}),this.coords=this.coords.map((e,t)=>{let n=this.spaceCoords[t];return typeof e==`string`&&(e=e.trim().split(/\s*\|\s*/)),e.map(e=>q_.get(e,n))}))}serializeCoords(e,t,n){return n=e.map((e,t)=>q_.get(n?.[t]??this.coords[t][0],this.spaceCoords[t])),e.map((e,r)=>n[r].serialize(e,t))}coerceCoords(e,t){return Object.entries(this.space.coords).map(([n,r],i)=>{let a=e[i];if(J(a)||isNaN(a))return a;let o=t[i],s=this.coords[i].find(e=>e.type==o);if(!s){let e=r.name||n;throw TypeError(`${o??a?.raw??a} not allowed for ${e} in ${this.name}()`)}return a=s.resolve(a),s.range&&(t[i]=s.toString()),a})}canSerialize(){return this.type===`function`||this.serialize}parse(e){return null}static get(t,...n){return!t||I_(t,this)?t:t[J_]?t[J_]:new e(t,...n)}},X_={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function Z_(e){return Array.isArray(e)?e:X_[e]}function Q_(e,t,n,r={}){if(e=Z_(e),t=Z_(t),!e||!t)throw TypeError(`Missing white point to convert ${e?``:`from`}${!e&&!t?`/`:``}${t?``:`to`}`);if(e===t)return n;let i={W1:e,W2:t,XYZ:n,options:r};if(G_.run(`chromatic-adaptation-start`,i),i.M||(i.W1===X_.D65&&i.W2===X_.D50?i.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:i.W1===X_.D50&&i.W2===X_.D65&&(i.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),G_.run(`chromatic-adaptation-end`,i),i.M)return q(i.XYZ,i.M);throw TypeError(`Only Bradford CAT with white points D50 and D65 supported for now.`)}function $_(e,t){let n={str:String(e)?.trim(),options:t};if(G_.run(`parse-start`,n),n.color)return n.color;n.parsed=rv(n.str);let r,i=n.options?n.options.parseMeta??n.options.meta:null;if(n.parsed){let t=n.parsed.name,a,o,s=n.parsed.args,c=s.map((e,t)=>n.parsed.argMeta[t]?.type);if(t===`color`){let r=s.shift();c.shift();let i=r.startsWith(`--`)?r.substring(2):`--${r}`,l=[r,i];if(a=X.findFormat({name:t,id:l,type:`function`}),!a){let t,a=r in X.registry?r:i;if(a in X.registry){let n=X.registry[a].formats?.color?.id;n&&(t=`Did you mean ${e.replace(`color(`+r,`color(`+n)}?`)}throw TypeError(`Cannot parse ${n.str}. `+(t??`Missing a plugin?`))}o=a.space,a.id.startsWith(`--`)&&!r.startsWith(`--`)&&K_.warn(`${o.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${a.id}) instead of color(${r}).`),r.startsWith(`--`)&&!a.id.startsWith(`--`)&&K_.warn(`${o.name} is a standard space and supported in the CSS spec. Use color(${a.id}) instead of prefixed color(${r}).`)}else a=X.findFormat({name:t,type:`function`}),o=a.space;i&&Object.assign(i,{format:a,formatId:a.name,types:c,commas:n.parsed.commas});let l=1;n.parsed.lastAlpha&&(l=n.parsed.args.pop(),i&&(i.alphaType=c.pop()));let u=a.coords.length;if(s.length!==u)throw TypeError(`Expected ${u} coordinates for ${o.id} in ${n.str}), got ${s.length}`);s=a.coerceCoords(s,c),r={spaceId:o.id,coords:s,alpha:l}}else spaceloop:for(let e of X.all)for(let t in e.formats){let a=e.formats[t];if(a.type!==`custom`||a.test&&!a.test(n.str))continue;let o=e.getFormat(a),s=o.parse(n.str);if(s){i&&Object.assign(i,{format:o,formatId:t}),r=s;break spaceloop}}if(!r)throw TypeError(`Could not parse ${e} as a color. Missing a plugin?`);return r.alpha=J(r.alpha)?r.alpha:r.alpha===void 0?1:j_(0,r.alpha,1),r}var ev={"%":.01,deg:1,grad:.9,rad:180/Math.PI,turn:360},tv={function:/^([a-z]+)\(((?:calc\(NaN\)|.)+?)\)$/i,number:/^([-+]?(?:[0-9]*\.)?[0-9]+(e[-+]?[0-9]+)?)$/i,unitValue:RegExp(`(${Object.keys(ev).join(`|`)})$`),singleArgument:/\/?\s*(none|NaN|calc\(NaN\)|[-+\w.]+(?:%|deg|g?rad|turn)?)/g};function nv(e){let t={},n=e.match(tv.unitValue)?.[0],r=t.raw=e;return n?(t.type=n===`%`?`<percentage>`:`<angle>`,t.unit=n,t.unitless=Number(r.slice(0,-n.length)),r=t.unitless*ev[n]):tv.number.test(r)?(r=Number(r),t.type=`<number>`):r===`none`?r=null:r===`NaN`||r===`calc(NaN)`?(r=NaN,t.type=`<number>`):t.type=`<ident>`,{value:r,meta:t}}function rv(e){if(!e)return;e=e.trim();let t=e.match(tv.function);if(t){let e=[],n=[],r=!1,i=t[1].toLowerCase(),a=t[2].replace(tv.singleArgument,(t,a)=>{let{value:o,meta:s}=nv(a);return(t.startsWith(`/`)||i!==`color`&&e.length===3)&&(r=!0),e.push(o),n.push(s),``});return{name:i,args:e,argMeta:n,lastAlpha:r,commas:a.includes(`,`),rawName:t[1],rawArgs:t[2]}}}function Y(e,t){if(Array.isArray(e))return e.map(e=>Y(e,t));if(!e)throw TypeError(`Empty color reference`);C_(e)&&(e=$_(e,t));let n=e.space||e.spaceId;return typeof n==`string`&&(e.space=X.get(n)),e.alpha===void 0&&(e.alpha=1),e}var iv=75e-6,X=class e{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?e.get(t.base):null,this.aliases=t.aliases,this.displaySpaces=t.displaySpaces?.map(t=>e.get(t)),this.bases=[];for(let e=this.base;e;e=e.base)this.bases.push(e);t.rgbGamut&&(this.rgbGamut=t.rgbGamut),t.linearGamut&&(this.linearGamut=t.linearGamut),this.base&&(t.fromBase&&(this.fromBase=t.fromBase),t.toBase&&(this.toBase=t.toBase));let n=t.coords??this.base.coords;for(let e in n)`name`in n[e]||(n[e].name=e);this.coords=n;let r=t.white??this.base.white??`D65`;this.white=Z_(r),this.formats=t.formats??{};for(let e in this.formats){let t=this.formats[e];t.type||=`function`,t.name||=e}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),this.gamutSpace=t.gamutSpace?t.gamutSpace===`self`?this:e.get(t.gamutSpace):this.isPolar?this.base:this,this.gamutSpace.isUnbounded&&(this.inGamut=(e,t)=>!0),this.M=t.M??{},this.referred=t.referred,Object.defineProperty(this,"path",{value:av(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),G_.run(`colorspace-init-end`,this)}inGamut(e,{epsilon:t=iv}={}){if(!this.equals(this.gamutSpace))return e=this.to(this.gamutSpace,e),this.gamutSpace.inGamut(e,{epsilon:t});let n=Object.values(this.coords);return e.every((e,r)=>{let i=n[r];if(i.type!==`angle`&&i.range){if(J(e))return!0;let[n,r]=i.range;return(n===void 0||e>=n-t)&&(r===void 0||e<=r+t)}return!0})}get isUnbounded(){return Object.values(this.coords).every(e=>!(`range`in e))}get cssId(){return this.formats?.color?.id||this.id}get hueId(){for(let e in this.coords)if(this.coords[e].type===`angle`)return e;return null}get hueIndex(){return Object.keys(this.coords).findIndex(e=>this.coords[e].type===`angle`)}get isPolar(){return this.hueId!==null}getFormat(e){if(!e)return null;e==="default"?e=Object.values(this.formats)[0]:typeof e==`string`&&(e=this.formats[e]);let t=Y_.get(e,this);return t!==e&&e.name in this.formats&&(this.formats[e.name]=t),t}equals(e){return e?this===e||this.id===e||this.id===e.id:!1}to(t,n){if(arguments.length===1){let e=Y(t);[t,n]=[e.space,e.coords]}if(t=e.get(t),this.equals(t))return n;n=n.map(e=>J(e)?0:e);let r=this.path,i=t.path,a,o;for(let e=0;e<r.length&&r[e].equals(i[e]);e++)a=r[e],o=e;if(!a)throw Error(`Cannot convert between color spaces ${this} and ${t}: no connection space was found`);for(let e=r.length-1;e>o;e--)n=r[e].toBase(n);for(let e=o+1;e<i.length;e++)n=i[e].fromBase(n);return n}from(t,n){if(arguments.length===1){let e=Y(t);[t,n]=[e.space,e.coords]}return t=e.get(t),t.to(this,n)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let e=[];for(let t in this.coords){let n=this.coords[t],r=n.range||n.refRange;e.push(r?.min??0)}return e}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(e,t){if(arguments.length===1&&(t=arguments[0],e=t.id),t=this.get(t),this.registry[e]&&this.registry[e]!==t)throw Error(`Duplicate color space registration: '${e}'`);if(this.registry[e]=t,arguments.length===1&&t.aliases)for(let e of t.aliases)this.register(e,t);return t}static get(t,...n){if(!t||I_(t,this))return t;if(w_(t)===`string`){let n=e.registry[t.toLowerCase()];if(!n)throw TypeError(`No color space found with id = "${t}"`);return n}if(n.length)return e.get(...n);throw TypeError(`${t} is not a valid color space`)}static findFormat(t,n=e.all){if(!t)return null;typeof t==`string`&&(t={name:t});for(let e of n)for(let[n,r]of Object.entries(e.formats)){r.name??=n,r.type??=`function`;let i=(!t.name||r.name===t.name)&&(!t.type||r.type===t.type);if(t.id){let e=r.ids||[r.id],n=Array.isArray(t.id)?t.id:[t.id];i&&=n.some(t=>e.includes(t))}if(i){let t=Y_.get(r,e);return t!==r&&(e.formats[r.name]=t),t}}return null}static resolveCoord(t,n){let r=w_(t),i,a;if(r===`string`?t.includes(`.`)?[i,a]=t.split(`.`):[i,a]=[,t]:Array.isArray(t)?[i,a]=t:(i=t.space,a=t.coordId),i=e.get(i),i||=n,!i)throw TypeError(`Cannot resolve coordinate reference ${t}: No color space specified and relative references are not allowed here`);if(r=w_(a),r===`number`||r===`string`&&a>=0){let e=Object.entries(i.coords)[a];if(e)return{space:i,id:e[0],index:a,...e[1]}}i=e.get(i);let o=a.toLowerCase(),s=0;for(let e in i.coords){let t=i.coords[e];if(e.toLowerCase()===o||t.name?.toLowerCase()===o)return{space:i,id:e,index:s,...t};s++}throw TypeError(`No "${a}" coordinate found in ${i.name}. Its coordinates are: ${Object.keys(i.coords).join(`, `)}`)}static DEFAULT_FORMAT={type:`functions`,name:`color`}};function av(e){let t=[e];for(let n=e;n=n.base;)t.push(n);return t}var ov=new X({id:`xyz-d65`,name:`XYZ D65`,coords:{x:{refRange:[0,1],name:`X`},y:{refRange:[0,1],name:`Y`},z:{refRange:[0,1],name:`Z`}},white:`D65`,formats:{color:{ids:[`xyz-d65`,`xyz`]}},aliases:[`xyz`]}),sv=class extends X{constructor(e){e.coords||={r:{range:[0,1],name:`Red`},g:{range:[0,1],name:`Green`},b:{range:[0,1],name:`Blue`}},e.base||=ov;let t=e.toXYZ_M??e.M?.toXYZ,n=e.fromXYZ_M??e.M?.fromXYZ;e.referred??=`display`,super(e),t&&n&&(this.M.toXYZ=t,this.M.fromXYZ=n)}toBase(e){let t=q(e,this.M.toXYZ);return this.white!==this.base.white&&(t=Q_(this.white,this.base.white,t)),t}fromBase(e){return e=Q_(this.base.white,this.white,e),q(e,this.M.fromXYZ)}},cv=new X({id:`xyz-d50`,name:`XYZ D50`,white:`D50`,base:ov,fromBase:e=>Q_(ov.white,`D50`,e),toBase:e=>Q_(`D50`,ov.white,e)}),lv=216/24389,uv=24/116,dv=24389/27,fv=X_.D50,pv=new X({id:`lab`,name:`Lab`,coords:{l:{refRange:[0,100],name:`Lightness`},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:fv,base:cv,fromBase(e){let t=e.map((e,t)=>e/fv[t]).map(e=>e>lv?Math.cbrt(e):(dv*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let[t,n,r]=e,i=[];return i[1]=(t+16)/116,i[0]=n/500+i[1],i[2]=i[1]-r/200,[i[0]>uv?i[0]**3:(116*i[0]-16)/dv,e[0]>8?((e[0]+16)/116)**3:e[0]/dv,i[2]>uv?i[2]**3:(116*i[2]-16)/dv].map((e,t)=>e*fv[t])},formats:{lab:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <percentage>`]}}});function mv(e){return typeof e==`number`?(e%360+360)%360:e}function hv(e,t){let[n,r]=t,i=J(n),a=J(r);if(i&&a)return[n,r];if(i?n=r:a&&(r=n),e===`raw`)return t;n=mv(n),r=mv(r);let o=r-n;return e===`increasing`?o<0&&(r+=360):e===`decreasing`?o>0&&(n+=360):e===`longer`?-180<o&&o<180&&(o>0?n+=360:r+=360):e===`shorter`&&(o>180?n+=360:o<-180&&(r+=360)),[n,r]}var gv=new X({id:`lch`,name:`LCH`,coords:{l:{refRange:[0,100],name:`Lightness`},c:{refRange:[0,150],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:pv,fromBase(e){if(this.ε===void 0){let e=Object.values(this.base.coords)[1].refRange,t=e[1]-e[0];this.ε=t/1e5}let[t,n,r]=e,i=Math.abs(n)<this.ε&&Math.abs(r)<this.ε,a=i?null:mv(Math.atan2(r,n)*180/Math.PI);return[t,i?0:Math.sqrt(n**2+r**2),a]},toBase(e){let[t,n,r]=e,i=null,a=null;return J(r)||(n=n<0?0:n,i=n*Math.cos(r*Math.PI/180),a=n*Math.sin(r*Math.PI/180)),[t,i,a]},formats:{lch:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <angle>`]}}}),_v=25**7,vv=Math.PI,yv=180/vv,bv=vv/180;function xv(e){let t=e*e;return t*t*t*e}function Sv(e,t,{kL:n=1,kC:r=1,kH:i=1}={}){[e,t]=Y([e,t]);let[a,o,s]=pv.from(e),c=gv.from(pv,[a,o,s])[1],[l,u,d]=pv.from(t),f=gv.from(pv,[l,u,d])[1];c<0&&(c=0),f<0&&(f=0);let p=xv((c+f)/2),m=.5*(1-Math.sqrt(p/(p+_v))),h=(1+m)*o,g=(1+m)*u,_=Math.sqrt(h**2+s**2),v=Math.sqrt(g**2+d**2),y=h===0&&s===0?0:Math.atan2(s,h),b=g===0&&d===0?0:Math.atan2(d,g);y<0&&(y+=2*vv),b<0&&(b+=2*vv),y*=yv,b*=yv;let x=l-a,S=v-_,C=b-y,w=y+b,T=Math.abs(C),E;_*v===0?E=0:T<=180?E=C:C>180?E=C-360:C<-180?E=C+360:K_.warn(`the unthinkable has happened`);let D=2*Math.sqrt(v*_)*Math.sin(E*bv/2),ee=(a+l)/2,te=(_+v)/2,ne=xv(te),O;O=_*v===0?w:T<=180?w/2:w<360?(w+360)/2:(w-360)/2;let re=(ee-50)**2,ie=1+.015*re/Math.sqrt(20+re),ae=1+.045*te,oe=1;oe-=.17*Math.cos((O-30)*bv),oe+=.24*Math.cos(2*O*bv),oe+=.32*Math.cos((3*O+6)*bv),oe-=.2*Math.cos((4*O-63)*bv);let se=1+.015*te*oe,ce=30*Math.exp(-1*((O-275)/25)**2),le=2*Math.sqrt(ne/(ne+_v)),ue=-1*Math.sin(2*ce*bv)*le,de=(x/(n*ie))**2;return de+=(S/(r*ae))**2,de+=(D/(i*se))**2,de+=ue*(S/(r*ae))*(D/(i*se)),Math.sqrt(de)}var Cv={XYZtoLMS:[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],LMStoXYZ:[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],LMStoLab:[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],LabtoLMS:[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]]},wv=new X({id:`oklab`,name:`Oklab`,coords:{l:{refRange:[0,1],name:`Lightness`},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:`D65`,base:ov,M:Cv,fromBase(e){let t=q(e,Cv.XYZtoLMS);return t[0]=Math.cbrt(t[0]),t[1]=Math.cbrt(t[1]),t[2]=Math.cbrt(t[2]),q(t,Cv.LMStoLab,t)},toBase(e){let t=q(e,Cv.LabtoLMS);return t[0]**=3,t[1]**=3,t[2]**=3,q(t,Cv.LMStoXYZ,t)},formats:{oklab:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <percentage>`]}}});function Tv(e,t){[e,t]=Y([e,t]);let[n,r,i]=wv.from(e),[a,o,s]=wv.from(t),c=n-a,l=r-o,u=i-s;return Math.sqrt(c**2+l**2+u**2)}var Ev=75e-6;function Dv(e,t,{epsilon:n=Ev}={}){e=Y(e),t||=e.space,t=X.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:n})}function Z(e,t,{inGamut:n}={}){e=Y(e),t=X.get(t);let r=t.from(e),i={space:t,coords:r,alpha:e.alpha};return n&&(i=xx(i,n===!0?void 0:n)),i}Z.returns=`color`;function Ov(e,t){e=Y(e);let n=X.get(t,t?.space),r=t?.precision,i;return i=!n||e.space.equals(n)?e.coords.slice():n.from(e),r===void 0?i:i.map(e=>D_(e,r))}function kv(e,t){if(e=Y(e),t===`alpha`)return e.alpha??1;let{space:n,index:r}=X.resolveCoord(t,e.space);return Ov(e,n)[r]}var Av=new X({id:`oklch`,name:`OkLCh`,coords:{l:{refRange:[0,1],name:`Lightness`},c:{refRange:[0,.4],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},white:`D65`,base:wv,fromBase:gv.fromBase,toBase:gv.toBase,formats:{oklch:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <angle>`]}}});function jv(e,t,n,r){return e=Y(e),Array.isArray(t)&&([t,n,r]=[e.space,t,n]),t=X.get(t),e.coords=t===e.space?n.slice():t.to(e.space,n),r!==void 0&&(e.alpha=r),e}jv.returns=`color`;function Mv(e,t,n){if(e=Y(e),arguments.length===2&&w_(arguments[1])===`object`){let t=arguments[1];for(let n in t)Mv(e,n,t[n])}else if(typeof n==`function`&&(n=n(kv(e,t))),t===`alpha`)e.alpha=n;else{let{space:r,index:i}=X.resolveCoord(t,e.space),a=Ov(e,r);a[i]=n,jv(e,r,a)}return e}Mv.returns=`color`;function Nv(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function Pv(e,t,n=`lab`){n=X.get(n);let r=n.from(e),i=n.from(t);return Math.sqrt(r.reduce((e,t,n)=>{let r=i[n];return J(t)||J(r)?e:e+(r-t)**2},0))}function Fv(e,t){return Pv(e,t,`lab`)}var Iv=Math.PI/180;function Lv(e,t,{l:n=2,c:r=1}={}){[e,t]=Y([e,t]);let[i,a,o]=pv.from(e),[,s,c]=gv.from(pv,[i,a,o]),[l,u,d]=pv.from(t),f=gv.from(pv,[l,u,d])[1];s<0&&(s=0),f<0&&(f=0);let p=i-l,m=s-f,h=a-u,g=o-d,_=h**2+g**2-m**2,v=.511;i>=16&&(v=.040975*i/(1+.01765*i));let y=.0638*s/(1+.0131*s)+.638,b;J(c)&&(c=0),b=c>=164&&c<=345?.56+Math.abs(.2*Math.cos((c+168)*Iv)):.36+Math.abs(.4*Math.cos((c+35)*Iv));let x=s**4,S=Math.sqrt(x/(x+1900)),C=y*(S*b+1-S),w=(p/(n*v))**2;return w+=(m/(r*y))**2,w+=_/C**2,Math.sqrt(w)}var Rv=203,zv=new X({id:`xyz-abs-d65`,cssId:`--xyz-abs-d65`,name:`Absolute XYZ D65`,coords:{x:{refRange:[0,9504.7],name:`Xa`},y:{refRange:[0,1e4],name:`Ya`},z:{refRange:[0,10888.3],name:`Za`}},base:ov,fromBase(e){return e.map(e=>e*Rv)},toBase(e){return e.map(e=>e/Rv)}}),Bv=1.15,Vv=.66,Hv=2610/2**14,Uv=2**14/2610,Wv=3424/4096,Gv=2413/128,Kv=2392/128,qv=1.7*2523/32,Jv=32/(1.7*2523),Yv=-.56,Xv=16295499532821565e-27,Zv={XYZtoCone:[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],ConetoXYZ:[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],ConetoIab:[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],IabtoCone:[[1,.13860504327153927,.05804731615611883],[1,-.1386050432715393,-.058047316156118904],[1,-.09601924202631895,-.811891896056039]]},Qv=new X({id:`jzazbz`,name:`Jzazbz`,coords:{jz:{refRange:[0,1],name:`Jz`},az:{refRange:[-.21,.21]},bz:{refRange:[-.21,.21]}},base:zv,M:Zv,fromBase(e){let[t,n,r]=e,[i,a,o]=q(q([Bv*t-.1499999999999999*r,Vv*n- -.33999999999999997*t,r],Zv.XYZtoCone).map(function(e){return N_((Wv+Gv*N_(e/1e4,Hv))/(1+Kv*N_(e/1e4,Hv)),qv)}),Zv.ConetoIab);return[.43999999999999995*i/(1+Yv*i)-Xv,a,o]},toBase(e){let[t,n,r]=e,[i,a,o]=q(q([(t+Xv)/(.43999999999999995-Yv*(t+Xv)),n,r],Zv.IabtoCone).map(function(e){return 1e4*N_((Wv-N_(e,Jv))/(Kv*N_(e,Jv)-Gv),Uv)}),Zv.ConetoXYZ),s=(i+.1499999999999999*o)/Bv;return[s,(a+-.33999999999999997*s)/Vv,o]},formats:{jzazbz:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <percentage>`]}}}),$v=new X({id:`jzczhz`,name:`JzCzHz`,coords:{jz:{refRange:[0,1],name:`Jz`},cz:{refRange:[0,.26],name:`Chroma`},hz:{refRange:[0,360],type:`angle`,name:`Hue`}},base:Qv,fromBase:gv.fromBase,toBase:gv.toBase,formats:{jzczhz:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <angle>`]}}});function ey(e,t){[e,t]=Y([e,t]);let[n,r,i]=$v.from(e),[a,o,s]=$v.from(t),c=n-a,l=r-o;J(i)&&J(s)?(i=0,s=0):J(i)?i=s:J(s)&&(s=i);let u=i-s,d=2*Math.sqrt(r*o)*Math.sin(u/2*(Math.PI/180));return Math.sqrt(c**2+l**2+d**2)}var ty=3424/4096,ny=2413/128,ry=2392/128,iy=2610/16384,ay=2523/32,oy=16384/2610,sy=32/2523,cy={XYZtoLMS:[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],LMStoIPT:[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],IPTtoLMS:[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],LMStoXYZ:[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]]},ly=new X({id:`ictcp`,name:`ICTCP`,coords:{i:{refRange:[0,1],name:`I`},ct:{refRange:[-.5,.5],name:`CT`},cp:{refRange:[-.5,.5],name:`CP`}},base:zv,M:cy,fromBase(e){return uy(q(e,cy.XYZtoLMS))},toBase(e){return q(dy(e),cy.LMStoXYZ)},formats:{ictcp:{coords:[`<percentage> | <number>`,`<number> | <percentage>`,`<number> | <percentage>`]}}});function uy(e){return q(e.map(function(e){return((ty+ny*(e/1e4)**iy)/(1+ry*(e/1e4)**iy))**ay}),cy.LMStoIPT)}function dy(e){return q(e,cy.IPTtoLMS).map(function(e){return 1e4*(Math.max(e**sy-ty,0)/(ny-ry*e**sy))**oy})}function fy(e,t){[e,t]=Y([e,t]);let[n,r,i]=ly.from(e),[a,o,s]=ly.from(t);return 720*Math.sqrt((n-a)**2+.25*(r-o)**2+(i-s)**2)}function py(e,t){[e,t]=Y([e,t]);let[n,r,i]=wv.from(e),[a,o,s]=wv.from(t),c=n-a,l=2*(r-o),u=2*(i-s);return Math.sqrt(c**2+l**2+u**2)}var my=X_.D65,hy=.42,gy=1/hy,_y=2*Math.PI,vy={cat16:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],cat16Inv:[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],m1:[[460,451,288],[460,-891,-261],[460,-220,-6300]]},yy={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},by={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},xy=180/Math.PI,Sy=Math.PI/180;function Cy(e,t){return e.map(e=>{let n=N_(t*Math.abs(e)*.01,hy);return 400*M_(n,e)/(n+27.13)})}function wy(e,t){let n=100/t*27.13**gy;return e.map(e=>{let t=Math.abs(e);return M_(n*N_(t/(400-t),gy),e)})}function Ty(e){let t=mv(e);t<=by.h[0]&&(t+=360);let n=F_(by.h,t)-1,[r,i]=by.h.slice(n,n+2),[a,o]=by.e.slice(n,n+2),s=by.H[n],c=(t-r)/a;return s+100*c/(c+(i-t)/o)}function Ey(e){let t=(e%400+400)%400,n=Math.floor(.01*t);t%=100;let[r,i]=by.h.slice(n,n+2),[a,o]=by.e.slice(n,n+2);return mv((t*(o*r-a*i)-100*r*o)/(t*(o-a)-100*o))}function Dy(e,t,n,r,i){let a={};a.discounting=i,a.refWhite=e,a.surround=r;let o=e.map(e=>e*100);a.la=t,a.yb=n;let s=o[1],c=q(o,vy.cat16),l=yy[a.surround],u=l[0];a.c=l[1],a.nc=l[2];let d=(1/(5*a.la+1))**4;a.fl=d*a.la+.1*(1-d)*(1-d)*Math.cbrt(5*a.la),a.flRoot=a.fl**.25,a.n=a.yb/s,a.z=1.48+Math.sqrt(a.n),a.nbb=.725*a.n**-.2,a.ncb=a.nbb;let f=i?1:Math.max(Math.min(u*(1-1/3.6*Math.exp((-a.la-42)/92)),1),0);a.dRgb=c.map(e=>O_(1,s/e,f)),a.dRgbInv=a.dRgb.map(e=>1/e);let p=Cy(c.map((e,t)=>e*a.dRgb[t]),a.fl);return a.aW=a.nbb*(2*p[0]+p[1]+.05*p[2]),a}var Oy=Dy(my,64/Math.PI*.2,20,`average`,!1);function ky(e,t){if(!(e.J!==void 0^e.Q!==void 0))throw Error(`Conversion requires one and only one: 'J' or 'Q'`);if(!(e.C!==void 0^e.M!==void 0^e.s!==void 0))throw Error(`Conversion requires one and only one: 'C', 'M' or 's'`);if(!(e.h!==void 0^e.H!==void 0))throw Error(`Conversion requires one and only one: 'h' or 'H'`);if(e.J===0||e.Q===0)return[0,0,0];let n=0;n=e.h===void 0?Ey(e.H)*Sy:mv(e.h)*Sy;let r=Math.cos(n),i=Math.sin(n),a=0;e.J===void 0?e.Q!==void 0&&(a=.25*t.c*e.Q/((t.aW+4)*t.flRoot)):a=N_(e.J,1/2)*.1;let o=0;e.C===void 0?e.M===void 0?e.s!==void 0&&(o=4e-4*e.s**2*(t.aW+4)/t.c):o=e.M/t.flRoot/a:o=e.C/a;let s=N_(o*(1.64-.29**t.n)**-.73,10/9),c=.25*(Math.cos(n+2)+3.8),l=t.aW*N_(a,2/t.c/t.z),u=5e4/13*t.nc*t.ncb*c,d=l/t.nbb,f=23*(d+.305)*P_(s,23*u+s*(11*r+108*i));return q(wy(q([d,f*r,f*i],vy.m1).map(e=>e*1/1403),t.fl).map((e,n)=>e*t.dRgbInv[n]),vy.cat16Inv).map(e=>e/100)}function Ay(e,t){let n=Cy(q(e.map(e=>e*100),vy.cat16).map((e,n)=>e*t.dRgb[n]),t.fl),r=n[0]+(-12*n[1]+n[2])/11,i=(n[0]+n[1]-2*n[2])/9,a=(Math.atan2(i,r)%_y+_y)%_y,o=.25*(Math.cos(a+2)+3.8),s=N_(5e4/13*t.nc*t.ncb*P_(o*Math.sqrt(r**2+i**2),n[0]+n[1]+1.05*n[2]+.305),.9)*(1.64-.29**t.n)**.73,c=N_(t.nbb*(2*n[0]+n[1]+.05*n[2])/t.aW,.5*t.c*t.z),l=100*N_(c,2),u=4/t.c*c*(t.aW+4)*t.flRoot,d=s*c,f=d*t.flRoot,p=mv(a*xy),m=Ty(p);return{J:l,C:d,h:p,s:50*N_(t.c*s/(t.aW+4),1/2),Q:u,M:f,H:m}}var jy=new X({id:`cam16-jmh`,cssId:`--cam16-jmh`,name:`CAM16-JMh`,coords:{j:{refRange:[0,100],name:`J`},m:{refRange:[0,105],name:`Colorfulness`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:ov,M:vy,fromBase(e){this.ε===void 0&&(this.ε=Object.values(this.coords)[1].refRange[1]/1e5);let t=Ay(e,Oy),n=Math.abs(t.M)<this.ε;return[t.J,n?0:t.M,n?null:t.h]},toBase(e){return ky({J:e[0],M:e[1],h:e[2]},Oy)}}),My=X_.D65,Ny=216/24389,Py=24389/27;function Fy(e){return 116*(e>Ny?Math.cbrt(e):(Py*e+16)/116)-16}function Iy(e){return e>8?((e+16)/116)**3:e/Py}function Ly(e,t){let[n,r,i]=e,a=[],o=0;if(i===0)return[0,0,0];let s=Iy(i);o=i>0?.00379058511492914*i**2+.608983189401032*i+.9155088574762233:9514440756550361e-21*i**2+.08693057439788597*i-21.928975842194614;let c=0,l=1/0,u=[0,0,0];for(;c<=15;){a=ky({J:o,C:r,h:n},t);let e=Math.abs(a[1]-s);if(e<l){if(e<=2e-12)return a;u=a,l=e}o-=(a[1]-s)*o/(2*a[1]),c+=1}return u}function Ry(e,t){let n=Fy(e[1]);if(n===0)return[0,0,0];let r=Ay(e,zy);return[mv(r.h),r.C,n]}var zy=Dy(My,200/Math.PI*Iy(50),Iy(50)*100,`average`,!1),By=new X({id:`hct`,name:`HCT`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},c:{refRange:[0,145],name:`Colorfulness`},t:{refRange:[0,100],name:`Tone`}},base:ov,fromBase(e){this.ε===void 0&&(this.ε=Object.values(this.coords)[1].refRange[1]/1e5);let t=Ry(e,zy);return t[1]<this.ε&&(t[1]=0,t[0]=null),t},toBase(e){return Ly(e,zy)},formats:{color:{id:`--hct`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}});180/Math.PI;var Vy=Math.PI/180,Hy=[1,.007,.0228];function Uy(e){e[1]<0&&(e=By.fromBase(By.toBase(e)));let t=Math.log(Math.max(1+Hy[2]*e[1]*zy.flRoot,1))/Hy[2],n=e[0]*Vy,r=t*Math.cos(n),i=t*Math.sin(n);return[e[2],r,i]}function Wy(e,t){[e,t]=Y([e,t]);let[n,r,i]=Uy(By.from(e)),[a,o,s]=Uy(By.from(t));return Math.sqrt((n-a)**2+(r-o)**2+(i-s)**2)}var{cos:Q,sin:$,sqrt:Gy,atan2:Ky,exp:qy,abs:Jy,pow:Yy,PI:Xy}=Math,Zy=[[1.000042977349746,20718877053183e-18,-4361018085669474e-20],[26946201090235744e-21,.9999906145080147,-14898828405401079e-21],[-7941753620756204e-21,12875204405137254e-21,.9997859822609763]],Qy=[[.9999570254019492,-2071874272730964e-20,4361733292468361e-20],[-2694517763358666e-20,1.000009385946497,1490098223546482e-20],[7943459292954202e-21,-1287824596735154e-20,1.000214063706999]],$y=[[.7212986433113499,.45344826541531813,-.19288975751942616],[-.788211869495579,1.795241376757236,.0876172451181785],[-.0917700599912156,.45765588659459255,1.2922045513917677]],eb=[[1.065107295808859,-.3150044075301121,.1803492381741039],[.4721107713837796,.4271995765962455,.04150680489380985],[-.09156391926309541,-.1736709363194979,.7719790382558294]],tb=[.47229813098762524,.5149184096354483,.5113233386366979],nb=[2.1173067060606283,1.9420552485353544,1.9557096741686448],rb={CAT_TO_HELM:Zy,CAT_FROM_HELM:Qy,M1:$y,M1_INV:eb,M2:[[-.26355622180094096,.4168322883703174,.4926763141656403],[1.8897570508777322,-3.1212232034205774,1.0421666921060384],[.3585108617962056,1.7694028193790368,-1.4120626067695372]],M2_INV:[[.9183897822815021,.5232051237088666,.7065804598090856],[1.0899090574433026,.07005324849041904,.4319776874787044],[1.598895729264209,.22061850068770233,.012506037355220951]]},ib=-.02833024015436984,ab=-.21131429516166544,ob=.2189784817615645,sb=-.06871898981942523,cb=.005506053349515315,lb=-.0641329861299175,ub=-.053592461436994296,db=-.00954137464208059,fb=.2676231133101982,pb=.8934892185255707,mb=.7173169828841472,hb=.6915224124600773,gb=.48647127559605596,_b=.9853124591201782,vb=.5385456675962418,yb=.12508858146241716,bb=.6768950256217603,xb=-.4963251525324449,Sb=-.09564696283240552,Cb=-.029053748937210654,wb=1.3346761652952872,Tb=-.1698908144723919,Eb=-.195370576218515,Db=.5330819227283227,Ob=.08863325582067766,kb=.9365540137751136,Ab=.13789738139719568,jb=.061650260197979936,Mb=.0641970862504494,Nb=-.027401052793571013,Pb=-.09900209889026965,Fb=.059635520647228726,Ib=-.013586499967803128,Lb=.2253393118474472,Rb=-1.5239477450767043,zb=-1.751157310240011,Bb=-.43576378069144767,Vb=1.060094063845983,Hb=.47931193034584496,Ub=-.2622579649434462,Wb=.13610794232685908,Gb=.1168702235362288,Kb=-.01617739641422492,qb=.038145638815030566,Jb=-28.2*Xy/180,Yb=Q(Jb),Xb=$(Jb);function Zb(e){return ib*Q(e)+ab*$(e)+ob*Q(2*e)+sb*$(2*e)+cb*Q(3*e)+lb*$(3*e)+ub*Q(4*e)+db*$(4*e)}function Qb(e){return .02833024015436984*$(e)+ab*Q(e)+-2*ob*$(2*e)+2*sb*Q(2*e)+-3*cb*$(3*e)+3*lb*Q(3*e)+-4*ub*$(4*e)+4*db*Q(4*e)}function $b(e){return qy(Eb*Q(e)+Db*$(e)+Ob*Q(2*e)+kb*$(2*e)+Ab*Q(3*e)+jb*$(3*e)+Mb*Q(4*e)+Nb*$(4*e))}function ex(e){let t=e-.5;return qy(j_(-30,Rb*t+zb*t*t,30))}function tx(e,t){let n=Bb*Q(e)+Vb*$(e)+Hb*Q(2*e)+Ub*$(2*e);return qy(j_(-30,(t-.5)*n,30))}function nx(e){return qy(Wb*Q(e)+Gb*$(e)+Kb*Q(2*e)+qb*$(2*e))}function rx(e){return 1+Pb*Q(e)+Fb*$(e)+Ib*Q(2*e)+Lb*$(2*e)}function ix(e,t){let n=e*(1-e),r=e+vb*n+yb*n*(.5-e)+bb*n*n;return r+=n*(xb*Q(t)+Sb*$(t)),r}function ax(e,t){let n=xb*Q(t)+Sb*$(t),r=e;for(let t=0;t<15;t++){let t=r*(1-r),i=1-2*r,a=r+(vb+n)*t+yb*t*(.5-r)+bb*t*t-e,o=1+(vb+n)*i+yb*(i*(.5-r)-t)+bb*2*t*i;Jy(o)<1e-10&&(o=1),r-=a/o}return r}function ox(e,t){let n=Cb+wb*Q(t)+Tb*$(t),r=e<1?1-e:0;return e*qy(j_(-30,n*e*r*r,30))}function sx(e,t){let n=Cb+wb*Q(t)+Tb*$(t),r=e;for(let t=0;t<12;t++){let t=r<1?1-r:0,i=qy(j_(-30,n*r*t*t,30)),a=r*i-e,o=n*t*(1-3*r),s=i*(1+r*o);Jy(s)<1e-10&&(s=1),r-=a/s}return r}var cx=function(e){let[t,n,r]=q(q(e,rb.CAT_TO_HELM),rb.M1),[i,a,o]=q([N_(t,tb[0]),N_(n,tb[1]),N_(r,tb[2])],rb.M2),s=Ky(o,a),c=Gy(a*a+o*o),l=Zb(s),u=s+l;a=c*Q(u),o=c*$(u);let d=fb*Yy(Gy(a*a+o*o),j_(.01,pb,10)),f=Ky(o,a),p=1+mb*Q(f)+hb*$(f)+gb*Q(2*f)+_b*$(2*f);i+=d*p,s=Ky(o,a),i=ix(i,s),s=Ky(o,a),i=ox(i,s),s=Ky(o,a);let m=$b(s);a*=m,o*=m,s=Ky(o,a),c=Gy(a*a+o*o);let h=rx(s),g=c>0?Yy(c,h):0;a=g*Q(s),o=g*$(s);let _=ex(i);a*=_,o*=_,s=Ky(o,a);let v=tx(s,i);a*=v,o*=v,s=Ky(o,a),i*=nx(s);let y=a*Yb-o*Xb,b=a*Xb+o*Yb;return[i,y,b]},lx=function(e){let[t,n,r]=e,i=n*Yb+r*Xb,a=-n*Xb+r*Yb;n=i,r=a;let o=Ky(r,n);t/=nx(o),o=Ky(r,n);let s=tx(o,t);n/=s,r/=s;let c=ex(t);n/=c,r/=c,o=Ky(r,n);let l=Gy(n*n+r*r),u=rx(o),d=l>0?Yy(l,1/u):0;n=d*Q(o),r=d*$(o),o=Ky(r,n);let f=$b(o);n/=f,r/=f,o=Ky(r,n),t=sx(t,o),o=Ky(r,n),t=ax(t,o);let p=fb*Yy(Gy(n*n+r*r),j_(.01,pb,10)),m=Ky(r,n),h=1+mb*Q(m)+hb*$(m)+gb*Q(2*m)+_b*$(2*m);t-=p*h;let g=Ky(r,n);l=Gy(n*n+r*r);let _=g;for(let e=0;e<8;e++){let e=_+Zb(_)-g,t=1+Qb(_);Jy(t)<1e-10&&(t=1),_-=e/t}n=l*Q(_),r=l*$(_);let[v,y,b]=q([t,n,r],rb.M2_INV);return q(q([N_(v,nb[0]),N_(y,nb[1]),N_(b,nb[2])],rb.M1_INV),rb.CAT_FROM_HELM)},ux=new X({id:`helmlab-metric`,name:`Helmlab MetricSpace`,cssId:`--helmlab-metric`,coords:{l:{refRange:[0,1.6],name:`Lightness`},a:{refRange:[-1.5,1.5]},b:{refRange:[-1.5,1.5]}},white:`D65`,base:ov,M:rb,fromBase(e){return cx(e)},toBase(e){return lx(e)}}),dx=-.9155125151657894,fx=2.9268353744941558,px=3.966003089807536,mx=1.9737081170404969,hx=52.473130649294724,gx=.47897301074925214;function _x(e,t){[e,t]=Y([e,t]);let[n,r,i]=ux.from(e),[a,o,s]=ux.from(t),c=n-a,l=r-o,u=i-s,d=1+dx*((n+a)*.5-.5)**2,f=1+fx*((Math.sqrt(r**2+i**2)+Math.sqrt(o**2+s**2))*.5),p=(c**2/d**2+px*(l**2+u**2)/f**2)**(mx/2);return(p/(1+hx*p))**gx}var vx={deltaE76:Fv,deltaECMC:Lv,deltaE2000:Sv,deltaEJz:ey,deltaEITP:fy,deltaEOK:Tv,deltaEOK2:py,deltaEHCT:Wy,deltaEHelmlab:_x};function yx(e){return Math.max(parseFloat(`1e${(e?Math.floor(Math.log10(Math.abs(e))):0)-2}`),1e-6)}var bx={hct:{method:`hct.c`,jnd:2,deltaEMethod:`hct`,blackWhiteClamp:{}},"hct-tonal":{method:`hct.c`,jnd:0,deltaEMethod:`hct`,blackWhiteClamp:{channel:`hct.t`,min:0,max:100}}};function xx(e,{method:t=K_.gamut_mapping,space:n=void 0,deltaEMethod:r=``,jnd:i=2,blackWhiteClamp:a=void 0}={}){if(e=Y(e),C_(arguments[1])?n=arguments[1]:n||=e.space,n=X.get(n),Dv(e,n,{epsilon:0}))return e;let o;if(t===`css`)o=Cx(e,{space:n});else if(t===`raytrace`)o=Tx(e,{space:n});else{if(t!==`clip`){Object.prototype.hasOwnProperty.call(bx,t)&&({method:t,jnd:i,deltaEMethod:r,blackWhiteClamp:a}=bx[t]);let s=Sv;if(r!==``){for(let e in vx)if(`deltae`+r.toLowerCase()===e.toLowerCase()){s=vx[e];break}}i===0&&(i=1e-16);let c=xx(Z(e,n),{method:`clip`,space:n});if(s(e,c)>i){if(a&&Object.keys(a).length===3){let t=X.resolveCoord(a.channel),n=kv(Z(e,t.space),t.id);if(J(n)&&(n=0),n>=a.max)return Z({space:`xyz-d65`,coords:X_.D65},e.space);if(n<=a.min)return Z({space:`xyz-d65`,coords:[0,0,0]},e.space)}let r=X.resolveCoord(t),c=r.space,l=r.id,u=Z(e,c);u.coords.forEach((e,t)=>{J(e)&&(u.coords[t]=0)});let d=(r.range||r.refRange)[0],f=yx(i),p=d,m=kv(u,l);for(;m-p>f;){let e=Nv(u);e=xx(e,{space:n,method:`clip`}),s(u,e)-i<f?p=kv(u,l):m=kv(u,l),Mv(u,l,(p+m)/2)}o=Z(u,n)}else o=c}else o=Z(e,n);if(t===`clip`||!Dv(o,n,{epsilon:0})){let e=Object.values(n.coords).map(e=>e.range||[]);o.coords=o.coords.map((t,n)=>{let[r,i]=e[n];return r!==void 0&&(t=Math.max(r,t)),i!==void 0&&(t=Math.min(t,i)),t})}}return n!==e.space&&(o=Z(o,e.space)),e.coords=o.coords,e}xx.returns=`color`;var Sx={WHITE:{space:wv,coords:[1,0,0],alpha:1},BLACK:{space:wv,coords:[0,0,0],alpha:1}};function Cx(e,{space:t}={}){let n=.02,r=1e-4;if(e=Y(e),t||=e.space,t=X.get(t),t.isUnbounded)return Z(e,t);let i=Z(e,Av),a=i.coords[0];if(a>=1){let n=Z(Sx.WHITE,t);return n.alpha=e.alpha,Z(n,t)}if(a<=0){let n=Z(Sx.BLACK,t);return n.alpha=e.alpha,Z(n,t)}if(Dv(i,t,{epsilon:0}))return Z(i,t);function o(e){let n=Z(e,t),r=Object.values(t.coords);return n.coords=n.coords.map((e,t)=>{if(`range`in r[t]){let[n,i]=r[t].range;return j_(n,e,i)}return e}),n}let s=0,c=i.coords[1],l=!0,u=Nv(i),d=o(u),f=Tv(d,u);if(f<n)return d;for(;c-s>r;){let e=(s+c)/2;if(u.coords[1]=e,l&&Dv(u,t,{epsilon:0}))s=e;else if(d=o(u),f=Tv(d,u),f<n){if(n-f<r)break;l=!1,s=e}else c=e}return d}function wx(e,t,n=[0,0,0],r=[1,1,1]){let i=1/0,a=-1/0,o=[];for(let s=0;s<3;s++){let c=e[s],l=t[s]-c,u=n[s],d=r[s];if(o.push(l),Math.abs(l)>1e-12){let e=1/l,t=(u-c)*e,n=(d-c)*e;a=Math.max(Math.min(t,n),a),i=Math.min(Math.max(t,n),i)}else if(c<u||c>d)return[]}return a>i||i<0||(a<0&&(a=i),!isFinite(a))?[]:[e[0]+o[0]*a,e[1]+o[1]*a,e[2]+o[2]*a]}function Tx(e,{space:t}={}){if(e=Y(e),t||=e.space,t=X.get(t),t.isUnbounded)return Z(e,t);let n=Z(e,Av),[r,i,a]=n.coords;if(r>=1){let n=Z(Sx.WHITE,t);return n.alpha=e.alpha,Z(n,t)}if(r<=0){let n=Z(Sx.BLACK,t);return n.alpha=e.alpha,Z(n,t)}let o=t,s=t.rgbGamut;if(s!==void 0&&(t=s),!I_(t,sv))throw Error(`An RGB gamut is required`);let[c,l]=Object.values(t.coords)[0].range,u=[l,l,l],d=t.linearGamut;d!==void 0&&(l=Z({space:t,coords:u,alpha:e.alpha},d).coords[0],u=[l,l,l],t=d,c=Object.values(t.coords)[0].range[0]);let f=[c,c,c],p=Z(n,t);if(!p.coords.every(e=>c<=e&&e<=l)){let e=Z({space:Av,coords:[r,0,a]},t).coords,n=c+1e-12,i=l-1e-12,o=p.coords;for(let s=0;s<4;s++){if(s){let e=Z(p,Av);e.coords[0]=r,e.coords[2]=a,p=Z(e,t)}let c=wx(e,p.coords,f,u);if(c.length===0){p.coords=[...o];break}s&&p.coords.every(e=>n<e&&e<i)&&(e=[...p.coords]),o=c,p.coords=[...c]}}p=Z(p,o);let m=Object.values(o.coords);return p.coords=p.coords.map((e,t)=>{if(`range`in m[t]){let[n,r]=m[t].range;return j_(n,e,r)}return e}),p}var Ex=class extends X{constructor(e){let t=X.get(e.base),n=e.chroma??`c`,r=Object.keys(t.coords),i=r.indexOf(n);if(i===-1)throw TypeError(`GamutRelativeColorSpace needs a "${n}" coordinate, got ${t.id}`);let a=Object.fromEntries(Object.entries(t.coords).map(([e,t])=>[e,{...t}]));a[n].range=[0,1],delete a[n].refRange,e.coords??=a,e.formats??={color:{coords:r.map(e=>{if(t.coords[e].type===`angle`)return`<number> | <angle>`;let[r,i]=t.coords[e].range??t.coords[e].refRange??[];return e===n||r===0&&i===1?`<percentage> | <number>`:`<number> | <percentage>`})}},super(e),this.chromaIndex=i,this.method=`${t.id}.${n}`;let o=[[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0]];this.oogChroma=1.01*Math.max(...o.map(e=>t.from(this.gamutSpace,e)[this.chromaIndex]||0))}maxChroma(e){let t=[...e];return t[this.chromaIndex]=this.oogChroma,xx({space:this.base,coords:t},{space:this.gamutSpace,method:this.method,deltaEMethod:`OK`,jnd:0}).coords[this.chromaIndex]}toBase(e){return e=[...e],e.some((e,t)=>t!==this.chromaIndex&&J(e))?e[this.chromaIndex]!==0&&(e[this.chromaIndex]=null):J(e[this.chromaIndex])||(e[this.chromaIndex]*=this.maxChroma(e)),e}fromBase(e){if(e=[...e],e.some((e,t)=>t!==this.chromaIndex&&J(e)))e[this.chromaIndex]!==0&&(e[this.chromaIndex]=null);else if(!J(e[this.chromaIndex])){let t=this.maxChroma(e);e[this.chromaIndex]=t?e[this.chromaIndex]/t:0}return e}};function Dx(e,t={}){if(Array.isArray(e))return e.map(e=>Dx(e,t));let{cssProperty:n=`background-color`,element:r,...i}=t,a=null;try{return Y(e,i)}catch(e){a=e}let{CSS:o,getComputedStyle:s}=globalThis;if(C_(e)&&r&&o&&s&&o.supports(n,e)){let t=r.style[n];e!==t&&(r.style[n]=e);let o=s(r).getPropertyValue(n);if(e!==t&&(r.style[n]=t),o!==e)try{return Y(o,i)}catch(e){a=e}else a={message:`Color value is a valid CSS color, but it could not be resolved :(`}}return t.errorMeta&&(t.errorMeta.error=a),null}function Ox(e,t={}){let{precision:n=K_.precision,format:r,inGamut:i=!0,coords:a,alpha:o,commas:s}=t,c,l=Y(e),u=r,d=l.parseMeta;d&&!r&&(d.format.canSerialize()&&(r=d.format,u=d.formatId),a??=d.types,o??=d.alphaType,s??=d.commas),u&&(r=l.space.getFormat(r)??X.findFormat(u)),r||(r=l.space.getFormat(`default`)??X.DEFAULT_FORMAT,u=r.name),r&&r.space&&r.space!==l.space&&(l=Z(l,r.space));let f=l.coords.slice();if(i||=r.toGamut,i&&!Dv(l)&&(f=xx(Nv(l),i===!0?void 0:i).coords),r.type===`custom`){if(r.serialize)c=r.serialize(f,l.alpha,t);else throw TypeError(`format ${u} can only be used to parse colors, not for serialization`)}else{let e=r.name||`color`,t=r.serializeCoords(f,n,a);if(e===`color`){let e=r.id||r.ids?.[0]||l.space.cssId||l.space.id;t.unshift(e)}let i=l.alpha;o!==void 0&&typeof o!=`object`&&(o=typeof o==`string`?{type:o}:{include:o});let u=o?.type??`<number>`,d=o?.include===!0||r.alpha===!0||o?.include!==!1&&r.alpha!==!1&&i<1,p=``;if(s??=r.commas,d){if(n!==null){let e;u===`<percentage>`&&(e=`%`,i*=100),i=T_(i,{precision:n,unit:e})}p=`${s?`,`:` /`} ${i}`}c=`${e}(${t.join(s?`, `:` `)}${p})`}return c}var kx={toXYZ:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]},Ax=new sv({id:`rec2020-linear`,cssId:`--rec2020-linear`,name:`Linear REC.2020`,white:`D65`,M:kx}),jx=new sv({id:`rec2020`,name:`REC.2020`,base:Ax,linearGamut:Ax,toBase(e){return e.map(function(e){let t=e<0?-1:1;return t*(e*t)**2.4})},fromBase(e){return e.map(function(e){let t=e<0?-1:1;return t*(e*t)**(1/2.4)})}}),Mx=new sv({id:`p3-linear`,cssId:`display-p3-linear`,name:`Linear P3`,white:`D65`,M:{toXYZ:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}}),Nx={toXYZ:[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],fromXYZ:[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]]},Px=new sv({id:`srgb-linear`,name:`Linear sRGB`,white:`D65`,M:Nx}),Fx={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},Ix=[,,,].fill(`<percentage> | <number>[0, 255]`),Lx=[,,,].fill(`<number>[0, 255]`),Rx=new sv({id:`srgb`,name:`sRGB`,base:Px,linearGamut:Px,fromBase:e=>e.map(e=>{let t=e<0?-1:1,n=e*t;return n>.0031308?t*(1.055*n**(1/2.4)-.055):12.92*e}),toBase:e=>e.map(e=>{let t=e<0?-1:1,n=e*t;return n<=.04045?e/12.92:t*((n+.055)/1.055)**2.4}),formats:{rgb:{coords:Ix},rgb_number:{name:`rgb`,commas:!0,coords:Lx,alpha:!1},color:{},rgba:{coords:Ix,commas:!0,alpha:!0},rgba_number:{name:`rgba`,commas:!0,coords:Lx},hex:{type:`custom`,toGamut:!0,test:e=>/^#(([a-f0-9]{2}){3,4}|[a-f0-9]{3,4})$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,`$&$&`));let t=[];return e.replace(/[a-f0-9]{2}/gi,e=>{t.push(parseInt(e,16)/255)}),{spaceId:`srgb`,coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:n=!0,alpha:r}={})=>{(r!==!1&&t<1||r===!0)&&e.push(t),e=e.map(e=>Math.round(e*255));let i=n&&e.every(e=>e%17==0);return`#`+e.map(e=>i?(e/17).toString(16):e.toString(16).padStart(2,`0`)).join(``)}},keyword:{type:`custom`,test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:`srgb`,coords:null,alpha:1};if(e===`transparent`?(t.coords=Fx.black,t.alpha=0):t.coords=Fx[e],t.coords)return t}}}}),zx=new sv({id:`p3`,cssId:`display-p3`,name:`P3`,base:Mx,linearGamut:Mx,fromBase:Rx.fromBase,toBase:Rx.toBase});K_.display_space=Rx;var Bx;if(typeof CSS<`u`&&CSS.supports)for(let e of[pv,jx,zx]){let t=Ox({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports(`color`,t)){K_.display_space=e;break}}function Vx(e,{space:t,supports:n=globalThis.CSS?.supports,...r}={}){e=Y(e);let i=Ox(e,r);if(!n||n(`color`,i)||!K_.display_space)i=new String(i),i.color=e;else{let a=e;if((e.coords.some(J)||J(e.alpha))&&!(Bx??=n(`color`,`hsl(none 50% 50%)`))&&(a=Nv(e),a.coords=a.coords.map(E_),a.alpha=E_(a.alpha),i=Ox(a,r),n(`color`,i)))return i=new String(i),i.color=a,i;if(t===void 0){t=a.space;let e=t.displaySpaces??t.bases;!t.displaySpaces&&!t.id.startsWith(`xyz-`)&&(e=e.filter(e=>!e.id.startsWith(`xyz-`)));for(let t of e){let e=Z(a,t),o=Ox(e,r);if(n(`color`,o))return i=new String(o),i.color=e,i}t=K_.display_space}a=Z(a,t),i=new String(Ox(a,r)),i.color=a}return i}function Hx(e,t,{space:n,hue:r=`shorter`}={}){e=Y(e),n||=e.space,n=X.get(n);let i=Object.values(n.coords);[e,t]=[e,t].map(e=>Z(e,n));let[a,o]=[e,t].map(e=>e.coords),s=a.map((e,t)=>{let n=i[t],a=o[t];return n.type===`angle`&&([e,a]=hv(r,[e,a])),Ux(e,a)}),c=Ux(e.alpha,t.alpha);return{space:n,coords:s,alpha:c}}function Ux(e,t){return J(e)||J(t)?e===t?null:0:e-t}function Wx(e,t){return e=Y(e),t=Y(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((e,n)=>e===t.coords[n])}var Gx=t({getLuminance:()=>Kx,register:()=>Jx,setLuminance:()=>qx});function Kx(e){return kv(e,[ov,`y`])}function qx(e,t){Mv(e,[ov,`y`],t)}function Jx(e){Object.defineProperty(e.prototype,"luminance",{get(){return Kx(this)},set(e){qx(this,e)}})}function Yx(e,t){e=Y(e),t=Y(t);let n=Math.max(Kx(e),0),r=Math.max(Kx(t),0);return r>n&&([n,r]=[r,n]),(n+.05)/(r+.05)}var Xx=.56,Zx=.57,Qx=.62,$x=.65,eS=.022,tS=1.414,nS=.1,rS=5e-4,iS=1.14,aS=.027,oS=1.14;function sS(e){return e>=eS?e:e+(eS-e)**tS}function cS(e){return(e<0?-1:1)*Math.abs(e)**2.4}function lS(e,t){t=Y(t),e=Y(e);let n,r,i,a,o,s;t=Z(t,`srgb`),[a,o,s]=t.coords.map(e=>J(e)?0:e);let c=cS(a)*.2126729+cS(o)*.7151522+cS(s)*.072175;e=Z(e,`srgb`),[a,o,s]=e.coords.map(e=>J(e)?0:e);let l=cS(a)*.2126729+cS(o)*.7151522+cS(s)*.072175,u=sS(c),d=sS(l),f=d>u;return Math.abs(d-u)<rS?r=0:f?(n=d**Xx-u**Zx,r=n*iS):(n=d**$x-u**Qx,r=n*oS),i=Math.abs(r)<nS?0:r>0?r-aS:r+aS,i*100}function uS(e,t){e=Y(e),t=Y(t);let n=Math.max(Kx(e),0),r=Math.max(Kx(t),0);r>n&&([n,r]=[r,n]);let i=n+r;return i===0?0:(n-r)/i}var dS=5e4;function fS(e,t){e=Y(e),t=Y(t);let n=Math.max(Kx(e),0),r=Math.max(Kx(t),0);return r>n&&([n,r]=[r,n]),r===0?dS:(n-r)/r}function pS(e,t){e=Y(e),t=Y(t);let n=kv(e,[pv,`l`]),r=kv(t,[pv,`l`]);return Math.abs(n-r)}var mS=216/24389,hS=24/116,gS=24389/27,_S=X_.D65,vS=new X({id:`lab-d65`,name:`Lab D65`,coords:{l:{refRange:[0,100],name:`Lightness`},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:_S,base:ov,fromBase(e){let t=e.map((e,t)=>e/_S[t]).map(e=>e>mS?Math.cbrt(e):(gS*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>hS?t[0]**3:(116*t[0]-16)/gS,e[0]>8?((e[0]+16)/116)**3:e[0]/gS,t[2]>hS?t[2]**3:(116*t[2]-16)/gS].map((e,t)=>e*_S[t])},formats:{"lab-d65":{coords:[`<number> | <percentage>`,`<number> | <percentage>`,`<number> | <percentage>`]}}}),yS=5**.5*.5+.5;function bS(e,t){e=Y(e),t=Y(t);let n=kv(e,[vS,`l`]),r=kv(t,[vS,`l`]),i=Math.abs(n**+yS-r**+yS)**(1/yS)*Math.SQRT2-40;return i<7.5?0:i}var xS=t({contrastAPCA:()=>lS,contrastDeltaPhi:()=>bS,contrastLstar:()=>pS,contrastMichelson:()=>uS,contrastWCAG21:()=>Yx,contrastWeber:()=>fS});function SS(e,t,n){C_(n)&&(n={algorithm:n});let{algorithm:r,...i}=n||{};if(!r){let e=Object.keys(xS).map(e=>e.replace(/^contrast/,``)).join(`, `);throw TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${e}`)}e=Y(e),t=Y(t);for(let n in xS)if(`contrast`+r.toLowerCase()===n.toLowerCase())return xS[n](e,t,i);throw TypeError(`Unknown contrast algorithm: ${r}`)}var CS=t({register:()=>ES,uv:()=>wS,xy:()=>TS});function wS(e){let[t,n,r]=Ov(e,ov),i=t+15*n+3*r;return[4*t/i,9*n/i]}function TS(e){let[t,n,r]=Ov(e,ov),i=t+n+r;return[t/i,n/i]}function ES(e){Object.defineProperty(e.prototype,"uv",{get(){return wS(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return TS(this)}})}function DS(e,t,n={}){C_(n)&&(n={method:n});let{method:r=K_.deltaE,...i}=n;for(let n in vx)if(`deltae`+r.toLowerCase()===n.toLowerCase())return vx[n](e,t,i);throw TypeError(`Unknown deltaE method: ${r}`)}var OS=t({darken:()=>AS,lighten:()=>kS});function kS(e,t=.25){return Mv(e,[X.get(`oklch`,`lch`),`l`],e=>e*(1+t))}function AS(e,t=.25){return Mv(e,[X.get(`oklch`,`lch`),`l`],e=>e*(1-t))}kS.returns=`color`,AS.returns=`color`;var jS=t({isRange:()=>IS,mix:()=>MS,range:()=>PS,register:()=>LS,steps:()=>NS});function MS(e,t,n,r={}){return[e,t]=[Y(e),Y(t)],w_(n)===`object`&&([n,r]=[.5,n]),PS(e,t,r)(n??.5)}function NS(e,t,n={}){let r;IS(e)&&([r,n]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:i,deltaEMethod:a,steps:o=2,maxSteps:s=1e3,...c}=n;r||=([e,t]=[Y(e),Y(t)],PS(e,t,c));let l=DS(e,t,a),u=i>0?Math.max(o,Math.ceil(l/i)+1):o,d=[];if(s!==void 0&&(u=Math.min(u,s)),u===1)d=[{p:.5,color:r(.5)}];else{let e=1/(u-1);d=Array.from({length:u},(t,n)=>{let i=n*e;return{p:i,color:r(i)}})}if(i>0){let e=d.reduce((e,t,n)=>{if(n===0)return 0;let r=DS(t.color,d[n-1].color,a);return Math.max(e,r)},0);for(;e>i;){e=0;for(let t=1;t<d.length&&d.length<s;t++){let n=d[t-1],i=d[t],o=(i.p+n.p)/2,s=r(o);e=Math.max(e,DS(s,n.color,a),DS(s,i.color,a)),d.splice(t,0,{p:o,color:r(o)}),t++}}}return d=d.map(e=>e.color),d}function PS(e,t,n={}){if(IS(e)){let[n,r]=[e,t];return PS(...n.rangeArgs.colors,{...n.rangeArgs.options,...r})}let{space:r,outputSpace:i,progression:a,premultiplied:o}=n;e=Y(e),t=Y(t),e=Nv(e),t=Nv(t);let s={colors:[e,t],options:n};r=r?X.get(r):X.registry[K_.interpolationSpace]||e.space,i=i?X.get(i):r,e=Z(e,r),t=Z(t,r),e=xx(e),t=xx(t);let c=r.hueId,l=r.hueIndex;if(c){let i=n.hue=n.hue||`shorter`,a=[r,c],[o,s]=[kv(e,a),kv(t,a)];J(o)&&!J(s)?o=s:J(s)&&!J(o)&&(s=o),[o,s]=hv(i,[o,s]),Mv(e,a,o),Mv(t,a,s)}return J(e.alpha)&&!J(t.alpha)?e.alpha=t.alpha:J(t.alpha)&&!J(e.alpha)&&(t.alpha=e.alpha),o&&(e.coords=FS(e.coords,e.alpha,l),t.coords=FS(t.coords,t.alpha,l)),Object.assign(n=>{n=a?a(n):n;let s=e.coords.map((e,r)=>{let i=t.coords[r];return O_(e,i,n)}),c=O_(e.alpha,t.alpha,n),u={space:r,coords:s,alpha:c};return o&&(u.coords=FS(u.coords,c,l,!0)),i!==r&&(u=Z(u,i)),u},{rangeArgs:s})}function FS(e,t,n,r=!1){return J(t)||r&&t===0?e:e.map((e,i)=>i===n||J(e)?e:r?e/t:e*t)}function IS(e){return w_(e)===`function`&&!!e.rangeArgs}K_.interpolationSpace=`lab`;function LS(e){e.defineFunction(`mix`,MS,{returns:`color`}),e.defineFunction(`range`,PS,{returns:`function<color>`}),e.defineFunction(`steps`,NS,{returns:`array<color>`})}var RS=new X({id:`hsl`,name:`HSL`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:Rx,rgbGamut:Rx,fromBase:e=>{let t=Math.max(...e),n=Math.min(...e),[r,i,a]=e,[o,s,c]=[null,0,(n+t)/2],l=t-n;if(l!==0){switch(s=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:o=(i-a)/l+(i<a?6:0);break;case i:o=(a-r)/l+2;break;case a:o=(r-i)/l+4}o*=60}return s<0&&(o+=180,s=Math.abs(s)),o>=360&&(o-=360),[o,s*100,c*100]},toBase:e=>{let[t,n,r]=e;t%=360,t<0&&(t+=360),n/=100,r/=100;function i(e){let i=(e+t/30)%12,a=n*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return[i(0),i(8),i(4)]},formats:{hsl:{coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]},hsla:{coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`],commas:!0,alpha:!0}}}),zS=new X({id:`hsl-p3`,cssId:`--hsl-p3`,name:`HSL P3`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:zx,rgbGamut:zx,fromBase:RS.fromBase,toBase:RS.toBase}),BS=new X({id:`hsl-rec2020`,cssId:`--hsl-rec2020`,name:`HSL Rec.2020`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:jx,rgbGamut:jx,fromBase:RS.fromBase,toBase:RS.toBase}),VS=new X({id:`hsv`,name:`HSV`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},v:{range:[0,100],name:`Value`}},base:Rx,rgbGamut:Rx,fromBase(e){let t=Math.max(...e),n=Math.min(...e),[r,i,a]=e,[o,s,c]=[null,0,t],l=t-n;if(l!==0){switch(t){case r:o=(i-a)/l+(i<a?6:0);break;case i:o=(a-r)/l+2;break;case a:o=(r-i)/l+4}o*=60}return c&&(s=l/c),o>=360&&(o-=360),[o,s*100,c*100]},toBase(e){let[t,n,r]=e;t%=360,t<0&&(t+=360),n/=100,r/=100;function i(e){let i=(e+t/60)%6;return r-r*n*Math.max(0,Math.min(i,4-i,1))}return[i(5),i(3),i(1)]},formats:{color:{id:`--hsv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),HS=new X({id:`hwb`,name:`HWB`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},w:{range:[0,100],name:`Whiteness`},b:{range:[0,100],name:`Blackness`}},base:VS,rgbGamut:Rx,fromBase(e){let[t,n,r]=e;return[t,r*(100-n)/100,100-r]},toBase(e){let[t,n,r]=e;n/=100,r/=100;let i=n+r;if(i>=1)return[t,0,n/i*100];let a=1-r;return[t,(a===0?0:1-n/a)*100,a*100]},formats:{hwb:{coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),US=new sv({id:`a98rgb-linear`,cssId:`--a98-rgb-linear`,name:`Linear Adobe® 98 RGB compatible`,white:`D65`,M:{toXYZ:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}}),WS=new sv({id:`a98rgb`,cssId:`a98-rgb`,name:`Adobe® 98 RGB compatible`,base:US,linearGamut:US,toBase:e=>e.map(e=>Math.abs(e)**(563/256)*Math.sign(e)),fromBase:e=>e.map(e=>Math.abs(e)**(256/563)*Math.sign(e))}),GS=new sv({id:`prophoto-linear`,cssId:`--prophoto-rgb-linear`,name:`Linear ProPhoto`,white:`D50`,base:cv,M:{toXYZ:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}}),KS=1/512,qS=16/512,JS=new sv({id:`prophoto`,cssId:`prophoto-rgb`,name:`ProPhoto`,base:GS,linearGamut:GS,toBase(e){return e.map(e=>{let t=e<0?-1:1,n=e*t;return n<qS?e/16:t*n**1.8})},fromBase(e){return e.map(e=>{let t=e<0?-1:1,n=e*t;return n>=KS?t*n**(1/1.8):16*e})}}),YS=1.09929682680944,XS=.018053968510807,ZS=new sv({id:`--rec2020-oetf`,name:`REC.2020_Scene_Referred`,base:Ax,linearGamut:Ax,referred:`scene`,toBase(e){return e.map(function(e){let t=e<0?-1:1,n=e*t;return n<XS*4.5?e/4.5:t*((n+YS-1)/YS)**(1/.45)})},fromBase(e){return e.map(function(e){let t=e<0?-1:1,n=e*t;return n>=XS?t*(YS*n**.45-.09929682680944008):4.5*e})}}),QS=new Ex({id:`oklch-p3`,cssId:`--oklch-p3`,name:`OKLCh P3`,base:Av,gamutSpace:zx}),$S=new Ex({id:`oklch-srgb`,cssId:`--oklch-srgb`,name:`OKLCh sRGB`,base:Av,gamutSpace:Rx}),eC=new Ex({id:`oklch-rec2020`,cssId:`--oklch-rec2020`,name:`OKLCh Rec.2020`,base:Av,gamutSpace:jx}),tC=new Ex({id:`lch-p3`,cssId:`--lch-p3`,name:`LCH P3`,base:gv,gamutSpace:zx}),nC=new Ex({id:`lch-srgb`,cssId:`--lch-srgb`,name:`LCH sRGB`,base:gv,gamutSpace:Rx}),rC=new Ex({id:`lch-rec2020`,cssId:`--lch-rec2020`,name:`LCH Rec.2020`,base:gv,gamutSpace:jx}),iC=2*Math.PI,aC={...wv.M,toLMS:[[.4122214694707629,.5363325372617349,.0514459932675022],[.2119034958178251,.6806995506452344,.1073969535369405],[.0883024591900564,.2817188391361215,.6299787016738222]],toSRGBLinear:[[4.076741636075958,-3.307711539258063,.2309699031821043],[-1.2684379732850315,2.609757349287688,-.341319376002657],[-.0041960761386756,-.7034186179359362,1.7076146940746117]]},oC=[[[-1.8817031,-.80936501],[1.19086277,1.76576728,.59662641,.75515197,.56771245]],[[1.8144408,-1.19445267],[.73956515,-.45954404,.08285427,.12541073,-.14503204]],[[.13110758,1.81333971],[1.35733652,-.00915799,-1.1513021,-.50559606,.00692167]]],sC=Number.MAX_VALUE,cC=.206,lC=.03,uC=1.206/1.03;function dC(e,t){let n=e.length;if(n!==t.length)throw Error(`Vectors of size ${n} and ${t.length} are not aligned`);let r=0;return e.forEach((e,n)=>{r+=e*t[n]}),r}function fC(e){return .5*(uC*e-cC+Math.sqrt((uC*e-cC)*(uC*e-cC)+4*lC*uC*e))}function pC(e){return(e**2+cC*e)/(uC*(e+lC))}function mC(e){let[t,n]=e;return[n/t,n/(1-t)]}function hC(e,t){return[.11516993+1/(7.4477897+4.1590124*t+e*(-2.19557347+1.75198401*t+e*(-2.13704948-10.02301043*t+e*(-4.24894561+5.38770819*t+4.69891013*e)))),.11239642+1/(1.6132032-.68124379*t+e*(.40370612+.90148123*t+e*(-.27087943+.6122399*t+e*(.00299215-.45399568*t-.14661872*e))))]}function gC(e,t){let n=q(e,aC.LabtoLMS);return n[0]**=3,n[1]**=3,n[2]**=3,q(n,t,n)}function _C(e,t,n,r){let i=bC(e,t,n,r),a=gC([1,i*e,i*t],n),o=N_(1/Math.max(...a),1/3);return[o,o*i]}function vC(e,t,n,r,i,a,o,s){let c;if(s===void 0&&(s=_C(e,t,a,o)),(n-i)*s[1]-(s[0]-i)*r<=0)c=s[1]*i/(r*s[0]+s[1]*(i-n));else{c=s[1]*(i-1)/(r*(s[0]-1)+s[1]*(i-n));let o=n-i,l=r,u=dC(aC.LabtoLMS[0].slice(1),[e,t]),d=dC(aC.LabtoLMS[1].slice(1),[e,t]),f=dC(aC.LabtoLMS[2].slice(1),[e,t]),p=o+l*u,m=o+l*d,h=o+l*f,g=i*(1-c)+c*n,_=c*r,v=g+_*u,y=g+_*d,b=g+_*f,x=v**3,S=y**3,C=b**3,w=3*p*v**2,T=3*m*y**2,E=3*h*b**2,D=6*p**2*v,ee=6*m**2*y,te=6*h**2*b,ne=dC(a[0],[x,S,C])-1,O=dC(a[0],[w,T,E]),re=dC(a[0],[D,ee,te]),ie=O/(O*O-.5*ne*re),ae=-ne*ie,oe=dC(a[1],[x,S,C])-1,se=dC(a[1],[w,T,E]),ce=dC(a[1],[D,ee,te]),le=se/(se*se-.5*oe*ce),ue=-oe*le,de=dC(a[2],[x,S,C])-1,fe=dC(a[2],[w,T,E]),pe=dC(a[2],[D,ee,te]),me=fe/(fe*fe-.5*de*pe),he=-de*me;ae=ie>=0?ae:sC,ue=le>=0?ue:sC,he=me>=0?he:sC,c+=Math.min(ae,Math.min(ue,he))}return c}function yC(e,t,n){let[r,i,a]=e,o=_C(i,a,t,n),s=vC(i,a,r,1,r,t,n,o),c=mC(o),l=s/Math.min(r*c[0],(1-r)*c[1]),u=hC(i,a),d=r*u[0],f=(1-r)*u[1],p=.9*l*Math.sqrt(Math.sqrt(1/(1/d**4+1/f**4)));return d=r*.4,f=(1-r)*.8,[Math.sqrt(1/(1/d**2+1/f**2)),p,s]}function bC(e,t,n,r){let i,a,o,s,c,l,u,d;dC(r[0][0],[e,t])>1?([i,a,o,s,c]=r[0][1],[l,u,d]=n[0]):dC(r[1][0],[e,t])>1?([i,a,o,s,c]=r[1][1],[l,u,d]=n[1]):([i,a,o,s,c]=r[2][1],[l,u,d]=n[2]);let f=i+a*e+o*t+s*e**2+c*e*t,p=dC(aC.LabtoLMS[0].slice(1),[e,t]),m=dC(aC.LabtoLMS[1].slice(1),[e,t]),h=dC(aC.LabtoLMS[2].slice(1),[e,t]),g=1+f*p,_=1+f*m,v=1+f*h,y=g**3,b=_**3,x=v**3,S=3*p*g**2,C=3*m*_**2,w=3*h*v**2,T=6*p**2*g,E=6*m**2*_,D=6*h**2*v,ee=l*y+u*b+d*x,te=l*S+u*C+d*w,ne=l*T+u*E+d*D;return f-=ee*te/(te**2-.5*ee*ne),f}function xC(e,t,n){let[r,i,a]=e,o=pC(a),s=null,c=null;if(r=mv(r)/360,o!==0&&o!==1&&i!==0){let e=Math.cos(iC*r),a=Math.sin(iC*r),[l,u,d]=yC([o,e,a],t,n),f=.8,p,m,h,g;i<f?(p=1.25*i,m=0,h=f*l,g=1-h/u):(p=5*(i-.8),m=u,h=.2*u**2*1.25**2/l,g=1-h/(d-u));let _=m+p*h/(1-g*p);s=_*e,c=_*a}return[o,s,c]}function SC(e,t,n){let r=e[0],i=0,a=fC(r),o=Math.sqrt(e[1]**2+e[2]**2),s=.5+Math.atan2(-e[2],-e[1])/iC;if(a!==0&&a!==1&&o!==0){let[a,s,c]=yC([r,e[1]/o,e[2]/o],t,n),l=.8,u,d,f,p;o<s?(d=l*a,f=1-d/s,p=o/(d+f*o),i=p*l):(u=s,d=.2*s**2*1.25**2/a,f=1-d/(c-s),p=(o-u)/(d+f*(o-u)),i=l+.2*p)}let c=Math.abs(i)<1e-4;return c||a===0||Math.abs(1-a)<1e-7?(s=null,c||(i=0)):s=mv(s*360),[s,i,a]}var CC=new X({id:`okhsl`,name:`Okhsl`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,1],name:`Saturation`},l:{range:[0,1],name:`Lightness`}},base:wv,gamutSpace:`self`,M:aC,fromBase(e){return SC(e,aC.toSRGBLinear,oC)},toBase(e){return xC(e,aC.toSRGBLinear,oC)},formats:{color:{id:`--okhsl`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}});CC.rgbGamut=new sv({id:`okhsl-prism`,cssId:`--okhsl-prism`,name:`Okhsl Prism`,base:CC,fromBase(e){return RS.toBase([e[0],e[1]*100,e[2]*100])},toBase(e){let t=RS.fromBase(e);return t[1]/=100,t[2]/=100,t}});var wC=new X({id:`oklrab`,name:`Oklrab`,coords:{l:{refRange:[0,1],name:`Lightness`},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:`D65`,base:wv,fromBase(e){return[fC(e[0]),e[1],e[2]]},toBase(e){return[pC(e[0]),e[1],e[2]]},formats:{color:{coords:[`<percentage> | <number>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}}),TC=new X({id:`oklrch`,name:`Oklrch`,coords:{l:{refRange:[0,1],name:`Lightness`},c:{refRange:[0,.4],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},white:`D65`,base:wC,fromBase:gv.fromBase,toBase:gv.toBase,formats:{color:{coords:[`<percentage> | <number>`,`<number> | <percentage>[0,1]`,`<number> | <angle>`]}}}),EC={toSRGBLinear:CC.M.toSRGBLinear};function DC(e,t,n){let[r,i,a]=e;r=mv(r)/360;let o=pC(a),s=null,c=null;if(o!==0&&i!==0){let e=Math.cos(iC*r),l=Math.sin(iC*r),[u,d]=mC(_C(e,l,t,n)),f=.5,p=1-f/u,m=1-i*f/(f+d-d*p*i),h=i*d*f/(f+d-d*p*i);o=a*m;let g=a*h,_=pC(m),v=h*_/m,y=pC(o);g=g*y/o,o=y;let[b,x,S]=gC([_,e*v,l*v],t),C=N_(1/Math.max(Math.max(b,x),Math.max(S,0)),1/3);o*=C,g*=C,s=g*e,c=g*l}return[o,s,c]}function OC(e,t,n){let r=e[0],i=0,a=fC(r),o=Math.sqrt(e[1]**2+e[2]**2),s=.5+Math.atan2(-e[2],-e[1])/iC;if(r!==0&&r!==1&&o!==0){let s=e[1]/o,c=e[2]/o,[l,u]=mC(_C(s,c,t,n)),d=.5,f=1-d/l,p=u/(o+r*u),m=p*r,h=p*o,g=pC(m),_=h*g/m,[v,y,b]=gC([g,s*_,c*_],t),x=N_(1/Math.max(Math.max(v,y),Math.max(b,0)),1/3);r/=x,o/=x,o=o*fC(r)/r,r=fC(r),a=r/m,i=(d+u)*h/(u*d+u*f*h)}return s=Math.abs(i)<1e-4||a===0?null:mv(s*360),[s,i,a]}var kC=new X({id:`okhsv`,name:`Okhsv`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,1],name:`Saturation`},v:{range:[0,1],name:`Value`}},base:wv,gamutSpace:`self`,M:EC,fromBase(e){return OC(e,EC.toSRGBLinear,oC)},toBase(e){return DC(e,EC.toSRGBLinear,oC)},formats:{color:{id:`--okhsv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}});kC.rgbGamut=new sv({id:`okhsv-prism`,cssId:`--okhsv-prism`,name:`Okhsv Prism`,base:kC,fromBase(e){return RS.toBase([e[0],e[1]*100,e[2]*100])},toBase(e){let t=RS.fromBase(e);return t[1]/=100,t[2]/=100,t}});var AC=X_.D65,jC=216/24389,MC=24389/27,[NC,PC]=wS({space:ov,coords:AC}),FC=new X({id:`luv`,name:`Luv`,coords:{l:{refRange:[0,100],name:`Lightness`},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:AC,base:ov,fromBase(e){let t=[E_(e[0]),E_(e[1]),E_(e[2])],n=t[1],[r,i]=wS({space:ov,coords:t});if(!Number.isFinite(r)||!Number.isFinite(i))return[0,0,0];let a=n<=jC?MC*n:116*Math.cbrt(n)-16;return[a,13*a*(r-NC),13*a*(i-PC)]},toBase(e){let[t,n,r]=e;if(t===0||J(t))return[0,0,0];n=E_(n),r=E_(r);let i=n/(13*t)+NC,a=r/(13*t)+PC,o=t<=8?t/MC:((t+16)/116)**3;return[o*(9*i/(4*a)),o,o*((12-3*i-20*a)/(4*a))]},formats:{color:{id:`--luv`,coords:[`<number> | <percentage>`,`<number> | <percentage>`,`<number> | <percentage>`]}}}),IC=new X({id:`lchuv`,name:`LChuv`,coords:{l:{refRange:[0,100],name:`Lightness`},c:{refRange:[0,220],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:FC,fromBase:gv.fromBase,toBase:gv.toBase,formats:{color:{id:`--lchuv`,coords:[`<number> | <percentage>`,`<number> | <percentage>`,`<number> | <angle>`]}}}),LC=216/24389,RC=24389/27,zC=Nx.fromXYZ,BC=zC[0][0],VC=zC[0][1],HC=zC[0][2],UC=zC[1][0],WC=zC[1][1],GC=zC[1][2],KC=zC[2][0],qC=zC[2][1],JC=zC[2][2];function YC(e,t,n){let r=t/(Math.sin(n)-e*Math.cos(n));return r<0?1/0:r}function XC(e){let t=(e+16)**3/1560896,n=t>LC?t:e/RC,r=n*(284517*BC-94839*HC),i=n*(838422*HC+769860*VC+731718*BC),a=n*(632260*HC-126452*VC),o=n*(284517*UC-94839*GC),s=n*(838422*GC+769860*WC+731718*UC),c=n*(632260*GC-126452*WC),l=n*(284517*KC-94839*JC),u=n*(838422*JC+769860*qC+731718*KC),d=n*(632260*JC-126452*qC);return{r0s:r/a,r0i:i*e/a,r1s:r/(a+126452),r1i:(i-769860)*e/(a+126452),g0s:o/c,g0i:s*e/c,g1s:o/(c+126452),g1i:(s-769860)*e/(c+126452),b0s:l/d,b0i:u*e/d,b1s:l/(d+126452),b1i:(u-769860)*e/(d+126452)}}function ZC(e,t){let n=t/360*Math.PI*2,r=YC(e.r0s,e.r0i,n),i=YC(e.r1s,e.r1i,n),a=YC(e.g0s,e.g0i,n),o=YC(e.g1s,e.g1i,n),s=YC(e.b0s,e.b0i,n),c=YC(e.b1s,e.b1i,n);return Math.min(r,i,a,o,s,c)}var QC=new X({id:`hsluv`,name:`HSLuv`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:IC,gamutSpace:Rx,rgbGamut:Rx,fromBase(e){let[t,n,r]=[E_(e[0]),E_(e[1]),E_(e[2])],i;return t>99.9999999?(i=0,t=100):t<1e-8?(i=0,t=0):i=n/ZC(XC(t),r)*100,[r,i,t]},toBase(e){let[t,n,r]=[E_(e[0]),E_(e[1]),E_(e[2])],i;return r>99.9999999?(r=100,i=0):r<1e-8?(r=0,i=0):i=ZC(XC(r),t)/100*n,[r,i,t]},formats:{color:{id:`--hsluv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),$C=Nx.fromXYZ;$C[0][0],$C[0][1],$C[0][2],$C[1][0],$C[1][1],$C[1][2],$C[2][0],$C[2][1],$C[2][2];function ew(e,t){return Math.abs(t)/Math.sqrt(e**2+1)}function tw(e){let t=ew(e.r0s,e.r0i),n=ew(e.r1s,e.r1i),r=ew(e.g0s,e.g0i),i=ew(e.g1s,e.g1i),a=ew(e.b0s,e.b0i),o=ew(e.b1s,e.b1i);return Math.min(t,n,r,i,a,o)}var nw=new X({id:`hpluv`,name:`HPLuv`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:IC,gamutSpace:`self`,fromBase(e){let[t,n,r]=[E_(e[0]),E_(e[1]),E_(e[2])],i;return t>99.9999999?(i=0,t=100):t<1e-8?(i=0,t=0):i=n/tw(XC(t))*100,[r,i,t]},toBase(e){let[t,n,r]=[E_(e[0]),E_(e[1]),E_(e[2])],i;return r>99.9999999?(r=100,i=0):r<1e-8?(r=0,i=0):i=tw(XC(r))/100*n,[r,i,t]},formats:{color:{id:`--hpluv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}});nw.rgbGamut=new sv({id:`hpluv-prism`,cssId:`--hpluv-prism`,name:`HPLuv Prism`,base:nw,fromBase(e){return RS.toBase(e)},toBase(e){return RS.fromBase(e)}});var rw=.021,iw=Math.sqrt(rw/3),aw=iw*iw*iw,ow=.978,sw=.058,cw=264.5*Math.PI/180,lw=.7,uw=.37,dw={M1:[[.8154832155941288,.36033406153856506,-.12434135574228214],[.03301008352745078,.9292865057066169,.03612192716575443],[.04818827356456861,.2642841575338424,.6334971784195534]],M1_INV:[[1.2325947975032656,-.5557590239287523,.2736201534771583],[-.040801327874216024,1.112228863738653,-.07142753586443781],[-.07673825928337766,-.42172784577108585,1.5875238558143416]],M2:[[.21193779684470104,.7992121834263127,-.00410075161564345],[2.4672018828033475,-2.9877348024830788,.520532919679731],[-.11390787868068575,1.3932982808117473,-1.279390402131062]],M2_INV:[[.9930001151336143,.32599327253052285,.1294508563171392],[.9930001151336139,-.08708353111074627,-.03861361743004929],[.9930001151336136,-.12386097008215022,-.8351991365871061]]},fw=[0,.05,.1,.15,.2,.25,.3,.35,.4,.45,.5,.55,.6,.65,.7,.75,.8,.85,.9,.95,1],pw=[0,.009494013522189627,.02564569838030986,.055259661658689105,.10574901531227408,.16055853320726027,.21405964892993756,.26786230508811226,.3220435246104499,.3739052098520243,.43020997780918835,.4835465162128873,.5399824670411353,.5956710081330342,.6542161666450478,.7115380216519989,.7702762412711669,.8293313467712837,.889406386197059,.9462829573474728,1],mw=fw.length;function hw(e){let t=e/(2*aw),n=2*iw*Math.sinh(Math.asinh(t)/3),r=n*n*n+rw*n-e,i=3*n*n+rw,a=6*n,o=2*i*i-r*a;return Math.abs(o)>1e-30&&(n-=2*r*i/o),n}function gw(e){return e*e*e+rw*e}function _w(e){let t=Math.max(0,Math.min(1,(e-uw)/.63));return Math.sin(Math.PI*t)**2}function vw(e,t,n){let r=Math.sqrt(t*t+n*n);if(r<1e-12)return[t,n];let i=_w(e);if(i<1e-12)return[t,n];let a=Math.atan2(n,t),o=a-cw;o-=Math.round(o/(2*Math.PI))*2*Math.PI;let s=Math.exp(-.5*(o/lw)**2),c=a+sw*i*s;return[r*Math.cos(c),r*Math.sin(c)]}function yw(e,t,n){let r=Math.sqrt(t*t+n*n);if(r<1e-12)return[t,n];let i=_w(e);if(i<1e-12)return[t,n];let a=Math.atan2(n,t),o=lw*lw,s=sw*i,c=a;for(let e=0;e<8;e++){let e=c-cw;e-=Math.round(e/(2*Math.PI))*2*Math.PI;let t=Math.exp(-.5*e*e/o),n=c+s*t-a,r=1+s*t*(-e/o),i=s*t*(-1/o+e*e/(o*o)),l=2*r*r-n*i;Math.abs(l)>1e-30&&(c-=2*n*r/l)}return[r*Math.cos(c),r*Math.sin(c)]}function bw(e){if(e<=0||e>=1)return e;let t=0,n=mw-1;for(;n-t>1;){let r=t+n>>1;fw[r]<=e?t=r:n=r}let r=(e-fw[t])/(fw[n]-fw[t]);return pw[t]+r*(pw[n]-pw[t])}function xw(e){if(e<=pw[0]||e>=pw[mw-1])return e;let t=0,n=mw-1;for(;n-t>1;){let r=t+n>>1;pw[r]<=e?t=r:n=r}let r=(e-pw[t])/(pw[n]-pw[t]);return fw[t]+r*(fw[n]-fw[t])}var Sw=new X({id:`helmgen`,name:`HelmGen`,cssId:`--helmgen`,coords:{l:{refRange:[0,1],name:`Lightness`},a:{refRange:[-.6,.6]},b:{refRange:[-.6,.6]}},white:`D65`,base:ov,M:dw,fromBase(e){let t=q(e,dw.M1),n=hw(Math.max(t[0],0)),r=hw(Math.max(t[1],0)),i=hw(Math.max(t[2],0));{let e=(n+r+i)/3,t=(Math.max(n,r,i)-Math.min(n,r,i))/Math.max(Math.abs(e),1e-30),a=Math.exp(-((t/1e-5)**2));n+=a*(e-n),r+=a*(e-r),i+=a*(e-i)}let[a,o,s]=q([n,r,i],dw.M2);{let e=Math.sqrt(o*o+s*s);if(e>1e-12){let t=e**+ow/e;o*=t,s*=t}}return a=bw(a),[o,s]=vw(a,o,s),[a,o,s]},toBase(e){let[t,n,r]=e;[n,r]=yw(t,n,r),t=xw(t);{let e=Math.sqrt(n*n+r*r);if(e>1e-12){let t=e**(1/ow)/e;n*=t,r*=t}}let[i,a,o]=q([t,n,r],dw.M2_INV);{let e=(i+a+o)/3,t=(Math.max(i,a,o)-Math.min(i,a,o))/Math.max(Math.abs(e),1e-30),n=Math.exp(-((t/1e-5)**2));i+=n*(e-i),a+=n*(e-a),o+=n*(e-o)}return q([gw(i),gw(a),gw(o)],dw.M1_INV)}}),Cw=new X({id:`helmgenlch`,name:`HelmGenLCh`,cssId:`--helmgenlch`,coords:{l:{refRange:[0,1],name:`Lightness`},c:{refRange:[0,.65],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},white:`D65`,base:Sw,fromBase:gv.fromBase,toBase:gv.toBase}),ww=new sv({id:`rec2100-linear`,name:`Linear REC.2100`,white:`D65`,M:kx}),Tw=203,Ew=2610/2**14,Dw=2**14/2610,Ow=2523/32,kw=32/2523,Aw=3424/4096,jw=2413/128,Mw=2392/128,Nw=new sv({id:`rec2100pq`,cssId:`rec2100-pq`,name:`REC.2100-PQ`,base:ww,linearGamut:ww,toBase(e){return e.map(function(e){return(Math.max(e**kw-Aw,0)/(jw-Mw*e**kw))**Dw*1e4/Tw})},fromBase(e){return e.map(function(e){let t=Math.max(e*Tw/1e4,0);return((Aw+jw*t**Ew)/(1+Mw*t**Ew))**Ow})}}),Pw=.17883277,Fw=.28466892,Iw=.55991073,Lw=3.7743,Rw=new sv({id:`rec2100hlg`,cssId:`rec2100-hlg`,name:`REC.2100-HLG`,referred:`scene`,base:ww,linearGamut:ww,toBase(e){return e.map(function(e){return e<=.5?e**2/3*Lw:(Math.exp((e-Iw)/Pw)+Fw)/12*Lw})},fromBase(e){return e.map(function(e){return e/=Lw,e<=1/12?N_(3*e,.5):Pw*Math.log(12*e-Fw)+Iw})}}),zw={};G_.add(`chromatic-adaptation-start`,e=>{e.options.method&&(e.M=Vw(e.W1,e.W2,e.options.method))}),G_.add(`chromatic-adaptation-end`,e=>{e.M||=Vw(e.W1,e.W2,e.options.method)});function Bw({id:e,toCone_M:t,fromCone_M:n}){zw[e]=arguments[0]}function Vw(e,t,n=`Bradford`){let r=zw[n],[i,a,o]=b_(r.toCone_M,e),[s,c,l]=b_(r.toCone_M,t),u=b_([[s/i,0,0],[0,c/a,0],[0,0,l/o]],r.toCone_M);return b_(r.fromCone_M,u)}Bw({id:`von Kries`,toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]}),Bw({id:`Bradford`,toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]}),Bw({id:`CAT02`,toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]}),Bw({id:`CAT16`,toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]}),Object.assign(X_,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]}),X_.ACES=[.32168/.33767,1,.34065/.33767];var Hw=new sv({id:`acescg`,cssId:`--acescg`,name:`ACEScg`,coords:{r:{range:[0,65504],name:`Red`},g:{range:[0,65504],name:`Green`},b:{range:[0,65504],name:`Blue`}},referred:`scene`,white:X_.ACES,M:{toXYZ:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}}),Uw=2**-16,Ww=-.35828683,Gw=(Math.log2(65504)+9.72)/17.52,Kw=new sv({id:`acescc`,cssId:`--acescc`,name:`ACEScc`,coords:{r:{range:[Ww,Gw],name:`Red`},g:{range:[Ww,Gw],name:`Green`},b:{range:[Ww,Gw],name:`Blue`}},referred:`scene`,base:Hw,linearGamut:Hw,toBase(e){return e.map(function(e){return e<=-.3013698630136986?(2**(e*17.52-9.72)-Uw)*2:e<Gw?2**(e*17.52-9.72):65504})},fromBase(e){return e.map(function(e){return e<=0?(Math.log2(Uw)+9.72)/17.52:e<Uw?(Math.log2(Uw+e*.5)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})}}),qw=t({A98RGB:()=>WS,A98RGB_Linear:()=>US,ACEScc:()=>Kw,ACEScg:()=>Hw,CAM16_JMh:()=>jy,HCT:()=>By,HPLuv:()=>nw,HSL:()=>RS,HSL_P3:()=>zS,HSL_REC2020:()=>BS,HSLuv:()=>QC,HSV:()=>VS,HWB:()=>HS,HelmGen:()=>Sw,HelmGenLCh:()=>Cw,Helmlab:()=>ux,ICTCP:()=>ly,JzCzHz:()=>$v,Jzazbz:()=>Qv,LCH:()=>gv,LCH_P3:()=>tC,LCH_REC_2020:()=>rC,LCH_sRGB:()=>nC,LCHuv:()=>IC,Lab:()=>pv,Lab_D65:()=>vS,Luv:()=>FC,OKLCH:()=>Av,OKLCH_P3:()=>QS,OKLCH_REC_2020:()=>eC,OKLCH_sRGB:()=>$S,OKLab:()=>wv,OKLrCH:()=>TC,OKLrab:()=>wC,Okhsl:()=>CC,Okhsv:()=>kC,P3:()=>zx,P3_Linear:()=>Mx,ProPhoto:()=>JS,ProPhoto_Linear:()=>GS,REC_2020:()=>jx,REC_2020_Linear:()=>Ax,REC_2020_Scene_Referred:()=>ZS,REC_2100_HLG:()=>Rw,REC_2100_Linear:()=>ww,REC_2100_PQ:()=>Nw,XYZ_ABS_D65:()=>zv,XYZ_D50:()=>cv,XYZ_D65:()=>ov,sRGB:()=>Rx,sRGB_Linear:()=>Px}),Jw=class e{constructor(...e){let t;if(e.length===1){let n={};typeof e[0]==`object`&&Object.getPrototypeOf(e[0]).constructor===Object&&(e[0]={...e[0]}),t=Y(e[0],{parseMeta:n}),n.format&&(this.parseMeta=n)}let n,r,i;t?(n=t.space||t.spaceId,r=t.coords,i=t.alpha):[n,r,i]=e,Object.defineProperty(this,"space",{value:X.get(n),writable:!1,enumerable:!0,configurable:!0}),this.coords=r?r.slice():[0,0,0],this.alpha=J(i)?i:i===void 0?1:j_(0,i,1);for(let e in this.space.coords)Object.defineProperty(this,e,{get:()=>this.get(e),set:t=>this.set(e,t)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let n=Vx(this,...t);return n.color=new e(n.color),n}static get(t,...n){return I_(t,this)?t:new e(t,...n)}static try(t,n){if(I_(t,this))return t;let r=Dx(t,n);return r?new e(r):null}static defineFunction(t,n,r=n){let{instance:i=!0,returns:a}=r,o=function(...t){let r=n(...t);if(a===`color`)r=e.get(r);else if(a===`function<color>`){let t=r;r=function(...n){let r=t(...n);return e.get(r)},Object.assign(r,t)}else a===`array<color>`&&(r=r.map(t=>e.get(t)));return r};t in e||(e[t]=o),i&&(e.prototype[t]=function(...e){return o(this,...e)})}static defineFunctions(t){for(let n in t)e.defineFunction(n,t[n],t[n])}static extend(t){if(t.register)t.register(e);else for(let n in t)e.defineFunction(n,t[n])}};Jw.defineFunctions({get:kv,getAll:Ov,set:Mv,setAll:jv,to:Z,equals:Wx,inGamut:Dv,toGamut:xx,distance:Pv,deltas:Hx,toString:Ox}),Object.assign(Jw,{util:S_,hooks:G_,WHITES:X_,Space:X,spaces:X.registry,parse:$_,defaults:K_});for(let e of Object.keys(qw))X.register(qw[e]);for(let e in X.registry)Yw(e,X.registry[e]);G_.add(`colorspace-init-end`,e=>{Yw(e.id,e),e.aliases?.forEach(t=>{Yw(t,e)})});function Yw(e,t){let n=e.replace(/-/g,`_`);Object.defineProperty(Jw.prototype,n,{get(){let n=this.getAll(e);if(typeof Proxy>`u`)return n;let r=new Proxy(n,{has:(e,n)=>{try{return X.resolveCoord([t,n]),!0}catch{}return Reflect.has(e,n)},get:(e,n,i)=>{if(n&&typeof n!=`symbol`&&!(n in e)&&n in r){let{index:r}=X.resolveCoord([t,n]);if(r>=0)return e[r]}return Reflect.get(e,n,i)},set:(n,r,i,a)=>{if(r&&typeof r!=`symbol`&&!(r in n)||Number(r)>=0){let{index:a}=X.resolveCoord([t,r]);if(a>=0)return n[a]=i,this.setAll(e,n),!0}return Reflect.set(n,r,i,a)}});return r},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}Jw.extend(vx),Jw.extend({deltaE:DS}),Object.assign(Jw,{deltaEMethods:vx}),Jw.extend(OS),Jw.extend({contrast:SS}),Jw.extend(CS),Jw.extend(Gx),Jw.extend(jS),Jw.extend(xS);var Xw=Jw;function Zw(e,t=1,n=!1){return`hsla(${e}, ${n?50:65}%, ${n?60:40}%, ${t})`}function Qw(e,t=1,n=!1){let r=0;for(let t=0;t<e.length;t++)r=e.charCodeAt(t)+((r<<5)-r);return Zw((r%360+360)%360,t,n)}var $w=[`vite-plugin-`,`rollup-plugin-`,`webpack-plugin-`,`unplugin-`,`nuxt-`,`eslint-plugin-`,`postcss-`,`vite:`,`rollup:`,`rolldown:`,`webpack:`,`__`];function eT(e){let t=e.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`);return RegExp(`^(?:@[^/]+\\/)?(?:${t})`)}eT($w);function tT(e,t){let[n,r,i]=new Xw(e).to(`srgb`).coords.map(e=>Math.round(Math.max(0,Math.min(1,e??0))*255));return`rgba(${n}, ${r}, ${i}, ${t})`}var nT=I({__name:`DisplayBadge`,props:{text:{},color:{type:[Boolean,Number,String],default:!0},variant:{default:`subtle`},icon:{},as:{},colorScheme:{},rounded:{default:`md`},paddingX:{default:.5},paddingY:{default:.25}},setup(e){let t=e;function n(e){return/^#|^hsl|^rgb|^var\(/.test(e)}let r=y_(()=>t.colorScheme),i=G(()=>r.value===`dark`),a=G(()=>typeof t.color==`string`&&!n(t.color)),o=G(()=>{let{color:e,text:r}=t;if(typeof e==`number`)return Zw(e,1,i.value);if(typeof e==`string`&&n(e))return e;if(e===!0&&r)return Qw(r,1,i.value)}),s=G(()=>{let{color:e,text:r}=t;if(typeof e==`number`)return Zw(e,t.variant===`solid`?1:.12,i.value);if(typeof e==`string`&&n(e))return t.variant===`solid`?e:tT(e,.12);if(e===!0&&r)return Qw(r,t.variant===`solid`?1:.12,i.value)}),c=G(()=>{let{color:e,text:r}=t;if(typeof e==`number`)return Zw(e,.2,i.value);if(typeof e==`string`&&n(e))return t.variant===`solid`?e:tT(e,.2);if(e===!0&&r)return Qw(r,.2,i.value)}),l=G(()=>{let e={padding:`${t.paddingY}em ${t.paddingX}em`,...typeof t.rounded==`number`?{borderRadius:`${t.rounded}em`}:{}};return o.value?t.variant===`solid`?{...e,color:`#fff`,background:s.value,border:`1px solid ${s.value}`}:a.value?{...e,color:o.value,background:s.value}:{...e,color:o.value,background:s.value,border:`1px solid ${c.value}`}:e}),u=G(()=>a.value?`badge-color-${t.color}`:t.color===!1?`bg-#8881 color-muted`:``),d=G(()=>typeof t.rounded==`number`?``:t.rounded===`full`?`rounded-full`:`rounded-md`);return(t,n)=>(z(),V(ua(e.as||`span`),{class:k([`leading-none font-medium inline-flex gap-1 items-center`,[d.value,u.value]]),style:he(l.value)},{default:P(()=>[e.icon?(z(),B(`span`,{key:0,class:k(e.icon),"aria-hidden":`true`},null,2)):W(``,!0),L(t.$slots,`default`,{},()=>[ws(A(e.text),1)])]),_:3},8,[`class`,`style`]))}}),rT={key:1,class:`text-micro font-mono px-1.5 rounded-full bg-active inline-flex h-5 min-w-5 items-center justify-center tabular-nums`},iT=I({__name:`LayoutTabs`,props:Fa({tabs:{},variant:{default:`underline`},lazy:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ro(e,`modelValue`);return(n,r)=>(z(),V(N(rh),{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,class:k(e.variant===`segment`?``:`border-b border-base`)},{default:P(()=>[U(N(ch),{class:k([`flex items-center relative`,e.variant===`segment`?`gap-1 p-1 rounded-lg bg-sunken w-max`:`gap-1`])},{default:P(()=>[(z(!0),B(R,null,ma(e.tabs,t=>(z(),V(N(lh),{key:t.value,value:t.value,as:t.href?`a`:`button`,href:t.href,disabled:t.disabled,class:k([`text-sm color-muted outline-none flex gap-1.5 transition items-center relative disabled:op50 focus-visible:ring-2 focus-visible:ring-primary-500/40`,e.variant===`segment`?`px-3 py-1 rounded-md data-[state=active]:bg-raised data-[state=active]:color-base data-[state=active]:shadow-sm`:`px-3 py-2 -mb-px border-b-2 border-transparent hover:color-base data-[state=active]:color-active data-[state=active]:border-primary-500 dark:data-[state=active]:border-primary-400`])},{default:P(()=>[t.icon?(z(),B(`span`,{key:0,class:k(t.icon),"aria-hidden":`true`},null,2)):W(``,!0),ws(` `+A(t.label??t.value)+` `,1),t.count==null?W(``,!0):(z(),B(`span`,rT,A(t.count),1))]),_:2},1032,[`value`,`as`,`href`,`disabled`,`class`]))),128)),e.variant===`underline`?(z(),V(N(sh),{key:0,class:`rounded-full bg-primary-500 h-0.5 w-[--reka-tabs-indicator-size] translate-x-[--reka-tabs-indicator-position] transition-all duration-200 bottom-0 left-0 absolute`})):W(``,!0)]),_:1},8,[`class`]),L(n.$slots,`default`),(z(!0),B(R,null,ma(e.tabs,t=>(z(),B(R,{key:`panel-${t.value}`},[n.$slots[t.value]?(z(),V(N(oh),{key:0,value:t.value,"force-mount":!e.lazy||void 0,class:`py-3 outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40`},{default:P(()=>[L(n.$slots,t.value)]),_:2},1032,[`value`,`force-mount`])):W(``,!0)],64))),128))]),_:3},8,[`modelValue`,`class`]))}}),aT={key:0,class:`flex-1 min-w-0`},oT={key:1,class:`flex gap-1 items-center`},sT=I({__name:`LayoutToolbar`,props:{sticky:{type:Boolean,default:!0},glass:{type:Boolean,default:!0}},setup(e){return(t,n)=>(z(),B(`div`,{class:k([`px-3 py-2 border-b border-base flex gap-3 items-center`,[e.sticky?`sticky top-0 z-nav`:``,e.glass?`bg-glass`:`bg-base`]])},[L(t.$slots,`start`,{},()=>[L(t.$slots,`default`)]),t.$slots.search?(z(),B(`div`,aT,[L(t.$slots,`search`)])):W(``,!0),t.$slots.end?(z(),B(`div`,oT,[L(t.$slots,`end`)])):W(``,!0)],2))}}),cT={class:`whitespace-nowrap text-sm font-medium`},lT={class:`whitespace-nowrap op-fade text-xs`},uT=I({__name:`Toolbar`,props:Fa({total:{},filtered:{},canWrite:{type:Boolean},isStatic:{type:Boolean},readOnly:{type:Boolean},uploading:{type:Boolean},selectedCount:{}},{search:{default:``},searchModifiers:{},view:{default:`grid`},viewModifiers:{}}),emits:Fa([`upload`,`newFolder`,`bulkDelete`,`clearSelection`],[`update:search`,`update:view`]),setup(e,{emit:t}){let n=t,r=ro(e,`search`),i=ro(e,`view`),a=[{value:`grid`,icon:`i-ph-grid-four-duotone`,label:`Grid`},{value:`list`,icon:`i-ph-list-duotone`,label:`List`}];return(t,o)=>(z(),V(sT,{glass:!1,class:`h-nav`},{search:P(()=>[U(Du,{modelValue:r.value,"onUpdate:modelValue":o[0]||=e=>r.value=e,icon:`i-ph-magnifying-glass`,placeholder:`Search assets…`,size:`sm`,clearable:``,class:`max-w-80 w-full`},null,8,[`modelValue`])]),end:P(()=>[e.selectedCount>0?(z(),B(R,{key:0},[H(`span`,cT,A(e.selectedCount)+` selected`,1),U(Tu,{size:`sm`,class:`h-7! py-0! text-error border-error/30!`,icon:`i-ph-trash-duotone`,onClick:o[1]||=e=>n(`bulkDelete`)},{default:P(()=>[...o[6]||=[ws(` Delete `,-1)]]),_:1}),U(Tu,{variant:`text`,onClick:o[2]||=e=>n(`clearSelection`)},{default:P(()=>[...o[7]||=[ws(` Cancel `,-1)]]),_:1})],64)):(z(),B(R,{key:1},[H(`span`,lT,[r.value?(z(),B(R,{key:0},[ws(A(e.filtered)+` matched · `,1)],64)):W(``,!0),ws(A(e.total)+` assets `,1)]),e.canWrite?(z(),V(dg,{key:0,icon:`i-ph-folder-plus-duotone`,label:`New folder`,tooltip:`New folder`,onClick:o[3]||=e=>n(`newFolder`)})):W(``,!0),e.canWrite?(z(),V(dg,{key:1,icon:`i-ph-cloud-arrow-up-duotone`,label:`Upload`,tooltip:`Upload`,onClick:o[4]||=e=>n(`upload`)})):W(``,!0),U(iT,{modelValue:i.value,"onUpdate:modelValue":o[5]||=e=>i.value=e,tabs:a,variant:`segment`},null,8,[`modelValue`])],64))]),default:P(()=>[o[8]||=H(`span`,{class:`flex shrink-0 select-none items-center gap-1.5 text-sm font-semibold`},[H(`span`,{class:`i-ph-image-square-duotone text-base color-active`}),H(`span`,null,`Assets`)],-1),e.isStatic?(z(),V(nT,{key:0,text:`static`,class:`text-xs`})):W(``,!0),e.readOnly?(z(),V(nT,{key:1,text:`read-only`,class:`text-xs`})):W(``,!0),e.uploading?(z(),V(nT,{key:2,text:`uploading…`,class:`text-xs`})):W(``,!0)]),_:1}))}}),dT={key:0,class:`flex shrink-0 flex-wrap items-center gap-2 border-b border-base bg-secondary px-3 py-1.5`},fT=[`title`,`aria-pressed`,`onClick`],pT={class:`op-fade`},mT=I({__name:`TypeFilter`,props:{items:{}},emits:[`toggle`],setup(e,{emit:t}){let n=t;return(t,r)=>e.items.length>1?(z(),B(`div`,dT,[(z(!0),B(R,null,ma(e.items,({type:e,count:t,checked:r})=>(z(),B(`button`,{key:e,type:`button`,title:`${N(m_)[e].label} (${t})`,"aria-pressed":r,class:k([`flex select-none items-center gap-1.5 rounded-md border border-base px-2 py-1 text-xs transition`,r?`bg-active`:`op50 grayscale hover:op-100`]),onClick:t=>n(`toggle`,e)},[H(`span`,{class:k(N(m_)[e].icon)},null,2),H(`span`,null,A(N(m_)[e].label),1),H(`span`,pT,A(t),1)],10,fT))),128))])):W(``,!0)}}),hT={bus:{agentManifestChanged:`agent:manifest:changed`,agentToolRegistered:`agent:tool:registered`,agentToolUnregistered:`agent:tool:unregistered`,agentResourceRegistered:`agent:resource:registered`,agentResourceUnregistered:`agent:resource:unregistered`},client:{isTrustedUpdated:`rpc:is-trusted:updated`,error:`rpc:error`,connectionStatus:`connection:status`,connectionError:`connection:error`},broadcast:{authRevoked:`devframe:auth:revoked`,clientStateUpdated:`devframe:rpc:client-state:updated`,clientStatePatch:`devframe:rpc:client-state:patch`,streamingChunk:`devframe:streaming:chunk`,streamingEnd:`devframe:streaming:end`,streamingUploadCancel:`devframe:streaming:upload-cancel`},inPageChannel:{panelStateUpdated:`devframe:in-page:panel-state:updated`,panelStatePatch:`devframe:in-page:panel-state:patch`},postMessage:{remoteAssetsError:`devframe:remote-assets-error`,inPageChannel:`devframe:in-page-channel`}},gT=`__connection.json`,_T=`__DEVFRAME_CONNECTION__`,vT=`x-birpc-session`,yT=`__rpc-dump/index.json`,bT=`devframe:services`,xT=`devframe_otp`,ST=`devframe_auth_token`;hT.postMessage.remoteAssetsError;function CT(e){return Vu(e)}var wT=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>CT(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}};function TT(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var ET={blue:TT(34,39),cyan:TT(36,39),gray:TT(90,39),green:TT(32,39),red:TT(31,39),yellow:TT(33,39),bold:TT(1,22),dim:TT(2,22),reset:TT(0,0),underline:TT(4,24)};function DT(e,...t){return typeof e==`function`?e(...t):e}var OT=Error.captureStackTrace,kT=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,OT?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function AT(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function jT(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||AT(r,i),s=(e={},n={})=>{let r=new kT({code:i,why:DT(a.why,e),fix:DT(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function MT(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
7
7
  `)}}var NT=MT(ET);function PT(e,{method:t=`warn`}={}){console[t](NT(e))}function FT(e){return jT({...e,reporters:[PT,...e.reporters??[]]})}var IT=FT({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function LT(e){if(e.agent&&e.jsonSerializable===!1)throw IT.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function RT(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function zT(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function BT(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r<t.length;r++){let i=t[r];if(!i)continue;let a=await RT(i,n[r]);if(a.issues)throw IT.DF0043({name:e,index:r,issues:zT(a.issues)})}return r}async function VT(e,t,n){if(!t)return n;let r=await RT(t,n);if(r.issues)throw IT.DF0044({name:e,issues:zT(r.issues)});return n}async function HT(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function UT(e,t){let n=e.handler;if(!n){let r=await HT(e,t);if(!r.handler)throw IT.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await BT(e.name,r,t),o=await a(...n);return await VT(e.name,i,o)}}var WT=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return UT(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw IT.DF0021({name:e.name});LT(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw IT.DF0022({name:e.name});LT(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await UT(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw IT.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function GT(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw qT(t,`undefined`,r,e);return n}return i!==null&&KT(i,r,e,t),n})}function KT(e,t,n,r){if(typeof e==`bigint`)throw qT(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw qT(r,`Map`,t,n);if(e instanceof Set)throw qT(r,`Set`,t,n);if(e instanceof Date)throw qT(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw qT(r,e.constructor?.name??`class instance`,t,n)}function qT(e,t,n,r){let i=JT(n,r);return IT.DF0020({name:e||`<anonymous>`,type:t,path:i})}function JT(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function YT(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var XT=/^[\w+.-]{2,}:\/\//;function ZT(e){return e.endsWith(`/`)?e:`${e}/`}function QT(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function $T(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?ZT(n)+e.replace(/^\.?\//,``):e);return n}function eE(e,t){if(!t||t===`/`||XT.test(e))return e;let n=QT(t);return e.startsWith(n)?e:$T(n,e)}function tE(e,t){let n=e.match(XT);return t+(n?e.slice(n[0].length):e)}var nE=`__DEVFRAME_CONNECTION_META__`,rE=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function iE(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function aE(){return iE(_T)}function oE(){return iE(nE)}function sE(e){if(e)return e;try{let e=localStorage.getItem(rE);if(e)return e}catch{}return iE(rE)}function cE(e){globalThis[_T]=e,globalThis[nE]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&lE(e.authToken)}function lE(e){try{localStorage.setItem(rE,e)}catch{}globalThis[rE]=e;let t=aE();t&&(globalThis[_T]={...t,authToken:e})}function uE(e){let t=eE(gT,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function dE(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function fE(){let e=aE();if(e)return dE(e,sE()??e.authToken??e.connectionMeta.authToken);let t=oE();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??uE(`./`),authToken:sE(t.authToken)}}async function pE(e={}){if(e.connection){let t=dE(e.connection,sE(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return cE(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:uE(t[0]??`./`),authToken:sE(e.authToken??e.connectionMeta.authToken)};return cE(n),n}let n=fE();if(n){let t=dE(n,sE(e.authToken??n.authToken??n.connectionMeta.authToken));return cE(t),t}let r=[];for(let n of t){let t=eE(gT,n),i=uE(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:sE(e.authToken??r.authToken)};return cE(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var mE=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function hE(e=xT){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function gE(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function _E(e=xT){let t=hE(e);return t&&gE(e),t}async function vE(e,t={}){let n=_E(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function yE(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(bT,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}var bE=Symbol.for(`immer-nothing`),xE=Symbol.for(`immer-draftable`),SE=Symbol.for(`immer-state`);function CE(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wE=Object,TE=wE.getPrototypeOf,EE=`constructor`,DE=`prototype`,OE=`configurable`,kE=`enumerable`,AE=`writable`,jE=`value`,ME=e=>!!e&&!!e[SE];function NE(e){return e?IE(e)||UE(e)||!!e[xE]||!!e[EE]?.[xE]||WE(e)||GE(e):!1}var PE=wE[DE][EE].toString(),FE=new WeakMap;function IE(e){if(!e||!KE(e))return!1;let t=TE(e);if(t===null||t===wE[DE])return!0;let n=wE.hasOwnProperty.call(t,EE)&&t[EE];if(n===Object)return!0;if(!qE(n))return!1;let r=FE.get(n);return r===void 0&&(r=Function.toString.call(n),FE.set(n,r)),r===PE}function LE(e,t,n=!0){RE(e)===0?(n?Reflect.ownKeys(e):wE.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function RE(e){let t=e[SE];return t?t.type_:UE(e)?1:WE(e)?2:GE(e)?3:0}var zE=(e,t,n=RE(e))=>n===2?e.has(t):wE[DE].hasOwnProperty.call(e,t),BE=(e,t,n=RE(e))=>n===2?e.get(t):e[t],VE=(e,t,n,r=RE(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function HE(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var UE=Array.isArray,WE=e=>e instanceof Map,GE=e=>e instanceof Set,KE=e=>typeof e==`object`,qE=e=>typeof e==`function`,JE=e=>typeof e==`boolean`;function YE(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var XE=e=>KE(e)?e?.[SE]:null,ZE=e=>e.copy_||e.base_,QE=e=>e.modified_?e.copy_:e.base_;function $E(e,t){if(WE(e))return new Map(e);if(GE(e))return new Set(e);if(UE(e))return Array[DE].slice.call(e);let n=IE(e);if(t===!0||t===`class_only`&&!n){let t=wE.getOwnPropertyDescriptors(e);delete t[SE];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[AE]===!1&&(a[AE]=!0,a[OE]=!0),(a.get||a.set)&&(t[i]={[OE]:!0,[AE]:!0,[kE]:a[kE],[jE]:e[i]})}return wE.create(TE(e),t)}{let t=TE(e);if(t!==null&&n)return{...e};let r=wE.create(t);return wE.assign(r,e)}}function eD(e,t=!1){return rD(e)||ME(e)||!NE(e)?e:(RE(e)>1&&wE.defineProperties(e,{set:nD,add:nD,clear:nD,delete:nD}),wE.freeze(e),t&&LE(e,(e,t)=>{eD(t,!0)},!1),e)}function tD(){CE(2)}var nD={[jE]:tD};function rD(e){return e===null||!KE(e)||wE.isFrozen(e)}var iD=`MapSet`,aD=`Patches`,oD=`ArrayMethods`,sD={};function cD(e){let t=sD[e];return t||CE(0,e),t}var lD=e=>!!sD[e];function uD(e,t){sD[e]||(sD[e]=t)}var dD,fD=()=>dD,pD=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:lD(iD)?cD(iD):void 0,arrayMethodsPlugin_:lD(oD)?cD(oD):void 0});function mD(e,t){t&&(e.patchPlugin_=cD(aD),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function hD(e){gD(e),e.drafts_.forEach(vD),e.drafts_=null}function gD(e){e===dD&&(dD=e.parent_)}var _D=e=>dD=pD(dD,e);function vD(e){let t=e[SE];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function yD(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[SE].modified_&&(hD(t),CE(4)),NE(e)&&(e=bD(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[SE].base_,e,t)}else e=bD(t,n);return xD(t,e,!0),hD(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===bE?void 0:e}function bD(e,t){if(rD(t))return t;let n=t[SE];if(!n)return kD(t,e.handledSet_,e);if(!CD(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);DD(n,e)}return n.copy_}function xD(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&eD(t,n)}function SD(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var CD=(e,t)=>e.scope_===t,wD=[];function TD(e,t,n,r){let i=ZE(e),a=e.type_;if(r!==void 0&&BE(i,r,a)===t){VE(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;LE(i,(e,n)=>{if(ME(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??wD;for(let e of o)VE(i,e,n,a)}function ED(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!CD(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=QE(i);TD(e,i.draft_??i,a,n),DD(i,r)})}function DD(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}SD(e)}}function OD(e,t,n){let{scope_:r}=e;if(ME(n)){let i=n[SE];CD(i,r)&&i.callbacks_.push(function(){RD(e),TD(e,n,QE(i),t)})}else NE(n)&&e.callbacks_.push(function(){let i=ZE(e);e.type_===3?i.has(n)&&kD(n,r.handledSet_,r):BE(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&kD(BE(e.copy_,t,e.type_),r.handledSet_,r)})}function kD(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ME(e)||t.has(e)||!NE(e)||rD(e)?e:(t.add(e),LE(e,(r,i)=>{if(ME(i)){let t=i[SE];CD(t,n)&&(VE(e,r,QE(t),e.type_),SD(t))}else NE(i)&&kD(i,t,n)}),e)}function AD(e,t){let n=UE(e),r={type_:+!!n,scope_:t?t.scope_:fD(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=jD;n&&(i=[r],a=MD);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var jD={get(e,t){if(t===SE)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=ZE(e);if(!zE(i,t,e.type_))return FD(e,i,t);let a=i[t];if(e.finalized_||!NE(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&YE(t))return a;if(a===ND(e.base_,t)||PD(e,t,a)){RD(e);let n=e.type_===1?+t:t,r=BD(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in ZE(e)},ownKeys(e){return Reflect.ownKeys(ZE(e))},set(e,t,n){let r=ID(ZE(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=ND(ZE(e),t),i=r?.[SE];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(HE(n,r)&&(n!==void 0||zE(e.base_,t,e.type_)))return!0;RD(e),LD(e)}return e.copy_[t]===n&&(n!==void 0||zE(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),OD(e,t,n),!0)},deleteProperty(e,t){return RD(e),ND(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),LD(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=ZE(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[AE]:!0,[OE]:e.type_!==1||t!==`length`,[kE]:r[kE],[jE]:n[t]}},defineProperty(){CE(11)},getPrototypeOf(e){return TE(e.base_)},setPrototypeOf(){CE(12)}},MD={};for(let e in jD){let t=jD[e];MD[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}MD.deleteProperty=function(e,t){return MD.set.call(this,e,t,void 0)},MD.set=function(e,t,n){return jD.set.call(this,e[0],t,n,e[0])};function ND(e,t){let n=e[SE];return(n?ZE(n):e)[t]}function PD(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!NE(n)||n[SE]?!1:e.baseRefs_.has(n)}function FD(e,t,n){let r=ID(t,n);return r?jE in r?r[jE]:r.get?.call(e.draft_):void 0}function ID(e,t){if(!(t in e))return;let n=TE(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=TE(n)}}function LD(e){e.modified_||(e.modified_=!0,e.parent_&&LD(e.parent_))}function RD(e){e.copy_||=(e.assigned_=new Map,$E(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var zD=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(qE(e)&&!qE(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}qE(t)||CE(6),n!==void 0&&!qE(n)&&CE(7);let r;if(NE(e)){let i=_D(this),a=BD(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?hD(i):gD(i)}return mD(i,n),yD(r,i)}if(!e||!KE(e)){if(r=t(e),r===void 0&&(r=e),r===bE&&(r=void 0),this.autoFreeze_&&eD(r,!0),n){let t=[],i=[];cD(aD).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}CE(1,e)},this.produceWithPatches=(e,t)=>{if(qE(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},JE(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),JE(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),JE(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){NE(e)||CE(8),ME(e)&&(e=VD(e));let t=_D(this),n=BD(t,e,void 0);return n[SE].isManual_=!0,gD(t),n}finishDraft(e,t){let n=e&&e[SE];(!n||!n.isManual_)&&CE(9);let{scope_:r}=n;return mD(r,t),yD(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=cD(aD).applyPatches_;return ME(e)?r(e,t):this.produce(e,e=>r(e,t))}};function BD(e,t,n,r){let[i,a]=WE(t)?cD(iD).proxyMap_(t,n):GE(t)?cD(iD).proxySet_(t,n):AD(t,n);return(n?.scope_??fD()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?ED(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function VD(e){return ME(e)||CE(10,e),HD(e)}function HD(e){if(!NE(e)||rD(e))return e;let t=e[SE],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=$E(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=$E(e,!0);return LE(n,(e,t)=>{VE(n,e,HD(t))},r),t&&(t.finalized_=!1),n}function UD(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=XE(BE(e,n.key_)),i=BE(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||zE(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=BE(n,r),!KE(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[SE];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;LE(e.assigned_,(e,l)=>{let u=BE(o,e,c),f=BE(s,e,c),p=l?zE(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===bE?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=RE(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===EE)&&CE(19),qE(o)&&n===DE&&CE(19),o=BE(o,n),(o===null||!KE(o))&&CE(18,i.join(`/`))}let s=RE(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:CE(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:CE(17,a)}}),e}function u(e){if(!NE(e))return e;if(UE(e))return e.map(u);if(WE(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(GE(e))return new Set(Array.from(e).map(u));let t=Object.create(TE(e));for(let n in e)t[n]=u(e[n]);return zE(e,xE)&&(t[xE]=e[xE]),t}function d(e){return ME(e)?u(e):e}uD(aD,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var WD=new zD,GD=WD.produce,KD=WD.produceWithPatches.bind(WD),qD=WD.applyPatches.bind(WD),JD=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function YD(e=21){let t=``,n=e;for(;n--;)t+=JD[Math.random()*64|0];return t}var XD=1e3;function ZD(e,t){if(e.add(t),e.size>XD){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function QD(e){let{enablePatches:t=!1}=e;t&&UD();let n=YT(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=YD())=>{i.has(t)||(UD(),r=qD(r,e),ZD(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=YD())=>{if(!i.has(a)){if(ZD(i,a),t){let[t,i]=KD(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=GD(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}function $D(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:hT.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:hT.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=QD({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(hT.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var eO=typeof self==`object`?self:globalThis,tO=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),nO=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function rO(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=tO.has(e)?eO[e]:void 0;return n(new(r??eO.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&nO.has(a))return n(new eO[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function iO(e){return rO(new Map,e)(0)}var aO=``,{toString:oO}={},{keys:sO}=Object;function cO(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=oO.call(e).slice(8,-1);switch(n){case`Array`:return[1,aO];case`Object`:return[2,aO];case`Date`:return[3,aO];case`RegExp`:return[4,aO];case`Map`:return[5,aO];case`Set`:return[6,aO];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function lO([e,t]){return e===0&&(t===`function`||t===`symbol`)}function uO(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=cO(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of sO(r))(e||!lO(cO(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(lO(cO(n))||lO(cO(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!lO(cO(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function dO(e,t={}){let n=[];return uO(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:fO,stringify:pO}=JSON,mO={json:!0,lossy:!0};function hO(e){return iO(fO(e))}function gO(e){return pO(dO(e,mO))}function _O(e){return iO(e)}function vO(e){return gO(e)}function yO(e){return hO(e)}var bO=new Map;function xO(e=bO){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?GT(n,r??``):`s:${vO(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?yO(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function SO(){}function CO(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function wO(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function TO(e){let{onConnected:t=SO,onError:n=SO,onDisconnected:r=SO,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${ST}=${encodeURIComponent(e.authToken)}`);let s=xO(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=CO(r);if(!e)break;r=e.rest;let{event:t,data:n}=wO(e.frame);n.length>0&&_(t,n.join(`
8
- `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[vT]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function EO(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var DO=Math.random.bind(Math),OO=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function kO(e=21){let t=``,n=e;for(;n--;)t+=OO[DO()*64|0];return t}var AO=6e4,jO=e=>e,MO=jO,{clearTimeout:NO,setTimeout:PO}=globalThis;function FO(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=jO,deserialize:s=MO,resolver:c,bind:l=`rpc`,timeout:u=AO,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=EO(),_=kO();s.i=_;let v;async function y(n=s){return u>=0&&(v=PO(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{NO(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(NO(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function IO(e,t){let{channel:n,rpcOptions:r={}}=t;return FO(e,{...n,timeout:-1,...r,proxify:!1})}function LO(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(hT.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new mE(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new mE(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(hT.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new mE(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(hT.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(hT.client.connectionError,e),m(new mE(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new mE(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=IO(a.functions,{channel:v,rpcOptions:o});a.register({name:hT.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new mE(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(hT.client.connectionError,e),m(e),i.emit(hT.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new mE(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(hT.client.connectionError,e)}return i.emit(hT.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(hT.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(hT.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(hT.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(hT.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function RO(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function zO(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=RO(n.sse,r??`./`,location);return LO({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>TO({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function BO(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:VO(r)?BO(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function VO(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function HO(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function UO(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function WO(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function GO(e){if(e.error)throw BO(e.error);return e.output}function KO(e){return e.some(e=>e!=null)}function qO(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function JO(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?_O(e):e}function a(e,t){return i(qO(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return WO(r)?GO(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(HO(r)){if(KO(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(UO(r)){let e=CT(n),i=r.records[e];if(i)return GO(await s(i,r.serialization));if(r.fallback)return GO(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!KO(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function YO(e){let t=JO(await e.fetchJsonFromBases(yT),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var XO=256,ZO=class extends Error{name=`StreamClosedError`};function QO(e={}){let t=e.id??YD(),n=Math.max(0,e.replayWindow??0),r=YT(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new ZO(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=ek(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function $O(e={}){let t=e.id??YD(),n=Math.max(1,e.highWaterMark??XO),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function ek(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var tk=``;function nk(e,t){return`${e}${tk}${t}`}function rk(e){let t=new Map,n=new Map;e.client.register({name:hT.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(nk(e,n))?._push(r,i)}}),e.client.register({name:hT.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=nk(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:hT.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=nk(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(hT.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(tk);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=nk(n,r),o=t.get(a);if(o)return o;let s=$O({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(hT.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=nk(t,r),a=n.get(i);if(a)return a;let o=QO({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function ik(){}var ak=new Map;function ok(e){let t=e.url;e.authToken&&(t=`${t}?${ST}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ik,onError:i=ik,onDisconnected:a=ik,definitions:o=ak}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=xO(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function sk(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return tE(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function ck(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=sk(n.websocket,r??`./`,location);return LO({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>ok({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function lk(e){return e.includes(`:`)}function uk(e,t){return lk(t)?t:`${e}:${t}`}function dk(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function fk(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return dk(a)}function pk(e,t){return{global:fk(e,t,`global`),project:fk(e,t,`project`)}}function mk(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(lk(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(uk(t,n),...r)),callEvent:((n,...r)=>e.callEvent(uk(t,n),...r)),callOptional:((n,...r)=>e.callOptional(uk(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(uk(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(uk(t,n),r,i),upload:(n,r)=>e.streaming.upload(uk(t,n),r)}},settings:pk(e,t),scope:e.scope}}var hk=128;function gk(e){return e.replace(/[^\w-]+/g,`_`).slice(0,hk)}var _k=Object.freeze({type:`object`,additionalProperties:!0});function vk(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return _k}return _k}function yk(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=vk(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function bk(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function xk(e,t){return bk(e,t)??[e]}function Sk(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Ck(e,t={}){let n=t.modelContext??Sk();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=gk(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=r.registerTool({name:o,description:n.description,inputSchema:yk(t.args),annotations:{title:n.title??t.name,readOnlyHint:wk(t,n)===`read`,destructiveHint:wk(t,n)===`destructive`},execute:n=>Tk(t,e.context,n)},{signal:c.signal});l&&`then`in l&&l.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),l&&`unregister`in l&&typeof l.unregister==`function`&&l.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}function wk(e,t){if(t.safety)return t.safety;let n=e.type??`query`;return n===`static`||n===`query`?`read`:`action`}async function Tk(e,t,n){try{let r=xk(n,e.args?.length);return{content:[{type:`text`,text:Ek(await(await UT(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Dk(e)}]}}}function Ek(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Dk(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Ok(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function kk(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=YT(),a=Array.isArray(t)?t:[t],o=await pE(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new wT({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new WT(f),m=e.webmcp===!1?void 0:Ck(p);async function h(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(eE(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let g={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},_=Ok(e.transport??`auto`,s),v=_===`static`?await YO({fetchJsonFromBases:h}):_===`sse`?zO({...g,sseOptions:e.sseOptions}):ck({...g,wsOptions:e.wsOptions}),y;try{y=new BroadcastChannel(`devframe-auth`)}catch{}let b,x=!1;function S(e){return((...t)=>x||!b?e(...t):b.then(()=>e(...t)))}function C(){try{m?.()}finally{try{y?.close()}finally{v.close?.()}}}let w={events:i,get isTrusted(){return v.isTrusted},get status(){return v.status},get connectionError(){return v.connectionError},get transport(){return v.transport??_},get connection(){return o},connectionMeta:s,ensureTrusted:v.ensureTrusted,requestTrust:v.requestTrust,requestTrustWithToken:async e=>(lE(e),o={...o,authToken:e},v.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await v.requestTrustWithCode(e);if(!t)return!1;lE(t),o={...o,authToken:t};try{y?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>v.requestAuthCode(e),call:S(v.call),callEvent:S(v.callEvent),callOptional:S(v.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:C};w.sharedState=$D(w),w.streaming=rk(w),w.services=yE(w);let T=new Map;w.scope=(e=>{if(!e)return w;let t=T.get(e);return t||(t=mk(w,e),T.set(e,t)),t}),f.rpc=w;function E(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function D(){if(e.simpleAuth!==!1&&E()&&typeof globalThis.prompt==`function`)for(await w.requestAuthCode().catch(()=>{});!w.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await w.requestTrustWithCode(t))return}}async function ee(){let t=await v.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await vE(w,{param:n}):!1;t||r||w.isTrusted||await D()}return b=ee().then(()=>{x=!0},()=>{x=!0}),y&&(y.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&w.requestTrustWithToken(e.data.authToken)}),w}var Ak=kk,jk=`devframes:plugin:assets:changed`;function Mk(){let e=dn(null),t=dn(null),n=dn(null),r=dn(!0),i=dn(null),a=dn(!1),o=dn(`connecting`);async function s(){let a=e.value;if(a)try{let[e,r]=await Promise.all([a.call(`devframes:plugin:assets:list`),a.call(`devframes:plugin:assets:capabilities`)]);t.value=e,n.value=r,i.value=null}catch(e){i.value=e instanceof Error?e.message:String(e)}finally{r.value=!1}}async function c(){let t=await Ak();e.value=t,a.value=t.connectionMeta.backend===`static`,o.value=t.status,t.events.on(`connection:status`,()=>{o.value=t.status}),await t.ensureTrusted();let n=t.client.definitions.get(jk);if(n){let e=n.handler;n.handler=(...t)=>(s(),e?.(...t))}else t.client.register({name:jk,type:`action`,handler:()=>{s()}});await s(),t.events.on(`rpc:is-trusted:updated`,e=>{e&&s()})}return{rpc:e,assets:t,capabilities:n,loading:r,error:i,isStatic:a,status:o,connect:c,refresh:s}}function Nk(e){return Array.from(e.dataTransfer?.types??[]).includes(`Files`)}function Pk(e,t){let n=M(!1),r=0;function i(t){e()&&Nk(t)&&(t.preventDefault(),r++,n.value=!0)}function a(t){e()&&Nk(t)&&t.preventDefault()}function o(t){e()&&Nk(t)&&(r=Math.max(0,r-1),r===0&&(n.value=!1))}function s(i){e()&&Nk(i)&&(i.preventDefault(),r=0,n.value=!1,i.dataTransfer?.files?.length&&t(i.dataTransfer.files))}return Zi(()=>{window.addEventListener(`dragenter`,i),window.addEventListener(`dragover`,a),window.addEventListener(`dragleave`,o),window.addEventListener(`drop`,s)}),ea(()=>{window.removeEventListener(`dragenter`,i),window.removeEventListener(`dragover`,a),window.removeEventListener(`dragleave`,o),window.removeEventListener(`drop`,s)}),{dragging:n}}function Fk(e,t){let n=M((()=>{try{let n=localStorage.getItem(e);return n?JSON.parse(n):t}catch{return t}})());return F(n,t=>{try{localStorage.setItem(e,JSON.stringify(t))}catch{}},{deep:!0}),n}function Ik(e,t){let n=M(!1),r=M([]);async function i(i){let a=e.value;if(!a||i.length===0)return[];n.value=!0;let o=[];try{for(let{file:e,targetPath:t}of i)try{let{uploadId:n}=await a.call(`devframes:plugin:assets:upload`,{path:t}),r=a.streaming.upload(`devframes:plugin:assets:upload`,n);await e.stream().pipeTo(r.writable,{signal:r.signal})}catch(e){o.push(`${t}: ${e instanceof Error?e.message:String(e)}`)}return r.value=o,o.length<i.length&&t(),o}finally{n.value=!1}}return{uploading:n,errors:r,uploadFiles:i}}function Lk(...e){return e.filter(Boolean).join(` `)}var Rk={connecting:{icon:`i-ph-plugs-connected-duotone`,title:`Connecting…`,body:`Establishing a connection to the devframe server.`,reloadable:!1,spin:!0},disconnected:{icon:`i-ph-plugs-duotone`,title:`Disconnected`,body:`Lost the connection to the devframe server. Reload once it is back up.`,reloadable:!0,spin:!1},unauthorized:{icon:`i-ph-lock-key-duotone`,title:`Not authorized`,body:`This client isn’t authorized. Reopen the link printed by your dev server, then reload.`,reloadable:!0,spin:!1},error:{icon:`i-ph-warning-octagon-duotone`,title:`Connection failed`,body:`Could not reach the devframe server.`,reloadable:!0,spin:!1}};function zk(e){return e===`connected`?null:Rk[e]}function Bk(e){return Lk(`flex flex-col items-center justify-center gap-4 bg-base p-8 text-center`,e)}function Vk(e=!1,t){return Lk(`text-4xl color-active`,e&&`animate-pulse`,t)}function Hk(e){return Lk(`text-lg font-medium color-base`,e)}function Uk(e){return Lk(`max-w-sm text-sm color-muted`,e)}var Wk={key:1,class:`flex h-screen flex-col bg-base color-base`},Gk={key:0,class:`shrink-0 border-b border-base bg-error/10 px-3 py-1 text-xs text-error`},Kk={class:`flex min-h-0 flex-1`},qk={class:`min-h-0 flex-1 overflow-auto`},Jk={key:0,class:`flex h-full items-center justify-center op-fade text-sm`},Yk={key:1,class:`flex h-full items-center justify-center op-fade text-sm`},Xk={class:`h-full min-h-0 overflow-y-auto`},Zk={key:1,class:`pointer-events-none fixed inset-0 z-drawer-content flex items-center justify-center bg-base/80 backdrop-blur-sm`},Qk=320,$k=900,eA=480,tA=I({__name:`App`,setup(e){let{assets:t,capabilities:n,loading:r,error:i,isStatic:a,status:o,rpc:s,connect:c,refresh:l}=Mk();Zi(c);let u=Fk(`devframes:plugin:assets:view`,`grid`),d=Fk(`devframes:plugin:assets:panelWidth`,eA),f=M(``),p=M({}),m=M(),h=M(new Set),g=M(!1),_=M(``),v=M(!1),y=M(null),{uploading:b,errors:x,uploadFiles:S}=Ik(s,()=>void l()),C=G(()=>n.value?.write??!1),w=G(()=>!C.value&&!r.value),T=G(()=>zk(o.value)),E=G(()=>i.value??(x.value.length?x.value.join(` · `):null)),D=G(()=>{let e=new Map;for(let n of t.value??[])e.set(n.type,(e.get(n.type)??0)+1);return p_.filter(t=>e.has(t)).map(t=>({type:t,count:e.get(t),checked:p.value[t]!==!1}))}),ee=G(()=>{let e=t.value??[],n=f.value.trim().toLowerCase();return e.filter(e=>!(p.value[e.type]===!1||n&&!e.path.toLowerCase().includes(n)))});function te(e){p.value={...p.value,[e]:p.value[e]===!1}}function ne(e){let t=new Set(h.value);t.has(e)?t.delete(e):t.add(e),h.value=t}function O(e){S(Array.from(e).map(e=>({file:e,targetPath:e.name})))}let{dragging:re}=Pk(()=>C.value,O);function ie(e){let t=e.target;t.files?.length&&O(t.files),t.value=``}async function ae(){s.value&&(await s.value.call(`devframes:plugin:assets:delete`,{paths:Array.from(h.value)}),h.value=new Set,v.value=!1,await l())}async function oe(){s.value&&_.value.trim()&&(await s.value.call(`devframes:plugin:assets:mkdir`,{path:_.value.trim()}),_.value=``,g.value=!1,await l())}function se(e){e.preventDefault();let t=e.clientX,n=d.value;document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`;function r(e){d.value=Math.min(Math.max(n+(t-e.clientX),Qk),$k)}function i(){document.body.style.userSelect=``,document.body.style.cursor=``,window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i)}window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i)}return(e,n)=>T.value?(z(),B(`div`,{key:0,class:k(N(Bk)(`h-screen`))},[H(`span`,{class:k([N(Vk)(T.value.spin),T.value.icon])},null,2),H(`div`,{class:k(N(Hk)())},A(T.value.title),3),H(`div`,{class:k(N(Uk)())},A(T.value.body),3),T.value.reloadable?(z(),V(Tu,{key:0,onClick:n[0]||=()=>e.location.reload()},{default:P(()=>[...n[16]||=[ws(` Reload `,-1)]]),_:1})):W(``,!0)],2)):(z(),B(`div`,Wk,[U(uT,{search:f.value,"onUpdate:search":n[1]||=e=>f.value=e,view:N(u),"onUpdate:view":n[2]||=e=>un(u)?u.value=e:null,total:N(t)?.length??0,filtered:ee.value.length,"can-write":C.value,"is-static":N(a),"read-only":w.value,uploading:N(b),"selected-count":h.value.size,onUpload:n[3]||=e=>y.value?.click(),onNewFolder:n[4]||=e=>g.value=!0,onBulkDelete:n[5]||=e=>v.value=!0,onClearSelection:n[6]||=e=>h.value=new Set},null,8,[`search`,`view`,`total`,`filtered`,`can-write`,`is-static`,`read-only`,`uploading`,`selected-count`]),U(mT,{items:D.value,onToggle:te},null,8,[`items`]),E.value?(z(),B(`div`,Gk,A(E.value),1)):W(``,!0),H(`div`,Kk,[H(`main`,qk,[N(r)?(z(),B(`div`,Jk,` Loading assets… `)):ee.value.length===0?(z(),B(`div`,Yk,` No assets found. `)):N(u)===`grid`?(z(),V(f_,{key:2,assets:ee.value,selectable:C.value,"selected-paths":h.value,onSelectToggle:ne,onSelect:n[7]||=e=>m.value=e},null,8,[`assets`,`selectable`,`selected-paths`])):(z(),V(__,{key:3,assets:ee.value,"selected-path":m.value?.path,selectable:C.value,"selected-paths":h.value,onSelectToggle:ne,onSelect:n[8]||=e=>m.value=e},null,8,[`assets`,`selected-path`,`selectable`,`selected-paths`]))]),m.value?(z(),B(`aside`,{key:0,class:`relative min-h-0 shrink-0 border-l border-base bg-base`,style:he({width:`${N(d)}px`})},[H(`div`,{class:`absolute left-0 top-0 z-10 h-full w-1.5 -translate-x-1/2 cursor-col-resize hover:bg-active`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize details panel`,onPointerdown:se},null,32),H(`div`,Xk,[U($g,{asset:m.value,rpc:N(s),"can-write":C.value,onClose:n[9]||=e=>m.value=void 0,onChanged:n[10]||=()=>void N(l)()},null,8,[`asset`,`rpc`,`can-write`])])],4)):W(``,!0)]),H(`input`,{ref_key:`fileInput`,ref:y,type:`file`,multiple:``,class:`hidden`,onChange:ie},null,544),N(re)?(z(),B(`div`,Zk,[...n[17]||=[H(`div`,{class:`flex flex-col items-center gap-2 rounded-xl border-2 border-active border-dashed px-10 py-8 text-lg color-active`},[H(`span`,{class:`i-ph-cloud-arrow-up-duotone text-3xl`}),H(`span`,null,`Drop files to upload`)],-1)]])):W(``,!0),U(hh,{open:g.value,"onUpdate:open":n[13]||=e=>g.value=e,title:`New folder`},{footer:P(()=>[U(Tu,{onClick:n[12]||=e=>g.value=!1},{default:P(()=>[...n[18]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{variant:`primary`,disabled:!_.value.trim(),onClick:oe},{default:P(()=>[...n[19]||=[ws(` Create `,-1)]]),_:1},8,[`disabled`])]),default:P(()=>[U(Du,{modelValue:_.value,"onUpdate:modelValue":n[11]||=e=>_.value=e,placeholder:`Folder name`,onKeydown:cu(oe,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`open`]),U(hh,{open:v.value,"onUpdate:open":n[15]||=e=>v.value=e,title:`Delete assets`},{footer:P(()=>[U(Tu,{onClick:n[14]||=e=>v.value=!1},{default:P(()=>[...n[20]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{class:`text-error border-error/30!`,onClick:ae},{default:P(()=>[...n[21]||=[ws(` Delete `,-1)]]),_:1})]),default:P(()=>[H(`p`,null,`Are you sure you want to delete `+A(h.value.size)+` asset(s)?`,1)]),_:1},8,[`open`])]))}}),nA=window.matchMedia(`(prefers-color-scheme: dark)`);function rA(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}rA(nA.matches),nA.addEventListener(`change`,e=>rA(e.matches)),gu(tA).mount(`#app`);
8
+ `))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[vT]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function EO(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var DO=Math.random.bind(Math),OO=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function kO(e=21){let t=``,n=e;for(;n--;)t+=OO[DO()*64|0];return t}var AO=6e4,jO=e=>e,MO=jO,{clearTimeout:NO,setTimeout:PO}=globalThis;function FO(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=jO,deserialize:s=MO,resolver:c,bind:l=`rpc`,timeout:u=AO,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=EO(),_=kO();s.i=_;let v;async function y(n=s){return u>=0&&(v=PO(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{NO(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(NO(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function IO(e,t){let{channel:n,rpcOptions:r={}}=t;return FO(e,{...n,timeout:-1,...r,proxify:!1})}function LO(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(hT.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new mE(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new mE(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(hT.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new mE(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(hT.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(hT.client.connectionError,e),m(new mE(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new mE(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=IO(a.functions,{channel:v,rpcOptions:o});a.register({name:hT.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new mE(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(hT.client.connectionError,e),m(e),i.emit(hT.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new mE(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(hT.client.connectionError,e)}return i.emit(hT.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(hT.client.isTrustedUpdated,!0)),t}async function C(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function w(){return c?!0:x(b??``)}async function T(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:w,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:C,ensureTrusted:T,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(hT.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(hT.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(hT.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function RO(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function zO(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=RO(n.sse,r??`./`,location);return LO({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>TO({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function BO(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:VO(r)?BO(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function VO(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function HO(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function UO(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function WO(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function GO(e){if(e.error)throw BO(e.error);return e.output}function KO(e){return e.some(e=>e!=null)}function qO(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function JO(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?_O(e):e}function a(e,t){return i(qO(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return WO(r)?GO(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(HO(r)){if(KO(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(UO(r)){let e=CT(n),i=r.records[e];if(i)return GO(await s(i,r.serialization));if(r.fallback)return GO(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!KO(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function YO(e){let t=JO(await e.fetchJsonFromBases(yT),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var XO=256,ZO=class extends Error{name=`StreamClosedError`};function QO(e={}){let t=e.id??YD(),n=Math.max(0,e.replayWindow??0),r=YT(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new ZO(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=ek(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function $O(e={}){let t=e.id??YD(),n=Math.max(1,e.highWaterMark??XO),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function ek(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var tk=``;function nk(e,t){return`${e}${tk}${t}`}function rk(e){let t=new Map,n=new Map;e.client.register({name:hT.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(nk(e,n))?._push(r,i)}}),e.client.register({name:hT.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=nk(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:hT.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=nk(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(hT.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(tk);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=nk(n,r),o=t.get(a);if(o)return o;let s=$O({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(hT.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=nk(t,r),a=n.get(i);if(a)return a;let o=QO({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function ik(){}var ak=new Map;function ok(e){let t=e.url;e.authToken&&(t=`${t}?${ST}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=ik,onError:i=ik,onDisconnected:a=ik,definitions:o=ak}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=xO(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function sk(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return tE(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function ck(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=sk(n.websocket,r??`./`,location);return LO({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>ok({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function lk(e){return e.includes(`:`)}function uk(e,t){return lk(t)?t:`${e}:${t}`}function dk(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function fk(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return dk(a)}function pk(e,t){return{global:fk(e,t,`global`),project:fk(e,t,`project`)}}function mk(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(lk(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(uk(t,n),...r)),callEvent:((n,...r)=>e.callEvent(uk(t,n),...r)),callOptional:((n,...r)=>e.callOptional(uk(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(uk(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(uk(t,n),r,i),upload:(n,r)=>e.streaming.upload(uk(t,n),r)}},settings:pk(e,t),scope:e.scope}}var hk=128;function gk(e){return e.replace(/[^\w-]+/g,`_`).slice(0,hk)}function _k(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var vk=Object.freeze({type:`object`,additionalProperties:!0});function yk(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return vk}return vk}function bk(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let i=`arg${r}`;t[i]=yk(e[r]),n.push(i)}return{type:`object`,properties:t,required:n,additionalProperties:!1}}function xk(e,t){if(Array.isArray(e))return e;if(e==null)return[];if(typeof e!=`object`)return;let n=e;if(t!=null)return Array.from({length:t},(e,t)=>n[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Sk(e,t){return xk(e,t)??[e]}function Ck(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function wk(e,t={}){let n=t.modelContext??Ck();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=gk(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=_k(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:bk(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Tk(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Tk(e,t,n){try{let r=Sk(n,e.args?.length);return{content:[{type:`text`,text:Ek(await(await UT(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Dk(e)}]}}}function Ek(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Dk(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}var Ok=`modulepreload`,kk=function(e,t){return new URL(e,t).href},Ak={},jk=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=kk(t,n),t=s(t),t in Ak)return;Ak[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ok,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Mk(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Nk(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=YT(),a=Array.isArray(t)?t:[t],o=await pE(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new wT({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new WT(f),m=e.webmcp===!1?void 0:wk(p),h,g=!1;async function _(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(eE(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let v={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},y=Mk(e.transport??`auto`,s),b=y===`static`?await YO({fetchJsonFromBases:_}):y===`sse`?zO({...v,sseOptions:e.sseOptions}):ck({...v,wsOptions:e.wsOptions}),x;try{x=new BroadcastChannel(`devframe-auth`)}catch{}let S,C=!1;function w(e){return((...t)=>C||!S?e(...t):S.then(()=>e(...t)))}function T(){g=!0;try{h?.(),m?.()}finally{try{x?.close()}finally{b.close?.()}}}let E={events:i,get isTrusted(){return b.isTrusted},get status(){return b.status},get connectionError(){return b.connectionError},get transport(){return b.transport??y},get connection(){return o},connectionMeta:s,ensureTrusted:b.ensureTrusted,requestTrust:b.requestTrust,requestTrustWithToken:async e=>(lE(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;lE(t),o={...o,authToken:t};try{x?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:w(b.call),callEvent:w(b.callEvent),callOptional:w(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:T};E.sharedState=$D(E),E.streaming=rk(E),E.services=yE(E);let D=new Map;E.scope=(e=>{if(!e)return E;let t=D.get(e);return t||(t=mk(E,e),D.set(e,t)),t}),f.rpc=E;function ee(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function te(){if(e.simpleAuth!==!1&&ee()&&typeof globalThis.prompt==`function`)for(await E.requestAuthCode().catch(()=>{});!E.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await E.requestTrustWithCode(t))return}}async function ne(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await vE(E,{param:n}):!1;t||r||E.isTrusted||await te()}return S=ne().then(()=>{C=!0},()=>{C=!0}),s.mcp&&jk(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-MHLFaktg.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(E))}).catch(()=>{}),x&&(x.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&E.requestTrustWithToken(e.data.authToken)}),E}var Pk=Nk,Fk=`devframes:plugin:assets:changed`;function Ik(){let e=dn(null),t=dn(null),n=dn(null),r=dn(!0),i=dn(null),a=dn(!1),o=dn(`connecting`);async function s(){let a=e.value;if(a)try{let[e,r]=await Promise.all([a.call(`devframes:plugin:assets:list`),a.call(`devframes:plugin:assets:capabilities`)]);t.value=e,n.value=r,i.value=null}catch(e){i.value=e instanceof Error?e.message:String(e)}finally{r.value=!1}}async function c(){let t=await Pk();e.value=t,a.value=t.connectionMeta.backend===`static`,o.value=t.status,t.events.on(`connection:status`,()=>{o.value=t.status}),await t.ensureTrusted();let n=t.client.definitions.get(Fk);if(n){let e=n.handler;n.handler=(...t)=>(s(),e?.(...t))}else t.client.register({name:Fk,type:`action`,handler:()=>{s()}});await s(),t.events.on(`rpc:is-trusted:updated`,e=>{e&&s()})}return{rpc:e,assets:t,capabilities:n,loading:r,error:i,isStatic:a,status:o,connect:c,refresh:s}}function Lk(e){return Array.from(e.dataTransfer?.types??[]).includes(`Files`)}function Rk(e,t){let n=M(!1),r=0;function i(t){e()&&Lk(t)&&(t.preventDefault(),r++,n.value=!0)}function a(t){e()&&Lk(t)&&t.preventDefault()}function o(t){e()&&Lk(t)&&(r=Math.max(0,r-1),r===0&&(n.value=!1))}function s(i){e()&&Lk(i)&&(i.preventDefault(),r=0,n.value=!1,i.dataTransfer?.files?.length&&t(i.dataTransfer.files))}return Zi(()=>{window.addEventListener(`dragenter`,i),window.addEventListener(`dragover`,a),window.addEventListener(`dragleave`,o),window.addEventListener(`drop`,s)}),ea(()=>{window.removeEventListener(`dragenter`,i),window.removeEventListener(`dragover`,a),window.removeEventListener(`dragleave`,o),window.removeEventListener(`drop`,s)}),{dragging:n}}function zk(e,t){let n=M((()=>{try{let n=localStorage.getItem(e);return n?JSON.parse(n):t}catch{return t}})());return F(n,t=>{try{localStorage.setItem(e,JSON.stringify(t))}catch{}},{deep:!0}),n}function Bk(e,t){let n=M(!1),r=M([]);async function i(i){let a=e.value;if(!a||i.length===0)return[];n.value=!0;let o=[];try{for(let{file:e,targetPath:t}of i)try{let{uploadId:n}=await a.call(`devframes:plugin:assets:upload`,{path:t}),r=a.streaming.upload(`devframes:plugin:assets:upload`,n);await e.stream().pipeTo(r.writable,{signal:r.signal})}catch(e){o.push(`${t}: ${e instanceof Error?e.message:String(e)}`)}return r.value=o,o.length<i.length&&t(),o}finally{n.value=!1}}return{uploading:n,errors:r,uploadFiles:i}}function Vk(...e){return e.filter(Boolean).join(` `)}var Hk={connecting:{icon:`i-ph-plugs-connected-duotone`,title:`Connecting…`,body:`Establishing a connection to the devframe server.`,reloadable:!1,spin:!0},disconnected:{icon:`i-ph-plugs-duotone`,title:`Disconnected`,body:`Lost the connection to the devframe server. Reload once it is back up.`,reloadable:!0,spin:!1},unauthorized:{icon:`i-ph-lock-key-duotone`,title:`Not authorized`,body:`This client isn’t authorized. Reopen the link printed by your dev server, then reload.`,reloadable:!0,spin:!1},error:{icon:`i-ph-warning-octagon-duotone`,title:`Connection failed`,body:`Could not reach the devframe server.`,reloadable:!0,spin:!1}};function Uk(e){return e===`connected`?null:Hk[e]}function Wk(e){return Vk(`flex flex-col items-center justify-center gap-4 bg-base p-8 text-center`,e)}function Gk(e=!1,t){return Vk(`text-4xl color-active`,e&&`animate-pulse`,t)}function Kk(e){return Vk(`text-lg font-medium color-base`,e)}function qk(e){return Vk(`max-w-sm text-sm color-muted`,e)}var Jk={key:1,class:`flex h-screen flex-col bg-base color-base`},Yk={key:0,class:`shrink-0 border-b border-base bg-error/10 px-3 py-1 text-xs text-error`},Xk={class:`flex min-h-0 flex-1`},Zk={class:`min-h-0 flex-1 overflow-auto`},Qk={key:0,class:`flex h-full items-center justify-center op-fade text-sm`},$k={key:1,class:`flex h-full items-center justify-center op-fade text-sm`},eA={class:`h-full min-h-0 overflow-y-auto`},tA={key:1,class:`pointer-events-none fixed inset-0 z-drawer-content flex items-center justify-center bg-base/80 backdrop-blur-sm`},nA=320,rA=900,iA=480,aA=I({__name:`App`,setup(e){let{assets:t,capabilities:n,loading:r,error:i,isStatic:a,status:o,rpc:s,connect:c,refresh:l}=Ik();Zi(c);let u=zk(`devframes:plugin:assets:view`,`grid`),d=zk(`devframes:plugin:assets:panelWidth`,iA),f=M(``),p=M({}),m=M(),h=M(new Set),g=M(!1),_=M(``),v=M(!1),y=M(null),{uploading:b,errors:x,uploadFiles:S}=Bk(s,()=>void l()),C=G(()=>n.value?.write??!1),w=G(()=>!C.value&&!r.value),T=G(()=>Uk(o.value)),E=G(()=>i.value??(x.value.length?x.value.join(` · `):null)),D=G(()=>{let e=new Map;for(let n of t.value??[])e.set(n.type,(e.get(n.type)??0)+1);return p_.filter(t=>e.has(t)).map(t=>({type:t,count:e.get(t),checked:p.value[t]!==!1}))}),ee=G(()=>{let e=t.value??[],n=f.value.trim().toLowerCase();return e.filter(e=>!(p.value[e.type]===!1||n&&!e.path.toLowerCase().includes(n)))});function te(e){p.value={...p.value,[e]:p.value[e]===!1}}function ne(e){let t=new Set(h.value);t.has(e)?t.delete(e):t.add(e),h.value=t}function O(e){S(Array.from(e).map(e=>({file:e,targetPath:e.name})))}let{dragging:re}=Rk(()=>C.value,O);function ie(e){let t=e.target;t.files?.length&&O(t.files),t.value=``}async function ae(){s.value&&(await s.value.call(`devframes:plugin:assets:delete`,{paths:Array.from(h.value)}),h.value=new Set,v.value=!1,await l())}async function oe(){s.value&&_.value.trim()&&(await s.value.call(`devframes:plugin:assets:mkdir`,{path:_.value.trim()}),_.value=``,g.value=!1,await l())}function se(e){e.preventDefault();let t=e.clientX,n=d.value;document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`;function r(e){d.value=Math.min(Math.max(n+(t-e.clientX),nA),rA)}function i(){document.body.style.userSelect=``,document.body.style.cursor=``,window.removeEventListener(`pointermove`,r),window.removeEventListener(`pointerup`,i)}window.addEventListener(`pointermove`,r),window.addEventListener(`pointerup`,i)}return(e,n)=>T.value?(z(),B(`div`,{key:0,class:k(N(Wk)(`h-screen`))},[H(`span`,{class:k([N(Gk)(T.value.spin),T.value.icon])},null,2),H(`div`,{class:k(N(Kk)())},A(T.value.title),3),H(`div`,{class:k(N(qk)())},A(T.value.body),3),T.value.reloadable?(z(),V(Tu,{key:0,onClick:n[0]||=()=>e.location.reload()},{default:P(()=>[...n[16]||=[ws(` Reload `,-1)]]),_:1})):W(``,!0)],2)):(z(),B(`div`,Jk,[U(uT,{search:f.value,"onUpdate:search":n[1]||=e=>f.value=e,view:N(u),"onUpdate:view":n[2]||=e=>un(u)?u.value=e:null,total:N(t)?.length??0,filtered:ee.value.length,"can-write":C.value,"is-static":N(a),"read-only":w.value,uploading:N(b),"selected-count":h.value.size,onUpload:n[3]||=e=>y.value?.click(),onNewFolder:n[4]||=e=>g.value=!0,onBulkDelete:n[5]||=e=>v.value=!0,onClearSelection:n[6]||=e=>h.value=new Set},null,8,[`search`,`view`,`total`,`filtered`,`can-write`,`is-static`,`read-only`,`uploading`,`selected-count`]),U(mT,{items:D.value,onToggle:te},null,8,[`items`]),E.value?(z(),B(`div`,Yk,A(E.value),1)):W(``,!0),H(`div`,Xk,[H(`main`,Zk,[N(r)?(z(),B(`div`,Qk,` Loading assets… `)):ee.value.length===0?(z(),B(`div`,$k,` No assets found. `)):N(u)===`grid`?(z(),V(f_,{key:2,assets:ee.value,selectable:C.value,"selected-paths":h.value,onSelectToggle:ne,onSelect:n[7]||=e=>m.value=e},null,8,[`assets`,`selectable`,`selected-paths`])):(z(),V(__,{key:3,assets:ee.value,"selected-path":m.value?.path,selectable:C.value,"selected-paths":h.value,onSelectToggle:ne,onSelect:n[8]||=e=>m.value=e},null,8,[`assets`,`selected-path`,`selectable`,`selected-paths`]))]),m.value?(z(),B(`aside`,{key:0,class:`relative min-h-0 shrink-0 border-l border-base bg-base`,style:he({width:`${N(d)}px`})},[H(`div`,{class:`absolute left-0 top-0 z-10 h-full w-1.5 -translate-x-1/2 cursor-col-resize hover:bg-active`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize details panel`,onPointerdown:se},null,32),H(`div`,eA,[U($g,{asset:m.value,rpc:N(s),"can-write":C.value,onClose:n[9]||=e=>m.value=void 0,onChanged:n[10]||=()=>void N(l)()},null,8,[`asset`,`rpc`,`can-write`])])],4)):W(``,!0)]),H(`input`,{ref_key:`fileInput`,ref:y,type:`file`,multiple:``,class:`hidden`,onChange:ie},null,544),N(re)?(z(),B(`div`,tA,[...n[17]||=[H(`div`,{class:`flex flex-col items-center gap-2 rounded-xl border-2 border-active border-dashed px-10 py-8 text-lg color-active`},[H(`span`,{class:`i-ph-cloud-arrow-up-duotone text-3xl`}),H(`span`,null,`Drop files to upload`)],-1)]])):W(``,!0),U(hh,{open:g.value,"onUpdate:open":n[13]||=e=>g.value=e,title:`New folder`},{footer:P(()=>[U(Tu,{onClick:n[12]||=e=>g.value=!1},{default:P(()=>[...n[18]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{variant:`primary`,disabled:!_.value.trim(),onClick:oe},{default:P(()=>[...n[19]||=[ws(` Create `,-1)]]),_:1},8,[`disabled`])]),default:P(()=>[U(Du,{modelValue:_.value,"onUpdate:modelValue":n[11]||=e=>_.value=e,placeholder:`Folder name`,onKeydown:cu(oe,[`enter`])},null,8,[`modelValue`])]),_:1},8,[`open`]),U(hh,{open:v.value,"onUpdate:open":n[15]||=e=>v.value=e,title:`Delete assets`},{footer:P(()=>[U(Tu,{onClick:n[14]||=e=>v.value=!1},{default:P(()=>[...n[20]||=[ws(` Cancel `,-1)]]),_:1}),U(Tu,{class:`text-error border-error/30!`,onClick:ae},{default:P(()=>[...n[21]||=[ws(` Delete `,-1)]]),_:1})]),default:P(()=>[H(`p`,null,`Are you sure you want to delete `+A(h.value.size)+` asset(s)?`,1)]),_:1},8,[`open`])]))}}),oA=window.matchMedia(`(prefers-color-scheme: dark)`);function sA(e){document.documentElement.classList.toggle(`dark`,e),document.documentElement.classList.toggle(`light`,!e)}sA(oA.matches),oA.addEventListener(`change`,e=>sA(e.matches)),gu(aA).mount(`#app`);export{YD as t};
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1" />
6
6
  <base href="./" />
7
7
  <title>Assets</title>
8
- <script type="module" crossorigin src="./assets/index-CxthQqQr.js"></script>
8
+ <script type="module" crossorigin src="./assets/index-B-gQ8V7h.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="./assets/index-DNwKGfoQ.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/plugin-assets--assets",
3
3
  "type": "module",
4
- "version": "0.10.0",
4
+ "version": "1.0.0",
5
5
  "description": "Prebuilt browser assets (SPA) for @devframes/plugin-assets, served on demand through devframe's remote-assets back-proxy.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",