[{"data":1,"prerenderedAt":1237},["ShallowReactive",2],{"navigation":3,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated":342,"\u002Fnuxt-module\u002Fcomposables\u002Fcomponent\u002Fuse-cwa-form-repeated-surround":1232},[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":346,"description":1226,"extension":1227,"links":345,"meta":1228,"navigation":1229,"path":239,"seo":1230,"stem":240,"__hash__":1231},"docs\u002F5.nuxt-module\u002F6.composables\u002F1.component\u002F6.use-cwa-form-repeated.md","useCwaFormRepeated",null,{"type":347,"value":348,"toc":1217},"minimark",[349,372,435,440,500,504,516,676,680,698,702,716,720,734,738,1175,1179,1213],[350,351,352,355,356,362,363,371],"p",{},[353,354,344],"code",{}," wraps two ",[357,358,359],"a",{"href":235},[353,360,361],{},"useCwaFormInput"," instances for a Symfony ",[357,364,368],{"href":365,"rel":366},"https:\u002F\u002Fsymfony.com\u002Fdoc\u002Fcurrent\u002Freference\u002Fforms\u002Ftypes\u002Frepeated.html",[367],"nofollow",[353,369,370],{},"RepeatedType"," field. Each side validates with the sibling's current value so the API can check that both entries match.",[373,374,379],"pre",{"className":375,"code":376,"language":377,"meta":378,"style":378},"language-ts shiki shiki-themes github-light github-dark material-theme-palenight","const { first, second } = useCwaFormRepeated(iri, 'form_name[fieldName]')\n","ts","",[353,380,381],{"__ignoreMap":378},[382,383,386,390,394,398,401,404,407,411,415,419,421,425,429,432],"span",{"class":384,"line":385},"line",1,[382,387,389],{"class":388},"swB56","const",[382,391,393],{"class":392},"sOvfz"," {",[382,395,397],{"class":396},"sc2zw"," first",[382,399,400],{"class":392},",",[382,402,403],{"class":396}," second",[382,405,406],{"class":392}," }",[382,408,410],{"class":409},"sVlFx"," =",[382,412,414],{"class":413},"sKpYG"," useCwaFormRepeated",[382,416,418],{"class":417},"sPB8G","(iri",[382,420,400],{"class":392},[382,422,424],{"class":423},"seSrl"," '",[382,426,428],{"class":427},"sLL54","form_name[fieldName]",[382,430,431],{"class":423},"'",[382,433,434],{"class":417},")\n",[436,437,439],"h2",{"id":438},"parameters","Parameters",[441,442,443,459],"table",{},[444,445,446],"thead",{},[447,448,449,453,456],"tr",{},[450,451,452],"th",{},"Parameter",[450,454,455],{},"Type",[450,457,458],{},"Description",[460,461,462,478],"tbody",{},[447,463,464,470,475],{},[465,466,467],"td",{},[353,468,469],{},"iri",[465,471,472],{},[353,473,474],{},"Ref\u003Cstring | undefined>",[465,476,477],{},"IRI of the Form component resource",[447,479,480,485,490],{},[465,481,482],{},[353,483,484],{},"fullName",[465,486,487],{},[353,488,489],{},"string",[465,491,492,495,496,499],{},[353,493,494],{},"full_name"," of the RepeatedType field (e.g. ",[353,497,498],{},"registration[plainPassword]",")",[436,501,503],{"id":502},"return-value","Return value",[350,505,506,507,510,511,515],{},"Returns ",[353,508,509],{},"{ first, second }"," — each has the same shape as a ",[357,512,513],{"href":235},[353,514,361],{}," return value:",[441,517,518,529],{},[444,519,520],{},[447,521,522,525,527],{},[450,523,524],{},"Property",[450,526,455],{},[450,528,458],{},[460,530,531,549,572,587,605,628,647,661],{},[447,532,533,538,543],{},[465,534,535],{},[353,536,537],{},"value",[465,539,540],{},[353,541,542],{},"Ref\u003Cstring>",[465,544,545,546],{},"Field value; bind with ",[353,547,548],{},"v-model=\"field.value.value\"",[447,550,551,556,561],{},[465,552,553],{},[353,554,555],{},"vars",[465,557,558],{},[353,559,560],{},"ComputedRef",[465,562,563,564,567,568,571],{},"Field vars from the API (",[353,565,566],{},"label",", ",[353,569,570],{},"required",", etc.)",[447,573,574,579,584],{},[465,575,576],{},[353,577,578],{},"errors",[465,580,581],{},[353,582,583],{},"ComputedRef\u003Cstring[]>",[465,585,586],{},"Field-level errors (see pair-mismatch note below)",[447,588,589,594,599],{},[465,590,591],{},[353,592,593],{},"valid",[465,595,596],{},[353,597,598],{},"ComputedRef\u003Cnull | boolean>",[465,600,601,604],{},[353,602,603],{},"null"," until both sub-fields have a value; then reads the parent RepeatedType node's validity",[447,606,607,612,617],{},[465,608,609],{},[353,610,611],{},"displayErrors",[465,613,614],{},[353,615,616],{},"ComputedRef\u003Cboolean>",[465,618,619,622,623,627],{},[353,620,621],{},"false"," until ",[624,625,626],"strong",{},"both"," fields have been blurred at least once (see below)",[447,629,630,635,640],{},[465,631,632],{},[353,633,634],{},"onBlur",[465,636,637],{},[353,638,639],{},"() => void",[465,641,642,643,646],{},"Call on the input's ",[353,644,645],{},"blur"," event",[447,648,649,654,658],{},[465,650,651],{},[353,652,653],{},"onInput",[465,655,656],{},[353,657,639],{},[465,659,660],{},"Debounced; triggers cross-field validation",[447,662,663,668,673],{},[465,664,665],{},[353,666,667],{},"validate",[465,669,670],{},[353,671,672],{},"(extraData?) => Promise\u003Cvoid>",[465,674,675],{},"Explicit validate (PATCH forms only)",[436,677,679],{"id":678},"error-display-gate","Error display gate",[350,681,682,684,685,622,687,689,690,693,694,697],{},[353,683,611],{}," is ",[353,686,621],{},[624,688,626],{}," ",[353,691,692],{},"first"," and ",[353,695,696],{},"second"," have each been blurred at least once. This prevents surfacing a mismatch error on the second field the moment the user focuses the first — both fields must be visited before any pair-level error is shown.",[436,699,701],{"id":700},"cross-field-validation","Cross-field validation",[350,703,704,693,706,708,709,712,713,715],{},[353,705,653],{},[353,707,634],{}," are overridden to pass the sibling's current value as ",[353,710,711],{},"extraData"," when it is non-empty. This lets the API validate that both entries match without requiring a full form submit. If the sibling field is still empty, no ",[353,714,711],{}," is sent.",[436,717,719],{"id":718},"pair-mismatch-errors","Pair-mismatch errors",[350,721,722,723,726,727,729,730,733],{},"Symfony attaches pair-mismatch errors to ",[353,724,725],{},"[first]",". When the mismatch is detected after the user typed in the ",[624,728,696],{}," field, the composable redirects those errors to ",[353,731,732],{},"second.errors"," so the message appears next to the field the user most recently edited.",[436,735,737],{"id":736},"example","Example",[373,739,743],{"className":740,"code":741,"language":742,"meta":378,"style":378},"language-vue shiki shiki-themes github-light github-dark material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst props = defineProps\u003C{ iri: string }>()\nconst iriRef = toRef(props, 'iri')\nconst password = useCwaFormRepeated(iriRef, 'registration[plainPassword]')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUFormField\n    :label=\"password.first.vars.value?.label || 'New Password'\"\n    :error=\"password.first.displayErrors.value ? password.first.errors.value[0] : undefined\"\n  >\n    \u003CUInput\n      v-model=\"password.first.value.value\"\n      type=\"password\"\n      autocomplete=\"new-password\"\n      @blur=\"password.first.onBlur\"\n      @input=\"password.first.onInput\"\n    \u002F>\n  \u003C\u002FUFormField>\n\n  \u003CUFormField\n    :label=\"password.second.vars.value?.label || 'Confirm Password'\"\n    :error=\"password.second.displayErrors.value ? password.second.errors.value[0] : undefined\"\n  >\n    \u003CUInput\n      v-model=\"password.second.value.value\"\n      type=\"password\"\n      autocomplete=\"new-password\"\n      @blur=\"password.second.onBlur\"\n      @input=\"password.second.onInput\"\n    \u002F>\n  \u003C\u002FUFormField>\n\u003C\u002Ftemplate>\n","vue",[353,744,745,774,807,833,858,868,875,885,894,910,925,931,940,955,970,985,1000,1015,1021,1032,1037,1044,1058,1072,1077,1084,1098,1111,1124,1138,1152,1157,1166],{"__ignoreMap":378},[382,746,747,750,754,758,761,764,767,769,771],{"class":384,"line":385},[382,748,749],{"class":392},"\u003C",[382,751,753],{"class":752},"s-h7I","script",[382,755,757],{"class":756},"sGtlX"," setup",[382,759,760],{"class":756}," lang",[382,762,763],{"class":392},"=",[382,765,766],{"class":423},"\"",[382,768,377],{"class":427},[382,770,766],{"class":423},[382,772,773],{"class":392},">\n",[382,775,777,779,782,784,787,790,794,797,801,804],{"class":384,"line":776},2,[382,778,389],{"class":388},[382,780,781],{"class":396}," props",[382,783,410],{"class":409},[382,785,786],{"class":413}," defineProps",[382,788,789],{"class":392},"\u003C{",[382,791,793],{"class":792},"ssFBz"," iri",[382,795,796],{"class":409},":",[382,798,800],{"class":799},"sbW4m"," string",[382,802,803],{"class":392}," }>",[382,805,806],{"class":417},"()\n",[382,808,810,812,815,817,820,823,825,827,829,831],{"class":384,"line":809},3,[382,811,389],{"class":388},[382,813,814],{"class":396}," iriRef",[382,816,410],{"class":409},[382,818,819],{"class":413}," toRef",[382,821,822],{"class":417},"(props",[382,824,400],{"class":392},[382,826,424],{"class":423},[382,828,469],{"class":427},[382,830,431],{"class":423},[382,832,434],{"class":417},[382,834,836,838,841,843,845,848,850,852,854,856],{"class":384,"line":835},4,[382,837,389],{"class":388},[382,839,840],{"class":396}," password",[382,842,410],{"class":409},[382,844,414],{"class":413},[382,846,847],{"class":417},"(iriRef",[382,849,400],{"class":392},[382,851,424],{"class":423},[382,853,498],{"class":427},[382,855,431],{"class":423},[382,857,434],{"class":417},[382,859,861,864,866],{"class":384,"line":860},5,[382,862,863],{"class":392},"\u003C\u002F",[382,865,753],{"class":752},[382,867,773],{"class":392},[382,869,871],{"class":384,"line":870},6,[382,872,874],{"emptyLinePlaceholder":873},true,"\n",[382,876,878,880,883],{"class":384,"line":877},7,[382,879,749],{"class":392},[382,881,882],{"class":752},"template",[382,884,773],{"class":392},[382,886,888,891],{"class":384,"line":887},8,[382,889,890],{"class":392},"  \u003C",[382,892,893],{"class":752},"UFormField\n",[382,895,897,900,902,904,907],{"class":384,"line":896},9,[382,898,899],{"class":756},"    :label",[382,901,763],{"class":392},[382,903,766],{"class":423},[382,905,906],{"class":427},"password.first.vars.value?.label || 'New Password'",[382,908,909],{"class":423},"\"\n",[382,911,913,916,918,920,923],{"class":384,"line":912},10,[382,914,915],{"class":756},"    :error",[382,917,763],{"class":392},[382,919,766],{"class":423},[382,921,922],{"class":427},"password.first.displayErrors.value ? password.first.errors.value[0] : undefined",[382,924,909],{"class":423},[382,926,928],{"class":384,"line":927},11,[382,929,930],{"class":392},"  >\n",[382,932,934,937],{"class":384,"line":933},12,[382,935,936],{"class":392},"    \u003C",[382,938,939],{"class":752},"UInput\n",[382,941,943,946,948,950,953],{"class":384,"line":942},13,[382,944,945],{"class":756},"      v-model",[382,947,763],{"class":392},[382,949,766],{"class":423},[382,951,952],{"class":427},"password.first.value.value",[382,954,909],{"class":423},[382,956,958,961,963,965,968],{"class":384,"line":957},14,[382,959,960],{"class":756},"      type",[382,962,763],{"class":392},[382,964,766],{"class":423},[382,966,967],{"class":427},"password",[382,969,909],{"class":423},[382,971,973,976,978,980,983],{"class":384,"line":972},15,[382,974,975],{"class":756},"      autocomplete",[382,977,763],{"class":392},[382,979,766],{"class":423},[382,981,982],{"class":427},"new-password",[382,984,909],{"class":423},[382,986,988,991,993,995,998],{"class":384,"line":987},16,[382,989,990],{"class":756},"      @blur",[382,992,763],{"class":392},[382,994,766],{"class":423},[382,996,997],{"class":427},"password.first.onBlur",[382,999,909],{"class":423},[382,1001,1003,1006,1008,1010,1013],{"class":384,"line":1002},17,[382,1004,1005],{"class":756},"      @input",[382,1007,763],{"class":392},[382,1009,766],{"class":423},[382,1011,1012],{"class":427},"password.first.onInput",[382,1014,909],{"class":423},[382,1016,1018],{"class":384,"line":1017},18,[382,1019,1020],{"class":392},"    \u002F>\n",[382,1022,1024,1027,1030],{"class":384,"line":1023},19,[382,1025,1026],{"class":392},"  \u003C\u002F",[382,1028,1029],{"class":752},"UFormField",[382,1031,773],{"class":392},[382,1033,1035],{"class":384,"line":1034},20,[382,1036,874],{"emptyLinePlaceholder":873},[382,1038,1040,1042],{"class":384,"line":1039},21,[382,1041,890],{"class":392},[382,1043,893],{"class":752},[382,1045,1047,1049,1051,1053,1056],{"class":384,"line":1046},22,[382,1048,899],{"class":756},[382,1050,763],{"class":392},[382,1052,766],{"class":423},[382,1054,1055],{"class":427},"password.second.vars.value?.label || 'Confirm Password'",[382,1057,909],{"class":423},[382,1059,1061,1063,1065,1067,1070],{"class":384,"line":1060},23,[382,1062,915],{"class":756},[382,1064,763],{"class":392},[382,1066,766],{"class":423},[382,1068,1069],{"class":427},"password.second.displayErrors.value ? password.second.errors.value[0] : undefined",[382,1071,909],{"class":423},[382,1073,1075],{"class":384,"line":1074},24,[382,1076,930],{"class":392},[382,1078,1080,1082],{"class":384,"line":1079},25,[382,1081,936],{"class":392},[382,1083,939],{"class":752},[382,1085,1087,1089,1091,1093,1096],{"class":384,"line":1086},26,[382,1088,945],{"class":756},[382,1090,763],{"class":392},[382,1092,766],{"class":423},[382,1094,1095],{"class":427},"password.second.value.value",[382,1097,909],{"class":423},[382,1099,1101,1103,1105,1107,1109],{"class":384,"line":1100},27,[382,1102,960],{"class":756},[382,1104,763],{"class":392},[382,1106,766],{"class":423},[382,1108,967],{"class":427},[382,1110,909],{"class":423},[382,1112,1114,1116,1118,1120,1122],{"class":384,"line":1113},28,[382,1115,975],{"class":756},[382,1117,763],{"class":392},[382,1119,766],{"class":423},[382,1121,982],{"class":427},[382,1123,909],{"class":423},[382,1125,1127,1129,1131,1133,1136],{"class":384,"line":1126},29,[382,1128,990],{"class":756},[382,1130,763],{"class":392},[382,1132,766],{"class":423},[382,1134,1135],{"class":427},"password.second.onBlur",[382,1137,909],{"class":423},[382,1139,1141,1143,1145,1147,1150],{"class":384,"line":1140},30,[382,1142,1005],{"class":756},[382,1144,763],{"class":392},[382,1146,766],{"class":423},[382,1148,1149],{"class":427},"password.second.onInput",[382,1151,909],{"class":423},[382,1153,1155],{"class":384,"line":1154},31,[382,1156,1020],{"class":392},[382,1158,1160,1162,1164],{"class":384,"line":1159},32,[382,1161,1026],{"class":392},[382,1163,1029],{"class":752},[382,1165,773],{"class":392},[382,1167,1169,1171,1173],{"class":384,"line":1168},33,[382,1170,863],{"class":392},[382,1172,882],{"class":752},[382,1174,773],{"class":392},[436,1176,1178],{"id":1177},"notes","Notes",[1180,1181,1182,1193,1206],"ul",{},[1183,1184,1185,1186,693,1189,1192],"li",{},"Internally maps to ",[353,1187,1188],{},"{fullName}[first]",[353,1190,1191],{},"{fullName}[second]"," — these match Symfony's RepeatedType child names",[1183,1194,1195,1196,1198,1199,1201,1202,1205],{},"Each side registers its own ",[353,1197,494],{}," in the form store via ",[353,1200,361],{}," — ",[353,1203,1204],{},"useCwaForm.unregisteredFieldErrors"," will not include them",[1183,1207,1208,1209,1212],{},"See the ",[357,1210,1211],{"href":302},"Forms guide"," for full context",[1214,1215,1216],"style",{},"html pre.shiki code .swB56, html code.shiki .swB56{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#C792EA}html pre.shiki code .sOvfz, html code.shiki .sOvfz{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}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 .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 .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 .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}",{"title":378,"searchDepth":776,"depth":776,"links":1218},[1219,1220,1221,1222,1223,1224,1225],{"id":438,"depth":776,"text":439},{"id":502,"depth":776,"text":503},{"id":678,"depth":776,"text":679},{"id":700,"depth":776,"text":701},{"id":718,"depth":776,"text":719},{"id":736,"depth":776,"text":737},{"id":1177,"depth":776,"text":1178},"Bind a Symfony RepeatedType field (e.g. new password + confirmation) with cross-field validation.","md",{},{"title":238},{"title":344,"description":1226},"CdM4DrUmGAlv9HvCLBECvaToiflv97WWN-IHXK6u3wo",[1233,1235],{"title":234,"path":235,"stem":236,"description":1234,"children":-1},"Bind a single Symfony form field to a reactive value, validate on input, and control when errors are displayed.",{"title":242,"path":243,"stem":244,"description":1236,"children":-1},"Manage a Symfony CollectionType field — dynamically add and remove entries at runtime.",1782241283976]