@nuxt/devtools 0.4.6 → 0.5.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 (129) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/analyze-build.mjs +25 -0
  3. package/dist/chunks/module-main.mjs +6172 -93
  4. package/dist/chunks/vite-inspect.mjs +7 -1
  5. package/dist/chunks/vscode.mjs +12 -5
  6. package/dist/chunks/vue-inspector.mjs +3 -2
  7. package/dist/client/200.html +2 -2
  8. package/dist/client/404.html +2 -2
  9. package/dist/client/__inspecting/index.html +2 -2
  10. package/dist/client/_nuxt/{Badge.21478015.js → Badge.c6f0948b.js} +1 -1
  11. package/dist/client/_nuxt/CodeSnippets.vue.c8638278.js +1 -0
  12. package/dist/client/_nuxt/DrawerRight.vue.f79970eb.js +1 -0
  13. package/dist/client/_nuxt/{DurationDisplay.vue.d28a01f2.js → DurationDisplay.vue.d1c8be7a.js} +1 -1
  14. package/dist/client/_nuxt/FilepathItem.vue.22e62c13.js +1 -0
  15. package/dist/client/_nuxt/HelpFab.vue.82dbe71b.js +1 -0
  16. package/dist/client/_nuxt/{LaunchPage.vue.e8117060.js → LaunchPage.vue.e9f10392.js} +1 -1
  17. package/dist/client/_nuxt/NCheckbox.vue.2dbb6d84.js +1 -0
  18. package/dist/client/_nuxt/NCodeBlock.vue.7df96def.js +2 -0
  19. package/dist/client/_nuxt/NIconButton.vue.61b6fdb9.js +1 -0
  20. package/dist/client/_nuxt/{NIconTitle.vue.636dd062.js → NIconTitle.vue.db04ddec.js} +1 -1
  21. package/dist/client/_nuxt/NLink.vue.cee1facb.js +1 -0
  22. package/dist/client/_nuxt/NMarkdown.vue.bfa53523.js +1 -0
  23. package/dist/client/_nuxt/{NPanelGrids.c52bd29c.js → NPanelGrids.f0b55b40.js} +1 -1
  24. package/dist/client/_nuxt/NSectionBlock.63c19da9.css +1 -0
  25. package/dist/client/_nuxt/NSectionBlock.b03d4f1a.js +1 -0
  26. package/dist/client/_nuxt/NSelect.vue.04879311.js +1 -0
  27. package/dist/client/_nuxt/NSwitch.vue.6de70289.js +1 -0
  28. package/dist/client/_nuxt/NTextInput.vue.3d7af8ee.js +1 -0
  29. package/dist/client/_nuxt/NTip.vue.d3e88526.js +1 -0
  30. package/dist/client/_nuxt/{Navbar.vue.e1117ac7.js → Navbar.vue.1175e5b5.js} +1 -1
  31. package/dist/client/_nuxt/NpmVersionCheck.vue.82d98ad9.js +1 -0
  32. package/dist/client/_nuxt/{PanelLeftRight.vue.8adf1a04.js → PanelLeftRight.vue.b6fba8cf.js} +1 -1
  33. package/dist/client/_nuxt/{StateEditor.vue.b3ad6a2d.js → StateEditor.vue.452c2a1e.js} +1 -1
  34. package/dist/client/_nuxt/{__inspecting.f21fc4ff.js → __inspecting.aa44686c.js} +1 -1
  35. package/dist/client/_nuxt/analyze-build.74e951ef.js +1 -0
  36. package/dist/client/_nuxt/assets.fbaf474a.js +16 -0
  37. package/dist/client/_nuxt/{client.44af506c.js → client.64d509dc.js} +1 -1
  38. package/dist/client/_nuxt/{components.0339ba8e.js → components.6ce21080.js} +31 -31
  39. package/dist/client/_nuxt/custom-_name_.1f84ba8c.js +1 -0
  40. package/dist/client/_nuxt/default.2d7cfbe4.js +1 -0
  41. package/dist/client/_nuxt/{editor.4c6382c7.js → editor.e9488ebd.js} +1 -1
  42. package/dist/client/_nuxt/entry.8297d1ff.js +19 -0
  43. package/dist/client/_nuxt/entry.f90d2a3f.css +1 -0
  44. package/dist/client/_nuxt/error-404.6fbc16df.js +1 -0
  45. package/dist/client/_nuxt/{error-500.d6e09b3d.js → error-500.6f213eb2.js} +1 -1
  46. package/dist/client/_nuxt/error-component.b12ab471.js +3 -0
  47. package/dist/client/_nuxt/{full.e43d885f.js → full.6c0706c9.js} +1 -1
  48. package/dist/client/_nuxt/{hooks.073b884c.js → hooks.10fe847b.js} +1 -1
  49. package/dist/client/_nuxt/imports.dccf485c.js +1 -0
  50. package/dist/client/_nuxt/index.bd18d84a.js +1 -0
  51. package/dist/client/_nuxt/{index.3e121f4a.js → index.e4ec7d02.js} +5 -5
  52. package/dist/client/_nuxt/{json-editor-vue.c66387bd.js → json-editor-vue.98769e76.js} +1 -1
  53. package/dist/client/_nuxt/{middleware.a8c2264e.js → middleware.4d606e29.js} +1 -1
  54. package/dist/client/_nuxt/modules.7f83fecd.js +4 -0
  55. package/dist/client/_nuxt/{none.dd2b9c08.js → none.685e4f52.js} +1 -1
  56. package/dist/client/_nuxt/open-graph.424b4348.js +3 -0
  57. package/dist/client/_nuxt/overview.13e4bf5e.js +1 -0
  58. package/dist/client/_nuxt/pages.5bc65ca2.js +1 -0
  59. package/dist/client/_nuxt/{payload.351fcd36.js → payload.ac68ce00.js} +1 -1
  60. package/dist/client/_nuxt/plugins.dc27cda6.js +1 -0
  61. package/dist/client/_nuxt/{runtime-configs.2908e02a.js → runtime-configs.34323c66.js} +1 -1
  62. package/dist/client/_nuxt/server-routes.669a8424.js +9 -0
  63. package/dist/client/_nuxt/settings.5a3586f3.js +1 -0
  64. package/dist/client/_nuxt/storage.edd17bdb.js +1 -0
  65. package/dist/client/_nuxt/{terminals.339eac8e.js → terminals.20082284.js} +1 -1
  66. package/dist/client/_nuxt/{unocss-runtime.6bcc481a.js → unocss-runtime.f33e0ffe.js} +1 -1
  67. package/dist/client/_nuxt/virtual-files.16d4138c.js +1 -0
  68. package/dist/client/index.html +2 -2
  69. package/dist/client/modules/analyze-build/index.html +7 -0
  70. package/dist/client/modules/assets/index.html +2 -2
  71. package/dist/client/modules/components/index.html +2 -2
  72. package/dist/client/modules/hooks/index.html +2 -2
  73. package/dist/client/modules/imports/index.html +2 -2
  74. package/dist/client/modules/middleware/index.html +2 -2
  75. package/dist/client/modules/modules/index.html +2 -2
  76. package/dist/client/modules/open-graph/index.html +2 -2
  77. package/dist/client/modules/overview/index.html +2 -2
  78. package/dist/client/modules/pages/index.html +2 -2
  79. package/dist/client/modules/payload/index.html +2 -2
  80. package/dist/client/modules/plugins/index.html +2 -2
  81. package/dist/client/modules/runtime-configs/index.html +2 -2
  82. package/dist/client/modules/server-routes/index.html +2 -2
  83. package/dist/client/modules/storage/index.html +2 -2
  84. package/dist/client/modules/terminals/index.html +2 -2
  85. package/dist/client/modules/virtual-files/index.html +2 -2
  86. package/dist/client/settings/index.html +2 -2
  87. package/dist/module.json +1 -1
  88. package/dist/module.mjs +1 -1
  89. package/dist/runtime/plugins/view/Container.vue +1 -1
  90. package/dist/runtime/plugins/view/Frame.vue +9 -4
  91. package/dist/runtime/plugins/view/state.d.ts +1 -2
  92. package/dist/runtime/plugins/view/state.mjs +2 -2
  93. package/dist/shared/{devtools.23768dcf.mjs → devtools.a2798b81.mjs} +2 -1
  94. package/dist/types.d.ts +14 -14
  95. package/package.json +29 -23
  96. package/dist/client/_nuxt/CodeSnippets.vue.cf956c68.js +0 -1
  97. package/dist/client/_nuxt/DrawerRight.vue.7d712780.js +0 -1
  98. package/dist/client/_nuxt/FilepathItem.vue.1374ae6e.js +0 -1
  99. package/dist/client/_nuxt/HelpFab.vue.8e13a60e.js +0 -1
  100. package/dist/client/_nuxt/NCheckbox.vue.002c643b.js +0 -1
  101. package/dist/client/_nuxt/NCodeBlock.vue.8fd682f9.js +0 -2
  102. package/dist/client/_nuxt/NIconButton.vue.61149d03.js +0 -1
  103. package/dist/client/_nuxt/NLink.vue.5e75761d.js +0 -1
  104. package/dist/client/_nuxt/NMarkdown.vue.8cf88cf5.js +0 -1
  105. package/dist/client/_nuxt/NSectionBlock.77e830ae.js +0 -1
  106. package/dist/client/_nuxt/NSectionBlock.83ecb54a.css +0 -1
  107. package/dist/client/_nuxt/NSelect.vue.90e01b18.js +0 -1
  108. package/dist/client/_nuxt/NSwitch.vue.1b0e3364.js +0 -1
  109. package/dist/client/_nuxt/NTextInput.vue.f5b2276f.js +0 -1
  110. package/dist/client/_nuxt/NpmVersionCheck.vue.80a75d57.js +0 -1
  111. package/dist/client/_nuxt/NuxtLogo.d17ca3c5.js +0 -1
  112. package/dist/client/_nuxt/assets.97af363e.js +0 -16
  113. package/dist/client/_nuxt/custom-_name_.aba84e7f.js +0 -1
  114. package/dist/client/_nuxt/default.d59c7459.js +0 -1
  115. package/dist/client/_nuxt/entry.079c020d.css +0 -1
  116. package/dist/client/_nuxt/entry.2a062301.js +0 -19
  117. package/dist/client/_nuxt/error-404.ce21871f.js +0 -1
  118. package/dist/client/_nuxt/error-component.bf406d2b.js +0 -3
  119. package/dist/client/_nuxt/imports.ba566562.js +0 -1
  120. package/dist/client/_nuxt/index.113a4cc6.js +0 -1
  121. package/dist/client/_nuxt/modules.b147b11c.js +0 -1
  122. package/dist/client/_nuxt/open-graph.cac96c16.js +0 -1
  123. package/dist/client/_nuxt/overview.848f0d2c.js +0 -1
  124. package/dist/client/_nuxt/pages.58612073.js +0 -1
  125. package/dist/client/_nuxt/plugins.14197f41.js +0 -1
  126. package/dist/client/_nuxt/server-routes.bf183192.js +0 -9
  127. package/dist/client/_nuxt/settings.59b94bec.js +0 -1
  128. package/dist/client/_nuxt/storage.76e0a760.js +0 -1
  129. package/dist/client/_nuxt/virtual-files.0b362e16.js +0 -1
