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