[{"data":1,"prerenderedAt":1710},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group":358,"\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group-surround":1705},[4,14,36,69,140,341],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,116,120,124,128,132,136],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,103],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106,"children":107,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[108,112],{"title":109,"path":110,"stem":111},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":113,"path":114,"stem":115},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":117,"path":118,"stem":119},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":121,"path":122,"stem":123},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":125,"path":126,"stem":127},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":129,"path":130,"stem":131},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":133,"path":134,"stem":135},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":137,"path":138,"stem":139},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":141,"path":142,"stem":143,"children":144,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[145,149,162,182,207,211,295,320,324],{"title":146,"path":147,"stem":148},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":150,"path":151,"stem":152,"children":153,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[154,158],{"title":155,"path":156,"stem":157},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":159,"path":160,"stem":161},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[167,171,175,178],{"title":168,"path":169,"stem":170},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":172,"path":173,"stem":174},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":176,"stem":177},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":179,"path":180,"stem":181},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":183,"path":184,"stem":185,"children":186,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[187,191,195,199,203],{"title":188,"path":189,"stem":190},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":192,"path":193,"stem":194},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":196,"path":197,"stem":198},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":200,"path":201,"stem":202},"\u003CCwaImage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-image","5.nuxt-module\u002F4.cwa-components\u002F4.cwa-image",{"title":204,"path":205,"stem":206},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":208,"path":209,"stem":210},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[216,224,261,278],{"title":217,"path":218,"stem":219,"children":220,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[221],{"title":217,"path":222,"stem":223},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":225,"path":226,"stem":227,"children":228,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[229,233,237,241,245,249,253,257],{"title":230,"path":231,"stem":232},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":234,"path":235,"stem":236},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":238,"path":239,"stem":240},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":242,"path":243,"stem":244},"Image Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-image-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-image-resource",{"title":246,"path":247,"stem":248},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":250,"path":251,"stem":252},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":254,"path":255,"stem":256},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":258,"path":259,"stem":260},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[266,270,274],{"title":267,"path":268,"stem":269},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":271,"path":272,"stem":273},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":275,"path":276,"stem":277},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":279,"path":280,"stem":281,"children":282,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[283,287,291],{"title":284,"path":285,"stem":286},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":288,"path":289,"stem":290},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":292,"path":293,"stem":294},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":296,"path":297,"stem":298,"children":299,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[300,304,308,312,316],{"title":301,"path":302,"stem":303},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":305,"path":306,"stem":307},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":309,"path":310,"stem":311},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":313,"path":314,"stem":315},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":317,"path":318,"stem":319},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":321,"path":322,"stem":323},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":325,"path":326,"stem":327,"children":328,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[329,333,337],{"title":330,"path":331,"stem":332},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":334,"path":335,"stem":336},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":338,"path":339,"stem":340},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":342,"path":343,"stem":344,"children":345,"page":35},"Deployment","\u002Fdeployment","6.deployment",[346,350,354],{"title":347,"path":348,"stem":349},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":351,"path":352,"stem":353},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":355,"path":356,"stem":357},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":359,"title":188,"badge":360,"body":361,"description":1700,"extension":1701,"links":360,"meta":1702,"navigation":708,"path":189,"seo":1703,"stem":190,"__hash__":1704},"docs\u002F5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group.md",null,{"type":362,"value":363,"toc":1692},"minimark",[364,372,430,435,543,547,559,794,800,804,1078,1082,1085,1292,1296,1302,1336,1342,1345,1348,1374,1380,1462,1471,1581,1593,1667,1676,1688],[365,366,367,371],"p",{},[368,369,370],"code",{},"\u003CCwaComponentGroup>"," is the primary building block of every CWA page. Place it inside any layout, page template, or component to create a named content region that admins can populate with components in the CMS.",[373,374,379],"pre",{"className":375,"code":376,"language":377,"meta":378,"style":378},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003CCwaComponentGroup reference=\"hero\" :location=\"iri\" \u002F>\n","vue","",[368,380,381],{"__ignoreMap":378},[382,383,386,390,394,398,401,405,409,411,414,417,419,421,425,427],"span",{"class":384,"line":385},"line",1,[382,387,389],{"class":388},"sOvfz","\u003C",[382,391,393],{"class":392},"s-h7I","CwaComponentGroup",[382,395,397],{"class":396},"sGtlX"," reference",[382,399,400],{"class":388},"=",[382,402,404],{"class":403},"seSrl","\"",[382,406,408],{"class":407},"sLL54","hero",[382,410,404],{"class":403},[382,412,413],{"class":388}," :",[382,415,416],{"class":396},"location",[382,418,400],{"class":388},[382,420,404],{"class":403},[382,422,424],{"class":423},"sPB8G","iri",[382,426,404],{"class":403},[382,428,429],{"class":388}," \u002F>\n",[431,432,434],"h2",{"id":433},"props","Props",[436,437,438,460],"table",{},[439,440,441],"thead",{},[442,443,444,448,451,454,457],"tr",{},[445,446,447],"th",{},"Prop",[445,449,450],{},"Type",[445,452,453],{},"Required",[445,455,456],{},"Default",[445,458,459],{},"Description",[461,462,463,489,506],"tbody",{},[442,464,465,471,476,479,482],{},[466,467,468],"td",{},[368,469,470],{},"reference",[466,472,473],{},[368,474,475],{},"string",[466,477,478],{},"Yes",[466,480,481],{},"—",[466,483,484,485,488],{},"Name of the component group within this resource. Determines which ",[368,486,487],{},"ComponentGroup"," entity this region maps to.",[442,490,491,495,499,501,503],{},[466,492,493],{},[368,494,416],{},[466,496,497],{},[368,498,475],{},[466,500,478],{},[466,502,481],{},[466,504,505],{},"IRI of the parent resource that owns this group (your layout, page, or component IRI).",[442,507,508,513,518,521,526],{},[466,509,510],{},[368,511,512],{},"allowed-components",[466,514,515],{},[368,516,517],{},"string[] | null",[466,519,520],{},"No",[466,522,523],{},[368,524,525],{},"null",[466,527,528,529,532,533,536,537,539,540,542],{},"Collection endpoints of the component types admins may add to this group (e.g. ",[368,530,531],{},"['\u002Fcomponent\u002Fhero_banners', '\u002Fcomponent\u002Ftext_blocks']","). All CWA component endpoints are prefixed with ",[368,534,535],{},"\u002Fcomponent\u002F",". When set, the value is synced to the ",[368,538,487],{}," entity in the API whenever an admin is signed in. ",[368,541,525],{}," allows all types.",[431,544,546],{"id":545},"basic-usage","Basic Usage",[365,548,549,550,552,553,555,556,558],{},"Every layout, page template, and component that has editable content regions uses ",[368,551,370],{},". Pass the component's own ",[368,554,424],{}," prop as ",[368,557,416],{},":",[373,560,562],{"className":375,"code":561,"language":377,"meta":378,"style":378},"\u003C!-- app\u002Fcwa\u002Fpages\u002FHomePage.vue -->\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003CCwaComponentGroup reference=\"hero\" :location=\"iri\" \u002F>\n    \u003CCwaComponentGroup reference=\"features\" :location=\"iri\" \u002F>\n    \u003CCwaComponentGroup reference=\"cta\" :location=\"iri\" \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport type { IriProp } from '@cwa\u002Fnuxt\u002Fruntime\u002Fcomposables'\ndefineProps\u003CIriProp>()\n\u003C\u002Fscript>\n",[368,563,564,570,581,592,623,653,683,693,703,710,735,766,785],{"__ignoreMap":378},[382,565,566],{"class":384,"line":385},[382,567,569],{"class":568},"sTBSN","\u003C!-- app\u002Fcwa\u002Fpages\u002FHomePage.vue -->\n",[382,571,573,575,578],{"class":384,"line":572},2,[382,574,389],{"class":388},[382,576,577],{"class":392},"template",[382,579,580],{"class":388},">\n",[382,582,584,587,590],{"class":384,"line":583},3,[382,585,586],{"class":388},"  \u003C",[382,588,589],{"class":392},"div",[382,591,580],{"class":388},[382,593,595,598,600,602,604,606,608,610,613,615,617,619,621],{"class":384,"line":594},4,[382,596,597],{"class":388},"    \u003C",[382,599,393],{"class":392},[382,601,397],{"class":396},[382,603,400],{"class":388},[382,605,404],{"class":403},[382,607,408],{"class":407},[382,609,404],{"class":403},[382,611,612],{"class":396}," :location",[382,614,400],{"class":388},[382,616,404],{"class":403},[382,618,424],{"class":407},[382,620,404],{"class":403},[382,622,429],{"class":388},[382,624,626,628,630,632,634,636,639,641,643,645,647,649,651],{"class":384,"line":625},5,[382,627,597],{"class":388},[382,629,393],{"class":392},[382,631,397],{"class":396},[382,633,400],{"class":388},[382,635,404],{"class":403},[382,637,638],{"class":407},"features",[382,640,404],{"class":403},[382,642,612],{"class":396},[382,644,400],{"class":388},[382,646,404],{"class":403},[382,648,424],{"class":407},[382,650,404],{"class":403},[382,652,429],{"class":388},[382,654,656,658,660,662,664,666,669,671,673,675,677,679,681],{"class":384,"line":655},6,[382,657,597],{"class":388},[382,659,393],{"class":392},[382,661,397],{"class":396},[382,663,400],{"class":388},[382,665,404],{"class":403},[382,667,668],{"class":407},"cta",[382,670,404],{"class":403},[382,672,612],{"class":396},[382,674,400],{"class":388},[382,676,404],{"class":403},[382,678,424],{"class":407},[382,680,404],{"class":403},[382,682,429],{"class":388},[382,684,686,689,691],{"class":384,"line":685},7,[382,687,688],{"class":388},"  \u003C\u002F",[382,690,589],{"class":392},[382,692,580],{"class":388},[382,694,696,699,701],{"class":384,"line":695},8,[382,697,698],{"class":388},"\u003C\u002F",[382,700,577],{"class":392},[382,702,580],{"class":388},[382,704,706],{"class":384,"line":705},9,[382,707,709],{"emptyLinePlaceholder":708},true,"\n",[382,711,713,715,718,721,724,726,728,731,733],{"class":384,"line":712},10,[382,714,389],{"class":388},[382,716,717],{"class":392},"script",[382,719,720],{"class":396}," setup",[382,722,723],{"class":396}," lang",[382,725,400],{"class":388},[382,727,404],{"class":403},[382,729,730],{"class":407},"ts",[382,732,404],{"class":403},[382,734,580],{"class":388},[382,736,738,742,745,748,751,754,757,760,763],{"class":384,"line":737},11,[382,739,741],{"class":740},"sm4w6","import",[382,743,744],{"class":740}," type",[382,746,747],{"class":388}," {",[382,749,750],{"class":423}," IriProp",[382,752,753],{"class":388}," }",[382,755,756],{"class":740}," from",[382,758,759],{"class":403}," '",[382,761,762],{"class":407},"@cwa\u002Fnuxt\u002Fruntime\u002Fcomposables",[382,764,765],{"class":403},"'\n",[382,767,769,773,775,779,782],{"class":384,"line":768},12,[382,770,772],{"class":771},"sKpYG","defineProps",[382,774,389],{"class":388},[382,776,778],{"class":777},"sRCss","IriProp",[382,780,781],{"class":388},">",[382,783,784],{"class":423},"()\n",[382,786,788,790,792],{"class":384,"line":787},13,[382,789,698],{"class":388},[382,791,717],{"class":392},[382,793,580],{"class":388},[365,795,796,797,799],{},"The ",[368,798,470],{}," name is how the admin CMS identifies the region. It can be any string — keep it short and descriptive. Multiple groups on the same resource each need a unique reference.",[431,801,803],{"id":802},"in-a-layout","In a Layout",[373,805,807],{"className":375,"code":806,"language":377,"meta":378,"style":378},"\u003C!-- app\u002Fcwa\u002Flayouts\u002FPrimaryLayout.vue -->\n\u003Ctemplate>\n  \u003Cdiv class=\"min-h-screen flex flex-col\">\n    \u003Cheader>\n      \u003CCwaComponentGroup reference=\"navigation\" :location=\"iri\" \u002F>\n    \u003C\u002Fheader>\n\n    \u003Cmain class=\"flex-1\">\n      \u003C!-- CWA renders the current page template here -->\n      \u003Cslot \u002F>\n    \u003C\u002Fmain>\n\n    \u003Cfooter>\n      \u003CCwaComponentGroup reference=\"footer\" :location=\"iri\" \u002F>\n    \u003C\u002Ffooter>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport type { IriProp } from '@cwa\u002Fnuxt\u002Fruntime\u002Fcomposables'\ndefineProps\u003CIriProp>()\n\u003C\u002Fscript>\n",[368,808,809,814,822,842,851,881,890,894,914,919,932,940,944,953,982,991,1000,1009,1014,1035,1056,1069],{"__ignoreMap":378},[382,810,811],{"class":384,"line":385},[382,812,813],{"class":568},"\u003C!-- app\u002Fcwa\u002Flayouts\u002FPrimaryLayout.vue -->\n",[382,815,816,818,820],{"class":384,"line":572},[382,817,389],{"class":388},[382,819,577],{"class":392},[382,821,580],{"class":388},[382,823,824,826,828,831,833,835,838,840],{"class":384,"line":583},[382,825,586],{"class":388},[382,827,589],{"class":392},[382,829,830],{"class":396}," class",[382,832,400],{"class":388},[382,834,404],{"class":403},[382,836,837],{"class":407},"min-h-screen flex flex-col",[382,839,404],{"class":403},[382,841,580],{"class":388},[382,843,844,846,849],{"class":384,"line":594},[382,845,597],{"class":388},[382,847,848],{"class":392},"header",[382,850,580],{"class":388},[382,852,853,856,858,860,862,864,867,869,871,873,875,877,879],{"class":384,"line":625},[382,854,855],{"class":388},"      \u003C",[382,857,393],{"class":392},[382,859,397],{"class":396},[382,861,400],{"class":388},[382,863,404],{"class":403},[382,865,866],{"class":407},"navigation",[382,868,404],{"class":403},[382,870,612],{"class":396},[382,872,400],{"class":388},[382,874,404],{"class":403},[382,876,424],{"class":407},[382,878,404],{"class":403},[382,880,429],{"class":388},[382,882,883,886,888],{"class":384,"line":655},[382,884,885],{"class":388},"    \u003C\u002F",[382,887,848],{"class":392},[382,889,580],{"class":388},[382,891,892],{"class":384,"line":685},[382,893,709],{"emptyLinePlaceholder":708},[382,895,896,898,901,903,905,907,910,912],{"class":384,"line":695},[382,897,597],{"class":388},[382,899,900],{"class":392},"main",[382,902,830],{"class":396},[382,904,400],{"class":388},[382,906,404],{"class":403},[382,908,909],{"class":407},"flex-1",[382,911,404],{"class":403},[382,913,580],{"class":388},[382,915,916],{"class":384,"line":705},[382,917,918],{"class":568},"      \u003C!-- CWA renders the current page template here -->\n",[382,920,921,923,926,930],{"class":384,"line":712},[382,922,855],{"class":388},[382,924,925],{"class":392},"slot",[382,927,929],{"class":928},"s01iV"," \u002F",[382,931,580],{"class":388},[382,933,934,936,938],{"class":384,"line":737},[382,935,885],{"class":388},[382,937,900],{"class":392},[382,939,580],{"class":388},[382,941,942],{"class":384,"line":768},[382,943,709],{"emptyLinePlaceholder":708},[382,945,946,948,951],{"class":384,"line":787},[382,947,597],{"class":388},[382,949,950],{"class":392},"footer",[382,952,580],{"class":388},[382,954,956,958,960,962,964,966,968,970,972,974,976,978,980],{"class":384,"line":955},14,[382,957,855],{"class":388},[382,959,393],{"class":392},[382,961,397],{"class":396},[382,963,400],{"class":388},[382,965,404],{"class":403},[382,967,950],{"class":407},[382,969,404],{"class":403},[382,971,612],{"class":396},[382,973,400],{"class":388},[382,975,404],{"class":403},[382,977,424],{"class":407},[382,979,404],{"class":403},[382,981,429],{"class":388},[382,983,985,987,989],{"class":384,"line":984},15,[382,986,885],{"class":388},[382,988,950],{"class":392},[382,990,580],{"class":388},[382,992,994,996,998],{"class":384,"line":993},16,[382,995,688],{"class":388},[382,997,589],{"class":392},[382,999,580],{"class":388},[382,1001,1003,1005,1007],{"class":384,"line":1002},17,[382,1004,698],{"class":388},[382,1006,577],{"class":392},[382,1008,580],{"class":388},[382,1010,1012],{"class":384,"line":1011},18,[382,1013,709],{"emptyLinePlaceholder":708},[382,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033],{"class":384,"line":1016},19,[382,1018,389],{"class":388},[382,1020,717],{"class":392},[382,1022,720],{"class":396},[382,1024,723],{"class":396},[382,1026,400],{"class":388},[382,1028,404],{"class":403},[382,1030,730],{"class":407},[382,1032,404],{"class":403},[382,1034,580],{"class":388},[382,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054],{"class":384,"line":1037},20,[382,1039,741],{"class":740},[382,1041,744],{"class":740},[382,1043,747],{"class":388},[382,1045,750],{"class":423},[382,1047,753],{"class":388},[382,1049,756],{"class":740},[382,1051,759],{"class":403},[382,1053,762],{"class":407},[382,1055,765],{"class":403},[382,1057,1059,1061,1063,1065,1067],{"class":384,"line":1058},21,[382,1060,772],{"class":771},[382,1062,389],{"class":388},[382,1064,778],{"class":777},[382,1066,781],{"class":388},[382,1068,784],{"class":423},[382,1070,1072,1074,1076],{"class":384,"line":1071},22,[382,1073,698],{"class":388},[382,1075,717],{"class":392},[382,1077,580],{"class":388},[431,1079,1081],{"id":1080},"in-a-component","In a Component",[365,1083,1084],{},"Components can themselves contain component groups, enabling nested composition:",[373,1086,1088],{"className":375,"code":1087,"language":377,"meta":378,"style":378},"\u003C!-- app\u002Fcwa\u002Fcomponents\u002FTwoColumn\u002FTwoColumn.vue -->\n\u003Ctemplate>\n  \u003Cdiv class=\"grid grid-cols-2 gap-8\">\n    \u003Cdiv>\n      \u003CCwaComponentGroup reference=\"left\" :location=\"iri\" \u002F>\n    \u003C\u002Fdiv>\n    \u003Cdiv>\n      \u003CCwaComponentGroup reference=\"right\" :location=\"iri\" \u002F>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport type { IriProp } from '@cwa\u002Fnuxt\u002Fruntime\u002Fcomposables'\ndefineProps\u003CIriProp>()\n\u003C\u002Fscript>\n",[368,1089,1090,1095,1103,1122,1130,1159,1167,1175,1204,1212,1220,1228,1232,1252,1272,1284],{"__ignoreMap":378},[382,1091,1092],{"class":384,"line":385},[382,1093,1094],{"class":568},"\u003C!-- app\u002Fcwa\u002Fcomponents\u002FTwoColumn\u002FTwoColumn.vue -->\n",[382,1096,1097,1099,1101],{"class":384,"line":572},[382,1098,389],{"class":388},[382,1100,577],{"class":392},[382,1102,580],{"class":388},[382,1104,1105,1107,1109,1111,1113,1115,1118,1120],{"class":384,"line":583},[382,1106,586],{"class":388},[382,1108,589],{"class":392},[382,1110,830],{"class":396},[382,1112,400],{"class":388},[382,1114,404],{"class":403},[382,1116,1117],{"class":407},"grid grid-cols-2 gap-8",[382,1119,404],{"class":403},[382,1121,580],{"class":388},[382,1123,1124,1126,1128],{"class":384,"line":594},[382,1125,597],{"class":388},[382,1127,589],{"class":392},[382,1129,580],{"class":388},[382,1131,1132,1134,1136,1138,1140,1142,1145,1147,1149,1151,1153,1155,1157],{"class":384,"line":625},[382,1133,855],{"class":388},[382,1135,393],{"class":392},[382,1137,397],{"class":396},[382,1139,400],{"class":388},[382,1141,404],{"class":403},[382,1143,1144],{"class":407},"left",[382,1146,404],{"class":403},[382,1148,612],{"class":396},[382,1150,400],{"class":388},[382,1152,404],{"class":403},[382,1154,424],{"class":407},[382,1156,404],{"class":403},[382,1158,429],{"class":388},[382,1160,1161,1163,1165],{"class":384,"line":655},[382,1162,885],{"class":388},[382,1164,589],{"class":392},[382,1166,580],{"class":388},[382,1168,1169,1171,1173],{"class":384,"line":685},[382,1170,597],{"class":388},[382,1172,589],{"class":392},[382,1174,580],{"class":388},[382,1176,1177,1179,1181,1183,1185,1187,1190,1192,1194,1196,1198,1200,1202],{"class":384,"line":695},[382,1178,855],{"class":388},[382,1180,393],{"class":392},[382,1182,397],{"class":396},[382,1184,400],{"class":388},[382,1186,404],{"class":403},[382,1188,1189],{"class":407},"right",[382,1191,404],{"class":403},[382,1193,612],{"class":396},[382,1195,400],{"class":388},[382,1197,404],{"class":403},[382,1199,424],{"class":407},[382,1201,404],{"class":403},[382,1203,429],{"class":388},[382,1205,1206,1208,1210],{"class":384,"line":705},[382,1207,885],{"class":388},[382,1209,589],{"class":392},[382,1211,580],{"class":388},[382,1213,1214,1216,1218],{"class":384,"line":712},[382,1215,688],{"class":388},[382,1217,589],{"class":392},[382,1219,580],{"class":388},[382,1221,1222,1224,1226],{"class":384,"line":737},[382,1223,698],{"class":388},[382,1225,577],{"class":392},[382,1227,580],{"class":388},[382,1229,1230],{"class":384,"line":768},[382,1231,709],{"emptyLinePlaceholder":708},[382,1233,1234,1236,1238,1240,1242,1244,1246,1248,1250],{"class":384,"line":787},[382,1235,389],{"class":388},[382,1237,717],{"class":392},[382,1239,720],{"class":396},[382,1241,723],{"class":396},[382,1243,400],{"class":388},[382,1245,404],{"class":403},[382,1247,730],{"class":407},[382,1249,404],{"class":403},[382,1251,580],{"class":388},[382,1253,1254,1256,1258,1260,1262,1264,1266,1268,1270],{"class":384,"line":955},[382,1255,741],{"class":740},[382,1257,744],{"class":740},[382,1259,747],{"class":388},[382,1261,750],{"class":423},[382,1263,753],{"class":388},[382,1265,756],{"class":740},[382,1267,759],{"class":403},[382,1269,762],{"class":407},[382,1271,765],{"class":403},[382,1273,1274,1276,1278,1280,1282],{"class":384,"line":984},[382,1275,772],{"class":771},[382,1277,389],{"class":388},[382,1279,778],{"class":777},[382,1281,781],{"class":388},[382,1283,784],{"class":423},[382,1285,1286,1288,1290],{"class":384,"line":993},[382,1287,698],{"class":388},[382,1289,717],{"class":392},[382,1291,580],{"class":388},[431,1293,1295],{"id":1294},"how-it-works","How It Works",[365,1297,1298,1299,1301],{},"When ",[368,1300,370],{}," mounts it:",[1303,1304,1305,1316,1323,1333],"ol",{},[1306,1307,1308,1309,1311,1312,1315],"li",{},"Looks up the ",[368,1310,487],{}," entity for ",[368,1313,1314],{},"{reference}_{location IRI}"," in the resource store",[1306,1317,1318,1319,1322],{},"Reads the ordered list of ",[368,1320,1321],{},"ComponentPosition"," entities from that group",[1306,1324,1325,1326,1328,1329,1332],{},"Renders each ",[368,1327,1321],{},"'s component using the ",[368,1330,1331],{},"uiComponent"," field as the Vue component name",[1306,1334,1335],{},"In admin edit mode, wraps each component with selection handles and the add-component button",[365,1337,1338,1339,1341],{},"The group reference is stable — it identifies the same region across environments as long as the ",[368,1340,416],{}," IRI is the same.",[431,1343,1344],{"id":512},"Allowed Components",[365,1346,1347],{},"The API can restrict which component types are allowed in a specific group. The restriction is enforced in two places:",[1349,1350,1351,1358],"ul",{},[1306,1352,1353,1357],{},[1354,1355,1356],"strong",{},"Write-side (admin UI)"," — components not in the allowed list are hidden from the \"Add Component\" dialog for that group.",[1306,1359,1360,1363,1364,1366,1367,1370,1371,1373],{},[1354,1361,1362],{},"Read-side (rendering)"," — ",[368,1365,1321],{}," entries whose resolved component type is not in ",[368,1368,1369],{},"allowedComponents"," are omitted from the API response entirely. This means a component that was positioned before ",[368,1372,1369],{}," was set (or whose type was later removed from the list) will silently not render.",[365,1375,1376,1379],{},[1354,1377,1378],{},"Via the Vue prop"," — pass collection endpoint paths directly in the template. The module syncs this to the API entity whenever an admin is signed in, creating or updating the group as needed:",[373,1381,1383],{"className":375,"code":1382,"language":377,"meta":378,"style":378},"\u003CCwaComponentGroup\n  reference=\"hero\"\n  :location=\"iri\"\n  :allowed-components=\"['\u002Fcomponent\u002Fhero_banners', '\u002Fcomponent\u002Fvideo_blocks']\"\n\u002F>\n",[368,1384,1385,1392,1406,1421,1457],{"__ignoreMap":378},[382,1386,1387,1389],{"class":384,"line":385},[382,1388,389],{"class":388},[382,1390,1391],{"class":392},"CwaComponentGroup\n",[382,1393,1394,1397,1399,1401,1403],{"class":384,"line":572},[382,1395,1396],{"class":396},"  reference",[382,1398,400],{"class":388},[382,1400,404],{"class":403},[382,1402,408],{"class":407},[382,1404,1405],{"class":403},"\"\n",[382,1407,1408,1411,1413,1415,1417,1419],{"class":384,"line":583},[382,1409,1410],{"class":388},"  :",[382,1412,416],{"class":396},[382,1414,400],{"class":388},[382,1416,404],{"class":403},[382,1418,424],{"class":423},[382,1420,1405],{"class":403},[382,1422,1423,1425,1427,1429,1431,1434,1437,1440,1442,1445,1447,1450,1452,1455],{"class":384,"line":594},[382,1424,1410],{"class":388},[382,1426,512],{"class":396},[382,1428,400],{"class":388},[382,1430,404],{"class":403},[382,1432,1433],{"class":423},"[",[382,1435,1436],{"class":403},"'",[382,1438,1439],{"class":407},"\u002Fcomponent\u002Fhero_banners",[382,1441,1436],{"class":403},[382,1443,1444],{"class":388},",",[382,1446,759],{"class":403},[382,1448,1449],{"class":407},"\u002Fcomponent\u002Fvideo_blocks",[382,1451,1436],{"class":403},[382,1453,1454],{"class":423},"]",[382,1456,1405],{"class":403},[382,1458,1459],{"class":384,"line":625},[382,1460,1461],{"class":423},"\u002F>\n",[365,1463,1464,1467,1468,558],{},[1354,1465,1466],{},"Via fixtures"," — pass an array of PHP FQCNs as the second argument to ",[368,1469,1470],{},"->group()",[373,1472,1476],{"className":1473,"code":1474,"language":1475,"meta":378,"style":378},"language-php shiki shiki-themes github-light github-dark material-theme-palenight","$cwa->layout('primary', 'PrimaryLayout')\n    ->group('hero', [App\\Entity\\HeroBanner::class, App\\Entity\\VideoBlock::class]);\n","php",[368,1477,1478,1515],{"__ignoreMap":378},[382,1479,1480,1483,1486,1490,1493,1496,1498,1501,1503,1505,1507,1510,1512],{"class":384,"line":385},[382,1481,1482],{"class":388},"$",[382,1484,1485],{"class":423},"cwa",[382,1487,1489],{"class":1488},"sVlFx","->",[382,1491,1492],{"class":771},"layout",[382,1494,1495],{"class":388},"(",[382,1497,1436],{"class":403},[382,1499,1500],{"class":407},"primary",[382,1502,1436],{"class":403},[382,1504,1444],{"class":388},[382,1506,759],{"class":403},[382,1508,1509],{"class":407},"PrimaryLayout",[382,1511,1436],{"class":403},[382,1513,1514],{"class":388},")\n",[382,1516,1517,1520,1523,1525,1527,1529,1531,1533,1536,1540,1544,1547,1549,1553,1556,1560,1562,1565,1567,1569,1571,1574,1576,1578],{"class":384,"line":572},[382,1518,1519],{"class":1488},"    ->",[382,1521,1522],{"class":771},"group",[382,1524,1495],{"class":388},[382,1526,1436],{"class":403},[382,1528,408],{"class":407},[382,1530,1436],{"class":403},[382,1532,1444],{"class":388},[382,1534,1535],{"class":388}," [",[382,1537,1539],{"class":1538},"sc2zw","App",[382,1541,1543],{"class":1542},"sBtbT","\\",[382,1545,1546],{"class":1538},"Entity",[382,1548,1543],{"class":1542},[382,1550,1552],{"class":1551},"sbW4m","HeroBanner",[382,1554,1555],{"class":1488},"::",[382,1557,1559],{"class":1558},"stmX-","class",[382,1561,1444],{"class":388},[382,1563,1564],{"class":1538}," App",[382,1566,1543],{"class":1542},[382,1568,1546],{"class":1538},[382,1570,1543],{"class":1542},[382,1572,1573],{"class":1551},"VideoBlock",[382,1575,1555],{"class":1488},[382,1577,1559],{"class":1558},[382,1579,1580],{"class":388},"]);\n",[365,1582,1583,1586,1587,1589,1590,1592],{},[1354,1584,1585],{},"Via REST API"," — send PHP FQCNs in ",[368,1588,1369],{}," when creating or updating a ",[368,1591,487],{},". The API normalizes them to collection IRIs automatically:",[373,1594,1598],{"className":1595,"code":1596,"language":1597,"meta":378,"style":378},"language-json shiki shiki-themes github-light github-dark material-theme-palenight","{\n  \"allowedComponents\": [\n    \"App\\\\Entity\\\\HeroBanner\",\n    \"App\\\\Entity\\\\VideoBlock\"\n  ]\n}\n","json",[368,1599,1600,1605,1620,1641,1657,1662],{"__ignoreMap":378},[382,1601,1602],{"class":384,"line":385},[382,1603,1604],{"class":388},"{\n",[382,1606,1607,1610,1613,1615,1617],{"class":384,"line":572},[382,1608,1609],{"class":1542},"  \"",[382,1611,1369],{"class":1612},"sphPO",[382,1614,404],{"class":1542},[382,1616,558],{"class":388},[382,1618,1619],{"class":388}," [\n",[382,1621,1622,1625,1627,1630,1632,1634,1636,1638],{"class":384,"line":583},[382,1623,1624],{"class":403},"    \"",[382,1626,1539],{"class":407},[382,1628,1629],{"class":1538},"\\\\",[382,1631,1546],{"class":407},[382,1633,1629],{"class":1538},[382,1635,1552],{"class":407},[382,1637,404],{"class":403},[382,1639,1640],{"class":388},",\n",[382,1642,1643,1645,1647,1649,1651,1653,1655],{"class":384,"line":594},[382,1644,1624],{"class":403},[382,1646,1539],{"class":407},[382,1648,1629],{"class":1538},[382,1650,1546],{"class":407},[382,1652,1629],{"class":1538},[382,1654,1573],{"class":407},[382,1656,1405],{"class":403},[382,1658,1659],{"class":384,"line":625},[382,1660,1661],{"class":388},"  ]\n",[382,1663,1664],{"class":384,"line":655},[382,1665,1666],{"class":388},"}\n",[365,1668,1669,1670,1672,1673,1675],{},"The normalizer converts these FQCNs to their ",[368,1671,535],{}," collection endpoints (e.g. ",[368,1674,1439],{},") before persisting.",[365,1677,796,1678,1680,1681,1683,1684,1687],{},[368,1679,1369],{}," field is also returned when reading a ",[368,1682,217],{}," or ",[368,1685,1686],{},"Page"," with embedded component groups.",[1689,1690,1691],"style",{},"html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .s-h7I, html code.shiki .s-h7I{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#F07178}html pre.shiki code .sGtlX, html code.shiki .sGtlX{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#C792EA}html pre.shiki code .seSrl, html code.shiki .seSrl{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .sLL54, html code.shiki .sLL54{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTBSN, html code.shiki .sTBSN{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sm4w6, html code.shiki .sm4w6{--shiki-light:#D73A49;--shiki-light-font-style:inherit;--shiki-default:#F97583;--shiki-default-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sKpYG, html code.shiki .sKpYG{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}html pre.shiki code .s01iV, html code.shiki .s01iV{--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-default:#FDAEB7;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:inherit}html pre.shiki code .sVlFx, html code.shiki .sVlFx{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#89DDFF}html pre.shiki code .sc2zw, html code.shiki .sc2zw{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .stmX-, html code.shiki .stmX-{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F78C6C}html pre.shiki code .sphPO, html code.shiki .sphPO{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#C792EA}",{"title":378,"searchDepth":572,"depth":572,"links":1693},[1694,1695,1696,1697,1698,1699],{"id":433,"depth":572,"text":434},{"id":545,"depth":572,"text":546},{"id":802,"depth":572,"text":803},{"id":1080,"depth":572,"text":1081},{"id":1294,"depth":572,"text":1295},{"id":512,"depth":572,"text":1344},"Render an ordered list of CMS-managed components within a named region of your layout, page, or component.","md",{},{"title":188,"description":1700},"pbfr-861oxvQGXGw1CoPiwwbWYDGp4uxycVY11UBIrI",[1706,1708],{"title":179,"path":180,"stem":181,"description":1707,"children":-1},"Scaffold a new CWA display component from the command line — generates the Vue file with the correct useCwaComponent boilerplate and prints the matching API command.",{"title":192,"path":193,"stem":194,"description":1709,"children":-1},"Render nested page levels inside a page template — CWA's equivalent of \u003CNuxtPage \u002F>.",1782512897730]