[{"data":1,"prerenderedAt":1510},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource":342,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource-surround":1505},[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":344,"badge":345,"body":348,"description":1498,"extension":1499,"links":1500,"meta":1501,"navigation":1502,"path":219,"seo":1503,"stem":220,"__hash__":1504},"docs\u002F5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource.md","useCwaResource",{"label":346,"color":347},"Draft","amber",{"type":349,"value":350,"toc":1491},"minimark",[351,355,560,565,684,702,706,742,823,839,850,858,877,889,893,1155,1162,1166,1177,1245,1252,1256,1487],[352,353,354],"p",{},"The most-used composable. Every display component uses this to fetch its data and wire into the admin manager.",[356,357,362],"pre",{"className":358,"code":359,"language":360,"meta":361,"style":361},"language-ts shiki shiki-themes github-light github-dark material-theme-palenight","import { toRef } from 'vue'\nimport type { IriProp } from '#cwa\u002Fcomposables\u002Fcwa-resource'\nimport { useCwaResource } from '#imports'\n\nconst props = defineProps\u003CIriProp>()\n\nconst { getResource, exposeMeta } = useCwaResource(toRef(props, 'iri'))\nconst resource = getResource()\n\ndefineExpose(exposeMeta)\n","ts","",[363,364,365,399,423,444,451,483,488,532,546,551],"code",{"__ignoreMap":361},[366,367,370,374,378,382,385,388,392,396],"span",{"class":368,"line":369},"line",1,[366,371,373],{"class":372},"sm4w6","import",[366,375,377],{"class":376},"sOvfz"," {",[366,379,381],{"class":380},"sPB8G"," toRef",[366,383,384],{"class":376}," }",[366,386,387],{"class":372}," from",[366,389,391],{"class":390},"seSrl"," '",[366,393,395],{"class":394},"sLL54","vue",[366,397,398],{"class":390},"'\n",[366,400,402,404,407,409,412,414,416,418,421],{"class":368,"line":401},2,[366,403,373],{"class":372},[366,405,406],{"class":372}," type",[366,408,377],{"class":376},[366,410,411],{"class":380}," IriProp",[366,413,384],{"class":376},[366,415,387],{"class":372},[366,417,391],{"class":390},[366,419,420],{"class":394},"#cwa\u002Fcomposables\u002Fcwa-resource",[366,422,398],{"class":390},[366,424,426,428,430,433,435,437,439,442],{"class":368,"line":425},3,[366,427,373],{"class":372},[366,429,377],{"class":376},[366,431,432],{"class":380}," useCwaResource",[366,434,384],{"class":376},[366,436,387],{"class":372},[366,438,391],{"class":390},[366,440,441],{"class":394},"#imports",[366,443,398],{"class":390},[366,445,447],{"class":368,"line":446},4,[366,448,450],{"emptyLinePlaceholder":449},true,"\n",[366,452,454,458,462,466,470,473,477,480],{"class":368,"line":453},5,[366,455,457],{"class":456},"swB56","const",[366,459,461],{"class":460},"sc2zw"," props",[366,463,465],{"class":464},"sVlFx"," =",[366,467,469],{"class":468},"sKpYG"," defineProps",[366,471,472],{"class":376},"\u003C",[366,474,476],{"class":475},"sRCss","IriProp",[366,478,479],{"class":376},">",[366,481,482],{"class":380},"()\n",[366,484,486],{"class":368,"line":485},6,[366,487,450],{"emptyLinePlaceholder":449},[366,489,491,493,495,498,501,504,506,508,510,513,516,519,521,523,526,529],{"class":368,"line":490},7,[366,492,457],{"class":456},[366,494,377],{"class":376},[366,496,497],{"class":460}," getResource",[366,499,500],{"class":376},",",[366,502,503],{"class":460}," exposeMeta",[366,505,384],{"class":376},[366,507,465],{"class":464},[366,509,432],{"class":468},[366,511,512],{"class":380},"(",[366,514,515],{"class":468},"toRef",[366,517,518],{"class":380},"(props",[366,520,500],{"class":376},[366,522,391],{"class":390},[366,524,525],{"class":394},"iri",[366,527,528],{"class":390},"'",[366,530,531],{"class":380},"))\n",[366,533,535,537,540,542,544],{"class":368,"line":534},8,[366,536,457],{"class":456},[366,538,539],{"class":460}," resource",[366,541,465],{"class":464},[366,543,497],{"class":468},[366,545,482],{"class":380},[366,547,549],{"class":368,"line":548},9,[366,550,450],{"emptyLinePlaceholder":449},[366,552,554,557],{"class":368,"line":553},10,[366,555,556],{"class":468},"defineExpose",[366,558,559],{"class":380},"(exposeMeta)\n",[561,562,564],"h2",{"id":563},"signature","Signature",[356,566,568],{"className":358,"code":567,"language":360,"meta":361,"style":361},"useCwaResource(\n  iri: Ref\u003Cstring>,\n  options?: {\n    styles?: {\n      multiple: boolean\n      classes: Record\u003Cstring, string[]>\n    }\n    name?: string            \u002F\u002F for ui\u002F variant files — must match filename without .vue\n    disableManager?: boolean \u002F\u002F skip admin manager integration\n  }\n)\n",[363,569,570,577,592,603,613,624,641,646,660,673,678],{"__ignoreMap":361},[366,571,572,574],{"class":368,"line":369},[366,573,344],{"class":468},[366,575,576],{"class":380},"(\n",[366,578,579,582,584,587,589],{"class":368,"line":401},[366,580,581],{"class":380},"  iri: Ref",[366,583,472],{"class":464},[366,585,586],{"class":380},"string",[366,588,479],{"class":464},[366,590,591],{"class":376},",\n",[366,593,594,597,600],{"class":368,"line":425},[366,595,596],{"class":380},"  options",[366,598,599],{"class":464},"?:",[366,601,602],{"class":376}," {\n",[366,604,605,608,611],{"class":368,"line":446},[366,606,607],{"class":380},"    styles?",[366,609,610],{"class":376},":",[366,612,602],{"class":376},[366,614,615,619,621],{"class":368,"line":453},[366,616,618],{"class":617},"sDHlG","      multiple",[366,620,610],{"class":376},[366,622,623],{"class":380}," boolean\n",[366,625,626,629,631,633,635,638],{"class":368,"line":485},[366,627,628],{"class":380},"      classes: Record",[366,630,472],{"class":464},[366,632,586],{"class":380},[366,634,500],{"class":376},[366,636,637],{"class":380}," string",[366,639,640],{"class":617},"[]>\n",[366,642,643],{"class":368,"line":490},[366,644,645],{"class":617},"    }\n",[366,647,648,651,653,656],{"class":368,"line":534},[366,649,650],{"class":617},"    name?",[366,652,610],{"class":376},[366,654,655],{"class":380}," string            ",[366,657,659],{"class":658},"sTBSN","\u002F\u002F for ui\u002F variant files — must match filename without .vue\n",[366,661,662,665,667,670],{"class":368,"line":548},[366,663,664],{"class":380},"    disableManager",[366,666,599],{"class":464},[366,668,669],{"class":380}," boolean ",[366,671,672],{"class":658},"\u002F\u002F skip admin manager integration\n",[366,674,675],{"class":368,"line":553},[366,676,677],{"class":376},"  }\n",[366,679,681],{"class":368,"line":680},11,[366,682,683],{"class":380},")\n",[352,685,686,690,691,694,695,698,699,701],{},[687,688,689],"strong",{},"First argument"," is a ",[363,692,693],{},"Ref\u003Cstring>"," — use ",[363,696,697],{},"toRef(props, 'iri')"," to convert the ",[363,700,525],{}," prop to a ref.",[561,703,705],{"id":704},"return-values","Return values",[356,707,709],{"className":358,"code":708,"language":360,"meta":361,"style":361},"const { getResource, exposeMeta, $cwa, getCurrentStyleName } = useCwaResource(iriRef)\n",[363,710,711],{"__ignoreMap":361},[366,712,713,715,717,719,721,723,725,728,730,733,735,737,739],{"class":368,"line":369},[366,714,457],{"class":456},[366,716,377],{"class":376},[366,718,497],{"class":460},[366,720,500],{"class":376},[366,722,503],{"class":460},[366,724,500],{"class":376},[366,726,727],{"class":460}," $cwa",[366,729,500],{"class":376},[366,731,732],{"class":460}," getCurrentStyleName",[366,734,384],{"class":376},[366,736,465],{"class":464},[366,738,432],{"class":468},[366,740,741],{"class":380},"(iriRef)\n",[743,744,745,761],"table",{},[746,747,748],"thead",{},[749,750,751,755,758],"tr",{},[752,753,754],"th",{},"Return",[752,756,757],{},"Type",[752,759,760],{},"Purpose",[762,763,764,780,795,808],"tbody",{},[749,765,766,772,777],{},[767,768,769],"td",{},[363,770,771],{},"getResource",[767,773,774],{},[363,775,776],{},"() => Ref\u003CResource | null | undefined>",[767,778,779],{},"Call it once in setup to get the resource ref",[749,781,782,787,790],{},[767,783,784],{},[363,785,786],{},"exposeMeta",[767,788,789],{},"object",[767,791,792,793],{},"Pass directly to ",[363,794,556],{},[749,796,797,802,805],{},[767,798,799],{},[363,800,801],{},"$cwa",[767,803,804],{},"CwaComposable",[767,806,807],{},"Access to auth, resources, UI state",[749,809,810,815,820],{},[767,811,812],{},[363,813,814],{},"getCurrentStyleName",[767,816,817],{},[363,818,819],{},"(data) => string | undefined",[767,821,822],{},"Read the currently selected style name",[352,824,825,830,831,834,835,838],{},[687,826,827],{},[363,828,829],{},"const resource = getResource()"," — call ",[363,832,833],{},"getResource()"," once to get the reactive resource ref. Never call it in a computed or template — call it once in ",[363,836,837],{},"setup()",".",[352,840,841,846,847,838],{},[687,842,843],{},[363,844,845],{},"resource.value?.data?.title"," — access your PHP entity fields on ",[363,848,849],{},".data",[352,851,852],{},[687,853,854,857],{},[363,855,856],{},"resource.value"," states:",[859,860,861,868,874],"ul",{},[862,863,864,867],"li",{},[363,865,866],{},"undefined"," — loading (show skeleton)",[862,869,870,873],{},[363,871,872],{},"null"," — not found",[862,875,876],{},"object — data available",[352,878,879,884,885,888],{},[687,880,881],{},[363,882,883],{},"defineExpose(exposeMeta)"," is ",[687,886,887],{},"required"," — without it the admin manager cannot find and select this component.",[561,890,892],{"id":891},"style-variants","Style Variants",[356,894,896],{"className":358,"code":895,"language":360,"meta":361,"style":361},"const { getResource, exposeMeta, getCurrentStyleName } = useCwaResource(toRef(props, 'iri'), {\n  styles: {\n    multiple: false,\n    classes: {\n      'Default': [],\n      'Filled': ['bg-blue-600 text-white px-6 py-2 rounded-md'],\n      'Outlined': ['border border-blue-600 text-blue-600 px-6 py-2 rounded-md'],\n    }\n  }\n})\nconst resource = getResource()\nconst currentStyleName = computed(() => {\n  if (!resource.value?.data) return undefined\n  return getCurrentStyleName(resource.value.data)\n})\n",[363,897,898,941,950,963,972,990,1016,1040,1044,1048,1055,1067,1090,1126,1148],{"__ignoreMap":361},[366,899,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,937,939],{"class":368,"line":369},[366,901,457],{"class":456},[366,903,377],{"class":376},[366,905,497],{"class":460},[366,907,500],{"class":376},[366,909,503],{"class":460},[366,911,500],{"class":376},[366,913,732],{"class":460},[366,915,384],{"class":376},[366,917,465],{"class":464},[366,919,432],{"class":468},[366,921,512],{"class":380},[366,923,515],{"class":468},[366,925,518],{"class":380},[366,927,500],{"class":376},[366,929,391],{"class":390},[366,931,525],{"class":394},[366,933,528],{"class":390},[366,935,936],{"class":380},")",[366,938,500],{"class":376},[366,940,602],{"class":376},[366,942,943,946,948],{"class":368,"line":401},[366,944,945],{"class":617},"  styles",[366,947,610],{"class":376},[366,949,602],{"class":376},[366,951,952,955,957,961],{"class":368,"line":425},[366,953,954],{"class":617},"    multiple",[366,956,610],{"class":376},[366,958,960],{"class":959},"swWMF"," false",[366,962,591],{"class":376},[366,964,965,968,970],{"class":368,"line":446},[366,966,967],{"class":617},"    classes",[366,969,610],{"class":376},[366,971,602],{"class":376},[366,973,974,977,981,983,985,988],{"class":368,"line":453},[366,975,976],{"class":390},"      '",[366,978,980],{"class":979},"syBAL","Default",[366,982,528],{"class":390},[366,984,610],{"class":376},[366,986,987],{"class":380}," []",[366,989,591],{"class":376},[366,991,992,994,997,999,1001,1004,1006,1009,1011,1014],{"class":368,"line":485},[366,993,976],{"class":390},[366,995,996],{"class":979},"Filled",[366,998,528],{"class":390},[366,1000,610],{"class":376},[366,1002,1003],{"class":380}," [",[366,1005,528],{"class":390},[366,1007,1008],{"class":394},"bg-blue-600 text-white px-6 py-2 rounded-md",[366,1010,528],{"class":390},[366,1012,1013],{"class":380},"]",[366,1015,591],{"class":376},[366,1017,1018,1020,1023,1025,1027,1029,1031,1034,1036,1038],{"class":368,"line":490},[366,1019,976],{"class":390},[366,1021,1022],{"class":979},"Outlined",[366,1024,528],{"class":390},[366,1026,610],{"class":376},[366,1028,1003],{"class":380},[366,1030,528],{"class":390},[366,1032,1033],{"class":394},"border border-blue-600 text-blue-600 px-6 py-2 rounded-md",[366,1035,528],{"class":390},[366,1037,1013],{"class":380},[366,1039,591],{"class":376},[366,1041,1042],{"class":368,"line":534},[366,1043,645],{"class":376},[366,1045,1046],{"class":368,"line":548},[366,1047,677],{"class":376},[366,1049,1050,1053],{"class":368,"line":553},[366,1051,1052],{"class":376},"}",[366,1054,683],{"class":380},[366,1056,1057,1059,1061,1063,1065],{"class":368,"line":680},[366,1058,457],{"class":456},[366,1060,539],{"class":460},[366,1062,465],{"class":464},[366,1064,497],{"class":468},[366,1066,482],{"class":380},[366,1068,1070,1072,1075,1077,1080,1082,1085,1088],{"class":368,"line":1069},12,[366,1071,457],{"class":456},[366,1073,1074],{"class":460}," currentStyleName",[366,1076,465],{"class":464},[366,1078,1079],{"class":468}," computed",[366,1081,512],{"class":380},[366,1083,1084],{"class":376},"()",[366,1086,1087],{"class":456}," =>",[366,1089,602],{"class":376},[366,1091,1093,1096,1099,1102,1105,1107,1110,1113,1116,1119,1122],{"class":368,"line":1092},13,[366,1094,1095],{"class":372},"  if",[366,1097,1098],{"class":617}," (",[366,1100,1101],{"class":464},"!",[366,1103,1104],{"class":380},"resource",[366,1106,838],{"class":376},[366,1108,1109],{"class":380},"value",[366,1111,1112],{"class":376},"?.",[366,1114,1115],{"class":380},"data",[366,1117,1118],{"class":617},") ",[366,1120,1121],{"class":372},"return",[366,1123,1125],{"class":1124},"sBtbT"," undefined\n",[366,1127,1129,1132,1134,1136,1138,1140,1142,1144,1146],{"class":368,"line":1128},14,[366,1130,1131],{"class":372},"  return",[366,1133,732],{"class":468},[366,1135,512],{"class":617},[366,1137,1104],{"class":380},[366,1139,838],{"class":376},[366,1141,1109],{"class":380},[366,1143,838],{"class":376},[366,1145,1115],{"class":380},[366,1147,683],{"class":617},[366,1149,1151,1153],{"class":368,"line":1150},15,[366,1152,1052],{"class":376},[366,1154,683],{"class":380},[352,1156,1157,1158,1161],{},"The style names appear as options in the admin manager. ",[363,1159,1160],{},"resource.value.data.uiClassNames"," holds the selected classes — bind it to the element you want styled.",[561,1163,1165],{"id":1164},"ui-variant-files","UI Variant Files",[352,1167,1168,1169,1172,1173,1176],{},"For a ",[363,1170,1171],{},"ui\u002F"," directory alternative template, pass ",[363,1174,1175],{},"name"," matching the filename:",[356,1178,1180],{"className":358,"code":1179,"language":360,"meta":361,"style":361},"\u002F\u002F app\u002Fcwa\u002Fcomponents\u002FNavigationLink\u002Fui\u002FYouTube.vue\nconst { getResource, exposeMeta } = useCwaResource(toRef(props, 'iri'), {\n  name: 'YouTube'\n})\n",[363,1181,1182,1187,1225,1239],{"__ignoreMap":361},[366,1183,1184],{"class":368,"line":369},[366,1185,1186],{"class":658},"\u002F\u002F app\u002Fcwa\u002Fcomponents\u002FNavigationLink\u002Fui\u002FYouTube.vue\n",[366,1188,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223],{"class":368,"line":401},[366,1190,457],{"class":456},[366,1192,377],{"class":376},[366,1194,497],{"class":460},[366,1196,500],{"class":376},[366,1198,503],{"class":460},[366,1200,384],{"class":376},[366,1202,465],{"class":464},[366,1204,432],{"class":468},[366,1206,512],{"class":380},[366,1208,515],{"class":468},[366,1210,518],{"class":380},[366,1212,500],{"class":376},[366,1214,391],{"class":390},[366,1216,525],{"class":394},[366,1218,528],{"class":390},[366,1220,936],{"class":380},[366,1222,500],{"class":376},[366,1224,602],{"class":376},[366,1226,1227,1230,1232,1234,1237],{"class":368,"line":425},[366,1228,1229],{"class":617},"  name",[366,1231,610],{"class":376},[366,1233,391],{"class":390},[366,1235,1236],{"class":394},"YouTube",[366,1238,398],{"class":390},[366,1240,1241,1243],{"class":368,"line":446},[366,1242,1052],{"class":376},[366,1244,683],{"class":380},[352,1246,1247,1248,1251],{},"See ",[1249,1250,32],"a",{"href":33}," for the full pattern.",[561,1253,1255],{"id":1254},"complete-example","Complete Example",[356,1257,1260],{"className":1258,"code":1259,"language":395,"meta":361,"style":361},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Ctemplate>\n  \u003Ch1 :class=\"resource?.data?.uiClassNames\">\n    {{ resource?.data?.title }}\n  \u003C\u002Fh1>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport { toRef } from 'vue'\nimport type { IriProp } from '#cwa\u002Fcomposables\u002Fcwa-resource'\nimport { useCwaResource } from '#imports'\n\nconst props = defineProps\u003CIriProp>()\nconst { getResource, exposeMeta } = useCwaResource(toRef(props, 'iri'))\nconst resource = getResource()\ndefineExpose(exposeMeta)\n\u003C\u002Fscript>\n",[363,1261,1262,1273,1298,1303,1312,1321,1325,1348,1366,1386,1404,1408,1426,1460,1472,1478],{"__ignoreMap":361},[366,1263,1264,1266,1270],{"class":368,"line":369},[366,1265,472],{"class":376},[366,1267,1269],{"class":1268},"s-h7I","template",[366,1271,1272],{"class":376},">\n",[366,1274,1275,1278,1281,1285,1288,1291,1294,1296],{"class":368,"line":401},[366,1276,1277],{"class":376},"  \u003C",[366,1279,1280],{"class":1268},"h1",[366,1282,1284],{"class":1283},"sGtlX"," :class",[366,1286,1287],{"class":376},"=",[366,1289,1290],{"class":390},"\"",[366,1292,1293],{"class":394},"resource?.data?.uiClassNames",[366,1295,1290],{"class":390},[366,1297,1272],{"class":376},[366,1299,1300],{"class":368,"line":425},[366,1301,1302],{"class":380},"    {{ resource?.data?.title }}\n",[366,1304,1305,1308,1310],{"class":368,"line":446},[366,1306,1307],{"class":376},"  \u003C\u002F",[366,1309,1280],{"class":1268},[366,1311,1272],{"class":376},[366,1313,1314,1317,1319],{"class":368,"line":453},[366,1315,1316],{"class":376},"\u003C\u002F",[366,1318,1269],{"class":1268},[366,1320,1272],{"class":376},[366,1322,1323],{"class":368,"line":485},[366,1324,450],{"emptyLinePlaceholder":449},[366,1326,1327,1329,1332,1335,1338,1340,1342,1344,1346],{"class":368,"line":490},[366,1328,472],{"class":376},[366,1330,1331],{"class":1268},"script",[366,1333,1334],{"class":1283}," setup",[366,1336,1337],{"class":1283}," lang",[366,1339,1287],{"class":376},[366,1341,1290],{"class":390},[366,1343,360],{"class":394},[366,1345,1290],{"class":390},[366,1347,1272],{"class":376},[366,1349,1350,1352,1354,1356,1358,1360,1362,1364],{"class":368,"line":534},[366,1351,373],{"class":372},[366,1353,377],{"class":376},[366,1355,381],{"class":380},[366,1357,384],{"class":376},[366,1359,387],{"class":372},[366,1361,391],{"class":390},[366,1363,395],{"class":394},[366,1365,398],{"class":390},[366,1367,1368,1370,1372,1374,1376,1378,1380,1382,1384],{"class":368,"line":548},[366,1369,373],{"class":372},[366,1371,406],{"class":372},[366,1373,377],{"class":376},[366,1375,411],{"class":380},[366,1377,384],{"class":376},[366,1379,387],{"class":372},[366,1381,391],{"class":390},[366,1383,420],{"class":394},[366,1385,398],{"class":390},[366,1387,1388,1390,1392,1394,1396,1398,1400,1402],{"class":368,"line":553},[366,1389,373],{"class":372},[366,1391,377],{"class":376},[366,1393,432],{"class":380},[366,1395,384],{"class":376},[366,1397,387],{"class":372},[366,1399,391],{"class":390},[366,1401,441],{"class":394},[366,1403,398],{"class":390},[366,1405,1406],{"class":368,"line":680},[366,1407,450],{"emptyLinePlaceholder":449},[366,1409,1410,1412,1414,1416,1418,1420,1422,1424],{"class":368,"line":1069},[366,1411,457],{"class":456},[366,1413,461],{"class":460},[366,1415,465],{"class":464},[366,1417,469],{"class":468},[366,1419,472],{"class":376},[366,1421,476],{"class":475},[366,1423,479],{"class":376},[366,1425,482],{"class":380},[366,1427,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458],{"class":368,"line":1092},[366,1429,457],{"class":456},[366,1431,377],{"class":376},[366,1433,497],{"class":460},[366,1435,500],{"class":376},[366,1437,503],{"class":460},[366,1439,384],{"class":376},[366,1441,465],{"class":464},[366,1443,432],{"class":468},[366,1445,512],{"class":380},[366,1447,515],{"class":468},[366,1449,518],{"class":380},[366,1451,500],{"class":376},[366,1453,391],{"class":390},[366,1455,525],{"class":394},[366,1457,528],{"class":390},[366,1459,531],{"class":380},[366,1461,1462,1464,1466,1468,1470],{"class":368,"line":1128},[366,1463,457],{"class":456},[366,1465,539],{"class":460},[366,1467,465],{"class":464},[366,1469,497],{"class":468},[366,1471,482],{"class":380},[366,1473,1474,1476],{"class":368,"line":1150},[366,1475,556],{"class":468},[366,1477,559],{"class":380},[366,1479,1481,1483,1485],{"class":368,"line":1480},16,[366,1482,1316],{"class":376},[366,1484,1331],{"class":1268},[366,1486,1272],{"class":376},[1488,1489,1490],"style",{},"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 .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}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 .swB56, html code.shiki .swB56{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#C792EA}html pre.shiki code .sc2zw, html code.shiki .sc2zw{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .sVlFx, html code.shiki .sVlFx{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#89DDFF}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 .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 .sDHlG, html code.shiki .sDHlG{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#F07178}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 .swWMF, html code.shiki .swWMF{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FF9CAC}html pre.shiki code .syBAL, html code.shiki .syBAL{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#F07178}html pre.shiki code .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--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}",{"title":361,"searchDepth":401,"depth":401,"links":1492},[1493,1494,1495,1496,1497],{"id":563,"depth":401,"text":564},{"id":704,"depth":401,"text":705},{"id":891,"depth":401,"text":892},{"id":1164,"depth":401,"text":1165},{"id":1254,"depth":401,"text":1255},"Bind a display component to its API resource by IRI — fetch, subscribe, and expose to the admin manager.","md",null,{},{"title":218},{"title":344,"description":1498},"zrKCH6dvkH26-nCm0fCs87mKjga7VIg-YXO-sCaB15k",[1506,1508],{"title":204,"path":205,"stem":206,"description":1507,"children":-1},"Complete reference for the Cwa class — the central access point for resources, auth, forms, admin, and site config.",{"title":222,"path":223,"stem":224,"description":1509,"children":-1},"Composable for Collection-backed components — access paginated items, total pages, and page navigation.",1782241283045]