@nuxt/devtools 0.8.5 → 1.0.0-beta.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 (119) hide show
  1. package/README.md +1 -5
  2. package/dist/chunks/module-main.mjs +54 -26
  3. package/dist/chunks/vscode.mjs +11 -11
  4. package/dist/client/200.html +17 -17
  5. package/dist/client/404.html +17 -17
  6. package/dist/client/_nuxt/{CodeDiff.vue.0e58df1f.js → CodeDiff.vue.3beaa134.js} +1 -1
  7. package/dist/client/_nuxt/{ComposableItem.vue.e263b9a9.js → ComposableItem.vue.136c5104.js} +1 -1
  8. package/dist/client/_nuxt/DataSchemaButton.vue.125423b7.js +1 -0
  9. package/dist/client/_nuxt/{DataSchemaDrawer.6de1f238.js → DataSchemaDrawer.8ac6b677.js} +2 -2
  10. package/dist/client/_nuxt/{DurationDisplay.vue.8da73fd3.js → DurationDisplay.vue.c49b4e64.js} +1 -1
  11. package/dist/client/_nuxt/{FilepathItem.vue.7bd675c6.js → FilepathItem.vue.5af0b5df.js} +1 -1
  12. package/dist/client/_nuxt/HelpFab.vue.98c902f4.js +1 -0
  13. package/dist/client/_nuxt/LaunchPage.vue.805f9595.js +1 -0
  14. package/dist/client/_nuxt/NBadge.98d5d309.js +1 -0
  15. package/dist/client/_nuxt/{NCheckbox.vue.fcd1d971.js → NCheckbox.vue.6fb2ece1.js} +1 -1
  16. package/dist/client/_nuxt/{NCodeBlock.vue.84865d5b.js → NCodeBlock.vue.adf1e9b4.js} +2 -2
  17. package/dist/client/_nuxt/NDrawer.vue.8e620517.js +1 -0
  18. package/dist/client/_nuxt/{NDropdown.vue.d756d40c.js → NDropdown.vue.b2f7aaef.js} +1 -1
  19. package/dist/client/_nuxt/{NIconTitle.vue.b6d28480.js → NIconTitle.vue.bf8093eb.js} +1 -1
  20. package/dist/client/_nuxt/NLink.vue.0e98999b.js +1 -0
  21. package/dist/client/_nuxt/{NMarkdown.vue.d2063d22.js → NMarkdown.vue.b0e8b2fc.js} +1 -1
  22. package/dist/client/_nuxt/{NSectionBlock.42a3cefc.js → NSectionBlock.4347cc14.js} +1 -1
  23. package/dist/client/_nuxt/NSelect.vue.4c22d30e.js +1 -0
  24. package/dist/client/_nuxt/{NSelectTabs.vue.4a83d611.js → NSelectTabs.vue.c9be0aa2.js} +1 -1
  25. package/dist/client/_nuxt/{NSwitch.vue.21018268.js → NSwitch.vue.de333089.js} +1 -1
  26. package/dist/client/_nuxt/{NTip.vue.d193bf96.js → NTip.vue.770a171a.js} +1 -1
  27. package/dist/client/_nuxt/{Navbar.vue.bacddf14.js → Navbar.vue.371e4d0a.js} +1 -1
  28. package/dist/client/_nuxt/StateEditor.vue.332bb451.js +1 -0
  29. package/dist/client/_nuxt/analyze-build.281c50c1.js +1 -0
  30. package/dist/client/_nuxt/assets.ca8faf7a.js +16 -0
  31. package/dist/client/_nuxt/{client.d926285a.js → client.3f2665f1.js} +1 -1
  32. package/dist/client/_nuxt/{components.fc36eeef.js → components.a8900a78.js} +26 -26
  33. package/dist/client/_nuxt/custom-_name_.c49c72a2.js +1 -0
  34. package/dist/client/_nuxt/{default.c4c43b40.js → default.3ba7d10b.js} +1 -1
  35. package/dist/client/_nuxt/entry.1c0836ed.css +1 -0
  36. package/dist/client/_nuxt/entry.e01776ec.js +27 -0
  37. package/dist/client/_nuxt/{error-404.087131b3.js → error-404.9d2aaad9.js} +1 -1
  38. package/dist/client/_nuxt/{error-500.d1c41037.js → error-500.20d1b3ce.js} +1 -1
  39. package/dist/client/_nuxt/{full.478da439.js → full.6d0fd7cf.js} +1 -1
  40. package/dist/client/_nuxt/hooks.908144b2.js +1 -0
  41. package/dist/client/_nuxt/{imports.79d88ab3.js → imports.d7bd415a.js} +1 -1
  42. package/dist/client/_nuxt/{index.5e3c6999.js → index.a0a2f0b3.js} +1 -1
  43. package/dist/client/_nuxt/index.eb95211d.js +1 -0
  44. package/dist/client/_nuxt/{json-editor-vue.ce96762e.js → json-editor-vue.b22bf91c.js} +1 -1
  45. package/dist/client/_nuxt/{middleware.87876377.js → middleware.9e4b2529.js} +1 -1
  46. package/dist/client/_nuxt/modules.fd214f26.js +2 -0
  47. package/dist/client/_nuxt/{none.cfaeed76.js → none.27bf71df.js} +1 -1
  48. package/dist/client/_nuxt/open-graph.b95ebacd.js +3 -0
  49. package/dist/client/_nuxt/overview.4991be1e.js +1 -0
  50. package/dist/client/_nuxt/pages.708b9e25.js +1 -0
  51. package/dist/client/_nuxt/payload.eaf10e21.js +1 -0
  52. package/dist/client/_nuxt/plugins.f02b2c56.js +1 -0
  53. package/dist/client/_nuxt/{runtime-configs.bf4f2459.js → runtime-configs.63235af8.js} +1 -1
  54. package/dist/client/_nuxt/server-routes.88eebd4c.js +9 -0
  55. package/dist/client/_nuxt/settings.7dbb31cf.js +1 -0
  56. package/dist/client/_nuxt/{state-components.c2201640.js → state-components.ca4a58b1.js} +1 -1
  57. package/dist/client/_nuxt/state-modules.6d6b039c.js +1 -0
  58. package/dist/client/_nuxt/storage-options.ab028b2a.js +1 -0
  59. package/dist/client/_nuxt/storage.27117a31.js +1 -0
  60. package/dist/client/_nuxt/{terminals.a1c82952.js → terminals.cdead889.js} +3 -3
  61. package/dist/client/_nuxt/timeline.ddc61557.js +29 -0
  62. package/dist/client/_nuxt/{unocss-runtime.dedd4a37.js → unocss-runtime.ddd835d7.js} +2 -2
  63. package/dist/client/_nuxt/virtual-files.9da3562d.js +1 -0
  64. package/dist/client/index.html +17 -17
  65. package/dist/client/modules/analyze-build/index.html +17 -17
  66. package/dist/client/modules/assets/index.html +17 -17
  67. package/dist/client/modules/components/index.html +17 -17
  68. package/dist/client/modules/hooks/index.html +17 -17
  69. package/dist/client/modules/imports/index.html +17 -17
  70. package/dist/client/modules/middleware/index.html +17 -17
  71. package/dist/client/modules/modules/index.html +17 -17
  72. package/dist/client/modules/open-graph/index.html +17 -17
  73. package/dist/client/modules/overview/index.html +17 -17
  74. package/dist/client/modules/pages/index.html +17 -17
  75. package/dist/client/modules/payload/index.html +17 -17
  76. package/dist/client/modules/plugins/index.html +17 -17
  77. package/dist/client/modules/runtime-configs/index.html +17 -17
  78. package/dist/client/modules/server-routes/index.html +17 -17
  79. package/dist/client/modules/storage/index.html +17 -17
  80. package/dist/client/modules/terminals/index.html +17 -17
  81. package/dist/client/modules/timeline/index.html +17 -17
  82. package/dist/client/modules/virtual-files/index.html +17 -17
  83. package/dist/client/settings/index.html +17 -17
  84. package/dist/module.json +1 -1
  85. package/dist/module.mjs +1 -1
  86. package/dist/runtime/plugins/view/Main.vue +39 -10
  87. package/dist/runtime/plugins/view/client.mjs +2 -1
  88. package/dist/runtime/settings.d.ts +4 -0
  89. package/dist/runtime/settings.mjs +2 -0
  90. package/dist/shared/{devtools.18eefaee.mjs → devtools.c28fc9a7.mjs} +3 -1
  91. package/package.json +16 -18
  92. package/dist/client/_nuxt/Badge.15b76164.js +0 -1
  93. package/dist/client/_nuxt/DataSchemaButton.vue.41ad6158.js +0 -1
  94. package/dist/client/_nuxt/DrawerRight.vue.5bde5a0b.js +0 -1
  95. package/dist/client/_nuxt/HelpFab.vue.f082102a.js +0 -1
  96. package/dist/client/_nuxt/LaunchPage.vue.f8df9e2a.js +0 -1
  97. package/dist/client/_nuxt/NLink.vue.e0a3a39a.js +0 -1
  98. package/dist/client/_nuxt/NSelect.vue.e3495019.js +0 -1
  99. package/dist/client/_nuxt/StateEditor.vue.5fea57d7.js +0 -1
  100. package/dist/client/_nuxt/analyze-build.7513704d.js +0 -1
  101. package/dist/client/_nuxt/assets.35017b46.js +0 -16
  102. package/dist/client/_nuxt/custom-_name_.50e8c68f.js +0 -1
  103. package/dist/client/_nuxt/entry.38bf3bdf.css +0 -1
  104. package/dist/client/_nuxt/entry.54b63325.js +0 -27
  105. package/dist/client/_nuxt/hooks.d9e8fd29.js +0 -1
  106. package/dist/client/_nuxt/index.86b1fd88.js +0 -1
  107. package/dist/client/_nuxt/modules.caf682af.js +0 -2
  108. package/dist/client/_nuxt/open-graph.cd0bdf97.js +0 -3
  109. package/dist/client/_nuxt/overview.14a73720.js +0 -1
  110. package/dist/client/_nuxt/pages.746eb038.js +0 -1
  111. package/dist/client/_nuxt/payload.913d1fd8.js +0 -1
  112. package/dist/client/_nuxt/plugins.5342d060.js +0 -1
  113. package/dist/client/_nuxt/server-routes.8c094c9d.js +0 -9
  114. package/dist/client/_nuxt/settings.59f50baa.js +0 -1
  115. package/dist/client/_nuxt/state-modules.8816f603.js +0 -1
  116. package/dist/client/_nuxt/storage-options.b1a5fc25.js +0 -1
  117. package/dist/client/_nuxt/storage.713a7e46.js +0 -1
  118. package/dist/client/_nuxt/timeline.9cfa88d9.js +0 -29
  119. package/dist/client/_nuxt/virtual-files.7dc060d0.js +0 -1
