[{"data":1,"prerenderedAt":835},["ShallowReactive",2],{"navigation":3,"\u002Fcore-concepts\u002Fthe-data-model":342,"\u002Fcore-concepts\u002Fthe-data-model-surround":830},[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":46,"badge":344,"body":347,"description":823,"extension":824,"links":825,"meta":826,"navigation":827,"path":47,"seo":828,"stem":48,"__hash__":829},"docs\u002F3.core-concepts\u002F2.the-data-model.md",{"label":345,"color":346},"Draft","amber",{"type":348,"value":349,"toc":810},"minimark",[350,354,359,362,365,389,394,405,408,414,434,437,443,470,474,477,491,495,498,524,528,531,534,537,551,555,586,589,592,598,796,806],[351,352,353],"p",{},"Every page in a CWA site is described by a chain of resources stored in the API. Understanding this chain is the single most useful thing you can do before writing any code.",[355,356,358],"h2",{"id":357},"the-resource-chain","The Resource Chain",[351,360,361],{},"The diagram below shows both paths through the chain — static pages (Route → Page directly) and dynamic pages (Route → PageData → Page template):",[363,364],"diagram-resource-chain",{},[351,366,367,371,372,375,376,380,381,384,385,388],{},[368,369,370],"strong",{},"Key"," — ",[368,373,374],{},"blue",": UI resources with a ",[377,378,379],"code",{},"uiComponent"," field (you write a Vue template). ",[368,382,383],{},"Violet",": resources you define in PHP by extending a CWA abstract. ",[368,386,387],{},"Stone",": core structural resources managed by CWA (no code required). Component types are blue but also require a PHP class like PageData.",[390,391,393],"h3",{"id":392},"route","Route",[351,395,396,397,400,401,404],{},"Maps a URL path to either a ",[368,398,399],{},"Page"," (for static pages) or a ",[368,402,403],{},"PageData"," record (for dynamic pages). Also handles redirects.",[390,406,399],{"id":407},"page",[351,409,410,411,413],{},"The content structure rendered inside a Layout. Its ",[377,412,379],{}," field maps to your Vue template file.",[415,416,417,424],"ul",{},[418,419,420,423],"li",{},[368,421,422],{},"Static page",": one page, one URL, fixed content regions",[418,425,426,429,430,433],{},[368,427,428],{},"Template page"," (",[377,431,432],{},"isTemplate: true","): reused across many PageData records — one per article, product, event, etc.",[390,435,403],{"id":436},"pagedata",[351,438,439,440,442],{},"Used for dynamic sections (blogs, events, products). Instead of a Route pointing directly to a Page, it points to a PageData record. That record carries a ",[377,441,407],{}," field naming the Page template to render, plus the URL's own content fields.",[415,444,445,460,463],{},[418,446,447,448,451,452,455,456,459],{},"Extends ",[377,449,450],{},"AbstractPageData",", which provides ",[377,453,454],{},"title"," and ",[377,457,458],{},"metaDescription"," for SEO",[418,461,462],{},"Your custom fields (headline, body, image) live here",[418,464,465,466,469],{},"Its own Route gives it a live URL (e.g. ",[377,467,468],{},"\u002Fblog\u002Fmy-first-post",")",[390,471,473],{"id":472},"layout","Layout",[351,475,476],{},"The outer shell of every page — header, footer, navigation. Every Page has exactly one Layout.",[415,478,479,488],{},[418,480,481,484,485],{},[377,482,483],{},"uiComponent: \"CwaLayoutPrimary\""," → renders your ",[377,486,487],{},"app\u002Fcwa\u002Flayouts\u002Fprimary.vue",[418,489,490],{},"Has its own ComponentGroups (e.g. a nav region)",[390,492,494],{"id":493},"componentgroup","ComponentGroup",[351,496,497],{},"A named region within a Layout or Page — the area where admins add and reorder content.",[415,499,500,518],{},[418,501,502,503,506,507,510,511,514,515],{},"The ",[377,504,505],{},"reference"," string (e.g. ",[377,508,509],{},"\"hero\"",", ",[377,512,513],{},"\"nav\"",") is what you use in your Vue template: ",[377,516,517],{},"\u003CCwaComponentGroup reference=\"hero\" :location=\"iri\" \u002F>",[418,519,520,521],{},"Can restrict which component types are allowed via ",[377,522,523],{},"allowedComponents",[390,525,527],{"id":526},"componentposition","ComponentPosition",[351,529,530],{},"A single ordered slot inside a ComponentGroup. Holds exactly one Component, or a binding to a PageData field.",[390,532,213],{"id":533},"component",[351,535,536],{},"Your custom content items: titles, paragraphs, images, hero sections, navigation links, etc.",[415,538,539,548],{},[418,540,541,544,545],{},[377,542,543],{},"uiComponent: \"Title\""," → renders ",[377,546,547],{},"app\u002Fcwa\u002Fcomponents\u002FTitle\u002FTitle.vue",[418,549,550],{},"Can be publishable (draft → published workflow)",[355,552,554],{"id":553},"a-concrete-example","A Concrete Example",[351,556,557,558,561,562,564,565,567,568,571,572,574,575,578,579,582,583,585],{},"For a blog, a Route points to a ",[377,559,560],{},"BlogArticle"," PageData record rather than a Page directly. ",[377,563,560],{}," carries a ",[377,566,407],{}," field naming ",[377,569,570],{},"BlogTemplate"," as the Page to render. ",[377,573,570],{}," has a ComponentGroup containing a ComponentPosition with ",[377,576,577],{},"pageDataProperty: \"htmlContent\""," — at render time that position resolves to whatever ",[377,580,581],{},"HtmlContent"," component is stored on the current ",[377,584,560],{},". The dashed line in the diagram shows that runtime binding:",[587,588],"diagram-blog-example",{},[355,590,591],{"id":591},"_metadata",[351,593,594,595,597],{},"Every resource the API returns includes a ",[377,596,591],{}," envelope:",[599,600,605],"pre",{"className":601,"code":602,"language":603,"meta":604,"style":604},"language-json shiki shiki-themes github-light github-dark material-theme-palenight","{\n  \"@id\": \"\u002Fcomponent\u002Ftitles\u002Fabc-123\",\n  \"@type\": \"Title\",\n  \"title\": \"Hello World\",\n  \"_metadata\": {\n    \"persisted\": true,\n    \"publishable\": { \"published\": true, \"publishedAt\": \"2024-01-01T00:00:00Z\" },\n    \"mediaObjects\": {}\n  }\n}\n","json","",[377,606,607,616,646,667,687,701,720,769,784,790],{"__ignoreMap":604},[608,609,612],"span",{"class":610,"line":611},"line",1,[608,613,615],{"class":614},"sOvfz","{\n",[608,617,619,623,627,630,633,637,641,643],{"class":610,"line":618},2,[608,620,622],{"class":621},"sBtbT","  \"",[608,624,626],{"class":625},"sphPO","@id",[608,628,629],{"class":621},"\"",[608,631,632],{"class":614},":",[608,634,636],{"class":635},"seSrl"," \"",[608,638,640],{"class":639},"sLL54","\u002Fcomponent\u002Ftitles\u002Fabc-123",[608,642,629],{"class":635},[608,644,645],{"class":614},",\n",[608,647,649,651,654,656,658,660,663,665],{"class":610,"line":648},3,[608,650,622],{"class":621},[608,652,653],{"class":625},"@type",[608,655,629],{"class":621},[608,657,632],{"class":614},[608,659,636],{"class":635},[608,661,662],{"class":639},"Title",[608,664,629],{"class":635},[608,666,645],{"class":614},[608,668,670,672,674,676,678,680,683,685],{"class":610,"line":669},4,[608,671,622],{"class":621},[608,673,454],{"class":625},[608,675,629],{"class":621},[608,677,632],{"class":614},[608,679,636],{"class":635},[608,681,682],{"class":639},"Hello World",[608,684,629],{"class":635},[608,686,645],{"class":614},[608,688,690,692,694,696,698],{"class":610,"line":689},5,[608,691,622],{"class":621},[608,693,591],{"class":625},[608,695,629],{"class":621},[608,697,632],{"class":614},[608,699,700],{"class":614}," {\n",[608,702,704,707,711,713,715,718],{"class":610,"line":703},6,[608,705,706],{"class":621},"    \"",[608,708,710],{"class":709},"sbW4m","persisted",[608,712,629],{"class":621},[608,714,632],{"class":614},[608,716,717],{"class":621}," true",[608,719,645],{"class":614},[608,721,723,725,728,730,732,735,737,741,743,745,747,750,752,755,757,759,761,764,766],{"class":610,"line":722},7,[608,724,706],{"class":621},[608,726,727],{"class":709},"publishable",[608,729,629],{"class":621},[608,731,632],{"class":614},[608,733,734],{"class":614}," {",[608,736,636],{"class":621},[608,738,740],{"class":739},"scSvc","published",[608,742,629],{"class":621},[608,744,632],{"class":614},[608,746,717],{"class":621},[608,748,749],{"class":614},",",[608,751,636],{"class":621},[608,753,754],{"class":739},"publishedAt",[608,756,629],{"class":621},[608,758,632],{"class":614},[608,760,636],{"class":635},[608,762,763],{"class":639},"2024-01-01T00:00:00Z",[608,765,629],{"class":635},[608,767,768],{"class":614}," },\n",[608,770,772,774,777,779,781],{"class":610,"line":771},8,[608,773,706],{"class":621},[608,775,776],{"class":709},"mediaObjects",[608,778,629],{"class":621},[608,780,632],{"class":614},[608,782,783],{"class":614}," {}\n",[608,785,787],{"class":610,"line":786},9,[608,788,789],{"class":614},"  }\n",[608,791,793],{"class":610,"line":792},10,[608,794,795],{"class":614},"}\n",[351,797,798,799,802,803,805],{},"Your Vue component reads ",[377,800,801],{},"resource?.data?.title",". The ",[377,804,591],{}," is used by the module internally.",[807,808,809],"style",{},"html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .sphPO, html code.shiki .sphPO{--shiki-light:#005CC5;--shiki-default:#79B8FF;--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 .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .scSvc, html code.shiki .scSvc{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#F78C6C}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":604,"searchDepth":618,"depth":618,"links":811},[812,821,822],{"id":357,"depth":618,"text":358,"children":813},[814,815,816,817,818,819,820],{"id":392,"depth":648,"text":393},{"id":407,"depth":648,"text":399},{"id":436,"depth":648,"text":403},{"id":472,"depth":648,"text":473},{"id":493,"depth":648,"text":494},{"id":526,"depth":648,"text":527},{"id":533,"depth":648,"text":213},{"id":553,"depth":618,"text":554},{"id":591,"depth":618,"text":591},"The six resource types that form the content graph behind every CWA page — and how they chain together.","md",null,{},true,{"title":46,"description":823},"WZ8zaxBTpqQ2V5LpRf3Z-NI4zmLuKMrFCJSpwn4gtt8",[831,833],{"title":42,"path":43,"stem":44,"description":832,"children":-1},"A high-level map of the CWA — what you get out of the box, what you write yourself, and how the three layers fit together.",{"title":50,"path":51,"stem":52,"description":834,"children":-1},"How layouts form the site shell and pages define the content structure within — and the difference between static and template pages.",1782241278654]