@nuxt/devtools 0.6.6 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/chunks/module-main.mjs +189 -126
  2. package/dist/chunks/plugin-metrics.mjs +15 -12
  3. package/dist/chunks/timeline.mjs +69 -0
  4. package/dist/chunks/vscode.mjs +5 -5
  5. package/dist/client/200.html +2 -2
  6. package/dist/client/404.html +2 -2
  7. package/dist/client/_nuxt/AuthRequiredPanel.vue.d0cfb6b2.js +1 -0
  8. package/dist/client/_nuxt/Badge.51add8bd.js +1 -0
  9. package/dist/client/_nuxt/CodeDiff.vue.ef3840bb.js +3 -0
  10. package/dist/client/_nuxt/CodeSnippets.vue.ac1ba0c8.js +1 -0
  11. package/dist/client/_nuxt/ComposableItem.vue.a20c44a4.js +1 -0
  12. package/dist/client/_nuxt/DrawerRight.vue.53f21930.js +1 -0
  13. package/dist/client/_nuxt/DurationDisplay.vue.8283fdb3.js +1 -0
  14. package/dist/client/_nuxt/FilepathItem.vue.6f4d3680.js +1 -0
  15. package/dist/client/_nuxt/HelpFab.vue.58531843.js +1 -0
  16. package/dist/client/_nuxt/LaunchPage.vue.36ead88c.js +1 -0
  17. package/dist/client/_nuxt/NCheckbox.vue.a57ff0bb.js +1 -0
  18. package/dist/client/_nuxt/NCodeBlock.vue.2012eb81.js +2 -0
  19. package/dist/client/_nuxt/NIconTitle.vue.c1ac3b5f.js +1 -0
  20. package/dist/client/_nuxt/NLink.vue.c45070c9.js +1 -0
  21. package/dist/client/_nuxt/{NMarkdown.vue.a51cc795.js → NMarkdown.vue.6bccbb92.js} +1 -1
  22. package/dist/client/_nuxt/NSectionBlock.7613319f.js +1 -0
  23. package/dist/client/_nuxt/NSelect.vue.b9c29645.js +1 -0
  24. package/dist/client/_nuxt/NSwitch.vue.fa9b060a.js +1 -0
  25. package/dist/client/_nuxt/NTip.vue.95e4ec9e.js +1 -0
  26. package/dist/client/_nuxt/Navbar.vue.6c01dcab.js +1 -0
  27. package/dist/client/_nuxt/StateEditor.vue.c5cc22ae.js +1 -0
  28. package/dist/client/_nuxt/__blank.87af3281.js +1 -0
  29. package/dist/client/_nuxt/analyze-build.cf3dea6a.js +1 -0
  30. package/dist/client/_nuxt/assets.4f097b22.js +16 -0
  31. package/dist/client/_nuxt/client.247a64bd.js +1 -0
  32. package/dist/client/_nuxt/{components.7102fe12.js → components.07744e27.js} +6 -6
  33. package/dist/client/_nuxt/{constants.d7bcda3c.js → constants.2fec5dff.js} +1 -1
  34. package/dist/client/_nuxt/custom-_name_.6e463663.js +1 -0
  35. package/dist/client/_nuxt/default.3a13b5c9.js +1 -0
  36. package/dist/client/_nuxt/entry.185d6835.css +1 -0
  37. package/dist/client/_nuxt/entry.33b5be03.js +21 -0
  38. package/dist/client/_nuxt/{error-404.c083e948.js → error-404.b216bd73.js} +1 -1
  39. package/dist/client/_nuxt/{error-500.87865939.js → error-500.1bc58b0e.js} +1 -1
  40. package/dist/client/_nuxt/full.92d6a5f8.js +1 -0
  41. package/dist/client/_nuxt/hooks.259d0a69.js +1 -0
  42. package/dist/client/_nuxt/imports.cc27dbf7.js +1 -0
  43. package/dist/client/_nuxt/{index.d1b4d52b.js → index.064a7a87.js} +1 -1
  44. package/dist/client/_nuxt/{index.bb6f436a.js → index.8f3e434d.js} +1 -1
  45. package/dist/client/_nuxt/{json-editor-vue.51bb18e8.js → json-editor-vue.af845b1c.js} +1 -1
  46. package/dist/client/_nuxt/{middleware.e1b5c8c8.js → middleware.fcdb1770.js} +1 -1
  47. package/dist/client/_nuxt/modules.5891e891.js +2 -0
  48. package/dist/client/_nuxt/none.e5b666cf.js +1 -0
  49. package/dist/client/_nuxt/open-graph.1141dd15.js +3 -0
  50. package/dist/client/_nuxt/overview.2af20256.js +1 -0
  51. package/dist/client/_nuxt/pages.b3fe162f.js +1 -0
  52. package/dist/client/_nuxt/payload.2d5cef36.js +1 -0
  53. package/dist/client/_nuxt/plugins.f25d8e7c.js +1 -0
  54. package/dist/client/_nuxt/runtime-configs.68765f10.js +1 -0
  55. package/dist/client/_nuxt/server-routes.ab41fbf6.js +9 -0
  56. package/dist/client/_nuxt/settings.cb26edfb.js +1 -0
  57. package/dist/client/_nuxt/{state-components.b4d7e657.js → state-components.3bf21c12.js} +1 -1
  58. package/dist/client/_nuxt/state-modules.dfd5fe81.js +1 -0
  59. package/dist/client/_nuxt/storage.921a198c.js +1 -0
  60. package/dist/client/_nuxt/{terminals.78500161.js → terminals.67898f73.js} +7 -7
  61. package/dist/client/_nuxt/timeline.289e5c9e.css +1 -0
  62. package/dist/client/_nuxt/timeline.6b8e8f78.js +57 -0
  63. package/dist/client/_nuxt/{unocss-runtime.0f8c7b1b.js → unocss-runtime.5034abfc.js} +2 -2
  64. package/dist/client/_nuxt/virtual-files.e3271a06.js +1 -0
  65. package/dist/client/index.html +2 -2
  66. package/dist/{global-20ccb74c.d.ts → global-ea55645c.d.ts} +7 -1
  67. package/dist/module.d.ts +1 -1
  68. package/dist/module.json +1 -1
  69. package/dist/module.mjs +1 -1
  70. package/dist/runtime/function-metrics-helpers.d.ts +3 -0
  71. package/dist/runtime/function-metrics-helpers.mjs +63 -0
  72. package/dist/runtime/plugins/devtools.client.mjs +2 -1
  73. package/dist/runtime/plugins/view/client.d.ts +3 -1
  74. package/dist/runtime/plugins/view/client.mjs +60 -23
  75. package/dist/runtime/plugins/view/state.mjs +1 -1
  76. package/dist/runtime/plugins/view/utils.d.ts +1 -1
  77. package/dist/runtime/plugins/view/utils.mjs +15 -15
  78. package/dist/shared/{devtools.7ab40af4.mjs → devtools.d198e7a9.mjs} +27 -1
  79. package/dist/types.d.ts +1 -1
  80. package/package.json +27 -26
  81. package/dist/client/__blank/index.html +0 -7
  82. package/dist/client/_nuxt/AuthRequiredPanel.vue.783e1d98.js +0 -1
  83. package/dist/client/_nuxt/Badge.01153451.js +0 -1
  84. package/dist/client/_nuxt/CodeSnippets.vue.62990bc2.js +0 -1
  85. package/dist/client/_nuxt/DrawerRight.vue.a92525c1.js +0 -1
  86. package/dist/client/_nuxt/DurationDisplay.vue.c3ae9764.js +0 -1
  87. package/dist/client/_nuxt/FilepathItem.vue.b4bdb03f.js +0 -1
  88. package/dist/client/_nuxt/HelpFab.vue.a9df2aac.js +0 -1
  89. package/dist/client/_nuxt/LaunchPage.vue.8ecfdb82.js +0 -1
  90. package/dist/client/_nuxt/NCheckbox.vue.09c2faa0.js +0 -1
  91. package/dist/client/_nuxt/NCodeBlock.vue.5e6a2196.js +0 -2
  92. package/dist/client/_nuxt/NIconButton.vue.b41ef4b9.js +0 -1
  93. package/dist/client/_nuxt/NIconTitle.vue.9b97e25e.js +0 -1
  94. package/dist/client/_nuxt/NLink.vue.8c655f8a.js +0 -1
  95. package/dist/client/_nuxt/NPanelGrids.16564aae.js +0 -1
  96. package/dist/client/_nuxt/NSectionBlock.722f4ebc.js +0 -1
  97. package/dist/client/_nuxt/NSelect.vue.80dc04cd.js +0 -1
  98. package/dist/client/_nuxt/NSwitch.vue.608eedef.js +0 -1
  99. package/dist/client/_nuxt/NTip.vue.0823a0e1.js +0 -1
  100. package/dist/client/_nuxt/Navbar.vue.6fef9034.js +0 -1
  101. package/dist/client/_nuxt/PanelLeftRight.vue.17bcbe2c.js +0 -1
  102. package/dist/client/_nuxt/StateEditor.vue.85e49f31.js +0 -1
  103. package/dist/client/_nuxt/__blank.474106e2.js +0 -1
  104. package/dist/client/_nuxt/analyze-build.25e4c0e1.js +0 -1
  105. package/dist/client/_nuxt/assets.6a9fdb70.js +0 -16
  106. package/dist/client/_nuxt/client.853ad100.js +0 -1
  107. package/dist/client/_nuxt/custom-_name_.a07051a8.js +0 -1
  108. package/dist/client/_nuxt/default.3da0acde.js +0 -1
  109. package/dist/client/_nuxt/entry.11fe2cd7.js +0 -21
  110. package/dist/client/_nuxt/entry.1e4f7d58.css +0 -1
  111. package/dist/client/_nuxt/full.01cd9940.js +0 -1
  112. package/dist/client/_nuxt/hooks.f820d9c5.js +0 -1
  113. package/dist/client/_nuxt/imports.cf6a0be0.js +0 -1
  114. package/dist/client/_nuxt/modules.f0ddf45f.js +0 -4
  115. package/dist/client/_nuxt/none.0c5c4a11.js +0 -1
  116. package/dist/client/_nuxt/open-graph.99e6c2ca.js +0 -3
  117. package/dist/client/_nuxt/overview.37671f14.js +0 -1
  118. package/dist/client/_nuxt/pages.cfc87f05.js +0 -1
  119. package/dist/client/_nuxt/payload.f2eb3709.js +0 -1
  120. package/dist/client/_nuxt/plugins.3f102534.js +0 -1
  121. package/dist/client/_nuxt/runtime-configs.35ac3b1b.js +0 -1
  122. package/dist/client/_nuxt/server-routes.5ddb6496.js +0 -9
  123. package/dist/client/_nuxt/settings.74004c21.js +0 -1
  124. package/dist/client/_nuxt/state-modules.d846f6f5.js +0 -1
  125. package/dist/client/_nuxt/storage.5d1c4325.js +0 -1
  126. package/dist/client/_nuxt/virtual-files.a7d5699b.js +0 -1
  127. package/dist/client/modules/analyze-build/index.html +0 -7
  128. package/dist/client/modules/assets/index.html +0 -7
  129. package/dist/client/modules/components/index.html +0 -7
  130. package/dist/client/modules/hooks/index.html +0 -7
  131. package/dist/client/modules/imports/index.html +0 -7
  132. package/dist/client/modules/middleware/index.html +0 -7
  133. package/dist/client/modules/modules/index.html +0 -7
  134. package/dist/client/modules/open-graph/index.html +0 -7
  135. package/dist/client/modules/overview/index.html +0 -7
  136. package/dist/client/modules/pages/index.html +0 -7
  137. package/dist/client/modules/payload/index.html +0 -7
  138. package/dist/client/modules/plugins/index.html +0 -7
  139. package/dist/client/modules/runtime-configs/index.html +0 -7
  140. package/dist/client/modules/server-routes/index.html +0 -7
  141. package/dist/client/modules/storage/index.html +0 -7
  142. package/dist/client/modules/terminals/index.html +0 -7
  143. package/dist/client/modules/virtual-files/index.html +0 -7
  144. package/dist/client/settings/index.html +0 -7
