@nuxt/devtools-nightly 2.0.0-beta.6-28978839.578ecfc → 2.0.0-beta.7-28980749.c20c724

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 (75) hide show
  1. package/dist/chunks/module-main.mjs +64 -41
  2. package/dist/chunks/vscode.mjs +3 -3
  3. package/dist/chunks/vue-devtools.mjs +3 -3
  4. package/dist/client/200.html +13 -13
  5. package/dist/client/404.html +13 -13
  6. package/dist/client/_nuxt/__blank-lg13rweu.js +1 -0
  7. package/dist/client/_nuxt/analyze-build-hl3z5moi.js +1 -0
  8. package/dist/client/_nuxt/{assets-epc1omtv.js → assets-hg8y65bo.js} +1 -1
  9. package/dist/client/_nuxt/builds/latest.json +1 -1
  10. package/dist/client/_nuxt/builds/meta/0c7d4b11-3960-472e-aa5e-814f5fa473f1.json +1 -0
  11. package/dist/client/_nuxt/{code-diff.vue-btv1bdr0.js → code-diff.vue-dw4253xo.js} +1 -1
  12. package/dist/client/_nuxt/{code-snippets.vue-k1eonni6.js → code-snippets.vue-h63l3ga8.js} +1 -1
  13. package/dist/client/_nuxt/components-g4671hrj.js +1 -0
  14. package/dist/client/_nuxt/composable-item.vue-awv2fe0i.js +1 -0
  15. package/dist/client/_nuxt/{custom-_name_-h79rq3oa.js → custom-_name_-lehsfv4z.js} +1 -1
  16. package/dist/client/_nuxt/{data-schema-button.vue-g5f288wb.js → data-schema-button.vue-cvp49yv0.js} +1 -1
  17. package/dist/client/_nuxt/{data-schema-drawer-d3uykogs.js → data-schema-drawer-gj6u0k3q.js} +1 -1
  18. package/dist/client/_nuxt/{default-bn98asj3.js → default-n5abea1i.js} +1 -1
  19. package/dist/client/_nuxt/entry.css-mj1nvcy6.css +1 -0
  20. package/dist/client/_nuxt/{error-404-ili7zuvo.js → error-404-k1azvkry.js} +1 -1
  21. package/dist/client/_nuxt/{error-500-ig9h4vyo.js → error-500-fl4i136a.js} +1 -1
  22. package/dist/client/_nuxt/{error-e30hod5e.js → error-epn2rlwx.js} +1 -1
  23. package/dist/client/_nuxt/{filepath-item.vue-dv8t36m8.js → filepath-item.vue-ocz0upxz.js} +1 -1
  24. package/dist/client/_nuxt/{full-nquao1nk.js → full-cofqwlaq.js} +1 -1
  25. package/dist/client/_nuxt/{help-fab.vue-b4km25gy.js → help-fab.vue-jti43xum.js} +1 -1
  26. package/dist/client/_nuxt/{hooks-g3c0b4rq.js → hooks-fm2xz72g.js} +1 -1
  27. package/dist/client/_nuxt/imports-jajy765b.js +1 -0
  28. package/dist/client/_nuxt/{index-mrfaxiq8.js → index-8ojfxtmp.js} +1 -1
  29. package/dist/client/_nuxt/{index-bejc4xe2.js → index-mkx27gf0.js} +1 -1
  30. package/dist/client/_nuxt/index-obsucz0g.js +1 -0
  31. package/dist/client/_nuxt/{launch-page.vue-h9zld33t.js → launch-page.vue-fip61omh.js} +1 -1
  32. package/dist/client/_nuxt/{jl98s4wc.js → lbm7brd5.js} +4 -4
  33. package/dist/client/_nuxt/{modules-g323nw4w.js → modules-ozt4x0g5.js} +1 -1
  34. package/dist/client/_nuxt/{nbadge-n0d7cbpa.js → nbadge-lm8ruxdz.js} +1 -1
  35. package/dist/client/_nuxt/{ncheckbox.vue-b8l374zk.js → ncheckbox.vue-o34fufk3.js} +1 -1
  36. package/dist/client/_nuxt/{ndrawer.vue-oa1cbosx.js → ndrawer.vue-den3x6bs.js} +1 -1
  37. package/dist/client/_nuxt/{ndropdown.vue-khy1smu9.js → ndropdown.vue-h1rzwvol.js} +1 -1
  38. package/dist/client/_nuxt/{nlink.vue-i4iopkha.js → nlink.vue-geo1m3b0.js} +1 -1
  39. package/dist/client/_nuxt/{nnavbar.vue-bv8o4xzs.js → nnavbar.vue-e4gbvuiu.js} +1 -1
  40. package/dist/client/_nuxt/{none-dw53b7ia.js → none-hq61ikv8.js} +1 -1
  41. package/dist/client/_nuxt/{nsection-block-mriokuc1.js → nsection-block-j74ks6nb.js} +1 -1
  42. package/dist/client/_nuxt/{nselect-tabs.vue-ao6503xs.js → nselect-tabs.vue-omvwf3ky.js} +1 -1
  43. package/dist/client/_nuxt/{nselect.vue-o1duk8yi.js → nselect.vue-mcse0obw.js} +1 -1
  44. package/dist/client/_nuxt/{open-graph-leid1e5b.js → open-graph-fgxh745s.js} +1 -1
  45. package/dist/client/_nuxt/{overview-nu9skx1l.js → overview-cqqn59w9.js} +1 -1
  46. package/dist/client/_nuxt/{pages-h0bb9ypc.js → pages-i073875q.js} +1 -1
  47. package/dist/client/_nuxt/{payload-lbd3p8p1.js → payload-lpa4xzf7.js} +1 -1
  48. package/dist/client/_nuxt/{pinia-g6dl9fs6.js → pinia-icj8n3eh.js} +1 -1
  49. package/dist/client/_nuxt/{plugins-hdaiapq8.js → plugins-mrm4erax.js} +1 -1
  50. package/dist/client/_nuxt/{render-tree-leowmac1.js → render-tree-c8m9uiit.js} +1 -1
  51. package/dist/client/_nuxt/{runtime-configs-bjj77u3n.js → runtime-configs-jgrd3nvs.js} +1 -1
  52. package/dist/client/_nuxt/{server-discovery-kioko3v9.js → server-discovery-nz1q58ac.js} +1 -1
  53. package/dist/client/_nuxt/{server-route-inputs.vue-iawhla30.js → server-route-inputs.vue-k7nz89da.js} +1 -1
  54. package/dist/client/_nuxt/{server-routes-jmwia5lf.js → server-routes-dgw2yb8s.js} +1 -1
  55. package/dist/client/_nuxt/{server-tasks-iuh8y4kj.js → server-tasks-ohziocip.js} +1 -1
  56. package/dist/client/_nuxt/{settings-oqdnemhy.js → settings-mdfl1baf.js} +1 -1
  57. package/dist/client/_nuxt/{stacktrace-list.vue-d60b1azo.js → stacktrace-list.vue-ju2yzl1a.js} +1 -1
  58. package/dist/client/_nuxt/{state-components-ktgnlmib.js → state-components-hu0vwgq9.js} +1 -1
  59. package/dist/client/_nuxt/{state-editor.vue-d6gklqvj.js → state-editor.vue-fey2xg3o.js} +1 -1
  60. package/dist/client/_nuxt/{state-modules-c1b0tmxl.js → state-modules-ou3w6py8.js} +1 -1
  61. package/dist/client/_nuxt/{storage-f2vxig9a.js → storage-fg7uqyfv.js} +1 -1
  62. package/dist/client/_nuxt/{terminals-hjrk2rfj.js → terminals-km35rk4z.js} +1 -1
  63. package/dist/client/_nuxt/timeline-ji41jouc.js +31 -0
  64. package/dist/client/_nuxt/{virtual-files-fxck5vf1.js → virtual-files-pdvx204m.js} +1 -1
  65. package/dist/client/index.html +13 -13
  66. package/dist/module.json +1 -1
  67. package/package.json +4 -4
  68. package/dist/client/_nuxt/__blank-lb5ijdpb.js +0 -1
  69. package/dist/client/_nuxt/analyze-build-gb0rp3n4.js +0 -1
  70. package/dist/client/_nuxt/builds/meta/6fb951a3-6558-4617-923d-4f90820a2e3c.json +0 -1
  71. package/dist/client/_nuxt/components-m3ya561d.js +0 -1
  72. package/dist/client/_nuxt/composable-item.vue-hmfpyqv3.js +0 -1
  73. package/dist/client/_nuxt/entry.css-gcfkqtar.css +0 -1
  74. package/dist/client/_nuxt/imports-k9wjonrq.js +0 -1
  75. package/dist/client/_nuxt/timeline-j1c4u20v.js +0 -31
