[{"data":1,"prerenderedAt":2302},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component":358,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component-surround":2297},[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":2290,"extension":2291,"links":2292,"meta":2293,"navigation":2294,"path":231,"seo":2295,"stem":232,"__hash__":2296},"docs\u002F5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component.md","useCwaComponent",{"label":362,"color":363},"Draft","amber",{"type":365,"value":366,"toc":2276},"minimark",[367,376,458,463,618,635,643,654,658,701,813,825,829,1042,1048,1067,1070,1073,1079,1086,1093,1249,1256,1262,1269,1397,1400,1452,1457,1461,1470,1539,1541,1545,1852,1859,1863,1869,1937,2003,2005,2009,2016,2272],[368,369,370,371,375],"p",{},"The recommended composable for all CWA display components. Wraps ",[372,373,374],"code",{},"useCwaResource"," and adds a typed plugin system so collection, image, and custom behaviours can be composed together without nesting.",[377,378,383],"pre",{"className":379,"code":380,"language":381,"meta":382,"style":382},"language-ts shiki shiki-themes github-light github-dark material-theme-palenight","const props = defineProps\u003CIriProp>()\nconst { resource, exposeMeta } = useCwaComponent(props)\ndefineExpose(exposeMeta)\n","ts","",[372,384,385,421,449],{"__ignoreMap":382},[386,387,390,394,398,402,406,410,414,417],"span",{"class":388,"line":389},"line",1,[386,391,393],{"class":392},"swB56","const",[386,395,397],{"class":396},"sc2zw"," props",[386,399,401],{"class":400},"sVlFx"," =",[386,403,405],{"class":404},"sKpYG"," defineProps",[386,407,409],{"class":408},"sOvfz","\u003C",[386,411,413],{"class":412},"sRCss","IriProp",[386,415,416],{"class":408},">",[386,418,420],{"class":419},"sPB8G","()\n",[386,422,424,426,429,432,435,438,441,443,446],{"class":388,"line":423},2,[386,425,393],{"class":392},[386,427,428],{"class":408}," {",[386,430,431],{"class":396}," resource",[386,433,434],{"class":408},",",[386,436,437],{"class":396}," exposeMeta",[386,439,440],{"class":408}," }",[386,442,401],{"class":400},[386,444,445],{"class":404}," useCwaComponent",[386,447,448],{"class":419},"(props)\n",[386,450,452,455],{"class":388,"line":451},3,[386,453,454],{"class":404},"defineExpose",[386,456,457],{"class":419},"(exposeMeta)\n",[459,460,462],"h2",{"id":461},"signature","Signature",[377,464,466],{"className":379,"code":465,"language":381,"meta":382,"style":382},"useCwaComponent(\n  props: IriProp,\n  plugins?: CwaResourcePlugin[],\n  ops?: {\n    name?: string\n    styles?: {\n      multiple?: boolean\n      classes: Record\u003Cstring, string[]>\n    }\n    manager?: {\n      disabled?: boolean\n    }\n    autoClass?: boolean   \u002F\u002F default true — auto-applies uiClassNames to the root element\n  }\n)\n",[372,467,468,475,483,496,507,519,529,540,560,566,576,586,591,606,612],{"__ignoreMap":382},[386,469,470,472],{"class":388,"line":389},[386,471,360],{"class":404},[386,473,474],{"class":419},"(\n",[386,476,477,480],{"class":388,"line":423},[386,478,479],{"class":419},"  props: IriProp",[386,481,482],{"class":408},",\n",[386,484,485,488,491,494],{"class":388,"line":451},[386,486,487],{"class":419},"  plugins",[386,489,490],{"class":400},"?:",[386,492,493],{"class":419}," CwaResourcePlugin[]",[386,495,482],{"class":408},[386,497,499,502,504],{"class":388,"line":498},4,[386,500,501],{"class":419},"  ops",[386,503,490],{"class":400},[386,505,506],{"class":408}," {\n",[386,508,510,513,516],{"class":388,"line":509},5,[386,511,512],{"class":419},"    name?",[386,514,515],{"class":408},":",[386,517,518],{"class":419}," string\n",[386,520,522,525,527],{"class":388,"line":521},6,[386,523,524],{"class":419},"    styles",[386,526,490],{"class":400},[386,528,506],{"class":408},[386,530,532,535,537],{"class":388,"line":531},7,[386,533,534],{"class":419},"      multiple?",[386,536,515],{"class":408},[386,538,539],{"class":419}," boolean\n",[386,541,543,546,548,551,553,556],{"class":388,"line":542},8,[386,544,545],{"class":419},"      classes: Record",[386,547,409],{"class":400},[386,549,550],{"class":419},"string",[386,552,434],{"class":408},[386,554,555],{"class":419}," string",[386,557,559],{"class":558},"sDHlG","[]>\n",[386,561,563],{"class":388,"line":562},9,[386,564,565],{"class":558},"    }\n",[386,567,569,572,574],{"class":388,"line":568},10,[386,570,571],{"class":558},"    manager?",[386,573,515],{"class":408},[386,575,506],{"class":408},[386,577,579,582,584],{"class":388,"line":578},11,[386,580,581],{"class":419},"      disabled?",[386,583,515],{"class":408},[386,585,539],{"class":419},[386,587,589],{"class":388,"line":588},12,[386,590,565],{"class":408},[386,592,594,597,599,602],{"class":388,"line":593},13,[386,595,596],{"class":419},"    autoClass",[386,598,490],{"class":400},[386,600,601],{"class":419}," boolean   ",[386,603,605],{"class":604},"sTBSN","\u002F\u002F default true — auto-applies uiClassNames to the root element\n",[386,607,609],{"class":388,"line":608},14,[386,610,611],{"class":408},"  }\n",[386,613,615],{"class":388,"line":614},15,[386,616,617],{"class":419},")\n",[368,619,620,626,627,630,631,634],{},[621,622,623],"strong",{},[372,624,625],{},"props"," — pass the raw ",[372,628,629],{},"defineProps\u003CIriProp>()"," result directly (no ",[372,632,633],{},"toRef"," needed).",[368,636,637,642],{},[621,638,639],{},[372,640,641],{},"plugins"," — optional array of plugin factory results (see below).",[368,644,645,650,651,653],{},[621,646,647],{},[372,648,649],{},"ops"," — same options as ",[372,652,374],{},": style variants, UI variant name, manager opt-out.",[459,655,657],{"id":656},"return-values","Return values",[377,659,661],{"className":379,"code":660,"language":381,"meta":382,"style":382},"const { resource, exposeMeta, $cwa, getCurrentStyleName, ...pluginReturns } = useCwaComponent(props)\n",[372,662,663],{"__ignoreMap":382},[386,664,665,667,669,671,673,675,677,680,682,685,687,690,693,695,697,699],{"class":388,"line":389},[386,666,393],{"class":392},[386,668,428],{"class":408},[386,670,431],{"class":396},[386,672,434],{"class":408},[386,674,437],{"class":396},[386,676,434],{"class":408},[386,678,679],{"class":396}," $cwa",[386,681,434],{"class":408},[386,683,684],{"class":396}," getCurrentStyleName",[386,686,434],{"class":408},[386,688,689],{"class":400}," ...",[386,691,692],{"class":396},"pluginReturns",[386,694,440],{"class":408},[386,696,401],{"class":400},[386,698,445],{"class":404},[386,700,448],{"class":419},[702,703,704,720],"table",{},[705,706,707],"thead",{},[708,709,710,714,717],"tr",{},[711,712,713],"th",{},"Return",[711,715,716],{},"Type",[711,718,719],{},"Purpose",[721,722,723,742,757,770,785,800],"tbody",{},[708,724,725,731,736],{},[726,727,728],"td",{},[372,729,730],{},"resource",[726,732,733],{},[372,734,735],{},"ComputedRef\u003CResource | null | undefined>",[726,737,738,739],{},"Reactive resource ref — access data on ",[372,740,741],{},".value?.data",[708,743,744,749,752],{},[726,745,746],{},[372,747,748],{},"exposeMeta",[726,750,751],{},"object",[726,753,754,755],{},"Pass directly to ",[372,756,454],{},[708,758,759,764,767],{},[726,760,761],{},[372,762,763],{},"$cwa",[726,765,766],{},"CwaComposable",[726,768,769],{},"Auth, resources, UI state",[708,771,772,777,782],{},[726,773,774],{},[372,775,776],{},"getCurrentStyleName",[726,778,779],{},[372,780,781],{},"(data) => string | undefined",[726,783,784],{},"Read the currently selected style name",[708,786,787,792,797],{},[726,788,789],{},[372,790,791],{},"uiClassNames",[726,793,794],{},[372,795,796],{},"ComputedRef\u003Cstring[] | undefined>",[726,798,799],{},"The active style classes — auto-applied to the root element by default",[708,801,802,807,810],{},[726,803,804],{},[372,805,806],{},"...pluginReturns",[726,808,809],{},"merged object",[726,811,812],{},"All return values from provided plugins",[368,814,815,820,821,824],{},[621,816,817],{},[372,818,819],{},"defineExpose(exposeMeta)"," is ",[621,822,823],{},"required"," — without it the admin manager cannot select this component.",[459,826,828],{"id":827},"basic-component","Basic component",[377,830,834],{"className":831,"code":832,"language":833,"meta":382,"style":382},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Ctemplate>\n  \u003Cdiv v-if=\"resource?.data\">\n    \u003Ch2>{{ resource.data.title }}\u003C\u002Fh2>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport type { IriProp } from '#cwa\u002Fcomposables\u002Fcwa-resource'\nimport { useCwaComponent } from '#imports'\n\nconst props = defineProps\u003CIriProp>()\nconst { resource, exposeMeta } = useCwaComponent(props)\ndefineExpose(exposeMeta)\n\u003C\u002Fscript>\n","vue",[372,835,836,847,874,893,902,910,916,939,967,986,990,1008,1028,1034],{"__ignoreMap":382},[386,837,838,840,844],{"class":388,"line":389},[386,839,409],{"class":408},[386,841,843],{"class":842},"s-h7I","template",[386,845,846],{"class":408},">\n",[386,848,849,852,855,859,862,866,870,872],{"class":388,"line":423},[386,850,851],{"class":408},"  \u003C",[386,853,854],{"class":842},"div",[386,856,858],{"class":857},"sGtlX"," v-if",[386,860,861],{"class":408},"=",[386,863,865],{"class":864},"seSrl","\"",[386,867,869],{"class":868},"sLL54","resource?.data",[386,871,865],{"class":864},[386,873,846],{"class":408},[386,875,876,879,881,883,886,889,891],{"class":388,"line":451},[386,877,878],{"class":408},"    \u003C",[386,880,459],{"class":842},[386,882,416],{"class":408},[386,884,885],{"class":419},"{{ resource.data.title }}",[386,887,888],{"class":408},"\u003C\u002F",[386,890,459],{"class":842},[386,892,846],{"class":408},[386,894,895,898,900],{"class":388,"line":498},[386,896,897],{"class":408},"  \u003C\u002F",[386,899,854],{"class":842},[386,901,846],{"class":408},[386,903,904,906,908],{"class":388,"line":509},[386,905,888],{"class":408},[386,907,843],{"class":842},[386,909,846],{"class":408},[386,911,912],{"class":388,"line":521},[386,913,915],{"emptyLinePlaceholder":914},true,"\n",[386,917,918,920,923,926,929,931,933,935,937],{"class":388,"line":531},[386,919,409],{"class":408},[386,921,922],{"class":842},"script",[386,924,925],{"class":857}," setup",[386,927,928],{"class":857}," lang",[386,930,861],{"class":408},[386,932,865],{"class":864},[386,934,381],{"class":868},[386,936,865],{"class":864},[386,938,846],{"class":408},[386,940,941,945,948,950,953,955,958,961,964],{"class":388,"line":542},[386,942,944],{"class":943},"sm4w6","import",[386,946,947],{"class":943}," type",[386,949,428],{"class":408},[386,951,952],{"class":419}," IriProp",[386,954,440],{"class":408},[386,956,957],{"class":943}," from",[386,959,960],{"class":864}," '",[386,962,963],{"class":868},"#cwa\u002Fcomposables\u002Fcwa-resource",[386,965,966],{"class":864},"'\n",[386,968,969,971,973,975,977,979,981,984],{"class":388,"line":562},[386,970,944],{"class":943},[386,972,428],{"class":408},[386,974,445],{"class":419},[386,976,440],{"class":408},[386,978,957],{"class":943},[386,980,960],{"class":864},[386,982,983],{"class":868},"#imports",[386,985,966],{"class":864},[386,987,988],{"class":388,"line":568},[386,989,915],{"emptyLinePlaceholder":914},[386,991,992,994,996,998,1000,1002,1004,1006],{"class":388,"line":578},[386,993,393],{"class":392},[386,995,397],{"class":396},[386,997,401],{"class":400},[386,999,405],{"class":404},[386,1001,409],{"class":408},[386,1003,413],{"class":412},[386,1005,416],{"class":408},[386,1007,420],{"class":419},[386,1009,1010,1012,1014,1016,1018,1020,1022,1024,1026],{"class":388,"line":588},[386,1011,393],{"class":392},[386,1013,428],{"class":408},[386,1015,431],{"class":396},[386,1017,434],{"class":408},[386,1019,437],{"class":396},[386,1021,440],{"class":408},[386,1023,401],{"class":400},[386,1025,445],{"class":404},[386,1027,448],{"class":419},[386,1029,1030,1032],{"class":388,"line":593},[386,1031,454],{"class":404},[386,1033,457],{"class":419},[386,1035,1036,1038,1040],{"class":388,"line":608},[386,1037,888],{"class":408},[386,1039,922],{"class":842},[386,1041,846],{"class":408},[368,1043,1044,1047],{},[372,1045,1046],{},"resource.value"," states:",[1049,1050,1051,1058,1064],"ul",{},[1052,1053,1054,1057],"li",{},[372,1055,1056],{},"undefined"," — loading",[1052,1059,1060,1063],{},[372,1061,1062],{},"null"," — not found",[1052,1065,1066],{},"object — data available",[1068,1069],"hr",{},[459,1071,1072],{"id":641},"Plugins",[368,1074,1075,1076,1078],{},"Plugins extend ",[372,1077,360],{}," with additional state and methods. Pass an array of plugin factory results as the second argument. Return values from all plugins are merged and destructured alongside the base returns.",[1080,1081,1083],"h3",{"id":1082},"withcollection",[372,1084,1085],{},"withCollection()",[368,1087,1088,1089,1092],{},"For components backed by the built-in ",[372,1090,1091],{},"Collection"," API resource. Returns pagination state and navigation helpers.",[377,1094,1096],{"className":379,"code":1095,"language":381,"meta":382,"style":382},"import { useCwaComponent, withCollection } from '#imports'\n\nconst props = defineProps\u003CIriProp>()\nconst {\n  resource,\n  exposeMeta,\n  collectionItems,\n  isLoadingCollection,\n  totalPages,\n  pageModel,\n  goToNextPage,\n  goToPreviousPage,\n  changePage,\n  resolveResourceLink,\n} = useCwaComponent(props, [withCollection()])\ndefineExpose(exposeMeta)\n",[372,1097,1098,1121,1125,1143,1149,1156,1163,1170,1177,1184,1191,1198,1205,1212,1219,1242],{"__ignoreMap":382},[386,1099,1100,1102,1104,1106,1108,1111,1113,1115,1117,1119],{"class":388,"line":389},[386,1101,944],{"class":943},[386,1103,428],{"class":408},[386,1105,445],{"class":419},[386,1107,434],{"class":408},[386,1109,1110],{"class":419}," withCollection",[386,1112,440],{"class":408},[386,1114,957],{"class":943},[386,1116,960],{"class":864},[386,1118,983],{"class":868},[386,1120,966],{"class":864},[386,1122,1123],{"class":388,"line":423},[386,1124,915],{"emptyLinePlaceholder":914},[386,1126,1127,1129,1131,1133,1135,1137,1139,1141],{"class":388,"line":451},[386,1128,393],{"class":392},[386,1130,397],{"class":396},[386,1132,401],{"class":400},[386,1134,405],{"class":404},[386,1136,409],{"class":408},[386,1138,413],{"class":412},[386,1140,416],{"class":408},[386,1142,420],{"class":419},[386,1144,1145,1147],{"class":388,"line":498},[386,1146,393],{"class":392},[386,1148,506],{"class":408},[386,1150,1151,1154],{"class":388,"line":509},[386,1152,1153],{"class":396},"  resource",[386,1155,482],{"class":408},[386,1157,1158,1161],{"class":388,"line":521},[386,1159,1160],{"class":396},"  exposeMeta",[386,1162,482],{"class":408},[386,1164,1165,1168],{"class":388,"line":531},[386,1166,1167],{"class":396},"  collectionItems",[386,1169,482],{"class":408},[386,1171,1172,1175],{"class":388,"line":542},[386,1173,1174],{"class":396},"  isLoadingCollection",[386,1176,482],{"class":408},[386,1178,1179,1182],{"class":388,"line":562},[386,1180,1181],{"class":396},"  totalPages",[386,1183,482],{"class":408},[386,1185,1186,1189],{"class":388,"line":568},[386,1187,1188],{"class":396},"  pageModel",[386,1190,482],{"class":408},[386,1192,1193,1196],{"class":388,"line":578},[386,1194,1195],{"class":396},"  goToNextPage",[386,1197,482],{"class":408},[386,1199,1200,1203],{"class":388,"line":588},[386,1201,1202],{"class":396},"  goToPreviousPage",[386,1204,482],{"class":408},[386,1206,1207,1210],{"class":388,"line":593},[386,1208,1209],{"class":396},"  changePage",[386,1211,482],{"class":408},[386,1213,1214,1217],{"class":388,"line":608},[386,1215,1216],{"class":396},"  resolveResourceLink",[386,1218,482],{"class":408},[386,1220,1221,1224,1226,1228,1231,1233,1236,1239],{"class":388,"line":614},[386,1222,1223],{"class":408},"}",[386,1225,401],{"class":400},[386,1227,445],{"class":404},[386,1229,1230],{"class":419},"(props",[386,1232,434],{"class":408},[386,1234,1235],{"class":419}," [",[386,1237,1238],{"class":404},"withCollection",[386,1240,1241],{"class":419},"()])\n",[386,1243,1245,1247],{"class":388,"line":1244},16,[386,1246,454],{"class":404},[386,1248,457],{"class":419},[368,1250,1251,1252,1255],{},"Replaces the deprecated ",[372,1253,1254],{},"useCwaCollectionResource",".",[1080,1257,1259],{"id":1258},"withimageimageops",[372,1260,1261],{},"withImage(imageOps?)",[368,1263,1264,1265,1268],{},"For components backed by a PHP entity with ",[372,1266,1267],{},"#[Silverback\\Uploadable]",". Returns image URL, load state, and media object data.",[377,1270,1272],{"className":379,"code":1271,"language":381,"meta":382,"style":382},"import { useCwaComponent, withImage } from '#imports'\n\nconst props = defineProps\u003CIriProp>()\nconst {\n  resource,\n  exposeMeta,\n  contentUrl,\n  displayMedia,\n  handleLoad,\n  loaded,\n  mediaObjects,\n} = useCwaComponent(props, [withImage()])\ndefineExpose(exposeMeta)\n",[372,1273,1274,1297,1301,1319,1325,1331,1337,1344,1351,1358,1365,1372,1391],{"__ignoreMap":382},[386,1275,1276,1278,1280,1282,1284,1287,1289,1291,1293,1295],{"class":388,"line":389},[386,1277,944],{"class":943},[386,1279,428],{"class":408},[386,1281,445],{"class":419},[386,1283,434],{"class":408},[386,1285,1286],{"class":419}," withImage",[386,1288,440],{"class":408},[386,1290,957],{"class":943},[386,1292,960],{"class":864},[386,1294,983],{"class":868},[386,1296,966],{"class":864},[386,1298,1299],{"class":388,"line":423},[386,1300,915],{"emptyLinePlaceholder":914},[386,1302,1303,1305,1307,1309,1311,1313,1315,1317],{"class":388,"line":451},[386,1304,393],{"class":392},[386,1306,397],{"class":396},[386,1308,401],{"class":400},[386,1310,405],{"class":404},[386,1312,409],{"class":408},[386,1314,413],{"class":412},[386,1316,416],{"class":408},[386,1318,420],{"class":419},[386,1320,1321,1323],{"class":388,"line":498},[386,1322,393],{"class":392},[386,1324,506],{"class":408},[386,1326,1327,1329],{"class":388,"line":509},[386,1328,1153],{"class":396},[386,1330,482],{"class":408},[386,1332,1333,1335],{"class":388,"line":521},[386,1334,1160],{"class":396},[386,1336,482],{"class":408},[386,1338,1339,1342],{"class":388,"line":531},[386,1340,1341],{"class":396},"  contentUrl",[386,1343,482],{"class":408},[386,1345,1346,1349],{"class":388,"line":542},[386,1347,1348],{"class":396},"  displayMedia",[386,1350,482],{"class":408},[386,1352,1353,1356],{"class":388,"line":562},[386,1354,1355],{"class":396},"  handleLoad",[386,1357,482],{"class":408},[386,1359,1360,1363],{"class":388,"line":568},[386,1361,1362],{"class":396},"  loaded",[386,1364,482],{"class":408},[386,1366,1367,1370],{"class":388,"line":578},[386,1368,1369],{"class":396},"  mediaObjects",[386,1371,482],{"class":408},[386,1373,1374,1376,1378,1380,1382,1384,1386,1389],{"class":388,"line":588},[386,1375,1223],{"class":408},[386,1377,401],{"class":400},[386,1379,445],{"class":404},[386,1381,1230],{"class":419},[386,1383,434],{"class":408},[386,1385,1235],{"class":419},[386,1387,1388],{"class":404},"withImage",[386,1390,1241],{"class":419},[386,1392,1393,1395],{"class":388,"line":593},[386,1394,454],{"class":404},[386,1396,457],{"class":419},[368,1398,1399],{},"Options:",[702,1401,1402,1412],{},[705,1403,1404],{},[708,1405,1406,1409],{},[711,1407,1408],{},"Option",[711,1410,1411],{},"Description",[721,1413,1414,1424,1438],{},[708,1415,1416,1421],{},[726,1417,1418],{},[372,1419,1420],{},"imagineFilterName",[726,1422,1423],{},"Imagine filter to apply to the image URL",[708,1425,1426,1431],{},[726,1427,1428],{},[372,1429,1430],{},"imageRef",[726,1432,1433,1434,1437],{},"Template ref pointing to the ",[372,1435,1436],{},"\u003Cimg>"," element (auto-created if omitted)",[708,1439,1440,1445],{},[726,1441,1442],{},[372,1443,1444],{},"fileProp",[726,1446,1447,1448,1451],{},"Name of the PHP entity property holding the file (default: ",[372,1449,1450],{},"file",")",[368,1453,1251,1454,1255],{},[372,1455,1456],{},"useCwaImageResource",[1080,1458,1460],{"id":1459},"combining-plugins","Combining plugins",[368,1462,1463,1464,1466,1467,1469],{},"Multiple plugins can be composed in a single call — something the old ",[372,1465,1254],{}," \u002F ",[372,1468,1456],{}," pattern could not do:",[377,1471,1473],{"className":379,"code":1472,"language":381,"meta":382,"style":382},"const { resource, exposeMeta, collectionItems, contentUrl } = useCwaComponent(\n  props,\n  [withCollection(), withImage()]\n)\ndefineExpose(exposeMeta)\n",[372,1474,1475,1505,1512,1529,1533],{"__ignoreMap":382},[386,1476,1477,1479,1481,1483,1485,1487,1489,1492,1494,1497,1499,1501,1503],{"class":388,"line":389},[386,1478,393],{"class":392},[386,1480,428],{"class":408},[386,1482,431],{"class":396},[386,1484,434],{"class":408},[386,1486,437],{"class":396},[386,1488,434],{"class":408},[386,1490,1491],{"class":396}," collectionItems",[386,1493,434],{"class":408},[386,1495,1496],{"class":396}," contentUrl",[386,1498,440],{"class":408},[386,1500,401],{"class":400},[386,1502,445],{"class":404},[386,1504,474],{"class":419},[386,1506,1507,1510],{"class":388,"line":423},[386,1508,1509],{"class":419},"  props",[386,1511,482],{"class":408},[386,1513,1514,1517,1519,1522,1524,1526],{"class":388,"line":451},[386,1515,1516],{"class":419},"  [",[386,1518,1238],{"class":404},[386,1520,1521],{"class":419},"()",[386,1523,434],{"class":408},[386,1525,1286],{"class":404},[386,1527,1528],{"class":419},"()]\n",[386,1530,1531],{"class":388,"line":498},[386,1532,617],{"class":419},[386,1534,1535,1537],{"class":388,"line":509},[386,1536,454],{"class":404},[386,1538,457],{"class":419},[1068,1540],{},[459,1542,1544],{"id":1543},"style-variants","Style variants",[377,1546,1548],{"className":379,"code":1547,"language":381,"meta":382,"style":382},"const { resource, exposeMeta, getCurrentStyleName } = useCwaComponent(props, [], {\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'],\n    }\n  }\n})\n\nconst currentStyleName = computed(() => {\n  if (!resource.value?.data) return undefined\n  return getCurrentStyleName(resource.value.data)\n})\n",[372,1549,1550,1583,1592,1605,1614,1632,1693,1751,1755,1759,1765,1769,1791,1825,1846],{"__ignoreMap":382},[386,1551,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1579,1581],{"class":388,"line":389},[386,1553,393],{"class":392},[386,1555,428],{"class":408},[386,1557,431],{"class":396},[386,1559,434],{"class":408},[386,1561,437],{"class":396},[386,1563,434],{"class":408},[386,1565,684],{"class":396},[386,1567,440],{"class":408},[386,1569,401],{"class":400},[386,1571,445],{"class":404},[386,1573,1230],{"class":419},[386,1575,434],{"class":408},[386,1577,1578],{"class":419}," []",[386,1580,434],{"class":408},[386,1582,506],{"class":408},[386,1584,1585,1588,1590],{"class":388,"line":423},[386,1586,1587],{"class":558},"  styles",[386,1589,515],{"class":408},[386,1591,506],{"class":408},[386,1593,1594,1597,1599,1603],{"class":388,"line":451},[386,1595,1596],{"class":558},"    multiple",[386,1598,515],{"class":408},[386,1600,1602],{"class":1601},"swWMF"," false",[386,1604,482],{"class":408},[386,1606,1607,1610,1612],{"class":388,"line":498},[386,1608,1609],{"class":558},"    classes",[386,1611,515],{"class":408},[386,1613,506],{"class":408},[386,1615,1616,1619,1623,1626,1628,1630],{"class":388,"line":509},[386,1617,1618],{"class":864},"      '",[386,1620,1622],{"class":1621},"syBAL","Default",[386,1624,1625],{"class":864},"'",[386,1627,515],{"class":408},[386,1629,1578],{"class":419},[386,1631,482],{"class":408},[386,1633,1634,1636,1639,1641,1643,1645,1647,1650,1652,1654,1656,1659,1661,1663,1665,1668,1670,1672,1674,1677,1679,1681,1683,1686,1688,1691],{"class":388,"line":521},[386,1635,1618],{"class":864},[386,1637,1638],{"class":1621},"Filled",[386,1640,1625],{"class":864},[386,1642,515],{"class":408},[386,1644,1235],{"class":419},[386,1646,1625],{"class":864},[386,1648,1649],{"class":868},"bg-blue-600",[386,1651,1625],{"class":864},[386,1653,434],{"class":408},[386,1655,960],{"class":864},[386,1657,1658],{"class":868},"text-white",[386,1660,1625],{"class":864},[386,1662,434],{"class":408},[386,1664,960],{"class":864},[386,1666,1667],{"class":868},"px-6",[386,1669,1625],{"class":864},[386,1671,434],{"class":408},[386,1673,960],{"class":864},[386,1675,1676],{"class":868},"py-2",[386,1678,1625],{"class":864},[386,1680,434],{"class":408},[386,1682,960],{"class":864},[386,1684,1685],{"class":868},"rounded-md",[386,1687,1625],{"class":864},[386,1689,1690],{"class":419},"]",[386,1692,482],{"class":408},[386,1694,1695,1697,1700,1702,1704,1706,1708,1711,1713,1715,1717,1720,1722,1724,1726,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749],{"class":388,"line":531},[386,1696,1618],{"class":864},[386,1698,1699],{"class":1621},"Outlined",[386,1701,1625],{"class":864},[386,1703,515],{"class":408},[386,1705,1235],{"class":419},[386,1707,1625],{"class":864},[386,1709,1710],{"class":868},"border",[386,1712,1625],{"class":864},[386,1714,434],{"class":408},[386,1716,960],{"class":864},[386,1718,1719],{"class":868},"border-blue-600",[386,1721,1625],{"class":864},[386,1723,434],{"class":408},[386,1725,960],{"class":864},[386,1727,1728],{"class":868},"text-blue-600",[386,1730,1625],{"class":864},[386,1732,434],{"class":408},[386,1734,960],{"class":864},[386,1736,1667],{"class":868},[386,1738,1625],{"class":864},[386,1740,434],{"class":408},[386,1742,960],{"class":864},[386,1744,1676],{"class":868},[386,1746,1625],{"class":864},[386,1748,1690],{"class":419},[386,1750,482],{"class":408},[386,1752,1753],{"class":388,"line":542},[386,1754,565],{"class":408},[386,1756,1757],{"class":388,"line":562},[386,1758,611],{"class":408},[386,1760,1761,1763],{"class":388,"line":568},[386,1762,1223],{"class":408},[386,1764,617],{"class":419},[386,1766,1767],{"class":388,"line":578},[386,1768,915],{"emptyLinePlaceholder":914},[386,1770,1771,1773,1776,1778,1781,1784,1786,1789],{"class":388,"line":588},[386,1772,393],{"class":392},[386,1774,1775],{"class":396}," currentStyleName",[386,1777,401],{"class":400},[386,1779,1780],{"class":404}," computed",[386,1782,1783],{"class":419},"(",[386,1785,1521],{"class":408},[386,1787,1788],{"class":392}," =>",[386,1790,506],{"class":408},[386,1792,1793,1796,1799,1802,1804,1806,1809,1812,1815,1818,1821],{"class":388,"line":593},[386,1794,1795],{"class":943},"  if",[386,1797,1798],{"class":558}," (",[386,1800,1801],{"class":400},"!",[386,1803,730],{"class":419},[386,1805,1255],{"class":408},[386,1807,1808],{"class":419},"value",[386,1810,1811],{"class":408},"?.",[386,1813,1814],{"class":419},"data",[386,1816,1817],{"class":558},") ",[386,1819,1820],{"class":943},"return",[386,1822,1824],{"class":1823},"sBtbT"," undefined\n",[386,1826,1827,1830,1832,1834,1836,1838,1840,1842,1844],{"class":388,"line":608},[386,1828,1829],{"class":943},"  return",[386,1831,684],{"class":404},[386,1833,1783],{"class":558},[386,1835,730],{"class":419},[386,1837,1255],{"class":408},[386,1839,1808],{"class":419},[386,1841,1255],{"class":408},[386,1843,1814],{"class":419},[386,1845,617],{"class":558},[386,1847,1848,1850],{"class":388,"line":614},[386,1849,1223],{"class":408},[386,1851,617],{"class":419},[368,1853,1854,1855,1858],{},"The style names appear in the admin \"Style\" selector. The selected classes are automatically applied to the component's root element — no ",[372,1856,1857],{},":class"," binding needed.",[1080,1860,1862],{"id":1861},"applying-classes-to-an-inner-element","Applying classes to an inner element",[368,1864,1865,1866,1868],{},"If you want the style classes on an inner element rather than the root, opt out of auto-apply and bind ",[372,1867,791],{}," manually:",[377,1870,1872],{"className":379,"code":1871,"language":381,"meta":382,"style":382},"const { resource, exposeMeta, uiClassNames } = useCwaComponent(props, [], {\n  autoClass: false,\n  styles: { ... }\n})\n",[372,1873,1874,1907,1918,1931],{"__ignoreMap":382},[386,1875,1876,1878,1880,1882,1884,1886,1888,1891,1893,1895,1897,1899,1901,1903,1905],{"class":388,"line":389},[386,1877,393],{"class":392},[386,1879,428],{"class":408},[386,1881,431],{"class":396},[386,1883,434],{"class":408},[386,1885,437],{"class":396},[386,1887,434],{"class":408},[386,1889,1890],{"class":396}," uiClassNames",[386,1892,440],{"class":408},[386,1894,401],{"class":400},[386,1896,445],{"class":404},[386,1898,1230],{"class":419},[386,1900,434],{"class":408},[386,1902,1578],{"class":419},[386,1904,434],{"class":408},[386,1906,506],{"class":408},[386,1908,1909,1912,1914,1916],{"class":388,"line":423},[386,1910,1911],{"class":558},"  autoClass",[386,1913,515],{"class":408},[386,1915,1602],{"class":1601},[386,1917,482],{"class":408},[386,1919,1920,1922,1924,1926,1928],{"class":388,"line":451},[386,1921,1587],{"class":558},[386,1923,515],{"class":408},[386,1925,428],{"class":408},[386,1927,689],{"class":400},[386,1929,1930],{"class":408}," }\n",[386,1932,1933,1935],{"class":388,"line":498},[386,1934,1223],{"class":408},[386,1936,617],{"class":419},[377,1938,1940],{"className":831,"code":1939,"language":833,"meta":382,"style":382},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ca :class=\"uiClassNames\">{{ resource?.data?.label }}\u003C\u002Fa>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[372,1941,1942,1950,1958,1987,1995],{"__ignoreMap":382},[386,1943,1944,1946,1948],{"class":388,"line":389},[386,1945,409],{"class":408},[386,1947,843],{"class":842},[386,1949,846],{"class":408},[386,1951,1952,1954,1956],{"class":388,"line":423},[386,1953,851],{"class":408},[386,1955,854],{"class":842},[386,1957,846],{"class":408},[386,1959,1960,1962,1965,1968,1970,1972,1974,1976,1978,1981,1983,1985],{"class":388,"line":451},[386,1961,878],{"class":408},[386,1963,1964],{"class":842},"a",[386,1966,1967],{"class":857}," :class",[386,1969,861],{"class":408},[386,1971,865],{"class":864},[386,1973,791],{"class":868},[386,1975,865],{"class":864},[386,1977,416],{"class":408},[386,1979,1980],{"class":419},"{{ resource?.data?.label }}",[386,1982,888],{"class":408},[386,1984,1964],{"class":842},[386,1986,846],{"class":408},[386,1988,1989,1991,1993],{"class":388,"line":498},[386,1990,897],{"class":408},[386,1992,854],{"class":842},[386,1994,846],{"class":408},[386,1996,1997,1999,2001],{"class":388,"line":509},[386,1998,888],{"class":408},[386,2000,843],{"class":842},[386,2002,846],{"class":408},[1068,2004],{},[459,2006,2008],{"id":2007},"writing-a-custom-plugin","Writing a custom plugin",[368,2010,2011,2012,2015],{},"A plugin is a function that receives ",[372,2013,2014],{},"{ iri, resource, $cwa }"," and returns any object:",[377,2017,2019],{"className":379,"code":2018,"language":381,"meta":382,"style":382},"import type { CwaResourcePlugin } from '#cwa\u002Fcomposables\u002Fcwa-component'\n\nconst withWordCount = (): CwaResourcePlugin\u003C{ wordCount: ComputedRef\u003Cnumber> }> => {\n  return ({ resource }) => {\n    const wordCount = computed(() => {\n      const body = resource.value?.data?.body ?? ''\n      return body.split(\u002F\\s+\u002F).filter(Boolean).length\n    })\n    return { wordCount }\n  }\n}\n\n\u002F\u002F Usage\nconst { resource, exposeMeta, wordCount } = useCwaComponent(props, [withWordCount()])\n",[372,2020,2021,2043,2047,2091,2108,2127,2158,2203,2210,2221,2225,2230,2234,2239],{"__ignoreMap":382},[386,2022,2023,2025,2027,2029,2032,2034,2036,2038,2041],{"class":388,"line":389},[386,2024,944],{"class":943},[386,2026,947],{"class":943},[386,2028,428],{"class":408},[386,2030,2031],{"class":419}," CwaResourcePlugin",[386,2033,440],{"class":408},[386,2035,957],{"class":943},[386,2037,960],{"class":864},[386,2039,2040],{"class":868},"#cwa\u002Fcomposables\u002Fcwa-component",[386,2042,966],{"class":864},[386,2044,2045],{"class":388,"line":423},[386,2046,915],{"emptyLinePlaceholder":914},[386,2048,2049,2051,2055,2057,2060,2062,2064,2067,2071,2073,2076,2078,2082,2084,2087,2089],{"class":388,"line":451},[386,2050,393],{"class":392},[386,2052,2054],{"class":2053},"scpWJ"," withWordCount",[386,2056,401],{"class":400},[386,2058,2059],{"class":408}," ()",[386,2061,515],{"class":400},[386,2063,2031],{"class":412},[386,2065,2066],{"class":408},"\u003C{",[386,2068,2070],{"class":2069},"ssFBz"," wordCount",[386,2072,515],{"class":400},[386,2074,2075],{"class":412}," ComputedRef",[386,2077,409],{"class":408},[386,2079,2081],{"class":2080},"sbW4m","number",[386,2083,416],{"class":408},[386,2085,2086],{"class":408}," }>",[386,2088,1788],{"class":392},[386,2090,506],{"class":408},[386,2092,2093,2095,2098,2101,2104,2106],{"class":388,"line":498},[386,2094,1829],{"class":943},[386,2096,2097],{"class":408}," ({",[386,2099,431],{"class":2100},"sNTR6",[386,2102,2103],{"class":408}," })",[386,2105,1788],{"class":392},[386,2107,506],{"class":408},[386,2109,2110,2113,2115,2117,2119,2121,2123,2125],{"class":388,"line":509},[386,2111,2112],{"class":392},"    const",[386,2114,2070],{"class":396},[386,2116,401],{"class":400},[386,2118,1780],{"class":404},[386,2120,1783],{"class":558},[386,2122,1521],{"class":408},[386,2124,1788],{"class":392},[386,2126,506],{"class":408},[386,2128,2129,2132,2135,2137,2139,2141,2143,2145,2147,2149,2152,2155],{"class":388,"line":521},[386,2130,2131],{"class":392},"      const",[386,2133,2134],{"class":396}," body",[386,2136,401],{"class":400},[386,2138,431],{"class":419},[386,2140,1255],{"class":408},[386,2142,1808],{"class":419},[386,2144,1811],{"class":408},[386,2146,1814],{"class":419},[386,2148,1811],{"class":408},[386,2150,2151],{"class":419},"body",[386,2153,2154],{"class":400}," ??",[386,2156,2157],{"class":864}," ''\n",[386,2159,2160,2163,2165,2167,2170,2172,2175,2179,2182,2184,2186,2188,2191,2193,2196,2198,2200],{"class":388,"line":531},[386,2161,2162],{"class":943},"      return",[386,2164,2134],{"class":419},[386,2166,1255],{"class":408},[386,2168,2169],{"class":404},"split",[386,2171,1783],{"class":558},[386,2173,2174],{"class":864},"\u002F",[386,2176,2178],{"class":2177},"szhYu","\\s",[386,2180,2181],{"class":400},"+",[386,2183,2174],{"class":864},[386,2185,1451],{"class":558},[386,2187,1255],{"class":408},[386,2189,2190],{"class":404},"filter",[386,2192,1783],{"class":558},[386,2194,2195],{"class":419},"Boolean",[386,2197,1451],{"class":558},[386,2199,1255],{"class":408},[386,2201,2202],{"class":396},"length\n",[386,2204,2205,2208],{"class":388,"line":542},[386,2206,2207],{"class":408},"    }",[386,2209,617],{"class":558},[386,2211,2212,2215,2217,2219],{"class":388,"line":562},[386,2213,2214],{"class":943},"    return",[386,2216,428],{"class":408},[386,2218,2070],{"class":419},[386,2220,1930],{"class":408},[386,2222,2223],{"class":388,"line":568},[386,2224,611],{"class":408},[386,2226,2227],{"class":388,"line":578},[386,2228,2229],{"class":408},"}\n",[386,2231,2232],{"class":388,"line":588},[386,2233,915],{"emptyLinePlaceholder":914},[386,2235,2236],{"class":388,"line":593},[386,2237,2238],{"class":604},"\u002F\u002F Usage\n",[386,2240,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2270],{"class":388,"line":608},[386,2242,393],{"class":392},[386,2244,428],{"class":408},[386,2246,431],{"class":396},[386,2248,434],{"class":408},[386,2250,437],{"class":396},[386,2252,434],{"class":408},[386,2254,2070],{"class":396},[386,2256,440],{"class":408},[386,2258,401],{"class":400},[386,2260,445],{"class":404},[386,2262,1230],{"class":419},[386,2264,434],{"class":408},[386,2266,1235],{"class":419},[386,2268,2269],{"class":404},"withWordCount",[386,2271,1241],{"class":419},[2273,2274,2275],"style",{},"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 .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .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 .s-h7I, html code.shiki .s-h7I{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#F07178}html pre.shiki code .sGtlX, html code.shiki .sGtlX{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#C792EA}html pre.shiki code .seSrl, html code.shiki .seSrl{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .sLL54, html code.shiki .sLL54{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .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 .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 .scpWJ, html code.shiki .scpWJ{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#BABED8}html pre.shiki code .ssFBz, html code.shiki .ssFBz{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#F07178}html pre.shiki code .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .sNTR6, html code.shiki .sNTR6{--shiki-light:#E36209;--shiki-light-font-style:inherit;--shiki-default:#FFAB70;--shiki-default-font-style:inherit;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .szhYu, html code.shiki .szhYu{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#C3E88D}",{"title":382,"searchDepth":423,"depth":423,"links":2277},[2278,2279,2280,2281,2286,2289],{"id":461,"depth":423,"text":462},{"id":656,"depth":423,"text":657},{"id":827,"depth":423,"text":828},{"id":641,"depth":423,"text":1072,"children":2282},[2283,2284,2285],{"id":1082,"depth":451,"text":1085},{"id":1258,"depth":451,"text":1261},{"id":1459,"depth":451,"text":1460},{"id":1543,"depth":423,"text":1544,"children":2287},[2288],{"id":1861,"depth":451,"text":1862},{"id":2007,"depth":423,"text":2008},"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.","md",null,{},{"title":230},{"title":360,"description":2290},"FCcUHUQHi-8iXmClyrkus7y6znlg0cEJTbKgksVPqW4",[2298,2300],{"title":217,"path":222,"stem":223,"description":2299,"children":-1},"Access the current layout resource and auto-apply style classes to the layout's root element.",{"title":234,"path":235,"stem":236,"description":2301,"children":-1},"Bind a display component to its API resource by IRI — fetch, subscribe, and expose to the admin manager.",1782512896114]