@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.
- package/dist/chunks/module-main.mjs +134 -29
- package/dist/chunks/vscode.mjs +5 -2
- package/dist/client/200.html +2 -2
- package/dist/client/404.html +2 -2
- package/dist/client/__blank/index.html +7 -0
- package/dist/client/_nuxt/{Badge.ade65c69.js → Badge.bb04dbdf.js} +1 -1
- package/dist/client/_nuxt/CodeSnippets.vue.b3f0f3dc.js +1 -0
- package/dist/client/_nuxt/DrawerRight.vue.48c2c3d6.js +1 -0
- package/dist/client/_nuxt/DurationDisplay.vue.1f2b63ce.js +1 -0
- package/dist/client/_nuxt/FilepathItem.vue.67a3bac2.js +1 -0
- package/dist/client/_nuxt/{HelpFab.vue.1ab4e4f1.js → HelpFab.vue.e0c5b3b9.js} +1 -1
- package/dist/client/_nuxt/LaunchPage.vue.a3f71c42.js +1 -0
- package/dist/client/_nuxt/NCheckbox.vue.56878d59.js +1 -0
- package/dist/client/_nuxt/NCodeBlock.vue.2f00c5a7.js +2 -0
- package/dist/client/_nuxt/NIconButton.vue.afd698ce.js +1 -0
- package/dist/client/_nuxt/NIconTitle.vue.025b1812.js +1 -0
- package/dist/client/_nuxt/NLink.vue.efbf2660.js +1 -0
- package/dist/client/_nuxt/NMarkdown.vue.4a55718e.js +1 -0
- package/dist/client/_nuxt/{NPanelGrids.24e40025.js → NPanelGrids.e209861e.js} +1 -1
- package/dist/client/_nuxt/NSectionBlock.012f83f1.css +1 -0
- package/dist/client/_nuxt/NSectionBlock.a9d6a8bd.js +1 -0
- package/dist/client/_nuxt/NSelect.vue.0258c4d8.js +1 -0
- package/dist/client/_nuxt/NSwitch.vue.774134ee.js +1 -0
- package/dist/client/_nuxt/NTip.vue.b7996913.js +1 -0
- package/dist/client/_nuxt/{Navbar.vue.12ff05d9.js → Navbar.vue.97a344a8.js} +1 -1
- package/dist/client/_nuxt/NpmVersionCheck.vue.5857e84f.js +1 -0
- package/dist/client/_nuxt/{PanelLeftRight.vue.0d3c5a22.js → PanelLeftRight.vue.4252eb45.js} +1 -1
- package/dist/client/_nuxt/StateEditor.vue.a6af1a3f.js +1 -0
- package/dist/client/_nuxt/__blank.f74f0354.js +1 -0
- package/dist/client/_nuxt/analyze-build.d8530c6c.js +1 -0
- package/dist/client/_nuxt/assets.e5e05d1f.js +16 -0
- package/dist/client/_nuxt/{client.d93a636c.js → client.c658398a.js} +1 -1
- package/dist/client/_nuxt/{components.060d9fd5.js → components.c29053f6.js} +27 -27
- package/dist/client/_nuxt/custom-_name_.85ea5a6a.js +1 -0
- package/dist/client/_nuxt/{default.6eda7699.js → default.a568b6bd.js} +1 -1
- package/dist/client/_nuxt/editor.beb173d9.js +1 -0
- package/dist/client/_nuxt/entry.ea777320.css +1 -0
- package/dist/client/_nuxt/entry.eb90118b.js +19 -0
- package/dist/client/_nuxt/{error-404.7bcf1a44.js → error-404.47f56ae7.js} +1 -1
- package/dist/client/_nuxt/{error-500.b67f8091.js → error-500.3d8abd19.js} +1 -1
- package/dist/client/_nuxt/{error-component.5479d89e.js → error-component.97bd3af7.js} +2 -2
- package/dist/client/_nuxt/{full.89a525fd.js → full.039e8e59.js} +1 -1
- package/dist/client/_nuxt/hooks.4df47b77.js +1 -0
- package/dist/client/_nuxt/imports.dd38df5c.js +1 -0
- package/dist/client/_nuxt/{index.b8d7fad0.js → index.2d500b42.js} +1 -1
- package/dist/client/_nuxt/{index.a348e979.js → index.ee7015bb.js} +1 -1
- package/dist/client/_nuxt/json-editor-vue.6b7715bf.js +137 -0
- package/dist/client/_nuxt/{middleware.61ccc755.js → middleware.a6f1dc81.js} +1 -1
- package/dist/client/_nuxt/modules.8de52693.js +4 -0
- package/dist/client/_nuxt/{none.566b9a55.js → none.7a55d586.js} +1 -1
- package/dist/client/_nuxt/nuxt-docs.100caa70.js +1 -0
- package/dist/client/_nuxt/open-graph.ba654e1e.js +3 -0
- package/dist/client/_nuxt/overview.4725a261.js +1 -0
- package/dist/client/_nuxt/pages.46157a67.js +1 -0
- package/dist/client/_nuxt/payload.b59c0588.js +1 -0
- package/dist/client/_nuxt/plugins.6a2cae7a.js +1 -0
- package/dist/client/_nuxt/runtime-configs.4a7ef849.js +1 -0
- package/dist/client/_nuxt/server-routes.2d06f2c7.js +9 -0
- package/dist/client/_nuxt/settings.1b865c96.js +1 -0
- package/dist/client/_nuxt/state-components.ed0b4287.js +1 -0
- package/dist/client/_nuxt/storage.b18c38a9.js +1 -0
- package/dist/client/_nuxt/terminals.195d8588.js +9 -0
- package/dist/client/_nuxt/{terminals.d1dcf297.css → terminals.ae8c3544.css} +1 -1
- package/dist/client/_nuxt/{unocss-runtime.a821baa9.js → unocss-runtime.032bcb78.js} +2 -2
- package/dist/client/_nuxt/{virtual-files.2fc42163.js → virtual-files.5f7c5d81.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/modules/analyze-build/index.html +2 -2
- package/dist/client/modules/assets/index.html +2 -2
- package/dist/client/modules/components/index.html +2 -2
- package/dist/client/modules/hooks/index.html +2 -2
- package/dist/client/modules/imports/index.html +2 -2
- package/dist/client/modules/middleware/index.html +2 -2
- package/dist/client/modules/modules/index.html +2 -2
- package/dist/client/modules/open-graph/index.html +2 -2
- package/dist/client/modules/overview/index.html +2 -2
- package/dist/client/modules/pages/index.html +2 -2
- package/dist/client/modules/payload/index.html +2 -2
- package/dist/client/modules/plugins/index.html +2 -2
- package/dist/client/modules/runtime-configs/index.html +2 -2
- package/dist/client/modules/server-routes/index.html +2 -2
- package/dist/client/modules/storage/index.html +2 -2
- package/dist/client/modules/terminals/index.html +2 -2
- package/dist/client/modules/virtual-files/index.html +2 -2
- package/dist/client/settings/index.html +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/auth/index.html +71 -0
- package/dist/runtime/nitro/inline.d.ts +3 -0
- package/dist/runtime/nitro/inline.mjs +6 -0
- package/dist/runtime/plugins/devtools.client.d.ts +8 -0
- package/dist/runtime/plugins/devtools.client.mjs +73 -8
- package/dist/runtime/plugins/devtools.server.d.ts +2 -0
- package/dist/runtime/plugins/devtools.server.mjs +8 -0
- package/dist/runtime/plugins/view/Frame.vue +31 -228
- package/dist/runtime/plugins/view/FrameBox.vue +167 -0
- package/dist/runtime/plugins/view/Main.vue +360 -0
- package/dist/runtime/plugins/view/client.d.ts +3 -0
- package/dist/runtime/plugins/view/client.mjs +45 -0
- package/dist/runtime/plugins/view/state.d.ts +2 -3
- package/dist/runtime/plugins/view/state.mjs +12 -9
- package/dist/runtime/plugins/view/utils.d.ts +1 -0
- package/dist/runtime/plugins/view/utils.mjs +9 -0
- package/dist/shared/{devtools.345c630c.mjs → devtools.7ab40af4.mjs} +3 -1
- package/dist/types.d.ts +1 -1
- package/package.json +30 -29
- package/dist/client/__inspecting/index.html +0 -7
- package/dist/client/_nuxt/CodeSnippets.vue.0933ada7.js +0 -1
- package/dist/client/_nuxt/DrawerRight.vue.7bc0ac9b.js +0 -1
- package/dist/client/_nuxt/DurationDisplay.vue.d2a5c09b.js +0 -1
- package/dist/client/_nuxt/FilepathItem.vue.a3a55bfd.js +0 -1
- package/dist/client/_nuxt/LaunchPage.vue.dff3dd39.js +0 -1
- package/dist/client/_nuxt/NCheckbox.vue.cd1637b2.js +0 -1
- package/dist/client/_nuxt/NCodeBlock.vue.d5b2e85d.js +0 -2
- package/dist/client/_nuxt/NIconButton.vue.3defcade.js +0 -1
- package/dist/client/_nuxt/NIconTitle.vue.62b2ff0a.js +0 -1
- package/dist/client/_nuxt/NLink.vue.be635eca.js +0 -1
- package/dist/client/_nuxt/NMarkdown.vue.00fc3014.js +0 -1
- package/dist/client/_nuxt/NSectionBlock.63c19da9.css +0 -1
- package/dist/client/_nuxt/NSectionBlock.eb96beb4.js +0 -1
- package/dist/client/_nuxt/NSelect.vue.7652516b.js +0 -1
- package/dist/client/_nuxt/NSwitch.vue.c07ff0b7.js +0 -1
- package/dist/client/_nuxt/NTip.vue.3fd9b115.js +0 -1
- package/dist/client/_nuxt/NpmVersionCheck.vue.7bc4775a.js +0 -1
- package/dist/client/_nuxt/StateEditor.vue.6e8c107a.js +0 -1
- package/dist/client/_nuxt/__inspecting.137e909d.js +0 -1
- package/dist/client/_nuxt/analyze-build.790e4c36.js +0 -1
- package/dist/client/_nuxt/assets.1c0d54b4.js +0 -16
- package/dist/client/_nuxt/custom-_name_.e88f914e.js +0 -1
- package/dist/client/_nuxt/editor.4380b623.js +0 -1
- package/dist/client/_nuxt/entry.34446c1f.js +0 -19
- package/dist/client/_nuxt/entry.bf8a0e33.css +0 -1
- package/dist/client/_nuxt/hooks.99ea2107.js +0 -1
- package/dist/client/_nuxt/imports.29e62250.js +0 -1
- package/dist/client/_nuxt/json-editor-vue.62f947e8.js +0 -137
- package/dist/client/_nuxt/modules.f8953fab.js +0 -4
- package/dist/client/_nuxt/open-graph.26d327ec.js +0 -3
- package/dist/client/_nuxt/overview.4326006b.js +0 -1
- package/dist/client/_nuxt/pages.b234eacb.js +0 -1
- package/dist/client/_nuxt/payload.fbf9b90d.js +0 -1
- package/dist/client/_nuxt/plugins.9c9f9450.js +0 -1
- package/dist/client/_nuxt/runtime-configs.cf5a4a0c.js +0 -1
- package/dist/client/_nuxt/server-routes.7185e439.js +0 -9
- package/dist/client/_nuxt/settings.8603972f.js +0 -1
- package/dist/client/_nuxt/state-components.f564bfa7.js +0 -1
- package/dist/client/_nuxt/storage.4b5872ff.js +0 -1
- package/dist/client/_nuxt/terminals.d263a781.js +0 -9
- package/dist/runtime/plugins/view/Container.vue +0 -97
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,
|
|
1
|
+
import{a as e,e as a,o as n}from"./entry.eb90118b.js";const s=e({__name:"middleware",setup(o){return(t,r)=>(n(),a("div",null," WIP "))}});export{s as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{_ as Re}from"./FilepathItem.vue.67a3bac2.js";import{a as R,l as D,o as h,c as M,w as x,b as d,Z as A,u as p,j as I,t as N,e as $,p as U,q as C,f as b,F as P,m as W,I as le,a6 as ke,ar as je,r as Z,ad as Fe,h as ae,as as He,U as Ie,a8 as Ue,a9 as qe,at as We,au as Ke,av as Ye,y as he,z as _e,aw as ze,ax as Se,ay as Je,az as Xe,ai as Ce,aA as Ge,aB as Ze,aC as Qe,a7 as et,aD as tt,v as nt,ab as ve,af as it,aE as ot,S as st,X as rt,H as lt,J as at,a3 as ut,aF as ct,K as dt,E as ft,ae as ye}from"./entry.eb90118b.js";import{_ as pt}from"./NpmVersionCheck.vue.5857e84f.js";import{u as Me}from"./editor.beb173d9.js";import{_ as mt}from"./NSectionBlock.a9d6a8bd.js";import{_ as Te}from"./NIconButton.vue.afd698ce.js";import{_ as ht}from"./NIconTitle.vue.025b1812.js";import{_ as _t}from"./Badge.bb04dbdf.js";import{_ as Oe}from"./NCodeBlock.vue.2f00c5a7.js";import{_ as vt}from"./NLink.vue.efbf2660.js";import{_ as yt}from"./NTip.vue.b7996913.js";import{_ as gt}from"./HelpFab.vue.e0c5b3b9.js";import"./NCheckbox.vue.56878d59.js";import"./client.c658398a.js";const bt={flex:"~ col gap2","flex-auto":"","of-hidden":"",px1:""},xt={"gap-1t":"",flex:"","items-center":"","text-ellipsis":"","ws-nowrap":"","text-lg":""},$t={key:2},wt=d("div",{"flex-auto":""},null,-1),kt={key:1,flex:"~ gap-2",title:"Documentation"},It=d("span",{"i-carbon-link":"","text-lg":"",op50:""},null,-1),zt={key:2,flex:"~ gap-2"},St=d("span",{"i-carbon-logo-github":"","text-lg":"",op50:""},null,-1),Ct={flex:"~ col","items-end":""},Mt={key:0,"h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p4:""},Tt=["src","alt"],Ot=d("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),Nt={key:1,flex:"~",mt2:"","flex-auto":"","items-end":"","justify-end":""},Vt=["src"],Lt=d("div",{"flex-auto":""},null,-1),Et={flex:"","justify-end":""},Dt="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",At="https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/",Bt="https://github.com/",Pt="https://www.npmjs.com/package/",ue=R({__name:"ModuleItemBase",props:{mod:{},info:{},compact:{type:Boolean},maintainers:{type:Boolean,default:!0}},setup(t){const e=t,n=D(()=>({...e.mod?.meta,...e.mod,...e.info})),i=Me();return(o,s)=>{const l=le,a=ke;return h(),M(a,{p4:"",flex:"~ gap2"},{default:x(()=>[d("div",bt,[A(o.$slots,"main",{},()=>[d("div",xt,[o.mod.isPackageModule?(h(),M(l,{key:0,to:Pt+(p(n).npm||p(n).name),target:"_blank",hover:"underline text-primary"},{default:x(()=>[I(N(p(n).name),1)]),_:1},8,["to"])):o.mod.entryPath?(h(),$("button",{key:1,role:"button",hover:"underline text-primary",onClick:s[0]||(s[0]=r=>p(i)(o.mod.entryPath))},N(p(n).name),1)):(h(),$("span",$t,N(p(n).name),1)),A(o.$slots,"badge")]),p(n).description?(h(),$("div",{key:0,class:U(o.compact?"ws-nowrap of-hidden truncate":"line-clamp-2"),"mt--1":"","text-sm":"",op50:""},N(p(n).description),3)):C("",!0),wt,p(n).website?(h(),$("div",kt,[It,b(l,{to:p(n).website,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:x(()=>[I(N(p(n).website.replace(/^https?:\/\//,"")),1)]),_:1},8,["to"])])):C("",!0),p(n).github?(h(),$("div",zt,[St,b(l,{to:p(n).github,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:x(()=>[I(N(p(n).github.replace(/^https?:\/\/github.com\//,"")),1)]),_:1},8,["to"])])):C("",!0)]),A(o.$slots,"items")]),d("div",Ct,[p(n).icon||o.mod.isPackageModule?(h(),$("div",Mt,[p(n).icon?(h(),$("img",{key:0,src:Dt+p(n).icon,alt:o.mod.name,ma:""},null,8,Tt)):C("",!0),Ot])):C("",!0),p(n).maintainers?.length&&o.maintainers?(h(),$("div",Nt,[(h(!0),$(P,null,W(p(n).maintainers,r=>(h(),M(l,{key:r.name,target:"_blank",to:Bt+r.github,title:r.name},{default:x(()=>[d("img",{src:At+r.github,"h-6":"","w-6":"","rounded-full":""},null,8,Vt)]),_:2},1032,["to","title"]))),128))])):C("",!0),o.$slots.actions?(h(),$(P,{key:2},[Lt,d("div",Et,[A(o.$slots,"actions")])],64)):C("",!0)])]),_:3})}}}),Rt={key:0,flex:"~ gap-2",title:"Open on filesystem"},jt=d("span",{"i-carbon-folder-move-to":"","text-lg":"",op50:""},null,-1),Ft=d("span",{"i-carbon-circle-dash":"","animate-spin":"","text-lg":"",op50:""},null,-1),Ht=d("code",{"text-sm":"",op50:""},"Upgrading...",-1),Ut={key:1,"mx--2":""},qt=["onClick"],Wt=d("span",{"i-carbon-intent-request-active":"","text-lg":"","text-primary":""},null,-1),Kt=d("code",{"text-xs":""},"Update installed, click to restart",-1),Yt=[Wt,Kt],Jt={key:2,"mx--2":""},Xt=["onClick"],Gt=d("span",{"i-carbon-intent-request-upgrade":"","text-lg":"",op50:""},null,-1),Zt={op50:""},Qt=d("div",{"i-carbon-arrow-right":"",op50:""},null,-1),en={"text-green":""},tn={key:3,flex:"~ gap-2","items-center":"",title:"NPM"},nn=d("span",{"i-carbon-cube":"","text-lg":"",op50:""},null,-1),on={"text-sm":"",op50:""},sn=R({__name:"ModuleItem",props:{mod:{}},setup(t){const e=t,n=D(()=>e.mod.info),i=D(()=>({...e.mod?.meta,...e.mod,...n.value}));return(o,s)=>{const l=Re,a=le,r=pt,u=ue;return h(),M(u,{mod:o.mod,info:p(n)},{items:x(()=>[o.mod.entryPath?(h(),$("div",Rt,[jt,b(l,{filepath:o.mod.entryPath,"text-sm":"",op50:"",hover:"text-primary op100"},null,8,["filepath"])])):C("",!0),p(i).npm?(h(),M(r,{key:p(i).npm,"package-name":p(i).npm,options:{dev:!0}},{default:x(({info:f,update:_,state:v,id:w,restart:k})=>[v==="running"?(h(),M(a,{key:0,flex:"~ gap-2","animate-pulse":"","items-center":"",to:w?`/modules/terminals?id=${encodeURIComponent(w)}`:void 0},{default:x(()=>[Ft,Ht]),_:2},1032,["to"])):v==="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},Yt,8,qt)])):f?.needsUpdate?(h(),$("div",Jt,[d("button",{flex:"~ gap-2",title:"Click to upgrade","items-center":"",rounded:"",px2:"","text-sm":"",hover:"bg-active",onClick:m=>_()},[Gt,d("code",Zt,"v"+N(f.current),1),Qt,d("code",en,"v"+N(f.latest),1)],8,Xt)])):f?.latest?(h(),$("div",tn,[nn,d("code",on,"v"+N(f.current),1)])):C("",!0)]),_:1},8,["package-name"])):C("",!0)]),_:1},8,["mod","info"])}}}),rn=R({__name:"NDropdown",props:{modelValue:{type:Boolean}},setup(t,{emit:e}){const i=je(t,"modelValue",e,{passive:!0}),o=Z();return Fe(o,()=>{i.value=!1}),(s,l)=>{const a=ae;return h(),$("div",{ref_key:"el",ref:o,class:"relative"},[A(s.$slots,"trigger",{enabled:p(i),click:()=>i.value=!p(i)},()=>[b(a,{onClick:l[0]||(l[0]=r=>i.value=!p(i))},{default:x(()=>[I(" Dropdown ")]),_:1})]),d("div",{class:U(["absolute z-10 border n-border-base rounded shadow n-transition n-bg-base",[p(i)?"op-100":"op0 pointer-events-none -translate-y-1"]])},[A(s.$slots,"default")],2)],512)}}}),Ne=["pages","meta","components","imports","nuxt-config-schema","@nuxt/devtools","@nuxt/telemetry"];function Ve(){return Ke("getModulesList",async()=>(await $fetch("https://cdn.jsdelivr.net/npm/@nuxt/modules@latest/modules.json")).filter(e=>!Ne.includes(e.npm)&&e.compatibility.nuxt.includes("^3")))}function Le(){return He("installed-modules",()=>{const t=Ie(),e=Ve();return D(()=>(t.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?qe(n.entryPath):t.value?.rootDir?We(n.entryPath,t.value?.rootDir).path:void 0:void 0,s=t.value?.modules?.includes(o),l=e.value?.find(a=>a.npm===o)||e.value?.find(a=>a.name===o);return{name:o,isPackageModule:i,isUninstallable:s,info:l,...n}}).filter(n=>n&&(!n.name||!Ne.includes(n.name))))})}const ln=R({__name:"ModuleItemInstall",props:{item:{}},emits:["start"],setup(t,{emit:e}){const n=t,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 _=f==="install"?he.installNuxtModule:he.uninstallNuxtModule,v=await _(await _e(),u.npm,!0);v.commands&&await ze.start(u,v,f)&&(Se.value.push({name:u.npm,info:u,processId:v.processId}),e("start"),await _(await _e(),u.npm,!1))}const r={};return(u,f)=>{const _=_t,v=Te,w=ae,k=rn,m=ue;return h(),M(m,{mod:r,role:p(s)?"":"button",info:u.item,mb2:"","h-full":"",class:U(p(s)?"border-dashed op75":"hover:bg-active!"),compact:!0,onClick:f[1]||(f[1]=c=>p(s)?null:a(u.item,"install"))},Ye({_:2},[p(s)?{name:"badge",fn:x(()=>[b(_,{"bg-green-400:10":"","text-green-400":""},{default:x(()=>[I(" Installed ")]),_:1}),p(l)?(h(),M(k,{key:0,n:"sm green"},{trigger:x(({click:c})=>[b(v,{icon:"carbon-overflow-menu-vertical",onClick:V=>c()},null,8,["onClick"])]),default:x(()=>[b(w,{icon:"carbon-trash-can",n:"red",onClick:f[0]||(f[0]=c=>a(u.item,"uninstall"))},{default:x(()=>[I(" Uninstall ")]),_:1})]),_:1})):C("",!0)]),key:"0"}:void 0]),1032,["role","info","class"])}}});function an(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var o=t.indexOf("Edge/");return o>0?parseInt(t.substring(o+5,t.indexOf(".",o)),10):-1}let J;function te(){te.init||(te.init=!0,J=an()!==-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(),Ce(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",J&&this.$el.appendChild(t),t.data="about:blank",J||this.$el.appendChild(t)},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 un=Ge();Je("data-v-b329ee4c");const cn={class:"resize-observer",tabindex:"-1"};Xe();const dn=un((t,e,n,i,o,s)=>(h(),M("div",cn)));Q.render=dn;Q.__scopeId="data-v-b329ee4c";Q.__file="src/components/ResizeObserver.vue";function X(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?X=function(e){return typeof e}:X=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(t)}function fn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ge(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function pn(t,e,n){return e&&ge(t.prototype,e),n&&ge(t,n),t}function be(t){return mn(t)||hn(t)||_n(t)||vn()}function mn(t){if(Array.isArray(t))return ne(t)}function hn(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function _n(t,e){if(t){if(typeof t=="string")return ne(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ne(t,e)}}function ne(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[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 yn(t){var e;return typeof t=="function"?e={callback:t}:e=t,e}function gn(t,e){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),_=1;_<u;_++)f[_-1]=arguments[_];if(s=f,!(i&&r===o)){var v=n.leading;typeof v=="function"&&(v=v(r,o)),(!i||r!==o)&&v&&t.apply(void 0,[r].concat(be(s))),o=r,clearTimeout(i),i=setTimeout(function(){t.apply(void 0,[r].concat(be(s))),i=0},e)}};return l._clear=function(){clearTimeout(i),i=null},l}function Ee(t,e){if(t===e)return!0;if(X(t)==="object"){for(var n in t)if(!Ee(t[n],e[n]))return!1;return!0}return!1}var bn=function(){function t(e,n,i){fn(this,t),this.el=e,this.observer=null,this.frozen=!1,this.createObserver(n,i)}return pn(t,[{key:"createObserver",value:function(n,i){var o=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=yn(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=gn(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(_){return _.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),Ce(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}}]),t}();function De(t,e,n){var i=e.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 bn(t,i,n);t._vue_visibilityState=o}}function xn(t,e,n){var i=e.value,o=e.oldValue;if(!Ee(i,o)){var s=t._vue_visibilityState;if(!i){Ae(t);return}s?s.createObserver(i,n):De(t,{value:i},n)}}function Ae(t){var e=t._vue_visibilityState;e&&(e.destroyObserver(),delete t._vue_visibilityState)}var $n={beforeMount:De,updated:xn,unmounted:Ae},wn={itemsLimit:1e3},kn=/(auto|scroll)/;function Be(t,e){return t.parentNode===null?e:Be(t.parentNode,e.concat([t]))}var ee=function(e,n){return getComputedStyle(e,null).getPropertyValue(n)},In=function(e){return ee(e,"overflow")+ee(e,"overflow-y")+ee(e,"overflow-x")},zn=function(e){return kn.test(In(e))};function xe(t){if(t instanceof HTMLElement||t instanceof SVGElement){for(var e=Be(t.parentNode,[]),n=0;n<e.length;n+=1)if(zn(e[n]))return e[n];return document.scrollingElement||document.documentElement}}function ie(t){"@babel/helpers - typeof";return ie=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(t)}var Sn={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(e){return["vertical","horizontal"].includes(e)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Cn(){return this.items.length&&ie(this.items[0])!=="object"}var oe=!1;if(typeof window<"u"){oe=!1;try{var Mn=Object.defineProperty({},"passive",{get:function(){oe=!0}});window.addEventListener("test",null,Mn)}catch{}}let Tn=0;var ce={name:"RecycleScroller",components:{ResizeObserver:Q},directives:{ObserveVisibility:$n},props:{...Sn,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 t={"-1":{accumulator:0}},e=this.items,n=this.sizeField,i=this.minItemSize;let o=1e4,s=0,l;for(let a=0,r=e.length;a<r;a++)l=e[a][n]||i,l<o&&(o=l),s+=l,t[a]={accumulator:s,size:l};return this.$_computedMinItemSize=o,t}return[]},simpleArray:Cn,itemIndexByKey(){const{keyField:t,items:e}=this,n={};for(let i=0,o=e.length;i<o;i++)n[e[i][t]]=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 t=this.$_lastUpdateScrollPosition;typeof t=="number"&&this.$nextTick(()=>{this.scrollToPosition(t)})},beforeUnmount(){this.removeListeners()},methods:{addView(t,e,n,i,o){const s=Ze({id:Tn++,index:e,used:!0,key:i,type:o}),l=Qe({item:n,position:0,nr:s});return t.push(l),l},unuseView(t,e=!1){const n=this.$_unusedViews,i=t.nr.type;let o=n.get(i);o||(o=[],n.set(i,o)),o.push(t),e||(t.nr.used=!1,t.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(t){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const e=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:n}=this.updateVisibleItems(!1,!0);n||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});e(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&e()},this.updateInterval))}},handleVisibilityChange(t,e){this.ready&&(t||e.boundingClientRect.width!==0||e.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(t,e=!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,_=this.$_views,v=this.$_unusedViews,w=this.pool,k=this.itemIndexByKey;let m,c,V,z,O;if(!u)m=c=z=O=V=0;else if(this.$_prerender)m=z=0,c=O=Math.min(this.prerender,r.length),V=null;else{const g=this.getScroll();if(e){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 L=this.buffer;g.start-=L,g.end+=L;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,pe=u-1,E=~~(u/2),me;do me=E,T=f[E].accumulator,T<g.start?q=E:E<u-1&&f[E+1].accumulator>g.start&&(pe=E),E=~~((q+pe)/2);while(E!==me);for(E<0&&(E=0),m=E,V=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=m;z<u&&S+f[z].accumulator<g.start;z++);for(O=z;O<u&&S+f[O].accumulator<g.end;O++);}else{m=~~(g.start/n*i);const T=m%i;m-=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),m<0&&(m=0),c>u&&(c=u),z<0&&(z=0),O>u&&(O=u),V=Math.ceil(u/i)*n}}c-m>wn.itemsLimit&&this.itemsLimitError(),this.totalSize=V;let y;const F=m<=this.$_endIndex&&c>=this.$_startIndex;if(F)for(let g=0,L=w.length;g<L;g++)y=w[g],y.nr.used&&(t&&(y.nr.index=k[y.item[a]]),(y.nr.index==null||y.nr.index<m||y.nr.index>=c)&&this.unuseView(y));const fe=F?null:new Map;let H,B,Y;for(let g=m;g<c;g++){H=r[g];const L=a?H[a]:H;if(L==null)throw new Error(`Key is ${L} on item (keyField is '${a}')`);if(y=_.get(L),!n&&!f[g].size){y&&this.unuseView(y);continue}B=H[l];let S=v.get(B),T=!1;if(!y)F?S&&S.length?y=S.pop():y=this.addView(w,g,H,L,B):(Y=fe.get(B)||0,(!S||Y>=S.length)&&(y=this.addView(w,g,H,L,B),this.unuseView(y,!0),S=v.get(B)),y=S[Y],fe.set(B,Y+1)),_.delete(y.nr.key),y.nr.used=!0,y.nr.index=g,y.nr.key=L,y.nr.type=B,_.set(L,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=H,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=m,this.$_endIndex=c,this.emitUpdate&&this.$emit("update",m,c,z,O),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:F}},getListenerTarget(){let t=xe(this.$el);return window.document&&(t===window.document.documentElement||t===window.document.body)&&(t=window),t},getScroll(){const{$el:t,direction:e}=this,n=e==="vertical";let i;if(this.pageMode){const o=t.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:t.scrollTop,end:t.scrollTop+t.clientHeight}:i={start:t.scrollLeft,end:t.scrollLeft+t.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(t){let e;const n=this.gridItems||1;this.itemSize===null?e=t>0?this.sizes[t-1].accumulator:0:e=Math.floor(t/n)*this.itemSize,this.scrollToPosition(e)},scrollToPosition(t){const e=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,i,o;if(this.pageMode){const s=xe(this.$el),l=s.tagName==="HTML"?0:s[e.scroll],a=s.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[e.start]-a[e.start];n=s,i=e.scroll,o=t+l+u}else n=this.$el,i=e.scroll,o=t;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((t,e)=>t.nr.index-e.nr.index)}}};const On={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Nn={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Vn(t,e,n,i,o,s){const l=et("ResizeObserver"),a=tt("observe-visibility");return nt((h(),$("div",{class:U(["vue-recycle-scroller",{ready:o.ready,"page-mode":n.pageMode,[`direction-${t.direction}`]:!0}]),onScrollPassive:e[0]||(e[0]=(...r)=>s.handleScroll&&s.handleScroll(...r))},[t.$slots.before?(h(),$("div",On,[A(t.$slots,"before")],512)):C("v-if",!0),(h(),M(ve(n.listTag),{ref:"wrapper",style:st({[t.direction==="vertical"?"minHeight":"minWidth"]:o.totalSize+"px"}),class:U(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:x(()=>[(h(!0),$(P,null,W(o.pool,r=>(h(),M(ve(n.itemTag),it({key:r.nr.id,style:o.ready?{transform:`translate${t.direction==="vertical"?"Y":"X"}(${r.position}px) translate${t.direction==="vertical"?"X":"Y"}(${r.offset}px)`,width:n.gridItems?`${t.direction==="vertical"&&n.itemSecondarySize||n.itemSize}px`:void 0,height:n.gridItems?`${t.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}]]},ot(n.skipHover?{}:{mouseenter:()=>{o.hoverKey=r.nr.key},mouseleave:()=>{o.hoverKey=null}})),{default:x(()=>[A(t.$slots,"default",{item:r.item,index:r.nr.index,active:r.nr.used})]),_:2},1040,["style","class"]))),128)),A(t.$slots,"empty")]),_:3},8,["style","class"])),t.$slots.after?(h(),$("div",Nn,[A(t.$slots,"after")],512)):C("v-if",!0),b(l,{onNotify:s.handleResize},null,8,["onNotify"])],34)),[[a,s.handleVisibilityChange]])}ce.render=Vn;ce.__file="src/components/RecycleScroller.vue";const Ln={"h-full":"",flex:"~ col gap-4"},En={"flex-auto":"","of-auto":"",flex:"~ col gap-2",pl6:"",pr4:""},Dn=R({__name:"ModuleInstallList",emits:["close"],setup(t,{emit:e}){const n=Ve(),i=Z(""),o=D(()=>new rt(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=ht,u=at,f=ln;return h(),$("div",Ln,[b(r,{mx6:"",mt6:"","text-xl":"",op75:"",icon:"i-carbon-intent-request-create",text:"Install Module"}),b(u,{modelValue:p(i),"onUpdate:modelValue":a[0]||(a[0]=_=>lt(i)?i.value=_:null),placeholder:"Search...",icon:"carbon-search",n:"primary",mx6:"","px-5":"","py-2":""},null,8,["modelValue"]),d("div",En,[b(p(ce),{class:"scroller",items:p(s),"item-size":160,"key-field":"name"},{default:x(({item:_})=>[b(f,{item:_,onStart:a[1]||(a[1]=v=>e("close"))},null,8,["item"])]),_:1},8,["items"])])])}}});function j(){}j.prototype={diff:function(e,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(m){return o?(setTimeout(function(){o(void 0,m)},0),!0):m}e=this.castInput(e),n=this.castInput(n),e=this.removeEmpty(this.tokenize(e)),n=this.removeEmpty(this.tokenize(n));var a=n.length,r=e.length,u=1,f=a+r;i.maxEditLength&&(f=Math.min(f,i.maxEditLength));var _=[{newPos:-1,components:[]}],v=this.extractCommon(_[0],n,e,0);if(_[0].newPos+1>=a&&v+1>=r)return l([{value:this.join(n),count:n.length}]);function w(){for(var m=-1*u;m<=u;m+=2){var c=void 0,V=_[m-1],z=_[m+1],O=(z?z.newPos:0)-m;V&&(_[m-1]=void 0);var y=V&&V.newPos+1<a,F=z&&0<=O&&O<r;if(!y&&!F){_[m]=void 0;continue}if(!y||F&&V.newPos<z.newPos?(c=Bn(z),s.pushComponent(c.components,void 0,!0)):(c=V,c.newPos++,s.pushComponent(c.components,!0,void 0)),O=s.extractCommon(c,n,e,m),c.newPos+1>=a&&O+1>=r)return l(An(s,c.components,n,e,s.useLongestToken));_[m]=c}u++}if(o)(function m(){setTimeout(function(){if(u>f)return o();w()||m()},0)})();else for(;u<=f;){var k=w();if(k)return k}},pushComponent:function(e,n,i){var o=e[e.length-1];o&&o.added===n&&o.removed===i?e[e.length-1]={count:o.count+1,added:n,removed:i}:e.push({count:1,added:n,removed:i})},extractCommon:function(e,n,i,o){for(var s=n.length,l=i.length,a=e.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&&e.components.push({count:u}),e.newPos=a,r},equals:function(e,n){return this.options.comparator?this.options.comparator(e,n):e===n||this.options.ignoreCase&&e.toLowerCase()===n.toLowerCase()},removeEmpty:function(e){for(var n=[],i=0;i<e.length;i++)e[i]&&n.push(e[i]);return n},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};function An(t,e,n,i,o){for(var s=0,l=e.length,a=0,r=0;s<l;s++){var u=e[s];if(u.removed){if(u.value=t.join(i.slice(r,r+u.count)),r+=u.count,s&&e[s-1].added){var _=e[s-1];e[s-1]=e[s],e[s]=_}}else{if(!u.added&&o){var f=n.slice(a,a+u.count);f=f.map(function(w,k){var m=i[r+k];return m.length>w.length?m:w}),u.value=t.join(f)}else u.value=t.join(n.slice(a,a+u.count));a+=u.count,u.added||(r+=u.count)}}var v=e[l-1];return l>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[l-2].value+=v.value,e.pop()),e}function Bn(t){return{newPos:t.newPos,components:t.components.slice(0)}}var $e=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,we=/\S/,Pe=new j;Pe.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!we.test(t)&&!we.test(e)};Pe.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<e.length-1;n++)!e[n+1]&&e[n+2]&&$e.test(e[n])&&$e.test(e[n+2])&&(e[n]+=e[n+2],e.splice(n+1,2),n--);return e};var de=new j;de.tokenize=function(t){var e=[],n=t.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?e[e.length-1]+=o:(this.options.ignoreWhitespace&&(o=o.trim()),e.push(o))}return e};function Pn(t,e,n){return de.diff(t,e,n)}var Rn=new j;Rn.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};var jn=new j;jn.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function G(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(e){return typeof e}:G=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},G(t)}var Fn=Object.prototype.toString,K=new j;K.useLongestToken=!0;K.tokenize=de.tokenize;K.castInput=function(t){var e=this.options,n=e.undefinedReplacement,i=e.stringifyReplacer,o=i===void 0?function(s,l){return typeof l>"u"?n:l}:i;return typeof t=="string"?t:JSON.stringify(se(t,null,null,o),o," ")};K.equals=function(t,e){return j.prototype.equals.call(K,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function se(t,e,n,i,o){e=e||[],n=n||[],i&&(t=i(o,t));var s;for(s=0;s<e.length;s+=1)if(e[s]===t)return n[s];var l;if(Fn.call(t)==="[object Array]"){for(e.push(t),l=new Array(t.length),n.push(l),s=0;s<t.length;s+=1)l[s]=se(t[s],e,n,i,o);return e.pop(),n.pop(),l}if(t&&t.toJSON&&(t=t.toJSON()),G(t)==="object"&&t!==null){e.push(t),l={},n.push(l);var a=[],r;for(r in t)t.hasOwnProperty(r)&&a.push(r);for(a.sort(),s=0;s<a.length;s+=1)r=a[s],l[r]=se(t[r],e,n,i,r);e.pop(),n.pop()}else l=t;return l}var re=new j;re.tokenize=function(t){return t.slice()};re.join=re.removeEmpty=function(t){return t};const Hn=R({__name:"CodeDiff",props:{from:{},to:{},lang:{}},setup(t){const e=t;function n(a,r){const u=Pn(a.trim(),r.trim()),f=[],_=[],v=[];for(const w of u){const k=w.value.trimEnd().split(`
|
|
3
|
+
`);for(const m of k)w.added?(f.push(v.length),v.push(m)):(w.removed&&_.push(v.length),v.push(m))}return{added:f,removed:_,result:v.join(`
|
|
4
|
+
`)}}const i=D(()=>n(e.from,e.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();ut(l);function l(){const a=ct(s);a&&a.querySelector(".line-added,.line-removed")?.scrollIntoView()}return(a,r)=>{const u=Oe;return h(),M(u,{ref_key:"elRef",ref:s,code:p(i).result,lang:a.lang,"transform-rendered":o,onLoaded:l},null,8,["code","lang"])}}}),Un={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},qn={capitalize:""},Wn=d("p",{op50:""}," Following command will be executed in your terminal: ",-1),Kn={op50:""},Yn=d("p",null,[d("span",{op50:""},"After that, Nuxt will "),d("span",{"text-orange":""},"restart automatically"),I(". ")],-1),Jn={flex:"~ gap-3",mt2:"","justify-end":""},Xn=R({__name:"ModuleActionDialog",setup(t){const e=Ie(),n=Me(),i={};return(o,s)=>{const l=ue,a=Oe,r=vt,u=Hn,f=yt,_=ae,v=dt;return h(),M(p(ze),null,{default:x(({resolve:w,args:k})=>[b(v,{"model-value":!0,onClose:m=>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:U(k[2]==="install"?"text-primary":"text-red")},[d("span",qn,N(k[2]),1),I(),d("code",null,N(k[0].name),1),I("? ")],2),Wn,b(a,{code:k[1].commands.join(" "),lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),d("p",Kn,[I(" Then your "),b(r,{role:"button",n:"primary",onClick:s[0]||(s[0]=m=>p(n)(p(e)?._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"]),Yn,d("div",Jn,[b(f,{n:"sm purple","flex-auto":"",icon:"carbon-chemistry"},{default:x(()=>[I(" Experimental. Backup your project first. ")]),_:1}),b(_,{onClick:m=>w(!1)},{default:x(()=>[I(" Cancel ")]),_:2},1032,["onClick"]),b(_,{n:"solid",capitalize:"",class:U(k[2]==="install"?"n-primary":"n-red"),onClick:m=>w(!0)},{default:x(()=>[I(N(k[2]),1)]),_:2},1032,["class","onClick"])])])]),_:2},1032,["onClose"])]),_:1})}}}),Gn={class:"markdown-body"},Zn=d("h1",null,"Modules",-1),Qn=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),ei=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),ti=d("p",null,[d("a",{href:"https://nuxt.com/docs/guide/concepts/modules",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),ni=[Zn,Qn,ei,ti],ii={__name:"modules",setup(t,{expose:e}){return e({frontmatter:{}}),(i,o)=>(h(),$("div",Gn,ni))}},oi={"h-full":"","w-full":"","of-auto":""},si={relative:"","h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p3:""},ri=["src","alt"],li=d("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1),ai={"text-lg":"","group-hover":"text-primary",transition:"",flex:"~ gap-2 items-center"},ui=d("div",{"i-carbon-circle-dash":"","animate-spin":"","text-xl":"",op75:""},null,-1),ci={op75:""},di=d("div",{"i-carbon-intent-request-create":"","text-4xl":"",op40:"","group-hover":"op75 text-primary",transition:""},null,-1),fi=d("div",{"text-lg":"",op40:"","group-hover":"op75 text-primary",transition:""}," Install New Module ",-1),pi={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/",Mi=R({__name:"modules",setup(t){const e=Z(!1),n=Le(),i=D(()=>n.value.filter(s=>s.isPackageModule)),o=D(()=>n.value.filter(s=>!s.isPackageModule));return ft(()=>[{id:"action:modules:install",title:"Install a new module",icon:"i-carbon-intent-request-create ",action:()=>{e.value=!0}}]),(s,l)=>{const a=sn,r=ke,u=le,f=mt,_=Te,v=Dn,w=Xn,k=ii,m=gt;return h(),$(P,null,[d("div",oi,[b(f,{icon:"carbon-3d-mpr-toggle",text:"Installed Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${p(i).length}`},{default:x(()=>[(h(!0),$(P,null,W(p(i),c=>(h(),M(a,{key:c.name,mod:c},null,8,["mod"]))),128)),(h(!0),$(P,null,W("processInstallingModules"in s?s.processInstallingModules:p(Se),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",si,[d("img",{src:mi+c.info.icon,alt:c.info.name,ma:""},null,8,ri),li]),d("div",ai,[ui,d("span",ci,"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=>e.value=!0)},{default:x(()=>[di,fi]),_:1})]),_:1},8,["description"]),p(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: ${p(o).length}`},{default:x(()=>[(h(!0),$(P,null,W(p(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(ye,{name:"fade-in"},{default:x(()=>[p(e)?(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=>e.value=!1)})):C("",!0)]),_:1}),b(ye,{name:"slide-in"},{default:x(()=>[p(e)?(h(),$("div",pi,[b(_,{icon:"carbon-close",pos:"absolute top-3 right-3","rounded-full":"","text-xl":"",onClick:l[2]||(l[2]=c=>e.value=!1)}),b(v,{onClose:l[3]||(l[3]=c=>e.value=!1)})])):C("",!0)]),_:1}),b(w)]),b(m,null,{default:x(()=>[b(k)]),_:1})],64)}}});export{Mi as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aY as r,Z as n}from"./entry.eb90118b.js";const t={};function o(e,s){return n(e.$slots,"default")}const c=r(t,[["render",o]]);export{c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=[{id:"doc:getting-started:introduction",title:"Introduction",description:"Nuxt's goal is to make web development intuitive and performant with a great Developer Experience in mind.",url:"https://nuxt.com/docs/getting-started/introduction"},{id:"doc:getting-started:deployment",title:"Deployment",description:"Deploy on a Node.js server, pre-render for static hosting and to serverless or edge environments.",url:"https://nuxt.com/docs/getting-started/deployment"},{id:"doc:getting-started:testing",title:"Testing",url:"https://nuxt.com/docs/getting-started/testing"},{id:"doc:getting-started:upgrade",title:"Upgrade Guide",description:"Have a Nuxt 2 project to migrate? Use these guides to upgrade your applications to Nuxt 3.",url:"https://nuxt.com/docs/getting-started/upgrade"},{id:"doc:getting-started:installation",title:"Installation",url:"https://nuxt.com/docs/getting-started/installation"},{id:"doc:getting-started:configuration",title:"Configuration",description:"Nuxt is configured with sensible defaults. The config file can override or extend them.",url:"https://nuxt.com/docs/getting-started/configuration"},{id:"doc:getting-started:views",title:"Views",url:"https://nuxt.com/docs/getting-started/views"},{id:"doc:getting-started:assets",title:"Assets",url:"https://nuxt.com/docs/getting-started/assets"},{id:"doc:getting-started:routing",title:"Routing",description:"Nuxt file-system routing creates a route for every file in the pages/ directory.",url:"https://nuxt.com/docs/getting-started/routing"},{id:"doc:getting-started:seo-meta",title:"SEO and Meta",description:"Improve your Nuxt app's SEO with powerful head config, composables and components.",url:"https://nuxt.com/docs/getting-started/seo-meta"},{id:"doc:getting-started:transitions",title:"Transitions",description:"Nuxt leverages Vue's Transition component to apply transitions between pages and layouts.",url:"https://nuxt.com/docs/getting-started/transitions"},{id:"doc:getting-started:data-fetching",title:"Data fetching",description:"Nuxt provides composables to handle data fetching within your application.",url:"https://nuxt.com/docs/getting-started/data-fetching"},{id:"doc:getting-started:state-management",title:"State Management",description:"Nuxt provides powerful state management libraries and the useState composable to create a reactive and SSR-friendly shared state.",url:"https://nuxt.com/docs/getting-started/state-management"},{id:"doc:getting-started:error-handling",title:"Error handling",url:"https://nuxt.com/docs/getting-started/error-handling"},{id:"doc:getting-started:layers",title:"Layers",description:"Nuxt provides a powerful system that allows you to extend the default files, configs, and much more.",url:"https://nuxt.com/docs/getting-started/layers"},{id:"doc:guide:concepts:auto-imports",title:"Auto imports",description:"Nuxt auto-imports helper functions, composables and Vue APIs.",url:"https://nuxt.com/docs/guide/concepts/auto-imports"},{id:"doc:guide:concepts:vuejs-development",title:"Vue.js Development",description:"Nuxt uses Vue and adds features such as component auto-imports and file-based routing.",url:"https://nuxt.com/docs/guide/concepts/vuejs-development"},{id:"doc:guide:concepts:rendering",title:"Rendering Modes",description:"Nuxt supports different rendering modes, univeral rendering, client-side rendering but also offers hybrid-rendering and the possibility to render on CDN Edge Servers.",url:"https://nuxt.com/docs/guide/concepts/rendering"},{id:"doc:guide:concepts:server-engine",title:"Server Engine",url:"https://nuxt.com/docs/guide/concepts/server-engine"},{id:"doc:guide:concepts:modules",title:"Modules",description:"Nuxt provides a module system to extend the framework core and simplify integrations.",url:"https://nuxt.com/docs/guide/concepts/modules"},{id:"doc:guide:concepts:esm",title:"ES Modules",description:"Nuxt 3 (and Bridge) uses Native ES Modules.",url:"https://nuxt.com/docs/guide/concepts/esm"},{id:"doc:guide:concepts:typescript",title:"TypeScript",description:"Nuxt 3 is fully typed and provides accurate type information when you are coding.",url:"https://nuxt.com/docs/guide/concepts/typescript"},{id:"doc:guide:directory-structure:nuxt",title:".nuxt",description:"Nuxt uses the .nuxt/ directory in development to generate your Vue application.",url:"https://nuxt.com/docs/guide/directory-structure/nuxt"},{id:"doc:guide:directory-structure:output",title:".output",description:"Nuxt creates the .output/ directory when building your application for production.",url:"https://nuxt.com/docs/guide/directory-structure/output"},{id:"doc:guide:directory-structure:assets",title:"assets",description:"The assets/ directory is used to add all the website's assets that the build tool will process.",url:"https://nuxt.com/docs/guide/directory-structure/assets"},{id:"doc:guide:directory-structure:components",title:"components",description:"The components/ directory is where you put all your Vue components.",url:"https://nuxt.com/docs/guide/directory-structure/components"},{id:"doc:guide:directory-structure:composables",title:"composables",description:"Use the composables/ directory to auto-import your Vue composables into your application.",url:"https://nuxt.com/docs/guide/directory-structure/composables"},{id:"doc:guide:directory-structure:content",title:"content",description:"The Content module reads the content/ directory to create a file-based CMS for your application.",url:"https://nuxt.com/docs/guide/directory-structure/content"},{id:"doc:guide:directory-structure:layouts",title:"layouts",description:"Nuxt provides a layouts framework to extract common UI patterns into reusable layouts.",url:"https://nuxt.com/docs/guide/directory-structure/layouts"},{id:"doc:guide:directory-structure:middleware",title:"middleware",description:"Nuxt provides middleware to run code before navigating to a particular route.",url:"https://nuxt.com/docs/guide/directory-structure/middleware"},{id:"doc:guide:directory-structure:modules",title:"modules",description:"Use the modules/ directory to automatically register local modules within your application.",url:"https://nuxt.com/docs/guide/directory-structure/modules"},{id:"doc:guide:directory-structure:node_modules",title:"node_modules",description:"The package manager stores the dependencies of your project in the node_modules/ directory.",url:"https://nuxt.com/docs/guide/directory-structure/node_modules"},{id:"doc:guide:directory-structure:pages",title:"pages",description:"Nuxt provides a file-based routing to create routes within your web application.",url:"https://nuxt.com/docs/guide/directory-structure/pages"},{id:"doc:guide:directory-structure:plugins",title:"plugins",description:"Nuxt reads the files in your plugins directory and loads them at the creation of the Vue application.",url:"https://nuxt.com/docs/guide/directory-structure/plugins"},{id:"doc:guide:directory-structure:public",title:"public",description:"The public/ directory is used to serve your website's static assets.",url:"https://nuxt.com/docs/guide/directory-structure/public"},{id:"doc:guide:directory-structure:server",title:"server",description:"The server/ directory is used to register API and server handlers to your application.",url:"https://nuxt.com/docs/guide/directory-structure/server"},{id:"doc:guide:directory-structure:utils",title:"utils",description:"Use the utils/ directory to auto-import your utility functions throughout your application.",url:"https://nuxt.com/docs/guide/directory-structure/utils"},{id:"doc:guide:directory-structure:env",title:".env",description:"A .env file specifies your build/dev-time environment variables.",url:"https://nuxt.com/docs/guide/directory-structure/env"},{id:"doc:guide:directory-structure:gitignore",title:".gitignore",description:"A .gitignore file specifies intentionally untracked files that git should ignore.",url:"https://nuxt.com/docs/guide/directory-structure/gitignore"},{id:"doc:guide:directory-structure:nuxtignore",title:".nuxtignore",description:"The .nuxtignore file lets Nuxt ignore files in your project’s root directory during the build phase.",url:"https://nuxt.com/docs/guide/directory-structure/nuxtignore"},{id:"doc:guide:directory-structure:app-config",title:"app.config.ts",description:"Nuxt 3 provides the app.config file to expose reactive configuration within your application.",url:"https://nuxt.com/docs/guide/directory-structure/app-config"},{id:"doc:guide:directory-structure:app",title:"app.vue",description:"The app.vue file is the main component in your Nuxt 3 applications.",url:"https://nuxt.com/docs/guide/directory-structure/app"},{id:"doc:guide:directory-structure:nuxt.config",title:"nuxt.config.ts",description:"Nuxt can be easily configured with a single nuxt.config file.",url:"https://nuxt.com/docs/guide/directory-structure/nuxt.config"},{id:"doc:guide:directory-structure:package",title:"package.json",description:"The package.json file contains all the dependencies and scripts for your application.",url:"https://nuxt.com/docs/guide/directory-structure/package"},{id:"doc:guide:directory-structure:tsconfig",title:"tsconfig.json",description:"Nuxt generates a .nuxt/tsconfig.json file with sensible defaults and your aliases.",url:"https://nuxt.com/docs/guide/directory-structure/tsconfig"},{id:"doc:guide:going-further:internals",title:"How Nuxt Works?",description:"Nuxt is a minimal but highly customizable framework to build web applications.",url:"https://nuxt.com/docs/guide/going-further/internals"},{id:"doc:guide:going-further:runtime-config",title:"Runtime Config",description:"Nuxt provides a runtime config API to expose configuration within your application.",url:"https://nuxt.com/docs/guide/going-further/runtime-config"},{id:"doc:guide:going-further:edge-channel",title:"Edge Channel",description:"Edge channel allows to use latest commits from the repository.",url:"https://nuxt.com/docs/guide/going-further/edge-channel"},{id:"doc:guide:going-further:hooks",title:"Lifecycle Hooks",description:"Nuxt provides a powerful hooking system to expand almost every aspect using hooks.",url:"https://nuxt.com/docs/guide/going-further/hooks"},{id:"doc:guide:going-further:modules",title:"Module Author Guide",description:"Learn how to create a Nuxt Module to integrate, enhance or extend any Nuxt applications.",url:"https://nuxt.com/docs/guide/going-further/modules"},{id:"doc:guide:going-further:kit",title:"Nuxt Kit",description:"@nuxt/kit provides features for module authors.",url:"https://nuxt.com/docs/guide/going-further/kit"},{id:"doc:guide:going-further:nuxt-app",title:"NuxtApp",description:"In Nuxt 3, you can access runtime app context within composables, components and plugins.",url:"https://nuxt.com/docs/guide/going-further/nuxt-app"},{id:"doc:guide:going-further:layers",title:"Authoring Nuxt Layers",description:"Nuxt provides a powerful system that allows you to extend the default files, configs, and much more.",url:"https://nuxt.com/docs/guide/going-further/layers"},{id:"doc:guide:going-further:custom-routing",title:"Custom routing",description:"In Nuxt 3, your routing is defined by the structure of your files inside the pages directory. However, since it uses vue-router under the hood, Nuxt offers you several ways to add custom routes in your project.",url:"https://nuxt.com/docs/guide/going-further/custom-routing"},{id:"doc:guide:going-further:debugging",title:"Debugging",description:"In Nuxt 3, you can get started with debugging your application directly in the browser as well as in your IDE.",url:"https://nuxt.com/docs/guide/going-further/debugging"},{id:"doc:api:composables:use-app-config",title:"useAppConfig",url:"https://nuxt.com/docs/api/composables/use-app-config"},{id:"doc:api:composables:use-async-data",title:"useAsyncData",description:"useAsyncData provides access to data that resolves asynchronously.",url:"https://nuxt.com/docs/api/composables/use-async-data"},{id:"doc:api:composables:use-cookie",title:"useCookie",description:"useCookie is an SSR-friendly composable to read and write cookies.",url:"https://nuxt.com/docs/api/composables/use-cookie"},{id:"doc:api:composables:use-error",title:"useError",description:"useError composable returns the global Nuxt error that is being handled.",url:"https://nuxt.com/docs/api/composables/use-error"},{id:"doc:api:composables:use-fetch",title:"useFetch",url:"https://nuxt.com/docs/api/composables/use-fetch"},{id:"doc:api:composables:use-head-safe",title:"useHeadSafe",description:"The recommended way to provide head data with user input.",url:"https://nuxt.com/docs/api/composables/use-head-safe"},{id:"doc:api:composables:use-head",title:"useHead",description:"useHead customizes the head properties of individual pages of your Nuxt app.",url:"https://nuxt.com/docs/api/composables/use-head"},{id:"doc:api:composables:use-hydration",title:"useHydration",url:"https://nuxt.com/docs/api/composables/use-hydration"},{id:"doc:api:composables:use-lazy-async-data",title:"useLazyAsyncData",description:"This wrapper around useAsyncData triggers navigation immediately.",url:"https://nuxt.com/docs/api/composables/use-lazy-async-data"},{id:"doc:api:composables:use-lazy-fetch",title:"useLazyFetch",description:"This wrapper around useFetch triggers navigation immediately.",url:"https://nuxt.com/docs/api/composables/use-lazy-fetch"},{id:"doc:api:composables:use-nuxt-app",title:"useNuxtApp",url:"https://nuxt.com/docs/api/composables/use-nuxt-app"},{id:"doc:api:composables:use-nuxt-data",title:"useNuxtData",url:"https://nuxt.com/docs/api/composables/use-nuxt-data"},{id:"doc:api:composables:use-request-event",title:"useRequestEvent",description:"You can use useRequestEvent to access the incoming request.",url:"https://nuxt.com/docs/api/composables/use-request-event"},{id:"doc:api:composables:use-request-headers",title:"useRequestHeaders",description:"Use useRequestHeaders to access the incoming request headers.",url:"https://nuxt.com/docs/api/composables/use-request-headers"},{id:"doc:api:composables:use-request-url",title:"useRequestURL",url:"https://nuxt.com/docs/api/composables/use-request-url"},{id:"doc:api:composables:use-route",title:"useRoute",description:"The useRoute composable returns the current route.",url:"https://nuxt.com/docs/api/composables/use-route"},{id:"doc:api:composables:use-router",title:"useRouter",description:"The useRouter composable returns the router instance.",url:"https://nuxt.com/docs/api/composables/use-router"},{id:"doc:api:composables:use-runtime-config",title:"useRuntimeConfig",url:"https://nuxt.com/docs/api/composables/use-runtime-config"},{id:"doc:api:composables:use-seo-meta",title:"useSeoMeta",description:"The useSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.",url:"https://nuxt.com/docs/api/composables/use-seo-meta"},{id:"doc:api:composables:use-server-seo-meta",title:"useServerSeoMeta",description:"The useServerSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.",url:"https://nuxt.com/docs/api/composables/use-server-seo-meta"},{id:"doc:api:composables:use-state",title:"useState",description:"The useState composable creates a reactive and SSR-friendly shared state.",url:"https://nuxt.com/docs/api/composables/use-state"},{id:"doc:api:components:client-only",title:"<ClientOnly>",description:"The <ClientOnly> component renders its slot only in client-side.",url:"https://nuxt.com/docs/api/components/client-only"},{id:"doc:api:components:nuxt-client-fallback",title:"<NuxtClientFallback>",description:"Nuxt provides `<NuxtClientFallback>` component to render its content on the client if any of its children trigger an error in SSR",url:"https://nuxt.com/docs/api/components/nuxt-client-fallback"},{id:"doc:api:components:nuxt-page",title:"<NuxtPage>",description:"The NuxtPage component is required to display pages located in the pages/ directory.",url:"https://nuxt.com/docs/api/components/nuxt-page"},{id:"doc:api:components:nuxt-layout",title:"<NuxtLayout>",url:"https://nuxt.com/docs/api/components/nuxt-layout"},{id:"doc:api:components:nuxt-link",title:"<NuxtLink>",description:"Nuxt provides <NuxtLink> component to handle any kind of links within your application.",url:"https://nuxt.com/docs/api/components/nuxt-link"},{id:"doc:api:components:nuxt-loading-indicator",title:"<NuxtLoadingIndicator>",url:"https://nuxt.com/docs/api/components/nuxt-loading-indicator"},{id:"doc:api:components:nuxt-error-boundary",title:"<NuxtErrorBoundary>",description:"The <NuxtErrorBoundary> component handles client-side errors happening in its default slot.",url:"https://nuxt.com/docs/api/components/nuxt-error-boundary"},{id:"doc:api:components:nuxt-welcome",title:"<NuxtWelcome>",description:"The `<NuxtWelcome>` component greets users in new projects made from the starter template.",url:"https://nuxt.com/docs/api/components/nuxt-welcome"},{id:"doc:api:components:teleports",title:"<Teleport>",description:"The <Teleport> component teleports a component to a different location in the DOM.",url:"https://nuxt.com/docs/api/components/teleports"},{id:"doc:api:utils:$fetch",title:"$fetch",description:"Nuxt uses ofetch to expose globally the $fetch helper for making HTTP requests.",url:"https://nuxt.com/docs/api/utils/$fetch"},{id:"doc:api:utils:abort-navigation",title:"abortNavigation",url:"https://nuxt.com/docs/api/utils/abort-navigation"},{id:"doc:api:utils:add-route-middleware",title:"addRouteMiddleware",description:"addRouteMiddleware() is a helper function to dynamically add middleware in your application.",url:"https://nuxt.com/docs/api/utils/add-route-middleware"},{id:"doc:api:utils:clear-error",title:"clearError",description:"The clearError composable clears all handled errors.",url:"https://nuxt.com/docs/api/utils/clear-error"},{id:"doc:api:utils:clear-nuxt-data",title:"clearNuxtData",url:"https://nuxt.com/docs/api/utils/clear-nuxt-data"},{id:"doc:api:utils:create-error",title:"createError",description:"You can use this function to create an error object with additional metadata.",url:"https://nuxt.com/docs/api/utils/create-error"},{id:"doc:api:utils:define-nuxt-component",title:"defineNuxtComponent",description:"defineNuxtComponent() is a helper function for defining type safe components with Options API.",url:"https://nuxt.com/docs/api/utils/define-nuxt-component"},{id:"doc:api:utils:define-nuxt-route-middleware",title:"defineNuxtRouteMiddleware",url:"https://nuxt.com/docs/api/utils/define-nuxt-route-middleware"},{id:"doc:api:utils:define-page-meta",title:"definePageMeta",url:"https://nuxt.com/docs/api/utils/define-page-meta"},{id:"doc:api:utils:navigate-to",title:"navigateTo",description:"navigateTo is a helper function that programmatically navigates users.",url:"https://nuxt.com/docs/api/utils/navigate-to"},{id:"doc:api:utils:on-before-route-leave",title:"onBeforeRouteLeave",description:"The onBeforeRouteLeave composable allows registering a route guard within a component.",url:"https://nuxt.com/docs/api/utils/on-before-route-leave"},{id:"doc:api:utils:on-before-route-update",title:"onBeforeRouteUpdate",description:"The onBeforeRouteUpdate composable allows registering a route guard within a component.",url:"https://nuxt.com/docs/api/utils/on-before-route-update"},{id:"doc:api:utils:on-nuxt-ready",title:"onNuxtReady",description:"The onNuxtReady composable allows running a callback after your app has finished initializing.",url:"https://nuxt.com/docs/api/utils/on-nuxt-ready"},{id:"doc:api:utils:prefetch-components",title:"prefetchComponents",description:"Nuxt provides utilities to give you control over prefetching and preloading components.",url:"https://nuxt.com/docs/api/utils/prefetch-components"},{id:"doc:api:utils:preload-components",title:"preloadComponents",description:"Nuxt provides utilities to give you control over prefetching and preloading components.",url:"https://nuxt.com/docs/api/utils/preload-components"},{id:"doc:api:utils:preload-route-components",title:"preloadRouteComponents",url:"https://nuxt.com/docs/api/utils/preload-route-components"},{id:"doc:api:utils:refresh-nuxt-data",title:"refreshNuxtData",description:"refreshNuxtData refetches all data from the server and updates the page.",url:"https://nuxt.com/docs/api/utils/refresh-nuxt-data"},{id:"doc:api:utils:reload-nuxt-app",title:"reloadNuxtApp",description:"reloadNuxtApp will perform a hard reload of the page.",url:"https://nuxt.com/docs/api/utils/reload-nuxt-app"},{id:"doc:api:utils:set-page-layout",title:"setPageLayout",description:"setPageLayout allows you to dynamically change the layout of a page.",url:"https://nuxt.com/docs/api/utils/set-page-layout"},{id:"doc:api:utils:set-response-status",title:"setResponseStatus",description:"setResponseStatus sets the statusCode (and optionally the statusMessage) of the response.",url:"https://nuxt.com/docs/api/utils/set-response-status"},{id:"doc:api:utils:show-error",title:"showError",url:"https://nuxt.com/docs/api/utils/show-error"},{id:"doc:api:utils:update-app-config",title:"updateAppConfig",url:"https://nuxt.com/docs/api/utils/update-app-config"},{id:"doc:api:advanced:hooks",title:"Lifecycle Hooks",description:"Nuxt provides a powerful hooking system to expand almost every aspect using hooks.",url:"https://nuxt.com/docs/api/advanced/hooks"},{id:"doc:api:advanced:kit",title:"Kit Utilities",description:"Nuxt Kit provides composable utilities to help interacting with Nuxt Hooks and Nuxt Builder.",url:"https://nuxt.com/docs/api/advanced/kit"},{id:"doc:api:commands:add",title:"nuxi add",description:"Scaffold an entity into your Nuxt application.",url:"https://nuxt.com/docs/api/commands/add"},{id:"doc:api:commands:analyze",title:"nuxi analyze",description:"Analyze the production bundle or your Nuxt application.",url:"https://nuxt.com/docs/api/commands/analyze"},{id:"doc:api:commands:build-module",title:"nuxi build-module",url:"https://nuxt.com/docs/api/commands/build-module"},{id:"doc:api:commands:build",title:"nuxi build",description:"Build your Nuxt application.",url:"https://nuxt.com/docs/api/commands/build"},{id:"doc:api:commands:cleanup",title:"nuxi cleanup",description:"Remove common generated Nuxt files and caches.",url:"https://nuxt.com/docs/api/commands/cleanup"},{id:"doc:api:commands:dev",title:"nuxi dev",description:"The dev command starts a development server with hot module replacement at http://localhost:3000",url:"https://nuxt.com/docs/api/commands/dev"},{id:"doc:api:commands:devtools",title:"nuxi devtools",description:"The devtools command allows you to enable or disable Nuxt DevTools on a per-project basis.",url:"https://nuxt.com/docs/api/commands/devtools"},{id:"doc:api:commands:generate",title:"nuxi generate",description:"Pre-renders every route of the application and stores the result in plain HTML files.",url:"https://nuxt.com/docs/api/commands/generate"},{id:"doc:api:commands:info",title:"nuxi info",description:"The info command logs information about the current or specified Nuxt project.",url:"https://nuxt.com/docs/api/commands/info"},{id:"doc:api:commands:init",title:"nuxi init",description:"The init command initializes a fresh Nuxt project.",url:"https://nuxt.com/docs/api/commands/init"},{id:"doc:api:commands:prepare",title:"nuxi prepare",description:"The prepare command creates a .nuxt directory in your application and generates types.",url:"https://nuxt.com/docs/api/commands/prepare"},{id:"doc:api:commands:preview",title:"nuxi preview",description:"The preview command starts a server to preview your application after the build command.",url:"https://nuxt.com/docs/api/commands/preview"},{id:"doc:api:commands:typecheck",title:"nuxi typecheck",description:"The typecheck command runs vue-tsc to check types throughout your app.",url:"https://nuxt.com/docs/api/commands/typecheck"},{id:"doc:api:commands:upgrade",title:"nuxi upgrade",description:"The upgrade command upgrades Nuxt 3 to the latest version.",url:"https://nuxt.com/docs/api/commands/upgrade"},{id:"doc:api:configuration:nuxt-config",title:"Nuxt Config",url:"https://nuxt.com/docs/api/configuration/nuxt-config"}];export{t as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as S,o,c as M,w as u,Z as X,e as a,q as x,n as ee,g as te,ab as oe,l as C,aG as ne,r as I,u as e,b as t,m as L,p as O,t as h,F as T,f as d,j as $,a6 as z,h as ae,S as R,aH as G,aI as se,aJ as re,T as ie,aK as ce,aL as le,aM as de,aN as J,ai as pe,H as me,aO as ue,J as ge}from"./entry.eb90118b.js";import{_ as he}from"./NIconButton.vue.afd698ce.js";import{_ as _e}from"./Navbar.vue.97a344a8.js";import{_ as fe}from"./NLink.vue.efbf2660.js";import{_ as P}from"./NSectionBlock.a9d6a8bd.js";import{_ as ve}from"./NCodeBlock.vue.2f00c5a7.js";import{a as be,u as V}from"./editor.beb173d9.js";import{_ as we}from"./HelpFab.vue.e0c5b3b9.js";import"./NIconTitle.vue.025b1812.js";import"./client.c658398a.js";const xe={key:0,"i-carbon:arrow-up-right":"","translate-y--1":"","text-xs":"",op50:""},D=S({__name:"NTextExternalLink",props:{link:{}},setup(b){return(n,c)=>(o(),M(oe(n.link?fe:"div"),ee(te(n.link?{href:n.link,target:"_blank",rel:"noopener noreferrer"}:{})),{default:u(()=>[X(n.$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"},Ae={flex:"~ gap-1 wrap items-center"},Ie={key:1},Le={flex:"~ gap-2",n:"sm primary",absolute:"","right-2":"","top-2":""},Re=S({__name:"OpenGraphMissingTabs",props:{tags:{},matchedRouteFilepath:{}},setup(b){const n=b,c=C(()=>H.filter(s=>!n.tags?.some(p=>p.name===s.name))),l=C(()=>{let s={};const p={};c.value.forEach(g=>{g.seoMeta?Object.assign(p,g.seoMeta):s=ne(s,g.head)});const v=[];if(Object.keys(p).length){const g=JSON.stringify(p,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");v.push(`useSeoMeta(${g})`)}if(Object.keys(s).length){const g=JSON.stringify(s,null,2).replace(/"([^"]+)":/g,"$1:").replace(/"/g,"'");v.push(`useHead(${g})`)}return v.join(`
|
|
2
|
+
|
|
3
|
+
`)}),m=be(),y=V(),k=["Missing Tags","Code Snippet"],_=I(k[0]);return(s,p)=>{const v=D,g=z,N=ae,A=ve,B=P;return e(c).length?(o(),M(B,{key:0,text:"Missing Tags",description:`${e(c).length} missing tags`,icon:"carbon:warning-other","header-class":"text-orange op100! [[open]_&]:text-inherit",padding:!1},{default:u(()=>[t("div",ye,[(o(),a(T,null,L(k,(r,i)=>t("button",{key:i,px4:"",py2:"",border:"r t base",hover:"bg-active",class:O(r===e(_)?"":"border-b"),onClick:f=>_.value=r},[t("div",{class:O(r===e(_)?"":"op30"),capitalize:""},h(r),3)],10,ke)),64)),$e]),e(_)===k[0]?(o(),M(g,{key:0,grid:"~ cols-[max-content_1fr]",m4:"","items-center":"","justify-between":"","of-hidden":""},{default:u(()=>[(o(!0),a(T,null,L(e(c),(r,i)=>(o(),a(T,{key:i},[i?(o(),a("div",Te)):x("",!0),i?(o(),a("div",Ce)):x("",!0),t("div",Se,[Ne,d(v,{op50:"",link:r.docs,n:"orange"},{default:u(()=>[$(h(r.name),1)]),_:2},1032,["link"])]),t("div",Me,h(r.description),1)],64))),128))]),_:1})):(o(),a("div",Oe,[t("p",Ae,[d(N,{icon:"carbon-copy",n:"xs","px-2":"",onClick:p[0]||(p[0]=r=>e(m)(e(l)))},{default:u(()=>[$(" Copy ")]),_:1}),$(" the following code snippet and paste it into your "),s.matchedRouteFilepath?(o(),M(N,{key:0,icon:"carbon-launch",n:"xs","px-2":"",onClick:p[1]||(p[1]=r=>e(y)(s.matchedRouteFilepath))},{default:u(()=>[$(" page component ")]),_:1})):(o(),a("span",Ie,"page component")),$(" to full fill the missing tags. ")]),d(g,{relative:"","n-code-block":""},{default:u(()=>[d(A,{code:e(l),lang:"ts",lines:!1,"w-full":"","of-auto":"",p3:""},null,8,["code"]),t("div",Le,[d(N,{icon:"carbon-copy",onClick:p[2]||(p[2]=r=>e(m)(e(l)))},{default:u(()=>[$(" Copy ")]),_:1})])]),_:1})]))]),_:1},8,["description"])):x("",!0)}}}),Be={class:"max-w-[524px] min-w-[524px] cursor-pointer bg-base"},Ee={class:"break-words border border-base px-[12px] py-[10px] antialiased"},je={class:"overflow-hidden truncate whitespace-nowrap text-[12px] leading-[11px] uppercase op50"},Fe={class:"block h-[46px] max-h-[46px] border-separate select-none overflow-hidden break-words text-left",style:{"border-spacing":"0px"}},Je={class:"mt-[3px] truncate pt-[2px] text-[16px] font-semibold leading-[20px]"},ze={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"}},Ge=S({__name:"SocialFacebook",props:{card:{}},setup(b){return(n,c)=>(o(),a("div",Be,[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",Ee,[t("div",je,h(n.card.url),1),t("div",Fe,[t("div",Je,h(n.card.title),1),t("div",ze,h(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:{}},setup(b){const n=b,c=C(()=>G(n.tags,{title:[{tag:"title"}],image:[{tag:"meta",name:"twitter:image"},{tag:"meta",name:"og:image"}],imageAlt:[{tag:"meta",name:"twitter:image:alt"}],description:[{tag:"meta",name:"twitter:description"},{tag:"meta",name:"description"}],favicon:[{tag:"link",name:"icon"}]})),l=C(()=>c.value.image?n.tags.find(m=>m.tag==="meta"&&m.name==="twitter:card")?.value||"summary_large_image":"summary");return(m,y)=>(o(),a("div",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(c).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(c).image)})`})},null,4)),t("div",Ve,[t("div",De,h(e(c).url),1),t("div",He,h(e(c).title),1),t("div",Ue,h(e(c).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:{}},setup(b){return(n,c)=>(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,h(n.card.title),1),t("div",Qe,h(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:{}},setup(b){const n=b,c=["twitter","facebook","linkedin"],l=I(c[0]),m=C(()=>G(n.tags,{title:[{tag:"title"}],image:[{tag:"meta",name:"og:image"}],imageAlt:[{tag:"meta",name:"og:image:alt"}],description:[{tag:"meta",name:"og:description"},{tag:"meta",name:"description"}],favicon:[{tag:"link",name:"icon"}]}));return(y,k)=>{const _=Ge,s=Ke,p=Xe;return o(),a("div",et,[t("div",tt,[(o(),a(T,null,L(c,(v,g)=>t("button",{key:g,px4:"",py2:"",border:"r base",hover:"bg-active",class:O(v===e(l)?"":"border-b"),onClick:N=>l.value=v},[t("div",{class:O(v===e(l)?"":"op30"),capitalize:""},h(v),3)],10,ot)),64)),nt]),t("div",at,[e(l)==="facebook"?(o(),a("div",st,[d(_,{card:e(m)},null,8,["card"])])):e(l)==="twitter"?(o(),a("div",rt,[d(s,{tags:y.tags},null,8,["tags"])])):e(l)==="linkedin"?(o(),a("div",it,[d(p,{card:e(m)},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(b,{expose:n}){return n({frontmatter:{}}),(l,m)=>(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(b){const n=I(0),c=re(),l=ie(async()=>(n.value,(await c.value?.resolveTags()).map(i=>{const f=i.props||{};return i.tag==="htmlAttrs"&&f.lang?{tag:"html",name:"lang",value:f.lang}:f.charset?{tag:"meta",name:"charset",value:f.charset}:{tag:i.tag,name:f.property??f.name??f.rel??i.tag,value:f.content??f.href??i.textContent??JSON.stringify(f)}})),[]),m=I(!0);function y(){n.value+=1}const k=ce(),_=le(),s=I(""),p=de(),v=V();async function g(){s.value!==_.value.path&&k.value.push(s.value||"/")}const N=C(()=>s.value===_.value.path?[]:k.value.resolve(s.value||"/").matched),A=C(()=>{const r=p.value.find(i=>i.path===_.value?.matched?.[0]?.path);return r?.file||r?.meta?.file});function B(r){return H.find(i=>i.name===r.name)?.docs}return J(_).toBeTruthy().then(r=>{s.value=r.path}),J(k).toBeTruthy().then(r=>{r.afterEach(()=>{pe(()=>{s.value=_.value.path,setTimeout(y,200),setTimeout(y,800)})})}),(r,i)=>{const f=ge,E=he,U=_e,F=D,K=z,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:u(()=>[d(f,{modelValue:e(s),"onUpdate:modelValue":i[0]||(i[0]=w=>me(s)?s.value=w:null),placeholder:"Route",icon:"carbon-direction-right-01 scale-y--100",n:"primary","flex-auto":"","font-mono":"",class:O(["px-5 py-2",e(_)?.path===e(s)?"":e(N).length?"text-green":"text-orange"]),onKeydown:ue(g,["enter"])},null,8,["modelValue","class","onKeydown"])]),actions:u(()=>[t("div",ht,[e(A)?(o(),M(E,{key:0,"text-lg":"",icon:"carbon:launch",title:"Open file in editor",onClick:i[1]||(i[1]=w=>e(v)(e(A)))})):x("",!0),d(E,{"text-lg":"",icon:"carbon:reset",title:"Refresh Data",onClick:y}),d(E,{"text-lg":"",icon:e(m)?"carbon:side-panel-open":"carbon:open-panel-right",title:"Toggle Preview",onClick:i[2]||(i[2]=w=>m.value=!e(m))},null,8,["icon"])])]),_:1}),t("div",_t,[d(q,{text:"Tags",icon:"carbon:tag-group"},{default:u(()=>[d(K,{grid:"~ cols-[max-content_1fr]","items-center":"","justify-between":"","of-hidden":""},{default:u(()=>[(o(!0),a(T,null,L(e(l),(w,j)=>(o(),a(T,{key:j},[j?(o(),a("div",ft)):x("",!0),j?(o(),a("div",vt)):x("",!0),t("div",bt,[d(F,{op50:"",link:B(w),n:"primary"},{default:u(()=>[$(h(w.name),1)]),_:2},1032,["link"])]),d(F,{link:w.value.match(/^https?:\/\//)?w.value:void 0,"w-full":"",p2:"","font-mono":"",n:"primary"},{default:u(()=>[$(h(w.value),1)]),_:2},1032,["link"])],64))),128))]),_:1})]),_:1}),d(W,{tags:e(l),"matched-route-filepath":e(A)},null,8,["tags","matched-route-filepath"])])]),e(m)&&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:u(()=>[d(Z)]),_:1})],64)}}});export{Ot as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as N,aa as B,U as I,ap as R,aP as V,aQ as j,C as L,l as P,c as m,w as o,o as n,u as e,e as l,b as t,f as i,t as r,q as d,F as p,aR as x,aS as A,j as s,i as O,k as $,I as E,h as F}from"./entry.eb90118b.js";import{_ as W}from"./Badge.bb04dbdf.js";import{_ as G}from"./NpmVersionCheck.vue.5857e84f.js";import{_ as H}from"./NTip.vue.b7996913.js";import{_ as K}from"./NPanelGrids.e209861e.js";import{a as U}from"./state-components.ed0b4287.js";import"./NCodeBlock.vue.2f00c5a7.js";import"./client.c658398a.js";import"./NCheckbox.vue.56878d59.js";const q="0.6.0",Q={key:0},z={key:1,flex:"~ col gap2",ma:"","h-full":"","max-w-300":"","w-full":"",p5:"",px5:"","md:px20":""},J=t("div",{"flex-auto":""},null,-1),X={flex:"~ col","mt-5":"","items-center":"","md:mt-20":""},Y={flex:"~","mt--10":"","items-center":"","justify-center":""},Z={mb6:"","mt--1":"","text-center":"","text-sm":"",flex:"~ gap-1 wrap"},tt=t("span",{op40:""}," Nuxt DevTools ",-1),et={op40:""},ot={flex:"~ gap2 wrap"},nt={p4:"","theme-card-green":"",flex:"~ col auto"},st=t("div",{"logos-nuxt-icon":"","text-3xl":""},null,-1),it={key:0,p4:"","theme-card-green":"",flex:"~ col auto"},at=t("div",{"logos-vue":"","text-3xl":""},null,-1),lt=t("div",{"carbon-tree-view-alt":"","text-3xl":""},null,-1),rt=t("div",{"i-carbon-assembly-cluster":"","text-3xl":""},null,-1),dt=t("div",{"carbon-function":"","text-3xl":""},null,-1),ct=t("div",{"carbon-3d-mpr-toggle":"","text-3xl":""},null,-1),ut=t("div",{"carbon-plug":"","text-3xl":""},null,-1),_t={key:5,"pointer-events-none":"","min-w-40":"",p4:"","theme-card-lime":"",flex:"~ auto gap-6"},mt=t("div",{"i-carbon-time-plot":"","flex-none":"","text-3xl":""},null,-1),pt={grid:"~ cols-[auto_auto] gap-x-5 items-center"},ht=t("div",{"text-sm":""}," SSR to full load ",-1),xt={"text-right":""},ft=t("div",{"text-sm":""}," Page load ",-1),gt={"text-right":""},vt=t("div",{"text-sm":""}," Navigation ",-1),kt={"text-right":""},bt=t("div",{"text-sm":""}," HMR ",-1),wt={"text-right":""},yt={flex:"~ col gap2"},St={flex:"~ gap-6 wrap","mt-5":"","items-center":"","justify-center":""},Ct=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":""}),s(" Star on GitHub ")],-1),Tt=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":""}),s(" Ideas & Suggestions ")],-1),Mt=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":""}),s(" Project Roadmap ")],-1),Dt=t("a",{href:"https://github.com/nuxt/devtools/issues",target:"_blank",flex:"~ gap1","items-center":"",op50:"",hover:"op100 text-rose",transition:""},[t("div",{"i-carbon-debug":""}),s(" Bug Reports ")],-1),Nt=t("div",{"i-carbon-settings":""},null,-1),Bt=t("div",{"flex-auto":""},null,-1),It={flex:"col gap-2",mxa:"",hidden:"","w-100":"","text-sm":"",op50:"","md:flex":""},Rt={flex:"~ gap-1","items-center":""},Vt=t("span",null,"+",-1),jt=t("span",null,"+",-1),Lt=t("div",{"flex-auto":""},null,-1),Pt={flex:"~ gap-1","items-center":""},At=t("span",null,"+",-1),Ot=t("span",null,"+",-1),$t=t("span",null,"+",-1),Et=t("span",null,"+",-1),Ft=t("div",{"flex-auto":""},null,-1),Wt=t("div",null,"Toggle DevTools",-1),te=N({__name:"overview",setup(Gt){const a=B(),c=I(),b=U(),f=R(),w=V(),g=j(),y=L();function S(){O.value=!0,y.push("/")}const v=P(()=>a.value?.nuxt.vueApp.version);return(u,Ht)=>{const C=$,T=W,k=G,h=E,M=H,_=F,D=K;return n(),m(D,{"h-screen":"","w-full":"",flex:""},{default:o(()=>[e(c)?(n(),l("div",z,[J,t("div",X,[t("div",Y,[i(C,{"h-14":"","md:h-18":""}),t("button",{"mr--16":"","mt--6":"",onClick:S},[i(T,{"bg-green-400:10":"","text-green-400":"",title:"preview",textContent:"preview"})])]),t("div",Z,[tt,t("code",et,"v"+r(e(q)),1),i(k,{"package-name":"@nuxt/devtools",options:{dev:!0},"show-version":!1})])]),t("div",ot,[t("div",nt,[st,i(k,{"package-name":"nuxt",options:{dev:!0}})]),e(v)?(n(),l("div",it,[at,t("code",null,"v"+r(e(v)),1)])):d("",!0),e(c)?(n(),l(p,{key:1},[e(c)&&e(c).pages&&e(a)?(n(),m(h,{key:0,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/pages"},{default:o(()=>[lt,t("div",null,r(e(w).length)+" pages",1)]),_:1})):d("",!0),e(c)?(n(),m(h,{key:1,"min-w-40":"",p4:"","theme-card-lime":"",flex:"~ col auto",to:"/modules/components"},{default:o(()=>[rt,t("div",null,r(e(b).length)+" components",1)]),_:1})):d("",!0),e(c)&&e(f)?(n(),m(h,{key:2,"min-w-40":"",p4:"","theme-card-yellow":"",flex:"~ col auto",to:"/modules/imports"},{default:o(()=>[dt,t("div",null,r(e(f).imports.length)+" imports",1)]),_:1})):d("",!0),e(c)?(n(),m(h,{key:3,"min-w-40":"",p4:"","theme-card-purple":"",flex:"~ col auto",to:"/modules/modules"},{default:o(()=>[ct,t("div",null,r(e(c)._installedModules.length)+" modules",1)]),_:1})):d("",!0),e(c)?(n(),m(h,{key:4,"min-w-40":"",p4:"","theme-card-teal":"",flex:"~ col auto",to:"/modules/plugins"},{default:o(()=>[ut,t("div",null,r(e(c).plugins.length)+" plugins",1)]),_:1})):d("",!0),e(a)?.loadingTimeMetrics?(n(),l("div",_t,[mt,t("div",pt,[e(a).loadingTimeMetrics.ssrStart?(n(),l(p,{key:0},[ht,t("div",xt,r(("formatDuration"in u?u.formatDuration:e(x))(e(a).loadingTimeMetrics.appLoad-e(a).loadingTimeMetrics.ssrStart)),1)],64)):d("",!0),ft,t("div",gt,r(("formatDuration"in u?u.formatDuration:e(x))(e(a).loadingTimeMetrics.appLoad-e(a).loadingTimeMetrics.appInit)),1),vt,t("div",kt,r(("formatDuration"in u?u.formatDuration:e(x))(e(a).loadingTimeMetrics.pageEnd-e(a).loadingTimeMetrics.pageStart)),1),e(a).loadingTimeMetrics.hmrStart?(n(),l(p,{key:1},[bt,t("div",wt,r(("formatDuration"in u?u.formatDuration:e(x))(e(a).loadingTimeMetrics.hmrEnd-e(a).loadingTimeMetrics.hmrStart)),1)],64)):d("",!0)])])):d("",!0)],64)):d("",!0)]),t("div",yt,[("showConnectionWarning"in u?u.showConnectionWarning:e(A))?(n(),m(M,{key:0,n:"yellow5",icon:"carbon-unlink","justify-center":""},{default:o(()=>[s(" Not connected to the client app, showing server-side data only. Use the embedded mode for full features. ")]),_:1})):d("",!0)]),t("div",St,[Ct,Tt,Mt,Dt,i(h,{to:"/settings",flex:"~ gap1","inline-block":"","items-center":"",op50:"","hover:op80":""},{default:o(()=>[Nt,s(" Settings ")]),_:1})]),Bt,t("div",It,[t("div",Rt,[e(g)?(n(),l(p,{key:0},[i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" ⌘ Cmd ")]),_:1}),Vt,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" K ")]),_:1})],64)):(n(),l(p,{key:1},[i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" Ctrl ")]),_:1}),jt,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" K ")]),_:1})],64)),Lt,s(" Open Command Palette ")]),t("div",Pt,[e(g)?(n(),l(p,{key:0},[i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" ⇧ Shift ")]),_:1}),At,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" ⌥ Option ")]),_:1}),Ot,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" D ")]),_:1})],64)):(n(),l(p,{key:1},[i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" Shift ")]),_:1}),$t,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" Alt ")]),_:1}),Et,i(_,{n:"xs",class:"px2"},{default:o(()=>[s(" D ")]),_:1})],64)),Ft,Wt])])])):(n(),l("div",Q," Loading... "))]),_:1})}}});export{te as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as I,r as M,l as R,a7 as j,u as t,o,e as s,b as e,t as $,c as v,w as k,aV as W,F as h,m as B,q as y,f as p,j as P,p as L,J as A,h as q,aW as D,aK as H,aL as J,U as G,a2 as Q,aM as X,aN as E,ai as Y,H as Z,aO as ee,y as te,z as oe}from"./entry.eb90118b.js";import{_ as S}from"./Badge.bb04dbdf.js";import{_ as F}from"./FilepathItem.vue.67a3bac2.js";import{u as ne}from"./editor.beb173d9.js";import{_ as ae}from"./NSectionBlock.a9d6a8bd.js";import{_ as se}from"./LaunchPage.vue.a3f71c42.js";import{_ as re}from"./HelpFab.vue.e0c5b3b9.js";import"./NIconTitle.vue.025b1812.js";import"./NMarkdown.vue.4a55718e.js";import"./client.c658398a.js";import"./NPanelGrids.e209861e.js";import"./NIconButton.vue.afd698ce.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},_e=I({__name:"RoutePathItem",props:{route:{}},emits:["navigate"],setup(V,{emit:d}){const i=V,_=M([]),m=R(()=>{const u=b(i.route.path);return _.value=Array.from({length:u.length},()=>""),u});function b(u){return u.split(/(:\w+[\?\*]?(?:\(\))?)/).filter(Boolean).map(c=>c[0]===":"?c.replace(/\(\)$/,"?"):c)}const w=R(()=>m.value.map((u,c)=>u[0]===":"?_.value[c]:u).join("").replace(/\/+/g,"/")),r=R(()=>i.route.path.includes(":"));function a(){d("navigate",w.value)}return(u,c)=>{const C=A,n=q,l=j("VDropdown");return t(r)?(o(),v(l,{key:1},{popper:k(({hide:f})=>[e("div",ie,[e("form",{flex:"~ col",onSubmit:W(()=>{a(),f()},["prevent"])},[t(r)?(o(),s(h,{key:0},[ce,e("div",de,[(o(!0),s(h,null,B(t(m),(g,x)=>(o(),s(h,{key:x},[g[0]===":"?(o(),v(C,{key:0,modelValue:t(_)[x],"onUpdate:modelValue":T=>t(_)[x]=T,"w-20":"","n-sm":"",placeholder:g.slice(1)},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(o(),s("span",pe,$(g),1))],64))),128))])],64)):y("",!0),p(n,{block:"",n:"primary"},{default:k(()=>[P(" Navigate ")]),_:1})],40,ue)])]),default:k(()=>[e("code",le,[(o(!0),s(h,null,B(t(m),(f,g)=>(o(),s("span",{key:g,class:L(f[0]===":"?"text-gray border border-dashed rounded border-gray:50 px1":"")},$(f[0]===":"?f.slice(1):f),3))),128))])]),_:1})):(o(),s("button",{key:0,onClick:a},[e("code",null,$(u.route.path),1)]))}}}),he={"w-full":""},me=e("thead",{border:"b base"},[e("tr",null,[e("th",{"text-left":""}),e("th",{"text-left":""}," Route Path "),e("th",{"text-left":""}," Name "),e("th",{"text-left":""}," Middleware "),e("th",null," Layout ")])],-1),fe={"w-20":"","pr-1":""},ge={flex:"","items-center":"","justify-end":""},ve={"text-sm":""},ye={flex:"inline gap3","items-center":""},be={op0:"","group-hover:op100":"",flex:"~ gap1"},xe=["onClick"],ke=e("div",{"i-carbon-script-reference":""},null,-1),$e=[ke],we={"w-0":"","ws-nowrap":"","pr-1":"","text-left":"","font-mono":"","text-sm":"",op50:""},Ce={"w-0":"","ws-nowrap":"","pr-1":"","text-center":"","font-mono":"","text-sm":"",op50:""},Ne={"w-0":"","ws-nowrap":"","text-center":"","font-mono":"","text-sm":""},Re={key:0},Ve=["onClick"],Pe=I({__name:"RoutesTable",props:{pages:{},layouts:{},matched:{},matchedPending:{}},emits:["navigate"],setup(V){const d=V,i=ne(),_=D(),m=R(()=>[...d.pages].sort((r,a)=>r.path.localeCompare(a.path)));function b(r){const a=d.layouts.find(u=>u.name===r);a&&i(a.file)}function w(r){if(typeof r=="string")return _.value?.middleware.find(a=>a.name===r)?.path}return(r,a)=>{const u=S,c=_e,C=F;return o(),s("div",null,[e("table",he,[me,e("tbody",null,[(o(!0),s(h,null,B(t(m),n=>(o(),s("tr",{key:n.name,class:"group","h-7":"",border:"b dashed transparent hover:base"},[e("td",fe,[e("div",ge,[r.matched.find(l=>l.name===n.name)?(o(),v(u,{key:0,"bg-green-400:10":"","text-green-400":"",title:"active",textContent:"active"})):y("",!0),r.matchedPending.find(l=>l.name===n.name)?(o(),v(u,{key:1,"bg-teal-400:10":"","text-teal-400":"",title:"next",textContent:"next"})):y("",!0)])]),e("td",ve,[e("div",ye,[p(c,{route:n,class:L(r.matched.find(l=>l.name===n.name)?"text-primary":r.matchedPending.find(l=>l.name===n.name)?"text-teal":""),onNavigate:a[0]||(a[0]=l=>r.$emit("navigate",l))},null,8,["route","class"]),e("div",be,[n.file||n.meta?.file?(o(),s("button",{key:0,"text-sm":"",op40:"",hover:"op100 text-primary",title:"Open in editor",onClick:l=>t(i)(n.file||n.meta?.file)},$e,8,xe)):y("",!0)])])]),e("td",we,$(n.name),1),e("td",Ce,[p(C,{filepath:w(n.meta.middleware),override:`${n.meta.middleware||"-"}`},null,8,["filepath","override"])]),e("td",Ne,[n.meta.layout===!1?(o(),s("span",Re,"-")):n.meta.layout?(o(),s("button",{key:1,onClick:l=>b(n.meta.layout)},$(n.meta.layout),9,Ve)):(o(),s("button",{key:2,"text-sm":"",op15:"",onClick:a[1]||(a[1]=l=>b("default"))}," (default) "))])]))),128))])])])}}}),Be={class:"markdown-body"},Te=e("h1",null,"Pages",-1),Ie=e("p",null,[P("One core feature of Nuxt is the file system router. Every Vue file inside the "),e("code",null,"pages/"),P(" directory creates a corresponding URL (or route) that displays the contents of the file. By using dynamic imports for each page, Nuxt leverages code-splitting to ship the minimum amount of JavaScript for the requested route.")],-1),Le=e("p",null,[e("a",{href:"https://nuxt.com/docs/getting-started/routing",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Ee=e("hr",null,null,-1),Me=e("h1",null,"Middlewares",-1),Ae=e("p",null,"Nuxt provides a customizable route middleware framework you can use throughout your application, ideal for extracting code that you want to run before navigating to a particular route.",-1),De=e("p",null,[e("a",{href:"https://nuxt.com/docs/guide/directory-structure/middleware",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),Se=[Te,Ie,Le,Ee,Me,Ae,De],Fe={__name:"pages",setup(V,{expose:d}){return d({frontmatter:{}}),(_,m)=>(o(),s("div",Be,Se))}},Ue={key:0,"h-full":"","of-auto":""},ze={border:"b base",flex:"~ col gap1",px4:"",py3:"","navbar-glass":""},Ke=e("span",{op50:""},"Navigate from ",-1),Oe={"font-mono":""},je=e("span",{op50:""}," to ",-1),We={key:1,op50:""},qe=e("span",null,[P("Press "),e("b",{"font-bold":""},"Enter"),P(" to navigate")],-1),He={key:0,"text-orange":"",op75:""},Je={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=I({__name:"pages",setup(V){const d=H(),i=J(),_=G(),m=D(),b=Q(),w=X(),r=R(()=>m.value?.middleware||[]),a=M("");E(i).toBeTruthy().then(n=>{a.value=n.path}),E(d).toBeTruthy().then(n=>{n.afterEach(()=>{Y(()=>{a.value=i.value.path})})});async function u(){a.value!==i.value.path&&d.value.push(a.value||"/")}const c=R(()=>a.value===i.value.path?[]:d.value.resolve(a.value||"/").matched);function C(n){d.value.push(n)}return(n,l)=>{const f=A,g=Pe,x=ae,T=S,U=F,z=se,K=Fe,O=re;return o(),s(h,null,[t(_)?.pages&&t(d)?(o(),s("div",Ue,[e("div",ze,[e("div",null,[t(i).path!==t(a)?(o(),s(h,{key:0},[Ke,e("span",Oe,$(t(i).path),1),je],64)):(o(),s("span",We,"Current route"))]),p(f,{modelValue:t(a),"onUpdate:modelValue":l[0]||(l[0]=N=>Z(a)?a.value=N:null),"font-mono":"",icon:"carbon-direction-right-01 scale-y--100",class:L(t(i).path===t(a)?"":t(c).length?"text-green":"text-orange"),onKeydown:ee(u,["enter"])},null,8,["modelValue","class","onKeydown"]),e("div",null,[t(i).path!==t(a)?(o(),s(h,{key:0},[qe,t(c).length?y("",!0):(o(),s("span",He," (no match)"))],64)):(o(),s("span",Je,"Edit path above to navigate"))])]),t(c).length?(o(),v(x,{key:0,icon:"carbon-tree-view",text:"Matched Routes",padding:!1},{default:k(()=>[p(g,{pages:t(c),layouts:t(b)||[],matched:[],"matched-pending":t(c),onNavigate:C},null,8,["pages","layouts","matched-pending"])]),_:1})):y("",!0),p(x,{icon:"carbon-tree-view-alt",text:"All Routes",description:`${t(w).length} routes registered in your application`,padding:"pr5"},{default:k(()=>[p(g,{pages:t(w),layouts:t(b)||[],matched:t(i).matched,"matched-pending":t(c),onNavigate:C},null,8,["pages","layouts","matched","matched-pending"])]),_:1},8,["description"]),t(r).length?(o(),v(x,{key:1,icon:"carbon:ibm-watson-studio",text:"Middleware",description:`${t(r).length} middleware registered in your application`,padding:"px13"},{default:k(()=>[e("table",Ge,[Qe,(o(!0),s(h,null,B(t(r),N=>(o(),s("tr",{key:N.path,"h-7":""},[e("td",null,[e("span",Xe,$(N.name),1),N.global?(o(),v(T,{key:0,"bg-green-400:10":"","text-green-400":"",title:"Registered at runtime as a global component",textContent:"global"})):y("",!0)]),e("td",null,[p(U,{filepath:N.path},null,8,["filepath"])])]))),128))])]),_:1},8,["description"])):y("",!0)])):(o(),v(z,{key:1,icon:"carbon-tree-view-alt",title:"Nuxt Routing",description:"Create `./pages/index.vue` to enable routing",actions:[{label:"Learn more",src:"https://nuxt.com/docs/getting-started/routing",attrs:{n:"primary"}},{label:"Enable Routing",async handle(){return("rpc"in n?n.rpc:t(te)).runWizard(await("ensureDevAuthToken"in n?n.ensureDevAuthToken:t(oe))(),"enablePages")}}]},null,8,["actions"])),p(O,null,{default:k(()=>[p(K)]),_:1})],64)}}});export{ct as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as y}from"./StateEditor.vue.a6af1a3f.js";import{a as x,o as e,e as c,F as k,m as B,c as m,w as o,Z as C,n as D,g as w,b as $,aa as F,l as O,u as r,f as a,q as d,j as P,h as V}from"./entry.eb90118b.js";import{_ as j}from"./NSectionBlock.a9d6a8bd.js";import{_ as E}from"./NIconButton.vue.afd698ce.js";import{_ as R}from"./HelpFab.vue.e0c5b3b9.js";import"./json-editor-vue.6b7715bf.js";import"./NIconTitle.vue.025b1812.js";const A={key:0,flex:"~ col gap-1"},G={key:1,mt2:"",px4:"",italic:"",op35:""},H=x({__name:"StateGroup",props:{state:{},prefix:{default:""}},setup(f){return(t,n)=>{const i=y;return e(),c("div",null,[t.state&&Object.keys(t.state).length>0?(e(),c("div",A,[(e(!0),c(k,null,B(t.state,(l,s)=>(e(),m(i,{key:s,state:l,name:s.startsWith(t.prefix)?s.slice(t.prefix.length):s},{actions:o(_=>[C(t.$slots,"actions",D(w(_)))]),_:2},1032,["state","name"]))),128))])):(e(),c("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(f,{expose:t}){return t({frontmatter:{}}),(i,l)=>(e(),c("div",K,z))}},L={key:0},tt=x({__name:"payload",setup(f){const t=F(),n=O(()=>t.value?.nuxt.payload);async function i(l){await t.value?.nuxt.hooks.callHookParallel("app:data:refresh",l)}return(l,s)=>{const _=H,p=j,b=V,v=E,S=y,g=I,N=R;return e(),c(k,null,[r(t)?(e(),c("div",L,[a(p,{icon:"carbon-data-set",text:"State",description:"Keyed state from `useState`",padding:!1},{default:o(()=>[a(_,{state:r(n).state,prefix:"$s"},null,8,["state"])]),_:1}),a(p,{icon:"carbon-data-blob",text:"Data",description:"Keyed state from `useAsyncData`",padding:!1},{actions:o(()=>[a(b,{n:"xs primary","self-start":"",icon:"i-carbon-recycle",onClick:s[0]||(s[0]=h=>i())},{default:o(()=>[P(" Re-fetch all data ")]),_:1})]),default:o(()=>[a(_,{state:r(n).data},{actions:o(({isOpen:h,name:u})=>[h&&u?(e(),m(v,{key:0,title:`Re-fetch '${u}'`,icon:"carbon-recycle",onClick:W=>i([u])},null,8,["title","onClick"])):d("",!0)]),_:1},8,["state"])]),_:1}),r(n).functions&&Object.keys(r(n).functions).length?(e(),m(p,{key:0,icon:"carbon-function",text:"Functions",description:"State for functions (experimental)"},{default:o(()=>[a(S,{"ml--6":"",state:r(n).functions},null,8,["state"])]),_:1})):d("",!0)])):d("",!0),a(N,null,{default:o(()=>[a(g)]),_:1})],64)}}});export{tt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as T}from"./FilepathItem.vue.67a3bac2.js";import{_ as D}from"./Badge.bb04dbdf.js";import{_ as k}from"./DurationDisplay.vue.1f2b63ce.js";import{a as v,U as B,l as x,at as V,o as n,e as m,b as t,t as P,f as l,u as f,c as u,q as d,a7 as F,Z as w,P as H,aY as I,w as h,j as y,aW as M,aa as W,F as C,m as E,p as j}from"./entry.eb90118b.js";import{_ as L}from"./NSectionBlock.a9d6a8bd.js";import{_ as Y}from"./HelpFab.vue.e0c5b3b9.js";import"./editor.beb173d9.js";import"./NIconTitle.vue.025b1812.js";import"./NIconButton.vue.afd698ce.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:{},index:{}},setup(p){const e=p,a=B(),r=x(()=>V(e.plugin.src,a.value?.rootDir||"").path);return(i,c)=>{const _=T,o=D,s=k;return n(),m("div",q,[t("div",z,P(i.index),1),l(_,{filepath:e.plugin.src,subpath:!0},null,8,["filepath"]),t("div",null,[f(r).startsWith("#")?(n(),u(o,{key:0,"bg-rose-400:10":"","text-rose":"",textContent:"virtual"})):f(r).startsWith(".")?d("",!0):(n(),u(o,{key:1,"bg-gray-400:10":"","text-gray":"",textContent:"module"})),i.plugin.mode==="server"?(n(),u(o,{key:2,"bg-teal-400:10":"","text-teal-400":"",textContent:"server"})):d("",!0),i.plugin.mode==="client"?(n(),u(o,{key:3,"bg-orange-400:10":"","text-orange-400":"",textContent:"client"})):d("",!0)]),i.plugin.metric?.duration!=null?(n(),m("div",A,[l(s,{duration:i.plugin.metric?.duration,factor:10},null,8,["duration"])])):d("",!0)])}}}),U={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:{},icon:{}},setup(p){return(e,a)=>{const r=H,i=F("ContentSlot");return n(),m("div",U,[t("div",Z,[e.icon?(n(),u(r,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):d("",!0),t("div",null,P(e.title),1)]),t("div",null,[w(e.$slots,"default",{},()=>[l(i,{use:e.$slots.default,unwrap:"p"},null,8,["use"])])])])}}}),J={};function K(p,e){const a=G;return n(),u(a,{title:"Performance Tip",icon:"carbon-meter",n:"lime6 dark:lime5"},{default:h(()=>[w(p.$slots,"default")]),_:3})}const O=I(J,[["render",K]]),Q={class:"markdown-body"},X=t("h1",null,"Plugins",-1),tt=t("p",null,[y("Nuxt plugins allows you to extend the functionality of Nuxt runtime and the Vue instance. You can add plugins to the "),t("code",null,"plugins/"),y(" directory and they will be automatically imported and registered.")],-1),et=t("p",null,[t("a",{href:"https://nuxt.com/docs/guide/directory-structure/plugins",target:"_blank",rel:"noopener"},"Learn more on the documentation")],-1),nt={__name:"plugins",setup(p,{expose:e}){return e({frontmatter:{}}),(r,i)=>{const c=O;return n(),m("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=t("div",{"i-carbon-timer":"","text-lg":"",op75:""},null,-1),at=t("span",{op50:""},"Total execution time:",-1),gt=v({__name:"plugins",setup(p){const e=M(),a=W(),r=x(()=>{const c=e.value?.plugins||[],_=a.value?.getClientPluginMetrics()||[];return c.map(o=>{const s=typeof o=="string"?{src:o}:o;return{...s,metric:_.find(g=>g.src===s.src||g.src.startsWith(s.src))}})}),i=x(()=>{const c=a.value?.getClientPluginMetrics()||[],_=Math.min(...c.map(s=>s.start));return Math.max(...c.map(s=>s.end))-_});return(c,_)=>{const o=R,s=k,g=L,N=nt,S=Y;return n(),m(C,null,[l(g,{icon:"carbon-plug",text:"Plugins",description:`Total plugins: ${f(r).length}`},{default:h(()=>[t("div",ot,[(n(!0),m(C,null,E(f(r),($,b)=>(n(),u(o,{key:$.src,plugin:$,index:b+1,"ml--4":"","border-base":"",py2:"",class:j(b?"border-t":"")},null,8,["plugin","index","class"]))),128)),t("div",st,[it,at,l(s,{duration:f(i),factor:10},null,8,["duration"])])])]),_:1},8,["description"]),l(S,null,{default:h(()=>[l(N)]),_:1})],64)}}});export{gt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as C}from"./StateEditor.vue.a6af1a3f.js";import{_ as h}from"./NSectionBlock.a9d6a8bd.js";import{o as c,e as r,b as m,a as v,aa as x,U as b,l as u,u as o,f as e,w as s,q as y,F as k}from"./entry.eb90118b.js";import{_ as R}from"./HelpFab.vue.e0c5b3b9.js";import"./NIconButton.vue.afd698ce.js";import"./json-editor-vue.6b7715bf.js";import"./NIconTitle.vue.025b1812.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},H=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{H as default};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{_ as ce}from"./Navbar.vue.97a344a8.js";import{_ as Y}from"./Badge.bb04dbdf.js";import{a as Z,U as ie,ag as de,l as p,r as k,o as a,e as m,b as c,c as x,w as l,j as h,t as y,u as e,p as b,a$ as G,F as q,m as A,H as ee,f as s,q as $,h as pe,J as me,P as fe,b0 as _e,D as ve,b1 as he,X as ye,b2 as ge,I as xe,a6 as be}from"./entry.eb90118b.js";import{_ as Ce}from"./NSelect.vue.0258c4d8.js";import{_ as ke}from"./CodeSnippets.vue.b3f0f3dc.js";import{_ as te}from"./NPanelGrids.e209861e.js";import{_ as $e}from"./NCodeBlock.vue.2f00c5a7.js";import{u as Re}from"./editor.beb173d9.js";import{C as X}from"./constants.d7bcda3c.js";import{_ as Te}from"./PanelLeftRight.vue.4252eb45.js";import"./client.c658398a.js";const je={"h-full":"","w-full":"",flex:"~ col"},qe={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"},Ne={"text-right":"","font-mono":""},Ee={key:1,relative:""},Pe={key:2,px4:"",py2:"",flex:"~ col gap-2",border:"b base"},Be={border:"b base",flex:"~ gap2","items-center":"",px4:"",py2:""},Oe=c("div",null,"Response",-1),De={key:1,"text-xs":"",op50:""},Le=c("div",{"flex-auto":""},null,-1),Me=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"),j=p(()=>T.value==="json"?JSON.stringify(u.data,null,2):u.data),w=k(0),C=k(!1),U=k(!1),H=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"),N=k({}),E=k([{key:"",value:""}]),V=k([{key:"",value:""}]),f=k([{key:"Content-Type",value:"application/json"}]),J=p(()=>V.value.filter(({key:n})=>n).length),z=p(()=>f.value.filter(({key:n})=>n).length),I=p(()=>{const n={};for(let t=0;t<E.value.length;t++){const{key:o,value:i}=E.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}`}),D=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("**:"))&&N.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+D.value);async function K(){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:I.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
|
+
}`),I.value&&t.push(`body: ${JSON.stringify(I.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('${D.value}'${i})`}),n.push({name:"$fetch",lang:"javascript",docs:X.nuxt.$fetch,code:`await $fetch('${D.value}'${i})`}),n}),d=k(S.value.length?"params":"query"),L=p(()=>{if(d.value==="query")return V.value;if(d.value==="body")return E.value;if(d.value==="headers")return f.value}),se=["GET","POST","PUT","PATCH","DELETE","HEAD"];return(n,t)=>{const o=pe,i=Ce,_=me,v=fe,ae=ke,re=te,le=_e,W=Y,ue=$e;return a(),m("div",je,[c("div",qe,[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(q,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(D),disabled:"","flex-auto":"","font-mono":"",p:"x5 y2",n:"primary xs"},null,8,["model-value"]),s(o,{n:"primary solid",onClick:K},{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(z)?`(${e(z)})`:""),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(H)(P.route.filepath))},{default:l(()=>[h(" Open in Editor ")]),_:1})]),e(d)==="params"?(a(),m("div",Ue,[(a(!0),m(q,null,A(e(S),r=>(a(),m(q,{key:r},[c("div",Ne,y(r),1),s(_,{modelValue:e(N)[r],"onUpdate:modelValue":M=>e(N)[r]=M,placeholder:r,"flex-1":""},null,8,["modelValue","onUpdate:modelValue","placeholder"])],64))),128))])):$("",!0),e(d)==="snippet"?(a(),m("div",Ee,[e(Q).length?(a(),x(ae,{key:0,border:"b base","code-snippets":e(Q)},null,8,["code-snippets"])):$("",!0)])):e(L)?(a(),m("div",Pe,[(a(!0),m(q,null,A(e(L),(r,M)=>(a(),m("div",{key:M,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(L).splice(M,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(L).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(q,{key:5},[c("div",Be,[Oe,e(u).error?(a(),x(W,{key:0,"bg-red-400:10":"","text-red-400":""},{default:l(()=>[h(" Error ")]),_:1})):$("",!0),s(W,{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",De,y(e(u).contentType),1)):$("",!0),Le,Me,s(W,{"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(j),lang:e(T)},null,8,["code","lang"])],64)):(a(),x(re,{key:3},{default:l(()=>[s(o,{n:"primary",onClick:K},{default:l(()=>[s(v,{icon:"carbon:send"}),h(" Send request ")]),_:1})]),_:1}))])}}}),Ge={flex:"~ gap1","text-sm":"",op50:""},Ae={key:0},He={"w-12":"","flex-none":"","text-right":""},Ie={"font-mono":"","text-sm":""},We=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)),j=k(""),w=p(()=>R.value?j.value?u.value.search(j.value).map(C=>C.item):R.value:[]);return(C,U)=>{const H=ce,O=Y,S=xe,g=Fe,N=be,E=te,V=Te;return a(),x(V,null,{left:l(()=>[s(H,{search:e(j),"onUpdate:search":U[0]||(U[0]=f=>ee(j)?j.value=f:null),pb2:""},{default:l(()=>[c("div",Ge,[e(j)?(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(q,null,A(e(w),f=>(a(),m(q,{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",He,[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",Ie,y(f.route),1)]),_:2},1032,["class","to"]),We],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(E,{key:0},{default:l(()=>[s(N,{px6:"",py2:""},{default:l(()=>[Je]),_:1})]),_:1}))]),_:1})}}});export{at as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as j}from"./NIconTitle.vue.025b1812.js";import{_ as O}from"./NSwitch.vue.774134ee.js";import{a as z,bf as F,am as H,e as c,f as s,b as e,F as m,m as h,u as a,w as n,H as y,a5 as I,bg as L,o as i,p as k,t as f,c as A,q,j as E,aX as R,h as X}from"./entry.eb90118b.js";import{_ as G}from"./NSelect.vue.0258c4d8.js";import{_ as J}from"./NCheckbox.vue.56878d59.js";const K={px6:"",py6:""},M={grid:"~ md:cols-2 gap-x-10 gap-y-3","max-w-300":""},P={flex:"~ col gap-1",py3:""},Q=e("h3",{mb1:"","text-lg":""}," Tabs ",-1),W={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=z({__name:"settings",setup(re){const{interactionCloseOnOutsideClick:g,showHelpButtons:v,scale:x,hiddenTabs:r,hiddenTabCategories:u}=I(),T=[["Tiny",12/15],["Small",14/15],["Normal",1],["Large",16/15],["Huge",18/15]],C=F(H());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=j,b=O,U=R,S=X,$=L,B=G,V=J;return i(),c("div",K,[s(p,{class:"mb-5 text-xl op75",icon:"i-carbon-settings-adjust",text:"DevTools Settings"}),e("div",M,[e("div",P,[Q,(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",W,[e("span",Y,f(o),1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),e("div",Z,[(i(!0),c(m,null,h(_,l=>(i(),A(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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aa as m,au as n,l as s,y as o}from"./entry.eb90118b.js";function u(){const p=m(),t=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=>!(t.value||[]).find(a=>a.pascalName===e.pascalName)));return s(()=>[...l.value,...t.value||[]].sort((e,a)=>e.pascalName.localeCompare(a.pascalName)))}function r(){return n("getComponentsRelationships",()=>o.getComponentsRelationships())}export{u as a,r as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as ne}from"./NIconButton.vue.afd698ce.js";import{_ as oe}from"./NSelect.vue.0258c4d8.js";import{a as ae,b4 as se,C as re,r as $,l as S,D as P,b5 as R,ak as le,a4 as ue,aj as ie,L as de,y as p,u as n,c as _,w as u,b6 as E,o as r,b as l,f as d,e as c,m as j,t as v,F as x,H as U,j as i,p as F,aO as q,q as T,af as ce,v as me,b7 as pe,aV as _e,J as fe,I as ye,P as ve,h as ge,a6 as he}from"./entry.eb90118b.js";import{_ as ke}from"./NLink.vue.efbf2660.js";import{_ as be}from"./NPanelGrids.e209861e.js";import{_ as xe}from"./PanelLeftRight.vue.4252eb45.js";import{_ as we}from"./FilepathItem.vue.67a3bac2.js";import{U as Ce}from"./json-editor-vue.6b7715bf.js";import"./editor.beb173d9.js";const Ke={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),Be={key:0,op50:""},De={key:1},Me=l("code",null,"nitro.storage",-1),Ae=l("br",null,null,-1),Pe={"font-bold":""},Re=l("br",null,null,-1),Ee={"text-sm":""},Fe=l("br",null,null,-1),et=ae({__name:"storage",async setup(Te){let m,g;const z=se(),h=re(),k=$(""),y=$(""),a=S({get(){return P().query?.storage},set(t){h.replace({query:{storage:t}})}}),e=$(),b=S(()=>P().query?.key),{data:w}=([m,g]=R(()=>E("storageMounts",()=>p.getStorageMounts())),m=await m,g(),m),{data:C,refresh:L}=([m,g]=R(async()=>E("storageKeys",async()=>a.value?await p.getStorageKeys(a.value):[])),m=await m,g(),m),O=z.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(O),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 K(t){return t.replace(`${a.value}:`,"")}const G=S(()=>C.value?C.value.filter(t=>t.includes(k.value)):[]);async function V(t){const s=await p.getStorageItem(t);e.value={key:t,updatedKey:K(t),editingKey:!1,content:s,updatedContent:s}}async function H(){if(!y.value||!a.value)return;const t=`${a.value}:${y.value}`;C.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 J(){!e.value||!a.value||(await p.removeStorageItem(e.value.key),e.value=null)}async function W(){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,B=ge,D=ke,M=he,A=be,ee=xe,te=we;return n(a)?(r(),_(ee,{key:0,"storage-key":"tab-storage"},{left:u(()=>[l("div",Ke,[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(G),o=>(r(),c(x,{key:o},[d(Y,{block:"",truncate:"",px2:"",py1:"","font-mono":"","text-sm":"",to:{query:{key:o,storage:n(a)}},class:F(o===n(e)?.key?"text-primary n-bg-active":"text-secondary hover:n-bg-hover")},{default:u(()=>[i(v(K(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(H,["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(W,["enter"])},null,8,["modelValue","onKeyup"])):(r(),c("code",Ue,[i(v(K(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?T("",!0):(r(),_(B,{key:2,n:"green xs",disabled:n(e).content===n(e).updatedContent,class:F({"border-green":n(e).content!==n(e).updatedContent}),onClick:N},{default:u(()=>[i(" Save ")]),_:1},8,["disabled","class"]))]),l("div",null,[d(B,{n:"red xs",onClick:J},{default:u(()=>[i(" Delete ")]),_:1})])]),typeof n(e).content=="object"?(r(),_(n(Ce),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(M,{px6:"",py4:""},{default:u(()=>[i(" Select one key to start."),Le,i("Learn more about "),d(D,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})]),_:1})]),_:1}))]),_:1})):(r(),_(A,{key:1},{default:u(()=>[Object.keys(n(w)).length?(r(),c("p",Be," Select one storage to start: ")):(r(),c("p",De,[i(" No custom storage defined in "),Me,i("."),Ae,i(" Learn more about "),d(D,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:u(()=>[i(" Nitro storage ")]),_:1})])),(r(!0),c(x,null,j(n(w),(o,f)=>(r(),_(M,{key:f,"min-w-80":"","cursor-pointer":"","p-4":"","text-left":"",hover:"border-green",onClick:ze=>a.value=f},{default:u(()=>[l("span",Pe,v(f),1),Re,l("span",Ee,v(o.driver)+" driver",1),Fe,o.base?(r(),_(te,{key:0,"text-xs":"",filepath:o.base},null,8,["filepath"])):T("",!0)]),_:2},1032,["onClick"]))),128))]),_:1}))}}});export{et as default};
|