@@ -1 +0,0 @@
1
- import{a7 as D,Y as F,a8 as S,K as z,O as T,X as E,H as P}from"./jl98s4wc.js";import{_ as j}from"./nselect-tabs.vue-ao6503xs.js";import{_ as L}from"./nnavbar.vue-bv8o4xzs.js";import{_ as U}from"./filepath-item.vue-dv8t36m8.js";import{_ as X}from"./composable-item.vue-hmfpyqv3.js";import{p as N,U as a,W as l,F as y,ae as M,a3 as i,X as d,P as x,u as _,Z as b,q as g,a8 as Y,f as A,a2 as h}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as q}from"./nsection-block-mriokuc1.js";import{_ as K}from"./help-fab.vue-b4km25gy.js";import{D as B}from"./constants-b32h69zq.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./nmarkdown.vue-jpbjhala.js";import"./client-kpmlv67d.js";import"./nicon-title.vue-hzhi6u0u.js";const O={flex:"~ wrap gap2",p2:"",pl4:""},W=N({__name:"ComposableTree",props:{map:{},root:{},metadata:{}},setup($){return(n,m)=>{const s=U,e=X;return a(),l("div",null,[(a(!0),l(y,null,M(n.map.entries(),([o,v])=>(a(),l("div",{key:o},[i(s,{filepath:o,op50:"","hover:underline":""},null,8,["filepath"]),d("div",O,[(a(!0),l(y,null,M(v,w=>(a(),x(e,{key:w.as,item:w,metadata:n.metadata,filepath:o.match(/^[\w@]/)?void 0:o},null,8,["item","metadata","filepath"]))),128))])]))),128))])}}}),Z={key:0,flex:"~ col gap-2 items-start"},G=N({__name:"HelpImportsDirs",setup($){const n=D();return(m,s)=>{const e=U;return _(n)?.dirs?(a(),l("div",Z,[(a(!0),l(y,null,M(_(n).dirs,o=>(a(),x(e,{key:o,filepath:o,"text-primary":""},null,8,["filepath"]))),128))])):b("",!0)}}}),J={flex:"~ gap-2 wrap",mb6:""},Q=N({__name:"HelpImportsModules",setup($){const n=D(),m=g(()=>[...new Set(n.value?.imports.map(s=>F(s.from)).filter(s=>!!s&&!S(s)))]);return(s,e)=>(a(),l("div",J,[(a(!0),l(y,null,M(m.value,o=>(a(),l("code",{key:o,rounded:"","bg-primary:5":"",p:"x2 y0.5","text-primary":""},Y(o),1))),128))]))}}),R={class:"markdown-body"},ee={__name:"imports",setup($,{expose:n}){return n({frontmatter:{}}),(s,e)=>{const o=G,v=Q;return a(),l("div",R,[e[0]||(e[0]=d("h1",null,"Auto imports",-1)),e[1]||(e[1]=d("p",null,"Nuxt auto-imports helper functions, composables and Vue APIs to be used across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own components, composables and plugins. Components, composables or plugins can use these functions.",-1)),e[2]||(e[2]=d("hr",null,null,-1)),e[3]||(e[3]=d("p",null,"According to your config, exports of files under the following folders will be registed as auto-imports entry:",-1)),i(o),e[4]||(e[4]=d("p",null,"Meanwhile, modules could also provide auto-imports for their own components. You have auto-imports from the following modules as well:",-1)),i(v),e[5]||(e[5]=d("hr",null,null,-1)),e[6]||(e[6]=d("p",null,[d("a",{href:"https://nuxt.com/docs/guide/concepts/auto-imports",target:"_blank",rel:"noopener"},"Learn more in the documentation")],-1))])}}},oe={key:0,relative:"","h-full":"","of-auto":""},te={key:0,flex:"~ gap-2 items-center"},be=N({__name:"imports",setup($){const n=z(),m=A("all"),s=A(""),e=D(),o=g(()=>e.value?.metadata),v=g(()=>e.value?.imports.filter(p=>p.as||p.name).sort((p,u)=>(p.as||p.name).localeCompare(u.as||u.name))||[]),w=g(()=>new T(v.value,{keys:["from","as","name"]})),r=g(()=>{const p=new Map,u=new Map,I=new Map;let f=s.value?w.value.search(s.value).map(t=>t.item):v.value;m.value==="using"&&o.value?f=f.filter(t=>(t.as||t.name)in o.value.injectionUsage):m.value==="not-used"&&o.value&&(f=f.filter(t=>!((t.as||t.name)in o.value.injectionUsage)));const k={user:0,lib:0,builtin:0};return f.forEach(t=>{const c=E(t.from)?S(F(t.from))?I:u:p;c.has(t.from)||c.set(t.from,[]),c.get(t.from).push(t),k[c===p?"user":c===u?"lib":"builtin"]++}),{user:p,lib:u,builtin:I,count:k}});return(p,u)=>{const I=P,f=j,k=L,t=W,c=q,V=ee,H=K;return a(),l(y,null,[_(n)?(a(),l("div",oe,[i(k,{search:s.value,"onUpdate:search":u[1]||(u[1]=C=>s.value=C),pb3:""},{default:h(()=>[o.value?(a(),l("div",te,[i(I,{icon:"carbon-filter",op50:""}),i(f,{modelValue:m.value,"onUpdate:modelValue":u[0]||(u[0]=C=>m.value=C),n:"primary sm",options:[{label:"All",value:"all"},{label:"Using",value:"using"},{label:"Not used",value:"not-used"}]},null,8,["modelValue"])])):b("",!0)]),_:1},8,["search"]),r.value.user.size?(a(),x(c,{key:0,open:r.value.count.user<=_(B),icon:"carbon-function",text:"User composables",description:`${r.value.count.user} composables from ${r.value.user.size} modules`},{default:h(()=>[i(t,{map:r.value.user,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),r.value.builtin.size?(a(),x(c,{key:1,open:r.value.count.builtin<=_(B),icon:"simple-icons-nuxtdotjs",text:"Built-in composables",description:`${r.value.count.builtin} composables`},{default:h(()=>[i(t,{map:r.value.builtin,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),r.value.lib.size?(a(),x(c,{key:2,open:r.value.count.lib<=_(B),icon:"carbon-3d-mpr-toggle",text:"Composables from libraries",description:`${r.value.count.lib} composables from ${r.value.lib.size} packages`},{default:h(()=>[i(t,{map:r.value.lib,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0)])):b("",!0),i(H,null,{default:h(()=>[i(V)]),_:1})],64)}}});export{be as default};
@@ -1,31 +0,0 @@
1
- import{a5 as V,M as O,D as j,bh as Y,b as U,R as q,a as K,_ as z,a7 as X,f as Z,bi as Q,K as ee,n as se,L as ne,h as te,r as G,G as oe,B as ae}from"./jl98s4wc.js";import{_ as W}from"./duration-display.vue-dzttyi5n.js";import{p as B,q as w,U as o,W as i,X as t,$ as T,a8 as m,u as g,F as y,ae as E,P as h,f as C,j as le,n as re,Z as x,a3 as u,a0 as R,V as P,a2 as v,ax as ie,a4 as pe,a9 as F,aj as ce}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as H}from"./nbadge-n0d7cbpa.js";import{_ as de}from"./composable-item.vue-hmfpyqv3.js";import{_ as ue}from"./stacktrace-list.vue-d60b1azo.js";import{_ as me}from"./ndrawer.vue-oa1cbosx.js";import{_ as ke}from"./launch-page.vue-h9zld33t.js";import{_ as fe}from"./nlink.vue-i4iopkha.js";import{_ as ye}from"./code-diff.vue-btv1bdr0.js";import{_ as he}from"./help-fab.vue-b4km25gy.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./nmarkdown.vue-jpbjhala.js";import"./client-kpmlv67d.js";import"./filepath-item.vue-dv8t36m8.js";import"./constants-b32h69zq.js";import"./ncode-block.vue-dt6krs6h.js";const ve=B({__name:"TimelineItemFunction",props:{item:{}},setup(f){const d=f,p=w(()=>V(d.item.name,50,60,"_op_")),n=w(()=>p.value.replace(/_op_/,"1")),e=w(()=>V(d.item.name,50,40)),l=w(()=>p.value.replace(/_op_/,"0.2"));return(a,r)=>(o(),i("button",{class:"group",style:T({color:n.value,borderLeft:`2px solid ${n.value}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[t("div",{style:T({backgroundColor:l.value}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),t("div",{style:T({color:e.value,"--c":n.value}),border:"r-2 t-2 y-2 transparent","min-w-max":"",px1:"","text-left":"","group-hover":"border-$c"},m(a.item.name),5)],4))}}),_e={relative:"","h-full":""},be={absolute:"","left-2":"","top-2.3em":"","text-xs":"",op50:""},ge=B({__name:"TimelineSegment",props:{segment:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=O(()=>p.segment.start,{updateInterval:1e3,showSecond:!0,controls:!1,messages:{justNow:"",past:l=>l,future:l=>l,invalid:"-",second:l=>l?`${l}s`:"",minute:l=>`${l}m`,hour:l=>`${l}h`,week:l=>`${l}w`,day:l=>`${l}d`,month:l=>`${l}mo`,year:l=>`${l}y`}});return(l,a)=>{const r=ve;return o(),i("div",_e,[t("button",{absolute:"","left-0":"","right-0":"","top-0":"","bg-green:5":"",px2:"",py1:"","text-left":"","text-xs":"","text-green6":"","font-mono":"",onClick:a[0]||(a[0]=s=>l.segment.route?n("select",l.segment.route):void 0)},m(l.segment.route?.event.to),1),t("div",be,m(g(e))+" ago ",1),t("div",null,[(o(!0),i(y,null,E(l.segment.functions,(s,c)=>(o(),h(r,{key:c,item:s.event,style:T({position:"absolute",minWidth:`${s.relativeWidth*100}%`,maxWidth:`${s.relativeWidth*100}%`,top:`${4+s.layer*1.6}em`,left:`${s.relativeStart*100}%`}),onClick:k=>n("select",s)},null,8,["item","style","onClick"]))),128))])])}}}),xe=3e3,De=50;function Ae(f){const d=[];let p={start:0,end:0,events:[],functions:[],duration:0};for(const n of f){const e=n.end||n.start;(n.start-p.end>xe||n.type==="route")&&(p={start:n.start,end:e,events:[],functions:[],duration:0},d.push(p)),p.events.push(n),p.end=e+De}return d.forEach((n,e)=>{const l=n.end-n.start,a=[];n.duration=l,n.previousGap=e>0?n.start-d[e-1].end:0,n.events.forEach(r=>{const s=r.end||r.start;let c=0;r.type!=="route"&&(c=a.findIndex(D=>D<=r.start),c===-1?(c=a.length,a.push(s+1e3)):a[c]=s+1e3);const k={event:r,segment:n,relativeStart:(r.start-n.start)/l,relativeWidth:(s-r.start)/l,layer:c};r.type==="function"?n.functions.push(k):n.route=k})}),d}const $e={relative:""},Ce={key:0,border:"x base","h-full":"","flex-inline":"","bg-true-gray-1":"",py15:"","text-xs":"","write-vertical-left":"",op50:"","dark:bg-true-gray-9":""},Be=B({__name:"TimelineTable",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=C(),l=C(),a=C(),r=C(),s=C(!0),c=C(1.5),k=w(()=>Ae(p.data.events)),D=w(()=>(p.data.events.length,e.value?.scrollWidth||window.innerWidth));function A(){r.value&&(r.value.style.width=`${D.value}px`)}function S(){s.value&&e.value&&(e.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}),a.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}))}return le(()=>p.data.events.length,async()=>{await re(),A(),S()},{flush:"post"}),j(e,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),a.value.scrollLeft=e.value.scrollLeft,s.value=e.value.scrollLeft>=e.value.scrollWidth-e.value.clientWidth)}),j(a,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),e.value.scrollLeft=a.value.scrollLeft)}),j(e,"wheel",_=>{_.altKey?(c.value=Y(c.value+_.deltaY/200,.5,3),A()):e.value.scrollLeft+=_.deltaY}),(_,L)=>{const $=W,M=ge;return o(),i(y,null,[t("div",$e,[t("div",{ref_key:"minimap",ref:l,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i("div",{key:N,relative:"","h-full":"","flex-inline":"",style:T({width:`${Math.max(100,b.duration/10)/D.value*100}%`})},[(o(!0),i(y,null,E(b.functions,(I,J)=>(o(),i("div",{key:J,"h-3px":"",rounded:"",style:T({width:`max(${I.relativeWidth*100}%, 10px)`,position:"absolute",top:`${I.layer*4}px`,left:`${I.relativeStart*100}%`,backgroundColor:("getHashColorFromString"in _?_.getHashColorFromString:g(V))(I.event.name,50,60)})},null,4))),128)),b.route?(o(),i("div",{key:0,absolute:"","top-0":"","h-full":"","w-px":"","border-l":"","border-green6":"",op10:"",style:T({left:`${b.route.relativeStart*100}%`})},null,4)):x("",!0)],4))),128))],512),t("div",{ref_key:"minimapScroller",ref:a,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[t("div",{ref_key:"minimapScrollerInner",ref:r,"h-1px":""},null,512)],512)]),t("div",{ref_key:"scroller",ref:e,relative:"","h-full":"","w-full":"","of-x-scroll":"","of-y-hidden":"","ws-nowrap":"","n-panel-grids":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i(y,{key:N},[b.previousGap&&b.previousGap>=200?(o(),i("div",Ce,[u($,{op50:"",duration:b.previousGap,color:!1},null,8,["duration"])])):x("",!0),u(M,{"flex-inline":"","of-x-hidden":"","hover:of-x-visible":"","bg-base":"",class:R(N===k.value.length-1?"border-r border-base":""),segment:b,style:T({width:`${Math.max(50,b.duration/10)*c.value}px`}),onSelect:L[0]||(L[0]=I=>n("select",I))},null,8,["class","segment","style"])],64))),128))],512)],64)}}}),we=U(Be,[["__scopeId","data-v-18afc15e"]]),Te={border:"t base",flex:"~ col","h-full":"","of-y-auto":"","text-sm":""},Se=["onClick"],Ne={flex:"~","ml--1":"","font-mono":""},Fe={key:0,mr2:"",op30:""},Ee={op75:""},Le={flex:"~ col items-start"},Ie={"text-xs":"","font-mono":"",op30:""},Me={"text-green":"","font-bold":"","font-mono":""},Ve=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=d;return(n,e)=>{const l=W;return o(),i("div",Te,[(o(!0),i(y,null,E(n.data.events,(a,r)=>(o(),i("button",{key:r,border:"b base",px3:"",py2:"",flex:"~ items-center gap-2",hover:"bg-active",onClick:s=>p("select",a)},[a.type==="function"?(o(),i(y,{key:0},[e[2]||(e[2]=t("div",{"i-carbon-function":"",op50:""},null,-1)),t("div",{"font-mono":"",style:T({color:a.type==="function"?("getHashColorFromString"in n?n.getHashColorFromString:g(V))(a.name,50,60):""})},m(a.name),5),t("div",Ne,[e[0]||(e[0]=t("div",{op30:""}," ( ",-1)),(o(!0),i(y,null,E(a.args,(s,c)=>(o(),i(y,{key:c},[c?(o(),i("div",Fe," , ")):x("",!0),t("div",Ee,m(s===null?"null":s===void 0?"undefined":typeof s=="function"?"[function]":Array.isArray(s)?"[Array]":typeof s=="object"?"[object]":JSON.stringify(s)),1)],64))),128)),e[1]||(e[1]=t("div",{op30:""}," ) ",-1))])],64)):(o(),i(y,{key:1},[e[3]||(e[3]=t("div",{"mr-1":"","h-7":"","w-7":"",flex:"","rounded-lg":"","bg-primary:5":"",p1:"","text-green6":""},[t("div",{"i-carbon-direction-rotary-right":"",ma:"","text-lg":""})],-1)),t("div",Le,[t("div",Ie,m(a.from),1),t("div",Me,m(a.to),1)])],64)),e[4]||(e[4]=t("div",{"flex-auto":""},null,-1)),a.end?(o(),h(l,{key:2,duration:a.end-a.start,color:a.type==="function"},null,8,["duration","color"])):x("",!0)],8,Se))),128)),e[5]||(e[5]=t("div",{"min-h-100":""},null,-1))])}}}),We={key:0,"text-blue":""},je={key:1,"text-purple":""},Oe={key:2,"text-green":""},ze={key:3,"text-gray":""},Re={key:4,"text-gray":""},Ge={key:5,"text-gray":""},Pe={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},He={key:1},Je={p2:"","text-sm":"",border:"t base"},Ye=B({__name:"TimelineArgumentView",props:{value:{}},setup(f){const d=f,p=C(),n=C();function e(){try{p.value=JSON.parse(JSON.stringify(d.value))}catch(s){console.error(s),n.value=s}}const l=B({emits:["setup"],setup(s,{emit:c}){return c("setup"),()=>null}}),a=q(),r=K();return(s,c)=>{const k=z,D=P("VMenu");return typeof s.value=="string"?(o(),i("div",We,m(JSON.stringify(s.value)),1)):typeof s.value=="number"?(o(),i("div",je,m(s.value),1)):typeof s.value=="boolean"?(o(),i("div",Oe,m(s.value),1)):typeof s.value>"u"?(o(),i("div",ze," undefined ")):typeof s.value=="function"?(o(),i("div",Re," [Function"+m(s.value.name?`: ${s.value.name}`:"")+"] ",1)):s.value===null?(o(),i("div",Ge," null ")):(o(),h(D,{key:6,placement:"top"},{popper:v(()=>[u(g(l),{onSetup:e}),n.value?(o(),i("div",Pe," Failed to display object: "+m(n.value),1)):p.value?(o(),i("div",He,[u(g(ie),pe({"model-value":p.value},s.$attrs,{class:["json-editor-vue",[g(a)==="dark"?"jse-theme-dark":""]],"main-menu-bar":!1,"navigation-bar":!1,"status-bar":!1,"read-only":!0,indentation:2,"tab-size":2}),null,16,["model-value","class"]),t("div",Je,[u(k,{title:"Copy to clipboard",icon:"carbon-copy",onClick:c[0]||(c[0]=A=>g(r)(JSON.stringify(p.value,null,2),"timeline-argument"))},{default:v(()=>c[1]||(c[1]=[F(" Copy ")])),_:1})])])):x("",!0)]),default:v(()=>[t("span",{"rounded-sm":"",px1:"","py0.5":"","text-sm":"",class:R([Array.isArray(s.value)?"text-amber bg-amber:10":"text-orange bg-orange:10"])},m(Array.isArray(s.value)?`[Array(${s.value.length})]`:"[Object]"),3)]),_:1}))}}}),Ue={key:0,"p-4":"",flex:"~ col gap-2","text-base":""},qe={"mx--1":""},Ke={flex:"~ gap-1","font-mono":""},Xe={key:1},Ze={key:0,op30:""},Qe={flex:"~ gap-1","text-sm":""},es={class:"text-sm text-gray-400"},ss=B({__name:"TimelineDetailsFunction",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0}),n=X(),e=w(()=>n.value?.metadata),l=w(()=>n.value?.imports.find(a=>a.as===d.record.name));return(a,r)=>{const s=H,c=de,k=Ye,D=W,A=ue;return a.record?(o(),i("div",Ue,[t("div",qe,[u(s,{n:"yellow",textContent:"Function call"})]),t("div",Ke,[l.value?(o(),h(c,{key:0,item:l.value,metadata:e.value,counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(o(),i("span",Xe,m(a.record.name),1)),r[0]||(r[0]=t("span",{ml1:"",op30:""},"(",-1)),(o(!0),i(y,null,E(a.record.args,(S,_)=>(o(),i(y,{key:_},[_?(o(),i("span",Ze,", ")):x("",!0),u(k,{value:S},null,8,["value"])],64))),128)),r[1]||(r[1]=t("span",{op30:""},")",-1))]),t("div",Qe,[a.record.end?(o(),h(D,{key:0,duration:a.record.end-a.record.start},null,8,["duration"])):x("",!0),r[2]||(r[2]=t("span",{mx1:"",op50:""},"·",-1)),t("div",es,m(g(p)),1)]),a.record.stacktrace?(o(),h(A,{key:0,stacktrace:a.record.stacktrace,class:"text-xs text-gray-400"},null,8,["stacktrace"])):x("",!0)])):x("",!0)}}}),ns={key:0,"p-4":"",flex:"~ col gap-2"},ts={"mx--1":""},os={flex:"~ gap-1 items-center","font-mono":""},as={op50:""},ls={flex:"~ gap-1","text-sm":""},rs={class:"text-sm text-gray-400"},is=B({__name:"TimelineDetailsRoute",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0});return(n,e)=>{const l=H,a=W;return n.record?(o(),i("div",ns,[t("div",ts,[u(l,{n:"green",textContent:"Route Change"})]),t("div",os,[t("span",as,m(n.record.from),1),e[0]||(e[0]=t("span",{"i-carbon-arrow-right":"",op50:""},null,-1)),t("span",null,m(n.record.to),1)]),t("div",ls,[n.record.end?(o(),h(a,{key:0,duration:n.record.end-n.record.start},null,8,["duration"])):x("",!0),e[1]||(e[1]=t("span",{mx1:"",op50:""},"·",-1)),t("div",rs,m(g(p)),1)])])):x("",!0)}}}),ps={key:0,"h-screen":"","of-hidden":""},cs={"h-screen":"","w-full":"",flex:"","flex-col":""},ds={"h-10":"",flex:"~ gap-2 items-center justify-end",p2:"",px3:""},us={"text-sm":""},ms={"min-h-50":"",px3:"",py2:""},ks=B({__name:"TimelineView",setup(f){const d=Z(),p=C("table"),n=C(),e=w(()=>d.value?.metrics.clientTimeline());function l(){e.value&&(e.value.events=[])}function a(){p.value=p.value==="table"?"list":"table"}return(r,s)=>{const c=P("VTooltip"),k=z,D=we,A=Ve,S=ss,_=is,L=me;return e.value?(o(),i("div",ps,[t("div",cs,[t("div",ds,[u(c,{flex:""},{popper:v(()=>[t("div",us,m(e.value.options.enabled?"Recording...":"Paused"),1)]),default:v(()=>[t("div",{"text-lg":"",class:R(e.value.options.enabled?"i-carbon-radio-button-checked text-primary animate-pulse":"i-carbon-pause-outline op30")},null,2)]),_:1}),e.value.options.enabled?(o(),h(k,{key:1,size:"small",ml1:"","text-sm":"",n:"orange",icon:"i-carbon-stop",onClick:s[1]||(s[1]=$=>e.value.options.enabled=!1)},{default:v(()=>s[6]||(s[6]=[F(" Stop Tracking ")])),_:1})):(o(),h(k,{key:0,size:"small",ml1:"","text-sm":"",n:"primary",icon:"i-carbon-play",onClick:s[0]||(s[0]=$=>e.value.options.enabled=!0)},{default:v(()=>s[5]||(s[5]=[F(" Start Tracking ")])),_:1})),s[7]||(s[7]=t("div",{"flex-auto":""},null,-1)),u(k,{icon:p.value==="table"?"i-carbon-roadmap":"i-carbon-list",class:"ml-2",title:"Toggle View",border:!1,onClick:a},null,8,["icon"]),u(k,{icon:"i-carbon-trash-can","hover-text-red":"",class:"ml-2",border:!1,onClick:l})]),p.value==="table"?(o(),h(D,{key:0,data:{...e.value},onSelect:s[2]||(s[2]=$=>n.value=$.event)},null,8,["data"])):(o(),h(A,{key:1,data:{...e.value},onSelect:s[3]||(s[3]=$=>n.value=$)},null,8,["data"]))]),u(L,{"model-value":!!n.value,"auto-close":"",transition:"bottom",left:"#nuxt-devtools-side-nav",onClose:s[4]||(s[4]=$=>n.value=void 0)},{default:v(()=>[t("div",ms,[n.value?.type==="function"?(o(),h(S,{key:0,record:n.value},null,8,["record"])):n.value?.type==="route"?(o(),h(_,{key:1,record:n.value},null,8,["record"])):x("",!0)])]),_:1},8,["model-value"])])):x("",!0)}}}),fs={class:"markdown-body"},ys={__name:"timeline",setup(f,{expose:d}){return d({frontmatter:{}}),(n,e)=>(o(),i("div",fs,e[0]||(e[0]=[t("h1",null,"Timeline",-1),t("blockquote",{"text-orange":"","bg-orange:10":"",py1:""}," This is an experimental feature ",-1),ce(`<p>Timeline tracks your route navigations and functions calls in your Nuxt application. It can be used to debug performance issues and to understand how your application works.</p><h2>Function calls</h2><p>Nuxt DevTools tracks function calls by wrapping them in the build time. It works for functions referenced by auto-imports, or explicit imports through <code>import {} from &#39;#imports&#39;</code>.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#999999;--shiki-dark:#666666;">&lt;</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> setup</span><span style="color:#999999;--shiki-dark:#666666;">&gt;</span></span>
2
- <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#app/composables/router</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
3
- <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#imports</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
4
- <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
5
- <span class="line"></span>
6
- <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> route</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
7
- <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> app</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
8
- <span class="line"></span>
9
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;">// NOT tracked because it&#39;s directly imported</span></span>
10
- <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> mouse</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;">()</span></span>
11
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;">&lt;/</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#999999;--shiki-dark:#666666;">&gt;</span></span>
12
- <span class="line"></span></code></pre><p>By default, it tracks Nuxt provided composables as well as user defined functions. You can include/exclude functions by using the <code>include</code> and <code>exclude</code> options in the <code>nuxt.config.js</code> file.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">export</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> default</span><span style="color:#59873A;--shiki-dark:#80A665;"> defineNuxtConfig</span><span style="color:#999999;--shiki-dark:#666666;">({</span></span>
13
- <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> devtools</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
14
- <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> timeline</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
15
- <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> functions</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
16
- <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> include</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
17
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track \`useMouse\`</span></span>
18
- <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useMouse</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
19
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions starting with \`use\`</span></span>
20
- <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> /</span><span style="color:#1E754F;--shiki-dark:#4D9375;">^</span><span style="color:#AB5E3F;--shiki-dark:#C4704F;">use</span><span style="color:#999999;--shiki-dark:#666666;">[</span><span style="color:#A65E2B;--shiki-dark:#C99076;">A-Z</span><span style="color:#999999;--shiki-dark:#666666;">]</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">/</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
21
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions from @vueuse/core</span></span>
22
- <span class="line"><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;"> =&gt;</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;">.</span><span style="color:#B07D48;--shiki-dark:#BD976A;">from</span><span style="color:#AB5959;--shiki-dark:#CB7676;"> ===</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
23
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ],</span></span>
24
- <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> exclude</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
25
- <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useRouter</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
26
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ]</span></span>
27
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
28
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
29
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
30
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;">})</span></span>
31
- <span class="line"></span></code></pre>`,6)])))}},hs={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},vs={op50:""},_s={flex:"~ gap-3",mt2:"","justify-end":""},Ws=B({__name:"timeline",setup(f){const d=Q(),p=ee(),n=se(),e=ne();async function l(){try{const[a,r]=await G.enableTimeline(!0);if(!await n.start(a,r))return;await G.enableTimeline(!1)}catch{oe({message:"Failed to enable timeline automatically. Check the terminal for more details.",icon:"i-carbon-warning",classes:"text-red"})}}return(a,r)=>{const s=ks,c=ke,k=te,D=fe,A=ye,S=z,_=ae,L=ys,$=he;return o(),i(y,null,[g(d)?.timeline?.enabled?(o(),h(s,{key:0})):(o(),i(y,{key:1},[u(k,null,{default:v(()=>[u(c,{icon:"i-carbon-roadmap",name:"feature-timeline",title:"Timeline",description:"Timeline enables the inspection of when composable being executed and the route changes.",actions:[{label:"Enable"}],onAction:l})]),_:1}),u(g(n),null,{default:v(({resolve:M,args:b})=>[u(_,{"model-value":!0,onClose:N=>M(!1)},{default:v(()=>[t("div",hs,[r[5]||(r[5]=t("h2",{"text-xl":""},[t("span",{capitalize:""},"Enable Timeline?")],-1)),t("p",vs,[r[1]||(r[1]=F(" Your ")),u(D,{role:"button",n:"primary",underline:"",onClick:r[0]||(r[0]=N=>g(e)(g(p)?._nuxtConfigFile)),textContent:"Nuxt config"}),r[2]||(r[2]=F(" will be updated as: "))]),u(A,{from:b[0],to:b[1],"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),r[6]||(r[6]=t("p",null,[t("span",{op50:""},"Then Nuxt will "),t("span",{"text-orange":""},"restart automatically"),F(". ")],-1)),t("div",_s,[u(S,{onClick:N=>M(!1)},{default:v(()=>r[3]||(r[3]=[F(" Cancel ")])),_:2},1032,["onClick"]),u(S,{n:"solid primary",capitalize:"",onClick:N=>M(!0)},{default:v(()=>r[4]||(r[4]=[F(" Enable ")])),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)),u($,null,{default:v(()=>[u(L)]),_:1})],64)}}});export{Ws as default};