[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"versions":2975,"module-authorization":2980},[4,1124,1955,2777],{"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,1411,1785,1862,1884,1918],{"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,1323,1333,1361,1377],{"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,1320],{"title":1314,"path":1315,"stem":1316,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1318,"stem":1319,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1321,"stem":1322,"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":1324,"stem":1325,"children":1326,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1327,1330],{"title":314,"path":1328,"stem":1329,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1331,"stem":1332,"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":1334,"stem":1335,"children":1336,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1337,1340,1343,1346,1349,1352,1355,1358],{"title":329,"path":1338,"stem":1339,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1341,"stem":1342,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1344,"stem":1345,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1347,"stem":1348,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":1350,"stem":1351,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":1353,"stem":1354,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":1356,"stem":1357,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":1359,"stem":1360,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":1362,"stem":1363,"children":1364,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1365,1368,1371,1374],{"title":368,"path":1366,"stem":1367,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":1369,"stem":1370,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":1372,"stem":1373,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":1375,"stem":1376,"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":1378,"stem":1379,"children":1380,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1381,1384,1387,1390,1393,1396,1399,1402,1405,1408],{"title":391,"path":1382,"stem":1383,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":1385,"stem":1386,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":1388,"stem":1389,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":1391,"stem":1392,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":1394,"stem":1395,"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":1397,"stem":1398,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":1400,"stem":1401,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":1403,"stem":1404,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":1406,"stem":1407,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":1409,"stem":1410,"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":1412,"stem":1413,"children":1414,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1415,1468,1571,1662,1714,1772,1782],{"title":438,"titleTemplate":439,"icon":324,"path":1416,"stem":1417,"children":1418,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1419,1422,1425,1428,1431,1434,1437,1440,1444,1447,1450,1453,1456,1459,1462,1465],{"title":444,"path":1420,"stem":1421,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":1423,"stem":1424,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":1426,"stem":1427,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":1429,"stem":1430,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":1432,"stem":1433,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":1435,"stem":1436,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":1438,"stem":1439,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1441,"path":1442,"stem":1443,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":1445,"stem":1446,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":1448,"stem":1449,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":1451,"stem":1452,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":1454,"stem":1455,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":1457,"stem":1458,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":1460,"stem":1461,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":1463,"stem":1464,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":1466,"stem":1467,"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":1469,"stem":1470,"children":1471,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1472,1476,1480,1483,1487,1490,1493,1496,1499,1502,1505,1508,1511,1514,1517,1520,1523,1526,1529,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568],{"title":1473,"path":1474,"stem":1475,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1477,"path":1478,"stem":1479,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":1481,"stem":1482,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1484,"path":1485,"stem":1486,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":1488,"stem":1489,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":1491,"stem":1492,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":1494,"stem":1495,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":1497,"stem":1498,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":1500,"stem":1501,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":1503,"stem":1504,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":1506,"stem":1507,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":1509,"stem":1510,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":1512,"stem":1513,"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":1515,"stem":1516,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":1518,"stem":1519,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":1521,"stem":1522,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":1524,"stem":1525,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":1527,"stem":1528,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":1530,"stem":1531,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":1533,"stem":1534,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":1536,"stem":1537,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":1539,"stem":1540,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":1542,"stem":1543,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":1545,"stem":1546,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":1548,"stem":1549,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":1551,"stem":1552,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":1554,"stem":1555,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":1557,"stem":1558,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":1560,"stem":1561,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":1563,"stem":1564,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":1566,"stem":1567,"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":1569,"stem":1570,"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":1572,"stem":1573,"children":1574,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[1575,1578,1581,1584,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],{"title":634,"path":1576,"stem":1577,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":1579,"stem":1580,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":1582,"stem":1583,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":1585,"stem":1586,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":1588,"stem":1589,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":1591,"stem":1592,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":1594,"stem":1595,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":1597,"stem":1598,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":1600,"stem":1601,"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":1603,"stem":1604,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":1606,"stem":1607,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":1609,"stem":1610,"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":1612,"stem":1613,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":1615,"stem":1616,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":1618,"stem":1619,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":1621,"stem":1622,"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":1624,"stem":1625,"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":1627,"stem":1628,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":1630,"stem":1631,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":1633,"stem":1634,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":1636,"stem":1637,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":1639,"stem":1640,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":1642,"stem":1643,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":1645,"stem":1646,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":1648,"stem":1649,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":1651,"stem":1652,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":1654,"stem":1655,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":1657,"stem":1658,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":1660,"stem":1661,"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":1663,"stem":1664,"children":1665,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1666,1669,1672,1675,1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711],{"title":757,"path":1667,"stem":1668,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":1670,"stem":1671,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":1673,"stem":1674,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":1676,"stem":1677,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":1679,"stem":1680,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":1682,"stem":1683,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":1685,"stem":1686,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":1688,"stem":1689,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":1691,"stem":1692,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":1694,"stem":1695,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":1697,"stem":1698,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":1700,"stem":1701,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":1703,"stem":1704,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":1706,"stem":1707,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":1709,"stem":1710,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":1712,"stem":1713,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":1715,"stem":1716,"children":1717,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1718,1721,1724,1727,1730,1733,1736,1739,1742,1745,1748,1751,1754,1757,1760,1763,1766,1769],{"title":276,"path":1719,"stem":1720,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":1722,"stem":1723,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":1725,"stem":1726,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":1728,"stem":1729,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":1731,"stem":1732,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":1734,"stem":1735,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":1737,"stem":1738,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":1740,"stem":1741,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":1743,"stem":1744,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":1746,"stem":1747,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":1749,"stem":1750,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1752,"stem":1753,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":1755,"stem":1756,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":1758,"stem":1759,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":1761,"stem":1762,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":1764,"stem":1765,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":1767,"stem":1768,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":1770,"stem":1771,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":1773,"stem":1774,"children":1775,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1776,1779],{"title":411,"path":1777,"stem":1778,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":1780,"stem":1781,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":1783,"stem":1784,"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":1786,"stem":1787,"children":1788,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1789,1792,1811,1824,1855],{"title":918,"path":1790,"stem":1791,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":1793,"stem":1794,"children":1795,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1796,1799,1802,1805,1808],{"title":926,"path":1797,"stem":1798,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1800,"stem":1801,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1803,"stem":1804,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":1806,"stem":1807,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":1809,"stem":1810,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1812,"stem":1813,"children":1814,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1815,1818,1821],{"title":948,"path":1816,"stem":1817,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":1819,"stem":1820,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":1822,"stem":1823,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":1825,"stem":1826,"children":1827,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1828,1831,1834,1837,1840,1843,1846,1849,1852],{"title":84,"path":1829,"stem":1830,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1832,"stem":1833,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":1835,"stem":1836,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":1838,"stem":1839,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":1841,"stem":1842,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":1844,"stem":1845,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1847,"stem":1848,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":1850,"stem":1851,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":1853,"stem":1854,"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":1856,"stem":1857,"children":1858,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1859],{"title":1000,"path":1860,"stem":1861,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":1863,"stem":1864,"children":1865,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1866,1869,1872,1875,1878,1881],{"title":1011,"path":1867,"stem":1868,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":1870,"stem":1871,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":1873,"stem":1874,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1026,"path":1876,"stem":1877,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":1879,"stem":1880,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":1882,"stem":1883,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":1885,"stem":1886,"children":1887,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1888,1891,1894,1897,1900,1903,1906,1909,1912,1915],{"title":1048,"path":1889,"stem":1890,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1892,"stem":1893,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1895,"stem":1896,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":1898,"stem":1899,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":1901,"stem":1902,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":1904,"stem":1905,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":1907,"stem":1908,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1910,"stem":1911,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":1913,"stem":1914,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":1916,"stem":1917,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":1919,"stem":1920,"children":1921,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1922,1925,1928,1931,1934,1937,1940,1943,1946,1949,1952],{"title":1048,"path":1923,"stem":1924,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1092,"path":1926,"stem":1927,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1929,"stem":1930,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1932,"stem":1933,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1935,"stem":1936,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":1938,"stem":1939,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":1941,"stem":1942,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1062,"path":1944,"stem":1945,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":1947,"stem":1948,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":1950,"stem":1951,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1953,"stem":1954,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1956,"stem":1957,"children":1958,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[1959,2017,2107,2237,2607,2684,2706,2740],{"title":12,"titleTemplate":13,"icon":14,"path":1960,"stem":1961,"children":1962,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[1963,1966,1969,1972,1975,1978,1981,1984,1987,1990,1993,1996,1999,2002,2005,2008,2011,2014],{"title":19,"path":1964,"stem":1965,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1967,"stem":1968,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1970,"stem":1971,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1973,"stem":1974,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1976,"stem":1977,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1979,"stem":1980,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1982,"stem":1983,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1985,"stem":1986,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1988,"stem":1989,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1991,"stem":1992,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1994,"stem":1995,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1997,"stem":1998,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":2000,"stem":2001,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":2003,"stem":2004,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":2006,"stem":2007,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2009,"stem":2010,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2012,"stem":2013,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2015,"stem":2016,"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":2018,"stem":2019,"children":2020,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2021,2024,2027,2065,2068,2071,2074,2077,2080,2083,2086,2089,2092,2095,2098,2101,2104],{"title":117,"path":2022,"stem":2023,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2025,"stem":2026,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1197,"titleTemplate":111,"head":2028,"defaultOpen":1200,"icon":1201,"path":2029,"stem":2030,"children":2031,"page":108},{"title":1199},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2032,2035,2038,2041,2044,2047,2050,2053,2056,2059,2062],{"title":127,"path":2033,"stem":2034,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2036,"stem":2037,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2039,"stem":2040,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2042,"stem":2043,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2045,"stem":2046,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2048,"stem":2049,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2051,"stem":2052,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2054,"stem":2055,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2057,"stem":2058,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2060,"stem":2061,"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":2063,"stem":2064,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2066,"stem":2067,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2069,"stem":2070,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2072,"stem":2073,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2075,"stem":2076,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2078,"stem":2079,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2081,"stem":2082,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2084,"stem":2085,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":2087,"stem":2088,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2090,"stem":2091,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2093,"stem":2094,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2096,"stem":2097,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2099,"stem":2100,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2102,"stem":2103,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2105,"stem":2106,"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":2108,"stem":2109,"children":2110,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2111,2136,2149,2159,2187,2203],{"title":253,"titleTemplate":254,"icon":255,"path":2112,"stem":2113,"children":2114,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2115,2118,2121,2124,2127,2130,2133],{"title":260,"path":2116,"stem":2117,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2119,"stem":2120,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2122,"stem":2123,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2125,"stem":2126,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2128,"stem":2129,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":2131,"stem":2132,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2134,"stem":2135,"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":2137,"stem":2138,"children":2139,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2140,2143,2146],{"title":1314,"path":2141,"stem":2142,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2144,"stem":2145,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2147,"stem":2148,"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":2150,"stem":2151,"children":2152,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2153,2156],{"title":314,"path":2154,"stem":2155,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2157,"stem":2158,"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":2160,"stem":2161,"children":2162,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2163,2166,2169,2172,2175,2178,2181,2184],{"title":329,"path":2164,"stem":2165,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2167,"stem":2168,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2170,"stem":2171,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2173,"stem":2174,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":2176,"stem":2177,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":2179,"stem":2180,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":2182,"stem":2183,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":2185,"stem":2186,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":2188,"stem":2189,"children":2190,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2191,2194,2197,2200],{"title":368,"path":2192,"stem":2193,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":2195,"stem":2196,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":2198,"stem":2199,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":2201,"stem":2202,"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":2204,"stem":2205,"children":2206,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2207,2210,2213,2216,2219,2222,2225,2228,2231,2234],{"title":391,"path":2208,"stem":2209,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":2211,"stem":2212,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":2214,"stem":2215,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":2217,"stem":2218,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":2220,"stem":2221,"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":2223,"stem":2224,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":2226,"stem":2227,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":2229,"stem":2230,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":2232,"stem":2233,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":2235,"stem":2236,"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":2238,"stem":2239,"children":2240,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2241,2293,2393,2484,2536,2594,2604],{"title":438,"titleTemplate":439,"icon":324,"path":2242,"stem":2243,"children":2244,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2245,2248,2251,2254,2257,2260,2263,2266,2269,2272,2275,2278,2281,2284,2287,2290],{"title":444,"path":2246,"stem":2247,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":2249,"stem":2250,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":2252,"stem":2253,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":2255,"stem":2256,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":2258,"stem":2259,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":2261,"stem":2262,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":2264,"stem":2265,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1441,"path":2267,"stem":2268,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":2270,"stem":2271,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":2273,"stem":2274,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":2276,"stem":2277,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":2279,"stem":2280,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":2282,"stem":2283,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":2285,"stem":2286,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":2288,"stem":2289,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":2291,"stem":2292,"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":2294,"stem":2295,"children":2296,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2297,2300,2303,2306,2309,2312,2315,2318,2321,2324,2327,2330,2333,2336,2339,2342,2345,2348,2351,2354,2357,2360,2363,2366,2369,2372,2375,2378,2381,2384,2387,2390],{"title":1473,"path":2298,"stem":2299,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1477,"path":2301,"stem":2302,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":2304,"stem":2305,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1484,"path":2307,"stem":2308,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":2310,"stem":2311,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":2313,"stem":2314,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":2316,"stem":2317,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":2319,"stem":2320,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":2322,"stem":2323,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":2325,"stem":2326,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":2328,"stem":2329,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":2331,"stem":2332,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":2334,"stem":2335,"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":2337,"stem":2338,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":2340,"stem":2341,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":2343,"stem":2344,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":2346,"stem":2347,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":2349,"stem":2350,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":2352,"stem":2353,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":2355,"stem":2356,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":2358,"stem":2359,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":2361,"stem":2362,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":2364,"stem":2365,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":2367,"stem":2368,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":2370,"stem":2371,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":2373,"stem":2374,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":2376,"stem":2377,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":2379,"stem":2380,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":2382,"stem":2383,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":2385,"stem":2386,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":2388,"stem":2389,"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":2391,"stem":2392,"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":2394,"stem":2395,"children":2396,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2397,2400,2403,2406,2409,2412,2415,2418,2421,2424,2427,2430,2433,2436,2439,2442,2445,2448,2451,2454,2457,2460,2463,2466,2469,2472,2475,2478,2481],{"title":634,"path":2398,"stem":2399,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":2401,"stem":2402,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":2404,"stem":2405,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":2407,"stem":2408,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":2410,"stem":2411,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":2413,"stem":2414,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":2416,"stem":2417,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":2419,"stem":2420,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":2422,"stem":2423,"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":2425,"stem":2426,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":2428,"stem":2429,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":2431,"stem":2432,"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":2434,"stem":2435,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":2437,"stem":2438,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":2440,"stem":2441,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":2443,"stem":2444,"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":2446,"stem":2447,"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":2449,"stem":2450,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":2452,"stem":2453,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":2455,"stem":2456,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":2458,"stem":2459,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":2461,"stem":2462,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":2464,"stem":2465,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":2467,"stem":2468,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":2470,"stem":2471,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":2473,"stem":2474,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":2476,"stem":2477,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":2479,"stem":2480,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":2482,"stem":2483,"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":2485,"stem":2486,"children":2487,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2488,2491,2494,2497,2500,2503,2506,2509,2512,2515,2518,2521,2524,2527,2530,2533],{"title":757,"path":2489,"stem":2490,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":761,"path":2492,"stem":2493,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":765,"path":2495,"stem":2496,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":769,"path":2498,"stem":2499,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":773,"path":2501,"stem":2502,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":777,"path":2504,"stem":2505,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":781,"path":2507,"stem":2508,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":785,"path":2510,"stem":2511,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":789,"path":2513,"stem":2514,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":793,"path":2516,"stem":2517,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":797,"path":2519,"stem":2520,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":801,"path":2522,"stem":2523,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":805,"path":2525,"stem":2526,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":809,"path":2528,"stem":2529,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":813,"path":2531,"stem":2532,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":817,"path":2534,"stem":2535,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":821,"icon":822,"path":2537,"stem":2538,"children":2539,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2540,2543,2546,2549,2552,2555,2558,2561,2564,2567,2570,2573,2576,2579,2582,2585,2588,2591],{"title":276,"path":2541,"stem":2542,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":2544,"stem":2545,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":833,"path":2547,"stem":2548,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":837,"path":2550,"stem":2551,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":841,"path":2553,"stem":2554,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":845,"path":2556,"stem":2557,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":849,"path":2559,"stem":2560,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":853,"path":2562,"stem":2563,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":2565,"stem":2566,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":860,"path":2568,"stem":2569,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":864,"path":2571,"stem":2572,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2574,"stem":2575,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":2577,"stem":2578,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":874,"path":2580,"stem":2581,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":878,"path":2583,"stem":2584,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":882,"path":2586,"stem":2587,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":886,"path":2589,"stem":2590,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":890,"path":2592,"stem":2593,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":894,"titleTemplate":6,"icon":895,"path":2595,"stem":2596,"children":2597,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2598,2601],{"title":411,"path":2599,"stem":2600,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":903,"path":2602,"stem":2603,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":907,"path":2605,"stem":2606,"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":2608,"stem":2609,"children":2610,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2611,2614,2633,2646,2677],{"title":918,"path":2612,"stem":2613,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":2615,"stem":2616,"children":2617,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2618,2621,2624,2627,2630],{"title":926,"path":2619,"stem":2620,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2622,"stem":2623,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2625,"stem":2626,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":936,"path":2628,"stem":2629,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":940,"path":2631,"stem":2632,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2634,"stem":2635,"children":2636,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2637,2640,2643],{"title":948,"path":2638,"stem":2639,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":878,"path":2641,"stem":2642,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":955,"path":2644,"stem":2645,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":894,"path":2647,"stem":2648,"children":2649,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2650,2653,2656,2659,2662,2665,2668,2671,2674],{"title":84,"path":2651,"stem":2652,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2654,"stem":2655,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":969,"path":2657,"stem":2658,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":973,"path":2660,"stem":2661,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":977,"path":2663,"stem":2664,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":981,"path":2666,"stem":2667,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2669,"stem":2670,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":991,"path":2675,"stem":2676,"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":2678,"stem":2679,"children":2680,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2681],{"title":1000,"path":2682,"stem":2683,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1004,"titleTemplate":1005,"icon":1006,"path":2685,"stem":2686,"children":2687,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2688,2691,2694,2697,2700,2703],{"title":1011,"path":2689,"stem":2690,"titleTemplate":6,"icon":1014},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1016,"path":2692,"stem":2693,"titleTemplate":6,"icon":1019},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1021,"path":2695,"stem":2696,"titleTemplate":6,"icon":1024},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1026,"path":2698,"stem":2699,"titleTemplate":6,"icon":1029},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1031,"path":2701,"stem":2702,"titleTemplate":6,"icon":1034},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1036,"path":2704,"stem":2705,"titleTemplate":6,"icon":1039},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1041,"titleTemplate":1042,"icon":1043,"path":2707,"stem":2708,"children":2709,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2710,2713,2716,2719,2722,2725,2728,2731,2734,2737],{"title":1048,"path":2711,"stem":2712,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2714,"stem":2715,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2717,"stem":2718,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1058,"path":2720,"stem":2721,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1062,"path":2723,"stem":2724,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1066,"path":2726,"stem":2727,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":936,"path":2729,"stem":2730,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":403,"path":2732,"stem":2733,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":837,"path":2735,"stem":2736,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1079,"path":2738,"stem":2739,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1083,"titleTemplate":1084,"icon":107,"path":2741,"stem":2742,"children":2743,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2744,2747,2750,2753,2756,2759,2762,2765,2768,2771,2774],{"title":1048,"path":2745,"stem":2746,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1092,"path":2748,"stem":2749,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2751,"stem":2752,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2754,"stem":2755,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2757,"stem":2758,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":926,"path":2760,"stem":2761,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":936,"path":2763,"stem":2764,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1062,"path":2766,"stem":2767,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1114,"path":2769,"stem":2770,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1118,"path":2772,"stem":2773,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2775,"stem":2776,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2778,"icon":2779,"path":2780,"stem":2781,"children":2782,"page":108},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2783,2787,2791,2795,2799,2803,2807,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],{"title":2784,"path":2785,"stem":2786},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2788,"path":2789,"stem":2790},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2792,"path":2793,"stem":2794},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2796,"path":2797,"stem":2798},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2800,"path":2801,"stem":2802},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2804,"path":2805,"stem":2806},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2808,"path":2809,"stem":2810},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2812,"path":2813,"stem":2814},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2816,"path":2817,"stem":2818},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2820,"path":2821,"stem":2822},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2824,"path":2825,"stem":2826},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2828,"path":2829,"stem":2830},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2832,"path":2833,"stem":2834},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2836,"path":2837,"stem":2838},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2840,"path":2841,"stem":2842},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2844,"path":2845,"stem":2846},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2848,"path":2849,"stem":2850},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2852,"path":2853,"stem":2854},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2856,"path":2857,"stem":2858},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2860,"path":2861,"stem":2862},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2864,"path":2865,"stem":2866},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2868,"path":2869,"stem":2870},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2872,"path":2873,"stem":2874},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2876,"path":2877,"stem":2878},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2880,"path":2881,"stem":2882},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2884,"path":2885,"stem":2886},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2888,"path":2889,"stem":2890},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2892,"path":2893,"stem":2894},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2896,"path":2897,"stem":2898},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2900,"path":2901,"stem":2902},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2904,"path":2905,"stem":2906},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2908,"path":2909,"stem":2910},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2912,"path":2913,"stem":2914},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2916,"path":2917,"stem":2918},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2920,"path":2921,"stem":2922},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2924,"path":2925,"stem":2926},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2928,"path":2929,"stem":2930},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2932,"path":2933,"stem":2934},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2936,"path":2937,"stem":2938},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2940,"path":2941,"stem":2942},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2944,"path":2945,"stem":2946},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2948,"path":2949,"stem":2950},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2952,"path":2953,"stem":2954},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2956,"path":2957,"stem":2958},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2960,"path":2961,"stem":2962},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2964,"path":2965,"stem":2966},"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":2968,"path":2969,"stem":2970},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":2972,"path":2973,"stem":2974},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"v5":2976,"v4":2977,"v3":2978,"v2":2979},"5 (nightly)","4.4.8","3.21.8","2.18.1",{"name":2981,"description":2982,"repo":2983,"npm":2984,"icon":2985,"github":2986,"website":2986,"learn_more":2987,"category":2988,"type":2989,"maintainers":2990,"compatibility":2996,"generatedAt":2999,"contributors":3000,"stats":3020,"readme":3028},"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",[2991],{"name":2992,"github":2993,"twitter":2994,"bluesky":2995},"Estéban","barbapapazes","soubiran_","soubiran.dev",{"nuxt":2997,"requires":2998},">=3.0.0",{},"2026-06-28T17:27:14.896Z",[3001,3005,3009,3013,3016],{"id":3002,"username":3003,"contributions":3004},45267552,"Barbapapazes",60,{"id":3006,"username":3007,"contributions":3008},41266342,"zAlweNy26",3,{"id":3010,"username":3011,"contributions":3012},7252657,"maartenvanhunsel",2,{"id":3014,"username":3015,"contributions":3012},343392,"madc",{"id":3017,"username":3018,"contributions":3019},5769861,"stanislav-janu",1,{"version":3021,"downloads":3022,"stars":3023,"watchers":3008,"forks":3024,"defaultBranch":3025,"publishedAt":3026,"createdAt":3027},"0.3.5",16875,359,13,"main",1752673833614,1718198976583,{"data":3029,"body":3031,"toc":7071},{"title":3030,"description":2985},"Nuxt Authorization",{"type":3032,"children":3033},"root",[3034,3041,3096,3101,3110,3125,3138,3144,3174,3180,3185,3227,3232,3238,3250,3257,3262,3275,3533,3546,3558,3787,3810,3828,3833,3846,3858,3863,4084,4089,4365,4370,4376,4403,4408,4421,4615,4660,4665,4764,4769,4775,4816,4828,4882,4890,4948,4959,5019,5026,5091,5102,5149,5156,5194,5199,5411,5452,5472,5489,5495,5500,5718,5729,5742,5931,5965,6157,6170,6297,6302,6372,6377,6415,6421,6440,6777,6782,7031,7037,7051,7056,7065],{"type":3035,"tag":3036,"props":3037,"children":3038},"element","h1",{"id":2984},[3039],{"type":3040,"value":3030},"text",{"type":3035,"tag":3042,"props":3043,"children":3044},"p",{},[3045,3058,3067,3076,3086],{"type":3035,"tag":3046,"props":3047,"children":3051},"a",{"href":3048,"rel":3049},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-authorization",[3050],"nofollow",[3052],{"type":3035,"tag":3053,"props":3054,"children":3057},"img",{"alt":3055,"src":3056},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-authorization\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3035,"tag":3046,"props":3059,"children":3061},{"href":3048,"rel":3060},[3050],[3062],{"type":3035,"tag":3053,"props":3063,"children":3066},{"alt":3064,"src":3065},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3035,"tag":3046,"props":3068,"children":3070},{"href":3048,"rel":3069},[3050],[3071],{"type":3035,"tag":3053,"props":3072,"children":3075},{"alt":3073,"src":3074},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-authorization.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":3035,"tag":3046,"props":3077,"children":3080},{"href":3078,"rel":3079},"https:\u002F\u002Fnuxt.com",[3050],[3081],{"type":3035,"tag":3053,"props":3082,"children":3085},{"alt":3083,"src":3084},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":3035,"tag":3046,"props":3087,"children":3090},{"href":3088,"rel":3089},"https:\u002F\u002Fpkg.pr.new\u002F~\u002FBarbapapazes\u002Fnuxt-authorization",[3050],[3091],{"type":3035,"tag":3053,"props":3092,"children":3095},{"alt":3093,"src":3094},"pkg.pr.new","https:\u002F\u002Fpkg.pr.new\u002Fbadge\u002FBarbapapazes\u002Fnuxt-authorization",[],{"type":3035,"tag":3042,"props":3097,"children":3098},{},[3099],{"type":3040,"value":3100},"Handle authorization with ease in both Nuxt and Nitro.",{"type":3035,"tag":3042,"props":3102,"children":3103},{},[3104],{"type":3035,"tag":3105,"props":3106,"children":3107},"em",{},[3108],{"type":3040,"value":3109},"This module does not implement ACL or RBAC. It provides low-level primitives that you can use to implement your own authorization logic.",{"type":3035,"tag":3111,"props":3112,"children":3113},"blockquote",{},[3114],{"type":3035,"tag":3042,"props":3115,"children":3116},{},[3117,3123],{"type":3035,"tag":3118,"props":3119,"children":3120},"span",{},[3121],{"type":3040,"value":3122},"!NOTE",{"type":3040,"value":3124},"\nIn the future, this module could be available as a Nitro module and a Nuxt module, but Nitro module are not yet ready.",{"type":3035,"tag":3042,"props":3126,"children":3127},{},[3128,3130,3136],{"type":3040,"value":3129},"To learn more about this module and which problem it solves, checkout my blog post about ",{"type":3035,"tag":3046,"props":3131,"children":3133},{"href":2987,"rel":3132},[3050],[3134],{"type":3040,"value":3135},"Authorization in Nuxt",{"type":3040,"value":3137},".",{"type":3035,"tag":3139,"props":3140,"children":3142},"h2",{"id":3141},"features",[3143],{"type":3040,"value":399},{"type":3035,"tag":3145,"props":3146,"children":3147},"ul",{},[3148,3154,3159,3164,3169],{"type":3035,"tag":3149,"props":3150,"children":3151},"li",{},[3152],{"type":3040,"value":3153},"⛰  Works on both the client (Nuxt) and the server (Nitro)",{"type":3035,"tag":3149,"props":3155,"children":3156},{},[3157],{"type":3040,"value":3158},"🌟  Write abilities once and use them everywhere",{"type":3035,"tag":3149,"props":3160,"children":3161},{},[3162],{"type":3040,"value":3163},"👨‍👩‍👧‍👦  Agnostic of the authentication layer",{"type":3035,"tag":3149,"props":3165,"children":3166},{},[3167],{"type":3040,"value":3168},"🫸  Use components to conditionally show part of the UI",{"type":3035,"tag":3149,"props":3170,"children":3171},{},[3172],{"type":3040,"value":3173},"💧  Primitives are can be accessed for a full customization",{"type":3035,"tag":3139,"props":3175,"children":3177},{"id":3176},"quick-setup",[3178],{"type":3040,"value":3179},"Quick Setup",{"type":3035,"tag":3042,"props":3181,"children":3182},{},[3183],{"type":3040,"value":3184},"Install the module to your Nuxt application with one command:",{"type":3035,"tag":3186,"props":3187,"children":3191},"pre",{"className":3188,"code":3189,"language":3190,"meta":2985,"style":2985},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-authorization\n","bash",[3192],{"type":3035,"tag":3193,"props":3194,"children":3195},"code",{"__ignoreMap":2985},[3196],{"type":3035,"tag":3118,"props":3197,"children":3199},{"class":3198,"line":3019},"line",[3200,3206,3212,3217,3222],{"type":3035,"tag":3118,"props":3201,"children":3203},{"style":3202},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[3204],{"type":3040,"value":3205},"npx",{"type":3035,"tag":3118,"props":3207,"children":3209},{"style":3208},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[3210],{"type":3040,"value":3211}," nuxi",{"type":3035,"tag":3118,"props":3213,"children":3214},{"style":3208},[3215],{"type":3040,"value":3216}," module",{"type":3035,"tag":3118,"props":3218,"children":3219},{"style":3208},[3220],{"type":3040,"value":3221}," add",{"type":3035,"tag":3118,"props":3223,"children":3224},{"style":3208},[3225],{"type":3040,"value":3226}," nuxt-authorization\n",{"type":3035,"tag":3042,"props":3228,"children":3229},{},[3230],{"type":3040,"value":3231},"That's it! You can now use the module in your Nuxt app ✨",{"type":3035,"tag":3139,"props":3233,"children":3235},{"id":3234},"documentation",[3236],{"type":3040,"value":3237},"Documentation",{"type":3035,"tag":3111,"props":3239,"children":3240},{},[3241],{"type":3035,"tag":3042,"props":3242,"children":3243},{},[3244,3248],{"type":3035,"tag":3118,"props":3245,"children":3246},{},[3247],{"type":3040,"value":3122},{"type":3040,"value":3249},"\nYou can take a look at the playground to see the module in action.",{"type":3035,"tag":3251,"props":3252,"children":3254},"h3",{"id":3253},"setup",[3255],{"type":3040,"value":3256},"Setup",{"type":3035,"tag":3042,"props":3258,"children":3259},{},[3260],{"type":3040,"value":3261},"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":3035,"tag":3042,"props":3263,"children":3264},{},[3265,3267,3273],{"type":3040,"value":3266},"For the Nuxt app, create a new plugin in ",{"type":3035,"tag":3193,"props":3268,"children":3270},{"className":3269},[],[3271],{"type":3040,"value":3272},"plugins\u002Fauthorization-resolver.ts",{"type":3040,"value":3274},":",{"type":3035,"tag":3186,"props":3276,"children":3280},{"className":3277,"code":3278,"language":3279,"meta":2985,"style":2985},"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",[3281],{"type":3035,"tag":3193,"props":3282,"children":3283},{"__ignoreMap":2985},[3284,3316,3349,3371,3390,3403,3420,3437,3465,3475,3484,3493,3502,3510,3519],{"type":3035,"tag":3118,"props":3285,"children":3286},{"class":3198,"line":3019},[3287,3293,3298,3304,3310],{"type":3035,"tag":3118,"props":3288,"children":3290},{"style":3289},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3291],{"type":3040,"value":3292},"export",{"type":3035,"tag":3118,"props":3294,"children":3295},{"style":3289},[3296],{"type":3040,"value":3297}," default",{"type":3035,"tag":3118,"props":3299,"children":3301},{"style":3300},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[3302],{"type":3040,"value":3303}," defineNuxtPlugin",{"type":3035,"tag":3118,"props":3305,"children":3307},{"style":3306},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[3308],{"type":3040,"value":3309},"(",{"type":3035,"tag":3118,"props":3311,"children":3313},{"style":3312},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[3314],{"type":3040,"value":3315},"{\n",{"type":3035,"tag":3118,"props":3317,"children":3318},{"class":3198,"line":3012},[3319,3325,3329,3334,3339,3344],{"type":3035,"tag":3118,"props":3320,"children":3322},{"style":3321},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[3323],{"type":3040,"value":3324},"  name",{"type":3035,"tag":3118,"props":3326,"children":3327},{"style":3312},[3328],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3330,"children":3331},{"style":3312},[3332],{"type":3040,"value":3333}," '",{"type":3035,"tag":3118,"props":3335,"children":3336},{"style":3208},[3337],{"type":3040,"value":3338},"authorization-resolver",{"type":3035,"tag":3118,"props":3340,"children":3341},{"style":3312},[3342],{"type":3040,"value":3343},"'",{"type":3035,"tag":3118,"props":3345,"children":3346},{"style":3312},[3347],{"type":3040,"value":3348},",\n",{"type":3035,"tag":3118,"props":3350,"children":3351},{"class":3198,"line":3008},[3352,3357,3361,3367],{"type":3035,"tag":3118,"props":3353,"children":3354},{"style":3321},[3355],{"type":3040,"value":3356},"  parallel",{"type":3035,"tag":3118,"props":3358,"children":3359},{"style":3312},[3360],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3362,"children":3364},{"style":3363},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[3365],{"type":3040,"value":3366}," true",{"type":3035,"tag":3118,"props":3368,"children":3369},{"style":3312},[3370],{"type":3040,"value":3348},{"type":3035,"tag":3118,"props":3372,"children":3374},{"class":3198,"line":3373},4,[3375,3380,3385],{"type":3035,"tag":3118,"props":3376,"children":3377},{"style":3321},[3378],{"type":3040,"value":3379},"  setup",{"type":3035,"tag":3118,"props":3381,"children":3382},{"style":3312},[3383],{"type":3040,"value":3384},"()",{"type":3035,"tag":3118,"props":3386,"children":3387},{"style":3312},[3388],{"type":3040,"value":3389}," {\n",{"type":3035,"tag":3118,"props":3391,"children":3393},{"class":3198,"line":3392},5,[3394,3399],{"type":3035,"tag":3118,"props":3395,"children":3396},{"style":3289},[3397],{"type":3040,"value":3398},"    return",{"type":3035,"tag":3118,"props":3400,"children":3401},{"style":3312},[3402],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3404,"children":3406},{"class":3198,"line":3405},6,[3407,3412,3416],{"type":3035,"tag":3118,"props":3408,"children":3409},{"style":3321},[3410],{"type":3040,"value":3411},"      provide",{"type":3035,"tag":3118,"props":3413,"children":3414},{"style":3312},[3415],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3417,"children":3418},{"style":3312},[3419],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3421,"children":3423},{"class":3198,"line":3422},7,[3424,3429,3433],{"type":3035,"tag":3118,"props":3425,"children":3426},{"style":3321},[3427],{"type":3040,"value":3428},"        authorization",{"type":3035,"tag":3118,"props":3430,"children":3431},{"style":3312},[3432],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3434,"children":3435},{"style":3312},[3436],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3438,"children":3440},{"class":3198,"line":3439},8,[3441,3446,3450,3455,3461],{"type":3035,"tag":3118,"props":3442,"children":3443},{"style":3300},[3444],{"type":3040,"value":3445},"          resolveClientUser",{"type":3035,"tag":3118,"props":3447,"children":3448},{"style":3312},[3449],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3451,"children":3452},{"style":3312},[3453],{"type":3040,"value":3454}," ()",{"type":3035,"tag":3118,"props":3456,"children":3458},{"style":3457},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3459],{"type":3040,"value":3460}," =>",{"type":3035,"tag":3118,"props":3462,"children":3463},{"style":3312},[3464],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3466,"children":3468},{"class":3198,"line":3467},9,[3469],{"type":3035,"tag":3118,"props":3470,"children":3472},{"style":3471},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3473],{"type":3040,"value":3474},"            \u002F\u002F Your logic to retrieve the user from the client\n",{"type":3035,"tag":3118,"props":3476,"children":3478},{"class":3198,"line":3477},10,[3479],{"type":3035,"tag":3118,"props":3480,"children":3481},{"style":3312},[3482],{"type":3040,"value":3483},"          },\n",{"type":3035,"tag":3118,"props":3485,"children":3487},{"class":3198,"line":3486},11,[3488],{"type":3035,"tag":3118,"props":3489,"children":3490},{"style":3312},[3491],{"type":3040,"value":3492},"        },\n",{"type":3035,"tag":3118,"props":3494,"children":3496},{"class":3198,"line":3495},12,[3497],{"type":3035,"tag":3118,"props":3498,"children":3499},{"style":3312},[3500],{"type":3040,"value":3501},"      },\n",{"type":3035,"tag":3118,"props":3503,"children":3504},{"class":3198,"line":3024},[3505],{"type":3035,"tag":3118,"props":3506,"children":3507},{"style":3312},[3508],{"type":3040,"value":3509},"    }\n",{"type":3035,"tag":3118,"props":3511,"children":3513},{"class":3198,"line":3512},14,[3514],{"type":3035,"tag":3118,"props":3515,"children":3516},{"style":3312},[3517],{"type":3040,"value":3518},"  },\n",{"type":3035,"tag":3118,"props":3520,"children":3522},{"class":3198,"line":3521},15,[3523,3528],{"type":3035,"tag":3118,"props":3524,"children":3525},{"style":3312},[3526],{"type":3040,"value":3527},"}",{"type":3035,"tag":3118,"props":3529,"children":3530},{"style":3306},[3531],{"type":3040,"value":3532},")\n",{"type":3035,"tag":3042,"props":3534,"children":3535},{},[3536,3538,3544],{"type":3040,"value":3537},"This function is called every time you check for authorization on the client. It should return the user object or ",{"type":3035,"tag":3193,"props":3539,"children":3541},{"className":3540},[],[3542],{"type":3040,"value":3543},"null",{"type":3040,"value":3545}," if the user is not authenticated. It can by async.",{"type":3035,"tag":3042,"props":3547,"children":3548},{},[3549,3551,3557],{"type":3040,"value":3550},"For the Nitro server, create a new plugin in ",{"type":3035,"tag":3193,"props":3552,"children":3554},{"className":3553},[],[3555],{"type":3040,"value":3556},"server\u002Fplugins\u002Fauthorization-resolver.ts",{"type":3040,"value":3274},{"type":3035,"tag":3186,"props":3559,"children":3561},{"className":3277,"code":3560,"language":3279,"meta":2985,"style":2985},"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",[3562],{"type":3035,"tag":3193,"props":3563,"children":3564},{"__ignoreMap":2985},[3565,3608,3683,3718,3742,3750,3757,3764,3776],{"type":3035,"tag":3118,"props":3566,"children":3567},{"class":3198,"line":3019},[3568,3572,3576,3581,3585,3589,3595,3600,3604],{"type":3035,"tag":3118,"props":3569,"children":3570},{"style":3289},[3571],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":3573,"children":3574},{"style":3289},[3575],{"type":3040,"value":3297},{"type":3035,"tag":3118,"props":3577,"children":3578},{"style":3300},[3579],{"type":3040,"value":3580}," defineNitroPlugin",{"type":3035,"tag":3118,"props":3582,"children":3583},{"style":3306},[3584],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":3586,"children":3587},{"style":3312},[3588],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":3590,"children":3592},{"style":3591},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3593],{"type":3040,"value":3594},"nitroApp",{"type":3035,"tag":3118,"props":3596,"children":3597},{"style":3312},[3598],{"type":3040,"value":3599},")",{"type":3035,"tag":3118,"props":3601,"children":3602},{"style":3457},[3603],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":3605,"children":3606},{"style":3312},[3607],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3609,"children":3610},{"class":3198,"line":3012},[3611,3616,3620,3625,3629,3634,3638,3642,3647,3651,3656,3661,3666,3671,3675,3679],{"type":3035,"tag":3118,"props":3612,"children":3613},{"style":3306},[3614],{"type":3040,"value":3615},"  nitroApp",{"type":3035,"tag":3118,"props":3617,"children":3618},{"style":3312},[3619],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":3621,"children":3622},{"style":3306},[3623],{"type":3040,"value":3624},"hooks",{"type":3035,"tag":3118,"props":3626,"children":3627},{"style":3312},[3628],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":3630,"children":3631},{"style":3300},[3632],{"type":3040,"value":3633},"hook",{"type":3035,"tag":3118,"props":3635,"children":3636},{"style":3321},[3637],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":3639,"children":3640},{"style":3312},[3641],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":3643,"children":3644},{"style":3208},[3645],{"type":3040,"value":3646},"request",{"type":3035,"tag":3118,"props":3648,"children":3649},{"style":3312},[3650],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":3652,"children":3653},{"style":3312},[3654],{"type":3040,"value":3655},",",{"type":3035,"tag":3118,"props":3657,"children":3658},{"style":3457},[3659],{"type":3040,"value":3660}," async",{"type":3035,"tag":3118,"props":3662,"children":3663},{"style":3312},[3664],{"type":3040,"value":3665}," (",{"type":3035,"tag":3118,"props":3667,"children":3668},{"style":3591},[3669],{"type":3040,"value":3670},"event",{"type":3035,"tag":3118,"props":3672,"children":3673},{"style":3312},[3674],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":3676,"children":3677},{"style":3457},[3678],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":3680,"children":3681},{"style":3312},[3682],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3684,"children":3685},{"class":3198,"line":3008},[3686,3691,3695,3700,3704,3709,3714],{"type":3035,"tag":3118,"props":3687,"children":3688},{"style":3306},[3689],{"type":3040,"value":3690},"    event",{"type":3035,"tag":3118,"props":3692,"children":3693},{"style":3312},[3694],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":3696,"children":3697},{"style":3306},[3698],{"type":3040,"value":3699},"context",{"type":3035,"tag":3118,"props":3701,"children":3702},{"style":3312},[3703],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":3705,"children":3706},{"style":3306},[3707],{"type":3040,"value":3708},"$authorization",{"type":3035,"tag":3118,"props":3710,"children":3711},{"style":3312},[3712],{"type":3040,"value":3713}," =",{"type":3035,"tag":3118,"props":3715,"children":3716},{"style":3312},[3717],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3719,"children":3720},{"class":3198,"line":3373},[3721,3726,3730,3734,3738],{"type":3035,"tag":3118,"props":3722,"children":3723},{"style":3300},[3724],{"type":3040,"value":3725},"      resolveServerUser",{"type":3035,"tag":3118,"props":3727,"children":3728},{"style":3312},[3729],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3731,"children":3732},{"style":3312},[3733],{"type":3040,"value":3454},{"type":3035,"tag":3118,"props":3735,"children":3736},{"style":3457},[3737],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":3739,"children":3740},{"style":3312},[3741],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3743,"children":3744},{"class":3198,"line":3392},[3745],{"type":3035,"tag":3118,"props":3746,"children":3747},{"style":3471},[3748],{"type":3040,"value":3749},"        \u002F\u002F Your logic to retrieve the user from the server\n",{"type":3035,"tag":3118,"props":3751,"children":3752},{"class":3198,"line":3405},[3753],{"type":3035,"tag":3118,"props":3754,"children":3755},{"style":3312},[3756],{"type":3040,"value":3501},{"type":3035,"tag":3118,"props":3758,"children":3759},{"class":3198,"line":3422},[3760],{"type":3035,"tag":3118,"props":3761,"children":3762},{"style":3312},[3763],{"type":3040,"value":3509},{"type":3035,"tag":3118,"props":3765,"children":3766},{"class":3198,"line":3439},[3767,3772],{"type":3035,"tag":3118,"props":3768,"children":3769},{"style":3312},[3770],{"type":3040,"value":3771},"  }",{"type":3035,"tag":3118,"props":3773,"children":3774},{"style":3321},[3775],{"type":3040,"value":3532},{"type":3035,"tag":3118,"props":3777,"children":3778},{"class":3198,"line":3467},[3779,3783],{"type":3035,"tag":3118,"props":3780,"children":3781},{"style":3312},[3782],{"type":3040,"value":3527},{"type":3035,"tag":3118,"props":3784,"children":3785},{"style":3306},[3786],{"type":3040,"value":3532},{"type":3035,"tag":3111,"props":3788,"children":3789},{},[3790],{"type":3035,"tag":3042,"props":3791,"children":3792},{},[3793,3797,3799],{"type":3035,"tag":3118,"props":3794,"children":3795},{},[3796],{"type":3040,"value":3122},{"type":3040,"value":3798},"\nRead more about the ",{"type":3035,"tag":3046,"props":3800,"children":3803},{"href":3801,"rel":3802},"https:\u002F\u002Fh3.unjs.io\u002Fguide\u002Fevent#eventcontext",[3050],[3804],{"type":3035,"tag":3193,"props":3805,"children":3807},{"className":3806},[],[3808],{"type":3040,"value":3809},"event.context",{"type":3035,"tag":3042,"props":3811,"children":3812},{},[3813,3815,3820,3822,3827],{"type":3040,"value":3814},"This resolver is setup within the hook ",{"type":3035,"tag":3193,"props":3816,"children":3818},{"className":3817},[],[3819],{"type":3040,"value":3646},{"type":3040,"value":3821}," 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":3035,"tag":3193,"props":3823,"children":3825},{"className":3824},[],[3826],{"type":3040,"value":3543},{"type":3040,"value":3545},{"type":3035,"tag":3042,"props":3829,"children":3830},{},[3831],{"type":3040,"value":3832},"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":3035,"tag":3834,"props":3835,"children":3837},"h4",{"id":3836},"example-with-nuxt-auth-utils",[3838,3840],{"type":3040,"value":3839},"Example with ",{"type":3035,"tag":3193,"props":3841,"children":3843},{"className":3842},[],[3844],{"type":3040,"value":3845},"nuxt-auth-utils",{"type":3035,"tag":3042,"props":3847,"children":3848},{},[3849,3851,3856],{"type":3040,"value":3850},"The module ",{"type":3035,"tag":3193,"props":3852,"children":3854},{"className":3853},[],[3855],{"type":3040,"value":3845},{"type":3040,"value":3857}," provides an authentication layer for Nuxt. If you use this module, you can use the following resolvers:",{"type":3035,"tag":3042,"props":3859,"children":3860},{},[3861],{"type":3040,"value":3862},"Nuxt plugin:",{"type":3035,"tag":3186,"props":3864,"children":3866},{"className":3277,"code":3865,"language":3279,"meta":2985,"style":2985},"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",[3867],{"type":3035,"tag":3193,"props":3868,"children":3869},{"__ignoreMap":2985},[3870,3893,3920,3939,3954,3965,3980,3995,4045,4052,4059,4066,4073],{"type":3035,"tag":3118,"props":3871,"children":3872},{"class":3198,"line":3019},[3873,3877,3881,3885,3889],{"type":3035,"tag":3118,"props":3874,"children":3875},{"style":3289},[3876],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":3878,"children":3879},{"style":3289},[3880],{"type":3040,"value":3297},{"type":3035,"tag":3118,"props":3882,"children":3883},{"style":3300},[3884],{"type":3040,"value":3303},{"type":3035,"tag":3118,"props":3886,"children":3887},{"style":3306},[3888],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":3890,"children":3891},{"style":3312},[3892],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":3894,"children":3895},{"class":3198,"line":3012},[3896,3900,3904,3908,3912,3916],{"type":3035,"tag":3118,"props":3897,"children":3898},{"style":3321},[3899],{"type":3040,"value":3324},{"type":3035,"tag":3118,"props":3901,"children":3902},{"style":3312},[3903],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3905,"children":3906},{"style":3312},[3907],{"type":3040,"value":3333},{"type":3035,"tag":3118,"props":3909,"children":3910},{"style":3208},[3911],{"type":3040,"value":3338},{"type":3035,"tag":3118,"props":3913,"children":3914},{"style":3312},[3915],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":3917,"children":3918},{"style":3312},[3919],{"type":3040,"value":3348},{"type":3035,"tag":3118,"props":3921,"children":3922},{"class":3198,"line":3008},[3923,3927,3931,3935],{"type":3035,"tag":3118,"props":3924,"children":3925},{"style":3321},[3926],{"type":3040,"value":3356},{"type":3035,"tag":3118,"props":3928,"children":3929},{"style":3312},[3930],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3932,"children":3933},{"style":3363},[3934],{"type":3040,"value":3366},{"type":3035,"tag":3118,"props":3936,"children":3937},{"style":3312},[3938],{"type":3040,"value":3348},{"type":3035,"tag":3118,"props":3940,"children":3941},{"class":3198,"line":3373},[3942,3946,3950],{"type":3035,"tag":3118,"props":3943,"children":3944},{"style":3321},[3945],{"type":3040,"value":3379},{"type":3035,"tag":3118,"props":3947,"children":3948},{"style":3312},[3949],{"type":3040,"value":3384},{"type":3035,"tag":3118,"props":3951,"children":3952},{"style":3312},[3953],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3955,"children":3956},{"class":3198,"line":3392},[3957,3961],{"type":3035,"tag":3118,"props":3958,"children":3959},{"style":3289},[3960],{"type":3040,"value":3398},{"type":3035,"tag":3118,"props":3962,"children":3963},{"style":3312},[3964],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3966,"children":3967},{"class":3198,"line":3405},[3968,3972,3976],{"type":3035,"tag":3118,"props":3969,"children":3970},{"style":3321},[3971],{"type":3040,"value":3411},{"type":3035,"tag":3118,"props":3973,"children":3974},{"style":3312},[3975],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3977,"children":3978},{"style":3312},[3979],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3981,"children":3982},{"class":3198,"line":3422},[3983,3987,3991],{"type":3035,"tag":3118,"props":3984,"children":3985},{"style":3321},[3986],{"type":3040,"value":3428},{"type":3035,"tag":3118,"props":3988,"children":3989},{"style":3312},[3990],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":3992,"children":3993},{"style":3312},[3994],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":3996,"children":3997},{"class":3198,"line":3439},[3998,4002,4006,4010,4014,4019,4023,4027,4032,4036,4041],{"type":3035,"tag":3118,"props":3999,"children":4000},{"style":3300},[4001],{"type":3040,"value":3445},{"type":3035,"tag":3118,"props":4003,"children":4004},{"style":3312},[4005],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4007,"children":4008},{"style":3312},[4009],{"type":3040,"value":3454},{"type":3035,"tag":3118,"props":4011,"children":4012},{"style":3457},[4013],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4015,"children":4016},{"style":3300},[4017],{"type":3040,"value":4018}," useUserSession",{"type":3035,"tag":3118,"props":4020,"children":4021},{"style":3321},[4022],{"type":3040,"value":3384},{"type":3035,"tag":3118,"props":4024,"children":4025},{"style":3312},[4026],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4028,"children":4029},{"style":3306},[4030],{"type":3040,"value":4031},"user",{"type":3035,"tag":3118,"props":4033,"children":4034},{"style":3312},[4035],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4037,"children":4038},{"style":3306},[4039],{"type":3040,"value":4040},"value",{"type":3035,"tag":3118,"props":4042,"children":4043},{"style":3312},[4044],{"type":3040,"value":3348},{"type":3035,"tag":3118,"props":4046,"children":4047},{"class":3198,"line":3467},[4048],{"type":3035,"tag":3118,"props":4049,"children":4050},{"style":3312},[4051],{"type":3040,"value":3492},{"type":3035,"tag":3118,"props":4053,"children":4054},{"class":3198,"line":3477},[4055],{"type":3035,"tag":3118,"props":4056,"children":4057},{"style":3312},[4058],{"type":3040,"value":3501},{"type":3035,"tag":3118,"props":4060,"children":4061},{"class":3198,"line":3486},[4062],{"type":3035,"tag":3118,"props":4063,"children":4064},{"style":3312},[4065],{"type":3040,"value":3509},{"type":3035,"tag":3118,"props":4067,"children":4068},{"class":3198,"line":3495},[4069],{"type":3035,"tag":3118,"props":4070,"children":4071},{"style":3312},[4072],{"type":3040,"value":3518},{"type":3035,"tag":3118,"props":4074,"children":4075},{"class":3198,"line":3024},[4076,4080],{"type":3035,"tag":3118,"props":4077,"children":4078},{"style":3312},[4079],{"type":3040,"value":3527},{"type":3035,"tag":3118,"props":4081,"children":4082},{"style":3306},[4083],{"type":3040,"value":3532},{"type":3035,"tag":3042,"props":4085,"children":4086},{},[4087],{"type":3040,"value":4088},"Nitro plugin:",{"type":3035,"tag":3186,"props":4090,"children":4092},{"className":3277,"code":4091,"language":3279,"meta":2985,"style":2985},"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",[4093],{"type":3035,"tag":3193,"props":4094,"children":4095},{"__ignoreMap":2985},[4096,4135,4202,4233,4260,4299,4329,4336,4343,4354],{"type":3035,"tag":3118,"props":4097,"children":4098},{"class":3198,"line":3019},[4099,4103,4107,4111,4115,4119,4123,4127,4131],{"type":3035,"tag":3118,"props":4100,"children":4101},{"style":3289},[4102],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":4104,"children":4105},{"style":3289},[4106],{"type":3040,"value":3297},{"type":3035,"tag":3118,"props":4108,"children":4109},{"style":3300},[4110],{"type":3040,"value":3580},{"type":3035,"tag":3118,"props":4112,"children":4113},{"style":3306},[4114],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4116,"children":4117},{"style":3312},[4118],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4120,"children":4121},{"style":3591},[4122],{"type":3040,"value":3594},{"type":3035,"tag":3118,"props":4124,"children":4125},{"style":3312},[4126],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":4128,"children":4129},{"style":3457},[4130],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4132,"children":4133},{"style":3312},[4134],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":4136,"children":4137},{"class":3198,"line":3012},[4138,4142,4146,4150,4154,4158,4162,4166,4170,4174,4178,4182,4186,4190,4194,4198],{"type":3035,"tag":3118,"props":4139,"children":4140},{"style":3306},[4141],{"type":3040,"value":3615},{"type":3035,"tag":3118,"props":4143,"children":4144},{"style":3312},[4145],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4147,"children":4148},{"style":3306},[4149],{"type":3040,"value":3624},{"type":3035,"tag":3118,"props":4151,"children":4152},{"style":3312},[4153],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4155,"children":4156},{"style":3300},[4157],{"type":3040,"value":3633},{"type":3035,"tag":3118,"props":4159,"children":4160},{"style":3321},[4161],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4163,"children":4164},{"style":3312},[4165],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":4167,"children":4168},{"style":3208},[4169],{"type":3040,"value":3646},{"type":3035,"tag":3118,"props":4171,"children":4172},{"style":3312},[4173],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":4175,"children":4176},{"style":3312},[4177],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":4179,"children":4180},{"style":3457},[4181],{"type":3040,"value":3660},{"type":3035,"tag":3118,"props":4183,"children":4184},{"style":3312},[4185],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":4187,"children":4188},{"style":3591},[4189],{"type":3040,"value":3670},{"type":3035,"tag":3118,"props":4191,"children":4192},{"style":3312},[4193],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":4195,"children":4196},{"style":3457},[4197],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4199,"children":4200},{"style":3312},[4201],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":4203,"children":4204},{"class":3198,"line":3008},[4205,4209,4213,4217,4221,4225,4229],{"type":3035,"tag":3118,"props":4206,"children":4207},{"style":3306},[4208],{"type":3040,"value":3690},{"type":3035,"tag":3118,"props":4210,"children":4211},{"style":3312},[4212],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4214,"children":4215},{"style":3306},[4216],{"type":3040,"value":3699},{"type":3035,"tag":3118,"props":4218,"children":4219},{"style":3312},[4220],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4222,"children":4223},{"style":3306},[4224],{"type":3040,"value":3708},{"type":3035,"tag":3118,"props":4226,"children":4227},{"style":3312},[4228],{"type":3040,"value":3713},{"type":3035,"tag":3118,"props":4230,"children":4231},{"style":3312},[4232],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":4234,"children":4235},{"class":3198,"line":3373},[4236,4240,4244,4248,4252,4256],{"type":3035,"tag":3118,"props":4237,"children":4238},{"style":3300},[4239],{"type":3040,"value":3725},{"type":3035,"tag":3118,"props":4241,"children":4242},{"style":3312},[4243],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4245,"children":4246},{"style":3457},[4247],{"type":3040,"value":3660},{"type":3035,"tag":3118,"props":4249,"children":4250},{"style":3312},[4251],{"type":3040,"value":3454},{"type":3035,"tag":3118,"props":4253,"children":4254},{"style":3457},[4255],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4257,"children":4258},{"style":3312},[4259],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":4261,"children":4262},{"class":3198,"line":3392},[4263,4268,4273,4277,4282,4287,4291,4295],{"type":3035,"tag":3118,"props":4264,"children":4265},{"style":3457},[4266],{"type":3040,"value":4267},"        const",{"type":3035,"tag":3118,"props":4269,"children":4270},{"style":3306},[4271],{"type":3040,"value":4272}," session",{"type":3035,"tag":3118,"props":4274,"children":4275},{"style":3312},[4276],{"type":3040,"value":3713},{"type":3035,"tag":3118,"props":4278,"children":4279},{"style":3289},[4280],{"type":3040,"value":4281}," await",{"type":3035,"tag":3118,"props":4283,"children":4284},{"style":3300},[4285],{"type":3040,"value":4286}," getUserSession",{"type":3035,"tag":3118,"props":4288,"children":4289},{"style":3321},[4290],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4292,"children":4293},{"style":3306},[4294],{"type":3040,"value":3670},{"type":3035,"tag":3118,"props":4296,"children":4297},{"style":3321},[4298],{"type":3040,"value":3532},{"type":3035,"tag":3118,"props":4300,"children":4301},{"class":3198,"line":3405},[4302,4307,4311,4315,4319,4324],{"type":3035,"tag":3118,"props":4303,"children":4304},{"style":3289},[4305],{"type":3040,"value":4306},"        return",{"type":3035,"tag":3118,"props":4308,"children":4309},{"style":3306},[4310],{"type":3040,"value":4272},{"type":3035,"tag":3118,"props":4312,"children":4313},{"style":3312},[4314],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4316,"children":4317},{"style":3306},[4318],{"type":3040,"value":4031},{"type":3035,"tag":3118,"props":4320,"children":4321},{"style":3312},[4322],{"type":3040,"value":4323}," ??",{"type":3035,"tag":3118,"props":4325,"children":4326},{"style":3312},[4327],{"type":3040,"value":4328}," null\n",{"type":3035,"tag":3118,"props":4330,"children":4331},{"class":3198,"line":3422},[4332],{"type":3035,"tag":3118,"props":4333,"children":4334},{"style":3312},[4335],{"type":3040,"value":3501},{"type":3035,"tag":3118,"props":4337,"children":4338},{"class":3198,"line":3439},[4339],{"type":3035,"tag":3118,"props":4340,"children":4341},{"style":3312},[4342],{"type":3040,"value":3509},{"type":3035,"tag":3118,"props":4344,"children":4345},{"class":3198,"line":3467},[4346,4350],{"type":3035,"tag":3118,"props":4347,"children":4348},{"style":3312},[4349],{"type":3040,"value":3771},{"type":3035,"tag":3118,"props":4351,"children":4352},{"style":3321},[4353],{"type":3040,"value":3532},{"type":3035,"tag":3118,"props":4355,"children":4356},{"class":3198,"line":3477},[4357,4361],{"type":3035,"tag":3118,"props":4358,"children":4359},{"style":3312},[4360],{"type":3040,"value":3527},{"type":3035,"tag":3118,"props":4362,"children":4363},{"style":3306},[4364],{"type":3040,"value":3532},{"type":3035,"tag":3042,"props":4366,"children":4367},{},[4368],{"type":3040,"value":4369},"Easy!",{"type":3035,"tag":3251,"props":4371,"children":4373},{"id":4372},"define-abilities",[4374],{"type":3040,"value":4375},"Define Abilities",{"type":3035,"tag":3111,"props":4377,"children":4378},{},[4379],{"type":3035,"tag":3042,"props":4380,"children":4381},{},[4382,4386,4388,4393,4395,4402],{"type":3035,"tag":3118,"props":4383,"children":4384},{},[4385],{"type":3040,"value":3122},{"type":3040,"value":4387},"\nWith Nuxt 4, a new ",{"type":3035,"tag":3193,"props":4389,"children":4391},{"className":4390},[],[4392],{"type":3040,"value":190},{"type":3040,"value":4394}," directory will be introduced to easily share code between the client and the server.\nSee ",{"type":3035,"tag":3046,"props":4396,"children":4399},{"href":4397,"rel":4398},"https:\u002F\u002Fyoutu.be\u002F_m5ct5e8nVo?si=2iNcPVMttlIq5fLR",[3050],[4400],{"type":3040,"value":4401},"the video from Alexander Lichter",{"type":3040,"value":3137},{"type":3035,"tag":3042,"props":4404,"children":4405},{},[4406],{"type":3040,"value":4407},"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":3035,"tag":3042,"props":4409,"children":4410},{},[4411,4413,4419],{"type":3040,"value":4412},"I recommend to create a new file ",{"type":3035,"tag":3193,"props":4414,"children":4416},{"className":4415},[],[4417],{"type":3040,"value":4418},"shared\u002Futils\u002Fabilities.ts",{"type":3040,"value":4420}," to create your abilities:",{"type":3035,"tag":3186,"props":4422,"children":4424},{"className":3277,"code":4423,"language":3279,"meta":2985,"style":2985},"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",[4425],{"type":3035,"tag":3193,"props":4426,"children":4427},{"__ignoreMap":2985},[4428,4481,4489,4564,4604],{"type":3035,"tag":3118,"props":4429,"children":4430},{"class":3198,"line":3019},[4431,4435,4440,4445,4450,4455,4459,4463,4467,4471,4476],{"type":3035,"tag":3118,"props":4432,"children":4433},{"style":3289},[4434],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":4436,"children":4437},{"style":3457},[4438],{"type":3040,"value":4439}," const",{"type":3035,"tag":3118,"props":4441,"children":4442},{"style":3306},[4443],{"type":3040,"value":4444}," listPosts ",{"type":3035,"tag":3118,"props":4446,"children":4447},{"style":3312},[4448],{"type":3040,"value":4449},"=",{"type":3035,"tag":3118,"props":4451,"children":4452},{"style":3300},[4453],{"type":3040,"value":4454}," defineAbility",{"type":3035,"tag":3118,"props":4456,"children":4457},{"style":3306},[4458],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4460,"children":4461},{"style":3312},[4462],{"type":3040,"value":3384},{"type":3035,"tag":3118,"props":4464,"children":4465},{"style":3457},[4466],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4468,"children":4469},{"style":3363},[4470],{"type":3040,"value":3366},{"type":3035,"tag":3118,"props":4472,"children":4473},{"style":3306},[4474],{"type":3040,"value":4475},") ",{"type":3035,"tag":3118,"props":4477,"children":4478},{"style":3471},[4479],{"type":3040,"value":4480},"\u002F\u002F Only authenticated users can list posts\n",{"type":3035,"tag":3118,"props":4482,"children":4483},{"class":3198,"line":3012},[4484],{"type":3035,"tag":3118,"props":4485,"children":4486},{"emptyLinePlaceholder":1200},[4487],{"type":3040,"value":4488},"\n",{"type":3035,"tag":3118,"props":4490,"children":4491},{"class":3198,"line":3008},[4492,4496,4500,4505,4509,4513,4517,4521,4525,4529,4534,4538,4543,4547,4552,4556,4560],{"type":3035,"tag":3118,"props":4493,"children":4494},{"style":3289},[4495],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":4497,"children":4498},{"style":3457},[4499],{"type":3040,"value":4439},{"type":3035,"tag":3118,"props":4501,"children":4502},{"style":3306},[4503],{"type":3040,"value":4504}," editPost ",{"type":3035,"tag":3118,"props":4506,"children":4507},{"style":3312},[4508],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":4510,"children":4511},{"style":3300},[4512],{"type":3040,"value":4454},{"type":3035,"tag":3118,"props":4514,"children":4515},{"style":3306},[4516],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4518,"children":4519},{"style":3312},[4520],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4522,"children":4523},{"style":3591},[4524],{"type":3040,"value":4031},{"type":3035,"tag":3118,"props":4526,"children":4527},{"style":3312},[4528],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4530,"children":4531},{"style":3202},[4532],{"type":3040,"value":4533}," User",{"type":3035,"tag":3118,"props":4535,"children":4536},{"style":3312},[4537],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":4539,"children":4540},{"style":3591},[4541],{"type":3040,"value":4542}," post",{"type":3035,"tag":3118,"props":4544,"children":4545},{"style":3312},[4546],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4548,"children":4549},{"style":3202},[4550],{"type":3040,"value":4551}," Post",{"type":3035,"tag":3118,"props":4553,"children":4554},{"style":3312},[4555],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":4557,"children":4558},{"style":3457},[4559],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4561,"children":4562},{"style":3312},[4563],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":4565,"children":4566},{"class":3198,"line":3373},[4567,4572,4577,4581,4586,4591,4595,4599],{"type":3035,"tag":3118,"props":4568,"children":4569},{"style":3289},[4570],{"type":3040,"value":4571},"  return",{"type":3035,"tag":3118,"props":4573,"children":4574},{"style":3306},[4575],{"type":3040,"value":4576}," user",{"type":3035,"tag":3118,"props":4578,"children":4579},{"style":3312},[4580],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4582,"children":4583},{"style":3306},[4584],{"type":3040,"value":4585},"id",{"type":3035,"tag":3118,"props":4587,"children":4588},{"style":3312},[4589],{"type":3040,"value":4590}," ===",{"type":3035,"tag":3118,"props":4592,"children":4593},{"style":3306},[4594],{"type":3040,"value":4542},{"type":3035,"tag":3118,"props":4596,"children":4597},{"style":3312},[4598],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":4600,"children":4601},{"style":3306},[4602],{"type":3040,"value":4603},"authorId\n",{"type":3035,"tag":3118,"props":4605,"children":4606},{"class":3198,"line":3392},[4607,4611],{"type":3035,"tag":3118,"props":4608,"children":4609},{"style":3312},[4610],{"type":3040,"value":3527},{"type":3035,"tag":3118,"props":4612,"children":4613},{"style":3306},[4614],{"type":3040,"value":3532},{"type":3035,"tag":3042,"props":4616,"children":4617},{},[4618,4620,4626,4628,4634,4636,4642,4644,4650,4652,4658],{"type":3040,"value":4619},"If you have many abilities, you could prefer to create a directory ",{"type":3035,"tag":3193,"props":4621,"children":4623},{"className":4622},[],[4624],{"type":3040,"value":4625},"shared\u002Futils\u002Fabilities\u002F",{"type":3040,"value":4627}," and create a file for each ability. Having the abilities in the ",{"type":3035,"tag":3193,"props":4629,"children":4631},{"className":4630},[],[4632],{"type":3040,"value":4633},"shared\u002Futils",{"type":3040,"value":4635}," directory allows auto-import to work in the client while having a simple import in the server ",{"type":3035,"tag":3193,"props":4637,"children":4639},{"className":4638},[],[4640],{"type":3040,"value":4641},"~~\u002Fshared\u002Futils\u002Fabilities",{"type":3040,"value":4643},". ",{"type":3035,"tag":4645,"props":4646,"children":4647},"strong",{},[4648],{"type":3040,"value":4649},"Remember that the shared folder only exports the first level of the directory.",{"type":3040,"value":4651}," So you have to export the abilities in the ",{"type":3035,"tag":3193,"props":4653,"children":4655},{"className":4654},[],[4656],{"type":3040,"value":4657},"shared\u002Futils\u002Fabilities\u002Findex.ts",{"type":3040,"value":4659}," file.",{"type":3035,"tag":3042,"props":4661,"children":4662},{},[4663],{"type":3040,"value":4664},"By default, guests are not allowed to perform any action and the ability is not called. This behavior can be changed per ability:",{"type":3035,"tag":3186,"props":4666,"children":4668},{"className":3277,"code":4667,"language":3279,"meta":2985,"style":2985},"export const listPosts = defineAbility({ allowGuest: true }, (user: User | null) => true)\n",[4669],{"type":3035,"tag":3193,"props":4670,"children":4671},{"__ignoreMap":2985},[4672],{"type":3035,"tag":3118,"props":4673,"children":4674},{"class":3198,"line":3019},[4675,4679,4683,4687,4691,4695,4699,4704,4709,4713,4717,4722,4726,4730,4734,4738,4743,4748,4752,4756,4760],{"type":3035,"tag":3118,"props":4676,"children":4677},{"style":3289},[4678],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":4680,"children":4681},{"style":3457},[4682],{"type":3040,"value":4439},{"type":3035,"tag":3118,"props":4684,"children":4685},{"style":3306},[4686],{"type":3040,"value":4444},{"type":3035,"tag":3118,"props":4688,"children":4689},{"style":3312},[4690],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":4692,"children":4693},{"style":3300},[4694],{"type":3040,"value":4454},{"type":3035,"tag":3118,"props":4696,"children":4697},{"style":3306},[4698],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":4700,"children":4701},{"style":3312},[4702],{"type":3040,"value":4703},"{",{"type":3035,"tag":3118,"props":4705,"children":4706},{"style":3321},[4707],{"type":3040,"value":4708}," allowGuest",{"type":3035,"tag":3118,"props":4710,"children":4711},{"style":3312},[4712],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4714,"children":4715},{"style":3363},[4716],{"type":3040,"value":3366},{"type":3035,"tag":3118,"props":4718,"children":4719},{"style":3312},[4720],{"type":3040,"value":4721}," },",{"type":3035,"tag":3118,"props":4723,"children":4724},{"style":3312},[4725],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":4727,"children":4728},{"style":3591},[4729],{"type":3040,"value":4031},{"type":3035,"tag":3118,"props":4731,"children":4732},{"style":3312},[4733],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":4735,"children":4736},{"style":3202},[4737],{"type":3040,"value":4533},{"type":3035,"tag":3118,"props":4739,"children":4740},{"style":3312},[4741],{"type":3040,"value":4742}," |",{"type":3035,"tag":3118,"props":4744,"children":4745},{"style":3202},[4746],{"type":3040,"value":4747}," null",{"type":3035,"tag":3118,"props":4749,"children":4750},{"style":3312},[4751],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":4753,"children":4754},{"style":3457},[4755],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":4757,"children":4758},{"style":3363},[4759],{"type":3040,"value":3366},{"type":3035,"tag":3118,"props":4761,"children":4762},{"style":3306},[4763],{"type":3040,"value":3532},{"type":3035,"tag":3042,"props":4765,"children":4766},{},[4767],{"type":3040,"value":4768},"Now, unauthenticated users can list posts.",{"type":3035,"tag":3251,"props":4770,"children":4772},{"id":4771},"use-abilities",[4773],{"type":3040,"value":4774},"Use Abilities",{"type":3035,"tag":3042,"props":4776,"children":4777},{},[4778,4780,4786,4788,4794,4796,4802,4804],{"type":3040,"value":4779},"To use ability, you have access to 3 bouncer functions: ",{"type":3035,"tag":3193,"props":4781,"children":4783},{"className":4782},[],[4784],{"type":3040,"value":4785},"allows",{"type":3040,"value":4787},", ",{"type":3035,"tag":3193,"props":4789,"children":4791},{"className":4790},[],[4792],{"type":3040,"value":4793},"denies",{"type":3040,"value":4795},", and ",{"type":3035,"tag":3193,"props":4797,"children":4799},{"className":4798},[],[4800],{"type":3040,"value":4801},"authorize",{"type":3040,"value":4803},". Both of them are available in the client and the server. ",{"type":3035,"tag":3105,"props":4805,"children":4806},{},[4807,4809,4814],{"type":3040,"value":4808},"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":3035,"tag":3193,"props":4810,"children":4812},{"className":4811},[],[4813],{"type":3040,"value":3670},{"type":3040,"value":4815}," from the handler.",{"type":3035,"tag":3042,"props":4817,"children":4818},{},[4819,4821,4826],{"type":3040,"value":4820},"The ",{"type":3035,"tag":3193,"props":4822,"children":4824},{"className":4823},[],[4825],{"type":3040,"value":4785},{"type":3040,"value":4827}," function returns a boolean if the user can perform the action:",{"type":3035,"tag":3186,"props":4829,"children":4831},{"className":3277,"code":4830,"language":3279,"meta":2985,"style":2985},"if (await allows(listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4832],{"type":3035,"tag":3193,"props":4833,"children":4834},{"__ignoreMap":2985},[4835,4866,4874],{"type":3035,"tag":3118,"props":4836,"children":4837},{"class":3198,"line":3019},[4838,4843,4847,4852,4857,4862],{"type":3035,"tag":3118,"props":4839,"children":4840},{"style":3289},[4841],{"type":3040,"value":4842},"if",{"type":3035,"tag":3118,"props":4844,"children":4845},{"style":3306},[4846],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":4848,"children":4849},{"style":3289},[4850],{"type":3040,"value":4851},"await",{"type":3035,"tag":3118,"props":4853,"children":4854},{"style":3300},[4855],{"type":3040,"value":4856}," allows",{"type":3035,"tag":3118,"props":4858,"children":4859},{"style":3306},[4860],{"type":3040,"value":4861},"(listPosts)) ",{"type":3035,"tag":3118,"props":4863,"children":4864},{"style":3312},[4865],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":4867,"children":4868},{"class":3198,"line":3012},[4869],{"type":3035,"tag":3118,"props":4870,"children":4871},{"style":3471},[4872],{"type":3040,"value":4873},"  \u002F\u002F User can list posts\n",{"type":3035,"tag":3118,"props":4875,"children":4876},{"class":3198,"line":3008},[4877],{"type":3035,"tag":3118,"props":4878,"children":4879},{"style":3312},[4880],{"type":3040,"value":4881},"}\n",{"type":3035,"tag":3042,"props":4883,"children":4884},{},[4885],{"type":3035,"tag":3105,"props":4886,"children":4887},{},[4888],{"type":3040,"value":4889},"For the server:",{"type":3035,"tag":3186,"props":4891,"children":4893},{"className":3277,"code":4892,"language":3279,"meta":2985,"style":2985},"if (await allows(event, listPosts)) {\n  \u002F\u002F User can list posts\n}\n",[4894],{"type":3035,"tag":3193,"props":4895,"children":4896},{"__ignoreMap":2985},[4897,4934,4941],{"type":3035,"tag":3118,"props":4898,"children":4899},{"class":3198,"line":3019},[4900,4904,4908,4912,4916,4921,4925,4930],{"type":3035,"tag":3118,"props":4901,"children":4902},{"style":3289},[4903],{"type":3040,"value":4842},{"type":3035,"tag":3118,"props":4905,"children":4906},{"style":3306},[4907],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":4909,"children":4910},{"style":3289},[4911],{"type":3040,"value":4851},{"type":3035,"tag":3118,"props":4913,"children":4914},{"style":3300},[4915],{"type":3040,"value":4856},{"type":3035,"tag":3118,"props":4917,"children":4918},{"style":3306},[4919],{"type":3040,"value":4920},"(event",{"type":3035,"tag":3118,"props":4922,"children":4923},{"style":3312},[4924],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":4926,"children":4927},{"style":3306},[4928],{"type":3040,"value":4929}," listPosts)) ",{"type":3035,"tag":3118,"props":4931,"children":4932},{"style":3312},[4933],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":4935,"children":4936},{"class":3198,"line":3012},[4937],{"type":3035,"tag":3118,"props":4938,"children":4939},{"style":3471},[4940],{"type":3040,"value":4873},{"type":3035,"tag":3118,"props":4942,"children":4943},{"class":3198,"line":3008},[4944],{"type":3035,"tag":3118,"props":4945,"children":4946},{"style":3312},[4947],{"type":3040,"value":4881},{"type":3035,"tag":3042,"props":4949,"children":4950},{},[4951,4952,4957],{"type":3040,"value":4820},{"type":3035,"tag":3193,"props":4953,"children":4955},{"className":4954},[],[4956],{"type":3040,"value":4793},{"type":3040,"value":4958}," function returns a boolean if the user cannot perform the action:",{"type":3035,"tag":3186,"props":4960,"children":4962},{"className":3277,"code":4961,"language":3279,"meta":2985,"style":2985},"if (await denies(editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[4963],{"type":3035,"tag":3193,"props":4964,"children":4965},{"__ignoreMap":2985},[4966,5004,5012],{"type":3035,"tag":3118,"props":4967,"children":4968},{"class":3198,"line":3019},[4969,4973,4977,4981,4986,4991,4995,5000],{"type":3035,"tag":3118,"props":4970,"children":4971},{"style":3289},[4972],{"type":3040,"value":4842},{"type":3035,"tag":3118,"props":4974,"children":4975},{"style":3306},[4976],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":4978,"children":4979},{"style":3289},[4980],{"type":3040,"value":4851},{"type":3035,"tag":3118,"props":4982,"children":4983},{"style":3300},[4984],{"type":3040,"value":4985}," denies",{"type":3035,"tag":3118,"props":4987,"children":4988},{"style":3306},[4989],{"type":3040,"value":4990},"(editPost",{"type":3035,"tag":3118,"props":4992,"children":4993},{"style":3312},[4994],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":4996,"children":4997},{"style":3306},[4998],{"type":3040,"value":4999}," post)) ",{"type":3035,"tag":3118,"props":5001,"children":5002},{"style":3312},[5003],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":5005,"children":5006},{"class":3198,"line":3012},[5007],{"type":3035,"tag":3118,"props":5008,"children":5009},{"style":3471},[5010],{"type":3040,"value":5011},"  \u002F\u002F User cannot edit the post\n",{"type":3035,"tag":3118,"props":5013,"children":5014},{"class":3198,"line":3008},[5015],{"type":3035,"tag":3118,"props":5016,"children":5017},{"style":3312},[5018],{"type":3040,"value":4881},{"type":3035,"tag":3042,"props":5020,"children":5021},{},[5022],{"type":3035,"tag":3105,"props":5023,"children":5024},{},[5025],{"type":3040,"value":4889},{"type":3035,"tag":3186,"props":5027,"children":5029},{"className":3277,"code":5028,"language":3279,"meta":2985,"style":2985},"if (await denies(event, editPost, post)) {\n  \u002F\u002F User cannot edit the post\n}\n",[5030],{"type":3035,"tag":3193,"props":5031,"children":5032},{"__ignoreMap":2985},[5033,5077,5084],{"type":3035,"tag":3118,"props":5034,"children":5035},{"class":3198,"line":3019},[5036,5040,5044,5048,5052,5056,5060,5065,5069,5073],{"type":3035,"tag":3118,"props":5037,"children":5038},{"style":3289},[5039],{"type":3040,"value":4842},{"type":3035,"tag":3118,"props":5041,"children":5042},{"style":3306},[5043],{"type":3040,"value":3665},{"type":3035,"tag":3118,"props":5045,"children":5046},{"style":3289},[5047],{"type":3040,"value":4851},{"type":3035,"tag":3118,"props":5049,"children":5050},{"style":3300},[5051],{"type":3040,"value":4985},{"type":3035,"tag":3118,"props":5053,"children":5054},{"style":3306},[5055],{"type":3040,"value":4920},{"type":3035,"tag":3118,"props":5057,"children":5058},{"style":3312},[5059],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5061,"children":5062},{"style":3306},[5063],{"type":3040,"value":5064}," editPost",{"type":3035,"tag":3118,"props":5066,"children":5067},{"style":3312},[5068],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5070,"children":5071},{"style":3306},[5072],{"type":3040,"value":4999},{"type":3035,"tag":3118,"props":5074,"children":5075},{"style":3312},[5076],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":5078,"children":5079},{"class":3198,"line":3012},[5080],{"type":3035,"tag":3118,"props":5081,"children":5082},{"style":3471},[5083],{"type":3040,"value":5011},{"type":3035,"tag":3118,"props":5085,"children":5086},{"class":3198,"line":3008},[5087],{"type":3035,"tag":3118,"props":5088,"children":5089},{"style":3312},[5090],{"type":3040,"value":4881},{"type":3035,"tag":3042,"props":5092,"children":5093},{},[5094,5095,5100],{"type":3040,"value":4820},{"type":3035,"tag":3193,"props":5096,"children":5098},{"className":5097},[],[5099],{"type":3040,"value":4801},{"type":3040,"value":5101}," function throws an error if the user cannot perform the action:",{"type":3035,"tag":3186,"props":5103,"children":5105},{"className":3277,"code":5104,"language":3279,"meta":2985,"style":2985},"await authorize(editPost, post)\n\n\u002F\u002F User can edit the post\n",[5106],{"type":3035,"tag":3193,"props":5107,"children":5108},{"__ignoreMap":2985},[5109,5134,5141],{"type":3035,"tag":3118,"props":5110,"children":5111},{"class":3198,"line":3019},[5112,5116,5121,5125,5129],{"type":3035,"tag":3118,"props":5113,"children":5114},{"style":3289},[5115],{"type":3040,"value":4851},{"type":3035,"tag":3118,"props":5117,"children":5118},{"style":3300},[5119],{"type":3040,"value":5120}," authorize",{"type":3035,"tag":3118,"props":5122,"children":5123},{"style":3306},[5124],{"type":3040,"value":4990},{"type":3035,"tag":3118,"props":5126,"children":5127},{"style":3312},[5128],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5130,"children":5131},{"style":3306},[5132],{"type":3040,"value":5133}," post)\n",{"type":3035,"tag":3118,"props":5135,"children":5136},{"class":3198,"line":3012},[5137],{"type":3035,"tag":3118,"props":5138,"children":5139},{"emptyLinePlaceholder":1200},[5140],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":5142,"children":5143},{"class":3198,"line":3008},[5144],{"type":3035,"tag":3118,"props":5145,"children":5146},{"style":3471},[5147],{"type":3040,"value":5148},"\u002F\u002F User can edit the post\n",{"type":3035,"tag":3042,"props":5150,"children":5151},{},[5152],{"type":3035,"tag":3105,"props":5153,"children":5154},{},[5155],{"type":3040,"value":4889},{"type":3035,"tag":3186,"props":5157,"children":5159},{"className":3277,"code":5158,"language":3279,"meta":2985,"style":2985},"await authorize(event, editPost, post)\n",[5160],{"type":3035,"tag":3193,"props":5161,"children":5162},{"__ignoreMap":2985},[5163],{"type":3035,"tag":3118,"props":5164,"children":5165},{"class":3198,"line":3019},[5166,5170,5174,5178,5182,5186,5190],{"type":3035,"tag":3118,"props":5167,"children":5168},{"style":3289},[5169],{"type":3040,"value":4851},{"type":3035,"tag":3118,"props":5171,"children":5172},{"style":3300},[5173],{"type":3040,"value":5120},{"type":3035,"tag":3118,"props":5175,"children":5176},{"style":3306},[5177],{"type":3040,"value":4920},{"type":3035,"tag":3118,"props":5179,"children":5180},{"style":3312},[5181],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5183,"children":5184},{"style":3306},[5185],{"type":3040,"value":5064},{"type":3035,"tag":3118,"props":5187,"children":5188},{"style":3312},[5189],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5191,"children":5192},{"style":3306},[5193],{"type":3040,"value":5133},{"type":3035,"tag":3042,"props":5195,"children":5196},{},[5197],{"type":3040,"value":5198},"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":3035,"tag":3186,"props":5200,"children":5202},{"className":3277,"code":5201,"language":3279,"meta":2985,"style":2985},"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",[5203],{"type":3035,"tag":3193,"props":5204,"children":5205},{"__ignoreMap":2985},[5206,5277,5326,5342,5350,5357,5400],{"type":3035,"tag":3118,"props":5207,"children":5208},{"class":3198,"line":3019},[5209,5213,5217,5221,5225,5229,5233,5237,5241,5245,5249,5253,5257,5261,5265,5269,5273],{"type":3035,"tag":3118,"props":5210,"children":5211},{"style":3289},[5212],{"type":3040,"value":3292},{"type":3035,"tag":3118,"props":5214,"children":5215},{"style":3457},[5216],{"type":3040,"value":4439},{"type":3035,"tag":3118,"props":5218,"children":5219},{"style":3306},[5220],{"type":3040,"value":4504},{"type":3035,"tag":3118,"props":5222,"children":5223},{"style":3312},[5224],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":5226,"children":5227},{"style":3300},[5228],{"type":3040,"value":4454},{"type":3035,"tag":3118,"props":5230,"children":5231},{"style":3306},[5232],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":5234,"children":5235},{"style":3312},[5236],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":5238,"children":5239},{"style":3591},[5240],{"type":3040,"value":4031},{"type":3035,"tag":3118,"props":5242,"children":5243},{"style":3312},[5244],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":5246,"children":5247},{"style":3202},[5248],{"type":3040,"value":4533},{"type":3035,"tag":3118,"props":5250,"children":5251},{"style":3312},[5252],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5254,"children":5255},{"style":3591},[5256],{"type":3040,"value":4542},{"type":3035,"tag":3118,"props":5258,"children":5259},{"style":3312},[5260],{"type":3040,"value":3274},{"type":3035,"tag":3118,"props":5262,"children":5263},{"style":3202},[5264],{"type":3040,"value":4551},{"type":3035,"tag":3118,"props":5266,"children":5267},{"style":3312},[5268],{"type":3040,"value":3599},{"type":3035,"tag":3118,"props":5270,"children":5271},{"style":3457},[5272],{"type":3040,"value":3460},{"type":3035,"tag":3118,"props":5274,"children":5275},{"style":3312},[5276],{"type":3040,"value":3389},{"type":3035,"tag":3118,"props":5278,"children":5279},{"class":3198,"line":3012},[5280,5285,5289,5293,5297,5301,5305,5309,5313,5318,5322],{"type":3035,"tag":3118,"props":5281,"children":5282},{"style":3289},[5283],{"type":3040,"value":5284},"  if",{"type":3035,"tag":3118,"props":5286,"children":5287},{"style":3321},[5288],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":5290,"children":5291},{"style":3306},[5292],{"type":3040,"value":4031},{"type":3035,"tag":3118,"props":5294,"children":5295},{"style":3312},[5296],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":5298,"children":5299},{"style":3306},[5300],{"type":3040,"value":4585},{"type":3035,"tag":3118,"props":5302,"children":5303},{"style":3312},[5304],{"type":3040,"value":4590},{"type":3035,"tag":3118,"props":5306,"children":5307},{"style":3306},[5308],{"type":3040,"value":4542},{"type":3035,"tag":3118,"props":5310,"children":5311},{"style":3312},[5312],{"type":3040,"value":3137},{"type":3035,"tag":3118,"props":5314,"children":5315},{"style":3306},[5316],{"type":3040,"value":5317},"authorId",{"type":3035,"tag":3118,"props":5319,"children":5320},{"style":3321},[5321],{"type":3040,"value":4475},{"type":3035,"tag":3118,"props":5323,"children":5324},{"style":3312},[5325],{"type":3040,"value":3315},{"type":3035,"tag":3118,"props":5327,"children":5328},{"class":3198,"line":3008},[5329,5333,5337],{"type":3035,"tag":3118,"props":5330,"children":5331},{"style":3289},[5332],{"type":3040,"value":3398},{"type":3035,"tag":3118,"props":5334,"children":5335},{"style":3363},[5336],{"type":3040,"value":3366},{"type":3035,"tag":3118,"props":5338,"children":5339},{"style":3471},[5340],{"type":3040,"value":5341}," \u002F\u002F or allow()\n",{"type":3035,"tag":3118,"props":5343,"children":5344},{"class":3198,"line":3373},[5345],{"type":3035,"tag":3118,"props":5346,"children":5347},{"style":3312},[5348],{"type":3040,"value":5349},"  }\n",{"type":3035,"tag":3118,"props":5351,"children":5352},{"class":3198,"line":3392},[5353],{"type":3035,"tag":3118,"props":5354,"children":5355},{"emptyLinePlaceholder":1200},[5356],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":5358,"children":5359},{"class":3198,"line":3405},[5360,5364,5369,5373,5377,5382,5386,5390,5396],{"type":3035,"tag":3118,"props":5361,"children":5362},{"style":3289},[5363],{"type":3040,"value":4571},{"type":3035,"tag":3118,"props":5365,"children":5366},{"style":3300},[5367],{"type":3040,"value":5368}," deny",{"type":3035,"tag":3118,"props":5370,"children":5371},{"style":3321},[5372],{"type":3040,"value":3309},{"type":3035,"tag":3118,"props":5374,"children":5375},{"style":3312},[5376],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":5378,"children":5379},{"style":3208},[5380],{"type":3040,"value":5381},"This post does not exist",{"type":3035,"tag":3118,"props":5383,"children":5384},{"style":3312},[5385],{"type":3040,"value":3343},{"type":3035,"tag":3118,"props":5387,"children":5388},{"style":3312},[5389],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":5391,"children":5393},{"style":5392},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[5394],{"type":3040,"value":5395}," 404",{"type":3035,"tag":3118,"props":5397,"children":5398},{"style":3321},[5399],{"type":3040,"value":3532},{"type":3035,"tag":3118,"props":5401,"children":5402},{"class":3198,"line":3422},[5403,5407],{"type":3035,"tag":3118,"props":5404,"children":5405},{"style":3312},[5406],{"type":3040,"value":3527},{"type":3035,"tag":3118,"props":5408,"children":5409},{"style":3306},[5410],{"type":3040,"value":3532},{"type":3035,"tag":3042,"props":5412,"children":5413},{},[5414,5420,5422,5428,5430,5436,5437,5443,5445,5450],{"type":3035,"tag":3193,"props":5415,"children":5417},{"className":5416},[],[5418],{"type":3040,"value":5419},"allow",{"type":3040,"value":5421}," and ",{"type":3035,"tag":3193,"props":5423,"children":5425},{"className":5424},[],[5426],{"type":3040,"value":5427},"deny",{"type":3040,"value":5429}," are similar to returning ",{"type":3035,"tag":3193,"props":5431,"children":5433},{"className":5432},[],[5434],{"type":3040,"value":5435},"true",{"type":3040,"value":5421},{"type":3035,"tag":3193,"props":5438,"children":5440},{"className":5439},[],[5441],{"type":3040,"value":5442},"false",{"type":3040,"value":5444}," but ",{"type":3035,"tag":3193,"props":5446,"children":5448},{"className":5447},[],[5449],{"type":3040,"value":5427},{"type":3040,"value":5451}," allows to return a custom message and status code for the error.",{"type":3035,"tag":3042,"props":5453,"children":5454},{},[5455,5457,5462,5464,5470],{"type":3040,"value":5456},"Most of the times, you API endpoints will use the ",{"type":3035,"tag":3193,"props":5458,"children":5460},{"className":5459},[],[5461],{"type":3040,"value":4801},{"type":3040,"value":5463},". 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":3035,"tag":3193,"props":5465,"children":5467},{"className":5466},[],[5468],{"type":3040,"value":5469},"H3Error",{"type":3040,"value":5471}," and will be caught by the Nitro server.",{"type":3035,"tag":3042,"props":5473,"children":5474},{},[5475,5476,5481,5482,5487],{"type":3040,"value":4820},{"type":3035,"tag":3193,"props":5477,"children":5479},{"className":5478},[],[5480],{"type":3040,"value":4785},{"type":3040,"value":5421},{"type":3035,"tag":3193,"props":5483,"children":5485},{"className":5484},[],[5486],{"type":3040,"value":4793},{"type":3040,"value":5488}," 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":3035,"tag":3251,"props":5490,"children":5492},{"id":5491},"use-components",[5493],{"type":3040,"value":5494},"Use Components",{"type":3035,"tag":3042,"props":5496,"children":5497},{},[5498],{"type":3040,"value":5499},"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":3035,"tag":3186,"props":5501,"children":5505},{"className":5502,"code":5503,"language":5504,"meta":2985,"style":2985},"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",[5506],{"type":3035,"tag":3193,"props":5507,"children":5508},{"__ignoreMap":2985},[5509,5527,5540,5567,5642,5650,5686,5703],{"type":3035,"tag":3118,"props":5510,"children":5511},{"class":3198,"line":3019},[5512,5517,5522],{"type":3035,"tag":3118,"props":5513,"children":5514},{"style":3312},[5515],{"type":3040,"value":5516},"\u003C",{"type":3035,"tag":3118,"props":5518,"children":5519},{"style":3321},[5520],{"type":3040,"value":5521},"template",{"type":3035,"tag":3118,"props":5523,"children":5524},{"style":3312},[5525],{"type":3040,"value":5526},">\n",{"type":3035,"tag":3118,"props":5528,"children":5529},{"class":3198,"line":3012},[5530,5535],{"type":3035,"tag":3118,"props":5531,"children":5532},{"style":3312},[5533],{"type":3040,"value":5534},"  \u003C",{"type":3035,"tag":3118,"props":5536,"children":5537},{"style":3321},[5538],{"type":3040,"value":5539},"Can\n",{"type":3035,"tag":3118,"props":5541,"children":5542},{"class":3198,"line":3008},[5543,5548,5552,5557,5562],{"type":3035,"tag":3118,"props":5544,"children":5545},{"style":3457},[5546],{"type":3040,"value":5547},"    :ability",{"type":3035,"tag":3118,"props":5549,"children":5550},{"style":3312},[5551],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":5553,"children":5554},{"style":3312},[5555],{"type":3040,"value":5556},"\"",{"type":3035,"tag":3118,"props":5558,"children":5559},{"style":3208},[5560],{"type":3040,"value":5561},"editPost",{"type":3035,"tag":3118,"props":5563,"children":5564},{"style":3312},[5565],{"type":3040,"value":5566},"\"\n",{"type":3035,"tag":3118,"props":5568,"children":5569},{"class":3198,"line":3373},[5570,5575,5579,5583,5588,5592,5597,5602,5607,5612,5617,5622,5627,5632,5637],{"type":3035,"tag":3118,"props":5571,"children":5572},{"style":3457},[5573],{"type":3040,"value":5574},"    :args",{"type":3035,"tag":3118,"props":5576,"children":5577},{"style":3312},[5578],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":5580,"children":5581},{"style":3312},[5582],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":5584,"children":5585},{"style":3208},[5586],{"type":3040,"value":5587},"[post]",{"type":3035,"tag":3118,"props":5589,"children":5590},{"style":3312},[5591],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":5593,"children":5594},{"style":3312},[5595],{"type":3040,"value":5596}," \u002F\u002F ",{"type":3035,"tag":3118,"props":5598,"children":5599},{"style":3457},[5600],{"type":3040,"value":5601},"Optional",{"type":3035,"tag":3118,"props":5603,"children":5604},{"style":3457},[5605],{"type":3040,"value":5606}," if",{"type":3035,"tag":3118,"props":5608,"children":5609},{"style":3457},[5610],{"type":3040,"value":5611}," the",{"type":3035,"tag":3118,"props":5613,"children":5614},{"style":3457},[5615],{"type":3040,"value":5616}," ability",{"type":3035,"tag":3118,"props":5618,"children":5619},{"style":3457},[5620],{"type":3040,"value":5621}," does",{"type":3035,"tag":3118,"props":5623,"children":5624},{"style":3457},[5625],{"type":3040,"value":5626}," not",{"type":3035,"tag":3118,"props":5628,"children":5629},{"style":3457},[5630],{"type":3040,"value":5631}," take",{"type":3035,"tag":3118,"props":5633,"children":5634},{"style":3457},[5635],{"type":3040,"value":5636}," any",{"type":3035,"tag":3118,"props":5638,"children":5639},{"style":3457},[5640],{"type":3040,"value":5641}," arguments\n",{"type":3035,"tag":3118,"props":5643,"children":5644},{"class":3198,"line":3392},[5645],{"type":3035,"tag":3118,"props":5646,"children":5647},{"style":3312},[5648],{"type":3040,"value":5649},"  >\n",{"type":3035,"tag":3118,"props":5651,"children":5652},{"class":3198,"line":3405},[5653,5658,5663,5668,5673,5678,5682],{"type":3035,"tag":3118,"props":5654,"children":5655},{"style":3312},[5656],{"type":3040,"value":5657},"    \u003C",{"type":3035,"tag":3118,"props":5659,"children":5660},{"style":3321},[5661],{"type":3040,"value":5662},"button",{"type":3035,"tag":3118,"props":5664,"children":5665},{"style":3312},[5666],{"type":3040,"value":5667},">",{"type":3035,"tag":3118,"props":5669,"children":5670},{"style":3306},[5671],{"type":3040,"value":5672},"Edit",{"type":3035,"tag":3118,"props":5674,"children":5675},{"style":3312},[5676],{"type":3040,"value":5677},"\u003C\u002F",{"type":3035,"tag":3118,"props":5679,"children":5680},{"style":3321},[5681],{"type":3040,"value":5662},{"type":3035,"tag":3118,"props":5683,"children":5684},{"style":3312},[5685],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":5687,"children":5688},{"class":3198,"line":3422},[5689,5694,5699],{"type":3035,"tag":3118,"props":5690,"children":5691},{"style":3312},[5692],{"type":3040,"value":5693},"  \u003C\u002F",{"type":3035,"tag":3118,"props":5695,"children":5696},{"style":3321},[5697],{"type":3040,"value":5698},"Can",{"type":3035,"tag":3118,"props":5700,"children":5701},{"style":3312},[5702],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":5704,"children":5705},{"class":3198,"line":3439},[5706,5710,5714],{"type":3035,"tag":3118,"props":5707,"children":5708},{"style":3312},[5709],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":5711,"children":5712},{"style":3321},[5713],{"type":3040,"value":5521},{"type":3035,"tag":3118,"props":5715,"children":5716},{"style":3312},[5717],{"type":3040,"value":5526},{"type":3035,"tag":3042,"props":5719,"children":5720},{},[5721,5722,5727],{"type":3040,"value":4820},{"type":3035,"tag":3193,"props":5723,"children":5725},{"className":5724},[],[5726],{"type":3040,"value":5698},{"type":3040,"value":5728}," 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":3035,"tag":3042,"props":5730,"children":5731},{},[5732,5734,5740],{"type":3040,"value":5733},"As a counterpart, you can use the ",{"type":3035,"tag":3193,"props":5735,"children":5737},{"className":5736},[],[5738],{"type":3040,"value":5739},"Cannot",{"type":3040,"value":5741}," component to render the button only if the user cannot edit the post.",{"type":3035,"tag":3186,"props":5743,"children":5745},{"className":5502,"code":5744,"language":5504,"meta":2985,"style":2985},"\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",[5746],{"type":3035,"tag":3193,"props":5747,"children":5748},{"__ignoreMap":2985},[5749,5764,5776,5799,5862,5869,5901,5916],{"type":3035,"tag":3118,"props":5750,"children":5751},{"class":3198,"line":3019},[5752,5756,5760],{"type":3035,"tag":3118,"props":5753,"children":5754},{"style":3312},[5755],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":5757,"children":5758},{"style":3321},[5759],{"type":3040,"value":5521},{"type":3035,"tag":3118,"props":5761,"children":5762},{"style":3312},[5763],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":5765,"children":5766},{"class":3198,"line":3012},[5767,5771],{"type":3035,"tag":3118,"props":5768,"children":5769},{"style":3312},[5770],{"type":3040,"value":5534},{"type":3035,"tag":3118,"props":5772,"children":5773},{"style":3321},[5774],{"type":3040,"value":5775},"Cannot\n",{"type":3035,"tag":3118,"props":5777,"children":5778},{"class":3198,"line":3008},[5779,5783,5787,5791,5795],{"type":3035,"tag":3118,"props":5780,"children":5781},{"style":3457},[5782],{"type":3040,"value":5547},{"type":3035,"tag":3118,"props":5784,"children":5785},{"style":3312},[5786],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":5788,"children":5789},{"style":3312},[5790],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":5792,"children":5793},{"style":3208},[5794],{"type":3040,"value":5561},{"type":3035,"tag":3118,"props":5796,"children":5797},{"style":3312},[5798],{"type":3040,"value":5566},{"type":3035,"tag":3118,"props":5800,"children":5801},{"class":3198,"line":3373},[5802,5806,5810,5814,5818,5822,5826,5830,5834,5838,5842,5846,5850,5854,5858],{"type":3035,"tag":3118,"props":5803,"children":5804},{"style":3457},[5805],{"type":3040,"value":5574},{"type":3035,"tag":3118,"props":5807,"children":5808},{"style":3312},[5809],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":5811,"children":5812},{"style":3312},[5813],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":5815,"children":5816},{"style":3208},[5817],{"type":3040,"value":5587},{"type":3035,"tag":3118,"props":5819,"children":5820},{"style":3312},[5821],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":5823,"children":5824},{"style":3312},[5825],{"type":3040,"value":5596},{"type":3035,"tag":3118,"props":5827,"children":5828},{"style":3457},[5829],{"type":3040,"value":5601},{"type":3035,"tag":3118,"props":5831,"children":5832},{"style":3457},[5833],{"type":3040,"value":5606},{"type":3035,"tag":3118,"props":5835,"children":5836},{"style":3457},[5837],{"type":3040,"value":5611},{"type":3035,"tag":3118,"props":5839,"children":5840},{"style":3457},[5841],{"type":3040,"value":5616},{"type":3035,"tag":3118,"props":5843,"children":5844},{"style":3457},[5845],{"type":3040,"value":5621},{"type":3035,"tag":3118,"props":5847,"children":5848},{"style":3457},[5849],{"type":3040,"value":5626},{"type":3035,"tag":3118,"props":5851,"children":5852},{"style":3457},[5853],{"type":3040,"value":5631},{"type":3035,"tag":3118,"props":5855,"children":5856},{"style":3457},[5857],{"type":3040,"value":5636},{"type":3035,"tag":3118,"props":5859,"children":5860},{"style":3457},[5861],{"type":3040,"value":5641},{"type":3035,"tag":3118,"props":5863,"children":5864},{"class":3198,"line":3392},[5865],{"type":3035,"tag":3118,"props":5866,"children":5867},{"style":3312},[5868],{"type":3040,"value":5649},{"type":3035,"tag":3118,"props":5870,"children":5871},{"class":3198,"line":3405},[5872,5876,5880,5884,5889,5893,5897],{"type":3035,"tag":3118,"props":5873,"children":5874},{"style":3312},[5875],{"type":3040,"value":5657},{"type":3035,"tag":3118,"props":5877,"children":5878},{"style":3321},[5879],{"type":3040,"value":3042},{"type":3035,"tag":3118,"props":5881,"children":5882},{"style":3312},[5883],{"type":3040,"value":5667},{"type":3035,"tag":3118,"props":5885,"children":5886},{"style":3306},[5887],{"type":3040,"value":5888},"You're not allowed to edit the post.",{"type":3035,"tag":3118,"props":5890,"children":5891},{"style":3312},[5892],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":5894,"children":5895},{"style":3321},[5896],{"type":3040,"value":3042},{"type":3035,"tag":3118,"props":5898,"children":5899},{"style":3312},[5900],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":5902,"children":5903},{"class":3198,"line":3422},[5904,5908,5912],{"type":3035,"tag":3118,"props":5905,"children":5906},{"style":3312},[5907],{"type":3040,"value":5693},{"type":3035,"tag":3118,"props":5909,"children":5910},{"style":3321},[5911],{"type":3040,"value":5739},{"type":3035,"tag":3118,"props":5913,"children":5914},{"style":3312},[5915],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":5917,"children":5918},{"class":3198,"line":3439},[5919,5923,5927],{"type":3035,"tag":3118,"props":5920,"children":5921},{"style":3312},[5922],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":5924,"children":5925},{"style":3321},[5926],{"type":3040,"value":5521},{"type":3035,"tag":3118,"props":5928,"children":5929},{"style":3312},[5930],{"type":3040,"value":5526},{"type":3035,"tag":3042,"props":5932,"children":5933},{},[5934,5935,5941,5943,5948,5949,5954,5956,5963],{"type":3040,"value":4820},{"type":3035,"tag":3193,"props":5936,"children":5938},{"className":5937},[],[5939],{"type":3040,"value":5940},"Bouncer",{"type":3040,"value":5942}," component offers a more flexible and centralized way to handle both can and cannot scenarios within a single component. Instead of using separate ",{"type":3035,"tag":3193,"props":5944,"children":5946},{"className":5945},[],[5947],{"type":3040,"value":5698},{"type":3040,"value":5421},{"type":3035,"tag":3193,"props":5950,"children":5952},{"className":5951},[],[5953],{"type":3040,"value":5739},{"type":3040,"value":5955}," components, you can leverage the Bouncer component and its ",{"type":3035,"tag":3046,"props":5957,"children":5960},{"href":5958,"rel":5959},"https:\u002F\u002Fvuejs.org\u002Fguide\u002Fcomponents\u002Fslots.html#named-slots",[3050],[5961],{"type":3040,"value":5962},"named slots",{"type":3040,"value":5964}," to handle both states in a unified block.",{"type":3035,"tag":3186,"props":5966,"children":5968},{"className":5502,"code":5967,"language":5504,"meta":2985,"style":2985},"\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",[5969],{"type":3035,"tag":3193,"props":5970,"children":5971},{"__ignoreMap":2985},[5972,5984,6013,6081,6088,6096,6104,6112,6119,6127,6135,6142],{"type":3035,"tag":3118,"props":5973,"children":5974},{"class":3198,"line":3019},[5975,5979],{"type":3035,"tag":3118,"props":5976,"children":5977},{"style":3312},[5978],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":5980,"children":5981},{"style":3321},[5982],{"type":3040,"value":5983},"Bouncer\n",{"type":3035,"tag":3118,"props":5985,"children":5986},{"class":3198,"line":3012},[5987,5992,5997,6001,6005,6009],{"type":3035,"tag":3118,"props":5988,"children":5989},{"style":3312},[5990],{"type":3040,"value":5991},"  :",{"type":3035,"tag":3118,"props":5993,"children":5994},{"style":3457},[5995],{"type":3040,"value":5996},"ability",{"type":3035,"tag":3118,"props":5998,"children":5999},{"style":3312},[6000],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6002,"children":6003},{"style":3312},[6004],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6006,"children":6007},{"style":3306},[6008],{"type":3040,"value":5561},{"type":3035,"tag":3118,"props":6010,"children":6011},{"style":3312},[6012],{"type":3040,"value":5566},{"type":3035,"tag":3118,"props":6014,"children":6015},{"class":3198,"line":3008},[6016,6020,6025,6029,6033,6037,6041,6045,6049,6053,6057,6061,6065,6069,6073,6077],{"type":3035,"tag":3118,"props":6017,"children":6018},{"style":3312},[6019],{"type":3040,"value":5991},{"type":3035,"tag":3118,"props":6021,"children":6022},{"style":3457},[6023],{"type":3040,"value":6024},"args",{"type":3035,"tag":3118,"props":6026,"children":6027},{"style":3312},[6028],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6030,"children":6031},{"style":3312},[6032],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6034,"children":6035},{"style":3306},[6036],{"type":3040,"value":5587},{"type":3035,"tag":3118,"props":6038,"children":6039},{"style":3312},[6040],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6042,"children":6043},{"style":3306},[6044],{"type":3040,"value":5596},{"type":3035,"tag":3118,"props":6046,"children":6047},{"style":3457},[6048],{"type":3040,"value":5601},{"type":3035,"tag":3118,"props":6050,"children":6051},{"style":3457},[6052],{"type":3040,"value":5606},{"type":3035,"tag":3118,"props":6054,"children":6055},{"style":3457},[6056],{"type":3040,"value":5611},{"type":3035,"tag":3118,"props":6058,"children":6059},{"style":3457},[6060],{"type":3040,"value":5616},{"type":3035,"tag":3118,"props":6062,"children":6063},{"style":3457},[6064],{"type":3040,"value":5621},{"type":3035,"tag":3118,"props":6066,"children":6067},{"style":3457},[6068],{"type":3040,"value":5626},{"type":3035,"tag":3118,"props":6070,"children":6071},{"style":3457},[6072],{"type":3040,"value":5631},{"type":3035,"tag":3118,"props":6074,"children":6075},{"style":3457},[6076],{"type":3040,"value":5636},{"type":3035,"tag":3118,"props":6078,"children":6079},{"style":3457},[6080],{"type":3040,"value":5641},{"type":3035,"tag":3118,"props":6082,"children":6083},{"class":3198,"line":3373},[6084],{"type":3035,"tag":3118,"props":6085,"children":6086},{"style":3312},[6087],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":6089,"children":6090},{"class":3198,"line":3392},[6091],{"type":3035,"tag":3118,"props":6092,"children":6093},{"style":3306},[6094],{"type":3040,"value":6095},"  \u003Ctemplate #can>\n",{"type":3035,"tag":3118,"props":6097,"children":6098},{"class":3198,"line":3405},[6099],{"type":3035,"tag":3118,"props":6100,"children":6101},{"style":3306},[6102],{"type":3040,"value":6103},"    \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3035,"tag":3118,"props":6105,"children":6106},{"class":3198,"line":3422},[6107],{"type":3035,"tag":3118,"props":6108,"children":6109},{"style":3306},[6110],{"type":3040,"value":6111},"  \u003C\u002Ftemplate>\n",{"type":3035,"tag":3118,"props":6113,"children":6114},{"class":3198,"line":3439},[6115],{"type":3035,"tag":3118,"props":6116,"children":6117},{"emptyLinePlaceholder":1200},[6118],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6120,"children":6121},{"class":3198,"line":3467},[6122],{"type":3035,"tag":3118,"props":6123,"children":6124},{"style":3306},[6125],{"type":3040,"value":6126},"  \u003Ctemplate #cannot>\n",{"type":3035,"tag":3118,"props":6128,"children":6129},{"class":3198,"line":3477},[6130],{"type":3035,"tag":3118,"props":6131,"children":6132},{"style":3306},[6133],{"type":3040,"value":6134},"    \u003Cp>You're not allowed to edit the post.\u003C\u002Fp>\n",{"type":3035,"tag":3118,"props":6136,"children":6137},{"class":3198,"line":3486},[6138],{"type":3035,"tag":3118,"props":6139,"children":6140},{"style":3306},[6141],{"type":3040,"value":6111},{"type":3035,"tag":3118,"props":6143,"children":6144},{"class":3198,"line":3495},[6145,6149,6153],{"type":3035,"tag":3118,"props":6146,"children":6147},{"style":3312},[6148],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6150,"children":6151},{"style":3321},[6152],{"type":3040,"value":5940},{"type":3035,"tag":3118,"props":6154,"children":6155},{"style":3312},[6156],{"type":3040,"value":5526},{"type":3035,"tag":3042,"props":6158,"children":6159},{},[6160,6162,6168],{"type":3040,"value":6161},"All of these components accept a prop named ",{"type":3035,"tag":3193,"props":6163,"children":6165},{"className":6164},[],[6166],{"type":3040,"value":6167},"as",{"type":3040,"value":6169}," to define the HTML tag to render. By default, it's a renderless component.",{"type":3035,"tag":3186,"props":6171,"children":6173},{"className":5502,"code":6172,"language":5504,"meta":2985,"style":2985},"\u003CCan\n  :ability=\"editPost\"\n  :args=\"[post]\"\n  as=\"div\"\n>\n  \u003Cbutton>Edit\u003C\u002Fbutton>\n\u003C\u002FCan>\n",[6174],{"type":3035,"tag":3193,"props":6175,"children":6176},{"__ignoreMap":2985},[6177,6188,6215,6242,6267,6274,6282],{"type":3035,"tag":3118,"props":6178,"children":6179},{"class":3198,"line":3019},[6180,6184],{"type":3035,"tag":3118,"props":6181,"children":6182},{"style":3312},[6183],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6185,"children":6186},{"style":3321},[6187],{"type":3040,"value":5539},{"type":3035,"tag":3118,"props":6189,"children":6190},{"class":3198,"line":3012},[6191,6195,6199,6203,6207,6211],{"type":3035,"tag":3118,"props":6192,"children":6193},{"style":3312},[6194],{"type":3040,"value":5991},{"type":3035,"tag":3118,"props":6196,"children":6197},{"style":3457},[6198],{"type":3040,"value":5996},{"type":3035,"tag":3118,"props":6200,"children":6201},{"style":3312},[6202],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6204,"children":6205},{"style":3312},[6206],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6208,"children":6209},{"style":3306},[6210],{"type":3040,"value":5561},{"type":3035,"tag":3118,"props":6212,"children":6213},{"style":3312},[6214],{"type":3040,"value":5566},{"type":3035,"tag":3118,"props":6216,"children":6217},{"class":3198,"line":3008},[6218,6222,6226,6230,6234,6238],{"type":3035,"tag":3118,"props":6219,"children":6220},{"style":3312},[6221],{"type":3040,"value":5991},{"type":3035,"tag":3118,"props":6223,"children":6224},{"style":3457},[6225],{"type":3040,"value":6024},{"type":3035,"tag":3118,"props":6227,"children":6228},{"style":3312},[6229],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6231,"children":6232},{"style":3312},[6233],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6235,"children":6236},{"style":3306},[6237],{"type":3040,"value":5587},{"type":3035,"tag":3118,"props":6239,"children":6240},{"style":3312},[6241],{"type":3040,"value":5566},{"type":3035,"tag":3118,"props":6243,"children":6244},{"class":3198,"line":3373},[6245,6250,6254,6258,6263],{"type":3035,"tag":3118,"props":6246,"children":6247},{"style":3457},[6248],{"type":3040,"value":6249},"  as",{"type":3035,"tag":3118,"props":6251,"children":6252},{"style":3312},[6253],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6255,"children":6256},{"style":3312},[6257],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6259,"children":6260},{"style":3208},[6261],{"type":3040,"value":6262},"div",{"type":3035,"tag":3118,"props":6264,"children":6265},{"style":3312},[6266],{"type":3040,"value":5566},{"type":3035,"tag":3118,"props":6268,"children":6269},{"class":3198,"line":3392},[6270],{"type":3035,"tag":3118,"props":6271,"children":6272},{"style":3312},[6273],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":6275,"children":6276},{"class":3198,"line":3405},[6277],{"type":3035,"tag":3118,"props":6278,"children":6279},{"style":3306},[6280],{"type":3040,"value":6281},"  \u003Cbutton>Edit\u003C\u002Fbutton>\n",{"type":3035,"tag":3118,"props":6283,"children":6284},{"class":3198,"line":3422},[6285,6289,6293],{"type":3035,"tag":3118,"props":6286,"children":6287},{"style":3312},[6288],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6290,"children":6291},{"style":3321},[6292],{"type":3040,"value":5698},{"type":3035,"tag":3118,"props":6294,"children":6295},{"style":3312},[6296],{"type":3040,"value":5526},{"type":3035,"tag":3042,"props":6298,"children":6299},{},[6300],{"type":3040,"value":6301},"This will render:",{"type":3035,"tag":3186,"props":6303,"children":6307},{"className":6304,"code":6305,"language":6306,"meta":2985,"style":2985},"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",[6308],{"type":3035,"tag":3193,"props":6309,"children":6310},{"__ignoreMap":2985},[6311,6326,6357],{"type":3035,"tag":3118,"props":6312,"children":6313},{"class":3198,"line":3019},[6314,6318,6322],{"type":3035,"tag":3118,"props":6315,"children":6316},{"style":3312},[6317],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6319,"children":6320},{"style":3321},[6321],{"type":3040,"value":6262},{"type":3035,"tag":3118,"props":6323,"children":6324},{"style":3312},[6325],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":6327,"children":6328},{"class":3198,"line":3012},[6329,6333,6337,6341,6345,6349,6353],{"type":3035,"tag":3118,"props":6330,"children":6331},{"style":3312},[6332],{"type":3040,"value":5534},{"type":3035,"tag":3118,"props":6334,"children":6335},{"style":3321},[6336],{"type":3040,"value":5662},{"type":3035,"tag":3118,"props":6338,"children":6339},{"style":3312},[6340],{"type":3040,"value":5667},{"type":3035,"tag":3118,"props":6342,"children":6343},{"style":3306},[6344],{"type":3040,"value":5672},{"type":3035,"tag":3118,"props":6346,"children":6347},{"style":3312},[6348],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6350,"children":6351},{"style":3321},[6352],{"type":3040,"value":5662},{"type":3035,"tag":3118,"props":6354,"children":6355},{"style":3312},[6356],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":6358,"children":6359},{"class":3198,"line":3008},[6360,6364,6368],{"type":3035,"tag":3118,"props":6361,"children":6362},{"style":3312},[6363],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6365,"children":6366},{"style":3321},[6367],{"type":3040,"value":6262},{"type":3035,"tag":3118,"props":6369,"children":6370},{"style":3312},[6371],{"type":3040,"value":5526},{"type":3035,"tag":3042,"props":6373,"children":6374},{},[6375],{"type":3040,"value":6376},"Instead of:",{"type":3035,"tag":3186,"props":6378,"children":6380},{"className":6304,"code":6379,"language":6306,"meta":2985,"style":2985},"\u003Cbutton>Edit\u003C\u002Fbutton>\n",[6381],{"type":3035,"tag":3193,"props":6382,"children":6383},{"__ignoreMap":2985},[6384],{"type":3035,"tag":3118,"props":6385,"children":6386},{"class":3198,"line":3019},[6387,6391,6395,6399,6403,6407,6411],{"type":3035,"tag":3118,"props":6388,"children":6389},{"style":3312},[6390],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6392,"children":6393},{"style":3321},[6394],{"type":3040,"value":5662},{"type":3035,"tag":3118,"props":6396,"children":6397},{"style":3312},[6398],{"type":3040,"value":5667},{"type":3035,"tag":3118,"props":6400,"children":6401},{"style":3306},[6402],{"type":3040,"value":5672},{"type":3035,"tag":3118,"props":6404,"children":6405},{"style":3312},[6406],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6408,"children":6409},{"style":3321},[6410],{"type":3040,"value":5662},{"type":3035,"tag":3118,"props":6412,"children":6413},{"style":3312},[6414],{"type":3040,"value":5526},{"type":3035,"tag":3834,"props":6416,"children":6418},{"id":6417},"multiple-abilities",[6419],{"type":3040,"value":6420},"Multiple abilities",{"type":3035,"tag":3042,"props":6422,"children":6423},{},[6424,6426,6431,6433,6438],{"type":3040,"value":6425},"If you possess multiple abilities, you can provide an array of abilities to the components. The component will render only if ",{"type":3035,"tag":4645,"props":6427,"children":6428},{},[6429],{"type":3040,"value":6430},"all",{"type":3040,"value":6432}," of the abilities ",{"type":3035,"tag":4645,"props":6434,"children":6435},{},[6436],{"type":3040,"value":6437},"match",{"type":3040,"value":6439}," the specified requirements of the component.",{"type":3035,"tag":3186,"props":6441,"children":6443},{"className":5502,"code":6442,"language":5504,"meta":2985,"style":2985},"\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",[6444],{"type":3035,"tag":3193,"props":6445,"children":6446},{"__ignoreMap":2985},[6447,6532,6539,6618,6625,6704,6711,6718,6726,6733,6740,6747,6755,6762],{"type":3035,"tag":3118,"props":6448,"children":6449},{"class":3198,"line":3019},[6450,6454,6458,6463,6467,6471,6475,6480,6484,6489,6493,6497,6501,6505,6509,6514,6518,6523,6527],{"type":3035,"tag":3118,"props":6451,"children":6452},{"style":3312},[6453],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6455,"children":6456},{"style":3321},[6457],{"type":3040,"value":5698},{"type":3035,"tag":3118,"props":6459,"children":6460},{"style":3312},[6461],{"type":3040,"value":6462}," :",{"type":3035,"tag":3118,"props":6464,"children":6465},{"style":3457},[6466],{"type":3040,"value":5996},{"type":3035,"tag":3118,"props":6468,"children":6469},{"style":3312},[6470],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6472,"children":6473},{"style":3312},[6474],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6476,"children":6477},{"style":3306},[6478],{"type":3040,"value":6479},"[editPost",{"type":3035,"tag":3118,"props":6481,"children":6482},{"style":3312},[6483],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6485,"children":6486},{"style":3306},[6487],{"type":3040,"value":6488}," deletePost]",{"type":3035,"tag":3118,"props":6490,"children":6491},{"style":3312},[6492],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6494,"children":6495},{"style":3312},[6496],{"type":3040,"value":6462},{"type":3035,"tag":3118,"props":6498,"children":6499},{"style":3457},[6500],{"type":3040,"value":6024},{"type":3035,"tag":3118,"props":6502,"children":6503},{"style":3312},[6504],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6506,"children":6507},{"style":3312},[6508],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6510,"children":6511},{"style":3306},[6512],{"type":3040,"value":6513},"[[post]",{"type":3035,"tag":3118,"props":6515,"children":6516},{"style":3312},[6517],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6519,"children":6520},{"style":3306},[6521],{"type":3040,"value":6522}," [post]]",{"type":3035,"tag":3118,"props":6524,"children":6525},{"style":3312},[6526],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6528,"children":6529},{"style":3312},[6530],{"type":3040,"value":6531}," \u002F>\n",{"type":3035,"tag":3118,"props":6533,"children":6534},{"class":3198,"line":3012},[6535],{"type":3035,"tag":3118,"props":6536,"children":6537},{"emptyLinePlaceholder":1200},[6538],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6540,"children":6541},{"class":3198,"line":3008},[6542,6546,6550,6554,6558,6562,6566,6570,6574,6578,6582,6586,6590,6594,6598,6602,6606,6610,6614],{"type":3035,"tag":3118,"props":6543,"children":6544},{"style":3312},[6545],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6547,"children":6548},{"style":3321},[6549],{"type":3040,"value":5739},{"type":3035,"tag":3118,"props":6551,"children":6552},{"style":3312},[6553],{"type":3040,"value":6462},{"type":3035,"tag":3118,"props":6555,"children":6556},{"style":3457},[6557],{"type":3040,"value":5996},{"type":3035,"tag":3118,"props":6559,"children":6560},{"style":3312},[6561],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6563,"children":6564},{"style":3312},[6565],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6567,"children":6568},{"style":3306},[6569],{"type":3040,"value":6479},{"type":3035,"tag":3118,"props":6571,"children":6572},{"style":3312},[6573],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6575,"children":6576},{"style":3306},[6577],{"type":3040,"value":6488},{"type":3035,"tag":3118,"props":6579,"children":6580},{"style":3312},[6581],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6583,"children":6584},{"style":3312},[6585],{"type":3040,"value":6462},{"type":3035,"tag":3118,"props":6587,"children":6588},{"style":3457},[6589],{"type":3040,"value":6024},{"type":3035,"tag":3118,"props":6591,"children":6592},{"style":3312},[6593],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6595,"children":6596},{"style":3312},[6597],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6599,"children":6600},{"style":3306},[6601],{"type":3040,"value":6513},{"type":3035,"tag":3118,"props":6603,"children":6604},{"style":3312},[6605],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6607,"children":6608},{"style":3306},[6609],{"type":3040,"value":6522},{"type":3035,"tag":3118,"props":6611,"children":6612},{"style":3312},[6613],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6615,"children":6616},{"style":3312},[6617],{"type":3040,"value":6531},{"type":3035,"tag":3118,"props":6619,"children":6620},{"class":3198,"line":3373},[6621],{"type":3035,"tag":3118,"props":6622,"children":6623},{"emptyLinePlaceholder":1200},[6624],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6626,"children":6627},{"class":3198,"line":3392},[6628,6632,6636,6640,6644,6648,6652,6656,6660,6664,6668,6672,6676,6680,6684,6688,6692,6696,6700],{"type":3035,"tag":3118,"props":6629,"children":6630},{"style":3312},[6631],{"type":3040,"value":5516},{"type":3035,"tag":3118,"props":6633,"children":6634},{"style":3321},[6635],{"type":3040,"value":5940},{"type":3035,"tag":3118,"props":6637,"children":6638},{"style":3312},[6639],{"type":3040,"value":6462},{"type":3035,"tag":3118,"props":6641,"children":6642},{"style":3457},[6643],{"type":3040,"value":5996},{"type":3035,"tag":3118,"props":6645,"children":6646},{"style":3312},[6647],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6649,"children":6650},{"style":3312},[6651],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6653,"children":6654},{"style":3306},[6655],{"type":3040,"value":6479},{"type":3035,"tag":3118,"props":6657,"children":6658},{"style":3312},[6659],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6661,"children":6662},{"style":3306},[6663],{"type":3040,"value":6488},{"type":3035,"tag":3118,"props":6665,"children":6666},{"style":3312},[6667],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6669,"children":6670},{"style":3312},[6671],{"type":3040,"value":6462},{"type":3035,"tag":3118,"props":6673,"children":6674},{"style":3457},[6675],{"type":3040,"value":6024},{"type":3035,"tag":3118,"props":6677,"children":6678},{"style":3312},[6679],{"type":3040,"value":4449},{"type":3035,"tag":3118,"props":6681,"children":6682},{"style":3312},[6683],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6685,"children":6686},{"style":3306},[6687],{"type":3040,"value":6513},{"type":3035,"tag":3118,"props":6689,"children":6690},{"style":3312},[6691],{"type":3040,"value":3655},{"type":3035,"tag":3118,"props":6693,"children":6694},{"style":3306},[6695],{"type":3040,"value":6522},{"type":3035,"tag":3118,"props":6697,"children":6698},{"style":3312},[6699],{"type":3040,"value":5556},{"type":3035,"tag":3118,"props":6701,"children":6702},{"style":3312},[6703],{"type":3040,"value":5526},{"type":3035,"tag":3118,"props":6705,"children":6706},{"class":3198,"line":3405},[6707],{"type":3035,"tag":3118,"props":6708,"children":6709},{"style":3306},[6710],{"type":3040,"value":6095},{"type":3035,"tag":3118,"props":6712,"children":6713},{"class":3198,"line":3422},[6714],{"type":3035,"tag":3118,"props":6715,"children":6716},{"style":3306},[6717],{"type":3040,"value":6103},{"type":3035,"tag":3118,"props":6719,"children":6720},{"class":3198,"line":3439},[6721],{"type":3035,"tag":3118,"props":6722,"children":6723},{"style":3306},[6724],{"type":3040,"value":6725},"    \u003Cbutton>Delete\u003C\u002Fbutton>\n",{"type":3035,"tag":3118,"props":6727,"children":6728},{"class":3198,"line":3467},[6729],{"type":3035,"tag":3118,"props":6730,"children":6731},{"style":3306},[6732],{"type":3040,"value":6111},{"type":3035,"tag":3118,"props":6734,"children":6735},{"class":3198,"line":3477},[6736],{"type":3035,"tag":3118,"props":6737,"children":6738},{"emptyLinePlaceholder":1200},[6739],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6741,"children":6742},{"class":3198,"line":3486},[6743],{"type":3035,"tag":3118,"props":6744,"children":6745},{"style":3306},[6746],{"type":3040,"value":6126},{"type":3035,"tag":3118,"props":6748,"children":6749},{"class":3198,"line":3495},[6750],{"type":3035,"tag":3118,"props":6751,"children":6752},{"style":3306},[6753],{"type":3040,"value":6754},"    \u003Cp>You're not allowed to edit or delete the post.\u003C\u002Fp>\n",{"type":3035,"tag":3118,"props":6756,"children":6757},{"class":3198,"line":3024},[6758],{"type":3035,"tag":3118,"props":6759,"children":6760},{"style":3306},[6761],{"type":3040,"value":6111},{"type":3035,"tag":3118,"props":6763,"children":6764},{"class":3198,"line":3512},[6765,6769,6773],{"type":3035,"tag":3118,"props":6766,"children":6767},{"style":3312},[6768],{"type":3040,"value":5677},{"type":3035,"tag":3118,"props":6770,"children":6771},{"style":3321},[6772],{"type":3040,"value":5940},{"type":3035,"tag":3118,"props":6774,"children":6775},{"style":3312},[6776],{"type":3040,"value":5526},{"type":3035,"tag":3139,"props":6778,"children":6780},{"id":6779},"contribution",[6781],{"type":3040,"value":1021},{"type":3035,"tag":6783,"props":6784,"children":6785},"details",{},[6786,6788,6794],{"type":3040,"value":6787},"\n  ",{"type":3035,"tag":6789,"props":6790,"children":6791},"summary",{},[6792],{"type":3040,"value":6793},"Local development",{"type":3035,"tag":3186,"props":6795,"children":6797},{"className":3188,"code":6796,"language":3190,"meta":2985,"style":2985},"# 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",[6798],{"type":3035,"tag":3193,"props":6799,"children":6800},{"__ignoreMap":2985},[6801,6809,6822,6829,6837,6854,6861,6869,6885,6892,6900,6916,6923,6931,6947,6954,6963,6980,6997,7005,7014],{"type":3035,"tag":3118,"props":6802,"children":6803},{"class":3198,"line":3019},[6804],{"type":3035,"tag":3118,"props":6805,"children":6806},{"style":3471},[6807],{"type":3040,"value":6808},"# Install dependencies\n",{"type":3035,"tag":3118,"props":6810,"children":6811},{"class":3198,"line":3012},[6812,6817],{"type":3035,"tag":3118,"props":6813,"children":6814},{"style":3202},[6815],{"type":3040,"value":6816},"npm",{"type":3035,"tag":3118,"props":6818,"children":6819},{"style":3208},[6820],{"type":3040,"value":6821}," install\n",{"type":3035,"tag":3118,"props":6823,"children":6824},{"class":3198,"line":3008},[6825],{"type":3035,"tag":3118,"props":6826,"children":6827},{"emptyLinePlaceholder":1200},[6828],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6830,"children":6831},{"class":3198,"line":3373},[6832],{"type":3035,"tag":3118,"props":6833,"children":6834},{"style":3471},[6835],{"type":3040,"value":6836},"# Generate type stubs\n",{"type":3035,"tag":3118,"props":6838,"children":6839},{"class":3198,"line":3392},[6840,6844,6849],{"type":3035,"tag":3118,"props":6841,"children":6842},{"style":3202},[6843],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6845,"children":6846},{"style":3208},[6847],{"type":3040,"value":6848}," run",{"type":3035,"tag":3118,"props":6850,"children":6851},{"style":3208},[6852],{"type":3040,"value":6853}," dev:prepare\n",{"type":3035,"tag":3118,"props":6855,"children":6856},{"class":3198,"line":3405},[6857],{"type":3035,"tag":3118,"props":6858,"children":6859},{"emptyLinePlaceholder":1200},[6860],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6862,"children":6863},{"class":3198,"line":3422},[6864],{"type":3035,"tag":3118,"props":6865,"children":6866},{"style":3471},[6867],{"type":3040,"value":6868},"# Develop with the playground\n",{"type":3035,"tag":3118,"props":6870,"children":6871},{"class":3198,"line":3439},[6872,6876,6880],{"type":3035,"tag":3118,"props":6873,"children":6874},{"style":3202},[6875],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6877,"children":6878},{"style":3208},[6879],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":6881,"children":6882},{"style":3208},[6883],{"type":3040,"value":6884}," dev\n",{"type":3035,"tag":3118,"props":6886,"children":6887},{"class":3198,"line":3467},[6888],{"type":3035,"tag":3118,"props":6889,"children":6890},{"emptyLinePlaceholder":1200},[6891],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6893,"children":6894},{"class":3198,"line":3477},[6895],{"type":3035,"tag":3118,"props":6896,"children":6897},{"style":3471},[6898],{"type":3040,"value":6899},"# Build the playground\n",{"type":3035,"tag":3118,"props":6901,"children":6902},{"class":3198,"line":3486},[6903,6907,6911],{"type":3035,"tag":3118,"props":6904,"children":6905},{"style":3202},[6906],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6908,"children":6909},{"style":3208},[6910],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":6912,"children":6913},{"style":3208},[6914],{"type":3040,"value":6915}," dev:build\n",{"type":3035,"tag":3118,"props":6917,"children":6918},{"class":3198,"line":3495},[6919],{"type":3035,"tag":3118,"props":6920,"children":6921},{"emptyLinePlaceholder":1200},[6922],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6924,"children":6925},{"class":3198,"line":3024},[6926],{"type":3035,"tag":3118,"props":6927,"children":6928},{"style":3471},[6929],{"type":3040,"value":6930},"# Run ESLint\n",{"type":3035,"tag":3118,"props":6932,"children":6933},{"class":3198,"line":3512},[6934,6938,6942],{"type":3035,"tag":3118,"props":6935,"children":6936},{"style":3202},[6937],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6939,"children":6940},{"style":3208},[6941],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":6943,"children":6944},{"style":3208},[6945],{"type":3040,"value":6946}," lint\n",{"type":3035,"tag":3118,"props":6948,"children":6949},{"class":3198,"line":3521},[6950],{"type":3035,"tag":3118,"props":6951,"children":6952},{"emptyLinePlaceholder":1200},[6953],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":6955,"children":6957},{"class":3198,"line":6956},16,[6958],{"type":3035,"tag":3118,"props":6959,"children":6960},{"style":3471},[6961],{"type":3040,"value":6962},"# Run Vitest\n",{"type":3035,"tag":3118,"props":6964,"children":6966},{"class":3198,"line":6965},17,[6967,6971,6975],{"type":3035,"tag":3118,"props":6968,"children":6969},{"style":3202},[6970],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6972,"children":6973},{"style":3208},[6974],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":6976,"children":6977},{"style":3208},[6978],{"type":3040,"value":6979}," test\n",{"type":3035,"tag":3118,"props":6981,"children":6983},{"class":3198,"line":6982},18,[6984,6988,6992],{"type":3035,"tag":3118,"props":6985,"children":6986},{"style":3202},[6987],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":6989,"children":6990},{"style":3208},[6991],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":6993,"children":6994},{"style":3208},[6995],{"type":3040,"value":6996}," test:watch\n",{"type":3035,"tag":3118,"props":6998,"children":7000},{"class":3198,"line":6999},19,[7001],{"type":3035,"tag":3118,"props":7002,"children":7003},{"emptyLinePlaceholder":1200},[7004],{"type":3040,"value":4488},{"type":3035,"tag":3118,"props":7006,"children":7008},{"class":3198,"line":7007},20,[7009],{"type":3035,"tag":3118,"props":7010,"children":7011},{"style":3471},[7012],{"type":3040,"value":7013},"# Release new version\n",{"type":3035,"tag":3118,"props":7015,"children":7017},{"class":3198,"line":7016},21,[7018,7022,7026],{"type":3035,"tag":3118,"props":7019,"children":7020},{"style":3202},[7021],{"type":3040,"value":6816},{"type":3035,"tag":3118,"props":7023,"children":7024},{"style":3208},[7025],{"type":3040,"value":6848},{"type":3035,"tag":3118,"props":7027,"children":7028},{"style":3208},[7029],{"type":3040,"value":7030}," release\n",{"type":3035,"tag":3139,"props":7032,"children":7034},{"id":7033},"credits",[7035],{"type":3040,"value":7036},"Credits",{"type":3035,"tag":3042,"props":7038,"children":7039},{},[7040,7042,7049],{"type":3040,"value":7041},"This module, both code and design, is heavily inspired by the ",{"type":3035,"tag":3046,"props":7043,"children":7046},{"href":7044,"rel":7045},"https:\u002F\u002Fdocs.adonisjs.com\u002Fguides\u002Fsecurity\u002Fauthorization",[3050],[7047],{"type":3040,"value":7048},"Adonis Bouncer",{"type":3040,"value":7050},". It's a well written package and I think reinventing the wheel every time is unnecessary.",{"type":3035,"tag":3139,"props":7052,"children":7054},{"id":7053},"license",[7055],{"type":3040,"value":3073},{"type":3035,"tag":3042,"props":7057,"children":7058},{},[7059],{"type":3035,"tag":3046,"props":7060,"children":7062},{"href":7061},".\u002FLICENSE",[7063],{"type":3040,"value":7064},"MIT License",{"type":3035,"tag":7066,"props":7067,"children":7068},"style",{},[7069],{"type":3040,"value":7070},"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":2985,"searchDepth":3012,"depth":3012,"links":7072},[7073,7074,7075,7081,7082,7083],{"id":3141,"depth":3012,"text":399},{"id":3176,"depth":3012,"text":3179},{"id":3234,"depth":3012,"text":3237,"children":7076},[7077,7078,7079,7080],{"id":3253,"depth":3008,"text":3256},{"id":4372,"depth":3008,"text":4375},{"id":4771,"depth":3008,"text":4774},{"id":5491,"depth":3008,"text":5494},{"id":6779,"depth":3012,"text":1021},{"id":7033,"depth":3012,"text":7036},{"id":7053,"depth":3012,"text":3073}]