@@ -1 +0,0 @@
1
- import{au as a,b0 as n,o as r,h as l,f as e,D as s,i as d,w as c,l as p,ai as f,aI as h,aJ as x}from"./entry.2a062301.js";const m=t=>(h("data-v-bf1556d5"),t=t(),x(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return n({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=a(S,[["__scopeId","data-v-bf1556d5"]]);export{z as default};
@@ -1,3 +0,0 @@
1
- import{o as l,c as m,n as E,g as f,u as s,d as n,_ as o}from"./entry.2a062301.js";const g={__name:"nuxt-error-page",props:{error:Object},setup(c){const{error:t}=c;(t.stack||"").split(`
2
- `).splice(1).map(e=>({text:e.replace("webpack:/","").replace(".vue",".js").trim(),internal:e.includes("node_modules")&&!e.includes(".cache")||e.includes("internal")||e.includes("new Promise")})).map(e=>`<span class="stack${e.internal?" internal":""}">${e.text}</span>`).join(`
3
- `);const r=Number(t.statusCode||500),a=r===404,u=t.statusMessage??(a?"Page Not Found":"Internal Server Error"),i=t.message||t.toString(),p=void 0,_=a?n(()=>o(()=>import("./error-404.ce21871f.js"),["./error-404.ce21871f.js","./entry.2a062301.js","./entry.079c020d.css","./error-404.2618a69f.css"],import.meta.url).then(e=>e.default||e)):n(()=>o(()=>import("./error-500.d6e09b3d.js"),["./error-500.d6e09b3d.js","./entry.2a062301.js","./entry.079c020d.css","./error-500.12a2683b.css"],import.meta.url).then(e=>e.default||e));return(e,d)=>(l(),m(s(_),E(f({statusCode:s(r),statusMessage:s(u),description:s(i),stack:s(p)})),null,16))}},x=g;export{x as default};
@@ -1 +0,0 @@
1
- import{_ as X}from"./NSwitch.vue.1b0e3364.js";import{_ as H}from"./Navbar.vue.e1117ac7.js";import{_ as T}from"./FilepathItem.vue.1374ae6e.js";import{_ as j}from"./NMarkdown.vue.8cf88cf5.js";import{a as C,z as v,T as P,o as e,c as h,w as f,f as r,q as b,i as _,u as t,l as M,h as l,F as w,D,p as S,s as q,k as G,ad as N,V as F,ae as L,G as K,r as U,U as O,K as V}from"./entry.2a062301.js";import{a as R,u as Y}from"./editor.4c6382c7.js";import{C as B,D as E}from"./constants.d7bcda3c.js";import{_ as J}from"./NSectionBlock.77e830ae.js";import{_ as Q}from"./HelpFab.vue.8e13a60e.js";import{F as W}from"./fuse.esm.88e2763d.js";import"./NTextInput.vue.f5b2276f.js";import"./client.44af506c.js";import"./NIconTitle.vue.636dd062.js";import"./NIconButton.vue.61149d03.js";const Z={"hover:text-primary":""},tt={key:0,"text-primary":""},et={"max-w-100":""},ot={px4:"",py3:"","text-sm":""},nt={flex:"~ gap2",n:"primary xs"},st={border:"t base","max-h-60":"","of-auto":"",px4:"",py3:""},at={"text-sm":""},rt=r("span",{op50:""},"It has been referenced ",-1),it={"text-primary":""},lt=r("span",{op50:""}," times by:",-1),mt={flex:"~ col gap-2","items-start":"",pt3:"","text-sm":""},ut={key:1,"text-sm":"",op50:""},pt=C({__name:"ComposableItem",props:{item:null,metadata:null,filepath:null},setup(u){const n=u,d=R(),i=Y(),p=v(()=>n.item.as||n.item.name),o=v(()=>n.metadata?.injectionUsage?.[p.value]?.count||0),y=v(()=>n.metadata?.injectionUsage?.[p.value]?.moduleIds||[]),I=v(()=>{if(n.item.meta?.docsUrl)return n.item.meta.docsUrl;if(["nuxt","#app","nuxt3"].includes(n.item.from))return B.nuxt[n.item.name];if(n.item.from==="vue")return B.vue[n.item.name]});return(m,s)=>{const c=j,x=G,$=T,g=P("VDropdown");return e(),h(g,{disabled:!n.metadata},{popper:f(()=>[r("div",et,[r("div",ot,[u.item.meta?.description?(e(),h(c,{key:0,tag:"div",pb3:"","text-sm":"",markdown:u.item.meta.description},null,8,["markdown"])):b("",!0),r("div",nt,[_(x,{icon:"carbon-copy",onClick:s[0]||(s[0]=a=>t(d)(t(p)))},{default:f(()=>[M(" Copy ")]),_:1}),u.filepath?(e(),h(x,{key:0,icon:"carbon-code",onClick:s[1]||(s[1]=a=>u.filepath&&t(i)(u.filepath))},{default:f(()=>[M(" Source ")]),_:1})):b("",!0),t(I)?(e(),h(x,{key:1,icon:"carbon-catalog",to:t(I),target:"_blank"},{default:f(()=>[M(" Docs ")]),_:1},8,["to"])):b("",!0)])]),r("div",st,[t(o)?(e(),l(w,{key:0},[r("div",at,[rt,r("strong",it,D(t(o)),1),lt]),r("div",mt,[(e(!0),l(w,null,S(t(y),a=>(e(),h($,{key:a,filepath:a},null,8,["filepath"]))),128))])],64)):(e(),l("div",ut," Not in use via auto import. "))])])]),default:f(()=>[r("button",Z,[r("code",{rounded:"","bg-gray:5":"",px2:"",py1:"","font-mono":"","text-sm":"",class:q(u.metadata&&!t(o)?"op30 hover:op100":"")},[M(D(t(p))+" ",1),t(o)?(e(),l("sup",tt,"x"+D(t(o)),1)):b("",!0)],2)])]),_:1},8,["disabled"])}}}),ct={flex:"~ wrap gap2",p2:"",pl4:""},dt=C({__name:"ComposableTree",props:{map:null,root:null,metadata:null},setup(u){return(n,d)=>{const i=T,p=pt;return e(),l("div",null,[(e(!0),l(w,null,S(u.map.entries(),([o,y])=>(e(),l("div",{key:o},[_(i,{filepath:o,op50:"","hover:underline":""},null,8,["filepath"]),r("div",ct,[(e(!0),l(w,null,S(y,I=>(e(),h(p,{key:I.as,item:I,metadata:u.metadata,filepath:o.match(/^[\w@]/)?void 0:o},null,8,["item","metadata","filepath"]))),128))])]))),128))])}}}),_t={key:0,flex:"~ col gap-2 items-start"},ft=C({__name:"HelpImportsDirs",setup(u){const n=N();return(d,i)=>{const p=T;return t(n)?.dirs?(e(),l("div",_t,[(e(!0),l(w,null,S(t(n).dirs,o=>(e(),h(p,{key:o,filepath:o,"text-primary":""},null,8,["filepath"]))),128))])):b("",!0)}}}),ht={flex:"~ gap-2 wrap",mb6:""},bt=C({__name:"HelpImportsModules",setup(u){const n=N(),d=v(()=>[...new Set(n.value?.imports.map(i=>F(i.from)).filter(i=>!!i&&!L(i)))]);return(i,p)=>(e(),l("div",ht,[(e(!0),l(w,null,S(t(d),o=>(e(),l("code",{key:o,rounded:"","bg-primary:5":"",p:"x2 y0.5","text-primary":""},D(o),1))),128))]))}}),vt={class:"markdown-body"},yt=r("h1",null,"Auto imports",-1),xt=r("p",null,"Nuxt auto-imports helper functions, composables and Vue APIs to use across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own components, composables and plugins. Components, composables or plugins can use these functions.",-1),gt=r("hr",null,null,-1),It=r("p",null,"According to your config, exports of files under the following folders will be registed as auto-imports entry:",-1),$t=r("p",null,"Meanwhile, modules could also provide auto-imports for their own components. You have auto-imports from the following modules as well:",-1),kt=r("hr",null,null,-1),wt=r("p",null,[r("a",{href:"https://nuxt.com/docs/guide/concepts/auto-imports",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Mt={__name:"imports",setup(u,{expose:n}){return n({frontmatter:{}}),(i,p)=>{const o=ft,y=bt;return e(),l("div",vt,[yt,xt,gt,It,_(o),$t,_(y),kt,wt])}}},St={key:0,relative:"","h-full":"","of-auto":""},Ct={key:0},Pt=C({__name:"imports",setup(u){const n=K(),d=U(!1),i=U(""),p=N(),o=v(()=>p.value?.metadata),y=v(()=>p.value?.imports.filter(s=>s.as||s.name).sort((s,c)=>(s.as||s.name).localeCompare(c.as||c.name))||[]),I=v(()=>new W(y.value,{keys:["from","as","name"]})),m=v(()=>{const s=new Map,c=new Map,x=new Map;let $=i.value?I.value.search(i.value).map(a=>a.item):y.value;d.value&&o.value&&($=$.filter(a=>(a.as||a.name)in o.value.injectionUsage));const g={user:0,lib:0,builtin:0};return $.forEach(a=>{const k=O(a.from)?L(F(a.from))?x:c:s;k.has(a.from)||k.set(a.from,[]),k.get(a.from).push(a),g[k===s?"user":k===c?"lib":"builtin"]++}),{user:s,lib:c,builtin:x,count:g}});return(s,c)=>{const x=X,$=H,g=dt,a=J,k=Mt,z=Q;return e(),l(w,null,[t(n)?(e(),l("div",St,[_($,{search:t(i),"onUpdate:search":c[1]||(c[1]=A=>V(i)?i.value=A:null),pb2:""},{default:f(()=>[t(o)?(e(),l("div",Ct,[_(x,{modelValue:t(d),"onUpdate:modelValue":c[0]||(c[0]=A=>V(d)?d.value=A:null),n:"primary sm"},{default:f(()=>[M(" Show used only ")]),_:1},8,["modelValue"])])):b("",!0)]),_:1},8,["search"]),t(m).user.size?(e(),h(a,{key:0,open:t(m).count.user<=("DETAILS_MAX_ITEMS"in s?s.DETAILS_MAX_ITEMS:t(E)),icon:"carbon-function",text:"User composables",description:`${t(m).count.user} composables from ${t(m).user.size} modules`},{default:f(()=>[_(g,{map:t(m).user,root:t(n).rootDir,metadata:t(o)},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),t(m).builtin.size?(e(),h(a,{key:1,open:t(m).count.builtin<=("DETAILS_MAX_ITEMS"in s?s.DETAILS_MAX_ITEMS:t(E)),icon:"simple-icons-nuxtdotjs",text:"Built-in composables",description:`${t(m).count.builtin} composables`},{default:f(()=>[_(g,{map:t(m).builtin,root:t(n).rootDir,metadata:t(o)},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),t(m).lib.size?(e(),h(a,{key:2,open:t(m).count.lib<=("DETAILS_MAX_ITEMS"in s?s.DETAILS_MAX_ITEMS:t(E)),icon:"carbon-3d-mpr-toggle",text:"Composables from libraries",description:`${t(m).count.lib} composables from ${t(m).lib.size} packages`},{default:f(()=>[_(g,{map:t(m).lib,root:t(n).rootDir,metadata:t(o)},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0)])):b("",!0),_(z,null,{default:f(()=>[_(k)]),_:1})],64)}}});export{Pt as default};
@@ -1 +0,0 @@
1
- import{_ as r}from"./NuxtLogo.d17ca3c5.js";import{_ as c}from"./Badge.21478015.js";import{a as _,h as l,f as e,i as o,w as u,j as p,k as d,l as t,o as m}from"./entry.2a062301.js";const x={flex:"~ col gap4",mxa:"","h-screen":"","w-160":"","items-center":"","justify-center":"","text-center":""},f={flex:"~","items-center":"","justify-center":""},h=e("p",{my2:"","text-xl":"","font-bold":""}," 👋 Welcome trying the preview of Nuxt DevTools! ",-1),v=e("p",{"text-lg":""},[e("b",{"font-bold":""},"Nuxt DevTools"),t(" is a set of visual tools that help you to know your app/site better, and enhance your development experience with Nuxt. ")],-1),g=e("p",{"text-lg":""},[t(" Be aware that "),e("span",{rounded:"","bg-orange:10":"",px2:"","py0.5":"","font-bold":"","text-orange":""},"Nuxt DevTools is still in early preview"),t(", features might be incomplete and unstable. "),e("a",{href:"https://github.com/nuxt/devtools",target:"_blank","text-primary":"","hover-underline":""},"Create an issue or discussion"),t(" if you find any bugs or have any suggestions. Thank you and have fun! ")],-1),y=e("span",null,"Get Started",-1),T=_({__name:"index",setup(b){function n(){p.value=!1}return(w,N)=>{const s=r,a=c,i=d;return m(),l("div",x,[e("div",f,[o(s,{"h-16":""}),o(a,{"mr--15":"","mt--5":"","bg-green-400:10":"","text-green-400":"",title:"preview",textContent:"preview"})]),h,v,g,o(i,{to:"/modules/overview","mt-4":"",n:"xl primary",onClick:n},{default:u(()=>[y]),_:1})])}}});export{T as default};
@@ -1 +0,0 @@
1
- import{a as U,G as V,z as w,U as j,V as O,af as R,ag as z,ah as G,o,c as h,w as d,f as e,u as t,l as k,D as m,h as s,q as c,i as x,F as v,p as M,ai as H,ab as Y,r as F,a6 as J}from"./entry.2a062301.js";import{_ as K}from"./FilepathItem.vue.1374ae6e.js";import{_ as Q}from"./NpmVersionCheck.vue.80a75d57.js";import{u as W}from"./editor.4c6382c7.js";import{_ as X}from"./NSectionBlock.77e830ae.js";import{_ as Z}from"./HelpFab.vue.8e13a60e.js";import"./Badge.21478015.js";import"./NCodeBlock.vue.8fd682f9.js";import"./client.44af506c.js";import"./NCheckbox.vue.002c643b.js";import"./NIconTitle.vue.636dd062.js";import"./NIconButton.vue.61149d03.js";const tt={flex:"~ col gap2","flex-auto":"","of-hidden":"",px1:""},et={"of-hidden":"","text-ellipsis":"","ws-nowrap":"","text-lg":""},ot={key:2},nt={key:0,"line-clamp-2":"","mt--1":"","text-sm":"",op50:""},st=e("div",{"flex-auto":""},null,-1),at={key:1,flex:"~ gap-2",title:"Documentation"},it=e("span",{"i-carbon-link":"","text-lg":"",op50:""},null,-1),rt={key:2,flex:"~ gap-2"},lt=e("span",{"i-carbon-logo-github":"","text-lg":"",op50:""},null,-1),ct={key:3,flex:"~ gap-2",title:"Open on filesystem"},dt=e("span",{"i-carbon-folder-move-to":"","text-lg":"",op50:""},null,-1),ut=e("span",{"i-carbon-circle-dash":"","animate-spin":"","text-lg":"",op50:""},null,-1),mt=e("code",{"text-sm":"",op50:""},"Upgrading...",-1),pt={key:1,"mx--2":""},_t=["onClick"],ht=e("span",{"i-carbon-intent-request-active":"","text-lg":"","text-primary":""},null,-1),gt=e("code",{"text-xs":""},"Update installed, click to restart",-1),xt=[ht,gt],ft={key:2,"mx--2":""},yt=["onClick"],vt=e("span",{"i-carbon-intent-request-upgrade":"","text-lg":"",op50:""},null,-1),kt={op50:""},bt=e("div",{"i-carbon-arrow-right":"",op50:""},null,-1),wt={"text-green":""},Pt={key:3,flex:"~ gap-2","items-center":"",title:"NPM"},$t=e("span",{"i-carbon-cube":"","text-lg":"",op50:""},null,-1),Ct={"text-sm":"",op50:""},Mt={flex:"~ col"},Nt={key:0,"h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p4:""},Bt=["src","alt"],It=e("div",{"i-carbon-circle-dash":"",ma:"","text-4xl":"",op50:""},null,-1),Dt={key:1,flex:"~",mt2:"","flex-auto":"","items-end":"","justify-end":""},Ft=["src"],Ut=U({__name:"ModuleItem",props:{mod:null},async setup(g){let p,f;const a=g,_=V(),u=w(()=>a.mod.entryPath&&j(a.mod.entryPath)),i=w(()=>a.mod.meta?.name?a.mod.meta.name:a.mod.entryPath?u.value?O(a.mod.entryPath):_.value?.rootDir?R(a.mod.entryPath,_.value?.rootDir).path:"":""),N=([p,f]=z(()=>G()),p=await p,f(),p),n=w(()=>({name:i,...a.mod?.meta,...(N||[]).find?.(C=>C.npm===i.value||C.name===i.value)})),b="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",P="https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/",$="https://github.com/",r="https://www.npmjs.com/package/",E=W();return(C,B)=>{const y=H,q=K,L=Q,S=Y;return o(),h(S,{p4:"",flex:"~ gap2"},{default:d(()=>[e("div",tt,[e("div",et,[t(u)?(o(),h(y,{key:0,to:r+(t(n).npm||t(n).name),target:"_blank",hover:"underline text-primary"},{default:d(()=>[k(m(t(n).name),1)]),_:1},8,["to"])):g.mod.entryPath?(o(),s("button",{key:1,role:"button",hover:"underline text-primary",onClick:B[0]||(B[0]=l=>t(E)(g.mod.entryPath))},m(t(n).name),1)):(o(),s("span",ot,m(t(n).name),1))]),t(n).description?(o(),s("div",nt,m(t(n).description),1)):c("",!0),st,t(n).website?(o(),s("div",at,[it,x(y,{to:t(n).website,target:"_blank","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:d(()=>[k(m(t(n).website.replace(/^https?:\/\//,"")),1)]),_:1},8,["to"])])):c("",!0),t(n).github?(o(),s("div",rt,[lt,x(y,{to:t(n).github,target:"_blank","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:d(()=>[k(m(t(n).github.replace(/^https?:\/\/github.com\//,"")),1)]),_:1},8,["to"])])):c("",!0),g.mod.entryPath?(o(),s("div",ct,[dt,x(q,{filepath:g.mod.entryPath,"text-sm":"",op50:"",hover:"text-primary op100"},null,8,["filepath"])])):c("",!0),t(n).npm?(o(),h(L,{key:t(n).npm,"package-name":t(n).npm,options:{dev:!0}},{default:d(({info:l,update:T,state:I,id:D,restart:A})=>[I==="running"?(o(),h(y,{key:0,flex:"~ gap-2","animate-pulse":"","items-center":"",to:D?`/modules/terminals?id=${encodeURIComponent(D)}`:void 0},{default:d(()=>[ut,mt]),_:2},1032,["to"])):I==="updated"?(o(),s("div",pt,[e("button",{flex:"~ gap-2",hover:"bg-primary/20","items-center":"",rounded:"","bg-primary:10":"",px2:"","text-sm":"","text-primary":"",onClick:A},xt,8,_t)])):l?.needsUpdate?(o(),s("div",ft,[e("button",{flex:"~ gap-2",title:"Click to upgrade","items-center":"",rounded:"",px2:"","text-sm":"",hover:"bg-active",onClick:Ot=>T()},[vt,e("code",kt,"v"+m(l.current),1),bt,e("code",wt,"v"+m(l.latest),1)],8,yt)])):l?.latest?(o(),s("div",Pt,[$t,e("code",Ct,"v"+m(l.current),1)])):c("",!0)]),_:1},8,["package-name"])):c("",!0)]),e("div",Mt,[t(n).icon||t(u)?(o(),s("div",Nt,[t(n).icon?(o(),s("img",{key:0,src:b+t(n).icon,alt:t(i),ma:""},null,8,Bt)):c("",!0),It])):c("",!0),t(n).maintainers?.length?(o(),s("div",Dt,[(o(!0),s(v,null,M(t(n).maintainers,l=>(o(),h(y,{key:l.name,target:"_blank",to:$+l.github,title:l.name},{default:d(()=>[e("img",{src:P+l.github,"h-6":"","w-6":"","rounded-full":""},null,8,Ft)]),_:2},1032,["to","title"]))),128))])):c("",!0)])]),_:1})}}}),Vt={class:"markdown-body"},jt=e("h1",null,"Modules",-1),Et=e("p",null,[k("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 "),e("code",null,"nuxt.config"),k(".")],-1),qt=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/concepts/modules",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Lt=[jt,Et,qt],St={__name:"modules",setup(g,{expose:p}){return p({frontmatter:{}}),(a,_)=>(o(),s("div",Vt,Lt))}},Tt={"h-full":"","w-full":"","of-auto":""},At=e("div",{px4:""},[e("span",{op50:""},"Find more modules at "),e("a",{href:"https://nuxt.com/modules",target:"_blank",hover:"text-primary underline"},"nuxt.com/modules")],-1),ee=U({__name:"modules",setup(g){const p=["pages","meta","components","imports","nuxt-config-schema","@nuxt/devtools","@nuxt/telemetry"],f=V(),a=w(()=>f.value?._installedModules||[]),_=F([]),u=F([]);return J(()=>{_.value.length=0,u.value.length=0;for(const i of a.value)p.includes(i.meta?.name)||(i.entryPath&&j(i.entryPath)?_.value.push(i):u.value.push(i))}),(i,N)=>{const n=Ut,b=X,P=St,$=Z;return o(),s(v,null,[e("div",Tt,[x(b,{icon:"carbon-3d-mpr-toggle",text:"Installed Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${t(_).length}`},{footer:d(()=>[At]),default:d(()=>[(o(!0),s(v,null,M(t(_),r=>(o(),h(n,{key:r.meta?.name||r.entryPath,mod:r},null,8,["mod"]))),128))]),_:1},8,["description"]),t(u).length?(o(),h(b,{key:0,icon:"carbon-3d-mpr-toggle",text:"User Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${t(u).length}`},{default:d(()=>[(o(!0),s(v,null,M(t(u),r=>(o(),s(v,{key:r.meta?.name||r.entryPath},[r.meta?.name||r.entryPath?(o(),h(n,{key:0,mod:r},null,8,["mod"])):c("",!0)],64))),128))]),_:1},8,["description"])):c("",!0)]),x($,null,{default:d(()=>[x(P)]),_:1})],64)}}});export{ee as default};
@@ -1 +0,0 @@
1
- import{_ as X}from"./NTextInput.vue.f5b2276f.js";import{a as R,o as n,c as E,w as g,L as Z,h as s,q as $,n as ee,g as te,Y as oe,z as y,aj as ne,r as I,u as e,f as t,p as z,s as O,D as v,F as A,i as c,l as C,ab as G,k as ae,C as F,ak as se,al as re,E as ie,am as ce,an as le,ao as de,ap as q,a5 as pe,K as ue,aq as me,y as ge}from"./entry.2a062301.js";import{_ as he}from"./Navbar.vue.e1117ac7.js";import{_ as fe}from"./NLink.vue.5e75761d.js";import{_ as P}from"./NSectionBlock.77e830ae.js";import{_ as _e}from"./NCodeBlock.vue.8fd682f9.js";import{a as ve,u as D}from"./editor.4c6382c7.js";import{_ as be}from"./HelpFab.vue.8e13a60e.js";import"./NIconTitle.vue.636dd062.js";import"./client.44af506c.js";import"./NIconButton.vue.61149d03.js";const we={key:0,"i-carbon:arrow-up-right":"","translate-y--1":"","text-xs":"",op50:""},J=R({__name:"NTextExternalLink",props:{link:null},setup(r){return(a,i)=>(n(),E(oe(r.link?fe:"div"),ee(te(r.link?{href:r.link,target:"_blank",rel:"noopener noreferrer"}:{})),{default:g(()=>[Z(a.$slots,"default"),r.link?(n(),s("div",we)):$("",!0)]),_:3},16))}}),j=[{name:"title",suggestion:"required",default:{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",default:{meta:[{name:"description",content:"[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",default:{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",default:{htmlAttrs:{lang:"en"}},description:"The primary language of the page to help search engines and browsers understand the content."},{name:"og:title",suggestion:"recommended",default:{meta:[{property:"og:title",content:"[og:title]"}]},docs:"https://ogp.me/#metadata",description:"A title for the link preview used by social media platforms."},{name:"og:description",suggestion:"recommended",default:{meta:[{property:"og:description",content:"[og:description]"}]},docs:"https://ogp.me/#metadata",description:"A description for the link preview used by social media platforms."},{name:"og:image",suggestion:"recommended",default:{meta:[{property:"og:image",content:"[og:image]"}]},docs:"https://ogp.me/#metadata",description:"An image for the link preview used by social media platforms."},{name:"og:url",suggestion:"recommended",default:{meta:[{property:"og:url",content:"[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",default:{meta:[{name:"twitter:title",content:"[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",default:{meta:[{name:"twitter:description",content:"[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",default:{meta:[{name:"twitter:image",content:"[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",default:{meta:[{name:"twitter:card",content:"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."}],xe={flex:"~ wrap","mt--2":"","w-full":"","flex-none":""},ye=["onClick"],ke=t("div",{border:"b base","flex-auto":""},null,-1),$e={key:0,"x-divider":""},Te={key:1,"x-divider":""},Ce={flex:"~ gap-1 items-center",px4:"",py2:""},Ne=t("div",{"i-carbon-warning":"","text-orange":""},null,-1),Se={"w-full":"",p2:"",op75:""},Ae={key:1,m4:"",flex:"~ col gap-2"},Re={flex:"~ gap-1 wrap items-center"},Oe={key:1},Le={flex:"~ gap-2",n:"sm primary",absolute:"","right-2":"","top-2":""},Ee=R({__name:"OpenGraphMissingTabs",props:{tags:null,matchedRouteFilepath:null},setup(r){const a=r,i=y(()=>j.filter(u=>!a.tags?.some(b=>b.name===u.name))),p=y(()=>i.value.filter(u=>u.suggestion==="required")),o=y(()=>i.value.filter(u=>u.suggestion==="recommended")),l=y(()=>{let u={};return i.value.forEach(b=>{u=ne(u,b.default)}),u}),T=y(()=>`useHead(${JSON.stringify(l.value,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'")})`),w=ve(),h=D(),N=["Missing Tags","Code Snippet"],x=I(N[0]);return(u,b)=>{const L=J,B=G,f=ae,d=_e,_=P;return e(i).length?(n(),E(_,{key:0,text:"Missing Tags",description:`${e(i).length} missing tags (${e(p).length} required, ${e(o).length} recommended)`,icon:"carbon:warning-other","header-class":"text-orange op100! [[open]_&]:text-inherit",padding:!1},{default:g(()=>[t("div",xe,[(n(),s(A,null,z(N,(m,S)=>t("button",{key:S,px4:"",py2:"",border:"r t base",hover:"bg-active",class:O(m===e(x)?"":"border-b"),onClick:M=>x.value=m},[t("div",{class:O(m===e(x)?"":"op30"),capitalize:""},v(m),3)],10,ye)),64)),ke]),e(x)===N[0]?(n(),E(B,{key:0,grid:"~ cols-[max-content_1fr]",m4:"","items-center":"","justify-between":"","of-hidden":""},{default:g(()=>[(n(!0),s(A,null,z(e(i),(m,S)=>(n(),s(A,{key:S},[S?(n(),s("div",$e)):$("",!0),S?(n(),s("div",Te)):$("",!0),t("div",Ce,[Ne,c(L,{op50:"",link:m.docs,n:"orange"},{default:g(()=>[C(v(m.name),1)]),_:2},1032,["link"])]),t("div",Se,v(m.description),1)],64))),128))]),_:1})):(n(),s("div",Ae,[t("p",Re,[c(f,{icon:"carbon-copy",n:"xs","px-2":"",onClick:b[0]||(b[0]=m=>e(w)(e(T)))},{default:g(()=>[C(" Copy ")]),_:1}),C(" the following code snippet and paste it into your "),r.matchedRouteFilepath?(n(),E(f,{key:0,icon:"carbon-launch",n:"xs","px-2":"",onClick:b[1]||(b[1]=m=>e(h)(r.matchedRouteFilepath))},{default:g(()=>[C(" page component ")]),_:1})):(n(),s("span",Oe,"page component")),C(" to full fill the missing tags. ")]),c(B,{relative:"","n-code-block":""},{default:g(()=>[c(d,{code:e(T),lang:"ts",lines:!1,"w-full":"","of-auto":"",p3:""},null,8,["code"]),t("div",Le,[c(f,{icon:"carbon-copy",onClick:b[2]||(b[2]=m=>e(w)(e(T)))},{default:g(()=>[C(" Copy ")]),_:1})])]),_:1})]))]),_:1},8,["description"])):$("",!0)}}}),Ie={class:"max-w-[524px] min-w-[524px] cursor-pointer"},Be={class:"break-words border border-base px-[12px] py-[10px] antialiased"},ze={class:"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50"},Fe={class:"block h-[46px] max-h-[46px] border-separate select-none overflow-hidden break-words text-left",style:{"border-spacing":"0px"}},Me={class:"mt-[3px] truncate pt-[2px] text-[16px] font-semibold leading-[20px]"},Ve={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"}},qe=R({__name:"SocialFacebook",props:{card:null},setup(r){return(a,i)=>(n(),s("div",Ie,[t("div",{class:"h-[274px] border border-b-0 border-base bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${JSON.stringify(r.card.image)})`})},null,4),t("div",Be,[t("div",ze,v(r.card.url),1),t("div",Fe,[t("div",Me,v(r.card.title),1),t("div",Ve,v(r.card.description),1)])])]))}}),Ge={class:"break-words border-base p-[0.75em] antialiased",flex:"~ col justify-center gap-1"},Pe={class:"mt-[0.32333em] overflow-hidden truncate whitespace-nowrap text-[14px] leading-[18px] lowercase op50"},De={class:"m-0 truncate text-[14px] font-semibold leading-[19px]"},Je={class:"line-clamp-2 block select-none overflow-hidden break-words text-left text-[14px] leading-[18px] op50"},je=R({__name:"SocialTwitter",props:{tags:null},setup(r){const a=r,i=y(()=>({url:window.location.host,title:a.tags.find(o=>o.tag==="meta"&&o.name==="twitter:title")?.value||a.tags.find(o=>o.tag==="title")?.value,image:a.tags.find(o=>o.tag==="meta"&&o.name==="twitter:image")?.value,imageAlt:a.tags.find(o=>o.tag==="meta"&&o.name==="twitter:image:alt")?.value,description:a.tags.find(o=>o.tag==="meta"&&o.name==="twitter:description")?.value||a.tags.find(o=>o.tag==="meta"&&o.name==="description")?.value,favicon:a.tags.find(o=>o.tag==="link"&&o.name==="icon")?.value})),p=y(()=>i.value.image?a.tags.find(o=>o.tag==="meta"&&o.name==="twitter:card")?.value||"summary_large_image":"summary");return(o,l)=>(n(),s("div",{class:O(["max-w-[438px] min-w-[438px] cursor-pointer overflow-hidden border border-base rounded-[0.85714em] leading-[1.3em] -outline-offset-1",e(p)==="summary_large_image"?"":"flex"]),hover:"bg-[#88888805]"},[e(p)==="summary_large_image"?(n(),s("div",{key:0,class:"h-[220px] border-b border-base bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${JSON.stringify(e(i).image)})`})},null,4)):(n(),s("div",{key:1,class:"h-[122px] w-[122px] flex-none border-r border-base bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${JSON.stringify(e(i).image)})`})},null,4)),t("div",Ge,[t("div",Pe,v(e(i).url),1),t("div",De,v(e(i).title),1),t("div",Je,v(e(i).description),1)])],2))}}),Ue={class:"max-w-[520px] min-w-[520px] cursor-pointer overflow-hidden border border-base rounded-[2px] shadow-md"},He={class:"break-words p-[10px] antialiased"},Ke={class:"block h-auto max-h-[50px] border-separate select-none break-words text-left",style:{"border-spacing":"0px"}},Ye={class:"pb-[2px] text-[16px] font-semibold leading-[24px]"},We={class:"overflow-hidden truncate whitespace-nowrap text-xs font-normal uppercase op85"},Qe=R({__name:"SocialLinkedin",props:{card:null},setup(r){return(a,i)=>(n(),s("div",Ue,[t("div",{class:"h-[270px] border-b border-base bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${JSON.stringify(r.card.image)})`})},null,4),t("div",He,[t("div",Ke,[t("div",Ye,v(r.card.title),1),t("div",We,v(r.card.url),1)])])]))}}),Xe={"h-full":"","w-max":"",flex:"~ col"},Ze={flex:"~ wrap","w-full":"","flex-none":""},et=["onClick"],tt=t("div",{border:"b base","flex-auto":""},null,-1),ot={flex:"~ items-center justify-center","flex-auto":"",p4:""},nt={key:0},at={key:1},st={key:2},rt=R({__name:"SocialPreviewGroup",props:{tags:null},setup(r){const a=r,i=["twitter","facebook","linkedin"],p=I(i[0]),o=y(()=>({url:window.location.host,title:a.tags.find(l=>l.tag==="title")?.value,image:a.tags.find(l=>l.tag==="meta"&&l.name==="og:image")?.value,imageAlt:a.tags.find(l=>l.tag==="meta"&&l.name==="og:image:alt")?.value,description:a.tags.find(l=>l.tag==="meta"&&l.name==="og:description")?.value,favicon:a.tags.find(l=>l.tag==="link"&&l.name==="icon")?.value}));return(l,T)=>{const w=qe,h=je,N=Qe;return n(),s("div",Xe,[t("div",Ze,[(n(),s(A,null,z(i,(x,u)=>t("button",{key:u,px4:"",py2:"",border:"r base",hover:"bg-active",class:O(x===e(p)?"":"border-b"),onClick:b=>p.value=x},[t("div",{class:O(x===e(p)?"":"op30"),capitalize:""},v(x),3)],10,et)),64)),tt]),t("div",ot,[e(p)==="facebook"?(n(),s("div",nt,[c(w,{card:e(o)},null,8,["card"])])):e(p)==="twitter"?(n(),s("div",at,[c(h,{tags:r.tags},null,8,["tags"])])):e(p)==="linkedin"?(n(),s("div",st,[c(N,{card:e(o)},null,8,["card"])])):$("",!0)])])}}}),it={class:"markdown-body"},ct=se('<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),lt=[ct],dt={__name:"open-graph",setup(r,{expose:a}){return a({frontmatter:{}}),(p,o)=>(n(),s("div",it,lt))}},pt={flex:"~","h-full":"","w-full":"","of-hidden":""},ut={"h-full":"","flex-auto":"","of-auto":""},mt={"flex-none":"",flex:"~ gap4"},gt={flex:"~ col"},ht={key:0,"x-divider":""},ft={key:1,"x-divider":""},_t={mr2:"",px4:"",py2:""},At=R({__name:"open-graph",setup(r){const a=I(0),i=re(),p=ie(async()=>(a.value,(await i.value?.resolveTags()).map(d=>{const _=d.props||{};return d.tag==="htmlAttrs"&&_.lang?{tag:"html",name:"lang",value:_.lang}:_.charset?{tag:"meta",name:"charset",value:_.charset}:{tag:d.tag,name:_.property??_.name??_.rel??d.tag,value:_.content??_.href??d.textContent??JSON.stringify(_)}})),[]),o=I(!0);function l(){a.value+=1}const T=ce(),w=le(),h=I(""),N=de(),x=D();async function u(){h.value!==w.value.path&&T.value.push(h.value||"/")}const b=y(()=>h.value===w.value.path?[]:T.value.resolve(h.value||"/").matched),L=y(()=>{const f=N.value.find(d=>d.path===w.value?.matched?.[0]?.path);return f?.file||f?.meta?.file});function B(f){return j.find(d=>d.name===f.name)?.docs}return q(w).toBeTruthy().then(f=>{h.value=f.path}),q(T).toBeTruthy().then(f=>{f.afterEach(()=>{pe(()=>{h.value=w.value.path})})}),(f,d)=>{const _=X,m=ge,S=he,M=J,U=G,H=P,K=Ee,Y=rt,W=dt,Q=be;return n(),s(A,null,[t("div",pt,[t("div",ut,[c(S,null,{search:g(()=>[c(_,{modelValue:e(h),"onUpdate:modelValue":d[0]||(d[0]=k=>ue(h)?h.value=k:null),placeholder:"Route",icon:"carbon-direction-right-01 scale-y--100",n:"primary","flex-auto":"","font-mono":"",class:O(["px-5 py-2",e(w).path===e(h)?"":e(b).length?"text-green":"text-orange"]),onKeydown:me(u,["enter"])},null,8,["modelValue","class","onKeydown"])]),actions:g(()=>[t("div",mt,[e(L)?(n(),s("button",{key:0,title:"Open file in editor",onClick:d[1]||(d[1]=k=>e(x)(e(L)))},[c(m,{icon:"carbon:launch"})])):$("",!0),t("button",{title:"Refresh Data",onClick:l},[c(m,{icon:"carbon:reset"})]),t("button",{title:"Toggle Preview",onClick:d[2]||(d[2]=k=>o.value=!e(o))},[c(m,{icon:e(o)?"carbon:side-panel-open":"carbon:open-panel-right"},null,8,["icon"])])])]),_:1}),t("div",gt,[c(H,{text:"Tags",icon:"carbon:tag-group"},{default:g(()=>[c(U,{grid:"~ cols-[max-content_1fr]","items-center":"","justify-between":"","of-hidden":""},{default:g(()=>[(n(!0),s(A,null,z(e(p),(k,V)=>(n(),s(A,{key:V},[V?(n(),s("div",ht)):$("",!0),V?(n(),s("div",ft)):$("",!0),t("div",_t,[c(M,{op50:"",link:B(k),n:"primary"},{default:g(()=>[C(v(k.name),1)]),_:2},1032,["link"])]),c(M,{link:k.value.match(/^https?:\/\//)?k.value:void 0,"w-full":"",p2:"","font-mono":"",n:"primary"},{default:g(()=>[C(v(k.value),1)]),_:2},1032,["link"])],64))),128))]),_:1})]),_:1}),c(K,{tags:e(p),"matched-route-filepath":e(L)},null,8,["tags","matched-route-filepath"])])]),e(o)&&e(p)?.length?(n(),E(Y,{key:0,tags:e(p),border:"l base","w-540px":"","flex-none":""},null,8,["tags"])):$("",!0)]),c(Q,null,{default:g(()=>[c(W)]),_:1})],64)}}});export{At as default};
@@ -1 +0,0 @@
1
- import{_ as B}from"./NuxtLogo.d17ca3c5.js";import{_ as j}from"./Badge.21478015.js";import{_ as D,a as V}from"./NpmVersionCheck.vue.80a75d57.js";import{a as I,b as R,G as T,X as W,ad as $,ar as A,as as F,W as G,c as a,w as o,o as s,u as e,h as d,f as t,i,D as _,F as p,q as c,at as L,l as n,j as M,ai as O,k as P}from"./entry.2a062301.js";import{_ as q}from"./NPanelGrids.c52bd29c.js";import"./NCodeBlock.vue.8fd682f9.js";import"./client.44af506c.js";import"./NCheckbox.vue.002c643b.js";const E="0.4.6",H={key:0},U={key:1,flex:"~ col gap2",ma:"","h-full":"","max-w-300":"","w-full":"",p8:"",px20:""},X=t("div",{"flex-auto":""},null,-1),z={flex:"~ col","mt-20":"","items-center":""},J={flex:"~","mt--10":"","items-center":"","justify-center":""},K={mb6:"","mt--1":"","text-center":"","text-sm":"",flex:"~ gap-1"},Q=t("span",{op40:""}," Nuxt DevTools ",-1),Y={op40:""},Z={flex:"~ gap2 wrap"},tt={p4:"","theme-card-green":"",flex:"~ col auto"},et=t("div",{"logos-nuxt-icon":"","text-3xl":""},null,-1),ot=t("div",{"carbon-tree-view-alt":"","text-3xl":""},null,-1),nt=t("div",{"i-carbon-assembly-cluster":"","text-3xl":""},null,-1),st=t("div",{"carbon-function":"","text-3xl":""},null,-1),it=t("div",{"carbon-3d-mpr-toggle":"","text-3xl":""},null,-1),lt=t("div",{"carbon-plug":"","text-3xl":""},null,-1),at={flex:"~ col gap2"},ct={flex:"~ gap-6 wrap","mt-5":"","items-center":"","justify-center":""},rt=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),ut=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),_t=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),dt=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),pt=t("div",{"i-carbon-settings":""},null,-1),mt=t("div",{"flex-auto":""},null,-1),ht={flex:"~ gap-1","items-center":"","justify-center":"","text-sm":"",op40:""},xt=t("span",null,"+",-1),ft=t("span",null,"+",-1),gt=t("span",null,"+",-1),vt=t("span",null,"+",-1),Vt=I({__name:"overview",setup(bt){const f=R(),l=T(),g=W(),m=$(),v=A(),b=F(),k=G();function w(){M.value=!0,k.push("/")}return(h,kt)=>{const y=B,C=j,x=D,r=O,N=V,u=P,S=q;return s(),a(S,{"h-screen":"","w-full":"",flex:""},{default:o(()=>[e(l)?(s(),d("div",U,[X,t("div",z,[t("div",J,[i(y,{"h-18":""}),t("button",{"mr--16":"","mt--6":"",onClick:w},[i(C,{"bg-green-400:10":"","text-green-400":"",title:"preview",textContent:"preview"})])]),t("div",K,[Q,t("code",Y,"v"+_(e(E)),1),i(x,{"package-name":"@nuxt/devtools",options:{dev:!0},"show-version":!1})])]),t("div",Z,[t("div",tt,[et,i(x,{"package-name":"nuxt",options:{dev:!0}})]),e(l)?(s(),d(p,{key:0},[e(l)&&e(l).pages&&e(f)?(s(),a(r,{key:0,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/pages"},{default:o(()=>[ot,t("div",null,_(e(v).length)+" pages",1)]),_:1})):c("",!0),e(l)?(s(),a(r,{key:1,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/components"},{default:o(()=>[nt,t("div",null,_(e(g).length)+" components",1)]),_:1})):c("",!0),e(l)&&e(m)?(s(),a(r,{key:2,"min-w-40":"",p4:"","theme-card-yellow":"",flex:"~ col auto",to:"/modules/imports"},{default:o(()=>[st,t("div",null,_(e(m).imports.length)+" imports",1)]),_:1})):c("",!0),e(l)?(s(),a(r,{key:3,"min-w-40":"",p4:"","theme-card-purple":"",flex:"~ col auto",to:"/modules/modules"},{default:o(()=>[it,t("div",null,_(e(l)._installedModules.length)+" modules",1)]),_:1})):c("",!0),e(l)?(s(),a(r,{key:4,"min-w-40":"",p4:"","theme-card-teal":"",flex:"~ col auto",to:"/modules/plugins"},{default:o(()=>[lt,t("div",null,_(e(l).plugins.length)+" plugins",1)]),_:1})):c("",!0)],64)):c("",!0)]),t("div",at,[("showConnectionWarning"in h?h.showConnectionWarning:e(L))?(s(),a(N,{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",ct,[rt,ut,_t,dt,i(r,{to:"/settings",flex:"~ gap1","inline-block":"","items-center":"",op50:"","hover:op80":""},{default:o(()=>[pt,n(" Settings ")]),_:1})]),mt,t("div",ht,[n(" Press "),e(b)?(s(),d(p,{key:0},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" ⇧ Shift ")]),_:1}),xt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" ⌥ Option ")]),_:1}),ft,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" D ")]),_:1})],64)):(s(),d(p,{key:1},[i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" Shift ")]),_:1}),gt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" Alt ")]),_:1}),vt,i(u,{n:"xs",class:"px2"},{default:o(()=>[n(" D ")]),_:1})],64)),n(" to toggle DevTools ")])])):(s(),d("div",H," Loading... "))]),_:1})}}});export{Vt as default};
@@ -1 +0,0 @@
1
- import{_ as E}from"./NTextInput.vue.f5b2276f.js";import{_ as M}from"./Badge.21478015.js";import{a as I,r as S,z as R,aA as q,T as j,u as t,o,h as s,f as e,D as $,c as g,w as k,aB as W,F as h,p as B,q as v,i as p,l as P,s as L,k as G,aC as A,am as H,an as J,G as Q,O as X,ao as Y,ap as T,a5 as Z,K as ee,aq as te,x as oe}from"./entry.2a062301.js";import{_ as F}from"./FilepathItem.vue.1374ae6e.js";import{u as ne}from"./editor.4c6382c7.js";import{_ as ae}from"./NSectionBlock.77e830ae.js";import{_ as se}from"./LaunchPage.vue.e8117060.js";import{_ as re}from"./HelpFab.vue.8e13a60e.js";import"./NIconTitle.vue.636dd062.js";import"./NMarkdown.vue.8cf88cf5.js";import"./client.44af506c.js";import"./NPanelGrids.c52bd29c.js";import"./NIconButton.vue.61149d03.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:"","font-mono":"","text-sm":""},pe={key:1},me=I({__name:"RoutePathItem",props:{route:null},emits:["navigate"],setup(c,{emit:u}){const l=c,m=S([]),f=R(()=>{const n=q(l.route.path);return m.value=Array.from({length:n.length},()=>""),n}),y=R(()=>f.value.map((n,_)=>n[0]===":"?m.value[_]:n).join("").replace(/\/+/g,"/")),x=R(()=>l.route.path.includes(":"));function i(){u("navigate",y.value)}return(n,_)=>{const d=E,w=G,a=j("VDropdown");return t(x)?(o(),g(a,{key:1},{popper:k(({hide:r})=>[e("div",ie,[e("form",{flex:"~ col",onSubmit:W(()=>{i(),r()},["prevent"])},[t(x)?(o(),s(h,{key:0},[ce,e("div",de,[(o(!0),s(h,null,B(t(f),(b,C)=>(o(),s(h,{key:C},[b[0]===":"?(o(),g(d,{key:0,modelValue:t(m)[C],"onUpdate:modelValue":V=>t(m)[C]=V,"w-20":"","n-sm":"",placeholder:b.slice(1)},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(o(),s("span",pe,$(b),1))],64))),128))])],64)):v("",!0),p(w,{block:"",n:"primary"},{default:k(()=>[P(" Navigate ")]),_:1})],40,ue)])]),default:k(()=>[e("code",le,[(o(!0),s(h,null,B(t(f),(r,b)=>(o(),s("span",{key:b,class:L(r[0]===":"?"text-gray border border-dashed rounded border-gray:50 px1":"")},$(r[0]===":"?r.slice(1):r),3))),128))])]),_:1})):(o(),s("button",{key:0,onClick:i},[e("code",null,$(c.route.path),1)]))}}}),_e={"w-full":""},he=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":""},xe={op0:"","group-hover:op100":"",flex:"~ gap1"},be=["onClick"],ke=e("div",{"i-carbon-script-reference":""},null,-1),$e=[ke],we={"w-0":"","ws-nowrap":"","pr-1":"","text-left":"","font-mono":"","text-sm":"",op50:""},Ce={"w-0":"","ws-nowrap":"","pr-1":"","text-center":"","font-mono":"","text-sm":"",op50:""},Ne={"w-0":"","ws-nowrap":"","text-center":"","font-mono":"","text-sm":""},Re={key:0},Ve=["onClick"],Pe=I({__name:"RoutesTable",props:{pages:null,layouts:null,matched:null,matchedPending:null},emits:["navigate"],setup(c){const u=c,l=ne(),m=A(),f=R(()=>[...u.pages].sort((i,n)=>i.path.localeCompare(n.path)));function y(i){const n=u.layouts.find(_=>_.name===i);n&&l(n.file)}function x(i){if(typeof i=="string")return m.value?.middleware.find(n=>n.name===i)?.path}return(i,n)=>{const _=M,d=me,w=F;return o(),s("div",null,[e("table",_e,[he,e("tbody",null,[(o(!0),s(h,null,B(t(f),a=>(o(),s("tr",{key:a.name,class:"group","h-7":"",border:"b dashed transparent hover:base"},[e("td",fe,[e("div",ge,[c.matched.find(r=>r.name===a.name)?(o(),g(_,{key:0,"bg-green-400:10":"","text-green-400":"",title:"active",textContent:"active"})):v("",!0),c.matchedPending.find(r=>r.name===a.name)?(o(),g(_,{key:1,"bg-teal-400:10":"","text-teal-400":"",title:"next",textContent:"next"})):v("",!0)])]),e("td",ve,[e("div",ye,[p(d,{route:a,class:L(c.matched.find(r=>r.name===a.name)?"text-primary":c.matchedPending.find(r=>r.name===a.name)?"text-teal":""),onNavigate:n[0]||(n[0]=r=>i.$emit("navigate",r))},null,8,["route","class"]),e("div",xe,[a.file||a.meta?.file?(o(),s("button",{key:0,"text-sm":"",op40:"",hover:"op100 text-primary",title:"Open in editor",onClick:r=>t(l)(a.file||a.meta?.file)},$e,8,be)):v("",!0)])])]),e("td",we,$(a.name),1),e("td",Ce,[p(w,{filepath:x(a.meta.middleware),override:`${a.meta.middleware||"-"}`},null,8,["filepath","override"])]),e("td",Ne,[a.meta.layout===!1?(o(),s("span",Re,"-")):a.meta.layout?(o(),s("button",{key:1,onClick:r=>y(a.meta.layout)},$(a.meta.layout),9,Ve)):(o(),s("button",{key:2,"text-sm":"",op15:"",onClick:n[1]||(n[1]=r=>y("default"))}," (default) "))])]))),128))])])])}}}),Be={class:"markdown-body"},Ie=e("h1",null,"Pages",-1),Le=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),Te=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),Me=e("h1",null,"Middlewares",-1),Se=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),Ae=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/directory-structure/middleware",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Fe=[Ie,Le,Te,Ee,Me,Se,Ae],De={__name:"pages",setup(c,{expose:u}){return u({frontmatter:{}}),(m,f)=>(o(),s("div",Be,Fe))}},ze={key:0,"h-full":"","of-auto":""},Ke={border:"b base",flex:"~ col gap1",px4:"",py3:"","navbar-glass":""},Oe=e("span",{op50:""},"Navigate from ",-1),Ue={"font-mono":""},qe=e("span",{op50:""}," to ",-1),je={key:1,op50:""},We=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":""},Qe=e("thead",{border:"b base","h-7":""},[e("tr",null,[e("th",{"text-left":""}," Name "),e("th",{"text-left":""}," Path ")])],-1),Xe={mr1:""},dt=I({__name:"pages",setup(c){const u=H(),l=J(),m=Q(),f=A(),y=X(),x=Y(),i=R(()=>f.value?.middleware||[]),n=S("");T(l).toBeTruthy().then(a=>{n.value=a.path}),T(u).toBeTruthy().then(a=>{a.afterEach(()=>{Z(()=>{n.value=l.value.path})})});async function _(){n.value!==l.value.path&&u.value.push(n.value||"/")}const d=R(()=>n.value===l.value.path?[]:u.value.resolve(n.value||"/").matched);function w(a){u.value.push(a)}return(a,r)=>{const b=E,C=Pe,V=ae,D=M,z=F,K=se,O=De,U=re;return o(),s(h,null,[t(m)?.pages&&t(u)?(o(),s("div",ze,[e("div",Ke,[e("div",null,[t(l).path!==t(n)?(o(),s(h,{key:0},[Oe,e("span",Ue,$(t(l).path),1),qe],64)):(o(),s("span",je,"Current route"))]),p(b,{modelValue:t(n),"onUpdate:modelValue":r[0]||(r[0]=N=>ee(n)?n.value=N:null),"font-mono":"",icon:"carbon-direction-right-01 scale-y--100",class:L(t(l).path===t(n)?"":t(d).length?"text-green":"text-orange"),onKeydown:te(_,["enter"])},null,8,["modelValue","class","onKeydown"]),e("div",null,[t(l).path!==t(n)?(o(),s(h,{key:0},[We,t(d).length?v("",!0):(o(),s("span",Ge," (no match)"))],64)):(o(),s("span",He,"Edit path above to navigate"))])]),t(d).length?(o(),g(V,{key:0,icon:"carbon-tree-view",text:"Matched Routes",padding:!1},{default:k(()=>[p(C,{pages:t(d),layouts:t(y)||[],matched:[],"matched-pending":t(d),onNavigate:w},null,8,["pages","layouts","matched-pending"])]),_:1})):v("",!0),p(V,{icon:"carbon-tree-view-alt",text:"All Routes",description:`${t(x).length} routes registered in your application`,padding:"pr5"},{default:k(()=>[p(C,{pages:t(x),layouts:t(y)||[],matched:t(l).matched,"matched-pending":t(d),onNavigate:w},null,8,["pages","layouts","matched","matched-pending"])]),_:1},8,["description"]),t(i).length?(o(),g(V,{key:1,icon:"carbon:ibm-watson-studio",text:"Middleware",description:`${t(i).length} middleware registered in your application`,padding:"px13"},{default:k(()=>[e("table",Je,[Qe,(o(!0),s(h,null,B(t(i),N=>(o(),s("tr",{key:N.path,"h-7":""},[e("td",null,[e("span",Xe,$(N.name),1),N.global?(o(),g(D,{key:0,"bg-green-400:10":"","text-green-400":"",title:"Registered at runtime as a global component",textContent:"global"})):v("",!0)]),e("td",null,[p(z,{filepath:N.path},null,8,["filepath"])])]))),128))])]),_:1},8,["description"])):v("",!0)])):(o(),g(K,{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",handle(){return("rpc"in a?a.rpc:t(oe)).runWizard("enablePages")}}]},null,8,["actions"])),p(U,null,{default:k(()=>[p(O)]),_:1})],64)}}});export{dt as default};
@@ -1 +0,0 @@
1
- import{_ as N}from"./FilepathItem.vue.1374ae6e.js";import{_ as S}from"./Badge.21478015.js";import{_ as k}from"./DurationDisplay.vue.d28a01f2.js";import{a as v,G as B,z as x,af as V,o as n,h as _,f as e,D as P,i as l,u as f,c as u,q as d,T as F,L as T,y as H,au as I,w as h,l as y,aC as M,b as E,F as C,p as L,s as W}from"./entry.2a062301.js";import{_ as z}from"./NSectionBlock.77e830ae.js";import{_ as j}from"./HelpFab.vue.8e13a60e.js";import"./editor.4c6382c7.js";import"./NIconTitle.vue.636dd062.js";import"./NIconButton.vue.61149d03.js";const q={flex:"~ gap2","items-center":""},A={w8:"","text-right":"","text-sm":"",op25:""},G={key:0,"flex-auto":"","text-right":""},R=v({__name:"PluginItem",props:{plugin:null,index:null},setup(t){const i=t,a=B(),r=x(()=>V(i.plugin.src,a.value?.rootDir||"").path);return(m,c)=>{const p=N,o=S,s=k;return n(),_("div",q,[e("div",A,P(t.index),1),l(p,{filepath:i.plugin.src,subpath:!0},null,8,["filepath"]),e("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"})),t.plugin.mode==="server"?(n(),u(o,{key:2,"bg-teal-400:10":"","text-teal-400":"",textContent:"server"})):d("",!0),t.plugin.mode==="client"?(n(),u(o,{key:3,"bg-orange-400:10":"","text-orange-400":"",textContent:"client"})):d("",!0)]),t.plugin.metric?.duration!=null?(n(),_("div",G,[l(s,{duration:t.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:null,icon:null},setup(t){return(i,a)=>{const r=H,m=F("ContentSlot");return n(),_("div",Y,[e("div",J,[t.icon?(n(),u(r,{key:0,icon:t.icon,class:"n-tip-icon"},null,8,["icon"])):d("",!0),e("div",null,P(t.title),1)]),e("div",null,[T(i.$slots,"default",{},()=>[l(m,{use:i.$slots.default,unwrap:"p"},null,8,["use"])])])])}}}),O={};function Q(t,i){const a=K;return n(),u(a,{title:"Performance Tip",icon:"carbon-meter",n:"lime6 dark:lime5"},{default:h(()=>[T(t.$slots,"default")]),_:3})}const U=I(O,[["render",Q]]),X={class:"markdown-body"},Z=e("h1",null,"Plugins",-1),tt=e("p",null,[y("Nuxt plugins allows you to extend the functionality of Nuxt runtime and the Vue instance. You can add plugins to the "),e("code",null,"plugins/"),y(" directory and they will be automatically imported and registered.")],-1),et=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/directory-structure/plugins",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),nt={__name:"plugins",setup(t,{expose:i}){return i({frontmatter:{}}),(r,m)=>{const c=U;return n(),_("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-end","mt-3":""},it=e("div",{"i-carbon-timer":"","text-lg":"",op75:""},null,-1),at=e("span",{op50:""},"Total execution time:",-1),gt=v({__name:"plugins",setup(t){const i=M(),a=E(),r=x(()=>{const c=i.value?.plugins||[],p=a.value?.getClientPluginMetrics()||[];return c.map(o=>{const s=typeof o=="string"?{src:o}:o;return{...s,metric:p.find(g=>g.src===s.src||g.src.startsWith(s.src))}})}),m=x(()=>{const c=a.value?.getClientPluginMetrics()||[],p=Math.min(...c.map(s=>s.start));return Math.max(...c.map(s=>s.end))-p});return(c,p)=>{const o=R,s=k,g=z,w=nt,D=j;return n(),_(C,null,[l(g,{icon:"carbon-plug",text:"Plugins",description:`Total plugins: ${f(r).length}`},{default:h(()=>[e("div",ot,[(n(!0),_(C,null,L(f(r),($,b)=>(n(),u(o,{key:$.src,plugin:$,index:b+1,"ml--4":"","border-base":"",py2:"",class:W(b?"border-t":"")},null,8,["plugin","index","class"]))),128)),e("div",st,[it,at,l(s,{duration:f(m),factor:10},null,8,["duration"])])])]),_:1},8,["description"]),l(D,null,{default:h(()=>[l(w)]),_:1})],64)}}});export{gt as default};
@@ -1,9 +0,0 @@
1
- import{_ as ie}from"./Navbar.vue.e1117ac7.js";import{_ as Y}from"./Badge.21478015.js";import{a as Z,G as ce,a3 as de,z as p,r as k,o as a,h as m,f as i,c as x,w as l,l as h,D as y,u as e,s as b,aK as G,F as j,p as A,K as ee,i as s,q as $,k as pe,y as me,aL as fe,a9 as _e,aM as ve,aN as he,ai as ye,ab as ge}from"./entry.2a062301.js";import{_ as xe}from"./NSelect.vue.90e01b18.js";import{_ as be}from"./NTextInput.vue.f5b2276f.js";import{_ as Ce}from"./CodeSnippets.vue.cf956c68.js";import{_ as te}from"./NPanelGrids.c52bd29c.js";import{_ as ke}from"./NCodeBlock.vue.8fd682f9.js";import{u as $e}from"./editor.4c6382c7.js";import{C as X}from"./constants.d7bcda3c.js";import{_ as Re}from"./PanelLeftRight.vue.8adf1a04.js";import{F as Te}from"./fuse.esm.88e2763d.js";import"./client.44af506c.js";const qe={"h-full":"","w-full":"",flex:"~ col"},je={flex:"~ col gap-2","flex-none":"",p4:"","navbar-glass":""},Se={flex:"~ gap2"},Ve={flex:"~ gap2","w-full":"","items-center":"",px4:"",pb2:"","text-center":"","text-sm":"",border:"b base"},we=i("div",{"flex-auto":""},null,-1),Ne={key:0,border:"b base","items-center":"",px4:"",py2:"",grid:"~ cols-[max-content_1fr] gap-2"},Ue={"text-right":"","font-mono":""},Ee={key:1,relative:""},Pe={key:2,px4:"",py2:"",flex:"~ col gap-2",border:"b base"},Be={border:"b base",flex:"~ gap2","items-center":"",px4:"",py2:""},Le=i("div",null,"Response",-1),Me={key:1,"text-xs":"",op50:""},Oe=i("div",{"flex-auto":""},null,-1),De=i("div",{op50:""}," Request finished in ",-1),Fe=Z({__name:"ServerRouteDetails",props:{route:{type:Object,required:!0}},setup(P){const B=P,R=ce(),u=de({contentType:"text/plain",data:"",statusCode:200,error:void 0}),T=p(()=>u.contentType.includes("application/json")?"json":u.contentType.includes("text/html")?"html":u.contentType.includes("text/css")?"css":u.contentType.includes("text/javascript")?"javascript":u.contentType.includes("text/xml")||u.contentType.includes("application/xml")?"xml":"text"),q=p(()=>T.value==="json"?JSON.stringify(u.data,null,2):u.data),w=k(0),C=k(!1),N=k(!1),W=$e(),L=p(()=>B.route.route?.split(/((?:\*\*)?:[\w_]+)/g)),S=p(()=>L.value?.filter(o=>o.startsWith(":")||o.startsWith("**:"))||[]),g=k(B.route.method||"GET"),U=k({}),E=k([{key:"",value:""}]),V=k([{key:"",value:""}]),f=k([{key:"Content-Type",value:"application/json"}]),K=p(()=>V.value.filter(({key:o})=>o).length),z=p(()=>f.value.filter(({key:o})=>o).length),H=p(()=>{const o={};for(let t=0;t<E.value.length;t++){const{key:n,value:c}=E.value[t];o[n]=c}return Object.keys(o)[0]?o:null}),oe=p(()=>{let o=R.value?.devServer.url||"http://localhost";o.charAt(o.length-1)==="/"&&(o=o.slice(0,-1));const t=R.value?.devServer.port||3e3;return o.includes(`:${t}`)?o:`${o}:${t}`}),M=p(()=>{let o=new URLSearchParams(Object.fromEntries(V.value.filter(({key:c})=>c).map(({key:c,value:_})=>[c,_]))).toString();o&&(o=`?${o}`);const t=(L.value?.map(c=>(c.startsWith(":")||c.startsWith("**:"))&&U.value[c]||c).join("")||"")+o;let n=R.value?.app.baseURL||"";return(n==="./"||n===".")&&(n=""),n.endsWith("/")&&(n=n.slice(0,-1)),n+t}),ne=p(()=>oe.value+M.value);async function J(){N.value=!0,C.value=!0,Object.assign(u,{lang:"text",contentType:"",data:"",content:"",error:void 0});const o=Date.now();try{u.data=await $fetch(ne.value,{method:g.value.toUpperCase(),headers:Object.fromEntries(f.value.filter(({key:t,value:n})=>t&&n).map(({key:t,value:n})=>[t,n])),query:Object.fromEntries(V.value.filter(({key:t,value:n})=>t&&n).map(({key:t,value:n})=>[t,n])),body:H.value,onResponse({response:t}){u.contentType=(t.headers.get("content-type")||"").toString().toLowerCase().trim(),u.statusCode=t.status},onResponseError(t){u.error=t.response._data,u.data=t.response._data}})}catch{}C.value=!1,w.value=Date.now()-o}const Q=p(()=>{const o=[],t=[],n=f.value.filter(({key:_,value:v})=>_&&v&&!(_==="Content-Type"&&v==="application/json")).map(({key:_,value:v})=>` '${_}': '${v}'`).join(`,
2
- `);g.value.toUpperCase()!=="GET"&&t.push(`method: '${g.value.toUpperCase()}'`),n&&t.push(`headers: {
3
- ${n}
4
- }`),H.value&&t.push(`body: ${JSON.stringify(H.value,null,2)}`);const c=t.length?`, {
5
- ${t.join(`,
6
- `).split(`
7
- `).map(_=>` ${_}`).join(`
8
- `)}
9
- }`:"";return o.push({name:"useFetch",lang:"javascript",docs:X.nuxt.useFetch,code:`const { data, pending, error, refresh } = useFetch('${M.value}'${c})`}),o.push({name:"$fetch",lang:"javascript",docs:X.nuxt.$fetch,code:`await $fetch('${M.value}'${c})`}),o}),d=k(S.value.length?"params":"query"),O=p(()=>{if(d.value==="query")return V.value;if(d.value==="body")return E.value;if(d.value==="headers")return f.value}),se=["GET","POST","PUT","PATCH","DELETE","HEAD"];return(o,t)=>{const n=pe,c=xe,_=be,v=me,ae=Ce,re=te,le=fe,I=Y,ue=ke;return a(),m("div",qe,[i("div",je,[i("div",Se,[P.route.method?(a(),x(n,{key:0,class:b(("getRequestMethodClass"in o?o.getRequestMethodClass:e(G))(e(g))),"pointer-events-none":"",tabindex:"-1"},{default:l(()=>[h(y(e(g).toUpperCase()),1)]),_:1},8,["class"])):(a(),x(c,{key:1,modelValue:e(g),"onUpdate:modelValue":t[0]||(t[0]=r=>ee(g)?g.value=r:null),class:b(("getRequestMethodClass"in o?o.getRequestMethodClass:e(G))(e(g)))},{default:l(()=>[(a(),m(j,null,A(se,r=>i("option",{key:r,class:b(("getRequestMethodClass"in o?o.getRequestMethodClass:e(G))(r))},y(r.toUpperCase()),3)),64))]),_:1},8,["modelValue","class"])),s(_,{"model-value":e(M),disabled:"","flex-auto":"","font-mono":"",p:"x5 y2",n:"primary xs"},null,8,["model-value"]),s(n,{n:"primary solid",onClick:J},{default:l(()=>[s(v,{icon:"carbon:send"})]),_:1})])]),i("div",Ve,[e(S).length?(a(),x(n,{key:0,class:b(e(d)==="params"?"text-primary n-primary":"border-transparent! shadow-none!"),onClick:t[1]||(t[1]=r=>d.value="params")},{default:l(()=>[s(v,{icon:"i-carbon-text-selection"}),h(" Params ("+y(e(S).length)+") ",1)]),_:1},8,["class"])):$("",!0),s(n,{class:b(e(d)==="query"?"text-primary n-primary":"border-transparent! shadow-none!"),onClick:t[2]||(t[2]=r=>d.value="query")},{default:l(()=>[s(v,{icon:"i-carbon-help"}),h(" Query "+y(e(K)?`(${e(K)})`:""),1)]),_:1},8,["class"]),e(g)!=="GET"?(a(),x(n,{key:1,class:b(e(d)==="body"?"text-primary n-primary":"border-transparent! shadow-none!"),onClick:t[3]||(t[3]=r=>d.value="body")},{default:l(()=>[s(v,{icon:"i-carbon-document"}),h(" Body ")]),_:1},8,["class"])):$("",!0),s(n,{class:b(e(d)==="headers"?"text-primary n-primary":"border-transparent! shadow-none!"),onClick:t[4]||(t[4]=r=>d.value="headers")},{default:l(()=>[s(v,{icon:"i-carbon-html-reference"}),h(" Headers "+y(e(z)?`(${e(z)})`:""),1)]),_:1},8,["class"]),s(n,{class:b(e(d)==="snippet"?"text-primary n-primary":"border-transparent! shadow-none!"),onClick:t[5]||(t[5]=r=>d.value="snippet")},{default:l(()=>[s(v,{icon:"carbon:code"}),h(" Snippets ")]),_:1},8,["class"]),we,s(n,{icon:"carbon-launch",onClick:t[6]||(t[6]=r=>e(W)(P.route.filepath))},{default:l(()=>[h(" Open in Editor ")]),_:1})]),e(d)==="params"?(a(),m("div",Ne,[(a(!0),m(j,null,A(e(S),r=>(a(),m(j,{key:r},[i("div",Ue,y(r),1),s(_,{modelValue:e(U)[r],"onUpdate:modelValue":D=>e(U)[r]=D,placeholder:r,"flex-1":""},null,8,["modelValue","onUpdate:modelValue","placeholder"])],64))),128))])):$("",!0),e(d)==="snippet"?(a(),m("div",Ee,[e(Q).length?(a(),x(ae,{key:0,border:"b base","code-snippets":e(Q)},null,8,["code-snippets"])):$("",!0)])):e(O)?(a(),m("div",Pe,[(a(!0),m(j,null,A(e(O),(r,D)=>(a(),m("div",{key:D,flex:"~ gap-2","justify-around":""},[s(_,{modelValue:r.key,"onUpdate:modelValue":F=>r.key=F,placeholder:"Key","flex-1":"","font-mono":"",n:"sm"},null,8,["modelValue","onUpdate:modelValue"]),s(_,{modelValue:r.value,"onUpdate:modelValue":F=>r.value=F,placeholder:"Value","flex-1":"","font-mono":"",n:"sm"},null,8,["modelValue","onUpdate:modelValue"]),s(n,{n:"red",onClick:F=>e(O).splice(D,1)},{default:l(()=>[s(v,{icon:"carbon:delete"})]),_:2},1032,["onClick"])]))),128)),i("div",null,[s(n,{icon:"carbon-add",n:"sm primary",my1:"","px-3":"",onClick:t[7]||(t[7]=r=>e(O).push({key:"",value:""}))},{default:l(()=>[h(" Add ")]),_:1})])])):$("",!0),e(N)?e(C)?(a(),x(le,{key:4,"z-10":"","flex-auto":"","backdrop-blur":""},{default:l(()=>[h(" Fetching... ")]),_:1})):(a(),m(j,{key:5},[i("div",Be,[Le,e(u).error?(a(),x(I,{key:0,"bg-red-400:10":"","text-red-400":""},{default:l(()=>[h(" Error ")]),_:1})):$("",!0),s(I,{class:b({"bg-orange-400:10 text-orange-400":e(u).error,"bg-green-400:10 text-green-400":!e(u).error})},{default:l(()=>[h(y(e(u).statusCode),1)]),_:1},8,["class"]),e(u).contentType?(a(),m("code",Me,y(e(u).contentType),1)):$("",!0),Oe,De,s(I,{"bg-green-400:10":"","text-green-400":""},{default:l(()=>[h(y(e(w))+" ms ",1)]),_:1})]),s(ue,{"flex-auto":"","overflow-auto":"","py-2":"",code:e(q),lang:e(T)},null,8,["code","lang"])],64)):(a(),x(re,{key:3},{default:l(()=>[s(n,{n:"primary",onClick:J},{default:l(()=>[s(v,{icon:"carbon:send"}),h(" Send request ")]),_:1})]),_:1}))])}}}),Ge={flex:"~ gap1","text-sm":"",op50:""},Ae={key:0},We={"w-12":"","flex-none":"","text-right":""},He={"font-mono":"","text-sm":""},Ie=i("div",{"x-divider":""},null,-1),Ke=i("span",{op75:""},"Select a route to start",-1),lt=Z({__name:"server-routes",setup(P){const B=_e(),R=ve(),u=p(()=>new Te(R.value||[],{keys:["method","route"],shouldSort:!0})),T=p(()=>R.value?.find(C=>C.path===B.query?.path)),q=k(""),w=p(()=>R.value?q.value?u.value.search(q.value).map(C=>C.item):R.value:[]);return(C,N)=>{const W=ie,L=Y,S=ye,g=Fe,U=ge,E=te,V=Re;return a(),x(V,null,{left:l(()=>[s(W,{search:e(q),"onUpdate:search":N[0]||(N[0]=f=>ee(q)?q.value=f:null),pb2:""},{default:l(()=>[i("div",Ge,[e(q)?(a(),m("span",Ae,y(e(w).length)+" matched · ",1)):$("",!0),i("span",null,y(e(R)?.length)+" routes in total",1)])]),_:1},8,["search"]),(a(!0),m(j,null,A(e(w),f=>(a(),m(j,{key:f.id},[s(S,{flex:"~ gap-2","items-center":"","hover-bg-active":"",px2:"",py1:"",class:b([{"bg-active":e(T)?.path===f.path}]),to:{query:{path:f.path}}},{default:l(()=>[i("div",We,[s(L,{class:b(("getRequestMethodClass"in C?C.getRequestMethodClass:e(G))(f.method||"*")),title:"updates available",textContent:y((f.method||"*").toUpperCase())},null,8,["class","textContent"])]),i("span",He,y(f.route),1)]),_:2},1032,["class","to"]),Ie],64))),128))]),right:l(()=>[(a(),x(he,{max:10},[e(T)?(a(),x(g,{key:e(T).path,route:e(T)},null,8,["route"])):$("",!0)],1024)),e(T)?$("",!0):(a(),x(E,{key:0},{default:l(()=>[s(U,{px6:"",py2:""},{default:l(()=>[Ke]),_:1})]),_:1}))]),_:1})}}});export{lt as default};
@@ -1 +0,0 @@
1
- import{_ as j}from"./NIconTitle.vue.636dd062.js";import{_ as z}from"./NSwitch.vue.1b0e3364.js";import{a as I,aY as L,h as d,i as a,f as e,F as m,p as b,u as s,w as n,K as f,S as O,aZ as E,o as i,s as T,D as g,c as H,q,l as A,aD as K,k as R}from"./entry.2a062301.js";import{_ as Y}from"./NSelect.vue.90e01b18.js";import{_ as Z}from"./NCheckbox.vue.002c643b.js";const G={px6:"",py6:""},J={grid:"~ md:cols-2 gap-x-10 gap-y-3","max-w-300":""},M={flex:"~ col gap-1",py3:""},P=e("h3",{mb1:"","text-lg":""}," Tabs ",-1),Q={flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":""},W={capitalize:"",op75:""},X={flex:"~ col gap-1",border:"~ base rounded",py3:"",pl4:"",pr2:""},ee={py3:"",flex:"~ col gap-1",border:"b base"},oe=e("h3",{mb1:"","text-lg":""}," Appearance ",-1),te=e("div",{"carbon-sun":"","dark:carbon-moon":"","translate-y--1px":""},null,-1),le={py3:"",flex:"~ col gap-1",border:"b base"},ae=e("h3",{mb1:"","text-lg":""}," UI Scale ",-1),se=["value"],ne={py3:"",flex:"~ col gap-1"},ie=e("h3",{mb1:"","text-lg":""}," Features ",-1),ue=e("span",null,"Close DevTools when clicking outside",-1),de=e("span",null,"Show experimental features",-1),re=e("span",null,"Show help buttons",-1),ve=I({__name:"settings",setup(ce){const{interactionCloseOnOutsideClick:v,showExperimentalFeatures:x,showHelpButtons:h,scale:y,hiddenTabs:r,hiddenTabCategories:c}=O(),C=[["Tiny",12/15],["Small",14/15],["Normal",1],["Large",16/15],["Huge",18/15]],w=L(!1);function N(u,t){t?r.value=r.value.filter(p=>p!==u):r.value.push(u)}function S(u,t){t?c.value=c.value.filter(p=>p!==u):c.value.push(u)}return(u,t)=>{const p=j,k=z,U=K,D=R,$=E,B=Y,V=Z;return i(),d("div",G,[a(p,{class:"mb-5 text-xl op75",icon:"i-carbon-settings-adjust",text:"DevTools Settings"}),e("div",J,[e("div",M,[P,(i(!0),d(m,null,b(s(w),([o,_])=>(i(),d(m,{key:o},[_.length?(i(),d("div",{key:0,flex:"~ col gap-1","mx--1":"",class:T(s(c).includes(o)?"op50 grayscale":""),"pt-2":""},[a(k,{flex:"~ row-reverse",px2:"",py1:"","n-lime":"","model-value":!s(c).includes(o),"onUpdate:modelValue":l=>S(o,l)},{default:n(()=>[e("div",Q,[e("span",W,g(o),1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),e("div",X,[(i(!0),d(m,null,b(_,l=>(i(),H(k,{key:l.name,flex:"~ row-reverse",py1:"","n-primary":"","model-value":!s(r).includes(l.name),"onUpdate:modelValue":F=>N(l.name,F)},{default:n(()=>[e("div",{flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":"",class:T(s(r).includes(l.name)?"op25":"")},[a(U,{"text-xl":"",icon:l.icon,title:l.title},null,8,["icon","title"]),e("span",null,g(l.title),1)],2)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128))])],2)):q("",!0)],64))),128))]),e("div",null,[e("div",ee,[oe,e("div",null,[a($,null,{default:n(({toggle:o,isDark:_})=>[a(D,{n:"primary",onClick:l=>o()},{default:n(()=>[te,A(" "+g(_.value?"Dark":"Light"),1)]),_:2},1032,["onClick"])]),_:1})])]),e("div",le,[ae,a(B,{modelValue:s(y),"onUpdate:modelValue":t[0]||(t[0]=o=>f(y)?y.value=o:null),n:"primary"},{default:n(()=>[(i(),d(m,null,b(C,o=>e("option",{key:o[0],value:o[1]},g(o[0]),9,se)),64))]),_:1},8,["modelValue"])]),e("div",ne,[ie,a(V,{modelValue:s(v),"onUpdate:modelValue":t[1]||(t[1]=o=>f(v)?v.value=o:null),"n-primary":""},{default:n(()=>[ue]),_:1},8,["modelValue"]),a(V,{modelValue:s(x),"onUpdate:modelValue":t[2]||(t[2]=o=>f(x)?x.value=o:null),"n-primary":""},{default:n(()=>[de]),_:1},8,["modelValue"]),a(V,{modelValue:s(h),"onUpdate:modelValue":t[3]||(t[3]=o=>f(h)?h.value=o:null),"n-primary":""},{default:n(()=>[re]),_:1},8,["modelValue"])])])])])}}});export{ve as default};
@@ -1 +0,0 @@
1
- import{_ as ne}from"./NIconButton.vue.61149d03.js";import{_ as oe}from"./NSelect.vue.90e01b18.js";import{_ as ae}from"./NTextInput.vue.f5b2276f.js";import{a as se,av as re,W as le,r as I,z as S,a9 as A,ag as P,a7 as ue,R as ie,a6 as de,e as ce,x as p,u as n,c as _,w as u,aw as z,o as r,f as l,i as d,h as c,p as q,D as v,F as b,K as U,l as i,s as E,aq as j,q as F,a2 as me,aG as pe,aP as _e,aB as fe,ai as ye,y as ve,k as ge,ab as he}from"./entry.2a062301.js";import{_ as ke}from"./NLink.vue.5e75761d.js";import{_ as xe}from"./NPanelGrids.c52bd29c.js";import{_ as be}from"./PanelLeftRight.vue.8adf1a04.js";import{_ as we}from"./FilepathItem.vue.1374ae6e.js";import{U as Ke}from"./json-editor-vue.c66387bd.js";import"./editor.4c6382c7.js";const Ce={class:"h-[48px] flex items-center justify-between gap1 px-3"},Ve={class:"w-full text-sm"},Ne=["value"],$e=l("div",{"x-divider":""},null,-1),Ie={key:0,"h-full":"","of-hidden":"",flex:"~ col"},Se={border:"b base",class:"h-[49px] flex flex-none items-center justify-between px-4 text-sm"},qe={class:"flex items-center gap-4"},Ue={key:1},je=["onKeyup"],Be=l("br",null,null,-1),Le={key:0,op50:""},De={key:1},Me=l("code",null,"nitro.storage",-1),Re=l("br",null,null,-1),Ae={"font-bold":""},Pe=l("br",null,null,-1),ze={"text-sm":""},Ee=l("br",null,null,-1),tt=se({__name:"storage",async setup(Fe){let m,g;const T=re(),h=le(),k=I(""),y=I(""),a=S({get(){return A().query?.storage},set(t){h.replace({query:{storage:t}})}}),e=I(),x=S(()=>A().query?.key),{data:w}=([m,g]=P(()=>z("storageMounts",()=>p.getStorageMounts())),m=await m,g(),m),{data:K,refresh:B}=([m,g]=P(async()=>z("storageKeys",async()=>a.value?await p.getStorageKeys(a.value):[])),m=await m,g(),m),G=T.hook("storage:key:update",async(t,s)=>{if(!(!a.value||t.split(":")[0]!==a.value)&&(await B(),x.value===t)){if(s==="remove")return h.replace({query:{storage:a.value}});await V(x.value)}});ue(G),ie(a,B),de(async()=>{if(!x.value){e.value=null;return}V(x.value)}),ce("keydown",t=>{t.key==="s"&&(t.ctrlKey||t.metaKey)&&(N(),t.preventDefault())});function C(t){return t.replace(`${a.value}:`,"")}const W=S(()=>K.value?K.value.filter(t=>t.includes(k.value)):[]);async function V(t){const s=await p.getStorageItem(t);e.value={key:t,updatedKey:C(t),editingKey:!1,content:s,updatedContent:s}}async function O(){if(!y.value||!a.value)return;const t=`${a.value}:${y.value}`;K.value?.includes(t)||await p.setStorageItem(t,""),h.replace({query:{storage:a.value,key:t}}),y.value=""}async function N(){e.value&&(await p.setStorageItem(e.value.key,e.value.updatedContent),await V(e.value.key))}async function H(){!e.value||!a.value||(await p.removeStorageItem(e.value.key),e.value=null)}async function J(){if(!e.value||!a.value)return;const t=`${a.value}:${e.value.updatedKey}`;await p.setStorageItem(t,e.value.updatedContent),await p.removeStorageItem(e.value.key),h.replace({query:{storage:a.value,key:t}})}return(t,s)=>{const Q=ne,X=oe,$=ae,Y=ye,Z=ve,L=ge,D=ke,M=he,R=xe,ee=be,te=we;return n(a)?(r(),_(ee,{key:0,"storage-key":"tab-storage"},{left:u(()=>[l("div",Ce,[d(Q,{icon:"carbon-chevron-left","ml--1":"",onClick:s[0]||(s[0]=o=>a.value="")}),l("div",Ve,[d(X,{modelValue:n(a),"onUpdate:modelValue":s[1]||(s[1]=o=>U(a)?a.value=o:null),n:"primary",icon:"carbon-data-base"},{default:u(()=>[(r(!0),c(b,null,q(n(w),(o,f)=>(r(),c("option",{key:f,value:f},v(f),9,Ne))),128))]),_:1},8,["modelValue"])])]),d($,{modelValue:n(k),"onUpdate:modelValue":s[2]||(s[2]=o=>U(k)?k.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"]),(r(!0),c(b,null,q(n(W),o=>(r(),c(b,{key:o},[d(Y,{block:"",truncate:"",px2:"",py1:"","font-mono":"","text-sm":"",to:{query:{key:o,storage:n(a)}},class:E(o===n(e)?.key?"text-primary n-bg-active":"text-secondary hover:n-bg-hover")},{default:u(()=>[i(v(C(o)),1)]),_:2},1032,["to","class"]),$e],64))),128)),d($,{modelValue:n(y),"onUpdate:modelValue":s[3]||(s[3]=o=>U(y)?y.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:j(O,["enter"])},null,8,["modelValue","onKeyup"])]),right:u(()=>[n(e)?.key?(r(),c("div",Ie,[l("div",Se,[l("div",qe,[n(e).editingKey?(r(),_($,{key:0,modelValue:n(e).updatedKey,"onUpdate:modelValue":s[4]||(s[4]=o=>n(e).updatedKey=o),onKeyup:j(J,["enter"])},null,8,["modelValue","onKeyup"])):(r(),c("code",Ue,[i(v(C(n(e).key))+" ",1),d(Z,{icon:"carbon-edit",class:"cursor-pointer op50 hover:op100",onClick:s[5]||(s[5]=o=>n(e).editingKey=!0)})])),n(e).editingKey?F("",!0):(r(),_(L,{key:2,n:"green xs",disabled:n(e).content===n(e).updatedContent,class:E({"border-green":n(e).content!==n(e).updatedContent}),onClick:N},{default:u(()=>[i(" Save ")]),_:1},8,["disabled","class"]))]),l("div",null,[d(L,{n:"red xs",onClick:H},{default:u(()=>[i(" Delete ")]),_:1})])]),typeof n(e).content=="object"?(r(),_(n(Ke),me({key:0,modelValue:n(e).updatedContent,"onUpdate:modelValue":s[6]||(s[6]=o=>n(e).updatedContent=o),class:[[t.$colorMode.value==="dark"?"jse-theme-dark":"light"],"json-editor-vue h-full of-auto text-sm outline-none"]},t.$attrs,{mode:"text","navigation-bar":!1,indentation:2,"tab-size":2}),null,16,["modelValue","class"])):pe((r(),c("textarea",{key:1,"onUpdate:modelValue":s[7]||(s[7]=o=>n(e).updatedContent=o),placeholder:"Item value...",class:"h-full of-auto p-4 font-mono text-sm outline-none",onKeyup:j(fe(N,["ctrl"]),["enter"])},null,40,je)),[[_e,n(e).updatedContent]])])):(r(),_(R,{key:1},{default:u(()=>[d(M,{px6:"",py4:""},{default:u(()=>[i(" Select one key to start."),Be,i("Learn more about "),d(D,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})]),_:1})]),_:1}))]),_:1})):(r(),_(R,{key:1},{default:u(()=>[Object.keys(n(w)).length?(r(),c("p",Le," Select one storage to start: ")):(r(),c("p",De,[i(" No custom storage defined in "),Me,i("."),Re,i(" Learn more about "),d(D,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})])),(r(!0),c(b,null,q(n(w),(o,f)=>(r(),_(M,{key:f,"min-w-80":"","cursor-pointer":"","p-4":"","text-left":"",hover:"border-green",onClick:Te=>a.value=f},{default:u(()=>[l("span",Ae,v(f),1),Pe,l("span",ze,v(o.driver)+" driver",1),Ee,o.base?(r(),_(te,{key:0,"text-xs":"",filepath:o.base},null,8,["filepath"])):F("",!0)]),_:2},1032,["onClick"]))),128))]),_:1}))}}});export{tt as default};
@@ -1 +0,0 @@
1
- import{_ as B}from"./Navbar.vue.e1117ac7.js";import{o as c,h as u,f as _,a as R,r as v,aS as S,z as d,a9 as I,a6 as L,i as s,w as i,F as m,u as l,K as P,p as U,s as j,l as z,D as h,c as E,ai as W,ab as q}from"./entry.2a062301.js";import{_ as G}from"./NCodeBlock.vue.8fd682f9.js";import{_ as H}from"./NPanelGrids.c52bd29c.js";import{_ as K}from"./PanelLeftRight.vue.8adf1a04.js";import{_ as T}from"./HelpFab.vue.8e13a60e.js";import{F as A}from"./fuse.esm.88e2763d.js";import"./NTextInput.vue.f5b2276f.js";import"./client.44af506c.js";import"./NIconButton.vue.61149d03.js";const J={class:"markdown-body"},M=_("h1",null,"Virtual Files",-1),O=_("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1),Q=[M,O],X={__name:"virtual-files",setup(x,{expose:o}){return o({frontmatter:{}}),(p,a)=>(c(),u("div",J,Q))}},Y=_("div",{"x-divider":""},null,-1),Z={key:0,"h-full":"","of-hidden":"",flex:"~ col"},ee={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},te=_("span",{op75:""},"Select a file to start",-1),de=R({__name:"virtual-files",setup(x){const o=v(""),n=S(),p=d(()=>I().query?.id),a=v();L(()=>{if(!p.value)return;const e=`/_vfs.json/${encodeURIComponent(p.value)}`;fetch(e).then(t=>t.json()).then(t=>a.value=t.current)});function y(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const f=d(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),g=d(()=>new A(f.value,{keys:["id","path"]})),k=d(()=>o.value?g.value.search(o.value).map(e=>e.item):f.value);return(e,t)=>{const b=B,$=W,F=G,C=q,N=H,D=K,V=X,w=T;return c(),u(m,null,[s(D,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:i(()=>[s(b,{search:l(o),"onUpdate:search":t[0]||(t[0]=r=>P(o)?o.value=r:null),"no-padding":"",p3:""},null,8,["search"]),(c(!0),u(m,null,U(l(k),r=>(c(),u(m,{key:r.id},[s($,{block:"","select-none":"",truncate:"",px2:"",py1:"","font-mono":"","text-sm":"",to:`/modules/virtual-files?id=${encodeURIComponent(r.id)}`,class:j(r.id===l(a)?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover")},{default:i(()=>[z(h(y(r.id)),1)]),_:2},1032,["to","class"]),Y],64))),128))]),right:i(()=>[l(a)?.content?(c(),u("div",Z,[_("div",ee,[_("code",null,h(l(a).id),1)]),s(F,{"h-full":"","of-auto":"","text-sm":"",code:l(a).content,lang:"typescript"},null,8,["code"])])):(c(),E(N,{key:1},{default:i(()=>[s(C,{px6:"",py2:""},{default:i(()=>[te]),_:1})]),_:1}))]),_:1}),s(w,null,{default:i(()=>[s(V)]),_:1})],64)}}});export{de as default};