[{"data":1,"prerenderedAt":693},["ShallowReactive",2],{"navigation_docs":3,"-api-composables":89,"-api-composables-surround":689},[4,27,41,63,77],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration",{"title":23,"path":24,"stem":25},"Directory Structure","\u002Fgetting-started\u002Fdirectory-structure","1.getting-started\u002F4.directory-structure",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Routing","i-lucide-route","\u002Frouting","2.routing",[33,37],{"title":34,"path":35,"stem":36},"Parallel Routes","\u002Frouting\u002Fparallel-routes","2.routing\u002F1.parallel-routes",{"title":38,"path":39,"stem":40},"Modal Routes","\u002Frouting\u002Fmodal-routes","2.routing\u002F2.modal-routes",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":26},"Components","i-lucide-blocks","\u002Fcomponents","3.components",[47,51,55,59],{"title":48,"path":49,"stem":50},"\u003CPlusParallelPage \u002F>","\u002Fcomponents\u002Fplus-parallel-page","3.components\u002F1.plus-parallel-page",{"title":52,"path":53,"stem":54},"\u003CPlusModalNuxtPage \u002F>","\u002Fcomponents\u002Fplus-modal-nuxt-page","3.components\u002F2.plus-modal-nuxt-page",{"title":56,"path":57,"stem":58},"\u003CPlusModalPage \u002F>","\u002Fcomponents\u002Fplus-modal-page","3.components\u002F3.plus-modal-page",{"title":60,"path":61,"stem":62},"\u003CPlusModalLink \u002F>","\u002Fcomponents\u002Fplus-modal-link","3.components\u002F4.plus-modal-link",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":26},"API","i-lucide-braces","\u002Fapi","4.api",[69,73],{"title":70,"path":71,"stem":72},"Composables","\u002Fapi\u002Fcomposables","4.api\u002F2.composables",{"title":74,"path":75,"stem":76},"Interfaces","\u002Fapi\u002Finterfaces","4.api\u002F3.interfaces",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":26},"Examples","i-lucide-app-window","\u002Fexamples","5.examples",[83,86],{"title":34,"path":84,"stem":85},"\u002Fexamples\u002Fparallel-routes","5.examples\u002F1.parallel-routes",{"title":38,"path":87,"stem":88},"\u002Fexamples\u002Fmodal-routes","5.examples\u002F2.modal-routes",{"id":90,"title":70,"body":91,"description":172,"extension":684,"links":685,"meta":686,"navigation":593,"path":71,"seo":687,"stem":72,"__hash__":688},"docs\u002F4.api\u002F2.composables.md",{"type":92,"value":93,"toc":673},"minimark",[94,102,114,134,140,153,165,254,260,272,279,337,343,352,359,417,423,435,447,453,463,476,482,499,505,519,525,539,545,548,663,669],[95,96,98],"h2",{"id":97},"usemodalrouter",[99,100,101],"code",{},"useModalRouter",[103,104,105,106,113],"p",{},"Get the global modal router object. Returns a ",[107,108,110],"a",{"href":109},"\u002Fapi\u002Finterfaces#modalrouter",[99,111,112],{},"ModalRouter"," object.",[103,115,116,117,120,121,124,125,133],{},"You can also access it by ",[99,118,119],{},"$modalRouter"," in ",[99,122,123],{},"\u003Ctemplate>"," or ",[107,126,130],{"href":127,"rel":128},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app",[129],"nofollow",[99,131,132],{},"useNuxtApp",".",[95,135,137],{"id":136},"useparallelrouter",[99,138,139],{},"useParallelRouter",[103,141,142,143,149,150,133],{},"Gets the current component's parent parallel router and returns a ",[107,144,146],{"href":145},"\u002Fapi\u002Finterfaces#parallelrouter",[99,147,148],{},"ParallelRouter"," object. If the copmonent is inside global router, it will return ",[99,151,152],{},"undefined",[154,155,156,157,164],"warning",{},"This composables calls ",[107,158,161],{"href":159,"rel":160},"https:\u002F\u002Fvuejs.org\u002Fguide\u002Fcomponents\u002Fprovide-inject#inject",[129],[99,162,163],{},"inject"," so that it can only be used inside setup or functional components.",[166,167,173],"pre",{"className":168,"code":169,"filename":170,"language":171,"meta":172,"style":172},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup>\nconst parentRouter = useParallelRouter()\nconsole.log(parentRouter.currentRoute.value.fullPath)\n\u003C\u002Fscript>\n","pages\u002F@foo\u002FTheFoo.vue","html","",[99,174,175,195,215,244],{"__ignoreMap":172},[176,177,180,184,188,192],"span",{"class":178,"line":179},"line",1,[176,181,183],{"class":182},"sMK4o","\u003C",[176,185,187],{"class":186},"swJcz","script",[176,189,191],{"class":190},"spNyl"," setup",[176,193,194],{"class":182},">\n",[176,196,198,201,205,208,212],{"class":178,"line":197},2,[176,199,200],{"class":190},"const",[176,202,204],{"class":203},"sTEyZ"," parentRouter ",[176,206,207],{"class":182},"=",[176,209,211],{"class":210},"s2Zo4"," useParallelRouter",[176,213,214],{"class":203},"()\n",[176,216,218,221,223,226,229,231,234,236,239,241],{"class":178,"line":217},3,[176,219,220],{"class":203},"console",[176,222,133],{"class":182},[176,224,225],{"class":210},"log",[176,227,228],{"class":203},"(parentRouter",[176,230,133],{"class":182},[176,232,233],{"class":203},"currentRoute",[176,235,133],{"class":182},[176,237,238],{"class":203},"value",[176,240,133],{"class":182},[176,242,243],{"class":203},"fullPath)\n",[176,245,247,250,252],{"class":178,"line":246},4,[176,248,249],{"class":182},"\u003C\u002F",[176,251,187],{"class":186},[176,253,194],{"class":182},[95,255,257],{"id":256},"useparallelroute",[99,258,259],{},"useParallelRoute",[103,261,262,263,149,270,133],{},"Gets the current component's parent parallel router's route and returns a ",[107,264,267],{"href":265,"rel":266},"https:\u002F\u002Frouter.vuejs.org\u002Fapi\u002Finterfaces\u002FRouteLocationNormalizedLoaded.html#Interface-RouteLocationNormalizedLoaded",[129],[99,268,269],{},"RouteLocationNormalizedLoaded",[99,271,152],{},[154,273,156,274,164],{},[107,275,277],{"href":159,"rel":276},[129],[99,278,163],{},[166,280,282],{"className":168,"code":281,"filename":170,"language":171,"meta":172,"style":172},"\u003Cscript setup>\nconst parentRouter = useParallelRoute()\nconsole.log(parentRouter.currentRoute.value.fullPath)\n\u003C\u002Fscript>\n",[99,283,284,294,307,329],{"__ignoreMap":172},[176,285,286,288,290,292],{"class":178,"line":179},[176,287,183],{"class":182},[176,289,187],{"class":186},[176,291,191],{"class":190},[176,293,194],{"class":182},[176,295,296,298,300,302,305],{"class":178,"line":197},[176,297,200],{"class":190},[176,299,204],{"class":203},[176,301,207],{"class":182},[176,303,304],{"class":210}," useParallelRoute",[176,306,214],{"class":203},[176,308,309,311,313,315,317,319,321,323,325,327],{"class":178,"line":217},[176,310,220],{"class":203},[176,312,133],{"class":182},[176,314,225],{"class":210},[176,316,228],{"class":203},[176,318,133],{"class":182},[176,320,233],{"class":203},[176,322,133],{"class":182},[176,324,238],{"class":203},[176,326,133],{"class":182},[176,328,243],{"class":203},[176,330,331,333,335],{"class":178,"line":246},[176,332,249],{"class":182},[176,334,187],{"class":186},[176,336,194],{"class":182},[95,338,340],{"id":339},"useparentroutername",[99,341,342],{},"useParentRouterName",[103,344,345,346,349,350,133],{},"Gets the current component's parent parallel router name in the ",[99,347,348],{},"MaybeRef\u003Cstring>"," type. If the copmonent is inside the global router, it will return ",[99,351,152],{},[154,353,156,354,164],{},[107,355,357],{"href":159,"rel":356},[129],[99,358,163],{},[166,360,362],{"className":168,"code":361,"filename":170,"language":171,"meta":172,"style":172},"\u003Cscript setup>\nconst parentRouterName = useParentRouterName()\nconsole.log(unref(parentRouterName)) \u002F\u002F 'foo'\n\u003C\u002Fscript>\n",[99,363,364,374,388,409],{"__ignoreMap":172},[176,365,366,368,370,372],{"class":178,"line":179},[176,367,183],{"class":182},[176,369,187],{"class":186},[176,371,191],{"class":190},[176,373,194],{"class":182},[176,375,376,378,381,383,386],{"class":178,"line":197},[176,377,200],{"class":190},[176,379,380],{"class":203}," parentRouterName ",[176,382,207],{"class":182},[176,384,385],{"class":210}," useParentRouterName",[176,387,214],{"class":203},[176,389,390,392,394,396,399,402,405],{"class":178,"line":217},[176,391,220],{"class":203},[176,393,133],{"class":182},[176,395,225],{"class":210},[176,397,398],{"class":203},"(",[176,400,401],{"class":210},"unref",[176,403,404],{"class":203},"(parentRouterName)) ",[176,406,408],{"class":407},"sHwdD","\u002F\u002F 'foo'\n",[176,410,411,413,415],{"class":178,"line":246},[176,412,249],{"class":182},[176,414,187],{"class":186},[176,416,194],{"class":182},[95,418,420],{"id":419},"useparallelrouters",[99,421,422],{},"useParallelRouters",[103,424,425,426,429,430,434],{},"Get all of the parallel routers in the application. Returns a ",[99,427,428],{},"Record"," of ",[107,431,432],{"href":145},[99,433,148],{}," objects, each identified by a unique router name key.",[103,436,116,437,120,440,124,442,133],{},[99,438,439],{},"$parallelRouters",[99,441,123],{},[107,443,445],{"href":127,"rel":444},[129],[99,446,132],{},[95,448,450],{"id":449},"useparallelroutes",[99,451,452],{},"useParallelRoutes",[103,454,455,456,429,458,434],{},"Get all of the parallel routers' routes in the application. Returns a ",[99,457,428],{},[107,459,461],{"href":265,"rel":460},[129],[99,462,269],{},[103,464,465,466,120,469,124,471,133],{},"You can also access it by using ",[99,467,468],{},"$parallelRoutes",[99,470,123],{},[107,472,474],{"href":127,"rel":473},[129],[99,475,132],{},[95,477,479],{"id":478},"useparentrouter",[99,480,481],{},"useParentRouter",[103,483,484,485,490,491,498],{},"Same as ",[107,486,488],{"href":487},"#useparallelrouter",[99,489,139],{}," but returns the global ",[107,492,495],{"href":493,"rel":494},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-router",[129],[99,496,497],{},"useRouter()"," if the component is inside the global router.",[95,500,502],{"id":501},"useparentroute",[99,503,504],{},"useParentRoute",[103,506,484,507,490,512,498],{},[107,508,510],{"href":509},"#useparentroute",[99,511,259],{},[107,513,516],{"href":514,"rel":515},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-route",[129],[99,517,518],{},"useRoute()",[95,520,522],{"id":521},"resolveparallelroutersbypath",[99,523,524],{},"resolveParallelRoutersByPath",[166,526,530],{"className":527,"code":528,"language":529,"meta":172,"style":172},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","resolveParallelRoutersByPath(path: string): ParallelRouter[]\n","ts",[99,531,532],{"__ignoreMap":172},[176,533,534,536],{"class":178,"line":179},[176,535,524],{"class":210},[176,537,538],{"class":203},"(path: string): ParallelRouter[]\n",[103,540,541,542,133],{},"This function searches through all parallel routers and filters out those that contain the specified ",[99,543,544],{},"path",[103,546,547],{},"It's typically used in a global router context, for instance, in a catch-all path to determine whether to redirect to an error page when no parallel router contains the given path.",[166,549,552],{"className":168,"code":550,"filename":551,"language":171,"meta":172,"style":172},"\u003Cscript setup>\nconst routers = resolveParallelRoutersByPath(useRoute().path)\n\nif (routers.length === 0) {\n  showError(`Path not found: ${useRoute().path}`)\n\u003Cscript>\n","pages\u002F[...all].vue",[99,553,554,564,589,595,622,654],{"__ignoreMap":172},[176,555,556,558,560,562],{"class":178,"line":179},[176,557,183],{"class":182},[176,559,187],{"class":186},[176,561,191],{"class":190},[176,563,194],{"class":182},[176,565,566,568,571,573,576,578,581,584,586],{"class":178,"line":197},[176,567,200],{"class":190},[176,569,570],{"class":203}," routers ",[176,572,207],{"class":182},[176,574,575],{"class":210}," resolveParallelRoutersByPath",[176,577,398],{"class":203},[176,579,580],{"class":210},"useRoute",[176,582,583],{"class":203},"()",[176,585,133],{"class":182},[176,587,588],{"class":203},"path)\n",[176,590,591],{"class":178,"line":217},[176,592,594],{"emptyLinePlaceholder":593},true,"\n",[176,596,597,601,604,606,609,612,616,619],{"class":178,"line":246},[176,598,600],{"class":599},"s7zQu","if",[176,602,603],{"class":203}," (routers",[176,605,133],{"class":182},[176,607,608],{"class":203},"length ",[176,610,611],{"class":182},"===",[176,613,615],{"class":614},"sbssI"," 0",[176,617,618],{"class":203},") ",[176,620,621],{"class":182},"{\n",[176,623,625,628,630,633,637,640,642,644,646,648,651],{"class":178,"line":624},5,[176,626,627],{"class":210},"  showError",[176,629,398],{"class":186},[176,631,632],{"class":182},"`",[176,634,636],{"class":635},"sfazB","Path not found: ",[176,638,639],{"class":182},"${",[176,641,580],{"class":210},[176,643,583],{"class":203},[176,645,133],{"class":182},[176,647,544],{"class":203},[176,649,650],{"class":182},"}`",[176,652,653],{"class":186},")\n",[176,655,657,659,661],{"class":178,"line":656},6,[176,658,183],{"class":182},[176,660,187],{"class":186},[176,662,194],{"class":182},[103,664,665,666,668],{},"In this example, ",[99,667,524],{}," is used to find parallel routers that has the current route's path. If no router is found, an error is shown indicating that the path was not found.",[670,671,672],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":172,"searchDepth":197,"depth":197,"links":674},[675,676,677,678,679,680,681,682,683],{"id":97,"depth":197,"text":101},{"id":136,"depth":197,"text":139},{"id":256,"depth":197,"text":259},{"id":339,"depth":197,"text":342},{"id":419,"depth":197,"text":422},{"id":449,"depth":197,"text":452},{"id":478,"depth":197,"text":481},{"id":501,"depth":197,"text":504},{"id":521,"depth":197,"text":524},"md",null,{},{"title":70,"description":172},"0bNjjPzYmqjAUEL2-W3dL4ec6xd0fUm8gJbZzeITkRE",[690,692],{"title":60,"path":61,"stem":62,"description":691,"children":-1},"Component to open a modal with a url or navigate inside modal view.",{"title":74,"path":75,"stem":76,"description":172,"children":-1},1786721247990]