[{"data":1,"prerenderedAt":1149},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcwa-api\u002Fadmin":393,"\u002Fnuxt-module\u002Fcwa-api\u002Fadmin-surround":1144},[4,14,36,69,144,376],{"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,120,124,128,132,136,140],{"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,107],{"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,103],{"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},"Explicit Allow Only","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fexplicit-allow-only","4.api\u002F2.components\u002F2.annotations\u002F4.explicit-allow-only",{"title":108,"path":109,"stem":110,"children":111,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[112,116],{"title":113,"path":114,"stem":115},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":117,"path":118,"stem":119},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":121,"path":122,"stem":123},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":125,"path":126,"stem":127},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":129,"path":130,"stem":131},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":133,"path":134,"stem":135},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":137,"path":138,"stem":139},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":141,"path":142,"stem":143},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":145,"path":146,"stem":147,"children":148,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[149,153,157,170,190,211,244,328,352,356],{"title":150,"path":151,"stem":152},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":154,"path":155,"stem":156},"PWA & Offline","\u002Fnuxt-module\u002Fpwa","5.nuxt-module\u002F10.pwa",{"title":158,"path":159,"stem":160,"children":161,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[162,166],{"title":163,"path":164,"stem":165},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":167,"path":168,"stem":169},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":171,"path":172,"stem":173,"children":174,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[175,179,183,186],{"title":176,"path":177,"stem":178},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":180,"path":181,"stem":182},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":184,"stem":185},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":187,"path":188,"stem":189},"CLI Generator","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcwa-cli","5.nuxt-module\u002F3.building-your-ui\u002F4.cwa-cli",{"title":191,"path":192,"stem":193,"children":194,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[195,199,203,207],{"title":196,"path":197,"stem":198},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":200,"path":201,"stem":202},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":204,"path":205,"stem":206},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":208,"path":209,"stem":210},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":212,"path":213,"stem":214,"children":215,"page":35},"Cwa Api","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",[216,220,224,228,232,236,240],{"title":217,"path":218,"stem":219},"Overview","\u002Fnuxt-module\u002Fcwa-api\u002Foverview","5.nuxt-module\u002F5.cwa-api\u002F1.overview",{"title":221,"path":222,"stem":223},"Resources","\u002Fnuxt-module\u002Fcwa-api\u002Fresources","5.nuxt-module\u002F5.cwa-api\u002F2.resources",{"title":225,"path":226,"stem":227},"Resources Manager","\u002Fnuxt-module\u002Fcwa-api\u002Fresources-manager","5.nuxt-module\u002F5.cwa-api\u002F3.resources-manager",{"title":229,"path":230,"stem":231},"Auth","\u002Fnuxt-module\u002Fcwa-api\u002Fauth","5.nuxt-module\u002F5.cwa-api\u002F4.auth",{"title":233,"path":234,"stem":235},"Forms","\u002Fnuxt-module\u002Fcwa-api\u002Fforms","5.nuxt-module\u002F5.cwa-api\u002F5.forms",{"title":237,"path":238,"stem":239},"Admin","\u002Fnuxt-module\u002Fcwa-api\u002Fadmin","5.nuxt-module\u002F5.cwa-api\u002F6.admin",{"title":241,"path":242,"stem":243},"Site Config","\u002Fnuxt-module\u002Fcwa-api\u002Fsite-config","5.nuxt-module\u002F5.cwa-api\u002F7.site-config",{"title":245,"path":246,"stem":247,"children":248,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[249,257,294,311],{"title":250,"path":251,"stem":252,"children":253,"page":35},"Layout","\u002Fnuxt-module\u002Fcomposables\u002Flayout","5.nuxt-module\u002F6.composables\u002F0.layout",[254],{"title":250,"path":255,"stem":256},"\u002Fnuxt-module\u002Fcomposables\u002Flayout\u002Fuse-cwa-layout","5.nuxt-module\u002F6.composables\u002F0.layout\u002F1.use-cwa-layout",{"title":258,"path":259,"stem":260,"children":261,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[262,266,270,274,278,282,286,290],{"title":263,"path":264,"stem":265},"Component (recommended)","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-component","5.nuxt-module\u002F6.composables\u002F1.component\u002F0.use-cwa-component",{"title":267,"path":268,"stem":269},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":271,"path":272,"stem":273},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":275,"path":276,"stem":277},"File Field","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-file-field","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-file-field",{"title":279,"path":280,"stem":281},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":283,"path":284,"stem":285},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":287,"path":288,"stem":289},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":291,"path":292,"stem":293},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":295,"path":296,"stem":297,"children":298,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[299,303,307],{"title":300,"path":301,"stem":302},"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":304,"path":305,"stem":306},"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":308,"path":309,"stem":310},"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":312,"path":313,"stem":314,"children":315,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[316,320,324],{"title":317,"path":318,"stem":319},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":321,"path":322,"stem":323},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":325,"path":326,"stem":327},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":329,"path":330,"stem":331,"children":332,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[333,337,341,345,349],{"title":334,"path":335,"stem":336},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":338,"path":339,"stem":340},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":342,"path":343,"stem":344},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":346,"path":347,"stem":348},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":233,"path":350,"stem":351},"\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":353,"path":354,"stem":355},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":357,"path":358,"stem":359,"children":360,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[361,364,368,372],{"title":217,"path":362,"stem":363},"\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":365,"path":366,"stem":367},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":369,"path":370,"stem":371},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":373,"path":374,"stem":375},"Styling","\u002Fnuxt-module\u002Fcwa-layer\u002Fstyling","5.nuxt-module\u002F9.cwa-layer\u002F4.styling",{"title":377,"path":378,"stem":379,"children":380,"page":35},"Deployment","\u002Fdeployment","6.deployment",[381,385,389],{"title":382,"path":383,"stem":384},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":386,"path":387,"stem":388},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":390,"path":391,"stem":392},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":394,"title":395,"badge":396,"body":399,"description":1137,"extension":1138,"links":1139,"meta":1140,"navigation":1141,"path":238,"seo":1142,"stem":239,"__hash__":1143},"docs\u002F5.nuxt-module\u002F5.cwa-api\u002F6.admin.md","cwa.admin",{"label":397,"color":398},"Draft","amber",{"type":400,"value":401,"toc":1130},"minimark",[402,406,555,560,574,586,757,801,806,902,907,1004,1023,1027,1030,1085,1089,1092,1126],[403,404,405],"p",{},"Controls admin edit mode and the component selection stack. Mostly used internally, but exposed for custom admin UIs.",[407,408,413],"pre",{"className":409,"code":410,"language":411,"meta":412,"style":412},"language-ts shiki shiki-themes github-light github-dark material-theme-palenight","cwa.admin.isEditing.value        \u002F\u002F boolean — whether the admin panel is open in edit mode\ncwa.admin.toggleEdit(true)       \u002F\u002F open edit mode\ncwa.admin.toggleEdit(false)      \u002F\u002F close edit mode\ncwa.admin.toggleEdit()           \u002F\u002F toggle\ncwa.admin.emptyStack()           \u002F\u002F clear the selected component stack\ncwa.admin.emitRedraw()           \u002F\u002F force re-render of the component overlay\n","ts","",[414,415,416,446,474,498,517,536],"code",{"__ignoreMap":412},[417,418,421,425,429,432,434,437,439,442],"span",{"class":419,"line":420},"line",1,[417,422,424],{"class":423},"sPB8G","cwa",[417,426,428],{"class":427},"sOvfz",".",[417,430,431],{"class":423},"admin",[417,433,428],{"class":427},[417,435,436],{"class":423},"isEditing",[417,438,428],{"class":427},[417,440,441],{"class":423},"value        ",[417,443,445],{"class":444},"sTBSN","\u002F\u002F boolean — whether the admin panel is open in edit mode\n",[417,447,449,451,453,455,457,461,464,468,471],{"class":419,"line":448},2,[417,450,424],{"class":423},[417,452,428],{"class":427},[417,454,431],{"class":423},[417,456,428],{"class":427},[417,458,460],{"class":459},"sKpYG","toggleEdit",[417,462,463],{"class":423},"(",[417,465,467],{"class":466},"swWMF","true",[417,469,470],{"class":423},")       ",[417,472,473],{"class":444},"\u002F\u002F open edit mode\n",[417,475,477,479,481,483,485,487,489,492,495],{"class":419,"line":476},3,[417,478,424],{"class":423},[417,480,428],{"class":427},[417,482,431],{"class":423},[417,484,428],{"class":427},[417,486,460],{"class":459},[417,488,463],{"class":423},[417,490,491],{"class":466},"false",[417,493,494],{"class":423},")      ",[417,496,497],{"class":444},"\u002F\u002F close edit mode\n",[417,499,501,503,505,507,509,511,514],{"class":419,"line":500},4,[417,502,424],{"class":423},[417,504,428],{"class":427},[417,506,431],{"class":423},[417,508,428],{"class":427},[417,510,460],{"class":459},[417,512,513],{"class":423},"()           ",[417,515,516],{"class":444},"\u002F\u002F toggle\n",[417,518,520,522,524,526,528,531,533],{"class":419,"line":519},5,[417,521,424],{"class":423},[417,523,428],{"class":427},[417,525,431],{"class":423},[417,527,428],{"class":427},[417,529,530],{"class":459},"emptyStack",[417,532,513],{"class":423},[417,534,535],{"class":444},"\u002F\u002F clear the selected component stack\n",[417,537,539,541,543,545,547,550,552],{"class":419,"line":538},6,[417,540,424],{"class":423},[417,542,428],{"class":427},[417,544,431],{"class":423},[417,546,428],{"class":427},[417,548,549],{"class":459},"emitRedraw",[417,551,513],{"class":423},[417,553,554],{"class":444},"\u002F\u002F force re-render of the component overlay\n",[556,557,559],"h2",{"id":558},"event-bus","Event Bus",[403,561,562,565,566,573],{},[414,563,564],{},"cwa.admin.eventBus"," is a global ",[567,568,572],"a",{"href":569,"rel":570},"https:\u002F\u002Fgithub.com\u002Fdevelopit\u002Fmitt",[571],"nofollow","mitt"," emitter that the admin uses to coordinate between the resource manager, the focus overlay, and the components on the page.",[575,576,579],"callout",{"color":577,"icon":578},"warning","i-heroicons-exclamation-triangle",[403,580,581,585],{},[582,583,584],"strong",{},"These are internal events and may change without notice."," They exist to wire the admin UI together, not as a public integration point — event names, payload shapes, and firing conditions can be added, renamed, or removed in any release, including patch releases, with no deprecation period. Nothing here follows the module's public API contract. If you depend on one, pin your module version and re-test on every upgrade.",[407,587,589],{"className":409,"code":588,"language":411,"meta":412,"style":412},"const cwa = useCwa()\n\nconst onSelect = (iri: string) => console.log('selected', iri)\n\nonMounted(() => cwa.admin.eventBus.on('selectResource', onSelect))\nonBeforeUnmount(() => cwa.admin.eventBus.off('selectResource', onSelect))\n",[414,590,591,611,617,673,677,719],{"__ignoreMap":412},[417,592,593,597,601,605,608],{"class":419,"line":420},[417,594,596],{"class":595},"swB56","const",[417,598,600],{"class":599},"sc2zw"," cwa",[417,602,604],{"class":603},"sVlFx"," =",[417,606,607],{"class":459}," useCwa",[417,609,610],{"class":423},"()\n",[417,612,613],{"class":419,"line":448},[417,614,616],{"emptyLinePlaceholder":615},true,"\n",[417,618,619,621,625,627,630,634,637,641,644,647,650,652,655,657,661,665,667,670],{"class":419,"line":476},[417,620,596],{"class":595},[417,622,624],{"class":623},"scpWJ"," onSelect",[417,626,604],{"class":603},[417,628,629],{"class":427}," (",[417,631,633],{"class":632},"sNTR6","iri",[417,635,636],{"class":603},":",[417,638,640],{"class":639},"sbW4m"," string",[417,642,643],{"class":427},")",[417,645,646],{"class":595}," =>",[417,648,649],{"class":423}," console",[417,651,428],{"class":427},[417,653,654],{"class":459},"log",[417,656,463],{"class":423},[417,658,660],{"class":659},"seSrl","'",[417,662,664],{"class":663},"sLL54","selected",[417,666,660],{"class":659},[417,668,669],{"class":427},",",[417,671,672],{"class":423}," iri)\n",[417,674,675],{"class":419,"line":500},[417,676,616],{"emptyLinePlaceholder":615},[417,678,679,682,684,687,689,691,693,695,697,700,702,705,707,709,712,714,716],{"class":419,"line":519},[417,680,681],{"class":459},"onMounted",[417,683,463],{"class":423},[417,685,686],{"class":427},"()",[417,688,646],{"class":595},[417,690,600],{"class":423},[417,692,428],{"class":427},[417,694,431],{"class":423},[417,696,428],{"class":427},[417,698,699],{"class":423},"eventBus",[417,701,428],{"class":427},[417,703,704],{"class":459},"on",[417,706,463],{"class":423},[417,708,660],{"class":659},[417,710,711],{"class":663},"selectResource",[417,713,660],{"class":659},[417,715,669],{"class":427},[417,717,718],{"class":423}," onSelect))\n",[417,720,721,724,726,728,730,732,734,736,738,740,742,745,747,749,751,753,755],{"class":419,"line":538},[417,722,723],{"class":459},"onBeforeUnmount",[417,725,463],{"class":423},[417,727,686],{"class":427},[417,729,646],{"class":595},[417,731,600],{"class":423},[417,733,428],{"class":427},[417,735,431],{"class":423},[417,737,428],{"class":427},[417,739,699],{"class":423},[417,741,428],{"class":427},[417,743,744],{"class":459},"off",[417,746,463],{"class":423},[417,748,660],{"class":659},[417,750,711],{"class":663},[417,752,660],{"class":659},[417,754,669],{"class":427},[417,756,718],{"class":423},[403,758,759,760,762,763,762,765,768,769,772,773,776,777,780,781,784,785,788,789,792,793,796,797,800],{},"The full surface is mitt's — ",[414,761,704],{},", ",[414,764,744],{},[414,766,767],{},"emit",", the ",[414,770,771],{},"'*'"," wildcard, and the raw ",[414,774,775],{},"all"," handler ",[414,778,779],{},"Map",". There is no ",[414,782,783],{},"once",", and ",[414,786,787],{},"on()"," returns nothing rather than an unsubscribe function, so keep a reference to your handler and pass the ",[582,790,791],{},"same"," function to ",[414,794,795],{},"off()",". Calling ",[414,798,799],{},"off(type)"," with no handler removes every listener for that event, including the module's own.",[802,803,805],"h3",{"id":804},"events","Events",[807,808,809,825],"table",{},[810,811,812],"thead",{},[813,814,815,819,822],"tr",{},[816,817,818],"th",{},"Event",[816,820,821],{},"Payload",[816,823,824],{},"Fired when",[826,827,828,845,859,872,887],"tbody",{},[813,829,830,836,842],{},[831,832,833],"td",{},[414,834,835],{},"manageableComponentMounted",[831,837,838,841],{},[414,839,840],{},"string"," — resource IRI",[831,843,844],{},"A component using the resource manager mounts.",[813,846,847,852,856],{},[831,848,849],{},[414,850,851],{},"componentMounted",[831,853,854,841],{},[414,855,840],{},[831,857,858],{},"A component mounts with the manager disabled, a placeholder or hotspot mounts, or a parent re-emits as the mount cascades up the tree.",[813,860,861,865,869],{},[831,862,863],{},[414,864,711],{},[831,866,867,841],{},[414,868,840],{},[831,870,871],{},"A resource should become the admin's selection — a newly added component, or an admin jumping to the component behind a page-data position.",[813,873,874,879,884],{},[831,875,876],{},[414,877,878],{},"reorder",[831,880,881],{},[414,882,883],{},"ReorderEvent",[831,885,886],{},"An admin changes a component's order, via the up\u002Fdown buttons or by typing an order number.",[813,888,889,894,899],{},[831,890,891],{},[414,892,893],{},"redrawFocus",[831,895,896],{},[414,897,898],{},"undefined",[831,900,901],{},"The focus overlay needs redrawing — after mounts, on window resize, and when the manager opens or closes. Emit with no second argument.",[403,903,904,906],{},[414,905,883],{}," is the one payload type the module exports:",[407,908,910],{"className":409,"code":909,"language":411,"meta":412,"style":412},"import type { ReorderEvent } from '#cwa\u002Fadmin\u002Fadmin'\n\ntype ReorderEvent = {\n  positionIri: string\n  location: 'previous' | 'next' | number\n}\n",[414,911,912,942,946,959,970,999],{"__ignoreMap":412},[417,913,914,918,921,924,927,930,933,936,939],{"class":419,"line":420},[417,915,917],{"class":916},"sm4w6","import",[417,919,920],{"class":916}," type",[417,922,923],{"class":427}," {",[417,925,926],{"class":423}," ReorderEvent",[417,928,929],{"class":427}," }",[417,931,932],{"class":916}," from",[417,934,935],{"class":659}," '",[417,937,938],{"class":663},"#cwa\u002Fadmin\u002Fadmin",[417,940,941],{"class":659},"'\n",[417,943,944],{"class":419,"line":448},[417,945,616],{"emptyLinePlaceholder":615},[417,947,948,951,954,956],{"class":419,"line":476},[417,949,950],{"class":595},"type",[417,952,926],{"class":953},"sRCss",[417,955,604],{"class":603},[417,957,958],{"class":427}," {\n",[417,960,961,965,967],{"class":419,"line":500},[417,962,964],{"class":963},"ssFBz","  positionIri",[417,966,636],{"class":603},[417,968,969],{"class":639}," string\n",[417,971,972,975,977,979,982,984,987,989,992,994,996],{"class":419,"line":519},[417,973,974],{"class":963},"  location",[417,976,636],{"class":603},[417,978,935],{"class":659},[417,980,981],{"class":663},"previous",[417,983,660],{"class":659},[417,985,986],{"class":603}," |",[417,988,935],{"class":659},[417,990,991],{"class":663},"next",[417,993,660],{"class":659},[417,995,986],{"class":603},[417,997,998],{"class":639}," number\n",[417,1000,1001],{"class":419,"line":538},[417,1002,1003],{"class":427},"}\n",[403,1005,1006,1007,1010,1011,1014,1015,1018,1019,1022],{},"A ",[414,1008,1009],{},"location"," of ",[414,1012,1013],{},"'previous'"," or ",[414,1016,1017],{},"'next'"," moves the position one step; a number sets an absolute position and is ",[582,1020,1021],{},"1-based",". Groups that aren't reordering ignore the event, so it is safe to broadcast.",[802,1024,1026],{"id":1025},"caveats","Caveats",[403,1028,1029],{},"Beyond the \"may change without notice\" warning above, a few behaviours are easy to trip over:",[1031,1032,1033,1046,1062,1070],"ul",{},[1034,1035,1036,1039,1040,1042,1043,1045],"li",{},[582,1037,1038],{},"Mount events are admin-only."," ",[414,1041,835],{}," and ",[414,1044,851],{}," only fire for signed-in admins. Don't build front-end behaviour on them — visitors will never see them.",[1034,1047,1048,1053,1054,1057,1058,1061],{},[582,1049,1050,1052],{},[414,1051,851],{}," payloads aren't always resource IRIs."," Placeholders and hotspots emit ",[414,1055,1056],{},"\u003Ciri>_placeholder",", so don't feed the payload straight into ",[414,1059,1060],{},"getResource()"," without checking.",[1034,1063,1064,1069],{},[582,1065,1066,1068],{},[414,1067,893],{}," is throttled"," to 40ms. Emitting it in a tight loop won't produce a redraw per call.",[1034,1071,1072,1075,1076,1078,1079,1082,1083,428],{},[582,1073,1074],{},"The events map isn't exported."," Handlers passed inline to ",[414,1077,787],{}," are still type-checked and narrowed correctly, and an unknown event name is a compile error — but to type a standalone handler you'll need to hand-write the signature (",[414,1080,1081],{},"(iri: string) => void",") or import ",[414,1084,883],{},[556,1086,1088],{"id":1087},"navigation-guard","Navigation Guard",[403,1090,1091],{},"The admin tracks unsaved changes and shows a confirmation dialog on navigate:",[407,1093,1095],{"className":409,"code":1094,"language":411,"meta":412,"style":412},"cwa.navigationDisabled.value                    \u002F\u002F boolean\ncwa.adminNavigationGuardFn                      \u002F\u002F pass to router.beforeEach\n",[414,1096,1097,1114],{"__ignoreMap":412},[417,1098,1099,1101,1103,1106,1108,1111],{"class":419,"line":420},[417,1100,424],{"class":423},[417,1102,428],{"class":427},[417,1104,1105],{"class":423},"navigationDisabled",[417,1107,428],{"class":427},[417,1109,1110],{"class":423},"value                    ",[417,1112,1113],{"class":444},"\u002F\u002F boolean\n",[417,1115,1116,1118,1120,1123],{"class":419,"line":448},[417,1117,424],{"class":423},[417,1119,428],{"class":427},[417,1121,1122],{"class":423},"adminNavigationGuardFn                      ",[417,1124,1125],{"class":444},"\u002F\u002F pass to router.beforeEach\n",[1127,1128,1129],"style",{},"html pre.shiki code .sPB8G, html code.shiki .sPB8G{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}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 .sKpYG, html code.shiki .sKpYG{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .swWMF, html code.shiki .swWMF{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FF9CAC}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 .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 .scpWJ, html code.shiki .scpWJ{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#BABED8}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 .sbW4m, html code.shiki .sbW4m{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}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 .sRCss, html code.shiki .sRCss{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}html pre.shiki code .ssFBz, html code.shiki .ssFBz{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#F07178}",{"title":412,"searchDepth":448,"depth":448,"links":1131},[1132,1136],{"id":558,"depth":448,"text":559,"children":1133},[1134,1135],{"id":804,"depth":476,"text":805},{"id":1025,"depth":476,"text":1026},{"id":1087,"depth":448,"text":1088},"Admin edit mode, the component selection stack, the internal event bus, and the navigation guard.","md",null,{},{"title":237},{"title":395,"description":1137},"KEMgiMW2v4JidLL2S_FGUjfE66nTZsxhG_bXXbnnY9A",[1145,1147],{"title":233,"path":234,"stem":235,"description":1146,"children":-1},"Access the structured form view data and field errors for Form component resources.",{"title":241,"path":242,"stem":243,"description":1148,"children":-1},"Site-wide settings persisted in the API and cached in the Pinia store.",1784323351384]