@coreplane/switchboard 1.19.2 → 1.200.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/assets/config/config.example.yaml +9 -0
  2. package/dist/assets/deploy/cloudflare/package.json +1 -1
  3. package/dist/assets/deploy/cloudflare-resident/package.json +1 -1
  4. package/dist/assets/deploy/cloudflare-resident/worker.ts +1663 -456
  5. package/dist/assets/deploy/cloudflare-resident/wrangler.template.jsonc +12 -0
  6. package/dist/assets/deploy/cloudflare-sandbox/package.json +1 -1
  7. package/dist/assets/package-lock.json +11 -22
  8. package/dist/assets/package.json +1 -1
  9. package/dist/assets/project.json +1 -1
  10. package/dist/assets/source.json +3 -3
  11. package/dist/assets/src/core/schedules.ts +7 -2
  12. package/dist/assets/src/core/trace/attrs.ts +7 -0
  13. package/dist/assets/src/execution/residentDepsStore.ts +16 -0
  14. package/dist/assets/src/execution/residentIncarnation.ts +134 -0
  15. package/dist/assets/src/execution/residentInstanceId.ts +177 -0
  16. package/dist/assets/src/execution/residentStepPlan.ts +128 -0
  17. package/dist/assets/web/dist/.vite/manifest.json +18 -18
  18. package/dist/assets/web/dist/assets/CostsPage-CzutIHUw.js +1 -0
  19. package/dist/assets/web/dist/assets/{ResidentDetailPage-DvQ05AGa.js → ResidentDetailPage-Dw3e9u1u.js} +1 -1
  20. package/dist/assets/web/dist/assets/{ResidentsIndexPage-B3uxKUne.js → ResidentsIndexPage-D8NN4AFS.js} +1 -1
  21. package/dist/assets/web/dist/assets/{RunRoutePage-ty94olNM.js → RunRoutePage-C1TGcPCl.js} +1 -1
  22. package/dist/assets/web/dist/assets/{RunsIndexPage-CM-qxyQm.js → RunsIndexPage-D9iLpfAr.js} +1 -1
  23. package/dist/assets/web/dist/assets/{ScheduledPage-C1psvLD4.js → ScheduledPage-BJCtMp7H.js} +1 -1
  24. package/dist/assets/web/dist/assets/{StatusDot-DuoQnQeU.js → StatusDot-DvV0z_-s.js} +1 -1
  25. package/dist/assets/web/dist/assets/{Tooltip-BfLPyxQy.js → Tooltip-C7yR095Y.js} +1 -1
  26. package/dist/assets/web/dist/assets/{main-Bnbk_Rsg.js → main-DDu3Ig6S.js} +2 -2
  27. package/dist/cli.js +66 -9
  28. package/package.json +1 -1
  29. package/dist/assets/web/dist/assets/CostsPage-CTZcMYYx.js +0 -1
