@nuxt/devtools 0.5.4 → 0.6.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 (147) hide show
  1. package/dist/chunks/module-main.mjs +134 -29
  2. package/dist/chunks/vscode.mjs +5 -2
  3. package/dist/client/200.html +2 -2
  4. package/dist/client/404.html +2 -2
  5. package/dist/client/__blank/index.html +7 -0
  6. package/dist/client/_nuxt/{Badge.ade65c69.js → Badge.bb04dbdf.js} +1 -1
  7. package/dist/client/_nuxt/CodeSnippets.vue.b3f0f3dc.js +1 -0
  8. package/dist/client/_nuxt/DrawerRight.vue.48c2c3d6.js +1 -0
  9. package/dist/client/_nuxt/DurationDisplay.vue.1f2b63ce.js +1 -0
  10. package/dist/client/_nuxt/FilepathItem.vue.67a3bac2.js +1 -0
  11. package/dist/client/_nuxt/{HelpFab.vue.1ab4e4f1.js → HelpFab.vue.e0c5b3b9.js} +1 -1
  12. package/dist/client/_nuxt/LaunchPage.vue.a3f71c42.js +1 -0
  13. package/dist/client/_nuxt/NCheckbox.vue.56878d59.js +1 -0
  14. package/dist/client/_nuxt/NCodeBlock.vue.2f00c5a7.js +2 -0
  15. package/dist/client/_nuxt/NIconButton.vue.afd698ce.js +1 -0
  16. package/dist/client/_nuxt/NIconTitle.vue.025b1812.js +1 -0
  17. package/dist/client/_nuxt/NLink.vue.efbf2660.js +1 -0
  18. package/dist/client/_nuxt/NMarkdown.vue.4a55718e.js +1 -0
  19. package/dist/client/_nuxt/{NPanelGrids.24e40025.js → NPanelGrids.e209861e.js} +1 -1
  20. package/dist/client/_nuxt/NSectionBlock.012f83f1.css +1 -0
  21. package/dist/client/_nuxt/NSectionBlock.a9d6a8bd.js +1 -0
  22. package/dist/client/_nuxt/NSelect.vue.0258c4d8.js +1 -0
  23. package/dist/client/_nuxt/NSwitch.vue.774134ee.js +1 -0
  24. package/dist/client/_nuxt/NTip.vue.b7996913.js +1 -0
  25. package/dist/client/_nuxt/{Navbar.vue.12ff05d9.js → Navbar.vue.97a344a8.js} +1 -1
  26. package/dist/client/_nuxt/NpmVersionCheck.vue.5857e84f.js +1 -0
  27. package/dist/client/_nuxt/{PanelLeftRight.vue.0d3c5a22.js → PanelLeftRight.vue.4252eb45.js} +1 -1
  28. package/dist/client/_nuxt/StateEditor.vue.a6af1a3f.js +1 -0
  29. package/dist/client/_nuxt/__blank.f74f0354.js +1 -0
  30. package/dist/client/_nuxt/analyze-build.d8530c6c.js +1 -0
  31. package/dist/client/_nuxt/assets.e5e05d1f.js +16 -0
  32. package/dist/client/_nuxt/{client.d93a636c.js → client.c658398a.js} +1 -1
  33. package/dist/client/_nuxt/{components.060d9fd5.js → components.c29053f6.js} +27 -27
  34. package/dist/client/_nuxt/custom-_name_.85ea5a6a.js +1 -0
  35. package/dist/client/_nuxt/{default.6eda7699.js → default.a568b6bd.js} +1 -1
  36. package/dist/client/_nuxt/editor.beb173d9.js +1 -0
  37. package/dist/client/_nuxt/entry.ea777320.css +1 -0
  38. package/dist/client/_nuxt/entry.eb90118b.js +19 -0
  39. package/dist/client/_nuxt/{error-404.7bcf1a44.js → error-404.47f56ae7.js} +1 -1
  40. package/dist/client/_nuxt/{error-500.b67f8091.js → error-500.3d8abd19.js} +1 -1
  41. package/dist/client/_nuxt/{error-component.5479d89e.js → error-component.97bd3af7.js} +2 -2
  42. package/dist/client/_nuxt/{full.89a525fd.js → full.039e8e59.js} +1 -1
  43. package/dist/client/_nuxt/hooks.4df47b77.js +1 -0
  44. package/dist/client/_nuxt/imports.dd38df5c.js +1 -0
  45. package/dist/client/_nuxt/{index.b8d7fad0.js → index.2d500b42.js} +1 -1
  46. package/dist/client/_nuxt/{index.a348e979.js → index.ee7015bb.js} +1 -1
  47. package/dist/client/_nuxt/json-editor-vue.6b7715bf.js +137 -0
  48. package/dist/client/_nuxt/{middleware.61ccc755.js → middleware.a6f1dc81.js} +1 -1
  49. package/dist/client/_nuxt/modules.8de52693.js +4 -0
  50. package/dist/client/_nuxt/{none.566b9a55.js → none.7a55d586.js} +1 -1
  51. package/dist/client/_nuxt/nuxt-docs.100caa70.js +1 -0
  52. package/dist/client/_nuxt/open-graph.ba654e1e.js +3 -0
  53. package/dist/client/_nuxt/overview.4725a261.js +1 -0
  54. package/dist/client/_nuxt/pages.46157a67.js +1 -0
  55. package/dist/client/_nuxt/payload.b59c0588.js +1 -0
  56. package/dist/client/_nuxt/plugins.6a2cae7a.js +1 -0
  57. package/dist/client/_nuxt/runtime-configs.4a7ef849.js +1 -0
  58. package/dist/client/_nuxt/server-routes.2d06f2c7.js +9 -0
  59. package/dist/client/_nuxt/settings.1b865c96.js +1 -0
  60. package/dist/client/_nuxt/state-components.ed0b4287.js +1 -0
  61. package/dist/client/_nuxt/storage.b18c38a9.js +1 -0
  62. package/dist/client/_nuxt/terminals.195d8588.js +9 -0
  63. package/dist/client/_nuxt/{terminals.d1dcf297.css → terminals.ae8c3544.css} +1 -1
  64. package/dist/client/_nuxt/{unocss-runtime.a821baa9.js → unocss-runtime.032bcb78.js} +2 -2
  65. package/dist/client/_nuxt/{virtual-files.2fc42163.js → virtual-files.5f7c5d81.js} +1 -1
  66. package/dist/client/index.html +2 -2
  67. package/dist/client/modules/analyze-build/index.html +2 -2
  68. package/dist/client/modules/assets/index.html +2 -2
  69. package/dist/client/modules/components/index.html +2 -2
  70. package/dist/client/modules/hooks/index.html +2 -2
  71. package/dist/client/modules/imports/index.html +2 -2
  72. package/dist/client/modules/middleware/index.html +2 -2
  73. package/dist/client/modules/modules/index.html +2 -2
  74. package/dist/client/modules/open-graph/index.html +2 -2
  75. package/dist/client/modules/overview/index.html +2 -2
  76. package/dist/client/modules/pages/index.html +2 -2
  77. package/dist/client/modules/payload/index.html +2 -2
  78. package/dist/client/modules/plugins/index.html +2 -2
  79. package/dist/client/modules/runtime-configs/index.html +2 -2
  80. package/dist/client/modules/server-routes/index.html +2 -2
  81. package/dist/client/modules/storage/index.html +2 -2
  82. package/dist/client/modules/terminals/index.html +2 -2
  83. package/dist/client/modules/virtual-files/index.html +2 -2
  84. package/dist/client/settings/index.html +2 -2
  85. package/dist/module.json +1 -1
  86. package/dist/module.mjs +1 -1
  87. package/dist/runtime/auth/index.html +71 -0
  88. package/dist/runtime/nitro/inline.d.ts +3 -0
  89. package/dist/runtime/nitro/inline.mjs +6 -0
  90. package/dist/runtime/plugins/devtools.client.d.ts +8 -0
  91. package/dist/runtime/plugins/devtools.client.mjs +73 -8
  92. package/dist/runtime/plugins/devtools.server.d.ts +2 -0
  93. package/dist/runtime/plugins/devtools.server.mjs +8 -0
  94. package/dist/runtime/plugins/view/Frame.vue +31 -228
  95. package/dist/runtime/plugins/view/FrameBox.vue +167 -0
  96. package/dist/runtime/plugins/view/Main.vue +360 -0
  97. package/dist/runtime/plugins/view/client.d.ts +3 -0
  98. package/dist/runtime/plugins/view/client.mjs +45 -0
  99. package/dist/runtime/plugins/view/state.d.ts +2 -3
  100. package/dist/runtime/plugins/view/state.mjs +12 -9
  101. package/dist/runtime/plugins/view/utils.d.ts +1 -0
  102. package/dist/runtime/plugins/view/utils.mjs +9 -0
  103. package/dist/shared/{devtools.345c630c.mjs → devtools.7ab40af4.mjs} +3 -1
  104. package/dist/types.d.ts +1 -1
  105. package/package.json +30 -29
  106. package/dist/client/__inspecting/index.html +0 -7
  107. package/dist/client/_nuxt/CodeSnippets.vue.0933ada7.js +0 -1
  108. package/dist/client/_nuxt/DrawerRight.vue.7bc0ac9b.js +0 -1
  109. package/dist/client/_nuxt/DurationDisplay.vue.d2a5c09b.js +0 -1
  110. package/dist/client/_nuxt/FilepathItem.vue.a3a55bfd.js +0 -1
  111. package/dist/client/_nuxt/LaunchPage.vue.dff3dd39.js +0 -1
  112. package/dist/client/_nuxt/NCheckbox.vue.cd1637b2.js +0 -1
  113. package/dist/client/_nuxt/NCodeBlock.vue.d5b2e85d.js +0 -2
  114. package/dist/client/_nuxt/NIconButton.vue.3defcade.js +0 -1
  115. package/dist/client/_nuxt/NIconTitle.vue.62b2ff0a.js +0 -1
  116. package/dist/client/_nuxt/NLink.vue.be635eca.js +0 -1
  117. package/dist/client/_nuxt/NMarkdown.vue.00fc3014.js +0 -1
  118. package/dist/client/_nuxt/NSectionBlock.63c19da9.css +0 -1
  119. package/dist/client/_nuxt/NSectionBlock.eb96beb4.js +0 -1
  120. package/dist/client/_nuxt/NSelect.vue.7652516b.js +0 -1
  121. package/dist/client/_nuxt/NSwitch.vue.c07ff0b7.js +0 -1
  122. package/dist/client/_nuxt/NTip.vue.3fd9b115.js +0 -1
  123. package/dist/client/_nuxt/NpmVersionCheck.vue.7bc4775a.js +0 -1
  124. package/dist/client/_nuxt/StateEditor.vue.6e8c107a.js +0 -1
  125. package/dist/client/_nuxt/__inspecting.137e909d.js +0 -1
  126. package/dist/client/_nuxt/analyze-build.790e4c36.js +0 -1
  127. package/dist/client/_nuxt/assets.1c0d54b4.js +0 -16
  128. package/dist/client/_nuxt/custom-_name_.e88f914e.js +0 -1
  129. package/dist/client/_nuxt/editor.4380b623.js +0 -1
  130. package/dist/client/_nuxt/entry.34446c1f.js +0 -19
  131. package/dist/client/_nuxt/entry.bf8a0e33.css +0 -1
  132. package/dist/client/_nuxt/hooks.99ea2107.js +0 -1
  133. package/dist/client/_nuxt/imports.29e62250.js +0 -1
  134. package/dist/client/_nuxt/json-editor-vue.62f947e8.js +0 -137
  135. package/dist/client/_nuxt/modules.f8953fab.js +0 -4
  136. package/dist/client/_nuxt/open-graph.26d327ec.js +0 -3
  137. package/dist/client/_nuxt/overview.4326006b.js +0 -1
  138. package/dist/client/_nuxt/pages.b234eacb.js +0 -1
  139. package/dist/client/_nuxt/payload.fbf9b90d.js +0 -1
  140. package/dist/client/_nuxt/plugins.9c9f9450.js +0 -1
  141. package/dist/client/_nuxt/runtime-configs.cf5a4a0c.js +0 -1
  142. package/dist/client/_nuxt/server-routes.7185e439.js +0 -9
  143. package/dist/client/_nuxt/settings.8603972f.js +0 -1
  144. package/dist/client/_nuxt/state-components.f564bfa7.js +0 -1
  145. package/dist/client/_nuxt/storage.4b5872ff.js +0 -1
  146. package/dist/client/_nuxt/terminals.d263a781.js +0 -9
  147. package/dist/runtime/plugins/view/Container.vue +0 -97
