[{"data":1,"prerenderedAt":581},["ShallowReactive",2],{"navigation":3,"-api-utils-route-definition":325,"-api-utils-route-definition-surround":578},[4,79,198,295],{"title":5,"path":6,"stem":7,"children":8,"icon":77,"header":78},"Getting Started","\u002Fgetting-started","1.getting-started\u002F01.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","lucide:info",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F02.installation","lucide:play",{"title":18,"path":19,"stem":20,"icon":21},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F03.configuration","lucide:cog",{"title":23,"path":24,"stem":25,"icon":26},"Views","\u002Fgetting-started\u002Fviews","1.getting-started\u002F04.views","lucide:panels-top-left",{"title":28,"path":29,"stem":30,"icon":31},"Assets","\u002Fgetting-started\u002Fassets","1.getting-started\u002F05.assets","lucide:image",{"title":33,"path":34,"stem":35,"icon":36},"Styling","\u002Fgetting-started\u002Fstyling","1.getting-started\u002F06.styling","lucide:palette",{"title":38,"path":39,"stem":40,"icon":41},"Routing","\u002Fgetting-started\u002Frouting","1.getting-started\u002F07.routing","lucide:milestone",{"title":43,"path":44,"stem":45,"icon":46},"Data Loading","\u002Fgetting-started\u002Fdata-loading","1.getting-started\u002F08.data-loading","lucide:cable",{"title":48,"path":49,"stem":50,"icon":51},"Actions","\u002Fgetting-started\u002Factions","1.getting-started\u002F09.actions","lucide:mouse",{"title":53,"path":54,"stem":55,"icon":56},"Pending UI","\u002Fgetting-started\u002Fpending-ui","1.getting-started\u002F10.pending-ui","lucide:loader",{"title":58,"path":59,"stem":60,"icon":61},"SEO and Meta","\u002Fgetting-started\u002Fseo-meta","1.getting-started\u002F11.seo-meta","lucide:file-search-corner",{"title":63,"path":64,"stem":65,"icon":66},"State Management","\u002Fgetting-started\u002Fstate-management","1.getting-started\u002F12.state-management","lucide:database",{"title":68,"path":69,"stem":70,"icon":71},"Transitions","\u002Fgetting-started\u002Ftransitions","1.getting-started\u002F13.transitions","lucide:toggle-right",{"title":73,"path":74,"stem":75,"icon":76},"Error Handling","\u002Fgetting-started\u002Ferror-handling","1.getting-started\u002F14.error-handling","lucide:bug-off","lucide:rocket",true,{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":149},"Structure","lucide:folder-open","\u002Fdirectory-structure\u002Fhorn","2.directory-structure",[85,89,94,150,155,160,174,179,184,188,193],{"title":86,"path":82,"stem":87,"icon":88},".vuloom","2.directory-structure\u002F01.horn","vscode-icons:folder-type-temp",{"title":90,"path":91,"stem":92,"icon":93},".output","\u002Fdirectory-structure\u002Foutput","2.directory-structure\u002F02.output","vscode-icons:folder-type-package",{"title":95,"icon":96,"path":97,"stem":98,"children":99,"page":149},"app","vscode-icons:folder-type-app","\u002Fdirectory-structure\u002Fapp","2.directory-structure\u002F03.app",[100,105,110,115,120,125,130,135,140,144],{"title":101,"path":102,"stem":103,"icon":104},"assets","\u002Fdirectory-structure\u002Fapp\u002Fassets","2.directory-structure\u002F03.app\u002F01.assets","vscode-icons:folder-type-asset",{"title":106,"path":107,"stem":108,"icon":109},"components","\u002Fdirectory-structure\u002Fapp\u002Fcomponents","2.directory-structure\u002F03.app\u002F02.components","vscode-icons:folder-type-component",{"title":111,"path":112,"stem":113,"icon":114},"composables","\u002Fdirectory-structure\u002Fapp\u002Fcomposables","2.directory-structure\u002F03.app\u002F03.composables","vscode-icons:folder-type-src",{"title":116,"path":117,"stem":118,"icon":119},"middleware","\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","2.directory-structure\u002F03.app\u002F04.middleware","vscode-icons:folder-type-middleware",{"title":121,"path":122,"stem":123,"icon":124},"pages","\u002Fdirectory-structure\u002Fapp\u002Fpages","2.directory-structure\u002F03.app\u002F05.pages","vscode-icons:folder-type-view",{"title":126,"path":127,"stem":128,"icon":129},"utils","\u002Fdirectory-structure\u002Fapp\u002Futils","2.directory-structure\u002F03.app\u002F06.utils","vscode-icons:folder-type-tools",{"title":131,"path":132,"stem":133,"icon":134},"app.vue","\u002Fdirectory-structure\u002Fapp\u002Fapp","2.directory-structure\u002F03.app\u002F07.app","vscode-icons:file-type-vue",{"title":136,"path":137,"stem":138,"icon":139},"app.config.ts","\u002Fdirectory-structure\u002Fapp\u002Fapp-config","2.directory-structure\u002F03.app\u002F08.app-config","vscode-icons:file-type-light-config",{"title":141,"path":142,"stem":143,"icon":134},"error.vue","\u002Fdirectory-structure\u002Fapp\u002Ferror","2.directory-structure\u002F03.app\u002F09.error",{"title":145,"path":146,"stem":147,"icon":148},"loader.ts","\u002Fdirectory-structure\u002Fapp\u002Floader","2.directory-structure\u002F03.app\u002F10.loader","vscode-icons:file-type-typescript",false,{"title":151,"path":152,"stem":153,"icon":154},"node_modules","\u002Fdirectory-structure\u002Fnode_modules","2.directory-structure\u002F04.node_modules","vscode-icons:folder-type-node",{"title":156,"path":157,"stem":158,"icon":159},"public","\u002Fdirectory-structure\u002Fpublic","2.directory-structure\u002F05.public","vscode-icons:folder-type-public",{"title":161,"icon":162,"path":163,"stem":164,"children":165,"page":149},"server","vscode-icons:folder-type-server","\u002Fdirectory-structure\u002Fserver","2.directory-structure\u002F06.server",[166,169],{"title":116,"path":167,"stem":168,"icon":119},"\u002Fdirectory-structure\u002Fserver\u002Fmiddleware","2.directory-structure\u002F06.server\u002F01.middleware",{"title":170,"path":171,"stem":172,"icon":173},"routes","\u002Fdirectory-structure\u002Fserver\u002Froutes","2.directory-structure\u002F06.server\u002F02.routes","vscode-icons:folder-type-route",{"title":175,"path":176,"stem":177,"icon":178},".env","\u002Fdirectory-structure\u002Fenv","2.directory-structure\u002F07.env","vscode-icons:file-type-dotenv",{"title":180,"path":181,"stem":182,"icon":183},".gitignore","\u002Fdirectory-structure\u002Fgitignore","2.directory-structure\u002F08.gitignore","vscode-icons:file-type-git",{"title":185,"path":186,"stem":187,"icon":139},"vuloom.config.ts","\u002Fdirectory-structure\u002Fhorn-config","2.directory-structure\u002F09.horn-config",{"title":189,"path":190,"stem":191,"icon":192},"package.json","\u002Fdirectory-structure\u002Fpackage","2.directory-structure\u002F10.package","vscode-icons:file-type-npm",{"title":194,"path":195,"stem":196,"icon":197},"tsconfig.json","\u002Fdirectory-structure\u002Ftsconfig","2.directory-structure\u002F11.tsconfig","vscode-icons:file-type-tsconfig",{"title":199,"icon":200,"header":78,"path":201,"stem":202,"children":203,"page":149},"API","lucide:code-xml","\u002Fapi\u002Fcomponents\u002Fclient-only","3.api",[204,224,269,290],{"title":205,"icon":206,"path":207,"stem":208,"children":209,"page":149},"Components","lucide:box","\u002Fapi\u002Fcomponents","3.api\u002F01.components",[210,214,219],{"title":211,"path":201,"stem":212,"icon":213},"ClientOnly","3.api\u002F01.components\u002F01.client-only","lucide:monitor",{"title":215,"path":216,"stem":217,"icon":218},"DevOnly","\u002Fapi\u002Fcomponents\u002Fdev-only","3.api\u002F01.components\u002F02.dev-only","lucide:wrench",{"title":220,"path":221,"stem":222,"icon":223},"RouterLink","\u002Fapi\u002Fcomponents\u002Flink","3.api\u002F01.components\u002F03.link","lucide:link",{"title":225,"icon":226,"path":227,"stem":228,"children":229,"page":149},"Composables","lucide:arrow-left-right","\u002Fapi\u002Fcomposables","3.api\u002F02.composables",[230,235,240,245,250,255,260,265],{"title":231,"path":232,"stem":233,"icon":234},"useAppData","\u002Fapi\u002Fcomposables\u002Fuse-app-data","3.api\u002F02.composables\u002F01.use-app-data","lucide:app-window",{"title":236,"path":237,"stem":238,"icon":239},"useLoaderData","\u002Fapi\u002Fcomposables\u002Fuse-loader-data","3.api\u002F02.composables\u002F02.use-loader-data","lucide:database-zap",{"title":241,"path":242,"stem":243,"icon":244},"useActionData","\u002Fapi\u002Fcomposables\u002Fuse-action-data","3.api\u002F02.composables\u002F03.use-action-data","lucide:send",{"title":246,"path":247,"stem":248,"icon":249},"useRoute","\u002Fapi\u002Fcomposables\u002Fuse-route","3.api\u002F02.composables\u002F04.use-route","lucide:route",{"title":251,"path":252,"stem":253,"icon":254},"useRouter","\u002Fapi\u002Fcomposables\u002Fuse-router","3.api\u002F02.composables\u002F05.use-router","lucide:navigation",{"title":256,"path":257,"stem":258,"icon":259},"useNavigation","\u002Fapi\u002Fcomposables\u002Fuse-navigation","3.api\u002F02.composables\u002F06.use-navigation","lucide:loader-circle",{"title":261,"path":262,"stem":263,"icon":264},"useHead","\u002Fapi\u002Fcomposables\u002Fuse-head","3.api\u002F02.composables\u002F07.use-head","lucide:file-search",{"title":266,"path":267,"stem":268,"icon":66},"useState","\u002Fapi\u002Fcomposables\u002Fuse-state","3.api\u002F02.composables\u002F08.use-state",{"title":270,"icon":271,"path":272,"stem":273,"children":274,"page":149},"Utils","lucide:square-function","\u002Fapi\u002Futils","3.api\u002F03.utils",[275,280,285],{"title":276,"path":277,"stem":278,"icon":279},"Response Helpers","\u002Fapi\u002Futils\u002Fresponses","3.api\u002F03.utils\u002F01.responses","lucide:reply",{"title":281,"path":282,"stem":283,"icon":284},"Loaders and Actions","\u002Fapi\u002Futils\u002Floaders-and-actions","3.api\u002F03.utils\u002F02.loaders-and-actions","lucide:workflow",{"title":286,"path":287,"stem":288,"icon":289},"Route Definitions","\u002Fapi\u002Futils\u002Froute-definition","3.api\u002F03.utils\u002F03.route-definition","lucide:file-code",{"title":291,"path":292,"stem":293,"icon":294},"Commands","\u002Fapi\u002Fcommands","3.api\u002F04.commands","lucide:square-terminal",{"title":296,"icon":297,"header":78,"path":298,"stem":299,"children":300,"page":149},"Community","lucide:messages-square","\u002Fcommunity\u002Fgetting-help","4.community",[301,305,310,315,320],{"title":302,"path":298,"stem":303,"icon":304},"Getting Help","4.community\u002F01.getting-help","lucide:life-buoy",{"title":306,"path":307,"stem":308,"icon":309},"Reporting Bugs","\u002Fcommunity\u002Freporting-bugs","4.community\u002F02.reporting-bugs","lucide:bug",{"title":311,"path":312,"stem":313,"icon":314},"Contribution","\u002Fcommunity\u002Fcontribution","4.community\u002F03.contribution","lucide:git-pull-request",{"title":316,"path":317,"stem":318,"icon":319},"Framework Contribution","\u002Fcommunity\u002Fframework-contribution","4.community\u002F04.framework-contribution","lucide:github",{"title":321,"path":322,"stem":323,"icon":324},"Releases","\u002Fcommunity\u002Freleases","4.community\u002F05.releases","lucide:bell-dot",{"id":326,"title":286,"body":327,"description":386,"extension":573,"meta":574,"navigation":575,"path":287,"seo":576,"stem":288,"__hash__":577},"content\u002F3.api\u002F03.utils\u002F03.route-definition.md",{"type":328,"value":329,"toc":567,"icon":289},"minimark",[330,334,342,345,351,354,362,368,371,377,380,516,519,556,563],[331,332,333],"p",{},"Vuloom exposes a small set of route definition shapes.",[335,336,338],"h2",{"id":337},"appappconfigts",[339,340,341],"code",{},"app\u002Fapp.config.ts",[331,343,344],{},"Defines static app configuration, currently focused on app-level middleware registration.",[335,346,348],{"id":347},"apppagesmiddlewarets",[339,349,350],{},"app\u002Fpages\u002F**\u002Fmiddleware.ts",[331,352,353],{},"Defines app-route middleware name arrays for:",[355,356,357],"ul",{},[358,359,360],"li",{},[339,361,350],{},[335,363,365],{"id":364},"serverroutes_middlewarets",[339,366,367],{},"server\u002Froutes\u002F**\u002F_middleware.ts",[331,369,370],{},"Defines server-route middleware arrays for a directory scope.",[335,372,374],{"id":373},"serverroutests",[339,375,376],{},"server\u002Froutes\u002F**\u002F*.ts",[331,378,379],{},"Defines a raw HTTP route with a default export object.",[381,382,387],"pre",{"className":383,"code":384,"language":385,"meta":386,"style":386},"language-ts shiki shiki-themes github-light github-dark github-dark","export default {\n  middleware: ['server-trace'],\n  async GET(context) {\n    return Response.json({ ok: true })\n  },\n  async handler(context) {\n    return new Response('Method not allowed', { status: 405 })\n  }\n}\n","ts","",[339,388,389,405,418,438,460,466,480,504,510],{"__ignoreMap":386},[390,391,394,398,401],"span",{"class":392,"line":393},"line",1,[390,395,397],{"class":396},"so5gQ","export",[390,399,400],{"class":396}," default",[390,402,404],{"class":403},"slsVL"," {\n",[390,406,408,411,415],{"class":392,"line":407},2,[390,409,410],{"class":403},"  middleware: [",[390,412,414],{"class":413},"sfrk1","'server-trace'",[390,416,417],{"class":403},"],\n",[390,419,421,424,428,431,435],{"class":392,"line":420},3,[390,422,423],{"class":396},"  async",[390,425,427],{"class":426},"shcOC"," GET",[390,429,430],{"class":403},"(",[390,432,434],{"class":433},"sQHwn","context",[390,436,437],{"class":403},") {\n",[390,439,441,444,447,450,453,457],{"class":392,"line":440},4,[390,442,443],{"class":396},"    return",[390,445,446],{"class":403}," Response.",[390,448,449],{"class":426},"json",[390,451,452],{"class":403},"({ ok: ",[390,454,456],{"class":455},"suiK_","true",[390,458,459],{"class":403}," })\n",[390,461,463],{"class":392,"line":462},5,[390,464,465],{"class":403},"  },\n",[390,467,469,471,474,476,478],{"class":392,"line":468},6,[390,470,423],{"class":396},[390,472,473],{"class":426}," handler",[390,475,430],{"class":403},[390,477,434],{"class":433},[390,479,437],{"class":403},[390,481,483,485,488,491,493,496,499,502],{"class":392,"line":482},7,[390,484,443],{"class":396},[390,486,487],{"class":396}," new",[390,489,490],{"class":426}," Response",[390,492,430],{"class":403},[390,494,495],{"class":413},"'Method not allowed'",[390,497,498],{"class":403},", { status: ",[390,500,501],{"class":455},"405",[390,503,459],{"class":403},[390,505,507],{"class":392,"line":506},8,[390,508,509],{"class":403},"  }\n",[390,511,513],{"class":392,"line":512},9,[390,514,515],{"class":403},"}\n",[331,517,518],{},"Supported method keys are:",[355,520,521,526,531,536,541,546,551],{},[358,522,523],{},[339,524,525],{},"GET",[358,527,528],{},[339,529,530],{},"POST",[358,532,533],{},[339,534,535],{},"PUT",[358,537,538],{},[339,539,540],{},"PATCH",[358,542,543],{},[339,544,545],{},"DELETE",[358,547,548],{},[339,549,550],{},"HEAD",[358,552,553],{},[339,554,555],{},"OPTIONS",[331,557,558,559,562],{},"Use ",[339,560,561],{},"handler()"," as a fallback for methods you do not implement explicitly.",[564,565,566],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}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":386,"searchDepth":407,"depth":407,"links":568},[569,570,571,572],{"id":337,"depth":407,"text":341},{"id":347,"depth":407,"text":350},{"id":364,"depth":407,"text":367},{"id":373,"depth":407,"text":376},"md",{"icon":289},{"title":286,"icon":289},{"title":286,"description":386},"cx-A8ihLXqHQ67ykj2mNBQ9Sm1kdcAC_eypZOOIScTU",[579,580],{"title":281,"path":282,"stem":283,"description":386,"icon":284,"children":-1},{"title":291,"path":292,"stem":293,"description":386,"icon":294,"children":-1},1777022956512]