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