@@ -1,4 +0,0 @@
1
- import{_ as Pe}from"./FilepathItem.vue.a3a55bfd.js";import{a as R,p as D,o as h,c as M,w as x,f as d,Z as B,u as m,l as I,t as N,h as $,s as H,v as C,i as b,F as P,q as W,J as le,a6 as we,ap as Re,r as Z,ac as je,k as ae,aq as Fe,U as ke,a8 as Ue,a9 as He,ar as qe,as as We,at as Ke,y as he,au as Ie,av as ze,aw as Ye,ax as Je,ah as Se,ay as Ge,az as Xe,aA as Ze,a7 as Qe,aB as et,z as tt,aa as ve,ae as nt,aC as it,S as ot,X as st,I as rt,K as lt,a3 as at,aD as ut,L as ct,G as dt,ad as _e}from"./entry.34446c1f.js";import{_ as ft}from"./NpmVersionCheck.vue.7bc4775a.js";import{u as Ce}from"./editor.4380b623.js";import{_ as mt}from"./NSectionBlock.eb96beb4.js";import{_ as Me}from"./NIconButton.vue.3defcade.js";import{_ as pt}from"./NIconTitle.vue.62b2ff0a.js";import{_ as ht}from"./Badge.ade65c69.js";import{_ as Te}from"./NCodeBlock.vue.d5b2e85d.js";import{_ as vt}from"./NLink.vue.be635eca.js";import{_ as _t}from"./NTip.vue.3fd9b115.js";import{_ as yt}from"./HelpFab.vue.1ab4e4f1.js";import"./NCheckbox.vue.cd1637b2.js";import"./client.d93a636c.js";const gt={flex:"~ col gap2","flex-auto":"","of-hidden":"",px1:""},bt={"gap-1t":"",flex:"","items-center":"","text-ellipsis":"","ws-nowrap":"","text-lg":""},xt={key:2},$t=d("div",{"flex-auto":""},null,-1),wt={key:1,flex:"~ gap-2",title:"Documentation"},kt=d("span",{"i-carbon-link":"","text-lg":"",op50:""},null,-1),It={key:2,flex:"~ gap-2"},zt=d("span",{"i-carbon-logo-github":"","text-lg":"",op50:""},null,-1),St={flex:"~ col","items-end":""},Ct={key:0,"h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p4:""},Mt=["src","alt"],Tt=d("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),Ot={key:1,flex:"~",mt2:"","flex-auto":"","items-end":"","justify-end":""},Nt=["src"],Lt=d("div",{"flex-auto":""},null,-1),Vt={flex:"","justify-end":""},Et="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",Dt="https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/",Bt="https://github.com/",At="https://www.npmjs.com/package/",ue=R({__name:"ModuleItemBase",props:{mod:null,info:null,compact:{type:Boolean},maintainers:{type:Boolean,default:!0}},setup(e){const t=e,n=D(()=>({...t.mod?.meta,...t.mod,...t.info})),i=Ce();return(o,s)=>{const l=le,a=we;return h(),M(a,{p4:"",flex:"~ gap2"},{default:x(()=>[d("div",gt,[B(o.$slots,"main",{},()=>[d("div",bt,[e.mod.isPackageModule?(h(),M(l,{key:0,to:At+(m(n).npm||m(n).name),target:"_blank",hover:"underline text-primary"},{default:x(()=>[I(N(m(n).name),1)]),_:1},8,["to"])):e.mod.entryPath?(h(),$("button",{key:1,role:"button",hover:"underline text-primary",onClick:s[0]||(s[0]=r=>m(i)(e.mod.entryPath))},N(m(n).name),1)):(h(),$("span",xt,N(m(n).name),1)),B(o.$slots,"badge")]),m(n).description?(h(),$("div",{key:0,class:H(e.compact?"ws-nowrap of-hidden truncate":"line-clamp-2"),"mt--1":"","text-sm":"",op50:""},N(m(n).description),3)):C("",!0),$t,m(n).website?(h(),$("div",wt,[kt,b(l,{to:m(n).website,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:x(()=>[I(N(m(n).website.replace(/^https?:\/\//,"")),1)]),_:1},8,["to"])])):C("",!0),m(n).github?(h(),$("div",It,[zt,b(l,{to:m(n).github,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:x(()=>[I(N(m(n).github.replace(/^https?:\/\/github.com\//,"")),1)]),_:1},8,["to"])])):C("",!0)]),B(o.$slots,"items")]),d("div",St,[m(n).icon||e.mod.isPackageModule?(h(),$("div",Ct,[m(n).icon?(h(),$("img",{key:0,src:Et+m(n).icon,alt:e.mod.name,ma:""},null,8,Mt)):C("",!0),Tt])):C("",!0),m(n).maintainers?.length&&e.maintainers?(h(),$("div",Ot,[(h(!0),$(P,null,W(m(n).maintainers,r=>(h(),M(l,{key:r.name,target:"_blank",to:Bt+r.github,title:r.name},{default:x(()=>[d("img",{src:Dt+r.github,"h-6":"","w-6":"","rounded-full":""},null,8,Nt)]),_:2},1032,["to","title"]))),128))])):C("",!0),o.$slots.actions?(h(),$(P,{key:2},[Lt,d("div",Vt,[B(o.$slots,"actions")])],64)):C("",!0)])]),_:3})}}}),Pt={key:0,flex:"~ gap-2",title:"Open on filesystem"},Rt=d("span",{"i-carbon-folder-move-to":"","text-lg":"",op50:""},null,-1),jt=d("span",{"i-carbon-circle-dash":"","animate-spin":"","text-lg":"",op50:""},null,-1),Ft=d("code",{"text-sm":"",op50:""},"Upgrading...",-1),Ut={key:1,"mx--2":""},Ht=["onClick"],qt=d("span",{"i-carbon-intent-request-active":"","text-lg":"","text-primary":""},null,-1),Wt=d("code",{"text-xs":""},"Update installed, click to restart",-1),Kt=[qt,Wt],Yt={key:2,"mx--2":""},Jt=["onClick"],Gt=d("span",{"i-carbon-intent-request-upgrade":"","text-lg":"",op50:""},null,-1),Xt={op50:""},Zt=d("div",{"i-carbon-arrow-right":"",op50:""},null,-1),Qt={"text-green":""},en={key:3,flex:"~ gap-2","items-center":"",title:"NPM"},tn=d("span",{"i-carbon-cube":"","text-lg":"",op50:""},null,-1),nn={"text-sm":"",op50:""},on=R({__name:"ModuleItem",props:{mod:{}},setup(e){const t=e,n=D(()=>t.mod.info),i=D(()=>({...t.mod?.meta,...t.mod,...n.value}));return(o,s)=>{const l=Pe,a=le,r=ft,u=ue;return h(),M(u,{mod:o.mod,info:m(n)},{items:x(()=>[o.mod.entryPath?(h(),$("div",Pt,[Rt,b(l,{filepath:o.mod.entryPath,"text-sm":"",op50:"",hover:"text-primary op100"},null,8,["filepath"])])):C("",!0),m(i).npm?(h(),M(r,{key:m(i).npm,"package-name":m(i).npm,options:{dev:!0}},{default:x(({info:f,update:v,state:_,id:w,restart:k})=>[_==="running"?(h(),M(a,{key:0,flex:"~ gap-2","animate-pulse":"","items-center":"",to:w?`/modules/terminals?id=${encodeURIComponent(w)}`:void 0},{default:x(()=>[jt,Ft]),_:2},1032,["to"])):_==="updated"?(h(),$("div",Ut,[d("button",{flex:"~ gap-2",hover:"bg-primary/20","items-center":"",rounded:"","bg-primary:10":"",px2:"","text-sm":"","text-primary":"",onClick:k},Kt,8,Ht)])):f?.needsUpdate?(h(),$("div",Yt,[d("button",{flex:"~ gap-2",title:"Click to upgrade","items-center":"",rounded:"",px2:"","text-sm":"",hover:"bg-active",onClick:p=>v()},[Gt,d("code",Xt,"v"+N(f.current),1),Zt,d("code",Qt,"v"+N(f.latest),1)],8,Jt)])):f?.latest?(h(),$("div",en,[tn,d("code",nn,"v"+N(f.current),1)])):C("",!0)]),_:1},8,["package-name"])):C("",!0)]),_:1},8,["mod","info"])}}}),sn=R({__name:"NDropdown",props:{modelValue:{type:Boolean}},emits:[],setup(e,{emit:t}){const i=Re(e,"modelValue",t,{passive:!0}),o=Z();return je(o,()=>{i.value=!1}),(s,l)=>{const a=ae;return h(),$("div",{ref_key:"el",ref:o,class:"relative"},[B(s.$slots,"trigger",{enabled:m(i),click:()=>i.value=!m(i)},()=>[b(a,{onClick:l[0]||(l[0]=r=>i.value=!m(i))},{default:x(()=>[I(" Dropdown ")]),_:1})]),d("div",{class:H(["absolute z-10 border n-border-base rounded shadow n-transition n-bg-base",[m(i)?"op-100":"op0 pointer-events-none -translate-y-1"]])},[B(s.$slots,"default")],2)],512)}}}),Oe=["pages","meta","components","imports","nuxt-config-schema","@nuxt/devtools","@nuxt/telemetry"];function Ne(){return We("getModulesList",async()=>(await $fetch("https://cdn.jsdelivr.net/npm/@nuxt/modules@latest/modules.json")).filter(t=>!Oe.includes(t.npm)&&t.compatibility.nuxt.includes("^3")))}function Le(){return Fe("installed-modules",()=>{const e=ke(),t=Ne();return D(()=>(e.value?._installedModules||[]).map(n=>{if(!n.entryPath)return;const i=n.entryPath&&Ue(n.entryPath),o=n.meta?.name?n.meta?.name:n.entryPath?i?He(n.entryPath):e.value?.rootDir?qe(n.entryPath,e.value?.rootDir).path:void 0:void 0,s=e.value?.modules?.includes(o),l=t.value?.find(a=>a.npm===o)||t.value?.find(a=>a.name===o);return{name:o,isPackageModule:i,isUninstallable:s,info:l,...n}}).filter(n=>n&&(!n.name||!Oe.includes(n.name))))})}const rn=R({__name:"ModuleItemInstall",props:{item:null},emits:["start"],setup(e,{emit:t}){const n=e,i=Le(),o=D(()=>i.value.find(u=>u.name===n.item.npm)),s=D(()=>o.value&&o.value.isPackageModule),l=D(()=>o.value&&o.value.isPackageModule&&o.value.isUninstallable);async function a(u,f){const v=f==="install"?he.installNuxtModule:he.uninstallNuxtModule,_=await v(u.npm,!0);_.commands&&await Ie.start(u,_,f)&&(ze.value.push({name:u.npm,info:u,processId:_.processId}),t("start"),await v(u.npm,!1))}const r={};return(u,f)=>{const v=ht,_=Me,w=ae,k=sn,p=ue;return h(),M(p,{mod:r,role:m(s)?"":"button",info:e.item,mb2:"","h-full":"",class:H(m(s)?"border-dashed op75":"hover:bg-active!"),compact:!0,onClick:f[1]||(f[1]=c=>m(s)?null:a(e.item,"install"))},Ke({_:2},[m(s)?{name:"badge",fn:x(()=>[b(v,{"bg-green-400:10":"","text-green-400":""},{default:x(()=>[I(" Installed ")]),_:1}),m(l)?(h(),M(k,{key:0,n:"sm green"},{trigger:x(({click:c})=>[b(_,{icon:"carbon-overflow-menu-vertical",onClick:L=>c()},null,8,["onClick"])]),default:x(()=>[b(w,{icon:"carbon-trash-can",n:"red",onClick:f[0]||(f[0]=c=>a(e.item,"uninstall"))},{default:x(()=>[I(" Uninstall ")]),_:1})]),_:1})):C("",!0)]),key:"0"}:void 0]),1032,["role","info","class"])}}});function ln(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}let J;function te(){te.init||(te.init=!0,J=ln()!==-1)}var Q={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){te(),Se(()=>{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",J&&this.$el.appendChild(e),e.data="about:blank",J||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&&(!J&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const an=Ge();Ye("data-v-b329ee4c");const un={class:"resize-observer",tabindex:"-1"};Je();const cn=an((e,t,n,i,o,s)=>(h(),M("div",un)));Q.render=cn;Q.__scopeId="data-v-b329ee4c";Q.__file="src/components/ResizeObserver.vue";function G(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(t){return typeof t}:G=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},G(e)}function dn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ye(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function fn(e,t,n){return t&&ye(e.prototype,t),n&&ye(e,n),e}function ge(e){return mn(e)||pn(e)||hn(e)||vn()}function mn(e){if(Array.isArray(e))return ne(e)}function pn(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function hn(e,t){if(e){if(typeof e=="string")return ne(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ne(e,t)}}function ne(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function vn(){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 _n(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function yn(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s,l=function(r){for(var u=arguments.length,f=new Array(u>1?u-1:0),v=1;v<u;v++)f[v-1]=arguments[v];if(s=f,!(i&&r===o)){var _=n.leading;typeof _=="function"&&(_=_(r,o)),(!i||r!==o)&&_&&e.apply(void 0,[r].concat(ge(s))),o=r,clearTimeout(i),i=setTimeout(function(){e.apply(void 0,[r].concat(ge(s))),i=0},t)}};return l._clear=function(){clearTimeout(i),i=null},l}function Ve(e,t){if(e===t)return!0;if(G(e)==="object"){for(var n in e)if(!Ve(e[n],t[n]))return!1;return!0}return!1}var gn=function(){function e(t,n,i){dn(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,i)}return fn(e,[{key:"createObserver",value:function(n,i){var o=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=_n(n),this.callback=function(a,r){o.options.callback(a,r),a&&o.options.once&&(o.frozen=!0,o.destroyObserver())},this.callback&&this.options.throttle){var s=this.options.throttleOptions||{},l=s.leading;this.callback=yn(this.callback,this.options.throttle,{leading:function(r){return l==="both"||l==="visible"&&r||l==="hidden"&&!r}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(a){var r=a[0];if(a.length>1){var u=a.find(function(v){return v.isIntersecting});u&&(r=u)}if(o.callback){var f=r.isIntersecting&&r.intersectionRatio>=o.threshold;if(f===o.oldResult)return;o.oldResult=f,o.callback(f,r)}},this.options.intersection),Se(function(){o.observer&&o.observer.observe(o.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 Ee(e,t,n){var i=t.value;if(i)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 o=new gn(e,i,n);e._vue_visibilityState=o}}function bn(e,t,n){var i=t.value,o=t.oldValue;if(!Ve(i,o)){var s=e._vue_visibilityState;if(!i){De(e);return}s?s.createObserver(i,n):Ee(e,{value:i},n)}}function De(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var xn={beforeMount:Ee,updated:bn,unmounted:De},$n={itemsLimit:1e3},wn=/(auto|scroll)/;function Be(e,t){return e.parentNode===null?t:Be(e.parentNode,t.concat([e]))}var ee=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},kn=function(t){return ee(t,"overflow")+ee(t,"overflow-y")+ee(t,"overflow-x")},In=function(t){return wn.test(kn(t))};function be(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=Be(e.parentNode,[]),n=0;n<t.length;n+=1)if(In(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function ie(e){"@babel/helpers - typeof";return ie=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},ie(e)}var zn={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 Sn(){return this.items.length&&ie(this.items[0])!=="object"}var oe=!1;if(typeof window<"u"){oe=!1;try{var Cn=Object.defineProperty({},"passive",{get:function(){oe=!0}});window.addEventListener("test",null,Cn)}catch{}}let Mn=0;var ce={name:"RecycleScroller",components:{ResizeObserver:Q},directives:{ObserveVisibility:xn},props:{...zn,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,n=this.sizeField,i=this.minItemSize;let o=1e4,s=0,l;for(let a=0,r=t.length;a<r;a++)l=t[a][n]||i,l<o&&(o=l),s+=l,e[a]={accumulator:s,size:l};return this.$_computedMinItemSize=o,e}return[]},simpleArray:Sn,itemIndexByKey(){const{keyField:e,items:t}=this,n={};for(let i=0,o=t.length;i<o;i++)n[t[i][e]]=i;return n}},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,n,i,o){const s=Xe({id:Mn++,index:t,used:!0,key:i,type:o}),l=Ze({item:n,position:0,nr:s});return e.push(l),l},unuseView(e,t=!1){const n=this.$_unusedViews,i=e.nr.type;let o=n.get(i);o||(o=[],n.set(i,o)),o.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:n}=this.updateVisibleItems(!1,!0);n||(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 n=this.itemSize,i=this.gridItems||1,o=this.itemSecondarySize||n,s=this.$_computedMinItemSize,l=this.typeField,a=this.simpleArray?null:this.keyField,r=this.items,u=r.length,f=this.sizes,v=this.$_views,_=this.$_unusedViews,w=this.pool,k=this.itemIndexByKey;let p,c,L,z,O;if(!u)p=c=z=O=L=0;else if(this.$_prerender)p=z=0,c=O=Math.min(this.prerender,r.length),L=null;else{const g=this.getScroll();if(t){let T=g.start-this.$_lastUpdateScrollPosition;if(T<0&&(T=-T),n===null&&T<s||T<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=g.start;const V=this.buffer;g.start-=V,g.end+=V;let S=0;if(this.$refs.before&&(S=this.$refs.before.scrollHeight,g.start-=S),this.$refs.after){const T=this.$refs.after.scrollHeight;g.end+=T}if(n===null){let T,q=0,me=u-1,E=~~(u/2),pe;do pe=E,T=f[E].accumulator,T<g.start?q=E:E<u-1&&f[E+1].accumulator>g.start&&(me=E),E=~~((q+me)/2);while(E!==pe);for(E<0&&(E=0),p=E,L=f[u-1].accumulator,c=E;c<u&&f[c].accumulator<g.end;c++);for(c===-1?c=r.length-1:(c++,c>u&&(c=u)),z=p;z<u&&S+f[z].accumulator<g.start;z++);for(O=z;O<u&&S+f[O].accumulator<g.end;O++);}else{p=~~(g.start/n*i);const T=p%i;p-=T,c=Math.ceil(g.end/n*i),z=Math.max(0,Math.floor((g.start-S)/n*i)),O=Math.floor((g.end-S)/n*i),p<0&&(p=0),c>u&&(c=u),z<0&&(z=0),O>u&&(O=u),L=Math.ceil(u/i)*n}}c-p>$n.itemsLimit&&this.itemsLimitError(),this.totalSize=L;let y;const F=p<=this.$_endIndex&&c>=this.$_startIndex;if(F)for(let g=0,V=w.length;g<V;g++)y=w[g],y.nr.used&&(e&&(y.nr.index=k[y.item[a]]),(y.nr.index==null||y.nr.index<p||y.nr.index>=c)&&this.unuseView(y));const fe=F?null:new Map;let U,A,Y;for(let g=p;g<c;g++){U=r[g];const V=a?U[a]:U;if(V==null)throw new Error(`Key is ${V} on item (keyField is '${a}')`);if(y=v.get(V),!n&&!f[g].size){y&&this.unuseView(y);continue}A=U[l];let S=_.get(A),T=!1;if(!y)F?S&&S.length?y=S.pop():y=this.addView(w,g,U,V,A):(Y=fe.get(A)||0,(!S||Y>=S.length)&&(y=this.addView(w,g,U,V,A),this.unuseView(y,!0),S=_.get(A)),y=S[Y],fe.set(A,Y+1)),v.delete(y.nr.key),y.nr.used=!0,y.nr.index=g,y.nr.key=V,y.nr.type=A,v.set(V,y),T=!0;else if(!y.nr.used&&(y.nr.used=!0,T=!0,S)){const q=S.indexOf(y);q!==-1&&S.splice(q,1)}y.item=U,T&&(g===r.length-1&&this.$emit("scroll-end"),g===0&&this.$emit("scroll-start")),n===null?(y.position=f[g-1].accumulator,y.offset=0):(y.position=Math.floor(g/i)*n,y.offset=g%i*o)}return this.$_startIndex=p,this.$_endIndex=c,this.emitUpdate&&this.$emit("update",p,c,z,O),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:F}},getListenerTarget(){let e=be(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,n=t==="vertical";let i;if(this.pageMode){const o=e.getBoundingClientRect(),s=n?o.height:o.width;let l=-(n?o.top:o.left),a=n?window.innerHeight:window.innerWidth;l<0&&(a+=l,l=0),l+a>s&&(a=s-l),i={start:l,end:l+a}}else n?i={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:i={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return i},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,oe?{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 n=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/n)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,i,o;if(this.pageMode){const s=be(this.$el),l=s.tagName==="HTML"?0:s[t.scroll],a=s.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-a[t.start];n=s,i=t.scroll,o=e+l+u}else n=this.$el,i=t.scroll,o=e;n[i]=o},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 Tn={key:0,ref:"before",class:"vue-recycle-scroller__slot"},On={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Nn(e,t,n,i,o,s){const l=Qe("ResizeObserver"),a=et("observe-visibility");return tt((h(),$("div",{class:H(["vue-recycle-scroller",{ready:o.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...r)=>s.handleScroll&&s.handleScroll(...r))},[e.$slots.before?(h(),$("div",Tn,[B(e.$slots,"before")],512)):C("v-if",!0),(h(),M(ve(n.listTag),{ref:"wrapper",style:ot({[e.direction==="vertical"?"minHeight":"minWidth"]:o.totalSize+"px"}),class:H(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:x(()=>[(h(!0),$(P,null,W(o.pool,r=>(h(),M(ve(n.itemTag),nt({key:r.nr.id,style:o.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${r.position}px) translate${e.direction==="vertical"?"X":"Y"}(${r.offset}px)`,width:n.gridItems?`${e.direction==="vertical"&&n.itemSecondarySize||n.itemSize}px`:void 0,height:n.gridItems?`${e.direction==="horizontal"&&n.itemSecondarySize||n.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[n.itemClass,{hover:!n.skipHover&&o.hoverKey===r.nr.key}]]},it(n.skipHover?{}:{mouseenter:()=>{o.hoverKey=r.nr.key},mouseleave:()=>{o.hoverKey=null}})),{default:x(()=>[B(e.$slots,"default",{item:r.item,index:r.nr.index,active:r.nr.used})]),_:2},1040,["style","class"]))),128)),B(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(h(),$("div",On,[B(e.$slots,"after")],512)):C("v-if",!0),b(l,{onNotify:s.handleResize},null,8,["onNotify"])],34)),[[a,s.handleVisibilityChange]])}ce.render=Nn;ce.__file="src/components/RecycleScroller.vue";const Ln={"h-full":"",flex:"~ col gap-4"},Vn={"flex-auto":"","of-auto":"",flex:"~ col gap-2",pl6:"",pr4:""},En=R({__name:"ModuleInstallList",emits:["close"],setup(e,{emit:t}){const n=Ne(),i=Z(""),o=D(()=>new st(n.value||[],{keys:["name","description","npm","category"]})),s=D(()=>i.value?o.value.search(i.value).map(l=>l.item):n.value);return(l,a)=>{const r=pt,u=lt,f=rn;return h(),$("div",Ln,[b(r,{mx6:"",mt6:"","text-xl":"",op75:"",icon:"i-carbon-intent-request-create",text:"Install Module"}),b(u,{modelValue:m(i),"onUpdate:modelValue":a[0]||(a[0]=v=>rt(i)?i.value=v:null),placeholder:"Search...",icon:"carbon-search",n:"primary",mx6:"","px-5":"","py-2":""},null,8,["modelValue"]),d("div",Vn,[b(m(ce),{class:"scroller",items:m(s),"item-size":160,"key-field":"name"},{default:x(({item:v})=>[b(f,{item:v,onStart:a[1]||(a[1]=_=>t("close"))},null,8,["item"])]),_:1},8,["items"])])])}}});function j(){}j.prototype={diff:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.callback;typeof i=="function"&&(o=i,i={}),this.options=i;var s=this;function l(p){return o?(setTimeout(function(){o(void 0,p)},0),!0):p}t=this.castInput(t),n=this.castInput(n),t=this.removeEmpty(this.tokenize(t)),n=this.removeEmpty(this.tokenize(n));var a=n.length,r=t.length,u=1,f=a+r;i.maxEditLength&&(f=Math.min(f,i.maxEditLength));var v=[{newPos:-1,components:[]}],_=this.extractCommon(v[0],n,t,0);if(v[0].newPos+1>=a&&_+1>=r)return l([{value:this.join(n),count:n.length}]);function w(){for(var p=-1*u;p<=u;p+=2){var c=void 0,L=v[p-1],z=v[p+1],O=(z?z.newPos:0)-p;L&&(v[p-1]=void 0);var y=L&&L.newPos+1<a,F=z&&0<=O&&O<r;if(!y&&!F){v[p]=void 0;continue}if(!y||F&&L.newPos<z.newPos?(c=Bn(z),s.pushComponent(c.components,void 0,!0)):(c=L,c.newPos++,s.pushComponent(c.components,!0,void 0)),O=s.extractCommon(c,n,t,p),c.newPos+1>=a&&O+1>=r)return l(Dn(s,c.components,n,t,s.useLongestToken));v[p]=c}u++}if(o)(function p(){setTimeout(function(){if(u>f)return o();w()||p()},0)})();else for(;u<=f;){var k=w();if(k)return k}},pushComponent:function(t,n,i){var o=t[t.length-1];o&&o.added===n&&o.removed===i?t[t.length-1]={count:o.count+1,added:n,removed:i}:t.push({count:1,added:n,removed:i})},extractCommon:function(t,n,i,o){for(var s=n.length,l=i.length,a=t.newPos,r=a-o,u=0;a+1<s&&r+1<l&&this.equals(n[a+1],i[r+1]);)a++,r++,u++;return u&&t.components.push({count:u}),t.newPos=a,r},equals:function(t,n){return this.options.comparator?this.options.comparator(t,n):t===n||this.options.ignoreCase&&t.toLowerCase()===n.toLowerCase()},removeEmpty:function(t){for(var n=[],i=0;i<t.length;i++)t[i]&&n.push(t[i]);return n},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};function Dn(e,t,n,i,o){for(var s=0,l=t.length,a=0,r=0;s<l;s++){var u=t[s];if(u.removed){if(u.value=e.join(i.slice(r,r+u.count)),r+=u.count,s&&t[s-1].added){var v=t[s-1];t[s-1]=t[s],t[s]=v}}else{if(!u.added&&o){var f=n.slice(a,a+u.count);f=f.map(function(w,k){var p=i[r+k];return p.length>w.length?p:w}),u.value=e.join(f)}else u.value=e.join(n.slice(a,a+u.count));a+=u.count,u.added||(r+=u.count)}}var _=t[l-1];return l>1&&typeof _.value=="string"&&(_.added||_.removed)&&e.equals("",_.value)&&(t[l-2].value+=_.value,t.pop()),t}function Bn(e){return{newPos:e.newPos,components:e.components.slice(0)}}var xe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,$e=/\S/,Ae=new j;Ae.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!$e.test(e)&&!$e.test(t)};Ae.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&xe.test(t[n])&&xe.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var de=new j;de.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var i=0;i<n.length;i++){var o=n[i];i%2&&!this.options.newlineIsToken?t[t.length-1]+=o:(this.options.ignoreWhitespace&&(o=o.trim()),t.push(o))}return t};function An(e,t,n){return de.diff(e,t,n)}var Pn=new j;Pn.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var Rn=new j;Rn.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function X(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?X=function(t){return typeof t}:X=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},X(e)}var jn=Object.prototype.toString,K=new j;K.useLongestToken=!0;K.tokenize=de.tokenize;K.castInput=function(e){var t=this.options,n=t.undefinedReplacement,i=t.stringifyReplacer,o=i===void 0?function(s,l){return typeof l>"u"?n:l}:i;return typeof e=="string"?e:JSON.stringify(se(e,null,null,o),o," ")};K.equals=function(e,t){return j.prototype.equals.call(K,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function se(e,t,n,i,o){t=t||[],n=n||[],i&&(e=i(o,e));var s;for(s=0;s<t.length;s+=1)if(t[s]===e)return n[s];var l;if(jn.call(e)==="[object Array]"){for(t.push(e),l=new Array(e.length),n.push(l),s=0;s<e.length;s+=1)l[s]=se(e[s],t,n,i,o);return t.pop(),n.pop(),l}if(e&&e.toJSON&&(e=e.toJSON()),X(e)==="object"&&e!==null){t.push(e),l={},n.push(l);var a=[],r;for(r in e)e.hasOwnProperty(r)&&a.push(r);for(a.sort(),s=0;s<a.length;s+=1)r=a[s],l[r]=se(e[r],t,n,i,r);t.pop(),n.pop()}else l=e;return l}var re=new j;re.tokenize=function(e){return e.slice()};re.join=re.removeEmpty=function(e){return e};const Fn=R({__name:"CodeDiff",props:{from:null,to:null,lang:null},setup(e){const t=e;function n(a,r){const u=An(a.trim(),r.trim()),f=[],v=[],_=[];for(const w of u){const k=w.value.trimEnd().split(`
3
- `);for(const p of k)w.added?(f.push(_.length),_.push(p)):(w.removed&&v.push(_.length),_.push(p))}return{added:f,removed:v,result:_.join(`
4
- `)}}const i=D(()=>n(t.from,t.to));function o(a){let r=0;return a.replace(/class="shiki/,'class="shiki diff').replace(/class="line"/g,u=>(r++,i.value.added.includes(r-1)?'class="line line-added"':i.value.removed.includes(r-1)?'class="line line-removed"':u))}const s=Z();at(l);function l(){const a=ut(s);a&&a.querySelector(".line-added,.line-removed")?.scrollIntoView()}return(a,r)=>{const u=Te;return h(),M(u,{ref_key:"elRef",ref:s,code:m(i).result,lang:e.lang,"transform-rendered":o,onLoaded:l},null,8,["code","lang"])}}}),Un={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},Hn={capitalize:""},qn=d("p",{op50:""}," Following command will be executed in your terminal: ",-1),Wn={op50:""},Kn=d("p",null,[d("span",{op50:""},"After that, Nuxt will "),d("span",{"text-orange":""},"restart automatically"),I(". ")],-1),Yn={flex:"~ gap-3",mt2:"","justify-end":""},Jn=R({__name:"ModuleActionDialog",setup(e){const t=ke(),n=Ce(),i={};return(o,s)=>{const l=ue,a=Te,r=vt,u=Fn,f=_t,v=ae,_=ct;return h(),M(m(Ie),null,{default:x(({resolve:w,args:k})=>[b(_,{"model-value":!0,onClose:p=>w(!1)},{default:x(()=>[b(l,{mod:i,info:k[0],border:"none","w-150":"","n-panel-grids":""},null,8,["info"]),d("div",Un,[d("h2",{"text-xl":"",class:H(k[2]==="install"?"text-primary":"text-red")},[d("span",Hn,N(k[2]),1),I(),d("code",null,N(k[0].name),1),I("? ")],2),qn,b(a,{code:k[1].commands.join(" "),lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),d("p",Wn,[I(" Then your "),b(r,{role:"button",n:"primary",onClick:s[0]||(s[0]=p=>m(n)(m(t)?._nuxtConfigFile)),textContent:"Nuxt config"}),I(" will be updated as: ")]),b(u,{from:k[1].configOriginal,to:k[1].configGenerated,"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),Kn,d("div",Yn,[b(f,{n:"sm purple","flex-auto":"",icon:"carbon-chemistry"},{default:x(()=>[I(" Experimental. Backup your project first. ")]),_:1}),b(v,{onClick:p=>w(!1)},{default:x(()=>[I(" Cancel ")]),_:2},1032,["onClick"]),b(v,{n:"solid",capitalize:"",class:H(k[2]==="install"?"n-primary":"n-red"),onClick:p=>w(!0)},{default:x(()=>[I(N(k[2]),1)]),_:2},1032,["class","onClick"])])])]),_:2},1032,["onClose"])]),_:1})}}}),Gn={class:"markdown-body"},Xn=d("h1",null,"Modules",-1),Zn=d("p",null,[I("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 "),d("code",null,"nuxt.config"),I(".")],-1),Qn=d("p",null,[I("You can explore the list of modules on "),d("a",{href:"https://nuxt.com/modules",target:"_blank",rel:"noopener"},"nuxt.com/modules"),I(" or install them directly inside the DevTools.")],-1),ei=d("p",null,[d("a",{href:"https://nuxt.com/docs/guide/concepts/modules",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),ti=[Xn,Zn,Qn,ei],ni={__name:"modules",setup(e,{expose:t}){return t({frontmatter:{}}),(i,o)=>(h(),$("div",Gn,ti))}},ii={"h-full":"","w-full":"","of-auto":""},oi={relative:"","h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p3:""},si=["src","alt"],ri=d("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),li={"text-lg":"","group-hover":"text-primary",transition:"",flex:"~ gap-2 items-center"},ai=d("div",{"i-carbon-circle-dash":"","animate-spin":"","text-xl":"",op75:""},null,-1),ui={op75:""},ci=d("div",{"i-carbon-intent-request-create":"","text-4xl":"",op40:"","group-hover":"op75 text-primary",transition:""},null,-1),di=d("div",{"text-lg":"",op40:"","group-hover":"op75 text-primary",transition:""}," Install New Module ",-1),fi={key:0,border:"l base",pos:"fixed bottom-0 right-0 top-0","z-200":"","w-150":"","bg-base":""},mi="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",Ci=R({__name:"modules",setup(e){const t=Z(!1),n=Le(),i=D(()=>n.value.filter(s=>s.isPackageModule)),o=D(()=>n.value.filter(s=>!s.isPackageModule));return dt(()=>[{id:"modules:install",title:"Install a new module",icon:"i-carbon-intent-request-create ",action:()=>{t.value=!0}}]),(s,l)=>{const a=on,r=we,u=le,f=mt,v=Me,_=En,w=Jn,k=ni,p=yt;return h(),$(P,null,[d("div",ii,[b(f,{icon:"carbon-3d-mpr-toggle",text:"Installed Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${m(i).length}`},{default:x(()=>[(h(!0),$(P,null,W(m(i),c=>(h(),M(a,{key:c.name,mod:c},null,8,["mod"]))),128)),(h(!0),$(P,null,W("processInstallingModules"in s?s.processInstallingModules:m(ze),c=>(h(),M(u,{key:c.processId,block:"","min-h-30":"",to:`/modules/terminals?id=${encodeURIComponent(c.processId)}`},{default:x(()=>[b(r,{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:x(()=>[d("div",oi,[d("img",{src:mi+c.info.icon,alt:c.info.name,ma:""},null,8,si),ri]),d("div",li,[ai,d("span",ui,"Installing "+N(c.name)+"...",1)])]),_:2},1024)]),_:2},1032,["to"]))),128)),b(r,{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]=c=>t.value=!0)},{default:x(()=>[ci,di]),_:1})]),_:1},8,["description"]),m(o).length?(h(),M(f,{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(o).length}`},{default:x(()=>[(h(!0),$(P,null,W(m(o),c=>(h(),$(P,{key:c.meta?.name||c.entryPath},[c.meta?.name||c.entryPath?(h(),M(a,{key:0,mod:c},null,8,["mod"])):C("",!0)],64))),128))]),_:1},8,["description"])):C("",!0),b(_e,{name:"fade-in"},{default:x(()=>[m(t)?(h(),$("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]=c=>t.value=!1)})):C("",!0)]),_:1}),b(_e,{name:"slide-in"},{default:x(()=>[m(t)?(h(),$("div",fi,[b(v,{icon:"carbon-close",pos:"absolute top-3 right-3","rounded-full":"","text-xl":"",onClick:l[2]||(l[2]=c=>t.value=!1)}),b(_,{onClose:l[3]||(l[3]=c=>t.value=!1)})])):C("",!0)]),_:1}),b(w)]),b(p,null,{default:x(()=>[b(k)]),_:1})],64)}}});export{Ci as default};
@@ -1,3 +0,0 @@
1
- import{a as S,o,c as M,w as g,Z as X,h as a,v as x,n as ee,g as te,aa as oe,p as C,aE as ne,r as A,u as e,f as t,q as L,s as O,t as _,F as T,i as d,l as k,a6 as G,k as ae,S as R,aF as J,aG as se,aH as re,T as ie,aI as ce,aJ as le,aK as de,aL as z,ah as pe,I as me,aM as ue,K as ge}from"./entry.34446c1f.js";import{_ as he}from"./NIconButton.vue.3defcade.js";import{_ as _e}from"./Navbar.vue.12ff05d9.js";import{_ as fe}from"./NLink.vue.be635eca.js";import{_ as P}from"./NSectionBlock.eb96beb4.js";import{_ as ve}from"./NCodeBlock.vue.d5b2e85d.js";import{a as be,u as V}from"./editor.4380b623.js";import{_ as we}from"./HelpFab.vue.1ab4e4f1.js";import"./NIconTitle.vue.62b2ff0a.js";import"./client.d93a636c.js";const xe={key:0,"i-carbon:arrow-up-right":"","translate-y--1":"","text-xs":"",op50:""},D=S({__name:"NTextExternalLink",props:{link:null},setup(n){return(m,i)=>(o(),M(oe(n.link?fe:"div"),ee(te(n.link?{href:n.link,target:"_blank",rel:"noopener noreferrer"}:{})),{default:g(()=>[X(m.$slots,"default"),n.link?(o(),a("div",xe)):x("",!0)]),_:3},16))}}),H=[{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."}],ye={flex:"~ wrap","mt--2":"","w-full":"","flex-none":""},ke=["onClick"],$e=t("div",{border:"b base","flex-auto":""},null,-1),Te={key:0,"x-divider":""},Ce={key:1,"x-divider":""},Se={flex:"~ gap-1 items-center",px4:"",py2:""},Ne=t("div",{"i-carbon-warning":"","text-orange":""},null,-1),Me={"w-full":"",p2:"",op75:""},Oe={key:1,m4:"",flex:"~ col gap-2"},Ie={flex:"~ gap-1 wrap items-center"},Ae={key:1},Le={flex:"~ gap-2",n:"sm primary",absolute:"","right-2":"","top-2":""},Re=S({__name:"OpenGraphMissingTabs",props:{tags:null,matchedRouteFilepath:null},setup(n){const m=n,i=C(()=>H.filter(c=>!m.tags?.some(p=>p.name===c.name))),l=C(()=>{let c={};const p={};i.value.forEach(h=>{h.seoMeta?Object.assign(p,h.seoMeta):c=ne(c,h.head)});const b=[];if(Object.keys(p).length){const h=JSON.stringify(p,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");b.push(`useSeoMeta(${h})`)}if(Object.keys(c).length){const h=JSON.stringify(c,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");b.push(`useHead(${h})`)}return b.join(`
2
-
3
- `)}),u=be(),$=V(),y=["Missing Tags","Code Snippet"],f=A(y[0]);return(c,p)=>{const b=D,h=G,N=ae,I=ve,E=P;return e(i).length?(o(),M(E,{key:0,text:"Missing Tags",description:`${e(i).length} missing tags`,icon:"carbon:warning-other","header-class":"text-orange op100! [[open]_&]:text-inherit",padding:!1},{default:g(()=>[t("div",ye,[(o(),a(T,null,L(y,(s,r)=>t("button",{key:r,px4:"",py2:"",border:"r t base",hover:"bg-active",class:O(s===e(f)?"":"border-b"),onClick:v=>f.value=s},[t("div",{class:O(s===e(f)?"":"op30"),capitalize:""},_(s),3)],10,ke)),64)),$e]),e(f)===y[0]?(o(),M(h,{key:0,grid:"~ cols-[max-content_1fr]",m4:"","items-center":"","justify-between":"","of-hidden":""},{default:g(()=>[(o(!0),a(T,null,L(e(i),(s,r)=>(o(),a(T,{key:r},[r?(o(),a("div",Te)):x("",!0),r?(o(),a("div",Ce)):x("",!0),t("div",Se,[Ne,d(b,{op50:"",link:s.docs,n:"orange"},{default:g(()=>[k(_(s.name),1)]),_:2},1032,["link"])]),t("div",Me,_(s.description),1)],64))),128))]),_:1})):(o(),a("div",Oe,[t("p",Ie,[d(N,{icon:"carbon-copy",n:"xs","px-2":"",onClick:p[0]||(p[0]=s=>e(u)(e(l)))},{default:g(()=>[k(" Copy ")]),_:1}),k(" the following code snippet and paste it into your "),n.matchedRouteFilepath?(o(),M(N,{key:0,icon:"carbon-launch",n:"xs","px-2":"",onClick:p[1]||(p[1]=s=>e($)(n.matchedRouteFilepath))},{default:g(()=>[k(" page component ")]),_:1})):(o(),a("span",Ae,"page component")),k(" to full fill the missing tags. ")]),d(h,{relative:"","n-code-block":""},{default:g(()=>[d(I,{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]=s=>e(u)(e(l)))},{default:g(()=>[k(" Copy ")]),_:1})])]),_:1})]))]),_:1},8,["description"])):x("",!0)}}}),Ee={class:"max-w-[524px] min-w-[524px] cursor-pointer bg-base"},Be={class:"break-words border border-base px-[12px] py-[10px] antialiased"},Fe={class:"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50"},je={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"}},Je=S({__name:"SocialFacebook",props:{card:null},setup(n){return(m,i)=>(o(),a("div",Ee,[t("div",{class:"h-[274px] border border-b-0 border-base bg-cover bg-center bg-no-repeat",style:R({backgroundImage:`url(${JSON.stringify(n.card.image)})`})},null,4),t("div",Be,[t("div",Fe,_(n.card.url),1),t("div",je,[t("div",ze,_(n.card.title),1),t("div",Ge,_(n.card.description),1)])])]))}}),Pe={class:"max-w-[438px] min-w-[438px] of-hidden border border-base rounded-[0.85714em] bg-base -outline-offset-1"},Ve={class:"break-words border-base p-[0.75em] antialiased",flex:"~ col justify-center gap-1"},De={class:"mt-[0.32333em] overflow-hidden truncate whitespace-nowrap text-[14px] leading-[18px] lowercase op50"},He={class:"m-0 truncate text-[14px] font-semibold leading-[19px]"},Ue={class:"line-clamp-3 select-none overflow-hidden break-words text-left text-[14px] leading-[18px] op50"},Ke=S({__name:"SocialTwitter",props:{tags:null},setup(n){const m=n,i=C(()=>J(m.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=C(()=>i.value.image?m.tags.find(u=>u.tag==="meta"&&u.name==="twitter:card")?.value||"summary_large_image":"summary");return(u,$)=>(o(),a("div",Pe,[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:R({backgroundImage:`url(${JSON.stringify(e(i).image)})`})},null,4)):(o(),a("div",{key:1,class:"h-[122px] w-[122px] flex-none border-r border-base bg-cover bg-center bg-no-repeat",style:R({backgroundImage:`url(${JSON.stringify(e(i).image)})`})},null,4)),t("div",Ve,[t("div",De,_(e(i).url),1),t("div",He,_(e(i).title),1),t("div",Ue,_(e(i).description),1)])],2)]))}}),qe={class:"max-w-[520px] min-w-[520px] cursor-pointer overflow-hidden border border-base rounded-[2px] shadow-md bg-base"},We={class:"break-words p-[10px] antialiased"},Ye={class:"block h-auto max-h-[50px] border-separate select-none break-words text-left",style:{"border-spacing":"0px"}},Ze={class:"pb-[2px] text-[16px] font-semibold leading-[24px]"},Qe={class:"overflow-hidden truncate whitespace-nowrap text-xs font-normal uppercase op85"},Xe=S({__name:"SocialLinkedin",props:{card:null},setup(n){return(m,i)=>(o(),a("div",qe,[t("div",{class:"h-[270px] border-b border-base bg-cover bg-center bg-no-repeat",style:R({backgroundImage:`url(${JSON.stringify(n.card.image)})`})},null,4),t("div",We,[t("div",Ye,[t("div",Ze,_(n.card.title),1),t("div",Qe,_(n.card.url),1)])])]))}}),et={"h-full":"","w-520":"",flex:"~ col"},tt={flex:"~ wrap","w-full":"","flex-none":""},ot=["onClick"],nt=t("div",{border:"b base","flex-auto":""},null,-1),at={flex:"~ items-center justify-center","flex-auto":"",p4:"","n-panel-grids":""},st={key:0},rt={key:1},it={key:2},ct=S({__name:"SocialPreviewGroup",props:{tags:null},setup(n){const m=n,i=["twitter","facebook","linkedin"],l=A(i[0]),u=C(()=>J(m.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)=>{const f=Je,c=Ke,p=Xe;return o(),a("div",et,[t("div",tt,[(o(),a(T,null,L(i,(b,h)=>t("button",{key:h,px4:"",py2:"",border:"r base",hover:"bg-active",class:O(b===e(l)?"":"border-b"),onClick:N=>l.value=b},[t("div",{class:O(b===e(l)?"":"op30"),capitalize:""},_(b),3)],10,ot)),64)),nt]),t("div",at,[e(l)==="facebook"?(o(),a("div",st,[d(f,{card:e(u)},null,8,["card"])])):e(l)==="twitter"?(o(),a("div",rt,[d(c,{tags:n.tags},null,8,["tags"])])):e(l)==="linkedin"?(o(),a("div",it,[d(p,{card:e(u)},null,8,["card"])])):x("",!0)])])}}}),lt={class:"markdown-body"},dt=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),pt=[dt],mt={__name:"open-graph",setup(n,{expose:m}){return m({frontmatter:{}}),(l,u)=>(o(),a("div",lt,pt))}},ut={flex:"~","h-full":"","w-full":"","of-hidden":""},gt={"h-full":"","flex-auto":"","of-auto":""},ht={"flex-none":"",flex:"~ gap2 items-center"},_t={flex:"~ col"},ft={key:0,"x-divider":""},vt={key:1,"x-divider":""},bt={mr2:"",px4:"",py2:""},Ot=S({__name:"open-graph",setup(n){const m=A(0),i=re(),l=ie(async()=>(m.value,(await i.value?.resolveTags()).map(r=>{const v=r.props||{};return r.tag==="htmlAttrs"&&v.lang?{tag:"html",name:"lang",value:v.lang}:v.charset?{tag:"meta",name:"charset",value:v.charset}:{tag:r.tag,name:v.property??v.name??v.rel??r.tag,value:v.content??v.href??r.textContent??JSON.stringify(v)}})),[]),u=A(!0);function $(){m.value+=1}const y=ce(),f=le(),c=A(""),p=de(),b=V();async function h(){c.value!==f.value.path&&y.value.push(c.value||"/")}const N=C(()=>c.value===f.value.path?[]:y.value.resolve(c.value||"/").matched),I=C(()=>{const s=p.value.find(r=>r.path===f.value?.matched?.[0]?.path);return s?.file||s?.meta?.file});function E(s){return H.find(r=>r.name===s.name)?.docs}return z(f).toBeTruthy().then(s=>{c.value=s.path}),z(y).toBeTruthy().then(s=>{s.afterEach(()=>{pe(()=>{c.value=f.value.path,setTimeout($,200),setTimeout($,800)})})}),(s,r)=>{const v=ge,B=he,U=_e,j=D,K=G,q=P,W=Re,Y=ct,Z=mt,Q=we;return o(),a(T,null,[t("div",ut,[t("div",gt,[d(U,null,{search:g(()=>[d(v,{modelValue:e(c),"onUpdate:modelValue":r[0]||(r[0]=w=>me(c)?c.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(f).path===e(c)?"":e(N).length?"text-green":"text-orange"]),onKeydown:ue(h,["enter"])},null,8,["modelValue","class","onKeydown"])]),actions:g(()=>[t("div",ht,[e(I)?(o(),M(B,{key:0,"text-lg":"",icon:"carbon:launch",title:"Open file in editor",onClick:r[1]||(r[1]=w=>e(b)(e(I)))})):x("",!0),d(B,{"text-lg":"",icon:"carbon:reset",title:"Refresh Data",onClick:$}),d(B,{"text-lg":"",icon:e(u)?"carbon:side-panel-open":"carbon:open-panel-right",title:"Toggle Preview",onClick:r[2]||(r[2]=w=>u.value=!e(u))},null,8,["icon"])])]),_:1}),t("div",_t,[d(q,{text:"Tags",icon:"carbon:tag-group"},{default:g(()=>[d(K,{grid:"~ cols-[max-content_1fr]","items-center":"","justify-between":"","of-hidden":""},{default:g(()=>[(o(!0),a(T,null,L(e(l),(w,F)=>(o(),a(T,{key:F},[F?(o(),a("div",ft)):x("",!0),F?(o(),a("div",vt)):x("",!0),t("div",bt,[d(j,{op50:"",link:E(w),n:"primary"},{default:g(()=>[k(_(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:g(()=>[k(_(w.value),1)]),_:2},1032,["link"])],64))),128))]),_:1})]),_:1}),d(W,{tags:e(l),"matched-route-filepath":e(I)},null,8,["tags","matched-route-filepath"])])]),e(u)&&e(l)?.length?(o(),M(Y,{key:0,tags:e(l),border:"l base","w-540px":"","flex-none":""},null,8,["tags"])):x("",!0)]),d(Q,null,{default:g(()=>[d(Z)]),_:1})],64)}}});export{Ot as default};
@@ -1 +0,0 @@
1
- import{a as B,b as V,U as D,an as P,aN as I,aO as A,D as O,p as R,c as u,w as s,o as n,u as e,h as c,f as t,i as l,t as _,v as r,F as p,aP as T,l as o,j as $,m as F,J as L,k as M}from"./entry.34446c1f.js";import{_ as W}from"./Badge.ade65c69.js";import{_ as G}from"./NpmVersionCheck.vue.7bc4775a.js";import{_ as K}from"./NTip.vue.3fd9b115.js";import{_ as U}from"./NPanelGrids.24e40025.js";import{a as E}from"./state-components.f564bfa7.js";import"./NCodeBlock.vue.d5b2e85d.js";import"./client.d93a636c.js";import"./NCheckbox.vue.cd1637b2.js";const H="0.5.4",J={key:0},q={key:1,flex:"~ col gap2",ma:"","h-full":"","max-w-300":"","w-full":"",p8:"",px20:""},z=t("div",{"flex-auto":""},null,-1),Q={flex:"~ col","mt-20":"","items-center":""},X={flex:"~","mt--10":"","items-center":"","justify-center":""},Y={mb6:"","mt--1":"","text-center":"","text-sm":"",flex:"~ gap-1"},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"},lt=t("div",{"logos-vue":"","text-3xl":""},null,-1),it=t("div",{"carbon-tree-view-alt":"","text-3xl":""},null,-1),at=t("div",{"i-carbon-assembly-cluster":"","text-3xl":""},null,-1),ct=t("div",{"carbon-function":"","text-3xl":""},null,-1),rt=t("div",{"carbon-3d-mpr-toggle":"","text-3xl":""},null,-1),ut=t("div",{"carbon-plug":"","text-3xl":""},null,-1),_t={flex:"~ col gap2"},dt={flex:"~ gap-6 wrap","mt-5":"","items-center":"","justify-center":""},pt=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":""}),o(" Star on GitHub ")],-1),mt=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":""}),o(" Ideas & Suggestions ")],-1),xt=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":""}),o(" Project Roadmap ")],-1),ht=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":""}),o(" Bug Reports ")],-1),ft=t("div",{"i-carbon-settings":""},null,-1),gt=t("div",{"flex-auto":""},null,-1),vt={flex:"~ gap-1","items-center":"","justify-center":"","text-sm":"",op40:""},bt=t("span",null,"+",-1),kt=t("span",null,"+",-1),yt={flex:"~ gap-1","items-center":"","justify-center":"","text-sm":"",op40:""},wt=t("span",null,"+",-1),Ct=t("span",null,"+",-1),Nt=t("span",null,"+",-1),St=t("span",null,"+",-1),Ft=B({__name:"overview",setup(jt){const m=V(),i=D(),b=E(),x=P(),k=I(),h=A(),y=O();function w(){$.value=!0,y.push("/")}const f=R(()=>m.value?.nuxt.vueApp.version);return(g,Bt)=>{const C=F,N=W,v=G,d=L,S=K,a=M,j=U;return n(),u(j,{"h-screen":"","w-full":"",flex:""},{default:s(()=>[e(i)?(n(),c("div",q,[z,t("div",Q,[t("div",X,[l(C,{"h-18":""}),t("button",{"mr--16":"","mt--6":"",onClick:w},[l(N,{"bg-green-400:10":"","text-green-400":"",title:"preview",textContent:"preview"})])]),t("div",Y,[Z,t("code",tt,"v"+_(e(H)),1),l(v,{"package-name":"@nuxt/devtools",options:{dev:!0},"show-version":!1})])]),t("div",et,[t("div",ot,[st,l(v,{"package-name":"nuxt",options:{dev:!0}})]),e(f)?(n(),c("div",nt,[lt,t("code",null,"v"+_(e(f)),1)])):r("",!0),e(i)?(n(),c(p,{key:1},[e(i)&&e(i).pages&&e(m)?(n(),u(d,{key:0,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/pages"},{default:s(()=>[it,t("div",null,_(e(k).length)+" pages",1)]),_:1})):r("",!0),e(i)?(n(),u(d,{key:1,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/components"},{default:s(()=>[at,t("div",null,_(e(b).length)+" components",1)]),_:1})):r("",!0),e(i)&&e(x)?(n(),u(d,{key:2,"min-w-40":"",p4:"","theme-card-yellow":"",flex:"~ col auto",to:"/modules/imports"},{default:s(()=>[ct,t("div",null,_(e(x).imports.length)+" imports",1)]),_:1})):r("",!0),e(i)?(n(),u(d,{key:3,"min-w-40":"",p4:"","theme-card-purple":"",flex:"~ col auto",to:"/modules/modules"},{default:s(()=>[rt,t("div",null,_(e(i)._installedModules.length)+" modules",1)]),_:1})):r("",!0),e(i)?(n(),u(d,{key:4,"min-w-40":"",p4:"","theme-card-teal":"",flex:"~ col auto",to:"/modules/plugins"},{default:s(()=>[ut,t("div",null,_(e(i).plugins.length)+" plugins",1)]),_:1})):r("",!0)],64)):r("",!0)]),t("div",_t,[("showConnectionWarning"in g?g.showConnectionWarning:e(T))?(n(),u(S,{key:0,n:"yellow5",icon:"carbon-unlink","justify-center":""},{default:s(()=>[o(" Not connected to the client app, showing server-side data only. Use the embedded mode for full features. ")]),_:1})):r("",!0)]),t("div",dt,[pt,mt,xt,ht,l(d,{to:"/settings",flex:"~ gap1","inline-block":"","items-center":"",op50:"","hover:op80":""},{default:s(()=>[ft,o(" Settings ")]),_:1})]),gt,t("div",vt,[o(" Press "),e(h)?(n(),c(p,{key:0},[l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" ⌘ Cmd ")]),_:1}),bt,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" K ")]),_:1})],64)):(n(),c(p,{key:1},[l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" Ctrl ")]),_:1}),kt,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" K ")]),_:1})],64)),o(" to open Command Palette ")]),t("div",yt,[o(" Press "),e(h)?(n(),c(p,{key:0},[l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" ⇧ Shift ")]),_:1}),wt,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" ⌥ Option ")]),_:1}),Ct,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" D ")]),_:1})],64)):(n(),c(p,{key:1},[l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" Shift ")]),_:1}),Nt,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" Alt ")]),_:1}),St,l(a,{n:"xs",class:"px2"},{default:s(()=>[o(" D ")]),_:1})],64)),o(" to toggle DevTools ")])])):(n(),c("div",J," Loading... "))]),_:1})}}});export{Ft as default};
@@ -1 +0,0 @@
1
- import{a as B,r as E,p as R,aS as j,a7 as q,u as t,o,h as s,f as e,t as $,c as g,w as k,aT as J,F as m,q as P,v,i as p,l as I,s as L,K as M,k as W,aU as S,aI as H,aJ as G,U as Q,a2 as X,aK as Y,aL as T,ah as Z,I as ee,aM as te,y as oe}from"./entry.34446c1f.js";import{_ as F}from"./Badge.ade65c69.js";import{_ as U}from"./FilepathItem.vue.a3a55bfd.js";import{u as ne}from"./editor.4380b623.js";import{_ as ae}from"./NSectionBlock.eb96beb4.js";import{_ as se}from"./LaunchPage.vue.dff3dd39.js";import{_ as re}from"./HelpFab.vue.1ab4e4f1.js";import"./NIconTitle.vue.62b2ff0a.js";import"./NMarkdown.vue.00fc3014.js";import"./client.d93a636c.js";import"./NPanelGrids.24e40025.js";import"./NIconButton.vue.3defcade.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},he=B({__name:"RoutePathItem",props:{route:null},emits:["navigate"],setup(c,{emit:u}){const l=c,h=E([]),f=R(()=>{const n=j(l.route.path);return h.value=Array.from({length:n.length},()=>""),n}),y=R(()=>f.value.map((n,_)=>n[0]===":"?h.value[_]:n).join("").replace(/\/+/g,"/")),x=R(()=>l.route.path.includes(":"));function i(){u("navigate",y.value)}return(n,_)=>{const d=M,w=W,a=q("VDropdown");return t(x)?(o(),g(a,{key:1},{popper:k(({hide:r})=>[e("div",ie,[e("form",{flex:"~ col",onSubmit:J(()=>{i(),r()},["prevent"])},[t(x)?(o(),s(m,{key:0},[ce,e("div",de,[(o(!0),s(m,null,P(t(f),(b,C)=>(o(),s(m,{key:C},[b[0]===":"?(o(),g(d,{key:0,modelValue:t(h)[C],"onUpdate:modelValue":V=>t(h)[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(()=>[I(" Navigate ")]),_:1})],40,ue)])]),default:k(()=>[e("code",le,[(o(!0),s(m,null,P(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":""},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":""},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"],Ie=B({__name:"RoutesTable",props:{pages:null,layouts:null,matched:null,matchedPending:null},emits:["navigate"],setup(c){const u=c,l=ne(),h=S(),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 h.value?.middleware.find(n=>n.name===i)?.path}return(i,n)=>{const _=F,d=he,w=U;return o(),s("div",null,[e("table",_e,[me,e("tbody",null,[(o(!0),s(m,null,P(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))])])])}}}),Pe={class:"markdown-body"},Be=e("h1",null,"Pages",-1),Le=e("p",null,[I("One core feature of Nuxt is the file system router. Every Vue file inside the "),e("code",null,"pages/"),I(" 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),Fe=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/directory-structure/middleware",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Ue=[Be,Le,Te,Ee,Me,Se,Fe],Ae={__name:"pages",setup(c,{expose:u}){return u({frontmatter:{}}),(h,f)=>(o(),s("div",Pe,Ue))}},Ke={key:0,"h-full":"","of-auto":""},De={border:"b base",flex:"~ col gap1",px4:"",py3:"","navbar-glass":""},ze=e("span",{op50:""},"Navigate from ",-1),Oe={"font-mono":""},je=e("span",{op50:""}," to ",-1),qe={key:1,op50:""},Je=e("span",null,[I("Press "),e("b",{"font-bold":""},"Enter"),I(" to navigate")],-1),We={key:0,"text-orange":"",op75:""},He={key:1,op50:""},Ge={"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:""},ct=B({__name:"pages",setup(c){const u=H(),l=G(),h=Q(),f=S(),y=X(),x=Y(),i=R(()=>f.value?.middleware||[]),n=E("");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=M,C=Ie,V=ae,A=F,K=U,D=se,z=Ae,O=re;return o(),s(m,null,[t(h)?.pages&&t(u)?(o(),s("div",Ke,[e("div",De,[e("div",null,[t(l).path!==t(n)?(o(),s(m,{key:0},[ze,e("span",Oe,$(t(l).path),1),je],64)):(o(),s("span",qe,"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(m,{key:0},[Je,t(d).length?v("",!0):(o(),s("span",We," (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",Ge,[Qe,(o(!0),s(m,null,P(t(i),N=>(o(),s("tr",{key:N.path,"h-7":""},[e("td",null,[e("span",Xe,$(N.name),1),N.global?(o(),g(A,{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(K,{filepath:N.path},null,8,["filepath"])])]))),128))])]),_:1},8,["description"])):v("",!0)])):(o(),g(D,{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(O,null,{default:k(()=>[p(z)]),_:1})],64)}}});export{ct as default};
@@ -1 +0,0 @@
1
- import{_ as x}from"./StateEditor.vue.6e8c107a.js";import{a as y,o as t,h as r,F as k,q as B,c as f,w as a,Z as C,n as D,g as w,f as $,b as F,p as O,u as i,i as e,v as m,l as P,k as V}from"./entry.34446c1f.js";import{_ as E}from"./NSectionBlock.eb96beb4.js";import{_ as R}from"./NIconButton.vue.3defcade.js";import{_ as j}from"./HelpFab.vue.1ab4e4f1.js";import"./json-editor-vue.62f947e8.js";import"./NIconTitle.vue.62b2ff0a.js";const A={key:0,flex:"~ col gap-1"},G={key:1,mt2:"",px4:"",italic:"",op35:""},H=y({__name:"StateGroup",props:{state:null,prefix:{default:""}},setup(n){return(o,s)=>{const l=x;return t(),r("div",null,[n.state&&Object.keys(n.state).length>0?(t(),r("div",A,[(t(!0),r(k,null,B(n.state,(_,c)=>(t(),f(l,{key:c,state:_,name:c.startsWith(n.prefix)?c.slice(n.prefix.length):c},{actions:a(u=>[C(o.$slots,"actions",D(w(u)))]),_:2},1032,["state","name"]))),128))])):(t(),r("div",G," No data "))])}}}),K={class:"markdown-body"},T=$("h1",null,"State & Async Data",-1),q=$("p",null,"// TODO",-1),z=[T,q],I={__name:"payload",setup(n,{expose:o}){return o({frontmatter:{}}),(l,_)=>(t(),r("div",K,z))}},L={key:0},tt=y({__name:"payload",setup(n){const o=F(),s=O(()=>o.value?.nuxt.payload);async function l(_){await o.value?.nuxt.hooks.callHookParallel("app:data:refresh",_)}return(_,c)=>{const u=H,d=E,b=V,v=R,S=x,g=I,N=j;return t(),r(k,null,[i(o)?(t(),r("div",L,[e(d,{icon:"carbon-data-set",text:"State",description:"Keyed state from `useState`",padding:!1},{default:a(()=>[e(u,{state:i(s).state,prefix:"$s"},null,8,["state"])]),_:1}),e(d,{icon:"carbon-data-blob",text:"Data",description:"Keyed state from `useAsyncData`",padding:!1},{actions:a(()=>[e(b,{n:"xs primary","self-start":"",icon:"i-carbon-recycle",onClick:c[0]||(c[0]=h=>l())},{default:a(()=>[P(" Re-fetch all data ")]),_:1})]),default:a(()=>[e(u,{state:i(s).data},{actions:a(({isOpen:h,name:p})=>[h&&p?(t(),f(v,{key:0,title:`Re-fetch '${p}'`,icon:"carbon-recycle",onClick:W=>l([p])},null,8,["title","onClick"])):m("",!0)]),_:1},8,["state"])]),_:1}),i(s).functions&&Object.keys(i(s).functions).length?(t(),f(d,{key:0,icon:"carbon-function",text:"Functions",description:"State for functions (experimental)"},{default:a(()=>[e(S,{"ml--6":"",state:i(s).functions},null,8,["state"])]),_:1})):m("",!0)])):m("",!0),e(N,null,{default:a(()=>[e(g)]),_:1})],64)}}});export{tt as default};
@@ -1 +0,0 @@
1
- import{_ as T}from"./FilepathItem.vue.a3a55bfd.js";import{_ as D}from"./Badge.ade65c69.js";import{_ as k}from"./DurationDisplay.vue.d2a5c09b.js";import{a as v,U as B,p as x,ar as V,o as n,h as _,f as e,t as P,i as l,u as f,c as u,v as d,a7 as F,Z as w,P as H,aW as I,w as h,l as y,aU as M,b as W,F as C,q as E,s as L}from"./entry.34446c1f.js";import{_ as U}from"./NSectionBlock.eb96beb4.js";import{_ as j}from"./HelpFab.vue.1ab4e4f1.js";import"./editor.4380b623.js";import"./NIconTitle.vue.62b2ff0a.js";import"./NIconButton.vue.3defcade.js";const q={flex:"~ gap2","items-center":""},z={w8:"","text-right":"","text-sm":"",op25:""},A={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=T,o=D,s=k;return n(),_("div",q,[e("div",z,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",A,[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:""},Z={flex:"~ items-center gap-1","font-bold":""},G=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",Z,[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,[w(i.$slots,"default",{},()=>[l(m,{use:i.$slots.default,unwrap:"p"},null,8,["use"])])])])}}}),J={};function K(t,i){const a=G;return n(),u(a,{title:"Performance Tip",icon:"carbon-meter",n:"lime6 dark:lime5"},{default:h(()=>[w(t.$slots,"default")]),_:3})}const O=I(J,[["render",K]]),Q={class:"markdown-body"},X=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=O;return n(),_("div",Q,[X,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=W(),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=U,N=nt,S=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,E(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)),e("div",st,[it,at,l(s,{duration:f(m),factor:10},null,8,["duration"])])])]),_:1},8,["description"]),l(S,null,{default:h(()=>[l(N)]),_:1})],64)}}});export{gt as default};
@@ -1 +0,0 @@
1
- import{_ as C}from"./StateEditor.vue.6e8c107a.js";import{_ as h}from"./NSectionBlock.eb96beb4.js";import{o as c,h as r,f as m,a as v,b as x,U as b,p as u,u as o,i as e,w as s,v as y,F as k}from"./entry.34446c1f.js";import{_ as R}from"./HelpFab.vue.1ab4e4f1.js";import"./NIconButton.vue.3defcade.js";import"./json-editor-vue.62f947e8.js";import"./NIconTitle.vue.62b2ff0a.js";const B={class:"markdown-body"},N=m("h1",null,"Runtime Configs",-1),$=m("p",null,"// TODO:",-1),w=[N,$],D={__name:"runtime-configs",setup(d,{expose:t}){return t({frontmatter:{}}),(l,p)=>(c(),r("div",B,w))}},F={key:0},U=v({__name:"runtime-configs",setup(d){const t=x(),_=b(),l=u(()=>t.value?.nuxt.payload),p=u(()=>{const n={..._.value?.runtimeConfig};return delete n.public,delete n.app,n});return(n,S)=>{const a=C,i=h,f=D,g=R;return c(),r(k,null,[o(t)?(c(),r("div",F,[e(i,{icon:"carbon-settings-services",text:"App Config",padding:!1},{default:s(()=>[e(a,{state:o(t).appConfig},null,8,["state"])]),_:1}),e(i,{icon:"carbon-settings",text:"Public Runtime Config",padding:!1},{default:s(()=>[e(a,{state:o(l).config?.public},null,8,["state"])]),_:1}),e(i,{icon:"i-carbon-code-signing-service",text:"Private Runtime Config",open:!1,padding:!1,description:"These values are not exposed to the client. Readonly in the DevTools."},{default:s(()=>[e(a,{state:o(p),readonly:""},null,8,["state"])]),_:1})])):y("",!0),e(g,null,{default:s(()=>[e(f)]),_:1})],64)}}});export{U as default};
@@ -1,9 +0,0 @@
1
- import{_ as ce}from"./Navbar.vue.12ff05d9.js";import{_ as Y}from"./Badge.ade65c69.js";import{a as Z,U as ie,af as de,p,r as k,o as a,h as m,f as c,c as x,w as l,l as h,t as y,u as e,s as b,aY as G,F as j,q as A,I as ee,i as s,v as $,k as pe,K as me,P as fe,aZ as _e,E as ve,a_ as he,X as ye,a$ as ge,J as xe,a6 as be}from"./entry.34446c1f.js";import{_ as Ce}from"./NSelect.vue.7652516b.js";import{_ as ke}from"./CodeSnippets.vue.0933ada7.js";import{_ as te}from"./NPanelGrids.24e40025.js";import{_ as $e}from"./NCodeBlock.vue.d5b2e85d.js";import{u as Re}from"./editor.4380b623.js";import{C as X}from"./constants.d7bcda3c.js";import{_ as Te}from"./PanelLeftRight.vue.0d3c5a22.js";import"./client.d93a636c.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=c("div",{"flex-auto":""},null,-1),Ue={key:0,border:"b base","items-center":"",px4:"",py2:"",grid:"~ cols-[max-content_1fr] gap-2"},Ee={"text-right":"","font-mono":""},Ne={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:""},Oe=c("div",null,"Response",-1),Le={key:1,"text-xs":"",op50:""},Me=c("div",{"flex-auto":""},null,-1),De=c("div",{op50:""}," Request finished in ",-1),Fe=Z({__name:"ServerRouteDetails",props:{route:{type:Object,required:!0}},setup(P){const B=P,R=ie(),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),U=k(!1),I=Re(),O=p(()=>B.route.route?.split(/((?:\*\*)?:[\w_]+)/g)),S=p(()=>O.value?.filter(n=>n.startsWith(":")||n.startsWith("**:"))||[]),g=k(B.route.method||"GET"),E=k({}),N=k([{key:"",value:""}]),V=k([{key:"",value:""}]),f=k([{key:"Content-Type",value:"application/json"}]),J=p(()=>V.value.filter(({key:n})=>n).length),K=p(()=>f.value.filter(({key:n})=>n).length),W=p(()=>{const n={};for(let t=0;t<N.value.length;t++){const{key:o,value:i}=N.value[t];n[o]=i}return Object.keys(n)[0]?n:null}),ne=p(()=>{let n=R.value?.devServer.url||"http://localhost";n.charAt(n.length-1)==="/"&&(n=n.slice(0,-1));const t=R.value?.devServer.port||3e3;return n.includes(`:${t}`)?n:`${n}:${t}`}),L=p(()=>{let n=new URLSearchParams(Object.fromEntries(V.value.filter(({key:i})=>i).map(({key:i,value:_})=>[i,_]))).toString();n&&(n=`?${n}`);const t=(O.value?.map(i=>(i.startsWith(":")||i.startsWith("**:"))&&E.value[i]||i).join("")||"")+n;let o=R.value?.app.baseURL||"";return(o==="./"||o===".")&&(o=""),o.endsWith("/")&&(o=o.slice(0,-1)),o+t}),oe=p(()=>ne.value+L.value);async function z(){U.value=!0,C.value=!0,Object.assign(u,{lang:"text",contentType:"",data:"",content:"",error:void 0});const n=Date.now();try{u.data=await $fetch(oe.value,{method:g.value.toUpperCase(),headers:Object.fromEntries(f.value.filter(({key:t,value:o})=>t&&o).map(({key:t,value:o})=>[t,o])),query:Object.fromEntries(V.value.filter(({key:t,value:o})=>t&&o).map(({key:t,value:o})=>[t,o])),body:W.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()-n}const Q=p(()=>{const n=[],t=[],o=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()}'`),o&&t.push(`headers: {
3
- ${o}
4
- }`),W.value&&t.push(`body: ${JSON.stringify(W.value,null,2)}`);const i=t.length?`, {
5
- ${t.join(`,
6
- `).split(`
7
- `).map(_=>` ${_}`).join(`
8
- `)}
9
- }`:"";return n.push({name:"useFetch",lang:"javascript",docs:X.nuxt.useFetch,code:`const { data, pending, error, refresh } = useFetch('${L.value}'${i})`}),n.push({name:"$fetch",lang:"javascript",docs:X.nuxt.$fetch,code:`await $fetch('${L.value}'${i})`}),n}),d=k(S.value.length?"params":"query"),M=p(()=>{if(d.value==="query")return V.value;if(d.value==="body")return N.value;if(d.value==="headers")return f.value}),se=["GET","POST","PUT","PATCH","DELETE","HEAD"];return(n,t)=>{const o=pe,i=Ce,_=me,v=fe,ae=ke,re=te,le=_e,H=Y,ue=$e;return a(),m("div",qe,[c("div",je,[c("div",Se,[P.route.method?(a(),x(o,{key:0,class:b(("getRequestMethodClass"in n?n.getRequestMethodClass:e(G))(e(g))),"pointer-events-none":"",tabindex:"-1"},{default:l(()=>[h(y(e(g).toUpperCase()),1)]),_:1},8,["class"])):(a(),x(i,{key:1,modelValue:e(g),"onUpdate:modelValue":t[0]||(t[0]=r=>ee(g)?g.value=r:null),class:b(("getRequestMethodClass"in n?n.getRequestMethodClass:e(G))(e(g)))},{default:l(()=>[(a(),m(j,null,A(se,r=>c("option",{key:r,class:b(("getRequestMethodClass"in n?n.getRequestMethodClass:e(G))(r))},y(r.toUpperCase()),3)),64))]),_:1},8,["modelValue","class"])),s(_,{"model-value":e(L),disabled:"","flex-auto":"","font-mono":"",p:"x5 y2",n:"primary xs"},null,8,["model-value"]),s(o,{n:"primary solid",onClick:z},{default:l(()=>[s(v,{icon:"carbon:send"})]),_:1})])]),c("div",Ve,[e(S).length?(a(),x(o,{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(o,{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(J)?`(${e(J)})`:""),1)]),_:1},8,["class"]),e(g)!=="GET"?(a(),x(o,{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(o,{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(K)?`(${e(K)})`:""),1)]),_:1},8,["class"]),s(o,{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(o,{icon:"carbon-launch",onClick:t[6]||(t[6]=r=>e(I)(P.route.filepath))},{default:l(()=>[h(" Open in Editor ")]),_:1})]),e(d)==="params"?(a(),m("div",Ue,[(a(!0),m(j,null,A(e(S),r=>(a(),m(j,{key:r},[c("div",Ee,y(r),1),s(_,{modelValue:e(E)[r],"onUpdate:modelValue":D=>e(E)[r]=D,placeholder:r,"flex-1":""},null,8,["modelValue","onUpdate:modelValue","placeholder"])],64))),128))])):$("",!0),e(d)==="snippet"?(a(),m("div",Ne,[e(Q).length?(a(),x(ae,{key:0,border:"b base","code-snippets":e(Q)},null,8,["code-snippets"])):$("",!0)])):e(M)?(a(),m("div",Pe,[(a(!0),m(j,null,A(e(M),(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(o,{n:"red",onClick:F=>e(M).splice(D,1)},{default:l(()=>[s(v,{icon:"carbon:delete"})]),_:2},1032,["onClick"])]))),128)),c("div",null,[s(o,{icon:"carbon-add",n:"sm primary",my1:"","px-3":"",onClick:t[7]||(t[7]=r=>e(M).push({key:"",value:""}))},{default:l(()=>[h(" Add ")]),_:1})])])):$("",!0),e(U)?e(C)?(a(),x(le,{key:4,"z-10":"","flex-auto":"","backdrop-blur":""},{default:l(()=>[h(" Fetching... ")]),_:1})):(a(),m(j,{key:5},[c("div",Be,[Oe,e(u).error?(a(),x(H,{key:0,"bg-red-400:10":"","text-red-400":""},{default:l(()=>[h(" Error ")]),_:1})):$("",!0),s(H,{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",Le,y(e(u).contentType),1)):$("",!0),Me,De,s(H,{"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(o,{n:"primary",onClick:z},{default:l(()=>[s(v,{icon:"carbon:send"}),h(" Send request ")]),_:1})]),_:1}))])}}}),Ge={flex:"~ gap1","text-sm":"",op50:""},Ae={key:0},Ie={"w-12":"","flex-none":"","text-right":""},We={"font-mono":"","text-sm":""},He=c("div",{"x-divider":""},null,-1),Je=c("span",{op75:""},"Select a route to start",-1),at=Z({__name:"server-routes",setup(P){const B=ve(),R=he(),u=p(()=>new ye(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,U)=>{const I=ce,O=Y,S=xe,g=Fe,E=be,N=te,V=Te;return a(),x(V,null,{left:l(()=>[s(I,{search:e(q),"onUpdate:search":U[0]||(U[0]=f=>ee(q)?q.value=f:null),pb2:""},{default:l(()=>[c("div",Ge,[e(q)?(a(),m("span",Ae,y(e(w).length)+" matched · ",1)):$("",!0),c("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(()=>[c("div",Ie,[s(O,{class:b(("getRequestMethodClass"in C?C.getRequestMethodClass:e(G))(f.method||"*")),title:"updates available",textContent:y((f.method||"*").toUpperCase())},null,8,["class","textContent"])]),c("span",We,y(f.route),1)]),_:2},1032,["class","to"]),He],64))),128))]),right:l(()=>[(a(),x(ge,{max:10},[e(T)?(a(),x(g,{key:e(T).path,route:e(T)},null,8,["route"])):$("",!0)],1024)),e(T)?$("",!0):(a(),x(N,{key:0},{default:l(()=>[s(E,{px6:"",py2:""},{default:l(()=>[Je]),_:1})]),_:1}))]),_:1})}}});export{at as default};
@@ -1 +0,0 @@
1
- import{_ as I}from"./NIconTitle.vue.62b2ff0a.js";import{_ as O}from"./NSwitch.vue.c07ff0b7.js";import{a as j,bc as z,al as F,h as c,i as s,f as e,F as m,q as h,u as a,w as n,I as y,a5 as L,bd as A,o as i,s as k,t as f,c as H,v as q,l as E,aV as R,k as G}from"./entry.34446c1f.js";import{_ as J}from"./NSelect.vue.7652516b.js";import{_ as K}from"./NCheckbox.vue.cd1637b2.js";const M={px6:"",py6:""},P={grid:"~ md:cols-2 gap-x-10 gap-y-3","max-w-300":""},Q={flex:"~ col gap-1",py3:""},W=e("h3",{mb1:"","text-lg":""}," Tabs ",-1),X={flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":""},Y={capitalize:"",op75:""},Z={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"},se=e("h3",{mb1:"","text-lg":""}," UI Scale ",-1),ae=["value"],ne={py3:"",flex:"~ col gap-1"},ie=e("h3",{mb1:"","text-lg":""}," Features ",-1),de=e("span",null,"Close DevTools when clicking outside",-1),ce=e("span",null,"Show help buttons",-1),ge=j({__name:"settings",setup(re){const{interactionCloseOnOutsideClick:g,showHelpButtons:v,scale:x,hiddenTabs:r,hiddenTabCategories:u}=L(),T=[["Tiny",12/15],["Small",14/15],["Normal",1],["Large",16/15],["Huge",18/15]],C=z(F());function N(d,t){t?r.value=r.value.filter(p=>p!==d):r.value.push(d)}function w(d,t){t?u.value=u.value.filter(p=>p!==d):u.value.push(d)}return(d,t)=>{const p=I,b=O,U=R,S=G,$=A,B=J,V=K;return i(),c("div",M,[s(p,{class:"mb-5 text-xl op75",icon:"i-carbon-settings-adjust",text:"DevTools Settings"}),e("div",P,[e("div",Q,[W,(i(!0),c(m,null,h(a(C),([o,_])=>(i(),c(m,{key:o},[_.length?(i(),c("div",{key:0,flex:"~ col gap-1","mx--1":"",class:k(a(u).includes(o)?"op50 grayscale":""),"pt-2":""},[s(b,{flex:"~ row-reverse",px2:"",py1:"","n-lime":"","model-value":!a(u).includes(o),"onUpdate:modelValue":l=>w(o,l)},{default:n(()=>[e("div",X,[e("span",Y,f(o),1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),e("div",Z,[(i(!0),c(m,null,h(_,l=>(i(),H(b,{key:l.name,flex:"~ row-reverse",py1:"",pl2:"",pr1:"","n-primary":"","model-value":!a(r).includes(l.name),"onUpdate:modelValue":D=>N(l.name,D)},{default:n(()=>[e("div",{flex:"~ gap-2","flex-auto":"","items-center":"","justify-start":"",class:k(a(r).includes(l.name)?"op25":"")},[s(U,{"text-xl":"",icon:l.icon,title:l.title},null,8,["icon","title"]),e("span",null,f(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,[s($,null,{default:n(({toggle:o,isDark:_})=>[s(S,{n:"primary",onClick:o},{default:n(()=>[te,E(" "+f(_.value?"Dark":"Light"),1)]),_:2},1032,["onClick"])]),_:1})])]),e("div",le,[se,s(B,{modelValue:a(x),"onUpdate:modelValue":t[0]||(t[0]=o=>y(x)?x.value=o:null),n:"primary"},{default:n(()=>[(i(),c(m,null,h(T,o=>e("option",{key:o[0],value:o[1]},f(o[0]),9,ae)),64))]),_:1},8,["modelValue"])]),e("div",ne,[ie,s(V,{modelValue:a(g),"onUpdate:modelValue":t[1]||(t[1]=o=>y(g)?g.value=o:null),"n-primary":""},{default:n(()=>[de]),_:1},8,["modelValue"]),s(V,{modelValue:a(v),"onUpdate:modelValue":t[2]||(t[2]=o=>y(v)?v.value=o:null),"n-primary":""},{default:n(()=>[ce]),_:1},8,["modelValue"])])])])])}}});export{ge as default};
@@ -1 +0,0 @@
1
- import{b as m,as as n,p as s,y as o}from"./entry.34446c1f.js";function u(){const p=m(),a=n("getComponents",()=>o.getComponents()),l=s(()=>Object.entries(p.value?.nuxt?.vueApp._context.components||{}).map(([e])=>({pascalName:e,global:!0})).filter(e=>!/^Lazy[A-Z]/.test(e.pascalName)).filter(e=>!(a.value||[]).find(t=>t.pascalName===e.pascalName)));return s(()=>[...l.value,...a.value||[]].sort((e,t)=>e.pascalName.localeCompare(t.pascalName)))}function r(){return n("getComponentsRelationships",()=>o.getComponentsRelationships())}export{u as a,r as u};
@@ -1 +0,0 @@
1
- import{_ as ne}from"./NIconButton.vue.3defcade.js";import{_ as oe}from"./NSelect.vue.7652516b.js";import{a as ae,b1 as se,D as re,r as $,p as S,E,b2 as P,aj as le,a4 as ue,ai as ie,e as de,y as p,u as n,c as _,w as u,b3 as R,o as r,f as l,i as d,h as c,q as j,t as v,F as x,I as U,l as i,s as T,aM as q,v as z,ae as ce,z as me,b4 as pe,aT as _e,K as fe,J as ye,P as ve,k as ge,a6 as he}from"./entry.34446c1f.js";import{_ as ke}from"./NLink.vue.be635eca.js";import{_ as be}from"./NPanelGrids.24e40025.js";import{_ as xe}from"./PanelLeftRight.vue.0d3c5a22.js";import{_ as we}from"./FilepathItem.vue.a3a55bfd.js";import{U as Ke}from"./json-editor-vue.62f947e8.js";import"./editor.4380b623.js";const Ce={class:"h-[48px] flex items-center justify-between gap1 px-3"},Ve={class:"w-full text-sm"},Ne=["value"],Ie=l("div",{"x-divider":""},null,-1),$e={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"},je={class:"flex items-center gap-4"},Ue={key:1},qe=["onKeyup"],Le=l("br",null,null,-1),Me={key:0,op50:""},Be={key:1},De=l("code",null,"nitro.storage",-1),Ae=l("br",null,null,-1),Ee={"font-bold":""},Pe=l("br",null,null,-1),Re={"text-sm":""},Te=l("br",null,null,-1),et=ae({__name:"storage",async setup(ze){let m,g;const F=se(),h=re(),k=$(""),y=$(""),a=S({get(){return E().query?.storage},set(t){h.replace({query:{storage:t}})}}),e=$(),b=S(()=>E().query?.key),{data:w}=([m,g]=P(()=>R("storageMounts",()=>p.getStorageMounts())),m=await m,g(),m),{data:K,refresh:L}=([m,g]=P(async()=>R("storageKeys",async()=>a.value?await p.getStorageKeys(a.value):[])),m=await m,g(),m),G=F.hook("storage:key:update",async(t,s)=>{if(!(!a.value||t.split(":")[0]!==a.value)&&(await L(),b.value===t)){if(s==="remove")return h.replace({query:{storage:a.value}});await V(b.value)}});le(G),ue(a,L),ie(async()=>{if(!b.value){e.value=null;return}V(b.value)}),de("keydown",t=>{t.key==="s"&&(t.ctrlKey||t.metaKey)&&(N(),t.preventDefault())});function C(t){return t.replace(`${a.value}:`,"")}const J=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 W(){!e.value||!a.value||(await p.removeStorageItem(e.value.key),e.value=null)}async function H(){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,I=fe,Y=ye,Z=ve,M=ge,B=ke,D=he,A=be,ee=xe,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(x,null,j(n(w),(o,f)=>(r(),c("option",{key:f,value:f},v(f),9,Ne))),128))]),_:1},8,["modelValue"])])]),d(I,{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(x,null,j(n(J),o=>(r(),c(x,{key:o},[d(Y,{block:"",truncate:"",px2:"",py1:"","font-mono":"","text-sm":"",to:{query:{key:o,storage:n(a)}},class:T(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"]),Ie],64))),128)),d(I,{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:q(O,["enter"])},null,8,["modelValue","onKeyup"])]),right:u(()=>[n(e)?.key?(r(),c("div",$e,[l("div",Se,[l("div",je,[n(e).editingKey?(r(),_(I,{key:0,modelValue:n(e).updatedKey,"onUpdate:modelValue":s[4]||(s[4]=o=>n(e).updatedKey=o),onKeyup:q(H,["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?z("",!0):(r(),_(M,{key:2,n:"green xs",disabled:n(e).content===n(e).updatedContent,class:T({"border-green":n(e).content!==n(e).updatedContent}),onClick:N},{default:u(()=>[i(" Save ")]),_:1},8,["disabled","class"]))]),l("div",null,[d(M,{n:"red xs",onClick:W},{default:u(()=>[i(" Delete ")]),_:1})])]),typeof n(e).content=="object"?(r(),_(n(Ke),ce({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"])):me((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:q(_e(N,["ctrl"]),["enter"])},null,40,qe)),[[pe,n(e).updatedContent]])])):(r(),_(A,{key:1},{default:u(()=>[d(D,{px6:"",py4:""},{default:u(()=>[i(" Select one key to start."),Le,i("Learn more about "),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})]),_:1})]),_:1}))]),_:1})):(r(),_(A,{key:1},{default:u(()=>[Object.keys(n(w)).length?(r(),c("p",Me," Select one storage to start: ")):(r(),c("p",Be,[i(" No custom storage defined in "),De,i("."),Ae,i(" Learn more about "),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})])),(r(!0),c(x,null,j(n(w),(o,f)=>(r(),_(D,{key:f,"min-w-80":"","cursor-pointer":"","p-4":"","text-left":"",hover:"border-green",onClick:Fe=>a.value=f},{default:u(()=>[l("span",Ee,v(f),1),Pe,l("span",Re,v(o.driver)+" driver",1),Te,o.base?(r(),_(te,{key:0,"text-xs":"",filepath:o.base},null,8,["filepath"])):z("",!0)]),_:2},1032,["onClick"]))),128))]),_:1}))}}});export{et as default};