[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"versions":3011,"module-authorization":3016},[4,1124,1971,2805],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-book-marked","\u002Fdocs\u002F3.x","docs\u002F3.x",[11,109,246,430,911,1003,1040,1082],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","\u002Fdocs\u002F3.x\u002Fgetting-started","docs\u002F3.x\u002F1.getting-started",[18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103],{"title":19,"path":20,"stem":21,"titleTemplate":6,"icon":22},"Introduction","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fintroduction","docs\u002F3.x\u002F1.getting-started\u002F01.introduction","i-lucide-info",{"title":24,"path":25,"stem":26,"titleTemplate":6,"icon":27},"Installation","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Finstallation","docs\u002F3.x\u002F1.getting-started\u002F02.installation","i-lucide-play",{"title":29,"path":30,"stem":31,"titleTemplate":6,"icon":32},"Configuration","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration","docs\u002F3.x\u002F1.getting-started\u002F03.configuration","i-lucide-cog",{"title":34,"path":35,"stem":36,"titleTemplate":6,"icon":37},"Views","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fviews","docs\u002F3.x\u002F1.getting-started\u002F04.views","i-lucide-panels-top-left",{"title":39,"path":40,"stem":41,"titleTemplate":6,"icon":42},"Assets","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fassets","docs\u002F3.x\u002F1.getting-started\u002F05.assets","i-lucide-image",{"title":44,"path":45,"stem":46,"titleTemplate":6,"icon":47},"Styling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstyling","docs\u002F3.x\u002F1.getting-started\u002F06.styling","i-lucide-palette",{"title":49,"path":50,"stem":51,"titleTemplate":6,"icon":52},"Routing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Frouting","docs\u002F3.x\u002F1.getting-started\u002F07.routing","i-lucide-milestone",{"title":54,"path":55,"stem":56,"titleTemplate":6,"icon":57},"SEO and Meta","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fseo-meta","docs\u002F3.x\u002F1.getting-started\u002F08.seo-meta","i-lucide-file-search",{"title":59,"path":60,"stem":61,"titleTemplate":6,"icon":62},"Transitions","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftransitions","docs\u002F3.x\u002F1.getting-started\u002F09.transitions","i-lucide-toggle-right",{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"Data Fetching","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F3.x\u002F1.getting-started\u002F10.data-fetching","i-lucide-cable",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"State Management","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstate-management","docs\u002F3.x\u002F1.getting-started\u002F11.state-management","i-lucide-database",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"Error Handling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ferror-handling","docs\u002F3.x\u002F1.getting-started\u002F12.error-handling","i-lucide-bug-off",{"title":79,"path":80,"stem":81,"titleTemplate":6,"icon":82},"Server","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fserver","docs\u002F3.x\u002F1.getting-started\u002F13.server","i-lucide-pc-case",{"title":84,"path":85,"stem":86,"titleTemplate":6,"icon":87},"Layers","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Flayers","docs\u002F3.x\u002F1.getting-started\u002F14.layers","i-lucide-layers",{"title":89,"path":90,"stem":91,"titleTemplate":6,"icon":92},"Prerendering","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fprerendering","docs\u002F3.x\u002F1.getting-started\u002F15.prerendering","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"titleTemplate":6,"icon":97},"Deployment","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdeployment","docs\u002F3.x\u002F1.getting-started\u002F16.deployment","i-lucide-cloud",{"title":99,"path":100,"stem":101,"titleTemplate":6,"icon":102},"Testing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting","docs\u002F3.x\u002F1.getting-started\u002F17.testing","i-lucide-circle-check",{"title":104,"path":105,"stem":106,"titleTemplate":6,"icon":107},"Upgrade Guide","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fupgrade","docs\u002F3.x\u002F1.getting-started\u002F18.upgrade","i-lucide-circle-arrow-up",false,{"title":110,"titleTemplate":111,"icon":112,"path":113,"stem":114,"children":115,"page":108},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","\u002Fdocs\u002F3.x\u002Fdirectory-structure","docs\u002F3.x\u002F2.directory-structure",[116,121,126,131,136,141,146,151,156,161,165,170,174,179,184,189,194,199,204,209,214,218,223,228,232,236,241],{"title":117,"path":118,"stem":119,"titleTemplate":6,"icon":120},".nuxt","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F3.x\u002F2.directory-structure\u002F0.nuxt","i-vscode-icons-folder-type-temp",{"title":122,"path":123,"stem":124,"titleTemplate":6,"icon":125},".output","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Foutput","docs\u002F3.x\u002F2.directory-structure\u002F0.output","i-vscode-icons-folder-type-package",{"title":127,"path":128,"stem":129,"titleTemplate":6,"icon":130},"assets","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fassets","docs\u002F3.x\u002F2.directory-structure\u002F1.assets","i-vscode-icons-folder-type-asset",{"title":132,"path":133,"stem":134,"titleTemplate":6,"icon":135},"components","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomponents","docs\u002F3.x\u002F2.directory-structure\u002F1.components","i-vscode-icons-folder-type-component",{"title":137,"path":138,"stem":139,"titleTemplate":6,"icon":140},"composables","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomposables","docs\u002F3.x\u002F2.directory-structure\u002F1.composables","i-vscode-icons-folder-type-src",{"title":142,"path":143,"stem":144,"titleTemplate":6,"icon":145},"content","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcontent","docs\u002F3.x\u002F2.directory-structure\u002F1.content","i-vscode-icons-folder-type-log",{"title":147,"path":148,"stem":149,"titleTemplate":6,"icon":150},"layers","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayers","docs\u002F3.x\u002F2.directory-structure\u002F1.layers","i-vscode-icons-folder-type-nuxt",{"title":152,"path":153,"stem":154,"titleTemplate":6,"icon":155},"layouts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayouts","docs\u002F3.x\u002F2.directory-structure\u002F1.layouts","i-vscode-icons-folder-type-view",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"middleware","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmiddleware","docs\u002F3.x\u002F2.directory-structure\u002F1.middleware","i-vscode-icons-folder-type-middleware",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":150},"modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmodules","docs\u002F3.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":169},"node_modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F3.x\u002F2.directory-structure\u002F1.node_modules","i-vscode-icons-folder-type-node",{"title":171,"path":172,"stem":173,"titleTemplate":6,"icon":155},"pages","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpages","docs\u002F3.x\u002F2.directory-structure\u002F1.pages",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":178},"plugins","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fplugins","docs\u002F3.x\u002F2.directory-structure\u002F1.plugins","i-vscode-icons-folder-type-plugin",{"title":180,"path":181,"stem":182,"titleTemplate":6,"icon":183},"public","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpublic","docs\u002F3.x\u002F2.directory-structure\u002F1.public","i-vscode-icons-folder-type-public",{"title":185,"path":186,"stem":187,"titleTemplate":6,"icon":188},"server","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fserver","docs\u002F3.x\u002F2.directory-structure\u002F1.server","i-vscode-icons-folder-type-server",{"title":190,"path":191,"stem":192,"titleTemplate":6,"icon":193},"shared","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fshared","docs\u002F3.x\u002F2.directory-structure\u002F1.shared","i-vscode-icons-folder-type-shared",{"title":195,"path":196,"stem":197,"titleTemplate":6,"icon":198},"utils","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Futils","docs\u002F3.x\u002F2.directory-structure\u002F1.utils","i-vscode-icons-folder-type-tools",{"title":200,"path":201,"stem":202,"titleTemplate":6,"icon":203},".env","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fenv","docs\u002F3.x\u002F2.directory-structure\u002F2.env","i-vscode-icons-file-type-dotenv",{"title":205,"path":206,"stem":207,"titleTemplate":6,"icon":208},".gitignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F3.x\u002F2.directory-structure\u002F2.gitignore","i-vscode-icons-file-type-git",{"title":210,"path":211,"stem":212,"titleTemplate":6,"icon":213},".nuxtignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtignore","i-vscode-icons-file-type-nuxt",{"title":215,"path":216,"stem":217,"titleTemplate":6,"icon":213},".nuxtrc","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":219,"path":220,"stem":221,"titleTemplate":6,"icon":222},"app.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp","docs\u002F3.x\u002F2.directory-structure\u002F3.app","i-vscode-icons-file-type-vue",{"title":224,"path":225,"stem":226,"titleTemplate":6,"icon":227},"app.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp-config","docs\u002F3.x\u002F2.directory-structure\u002F3.app-config","i-vscode-icons-file-type-light-config",{"title":229,"path":230,"stem":231,"titleTemplate":6,"icon":222},"error.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ferror","docs\u002F3.x\u002F2.directory-structure\u002F3.error",{"title":233,"path":234,"stem":235,"titleTemplate":6,"icon":213},"nuxt.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F3.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":238,"stem":239,"titleTemplate":6,"icon":240},"package.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpackage","docs\u002F3.x\u002F2.directory-structure\u002F3.package","i-vscode-icons-file-type-npm",{"title":242,"path":243,"stem":244,"titleTemplate":6,"icon":245},"tsconfig.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F3.x\u002F2.directory-structure\u002F3.tsconfig","i-vscode-icons-file-type-tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":249,"stem":250,"children":251,"page":108},"Guide","i-lucide-book-open","\u002Fdocs\u002F3.x\u002Fguide","docs\u002F3.x\u002F3.guide",[252,287,306,321,360,383],{"title":253,"titleTemplate":254,"icon":255,"path":256,"stem":257,"children":258,"page":108},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts","docs\u002F3.x\u002F3.guide\u002F1.concepts",[259,263,267,271,275,279,283],{"title":260,"path":261,"stem":262,"titleTemplate":6},"Rendering Modes","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":265,"stem":266,"titleTemplate":6},"Nuxt Lifecycle","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":269,"stem":270,"titleTemplate":6},"Auto-imports","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":273,"stem":274,"titleTemplate":6},"Server Engine","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":277,"stem":278,"titleTemplate":6},"Modules","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":281,"stem":282,"titleTemplate":6},"TypeScript","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":285,"stem":286,"titleTemplate":6},"Code Style","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":291,"stem":292,"children":293,"page":108},"Best Practices","%s · Best Practices","i-lucide-square-check","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F2.best-practices",[294,298,302],{"title":295,"path":296,"stem":297,"titleTemplate":6},"Nuxt and hydration","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Nuxt Performance","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Nuxt Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":310,"stem":311,"children":312,"page":108},"Working with AI","Working with AI: %s","i-lucide-bot","\u002Fdocs\u002F3.x\u002Fguide\u002Fai","docs\u002F3.x\u002F3.guide\u002F3.ai",[313,317],{"title":314,"path":315,"stem":316,"titleTemplate":6},"MCP Server","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":319,"stem":320,"titleTemplate":6},"LLMs.txt","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":325,"stem":326,"children":327,"page":108},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F4.modules",[328,332,336,340,344,348,352,356],{"title":329,"path":330,"stem":331,"titleTemplate":6},"Create Your First Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":334,"stem":335,"titleTemplate":6},"Understand Module Structure","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":338,"stem":339,"titleTemplate":6},"Add Plugins, Components & More","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":342,"stem":343,"titleTemplate":6},"Module Dependencies","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":346,"stem":347,"titleTemplate":6},"Use Hooks & Extend Types","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":350,"stem":351,"titleTemplate":6},"Test Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":354,"stem":355,"titleTemplate":6},"Follow Best Practices","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":358,"stem":359,"titleTemplate":6},"Publish & Share Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":364,"stem":365,"children":366,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes","docs\u002F3.x\u002F3.guide\u002F5.recipes",[367,371,375,379],{"title":368,"path":369,"stem":370,"titleTemplate":6},"Custom Routing","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":373,"stem":374,"titleTemplate":6},"Vite Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":377,"stem":378,"titleTemplate":6},"Custom useFetch","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":381,"stem":382,"titleTemplate":6},"Sessions and Authentication","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":387,"stem":388,"children":389,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further","docs\u002F3.x\u002F3.guide\u002F6.going-further",[390,394,398,402,406,410,414,418,422,426],{"title":391,"path":392,"stem":393,"titleTemplate":6},"Custom Events","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":396,"stem":397,"titleTemplate":6},"Experimental Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":400,"stem":401,"titleTemplate":6},"Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":404,"stem":405,"titleTemplate":6},"Runtime Config","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":408,"stem":409,"titleTemplate":6},"Nightly Release Channel","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":412,"stem":413,"titleTemplate":6},"Lifecycle Hooks","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":416,"stem":417,"titleTemplate":6},"Nuxt Kit","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":420,"stem":421,"titleTemplate":6},"NuxtApp","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":424,"stem":425,"titleTemplate":6},"Authoring Nuxt Layers","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":428,"stem":429,"titleTemplate":6},"Debugging","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":434,"stem":435,"children":436,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F3.x\u002Fapi","docs\u002F3.x\u002F4.api",[437,503,626,749,820,893,906],{"title":438,"titleTemplate":439,"icon":324,"path":440,"stem":441,"children":442,"page":108},"Components","%s · Nuxt Components","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F1.components",[443,447,451,455,459,463,467,471,475,479,483,487,491,495,499],{"title":444,"path":445,"stem":446,"titleTemplate":6},"\u003CClientOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":449,"stem":450,"titleTemplate":6},"\u003CDevOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":453,"stem":454,"titleTemplate":6},"\u003CNuxtClientFallback>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":457,"stem":458,"titleTemplate":6},"\u003CNuxtPicture>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F3.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":461,"stem":462,"titleTemplate":6},"\u003CTeleport>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F3.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":465,"stem":466,"titleTemplate":6},"\u003CNuxtRouteAnnouncer>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F3.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":469,"stem":470,"titleTemplate":6},"\u003CNuxtTime>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F3.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":472,"path":473,"stem":474,"titleTemplate":6},"\u003CNuxtPage>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F3.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":477,"stem":478,"titleTemplate":6},"\u003CNuxtLayout>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F3.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":481,"stem":482,"titleTemplate":6},"\u003CNuxtLink>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F3.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":485,"stem":486,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F3.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":489,"stem":490,"titleTemplate":6},"\u003CNuxtErrorBoundary>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F3.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":493,"stem":494,"titleTemplate":6},"\u003CNuxtWelcome>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F3.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":497,"stem":498,"titleTemplate":6},"\u003CNuxtIsland>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F3.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":501,"stem":502,"titleTemplate":6},"\u003CNuxtImg>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F3.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":507,"stem":508,"children":509,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables","docs\u002F3.x\u002F4.api\u002F2.composables",[510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622],{"title":511,"path":512,"stem":513,"titleTemplate":6},"onPrehydrate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":515,"path":516,"stem":517,"titleTemplate":6},"useAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":520,"stem":521,"titleTemplate":6},"useAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":524,"stem":525,"titleTemplate":6},"useCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":528,"stem":529,"titleTemplate":6},"useError","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":532,"stem":533,"titleTemplate":6},"useFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":536,"stem":537,"titleTemplate":6},"useHead","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":540,"stem":541,"titleTemplate":6},"useHeadSafe","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":544,"stem":545,"titleTemplate":6},"useHydration","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":548,"stem":549,"titleTemplate":6},"useLazyAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":552,"stem":553,"titleTemplate":6},"useLazyFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":556,"stem":557,"titleTemplate":6},"useLoadingIndicator","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":560,"stem":561,"titleTemplate":6},"useNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":564,"stem":565,"titleTemplate":6},"useNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":568,"stem":569,"titleTemplate":6},"usePreviewMode","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":572,"stem":573,"titleTemplate":6},"useRequestEvent","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":576,"stem":577,"titleTemplate":6},"useRequestFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":580,"stem":581,"titleTemplate":6},"useRequestHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":584,"stem":585,"titleTemplate":6},"useRequestHeaders","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":588,"stem":589,"titleTemplate":6},"useRequestURL","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":592,"stem":593,"titleTemplate":6},"useResponseHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":596,"stem":597,"titleTemplate":6},"useRoute","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":600,"stem":601,"titleTemplate":6},"useRouteAnnouncer","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":604,"stem":605,"titleTemplate":6},"useRouter","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":608,"stem":609,"titleTemplate":6},"useRuntimeConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":612,"stem":613,"titleTemplate":6},"useRuntimeHook","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":616,"stem":617,"titleTemplate":6},"useSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":620,"stem":621,"titleTemplate":6},"useServerSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":624,"stem":625,"titleTemplate":6},"useState","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":630,"stem":631,"children":632,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","\u002Fdocs\u002F3.x\u002Fapi\u002Futils","docs\u002F3.x\u002F4.api\u002F3.utils",[633,637,641,645,649,653,657,661,665,669,673,677,681,685,689,693,697,701,705,709,713,717,721,725,729,733,737,741,745],{"title":634,"path":635,"stem":636,"titleTemplate":6},"$fetch","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F3.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":639,"stem":640,"titleTemplate":6},"abortNavigation","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":643,"stem":644,"titleTemplate":6},"addRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":647,"stem":648,"titleTemplate":6},"callOnce","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":651,"stem":652,"titleTemplate":6},"clearError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":655,"stem":656,"titleTemplate":6},"clearNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":659,"stem":660,"titleTemplate":6},"clearNuxtState","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":663,"stem":664,"titleTemplate":6},"createError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":667,"stem":668,"titleTemplate":6},"defineLazyHydrationComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":671,"stem":672,"titleTemplate":6},"defineNuxtComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":675,"stem":676,"titleTemplate":6},"defineNuxtPlugin","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":679,"stem":680,"titleTemplate":6},"defineNuxtRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":683,"stem":684,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":687,"stem":688,"titleTemplate":6},"defineRouteRules","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":691,"stem":692,"titleTemplate":6},"navigateTo","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":695,"stem":696,"titleTemplate":6},"onBeforeRouteLeave","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":699,"stem":700,"titleTemplate":6},"onBeforeRouteUpdate","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":703,"stem":704,"titleTemplate":6},"onNuxtReady","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":707,"stem":708,"titleTemplate":6},"prefetchComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":711,"stem":712,"titleTemplate":6},"preloadComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":715,"stem":716,"titleTemplate":6},"preloadRouteComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":719,"stem":720,"titleTemplate":6},"prerenderRoutes","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":723,"stem":724,"titleTemplate":6},"refreshCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":727,"stem":728,"titleTemplate":6},"refreshNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":731,"stem":732,"titleTemplate":6},"reloadNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F3.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":735,"stem":736,"titleTemplate":6},"setPageLayout","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":739,"stem":740,"titleTemplate":6},"setResponseStatus","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":743,"stem":744,"titleTemplate":6},"showError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":747,"stem":748,"titleTemplate":6},"updateAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":753,"stem":754,"children":755,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","docs\u002F3.x\u002F4.api\u002F4.commands",[756,760,764,768,772,776,780,784,788,792,796,800,804,808,812,816],{"title":757,"path":758,"stem":759,"titleTemplate":6},"nuxt add","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":762,"stem":763,"titleTemplate":6},"nuxt analyze","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":766,"stem":767,"titleTemplate":6},"nuxt build","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":770,"stem":771,"titleTemplate":6},"nuxt build-module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":774,"stem":775,"titleTemplate":6},"nuxt cleanup","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":778,"stem":779,"titleTemplate":6},"nuxt dev","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":782,"stem":783,"titleTemplate":6},"nuxt devtools","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":786,"stem":787,"titleTemplate":6},"nuxt generate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":790,"stem":791,"titleTemplate":6},"nuxt info","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":794,"stem":795,"titleTemplate":6},"create nuxt","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":798,"stem":799,"titleTemplate":6},"nuxt module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":802,"stem":803,"titleTemplate":6},"nuxt prepare","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":806,"stem":807,"titleTemplate":6},"nuxt preview","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":810,"stem":811,"titleTemplate":6},"nuxt test","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":814,"stem":815,"titleTemplate":6},"nuxt typecheck","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":818,"stem":819,"titleTemplate":6},"nuxt upgrade","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":823,"stem":824,"children":825,"page":108},"%s · Nuxt Kit","i-lucide-package","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit","docs\u002F3.x\u002F4.api\u002F5.kit",[826,829,832,836,840,844,848,852,856,859,863,867,870,873,877,881,885,889],{"title":276,"path":827,"stem":828,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F3.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":830,"stem":831,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":834,"stem":835,"titleTemplate":6},"Templates","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":838,"stem":839,"titleTemplate":6},"Nitro","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F3.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":842,"stem":843,"titleTemplate":6},"Resolving","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F3.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":846,"stem":847,"titleTemplate":6},"Logging","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F3.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Builder","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F3.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":854,"stem":855,"titleTemplate":6},"Examples","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F3.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":857,"stem":858,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F3.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":861,"stem":862,"titleTemplate":6},"Programmatic Usage","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F3.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":865,"stem":866,"titleTemplate":6},"Compatibility","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F3.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":868,"stem":869,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F3.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":871,"stem":872,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":875,"stem":876,"titleTemplate":6},"Context","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F3.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":879,"stem":880,"titleTemplate":6},"Pages","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F3.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":883,"stem":884,"titleTemplate":6},"Layout","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F3.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":887,"stem":888,"titleTemplate":6},"Head","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":891,"stem":892,"titleTemplate":6},"Plugins","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":896,"stem":897,"children":898,"page":108},"Advanced","i-lucide-brain","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced","docs\u002F3.x\u002F4.api\u002F6.advanced",[899,902],{"title":411,"path":900,"stem":901,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":904,"stem":905,"titleTemplate":6},"Import meta","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":908,"stem":909,"titleTemplate":910,"icon":32},"Nuxt Configuration","\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config","docs\u002F3.x\u002F4.api\u002F6.nuxt-config","%s",{"title":853,"titleTemplate":912,"icon":913,"path":914,"stem":915,"children":916,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","\u002Fdocs\u002F3.x\u002Fexamples","docs\u002F3.x\u002F4.examples",[917,921,943,958,994],{"title":918,"path":919,"stem":920,"titleTemplate":6},"Hello World","\u002Fdocs\u002F3.x\u002Fexamples\u002Fhello-world","docs\u002F3.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":922,"stem":923,"children":924,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures","docs\u002F3.x\u002F4.examples\u002F1.features",[925,929,932,935,939],{"title":926,"path":927,"stem":928,"titleTemplate":6},"Auto Imports","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F3.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":930,"stem":931,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F3.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":933,"stem":934,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F3.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":937,"stem":938,"titleTemplate":6},"Meta Tags","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F3.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":941,"stem":942,"titleTemplate":6},"Layouts","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F3.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":944,"stem":945,"children":946,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting","docs\u002F3.x\u002F4.examples\u002F2.routing",[947,951,954],{"title":948,"path":949,"stem":950,"titleTemplate":6},"Middleware","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":952,"stem":953,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":956,"stem":957,"titleTemplate":6},"Universal Router","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":959,"stem":960,"children":961,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced","docs\u002F3.x\u002F4.examples\u002F4.advanced",[962,965,968,972,976,980,984,987,990],{"title":84,"path":963,"stem":964,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":966,"stem":967,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":970,"stem":971,"titleTemplate":6},"JSX \u002F TSX","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":974,"stem":975,"titleTemplate":6},"Locale","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":978,"stem":979,"titleTemplate":6},"Module Extend Pages","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":982,"stem":983,"titleTemplate":6},"Teleport","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":985,"stem":986,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":988,"stem":989,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":992,"stem":993,"titleTemplate":6},"Use Custom Fetch Composable","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":996,"stem":997,"children":998,"page":108},"Experimental","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental","docs\u002F3.x\u002F4.examples\u002F7.experimental",[999],{"title":1000,"path":1001,"stem":1002,"titleTemplate":6},"WASM","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F3.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1007,"stem":1008,"children":1009,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F3.x\u002Fcommunity","docs\u002F3.x\u002F5.community",[1010,1015,1020,1025,1030,1035],{"title":1011,"path":1012,"stem":1013,"titleTemplate":6,"icon":1014},"Getting Help","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help","docs\u002F3.x\u002F5.community\u002F2.getting-help","i-lucide-life-buoy",{"title":1016,"path":1017,"stem":1018,"titleTemplate":6,"icon":1019},"Reporting Bugs","\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs","docs\u002F3.x\u002F5.community\u002F3.reporting-bugs","i-lucide-bug",{"title":1021,"path":1022,"stem":1023,"titleTemplate":6,"icon":1024},"Contribution","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution","docs\u002F3.x\u002F5.community\u002F4.contribution","i-lucide-git-pull-request",{"title":1026,"path":1027,"stem":1028,"titleTemplate":6,"icon":1029},"Framework","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution","docs\u002F3.x\u002F5.community\u002F5.framework-contribution","i-lucide-github",{"title":1031,"path":1032,"stem":1033,"titleTemplate":6,"icon":1034},"Roadmap","\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap","docs\u002F3.x\u002F5.community\u002F6.roadmap","i-lucide-map",{"title":1036,"path":1037,"stem":1038,"titleTemplate":6,"icon":1039},"Releases","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog","docs\u002F3.x\u002F5.community\u002F7.changelog","i-lucide-bell-dot",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1044,"stem":1045,"children":1046,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F3.x\u002Fbridge","docs\u002F3.x\u002F6.bridge",[1047,1051,1054,1057,1061,1065,1069,1072,1075,1078],{"title":1048,"path":1049,"stem":1050,"titleTemplate":6},"Overview","\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview","docs\u002F3.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1052,"stem":1053,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration","docs\u002F3.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1055,"stem":1056,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript","docs\u002F3.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1059,"stem":1060,"titleTemplate":6},"Legacy Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F3.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1063,"stem":1064,"titleTemplate":6},"Plugins and Middleware","\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F3.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1067,"stem":1068,"titleTemplate":6},"New Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F3.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1070,"stem":1071,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta","docs\u002F3.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1073,"stem":1074,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config","docs\u002F3.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1076,"stem":1077,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro","docs\u002F3.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1080,"stem":1081,"titleTemplate":6},"Vite","\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite","docs\u002F3.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1085,"stem":1086,"children":1087,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","\u002Fdocs\u002F3.x\u002Fmigration","docs\u002F3.x\u002F7.migration",[1088,1091,1095,1098,1101,1104,1107,1110,1113,1117,1121],{"title":1048,"path":1089,"stem":1090,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview","docs\u002F3.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1093,"stem":1094,"titleTemplate":6},"Build Tooling","\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling","docs\u002F3.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1096,"stem":1097,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver","docs\u002F3.x\u002F7.migration\u002F11.server",{"title":29,"path":1099,"stem":1100,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration","docs\u002F3.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1102,"stem":1103,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors","docs\u002F3.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1105,"stem":1106,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports","docs\u002F3.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1108,"stem":1109,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta","docs\u002F3.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1111,"stem":1112,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F3.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1115,"stem":1116,"titleTemplate":6},"Pages and Layouts","\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F3.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1119,"stem":1120,"titleTemplate":6},"Component Options","\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options","docs\u002F3.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1122,"stem":1123,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config","docs\u002F3.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1125,"stem":1126,"children":1127,"page":108},"\u002Fdocs\u002F4.x","docs\u002F4.x",[1128,1186,1280,1419,1801,1878,1900,1934],{"title":12,"titleTemplate":13,"icon":14,"path":1129,"stem":1130,"children":1131,"page":108},"\u002Fdocs\u002F4.x\u002Fgetting-started","docs\u002F4.x\u002F1.getting-started",[1132,1135,1138,1141,1144,1147,1150,1153,1156,1159,1162,1165,1168,1171,1174,1177,1180,1183],{"title":19,"path":1133,"stem":1134,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction","docs\u002F4.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1136,"stem":1137,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation","docs\u002F4.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1139,"stem":1140,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration","docs\u002F4.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1142,"stem":1143,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews","docs\u002F4.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1145,"stem":1146,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets","docs\u002F4.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1148,"stem":1149,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling","docs\u002F4.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1151,"stem":1152,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting","docs\u002F4.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1154,"stem":1155,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta","docs\u002F4.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1157,"stem":1158,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions","docs\u002F4.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1160,"stem":1161,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F4.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1163,"stem":1164,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management","docs\u002F4.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1166,"stem":1167,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling","docs\u002F4.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":1169,"stem":1170,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver","docs\u002F4.x\u002F1.getting-started\u002F13.server",{"title":84,"path":1172,"stem":1173,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers","docs\u002F4.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":1175,"stem":1176,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering","docs\u002F4.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":1178,"stem":1179,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment","docs\u002F4.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":1181,"stem":1182,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting","docs\u002F4.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":1184,"stem":1185,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade","docs\u002F4.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":1187,"stem":1188,"children":1189,"page":108},"\u002Fdocs\u002F4.x\u002Fdirectory-structure","docs\u002F4.x\u002F2.directory-structure",[1190,1193,1196,1238,1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274,1277],{"title":117,"path":1191,"stem":1192,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F4.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":1194,"stem":1195,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput","docs\u002F4.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":1198,"defaultOpen":1200,"icon":1201,"path":1202,"stem":1203,"children":1204,"page":108},"app",{"title":1199},"app\u002F",true,"i-vscode-icons-folder-type-app","\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app",[1205,1208,1211,1214,1217,1220,1223,1226,1229,1232,1235],{"title":127,"path":1206,"stem":1207,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":1209,"stem":1210,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":1212,"stem":1213,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":1215,"stem":1216,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":1218,"stem":1219,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":1221,"stem":1222,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":1224,"stem":1225,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":1227,"stem":1228,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":1230,"stem":1231,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":1233,"stem":1234,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":1236,"stem":1237,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":1239,"stem":1240,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent","docs\u002F4.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":1242,"stem":1243,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers","docs\u002F4.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":1245,"stem":1246,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules","docs\u002F4.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":1248,"stem":1249,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F4.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":1251,"stem":1252,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic","docs\u002F4.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":1254,"stem":1255,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver","docs\u002F4.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":1257,"stem":1258,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared","docs\u002F4.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":1260,"stem":1261,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv","docs\u002F4.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":1263,"stem":1264,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F4.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":1266,"stem":1267,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":1269,"stem":1270,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":1272,"stem":1273,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F4.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":1275,"stem":1276,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage","docs\u002F4.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":1278,"stem":1279,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F4.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":1281,"stem":1282,"children":1283,"page":108},"\u002Fdocs\u002F4.x\u002Fguide","docs\u002F4.x\u002F3.guide",[1284,1309,1327,1337,1365,1381],{"title":253,"titleTemplate":254,"icon":255,"path":1285,"stem":1286,"children":1287,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts","docs\u002F4.x\u002F3.guide\u002F1.concepts",[1288,1291,1294,1297,1300,1303,1306],{"title":260,"path":1289,"stem":1290,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":1292,"stem":1293,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":1295,"stem":1296,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":1298,"stem":1299,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":1301,"stem":1302,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":1304,"stem":1305,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":1307,"stem":1308,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":1310,"stem":1311,"children":1312,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F2.best-practices",[1313,1317,1321,1324],{"title":1314,"path":1315,"stem":1316,"titleTemplate":6},"Dev Containers","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1318,"path":1319,"stem":1320,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1322,"stem":1323,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1325,"stem":1326,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":1328,"stem":1329,"children":1330,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1331,1334],{"title":314,"path":1332,"stem":1333,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1335,"stem":1336,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":1338,"stem":1339,"children":1340,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1341,1344,1347,1350,1353,1356,1359,1362],{"title":329,"path":1342,"stem":1343,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1345,"stem":1346,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1348,"stem":1349,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1351,"stem":1352,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":1354,"stem":1355,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":1357,"stem":1358,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":1360,"stem":1361,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":1363,"stem":1364,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":1366,"stem":1367,"children":1368,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1369,1372,1375,1378],{"title":368,"path":1370,"stem":1371,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":1373,"stem":1374,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":1376,"stem":1377,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":1379,"stem":1380,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":1382,"stem":1383,"children":1384,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1385,1388,1391,1394,1397,1400,1403,1406,1409,1412,1416],{"title":391,"path":1386,"stem":1387,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":1389,"stem":1390,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":1392,"stem":1393,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":1395,"stem":1396,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":1398,"stem":1399,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":1401,"stem":1402,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":1404,"stem":1405,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":1407,"stem":1408,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":1410,"stem":1411,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1413,"path":1414,"stem":1415,"titleTemplate":6},"Creating a Builder","\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":1417,"stem":1418,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":1420,"stem":1421,"children":1422,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1423,1476,1583,1674,1726,1788,1798],{"title":438,"titleTemplate":439,"icon":324,"path":1424,"stem":1425,"children":1426,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1427,1430,1433,1436,1439,1442,1445,1448,1452,1455,1458,1461,1464,1467,1470,1473],{"title":444,"path":1428,"stem":1429,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":1431,"stem":1432,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":1434,"stem":1435,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":1437,"stem":1438,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":1440,"stem":1441,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":1443,"stem":1444,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":1446,"stem":1447,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1449,"path":1450,"stem":1451,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":1453,"stem":1454,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":1456,"stem":1457,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":1459,"stem":1460,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":1462,"stem":1463,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":1465,"stem":1466,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":1468,"stem":1469,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":1471,"stem":1472,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":1474,"stem":1475,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F4.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":1477,"stem":1478,"children":1479,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1480,1484,1488,1491,1495,1498,1501,1504,1507,1510,1513,1516,1519,1523,1526,1529,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568,1571,1574,1577,1580],{"title":1481,"path":1482,"stem":1483,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1485,"path":1486,"stem":1487,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":1489,"stem":1490,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1492,"path":1493,"stem":1494,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":1496,"stem":1497,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":1499,"stem":1500,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":1502,"stem":1503,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":1505,"stem":1506,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":1508,"stem":1509,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":1511,"stem":1512,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":1514,"stem":1515,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":1517,"stem":1518,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1520,"path":1521,"stem":1522,"titleTemplate":6},"useLayout","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":1524,"stem":1525,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":1527,"stem":1528,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":1530,"stem":1531,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":1533,"stem":1534,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":1536,"stem":1537,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":1539,"stem":1540,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":1542,"stem":1543,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":1545,"stem":1546,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":1548,"stem":1549,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":1551,"stem":1552,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":1554,"stem":1555,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":1557,"stem":1558,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":1560,"stem":1561,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":1563,"stem":1564,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":1566,"stem":1567,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":1569,"stem":1570,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":1572,"stem":1573,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":1575,"stem":1576,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":1578,"stem":1579,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":1581,"stem":1582,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":1584,"stem":1585,"children":1586,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[1587,1590,1593,1596,1599,1602,1605,1608,1611,1614,1617,1620,1623,1626,1629,1632,1635,1638,1641,1644,1647,1650,1653,1656,1659,1662,1665,1668,1671],{"title":634,"path":1588,"stem":1589,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":1591,"stem":1592,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":1594,"stem":1595,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":1597,"stem":1598,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":1600,"stem":1601,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":1603,"stem":1604,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":1606,"stem":1607,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":1609,"stem":1610,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":1612,"stem":1613,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":1615,"stem":1616,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":1618,"stem":1619,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":1621,"stem":1622,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":1624,"stem":1625,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":1627,"stem":1628,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":1630,"stem":1631,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":1633,"stem":1634,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":1636,"stem":1637,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":1639,"stem":1640,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":1642,"stem":1643,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":1645,"stem":1646,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":1648,"stem":1649,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":1651,"stem":1652,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":1654,"stem":1655,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":1657,"stem":1658,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":1660,"stem":1661,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":1663,"stem":1664,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":1666,"stem":1667,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":1669,"stem":1670,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":1672,"stem":1673,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":1675,"stem":1676,"children":1677,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711,1714,1717,1720,1723],{"title":757,"path":1679,"stem":1680,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":1682,"stem":1683,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":1685,"stem":1686,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":1688,"stem":1689,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":1691,"stem":1692,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":1694,"stem":1695,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":1697,"stem":1698,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":1700,"stem":1701,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":1703,"stem":1704,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":1706,"stem":1707,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":1709,"stem":1710,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":1712,"stem":1713,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":1715,"stem":1716,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":1718,"stem":1719,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":1721,"stem":1722,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":1724,"stem":1725,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":1727,"stem":1728,"children":1729,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1730,1733,1736,1739,1743,1746,1749,1752,1755,1758,1761,1764,1767,1770,1773,1776,1779,1782,1785],{"title":276,"path":1731,"stem":1732,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":1734,"stem":1735,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":1737,"stem":1738,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1740,"path":1741,"stem":1742,"titleTemplate":6},"App Config","\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":837,"path":1744,"stem":1745,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":841,"path":1747,"stem":1748,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":845,"path":1750,"stem":1751,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":849,"path":1753,"stem":1754,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":853,"path":1756,"stem":1757,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":1759,"stem":1760,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":860,"path":1762,"stem":1763,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":1765,"stem":1766,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1768,"stem":1769,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":1771,"stem":1772,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":1774,"stem":1775,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":1777,"stem":1778,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":1780,"stem":1781,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":1783,"stem":1784,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":1786,"stem":1787,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":1789,"stem":1790,"children":1791,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1792,1795],{"title":411,"path":1793,"stem":1794,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":1796,"stem":1797,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":1799,"stem":1800,"titleTemplate":910,"icon":32},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config","docs\u002F4.x\u002F4.api\u002F6.nuxt-config",{"title":853,"titleTemplate":912,"icon":913,"path":1802,"stem":1803,"children":1804,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1805,1808,1827,1840,1871],{"title":918,"path":1806,"stem":1807,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":1809,"stem":1810,"children":1811,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1812,1815,1818,1821,1824],{"title":926,"path":1813,"stem":1814,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1816,"stem":1817,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1819,"stem":1820,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":1822,"stem":1823,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":1825,"stem":1826,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1828,"stem":1829,"children":1830,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1831,1834,1837],{"title":948,"path":1832,"stem":1833,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":1835,"stem":1836,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":1838,"stem":1839,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":1841,"stem":1842,"children":1843,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1844,1847,1850,1853,1856,1859,1862,1865,1868],{"title":84,"path":1845,"stem":1846,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1848,"stem":1849,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":1851,"stem":1852,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":1854,"stem":1855,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":1857,"stem":1858,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":1860,"stem":1861,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1863,"stem":1864,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":1866,"stem":1867,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":1869,"stem":1870,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":1872,"stem":1873,"children":1874,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1875],{"title":1000,"path":1876,"stem":1877,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1879,"stem":1880,"children":1881,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1882,1885,1888,1891,1894,1897],{"title":1011,"path":1883,"stem":1884,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":1886,"stem":1887,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":1889,"stem":1890,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1026,"path":1892,"stem":1893,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":1895,"stem":1896,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":1898,"stem":1899,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1901,"stem":1902,"children":1903,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1904,1907,1910,1913,1916,1919,1922,1925,1928,1931],{"title":1048,"path":1905,"stem":1906,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1908,"stem":1909,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1911,"stem":1912,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1914,"stem":1915,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1917,"stem":1918,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1920,"stem":1921,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1923,"stem":1924,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1926,"stem":1927,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1929,"stem":1930,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1932,"stem":1933,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1935,"stem":1936,"children":1937,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1938,1941,1944,1947,1950,1953,1956,1959,1962,1965,1968],{"title":1048,"path":1939,"stem":1940,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1942,"stem":1943,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1945,"stem":1946,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1948,"stem":1949,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1951,"stem":1952,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1954,"stem":1955,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1957,"stem":1958,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1960,"stem":1961,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1963,"stem":1964,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1966,"stem":1967,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1969,"stem":1970,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1972,"stem":1973,"children":1974,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[1975,2033,2123,2259,2635,2712,2734,2768],{"title":12,"titleTemplate":13,"icon":14,"path":1976,"stem":1977,"children":1978,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[1979,1982,1985,1988,1991,1994,1997,2000,2003,2006,2009,2012,2015,2018,2021,2024,2027,2030],{"title":19,"path":1980,"stem":1981,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1983,"stem":1984,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1986,"stem":1987,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1989,"stem":1990,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1992,"stem":1993,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1995,"stem":1996,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1998,"stem":1999,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":2001,"stem":2002,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":2004,"stem":2005,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":2007,"stem":2008,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":2010,"stem":2011,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":2013,"stem":2014,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":2016,"stem":2017,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":2019,"stem":2020,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":2022,"stem":2023,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2025,"stem":2026,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2028,"stem":2029,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2031,"stem":2032,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fupgrade","docs\u002F5.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":2034,"stem":2035,"children":2036,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2037,2040,2043,2081,2084,2087,2090,2093,2096,2099,2102,2105,2108,2111,2114,2117,2120],{"title":117,"path":2038,"stem":2039,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2041,"stem":2042,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":2044,"defaultOpen":1200,"icon":1201,"path":2045,"stem":2046,"children":2047,"page":108},{"title":1199},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2048,2051,2054,2057,2060,2063,2066,2069,2072,2075,2078],{"title":127,"path":2049,"stem":2050,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2052,"stem":2053,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2055,"stem":2056,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2058,"stem":2059,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2061,"stem":2062,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2064,"stem":2065,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2067,"stem":2068,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2070,"stem":2071,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2073,"stem":2074,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2076,"stem":2077,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":2079,"stem":2080,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2082,"stem":2083,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2085,"stem":2086,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2088,"stem":2089,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2091,"stem":2092,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2094,"stem":2095,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2097,"stem":2098,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2100,"stem":2101,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":2103,"stem":2104,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2106,"stem":2107,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2109,"stem":2110,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2112,"stem":2113,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2115,"stem":2116,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2118,"stem":2119,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2121,"stem":2122,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F5.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":2124,"stem":2125,"children":2126,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2127,2152,2168,2178,2206,2222],{"title":253,"titleTemplate":254,"icon":255,"path":2128,"stem":2129,"children":2130,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2131,2134,2137,2140,2143,2146,2149],{"title":260,"path":2132,"stem":2133,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2135,"stem":2136,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2138,"stem":2139,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2141,"stem":2142,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2144,"stem":2145,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":2147,"stem":2148,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2150,"stem":2151,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":2153,"stem":2154,"children":2155,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2156,2159,2162,2165],{"title":1314,"path":2157,"stem":2158,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1318,"path":2160,"stem":2161,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2163,"stem":2164,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2166,"stem":2167,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":2169,"stem":2170,"children":2171,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2172,2175],{"title":314,"path":2173,"stem":2174,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2176,"stem":2177,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":2179,"stem":2180,"children":2181,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2182,2185,2188,2191,2194,2197,2200,2203],{"title":329,"path":2183,"stem":2184,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2186,"stem":2187,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2189,"stem":2190,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2192,"stem":2193,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":2195,"stem":2196,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":2198,"stem":2199,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":2201,"stem":2202,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":2204,"stem":2205,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":2207,"stem":2208,"children":2209,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2210,2213,2216,2219],{"title":368,"path":2211,"stem":2212,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":2214,"stem":2215,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":2217,"stem":2218,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":2220,"stem":2221,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":2223,"stem":2224,"children":2225,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2226,2229,2232,2235,2238,2241,2244,2247,2250,2253,2256],{"title":391,"path":2227,"stem":2228,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":2230,"stem":2231,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":2233,"stem":2234,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":2236,"stem":2237,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":2239,"stem":2240,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":2242,"stem":2243,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":2245,"stem":2246,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":2248,"stem":2249,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":2251,"stem":2252,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1413,"path":2254,"stem":2255,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":2257,"stem":2258,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":2260,"stem":2261,"children":2262,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2263,2315,2418,2509,2561,2622,2632],{"title":438,"titleTemplate":439,"icon":324,"path":2264,"stem":2265,"children":2266,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2267,2270,2273,2276,2279,2282,2285,2288,2291,2294,2297,2300,2303,2306,2309,2312],{"title":444,"path":2268,"stem":2269,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":2271,"stem":2272,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":2274,"stem":2275,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":2277,"stem":2278,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":2280,"stem":2281,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":2283,"stem":2284,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":2286,"stem":2287,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1449,"path":2289,"stem":2290,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":2292,"stem":2293,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":2295,"stem":2296,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":2298,"stem":2299,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":2301,"stem":2302,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":2304,"stem":2305,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":2307,"stem":2308,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":2310,"stem":2311,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":2313,"stem":2314,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F5.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":2316,"stem":2317,"children":2318,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2319,2322,2325,2328,2331,2334,2337,2340,2343,2346,2349,2352,2355,2358,2361,2364,2367,2370,2373,2376,2379,2382,2385,2388,2391,2394,2397,2400,2403,2406,2409,2412,2415],{"title":1481,"path":2320,"stem":2321,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1485,"path":2323,"stem":2324,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":2326,"stem":2327,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1492,"path":2329,"stem":2330,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":2332,"stem":2333,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":2335,"stem":2336,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":2338,"stem":2339,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":2341,"stem":2342,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":2344,"stem":2345,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":2347,"stem":2348,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":2350,"stem":2351,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":2353,"stem":2354,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1520,"path":2356,"stem":2357,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":2359,"stem":2360,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":2362,"stem":2363,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":2365,"stem":2366,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":2368,"stem":2369,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":2371,"stem":2372,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":2374,"stem":2375,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":2377,"stem":2378,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":2380,"stem":2381,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":2383,"stem":2384,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":2386,"stem":2387,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":2389,"stem":2390,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":2392,"stem":2393,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":2395,"stem":2396,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":2398,"stem":2399,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":2401,"stem":2402,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":2404,"stem":2405,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":2407,"stem":2408,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":2410,"stem":2411,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":2413,"stem":2414,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":2416,"stem":2417,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":2419,"stem":2420,"children":2421,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2422,2425,2428,2431,2434,2437,2440,2443,2446,2449,2452,2455,2458,2461,2464,2467,2470,2473,2476,2479,2482,2485,2488,2491,2494,2497,2500,2503,2506],{"title":634,"path":2423,"stem":2424,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":2426,"stem":2427,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":2429,"stem":2430,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":2432,"stem":2433,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":2435,"stem":2436,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":2438,"stem":2439,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":2441,"stem":2442,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":2444,"stem":2445,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":2447,"stem":2448,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":2450,"stem":2451,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":2453,"stem":2454,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":2456,"stem":2457,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":2459,"stem":2460,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":2462,"stem":2463,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":2465,"stem":2466,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":2468,"stem":2469,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":2471,"stem":2472,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":2474,"stem":2475,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":2477,"stem":2478,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":2480,"stem":2481,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":2483,"stem":2484,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":2486,"stem":2487,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":2489,"stem":2490,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":2492,"stem":2493,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":2495,"stem":2496,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":2498,"stem":2499,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":2501,"stem":2502,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":2504,"stem":2505,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":2507,"stem":2508,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":2510,"stem":2511,"children":2512,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549,2552,2555,2558],{"title":757,"path":2514,"stem":2515,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":2517,"stem":2518,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":2520,"stem":2521,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":2523,"stem":2524,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":2526,"stem":2527,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":2529,"stem":2530,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":2532,"stem":2533,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":2535,"stem":2536,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":2538,"stem":2539,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":2541,"stem":2542,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":2544,"stem":2545,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":2547,"stem":2548,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":2550,"stem":2551,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":2553,"stem":2554,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":2556,"stem":2557,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":2559,"stem":2560,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":2562,"stem":2563,"children":2564,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2565,2568,2571,2574,2577,2580,2583,2586,2589,2592,2595,2598,2601,2604,2607,2610,2613,2616,2619],{"title":276,"path":2566,"stem":2567,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":2569,"stem":2570,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":2572,"stem":2573,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1740,"path":2575,"stem":2576,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":837,"path":2578,"stem":2579,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":841,"path":2581,"stem":2582,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":845,"path":2584,"stem":2585,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":849,"path":2587,"stem":2588,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":853,"path":2590,"stem":2591,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":2593,"stem":2594,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":860,"path":2596,"stem":2597,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":2599,"stem":2600,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2602,"stem":2603,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":2605,"stem":2606,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":2608,"stem":2609,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":2611,"stem":2612,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":2614,"stem":2615,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":2617,"stem":2618,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":2620,"stem":2621,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":2623,"stem":2624,"children":2625,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2626,2629],{"title":411,"path":2627,"stem":2628,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":2630,"stem":2631,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":2633,"stem":2634,"titleTemplate":910,"icon":32},"\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","docs\u002F5.x\u002F4.api\u002F6.nuxt-config",{"title":853,"titleTemplate":912,"icon":913,"path":2636,"stem":2637,"children":2638,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2639,2642,2661,2674,2705],{"title":918,"path":2640,"stem":2641,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":2643,"stem":2644,"children":2645,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2646,2649,2652,2655,2658],{"title":926,"path":2647,"stem":2648,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2650,"stem":2651,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2653,"stem":2654,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":2656,"stem":2657,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":2659,"stem":2660,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2662,"stem":2663,"children":2664,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2665,2668,2671],{"title":948,"path":2666,"stem":2667,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":2669,"stem":2670,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":2675,"stem":2676,"children":2677,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2678,2681,2684,2687,2690,2693,2696,2699,2702],{"title":84,"path":2679,"stem":2680,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2682,"stem":2683,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":2685,"stem":2686,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":2688,"stem":2689,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":2691,"stem":2692,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":2694,"stem":2695,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2697,"stem":2698,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":2700,"stem":2701,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":2703,"stem":2704,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":995,"path":2706,"stem":2707,"children":2708,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2709],{"title":1000,"path":2710,"stem":2711,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":2713,"stem":2714,"children":2715,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2716,2719,2722,2725,2728,2731],{"title":1011,"path":2717,"stem":2718,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":2720,"stem":2721,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":2723,"stem":2724,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1026,"path":2726,"stem":2727,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":2729,"stem":2730,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":2732,"stem":2733,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":2735,"stem":2736,"children":2737,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2738,2741,2744,2747,2750,2753,2756,2759,2762,2765],{"title":1048,"path":2739,"stem":2740,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2742,"stem":2743,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2745,"stem":2746,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":2748,"stem":2749,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":2751,"stem":2752,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":2754,"stem":2755,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":2757,"stem":2758,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":403,"path":2760,"stem":2761,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":2763,"stem":2764,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":2766,"stem":2767,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":2769,"stem":2770,"children":2771,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2772,2775,2778,2781,2784,2787,2790,2793,2796,2799,2802],{"title":1048,"path":2773,"stem":2774,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1092,"path":2776,"stem":2777,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2779,"stem":2780,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2782,"stem":2783,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2785,"stem":2786,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":2788,"stem":2789,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":2791,"stem":2792,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1062,"path":2794,"stem":2795,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":2797,"stem":2798,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":2800,"stem":2801,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2803,"stem":2804,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2806,"icon":2807,"path":2808,"stem":2809,"children":2810,"page":108},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2811,2815,2819,2823,2827,2831,2835,2839,2843,2847,2851,2855,2859,2863,2867,2871,2875,2879,2883,2887,2891,2895,2899,2903,2907,2911,2915,2919,2923,2927,2931,2935,2939,2943,2947,2951,2955,2959,2963,2967,2971,2975,2979,2983,2987,2991,2995,2999,3003,3007],{"title":2812,"path":2813,"stem":2814},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2816,"path":2817,"stem":2818},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2820,"path":2821,"stem":2822},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2824,"path":2825,"stem":2826},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2828,"path":2829,"stem":2830},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2832,"path":2833,"stem":2834},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2836,"path":2837,"stem":2838},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2840,"path":2841,"stem":2842},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2844,"path":2845,"stem":2846},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2848,"path":2849,"stem":2850},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2852,"path":2853,"stem":2854},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2856,"path":2857,"stem":2858},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2860,"path":2861,"stem":2862},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2864,"path":2865,"stem":2866},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2868,"path":2869,"stem":2870},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2872,"path":2873,"stem":2874},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2876,"path":2877,"stem":2878},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2880,"path":2881,"stem":2882},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2884,"path":2885,"stem":2886},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2888,"path":2889,"stem":2890},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2892,"path":2893,"stem":2894},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2896,"path":2897,"stem":2898},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2900,"path":2901,"stem":2902},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2904,"path":2905,"stem":2906},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2908,"path":2909,"stem":2910},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2912,"path":2913,"stem":2914},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2916,"path":2917,"stem":2918},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2920,"path":2921,"stem":2922},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2924,"path":2925,"stem":2926},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2928,"path":2929,"stem":2930},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2932,"path":2933,"stem":2934},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2936,"path":2937,"stem":2938},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2940,"path":2941,"stem":2942},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2944,"path":2945,"stem":2946},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2948,"path":2949,"stem":2950},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2952,"path":2953,"stem":2954},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2956,"path":2957,"stem":2958},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2960,"path":2961,"stem":2962},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2964,"path":2965,"stem":2966},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2968,"path":2969,"stem":2970},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2972,"path":2973,"stem":2974},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2976,"path":2977,"stem":2978},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2980,"path":2981,"stem":2982},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2984,"path":2985,"stem":2986},"Nuxt 4.5","\u002Fblog\u002Fv4-5","blog\u002F46.v4-5",{"title":2988,"path":2989,"stem":2990},"Nuxt Security Patch Releases","\u002Fblog\u002Fv4-5-security","blog\u002F47.v4-5-security",{"title":2992,"path":2993,"stem":2994},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2996,"path":2997,"stem":2998},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":3000,"path":3001,"stem":3002},"Understanding how fetch works in Nuxt 2.12","\u002Fblog\u002Funderstanding-how-fetch-works-in-nuxt-2-12","blog\u002F7.understanding-how-fetch-works-in-nuxt-2-12",{"title":3004,"path":3005,"stem":3006},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":3008,"path":3009,"stem":3010},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"v5":3012,"v4":3013,"v3":3014,"v2":3015},"5 (nightly)","4.5.1","3.21.10","2.18.1",{"name":3017,"description":3018,"repo":3019,"npm":3020,"icon":3021,"github":3022,"website":3022,"learn_more":3023,"category":3024,"type":3025,"maintainers":3026,"compatibility":3032,"generatedAt":3035,"contributors":3036,"stats":3056,"readme":3064},"authorization","Manage permissions inside the app and the server.","barbapapazes\u002Fnuxt-authorization","nuxt-authorization","","https:\u002F\u002Fgithub.com\u002Fbarbapapazes\u002Fnuxt-authorization","https:\u002F\u002Fsoubiran.dev\u002Fposts\u002Fnuxt-going-full-stack-how-to-handle-authorization","Security","3rd-party",[3027],{"name":3028,"github":3029,"twitter":3030,"bluesky":3031},"Estéban","barbapapazes","soubiran_","soubiran.dev",{"nuxt":3033,"requires":3034},">=3.0.0",{},"2026-07-28T06:41:50.525Z",[3037,3041,3045,3049,3052],{"id":3038,"username":3039,"contributions":3040},45267552,"Barbapapazes",60,{"id":3042,"username":3043,"contributions":3044},41266342,"zAlweNy26",3,{"id":3046,"username":3047,"contributions":3048},7252657,"maartenvanhunsel",2,{"id":3050,"username":3051,"contributions":3048},343392,"madc",{"id":3053,"username":3054,"contributions":3055},5769861,"stanislav-janu",1,{"version":3057,"downloads":3058,"stars":3059,"watchers":3044,"forks":3060,"defaultBranch":3061,"publishedAt":3062,"createdAt":3063},"0.3.5",16755,360,13,"main",1752673833614,1718198976583,{"data":3065,"body":3067,"toc":7107},{"title":3066,"description":3021},"Nuxt Authorization",{"type":3068,"children":3069},"root",[3070,3077,3132,3137,3146,3161,3174,3180,3210,3216,3221,3263,3268,3274,3286,3293,3298,3311,3569,3582,3594,3823,3846,3864,3869,3882,3894,3899,4120,4125,4401,4406,4412,4439,4444,4457,4651,4696,4701,4800,4805,4811,4852,4864,4918,4926,4984,4995,5055,5062,5127,5138,5185,5192,5230,5235,5447,5488,5508,5525,5531,5536,5754,5765,5778,5967,6001,6193,6206,6333,6338,6408,6413,6451,6457,6476,6813,6818,7067,7073,7087,7092,7101],{"type":3071,"tag":3072,"props":3073,"children":3074},"element","h1",{"id":3020},[3075],{"type":3076,"value":3066},"text",{"type":3071,"tag":3078,"props":3079,"children":3080},"p",{},[3081,3094,3103,3112,3122],{"type":3071,"tag":3082,"props":3083,"children":3087},"a",{"href":3084,"rel":3085},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-authorization",[3086],"nofollow",[3088],{"type":3071,"tag":3089,"props":3090,"children":3093},"img",{"alt":3091,"src":3092},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-authorization\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3071,"tag":3082,"props":3095,"children":3097},{"href":3084,"rel":3096},[3086],[3098],{"type":3071,"tag":3089,"props":3099,"children":3102},{"alt":3100,"src":3101},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3071,"tag":3082,"props":3104,"children":3106},{"href":3084,"rel":3105},[3086],[3107],{"type":3071,"tag":3089,"props":3108,"children":3111},{"alt":3109,"src":3110},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3071,"tag":3082,"props":3113,"children":3116},{"href":3114,"rel":3115},"https:\u002F\u002Fnuxt.com",[3086],[3117],{"type":3071,"tag":3089,"props":3118,"children":3121},{"alt":3119,"src":3120},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":3071,"tag":3082,"props":3123,"children":3126},{"href":3124,"rel":3125},"https:\u002F\u002Fpkg.pr.new\u002F~\u002FBarbapapazes\u002Fnuxt-authorization",[3086],[3127],{"type":3071,"tag":3089,"props":3128,"children":3131},{"alt":3129,"src":3130},"pkg.pr.new","https:\u002F\u002Fpkg.pr.new\u002Fbadge\u002FBarbapapazes\u002Fnuxt-authorization",[],{"type":3071,"tag":3078,"props":3133,"children":3134},{},[3135],{"type":3076,"value":3136},"Handle authorization with ease in both Nuxt and Nitro.",{"type":3071,"tag":3078,"props":3138,"children":3139},{},[3140],{"type":3071,"tag":3141,"props":3142,"children":3143},"em",{},[3144],{"type":3076,"value":3145},"This module does not implement ACL or RBAC. It provides low-level primitives that you can use to implement your own authorization logic.",{"type":3071,"tag":3147,"props":3148,"children":3149},"blockquote",{},[3150],{"type":3071,"tag":3078,"props":3151,"children":3152},{},[3153,3159],{"type":3071,"tag":3154,"props":3155,"children":3156},"span",{},[3157],{"type":3076,"value":3158},"!NOTE",{"type":3076,"value":3160},"\nIn the future, this module could be available as a Nitro module and a Nuxt module, but Nitro module are not yet ready.",{"type":3071,"tag":3078,"props":3162,"children":3163},{},[3164,3166,3172],{"type":3076,"value":3165},"To learn more about this module and which problem it solves, checkout my blog post about ",{"type":3071,"tag":3082,"props":3167,"children":3169},{"href":3023,"rel":3168},[3086],[3170],{"type":3076,"value":3171},"Authorization in Nuxt",{"type":3076,"value":3173},".",{"type":3071,"tag":3175,"props":3176,"children":3178},"h2",{"id":3177},"features",[3179],{"type":3076,"value":399},{"type":3071,"tag":3181,"props":3182,"children":3183},"ul",{},[3184,3190,3195,3200,3205],{"type":3071,"tag":3185,"props":3186,"children":3187},"li",{},[3188],{"type":3076,"value":3189},"⛰  Works on both the client (Nuxt) and the server (Nitro)",{"type":3071,"tag":3185,"props":3191,"children":3192},{},[3193],{"type":3076,"value":3194},"🌟  Write abilities once and use them everywhere",{"type":3071,"tag":3185,"props":3196,"children":3197},{},[3198],{"type":3076,"value":3199},"👨‍👩‍👧‍👦  Agnostic of the authentication layer",{"type":3071,"tag":3185,"props":3201,"children":3202},{},[3203],{"type":3076,"value":3204},"🫸  Use components to conditionally show part of the UI",{"type":3071,"tag":3185,"props":3206,"children":3207},{},[3208],{"type":3076,"value":3209},"💧  Primitives are can be accessed for a full customization",{"type":3071,"tag":3175,"props":3211,"children":3213},{"id":3212},"quick-setup",[3214],{"type":3076,"value":3215},"Quick Setup",{"type":3071,"tag":3078,"props":3217,"children":3218},{},[3219],{"type":3076,"value":3220},"Install the module to your Nuxt application with one command:",{"type":3071,"tag":3222,"props":3223,"children":3227},"pre",{"className":3224,"code":3225,"language":3226,"meta":3021,"style":3021},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-authorization\n","bash",[3228],{"type":3071,"tag":3229,"props":3230,"children":3231},"code",{"__ignoreMap":3021},[3232],{"type":3071,"tag":3154,"props":3233,"children":3235},{"class":3234,"line":3055},"line",[3236,3242,3248,3253,3258],{"type":3071,"tag":3154,"props":3237,"children":3239},{"style":3238},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3240],{"type":3076,"value":3241},"npx",{"type":3071,"tag":3154,"props":3243,"children":3245},{"style":3244},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3246],{"type":3076,"value":3247}," nuxi",{"type":3071,"tag":3154,"props":3249,"children":3250},{"style":3244},[3251],{"type":3076,"value":3252}," module",{"type":3071,"tag":3154,"props":3254,"children":3255},{"style":3244},[3256],{"type":3076,"value":3257}," add",{"type":3071,"tag":3154,"props":3259,"children":3260},{"style":3244},[3261],{"type":3076,"value":3262}," nuxt-authorization\n",{"type":3071,"tag":3078,"props":3264,"children":3265},{},[3266],{"type":3076,"value":3267},"That's it! You can now use the module in your Nuxt app ✨",{"type":3071,"tag":3175,"props":3269,"children":3271},{"id":3270},"documentation",[3272],{"type":3076,"value":3273},"Documentation",{"type":3071,"tag":3147,"props":3275,"children":3276},{},[3277],{"type":3071,"tag":3078,"props":3278,"children":3279},{},[3280,3284],{"type":3071,"tag":3154,"props":3281,"children":3282},{},[3283],{"type":3076,"value":3158},{"type":3076,"value":3285},"\nYou can take a look at the playground to see the module in action.",{"type":3071,"tag":3287,"props":3288,"children":3290},"h3",{"id":3289},"setup",[3291],{"type":3076,"value":3292},"Setup",{"type":3071,"tag":3078,"props":3294,"children":3295},{},[3296],{"type":3076,"value":3297},"Before using the module and defining your first ability, you need to provide 2 resolvers. These functions are used internally to retrieve the user but you must implement them. This allows the module to be agnostic of the authentication layer.",{"type":3071,"tag":3078,"props":3299,"children":3300},{},[3301,3303,3309],{"type":3076,"value":3302},"For the Nuxt app, create a new plugin in ",{"type":3071,"tag":3229,"props":3304,"children":3306},{"className":3305},[],[3307],{"type":3076,"value":3308},"plugins\u002Fauthorization-resolver.ts",{"type":3076,"value":3310},":",{"type":3071,"tag":3222,"props":3312,"children":3316},{"className":3313,"code":3314,"language":3315,"meta":3021,"style":3021},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtPlugin({\n  name: 'authorization-resolver',\n  parallel: true,\n  setup() {\n    return {\n      provide: {\n        authorization: {\n          resolveClientUser: () => {\n            \u002F\u002F Your logic to retrieve the user from the client\n          },\n        },\n      },\n    }\n  },\n})\n","ts",[3317],{"type":3071,"tag":3229,"props":3318,"children":3319},{"__ignoreMap":3021},[3320,3352,3385,3407,3426,3439,3456,3473,3501,3511,3520,3529,3538,3546,3555],{"type":3071,"tag":3154,"props":3321,"children":3322},{"class":3234,"line":3055},[3323,3329,3334,3340,3346],{"type":3071,"tag":3154,"props":3324,"children":3326},{"style":3325},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3327],{"type":3076,"value":3328},"export",{"type":3071,"tag":3154,"props":3330,"children":3331},{"style":3325},[3332],{"type":3076,"value":3333}," default",{"type":3071,"tag":3154,"props":3335,"children":3337},{"style":3336},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3338],{"type":3076,"value":3339}," defineNuxtPlugin",{"type":3071,"tag":3154,"props":3341,"children":3343},{"style":3342},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3344],{"type":3076,"value":3345},"(",{"type":3071,"tag":3154,"props":3347,"children":3349},{"style":3348},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3350],{"type":3076,"value":3351},"{\n",{"type":3071,"tag":3154,"props":3353,"children":3354},{"class":3234,"line":3048},[3355,3361,3365,3370,3375,3380],{"type":3071,"tag":3154,"props":3356,"children":3358},{"style":3357},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3359],{"type":3076,"value":3360},"  name",{"type":3071,"tag":3154,"props":3362,"children":3363},{"style":3348},[3364],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3366,"children":3367},{"style":3348},[3368],{"type":3076,"value":3369}," '",{"type":3071,"tag":3154,"props":3371,"children":3372},{"style":3244},[3373],{"type":3076,"value":3374},"authorization-resolver",{"type":3071,"tag":3154,"props":3376,"children":3377},{"style":3348},[3378],{"type":3076,"value":3379},"'",{"type":3071,"tag":3154,"props":3381,"children":3382},{"style":3348},[3383],{"type":3076,"value":3384},",\n",{"type":3071,"tag":3154,"props":3386,"children":3387},{"class":3234,"line":3044},[3388,3393,3397,3403],{"type":3071,"tag":3154,"props":3389,"children":3390},{"style":3357},[3391],{"type":3076,"value":3392},"  parallel",{"type":3071,"tag":3154,"props":3394,"children":3395},{"style":3348},[3396],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3398,"children":3400},{"style":3399},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[3401],{"type":3076,"value":3402}," true",{"type":3071,"tag":3154,"props":3404,"children":3405},{"style":3348},[3406],{"type":3076,"value":3384},{"type":3071,"tag":3154,"props":3408,"children":3410},{"class":3234,"line":3409},4,[3411,3416,3421],{"type":3071,"tag":3154,"props":3412,"children":3413},{"style":3357},[3414],{"type":3076,"value":3415},"  setup",{"type":3071,"tag":3154,"props":3417,"children":3418},{"style":3348},[3419],{"type":3076,"value":3420},"()",{"type":3071,"tag":3154,"props":3422,"children":3423},{"style":3348},[3424],{"type":3076,"value":3425}," {\n",{"type":3071,"tag":3154,"props":3427,"children":3429},{"class":3234,"line":3428},5,[3430,3435],{"type":3071,"tag":3154,"props":3431,"children":3432},{"style":3325},[3433],{"type":3076,"value":3434},"    return",{"type":3071,"tag":3154,"props":3436,"children":3437},{"style":3348},[3438],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3440,"children":3442},{"class":3234,"line":3441},6,[3443,3448,3452],{"type":3071,"tag":3154,"props":3444,"children":3445},{"style":3357},[3446],{"type":3076,"value":3447},"      provide",{"type":3071,"tag":3154,"props":3449,"children":3450},{"style":3348},[3451],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3453,"children":3454},{"style":3348},[3455],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3457,"children":3459},{"class":3234,"line":3458},7,[3460,3465,3469],{"type":3071,"tag":3154,"props":3461,"children":3462},{"style":3357},[3463],{"type":3076,"value":3464},"        authorization",{"type":3071,"tag":3154,"props":3466,"children":3467},{"style":3348},[3468],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3470,"children":3471},{"style":3348},[3472],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3474,"children":3476},{"class":3234,"line":3475},8,[3477,3482,3486,3491,3497],{"type":3071,"tag":3154,"props":3478,"children":3479},{"style":3336},[3480],{"type":3076,"value":3481},"          resolveClientUser",{"type":3071,"tag":3154,"props":3483,"children":3484},{"style":3348},[3485],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3487,"children":3488},{"style":3348},[3489],{"type":3076,"value":3490}," ()",{"type":3071,"tag":3154,"props":3492,"children":3494},{"style":3493},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3495],{"type":3076,"value":3496}," =>",{"type":3071,"tag":3154,"props":3498,"children":3499},{"style":3348},[3500],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3502,"children":3504},{"class":3234,"line":3503},9,[3505],{"type":3071,"tag":3154,"props":3506,"children":3508},{"style":3507},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3509],{"type":3076,"value":3510},"            \u002F\u002F Your logic to retrieve the user from the client\n",{"type":3071,"tag":3154,"props":3512,"children":3514},{"class":3234,"line":3513},10,[3515],{"type":3071,"tag":3154,"props":3516,"children":3517},{"style":3348},[3518],{"type":3076,"value":3519},"          },\n",{"type":3071,"tag":3154,"props":3521,"children":3523},{"class":3234,"line":3522},11,[3524],{"type":3071,"tag":3154,"props":3525,"children":3526},{"style":3348},[3527],{"type":3076,"value":3528},"        },\n",{"type":3071,"tag":3154,"props":3530,"children":3532},{"class":3234,"line":3531},12,[3533],{"type":3071,"tag":3154,"props":3534,"children":3535},{"style":3348},[3536],{"type":3076,"value":3537},"      },\n",{"type":3071,"tag":3154,"props":3539,"children":3540},{"class":3234,"line":3060},[3541],{"type":3071,"tag":3154,"props":3542,"children":3543},{"style":3348},[3544],{"type":3076,"value":3545},"    }\n",{"type":3071,"tag":3154,"props":3547,"children":3549},{"class":3234,"line":3548},14,[3550],{"type":3071,"tag":3154,"props":3551,"children":3552},{"style":3348},[3553],{"type":3076,"value":3554},"  },\n",{"type":3071,"tag":3154,"props":3556,"children":3558},{"class":3234,"line":3557},15,[3559,3564],{"type":3071,"tag":3154,"props":3560,"children":3561},{"style":3348},[3562],{"type":3076,"value":3563},"}",{"type":3071,"tag":3154,"props":3565,"children":3566},{"style":3342},[3567],{"type":3076,"value":3568},")\n",{"type":3071,"tag":3078,"props":3570,"children":3571},{},[3572,3574,3580],{"type":3076,"value":3573},"This function is called every time you check for authorization on the client. It should return the user object or ",{"type":3071,"tag":3229,"props":3575,"children":3577},{"className":3576},[],[3578],{"type":3076,"value":3579},"null",{"type":3076,"value":3581}," if the user is not authenticated. It can by async.",{"type":3071,"tag":3078,"props":3583,"children":3584},{},[3585,3587,3593],{"type":3076,"value":3586},"For the Nitro server, create a new plugin in ",{"type":3071,"tag":3229,"props":3588,"children":3590},{"className":3589},[],[3591],{"type":3076,"value":3592},"server\u002Fplugins\u002Fauthorization-resolver.ts",{"type":3076,"value":3310},{"type":3071,"tag":3222,"props":3595,"children":3597},{"className":3313,"code":3596,"language":3315,"meta":3021,"style":3021},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('request', async (event) => {\n    event.context.$authorization = {\n      resolveServerUser: () => {\n        \u002F\u002F Your logic to retrieve the user from the server\n      },\n    }\n  })\n})\n",[3598],{"type":3071,"tag":3229,"props":3599,"children":3600},{"__ignoreMap":3021},[3601,3644,3719,3754,3778,3786,3793,3800,3812],{"type":3071,"tag":3154,"props":3602,"children":3603},{"class":3234,"line":3055},[3604,3608,3612,3617,3621,3625,3631,3636,3640],{"type":3071,"tag":3154,"props":3605,"children":3606},{"style":3325},[3607],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":3609,"children":3610},{"style":3325},[3611],{"type":3076,"value":3333},{"type":3071,"tag":3154,"props":3613,"children":3614},{"style":3336},[3615],{"type":3076,"value":3616}," defineNitroPlugin",{"type":3071,"tag":3154,"props":3618,"children":3619},{"style":3342},[3620],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":3622,"children":3623},{"style":3348},[3624],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":3626,"children":3628},{"style":3627},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3629],{"type":3076,"value":3630},"nitroApp",{"type":3071,"tag":3154,"props":3632,"children":3633},{"style":3348},[3634],{"type":3076,"value":3635},")",{"type":3071,"tag":3154,"props":3637,"children":3638},{"style":3493},[3639],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":3641,"children":3642},{"style":3348},[3643],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3645,"children":3646},{"class":3234,"line":3048},[3647,3652,3656,3661,3665,3670,3674,3678,3683,3687,3692,3697,3702,3707,3711,3715],{"type":3071,"tag":3154,"props":3648,"children":3649},{"style":3342},[3650],{"type":3076,"value":3651},"  nitroApp",{"type":3071,"tag":3154,"props":3653,"children":3654},{"style":3348},[3655],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":3657,"children":3658},{"style":3342},[3659],{"type":3076,"value":3660},"hooks",{"type":3071,"tag":3154,"props":3662,"children":3663},{"style":3348},[3664],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":3666,"children":3667},{"style":3336},[3668],{"type":3076,"value":3669},"hook",{"type":3071,"tag":3154,"props":3671,"children":3672},{"style":3357},[3673],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":3675,"children":3676},{"style":3348},[3677],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":3679,"children":3680},{"style":3244},[3681],{"type":3076,"value":3682},"request",{"type":3071,"tag":3154,"props":3684,"children":3685},{"style":3348},[3686],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":3688,"children":3689},{"style":3348},[3690],{"type":3076,"value":3691},",",{"type":3071,"tag":3154,"props":3693,"children":3694},{"style":3493},[3695],{"type":3076,"value":3696}," async",{"type":3071,"tag":3154,"props":3698,"children":3699},{"style":3348},[3700],{"type":3076,"value":3701}," (",{"type":3071,"tag":3154,"props":3703,"children":3704},{"style":3627},[3705],{"type":3076,"value":3706},"event",{"type":3071,"tag":3154,"props":3708,"children":3709},{"style":3348},[3710],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":3712,"children":3713},{"style":3493},[3714],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":3716,"children":3717},{"style":3348},[3718],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3720,"children":3721},{"class":3234,"line":3044},[3722,3727,3731,3736,3740,3745,3750],{"type":3071,"tag":3154,"props":3723,"children":3724},{"style":3342},[3725],{"type":3076,"value":3726},"    event",{"type":3071,"tag":3154,"props":3728,"children":3729},{"style":3348},[3730],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":3732,"children":3733},{"style":3342},[3734],{"type":3076,"value":3735},"context",{"type":3071,"tag":3154,"props":3737,"children":3738},{"style":3348},[3739],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":3741,"children":3742},{"style":3342},[3743],{"type":3076,"value":3744},"$authorization",{"type":3071,"tag":3154,"props":3746,"children":3747},{"style":3348},[3748],{"type":3076,"value":3749}," =",{"type":3071,"tag":3154,"props":3751,"children":3752},{"style":3348},[3753],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3755,"children":3756},{"class":3234,"line":3409},[3757,3762,3766,3770,3774],{"type":3071,"tag":3154,"props":3758,"children":3759},{"style":3336},[3760],{"type":3076,"value":3761},"      resolveServerUser",{"type":3071,"tag":3154,"props":3763,"children":3764},{"style":3348},[3765],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3767,"children":3768},{"style":3348},[3769],{"type":3076,"value":3490},{"type":3071,"tag":3154,"props":3771,"children":3772},{"style":3493},[3773],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":3775,"children":3776},{"style":3348},[3777],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3779,"children":3780},{"class":3234,"line":3428},[3781],{"type":3071,"tag":3154,"props":3782,"children":3783},{"style":3507},[3784],{"type":3076,"value":3785},"        \u002F\u002F Your logic to retrieve the user from the server\n",{"type":3071,"tag":3154,"props":3787,"children":3788},{"class":3234,"line":3441},[3789],{"type":3071,"tag":3154,"props":3790,"children":3791},{"style":3348},[3792],{"type":3076,"value":3537},{"type":3071,"tag":3154,"props":3794,"children":3795},{"class":3234,"line":3458},[3796],{"type":3071,"tag":3154,"props":3797,"children":3798},{"style":3348},[3799],{"type":3076,"value":3545},{"type":3071,"tag":3154,"props":3801,"children":3802},{"class":3234,"line":3475},[3803,3808],{"type":3071,"tag":3154,"props":3804,"children":3805},{"style":3348},[3806],{"type":3076,"value":3807},"  }",{"type":3071,"tag":3154,"props":3809,"children":3810},{"style":3357},[3811],{"type":3076,"value":3568},{"type":3071,"tag":3154,"props":3813,"children":3814},{"class":3234,"line":3503},[3815,3819],{"type":3071,"tag":3154,"props":3816,"children":3817},{"style":3348},[3818],{"type":3076,"value":3563},{"type":3071,"tag":3154,"props":3820,"children":3821},{"style":3342},[3822],{"type":3076,"value":3568},{"type":3071,"tag":3147,"props":3824,"children":3825},{},[3826],{"type":3071,"tag":3078,"props":3827,"children":3828},{},[3829,3833,3835],{"type":3071,"tag":3154,"props":3830,"children":3831},{},[3832],{"type":3076,"value":3158},{"type":3076,"value":3834},"\nRead more about the ",{"type":3071,"tag":3082,"props":3836,"children":3839},{"href":3837,"rel":3838},"https:\u002F\u002Fh3.unjs.io\u002Fguide\u002Fevent#eventcontext",[3086],[3840],{"type":3071,"tag":3229,"props":3841,"children":3843},{"className":3842},[],[3844],{"type":3076,"value":3845},"event.context",{"type":3071,"tag":3078,"props":3847,"children":3848},{},[3849,3851,3856,3858,3863],{"type":3076,"value":3850},"This resolver is setup within the hook ",{"type":3071,"tag":3229,"props":3852,"children":3854},{"className":3853},[],[3855],{"type":3076,"value":3682},{"type":3076,"value":3857}," and receive the event. You can use it to retrieve the user from the session or the request. It should return the user object or ",{"type":3071,"tag":3229,"props":3859,"children":3861},{"className":3860},[],[3862],{"type":3076,"value":3579},{"type":3076,"value":3581},{"type":3071,"tag":3078,"props":3865,"children":3866},{},[3867],{"type":3076,"value":3868},"Generally, you use a plugin to fetch the user when the app starts and then store it. Resolver functions should only return the stored user and not fetch it again (otherwise, you could have severe performance issues).",{"type":3071,"tag":3870,"props":3871,"children":3873},"h4",{"id":3872},"example-with-nuxt-auth-utils",[3874,3876],{"type":3076,"value":3875},"Example with ",{"type":3071,"tag":3229,"props":3877,"children":3879},{"className":3878},[],[3880],{"type":3076,"value":3881},"nuxt-auth-utils",{"type":3071,"tag":3078,"props":3883,"children":3884},{},[3885,3887,3892],{"type":3076,"value":3886},"The module ",{"type":3071,"tag":3229,"props":3888,"children":3890},{"className":3889},[],[3891],{"type":3076,"value":3881},{"type":3076,"value":3893}," provides an authentication layer for Nuxt. If you use this module, you can use the following resolvers:",{"type":3071,"tag":3078,"props":3895,"children":3896},{},[3897],{"type":3076,"value":3898},"Nuxt plugin:",{"type":3071,"tag":3222,"props":3900,"children":3902},{"className":3313,"code":3901,"language":3315,"meta":3021,"style":3021},"export default defineNuxtPlugin({\n  name: 'authorization-resolver',\n  parallel: true,\n  setup() {\n    return {\n      provide: {\n        authorization: {\n          resolveClientUser: () => useUserSession().user.value,\n        },\n      },\n    }\n  },\n})\n",[3903],{"type":3071,"tag":3229,"props":3904,"children":3905},{"__ignoreMap":3021},[3906,3929,3956,3975,3990,4001,4016,4031,4081,4088,4095,4102,4109],{"type":3071,"tag":3154,"props":3907,"children":3908},{"class":3234,"line":3055},[3909,3913,3917,3921,3925],{"type":3071,"tag":3154,"props":3910,"children":3911},{"style":3325},[3912],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":3914,"children":3915},{"style":3325},[3916],{"type":3076,"value":3333},{"type":3071,"tag":3154,"props":3918,"children":3919},{"style":3336},[3920],{"type":3076,"value":3339},{"type":3071,"tag":3154,"props":3922,"children":3923},{"style":3342},[3924],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":3926,"children":3927},{"style":3348},[3928],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":3930,"children":3931},{"class":3234,"line":3048},[3932,3936,3940,3944,3948,3952],{"type":3071,"tag":3154,"props":3933,"children":3934},{"style":3357},[3935],{"type":3076,"value":3360},{"type":3071,"tag":3154,"props":3937,"children":3938},{"style":3348},[3939],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3941,"children":3942},{"style":3348},[3943],{"type":3076,"value":3369},{"type":3071,"tag":3154,"props":3945,"children":3946},{"style":3244},[3947],{"type":3076,"value":3374},{"type":3071,"tag":3154,"props":3949,"children":3950},{"style":3348},[3951],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":3953,"children":3954},{"style":3348},[3955],{"type":3076,"value":3384},{"type":3071,"tag":3154,"props":3957,"children":3958},{"class":3234,"line":3044},[3959,3963,3967,3971],{"type":3071,"tag":3154,"props":3960,"children":3961},{"style":3357},[3962],{"type":3076,"value":3392},{"type":3071,"tag":3154,"props":3964,"children":3965},{"style":3348},[3966],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":3968,"children":3969},{"style":3399},[3970],{"type":3076,"value":3402},{"type":3071,"tag":3154,"props":3972,"children":3973},{"style":3348},[3974],{"type":3076,"value":3384},{"type":3071,"tag":3154,"props":3976,"children":3977},{"class":3234,"line":3409},[3978,3982,3986],{"type":3071,"tag":3154,"props":3979,"children":3980},{"style":3357},[3981],{"type":3076,"value":3415},{"type":3071,"tag":3154,"props":3983,"children":3984},{"style":3348},[3985],{"type":3076,"value":3420},{"type":3071,"tag":3154,"props":3987,"children":3988},{"style":3348},[3989],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":3991,"children":3992},{"class":3234,"line":3428},[3993,3997],{"type":3071,"tag":3154,"props":3994,"children":3995},{"style":3325},[3996],{"type":3076,"value":3434},{"type":3071,"tag":3154,"props":3998,"children":3999},{"style":3348},[4000],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4002,"children":4003},{"class":3234,"line":3441},[4004,4008,4012],{"type":3071,"tag":3154,"props":4005,"children":4006},{"style":3357},[4007],{"type":3076,"value":3447},{"type":3071,"tag":3154,"props":4009,"children":4010},{"style":3348},[4011],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4013,"children":4014},{"style":3348},[4015],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4017,"children":4018},{"class":3234,"line":3458},[4019,4023,4027],{"type":3071,"tag":3154,"props":4020,"children":4021},{"style":3357},[4022],{"type":3076,"value":3464},{"type":3071,"tag":3154,"props":4024,"children":4025},{"style":3348},[4026],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4028,"children":4029},{"style":3348},[4030],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4032,"children":4033},{"class":3234,"line":3475},[4034,4038,4042,4046,4050,4055,4059,4063,4068,4072,4077],{"type":3071,"tag":3154,"props":4035,"children":4036},{"style":3336},[4037],{"type":3076,"value":3481},{"type":3071,"tag":3154,"props":4039,"children":4040},{"style":3348},[4041],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4043,"children":4044},{"style":3348},[4045],{"type":3076,"value":3490},{"type":3071,"tag":3154,"props":4047,"children":4048},{"style":3493},[4049],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4051,"children":4052},{"style":3336},[4053],{"type":3076,"value":4054}," useUserSession",{"type":3071,"tag":3154,"props":4056,"children":4057},{"style":3357},[4058],{"type":3076,"value":3420},{"type":3071,"tag":3154,"props":4060,"children":4061},{"style":3348},[4062],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4064,"children":4065},{"style":3342},[4066],{"type":3076,"value":4067},"user",{"type":3071,"tag":3154,"props":4069,"children":4070},{"style":3348},[4071],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4073,"children":4074},{"style":3342},[4075],{"type":3076,"value":4076},"value",{"type":3071,"tag":3154,"props":4078,"children":4079},{"style":3348},[4080],{"type":3076,"value":3384},{"type":3071,"tag":3154,"props":4082,"children":4083},{"class":3234,"line":3503},[4084],{"type":3071,"tag":3154,"props":4085,"children":4086},{"style":3348},[4087],{"type":3076,"value":3528},{"type":3071,"tag":3154,"props":4089,"children":4090},{"class":3234,"line":3513},[4091],{"type":3071,"tag":3154,"props":4092,"children":4093},{"style":3348},[4094],{"type":3076,"value":3537},{"type":3071,"tag":3154,"props":4096,"children":4097},{"class":3234,"line":3522},[4098],{"type":3071,"tag":3154,"props":4099,"children":4100},{"style":3348},[4101],{"type":3076,"value":3545},{"type":3071,"tag":3154,"props":4103,"children":4104},{"class":3234,"line":3531},[4105],{"type":3071,"tag":3154,"props":4106,"children":4107},{"style":3348},[4108],{"type":3076,"value":3554},{"type":3071,"tag":3154,"props":4110,"children":4111},{"class":3234,"line":3060},[4112,4116],{"type":3071,"tag":3154,"props":4113,"children":4114},{"style":3348},[4115],{"type":3076,"value":3563},{"type":3071,"tag":3154,"props":4117,"children":4118},{"style":3342},[4119],{"type":3076,"value":3568},{"type":3071,"tag":3078,"props":4121,"children":4122},{},[4123],{"type":3076,"value":4124},"Nitro plugin:",{"type":3071,"tag":3222,"props":4126,"children":4128},{"className":3313,"code":4127,"language":3315,"meta":3021,"style":3021},"export default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook('request', async (event) => {\n    event.context.$authorization = {\n      resolveServerUser: async () => {\n        const session = await getUserSession(event)\n        return session.user ?? null\n      },\n    }\n  })\n})\n",[4129],{"type":3071,"tag":3229,"props":4130,"children":4131},{"__ignoreMap":3021},[4132,4171,4238,4269,4296,4335,4365,4372,4379,4390],{"type":3071,"tag":3154,"props":4133,"children":4134},{"class":3234,"line":3055},[4135,4139,4143,4147,4151,4155,4159,4163,4167],{"type":3071,"tag":3154,"props":4136,"children":4137},{"style":3325},[4138],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":4140,"children":4141},{"style":3325},[4142],{"type":3076,"value":3333},{"type":3071,"tag":3154,"props":4144,"children":4145},{"style":3336},[4146],{"type":3076,"value":3616},{"type":3071,"tag":3154,"props":4148,"children":4149},{"style":3342},[4150],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4152,"children":4153},{"style":3348},[4154],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4156,"children":4157},{"style":3627},[4158],{"type":3076,"value":3630},{"type":3071,"tag":3154,"props":4160,"children":4161},{"style":3348},[4162],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":4164,"children":4165},{"style":3493},[4166],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4168,"children":4169},{"style":3348},[4170],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4172,"children":4173},{"class":3234,"line":3048},[4174,4178,4182,4186,4190,4194,4198,4202,4206,4210,4214,4218,4222,4226,4230,4234],{"type":3071,"tag":3154,"props":4175,"children":4176},{"style":3342},[4177],{"type":3076,"value":3651},{"type":3071,"tag":3154,"props":4179,"children":4180},{"style":3348},[4181],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4183,"children":4184},{"style":3342},[4185],{"type":3076,"value":3660},{"type":3071,"tag":3154,"props":4187,"children":4188},{"style":3348},[4189],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4191,"children":4192},{"style":3336},[4193],{"type":3076,"value":3669},{"type":3071,"tag":3154,"props":4195,"children":4196},{"style":3357},[4197],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4199,"children":4200},{"style":3348},[4201],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":4203,"children":4204},{"style":3244},[4205],{"type":3076,"value":3682},{"type":3071,"tag":3154,"props":4207,"children":4208},{"style":3348},[4209],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":4211,"children":4212},{"style":3348},[4213],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":4215,"children":4216},{"style":3493},[4217],{"type":3076,"value":3696},{"type":3071,"tag":3154,"props":4219,"children":4220},{"style":3348},[4221],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":4223,"children":4224},{"style":3627},[4225],{"type":3076,"value":3706},{"type":3071,"tag":3154,"props":4227,"children":4228},{"style":3348},[4229],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":4231,"children":4232},{"style":3493},[4233],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4235,"children":4236},{"style":3348},[4237],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4239,"children":4240},{"class":3234,"line":3044},[4241,4245,4249,4253,4257,4261,4265],{"type":3071,"tag":3154,"props":4242,"children":4243},{"style":3342},[4244],{"type":3076,"value":3726},{"type":3071,"tag":3154,"props":4246,"children":4247},{"style":3348},[4248],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4250,"children":4251},{"style":3342},[4252],{"type":3076,"value":3735},{"type":3071,"tag":3154,"props":4254,"children":4255},{"style":3348},[4256],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4258,"children":4259},{"style":3342},[4260],{"type":3076,"value":3744},{"type":3071,"tag":3154,"props":4262,"children":4263},{"style":3348},[4264],{"type":3076,"value":3749},{"type":3071,"tag":3154,"props":4266,"children":4267},{"style":3348},[4268],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4270,"children":4271},{"class":3234,"line":3409},[4272,4276,4280,4284,4288,4292],{"type":3071,"tag":3154,"props":4273,"children":4274},{"style":3336},[4275],{"type":3076,"value":3761},{"type":3071,"tag":3154,"props":4277,"children":4278},{"style":3348},[4279],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4281,"children":4282},{"style":3493},[4283],{"type":3076,"value":3696},{"type":3071,"tag":3154,"props":4285,"children":4286},{"style":3348},[4287],{"type":3076,"value":3490},{"type":3071,"tag":3154,"props":4289,"children":4290},{"style":3493},[4291],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4293,"children":4294},{"style":3348},[4295],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4297,"children":4298},{"class":3234,"line":3428},[4299,4304,4309,4313,4318,4323,4327,4331],{"type":3071,"tag":3154,"props":4300,"children":4301},{"style":3493},[4302],{"type":3076,"value":4303},"        const",{"type":3071,"tag":3154,"props":4305,"children":4306},{"style":3342},[4307],{"type":3076,"value":4308}," session",{"type":3071,"tag":3154,"props":4310,"children":4311},{"style":3348},[4312],{"type":3076,"value":3749},{"type":3071,"tag":3154,"props":4314,"children":4315},{"style":3325},[4316],{"type":3076,"value":4317}," await",{"type":3071,"tag":3154,"props":4319,"children":4320},{"style":3336},[4321],{"type":3076,"value":4322}," getUserSession",{"type":3071,"tag":3154,"props":4324,"children":4325},{"style":3357},[4326],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4328,"children":4329},{"style":3342},[4330],{"type":3076,"value":3706},{"type":3071,"tag":3154,"props":4332,"children":4333},{"style":3357},[4334],{"type":3076,"value":3568},{"type":3071,"tag":3154,"props":4336,"children":4337},{"class":3234,"line":3441},[4338,4343,4347,4351,4355,4360],{"type":3071,"tag":3154,"props":4339,"children":4340},{"style":3325},[4341],{"type":3076,"value":4342},"        return",{"type":3071,"tag":3154,"props":4344,"children":4345},{"style":3342},[4346],{"type":3076,"value":4308},{"type":3071,"tag":3154,"props":4348,"children":4349},{"style":3348},[4350],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4352,"children":4353},{"style":3342},[4354],{"type":3076,"value":4067},{"type":3071,"tag":3154,"props":4356,"children":4357},{"style":3348},[4358],{"type":3076,"value":4359}," ??",{"type":3071,"tag":3154,"props":4361,"children":4362},{"style":3348},[4363],{"type":3076,"value":4364}," null\n",{"type":3071,"tag":3154,"props":4366,"children":4367},{"class":3234,"line":3458},[4368],{"type":3071,"tag":3154,"props":4369,"children":4370},{"style":3348},[4371],{"type":3076,"value":3537},{"type":3071,"tag":3154,"props":4373,"children":4374},{"class":3234,"line":3475},[4375],{"type":3071,"tag":3154,"props":4376,"children":4377},{"style":3348},[4378],{"type":3076,"value":3545},{"type":3071,"tag":3154,"props":4380,"children":4381},{"class":3234,"line":3503},[4382,4386],{"type":3071,"tag":3154,"props":4383,"children":4384},{"style":3348},[4385],{"type":3076,"value":3807},{"type":3071,"tag":3154,"props":4387,"children":4388},{"style":3357},[4389],{"type":3076,"value":3568},{"type":3071,"tag":3154,"props":4391,"children":4392},{"class":3234,"line":3513},[4393,4397],{"type":3071,"tag":3154,"props":4394,"children":4395},{"style":3348},[4396],{"type":3076,"value":3563},{"type":3071,"tag":3154,"props":4398,"children":4399},{"style":3342},[4400],{"type":3076,"value":3568},{"type":3071,"tag":3078,"props":4402,"children":4403},{},[4404],{"type":3076,"value":4405},"Easy!",{"type":3071,"tag":3287,"props":4407,"children":4409},{"id":4408},"define-abilities",[4410],{"type":3076,"value":4411},"Define Abilities",{"type":3071,"tag":3147,"props":4413,"children":4414},{},[4415],{"type":3071,"tag":3078,"props":4416,"children":4417},{},[4418,4422,4424,4429,4431,4438],{"type":3071,"tag":3154,"props":4419,"children":4420},{},[4421],{"type":3076,"value":3158},{"type":3076,"value":4423},"\nWith Nuxt 4, a new ",{"type":3071,"tag":3229,"props":4425,"children":4427},{"className":4426},[],[4428],{"type":3076,"value":190},{"type":3076,"value":4430}," directory will be introduced to easily share code between the client and the server.\nSee ",{"type":3071,"tag":3082,"props":4432,"children":4435},{"href":4433,"rel":4434},"https:\u002F\u002Fyoutu.be\u002F_m5ct5e8nVo?si=2iNcPVMttlIq5fLR",[3086],[4436],{"type":3076,"value":4437},"the video from Alexander Lichter",{"type":3076,"value":3173},{"type":3071,"tag":3078,"props":4440,"children":4441},{},[4442],{"type":3076,"value":4443},"Now the resolvers are set up, you can define your first ability. An ability is a function that takes at least the user, and returns a boolean to indicate if the user can perform the action. It can also take additional arguments.",{"type":3071,"tag":3078,"props":4445,"children":4446},{},[4447,4449,4455],{"type":3076,"value":4448},"I recommend to create a new file ",{"type":3071,"tag":3229,"props":4450,"children":4452},{"className":4451},[],[4453],{"type":3076,"value":4454},"shared\u002Futils\u002Fabilities.ts",{"type":3076,"value":4456}," to create your abilities:",{"type":3071,"tag":3222,"props":4458,"children":4460},{"className":3313,"code":4459,"language":3315,"meta":3021,"style":3021},"export const listPosts = defineAbility(() => true) \u002F\u002F Only authenticated users can list posts\n\nexport const editPost = defineAbility((user: User, post: Post) => {\n  return user.id === post.authorId\n})\n",[4461],{"type":3071,"tag":3229,"props":4462,"children":4463},{"__ignoreMap":3021},[4464,4517,4525,4600,4640],{"type":3071,"tag":3154,"props":4465,"children":4466},{"class":3234,"line":3055},[4467,4471,4476,4481,4486,4491,4495,4499,4503,4507,4512],{"type":3071,"tag":3154,"props":4468,"children":4469},{"style":3325},[4470],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":4472,"children":4473},{"style":3493},[4474],{"type":3076,"value":4475}," const",{"type":3071,"tag":3154,"props":4477,"children":4478},{"style":3342},[4479],{"type":3076,"value":4480}," listPosts ",{"type":3071,"tag":3154,"props":4482,"children":4483},{"style":3348},[4484],{"type":3076,"value":4485},"=",{"type":3071,"tag":3154,"props":4487,"children":4488},{"style":3336},[4489],{"type":3076,"value":4490}," defineAbility",{"type":3071,"tag":3154,"props":4492,"children":4493},{"style":3342},[4494],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4496,"children":4497},{"style":3348},[4498],{"type":3076,"value":3420},{"type":3071,"tag":3154,"props":4500,"children":4501},{"style":3493},[4502],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4504,"children":4505},{"style":3399},[4506],{"type":3076,"value":3402},{"type":3071,"tag":3154,"props":4508,"children":4509},{"style":3342},[4510],{"type":3076,"value":4511},") ",{"type":3071,"tag":3154,"props":4513,"children":4514},{"style":3507},[4515],{"type":3076,"value":4516},"\u002F\u002F Only authenticated users can list posts\n",{"type":3071,"tag":3154,"props":4518,"children":4519},{"class":3234,"line":3048},[4520],{"type":3071,"tag":3154,"props":4521,"children":4522},{"emptyLinePlaceholder":1200},[4523],{"type":3076,"value":4524},"\n",{"type":3071,"tag":3154,"props":4526,"children":4527},{"class":3234,"line":3044},[4528,4532,4536,4541,4545,4549,4553,4557,4561,4565,4570,4574,4579,4583,4588,4592,4596],{"type":3071,"tag":3154,"props":4529,"children":4530},{"style":3325},[4531],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":4533,"children":4534},{"style":3493},[4535],{"type":3076,"value":4475},{"type":3071,"tag":3154,"props":4537,"children":4538},{"style":3342},[4539],{"type":3076,"value":4540}," editPost ",{"type":3071,"tag":3154,"props":4542,"children":4543},{"style":3348},[4544],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":4546,"children":4547},{"style":3336},[4548],{"type":3076,"value":4490},{"type":3071,"tag":3154,"props":4550,"children":4551},{"style":3342},[4552],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4554,"children":4555},{"style":3348},[4556],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4558,"children":4559},{"style":3627},[4560],{"type":3076,"value":4067},{"type":3071,"tag":3154,"props":4562,"children":4563},{"style":3348},[4564],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4566,"children":4567},{"style":3238},[4568],{"type":3076,"value":4569}," User",{"type":3071,"tag":3154,"props":4571,"children":4572},{"style":3348},[4573],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":4575,"children":4576},{"style":3627},[4577],{"type":3076,"value":4578}," post",{"type":3071,"tag":3154,"props":4580,"children":4581},{"style":3348},[4582],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4584,"children":4585},{"style":3238},[4586],{"type":3076,"value":4587}," Post",{"type":3071,"tag":3154,"props":4589,"children":4590},{"style":3348},[4591],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":4593,"children":4594},{"style":3493},[4595],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4597,"children":4598},{"style":3348},[4599],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":4601,"children":4602},{"class":3234,"line":3409},[4603,4608,4613,4617,4622,4627,4631,4635],{"type":3071,"tag":3154,"props":4604,"children":4605},{"style":3325},[4606],{"type":3076,"value":4607},"  return",{"type":3071,"tag":3154,"props":4609,"children":4610},{"style":3342},[4611],{"type":3076,"value":4612}," user",{"type":3071,"tag":3154,"props":4614,"children":4615},{"style":3348},[4616],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4618,"children":4619},{"style":3342},[4620],{"type":3076,"value":4621},"id",{"type":3071,"tag":3154,"props":4623,"children":4624},{"style":3348},[4625],{"type":3076,"value":4626}," ===",{"type":3071,"tag":3154,"props":4628,"children":4629},{"style":3342},[4630],{"type":3076,"value":4578},{"type":3071,"tag":3154,"props":4632,"children":4633},{"style":3348},[4634],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":4636,"children":4637},{"style":3342},[4638],{"type":3076,"value":4639},"authorId\n",{"type":3071,"tag":3154,"props":4641,"children":4642},{"class":3234,"line":3428},[4643,4647],{"type":3071,"tag":3154,"props":4644,"children":4645},{"style":3348},[4646],{"type":3076,"value":3563},{"type":3071,"tag":3154,"props":4648,"children":4649},{"style":3342},[4650],{"type":3076,"value":3568},{"type":3071,"tag":3078,"props":4652,"children":4653},{},[4654,4656,4662,4664,4670,4672,4678,4680,4686,4688,4694],{"type":3076,"value":4655},"If you have many abilities, you could prefer to create a directory ",{"type":3071,"tag":3229,"props":4657,"children":4659},{"className":4658},[],[4660],{"type":3076,"value":4661},"shared\u002Futils\u002Fabilities\u002F",{"type":3076,"value":4663}," and create a file for each ability. Having the abilities in the ",{"type":3071,"tag":3229,"props":4665,"children":4667},{"className":4666},[],[4668],{"type":3076,"value":4669},"shared\u002Futils",{"type":3076,"value":4671}," directory allows auto-import to work in the client while having a simple import in the server ",{"type":3071,"tag":3229,"props":4673,"children":4675},{"className":4674},[],[4676],{"type":3076,"value":4677},"~~\u002Fshared\u002Futils\u002Fabilities",{"type":3076,"value":4679},". ",{"type":3071,"tag":4681,"props":4682,"children":4683},"strong",{},[4684],{"type":3076,"value":4685},"Remember that the shared folder only exports the first level of the directory.",{"type":3076,"value":4687}," So you have to export the abilities in the ",{"type":3071,"tag":3229,"props":4689,"children":4691},{"className":4690},[],[4692],{"type":3076,"value":4693},"shared\u002Futils\u002Fabilities\u002Findex.ts",{"type":3076,"value":4695}," file.",{"type":3071,"tag":3078,"props":4697,"children":4698},{},[4699],{"type":3076,"value":4700},"By default, guests are not allowed to perform any action and the ability is not called. This behavior can be changed per ability:",{"type":3071,"tag":3222,"props":4702,"children":4704},{"className":3313,"code":4703,"language":3315,"meta":3021,"style":3021},"export const listPosts = defineAbility({ allowGuest: true }, (user: User | null) => true)\n",[4705],{"type":3071,"tag":3229,"props":4706,"children":4707},{"__ignoreMap":3021},[4708],{"type":3071,"tag":3154,"props":4709,"children":4710},{"class":3234,"line":3055},[4711,4715,4719,4723,4727,4731,4735,4740,4745,4749,4753,4758,4762,4766,4770,4774,4779,4784,4788,4792,4796],{"type":3071,"tag":3154,"props":4712,"children":4713},{"style":3325},[4714],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":4716,"children":4717},{"style":3493},[4718],{"type":3076,"value":4475},{"type":3071,"tag":3154,"props":4720,"children":4721},{"style":3342},[4722],{"type":3076,"value":4480},{"type":3071,"tag":3154,"props":4724,"children":4725},{"style":3348},[4726],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":4728,"children":4729},{"style":3336},[4730],{"type":3076,"value":4490},{"type":3071,"tag":3154,"props":4732,"children":4733},{"style":3342},[4734],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":4736,"children":4737},{"style":3348},[4738],{"type":3076,"value":4739},"{",{"type":3071,"tag":3154,"props":4741,"children":4742},{"style":3357},[4743],{"type":3076,"value":4744}," allowGuest",{"type":3071,"tag":3154,"props":4746,"children":4747},{"style":3348},[4748],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4750,"children":4751},{"style":3399},[4752],{"type":3076,"value":3402},{"type":3071,"tag":3154,"props":4754,"children":4755},{"style":3348},[4756],{"type":3076,"value":4757}," },",{"type":3071,"tag":3154,"props":4759,"children":4760},{"style":3348},[4761],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":4763,"children":4764},{"style":3627},[4765],{"type":3076,"value":4067},{"type":3071,"tag":3154,"props":4767,"children":4768},{"style":3348},[4769],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":4771,"children":4772},{"style":3238},[4773],{"type":3076,"value":4569},{"type":3071,"tag":3154,"props":4775,"children":4776},{"style":3348},[4777],{"type":3076,"value":4778}," |",{"type":3071,"tag":3154,"props":4780,"children":4781},{"style":3238},[4782],{"type":3076,"value":4783}," null",{"type":3071,"tag":3154,"props":4785,"children":4786},{"style":3348},[4787],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":4789,"children":4790},{"style":3493},[4791],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":4793,"children":4794},{"style":3399},[4795],{"type":3076,"value":3402},{"type":3071,"tag":3154,"props":4797,"children":4798},{"style":3342},[4799],{"type":3076,"value":3568},{"type":3071,"tag":3078,"props":4801,"children":4802},{},[4803],{"type":3076,"value":4804},"Now, unauthenticated users can list posts.",{"type":3071,"tag":3287,"props":4806,"children":4808},{"id":4807},"use-abilities",[4809],{"type":3076,"value":4810},"Use Abilities",{"type":3071,"tag":3078,"props":4812,"children":4813},{},[4814,4816,4822,4824,4830,4832,4838,4840],{"type":3076,"value":4815},"To use ability, you have access to 3 bouncer functions: ",{"type":3071,"tag":3229,"props":4817,"children":4819},{"className":4818},[],[4820],{"type":3076,"value":4821},"allows",{"type":3076,"value":4823},", ",{"type":3071,"tag":3229,"props":4825,"children":4827},{"className":4826},[],[4828],{"type":3076,"value":4829},"denies",{"type":3076,"value":4831},", and ",{"type":3071,"tag":3229,"props":4833,"children":4835},{"className":4834},[],[4836],{"type":3076,"value":4837},"authorize",{"type":3076,"value":4839},". Both of them are available in the client and the server. ",{"type":3071,"tag":3141,"props":4841,"children":4842},{},[4843,4845,4850],{"type":3076,"value":4844},"The implementation is different but the API is (nearly) the same and it's entirely transparent the developer. On the server, the first parameter is the ",{"type":3071,"tag":3229,"props":4846,"children":4848},{"className":4847},[],[4849],{"type":3076,"value":3706},{"type":3076,"value":4851}," from the handler.",{"type":3071,"tag":3078,"props":4853,"children":4854},{},[4855,4857,4862],{"type":3076,"value":4856},"The ",{"type":3071,"tag":3229,"props":4858,"children":4860},{"className":4859},[],[4861],{"type":3076,"value":4821},{"type":3076,"value":4863}," function returns a boolean if the user can perform the action:",{"type":3071,"tag":3222,"props":4865,"children":4867},{"className":3313,"code":4866,"language":3315,"meta":3021,"style":3021},"if (await allows(listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4868],{"type":3071,"tag":3229,"props":4869,"children":4870},{"__ignoreMap":3021},[4871,4902,4910],{"type":3071,"tag":3154,"props":4872,"children":4873},{"class":3234,"line":3055},[4874,4879,4883,4888,4893,4898],{"type":3071,"tag":3154,"props":4875,"children":4876},{"style":3325},[4877],{"type":3076,"value":4878},"if",{"type":3071,"tag":3154,"props":4880,"children":4881},{"style":3342},[4882],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":4884,"children":4885},{"style":3325},[4886],{"type":3076,"value":4887},"await",{"type":3071,"tag":3154,"props":4889,"children":4890},{"style":3336},[4891],{"type":3076,"value":4892}," allows",{"type":3071,"tag":3154,"props":4894,"children":4895},{"style":3342},[4896],{"type":3076,"value":4897},"(listPosts)) ",{"type":3071,"tag":3154,"props":4899,"children":4900},{"style":3348},[4901],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":4903,"children":4904},{"class":3234,"line":3048},[4905],{"type":3071,"tag":3154,"props":4906,"children":4907},{"style":3507},[4908],{"type":3076,"value":4909},"  \u002F\u002F User can list posts\n",{"type":3071,"tag":3154,"props":4911,"children":4912},{"class":3234,"line":3044},[4913],{"type":3071,"tag":3154,"props":4914,"children":4915},{"style":3348},[4916],{"type":3076,"value":4917},"}\n",{"type":3071,"tag":3078,"props":4919,"children":4920},{},[4921],{"type":3071,"tag":3141,"props":4922,"children":4923},{},[4924],{"type":3076,"value":4925},"For the server:",{"type":3071,"tag":3222,"props":4927,"children":4929},{"className":3313,"code":4928,"language":3315,"meta":3021,"style":3021},"if (await allows(event, listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4930],{"type":3071,"tag":3229,"props":4931,"children":4932},{"__ignoreMap":3021},[4933,4970,4977],{"type":3071,"tag":3154,"props":4934,"children":4935},{"class":3234,"line":3055},[4936,4940,4944,4948,4952,4957,4961,4966],{"type":3071,"tag":3154,"props":4937,"children":4938},{"style":3325},[4939],{"type":3076,"value":4878},{"type":3071,"tag":3154,"props":4941,"children":4942},{"style":3342},[4943],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":4945,"children":4946},{"style":3325},[4947],{"type":3076,"value":4887},{"type":3071,"tag":3154,"props":4949,"children":4950},{"style":3336},[4951],{"type":3076,"value":4892},{"type":3071,"tag":3154,"props":4953,"children":4954},{"style":3342},[4955],{"type":3076,"value":4956},"(event",{"type":3071,"tag":3154,"props":4958,"children":4959},{"style":3348},[4960],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":4962,"children":4963},{"style":3342},[4964],{"type":3076,"value":4965}," listPosts)) ",{"type":3071,"tag":3154,"props":4967,"children":4968},{"style":3348},[4969],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":4971,"children":4972},{"class":3234,"line":3048},[4973],{"type":3071,"tag":3154,"props":4974,"children":4975},{"style":3507},[4976],{"type":3076,"value":4909},{"type":3071,"tag":3154,"props":4978,"children":4979},{"class":3234,"line":3044},[4980],{"type":3071,"tag":3154,"props":4981,"children":4982},{"style":3348},[4983],{"type":3076,"value":4917},{"type":3071,"tag":3078,"props":4985,"children":4986},{},[4987,4988,4993],{"type":3076,"value":4856},{"type":3071,"tag":3229,"props":4989,"children":4991},{"className":4990},[],[4992],{"type":3076,"value":4829},{"type":3076,"value":4994}," function returns a boolean if the user cannot perform the action:",{"type":3071,"tag":3222,"props":4996,"children":4998},{"className":3313,"code":4997,"language":3315,"meta":3021,"style":3021},"if (await denies(editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[4999],{"type":3071,"tag":3229,"props":5000,"children":5001},{"__ignoreMap":3021},[5002,5040,5048],{"type":3071,"tag":3154,"props":5003,"children":5004},{"class":3234,"line":3055},[5005,5009,5013,5017,5022,5027,5031,5036],{"type":3071,"tag":3154,"props":5006,"children":5007},{"style":3325},[5008],{"type":3076,"value":4878},{"type":3071,"tag":3154,"props":5010,"children":5011},{"style":3342},[5012],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":5014,"children":5015},{"style":3325},[5016],{"type":3076,"value":4887},{"type":3071,"tag":3154,"props":5018,"children":5019},{"style":3336},[5020],{"type":3076,"value":5021}," denies",{"type":3071,"tag":3154,"props":5023,"children":5024},{"style":3342},[5025],{"type":3076,"value":5026},"(editPost",{"type":3071,"tag":3154,"props":5028,"children":5029},{"style":3348},[5030],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5032,"children":5033},{"style":3342},[5034],{"type":3076,"value":5035}," post)) ",{"type":3071,"tag":3154,"props":5037,"children":5038},{"style":3348},[5039],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":5041,"children":5042},{"class":3234,"line":3048},[5043],{"type":3071,"tag":3154,"props":5044,"children":5045},{"style":3507},[5046],{"type":3076,"value":5047},"  \u002F\u002F User cannot edit the post\n",{"type":3071,"tag":3154,"props":5049,"children":5050},{"class":3234,"line":3044},[5051],{"type":3071,"tag":3154,"props":5052,"children":5053},{"style":3348},[5054],{"type":3076,"value":4917},{"type":3071,"tag":3078,"props":5056,"children":5057},{},[5058],{"type":3071,"tag":3141,"props":5059,"children":5060},{},[5061],{"type":3076,"value":4925},{"type":3071,"tag":3222,"props":5063,"children":5065},{"className":3313,"code":5064,"language":3315,"meta":3021,"style":3021},"if (await denies(event, editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[5066],{"type":3071,"tag":3229,"props":5067,"children":5068},{"__ignoreMap":3021},[5069,5113,5120],{"type":3071,"tag":3154,"props":5070,"children":5071},{"class":3234,"line":3055},[5072,5076,5080,5084,5088,5092,5096,5101,5105,5109],{"type":3071,"tag":3154,"props":5073,"children":5074},{"style":3325},[5075],{"type":3076,"value":4878},{"type":3071,"tag":3154,"props":5077,"children":5078},{"style":3342},[5079],{"type":3076,"value":3701},{"type":3071,"tag":3154,"props":5081,"children":5082},{"style":3325},[5083],{"type":3076,"value":4887},{"type":3071,"tag":3154,"props":5085,"children":5086},{"style":3336},[5087],{"type":3076,"value":5021},{"type":3071,"tag":3154,"props":5089,"children":5090},{"style":3342},[5091],{"type":3076,"value":4956},{"type":3071,"tag":3154,"props":5093,"children":5094},{"style":3348},[5095],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5097,"children":5098},{"style":3342},[5099],{"type":3076,"value":5100}," editPost",{"type":3071,"tag":3154,"props":5102,"children":5103},{"style":3348},[5104],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5106,"children":5107},{"style":3342},[5108],{"type":3076,"value":5035},{"type":3071,"tag":3154,"props":5110,"children":5111},{"style":3348},[5112],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":5114,"children":5115},{"class":3234,"line":3048},[5116],{"type":3071,"tag":3154,"props":5117,"children":5118},{"style":3507},[5119],{"type":3076,"value":5047},{"type":3071,"tag":3154,"props":5121,"children":5122},{"class":3234,"line":3044},[5123],{"type":3071,"tag":3154,"props":5124,"children":5125},{"style":3348},[5126],{"type":3076,"value":4917},{"type":3071,"tag":3078,"props":5128,"children":5129},{},[5130,5131,5136],{"type":3076,"value":4856},{"type":3071,"tag":3229,"props":5132,"children":5134},{"className":5133},[],[5135],{"type":3076,"value":4837},{"type":3076,"value":5137}," function throws an error if the user cannot perform the action:",{"type":3071,"tag":3222,"props":5139,"children":5141},{"className":3313,"code":5140,"language":3315,"meta":3021,"style":3021},"await authorize(editPost, post)\n\n\u002F\u002F User can edit the post\n",[5142],{"type":3071,"tag":3229,"props":5143,"children":5144},{"__ignoreMap":3021},[5145,5170,5177],{"type":3071,"tag":3154,"props":5146,"children":5147},{"class":3234,"line":3055},[5148,5152,5157,5161,5165],{"type":3071,"tag":3154,"props":5149,"children":5150},{"style":3325},[5151],{"type":3076,"value":4887},{"type":3071,"tag":3154,"props":5153,"children":5154},{"style":3336},[5155],{"type":3076,"value":5156}," authorize",{"type":3071,"tag":3154,"props":5158,"children":5159},{"style":3342},[5160],{"type":3076,"value":5026},{"type":3071,"tag":3154,"props":5162,"children":5163},{"style":3348},[5164],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5166,"children":5167},{"style":3342},[5168],{"type":3076,"value":5169}," post)\n",{"type":3071,"tag":3154,"props":5171,"children":5172},{"class":3234,"line":3048},[5173],{"type":3071,"tag":3154,"props":5174,"children":5175},{"emptyLinePlaceholder":1200},[5176],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":5178,"children":5179},{"class":3234,"line":3044},[5180],{"type":3071,"tag":3154,"props":5181,"children":5182},{"style":3507},[5183],{"type":3076,"value":5184},"\u002F\u002F User can edit the post\n",{"type":3071,"tag":3078,"props":5186,"children":5187},{},[5188],{"type":3071,"tag":3141,"props":5189,"children":5190},{},[5191],{"type":3076,"value":4925},{"type":3071,"tag":3222,"props":5193,"children":5195},{"className":3313,"code":5194,"language":3315,"meta":3021,"style":3021},"await authorize(event, editPost, post)\n",[5196],{"type":3071,"tag":3229,"props":5197,"children":5198},{"__ignoreMap":3021},[5199],{"type":3071,"tag":3154,"props":5200,"children":5201},{"class":3234,"line":3055},[5202,5206,5210,5214,5218,5222,5226],{"type":3071,"tag":3154,"props":5203,"children":5204},{"style":3325},[5205],{"type":3076,"value":4887},{"type":3071,"tag":3154,"props":5207,"children":5208},{"style":3336},[5209],{"type":3076,"value":5156},{"type":3071,"tag":3154,"props":5211,"children":5212},{"style":3342},[5213],{"type":3076,"value":4956},{"type":3071,"tag":3154,"props":5215,"children":5216},{"style":3348},[5217],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5219,"children":5220},{"style":3342},[5221],{"type":3076,"value":5100},{"type":3071,"tag":3154,"props":5223,"children":5224},{"style":3348},[5225],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5227,"children":5228},{"style":3342},[5229],{"type":3076,"value":5169},{"type":3071,"tag":3078,"props":5231,"children":5232},{},[5233],{"type":3076,"value":5234},"You can customize the error message and the status code per return value of the ability. This can be useful to return a 404 instead of a 403 to keep the user unaware of the existence of the resource.",{"type":3071,"tag":3222,"props":5236,"children":5238},{"className":3313,"code":5237,"language":3315,"meta":3021,"style":3021},"export const editPost = defineAbility((user: User, post: Post) => {\n  if(user.id === post.authorId) {\n    return true \u002F\u002F or allow()\n  }\n\n  return deny('This post does not exist', 404)\n})\n",[5239],{"type":3071,"tag":3229,"props":5240,"children":5241},{"__ignoreMap":3021},[5242,5313,5362,5378,5386,5393,5436],{"type":3071,"tag":3154,"props":5243,"children":5244},{"class":3234,"line":3055},[5245,5249,5253,5257,5261,5265,5269,5273,5277,5281,5285,5289,5293,5297,5301,5305,5309],{"type":3071,"tag":3154,"props":5246,"children":5247},{"style":3325},[5248],{"type":3076,"value":3328},{"type":3071,"tag":3154,"props":5250,"children":5251},{"style":3493},[5252],{"type":3076,"value":4475},{"type":3071,"tag":3154,"props":5254,"children":5255},{"style":3342},[5256],{"type":3076,"value":4540},{"type":3071,"tag":3154,"props":5258,"children":5259},{"style":3348},[5260],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":5262,"children":5263},{"style":3336},[5264],{"type":3076,"value":4490},{"type":3071,"tag":3154,"props":5266,"children":5267},{"style":3342},[5268],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":5270,"children":5271},{"style":3348},[5272],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":5274,"children":5275},{"style":3627},[5276],{"type":3076,"value":4067},{"type":3071,"tag":3154,"props":5278,"children":5279},{"style":3348},[5280],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":5282,"children":5283},{"style":3238},[5284],{"type":3076,"value":4569},{"type":3071,"tag":3154,"props":5286,"children":5287},{"style":3348},[5288],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5290,"children":5291},{"style":3627},[5292],{"type":3076,"value":4578},{"type":3071,"tag":3154,"props":5294,"children":5295},{"style":3348},[5296],{"type":3076,"value":3310},{"type":3071,"tag":3154,"props":5298,"children":5299},{"style":3238},[5300],{"type":3076,"value":4587},{"type":3071,"tag":3154,"props":5302,"children":5303},{"style":3348},[5304],{"type":3076,"value":3635},{"type":3071,"tag":3154,"props":5306,"children":5307},{"style":3493},[5308],{"type":3076,"value":3496},{"type":3071,"tag":3154,"props":5310,"children":5311},{"style":3348},[5312],{"type":3076,"value":3425},{"type":3071,"tag":3154,"props":5314,"children":5315},{"class":3234,"line":3048},[5316,5321,5325,5329,5333,5337,5341,5345,5349,5354,5358],{"type":3071,"tag":3154,"props":5317,"children":5318},{"style":3325},[5319],{"type":3076,"value":5320},"  if",{"type":3071,"tag":3154,"props":5322,"children":5323},{"style":3357},[5324],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":5326,"children":5327},{"style":3342},[5328],{"type":3076,"value":4067},{"type":3071,"tag":3154,"props":5330,"children":5331},{"style":3348},[5332],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":5334,"children":5335},{"style":3342},[5336],{"type":3076,"value":4621},{"type":3071,"tag":3154,"props":5338,"children":5339},{"style":3348},[5340],{"type":3076,"value":4626},{"type":3071,"tag":3154,"props":5342,"children":5343},{"style":3342},[5344],{"type":3076,"value":4578},{"type":3071,"tag":3154,"props":5346,"children":5347},{"style":3348},[5348],{"type":3076,"value":3173},{"type":3071,"tag":3154,"props":5350,"children":5351},{"style":3342},[5352],{"type":3076,"value":5353},"authorId",{"type":3071,"tag":3154,"props":5355,"children":5356},{"style":3357},[5357],{"type":3076,"value":4511},{"type":3071,"tag":3154,"props":5359,"children":5360},{"style":3348},[5361],{"type":3076,"value":3351},{"type":3071,"tag":3154,"props":5363,"children":5364},{"class":3234,"line":3044},[5365,5369,5373],{"type":3071,"tag":3154,"props":5366,"children":5367},{"style":3325},[5368],{"type":3076,"value":3434},{"type":3071,"tag":3154,"props":5370,"children":5371},{"style":3399},[5372],{"type":3076,"value":3402},{"type":3071,"tag":3154,"props":5374,"children":5375},{"style":3507},[5376],{"type":3076,"value":5377}," \u002F\u002F or allow()\n",{"type":3071,"tag":3154,"props":5379,"children":5380},{"class":3234,"line":3409},[5381],{"type":3071,"tag":3154,"props":5382,"children":5383},{"style":3348},[5384],{"type":3076,"value":5385},"  }\n",{"type":3071,"tag":3154,"props":5387,"children":5388},{"class":3234,"line":3428},[5389],{"type":3071,"tag":3154,"props":5390,"children":5391},{"emptyLinePlaceholder":1200},[5392],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":5394,"children":5395},{"class":3234,"line":3441},[5396,5400,5405,5409,5413,5418,5422,5426,5432],{"type":3071,"tag":3154,"props":5397,"children":5398},{"style":3325},[5399],{"type":3076,"value":4607},{"type":3071,"tag":3154,"props":5401,"children":5402},{"style":3336},[5403],{"type":3076,"value":5404}," deny",{"type":3071,"tag":3154,"props":5406,"children":5407},{"style":3357},[5408],{"type":3076,"value":3345},{"type":3071,"tag":3154,"props":5410,"children":5411},{"style":3348},[5412],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":5414,"children":5415},{"style":3244},[5416],{"type":3076,"value":5417},"This post does not exist",{"type":3071,"tag":3154,"props":5419,"children":5420},{"style":3348},[5421],{"type":3076,"value":3379},{"type":3071,"tag":3154,"props":5423,"children":5424},{"style":3348},[5425],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":5427,"children":5429},{"style":5428},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[5430],{"type":3076,"value":5431}," 404",{"type":3071,"tag":3154,"props":5433,"children":5434},{"style":3357},[5435],{"type":3076,"value":3568},{"type":3071,"tag":3154,"props":5437,"children":5438},{"class":3234,"line":3458},[5439,5443],{"type":3071,"tag":3154,"props":5440,"children":5441},{"style":3348},[5442],{"type":3076,"value":3563},{"type":3071,"tag":3154,"props":5444,"children":5445},{"style":3342},[5446],{"type":3076,"value":3568},{"type":3071,"tag":3078,"props":5448,"children":5449},{},[5450,5456,5458,5464,5466,5472,5473,5479,5481,5486],{"type":3071,"tag":3229,"props":5451,"children":5453},{"className":5452},[],[5454],{"type":3076,"value":5455},"allow",{"type":3076,"value":5457}," and ",{"type":3071,"tag":3229,"props":5459,"children":5461},{"className":5460},[],[5462],{"type":3076,"value":5463},"deny",{"type":3076,"value":5465}," are similar to returning ",{"type":3071,"tag":3229,"props":5467,"children":5469},{"className":5468},[],[5470],{"type":3076,"value":5471},"true",{"type":3076,"value":5457},{"type":3071,"tag":3229,"props":5474,"children":5476},{"className":5475},[],[5477],{"type":3076,"value":5478},"false",{"type":3076,"value":5480}," but ",{"type":3071,"tag":3229,"props":5482,"children":5484},{"className":5483},[],[5485],{"type":3076,"value":5463},{"type":3076,"value":5487}," allows to return a custom message and status code for the error.",{"type":3071,"tag":3078,"props":5489,"children":5490},{},[5491,5493,5498,5500,5506],{"type":3076,"value":5492},"Most of the times, you API endpoints will use the ",{"type":3071,"tag":3229,"props":5494,"children":5496},{"className":5495},[],[5497],{"type":3076,"value":4837},{"type":3076,"value":5499},". This can be the first line of the endpoint if no parameters are needed or after a database query to check if the user can access the resource. You do not need to catch the error since it's a ",{"type":3071,"tag":3229,"props":5501,"children":5503},{"className":5502},[],[5504],{"type":3076,"value":5505},"H3Error",{"type":3076,"value":5507}," and will be caught by the Nitro server.",{"type":3071,"tag":3078,"props":5509,"children":5510},{},[5511,5512,5517,5518,5523],{"type":3076,"value":4856},{"type":3071,"tag":3229,"props":5513,"children":5515},{"className":5514},[],[5516],{"type":3076,"value":4821},{"type":3076,"value":5457},{"type":3071,"tag":3229,"props":5519,"children":5521},{"className":5520},[],[5522],{"type":3076,"value":4829},{"type":3076,"value":5524}," functions are useful in the client to perform conditional rendering or logic. You can also use them to have a fine-grained control on you authorization logic.",{"type":3071,"tag":3287,"props":5526,"children":5528},{"id":5527},"use-components",[5529],{"type":3076,"value":5530},"Use Components",{"type":3071,"tag":3078,"props":5532,"children":5533},{},[5534],{"type":3076,"value":5535},"The module provides 2 components help you to conditionally show part of the UI. Imagine you have a button to edit a post, unauthorized users should not see the button.",{"type":3071,"tag":3222,"props":5537,"children":5541},{"className":5538,"code":5539,"language":5540,"meta":3021,"style":3021},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003CCan\n    :ability=\"editPost\"\n    :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n  >\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n  \u003C\u002FCan>\n\u003C\u002Ftemplate>\n","vue",[5542],{"type":3071,"tag":3229,"props":5543,"children":5544},{"__ignoreMap":3021},[5545,5563,5576,5603,5678,5686,5722,5739],{"type":3071,"tag":3154,"props":5546,"children":5547},{"class":3234,"line":3055},[5548,5553,5558],{"type":3071,"tag":3154,"props":5549,"children":5550},{"style":3348},[5551],{"type":3076,"value":5552},"\u003C",{"type":3071,"tag":3154,"props":5554,"children":5555},{"style":3357},[5556],{"type":3076,"value":5557},"template",{"type":3071,"tag":3154,"props":5559,"children":5560},{"style":3348},[5561],{"type":3076,"value":5562},">\n",{"type":3071,"tag":3154,"props":5564,"children":5565},{"class":3234,"line":3048},[5566,5571],{"type":3071,"tag":3154,"props":5567,"children":5568},{"style":3348},[5569],{"type":3076,"value":5570},"  \u003C",{"type":3071,"tag":3154,"props":5572,"children":5573},{"style":3357},[5574],{"type":3076,"value":5575},"Can\n",{"type":3071,"tag":3154,"props":5577,"children":5578},{"class":3234,"line":3044},[5579,5584,5588,5593,5598],{"type":3071,"tag":3154,"props":5580,"children":5581},{"style":3493},[5582],{"type":3076,"value":5583},"    :ability",{"type":3071,"tag":3154,"props":5585,"children":5586},{"style":3348},[5587],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":5589,"children":5590},{"style":3348},[5591],{"type":3076,"value":5592},"\"",{"type":3071,"tag":3154,"props":5594,"children":5595},{"style":3244},[5596],{"type":3076,"value":5597},"editPost",{"type":3071,"tag":3154,"props":5599,"children":5600},{"style":3348},[5601],{"type":3076,"value":5602},"\"\n",{"type":3071,"tag":3154,"props":5604,"children":5605},{"class":3234,"line":3409},[5606,5611,5615,5619,5624,5628,5633,5638,5643,5648,5653,5658,5663,5668,5673],{"type":3071,"tag":3154,"props":5607,"children":5608},{"style":3493},[5609],{"type":3076,"value":5610},"    :args",{"type":3071,"tag":3154,"props":5612,"children":5613},{"style":3348},[5614],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":5616,"children":5617},{"style":3348},[5618],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":5620,"children":5621},{"style":3244},[5622],{"type":3076,"value":5623},"[post]",{"type":3071,"tag":3154,"props":5625,"children":5626},{"style":3348},[5627],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":5629,"children":5630},{"style":3348},[5631],{"type":3076,"value":5632}," \u002F\u002F ",{"type":3071,"tag":3154,"props":5634,"children":5635},{"style":3493},[5636],{"type":3076,"value":5637},"Optional",{"type":3071,"tag":3154,"props":5639,"children":5640},{"style":3493},[5641],{"type":3076,"value":5642}," if",{"type":3071,"tag":3154,"props":5644,"children":5645},{"style":3493},[5646],{"type":3076,"value":5647}," the",{"type":3071,"tag":3154,"props":5649,"children":5650},{"style":3493},[5651],{"type":3076,"value":5652}," ability",{"type":3071,"tag":3154,"props":5654,"children":5655},{"style":3493},[5656],{"type":3076,"value":5657}," does",{"type":3071,"tag":3154,"props":5659,"children":5660},{"style":3493},[5661],{"type":3076,"value":5662}," not",{"type":3071,"tag":3154,"props":5664,"children":5665},{"style":3493},[5666],{"type":3076,"value":5667}," take",{"type":3071,"tag":3154,"props":5669,"children":5670},{"style":3493},[5671],{"type":3076,"value":5672}," any",{"type":3071,"tag":3154,"props":5674,"children":5675},{"style":3493},[5676],{"type":3076,"value":5677}," arguments\n",{"type":3071,"tag":3154,"props":5679,"children":5680},{"class":3234,"line":3428},[5681],{"type":3071,"tag":3154,"props":5682,"children":5683},{"style":3348},[5684],{"type":3076,"value":5685},"  >\n",{"type":3071,"tag":3154,"props":5687,"children":5688},{"class":3234,"line":3441},[5689,5694,5699,5704,5709,5714,5718],{"type":3071,"tag":3154,"props":5690,"children":5691},{"style":3348},[5692],{"type":3076,"value":5693},"    \u003C",{"type":3071,"tag":3154,"props":5695,"children":5696},{"style":3357},[5697],{"type":3076,"value":5698},"button",{"type":3071,"tag":3154,"props":5700,"children":5701},{"style":3348},[5702],{"type":3076,"value":5703},">",{"type":3071,"tag":3154,"props":5705,"children":5706},{"style":3342},[5707],{"type":3076,"value":5708},"Edit",{"type":3071,"tag":3154,"props":5710,"children":5711},{"style":3348},[5712],{"type":3076,"value":5713},"\u003C\u002F",{"type":3071,"tag":3154,"props":5715,"children":5716},{"style":3357},[5717],{"type":3076,"value":5698},{"type":3071,"tag":3154,"props":5719,"children":5720},{"style":3348},[5721],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":5723,"children":5724},{"class":3234,"line":3458},[5725,5730,5735],{"type":3071,"tag":3154,"props":5726,"children":5727},{"style":3348},[5728],{"type":3076,"value":5729},"  \u003C\u002F",{"type":3071,"tag":3154,"props":5731,"children":5732},{"style":3357},[5733],{"type":3076,"value":5734},"Can",{"type":3071,"tag":3154,"props":5736,"children":5737},{"style":3348},[5738],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":5740,"children":5741},{"class":3234,"line":3475},[5742,5746,5750],{"type":3071,"tag":3154,"props":5743,"children":5744},{"style":3348},[5745],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":5747,"children":5748},{"style":3357},[5749],{"type":3076,"value":5557},{"type":3071,"tag":3154,"props":5751,"children":5752},{"style":3348},[5753],{"type":3076,"value":5562},{"type":3071,"tag":3078,"props":5755,"children":5756},{},[5757,5758,5763],{"type":3076,"value":4856},{"type":3071,"tag":3229,"props":5759,"children":5761},{"className":5760},[],[5762],{"type":3076,"value":5734},{"type":3076,"value":5764}," component will render the button only if the user can edit the post. If the user cannot edit the post, the button will not be rendered.",{"type":3071,"tag":3078,"props":5766,"children":5767},{},[5768,5770,5776],{"type":3076,"value":5769},"As a counterpart, you can use the ",{"type":3071,"tag":3229,"props":5771,"children":5773},{"className":5772},[],[5774],{"type":3076,"value":5775},"Cannot",{"type":3076,"value":5777}," component to render the button only if the user cannot edit the post.",{"type":3071,"tag":3222,"props":5779,"children":5781},{"className":5538,"code":5780,"language":5540,"meta":3021,"style":3021},"\u003Ctemplate>\n  \u003CCannot\n    :ability=\"editPost\"\n    :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n  >\n    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n  \u003C\u002FCannot>\n\u003C\u002Ftemplate>\n",[5782],{"type":3071,"tag":3229,"props":5783,"children":5784},{"__ignoreMap":3021},[5785,5800,5812,5835,5898,5905,5937,5952],{"type":3071,"tag":3154,"props":5786,"children":5787},{"class":3234,"line":3055},[5788,5792,5796],{"type":3071,"tag":3154,"props":5789,"children":5790},{"style":3348},[5791],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":5793,"children":5794},{"style":3357},[5795],{"type":3076,"value":5557},{"type":3071,"tag":3154,"props":5797,"children":5798},{"style":3348},[5799],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":5801,"children":5802},{"class":3234,"line":3048},[5803,5807],{"type":3071,"tag":3154,"props":5804,"children":5805},{"style":3348},[5806],{"type":3076,"value":5570},{"type":3071,"tag":3154,"props":5808,"children":5809},{"style":3357},[5810],{"type":3076,"value":5811},"Cannot\n",{"type":3071,"tag":3154,"props":5813,"children":5814},{"class":3234,"line":3044},[5815,5819,5823,5827,5831],{"type":3071,"tag":3154,"props":5816,"children":5817},{"style":3493},[5818],{"type":3076,"value":5583},{"type":3071,"tag":3154,"props":5820,"children":5821},{"style":3348},[5822],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":5824,"children":5825},{"style":3348},[5826],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":5828,"children":5829},{"style":3244},[5830],{"type":3076,"value":5597},{"type":3071,"tag":3154,"props":5832,"children":5833},{"style":3348},[5834],{"type":3076,"value":5602},{"type":3071,"tag":3154,"props":5836,"children":5837},{"class":3234,"line":3409},[5838,5842,5846,5850,5854,5858,5862,5866,5870,5874,5878,5882,5886,5890,5894],{"type":3071,"tag":3154,"props":5839,"children":5840},{"style":3493},[5841],{"type":3076,"value":5610},{"type":3071,"tag":3154,"props":5843,"children":5844},{"style":3348},[5845],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":5847,"children":5848},{"style":3348},[5849],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":5851,"children":5852},{"style":3244},[5853],{"type":3076,"value":5623},{"type":3071,"tag":3154,"props":5855,"children":5856},{"style":3348},[5857],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":5859,"children":5860},{"style":3348},[5861],{"type":3076,"value":5632},{"type":3071,"tag":3154,"props":5863,"children":5864},{"style":3493},[5865],{"type":3076,"value":5637},{"type":3071,"tag":3154,"props":5867,"children":5868},{"style":3493},[5869],{"type":3076,"value":5642},{"type":3071,"tag":3154,"props":5871,"children":5872},{"style":3493},[5873],{"type":3076,"value":5647},{"type":3071,"tag":3154,"props":5875,"children":5876},{"style":3493},[5877],{"type":3076,"value":5652},{"type":3071,"tag":3154,"props":5879,"children":5880},{"style":3493},[5881],{"type":3076,"value":5657},{"type":3071,"tag":3154,"props":5883,"children":5884},{"style":3493},[5885],{"type":3076,"value":5662},{"type":3071,"tag":3154,"props":5887,"children":5888},{"style":3493},[5889],{"type":3076,"value":5667},{"type":3071,"tag":3154,"props":5891,"children":5892},{"style":3493},[5893],{"type":3076,"value":5672},{"type":3071,"tag":3154,"props":5895,"children":5896},{"style":3493},[5897],{"type":3076,"value":5677},{"type":3071,"tag":3154,"props":5899,"children":5900},{"class":3234,"line":3428},[5901],{"type":3071,"tag":3154,"props":5902,"children":5903},{"style":3348},[5904],{"type":3076,"value":5685},{"type":3071,"tag":3154,"props":5906,"children":5907},{"class":3234,"line":3441},[5908,5912,5916,5920,5925,5929,5933],{"type":3071,"tag":3154,"props":5909,"children":5910},{"style":3348},[5911],{"type":3076,"value":5693},{"type":3071,"tag":3154,"props":5913,"children":5914},{"style":3357},[5915],{"type":3076,"value":3078},{"type":3071,"tag":3154,"props":5917,"children":5918},{"style":3348},[5919],{"type":3076,"value":5703},{"type":3071,"tag":3154,"props":5921,"children":5922},{"style":3342},[5923],{"type":3076,"value":5924},"You're not allowed to edit the post.",{"type":3071,"tag":3154,"props":5926,"children":5927},{"style":3348},[5928],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":5930,"children":5931},{"style":3357},[5932],{"type":3076,"value":3078},{"type":3071,"tag":3154,"props":5934,"children":5935},{"style":3348},[5936],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":5938,"children":5939},{"class":3234,"line":3458},[5940,5944,5948],{"type":3071,"tag":3154,"props":5941,"children":5942},{"style":3348},[5943],{"type":3076,"value":5729},{"type":3071,"tag":3154,"props":5945,"children":5946},{"style":3357},[5947],{"type":3076,"value":5775},{"type":3071,"tag":3154,"props":5949,"children":5950},{"style":3348},[5951],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":5953,"children":5954},{"class":3234,"line":3475},[5955,5959,5963],{"type":3071,"tag":3154,"props":5956,"children":5957},{"style":3348},[5958],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":5960,"children":5961},{"style":3357},[5962],{"type":3076,"value":5557},{"type":3071,"tag":3154,"props":5964,"children":5965},{"style":3348},[5966],{"type":3076,"value":5562},{"type":3071,"tag":3078,"props":5968,"children":5969},{},[5970,5971,5977,5979,5984,5985,5990,5992,5999],{"type":3076,"value":4856},{"type":3071,"tag":3229,"props":5972,"children":5974},{"className":5973},[],[5975],{"type":3076,"value":5976},"Bouncer",{"type":3076,"value":5978}," component offers a more flexible and centralized way to handle both can and cannot scenarios within a single component. Instead of using separate ",{"type":3071,"tag":3229,"props":5980,"children":5982},{"className":5981},[],[5983],{"type":3076,"value":5734},{"type":3076,"value":5457},{"type":3071,"tag":3229,"props":5986,"children":5988},{"className":5987},[],[5989],{"type":3076,"value":5775},{"type":3076,"value":5991}," components, you can leverage the Bouncer component and its ",{"type":3071,"tag":3082,"props":5993,"children":5996},{"href":5994,"rel":5995},"https:\u002F\u002Fvuejs.org\u002Fguide\u002Fcomponents\u002Fslots.html#named-slots",[3086],[5997],{"type":3076,"value":5998},"named slots",{"type":3076,"value":6000}," to handle both states in a unified block.",{"type":3071,"tag":3222,"props":6002,"children":6004},{"className":5538,"code":6003,"language":5540,"meta":3021,"style":3021},"\u003CBouncer\n  :ability=\"editPost\"\n  :args=\"[post]\" \u002F\u002F Optional if the ability does not take any arguments\n>\n  \u003Ctemplate #can>\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n  \u003C\u002Ftemplate>\n\n  \u003Ctemplate #cannot>\n    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n  \u003C\u002Ftemplate>\n\u003C\u002FBouncer>\n",[6005],{"type":3071,"tag":3229,"props":6006,"children":6007},{"__ignoreMap":3021},[6008,6020,6049,6117,6124,6132,6140,6148,6155,6163,6171,6178],{"type":3071,"tag":3154,"props":6009,"children":6010},{"class":3234,"line":3055},[6011,6015],{"type":3071,"tag":3154,"props":6012,"children":6013},{"style":3348},[6014],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6016,"children":6017},{"style":3357},[6018],{"type":3076,"value":6019},"Bouncer\n",{"type":3071,"tag":3154,"props":6021,"children":6022},{"class":3234,"line":3048},[6023,6028,6033,6037,6041,6045],{"type":3071,"tag":3154,"props":6024,"children":6025},{"style":3348},[6026],{"type":3076,"value":6027},"  :",{"type":3071,"tag":3154,"props":6029,"children":6030},{"style":3493},[6031],{"type":3076,"value":6032},"ability",{"type":3071,"tag":3154,"props":6034,"children":6035},{"style":3348},[6036],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6038,"children":6039},{"style":3348},[6040],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6042,"children":6043},{"style":3342},[6044],{"type":3076,"value":5597},{"type":3071,"tag":3154,"props":6046,"children":6047},{"style":3348},[6048],{"type":3076,"value":5602},{"type":3071,"tag":3154,"props":6050,"children":6051},{"class":3234,"line":3044},[6052,6056,6061,6065,6069,6073,6077,6081,6085,6089,6093,6097,6101,6105,6109,6113],{"type":3071,"tag":3154,"props":6053,"children":6054},{"style":3348},[6055],{"type":3076,"value":6027},{"type":3071,"tag":3154,"props":6057,"children":6058},{"style":3493},[6059],{"type":3076,"value":6060},"args",{"type":3071,"tag":3154,"props":6062,"children":6063},{"style":3348},[6064],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6066,"children":6067},{"style":3348},[6068],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6070,"children":6071},{"style":3342},[6072],{"type":3076,"value":5623},{"type":3071,"tag":3154,"props":6074,"children":6075},{"style":3348},[6076],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6078,"children":6079},{"style":3342},[6080],{"type":3076,"value":5632},{"type":3071,"tag":3154,"props":6082,"children":6083},{"style":3493},[6084],{"type":3076,"value":5637},{"type":3071,"tag":3154,"props":6086,"children":6087},{"style":3493},[6088],{"type":3076,"value":5642},{"type":3071,"tag":3154,"props":6090,"children":6091},{"style":3493},[6092],{"type":3076,"value":5647},{"type":3071,"tag":3154,"props":6094,"children":6095},{"style":3493},[6096],{"type":3076,"value":5652},{"type":3071,"tag":3154,"props":6098,"children":6099},{"style":3493},[6100],{"type":3076,"value":5657},{"type":3071,"tag":3154,"props":6102,"children":6103},{"style":3493},[6104],{"type":3076,"value":5662},{"type":3071,"tag":3154,"props":6106,"children":6107},{"style":3493},[6108],{"type":3076,"value":5667},{"type":3071,"tag":3154,"props":6110,"children":6111},{"style":3493},[6112],{"type":3076,"value":5672},{"type":3071,"tag":3154,"props":6114,"children":6115},{"style":3493},[6116],{"type":3076,"value":5677},{"type":3071,"tag":3154,"props":6118,"children":6119},{"class":3234,"line":3409},[6120],{"type":3071,"tag":3154,"props":6121,"children":6122},{"style":3348},[6123],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":6125,"children":6126},{"class":3234,"line":3428},[6127],{"type":3071,"tag":3154,"props":6128,"children":6129},{"style":3342},[6130],{"type":3076,"value":6131},"  \u003Ctemplate #can>\n",{"type":3071,"tag":3154,"props":6133,"children":6134},{"class":3234,"line":3441},[6135],{"type":3071,"tag":3154,"props":6136,"children":6137},{"style":3342},[6138],{"type":3076,"value":6139},"    \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3071,"tag":3154,"props":6141,"children":6142},{"class":3234,"line":3458},[6143],{"type":3071,"tag":3154,"props":6144,"children":6145},{"style":3342},[6146],{"type":3076,"value":6147},"  \u003C\u002Ftemplate>\n",{"type":3071,"tag":3154,"props":6149,"children":6150},{"class":3234,"line":3475},[6151],{"type":3071,"tag":3154,"props":6152,"children":6153},{"emptyLinePlaceholder":1200},[6154],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6156,"children":6157},{"class":3234,"line":3503},[6158],{"type":3071,"tag":3154,"props":6159,"children":6160},{"style":3342},[6161],{"type":3076,"value":6162},"  \u003Ctemplate #cannot>\n",{"type":3071,"tag":3154,"props":6164,"children":6165},{"class":3234,"line":3513},[6166],{"type":3071,"tag":3154,"props":6167,"children":6168},{"style":3342},[6169],{"type":3076,"value":6170},"    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n",{"type":3071,"tag":3154,"props":6172,"children":6173},{"class":3234,"line":3522},[6174],{"type":3071,"tag":3154,"props":6175,"children":6176},{"style":3342},[6177],{"type":3076,"value":6147},{"type":3071,"tag":3154,"props":6179,"children":6180},{"class":3234,"line":3531},[6181,6185,6189],{"type":3071,"tag":3154,"props":6182,"children":6183},{"style":3348},[6184],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6186,"children":6187},{"style":3357},[6188],{"type":3076,"value":5976},{"type":3071,"tag":3154,"props":6190,"children":6191},{"style":3348},[6192],{"type":3076,"value":5562},{"type":3071,"tag":3078,"props":6194,"children":6195},{},[6196,6198,6204],{"type":3076,"value":6197},"All of these components accept a prop named ",{"type":3071,"tag":3229,"props":6199,"children":6201},{"className":6200},[],[6202],{"type":3076,"value":6203},"as",{"type":3076,"value":6205}," to define the HTML tag to render. By default, it's a renderless component.",{"type":3071,"tag":3222,"props":6207,"children":6209},{"className":5538,"code":6208,"language":5540,"meta":3021,"style":3021},"\u003CCan\n  :ability=\"editPost\"\n  :args=\"[post]\"\n  as=\"div\"\n>\n  \u003Cbutton>Edit\u003C\u002Fbutton>\n\u003C\u002FCan>\n",[6210],{"type":3071,"tag":3229,"props":6211,"children":6212},{"__ignoreMap":3021},[6213,6224,6251,6278,6303,6310,6318],{"type":3071,"tag":3154,"props":6214,"children":6215},{"class":3234,"line":3055},[6216,6220],{"type":3071,"tag":3154,"props":6217,"children":6218},{"style":3348},[6219],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6221,"children":6222},{"style":3357},[6223],{"type":3076,"value":5575},{"type":3071,"tag":3154,"props":6225,"children":6226},{"class":3234,"line":3048},[6227,6231,6235,6239,6243,6247],{"type":3071,"tag":3154,"props":6228,"children":6229},{"style":3348},[6230],{"type":3076,"value":6027},{"type":3071,"tag":3154,"props":6232,"children":6233},{"style":3493},[6234],{"type":3076,"value":6032},{"type":3071,"tag":3154,"props":6236,"children":6237},{"style":3348},[6238],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6240,"children":6241},{"style":3348},[6242],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6244,"children":6245},{"style":3342},[6246],{"type":3076,"value":5597},{"type":3071,"tag":3154,"props":6248,"children":6249},{"style":3348},[6250],{"type":3076,"value":5602},{"type":3071,"tag":3154,"props":6252,"children":6253},{"class":3234,"line":3044},[6254,6258,6262,6266,6270,6274],{"type":3071,"tag":3154,"props":6255,"children":6256},{"style":3348},[6257],{"type":3076,"value":6027},{"type":3071,"tag":3154,"props":6259,"children":6260},{"style":3493},[6261],{"type":3076,"value":6060},{"type":3071,"tag":3154,"props":6263,"children":6264},{"style":3348},[6265],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6267,"children":6268},{"style":3348},[6269],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6271,"children":6272},{"style":3342},[6273],{"type":3076,"value":5623},{"type":3071,"tag":3154,"props":6275,"children":6276},{"style":3348},[6277],{"type":3076,"value":5602},{"type":3071,"tag":3154,"props":6279,"children":6280},{"class":3234,"line":3409},[6281,6286,6290,6294,6299],{"type":3071,"tag":3154,"props":6282,"children":6283},{"style":3493},[6284],{"type":3076,"value":6285},"  as",{"type":3071,"tag":3154,"props":6287,"children":6288},{"style":3348},[6289],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6291,"children":6292},{"style":3348},[6293],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6295,"children":6296},{"style":3244},[6297],{"type":3076,"value":6298},"div",{"type":3071,"tag":3154,"props":6300,"children":6301},{"style":3348},[6302],{"type":3076,"value":5602},{"type":3071,"tag":3154,"props":6304,"children":6305},{"class":3234,"line":3428},[6306],{"type":3071,"tag":3154,"props":6307,"children":6308},{"style":3348},[6309],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":6311,"children":6312},{"class":3234,"line":3441},[6313],{"type":3071,"tag":3154,"props":6314,"children":6315},{"style":3342},[6316],{"type":3076,"value":6317},"  \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3071,"tag":3154,"props":6319,"children":6320},{"class":3234,"line":3458},[6321,6325,6329],{"type":3071,"tag":3154,"props":6322,"children":6323},{"style":3348},[6324],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6326,"children":6327},{"style":3357},[6328],{"type":3076,"value":5734},{"type":3071,"tag":3154,"props":6330,"children":6331},{"style":3348},[6332],{"type":3076,"value":5562},{"type":3071,"tag":3078,"props":6334,"children":6335},{},[6336],{"type":3076,"value":6337},"This will render:",{"type":3071,"tag":3222,"props":6339,"children":6343},{"className":6340,"code":6341,"language":6342,"meta":3021,"style":3021},"language-html shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cdiv>\n  \u003Cbutton>Edit\u003C\u002Fbutton>\n\u003C\u002Fdiv>\n","html",[6344],{"type":3071,"tag":3229,"props":6345,"children":6346},{"__ignoreMap":3021},[6347,6362,6393],{"type":3071,"tag":3154,"props":6348,"children":6349},{"class":3234,"line":3055},[6350,6354,6358],{"type":3071,"tag":3154,"props":6351,"children":6352},{"style":3348},[6353],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6355,"children":6356},{"style":3357},[6357],{"type":3076,"value":6298},{"type":3071,"tag":3154,"props":6359,"children":6360},{"style":3348},[6361],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":6363,"children":6364},{"class":3234,"line":3048},[6365,6369,6373,6377,6381,6385,6389],{"type":3071,"tag":3154,"props":6366,"children":6367},{"style":3348},[6368],{"type":3076,"value":5570},{"type":3071,"tag":3154,"props":6370,"children":6371},{"style":3357},[6372],{"type":3076,"value":5698},{"type":3071,"tag":3154,"props":6374,"children":6375},{"style":3348},[6376],{"type":3076,"value":5703},{"type":3071,"tag":3154,"props":6378,"children":6379},{"style":3342},[6380],{"type":3076,"value":5708},{"type":3071,"tag":3154,"props":6382,"children":6383},{"style":3348},[6384],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6386,"children":6387},{"style":3357},[6388],{"type":3076,"value":5698},{"type":3071,"tag":3154,"props":6390,"children":6391},{"style":3348},[6392],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":6394,"children":6395},{"class":3234,"line":3044},[6396,6400,6404],{"type":3071,"tag":3154,"props":6397,"children":6398},{"style":3348},[6399],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6401,"children":6402},{"style":3357},[6403],{"type":3076,"value":6298},{"type":3071,"tag":3154,"props":6405,"children":6406},{"style":3348},[6407],{"type":3076,"value":5562},{"type":3071,"tag":3078,"props":6409,"children":6410},{},[6411],{"type":3076,"value":6412},"Instead of:",{"type":3071,"tag":3222,"props":6414,"children":6416},{"className":6340,"code":6415,"language":6342,"meta":3021,"style":3021},"\u003Cbutton>Edit\u003C\u002Fbutton>\n",[6417],{"type":3071,"tag":3229,"props":6418,"children":6419},{"__ignoreMap":3021},[6420],{"type":3071,"tag":3154,"props":6421,"children":6422},{"class":3234,"line":3055},[6423,6427,6431,6435,6439,6443,6447],{"type":3071,"tag":3154,"props":6424,"children":6425},{"style":3348},[6426],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6428,"children":6429},{"style":3357},[6430],{"type":3076,"value":5698},{"type":3071,"tag":3154,"props":6432,"children":6433},{"style":3348},[6434],{"type":3076,"value":5703},{"type":3071,"tag":3154,"props":6436,"children":6437},{"style":3342},[6438],{"type":3076,"value":5708},{"type":3071,"tag":3154,"props":6440,"children":6441},{"style":3348},[6442],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6444,"children":6445},{"style":3357},[6446],{"type":3076,"value":5698},{"type":3071,"tag":3154,"props":6448,"children":6449},{"style":3348},[6450],{"type":3076,"value":5562},{"type":3071,"tag":3870,"props":6452,"children":6454},{"id":6453},"multiple-abilities",[6455],{"type":3076,"value":6456},"Multiple abilities",{"type":3071,"tag":3078,"props":6458,"children":6459},{},[6460,6462,6467,6469,6474],{"type":3076,"value":6461},"If you possess multiple abilities, you can provide an array of abilities to the components. The component will render only if ",{"type":3071,"tag":4681,"props":6463,"children":6464},{},[6465],{"type":3076,"value":6466},"all",{"type":3076,"value":6468}," of the abilities ",{"type":3071,"tag":4681,"props":6470,"children":6471},{},[6472],{"type":3076,"value":6473},"match",{"type":3076,"value":6475}," the specified requirements of the component.",{"type":3071,"tag":3222,"props":6477,"children":6479},{"className":5538,"code":6478,"language":5540,"meta":3021,"style":3021},"\u003CCan :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\" \u002F>\n\n\u003CCannot :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\" \u002F>\n\n\u003CBouncer :ability=\"[editPost, deletePost]\" :args=\"[[post], [post]]\">\n  \u003Ctemplate #can>\n    \u003Cbutton>Edit\u003C\u002Fbutton>\n    \u003Cbutton>Delete\u003C\u002Fbutton>\n  \u003C\u002Ftemplate>\n\n  \u003Ctemplate #cannot>\n    \u003Cp>You're not allowed to edit or delete the post.\u003C\u002Fp>\n  \u003C\u002Ftemplate>\n\u003C\u002FBouncer>\n",[6480],{"type":3071,"tag":3229,"props":6481,"children":6482},{"__ignoreMap":3021},[6483,6568,6575,6654,6661,6740,6747,6754,6762,6769,6776,6783,6791,6798],{"type":3071,"tag":3154,"props":6484,"children":6485},{"class":3234,"line":3055},[6486,6490,6494,6499,6503,6507,6511,6516,6520,6525,6529,6533,6537,6541,6545,6550,6554,6559,6563],{"type":3071,"tag":3154,"props":6487,"children":6488},{"style":3348},[6489],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6491,"children":6492},{"style":3357},[6493],{"type":3076,"value":5734},{"type":3071,"tag":3154,"props":6495,"children":6496},{"style":3348},[6497],{"type":3076,"value":6498}," :",{"type":3071,"tag":3154,"props":6500,"children":6501},{"style":3493},[6502],{"type":3076,"value":6032},{"type":3071,"tag":3154,"props":6504,"children":6505},{"style":3348},[6506],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6508,"children":6509},{"style":3348},[6510],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6512,"children":6513},{"style":3342},[6514],{"type":3076,"value":6515},"[editPost",{"type":3071,"tag":3154,"props":6517,"children":6518},{"style":3348},[6519],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6521,"children":6522},{"style":3342},[6523],{"type":3076,"value":6524}," deletePost]",{"type":3071,"tag":3154,"props":6526,"children":6527},{"style":3348},[6528],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6530,"children":6531},{"style":3348},[6532],{"type":3076,"value":6498},{"type":3071,"tag":3154,"props":6534,"children":6535},{"style":3493},[6536],{"type":3076,"value":6060},{"type":3071,"tag":3154,"props":6538,"children":6539},{"style":3348},[6540],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6542,"children":6543},{"style":3348},[6544],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6546,"children":6547},{"style":3342},[6548],{"type":3076,"value":6549},"[[post]",{"type":3071,"tag":3154,"props":6551,"children":6552},{"style":3348},[6553],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6555,"children":6556},{"style":3342},[6557],{"type":3076,"value":6558}," [post]]",{"type":3071,"tag":3154,"props":6560,"children":6561},{"style":3348},[6562],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6564,"children":6565},{"style":3348},[6566],{"type":3076,"value":6567}," \u002F>\n",{"type":3071,"tag":3154,"props":6569,"children":6570},{"class":3234,"line":3048},[6571],{"type":3071,"tag":3154,"props":6572,"children":6573},{"emptyLinePlaceholder":1200},[6574],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6576,"children":6577},{"class":3234,"line":3044},[6578,6582,6586,6590,6594,6598,6602,6606,6610,6614,6618,6622,6626,6630,6634,6638,6642,6646,6650],{"type":3071,"tag":3154,"props":6579,"children":6580},{"style":3348},[6581],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6583,"children":6584},{"style":3357},[6585],{"type":3076,"value":5775},{"type":3071,"tag":3154,"props":6587,"children":6588},{"style":3348},[6589],{"type":3076,"value":6498},{"type":3071,"tag":3154,"props":6591,"children":6592},{"style":3493},[6593],{"type":3076,"value":6032},{"type":3071,"tag":3154,"props":6595,"children":6596},{"style":3348},[6597],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6599,"children":6600},{"style":3348},[6601],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6603,"children":6604},{"style":3342},[6605],{"type":3076,"value":6515},{"type":3071,"tag":3154,"props":6607,"children":6608},{"style":3348},[6609],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6611,"children":6612},{"style":3342},[6613],{"type":3076,"value":6524},{"type":3071,"tag":3154,"props":6615,"children":6616},{"style":3348},[6617],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6619,"children":6620},{"style":3348},[6621],{"type":3076,"value":6498},{"type":3071,"tag":3154,"props":6623,"children":6624},{"style":3493},[6625],{"type":3076,"value":6060},{"type":3071,"tag":3154,"props":6627,"children":6628},{"style":3348},[6629],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6631,"children":6632},{"style":3348},[6633],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6635,"children":6636},{"style":3342},[6637],{"type":3076,"value":6549},{"type":3071,"tag":3154,"props":6639,"children":6640},{"style":3348},[6641],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6643,"children":6644},{"style":3342},[6645],{"type":3076,"value":6558},{"type":3071,"tag":3154,"props":6647,"children":6648},{"style":3348},[6649],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6651,"children":6652},{"style":3348},[6653],{"type":3076,"value":6567},{"type":3071,"tag":3154,"props":6655,"children":6656},{"class":3234,"line":3409},[6657],{"type":3071,"tag":3154,"props":6658,"children":6659},{"emptyLinePlaceholder":1200},[6660],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6662,"children":6663},{"class":3234,"line":3428},[6664,6668,6672,6676,6680,6684,6688,6692,6696,6700,6704,6708,6712,6716,6720,6724,6728,6732,6736],{"type":3071,"tag":3154,"props":6665,"children":6666},{"style":3348},[6667],{"type":3076,"value":5552},{"type":3071,"tag":3154,"props":6669,"children":6670},{"style":3357},[6671],{"type":3076,"value":5976},{"type":3071,"tag":3154,"props":6673,"children":6674},{"style":3348},[6675],{"type":3076,"value":6498},{"type":3071,"tag":3154,"props":6677,"children":6678},{"style":3493},[6679],{"type":3076,"value":6032},{"type":3071,"tag":3154,"props":6681,"children":6682},{"style":3348},[6683],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6685,"children":6686},{"style":3348},[6687],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6689,"children":6690},{"style":3342},[6691],{"type":3076,"value":6515},{"type":3071,"tag":3154,"props":6693,"children":6694},{"style":3348},[6695],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6697,"children":6698},{"style":3342},[6699],{"type":3076,"value":6524},{"type":3071,"tag":3154,"props":6701,"children":6702},{"style":3348},[6703],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6705,"children":6706},{"style":3348},[6707],{"type":3076,"value":6498},{"type":3071,"tag":3154,"props":6709,"children":6710},{"style":3493},[6711],{"type":3076,"value":6060},{"type":3071,"tag":3154,"props":6713,"children":6714},{"style":3348},[6715],{"type":3076,"value":4485},{"type":3071,"tag":3154,"props":6717,"children":6718},{"style":3348},[6719],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6721,"children":6722},{"style":3342},[6723],{"type":3076,"value":6549},{"type":3071,"tag":3154,"props":6725,"children":6726},{"style":3348},[6727],{"type":3076,"value":3691},{"type":3071,"tag":3154,"props":6729,"children":6730},{"style":3342},[6731],{"type":3076,"value":6558},{"type":3071,"tag":3154,"props":6733,"children":6734},{"style":3348},[6735],{"type":3076,"value":5592},{"type":3071,"tag":3154,"props":6737,"children":6738},{"style":3348},[6739],{"type":3076,"value":5562},{"type":3071,"tag":3154,"props":6741,"children":6742},{"class":3234,"line":3441},[6743],{"type":3071,"tag":3154,"props":6744,"children":6745},{"style":3342},[6746],{"type":3076,"value":6131},{"type":3071,"tag":3154,"props":6748,"children":6749},{"class":3234,"line":3458},[6750],{"type":3071,"tag":3154,"props":6751,"children":6752},{"style":3342},[6753],{"type":3076,"value":6139},{"type":3071,"tag":3154,"props":6755,"children":6756},{"class":3234,"line":3475},[6757],{"type":3071,"tag":3154,"props":6758,"children":6759},{"style":3342},[6760],{"type":3076,"value":6761},"    \u003Cbutton>Delete\u003C\u002Fbutton>\n",{"type":3071,"tag":3154,"props":6763,"children":6764},{"class":3234,"line":3503},[6765],{"type":3071,"tag":3154,"props":6766,"children":6767},{"style":3342},[6768],{"type":3076,"value":6147},{"type":3071,"tag":3154,"props":6770,"children":6771},{"class":3234,"line":3513},[6772],{"type":3071,"tag":3154,"props":6773,"children":6774},{"emptyLinePlaceholder":1200},[6775],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6777,"children":6778},{"class":3234,"line":3522},[6779],{"type":3071,"tag":3154,"props":6780,"children":6781},{"style":3342},[6782],{"type":3076,"value":6162},{"type":3071,"tag":3154,"props":6784,"children":6785},{"class":3234,"line":3531},[6786],{"type":3071,"tag":3154,"props":6787,"children":6788},{"style":3342},[6789],{"type":3076,"value":6790},"    \u003Cp>You're not allowed to edit or delete the post.\u003C\u002Fp>\n",{"type":3071,"tag":3154,"props":6792,"children":6793},{"class":3234,"line":3060},[6794],{"type":3071,"tag":3154,"props":6795,"children":6796},{"style":3342},[6797],{"type":3076,"value":6147},{"type":3071,"tag":3154,"props":6799,"children":6800},{"class":3234,"line":3548},[6801,6805,6809],{"type":3071,"tag":3154,"props":6802,"children":6803},{"style":3348},[6804],{"type":3076,"value":5713},{"type":3071,"tag":3154,"props":6806,"children":6807},{"style":3357},[6808],{"type":3076,"value":5976},{"type":3071,"tag":3154,"props":6810,"children":6811},{"style":3348},[6812],{"type":3076,"value":5562},{"type":3071,"tag":3175,"props":6814,"children":6816},{"id":6815},"contribution",[6817],{"type":3076,"value":1021},{"type":3071,"tag":6819,"props":6820,"children":6821},"details",{},[6822,6824,6830],{"type":3076,"value":6823},"\n  ",{"type":3071,"tag":6825,"props":6826,"children":6827},"summary",{},[6828],{"type":3076,"value":6829},"Local development",{"type":3071,"tag":3222,"props":6831,"children":6833},{"className":3224,"code":6832,"language":3226,"meta":3021,"style":3021},"# Install dependencies\nnpm install\n\n# Generate type stubs\nnpm run dev:prepare\n\n# Develop with the playground\nnpm run dev\n\n# Build the playground\nnpm run dev:build\n\n# Run ESLint\nnpm run lint\n\n# Run Vitest\nnpm run test\nnpm run test:watch\n\n# Release new version\nnpm run release\n",[6834],{"type":3071,"tag":3229,"props":6835,"children":6836},{"__ignoreMap":3021},[6837,6845,6858,6865,6873,6890,6897,6905,6921,6928,6936,6952,6959,6967,6983,6990,6999,7016,7033,7041,7050],{"type":3071,"tag":3154,"props":6838,"children":6839},{"class":3234,"line":3055},[6840],{"type":3071,"tag":3154,"props":6841,"children":6842},{"style":3507},[6843],{"type":3076,"value":6844},"# Install dependencies\n",{"type":3071,"tag":3154,"props":6846,"children":6847},{"class":3234,"line":3048},[6848,6853],{"type":3071,"tag":3154,"props":6849,"children":6850},{"style":3238},[6851],{"type":3076,"value":6852},"npm",{"type":3071,"tag":3154,"props":6854,"children":6855},{"style":3244},[6856],{"type":3076,"value":6857}," install\n",{"type":3071,"tag":3154,"props":6859,"children":6860},{"class":3234,"line":3044},[6861],{"type":3071,"tag":3154,"props":6862,"children":6863},{"emptyLinePlaceholder":1200},[6864],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6866,"children":6867},{"class":3234,"line":3409},[6868],{"type":3071,"tag":3154,"props":6869,"children":6870},{"style":3507},[6871],{"type":3076,"value":6872},"# Generate type stubs\n",{"type":3071,"tag":3154,"props":6874,"children":6875},{"class":3234,"line":3428},[6876,6880,6885],{"type":3071,"tag":3154,"props":6877,"children":6878},{"style":3238},[6879],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":6881,"children":6882},{"style":3244},[6883],{"type":3076,"value":6884}," run",{"type":3071,"tag":3154,"props":6886,"children":6887},{"style":3244},[6888],{"type":3076,"value":6889}," dev:prepare\n",{"type":3071,"tag":3154,"props":6891,"children":6892},{"class":3234,"line":3441},[6893],{"type":3071,"tag":3154,"props":6894,"children":6895},{"emptyLinePlaceholder":1200},[6896],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6898,"children":6899},{"class":3234,"line":3458},[6900],{"type":3071,"tag":3154,"props":6901,"children":6902},{"style":3507},[6903],{"type":3076,"value":6904},"# Develop with the playground\n",{"type":3071,"tag":3154,"props":6906,"children":6907},{"class":3234,"line":3475},[6908,6912,6916],{"type":3071,"tag":3154,"props":6909,"children":6910},{"style":3238},[6911],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":6913,"children":6914},{"style":3244},[6915],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":6917,"children":6918},{"style":3244},[6919],{"type":3076,"value":6920}," dev\n",{"type":3071,"tag":3154,"props":6922,"children":6923},{"class":3234,"line":3503},[6924],{"type":3071,"tag":3154,"props":6925,"children":6926},{"emptyLinePlaceholder":1200},[6927],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6929,"children":6930},{"class":3234,"line":3513},[6931],{"type":3071,"tag":3154,"props":6932,"children":6933},{"style":3507},[6934],{"type":3076,"value":6935},"# Build the playground\n",{"type":3071,"tag":3154,"props":6937,"children":6938},{"class":3234,"line":3522},[6939,6943,6947],{"type":3071,"tag":3154,"props":6940,"children":6941},{"style":3238},[6942],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":6944,"children":6945},{"style":3244},[6946],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":6948,"children":6949},{"style":3244},[6950],{"type":3076,"value":6951}," dev:build\n",{"type":3071,"tag":3154,"props":6953,"children":6954},{"class":3234,"line":3531},[6955],{"type":3071,"tag":3154,"props":6956,"children":6957},{"emptyLinePlaceholder":1200},[6958],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6960,"children":6961},{"class":3234,"line":3060},[6962],{"type":3071,"tag":3154,"props":6963,"children":6964},{"style":3507},[6965],{"type":3076,"value":6966},"# Run ESLint\n",{"type":3071,"tag":3154,"props":6968,"children":6969},{"class":3234,"line":3548},[6970,6974,6978],{"type":3071,"tag":3154,"props":6971,"children":6972},{"style":3238},[6973],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":6975,"children":6976},{"style":3244},[6977],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":6979,"children":6980},{"style":3244},[6981],{"type":3076,"value":6982}," lint\n",{"type":3071,"tag":3154,"props":6984,"children":6985},{"class":3234,"line":3557},[6986],{"type":3071,"tag":3154,"props":6987,"children":6988},{"emptyLinePlaceholder":1200},[6989],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":6991,"children":6993},{"class":3234,"line":6992},16,[6994],{"type":3071,"tag":3154,"props":6995,"children":6996},{"style":3507},[6997],{"type":3076,"value":6998},"# Run Vitest\n",{"type":3071,"tag":3154,"props":7000,"children":7002},{"class":3234,"line":7001},17,[7003,7007,7011],{"type":3071,"tag":3154,"props":7004,"children":7005},{"style":3238},[7006],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":7008,"children":7009},{"style":3244},[7010],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":7012,"children":7013},{"style":3244},[7014],{"type":3076,"value":7015}," test\n",{"type":3071,"tag":3154,"props":7017,"children":7019},{"class":3234,"line":7018},18,[7020,7024,7028],{"type":3071,"tag":3154,"props":7021,"children":7022},{"style":3238},[7023],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":7025,"children":7026},{"style":3244},[7027],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":7029,"children":7030},{"style":3244},[7031],{"type":3076,"value":7032}," test:watch\n",{"type":3071,"tag":3154,"props":7034,"children":7036},{"class":3234,"line":7035},19,[7037],{"type":3071,"tag":3154,"props":7038,"children":7039},{"emptyLinePlaceholder":1200},[7040],{"type":3076,"value":4524},{"type":3071,"tag":3154,"props":7042,"children":7044},{"class":3234,"line":7043},20,[7045],{"type":3071,"tag":3154,"props":7046,"children":7047},{"style":3507},[7048],{"type":3076,"value":7049},"# Release new version\n",{"type":3071,"tag":3154,"props":7051,"children":7053},{"class":3234,"line":7052},21,[7054,7058,7062],{"type":3071,"tag":3154,"props":7055,"children":7056},{"style":3238},[7057],{"type":3076,"value":6852},{"type":3071,"tag":3154,"props":7059,"children":7060},{"style":3244},[7061],{"type":3076,"value":6884},{"type":3071,"tag":3154,"props":7063,"children":7064},{"style":3244},[7065],{"type":3076,"value":7066}," release\n",{"type":3071,"tag":3175,"props":7068,"children":7070},{"id":7069},"credits",[7071],{"type":3076,"value":7072},"Credits",{"type":3071,"tag":3078,"props":7074,"children":7075},{},[7076,7078,7085],{"type":3076,"value":7077},"This module, both code and design, is heavily inspired by the ",{"type":3071,"tag":3082,"props":7079,"children":7082},{"href":7080,"rel":7081},"https:\u002F\u002Fdocs.adonisjs.com\u002Fguides\u002Fsecurity\u002Fauthorization",[3086],[7083],{"type":3076,"value":7084},"Adonis Bouncer",{"type":3076,"value":7086},". It's a well written package and I think reinventing the wheel every time is unnecessary.",{"type":3071,"tag":3175,"props":7088,"children":7090},{"id":7089},"license",[7091],{"type":3076,"value":3109},{"type":3071,"tag":3078,"props":7093,"children":7094},{},[7095],{"type":3071,"tag":3082,"props":7096,"children":7098},{"href":7097},".\u002FLICENSE",[7099],{"type":3076,"value":7100},"MIT License",{"type":3071,"tag":7102,"props":7103,"children":7104},"style",{},[7105],{"type":3076,"value":7106},"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);}",{"title":3021,"searchDepth":3048,"depth":3048,"links":7108},[7109,7110,7111,7117,7118,7119],{"id":3177,"depth":3048,"text":399},{"id":3212,"depth":3048,"text":3215},{"id":3270,"depth":3048,"text":3273,"children":7112},[7113,7114,7115,7116],{"id":3289,"depth":3044,"text":3292},{"id":4408,"depth":3044,"text":4411},{"id":4807,"depth":3044,"text":4810},{"id":5527,"depth":3044,"text":5530},{"id":6815,"depth":3048,"text":1021},{"id":7069,"depth":3048,"text":7072},{"id":7089,"depth":3048,"text":3109}]