@@ -0,0 +1 @@
1
+ .timeline-scroller[data-v-33b6d70a]::-webkit-scrollbar{height:100px;width:.1px}.timeline-scroller[data-v-33b6d70a]::-webkit-scrollbar-track{background-color:transparent}.timeline-scroller[data-v-33b6d70a]::-webkit-scrollbar-thumb{background-color:#8881;height:100px}.timeline-scroller[data-v-33b6d70a]:hover::-webkit-scrollbar-thumb{background-color:#8882}
@@ -0,0 +1,57 @@
1
+ import{g as B,m as T,as as L,o as l,c as i,a as e,W as N,s as a,t as f,a3 as O,F as A,n as F,h as D,r as x,ab as q,al as Z,O as V,bk as K,v as b,b as m,q as j,_ as X,a2 as Q,ae as G,w as h,aE as P,d as s,k as z,a1 as H,au as ee,aw as oe,Y as se,aG as te,S as J,ah as le,bl as ne,C as ae,Z as re,i as ce,A as R,N as ie}from"./entry.33b5be03.js";import{_ as W}from"./DurationDisplay.vue.8283fdb3.js";import{_ as Y}from"./Badge.51add8bd.js";import{_ as pe}from"./ComposableItem.vue.a20c44a4.js";import{U as ue}from"./json-editor-vue.af845b1c.js";import{_ as ye}from"./FilepathItem.vue.6f4d3680.js";import{_ as de}from"./LaunchPage.vue.36ead88c.js";import{_ as me}from"./NLink.vue.c45070c9.js";import{_ as _e}from"./CodeDiff.vue.ef3840bb.js";import{_ as fe}from"./HelpFab.vue.58531843.js";import"./NMarkdown.vue.6bccbb92.js";import"./client.247a64bd.js";import"./constants.2fec5dff.js";import"./NCodeBlock.vue.2012eb81.js";const ve=B({__name:"TimelineItemFunction",props:{item:{}},setup(v){const u=v,p=T(()=>L(u.item.name,50,60,"_op_")),o=T(()=>p.value.replace(/_op_/,"1")),n=T(()=>L(u.item.name,50,40)),r=T(()=>p.value.replace(/_op_/,"0.2"));return(y,t)=>(l(),i("button",{class:"group",style:N({color:a(o),borderLeft:`2px solid ${a(o)}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[e("div",{style:N({backgroundColor:a(r)}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),e("div",{style:N({color:a(n),"--c":a(o)}),border:"r-2 t-2 y-2 transparent","min-w-max":"",px1:"","text-left":"","group-hover":"border-$c"},f(y.item.name),5)],4))}}),he={relative:"","h-full":""},Ae={absolute:"","left-2":"","top-2.3em":"","text-xs":"",op50:""},De=B({__name:"TimelineSegment",props:{segment:{}},emits:["select"],setup(v,{emit:u}){const p=v,o=O(()=>p.segment.start,{updateInterval:1e3,showSecond:!0,messages:{justNow:"",past:n=>n,future:n=>n,invalid:"-",second:n=>n?`${n}s`:"",minute:n=>`${n}m`,hour:n=>`${n}h`,week:n=>`${n}w`,day:n=>`${n}d`,month:n=>`${n}mo`,year:n=>`${n}y`}});return(n,r)=>{const y=ve;return l(),i("div",he,[e("button",{absolute:"","left-0":"","right-0":"","top-0":"","bg-green:5":"",px2:"",py1:"","text-left":"","text-xs":"","font-mono":"","text-green6":"",onClick:r[0]||(r[0]=t=>n.segment.route?u("select",n.segment.route):void 0)},f(n.segment.route?.event.to),1),e("div",Ae,f(a(o))+" ago ",1),e("div",null,[(l(!0),i(A,null,F(n.segment.functions,(t,c)=>(l(),D(y,{key:c,item:t.event,style:N({position:"absolute",minWidth:`${t.relativeWidth*100}%`,maxWidth:`${t.relativeWidth*100}%`,top:`${4+t.layer*1.6}em`,left:`${t.relativeStart*100}%`}),onClick:d=>u("select",t)},null,8,["item","style","onClick"]))),128))])])}}}),be=3e3,ge=50;function Ee(v){const u=[];let p={start:0,end:0,events:[],functions:[],duration:0};for(const o of v){const n=o.end||o.start;(o.start-p.end>be||o.type==="route")&&(p={start:o.start,end:n,events:[],functions:[],duration:0},u.push(p)),p.events.push(o),p.end=n+ge}return u.forEach((o,n)=>{const r=o.end-o.start,y=[];o.duration=r,o.previousGap=n>0?o.start-u[n-1].end:0,o.events.forEach(t=>{const c=t.end||t.start;let d=0;t.type!=="route"&&(d=y.findIndex(E=>E<=t.start),d===-1?(d=y.length,y.push(c+1e3)):y[d]=c+1e3);const g={event:t,segment:o,relativeStart:(t.start-o.start)/r,relativeWidth:(c-t.start)/r,layer:d};t.type==="function"?o.functions.push(g):o.route=g})}),u}const Ce={relative:""},$e={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":""},xe=B({__name:"TimelineTable",props:{data:{}},emits:["select"],setup(v,{emit:u}){const p=v,o=x(),n=x(),r=x(),y=x(),t=x(!0),c=x(1.5),d=T(()=>Ee(p.data.events)),g=T(()=>(p.data.events.length,o.value?.scrollWidth||window.innerWidth));function E(){y.value&&(y.value.style.width=`${g.value}px`)}function I(){t.value&&o.value&&(o.value.scrollTo({left:o.value.scrollWidth-o.value.clientWidth,behavior:"smooth"}),r.value.scrollTo({left:o.value.scrollWidth-o.value.clientWidth,behavior:"smooth"}))}return q(()=>p.data.events.length,async()=>{await Z(),E(),I()},{flush:"post"}),V(o,"scroll",C=>{r.value.scrollLeft!==o.value.scrollLeft&&(E(),r.value.scrollLeft=o.value.scrollLeft,t.value=o.value.scrollLeft>=o.value.scrollWidth-o.value.clientWidth)}),V(r,"scroll",()=>{r.value.scrollLeft!==o.value.scrollLeft&&(E(),o.value.scrollLeft=r.value.scrollLeft)}),V(o,"wheel",C=>{C.altKey?(c.value=K(c.value+C.deltaY/200,.5,3),E()):o.value.scrollLeft+=C.deltaY}),(C,S)=>{const $=W,k=De;return l(),i(A,null,[e("div",Ce,[e("div",{ref_key:"minimap",ref:n,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(l(!0),i(A,null,F(a(d),(_,M)=>(l(),i("div",{key:M,relative:"","h-full":"","flex-inline":"",style:N({width:`${Math.max(100,_.duration/10)/a(g)*100}%`})},[(l(!0),i(A,null,F(_.functions,(w,U)=>(l(),i("div",{key:U,"h-3px":"",rounded:"",style:N({width:`max(${w.relativeWidth*100}%, 10px)`,position:"absolute",top:`${w.layer*4}px`,left:`${w.relativeStart*100}%`,backgroundColor:("getHashColorFromString"in C?C.getHashColorFromString:a(L))(w.event.name,50,60)})},null,4))),128)),_.route?(l(),i("div",{key:0,absolute:"","top-0":"","h-full":"","w-px":"","border-l":"","border-green6":"",op10:"",style:N({left:`${_.route.relativeStart*100}%`})},null,4)):b("",!0)],4))),128))],512),e("div",{ref_key:"minimapScroller",ref:r,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[e("div",{ref_key:"minimapScrollerInner",ref:y,"h-1px":""},null,512)],512)]),e("div",{ref_key:"scroller",ref:o,relative:"","h-full":"","w-full":"","of-x-scroll":"","of-y-hidden":"","ws-nowrap":"","n-panel-grids":""},[(l(!0),i(A,null,F(a(d),(_,M)=>(l(),i(A,{key:M},[_.previousGap&&_.previousGap>=200?(l(),i("div",$e,[m($,{op50:"",duration:_.previousGap,color:!1},null,8,["duration"])])):b("",!0),m(k,{"flex-inline":"","of-x-hidden":"","hover:of-x-visible":"","bg-base":"",class:j(M===a(d).length-1?"border-r border-base":""),segment:_,style:N({width:`${Math.max(50,_.duration/10)*a(c)}px`}),onSelect:S[0]||(S[0]=w=>u("select",w))},null,8,["class","segment","style"])],64))),128))],512)],64)}}});const Be=X(xe,[["__scopeId","data-v-33b6d70a"]]),ke={border:"t base",flex:"~ col","h-full":"","of-y-auto":"","text-sm":""},we=["onClick"],Te=e("div",{"i-carbon-function":"",op50:""},null,-1),Ne={flex:"~","font-mono":""},Se=e("div",{op30:""}," ( ",-1),Fe={key:0,mr2:"",op30:""},Ie={op75:""},Me=e("div",{op30:""}," ) ",-1),Le=e("div",{"mr-1":"","h-7":"","w-7":"",flex:"","rounded-lg":"","bg-primary:5":"",p1:"","text-green6":""},[e("div",{"i-carbon-direction-rotary-right":"",ma:"","text-lg":""})],-1),We={flex:"~ col items-start"},Ve={"text-xs":"","font-mono":"",op30:""},Oe={"font-bold":"","font-mono":"","text-green":""},je=e("div",{"flex-auto":""},null,-1),ze=e("div",{"min-h-100":""},null,-1),Re=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(v,{emit:u}){return(p,o)=>{const n=W;return l(),i("div",ke,[(l(!0),i(A,null,F(p.data.events,(r,y)=>(l(),i("button",{key:y,border:"b base",px3:"",py2:"",flex:"~ items-center gap-2",hover:"bg-active",onClick:t=>u("select",r)},[r.type==="function"?(l(),i(A,{key:0},[Te,e("div",{"font-mono":"",style:N({color:r.type==="function"?("getHashColorFromString"in p?p.getHashColorFromString:a(L))(r.name,50,60):""})},f(r.name),5),e("div",Ne,[Se,(l(!0),i(A,null,F(r.args,(t,c)=>(l(),i(A,{key:c},[c?(l(),i("div",Fe," , ")):b("",!0),e("div",Ie,f(t===null?"null":t===void 0?"undefined":typeof t=="function"?"[function]":Array.isArray(t)?"[Array]":typeof t=="object"?"[object]":JSON.stringify(t)),1)],64))),128)),Me])],64)):(l(),i(A,{key:1},[Le,e("div",We,[e("div",Ve,f(r.from),1),e("div",Oe,f(r.to),1)])],64)),je,r.end?(l(),D(n,{key:2,duration:r.end-r.start,color:r.type==="function"},null,8,["duration","color"])):b("",!0)],8,we))),128)),ze])}}}),Ge={key:0,"text-blue":""},Pe={key:1,"text-purple":""},He={key:2,"text-green":""},Je={key:3,"text-gray":""},Ye={key:4,"text-gray":""},Ue={key:5,"text-gray":""},qe={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},Ze={key:1},Ke={p2:"","text-sm":"",border:"t base"},Xe=B({__name:"TimelineArgumentView",props:{value:{}},setup(v){const u=v,p=x(),o=x();function n(){try{p.value=JSON.parse(JSON.stringify(u.value))}catch(t){console.error(t),o.value=t}}const r=B({emits:["setup"],setup(t,{emit:c}){return c("setup"),()=>null}}),y=Q();return(t,c)=>{const d=z,g=G("VMenu");return typeof t.value=="string"?(l(),i("div",Ge,f(JSON.stringify(t.value)),1)):typeof t.value=="number"?(l(),i("div",Pe,f(t.value),1)):typeof t.value=="boolean"?(l(),i("div",He,f(t.value),1)):typeof t.value>"u"?(l(),i("div",Je," undefined ")):typeof t.value=="function"?(l(),i("div",Ye," [Function"+f(t.value.name?`: ${t.value.name}`:"")+"] ",1)):t.value===null?(l(),i("div",Ue," null ")):(l(),D(g,{key:6,placement:"top"},{popper:h(()=>[m(a(r),{onSetup:n}),a(o)?(l(),i("div",qe," Failed to display object: "+f(a(o)),1)):a(p)?(l(),i("div",Ze,[m(a(ue),P({"model-value":a(p)},t.$attrs,{class:["json-editor-vue",[t.$colorMode.value==="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"]),e("div",Ke,[m(d,{title:"Copy to clipboard",icon:"carbon-copy",onClick:c[0]||(c[0]=E=>a(y)(JSON.stringify(a(p),null,2)))},{default:h(()=>[s(" Copy ")]),_:1})])])):b("",!0)]),default:h(()=>[e("span",{"rounded-sm":"",px1:"","py0.5":"","text-sm":"",class:j([Array.isArray(t.value)?"text-amber bg-amber:10":"text-orange bg-orange:10"])},f(Array.isArray(t.value)?`[Array(${t.value.length})]`:"[Object]"),3)]),_:1}))}}}),Qe={key:0,"p-4":"",flex:"~ col gap-2","text-base":""},eo={"mx--1":""},oo={flex:"~ gap-1","font-mono":""},so={key:1},to=e("span",{ml1:"",op30:""},"(",-1),lo={key:0,op30:""},no=e("span",{op30:""},")",-1),ao={flex:"~ gap-1","text-sm":""},ro=e("span",{mx1:"",op50:""},"·",-1),co={class:"text-sm text-gray-400"},io={key:0,class:"text-xs text-gray-400",mt2:"",grid:"~ cols-[max-content_1fr] gap-x-4","font-mono":""},po={"text-right":""},uo={"ws-nowrap":""},yo=B({__name:"TimelineDetailsFunction",props:{record:{}},setup(v){const u=v,p=H(),o=O(()=>u.record.start,{showSecond:!0});function n(c){let d=new URL(c).pathname;return d.startsWith("/_nuxt/")&&(d=d.slice(6)),d.startsWith("/@id/virtual:nuxt:")?`#build/${d.split("/.nuxt/")[1]}`.replace(/\.m?js$/,""):d.includes("/@fs/")?`/${d.split("/@fs/")[1]}`:(p.value?.rootDir||"")+d}const r=ee(),y=T(()=>r.value?.metadata),t=T(()=>r.value?.imports.find(c=>c.as===u.record.name));return(c,d)=>{const g=Y,E=pe,I=Xe,C=W,S=ye;return c.record?(l(),i("div",Qe,[e("div",eo,[m(g,{"bg-yellow-600:10":"","text-yellow-600":"",op75:""},{default:h(()=>[s(" Function call ")]),_:1})]),e("div",oo,[a(t)?(l(),D(E,{key:0,item:a(t),metadata:a(y),counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(l(),i("span",so,f(c.record.name),1)),to,(l(!0),i(A,null,F(c.record.args,($,k)=>(l(),i(A,{key:k},[k?(l(),i("span",lo,", ")):b("",!0),m(I,{value:$},null,8,["value"])],64))),128)),no]),e("div",ao,[c.record.end?(l(),D(C,{key:0,duration:c.record.end-c.record.start},null,8,["duration"])):b("",!0),ro,e("div",co,f(a(o)),1)]),c.record.stacktrace?(l(),i("div",io,[(l(!0),i(A,null,F(c.record.stacktrace,($,k)=>(l(),i(A,{key:k},[e("div",po,f($.functionName||"(anonymous)"),1),e("div",uo,[$.fileName?(l(),D(S,{key:0,filepath:`${n($.fileName)}:${$.lineNumber}:${$.columnNumber}`,subpath:""},null,8,["filepath"])):b("",!0)])],64))),128))])):b("",!0)])):b("",!0)}}}),mo={key:0,"p-4":"",flex:"~ col gap-2"},_o={"mx--1":""},fo={flex:"~ gap-1 items-center","font-mono":""},vo={op50:""},ho=e("span",{"i-carbon-arrow-right":"",op50:""},null,-1),Ao={flex:"~ gap-1","text-sm":""},Do=e("span",{mx1:"",op50:""},"·",-1),bo={class:"text-sm text-gray-400"},go=B({__name:"TimelineDetailsRoute",props:{record:{}},setup(v){const u=v,p=O(()=>u.record.start,{showSecond:!0});return(o,n)=>{const r=Y,y=W;return o.record?(l(),i("div",mo,[e("div",_o,[m(r,{"bg-green-400:10":"","text-green-400":"",op50:""},{default:h(()=>[s(" Route Change ")]),_:1})]),e("div",fo,[e("span",vo,f(o.record.from),1),ho,e("span",null,f(o.record.to),1)]),e("div",Ao,[o.record.end?(l(),D(y,{key:0,duration:o.record.end-o.record.start},null,8,["duration"])):b("",!0),Do,e("div",bo,f(a(p)),1)])])):b("",!0)}}}),Eo={relative:"","h-full":"","w-full":"","of-auto":""},Co={inheritAttrs:!1},$o=B({...Co,__name:"DrawerBottom",props:{modelValue:{type:Boolean},navbar:{},autoClose:{type:Boolean}},emits:["close"],setup(v,{emit:u}){const p=v,o=x();oe(o,()=>{p.modelValue&&p.autoClose&&u("close")},{ignore:["a","button","summary"]});const n=document.querySelector("#nuxt-devtools-side-nav")?.getBoundingClientRect().width;return(r,y)=>{const t=J;return l(),D(te,{"enter-active-class":"duration-200 ease-in","enter-from-class":"transform translate-y-1/1","enter-to-class":"opacity-100","leave-active-class":"duration-200 ease-out","leave-from-class":"opacity-100","leave-to-class":"transform translate-y-1/1"},{default:h(()=>[r.modelValue?(l(),i("div",P({key:0,ref_key:"el",ref:o,border:"t base",flex:"~ col gap-1",absolute:"","bottom-0":"","right-0":"","z-10":"","z-20":"","of-auto":"","text-sm":"","glass-effect":"",style:{left:`${a(n)}px`}},r.$attrs),[m(t,{absolute:"","right-2":"","top-2":"","z-20":"","text-xl":"",icon:"carbon-close",onClick:y[0]||(y[0]=c=>r.$emit("close"))}),e("div",Eo,[se(r.$slots,"default")])],16)):b("",!0)]),_:3})}}}),xo={key:0,"h-screen":"","of-hidden":""},Bo={"h-screen":"","w-full":"",flex:"","flex-col":""},ko={"h-10":"",flex:"~ gap-2 items-center justify-end",p2:"",px3:""},wo={"text-sm":""},To=e("div",{"flex-auto":""},null,-1),No={"min-h-50":"",px3:"",py2:""},So=B({__name:"TimelineView",setup(v){const u=le(),p=x("table"),o=x(),n=T(()=>u.value?.clientTimelineMetrics);function r(){n.value&&(n.value.events=[])}function y(){p.value=p.value==="table"?"list":"table"}return(t,c)=>{const d=G("VTooltip"),g=z,E=J,I=Be,C=Re,S=yo,$=go,k=$o;return a(n)?(l(),i("div",xo,[e("div",Bo,[e("div",ko,[m(d,{flex:""},{popper:h(()=>[e("div",wo,f(a(n).options.enabled?"Recording...":"Paused"),1)]),default:h(()=>[e("div",{"text-lg":"",class:j(a(n).options.enabled?"i-carbon-radio-button-checked text-primary animate-pulse":"i-carbon-pause-outline op30")},null,2)]),_:1}),a(n).options.enabled?(l(),D(g,{key:1,size:"small",ml1:"","text-sm":"",n:"orange",icon:"i-carbon-stop",onClick:c[1]||(c[1]=_=>a(n).options.enabled=!1)},{default:h(()=>[s(" Stop Tracking ")]),_:1})):(l(),D(g,{key:0,size:"small",ml1:"","text-sm":"",n:"primary",icon:"i-carbon-play",onClick:c[0]||(c[0]=_=>a(n).options.enabled=!0)},{default:h(()=>[s(" Start Tracking ")]),_:1})),To,m(E,{icon:a(p)==="table"?"i-carbon-roadmap":"i-carbon-list",class:"ml-2",title:"Toggle View",onClick:y},null,8,["icon"]),m(E,{icon:"i-carbon-trash-can","hover-text-red":"",class:"ml-2",onClick:r})]),a(p)==="table"?(l(),D(I,{key:0,data:{...a(n)},onSelect:c[2]||(c[2]=_=>o.value=_.event)},null,8,["data"])):(l(),D(C,{key:1,data:{...a(n)},onSelect:c[3]||(c[3]=_=>o.value=_)},null,8,["data"]))]),m(k,{"model-value":!!a(o),"auto-close":"",onClose:c[4]||(c[4]=_=>o.value=void 0)},{default:h(()=>[e("div",No,[a(o)?.type==="function"?(l(),D(S,{key:0,record:a(o)},null,8,["record"])):a(o)?.type==="route"?(l(),D($,{key:1,record:a(o)},null,8,["record"])):b("",!0)])]),_:1},8,["model-value"])])):b("",!0)}}}),Fo={class:"markdown-body"},Io=e("h1",null,"Timeline",-1),Mo=e("p",null,[e("blockquote",{"text-orange":"","bg-orange:10":"",py1:""}," This is an experimental feature ")],-1),Lo=e("p",null,"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.",-1),Wo=e("h2",null,"Function calls",-1),Vo=e("p",null,[s("Nuxt DevTools tracks function calls by wrapping them in the build time. It works for functions referenced by auto-imports, or explicit imports through "),e("code",null,"import {} from '#imports'"),s(".")],-1),Oo=e("pre",null,[e("code",{class:"language-html"},[e("div",{class:"shiki-container"},[e("pre",{class:"shiki vitesse-dark",style:{"background-color":"#121212"},tabindex:"0"},[e("code",{"v-pre":""},[e("span",{class:"line"},[e("span",{style:{color:"#666666"}},"<"),e("span",{style:{color:"#4D9375"}},"script"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"setup"),e("span",{style:{color:"#666666"}},">")]),s(`
2
+ `),e("span",{class:"line"},[e("span",{style:{color:"#4D9375"}},"import"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"{"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"useNuxtApp"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"}"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#4D9375"}},"from"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#C98A7D"}},"#imports"),e("span",{style:{color:"#C98A7D99"}},"'")]),s(`
3
+ `),e("span",{class:"line"},[e("span",{style:{color:"#4D9375"}},"import"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"{"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"useMouse"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"}"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#4D9375"}},"from"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#C98A7D"}},"@vueuse/core"),e("span",{style:{color:"#C98A7D99"}},"'")]),s(`
4
+ `),e("span",{class:"line"}),s(`
5
+ `),e("span",{class:"line"},[e("span",{style:{color:"#CB7676"}},"const"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"route"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"="),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#80A665"}},"useRoute"),e("span",{style:{color:"#666666"}},"()"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#758575DD"}},"// tracked")]),s(`
6
+ `),e("span",{class:"line"},[e("span",{style:{color:"#CB7676"}},"const"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"app"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"="),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#80A665"}},"useNuxtApp"),e("span",{style:{color:"#666666"}},"()"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#758575DD"}},"// tracked")]),s(`
7
+ `),e("span",{class:"line"}),s(`
8
+ `),e("span",{class:"line"},[e("span",{style:{color:"#758575DD"}},"// NOT tracked because it's directly imported")]),s(`
9
+ `),e("span",{class:"line"},[e("span",{style:{color:"#CB7676"}},"const"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"mouse"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"="),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#80A665"}},"useMouse"),e("span",{style:{color:"#666666"}},"()"),e("span",{style:{color:"#DBD7CAEE"}}," ")]),s(`
10
+ `),e("span",{class:"line"})])]),e("pre",{class:"shiki vitesse-light",style:{"background-color":"#ffffff"},tabindex:"0"},[e("code",{"v-pre":""},[e("span",{class:"line"},[e("span",{style:{color:"#999999"}},"<"),e("span",{style:{color:"#1E754F"}},"script"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"setup"),e("span",{style:{color:"#999999"}},">")]),s(`
11
+ `),e("span",{class:"line"},[e("span",{style:{color:"#1E754F"}},"import"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"{"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"useNuxtApp"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"}"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#1E754F"}},"from"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#B56959"}},"#imports"),e("span",{style:{color:"#B5695999"}},"'")]),s(`
12
+ `),e("span",{class:"line"},[e("span",{style:{color:"#1E754F"}},"import"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"{"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"useMouse"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"}"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#1E754F"}},"from"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#B56959"}},"@vueuse/core"),e("span",{style:{color:"#B5695999"}},"'")]),s(`
13
+ `),e("span",{class:"line"}),s(`
14
+ `),e("span",{class:"line"},[e("span",{style:{color:"#AB5959"}},"const"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"route"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"="),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#59873A"}},"useRoute"),e("span",{style:{color:"#999999"}},"()"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#A0ADA0"}},"// tracked")]),s(`
15
+ `),e("span",{class:"line"},[e("span",{style:{color:"#AB5959"}},"const"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"app"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"="),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#59873A"}},"useNuxtApp"),e("span",{style:{color:"#999999"}},"()"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#A0ADA0"}},"// tracked")]),s(`
16
+ `),e("span",{class:"line"}),s(`
17
+ `),e("span",{class:"line"},[e("span",{style:{color:"#A0ADA0"}},"// NOT tracked because it's directly imported")]),s(`
18
+ `),e("span",{class:"line"},[e("span",{style:{color:"#AB5959"}},"const"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"mouse"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"="),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#59873A"}},"useMouse"),e("span",{style:{color:"#999999"}},"()"),e("span",{style:{color:"#393A34"}}," ")]),s(`
19
+ `),e("span",{class:"line"})])])])])],-1),jo=e("p",null,[s("By default, it tracks Nuxt provided composables as well as user defined functions. You can include/exclude functions by using the "),e("code",null,"include"),s(" and "),e("code",null,"exclude"),s(" options in the "),e("code",null,"nuxt.config.js"),s(" file.")],-1),zo=e("pre",null,[e("code",{class:"language-js"},[e("div",{class:"shiki-container"},[e("pre",{class:"shiki vitesse-dark",style:{"background-color":"#121212"},tabindex:"0"},[e("code",{"v-pre":""},[e("span",{class:"line"},[e("span",{style:{color:"#4D9375"}},"export"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#4D9375"}},"default"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#80A665"}},"defineNuxtConfig"),e("span",{style:{color:"#666666"}},"({")]),s(`
20
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#B8A965"}},"devtools"),e("span",{style:{color:"#666666"}},":"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"{")]),s(`
21
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#B8A965"}},"timeline"),e("span",{style:{color:"#666666"}},":"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"{")]),s(`
22
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#B8A965"}},"functions"),e("span",{style:{color:"#666666"}},":"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"{")]),s(`
23
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#B8A965"}},"include"),e("span",{style:{color:"#666666"}},":"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"[")]),s(`
24
+ `),e("span",{class:"line"},[e("span",{style:{color:"#666666"}}," "),e("span",{style:{color:"#758575DD"}},"// track `useMouse`")]),s(`
25
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#C98A7D"}},"useMouse"),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#666666"}},",")]),s(`
26
+ `),e("span",{class:"line"},[e("span",{style:{color:"#666666"}}," "),e("span",{style:{color:"#758575DD"}},"// track all functions starting with `use`")]),s(`
27
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"/"),e("span",{style:{color:"#4D9375"}},"^"),e("span",{style:{color:"#C4704F"}},"use"),e("span",{style:{color:"#666666"}},"["),e("span",{style:{color:"#C99076"}},"A-Z"),e("span",{style:{color:"#666666"}},"]"),e("span",{style:{color:"#C98A7D99"}},"/"),e("span",{style:{color:"#666666"}},",")]),s(`
28
+ `),e("span",{class:"line"},[e("span",{style:{color:"#666666"}}," "),e("span",{style:{color:"#758575DD"}},"// track all functions from @vueuse/core")]),s(`
29
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"entry"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"=>"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#BD976A"}},"entry"),e("span",{style:{color:"#666666"}},"."),e("span",{style:{color:"#BD976A"}},"from"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#CB7676"}},"==="),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#C98A7D"}},"@vueuse/core"),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#666666"}},",")]),s(`
30
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"],")]),s(`
31
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#B8A965"}},"exclude"),e("span",{style:{color:"#666666"}},":"),e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"[")]),s(`
32
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#C98A7D99"}},"'"),e("span",{style:{color:"#C98A7D"}},"useRouter"),e("span",{style:{color:"#C98A7D99"}},"'")]),s(`
33
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"]")]),s(`
34
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"}")]),s(`
35
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"}")]),s(`
36
+ `),e("span",{class:"line"},[e("span",{style:{color:"#DBD7CAEE"}}," "),e("span",{style:{color:"#666666"}},"}")]),s(`
37
+ `),e("span",{class:"line"},[e("span",{style:{color:"#666666"}},"})")]),s(`
38
+ `),e("span",{class:"line"})])]),e("pre",{class:"shiki vitesse-light",style:{"background-color":"#ffffff"},tabindex:"0"},[e("code",{"v-pre":""},[e("span",{class:"line"},[e("span",{style:{color:"#1E754F"}},"export"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#1E754F"}},"default"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#59873A"}},"defineNuxtConfig"),e("span",{style:{color:"#999999"}},"({")]),s(`
39
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#998418"}},"devtools"),e("span",{style:{color:"#999999"}},":"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"{")]),s(`
40
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#998418"}},"timeline"),e("span",{style:{color:"#999999"}},":"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"{")]),s(`
41
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#998418"}},"functions"),e("span",{style:{color:"#999999"}},":"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"{")]),s(`
42
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#998418"}},"include"),e("span",{style:{color:"#999999"}},":"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"[")]),s(`
43
+ `),e("span",{class:"line"},[e("span",{style:{color:"#999999"}}," "),e("span",{style:{color:"#A0ADA0"}},"// track `useMouse`")]),s(`
44
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#B56959"}},"useMouse"),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#999999"}},",")]),s(`
45
+ `),e("span",{class:"line"},[e("span",{style:{color:"#999999"}}," "),e("span",{style:{color:"#A0ADA0"}},"// track all functions starting with `use`")]),s(`
46
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"/"),e("span",{style:{color:"#1E754F"}},"^"),e("span",{style:{color:"#AB5E3F"}},"use"),e("span",{style:{color:"#999999"}},"["),e("span",{style:{color:"#A65E2B"}},"A-Z"),e("span",{style:{color:"#999999"}},"]"),e("span",{style:{color:"#B5695999"}},"/"),e("span",{style:{color:"#999999"}},",")]),s(`
47
+ `),e("span",{class:"line"},[e("span",{style:{color:"#999999"}}," "),e("span",{style:{color:"#A0ADA0"}},"// track all functions from @vueuse/core")]),s(`
48
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"entry"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"=>"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B07D48"}},"entry"),e("span",{style:{color:"#999999"}},"."),e("span",{style:{color:"#B07D48"}},"from"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#AB5959"}},"==="),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#B56959"}},"@vueuse/core"),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#999999"}},",")]),s(`
49
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"],")]),s(`
50
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#998418"}},"exclude"),e("span",{style:{color:"#999999"}},":"),e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"[")]),s(`
51
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#B5695999"}},"'"),e("span",{style:{color:"#B56959"}},"useRouter"),e("span",{style:{color:"#B5695999"}},"'")]),s(`
52
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"]")]),s(`
53
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"}")]),s(`
54
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"}")]),s(`
55
+ `),e("span",{class:"line"},[e("span",{style:{color:"#393A34"}}," "),e("span",{style:{color:"#999999"}},"}")]),s(`
56
+ `),e("span",{class:"line"},[e("span",{style:{color:"#999999"}},"})")]),s(`
57
+ `),e("span",{class:"line"})])])])])],-1),Ro=[Io,Mo,Lo,Wo,Vo,Oo,jo,zo],Go={__name:"timeline",setup(v,{expose:u}){return u({frontmatter:{}}),(o,n)=>(l(),i("div",Fo,Ro))}},Po={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},Ho=e("h2",{"text-xl":""},[e("span",{capitalize:""},"Enable Timeline?")],-1),Jo={op50:""},Yo=e("p",null,[e("span",{op50:""},"Then Nuxt will "),e("span",{"text-orange":""},"restart automatically"),s(". ")],-1),Uo={flex:"~ gap-3",mt2:"","justify-end":""},is=B({__name:"timeline",setup(v){const u=ne(),p=H(),o=ae(),n=re();async function r(){const[y,t]=await R.enableTimeline(!0);await o.start(y,t)&&await R.enableTimeline(!1)}return(y,t)=>{const c=So,d=de,g=ce,E=me,I=_e,C=z,S=ie,$=Go,k=fe;return l(),i(A,null,[a(u)?.timeline?.enabled?(l(),D(c,{key:0})):(l(),i(A,{key:1},[m(g,null,{default:h(()=>[m(d,{icon:"i-carbon-roadmap",title:"Timeline",description:"Timeline enables the inspection of when composable being executed and the route changes.",actions:[{label:"Enable"}],onAction:r})]),_:1}),m(a(o),null,{default:h(({resolve:_,args:M})=>[m(S,{"model-value":!0,onClose:w=>_(!1)},{default:h(()=>[e("div",Po,[Ho,e("p",Jo,[s(" Your "),m(E,{role:"button",n:"primary",onClick:t[0]||(t[0]=w=>a(n)(a(p)?._nuxtConfigFile)),textContent:"Nuxt config"}),s(" will be updated as: ")]),m(I,{from:M[0],to:M[1],"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),Yo,e("div",Uo,[m(C,{onClick:w=>_(!1)},{default:h(()=>[s(" Cancel ")]),_:2},1032,["onClick"]),m(C,{n:"solid primary",capitalize:"",onClick:w=>_(!0)},{default:h(()=>[s(" Enable ")]),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)),m(k,null,{default:h(()=>[m($)]),_:1})],64)}}});export{is as default};
@@ -1,2 +1,2 @@
1
- import{$ as be}from"./entry.11fe2cd7.js";const K=Object.freeze({left:0,top:0,width:16,height:16}),H=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),ue=Object.freeze({...K,...H}),ve=Object.freeze({...ue,body:"",hidden:!1}),Se=Object.freeze({width:null,height:null}),fe=Object.freeze({...Se,...H});function xe(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const i=((t.rotate||0)+(e.rotate||0))%4;return i&&(n.rotate=i),n}function Z(t,e){const n=xe(t,e);for(const i in ve)i in H?i in t&&!(i in n)&&(n[i]=H[i]):i in e?n[i]=e[i]:i in t&&(n[i]=t[i]);return n}function ke(t,e){const n=t.icons,i=t.aliases||Object.create(null),r=Object.create(null);function o(a){if(n[a])return r[a]=[];if(!(a in r)){r[a]=null;const c=i[a]&&i[a].parent,u=c&&o(c);u&&(r[a]=[c].concat(u))}return r[a]}return(e||Object.keys(n).concat(Object.keys(i))).forEach(o),r}function J(t,e,n){const i=t.icons,r=t.aliases||Object.create(null);let o={};function a(c){o=Z(i[c]||r[c],o)}return a(e),n.forEach(a),Z(t,o)}function $e(t,e){if(t.icons[e])return J(t,e,[]);const n=ke(t,[e])[e];return n?J(t,e,n):null}({...K});Object.keys(K).concat(["provider"]);const Ae=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ce=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Q(t,e,n){if(e===1)return t;if(n=n||100,typeof t=="number")return Math.ceil(t*e*n)/n;if(typeof t!="string")return t;const i=t.split(Ae);if(i===null||!i.length)return t;const r=[];let o=i.shift(),a=Ce.test(o);for(;;){if(a){const c=parseFloat(o);isNaN(c)?r.push(o):r.push(Math.ceil(c*e*n)/n)}else r.push(o);if(o=i.shift(),o===void 0)return r.join("");a=!a}}const X=t=>t==="unset"||t==="undefined"||t==="none";function je(t,e){const n={...ue,...t},i={...fe,...e},r={left:n.left,top:n.top,width:n.width,height:n.height};let o=n.body;[n,i].forEach(A=>{const g=[],m=A.hFlip,k=A.vFlip;let b=A.rotate;m?k?b+=2:(g.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),g.push("scale(-1 1)"),r.top=r.left=0):k&&(g.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),g.push("scale(1 -1)"),r.top=r.left=0);let p;switch(b<0&&(b-=Math.floor(b/4)*4),b=b%4,b){case 1:p=r.height/2+r.top,g.unshift("rotate(90 "+p.toString()+" "+p.toString()+")");break;case 2:g.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:p=r.width/2+r.left,g.unshift("rotate(-90 "+p.toString()+" "+p.toString()+")");break}b%2===1&&(r.left!==r.top&&(p=r.left,r.left=r.top,r.top=p),r.width!==r.height&&(p=r.width,r.width=r.height,r.height=p)),g.length&&(o='<g transform="'+g.join(" ")+'">'+o+"</g>")});const a=i.width,c=i.height,u=r.width,f=r.height;let l,d;a===null?(d=c===null?"1em":c==="auto"?f:c,l=Q(d,u/f)):(l=a==="auto"?u:a,d=c===null?Q(l,f/u):c==="auto"?f:c);const w={},x=(A,g)=>{X(g)||(w[A]=g.toString())};return x("width",l),x("height",d),w.viewBox=r.left.toString()+" "+r.top.toString()+" "+u.toString()+" "+f.toString(),{attributes:w,body:o}}""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);function Oe(t){return t.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,'="').trim()}function s(t,e){const n="rgb",i=e[0],r=e.length;r>1&&e[1],r>2&&e[2],r>3&&e[3]}s("silver",[192]);s("gray",[128]);s("white",[255]);s("maroon",[128,0,0]);s("red",[255,0,0]);s("purple",[128,0]);s("fuchsia",[255,0]);s("green",[0,128]);s("lime",[0,255]);s("olive",[128,128,0]);s("yellow",[255,255,0]);s("navy",[0,0,128]);s("blue",[0,0,255]);s("teal",[0,128,128]);s("aqua",[0,255,255]);s("aliceblue",[240,248,255]);s("antiquewhite",[250,235,215]);s("aqua",[0,255,255]);s("aquamarine",[127,255,212]);s("azure",[240,255,255]);s("beige",[245,245,220]);s("bisque",[255,228,196]);s("black",[0]);s("blanchedalmond",[255,235,205]);s("blue",[0,0,255]);s("blueviolet",[138,43,226]);s("brown",[165,42,42]);s("burlywood",[222,184,135]);s("cadetblue",[95,158,160]);s("chartreuse",[127,255,0]);s("chocolate",[210,105,30]);s("coral",[255,127,80]);s("cornflowerblue",[100,149,237]);s("cornsilk",[255,248,220]);s("crimson",[220,20,60]);s("cyan",[0,255,255]);s("darkblue",[0,0,139]);s("darkcyan",[0,139,139]);s("darkgoldenrod",[184,134,11]);s("darkgray",[169]);s("darkgreen",[0,100]);s("darkgrey",[169]);s("darkkhaki",[189,183,107]);s("darkmagenta",[139,0]);s("darkolivegreen",[85,107,47]);s("darkorange",[255,140,0]);s("darkorchid",[153,50,204]);s("darkred",[139,0,0]);s("darksalmon",[233,150,122]);s("darkseagreen",[143,188]);s("darkslateblue",[72,61,139]);s("darkslategray",[47,79,79]);s("darkslategrey",[47,79,79]);s("darkturquoise",[0,206,209]);s("darkviolet",[148,0,211]);s("deeppink",[255,20,147]);s("deepskyblue",[0,191,255]);s("dimgray",[105]);s("dimgrey",[105]);s("dodgerblue",[30,144,255]);s("firebrick",[178,34,34]);s("floralwhite",[255,250,240]);s("forestgreen",[34,139]);s("fuchsia",[255,0]);s("gainsboro",[220]);s("ghostwhite",[248,248,255]);s("gold",[255,215,0]);s("goldenrod",[218,165,32]);s("gray",[128]);s("green",[0,128]);s("greenyellow",[173,255,47]);s("grey",[128]);s("honeydew",[240,255]);s("hotpink",[255,105,180]);s("indianred",[205,92,92]);s("indigo",[75,0,130]);s("ivory",[255,255,240]);s("khaki",[240,230,140]);s("lavender",[230,230,250]);s("lavenderblush",[255,240,245]);s("lawngreen",[124,252,0]);s("lemonchiffon",[255,250,205]);s("lightblue",[173,216,230]);s("lightcoral",[240,128,128]);s("lightcyan",[224,255,255]);s("lightgoldenrodyellow",[250,250,210]);s("lightgray",[211]);s("lightgreen",[144,238]);s("lightgrey",[211]);s("lightpink",[255,182,193]);s("lightsalmon",[255,160,122]);s("lightseagreen",[32,178,170]);s("lightskyblue",[135,206,250]);s("lightslategray",[119,136,153]);s("lightslategrey",[119,136,153]);s("lightsteelblue",[176,196,222]);s("lightyellow",[255,255,224]);s("lime",[0,255]);s("limegreen",[50,205]);s("linen",[250,240,230]);s("magenta",[255,0]);s("maroon",[128,0,0]);s("mediumaquamarine",[102,205,170]);s("mediumblue",[0,0,205]);s("mediumorchid",[186,85,211]);s("mediumpurple",[147,112,219]);s("mediumseagreen",[60,179,113]);s("mediumslateblue",[123,104,238]);s("mediumspringgreen",[0,250,154]);s("mediumturquoise",[72,209,204]);s("mediumvioletred",[199,21,133]);s("midnightblue",[25,25,112]);s("mintcream",[245,255,250]);s("mistyrose",[255,228,225]);s("moccasin",[255,228,181]);s("navajowhite",[255,222,173]);s("navy",[0,0,128]);s("oldlace",[253,245,230]);s("olive",[128,128,0]);s("olivedrab",[107,142,35]);s("orange",[255,165,0]);s("orangered",[255,69,0]);s("orchid",[218,112,214]);s("palegoldenrod",[238,232,170]);s("palegreen",[152,251]);s("paleturquoise",[175,238,238]);s("palevioletred",[219,112,147]);s("papayawhip",[255,239,213]);s("peachpuff",[255,218,185]);s("peru",[205,133,63]);s("pink",[255,192,203]);s("plum",[221,160]);s("powderblue",[176,224,230]);s("purple",[128,0]);s("rebeccapurple",[102,51,153]);s("red",[255,0,0]);s("rosybrown",[188,143,143]);s("royalblue",[65,105,225]);s("saddlebrown",[139,69,19]);s("salmon",[250,128,114]);s("sandybrown",[244,164,96]);s("seagreen",[46,139,87]);s("seashell",[255,245,238]);s("sienna",[160,82,45]);s("silver",[192]);s("skyblue",[135,206,235]);s("slateblue",[106,90,205]);s("slategray",[112,128,144]);s("slategrey",[112,128,144]);s("snow",[255,250,250]);s("springgreen",[0,255,127]);s("steelblue",[70,130,180]);s("tan",[210,180,140]);s("teal",[0,128,128]);s("thistle",[216,191]);s("tomato",[255,99,71]);s("turquoise",[64,224,208]);s("violet",[238,130]);s("wheat",[245,222,179]);s("white",[255]);s("whitesmoke",[245]);s("yellow",[255,255,0]);s("yellowgreen",[154,205,50]);const Ee=/\swidth\s*=\s*["'](\w+)["']/,Me=/\sheight\s*=\s*["'](\w+)["']/,N=/<svg\s+/;function _e(t,e,n){const i=t.slice(0,t.indexOf(">")),r=(o,a)=>{const c=a.exec(i),u=c!=null,f=e[o];return!f&&!X(f)&&(typeof n=="number"?n>0&&(e[o]=`${n}em`):c&&(e[o]=c[1])),u};return[r("width",Ee),r("height",Me)]}async function he(t,e,n,i,r,o){const{scale:a,addXmlNs:c=!1}=i??{},{additionalProps:u={},iconCustomizer:f}=i?.customizations??{},l=await r?.()??{};await f?.(e,n,l),Object.keys(u).forEach(g=>{const m=u[g];m!=null&&(l[g]=m)}),o?.(l);const[d,w]=_e(t,l,a);c&&(!t.includes("xmlns=")&&!l.xmlns&&(l.xmlns="http://www.w3.org/2000/svg"),!t.includes("xmlns:xlink=")&&t.includes("xlink:")&&!l["xmlns:xlink"]&&(l["xmlns:xlink"]="http://www.w3.org/1999/xlink"));const x=Object.keys(l).map(g=>g==="width"&&d||g==="height"&&w?null:`${g}="${l[g]}"`).filter(g=>g!=null);if(x.length&&(t=t.replace(N,`<svg ${x.join(" ")} `)),i){const{defaultStyle:g,defaultClass:m}=i;m&&!t.includes("class=")&&(t=t.replace(N,`<svg class="${m}" `)),g&&!t.includes("style=")&&(t=t.replace(N,`<svg style="${g}" `))}const A=i?.usedProps;return A&&(Object.keys(u).forEach(g=>{const m=l[g];m!=null&&(A[g]=m)}),typeof l.width<"u"&&l.width!==null&&(A.width=l.width),typeof l.height<"u"&&l.height!==null&&(A.height=l.height)),t}async function ee(t,e,n,i){let r;if(typeof t=="function")r=await t(n);else{const o=t[n];r=typeof o=="function"?await o():o}if(r){const o=r.indexOf("<svg");o>0&&(r=r.slice(o));const{transform:a}=i?.customizations??{};return r=typeof a=="function"?await a(r,e,n):r,r.startsWith("<svg")?await he(i?.customizations?.trimCustomSvg===!0?Oe(r):r,e,n,i,void 0):(console.warn(`Custom icon "${n}" in "${e}" is not a valid SVG`),r)}}async function de(t,e,n,i){let r;const{customize:o}=i?.customizations??{};for(const a of n)if(r=$e(t,a),r){let c={...fe};typeof o=="function"&&(c=o(c));const{attributes:{width:u,height:f,...l},body:d}=je(r,c),w=i?.scale;return await he(`<svg >${d}</svg>`,e,a,i,()=>({...l}),x=>{const A=(g,m)=>{const k=x[g];let b;if(!X(k)){if(k)return;typeof w=="number"?w&&(b=`${w}em`):b=m}b?x[g]=b:delete x[g]};A("width",u),A("height",f)})}}const pe=async(t,e,n)=>{const i=n?.customCollections?.[t];if(i)if(typeof i=="function"){const r=await i(e);if(r){if(typeof r=="string")return await ee(()=>r,t,e,n);if("icons"in r){const o=[e,e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),e.replace(/([a-z])(\d+)/g,"$1-$2")];return await de(r,t,o,n)}}}else return await ee(i,t,e,n)};var ze=["academicons","akar-icons","ant-design","arcticons","basil","bi","bpmn","brandico","bx","bxl","bxs","bytesize","carbon","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codicon","covid","cryptocurrency-color","cryptocurrency","dashicons","devicon-line","devicon-original","devicon-plain","devicon","ei","el","emblemicons","emojione-monotone","emojione-v1","emojione","entypo-social","entypo","eos-icons","ep","et","eva","fa-brands","fa-regular","fa-solid","fa","fa6-brands","fa6-regular","fa6-solid","fad","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-emoji","fluent-mdl2","fluent","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","geo","gg","gis","gridicons","grommet-icons","guidance","healthicons","heroicons-outline","heroicons-solid","heroicons","humbleicons","ic","icomoon-free","icon-park-outline","icon-park-solid","icon-park-twotone","icon-park","iconamoon","iconoir","icons8","il","ion","iwwa","jam","la","line-md","logos","ls","lucide","majesticons","maki","map","material-symbols","mdi-light","mdi","medical-icon","memory","mi","mingcute","mono-icons","nimbus","nonicons","noto-v1","noto","octicon","oi","ooui","openmoji","pajamas","pepicons-pencil","pepicons-pop","pepicons-print","pepicons","ph","pixelarticons","prime","ps","quill","radix-icons","raphael","ri","si-glyph","simple-icons","simple-line-icons","skill-icons","solar","streamline-emojis","streamline","subway","svg-spinners","system-uicons","tabler","teenyicons","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","vaadin","vs","vscode-icons","websymbol","whh","wi","wpf","zmdi","zondicons"];function Le(t){const e=new Map;function n(i){if(ze.includes(i))return e.has(i)||e.set(i,be(`${t}@iconify-json/${i}/icons.json`)),e.get(i)}return async(i,r,o)=>{let a=await pe(i,r,o);if(a)return a;const c=await n(i);if(c){const u=[r,r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r.replace(/([a-z])(\d+)/g,"$1-$2")];a=await de(c,i,u,o)}return a}}function Te(t){const e=t.length;let n=-1,i,r="";const o=t.charCodeAt(0);for(;++n<e;){if(i=t.charCodeAt(n),i===0){r+="�";continue}if(i===44){r+="\\,";continue}if(i>=1&&i<=31||i===127||n===0&&i>=48&&i<=57||n===1&&i>=48&&i<=57&&o===45){r+=`\\${i.toString(16)} `;continue}if(n===0&&e===1&&i===45){r+=`\\${t.charAt(n)}`;continue}if(i>=128||i===45||i===95||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122){r+=t.charAt(n);continue}r+=`\\${t.charAt(n)}`}return r}const q=Te;function z(t=[]){return Array.isArray(t)?t:[t]}function R(t){return Array.from(new Set(t))}function O(t){return typeof t=="string"}function D(t){return O(t)?t:(Array.isArray(t)?t:Object.entries(t)).filter(e=>e[1]!=null)}function Ie(t){return Array.isArray(t)?t.find(e=>!Array.isArray(e)||Array.isArray(e[0]))?t.map(e=>D(e)):[t]:[D(t)]}function Pe(t){return t.filter(([e,n],i)=>{if(e.startsWith("$$"))return!1;for(let r=i-1;r>=0;r--)if(t[r][0]===e&&t[r][1]===n)return!1;return!0})}function G(t){return t==null?"":Pe(t).map(([e,n])=>n!=null?`${e}:${n};`:void 0).filter(Boolean).join("")}function V(t){return t&&typeof t=="object"&&!Array.isArray(t)}function ge(t,e,n=!1){const i=t,r=e;if(Array.isArray(r))return n&&Array.isArray(r)?[...i,...r]:[...r];const o={...i};return V(i)&&V(r)&&Object.keys(r).forEach(a=>{V(i[a])&&V(r[a])||Array.isArray(i[a])&&Array.isArray(r[a])?o[a]=ge(i[a],r[a],n):Object.assign(o,{[a]:r[a]})}),o}function U(t){let e,n,i;if(Array.isArray(t)){for(n=Array(e=t.length);e--;)n[e]=(i=t[e])&&typeof i=="object"?U(i):i;return n}if(Object.prototype.toString.call(t)==="[object Object]"){n={};for(e in t)e==="__proto__"?Object.defineProperty(n,e,{value:U(t[e]),configurable:!0,enumerable:!0,writable:!0}):n[e]=(i=t[e])&&typeof i=="object"?U(i):i;return n}return t}function Re(t){return O(t[0])}function De(t){return O(t[0])}const te="$$shortcut-no-merge";function Fe(t){return typeof t=="function"?{match:t}:t}function re(t){return t.length===3}function Ve(t){return t!=null}function Be(){}class Ue{constructor(){this._map=new Map}get(e,n){const i=this._map.get(e);if(i)return i.get(n)}getFallback(e,n,i){let r=this._map.get(e);return r||(r=new Map,this._map.set(e,r)),r.has(n)||r.set(n,i),r.get(n)}set(e,n,i){let r=this._map.get(e);return r||(r=new Map,this._map.set(e,r)),r.set(n,i),this}has(e,n){return this._map.get(e)?.has(n)}delete(e,n){return this._map.get(e)?.delete(n)||!1}deleteTop(e){return this._map.delete(e)}map(e){return Array.from(this._map.entries()).flatMap(([n,i])=>Array.from(i.entries()).map(([r,o])=>e(o,n,r)))}}const B={};function He(t=["-",":"]){const e=t.join("|");return B[e]||(B[e]=new RegExp(`((?:[!@<~\\w+:_/-]|\\[&?>?:?\\S*\\])+?)(${e})\\(((?:[~!<>\\w\\s:/\\\\,%#.$?-]|\\[.*?\\])+?)\\)(?!\\s*?=>)`,"gm")),B[e].lastIndex=0,B[e]}function Ne(t,e=["-",":"],n=5){const i=He(e);let r=!1,o=t.toString();const a=new Set;do{const c=o;o=o.replace(i,(u,f,l,d)=>e.includes(l)?(a.add(f+l),d.split(/\s/g).filter(Boolean).map(w=>w==="~"?f:w.replace(/^(!?)(.*)/,`$1${f}${l}$2`)).join(" ")):u),r=o!==c,n-=1}while(r&&n);return{prefixes:Array.from(a),expanded:o,hasChanged:r}}function qe(t,e=["-",":"],n=5){const{expanded:i}=Ne(t.toString(),e,n);return typeof t=="string"?i:t.length()?t.overwrite(0,t.length(),i):t}const ne=new Set;function me(t){ne.has(t)||(console.warn("[unocss]",t),ne.add(t))}const Ge=/[\\:]?[\s'"`;{}]+/g;function We(t){return[...new Set(t.split(Ge))]}const Ye={name:"@unocss/core/extractor-split",order:0,extract({code:t}){return We(t)}};function Ke(){return{events:{},emit(t,...e){(this.events[t]||[]).forEach(n=>n(...e))},on(t,e){return(this.events[t]=this.events[t]||[]).push(e),()=>this.events[t]=(this.events[t]||[]).filter(n=>n!==e)}}}const W="default",Y="preflights",Xe="shortcuts",Ze={[Y]:-100,[Xe]:-10,[W]:0};function ye(t){return z(t).flatMap(e=>Array.isArray(e)?[e]:Object.entries(e))}const ie="_uno_resolved";function Je(t){if(ie in t)return t;t={...t},Object.defineProperty(t,ie,{value:!0,enumerable:!1});const e=t.shortcuts?ye(t.shortcuts):void 0;if(t.shortcuts=e,t.prefix||t.layer){const n=i=>{i[2]||(i[2]={});const r=i[2];r.prefix==null&&t.prefix&&(r.prefix=z(t.prefix)),r.layer==null&&t.layer&&(r.layer=t.layer)};e?.forEach(n),t.rules?.forEach(n)}return t}function we(t){const e=Je(t);if(!e.presets)return[e];const n=(e.presets||[]).flatMap(z).flatMap(we);return[e,...n]}function se(t={},e={}){const n=Object.assign({},e,t),i=R((n.presets||[]).flatMap(z).flatMap(we)),r=[...i.filter(h=>h.enforce==="pre"),...i.filter(h=>!h.enforce),...i.filter(h=>h.enforce==="post")],o=[...r,n],a=[...o].reverse(),c=Object.assign({},Ze,...o.map(h=>h.layers));function u(h){return R(o.flatMap(v=>z(v[h]||[])))}const f=u("extractors");let l=a.find(h=>h.extractorDefault!==void 0)?.extractorDefault;l===void 0&&(l=Ye),l&&!f.includes(l)&&f.unshift(l),f.sort((h,v)=>(h.order||0)-(v.order||0));const d=u("rules"),w={},x=d.length,A=d.map((h,v)=>{if(Re(h)){z(h[2]?.prefix||"").forEach(j=>{w[j+h[0]]=[v,h[1],h[2],h]});return}return[v,...h]}).filter(Boolean).reverse();let g=Qe(o.map(h=>h.theme));const m=u("extendTheme");for(const h of m)g=h(g)||g;const k={templates:R(o.flatMap(h=>z(h.autocomplete?.templates))),extractors:o.flatMap(h=>z(h.autocomplete?.extractors)).sort((h,v)=>(h.order||0)-(v.order||0))};let b=u("separators");b.length||(b=[":","-"]);const p={mergeSelectors:!0,warn:!0,blocklist:[],sortLayers:h=>h,...n,presets:r,envMode:n.envMode||"build",shortcutsLayer:n.shortcutsLayer||"shortcuts",layers:c,theme:g,rulesSize:x,rulesDynamic:A,rulesStaticMap:w,preprocess:u("preprocess"),postprocess:u("postprocess"),preflights:u("preflights"),autocomplete:k,variants:u("variants").map(Fe).sort((h,v)=>(h.order||0)-(v.order||0)),shortcuts:ye(u("shortcuts")).reverse(),extractors:f,safelist:u("safelist"),separators:b};for(const h of o)h?.configResolved?.(p);return p}function Qe(t){return t.map(e=>e?U(e):{}).reduce((e,n)=>ge(e,n),{})}const et="0.53.4";class tt{constructor(e={},n={}){this.userConfig=e,this.defaults=n,this.version=et,this._cache=new Map,this.blocked=new Set,this.parentOrders=new Map,this.events=Ke(),this.config=se(e,n),this.events.emit("config",this.config)}setConfig(e,n){e&&(n&&(this.defaults=n),this.userConfig=e,this.blocked.clear(),this.parentOrders.clear(),this._cache.clear(),this.config=se(e,this.defaults),this.events.emit("config",this.config))}async applyExtractors(e,n,i=new Set){const r={original:e,code:e,id:n,extracted:i};for(const o of this.config.extractors){const a=await o.extract?.(r);if(a)for(const c of a)i.add(c)}return i}makeContext(e,n){const i={rawSelector:e,currentSelector:n[1],theme:this.config.theme,generator:this,variantHandlers:n[2],constructCSS:(...r)=>this.constructCustomCSS(i,...r),variantMatch:n};return i}async parseToken(e,n){if(this.blocked.has(e))return;const i=`${e}${n?` ${n}`:""}`;if(this._cache.has(i))return this._cache.get(i);let r=e;for(const f of this.config.preprocess)r=f(e);if(this.isBlocked(r)){this.blocked.add(e),this._cache.set(i,null);return}const o=await this.matchVariants(e,r);if(!o||this.isBlocked(o[1])){this.blocked.add(e),this._cache.set(i,null);return}const a=this.makeContext(e,[n||o[0],o[1],o[2],o[3]]);this.config.details&&(a.variants=[...o[3]]);const c=await this.expandShortcut(a.currentSelector,a),u=c?await this.stringifyShortcuts(a.variantMatch,a,c[0],c[1]):(await this.parseUtil(a.variantMatch,a))?.map(f=>this.stringifyUtil(f,a)).filter(Ve);if(u?.length)return this._cache.set(i,u),u;this._cache.set(i,null)}async generate(e,n={}){const{id:i,scope:r,preflights:o=!0,safelist:a=!0,minify:c=!1}=n,u=O(e)?await this.applyExtractors(e,i):Array.isArray(e)?new Set(e):e;a&&this.config.safelist.forEach(p=>u.add(p));const f=c?"":`
2
- `,l=new Set([W]),d=new Set,w=new Map;let x={};const A=Array.from(u).map(async p=>{if(d.has(p))return;const h=await this.parseToken(p);if(h!=null){d.add(p);for(const v of h){const C=v[3]||"",j=v[4]?.layer;w.has(C)||w.set(C,[]),w.get(C).push(v),j&&l.add(j)}}});await Promise.all(A),await(async()=>{if(!o)return;const p={generator:this,theme:this.config.theme},h=new Set([]);this.config.preflights.forEach(({layer:v=Y})=>{l.add(v),h.add(v)}),x=Object.fromEntries(await Promise.all(Array.from(h).map(async v=>{const j=(await Promise.all(this.config.preflights.filter(M=>(M.layer||Y)===v).map(async M=>await M.getCSS(p)))).filter(Boolean).join(f);return[v,j]})))})();const g=this.config.sortLayers(Array.from(l).sort((p,h)=>(this.config.layers[p]??0)-(this.config.layers[h]??0)||p.localeCompare(h))),m={},k=p=>{if(m[p])return m[p];let h=Array.from(w).sort((C,j)=>(this.parentOrders.get(C[0])??0)-(this.parentOrders.get(j[0])??0)||C[0]?.localeCompare(j[0]||"")||0).map(([C,j])=>{const M=j.length,P=j.filter(y=>(y[4]?.layer||W)===p).sort((y,$)=>y[0]-$[0]||(y[4]?.sort||0)-($[4]?.sort||0)||y[5]?.currentSelector?.localeCompare($[5]?.currentSelector??"")||y[1]?.localeCompare($[1]||"")||y[2]?.localeCompare($[2]||"")||0).map(([,y,$,,E,,_])=>[[[(y&&st(y,r))??"",E?.sort??0]],$,!!(_??E?.noMerge)]);if(!P.length)return;const F=P.reverse().map(([y,$,E],_)=>{if(!E&&this.config.mergeSelectors)for(let I=_+1;I<M;I++){const L=P[I];if(L&&!L[2]&&(y&&L[0]||y==null&&L[0]==null)&&L[1]===$)return y&&L[0]&&L[0].push(...y),null}const T=y?R(y.sort((I,L)=>I[1]-L[1]||I[0]?.localeCompare(L[0]||"")||0).map(I=>I[0]).filter(Boolean)):[];return T.length?`${T.join(`,${f}`)}{${$}}`:$}).filter(Boolean).reverse().join(f);if(!C)return F;const S=C.split(" $$ ");return`${S.join("{")}{${f}${F}${f}}${S.map(y=>"").join("}")}`}).filter(Boolean).join(f);o&&(h=[x[p],h].filter(Boolean).join(f));const v=c?"":`/* layer: ${p} */${f}`;return m[p]=h?v+h:""},b=(p=g,h)=>p.filter(v=>!h?.includes(v)).map(v=>k(v)||"").filter(Boolean).join(f);return{get css(){return b()},layers:g,matched:d,getLayers:b,getLayer:k}}async matchVariants(e,n){const i=new Set,r=[];let o=n||e,a=!1;const c={rawSelector:e,theme:this.config.theme,generator:this};for(;;){a=!1;for(const u of this.config.variants){if(!u.multiPass&&i.has(u))continue;let f=await u.match(o,c);if(f){O(f)&&(f={matcher:f}),o=f.matcher,r.unshift(f),i.add(u),a=!0;break}}if(!a)break;if(r.length>500)throw new Error(`Too many variants applied to "${e}"`)}return[e,o,r,i]}applyVariants(e,n=e[4],i=e[1]){const o=n.slice().sort((f,l)=>(f.order||0)-(l.order||0)).reduceRight((f,l)=>d=>{const w=l.body?.(d.entries)||d.entries,x=Array.isArray(l.parent)?l.parent:[l.parent,void 0];return(l.handle??at)({...d,entries:w,selector:l.selector?.(d.selector,w)||d.selector,parent:x[0]||d.parent,parentOrder:x[1]||d.parentOrder,layer:l.layer||d.layer,sort:l.sort||d.sort},f)},f=>f)({prefix:"",selector:ot(i),pseudo:"",entries:e[2]}),{parent:a,parentOrder:c}=o;a!=null&&c!=null&&this.parentOrders.set(a,c);const u={selector:[o.prefix,o.selector,o.pseudo].join(""),entries:o.entries,parent:a,layer:o.layer,sort:o.sort,noMerge:o.noMerge};for(const f of this.config.postprocess)f(u);return u}constructCustomCSS(e,n,i){const r=D(n);if(O(r))return r;const{selector:o,entries:a,parent:c}=this.applyVariants([0,i||e.rawSelector,r,void 0,e.variantHandlers]),u=`${o}{${G(a)}}`;return c?`${c}{${u}}`:u}async parseUtil(e,n,i=!1,r){const[o,a,c]=O(e)?await this.matchVariants(e):e;this.config.details&&(n.rules=n.rules??[]);const u=this.config.rulesStaticMap[a];if(u&&u[1]&&(i||!u[2]?.internal)){this.config.details&&n.rules.push(u[3]);const l=u[0],d=D(u[1]),w=u[2];return O(d)?[[l,d,w]]:[[l,o,d,w,c]]}n.variantHandlers=c;const{rulesDynamic:f}=this.config;for(const[l,d,w,x]of f){if(x?.internal&&!i)continue;let A=a;if(x?.prefix){const b=z(x.prefix);if(r){const p=z(r);if(!b.some(h=>p.includes(h)))continue}else{const p=b.find(h=>a.startsWith(h));if(p==null)continue;A=a.slice(p.length)}}const g=A.match(d);if(!g)continue;const m=await w(g,n);if(!m)continue;this.config.details&&n.rules.push([d,w,x]);const k=Ie(m).filter(b=>b.length);if(k.length)return k.map(b=>O(b)?[l,b,x]:[l,o,b,x,c])}}stringifyUtil(e,n){if(!e)return;if(re(e))return[e[0],void 0,e[1],void 0,e[2],this.config.details?n:void 0,void 0];const{selector:i,entries:r,parent:o,layer:a,sort:c,noMerge:u}=this.applyVariants(e),f=G(r);if(!f)return;const{layer:l,sort:d,...w}=e[3]??{},x={...w,layer:a??l,sort:c??d};return[e[0],i,f,o,x,this.config.details?n:void 0,u]}async expandShortcut(e,n,i=5){if(i===0)return;const r=this.config.details?c=>{n.shortcuts=n.shortcuts??[],n.shortcuts.push(c)}:Be;let o,a;for(const c of this.config.shortcuts){let u=e;if(c[2]?.prefix){const l=z(c[2].prefix).find(d=>e.startsWith(d));if(l==null)continue;u=e.slice(l.length)}if(De(c)){if(c[0]===u){o=o||c[2],a=c[1],r(c);break}}else{const f=u.match(c[0]);if(f&&(a=c[1](f,n)),a){o=o||c[2],r(c);break}}}if(O(a)&&(a=qe(a.trim()).split(/\s+/g)),!a){const[c,u]=O(e)?await this.matchVariants(e):e;if(c!==u){const f=await this.expandShortcut(u,n,i-1);f&&(a=f[0].map(l=>O(l)?c.replace(u,l):l))}}if(a)return[(await Promise.all(a.map(async c=>(O(c)?(await this.expandShortcut(c,n,i-1))?.[0]:void 0)||[c]))).flat(1).filter(Boolean),o]}async stringifyShortcuts(e,n,i,r={layer:this.config.shortcutsLayer}){const o=new Ue,a=(await Promise.all(R(i).map(async l=>{const d=O(l)?await this.parseUtil(l,n,!0,r.prefix):[[1/0,"{inline}",D(l),void 0,[]]];return d||me(`unmatched utility "${l}" in shortcut "${e[1]}"`),d||[]}))).flat(1).filter(Boolean).sort((l,d)=>l[0]-d[0]),[c,,u]=e,f=[];for(const l of a){if(re(l)){f.push([l[0],void 0,l[1],void 0,l[2],n,void 0]);continue}const{selector:d,entries:w,parent:x,sort:A,noMerge:g}=this.applyVariants(l,[...l[4],...u],c);o.getFallback(d,x,[[],l[0]])[0].push([w,!!(g??l[3]?.noMerge),A??0])}return f.concat(o.map(([l,d],w,x)=>{const A=(m,k,b)=>{const p=Math.max(...b.map(v=>v[1])),h=b.map(v=>v[0]);return(m?[h.flat(1)]:h).map(v=>{const C=G(v);if(C)return[d,w,C,x,{...r,noMerge:k,sort:p},n,void 0]})};return[[l.filter(([,m])=>m).map(([m,,k])=>[m,k]),!0],[l.filter(([,m])=>!m).map(([m,,k])=>[m,k]),!1]].map(([m,k])=>[...A(!1,k,m.filter(([b])=>b.some(p=>p[0]===te))),...A(!0,k,m.filter(([b])=>b.every(p=>p[0]!==te)))])}).flat(2).filter(Boolean))}isBlocked(e){return!e||this.config.blocklist.some(n=>O(n)?n===e:n.test(e))}}function rt(t,e){return new tt(t,e)}const nt=/\s\$\$\s+/g;function it(t){return t.match(/\s\$\$\s/)}function st(t,e){return it(t)?t.replace(nt,e?` ${e} `:" "):e?`${e} ${t}`:t}const oe=/^\[(.+?)(~?=)"(.*)"\]$/;function ot(t){return oe.test(t)?t.replace(oe,(e,n,i,r)=>`[${q(n)}${i}"${q(r)}"]`):`.${q(t)}`}function at(t,e){return e(t)}function ct(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function lt(t){let e=t.startsWith("<svg>")?t.replace("<svg>","<svg >"):t;return!e.includes(" xmlns:xlink=")&&e.includes(" xlink:")&&(e=e.replace("<svg ",'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')),e.includes(" xmlns=")||(e=e.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),ct(e)}const ut=3;function ft(t){return function(n={}){const{scale:i=1,mode:r="auto",prefix:o="i-",warn:a=!1,collections:c,extraProperties:u={},customizations:f={},autoInstall:l=!1,layer:d="icons",unit:w}=n,x={addXmlNs:!0,scale:i,customCollections:c,autoInstall:l,warn:void 0,customizations:{...f,additionalProps:{...u},trimCustomSvg:!0,async iconCustomizer(g,m,k){await f.iconCustomizer?.(g,m,k),w&&(k.width||(k.width=`${i}${w}`),k.height||(k.height=`${i}${w}`))}}};let A;return{name:"@unocss/preset-icons",enforce:"pre",options:n,layers:{icons:-30},rules:[[/^([a-z0-9:_-]+)(?:\?(mask|bg|auto))?$/,async([g,m,k=r])=>{let b="",p="",h;A=A||await t(n);const v={};if(m.includes(":"))[b,p]=m.split(":"),h=await A(b,p,{...x,usedProps:v});else{const j=m.split(/-/g);for(let M=ut;M>=1&&(b=j.slice(0,M).join("-"),p=j.slice(M).join("-"),h=await A(b,p,{...x,usedProps:v}),!h);M--);}if(!h){a&&me(`failed to load icon "${g}"`);return}const C=`url("data:image/svg+xml;utf8,${lt(h)}")`;return k==="auto"&&(k=h.includes("currentColor")?"mask":"bg"),k==="mask"?{"--un-icon":C,"-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",...v}:{background:`${C} no-repeat`,"background-size":"100% 100%","background-color":"transparent",...v}},{layer:d,prefix:o}]]}}}const ht=ft(async t=>{const{cdn:e}=t;return e?Le(e):pe});function dt(t){return t.replace(/-(\w)/g,(e,n)=>n?n.toUpperCase():"")}function ae(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ce(t){return t.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var le=["Webkit","Moz","ms"];function pt(t){const e={};function n(i){const r=e[i];if(r)return r;let o=dt(i);if(o!=="filter"&&o in t)return e[i]=ce(o);o=ae(o);for(let a=0;a<le.length;a++){const c=`${le[a]}${o}`;if(c in t)return e[i]=ce(ae(c))}return i}return({entries:i})=>i.forEach(r=>{r[0].startsWith("--")||(r[0]=n(r[0]))})}function gt(t){return t.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<")}function mt(t={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}const e=window,n=window.document,i=()=>n.documentElement,r=e.__unocss||{},o=Object.assign({},t,r.runtime),a=o.defaults||{},c=o.cloakAttribute??"un-cloak";o.autoPrefix&&(a.postprocess=z(a.postprocess)).unshift(pt(n.createElement("div").style)),o.configResolved?.(r,a);const u=rt(r,a),f=new Map;let l=!0,d=new Set,w,x,A=[];const g=()=>new Promise(S=>{A.push(S),x!=null&&clearTimeout(x),x=setTimeout(()=>b().then(()=>{const y=A;A=[],y.forEach($=>$())}),0)});function m(S){if(S.nodeType!==1)return;const y=S;y.hasAttribute(c)&&y.removeAttribute(c),y.querySelectorAll(`[${c}]`).forEach($=>{$.removeAttribute(c)})}function k(S,y){let $=f.get(S);if(!$)if($=n.createElement("style"),$.setAttribute("data-unocss-runtime-layer",S),f.set(S,$),y==null)i().prepend($);else{const E=k(y),_=E.parentNode;_?_.insertBefore($,E.nextSibling):i().prepend($)}return $}async function b(){const S=await u.generate(d);return S.layers.reduce((y,$)=>(k($,y).innerHTML=S.getLayer($)??"",$),void 0),d=S.matched,{...S,getStyleElement:y=>f.get(y),getStyleElements:()=>f}}async function p(S){const y=d.size;await u.applyExtractors(S,void 0,d),y!==d.size&&await g()}async function h(){const S=n.body,y=S&&S.outerHTML;y&&(await p(`${y} ${gt(y)}`),m(i()),m(S))}const v=new MutationObserver(S=>{l||S.forEach(async y=>{if(y.target.nodeType!==1)return;const $=y.target;for(const E of f)if($===E[1])return;if(y.type==="childList")y.addedNodes.forEach(async E=>{if(E.nodeType!==1)return;const _=E;w&&!w(_)||(await p(_.outerHTML),m(_))});else{if(w&&!w($))return;if(y.attributeName!==c){const E=Array.from($.attributes).map(T=>T.value?`${T.name}="${T.value}"`:T.name).join(" "),_=`<${$.tagName.toLowerCase()} ${E}>`;await p(_)}$.hasAttribute(c)&&$.removeAttribute(c)}})});let C=!1;function j(){if(C)return;const S=i()||n.body;S&&(v.observe(S,{childList:!0,subtree:!0,attributes:!0}),C=!0)}function M(){o.bypassDefined&&yt(u.blocked),h(),j()}function P(){n.readyState==="loading"?e.addEventListener("DOMContentLoaded",M):M()}const F=e.__unocss_runtime=e.__unocss_runtime={version:u.version,uno:u,async extract(S){O(S)||(S.forEach(y=>d.add(y)),S=""),await p(S)},extractAll:h,inspect(S){w=S},toggleObserver(S){S===void 0?l=!l:l=!!S,!C&&!l&&P()},update:b};o.ready?.(F)!==!1&&(l=!1,P())}function yt(t=new Set){for(let e=0;e<document.styleSheets.length;e++){const n=document.styleSheets[e];let i;try{if(i=n.cssRules||n.rules,!i)continue;Array.from(i).flatMap(r=>r.selectorText?.split(/,/g)||[]).forEach(r=>{r&&(r=r.trim(),r.startsWith(".")&&(r=r.slice(1)),t.add(r))})}catch{continue}}return t}mt({defaults:{presets:[ht({prefix:["i-",""],collections:{},cdn:"https://esm.sh/",scale:1.2,extraProperties:{display:"inline-block","vertical-align":"middle"}})]},bypassDefined:!0});
1
+ import{$ as be}from"./entry.33b5be03.js";const K=Object.freeze({left:0,top:0,width:16,height:16}),N=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),ue=Object.freeze({...K,...N}),ve=Object.freeze({...ue,body:"",hidden:!1}),Se=Object.freeze({width:null,height:null}),fe=Object.freeze({...Se,...N});function xe(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const i=((t.rotate||0)+(e.rotate||0))%4;return i&&(n.rotate=i),n}function Z(t,e){const n=xe(t,e);for(const i in ve)i in N?i in t&&!(i in n)&&(n[i]=N[i]):i in e?n[i]=e[i]:i in t&&(n[i]=t[i]);return n}function ke(t,e){const n=t.icons,i=t.aliases||Object.create(null),r=Object.create(null);function o(a){if(n[a])return r[a]=[];if(!(a in r)){r[a]=null;const c=i[a]&&i[a].parent,u=c&&o(c);u&&(r[a]=[c].concat(u))}return r[a]}return(e||Object.keys(n).concat(Object.keys(i))).forEach(o),r}function J(t,e,n){const i=t.icons,r=t.aliases||Object.create(null);let o={};function a(c){o=Z(i[c]||r[c],o)}return a(e),n.forEach(a),Z(t,o)}function $e(t,e){if(t.icons[e])return J(t,e,[]);const n=ke(t,[e])[e];return n?J(t,e,n):null}({...K});Object.keys(K).concat(["provider"]);const Ae=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ce=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Q(t,e,n){if(e===1)return t;if(n=n||100,typeof t=="number")return Math.ceil(t*e*n)/n;if(typeof t!="string")return t;const i=t.split(Ae);if(i===null||!i.length)return t;const r=[];let o=i.shift(),a=Ce.test(o);for(;;){if(a){const c=parseFloat(o);isNaN(c)?r.push(o):r.push(Math.ceil(c*e*n)/n)}else r.push(o);if(o=i.shift(),o===void 0)return r.join("");a=!a}}const X=t=>t==="unset"||t==="undefined"||t==="none";function Oe(t,e){const n={...ue,...t},i={...fe,...e},r={left:n.left,top:n.top,width:n.width,height:n.height};let o=n.body;[n,i].forEach(A=>{const g=[],m=A.hFlip,k=A.vFlip;let b=A.rotate;m?k?b+=2:(g.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),g.push("scale(-1 1)"),r.top=r.left=0):k&&(g.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),g.push("scale(1 -1)"),r.top=r.left=0);let p;switch(b<0&&(b-=Math.floor(b/4)*4),b=b%4,b){case 1:p=r.height/2+r.top,g.unshift("rotate(90 "+p.toString()+" "+p.toString()+")");break;case 2:g.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:p=r.width/2+r.left,g.unshift("rotate(-90 "+p.toString()+" "+p.toString()+")");break}b%2===1&&(r.left!==r.top&&(p=r.left,r.left=r.top,r.top=p),r.width!==r.height&&(p=r.width,r.width=r.height,r.height=p)),g.length&&(o='<g transform="'+g.join(" ")+'">'+o+"</g>")});const a=i.width,c=i.height,u=r.width,f=r.height;let l,d;a===null?(d=c===null?"1em":c==="auto"?f:c,l=Q(d,u/f)):(l=a==="auto"?u:a,d=c===null?Q(l,f/u):c==="auto"?f:c);const w={},x=(A,g)=>{X(g)||(w[A]=g.toString())};return x("width",l),x("height",d),w.viewBox=r.left.toString()+" "+r.top.toString()+" "+u.toString()+" "+f.toString(),{attributes:w,body:o}}""+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);function je(t){return t.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,'="').trim()}function s(t,e){const n="rgb",i=e[0],r=e.length;r>1&&e[1],r>2&&e[2],r>3&&e[3]}s("silver",[192]);s("gray",[128]);s("white",[255]);s("maroon",[128,0,0]);s("red",[255,0,0]);s("purple",[128,0]);s("fuchsia",[255,0]);s("green",[0,128]);s("lime",[0,255]);s("olive",[128,128,0]);s("yellow",[255,255,0]);s("navy",[0,0,128]);s("blue",[0,0,255]);s("teal",[0,128,128]);s("aqua",[0,255,255]);s("aliceblue",[240,248,255]);s("antiquewhite",[250,235,215]);s("aqua",[0,255,255]);s("aquamarine",[127,255,212]);s("azure",[240,255,255]);s("beige",[245,245,220]);s("bisque",[255,228,196]);s("black",[0]);s("blanchedalmond",[255,235,205]);s("blue",[0,0,255]);s("blueviolet",[138,43,226]);s("brown",[165,42,42]);s("burlywood",[222,184,135]);s("cadetblue",[95,158,160]);s("chartreuse",[127,255,0]);s("chocolate",[210,105,30]);s("coral",[255,127,80]);s("cornflowerblue",[100,149,237]);s("cornsilk",[255,248,220]);s("crimson",[220,20,60]);s("cyan",[0,255,255]);s("darkblue",[0,0,139]);s("darkcyan",[0,139,139]);s("darkgoldenrod",[184,134,11]);s("darkgray",[169]);s("darkgreen",[0,100]);s("darkgrey",[169]);s("darkkhaki",[189,183,107]);s("darkmagenta",[139,0]);s("darkolivegreen",[85,107,47]);s("darkorange",[255,140,0]);s("darkorchid",[153,50,204]);s("darkred",[139,0,0]);s("darksalmon",[233,150,122]);s("darkseagreen",[143,188]);s("darkslateblue",[72,61,139]);s("darkslategray",[47,79,79]);s("darkslategrey",[47,79,79]);s("darkturquoise",[0,206,209]);s("darkviolet",[148,0,211]);s("deeppink",[255,20,147]);s("deepskyblue",[0,191,255]);s("dimgray",[105]);s("dimgrey",[105]);s("dodgerblue",[30,144,255]);s("firebrick",[178,34,34]);s("floralwhite",[255,250,240]);s("forestgreen",[34,139]);s("fuchsia",[255,0]);s("gainsboro",[220]);s("ghostwhite",[248,248,255]);s("gold",[255,215,0]);s("goldenrod",[218,165,32]);s("gray",[128]);s("green",[0,128]);s("greenyellow",[173,255,47]);s("grey",[128]);s("honeydew",[240,255]);s("hotpink",[255,105,180]);s("indianred",[205,92,92]);s("indigo",[75,0,130]);s("ivory",[255,255,240]);s("khaki",[240,230,140]);s("lavender",[230,230,250]);s("lavenderblush",[255,240,245]);s("lawngreen",[124,252,0]);s("lemonchiffon",[255,250,205]);s("lightblue",[173,216,230]);s("lightcoral",[240,128,128]);s("lightcyan",[224,255,255]);s("lightgoldenrodyellow",[250,250,210]);s("lightgray",[211]);s("lightgreen",[144,238]);s("lightgrey",[211]);s("lightpink",[255,182,193]);s("lightsalmon",[255,160,122]);s("lightseagreen",[32,178,170]);s("lightskyblue",[135,206,250]);s("lightslategray",[119,136,153]);s("lightslategrey",[119,136,153]);s("lightsteelblue",[176,196,222]);s("lightyellow",[255,255,224]);s("lime",[0,255]);s("limegreen",[50,205]);s("linen",[250,240,230]);s("magenta",[255,0]);s("maroon",[128,0,0]);s("mediumaquamarine",[102,205,170]);s("mediumblue",[0,0,205]);s("mediumorchid",[186,85,211]);s("mediumpurple",[147,112,219]);s("mediumseagreen",[60,179,113]);s("mediumslateblue",[123,104,238]);s("mediumspringgreen",[0,250,154]);s("mediumturquoise",[72,209,204]);s("mediumvioletred",[199,21,133]);s("midnightblue",[25,25,112]);s("mintcream",[245,255,250]);s("mistyrose",[255,228,225]);s("moccasin",[255,228,181]);s("navajowhite",[255,222,173]);s("navy",[0,0,128]);s("oldlace",[253,245,230]);s("olive",[128,128,0]);s("olivedrab",[107,142,35]);s("orange",[255,165,0]);s("orangered",[255,69,0]);s("orchid",[218,112,214]);s("palegoldenrod",[238,232,170]);s("palegreen",[152,251]);s("paleturquoise",[175,238,238]);s("palevioletred",[219,112,147]);s("papayawhip",[255,239,213]);s("peachpuff",[255,218,185]);s("peru",[205,133,63]);s("pink",[255,192,203]);s("plum",[221,160]);s("powderblue",[176,224,230]);s("purple",[128,0]);s("rebeccapurple",[102,51,153]);s("red",[255,0,0]);s("rosybrown",[188,143,143]);s("royalblue",[65,105,225]);s("saddlebrown",[139,69,19]);s("salmon",[250,128,114]);s("sandybrown",[244,164,96]);s("seagreen",[46,139,87]);s("seashell",[255,245,238]);s("sienna",[160,82,45]);s("silver",[192]);s("skyblue",[135,206,235]);s("slateblue",[106,90,205]);s("slategray",[112,128,144]);s("slategrey",[112,128,144]);s("snow",[255,250,250]);s("springgreen",[0,255,127]);s("steelblue",[70,130,180]);s("tan",[210,180,140]);s("teal",[0,128,128]);s("thistle",[216,191]);s("tomato",[255,99,71]);s("turquoise",[64,224,208]);s("violet",[238,130]);s("wheat",[245,222,179]);s("white",[255]);s("whitesmoke",[245]);s("yellow",[255,255,0]);s("yellowgreen",[154,205,50]);const Ee=/\swidth\s*=\s*["'](\w+)["']/,Me=/\sheight\s*=\s*["'](\w+)["']/,H=/<svg\s+/;function _e(t,e,n){const i=t.slice(0,t.indexOf(">")),r=(o,a)=>{const c=a.exec(i),u=c!=null,f=e[o];return!f&&!X(f)&&(typeof n=="number"?n>0&&(e[o]=`${n}em`):c&&(e[o]=c[1])),u};return[r("width",Ee),r("height",Me)]}async function he(t,e,n,i,r,o){const{scale:a,addXmlNs:c=!1}=i??{},{additionalProps:u={},iconCustomizer:f}=i?.customizations??{},l=await r?.()??{};await f?.(e,n,l),Object.keys(u).forEach(g=>{const m=u[g];m!=null&&(l[g]=m)}),o?.(l);const[d,w]=_e(t,l,a);c&&(!t.includes("xmlns=")&&!l.xmlns&&(l.xmlns="http://www.w3.org/2000/svg"),!t.includes("xmlns:xlink=")&&t.includes("xlink:")&&!l["xmlns:xlink"]&&(l["xmlns:xlink"]="http://www.w3.org/1999/xlink"));const x=Object.keys(l).map(g=>g==="width"&&d||g==="height"&&w?null:`${g}="${l[g]}"`).filter(g=>g!=null);if(x.length&&(t=t.replace(H,`<svg ${x.join(" ")} `)),i){const{defaultStyle:g,defaultClass:m}=i;m&&!t.includes("class=")&&(t=t.replace(H,`<svg class="${m}" `)),g&&!t.includes("style=")&&(t=t.replace(H,`<svg style="${g}" `))}const A=i?.usedProps;return A&&(Object.keys(u).forEach(g=>{const m=l[g];m!=null&&(A[g]=m)}),typeof l.width<"u"&&l.width!==null&&(A.width=l.width),typeof l.height<"u"&&l.height!==null&&(A.height=l.height)),t}async function ee(t,e,n,i){let r;if(typeof t=="function")r=await t(n);else{const o=t[n];r=typeof o=="function"?await o():o}if(r){const o=r.indexOf("<svg");o>0&&(r=r.slice(o));const{transform:a}=i?.customizations??{};return r=typeof a=="function"?await a(r,e,n):r,r.startsWith("<svg")?await he(i?.customizations?.trimCustomSvg===!0?je(r):r,e,n,i,void 0):(console.warn(`Custom icon "${n}" in "${e}" is not a valid SVG`),r)}}async function de(t,e,n,i){let r;const{customize:o}=i?.customizations??{};for(const a of n)if(r=$e(t,a),r){let c={...fe};typeof o=="function"&&(c=o(c));const{attributes:{width:u,height:f,...l},body:d}=Oe(r,c),w=i?.scale;return await he(`<svg >${d}</svg>`,e,a,i,()=>({...l}),x=>{const A=(g,m)=>{const k=x[g];let b;if(!X(k)){if(k)return;typeof w=="number"?w&&(b=`${w}em`):b=m}b?x[g]=b:delete x[g]};A("width",u),A("height",f)})}}const pe=async(t,e,n)=>{const i=n?.customCollections?.[t];if(i)if(typeof i=="function"){const r=await i(e);if(r){if(typeof r=="string")return await ee(()=>r,t,e,n);if("icons"in r){const o=[e,e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),e.replace(/([a-z])(\d+)/g,"$1-$2")];return await de(r,t,o,n)}}}else return await ee(i,t,e,n)};var ze=["academicons","akar-icons","ant-design","arcticons","basil","bi","bpmn","brandico","bx","bxl","bxs","bytesize","carbon","charm","ci","cib","cif","cil","circle-flags","circum","clarity","codicon","covid","cryptocurrency-color","cryptocurrency","dashicons","devicon-line","devicon-original","devicon-plain","devicon","ei","el","emblemicons","emojione-monotone","emojione-v1","emojione","entypo-social","entypo","eos-icons","ep","et","eva","fa-brands","fa-regular","fa-solid","fa","fa6-brands","fa6-regular","fa6-solid","fad","fe","feather","file-icons","flag","flagpack","flat-color-icons","flat-ui","fluent-emoji-flat","fluent-emoji-high-contrast","fluent-emoji","fluent-mdl2","fluent","fontelico","fontisto","formkit","foundation","fxemoji","gala","game-icons","geo","gg","gis","gridicons","grommet-icons","guidance","healthicons","heroicons-outline","heroicons-solid","heroicons","humbleicons","ic","icomoon-free","icon-park-outline","icon-park-solid","icon-park-twotone","icon-park","iconamoon","iconoir","icons8","il","ion","iwwa","jam","la","line-md","logos","ls","lucide","majesticons","maki","map","material-symbols","mdi-light","mdi","medical-icon","memory","mi","mingcute","mono-icons","nimbus","nonicons","noto-v1","noto","octicon","oi","ooui","openmoji","pajamas","pepicons-pencil","pepicons-pop","pepicons-print","pepicons","ph","pixelarticons","prime","ps","quill","radix-icons","raphael","ri","si-glyph","simple-icons","simple-line-icons","skill-icons","solar","streamline-emojis","streamline","subway","svg-spinners","system-uicons","tabler","teenyicons","topcoat","twemoji","typcn","uil","uim","uis","uit","uiw","vaadin","vs","vscode-icons","websymbol","whh","wi","wpf","zmdi","zondicons"];function Le(t){const e=new Map;function n(i){if(ze.includes(i))return e.has(i)||e.set(i,be(`${t}@iconify-json/${i}/icons.json`)),e.get(i)}return async(i,r,o)=>{let a=await pe(i,r,o);if(a)return a;const c=await n(i);if(c){const u=[r,r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r.replace(/([a-z])(\d+)/g,"$1-$2")];a=await de(c,i,u,o)}return a}}function Te(t){const e=t.length;let n=-1,i,r="";const o=t.charCodeAt(0);for(;++n<e;){if(i=t.charCodeAt(n),i===0){r+="�";continue}if(i===44){r+="\\,";continue}if(i>=1&&i<=31||i===127||n===0&&i>=48&&i<=57||n===1&&i>=48&&i<=57&&o===45){r+=`\\${i.toString(16)} `;continue}if(n===0&&e===1&&i===45){r+=`\\${t.charAt(n)}`;continue}if(i>=128||i===45||i===95||i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122){r+=t.charAt(n);continue}r+=`\\${t.charAt(n)}`}return r}const q=Te;function z(t=[]){return Array.isArray(t)?t:[t]}function R(t){return Array.from(new Set(t))}function j(t){return typeof t=="string"}function F(t){return j(t)?t:(Array.isArray(t)?t:Object.entries(t)).filter(e=>e[1]!=null)}function Ie(t){return Array.isArray(t)?t.find(e=>!Array.isArray(e)||Array.isArray(e[0]))?t.map(e=>F(e)):[t]:[F(t)]}function Pe(t){return t.filter(([e,n],i)=>{if(e.startsWith("$$"))return!1;for(let r=i-1;r>=0;r--)if(t[r][0]===e&&t[r][1]===n)return!1;return!0})}function G(t){return t==null?"":Pe(t).map(([e,n])=>n!=null?`${e}:${n};`:void 0).filter(Boolean).join("")}function D(t){return t&&typeof t=="object"&&!Array.isArray(t)}function ge(t,e,n=!1){const i=t,r=e;if(Array.isArray(r))return n&&Array.isArray(r)?[...i,...r]:[...r];const o={...i};return D(i)&&D(r)&&Object.keys(r).forEach(a=>{D(i[a])&&D(r[a])||Array.isArray(i[a])&&Array.isArray(r[a])?o[a]=ge(i[a],r[a],n):Object.assign(o,{[a]:r[a]})}),o}function U(t){let e,n,i;if(Array.isArray(t)){for(n=Array(e=t.length);e--;)n[e]=(i=t[e])&&typeof i=="object"?U(i):i;return n}if(Object.prototype.toString.call(t)==="[object Object]"){n={};for(e in t)e==="__proto__"?Object.defineProperty(n,e,{value:U(t[e]),configurable:!0,enumerable:!0,writable:!0}):n[e]=(i=t[e])&&typeof i=="object"?U(i):i;return n}return t}function Re(t){return j(t[0])}function Fe(t){return j(t[0])}const te="$$shortcut-no-merge";function Ve(t){return typeof t=="function"?{match:t}:t}function re(t){return t.length===3}function De(t){return t!=null}function Be(){}class Ue{constructor(){this._map=new Map}get(e,n){const i=this._map.get(e);if(i)return i.get(n)}getFallback(e,n,i){let r=this._map.get(e);return r||(r=new Map,this._map.set(e,r)),r.has(n)||r.set(n,i),r.get(n)}set(e,n,i){let r=this._map.get(e);return r||(r=new Map,this._map.set(e,r)),r.set(n,i),this}has(e,n){return this._map.get(e)?.has(n)}delete(e,n){return this._map.get(e)?.delete(n)||!1}deleteTop(e){return this._map.delete(e)}map(e){return Array.from(this._map.entries()).flatMap(([n,i])=>Array.from(i.entries()).map(([r,o])=>e(o,n,r)))}}const B={};function Ne(t=["-",":"]){const e=t.join("|");return B[e]||(B[e]=new RegExp(`((?:[!@<~\\w+:_/-]|\\[&?>?:?\\S*\\])+?)(${e})\\(((?:[~!<>\\w\\s:/\\\\,%#.$?-]|\\[.*?\\])+?)\\)(?!\\s*?=>)`,"gm")),B[e].lastIndex=0,B[e]}function He(t,e=["-",":"],n=5){const i=Ne(e);let r=!1,o=t.toString();const a=new Set;do{const c=o;o=o.replace(i,(u,f,l,d)=>e.includes(l)?(a.add(f+l),d.split(/\s/g).filter(Boolean).map(w=>w==="~"?f:w.replace(/^(!?)(.*)/,`$1${f}${l}$2`)).join(" ")):u),r=o!==c,n-=1}while(r&&n);return{prefixes:Array.from(a),expanded:o,hasChanged:r}}function qe(t,e=["-",":"],n=5){const{expanded:i}=He(t.toString(),e,n);return typeof t=="string"?i:t.length()?t.overwrite(0,t.original.length,i):t}const ne=new Set;function me(t){ne.has(t)||(console.warn("[unocss]",t),ne.add(t))}const Ge=/[\\:]?[\s'"`;{}]+/g;function We(t){return[...new Set(t.split(Ge))]}const Ye={name:"@unocss/core/extractor-split",order:0,extract({code:t}){return We(t)}};function Ke(){return{events:{},emit(t,...e){(this.events[t]||[]).forEach(n=>n(...e))},on(t,e){return(this.events[t]=this.events[t]||[]).push(e),()=>this.events[t]=(this.events[t]||[]).filter(n=>n!==e)}}}const W="default",Y="preflights",Xe="shortcuts",Ze={[Y]:-100,[Xe]:-10,[W]:0};function ye(t){return z(t).flatMap(e=>Array.isArray(e)?[e]:Object.entries(e))}const ie="_uno_resolved";function Je(t){if(ie in t)return t;t={...t},Object.defineProperty(t,ie,{value:!0,enumerable:!1});const e=t.shortcuts?ye(t.shortcuts):void 0;if(t.shortcuts=e,t.prefix||t.layer){const n=i=>{i[2]||(i[2]={});const r=i[2];r.prefix==null&&t.prefix&&(r.prefix=z(t.prefix)),r.layer==null&&t.layer&&(r.layer=t.layer)};e?.forEach(n),t.rules?.forEach(n)}return t}function we(t){const e=Je(t);if(!e.presets)return[e];const n=(e.presets||[]).flatMap(z).flatMap(we);return[e,...n]}function se(t={},e={}){const n=Object.assign({},e,t),i=R((n.presets||[]).flatMap(z).flatMap(we)),r=[...i.filter(h=>h.enforce==="pre"),...i.filter(h=>!h.enforce),...i.filter(h=>h.enforce==="post")],o=[...r,n],a=[...o].reverse(),c=Object.assign({},Ze,...o.map(h=>h.layers));function u(h){return R(o.flatMap(v=>z(v[h]||[])))}const f=u("extractors");let l=a.find(h=>h.extractorDefault!==void 0)?.extractorDefault;l===void 0&&(l=Ye),l&&!f.includes(l)&&f.unshift(l),f.sort((h,v)=>(h.order||0)-(v.order||0));const d=u("rules"),w={},x=d.length,A=d.map((h,v)=>{if(Re(h)){z(h[2]?.prefix||"").forEach(O=>{w[O+h[0]]=[v,h[1],h[2],h]});return}return[v,...h]}).filter(Boolean).reverse();let g=Qe(o.map(h=>h.theme));const m=u("extendTheme");for(const h of m)g=h(g)||g;const k={templates:R(o.flatMap(h=>z(h.autocomplete?.templates))),extractors:o.flatMap(h=>z(h.autocomplete?.extractors)).sort((h,v)=>(h.order||0)-(v.order||0))};let b=u("separators");b.length||(b=[":","-"]);const p={mergeSelectors:!0,warn:!0,blocklist:[],sortLayers:h=>h,...n,presets:r,envMode:n.envMode||"build",shortcutsLayer:n.shortcutsLayer||"shortcuts",layers:c,theme:g,rulesSize:x,rulesDynamic:A,rulesStaticMap:w,preprocess:u("preprocess"),postprocess:u("postprocess"),preflights:u("preflights"),autocomplete:k,variants:u("variants").map(Ve).sort((h,v)=>(h.order||0)-(v.order||0)),shortcuts:ye(u("shortcuts")).reverse(),extractors:f,safelist:u("safelist"),separators:b};for(const h of o)h?.configResolved?.(p);return p}function Qe(t){return t.map(e=>e?U(e):{}).reduce((e,n)=>ge(e,n),{})}const et="0.53.5";class tt{constructor(e={},n={}){this.userConfig=e,this.defaults=n,this.version=et,this._cache=new Map,this.blocked=new Set,this.parentOrders=new Map,this.events=Ke(),this.config=se(e,n),this.events.emit("config",this.config)}setConfig(e,n){e&&(n&&(this.defaults=n),this.userConfig=e,this.blocked.clear(),this.parentOrders.clear(),this._cache.clear(),this.config=se(e,this.defaults),this.events.emit("config",this.config))}async applyExtractors(e,n,i=new Set){const r={original:e,code:e,id:n,extracted:i};for(const o of this.config.extractors){const a=await o.extract?.(r);if(a)for(const c of a)i.add(c)}return i}makeContext(e,n){const i={rawSelector:e,currentSelector:n[1],theme:this.config.theme,generator:this,variantHandlers:n[2],constructCSS:(...r)=>this.constructCustomCSS(i,...r),variantMatch:n};return i}async parseToken(e,n){if(this.blocked.has(e))return;const i=`${e}${n?` ${n}`:""}`;if(this._cache.has(i))return this._cache.get(i);let r=e;for(const f of this.config.preprocess)r=f(e);if(this.isBlocked(r)){this.blocked.add(e),this._cache.set(i,null);return}const o=await this.matchVariants(e,r);if(!o||this.isBlocked(o[1])){this.blocked.add(e),this._cache.set(i,null);return}const a=this.makeContext(e,[n||o[0],o[1],o[2],o[3]]);this.config.details&&(a.variants=[...o[3]]);const c=await this.expandShortcut(a.currentSelector,a),u=c?await this.stringifyShortcuts(a.variantMatch,a,c[0],c[1]):(await this.parseUtil(a.variantMatch,a))?.map(f=>this.stringifyUtil(f,a)).filter(De);if(u?.length)return this._cache.set(i,u),u;this._cache.set(i,null)}async generate(e,n={}){const{id:i,scope:r,preflights:o=!0,safelist:a=!0,minify:c=!1}=n,u=j(e)?await this.applyExtractors(e,i):Array.isArray(e)?new Set(e):e;a&&this.config.safelist.forEach(p=>u.add(p));const f=c?"":`
2
+ `,l=new Set([W]),d=new Set,w=new Map;let x={};const A=Array.from(u).map(async p=>{if(d.has(p))return;const h=await this.parseToken(p);if(h!=null){d.add(p);for(const v of h){const C=v[3]||"",O=v[4]?.layer;w.has(C)||w.set(C,[]),w.get(C).push(v),O&&l.add(O)}}});await Promise.all(A),await(async()=>{if(!o)return;const p={generator:this,theme:this.config.theme},h=new Set([]);this.config.preflights.forEach(({layer:v=Y})=>{l.add(v),h.add(v)}),x=Object.fromEntries(await Promise.all(Array.from(h).map(async v=>{const O=(await Promise.all(this.config.preflights.filter(M=>(M.layer||Y)===v).map(async M=>await M.getCSS(p)))).filter(Boolean).join(f);return[v,O]})))})();const g=this.config.sortLayers(Array.from(l).sort((p,h)=>(this.config.layers[p]??0)-(this.config.layers[h]??0)||p.localeCompare(h))),m={},k=p=>{if(m[p])return m[p];let h=Array.from(w).sort((C,O)=>(this.parentOrders.get(C[0])??0)-(this.parentOrders.get(O[0])??0)||C[0]?.localeCompare(O[0]||"")||0).map(([C,O])=>{const M=O.length,P=O.filter(y=>(y[4]?.layer||W)===p).sort((y,$)=>y[0]-$[0]||(y[4]?.sort||0)-($[4]?.sort||0)||y[5]?.currentSelector?.localeCompare($[5]?.currentSelector??"")||y[1]?.localeCompare($[1]||"")||y[2]?.localeCompare($[2]||"")||0).map(([,y,$,,E,,_])=>[[[(y&&st(y,r))??"",E?.sort??0]],$,!!(_??E?.noMerge)]);if(!P.length)return;const V=P.reverse().map(([y,$,E],_)=>{if(!E&&this.config.mergeSelectors)for(let I=_+1;I<M;I++){const L=P[I];if(L&&!L[2]&&(y&&L[0]||y==null&&L[0]==null)&&L[1]===$)return y&&L[0]&&L[0].push(...y),null}const T=y?R(y.sort((I,L)=>I[1]-L[1]||I[0]?.localeCompare(L[0]||"")||0).map(I=>I[0]).filter(Boolean)):[];return T.length?`${T.join(`,${f}`)}{${$}}`:$}).filter(Boolean).reverse().join(f);if(!C)return V;const S=C.split(" $$ ");return`${S.join("{")}{${f}${V}${f}}${S.map(y=>"").join("}")}`}).filter(Boolean).join(f);o&&(h=[x[p],h].filter(Boolean).join(f));const v=c?"":`/* layer: ${p} */${f}`;return m[p]=h?v+h:""},b=(p=g,h)=>p.filter(v=>!h?.includes(v)).map(v=>k(v)||"").filter(Boolean).join(f);return{get css(){return b()},layers:g,matched:d,getLayers:b,getLayer:k}}async matchVariants(e,n){const i=new Set,r=[];let o=n||e,a=!1;const c={rawSelector:e,theme:this.config.theme,generator:this};for(;;){a=!1;for(const u of this.config.variants){if(!u.multiPass&&i.has(u))continue;let f=await u.match(o,c);if(f){j(f)&&(f={matcher:f}),o=f.matcher,r.unshift(f),i.add(u),a=!0;break}}if(!a)break;if(r.length>500)throw new Error(`Too many variants applied to "${e}"`)}return[e,o,r,i]}applyVariants(e,n=e[4],i=e[1]){const o=n.slice().sort((f,l)=>(f.order||0)-(l.order||0)).reduceRight((f,l)=>d=>{const w=l.body?.(d.entries)||d.entries,x=Array.isArray(l.parent)?l.parent:[l.parent,void 0];return(l.handle??at)({...d,entries:w,selector:l.selector?.(d.selector,w)||d.selector,parent:x[0]||d.parent,parentOrder:x[1]||d.parentOrder,layer:l.layer||d.layer,sort:l.sort||d.sort},f)},f=>f)({prefix:"",selector:ot(i),pseudo:"",entries:e[2]}),{parent:a,parentOrder:c}=o;a!=null&&c!=null&&this.parentOrders.set(a,c);const u={selector:[o.prefix,o.selector,o.pseudo].join(""),entries:o.entries,parent:a,layer:o.layer,sort:o.sort,noMerge:o.noMerge};for(const f of this.config.postprocess)f(u);return u}constructCustomCSS(e,n,i){const r=F(n);if(j(r))return r;const{selector:o,entries:a,parent:c}=this.applyVariants([0,i||e.rawSelector,r,void 0,e.variantHandlers]),u=`${o}{${G(a)}}`;return c?`${c}{${u}}`:u}async parseUtil(e,n,i=!1,r){const[o,a,c]=j(e)?await this.matchVariants(e):e;this.config.details&&(n.rules=n.rules??[]);const u=this.config.rulesStaticMap[a];if(u&&u[1]&&(i||!u[2]?.internal)){this.config.details&&n.rules.push(u[3]);const l=u[0],d=F(u[1]),w=u[2];return j(d)?[[l,d,w]]:[[l,o,d,w,c]]}n.variantHandlers=c;const{rulesDynamic:f}=this.config;for(const[l,d,w,x]of f){if(x?.internal&&!i)continue;let A=a;if(x?.prefix){const b=z(x.prefix);if(r){const p=z(r);if(!b.some(h=>p.includes(h)))continue}else{const p=b.find(h=>a.startsWith(h));if(p==null)continue;A=a.slice(p.length)}}const g=A.match(d);if(!g)continue;const m=await w(g,n);if(!m)continue;this.config.details&&n.rules.push([d,w,x]);const k=Ie(m).filter(b=>b.length);if(k.length)return k.map(b=>j(b)?[l,b,x]:[l,o,b,x,c])}}stringifyUtil(e,n){if(!e)return;if(re(e))return[e[0],void 0,e[1],void 0,e[2],this.config.details?n:void 0,void 0];const{selector:i,entries:r,parent:o,layer:a,sort:c,noMerge:u}=this.applyVariants(e),f=G(r);if(!f)return;const{layer:l,sort:d,...w}=e[3]??{},x={...w,layer:a??l,sort:c??d};return[e[0],i,f,o,x,this.config.details?n:void 0,u]}async expandShortcut(e,n,i=5){if(i===0)return;const r=this.config.details?c=>{n.shortcuts=n.shortcuts??[],n.shortcuts.push(c)}:Be;let o,a;for(const c of this.config.shortcuts){let u=e;if(c[2]?.prefix){const l=z(c[2].prefix).find(d=>e.startsWith(d));if(l==null)continue;u=e.slice(l.length)}if(Fe(c)){if(c[0]===u){o=o||c[2],a=c[1],r(c);break}}else{const f=u.match(c[0]);if(f&&(a=c[1](f,n)),a){o=o||c[2],r(c);break}}}if(j(a)&&(a=qe(a.trim()).split(/\s+/g)),!a){const[c,u]=j(e)?await this.matchVariants(e):e;if(c!==u){const f=await this.expandShortcut(u,n,i-1);f&&(a=f[0].map(l=>j(l)?c.replace(u,l):l))}}if(a)return[(await Promise.all(a.map(async c=>(j(c)?(await this.expandShortcut(c,n,i-1))?.[0]:void 0)||[c]))).flat(1).filter(Boolean),o]}async stringifyShortcuts(e,n,i,r={layer:this.config.shortcutsLayer}){const o=new Ue,a=(await Promise.all(R(i).map(async l=>{const d=j(l)?await this.parseUtil(l,n,!0,r.prefix):[[Number.POSITIVE_INFINITY,"{inline}",F(l),void 0,[]]];return d||me(`unmatched utility "${l}" in shortcut "${e[1]}"`),d||[]}))).flat(1).filter(Boolean).sort((l,d)=>l[0]-d[0]),[c,,u]=e,f=[];for(const l of a){if(re(l)){f.push([l[0],void 0,l[1],void 0,l[2],n,void 0]);continue}const{selector:d,entries:w,parent:x,sort:A,noMerge:g}=this.applyVariants(l,[...l[4],...u],c);o.getFallback(d,x,[[],l[0]])[0].push([w,!!(g??l[3]?.noMerge),A??0])}return f.concat(o.map(([l,d],w,x)=>{const A=(m,k,b)=>{const p=Math.max(...b.map(v=>v[1])),h=b.map(v=>v[0]);return(m?[h.flat(1)]:h).map(v=>{const C=G(v);if(C)return[d,w,C,x,{...r,noMerge:k,sort:p},n,void 0]})};return[[l.filter(([,m])=>m).map(([m,,k])=>[m,k]),!0],[l.filter(([,m])=>!m).map(([m,,k])=>[m,k]),!1]].map(([m,k])=>[...A(!1,k,m.filter(([b])=>b.some(p=>p[0]===te))),...A(!0,k,m.filter(([b])=>b.every(p=>p[0]!==te)))])}).flat(2).filter(Boolean))}isBlocked(e){return!e||this.config.blocklist.some(n=>j(n)?n===e:n.test(e))}}function rt(t,e){return new tt(t,e)}const nt=/\s\$\$\s+/g;function it(t){return t.match(/\s\$\$\s/)}function st(t,e){return it(t)?t.replace(nt,e?` ${e} `:" "):e?`${e} ${t}`:t}const oe=/^\[(.+?)(~?=)"(.*)"\]$/;function ot(t){return oe.test(t)?t.replace(oe,(e,n,i,r)=>`[${q(n)}${i}"${q(r)}"]`):`.${q(t)}`}function at(t,e){return e(t)}function ct(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function lt(t){let e=t.startsWith("<svg>")?t.replace("<svg>","<svg >"):t;return!e.includes(" xmlns:xlink=")&&e.includes(" xlink:")&&(e=e.replace("<svg ",'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ')),e.includes(" xmlns=")||(e=e.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),ct(e)}const ut=3;function ft(t){return function(n={}){const{scale:i=1,mode:r="auto",prefix:o="i-",warn:a=!1,collections:c,extraProperties:u={},customizations:f={},autoInstall:l=!1,layer:d="icons",unit:w}=n,x={addXmlNs:!0,scale:i,customCollections:c,autoInstall:l,warn:void 0,customizations:{...f,additionalProps:{...u},trimCustomSvg:!0,async iconCustomizer(g,m,k){await f.iconCustomizer?.(g,m,k),w&&(k.width||(k.width=`${i}${w}`),k.height||(k.height=`${i}${w}`))}}};let A;return{name:"@unocss/preset-icons",enforce:"pre",options:n,layers:{icons:-30},rules:[[/^([a-z0-9:_-]+)(?:\?(mask|bg|auto))?$/,async([g,m,k=r])=>{let b="",p="",h;A=A||await t(n);const v={};if(m.includes(":"))[b,p]=m.split(":"),h=await A(b,p,{...x,usedProps:v});else{const O=m.split(/-/g);for(let M=ut;M>=1&&(b=O.slice(0,M).join("-"),p=O.slice(M).join("-"),h=await A(b,p,{...x,usedProps:v}),!h);M--);}if(!h){a&&me(`failed to load icon "${g}"`);return}const C=`url("data:image/svg+xml;utf8,${lt(h)}")`;return k==="auto"&&(k=h.includes("currentColor")?"mask":"bg"),k==="mask"?{"--un-icon":C,"-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",...v}:{background:`${C} no-repeat`,"background-size":"100% 100%","background-color":"transparent",...v}},{layer:d,prefix:o}]]}}}const ht=ft(async t=>{const{cdn:e}=t;return e?Le(e):pe});function dt(t){return t.replace(/-(\w)/g,(e,n)=>n?n.toUpperCase():"")}function ae(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ce(t){return t.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var le=["Webkit","Moz","ms"];function pt(t){const e={};function n(i){const r=e[i];if(r)return r;let o=dt(i);if(o!=="filter"&&o in t)return e[i]=ce(o);o=ae(o);for(let a=0;a<le.length;a++){const c=`${le[a]}${o}`;if(c in t)return e[i]=ce(ae(c))}return i}return({entries:i})=>i.forEach(r=>{r[0].startsWith("--")||(r[0]=n(r[0]))})}function gt(t){return t.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<")}function mt(t={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}const e=window,n=window.document,i=()=>n.documentElement,r=e.__unocss||{},o=Object.assign({},t,r.runtime),a=o.defaults||{},c=o.cloakAttribute??"un-cloak";o.autoPrefix&&(a.postprocess=z(a.postprocess)).unshift(pt(n.createElement("div").style)),o.configResolved?.(r,a);const u=rt(r,a),f=new Map;let l=!0,d=new Set,w,x,A=[];const g=()=>new Promise(S=>{A.push(S),x!=null&&clearTimeout(x),x=setTimeout(()=>b().then(()=>{const y=A;A=[],y.forEach($=>$())}),0)});function m(S){if(S.nodeType!==1)return;const y=S;y.hasAttribute(c)&&y.removeAttribute(c),y.querySelectorAll(`[${c}]`).forEach($=>{$.removeAttribute(c)})}function k(S,y){let $=f.get(S);if(!$)if($=n.createElement("style"),$.setAttribute("data-unocss-runtime-layer",S),f.set(S,$),y==null)i().prepend($);else{const E=k(y),_=E.parentNode;_?_.insertBefore($,E.nextSibling):i().prepend($)}return $}async function b(){const S=await u.generate(d);return S.layers.reduce((y,$)=>(k($,y).innerHTML=S.getLayer($)??"",$),void 0),d=S.matched,{...S,getStyleElement:y=>f.get(y),getStyleElements:()=>f}}async function p(S){const y=d.size;await u.applyExtractors(S,void 0,d),y!==d.size&&await g()}async function h(){const S=n.body,y=S&&S.outerHTML;y&&(await p(`${y} ${gt(y)}`),m(i()),m(S))}const v=new MutationObserver(S=>{l||S.forEach(async y=>{if(y.target.nodeType!==1)return;const $=y.target;for(const E of f)if($===E[1])return;if(y.type==="childList")y.addedNodes.forEach(async E=>{if(E.nodeType!==1)return;const _=E;w&&!w(_)||(await p(_.outerHTML),m(_))});else{if(w&&!w($))return;if(y.attributeName!==c){const E=Array.from($.attributes).map(T=>T.value?`${T.name}="${T.value}"`:T.name).join(" "),_=`<${$.tagName.toLowerCase()} ${E}>`;await p(_)}$.hasAttribute(c)&&$.removeAttribute(c)}})});let C=!1;function O(){if(C)return;const S=i()||n.body;S&&(v.observe(S,{childList:!0,subtree:!0,attributes:!0}),C=!0)}function M(){o.bypassDefined&&yt(u.blocked),h(),O()}function P(){n.readyState==="loading"?e.addEventListener("DOMContentLoaded",M):M()}const V=e.__unocss_runtime=e.__unocss_runtime={version:u.version,uno:u,async extract(S){j(S)||(S.forEach(y=>d.add(y)),S=""),await p(S)},extractAll:h,inspect(S){w=S},toggleObserver(S){S===void 0?l=!l:l=!!S,!C&&!l&&P()},update:b};o.ready?.(V)!==!1&&(l=!1,P())}function yt(t=new Set){for(let e=0;e<document.styleSheets.length;e++){const n=document.styleSheets[e];let i;try{if(i=n.cssRules||n.rules,!i)continue;Array.from(i).flatMap(r=>r.selectorText?.split(/,/g)||[]).forEach(r=>{r&&(r=r.trim(),r.startsWith(".")&&(r=r.slice(1)),t.add(r))})}catch{continue}}return t}mt({defaults:{presets:[ht({prefix:["i-",""],collections:{},cdn:"https://esm.sh/",scale:1.2,extraProperties:{display:"inline-block","vertical-align":"middle"}})]},bypassDefined:!0});
@@ -0,0 +1 @@
1
+ import{_ as N}from"./Navbar.vue.6c01dcab.js";import{_ as B}from"./NCodeBlock.vue.2012eb81.js";import{o as c,c as _,a as s,g as S,r as v,bq as L,br as P,am as R,m as p,a5 as j,b as l,w as u,F as f,J as q,s as i,L as E,n as I,t as h,q as U,h as W,ad as z,i as G}from"./entry.33b5be03.js";import{_ as H}from"./HelpFab.vue.58531843.js";import"./client.247a64bd.js";const J={class:"markdown-body"},A=s("h1",null,"Virtual Files",-1),K=s("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1),M=[A,K],O={__name:"virtual-files",setup(x,{expose:n}){return n({frontmatter:{}}),(d,a)=>(c(),_("div",J,M))}},Q=["onClick"],T=s("div",{"x-divider":""},null,-1),X={key:0,"h-full":"","of-hidden":"",flex:"~ col"},Y={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},Z=s("span",{op75:""},"Select a file to start",-1),re=S({__name:"virtual-files",setup(x){const n=v(""),o=L(),d=P(),a=v();R(()=>{if(!d.value)return;const e=`/_vfs.json/${encodeURIComponent(d.value)}`;fetch(e).then(t=>t.json()).then(t=>a.value=t.current)});function y(e){if(o.value?.rootDir)return e.startsWith(o.value?.rootDir)?e.slice(o.value.rootDir.length):e}const m=p(()=>o.value?o.value.entries.filter(e=>!e.id.startsWith(`${o.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=p(()=>new j(m.value,{keys:["id","path"]})),g=p(()=>n.value?b.value.search(n.value).map(e=>e.item):m.value);return(e,t)=>{const k=N,$=B,C=z,F=G,w=q,V=O,D=H;return c(),_(f,null,[l(w,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(k,{search:i(n),"onUpdate:search":t[0]||(t[0]=r=>E(n)?n.value=r:null),"no-padding":"",p3:""},null,8,["search"]),(c(!0),_(f,null,I(i(g),r=>(c(),_(f,{key:r.id},[s("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:U(r.id===i(a)?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:ee=>d.value=r.id},h(y(r.id)),11,Q),T],64))),128))]),right:u(()=>[i(a)?.content?(c(),_("div",X,[s("div",Y,[s("code",null,h(i(a).id),1)]),l($,{"h-full":"","of-auto":"","text-sm":"",code:i(a).content,lang:"typescript"},null,8,["code"])])):(c(),W(F,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>[Z]),_:1})]),_:1}))]),_:1}),l(D,null,{default:u(()=>[l(V)]),_:1})],64)}}});export{re as default};
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.11fe2cd7.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.1e4f7d58.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.bb6f436a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.3da0acde.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.01cd9940.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0c5c4a11.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.0f8c7b1b.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.c083e948.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.87865939.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.1e4f7d58.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.33b5be03.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.185d6835.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.8f3e434d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.3a13b5c9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.92d6a5f8.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.e5b666cf.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.5034abfc.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.b216bd73.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.1bc58b0e.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.185d6835.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.11fe2cd7.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.33b5be03.js" crossorigin></script></body>
7
7
  </html>
@@ -1,5 +1,5 @@
1
1
  import { VueInspectorClient } from 'vite-plugin-vue-inspector';
2
- import { NuxtDevtoolsIframeClient, NuxtDevtoolsGlobal, PluginMetric, LoadingTimeMetric } from '@nuxt/devtools-kit/types';
2
+ import { NuxtDevtoolsIframeClient, NuxtDevtoolsGlobal, PluginMetric, TimelineMetrics, LoadingTimeMetric } from '@nuxt/devtools-kit/types';
3
3
 
4
4
  declare global {
5
5
  interface Window {
@@ -19,6 +19,12 @@ declare global {
19
19
  * @internal
20
20
  */
21
21
  __NUXT_DEVTOOLS_PLUGINS_METRIC__?: PluginMetric[];
22
+ /**
23
+ * Metrics for function calls
24
+ *
25
+ * @internal
26
+ */
27
+ __NUXT_DEVTOOLS_TIMELINE_METRICS__?: TimelineMetrics;
22
28
  /**
23
29
  * Metrics for page / route loading time
24
30
  *
package/dist/module.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _nuxt_schema from '@nuxt/schema';
2
- import './global-20ccb74c.js';
2
+ import './global-ea55645c.js';
3
3
  import { ModuleOptions } from '@nuxt/devtools-kit/types';
4
4
  export { ModuleOptions } from '@nuxt/devtools-kit/types';
5
5
  import 'vite-plugin-vue-inspector';
package/dist/module.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "configKey": "devtools",
4
- "version": "0.6.6"
4
+ "version": "0.7.0"
5
5
  }
package/dist/module.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import '@nuxt/kit';
2
- export { m as default } from './shared/devtools.7ab40af4.mjs';
2
+ export { m as default } from './shared/devtools.d198e7a9.mjs';
3
3
  import './dirs.mjs';
4
4
  import 'node:path';
5
5
  import 'node:url';
@@ -0,0 +1,3 @@
1
+ import type { TimelineMetrics } from '../types';
2
+ export declare function initTimelineMetrics(): TimelineMetrics;
3
+ export declare function __nuxtTimelineWrap(name: string, fn: any): any;
@@ -0,0 +1,63 @@
1
+ import { markRaw, reactive } from "vue";
2
+ import { parse as parseStrackTrace } from "error-stack-parser-es";
3
+ import { useObjectStorage } from "./plugins/view/utils.mjs";
4
+ const nonLiteralSymbol = Symbol("nuxt-devtools-fn-metrics-non-literal");
5
+ function getStacktrace() {
6
+ return parseStrackTrace(new Error());
7
+ }
8
+ export function initTimelineMetrics() {
9
+ if (process.server)
10
+ return void 0;
11
+ if (window.__NUXT_DEVTOOLS_TIMELINE_METRICS__)
12
+ return window.__NUXT_DEVTOOLS_TIMELINE_METRICS__;
13
+ return window.__NUXT_DEVTOOLS_TIMELINE_METRICS__ = reactive(
14
+ window.__NUXT_DEVTOOLS_TIMELINE_METRICS__ || {
15
+ events: [],
16
+ nonLiteralSymbol,
17
+ // TODO: sync with server config
18
+ options: useObjectStorage("nuxt-devtools-timeline-metrics-options", {
19
+ enabled: false,
20
+ stacktrace: true,
21
+ arguments: true
22
+ })
23
+ }
24
+ );
25
+ }
26
+ const wrapperFunctions = /* @__PURE__ */ new WeakMap();
27
+ export function __nuxtTimelineWrap(name, fn) {
28
+ if (process.server)
29
+ return fn;
30
+ if (typeof fn !== "function")
31
+ return fn;
32
+ const metrics = initTimelineMetrics();
33
+ if (wrapperFunctions.has(fn))
34
+ return wrapperFunctions.get(fn);
35
+ const wrappred = function(...args) {
36
+ if (!metrics.options.enabled)
37
+ return fn.apply(this, args);
38
+ const event = {
39
+ type: "function",
40
+ name,
41
+ start: Date.now(),
42
+ args: metrics.options.arguments ? markRaw(args) : void 0,
43
+ stacktrace: metrics.options.stacktrace ? getStacktrace().slice(2) : void 0
44
+ };
45
+ metrics.events.push(event);
46
+ const result = fn.apply(this, args);
47
+ try {
48
+ if (result && typeof result.then === "function") {
49
+ event.isPromise = true;
50
+ return result.then((i) => i).finally(() => {
51
+ event.end = Date.now();
52
+ return result;
53
+ });
54
+ }
55
+ } catch (e) {
56
+ }
57
+ event.end = Date.now();
58
+ return result;
59
+ };
60
+ Object.defineProperty(wrappred, "length", { value: fn.name || name });
61
+ wrapperFunctions.set(fn, wrappred);
62
+ return wrappred;
63
+ }
@@ -37,7 +37,8 @@ export default defineNuxtPlugin((nuxt) => {
37
37
  setupDevToolsClient({
38
38
  nuxt,
39
39
  clientHooks,
40
- timeMetric
40
+ timeMetric,
41
+ router
41
42
  });
42
43
  });
43
44
  });
@@ -1,11 +1,13 @@
1
1
  import type { Ref } from 'vue';
2
+ import type { Router } from 'vue-router';
2
3
  import type { NuxtDevtoolsHostClient } from '../../../types';
3
4
  declare const clientRef: import("vue").ShallowRef<NuxtDevtoolsHostClient | undefined>;
4
5
  export { clientRef as client };
5
6
  export type ColorScheme = 'dark' | 'light';
6
- export declare function setupDevToolsClient({ nuxt, clientHooks, timeMetric, }: {
7
+ export declare function setupDevToolsClient({ nuxt, clientHooks, timeMetric, router, }: {
7
8
  nuxt: any;
8
9
  clientHooks: any;
9
10
  timeMetric: any;
11
+ router: Router;
10
12
  }): Promise<void>;
11
13
  export declare function useClientColorMode(): Ref<ColorScheme>;