@@ -1 +1 @@
1
- import{c as e,g as t,l as n,m as r,o as i,p as a,s as o,u as s}from"./AppShell-Bk2gbvet.js";import{A as c,Ar as l,B as u,En as d,J as f,M as p,N as m,Pr as h,Vn as g,Vt as _,Yn as v,_ as y,ai as b,an as x,cr as S,di as C,dr as w,et as T,ft as E,g as ee,gn as D,h as te,hi as O,j as ne,kr as k,lt as A,mn as j,mt as M,nt as N,on as P,pn as re,q as F,qt as ie,rn as I,rt as ae,sn as L,sr as R,tr as z,u as B,ut as V,vi as H,vr as U,wr as W,x as G,xi as K,y as q,yi as J}from"./seed-BglCRKLA.js";import{n as oe,t as Y}from"./main-Bnbk_Rsg.js";function se(e,t){let n=V(!1,300);E(()=>{n.value=!1});let r=b(null),i=ae();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=le(a,ce(a,i.getBoundingClientRect()),1),s=ue(t.getBoundingClientRect()),c=fe([...o,...s]);r.value=c,n.value=!0}return l(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),l(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!de(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function ce(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function le(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function ue(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function de(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function fe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),pe(t)}function pe(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var me=D({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return m(),(e,n)=>(z(),x(O(o),J(d(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),X=`tooltip.open`,[Z,Q]=u(`TooltipRoot`),he=D({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;m();let i=Y(),a=I(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=I(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),c=I(()=>n.disabled??i.disabled.value),l=I(()=>n.delayDuration??i.delayDuration.value),u=I(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),d=N(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});k(d,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(X))):i.onClose())});let f=b(!1),p=b(),g=I(()=>d.value?f.value?`delayed-open`:`instant-open`:`closed`),{start:_,stop:v}=M(()=>{f.value=!0,d.value=!0},l,{immediate:!1});function y(){v(),f.value=!1,d.value=!0}function C(){v(),d.value=!1}function w(){_()}return Q({contentId:``,open:d,stateAttribute:g,trigger:p,onTriggerChange(e){p.value=e},onTriggerEnter(){i.isOpenDelayed.value?w():y()},onTriggerLeave(){a.value?C():v()},onOpen:y,onClose:C,disableHoverableContent:a,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:u}),(e,t)=>(z(),x(O(s),null,{default:h(()=>[S(e.$slots,`default`,{open:O(d)})]),_:3}))}}),$=D({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,i=n,o=Z(),s=Y(),{forwardRef:c,currentElement:l}=m(),u=I(()=>r.ariaLabel||l.value?.textContent),d=I(()=>{let{ariaLabel:e,...t}=r;return F(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return v(()=>{T(window,`scroll`,e=>{e.target?.contains(o.trigger.value)&&o.onClose()},{capture:!0}),T(document,X,o.onClose)}),(t,n)=>(z(),x(O(a),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{O(o).disableClosingTrigger.value&&O(o).trigger.value?.contains(e.target)&&e.preventDefault(),i(`pointerDownOutside`,e)},onFocusOutside:n[2]||=_(()=>{},[`prevent`]),onDismiss:n[3]||=e=>O(o).onClose()},{default:h(()=>[j(O(e),g({ref:O(c),"data-state":O(o).stateAttribute.value},{...t.$attrs,...d.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:h(()=>[S(t.$slots,`default`),j(O(oe),{id:O(o).contentId,role:`tooltip`},{default:h(()=>[re(K(u.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),ge=D({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=p(e),{forwardRef:n,currentElement:r}=m(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:s,onPointerExit:c}=se(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(z(),x($,g({ref:O(n)},O(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),_e=D({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=Z(),o=t(r,i),{forwardRef:s}=m();return(e,t)=>(z(),x(O(ne),{present:e.forceMount||O(a).open.value},{default:h(()=>[(z(),x(w(O(a).disableHoverableContent.value?$:ge),g({ref:O(s)},O(o)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ve=D({__name:`TooltipPortal`,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(),x(O(G),J(d(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),ye=D({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,i=Z(),a=Y();i.contentId||=r(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=m(),l=b(!1),u=b(!1),d=I(()=>i.disabled.value?{}:{click:T,focus:C,pointermove:_,pointerleave:y,pointerdown:p,blur:w});v(()=>{i.onTriggerChange(s.value)});function f(){setTimeout(()=>{l.value=!1},1)}function p(){i.open&&!i.disableClosingTrigger.value&&i.onClose(),l.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function _(e){e.pointerType!==`touch`&&!u.value&&!a.isPointerInTransitRef.value&&(i.onTriggerEnter(),u.value=!0)}function y(){i.onTriggerLeave(),u.value=!1}function C(e){l.value||(!i.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&i.onOpen()}function w(){i.onClose()}function T(){i.disableClosingTrigger.value||i.onClose()}return(e,r)=>(z(),x(O(n),{"as-child":``,reference:e.reference},{default:h(()=>[j(O(c),g({ref:O(o),"aria-describedby":O(i).open.value?O(i).contentId:void 0,"data-state":O(i).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},U(d.value)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),be={slots:{content:`flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto`,arrow:`fill-bg stroke-default`,text:`truncate`,kbds:`hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5`,kbdsSize:`sm`}},xe={__name:`Tooltip`,props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,a=W(),o=y(`tooltip`,n),s=f(),c=Y(),l=ee(A(o,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),r),u=q(C(()=>o.portal)),p=C(()=>F(o.content,c.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),m=C(()=>F(o.arrow,{rounded:!0})),_=I(()=>te({extend:be,...s.ui?.tooltip||{}})({side:p.value.side}));return(e,t)=>(z(),x(O(he),g(O(l),{disabled:!(O(o).text||O(o).kbds?.length||a.content)||O(o).disabled}),{default:h(({open:t})=>[a.default||O(o).reference?(z(),x(O(ye),g({key:0},e.$attrs,{"as-child":``,reference:O(o).reference,class:O(o).class}),{default:h(()=>[S(e.$slots,`default`,{open:t})]),_:2},1040,[`reference`,`class`])):P(``,!0),j(O(ve),J(d(O(u))),{default:h(()=>[j(O(B),null,{default:h(()=>[j(O(_e),g(p.value,{"data-slot":`content`,class:_.value.content({class:[!a.default&&O(o).class,O(o).ui?.content]})}),{default:h(()=>[S(e.$slots,`content`,{ui:_.value},()=>[O(o).text?(z(),L(`span`,{key:0,"data-slot":`text`,class:H(_.value.text({class:O(o).ui?.text}))},K(O(o).text),3)):P(``,!0),O(o).kbds?.length?(z(),L(`span`,{key:1,"data-slot":`kbds`,class:H(_.value.kbds({class:O(o).ui?.kbds}))},[(z(!0),L(ie,null,R(O(o).kbds,(e,t)=>(z(),x(i,g({key:t,size:O(o).ui?.kbdsSize||_.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):P(``,!0)]),O(o).arrow?(z(),x(O(me),g({key:0},m.value,{"data-slot":`arrow`,class:_.value.arrow({class:O(o).ui?.arrow})}),null,16,[`class`])):P(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}};export{xe as t};
1
+ import{c as e,g as t,l as n,m as r,o as i,p as a,s as o,u as s}from"./AppShell-Bk2gbvet.js";import{A as c,Ar as l,B as u,En as d,J as f,M as p,N as m,Pr as h,Vn as g,Vt as _,Yn as v,_ as y,ai as b,an as x,cr as S,di as C,dr as w,et as T,ft as E,g as ee,gn as D,h as te,hi as O,j as ne,kr as k,lt as A,mn as j,mt as M,nt as N,on as P,pn as re,q as F,qt as ie,rn as I,rt as ae,sn as L,sr as R,tr as z,u as B,ut as V,vi as H,vr as U,wr as W,x as G,xi as K,y as q,yi as J}from"./seed-BglCRKLA.js";import{n as oe,t as Y}from"./main-DDu3Ig6S.js";function se(e,t){let n=V(!1,300);E(()=>{n.value=!1});let r=b(null),i=ae();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=le(a,ce(a,i.getBoundingClientRect()),1),s=ue(t.getBoundingClientRect()),c=fe([...o,...s]);r.value=c,n.value=!0}return l(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),l(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!de(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function ce(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function le(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function ue(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function de(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function fe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),pe(t)}function pe(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var me=D({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return m(),(e,n)=>(z(),x(O(o),J(d(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),X=`tooltip.open`,[Z,Q]=u(`TooltipRoot`),he=D({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;m();let i=Y(),a=I(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=I(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),c=I(()=>n.disabled??i.disabled.value),l=I(()=>n.delayDuration??i.delayDuration.value),u=I(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),d=N(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});k(d,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(X))):i.onClose())});let f=b(!1),p=b(),g=I(()=>d.value?f.value?`delayed-open`:`instant-open`:`closed`),{start:_,stop:v}=M(()=>{f.value=!0,d.value=!0},l,{immediate:!1});function y(){v(),f.value=!1,d.value=!0}function C(){v(),d.value=!1}function w(){_()}return Q({contentId:``,open:d,stateAttribute:g,trigger:p,onTriggerChange(e){p.value=e},onTriggerEnter(){i.isOpenDelayed.value?w():y()},onTriggerLeave(){a.value?C():v()},onOpen:y,onClose:C,disableHoverableContent:a,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:u}),(e,t)=>(z(),x(O(s),null,{default:h(()=>[S(e.$slots,`default`,{open:O(d)})]),_:3}))}}),$=D({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,i=n,o=Z(),s=Y(),{forwardRef:c,currentElement:l}=m(),u=I(()=>r.ariaLabel||l.value?.textContent),d=I(()=>{let{ariaLabel:e,...t}=r;return F(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return v(()=>{T(window,`scroll`,e=>{e.target?.contains(o.trigger.value)&&o.onClose()},{capture:!0}),T(document,X,o.onClose)}),(t,n)=>(z(),x(O(a),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{O(o).disableClosingTrigger.value&&O(o).trigger.value?.contains(e.target)&&e.preventDefault(),i(`pointerDownOutside`,e)},onFocusOutside:n[2]||=_(()=>{},[`prevent`]),onDismiss:n[3]||=e=>O(o).onClose()},{default:h(()=>[j(O(e),g({ref:O(c),"data-state":O(o).stateAttribute.value},{...t.$attrs,...d.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:h(()=>[S(t.$slots,`default`),j(O(oe),{id:O(o).contentId,role:`tooltip`},{default:h(()=>[re(K(u.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),ge=D({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=p(e),{forwardRef:n,currentElement:r}=m(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:s,onPointerExit:c}=se(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(z(),x($,g({ref:O(n)},O(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),_e=D({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=Z(),o=t(r,i),{forwardRef:s}=m();return(e,t)=>(z(),x(O(ne),{present:e.forceMount||O(a).open.value},{default:h(()=>[(z(),x(w(O(a).disableHoverableContent.value?$:ge),g({ref:O(s)},O(o)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ve=D({__name:`TooltipPortal`,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(),x(O(G),J(d(t)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16))}}),ye=D({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,i=Z(),a=Y();i.contentId||=r(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=m(),l=b(!1),u=b(!1),d=I(()=>i.disabled.value?{}:{click:T,focus:C,pointermove:_,pointerleave:y,pointerdown:p,blur:w});v(()=>{i.onTriggerChange(s.value)});function f(){setTimeout(()=>{l.value=!1},1)}function p(){i.open&&!i.disableClosingTrigger.value&&i.onClose(),l.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function _(e){e.pointerType!==`touch`&&!u.value&&!a.isPointerInTransitRef.value&&(i.onTriggerEnter(),u.value=!0)}function y(){i.onTriggerLeave(),u.value=!1}function C(e){l.value||(!i.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&i.onOpen()}function w(){i.onClose()}function T(){i.disableClosingTrigger.value||i.onClose()}return(e,r)=>(z(),x(O(n),{"as-child":``,reference:e.reference},{default:h(()=>[j(O(c),g({ref:O(o),"aria-describedby":O(i).open.value?O(i).contentId:void 0,"data-state":O(i).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},U(d.value)),{default:h(()=>[S(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),be={slots:{content:`flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto`,arrow:`fill-bg stroke-default`,text:`truncate`,kbds:`hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5`,kbdsSize:`sm`}},xe={__name:`Tooltip`,props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,a=W(),o=y(`tooltip`,n),s=f(),c=Y(),l=ee(A(o,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),r),u=q(C(()=>o.portal)),p=C(()=>F(o.content,c.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),m=C(()=>F(o.arrow,{rounded:!0})),_=I(()=>te({extend:be,...s.ui?.tooltip||{}})({side:p.value.side}));return(e,t)=>(z(),x(O(he),g(O(l),{disabled:!(O(o).text||O(o).kbds?.length||a.content)||O(o).disabled}),{default:h(({open:t})=>[a.default||O(o).reference?(z(),x(O(ye),g({key:0},e.$attrs,{"as-child":``,reference:O(o).reference,class:O(o).class}),{default:h(()=>[S(e.$slots,`default`,{open:t})]),_:2},1040,[`reference`,`class`])):P(``,!0),j(O(ve),J(d(O(u))),{default:h(()=>[j(O(B),null,{default:h(()=>[j(O(_e),g(p.value,{"data-slot":`content`,class:_.value.content({class:[!a.default&&O(o).class,O(o).ui?.content]})}),{default:h(()=>[S(e.$slots,`content`,{ui:_.value},()=>[O(o).text?(z(),L(`span`,{key:0,"data-slot":`text`,class:H(_.value.text({class:O(o).ui?.text}))},K(O(o).text),3)):P(``,!0),O(o).kbds?.length?(z(),L(`span`,{key:1,"data-slot":`kbds`,class:H(_.value.kbds({class:O(o).ui?.kbds}))},[(z(!0),L(ie,null,R(O(o).kbds,(e,t)=>(z(),x(i,g({key:t,size:O(o).ui?.kbdsSize||_.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):P(``,!0)]),O(o).arrow?(z(),x(O(me),g({key:0},m.value,{"data-slot":`arrow`,class:_.value.arrow({class:O(o).ui?.arrow})}),null,16,[`class`])):P(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}};export{xe as t};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunsIndexPage-CM-qxyQm.js","assets/AppShell-Bk2gbvet.js","assets/seed-BglCRKLA.js","assets/Tooltip-BfLPyxQy.js","assets/RunsTabs-C4krAL9o.js","assets/StatusDot-DuoQnQeU.js","assets/wallClock-Ckv3sKoR.js","assets/favicon-DL1rdWJt.js","assets/localIso-L06jV29p.js","assets/ScheduledPage-C1psvLD4.js","assets/RunRoutePage-ty94olNM.js","assets/NotFoundPage-C-BuaSm8.js","assets/RunRoutePage-XVFj0XDc.css","assets/ResidentsIndexPage-B3uxKUne.js","assets/residentDiskBudget-BMBKlYRH.js","assets/ResidentDetailPage-DvQ05AGa.js","assets/CostsPage-CTZcMYYx.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunsIndexPage-D9iLpfAr.js","assets/AppShell-Bk2gbvet.js","assets/seed-BglCRKLA.js","assets/Tooltip-C7yR095Y.js","assets/RunsTabs-C4krAL9o.js","assets/StatusDot-DvV0z_-s.js","assets/wallClock-Ckv3sKoR.js","assets/favicon-DL1rdWJt.js","assets/localIso-L06jV29p.js","assets/ScheduledPage-BJCtMp7H.js","assets/RunRoutePage-C1TGcPCl.js","assets/NotFoundPage-C-BuaSm8.js","assets/RunRoutePage-XVFj0XDc.css","assets/ResidentsIndexPage-D8NN4AFS.js","assets/residentDiskBudget-BMBKlYRH.js","assets/ResidentDetailPage-Dw3e9u1u.js","assets/CostsPage-CzutIHUw.js"])))=>i.map(i=>d[i]);
2
2
  import{$ as e,$n as t,$r as n,A as r,Ar as i,B as a,D as o,E as s,En as c,F as l,Fn as u,Gn as d,H as f,Hn as p,I as m,J as h,K as g,Kr as _,M as v,N as y,Pr as b,R as x,Tr as S,Un as C,V as ee,Vn as w,Vt as T,X as te,Yn as E,Z as ne,Zr as re,Zt as ie,_ as ae,_t as oe,a as se,ai as D,an as O,at as ce,b as le,bi as k,cr as A,di as j,dr as M,ei as ue,fi as de,g as fe,gn as N,gt as pe,h as me,hi as P,ht as he,in as ge,j as _e,kn as ve,kr as ye,lr as be,lt as F,m as xe,mn as I,mt as Se,n as Ce,nt as we,oi as Te,on as L,ot as Ee,p as De,pi as Oe,pn as R,pt as ke,qn as Ae,qt as z,ri as je,rn as B,rr as V,sn as H,sr as U,t as Me,tr as W,tt as Ne,v as Pe,vi as G,wn as Fe,wr as Ie,x as Le,xi as K,xr as Re,xt as ze,y as Be,yi as q,z as Ve}from"./seed-BglCRKLA.js";var He=!1;function Ue(e){if(He)return;let t=JSON.parse(`[{"prefix":"lucide","icons":{"arrow-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 5v14m7-7l-7 7l-7-7\\"/>"},"arrow-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m12 19l-7-7l7-7m7 7H5\\"/>"},"arrow-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7l7 7l-7 7\\"/>"},"arrow-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m5 12l7-7l7 7m-7 7V5\\"/>"},"arrow-up-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M7 7h10v10M7 17L17 7\\"/>"},"book-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 5v16m8.001-2A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2z\\"/>"},"check":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 6L9 17l-5-5\\"/>"},"chevron-down":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 9l6 6l6-6\\"/>"},"chevron-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m15 18l-6-6l6-6\\"/>"},"chevron-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m9 18l6-6l-6-6\\"/>"},"chevron-up":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m18 15l-6-6l-6 6\\"/>"},"chevrons-left":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m11 17l-5-5l5-5m7 10l-5-5l5-5\\"/>"},"chevrons-right":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 17l5-5l-5-5m7 10l5-5l-5-5\\"/>"},"circle-alert":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 8v4m0 4h.01\\"/></g>"},"circle-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m16 9l-5.5 5.5L8 12\\"/></g>"},"circle-dollar-sign":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8m4 2V6\\"/></g>"},"circle-x":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"m15 9l-6 6m0-6l6 6\\"/></g>"},"copy":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"copy-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m12 15l2 2l4-4\\"/><rect width=\\"14\\" height=\\"14\\" x=\\"8\\" y=\\"8\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\"/></g>"},"ellipsis":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"19\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"5\\" cy=\\"12\\" r=\\"1\\"/></g>"},"ellipsis-vertical":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"12\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"12\\" cy=\\"19\\" r=\\"1\\"/></g>"},"external-link":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\\"/>"},"eye":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\\"/><circle cx=\\"12\\" cy=\\"12\\" r=\\"3\\"/></g>"},"eye-off":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242\\"/><path d=\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20\\"/></g>"},"file":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5\\"/></g>"},"file-minus":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5M9 15h6\\"/></g>"},"file-pen":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5m-9.622 4.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z\\"/></g>"},"file-plus":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5M9 15h6m-3 3v-6\\"/></g>"},"file-symlink":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7\\"/><path d=\\"M14 2v5a1 1 0 0 0 1 1h5M10 18l3-3l-3-3\\"/></g>"},"folder":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\"/>"},"folder-open":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\\"/>"},"git-compare":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"18\\" cy=\\"18\\" r=\\"3\\"/><circle cx=\\"6\\" cy=\\"6\\" r=\\"3\\"/><path d=\\"M13 6h3a2 2 0 0 1 2 2v7m-7 3H8a2 2 0 0 1-2-2V9\\"/></g>"},"grip-vertical":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"9\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"9\\" cy=\\"19\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"12\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"5\\" r=\\"1\\"/><circle cx=\\"15\\" cy=\\"19\\" r=\\"1\\"/></g>"},"hash":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\\"/>"},"info":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"10\\"/><path d=\\"M12 16v-4m0-4h.01\\"/></g>"},"lightbulb":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\\"/>"},"list":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\\"/>"},"loader-circle":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M21 12a9 9 0 1 1-6.219-8.56\\"/>"},"menu":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M4 5h16M4 12h16M4 19h16\\"/>"},"minus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14\\"/>"},"monitor":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"20\\" height=\\"14\\" x=\\"2\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M8 21h8m-4-4v4\\"/></g>"},"moon":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\"/>"},"octagon-pause":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M10 15V9m4 6V9M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\\"/>"},"octagon-x":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m15 9l-6 6m-6.414 1.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586zM9 9l6 6\\"/>"},"panel-left-close":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m7-6l-3-3l3-3\\"/></g>"},"panel-left-open":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"M9 3v18m5-12l3 3l-3 3\\"/></g>"},"plus":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M5 12h14m-7-7v14\\"/>"},"rotate-ccw":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8\\"/><path d=\\"M3 3v5h5\\"/></g>"},"scissors":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"6\\" cy=\\"6\\" r=\\"3\\"/><path d=\\"M8.12 8.12L12 12m8-8L8.12 15.88\\"/><circle cx=\\"6\\" cy=\\"18\\" r=\\"3\\"/><path d=\\"M14.8 14.8L20 20\\"/></g>"},"search":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m21 21l-4.34-4.34\\"/><circle cx=\\"11\\" cy=\\"11\\" r=\\"8\\"/></g>"},"server":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"20\\" height=\\"8\\" x=\\"2\\" y=\\"2\\" rx=\\"2\\" ry=\\"2\\"/><rect width=\\"20\\" height=\\"8\\" x=\\"2\\" y=\\"14\\" rx=\\"2\\" ry=\\"2\\"/><path d=\\"M6 6h.01M6 18h.01\\"/></g>"},"square":{"width":24,"height":24,"body":"<rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" rx=\\"2\\"/>"},"square-check":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><rect width=\\"18\\" height=\\"18\\" x=\\"3\\" y=\\"3\\" rx=\\"2\\"/><path d=\\"m16 9l-5.5 5.5L8 12\\"/></g>"},"star":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\\"/>"},"sun":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><circle cx=\\"12\\" cy=\\"12\\" r=\\"4\\"/><path d=\\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\\"/></g>"},"triangle-alert":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\\"/>"},"upload":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\"/>"},"wrap-text":{"width":24,"height":24,"body":"<g fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\"><path d=\\"m16 16l-2 2l2 2\\"/><path d=\\"M3 12h15a3 3 0 1 1 0 6h-4M3 18h7M3 6h18\\"/></g>","hidden":true},"x":{"width":24,"height":24,"body":"<path fill=\\"none\\" stroke=\\"currentColor\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" d=\\"M18 6L6 18M6 6l12 12\\"/>"}}}]`);for(let n of t)for(let[t,r]of Object.entries(n.icons))e(n.prefix?n.prefix+`:`+t:t,r);He=!0}var We={install(){Ue((e,t)=>{let n=e.indexOf(`:`);return n!==-1&&e.slice(0,n).includes(`-`)&&he(e.replace(`:`,`-`),t),he(e,t)})}};function Ge(e,t){if(typeof t==`function`&&t.key&&e.plugins.has(t.key))return;let n=typeof t==`function`?t(e):t,r=n.key||String(e.plugins.size+1);if(!e.plugins.get(r)){e.plugins.set(r,n);for(let t in n.hooks||{})e.hooks?.hook(t,n.hooks[t])}}function Ke(e,t={}){let n=!t.document,r=new Map,i={_entryCount:1,_h:0,plugins:new Map,resolvedOptions:t,ssr:n,entries:r,hooks:void 0,render:()=>e(i),use:e=>Ge(i,e),push(e,t){let a=t?._index??i._entryCount++,o=t?{...t}:{};delete o.head,delete o.onRendered,delete o._index;let s={_i:a,input:e,options:o};return r.set(a,s),{_i:a,dispose(){r.delete(a)},patch(e){n?(s.input=e,delete s._tags):s._pending=e,r.has(a)||r.set(a,s)}}}};return t.init?.forEach(e=>e&&i.push(e)),i}var qe=new Set([`link`,`style`,`script`,`noscript`]),Je=new Set([`title`,`titleTemplate`,`script`,`style`,`noscript`]),Ye=new Set([`base`,`meta`,`link`,`style`,`script`,`noscript`]),Xe=new Set([`title`,`base`,`htmlAttrs`,`bodyAttrs`,`meta`,`link`,`style`,`script`,`noscript`]),Ze=new Set([`base`,`title`,`titleTemplate`,`bodyAttrs`,`htmlAttrs`,`templateParams`]),Qe=new Set([`key`,`tagPosition`,`tagPriority`,`tagDuplicateStrategy`,`innerHTML`,`textContent`,`processTemplateParams`]),$e=new Set([`templateParams`,`htmlAttrs`,`bodyAttrs`]),et=new Set([`theme-color`,`google-site-verification`,`author`,`og:locale:alternate`,`og:image`,`og:video`,`og:audio`,`article:author`,`article:tag`,`book:author`,`book:tag`,`twitter:image`]),tt={critical:-8,high:-1,low:2},nt=e=>typeof e==`number`?Number.isFinite(e):e;function rt(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function it(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?it(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var at=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function ot(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>ot(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function st(e,t,n){if(e.length>0)return ot(e,t,0,at(n))}function ct(e,t,n){if(e.length>0){let r=at(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function lt(e,t){for(let n of[...e])n(t)}var ut=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=it(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=it(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(st,e,t)}callHookParallel(e,...t){return this.callHookWith(ct,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&lt(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&lt(this._after,r)}):(this._after&&r&&lt(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function dt(){return new ut}var ft=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(n&&n.length!==0)return ot(n,t,0)}};function pt(e){let t=new ft;for(let n in e||{})t.hook(n,e[n]);return t}function J(e,t,n){if(e.hooks?._hooks?.[t]?.length)return e.hooks?.callHook(t,n)}function mt(e,t,n){let r=e.push,i=e;i.ssr=!1,i.hooks=t,i.dirty=!!i.dirty,i.use=e=>Ge(i,e),i.render=()=>n(i);function a(){t.callHook(`entries:updated`,i),i._b||i.render()}return i.invalidate=()=>{for(let e of i.entries.values())delete e._tags;i.dirty=!0,a()},i.push=(n,o)=>{let s=o?.onRendered?t.hook(`dom:rendered`,o.onRendered):void 0,c=r(n,o),l=e.entries.get(c._i);return l&&(l._o=n),i.dirty=!0,a(),{_i:c._i,patch(e){c.patch(e),i.dirty=!0,a()},dispose(){s?.(),e.entries.has(c._i)&&(c.dispose(),i.invalidate())}}},i}var ht=/^(?:viewport|description|keywords|robots)$/,gt=[`name`,`property`,`http-equiv`];function _t(e){let t=e.indexOf(`:`);if(t===-1)return!1;let n=e.slice(t+1);return et.has(n)||n.startsWith(`og:image:`)||n.startsWith(`og:video:`)||n.startsWith(`og:audio:`)||n.startsWith(`twitter:image:`)}function vt(e){let{props:t,tag:n,key:r}=e;if(Ze.has(n))return n;if(n===`link`){if(t.rel===`canonical`)return`canonical`;if(t.rel===`alternate`&&t.hreflang)return`alternate:${t.hreflang}`}if(t.charset)return`charset`;if(n===`meta`)for(let e of gt){let n=t[e];if(n!==void 0)return`meta:${n}${(typeof n!=`string`||!n.includes(`:`))&&!ht.test(n)&&r?`:key:${r}`:``}`}return r?`${n}:key:${r}`:t.id?`${n}:id:${t.id}`:n===`link`&&t.rel&&t.href?`link:${t.rel}:${t.href}`:Je.has(n)&&(e.textContent||e.innerHTML)?`${n}:content:${e.textContent||e.innerHTML}`:void 0}function yt(e){let t=e._h||e._d||e.textContent||e.innerHTML;if(t)return t;let n=Object.keys(e.props).sort(),r=`${e.tag}:`,i=``;for(let t of n)r+=`${i}${t}:${String(e.props[t])}`,i=`,`;return r}function Y(e,t,n){if(n===`_resolver`)return e;typeof e==`function`&&(!n||n!==`titleTemplate`&&!n.startsWith(`on`))&&(e=e());let r=t?t(n,e):e;if(Array.isArray(r)){let e;for(let n=0;n<r.length;n++){let i=Y(r[n],t);e?e[n]=i:i!==r[n]&&(e=r.slice(0,n),e[n]=i)}return e||r}if(r?.constructor===Object){let e;for(let n in r){let i=rt(n),a=i?void 0:Y(r[n],t,n);if(!e&&(i||a!==r[n])){e={};for(let t in r){if(t===n)break;e[t]=r[t]}}e&&!i&&(e[n]=a)}return e||r}return r}var bt=/[\s"'<>/=\x00-\x1F\x7F]/;function xt(e,t){let n=e===`style`,r=n?new Map:new Set,i=e=>{if(e){if(n){let t=e.indexOf(`:`);t>0&&r.set(e.slice(0,t).trim(),e.slice(t+1).trim())}else e.split(` `).forEach(e=>e&&r.add(e))}};if(typeof t==`string`)(n?t.split(`;`):[t]).forEach(i);else if(Array.isArray(t))t.forEach(i);else if(t&&typeof t==`object`)for(let e in t){let a=t[e];a&&a!==`false`&&(n?r.set(e.trim(),String(a)):i(e))}return r}function St(e,t){if(e.props=e.props||{},!t)return e;if(e.tag===`templateParams`)return e.props=t,e;let n=Ye.has(e.tag)||e.tag===`htmlAttrs`||e.tag===`bodyAttrs`;for(let r in t){if(rt(r))continue;let i=r.startsWith(`data-`),a=n&&!Qe.has(r),o=a&&!i?r.toLowerCase():r;if(a&&(!o||bt.test(o)))continue;let s=t[r];if(s===null)e.props[o]=null;else if(r===`class`||r===`style`)e.props[r]=xt(r,s);else if(Qe.has(r)){if((r===`textContent`||r===`innerHTML`)&&typeof s==`object`){let n=t.type||`application/json`;(n.endsWith(`json`)||n===`speculationrules`||n===`importmap`)&&(e.props.type=n,e[r]=JSON.stringify(s))}else e[r]=s}else if(s!==void 0){let t=String(s),n=e.tag===`meta`&&o===`content`;e.props[o]=t===`true`||t===``?i||n?t:!0:!s&&i&&t===`false`?`false`:s}}return e}function Ct(e,t){let n;return t.length&&(n=(e,n)=>{for(let r=0;r<t.length;r++)n=t[r](e,n);return n},e=n(void 0,e)),Y(e,n)}function wt(e,t){let n=St({tag:e,props:{}},typeof t==`object`&&typeof t!=`function`?t:{[e===`script`||e===`noscript`||e===`style`?`innerHTML`:`textContent`]:t});if(n.key&&qe.has(n.tag)&&(n.props[`data-hid`]=n._h=n.key),n.tag===`script`&&typeof n.innerHTML==`object`&&(n.innerHTML=JSON.stringify(n.innerHTML),n.props.type=n.props.type||`application/json`),Array.isArray(n.props.content)){let e=[];for(let t of n.props.content)e.push({...n,props:{...n.props,content:t}});return e}return n}function Tt(e,t){if(Array.isArray(t))for(let n of t)e.push(n);else e.push(t)}function Et(e,t){if(!e)return[];typeof e==`function`&&(e=e()),e=Ct(e,t);let n=[];for(let t in e){let r=e[t];if(r!==void 0){if(Array.isArray(r))for(let e of r)Tt(n,wt(t,e));else Tt(n,wt(t,r))}}return n}var Dt=/</g,Ot=/<\/script/g,kt=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,At=()=>100;function jt(e){for(let t in e)return!1;return!0}var Mt=/^tags:|:render/;function Nt(e,t){let n=(t[`entries:resolve`]?.length||0)+(t[`entries:normalize`]?.length||0);if(e._h!==n){e._h=n;for(let t of e.entries.values())delete t._tags}}function Pt(e){for(let t=0;t<e.length;t++){let n=e[t],r={...n.props};r.class instanceof Set&&(r.class=new Set(r.class)),r.style instanceof Map&&(r.style=new Map(r.style)),e[t]={...n,props:r}}}function Ft(e,t){let n=e.tags,r=0;for(let t of e.tagMap.values())if(Array.isArray(t))for(let e of t)n[r++]=e;else n[r++]=t;n.length=r,t&&n.sort(kt)}function It(e){let t=!1;for(let n of e.tags.sort(kt)){let r=n._d||yt(n);if(!r)continue;let i=e.tagMap.get(r);if(!i){e.tagMap.set(r,n);continue}if((n.tagDuplicateStrategy||($e.has(n.tag)?`merge`:null)||(n.key&&n.key===i.key?`merge`:null))===`merge`){let t={...i.props};for(let e in n.props)t[e]=e===`style`?new Map([...i.props.style||new Map,...n.props[e]]):e===`class`?new Set([...i.props.class||[],...n.props[e]]):n.props[e];e.tagMap.set(r,{...n,props:t})}else n._p>>10==i._p>>10&&n.tag===`meta`&&_t(r)?(e.tagMap.set(r,Object.assign([...Array.isArray(i)?i:[i],n],n)),t=!0):(n._w===i._w?n._p>i._p:n._w<i._w)&&e.tagMap.set(r,n)}return t}function Lt(e,t){let n=e.tagMap.get(`title`),r=e.tagMap.get(`titleTemplate`);if(t._title=n?.textContent,!r)return;let i=r.textContent;if(t._titleTemplate=i,!i)return;let a=typeof i==`function`?i(n?.textContent):i;typeof a==`string`&&!t.plugins.has(`template-params`)&&(a=a.replace(`%s`,n?.textContent||``)),n?a===null?e.tagMap.delete(`title`):e.tagMap.set(`title`,{...n,textContent:a}):e.tagMap.set(`titleTemplate`,{...r,tag:`title`,textContent:a})}function Rt(e){let t=0;for(let n of e){let{innerHTML:r,tag:i,props:a}=n;if(Xe.has(i)&&(!jt(a)||nt(r)||nt(n.textContent))&&(i!==`meta`||nt(a.content)||a[`http-equiv`]||a.charset)){if(i===`script`&&(r||n.textContent)){let e=String(a.type),t=e.endsWith(`json`)||e===`importmap`||e===`speculationrules`,i=e=>t?(typeof e==`string`?e:JSON.stringify(e)).replace(Dt,`\\u003C`):typeof e==`string`?e.replace(Ot,`<\\/script`):e;n={...n},r&&(n.innerHTML=i(r)),n.textContent&&(n.textContent=i(n.textContent)),n._d=vt(n)}e[t++]=n}}return e.length=t,e}function zt(e,t){let n=t?.tagWeight??e.resolvedOptions._tagWeight??At,r={tagMap:new Map,tags:[]},i=e.hooks?._hooks||{};Nt(e,i);for(let t of e.entries.values())t._pending!==void 0&&(t.input=t._pending,delete t._pending,delete t._tags,delete t._precomputedTags);let a;(i[`entries:resolve`]?.length||i[`entries:normalize`]?.length)&&(a=[...e.entries.values()],i[`entries:resolve`]?.length&&J(e,`entries:resolve`,{entries:a,...r})),Nt(e,i);for(let t of a||e.entries.values()){let a=t._tags;if(!a){if(t._precomputedTags&&n===e.resolvedOptions._tagWeight&&!i[`entries:normalize`]?.length&&!i[`entries:resolve`]?.length&&(!t.options||jt(t.options)))a=t._precomputedTags;else{if(a=Et(t.input,e.resolvedOptions.propResolvers||[]),t.options&&!jt(t.options))for(let e of a)Object.assign(e,t.options);if(i[`entries:normalize`]?.length){let n={tags:a,entry:t};J(e,`entries:normalize`,n),a=n.tags}for(let e=0;e<a.length;e++){let r=a[e];r._w=n(r),r._p=(t._i<<10)+e,r._d=vt(r),r._d||(r._h=yt(r))}t._tags=a}}r.tags.push(...a)}for(let e in i)if(i[e]?.length&&Mt.test(e)){Pt(r.tags);break}let o=It(r);return Lt(r,e),Ft(r,o),J(e,`tags:beforeResolve`,r),J(e,`tags:resolve`,r),J(e,`tags:afterResolve`,r),Rt(r.tags)}var Bt=/\s+/;function Vt(e={}){return t=>Wt(t,e)}function Ht(e){for(let t of e.entries.values())if(t._pending!==void 0)return!0;return!1}function Ut(e,t){let n={_d:t,_t:t.title,_e:new Map([[`htmlAttrs`,t.documentElement],[`bodyAttrs`,t.body]]),_p:{},_s:{},_l:new Map};for(let t of e.entries.values())if(t._o!==void 0){let e=t._o;for(let t of[`bodyAttrs`,`htmlAttrs`]){let r=e[t]?.class;if(typeof r==`string`){let e=n._e.get(t);for(let i of r.split(Bt))i&&(n._p[`${t}:attr:class:${i}`]=()=>e.classList.remove(i))}}}return n}function Wt(e,t={}){let n=t.document||e.resolvedOptions.document,r=e._dom;if(!n||e._du||r&&r._d===n&&!e.dirty&&!Ht(e))return!1;let i=n.defaultView;e._du=!0;let a=!1;try{let o=function(e,t,n){d._s[e]=!n&&f[e]||t,delete f[e]},s=function(e,t,n,r,i,a){let s=`${e}:event:${t}`,c=d._l.get(s);if(c&&c[0]===a&&c[1]===n&&c[2]===r){o(s,c[4]);return}c?.[4]();let l=`data-${t}`,u=(e=>r.call(i,e)),f=()=>{a.removeEventListener(n,u),i.getAttribute(l)===``&&i.removeAttribute(l),d._l.get(s)?.[3]===u&&d._l.delete(s)};a.addEventListener(n,u),d._l.set(s,[a,n,r,u,f]),i.setAttribute(l,``),o(s,f,!0)},c=function({id:e,$el:t,tag:n}){if(d._e.set(e,t),!n.tag.endsWith(`Attrs`)){let r=n.textContent;r!=null&&r!==``&&(r!==t.textContent&&(t.textContent=r),o(`${e}:text`,()=>{t.textContent===r&&(t.textContent=``)},!0));let i=n.innerHTML;i!=null&&i!==``&&(i!==t.innerHTML&&(t.innerHTML=i),o(`${e}:html`,()=>{t.innerHTML===i&&(t.innerHTML=``)},!0));let a=`${e}:el`;o(a,f[a]||(()=>{t?.remove(),d._e.delete(e)}))}for(let r in n.props){let a=n.props[r];if(r[0]===`o`&&r[1]===`n`&&typeof a==`function`){let o=r.slice(2);t?.dataset?.[`${r}fired`]&&a.call(t,new((i?.Event)||Event)(o)),s(e,r,o,a,t,n.tag===`bodyAttrs`&&i?i:t);continue}let c=`${e}:attr:${r}`;if(r===`class`&&a)for(let e of a){let n=`${c}:${e}`;o(n,f[n]||(()=>t.classList.remove(e))),t.classList.contains(e)||t.classList.add(e)}else if(r===`style`&&a)for(let[e,n]of a){let r=`${c}:${e}`;o(r,f[r]||(()=>t.style.removeProperty(e))),t.style.setProperty(e,n)}else a!==!1&&a!==null&&(t.getAttribute(r)!==a&&t.setAttribute(r,a===!0?``:String(a)),o(c,f[c]||(()=>t.removeAttribute(r))))}},l={shouldRender:!0,tags:[]};if(J(e,`dom:beforeRender`,l),!l.shouldRender)return!1;let u=r;if(u?._d!==n){if(u){for(let e in u._s)u._s[e]();for(let e in u._p)u._p[e]();u._s=u._p={},u._e.clear(),u._l.clear()}u=void 0}u?u._p=u._s:u=Ut(e,n),u._s={};let d=u,f=d._p,p=[],m={};e.dirty=!1;let h=zt(e,t.tagWeight?{tagWeight:t.tagWeight}:void 0),g=[],_={};for(let e of h){let t=_[e._d]||0,r=(t?`${e._d}:${t}`:e._d)||e._h,i={tag:e,id:r,shouldRender:!0};if(e.tag===`meta`&&e._d&&_t(e._d)&&(_[e._d]=t+1),g.push(i),e.tag===`title`){n.title=e.textContent,o(`title:`,()=>n.title=d._t);continue}i.$el=d._e.get(r),i.$el?c(i):Ye.has(e.tag)&&p.push(i)}if(p.length){let e=new Set(d._e.values());for(let t of[...n.body.children,...n.head.children]){let n=t.tagName.toLowerCase();if(!Ye.has(n)||e.has(t))continue;let r={innerHTML:t.innerHTML};for(let e of t.getAttributeNames())r[e]=t.getAttribute(e);let i=St({tag:n,props:{}},r);i.key=t.getAttribute(`data-hid`)||void 0;let a=vt(i)||yt(i),o=a,s=1;for(;d._e.has(o);)o=`${a}:${s++}`;d._e.set(o,t)}}for(let e of p){let t=d._e.get(e.id);e.$el=t||n.createElement(e.tag.tag),c(e),t||(m[e.tag.tagPosition||`head`]??=n.createDocumentFragment()).appendChild(e.$el)}m.head&&n.head.appendChild(m.head),m.bodyOpen&&n.body.insertBefore(m.bodyOpen,n.body.firstChild),m.bodyClose&&n.body.appendChild(m.bodyClose);for(let e in f)f[e]();e._dom=d,a=!0,J(e,`dom:rendered`,{renders:g})}catch(t){throw e.dirty=!0,t}finally{e._du=!1}return a&&(e.dirty||Ht(e))&&Wt(e,t),a}var Gt=e=>typeof e.tagPriority==`number`?e.tagPriority:100+(tt[e.tagPriority]||0);function Kt(e={}){e.document=e.document||(typeof window<`u`?document:void 0);let t=e.render||Vt({document:e.document}),n=mt(Ke(t,{document:e.document,propResolvers:e.propResolvers,_tagWeight:Gt,init:[]}),pt(e.hooks),t);return e.plugins?.forEach(e=>n.use(e)),e.init?.forEach(e=>e&&n.push(e)),n}var qt=`usehead`;function Jt(){if(ve()){let e=u(qt);if(e)return e}throw Error(`useHead() was called without provide context, ensure you call it through the setup() function.`)}function Yt(e){return{install(t){t.config.globalProperties.$unhead=e,t.config.globalProperties.$head=e,t.provide(qt,e)}}.install}var Xt=Object.assign((e,t)=>re(t)?Oe(t):t,{_static:!0});function Zt(e,t={}){let n=t.head||Jt();return n.ssr?n.push(e||{},t):Qt(n,e,t)}function Qt(e,t,n={}){let r=_();if(r&&!r.active)return{patch(){},dispose(){},_i:-1};let a=D(!1);if(n.onRendered&&r){let e=n.onRendered;n={...n,onRendered:t=>r.run(()=>e(t))}}let o;return i(()=>{let r=a.value?{}:Y(t,Xt);o?o.patch(r):o=e.push(r,n)}),Fe()&&(d(()=>{o.dispose()}),Ae(()=>{a.value=!0}),C(()=>{a.value=!1})),o}function $t(e={}){let t=Vt(),n,r=0;return n=Kt({render:()=>{let e=++r;setTimeout(()=>{e===r&&t(n)},0)},...e}),n.install=Yt(n),n}var en={install(e){if(e._context.provides.usehead)return;let t=$t();e.use(t)}},tn={install(e,t){t?.router&&typeof t.router==`function`&&e.provide(`nuxtui:router`,t.router)}},X={inherit:`inherit`,current:`currentcolor`,transparent:`transparent`,black:`#000`,white:`#fff`,slate:{50:`oklch(98.4% 0.003 247.858)`,100:`oklch(96.8% 0.007 247.896)`,200:`oklch(92.9% 0.013 255.508)`,300:`oklch(86.9% 0.022 252.894)`,400:`oklch(70.4% 0.04 256.788)`,500:`oklch(55.4% 0.046 257.417)`,600:`oklch(44.6% 0.043 257.281)`,700:`oklch(37.2% 0.044 257.287)`,800:`oklch(27.9% 0.041 260.031)`,900:`oklch(20.8% 0.042 265.755)`,950:`oklch(12.9% 0.042 264.695)`},gray:{50:`oklch(98.5% 0.002 247.839)`,100:`oklch(96.7% 0.003 264.542)`,200:`oklch(92.8% 0.006 264.531)`,300:`oklch(87.2% 0.01 258.338)`,400:`oklch(70.7% 0.022 261.325)`,500:`oklch(55.1% 0.027 264.364)`,600:`oklch(44.6% 0.03 256.802)`,700:`oklch(37.3% 0.034 259.733)`,800:`oklch(27.8% 0.033 256.848)`,900:`oklch(21% 0.034 264.665)`,950:`oklch(13% 0.028 261.692)`},zinc:{50:`oklch(98.5% 0 none)`,100:`oklch(96.7% 0.001 286.375)`,200:`oklch(92% 0.004 286.32)`,300:`oklch(87.1% 0.006 286.286)`,400:`oklch(70.5% 0.015 286.067)`,500:`oklch(55.2% 0.016 285.938)`,600:`oklch(44.2% 0.017 285.786)`,700:`oklch(37% 0.013 285.805)`,800:`oklch(27.4% 0.006 286.033)`,900:`oklch(21% 0.006 285.885)`,950:`oklch(14.1% 0.005 285.823)`},neutral:{50:`oklch(98.5% 0 none)`,100:`oklch(97% 0 none)`,200:`oklch(92.2% 0 none)`,300:`oklch(87% 0 none)`,400:`oklch(70.8% 0 none)`,500:`oklch(55.6% 0 none)`,600:`oklch(43.9% 0 none)`,700:`oklch(37.1% 0 none)`,800:`oklch(26.9% 0 none)`,900:`oklch(20.5% 0 none)`,950:`oklch(14.5% 0 none)`},stone:{50:`oklch(98.5% 0.001 106.423)`,100:`oklch(97% 0.001 106.424)`,200:`oklch(92.3% 0.003 48.717)`,300:`oklch(86.9% 0.005 56.366)`,400:`oklch(70.9% 0.01 56.259)`,500:`oklch(55.3% 0.013 58.071)`,600:`oklch(44.4% 0.011 73.639)`,700:`oklch(37.4% 0.01 67.558)`,800:`oklch(26.8% 0.007 34.298)`,900:`oklch(21.6% 0.006 56.043)`,950:`oklch(14.7% 0.004 49.25)`},mauve:{50:`oklch(98.5% 0 none)`,100:`oklch(96% 0.003 325.6)`,200:`oklch(92.2% 0.005 325.62)`,300:`oklch(86.5% 0.012 325.68)`,400:`oklch(71.1% 0.019 323.02)`,500:`oklch(54.2% 0.034 322.5)`,600:`oklch(43.5% 0.029 321.78)`,700:`oklch(36.4% 0.029 323.89)`,800:`oklch(26.3% 0.024 320.12)`,900:`oklch(21.2% 0.019 322.12)`,950:`oklch(14.5% 0.008 326)`},olive:{50:`oklch(98.8% 0.003 106.5)`,100:`oklch(96.6% 0.005 106.5)`,200:`oklch(93% 0.007 106.5)`,300:`oklch(88% 0.011 106.6)`,400:`oklch(73.7% 0.021 106.9)`,500:`oklch(58% 0.031 107.3)`,600:`oklch(46.6% 0.025 107.3)`,700:`oklch(39.4% 0.023 107.4)`,800:`oklch(28.6% 0.016 107.4)`,900:`oklch(22.8% 0.013 107.4)`,950:`oklch(15.3% 0.006 107.1)`},mist:{50:`oklch(98.7% 0.002 197.1)`,100:`oklch(96.3% 0.002 197.1)`,200:`oklch(92.5% 0.005 214.3)`,300:`oklch(87.2% 0.007 219.6)`,400:`oklch(72.3% 0.014 214.4)`,500:`oklch(56% 0.021 213.5)`,600:`oklch(45% 0.017 213.2)`,700:`oklch(37.8% 0.015 216)`,800:`oklch(27.5% 0.011 216.9)`,900:`oklch(21.8% 0.008 223.9)`,950:`oklch(14.8% 0.004 228.8)`},taupe:{50:`oklch(98.6% 0.002 67.8)`,100:`oklch(96% 0.002 17.2)`,200:`oklch(92.2% 0.005 34.3)`,300:`oklch(86.8% 0.007 39.5)`,400:`oklch(71.4% 0.014 41.2)`,500:`oklch(54.7% 0.021 43.1)`,600:`oklch(43.8% 0.017 39.3)`,700:`oklch(36.7% 0.016 35.7)`,800:`oklch(26.8% 0.011 36.5)`,900:`oklch(21.4% 0.009 43.1)`,950:`oklch(14.7% 0.004 49.3)`},red:{50:`oklch(97.1% 0.013 17.38)`,100:`oklch(93.6% 0.032 17.717)`,200:`oklch(88.5% 0.062 18.334)`,300:`oklch(80.8% 0.114 19.571)`,400:`oklch(70.4% 0.191 22.216)`,500:`oklch(63.7% 0.237 25.331)`,600:`oklch(57.7% 0.245 27.325)`,700:`oklch(50.5% 0.213 27.518)`,800:`oklch(44.4% 0.177 26.899)`,900:`oklch(39.6% 0.141 25.723)`,950:`oklch(25.8% 0.092 26.042)`},orange:{50:`oklch(98% 0.016 73.684)`,100:`oklch(95.4% 0.038 75.164)`,200:`oklch(90.1% 0.076 70.697)`,300:`oklch(83.7% 0.128 66.29)`,400:`oklch(75% 0.183 55.934)`,500:`oklch(70.5% 0.213 47.604)`,600:`oklch(64.6% 0.222 41.116)`,700:`oklch(55.3% 0.195 38.402)`,800:`oklch(47% 0.157 37.304)`,900:`oklch(40.8% 0.123 38.172)`,950:`oklch(26.6% 0.079 36.259)`},amber:{50:`oklch(98.7% 0.022 95.277)`,100:`oklch(96.2% 0.059 95.617)`,200:`oklch(92.4% 0.12 95.746)`,300:`oklch(87.9% 0.169 91.605)`,400:`oklch(82.8% 0.189 84.429)`,500:`oklch(76.9% 0.188 70.08)`,600:`oklch(66.6% 0.179 58.318)`,700:`oklch(55.5% 0.163 48.998)`,800:`oklch(47.3% 0.137 46.201)`,900:`oklch(41.4% 0.112 45.904)`,950:`oklch(27.9% 0.077 45.635)`},yellow:{50:`oklch(98.7% 0.026 102.212)`,100:`oklch(97.3% 0.071 103.193)`,200:`oklch(94.5% 0.129 101.54)`,300:`oklch(90.5% 0.182 98.111)`,400:`oklch(85.2% 0.199 91.936)`,500:`oklch(79.5% 0.184 86.047)`,600:`oklch(68.1% 0.162 75.834)`,700:`oklch(55.4% 0.135 66.442)`,800:`oklch(47.6% 0.114 61.907)`,900:`oklch(42.1% 0.095 57.708)`,950:`oklch(28.6% 0.066 53.813)`},lime:{50:`oklch(98.6% 0.031 120.757)`,100:`oklch(96.7% 0.067 122.328)`,200:`oklch(93.8% 0.127 124.321)`,300:`oklch(89.7% 0.196 126.665)`,400:`oklch(84.1% 0.238 128.85)`,500:`oklch(76.8% 0.233 130.85)`,600:`oklch(64.8% 0.2 131.684)`,700:`oklch(53.2% 0.157 131.589)`,800:`oklch(45.3% 0.124 130.933)`,900:`oklch(40.5% 0.101 131.063)`,950:`oklch(27.4% 0.072 132.109)`},green:{50:`oklch(98.2% 0.018 155.826)`,100:`oklch(96.2% 0.044 156.743)`,200:`oklch(92.5% 0.084 155.995)`,300:`oklch(87.1% 0.15 154.449)`,400:`oklch(79.2% 0.209 151.711)`,500:`oklch(72.3% 0.219 149.579)`,600:`oklch(62.7% 0.194 149.214)`,700:`oklch(52.7% 0.154 150.069)`,800:`oklch(44.8% 0.119 151.328)`,900:`oklch(39.3% 0.095 152.535)`,950:`oklch(26.6% 0.065 152.934)`},emerald:{50:`oklch(97.9% 0.021 166.113)`,100:`oklch(95% 0.052 163.051)`,200:`oklch(90.5% 0.093 164.15)`,300:`oklch(84.5% 0.143 164.978)`,400:`oklch(76.5% 0.177 163.223)`,500:`oklch(69.6% 0.17 162.48)`,600:`oklch(59.6% 0.145 163.225)`,700:`oklch(50.8% 0.118 165.612)`,800:`oklch(43.2% 0.095 166.913)`,900:`oklch(37.8% 0.077 168.94)`,950:`oklch(26.2% 0.051 172.552)`},teal:{50:`oklch(98.4% 0.014 180.72)`,100:`oklch(95.3% 0.051 180.801)`,200:`oklch(91% 0.096 180.426)`,300:`oklch(85.5% 0.138 181.071)`,400:`oklch(77.7% 0.152 181.912)`,500:`oklch(70.4% 0.14 182.503)`,600:`oklch(60% 0.118 184.704)`,700:`oklch(51.1% 0.096 186.391)`,800:`oklch(43.7% 0.078 188.216)`,900:`oklch(38.6% 0.063 188.416)`,950:`oklch(27.7% 0.046 192.524)`},cyan:{50:`oklch(98.4% 0.019 200.873)`,100:`oklch(95.6% 0.045 203.388)`,200:`oklch(91.7% 0.08 205.041)`,300:`oklch(86.5% 0.127 207.078)`,400:`oklch(78.9% 0.154 211.53)`,500:`oklch(71.5% 0.143 215.221)`,600:`oklch(60.9% 0.126 221.723)`,700:`oklch(52% 0.105 223.128)`,800:`oklch(45% 0.085 224.283)`,900:`oklch(39.8% 0.07 227.392)`,950:`oklch(30.2% 0.056 229.695)`},sky:{50:`oklch(97.7% 0.013 236.62)`,100:`oklch(95.1% 0.026 236.824)`,200:`oklch(90.1% 0.058 230.902)`,300:`oklch(82.8% 0.111 230.318)`,400:`oklch(74.6% 0.16 232.661)`,500:`oklch(68.5% 0.169 237.323)`,600:`oklch(58.8% 0.158 241.966)`,700:`oklch(50% 0.134 242.749)`,800:`oklch(44.3% 0.11 240.79)`,900:`oklch(39.1% 0.09 240.876)`,950:`oklch(29.3% 0.066 243.157)`},blue:{50:`oklch(97% 0.014 254.604)`,100:`oklch(93.2% 0.032 255.585)`,200:`oklch(88.2% 0.059 254.128)`,300:`oklch(80.9% 0.105 251.813)`,400:`oklch(70.7% 0.165 254.624)`,500:`oklch(62.3% 0.214 259.815)`,600:`oklch(54.6% 0.245 262.881)`,700:`oklch(48.8% 0.243 264.376)`,800:`oklch(42.4% 0.199 265.638)`,900:`oklch(37.9% 0.146 265.522)`,950:`oklch(28.2% 0.091 267.935)`},indigo:{50:`oklch(96.2% 0.018 272.314)`,100:`oklch(93% 0.034 272.788)`,200:`oklch(87% 0.065 274.039)`,300:`oklch(78.5% 0.115 274.713)`,400:`oklch(67.3% 0.182 276.935)`,500:`oklch(58.5% 0.233 277.117)`,600:`oklch(51.1% 0.262 276.966)`,700:`oklch(45.7% 0.24 277.023)`,800:`oklch(39.8% 0.195 277.366)`,900:`oklch(35.9% 0.144 278.697)`,950:`oklch(25.7% 0.09 281.288)`},violet:{50:`oklch(96.9% 0.016 293.756)`,100:`oklch(94.3% 0.029 294.588)`,200:`oklch(89.4% 0.057 293.283)`,300:`oklch(81.1% 0.111 293.571)`,400:`oklch(70.2% 0.183 293.541)`,500:`oklch(60.6% 0.25 292.717)`,600:`oklch(54.1% 0.281 293.009)`,700:`oklch(49.1% 0.27 292.581)`,800:`oklch(43.2% 0.232 292.759)`,900:`oklch(38% 0.189 293.745)`,950:`oklch(28.3% 0.141 291.089)`},purple:{50:`oklch(97.7% 0.014 308.299)`,100:`oklch(94.6% 0.033 307.174)`,200:`oklch(90.2% 0.063 306.703)`,300:`oklch(82.7% 0.119 306.383)`,400:`oklch(71.4% 0.203 305.504)`,500:`oklch(62.7% 0.265 303.9)`,600:`oklch(55.8% 0.288 302.321)`,700:`oklch(49.6% 0.265 301.924)`,800:`oklch(43.8% 0.218 303.724)`,900:`oklch(38.1% 0.176 304.987)`,950:`oklch(29.1% 0.149 302.717)`},fuchsia:{50:`oklch(97.7% 0.017 320.058)`,100:`oklch(95.2% 0.037 318.852)`,200:`oklch(90.3% 0.076 319.62)`,300:`oklch(83.3% 0.145 321.434)`,400:`oklch(74% 0.238 322.16)`,500:`oklch(66.7% 0.295 322.15)`,600:`oklch(59.1% 0.293 322.896)`,700:`oklch(51.8% 0.253 323.949)`,800:`oklch(45.2% 0.211 324.591)`,900:`oklch(40.1% 0.17 325.612)`,950:`oklch(29.3% 0.136 325.661)`},pink:{50:`oklch(97.1% 0.014 343.198)`,100:`oklch(94.8% 0.028 342.258)`,200:`oklch(89.9% 0.061 343.231)`,300:`oklch(82.3% 0.12 346.018)`,400:`oklch(71.8% 0.202 349.761)`,500:`oklch(65.6% 0.241 354.308)`,600:`oklch(59.2% 0.249 0.584)`,700:`oklch(52.5% 0.223 3.958)`,800:`oklch(45.9% 0.187 3.815)`,900:`oklch(40.8% 0.153 2.432)`,950:`oklch(28.4% 0.109 3.907)`},rose:{50:`oklch(96.9% 0.015 12.422)`,100:`oklch(94.1% 0.03 12.58)`,200:`oklch(89.2% 0.058 10.001)`,300:`oklch(81% 0.117 11.638)`,400:`oklch(71.2% 0.194 13.428)`,500:`oklch(64.5% 0.246 16.439)`,600:`oklch(58.6% 0.253 17.585)`,700:`oklch(51.4% 0.222 16.935)`,800:`oklch(45.5% 0.188 13.697)`,900:`oklch(41% 0.159 10.272)`,950:`oklch(27.1% 0.105 12.094)`}},nn={},rn=(e,t)=>{if(nn[e])return nn[e];let n=D(t());return nn[e]=n,n},an=dt();function on(){return{isHydrating:!0,payload:{serverRendered:!1},hooks:an,hook:an.hook}}function sn(e){return{install(t){t.runWithContext(()=>e({vueApp:t}))}}}var cn=[50,100,200,300,400,500,600,700,800,900,950];function ln(e,t){return e in X&&typeof X[e]==`object`&&t in X[e]?X[e][t]:``}function un(e,t,n){let r=n?`${n}-`:``;return`${cn.map(n=>`--ui-color-${e}-${n}: var(--${r}color-${t===`neutral`?`old-neutral`:t}-${n}, ${ln(t,n)});`).join(`
3
3
  `)}`}function dn(e,t){return`--ui-${e}: var(--ui-color-${e}-${t});`}function fn(){document.querySelector(`[data-nuxt-ui-colors]`)?.remove()}var pn=sn(()=>{let e=h(),t=on(),n=B(()=>{let{neutral:t,...n}=e.ui.colors,r=e.ui.prefix;return`@layer theme {
4
4
  :root, :host {
@@ -25,4 +25,4 @@ Defaulting to \`null\`.`),null)}function xn(e){return Q(e)&&!Number.isNaN(e)&&e>
25
25
  would route through Vue's \`toDisplayString\`, which JSON-stringifies
26
26
  arrays — the live region would then announce literal \`[\`, quotes
27
27
  and commas instead of the toast title and description.
28
- `),(W(!0),H(z,null,U(C.value,(e,t)=>(W(),H(z,{key:t},[R(K(e),1)],64))),128))]),_:1},8,[`aria-live`])):L(`v-if`,!0),P(u).viewport.value?(W(),O(ie,{key:1,to:P(u).viewport.value},[I(P(l),null,{default:b(()=>[I(P(r),w({ref:P(s),tabindex:`0`},e.$attrs,{as:e.as,"as-child":e.asChild,"data-state":e.open?`open`:`closed`,"data-swipe-direction":P(u).swipeDirection.value,style:P(u).disableSwipe.value?void 0:{userSelect:`none`,touchAction:`none`},onPointerdown:t[0]||=T(e=>{P(u).disableSwipe.value||(d.value={x:e.clientX,y:e.clientY})},[`left`]),onPointermove:t[1]||=e=>{if(P(u).disableSwipe.value||!d.value)return;let t=e.clientX-d.value.x,n=e.clientY-d.value.y,r=!!f.value,i=[`left`,`right`].includes(P(u).swipeDirection.value),a=[`left`,`up`].includes(P(u).swipeDirection.value)?Math.min:Math.max,s=i?a(0,t):0,c=i?0:a(0,n),l=e.pointerType===`touch`?10:2,p={x:s,y:c},m={originalEvent:e,delta:p};r?(f.value=p,P(jn)(P(`toast.swipeMove`),e=>o(`swipeMove`,e),m)):P(Mn)(p,P(u).swipeDirection.value,l)?(f.value=p,P(jn)(P(`toast.swipeStart`),e=>o(`swipeStart`,e),m),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(n)>l)&&(d.value=null)},onPointerup:t[2]||=e=>{if(P(u).disableSwipe.value)return;let t=f.value,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),f.value=null,d.value=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};P(Mn)(t,P(u).swipeDirection.value,P(u).swipeThreshold.value)?P(jn)(P(`toast.swipeEnd`),e=>o(`swipeEnd`,e),r):P(jn)(P(`toast.swipeCancel`),e=>o(`swipeCancel`,e),r),n?.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}}}),{default:b(()=>[A(e.$slots,`default`,{remaining:_.value,duration:p.value})]),_:3},16,[`as`,`as-child`,`data-state`,`data-swipe-direction`,`style`])]),_:3})],8,[`to`])):L(`v-if`,!0)],64))}}),Rn=N({__name:`ToastClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Fn(),{forwardRef:i}=y();return(e,a)=>(W(),O(wn,{"as-child":``},{default:b(()=>[I(P(r),w(t,{ref:P(i),type:e.as===`button`?`button`:void 0,onClick:P(n).onClose}),{default:b(()=>[A(e.$slots,`default`)]),_:3},16,[`type`,`onClick`])]),_:3}))}}),zn=N({__name:`ToastAction`,props:{altText:{type:String,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){if(!e.altText)throw Error("Missing prop `altText` expected on `ToastAction`");let{forwardRef:t}=y();return(e,n)=>e.altText?(W(),O(wn,{key:0,"alt-text":e.altText,"as-child":``},{default:b(()=>[I(Rn,{ref:P(t),as:e.as,"as-child":e.asChild},{default:b(()=>[A(e.$slots,`default`)]),_:3},8,[`as`,`as-child`])]),_:3},8,[`alt-text`])):L(`v-if`,!0)}}),Bn=N({__name:`ToastDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return y(),(e,n)=>(W(),O(P(r),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Vn=N({__name:`ToastPortal`,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)=>(W(),O(P(Le),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Hn=N({__name:`ToastRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:`foreground`},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i}=y(),a=we(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return(e,t)=>(W(),O(P(_e),{present:e.forceMount||P(a)},{default:b(()=>[I(Ln,w({ref:P(i),open:P(a),type:e.type,as:e.as,"as-child":e.asChild,duration:e.duration},e.$attrs,{onClose:t[0]||=e=>a.value=!1,onPause:t[1]||=e=>r(`pause`),onResume:t[2]||=e=>r(`resume`),onEscapeKeyDown:t[3]||=e=>r(`escapeKeyDown`,e),onSwipeStart:t[4]||=e=>{r(`swipeStart`,e),e.defaultPrevented||e.currentTarget.setAttribute(`data-swipe`,`start`)},onSwipeMove:t[5]||=e=>{if(r(`swipeMove`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`move`),r.style.setProperty(`--reka-toast-swipe-move-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-move-y`,`${n}px`)}},onSwipeCancel:t[6]||=e=>{if(r(`swipeCancel`,e),!e.defaultPrevented){let t=e.currentTarget;t.setAttribute(`data-swipe`,`cancel`),t.style.removeProperty(`--reka-toast-swipe-move-x`),t.style.removeProperty(`--reka-toast-swipe-move-y`),t.style.removeProperty(`--reka-toast-swipe-end-x`),t.style.removeProperty(`--reka-toast-swipe-end-y`)}},onSwipeEnd:t[7]||=e=>{if(r(`swipeEnd`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`end`),r.style.removeProperty(`--reka-toast-swipe-move-x`),r.style.removeProperty(`--reka-toast-swipe-move-y`),r.style.setProperty(`--reka-toast-swipe-end-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-end-y`,`${n}px`),a.value=!1}}}),{default:b(({remaining:t,duration:n})=>[A(e.$slots,`default`,{remaining:t,duration:n,open:P(a)})]),_:3},16,[`open`,`type`,`as`,`as-child`,`duration`])]),_:3},8,[`present`]))}}),Un=N({__name:`ToastTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return y(),(e,n)=>(W(),O(P(r),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Wn=N({__name:`FocusProxy`,emits:[`focusFromOutsideViewport`],setup(e,{emit:t}){let n=t,r=Tn();return(e,t)=>(W(),O(P(_n),{tabindex:`0`,style:{position:`fixed`},onFocus:t[0]||=e=>{let t=e.relatedTarget;P(r).viewport.value?.contains(t)||n(`focusFromOutsideViewport`)}},{default:b(()=>[A(e.$slots,`default`)]),_:3}))}}),Gn=N({inheritAttrs:!1,__name:`ToastViewport`,props:{hotkey:{type:Array,required:!1,default:()=>[`F8`]},label:{type:[String,Function],required:!1,default:`Notifications ({hotkey})`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`ol`}},setup(e){let{hotkey:t,label:n}=de(e),{forwardRef:a,currentElement:c}=y(),{CollectionSlot:l,getItems:u}=le(),d=Tn(),f=B(()=>d.toastCount.value>0),p=D(),m=D(),h=/Key/g,g=/Digit/g,_=B(()=>t.value.join(`+`).replace(h,``).replace(g,``));te(t.value,()=>{c.value.focus()}),E(()=>{d.onViewportChange(c.value)}),i(e=>{let t=c.value;if(f.value&&t){let n=()=>{if(!d.isClosePausedRef.value){let e=new CustomEvent(kn);t.dispatchEvent(e),d.isClosePausedRef.value=!0}},r=()=>{if(d.isClosePausedRef.value){let e=new CustomEvent(An);t.dispatchEvent(e),d.isClosePausedRef.value=!1}},i=e=>{t.contains(e.relatedTarget)||r()},a=()=>{t.contains(Ve())||r()},o=e=>{let n=e.altKey||e.ctrlKey||e.metaKey;if(e.key===`Tab`&&!n){let n=Ve(),r=e.shiftKey;if(e.target===t&&r){p.value?.focus();return}let i=v({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);s(i.slice(a+1))?e.preventDefault():r?p.value?.focus():m.value?.focus()}};t.addEventListener(`focusin`,n),t.addEventListener(`focusout`,i),t.addEventListener(`pointermove`,n),t.addEventListener(`pointerleave`,a),t.addEventListener(`keydown`,o),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),e(()=>{t.removeEventListener(`focusin`,n),t.removeEventListener(`focusout`,i),t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerleave`,a),t.removeEventListener(`keydown`,o),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)})}});function v({tabbingDirection:e}){let t=u().map(e=>e.ref).map(t=>{let n=[t,...o(t)];return e===`forwards`?n:n.reverse()});return(e===`forwards`?t.reverse():t).flat()}return(e,t)=>(W(),O(P(gn),{role:`region`,"aria-label":typeof P(n)==`string`?P(n).replace(`{hotkey}`,_.value):P(n)(_.value),tabindex:`-1`,style:k({pointerEvents:f.value?void 0:`none`})},{default:b(()=>[f.value?(W(),O(Wn,{key:0,ref:e=>{e&&(p.value=P(ne)(e))},onFocusFromOutsideViewport:t[0]||=()=>{let e=v({tabbingDirection:`forwards`});P(s)(e)}},null,512)):L(`v-if`,!0),I(P(l),null,{default:b(()=>[I(P(r),w({ref:P(a),tabindex:`-1`,as:e.as,"as-child":e.asChild},e.$attrs),{default:b(()=>[A(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3}),f.value?(W(),O(Wn,{key:1,ref:e=>{e&&(m.value=P(ne)(e))},onFocusFromOutsideViewport:t[1]||=()=>{let e=v({tabbingDirection:`backwards`});P(s)(e)}},null,512)):L(`v-if`,!0)]),_:3},8,[`aria-label`,`style`]))}}),[Kn,qn]=a(`TooltipProvider`),Jn=N({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=de(e);y();let c=D(!0),l=D(!1),{start:u,stop:d}=Se(()=>{c.value=!0},n,{immediate:!1});return qn({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>A(e.$slots,`default`)}}),Yn=Symbol(`nuxt-ui.toast-max`);function Xn(){let e=rn(`toasts`,()=>[]),t=u(Yn,void 0),n=D(!1),r=[],i=()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`;function a(t,n){e.value[t]={...e.value[t],...n,_duplicate:(e.value[t]._duplicate||0)+1}}async function o(){if(!(n.value||r.length===0)){for(n.value=!0;r.length>0;){await p();let n=r.shift(),i=t?.value??5;if(i<=0){e.value.length&&(e.value=[]);continue}let o=e.value.findIndex(e=>e.id===n.id);if(o!==-1){a(o,n);continue}e.value=[...e.value,n].slice(-i)}n.value=!1}}function s(t){let n={id:i(),open:!0,...t},s=e.value.findIndex(e=>e.id===n.id);return s===-1?(r.push(n),o(),n):(a(s,n),n)}function c(t,n){let r=e.value.findIndex(e=>e.id===t);r!==-1&&(e.value[r]={...e.value[r],...n,duration:n.duration,open:!0,_updated:!0},p(()=>{let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value[n]._updated&&(e.value[n]={...e.value[n],_updated:void 0})}))}function l(t){let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value[n]._updated||(n!==-1&&(e.value[n]={...e.value[n],open:!1}),setTimeout(()=>{e.value=e.value.filter(e=>e.id!==t)},200))}function d(){e.value=[]}return{toasts:e,add:s,update:c,remove:l,clear:d}}var Zn={slots:{root:`gap-2`,base:`relative overflow-hidden rounded-full bg-accented`,indicator:`rounded-full size-full transition-transform duration-200 ease-out motion-reduce:transition-none motion-reduce:data-[state=indeterminate]:animate-pulse`,status:`flex text-dimmed duration-200 ease-out motion-reduce:transition-none`,steps:`grid items-end`,step:`truncate text-end row-start-1 col-start-1 transition-opacity ease-out`},variants:{animation:{carousel:``,"carousel-inverse":``,swing:``,elastic:``},color:{primary:{indicator:`bg-primary`,steps:`text-primary`},secondary:{indicator:`bg-secondary`,steps:`text-secondary`},success:{indicator:`bg-success`,steps:`text-success`},info:{indicator:`bg-info`,steps:`text-info`},warning:{indicator:`bg-warning`,steps:`text-warning`},error:{indicator:`bg-error`,steps:`text-error`},neutral:{indicator:`bg-inverted`,steps:`text-highlighted`}},size:{"2xs":{status:`text-xs`,steps:`text-xs`},xs:{status:`text-xs`,steps:`text-xs`},sm:{status:`text-sm`,steps:`text-sm`},md:{status:`text-sm`,steps:`text-sm`},lg:{status:`text-sm`,steps:`text-sm`},xl:{status:`text-base`,steps:`text-base`},"2xl":{status:`text-base`,steps:`text-base`}},step:{active:{step:`opacity-100`},first:{step:`opacity-100 text-muted`},other:{step:`opacity-0`},last:{step:``}},orientation:{horizontal:{root:`w-full flex flex-col`,base:`w-full`,status:`flex-row items-center justify-end w-(--percent) min-w-fit transition-[width]`},vertical:{root:`h-full flex flex-row-reverse`,base:`h-full`,status:`flex-col justify-end h-(--percent) min-h-fit transition-[height]`}},inverted:{true:{status:`self-end`}}},compoundVariants:[{inverted:!0,orientation:`horizontal`,class:{step:`text-start`,status:`flex-row-reverse`}},{inverted:!0,orientation:`vertical`,class:{steps:`items-start`,status:`flex-col-reverse`}},{orientation:`horizontal`,size:`2xs`,class:`h-px`},{orientation:`horizontal`,size:`xs`,class:`h-0.5`},{orientation:`horizontal`,size:`sm`,class:`h-1`},{orientation:`horizontal`,size:`md`,class:`h-2`},{orientation:`horizontal`,size:`lg`,class:`h-3`},{orientation:`horizontal`,size:`xl`,class:`h-4`},{orientation:`horizontal`,size:`2xl`,class:`h-5`},{orientation:`vertical`,size:`2xs`,class:`w-px`},{orientation:`vertical`,size:`xs`,class:`w-0.5`},{orientation:`vertical`,size:`sm`,class:`w-1`},{orientation:`vertical`,size:`md`,class:`w-2`},{orientation:`vertical`,size:`lg`,class:`w-3`},{orientation:`vertical`,size:`xl`,class:`w-4`},{orientation:`vertical`,size:`2xl`,class:`w-5`},{orientation:`horizontal`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing-vertical_2s_var(--ease-in-out)_infinite]`}},{orientation:`horizontal`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic-vertical_2s_var(--ease-in-out)_infinite]`}}],defaultVariants:{animation:`carousel`,color:`primary`,size:`md`}},Qn={__name:`Progress`,props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,i=t,a=Ie(),o=ae(`progress`,n),{dir:s}=f(),c=h(),l=fe(F(o,`getValueLabel`,`getValueText`,`modelValue`),i),u=B(()=>l.value.modelValue===null),d=B(()=>Array.isArray(o.max)),p=B(()=>{if(!u.value&&o.max)return Array.isArray(o.max)?o.max.length-1:Number(o.max)}),m=B(()=>{if(!u.value)switch(!0){case l.value.modelValue<0:return 0;case l.value.modelValue>(p.value??100):return 100;default:return Math.round(l.value.modelValue/(p.value??100)*100)}}),g=B(()=>{if(m.value!==void 0)return o.orientation===`vertical`?{transform:`translateY(${o.inverted?``:`-`}${100-m.value}%)`}:s.value===`rtl`?{transform:`translateX(${o.inverted?`-`:``}${100-m.value}%)`}:{transform:`translateX(${o.inverted?``:`-`}${100-m.value}%)`}}),_=B(()=>({"--percent":`${Math.max(m.value??0,0)}%`}));function v(e){return e===Number(o.modelValue)}function y(e){return e===0}function x(e){return e===p.value}function S(e){return e=Number(e),v(e)&&!y(e)?`active`:y(e)&&v(e)?`first`:x(e)&&v(e)?`last`:`other`}let C=B(()=>me({extend:Zn,...c.ui?.progress||{}})({animation:o.animation,size:o.size,color:o.color,orientation:o.orientation,inverted:o.inverted})),ee=B(()=>Object.keys({...Zn.variants?.color,...c.ui?.progress?.variants?.color})),T=B(()=>o.color&&!ee.value.includes(o.color)?o.color:void 0);return(e,t)=>(W(),O(P(r),{as:P(o).as,"data-orientation":P(o).orientation,"data-slot":`root`,class:G(C.value.root({class:[P(o).ui?.root,P(o).class]}))},{default:b(()=>[!u.value&&(P(o).status||a.status)?(W(),H(`div`,{key:0,"data-slot":`status`,class:G(C.value.status({class:P(o).ui?.status})),style:k(_.value)},[A(e.$slots,`status`,{percent:m.value},()=>[R(K(m.value)+`% `,1)])],6)):L(``,!0),I(P(Sn),w(P(l),{max:p.value,"data-slot":`base`,class:C.value.base({class:P(o).ui?.base}),style:{transform:`translateZ(0)`}}),{default:b(()=>[I(P(Cn),{"data-slot":`indicator`,class:G(C.value.indicator({class:P(o).ui?.indicator})),style:k([g.value,T.value?{backgroundColor:T.value}:void 0])},null,8,[`class`,`style`])]),_:1},16,[`max`,`class`]),d.value?(W(),H(`div`,{key:1,"data-slot":`steps`,class:G(C.value.steps({class:P(o).ui?.steps})),style:k(T.value?{color:T.value}:void 0)},[(W(!0),H(z,null,U(P(o).max,(t,n)=>(W(),H(`div`,{key:n,"data-slot":`step`,class:G(C.value.step({class:P(o).ui?.step,step:S(n)}))},[A(e.$slots,`step-${n}`,{step:t},()=>[R(K(t),1)])],2))),128))],6)):L(``,!0)]),_:3},8,[`as`,`data-orientation`,`class`]))}},$n={slots:{root:`relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5`,wrapper:`w-0 flex-1 flex flex-col`,title:`text-sm font-medium text-highlighted`,description:`text-sm text-muted`,icon:`shrink-0 size-5`,avatar:`shrink-0`,avatarSize:`2xl`,actions:`flex gap-1.5 shrink-0`,progress:`absolute inset-x-0 bottom-0`,close:`p-0`},variants:{color:{primary:{root:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`,icon:`text-primary`},secondary:{root:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`,icon:`text-secondary`},success:{root:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`,icon:`text-success`},info:{root:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`,icon:`text-info`},warning:{root:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`,icon:`text-warning`},error:{root:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`,icon:`text-error`},neutral:{root:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`,icon:`text-highlighted`}},orientation:{horizontal:{root:`items-center`,actions:`items-center`},vertical:{root:`items-start`,actions:`items-start mt-2.5`}},title:{true:{description:`mt-1`}}},defaultVariants:{color:`primary`}},er={__name:`Toast`,props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`vertical`},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},duration:{type:Number,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=Ie(),o=ae(`toast`,r),{t:s}=f(),c=h(),l=fe(F(o,`as`,`defaultOpen`,`open`,`duration`,`type`),i),u=B(()=>me({extend:$n,...c.ui?.toast||{}})({color:o.color,orientation:o.orientation,title:!!o.title||!!a.title})),d=S(`rootRef`),p=D(0);return E(()=>{d.value?.$el?.getBoundingClientRect&&(p.value=d.value.$el.getBoundingClientRect().height)}),t({height:p}),(e,t)=>(W(),O(P(Hn),w({ref_key:`rootRef`,ref:d},P(l),{"data-orientation":P(o).orientation,"data-slot":`root`,class:u.value.root({class:[P(o).ui?.root,P(o).class]}),style:{"--height":p.value}}),{default:b(({remaining:n,duration:r,open:i})=>[A(e.$slots,`leading`,{ui:u.value},()=>[P(o).avatar?(W(),O(De,w({key:0,size:P(o).ui?.avatarSize||u.value.avatarSize()},P(o).avatar,{"data-slot":`avatar`,class:u.value.avatar({class:P(o).ui?.avatar})}),null,16,[`size`,`class`])):P(o).icon?(W(),O(xe,{key:1,name:P(o).icon,"data-slot":`icon`,class:G(u.value.icon({class:P(o).ui?.icon}))},null,8,[`name`,`class`])):L(``,!0)]),ge(`div`,{"data-slot":`wrapper`,class:G(u.value.wrapper({class:P(o).ui?.wrapper}))},[P(o).title||a.title?(W(),O(P(Un),{key:0,"data-slot":`title`,class:G(u.value.title({class:P(o).ui?.title}))},{default:b(()=>[A(e.$slots,`title`,{},()=>[typeof P(o).title==`function`?(W(),O(M(P(o).title()),{key:0})):typeof P(o).title==`object`?(W(),O(M(P(o).title),{key:1})):(W(),H(z,{key:2},[R(K(P(o).title),1)],64))])]),_:3},8,[`class`])):L(``,!0),P(o).description||a.description?(W(),O(P(Bn),{key:1,"data-slot":`description`,class:G(u.value.description({class:P(o).ui?.description}))},{default:b(()=>[A(e.$slots,`description`,{},()=>[typeof P(o).description==`function`?(W(),O(M(P(o).description()),{key:0})):typeof P(o).description==`object`?(W(),O(M(P(o).description),{key:1})):(W(),H(z,{key:2},[R(K(P(o).description),1)],64))])]),_:3},8,[`class`])):L(``,!0),P(o).orientation===`vertical`&&(P(o).actions?.length||a.actions)?(W(),H(`div`,{key:2,"data-slot":`actions`,class:G(u.value.actions({class:P(o).ui?.actions}))},[A(e.$slots,`actions`,{},()=>[(W(!0),H(z,null,U(P(o).actions,(e,n)=>(W(),O(P(zn),{key:n,"alt-text":e.label||`Action`,"as-child":``,onClick:t[0]||=T(()=>{},[`stop`])},{default:b(()=>[I(se,w({size:`xs`,color:P(o).color},{ref_for:!0},e),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))])],2)):L(``,!0)],2),P(o).orientation===`horizontal`&&(P(o).actions?.length||a.actions)||P(o).close?(W(),H(`div`,{key:0,"data-slot":`actions`,class:G(u.value.actions({class:P(o).ui?.actions,orientation:`horizontal`}))},[P(o).orientation===`horizontal`&&(P(o).actions?.length||a.actions)?A(e.$slots,`actions`,{},()=>[(W(!0),H(z,null,U(P(o).actions,(e,n)=>(W(),O(P(zn),{key:n,"alt-text":e.label||`Action`,"as-child":``,onClick:t[1]||=T(()=>{},[`stop`])},{default:b(()=>[I(se,w({size:`xs`,color:P(o).color},{ref_for:!0},e),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))],void 0,0):L(``,!0),P(o).close||a.close?(W(),O(P(Rn),{key:1,"as-child":``},{default:b(()=>[A(e.$slots,`close`,{ui:u.value},()=>[P(o).close?(W(),O(se,w({key:0,icon:P(o).closeIcon||P(c).ui.icons.close,color:`neutral`,variant:`link`,"aria-label":P(s)(`toast.close`)},typeof P(o).close==`object`?P(o).close:{},{"data-slot":`close`,class:u.value.close({class:P(o).ui?.close}),onClick:t[2]||=T(()=>{},[`stop`])}),null,16,[`icon`,`aria-label`,`class`])):L(``,!0)])]),_:3})):L(``,!0)],2)):L(``,!0),P(o).progress&&i&&n>0&&r?(W(),O(Qn,w({key:1,"model-value":n/r*100,color:P(o).color},typeof P(o).progress==`object`?P(o).progress:{},{size:`sm`,"data-slot":`progress`,class:u.value.progress({class:P(o).ui?.progress})}),null,16,[`model-value`,`color`,`class`])):L(``,!0)]),_:3},16,[`data-orientation`,`class`,`style`]))}},tr={slots:{viewport:`fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none`,base:`pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-100 data-[state=closed]:animate-[toast-closed_200ms_var(--ease-out)] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_var(--ease-out)] motion-safe:data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_200ms_var(--ease-out)] motion-safe:data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_200ms_var(--ease-out)] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out motion-reduce:transition-none`},variants:{position:{"top-left":{viewport:`left-4`},"top-center":{viewport:`left-1/2 transform -translate-x-1/2`},"top-right":{viewport:`right-4`},"bottom-left":{viewport:`left-4`},"bottom-center":{viewport:`left-1/2 transform -translate-x-1/2`},"bottom-right":{viewport:`right-4`}},swipeDirection:{up:`data-[swipe=end]:animate-[toast-slide-up_200ms_var(--ease-out)]`,right:`data-[swipe=end]:animate-[toast-slide-right_200ms_var(--ease-out)]`,down:`data-[swipe=end]:animate-[toast-slide-down_200ms_var(--ease-out)]`,left:`data-[swipe=end]:animate-[toast-slide-left_200ms_var(--ease-out)]`}},compoundVariants:[{position:[`top-left`,`top-center`,`top-right`],class:{viewport:`top-4`,base:`top-0 data-[state=open]:animate-[toast-slide-in-from-top_200ms_var(--ease-out)]`}},{position:[`bottom-left`,`bottom-center`,`bottom-right`],class:{viewport:`bottom-4`,base:`bottom-0 data-[state=open]:animate-[toast-slide-in-from-bottom_200ms_var(--ease-out)]`}},{swipeDirection:[`left`,`right`],class:`data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=cancel]:translate-x-0`},{swipeDirection:[`up`,`down`],class:`data-[swipe=move]:translate-y-(--reka-toast-swipe-move-y) data-[swipe=end]:translate-y-(--reka-toast-swipe-end-y) data-[swipe=cancel]:translate-y-0`}],defaultVariants:{position:`bottom-right`}},nr=Object.assign({name:`Toaster`},{props:{position:{type:null,required:!1},expand:{type:Boolean,required:!1,default:!0},progress:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},max:{type:Number,required:!1,default:5},class:{type:null,required:!1},ui:{type:Object,required:!1},label:{type:String,required:!1},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeThreshold:{type:Number,required:!1}},setup(e){let t=ae(`toaster`,e),{toasts:n,remove:r}=Xn(),i=h();V(Yn,j(()=>t.max));let a=fe(F(t,`duration`,`label`,`swipeThreshold`,`disableSwipe`)),o=Be(j(()=>t.portal)),s=B(()=>{switch(t.position){case`top-center`:return`up`;case`top-right`:case`bottom-right`:return`right`;case`bottom-center`:return`down`;case`top-left`:case`bottom-left`:return`left`}return`right`}),l=B(()=>me({extend:tr,...i.ui?.toaster||{}})({position:t.position,swipeDirection:s.value}));function u(e,t){e||r(t)}let d=D(!1),f=B(()=>t.expand||d.value),p=D([]),m=B(()=>p.value.reduce((e,{height:t})=>e+t+16,0)),_=B(()=>p.value[p.value.length-1]?.height||0);function v(e){return p.value.slice(e+1).reduce((e,{height:t})=>e+t+16,0)}return(e,r)=>(W(),O(P(Dn),w({"swipe-direction":s.value},P(a)),{default:b(()=>[A(e.$slots,`default`),(W(!0),H(z,null,U(P(n),(e,r)=>(W(),O(er,w({key:e.id,ref_for:!0,ref_key:`refs`,ref:p,progress:P(t).progress},{ref_for:!0},P(g)(e,[`id`,`close`,`_duplicate`,`_updated`]),{close:e.close,"data-expanded":f.value,"data-front":!f.value&&r===P(n).length-1,"data-pulsing":e._duplicate?e._duplicate%2==0?`even`:`odd`:void 0,style:{"--index":r-P(n).length+P(n).length,"--before":P(n).length-1-r,"--offset":v(r),"--scale":f.value?`1`:`calc(1 - var(--before) * var(--scale-factor))`,"--translate":f.value?`calc(var(--offset) * var(--translate-factor))`:`calc(var(--before) * var(--gap))`,"--transform":`translateY(var(--translate)) scale(var(--scale))`},"data-slot":`base`,class:l.value.base({class:[P(t).ui?.base,e.onClick?`cursor-pointer`:void 0]}),"onUpdate:open":t=>u(t,e.id),onClick:t=>e.onClick&&e.onClick(e)}),null,16,[`progress`,`close`,`data-expanded`,`data-front`,`data-pulsing`,`style`,`class`,`onUpdate:open`,`onClick`]))),128)),I(P(Vn),q(c(P(o))),{default:b(()=>[I(P(Gn),{"data-expanded":f.value,"data-slot":`viewport`,class:G(l.value.viewport({class:[P(t).ui?.viewport,P(t).class]})),style:k({"--scale-factor":`0.05`,"--translate-factor":P(t).position?.startsWith(`top`)?`1px`:`-1px`,"--gap":P(t).position?.startsWith(`top`)?`16px`:`-16px`,"--front-height":`${_.value}px`,"--height":`${m.value}px`}),onMouseenter:r[0]||=e=>d.value=!0,onMouseleave:r[1]||=e=>d.value=!1},null,8,[`data-expanded`,`class`,`style`])]),_:1},16)]),_:3},16,[`swipe-direction`]))}});function rr(){let e=Te([]),t=(t,a)=>{let{props:o,defaultOpen:c,destroyOnClose:l}=a||{},u=je({id:Symbol(import.meta.dev?`useOverlay`:``),isOpen:!!c,component:n(t),isMounted:!!c,destroyOnClose:!!l,originalProps:o||{},props:{...o}});return e.push(u),{...u,open:e=>r(u.id,e),close:e=>i(u.id,e),patch:e=>s(u.id,e)}},r=(e,t)=>{let n=c(e);n.props=t?{...n.originalProps,...t}:{...n.originalProps},n.isOpen=!0,n.isMounted=!0;let r=new Promise(e=>n.resolvePromise=e);return Object.assign(r,{id:e,isMounted:n.isMounted,isOpen:n.isOpen,result:r})},i=(e,t)=>{let n=c(e);n.isOpen=!1,n.resolvePromise&&=(n.resolvePromise(t),void 0)},a=()=>{e.forEach(e=>i(e.id))},o=t=>{let n=c(t);if(n.isMounted=!1,n.destroyOnClose){let n=e.findIndex(e=>e.id===t);e.splice(n,1)}},s=(e,t)=>{let n=c(e);n.props={...n.props,...t}},c=t=>{let n=e.find(e=>e.id===t);if(!n)throw Error(`Overlay not found`);return n};return{overlays:e,open:r,close:i,closeAll:a,create:t,patch:s,unmount:o,isOpen:e=>c(e).isOpen}}var ir=ce(rr),ar={__name:`OverlayProvider`,setup(e){let{overlays:t,unmount:n,close:r}=ir(),i=B(()=>t.filter(e=>e.isMounted)),a=e=>{r(e),n(e)},o=(e,t)=>{r(e,t)};return(e,t)=>(W(!0),H(z,null,U(i.value,e=>(W(),O(M(e.component),w({key:e.id},{ref_for:!0},e.props,{open:e.isOpen,"onUpdate:open":t=>e.isOpen=t,onClose:t=>o(e.id,t),"onAfter:leave":t=>a(e.id)}),null,16,[`open`,`onUpdate:open`,`onClose`,`onAfter:leave`]))),128))}},or=Object.assign({name:`App`},{props:{tooltip:{type:Object,required:!1},toaster:{type:[Object,null],required:!1},locale:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:`body`},dir:{type:String,required:!1},scrollBody:{type:[Boolean,Object],required:!1},nonce:{type:String,required:!1}},setup(e){let t=e,n=v(F(t,`scrollBody`)),r=j(()=>t.tooltip),i=j(()=>t.toaster),a=j(()=>t.locale);V(ee,a);let o=j(()=>t.portal);return V(Pe,o),(o,s)=>(W(),O(P(m),w({"use-id":()=>Re(),dir:t.dir||a.value?.dir,locale:a.value?.code},P(n)),{default:b(()=>[I(P(Jn),q(c(r.value)),{default:b(()=>[e.toaster===null?A(o.$slots,`default`,{},void 0,void 0,1):(W(),O(nr,q(w({key:0},i.value)),{default:b(()=>[A(o.$slots,`default`)]),_:3},16)),I(ar)]),_:3},16)]),_:3},16,[`use-id`,`dir`,`locale`]))}}),sr=N({__name:`App`,setup(e){return V(Me,Ce()),(e,t)=>{let n=be(`RouterView`),r=or;return W(),O(r,null,{default:b(()=>[I(n)]),_:1})}}}),cr=`modulepreload`,lr=function(e){return`/`+e},ur={},$=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=lr(t,n),t=s(t),t in ur)return;ur[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`:cr,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}`)))})}))}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)})},dr=[{path:`/runs`,component:()=>$(()=>import(`./RunsIndexPage-CM-qxyQm.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))},{path:`/runs/scheduled`,component:()=>$(()=>import(`./ScheduledPage-C1psvLD4.js`),__vite__mapDeps([9,1,2,3,4,6,8]))},{path:`/runs/:id`,component:()=>$(()=>import(`./RunRoutePage-ty94olNM.js`),__vite__mapDeps([10,1,2,3,11,4,6,7,8,12]))},{path:`/residents`,component:()=>$(()=>import(`./ResidentsIndexPage-B3uxKUne.js`),__vite__mapDeps([13,1,2,5,3,14,6]))},{path:`/residents/:owner/:name`,component:()=>$(()=>import(`./ResidentDetailPage-DvQ05AGa.js`),__vite__mapDeps([15,1,2,5,3,14]))},{path:`/costs/:group?`,component:()=>$(()=>import(`./CostsPage-CTZcMYYx.js`),__vite__mapDeps([16,1,2]))},{path:`/:pathMatch(.*)*`,component:()=>$(()=>import(`./NotFoundPage-C-BuaSm8.js`).then(e=>e.n),__vite__mapDeps([11,1,2,4]))}],fr=ze(sr),pr=pe({history:oe(),routes:dr});fr.use(pr),fr.use(hn),fr.mount(`#app`);export{_n as n,Kn as t};
28
+ `),(W(!0),H(z,null,U(C.value,(e,t)=>(W(),H(z,{key:t},[R(K(e),1)],64))),128))]),_:1},8,[`aria-live`])):L(`v-if`,!0),P(u).viewport.value?(W(),O(ie,{key:1,to:P(u).viewport.value},[I(P(l),null,{default:b(()=>[I(P(r),w({ref:P(s),tabindex:`0`},e.$attrs,{as:e.as,"as-child":e.asChild,"data-state":e.open?`open`:`closed`,"data-swipe-direction":P(u).swipeDirection.value,style:P(u).disableSwipe.value?void 0:{userSelect:`none`,touchAction:`none`},onPointerdown:t[0]||=T(e=>{P(u).disableSwipe.value||(d.value={x:e.clientX,y:e.clientY})},[`left`]),onPointermove:t[1]||=e=>{if(P(u).disableSwipe.value||!d.value)return;let t=e.clientX-d.value.x,n=e.clientY-d.value.y,r=!!f.value,i=[`left`,`right`].includes(P(u).swipeDirection.value),a=[`left`,`up`].includes(P(u).swipeDirection.value)?Math.min:Math.max,s=i?a(0,t):0,c=i?0:a(0,n),l=e.pointerType===`touch`?10:2,p={x:s,y:c},m={originalEvent:e,delta:p};r?(f.value=p,P(jn)(P(`toast.swipeMove`),e=>o(`swipeMove`,e),m)):P(Mn)(p,P(u).swipeDirection.value,l)?(f.value=p,P(jn)(P(`toast.swipeStart`),e=>o(`swipeStart`,e),m),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(n)>l)&&(d.value=null)},onPointerup:t[2]||=e=>{if(P(u).disableSwipe.value)return;let t=f.value,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),f.value=null,d.value=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};P(Mn)(t,P(u).swipeDirection.value,P(u).swipeThreshold.value)?P(jn)(P(`toast.swipeEnd`),e=>o(`swipeEnd`,e),r):P(jn)(P(`toast.swipeCancel`),e=>o(`swipeCancel`,e),r),n?.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}}}),{default:b(()=>[A(e.$slots,`default`,{remaining:_.value,duration:p.value})]),_:3},16,[`as`,`as-child`,`data-state`,`data-swipe-direction`,`style`])]),_:3})],8,[`to`])):L(`v-if`,!0)],64))}}),Rn=N({__name:`ToastClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Fn(),{forwardRef:i}=y();return(e,a)=>(W(),O(wn,{"as-child":``},{default:b(()=>[I(P(r),w(t,{ref:P(i),type:e.as===`button`?`button`:void 0,onClick:P(n).onClose}),{default:b(()=>[A(e.$slots,`default`)]),_:3},16,[`type`,`onClick`])]),_:3}))}}),zn=N({__name:`ToastAction`,props:{altText:{type:String,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){if(!e.altText)throw Error("Missing prop `altText` expected on `ToastAction`");let{forwardRef:t}=y();return(e,n)=>e.altText?(W(),O(wn,{key:0,"alt-text":e.altText,"as-child":``},{default:b(()=>[I(Rn,{ref:P(t),as:e.as,"as-child":e.asChild},{default:b(()=>[A(e.$slots,`default`)]),_:3},8,[`as`,`as-child`])]),_:3},8,[`alt-text`])):L(`v-if`,!0)}}),Bn=N({__name:`ToastDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return y(),(e,n)=>(W(),O(P(r),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Vn=N({__name:`ToastPortal`,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)=>(W(),O(P(Le),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Hn=N({__name:`ToastRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:`foreground`},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i}=y(),a=we(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return(e,t)=>(W(),O(P(_e),{present:e.forceMount||P(a)},{default:b(()=>[I(Ln,w({ref:P(i),open:P(a),type:e.type,as:e.as,"as-child":e.asChild,duration:e.duration},e.$attrs,{onClose:t[0]||=e=>a.value=!1,onPause:t[1]||=e=>r(`pause`),onResume:t[2]||=e=>r(`resume`),onEscapeKeyDown:t[3]||=e=>r(`escapeKeyDown`,e),onSwipeStart:t[4]||=e=>{r(`swipeStart`,e),e.defaultPrevented||e.currentTarget.setAttribute(`data-swipe`,`start`)},onSwipeMove:t[5]||=e=>{if(r(`swipeMove`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`move`),r.style.setProperty(`--reka-toast-swipe-move-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-move-y`,`${n}px`)}},onSwipeCancel:t[6]||=e=>{if(r(`swipeCancel`,e),!e.defaultPrevented){let t=e.currentTarget;t.setAttribute(`data-swipe`,`cancel`),t.style.removeProperty(`--reka-toast-swipe-move-x`),t.style.removeProperty(`--reka-toast-swipe-move-y`),t.style.removeProperty(`--reka-toast-swipe-end-x`),t.style.removeProperty(`--reka-toast-swipe-end-y`)}},onSwipeEnd:t[7]||=e=>{if(r(`swipeEnd`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`end`),r.style.removeProperty(`--reka-toast-swipe-move-x`),r.style.removeProperty(`--reka-toast-swipe-move-y`),r.style.setProperty(`--reka-toast-swipe-end-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-end-y`,`${n}px`),a.value=!1}}}),{default:b(({remaining:t,duration:n})=>[A(e.$slots,`default`,{remaining:t,duration:n,open:P(a)})]),_:3},16,[`open`,`type`,`as`,`as-child`,`duration`])]),_:3},8,[`present`]))}}),Un=N({__name:`ToastTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return y(),(e,n)=>(W(),O(P(r),q(c(t)),{default:b(()=>[A(e.$slots,`default`)]),_:3},16))}}),Wn=N({__name:`FocusProxy`,emits:[`focusFromOutsideViewport`],setup(e,{emit:t}){let n=t,r=Tn();return(e,t)=>(W(),O(P(_n),{tabindex:`0`,style:{position:`fixed`},onFocus:t[0]||=e=>{let t=e.relatedTarget;P(r).viewport.value?.contains(t)||n(`focusFromOutsideViewport`)}},{default:b(()=>[A(e.$slots,`default`)]),_:3}))}}),Gn=N({inheritAttrs:!1,__name:`ToastViewport`,props:{hotkey:{type:Array,required:!1,default:()=>[`F8`]},label:{type:[String,Function],required:!1,default:`Notifications ({hotkey})`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`ol`}},setup(e){let{hotkey:t,label:n}=de(e),{forwardRef:a,currentElement:c}=y(),{CollectionSlot:l,getItems:u}=le(),d=Tn(),f=B(()=>d.toastCount.value>0),p=D(),m=D(),h=/Key/g,g=/Digit/g,_=B(()=>t.value.join(`+`).replace(h,``).replace(g,``));te(t.value,()=>{c.value.focus()}),E(()=>{d.onViewportChange(c.value)}),i(e=>{let t=c.value;if(f.value&&t){let n=()=>{if(!d.isClosePausedRef.value){let e=new CustomEvent(kn);t.dispatchEvent(e),d.isClosePausedRef.value=!0}},r=()=>{if(d.isClosePausedRef.value){let e=new CustomEvent(An);t.dispatchEvent(e),d.isClosePausedRef.value=!1}},i=e=>{t.contains(e.relatedTarget)||r()},a=()=>{t.contains(Ve())||r()},o=e=>{let n=e.altKey||e.ctrlKey||e.metaKey;if(e.key===`Tab`&&!n){let n=Ve(),r=e.shiftKey;if(e.target===t&&r){p.value?.focus();return}let i=v({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);s(i.slice(a+1))?e.preventDefault():r?p.value?.focus():m.value?.focus()}};t.addEventListener(`focusin`,n),t.addEventListener(`focusout`,i),t.addEventListener(`pointermove`,n),t.addEventListener(`pointerleave`,a),t.addEventListener(`keydown`,o),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),e(()=>{t.removeEventListener(`focusin`,n),t.removeEventListener(`focusout`,i),t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerleave`,a),t.removeEventListener(`keydown`,o),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)})}});function v({tabbingDirection:e}){let t=u().map(e=>e.ref).map(t=>{let n=[t,...o(t)];return e===`forwards`?n:n.reverse()});return(e===`forwards`?t.reverse():t).flat()}return(e,t)=>(W(),O(P(gn),{role:`region`,"aria-label":typeof P(n)==`string`?P(n).replace(`{hotkey}`,_.value):P(n)(_.value),tabindex:`-1`,style:k({pointerEvents:f.value?void 0:`none`})},{default:b(()=>[f.value?(W(),O(Wn,{key:0,ref:e=>{e&&(p.value=P(ne)(e))},onFocusFromOutsideViewport:t[0]||=()=>{let e=v({tabbingDirection:`forwards`});P(s)(e)}},null,512)):L(`v-if`,!0),I(P(l),null,{default:b(()=>[I(P(r),w({ref:P(a),tabindex:`-1`,as:e.as,"as-child":e.asChild},e.$attrs),{default:b(()=>[A(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3}),f.value?(W(),O(Wn,{key:1,ref:e=>{e&&(m.value=P(ne)(e))},onFocusFromOutsideViewport:t[1]||=()=>{let e=v({tabbingDirection:`backwards`});P(s)(e)}},null,512)):L(`v-if`,!0)]),_:3},8,[`aria-label`,`style`]))}}),[Kn,qn]=a(`TooltipProvider`),Jn=N({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=de(e);y();let c=D(!0),l=D(!1),{start:u,stop:d}=Se(()=>{c.value=!0},n,{immediate:!1});return qn({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>A(e.$slots,`default`)}}),Yn=Symbol(`nuxt-ui.toast-max`);function Xn(){let e=rn(`toasts`,()=>[]),t=u(Yn,void 0),n=D(!1),r=[],i=()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`;function a(t,n){e.value[t]={...e.value[t],...n,_duplicate:(e.value[t]._duplicate||0)+1}}async function o(){if(!(n.value||r.length===0)){for(n.value=!0;r.length>0;){await p();let n=r.shift(),i=t?.value??5;if(i<=0){e.value.length&&(e.value=[]);continue}let o=e.value.findIndex(e=>e.id===n.id);if(o!==-1){a(o,n);continue}e.value=[...e.value,n].slice(-i)}n.value=!1}}function s(t){let n={id:i(),open:!0,...t},s=e.value.findIndex(e=>e.id===n.id);return s===-1?(r.push(n),o(),n):(a(s,n),n)}function c(t,n){let r=e.value.findIndex(e=>e.id===t);r!==-1&&(e.value[r]={...e.value[r],...n,duration:n.duration,open:!0,_updated:!0},p(()=>{let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value[n]._updated&&(e.value[n]={...e.value[n],_updated:void 0})}))}function l(t){let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value[n]._updated||(n!==-1&&(e.value[n]={...e.value[n],open:!1}),setTimeout(()=>{e.value=e.value.filter(e=>e.id!==t)},200))}function d(){e.value=[]}return{toasts:e,add:s,update:c,remove:l,clear:d}}var Zn={slots:{root:`gap-2`,base:`relative overflow-hidden rounded-full bg-accented`,indicator:`rounded-full size-full transition-transform duration-200 ease-out motion-reduce:transition-none motion-reduce:data-[state=indeterminate]:animate-pulse`,status:`flex text-dimmed duration-200 ease-out motion-reduce:transition-none`,steps:`grid items-end`,step:`truncate text-end row-start-1 col-start-1 transition-opacity ease-out`},variants:{animation:{carousel:``,"carousel-inverse":``,swing:``,elastic:``},color:{primary:{indicator:`bg-primary`,steps:`text-primary`},secondary:{indicator:`bg-secondary`,steps:`text-secondary`},success:{indicator:`bg-success`,steps:`text-success`},info:{indicator:`bg-info`,steps:`text-info`},warning:{indicator:`bg-warning`,steps:`text-warning`},error:{indicator:`bg-error`,steps:`text-error`},neutral:{indicator:`bg-inverted`,steps:`text-highlighted`}},size:{"2xs":{status:`text-xs`,steps:`text-xs`},xs:{status:`text-xs`,steps:`text-xs`},sm:{status:`text-sm`,steps:`text-sm`},md:{status:`text-sm`,steps:`text-sm`},lg:{status:`text-sm`,steps:`text-sm`},xl:{status:`text-base`,steps:`text-base`},"2xl":{status:`text-base`,steps:`text-base`}},step:{active:{step:`opacity-100`},first:{step:`opacity-100 text-muted`},other:{step:`opacity-0`},last:{step:``}},orientation:{horizontal:{root:`w-full flex flex-col`,base:`w-full`,status:`flex-row items-center justify-end w-(--percent) min-w-fit transition-[width]`},vertical:{root:`h-full flex flex-row-reverse`,base:`h-full`,status:`flex-col justify-end h-(--percent) min-h-fit transition-[height]`}},inverted:{true:{status:`self-end`}}},compoundVariants:[{inverted:!0,orientation:`horizontal`,class:{step:`text-start`,status:`flex-row-reverse`}},{inverted:!0,orientation:`vertical`,class:{steps:`items-start`,status:`flex-col-reverse`}},{orientation:`horizontal`,size:`2xs`,class:`h-px`},{orientation:`horizontal`,size:`xs`,class:`h-0.5`},{orientation:`horizontal`,size:`sm`,class:`h-1`},{orientation:`horizontal`,size:`md`,class:`h-2`},{orientation:`horizontal`,size:`lg`,class:`h-3`},{orientation:`horizontal`,size:`xl`,class:`h-4`},{orientation:`horizontal`,size:`2xl`,class:`h-5`},{orientation:`vertical`,size:`2xs`,class:`w-px`},{orientation:`vertical`,size:`xs`,class:`w-0.5`},{orientation:`vertical`,size:`sm`,class:`w-1`},{orientation:`vertical`,size:`md`,class:`w-2`},{orientation:`vertical`,size:`lg`,class:`w-3`},{orientation:`vertical`,size:`xl`,class:`w-4`},{orientation:`vertical`,size:`2xl`,class:`w-5`},{orientation:`horizontal`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse_2s_linear_infinite] motion-safe:data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_linear_infinite]`}},{orientation:`vertical`,animation:`carousel-inverse`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_linear_infinite]`}},{orientation:`horizontal`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`swing`,class:{indicator:`motion-safe:data-[state=indeterminate]:animate-[swing-vertical_2s_var(--ease-in-out)_infinite]`}},{orientation:`horizontal`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic_2s_var(--ease-in-out)_infinite]`}},{orientation:`vertical`,animation:`elastic`,class:{indicator:`relative motion-safe:data-[state=indeterminate]:animate-[elastic-vertical_2s_var(--ease-in-out)_infinite]`}}],defaultVariants:{animation:`carousel`,color:`primary`,size:`md`}},Qn={__name:`Progress`,props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,i=t,a=Ie(),o=ae(`progress`,n),{dir:s}=f(),c=h(),l=fe(F(o,`getValueLabel`,`getValueText`,`modelValue`),i),u=B(()=>l.value.modelValue===null),d=B(()=>Array.isArray(o.max)),p=B(()=>{if(!u.value&&o.max)return Array.isArray(o.max)?o.max.length-1:Number(o.max)}),m=B(()=>{if(!u.value)switch(!0){case l.value.modelValue<0:return 0;case l.value.modelValue>(p.value??100):return 100;default:return Math.round(l.value.modelValue/(p.value??100)*100)}}),g=B(()=>{if(m.value!==void 0)return o.orientation===`vertical`?{transform:`translateY(${o.inverted?``:`-`}${100-m.value}%)`}:s.value===`rtl`?{transform:`translateX(${o.inverted?`-`:``}${100-m.value}%)`}:{transform:`translateX(${o.inverted?``:`-`}${100-m.value}%)`}}),_=B(()=>({"--percent":`${Math.max(m.value??0,0)}%`}));function v(e){return e===Number(o.modelValue)}function y(e){return e===0}function x(e){return e===p.value}function S(e){return e=Number(e),v(e)&&!y(e)?`active`:y(e)&&v(e)?`first`:x(e)&&v(e)?`last`:`other`}let C=B(()=>me({extend:Zn,...c.ui?.progress||{}})({animation:o.animation,size:o.size,color:o.color,orientation:o.orientation,inverted:o.inverted})),ee=B(()=>Object.keys({...Zn.variants?.color,...c.ui?.progress?.variants?.color})),T=B(()=>o.color&&!ee.value.includes(o.color)?o.color:void 0);return(e,t)=>(W(),O(P(r),{as:P(o).as,"data-orientation":P(o).orientation,"data-slot":`root`,class:G(C.value.root({class:[P(o).ui?.root,P(o).class]}))},{default:b(()=>[!u.value&&(P(o).status||a.status)?(W(),H(`div`,{key:0,"data-slot":`status`,class:G(C.value.status({class:P(o).ui?.status})),style:k(_.value)},[A(e.$slots,`status`,{percent:m.value},()=>[R(K(m.value)+`% `,1)])],6)):L(``,!0),I(P(Sn),w(P(l),{max:p.value,"data-slot":`base`,class:C.value.base({class:P(o).ui?.base}),style:{transform:`translateZ(0)`}}),{default:b(()=>[I(P(Cn),{"data-slot":`indicator`,class:G(C.value.indicator({class:P(o).ui?.indicator})),style:k([g.value,T.value?{backgroundColor:T.value}:void 0])},null,8,[`class`,`style`])]),_:1},16,[`max`,`class`]),d.value?(W(),H(`div`,{key:1,"data-slot":`steps`,class:G(C.value.steps({class:P(o).ui?.steps})),style:k(T.value?{color:T.value}:void 0)},[(W(!0),H(z,null,U(P(o).max,(t,n)=>(W(),H(`div`,{key:n,"data-slot":`step`,class:G(C.value.step({class:P(o).ui?.step,step:S(n)}))},[A(e.$slots,`step-${n}`,{step:t},()=>[R(K(t),1)])],2))),128))],6)):L(``,!0)]),_:3},8,[`as`,`data-orientation`,`class`]))}},$n={slots:{root:`relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5`,wrapper:`w-0 flex-1 flex flex-col`,title:`text-sm font-medium text-highlighted`,description:`text-sm text-muted`,icon:`shrink-0 size-5`,avatar:`shrink-0`,avatarSize:`2xl`,actions:`flex gap-1.5 shrink-0`,progress:`absolute inset-x-0 bottom-0`,close:`p-0`},variants:{color:{primary:{root:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`,icon:`text-primary`},secondary:{root:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`,icon:`text-secondary`},success:{root:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`,icon:`text-success`},info:{root:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`,icon:`text-info`},warning:{root:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`,icon:`text-warning`},error:{root:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`,icon:`text-error`},neutral:{root:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`,icon:`text-highlighted`}},orientation:{horizontal:{root:`items-center`,actions:`items-center`},vertical:{root:`items-start`,actions:`items-start mt-2.5`}},title:{true:{description:`mt-1`}}},defaultVariants:{color:`primary`}},er={__name:`Toast`,props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`vertical`},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},duration:{type:Number,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=Ie(),o=ae(`toast`,r),{t:s}=f(),c=h(),l=fe(F(o,`as`,`defaultOpen`,`open`,`duration`,`type`),i),u=B(()=>me({extend:$n,...c.ui?.toast||{}})({color:o.color,orientation:o.orientation,title:!!o.title||!!a.title})),d=S(`rootRef`),p=D(0);return E(()=>{d.value?.$el?.getBoundingClientRect&&(p.value=d.value.$el.getBoundingClientRect().height)}),t({height:p}),(e,t)=>(W(),O(P(Hn),w({ref_key:`rootRef`,ref:d},P(l),{"data-orientation":P(o).orientation,"data-slot":`root`,class:u.value.root({class:[P(o).ui?.root,P(o).class]}),style:{"--height":p.value}}),{default:b(({remaining:n,duration:r,open:i})=>[A(e.$slots,`leading`,{ui:u.value},()=>[P(o).avatar?(W(),O(De,w({key:0,size:P(o).ui?.avatarSize||u.value.avatarSize()},P(o).avatar,{"data-slot":`avatar`,class:u.value.avatar({class:P(o).ui?.avatar})}),null,16,[`size`,`class`])):P(o).icon?(W(),O(xe,{key:1,name:P(o).icon,"data-slot":`icon`,class:G(u.value.icon({class:P(o).ui?.icon}))},null,8,[`name`,`class`])):L(``,!0)]),ge(`div`,{"data-slot":`wrapper`,class:G(u.value.wrapper({class:P(o).ui?.wrapper}))},[P(o).title||a.title?(W(),O(P(Un),{key:0,"data-slot":`title`,class:G(u.value.title({class:P(o).ui?.title}))},{default:b(()=>[A(e.$slots,`title`,{},()=>[typeof P(o).title==`function`?(W(),O(M(P(o).title()),{key:0})):typeof P(o).title==`object`?(W(),O(M(P(o).title),{key:1})):(W(),H(z,{key:2},[R(K(P(o).title),1)],64))])]),_:3},8,[`class`])):L(``,!0),P(o).description||a.description?(W(),O(P(Bn),{key:1,"data-slot":`description`,class:G(u.value.description({class:P(o).ui?.description}))},{default:b(()=>[A(e.$slots,`description`,{},()=>[typeof P(o).description==`function`?(W(),O(M(P(o).description()),{key:0})):typeof P(o).description==`object`?(W(),O(M(P(o).description),{key:1})):(W(),H(z,{key:2},[R(K(P(o).description),1)],64))])]),_:3},8,[`class`])):L(``,!0),P(o).orientation===`vertical`&&(P(o).actions?.length||a.actions)?(W(),H(`div`,{key:2,"data-slot":`actions`,class:G(u.value.actions({class:P(o).ui?.actions}))},[A(e.$slots,`actions`,{},()=>[(W(!0),H(z,null,U(P(o).actions,(e,n)=>(W(),O(P(zn),{key:n,"alt-text":e.label||`Action`,"as-child":``,onClick:t[0]||=T(()=>{},[`stop`])},{default:b(()=>[I(se,w({size:`xs`,color:P(o).color},{ref_for:!0},e),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))])],2)):L(``,!0)],2),P(o).orientation===`horizontal`&&(P(o).actions?.length||a.actions)||P(o).close?(W(),H(`div`,{key:0,"data-slot":`actions`,class:G(u.value.actions({class:P(o).ui?.actions,orientation:`horizontal`}))},[P(o).orientation===`horizontal`&&(P(o).actions?.length||a.actions)?A(e.$slots,`actions`,{},()=>[(W(!0),H(z,null,U(P(o).actions,(e,n)=>(W(),O(P(zn),{key:n,"alt-text":e.label||`Action`,"as-child":``,onClick:t[1]||=T(()=>{},[`stop`])},{default:b(()=>[I(se,w({size:`xs`,color:P(o).color},{ref_for:!0},e),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))],void 0,0):L(``,!0),P(o).close||a.close?(W(),O(P(Rn),{key:1,"as-child":``},{default:b(()=>[A(e.$slots,`close`,{ui:u.value},()=>[P(o).close?(W(),O(se,w({key:0,icon:P(o).closeIcon||P(c).ui.icons.close,color:`neutral`,variant:`link`,"aria-label":P(s)(`toast.close`)},typeof P(o).close==`object`?P(o).close:{},{"data-slot":`close`,class:u.value.close({class:P(o).ui?.close}),onClick:t[2]||=T(()=>{},[`stop`])}),null,16,[`icon`,`aria-label`,`class`])):L(``,!0)])]),_:3})):L(``,!0)],2)):L(``,!0),P(o).progress&&i&&n>0&&r?(W(),O(Qn,w({key:1,"model-value":n/r*100,color:P(o).color},typeof P(o).progress==`object`?P(o).progress:{},{size:`sm`,"data-slot":`progress`,class:u.value.progress({class:P(o).ui?.progress})}),null,16,[`model-value`,`color`,`class`])):L(``,!0)]),_:3},16,[`data-orientation`,`class`,`style`]))}},tr={slots:{viewport:`fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none`,base:`pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-100 data-[state=closed]:animate-[toast-closed_200ms_var(--ease-out)] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_var(--ease-out)] motion-safe:data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_200ms_var(--ease-out)] motion-safe:data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_200ms_var(--ease-out)] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out motion-reduce:transition-none`},variants:{position:{"top-left":{viewport:`left-4`},"top-center":{viewport:`left-1/2 transform -translate-x-1/2`},"top-right":{viewport:`right-4`},"bottom-left":{viewport:`left-4`},"bottom-center":{viewport:`left-1/2 transform -translate-x-1/2`},"bottom-right":{viewport:`right-4`}},swipeDirection:{up:`data-[swipe=end]:animate-[toast-slide-up_200ms_var(--ease-out)]`,right:`data-[swipe=end]:animate-[toast-slide-right_200ms_var(--ease-out)]`,down:`data-[swipe=end]:animate-[toast-slide-down_200ms_var(--ease-out)]`,left:`data-[swipe=end]:animate-[toast-slide-left_200ms_var(--ease-out)]`}},compoundVariants:[{position:[`top-left`,`top-center`,`top-right`],class:{viewport:`top-4`,base:`top-0 data-[state=open]:animate-[toast-slide-in-from-top_200ms_var(--ease-out)]`}},{position:[`bottom-left`,`bottom-center`,`bottom-right`],class:{viewport:`bottom-4`,base:`bottom-0 data-[state=open]:animate-[toast-slide-in-from-bottom_200ms_var(--ease-out)]`}},{swipeDirection:[`left`,`right`],class:`data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=cancel]:translate-x-0`},{swipeDirection:[`up`,`down`],class:`data-[swipe=move]:translate-y-(--reka-toast-swipe-move-y) data-[swipe=end]:translate-y-(--reka-toast-swipe-end-y) data-[swipe=cancel]:translate-y-0`}],defaultVariants:{position:`bottom-right`}},nr=Object.assign({name:`Toaster`},{props:{position:{type:null,required:!1},expand:{type:Boolean,required:!1,default:!0},progress:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},max:{type:Number,required:!1,default:5},class:{type:null,required:!1},ui:{type:Object,required:!1},label:{type:String,required:!1},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeThreshold:{type:Number,required:!1}},setup(e){let t=ae(`toaster`,e),{toasts:n,remove:r}=Xn(),i=h();V(Yn,j(()=>t.max));let a=fe(F(t,`duration`,`label`,`swipeThreshold`,`disableSwipe`)),o=Be(j(()=>t.portal)),s=B(()=>{switch(t.position){case`top-center`:return`up`;case`top-right`:case`bottom-right`:return`right`;case`bottom-center`:return`down`;case`top-left`:case`bottom-left`:return`left`}return`right`}),l=B(()=>me({extend:tr,...i.ui?.toaster||{}})({position:t.position,swipeDirection:s.value}));function u(e,t){e||r(t)}let d=D(!1),f=B(()=>t.expand||d.value),p=D([]),m=B(()=>p.value.reduce((e,{height:t})=>e+t+16,0)),_=B(()=>p.value[p.value.length-1]?.height||0);function v(e){return p.value.slice(e+1).reduce((e,{height:t})=>e+t+16,0)}return(e,r)=>(W(),O(P(Dn),w({"swipe-direction":s.value},P(a)),{default:b(()=>[A(e.$slots,`default`),(W(!0),H(z,null,U(P(n),(e,r)=>(W(),O(er,w({key:e.id,ref_for:!0,ref_key:`refs`,ref:p,progress:P(t).progress},{ref_for:!0},P(g)(e,[`id`,`close`,`_duplicate`,`_updated`]),{close:e.close,"data-expanded":f.value,"data-front":!f.value&&r===P(n).length-1,"data-pulsing":e._duplicate?e._duplicate%2==0?`even`:`odd`:void 0,style:{"--index":r-P(n).length+P(n).length,"--before":P(n).length-1-r,"--offset":v(r),"--scale":f.value?`1`:`calc(1 - var(--before) * var(--scale-factor))`,"--translate":f.value?`calc(var(--offset) * var(--translate-factor))`:`calc(var(--before) * var(--gap))`,"--transform":`translateY(var(--translate)) scale(var(--scale))`},"data-slot":`base`,class:l.value.base({class:[P(t).ui?.base,e.onClick?`cursor-pointer`:void 0]}),"onUpdate:open":t=>u(t,e.id),onClick:t=>e.onClick&&e.onClick(e)}),null,16,[`progress`,`close`,`data-expanded`,`data-front`,`data-pulsing`,`style`,`class`,`onUpdate:open`,`onClick`]))),128)),I(P(Vn),q(c(P(o))),{default:b(()=>[I(P(Gn),{"data-expanded":f.value,"data-slot":`viewport`,class:G(l.value.viewport({class:[P(t).ui?.viewport,P(t).class]})),style:k({"--scale-factor":`0.05`,"--translate-factor":P(t).position?.startsWith(`top`)?`1px`:`-1px`,"--gap":P(t).position?.startsWith(`top`)?`16px`:`-16px`,"--front-height":`${_.value}px`,"--height":`${m.value}px`}),onMouseenter:r[0]||=e=>d.value=!0,onMouseleave:r[1]||=e=>d.value=!1},null,8,[`data-expanded`,`class`,`style`])]),_:1},16)]),_:3},16,[`swipe-direction`]))}});function rr(){let e=Te([]),t=(t,a)=>{let{props:o,defaultOpen:c,destroyOnClose:l}=a||{},u=je({id:Symbol(import.meta.dev?`useOverlay`:``),isOpen:!!c,component:n(t),isMounted:!!c,destroyOnClose:!!l,originalProps:o||{},props:{...o}});return e.push(u),{...u,open:e=>r(u.id,e),close:e=>i(u.id,e),patch:e=>s(u.id,e)}},r=(e,t)=>{let n=c(e);n.props=t?{...n.originalProps,...t}:{...n.originalProps},n.isOpen=!0,n.isMounted=!0;let r=new Promise(e=>n.resolvePromise=e);return Object.assign(r,{id:e,isMounted:n.isMounted,isOpen:n.isOpen,result:r})},i=(e,t)=>{let n=c(e);n.isOpen=!1,n.resolvePromise&&=(n.resolvePromise(t),void 0)},a=()=>{e.forEach(e=>i(e.id))},o=t=>{let n=c(t);if(n.isMounted=!1,n.destroyOnClose){let n=e.findIndex(e=>e.id===t);e.splice(n,1)}},s=(e,t)=>{let n=c(e);n.props={...n.props,...t}},c=t=>{let n=e.find(e=>e.id===t);if(!n)throw Error(`Overlay not found`);return n};return{overlays:e,open:r,close:i,closeAll:a,create:t,patch:s,unmount:o,isOpen:e=>c(e).isOpen}}var ir=ce(rr),ar={__name:`OverlayProvider`,setup(e){let{overlays:t,unmount:n,close:r}=ir(),i=B(()=>t.filter(e=>e.isMounted)),a=e=>{r(e),n(e)},o=(e,t)=>{r(e,t)};return(e,t)=>(W(!0),H(z,null,U(i.value,e=>(W(),O(M(e.component),w({key:e.id},{ref_for:!0},e.props,{open:e.isOpen,"onUpdate:open":t=>e.isOpen=t,onClose:t=>o(e.id,t),"onAfter:leave":t=>a(e.id)}),null,16,[`open`,`onUpdate:open`,`onClose`,`onAfter:leave`]))),128))}},or=Object.assign({name:`App`},{props:{tooltip:{type:Object,required:!1},toaster:{type:[Object,null],required:!1},locale:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:`body`},dir:{type:String,required:!1},scrollBody:{type:[Boolean,Object],required:!1},nonce:{type:String,required:!1}},setup(e){let t=e,n=v(F(t,`scrollBody`)),r=j(()=>t.tooltip),i=j(()=>t.toaster),a=j(()=>t.locale);V(ee,a);let o=j(()=>t.portal);return V(Pe,o),(o,s)=>(W(),O(P(m),w({"use-id":()=>Re(),dir:t.dir||a.value?.dir,locale:a.value?.code},P(n)),{default:b(()=>[I(P(Jn),q(c(r.value)),{default:b(()=>[e.toaster===null?A(o.$slots,`default`,{},void 0,void 0,1):(W(),O(nr,q(w({key:0},i.value)),{default:b(()=>[A(o.$slots,`default`)]),_:3},16)),I(ar)]),_:3},16)]),_:3},16,[`use-id`,`dir`,`locale`]))}}),sr=N({__name:`App`,setup(e){return V(Me,Ce()),(e,t)=>{let n=be(`RouterView`),r=or;return W(),O(r,null,{default:b(()=>[I(n)]),_:1})}}}),cr=`modulepreload`,lr=function(e){return`/`+e},ur={},$=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=lr(t,n),t=s(t),t in ur)return;ur[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`:cr,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}`)))})}))}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)})},dr=[{path:`/runs`,component:()=>$(()=>import(`./RunsIndexPage-D9iLpfAr.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))},{path:`/runs/scheduled`,component:()=>$(()=>import(`./ScheduledPage-BJCtMp7H.js`),__vite__mapDeps([9,1,2,3,4,6,8]))},{path:`/runs/:id`,component:()=>$(()=>import(`./RunRoutePage-C1TGcPCl.js`),__vite__mapDeps([10,1,2,3,11,4,6,7,8,12]))},{path:`/residents`,component:()=>$(()=>import(`./ResidentsIndexPage-D8NN4AFS.js`),__vite__mapDeps([13,1,2,5,3,14,6]))},{path:`/residents/:owner/:name`,component:()=>$(()=>import(`./ResidentDetailPage-Dw3e9u1u.js`),__vite__mapDeps([15,1,2,5,3,14]))},{path:`/costs/:group?`,component:()=>$(()=>import(`./CostsPage-CzutIHUw.js`),__vite__mapDeps([16,1,2]))},{path:`/:pathMatch(.*)*`,component:()=>$(()=>import(`./NotFoundPage-C-BuaSm8.js`).then(e=>e.n),__vite__mapDeps([11,1,2,4]))}],fr=ze(sr),pr=pe({history:oe(),routes:dr});fr.use(pr),fr.use(hn),fr.mount(`#app`);export{_n as n,Kn as t};
package/dist/cli.js CHANGED
@@ -1164,7 +1164,7 @@ var init_schedules = __esm({
1164
1164
  name: "resident-watchdog",
1165
1165
  cron: "*/10 * * * *",
1166
1166
  worker: "resident",
1167
- description: "Resident watchdog: re-arm dead refresh alarm chains (marking degraded(alarm-missed)) and time out stuck onboarding. Cadence must stay shorter than the resident SLEEP_AFTER (20m). Not a run.",
1167
+ description: "Resident watchdog: re-arm dead refresh alarm chains (marking degraded(alarm-missed)), time out stuck onboarding, and create the refresh Workflow instance for residents whose lifecycle is `workflow`. Cadence must stay shorter than the resident SLEEP_AFTER (20m). Not a run.",
1168
1168
  action: { type: "watchdog" }
1169
1169
  }
1170
1170
  ];
@@ -1259,7 +1259,8 @@ Maintain the user-facing status card with the update_status tool: right after yo
1259
1259
  Report outcomes faithfully: if tests fail or a step was skipped, say so plainly.
1260
1260
  Your final message is posted to Slack \u2014 keep it readable, lead with the outcome.`;
1261
1261
  REVIEW_VERDICT_INSTRUCTION = `VERDICT: before your final message, call the submit_verdict tool exactly once with \`approve\` (no blocking issues \u2014 nits alone are not blocking) or \`request_changes\`, a one-line summary, \`head\` = the output of \`git rev-parse HEAD\` in the checkout you reviewed, and \`findings\` \u2014 every issue you report as a structured entry with a stable id you assign in order (F1, F2, \u2026), a severity of exactly blocking|major|minor|nit, the file (plus line when it points at one), and a one-line title. The findings array is the index of your review: the full explanation of each finding stays in your prose, keyed by the same ids. Switchboard writes the verdict as the first line of the GitHub comment itself and lists the findings under it; a review with no submitted verdict is posted as not approving, so never skip it. An \`approve\` carrying a blocking finding is downgraded to \`request_changes\` \u2014 approve only when nothing blocking remains. Do not write "LGTM" in your own text \u2014 the verdict line carries it.`;
1262
- REVIEW_SPEC_CHECK = `3. SPEC CONTRADICTION CHECK, when the repository has \`docs/reference/specs/\`: list the specs the change touches \u2014 \`npm run --silent specs:coverage -- --changed origin/<base>...HEAD\` (\`<base>\` is the PR's base branch) when the repository's package.json has that script, otherwise match the changed paths against each spec's \`- **Code**:\` / \`- **Tests**:\` header lines (a header path covers itself and everything beneath it). If the command fails for any reason \u2014 dependencies not installed, tsx missing, a cold checkout \u2014 fall back to matching the header lines by hand; never install dependencies or build to make it run. Then read ONLY those specs, never the whole specs tree \u2014 fold the reads into your gather batch where you can. For each touched spec, judge whether the diff contradicts a numbered behavior statement or a validation criterion: code that now does what the spec says it does not, a criterion whose named test the diff removed or retitled, a behavior the diff deleted that the spec still promises. A contradiction is a finding of severity \`minor\` or higher titled \`Spec contradiction \u2014 <spec file> item <n>: <what the code now does vs what the spec says>\`; a spec updated in the same diff to match the code is not a finding. A repository with no \`docs/reference/specs/\` has nothing to check \u2014 skip this step silently.`;
1262
+ REVIEW_SPEC_CHECK = `3. SPEC CONTRADICTION CHECK, when the repository has \`docs/reference/specs/\`: list the specs the change touches \u2014 \`npm run --silent specs:coverage -- --changed origin/<base>...HEAD\` (\`<base>\` is the PR's base branch) when the repository's package.json has that script, otherwise match the changed paths against each spec's \`- **Code**:\` / \`- **Tests**:\` header lines (a header path covers itself and everything beneath it). If the command fails for any reason \u2014 dependencies not installed, tsx missing, a cold checkout \u2014 fall back to matching the header lines by hand; never install dependencies or build to make it run. Then read ONLY those specs, never the whole specs tree \u2014 fold the reads into your gather batch where you can. For each touched spec, judge whether the diff contradicts a numbered behavior statement or a validation criterion: code that now does what the spec says it does not, a criterion whose named test the diff removed or retitled, a behavior the diff deleted that the spec still promises. A contradiction is a finding of severity \`minor\` or higher titled \`Spec contradiction \u2014 <spec file> item <n>: <what the code now does vs what the spec says>\`; a spec updated in the same diff to match the code is not a finding. A repository with no \`docs/reference/specs/\` has nothing to check \u2014 skip this step silently.
1263
+ 3a. TEST GUARD, in the same repositories: run \`npm run --silent specs:coverage -- --changed origin/<base>...HEAD --test-guard\` (fold it into the same batch). It compares every test file the diff touches at the base and at the head and prints one line per thing lost, in two classes. A \`test-guard: <file> \u2014 removed: \u2026\` line is deterministic \u2014 the test file deleted, an it/test/describe title gone with no new title to pair with, a skip/only/todo marker (\`.skip(\`, \`.only(\`, \`xit(\`, \`xdescribe(\`, \`it.todo(\`, \`test.todo(\`) on a test the base ran \u2014 and each one is a finding of severity \`minor\` or higher titled \`Test removed \u2014 <file>: <what>\` whose explanation quotes the guard's line exactly as printed. A \`test-guard: <file> \u2014 check: \u2026\` line is a heuristic \u2014 fewer \`expect(\` calls in the file, a title gone while another arrived (a rename or a split) \u2014 and you dispose of every one of them explicitly in your review, never silently: either "weakened", which makes it a finding at \`minor\`, or "refactor, verification intact" with one clause saying why. A line ending \`\u2014 allowed by <spec>\` is licensed by a spec change in the same diff and is neither; \`test-guard ok\` is nothing to report. If the command fails for any reason, judge the same facts from the diff by hand \u2014 a deleted test file, a removed title, a new skip marker, fewer assertions \u2014 and file each one the diff does not license the same way; never install or build to make it run.`;
1263
1264
  REVIEW_WHOLE_CHANGE = ` - READ THE WHOLE CHANGE: the REVIEW TARGET block states the PR's size as GitHub reports it (files, +/\u2212) and \`diff_digest\` states the totals of what it covered \u2014 they must agree, and every file the digest lists must be in the diff you read. A tool output ending in \`...[truncated N chars]\` was cut short; when the digest or your diff shows fewer files or lines than the PR, read the rest file by file (\`git diff <base>...HEAD -- <path>\`) until every file is covered. Never judge from a partial diff: Switchboard does not post a verdict whose digest covered less than the PR.`;
1264
1265
  REVIEW_SYSTEM = `You are Switchboard's code review agent, operating from a Slack request.
1265
1266
 
@@ -9170,6 +9171,9 @@ function r2OperationClass(actionType) {
9170
9171
  if (/^(Get|Head|Usage)/.test(a)) return "B";
9171
9172
  return "A";
9172
9173
  }
9174
+ function workflowsCostUsd(steps, stateBytes) {
9175
+ return steps / 1e5 * CLOUDFLARE_PRICES.workflowStepsPer100k + storageDayCostUsd(stateBytes, CLOUDFLARE_PRICES.workflowStorageGbMonth);
9176
+ }
9173
9177
  function r2OperationsCostUsd(actionType, requests) {
9174
9178
  const cls = r2OperationClass(actionType);
9175
9179
  if (cls === "free") return 0;
@@ -9191,7 +9195,18 @@ function attributionOf(cfg, usage) {
9191
9195
  for (const name of bucketNames)
9192
9196
  if (!(name in r2Buckets) && cfg.workers.some((w) => TEMPLATE_BUCKET_NAMES.some((shape) => shape(w) === name)))
9193
9197
  r2Buckets[name] = name;
9194
- return { workers: [...cfg.workers], containerApps: { ...cfg.containerApps }, durableObjectNamespaces, r2Buckets };
9198
+ const workflows = {};
9199
+ for (const name of new Set(usage.workflows.map((r) => r.workflowName).filter(Boolean))) {
9200
+ const host = cfg.workers.find((w) => TEMPLATE_WORKFLOW_NAMES.some((shape) => shape(w) === name));
9201
+ if (host) workflows[name] = host;
9202
+ }
9203
+ return {
9204
+ workers: [...cfg.workers],
9205
+ containerApps: { ...cfg.containerApps },
9206
+ durableObjectNamespaces,
9207
+ r2Buckets,
9208
+ workflows
9209
+ };
9195
9210
  }
9196
9211
  function addDays(iso, n2) {
9197
9212
  const d = /* @__PURE__ */ new Date(`${iso}T00:00:00Z`);
@@ -9208,6 +9223,7 @@ function buildCostReport(group, cfg, usage, llm, range) {
9208
9223
  const workers = new Set(cfg.workers);
9209
9224
  const namespaces = attribution.durableObjectNamespaces;
9210
9225
  const buckets = attribution.r2Buckets;
9226
+ const workflowNames = attribution.workflows;
9211
9227
  const byResource = emptySplit();
9212
9228
  let accountCloudUsd = 0;
9213
9229
  const days = eachDay(range).map((date) => {
@@ -9281,8 +9297,16 @@ function buildCostReport(group, cfg, usage, llm, range) {
9281
9297
  if (row.bucketName in buckets) r2Usd += usd;
9282
9298
  }
9283
9299
  byResource.r2 += r2Usd;
9300
+ let workflowsUsd = 0;
9301
+ for (const row of usage.workflows) {
9302
+ if (row.date !== date) continue;
9303
+ const usd = workflowsCostUsd(row.steps, row.stateBytes);
9304
+ accountCloudUsd += usd;
9305
+ if (row.workflowName in workflowNames) workflowsUsd += usd;
9306
+ }
9307
+ byResource.workflows += workflowsUsd;
9284
9308
  const llmUsd2 = llm && cfg.anthropicWorkspaceId ? llm.filter((r) => r.date === date && r.workspaceId === cfg.anthropicWorkspaceId).reduce((s, r) => s + r.amountUsd, 0) : 0;
9285
- const cloudUsd2 = Object.values(containers).reduce((s, c) => s + c.total, 0) + Object.values(durableObjects).reduce((s, v) => s + v, 0) + doRequestsUsd + doRowsUsd + doStorageUsd + workersUsd + r2Usd;
9309
+ const cloudUsd2 = Object.values(containers).reduce((s, c) => s + c.total, 0) + Object.values(durableObjects).reduce((s, v) => s + v, 0) + doRequestsUsd + doRowsUsd + doStorageUsd + workersUsd + r2Usd + workflowsUsd;
9286
9310
  return {
9287
9311
  date,
9288
9312
  containers,
@@ -9292,6 +9316,7 @@ function buildCostReport(group, cfg, usage, llm, range) {
9292
9316
  doStorageUsd,
9293
9317
  workersUsd,
9294
9318
  r2Usd,
9319
+ workflowsUsd,
9295
9320
  cloudUsd: cloudUsd2,
9296
9321
  llmUsd: llmUsd2,
9297
9322
  total: cloudUsd2 + llmUsd2
@@ -9316,6 +9341,17 @@ function resolveRange(daysParam, now = new Date(systemClock())) {
9316
9341
  const to = now.toISOString().slice(0, 10);
9317
9342
  return { from: addDays(to, -(days - 1)), to, days, partialLastDay: true };
9318
9343
  }
9344
+ function workflowStepsFromEvents(rows) {
9345
+ const byKey = /* @__PURE__ */ new Map();
9346
+ for (const r of rows) {
9347
+ if (!WORKFLOW_STEP_EVENTS.has(r.eventType) || !r.workflowName) continue;
9348
+ const key = `${r.date}\0${r.workflowName}`;
9349
+ const row = byKey.get(key) ?? { date: r.date, workflowName: r.workflowName, steps: 0, stateBytes: 0 };
9350
+ row.steps += r.count;
9351
+ byKey.set(key, row);
9352
+ }
9353
+ return [...byKey.values()];
9354
+ }
9319
9355
  function createCostsService(cfg, cloudflare, llm, now = () => new Date(systemClock())) {
9320
9356
  return {
9321
9357
  groups: () => Object.keys(cfg.groups),
@@ -9328,7 +9364,7 @@ function createCostsService(cfg, cloudflare, llm, now = () => new Date(systemClo
9328
9364
  }
9329
9365
  };
9330
9366
  }
9331
- var DEFAULT_CF_TOKEN_ENV, DEFAULT_ANTHROPIC_ADMIN_ENV, CLOUDFLARE_PRICES, GIB, GB, DAYS_PER_MONTH, TEMPLATE_BUCKET_NAMES, emptySplit, DEFAULT_DAYS, MAX_DAYS, NullLlmCostSource, CF_GRAPHQL, CF_USAGE_QUERY, num, str, CloudflareGraphqlUsageSource, ANTHROPIC_COST_REPORT, ANTHROPIC_VERSION, MAX_COST_PAGES, AnthropicCostReportSource, COSTS_OFF_MESSAGE, NullCostsService;
9367
+ var DEFAULT_CF_TOKEN_ENV, DEFAULT_ANTHROPIC_ADMIN_ENV, CLOUDFLARE_PRICES, GIB, GB, DAYS_PER_MONTH, TEMPLATE_BUCKET_NAMES, TEMPLATE_WORKFLOW_NAMES, emptySplit, DEFAULT_DAYS, MAX_DAYS, NullLlmCostSource, CF_GRAPHQL, CF_USAGE_QUERY, WORKFLOW_STEP_EVENTS, num, str, CloudflareGraphqlUsageSource, ANTHROPIC_COST_REPORT, ANTHROPIC_VERSION, MAX_COST_PAGES, AnthropicCostReportSource, COSTS_OFF_MESSAGE, NullCostsService;
9332
9368
  var init_costs = __esm({
9333
9369
  "../../src/core/costs.ts"() {
9334
9370
  "use strict";
@@ -9353,12 +9389,20 @@ var init_costs = __esm({
9353
9389
  /** R2 Standard: storage $0.015/GB-month, class A $4.50/M, class B $0.36/M, egress free. */
9354
9390
  r2StorageGbMonth: 0.015,
9355
9391
  r2ClassAPerMillion: 4.5,
9356
- r2ClassBPerMillion: 0.36
9392
+ r2ClassBPerMillion: 0.36,
9393
+ /** Workflows (developers.cloudflare.com/workflows/reference/pricing, Workers
9394
+ * Paid): steps "500,000 included per month + $0.80/ additional 100,000",
9395
+ * storage "1 GB-month included + $0.20/ GB-month". The other two line items,
9396
+ * requests and CPU time, "use Workers Standard pricing" and land on the
9397
+ * hosting Worker's own `workersInvocationsAdaptive` row — never re-metered here. */
9398
+ workflowStepsPer100k: 0.8,
9399
+ workflowStorageGbMonth: 0.2
9357
9400
  };
9358
9401
  GIB = 2 ** 30;
9359
9402
  GB = 1e9;
9360
9403
  DAYS_PER_MONTH = 30.4375;
9361
9404
  TEMPLATE_BUCKET_NAMES = [(w) => `${w}-cache`];
9405
+ TEMPLATE_WORKFLOW_NAMES = [(w) => `${w}-refresh`];
9362
9406
  emptySplit = () => ({
9363
9407
  cpu: 0,
9364
9408
  memory: 0,
@@ -9367,7 +9411,8 @@ var init_costs = __esm({
9367
9411
  doRows: 0,
9368
9412
  doStorage: 0,
9369
9413
  workers: 0,
9370
- r2: 0
9414
+ r2: 0,
9415
+ workflows: 0
9371
9416
  });
9372
9417
  DEFAULT_DAYS = 30;
9373
9418
  MAX_DAYS = 90;
@@ -9393,8 +9438,11 @@ var init_costs = __esm({
9393
9438
  max { payloadSize metadataSize } dimensions { date bucketName } }
9394
9439
  r2Operations: r2OperationsAdaptiveGroups(limit: 10000, filter: { datetime_geq: $from, datetime_lt: $to }) {
9395
9440
  sum { requests } dimensions { date bucketName actionType } }
9441
+ workflows: workflowsAdaptiveGroups(limit: 10000, filter: { datetimeHour_geq: $from, datetimeHour_lt: $to }) {
9442
+ count dimensions { date workflowName eventType } }
9396
9443
  } }
9397
9444
  }`;
9445
+ WORKFLOW_STEP_EVENTS = /* @__PURE__ */ new Set(["STEP_SUCCESS", "STEP_FAILURE"]);
9398
9446
  num = (v) => typeof v === "number" && Number.isFinite(v) ? v : 0;
9399
9447
  str = (v) => typeof v === "string" ? v : "";
9400
9448
  CloudflareGraphqlUsageSource = class {
@@ -9466,7 +9514,15 @@ var init_costs = __esm({
9466
9514
  bucketName: str(r.dimensions?.bucketName),
9467
9515
  actionType: str(r.dimensions?.actionType),
9468
9516
  requests: num(r.sum?.requests)
9469
- }))
9517
+ })),
9518
+ workflows: workflowStepsFromEvents(
9519
+ (account2.workflows ?? []).map((r) => ({
9520
+ date: str(r.dimensions?.date),
9521
+ workflowName: str(r.dimensions?.workflowName),
9522
+ eventType: str(r.dimensions?.eventType),
9523
+ count: num(r.count)
9524
+ }))
9525
+ )
9470
9526
  };
9471
9527
  }
9472
9528
  };
@@ -18663,7 +18719,8 @@ var init_attrs = __esm({
18663
18719
  sealed: "number",
18664
18720
  abandonedRuns: "number",
18665
18721
  residents: "number",
18666
- swept: "number"
18722
+ swept: "number",
18723
+ instanceId: "string"
18667
18724
  };
18668
18725
  ATTR_KEYS = Object.keys(ATTR_TYPE);
18669
18726
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreplane/switchboard",
3
- "version": "1.19.2",
3
+ "version": "1.200.0",
4
4
  "description": "Mention it in Slack and an agent reviews the PR, ships the fix, or answers the question — on the model you choose, with its tools running where you decide.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://openswitchboard.dev",
@@ -1 +0,0 @@
1
- import{t as e}from"./AppShell-Bk2gbvet.js";import{Pr as t,an as n,bi as r,gn as i,hi as a,in as o,mn as s,on as c,pn as l,qt as u,r as d,rn as f,sn as p,sr as m,tr as h,vi as g,xi as _}from"./seed-BglCRKLA.js";var v=`Durable Objects`,y=`Workers · storage · R2`,b=`LLM (Anthropic)`,x=(e,t=2)=>`$${e.toFixed(t)}`,S=e=>e.workersUsd+e.doRowsUsd+e.doStorageUsd+e.r2Usd;function ee(e){let t=[];for(let n of e.days)for(let e of Object.keys(n.containers))t.includes(e)||t.push(e);return e.days.some(e=>Object.keys(e.durableObjects).length>0)&&t.push(v),e.days.some(e=>S(e)>0)&&t.push(y),e.llmAvailable&&t.push(b),t}function C(e,t){return t===`Durable Objects`?Object.values(e.durableObjects).reduce((e,t)=>e+t,0)+e.doRequestsUsd:t===`Workers · storage · R2`?S(e):t===`LLM (Anthropic)`?e.llmUsd:e.containers[t]?.total??0}function w(e){let t=e.range.partialLastDay?e.days.slice(0,-1):e.days,n=t[t.length-1],r=t.slice(-7),i=r.length?r.reduce((e,t)=>e+t.total,0)/r.length:0,a=e.totals.total>0?Math.round(e.totals.llmUsd/e.totals.total*100):0,o=e.account.cloudUsd>0?Math.round(e.totals.cloudUsd/e.account.cloudUsd*100):0;return{...n?{yesterday:{date:n.date,total:n.total}}:{},avg7:i,projectedMonth:i*30.4,llmShare:a,accountShare:o}}function T(e,t){let n={t:12,r:12,b:30,l:48},r=960-n.l-n.r,i=260-n.t-n.b,a=e.days,o=Math.max(1e-9,...a.map(e=>e.total))*1.08,s=r/Math.max(1,a.length),c=Math.min(10,s*.28),l=e=>n.t+i-e/o*i,u=Array.from({length:5},(e,t)=>{let n=o/4*t;return{y:Number(l(n).toFixed(1)),label:x(n)}}),d=[],f=[];return a.forEach((e,r)=>{let i=0,o=n.l+r*s+c/2,u=s-c;t.forEach((t,n)=>{let r=C(e,t);if(r<=0)return;let a=l(i+r),s=l(i),c=Math.max(0,s-a-2);d.push({seriesIndex:n,x:Number(o.toFixed(1)),y:Number(a.toFixed(1)),width:Number(u.toFixed(1)),height:Number(c.toFixed(1)),title:`${e.date} · ${t} · ${x(r)}`}),i+=r}),(a.length<=16||r%Math.ceil(a.length/16)===0)&&f.push({x:Number((o+u/2).toFixed(1)),label:e.date.slice(5)})}),{width:960,height:260,gridLines:u,segments:d,dayLabels:f,axisY:Number(l(0).toFixed(1)),marginLeft:n.l,marginRight:n.r}}function E(e){let t=e.totals.byResource,n=[[`Memory (provisioned while awake)`,t.memory],[`vCPU (active use only)`,t.cpu],[`Durable Object duration + requests`,t.durableObjects],[`Disk (provisioned while awake)`,t.disk],[`Workers requests + CPU`,t.workers],[`Durable Object SQLite rows`,t.doRows],[`Durable Object SQLite storage`,t.doStorage],[`R2 storage + operations`,t.r2]],r=n.reduce((e,t)=>e+t[1],0)||1;return n.map(([e,t])=>({label:e,usd:t,percent:t/r*100}))}var D=[`fill-[#2a78d6] dark:fill-[#3987e5]`,`fill-[#eb6834] dark:fill-[#d95926]`,`fill-[#1baf7a] dark:fill-[#199e70]`,`fill-[#eda100] dark:fill-[#c98500]`,`fill-[#e87ba4] dark:fill-[#d55181]`,`fill-[#4a3aa7] dark:fill-[#9085e9]`,`fill-[#e34948] dark:fill-[#e66767]`,`fill-[#008300] dark:fill-[#008300]`],O=[`bg-[#2a78d6] dark:bg-[#3987e5]`,`bg-[#eb6834] dark:bg-[#d95926]`,`bg-[#1baf7a] dark:bg-[#199e70]`,`bg-[#eda100] dark:bg-[#c98500]`,`bg-[#e87ba4] dark:bg-[#d55181]`,`bg-[#4a3aa7] dark:bg-[#9085e9]`,`bg-[#e34948] dark:bg-[#e66767]`,`bg-[#008300] dark:bg-[#008300]`],k={class:`overflow-x-auto`},A=[`viewBox`],j=[`x1`,`x2`,`y1`,`y2`],M=[`x`,`y`],N=[`x`,`y`,`width`,`height`],P=[`x`,`y`],F=[`x1`,`x2`,`y1`,`y2`],I=i({__name:`CostChart`,props:{report:{},series:{}},setup(e){let t=e,n=f(()=>T(t.report,t.series));return(e,t)=>(h(),p(`div`,k,[(h(),p(`svg`,{class:`block h-auto w-full`,viewBox:`0 0 ${n.value.width} ${n.value.height}`,role:`img`,"aria-label":`Daily cost, stacked by component`},[(h(!0),p(u,null,m(n.value.gridLines,(e,t)=>(h(),p(u,{key:`g${t}`},[o(`line`,{class:`stroke-(--ui-border-muted)`,x1:n.value.marginLeft,x2:n.value.width-n.value.marginRight,y1:e.y,y2:e.y},null,8,j),o(`text`,{class:`fill-(--ui-text-dimmed) text-[11px] tabular-nums`,x:n.value.marginLeft-8,y:e.y+4,"text-anchor":`end`},_(e.label),9,M)],64))),128)),(h(!0),p(u,null,m(n.value.segments,(e,t)=>(h(),p(`rect`,{key:`s${t}`,class:g([`seg hover:opacity-85`,a(D)[e.seriesIndex%a(D).length]]),x:e.x,y:e.y,width:e.width,height:e.height},[o(`title`,null,_(e.title),1)],10,N))),128)),(h(!0),p(u,null,m(n.value.dayLabels,(e,t)=>(h(),p(`text`,{key:`d${t}`,class:`fill-(--ui-text-dimmed) text-[11px]`,x:e.x,y:n.value.height-10,"text-anchor":`middle`},_(e.label),9,P))),128)),o(`line`,{class:`stroke-(--ui-border)`,x1:n.value.marginLeft,x2:n.value.width-n.value.marginRight,y1:n.value.axisY,y2:n.value.axisY},null,8,F)],8,A))]))}}),L={class:`text-xs text-muted`},R={key:1,class:`text-highlighted`},z=[`href`],B={class:`mb-4 flex flex-wrap items-center gap-x-4 gap-y-2`},V={key:0,class:`flex items-center gap-1`,"aria-label":`Cost groups`},H={key:0,class:`rounded-md bg-accented px-2.5 py-1 text-xs font-semibold text-highlighted`,"aria-current":`page`},U=[`href`],W={class:`text-sm tabular-nums text-muted`},G={class:`mb-5 grid grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-3`},K={class:`grid gap-0.5 rounded-md border border-default bg-elevated px-4 py-3.5`},q={class:`text-2xl font-medium tabular-nums`},J={class:`text-xs text-muted`},Y={class:`grid gap-0.5 rounded-md border border-default bg-elevated px-4 py-3.5`},X={class:`text-2xl font-medium tabular-nums`},Z={class:`grid gap-0.5 rounded-md border border-default bg-elevated px-4 py-3.5`},Q={class:`text-2xl font-medium tabular-nums`},te={class:`grid gap-0.5 rounded-md border border-default bg-elevated px-4 py-3.5`},ne={class:`text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},re={class:`text-2xl font-medium tabular-nums`},ie={class:`text-xs text-muted`},ae={class:`grid gap-0.5 rounded-md border border-default bg-elevated px-4 py-3.5`},oe={class:`text-2xl font-medium tabular-nums`},se={class:`text-xs text-muted`},ce={class:`mb-5 grid gap-3 rounded-md border border-default bg-elevated px-5 py-4`},le={class:`flex flex-wrap items-baseline justify-between gap-x-4 gap-y-2`},ue={class:`legend flex flex-wrap gap-x-4 gap-y-1.5 text-xs text-muted`},de={key:0,class:`text-xs text-warn`},fe={class:`mb-5 grid gap-3 rounded-md border border-default bg-elevated px-5 py-4`},pe={class:`w-full border-collapse text-[0.8125rem] tabular-nums`},me={class:`px-2.5 py-1.5`},he={class:`px-2.5 py-1.5 text-right`},ge={class:`px-2.5 py-1.5 text-right`},_e={class:`w-2/5 px-2.5 py-1.5`},ve={class:`mb-5 grid gap-3 rounded-md border border-default bg-elevated px-5 py-4`},ye={open:``},be={class:`mt-2.5 overflow-x-auto`},$={class:`data w-full min-w-[38rem] border-collapse whitespace-nowrap text-[0.8125rem] tabular-nums`},xe=[`title`],Se={key:0,class:`text-xs text-dimmed`},Ce={class:`border-b border-muted px-2.5 py-1.5 text-right font-semibold`},we={class:`text-xs text-muted`},Te={class:`rounded bg-accented px-1 py-0.5`},Ee={class:`border-t border-default pt-3.5 text-xs text-dimmed`},De={class:`mt-2 grid gap-1.5`},Oe=i({__name:`CostsPage`,setup(i){let v=d(`costs`),y=f(()=>v?.report??null),b=f(()=>v?.groups??[]),S=f(()=>y.value?ee(y.value):[]),T=f(()=>y.value?w(y.value):null),D=f(()=>y.value?E(y.value):[]),k=[7,30,90];function A(e){let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.getTime())?e:`${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getUTCMonth()]} ${t.getUTCDate()}`}return(i,d)=>y.value&&T.value?(h(),n(e,{key:0,title:`${y.value.label} spend`,nav:`costs`},{actions:t(()=>[o(`span`,L,[(h(),p(u,null,m(k,(e,t)=>(h(),p(u,{key:e},[t>0?(h(),p(u,{key:0},[l(` · `)],64)):c(``,!0),e===y.value.range.days?(h(),p(`b`,R,_(e)+`d`,1)):(h(),p(`a`,{key:2,class:`text-primary hover:underline`,href:`/costs/${y.value.group}?days=${e}`},_(e)+`d`,9,z))],64))),64))])]),default:t(()=>[o(`div`,B,[b.value.length>1?(h(),p(`nav`,V,[(h(!0),p(u,null,m(b.value,e=>(h(),p(u,{key:e},[e===y.value.group?(h(),p(`span`,H,_(e),1)):(h(),p(`a`,{key:1,class:`rounded-md px-2.5 py-1 text-xs text-muted no-underline hover:bg-elevated hover:text-highlighted`,href:`/costs/${e}`},_(e),9,U))],64))),128))])):c(``,!0),o(`p`,W,[l(_(A(y.value.range.from))+` → `+_(A(y.value.range.to))+` · `+_(y.value.range.days)+`d`,1),y.value.range.partialLastDay?(h(),p(u,{key:0},[l(` · today partial`)],64)):c(``,!0)])]),o(`section`,G,[o(`div`,K,[d[0]||=o(`span`,{class:`text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Yesterday`,-1),o(`span`,q,_(T.value.yesterday?a(x)(T.value.yesterday.total):`—`),1),o(`span`,J,_(T.value.yesterday?`${T.value.yesterday.date} · last full day`:`no full day in range`),1)]),o(`div`,Y,[d[1]||=o(`span`,{class:`text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`7-day average`,-1),o(`span`,X,_(a(x)(T.value.avg7)),1),d[2]||=o(`span`,{class:`text-xs text-muted`},`per day, full days only`,-1)]),o(`div`,Z,[d[3]||=o(`span`,{class:`text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Projected month`,-1),o(`span`,Q,_(a(x)(T.value.projectedMonth,0)),1),d[4]||=o(`span`,{class:`text-xs text-muted`},`7-day rate × 30.4, before plan fees and included allowances`,-1)]),o(`div`,te,[o(`span`,ne,_(y.value.llmAvailable?`LLM share`:`LLM spend`),1),o(`span`,re,_(y.value.llmAvailable?`${T.value.llmShare}%`:`—`),1),o(`span`,ie,_(y.value.llmAvailable?`of the range total`:`LLM spend not configured`),1)]),o(`div`,ae,[d[5]||=o(`span`,{class:`text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Share of account`,-1),o(`span`,oe,_(T.value.accountShare)+`%`,1),o(`span`,se,_(a(x)(y.value.totals.cloudUsd))+` of `+_(a(x)(y.value.account.cloudUsd))+` Cloudflare spend in range`,1)])]),o(`section`,ce,[o(`div`,le,[d[6]||=o(`div`,null,[o(`h2`,{class:`text-[0.9375rem] font-semibold`},`Daily cost`),o(`p`,{class:`text-sm text-muted`},`Stacked by component · USD list price`)],-1),o(`div`,ue,[(h(!0),p(u,null,m(S.value,(e,t)=>(h(),p(`span`,{key:e,class:`inline-flex items-center gap-1.5`},[o(`i`,{class:g([`inline-block size-2.5 rounded-xs`,a(O)[t%a(O).length]])},null,2),l(_(e),1)]))),128))])]),s(I,{report:y.value,series:S.value},null,8,[`report`,`series`]),y.value.llmAvailable?c(``,!0):(h(),p(`p`,de,[...d[7]||=[l(` LLM spend not configured — set `,-1),o(`code`,null,`ANTHROPIC_ADMIN_KEY`,-1),l(` and the group's `,-1),o(`code`,null,`anthropicWorkspaceId`,-1),l(` to layer it in. `,-1)]]))]),o(`section`,fe,[d[8]||=o(`div`,null,[o(`h2`,{class:`text-[0.9375rem] font-semibold`},`What each cloud dollar buys`)],-1),o(`table`,pe,[o(`tbody`,null,[(h(!0),p(u,null,m(D.value,e=>(h(),p(`tr`,{key:e.label,class:`border-b border-muted`},[o(`td`,me,_(e.label),1),o(`td`,he,_(a(x)(e.usd)),1),o(`td`,ge,_(Math.round(e.percent))+`%`,1),o(`td`,_e,[o(`i`,{class:`block h-2.5 rounded-xs bg-primary opacity-75`,style:r({width:`${e.percent.toFixed(1)}%`})},null,4)])]))),128))])])]),o(`section`,ve,[o(`details`,ye,[d[11]||=o(`summary`,{class:`cursor-pointer text-sm text-muted`},`Table view — daily cost by component (USD)`,-1),o(`div`,be,[o(`table`,$,[o(`thead`,null,[o(`tr`,null,[d[9]||=o(`th`,{class:`border-b border-muted px-2.5 py-1.5 text-left text-xs font-medium text-muted`},`Date`,-1),(h(!0),p(u,null,m(S.value,e=>(h(),p(`th`,{key:e,class:`border-b border-muted px-2.5 py-1.5 text-right text-xs font-medium text-muted`},_(e),1))),128)),d[10]||=o(`th`,{class:`border-b border-muted px-2.5 py-1.5 text-right text-xs font-medium text-muted`},`Total`,-1)])]),o(`tbody`,null,[(h(!0),p(u,null,m(y.value.days,e=>(h(),p(`tr`,{key:e.date},[o(`td`,{class:`border-b border-muted px-2.5 py-1.5`,title:e.date},[l(_(A(e.date))+` `,1),y.value.range.partialLastDay&&e.date===y.value.range.to?(h(),p(`span`,Se,`(partial day)`)):c(``,!0)],8,xe),(h(!0),p(u,null,m(S.value,t=>(h(),p(`td`,{key:t,class:`border-b border-muted px-2.5 py-1.5 text-right`},_(a(x)(a(C)(e,t),3)),1))),128)),o(`td`,Ce,_(a(x)(e.total,3)),1)]))),128))])])])]),o(`p`,we,[d[12]||=l(` Machine-readable twin: `,-1),o(`code`,Te,`GET /costs/`+_(y.value.group)+`.json`,1),d[13]||=l(` (same Access gate). `,-1)])]),o(`footer`,Ee,[o(`details`,null,[d[18]||=o(`summary`,{class:`cursor-pointer text-muted`},`How these numbers are computed`,-1),o(`div`,De,[d[16]||=o(`div`,null,[o(`b`,null,`Live.`),l(` Both billing sources are read live from this page — nothing cached, nothing stored. Cloudflare bills vCPU on active use only; memory and disk bill on the provisioned size for every second a container is awake. LLM spend is the Anthropic Admin API cost report for this group's workspace (gross, USD). `)],-1),d[17]||=o(`div`,null,[o(`b`,null,`Method.`),l(` Cloudflare GraphQL Analytics, every meter a Workers deployment is billed on: `),o(`code`,null,`containersUsageAdaptiveGroups`),l(` (cpuTimeSec, allocatedMemory, allocatedDisk per app per UTC day), `),o(`code`,null,`durableObjectsPeriodicGroups`),l(` (billable `),o(`code`,null,`duration`),l(` GB-s and SQLite rows read and written per namespace), `),o(`code`,null,`durableObjectsInvocationsAdaptiveGroups`),l(` (requests per namespace), `),o(`code`,null,`durableObjectsSqlStorageGroups`),l(` (bytes stored), `),o(`code`,null,`workersInvocationsAdaptive`),l(` (requests, CPU time), `),o(`code`,null,`r2StorageAdaptiveGroups`),l(` and `),o(`code`,null,`r2OperationsAdaptiveGroups`),l(` (bytes stored, class A/B operations). Prices: vCPU $0.000020/s, memory $0.0000025/GiB-s, disk $0.00000007/GB-s, DO duration $12.50 per million GB-s, DO requests $0.15/M, SQLite rows $0.001/M read and $1.00/M written, DO storage $0.20/GB-month, Workers $0.30/M requests and $0.02/M CPU-ms, R2 $0.015/GB-month, $4.50/M class A and $0.36/M class B (deletes free). Storage is the day's peak, prorated over a 30.44-day month. Gross list price — plan fees and included allowances are not subtracted; Workers Logs volume has no analytics dataset and is not priced. `)],-1),o(`div`,null,[d[14]||=o(`b`,null,`Scope.`,-1),d[15]||=l(` Attributed to this group: the Workers `,-1),o(`code`,null,_(y.value.attribution.workers.join(`, `)),1),l(`, every Durable Object namespace they host (`+_(Object.keys(y.value.attribution.durableObjectNamespaces).length)+`), the R2 buckets named after them (`+_(Object.keys(y.value.attribution.r2Buckets).length)+`), and the container apps mapped in `,1),o(`code`,null,`costs.groups.`+_(y.value.group),1),l(` (`+_(Object.keys(y.value.attribution.containerApps).length)+`). Everything else in the account is priced the same way into the account total, which is what "share of account" divides by. `,1)])])])])]),_:1},8,[`title`])):c(``,!0)}});export{Oe as default};