[{"data":1,"prerenderedAt":1552},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource":358,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource-surround":1547},[4,14,36,69,140,341],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,116,120,124,128,132,136],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,103],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106,"children":107,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[108,112],{"title":109,"path":110,"stem":111},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":113,"path":114,"stem":115},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":117,"path":118,"stem":119},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":121,"path":122,"stem":123},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":125,"path":126,"stem":127},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":129,"path":130,"stem":131},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":133,"path":134,"stem":135},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":137,"path":138,"stem":139},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":141,"path":142,"stem":143,"children":144,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[145,149,162,182,207,211,295,320,324],{"title":146,"path":147,"stem":148},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":150,"path":151,"stem":152,"children":153,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[154,158],{"title":155,"path":156,"stem":157},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":159,"path":160,"stem":161},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[167,171,175,178],{"title":168,"path":169,"stem":170},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":172,"path":173,"stem":174},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":176,"stem":177},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":179,"path":180,"stem":181},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":183,"path":184,"stem":185,"children":186,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[187,191,195,199,203],{"title":188,"path":189,"stem":190},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":192,"path":193,"stem":194},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":196,"path":197,"stem":198},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":200,"path":201,"stem":202},"\u003CCwaImage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-image","5.nuxt-module\u002F4.cwa-components\u002F4.cwa-image",{"title":204,"path":205,"stem":206},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":208,"path":209,"stem":210},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[216,224,261,278],{"title":217,"path":218,"stem":219,"children":220,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[221],{"title":217,"path":222,"stem":223},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":225,"path":226,"stem":227,"children":228,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[229,233,237,241,245,249,253,257],{"title":230,"path":231,"stem":232},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":234,"path":235,"stem":236},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":238,"path":239,"stem":240},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":242,"path":243,"stem":244},"Image Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-image-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-image-resource",{"title":246,"path":247,"stem":248},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":250,"path":251,"stem":252},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":254,"path":255,"stem":256},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":258,"path":259,"stem":260},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":262,"path":263,"stem":264,"children":265,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[266,270,274],{"title":267,"path":268,"stem":269},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":271,"path":272,"stem":273},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":275,"path":276,"stem":277},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":279,"path":280,"stem":281,"children":282,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[283,287,291],{"title":284,"path":285,"stem":286},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":288,"path":289,"stem":290},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":292,"path":293,"stem":294},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":296,"path":297,"stem":298,"children":299,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[300,304,308,312,316],{"title":301,"path":302,"stem":303},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":305,"path":306,"stem":307},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":309,"path":310,"stem":311},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":313,"path":314,"stem":315},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":317,"path":318,"stem":319},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":321,"path":322,"stem":323},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":325,"path":326,"stem":327,"children":328,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[329,333,337],{"title":330,"path":331,"stem":332},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":334,"path":335,"stem":336},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":338,"path":339,"stem":340},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":342,"path":343,"stem":344,"children":345,"page":35},"Deployment","\u002Fdeployment","6.deployment",[346,350,354],{"title":347,"path":348,"stem":349},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":351,"path":352,"stem":353},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":355,"path":356,"stem":357},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":359,"title":360,"badge":361,"body":364,"description":1540,"extension":1541,"links":1542,"meta":1543,"navigation":1544,"path":235,"seo":1545,"stem":236,"__hash__":1546},"docs\u002F5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource.md","useCwaResource",{"label":362,"color":363},"Draft","amber",{"type":365,"value":366,"toc":1533},"minimark",[367,379,583,588,721,739,743,779,875,891,902,910,929,941,945,1206,1220,1224,1235,1306,1312,1316,1529],[368,369,370,371,378],"p",{},"Low-level composable that fetches resource data and wires into the admin manager. For display components, prefer ",[372,373,374],"a",{"href":231},[375,376,377],"code",{},"useCwaComponent"," — it wraps this composable and adds a plugin system for collections, images, and custom behaviour.",[380,381,386],"pre",{"className":382,"code":383,"language":384,"meta":385,"style":385},"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","",[375,387,388,422,446,467,474,506,511,555,569,574],{"__ignoreMap":385},[389,390,393,397,401,405,408,411,415,419],"span",{"class":391,"line":392},"line",1,[389,394,396],{"class":395},"sm4w6","import",[389,398,400],{"class":399},"sOvfz"," {",[389,402,404],{"class":403},"sPB8G"," toRef",[389,406,407],{"class":399}," }",[389,409,410],{"class":395}," from",[389,412,414],{"class":413},"seSrl"," '",[389,416,418],{"class":417},"sLL54","vue",[389,420,421],{"class":413},"'\n",[389,423,425,427,430,432,435,437,439,441,444],{"class":391,"line":424},2,[389,426,396],{"class":395},[389,428,429],{"class":395}," type",[389,431,400],{"class":399},[389,433,434],{"class":403}," IriProp",[389,436,407],{"class":399},[389,438,410],{"class":395},[389,440,414],{"class":413},[389,442,443],{"class":417},"#cwa\u002Fcomposables\u002Fcwa-resource",[389,445,421],{"class":413},[389,447,449,451,453,456,458,460,462,465],{"class":391,"line":448},3,[389,450,396],{"class":395},[389,452,400],{"class":399},[389,454,455],{"class":403}," useCwaResource",[389,457,407],{"class":399},[389,459,410],{"class":395},[389,461,414],{"class":413},[389,463,464],{"class":417},"#imports",[389,466,421],{"class":413},[389,468,470],{"class":391,"line":469},4,[389,471,473],{"emptyLinePlaceholder":472},true,"\n",[389,475,477,481,485,489,493,496,500,503],{"class":391,"line":476},5,[389,478,480],{"class":479},"swB56","const",[389,482,484],{"class":483},"sc2zw"," props",[389,486,488],{"class":487},"sVlFx"," =",[389,490,492],{"class":491},"sKpYG"," defineProps",[389,494,495],{"class":399},"\u003C",[389,497,499],{"class":498},"sRCss","IriProp",[389,501,502],{"class":399},">",[389,504,505],{"class":403},"()\n",[389,507,509],{"class":391,"line":508},6,[389,510,473],{"emptyLinePlaceholder":472},[389,512,514,516,518,521,524,527,529,531,533,536,539,542,544,546,549,552],{"class":391,"line":513},7,[389,515,480],{"class":479},[389,517,400],{"class":399},[389,519,520],{"class":483}," getResource",[389,522,523],{"class":399},",",[389,525,526],{"class":483}," exposeMeta",[389,528,407],{"class":399},[389,530,488],{"class":487},[389,532,455],{"class":491},[389,534,535],{"class":403},"(",[389,537,538],{"class":491},"toRef",[389,540,541],{"class":403},"(props",[389,543,523],{"class":399},[389,545,414],{"class":413},[389,547,548],{"class":417},"iri",[389,550,551],{"class":413},"'",[389,553,554],{"class":403},"))\n",[389,556,558,560,563,565,567],{"class":391,"line":557},8,[389,559,480],{"class":479},[389,561,562],{"class":483}," resource",[389,564,488],{"class":487},[389,566,520],{"class":491},[389,568,505],{"class":403},[389,570,572],{"class":391,"line":571},9,[389,573,473],{"emptyLinePlaceholder":472},[389,575,577,580],{"class":391,"line":576},10,[389,578,579],{"class":491},"defineExpose",[389,581,582],{"class":403},"(exposeMeta)\n",[584,585,587],"h2",{"id":586},"signature","Signature",[380,589,591],{"className":382,"code":590,"language":384,"meta":385,"style":385},"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    autoClass?: boolean      \u002F\u002F default true — auto-applies uiClassNames to the root element\n  }\n)\n",[375,592,593,600,615,626,636,647,664,669,683,696,709,715],{"__ignoreMap":385},[389,594,595,597],{"class":391,"line":392},[389,596,360],{"class":491},[389,598,599],{"class":403},"(\n",[389,601,602,605,607,610,612],{"class":391,"line":424},[389,603,604],{"class":403},"  iri: Ref",[389,606,495],{"class":487},[389,608,609],{"class":403},"string",[389,611,502],{"class":487},[389,613,614],{"class":399},",\n",[389,616,617,620,623],{"class":391,"line":448},[389,618,619],{"class":403},"  options",[389,621,622],{"class":487},"?:",[389,624,625],{"class":399}," {\n",[389,627,628,631,634],{"class":391,"line":469},[389,629,630],{"class":403},"    styles?",[389,632,633],{"class":399},":",[389,635,625],{"class":399},[389,637,638,642,644],{"class":391,"line":476},[389,639,641],{"class":640},"sDHlG","      multiple",[389,643,633],{"class":399},[389,645,646],{"class":403}," boolean\n",[389,648,649,652,654,656,658,661],{"class":391,"line":508},[389,650,651],{"class":403},"      classes: Record",[389,653,495],{"class":487},[389,655,609],{"class":403},[389,657,523],{"class":399},[389,659,660],{"class":403}," string",[389,662,663],{"class":640},"[]>\n",[389,665,666],{"class":391,"line":513},[389,667,668],{"class":640},"    }\n",[389,670,671,674,676,679],{"class":391,"line":557},[389,672,673],{"class":640},"    name?",[389,675,633],{"class":399},[389,677,678],{"class":403}," string            ",[389,680,682],{"class":681},"sTBSN","\u002F\u002F for ui\u002F variant files — must match filename without .vue\n",[389,684,685,688,690,693],{"class":391,"line":571},[389,686,687],{"class":403},"    disableManager",[389,689,622],{"class":487},[389,691,692],{"class":403}," boolean ",[389,694,695],{"class":681},"\u002F\u002F skip admin manager integration\n",[389,697,698,701,703,706],{"class":391,"line":576},[389,699,700],{"class":403},"    autoClass",[389,702,622],{"class":487},[389,704,705],{"class":403}," boolean      ",[389,707,708],{"class":681},"\u002F\u002F default true — auto-applies uiClassNames to the root element\n",[389,710,712],{"class":391,"line":711},11,[389,713,714],{"class":399},"  }\n",[389,716,718],{"class":391,"line":717},12,[389,719,720],{"class":403},")\n",[368,722,723,727,728,731,732,735,736,738],{},[724,725,726],"strong",{},"First argument"," is a ",[375,729,730],{},"Ref\u003Cstring>"," — use ",[375,733,734],{},"toRef(props, 'iri')"," to convert the ",[375,737,548],{}," prop to a ref.",[584,740,742],{"id":741},"return-values","Return values",[380,744,746],{"className":382,"code":745,"language":384,"meta":385,"style":385},"const { getResource, exposeMeta, $cwa, getCurrentStyleName } = useCwaResource(iriRef)\n",[375,747,748],{"__ignoreMap":385},[389,749,750,752,754,756,758,760,762,765,767,770,772,774,776],{"class":391,"line":392},[389,751,480],{"class":479},[389,753,400],{"class":399},[389,755,520],{"class":483},[389,757,523],{"class":399},[389,759,526],{"class":483},[389,761,523],{"class":399},[389,763,764],{"class":483}," $cwa",[389,766,523],{"class":399},[389,768,769],{"class":483}," getCurrentStyleName",[389,771,407],{"class":399},[389,773,488],{"class":487},[389,775,455],{"class":491},[389,777,778],{"class":403},"(iriRef)\n",[780,781,782,798],"table",{},[783,784,785],"thead",{},[786,787,788,792,795],"tr",{},[789,790,791],"th",{},"Return",[789,793,794],{},"Type",[789,796,797],{},"Purpose",[799,800,801,817,832,845,860],"tbody",{},[786,802,803,809,814],{},[804,805,806],"td",{},[375,807,808],{},"getResource",[804,810,811],{},[375,812,813],{},"() => Ref\u003CResource | null | undefined>",[804,815,816],{},"Call it once in setup to get the resource ref",[786,818,819,824,827],{},[804,820,821],{},[375,822,823],{},"exposeMeta",[804,825,826],{},"object",[804,828,829,830],{},"Pass directly to ",[375,831,579],{},[786,833,834,839,842],{},[804,835,836],{},[375,837,838],{},"$cwa",[804,840,841],{},"CwaComposable",[804,843,844],{},"Access to auth, resources, UI state",[786,846,847,852,857],{},[804,848,849],{},[375,850,851],{},"getCurrentStyleName",[804,853,854],{},[375,855,856],{},"(data) => string | undefined",[804,858,859],{},"Read the currently selected style name",[786,861,862,867,872],{},[804,863,864],{},[375,865,866],{},"uiClassNames",[804,868,869],{},[375,870,871],{},"ComputedRef\u003Cstring[] | undefined>",[804,873,874],{},"The active style classes — auto-applied to the root element by default",[368,876,877,882,883,886,887,890],{},[724,878,879],{},[375,880,881],{},"const resource = getResource()"," — call ",[375,884,885],{},"getResource()"," once to get the reactive resource ref. Never call it in a computed or template — call it once in ",[375,888,889],{},"setup()",".",[368,892,893,898,899,890],{},[724,894,895],{},[375,896,897],{},"resource.value?.data?.title"," — access your PHP entity fields on ",[375,900,901],{},".data",[368,903,904],{},[724,905,906,909],{},[375,907,908],{},"resource.value"," states:",[911,912,913,920,926],"ul",{},[914,915,916,919],"li",{},[375,917,918],{},"undefined"," — loading (show skeleton)",[914,921,922,925],{},[375,923,924],{},"null"," — not found",[914,927,928],{},"object — data available",[368,930,931,936,937,940],{},[724,932,933],{},[375,934,935],{},"defineExpose(exposeMeta)"," is ",[724,938,939],{},"required"," — without it the admin manager cannot find and select this component.",[584,942,944],{"id":943},"style-variants","Style Variants",[380,946,948],{"className":382,"code":947,"language":384,"meta":385,"style":385},"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",[375,949,950,993,1002,1015,1024,1042,1068,1092,1096,1100,1107,1119,1141,1177,1199],{"__ignoreMap":385},[389,951,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,989,991],{"class":391,"line":392},[389,953,480],{"class":479},[389,955,400],{"class":399},[389,957,520],{"class":483},[389,959,523],{"class":399},[389,961,526],{"class":483},[389,963,523],{"class":399},[389,965,769],{"class":483},[389,967,407],{"class":399},[389,969,488],{"class":487},[389,971,455],{"class":491},[389,973,535],{"class":403},[389,975,538],{"class":491},[389,977,541],{"class":403},[389,979,523],{"class":399},[389,981,414],{"class":413},[389,983,548],{"class":417},[389,985,551],{"class":413},[389,987,988],{"class":403},")",[389,990,523],{"class":399},[389,992,625],{"class":399},[389,994,995,998,1000],{"class":391,"line":424},[389,996,997],{"class":640},"  styles",[389,999,633],{"class":399},[389,1001,625],{"class":399},[389,1003,1004,1007,1009,1013],{"class":391,"line":448},[389,1005,1006],{"class":640},"    multiple",[389,1008,633],{"class":399},[389,1010,1012],{"class":1011},"swWMF"," false",[389,1014,614],{"class":399},[389,1016,1017,1020,1022],{"class":391,"line":469},[389,1018,1019],{"class":640},"    classes",[389,1021,633],{"class":399},[389,1023,625],{"class":399},[389,1025,1026,1029,1033,1035,1037,1040],{"class":391,"line":476},[389,1027,1028],{"class":413},"      '",[389,1030,1032],{"class":1031},"syBAL","Default",[389,1034,551],{"class":413},[389,1036,633],{"class":399},[389,1038,1039],{"class":403}," []",[389,1041,614],{"class":399},[389,1043,1044,1046,1049,1051,1053,1056,1058,1061,1063,1066],{"class":391,"line":508},[389,1045,1028],{"class":413},[389,1047,1048],{"class":1031},"Filled",[389,1050,551],{"class":413},[389,1052,633],{"class":399},[389,1054,1055],{"class":403}," [",[389,1057,551],{"class":413},[389,1059,1060],{"class":417},"bg-blue-600 text-white px-6 py-2 rounded-md",[389,1062,551],{"class":413},[389,1064,1065],{"class":403},"]",[389,1067,614],{"class":399},[389,1069,1070,1072,1075,1077,1079,1081,1083,1086,1088,1090],{"class":391,"line":513},[389,1071,1028],{"class":413},[389,1073,1074],{"class":1031},"Outlined",[389,1076,551],{"class":413},[389,1078,633],{"class":399},[389,1080,1055],{"class":403},[389,1082,551],{"class":413},[389,1084,1085],{"class":417},"border border-blue-600 text-blue-600 px-6 py-2 rounded-md",[389,1087,551],{"class":413},[389,1089,1065],{"class":403},[389,1091,614],{"class":399},[389,1093,1094],{"class":391,"line":557},[389,1095,668],{"class":399},[389,1097,1098],{"class":391,"line":571},[389,1099,714],{"class":399},[389,1101,1102,1105],{"class":391,"line":576},[389,1103,1104],{"class":399},"}",[389,1106,720],{"class":403},[389,1108,1109,1111,1113,1115,1117],{"class":391,"line":711},[389,1110,480],{"class":479},[389,1112,562],{"class":483},[389,1114,488],{"class":487},[389,1116,520],{"class":491},[389,1118,505],{"class":403},[389,1120,1121,1123,1126,1128,1131,1133,1136,1139],{"class":391,"line":717},[389,1122,480],{"class":479},[389,1124,1125],{"class":483}," currentStyleName",[389,1127,488],{"class":487},[389,1129,1130],{"class":491}," computed",[389,1132,535],{"class":403},[389,1134,1135],{"class":399},"()",[389,1137,1138],{"class":479}," =>",[389,1140,625],{"class":399},[389,1142,1144,1147,1150,1153,1156,1158,1161,1164,1167,1170,1173],{"class":391,"line":1143},13,[389,1145,1146],{"class":395},"  if",[389,1148,1149],{"class":640}," (",[389,1151,1152],{"class":487},"!",[389,1154,1155],{"class":403},"resource",[389,1157,890],{"class":399},[389,1159,1160],{"class":403},"value",[389,1162,1163],{"class":399},"?.",[389,1165,1166],{"class":403},"data",[389,1168,1169],{"class":640},") ",[389,1171,1172],{"class":395},"return",[389,1174,1176],{"class":1175},"sBtbT"," undefined\n",[389,1178,1180,1183,1185,1187,1189,1191,1193,1195,1197],{"class":391,"line":1179},14,[389,1181,1182],{"class":395},"  return",[389,1184,769],{"class":491},[389,1186,535],{"class":640},[389,1188,1155],{"class":403},[389,1190,890],{"class":399},[389,1192,1160],{"class":403},[389,1194,890],{"class":399},[389,1196,1166],{"class":403},[389,1198,720],{"class":640},[389,1200,1202,1204],{"class":391,"line":1201},15,[389,1203,1104],{"class":399},[389,1205,720],{"class":403},[368,1207,1208,1209,1212,1213,1216,1217,1219],{},"The style names appear as options in the admin manager. The selected classes are automatically applied to the component's root element — no ",[375,1210,1211],{},":class"," binding needed. To apply them to an inner element instead, pass ",[375,1214,1215],{},"autoClass: false"," and bind ",[375,1218,866],{}," manually.",[584,1221,1223],{"id":1222},"ui-variant-files","UI Variant Files",[368,1225,1226,1227,1230,1231,1234],{},"For a ",[375,1228,1229],{},"ui\u002F"," directory alternative template, the ",[375,1232,1233],{},"name"," option sets the label shown in the admin \"UI\" selector. It does not need to match the filename — it's purely cosmetic. Without it, the selector falls back to the raw component name.",[380,1236,1238],{"className":382,"code":1237,"language":384,"meta":385,"style":385},"\u002F\u002F app\u002Fcwa\u002Fcomponents\u002FNavigationLink\u002Fui\u002FYouTube.vue\nconst { getResource, exposeMeta } = useCwaResource(toRef(props, 'iri'), {\n  name: 'YouTube'   \u002F\u002F optional display label for the admin UI selector\n})\n",[375,1239,1240,1245,1283,1300],{"__ignoreMap":385},[389,1241,1242],{"class":391,"line":392},[389,1243,1244],{"class":681},"\u002F\u002F app\u002Fcwa\u002Fcomponents\u002FNavigationLink\u002Fui\u002FYouTube.vue\n",[389,1246,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281],{"class":391,"line":424},[389,1248,480],{"class":479},[389,1250,400],{"class":399},[389,1252,520],{"class":483},[389,1254,523],{"class":399},[389,1256,526],{"class":483},[389,1258,407],{"class":399},[389,1260,488],{"class":487},[389,1262,455],{"class":491},[389,1264,535],{"class":403},[389,1266,538],{"class":491},[389,1268,541],{"class":403},[389,1270,523],{"class":399},[389,1272,414],{"class":413},[389,1274,548],{"class":417},[389,1276,551],{"class":413},[389,1278,988],{"class":403},[389,1280,523],{"class":399},[389,1282,625],{"class":399},[389,1284,1285,1288,1290,1292,1295,1297],{"class":391,"line":448},[389,1286,1287],{"class":640},"  name",[389,1289,633],{"class":399},[389,1291,414],{"class":413},[389,1293,1294],{"class":417},"YouTube",[389,1296,551],{"class":413},[389,1298,1299],{"class":681},"   \u002F\u002F optional display label for the admin UI selector\n",[389,1301,1302,1304],{"class":391,"line":469},[389,1303,1104],{"class":399},[389,1305,720],{"class":403},[368,1307,1308,1309,1311],{},"See ",[372,1310,32],{"href":33}," for the full pattern.",[584,1313,1315],{"id":1314},"complete-example","Complete Example",[380,1317,1320],{"className":1318,"code":1319,"language":418,"meta":385,"style":385},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Ctemplate>\n  \u003Ch1>{{ resource?.data?.title }}\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",[375,1321,1322,1333,1353,1361,1365,1391,1409,1429,1447,1451,1469,1503,1515,1521],{"__ignoreMap":385},[389,1323,1324,1326,1330],{"class":391,"line":392},[389,1325,495],{"class":399},[389,1327,1329],{"class":1328},"s-h7I","template",[389,1331,1332],{"class":399},">\n",[389,1334,1335,1338,1341,1343,1346,1349,1351],{"class":391,"line":424},[389,1336,1337],{"class":399},"  \u003C",[389,1339,1340],{"class":1328},"h1",[389,1342,502],{"class":399},[389,1344,1345],{"class":403},"{{ resource?.data?.title }}",[389,1347,1348],{"class":399},"\u003C\u002F",[389,1350,1340],{"class":1328},[389,1352,1332],{"class":399},[389,1354,1355,1357,1359],{"class":391,"line":448},[389,1356,1348],{"class":399},[389,1358,1329],{"class":1328},[389,1360,1332],{"class":399},[389,1362,1363],{"class":391,"line":469},[389,1364,473],{"emptyLinePlaceholder":472},[389,1366,1367,1369,1372,1376,1379,1382,1385,1387,1389],{"class":391,"line":476},[389,1368,495],{"class":399},[389,1370,1371],{"class":1328},"script",[389,1373,1375],{"class":1374},"sGtlX"," setup",[389,1377,1378],{"class":1374}," lang",[389,1380,1381],{"class":399},"=",[389,1383,1384],{"class":413},"\"",[389,1386,384],{"class":417},[389,1388,1384],{"class":413},[389,1390,1332],{"class":399},[389,1392,1393,1395,1397,1399,1401,1403,1405,1407],{"class":391,"line":508},[389,1394,396],{"class":395},[389,1396,400],{"class":399},[389,1398,404],{"class":403},[389,1400,407],{"class":399},[389,1402,410],{"class":395},[389,1404,414],{"class":413},[389,1406,418],{"class":417},[389,1408,421],{"class":413},[389,1410,1411,1413,1415,1417,1419,1421,1423,1425,1427],{"class":391,"line":513},[389,1412,396],{"class":395},[389,1414,429],{"class":395},[389,1416,400],{"class":399},[389,1418,434],{"class":403},[389,1420,407],{"class":399},[389,1422,410],{"class":395},[389,1424,414],{"class":413},[389,1426,443],{"class":417},[389,1428,421],{"class":413},[389,1430,1431,1433,1435,1437,1439,1441,1443,1445],{"class":391,"line":557},[389,1432,396],{"class":395},[389,1434,400],{"class":399},[389,1436,455],{"class":403},[389,1438,407],{"class":399},[389,1440,410],{"class":395},[389,1442,414],{"class":413},[389,1444,464],{"class":417},[389,1446,421],{"class":413},[389,1448,1449],{"class":391,"line":571},[389,1450,473],{"emptyLinePlaceholder":472},[389,1452,1453,1455,1457,1459,1461,1463,1465,1467],{"class":391,"line":576},[389,1454,480],{"class":479},[389,1456,484],{"class":483},[389,1458,488],{"class":487},[389,1460,492],{"class":491},[389,1462,495],{"class":399},[389,1464,499],{"class":498},[389,1466,502],{"class":399},[389,1468,505],{"class":403},[389,1470,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501],{"class":391,"line":711},[389,1472,480],{"class":479},[389,1474,400],{"class":399},[389,1476,520],{"class":483},[389,1478,523],{"class":399},[389,1480,526],{"class":483},[389,1482,407],{"class":399},[389,1484,488],{"class":487},[389,1486,455],{"class":491},[389,1488,535],{"class":403},[389,1490,538],{"class":491},[389,1492,541],{"class":403},[389,1494,523],{"class":399},[389,1496,414],{"class":413},[389,1498,548],{"class":417},[389,1500,551],{"class":413},[389,1502,554],{"class":403},[389,1504,1505,1507,1509,1511,1513],{"class":391,"line":717},[389,1506,480],{"class":479},[389,1508,562],{"class":483},[389,1510,488],{"class":487},[389,1512,520],{"class":491},[389,1514,505],{"class":403},[389,1516,1517,1519],{"class":391,"line":1143},[389,1518,579],{"class":491},[389,1520,582],{"class":403},[389,1522,1523,1525,1527],{"class":391,"line":1179},[389,1524,1348],{"class":399},[389,1526,1371],{"class":1328},[389,1528,1332],{"class":399},[1530,1531,1532],"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":385,"searchDepth":424,"depth":424,"links":1534},[1535,1536,1537,1538,1539],{"id":586,"depth":424,"text":587},{"id":741,"depth":424,"text":742},{"id":943,"depth":424,"text":944},{"id":1222,"depth":424,"text":1223},{"id":1314,"depth":424,"text":1315},"Bind a display component to its API resource by IRI — fetch, subscribe, and expose to the admin manager.","md",null,{},{"title":234},{"title":360,"description":1540},"g8Twiiq6Y_smvYpm-HanRMs6hH5GEz6CxO8YuG5fGjg",[1548,1550],{"title":230,"path":231,"stem":232,"description":1549,"children":-1},"The recommended entry point for all CWA display components — fetch resource data, expose to the admin manager, and compose plugins for collections, images, or custom behaviour.",{"title":238,"path":239,"stem":240,"description":1551,"children":-1},"Composable for Collection-backed components — access paginated items, total pages, and page navigation.",1782512898565]