@nuxt/devtools-nightly 2.0.0-beta.2-28953210.23215e0 → 2.0.0-beta.3-28963581.45c0e2d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/module-main.mjs +58 -18
- package/dist/client/200.html +14 -14
- package/dist/client/404.html +14 -14
- package/dist/client/_nuxt/__blank-ohgur088.js +1 -0
- package/dist/client/_nuxt/analyze-build-j0ebcau7.js +1 -0
- package/dist/client/_nuxt/{assets-gwlrdipi.js → assets-ncyhkh7r.js} +3 -3
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/75b10d99-a82f-45a8-b31c-8befa8b33c5a.json +1 -0
- package/dist/client/_nuxt/{client-bnemmvey.js → client-bvu6p7m4.js} +1 -1
- package/dist/client/_nuxt/{code-diff.vue-obmnd024.js → code-diff.vue-jc3c9o1p.js} +4 -4
- package/dist/client/_nuxt/code-snippets.vue-dnmstgq8.js +1 -0
- package/dist/client/_nuxt/components-lo3mq6y9.js +1 -0
- package/dist/client/_nuxt/composable-item.vue-dgxtjaf8.js +1 -0
- package/dist/client/_nuxt/custom-_name_-pduhuu9r.js +1 -0
- package/dist/client/_nuxt/d41h1x7t.js +17 -0
- package/dist/client/_nuxt/{default-5lq95or0.js → default-cnhydmlv.js} +1 -1
- package/dist/client/_nuxt/{duration-display.vue-jvaccd8v.js → duration-display.vue-onla0yr8.js} +1 -1
- package/dist/client/_nuxt/error-404-m6dwmafk.js +1 -0
- package/dist/client/_nuxt/error-404.css-cl514xfg.css +1 -0
- package/dist/client/_nuxt/{error-500-gt8dgv0s.js → error-500-9wvbqziq.js} +1 -1
- package/dist/client/_nuxt/error-500.css-m79ojnxd.css +1 -0
- package/dist/client/_nuxt/{error-gdziq9hd.js → error-bp3u9vvx.js} +7 -7
- package/dist/client/_nuxt/{filepath-item.vue-mv4aw3ye.js → filepath-item.vue-fxaqezvw.js} +1 -1
- package/dist/client/_nuxt/full-bn257ljv.js +1 -0
- package/dist/client/_nuxt/{help-fab.vue-gpu2zy8k.js → help-fab.vue-dib0u490.js} +1 -1
- package/dist/client/_nuxt/hooks-bs377zwu.js +1 -0
- package/dist/client/_nuxt/imports-e4dk8scn.js +1 -0
- package/dist/client/_nuxt/{index-lye7dnm2.js → index-cl3mehlu.js} +2 -2
- package/dist/client/_nuxt/index-d1d8bsq0.js +1 -0
- package/dist/client/_nuxt/launch-page.vue-k9suzodb.js +1 -0
- package/dist/client/_nuxt/{modules-mf59rheq.js → modules-hbz103wg.js} +1 -1
- package/dist/client/_nuxt/nbadge-ot616wdl.js +1 -0
- package/dist/client/_nuxt/{ncheckbox.vue-cg1g4cv9.js → ncheckbox.vue-c9bavwky.js} +1 -1
- package/dist/client/_nuxt/{ncode-block.vue-c2t0anp9.js → ncode-block.vue-bazndqbc.js} +2 -2
- package/dist/client/_nuxt/ndrawer.vue-b6cdk9y8.js +1 -0
- package/dist/client/_nuxt/ndropdown.vue-fzoyv3zc.js +1 -0
- package/dist/client/_nuxt/{nicon-title.vue-hch1agon.js → nicon-title.vue-evdbm4ef.js} +1 -1
- package/dist/client/_nuxt/nlink.vue-osj159jg.js +1 -0
- package/dist/client/_nuxt/nmarkdown.vue-ffthu1ys.js +1 -0
- package/dist/client/_nuxt/{nnavbar.vue-dj98cl9i.js → nnavbar.vue-ky8j5cdr.js} +1 -1
- package/dist/client/_nuxt/none-jo30kydw.js +1 -0
- package/dist/client/_nuxt/nsection-block-cbbvy04f.js +1 -0
- package/dist/client/_nuxt/nselect-tabs.vue-jb48kq2v.js +1 -0
- package/dist/client/_nuxt/{nselect.vue-e6i2easl.js → nselect.vue-o2d5zfs5.js} +1 -1
- package/dist/client/_nuxt/{open-graph-cyykp4pb.js → open-graph-e4y8ndkp.js} +2 -2
- package/dist/client/_nuxt/overview-gsz8vjjo.js +1 -0
- package/dist/client/_nuxt/pages-wdrdai4k.js +1 -0
- package/dist/client/_nuxt/payload-ewhdcsbh.js +1 -0
- package/dist/client/_nuxt/pinia-kegwgo0c.js +1 -0
- package/dist/client/_nuxt/plugins-hbobfmd4.js +1 -0
- package/dist/client/_nuxt/render-tree-fyx4bf1z.js +1 -0
- package/dist/client/_nuxt/runtime-configs-b4ga7nqx.js +1 -0
- package/dist/client/_nuxt/server-discovery-jllsz7kp.js +1 -0
- package/dist/client/_nuxt/server-route-inputs.vue-bxkuny0t.js +1 -0
- package/dist/client/_nuxt/{server-routes-k6e0cgnx.js → server-routes-he5hx793.js} +1 -1
- package/dist/client/_nuxt/server-tasks-df83dyrk.js +1 -0
- package/dist/client/_nuxt/settings-gippgsnw.js +1 -0
- package/dist/client/_nuxt/stacktrace-list.vue-7c1u8lmo.js +1 -0
- package/dist/client/_nuxt/{state-components-gkmefe4d.js → state-components-lq4erpch.js} +1 -1
- package/dist/client/_nuxt/{state-editor.vue-hwq6y6im.js → state-editor.vue-g5t0h5pi.js} +1 -1
- package/dist/client/_nuxt/state-modules-c4q0vk65.js +1 -0
- package/dist/client/_nuxt/storage-br9x9mkz.js +1 -0
- package/dist/client/_nuxt/terminals-k58bpy99.js +1 -0
- package/dist/client/_nuxt/timeline-kin9hf5p.js +31 -0
- package/dist/client/_nuxt/unocss-runtime-abddx8lv.js +1 -0
- package/dist/client/_nuxt/vendor/{json-editor-vue-fw81xiot.js → json-editor-vue-hrh84odz.js} +1 -1
- package/dist/client/_nuxt/vendor/{shiki-j4jbxo4i.js → shiki-gvafmef1.js} +19 -18
- package/dist/client/_nuxt/vendor/unocss-cbkcukyd.js +2 -0
- package/dist/client/_nuxt/virtual-files-eygv3kkf.js +1 -0
- package/dist/client/_nuxt/{vue-virtual-scroller.esm-luvj44av.js → vue-virtual-scroller.esm-btin7frf.js} +2 -2
- package/dist/client/discovery/index.html +1 -1
- package/dist/client/index.html +14 -14
- package/dist/module.json +2 -2
- package/package.json +31 -31
- package/dist/client/_nuxt/__blank-mzki7hds.js +0 -1
- package/dist/client/_nuxt/analyze-build-ggbso8ss.js +0 -1
- package/dist/client/_nuxt/builds/meta/55305690-3696-4c38-a13a-4bb5160a52cc.json +0 -1
- package/dist/client/_nuxt/code-snippets.vue-og9yn10f.js +0 -1
- package/dist/client/_nuxt/components-g9nr46k3.js +0 -1
- package/dist/client/_nuxt/composable-item.vue-mz4bp0bt.js +0 -1
- package/dist/client/_nuxt/custom-_name_-i54lphs1.js +0 -1
- package/dist/client/_nuxt/dwllqfm4.js +0 -17
- package/dist/client/_nuxt/error-404-labbsids.js +0 -1
- package/dist/client/_nuxt/error-404.css-lmmxplpx.css +0 -1
- package/dist/client/_nuxt/error-500.css-u0boq89r.css +0 -1
- package/dist/client/_nuxt/full-dqkz7zx6.js +0 -1
- package/dist/client/_nuxt/hooks-nqyy4fga.js +0 -1
- package/dist/client/_nuxt/imports-hrfwm121.js +0 -1
- package/dist/client/_nuxt/index-m6b2g1pg.js +0 -1
- package/dist/client/_nuxt/launch-page.vue-moq1yr65.js +0 -1
- package/dist/client/_nuxt/nbadge-bk5mr85f.js +0 -1
- package/dist/client/_nuxt/ndrawer.vue-egmno832.js +0 -1
- package/dist/client/_nuxt/ndropdown.vue-forrhsff.js +0 -1
- package/dist/client/_nuxt/nlink.vue-eztgyqbq.js +0 -1
- package/dist/client/_nuxt/nmarkdown.vue-lym2fx3e.js +0 -1
- package/dist/client/_nuxt/none-n7na02au.js +0 -1
- package/dist/client/_nuxt/nsection-block-eb4xa2rf.js +0 -1
- package/dist/client/_nuxt/nselect-tabs.vue-osh5oab8.js +0 -1
- package/dist/client/_nuxt/overview-j3mnq2ow.js +0 -1
- package/dist/client/_nuxt/pages-fpbrd4b3.js +0 -1
- package/dist/client/_nuxt/payload-di0z7ttu.js +0 -1
- package/dist/client/_nuxt/pinia-fh44dwfl.js +0 -1
- package/dist/client/_nuxt/plugins-npjp2nyi.js +0 -1
- package/dist/client/_nuxt/render-tree-fv4gqzhz.js +0 -1
- package/dist/client/_nuxt/runtime-configs-fow78pj8.js +0 -1
- package/dist/client/_nuxt/server-discovery-m9my3tdv.js +0 -1
- package/dist/client/_nuxt/server-route-inputs.vue-htkoe4hg.js +0 -1
- package/dist/client/_nuxt/server-tasks-2s8payv5.js +0 -1
- package/dist/client/_nuxt/settings-ozyg9iid.js +0 -1
- package/dist/client/_nuxt/stacktrace-list.vue-livbp84i.js +0 -1
- package/dist/client/_nuxt/state-modules-ihkeaem3.js +0 -1
- package/dist/client/_nuxt/storage-hp299in2.js +0 -1
- package/dist/client/_nuxt/terminals-fstydq52.js +0 -1
- package/dist/client/_nuxt/timeline-pdgjzc3t.js +0 -31
- package/dist/client/_nuxt/unocss-runtime-eltx4hvu.js +0 -1
- package/dist/client/_nuxt/vendor/unocss-dypm4cev.js +0 -2
- package/dist/client/_nuxt/virtual-files-c0qdy6ml.js +0 -1
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import{a4 as W,L as O,A as j,bg as Y,_ as U,Q as K,J as Q,f as z,a6 as X,b as q,bh as Z,I as ee,k as se,K as ne,d as te,r as G,D as oe,y as ae}from"./dwllqfm4.js";import{_ as V}from"./duration-display.vue-jvaccd8v.js";import{k as B,l as w,Q as o,S as i,U as t,X as T,a5 as m,u as g,F as y,ab as E,M as h,b as C,c as le,n as re,W as x,a0 as u,Y as R,R as P,$ as v,av as ie,a1 as pe,a6 as F,ah as ce}from"./vendor/json-editor-vue-fw81xiot.js";import{_ as H}from"./nbadge-bk5mr85f.js";import{_ as de}from"./composable-item.vue-mz4bp0bt.js";import{_ as ue}from"./stacktrace-list.vue-livbp84i.js";import{_ as me}from"./ndrawer.vue-egmno832.js";import{_ as ke}from"./launch-page.vue-moq1yr65.js";import{_ as fe}from"./nlink.vue-eztgyqbq.js";import{_ as ye}from"./code-diff.vue-obmnd024.js";import{_ as he}from"./help-fab.vue-gpu2zy8k.js";import"./vendor/unocss-dypm4cev.js";import"./vendor/shiki-j4jbxo4i.js";import"./nmarkdown.vue-lym2fx3e.js";import"./client-bnemmvey.js";import"./filepath-item.vue-mv4aw3ye.js";import"./constants-b32h69zq.js";import"./ncode-block.vue-c2t0anp9.js";const ve=B({__name:"TimelineItemFunction",props:{item:{}},setup(f){const d=f,p=w(()=>W(d.item.name,50,60,"_op_")),n=w(()=>p.value.replace(/_op_/,"1")),e=w(()=>W(d.item.name,50,40)),l=w(()=>p.value.replace(/_op_/,"0.2"));return(a,r)=>(o(),i("button",{class:"group",style:T({color:n.value,borderLeft:`2px solid ${n.value}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[t("div",{style:T({backgroundColor:l.value}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),t("div",{style:T({color:e.value,"--c":n.value}),border:"r-2 t-2 y-2 transparent","min-w-max":"",px1:"","text-left":"","group-hover":"border-$c"},m(a.item.name),5)],4))}}),_e={relative:"","h-full":""},be={absolute:"","left-2":"","top-2.3em":"","text-xs":"",op50:""},ge=B({__name:"TimelineSegment",props:{segment:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=O(()=>p.segment.start,{updateInterval:1e3,showSecond:!0,controls:!1,messages:{justNow:"",past:l=>l,future:l=>l,invalid:"-",second:l=>l?`${l}s`:"",minute:l=>`${l}m`,hour:l=>`${l}h`,week:l=>`${l}w`,day:l=>`${l}d`,month:l=>`${l}mo`,year:l=>`${l}y`}});return(l,a)=>{const r=ve;return o(),i("div",_e,[t("button",{absolute:"","left-0":"","right-0":"","top-0":"","bg-green:5":"",px2:"",py1:"","text-left":"","text-xs":"","text-green6":"","font-mono":"",onClick:a[0]||(a[0]=s=>l.segment.route?n("select",l.segment.route):void 0)},m(l.segment.route?.event.to),1),t("div",be,m(g(e))+" ago ",1),t("div",null,[(o(!0),i(y,null,E(l.segment.functions,(s,c)=>(o(),h(r,{key:c,item:s.event,style:T({position:"absolute",minWidth:`${s.relativeWidth*100}%`,maxWidth:`${s.relativeWidth*100}%`,top:`${4+s.layer*1.6}em`,left:`${s.relativeStart*100}%`}),onClick:k=>n("select",s)},null,8,["item","style","onClick"]))),128))])])}}}),xe=3e3,De=50;function Ae(f){const d=[];let p={start:0,end:0,events:[],functions:[],duration:0};for(const n of f){const e=n.end||n.start;(n.start-p.end>xe||n.type==="route")&&(p={start:n.start,end:e,events:[],functions:[],duration:0},d.push(p)),p.events.push(n),p.end=e+De}return d.forEach((n,e)=>{const l=n.end-n.start,a=[];n.duration=l,n.previousGap=e>0?n.start-d[e-1].end:0,n.events.forEach(r=>{const s=r.end||r.start;let c=0;r.type!=="route"&&(c=a.findIndex(D=>D<=r.start),c===-1?(c=a.length,a.push(s+1e3)):a[c]=s+1e3);const k={event:r,segment:n,relativeStart:(r.start-n.start)/l,relativeWidth:(s-r.start)/l,layer:c};r.type==="function"?n.functions.push(k):n.route=k})}),d}const $e={relative:""},Ce={key:0,border:"x base","h-full":"","flex-inline":"","bg-true-gray-1":"",py15:"","text-xs":"","write-vertical-left":"",op50:"","dark:bg-true-gray-9":""},Be=B({__name:"TimelineTable",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=C(),l=C(),a=C(),r=C(),s=C(!0),c=C(1.5),k=w(()=>Ae(p.data.events)),D=w(()=>(p.data.events.length,e.value?.scrollWidth||window.innerWidth));function A(){r.value&&(r.value.style.width=`${D.value}px`)}function S(){s.value&&e.value&&(e.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}),a.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}))}return le(()=>p.data.events.length,async()=>{await re(),A(),S()},{flush:"post"}),j(e,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),a.value.scrollLeft=e.value.scrollLeft,s.value=e.value.scrollLeft>=e.value.scrollWidth-e.value.clientWidth)}),j(a,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),e.value.scrollLeft=a.value.scrollLeft)}),j(e,"wheel",_=>{_.altKey?(c.value=Y(c.value+_.deltaY/200,.5,3),A()):e.value.scrollLeft+=_.deltaY}),(_,L)=>{const $=V,M=ge;return o(),i(y,null,[t("div",$e,[t("div",{ref_key:"minimap",ref:l,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i("div",{key:N,relative:"","h-full":"","flex-inline":"",style:T({width:`${Math.max(100,b.duration/10)/D.value*100}%`})},[(o(!0),i(y,null,E(b.functions,(I,J)=>(o(),i("div",{key:J,"h-3px":"",rounded:"",style:T({width:`max(${I.relativeWidth*100}%, 10px)`,position:"absolute",top:`${I.layer*4}px`,left:`${I.relativeStart*100}%`,backgroundColor:("getHashColorFromString"in _?_.getHashColorFromString:g(W))(I.event.name,50,60)})},null,4))),128)),b.route?(o(),i("div",{key:0,absolute:"","top-0":"","h-full":"","w-px":"","border-l":"","border-green6":"",op10:"",style:T({left:`${b.route.relativeStart*100}%`})},null,4)):x("",!0)],4))),128))],512),t("div",{ref_key:"minimapScroller",ref:a,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[t("div",{ref_key:"minimapScrollerInner",ref:r,"h-1px":""},null,512)],512)]),t("div",{ref_key:"scroller",ref:e,relative:"","h-full":"","w-full":"","of-x-scroll":"","of-y-hidden":"","ws-nowrap":"","n-panel-grids":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i(y,{key:N},[b.previousGap&&b.previousGap>=200?(o(),i("div",Ce,[u($,{op50:"",duration:b.previousGap,color:!1},null,8,["duration"])])):x("",!0),u(M,{"flex-inline":"","of-x-hidden":"","hover:of-x-visible":"","bg-base":"",class:R(N===k.value.length-1?"border-r border-base":""),segment:b,style:T({width:`${Math.max(50,b.duration/10)*c.value}px`}),onSelect:L[0]||(L[0]=I=>n("select",I))},null,8,["class","segment","style"])],64))),128))],512)],64)}}}),we=U(Be,[["__scopeId","data-v-18afc15e"]]),Te={border:"t base",flex:"~ col","h-full":"","of-y-auto":"","text-sm":""},Se=["onClick"],Ne={flex:"~","ml--1":"","font-mono":""},Fe={key:0,mr2:"",op30:""},Ee={op75:""},Le={flex:"~ col items-start"},Ie={"text-xs":"","font-mono":"",op30:""},Me={"text-green":"","font-bold":"","font-mono":""},We=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=d;return(n,e)=>{const l=V;return o(),i("div",Te,[(o(!0),i(y,null,E(n.data.events,(a,r)=>(o(),i("button",{key:r,border:"b base",px3:"",py2:"",flex:"~ items-center gap-2",hover:"bg-active",onClick:s=>p("select",a)},[a.type==="function"?(o(),i(y,{key:0},[e[2]||(e[2]=t("div",{"i-carbon-function":"",op50:""},null,-1)),t("div",{"font-mono":"",style:T({color:a.type==="function"?("getHashColorFromString"in n?n.getHashColorFromString:g(W))(a.name,50,60):""})},m(a.name),5),t("div",Ne,[e[0]||(e[0]=t("div",{op30:""}," ( ",-1)),(o(!0),i(y,null,E(a.args,(s,c)=>(o(),i(y,{key:c},[c?(o(),i("div",Fe," , ")):x("",!0),t("div",Ee,m(s===null?"null":s===void 0?"undefined":typeof s=="function"?"[function]":Array.isArray(s)?"[Array]":typeof s=="object"?"[object]":JSON.stringify(s)),1)],64))),128)),e[1]||(e[1]=t("div",{op30:""}," ) ",-1))])],64)):(o(),i(y,{key:1},[e[3]||(e[3]=t("div",{"mr-1":"","h-7":"","w-7":"",flex:"","rounded-lg":"","bg-primary:5":"",p1:"","text-green6":""},[t("div",{"i-carbon-direction-rotary-right":"",ma:"","text-lg":""})],-1)),t("div",Le,[t("div",Ie,m(a.from),1),t("div",Me,m(a.to),1)])],64)),e[4]||(e[4]=t("div",{"flex-auto":""},null,-1)),a.end?(o(),h(l,{key:2,duration:a.end-a.start,color:a.type==="function"},null,8,["duration","color"])):x("",!0)],8,Se))),128)),e[5]||(e[5]=t("div",{"min-h-100":""},null,-1))])}}}),Ve={key:0,"text-blue":""},je={key:1,"text-purple":""},Oe={key:2,"text-green":""},ze={key:3,"text-gray":""},Re={key:4,"text-gray":""},Ge={key:5,"text-gray":""},Pe={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},He={key:1},Je={p2:"","text-sm":"",border:"t base"},Ye=B({__name:"TimelineArgumentView",props:{value:{}},setup(f){const d=f,p=C(),n=C();function e(){try{p.value=JSON.parse(JSON.stringify(d.value))}catch(s){console.error(s),n.value=s}}const l=B({emits:["setup"],setup(s,{emit:c}){return c("setup"),()=>null}}),a=K(),r=Q();return(s,c)=>{const k=z,D=P("VMenu");return typeof s.value=="string"?(o(),i("div",Ve,m(JSON.stringify(s.value)),1)):typeof s.value=="number"?(o(),i("div",je,m(s.value),1)):typeof s.value=="boolean"?(o(),i("div",Oe,m(s.value),1)):typeof s.value>"u"?(o(),i("div",ze," undefined ")):typeof s.value=="function"?(o(),i("div",Re," [Function"+m(s.value.name?`: ${s.value.name}`:"")+"] ",1)):s.value===null?(o(),i("div",Ge," null ")):(o(),h(D,{key:6,placement:"top"},{popper:v(()=>[u(g(l),{onSetup:e}),n.value?(o(),i("div",Pe," Failed to display object: "+m(n.value),1)):p.value?(o(),i("div",He,[u(g(ie),pe({"model-value":p.value},s.$attrs,{class:["json-editor-vue",[g(a)==="dark"?"jse-theme-dark":""]],"main-menu-bar":!1,"navigation-bar":!1,"status-bar":!1,"read-only":!0,indentation:2,"tab-size":2}),null,16,["model-value","class"]),t("div",Je,[u(k,{title:"Copy to clipboard",icon:"carbon-copy",onClick:c[0]||(c[0]=A=>g(r)(JSON.stringify(p.value,null,2),"timeline-argument"))},{default:v(()=>c[1]||(c[1]=[F(" Copy ")])),_:1})])])):x("",!0)]),default:v(()=>[t("span",{"rounded-sm":"",px1:"","py0.5":"","text-sm":"",class:R([Array.isArray(s.value)?"text-amber bg-amber:10":"text-orange bg-orange:10"])},m(Array.isArray(s.value)?`[Array(${s.value.length})]`:"[Object]"),3)]),_:1}))}}}),Ue={key:0,"p-4":"",flex:"~ col gap-2","text-base":""},Ke={"mx--1":""},Qe={flex:"~ gap-1","font-mono":""},Xe={key:1},qe={key:0,op30:""},Ze={flex:"~ gap-1","text-sm":""},es={class:"text-sm text-gray-400"},ss=B({__name:"TimelineDetailsFunction",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0}),n=X(),e=w(()=>n.value?.metadata),l=w(()=>n.value?.imports.find(a=>a.as===d.record.name));return(a,r)=>{const s=H,c=de,k=Ye,D=V,A=ue;return a.record?(o(),i("div",Ue,[t("div",Ke,[u(s,{n:"yellow",textContent:"Function call"})]),t("div",Qe,[l.value?(o(),h(c,{key:0,item:l.value,metadata:e.value,counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(o(),i("span",Xe,m(a.record.name),1)),r[0]||(r[0]=t("span",{ml1:"",op30:""},"(",-1)),(o(!0),i(y,null,E(a.record.args,(S,_)=>(o(),i(y,{key:_},[_?(o(),i("span",qe,", ")):x("",!0),u(k,{value:S},null,8,["value"])],64))),128)),r[1]||(r[1]=t("span",{op30:""},")",-1))]),t("div",Ze,[a.record.end?(o(),h(D,{key:0,duration:a.record.end-a.record.start},null,8,["duration"])):x("",!0),r[2]||(r[2]=t("span",{mx1:"",op50:""},"·",-1)),t("div",es,m(g(p)),1)]),a.record.stacktrace?(o(),h(A,{key:0,stacktrace:a.record.stacktrace,class:"text-xs text-gray-400"},null,8,["stacktrace"])):x("",!0)])):x("",!0)}}}),ns={key:0,"p-4":"",flex:"~ col gap-2"},ts={"mx--1":""},os={flex:"~ gap-1 items-center","font-mono":""},as={op50:""},ls={flex:"~ gap-1","text-sm":""},rs={class:"text-sm text-gray-400"},is=B({__name:"TimelineDetailsRoute",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0});return(n,e)=>{const l=H,a=V;return n.record?(o(),i("div",ns,[t("div",ts,[u(l,{n:"green",textContent:"Route Change"})]),t("div",os,[t("span",as,m(n.record.from),1),e[0]||(e[0]=t("span",{"i-carbon-arrow-right":"",op50:""},null,-1)),t("span",null,m(n.record.to),1)]),t("div",ls,[n.record.end?(o(),h(a,{key:0,duration:n.record.end-n.record.start},null,8,["duration"])):x("",!0),e[1]||(e[1]=t("span",{mx1:"",op50:""},"·",-1)),t("div",rs,m(g(p)),1)])])):x("",!0)}}}),ps={key:0,"h-screen":"","of-hidden":""},cs={"h-screen":"","w-full":"",flex:"","flex-col":""},ds={"h-10":"",flex:"~ gap-2 items-center justify-end",p2:"",px3:""},us={"text-sm":""},ms={"min-h-50":"",px3:"",py2:""},ks=B({__name:"TimelineView",setup(f){const d=q(),p=C("table"),n=C(),e=w(()=>d.value?.metrics.clientTimeline());function l(){e.value&&(e.value.events=[])}function a(){p.value=p.value==="table"?"list":"table"}return(r,s)=>{const c=P("VTooltip"),k=z,D=we,A=We,S=ss,_=is,L=me;return e.value?(o(),i("div",ps,[t("div",cs,[t("div",ds,[u(c,{flex:""},{popper:v(()=>[t("div",us,m(e.value.options.enabled?"Recording...":"Paused"),1)]),default:v(()=>[t("div",{"text-lg":"",class:R(e.value.options.enabled?"i-carbon-radio-button-checked text-primary animate-pulse":"i-carbon-pause-outline op30")},null,2)]),_:1}),e.value.options.enabled?(o(),h(k,{key:1,size:"small",ml1:"","text-sm":"",n:"orange",icon:"i-carbon-stop",onClick:s[1]||(s[1]=$=>e.value.options.enabled=!1)},{default:v(()=>s[6]||(s[6]=[F(" Stop Tracking ")])),_:1})):(o(),h(k,{key:0,size:"small",ml1:"","text-sm":"",n:"primary",icon:"i-carbon-play",onClick:s[0]||(s[0]=$=>e.value.options.enabled=!0)},{default:v(()=>s[5]||(s[5]=[F(" Start Tracking ")])),_:1})),s[7]||(s[7]=t("div",{"flex-auto":""},null,-1)),u(k,{icon:p.value==="table"?"i-carbon-roadmap":"i-carbon-list",class:"ml-2",title:"Toggle View",border:!1,onClick:a},null,8,["icon"]),u(k,{icon:"i-carbon-trash-can","hover-text-red":"",class:"ml-2",border:!1,onClick:l})]),p.value==="table"?(o(),h(D,{key:0,data:{...e.value},onSelect:s[2]||(s[2]=$=>n.value=$.event)},null,8,["data"])):(o(),h(A,{key:1,data:{...e.value},onSelect:s[3]||(s[3]=$=>n.value=$)},null,8,["data"]))]),u(L,{"model-value":!!n.value,"auto-close":"",transition:"bottom",left:"#nuxt-devtools-side-nav",onClose:s[4]||(s[4]=$=>n.value=void 0)},{default:v(()=>[t("div",ms,[n.value?.type==="function"?(o(),h(S,{key:0,record:n.value},null,8,["record"])):n.value?.type==="route"?(o(),h(_,{key:1,record:n.value},null,8,["record"])):x("",!0)])]),_:1},8,["model-value"])])):x("",!0)}}}),fs={class:"markdown-body"},ys={__name:"timeline",setup(f,{expose:d}){return d({frontmatter:{}}),(n,e)=>(o(),i("div",fs,e[0]||(e[0]=[t("h1",null,"Timeline",-1),t("blockquote",{"text-orange":"","bg-orange:10":"",py1:""}," This is an experimental feature ",-1),ce(`<p>Timeline tracks your route navigations and functions calls in your Nuxt application. It can be used to debug performance issues and to understand how your application works.</p><h2>Function calls</h2><p>Nuxt DevTools tracks function calls by wrapping them in the build time. It works for functions referenced by auto-imports, or explicit imports through <code>import {} from '#imports'</code>.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#999999;--shiki-dark:#666666;"><</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> setup</span><span style="color:#999999;--shiki-dark:#666666;">></span></span>
|
|
2
|
-
<span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#app/composables/router</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
3
|
-
<span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#imports</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
4
|
-
<span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
5
|
-
<span class="line"></span>
|
|
6
|
-
<span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> route</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
|
|
7
|
-
<span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> app</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
|
|
8
|
-
<span class="line"></span>
|
|
9
|
-
<span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;">// NOT tracked because it's directly imported</span></span>
|
|
10
|
-
<span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> mouse</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;">()</span></span>
|
|
11
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"></</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#999999;--shiki-dark:#666666;">></span></span>
|
|
12
|
-
<span class="line"></span></code></pre><p>By default, it tracks Nuxt provided composables as well as user defined functions. You can include/exclude functions by using the <code>include</code> and <code>exclude</code> options in the <code>nuxt.config.js</code> file.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">export</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> default</span><span style="color:#59873A;--shiki-dark:#80A665;"> defineNuxtConfig</span><span style="color:#999999;--shiki-dark:#666666;">({</span></span>
|
|
13
|
-
<span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> devtools</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
14
|
-
<span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> timeline</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
15
|
-
<span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> functions</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
16
|
-
<span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> include</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
17
|
-
<span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track \`useMouse\`</span></span>
|
|
18
|
-
<span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useMouse</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
|
|
19
|
-
<span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions starting with \`use\`</span></span>
|
|
20
|
-
<span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> /</span><span style="color:#1E754F;--shiki-dark:#4D9375;">^</span><span style="color:#AB5E3F;--shiki-dark:#C4704F;">use</span><span style="color:#999999;--shiki-dark:#666666;">[</span><span style="color:#A65E2B;--shiki-dark:#C99076;">A-Z</span><span style="color:#999999;--shiki-dark:#666666;">]</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">/</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
|
|
21
|
-
<span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions from @vueuse/core</span></span>
|
|
22
|
-
<span class="line"><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;"> =></span><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;">.</span><span style="color:#B07D48;--shiki-dark:#BD976A;">from</span><span style="color:#AB5959;--shiki-dark:#CB7676;"> ===</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
|
|
23
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ],</span></span>
|
|
24
|
-
<span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> exclude</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
25
|
-
<span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useRouter</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
26
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
27
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
28
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
29
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
30
|
-
<span class="line"><span style="color:#999999;--shiki-dark:#666666;">})</span></span>
|
|
31
|
-
<span class="line"></span></code></pre>`,6)])))}},hs={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},vs={op50:""},_s={flex:"~ gap-3",mt2:"","justify-end":""},Vs=B({__name:"timeline",setup(f){const d=Z(),p=ee(),n=se(),e=ne();async function l(){try{const[a,r]=await G.enableTimeline(!0);if(!await n.start(a,r))return;await G.enableTimeline(!1)}catch{oe({message:"Failed to enable timeline automatically. Check the terminal for more details.",icon:"i-carbon-warning",classes:"text-red"})}}return(a,r)=>{const s=ks,c=ke,k=te,D=fe,A=ye,S=z,_=ae,L=ys,$=he;return o(),i(y,null,[g(d)?.timeline?.enabled?(o(),h(s,{key:0})):(o(),i(y,{key:1},[u(k,null,{default:v(()=>[u(c,{icon:"i-carbon-roadmap",name:"feature-timeline",title:"Timeline",description:"Timeline enables the inspection of when composable being executed and the route changes.",actions:[{label:"Enable"}],onAction:l})]),_:1}),u(g(n),null,{default:v(({resolve:M,args:b})=>[u(_,{"model-value":!0,onClose:N=>M(!1)},{default:v(()=>[t("div",hs,[r[5]||(r[5]=t("h2",{"text-xl":""},[t("span",{capitalize:""},"Enable Timeline?")],-1)),t("p",vs,[r[1]||(r[1]=F(" Your ")),u(D,{role:"button",n:"primary",underline:"",onClick:r[0]||(r[0]=N=>g(e)(g(p)?._nuxtConfigFile)),textContent:"Nuxt config"}),r[2]||(r[2]=F(" will be updated as: "))]),u(A,{from:b[0],to:b[1],"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),r[6]||(r[6]=t("p",null,[t("span",{op50:""},"Then Nuxt will "),t("span",{"text-orange":""},"restart automatically"),F(". ")],-1)),t("div",_s,[u(S,{onClick:N=>M(!1)},{default:v(()=>r[3]||(r[3]=[F(" Cancel ")])),_:2},1032,["onClick"]),u(S,{n:"solid primary",capitalize:"",onClick:N=>M(!0)},{default:v(()=>r[4]||(r[4]=[F(" Enable ")])),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)),u($,null,{default:v(()=>[u(L)]),_:1})],64)}}});export{Vs as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e,k as s}from"./vendor/unocss-dypm4cev.js";e({defaults:{presets:[s({prefix:["i-",""],collections:{},cdn:"https://esm.sh/",scale:1.2,extraProperties:{display:"inline-block","vertical-align":"middle"}})]},bypassDefined:!0});
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const Xe=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Ze=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,et=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function tt(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){nt(e);return}return t}function nt(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function rt(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const s=n.toLowerCase();if(s==="true")return!0;if(s==="false")return!1;if(s==="undefined")return;if(s==="null")return null;if(s==="nan")return Number.NaN;if(s==="infinity")return Number.POSITIVE_INFINITY;if(s==="-infinity")return Number.NEGATIVE_INFINITY}if(!et.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Xe.test(e)||Ze.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,tt)}return JSON.parse(e)}catch(s){if(t.strict)throw s;return e}}const st=/#/g,ot=/&/g,it=/\//g,at=/=/g,ue=/\+/g,ct=/%5e/gi,lt=/%60/gi,ft=/%7c/gi,ut=/%20/gi;function ht(e){return encodeURI(""+e).replace(ft,"|")}function ae(e){return ht(typeof e=="string"?e:JSON.stringify(e)).replace(ue,"%2B").replace(ut,"+").replace(st,"%23").replace(ot,"%26").replace(lt,"`").replace(ct,"^").replace(it,"%2F")}function ee(e){return ae(e).replace(at,"%3D")}function J(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function pt(e){return J(e.replace(ue," "))}function dt(e){return J(e.replace(ue," "))}function mt(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const s=n.match(/([^=]+)=?(.*)/)||[];if(s.length<2)continue;const r=pt(s[1]);if(r==="__proto__"||r==="constructor")continue;const i=dt(s[2]||"");t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function gt(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${ee(e)}=${ae(n)}`).join("&"):`${ee(e)}=${ae(t)}`:ee(e)}function yt(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>gt(t,e[t])).filter(Boolean).join("&")}const wt=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,bt=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,St=/^([/\\]\s*){2,}[^/\\]/,Et=/^[\s\0]*(blob|data|javascript|vbscript):$/i,$t=/\/$|\/\?|\/#/,At=/^\.?\//;function he(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?wt.test(e):bt.test(e)||(t.acceptRelative?St.test(e):!1)}function Xn(e){return!!e&&Et.test(e)}function ce(e="",t){return t?$t.test(e):e.endsWith("/")}function Pe(e="",t){if(!t)return(ce(e)?e.slice(0,-1):e)||"/";if(!ce(e,!0))return e||"/";let n=e,s="";const r=e.indexOf("#");r>=0&&(n=e.slice(0,r),s=e.slice(r));const[i,...l]=n.split("?");return((i.endsWith("/")?i.slice(0,-1):i)||"/")+(l.length>0?`?${l.join("?")}`:"")+s}function le(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(ce(e,!0))return e||"/";let n=e,s="";const r=e.indexOf("#");if(r>=0&&(n=e.slice(0,r),s=e.slice(r),!n))return s;const[i,...l]=n.split("?");return i+"/"+(l.length>0?`?${l.join("?")}`:"")+s}function Ct(e=""){return e.startsWith("/")}function me(e=""){return Ct(e)?e:"/"+e}function xt(e,t){if(Ie(t)||he(e))return e;const n=Pe(t);return e.startsWith(n)?e:Rt(n,e)}function Zn(e,t){if(Ie(t))return e;const n=Pe(t);if(!e.startsWith(n))return e;const s=e.slice(n.length);return s[0]==="/"?s:"/"+s}function _t(e,t){const n=Ot(e),s={...mt(n.search),...t};return n.search=yt(s),jt(n)}function Ie(e){return!e||e==="/"}function vt(e){return e&&e!=="/"}function Rt(e,...t){let n=e||"";for(const s of t.filter(r=>vt(r)))if(n){const r=s.replace(At,"");n=le(n)+r}else n=s;return n}function er(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),s=[];let r=0;for(const l of n)if(!(!l||l==="/")){for(const[a,c]of l.split(t).entries())if(!(!c||c===".")){if(c===".."){if(s.length===1&&he(s[0]))continue;s.pop(),r--;continue}if(a===1&&s[s.length-1]?.endsWith(":/")){s[s.length-1]+="/"+c;continue}s.push(c),r++}}let i=s.join("/");return r>=0?n[0]?.startsWith("/")&&!i.startsWith("/")?i="/"+i:n[0]?.startsWith("./")&&!i.startsWith("./")&&(i="./"+i):i="../".repeat(-1*r)+i,n[n.length-1]?.endsWith("/")&&!i.endsWith("/")&&(i+="/"),i}function tr(e,t,n={}){return n.trailingSlash||(e=le(e),t=le(t)),n.leadingSlash||(e=me(e),t=me(t)),n.encoding||(e=J(e),t=J(t)),e===t}const Ne=Symbol.for("ufo:protocolRelative");function Ot(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,u,m=""]=n;return{protocol:u.toLowerCase(),pathname:m,href:u+m,auth:"",host:"",search:"",hash:""}}if(!he(e,{acceptRelative:!0}))return ge(e);const[,s="",r,i=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,l="",a=""]=i.match(/([^#/?]*)(.*)?/)||[];s==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:c,search:f,hash:o}=ge(a);return{protocol:s.toLowerCase(),auth:r?r.slice(0,Math.max(0,r.length-1)):"",host:l,pathname:c,search:f,hash:o,[Ne]:!s}}function ge(e=""){const[t="",n="",s=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:s}}function jt(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",s=e.hash||"",r=e.auth?e.auth+"@":"",i=e.host||"";return(e.protocol||e[Ne]?(e.protocol||"")+"//":"")+r+i+t+n+s}class Tt extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function Mt(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",s=e.request?.url||String(e.request)||"/",r=`[${n}] ${JSON.stringify(s)}`,i=e.response?`${e.response.status} ${e.response.statusText}`:"<no response>",l=`${r}: ${i}${t?` ${t}`:""}`,a=new Tt(l,e.error?{cause:e.error}:void 0);for(const c of["request","options","response"])Object.defineProperty(a,c,{get(){return e[c]}});for(const[c,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,c,{get(){return e.response&&e.response[f]}});return a}const kt=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function ye(e="GET"){return kt.has(e.toUpperCase())}function Lt(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Pt=new Set(["image/svg","application/xml","application/xhtml","application/html"]),It=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Nt(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return It.test(t)?"json":Pt.has(t)||t.startsWith("text/")?"text":"blob"}function Ft(e,t,n,s){const r=Dt(t?.headers??e?.headers,n?.headers,s);let i;return(n?.query||n?.params||t?.params||t?.query)&&(i={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:i,params:i,headers:r}}function Dt(e,t,n){if(!t)return new n(e);const s=new n(t);if(e)for(const[r,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))s.set(r,i);return s}async function U(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const zt=new Set([408,409,425,429,500,502,503,504]),qt=new Set([101,204,205,304]);function Fe(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:s=globalThis.AbortController}=e;async function r(a){const c=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!c){let o;typeof a.options.retry=="number"?o=a.options.retry:o=ye(a.options.method)?0:1;const u=a.response&&a.response.status||500;if(o>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(u):zt.has(u))){const m=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return m>0&&await new Promise(p=>setTimeout(p,m)),i(a.request,{...a.options,retry:o-1})}}const f=Mt(a);throw Error.captureStackTrace&&Error.captureStackTrace(f,i),f}const i=async function(c,f={}){const o={request:c,options:Ft(c,f,e.defaults,n),response:void 0,error:void 0};o.options.method&&(o.options.method=o.options.method.toUpperCase()),o.options.onRequest&&await U(o,o.options.onRequest),typeof o.request=="string"&&(o.options.baseURL&&(o.request=xt(o.request,o.options.baseURL)),o.options.query&&(o.request=_t(o.request,o.options.query),delete o.options.query),"query"in o.options&&delete o.options.query,"params"in o.options&&delete o.options.params),o.options.body&&ye(o.options.method)&&(Lt(o.options.body)?(o.options.body=typeof o.options.body=="string"?o.options.body:JSON.stringify(o.options.body),o.options.headers=new n(o.options.headers||{}),o.options.headers.has("content-type")||o.options.headers.set("content-type","application/json"),o.options.headers.has("accept")||o.options.headers.set("accept","application/json")):("pipeTo"in o.options.body&&typeof o.options.body.pipeTo=="function"||typeof o.options.body.pipe=="function")&&("duplex"in o.options||(o.options.duplex="half")));let u;if(!o.options.signal&&o.options.timeout){const p=new s;u=setTimeout(()=>{const b=new Error("[TimeoutError]: The operation was aborted due to timeout");b.name="TimeoutError",b.code=23,p.abort(b)},o.options.timeout),o.options.signal=p.signal}try{o.response=await t(o.request,o.options)}catch(p){return o.error=p,o.options.onRequestError&&await U(o,o.options.onRequestError),await r(o)}finally{u&&clearTimeout(u)}if((o.response.body||o.response._bodyInit)&&!qt.has(o.response.status)&&o.options.method!=="HEAD"){const p=(o.options.parseResponse?"json":o.options.responseType)||Nt(o.response.headers.get("content-type")||"");switch(p){case"json":{const b=await o.response.text(),g=o.options.parseResponse||rt;o.response._data=g(b);break}case"stream":{o.response._data=o.response.body||o.response._bodyInit;break}default:o.response._data=await o.response[p]()}}return o.options.onResponse&&await U(o,o.options.onResponse),!o.options.ignoreResponseError&&o.response.status>=400&&o.response.status<600?(o.options.onResponseError&&await U(o,o.options.onResponseError),await r(o)):o.response},l=async function(c,f){return(await i(c,f))._data};return l.raw=i,l.native=(...a)=>t(...a),l.create=(a={},c={})=>Fe({...e,...c,defaults:{...e.defaults,...c.defaults,...a}}),l}const Q=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Vt=Q.fetch?(...e)=>Q.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Ut=Q.Headers,Bt=Q.AbortController,Wt=Fe({fetch:Vt,Headers:Ut,AbortController:Bt}),Ht=Wt,H="default",fe="preflights",Gt="shortcuts",Jt="imports",Qt={[Jt]:-200,[fe]:-100,[Gt]:-10,[H]:0},Kt=/[\\:]?[\s'"`;{}]+/g;function Yt(e){return e.split(Kt)}const Xt={name:"@unocss/core/extractor-split",order:0,extract({code:e}){return Yt(e)}};function k(e=[]){return Array.isArray(e)?e:[e]}function F(e){return Array.from(new Set(e))}function we(e,t){return e.reduce((n,s)=>(n.findIndex(i=>t(s,i))===-1&&n.push(s),n),[])}function T(e){return typeof e=="string"}class De extends Set{_map;constructor(t){super(t),this._map??=new Map}add(t){return this._map??=new Map,this._map.set(t,(this._map.get(t)??0)+1),super.add(t)}delete(t){return this._map.delete(t),super.delete(t)}clear(){this._map.clear(),super.clear()}getCount(t){return this._map.get(t)??0}setCount(t,n){return this._map.set(t,n),super.add(t)}}function te(e){return e instanceof De}function Zt(e){const t=e.length;let n=-1,s,r="";const i=e.charCodeAt(0);for(;++n<t;){if(s=e.charCodeAt(n),s===0){r+="�";continue}if(s===37){r+="\\%";continue}if(s===44){r+="\\,";continue}if(s>=1&&s<=31||s===127||n===0&&s>=48&&s<=57||n===1&&s>=48&&s<=57&&i===45){r+=`\\${s.toString(16)} `;continue}if(n===0&&t===1&&s===45){r+=`\\${e.charAt(n)}`;continue}if(s>=128||s===45||s===95||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122){r+=e.charAt(n);continue}r+=`\\${e.charAt(n)}`}return r}const ne=Zt;function en(e){return typeof e=="function"?{match:e}:e}function be(e){return e.length===3}function re(e){return e!=null}function tn(){}class nn{_map=new Map;get(t,n){const s=this._map.get(t);if(s)return s.get(n)}getFallback(t,n,s){let r=this._map.get(t);return r||(r=new Map,this._map.set(t,r)),r.has(n)||r.set(n,s),r.get(n)}set(t,n,s){let r=this._map.get(t);return r||(r=new Map,this._map.set(t,r)),r.set(n,s),this}has(t,n){return this._map.get(t)?.has(n)}delete(t,n){return this._map.get(t)?.delete(n)||!1}deleteTop(t){return this._map.delete(t)}map(t){return Array.from(this._map.entries()).flatMap(([n,s])=>Array.from(s.entries()).map(([r,i])=>t(i,n,r)))}}class rn extends Map{getFallback(t,n){const s=this.get(t);return s===void 0?(this.set(t,n),n):s}map(t){const n=[];return this.forEach((s,r)=>{n.push(t(s,r))}),n}flatMap(t){const n=[];return this.forEach((s,r)=>{n.push(...t(s,r))}),n}}function q(e){return T(e)?e:(Array.isArray(e)?e:Object.entries(e)).filter(t=>t[1]!=null)}function sn(e){return Array.isArray(e)?e.find(t=>!Array.isArray(t)||Array.isArray(t[0]))?e.map(t=>q(t)):[e]:[q(e)]}function on(e){return e.filter(([t,n],s)=>{if(t.startsWith("$$"))return!1;for(let r=s-1;r>=0;r--)if(e[r][0]===t&&e[r][1]===n)return!1;return!0})}function se(e){return e==null?"":on(e).map(([t,n])=>n!=null&&typeof n!="function"?`${t}:${n};`:void 0).filter(Boolean).join("")}function B(e){return e&&typeof e=="object"&&!Array.isArray(e)}function ze(e,t,n=!1){const s=e,r=t;if(Array.isArray(r))return n&&Array.isArray(r)?[...s,...r]:[...r];const i={...s};return B(s)&&B(r)&&Object.keys(r).forEach(l=>{B(s[l])&&B(r[l])||Array.isArray(s[l])&&Array.isArray(r[l])?i[l]=ze(s[l],r[l],n):Object.assign(i,{[l]:r[l]})}),i}function G(e){let t,n,s;if(Array.isArray(e)){for(n=Array.from({length:t=e.length});t--;)n[t]=(s=e[t])&&typeof s=="object"?G(s):s;return n}if(Object.prototype.toString.call(e)==="[object Object]"){n={};for(t in e)t==="__proto__"?Object.defineProperty(n,t,{value:G(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=(s=e[t])&&typeof s=="object"?G(s):s;return n}return e}function an(e){return T(e[0])}function cn(e){return T(e[0])}const W={};function ln(e=["-",":"]){const t=e.join("|");return W[t]||(W[t]=new RegExp(`((?:[!@<~\\w+:_-]|\\[&?>?:?\\S*\\])+?)(${t})\\(((?:[~!<>\\w\\s:/\\\\,%#.$?-]|\\[.*?\\])+?)\\)(?!\\s*?=>)`,"gm")),W[t].lastIndex=0,W[t]}function fn(e,t=["-",":"],n=5){const s=ln(t);let r,i=e.toString();const l=new Set,a=new Map;do r=!1,i=i.replace(s,(f,o,u,m,p)=>{if(!t.includes(u))return f;r=!0,l.add(o+u);const b=p+o.length+u.length+1,g={length:f.length,items:[]};a.set(p,g);for(const y of[...m.matchAll(/\S+/g)]){const R=b+y.index;let S=a.get(R)?.items;S?a.delete(R):S=[{offset:R,length:y[0].length,className:y[0]}];for(const E of S)E.className=E.className==="~"?o:E.className.replace(/^(!?)(.*)/,`$1${o}${u}$2`),g.items.push(E)}return"$".repeat(f.length)}),n-=1;while(r&&n);let c;if(typeof e=="string"){c="";let f=0;for(const[o,u]of a)c+=e.slice(f,o),c+=u.items.map(m=>m.className).join(" "),f=o+u.length;c+=e.slice(f)}else{c=e;for(const[f,o]of a)c.overwrite(f,f+o.length,o.items.map(u=>u.className).join(" "))}return{prefixes:Array.from(l),hasChanged:r,groupsByOffset:a,get expanded(){return c.toString()}}}function un(e,t=["-",":"],n=5){const s=fn(e,t,n);return typeof e=="string"?s.expanded:e}const Se=new Set;function qe(e){Se.has(e)||(console.warn("[unocss]",e),Se.add(e))}function Ve(e){return k(e).flatMap(t=>Array.isArray(t)?[t]:Object.entries(t))}const Ee="_uno_resolved";async function hn(e){let t=typeof e=="function"?await e():await e;if(Ee in t)return t;t={...t},Object.defineProperty(t,Ee,{value:!0,enumerable:!1});const n=t.shortcuts?Ve(t.shortcuts):void 0;if(t.shortcuts=n,t.prefix||t.layer){const s=r=>{r[2]||(r[2]={});const i=r[2];i.prefix==null&&t.prefix&&(i.prefix=k(t.prefix)),i.layer==null&&t.layer&&(i.layer=t.layer)};n?.forEach(s),t.rules?.forEach(s)}return t}async function Ue(e){const t=await hn(e);if(!t.presets)return[t];const n=(await Promise.all((t.presets||[]).flatMap(k).flatMap(Ue))).flat();return[t,...n]}function pn(e){if(e.length===0)return{};const t=[],n=[];let s=!1;const r=[],i=[],l=[];for(const c of e){if(c.pipeline===!1){s=!0;break}else c.pipeline?.include&&t.push(c.pipeline.include),c.pipeline?.exclude&&n.push(c.pipeline.exclude);c.filesystem&&r.push(c.filesystem),c.inline&&i.push(c.inline),c.plain&&l.push(c.plain)}const a={pipeline:s?!1:{include:F(Ae(...t)),exclude:F(Ae(...n))}};return r.length&&(a.filesystem=F(r.flat())),i.length&&(a.inline=F(i.flat())),l.length&&(a.plain=F(l.flat())),a}async function $e(e={},t={}){const n=Object.assign({},t,e),s=we((await Promise.all((n.presets||[]).flatMap(k).flatMap(Ue))).flat(),(d,h)=>d.name===h.name),r=[...s.filter(d=>d.enforce==="pre"),...s.filter(d=>!d.enforce),...s.filter(d=>d.enforce==="post")],i=[...r,n],l=[...i].reverse(),a=Object.assign({},Qt,...i.map(d=>d.layers));function c(d){return F(i.flatMap(h=>k(h[d]||[])))}const f=c("extractors");let o=l.find(d=>d.extractorDefault!==void 0)?.extractorDefault;o===void 0&&(o=Xt),o&&!f.includes(o)&&f.unshift(o),f.sort((d,h)=>(d.order||0)-(h.order||0));const u=c("rules"),m={},p=u.length,b=u.filter(d=>an(d)?(k(d[2]?.prefix||"").forEach(w=>{m[w+d[0]]=d}),!1):!0).reverse();let g=dn(i.map(d=>d.theme));const y=c("extendTheme");for(const d of y)g=d(g)||g;const R={templates:F(i.flatMap(d=>k(d.autocomplete?.templates))),extractors:i.flatMap(d=>k(d.autocomplete?.extractors)).sort((d,h)=>(d.order||0)-(h.order||0)),shorthands:mn(i.map(d=>d.autocomplete?.shorthands||{}))};let S=c("separators");S.length||(S=[":","-"]);const E=c("content"),C=pn(E),x={mergeSelectors:!0,warn:!0,sortLayers:d=>d,...n,blocklist:c("blocklist"),presets:r,envMode:n.envMode||"build",shortcutsLayer:n.shortcutsLayer||"shortcuts",layers:a,theme:g,rules:u,rulesSize:p,rulesDynamic:b,rulesStaticMap:m,preprocess:c("preprocess"),postprocess:c("postprocess"),preflights:c("preflights"),autocomplete:R,variants:c("variants").map(en).sort((d,h)=>(d.order||0)-(h.order||0)),shortcuts:Ve(c("shortcuts")).reverse(),extractors:f,safelist:c("safelist"),separators:S,details:n.details??n.envMode==="dev",content:C,transformers:we(c("transformers"),(d,h)=>d.name===h.name)};for(const d of i)d?.configResolved?.(x);return x}function dn(e){return e.map(t=>t?G(t):{}).reduce((t,n)=>ze(t,n),{})}function mn(e){return e.reduce((t,n)=>{const s={};for(const r in n){const i=n[r];Array.isArray(i)?s[r]=`(${i.join("|")})`:s[r]=i}return{...t,...s}},{})}function Ae(...e){return e.flatMap(gn)}function gn(e){return Array.isArray(e)?e:e?[e]:[]}const yn="65.4.0";function wn(){return{events:{},emit(e,...t){(this.events[e]||[]).forEach(n=>n(...t))},on(e,t){return(this.events[e]=this.events[e]||[]).push(t),()=>this.events[e]=(this.events[e]||[]).filter(n=>n!==t)}}}const z={shortcutsNoMerge:"$$symbol-shortcut-no-merge",variants:"$$symbol-variants",parent:"$$symbol-parent",selector:"$$symbol-selector",layer:"$$symbol-layer",sort:"$$symbol-sort"};class pe{constructor(t={},n={}){this.userConfig=t,this.defaults=n}version=yn;events=wn();config=void 0;cache=new Map;blocked=new Set;parentOrders=new Map;activatedRules=new Set;static async create(t={},n={}){const s=new pe(t,n);return s.config=await $e(s.userConfig,s.defaults),s.events.emit("config",s.config),s}async setConfig(t,n){t&&(n&&(this.defaults=n),this.userConfig=t,this.blocked.clear(),this.parentOrders.clear(),this.activatedRules.clear(),this.cache.clear(),this.config=await $e(t,this.defaults),this.events.emit("config",this.config))}async applyExtractors(t,n,s=new Set){const r={original:t,code:t,id:n,extracted:s,envMode:this.config.envMode};for(const i of this.config.extractors){const l=await i.extract?.(r);if(l)if(te(l)&&te(s))for(const a of l)s.setCount(a,s.getCount(a)+l.getCount(a));else for(const a of l)s.add(a)}return s}makeContext(t,n){const s={rawSelector:t,currentSelector:n[1],theme:this.config.theme,generator:this,symbols:z,variantHandlers:n[2],constructCSS:(...r)=>this.constructCustomCSS(s,...r),variantMatch:n};return s}async parseToken(t,n){if(this.blocked.has(t))return;const s=`${t}${n?` ${n}`:""}`;if(this.cache.has(s))return this.cache.get(s);let r=t;for(const c of this.config.preprocess)r=c(t);if(this.isBlocked(r)){this.blocked.add(t),this.cache.set(s,null);return}const i=await this.matchVariants(t,r);if(i.every(c=>!c||this.isBlocked(c[1]))){this.blocked.add(t),this.cache.set(s,null);return}const l=async c=>{const f=this.makeContext(t,[n||c[0],c[1],c[2],c[3]]);this.config.details&&(f.variants=[...c[3]]);const o=await this.expandShortcut(f.currentSelector,f);return o?await this.stringifyShortcuts(f.variantMatch,f,o[0],o[1]):(await this.parseUtil(f.variantMatch,f))?.map(m=>this.stringifyUtil(m,f)).filter(re)},a=(await Promise.all(i.map(c=>l(c)))).flat().filter(c=>!!c);if(a?.length)return this.cache.set(s,a),a;this.cache.set(s,null)}async generate(t,n={}){const{id:s,scope:r,preflights:i=!0,safelist:l=!0,minify:a=!1,extendedInfo:c=!1}=n,f=T(t)?await this.applyExtractors(t,s,c?new De:new Set):Array.isArray(t)?new Set(t):t;if(l){const h={generator:this,theme:this.config.theme};this.config.safelist.flatMap(w=>typeof w=="function"?w(h):w).forEach(w=>{f.has(w)||f.add(w)})}const o=a?"":`
|
|
2
|
-
`,u=new Set([H]),m=c?new Map:new Set,p=new Map;let b={};const g=Array.from(f).map(async h=>{if(m.has(h))return;const w=await this.parseToken(h);if(w!=null){m instanceof Map?m.set(h,{data:w,count:te(f)?f.getCount(h):-1}):m.add(h);for(const $ of w){const L=$[3]||"",P=$[4]?.layer;p.has(L)||p.set(L,[]),p.get(L).push($),P&&u.add(P)}}});await Promise.all(g),await(async()=>{if(!i)return;const h={generator:this,theme:this.config.theme},w=new Set([]);this.config.preflights.forEach(({layer:$=fe})=>{u.add($),w.add($)}),b=Object.fromEntries(await Promise.all(Array.from(w).map(async $=>{const P=(await Promise.all(this.config.preflights.filter(I=>(I.layer||fe)===$).map(async I=>await I.getCSS(h)))).filter(Boolean).join(o);return[$,P]})))})();const y=this.config.sortLayers(Array.from(u).sort((h,w)=>(this.config.layers[h]??0)-(this.config.layers[w]??0)||h.localeCompare(w))),R={},S=this.config.outputToCssLayers,E=h=>{let w=h;return typeof S=="object"&&(w=S.cssLayerName?.(h)),w===null?null:w??h},C=(h=H)=>{if(R[h])return R[h];let w=Array.from(p).sort((P,I)=>(this.parentOrders.get(P[0])??0)-(this.parentOrders.get(I[0])??0)||P[0]?.localeCompare(I[0]||"")||0).map(([P,I])=>{const A=I.length,v=I.filter(_=>(_[4]?.layer||H)===h).sort((_,M)=>_[0]-M[0]||(_[4]?.sort||0)-(M[4]?.sort||0)||_[5]?.currentSelector?.localeCompare(M[5]?.currentSelector??"")||_[1]?.localeCompare(M[1]||"")||_[2]?.localeCompare(M[2]||"")||0).map(([,_,M,,V,,X])=>[[[(_&&En(_,r))??"",V?.sort??0]],M,!!(X??V?.noMerge)]);if(!v.length)return;const O=v.reverse().map(([_,M,V],X)=>{if(!V&&this.config.mergeSelectors)for(let D=X+1;D<A;D++){const N=v[D];if(N&&!N[2]&&(_&&N[0]||_==null&&N[0]==null)&&N[1]===M)return _&&N[0]&&N[0].push(..._),null}const Z=_?F(_.sort((D,N)=>D[1]-N[1]||D[0]?.localeCompare(N[0]||"")||0).map(D=>D[0]).filter(Boolean)):[];return Z.length?`${Z.join(`,${o}`)}{${M}}`:M}).filter(Boolean).reverse().join(o);if(!P)return O;const j=P.split(" $$ ");return`${j.join("{")}{${o}${O}${o}${"}".repeat(j.length)}`}).filter(Boolean).join(o);i&&(w=[b[h],w].filter(Boolean).join(o));let $;S&&w&&($=E(h),$!==null&&(w=`@layer ${$}{${o}${w}${o}}`));const L=a?"":`/* layer: ${h}${$&&$!==h?`, alias: ${$}`:""} */${o}`;return R[h]=w?L+w:""},x=(h=y,w)=>{const $=h.filter(L=>!w?.includes(L));return[S&&$.length>0?`@layer ${$.map(E).filter(re).join(", ")};`:void 0,...$.map(L=>C(L)||"")].filter(Boolean).join(o)};return{get css(){return x()},layers:y,matched:m,getLayers:x,getLayer:C,setLayer:async(h,w)=>{const $=await w(C(h));return R[h]=$,$}}}async matchVariants(t,n){const s={rawSelector:t,theme:this.config.theme,generator:this},r=async i=>{let l=!0;const[,,a,c]=i;for(;l;){l=!1;const f=i[1];for(const o of this.config.variants){if(!o.multiPass&&c.has(o))continue;let u=await o.match(f,s);if(u){if(T(u)){if(u===f)continue;u={matcher:u}}if(Array.isArray(u)){if(!u.length)continue;if(u.length===1)u=u[0];else{if(o.multiPass)throw new Error("multiPass can not be used together with array return variants");const m=u.map(p=>{const b=p.matcher??f,g=[p,...a],y=new Set(c);return y.add(o),[i[0],b,g,y]});return(await Promise.all(m.map(p=>r(p)))).flat()}}i[1]=u.matcher??f,a.unshift(u),c.add(o),l=!0;break}}if(!l)break;if(a.length>500)throw new Error(`Too many variants applied to "${t}"`)}return[i]};return await r([t,n||t,[],new Set])}applyVariants(t,n=t[4],s=t[1]){const i=n.slice().sort((f,o)=>(f.order||0)-(o.order||0)).reduceRight((f,o)=>u=>{const m=o.body?.(u.entries)||u.entries,p=Array.isArray(o.parent)?o.parent:[o.parent,void 0];return(o.handle??An)({...u,entries:m,selector:o.selector?.(u.selector,m)||u.selector,parent:p[0]||u.parent,parentOrder:p[1]||u.parentOrder,layer:o.layer||u.layer,sort:o.sort||u.sort},f)},f=>f)({prefix:"",selector:$n(s),pseudo:"",entries:t[2]}),{parent:l,parentOrder:a}=i;l!=null&&a!=null&&this.parentOrders.set(l,a);const c={selector:[i.prefix,i.selector,i.pseudo].join(""),entries:i.entries,parent:l,layer:i.layer,sort:i.sort,noMerge:i.noMerge};for(const f of this.config.postprocess)f(c);return c}constructCustomCSS(t,n,s){const r=q(n);if(T(r))return r;const{selector:i,entries:l,parent:a}=this.applyVariants([0,s||t.rawSelector,r,void 0,t.variantHandlers]),c=`${i}{${se(l)}}`;return a?`${a}{${c}}`:c}async parseUtil(t,n,s=!1,r){const i=T(t)?await this.matchVariants(t):[t],l=async([c,f,o])=>{this.config.details&&(n.rules=n.rules??[]);const u=this.config.rulesStaticMap[f];if(u&&u[1]&&(s||!u[2]?.internal)){n.generator.activatedRules.add(u),this.config.details&&n.rules.push(u);const p=this.config.rules.indexOf(u),b=q(u[1]),g=u[2];return T(b)?[[p,b,g]]:[[p,c,b,g,o]]}n.variantHandlers=o;const{rulesDynamic:m}=this.config;for(const p of m){const[b,g,y]=p;if(y?.internal&&!s)continue;let R=f;if(y?.prefix){const x=k(y.prefix);if(r){const d=k(r);if(!x.some(h=>d.includes(h)))continue}else{const d=x.find(h=>f.startsWith(h));if(d==null)continue;R=f.slice(d.length)}}const S=R.match(b);if(!S)continue;let E=await g(S,n);if(!E)continue;if(n.generator.activatedRules.add(p),this.config.details&&n.rules.push(p),typeof E!="string")if(Symbol.asyncIterator in E){const x=[];for await(const d of E)d&&x.push(d);E=x}else Symbol.iterator in E&&!Array.isArray(E)&&(E=Array.from(E).filter(re));const C=sn(E).filter(x=>x.length);if(C.length){const x=this.config.rules.indexOf(p);return C.map(d=>{if(T(d))return[x,d,y];let h=o,w=y;for(const $ of d)$[0]===z.variants?h=[...k($[1]),...h]:$[0]===z.parent?h=[{parent:$[1]},...h]:$[0]===z.selector?h=[{selector:$[1]},...h]:$[0]===z.layer?h=[{layer:$[1]},...h]:$[0]===z.sort&&(w={...w,sort:$[1]});return[x,c,d,w,h]})}}},a=(await Promise.all(i.map(c=>l(c)))).flat().filter(c=>!!c);if(a.length)return a}stringifyUtil(t,n){if(!t)return;if(be(t))return[t[0],void 0,t[1],void 0,t[2],this.config.details?n:void 0,void 0];const{selector:s,entries:r,parent:i,layer:l,sort:a,noMerge:c}=this.applyVariants(t),f=se(r);if(!f)return;const{layer:o,sort:u,...m}=t[3]??{},p={...m,layer:l??o,sort:a??u};return[t[0],s,f,i,p,this.config.details?n:void 0,c]}async expandShortcut(t,n,s=5){if(s===0)return;const r=this.config.details?f=>{n.shortcuts=n.shortcuts??[],n.shortcuts.push(f)}:tn;let i,l,a,c;for(const f of this.config.shortcuts){let o=t;if(f[2]?.prefix){const m=k(f[2].prefix).find(p=>t.startsWith(p));if(m==null)continue;o=t.slice(m.length)}if(cn(f)){if(f[0]===o){i=i||f[2],l=f[1],r(f);break}}else{const u=o.match(f[0]);if(u&&(l=f[1](u,n)),l){i=i||f[2],r(f);break}}}if(l&&(a=F(k(l).filter(T).map(f=>un(f.trim()).split(/\s+/g)).flat()),c=k(l).filter(f=>!T(f)).map(f=>({handles:[],value:f}))),!l){const f=T(t)?await this.matchVariants(t):[t];for(const o of f){const[u,m,p]=o;if(u!==m){const b=await this.expandShortcut(m,n,s-1);b&&(a=b[0].filter(T).map(g=>u.replace(m,g)),c=b[0].filter(g=>!T(g)).map(g=>({handles:[...g.handles,...p],value:g.value})))}}}if(!(!a?.length&&!c?.length))return[[await Promise.all(k(a).map(async f=>(await this.expandShortcut(f,n,s-1))?.[0]||[f])),c].flat(2).filter(f=>!!f),i]}async stringifyShortcuts(t,n,s,r={layer:this.config.shortcutsLayer}){const i=new rn,l=(await Promise.all(F(s).map(async o=>{const u=T(o)?await this.parseUtil(o,n,!0,r.prefix):[[Number.POSITIVE_INFINITY,"{inline}",q(o.value),void 0,o.handles]];return!u&&this.config.warn&&qe(`unmatched utility "${o}" in shortcut "${t[1]}"`),u||[]}))).flat(1).filter(Boolean).sort((o,u)=>o[0]-u[0]),[a,,c]=t,f=[];for(const o of l){if(be(o)){f.push([o[0],void 0,o[1],void 0,o[2],n,void 0]);continue}const{selector:u,entries:m,parent:p,sort:b,noMerge:g,layer:y}=this.applyVariants(o,[...o[4],...c],a);i.getFallback(y??r.layer,new nn).getFallback(u,p,[[],o[0]])[0].push([m,!!(g??o[3]?.noMerge),b??0])}return f.concat(i.flatMap((o,u)=>o.map(([m,p],b,g)=>{const y=(S,E,C)=>{const x=Math.max(...C.map(h=>h[1])),d=C.map(h=>h[0]);return(S?[d.flat(1)]:d).map(h=>{const w=se(h);if(w)return[p,b,w,g,{...r,noMerge:E,sort:x,layer:u},n,void 0]})};return[[m.filter(([,S])=>S).map(([S,,E])=>[S,E]),!0],[m.filter(([,S])=>!S).map(([S,,E])=>[S,E]),!1]].map(([S,E])=>[...y(!1,E,S.filter(([C])=>C.some(x=>x[0]===z.shortcutsNoMerge))),...y(!0,E,S.filter(([C])=>C.every(x=>x[0]!==z.shortcutsNoMerge)))])}).flat(2).filter(Boolean)))}isBlocked(t){return!t||this.config.blocklist.map(n=>Array.isArray(n)?n[0]:n).some(n=>typeof n=="function"?n(t):T(n)?n===t:n.test(t))}getBlocked(t){const n=this.config.blocklist.find(s=>{const r=Array.isArray(s)?s[0]:s;return typeof r=="function"?r(t):T(r)?r===t:r.test(t)});return n?Array.isArray(n)?n:[n,void 0]:void 0}}async function bn(e,t){return await pe.create(e,t)}const Be=/\s\$\$\s+/g;function Sn(e){return Be.test(e)}function En(e,t){return Sn(e)?e.replace(Be,t?` ${t} `:" "):t?`${t} ${e}`:e}const Ce=/^\[(.+?)(~?=)"(.*)"\]$/;function $n(e){return Ce.test(e)?e.replace(Ce,(t,n,s,r)=>`[${ne(n)}${s}"${ne(r)}"]`):`.${ne(e)}`}function An(e,t){return t(e)}var xe={};const Cn=Object.freeze({left:0,top:0,width:16,height:16}),K=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),We=Object.freeze({...Cn,...K}),xn=Object.freeze({...We,body:"",hidden:!1}),_n=Object.freeze({width:null,height:null}),He=Object.freeze({..._n,...K});function vn(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const s=((e.rotate||0)+(t.rotate||0))%4;return s&&(n.rotate=s),n}function _e(e,t){const n=vn(e,t);for(const s in xn)s in K?s in e&&!(s in n)&&(n[s]=K[s]):s in t?n[s]=t[s]:s in e&&(n[s]=e[s]);return n}function Rn(e,t){const n=e.icons,s=e.aliases||Object.create(null),r=Object.create(null);function i(l){if(n[l])return r[l]=[];if(!(l in r)){r[l]=null;const a=s[l]&&s[l].parent,c=a&&i(a);c&&(r[l]=[a].concat(c))}return r[l]}return t.forEach(i),r}function ve(e,t,n){const s=e.icons,r=e.aliases||Object.create(null);let i={};function l(a){i=_e(s[a]||r[a],i)}return l(t),n.forEach(l),_e(e,i)}function On(e,t){if(e.icons[t])return ve(e,t,[]);const n=Rn(e,[t])[t];return n?ve(e,t,n):null}const jn=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Tn=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Y(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const s=e.split(jn);if(s===null||!s.length)return e;const r=[];let i=s.shift(),l=Tn.test(i);for(;;){if(l){const a=parseFloat(i);isNaN(a)?r.push(i):r.push(Math.ceil(a*t*n)/n)}else r.push(i);if(i=s.shift(),i===void 0)return r.join("");l=!l}}function Mn(e,t="defs"){let n="";const s=e.indexOf("<"+t);for(;s>=0;){const r=e.indexOf(">",s),i=e.indexOf("</"+t);if(r===-1||i===-1)break;const l=e.indexOf(">",i);if(l===-1)break;n+=e.slice(r+1,i).trim(),e=e.slice(0,s).trim()+e.slice(l+1)}return{defs:n,content:e}}function kn(e,t){return e?"<defs>"+e+"</defs>"+t:t}function Ln(e,t,n){const s=Mn(e);return kn(s.defs,t+s.content+n)}const de=e=>e==="unset"||e==="undefined"||e==="none";function Pn(e,t){const n={...We,...e},s={...He,...t},r={left:n.left,top:n.top,width:n.width,height:n.height};let i=n.body;[n,s].forEach(g=>{const y=[],R=g.hFlip,S=g.vFlip;let E=g.rotate;R?S?E+=2:(y.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),y.push("scale(-1 1)"),r.top=r.left=0):S&&(y.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),y.push("scale(1 -1)"),r.top=r.left=0);let C;switch(E<0&&(E-=Math.floor(E/4)*4),E=E%4,E){case 1:C=r.height/2+r.top,y.unshift("rotate(90 "+C.toString()+" "+C.toString()+")");break;case 2:y.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:C=r.width/2+r.left,y.unshift("rotate(-90 "+C.toString()+" "+C.toString()+")");break}E%2===1&&(r.left!==r.top&&(C=r.left,r.left=r.top,r.top=C),r.width!==r.height&&(C=r.width,r.width=r.height,r.height=C)),y.length&&(i=Ln(i,'<g transform="'+y.join(" ")+'">',"</g>"))});const l=s.width,a=s.height,c=r.width,f=r.height;let o,u;l===null?(u=a===null?"1em":a==="auto"?f:a,o=Y(u,c/f)):(o=l==="auto"?c:l,u=a===null?Y(o,f/c):a==="auto"?f:a);const m={},p=(g,y)=>{de(y)||(m[g]=y.toString())};p("width",o),p("height",u);const b=[r.left,r.top,c,f];return m.viewBox=b.join(" "),{attributes:m,viewBox:b,body:i}}function In(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function Re(e){let t=e.startsWith("<svg>")?e.replace("<svg>","<svg >"):e;return!t.includes(" xmlns:xlink=")&&t.includes(" xlink:")&&(t=t.replace("<svg ",'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')),t.includes(" xmlns=")||(t=t.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),In(t)}function Nn(e){return e.replace(/(['"])\s*\n\s*([^>\\/\s])/g,"$1 $2").replace(/(["';{}><])\s*\n\s*/g,"$1").replace(/\s*\n\s*/g," ").replace(/\s+"/g,'"').replace(/="\s+/g,'="').replace(/(\s)+\/>/g,"/>").trim()}const Fn=/\swidth\s*=\s*["']([\w.]+)["']/,Dn=/\sheight\s*=\s*["']([\w.]+)["']/,oe=/<svg\s+/;function zn(e,t,n){const s=e.slice(0,e.indexOf(">")),r=(i,l)=>{const a=l.exec(s),c=a!=null,f=t[i];return!f&&!de(f)&&(typeof n=="number"?n>0&&(t[i]=Y(a?.[1]??"1em",n)):a&&(t[i]=a[1])),c};return[r("width",Fn),r("height",Dn)]}async function Ge(e,t,n,s,r,i){const{scale:l,addXmlNs:a=!1}=s??{},{additionalProps:c={},iconCustomizer:f}=s?.customizations??{},o=await r?.()??{};await f?.(t,n,o),Object.keys(c).forEach(g=>{const y=c[g];y!=null&&(o[g]=y)}),i?.(o);const[u,m]=zn(e,o,l);a&&(!e.includes("xmlns=")&&!o.xmlns&&(o.xmlns="http://www.w3.org/2000/svg"),!e.includes("xmlns:xlink=")&&e.includes("xlink:")&&!o["xmlns:xlink"]&&(o["xmlns:xlink"]="http://www.w3.org/1999/xlink"));const p=Object.keys(o).map(g=>g==="width"&&u||g==="height"&&m?null:`${g}="${o[g]}"`).filter(g=>g!=null);if(p.length&&(e=e.replace(oe,`<svg ${p.join(" ")} `)),s){const{defaultStyle:g,defaultClass:y}=s;y&&!e.includes("class=")&&(e=e.replace(oe,`<svg class="${y}" `)),g&&!e.includes("style=")&&(e=e.replace(oe,`<svg style="${g}" `))}const b=s?.usedProps;return b&&(Object.keys(c).forEach(g=>{const y=o[g];y!=null&&(b[g]=y)}),typeof o.width<"u"&&o.width!==null&&(b.width=o.width),typeof o.height<"u"&&o.height!==null&&(b.height=o.height)),e}async function Oe(e,t,n,s){let r;try{if(typeof e=="function")r=await e(n);else{const i=e[n];r=typeof i=="function"?await i():i}}catch(i){console.warn(`Failed to load custom icon "${n}" in "${t}":`,i);return}if(r){const i=r.indexOf("<svg");i>0&&(r=r.slice(i));const{transform:l}=s?.customizations??{};return r=typeof l=="function"?await l(r,t,n):r,r.startsWith("<svg")?await Ge(s?.customizations?.trimCustomSvg===!0?Nn(r):r,t,n,s,void 0):(console.warn(`Custom icon "${n}" in "${t}" is not a valid SVG`),r)}}async function Je(e,t,n,s){let r;const{customize:i}=s?.customizations??{};for(const l of n)if(r=On(e,l),r){let a={...He};typeof i=="function"&&(r=Object.assign({},r),a=i(a,r,`${t}:${l}`)??a);const{attributes:{width:c,height:f,...o},body:u}=Pn(r,a),m=s?.scale;return await Ge(`<svg >${u}</svg>`,t,l,s,()=>({...o}),p=>{const b=(g,y)=>{const R=p[g];let S;if(!de(R)){if(R)return;typeof m=="number"?m&&(S=Y(y??"1em",m)):S=y}S?p[g]=S:delete p[g]};b("width",c),b("height",f)})}}const Qe=async(e,t,n)=>{const s=n?.customCollections?.[e];if(s)if(typeof s=="function"){let r;try{r=await s(t)}catch(i){console.warn(`Failed to load custom icon "${t}" in "${e}":`,i);return}if(r){if(typeof r=="string")return await Oe(()=>r,e,t,n);if("icons"in r){const i=[t,t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t.replace(/([a-z])(\d+)/g,"$1-$2")];return await Je(r,e,i,n)}}}else return await Oe(s,e,t,n)};function qn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ie,je;function Vn(){return je||(je=1,ie=["academicons","akar-icons","ant-design","arcticons","basil","bi","bitcoin-icons","bpmn","brandico","bubbles","bx","bxl","bxs","bytesize","carbon","catppuccin","cbi","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codex","codicon","covid","cryptocurrency-color","cryptocurrency","cuida","dashicons","devicon-line","devicon-original","devicon-plain","devicon","duo-icons","ei","el","emblemicons","emojione-monotone","emojione-v1","emojione","entypo-social","entypo","eos-icons","ep","et","eva","f7","fa-brands","fa-regular","fa-solid","fa","fa6-brands","fa6-regular","fa6-solid","fad","famicons","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","flowbite","fluent-color","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-emoji","fluent-mdl2","fluent","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","garden","geo","gg","gis","gravity-ui","gridicons","grommet-icons","guidance","healthicons","heroicons-outline","heroicons-solid","heroicons","hugeicons","humbleicons","ic","icomoon-free","icon-park-outline","icon-park-solid","icon-park-twotone","icon-park","iconamoon","iconoir","icons8","il","ion","iwwa","ix","jam","la","lets-icons","line-md","lineicons","logos","ls","lsicon","lucide-lab","lucide","mage","majesticons","maki","map","marketeq","material-symbols-light","material-symbols","mdi-light","mdi","medical-icon","memory","meteocons","meteor-icons","mi","mingcute","mono-icons","mynaui","nimbus","nonicons","noto-v1","noto","nrk","octicon","oi","ooui","openmoji","oui","pajamas","pepicons-pencil","pepicons-pop","pepicons-print","pepicons","ph","pixelarticons","prime","proicons","ps","qlementine-icons","quill","radix-icons","raphael","ri","rivet-icons","si-glyph","si","simple-icons","simple-line-icons","skill-icons","solar","stash","streamline-emojis","streamline","subway","svg-spinners","system-uicons","tabler","tdesign","teenyicons","token-branded","token","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","unjs","vaadin","vs","vscode-icons","websymbol","weui","whh","wi","wpf","zmdi","zondicons"]),ie}var Un=Vn();const Ke=qn(Un),Bn=3;function Wn(e){return(t={})=>{const{scale:n=1,mode:s="auto",prefix:r="i-",warn:i=!1,iconifyCollectionsNames:l,collections:a,extraProperties:c={},customizations:f={},autoInstall:o=!1,collectionsNodeResolvePath:u,layer:m="icons",unit:p,processor:b}=t,g=Hn(),y={addXmlNs:!0,scale:n,customCollections:a,autoInstall:o,cwd:u,warn:void 0,customizations:{...f,additionalProps:{...c},trimCustomSvg:!0,async iconCustomizer(S,E,C){await f.iconCustomizer?.(S,E,C),p&&(C.width||(C.width=`${n}${p}`),C.height||(C.height=`${n}${p}`))}}};let R;return{name:"@unocss/preset-icons",enforce:"pre",options:t,layers:{icons:-30},api:{encodeSvgForCss:Re,parseIconWithLoader:Te},rules:[[/^([\w:-]+)(?:\?(mask|bg|auto))?$/,async S=>{let[E,C,x=s]=S;R=R||await e(t);const d={},h=await Te(C,R,{...y,usedProps:d},l);if(!h){i&&!g.isESLint&&qe(`failed to load icon "${E}"`);return}let w;const $=`url("data:image/svg+xml;utf8,${Re(h.svg)}")`;return x==="auto"&&(x=h.svg.includes("currentColor")?"mask":"bg"),x==="mask"?w={"--un-icon":$,"-webkit-mask":"var(--un-icon) no-repeat",mask:"var(--un-icon) no-repeat","-webkit-mask-size":"100% 100%","mask-size":"100% 100%","background-color":"currentColor",color:"inherit",...d}:w={background:`${$} no-repeat`,"background-size":"100% 100%","background-color":"transparent",...d},b?.(w,{...h,icon:h.name,mode:x}),w},{layer:m,prefix:r}]]}}}function Ye(e,t){const n=new Map;function s(r){if(Ke.includes(r))return n.has(r)||n.set(r,e(`${t}@iconify-json/${r}/icons.json`)),n.get(r)}return async(r,i,l)=>{let a=await Qe(r,i,l);if(a)return a;const c=await s(r);if(c){const f=[i,i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i.replace(/([a-z])(\d+)/g,"$1-$2")];a=await Je(c,r,f,l)}return a}}function Hn(){const e=typeof process<"u"&&process.stdout&&!process.versions.deno,t=e&&!!xe.VSCODE_CWD,n=e&&!!xe.ESLINT;return{isNode:e,isVSCode:t,isESLint:n}}async function Te(e,t,n={},s=[]){let r="",i="",l;const a=new Set([...Ke,...s,...Object.keys(n.customCollections||{})]);if(e.includes(":")){if([r,i]=e.split(":"),!a.has(r))return;l=await t(r,i,n)}else{const c=e.split(/-/g);for(let f=Bn;f>=1&&(r=c.slice(0,f).join("-"),!(!!a.has(r)&&(i=c.slice(f).join("-"),l=await t(r,i,n),l)));f--);}if(l)return{collection:r,name:i,svg:l}}function Gn(e){return Ye(Ht,e)}const nr=Wn(async e=>{const t=e?.customFetch,n=e?.cdn;return t&&n?Ye(t,n):n?Gn(n):Qe});function Jn(e){return e.replace(/-(\w)/g,(t,n)=>n?n.toUpperCase():"")}function Me(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ke(e){return e.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var Le=["Webkit","Moz","ms"];function Qn(e){const t={};function n(s){const r=t[s];if(r)return r;let i=Jn(s);if(i!=="filter"&&i in e)return t[s]=ke(i);i=Me(i);for(let l=0;l<Le.length;l++){const a=`${Le[l]}${i}`;if(a in e)return t[s]=ke(Me(a))}return s}return({entries:s})=>s.forEach(r=>{r[0].startsWith("--")||(r[0]=n(r[0]))})}function Kn(e){return e.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<")}async function rr(e={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}const t=window,n=window.document,s=()=>n.documentElement,r=t.__unocss||{},i=Object.assign({},e,r.runtime),l=i.defaults||{},a=i.cloakAttribute??"un-cloak";i.autoPrefix&&(l.postprocess=k(l.postprocess)).unshift(Qn(n.createElement("div").style)),i.configResolved?.(r,l);const c=await bn(r,l),f=A=>i.inject?i.inject(A):s().prepend(A),o=()=>i.rootElement?i.rootElement():n.body,u=new Map;let m=!0;const p=new Set;let b,g,y=[];const R=()=>new Promise(A=>{y.push(A),g!=null&&clearTimeout(g),g=setTimeout(()=>C().then(()=>{const v=y;y=[],v.forEach(O=>O())}),0)});function S(A,v=!1){if(A.nodeType!==1)return;const O=A;O.hasAttribute(a)&&O.removeAttribute(a),v&&O.querySelectorAll(`[${a}]`).forEach(j=>{j.removeAttribute(a)})}function E(A,v){let O=u.get(A);if(!O)if(O=n.createElement("style"),O.setAttribute("data-unocss-runtime-layer",A),u.set(A,O),v==null)f(O);else{const j=E(v),_=j.parentNode;_?_.insertBefore(O,j.nextSibling):f(O)}return O}async function C(){const A=[...p],v=await c.generate(A);return v.layers.reduce((j,_)=>(E(_,j).innerHTML=v.getLayer(_)??"",_),void 0),A.filter(j=>!v.matched.has(j)).forEach(j=>p.delete(j)),{...v,getStyleElement:j=>u.get(j),getStyleElements:()=>u}}async function x(A){const v=p.size;await c.applyExtractors(A,void 0,p),v!==p.size&&await R()}async function d(A=o()){const v=A&&A.outerHTML;v&&(await x(`${v} ${Kn(v)}`),S(s()),S(A,!0))}const h=new MutationObserver(A=>{m||A.forEach(async v=>{if(v.target.nodeType!==1)return;const O=v.target;for(const j of u)if(O===j[1])return;if(v.type==="childList")v.addedNodes.forEach(async j=>{if(j.nodeType!==1)return;const _=j;b&&!b(_)||(await x(_.outerHTML),S(_))});else{if(b&&!b(O))return;if(v.attributeName!==a){const j=Array.from(O.attributes).map(M=>M.value?`${M.name}="${M.value}"`:M.name).join(" "),_=`<${O.tagName.toLowerCase()} ${j}>`;await x(_)}S(O)}})});let w=!1;function $(){if(w)return;const A=i.observer?.target?i.observer.target():o();A&&(h.observe(A,{childList:!0,subtree:!0,attributes:!0,attributeFilter:i.observer?.attributeFilter}),w=!0)}function L(){i.bypassDefined&&Yn(c.blocked),d(),$()}function P(){n.readyState==="loading"?t.addEventListener("DOMContentLoaded",L):L()}const I=t.__unocss_runtime=t.__unocss_runtime={version:c.version,uno:c,async extract(A){T(A)||(A.forEach(v=>p.add(v)),A=""),await x(A)},extractAll:d,inspect(A){b=A},toggleObserver(A){A===void 0?m=!m:m=!!A,!w&&!m&&P()},update:C,presets:t.__unocss_runtime?.presets??{}};i.ready?.(I)!==!1&&(m=!1,P())}function Yn(e=new Set){for(let t=0;t<document.styleSheets.length;t++){const n=document.styleSheets[t];let s;try{if(s=n.cssRules||n.rules,!s)continue;Array.from(s).flatMap(r=>r.selectorText?.split(/,/g)||[]).forEach(r=>{r&&(r=r.trim(),r.startsWith(".")&&(r=r.slice(1)),e.add(r))})}catch{continue}}return e}export{Ht as $,Rt as a,Pe as b,Zn as c,rt as d,tr as e,le as f,rr as g,he as h,Xn as i,er as j,nr as k,mt as p,_t as w};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as V}from"./nnavbar.vue-dj98cl9i.js";import{_ as D}from"./ncode-block.vue-c2t0anp9.js";import{bl as S,bm as B,N as U,q as j,U as P,d as E}from"./dwllqfm4.js";import{Q as i,S as c,U as a,k as I,b as f,w as W,l as d,a0 as l,$ as u,F as _,ab as q,a5 as v,Y as z,M as G}from"./vendor/json-editor-vue-fw81xiot.js";import{_ as H}from"./help-fab.vue-gpu2zy8k.js";import"./client-bnemmvey.js";import"./vendor/unocss-dypm4cev.js";import"./vendor/shiki-j4jbxo4i.js";const L={class:"markdown-body"},M={__name:"virtual-files",setup(h,{expose:r}){return r({frontmatter:{}}),(p,o)=>(i(),c("div",L,o[0]||(o[0]=[a("h1",null,"Virtual Files",-1),a("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1)])))}},Q=["onClick"],R={key:0,"h-full":"","of-hidden":"",flex:"~ col"},Y={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},oe=I({__name:"virtual-files",setup(h){const r=f(""),n=S(),p=B(),o=f();W(()=>{if(!p.value)return;const e=`/_vfs.json/${encodeURIComponent(p.value)}`;fetch(e,{headers:{accept:"application/json"}}).then(t=>t.json()).then(t=>o.value=t.current)});function x(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const m=d(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=d(()=>new U(m.value,{keys:["id","path"]})),k=d(()=>r.value?b.value.search(r.value).map(e=>e.item):m.value);return(e,t)=>{const y=V,g=D,C=P,$=E,F=j,N=M,w=H;return i(),c(_,null,[l(F,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(y,{search:r.value,"onUpdate:search":t[0]||(t[0]=s=>r.value=s),"no-padding":"",p3:""},null,8,["search"]),(i(!0),c(_,null,q(k.value,s=>(i(),c(_,{key:s.id},[a("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:z(s.id===o.value?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:A=>p.value=s.id},v(x(s.id)),11,Q),t[1]||(t[1]=a("div",{"x-divider":""},null,-1))],64))),128))]),right:u(()=>[o.value?.content?(i(),c("div",R,[a("div",Y,[a("code",null,v(o.value.id),1)]),l(g,{"h-full":"","of-auto":"","text-sm":"",code:o.value.content,lang:"typescript"},null,8,["code"])])):(i(),G($,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>t[2]||(t[2]=[a("span",{op75:""},"Select a file to start",-1)])),_:1})]),_:1}))]),_:1}),l(w,null,{default:u(()=>[l(N)]),_:1})],64)}}});export{oe as default};
|