@@ -1 +0,0 @@
1
- import{_ as S}from"./DurationDisplay.vue.8da73fd3.js";import{d as y,r as $,a as g,o as d,m as h,k as t,v as c,G as p,f as n,F as N,n as T,t as _,a4 as F,aD as B,i as m,aE as D,ar as V,h as H,j as w,p as C}from"./entry.54b63325.js";import{_ as E}from"./NSectionBlock.42a3cefc.js";import{_ as j}from"./HelpFab.vue.f082102a.js";import"./NIconTitle.vue.b6d28480.js";const O={"w-full":""},P={border:"b base"},L={"select-none":"","ws-nowrap":"",p1:"","text-right":"","font-bold":""},z={colspan:"2",p1:"",pl5:"","text-left":"","font-bold":""},Y={"ws-nowrap":"",p1:"","text-center":"","font-bold":""},A={"ws-nowrap":"",p1:"","text-center":"","font-bold":""},G={"ws-nowrap":"",p1:"","text-right":"","font-bold":""},R={"w-0":"","ws-nowrap":"","text-center":"","text-sm":"",op25:""},q={"text-sm":""},J={"ws-nowrap":""},K={"text-sm":""},M={"w-0":"","text-center":"","text-sm":""},Q={"w-0":"","text-center":"","text-sm":""},U={"w-0":"","text-right":"","text-sm":""},W=y({__name:"HooksTable",props:{hooks:{}},setup(x){const l=x,a=$("duration"),s=$("asc"),b={duration:(e,o)=>(o.duration??Number.POSITIVE_INFINITY)-(e.duration??Number.POSITIVE_INFINITY),name:(e,o)=>e.name.localeCompare(o.name),listener:(e,o)=>o.listeners-e.listeners,start:(e,o)=>o.start-e.start,executions:(e,o)=>o.executions.length-e.executions.length},v=g(()=>l.hooks.map(e=>e.start).sort((e,o)=>e-o)),k=g(()=>{const e=b[a.value],o=[...l.hooks].sort(e);return s.value==="desc"&&o.reverse(),o});function u(e){const o=e.split(":");return o.length===1?"":`${o[0]}:`}function f(e){const o=e.split(":");return o.length===1?e:o.slice(1).join(":")}function i(e){a.value===e?s.value=s.value==="asc"?"desc":"asc":a.value=e}return(e,o)=>{const I=S;return d(),h("table",O,[t("thead",P,[t("tr",null,[t("th",L,[t("button",{onClick:o[0]||(o[0]=r=>i("start"))},[c(" Order "),t("div",{"ml--1":"","text-xs":"",class:p([n(a)==="start"?"op50":"op0",n(s)==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),t("th",z,[t("button",{onClick:o[1]||(o[1]=r=>i("name"))},[c(" Hook name "),t("div",{"ml--1":"","text-xs":"",class:p([n(a)==="name"?"op50":"op0",n(s)==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),t("th",Y,[t("button",{onClick:o[2]||(o[2]=r=>i("listener"))},[c(" Listeners "),t("div",{"ml--1":"","text-xs":"",class:p([n(a)==="listener"?"op50":"op0",n(s)==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),t("th",A,[t("button",{onClick:o[3]||(o[3]=r=>i("executions"))},[c(" Executions "),t("div",{"ml--1":"","text-xs":"",class:p([n(a)==="executions"?"op50":"op0",n(s)==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),t("th",G,[t("button",{onClick:o[4]||(o[4]=r=>i("duration"))},[c(" Duration "),t("div",{"ml--1":"","text-xs":"",class:p([n(a)==="duration"?"op50":"op0",n(s)==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])])])]),t("tbody",null,[(d(!0),h(N,null,T(n(k),r=>(d(),h("tr",{key:r.name,border:"b dashed transparent hover:base"},[t("td",R,_(n(v).indexOf(r.start)),1),t("td",{"w-0":"","ws-nowrap":"","text-right":"",style:F({color:("getHashColorFromString"in e?e.getHashColorFromString:n(B))(u(r.name))})},[t("code",q,_(u(r.name)),1)],4),t("td",J,[t("code",K,_(f(r.name)),1)]),t("td",M,_(r.listeners),1),t("td",Q,_(r.executions.length+1),1),t("td",U,[m(I,{duration:r.duration},null,8,["duration"])])]))),128))])])}}}),X={class:"markdown-body"},Z=t("h1",null,"Hooks",-1),tt=t("p",null,[c("Hooks are an advanced API mainly for module authors or advanced use cases. The hooking system to expand almost every aspect of Nuxt. It’s powered by "),t("a",{href:"https://github.com/unjs/hookable",target:"_blank",rel:"noopener"},"unjs/hookable"),c(".")],-1),ot=t("p",null,[t("a",{href:"https://nuxt.com/docs/guide/going-further/hooks",target:"_blank",rel:"noopener"},"Learn more about hooks"),c(".")],-1),et=[Z,tt,ot],nt={__name:"hooks",setup(x,{expose:l}){return l({frontmatter:{}}),(s,b)=>(d(),h("div",X,et))}},it=y({__name:"hooks",setup(x){const l=D(),a=V(),s=g(()=>a.value?.metrics.clientHooks());return(b,v)=>{const k=W,u=E,f=nt,i=j;return d(),h(N,null,[t("div",null,[n(s)?.length?(d(),H(u,{key:0,icon:"carbon-ibm-cloud-direct-link-1-dedicated-hosting",text:"Client Hooks",description:`Total hooks: ${n(s).length}`,padding:"pl4 pr6"},{default:w(()=>[m(k,{hooks:n(s)},null,8,["hooks"])]),_:1},8,["description"])):C("",!0),n(l)?.length?(d(),H(u,{key:1,icon:"carbon-ibm-cloud-direct-link-2-dedicated",text:"Server Hooks",description:`Total hooks: ${n(l)?.length}`,padding:"pl4 pr6"},{default:w(()=>[m(k,{hooks:n(l)},null,8,["hooks"])]),_:1},8,["description"])):C("",!0)]),m(i,null,{default:w(()=>[m(f)]),_:1})],64)}}});export{it as default};
@@ -1 +0,0 @@
1
- import{d as p,r as d,h as f,j as o,A as h,o as x,k as e,i as n,v as s,f as v,l as y,B as N,C as b,D as k,E as g}from"./entry.54b63325.js";import{_ as w}from"./NLink.vue.e0a3a39a.js";import{_ as V}from"./NCheckbox.vue.fcd1d971.js";const B=e("p",{my2:"","text-3em":"","font-bold":"","font-stylish":"","text-primary":""}," 👋 Hi there, welcome to Nuxt DevTools! ",-1),C={"max-w-190":"","text-lg":""},j=e("br",null,null,-1),D={mb6:"",op50:""},E=e("span",null,"Get Started",-1),L={absolute:"","bottom-0":"","left-0":"","right-0":"",p4:""},T=e("span",{op50:""},"Send anonymous statistics, help us improving DevTools",-1),H=p({__name:"index",setup($){const t=d(!0);function l(){N.value=t.value,b.value=!1}return(G,a)=>{const r=k,i=w,_=g,c=V,m=h;return x(),f(m,{flex:"~ col gap3",relative:"","h-screen":"","w-full":"","items-center":"","justify-center":"","text-center":""},{default:o(()=>[B,e("p",C,[n(r,{"mr-0.5":"","inline-block":"","h-5":"","translate-y--1.1":"","align-mid":""}),s(" is a set of visual tools that help you to know your Nuxt app better, and enhance your development experience with Nuxt. Enjoy!"),j]),e("p",D,[s(" Learn more at "),n(i,{href:"https://devtools.nuxt.com/",target:"_blank",rel:"noopener noreferrer",n:"primary"},{default:o(()=>[s(" devtools.nuxt.com ")]),_:1})]),n(_,{to:"/modules/overview",n:"lg primary",onClick:l},{default:o(()=>[E]),_:1}),e("div",L,[n(c,{modelValue:v(t),"onUpdate:modelValue":a[0]||(a[0]=u=>y(t)?t.value=u:null)},{default:o(()=>[T]),_:1},8,["modelValue"])])]),_:1})}}});export{H as default};
@@ -1,2 +0,0 @@
1
- import{_ as Me}from"./FilepathItem.vue.7bd675c6.js";import{d as H,a as A,a7 as pe,o as d,h as C,j as y,k as a,a6 as j,f as m,v as S,t as O,m as b,G as D,p as z,i as v,F as E,n as U,x as te,al as he,Q as _e,aI as Ce,K as le,L as ae,aJ as ve,aK as ye,_ as ge,E as be,y as Te,z as Oe,av as xe,aL as Ne,aM as Ve,aN as Pe,am as Be,aa as Ae,I as Le,as as ce,aq as Ee,aO as je,a4 as Re,r as $e,ae as De,l as He,V as Fe,a8 as Ue,W as qe,R as Ke,aP as ue}from"./entry.54b63325.js";import{_ as We,u as we,a as Ye}from"./state-modules.8816f603.js";import{_ as Ge}from"./NSectionBlock.42a3cefc.js";import{_ as Xe}from"./NIconTitle.vue.b6d28480.js";import{_ as Je}from"./Badge.15b76164.js";import{_ as Qe}from"./NDropdown.vue.d756d40c.js";import{_ as Ze}from"./NCodeBlock.vue.84865d5b.js";import{_ as et}from"./NLink.vue.e0a3a39a.js";import{_ as tt}from"./CodeDiff.vue.0e58df1f.js";import{_ as it}from"./NTip.vue.d193bf96.js";import{_ as nt}from"./HelpFab.vue.f082102a.js";import"./NCheckbox.vue.fcd1d971.js";import"./client.d926285a.js";const ot={flex:"~ col gap2","flex-auto":"","of-hidden":"",px1:""},st={"gap-1t":"",flex:"","items-center":"","text-ellipsis":"","ws-nowrap":"","text-lg":""},rt={key:2},lt=a("div",{"flex-auto":""},null,-1),at={key:1,flex:"~ gap-2",title:"Documentation"},ct=a("span",{"i-carbon-link":"","text-lg":"",op50:""},null,-1),ut={key:2,flex:"~ gap-2"},dt=a("span",{"i-carbon-logo-github":"","text-lg":"",op50:""},null,-1),mt={flex:"~ col","items-end":""},ft={key:0,"h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p4:""},pt=["src","alt"],ht=a("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),_t={key:1,flex:"~",mt2:"","flex-auto":"","items-end":"","justify-end":""},vt=["src"],yt=a("div",{"flex-auto":""},null,-1),gt={flex:"","justify-end":""},bt="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",xt="https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/",$t="https://github.com/",wt="https://www.npmjs.com/package/",ie=H({__name:"ModuleItemBase",props:{mod:{},info:{},compact:{type:Boolean},maintainers:{type:Boolean,default:!0}},setup(e){const t=e,i=A(()=>({...t.mod?.meta,...t.mod,...t.info})),o=pe();return(n,r)=>{const c=te,l=he;return d(),C(l,{p4:"",flex:"~ gap2"},{default:y(()=>[a("div",ot,[j(n.$slots,"main",{},()=>[a("div",st,[n.mod.isPackageModule?(d(),C(c,{key:0,to:wt+(m(i).npm||m(i).name),target:"_blank",hover:"underline text-primary"},{default:y(()=>[S(O(m(i).name),1)]),_:1},8,["to"])):n.mod.entryPath?(d(),b("button",{key:1,role:"button",hover:"underline text-primary",onClick:r[0]||(r[0]=s=>m(o)(n.mod.entryPath))},O(m(i).name),1)):(d(),b("span",rt,O(m(i).name),1)),j(n.$slots,"badge")]),m(i).description?(d(),b("div",{key:0,class:D(n.compact?"ws-nowrap of-hidden truncate":"line-clamp-2"),"mt--1":"","text-sm":"",op50:""},O(m(i).description),3)):z("",!0),lt,m(i).website?(d(),b("div",at,[ct,v(c,{to:m(i).website,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:y(()=>[S(O(m(i).website.replace(/^https?:\/\//,"")),1)]),_:1},8,["to"])])):z("",!0),m(i).github?(d(),b("div",ut,[dt,v(c,{to:m(i).github,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:y(()=>[S(O(m(i).github.replace(/^https?:\/\/github.com\//,"")),1)]),_:1},8,["to"])])):z("",!0)]),j(n.$slots,"items")]),a("div",mt,[m(i).icon||n.mod.isPackageModule?(d(),b("div",ft,[m(i).icon?(d(),b("img",{key:0,src:bt+m(i).icon,alt:n.mod.name,ma:""},null,8,pt)):z("",!0),ht])):z("",!0),m(i).maintainers?.length&&n.maintainers?(d(),b("div",_t,[(d(!0),b(E,null,U(m(i).maintainers,s=>(d(),C(c,{key:s.name,target:"_blank",to:$t+s.github,title:s.name},{default:y(()=>[a("img",{src:xt+s.github,"h-6":"","w-6":"","rounded-full":""},null,8,vt)]),_:2},1032,["to","title"]))),128))])):z("",!0),n.$slots.actions?(d(),b(E,{key:2},[yt,a("div",gt,[j(n.$slots,"actions")])],64)):z("",!0)])]),_:3})}}}),kt={key:0,flex:"~ gap-2",title:"Open on filesystem"},It=a("span",{"i-carbon-folder-move-to":"","text-lg":"",op50:""},null,-1),St=a("span",{"i-carbon-circle-dash":"","animate-spin":"","text-lg":"",op50:""},null,-1),zt=a("code",{"text-sm":"",op50:""},"Upgrading...",-1),Mt={key:1,"mx--2":""},Ct=["onClick"],Tt=a("span",{"i-carbon-intent-request-active":"","text-lg":"","text-primary":""},null,-1),Ot=a("code",{"text-xs":""},"Update installed, click to restart",-1),Nt=[Tt,Ot],Vt={key:2,"mx--2":""},Pt=["onClick"],Bt=a("span",{"i-carbon-intent-request-upgrade":"","text-lg":"",op50:""},null,-1),At={op50:""},Lt=a("div",{"i-carbon-arrow-right":"",op50:""},null,-1),Et={"text-green":""},jt={key:3,flex:"~ gap-2","items-center":"",title:"NPM"},Rt=a("span",{"i-carbon-cube":"","text-lg":"",op50:""},null,-1),Dt={"text-sm":"",op50:""},Ht=H({__name:"ModuleItem",props:{mod:{}},setup(e){const t=e,i=A(()=>t.mod.info),o=A(()=>({...t.mod?.meta,...t.mod,...i.value})),n=_e();return(r,c)=>{const l=Me,s=te,u=We,p=ie;return d(),C(p,{mod:r.mod,info:m(i)},{items:y(()=>[r.mod.entryPath?(d(),b("div",kt,[It,v(l,{filepath:r.mod.entryPath,"text-sm":"",op50:"",hover:"text-primary op100"},null,8,["filepath"])])):z("",!0),m(o).npm?(d(),C(u,{key:m(o).npm,"package-name":m(o).npm,options:{dev:!0}},{default:y(({info:h,update:w,state:T,id:k,restart:x})=>[T==="running"?(d(),C(s,{key:0,flex:"~ gap-2","animate-pulse":"","items-center":"",to:k?"/modules/terminals":void 0,onClick:g=>k?n.value=k:void 0},{default:y(()=>[St,zt]),_:2},1032,["to","onClick"])):T==="updated"?(d(),b("div",Mt,[a("button",{flex:"~ gap-2",hover:"bg-primary/20","items-center":"",rounded:"","bg-primary:10":"",px2:"","text-sm":"","text-primary":"",onClick:x},Nt,8,Ct)])):h?.needsUpdate?(d(),b("div",Vt,[a("button",{flex:"~ gap-2",title:"Click to upgrade","items-center":"",rounded:"",px2:"","text-sm":"",hover:"bg-active",onClick:g=>w()},[Bt,a("code",At,"v"+O(h.current),1),Lt,a("code",Et,"v"+O(h.latest),1)],8,Pt)])):h?.latest?(d(),b("div",jt,[Rt,a("code",Dt,"v"+O(h.current),1)])):z("",!0)]),_:1},8,["package-name"])):z("",!0)]),_:1},8,["mod","info"])}}}),Ft=H({__name:"ModuleItemInstall",props:{item:{}},emits:["start"],setup(e,{emit:t}){const i=e,o=we(),n=A(()=>o.value.find(u=>u.name===i.item.npm)),r=A(()=>n.value&&n.value.isPackageModule),c=A(()=>n.value&&n.value.isPackageModule&&n.value.isUninstallable);async function l(u,p){const h=p==="install"?le.installNuxtModule:le.uninstallNuxtModule,w=await h(await ae(),u.npm,!0);w.commands&&await ve.start(u,w,p)&&(ye.value.push({name:u.npm,info:u,processId:w.processId}),t("start"),await h(await ae(),u.npm,!1))}const s={};return(u,p)=>{const h=Je,w=ge,T=be,k=Qe,x=ie;return d(),C(x,{mod:s,role:m(r)?"":"button",info:u.item,mb2:"","h-full":"",class:D(m(r)?"border-dashed op75":"hover:bg-active!"),compact:!0,onClick:p[1]||(p[1]=g=>m(r)?null:l(u.item,"install"))},Ce({_:2},[m(r)?{name:"badge",fn:y(()=>[v(h,{"bg-green-400:10":"","text-green-400":""},{default:y(()=>[S(" Installed ")]),_:1}),m(c)?(d(),C(k,{key:0,n:"sm green"},{trigger:y(({click:g})=>[v(w,{icon:"carbon-overflow-menu-vertical",onClick:$=>g()},null,8,["onClick"])]),default:y(()=>[v(T,{icon:"carbon-trash-can",n:"red",onClick:p[0]||(p[0]=g=>l(u.item,"uninstall"))},{default:y(()=>[S(" Uninstall ")]),_:1})]),_:1})):z("",!0)]),key:"0"}:void 0]),1032,["role","info","class"])}}});function Ut(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var o=e.indexOf("rv:");return parseInt(e.substring(o+3,e.indexOf(".",o)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}let W;function J(){J.init||(J.init=!0,W=Ut()!==-1)}var G={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){J(),xe(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",W&&this.$el.appendChild(e),e.data="about:blank",W||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!W&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const qt=Ne();Te("data-v-b329ee4c");const Kt={class:"resize-observer",tabindex:"-1"};Oe();const Wt=qt((e,t,i,o,n,r)=>(d(),C("div",Kt)));G.render=Wt;G.__scopeId="data-v-b329ee4c";G.__file="src/components/ResizeObserver.vue";function Y(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Y=function(t){return typeof t}:Y=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Y(e)}function Yt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function de(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Gt(e,t,i){return t&&de(e.prototype,t),i&&de(e,i),e}function me(e){return Xt(e)||Jt(e)||Qt(e)||Zt()}function Xt(e){if(Array.isArray(e))return Q(e)}function Jt(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Qt(e,t){if(e){if(typeof e=="string")return Q(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if(i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set")return Array.from(e);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Q(e,t)}}function Q(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,o=new Array(t);i<t;i++)o[i]=e[i];return o}function Zt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ei(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function ti(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,n,r,c=function(s){for(var u=arguments.length,p=new Array(u>1?u-1:0),h=1;h<u;h++)p[h-1]=arguments[h];if(r=p,!(o&&s===n)){var w=i.leading;typeof w=="function"&&(w=w(s,n)),(!o||s!==n)&&w&&e.apply(void 0,[s].concat(me(r))),n=s,clearTimeout(o),o=setTimeout(function(){e.apply(void 0,[s].concat(me(r))),o=0},t)}};return c._clear=function(){clearTimeout(o),o=null},c}function ke(e,t){if(e===t)return!0;if(Y(e)==="object"){for(var i in e)if(!ke(e[i],t[i]))return!1;return!0}return!1}var ii=function(){function e(t,i,o){Yt(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,o)}return Gt(e,[{key:"createObserver",value:function(i,o){var n=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=ei(i),this.callback=function(l,s){n.options.callback(l,s),l&&n.options.once&&(n.frozen=!0,n.destroyObserver())},this.callback&&this.options.throttle){var r=this.options.throttleOptions||{},c=r.leading;this.callback=ti(this.callback,this.options.throttle,{leading:function(s){return c==="both"||c==="visible"&&s||c==="hidden"&&!s}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(l){var s=l[0];if(l.length>1){var u=l.find(function(h){return h.isIntersecting});u&&(s=u)}if(n.callback){var p=s.isIntersecting&&s.intersectionRatio>=n.threshold;if(p===n.oldResult)return;n.oldResult=p,n.callback(p,s)}},this.options.intersection),xe(function(){n.observer&&n.observer.observe(n.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Ie(e,t,i){var o=t.value;if(o)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var n=new ii(e,o,i);e._vue_visibilityState=n}}function ni(e,t,i){var o=t.value,n=t.oldValue;if(!ke(o,n)){var r=e._vue_visibilityState;if(!o){Se(e);return}r?r.createObserver(o,i):Ie(e,{value:o},i)}}function Se(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var oi={beforeMount:Ie,updated:ni,unmounted:Se},si={itemsLimit:1e3},ri=/(auto|scroll)/;function ze(e,t){return e.parentNode===null?t:ze(e.parentNode,t.concat([e]))}var X=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},li=function(t){return X(t,"overflow")+X(t,"overflow-y")+X(t,"overflow-x")},ai=function(t){return ri.test(li(t))};function fe(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=ze(e.parentNode,[]),i=0;i<t.length;i+=1)if(ai(t[i]))return t[i];return document.scrollingElement||document.documentElement}}function Z(e){"@babel/helpers - typeof";return Z=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Z(e)}var ci={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function ui(){return this.items.length&&Z(this.items[0])!=="object"}var ee=!1;if(typeof window<"u"){ee=!1;try{var di=Object.defineProperty({},"passive",{get:function(){ee=!0}});window.addEventListener("test",null,di)}catch{}}let mi=0;var ne={name:"RecycleScroller",components:{ResizeObserver:G},directives:{ObserveVisibility:oi},props:{...ci,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,o=this.minItemSize;let n=1e4,r=0,c;for(let l=0,s=t.length;l<s;l++)c=t[l][i]||o,c<n&&(n=c),r+=c,e[l]={accumulator:r,size:c};return this.$_computedMinItemSize=n,e}return[]},simpleArray:ui,itemIndexByKey(){const{keyField:e,items:t}=this,i={};for(let o=0,n=t.length;o<n;o++)i[t[o][e]]=o;return i}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,o,n){const r=Ve({id:mi++,index:t,used:!0,key:o,type:n}),c=Pe({item:i,position:0,nr:r});return e.push(c),c},unuseView(e,t=!1){const i=this.$_unusedViews,o=e.nr.type;let n=i.get(o);n||(n=[],i.set(o,n)),n.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,o=this.gridItems||1,n=this.itemSecondarySize||i,r=this.$_computedMinItemSize,c=this.typeField,l=this.simpleArray?null:this.keyField,s=this.items,u=s.length,p=this.sizes,h=this.$_views,w=this.$_unusedViews,T=this.pool,k=this.itemIndexByKey;let x,g,$,N,B;if(!u)x=g=N=B=$=0;else if(this.$_prerender)x=N=0,g=B=Math.min(this.prerender,s.length),$=null;else{const f=this.getScroll();if(t){let M=f.start-this.$_lastUpdateScrollPosition;if(M<0&&(M=-M),i===null&&M<r||M<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=f.start;const V=this.buffer;f.start-=V,f.end+=V;let I=0;if(this.$refs.before&&(I=this.$refs.before.scrollHeight,f.start-=I),this.$refs.after){const M=this.$refs.after.scrollHeight;f.end+=M}if(i===null){let M,F=0,se=u-1,P=~~(u/2),re;do re=P,M=p[P].accumulator,M<f.start?F=P:P<u-1&&p[P+1].accumulator>f.start&&(se=P),P=~~((F+se)/2);while(P!==re);for(P<0&&(P=0),x=P,$=p[u-1].accumulator,g=P;g<u&&p[g].accumulator<f.end;g++);for(g===-1?g=s.length-1:(g++,g>u&&(g=u)),N=x;N<u&&I+p[N].accumulator<f.start;N++);for(B=N;B<u&&I+p[B].accumulator<f.end;B++);}else{x=~~(f.start/i*o);const M=x%o;x-=M,g=Math.ceil(f.end/i*o),N=Math.max(0,Math.floor((f.start-I)/i*o)),B=Math.floor((f.end-I)/i*o),x<0&&(x=0),g>u&&(g=u),N<0&&(N=0),B>u&&(B=u),$=Math.ceil(u/o)*i}}g-x>si.itemsLimit&&this.itemsLimitError(),this.totalSize=$;let _;const q=x<=this.$_endIndex&&g>=this.$_startIndex;if(q)for(let f=0,V=T.length;f<V;f++)_=T[f],_.nr.used&&(e&&(_.nr.index=k[_.item[l]]),(_.nr.index==null||_.nr.index<x||_.nr.index>=g)&&this.unuseView(_));const oe=q?null:new Map;let R,L,K;for(let f=x;f<g;f++){R=s[f];const V=l?R[l]:R;if(V==null)throw new Error(`Key is ${V} on item (keyField is '${l}')`);if(_=h.get(V),!i&&!p[f].size){_&&this.unuseView(_);continue}L=R[c];let I=w.get(L),M=!1;if(!_)q?I&&I.length?_=I.pop():_=this.addView(T,f,R,V,L):(K=oe.get(L)||0,(!I||K>=I.length)&&(_=this.addView(T,f,R,V,L),this.unuseView(_,!0),I=w.get(L)),_=I[K],oe.set(L,K+1)),h.delete(_.nr.key),_.nr.used=!0,_.nr.index=f,_.nr.key=V,_.nr.type=L,h.set(V,_),M=!0;else if(!_.nr.used&&(_.nr.used=!0,M=!0,I)){const F=I.indexOf(_);F!==-1&&I.splice(F,1)}_.item=R,M&&(f===s.length-1&&this.$emit("scroll-end"),f===0&&this.$emit("scroll-start")),i===null?(_.position=p[f-1].accumulator,_.offset=0):(_.position=Math.floor(f/o)*i,_.offset=f%o*n)}return this.$_startIndex=x,this.$_endIndex=g,this.emitUpdate&&this.$emit("update",x,g,N,B),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:q}},getListenerTarget(){let e=fe(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let o;if(this.pageMode){const n=e.getBoundingClientRect(),r=i?n.height:n.width;let c=-(i?n.top:n.left),l=i?window.innerHeight:window.innerWidth;c<0&&(l+=c,c=0),c+l>r&&(l=r-c),o={start:c,end:c+l}}else i?o={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:o={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return o},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,ee?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,o,n;if(this.pageMode){const r=fe(this.$el),c=r.tagName==="HTML"?0:r[t.scroll],l=r.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-l[t.start];i=r,o=t.scroll,n=e+c+u}else i=this.$el,o=t.scroll,n=e;i[o]=n},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const fi={key:0,ref:"before",class:"vue-recycle-scroller__slot"},pi={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function hi(e,t,i,o,n,r){const c=Be("ResizeObserver"),l=Ae("observe-visibility");return Le((d(),b("div",{class:D(["vue-recycle-scroller",{ready:n.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...s)=>r.handleScroll&&r.handleScroll(...s))},[e.$slots.before?(d(),b("div",fi,[j(e.$slots,"before")],512)):z("v-if",!0),(d(),C(ce(i.listTag),{ref:"wrapper",style:Re({[e.direction==="vertical"?"minHeight":"minWidth"]:n.totalSize+"px"}),class:D(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:y(()=>[(d(!0),b(E,null,U(n.pool,s=>(d(),C(ce(i.itemTag),Ee({key:s.nr.id,style:n.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${s.position}px) translate${e.direction==="vertical"?"X":"Y"}(${s.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&n.hoverKey===s.nr.key}]]},je(i.skipHover?{}:{mouseenter:()=>{n.hoverKey=s.nr.key},mouseleave:()=>{n.hoverKey=null}})),{default:y(()=>[j(e.$slots,"default",{item:s.item,index:s.nr.index,active:s.nr.used})]),_:2},1040,["style","class"]))),128)),j(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(d(),b("div",pi,[j(e.$slots,"after")],512)):z("v-if",!0),v(c,{onNotify:r.handleResize},null,8,["onNotify"])],34)),[[l,r.handleVisibilityChange]])}ne.render=hi;ne.__file="src/components/RecycleScroller.vue";const _i={"h-full":"",flex:"~ col gap-4"},vi={"flex-auto":"","of-auto":"",flex:"~ col gap-2",pl6:"",pr4:""},yi=H({__name:"ModuleInstallList",emits:["close"],setup(e,{emit:t}){const i=Ye(),o=$e(""),n=A(()=>new De(i.value||[],{keys:["name","description","npm","category"]})),r=A(()=>o.value?n.value.search(o.value).map(c=>c.item):i.value);return(c,l)=>{const s=Xe,u=Fe,p=Ft;return d(),b("div",_i,[v(s,{mx6:"",mt6:"","text-xl":"",op75:"",icon:"i-carbon-intent-request-create",text:"Install Module"}),v(u,{modelValue:m(o),"onUpdate:modelValue":l[0]||(l[0]=h=>He(o)?o.value=h:null),autofocus:!0,placeholder:"Search...",icon:"carbon-search",n:"primary",mx6:"","px-5":"","py-2":""},null,8,["modelValue"]),a("div",vi,[v(m(ne),{class:"scroller",items:m(r),"item-size":160,"key-field":"name"},{default:y(({item:h})=>[v(p,{item:h,onStart:l[1]||(l[1]=w=>t("close"))},null,8,["item"])]),_:1},8,["items"])])])}}}),gi={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},bi={capitalize:""},xi=a("p",{op50:""}," Following command will be executed in your terminal: ",-1),$i={op50:""},wi=a("p",null,[a("span",{op50:""},"After that, Nuxt will "),a("span",{"text-orange":""},"restart automatically"),S(". ")],-1),ki={flex:"~ gap-3",mt2:"","justify-end":""},Ii=H({__name:"ModuleActionDialog",setup(e){const t=Ue(),i=pe(),o={};return(n,r)=>{const c=ie,l=Ze,s=et,u=tt,p=it,h=be,w=qe;return d(),C(m(ve),null,{default:y(({resolve:T,args:k})=>[v(w,{"model-value":!0,onClose:x=>T(!1)},{default:y(()=>[v(c,{mod:o,info:k[0],border:"none","w-150":"","n-panel-grids":""},null,8,["info"]),a("div",gi,[a("h2",{"text-xl":"",class:D(k[2]==="install"?"text-primary":"text-red")},[a("span",bi,O(k[2]),1),S(),a("code",null,O(k[0].name),1),S("? ")],2),xi,v(l,{code:k[1].commands.join(" "),lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),a("p",$i,[S(" Then your "),v(s,{role:"button",n:"primary",onClick:r[0]||(r[0]=x=>m(i)(m(t)?._nuxtConfigFile)),textContent:"Nuxt config"}),S(" will be updated as: ")]),v(u,{from:k[1].configOriginal,to:k[1].configGenerated,"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),wi,a("div",ki,[v(p,{n:"sm purple","flex-auto":"",icon:"carbon-chemistry"},{default:y(()=>[S(" Experimental. Backup your project first. ")]),_:1}),v(h,{onClick:x=>T(!1)},{default:y(()=>[S(" Cancel ")]),_:2},1032,["onClick"]),v(h,{n:"solid",capitalize:"",class:D(k[2]==="install"?"n-primary":"n-red"),onClick:x=>T(!0)},{default:y(()=>[S(O(k[2]),1)]),_:2},1032,["class","onClick"])])])]),_:2},1032,["onClose"])]),_:1})}}}),Si={class:"markdown-body"},zi=a("h1",null,"Modules",-1),Mi=a("p",null,[S("Nuxt provides a module system to extend the framework core and simplify integrations. You don’t need to develop everything from scratch or maintain boilerplate if there is already a Nuxt module for it. Adding Nuxt modules is possible using "),a("code",null,"nuxt.config"),S(".")],-1),Ci=a("p",null,[S("You can explore the list of modules on "),a("a",{href:"https://nuxt.com/modules",target:"_blank",rel:"noopener"},"nuxt.com/modules"),S(" or install them directly inside the DevTools.")],-1),Ti=a("p",null,[a("a",{href:"https://nuxt.com/docs/guide/concepts/modules",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Oi=[zi,Mi,Ci,Ti],Ni={__name:"modules",setup(e,{expose:t}){return t({frontmatter:{}}),(o,n)=>(d(),b("div",Si,Oi))}},Vi={"h-full":"","w-full":"","of-auto":""},Pi={relative:"","h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p3:""},Bi=["src","alt"],Ai=a("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),Li={"text-lg":"","group-hover":"text-primary",transition:"",flex:"~ gap-2 items-center"},Ei=a("div",{"i-carbon-circle-dash":"","animate-spin":"","text-xl":"",op75:""},null,-1),ji={op75:""},Ri=a("div",{"i-carbon-intent-request-create":"","text-4xl":"",op40:"","group-hover":"op75 text-primary",transition:""},null,-1),Di=a("div",{"text-lg":"",op40:"","group-hover":"op75 text-primary",transition:""}," Install New Module ",-1),Hi={key:0,border:"l base",pos:"fixed bottom-0 right-0 top-0","z-200":"","w-150":"","bg-base":""},Fi="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",sn=H({__name:"modules",setup(e){const t=$e(!1),i=we(),o=_e(),n=A(()=>i.value.filter(c=>c.isPackageModule)),r=A(()=>i.value.filter(c=>!c.isPackageModule));return Ke(()=>[{id:"action:modules:install",title:"Install a new module",icon:"i-carbon-intent-request-create ",action:()=>{t.value=!0}}]),(c,l)=>{const s=Ht,u=he,p=te,h=Ge,w=ge,T=yi,k=Ii,x=Ni,g=nt;return d(),b(E,null,[a("div",Vi,[v(h,{icon:"carbon-3d-mpr-toggle",text:"Installed Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${m(n).length}`},{default:y(()=>[(d(!0),b(E,null,U(m(n),$=>(d(),C(s,{key:$.name,mod:$},null,8,["mod"]))),128)),(d(!0),b(E,null,U("processInstallingModules"in c?c.processInstallingModules:m(ye),$=>(d(),C(p,{key:$.processId,block:"","min-h-30":"",to:"/modules/terminals",onClick:N=>o.value=$.processId},{default:y(()=>[v(u,{border:"1.5 dashed","h-full":"","animate-pulse":"",p4:"",transition:"",hover:"border-primary",flex:"~ col gap-1 items-center justify-center",role:"button",class:"group"},{default:y(()=>[a("div",Pi,[a("img",{src:Fi+$.info.icon,alt:$.info.name,ma:""},null,8,Bi),Ai]),a("div",Li,[Ei,a("span",ji,"Installing "+O($.name)+"...",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128)),v(u,{border:"1.5 dashed","min-h-30":"",p4:"",transition:"",hover:"border-primary",flex:"~ col gap-2 items-center justify-center",role:"button",class:"group",onClick:l[0]||(l[0]=$=>t.value=!0)},{default:y(()=>[Ri,Di]),_:1})]),_:1},8,["description"]),m(r).length?(d(),C(h,{key:0,icon:"carbon-3d-mpr-toggle",text:"User Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${m(r).length}`},{default:y(()=>[(d(!0),b(E,null,U(m(r),$=>(d(),b(E,{key:$.meta?.name||$.entryPath},[$.meta?.name||$.entryPath?(d(),C(s,{key:0,mod:$},null,8,["mod"])):z("",!0)],64))),128))]),_:1},8,["description"])):z("",!0),v(ue,{name:"fade-in"},{default:y(()=>[m(t)?(d(),b("div",{key:0,class:"fixed bottom-0 left-0 right-0 top-0 z-100","bg-black:20":"","backdrop-blur-2":"",onClick:l[1]||(l[1]=$=>t.value=!1)})):z("",!0)]),_:1}),v(ue,{name:"slide-in"},{default:y(()=>[m(t)?(d(),b("div",Hi,[v(w,{icon:"carbon-close",pos:"absolute top-3 right-3 z-10","rounded-full":"","text-xl":"",onClick:l[2]||(l[2]=$=>t.value=!1)}),v(T,{onClose:l[3]||(l[3]=$=>t.value=!1)})])):z("",!0)]),_:1}),v(k)]),v(g,null,{default:y(()=>[v(x)]),_:1})],64)}}});export{sn as default};
@@ -1,3 +0,0 @@
1
- import{d as C,o,h as M,j as u,a6 as te,m as a,p as x,aR as oe,aS as ne,as as ae,a as S,aT as se,e as re,a7 as z,r as I,f as e,k as t,n as R,G as O,t as h,F as T,i as d,v as $,al as G,E as ie,a4 as B,aU as U,aV as ce,aW as le,b as de,aX as pe,aY as me,aZ as ue,a_ as P,av as ge,aa as he,l as _e,ab as fe,I as V,V as ve,_ as be}from"./entry.54b63325.js";import{_ as we}from"./Navbar.vue.bacddf14.js";import{_ as xe}from"./NLink.vue.e0a3a39a.js";import{_ as J}from"./NSectionBlock.42a3cefc.js";import{_ as ye}from"./NCodeBlock.vue.84865d5b.js";import{_ as ke}from"./HelpFab.vue.f082102a.js";import"./NIconTitle.vue.b6d28480.js";import"./client.d926285a.js";const $e={key:0,"i-carbon:arrow-up-right":"","translate-y--1":"","text-xs":"",op50:""},H=C({__name:"NTextExternalLink",props:{link:{}},setup(b){return(n,c)=>(o(),M(ae(n.link?xe:"div"),oe(ne(n.link?{href:n.link,target:"_blank",rel:"noopener noreferrer"}:{})),{default:u(()=>[te(n.$slots,"default"),n.link?(o(),a("div",$e)):x("",!0)]),_:3},16))}}),K=[{name:"title",suggestion:"required",head:{title:"[title]"},seoMeta:{title:"[title]"},docs:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title",description:"A concise and descriptive title for the browser that accurately summarizes the content of the page."},{name:"description",suggestion:"required",head:{meta:[{name:"description",content:"[description]"}]},seoMeta:{description:"[description]"},description:"A one to two sentence summary for search engines that includes relevant keywords to improve visibility in search results."},{name:"icon",suggestion:"recommended",head:{link:[{rel:"icon",type:"image/png",href:"/favicon.png"}]},description:"A small image that appears in the browser tab and bookmark menu to help users easily identify the page."},{name:"lang",suggestion:"recommended",head:{htmlAttrs:{lang:"en"}},description:"The primary language of the page to help search engines and browsers understand the content."},{name:"og:title",suggestion:"recommended",head:{meta:[{property:"og:title",content:"[og:title]"}]},seoMeta:{ogTitle:"[og:title]"},docs:"https://ogp.me/#metadata",description:"A title for the link preview used by social media platforms."},{name:"og:description",suggestion:"recommended",head:{meta:[{property:"og:description",content:"[og:description]"}]},seoMeta:{ogDescription:"[og:description]"},docs:"https://ogp.me/#metadata",description:"A description for the link preview used by social media platforms."},{name:"og:image",suggestion:"recommended",head:{meta:[{property:"og:image",content:"[og:image]"}]},seoMeta:{ogImage:"[og:image]"},docs:"https://ogp.me/#metadata",description:"An image for the link preview used by social media platforms."},{name:"og:url",suggestion:"recommended",head:{meta:[{property:"og:url",content:"[og:url]"}]},seoMeta:{ogUrl:"[og:url]"},docs:"https://ogp.me/#metadata",description:"A canonical URL for the link preview used to specify the preferred URL to display in search engine results and social media previews when multiple URLs may point to the same page."},{name:"twitter:title",suggestion:"recommended",head:{meta:[{name:"twitter:title",content:"[twitter:title]"}]},seoMeta:{twitterTitle:"[twitter:title]"},docs:"https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards",description:"A title for the Twitter card used to provide a preview of the content shared on the page."},{name:"twitter:description",suggestion:"recommended",head:{meta:[{name:"twitter:description",content:"[twitter:description]"}]},seoMeta:{twitterDescription:"[twitter:description]"},docs:"https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards",description:"A description for the Twitter card used to provide a preview of the content shared on the page."},{name:"twitter:image",suggestion:"recommended",head:{meta:[{name:"twitter:image",content:"[twitter:image]"}]},seoMeta:{twitterImage:"[twitter:image]"},docs:"https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards",description:"An image for the Twitter card used to provide a preview of the content shared on the page."},{name:"twitter:card",suggestion:"recommended",head:{meta:[{name:"twitter:card",content:"summary"}]},seoMeta:{twitterCard:"summary"},docs:"https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards",description:"The type of Twitter card to use, which determines the type of card to display in link previews on Twitter."}],Te={flex:"~ wrap","mt--2":"","w-full":"","flex-none":""},Se=["onClick"],Ce=t("div",{border:"b base","flex-auto":""},null,-1),Ne={key:0,"x-divider":""},Me={key:1,"x-divider":""},Oe={flex:"~ gap-1 items-center",px4:"",py2:""},Ae=t("div",{"i-carbon-warning":"","text-orange":""},null,-1),Ie={"w-full":"",p2:"",op75:""},Re={key:1,m4:"",flex:"~ col gap-2"},Be={flex:"~ gap-1 wrap items-center"},Ee={key:1},Le={flex:"~ gap-2",n:"sm primary",absolute:"","right-2":"","top-2":""},De=C({__name:"OpenGraphMissingTabs",props:{tags:{},matchedRouteFilepath:{}},setup(b){const n=b,c=S(()=>K.filter(s=>!n.tags?.some(p=>p.name===s.name))),l=S(()=>{let s={};const p={};c.value.forEach(g=>{g.seoMeta?Object.assign(p,g.seoMeta):s=se(s,g.head)});const v=[];if(Object.keys(p).length){const g=JSON.stringify(p,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");v.push(`useSeoMeta(${g})`)}if(Object.keys(s).length){const g=JSON.stringify(s,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");v.push(`useHead(${g})`)}return v.join(`
2
-
3
- `)}),m=re(),y=z(),k=["Missing Tags","Code Snippet"],_=I(k[0]);return(s,p)=>{const v=H,g=G,N=ie,A=ye,E=J;return e(c).length?(o(),M(E,{key:0,text:"Missing Tags",description:`${e(c).length} missing tags`,icon:"carbon:warning-other","header-class":"text-orange op100! [[open]_&]:text-inherit",padding:!1},{default:u(()=>[t("div",Te,[(o(),a(T,null,R(k,(r,i)=>t("button",{key:i,px4:"",py2:"",border:"r t base",hover:"bg-active",class:O(r===e(_)?"":"border-b"),onClick:f=>_.value=r},[t("div",{class:O(r===e(_)?"":"op30"),capitalize:""},h(r),3)],10,Se)),64)),Ce]),e(_)===k[0]?(o(),M(g,{key:0,grid:"~ cols-[max-content_1fr]",m4:"","items-center":"","justify-between":"","of-hidden":""},{default:u(()=>[(o(!0),a(T,null,R(e(c),(r,i)=>(o(),a(T,{key:i},[i?(o(),a("div",Ne)):x("",!0),i?(o(),a("div",Me)):x("",!0),t("div",Oe,[Ae,d(v,{op50:"",link:r.docs,n:"orange"},{default:u(()=>[$(h(r.name),1)]),_:2},1032,["link"])]),t("div",Ie,h(r.description),1)],64))),128))]),_:1})):(o(),a("div",Re,[t("p",Be,[d(N,{icon:"carbon-copy",n:"xs","px-2":"",onClick:p[0]||(p[0]=r=>e(m)(e(l)))},{default:u(()=>[$(" Copy ")]),_:1}),$(" the following code snippet and paste it into your "),s.matchedRouteFilepath?(o(),M(N,{key:0,icon:"carbon-launch",n:"xs","px-2":"",onClick:p[1]||(p[1]=r=>e(y)(s.matchedRouteFilepath))},{default:u(()=>[$(" page component ")]),_:1})):(o(),a("span",Ee,"page component")),$(" to full fill the missing tags. ")]),d(g,{relative:"","n-code-block":""},{default:u(()=>[d(A,{code:e(l),lang:"ts",lines:!1,"w-full":"","of-auto":"",p3:""},null,8,["code"]),t("div",Le,[d(N,{icon:"carbon-copy",onClick:p[2]||(p[2]=r=>e(m)(e(l)))},{default:u(()=>[$(" Copy ")]),_:1})])]),_:1})]))]),_:1},8,["description"])):x("",!0)}}}),Fe={class:"max-w-[524px] min-w-[524px] cursor-pointer bg-base"},Ve={class:"break-words border border-base px-[12px] py-[10px] antialiased"},je={class:"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50"},Pe={class:"block h-[46px] max-h-[46px] border-separate select-none overflow-hidden break-words text-left",style:{"border-spacing":"0px"}},ze={class:"mt-[3px] truncate pt-[2px] text-[16px] font-semibold leading-[20px]"},Ge={class:"mt-[3px] block h-[18px] max-h-[80px] border-separate select-none overflow-hidden truncate whitespace-nowrap break-words text-left text-[14px] leading-[20px] op50",style:{"-webkit-line-clamp":"1","border-spacing":"0px","-webkit-box-orient":"vertical"}},Ue=C({__name:"SocialFacebook",props:{card:{}},setup(b){return(n,c)=>(o(),a("div",Fe,[t("div",{class:"h-[274px] border border-b-0 border-base bg-cover bg-center bg-no-repeat",style:B({backgroundImage:`url(${JSON.stringify(n.card.image)})`})},null,4),t("div",Ve,[t("div",je,h(n.card.url),1),t("div",Pe,[t("div",ze,h(n.card.title),1),t("div",Ge,h(n.card.description),1)])])]))}}),Je={class:"max-w-[438px] min-w-[438px] of-hidden border border-base rounded-[16px] bg-base -outline-offset-1",style:{"font-family":"TwitterChirp, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif"}},He={class:"break-words border-base p-[0.75em] antialiased",flex:"~ col justify-center gap-[2px]"},Ke={class:"overflow-hidden truncate whitespace-nowrap text-[15px] leading-[20px] lowercase op50"},qe={class:"m-0 truncate text-[15px] font-semibold leading-[20px]"},We={class:"line-clamp-2 select-none overflow-hidden break-words text-left text-[15px] leading-[20px] op50"},Ye=C({__name:"SocialTwitter",props:{tags:{}},setup(b){const n=b,c=S(()=>U(n.tags,{title:[{tag:"title"}],image:[{tag:"meta",name:"twitter:image"},{tag:"meta",name:"og:image"}],imageAlt:[{tag:"meta",name:"twitter:image:alt"}],description:[{tag:"meta",name:"twitter:description"},{tag:"meta",name:"description"}],favicon:[{tag:"link",name:"icon"}]})),l=S(()=>c.value.image?n.tags.find(m=>m.tag==="meta"&&m.name==="twitter:card")?.value||"summary_large_image":"summary");return(m,y)=>(o(),a("div",Je,[t("div",{class:O(["cursor-pointer overflow-hidden leading-[1.3em]",e(l)==="summary_large_image"?"":"flex"]),hover:"bg-[#88888805]"},[e(l)==="summary_large_image"?(o(),a("div",{key:0,class:"h-[220px] border-b border-base bg-cover bg-center bg-no-repeat",style:B({backgroundImage:`url(${JSON.stringify(e(c).image)})`})},null,4)):(o(),a("div",{key:1,class:"h-[129px] w-[129px] flex-none border-r border-base bg-cover bg-center bg-no-repeat",style:B({backgroundImage:`url(${JSON.stringify(e(c).image)})`})},null,4)),t("div",He,[t("div",Ke,h(e(c).url),1),t("div",qe,h(e(c).title),1),t("div",We,h(e(c).description),1)])],2)]))}}),Xe={class:"max-w-[520px] min-w-[520px] cursor-pointer overflow-hidden border border-base rounded-[2px] shadow-md bg-base"},Ze={class:"break-words p-[10px] antialiased"},Qe={class:"block h-auto max-h-[50px] border-separate select-none break-words text-left",style:{"border-spacing":"0px"}},et={class:"pb-[2px] text-[16px] font-semibold leading-[24px]"},tt={class:"overflow-hidden truncate whitespace-nowrap text-xs font-normal uppercase op85"},ot=C({__name:"SocialLinkedin",props:{card:{}},setup(b){return(n,c)=>(o(),a("div",Xe,[t("div",{class:"h-[270px] border-b border-base bg-cover bg-center bg-no-repeat",style:B({backgroundImage:`url(${JSON.stringify(n.card.image)})`})},null,4),t("div",Ze,[t("div",Qe,[t("div",et,h(n.card.title),1),t("div",tt,h(n.card.url),1)])])]))}}),nt={"h-full":"","w-520":"",flex:"~ col"},at={flex:"~ wrap","w-full":"","flex-none":""},st=["onClick"],rt=t("div",{border:"b base","flex-auto":""},null,-1),it={flex:"~ items-center justify-center","flex-auto":"",p4:"","n-panel-grids":""},ct={key:0},lt={key:1},dt={key:2},pt=C({__name:"SocialPreviewGroup",props:{tags:{}},setup(b){const n=b,c=["twitter","facebook","linkedin"],l=I(c[0]),m=S(()=>U(n.tags,{title:[{tag:"title"}],image:[{tag:"meta",name:"og:image"}],imageAlt:[{tag:"meta",name:"og:image:alt"}],description:[{tag:"meta",name:"og:description"},{tag:"meta",name:"description"}],favicon:[{tag:"link",name:"icon"}]}));return(y,k)=>{const _=Ue,s=Ye,p=ot;return o(),a("div",nt,[t("div",at,[(o(),a(T,null,R(c,(v,g)=>t("button",{key:g,px4:"",py2:"",border:"r base",hover:"bg-active",class:O(v===e(l)?"":"border-b"),onClick:N=>l.value=v},[t("div",{class:O(v===e(l)?"":"op30"),capitalize:""},h(v),3)],10,st)),64)),rt]),t("div",it,[e(l)==="facebook"?(o(),a("div",ct,[d(_,{card:e(m)},null,8,["card"])])):e(l)==="twitter"?(o(),a("div",lt,[d(s,{tags:y.tags},null,8,["tags"])])):e(l)==="linkedin"?(o(),a("div",dt,[d(p,{card:e(m)},null,8,["card"])])):x("",!0)])])}}}),mt={class:"markdown-body"},ut=ce('<h1>Open Graph</h1><p>Nuxt provides several different ways to manage your meta tags using <a href="https://unhead.harlanzw.com/" target="_blank" rel="noopener"><code>unhead</code></a>. Improve your Nuxt app’s SEO with powerful head config, composables and components.</p><p><a href="https://nuxt.com/docs/getting-started/seo-meta" target="_blank" rel="noopener">Learn more on the documentation</a></p><hr><p>You can also find how open graph specs are defined in:</p><ul><li><a href="https://ogp.me/" target="_blank" rel="noopener">The Open Graph protocol</a></li><li><a href="https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started" target="_blank" rel="noopener">Twitter Cards</a></li></ul>',6),gt=[ut],ht={__name:"open-graph",setup(b,{expose:n}){return n({frontmatter:{}}),(l,m)=>(o(),a("div",mt,gt))}},_t={flex:"~","h-full":"","w-full":"","of-hidden":""},ft={"h-full":"","flex-auto":"","of-auto":""},vt={"flex-none":"",flex:"~ gap2 items-center"},bt={flex:"~ col"},wt={key:0,"x-divider":""},xt={key:1,"x-divider":""},yt={mr2:"",px4:"",py2:""},At=C({__name:"open-graph",setup(b){const n=I(0),c=le(),l=de(async()=>(n.value,(await c.value?.resolveTags()).map(i=>{const f=i.props||{};return i.tag==="htmlAttrs"&&f.lang?{tag:"html",name:"lang",value:f.lang}:f.charset?{tag:"meta",name:"charset",value:f.charset}:{tag:i.tag,name:f.property??f.name??f.rel??i.tag,value:f.content??f.href??i.textContent??JSON.stringify(f)}})),[]),m=I(!0);function y(){n.value+=1}const k=pe(),_=me(),s=I(""),p=ue(),v=z();async function g(){s.value!==_.value.path&&k.value.push(s.value||"/")}const N=S(()=>s.value===_.value.path?[]:k.value.resolve(s.value||"/").matched),A=S(()=>{const r=p.value.find(i=>i.path===_.value?.matched?.[0]?.path);return r?.file||r?.meta?.file});function E(r){return K.find(i=>i.name===r.name)?.docs}return P(_).toBeTruthy().then(r=>{s.value=r.path}),P(k).toBeTruthy().then(r=>{r.afterEach(()=>{ge(()=>{s.value=_.value.path,setTimeout(y,200),setTimeout(y,800)})})}),(r,i)=>{const f=ve,L=be,q=we,j=H,W=G,Y=J,X=De,Z=pt,Q=ht,ee=ke,D=he("tooltip");return o(),a(T,null,[t("div",_t,[t("div",ft,[d(q,null,{search:u(()=>[d(f,{modelValue:e(s),"onUpdate:modelValue":i[0]||(i[0]=w=>_e(s)?s.value=w:null),placeholder:"Route",icon:"carbon-direction-right-01 scale-y--100",n:"primary","flex-auto":"","font-mono":"",class:O(["px-5 py-2",e(_)?.path===e(s)?"":e(N).length?"text-green":"text-orange"]),onKeydown:fe(g,["enter"])},null,8,["modelValue","class","onKeydown"])]),actions:u(()=>[t("div",vt,[e(A)?V((o(),M(L,{key:0,"text-lg":"",icon:"carbon:launch",title:"Open file in editor",onClick:i[1]||(i[1]=w=>e(v)(e(A)))},null,512)),[[D,"Open file in editor"]]):x("",!0),V(d(L,{"text-lg":"",icon:"carbon:reset",title:"Refresh Data",onClick:y},null,512),[[D,"Refresh Data"]]),V(d(L,{"text-lg":"",icon:e(m)?"carbon:side-panel-open":"carbon:open-panel-right",title:"Toggle Preview",onClick:i[2]||(i[2]=w=>m.value=!e(m))},null,8,["icon"]),[[D,"Toggle Preview"]])])]),_:1}),t("div",bt,[d(Y,{text:"Tags",icon:"carbon:tag-group"},{default:u(()=>[d(W,{grid:"~ cols-[max-content_1fr]","items-center":"","justify-between":"","of-hidden":""},{default:u(()=>[(o(!0),a(T,null,R(e(l),(w,F)=>(o(),a(T,{key:F},[F?(o(),a("div",wt)):x("",!0),F?(o(),a("div",xt)):x("",!0),t("div",yt,[d(j,{op50:"",link:E(w),n:"primary"},{default:u(()=>[$(h(w.name),1)]),_:2},1032,["link"])]),d(j,{link:w.value.match(/^https?:\/\//)?w.value:void 0,"w-full":"",p2:"","font-mono":"",n:"primary"},{default:u(()=>[$(h(w.value),1)]),_:2},1032,["link"])],64))),128))]),_:1})]),_:1}),d(X,{tags:e(l),"matched-route-filepath":e(A)},null,8,["tags","matched-route-filepath"])])]),e(m)&&e(l)?.length?(o(),M(Z,{key:0,tags:e(l),border:"l base","w-540px":"","flex-none":""},null,8,["tags"])):x("",!0)]),d(ee,null,{default:u(()=>[d(Q)]),_:1})],64)}}});export{At as default};
@@ -1 +0,0 @@
1
- import{d as B,ar as L,a8 as R,aF as A,a$ as M,b0 as O,O as T,a as y,h as m,j as o,A as $,o as s,f as e,m as l,k as t,i,t as d,p as c,F as h,b1 as x,b2 as E,v as n,C as F,D as P,x as W,E as G}from"./entry.54b63325.js";import{u as H,_ as K}from"./state-modules.8816f603.js";import{_ as U}from"./NTip.vue.d193bf96.js";import{u as q}from"./state-components.c2201640.js";import"./Badge.15b76164.js";import"./NCodeBlock.vue.84865d5b.js";import"./client.d926285a.js";import"./NCheckbox.vue.fcd1d971.js";const z="0.8.5",J={key:0},Q={key:1,flex:"~ col gap2",ma:"","h-full":"","max-w-300":"","w-full":"",p5:"",px5:"","md:px20":""},X=t("div",{"flex-auto":""},null,-1),Y={flex:"~ col","mt-5":"","items-center":"","md:mt-20":""},Z=t("span",{op40:""}," Nuxt DevTools ",-1),tt={op40:""},et={flex:"~ gap2 wrap"},ot={p4:"","theme-card-green":"",flex:"~ col auto"},st=t("div",{"logos-nuxt-icon":"","text-3xl":""},null,-1),nt={key:0,p4:"","theme-card-green":"",flex:"~ col auto"},it=t("div",{"logos-vue":"","text-3xl":""},null,-1),at=t("div",{"carbon-tree-view-alt":"","text-3xl":""},null,-1),lt=t("div",{"i-carbon-assembly-cluster":"","text-3xl":""},null,-1),dt=t("div",{"carbon-function":"","text-3xl":""},null,-1),ct=t("div",{"carbon-3d-mpr-toggle":"","text-3xl":""},null,-1),rt=t("div",{"carbon-plug":"","text-3xl":""},null,-1),ut={key:5,"pointer-events-none":"","min-w-40":"",p4:"","theme-card-lime":"",flex:"~ auto gap-6"},_t=t("div",{"i-carbon-time-plot":"","flex-none":"","text-3xl":""},null,-1),pt={grid:"~ cols-[auto_auto] gap-x-5 items-center"},mt=t("div",{"text-sm":""}," SSR to full load ",-1),ht={"text-right":""},xt=t("div",{"text-sm":""}," Page load ",-1),ft={"text-right":""},vt=t("div",{"text-sm":""}," Navigation ",-1),gt={"text-right":""},kt=t("div",{"text-sm":""}," HMR ",-1),bt={"text-right":""},yt={flex:"~ col gap2"},wt={flex:"~ gap-6 wrap","mt-5":"","items-center":"","justify-center":""},St=t("a",{href:"https://github.com/nuxt/devtools",target:"_blank",flex:"~ gap1","items-center":"",op50:"",hover:"op100 text-blue",transition:""},[t("div",{"i-carbon-star":""}),n(" Star on GitHub ")],-1),Ct=t("a",{href:"https://github.com/nuxt/devtools/discussions/29",target:"_blank",flex:"~ gap1","items-center":"",op50:"",hover:"op100 text-yellow",transition:""},[t("div",{"i-carbon-data-enrichment":""}),n(" Ideas & Suggestions ")],-1),Dt=t("a",{href:"https://github.com/nuxt/devtools/discussions/31",target:"_blank",flex:"~ gap1","items-center":"",op50:"",hover:"op100 text-lime",transition:""},[t("div",{"i-carbon-plan":""}),n(" Project Roadmap ")],-1),Nt=t("a",{href:"https://github.com/nuxt/devtools/issues",target:"_blank",flex:"~ gap1","items-center":"",op50:"",hover:"op100 text-rose",transition:""},[t("div",{"i-carbon-debug":""}),n(" Bug Reports ")],-1),It=t("div",{"i-carbon-settings-adjust":""},null,-1),Vt=t("div",{"flex-auto":""},null,-1),jt={flex:"col gap-2",mxa:"",hidden:"","w-100":"","text-sm":"",op50:"","md:flex":""},Bt={flex:"~ gap-1","items-center":""},Lt=t("span",null,"+",-1),Rt=t("span",null,"+",-1),At=t("div",{"flex-auto":""},null,-1),Mt={flex:"~ gap-1","items-center":""},Ot=t("span",null,"+",-1),Tt=t("span",null,"+",-1),$t=t("span",null,"+",-1),Et=t("span",null,"+",-1),Ft=t("div",{"flex-auto":""},null,-1),Pt=t("div",null,"Toggle DevTools",-1),Yt=B({__name:"overview",setup(Wt){const f=L(),_=R(),w=q(),v=A(),S=H(),C=M(),g=O(),D=T();function N(){F.value=!0,D.push("/")}const k=y(()=>f.value?.nuxt.vueApp.version),a=y(()=>f.value?.metrics.loading());return(r,Gt)=>{const I=P,p=W,b=K,V=U,u=G,j=$;return s(),m(j,{"h-screen":"","w-full":"",flex:""},{default:o(()=>[e(_)?(s(),l("div",Q,[X,t("div",Y,[i(p,{flex:"~","mt--10":"","items-center":"","justify-center":"",to:"https://devtools.nuxt.com/",target:"_blank"},{default:o(()=>[i(I,{"h-10":""})]),_:1}),t("button",{mb6:"",mt3:"","text-center":"","text-sm":"",flex:"~ gap-1 wrap",onClick:N},[Z,t("code",tt,"v"+d(e(z)),1),i(b,{"package-name":"@nuxt/devtools",options:{dev:!0},"show-version":!1})])]),t("div",et,[t("div",ot,[st,i(b,{"package-name":"nuxt",options:{dev:!0}})]),e(k)?(s(),l("div",nt,[it,t("code",null,"v"+d(e(k)),1)])):c("",!0),e(_)?(s(),l(h,{key:1},[e(_)&&e(_).pages&&e(f)?(s(),m(p,{key:0,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/pages"},{default:o(()=>[at,t("div",null,d(e(C).length)+" pages",1)]),_:1})):c("",!0),e(_)?(s(),m(p,{key:1,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/components"},{default:o(()=>[lt,t("div",null,d(e(w).length)+" components",1)]),_:1})):c("",!0),e(_)&&e(v)?(s(),m(p,{key:2,"min-w-40":"",p4:"","theme-card-yellow":"",flex:"~ col auto",to:"/modules/imports"},{default:o(()=>[dt,t("div",null,d(e(v).imports.length)+" imports",1)]),_:1})):c("",!0),e(_)?(s(),m(p,{key:3,"min-w-40":"",p4:"","theme-card-purple":"",flex:"~ col auto",to:"/modules/modules"},{default:o(()=>[ct,t("div",null,d(e(S).length)+" modules",1)]),_:1})):c("",!0),e(_)?(s(),m(p,{key:4,"min-w-40":"",p4:"","theme-card-teal":"",flex:"~ col auto",to:"/modules/plugins"},{default:o(()=>[rt,t("div",null,d(e(_).plugins.length)+" plugins",1)]),_:1})):c("",!0),e(a)?(s(),l("div",ut,[_t,t("div",pt,[e(a).ssrStart?(s(),l(h,{key:0},[mt,t("div",ht,d(("formatDuration"in r?r.formatDuration:e(x))(e(a).appLoad-e(a).ssrStart)),1)],64)):c("",!0),xt,t("div",ft,d(("formatDuration"in r?r.formatDuration:e(x))(e(a).appLoad-e(a).appInit)),1),vt,t("div",gt,d(("formatDuration"in r?r.formatDuration:e(x))(e(a).pageEnd-e(a).pageStart)),1),e(a).hmrStart?(s(),l(h,{key:1},[kt,t("div",bt,d(("formatDuration"in r?r.formatDuration:e(x))(e(a).hmrEnd-e(a).hmrStart)),1)],64)):c("",!0)])])):c("",!0)],64)):c("",!0)]),t("div",yt,[("showConnectionWarning"in r?r.showConnectionWarning:e(E))?(s(),m(V,{key:0,n:"yellow5",icon:"carbon-unlink","justify-center":""},{default:o(()=>[n(" Not connected to the client app, showing server-side data only. Use the embedded mode for full features. ")]),_:1})):c("",!0)]),t("div",wt,[St,Ct,Dt,Nt,i(p,{to:"/settings",flex:"~ gap1","inline-block":"","items-center":"",op50:"","hover:op80":""},{default:o(()=>[It,n(" Settings ")]),_:1})]),Vt,t("div",jt,[t("div",Bt,[e(g)?(s(),l(h,{key:0},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" ⌘ Cmd ")]),_:1}),Lt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" K ")]),_:1})],64)):(s(),l(h,{key:1},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" Ctrl ")]),_:1}),Rt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" K ")]),_:1})],64)),At,n(" Open Command Palette ")]),t("div",Mt,[e(g)?(s(),l(h,{key:0},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" ⇧ Shift ")]),_:1}),Ot,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" ⌥ Option ")]),_:1}),Tt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" D ")]),_:1})],64)):(s(),l(h,{key:1},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" Shift ")]),_:1}),$t,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" Alt ")]),_:1}),Et,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" D ")]),_:1})],64)),Ft,Pt])])])):(s(),l("div",J," Loading... "))]),_:1})}}});export{Yt as default};
@@ -1 +0,0 @@
1
- import{d as I,r as A,a as R,am as O,f as t,o,m as s,k as e,t as $,h as v,j as k,b8 as W,F as h,n as B,p as y,i as p,v as P,G as L,V as M,E as q,a7 as G,b9 as D,aX as H,aY as J,a8 as X,ai as Y,aZ as Z,a_ as E,av as Q,l as ee,ab as te,K as oe,L as ne}from"./entry.54b63325.js";import{_ as S}from"./Badge.15b76164.js";import{_ as F}from"./FilepathItem.vue.7bd675c6.js";import{_ as ae}from"./NSectionBlock.42a3cefc.js";import{_ as se}from"./LaunchPage.vue.f8df9e2a.js";import{_ as re}from"./HelpFab.vue.f082102a.js";import"./NIconTitle.vue.b6d28480.js";import"./NMarkdown.vue.d2063d22.js";import"./client.d926285a.js";const le={block:"","cursor-pointer":""},ie={p2:""},ue=["onSubmit"],ce=e("div",{px2:"","text-sm":"",op50:""}," Fill params and navigate: ",-1),de={flex:"~","items-center":"",p2:"","text-sm":"","font-mono":""},pe={key:1},_e=I({__name:"RoutePathItem",props:{route:{}},emits:["navigate"],setup(V,{emit:d}){const i=V,_=A([]),m=R(()=>{const u=b(i.route.path);return _.value=Array.from({length:u.length},()=>""),u});function b(u){return u.split(/(:\w+[\?\*]?(?:\(\))?)/).filter(Boolean).map(c=>c[0]===":"?c.replace(/\(\)$/,"?"):c)}const w=R(()=>m.value.map((u,c)=>u[0]===":"?_.value[c]:u).join("").replace(/\/+/g,"/")),r=R(()=>i.route.path.includes(":"));function a(){d("navigate",w.value)}return(u,c)=>{const C=M,n=q,l=O("VDropdown");return t(r)?(o(),v(l,{key:1},{popper:k(({hide:f})=>[e("div",ie,[e("form",{flex:"~ col",onSubmit:W(()=>{a(),f()},["prevent"])},[t(r)?(o(),s(h,{key:0},[ce,e("div",de,[(o(!0),s(h,null,B(t(m),(g,x)=>(o(),s(h,{key:x},[g[0]===":"?(o(),v(C,{key:0,modelValue:t(_)[x],"onUpdate:modelValue":T=>t(_)[x]=T,"w-20":"","n-sm":"",placeholder:g.slice(1)},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(o(),s("span",pe,$(g),1))],64))),128))])],64)):y("",!0),p(n,{block:"",n:"primary"},{default:k(()=>[P(" Navigate ")]),_:1})],40,ue)])]),default:k(()=>[e("code",le,[(o(!0),s(h,null,B(t(m),(f,g)=>(o(),s("span",{key:g,class:L(f[0]===":"?"text-gray border border-dashed rounded border-gray:50 px1":"")},$(f[0]===":"?f.slice(1):f),3))),128))])]),_:1})):(o(),s("button",{key:0,onClick:a},[e("code",null,$(u.route.path),1)]))}}}),he={"w-full":""},me=e("thead",{border:"b base"},[e("tr",null,[e("th",{"text-left":""}),e("th",{"text-left":""}," Route Path "),e("th",{"text-left":""}," Name "),e("th",{"text-left":""}," Middleware "),e("th",null," Layout ")])],-1),fe={"w-20":"","pr-1":""},ge={flex:"","items-center":"","justify-end":""},ve={"text-sm":""},ye={flex:"inline gap3","items-center":""},be={op0:"","group-hover:op100":"",flex:"~ gap1"},xe=["onClick"],ke=e("div",{"i-carbon-script-reference":""},null,-1),$e=[ke],we={"w-0":"","ws-nowrap":"","pr-1":"","text-left":"","text-sm":"","font-mono":"",op50:""},Ce={"w-0":"","ws-nowrap":"","pr-1":"","text-center":"","text-sm":"","font-mono":"",op50:""},Ne={"w-0":"","ws-nowrap":"","text-center":"","text-sm":"","font-mono":""},Re={key:0},Ve=["onClick"],Pe=I({__name:"RoutesTable",props:{pages:{},layouts:{},matched:{},matchedPending:{}},emits:["navigate"],setup(V){const d=V,i=G(),_=D(),m=R(()=>[...d.pages].sort((r,a)=>r.path.localeCompare(a.path)));function b(r){const a=d.layouts.find(u=>u.name===r);a&&i(a.file)}function w(r){if(typeof r=="string")return _.value?.middleware.find(a=>a.name===r)?.path}return(r,a)=>{const u=S,c=_e,C=F;return o(),s("div",null,[e("table",he,[me,e("tbody",null,[(o(!0),s(h,null,B(t(m),n=>(o(),s("tr",{key:n.name,class:"group","h-7":"",border:"b dashed transparent hover:base"},[e("td",fe,[e("div",ge,[r.matched.find(l=>l.name===n.name)?(o(),v(u,{key:0,"bg-green-400:10":"","text-green-400":"",title:"active",textContent:"active"})):y("",!0),r.matchedPending.find(l=>l.name===n.name)?(o(),v(u,{key:1,"bg-teal-400:10":"","text-teal-400":"",title:"next",textContent:"next"})):y("",!0)])]),e("td",ve,[e("div",ye,[p(c,{route:n,class:L(r.matched.find(l=>l.name===n.name)?"text-primary":r.matchedPending.find(l=>l.name===n.name)?"text-teal":""),onNavigate:a[0]||(a[0]=l=>r.$emit("navigate",l))},null,8,["route","class"]),e("div",be,[n.file||n.meta?.file?(o(),s("button",{key:0,"text-sm":"",op40:"",hover:"op100 text-primary",title:"Open in editor",onClick:l=>t(i)(n.file||n.meta?.file)},$e,8,xe)):y("",!0)])])]),e("td",we,$(n.name),1),e("td",Ce,[p(C,{filepath:w(n.meta.middleware),override:`${n.meta.middleware||"-"}`},null,8,["filepath","override"])]),e("td",Ne,[n.meta.layout===!1?(o(),s("span",Re,"-")):n.meta.layout?(o(),s("button",{key:1,onClick:l=>b(n.meta.layout)},$(n.meta.layout),9,Ve)):(o(),s("button",{key:2,"text-sm":"",op15:"",onClick:a[1]||(a[1]=l=>b("default"))}," (default) "))])]))),128))])])])}}}),Be={class:"markdown-body"},Te=e("h1",null,"Pages",-1),Ie=e("p",null,[P("One core feature of Nuxt is the file system router. Every Vue file inside the "),e("code",null,"pages/"),P(" directory creates a corresponding URL (or route) that displays the contents of the file. By using dynamic imports for each page, Nuxt leverages code-splitting to ship the minimum amount of JavaScript for the requested route.")],-1),Le=e("p",null,[e("a",{href:"https://nuxt.com/docs/getting-started/routing",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Ee=e("hr",null,null,-1),Ae=e("h1",null,"Middlewares",-1),Me=e("p",null,"Nuxt provides a customizable route middleware framework you can use throughout your application, ideal for extracting code that you want to run before navigating to a particular route.",-1),De=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/directory-structure/middleware",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Se=[Te,Ie,Le,Ee,Ae,Me,De],Fe={__name:"pages",setup(V,{expose:d}){return d({frontmatter:{}}),(_,m)=>(o(),s("div",Be,Se))}},Ke={key:0,"h-full":"","of-auto":""},Ue={border:"b base",flex:"~ col gap1",px4:"",py3:"","navbar-glass":""},je=e("span",{op50:""},"Navigate from ",-1),ze={"font-mono":""},Oe=e("span",{op50:""}," to ",-1),We={key:1,op50:""},qe=e("span",null,[P("Press "),e("b",{"font-bold":""},"Enter"),P(" to navigate")],-1),Ge={key:0,"text-orange":"",op75:""},He={key:1,op50:""},Je={"w-full":""},Xe=e("thead",{border:"b base","h-7":""},[e("tr",null,[e("th",{"text-left":""}," Name "),e("th",{"text-left":""}," Path ")])],-1),Ye={mr1:""},lt=I({__name:"pages",setup(V){const d=H(),i=J(),_=X(),m=D(),b=Y(),w=Z(),r=R(()=>m.value?.middleware||[]),a=A("");E(i).toBeTruthy().then(n=>{a.value=n.path}),E(d).toBeTruthy().then(n=>{n.afterEach(()=>{Q(()=>{a.value=i.value.path})})});async function u(){a.value!==i.value.path&&d.value.push(a.value||"/")}const c=R(()=>a.value===i.value.path?[]:d.value.resolve(a.value||"/").matched);function C(n){d.value.push(n)}return(n,l)=>{const f=M,g=Pe,x=ae,T=S,K=F,U=se,j=Fe,z=re;return o(),s(h,null,[t(_)?.pages&&t(d)?(o(),s("div",Ke,[e("div",Ue,[e("div",null,[t(i).path!==t(a)?(o(),s(h,{key:0},[je,e("span",ze,$(t(i).path),1),Oe],64)):(o(),s("span",We,"Current route"))]),p(f,{modelValue:t(a),"onUpdate:modelValue":l[0]||(l[0]=N=>ee(a)?a.value=N:null),"font-mono":"",icon:"carbon-direction-right-01 scale-y--100",class:L(t(i).path===t(a)?"":t(c).length?"text-green":"text-orange"),onKeydown:te(u,["enter"])},null,8,["modelValue","class","onKeydown"]),e("div",null,[t(i).path!==t(a)?(o(),s(h,{key:0},[qe,t(c).length?y("",!0):(o(),s("span",Ge," (no match)"))],64)):(o(),s("span",He,"Edit path above to navigate"))])]),t(c).length?(o(),v(x,{key:0,icon:"carbon-tree-view",text:"Matched Routes",padding:!1},{default:k(()=>[p(g,{pages:t(c),layouts:t(b)||[],matched:[],"matched-pending":t(c),onNavigate:C},null,8,["pages","layouts","matched-pending"])]),_:1})):y("",!0),p(x,{icon:"carbon-tree-view-alt",text:"All Routes",description:`${t(w).length} routes registered in your application`,padding:"pr5"},{default:k(()=>[p(g,{pages:t(w),layouts:t(b)||[],matched:t(i).matched,"matched-pending":t(c),onNavigate:C},null,8,["pages","layouts","matched","matched-pending"])]),_:1},8,["description"]),t(r).length?(o(),v(x,{key:1,icon:"carbon:ibm-watson-studio",text:"Middleware",description:`${t(r).length} middleware registered in your application`,padding:"px13"},{default:k(()=>[e("table",Je,[Xe,(o(!0),s(h,null,B(t(r),N=>(o(),s("tr",{key:N.path,"h-7":""},[e("td",null,[e("span",Ye,$(N.name),1),N.global?(o(),v(T,{key:0,"bg-green-400:10":"","text-green-400":"",title:"Registered at runtime as a global component",textContent:"global"})):y("",!0)]),e("td",null,[p(K,{filepath:N.path},null,8,["filepath"])])]))),128))])]),_:1},8,["description"])):y("",!0)])):(o(),v(U,{key:1,icon:"carbon-tree-view-alt",title:"Nuxt Routing",description:"Create `./pages/index.vue` to enable routing",actions:[{label:"Learn more",src:"https://nuxt.com/docs/getting-started/routing",attrs:{n:"primary"}},{label:"Enable Routing",async handle(){return("rpc"in n?n.rpc:t(oe)).runWizard(await("ensureDevAuthToken"in n?n.ensureDevAuthToken:t(ne))(),"enablePages")}}]},null,8,["actions"])),p(z,null,{default:k(()=>[p(j)]),_:1})],64)}}});export{lt as default};
@@ -1 +0,0 @@
1
- import{_ as y}from"./StateEditor.vue.5fea57d7.js";import{d as v,o as e,m as c,F as k,n as B,h as m,j as o,a6 as C,aR as R,aS as w,k as x,ar as E,a as F,aa as O,f as r,i as a,p as u,v as P,I as V,E as j,_ as A}from"./entry.54b63325.js";import{_ as G}from"./NSectionBlock.42a3cefc.js";import{_ as H}from"./HelpFab.vue.f082102a.js";import"./DataSchemaButton.vue.41ad6158.js";import"./json-editor-vue.ce96762e.js";import"./NIconTitle.vue.b6d28480.js";const I={key:0,flex:"~ col gap-1"},K={key:1,mt2:"",px4:"",italic:"",op35:""},T=v({__name:"StateGroup",props:{state:{},prefix:{default:""}},setup(f){return(t,n)=>{const i=y;return e(),c("div",null,[t.state&&Object.keys(t.state).length>0?(e(),c("div",I,[(e(!0),c(k,null,B(t.state,(l,s)=>(e(),m(i,{key:s,state:l,name:s.startsWith(t.prefix)?s.slice(t.prefix.length):s},{actions:o(_=>[C(t.$slots,"actions",R(w(_)))]),_:2},1032,["state","name"]))),128))])):(e(),c("div",K," No data "))])}}}),z={class:"markdown-body"},L=x("h1",null,"State & Async Data",-1),W=x("p",null,"// TODO",-1),q=[L,W],J={__name:"payload",setup(f,{expose:t}){return t({frontmatter:{}}),(i,l)=>(e(),c("div",z,q))}},M={key:0},ot=v({__name:"payload",setup(f){const t=E(),n=F(()=>t.value?.nuxt.payload);async function i(l){await t.value?.nuxt.hooks.callHookParallel("app:data:refresh",l)}return(l,s)=>{const _=T,d=G,$=j,b=A,S=y,g=J,D=H,N=O("tooltip");return e(),c(k,null,[r(t)?(e(),c("div",M,[a(d,{icon:"carbon-data-set",text:"State",description:"Keyed state from `useState`",padding:!1},{default:o(()=>[a(_,{state:r(n).state,prefix:"$s"},null,8,["state"])]),_:1}),a(d,{icon:"carbon-data-blob",text:"Data",description:"Keyed state from `useAsyncData`",padding:!1},{actions:o(()=>[a($,{n:"xs primary","self-start":"",icon:"i-carbon-recycle",onClick:s[0]||(s[0]=h=>i())},{default:o(()=>[P(" Re-fetch all data ")]),_:1})]),default:o(()=>[a(_,{state:r(n).data},{actions:o(({isOpen:h,name:p})=>[h&&p?V((e(),m(b,{key:0,title:`Re-fetch '${p}'`,icon:"carbon-recycle",onClick:Q=>i([p])},null,8,["title","onClick"])),[[N,`Re-fetch '${p}'`,void 0,{bottom:!0}]]):u("",!0)]),_:1},8,["state"])]),_:1}),r(n).functions&&Object.keys(r(n).functions).length?(e(),m(d,{key:0,icon:"carbon-function",text:"Functions",description:"State for functions (experimental)"},{default:o(()=>[a(S,{"ml--6":"",state:r(n).functions},null,8,["state"])]),_:1})):u("",!0)])):u("",!0),a(D,null,{default:o(()=>[a(g)]),_:1})],64)}}});export{ot as default};
@@ -1 +0,0 @@
1
- import{_ as w}from"./FilepathItem.vue.7bd675c6.js";import{_ as D}from"./Badge.15b76164.js";import{_ as C}from"./DurationDisplay.vue.8da73fd3.js";import{d as v,a8 as B,a as x,b7 as V,o as n,m,k as t,t as P,i as l,f,h as u,p as d,am as F,a6 as N,a1 as H,q as I,j as h,v as y,b9 as E,ar as W,F as k,n as j,G as L}from"./entry.54b63325.js";import{_ as M}from"./NSectionBlock.42a3cefc.js";import{_ as q}from"./HelpFab.vue.f082102a.js";import"./NIconTitle.vue.b6d28480.js";const z={flex:"~ gap2","items-center":""},A={w8:"","text-right":"","text-sm":"",op25:""},G={key:0,"flex-auto":"","text-right":""},R=v({__name:"PluginItem",props:{plugin:{},index:{}},setup(p){const e=p,a=B(),r=x(()=>V(e.plugin.src,a.value?.rootDir||"").path);return(i,c)=>{const _=w,o=D,s=C;return n(),m("div",z,[t("div",A,P(i.index),1),l(_,{filepath:e.plugin.src,subpath:!0},null,8,["filepath"]),t("div",null,[f(r).startsWith("#")?(n(),u(o,{key:0,"bg-rose-400:10":"","text-rose":"",textContent:"virtual"})):f(r).startsWith(".")?d("",!0):(n(),u(o,{key:1,"bg-gray-400:10":"","text-gray":"",textContent:"module"})),i.plugin.mode==="server"?(n(),u(o,{key:2,"bg-teal-400:10":"","text-teal-400":"",textContent:"server"})):d("",!0),i.plugin.mode==="client"?(n(),u(o,{key:3,"bg-orange-400:10":"","text-orange-400":"",textContent:"client"})):d("",!0)]),i.plugin.metric?.duration!=null?(n(),m("div",G,[l(s,{duration:i.plugin.metric?.duration,factor:10},null,8,["duration"])])):d("",!0)])}}}),Y={class:"n-tip n-tip-base",flex:"~ col items-start","mx--4":"",px4:"",py4:""},J={flex:"~ items-center gap-1","font-bold":""},K=v({__name:"HelpTip",props:{title:{},icon:{}},setup(p){return(e,a)=>{const r=H,i=F("ContentSlot");return n(),m("div",Y,[t("div",J,[e.icon?(n(),u(r,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):d("",!0),t("div",null,P(e.title),1)]),t("div",null,[N(e.$slots,"default",{},()=>[l(i,{use:e.$slots.default,unwrap:"p"},null,8,["use"])])])])}}}),O={};function Q(p,e){const a=K;return n(),u(a,{title:"Performance Tip",icon:"carbon-meter",n:"lime6 dark:lime5"},{default:h(()=>[N(p.$slots,"default")]),_:3})}const U=I(O,[["render",Q]]),X={class:"markdown-body"},Z=t("h1",null,"Plugins",-1),tt=t("p",null,[y("Nuxt plugins allows you to extend the functionality of Nuxt runtime and the Vue instance. You can add plugins to the "),t("code",null,"plugins/"),y(" directory and they will be automatically imported and registered.")],-1),et=t("p",null,[t("a",{href:"https://nuxt.com/docs/guide/directory-structure/plugins",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),nt={__name:"plugins",setup(p,{expose:e}){return e({frontmatter:{}}),(r,i)=>{const c=U;return n(),m("div",X,[Z,tt,l(c,null,{default:h(()=>[y(" Plugins runs before your application at runtime, the time each plugin cost will directly affect your application's initial loading time. ")]),_:1}),et])}}},ot={pt4:""},st={class:"text-sm",flex:"~ gap-1 items-center justify-start","mt-3":""},it=t("div",{"i-carbon-timer":"","text-lg":"",op75:""},null,-1),at=t("span",{op50:""},"Total execution time:",-1),dt=v({__name:"plugins",setup(p){const e=E(),a=W(),r=x(()=>{const c=e.value?.plugins||[],_=a.value?.metrics.clientPlugins()||[];return c.map(o=>{const s=typeof o=="string"?{src:o}:o;return{...s,metric:_.find(g=>g.src===s.src||g.src.startsWith(s.src))}})}),i=x(()=>{const c=a.value?.metrics.clientPlugins()||[],_=Math.min(...c.map(s=>s.start));return Math.max(...c.map(s=>s.end))-_});return(c,_)=>{const o=R,s=C,g=M,S=nt,T=q;return n(),m(k,null,[l(g,{icon:"carbon-plug",text:"Plugins",description:`Total plugins: ${f(r).length}`},{default:h(()=>[t("div",ot,[(n(!0),m(k,null,j(f(r),($,b)=>(n(),u(o,{key:$.src,plugin:$,index:b+1,"ml--4":"","border-base":"",py2:"",class:L(b?"border-t":"")},null,8,["plugin","index","class"]))),128)),t("div",st,[it,at,l(s,{duration:f(i),factor:10},null,8,["duration"])])])]),_:1},8,["description"]),l(T,null,{default:h(()=>[l(S)]),_:1})],64)}}});export{dt as default};
@@ -1,9 +0,0 @@
1
- import{r as L,bc as Me,ax as Fe,av as ze,w as _e,bd as He,be as Ge,d as re,bf as be,o,m as p,k as d,G as E,h as C,f as e,bg as le,t as j,p as D,v as F,a4 as We,a6 as ee,F as R,n as A,a1 as ce,a5 as Je,a as V,i as f,j as k,V as ke,E as Ce,bh as Ke,a8 as Qe,at as de,a7 as Xe,aw as Ye,e as Ze,aa as xe,l as te,I as ae,aq as et,_ as we,A as $e,bi as tt,bj as ot,ae as nt,S as st,bk as lt,al as at}from"./entry.54b63325.js";import{_ as rt}from"./Navbar.vue.bacddf14.js";import{_ as Se}from"./Badge.15b76164.js";import{_ as Te}from"./NSelect.vue.e3495019.js";import{_ as it}from"./NCheckbox.vue.fcd1d971.js";import{u as Ve,_ as ut}from"./storage-options.b1a5fc25.js";import{_ as dt}from"./DataSchemaButton.vue.41ad6158.js";import{_ as ct}from"./NCodeBlock.vue.84865d5b.js";import{C as ye,S as Re}from"./constants.4e5eba24.js";import{U as pt}from"./json-editor-vue.ce96762e.js";import{_ as ft}from"./NSectionBlock.42a3cefc.js";import{_ as mt}from"./DrawerRight.vue.5bde5a0b.js";import"./client.d926285a.js";import"./NIconTitle.vue.b6d28480.js";const se=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function vt(r,h){if(typeof r!="string")throw new TypeError("argument str must be a string");const m={},w=(h||{}).decode||gt;let _=0;for(;_<r.length;){const t=r.indexOf("=",_);if(t===-1)break;let y=r.indexOf(";",_);if(y===-1)y=r.length;else if(y<t){_=r.lastIndexOf(";",t-1)+1;continue}const u=r.slice(_,t).trim();if(m[u]===void 0){let i=r.slice(t+1,y).trim();i.codePointAt(0)===34&&(i=i.slice(1,-1)),m[u]=yt(i,w)}_=y+1}return m}function ge(r,h,m){const n=m||{},w=n.encode||_t;if(typeof w!="function")throw new TypeError("option encode is invalid");if(!se.test(r))throw new TypeError("argument name is invalid");const _=w(h);if(_&&!se.test(_))throw new TypeError("argument val is invalid");let t=r+"="+_;if(n.maxAge!==void 0&&n.maxAge!==null){const y=n.maxAge-0;if(Number.isNaN(y)||!Number.isFinite(y))throw new TypeError("option maxAge is invalid");t+="; Max-Age="+Math.floor(y)}if(n.domain){if(!se.test(n.domain))throw new TypeError("option domain is invalid");t+="; Domain="+n.domain}if(n.path){if(!se.test(n.path))throw new TypeError("option path is invalid");t+="; Path="+n.path}if(n.expires){if(!ht(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");t+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(t+="; HttpOnly"),n.secure&&(t+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":t+="; Priority=Low";break;case"medium":t+="; Priority=Medium";break;case"high":t+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:t+="; SameSite=Strict";break;case"lax":t+="; SameSite=Lax";break;case"strict":t+="; SameSite=Strict";break;case"none":t+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return t}function ht(r){return Object.prototype.toString.call(r)==="[object Date]"||r instanceof Date}function yt(r,h){try{return h(r)}catch{return r}}function gt(r){return r.includes("%")?decodeURIComponent(r):r}function _t(r){return encodeURIComponent(r)}const bt={path:"/",watch:!0,decode:r=>He(decodeURIComponent(r)),encode:r=>encodeURIComponent(typeof r=="string"?r:JSON.stringify(r))};function kt(r,h){const m={...bt,...h},n=Ct(m)||{},w=L(n[r]??m.default?.());{const _=typeof BroadcastChannel>"u"?null:new BroadcastChannel(`nuxt:cookies:${r}`);Me()&&Fe(()=>{_?.close()});const t=()=>{wt(r,w.value,m),_?.postMessage(Ge(w.value))};let y=!1;_&&(_.onmessage=u=>{y=!0,w.value=u.data,ze(()=>{y=!1})}),m.watch?_e(w,()=>{y||t()},{deep:m.watch!=="shallow"}):t()}return w}function Ct(r={}){return vt(document.cookie,r)}function xt(r,h,m={}){return h==null?ge(r,h,{...m,maxAge:-1}):ge(r,h,m)}function wt(r,h,m={}){document.cookie=xt(r,h,m)}const $t=d("div",{"x-divider":""},null,-1),Ue=re({__name:"ServerRouteListItem",props:{item:{},index:{default:0}},setup(r){const h=L(!0),m=be();return(n,w)=>{const _=ce,t=Se,y=Ue;return o(),p("div",null,[d("button",{flex:"~ gap-2","w-full":"","items-start":"","items-center":"","hover-bg-active":"",px2:"",py1:"",class:E([{"bg-active":e(m)===n.item.filepath}]),style:We({paddingLeft:`calc(0.5rem + ${n.index*1.5}em)`}),onClick:w[0]||(w[0]=u=>{h.value=!e(h),m.value=n.item.filepath})},[d("div",{class:E({"w-12":!n.item.routes}),"flex-none":"","text-left":""},[n.item.type==="collection"?(o(),C(_,{key:0,icon:"carbon:chevron-right","mb0.5":"","transform-rotate":e(h)?90:0,transition:""},null,8,["transform-rotate"])):(o(),C(t,{key:1,class:E(("getRequestMethodClass"in n?n.getRequestMethodClass:e(le))(n.item.method||"*")),textContent:j((n.item.method||"*").toUpperCase())},null,8,["class","textContent"]))],2),d("span",{class:E({"flex items-center":n.item.routes}),"text-sm":"","font-mono":""},[n.item.type==="collection"?(o(),C(_,{key:0,title:`${n.item.routes?.length} routes`,icon:"carbon:folder",mr1:""},null,8,["title"])):D("",!0),F(" "+j(n.item.route),1)],2)],6),$t,e(h)?ee(n.$slots,"default",{key:0},()=>[(o(!0),p(R,null,A(n.item.routes,u=>(o(),C(y,{key:u.filepath,item:u,index:n.index+1},null,8,["item","index"]))),128))]):D("",!0)])}}}),St={p4:"",flex:"~ col gap-4"},Tt={key:1,ml2:"",flex:""},Vt=["value"],Rt={key:0,flex:"","gap-4":""},Ut=d("div",{"flex-auto":""},null,-1),Ie=re({__name:"ServerRouteInputs",props:{modelValue:{},keys:{default:()=>[]},default:{default:()=>({})},disabled:{type:Boolean,default:!1}},setup(r,{emit:h}){const m=r,n=Je(m,"modelValue",h,{passive:!0}),w=V(()=>[...m.keys,"key","value","type"]),_=V(()=>{const u={};for(const i of w.value)u[i]=m.default[i]||"";return u}),t=["string","number","boolean","file","date","time","datetime-local"];function y(u,i){const U=i.target;if(U.files&&U.files[0]){const W=U.files[0],M=new FileReader;M.readAsDataURL(W),M.onload=()=>{n.value[u].value=M.result}}}return _e(()=>n,u=>{u.value.forEach(i=>{if(i.type==="number"&&typeof i.value!="number"){const U=Number.parseFloat(i.value);i.value=Number.isNaN(U)?0:U}else i.type==="boolean"&&typeof i.value!="boolean"?i.value=!0:i.type==="file"&&typeof i.value!="object"?i.value="":i.type==="date"&&typeof i.value=="string"&&!i.value.match(/^\d{4}-\d{2}-\d{2}$/)?i.value=new Date().toISOString().slice(0,10):i.type==="time"&&typeof i.value=="string"&&!i.value.match(/^\d{2}:\d{2}$/)?i.value=new Date().toISOString().slice(11,16):i.type==="datetime-local"&&typeof i.value=="string"&&!i.value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/)?i.value=new Date().toISOString().slice(0,16):i.type==="string"&&(i.value=i.value.toString())})},{deep:!0,immediate:!0,flush:"sync"}),(u,i)=>{const U=ke,W=it,M=Te,H=ce,v=Ce;return o(),p("div",St,[(o(!0),p(R,null,A(e(n),(c,x)=>(o(),p("div",{key:x,flex:"~ gap-2","justify-around":""},[ee(u.$slots,"input",{item:c}),(o(!0),p(R,null,A(e(w),$=>(o(),p(R,{key:$},[c.type!==null&&$==="key"?(o(),C(U,{key:0,modelValue:c[$],"onUpdate:modelValue":g=>c[$]=g,placeholder:$,"flex-1":"","font-mono":"",n:"sm primary",disabled:u.disabled,class:E(u.disabled?"op50":"")},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled","class"])):$==="value"?(o(),p(R,{key:1},[c.type==="file"?(o(),C(U,{key:0,type:"file",disabled:u.disabled,class:E(u.disabled?"op75":""),onChange:g=>y(x,g)},null,8,["disabled","class","onChange"])):c.type==="boolean"?(o(),p("div",Tt,[f(W,{modelValue:c.value,"onUpdate:modelValue":g=>c.value=g,placeholder:"Value",n:"green lg",disabled:u.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])])):(o(),C(U,{key:2,modelValue:c.value,"onUpdate:modelValue":g=>c.value=g,type:c.type,placeholder:"Value","flex-1":"","font-mono":"",n:"sm primary",disabled:u.disabled,class:E(u.disabled?"op75":"")},null,8,["modelValue","onUpdate:modelValue","type","disabled","class"]))],64)):$==="type"?(o(),C(M,{key:2,modelValue:c.type,"onUpdate:modelValue":g=>c.type=g,n:"sm green",class:E(u.disabled?"op75":""),disabled:u.disabled},{default:k(()=>[(o(),p(R,null,A(t,g=>d("option",{key:g,value:g},j(g),9,Vt)),64))]),_:2},1032,["modelValue","onUpdate:modelValue","class","disabled"])):D("",!0)],64))),128)),ee(u.$slots,"input-actions",{},()=>[f(v,{n:"red",disabled:u.disabled,class:E(u.disabled?"op0!":""),onClick:$=>e(n).splice(x,1)},{default:k(()=>[f(H,{icon:"carbon:delete"})]),_:2},1032,["disabled","class","onClick"])])]))),128)),u.disabled?D("",!0):(o(),p("div",Rt,[ee(u.$slots,"actions",{params:e(n)},()=>[f(v,{icon:"carbon-add",n:"sm primary",my1:"","px-3":"",onClick:i[0]||(i[0]=c=>e(n).push({...e(_)}))},{default:k(()=>[F(" Add ")]),_:1}),Ut,e(n).length?(o(),C(v,{key:0,icon:"carbon-trash-can",n:"sm red",my1:"","px-3":"",onClick:i[1]||(i[1]=c=>n.value=[])},{default:k(()=>[F(" Remove All ")]),_:1})):D("",!0)])])),ee(u.$slots,"default")])}}}),It={"h-full":"","w-full":"",flex:"~ col"},Dt={flex:"~ col gap-2","flex-none":"",p4:"","navbar-glass":""},Nt={flex:"~ gap2"},Et={relative:"","w-full":""},jt={flex:"~ gap2 wrap","w-full":"","items-center":"",px4:"",pb2:"","text-center":"","text-sm":"",border:"b base"},Ot=d("div",{"flex-auto":""},null,-1),Pt={key:0,border:"b base","items-center":"",px4:"",py2:"",grid:"~ cols-[max-content_1fr] gap-2"},Lt={"text-right":"","font-mono":""},qt={key:1,border:"b base",p4:"",flex:"~ col gap-4","font-mono":""},Bt={flex:"~ gap-4"},At={flex:"~ gap2","mb--2":"","items-center":"",op50:""},Mt=d("div",{"w-5":"","x-divider":""},null,-1),Ft=d("div",{"flex-none":""}," Default Inputs ",-1),zt=d("div",{"x-divider":""},null,-1),Ht={key:2},Gt={key:3,border:"b base",relative:"","n-code-block":""},Wt={flex:"~ wrap","w-full":""},Jt=["onClick"],Kt=d("div",{border:"b base","flex-auto":""},null,-1),Qt={border:"b base",flex:"~ gap2","items-center":"",px4:"",py2:""},Xt=d("div",null,"Response",-1),Yt={key:1,"text-xs":"",op50:""},Zt=d("div",{"flex-auto":""},null,-1),eo=d("div",{op50:""}," Request finished in ",-1),to={key:0,"flex-auto":"","overflow-auto":""},oo={border:"~ base","h-full":"","w-full":"",rounded:""},no=["data"],so={key:2,"flex-auto":"","overflow-auto":"",p4:""},lo={border:"~ base",rounded:""},ao=["src"],ro={key:1,controls:"",rounded:""},io=["src"],uo=re({__name:"ServerRouteDetails",props:{route:{}},emits:["open-default-input"],setup(r,{emit:h}){const m=r,[n,w]=Ke(),_=Qe(),t=de({contentType:"text/plain",data:"",statusCode:200,error:void 0,fetchTime:0}),y=V(()=>t.contentType.includes("application/json")?"json":t.contentType.includes("text/html")?"html":t.contentType.includes("text/css")?"css":t.contentType.includes("text/javascript")?"javascript":t.contentType.includes("image")||t.contentType.includes("video")?"media":t.contentType.includes("text/xml")||t.contentType.includes("application/xml")?"xml":t.contentType.includes("application/pdf")?"pdf":"text"),u=V(()=>{if(y.value==="json")return JSON.stringify(t.data,null,2);if(y.value==="media"||y.value==="pdf"){const s=new Blob([t.data],{type:t.contentType});return URL.createObjectURL(s)}return t.data}),i=L(!1),U=L(!1),W=Xe(),M=V(()=>m.route.route?.split(/((?:\*\*)?:[\w_]+)/g)),H=V(()=>M.value?.filter(s=>s.startsWith(":")||s.startsWith("**:"))||[]),v=L(m.route.method||"GET"),c=L({}),x=de({query:[{key:"",value:"",type:"string"}],body:[{key:"",value:"",type:"string"}],headers:[{key:"Content-Type",value:"application/json",type:"string"}]}),$=L({}),{inputDefaults:g}=Ve("serverRoutes"),O=["GET","POST","PUT","PATCH","DELETE","HEAD"],q=["PATCH","POST","PUT","DELETE"],B=V(()=>q.includes(v.value.toUpperCase())),S=L(H.value.length?"params":"query"),oe=["input","json"],z=L(oe[0]),K=V({get:()=>x[S.value],set:s=>{x[S.value]=s}}),X=V(()=>({...J(g.value.query),...J(x.query)})),T=V(()=>({...J(g.value.headers),...J(x.headers)})),Y=V(()=>B.value?z.value==="json"?{...J(g.value.body),...$.value}:{...J(g.value.body),...J(x.body)}:void 0),De=V(()=>{let s=_.value?.devServer.url||"http://localhost";s.charAt(s.length-1)==="/"&&(s=s.slice(0,-1));const l=_.value?.devServer.port||3e3;return s.includes(`:${l}`)?s:`${s}:${l}`}),ne=V(()=>{let s=new URLSearchParams(X.value).toString();s&&(s=`?${s}`);const l=(M.value?.map(N=>(N.startsWith(":")||N.startsWith("**:"))&&c.value[N]||N).join("")||"")+s;let b=_.value?.app.baseURL||"";return(b==="./"||b===".")&&(b=""),b.endsWith("/")&&(b=b.slice(0,-1)),b+l}),pe=V(()=>De.value+ne.value);function J(s){const l=Object.fromEntries(s.filter(({key:b,value:N})=>b&&N!==void 0).map(({key:b,value:N})=>[b,N]));return Object.entries(l).length?l:void 0}async function fe(){U.value=!0,i.value=!0;const s=Date.now();try{t.data=await $fetch(pe.value,{method:v.value.toUpperCase(),headers:T.value,query:X.value,body:Y.value,onResponse({response:l}){t.contentType=(l.headers.get("content-type")||"").toString().toLowerCase().trim(),t.statusCode=l.status,t.error=void 0},onResponseError(l){t.error=l.response._data,t.data=l.response._data}})}catch{}i.value=!1,t.fetchTime=Date.now()-s}const me=V(()=>{const s=[],l=[],b=Object.entries(T.value).filter(([I,P])=>I&&P&&!(I==="Content-Type"&&P==="application/json")).map(([I,P])=>` '${I}': '${P}'`).join(`,
2
- `);v.value.toUpperCase()!=="GET"&&l.push(`method: '${v.value.toUpperCase()}'`),b&&l.push(`headers: {
3
- ${b}
4
- }`),Y.value&&l.push(`body: ${JSON.stringify(Y.value,null,2)}`);const N=l.length?`, {
5
- ${l.join(`,
6
- `).split(`
7
- `).map(I=>` ${I}`).join(`
8
- `)}
9
- }`:"";return s.push({name:"useFetch",lang:"javascript",docs:ye.nuxt.useFetch,code:`const { data, pending, error, refresh } = useFetch('${ne.value}'${N})`}),s.push({name:"$fetch",lang:"javascript",docs:ye.nuxt.$fetch,code:`await $fetch('${ne.value}'${N})`}),s}),Ne=V(()=>{const s=[];return H.value.length&&s.push({name:"Params",slug:"params",length:H.value.length}),s.push({name:"Query",slug:"query",length:x.query.length}),B.value&&s.push({name:"Body",slug:"body",length:x.body.length}),s.push({name:"Headers",slug:"headers",length:x.headers.length}),s.push({name:"Cookies",slug:"cookies"}),s.push({name:"Snippets",slug:"snippet"}),s}),Z=L(Ee());function Ee(){return document.cookie.split("; ").map(s=>{const[l,b]=s.split("=");return{key:l,value:b}})}const G=de({key:"",value:""});function ie(s,l){if(!s)return;const b=Z.value.find(I=>I.key===s),N=kt(s);b!==void 0?l===void 0&&(Z.value=Z.value.filter(I=>I.key!==s)):(Z.value.push({key:s,value:l}),G.key="",G.value=""),N.value=l}Ye(()=>{z.value==="json"&&typeof $.value=="string"&&($.value=JSON.parse($.value))});const je=Ze();return(s,l)=>{const b=Ce,N=Te,I=ke,P=ce,Oe=we,ve=Ie,Pe=ut,Le=$e,qe=tt,ue=Se,Be=dt,Ae=ct,he=xe("tooltip");return o(),p("div",It,[d("div",Dt,[d("div",Nt,[s.route.method?(o(),C(b,{key:0,class:E(("getRequestMethodClass"in s?s.getRequestMethodClass:e(le))(e(v))),"pointer-events-none":"",tabindex:"-1"},{default:k(()=>[F(j(e(v).toUpperCase()),1)]),_:1},8,["class"])):(o(),C(N,{key:1,modelValue:e(v),"onUpdate:modelValue":l[0]||(l[0]=a=>te(v)?v.value=a:null),class:E(("getRequestMethodClass"in s?s.getRequestMethodClass:e(le))(e(v)))},{default:k(()=>[(o(),p(R,null,A(O,a=>d("option",{key:a,class:E(("getRequestMethodClass"in s?s.getRequestMethodClass:e(le))(a))},j(a.toUpperCase()),3)),64))]),_:1},8,["modelValue","class"])),d("div",Et,[f(I,{"model-value":e(ne),disabled:"","flex-auto":"","font-mono":"",p:"x5 y2",n:"primary xs"},null,8,["model-value"]),ae((o(),C(b,{title:"Copy URL",absolute:"","right-2":"","top-1.7":"",n:"xs blue",onClick:l[1]||(l[1]=a=>e(je)(e(pe)))},{default:k(()=>[f(P,{icon:"carbon:copy"})]),_:1})),[[he,"Copy URL"]])]),f(b,{n:"primary solid",onClick:fe},{default:k(()=>[f(P,{icon:"carbon:send"})]),_:1})])]),d("div",jt,[(o(!0),p(R,null,A(e(Ne),a=>(o(),C(b,{key:a.slug,class:E(e(S)===a.slug?"text-primary n-primary":"border-transparent shadow-none"),onClick:Q=>S.value=a.slug},{default:k(()=>[f(P,{icon:("ServerRouteTabIcons"in s?s.ServerRouteTabIcons:e(Re))[a.slug]},null,8,["icon"]),F(" "+j(a.name)+" "+j(a?.length?`(${a.length})`:"")+" ",1),d("span",null,j(e(g)[a.slug]?.length?`(${e(g)[a.slug].length})`:""),1)]),_:2},1032,["class","onClick"]))),128)),Ot,ae((o(),C(b,{title:"Open in Editor",onClick:l[2]||(l[2]=a=>e(W)(s.route.filepath))},{default:k(()=>[f(P,{icon:"carbon-launch"})]),_:1})),[[he,"Open in Editor"]])]),e(S)==="params"?(o(),p("div",Pt,[(o(!0),p(R,null,A(e(H),a=>(o(),p(R,{key:a},[d("div",Lt,j(a),1),f(I,{modelValue:e(c)[a],"onUpdate:modelValue":Q=>e(c)[a]=Q,placeholder:a,"flex-1":""},null,8,["modelValue","onUpdate:modelValue","placeholder"])],64))),128))])):D("",!0),e(S)==="cookies"?(o(),p("div",qt,[(o(!0),p(R,null,A(e(Z),a=>(o(),p("div",{key:a.key,flex:"~ gap-4 items-center"},[f(I,{placeholder:"Key...","model-value":a.key,disabled:"","op-70":""},null,8,["model-value"]),f(I,{placeholder:"Value...","model-value":a.value,"flex-1":"",n:"primary",onInput:Q=>ie(a.key,Q.target?.value)},null,8,["model-value","onInput"]),f(b,{title:"Delete",n:"red",onClick:Q=>ie(a.key,void 0)},{default:k(()=>[f(P,{icon:"i-carbon-delete"})]),_:2},1032,["onClick"])]))),128)),d("div",Bt,[f(I,{modelValue:e(G).key,"onUpdate:modelValue":l[3]||(l[3]=a=>e(G).key=a),placeholder:"Key",n:"primary","flex-1":""},null,8,["modelValue"]),f(I,{modelValue:e(G).value,"onUpdate:modelValue":l[4]||(l[4]=a=>e(G).value=a),placeholder:"Value",n:"primary","flex-1":""},null,8,["modelValue"]),f(b,{title:"Add",n:"primary",onClick:l[5]||(l[5]=a=>ie(e(G).key,e(G).value))},{default:k(()=>[f(P,{icon:"i-carbon-save"})]),_:1})])])):D("",!0),f(e(n),null,{default:k(()=>[f(ve,{modelValue:e(K),"onUpdate:modelValue":l[8]||(l[8]=a=>te(K)?K.value=a:null),default:{type:"string"},"max-h-xs":"","of-auto":""},{default:k(()=>[e(g)[e(S)]?.length?(o(),p(R,{key:0},[d("div",At,[Mt,Ft,f(Oe,{icon:"i-carbon-edit",onClick:l[6]||(l[6]=a=>h("open-default-input"))}),zt]),f(ve,{modelValue:e(g)[e(S)],"onUpdate:modelValue":l[7]||(l[7]=a=>e(g)[e(S)]=a),disabled:"",p0:""},null,8,["modelValue"])],64)):D("",!0)]),_:1},8,["modelValue"])]),_:1}),e(S)==="snippet"?(o(),p("div",Ht,[e(me).length?(o(),C(Pe,{key:0,"code-snippets":e(me)},null,8,["code-snippets"])):D("",!0)])):e(K)?(o(),p("div",Gt,[e(S)==="body"?(o(),p(R,{key:0},[d("div",Wt,[(o(),p(R,null,A(oe,a=>d("button",{key:a,px4:"",py2:"",border:"r base",hover:"bg-active",class:E({"border-b":a!==e(z)}),onClick:Q=>z.value=a},[d("div",{class:E({op30:a!==e(z)}),"font-mono":""},j(a),3)],10,Jt)),64)),Kt]),e(z)==="input"?(o(),C(e(w),{key:0})):e(z)==="json"?(o(),C(e(pt),et({key:1,modelValue:e($),"onUpdate:modelValue":l[9]||(l[9]=a=>te($)?$.value=a:null),class:[[s.$colorMode.value==="dark"?"jse-theme-dark":"light"],"json-editor-vue of-auto text-sm outline-none"]},s.$attrs,{mode:"text","navigation-bar":!1,indentation:2,"tab-size":2}),null,16,["modelValue","class"])):D("",!0)],64)):(o(),C(e(w),{key:1}))])):D("",!0),e(U)?e(i)?(o(),C(qe,{key:5,"z-10":"","flex-auto":"","backdrop-blur":""},{default:k(()=>[F(" Fetching... ")]),_:1})):(o(),p(R,{key:6},[d("div",Qt,[Xt,e(t).error?(o(),C(ue,{key:0,"bg-red-400:10":"","text-red-400":""},{default:k(()=>[F(" Error ")]),_:1})):D("",!0),f(ue,{class:E({"bg-orange-400:10 text-orange-400":e(t).error,"bg-green-400:10 text-green-400":!e(t).error})},{default:k(()=>[F(j(e(t).statusCode),1)]),_:1},8,["class"]),e(t).contentType?(o(),p("code",Yt,j(e(t).contentType),1)):D("",!0),e(t).contentType==="application/json"?(o(),C(Be,{key:2,getter:()=>({input:e(u)})},null,8,["getter"])):D("",!0),Zt,eo,f(ue,{"bg-green-400:10":"","text-green-400":""},{default:k(()=>[F(j(e(t).fetchTime)+" ms ",1)]),_:1})]),e(y)==="pdf"?(o(),p("div",to,[d("div",oo,[d("object",{data:e(u),type:"application/pdf","flex-auto":"",width:"100%",height:"100%",rounded:""},null,8,no)])])):e(y)!=="media"?(o(),C(Ae,{key:1,"flex-auto":"","overflow-auto":"","py-2":"",code:e(u),lang:e(y)},null,8,["code","lang"])):(o(),p("div",so,[d("div",lo,[e(t).contentType.includes("image")?(o(),p("img",{key:0,rounded:"",src:e(u)},null,8,ao)):(o(),p("video",ro,[d("source",{src:e(u),type:"video/mp4"},null,8,io)]))])]))],64)):(o(),C(Le,{key:4},{default:k(()=>[f(b,{n:"primary",onClick:fe},{default:k(()=>[f(P,{icon:"carbon:send"}),F(" Send request ")]),_:1})]),_:1}))])}}}),co={flex:"~ gap1","text-sm":""},po={key:0,op50:""},fo={op50:""},mo=d("span",{op75:""},"Select a route to start",-1),vo=d("div",{p4:"",border:"b base"},[d("span",{"text-lg":""},"Default Inputs"),d("br"),d("span",{"text-white":"",op50:""},"Merged as default for every request in DevTools")],-1),Uo=re({__name:"server-routes",setup(r){const h=L(!1),m=ot(),n=be(),{selectedRoute:w,view:_,inputDefaults:t}=Ve("serverRoutes"),y=V(()=>{!n.value&&w.value&&(n.value=w.value.filepath);const v=m.value?.find(c=>c.filepath===n.value);return n.value!==w.value?.filepath&&v&&(w.value=v),v}),u=L(""),i=V(()=>new nt(m.value||[],{keys:["method","route"],shouldSort:!0})),U=V(()=>m.value?u.value?i.value.search(u.value).map(c=>c.item):m.value:[]),W=V(()=>{const v=[],c=(x,$)=>{x.routes=x.routes||[],x.routes.push($)};return U.value.forEach(x=>{const $=x.filepath.split("/"),g=$.slice($.indexOf("server")+1);g.length>0&&g[g.length-1].includes(".")&&g.pop();let O=null;if(g.forEach(q=>{const B=O?O.routes?.find(S=>S.route===q):v.find(S=>S.route===q);if(B)O=B;else{const S={route:q,filepath:q.replace(/\W/g,"-").toLowerCase(),type:"collection",routes:[]};O?c(O,S):v.push(S),O=S}}),x.type==="runtime"){const q=v.find(B=>B.route==="runtime");if(q)c(q,x);else{const B={route:"runtime",filepath:"runtime",type:"collection",routes:[x]};v.push(B)}}else O?c(O,x):v.push(x)}),v});function M(){_.value=_.value==="tree"?"list":"tree"}function H(v){return v.charAt(0).toUpperCase()+v.slice(1)}return(v,c)=>{const x=we,$=rt,g=Ue,O=uo,q=at,B=$e,S=st,oe=Ie,z=ft,K=mt,X=xe("tooltip");return o(),p(R,null,[f(S,{"storage-key":"tab-server-routes"},{left:k(()=>[f($,{search:e(u),"onUpdate:search":c[1]||(c[1]=T=>te(u)?u.value=T:null),pb2:""},{actions:k(()=>[ae(f(x,{"text-lg":"",icon:e(_)==="list"?"i-carbon-list":"i-carbon-tree-view-alt",title:"Toggle view",onClick:M},null,8,["icon"]),[[X,"Toggle View"]]),ae(f(x,{"text-lg":"",icon:"i-carbon-cics-sit-overrides",title:"Default Inputs",onClick:c[0]||(c[0]=T=>h.value=!e(h))},null,512),[[X,"Default Inputs"]])]),default:k(()=>[d("div",co,[e(u)?(o(),p("span",po,j(e(U).length)+" matched · ",1)):D("",!0),d("span",fo,j(e(m)?.length)+" routes in total",1)])]),_:1},8,["search"]),(o(!0),p(R,null,A(e(_)==="tree"?e(W):e(U),T=>(o(),C(g,{key:T.filepath,item:T},null,8,["item"]))),128))]),right:k(()=>[(o(),C(lt,{max:10},[e(y)?(o(),C(O,{key:e(y).filepath,route:e(y),onOpenDefaultInput:c[2]||(c[2]=T=>h.value=!0)},null,8,["route"])):D("",!0)],1024)),e(y)?D("",!0):(o(),C(B,{key:0},{default:k(()=>[f(q,{px6:"",py2:""},{default:k(()=>[mo]),_:1})]),_:1}))]),_:1}),f(K,{modelValue:e(h),"onUpdate:modelValue":c[3]||(c[3]=T=>te(h)?h.value=T:null),"auto-close":"","max-w-xl":"","min-w-xl":"",onClose:c[4]||(c[4]=T=>h.value=!1)},{default:k(()=>[d("div",null,[vo,(o(!0),p(R,null,A(Object.keys(e(t)),T=>(o(),C(z,{key:T,text:`${H(T)} ${e(t)[T].length?`(${e(t)[T].length})`:""}`,padding:!1,icon:("ServerRouteTabIcons"in v?v.ServerRouteTabIcons:e(Re))[T]},{default:k(()=>[f(oe,{modelValue:e(t)[T],"onUpdate:modelValue":Y=>e(t)[T]=Y,py0:"",default:{type:"string"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["text","icon"]))),128))])]),_:1},8,["modelValue"])],64)}}});export{Uo as default};
@@ -1 +0,0 @@
1
- import{_ as K}from"./NIconTitle.vue.b6d28480.js";import{_ as Q}from"./NSwitch.vue.21018268.js";import{d as W,ar as X,bB as Y,aA as Z,aw as j,m as r,i as o,k as e,F as _,n as S,f as t,j as a,al as ee,o as c,h as A,t as h,G as F,p as M,v as O,l as p,B as z,ak as le,bw as ne,_ as oe,E as te,bC as ae}from"./entry.54b63325.js";import{_ as se}from"./NSelect.vue.e3495019.js";import{_ as ie}from"./NCheckbox.vue.fcd1d971.js";const ue={px8:"",py6:""},de={grid:"~ md:cols-2 gap-x-10 gap-y-3","max-w-300":""},ce={flex:"~ col gap-2"},re=e("h3",{"text-lg":""}," Tabs ",-1),pe={flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":""},me={capitalize:"",op75:""},_e=e("div",{"mx--1":"",my1:"","h-1px":"",border:"b base",op75:""},null,-1),fe=e("div",{"flex-auto":""},null,-1),ve={flex:"~ col gap-2"},ge=e("h3",{"text-lg":""}," Appearance ",-1),xe=e("div",{"i-carbon-sun":"","dark:i-carbon-moon":"","translate-y--1px":""},null,-1),he=e("div",{"mx--2":"",my1:"","h-1px":"",border:"b base",op75:""},null,-1),be=e("p",null,"UI Scale",-1),ye=["value"],ke=e("div",{"mx--2":"",my1:"","h-1px":"",border:"b base",op75:""},null,-1),Ve=e("span",null," Expand Sidebar ",-1),Ce=e("span",null," Scrollable Sidebar ",-1),Te=e("h3",{mt2:"","text-lg":""}," Features ",-1),we=e("span",null,"Close DevTools when clicking outside",-1),Se=e("span",null,"Show help buttons",-1),Ne=e("div",{"mx--2":"",my1:"","h-1px":"",border:"b base",op75:""},null,-1),Ue=e("p",null,"Minimize floating panel on inactive",-1),$e=["value"],Be=e("h3",{mt2:"","text-lg":""}," Feedback ",-1),Ie=e("span",null,"Send anonymous statistics, help us improving DevTools",-1),Oe=e("div",{"mx--2":"",my1:"","h-1px":"",border:"b base",op75:""},null,-1),ze={flex:"~ gap-2"},De=e("div",{"i-carbon-data-enrichment":""},null,-1),Ee=e("div",{"i-carbon-debug":""},null,-1),He=W({__name:"settings",setup(je){const{interactionCloseOnOutsideClick:b,showHelpButtons:N,scale:U,hiddenTabs:f,pinnedTabs:i,hiddenTabCategories:v,minimizePanelInactive:y,sidebarExpanded:k,sidebarScrollable:$}=le(),V=X(),P=[["Tiny",12/15],["Small",14/15],["Normal",1],["Large",16/15],["Huge",18/15]],L=[["Always",0],["1s",1e3],["2s",2e3],["5s",5e3],["10s",1e4],["Never",-1]],H=Y(Z());function R(u,n){n?f.value=f.value.filter(d=>d!==u):f.value.push(u)}function G(u,n){n?v.value=v.value.filter(d=>d!==u):v.value.push(u)}function q(u){i.value.includes(u)?i.value=i.value.filter(n=>n!==u):i.value.push(u)}function D(u,n){const d=i.value.indexOf(u);if(d===-1)return;const m=d+n;if(m<0||m>=i.value.length)return;const g=[...i.value];g.splice(d,1),g.splice(m,0,u),i.value=g}return j(()=>{V.value&&(V.value.app.frameState.value.closeOnOutsideClick=b.value)}),j(()=>{V.value&&(V.value.app.frameState.value.minimizePanelInactive=y.value)}),(u,n)=>{const d=K,m=Q,g=ne,B=oe,C=ee,I=te,J=ae,E=se,x=ie;return c(),r("div",ue,[o(d,{class:"mb-5 text-xl op75",icon:"i-carbon-settings-adjust",text:"DevTools Settings"}),e("div",de,[e("div",ce,[re,(c(!0),r(_,null,S(t(H),([l,T])=>(c(),r(_,{key:l},[T.length?(c(),A(C,{key:0,p3:"",flex:"~ col gap-1",class:F(t(v).includes(l)?"op50 grayscale":"")},{default:a(()=>[o(m,{flex:"~ row-reverse",py1:"",pl2:"",pr1:"","n-lime":"","model-value":!t(v).includes(l),"onUpdate:modelValue":s=>G(l,s)},{default:a(()=>[e("div",pe,[e("span",me,h(l),1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),_e,(c(!0),r(_,null,S(T,s=>(c(),A(m,{key:s.name,flex:"~ row-reverse",py1:"",pl2:"",pr1:"","n-primary":"","model-value":!t(f).includes(s.name),"onUpdate:modelValue":w=>R(s.name,w)},{default:a(()=>[e("div",{flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":"","pr-4":"",class:F(t(f).includes(s.name)?"op25":"")},[o(g,{"text-xl":"",icon:s.icon,title:s.title},null,8,["icon","title"]),e("span",null,h(s.title),1),fe,t(i).includes(s.name)?(c(),r(_,{key:0},[o(B,{icon:"i-carbon-caret-up",disabled:t(i).indexOf(s.name)===0,onClick:w=>D(s.name,-1)},null,8,["disabled","onClick"]),o(B,{icon:"i-carbon-caret-down",disabled:t(i).indexOf(s.name)===t(i).length-1,onClick:w=>D(s.name,1)},null,8,["disabled","onClick"])],64)):M("",!0),o(B,{icon:t(i).includes(s.name)?" i-carbon-pin-filled rotate--45":" i-carbon-pin op50",onClick:w=>q(s.name)},null,8,["icon","onClick"])],2)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128))]),_:2},1032,["class"])):M("",!0)],64))),128))]),e("div",ve,[ge,o(C,{p4:"",flex:"~ col gap-2"},{default:a(()=>[e("div",null,[o(J,null,{default:a(({toggle:l,isDark:T})=>[o(I,{n:"primary",onClick:l},{default:a(()=>[xe,O(" "+h(T.value?"Dark":"Light"),1)]),_:2},1032,["onClick"])]),_:1})]),he,be,o(E,{modelValue:t(U),"onUpdate:modelValue":n[0]||(n[0]=l=>p(U)?U.value=l:null),n:"primary"},{default:a(()=>[(c(),r(_,null,S(P,l=>e("option",{key:l[0],value:l[1]},h(l[0]),9,ye)),64))]),_:1},8,["modelValue"]),ke,o(x,{modelValue:t(k),"onUpdate:modelValue":n[1]||(n[1]=l=>p(k)?k.value=l:null),"n-primary":""},{default:a(()=>[Ve]),_:1},8,["modelValue"]),o(x,{modelValue:t($),"onUpdate:modelValue":n[2]||(n[2]=l=>p($)?$.value=l:null),disabled:t(k),"n-primary":""},{default:a(()=>[Ce]),_:1},8,["modelValue","disabled"])]),_:1}),Te,o(C,{p4:"",flex:"~ col gap-2"},{default:a(()=>[o(x,{modelValue:t(b),"onUpdate:modelValue":n[3]||(n[3]=l=>p(b)?b.value=l:null),"n-primary":""},{default:a(()=>[we]),_:1},8,["modelValue"]),o(x,{modelValue:t(N),"onUpdate:modelValue":n[4]||(n[4]=l=>p(N)?N.value=l:null),"n-primary":""},{default:a(()=>[Se]),_:1},8,["modelValue"]),Ne,Ue,o(E,{modelValue:t(y),"onUpdate:modelValue":n[5]||(n[5]=l=>p(y)?y.value=l:null),modelModifiers:{number:!0},n:"primary"},{default:a(()=>[(c(),r(_,null,S(L,l=>e("option",{key:l[0],value:l[1]},h(l[0]),9,$e)),64))]),_:1},8,["modelValue"])]),_:1}),Be,o(C,{p4:"",flex:"~ col gap-2"},{default:a(()=>[o(x,{modelValue:t(z),"onUpdate:modelValue":n[6]||(n[6]=l=>p(z)?z.value=l:null),"n-primary":""},{default:a(()=>[Ie]),_:1},8,["modelValue"]),Oe,e("div",ze,[o(I,{n:"blue",to:"https://github.com/nuxt/devtools/discussions/29",target:"_blank"},{default:a(()=>[De,O(" Ideas & Suggestions ")]),_:1}),o(I,{n:"orange",to:"https://github.com/nuxt/devtools/issues",target:"_blank"},{default:a(()=>[Ee,O(" Bug Reports ")]),_:1})])]),_:1})])])])}}});export{He as default};
@@ -1 +0,0 @@
1
- import{_ as E}from"./Badge.15b76164.js";import{_ as F}from"./NCodeBlock.vue.84865d5b.js";import{_ as L}from"./NCheckbox.vue.fcd1d971.js";import{_ as W}from"./NTip.vue.d193bf96.js";import{d as A,O as G,b4 as O,r as V,b5 as Q,M as q,Q as z,o as m,m as v,a6 as H,f as t,t as $,p as w,F as M,i as s,h as J,j as u,k as h,l as B,v as p,E as K,W as X,b6 as Y,a8 as Z,a as ee,ao as te,ap as ae,b7 as se,b3 as ne}from"./entry.54b63325.js";const oe={key:0},le={p4:"",flex:"~ col gap-1"},re={class:"text-lg font-medium leading-6"},ue=h("p",{op50:""}," The following command will be executed in your terminal: ",-1),ie={flex:"~ gap-3",mt2:"","justify-end":""},ge=A({__name:"NpmVersionCheck",props:{packageName:{},options:{},showVersion:{type:Boolean,default:!0}},setup(l){const a=l,e=G(),{info:n,update:i,state:y,processId:k,restart:c}=O(a.packageName,a.options),f=V(!0),_=V(!0),U=Q(),x=q(),R=z();async function b(){const r=await i(async o=>x.start(o));r&&_.value&&U.value.push({id:r,message:`${a.packageName} has been updated. Do you want to restart the Nuxt server now?`}),r&&f.value&&(R.value=r,e.push("/modules/terminals"))}return(r,o)=>{const C=E,S=F,N=L,T=W,P=K,j=X;return m(),v(M,null,[H(r.$slots,"default",{id:t(k),info:t(n),update:b,state:t(y),restart:t(c)},()=>[t(n)&&r.showVersion?(m(),v("code",oe,$(`v${t(n).current}`),1)):w("",!0),t(n)?.latest?(m(),v(M,{key:1},[t(n).needsUpdate?(m(),v("button",{key:0,onClick:o[0]||(o[0]=g=>b())},[s(C,{"bg-green-400:10":"","text-green-400":"",title:"updates available",textContent:"updates available"})])):(m(),J(C,{key:1,"bg-gray-400:10":"","text-gray-400":"",title:"latest",textContent:"latest"}))],64)):w("",!0)]),s(t(x),null,{default:u(({resolve:g,args:I})=>[s(j,{"model-value":!0,onClose:d=>g(!1)},{default:u(()=>[h("div",le,[h("h3",re," Update "+$(a.packageName)+"? ",1),ue,s(S,{code:I[0],lang:"bash",my3:"",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),s(N,{modelValue:t(f),"onUpdate:modelValue":o[1]||(o[1]=d=>B(f)?f.value=d:null),n:"primary"},{default:u(()=>[p(" Navigate to terminal ")]),_:1},8,["modelValue"]),s(N,{modelValue:t(_),"onUpdate:modelValue":o[2]||(o[2]=d=>B(_)?_.value=d:null),n:"primary"},{default:u(()=>[p(" Restart Nuxt server after update ")]),_:1},8,["modelValue"]),h("div",ie,[s(T,{n:"sm purple","flex-auto":"",icon:"carbon-chemistry"},{default:u(()=>[p(" Experimental feature. Please make sure to backup your project first. ")]),_:1}),s(P,{onClick:d=>g(!1)},{default:u(()=>[p(" Cancel ")]),_:2},1032,["onClick"]),s(P,{n:"solid primary",onClick:d=>g(!0)},{default:u(()=>[p(" Update ")]),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)}}}),D=["pages","meta","components","imports","nuxt-config-schema","@nuxt/devtools","@nuxt/telemetry"];function de(){return ne("getModulesList",async()=>(await $fetch("https://cdn.jsdelivr.net/npm/@nuxt/modules@latest/modules.json")).filter(a=>!D.includes(a.npm)&&a.compatibility.nuxt.includes("^3")))}function ve(){return Y("installed-modules",()=>{const l=Z(),a=de();return ee(()=>(l.value?._installedModules||[]).map(e=>{if(!e.entryPath)return;const n=e.entryPath&&te(e.entryPath),i=e.meta?.name?e.meta?.name:e.entryPath?n?ae(e.entryPath):l.value?.rootDir?se(e.entryPath,l.value?.rootDir).path:void 0:void 0,y=l.value?.modules?.includes(i),k=a.value?.find(c=>c.npm===i)||a.value?.find(c=>c.name===i);return{name:i,isPackageModule:n,isUninstallable:y,info:k,...e}}).filter(e=>e&&(!e.name||!D.includes(e.name))))})}export{ge as _,de as a,ve as u};
@@ -1 +0,0 @@
1
- import{_ as O}from"./NCodeBlock.vue.84865d5b.js";import{d as B,bl as N,e as R,aw as D,o as n,m as a,k as c,F as f,n as V,G as _,f as s,t as $,i as m,j as b,v,h as E,p as i,E as F,r as k,K as r,bm as h,bn as y}from"./entry.54b63325.js";const T={key:0,relative:"","n-code-block":""},W={flex:"~ wrap","w-full":""},j=["onClick"],z=c("div",{border:"b base","flex-auto":""},null,-1),G={flex:"~ gap-2",px3:"",pb3:"",n:"sm primary"},J=B({__name:"CodeSnippets",props:{codeSnippets:{}},setup(o){const p=o,e=N(p.codeSnippets[0]),w=R();return D(()=>{p.codeSnippets.includes(e.value)||(e.value=p.codeSnippets[0])}),(l,d)=>{const x=O,u=F;return l.codeSnippets.length?(n(),a("div",T,[c("div",W,[(n(!0),a(f,null,V(l.codeSnippets,(t,S)=>(n(),a("button",{key:S,px4:"",py2:"",border:"r base",hover:"bg-active",class:_(t===s(e)?"":"border-b"),onClick:A=>e.value=t},[c("div",{class:_(t===s(e)?"":"op30"),"font-mono":""},$(t.name),3)],10,j))),128)),z]),s(e)?(n(),a(f,{key:0},[m(x,{code:s(e).code,lang:s(e).lang,lines:!1,"w-full":"","of-auto":"",p3:""},null,8,["code","lang"]),c("div",G,[m(u,{icon:"carbon-copy",onClick:d[0]||(d[0]=t=>s(w)(s(e).code))},{default:b(()=>[v(" Copy ")]),_:1}),s(e)?.docs?(n(),E(u,{key:0,to:s(e).docs,target:"_blank",icon:"carbon-catalog"},{default:b(()=>[v(" Docs ")]),_:1},8,["to"])):i("",!0)])],64)):i("",!0)])):i("",!0)}}}),g=k(await r.getOptions("assets")),K=h(g);y(g,async o=>{r.updateOptions("assets",o)},{deep:!0,flush:"post",debounce:500,maxWait:1e3});const C=k(await r.getOptions("serverRoutes")),L=h(C);y(C,async o=>{r.updateOptions("serverRoutes",o)},{deep:!0,flush:"post",debounce:500,maxWait:1e3});const q={serverRoutes:L,assets:K};function M(o){return q[o]}export{J as _,M as u};
@@ -1 +0,0 @@
1
- import{d as G,O as ae,r as j,P as E,bp as R,ax as oe,w as se,aw as le,X as re,a as ue,K as f,L as k,f as t,o as l,h as _,j as u,k as r,i as d,l as U,m as i,F as w,n as D,t as b,G as T,ab as A,v as c,p as F,aq as ie,I as ce,b8 as de,ac as pe,bq as _e,br as z,_ as me,V as fe,a1 as ve,E as ye,al as ge,A as he,S as ke,aC as be}from"./entry.54b63325.js";import{_ as xe}from"./NSelect.vue.e3495019.js";import{_ as we}from"./NLink.vue.e0a3a39a.js";import{_ as Ce}from"./FilepathItem.vue.7bd675c6.js";import{U as Ke}from"./json-editor-vue.ce96762e.js";const Se={class:"h-[48px] flex items-center justify-between gap1 px-3"},Ve={class:"w-full text-sm"},$e=["value"],Ie=["onClick"],Ne=r("div",{"x-divider":""},null,-1),je={key:0,"h-full":"","of-hidden":"",flex:"~ col"},Ue={border:"b base",class:"h-[49px] flex flex-none items-center justify-between px-4 text-sm"},De={class:"flex items-center gap-4"},Ae={key:1},Le=["onKeyup"],qe=r("br",null,null,-1),Be={key:0,op50:""},Me={key:1},Pe=r("code",null,"nitro.storage",-1),Ee=r("br",null,null,-1),Re={"font-bold":""},Te=r("br",null,null,-1),Fe={"text-sm":""},ze=r("br",null,null,-1),Ge=G({__name:"StorageDetails",async setup(O){let p,g;const C=_e(),h=ae(),x=j(""),v=j(""),s=E("storage:current",""),e=j(),y=E("storage:file:state",""),{data:K}=([p,g]=R(()=>z("storageMounts",()=>f.getStorageMounts())),p=await p,g(),p),{data:S,refresh:L}=([p,g]=R(async()=>z("storageKeys",async()=>s.value?await f.getStorageKeys(s.value):[])),p=await p,g(),p),W=C.hook("storage:key:update",async(n,a)=>{if(!(!s.value||n.split(":")[0]!==s.value)&&(await L(),y.value===n)){if(a==="remove")return h.replace({query:{storage:s.value}});await $(y.value)}});oe(W),se(s,()=>{L(),y.value=""}),le(async()=>{if(!y.value){e.value=null;return}$(y.value)}),re("keydown",n=>{n.key==="s"&&(n.ctrlKey||n.metaKey)&&(I(),n.preventDefault())});function V(n){return n.replace(`${s.value}:`,"")}const X=ue(()=>S.value?S.value.filter(n=>n.includes(x.value)):[]);async function $(n){const a=await f.getStorageItem(await k(),n);e.value={key:n,updatedKey:V(n),editingKey:!1,content:a,updatedContent:a}}async function H(){if(!v.value||!s.value)return;const n=`${s.value}:${v.value}`;S.value?.includes(n)||await f.setStorageItem(await k(),n,""),h.replace({query:{storage:s.value,key:n}}),v.value=""}async function I(){e.value&&(await f.setStorageItem(await k(),e.value.key,e.value.updatedContent),await $(e.value.key))}async function J(){!e.value||!s.value||(await f.removeStorageItem(await k(),e.value.key),e.value=null)}async function Q(){if(!e.value||!s.value)return;const n=`${s.value}:${e.value.updatedKey}`,a=await k();await f.setStorageItem(a,n,e.value.updatedContent),await f.removeStorageItem(a,e.value.key),h.replace({query:{storage:s.value,key:n}})}return(n,a)=>{const Y=me,Z=xe,N=fe,ee=ve,q=ye,B=we,M=ge,P=he,te=ke,ne=Ce;return t(s)?(l(),_(te,{key:0,"storage-key":"tab-storage"},{left:u(()=>[r("div",Se,[d(Y,{icon:"carbon-chevron-left","ml--1":"",onClick:a[0]||(a[0]=o=>s.value="")}),r("div",Ve,[d(Z,{modelValue:t(s),"onUpdate:modelValue":a[1]||(a[1]=o=>U(s)?s.value=o:null),n:"primary",icon:"carbon-data-base"},{default:u(()=>[(l(!0),i(w,null,D(t(K),(o,m)=>(l(),i("option",{key:m,value:m},b(m),9,$e))),128))]),_:1},8,["modelValue"])])]),d(N,{modelValue:t(x),"onUpdate:modelValue":a[2]||(a[2]=o=>U(x)?x.value=o:null),icon:"carbon-search",placeholder:"Search...",n:"primary sm",border:"y x-none base! rounded-0",class:"w-full py2 ring-0!"},null,8,["modelValue"]),(l(!0),i(w,null,D(t(X),o=>(l(),i(w,{key:o},[r("button",{block:"","w-full":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:T(o===t(e)?.key?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:m=>y.value=o},b(V(o)),11,Ie),Ne],64))),128)),d(N,{modelValue:t(v),"onUpdate:modelValue":a[3]||(a[3]=o=>U(v)?v.value=o:null),icon:"carbon-add",placeholder:"key",n:"sm",border:"t-none x-none base! rounded-0",class:"w-full py2 font-mono ring-0!",onKeyup:A(H,["enter"])},null,8,["modelValue","onKeyup"])]),right:u(()=>[t(e)?.key?(l(),i("div",je,[r("div",Ue,[r("div",De,[t(e).editingKey?(l(),_(N,{key:0,modelValue:t(e).updatedKey,"onUpdate:modelValue":a[4]||(a[4]=o=>t(e).updatedKey=o),onKeyup:A(Q,["enter"])},null,8,["modelValue","onKeyup"])):(l(),i("code",Ae,[c(b(V(t(e).key))+" ",1),d(ee,{icon:"carbon-edit",class:"cursor-pointer op50 hover:op100",onClick:a[5]||(a[5]=o=>t(e).editingKey=!0)})])),t(e).editingKey?F("",!0):(l(),_(q,{key:2,n:"green xs",disabled:t(e).content===t(e).updatedContent,class:T({"border-green":t(e).content!==t(e).updatedContent}),onClick:I},{default:u(()=>[c(" Save ")]),_:1},8,["disabled","class"]))]),r("div",null,[d(q,{n:"red xs",onClick:J},{default:u(()=>[c(" Delete ")]),_:1})])]),typeof t(e).content=="object"?(l(),_(t(Ke),ie({key:0,modelValue:t(e).updatedContent,"onUpdate:modelValue":a[6]||(a[6]=o=>t(e).updatedContent=o),class:[[n.$colorMode.value==="dark"?"jse-theme-dark":"light"],"json-editor-vue h-full of-auto text-sm outline-none"]},n.$attrs,{mode:"text","navigation-bar":!1,indentation:2,"tab-size":2}),null,16,["modelValue","class"])):ce((l(),i("textarea",{key:1,"onUpdate:modelValue":a[7]||(a[7]=o=>t(e).updatedContent=o),placeholder:"Item value...",class:"h-full of-auto p-4 text-sm font-mono outline-none",onKeyup:A(de(I,["ctrl"]),["enter"])},null,40,Le)),[[pe,t(e).updatedContent]])])):(l(),_(P,{key:1},{default:u(()=>[d(M,{px6:"",py4:""},{default:u(()=>[c(" Select one key to start."),qe,c("Learn more about "),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[c(" Nitro storage ")]),_:1})]),_:1})]),_:1}))]),_:1})):(l(),_(P,{key:1},{default:u(()=>[Object.keys(t(K)).length?(l(),i("p",Be," Select one storage to start: ")):(l(),i("p",Me,[c(" No custom storage defined in "),Pe,c("."),Ee,c(" Learn more about "),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[c(" Nitro storage ")]),_:1})])),(l(!0),i(w,null,D(t(K),(o,m)=>(l(),_(M,{key:m,"min-w-80":"","cursor-pointer":"","p-4":"","text-left":"",hover:"border-green",onClick:Oe=>s.value=m},{default:u(()=>[r("span",Re,b(m),1),Te,r("span",Fe,b(o.driver)+" driver",1),ze,o.base?(l(),_(ne,{key:0,"text-xs":"",filepath:o.base},null,8,["filepath"])):F("",!0)]),_:2},1032,["onClick"]))),128))]),_:1}))}}}),Ye=G({__name:"storage",setup(O){return(p,g)=>{const C=Ge,h=be;return l(),_(h,null,{default:u(()=>[d(C)]),_:1})}}});export{Ye as default};
@@ -1,29 +0,0 @@
1
- import{d as C,a as S,aD as L,o,m as r,k as t,a4 as N,f as a,t as _,a9 as j,F as y,n as E,h as v,r as D,w as Y,av as K,X as M,bt as X,p as b,i as m,G as z,q as Q,e as Z,am as G,j as h,aq as P,v as T,E as O,a8 as H,aF as ee,aQ as se,a6 as te,aP as oe,_ as J,ar as ne,aV as ae,bu as le,M as ie,a7 as re,A as ce,K as R,W as pe}from"./entry.54b63325.js";import{_ as W}from"./DurationDisplay.vue.8da73fd3.js";import{_ as q}from"./Badge.15b76164.js";import{_ as de}from"./ComposableItem.vue.e263b9a9.js";import{U as ue}from"./json-editor-vue.ce96762e.js";import{_ as me}from"./FilepathItem.vue.7bd675c6.js";import{_ as ke}from"./LaunchPage.vue.f8df9e2a.js";import{_ as _e}from"./NLink.vue.e0a3a39a.js";import{_ as fe}from"./CodeDiff.vue.0e58df1f.js";import{_ as he}from"./HelpFab.vue.f082102a.js";import"./NMarkdown.vue.d2063d22.js";import"./client.d926285a.js";import"./constants.4e5eba24.js";import"./NCodeBlock.vue.84865d5b.js";const ye=C({__name:"TimelineItemFunction",props:{item:{}},setup(f){const p=f,c=S(()=>L(p.item.name,50,60,"_op_")),e=S(()=>c.value.replace(/_op_/,"1")),n=S(()=>L(p.item.name,50,40)),l=S(()=>c.value.replace(/_op_/,"0.2"));return(d,s)=>(o(),r("button",{class:"group",style:N({color:a(e),borderLeft:`2px solid ${a(e)}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[t("div",{style:N({backgroundColor:a(l)}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),t("div",{style:N({color:a(n),"--c":a(e)}),border:"r-2 t-2 y-2 transparent","min-w-max":"",px1:"","text-left":"","group-hover":"border-$c"},_(d.item.name),5)],4))}}),ve={relative:"","h-full":""},be={absolute:"","left-2":"","top-2.3em":"","text-xs":"",op50:""},ge=C({__name:"TimelineSegment",props:{segment:{}},emits:["select"],setup(f,{emit:p}){const c=f,e=j(()=>c.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,l)=>{const d=ye;return o(),r("div",ve,[t("button",{absolute:"","left-0":"","right-0":"","top-0":"","bg-green:5":"",px2:"",py1:"","text-left":"","text-xs":"","font-mono":"","text-green6":"",onClick:l[0]||(l[0]=s=>n.segment.route?p("select",n.segment.route):void 0)},_(n.segment.route?.event.to),1),t("div",be,_(a(e))+" ago ",1),t("div",null,[(o(!0),r(y,null,E(n.segment.functions,(s,i)=>(o(),v(d,{key:i,item:s.event,style:N({position:"absolute",minWidth:`${s.relativeWidth*100}%`,maxWidth:`${s.relativeWidth*100}%`,top:`${4+s.layer*1.6}em`,left:`${s.relativeStart*100}%`}),onClick:u=>p("select",s)},null,8,["item","style","onClick"]))),128))])])}}}),$e=3e3,xe=50;function Ae(f){const p=[];let c={start:0,end:0,events:[],functions:[],duration:0};for(const e of f){const n=e.end||e.start;(e.start-c.end>$e||e.type==="route")&&(c={start:e.start,end:n,events:[],functions:[],duration:0},p.push(c)),c.events.push(e),c.end=n+xe}return p.forEach((e,n)=>{const l=e.end-e.start,d=[];e.duration=l,e.previousGap=n>0?e.start-p[n-1].end:0,e.events.forEach(s=>{const i=s.end||s.start;let u=0;s.type!=="route"&&(u=d.findIndex($=>$<=s.start),u===-1?(u=d.length,d.push(i+1e3)):d[u]=i+1e3);const g={event:s,segment:e,relativeStart:(s.start-e.start)/l,relativeWidth:(i-s.start)/l,layer:u};s.type==="function"?e.functions.push(g):e.route=g})}),p}const De={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=C({__name:"TimelineTable",props:{data:{}},emits:["select"],setup(f,{emit:p}){const c=f,e=D(),n=D(),l=D(),d=D(),s=D(!0),i=D(1.5),u=S(()=>Ae(c.data.events)),g=S(()=>(c.data.events.length,e.value?.scrollWidth||window.innerWidth));function $(){d.value&&(d.value.style.width=`${g.value}px`)}function I(){s.value&&e.value&&(e.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}),l.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}))}return Y(()=>c.data.events.length,async()=>{await K(),$(),I()},{flush:"post"}),M(e,"scroll",()=>{l.value.scrollLeft!==e.value.scrollLeft&&($(),l.value.scrollLeft=e.value.scrollLeft,s.value=e.value.scrollLeft>=e.value.scrollWidth-e.value.clientWidth)}),M(l,"scroll",()=>{l.value.scrollLeft!==e.value.scrollLeft&&($(),e.value.scrollLeft=l.value.scrollLeft)}),M(e,"wheel",x=>{x.altKey?(i.value=X(i.value+x.deltaY/200,.5,3),$()):e.value.scrollLeft+=x.deltaY}),(x,F)=>{const A=W,B=ge;return o(),r(y,null,[t("div",De,[t("div",{ref_key:"minimap",ref:n,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(o(!0),r(y,null,E(a(u),(k,V)=>(o(),r("div",{key:V,relative:"","h-full":"","flex-inline":"",style:N({width:`${Math.max(100,k.duration/10)/a(g)*100}%`})},[(o(!0),r(y,null,E(k.functions,(w,U)=>(o(),r("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 x?x.getHashColorFromString:a(L))(w.event.name,50,60)})},null,4))),128)),k.route?(o(),r("div",{key:0,absolute:"","top-0":"","h-full":"","w-px":"","border-l":"","border-green6":"",op10:"",style:N({left:`${k.route.relativeStart*100}%`})},null,4)):b("",!0)],4))),128))],512),t("div",{ref_key:"minimapScroller",ref:l,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[t("div",{ref_key:"minimapScrollerInner",ref:d,"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),r(y,null,E(a(u),(k,V)=>(o(),r(y,{key:V},[k.previousGap&&k.previousGap>=200?(o(),r("div",Ce,[m(A,{op50:"",duration:k.previousGap,color:!1},null,8,["duration"])])):b("",!0),m(B,{"flex-inline":"","of-x-hidden":"","hover:of-x-visible":"","bg-base":"",class:z(V===a(u).length-1?"border-r border-base":""),segment:k,style:N({width:`${Math.max(50,k.duration/10)*a(i)}px`}),onSelect:F[0]||(F[0]=w=>p("select",w))},null,8,["class","segment","style"])],64))),128))],512)],64)}}});const we=Q(Be,[["__scopeId","data-v-a2c475c0"]]),Te={border:"t base",flex:"~ col","h-full":"","of-y-auto":"","text-sm":""},Se=["onClick"],Ne=t("div",{"i-carbon-function":"",op50:""},null,-1),Fe={flex:"~","font-mono":""},Ee=t("div",{op30:""}," ( ",-1),Ie={key:0,mr2:"",op30:""},Ve={op75:""},Le=t("div",{op30:""}," ) ",-1),We=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),Me={flex:"~ col items-start"},je={"text-xs":"","font-mono":"",op30:""},ze={"font-bold":"","font-mono":"","text-green":""},Oe=t("div",{"flex-auto":""},null,-1),Re=t("div",{"min-h-100":""},null,-1),Ge=C({__name:"TimelineList",props:{data:{}},emits:["select"],setup(f,{emit:p}){return(c,e)=>{const n=W;return o(),r("div",Te,[(o(!0),r(y,null,E(c.data.events,(l,d)=>(o(),r("button",{key:d,border:"b base",px3:"",py2:"",flex:"~ items-center gap-2",hover:"bg-active",onClick:s=>p("select",l)},[l.type==="function"?(o(),r(y,{key:0},[Ne,t("div",{"font-mono":"",style:N({color:l.type==="function"?("getHashColorFromString"in c?c.getHashColorFromString:a(L))(l.name,50,60):""})},_(l.name),5),t("div",Fe,[Ee,(o(!0),r(y,null,E(l.args,(s,i)=>(o(),r(y,{key:i},[d?(o(),r("div",Ie," , ")):b("",!0),t("div",Ve,_(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)),Le])],64)):(o(),r(y,{key:1},[We,t("div",Me,[t("div",je,_(l.from),1),t("div",ze,_(l.to),1)])],64)),Oe,l.end?(o(),v(n,{key:2,duration:l.end-l.start,color:l.type==="function"},null,8,["duration","color"])):b("",!0)],8,Se))),128)),Re])}}}),Pe={key:0,"text-blue":""},He={key:1,"text-purple":""},Je={key:2,"text-green":""},qe={key:3,"text-gray":""},Ue={key:4,"text-gray":""},Ye={key:5,"text-gray":""},Ke={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},Xe={key:1},Qe={p2:"","text-sm":"",border:"t base"},Ze=C({__name:"TimelineArgumentView",props:{value:{}},setup(f){const p=f,c=D(),e=D();function n(){try{c.value=JSON.parse(JSON.stringify(p.value))}catch(s){console.error(s),e.value=s}}const l=C({emits:["setup"],setup(s,{emit:i}){return i("setup"),()=>null}}),d=Z();return(s,i)=>{const u=O,g=G("VMenu");return typeof s.value=="string"?(o(),r("div",Pe,_(JSON.stringify(s.value)),1)):typeof s.value=="number"?(o(),r("div",He,_(s.value),1)):typeof s.value=="boolean"?(o(),r("div",Je,_(s.value),1)):typeof s.value>"u"?(o(),r("div",qe," undefined ")):typeof s.value=="function"?(o(),r("div",Ue," [Function"+_(s.value.name?`: ${s.value.name}`:"")+"] ",1)):s.value===null?(o(),r("div",Ye," null ")):(o(),v(g,{key:6,placement:"top"},{popper:h(()=>[m(a(l),{onSetup:n}),a(e)?(o(),r("div",Ke," Failed to display object: "+_(a(e)),1)):a(c)?(o(),r("div",Xe,[m(a(ue),P({"model-value":a(c)},s.$attrs,{class:["json-editor-vue",[s.$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"]),t("div",Qe,[m(u,{title:"Copy to clipboard",icon:"carbon-copy",onClick:i[0]||(i[0]=$=>a(d)(JSON.stringify(a(c),null,2)))},{default:h(()=>[T(" Copy ")]),_:1})])])):b("",!0)]),default:h(()=>[t("span",{"rounded-sm":"",px1:"","py0.5":"","text-sm":"",class:z([Array.isArray(s.value)?"text-amber bg-amber:10":"text-orange bg-orange:10"])},_(Array.isArray(s.value)?`[Array(${s.value.length})]`:"[Object]"),3)]),_:1}))}}}),es={key:0,"p-4":"",flex:"~ col gap-2","text-base":""},ss={"mx--1":""},ts={flex:"~ gap-1","font-mono":""},os={key:1},ns=t("span",{ml1:"",op30:""},"(",-1),as={key:0,op30:""},ls=t("span",{op30:""},")",-1),is={flex:"~ gap-1","text-sm":""},rs=t("span",{mx1:"",op50:""},"·",-1),cs={class:"text-sm text-gray-400"},ps={key:0,class:"text-xs text-gray-400",mt2:"",grid:"~ cols-[max-content_1fr] gap-x-4","font-mono":""},ds={"text-right":""},us={"ws-nowrap":""},ms=C({__name:"TimelineDetailsFunction",props:{record:{}},setup(f){const p=f,c=H(),e=j(()=>p.record.start,{showSecond:!0});function n(i){let u=new URL(i).pathname;return u.startsWith("/_nuxt/")&&(u=u.slice(6)),u.startsWith("/@id/virtual:nuxt:")?`#build/${u.split("/.nuxt/")[1]}`.replace(/\.m?js$/,""):u.includes("/@fs/")?`/${u.split("/@fs/")[1]}`:(c.value?.rootDir||"")+u}const l=ee(),d=S(()=>l.value?.metadata),s=S(()=>l.value?.imports.find(i=>i.as===p.record.name));return(i,u)=>{const g=q,$=de,I=Ze,x=W,F=me;return i.record?(o(),r("div",es,[t("div",ss,[m(g,{"bg-yellow-600:10":"","text-yellow-600":"",op75:""},{default:h(()=>[T(" Function call ")]),_:1})]),t("div",ts,[a(s)?(o(),v($,{key:0,item:a(s),metadata:a(d),counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(o(),r("span",os,_(i.record.name),1)),ns,(o(!0),r(y,null,E(i.record.args,(A,B)=>(o(),r(y,{key:B},[B?(o(),r("span",as,", ")):b("",!0),m(I,{value:A},null,8,["value"])],64))),128)),ls]),t("div",is,[i.record.end?(o(),v(x,{key:0,duration:i.record.end-i.record.start},null,8,["duration"])):b("",!0),rs,t("div",cs,_(a(e)),1)]),i.record.stacktrace?(o(),r("div",ps,[(o(!0),r(y,null,E(i.record.stacktrace,(A,B)=>(o(),r(y,{key:B},[t("div",ds,_(A.functionName||"(anonymous)"),1),t("div",us,[A.fileName?(o(),v(F,{key:0,filepath:`${n(A.fileName)}:${A.lineNumber}:${A.columnNumber}`,subpath:""},null,8,["filepath"])):b("",!0)])],64))),128))])):b("",!0)])):b("",!0)}}}),ks={key:0,"p-4":"",flex:"~ col gap-2"},_s={"mx--1":""},fs={flex:"~ gap-1 items-center","font-mono":""},hs={op50:""},ys=t("span",{"i-carbon-arrow-right":"",op50:""},null,-1),vs={flex:"~ gap-1","text-sm":""},bs=t("span",{mx1:"",op50:""},"·",-1),gs={class:"text-sm text-gray-400"},$s=C({__name:"TimelineDetailsRoute",props:{record:{}},setup(f){const p=f,c=j(()=>p.record.start,{showSecond:!0});return(e,n)=>{const l=q,d=W;return e.record?(o(),r("div",ks,[t("div",_s,[m(l,{"bg-green-400:10":"","text-green-400":"",op50:""},{default:h(()=>[T(" Route Change ")]),_:1})]),t("div",fs,[t("span",hs,_(e.record.from),1),ys,t("span",null,_(e.record.to),1)]),t("div",vs,[e.record.end?(o(),v(d,{key:0,duration:e.record.end-e.record.start},null,8,["duration"])):b("",!0),bs,t("div",gs,_(a(c)),1)])])):b("",!0)}}}),xs={relative:"","h-full":"","w-full":"","of-auto":""},As={inheritAttrs:!1},Ds=C({...As,__name:"DrawerBottom",props:{modelValue:{type:Boolean},navbar:{},autoClose:{type:Boolean}},emits:["close"],setup(f,{emit:p}){const c=f,e=D();se(e,()=>{c.modelValue&&c.autoClose&&p("close")},{ignore:["a","button","summary"]});const n=document.querySelector("#nuxt-devtools-side-nav")?.getBoundingClientRect().width;return(l,d)=>{const s=J;return o(),v(oe,{"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(()=>[l.modelValue?(o(),r("div",P({key:0,ref_key:"el",ref:e,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`}},l.$attrs),[m(s,{absolute:"","right-2":"","top-2":"","z-20":"","text-xl":"",icon:"carbon-close",onClick:d[0]||(d[0]=i=>l.$emit("close"))}),t("div",xs,[te(l.$slots,"default")])],16)):b("",!0)]),_:3})}}}),Cs={key:0,"h-screen":"","of-hidden":""},Bs={"h-screen":"","w-full":"",flex:"","flex-col":""},ws={"h-10":"",flex:"~ gap-2 items-center justify-end",p2:"",px3:""},Ts={"text-sm":""},Ss=t("div",{"flex-auto":""},null,-1),Ns={"min-h-50":"",px3:"",py2:""},Fs=C({__name:"TimelineView",setup(f){const p=ne(),c=D("table"),e=D(),n=S(()=>p.value?.metrics.clientTimeline());function l(){n.value&&(n.value.events=[])}function d(){c.value=c.value==="table"?"list":"table"}return(s,i)=>{const u=G("VTooltip"),g=O,$=J,I=we,x=Ge,F=ms,A=$s,B=Ds;return a(n)?(o(),r("div",Cs,[t("div",Bs,[t("div",ws,[m(u,{flex:""},{popper:h(()=>[t("div",Ts,_(a(n).options.enabled?"Recording...":"Paused"),1)]),default:h(()=>[t("div",{"text-lg":"",class:z(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?(o(),v(g,{key:1,size:"small",ml1:"","text-sm":"",n:"orange",icon:"i-carbon-stop",onClick:i[1]||(i[1]=k=>a(n).options.enabled=!1)},{default:h(()=>[T(" Stop Tracking ")]),_:1})):(o(),v(g,{key:0,size:"small",ml1:"","text-sm":"",n:"primary",icon:"i-carbon-play",onClick:i[0]||(i[0]=k=>a(n).options.enabled=!0)},{default:h(()=>[T(" Start Tracking ")]),_:1})),Ss,m($,{icon:a(c)==="table"?"i-carbon-roadmap":"i-carbon-list",class:"ml-2",title:"Toggle View",onClick:d},null,8,["icon"]),m($,{icon:"i-carbon-trash-can","hover-text-red":"",class:"ml-2",onClick:l})]),a(c)==="table"?(o(),v(I,{key:0,data:{...a(n)},onSelect:i[2]||(i[2]=k=>e.value=k.event)},null,8,["data"])):(o(),v(x,{key:1,data:{...a(n)},onSelect:i[3]||(i[3]=k=>e.value=k)},null,8,["data"]))]),m(B,{"model-value":!!a(e),"auto-close":"",onClose:i[4]||(i[4]=k=>e.value=void 0)},{default:h(()=>[t("div",Ns,[a(e)?.type==="function"?(o(),v(F,{key:0,record:a(e)},null,8,["record"])):a(e)?.type==="route"?(o(),v(A,{key:1,record:a(e)},null,8,["record"])):b("",!0)])]),_:1},8,["model-value"])])):b("",!0)}}}),Es={class:"markdown-body"},Is=t("h1",null,"Timeline",-1),Vs=t("p",null,[t("blockquote",{"text-orange":"","bg-orange:10":"",py1:""}," This is an experimental feature ")],-1),Ls=ae(`<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;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#imports</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;">&#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;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;">&#39;</span></span>
4
- <span class="line"></span>
5
- <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>
6
- <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>
7
- <span class="line"></span>
8
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;">// NOT tracked because it&#39;s directly imported</span></span>
9
- <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 style="color:#393A34;--shiki-dark:#DBD7CAEE;"> </span></span>
10
- <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>
11
- <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>
12
- <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>
13
- <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>
14
- <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>
15
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track \`useMouse\`</span></span>
16
- <span class="line"><span style="color:#B5695999;--shiki-dark:#C98A7D99;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useMouse</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
17
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions starting with \`use\`</span></span>
18
- <span class="line"><span style="color:#B5695999;--shiki-dark:#C98A7D99;"> /</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:#B5695999;--shiki-dark:#C98A7D99;">/</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
19
- <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions from @vueuse/core</span></span>
20
- <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:#B5695999;--shiki-dark:#C98A7D99;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
21
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ],</span></span>
22
- <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>
23
- <span class="line"><span style="color:#B5695999;--shiki-dark:#C98A7D99;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useRouter</span><span style="color:#B5695999;--shiki-dark:#C98A7D99;">&#39;</span></span>
24
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ]</span></span>
25
- <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</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></code></pre>`,6),Ws=[Is,Vs,Ls],Ms={__name:"timeline",setup(f,{expose:p}){return p({frontmatter:{}}),(e,n)=>(o(),r("div",Es,Ws))}},js={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},zs=t("h2",{"text-xl":""},[t("span",{capitalize:""},"Enable Timeline?")],-1),Os={op50:""},Rs=t("p",null,[t("span",{op50:""},"Then Nuxt will "),t("span",{"text-orange":""},"restart automatically"),T(". ")],-1),Gs={flex:"~ gap-3",mt2:"","justify-end":""},nt=C({__name:"timeline",setup(f){const p=le(),c=H(),e=ie(),n=re();async function l(){const[d,s]=await R.enableTimeline(!0);await e.start(d,s)&&await R.enableTimeline(!1)}return(d,s)=>{const i=Fs,u=ke,g=ce,$=_e,I=fe,x=O,F=pe,A=Ms,B=he;return o(),r(y,null,[a(p)?.timeline?.enabled?(o(),v(i,{key:0})):(o(),r(y,{key:1},[m(g,null,{default:h(()=>[m(u,{icon:"i-carbon-roadmap",title:"Timeline",description:"Timeline enables the inspection of when composable being executed and the route changes.",actions:[{label:"Enable"}],onAction:l})]),_:1}),m(a(e),null,{default:h(({resolve:k,args:V})=>[m(F,{"model-value":!0,onClose:w=>k(!1)},{default:h(()=>[t("div",js,[zs,t("p",Os,[T(" Your "),m($,{role:"button",n:"primary",onClick:s[0]||(s[0]=w=>a(n)(a(c)?._nuxtConfigFile)),textContent:"Nuxt config"}),T(" will be updated as: ")]),m(I,{from:V[0],to:V[1],"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),Rs,t("div",Gs,[m(x,{onClick:w=>k(!1)},{default:h(()=>[T(" Cancel ")]),_:2},1032,["onClick"]),m(x,{n:"solid primary",capitalize:"",onClick:w=>k(!0)},{default:h(()=>[T(" Enable ")]),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)),m(B,null,{default:h(()=>[m(A)]),_:1})],64)}}});export{nt as default};
@@ -1 +0,0 @@
1
- import{_ as N}from"./Navbar.vue.bacddf14.js";import{_ as B}from"./NCodeBlock.vue.84865d5b.js";import{o as c,m as _,k as s,d as S,r as v,by as j,bz as P,aw as R,a as p,ae as z,i as l,j as u,F as f,S as E,f as i,l as G,n as I,t as h,G as L,h as U,al as W,A}from"./entry.54b63325.js";import{_ as H}from"./HelpFab.vue.f082102a.js";import"./client.d926285a.js";const q={class:"markdown-body"},J=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=[J,K],O={__name:"virtual-files",setup(x,{expose:n}){return n({frontmatter:{}}),(d,a)=>(c(),_("div",q,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=j(),d=P(),a=v();R(()=>{if(!d.value)return;const e=`/_vfs.json/${encodeURIComponent(d.value)}`;fetch(e,{headers:{accept:"application/json"}}).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)):[]),k=p(()=>new z(m.value,{keys:["id","path"]})),b=p(()=>n.value?k.value.search(n.value).map(e=>e.item):m.value);return(e,t)=>{const g=N,$=B,C=W,F=A,w=E,V=O,D=H;return c(),_(f,null,[l(w,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(g,{search:i(n),"onUpdate:search":t[0]||(t[0]=r=>G(n)?n.value=r:null),"no-padding":"",p3:""},null,8,["search"]),(c(!0),_(f,null,I(i(b),r=>(c(),_(f,{key:r.id},[s("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:L(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(),U(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};