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