@coreplane/switchboard 1.229.0 → 1.230.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.
- package/dist/assets/config/config.example.yaml +10 -0
- package/dist/assets/deploy/cloudflare-memory/worker.ts +56 -29
- package/dist/assets/deploy/cloudflare-resident/worker.ts +39 -20
- package/dist/assets/package-lock.json +6 -3
- package/dist/assets/package.json +2 -1
- package/dist/assets/source.json +3 -3
- package/dist/assets/src/core/authz/actor.ts +24 -6
- package/dist/assets/src/core/coordinator/contract.ts +19 -0
- package/dist/assets/src/core/runEvents.ts +22 -5
- package/dist/assets/src/core/runFriction.ts +4 -3
- package/dist/assets/src/core/runLedger/sessionLog.ts +13 -0
- package/dist/assets/src/core/runRecord.ts +33 -0
- package/dist/assets/src/core/trace/attrs.ts +3 -0
- package/dist/assets/src/core/trace/streamSpans.ts +4 -1
- package/dist/assets/src/execution/residentRebind.ts +27 -4
- package/dist/assets/web/dist/.vite/manifest.json +19 -19
- package/dist/assets/web/dist/assets/CostsPage-B08bdD-1.js +2 -0
- package/dist/assets/web/dist/assets/{ResidentDetailPage-CkVYktwT.js → ResidentDetailPage-DYxDruS0.js} +1 -1
- package/dist/assets/web/dist/assets/{ResidentsIndexPage-BLanxf27.js → ResidentsIndexPage-DIBRBmuq.js} +1 -1
- package/dist/assets/web/dist/assets/{RunRoutePage-U3nwL8Df.js → RunRoutePage-B4s8hJlW.js} +4 -4
- package/dist/assets/web/dist/assets/{RunsIndexPage-DrIVxmpl.js → RunsIndexPage-CaW07KOf.js} +1 -1
- package/dist/assets/web/dist/assets/{ScheduledPage-DpqubmIm.js → ScheduledPage-Cr7269s9.js} +1 -1
- package/dist/assets/web/dist/assets/{StatusDot-BpD9MRge.js → StatusDot-lCLi16zY.js} +1 -1
- package/dist/assets/web/dist/assets/{Tooltip-BYv0WSrA.js → Tooltip-DKMPwNyy.js} +1 -1
- package/dist/assets/web/dist/assets/{dist-BZmA5qTt.js → dist-DRkTB2rt.js} +1 -1
- package/dist/assets/web/dist/assets/{main-C4GOEklV.js → main-CXKOiCOK.js} +2 -2
- package/dist/cli.js +1341 -635
- package/package.json +1 -1
- package/dist/assets/web/dist/assets/CostsPage-DQg30mHr.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./AppShell-lYVcj-k7.js";import{Ci as r,Lr as i,Mr as a,Qn as o,Xt as s,_n as c,a as l,ci as u,cn as d,gn as f,i as p,ir as m,ln as h,nr as g,oi as _,on as v,r as y,sn as b,un as x,ur as S,vi as C,wi as w,xi as T,yn as E}from"./seed-DeKSHrt2.js";import{t as D}from"./Tooltip-BYv0WSrA.js";import{t as O}from"./wallClock-61NpVkY6.js";import{t as k}from"./RunsTabs-DEICQ4FY.js";import{t as A}from"./StatusDot-BpD9MRge.js";import{n as j,r as M,t as N}from"./indexFormat-B-pd4r7Y.js";import{C as P,E as F,O as I,S as L,T as R,_ as z,a as B,b as V,c as H,d as U,f as W,g as G,h as K,i as q,j as J,k as Y,l as ee,m as te,n as X,o as Z,p as Q,s as ne,t as $,u as re,v as ie,w as ae,x as oe,y as se}from"./favicon-CWPcvWvp.js";import{t as ce}from"./localIso-L06jV29p.js";var le={class:`flex items-baseline gap-1.5 whitespace-pre-line px-2 py-1 text-xs`},ue={key:1,class:`text-dimmed`},de=[`data-kind`,`aria-label`,`href`],fe=[`data-kind`,`aria-label`],pe=E({__name:`SourceMark`,props:{kind:{},tip:{},url:{}},setup(e){let t=e,n=()=>q[t.kind]??`○`,r=()=>B[t.kind]??t.kind;return(t,a)=>{let o=D;return m(),d(o,null,{content:i(()=>[b(`span`,le,[e.kind===`slack`?(m(),d(J,{key:0})):C(q)[e.kind]?(m(),x(`span`,ue,w(n()),1)):h(``,!0),b(`span`,null,w(e.tip),1)])]),default:i(()=>[e.url?(m(),x(`a`,{key:0,class:`source linked pointer-events-auto w-[1.6em] shrink-0 rounded border border-transparent text-center text-[0.8rem] text-toned opacity-0 transition-opacity hover:border-primary/30 hover:bg-primary/10 hover:text-primary focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,"data-kind":e.kind,"aria-label":`open the ${r()} thread (new tab)`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},`↗`,8,de)):(m(),x(`span`,{key:1,class:T([`source pointer-events-auto w-[1.6em] shrink-0 text-center text-[0.8rem] text-dimmed opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,e.kind===`cli`?`text-[0.7rem]`:``]),"data-kind":e.kind,"aria-label":`source: ${r()}`},w(n()),11,fe))]),_:1})}}}),me=[`data-run-id`,`data-started-at`,`data-persisted`,`data-expires-at`],he=[`href`,`aria-label`],ge={class:`pointer-events-auto flex items-center max-sm:order-1`},_e=[`data-agent-hue`],ve=[`href`],ye={key:3,class:`snippet min-w-0 truncate text-muted max-sm:order-6 max-sm:basis-full max-sm:whitespace-normal max-sm:pl-5 max-sm:text-[0.8rem] max-sm:leading-snug max-sm:line-clamp-2 sm:flex-1`},be={class:`hidden sm:contents`},xe={class:`expires pointer-events-auto shrink-0 font-mono text-xs tabular-nums text-warn max-sm:order-11`},Se=[`data-heat`],Ce={class:`count shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-9 max-sm:text-dimmed sm:min-w-[6em] sm:text-muted`},we={class:`actions hidden min-w-[7.6em] shrink-0 justify-end gap-1.5 whitespace-nowrap sm:flex`},Te=E({__name:`RunRow`,props:{run:{},now:{},retentionMs:{}},setup(n){let a=n,o=v(()=>M(a.run.label||z(a.run.id))),u=v(()=>te(a.run,o.value.scope)),f=v(()=>se(a.run)),p=v(()=>K(a.run)),g=v(()=>ae(a.run)),y=v(()=>G(a.run)),S=v(()=>U(a.run,a.retentionMs)),E=v(()=>S.value!==void 0&&S.value-a.now<=864e5),O=v(()=>!a.run.finished&&!a.run.stop),k=v(()=>I(a.run.finished&&typeof a.run.finishedAt==`number`?a.run.finishedAt-a.run.startedAt:void 0,`run`)),F=v(()=>Y(k.value)),W=v(()=>a.run.finished&&a.run.status&&a.run.status!==`completed`?V(a.run.status):``),q=v(()=>a.run.stop&&!(a.run.finished&&a.run.status)?P(a.run.stop):``),J={coding:`text-ok bg-ok/8 border-ok/25`,review:`text-review bg-review/8 border-review/25`,research:`text-research bg-research/8 border-research/25`,general:`text-info bg-info/8 border-info/25`,other:`text-toned bg-accented/60 border-accented`},X=_({soft:!1,hard:!1}),Q=v(()=>[...y.value?[{label:`Open ${B[g.value.kind]??g.value.kind} thread`,icon:`i-lucide-external-link`,to:y.value,target:`_blank`}]:[],...O.value?[{label:`Stop (soft)`,icon:`i-lucide-octagon-pause`,onSelect:()=>$(`soft`)},{label:`Kill (hard)`,icon:`i-lucide-octagon-x`,color:`error`,onSelect:()=>$(`hard`)}]:[]]);function $(e){(e!==`hard`||t.confirm(`Hard stop: abort this run now with no summary and free its sandbox?`))&&(X[e]=!0,fetch(L(a.run,e),{method:`POST`,credentials:`same-origin`}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`)}).catch(()=>{X[e]=!1}))}function le(e){e.target?.closest(`a, button`)||t.navigate(p.value)}return(t,a)=>{let _=D,v=l,M=e;return m(),x(`li`,{class:T([`run group relative rounded-md border-b border-muted hover:bg-(--ui-bg-muted) focus-within:bg-(--ui-bg-muted)`,[n.run.finished?`finished`:`live`,E.value?`leaving`:``]]),"data-run-id":n.run.id,"data-started-at":String(n.run.startedAt),"data-persisted":n.run.persisted?`1`:void 0,"data-expires-at":S.value===void 0?void 0:String(S.value),onClick:le},[b(`a`,{class:`row absolute inset-0 rounded-md focus-visible:outline-2 focus-visible:outline-primary`,href:p.value,"aria-label":`open run ${n.run.label||C(z)(n.run.id)}`},null,8,he),b(`div`,{class:T([`body pointer-events-none relative z-[1] flex min-w-0 flex-wrap items-center gap-x-2.5 px-2 max-sm:gap-y-1.5 max-sm:py-3 sm:flex-nowrap sm:py-2`,[n.run.finished?`text-muted`:``,E.value?`opacity-85`:``]])},[b(`span`,ge,[c(A,{tone:f.value,label:C(oe)(n.run),tip:C(ee)(n.run),pulse:!n.run.finished},null,8,[`tone`,`label`,`tip`,`pulse`])]),c(_,{text:C(R)(n.run),ui:{text:`whitespace-pre-line`}},{default:i(()=>[b(`span`,{class:T([`when pointer-events-auto shrink-0 font-mono tabular-nums max-sm:order-7 max-sm:pl-5 max-sm:text-xs max-sm:text-dimmed sm:min-w-[8.5em] sm:text-[0.8rem]`,n.run.finished?`text-dimmed`:`text-muted`])},w(C(j)(n.run.startedAt,n.now)),3)]),_:1},8,[`text`]),o.value.agent?(m(),x(`span`,{key:0,class:T([`agent shrink-0 rounded border px-1.5 font-mono text-[0.68rem] font-medium uppercase tracking-wider max-sm:order-2`,[J[C(Z)(o.value.agent)],n.run.finished?`opacity-55`:``]]),"data-agent-hue":C(Z)(o.value.agent)},w(o.value.agent),11,_e)):h(``,!0),u.value?(m(),d(_,{key:1,text:u.value},{default:i(()=>[b(`a`,{class:`repo pointer-events-auto min-w-0 shrink-0 rounded border border-accented bg-accented/50 px-1.5 font-mono text-[0.72rem] font-medium leading-normal text-toned no-underline hover:border-(--ui-text-dimmed) hover:text-highlighted max-sm:order-3`,href:`https://github.com/${u.value}`,target:`_blank`,rel:`noopener noreferrer`},w(u.value.slice(u.value.indexOf(`/`)+1)),9,ve)]),_:1},8,[`text`])):(m(),x(`span`,{key:2,class:T([`scope min-w-0 shrink-0 truncate font-medium max-sm:order-3`,n.run.finished?`text-toned`:`text-highlighted`])},w(o.value.scope),3)),o.value.snippet===void 0?h(``,!0):(m(),x(`span`,ye,w(o.value.snippet),1)),W.value?(m(),x(`span`,{key:4,class:T([`outcome shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,f.value===`red`?`border-bad/30 text-bad`:`border-warn/30 text-warn`])},w(W.value),3)):h(``,!0),q.value?(m(),x(`span`,{key:5,class:T([`stopbadge shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,n.run.stop?.state===`stopped`?`border-accented text-muted`:`border-warn/30 text-warn`])},w(q.value),3)):h(``,!0),b(`span`,be,[c(pe,{kind:g.value.kind,tip:C(ie)(n.run),url:y.value||void 0},null,8,[`kind`,`tip`,`url`])]),E.value&&S.value!==void 0?(m(),d(_,{key:6,text:`removed at ${C(ce)(S.value)}`},{default:i(()=>[b(`span`,xe,`gone `+w(C(N)(S.value,n.now)),1)]),_:1},8,[`text`])):h(``,!0),c(_,{text:n.run.finished?`start to finish`:`running for`},{default:i(()=>[b(`span`,{class:T([`elapsed pointer-events-auto ml-auto shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-4 sm:min-w-[4.5em]`,n.run.finished?[F.value?`heat`:`text-muted`,k.value.level>=2?`font-medium`:``]:`text-ok`]),style:r(n.run.finished?F.value:void 0),"data-heat":n.run.finished?k.value.level:void 0},w(C(re)(n.run,n.now)),15,Se)]),_:1},8,[`text`]),a[2]||=b(`span`,{class:`hidden text-xs text-dimmed max-sm:order-8 max-sm:inline`,"aria-hidden":`true`},`·`,-1),c(_,{text:C(H)(n.run)},{default:i(()=>[b(`span`,Ce,w(C(ne)(n.run)),1)]),_:1},8,[`text`]),b(`span`,we,[O.value?(m(),x(s,{key:0},[c(_,{text:`Soft stop: no new steps, the agent writes up what it has`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`neutral`,variant:`outline`,label:`Stop`,disabled:X.soft,onClick:a[0]||=e=>$(`soft`)},null,8,[`disabled`])]),_:1}),c(_,{text:`Hard stop: abort now, no summary, free the sandbox`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`error`,variant:`outline`,label:`Kill`,disabled:X.hard,onClick:a[1]||=e=>$(`hard`)},null,8,[`disabled`])]),_:1})],64)):h(``,!0)]),Q.value.length>0?(m(),d(M,{key:7,items:Q.value,content:{align:`end`}},{default:i(()=>[c(v,{class:`pointer-events-auto -my-1.5 -mr-1 max-sm:order-5 sm:hidden`,size:`md`,color:`neutral`,variant:`ghost`,icon:`i-lucide-ellipsis-vertical`,"aria-label":`Run actions`})]),_:1},8,[`items`])):h(``,!0)],2)],10,me)}}}),Ee={class:`conn flex items-center gap-1.5`},De={id:`state`,class:`text-xs text-muted`},Oe={class:`toolbar mb-1.5 flex items-center gap-4 px-2 text-xs text-muted`},ke={id:`livecount`,class:`count font-mono tabular-nums`},Ae={class:`filter ml-auto inline-flex items-center gap-1.5`},je={class:`toggle inline-flex cursor-pointer select-none items-center gap-1.5 text-toned hover:text-highlighted`},Me=[`checked`],Ne={id:`retention`,class:`sr-only`},Pe={key:0,class:`banner mb-3 rounded-md border border-warn px-2.5 py-1.5 text-[0.8rem] text-warn`,role:`status`},Fe={id:`runs`,class:`m-0 list-none border-t border-muted p-0`},Ie={key:0,id:`leaving`,class:`divider flex items-baseline gap-2 border-b border-dashed border-warn/40 px-2 pb-1.5 pt-3 font-mono text-[0.72rem] uppercase tracking-wider text-warn`,role:`separator`},Le={key:1,id:`empty`,class:`empty px-2 py-2 text-muted`},Re={key:1,class:`pager mt-3 flex items-baseline gap-2 px-2 text-[0.8rem] text-muted`,"aria-label":`Completed runs pages`},ze={class:`range font-mono tabular-nums text-dimmed`},Be=[`href`],Ve=E({__name:`RunsIndexPage`,setup(e){let r=y(`runs`),l=r?.all??!1,T=r?.olderThan!==void 0,E=r?.retentionDays??null,j=E===null?void 0:E*864e5,M=p(E),P=_(new Map);for(let e of r?.rows??[])P.set(e.id,e);let I=O(r?.now),L=u({tone:`amber`,text:`connecting…`}),R=v(()=>[...P.values()].sort((e,t)=>t.startedAt-e.startedAt)),z=v(()=>R.value.filter(e=>!e.finished).length),B=v(()=>j===void 0?-1:R.value.findIndex(e=>{let t=U(e,j);return t!==void 0&&t-I.value<=864e5})),V=v(()=>B.value===-1?R.value:R.value.slice(0,B.value)),H=v(()=>B.value===-1?[]:R.value.slice(B.value)),G=l?`All runs`:`Live runs`;a(z,e=>{t.setTitle((e>0?`(${e}) `:``)+G),t.setFavicon(e>0?X:$)},{immediate:!0});function K(e){t.navigate(e.target.checked?`/runs?all=1`:`/runs`)}let q=v(()=>r?.olderThan===void 0?``:N(r.olderThan,I.value)),J=F(),Y=null;return o(()=>{Y=J(l?`/runs?stream=1&all=1`:`/runs?stream=1`);let e=!1;Y.onopen=()=>{if(e){t.reload();return}e=!0,L.value={tone:`green`,text:`connected`}},Y.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type===`removed`?t.id:t.run?.id,r=n?P.get(n):void 0;if(T&&!r)return;let i=W(t,l,r?.persisted===!0);i.op===`upsert`?P.set(i.run.id,Q(P.get(i.run.id),i.run)):i.op===`remove`&&P.delete(i.id)},Y.onerror=()=>{Y&&Y.readyState===2?L.value={tone:`red`,text:`disconnected`}:L.value={tone:`amber`,text:`connecting…`}}}),g(()=>{Y?.close()}),(e,t)=>{let a=D;return m(),d(n,{title:C(G),nav:`runs`},{status:i(()=>[b(`span`,Ee,[c(A,{tone:L.value.tone,label:L.value.text},null,8,[`tone`,`label`]),b(`span`,De,w(L.value.text),1)])]),default:i(()=>[c(k,{current:`runs`}),b(`div`,Oe,[b(`span`,ke,w(z.value)+` running`,1),b(`span`,Ae,[b(`label`,je,[b(`input`,{id:`showdone`,type:`checkbox`,class:`accent-(--ui-bg-inverted)`,checked:C(l),"aria-describedby":`retention`,onChange:K},null,40,Me),t[0]||=f(` Show completed `,-1)]),c(a,{text:C(M)},{default:i(()=>[...t[1]||=[b(`span`,{class:`help inline-flex size-[1.1em] cursor-help items-center justify-center rounded-full border border-accented text-[0.7rem] leading-none text-dimmed hover:border-(--ui-text-dimmed) hover:text-toned`,tabindex:`0`},`?`,-1)]]),_:1},8,[`text`]),b(`span`,Ne,w(C(M)),1)])]),C(r)?.storeUnavailable?(m(),x(`p`,Pe,w(C(r).storeUnavailable),1)):h(``,!0),b(`ul`,Fe,[(m(!0),x(s,null,S(V.value,e=>(m(),d(Te,{key:e.id,run:e,now:C(I),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),H.value.length>0?(m(),x(`li`,Ie,[...t[2]||=[b(`span`,{"aria-hidden":`true`,class:`text-sm tracking-normal`},`⏳`,-1),b(`span`,{class:`whitespace-nowrap`},`Leaving within a day`,-1),b(`span`,{class:`normal-case tracking-normal text-dimmed max-sm:hidden`},`— each row says when it is removed`,-1)]])):h(``,!0),(m(!0),x(s,null,S(H.value,e=>(m(),d(Te,{key:e.id,run:e,now:C(I),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),R.value.length===0?(m(),x(`li`,Le,w(C(l)?`No runs.`:`No active runs.`),1)):h(``,!0)]),C(l)&&(C(r)?.olderHref||C(r)?.olderThan!==void 0)?(m(),x(`nav`,Re,[C(r)?.olderThan===void 0?h(``,!0):(m(),x(s,{key:0},[t[3]||=b(`a`,{class:`text-primary hover:underline`,href:`/runs?all=1`},`← Newest runs`,-1),b(`span`,ze,`· runs finished before `+w(q.value),1)],64)),C(r)?.olderHref?(m(),x(`a`,{key:1,class:`older ml-auto text-primary hover:underline`,href:C(r).olderHref},`Older runs →`,8,Be)):h(``,!0)])):h(``,!0)]),_:1},8,[`title`])}}});export{Ve as default};
|
|
1
|
+
import{a as e,n as t,t as n}from"./AppShell-lYVcj-k7.js";import{Ci as r,Lr as i,Mr as a,Qn as o,Xt as s,_n as c,a as l,ci as u,cn as d,gn as f,i as p,ir as m,ln as h,nr as g,oi as _,on as v,r as y,sn as b,un as x,ur as S,vi as C,wi as w,xi as T,yn as E}from"./seed-DeKSHrt2.js";import{t as D}from"./Tooltip-DKMPwNyy.js";import{t as O}from"./wallClock-61NpVkY6.js";import{t as k}from"./RunsTabs-DEICQ4FY.js";import{t as A}from"./StatusDot-lCLi16zY.js";import{n as j,r as M,t as N}from"./indexFormat-B-pd4r7Y.js";import{C as P,E as F,O as I,S as L,T as R,_ as z,a as B,b as V,c as H,d as U,f as W,g as G,h as K,i as q,j as J,k as Y,l as ee,m as te,n as X,o as Z,p as Q,s as ne,t as $,u as re,v as ie,w as ae,x as oe,y as se}from"./favicon-CWPcvWvp.js";import{t as ce}from"./localIso-L06jV29p.js";var le={class:`flex items-baseline gap-1.5 whitespace-pre-line px-2 py-1 text-xs`},ue={key:1,class:`text-dimmed`},de=[`data-kind`,`aria-label`,`href`],fe=[`data-kind`,`aria-label`],pe=E({__name:`SourceMark`,props:{kind:{},tip:{},url:{}},setup(e){let t=e,n=()=>q[t.kind]??`○`,r=()=>B[t.kind]??t.kind;return(t,a)=>{let o=D;return m(),d(o,null,{content:i(()=>[b(`span`,le,[e.kind===`slack`?(m(),d(J,{key:0})):C(q)[e.kind]?(m(),x(`span`,ue,w(n()),1)):h(``,!0),b(`span`,null,w(e.tip),1)])]),default:i(()=>[e.url?(m(),x(`a`,{key:0,class:`source linked pointer-events-auto w-[1.6em] shrink-0 rounded border border-transparent text-center text-[0.8rem] text-toned opacity-0 transition-opacity hover:border-primary/30 hover:bg-primary/10 hover:text-primary focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,"data-kind":e.kind,"aria-label":`open the ${r()} thread (new tab)`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},`↗`,8,de)):(m(),x(`span`,{key:1,class:T([`source pointer-events-auto w-[1.6em] shrink-0 text-center text-[0.8rem] text-dimmed opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,e.kind===`cli`?`text-[0.7rem]`:``]),"data-kind":e.kind,"aria-label":`source: ${r()}`},w(n()),11,fe))]),_:1})}}}),me=[`data-run-id`,`data-started-at`,`data-persisted`,`data-expires-at`],he=[`href`,`aria-label`],ge={class:`pointer-events-auto flex items-center max-sm:order-1`},_e=[`data-agent-hue`],ve=[`href`],ye={key:3,class:`snippet min-w-0 truncate text-muted max-sm:order-6 max-sm:basis-full max-sm:whitespace-normal max-sm:pl-5 max-sm:text-[0.8rem] max-sm:leading-snug max-sm:line-clamp-2 sm:flex-1`},be={class:`hidden sm:contents`},xe={class:`expires pointer-events-auto shrink-0 font-mono text-xs tabular-nums text-warn max-sm:order-11`},Se=[`data-heat`],Ce={class:`count shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-9 max-sm:text-dimmed sm:min-w-[6em] sm:text-muted`},we={class:`actions hidden min-w-[7.6em] shrink-0 justify-end gap-1.5 whitespace-nowrap sm:flex`},Te=E({__name:`RunRow`,props:{run:{},now:{},retentionMs:{}},setup(n){let a=n,o=v(()=>M(a.run.label||z(a.run.id))),u=v(()=>te(a.run,o.value.scope)),f=v(()=>se(a.run)),p=v(()=>K(a.run)),g=v(()=>ae(a.run)),y=v(()=>G(a.run)),S=v(()=>U(a.run,a.retentionMs)),E=v(()=>S.value!==void 0&&S.value-a.now<=864e5),O=v(()=>!a.run.finished&&!a.run.stop),k=v(()=>I(a.run.finished&&typeof a.run.finishedAt==`number`?a.run.finishedAt-a.run.startedAt:void 0,`run`)),F=v(()=>Y(k.value)),W=v(()=>a.run.finished&&a.run.status&&a.run.status!==`completed`?V(a.run.status):``),q=v(()=>a.run.stop&&!(a.run.finished&&a.run.status)?P(a.run.stop):``),J={coding:`text-ok bg-ok/8 border-ok/25`,review:`text-review bg-review/8 border-review/25`,research:`text-research bg-research/8 border-research/25`,general:`text-info bg-info/8 border-info/25`,other:`text-toned bg-accented/60 border-accented`},X=_({soft:!1,hard:!1}),Q=v(()=>[...y.value?[{label:`Open ${B[g.value.kind]??g.value.kind} thread`,icon:`i-lucide-external-link`,to:y.value,target:`_blank`}]:[],...O.value?[{label:`Stop (soft)`,icon:`i-lucide-octagon-pause`,onSelect:()=>$(`soft`)},{label:`Kill (hard)`,icon:`i-lucide-octagon-x`,color:`error`,onSelect:()=>$(`hard`)}]:[]]);function $(e){(e!==`hard`||t.confirm(`Hard stop: abort this run now with no summary and free its sandbox?`))&&(X[e]=!0,fetch(L(a.run,e),{method:`POST`,credentials:`same-origin`}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`)}).catch(()=>{X[e]=!1}))}function le(e){e.target?.closest(`a, button`)||t.navigate(p.value)}return(t,a)=>{let _=D,v=l,M=e;return m(),x(`li`,{class:T([`run group relative rounded-md border-b border-muted hover:bg-(--ui-bg-muted) focus-within:bg-(--ui-bg-muted)`,[n.run.finished?`finished`:`live`,E.value?`leaving`:``]]),"data-run-id":n.run.id,"data-started-at":String(n.run.startedAt),"data-persisted":n.run.persisted?`1`:void 0,"data-expires-at":S.value===void 0?void 0:String(S.value),onClick:le},[b(`a`,{class:`row absolute inset-0 rounded-md focus-visible:outline-2 focus-visible:outline-primary`,href:p.value,"aria-label":`open run ${n.run.label||C(z)(n.run.id)}`},null,8,he),b(`div`,{class:T([`body pointer-events-none relative z-[1] flex min-w-0 flex-wrap items-center gap-x-2.5 px-2 max-sm:gap-y-1.5 max-sm:py-3 sm:flex-nowrap sm:py-2`,[n.run.finished?`text-muted`:``,E.value?`opacity-85`:``]])},[b(`span`,ge,[c(A,{tone:f.value,label:C(oe)(n.run),tip:C(ee)(n.run),pulse:!n.run.finished},null,8,[`tone`,`label`,`tip`,`pulse`])]),c(_,{text:C(R)(n.run),ui:{text:`whitespace-pre-line`}},{default:i(()=>[b(`span`,{class:T([`when pointer-events-auto shrink-0 font-mono tabular-nums max-sm:order-7 max-sm:pl-5 max-sm:text-xs max-sm:text-dimmed sm:min-w-[8.5em] sm:text-[0.8rem]`,n.run.finished?`text-dimmed`:`text-muted`])},w(C(j)(n.run.startedAt,n.now)),3)]),_:1},8,[`text`]),o.value.agent?(m(),x(`span`,{key:0,class:T([`agent shrink-0 rounded border px-1.5 font-mono text-[0.68rem] font-medium uppercase tracking-wider max-sm:order-2`,[J[C(Z)(o.value.agent)],n.run.finished?`opacity-55`:``]]),"data-agent-hue":C(Z)(o.value.agent)},w(o.value.agent),11,_e)):h(``,!0),u.value?(m(),d(_,{key:1,text:u.value},{default:i(()=>[b(`a`,{class:`repo pointer-events-auto min-w-0 shrink-0 rounded border border-accented bg-accented/50 px-1.5 font-mono text-[0.72rem] font-medium leading-normal text-toned no-underline hover:border-(--ui-text-dimmed) hover:text-highlighted max-sm:order-3`,href:`https://github.com/${u.value}`,target:`_blank`,rel:`noopener noreferrer`},w(u.value.slice(u.value.indexOf(`/`)+1)),9,ve)]),_:1},8,[`text`])):(m(),x(`span`,{key:2,class:T([`scope min-w-0 shrink-0 truncate font-medium max-sm:order-3`,n.run.finished?`text-toned`:`text-highlighted`])},w(o.value.scope),3)),o.value.snippet===void 0?h(``,!0):(m(),x(`span`,ye,w(o.value.snippet),1)),W.value?(m(),x(`span`,{key:4,class:T([`outcome shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,f.value===`red`?`border-bad/30 text-bad`:`border-warn/30 text-warn`])},w(W.value),3)):h(``,!0),q.value?(m(),x(`span`,{key:5,class:T([`stopbadge shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,n.run.stop?.state===`stopped`?`border-accented text-muted`:`border-warn/30 text-warn`])},w(q.value),3)):h(``,!0),b(`span`,be,[c(pe,{kind:g.value.kind,tip:C(ie)(n.run),url:y.value||void 0},null,8,[`kind`,`tip`,`url`])]),E.value&&S.value!==void 0?(m(),d(_,{key:6,text:`removed at ${C(ce)(S.value)}`},{default:i(()=>[b(`span`,xe,`gone `+w(C(N)(S.value,n.now)),1)]),_:1},8,[`text`])):h(``,!0),c(_,{text:n.run.finished?`start to finish`:`running for`},{default:i(()=>[b(`span`,{class:T([`elapsed pointer-events-auto ml-auto shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-4 sm:min-w-[4.5em]`,n.run.finished?[F.value?`heat`:`text-muted`,k.value.level>=2?`font-medium`:``]:`text-ok`]),style:r(n.run.finished?F.value:void 0),"data-heat":n.run.finished?k.value.level:void 0},w(C(re)(n.run,n.now)),15,Se)]),_:1},8,[`text`]),a[2]||=b(`span`,{class:`hidden text-xs text-dimmed max-sm:order-8 max-sm:inline`,"aria-hidden":`true`},`·`,-1),c(_,{text:C(H)(n.run)},{default:i(()=>[b(`span`,Ce,w(C(ne)(n.run)),1)]),_:1},8,[`text`]),b(`span`,we,[O.value?(m(),x(s,{key:0},[c(_,{text:`Soft stop: no new steps, the agent writes up what it has`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`neutral`,variant:`outline`,label:`Stop`,disabled:X.soft,onClick:a[0]||=e=>$(`soft`)},null,8,[`disabled`])]),_:1}),c(_,{text:`Hard stop: abort now, no summary, free the sandbox`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`error`,variant:`outline`,label:`Kill`,disabled:X.hard,onClick:a[1]||=e=>$(`hard`)},null,8,[`disabled`])]),_:1})],64)):h(``,!0)]),Q.value.length>0?(m(),d(M,{key:7,items:Q.value,content:{align:`end`}},{default:i(()=>[c(v,{class:`pointer-events-auto -my-1.5 -mr-1 max-sm:order-5 sm:hidden`,size:`md`,color:`neutral`,variant:`ghost`,icon:`i-lucide-ellipsis-vertical`,"aria-label":`Run actions`})]),_:1},8,[`items`])):h(``,!0)],2)],10,me)}}}),Ee={class:`conn flex items-center gap-1.5`},De={id:`state`,class:`text-xs text-muted`},Oe={class:`toolbar mb-1.5 flex items-center gap-4 px-2 text-xs text-muted`},ke={id:`livecount`,class:`count font-mono tabular-nums`},Ae={class:`filter ml-auto inline-flex items-center gap-1.5`},je={class:`toggle inline-flex cursor-pointer select-none items-center gap-1.5 text-toned hover:text-highlighted`},Me=[`checked`],Ne={id:`retention`,class:`sr-only`},Pe={key:0,class:`banner mb-3 rounded-md border border-warn px-2.5 py-1.5 text-[0.8rem] text-warn`,role:`status`},Fe={id:`runs`,class:`m-0 list-none border-t border-muted p-0`},Ie={key:0,id:`leaving`,class:`divider flex items-baseline gap-2 border-b border-dashed border-warn/40 px-2 pb-1.5 pt-3 font-mono text-[0.72rem] uppercase tracking-wider text-warn`,role:`separator`},Le={key:1,id:`empty`,class:`empty px-2 py-2 text-muted`},Re={key:1,class:`pager mt-3 flex items-baseline gap-2 px-2 text-[0.8rem] text-muted`,"aria-label":`Completed runs pages`},ze={class:`range font-mono tabular-nums text-dimmed`},Be=[`href`],Ve=E({__name:`RunsIndexPage`,setup(e){let r=y(`runs`),l=r?.all??!1,T=r?.olderThan!==void 0,E=r?.retentionDays??null,j=E===null?void 0:E*864e5,M=p(E),P=_(new Map);for(let e of r?.rows??[])P.set(e.id,e);let I=O(r?.now),L=u({tone:`amber`,text:`connecting…`}),R=v(()=>[...P.values()].sort((e,t)=>t.startedAt-e.startedAt)),z=v(()=>R.value.filter(e=>!e.finished).length),B=v(()=>j===void 0?-1:R.value.findIndex(e=>{let t=U(e,j);return t!==void 0&&t-I.value<=864e5})),V=v(()=>B.value===-1?R.value:R.value.slice(0,B.value)),H=v(()=>B.value===-1?[]:R.value.slice(B.value)),G=l?`All runs`:`Live runs`;a(z,e=>{t.setTitle((e>0?`(${e}) `:``)+G),t.setFavicon(e>0?X:$)},{immediate:!0});function K(e){t.navigate(e.target.checked?`/runs?all=1`:`/runs`)}let q=v(()=>r?.olderThan===void 0?``:N(r.olderThan,I.value)),J=F(),Y=null;return o(()=>{Y=J(l?`/runs?stream=1&all=1`:`/runs?stream=1`);let e=!1;Y.onopen=()=>{if(e){t.reload();return}e=!0,L.value={tone:`green`,text:`connected`}},Y.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type===`removed`?t.id:t.run?.id,r=n?P.get(n):void 0;if(T&&!r)return;let i=W(t,l,r?.persisted===!0);i.op===`upsert`?P.set(i.run.id,Q(P.get(i.run.id),i.run)):i.op===`remove`&&P.delete(i.id)},Y.onerror=()=>{Y&&Y.readyState===2?L.value={tone:`red`,text:`disconnected`}:L.value={tone:`amber`,text:`connecting…`}}}),g(()=>{Y?.close()}),(e,t)=>{let a=D;return m(),d(n,{title:C(G),nav:`runs`},{status:i(()=>[b(`span`,Ee,[c(A,{tone:L.value.tone,label:L.value.text},null,8,[`tone`,`label`]),b(`span`,De,w(L.value.text),1)])]),default:i(()=>[c(k,{current:`runs`}),b(`div`,Oe,[b(`span`,ke,w(z.value)+` running`,1),b(`span`,Ae,[b(`label`,je,[b(`input`,{id:`showdone`,type:`checkbox`,class:`accent-(--ui-bg-inverted)`,checked:C(l),"aria-describedby":`retention`,onChange:K},null,40,Me),t[0]||=f(` Show completed `,-1)]),c(a,{text:C(M)},{default:i(()=>[...t[1]||=[b(`span`,{class:`help inline-flex size-[1.1em] cursor-help items-center justify-center rounded-full border border-accented text-[0.7rem] leading-none text-dimmed hover:border-(--ui-text-dimmed) hover:text-toned`,tabindex:`0`},`?`,-1)]]),_:1},8,[`text`]),b(`span`,Ne,w(C(M)),1)])]),C(r)?.storeUnavailable?(m(),x(`p`,Pe,w(C(r).storeUnavailable),1)):h(``,!0),b(`ul`,Fe,[(m(!0),x(s,null,S(V.value,e=>(m(),d(Te,{key:e.id,run:e,now:C(I),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),H.value.length>0?(m(),x(`li`,Ie,[...t[2]||=[b(`span`,{"aria-hidden":`true`,class:`text-sm tracking-normal`},`⏳`,-1),b(`span`,{class:`whitespace-nowrap`},`Leaving within a day`,-1),b(`span`,{class:`normal-case tracking-normal text-dimmed max-sm:hidden`},`— each row says when it is removed`,-1)]])):h(``,!0),(m(!0),x(s,null,S(H.value,e=>(m(),d(Te,{key:e.id,run:e,now:C(I),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),R.value.length===0?(m(),x(`li`,Le,w(C(l)?`No runs.`:`No active runs.`),1)):h(``,!0)]),C(l)&&(C(r)?.olderHref||C(r)?.olderThan!==void 0)?(m(),x(`nav`,Re,[C(r)?.olderThan===void 0?h(``,!0):(m(),x(s,{key:0},[t[3]||=b(`a`,{class:`text-primary hover:underline`,href:`/runs?all=1`},`← Newest runs`,-1),b(`span`,ze,`· runs finished before `+w(q.value),1)],64)),C(r)?.olderHref?(m(),x(`a`,{key:1,class:`older ml-auto text-primary hover:underline`,href:C(r).olderHref},`Older runs →`,8,Be)):h(``,!0)])):h(``,!0)]),_:1},8,[`title`])}}});export{Ve as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./AppShell-lYVcj-k7.js";import{Lr as t,Xt as n,_n as r,cn as i,gn as a,ir as o,ln as s,on as c,r as l,sn as u,un as d,ur as f,vi as p,wi as m,xi as h,yn as g}from"./seed-DeKSHrt2.js";import{t as ee}from"./Tooltip-
|
|
1
|
+
import{t as e}from"./AppShell-lYVcj-k7.js";import{Lr as t,Xt as n,_n as r,cn as i,gn as a,ir as o,ln as s,on as c,r as l,sn as u,un as d,ur as f,vi as p,wi as m,xi as h,yn as g}from"./seed-DeKSHrt2.js";import{t as ee}from"./Tooltip-DKMPwNyy.js";import{n as te}from"./wallClock-61NpVkY6.js";import{t as _}from"./RunsTabs-DEICQ4FY.js";import{t as v}from"./indexFormat-B-pd4r7Y.js";import{t as y}from"./localIso-L06jV29p.js";function b(e,t){return{kind:`schedule`,id:`schedule:${e}`,grants:t}}b(`self-improvement`,Object.freeze({actions:new Set([`friction:read`,`friction:write`]),channels:`all`,repos:new Set}));function x(e,t){let n=e-t,r=Math.floor(Math.abs(n)/6e4),i=Math.floor(r/60),a=Math.floor(i/24),o=a>0?`${a}d ${i%24}h`:i>0?`${i}h ${r%60}m`:r>0?`${r}m`:`<1m`;return n>=0?`in ${o}`:`${o} ago`}var S={healthz:`container health check`,watchdog:`resident watchdog`},C={completed:`succeeded`,failed:`failed`,stopped_soft:`stopped early`,stopped_hard:`killed`,"no-run":`no run created`,"ingress-error":`ingress error`,misconfigured:`misconfigured — nothing ran`},w={completed:`ok`,failed:`bad`,stopped_soft:`warn`,stopped_hard:`warn`,"no-run":`warn`,"ingress-error":`bad`,misconfigured:`bad`},T=120;function E(e){let t=e.replace(/\s+/g,` `).trim();return t=t.replace(/^[^\p{L}\p{N}*_`<[(]+/u,``),t=t.replace(/^\*[^*]{1,60}\*\s+[—–-]\s+/,``),t=t.replace(/^[^\p{L}\p{N}]+/u,``).trim(),t.length>T?`${t.slice(0,T)}…`:t}var D={key:0,class:`px-2 py-1.5 text-muted`},O={key:1,id:`scheduled`,"aria-label":`Scheduled jobs`},k={class:`m-0 list-none p-0`},A=[`data-schedule`],j={class:`def flex flex-wrap items-baseline gap-x-2 gap-y-1.5 text-[0.8rem] text-toned`},M={class:`name font-medium text-highlighted max-sm:text-[0.9rem]`},N={class:`max-sm:ml-auto`},P={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},F={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},I={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},L={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},R={key:1,class:`text-dimmed`},z={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},B={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},V=[`title`],H={class:`max-sm:hidden`},U={class:`font-medium text-highlighted`},W={class:`text-dimmed`},G={class:`text-toned sm:hidden`},K={key:1,class:`text-dimmed`},q={class:`fire mt-1.5 font-mono text-xs text-muted max-sm:flex max-sm:flex-wrap max-sm:items-baseline max-sm:gap-x-1.5 max-sm:gap-y-1 sm:overflow-hidden sm:text-ellipsis sm:whitespace-nowrap`},J=[`title`],Y=[`href`],X=[`title`],Z=[`title`],Q={key:1,class:`text-dimmed`},ne={key:0,class:`mt-2.5 px-2 text-xs text-muted`},$=g({__name:`ScheduledPage`,setup(g){let b=l(`scheduled`),T=c(()=>b?.now??te()),$=c(()=>b?.rows??null),re={ok:`text-ok`,bad:`text-bad`,warn:`text-warn`};return(c,l)=>{let g=ee;return o(),i(e,{title:`Scheduled runs`,nav:`runs`},{default:t(()=>[r(_,{current:`scheduled`}),$.value===null?(o(),d(`p`,D,`No schedule registry configured.`)):(o(),d(`section`,O,[u(`ul`,k,[(o(!0),d(n,null,f($.value,e=>(o(),d(`li`,{key:e.name,class:`border-b border-muted px-2 pb-3 pt-2.5`,"data-schedule":e.name},[u(`div`,j,[r(g,{text:e.description},{default:t(()=>[u(`span`,M,m(e.name),1)]),_:2},1032,[`text`]),l[5]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,N,[l[0]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`on`,-1),u(`code`,P,m(e.worker),1)]),l[6]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,F,[e.action.type===`run`?(o(),d(n,{key:0},[u(`code`,I,m(e.action.command),1),l[1]||=u(`span`,{class:`text-dimmed`},`as`,-1),u(`code`,L,m(e.action.identity),1)],64)):(o(),d(`span`,R,m(p(S)[e.action.type])+` — not a run`,1))]),l[7]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,z,[u(`code`,B,m(e.cron),1),l[3]||=u(`span`,{class:`text-dimmed`},`UTC`,-1),l[4]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`next font-mono tabular-nums max-sm:ml-auto`,title:e.nextFireAt===void 0?void 0:p(y)(e.nextFireAt)},[l[2]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`next`,-1),e.nextFireAt===void 0?(o(),d(`span`,K,`never`)):(o(),d(n,{key:0},[u(`span`,H,[u(`b`,U,m(p(v)(e.nextFireAt,T.value)),1),u(`span`,W,` (`+m(p(x)(e.nextFireAt,T.value))+`)`,1)]),u(`span`,G,m(p(x)(e.nextFireAt,T.value)),1)],64))],8,V)])]),u(`div`,q,[l[12]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`last`,-1),e.last?(o(),d(n,{key:0},[u(`span`,{class:h([`outcome`,re[p(w)[e.last.outcome]]])},m(p(C)[e.last.outcome]),3),l[11]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`when text-toned`,title:p(y)(e.last.firedAt)},m(p(x)(e.last.firedAt,T.value)),9,J),e.last.runId?(o(),d(n,{key:0},[l[8]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),e.last.runHref?(o(),d(`a`,{key:0,class:`text-primary hover:underline`,href:e.last.runHref},`run `+m(e.last.runId.slice(0,8)),9,Y)):(o(),d(n,{key:1},[a(`run `+m(e.last.runId.slice(0,8)),1)],64))],64)):s(``,!0),e.last.traceId?(o(),d(n,{key:1},[l[9]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`trace text-dimmed`,title:`trace ${e.last.traceId}`},`trace `+m(e.last.traceId.slice(0,8)),9,X)],64)):s(``,!0),e.last.detail&&p(E)(e.last.detail)?(o(),d(n,{key:2},[l[10]||=u(`span`,{class:`mx-1.5 text-accented max-sm:hidden`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`detail font-sans max-sm:line-clamp-2 max-sm:basis-full max-sm:whitespace-normal`,title:e.last.detail},m(p(E)(e.last.detail)),9,Z)],64)):s(``,!0)],64)):(o(),d(`span`,Q,m(p(b)?.firingsUnavailable?`unknown`:`never fired`),1))])],8,A))),128))]),p(b)?.firingsUnavailable?(o(),d(`p`,ne,` Firing history unavailable: `+m(p(b).firingsUnavailable),1)):s(``,!0)]))]),_:1})}}});export{$ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Lr as e,cn as t,ir as n,sn as r,un as i,xi as a,yn as o}from"./seed-DeKSHrt2.js";import{t as s}from"./Tooltip-
|
|
1
|
+
import{Lr as e,cn as t,ir as n,sn as r,un as i,xi as a,yn as o}from"./seed-DeKSHrt2.js";import{t as s}from"./Tooltip-DKMPwNyy.js";var c=[`aria-label`,`data-tone`],l=[`aria-label`,`data-tone`],u=o({__name:`StatusDot`,props:{tone:{},label:{},tip:{},pulse:{type:Boolean}},setup(o){let u={green:`bg-ok`,amber:`bg-warn`,red:`bg-bad`,grey:`bg-(--ui-text-dimmed)`};return(d,f)=>{let p=s;return o.tip?(n(),t(p,{key:0,text:o.tip},{default:e(()=>[r(`span`,{class:a([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[o.tone],o.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":o.label,"data-tone":o.tone},null,10,c)]),_:1},8,[`text`])):(n(),i(`span`,{key:1,class:a([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[o.tone],o.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":o.label,"data-tone":o.tone},null,10,l))}}});export{u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e,f as t,l as n,o as r,u as i,v as a,x as o,y as s}from"./AppShell-lYVcj-k7.js";import{A as c,B as l,Dr as u,J as d,Lr as f,M as p,Mr as m,N as h,Nr as g,Qn as _,Si as v,Wn as y,Wt as b,Xt as x,_ as S,_n as C,_t as ee,at as w,ci as T,cn as E,dr as D,ft as O,g as te,gn as ne,h as re,ht as k,ir as A,j,kn as M,ln as N,mi as P,mr as ie,on as F,ot as I,pt as L,q as R,tt as z,u as B,un as V,ur as H,vi as U,wi as W,x as G,xi as K,xr as q,y as J,yn as Y}from"./seed-DeKSHrt2.js";import{n as X,r as ae}from"./main-C4GOEklV.js";function oe(e,t){let n=L(!1,300);k(()=>{n.value=!1});let r=T(null),i=I();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=ce(a,se(a,i.getBoundingClientRect()),1),s=le(t.getBoundingClientRect()),c=de([...o,...s]);r.value=c,n.value=!0}return g(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)})}}),g(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=!ue(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 se(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 ce(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 le(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 ue(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 de(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)),fe(t)}function fe(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 pe=Y({__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 h(),(e,r)=>(A(),E(U(n),v(M(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),Z=`tooltip.open`,[Q,me]=l(`TooltipRoot`),he=Y({__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:n}){let r=e,i=n;h();let a=X(),o=F(()=>r.disableHoverableContent??a.disableHoverableContent.value),s=F(()=>r.disableClosingTrigger??a.disableClosingTrigger.value),c=F(()=>r.disabled??a.disabled.value),l=F(()=>r.delayDuration??a.delayDuration.value),u=F(()=>r.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),d=w(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});m(d,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(Z))):a.onClose())});let p=T(!1),g=T(),_=F(()=>d.value?p.value?`delayed-open`:`instant-open`:`closed`),{start:v,stop:y}=ee(()=>{p.value=!0,d.value=!0},l,{immediate:!1});function b(){y(),p.value=!1,d.value=!0}function x(){y(),d.value=!1}function S(){v()}return me({contentId:``,open:d,stateAttribute:_,trigger:g,onTriggerChange(e){g.value=e},onTriggerEnter(){a.isOpenDelayed.value?S():b()},onTriggerLeave(){o.value?x():y()},onOpen:b,onClose:x,disableHoverableContent:o,disableClosingTrigger:s,disabled:c,ignoreNonKeyboardFocus:u}),(e,n)=>(A(),E(U(t),null,{default:f(()=>[D(e.$slots,`default`,{open:U(d)})]),_:3}))}}),$=Y({__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(e,{emit:t}){let n=e,r=t,o=Q(),s=X(),{forwardRef:c,currentElement:l}=h(),u=F(()=>n.ariaLabel||l.value?.textContent),d=F(()=>{let{ariaLabel:e,...t}=n;return R(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return _(()=>{z(window,`scroll`,e=>{e.target?.contains(o.trigger.value)&&o.onClose()},{capture:!0}),z(document,Z,o.onClose)}),(e,t)=>(A(),E(U(a),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{U(o).disableClosingTrigger.value&&U(o).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=b(()=>{},[`prevent`]),onDismiss:t[3]||=e=>U(o).onClose()},{default:f(()=>[C(U(i),y({ref:U(c),"data-state":U(o).stateAttribute.value},{...e.$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:f(()=>[D(e.$slots,`default`),C(U(ae),{id:U(o).contentId,role:`tooltip`},{default:f(()=>[ne(W(u.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),ge=Y({__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}=h(),{trigger:i,onClose:a}=Q(),o=X(),{isPointerInTransit:s,onPointerExit:c}=oe(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(A(),E($,y({ref:U(n)},U(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),_e=Y({__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:t}){let n=e,r=t,i=Q(),a=o(n,r),{forwardRef:s}=h();return(e,t)=>(A(),E(U(j),{present:e.forceMount||U(i).open.value},{default:f(()=>[(A(),E(ie(U(i).disableHoverableContent.value?$:ge),y({ref:U(s)},U(a)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ve=Y({__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)=>(A(),E(U(G),v(M(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),ye=Y({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=Q(),i=X();r.contentId||=s(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:o}=h(),l=T(!1),u=T(!1),d=F(()=>r.disabled.value?{}:{click:S,focus:b,pointermove:g,pointerleave:v,pointerdown:m,blur:x});_(()=>{r.onTriggerChange(o.value)});function p(){setTimeout(()=>{l.value=!1},1)}function m(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),l.value=!0,document.addEventListener(`pointerup`,p,{once:!0})}function g(e){e.pointerType!==`touch`&&!u.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),u.value=!0)}function v(){r.onTriggerLeave(),u.value=!1}function b(e){l.value||(!r.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&r.onOpen()}function x(){r.onClose()}function S(){r.disableClosingTrigger.value||r.onClose()}return(t,i)=>(A(),E(U(e),{"as-child":``,reference:t.reference},{default:f(()=>[C(U(c),y({ref:U(a),"aria-describedby":U(r).open.value?U(r).contentId:void 0,"data-state":U(r).stateAttribute.value,as:t.as,"as-child":n.asChild,"data-grace-area-trigger":``},q(d.value)),{default:f(()=>[D(t.$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,i=t,a=u(),o=S(`tooltip`,n),s=d(),c=X(),l=te(O(o,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),i),p=J(P(()=>o.portal)),m=P(()=>R(o.content,c.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),h=P(()=>R(o.arrow,{rounded:!0})),g=F(()=>re({extend:be,...s.ui?.tooltip||{}})({side:m.value.side}));return(e,t)=>(A(),E(U(he),y(U(l),{disabled:!(U(o).text||U(o).kbds?.length||a.content)||U(o).disabled}),{default:f(({open:t})=>[a.default||U(o).reference?(A(),E(U(ye),y({key:0},e.$attrs,{"as-child":``,reference:U(o).reference,class:U(o).class}),{default:f(()=>[D(e.$slots,`default`,{open:t})]),_:2},1040,[`reference`,`class`])):N(``,!0),C(U(ve),v(M(U(p))),{default:f(()=>[C(U(B),null,{default:f(()=>[C(U(_e),y(m.value,{"data-slot":`content`,class:g.value.content({class:[!a.default&&U(o).class,U(o).ui?.content]})}),{default:f(()=>[D(e.$slots,`content`,{ui:g.value},()=>[U(o).text?(A(),V(`span`,{key:0,"data-slot":`text`,class:K(g.value.text({class:U(o).ui?.text}))},W(U(o).text),3)):N(``,!0),U(o).kbds?.length?(A(),V(`span`,{key:1,"data-slot":`kbds`,class:K(g.value.kbds({class:U(o).ui?.kbds}))},[(A(!0),V(x,null,H(U(o).kbds,(e,t)=>(A(),E(r,y({key:t,size:U(o).ui?.kbdsSize||g.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):N(``,!0)]),U(o).arrow?(A(),E(U(pe),y({key:0},h.value,{"data-slot":`arrow`,class:g.value.arrow({class:U(o).ui?.arrow})}),null,16,[`class`])):N(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}};export{xe as t};
|
|
1
|
+
import{d as e,f as t,l as n,o as r,u as i,v as a,x as o,y as s}from"./AppShell-lYVcj-k7.js";import{A as c,B as l,Dr as u,J as d,Lr as f,M as p,Mr as m,N as h,Nr as g,Qn as _,Si as v,Wn as y,Wt as b,Xt as x,_ as S,_n as C,_t as ee,at as w,ci as T,cn as E,dr as D,ft as O,g as te,gn as ne,h as re,ht as k,ir as A,j,kn as M,ln as N,mi as P,mr as ie,on as F,ot as I,pt as L,q as R,tt as z,u as B,un as V,ur as H,vi as U,wi as W,x as G,xi as K,xr as q,y as J,yn as Y}from"./seed-DeKSHrt2.js";import{n as X,r as ae}from"./main-CXKOiCOK.js";function oe(e,t){let n=L(!1,300);k(()=>{n.value=!1});let r=T(null),i=I();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=ce(a,se(a,i.getBoundingClientRect()),1),s=le(t.getBoundingClientRect()),c=de([...o,...s]);r.value=c,n.value=!0}return g(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)})}}),g(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=!ue(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 se(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 ce(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 le(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 ue(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 de(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)),fe(t)}function fe(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 pe=Y({__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 h(),(e,r)=>(A(),E(U(n),v(M(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),Z=`tooltip.open`,[Q,me]=l(`TooltipRoot`),he=Y({__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:n}){let r=e,i=n;h();let a=X(),o=F(()=>r.disableHoverableContent??a.disableHoverableContent.value),s=F(()=>r.disableClosingTrigger??a.disableClosingTrigger.value),c=F(()=>r.disabled??a.disabled.value),l=F(()=>r.delayDuration??a.delayDuration.value),u=F(()=>r.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),d=w(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});m(d,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(Z))):a.onClose())});let p=T(!1),g=T(),_=F(()=>d.value?p.value?`delayed-open`:`instant-open`:`closed`),{start:v,stop:y}=ee(()=>{p.value=!0,d.value=!0},l,{immediate:!1});function b(){y(),p.value=!1,d.value=!0}function x(){y(),d.value=!1}function S(){v()}return me({contentId:``,open:d,stateAttribute:_,trigger:g,onTriggerChange(e){g.value=e},onTriggerEnter(){a.isOpenDelayed.value?S():b()},onTriggerLeave(){o.value?x():y()},onOpen:b,onClose:x,disableHoverableContent:o,disableClosingTrigger:s,disabled:c,ignoreNonKeyboardFocus:u}),(e,n)=>(A(),E(U(t),null,{default:f(()=>[D(e.$slots,`default`,{open:U(d)})]),_:3}))}}),$=Y({__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(e,{emit:t}){let n=e,r=t,o=Q(),s=X(),{forwardRef:c,currentElement:l}=h(),u=F(()=>n.ariaLabel||l.value?.textContent),d=F(()=>{let{ariaLabel:e,...t}=n;return R(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return _(()=>{z(window,`scroll`,e=>{e.target?.contains(o.trigger.value)&&o.onClose()},{capture:!0}),z(document,Z,o.onClose)}),(e,t)=>(A(),E(U(a),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{U(o).disableClosingTrigger.value&&U(o).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=b(()=>{},[`prevent`]),onDismiss:t[3]||=e=>U(o).onClose()},{default:f(()=>[C(U(i),y({ref:U(c),"data-state":U(o).stateAttribute.value},{...e.$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:f(()=>[D(e.$slots,`default`),C(U(ae),{id:U(o).contentId,role:`tooltip`},{default:f(()=>[ne(W(u.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),ge=Y({__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}=h(),{trigger:i,onClose:a}=Q(),o=X(),{isPointerInTransit:s,onPointerExit:c}=oe(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(A(),E($,y({ref:U(n)},U(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),_e=Y({__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:t}){let n=e,r=t,i=Q(),a=o(n,r),{forwardRef:s}=h();return(e,t)=>(A(),E(U(j),{present:e.forceMount||U(i).open.value},{default:f(()=>[(A(),E(ie(U(i).disableHoverableContent.value?$:ge),y({ref:U(s)},U(a)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ve=Y({__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)=>(A(),E(U(G),v(M(t)),{default:f(()=>[D(e.$slots,`default`)]),_:3},16))}}),ye=Y({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=Q(),i=X();r.contentId||=s(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:o}=h(),l=T(!1),u=T(!1),d=F(()=>r.disabled.value?{}:{click:S,focus:b,pointermove:g,pointerleave:v,pointerdown:m,blur:x});_(()=>{r.onTriggerChange(o.value)});function p(){setTimeout(()=>{l.value=!1},1)}function m(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),l.value=!0,document.addEventListener(`pointerup`,p,{once:!0})}function g(e){e.pointerType!==`touch`&&!u.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),u.value=!0)}function v(){r.onTriggerLeave(),u.value=!1}function b(e){l.value||(!r.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&r.onOpen()}function x(){r.onClose()}function S(){r.disableClosingTrigger.value||r.onClose()}return(t,i)=>(A(),E(U(e),{"as-child":``,reference:t.reference},{default:f(()=>[C(U(c),y({ref:U(a),"aria-describedby":U(r).open.value?U(r).contentId:void 0,"data-state":U(r).stateAttribute.value,as:t.as,"as-child":n.asChild,"data-grace-area-trigger":``},q(d.value)),{default:f(()=>[D(t.$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,i=t,a=u(),o=S(`tooltip`,n),s=d(),c=X(),l=te(O(o,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),i),p=J(P(()=>o.portal)),m=P(()=>R(o.content,c.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),h=P(()=>R(o.arrow,{rounded:!0})),g=F(()=>re({extend:be,...s.ui?.tooltip||{}})({side:m.value.side}));return(e,t)=>(A(),E(U(he),y(U(l),{disabled:!(U(o).text||U(o).kbds?.length||a.content)||U(o).disabled}),{default:f(({open:t})=>[a.default||U(o).reference?(A(),E(U(ye),y({key:0},e.$attrs,{"as-child":``,reference:U(o).reference,class:U(o).class}),{default:f(()=>[D(e.$slots,`default`,{open:t})]),_:2},1040,[`reference`,`class`])):N(``,!0),C(U(ve),v(M(U(p))),{default:f(()=>[C(U(B),null,{default:f(()=>[C(U(_e),y(m.value,{"data-slot":`content`,class:g.value.content({class:[!a.default&&U(o).class,U(o).ui?.content]})}),{default:f(()=>[D(e.$slots,`content`,{ui:g.value},()=>[U(o).text?(A(),V(`span`,{key:0,"data-slot":`text`,class:K(g.value.text({class:U(o).ui?.text}))},W(U(o).text),3)):N(``,!0),U(o).kbds?.length?(A(),V(`span`,{key:1,"data-slot":`kbds`,class:K(g.value.kbds({class:U(o).ui?.kbds}))},[(A(!0),V(x,null,H(U(o).kbds,(e,t)=>(A(),E(r,y({key:t,size:U(o).ui?.kbdsSize||g.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):N(``,!0)]),U(o).arrow?(A(),E(U(pe),y({key:0},h.value,{"data-slot":`arrow`,class:g.value.arrow({class:U(o).ui?.arrow})}),null,16,[`class`])):N(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}};export{xe as t};
|