import{d as N,c as l,o as a,b as t,s as h,u as e,a6 as U,q as $,i as y,a7 as B,e as R,t as M,w as b,F as w,v as T,n as E,J as F,a as g,a8 as O,M as j,z as V,a9 as z,aa as A,Y as J,ab as I,f as q,Z as K,g as D,$ as P,ac as G,a1 as L,ad as W,B as Y,ae as S,af as Z}from"./index-DH8HZ7DP.js";import{_ as H}from"./SectionBlock-BTPkVZM2.js";import"./IconTitle.vue_vue_type_script_setup_true_lang-Enp_Ksfn.js";const Q={"p-2":""},X={class:"flex items-center justify-between"},ee=N({__name:"RouteMetaDetail",props:{meta:{}},emits:["close"],setup(p){return(i,r)=>(a(),l("div",Q,[t("div",X,[r[1]||(r[1]=t("span",{class:"font-500"},"Route meta detail",-1)),t("div",{class:"i-carbon-close cursor-pointer p1 $ui-text",onClick:r[0]||(r[0]=_=>i.$emit("close"))})]),h(e(U),{code:JSON.stringify(p.meta,null,2),lang:"json",lines:""},null,8,["code"])]))}}),te={block:"","cursor-pointer":""},ne={p2:""},oe=["onSubmit"],ae={flex:"~","items-center":"",p2:"","text-sm":"","font-mono":""},se={key:1},le=N({__name:"RoutePathItem",props:{route:{}},emits:["navigate"],setup(p,{emit:i}){const r=p,_=i;function v(n){return n.split(/(:\w+[?*+]?(?:\([^)]*\))?[?*+]?)/).filter(Boolean)}const d=$([]),c=y(()=>v(r.route.path));B(()=>{d.value=Array.from({length:c.value.length},()=>"")});const u=y(()=>c.value.map((n,o)=>n[0]===":"?d.value[o]:n).join("").replace(/\/+/g,"/")),s=y(()=>r.route.path.includes(":"));function m(){_("navigate",u.value)}return(n,o)=>e(s)?(a(),R(e(z),{key:1},{popper:b(({hide:f})=>[t("div",ne,[t("form",{flex:"~ col",onSubmit:F(()=>{m(),f()},["prevent"])},[e(s)?(a(),l(w,{key:0},[o[0]||(o[0]=t("div",{px2:"","text-sm":"",op50:""}," Fill params and navigate: ",-1)),t("div",ae,[(a(!0),l(w,null,T(e(c),(x,C)=>(a(),l(w,{key:C},[x[0]===":"?(a(),R(e(O),{key:0,modelValue:e(d)[C],"onUpdate:modelValue":k=>e(d)[C]=k,"n-sm":"","w-20":"",placeholder:x.slice(1)},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(a(),l("span",se,M(x),1))],64))),128))])],64)):g("",!0),h(e(j),{block:"",type:"primary"},{default:b(()=>[...o[1]||(o[1]=[V(" Navigate ",-1)])]),_:1})],40,oe)])]),default:b(()=>[t("code",te,[(a(!0),l(w,null,T(e(c),(f,x)=>(a(),l("span",{key:x,class:E(f[0]===":"?"text-gray border border-dashed rounded border-gray:50 px1":"")},M(f[0]===":"?f.slice(1):f),3))),128))])]),_:1})):(a(),l("button",{key:0,onClick:m},[t("code",null,M(p.route.path),1)]))}}),re={"w-full":""},ie={border:"b base","px-3":""},ue={key:0,"text-left":""},de={"w-20":"","pr-1":""},ce={flex:"","items-center":"","justify-end":""},pe={"text-sm":""},me={flex:"inline gap3","items-center":""},ve={op0:"","group-hover:op100":"",flex:"~ gap1"},fe=["onClick"],he={"w-0":"","ws-nowrap":"","pr-1":"","text-left":"","text-sm":"","font-mono":"",op50:""},ge={key:0,"w-50":"","ws-nowrap":"","pr-1":"","text-left":"","text-sm":"","font-mono":"",op50:"",hover:"text-primary op100"},_e=["title","onClick"],xe=N({__name:"RoutesTable",props:{pages:{},matched:{},matchedPending:{}},emits:["navigate","selectMeta"],setup(p){const i=p,r=y(()=>[...i.pages].sort((u,s)=>u.path.localeCompare(s.path))),_=y(()=>A.value),v=J();function d(u,s=0){const m=JSON.stringify(u,null,s);return m==="{}"?"-":m}const c=y(()=>r.value.some(u=>Object.keys(u.meta)?.length));return(u,s)=>{const m=le;return a(),l("div",null,[t("table",re,[t("thead",ie,[t("tr",null,[s[1]||(s[1]=t("th",{"text-left":""},null,-1)),s[2]||(s[2]=t("th",{"text-left":""}," Route Path ",-1)),s[3]||(s[3]=t("th",{"text-left":""}," Name ",-1)),e(c)?(a(),l("th",ue," Route Meta ")):g("",!0)])]),t("tbody",null,[(a(!0),l(w,null,T(e(r),n=>(a(),l("tr",{key:n.name,class:"group","h-7":"",border:"b dashed transparent hover:base"},[t("td",de,[t("div",ce,[p.matched.find(o=>o.name===n.name)?(a(),R(e(I),{key:0,"bg-green-400:10":"","text-green-400":"",title:"active",textContent:"active"})):p.matchedPending.find(o=>o.name===n.name)?(a(),R(e(I),{key:1,"bg-teal-400:10":"","text-teal-400":"",title:"next",textContent:"next"})):g("",!0)])]),t("td",pe,[t("div",me,[h(m,{route:n,class:E(p.matched.find(o=>o.name===n.name)?"text-primary-400":p.matchedPending.find(o=>o.name===n.name)?"text-teal":""),onNavigate:s[0]||(s[0]=o=>u.$emit("navigate",o))},null,8,["route","class"]),t("div",ve,[n.meta?.file&&e(v).vitePluginDetected.value&&e(_)?(a(),l("button",{key:0,"text-sm":"",op40:"",hover:"op100 text-primary-400",title:"Open in editor",onClick:o=>e(q)(n.meta?.file)},[...s[4]||(s[4]=[t("div",{"i-carbon-script-reference":""},null,-1)])],8,fe)):g("",!0)])])]),t("td",he,M(n.name),1),e(c)?(a(),l("td",ge,[t("span",{"inline-block":"","w-50":"","cursor-pointer":"","overflow-hidden":"","text-ellipsis":"",title:d(n.meta,2),onClick:()=>u.$emit("selectMeta",n.meta)},M(d(n.meta)),9,_e)])):g("",!0)]))),128))])])])}}}),be={block:"","h-screen":"","of-auto":""},ye={"h-full":"",class:"grid grid-rows-[auto_1fr]"},ke={border:"b base",flex:"~ col gap1",px4:"",py3:""},$e={key:1,op50:""},we={key:0,"text-orange":"",op75:""},Re={key:1,op50:""},Ne=N({__name:"pages",setup(p){const i=$(""),r=$(null),_=$([]),v=y(()=>i.value===r.value?.path?[]:_.value),d=$([]),c=$();function u(n){d.value=n.routes,r.value=n.currentRoute,i.value=r.value?.path??"/"}function s(){v.value.length&&m(i.value)}function m(n){D.value.navigate(n)}return K(()=>{D.value.getRouterInfo().then(n=>{u(n)}),D.functions.on(P.ROUTER_INFO_UPDATED,u)}),G(i,()=>{i.value!==r.value?.path&&D.value.getMatchedRoutes(i.value).then(n=>{_.value=n})}),L(()=>{D.functions.off(P.ROUTER_INFO_UPDATED,u)}),(n,o)=>{const f=xe,x=H,C=ee;return a(),l("div",be,[t("div",ye,[t("div",ke,[t("div",null,[(a(),l("span",$e,"Current route"))]),h(e(O),{modelValue:e(i),"onUpdate:modelValue":o[0]||(o[0]=k=>Y(i)?i.value=k:null),"left-icon":"i-carbon-direction-right-01 scale-y--100",class:E(e(r)?.path===e(i)?"":e(v).length?"text-green!":"text-orange!"),onKeydown:W(s,["enter"])},null,8,["modelValue","class"]),t("div",null,[e(r)?.path!==e(i)?(a(),l(w,{key:0},[o[6]||(o[6]=t("span",null,[V("Press "),t("b",{"font-bold":""},"Enter"),V(" to navigate")],-1)),e(v).length?g("",!0):(a(),l("span",we," (no match)"))],64)):(a(),l("span",Re,"Edit path above to navigate"))])]),h(e(Z),{class:"of-hidden"},{default:b(()=>[h(e(S),{size:"70",class:"of-auto!"},{default:b(()=>[h(x,{icon:"i-carbon-tree-view-alt",text:"All Routes",description:`${e(d).length} routes registered in your application`,padding:!1},{default:b(()=>[e(d).length?(a(),R(f,{key:0,pages:e(d),matched:e(r)?.matched??[],"matched-pending":e(v),onNavigate:m,onSelectMeta:o[1]||(o[1]=k=>c.value=k)},null,8,["pages","matched","matched-pending"])):g("",!0)]),_:1},8,["description"])]),_:1}),e(c)?(a(),R(e(S),{key:0,size:"30",class:"of-auto!"},{default:b(()=>[h(C,{meta:e(c),onClose:o[2]||(o[2]=k=>c.value=void 0)},null,8,["meta"])]),_:1})):g("",!0)]),_:1})])])}}});export{Ne as default};