nuxt-devtools-observatory 0.1.15 → 0.1.17
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/LICENSE +17 -5
- package/README.md +3 -1
- package/client/dist/assets/index-DDPIR7nA.js +17 -0
- package/client/dist/assets/index-DzKvjd0B.css +1 -0
- package/client/dist/index.html +2 -2
- package/client/src/App.vue +15 -8
- package/client/src/stores/observatory.ts +16 -2
- package/client/src/views/FetchDashboard.vue +1 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +11 -3
- package/dist/runtime/composables/fetch-registry.js +30 -2
- package/dist/runtime/plugin.js +90 -44
- package/package.json +6 -2
- package/client/dist/assets/index-B1qWBxxI.js +0 -17
- package/client/dist/assets/index-XYlDyaMH.css +0 -1
package/LICENSE
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
1
|
+
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026, Victor Neves
|
|
4
4
|
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
6
11
|
|
|
7
|
-
The above copyright notice and this permission notice shall be included in
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
8
14
|
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(o){if(o.ep)return;o.ep=!0;const l=s(o);fetch(o.href,l)}})();/**
|
|
2
|
+
* @vue/shared v3.5.30
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function In(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ve={},Kt=[],lt=()=>{},Ro=()=>!1,qs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),$e=Object.assign,Fn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},si=Object.prototype.hasOwnProperty,pe=(e,t)=>si.call(e,t),Z=Array.isArray,Wt=e=>$s(e)==="[object Map]",Js=e=>$s(e)==="[object Set]",Yn=e=>$s(e)==="[object Date]",ne=e=>typeof e=="function",ye=e=>typeof e=="string",it=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",jo=e=>(he(e)||ne(e))&&ne(e.then)&&ne(e.catch),Do=Object.prototype.toString,$s=e=>Do.call(e),ni=e=>$s(e).slice(8,-1),Ho=e=>$s(e)==="[object Object]",Ln=e=>ye(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,as=In(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},oi=/-\w/g,Je=Gs(e=>e.replace(oi,t=>t.slice(1).toUpperCase())),li=/\B([A-Z])/g,Rt=Gs(e=>e.replace(li,"-$1").toLowerCase()),Vo=Gs(e=>e.charAt(0).toUpperCase()+e.slice(1)),rn=Gs(e=>e?`on${Vo(e)}`:""),ot=(e,t)=>!Object.is(e,t),As=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Uo=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Ys=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ii=e=>{const t=ye(e)?Number(e):NaN;return isNaN(t)?e:t};let Qn;const Qs=()=>Qn||(Qn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ce(e){if(Z(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=ye(n)?ui(n):Ce(n);if(o)for(const l in o)t[l]=o[l]}return t}else if(ye(e)||he(e))return e}const ri=/;(?![^(]*\))/g,ai=/:([^]+)/,ci=/\/\*[^]*?\*\//g;function ui(e){const t={};return e.replace(ci,"").split(ri).forEach(s=>{if(s){const n=s.split(ai);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function se(e){let t="";if(ye(e))t=e;else if(Z(e))for(let s=0;s<e.length;s++){const n=se(e[s]);n&&(t+=n+" ")}else if(he(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const di="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",fi=In(di);function Bo(e){return!!e||e===""}function pi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Cs(e[n],t[n]);return s}function Cs(e,t){if(e===t)return!0;let s=Yn(e),n=Yn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=it(e),n=it(t),s||n)return e===t;if(s=Z(e),n=Z(t),s||n)return s&&n?pi(e,t):!1;if(s=he(e),n=he(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,l=Object.keys(t).length;if(o!==l)return!1;for(const r in e){const a=e.hasOwnProperty(r),c=t.hasOwnProperty(r);if(a&&!c||!a&&c||!Cs(e[r],t[r]))return!1}}return String(e)===String(t)}function hi(e,t){return e.findIndex(s=>Cs(s,t))}const Ko=e=>!!(e&&e.__v_isRef===!0),b=e=>ye(e)?e:e==null?"":Z(e)||he(e)&&(e.toString===Do||!ne(e.toString))?Ko(e)?b(e.value):JSON.stringify(e,Wo,2):String(e),Wo=(e,t)=>Ko(t)?Wo(e,t.value):Wt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],l)=>(s[an(n,l)+" =>"]=o,s),{})}:Js(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>an(s))}:it(t)?an(t):he(t)&&!Z(t)&&!Ho(t)?String(t):t,an=(e,t="")=>{var s;return it(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.30
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let He;class vi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=He,!t&&He&&(this.index=(He.scopes||(He.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=He;try{return He=this,t()}finally{He=s}}}on(){++this._on===1&&(this.prevScope=He,He=this)}off(){this._on>0&&--this._on===0&&(He=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function mi(){return He}let me;const cn=new WeakSet;class zo{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,He&&He.active&&He.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,cn.has(this)&&(cn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Jo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Xn(this),Go(this);const t=me,s=Ge;me=this,Ge=!0;try{return this.fn()}finally{Yo(this),me=t,Ge=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)jn(t);this.deps=this.depsTail=void 0,Xn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?cn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){_n(this)&&this.run()}get dirty(){return _n(this)}}let qo=0,cs,us;function Jo(e,t=!1){if(e.flags|=8,t){e.next=us,us=e;return}e.next=cs,cs=e}function Nn(){qo++}function Rn(){if(--qo>0)return;if(us){let t=us;for(us=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;cs;){let t=cs;for(cs=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Go(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yo(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),jn(n),gi(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function _n(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ms)||(e.globalVersion=ms,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!_n(e))))return;e.flags|=2;const t=e.dep,s=me,n=Ge;me=e,Ge=!0;try{Go(e);const o=e.fn(e._value);(t.version===0||ot(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{me=s,Ge=n,Yo(e),e.flags&=-3}}function jn(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let l=s.computed.deps;l;l=l.nextDep)jn(l,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function gi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ge=!0;const Xo=[];function pt(){Xo.push(Ge),Ge=!1}function ht(){const e=Xo.pop();Ge=e===void 0?!0:e}function Xn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let ms=0;class _i{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Dn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!me||!Ge||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new _i(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,Zo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=n)}return s}trigger(t){this.version++,ms++,this.notify(t)}notify(t){Nn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Rn()}}}function Zo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Zo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const bn=new WeakMap,Pt=Symbol(""),yn=Symbol(""),gs=Symbol("");function Te(e,t,s){if(Ge&&me){let n=bn.get(e);n||bn.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Dn),o.map=n,o.key=s),o.track()}}function dt(e,t,s,n,o,l){const r=bn.get(e);if(!r){ms++;return}const a=c=>{c&&c.trigger()};if(Nn(),t==="clear")r.forEach(a);else{const c=Z(e),v=c&&Ln(s);if(c&&s==="length"){const d=Number(n);r.forEach((g,M)=>{(M==="length"||M===gs||!it(M)&&M>=d)&&a(g)})}else switch((s!==void 0||r.has(void 0))&&a(r.get(s)),v&&a(r.get(gs)),t){case"add":c?v&&a(r.get("length")):(a(r.get(Pt)),Wt(e)&&a(r.get(yn)));break;case"delete":c||(a(r.get(Pt)),Wt(e)&&a(r.get(yn)));break;case"set":Wt(e)&&a(r.get(Pt));break}}Rn()}function Dt(e){const t=de(e);return t===e?t:(Te(t,"iterate",gs),ze(e)?t:t.map(Ye))}function Xs(e){return Te(e=de(e),"iterate",gs),e}function st(e,t){return vt(e)?Gt(Ft(e)?Ye(t):t):Ye(t)}const bi={__proto__:null,[Symbol.iterator](){return un(this,Symbol.iterator,e=>st(this,e))},concat(...e){return Dt(this).concat(...e.map(t=>Z(t)?Dt(t):t))},entries(){return un(this,"entries",e=>(e[1]=st(this,e[1]),e))},every(e,t){return rt(this,"every",e,t,void 0,arguments)},filter(e,t){return rt(this,"filter",e,t,s=>s.map(n=>st(this,n)),arguments)},find(e,t){return rt(this,"find",e,t,s=>st(this,s),arguments)},findIndex(e,t){return rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return rt(this,"findLast",e,t,s=>st(this,s),arguments)},findLastIndex(e,t){return rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return dn(this,"includes",e)},indexOf(...e){return dn(this,"indexOf",e)},join(e){return Dt(this).join(e)},lastIndexOf(...e){return dn(this,"lastIndexOf",e)},map(e,t){return rt(this,"map",e,t,void 0,arguments)},pop(){return ss(this,"pop")},push(...e){return ss(this,"push",e)},reduce(e,...t){return Zn(this,"reduce",e,t)},reduceRight(e,...t){return Zn(this,"reduceRight",e,t)},shift(){return ss(this,"shift")},some(e,t){return rt(this,"some",e,t,void 0,arguments)},splice(...e){return ss(this,"splice",e)},toReversed(){return Dt(this).toReversed()},toSorted(e){return Dt(this).toSorted(e)},toSpliced(...e){return Dt(this).toSpliced(...e)},unshift(...e){return ss(this,"unshift",e)},values(){return un(this,"values",e=>st(this,e))}};function un(e,t,s){const n=Xs(e),o=n[t]();return n!==e&&!ze(e)&&(o._next=o.next,o.next=()=>{const l=o._next();return l.done||(l.value=s(l.value)),l}),o}const yi=Array.prototype;function rt(e,t,s,n,o,l){const r=Xs(e),a=r!==e&&!ze(e),c=r[t];if(c!==yi[t]){const g=c.apply(e,l);return a?Ye(g):g}let v=s;r!==e&&(a?v=function(g,M){return s.call(this,st(e,g),M,e)}:s.length>2&&(v=function(g,M){return s.call(this,g,M,e)}));const d=c.call(r,v,n);return a&&o?o(d):d}function Zn(e,t,s,n){const o=Xs(e),l=o!==e&&!ze(e);let r=s,a=!1;o!==e&&(l?(a=n.length===0,r=function(v,d,g){return a&&(a=!1,v=st(e,v)),s.call(this,v,st(e,d),g,e)}):s.length>3&&(r=function(v,d,g){return s.call(this,v,d,g,e)}));const c=o[t](r,...n);return a?st(e,c):c}function dn(e,t,s){const n=de(e);Te(n,"iterate",gs);const o=n[t](...s);return(o===-1||o===!1)&&Bn(s[0])?(s[0]=de(s[0]),n[t](...s)):o}function ss(e,t,s=[]){pt(),Nn();const n=de(e)[t].apply(e,s);return Rn(),ht(),n}const xi=In("__proto__,__v_isRef,__isVue"),el=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(it));function wi(e){it(e)||(e=String(e));const t=de(this);return Te(t,"has",e),t.hasOwnProperty(e)}class tl{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,l=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return l;if(s==="__v_raw")return n===(o?l?Ii:ll:l?ol:nl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=Z(t);if(!o){let c;if(r&&(c=bi[s]))return c;if(s==="hasOwnProperty")return wi}const a=Reflect.get(t,s,Ee(t)?t:n);if((it(s)?el.has(s):xi(s))||(o||Te(t,"get",s),l))return a;if(Ee(a)){const c=r&&Ln(s)?a:a.value;return o&&he(c)?wn(c):c}return he(a)?o?wn(a):Vn(a):a}}class sl extends tl{constructor(t=!1){super(!1,t)}set(t,s,n,o){let l=t[s];const r=Z(t)&&Ln(s);if(!this._isShallow){const v=vt(l);if(!ze(n)&&!vt(n)&&(l=de(l),n=de(n)),!r&&Ee(l)&&!Ee(n))return v||(l.value=n),!0}const a=r?Number(s)<t.length:pe(t,s),c=Reflect.set(t,s,n,Ee(t)?t:o);return t===de(o)&&(a?ot(n,l)&&dt(t,"set",s,n):dt(t,"add",s,n)),c}deleteProperty(t,s){const n=pe(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&dt(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!it(s)||!el.has(s))&&Te(t,"has",s),n}ownKeys(t){return Te(t,"iterate",Z(t)?"length":Pt),Reflect.ownKeys(t)}}class $i extends tl{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Ci=new sl,ki=new $i,Si=new sl(!0);const xn=e=>e,Ms=e=>Reflect.getPrototypeOf(e);function Ti(e,t,s){return function(...n){const o=this.__v_raw,l=de(o),r=Wt(l),a=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,v=o[e](...n),d=s?xn:t?Gt:Ye;return!t&&Te(l,"iterate",c?yn:Pt),$e(Object.create(v),{next(){const{value:g,done:M}=v.next();return M?{value:g,done:M}:{value:a?[d(g[0]),d(g[1])]:d(g),done:M}}})}}function Es(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mi(e,t){const s={get(o){const l=this.__v_raw,r=de(l),a=de(o);e||(ot(o,a)&&Te(r,"get",o),Te(r,"get",a));const{has:c}=Ms(r),v=t?xn:e?Gt:Ye;if(c.call(r,o))return v(l.get(o));if(c.call(r,a))return v(l.get(a));l!==r&&l.get(o)},get size(){const o=this.__v_raw;return!e&&Te(de(o),"iterate",Pt),o.size},has(o){const l=this.__v_raw,r=de(l),a=de(o);return e||(ot(o,a)&&Te(r,"has",o),Te(r,"has",a)),o===a?l.has(o):l.has(o)||l.has(a)},forEach(o,l){const r=this,a=r.__v_raw,c=de(a),v=t?xn:e?Gt:Ye;return!e&&Te(c,"iterate",Pt),a.forEach((d,g)=>o.call(l,v(d),v(g),r))}};return $e(s,e?{add:Es("add"),set:Es("set"),delete:Es("delete"),clear:Es("clear")}:{add(o){const l=de(this),r=Ms(l),a=de(o),c=!t&&!ze(o)&&!vt(o)?a:o;return r.has.call(l,c)||ot(o,c)&&r.has.call(l,o)||ot(a,c)&&r.has.call(l,a)||(l.add(c),dt(l,"add",c,c)),this},set(o,l){!t&&!ze(l)&&!vt(l)&&(l=de(l));const r=de(this),{has:a,get:c}=Ms(r);let v=a.call(r,o);v||(o=de(o),v=a.call(r,o));const d=c.call(r,o);return r.set(o,l),v?ot(l,d)&&dt(r,"set",o,l):dt(r,"add",o,l),this},delete(o){const l=de(this),{has:r,get:a}=Ms(l);let c=r.call(l,o);c||(o=de(o),c=r.call(l,o)),a&&a.call(l,o);const v=l.delete(o);return c&&dt(l,"delete",o,void 0),v},clear(){const o=de(this),l=o.size!==0,r=o.clear();return l&&dt(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Ti(o,e,t)}),s}function Hn(e,t){const s=Mi(e,t);return(n,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(pe(s,o)&&o in n?s:n,o,l)}const Ei={get:Hn(!1,!1)},Oi={get:Hn(!1,!0)},Ai={get:Hn(!0,!1)};const nl=new WeakMap,ol=new WeakMap,ll=new WeakMap,Ii=new WeakMap;function Pi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fi(e){return e.__v_skip||!Object.isExtensible(e)?0:Pi(ni(e))}function Vn(e){return vt(e)?e:Un(e,!1,Ci,Ei,nl)}function Li(e){return Un(e,!1,Si,Oi,ol)}function wn(e){return Un(e,!0,ki,Ai,ll)}function Un(e,t,s,n,o){if(!he(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=Fi(e);if(l===0)return e;const r=o.get(e);if(r)return r;const a=new Proxy(e,l===2?n:s);return o.set(e,a),a}function Ft(e){return vt(e)?Ft(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function ze(e){return!!(e&&e.__v_isShallow)}function Bn(e){return e?!!e.__v_raw:!1}function de(e){const t=e&&e.__v_raw;return t?de(t):e}function Ni(e){return!pe(e,"__v_skip")&&Object.isExtensible(e)&&Uo(e,"__v_skip",!0),e}const Ye=e=>he(e)?Vn(e):e,Gt=e=>he(e)?wn(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function re(e){return Ri(e,!1)}function Ri(e,t){return Ee(e)?e:new ji(e,t)}class ji{constructor(t,s){this.dep=new Dn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:de(t),this._value=s?t:Ye(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||ze(t)||vt(t);t=n?t:de(t),ot(t,s)&&(this._rawValue=t,this._value=n?t:Ye(t),this.dep.trigger())}}function xt(e){return Ee(e)?e.value:e}const Di={get:(e,t,s)=>t==="__v_raw"?e:xt(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return Ee(o)&&!Ee(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function il(e){return Ft(e)?e:new Proxy(e,Di)}class Hi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Dn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ms-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return Jo(this,!0),!0}get value(){const t=this.dep.track();return Qo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Vi(e,t,s=!1){let n,o;return ne(e)?n=e:(n=e.get,o=e.set),new Hi(n,o,s)}const Os={},Ns=new WeakMap;let Et;function Ui(e,t=!1,s=Et){if(s){let n=Ns.get(s);n||Ns.set(s,n=[]),n.push(e)}}function Bi(e,t,s=ve){const{immediate:n,deep:o,once:l,scheduler:r,augmentJob:a,call:c}=s,v=E=>o?E:ze(E)||o===!1||o===0?ft(E,1):ft(E);let d,g,M,y,x=!1,N=!1;if(Ee(e)?(g=()=>e.value,x=ze(e)):Ft(e)?(g=()=>v(e),x=!0):Z(e)?(N=!0,x=e.some(E=>Ft(E)||ze(E)),g=()=>e.map(E=>{if(Ee(E))return E.value;if(Ft(E))return v(E);if(ne(E))return c?c(E,2):E()})):ne(e)?t?g=c?()=>c(e,2):e:g=()=>{if(M){pt();try{M()}finally{ht()}}const E=Et;Et=d;try{return c?c(e,3,[y]):e(y)}finally{Et=E}}:g=lt,t&&o){const E=g,R=o===!0?1/0:o;g=()=>ft(E(),R)}const J=mi(),Y=()=>{d.stop(),J&&J.active&&Fn(J.effects,d)};if(l&&t){const E=t;t=(...R)=>{E(...R),Y()}}let B=N?new Array(e.length).fill(Os):Os;const I=E=>{if(!(!(d.flags&1)||!d.dirty&&!E))if(t){const R=d.run();if(o||x||(N?R.some((ue,H)=>ot(ue,B[H])):ot(R,B))){M&&M();const ue=Et;Et=d;try{const H=[R,B===Os?void 0:N&&B[0]===Os?[]:B,y];B=R,c?c(t,3,H):t(...H)}finally{Et=ue}}}else d.run()};return a&&a(I),d=new zo(g),d.scheduler=r?()=>r(I,!1):I,y=E=>Ui(E,!1,d),M=d.onStop=()=>{const E=Ns.get(d);if(E){if(c)c(E,4);else for(const R of E)R();Ns.delete(d)}},t?n?I(!0):B=d.run():r?r(I.bind(null,!0),!0):d.run(),Y.pause=d.pause.bind(d),Y.resume=d.resume.bind(d),Y.stop=Y,Y}function ft(e,t=1/0,s){if(t<=0||!he(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Ee(e))ft(e.value,t,s);else if(Z(e))for(let n=0;n<e.length;n++)ft(e[n],t,s);else if(Js(e)||Wt(e))e.forEach(n=>{ft(n,t,s)});else if(Ho(e)){for(const n in e)ft(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ft(e[n],t,s)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.30
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function ks(e,t,s,n){try{return n?e(...n):e()}catch(o){Zs(o,t,s)}}function Qe(e,t,s,n){if(ne(e)){const o=ks(e,t,s,n);return o&&jo(o)&&o.catch(l=>{Zs(l,t,s)}),o}if(Z(e)){const o=[];for(let l=0;l<e.length;l++)o.push(Qe(e[l],t,s,n));return o}}function Zs(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||ve;if(t){let a=t.parent;const c=t.proxy,v=`https://vuejs.org/error-reference/#runtime-${s}`;for(;a;){const d=a.ec;if(d){for(let g=0;g<d.length;g++)if(d[g](e,c,v)===!1)return}a=a.parent}if(l){pt(),ks(l,null,10,[e,c,v]),ht();return}}Ki(e,s,o,n,r)}function Ki(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const Pe=[];let et=-1;const zt=[];let bt=null,Bt=0;const rl=Promise.resolve();let Rs=null;function al(e){const t=Rs||rl;return e?t.then(this?e.bind(this):e):t}function Wi(e){let t=et+1,s=Pe.length;for(;t<s;){const n=t+s>>>1,o=Pe[n],l=_s(o);l<e||l===e&&o.flags&2?t=n+1:s=n}return t}function Kn(e){if(!(e.flags&1)){const t=_s(e),s=Pe[Pe.length-1];!s||!(e.flags&2)&&t>=_s(s)?Pe.push(e):Pe.splice(Wi(t),0,e),e.flags|=1,cl()}}function cl(){Rs||(Rs=rl.then(dl))}function zi(e){Z(e)?zt.push(...e):bt&&e.id===-1?bt.splice(Bt+1,0,e):e.flags&1||(zt.push(e),e.flags|=1),cl()}function eo(e,t,s=et+1){for(;s<Pe.length;s++){const n=Pe[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Pe.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function ul(e){if(zt.length){const t=[...new Set(zt)].sort((s,n)=>_s(s)-_s(n));if(zt.length=0,bt){bt.push(...t);return}for(bt=t,Bt=0;Bt<bt.length;Bt++){const s=bt[Bt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}bt=null,Bt=0}}const _s=e=>e.id==null?e.flags&2?-1:1/0:e.id;function dl(e){try{for(et=0;et<Pe.length;et++){const t=Pe[et];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ks(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;et<Pe.length;et++){const t=Pe[et];t&&(t.flags&=-2)}et=-1,Pe.length=0,ul(),Rs=null,(Pe.length||zt.length)&&dl()}}let We=null,fl=null;function js(e){const t=We;return We=e,fl=e&&e.type.__scopeId||null,t}function Ds(e,t=We,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Us(-1);const l=js(t);let r;try{r=e(...o)}finally{js(l),n._d&&Us(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Lt(e,t){if(We===null)return e;const s=on(We),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[l,r,a,c=ve]=t[o];l&&(ne(l)&&(l={mounted:l,updated:l}),l.deep&&ft(r),n.push({dir:l,instance:s,value:r,oldValue:void 0,arg:a,modifiers:c}))}return e}function kt(e,t,s,n){const o=e.dirs,l=t&&t.dirs;for(let r=0;r<o.length;r++){const a=o[r];l&&(a.oldValue=l[r].value);let c=a.dir[n];c&&(pt(),Qe(c,s,8,[e.el,a,e,t]),ht())}}function qi(e,t){if(Le){let s=Le.provides;const n=Le.parent&&Le.parent.provides;n===s&&(s=Le.provides=Object.create(n)),s[e]=t}}function Is(e,t,s=!1){const n=Wl();if(n||qt){let o=qt?qt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&ne(t)?t.call(n&&n.proxy):t}}const Ji=Symbol.for("v-scx"),Gi=()=>Is(Ji);function yt(e,t,s){return pl(e,t,s)}function pl(e,t,s=ve){const{immediate:n,deep:o,flush:l,once:r}=s,a=$e({},s),c=t&&n||!t&&l!=="post";let v;if(xs){if(l==="sync"){const y=Gi();v=y.__watcherHandles||(y.__watcherHandles=[])}else if(!c){const y=()=>{};return y.stop=lt,y.resume=lt,y.pause=lt,y}}const d=Le;a.call=(y,x,N)=>Qe(y,d,x,N);let g=!1;l==="post"?a.scheduler=y=>{De(y,d&&d.suspense)}:l!=="sync"&&(g=!0,a.scheduler=(y,x)=>{x?y():Kn(y)}),a.augmentJob=y=>{t&&(y.flags|=4),g&&(y.flags|=2,d&&(y.id=d.uid,y.i=d))};const M=Bi(e,t,a);return xs&&(v?v.push(M):c&&M()),M}function Yi(e,t,s){const n=this.proxy,o=ye(e)?e.includes(".")?hl(n,e):()=>n[e]:e.bind(n,n);let l;ne(t)?l=t:(l=t.handler,s=t);const r=Ss(this),a=pl(o,l.bind(n),s);return r(),a}function hl(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const Qi=Symbol("_vte"),vl=e=>e.__isTeleport,tt=Symbol("_leaveCb"),ns=Symbol("_enterCb");function Xi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return $l(()=>{e.isMounted=!0}),Cl(()=>{e.isUnmounting=!0}),e}const Ke=[Function,Array],ml={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ke,onEnter:Ke,onAfterEnter:Ke,onEnterCancelled:Ke,onBeforeLeave:Ke,onLeave:Ke,onAfterLeave:Ke,onLeaveCancelled:Ke,onBeforeAppear:Ke,onAppear:Ke,onAfterAppear:Ke,onAppearCancelled:Ke},gl=e=>{const t=e.subTree;return t.component?gl(t.component):t},Zi={name:"BaseTransition",props:ml,setup(e,{slots:t}){const s=Wl(),n=Xi();return()=>{const o=t.default&&yl(t.default(),!0);if(!o||!o.length)return;const l=_l(o),r=de(e),{mode:a}=r;if(n.isLeaving)return fn(l);const c=to(l);if(!c)return fn(l);let v=$n(c,r,n,s,g=>v=g);c.type!==Fe&&bs(c,v);let d=s.subTree&&to(s.subTree);if(d&&d.type!==Fe&&!At(d,c)&&gl(s).type!==Fe){let g=$n(d,r,n,s);if(bs(d,g),a==="out-in"&&c.type!==Fe)return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete g.afterLeave,d=void 0},fn(l);a==="in-out"&&c.type!==Fe?g.delayLeave=(M,y,x)=>{const N=bl(n,d);N[String(d.key)]=d,M[tt]=()=>{y(),M[tt]=void 0,delete v.delayedLeave,d=void 0},v.delayedLeave=()=>{x(),delete v.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function _l(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==Fe){t=s;break}}return t}const er=Zi;function bl(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function $n(e,t,s,n,o){const{appear:l,mode:r,persisted:a=!1,onBeforeEnter:c,onEnter:v,onAfterEnter:d,onEnterCancelled:g,onBeforeLeave:M,onLeave:y,onAfterLeave:x,onLeaveCancelled:N,onBeforeAppear:J,onAppear:Y,onAfterAppear:B,onAppearCancelled:I}=t,E=String(e.key),R=bl(s,e),ue=(C,oe)=>{C&&Qe(C,n,9,oe)},H=(C,oe)=>{const w=oe[1];ue(C,oe),Z(C)?C.every(m=>m.length<=1)&&w():C.length<=1&&w()},O={mode:r,persisted:a,beforeEnter(C){let oe=c;if(!s.isMounted)if(l)oe=J||c;else return;C[tt]&&C[tt](!0);const w=R[E];w&&At(e,w)&&w.el[tt]&&w.el[tt](),ue(oe,[C])},enter(C){if(R[E]===e)return;let oe=v,w=d,m=g;if(!s.isMounted)if(l)oe=Y||v,w=B||d,m=I||g;else return;let _=!1;C[ns]=le=>{_||(_=!0,le?ue(m,[C]):ue(w,[C]),O.delayedLeave&&O.delayedLeave(),C[ns]=void 0)};const G=C[ns].bind(null,!1);oe?H(oe,[C,G]):G()},leave(C,oe){const w=String(e.key);if(C[ns]&&C[ns](!0),s.isUnmounting)return oe();ue(M,[C]);let m=!1;C[tt]=G=>{m||(m=!0,oe(),G?ue(N,[C]):ue(x,[C]),C[tt]=void 0,R[w]===e&&delete R[w])};const _=C[tt].bind(null,!1);R[w]=e,y?H(y,[C,_]):_()},clone(C){const oe=$n(C,t,s,n,o);return o&&o(oe),oe}};return O}function fn(e){if(en(e))return e=wt(e),e.children=null,e}function to(e){if(!en(e))return vl(e.type)&&e.children?_l(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&ne(s.default))return s.default()}}function bs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,bs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yl(e,t=!1,s){let n=[],o=0;for(let l=0;l<e.length;l++){let r=e[l];const a=s==null?r.key:String(s)+String(r.key!=null?r.key:l);r.type===ae?(r.patchFlag&128&&o++,n=n.concat(yl(r.children,t,a))):(t||r.type!==Fe)&&n.push(a!=null?wt(r,{key:a}):r)}if(o>1)for(let l=0;l<n.length;l++)n[l].patchFlag=-2;return n}function Nt(e,t){return ne(e)?$e({name:e.name},t,{setup:e}):e}function xl(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function so(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Hs=new WeakMap;function ds(e,t,s,n,o=!1){if(Z(e)){e.forEach((N,J)=>ds(N,t&&(Z(t)?t[J]:t),s,n,o));return}if(fs(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ds(e,t,s,n.component.subTree);return}const l=n.shapeFlag&4?on(n.component):n.el,r=o?null:l,{i:a,r:c}=e,v=t&&t.r,d=a.refs===ve?a.refs={}:a.refs,g=a.setupState,M=de(g),y=g===ve?Ro:N=>so(d,N)?!1:pe(M,N),x=(N,J)=>!(J&&so(d,J));if(v!=null&&v!==c){if(no(t),ye(v))d[v]=null,y(v)&&(g[v]=null);else if(Ee(v)){const N=t;x(v,N.k)&&(v.value=null),N.k&&(d[N.k]=null)}}if(ne(c))ks(c,a,12,[r,d]);else{const N=ye(c),J=Ee(c);if(N||J){const Y=()=>{if(e.f){const B=N?y(c)?g[c]:d[c]:x()||!e.k?c.value:d[e.k];if(o)Z(B)&&Fn(B,l);else if(Z(B))B.includes(l)||B.push(l);else if(N)d[c]=[l],y(c)&&(g[c]=d[c]);else{const I=[l];x(c,e.k)&&(c.value=I),e.k&&(d[e.k]=I)}}else N?(d[c]=r,y(c)&&(g[c]=r)):J&&(x(c,e.k)&&(c.value=r),e.k&&(d[e.k]=r))};if(r){const B=()=>{Y(),Hs.delete(e)};B.id=-1,Hs.set(e,B),De(B,s)}else no(e),Y()}}}function no(e){const t=Hs.get(e);t&&(t.flags|=8,Hs.delete(e))}Qs().requestIdleCallback;Qs().cancelIdleCallback;const fs=e=>!!e.type.__asyncLoader,en=e=>e.type.__isKeepAlive;function tr(e,t){wl(e,"a",t)}function sr(e,t){wl(e,"da",t)}function wl(e,t,s=Le){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(tn(t,n,s),s){let o=s.parent;for(;o&&o.parent;)en(o.parent.vnode)&&nr(n,t,s,o),o=o.parent}}function nr(e,t,s,n){const o=tn(t,e,n,!0);kl(()=>{Fn(n[t],o)},s)}function tn(e,t,s=Le,n=!1){if(s){const o=s[e]||(s[e]=[]),l=t.__weh||(t.__weh=(...r)=>{pt();const a=Ss(s),c=Qe(t,s,e,r);return a(),ht(),c});return n?o.unshift(l):o.push(l),l}}const mt=e=>(t,s=Le)=>{(!xs||e==="sp")&&tn(e,(...n)=>t(...n),s)},or=mt("bm"),$l=mt("m"),lr=mt("bu"),ir=mt("u"),Cl=mt("bum"),kl=mt("um"),rr=mt("sp"),ar=mt("rtg"),cr=mt("rtc");function ur(e,t=Le){tn("ec",e,t)}const dr=Symbol.for("v-ndc");function be(e,t,s,n){let o;const l=s,r=Z(e);if(r||ye(e)){const a=r&&Ft(e);let c=!1,v=!1;a&&(c=!ze(e),v=vt(e),e=Xs(e)),o=new Array(e.length);for(let d=0,g=e.length;d<g;d++)o[d]=t(c?v?Gt(Ye(e[d])):Ye(e[d]):e[d],d,void 0,l)}else if(typeof e=="number"){o=new Array(e);for(let a=0;a<e;a++)o[a]=t(a+1,a,void 0,l)}else if(he(e))if(e[Symbol.iterator])o=Array.from(e,(a,c)=>t(a,c,void 0,l));else{const a=Object.keys(e);o=new Array(a.length);for(let c=0,v=a.length;c<v;c++){const d=a[c];o[c]=t(e[d],d,c,l)}}else o=[];return o}const Cn=e=>e?zl(e)?on(e):Cn(e.parent):null,ps=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Cn(e.parent),$root:e=>Cn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Tl(e),$forceUpdate:e=>e.f||(e.f=()=>{Kn(e.update)}),$nextTick:e=>e.n||(e.n=al.bind(e.proxy)),$watch:e=>Yi.bind(e)}),pn=(e,t)=>e!==ve&&!e.__isScriptSetup&&pe(e,t),fr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:l,accessCache:r,type:a,appContext:c}=e;if(t[0]!=="$"){const M=r[t];if(M!==void 0)switch(M){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return l[t]}else{if(pn(n,t))return r[t]=1,n[t];if(o!==ve&&pe(o,t))return r[t]=2,o[t];if(pe(l,t))return r[t]=3,l[t];if(s!==ve&&pe(s,t))return r[t]=4,s[t];kn&&(r[t]=0)}}const v=ps[t];let d,g;if(v)return t==="$attrs"&&Te(e.attrs,"get",""),v(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(s!==ve&&pe(s,t))return r[t]=4,s[t];if(g=c.config.globalProperties,pe(g,t))return g[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:l}=e;return pn(o,t)?(o[t]=s,!0):n!==ve&&pe(n,t)?(n[t]=s,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:l,type:r}},a){let c;return!!(s[a]||e!==ve&&a[0]!=="$"&&pe(e,a)||pn(t,a)||pe(l,a)||pe(n,a)||pe(ps,a)||pe(o.config.globalProperties,a)||(c=r.__cssModules)&&c[a])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:pe(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function oo(e){return Z(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let kn=!0;function pr(e){const t=Tl(e),s=e.proxy,n=e.ctx;kn=!1,t.beforeCreate&&lo(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:r,watch:a,provide:c,inject:v,created:d,beforeMount:g,mounted:M,beforeUpdate:y,updated:x,activated:N,deactivated:J,beforeDestroy:Y,beforeUnmount:B,destroyed:I,unmounted:E,render:R,renderTracked:ue,renderTriggered:H,errorCaptured:O,serverPrefetch:C,expose:oe,inheritAttrs:w,components:m,directives:_,filters:G}=t;if(v&&hr(v,n,null),r)for(const j in r){const X=r[j];ne(X)&&(n[j]=X.bind(s))}if(o){const j=o.call(s,s);he(j)&&(e.data=Vn(j))}if(kn=!0,l)for(const j in l){const X=l[j],ge=ne(X)?X.bind(s,s):ne(X.get)?X.get.bind(s,s):lt,_e=!ne(X)&&ne(X.set)?X.set.bind(s):lt,Oe=ie({get:ge,set:_e});Object.defineProperty(n,j,{enumerable:!0,configurable:!0,get:()=>Oe.value,set:Ne=>Oe.value=Ne})}if(a)for(const j in a)Sl(a[j],n,s,j);if(c){const j=ne(c)?c.call(s):c;Reflect.ownKeys(j).forEach(X=>{qi(X,j[X])})}d&&lo(d,e,"c");function ce(j,X){Z(X)?X.forEach(ge=>j(ge.bind(s))):X&&j(X.bind(s))}if(ce(or,g),ce($l,M),ce(lr,y),ce(ir,x),ce(tr,N),ce(sr,J),ce(ur,O),ce(cr,ue),ce(ar,H),ce(Cl,B),ce(kl,E),ce(rr,C),Z(oe))if(oe.length){const j=e.exposed||(e.exposed={});oe.forEach(X=>{Object.defineProperty(j,X,{get:()=>s[X],set:ge=>s[X]=ge,enumerable:!0})})}else e.exposed||(e.exposed={});R&&e.render===lt&&(e.render=R),w!=null&&(e.inheritAttrs=w),m&&(e.components=m),_&&(e.directives=_),C&&xl(e)}function hr(e,t,s=lt){Z(e)&&(e=Sn(e));for(const n in e){const o=e[n];let l;he(o)?"default"in o?l=Is(o.from||n,o.default,!0):l=Is(o.from||n):l=Is(o),Ee(l)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>l.value,set:r=>l.value=r}):t[n]=l}}function lo(e,t,s){Qe(Z(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Sl(e,t,s,n){let o=n.includes(".")?hl(s,n):()=>s[n];if(ye(e)){const l=t[e];ne(l)&&yt(o,l)}else if(ne(e))yt(o,e.bind(s));else if(he(e))if(Z(e))e.forEach(l=>Sl(l,t,s,n));else{const l=ne(e.handler)?e.handler.bind(s):t[e.handler];ne(l)&&yt(o,l,e)}}function Tl(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:r}}=e.appContext,a=l.get(t);let c;return a?c=a:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(v=>Vs(c,v,r,!0)),Vs(c,t,r)),he(t)&&l.set(t,c),c}function Vs(e,t,s,n=!1){const{mixins:o,extends:l}=t;l&&Vs(e,l,s,!0),o&&o.forEach(r=>Vs(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const a=vr[r]||s&&s[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const vr={data:io,props:ro,emits:ro,methods:rs,computed:rs,beforeCreate:Ie,created:Ie,beforeMount:Ie,mounted:Ie,beforeUpdate:Ie,updated:Ie,beforeDestroy:Ie,beforeUnmount:Ie,destroyed:Ie,unmounted:Ie,activated:Ie,deactivated:Ie,errorCaptured:Ie,serverPrefetch:Ie,components:rs,directives:rs,watch:gr,provide:io,inject:mr};function io(e,t){return t?e?function(){return $e(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function mr(e,t){return rs(Sn(e),Sn(t))}function Sn(e){if(Z(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function Ie(e,t){return e?[...new Set([].concat(e,t))]:t}function rs(e,t){return e?$e(Object.create(null),e,t):t}function ro(e,t){return e?Z(e)&&Z(t)?[...new Set([...e,...t])]:$e(Object.create(null),oo(e),oo(t??{})):t}function gr(e,t){if(!e)return t;if(!t)return e;const s=$e(Object.create(null),e);for(const n in t)s[n]=Ie(e[n],t[n]);return s}function Ml(){return{app:null,config:{isNativeTag:Ro,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let _r=0;function br(e,t){return function(n,o=null){ne(n)||(n=$e({},n)),o!=null&&!he(o)&&(o=null);const l=Ml(),r=new WeakSet,a=[];let c=!1;const v=l.app={_uid:_r++,_component:n,_props:o,_container:null,_context:l,_instance:null,version:Qr,get config(){return l.config},set config(d){},use(d,...g){return r.has(d)||(d&&ne(d.install)?(r.add(d),d.install(v,...g)):ne(d)&&(r.add(d),d(v,...g))),v},mixin(d){return l.mixins.includes(d)||l.mixins.push(d),v},component(d,g){return g?(l.components[d]=g,v):l.components[d]},directive(d,g){return g?(l.directives[d]=g,v):l.directives[d]},mount(d,g,M){if(!c){const y=v._ceVNode||ke(n,o);return y.appContext=l,M===!0?M="svg":M===!1&&(M=void 0),e(y,d,M),c=!0,v._container=d,d.__vue_app__=v,on(y.component)}},onUnmount(d){a.push(d)},unmount(){c&&(Qe(a,v._instance,16),e(null,v._container),delete v._container.__vue_app__)},provide(d,g){return l.provides[d]=g,v},runWithContext(d){const g=qt;qt=v;try{return d()}finally{qt=g}}};return v}}let qt=null;const yr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Je(t)}Modifiers`]||e[`${Rt(t)}Modifiers`];function xr(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ve;let o=s;const l=t.startsWith("update:"),r=l&&yr(n,t.slice(7));r&&(r.trim&&(o=s.map(d=>ye(d)?d.trim():d)),r.number&&(o=s.map(Ys)));let a,c=n[a=rn(t)]||n[a=rn(Je(t))];!c&&l&&(c=n[a=rn(Rt(t))]),c&&Qe(c,e,6,o);const v=n[a+"Once"];if(v){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Qe(v,e,6,o)}}const wr=new WeakMap;function El(e,t,s=!1){const n=s?wr:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const l=e.emits;let r={},a=!1;if(!ne(e)){const c=v=>{const d=El(v,t,!0);d&&(a=!0,$e(r,d))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!l&&!a?(he(e)&&n.set(e,null),null):(Z(l)?l.forEach(c=>r[c]=null):$e(r,l),he(e)&&n.set(e,r),r)}function sn(e,t){return!e||!qs(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,Rt(t))||pe(e,t))}function ao(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[l],slots:r,attrs:a,emit:c,render:v,renderCache:d,props:g,data:M,setupState:y,ctx:x,inheritAttrs:N}=e,J=js(e);let Y,B;try{if(s.shapeFlag&4){const E=o||n,R=E;Y=nt(v.call(R,E,d,g,y,M,x)),B=a}else{const E=t;Y=nt(E.length>1?E(g,{attrs:a,slots:r,emit:c}):E(g,null)),B=t.props?a:$r(a)}}catch(E){hs.length=0,Zs(E,e,1),Y=ke(Fe)}let I=Y;if(B&&N!==!1){const E=Object.keys(B),{shapeFlag:R}=I;E.length&&R&7&&(l&&E.some(Pn)&&(B=Cr(B,l)),I=wt(I,B,!1,!0))}return s.dirs&&(I=wt(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(s.dirs):s.dirs),s.transition&&bs(I,s.transition),Y=I,js(J),Y}const $r=e=>{let t;for(const s in e)(s==="class"||s==="style"||qs(s))&&((t||(t={}))[s]=e[s]);return t},Cr=(e,t)=>{const s={};for(const n in e)(!Pn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function kr(e,t,s){const{props:n,children:o,component:l}=e,{props:r,children:a,patchFlag:c}=t,v=l.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?co(n,r,v):!!r;if(c&8){const d=t.dynamicProps;for(let g=0;g<d.length;g++){const M=d[g];if(Ol(r,n,M)&&!sn(v,M))return!0}}}else return(o||a)&&(!a||!a.$stable)?!0:n===r?!1:n?r?co(n,r,v):!0:!!r;return!1}function co(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const l=n[o];if(Ol(t,e,l)&&!sn(s,l))return!0}return!1}function Ol(e,t,s){const n=e[s],o=t[s];return s==="style"&&he(n)&&he(o)?!Cs(n,o):n!==o}function Sr({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Al={},Il=()=>Object.create(Al),Pl=e=>Object.getPrototypeOf(e)===Al;function Tr(e,t,s,n=!1){const o={},l=Il();e.propsDefaults=Object.create(null),Fl(e,t,o,l);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);s?e.props=n?o:Li(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Mr(e,t,s,n){const{props:o,attrs:l,vnode:{patchFlag:r}}=e,a=de(o),[c]=e.propsOptions;let v=!1;if((n||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let g=0;g<d.length;g++){let M=d[g];if(sn(e.emitsOptions,M))continue;const y=t[M];if(c)if(pe(l,M))y!==l[M]&&(l[M]=y,v=!0);else{const x=Je(M);o[x]=Tn(c,a,x,y,e,!1)}else y!==l[M]&&(l[M]=y,v=!0)}}}else{Fl(e,t,o,l)&&(v=!0);let d;for(const g in a)(!t||!pe(t,g)&&((d=Rt(g))===g||!pe(t,d)))&&(c?s&&(s[g]!==void 0||s[d]!==void 0)&&(o[g]=Tn(c,a,g,void 0,e,!0)):delete o[g]);if(l!==a)for(const g in l)(!t||!pe(t,g))&&(delete l[g],v=!0)}v&&dt(e.attrs,"set","")}function Fl(e,t,s,n){const[o,l]=e.propsOptions;let r=!1,a;if(t)for(let c in t){if(as(c))continue;const v=t[c];let d;o&&pe(o,d=Je(c))?!l||!l.includes(d)?s[d]=v:(a||(a={}))[d]=v:sn(e.emitsOptions,c)||(!(c in n)||v!==n[c])&&(n[c]=v,r=!0)}if(l){const c=de(s),v=a||ve;for(let d=0;d<l.length;d++){const g=l[d];s[g]=Tn(o,c,g,v[g],e,!pe(v,g))}}return r}function Tn(e,t,s,n,o,l){const r=e[s];if(r!=null){const a=pe(r,"default");if(a&&n===void 0){const c=r.default;if(r.type!==Function&&!r.skipFactory&&ne(c)){const{propsDefaults:v}=o;if(s in v)n=v[s];else{const d=Ss(o);n=v[s]=c.call(null,t),d()}}else n=c;o.ce&&o.ce._setProp(s,n)}r[0]&&(l&&!a?n=!1:r[1]&&(n===""||n===Rt(s))&&(n=!0))}return n}const Er=new WeakMap;function Ll(e,t,s=!1){const n=s?Er:t.propsCache,o=n.get(e);if(o)return o;const l=e.props,r={},a=[];let c=!1;if(!ne(e)){const d=g=>{c=!0;const[M,y]=Ll(g,t,!0);$e(r,M),y&&a.push(...y)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!c)return he(e)&&n.set(e,Kt),Kt;if(Z(l))for(let d=0;d<l.length;d++){const g=Je(l[d]);uo(g)&&(r[g]=ve)}else if(l)for(const d in l){const g=Je(d);if(uo(g)){const M=l[d],y=r[g]=Z(M)||ne(M)?{type:M}:$e({},M),x=y.type;let N=!1,J=!0;if(Z(x))for(let Y=0;Y<x.length;++Y){const B=x[Y],I=ne(B)&&B.name;if(I==="Boolean"){N=!0;break}else I==="String"&&(J=!1)}else N=ne(x)&&x.name==="Boolean";y[0]=N,y[1]=J,(N||pe(y,"default"))&&a.push(g)}}const v=[r,a];return he(e)&&n.set(e,v),v}function uo(e){return e[0]!=="$"&&!as(e)}const Wn=e=>e==="_"||e==="_ctx"||e==="$stable",zn=e=>Z(e)?e.map(nt):[nt(e)],Or=(e,t,s)=>{if(t._n)return t;const n=Ds((...o)=>zn(t(...o)),s);return n._c=!1,n},Nl=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Wn(o))continue;const l=e[o];if(ne(l))t[o]=Or(o,l,n);else if(l!=null){const r=zn(l);t[o]=()=>r}}},Rl=(e,t)=>{const s=zn(t);e.slots.default=()=>s},jl=(e,t,s)=>{for(const n in t)(s||!Wn(n))&&(e[n]=t[n])},Ar=(e,t,s)=>{const n=e.slots=Il();if(e.vnode.shapeFlag&32){const o=t._;o?(jl(n,t,s),s&&Uo(n,"_",o,!0)):Nl(t,n)}else t&&Rl(e,t)},Ir=(e,t,s)=>{const{vnode:n,slots:o}=e;let l=!0,r=ve;if(n.shapeFlag&32){const a=t._;a?s&&a===1?l=!1:jl(o,t,s):(l=!t.$stable,Nl(t,o)),r=t}else t&&(Rl(e,t),r={default:1});if(l)for(const a in o)!Wn(a)&&r[a]==null&&delete o[a]},De=Rr;function Pr(e){return Fr(e)}function Fr(e,t){const s=Qs();s.__VUE__=!0;const{insert:n,remove:o,patchProp:l,createElement:r,createText:a,createComment:c,setText:v,setElementText:d,parentNode:g,nextSibling:M,setScopeId:y=lt,insertStaticContent:x}=e,N=(u,h,$,L=null,A=null,P=null,K=void 0,V=null,D=!!h.dynamicChildren)=>{if(u===h)return;u&&!At(u,h)&&(L=$t(u),Ne(u,A,P,!0),u=null),h.patchFlag===-2&&(D=!1,h.dynamicChildren=null);const{type:F,ref:Q,shapeFlag:W}=h;switch(F){case nn:J(u,h,$,L);break;case Fe:Y(u,h,$,L);break;case Ps:u==null&&B(h,$,L,K);break;case ae:m(u,h,$,L,A,P,K,V,D);break;default:W&1?R(u,h,$,L,A,P,K,V,D):W&6?_(u,h,$,L,A,P,K,V,D):(W&64||W&128)&&F.process(u,h,$,L,A,P,K,V,D,ee)}Q!=null&&A?ds(Q,u&&u.ref,P,h||u,!h):Q==null&&u&&u.ref!=null&&ds(u.ref,null,P,u,!0)},J=(u,h,$,L)=>{if(u==null)n(h.el=a(h.children),$,L);else{const A=h.el=u.el;h.children!==u.children&&v(A,h.children)}},Y=(u,h,$,L)=>{u==null?n(h.el=c(h.children||""),$,L):h.el=u.el},B=(u,h,$,L)=>{[u.el,u.anchor]=x(u.children,h,$,L,u.el,u.anchor)},I=({el:u,anchor:h},$,L)=>{let A;for(;u&&u!==h;)A=M(u),n(u,$,L),u=A;n(h,$,L)},E=({el:u,anchor:h})=>{let $;for(;u&&u!==h;)$=M(u),o(u),u=$;o(h)},R=(u,h,$,L,A,P,K,V,D)=>{if(h.type==="svg"?K="svg":h.type==="math"&&(K="mathml"),u==null)ue(h,$,L,A,P,K,V,D);else{const F=u.el&&u.el._isVueCE?u.el:null;try{F&&F._beginPatch(),C(u,h,A,P,K,V,D)}finally{F&&F._endPatch()}}},ue=(u,h,$,L,A,P,K,V)=>{let D,F;const{props:Q,shapeFlag:W,transition:f,dirs:p}=u;if(D=u.el=r(u.type,P,Q&&Q.is,Q),W&8?d(D,u.children):W&16&&O(u.children,D,null,L,A,hn(u,P),K,V),p&&kt(u,null,L,"created"),H(D,u,u.scopeId,K,L),Q){for(const q in Q)q!=="value"&&!as(q)&&l(D,q,null,Q[q],P,L);"value"in Q&&l(D,"value",null,Q.value,P),(F=Q.onVnodeBeforeMount)&&Ze(F,L,u)}p&&kt(u,null,L,"beforeMount");const k=Lr(A,f);k&&f.beforeEnter(D),n(D,h,$),((F=Q&&Q.onVnodeMounted)||k||p)&&De(()=>{F&&Ze(F,L,u),k&&f.enter(D),p&&kt(u,null,L,"mounted")},A)},H=(u,h,$,L,A)=>{if($&&y(u,$),L)for(let P=0;P<L.length;P++)y(u,L[P]);if(A){let P=A.subTree;if(h===P||Ul(P.type)&&(P.ssContent===h||P.ssFallback===h)){const K=A.vnode;H(u,K,K.scopeId,K.slotScopeIds,A.parent)}}},O=(u,h,$,L,A,P,K,V,D=0)=>{for(let F=D;F<u.length;F++){const Q=u[F]=V?ut(u[F]):nt(u[F]);N(null,Q,h,$,L,A,P,K,V)}},C=(u,h,$,L,A,P,K)=>{const V=h.el=u.el;let{patchFlag:D,dynamicChildren:F,dirs:Q}=h;D|=u.patchFlag&16;const W=u.props||ve,f=h.props||ve;let p;if($&&St($,!1),(p=f.onVnodeBeforeUpdate)&&Ze(p,$,h,u),Q&&kt(h,u,$,"beforeUpdate"),$&&St($,!0),(W.innerHTML&&f.innerHTML==null||W.textContent&&f.textContent==null)&&d(V,""),F?oe(u.dynamicChildren,F,V,$,L,hn(h,A),P):K||X(u,h,V,null,$,L,hn(h,A),P,!1),D>0){if(D&16)w(V,W,f,$,A);else if(D&2&&W.class!==f.class&&l(V,"class",null,f.class,A),D&4&&l(V,"style",W.style,f.style,A),D&8){const k=h.dynamicProps;for(let q=0;q<k.length;q++){const U=k[q],z=W[U],fe=f[U];(fe!==z||U==="value")&&l(V,U,z,fe,A,$)}}D&1&&u.children!==h.children&&d(V,h.children)}else!K&&F==null&&w(V,W,f,$,A);((p=f.onVnodeUpdated)||Q)&&De(()=>{p&&Ze(p,$,h,u),Q&&kt(h,u,$,"updated")},L)},oe=(u,h,$,L,A,P,K)=>{for(let V=0;V<h.length;V++){const D=u[V],F=h[V],Q=D.el&&(D.type===ae||!At(D,F)||D.shapeFlag&198)?g(D.el):$;N(D,F,Q,null,L,A,P,K,!0)}},w=(u,h,$,L,A)=>{if(h!==$){if(h!==ve)for(const P in h)!as(P)&&!(P in $)&&l(u,P,h[P],null,A,L);for(const P in $){if(as(P))continue;const K=$[P],V=h[P];K!==V&&P!=="value"&&l(u,P,V,K,A,L)}"value"in $&&l(u,"value",h.value,$.value,A)}},m=(u,h,$,L,A,P,K,V,D)=>{const F=h.el=u?u.el:a(""),Q=h.anchor=u?u.anchor:a("");let{patchFlag:W,dynamicChildren:f,slotScopeIds:p}=h;p&&(V=V?V.concat(p):p),u==null?(n(F,$,L),n(Q,$,L),O(h.children||[],$,Q,A,P,K,V,D)):W>0&&W&64&&f&&u.dynamicChildren&&u.dynamicChildren.length===f.length?(oe(u.dynamicChildren,f,$,A,P,K,V),(h.key!=null||A&&h===A.subTree)&&Dl(u,h,!0)):X(u,h,$,Q,A,P,K,V,D)},_=(u,h,$,L,A,P,K,V,D)=>{h.slotScopeIds=V,u==null?h.shapeFlag&512?A.ctx.activate(h,$,L,K,D):G(h,$,L,A,P,K,D):le(u,h,D)},G=(u,h,$,L,A,P,K)=>{const V=u.component=Wr(u,L,A);if(en(u)&&(V.ctx.renderer=ee),zr(V,!1,K),V.asyncDep){if(A&&A.registerDep(V,ce,K),!u.el){const D=V.subTree=ke(Fe);Y(null,D,h,$),u.placeholder=D.el}}else ce(V,u,h,$,A,P,K)},le=(u,h,$)=>{const L=h.component=u.component;if(kr(u,h,$))if(L.asyncDep&&!L.asyncResolved){j(L,h,$);return}else L.next=h,L.update();else h.el=u.el,L.vnode=h},ce=(u,h,$,L,A,P,K)=>{const V=()=>{if(u.isMounted){let{next:W,bu:f,u:p,parent:k,vnode:q}=u;{const Be=Hl(u);if(Be){W&&(W.el=q.el,j(u,W,K)),Be.asyncDep.then(()=>{De(()=>{u.isUnmounted||F()},A)});return}}let U=W,z;St(u,!1),W?(W.el=q.el,j(u,W,K)):W=q,f&&As(f),(z=W.props&&W.props.onVnodeBeforeUpdate)&&Ze(z,k,W,q),St(u,!0);const fe=ao(u),xe=u.subTree;u.subTree=fe,N(xe,fe,g(xe.el),$t(xe),u,A,P),W.el=fe.el,U===null&&Sr(u,fe.el),p&&De(p,A),(z=W.props&&W.props.onVnodeUpdated)&&De(()=>Ze(z,k,W,q),A)}else{let W;const{el:f,props:p}=h,{bm:k,m:q,parent:U,root:z,type:fe}=u,xe=fs(h);St(u,!1),k&&As(k),!xe&&(W=p&&p.onVnodeBeforeMount)&&Ze(W,U,h),St(u,!0);{z.ce&&z.ce._hasShadowRoot()&&z.ce._injectChildStyle(fe,u.parent?u.parent.type:void 0);const Be=u.subTree=ao(u);N(null,Be,$,L,u,A,P),h.el=Be.el}if(q&&De(q,A),!xe&&(W=p&&p.onVnodeMounted)){const Be=h;De(()=>Ze(W,U,Be),A)}(h.shapeFlag&256||U&&fs(U.vnode)&&U.vnode.shapeFlag&256)&&u.a&&De(u.a,A),u.isMounted=!0,h=$=L=null}};u.scope.on();const D=u.effect=new zo(V);u.scope.off();const F=u.update=D.run.bind(D),Q=u.job=D.runIfDirty.bind(D);Q.i=u,Q.id=u.uid,D.scheduler=()=>Kn(Q),St(u,!0),F()},j=(u,h,$)=>{h.component=u;const L=u.vnode.props;u.vnode=h,u.next=null,Mr(u,h.props,L,$),Ir(u,h.children,$),pt(),eo(u),ht()},X=(u,h,$,L,A,P,K,V,D=!1)=>{const F=u&&u.children,Q=u?u.shapeFlag:0,W=h.children,{patchFlag:f,shapeFlag:p}=h;if(f>0){if(f&128){_e(F,W,$,L,A,P,K,V,D);return}else if(f&256){ge(F,W,$,L,A,P,K,V,D);return}}p&8?(Q&16&&Xe(F,A,P),W!==F&&d($,W)):Q&16?p&16?_e(F,W,$,L,A,P,K,V,D):Xe(F,A,P,!0):(Q&8&&d($,""),p&16&&O(W,$,L,A,P,K,V,D))},ge=(u,h,$,L,A,P,K,V,D)=>{u=u||Kt,h=h||Kt;const F=u.length,Q=h.length,W=Math.min(F,Q);let f;for(f=0;f<W;f++){const p=h[f]=D?ut(h[f]):nt(h[f]);N(u[f],p,$,null,A,P,K,V,D)}F>Q?Xe(u,A,P,!0,!1,W):O(h,$,L,A,P,K,V,D,W)},_e=(u,h,$,L,A,P,K,V,D)=>{let F=0;const Q=h.length;let W=u.length-1,f=Q-1;for(;F<=W&&F<=f;){const p=u[F],k=h[F]=D?ut(h[F]):nt(h[F]);if(At(p,k))N(p,k,$,null,A,P,K,V,D);else break;F++}for(;F<=W&&F<=f;){const p=u[W],k=h[f]=D?ut(h[f]):nt(h[f]);if(At(p,k))N(p,k,$,null,A,P,K,V,D);else break;W--,f--}if(F>W){if(F<=f){const p=f+1,k=p<Q?h[p].el:L;for(;F<=f;)N(null,h[F]=D?ut(h[F]):nt(h[F]),$,k,A,P,K,V,D),F++}}else if(F>f)for(;F<=W;)Ne(u[F],A,P,!0),F++;else{const p=F,k=F,q=new Map;for(F=k;F<=f;F++){const Ae=h[F]=D?ut(h[F]):nt(h[F]);Ae.key!=null&&q.set(Ae.key,F)}let U,z=0;const fe=f-k+1;let xe=!1,Be=0;const Ct=new Array(fe);for(F=0;F<fe;F++)Ct[F]=0;for(F=p;F<=W;F++){const Ae=u[F];if(z>=fe){Ne(Ae,A,P,!0);continue}let Ve;if(Ae.key!=null)Ve=q.get(Ae.key);else for(U=k;U<=f;U++)if(Ct[U-k]===0&&At(Ae,h[U])){Ve=U;break}Ve===void 0?Ne(Ae,A,P,!0):(Ct[Ve-k]=F+1,Ve>=Be?Be=Ve:xe=!0,N(Ae,h[Ve],$,null,A,P,K,V,D),z++)}const gt=xe?Nr(Ct):Kt;for(U=gt.length-1,F=fe-1;F>=0;F--){const Ae=k+F,Ve=h[Ae],es=h[Ae+1],ts=Ae+1<Q?es.el||Vl(es):L;Ct[F]===0?N(null,Ve,$,ts,A,P,K,V,D):xe&&(U<0||F!==gt[U]?Oe(Ve,$,ts,2):U--)}}},Oe=(u,h,$,L,A=null)=>{const{el:P,type:K,transition:V,children:D,shapeFlag:F}=u;if(F&6){Oe(u.component.subTree,h,$,L);return}if(F&128){u.suspense.move(h,$,L);return}if(F&64){K.move(u,h,$,ee);return}if(K===ae){n(P,h,$);for(let W=0;W<D.length;W++)Oe(D[W],h,$,L);n(u.anchor,h,$);return}if(K===Ps){I(u,h,$);return}if(L!==2&&F&1&&V)if(L===0)V.beforeEnter(P),n(P,h,$),De(()=>V.enter(P),A);else{const{leave:W,delayLeave:f,afterLeave:p}=V,k=()=>{u.ctx.isUnmounted?o(P):n(P,h,$)},q=()=>{P._isLeaving&&P[tt](!0),W(P,()=>{k(),p&&p()})};f?f(P,k,q):q()}else n(P,h,$)},Ne=(u,h,$,L=!1,A=!1)=>{const{type:P,props:K,ref:V,children:D,dynamicChildren:F,shapeFlag:Q,patchFlag:W,dirs:f,cacheIndex:p}=u;if(W===-2&&(A=!1),V!=null&&(pt(),ds(V,null,$,u,!0),ht()),p!=null&&(h.renderCache[p]=void 0),Q&256){h.ctx.deactivate(u);return}const k=Q&1&&f,q=!fs(u);let U;if(q&&(U=K&&K.onVnodeBeforeUnmount)&&Ze(U,h,u),Q&6)we(u.component,$,L);else{if(Q&128){u.suspense.unmount($,L);return}k&&kt(u,null,h,"beforeUnmount"),Q&64?u.type.remove(u,h,$,ee,L):F&&!F.hasOnce&&(P!==ae||W>0&&W&64)?Xe(F,h,$,!1,!0):(P===ae&&W&384||!A&&Q&16)&&Xe(D,h,$),L&&Re(u)}(q&&(U=K&&K.onVnodeUnmounted)||k)&&De(()=>{U&&Ze(U,h,u),k&&kt(u,null,h,"unmounted")},$)},Re=u=>{const{type:h,el:$,anchor:L,transition:A}=u;if(h===ae){qe($,L);return}if(h===Ps){E(u);return}const P=()=>{o($),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(u.shapeFlag&1&&A&&!A.persisted){const{leave:K,delayLeave:V}=A,D=()=>K($,P);V?V(u.el,P,D):D()}else P()},qe=(u,h)=>{let $;for(;u!==h;)$=M(u),o(u),u=$;o(h)},we=(u,h,$)=>{const{bum:L,scope:A,job:P,subTree:K,um:V,m:D,a:F}=u;fo(D),fo(F),L&&As(L),A.stop(),P&&(P.flags|=8,Ne(K,u,h,$)),V&&De(V,h),De(()=>{u.isUnmounted=!0},h)},Xe=(u,h,$,L=!1,A=!1,P=0)=>{for(let K=P;K<u.length;K++)Ne(u[K],h,$,L,A)},$t=u=>{if(u.shapeFlag&6)return $t(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const h=M(u.anchor||u.el),$=h&&h[Qi];return $?M($):h};let jt=!1;const Ts=(u,h,$)=>{let L;u==null?h._vnode&&(Ne(h._vnode,null,null,!0),L=h._vnode.component):N(h._vnode||null,u,h,null,null,null,$),h._vnode=u,jt||(jt=!0,eo(L),ul(),jt=!1)},ee={p:N,um:Ne,m:Oe,r:Re,mt:G,mc:O,pc:X,pbc:oe,n:$t,o:e};return{render:Ts,hydrate:void 0,createApp:br(Ts)}}function hn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function St({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Lr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Dl(e,t,s=!1){const n=e.children,o=t.children;if(Z(n)&&Z(o))for(let l=0;l<n.length;l++){const r=n[l];let a=o[l];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=o[l]=ut(o[l]),a.el=r.el),!s&&a.patchFlag!==-2&&Dl(r,a)),a.type===nn&&(a.patchFlag===-1&&(a=o[l]=ut(a)),a.el=r.el),a.type===Fe&&!a.el&&(a.el=r.el)}}function Nr(e){const t=e.slice(),s=[0];let n,o,l,r,a;const c=e.length;for(n=0;n<c;n++){const v=e[n];if(v!==0){if(o=s[s.length-1],e[o]<v){t[n]=o,s.push(n);continue}for(l=0,r=s.length-1;l<r;)a=l+r>>1,e[s[a]]<v?l=a+1:r=a;v<e[s[l]]&&(l>0&&(t[n]=s[l-1]),s[l]=n)}}for(l=s.length,r=s[l-1];l-- >0;)s[l]=r,r=t[r];return s}function Hl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Hl(t)}function fo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Vl(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Vl(t.subTree):null}const Ul=e=>e.__isSuspense;function Rr(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):zi(e)}const ae=Symbol.for("v-fgt"),nn=Symbol.for("v-txt"),Fe=Symbol.for("v-cmt"),Ps=Symbol.for("v-stc"),hs=[];let Ue=null;function S(e=!1){hs.push(Ue=e?null:[])}function jr(){hs.pop(),Ue=hs[hs.length-1]||null}let ys=1;function Us(e,t=!1){ys+=e,e<0&&Ue&&t&&(Ue.hasOnce=!0)}function Bl(e){return e.dynamicChildren=ys>0?Ue||Kt:null,jr(),ys>0&&Ue&&Ue.push(e),e}function T(e,t,s,n,o,l){return Bl(i(e,t,s,n,o,l,!0))}function Ot(e,t,s,n,o){return Bl(ke(e,t,s,n,o,!0))}function Bs(e){return e?e.__v_isVNode===!0:!1}function At(e,t){return e.type===t.type&&e.key===t.key}const Kl=({key:e})=>e??null,Fs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ye(e)||Ee(e)||ne(e)?{i:We,r:e,k:t,f:!!s}:e:null);function i(e,t=null,s=null,n=0,o=null,l=e===ae?0:1,r=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Kl(t),ref:t&&Fs(t),scopeId:fl,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:We};return a?(qn(c,s),l&128&&e.normalize(c)):s&&(c.shapeFlag|=ye(s)?8:16),ys>0&&!r&&Ue&&(c.patchFlag>0||l&6)&&c.patchFlag!==32&&Ue.push(c),c}const ke=Dr;function Dr(e,t=null,s=null,n=0,o=null,l=!1){if((!e||e===dr)&&(e=Fe),Bs(e)){const a=wt(e,t,!0);return s&&qn(a,s),ys>0&&!l&&Ue&&(a.shapeFlag&6?Ue[Ue.indexOf(e)]=a:Ue.push(a)),a.patchFlag=-2,a}if(Yr(e)&&(e=e.__vccOpts),t){t=Hr(t);let{class:a,style:c}=t;a&&!ye(a)&&(t.class=se(a)),he(c)&&(Bn(c)&&!Z(c)&&(c=$e({},c)),t.style=Ce(c))}const r=ye(e)?1:Ul(e)?128:vl(e)?64:he(e)?4:ne(e)?2:0;return i(e,t,s,n,o,r,l,!0)}function Hr(e){return e?Bn(e)||Pl(e)?$e({},e):e:null}function wt(e,t,s=!1,n=!1){const{props:o,ref:l,patchFlag:r,children:a,transition:c}=e,v=t?Ur(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:v,key:v&&Kl(v),ref:t&&t.ref?s&&l?Z(l)?l.concat(Fs(t)):[l,Fs(t)]:Fs(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ae?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&wt(e.ssContent),ssFallback:e.ssFallback&&wt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&bs(d,c.clone(d)),d}function Me(e=" ",t=0){return ke(nn,null,e,t)}function Vr(e,t){const s=ke(Ps,null,e);return s.staticCount=t,s}function te(e="",t=!1){return t?(S(),Ot(Fe,null,e)):ke(Fe,null,e)}function nt(e){return e==null||typeof e=="boolean"?ke(Fe):Z(e)?ke(ae,null,e.slice()):Bs(e)?ut(e):ke(nn,null,String(e))}function ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:wt(e)}function qn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Z(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),qn(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Pl(t)?t._ctx=We:o===3&&We&&(We.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:We},s=32):(t=String(t),n&64?(s=16,t=[Me(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ur(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=se([t.class,n.class]));else if(o==="style")t.style=Ce([t.style,n.style]);else if(qs(o)){const l=t[o],r=n[o];r&&l!==r&&!(Z(l)&&l.includes(r))&&(t[o]=l?[].concat(l,r):r)}else o!==""&&(t[o]=n[o])}return t}function Ze(e,t,s,n=null){Qe(e,t,7,[s,n])}const Br=Ml();let Kr=0;function Wr(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||Br,l={uid:Kr++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new vi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ll(n,o),emitsOptions:El(n,o),emit:null,emitted:null,propsDefaults:ve,inheritAttrs:n.inheritAttrs,ctx:ve,data:ve,props:ve,attrs:ve,slots:ve,refs:ve,setupState:ve,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=xr.bind(null,l),e.ce&&e.ce(l),l}let Le=null;const Wl=()=>Le||We;let Ks,Mn;{const e=Qs(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),l=>{o.length>1?o.forEach(r=>r(l)):o[0](l)}};Ks=t("__VUE_INSTANCE_SETTERS__",s=>Le=s),Mn=t("__VUE_SSR_SETTERS__",s=>xs=s)}const Ss=e=>{const t=Le;return Ks(e),e.scope.on(),()=>{e.scope.off(),Ks(t)}},po=()=>{Le&&Le.scope.off(),Ks(null)};function zl(e){return e.vnode.shapeFlag&4}let xs=!1;function zr(e,t=!1,s=!1){t&&Mn(t);const{props:n,children:o}=e.vnode,l=zl(e);Tr(e,n,l,t),Ar(e,o,s||t);const r=l?qr(e,t):void 0;return t&&Mn(!1),r}function qr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fr);const{setup:n}=s;if(n){pt();const o=e.setupContext=n.length>1?Gr(e):null,l=Ss(e),r=ks(n,e,0,[e.props,o]),a=jo(r);if(ht(),l(),(a||e.sp)&&!fs(e)&&xl(e),a){if(r.then(po,po),t)return r.then(c=>{ho(e,c)}).catch(c=>{Zs(c,e,0)});e.asyncDep=r}else ho(e,r)}else ql(e)}function ho(e,t,s){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=il(t)),ql(e)}function ql(e,t,s){const n=e.type;e.render||(e.render=n.render||lt);{const o=Ss(e);pt();try{pr(e)}finally{ht(),o()}}}const Jr={get(e,t){return Te(e,"get",""),e[t]}};function Gr(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Jr),slots:e.slots,emit:e.emit,expose:t}}function on(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(il(Ni(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in ps)return ps[s](e)},has(t,s){return s in t||s in ps}})):e.proxy}function Yr(e){return ne(e)&&"__vccOpts"in e}const ie=(e,t)=>Vi(e,t,xs);function Se(e,t,s){try{Us(-1);const n=arguments.length;return n===2?he(t)&&!Z(t)?Bs(t)?ke(e,null,[t]):ke(e,t):ke(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Bs(s)&&(s=[s]),ke(e,t,s))}finally{Us(1)}}const Qr="3.5.30";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.30
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let En;const vo=typeof window<"u"&&window.trustedTypes;if(vo)try{En=vo.createPolicy("vue",{createHTML:e=>e})}catch{}const Jl=En?e=>En.createHTML(e):e=>e,Xr="http://www.w3.org/2000/svg",Zr="http://www.w3.org/1998/Math/MathML",ct=typeof document<"u"?document:null,mo=ct&&ct.createElement("template"),ea={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?ct.createElementNS(Xr,e):t==="mathml"?ct.createElementNS(Zr,e):s?ct.createElement(e,{is:s}):ct.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>ct.createTextNode(e),createComment:e=>ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,l){const r=s?s.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===l||!(o=o.nextSibling)););else{mo.innerHTML=Jl(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const a=mo.content;if(n==="svg"||n==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},_t="transition",os="animation",ws=Symbol("_vtc"),Gl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ta=$e({},ml,Gl),sa=e=>(e.displayName="Transition",e.props=ta,e),On=sa((e,{slots:t})=>Se(er,na(e),t)),Tt=(e,t=[])=>{Z(e)?e.forEach(s=>s(...t)):e&&e(...t)},go=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function na(e){const t={};for(const m in e)m in Gl||(t[m]=e[m]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:l=`${s}-enter-from`,enterActiveClass:r=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:c=l,appearActiveClass:v=r,appearToClass:d=a,leaveFromClass:g=`${s}-leave-from`,leaveActiveClass:M=`${s}-leave-active`,leaveToClass:y=`${s}-leave-to`}=e,x=oa(o),N=x&&x[0],J=x&&x[1],{onBeforeEnter:Y,onEnter:B,onEnterCancelled:I,onLeave:E,onLeaveCancelled:R,onBeforeAppear:ue=Y,onAppear:H=B,onAppearCancelled:O=I}=t,C=(m,_,G,le)=>{m._enterCancelled=le,Mt(m,_?d:a),Mt(m,_?v:r),G&&G()},oe=(m,_)=>{m._isLeaving=!1,Mt(m,g),Mt(m,y),Mt(m,M),_&&_()},w=m=>(_,G)=>{const le=m?H:B,ce=()=>C(_,m,G);Tt(le,[_,ce]),_o(()=>{Mt(_,m?c:l),at(_,m?d:a),go(le)||bo(_,n,N,ce)})};return $e(t,{onBeforeEnter(m){Tt(Y,[m]),at(m,l),at(m,r)},onBeforeAppear(m){Tt(ue,[m]),at(m,c),at(m,v)},onEnter:w(!1),onAppear:w(!0),onLeave(m,_){m._isLeaving=!0;const G=()=>oe(m,_);at(m,g),m._enterCancelled?(at(m,M),wo(m)):(wo(m),at(m,M)),_o(()=>{m._isLeaving&&(Mt(m,g),at(m,y),go(E)||bo(m,n,J,G))}),Tt(E,[m,G])},onEnterCancelled(m){C(m,!1,void 0,!0),Tt(I,[m])},onAppearCancelled(m){C(m,!0,void 0,!0),Tt(O,[m])},onLeaveCancelled(m){oe(m),Tt(R,[m])}})}function oa(e){if(e==null)return null;if(he(e))return[vn(e.enter),vn(e.leave)];{const t=vn(e);return[t,t]}}function vn(e){return ii(e)}function at(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[ws]||(e[ws]=new Set)).add(t)}function Mt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[ws];s&&(s.delete(t),s.size||(e[ws]=void 0))}function _o(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let la=0;function bo(e,t,s,n){const o=e._endId=++la,l=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(l,s);const{type:r,timeout:a,propCount:c}=ia(e,t);if(!r)return n();const v=r+"end";let d=0;const g=()=>{e.removeEventListener(v,M),l()},M=y=>{y.target===e&&++d>=c&&g()};setTimeout(()=>{d<c&&g()},a+1),e.addEventListener(v,M)}function ia(e,t){const s=window.getComputedStyle(e),n=x=>(s[x]||"").split(", "),o=n(`${_t}Delay`),l=n(`${_t}Duration`),r=yo(o,l),a=n(`${os}Delay`),c=n(`${os}Duration`),v=yo(a,c);let d=null,g=0,M=0;t===_t?r>0&&(d=_t,g=r,M=l.length):t===os?v>0&&(d=os,g=v,M=c.length):(g=Math.max(r,v),d=g>0?r>v?_t:os:null,M=d?d===_t?l.length:c.length:0);const y=d===_t&&/\b(?:transform|all)(?:,|$)/.test(n(`${_t}Property`).toString());return{type:d,timeout:g,propCount:M,hasTransform:y}}function yo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>xo(s)+xo(e[n])))}function xo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wo(e){return(e?e.ownerDocument:document).body.offsetHeight}function ra(e,t,s){const n=e[ws];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const $o=Symbol("_vod"),aa=Symbol("_vsh"),ca=Symbol(""),ua=/(?:^|;)\s*display\s*:/;function da(e,t,s){const n=e.style,o=ye(s);let l=!1;if(s&&!o){if(t)if(ye(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();s[a]==null&&Ls(n,a,"")}else for(const r in t)s[r]==null&&Ls(n,r,"");for(const r in s)r==="display"&&(l=!0),Ls(n,r,s[r])}else if(o){if(t!==s){const r=n[ca];r&&(s+=";"+r),n.cssText=s,l=ua.test(s)}}else t&&e.removeAttribute("style");$o in e&&(e[$o]=l?n.display:"",e[aa]&&(n.display="none"))}const Co=/\s*!important$/;function Ls(e,t,s){if(Z(s))s.forEach(n=>Ls(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=fa(e,t);Co.test(s)?e.setProperty(Rt(n),s.replace(Co,""),"important"):e[n]=s}}const ko=["Webkit","Moz","ms"],mn={};function fa(e,t){const s=mn[t];if(s)return s;let n=Je(t);if(n!=="filter"&&n in e)return mn[t]=n;n=Vo(n);for(let o=0;o<ko.length;o++){const l=ko[o]+n;if(l in e)return mn[t]=l}return t}const So="http://www.w3.org/1999/xlink";function To(e,t,s,n,o,l=fi(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(So,t.slice(6,t.length)):e.setAttributeNS(So,t,s):s==null||l&&!Bo(s)?e.removeAttribute(t):e.setAttribute(t,l?"":it(s)?String(s):s)}function Mo(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Jl(s):s);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const a=l==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(a!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const a=typeof e[t];a==="boolean"?s=Bo(s):s==null&&a==="string"?(s="",r=!0):a==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(o||t)}function It(e,t,s,n){e.addEventListener(t,s,n)}function pa(e,t,s,n){e.removeEventListener(t,s,n)}const Eo=Symbol("_vei");function ha(e,t,s,n,o=null){const l=e[Eo]||(e[Eo]={}),r=l[t];if(n&&r)r.value=n;else{const[a,c]=va(t);if(n){const v=l[t]=_a(n,o);It(e,a,v,c)}else r&&(pa(e,a,r,c),l[t]=void 0)}}const Oo=/(?:Once|Passive|Capture)$/;function va(e){let t;if(Oo.test(e)){t={};let n;for(;n=e.match(Oo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Rt(e.slice(2)),t]}let gn=0;const ma=Promise.resolve(),ga=()=>gn||(ma.then(()=>gn=0),gn=Date.now());function _a(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Qe(ba(n,s.value),t,5,[n])};return s.value=e,s.attached=ga(),s}function ba(e,t){if(Z(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const Ao=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ya=(e,t,s,n,o,l)=>{const r=o==="svg";t==="class"?ra(e,n,r):t==="style"?da(e,s,n):qs(t)?Pn(t)||ha(e,t,s,n,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xa(e,t,n,r))?(Mo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&To(e,t,n,r,l,t!=="value")):e._isVueCE&&(wa(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ye(n)))?Mo(e,Je(t),n,l,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),To(e,t,n,r))};function xa(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ao(t)&&ne(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ao(t)&&ye(s)?!1:t in e}function wa(e,t){const s=e._def.props;if(!s)return!1;const n=Je(t);return Array.isArray(s)?s.some(o=>Je(o)===n):Object.keys(s).some(o=>Je(o)===n)}const Ws=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?s=>As(t,s):t};function $a(e){e.target.composing=!0}function Io(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Jt=Symbol("_assign");function Po(e,t,s){return t&&(e=e.trim()),s&&(e=Ys(e)),e}const Yt={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[Jt]=Ws(o);const l=n||o.props&&o.props.type==="number";It(e,t?"change":"input",r=>{r.target.composing||e[Jt](Po(e.value,s,l))}),(s||l)&&It(e,"change",()=>{e.value=Po(e.value,s,l)}),t||(It(e,"compositionstart",$a),It(e,"compositionend",Io),It(e,"change",Io))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:l}},r){if(e[Jt]=Ws(r),e.composing)return;const a=(l||e.type==="number")&&!/^0\d/.test(e.value)?Ys(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c))}},Ca={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const o=Js(t);It(e,"change",()=>{const l=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?Ys(zs(r)):zs(r));e[Jt](e.multiple?o?new Set(l):l:l[0]),e._assigning=!0,al(()=>{e._assigning=!1})}),e[Jt]=Ws(n)},mounted(e,{value:t}){Fo(e,t)},beforeUpdate(e,t,s){e[Jt]=Ws(s)},updated(e,{value:t}){e._assigning||Fo(e,t)}};function Fo(e,t){const s=e.multiple,n=Z(t);if(!(s&&!n&&!Js(t))){for(let o=0,l=e.options.length;o<l;o++){const r=e.options[o],a=zs(r);if(s)if(n){const c=typeof a;c==="string"||c==="number"?r.selected=t.some(v=>String(v)===String(a)):r.selected=hi(t,a)>-1}else r.selected=t.has(a);else if(Cs(zs(r),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function zs(e){return"_value"in e?e._value:e.value}const ka=["ctrl","shift","alt","meta"],Sa={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ka.some(s=>e[`${s}Key`]&&!t.includes(s))},ls=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((o,...l)=>{for(let r=0;r<t.length;r++){const a=Sa[t[r]];if(a&&a(o,t))return}return e(o,...l)}))},Ta=$e({patchProp:ya},ea);let Lo;function Ma(){return Lo||(Lo=Pr(Ta))}const Ea=((...e)=>{const t=Ma().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=Aa(n);if(!o)return;const l=t._component;!ne(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=s(o,!1,Oa(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t});function Oa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Aa(e){return ye(e)?document.querySelector(e):e}const Ia=500,Yl=re([]),Ql=re({provides:[],injects:[]}),Jn=re([]),Xl=re([]),Zl=re([]),ei=re(!1),ti=re({});let No=!1,Qt="*";function is(e){return e?e.map(t=>({...t})):[]}function Pa(e){return e?e.map(t=>({...t})):[]}function Fa(){if(typeof document>"u")return"";if(document.referrer)try{return new URL(document.referrer).origin}catch{}return""}function An(){var e;Qt&&((e=window.top)==null||e.postMessage({type:"observatory:request"},Qt))}function La(e){var s;if(((s=e.data)==null?void 0:s.type)!=="observatory:snapshot"||Qt&&e.origin!==Qt)return;const t=e.data.data;Yl.value=is(t.fetch),Ql.value=t.provideInject?{provides:is(t.provideInject.provides),injects:is(t.provideInject.injects)}:{provides:[],injects:[]},Jn.value=is(t.composables),Xl.value=Pa(t.renders),Zl.value=is(t.transitions),ti.value=t.features||{},ei.value=!0}function Na(){No||typeof window>"u"||(No=!0,Qt=Fa(),window.addEventListener("message",La),window.setInterval(An,Ia),An())}function vs(){return Qt}function Ra(){Jn.value=[]}function Xt(){return Na(),{fetch:Yl,provideInject:Ql,composables:Jn,renders:Xl,transitions:Zl,features:ti,connected:ei,refresh:An,clearComposables:Ra}}const ja={class:"view"},Da={class:"stats-row"},Ha={class:"stat-card"},Va={class:"stat-val"},Ua={class:"stat-card"},Ba={class:"stat-val",style:{color:"var(--teal)"}},Ka={class:"stat-card"},Wa={class:"stat-val",style:{color:"var(--amber)"}},za={class:"stat-card"},qa={class:"stat-val",style:{color:"var(--red)"}},Ja={class:"toolbar"},Ga={class:"split"},Ya={class:"table-wrap"},Qa={class:"data-table"},Xa=["onClick"],Za={class:"mono",style:{"font-size":"11px",color:"var(--text2)"}},ec=["title"],tc={class:"muted text-sm"},sc={class:"mono text-sm"},nc={style:{height:"4px",background:"var(--bg2)","border-radius":"2px",overflow:"hidden"}},oc={key:0},lc={colspan:"7",style:{"text-align":"center",color:"var(--text3)",padding:"24px"}},ic={key:0,class:"detail-panel"},rc={class:"detail-header"},ac={class:"mono bold",style:{"font-size":"12px"}},cc={class:"flex gap-2"},uc={class:"meta-grid"},dc={class:"muted text-sm"},fc={class:"mono text-sm",style:{"word-break":"break-all"}},pc={class:"payload-box"},hc={class:"mono text-sm muted"},vc={key:1,class:"detail-empty"},mc={class:"waterfall"},gc={class:"waterfall-header"},_c={key:0,class:"waterfall-body"},bc={class:"mono muted text-sm",style:{width:"140px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","flex-shrink":"0"}},yc={class:"wf-track"},xc={class:"mono muted text-sm",style:{width:"44px","text-align":"right","flex-shrink":"0"}},wc=Nt({__name:"FetchDashboard",setup(e){const{fetch:t,connected:s}=Xt(),n=re("all"),o=re(""),l=re(null),r=re(!0),a=ie(()=>{const I=[...t.value].sort((R,ue)=>R.startTime-ue.startTime),E=Math.min(...I.map(R=>R.startTime),0);return I.map(R=>({...R,startOffset:Math.max(0,Math.round(R.startTime-E))}))}),c=ie(()=>a.value.find(I=>I.id===l.value)??null),v=ie(()=>({ok:a.value.filter(I=>I.status==="ok").length,pending:a.value.filter(I=>I.status==="pending").length,error:a.value.filter(I=>I.status==="error").length})),d=ie(()=>a.value.filter(I=>{if(n.value!=="all"&&I.status!==n.value)return!1;const E=o.value.toLowerCase();return!(E&&!I.key.toLowerCase().includes(E)&&!I.url.toLowerCase().includes(E))})),g=ie(()=>{if(!c.value)return[];const I=c.value;return[["url",I.url],["status",I.status],["origin",I.origin],["duration",I.ms!=null?`${I.ms}ms`:"—"],["size",I.size?B(I.size):"—"],["cached",I.cached?"yes":"no"]]}),M=ie(()=>{if(!c.value)return"";const I=c.value.payload;if(I===void 0)return"(no payload captured yet)";try{return JSON.stringify(I,null,2)}catch{return String(I)}});function y(I){return{ok:"badge-ok",error:"badge-err",pending:"badge-warn",cached:"badge-gray"}[I]??"badge-gray"}function x(I){return{ok:"var(--teal)",error:"var(--red)",pending:"var(--amber)",cached:"var(--border)"}[I]??"var(--border)"}function N(I){const E=Math.max(...a.value.filter(R=>R.ms).map(R=>R.ms),1);return I.ms!=null?Math.max(4,Math.round(I.ms/E*100)):4}function J(I){const E=Math.max(...a.value.map(R=>R.startOffset+(R.ms??0)),1);return Math.round(I.startOffset/E*100)}function Y(I){const E=Math.max(...a.value.map(R=>R.startOffset+(R.ms??0)),1);return I.ms!=null?Math.round(I.ms/E*100):2}function B(I){return I<1024?`${I}B`:`${(I/1024).toFixed(1)}KB`}return(I,E)=>(S(),T("div",ja,[i("div",Da,[i("div",Ha,[E[7]||(E[7]=i("div",{class:"stat-label"},"total",-1)),i("div",Va,b(a.value.length),1)]),i("div",Ua,[E[8]||(E[8]=i("div",{class:"stat-label"},"success",-1)),i("div",Ba,b(v.value.ok),1)]),i("div",Ka,[E[9]||(E[9]=i("div",{class:"stat-label"},"pending",-1)),i("div",Wa,b(v.value.pending),1)]),i("div",za,[E[10]||(E[10]=i("div",{class:"stat-label"},"error",-1)),i("div",qa,b(v.value.error),1)])]),i("div",Ja,[i("button",{class:se({active:n.value==="all"}),onClick:E[0]||(E[0]=R=>n.value="all")},"all",2),i("button",{class:se({"danger-active":n.value==="error"}),onClick:E[1]||(E[1]=R=>n.value="error")},"errors",2),i("button",{class:se({active:n.value==="pending"}),onClick:E[2]||(E[2]=R=>n.value="pending")},"pending",2),i("button",{class:se({active:n.value==="cached"}),onClick:E[3]||(E[3]=R=>n.value="cached")},"cached",2),Lt(i("input",{"onUpdate:modelValue":E[4]||(E[4]=R=>o.value=R),type:"search",placeholder:"search key or url…",style:{"max-width":"240px","margin-left":"auto"}},null,512),[[Yt,o.value]])]),i("div",Ga,[i("div",Ya,[i("table",Qa,[E[11]||(E[11]=i("thead",null,[i("tr",null,[i("th",null,"key"),i("th",null,"url"),i("th",null,"status"),i("th",null,"origin"),i("th",null,"size"),i("th",null,"time"),i("th",{style:{"min-width":"80px"}},"bar")])],-1)),i("tbody",null,[(S(!0),T(ae,null,be(d.value,R=>{var ue;return S(),T("tr",{key:R.id,class:se({selected:((ue=c.value)==null?void 0:ue.id)===R.id}),onClick:H=>l.value=R.id},[i("td",null,[i("span",Za,b(R.key),1)]),i("td",null,[i("span",{class:"mono",style:{"font-size":"11px","max-width":"200px",display:"block",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},title:R.url},b(R.url),9,ec)]),i("td",null,[i("span",{class:se(["badge",y(R.status)])},b(R.status),3)]),i("td",null,[i("span",{class:se(["badge",R.origin==="ssr"?"badge-info":"badge-gray"])},b(R.origin),3)]),i("td",tc,b(R.size?B(R.size):"—"),1),i("td",sc,b(R.ms!=null?`${R.ms}ms`:"—"),1),i("td",null,[i("div",nc,[i("div",{style:Ce({width:`${N(R)}%`,background:x(R.status),height:"100%",borderRadius:"2px"})},null,4)])])],10,Xa)}),128)),d.value.length?te("",!0):(S(),T("tr",oc,[i("td",lc,b(xt(s)?"No fetches recorded yet.":"Waiting for connection to the Nuxt app…"),1)]))])])]),c.value?(S(),T("div",ic,[i("div",rc,[i("span",ac,b(c.value.key),1),i("div",cc,[i("button",{onClick:E[5]||(E[5]=R=>l.value=null)},"×")])]),i("div",uc,[(S(!0),T(ae,null,be(g.value,([R,ue])=>(S(),T(ae,{key:R},[i("span",dc,b(R),1),i("span",fc,b(ue),1)],64))),128))]),E[12]||(E[12]=i("div",{class:"section-label"},"payload",-1)),i("pre",pc,b(M.value),1),E[13]||(E[13]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"source",-1)),i("div",hc,b(c.value.file)+":"+b(c.value.line),1)])):(S(),T("div",vc,"select a call to inspect"))]),i("div",mc,[i("div",gc,[E[14]||(E[14]=i("div",{class:"section-label",style:{"margin-top":"0","margin-bottom":"0"}},"waterfall",-1)),i("button",{class:se({active:r.value}),onClick:E[6]||(E[6]=R=>r.value=!r.value)},b(r.value?"hide":"show"),3)]),r.value?(S(),T("div",_c,[(S(!0),T(ae,null,be(a.value,R=>(S(),T("div",{key:R.id,class:"wf-row"},[i("span",bc,b(R.key),1),i("div",yc,[i("div",{class:"wf-bar",style:Ce({left:`${J(R)}%`,width:`${Math.max(2,Y(R))}%`,background:x(R.status)})},null,4)]),i("span",xc,b(R.ms!=null?`${R.ms}ms`:"—"),1)]))),128))])):te("",!0)])]))}}),Zt=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},$c=Zt(wc,[["__scopeId","data-v-4d69a232"]]),Cc={class:"view"},kc={class:"toolbar"},Sc=["onClick"],Tc={class:"split"},Mc={class:"graph-area"},Ec={key:0,class:"canvas-stage"},Oc=["width","height","viewBox"],Ac=["d"],Ic=["onClick"],Pc={class:"mono node-label"},Fc={key:0,class:"badge badge-ok badge-xs"},Lc={key:1,class:"badge badge-err badge-xs"},Nc={key:1,class:"graph-empty"},Rc={key:0,class:"detail-panel"},jc={class:"detail-header"},Dc={class:"mono bold",style:{"font-size":"12px"}},Hc={key:0,class:"detail-section"},Vc={class:"section-label"},Uc={class:"detail-list"},Bc={class:"row-main"},Kc={class:"mono text-sm row-key"},Wc=["title"],zc=["onClick"],qc={key:0,class:"row-warning"},Jc={key:1,class:"row-consumers"},Gc={key:0,class:"muted text-sm"},Yc={key:2,class:"muted text-sm",style:{padding:"2px 0","font-size":"11px"}},Qc={key:3,class:"value-box"},Xc={class:"section-label"},Zc={class:"detail-list"},eu={class:"mono text-sm row-key"},tu={key:0,class:"badge badge-ok"},su={key:1,class:"badge badge-err"},nu=["title"],ou={key:2,class:"muted text-sm",style:{"margin-top":"8px"}},lu={key:1,class:"detail-empty"},Ht=140,Vt=32,iu=72,Ut=18,ru=Nt({__name:"ProvideInjectGraph",setup(e){const{provideInject:t,connected:s}=Xt();function n(w){return w.injects.some(m=>!m.ok)?"var(--red)":w.type==="both"?"var(--blue)":w.type==="provider"?"var(--teal)":"var(--text3)"}function o(w,m){return m==="all"?!0:m==="warn"?w.injects.some(_=>!_.ok):m==="shadow"?w.provides.some(_=>_.isShadowing):w.provides.some(_=>_.key===m)||w.injects.some(_=>_.key===m)}function l(w,m){if(!m)return!0;const _=m.toLowerCase();return w.label.toLowerCase().includes(_)||w.componentName.toLowerCase().includes(_)||w.provides.some(G=>G.key.toLowerCase().includes(_))||w.injects.some(G=>G.key.toLowerCase().includes(_))}function r(w){let m=0;const _=[w];for(;_.length;){const G=_.pop();G.children.length===0?m++:_.push(...G.children)}return m}function a(w){if(typeof w=="string")return w;try{return JSON.stringify(w)}catch{return String(w)}}function c(w){return typeof w=="object"&&w!==null}function v(w){if(w===null)return"null";if(Array.isArray(w))return`Array(${w.length})`;if(typeof w=="object"){const m=Object.keys(w);return m.length?`{ ${m.join(", ")} }`:"{}"}return a(w)}function d(w){if(!c(w))return a(w);try{return JSON.stringify(w,null,2)}catch{return a(w)}}function g(w,m,_){return`${w}:${m}:${_}`}function M(w){return w.split("/").pop()??w}function y(w){var _;if(!w||w==="unknown")return;const m=vs();m&&((_=window.top)==null||_.postMessage({type:"observatory:open-in-editor",file:w},m))}function x(w){return String(w.componentUid)}const N=ie(()=>{const w=new Map,m=new Map;function _(j){const X=x(j),ge=w.get(X);if(ge)return ge;const _e={id:X,label:M(j.componentFile),componentName:j.componentName??M(j.componentFile),componentFile:j.componentFile,type:"consumer",provides:[],injects:[],children:[]};return w.set(X,_e),m.set(X,j.parentUid!==void 0?String(j.parentUid):null),_e}const G=new Map;for(const j of t.value.injects){const X=G.get(j.key)??[];X.push(j),G.set(j.key,X)}const le=new Map;for(const j of t.value.provides)le.set(j.componentUid,j.componentName);for(const j of t.value.injects)le.set(j.componentUid,j.componentName);for(const j of t.value.provides){const X=_(j),ge=G.get(j.key)??[];X.provides.push({key:j.key,val:v(j.valueSnapshot),raw:j.valueSnapshot,reactive:j.isReactive,complex:c(j.valueSnapshot),scope:j.scope??"component",isShadowing:j.isShadowing??!1,consumerUids:ge.map(_e=>_e.componentUid),consumerNames:ge.map(_e=>_e.componentName)})}for(const j of t.value.injects)_(j).injects.push({key:j.key,from:j.resolvedFromFile??null,fromName:j.resolvedFromUid!==void 0?le.get(j.resolvedFromUid)??null:null,ok:j.resolved});for(const j of w.values())j.injects.some(X=>!X.ok)?j.type="error":j.provides.length&&j.injects.length?j.type="both":j.provides.length?j.type="provider":j.type="consumer";const ce=[];for(const[j,X]of w.entries()){const ge=m.get(j),_e=ge?w.get(ge):void 0;_e?_e.children.push(X):ce.push(X)}return ce}),J=re("all"),Y=re(""),B=re(null),I=re(new Set);yt(B,()=>{I.value=new Set});function E(w){const m=new Set(I.value);m.has(w)?m.delete(w):m.add(w),I.value=m}const R=ie(()=>{const w=new Set,m=[...N.value];for(;m.length;){const _=m.pop();_.provides.forEach(G=>w.add(G.key)),_.injects.forEach(G=>w.add(G.key)),m.push(..._.children)}return[...w]}),ue=ie(()=>{function w(m){const _=[],G=[m];for(;G.length;){const ce=G.pop();_.push(ce);for(let j=ce.children.length-1;j>=0;j--)G.push(ce.children[j])}const le=new Map;for(let ce=_.length-1;ce>=0;ce--){const j=_[ce],X=j.children.map(_e=>le.get(_e)??null).filter(_e=>_e!==null);!(o(j,J.value)&&l(j,Y.value))&&!X.length?le.set(j,null):le.set(j,{...j,children:X})}return le.get(m)??null}return N.value.map(w).filter(Boolean)});yt([ue,B],([w,m])=>{if(!m)return;const _=new Set,G=[...w];for(;G.length;){const le=G.pop();_.add(le.id),G.push(...le.children)}_.has(m.id)||(B.value=null)});const H=ie(()=>{const w=[],m=Ut;let _=m;for(const G of ue.value){const le=[{node:G,depth:0,slotLeft:_,parentId:null}];for(;le.length;){const{node:j,depth:X,slotLeft:ge,parentId:_e}=le.pop(),Ne=r(j)*(Ht+Ut)-Ut;w.push({data:j,parentId:_e,x:Math.round(ge+Ne/2),y:Math.round(m+X*(Vt+iu)+Vt/2)});let Re=ge;const qe=[];for(const we of j.children){const Xe=r(we);qe.push({node:we,depth:X+1,slotLeft:Re,parentId:j.id}),Re+=Xe*(Ht+Ut)}for(let we=qe.length-1;we>=0;we--)le.push(qe[we])}const ce=r(G);_+=ce*(Ht+Ut)+Ut*2}return w}),O=ie(()=>H.value.reduce((w,m)=>Math.max(w,m.x+Ht/2+20),520)),C=ie(()=>H.value.reduce((w,m)=>Math.max(w,m.y+Vt/2+20),200)),oe=ie(()=>{const w=new Map(H.value.map(m=>[m.data.id,m]));return H.value.filter(m=>m.parentId!==null).map(m=>{const _=w.get(m.parentId);return{id:`${_.data.id}--${m.data.id}`,x1:_.x,y1:_.y+Vt/2,x2:m.x,y2:m.y-Vt/2}})});return(w,m)=>(S(),T("div",Cc,[i("div",kc,[i("button",{class:se({active:J.value==="all"}),onClick:m[0]||(m[0]=_=>J.value="all")},"all keys",2),(S(!0),T(ae,null,be(R.value,_=>(S(),T("button",{key:_,style:{"font-family":"var(--mono)"},class:se({active:J.value===_}),onClick:G=>J.value=_},b(_),11,Sc))),128)),i("button",{style:{"margin-left":"auto"},class:se({"danger-active":J.value==="shadow"}),onClick:m[1]||(m[1]=_=>J.value=J.value==="shadow"?"all":"shadow")}," shadowed ",2),i("button",{class:se({"danger-active":J.value==="warn"}),onClick:m[2]||(m[2]=_=>J.value=J.value==="warn"?"all":"warn")}," warnings ",2),Lt(i("input",{"onUpdate:modelValue":m[3]||(m[3]=_=>Y.value=_),type:"search",placeholder:"search component or key…",style:{"max-width":"200px"}},null,512),[[Yt,Y.value]])]),i("div",Tc,[i("div",Mc,[m[6]||(m[6]=Vr('<div class="legend" data-v-0c07531b><span class="dot" style="background:var(--teal);" data-v-0c07531b></span><span data-v-0c07531b>provides</span><span class="dot" style="background:var(--blue);" data-v-0c07531b></span><span data-v-0c07531b>both</span><span class="dot" style="background:var(--text3);" data-v-0c07531b></span><span data-v-0c07531b>injects</span><span class="dot" style="background:var(--red);" data-v-0c07531b></span><span data-v-0c07531b>missing provider</span></div>',1)),H.value.length?(S(),T("div",Ec,[i("div",{class:"canvas-wrap",style:Ce({width:`${O.value}px`,height:`${C.value}px`})},[(S(),T("svg",{class:"edges-svg",width:O.value,height:C.value,viewBox:`0 0 ${O.value} ${C.value}`},[(S(!0),T(ae,null,be(oe.value,_=>(S(),T("path",{key:_.id,d:`M ${_.x1},${_.y1} C ${_.x1},${(_.y1+_.y2)/2} ${_.x2},${(_.y1+_.y2)/2} ${_.x2},${_.y2}`,class:"edge",fill:"none"},null,8,Ac))),128))],8,Oc)),(S(!0),T(ae,null,be(H.value,_=>{var G;return S(),T("div",{key:_.data.id,class:se(["graph-node",{"is-selected":((G=B.value)==null?void 0:G.id)===_.data.id}]),style:Ce({left:`${_.x-Ht/2}px`,top:`${_.y-Vt/2}px`,width:`${Ht}px`,"--node-color":n(_.data)}),onClick:le=>B.value=_.data},[i("span",{class:"node-dot",style:Ce({background:n(_.data)})},null,4),i("span",Pc,b(_.data.label),1),_.data.provides.length?(S(),T("span",Fc," +"+b(_.data.provides.length),1)):te("",!0),_.data.injects.some(le=>!le.ok)?(S(),T("span",Lc,"!")):te("",!0)],14,Ic)}),128))],4)])):(S(),T("div",Nc,b(xt(s)?"No components match the current provide/inject filter.":"Waiting for connection to the Nuxt app…"),1))]),B.value?(S(),T("div",Rc,[i("div",jc,[i("span",Dc,b(B.value.label),1),B.value.componentFile&&B.value.componentFile!=="unknown"?(S(),T("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:m[4]||(m[4]=_=>y(B.value.componentFile))}," open ↗ ")):te("",!0),i("button",{onClick:m[5]||(m[5]=_=>B.value=null)},"×")]),B.value.provides.length?(S(),T("div",Hc,[i("div",Vc,"provides ("+b(B.value.provides.length)+")",1),i("div",Uc,[(S(!0),T(ae,null,be(B.value.provides,(_,G)=>(S(),T("div",{key:g(B.value.id,_.key,G),class:"provide-row"},[i("div",Bc,[i("span",Kc,b(_.key),1),i("span",{class:"mono text-sm muted row-value-preview",title:_.val},b(_.val),9,Wc),i("span",{class:se(["badge scope-badge",`scope-${_.scope}`])},b(_.scope),3),i("span",{class:se(["badge",_.reactive?"badge-ok":"badge-gray"])},b(_.reactive?"reactive":"static"),3),_.complex?(S(),T("button",{key:0,class:"row-toggle mono",onClick:le=>E(g(B.value.id,_.key,G))},b(I.value.has(g(B.value.id,_.key,G))?"hide":"view"),9,zc)):te("",!0)]),_.isShadowing?(S(),T("div",qc,"shadows a parent provide with the same key")):te("",!0),_.consumerNames.length?(S(),T("div",Jc,[m[7]||(m[7]=i("span",{class:"muted text-sm"},"used by:",-1)),(S(!0),T(ae,null,be(_.consumerNames,le=>(S(),T("span",{key:le,class:"consumer-chip mono"},b(le),1))),128)),_.consumerNames.length?te("",!0):(S(),T("span",Gc,"no consumers"))])):(S(),T("div",Yc,"no consumers detected")),_.complex&&I.value.has(g(B.value.id,_.key,G))?(S(),T("pre",Qc,b(d(_.raw)),1)):te("",!0)]))),128))])])):te("",!0),B.value.injects.length?(S(),T("div",{key:1,class:"detail-section",style:Ce({marginTop:B.value.provides.length?"10px":"0"})},[i("div",Xc,"injects ("+b(B.value.injects.length)+")",1),i("div",Zc,[(S(!0),T(ae,null,be(B.value.injects,_=>(S(),T("div",{key:_.key,class:se(["inject-row",{"inject-miss":!_.ok}])},[i("span",eu,b(_.key),1),_.ok?(S(),T("span",tu,"resolved")):(S(),T("span",su,"no provider")),i("span",{class:se(["mono text-sm row-from",_.fromName?"":"muted"]),title:_.from??"undefined"},b(_.fromName??_.from??"undefined"),11,nu)],2))),128))])],4)):te("",!0),!B.value.provides.length&&!B.value.injects.length?(S(),T("div",ou," no provide/inject in this component ")):te("",!0)])):(S(),T("div",lu,b(xt(s)?"Click a node to inspect.":"Waiting for connection to the Nuxt app…"),1))])]))}}),au=Zt(ru,[["__scopeId","data-v-0c07531b"]]),cu={class:"view"},uu={class:"stats-row"},du={class:"stat-card"},fu={class:"stat-val"},pu={class:"stat-card"},hu={class:"stat-val",style:{color:"var(--teal)"}},vu={class:"stat-card"},mu={class:"stat-val",style:{color:"var(--red)"}},gu={class:"stat-card"},_u={class:"stat-val"},bu={class:"toolbar"},yu={class:"list"},xu=["onClick"],wu={class:"comp-header"},$u={class:"comp-identity"},Cu={class:"comp-name mono"},ku={class:"comp-file muted mono"},Su={class:"comp-meta"},Tu={key:0,class:"badge badge-warn"},Mu={key:1,class:"badge badge-warn"},Eu={key:2,class:"badge badge-err"},Ou={key:3,class:"badge badge-ok"},Au={key:4,class:"badge badge-gray"},Iu={key:0,class:"refs-preview"},Pu=["title"],Fu={class:"ref-chip-key"},Lu={class:"ref-chip-val"},Nu={key:0,class:"ref-chip-shared-dot",title:"global"},Ru={key:0,class:"muted text-sm"},ju={key:0,class:"leak-banner"},Du={key:1,class:"global-banner"},Hu={key:2,class:"muted text-sm",style:{padding:"2px 0 6px"}},Vu=["title","onClick"],Uu={class:"mono text-sm ref-val"},Bu={key:0,class:"badge badge-amber text-xs"},Ku=["onClick"],Wu={class:"section-label",style:{"margin-top":"10px"}},zu={class:"muted",style:{"font-weight":"400","text-transform":"none","letter-spacing":"0"}},qu={class:"history-list"},Ju={class:"history-time mono muted"},Gu={class:"history-key mono"},Yu={class:"history-val mono"},Qu={key:0,class:"muted text-sm",style:{padding:"2px 0"}},Xu={class:"muted text-sm",style:{"min-width":"120px"}},Zu={class:"lc-row"},ed={class:"mono text-sm"},td={class:"lc-row"},sd={class:"mono text-sm muted"},nd={class:"lc-row"},od={class:"mono text-sm muted",style:{display:"flex","align-items":"center",gap:"6px"}},ld=["onClick"],id={class:"lc-row"},rd={class:"mono text-sm muted"},ad={class:"lc-row"},cd={class:"mono text-sm"},ud={class:"lc-row"},dd={class:"mono text-sm"},fd={key:0,class:"muted text-sm",style:{padding:"16px 0"}},pd={key:0,class:"lookup-panel"},hd={class:"lookup-header"},vd={class:"mono text-sm"},md={class:"muted text-sm"},gd={key:0,class:"muted text-sm",style:{padding:"6px 0"}},_d={class:"mono text-sm"},bd={class:"muted text-sm"},yd={class:"muted text-sm",style:{"margin-left":"auto"}},xd={class:"edit-dialog"},wd={class:"edit-dialog-header"},$d={class:"mono"},Cd={key:0,class:"edit-error text-sm"},kd={class:"edit-actions"},Sd=Nt({__name:"ComposableTracker",setup(e){const{composables:t,connected:s,clearComposables:n}=Xt();function o(){var O;const H=vs();H&&(n(),(O=window.top)==null||O.postMessage({type:"observatory:clear-composables"},H))}function l(H){if(H===null)return"null";if(H===void 0)return"undefined";if(typeof H=="string")return`"${H}"`;if(typeof H=="object")try{const O=JSON.stringify(H);return O.length>80?O.slice(0,80)+"…":O}catch{return String(H)}return String(H)}function r(H){return H.split("/").pop()??H}function a(H){var C;if(!H||H==="unknown")return;const O=vs();O&&((C=window.top)==null||C.postMessage({type:"observatory:open-in-editor",file:H},O))}const c=re("all"),v=re(""),d=re(null),g=ie(()=>t.value),M=ie(()=>({mounted:g.value.filter(H=>H.status==="mounted").length,leaks:g.value.filter(H=>H.leak).length})),y=ie(()=>g.value.filter(H=>{if(c.value==="leak"&&!H.leak||c.value==="mounted"&&H.status!=="mounted"||c.value==="unmounted"&&H.status!=="unmounted")return!1;const O=v.value.toLowerCase();if(O){const C=H.name.toLowerCase().includes(O),oe=H.componentFile.toLowerCase().includes(O),w=Object.keys(H.refs).some(_=>_.toLowerCase().includes(O)),m=Object.values(H.refs).some(_=>{try{return String(JSON.stringify(_.value)).toLowerCase().includes(O)}catch{return!1}});if(!C&&!oe&&!w&&!m)return!1}return!0}));function x(H){return[{label:"onMounted",ok:H.lifecycle.hasOnMounted,status:H.lifecycle.hasOnMounted?"registered":"not used"},{label:"onUnmounted",ok:H.lifecycle.hasOnUnmounted,status:H.lifecycle.hasOnUnmounted?"registered":"missing"},{label:"watchers cleaned",ok:H.lifecycle.watchersCleaned,status:H.lifecycle.watchersCleaned?"all stopped":"NOT stopped"},{label:"intervals cleared",ok:H.lifecycle.intervalsCleaned,status:H.lifecycle.intervalsCleaned?"all cleared":"NOT cleared"}]}function N(H){return H==="computed"?"badge-info":H==="reactive"?"badge-purple":"badge-gray"}const J=re(null),Y=ie(()=>{if(!J.value)return[];const H=J.value;return g.value.filter(O=>H in O.refs)});function B(H){J.value=J.value===H?null:H}const I=re(null),E=re("");function R(H,O,C){E.value="",I.value={id:H,key:O,rawValue:JSON.stringify(C,null,2)}}function ue(){var C;if(!I.value)return;let H;try{H=JSON.parse(I.value.rawValue),E.value=""}catch(oe){E.value=`Invalid JSON: ${oe.message}`;return}const O=vs();O&&((C=window.top)==null||C.postMessage({type:"observatory:edit-composable",id:I.value.id,key:I.value.key,value:H},O),I.value=null)}return(H,O)=>(S(),T("div",cu,[i("div",uu,[i("div",du,[O[11]||(O[11]=i("div",{class:"stat-label"},"total",-1)),i("div",fu,b(g.value.length),1)]),i("div",pu,[O[12]||(O[12]=i("div",{class:"stat-label"},"mounted",-1)),i("div",hu,b(M.value.mounted),1)]),i("div",vu,[O[13]||(O[13]=i("div",{class:"stat-label"},"leaks",-1)),i("div",mu,b(M.value.leaks),1)]),i("div",gu,[O[14]||(O[14]=i("div",{class:"stat-label"},"instances",-1)),i("div",_u,b(g.value.length),1)])]),i("div",bu,[i("button",{class:se({active:c.value==="all"}),onClick:O[0]||(O[0]=C=>c.value="all")},"all",2),i("button",{class:se({active:c.value==="mounted"}),onClick:O[1]||(O[1]=C=>c.value="mounted")},"mounted",2),i("button",{class:se({"danger-active":c.value==="leak"}),onClick:O[2]||(O[2]=C=>c.value="leak")},"leaks only",2),i("button",{class:se({active:c.value==="unmounted"}),onClick:O[3]||(O[3]=C=>c.value="unmounted")},"unmounted",2),Lt(i("input",{"onUpdate:modelValue":O[4]||(O[4]=C=>v.value=C),type:"search",placeholder:"search name, file, or ref…",style:{"max-width":"220px","margin-left":"auto"}},null,512),[[Yt,v.value]]),i("button",{class:"clear-btn",title:"Clear session history",onClick:o},"clear")]),i("div",yu,[(S(!0),T(ae,null,be(y.value,C=>{var oe;return S(),T("div",{key:C.id,class:se(["comp-card",{leak:C.leak,expanded:d.value===C.id}]),onClick:w=>d.value=d.value===C.id?null:C.id},[i("div",wu,[i("div",$u,[i("span",Cu,b(C.name),1),i("span",ku,b(r(C.componentFile)),1)]),i("div",Su,[C.watcherCount>0&&!C.leak?(S(),T("span",Tu,b(C.watcherCount)+"w",1)):te("",!0),C.intervalCount>0&&!C.leak?(S(),T("span",Mu,b(C.intervalCount)+"t",1)):te("",!0),C.leak?(S(),T("span",Eu,"leak")):C.status==="mounted"?(S(),T("span",Ou,"mounted")):(S(),T("span",Au,"unmounted"))])]),Object.keys(C.refs).length?(S(),T("div",Iu,[(S(!0),T(ae,null,be(Object.entries(C.refs).slice(0,3),([w,m])=>{var _,G,le;return S(),T("span",{key:w,class:se(["ref-chip",{"ref-chip--reactive":m.type==="reactive","ref-chip--computed":m.type==="computed","ref-chip--shared":(_=C.sharedKeys)==null?void 0:_.includes(w)}]),title:(G=C.sharedKeys)!=null&&G.includes(w)?"shared global state":""},[i("span",Fu,b(w),1),i("span",Lu,b(l(m.value)),1),(le=C.sharedKeys)!=null&&le.includes(w)?(S(),T("span",Nu)):te("",!0)],10,Pu)}),128)),Object.keys(C.refs).length>3?(S(),T("span",Ru," +"+b(Object.keys(C.refs).length-3)+" more ",1)):te("",!0)])):te("",!0),d.value===C.id?(S(),T("div",{key:1,class:"comp-detail",onClick:O[5]||(O[5]=ls(()=>{},["stop"]))},[C.leak?(S(),T("div",ju,b(C.leakReason),1)):te("",!0),(oe=C.sharedKeys)!=null&&oe.length?(S(),T("div",Du,[O[16]||(O[16]=i("span",{class:"global-dot"},null,-1)),i("span",null,[O[15]||(O[15]=i("strong",null,"global state",-1)),Me(" — "+b(C.sharedKeys.join(", "))+" "+b(C.sharedKeys.length===1?"is":"are")+" shared across all instances of "+b(C.name),1)])])):te("",!0),O[24]||(O[24]=i("div",{class:"section-label"},"reactive state",-1)),Object.keys(C.refs).length?te("",!0):(S(),T("div",Hu," no tracked state returned ")),(S(!0),T(ae,null,be(Object.entries(C.refs),([w,m])=>{var _;return S(),T("div",{key:w,class:"ref-row"},[i("span",{class:"mono text-sm ref-key ref-key--clickable",title:`click to see all instances exposing '${w}'`,onClick:ls(G=>B(w),["stop"])},b(w),9,Vu),i("span",Uu,b(l(m.value)),1),i("span",{class:se(["badge text-xs",N(m.type)])},b(m.type),3),(_=C.sharedKeys)!=null&&_.includes(w)?(S(),T("span",Bu,"global")):te("",!0),m.type==="ref"?(S(),T("button",{key:1,class:"edit-btn",title:"Edit value",onClick:ls(G=>R(C.id,w,m.value),["stop"])}," edit ",8,Ku)):te("",!0)])}),128)),C.history&&C.history.length?(S(),T(ae,{key:3},[i("div",Wu,[O[17]||(O[17]=Me(" change history ",-1)),i("span",zu," ("+b(C.history.length)+" events) ",1)]),i("div",qu,[(S(!0),T(ae,null,be([...C.history].reverse().slice(0,20),(w,m)=>(S(),T("div",{key:m,class:"history-row"},[i("span",Ju,"+"+b((w.t/1e3).toFixed(2))+"s",1),i("span",Gu,b(w.key),1),i("span",Yu,b(l(w.value)),1)]))),128)),C.history.length>20?(S(),T("div",Qu," … "+b(C.history.length-20)+" earlier events ",1)):te("",!0)])],64)):te("",!0),O[25]||(O[25]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"lifecycle",-1)),(S(!0),T(ae,null,be(x(C),w=>(S(),T("div",{key:w.label,class:"lc-row"},[i("span",{class:"lc-dot",style:Ce({background:w.ok?"var(--teal)":"var(--red)"})},null,4),i("span",Xu,b(w.label),1),i("span",{class:"text-sm",style:Ce({color:w.ok?"var(--teal)":"var(--red)"})},b(w.status),5)]))),128)),O[26]||(O[26]=i("div",{class:"section-label",style:{"margin-top":"10px"}},"context",-1)),i("div",Zu,[O[18]||(O[18]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"component",-1)),i("span",ed,b(r(C.componentFile)),1)]),i("div",td,[O[19]||(O[19]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"uid",-1)),i("span",sd,b(C.componentUid),1)]),i("div",nd,[O[20]||(O[20]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"defined in",-1)),i("span",od,[Me(b(C.file)+":"+b(C.line)+" ",1),i("button",{class:"jump-btn",title:"Open in editor",onClick:ls(w=>a(C.file),["stop"])},"open ↗",8,ld)])]),i("div",id,[O[21]||(O[21]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"route",-1)),i("span",rd,b(C.route),1)]),i("div",ad,[O[22]||(O[22]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"watchers",-1)),i("span",cd,b(C.watcherCount),1)]),i("div",ud,[O[23]||(O[23]=i("span",{class:"muted text-sm",style:{"min-width":"120px"}},"intervals",-1)),i("span",dd,b(C.intervalCount),1)])])):te("",!0)],10,xu)}),128)),y.value.length?te("",!0):(S(),T("div",fd,b(xt(s)?"No composables recorded yet.":"Waiting for connection to the Nuxt app…"),1))]),ke(On,{name:"slide"},{default:Ds(()=>[J.value?(S(),T("div",pd,[i("div",hd,[i("span",vd,b(J.value),1),i("span",md,"— "+b(Y.value.length)+" instance"+b(Y.value.length!==1?"s":""),1),i("button",{class:"clear-btn",style:{"margin-left":"auto"},onClick:O[6]||(O[6]=C=>J.value=null)},"✕")]),Y.value.length?te("",!0):(S(),T("div",gd,"No mounted instances expose this key.")),(S(!0),T(ae,null,be(Y.value,C=>(S(),T("div",{key:C.id,class:"lookup-row"},[i("span",_d,b(C.name),1),i("span",bd,b(r(C.componentFile)),1),i("span",yd,b(C.route),1)]))),128))])):te("",!0)]),_:1}),ke(On,{name:"fade"},{default:Ds(()=>[I.value?(S(),T("div",{key:0,class:"edit-overlay",onClick:O[10]||(O[10]=ls(C=>I.value=null,["self"]))},[i("div",xd,[i("div",wd,[O[27]||(O[27]=Me(" edit ",-1)),i("span",$d,b(I.value.key),1),i("button",{class:"clear-btn",style:{"margin-left":"auto"},onClick:O[7]||(O[7]=C=>I.value=null)},"✕")]),O[28]||(O[28]=i("p",{class:"muted text-sm",style:{padding:"4px 0 8px"}},[Me(" Value applied immediately to the live ref. Only "),i("span",{class:"mono"},"ref"),Me(" values are writable. ")],-1)),Lt(i("textarea",{"onUpdate:modelValue":O[8]||(O[8]=C=>I.value.rawValue=C),class:"edit-textarea",rows:"6",spellcheck:"false"},null,512),[[Yt,I.value.rawValue]]),E.value?(S(),T("div",Cd,b(E.value),1)):te("",!0),i("div",kd,[i("button",{onClick:ue},"apply"),i("button",{class:"clear-btn",onClick:O[9]||(O[9]=C=>I.value=null)},"cancel")])])])):te("",!0)]),_:1})]))}}),Td=Zt(Sd,[["__scopeId","data-v-47ca40b0"]]),Md={class:"view"},Ed={class:"controls"},Od={class:"mode-group"},Ad={class:"threshold-group"},Id=["min","max","step"],Pd={class:"mono text-sm"},Fd=["value"],Ld={class:"stats-row"},Nd={class:"stat-card"},Rd={class:"stat-val"},jd={class:"stat-card"},Dd={class:"stat-val"},Hd={class:"stat-card"},Vd={class:"stat-val",style:{color:"var(--red)"}},Ud={class:"stat-card"},Bd={class:"stat-val"},Kd={class:"inspector"},Wd={class:"roots-panel"},zd=["onClick"],qd={class:"root-copy"},Jd={class:"root-label mono"},Gd={class:"root-sub muted mono"},Yd={class:"root-meta mono"},Qd={key:0,class:"detail-empty"},Xd={class:"tree-panel"},Zd={class:"tree-toolbar"},ef=["value"],tf={class:"tree-frame"},sf={class:"tree-canvas"},nf={key:0,class:"detail-empty"},of={class:"detail-panel"},lf={class:"detail-header"},rf={class:"mono bold",style:{"font-size":"12px"}},af={class:"detail-pill-row"},cf={class:"detail-pill mono"},uf={class:"detail-pill mono muted"},df={key:0,class:"detail-pill mono"},ff={key:1,class:"detail-pill mono persistent"},pf={key:2,class:"detail-pill mono hydrated"},hf={class:"detail-pill mono"},vf={class:"meta-grid"},mf={class:"mono text-sm"},gf={class:"mono text-sm"},_f={class:"mono text-sm muted",style:{display:"flex","align-items":"center",gap:"6px"}},bf={class:"mono text-sm"},yf={class:"mono text-sm"},xf={class:"mono text-sm"},wf={class:"meta-grid"},$f={class:"mono text-sm"},Cf={class:"mono text-sm"},kf={class:"mono text-sm"},Sf={class:"mono text-sm"},Tf={class:"mono text-sm"},Mf={class:"mono text-sm"},Ef={class:"mono text-sm"},Of={key:0,class:"muted text-sm"},Af={class:"section-label",style:{"margin-top":"8px"}},If={class:"muted",style:{"font-weight":"400","text-transform":"none","letter-spacing":"0"}},Pf={key:1,class:"muted text-sm"},Ff={key:2,class:"timeline-list"},Lf={class:"timeline-time mono muted"},Nf={class:"timeline-dur mono"},Rf={key:0,class:"timeline-trigger mono muted"},jf={class:"timeline-route mono muted",style:{"margin-left":"auto"}},Df={key:0,class:"muted text-sm",style:{padding:"2px 0"}},Hf={key:1,class:"detail-empty"},Vf=Nt({__name:"RenderHeatmap",setup(e){const t=Nt({name:"TreeNode",props:{node:Object,mode:String,threshold:Number,selected:String,expandedIds:Object},emits:["select","toggle"],setup(f,{emit:p}){function k(z){return f.mode==="count"?z.rerenders+z.mountCount:z.avgMs}function q(z){return k(z)>=f.threshold}function U(z){return{selected:f.selected===z.id,hot:q(z)}}return()=>{var Ve,es,ts;const z=f.node,fe=((Ve=f.expandedIds)==null?void 0:Ve.has(z.id))??!1,xe=z.children.length>0,Be=f.mode==="count"?`${z.rerenders+z.mountCount}`:`${z.avgMs.toFixed(1)}ms`,Ct=f.mode==="count"?"renders":"avg",gt=[],Ae=(es=z.element)==null?void 0:es.toLowerCase();if(z.element&&z.element!==z.label&&!["div","span","p"].includes(Ae??"")&>.push(z.element),z.file!=="unknown"){const je=((ts=z.file.split("/").pop())==null?void 0:ts.replace(/\.vue$/i,""))??z.file;je!==z.label&&!gt.includes(je)&>.push(je)}return Se("div",{class:"tree-node"},[Se("div",{class:["tree-row",U(z)],style:{"--tree-depth":String(z.depth)},onClick:je=>{je.stopPropagation(),p("select",z)}},[Se("span",{class:"tree-rail","aria-hidden":"true"}),Se("button",{class:["tree-toggle",{empty:!xe}],disabled:!xe,onClick:je=>{je.stopPropagation(),xe&&p("toggle",z.id)}},xe?fe?"⌄":"›":""),Se("div",{class:"tree-copy"},[Se("span",{class:"tree-name mono",title:z.label},z.label),gt.length?Se("div",{class:"tree-badges"},gt.slice(0,1).map(je=>Se("span",{class:"tree-badge mono",title:je},je))):null]),Se("div",{class:"tree-metrics mono"},[z.isPersistent?Se("span",{class:"tree-persistent-pill",title:"Layout / persistent component — survives navigation"},"persistent"):null,z.isHydrationMount?Se("span",{class:"tree-hydration-pill",title:"First mount was SSR hydration — not a user-triggered render"},"hydrated"):null,Se("span",{class:"tree-metric-pill"},`${Be} ${Ct}`),z.file&&z.file!=="unknown"?Se("button",{class:"tree-jump-btn",title:`Open ${z.file} in editor`,onClick:je=>{je.stopPropagation(),D(z.file)}},"↗"):null])]),fe&&xe?Se("div",{class:"tree-children"},z.children.map(je=>Se(t,{node:je,mode:f.mode,threshold:f.threshold,selected:f.selected,expandedIds:f.expandedIds,onSelect:ln=>p("select",ln),onToggle:ln=>p("toggle",ln)}))):null])}}}),{renders:s,connected:n}=Xt(),o=re("count"),l=re(""),r=re(3),a=re(16),c=ie({get:()=>o.value==="count"?r.value:a.value,set:f=>{o.value==="count"?r.value=f:a.value=f}}),v=re(!1),d=re(!1),g=re(""),M=re(null),y=re(null),x=re(new Set),N=re([]),J=re(!1);function Y(f){var k;if(f.name&&f.name!=="unknown"&&!/^Component#\d+$/.test(f.name))return f.name;if(f.element)return f.element;const p=(k=f.file.split("/").pop())==null?void 0:k.replace(/\.vue$/i,"");return p&&p!=="unknown"?p:f.name&&f.name!=="unknown"?f.name:`Component#${f.uid}`}function B(f){return`${f.type}: ${f.key}`}function I(f){const p=new Map;for(const U of f)p.set(String(U.uid),{id:String(U.uid),label:Y(U),file:U.file,element:U.element,depth:0,path:[],rerenders:U.rerenders??0,mountCount:U.mountCount??1,avgMs:U.avgMs,triggers:U.triggers.map(B),timeline:U.timeline??[],children:[],parentId:U.parentUid!==void 0?String(U.parentUid):void 0,isPersistent:!!U.isPersistent,isHydrationMount:!!U.isHydrationMount,route:U.route??"/"});const k=[];for(const U of f){const z=p.get(String(U.uid));if(!z)continue;const fe=U.parentUid!==void 0?p.get(String(U.parentUid)):void 0;fe?(z.parentLabel=fe.label,fe.children.push(z)):k.push(z)}function q(U,z=[],fe=0){U.depth=fe,U.path=[...z,U.label],U.children.forEach(xe=>q(xe,U.path,fe+1))}return k.forEach(U=>q(U)),k}function E(f){const p=[];function k(q){p.push(q),q.children.forEach(k)}return f.forEach(k),p}function R(f){return 1+f.children.reduce((p,k)=>p+R(k),0)}function ue(f,p=new Set){return p.add(f.id),f.children.forEach(k=>ue(k,p)),p}function H(f,p,k=[]){const q=[...k,f.id];if(f.id===p)return q;for(const U of f.children){const z=H(U,p,q);if(z)return z}return null}function O(f){if(m(f))return f;for(const p of f.children){const k=O(p);if(k)return k}return null}function C(f){if(!f)return new Set;const p=new Set;function k(q){q.children.length>0&&(p.add(q.id),q.children.forEach(k))}return k(f),p}function oe(f,p){const k=C(f);if(!f||!p)return k;function q(U){const z=U.children.some(xe=>q(xe)),fe=_(U,p);return z&&k.add(U.id),fe||z}return q(f),k}function w(f){return o.value==="count"?f.rerenders+f.mountCount:f.avgMs}function m(f){return w(f)>=c.value}function _(f,p){if(!p)return!0;const k=p.toLowerCase();return f.label.toLowerCase().includes(k)||f.file.toLowerCase().includes(k)||f.path.some(q=>q.toLowerCase().includes(k))||f.triggers.some(q=>q.toLowerCase().includes(k))}function G(f,p){return p?_(f,p)||f.children.some(k=>G(k,p)):!0}function le(f){return m(f)||f.children.some(p=>le(p))}function ce(f){return!l.value||f.route===l.value?!0:f.timeline.some(p=>p.route===l.value)}function j(f){return ce(f)||f.children.some(p=>j(p))}function X(f,p){const k=G(f,p),q=!v.value||le(f),U=!l.value||j(f);return k&&q&&U}function ge(f,p){const k=f.children.map(fe=>ge(fe,p)).filter(fe=>fe!==null),q=!p||_(f,p)||k.length>0,U=!v.value||m(f)||k.length>0,z=!l.value||ce(f)||k.length>0;return!q||!U||!z?null:{...f,children:k}}const _e=ie(()=>d.value?N.value:s.value),Oe=ie(()=>I(_e.value)),Ne=ie(()=>new Map(Oe.value.map(f=>[f.id,f]))),Re=ie(()=>E(Oe.value)),qe=ie(()=>{const f=g.value.trim();return Oe.value.filter(p=>X(p,f))}),we=ie(()=>y.value?qe.value.find(f=>f.id===y.value)??Ne.value.get(y.value)??null:qe.value[0]??Oe.value[0]??null),Xe=ie(()=>{const f=g.value.trim();return we.value?ge(we.value,f):null}),$t=ie(()=>Xe.value?[Xe.value]:[]),jt=ie(()=>qe.value.map((f,p)=>({id:f.id,label:`App ${p+1}`,meta:`${R(f)} nodes`,root:f}))),Ts=ie(()=>{const f=new Set;for(const p of Re.value){p.route&&f.add(p.route);for(const k of p.timeline)k.route&&f.add(k.route)}return[...f].sort()}),ee=ie(()=>Re.value.find(f=>f.id===M.value)??null),Gn=ie(()=>Re.value.reduce((f,p)=>f+p.rerenders+p.mountCount,0)),u=ie(()=>Re.value.filter(f=>m(f)).length),h=ie(()=>{const f=Re.value.filter(p=>p.avgMs>0);return f.length?(f.reduce((p,k)=>p+k.avgMs,0)/f.length).toFixed(1):"0.0"});yt(Oe,f=>{if(!f.length){y.value=null,M.value=null,x.value=new Set,J.value=!1;return}const p=new Set(f.map(U=>U.id));(!y.value||!p.has(y.value))&&(y.value=f[0].id),M.value&&!Re.value.some(U=>U.id===M.value)&&(M.value=null);const k=new Set(Re.value.map(U=>U.id)),q=new Set([...x.value].filter(U=>k.has(U)));if(!J.value){x.value=C(we.value),J.value=!0;return}!g.value.trim()&&M.value&&we.value&&(H(we.value,M.value)??[]).forEach(z=>q.add(z)),x.value=q},{immediate:!0}),yt(g,f=>{if(!we.value)return;const p=f.trim();if(p){x.value=oe(we.value,p);return}if(M.value){const k=H(we.value,M.value);x.value=k?new Set(k):C(we.value);return}x.value=C(we.value)}),yt([v,c,o,qe],()=>{if(!v.value)return;const f=qe.value[0]??null;if(!f){M.value=null;return}const p=O(f);if(!p){M.value=null;return}y.value=f.id,M.value!==p.id&&(M.value=p.id),x.value=new Set(H(f,p.id)??[f.id])});function $(f){M.value=f.id;const p=Oe.value.find(k=>ue(k).has(f.id));p&&(y.value=p.id,x.value=new Set(H(p,f.id)??[p.id]))}function L(f){const p=new Set(x.value);p.has(f)?p.delete(f):p.add(f),x.value=p}function A(f){y.value=f.id,x.value=C(f),J.value=!0}function P(f){const p=f.target;g.value=(p==null?void 0:p.value)??""}function K(){if(d.value){d.value=!1,N.value=[];return}N.value=JSON.parse(JSON.stringify(s.value)),d.value=!0}function V(f){var p;return((p=f.split("/").pop())==null?void 0:p.replace(/\.vue$/i,""))??f}function D(f){var k;if(!f||f==="unknown")return;const p=vs();p&&((k=window.top)==null||k.postMessage({type:"observatory:open-in-editor",file:f},p))}function F(f){return f.path.join(" / ")}function Q(f){return f<1?"<1ms":`${f.toFixed(1)}ms`}function W(f){return`+${(f/1e3).toFixed(2)}s`}return(f,p)=>(S(),T("div",Md,[i("div",Ed,[i("div",Od,[i("button",{class:se({active:o.value==="count"}),onClick:p[0]||(p[0]=k=>o.value="count")},"render count",2),i("button",{class:se({active:o.value==="time"}),onClick:p[1]||(p[1]=k=>o.value="time")},"render time",2)]),i("div",Ad,[p[7]||(p[7]=i("span",{class:"muted text-sm"},"threshold",-1)),Lt(i("input",{"onUpdate:modelValue":p[2]||(p[2]=k=>c.value=k),type:"range",min:o.value==="count"?2:4,max:o.value==="count"?20:100,step:o.value==="count"?1:4,style:{width:"90px"}},null,8,Id),[[Yt,c.value,void 0,{number:!0}]]),i("span",Pd,b(c.value)+b(o.value==="count"?"+ renders":"ms+"),1)]),i("button",{class:se({active:v.value}),onClick:p[3]||(p[3]=k=>v.value=!v.value)},"hot only",2),Lt(i("select",{"onUpdate:modelValue":p[4]||(p[4]=k=>l.value=k),class:"route-select mono text-sm",title:"Filter by route"},[p[8]||(p[8]=i("option",{value:""},"all routes",-1)),(S(!0),T(ae,null,be(Ts.value,k=>(S(),T("option",{key:k,value:k},b(k),9,Fd))),128))],512),[[Ca,l.value]]),i("button",{class:se({active:d.value}),style:{"margin-left":"auto"},onClick:K},b(d.value?"unfreeze":"freeze snapshot"),3)]),i("div",Ld,[i("div",Nd,[p[9]||(p[9]=i("div",{class:"stat-label"},"components",-1)),i("div",Rd,b(Re.value.length),1)]),i("div",jd,[p[10]||(p[10]=i("div",{class:"stat-label"},"total renders",-1)),i("div",Dd,b(Gn.value),1)]),i("div",Hd,[p[11]||(p[11]=i("div",{class:"stat-label"},"hot",-1)),i("div",Vd,b(u.value),1)]),i("div",Ud,[p[12]||(p[12]=i("div",{class:"stat-label"},"avg time",-1)),i("div",Bd,b(h.value)+"ms",1)])]),i("div",Kd,[i("aside",Wd,[p[13]||(p[13]=i("div",{class:"panel-title"},"apps",-1)),(S(!0),T(ae,null,be(jt.value,k=>(S(),T("button",{key:k.id,class:se(["root-item",{active:y.value===k.id}]),onClick:q=>A(k.root)},[i("div",qd,[i("span",Jd,b(k.label),1),i("span",Gd,b(k.root.label),1)]),i("span",Yd,b(k.meta),1)],10,zd))),128)),jt.value.length?te("",!0):(S(),T("div",Qd,"no apps match"))]),i("section",Xd,[i("div",Zd,[i("input",{value:g.value,class:"search-input mono",placeholder:"Find components...",onInput:P},null,40,ef)]),i("div",tf,[i("div",sf,[(S(!0),T(ae,null,be($t.value,k=>{var q;return S(),Ot(xt(t),{key:k.id,node:k,mode:o.value,threshold:c.value,selected:(q=ee.value)==null?void 0:q.id,"expanded-ids":x.value,onSelect:$,onToggle:L},null,8,["node","mode","threshold","selected","expanded-ids"])}),128))]),$t.value.length?te("",!0):(S(),T("div",nf,b(xt(n)?"No render activity recorded yet.":"Waiting for connection to the Nuxt app…"),1))])]),i("aside",of,[ee.value?(S(),T(ae,{key:0},[i("div",lf,[i("span",rf,b(ee.value.label),1),i("button",{onClick:p[5]||(p[5]=k=>M.value=null)},"×")]),i("div",af,[i("span",cf,b(ee.value.rerenders+ee.value.mountCount)+" render"+b(ee.value.rerenders+ee.value.mountCount!==1?"s":""),1),i("span",uf,b(ee.value.mountCount)+" mount"+b(ee.value.mountCount!==1?"s":""),1),ee.value.rerenders?(S(),T("span",df,b(ee.value.rerenders)+" re-render"+b(ee.value.rerenders!==1?"s":""),1)):te("",!0),ee.value.isPersistent?(S(),T("span",ff,"persistent")):te("",!0),ee.value.isHydrationMount?(S(),T("span",pf,"hydrated")):te("",!0),i("span",hf,b(ee.value.avgMs.toFixed(1))+"ms avg",1),i("span",{class:se(["detail-pill mono",{hot:m(ee.value)}])},b(m(ee.value)?"hot":"cool"),3)]),p[29]||(p[29]=i("div",{class:"section-label"},"identity",-1)),i("div",vf,[p[14]||(p[14]=i("span",{class:"muted text-sm"},"label",-1)),i("span",mf,b(ee.value.label),1),p[15]||(p[15]=i("span",{class:"muted text-sm"},"path",-1)),i("span",gf,b(F(ee.value)),1),p[16]||(p[16]=i("span",{class:"muted text-sm"},"file",-1)),i("span",_f,[Me(b(ee.value.file)+" ",1),ee.value.file&&ee.value.file!=="unknown"?(S(),T("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:p[6]||(p[6]=k=>D(ee.value.file))}," open ↗ ")):te("",!0)]),p[17]||(p[17]=i("span",{class:"muted text-sm"},"file name",-1)),i("span",bf,b(V(ee.value.file)),1),p[18]||(p[18]=i("span",{class:"muted text-sm"},"parent",-1)),i("span",yf,b(ee.value.parentLabel??"none"),1),p[19]||(p[19]=i("span",{class:"muted text-sm"},"children",-1)),i("span",xf,b(ee.value.children.length),1)]),p[30]||(p[30]=i("div",{class:"section-label"},"rendering",-1)),i("div",wf,[p[20]||(p[20]=i("span",{class:"muted text-sm"},"total renders",-1)),i("span",$f,b(ee.value.rerenders+ee.value.mountCount),1),p[21]||(p[21]=i("span",{class:"muted text-sm"},"re-renders",-1)),i("span",Cf,b(ee.value.rerenders),1),p[22]||(p[22]=i("span",{class:"muted text-sm"},"mounts",-1)),i("span",kf,b(ee.value.mountCount),1),p[23]||(p[23]=i("span",{class:"muted text-sm"},"persistent",-1)),i("span",{class:"mono text-sm",style:Ce({color:ee.value.isPersistent?"var(--amber)":"inherit"})},b(ee.value.isPersistent?"yes — survives navigation":"no"),5),p[24]||(p[24]=i("span",{class:"muted text-sm"},"hydration mount",-1)),i("span",Sf,b(ee.value.isHydrationMount?"yes — SSR hydrated":"no"),1),p[25]||(p[25]=i("span",{class:"muted text-sm"},"avg render time",-1)),i("span",Tf,b(ee.value.avgMs.toFixed(1))+"ms",1),p[26]||(p[26]=i("span",{class:"muted text-sm"},"threshold",-1)),i("span",Mf,b(c.value)+b(o.value==="count"?"+ renders":"ms+"),1),p[27]||(p[27]=i("span",{class:"muted text-sm"},"mode",-1)),i("span",Ef,b(o.value==="count"?"re-render count":"render time"),1)]),p[31]||(p[31]=i("div",{class:"section-label"},"triggers",-1)),(S(!0),T(ae,null,be(ee.value.triggers,k=>(S(),T("div",{key:k,class:"trigger-item mono text-sm"},b(k),1))),128)),ee.value.triggers.length?te("",!0):(S(),T("div",Of,"no triggers recorded")),i("div",Af,[p[28]||(p[28]=Me(" render timeline ",-1)),i("span",If," ("+b(ee.value.timeline.length)+") ",1)]),ee.value.timeline.length?(S(),T("div",Ff,[(S(!0),T(ae,null,be([...ee.value.timeline].reverse().slice(0,30),(k,q)=>(S(),T("div",{key:q,class:"timeline-row"},[i("span",{class:se(["timeline-kind mono",k.kind])},b(k.kind),3),i("span",Lf,b(W(k.t)),1),i("span",Nf,b(Q(k.durationMs)),1),k.triggerKey?(S(),T("span",Rf,b(k.triggerKey),1)):te("",!0),i("span",jf,b(k.route),1)]))),128)),ee.value.timeline.length>30?(S(),T("div",Df," … "+b(ee.value.timeline.length-30)+" earlier events ",1)):te("",!0)])):(S(),T("div",Pf,"no timeline events yet"))],64)):(S(),T("div",Hf,"click a component to inspect"))])])]))}}),Uf=Zt(Vf,[["__scopeId","data-v-6dbeb710"]]),Bf={class:"timeline-root"},Kf={class:"stats-row"},Wf={class:"stat-card"},zf={class:"stat-val"},qf={class:"stat-card"},Jf={class:"stat-val",style:{color:"var(--purple)"}},Gf={class:"stat-card"},Yf={class:"stat-val",style:{color:"var(--red)"}},Qf={class:"stat-card"},Xf={class:"stat-val"},Zf={class:"toolbar"},ep={class:"filter-group"},tp={class:"content-area"},sp={class:"data-table"},np=["onClick"],op={class:"mono",style:{"font-size":"11px","font-weight":"500"}},lp={class:"mono",style:{"font-size":"11px",color:"var(--text2)"}},ip={class:"muted",style:{"font-size":"11px"}},rp={class:"bar-cell"},ap={class:"bar-track"},cp={key:0},up={colspan:"6",style:{"text-align":"center",color:"var(--text3)",padding:"24px"}},dp={key:0,class:"detail-panel"},fp={class:"panel-header"},pp={class:"panel-title"},hp={class:"panel-section"},vp={class:"panel-row"},mp={class:"panel-row"},gp={class:"panel-row"},_p={class:"panel-val mono"},bp={key:0,class:"panel-row"},yp={class:"panel-val mono"},xp={class:"panel-section"},wp={class:"panel-row"},$p={class:"panel-val mono"},Cp={class:"panel-row"},kp={class:"panel-val mono"},Sp={class:"panel-row"},Tp={class:"panel-val mono",style:{"font-weight":"500"}},Mp={class:"panel-section"},Ep={class:"panel-row"},Op={class:"panel-row"},Ap={key:0,class:"cancel-notice"},Ip={key:1,class:"active-notice"},Pp=Nt({__name:"TransitionTimeline",setup(e){const{transitions:t,connected:s}=Xt(),n=re("all"),o=re(""),l=re(null),r=ie(()=>{let y=[...t.value];if(o.value){const x=o.value.toLowerCase();y=y.filter(N=>N.transitionName.toLowerCase().includes(x)||N.parentComponent.toLowerCase().includes(x))}return n.value==="cancelled"?y=y.filter(x=>x.cancelled||x.phase==="interrupted"):n.value==="active"?y=y.filter(x=>x.phase==="entering"||x.phase==="leaving"):n.value==="completed"&&(y=y.filter(x=>x.phase==="entered"||x.phase==="left")),y.sort((x,N)=>{const J=x.endTime??x.startTime;return(N.endTime??N.startTime)-J})}),a=ie(()=>({total:t.value.length,active:t.value.filter(y=>y.phase==="entering"||y.phase==="leaving").length,cancelled:t.value.filter(y=>y.cancelled||y.phase==="interrupted").length,avgMs:(()=>{const y=t.value.filter(x=>x.durationMs!==void 0);return y.length?Math.round(y.reduce((x,N)=>x+(N.durationMs??0),0)/y.length):0})()})),c=ie(()=>{const y=r.value;if(!y.length)return[];const x=y.reduce((Y,B)=>Math.min(Y,B.startTime),y[0].startTime),N=y.reduce((Y,B)=>Math.max(Y,B.endTime??B.startTime+400),0),J=Math.max(N-x,1);return y.map(Y=>({left:(Y.startTime-x)/J*100,width:((Y.endTime??Y.startTime+80)-Y.startTime)/J*100}))});function v(y){return y==="entering"||y==="leaving"?"#7f77dd":y==="entered"?"#1d9e75":y==="left"?"#378add":y==="enter-cancelled"||y==="leave-cancelled"?"#e24b4a":y==="interrupted"?"#e09a3a":"#888"}function d(y){return y==="entering"||y==="leaving"?"badge-purple":y==="entered"||y==="left"?"badge-ok":y.includes("cancelled")?"badge-err":y==="interrupted"?"badge-warn":"badge-gray"}function g(y){return y.appear?"✦ appear":y.direction==="enter"?"→ enter":"← leave"}function M(y){return y.appear?"var(--amber)":y.direction==="enter"?"var(--teal)":"var(--blue)"}return(y,x)=>(S(),T("div",Bf,[i("div",Kf,[i("div",Wf,[i("div",zf,b(a.value.total),1),x[6]||(x[6]=i("div",{class:"stat-label"},"total",-1))]),i("div",qf,[i("div",Jf,b(a.value.active),1),x[7]||(x[7]=i("div",{class:"stat-label"},"active",-1))]),i("div",Gf,[i("div",Yf,b(a.value.cancelled),1),x[8]||(x[8]=i("div",{class:"stat-label"},"cancelled",-1))]),i("div",Qf,[i("div",Xf,[Me(b(a.value.avgMs)+" ",1),x[9]||(x[9]=i("span",{class:"stat-unit"},"ms",-1))]),x[10]||(x[10]=i("div",{class:"stat-label"},"avg duration",-1))])]),i("div",Zf,[Lt(i("input",{"onUpdate:modelValue":x[0]||(x[0]=N=>o.value=N),type:"search",placeholder:"filter by name or component…",class:"search-input"},null,512),[[Yt,o.value]]),i("div",ep,[i("button",{class:se({active:n.value==="all"}),onClick:x[1]||(x[1]=N=>n.value="all")},"All",2),i("button",{class:se({active:n.value==="active"}),onClick:x[2]||(x[2]=N=>n.value="active")},"Active",2),i("button",{class:se({active:n.value==="completed"}),onClick:x[3]||(x[3]=N=>n.value="completed")},"Completed",2),i("button",{class:se({active:n.value==="cancelled","danger-active":n.value==="cancelled"}),onClick:x[4]||(x[4]=N=>n.value="cancelled")}," Cancelled ",2)])]),i("div",tp,[i("div",{class:se(["table-pane",{"has-panel":l.value}])},[i("table",sp,[x[11]||(x[11]=i("thead",null,[i("tr",null,[i("th",{style:{width:"110px"}},"NAME"),i("th",{style:{width:"80px"}},"DIR"),i("th",{style:{width:"90px"}},"PHASE"),i("th",{style:{width:"70px"}},"DURATION"),i("th",null,"COMPONENT"),i("th",null,"TIMELINE")])],-1)),i("tbody",null,[(S(!0),T(ae,null,be(r.value,(N,J)=>{var Y,B,I;return S(),T("tr",{key:N.id,class:se({selected:((Y=l.value)==null?void 0:Y.id)===N.id}),onClick:E=>{var R;return l.value=((R=l.value)==null?void 0:R.id)===N.id?null:N}},[i("td",null,[i("span",op,b(N.transitionName),1)]),i("td",null,[i("span",{class:"mono",style:Ce([{"font-size":"11px"},{color:M(N)}])},b(g(N)),5)]),i("td",null,[i("span",{class:se(["badge",d(N.phase)])},b(N.phase),3)]),i("td",lp,b(N.durationMs!==void 0?N.durationMs+"ms":"—"),1),i("td",ip,b(N.parentComponent),1),i("td",rp,[i("div",ap,[i("div",{class:"bar-fill",style:Ce({left:((B=c.value[J])==null?void 0:B.left)+"%",width:Math.max(((I=c.value[J])==null?void 0:I.width)??1,1)+"%",background:v(N.phase),opacity:N.phase==="entering"||N.phase==="leaving"?"0.55":"1"})},null,4)])])],10,np)}),128)),r.value.length?te("",!0):(S(),T("tr",cp,[i("td",up,b(xt(s)?"No transitions recorded yet — trigger one on the page.":"Waiting for connection to the Nuxt app…"),1)]))])])],2),ke(On,{name:"panel-slide"},{default:Ds(()=>[l.value?(S(),T("aside",dp,[i("div",fp,[i("span",pp,b(l.value.transitionName),1),i("button",{class:"close-btn",onClick:x[5]||(x[5]=N=>l.value=null)},"✕")]),i("div",hp,[i("div",vp,[x[12]||(x[12]=i("span",{class:"panel-key"},"Direction",-1)),i("span",{class:"panel-val",style:Ce({color:M(l.value)})},b(g(l.value)),5)]),i("div",mp,[x[13]||(x[13]=i("span",{class:"panel-key"},"Phase",-1)),i("span",{class:se(["badge",d(l.value.phase)])},b(l.value.phase),3)]),i("div",gp,[x[14]||(x[14]=i("span",{class:"panel-key"},"Component",-1)),i("span",_p,b(l.value.parentComponent),1)]),l.value.mode?(S(),T("div",bp,[x[15]||(x[15]=i("span",{class:"panel-key"},"Mode",-1)),i("span",yp,b(l.value.mode),1)])):te("",!0)]),i("div",xp,[x[19]||(x[19]=i("div",{class:"panel-section-title"},"Timing",-1)),i("div",wp,[x[16]||(x[16]=i("span",{class:"panel-key"},"Start",-1)),i("span",$p,b(l.value.startTime.toFixed(2))+"ms",1)]),i("div",Cp,[x[17]||(x[17]=i("span",{class:"panel-key"},"End",-1)),i("span",kp,b(l.value.endTime!==void 0?l.value.endTime.toFixed(2)+"ms":"—"),1)]),i("div",Sp,[x[18]||(x[18]=i("span",{class:"panel-key"},"Duration",-1)),i("span",Tp,b(l.value.durationMs!==void 0?l.value.durationMs+"ms":l.value.phase==="interrupted"?"interrupted":"in progress"),1)])]),i("div",Mp,[x[22]||(x[22]=i("div",{class:"panel-section-title"},"Flags",-1)),i("div",Ep,[x[20]||(x[20]=i("span",{class:"panel-key"},"Appear",-1)),i("span",{class:"panel-val",style:Ce({color:l.value.appear?"var(--amber)":"var(--text3)"})},b(l.value.appear?"yes":"no"),5)]),i("div",Op,[x[21]||(x[21]=i("span",{class:"panel-key"},"Cancelled",-1)),i("span",{class:"panel-val",style:Ce({color:l.value.cancelled?"var(--red)":"var(--text3)"})},b(l.value.cancelled?"yes":"no"),5)])]),l.value.cancelled?(S(),T("div",Ap,[...x[23]||(x[23]=[Me(" This transition was cancelled mid-flight. The element may be stuck in a partial animation state if the interruption was not handled with ",-1),i("code",null,"onEnterCancelled",-1),Me(" / ",-1),i("code",null,"onLeaveCancelled",-1),Me(" . ",-1)])])):te("",!0),l.value.phase==="entering"||l.value.phase==="leaving"?(S(),T("div",Ip,[...x[24]||(x[24]=[Me(" Transition is currently in progress. If it stays in this state longer than expected, the ",-1),i("code",null,"done()",-1),Me(" callback may not be getting called (JS-mode transition stall). ",-1)])])):te("",!0)])):te("",!0)]),_:1})])]))}}),Fp=Zt(Pp,[["__scopeId","data-v-da869dac"]]),Lp={id:"app-root"},Np={class:"tabbar"},Rp=["onClick"],jp={class:"tab-icon"},Dp={class:"tab-content"},Hp=Nt({__name:"App",setup(e){const t={fetch:"fetch",provide:"provide",composables:"composable",heatmap:"heatmap",transitions:"transitions"},s=window.location.pathname.split("/").filter(Boolean).pop()??"",n=re(t[s]??"fetch"),{features:o}=Xt(),l=ie(()=>{const r=o.value||{};return[r.fetchDashboard&&{id:"fetch",label:"useFetch",icon:"⬡"},r.provideInjectGraph&&{id:"provide",label:"provide/inject",icon:"⬡"},r.composableTracker&&{id:"composable",label:"Composables",icon:"⬡"},r.renderHeatmap&&{id:"heatmap",label:"Heatmap",icon:"⬡"},r.transitionTracker&&{id:"transitions",label:"Transitions",icon:"⬡"}].filter(Boolean)});return(r,a)=>(S(),T("div",Lp,[i("nav",Np,[a[0]||(a[0]=i("div",{class:"tabbar-brand"},"observatory",-1)),(S(!0),T(ae,null,be(l.value,c=>(S(),T("button",{key:c.id,class:se(["tab-btn",{active:n.value===c.id}]),onClick:v=>n.value=c.id},[i("span",jp,b(c.icon),1),Me(" "+b(c.label),1)],10,Rp))),128))]),i("main",Dp,[n.value==="fetch"?(S(),Ot($c,{key:0})):n.value==="provide"?(S(),Ot(au,{key:1})):n.value==="composable"?(S(),Ot(Td,{key:2})):n.value==="heatmap"?(S(),Ot(Uf,{key:3})):n.value==="transitions"?(S(),Ot(Fp,{key:4})):te("",!0)])]))}}),Vp=Zt(Hp,[["__scopeId","data-v-eb11fcff"]]);Ea(Vp).mount("#app");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.view[data-v-4d69a232]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.stats-row[data-v-4d69a232]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.toolbar[data-v-4d69a232]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.split[data-v-4d69a232]{display:flex;gap:12px;flex:1;overflow:hidden;min-height:0}.table-wrap[data-v-4d69a232]{flex:1;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg)}.detail-panel[data-v-4d69a232]{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3)}.detail-empty[data-v-4d69a232]{width:280px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;border:.5px dashed var(--border);border-radius:var(--radius-lg)}.detail-header[data-v-4d69a232]{display:flex;align-items:center;justify-content:space-between}.meta-grid[data-v-4d69a232]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px}.section-label[data-v-4d69a232]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:6px;min-height:fit-content}.payload-box[data-v-4d69a232]{font-family:var(--mono);font-size:11px;color:var(--text2);background:var(--bg2);border-radius:var(--radius);padding:8px 10px;overflow:auto;white-space:pre;max-height:160px}.waterfall[data-v-4d69a232]{flex-shrink:0;background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px}.waterfall-header[data-v-4d69a232]{display:flex;align-items:center;justify-content:space-between;gap:8px}.waterfall-body[data-v-4d69a232]{margin-top:6px}.wf-row[data-v-4d69a232]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wf-track[data-v-4d69a232]{flex:1;position:relative;height:8px;background:var(--bg2);border-radius:2px;overflow:hidden}.wf-bar[data-v-4d69a232]{position:absolute;top:0;height:100%;border-radius:2px;opacity:.8}.view[data-v-0c07531b]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.toolbar[data-v-0c07531b]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.split[data-v-0c07531b]{display:flex;gap:12px;flex:1;overflow:hidden;min-height:0}.graph-area[data-v-0c07531b]{flex:1;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3)}.legend[data-v-0c07531b]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text2);margin-bottom:12px}.canvas-stage[data-v-0c07531b]{display:flex;justify-content:center;align-items:flex-start;min-width:100%}.dot[data-v-0c07531b]{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px}.canvas-wrap[data-v-0c07531b]{position:relative}.edges-svg[data-v-0c07531b]{position:absolute;top:0;left:0;pointer-events:none}.edge[data-v-0c07531b]{stroke:var(--border);stroke-width:1.5}.graph-node[data-v-0c07531b]{position:absolute;display:flex;align-items:center;gap:7px;padding:0 10px;height:32px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--bg3);cursor:pointer;transition:border-color .12s,background .12s;overflow:hidden;box-sizing:border-box;white-space:nowrap}.graph-node[data-v-0c07531b]:hover{border-color:var(--text3)}.graph-node.is-selected[data-v-0c07531b]{border-color:var(--node-color);background:color-mix(in srgb,var(--node-color) 8%,transparent)}.node-dot[data-v-0c07531b]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.node-label[data-v-0c07531b]{font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis}.badge-xs[data-v-0c07531b]{font-size:9px;padding:1px 4px}.detail-panel[data-v-0c07531b]{width:280px;flex-shrink:0;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg3);display:flex;flex-direction:column;gap:4px;min-height:0}.detail-empty[data-v-0c07531b]{width:280px;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:12px;border:.5px dashed var(--border);border-radius:var(--radius-lg);flex-shrink:0}.graph-empty[data-v-0c07531b]{display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--text3);font-size:12px}.detail-header[data-v-0c07531b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.section-label[data-v-0c07531b]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin:8px 0 5px}.detail-section[data-v-0c07531b]{display:flex;flex-direction:column;min-height:0}.detail-list[data-v-0c07531b]{display:flex;flex-direction:column;gap:3px;overflow:auto;max-height:220px;padding-right:2px}.provide-row[data-v-0c07531b]{display:flex;flex-direction:column;gap:4px;padding:5px 8px;background:var(--bg2);border-radius:var(--radius);margin-bottom:3px}.row-warning[data-v-0c07531b]{font-size:11px;color:var(--amber);padding:2px 0}.row-consumers[data-v-0c07531b]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0}.consumer-chip[data-v-0c07531b]{font-size:10px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--blue) 10%,var(--bg3));border:.5px solid color-mix(in srgb,var(--blue) 30%,var(--border));color:var(--text2)}.scope-badge[data-v-0c07531b]{font-size:10px;padding:1px 6px;border-radius:4px}.scope-global[data-v-0c07531b]{background:color-mix(in srgb,var(--amber) 15%,transparent);border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border));color:color-mix(in srgb,var(--amber) 80%,var(--text))}.scope-layout[data-v-0c07531b]{background:color-mix(in srgb,var(--purple) 15%,transparent);border:.5px solid color-mix(in srgb,var(--purple) 40%,var(--border));color:color-mix(in srgb,var(--purple) 80%,var(--text))}.scope-component[data-v-0c07531b]{background:var(--bg3);border:.5px solid var(--border);color:var(--text3)}.row-main[data-v-0c07531b]{display:flex;align-items:center;gap:8px;min-width:0}.row-key[data-v-0c07531b]{min-width:100px;color:var(--text2);flex-shrink:0}.row-value-preview[data-v-0c07531b]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-toggle[data-v-0c07531b]{padding:2px 8px;font-size:10px}.value-box[data-v-0c07531b]{font-family:var(--mono);font-size:11px;color:var(--text2);background:#0000001a;border-radius:var(--radius);padding:8px 10px;white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:180px}.inject-row[data-v-0c07531b]{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg2);border-radius:var(--radius);margin-bottom:3px}.row-from[data-v-0c07531b]{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inject-miss[data-v-0c07531b]{background:#e24b4a14}.jump-btn[data-v-0c07531b]{font-size:10px;padding:1px 6px;border:.5px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text3);cursor:pointer;flex-shrink:0;font-family:var(--mono)}.jump-btn[data-v-0c07531b]:hover{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,transparent)}.view[data-v-47ca40b0]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.stats-row[data-v-47ca40b0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.toolbar[data-v-47ca40b0]{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.clear-btn[data-v-47ca40b0]{color:var(--text3);border-color:var(--border);flex-shrink:0}.clear-btn[data-v-47ca40b0]:hover{color:var(--red);border-color:var(--red);background:transparent}.list[data-v-47ca40b0]{flex:1;overflow:auto;display:flex;flex-direction:column;gap:5px;min-height:0}.comp-card[data-v-47ca40b0]{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;flex-shrink:0}.comp-card[data-v-47ca40b0]:hover{border-color:var(--text3)}.comp-card.leak[data-v-47ca40b0]{border-left:2px solid var(--red);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.comp-card.expanded[data-v-47ca40b0]{border-color:var(--purple)}.comp-header[data-v-47ca40b0]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:8px}.comp-identity[data-v-47ca40b0]{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1}.comp-name[data-v-47ca40b0]{font-size:12px;font-weight:500;color:var(--text);flex-shrink:0}.comp-file[data-v-47ca40b0]{font-size:11px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-meta[data-v-47ca40b0]{display:flex;align-items:center;gap:5px;flex-shrink:0}.refs-preview[data-v-47ca40b0]{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px;align-items:center}.ref-chip[data-v-47ca40b0]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;background:var(--bg2);border:.5px solid var(--border);font-size:11px;font-family:var(--mono);max-width:220px;overflow:hidden}.ref-chip--reactive[data-v-47ca40b0]{border-color:color-mix(in srgb,var(--purple) 40%,var(--border));background:color-mix(in srgb,var(--purple) 8%,var(--bg2))}.ref-chip--computed[data-v-47ca40b0]{border-color:color-mix(in srgb,var(--blue) 40%,var(--border));background:color-mix(in srgb,var(--blue) 8%,var(--bg2))}.ref-chip-key[data-v-47ca40b0]{color:var(--text2);flex-shrink:0}.ref-chip-val[data-v-47ca40b0]{color:var(--teal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-detail[data-v-47ca40b0]{padding:4px 12px 12px;border-top:.5px solid var(--border);display:flex;flex-direction:column;gap:3px}.leak-banner[data-v-47ca40b0]{background:color-mix(in srgb,var(--red) 12%,transparent);border:.5px solid color-mix(in srgb,var(--red) 40%,var(--border));border-radius:var(--radius);padding:6px 10px;font-size:11px;color:var(--red);margin-bottom:6px;font-family:var(--mono)}.section-label[data-v-47ca40b0]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:6px;margin-bottom:3px}.ref-row[data-v-47ca40b0]{display:flex;align-items:center;gap:8px;padding:3px 0}.ref-key[data-v-47ca40b0]{min-width:90px;color:var(--text2);flex-shrink:0}.ref-val[data-v-47ca40b0]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal)}.lc-row[data-v-47ca40b0]{display:flex;align-items:center;gap:8px;padding:2px 0}.lc-dot[data-v-47ca40b0]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ref-chip--shared[data-v-47ca40b0]{border-color:color-mix(in srgb,var(--amber) 50%,var(--border));background:color-mix(in srgb,var(--amber) 10%,var(--bg2))}.ref-chip-shared-dot[data-v-47ca40b0]{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-left:1px}.global-banner[data-v-47ca40b0]{display:flex;align-items:flex-start;gap:8px;background:color-mix(in srgb,var(--amber) 10%,transparent);border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border));border-radius:var(--radius);padding:7px 10px;font-size:11px;color:var(--text2);margin-bottom:6px}.global-dot[data-v-47ca40b0]{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:3px}.badge-amber[data-v-47ca40b0]{background:color-mix(in srgb,var(--amber) 15%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--text));border:.5px solid color-mix(in srgb,var(--amber) 40%,var(--border))}.history-list[data-v-47ca40b0]{display:flex;flex-direction:column;gap:1px;background:var(--bg2);border-radius:var(--radius);padding:4px 8px;max-height:180px;overflow-y:auto}.history-row[data-v-47ca40b0]{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:11px;font-family:var(--mono);border-bottom:.5px solid var(--border)}.history-row[data-v-47ca40b0]:last-child{border-bottom:none}.history-time[data-v-47ca40b0]{min-width:52px;color:var(--text3);flex-shrink:0}.history-key[data-v-47ca40b0]{min-width:80px;color:var(--text2);flex-shrink:0}.history-val[data-v-47ca40b0]{color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.stat-card[data-v-47ca40b0]{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px}.stat-label[data-v-47ca40b0]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-bottom:4px}.stat-val[data-v-47ca40b0]{font-size:22px;font-weight:500;line-height:1;color:var(--text)}.ref-key--clickable[data-v-47ca40b0]{cursor:pointer;text-decoration:underline dotted var(--text3);text-underline-offset:2px}.ref-key--clickable[data-v-47ca40b0]:hover{color:var(--purple);text-decoration-color:var(--purple)}.edit-btn[data-v-47ca40b0]{font-size:10px;padding:1px 6px;border-radius:var(--radius);border:.5px solid var(--border);background:transparent;color:var(--text3);cursor:pointer;margin-left:auto;flex-shrink:0;font-family:var(--mono)}.edit-btn[data-v-47ca40b0]:hover{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,transparent)}.lookup-panel[data-v-47ca40b0]{flex-shrink:0;border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--bg3);overflow:hidden}.lookup-header[data-v-47ca40b0]{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:.5px solid var(--border);background:var(--bg2)}.lookup-row[data-v-47ca40b0]{display:flex;align-items:center;gap:8px;padding:5px 12px;border-bottom:.5px solid var(--border)}.lookup-row[data-v-47ca40b0]:last-child{border-bottom:none}.edit-overlay[data-v-47ca40b0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center}.edit-dialog[data-v-47ca40b0]{background:var(--bg1, var(--bg2));border:.5px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;width:380px;max-width:92vw;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 32px #0000004d}.edit-dialog-header[data-v-47ca40b0]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);margin-bottom:2px}.edit-textarea[data-v-47ca40b0]{width:100%;font-family:var(--mono);font-size:12px;padding:8px 10px;background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);color:var(--text);resize:vertical;outline:none}.edit-textarea[data-v-47ca40b0]:focus{border-color:var(--purple)}.edit-error[data-v-47ca40b0]{color:var(--red);font-family:var(--mono)}.edit-actions[data-v-47ca40b0]{display:flex;gap:6px;padding-top:4px}.slide-enter-active[data-v-47ca40b0],.slide-leave-active[data-v-47ca40b0]{transition:opacity .15s,transform .15s}.slide-enter-from[data-v-47ca40b0],.slide-leave-to[data-v-47ca40b0]{opacity:0;transform:translateY(6px)}.fade-enter-active[data-v-47ca40b0],.fade-leave-active[data-v-47ca40b0]{transition:opacity .15s}.fade-enter-from[data-v-47ca40b0],.fade-leave-to[data-v-47ca40b0]{opacity:0}.jump-btn[data-v-47ca40b0]{font-size:10px;padding:1px 6px;border:.5px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text3);cursor:pointer;flex-shrink:0;font-family:var(--mono)}.jump-btn[data-v-47ca40b0]:hover{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,transparent)}.view[data-v-6dbeb710]{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:12px;gap:10px}.controls[data-v-6dbeb710]{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.mode-group[data-v-6dbeb710]{display:flex;gap:2px}.threshold-group[data-v-6dbeb710]{display:flex;align-items:center;gap:6px}.stats-row[data-v-6dbeb710]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0}.stat-sub[data-v-6dbeb710]{margin-top:4px;font-size:11px;color:var(--text3)}.inspector[data-v-6dbeb710]{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(260px,320px);gap:12px;flex:1;min-height:0}.roots-panel[data-v-6dbeb710],.tree-panel[data-v-6dbeb710],.detail-panel[data-v-6dbeb710]{border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--bg3);min-height:0}.roots-panel[data-v-6dbeb710],.detail-panel[data-v-6dbeb710]{display:flex;flex-direction:column;overflow:auto;padding:12px;gap:8px}.panel-title[data-v-6dbeb710]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3)}.root-item[data-v-6dbeb710]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);color:var(--text);text-align:left}.root-item.active[data-v-6dbeb710]{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,var(--bg2))}.root-label[data-v-6dbeb710]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.root-copy[data-v-6dbeb710]{display:flex;flex-direction:column;min-width:0}.root-sub[data-v-6dbeb710]{font-size:11px}.root-meta[data-v-6dbeb710]{color:var(--text3);font-size:11px}.tree-panel[data-v-6dbeb710]{display:flex;flex-direction:column;overflow:hidden}.tree-toolbar[data-v-6dbeb710]{padding:12px;border-bottom:.5px solid var(--border)}.search-input[data-v-6dbeb710]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);color:var(--text)}.tree-frame[data-v-6dbeb710]{flex:1;min-height:0;overflow:auto;padding:12px}[data-v-6dbeb710] .tree-canvas{display:inline-block;min-width:100%;width:max-content}[data-v-6dbeb710] .tree-node{margin-bottom:4px}[data-v-6dbeb710] .tree-row{display:grid;grid-template-columns:8px 18px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;width:100%;padding:4px 8px;padding-left:calc(8px + (var(--tree-depth, 0) * 16px));border:1px solid transparent;border-radius:var(--radius);cursor:pointer;white-space:nowrap}[data-v-6dbeb710] .tree-row:hover{background:var(--bg2)}[data-v-6dbeb710] .tree-row.selected{background:color-mix(in srgb,var(--teal) 12%,var(--bg2));border-color:var(--teal)}[data-v-6dbeb710] .tree-row.hot{box-shadow:inset 2px 0 0 var(--red)}[data-v-6dbeb710] .tree-toggle{width:16px;height:16px;border:none;background:transparent;color:var(--text3);padding:0;font-size:14px;display:inline-flex;align-items:center;justify-content:center}[data-v-6dbeb710] .tree-toggle:disabled{cursor:default}[data-v-6dbeb710] .tree-toggle.empty{opacity:0}[data-v-6dbeb710] .tree-rail{display:block;width:2px;height:14px;border-radius:999px;background:color-mix(in srgb,var(--border) 75%,transparent)}[data-v-6dbeb710] .tree-copy{display:flex;align-items:center;min-width:0;gap:6px;overflow:hidden}[data-v-6dbeb710] .tree-name{font-size:12px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}[data-v-6dbeb710] .tree-badges{display:flex;gap:6px;flex-shrink:0;overflow:hidden}[data-v-6dbeb710] .tree-badge{border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:10px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}[data-v-6dbeb710] .tree-metrics{display:flex;align-items:center;min-width:92px;justify-content:flex-end;flex-shrink:0;gap:6px}[data-v-6dbeb710] .tree-metric-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg2);font-size:10px;color:var(--text3)}[data-v-6dbeb710] .tree-persistent-pill{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--amber) 10%,var(--bg2));font-size:10px;color:color-mix(in srgb,var(--amber) 80%,var(--text))}[data-v-6dbeb710] .tree-hydration-pill{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid color-mix(in srgb,var(--teal) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--teal) 10%,var(--bg2));font-size:10px;color:color-mix(in srgb,var(--teal) 80%,var(--text))}[data-v-6dbeb710] .tree-children{margin-left:7px;padding-left:11px;border-left:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.detail-empty[data-v-6dbeb710]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text3);font-size:12px}.detail-header[data-v-6dbeb710]{display:flex;align-items:center;justify-content:space-between}.meta-grid[data-v-6dbeb710]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.detail-pill-row[data-v-6dbeb710]{display:flex;flex-wrap:wrap;gap:6px}.detail-pill[data-v-6dbeb710]{border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--bg2);font-size:11px}.detail-pill.hot[data-v-6dbeb710]{border-color:color-mix(in srgb,var(--red) 50%,var(--border));color:var(--red)}.detail-pill.persistent[data-v-6dbeb710]{border-color:color-mix(in srgb,var(--amber) 55%,var(--border));color:color-mix(in srgb,var(--amber) 80%,var(--text))}.detail-pill.hydrated[data-v-6dbeb710]{border-color:color-mix(in srgb,var(--teal) 55%,var(--border));color:color-mix(in srgb,var(--teal) 80%,var(--text))}.detail-pill.muted[data-v-6dbeb710]{color:var(--text3);border-color:var(--border)}.section-label[data-v-6dbeb710]{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-top:8px;margin-bottom:4px}.trigger-item[data-v-6dbeb710]{background:var(--bg2);border-radius:var(--radius);padding:4px 8px;margin-bottom:3px;color:var(--text2)}[data-v-6dbeb710] .tree-jump-btn{display:none;padding:0 4px;border:none;background:transparent;color:var(--text3);font-size:11px;cursor:pointer;line-height:1;flex-shrink:0}[data-v-6dbeb710] .tree-row:hover .tree-jump-btn,[data-v-6dbeb710] .tree-row.selected .tree-jump-btn{display:inline-flex}[data-v-6dbeb710] .tree-jump-btn:hover{color:var(--teal)}.jump-btn[data-v-6dbeb710]{font-size:10px;padding:1px 6px;border:.5px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text3);cursor:pointer;flex-shrink:0;font-family:var(--mono)}.jump-btn[data-v-6dbeb710]:hover{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,transparent)}.route-select[data-v-6dbeb710]{padding:3px 7px;border:.5px solid var(--border);border-radius:var(--radius);background:var(--bg2);color:var(--text);font-size:11px;cursor:pointer;max-width:140px}.timeline-list[data-v-6dbeb710]{display:flex;flex-direction:column;gap:1px;background:var(--bg2);border-radius:var(--radius);padding:4px 8px;max-height:200px;overflow-y:auto}.timeline-row[data-v-6dbeb710]{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:11px;border-bottom:.5px solid var(--border);min-width:0}.timeline-row[data-v-6dbeb710]:last-child{border-bottom:none}.timeline-kind[data-v-6dbeb710]{flex-shrink:0;font-size:10px;font-weight:500;min-width:40px}.timeline-kind.mount[data-v-6dbeb710]{color:var(--teal)}.timeline-kind.update[data-v-6dbeb710]{color:var(--amber)}.timeline-time[data-v-6dbeb710]{flex-shrink:0;min-width:52px;color:var(--text3)}.timeline-dur[data-v-6dbeb710]{flex-shrink:0;min-width:38px;color:var(--text2)}.timeline-trigger[data-v-6dbeb710]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text3);flex:1;min-width:0}.timeline-route[data-v-6dbeb710]{flex-shrink:0;color:var(--text3);font-size:10px}@media(max-width:1180px){.inspector[data-v-6dbeb710]{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.detail-panel[data-v-6dbeb710]{grid-column:1 / -1;max-height:220px}}.timeline-root[data-v-da869dac]{display:flex;flex-direction:column;height:100%;overflow:hidden}.stats-row[data-v-da869dac]{display:flex;gap:10px;padding:12px 14px 0;flex-shrink:0}.stat-card[data-v-da869dac]{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius);padding:8px 14px;min-width:72px;text-align:center}.stat-val[data-v-da869dac]{font-size:20px;font-weight:600;font-family:var(--mono);line-height:1.1}.stat-unit[data-v-da869dac]{font-size:12px;opacity:.6;margin-left:1px}.stat-label[data-v-da869dac]{font-size:10px;color:var(--text3);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.toolbar[data-v-da869dac]{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-shrink:0;border-bottom:.5px solid var(--border)}.search-input[data-v-da869dac]{flex:1;max-width:260px}.filter-group[data-v-da869dac]{display:flex;gap:4px}.content-area[data-v-da869dac]{display:flex;flex:1;overflow:hidden;min-height:0}.table-pane[data-v-da869dac]{flex:1;overflow:hidden auto;min-width:0}.bar-cell[data-v-da869dac]{width:200px;padding:4px 8px}.bar-track[data-v-da869dac]{position:relative;height:8px;background:var(--bg2);border-radius:4px;overflow:hidden}.bar-fill[data-v-da869dac]{position:absolute;top:0;height:100%;min-width:3px;border-radius:4px;transition:width .15s}.detail-panel[data-v-da869dac]{width:260px;flex-shrink:0;border-left:.5px solid var(--border);overflow-y:auto;background:var(--bg3);padding:0 0 16px}.panel-header[data-v-da869dac]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:.5px solid var(--border);position:sticky;top:0;background:var(--bg3);z-index:1}.panel-title[data-v-da869dac]{font-family:var(--mono);font-size:13px;font-weight:500}.close-btn[data-v-da869dac]{border:none;background:transparent;color:var(--text3);font-size:11px;padding:2px 6px;cursor:pointer}.panel-section[data-v-da869dac]{padding:10px 14px 6px;border-bottom:.5px solid var(--border)}.panel-section-title[data-v-da869dac]{font-size:10px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.panel-row[data-v-da869dac]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:12px}.panel-key[data-v-da869dac]{color:var(--text3);flex-shrink:0}.panel-val[data-v-da869dac]{color:var(--text);text-align:right;word-break:break-all}.cancel-notice[data-v-da869dac],.active-notice[data-v-da869dac]{margin:10px 14px 0;font-size:11px;line-height:1.6;padding:8px 10px;border-radius:var(--radius)}.cancel-notice[data-v-da869dac]{background:#e24b4a1a;color:var(--red);border:.5px solid rgb(226 75 74 / 30%)}.active-notice[data-v-da869dac]{background:#7f77dd1a;color:var(--purple);border:.5px solid rgb(127 119 221 / 30%)}code[data-v-da869dac]{font-family:var(--mono);font-size:10px;background:#00000026;padding:1px 4px;border-radius:3px}.panel-slide-enter-active[data-v-da869dac],.panel-slide-leave-active[data-v-da869dac]{transition:transform .18s ease,opacity .18s ease}.panel-slide-enter-from[data-v-da869dac],.panel-slide-leave-to[data-v-da869dac]{transform:translate(12px);opacity:0}#app-root[data-v-eb11fcff]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.tabbar[data-v-eb11fcff]{display:flex;align-items:center;gap:2px;padding:8px 12px 0;border-bottom:.5px solid var(--border);background:var(--bg3);flex-shrink:0}.tabbar-brand[data-v-eb11fcff]{font-size:11px;font-weight:500;color:var(--purple);letter-spacing:.5px;margin-right:12px;padding-bottom:8px}.tab-btn[data-v-eb11fcff]{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text3);font-size:12px;padding:6px 12px 8px;cursor:pointer;transition:color .12s,border-color .12s;display:flex;align-items:center;gap:5px}.tab-btn[data-v-eb11fcff]:hover{color:var(--text);background:transparent}.tab-btn.active[data-v-eb11fcff]{color:var(--purple);border-bottom-color:var(--purple)}.tab-icon[data-v-eb11fcff]{font-size:10px;opacity:.6}.tab-content[data-v-eb11fcff]{flex:1;overflow:hidden;display:flex;flex-direction:column}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:13px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}button{font-family:var(--font);font-size:12px;cursor:pointer;border:.5px solid var(--border);background:transparent;color:var(--text2);padding:4px 10px;border-radius:var(--radius);transition:background .12s}button:hover{background:var(--bg2)}button:active{transform:scale(.98)}button.active{background:#7f77dd26;color:var(--purple);border-color:var(--purple)}button.danger-active{background:#e24b4a1f;color:var(--red);border-color:var(--red)}button.success-active{background:#1d9e751f;color:var(--teal);border-color:var(--teal)}input[type=text],input[type=search]{font-family:var(--font);font-size:12px;border:.5px solid var(--border);background:var(--bg2);color:var(--text);padding:5px 10px;border-radius:var(--radius);outline:none;width:100%}input[type=text]:focus,input[type=search]:focus{border-color:var(--purple);box-shadow:0 0 0 2px #7f77dd33}input[type=range]{accent-color:var(--purple);cursor:pointer}.mono{font-family:var(--mono)}.muted{color:var(--text3)}.text-sm{font-size:11px}.text-xs{font-size:10px}.bold{font-weight:500}.badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 7px;border-radius:99px;white-space:nowrap}.badge-ok{background:#1d9e7526;color:var(--teal)}.badge-err{background:#e24b4a1f;color:var(--red)}.badge-warn{background:#ef9f2726;color:var(--amber)}.badge-info{background:#378add1f;color:var(--blue)}.badge-gray{background:var(--bg2);color:var(--text3);border:.5px solid var(--border)}.badge-purple{background:#7f77dd26;color:var(--purple)}.card{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;font-size:10px;font-weight:500;color:var(--text3);padding:6px 8px;border-bottom:.5px solid var(--border);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td{padding:8px;border-bottom:.5px solid var(--border);color:var(--text);vertical-align:middle}.data-table tr:hover td{background:var(--bg2);cursor:pointer}.data-table tr.selected td{background:#7f77dd14}.stat-card{background:var(--bg2);border-radius:var(--radius);padding:10px 12px}.stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.stat-val{font-size:20px;font-weight:500}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1}.overflow-auto{overflow:auto}.p-3{padding:12px}.p-4{padding:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mt-2{margin-top:8px}
|
package/client/dist/index.html
CHANGED
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: 13px; }
|
|
39
39
|
#app { height: 100vh; display: flex; flex-direction: column; }
|
|
40
40
|
</style>
|
|
41
|
-
<script type="module" crossorigin src="/assets/index-
|
|
42
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
41
|
+
<script type="module" crossorigin src="/assets/index-DDPIR7nA.js"></script>
|
|
42
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DzKvjd0B.css">
|
|
43
43
|
</head>
|
|
44
44
|
<body>
|
|
45
45
|
<div id="app"></div>
|
package/client/src/App.vue
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
2
|
+
import { ref, computed } from 'vue'
|
|
3
|
+
import { useObservatoryData } from './stores/observatory'
|
|
3
4
|
import FetchDashboard from './views/FetchDashboard.vue'
|
|
4
5
|
import ProvideInjectGraph from './views/ProvideInjectGraph.vue'
|
|
5
6
|
import ComposableTracker from './views/ComposableTracker.vue'
|
|
@@ -17,13 +18,19 @@ const pathMap: Record<string, string> = {
|
|
|
17
18
|
const segment = window.location.pathname.split('/').filter(Boolean).pop() ?? ''
|
|
18
19
|
const activeTab = ref(pathMap[segment] ?? 'fetch')
|
|
19
20
|
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const { features } = useObservatoryData()
|
|
22
|
+
|
|
23
|
+
const tabs = computed(() => {
|
|
24
|
+
const f = features.value || {}
|
|
25
|
+
|
|
26
|
+
return [
|
|
27
|
+
f.fetchDashboard && { id: 'fetch', label: 'useFetch', icon: '⬡' },
|
|
28
|
+
f.provideInjectGraph && { id: 'provide', label: 'provide/inject', icon: '⬡' },
|
|
29
|
+
f.composableTracker && { id: 'composable', label: 'Composables', icon: '⬡' },
|
|
30
|
+
f.renderHeatmap && { id: 'heatmap', label: 'Heatmap', icon: '⬡' },
|
|
31
|
+
f.transitionTracker && { id: 'transitions', label: 'Transitions', icon: '⬡' },
|
|
32
|
+
].filter(Boolean)
|
|
33
|
+
})
|
|
27
34
|
</script>
|
|
28
35
|
|
|
29
36
|
<template>
|
|
@@ -127,6 +127,13 @@ interface ObservatorySnapshot {
|
|
|
127
127
|
composables?: ComposableEntry[]
|
|
128
128
|
renders?: RenderEntry[]
|
|
129
129
|
transitions?: TransitionEntry[]
|
|
130
|
+
features?: {
|
|
131
|
+
fetchDashboard?: boolean
|
|
132
|
+
provideInjectGraph?: boolean
|
|
133
|
+
composableTracker?: boolean
|
|
134
|
+
renderHeatmap?: boolean
|
|
135
|
+
transitionTracker?: boolean
|
|
136
|
+
}
|
|
130
137
|
}
|
|
131
138
|
|
|
132
139
|
const fetchEntries = ref<FetchEntry[]>([])
|
|
@@ -135,6 +142,7 @@ const composables = ref<ComposableEntry[]>([])
|
|
|
135
142
|
const renders = ref<RenderEntry[]>([])
|
|
136
143
|
const transitions = ref<TransitionEntry[]>([])
|
|
137
144
|
const connected = ref(false)
|
|
145
|
+
const features = ref<ObservatorySnapshot['features']>({})
|
|
138
146
|
|
|
139
147
|
let started = false
|
|
140
148
|
// parentOrigin is only used for the outgoing postMessage target. We always
|
|
@@ -171,7 +179,10 @@ function getParentOrigin(): string {
|
|
|
171
179
|
}
|
|
172
180
|
|
|
173
181
|
function requestSnapshot() {
|
|
174
|
-
if (!parentOrigin)
|
|
182
|
+
if (!parentOrigin) {
|
|
183
|
+
return
|
|
184
|
+
}
|
|
185
|
+
|
|
175
186
|
window.top?.postMessage({ type: 'observatory:request' }, parentOrigin)
|
|
176
187
|
}
|
|
177
188
|
|
|
@@ -182,7 +193,8 @@ function onMessage(event: MessageEvent) {
|
|
|
182
193
|
|
|
183
194
|
// Always validate the origin of incoming snapshot messages.
|
|
184
195
|
// Accepting '*' would allow any page to inject arbitrary devtools data.
|
|
185
|
-
if
|
|
196
|
+
// For local screenshots/dev, allow any origin if parentOrigin is empty (SPA running standalone)
|
|
197
|
+
if (parentOrigin && event.origin !== parentOrigin) {
|
|
186
198
|
return
|
|
187
199
|
}
|
|
188
200
|
|
|
@@ -197,6 +209,7 @@ function onMessage(event: MessageEvent) {
|
|
|
197
209
|
composables.value = cloneArray(data.composables)
|
|
198
210
|
renders.value = normalizeRenderEntries(data.renders)
|
|
199
211
|
transitions.value = cloneArray(data.transitions)
|
|
212
|
+
features.value = data.features || {}
|
|
200
213
|
connected.value = true
|
|
201
214
|
}
|
|
202
215
|
|
|
@@ -243,6 +256,7 @@ export function useObservatoryData() {
|
|
|
243
256
|
composables,
|
|
244
257
|
renders,
|
|
245
258
|
transitions,
|
|
259
|
+
features,
|
|
246
260
|
connected,
|
|
247
261
|
refresh: requestSnapshot,
|
|
248
262
|
clearComposables,
|