[{"data":1,"prerenderedAt":1346},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload":342,"\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload-surround":1341},[4,14,36,69,140,325],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18,"page":35},"Guides","\u002Fguides","2.guides",[19,23,27,31],{"title":20,"path":21,"stem":22},"Your First Layout","\u002Fguides\u002Fyour-first-layout","2.guides\u002F1.your-first-layout",{"title":24,"path":25,"stem":26},"Your First Page Template","\u002Fguides\u002Fyour-first-page-template","2.guides\u002F2.your-first-page-template",{"title":28,"path":29,"stem":30},"Your First Component","\u002Fguides\u002Fyour-first-component","2.guides\u002F3.your-first-component",{"title":32,"path":33,"stem":34},"Alternative UI Variants","\u002Fguides\u002Falternative-ui-variants","2.guides\u002F4.alternative-ui-variants",false,{"title":37,"path":38,"stem":39,"children":40,"page":35},"Core Concepts","\u002Fcore-concepts","3.core-concepts",[41,45,49,53,57,61,65],{"title":42,"path":43,"stem":44},"How It All Works","\u002Fcore-concepts\u002Farchitecture","3.core-concepts\u002F1.architecture",{"title":46,"path":47,"stem":48},"The Data Model","\u002Fcore-concepts\u002Fthe-data-model","3.core-concepts\u002F2.the-data-model",{"title":50,"path":51,"stem":52},"Layouts & Pages","\u002Fcore-concepts\u002Flayouts-and-pages","3.core-concepts\u002F3.layouts-and-pages",{"title":54,"path":55,"stem":56},"Dynamic Pages","\u002Fcore-concepts\u002Fdynamic-pages","3.core-concepts\u002F4.dynamic-pages",{"title":58,"path":59,"stem":60},"Components","\u002Fcore-concepts\u002Fcomponents","3.core-concepts\u002F5.components",{"title":62,"path":63,"stem":64},"Draft & Publish Workflow","\u002Fcore-concepts\u002Fdraft-and-publish","3.core-concepts\u002F6.draft-and-publish",{"title":66,"path":67,"stem":68},"The Admin Panel","\u002Fcore-concepts\u002Fadmin-panel","3.core-concepts\u002F7.admin-panel",{"title":70,"path":71,"stem":72,"children":73,"page":35},"Api","\u002Fapi","4.api",[74,78,116,120,124,128,132,136],{"title":75,"path":76,"stem":77},"Bundle Setup","\u002Fapi\u002Fbundle-setup","4.api\u002F1.bundle-setup",{"title":58,"path":79,"stem":80,"children":81,"page":35},"\u002Fapi\u002Fcomponents","4.api\u002F2.components",[82,86,103],{"title":83,"path":84,"stem":85},"Creating Components","\u002Fapi\u002Fcomponents\u002Fcreating-components","4.api\u002F2.components\u002F1.creating-components",{"title":87,"path":88,"stem":89,"children":90,"page":35},"Annotations","\u002Fapi\u002Fcomponents\u002Fannotations","4.api\u002F2.components\u002F2.annotations",[91,95,99],{"title":92,"path":93,"stem":94},"Publishable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fpublishable","4.api\u002F2.components\u002F2.annotations\u002F1.publishable",{"title":96,"path":97,"stem":98},"Uploadable","\u002Fapi\u002Fcomponents\u002Fannotations\u002Fuploadable","4.api\u002F2.components\u002F2.annotations\u002F2.uploadable",{"title":100,"path":101,"stem":102},"Timestamped","\u002Fapi\u002Fcomponents\u002Fannotations\u002Ftimestamped","4.api\u002F2.components\u002F2.annotations\u002F3.timestamped",{"title":104,"path":105,"stem":106,"children":107,"page":35},"Built Ins","\u002Fapi\u002Fcomponents\u002Fbuilt-ins","4.api\u002F2.components\u002F3.built-ins",[108,112],{"title":109,"path":110,"stem":111},"Collection Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fcollection-component","4.api\u002F2.components\u002F3.built-ins\u002F1.collection-component",{"title":113,"path":114,"stem":115},"Form Component","\u002Fapi\u002Fcomponents\u002Fbuilt-ins\u002Fform-component","4.api\u002F2.components\u002F3.built-ins\u002F2.form-component",{"title":117,"path":118,"stem":119},"Dynamic & Nested Pages","\u002Fapi\u002Fdynamic-pages","4.api\u002F3.dynamic-pages",{"title":121,"path":122,"stem":123},"Users & Security","\u002Fapi\u002Fusers-and-security","4.api\u002F4.users-and-security",{"title":125,"path":126,"stem":127},"Data Fixtures","\u002Fapi\u002Fdata-fixtures","4.api\u002F5.data-fixtures",{"title":129,"path":130,"stem":131},"Configuration Reference","\u002Fapi\u002Fconfiguration","4.api\u002F6.configuration",{"title":133,"path":134,"stem":135},"Console Commands","\u002Fapi\u002Fconsole-commands","4.api\u002F7.console-commands",{"title":137,"path":138,"stem":139},"Debugging & Profiler","\u002Fapi\u002Fdebugging","4.api\u002F8.debugging",{"title":141,"path":142,"stem":143,"children":144,"page":35},"Nuxt Module","\u002Fnuxt-module","5.nuxt-module",[145,149,162,178,203,207,279,304,308],{"title":146,"path":147,"stem":148},"Module Setup","\u002Fnuxt-module\u002Fmodule-setup","5.nuxt-module\u002F1.module-setup",{"title":150,"path":151,"stem":152,"children":153,"page":35},"Configuration","\u002Fnuxt-module\u002Fconfiguration","5.nuxt-module\u002F2.configuration",[154,158],{"title":155,"path":156,"stem":157},"Nuxt Config","\u002Fnuxt-module\u002Fconfiguration\u002Fnuxt-config","5.nuxt-module\u002F2.configuration\u002F1.nuxt-config",{"title":159,"path":160,"stem":161},"Site Config & SEO","\u002Fnuxt-module\u002Fconfiguration\u002Fsite-config-and-seo","5.nuxt-module\u002F2.configuration\u002F2.site-config-and-seo",{"title":163,"path":164,"stem":165,"children":166,"page":35},"Building Your Ui","\u002Fnuxt-module\u002Fbuilding-your-ui","5.nuxt-module\u002F3.building-your-ui",[167,171,175],{"title":168,"path":169,"stem":170},"Layouts","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-layouts","5.nuxt-module\u002F3.building-your-ui\u002F1.creating-layouts",{"title":172,"path":173,"stem":174},"Page Templates","\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-page-templates","5.nuxt-module\u002F3.building-your-ui\u002F2.creating-page-templates",{"title":83,"path":176,"stem":177},"\u002Fnuxt-module\u002Fbuilding-your-ui\u002Fcreating-components","5.nuxt-module\u002F3.building-your-ui\u002F3.creating-components",{"title":179,"path":180,"stem":181,"children":182,"page":35},"Cwa Components","\u002Fnuxt-module\u002Fcwa-components","5.nuxt-module\u002F4.cwa-components",[183,187,191,195,199],{"title":184,"path":185,"stem":186},"\u003CCwaComponentGroup \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-component-group","5.nuxt-module\u002F4.cwa-components\u002F1.cwa-component-group",{"title":188,"path":189,"stem":190},"\u003CCwaPage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-page","5.nuxt-module\u002F4.cwa-components\u002F2.cwa-page",{"title":192,"path":193,"stem":194},"\u003CCwaLink \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-link","5.nuxt-module\u002F4.cwa-components\u002F3.cwa-link",{"title":196,"path":197,"stem":198},"\u003CCwaImage \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-image","5.nuxt-module\u002F4.cwa-components\u002F4.cwa-image",{"title":200,"path":201,"stem":202},"\u003CCwaDefaultLayout \u002F>","\u002Fnuxt-module\u002Fcwa-components\u002Fcwa-default-layout","5.nuxt-module\u002F4.cwa-components\u002F5.cwa-default-layout",{"title":204,"path":205,"stem":206},"The useCwa() API","\u002Fnuxt-module\u002Fcwa-api","5.nuxt-module\u002F5.cwa-api",{"title":208,"path":209,"stem":210,"children":211,"page":35},"Composables","\u002Fnuxt-module\u002Fcomposables","5.nuxt-module\u002F6.composables",[212,245,262],{"title":213,"path":214,"stem":215,"children":216,"page":35},"Component","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent","5.nuxt-module\u002F6.composables\u002F1.component",[217,221,225,229,233,237,241],{"title":218,"path":219,"stem":220},"Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F1.use-cwa-resource",{"title":222,"path":223,"stem":224},"Collection Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-collection-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F2.use-cwa-collection-resource",{"title":226,"path":227,"stem":228},"Image Resource","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-image-resource","5.nuxt-module\u002F6.composables\u002F1.component\u002F3.use-cwa-image-resource",{"title":230,"path":231,"stem":232},"Form","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form","5.nuxt-module\u002F6.composables\u002F1.component\u002F4.use-cwa-form",{"title":234,"path":235,"stem":236},"Form Input","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-input","5.nuxt-module\u002F6.composables\u002F1.component\u002F5.use-cwa-form-input",{"title":238,"path":239,"stem":240},"Form Repeated","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated","5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated",{"title":242,"path":243,"stem":244},"Form Collection","\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-collection","5.nuxt-module\u002F6.composables\u002F1.component\u002F7.use-cwa-form-collection",{"title":246,"path":247,"stem":248,"children":249,"page":35},"Admin Manager","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager","5.nuxt-module\u002F6.composables\u002F2.admin-manager",[250,254,258],{"title":251,"path":252,"stem":253},"Manager Tab","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-manager-tab","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F1.use-cwa-resource-manager-tab",{"title":255,"path":256,"stem":257},"Resource Model","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-model","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F2.use-cwa-resource-model",{"title":259,"path":260,"stem":261},"Resource Upload","\u002Fnuxt-module\u002Fcomposables\u002Fadmin-manager\u002Fuse-cwa-resource-upload","5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload",{"title":263,"path":264,"stem":265,"children":266,"page":35},"Utilities","\u002Fnuxt-module\u002Fcomposables\u002Futilities","5.nuxt-module\u002F6.composables\u002F3.utilities",[267,271,275],{"title":268,"path":269,"stem":270},"Resource Endpoint","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-endpoint","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F1.use-cwa-resource-endpoint",{"title":272,"path":273,"stem":274},"Query Model","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-query-bound-model","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F2.use-query-bound-model",{"title":276,"path":277,"stem":278},"Resource Route","\u002Fnuxt-module\u002Fcomposables\u002Futilities\u002Fuse-cwa-resource-route","5.nuxt-module\u002F6.composables\u002F3.utilities\u002F3.use-cwa-resource-route",{"title":280,"path":281,"stem":282,"children":283,"page":35},"Component Helpers","\u002Fnuxt-module\u002Fcomponent-helpers","5.nuxt-module\u002F7.component-helpers",[284,288,292,296,300],{"title":285,"path":286,"stem":287},"Images & Media","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fimages-and-uploads","5.nuxt-module\u002F7.component-helpers\u002F1.images-and-uploads",{"title":289,"path":290,"stem":291},"Collections & Pagination","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fcollections-and-pagination","5.nuxt-module\u002F7.component-helpers\u002F2.collections-and-pagination",{"title":293,"path":294,"stem":295},"HTML Content","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fhtml-content","5.nuxt-module\u002F7.component-helpers\u002F3.html-content",{"title":297,"path":298,"stem":299},"Real-Time Updates","\u002Fnuxt-module\u002Fcomponent-helpers\u002Freal-time-updates","5.nuxt-module\u002F7.component-helpers\u002F4.real-time-updates",{"title":301,"path":302,"stem":303},"Forms","\u002Fnuxt-module\u002Fcomponent-helpers\u002Fforms","5.nuxt-module\u002F7.component-helpers\u002F5.forms",{"title":305,"path":306,"stem":307},"Authentication","\u002Fnuxt-module\u002Fauthentication","5.nuxt-module\u002F8.authentication",{"title":309,"path":310,"stem":311,"children":312,"page":35},"Cwa Layer","\u002Fnuxt-module\u002Fcwa-layer","5.nuxt-module\u002F9.cwa-layer",[313,317,321],{"title":314,"path":315,"stem":316},"Overview","\u002Fnuxt-module\u002Fcwa-layer\u002Foverview","5.nuxt-module\u002F9.cwa-layer\u002F1.overview",{"title":318,"path":319,"stem":320},"Auth Pages","\u002Fnuxt-module\u002Fcwa-layer\u002Fauth-pages","5.nuxt-module\u002F9.cwa-layer\u002F2.auth-pages",{"title":322,"path":323,"stem":324},"Admin Panel","\u002Fnuxt-module\u002Fcwa-layer\u002Fadmin-panel","5.nuxt-module\u002F9.cwa-layer\u002F3.admin-panel",{"title":326,"path":327,"stem":328,"children":329,"page":35},"Deployment","\u002Fdeployment","6.deployment",[330,334,338],{"title":331,"path":332,"stem":333},"Docker","\u002Fdeployment\u002Fdocker","6.deployment\u002F1.docker",{"title":335,"path":336,"stem":337},"Kubernetes & Helm","\u002Fdeployment\u002Fkubernetes","6.deployment\u002F2.kubernetes",{"title":339,"path":340,"stem":341},"CI\u002FCD","\u002Fdeployment\u002Fci-cd","6.deployment\u002F3.ci-cd",{"id":343,"title":344,"badge":345,"body":348,"description":1334,"extension":1335,"links":1336,"meta":1337,"navigation":1338,"path":260,"seo":1339,"stem":261,"__hash__":1340},"docs\u002F5.nuxt-module\u002F6.composables\u002F2.admin-manager\u002F3.use-cwa-resource-upload.md","useCwaResourceUpload",{"label":346,"color":347},"Draft","amber",{"type":349,"value":350,"toc":1326},"minimark",[351,360,544,673,678,746,800,804,916,920,939,954,966,972,1052,1056,1322],[352,353,354,355,359],"p",{},"Use in ",[356,357,358],"strong",{},"admin tab components"," for uploadable components. Not for display components.",[361,362,367],"pre",{"className":363,"code":364,"language":365,"meta":366,"style":366},"language-ts shiki shiki-themes github-light github-dark material-theme-palenight","import { useCwaResourceManagerTab, useCwaResourceUpload } from '#imports'\n\nconst { exposeMeta, iri } = useCwaResourceManagerTab({ name: 'Upload' })\nconst {\n  filenameInputModel,\n  updating,\n  fileExists,\n  handleInputChangeFile,\n  handleInputDeleteFile\n} = useCwaResourceUpload(iri)\n\ndefineExpose(exposeMeta)\n","ts","",[368,369,370,410,417,470,478,487,495,503,511,517,530,535],"code",{"__ignoreMap":366},[371,372,375,379,383,387,390,393,396,399,403,407],"span",{"class":373,"line":374},"line",1,[371,376,378],{"class":377},"sm4w6","import",[371,380,382],{"class":381},"sOvfz"," {",[371,384,386],{"class":385},"sPB8G"," useCwaResourceManagerTab",[371,388,389],{"class":381},",",[371,391,392],{"class":385}," useCwaResourceUpload",[371,394,395],{"class":381}," }",[371,397,398],{"class":377}," from",[371,400,402],{"class":401},"seSrl"," '",[371,404,406],{"class":405},"sLL54","#imports",[371,408,409],{"class":401},"'\n",[371,411,413],{"class":373,"line":412},2,[371,414,416],{"emptyLinePlaceholder":415},true,"\n",[371,418,420,424,426,430,432,435,437,441,444,447,450,454,457,459,462,465,467],{"class":373,"line":419},3,[371,421,423],{"class":422},"swB56","const",[371,425,382],{"class":381},[371,427,429],{"class":428},"sc2zw"," exposeMeta",[371,431,389],{"class":381},[371,433,434],{"class":428}," iri",[371,436,395],{"class":381},[371,438,440],{"class":439},"sVlFx"," =",[371,442,386],{"class":443},"sKpYG",[371,445,446],{"class":385},"(",[371,448,449],{"class":381},"{",[371,451,453],{"class":452},"sDHlG"," name",[371,455,456],{"class":381},":",[371,458,402],{"class":401},[371,460,461],{"class":405},"Upload",[371,463,464],{"class":401},"'",[371,466,395],{"class":381},[371,468,469],{"class":385},")\n",[371,471,473,475],{"class":373,"line":472},4,[371,474,423],{"class":422},[371,476,477],{"class":381}," {\n",[371,479,481,484],{"class":373,"line":480},5,[371,482,483],{"class":428},"  filenameInputModel",[371,485,486],{"class":381},",\n",[371,488,490,493],{"class":373,"line":489},6,[371,491,492],{"class":428},"  updating",[371,494,486],{"class":381},[371,496,498,501],{"class":373,"line":497},7,[371,499,500],{"class":428},"  fileExists",[371,502,486],{"class":381},[371,504,506,509],{"class":373,"line":505},8,[371,507,508],{"class":428},"  handleInputChangeFile",[371,510,486],{"class":381},[371,512,514],{"class":373,"line":513},9,[371,515,516],{"class":428},"  handleInputDeleteFile\n",[371,518,520,523,525,527],{"class":373,"line":519},10,[371,521,522],{"class":381},"}",[371,524,440],{"class":439},[371,526,392],{"class":443},[371,528,529],{"class":385},"(iri)\n",[371,531,533],{"class":373,"line":532},11,[371,534,416],{"emptyLinePlaceholder":415},[371,536,538,541],{"class":373,"line":537},12,[371,539,540],{"class":443},"defineExpose",[371,542,543],{"class":385},"(exposeMeta)\n",[361,545,549],{"className":546,"code":547,"language":548,"meta":366,"style":366},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Ctemplate>\n  \u003CCwaUiFormFile\n    v-model=\"filenameInputModel\"\n    label=\"Upload Image\"\n    :disabled=\"updating\"\n    :file-exists=\"fileExists\"\n    @change=\"handleInputChangeFile\"\n    @delete=\"handleInputDeleteFile\"\n  \u002F>\n\u003C\u002Ftemplate>\n","vue",[368,550,551,563,571,589,603,617,631,645,659,664],{"__ignoreMap":366},[371,552,553,556,560],{"class":373,"line":374},[371,554,555],{"class":381},"\u003C",[371,557,559],{"class":558},"s-h7I","template",[371,561,562],{"class":381},">\n",[371,564,565,568],{"class":373,"line":412},[371,566,567],{"class":381},"  \u003C",[371,569,570],{"class":558},"CwaUiFormFile\n",[371,572,573,577,580,583,586],{"class":373,"line":419},[371,574,576],{"class":575},"sGtlX","    v-model",[371,578,579],{"class":381},"=",[371,581,582],{"class":401},"\"",[371,584,585],{"class":405},"filenameInputModel",[371,587,588],{"class":401},"\"\n",[371,590,591,594,596,598,601],{"class":373,"line":472},[371,592,593],{"class":575},"    label",[371,595,579],{"class":381},[371,597,582],{"class":401},[371,599,600],{"class":405},"Upload Image",[371,602,588],{"class":401},[371,604,605,608,610,612,615],{"class":373,"line":480},[371,606,607],{"class":575},"    :disabled",[371,609,579],{"class":381},[371,611,582],{"class":401},[371,613,614],{"class":405},"updating",[371,616,588],{"class":401},[371,618,619,622,624,626,629],{"class":373,"line":489},[371,620,621],{"class":575},"    :file-exists",[371,623,579],{"class":381},[371,625,582],{"class":401},[371,627,628],{"class":405},"fileExists",[371,630,588],{"class":401},[371,632,633,636,638,640,643],{"class":373,"line":497},[371,634,635],{"class":575},"    @change",[371,637,579],{"class":381},[371,639,582],{"class":401},[371,641,642],{"class":405},"handleInputChangeFile",[371,644,588],{"class":401},[371,646,647,650,652,654,657],{"class":373,"line":505},[371,648,649],{"class":575},"    @delete",[371,651,579],{"class":381},[371,653,582],{"class":401},[371,655,656],{"class":405},"handleInputDeleteFile",[371,658,588],{"class":401},[371,660,661],{"class":373,"line":513},[371,662,663],{"class":381},"  \u002F>\n",[371,665,666,669,671],{"class":373,"line":519},[371,667,668],{"class":381},"\u003C\u002F",[371,670,559],{"class":558},[371,672,562],{"class":381},[674,675,677],"h2",{"id":676},"signature","Signature",[361,679,681],{"className":363,"code":680,"language":365,"meta":366,"style":366},"useCwaResourceUpload(\n  iri: ComputedRef\u003Cstring | undefined>,\n  filename: string = 'file',\n  fileDisplayType: string = 'Image'\n)\n",[368,682,683,690,712,728,742],{"__ignoreMap":366},[371,684,685,687],{"class":373,"line":374},[371,686,344],{"class":443},[371,688,689],{"class":385},"(\n",[371,691,692,695,697,700,703,707,710],{"class":373,"line":412},[371,693,694],{"class":385},"  iri: ComputedRef",[371,696,555],{"class":439},[371,698,699],{"class":385},"string ",[371,701,702],{"class":439},"|",[371,704,706],{"class":705},"sBtbT"," undefined",[371,708,709],{"class":439},">",[371,711,486],{"class":381},[371,713,714,717,719,721,724,726],{"class":373,"line":419},[371,715,716],{"class":385},"  filename: string ",[371,718,579],{"class":439},[371,720,402],{"class":401},[371,722,723],{"class":405},"file",[371,725,464],{"class":401},[371,727,486],{"class":381},[371,729,730,733,735,737,740],{"class":373,"line":472},[371,731,732],{"class":385},"  fileDisplayType: string ",[371,734,579],{"class":439},[371,736,402],{"class":401},[371,738,739],{"class":405},"Image",[371,741,409],{"class":401},[371,743,744],{"class":373,"line":480},[371,745,469],{"class":385},[747,748,749,762,782],"ul",{},[750,751,752,757,758,761],"li",{},[356,753,754],{},[368,755,756],{},"iri"," — the reactive IRI ref from ",[368,759,760],{},"useCwaResourceManagerTab",". Identifies which resource to PATCH.",[750,763,764,769,770,773,774,777,778,781],{},[356,765,766],{},[368,767,768],{},"filename"," — the PHP entity property name \u002F media object key for the file field. Defaults to ",[368,771,772],{},"'file'",". Pass the actual property name if your entity uses a different name (e.g. ",[368,775,776],{},"'image'",", ",[368,779,780],{},"'document'",").",[750,783,784,789,790,777,793,796,797,799],{},[356,785,786],{},[368,787,788],{},"fileDisplayType"," — label used in confirmation dialogs (e.g. ",[368,791,792],{},"'Image'",[368,794,795],{},"'Document'","). Defaults to ",[368,798,792],{},".",[674,801,803],{"id":802},"return-values","Return values",[805,806,807,823],"table",{},[808,809,810],"thead",{},[811,812,813,817,820],"tr",{},[814,815,816],"th",{},"Return",[814,818,819],{},"Type",[814,821,822],{},"Purpose",[824,825,826,849,866,882,900],"tbody",{},[811,827,828,833,838],{},[829,830,831],"td",{},[368,832,585],{},[829,834,835],{},[368,836,837],{},"Ref\u003Cstring>",[829,839,840,841,844,845,848],{},"Bind via ",[368,842,843],{},"v-model"," on ",[368,846,847],{},"CwaUiFormFile"," — shows current filename",[811,850,851,855,860],{},[829,852,853],{},[368,854,614],{},[829,856,857],{},[368,858,859],{},"Ref\u003Cboolean>",[829,861,862,865],{},[368,863,864],{},"true"," while an upload\u002Fdelete is in progress",[811,867,868,872,877],{},[829,869,870],{},[368,871,628],{},[829,873,874],{},[368,875,876],{},"ComputedRef\u003Cboolean>",[829,878,879,881],{},[368,880,864],{}," when a file is already uploaded for this resource",[811,883,884,888,893],{},[829,885,886],{},[368,887,642],{},[829,889,890],{},[368,891,892],{},"(file: File | undefined) => Promise\u003Cvoid>",[829,894,895,896,899],{},"Pass to ",[368,897,898],{},"@change"," on the file input",[811,901,902,906,911],{},[829,903,904],{},[368,905,656],{},[829,907,908],{},[368,909,910],{},"() => Promise\u003Cvoid>",[829,912,895,913,899],{},[368,914,915],{},"@delete",[674,917,919],{"id":918},"how-it-works","How it works",[352,921,922,926,927,930,931,934,935,938],{},[356,923,924],{},[368,925,642],{}," — sends the selected file to ",[368,928,929],{},"{iri}\u002Fupload"," as ",[368,932,933],{},"multipart\u002Fform-data"," (not base64). Sets ",[368,936,937],{},"updating.value = true"," during the upload. On success the resource store updates automatically.",[352,940,941,945,946,949,950,953],{},[356,942,943],{},[368,944,656],{}," — shows a confirmation dialog, then sends ",[368,947,948],{},"PATCH {iri}"," with ",[368,951,952],{},"{ [filename]: null }",". The API deletes the stored file.",[352,955,956,960,961,844,963,965],{},[356,957,958],{},[368,959,585],{}," — bind with ",[368,962,843],{},[368,964,847],{},". Shows the current filename when a file exists, empty otherwise.",[674,967,969,971],{"id":968},"cwauiformfile-props",[368,970,847],{}," props",[361,973,975],{"className":546,"code":974,"language":548,"meta":366,"style":366},"\u003CCwaUiFormFile\n  v-model=\"filenameInputModel\"   \u003C!-- current filename for display -->\n  label=\"Image\"\n  :disabled=\"updating\"           \u003C!-- disable input while uploading -->\n  :file-exists=\"fileExists\"      \u003C!-- shows delete button when true -->\n  accept=\"image\u002F*\"               \u003C!-- optional MIME restriction -->\n  @change=\"handleInputChangeFile\"\n  @delete=\"handleInputDeleteFile\"\n\u002F>\n",[368,976,977,983,1017,1022,1027,1032,1037,1042,1047],{"__ignoreMap":366},[371,978,979,981],{"class":373,"line":374},[371,980,555],{"class":381},[371,982,570],{"class":558},[371,984,985,988,990,992,994,996,1000,1003,1006,1009,1012,1015],{"class":373,"line":412},[371,986,987],{"class":575},"  v-model",[371,989,579],{"class":381},[371,991,582],{"class":401},[371,993,585],{"class":385},[371,995,582],{"class":401},[371,997,999],{"class":998},"s0uA6","   \u003C!--",[371,1001,1002],{"class":575}," current",[371,1004,1005],{"class":575}," filename",[371,1007,1008],{"class":575}," for",[371,1010,1011],{"class":575}," display",[371,1013,1014],{"class":575}," --",[371,1016,562],{"class":381},[371,1018,1019],{"class":373,"line":419},[371,1020,1021],{"class":385},"  label=\"Image\"\n",[371,1023,1024],{"class":373,"line":472},[371,1025,1026],{"class":385},"  :disabled=\"updating\"           \u003C!-- disable input while uploading -->\n",[371,1028,1029],{"class":373,"line":480},[371,1030,1031],{"class":385},"  :file-exists=\"fileExists\"      \u003C!-- shows delete button when true -->\n",[371,1033,1034],{"class":373,"line":489},[371,1035,1036],{"class":385},"  accept=\"image\u002F*\"               \u003C!-- optional MIME restriction -->\n",[371,1038,1039],{"class":373,"line":497},[371,1040,1041],{"class":385},"  @change=\"handleInputChangeFile\"\n",[371,1043,1044],{"class":373,"line":505},[371,1045,1046],{"class":385},"  @delete=\"handleInputDeleteFile\"\n",[371,1048,1049],{"class":373,"line":513},[371,1050,1051],{"class":385},"\u002F>\n",[674,1053,1055],{"id":1054},"complete-admin-upload-tab-example","Complete admin upload tab example",[361,1057,1059],{"className":546,"code":1058,"language":548,"meta":366,"style":366},"\u003C!-- app\u002Fcwa\u002Fcomponents\u002FHeroSection\u002Fadmin\u002FImageTab.vue -->\n\u003Ctemplate>\n  \u003CCwaUiFormFile\n    v-model=\"filenameInputModel\"\n    label=\"Upload Image\"\n    :disabled=\"updating\"\n    :file-exists=\"fileExists\"\n    @change=\"handleInputChangeFile\"\n    @delete=\"handleInputDeleteFile\"\n  \u002F>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport { useCwaResourceManagerTab, useCwaResourceUpload } from '#imports'\n\nconst { exposeMeta, iri } = useCwaResourceManagerTab({ name: 'Upload' })\nconst { filenameInputModel, updating, fileExists, handleInputChangeFile, handleInputDeleteFile }\n  = useCwaResourceUpload(iri)\n\ndefineExpose(exposeMeta)\n\u003C\u002Fscript>\n",[368,1060,1061,1067,1075,1081,1093,1105,1117,1129,1141,1153,1157,1165,1169,1193,1216,1221,1258,1291,1301,1306,1313],{"__ignoreMap":366},[371,1062,1063],{"class":373,"line":374},[371,1064,1066],{"class":1065},"sTBSN","\u003C!-- app\u002Fcwa\u002Fcomponents\u002FHeroSection\u002Fadmin\u002FImageTab.vue -->\n",[371,1068,1069,1071,1073],{"class":373,"line":412},[371,1070,555],{"class":381},[371,1072,559],{"class":558},[371,1074,562],{"class":381},[371,1076,1077,1079],{"class":373,"line":419},[371,1078,567],{"class":381},[371,1080,570],{"class":558},[371,1082,1083,1085,1087,1089,1091],{"class":373,"line":472},[371,1084,576],{"class":575},[371,1086,579],{"class":381},[371,1088,582],{"class":401},[371,1090,585],{"class":405},[371,1092,588],{"class":401},[371,1094,1095,1097,1099,1101,1103],{"class":373,"line":480},[371,1096,593],{"class":575},[371,1098,579],{"class":381},[371,1100,582],{"class":401},[371,1102,600],{"class":405},[371,1104,588],{"class":401},[371,1106,1107,1109,1111,1113,1115],{"class":373,"line":489},[371,1108,607],{"class":575},[371,1110,579],{"class":381},[371,1112,582],{"class":401},[371,1114,614],{"class":405},[371,1116,588],{"class":401},[371,1118,1119,1121,1123,1125,1127],{"class":373,"line":497},[371,1120,621],{"class":575},[371,1122,579],{"class":381},[371,1124,582],{"class":401},[371,1126,628],{"class":405},[371,1128,588],{"class":401},[371,1130,1131,1133,1135,1137,1139],{"class":373,"line":505},[371,1132,635],{"class":575},[371,1134,579],{"class":381},[371,1136,582],{"class":401},[371,1138,642],{"class":405},[371,1140,588],{"class":401},[371,1142,1143,1145,1147,1149,1151],{"class":373,"line":513},[371,1144,649],{"class":575},[371,1146,579],{"class":381},[371,1148,582],{"class":401},[371,1150,656],{"class":405},[371,1152,588],{"class":401},[371,1154,1155],{"class":373,"line":519},[371,1156,663],{"class":381},[371,1158,1159,1161,1163],{"class":373,"line":532},[371,1160,668],{"class":381},[371,1162,559],{"class":558},[371,1164,562],{"class":381},[371,1166,1167],{"class":373,"line":537},[371,1168,416],{"emptyLinePlaceholder":415},[371,1170,1172,1174,1177,1180,1183,1185,1187,1189,1191],{"class":373,"line":1171},13,[371,1173,555],{"class":381},[371,1175,1176],{"class":558},"script",[371,1178,1179],{"class":575}," setup",[371,1181,1182],{"class":575}," lang",[371,1184,579],{"class":381},[371,1186,582],{"class":401},[371,1188,365],{"class":405},[371,1190,582],{"class":401},[371,1192,562],{"class":381},[371,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214],{"class":373,"line":1195},14,[371,1197,378],{"class":377},[371,1199,382],{"class":381},[371,1201,386],{"class":385},[371,1203,389],{"class":381},[371,1205,392],{"class":385},[371,1207,395],{"class":381},[371,1209,398],{"class":377},[371,1211,402],{"class":401},[371,1213,406],{"class":405},[371,1215,409],{"class":401},[371,1217,1219],{"class":373,"line":1218},15,[371,1220,416],{"emptyLinePlaceholder":415},[371,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256],{"class":373,"line":1223},16,[371,1225,423],{"class":422},[371,1227,382],{"class":381},[371,1229,429],{"class":428},[371,1231,389],{"class":381},[371,1233,434],{"class":428},[371,1235,395],{"class":381},[371,1237,440],{"class":439},[371,1239,386],{"class":443},[371,1241,446],{"class":385},[371,1243,449],{"class":381},[371,1245,453],{"class":452},[371,1247,456],{"class":381},[371,1249,402],{"class":401},[371,1251,461],{"class":405},[371,1253,464],{"class":401},[371,1255,395],{"class":381},[371,1257,469],{"class":385},[371,1259,1261,1263,1265,1268,1270,1273,1275,1278,1280,1283,1285,1288],{"class":373,"line":1260},17,[371,1262,423],{"class":422},[371,1264,382],{"class":381},[371,1266,1267],{"class":428}," filenameInputModel",[371,1269,389],{"class":381},[371,1271,1272],{"class":428}," updating",[371,1274,389],{"class":381},[371,1276,1277],{"class":428}," fileExists",[371,1279,389],{"class":381},[371,1281,1282],{"class":428}," handleInputChangeFile",[371,1284,389],{"class":381},[371,1286,1287],{"class":428}," handleInputDeleteFile",[371,1289,1290],{"class":381}," }\n",[371,1292,1294,1297,1299],{"class":373,"line":1293},18,[371,1295,1296],{"class":439},"  =",[371,1298,392],{"class":443},[371,1300,529],{"class":385},[371,1302,1304],{"class":373,"line":1303},19,[371,1305,416],{"emptyLinePlaceholder":415},[371,1307,1309,1311],{"class":373,"line":1308},20,[371,1310,540],{"class":443},[371,1312,543],{"class":385},[371,1314,1316,1318,1320],{"class":373,"line":1315},21,[371,1317,668],{"class":381},[371,1319,1176],{"class":558},[371,1321,562],{"class":381},[1323,1324,1325],"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 .sDHlG, html code.shiki .sDHlG{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#F07178}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 .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 .sBtbT, html code.shiki .sBtbT{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .s0uA6, html code.shiki .s0uA6{--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-default:#FDAEB7;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:inherit}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}",{"title":366,"searchDepth":412,"depth":412,"links":1327},[1328,1329,1330,1331,1333],{"id":676,"depth":412,"text":677},{"id":802,"depth":412,"text":803},{"id":918,"depth":412,"text":919},{"id":968,"depth":412,"text":1332},"CwaUiFormFile props",{"id":1054,"depth":412,"text":1055},"Admin tab composable for file upload fields — handles selection, upload, and deletion via the API.","md",null,{},{"title":259},{"title":344,"description":1334},"0y8hwD_ebgwxmgtGjagFvb9RnlDQdzjAZjSdOsYiIzE",[1342,1344],{"title":255,"path":256,"stem":257,"description":1343,"children":-1},"Two-way reactive binding between an admin form input and a single API resource field — every change PATCHes the API automatically.",{"title":268,"path":269,"stem":270,"description":1345,"children":-1},"Resolves the correct API endpoint URL for a resource, accounting for draft\u002Fpublished state in admin edit mode.",1782241285575]