import{C as e,Ct as t,Mt as n,Qt as r,S as i,T as a,V as o,W as s,Y as c,Z as l,_ as u,dt as d,g as f,h as p,m,p as h,s as g,tn as _}from"./vendor/json-editor-vue-9tyg6b65.js";import{Mt as v,jt as y}from"./ready-e441jhq2.js";import{C as b,b as x,h as S,w as C,x as w}from"./utils-ivfwadyv.js";import{a as T,h as E,l as D,o as O,r as ee}from"./client-kfvz1zfh.js";import{t as k}from"./_plugin-vue_export-helper-d9irwgla.js";import{t as A}from"./nbutton-g8ropw1z.js";import{t as j}from"./ntext-input-hwoiw74g.js";import{d as M,u as N}from"#entry";import{t as P}from"./pages-dm1j9w83.js";import{t as F}from"./filepath-item-evfn93g6.js";import{t as I}from"./help-fab-myoje00l.js";import{t as L}from"./nsection-block-lfx32fn0.js";import{t as R}from"./nbadge-nhg3871m.js";import{t as z}from"./launch-page-ib38nabd.js";var B={block:``,"cursor-pointer":``},V={p2:``},H=[`onSubmit`],U={flex:`~`,"items-center":``,p2:``,"text-sm":``,"font-mono":``},W={key:1},G=Object.assign(a({__name:`RoutePathItem`,props:{route:{}},emits:[`navigate`],setup(n,{emit:a}){let o=n,y=a,b=/(:\w+[?*]?(?:\(\))?)/,x=/\(\)$/,S=/\/+/g,C=t([]),w=h(()=>{let e=T(o.route.path);return C.value=Array.from({length:e.length}).fill(``),e});function T(e){return e.split(b).filter(Boolean).map(e=>e[0]===`:`?e.replace(x,`?`):e)}let E=h(()=>w.value.map((e,t)=>e[0]===`:`?C.value[t]:e).join(``).replace(S,`/`)),D=h(()=>o.route.path.includes(`:`));function O(){y(`navigate`,E.value)}return(t,a)=>{let o=j,h=A,y=l(`VDropdown`);return D.value?(s(),p(y,{key:1},{popper:d(({hide:t})=>[m(`div`,V,[m(`form`,{flex:`~ col`,onSubmit:v(()=>{O(),t()},[`prevent`])},[D.value?(s(),u(g,{key:0},[a[0]||=m(`div`,{px2:``,"text-sm":``,op50:``},` Fill params and navigate: `,-1),m(`div`,U,[(s(!0),u(g,null,c(w.value,(e,t)=>(s(),u(g,{key:t},[e[0]===`:`?(s(),p(o,{key:0,modelValue:C.value[t],"onUpdate:modelValue":e=>C.value[t]=e,"w-20":``,"n-sm":``,placeholder:e.slice(1)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(s(),u(`span`,W,_(e),1))],64))),128))])],64)):f(``,!0),e(h,{type:`submit`,block:``,n:`primary`},{default:d(()=>[...a[1]||=[i(` Navigate `,-1)]]),_:1})],40,H)])]),default:d(()=>[m(`code`,B,[(s(!0),u(g,null,c(w.value,(e,t)=>(s(),u(`span`,{key:t,class:r(e[0]===`:`?`text-gray border border-dashed rounded border-gray:50 px1`:``)},_(e[0]===`:`?e.slice(1):e),3))),128))])]),_:1})):(s(),u(`button`,{key:0,onClick:O},[m(`code`,null,_(n.route.path),1)]))}}}),{__name:`RoutePathItem`}),K={"max-w-full":``,"of-auto":``},q={"w-full":``},J={"w-20":``,"pr-1":``},Y={flex:``,"items-center":``,"justify-end":``},X={"text-sm":``},Z={flex:`inline gap3`,"items-center":``},Q={flex:`~ gap1`,pr2:``,op0:``,"group-hover:op100":``},te=[`onClick`],ne=[`onClick`],re={"w-0":``,"ws-nowrap":``,"pr-1":``,"text-left":``,"text-sm":``,"font-mono":``,op50:``},ie={"w-0":``,"ws-nowrap":``,"pr-1":``,"text-center":``,"text-sm":``,"font-mono":``,op50:``},ae={"w-0":``,"ws-nowrap":``,"text-center":``,"text-sm":``,"font-mono":``},oe={key:0},se=[`onClick`],ce=Object.assign(a({__name:`RoutesTable`,props:{pages:{},layouts:{},matched:{},matchedPending:{}},emits:[`navigate`],setup(t){let i=t,a=M(),o=b(),l=N(),d=h(()=>i.pages.toSorted((e,t)=>e.path.localeCompare(t.path)));function v(e){let t=i.layouts.find(t=>t.name===e);t&&a(t.file)}function y(e){if(typeof e==`string`)return o.value?.middleware.find(t=>t.name===e)?.path}return(i,o)=>{let h=R,b=G,x=F;return s(),u(`div`,K,[m(`table`,q,[o[4]||=m(`thead`,{border:`b base`},[m(`tr`,null,[m(`th`,{"text-left":``}),m(`th`,{"text-left":``},` Route Path `),m(`th`,{"text-left":``},` Name `),m(`th`,{"text-left":``},` Middleware `),m(`th`,null,` Layout `)])],-1),m(`tbody`,null,[(s(!0),u(g,null,c(d.value,c=>(s(),u(`tr`,{key:c.name,class:`group`,"h-7":``,border:`b dashed transparent hover:base`},[m(`td`,J,[m(`div`,Y,[t.matched.find(e=>e.name===c.name)?(s(),p(h,{key:0,n:`green`,title:`active`,textContent:`active`})):t.matchedPending.find(e=>e.name===c.name)?(s(),p(h,{key:1,n:`teal`,title:`next`,textContent:`next`})):f(``,!0)])]),m(`td`,X,[m(`div`,Z,[e(b,{route:c,class:r(t.matched.find(e=>e.name===c.name)?`text-primary`:t.matchedPending.find(e=>e.name===c.name)?`text-teal`:``),"ws-nowrap":``,onNavigate:o[0]||=e=>i.$emit(`navigate`,e)},null,8,[`route`,`class`]),m(`div`,Q,[c.file||c.meta?.file?(s(),u(`button`,{key:0,"text-sm":``,op40:``,hover:`op100 text-primary`,title:`Open in editor`,onClick:e=>n(a)(c.file||c.meta?.file)},[...o[2]||=[m(`div`,{"i-carbon-script-reference":``},null,-1)]],8,te)):f(``,!0),c.file||c.meta?.file?(s(),u(`button`,{key:1,"text-sm":``,op40:``,hover:`op100 text-primary`,title:`Copy path`,onClick:e=>n(l)(c.file||c.meta?.file)},[...o[3]||=[m(`div`,{"i-carbon-copy":``},null,-1)]],8,ne)):f(``,!0)])])]),m(`td`,re,_(c.name),1),m(`td`,ie,[e(x,{filepath:y(c.meta.middleware),override:`${c.meta.middleware||`-`}`},null,8,[`filepath`,`override`])]),m(`td`,ae,[c.meta.layout===!1?(s(),u(`span`,oe,`-`)):c.meta.layout?(s(),u(`button`,{key:1,onClick:e=>v(c.meta.layout)},_(c.meta.layout),9,se)):(s(),u(`button`,{key:2,"text-sm":``,op15:``,onClick:o[1]||=e=>v(`default`)},` (default) `))])]))),128))])])])}}}),{__name:`RoutesTable`}),le={},ue={class:`markdown-body`};function de(e,t){return s(),u(`div`,ue,[...t[0]||=[m(`template`,null,[m(`div`,{class:`markdown-body`},[m(`h1`,null,`Pages`),m(`p`,null,[i(`Nuxt provides a file-based routing to create routes within your web application using Vue Router under the hood. Pages are Vue components and can have any valid extension that Nuxt supports (by default .vue, .js, .jsx, .mjs, .ts or .tsx). Nuxt will automatically create a route for every page in your `),m(`code`,{"v-pre":``},`~/pages/`),i(` directory.`)]),m(`p`,null,[m(`a`,{href:`https://nuxt.com/docs/getting-started/routing`,target:`_blank`,rel:`noopener`},`Learn more in the documentation`)]),m(`hr`),m(`h2`,null,`Middlewares`),m(`p`,null,`Nuxt provides a customizable route middleware framework that can be used throughout the application. This is ideal for extracting code that needs to run before navigating to a particular route.`),m(`p`,null,[m(`a`,{href:`https://nuxt.com/docs/guide/directory-structure/middleware`,target:`_blank`,rel:`noopener`},`Learn more in the documentation`)])])],-1)]])}var fe=k(le,[[`render`,de]]),pe={key:0,"h-full":``,"of-auto":``},me={border:`b base`,flex:`~ col gap1`,"n-navbar-glass":``,px4:``,py3:``},he={"font-mono":``},ge={key:1,op50:``},_e={key:0,"text-orange":``,op75:``},$={key:1,op50:``},ve={"min-h-14":``},ye={key:1,class:`py-4 text-center`},be={"w-full":``},xe={mr1:``},Se=a({__name:`pages`,setup(a){P({icon:`carbon-tree-view-alt`,title:`Pages`,show:()=>{let e=ee();return()=>!!e.value},order:1});let l=O(),v=T(),k=C(),A=b(),M=x(),N=w(),B=h(()=>A.value?.middleware||[]),V=t(``),H=t(0),U=h(()=>(B.value,V.value,M.value,H.value,l.value?.currentRoute?.value?.path));o(()=>{v.value&&(V.value=l.value?.currentRoute?.value?.path),l.value?.beforeEach(e=>{V.value=e.fullPath}),l.value?.afterEach(e=>{V.value=e.fullPath})});async function W(){V.value!==l.value?.currentRoute?.value?.path&&l.value.push(V.value||`/`)}let G=h(()=>l.value.resolve(V.value||`/`).matched);function K(e){l.value.push(e),V.value=e}let q=S(),J=h(()=>`./${q===4?`app/`:``}pages/index.vue`);return(t,a)=>{let o=j,h=ce,b=L,x=R,S=F,C=z,w=fe,T=I;return s(),u(g,null,[n(k)?.pages&&n(l)?(s(),u(`div`,pe,[m(`div`,me,[m(`div`,null,[U.value===V.value?(s(),u(`span`,ge,`Current route`)):(s(),u(g,{key:0},[a[1]||=m(`span`,{op50:``},`Navigate from `,-1),m(`span`,he,_(U.value),1),a[2]||=m(`span`,{op50:``},` to `,-1)],64))]),e(o,{modelValue:V.value,"onUpdate:modelValue":a[0]||=e=>V.value=e,"font-mono":``,icon:`carbon-direction-right-01 scale-y--100`,class:r(U.value===V.value?``:G.value.length?`text-green`:`text-orange`),onKeydown:y(W,[`enter`])},null,8,[`modelValue`,`class`]),m(`div`,null,[U.value===V.value?(s(),u(`span`,$,`Edit path above to navigate`)):(s(),u(g,{key:0},[a[3]||=m(`span`,null,[i(`Press `),m(`b`,{"font-bold":``},`Enter`),i(` to navigate`)],-1),G.value.length?f(``,!0):(s(),u(`span`,_e,` (no match)`))],64))])]),e(b,{icon:`carbon-tree-view`,text:`Matched Routes`,padding:!1},{default:d(()=>[m(`div`,ve,[G.value.length?(s(),p(h,{key:0,pages:G.value,layouts:n(M)||[],matched:n(v).matched,"matched-pending":G.value,onNavigate:K},null,8,[`pages`,`layouts`,`matched`,`matched-pending`])):(s(),u(`div`,ye,[...a[4]||=[m(`span`,{op50:``},`No routes matched`,-1)]]))])]),_:1}),e(b,{icon:`carbon-tree-view-alt`,text:`All Routes`,description:`${n(N).length} routes registered in your application`,padding:`pr5`},{default:d(()=>[e(h,{pages:n(N),layouts:n(M)||[],matched:n(v).matched,"matched-pending":G.value,onNavigate:K},null,8,[`pages`,`layouts`,`matched`,`matched-pending`])]),_:1},8,[`description`]),B.value.length?(s(),p(b,{key:0,icon:`carbon:ibm-watson-studio`,text:`Middleware`,description:`${B.value.length} middleware registered in your application`,padding:`px13`},{default:d(()=>[m(`table`,be,[a[5]||=m(`thead`,{border:`b base`,"h-7":``},[m(`tr`,null,[m(`th`,{"text-left":``},` Name `),m(`th`,{"text-left":``},` Path `)])],-1),(s(!0),u(g,null,c(B.value,t=>(s(),u(`tr`,{key:t.path,"h-7":``},[m(`td`,null,[m(`span`,xe,_(t.name),1),t.global?(s(),p(x,{key:0,n:`green`,title:`Registered at runtime as a global component`,textContent:`global`})):f(``,!0)]),m(`td`,null,[e(S,{filepath:t.path},null,8,[`filepath`])])]))),128))])]),_:1},8,[`description`])):f(``,!0)])):(s(),p(C,{key:1,icon:`carbon-tree-view-alt`,name:`wizard-pages`,title:`Nuxt Routing`,description:`Create ${J.value} 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 t?t.rpc:n(E)).runWizard(await(`ensureDevAuthToken`in t?t.ensureDevAuthToken:n(D))(),`enablePages`)}}]},null,8,[`description`,`actions`])),e(T,null,{default:d(()=>[e(w)]),_:1})],64)}}});export{Se as default};