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