[{"data":1,"prerenderedAt":556},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-configuration":77,"-getting-started-configuration-surround":551},[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":19,"body":79,"description":544,"extension":545,"links":546,"meta":547,"navigation":548,"path":20,"seo":549,"stem":21,"__hash__":550},"docs\u002F1.getting-started\u002F3.configuration.md",{"type":80,"value":81,"toc":539},"minimark",[82,152,158,174,184,190,202,220,226,276,279,319,325,337,340,355,362,465,471,482,489,494,506,513,518,530,535],[83,84,90],"pre",{"className":85,"code":86,"filename":87,"language":88,"meta":89,"style":89},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  pagesPlus: {\n    \u002F\u002F Nuxt Pages Plus configuration\n  }\n})\n","nuxt.config.ts","ts","",[91,92,93,117,130,137,143],"code",{"__ignoreMap":89},[94,95,98,102,105,109,113],"span",{"class":96,"line":97},"line",1,[94,99,101],{"class":100},"s7zQu","export",[94,103,104],{"class":100}," default",[94,106,108],{"class":107},"s2Zo4"," defineNuxtConfig",[94,110,112],{"class":111},"sTEyZ","(",[94,114,116],{"class":115},"sMK4o","{\n",[94,118,120,124,127],{"class":96,"line":119},2,[94,121,123],{"class":122},"swJcz","  pagesPlus",[94,125,126],{"class":115},":",[94,128,129],{"class":115}," {\n",[94,131,133],{"class":96,"line":132},3,[94,134,136],{"class":135},"sHwdD","    \u002F\u002F Nuxt Pages Plus configuration\n",[94,138,140],{"class":96,"line":139},4,[94,141,142],{"class":115},"  }\n",[94,144,146,149],{"class":96,"line":145},5,[94,147,148],{"class":115},"}",[94,150,151],{"class":111},")\n",[153,154,156],"h2",{"id":155},"separator",[91,157,155],{},[159,160,161,168],"ul",{},[162,163,164,165],"li",{},"Type: ",[91,166,167],{},"string",[162,169,170,171],{},"Default: ",[91,172,173],{},"@",[175,176,177,178,183],"p",{},"The separator is used to split the parallel route name and the page name. Please read the ",[179,180,182],"a",{"href":181},"\u002Fgetting-started\u002Fdirectory-structure#escape-separator","Directory Structure > Escape @ eparator"," for more information.",[153,185,187],{"id":186},"namedviewsasparallelroutes",[91,188,189],{},"namedViewsAsParallelRoutes",[159,191,192,197],{},[162,193,164,194],{},[91,195,196],{},"boolean",[162,198,170,199],{},[91,200,201],{},"false",[175,203,204,205,208,209,212,213,219],{},"Nuxt ",[91,206,207],{},">= 4.5"," parses ",[91,210,211],{},"name@view.vue"," page files as ",[179,214,218],{"href":215,"rel":216},"https:\u002F\u002Frouter.vuejs.org\u002Fguide\u002Fessentials\u002Fnamed-views.html",[217],"nofollow","vue-router named views"," instead of emitting standalone routes, so Nuxt Pages Plus can no longer detect them as parallel routes by default.",[175,221,222,223,225],{},"Enable this option to keep treating ",[91,224,211],{}," files as parallel routes, like older Nuxt versions did:",[83,227,229],{"className":85,"code":228,"filename":87,"language":88,"meta":89,"style":89},"export default defineNuxtConfig({\n  pagesPlus: {\n    namedViewsAsParallelRoutes: true,\n  },\n})\n",[91,230,231,243,251,265,270],{"__ignoreMap":89},[94,232,233,235,237,239,241],{"class":96,"line":97},[94,234,101],{"class":100},[94,236,104],{"class":100},[94,238,108],{"class":107},[94,240,112],{"class":111},[94,242,116],{"class":115},[94,244,245,247,249],{"class":96,"line":119},[94,246,123],{"class":122},[94,248,126],{"class":115},[94,250,129],{"class":115},[94,252,253,256,258,262],{"class":96,"line":132},[94,254,255],{"class":122},"    namedViewsAsParallelRoutes",[94,257,126],{"class":115},[94,259,261],{"class":260},"sfNiH"," true",[94,263,264],{"class":115},",\n",[94,266,267],{"class":96,"line":139},[94,268,269],{"class":115},"  },\n",[94,271,272,274],{"class":96,"line":145},[94,273,148],{"class":115},[94,275,151],{"class":111},[175,277,278],{},"Notes:",[159,280,281,299,308],{},[162,282,283,284,286,287,289,290,295,296,298],{},"This option only takes effect on Nuxt ",[91,285,207],{}," with the default ",[91,288,173],{}," ",[179,291,293],{"href":292},"#separator",[91,294,155],{},". Older Nuxt versions always emit ",[91,297,211],{}," files as parallel routes, regardless of this option.",[162,300,301,302,304,305,307],{},"When this option is not set and ",[91,303,211],{}," files are detected as named views, a warning will be printed during build. Set the option to ",[91,306,201],{}," explicitly to keep using Nuxt's native named views and dismiss the warning.",[162,309,310,311,314,315,318],{},"Directory style parallel routes (e.g. ",[91,312,313],{},"@foo\u002Findex.vue",") and custom separators (e.g. ",[91,316,317],{},"index+foo.vue",") are not affected by Nuxt's named views and work without this option.",[153,320,322],{"id":321},"parallelpages",[91,323,324],{},"parallelPages",[159,326,327,332],{},[162,328,164,329],{},[91,330,331],{},"Record\u003Cstring, ParallelPageOptions>",[162,333,170,334],{},[91,335,336],{},"{}",[175,338,339],{},"You can configure every parallel route in your project using this option.",[175,341,342,343,346,347,350,351,354],{},"The ",[91,344,345],{},"key"," is the parallel route name, for example you have a ",[91,348,349],{},"~\u002Fpages\u002F@foo"," parallel route, the key should be ",[91,352,353],{},"foo",".",[356,357,359],"h4",{"id":358},"parallelpageoptions",[91,360,361],{},"ParallelPageOptions",[83,363,365],{"className":85,"code":364,"language":88,"meta":89,"style":89},"interface ParallelPageOptions {\n  mode: 'sync' | 'sync-once' | 'manual' \u002F\u002F default: 'sync'\n  index?: string \u002F\u002F default: undefined\n  fallback: boolean | { redirect?: string } \u002F\u002F default: true\n}\n",[91,366,367,379,418,432,460],{"__ignoreMap":89},[94,368,369,373,377],{"class":96,"line":97},[94,370,372],{"class":371},"spNyl","interface",[94,374,376],{"class":375},"sBMFI"," ParallelPageOptions",[94,378,129],{"class":115},[94,380,381,384,386,389,393,396,399,401,404,406,408,410,413,415],{"class":96,"line":119},[94,382,383],{"class":122},"  mode",[94,385,126],{"class":115},[94,387,388],{"class":115}," '",[94,390,392],{"class":391},"sfazB","sync",[94,394,395],{"class":115},"'",[94,397,398],{"class":115}," |",[94,400,388],{"class":115},[94,402,403],{"class":391},"sync-once",[94,405,395],{"class":115},[94,407,398],{"class":115},[94,409,388],{"class":115},[94,411,412],{"class":391},"manual",[94,414,395],{"class":115},[94,416,417],{"class":135}," \u002F\u002F default: 'sync'\n",[94,419,420,423,426,429],{"class":96,"line":132},[94,421,422],{"class":122},"  index",[94,424,425],{"class":115},"?:",[94,427,428],{"class":375}," string",[94,430,431],{"class":135}," \u002F\u002F default: undefined\n",[94,433,434,437,439,442,444,447,450,452,454,457],{"class":96,"line":139},[94,435,436],{"class":122},"  fallback",[94,438,126],{"class":115},[94,440,441],{"class":375}," boolean",[94,443,398],{"class":115},[94,445,446],{"class":115}," {",[94,448,449],{"class":122}," redirect",[94,451,425],{"class":115},[94,453,428],{"class":375},[94,455,456],{"class":115}," }",[94,458,459],{"class":135}," \u002F\u002F default: true\n",[94,461,462],{"class":96,"line":145},[94,463,464],{"class":115},"}\n",[466,467,469],"h5",{"id":468},"mode",[91,470,468],{},[159,472,473,478],{},[162,474,164,475],{},[91,476,477],{},"'sync' | 'sync-once' | 'manual'",[162,479,170,480],{},[91,481,392],{},[175,483,484,485,183],{},"The sync mode of the parallel route. Please read the ",[179,486,488],{"href":487},"\u002Frouting\u002Fparallel-routes#sync-modes","Parallel Routes > Sync Modes",[466,490,492],{"id":491},"index",[91,493,491],{},[159,495,496,501],{},[162,497,164,498],{},[91,499,500],{},"string | undefined",[162,502,170,503],{},[91,504,505],{},"\u002F~index",[175,507,508,509,183],{},"The index page of the parallel route. Please read the ",[179,510,512],{"href":511},"\u002Frouting\u002Fparallel-routes#fallback-mechanism","Parallel Routes > Fallback Mechanism",[466,514,516],{"id":515},"fallback",[91,517,515],{},[159,519,520,525],{},[162,521,164,522],{},[91,523,524],{},"boolean | { redirect?: string }",[162,526,170,527],{},[91,528,529],{},"true",[175,531,532,533,183],{},"The fallback mechanism of the parallel route. Please read the ",[179,534,512],{"href":511},[536,537,538],"style",{},"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":89,"searchDepth":119,"depth":119,"links":540},[541,542,543],{"id":155,"depth":119,"text":155},{"id":186,"depth":119,"text":189},{"id":321,"depth":119,"text":324},"Nuxt Pages Plus provides a bunch of options to configure your parallel routes as you like in nuxt.config.","md",null,{},true,{"title":19,"description":544},"oF6Ji_vD6FkTk8DOrKzKSoKHGjb7QX2WkdK-7reZvhA",[552,554],{"title":15,"path":16,"stem":17,"description":553,"children":-1},"Install Nuxt Pages Plus to your Nuxt project using a single line of command using nuxi as shown below.",{"title":23,"path":24,"stem":25,"description":555,"children":-1},"All named parallel routes page files should be placed in the ~\u002Fpages\u002F directory. Nuxt Pages Plus will process these files and generate parallel routes after Nuxt has generated the routes.",1786798083464]