[{"data":1,"prerenderedAt":3139},["ShallowReactive",2],{"navigation":3,"i-custom:logo":92,"i-lucide:search":96,"i-lucide:moon":98,"i-lucide:sun":100,"i-simple-icons:github":102,"i-lucide:menu":104,"i-lucide:house":106,"i-lucide:package":108,"i-lucide:play":110,"i-simple-icons:nuxtdotjs":112,"i-lucide:arrow-right-left":114,"i-lucide:square":116,"i-lucide:text-cursor-input":118,"i-lucide:message-circle-warning":120,"i-lucide:list":122,"i-lucide:code":124,"i-lucide:share-2":126,"i-lucide:shield-check":128,"i-lucide:chevron-down":130,"\u002Fget-started\u002Fmigration":132,"\u002Fget-started\u002Fmigration-surround":3128,"i-lucide:copy":3133,"i-lucide:text-align-start":3135,"i-lucide:hash":3137},[4,33,58,68,83],{"title":5,"path":6,"stem":7,"children":8,"icon":32},"Get Started","\u002Fget-started","1.get-started\u002F1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fget-started\u002Finstallation","1.get-started\u002F2.installation","i-lucide-package",{"title":18,"path":19,"stem":20,"icon":21},"Quickstart","\u002Fget-started\u002Fquickstart","1.get-started\u002F3.quickstart","i-lucide-play",{"title":23,"path":24,"stem":25,"icon":26},"Nuxt Module","\u002Fget-started\u002Fnuxt-module","1.get-started\u002F4.nuxt-module","i-simple-icons-nuxtdotjs",{"title":28,"path":29,"stem":30,"icon":31},"Migrating to v2","\u002Fget-started\u002Fmigration","1.get-started\u002F5.migration","i-lucide-arrow-right-left",false,{"title":34,"icon":32,"path":35,"stem":36,"children":37,"page":32},"Components","\u002Fcomponents","2.components",[38,43,48,53],{"title":39,"path":40,"stem":41,"icon":42},"NotForm","\u002Fcomponents\u002Fnot-form","2.components\u002F1.not-form","i-lucide-square",{"title":44,"path":45,"stem":46,"icon":47},"NotField","\u002Fcomponents\u002Fnot-field","2.components\u002F2.not-field","i-lucide-text-cursor-input",{"title":49,"path":50,"stem":51,"icon":52},"NotMessage","\u002Fcomponents\u002Fnot-message","2.components\u002F3.not-message","i-lucide-message-circle-warning",{"title":54,"path":55,"stem":56,"icon":57},"NotArrayField","\u002Fcomponents\u002Fnot-array-field","2.components\u002F4.not-array-field","i-lucide-list",{"title":59,"icon":32,"path":60,"stem":61,"children":62,"page":32},"Composables","\u002Fcomposables","3.composables",[63],{"title":64,"path":65,"stem":66,"icon":67},"useNotForm","\u002Fcomposables\u002Fuse-not-form","3.composables\u002F1.use-not-form","i-lucide-code",{"title":69,"icon":32,"path":70,"stem":71,"children":72,"page":32},"Advanced","\u002Fadvanced","4.advanced",[73,78],{"title":74,"path":75,"stem":76,"icon":77},"Pinia & Composables","\u002Fadvanced\u002Fpinia-and-composables","4.advanced\u002F2.pinia-and-composables","i-lucide-share-2",{"title":79,"path":80,"stem":81,"icon":82},"Validation","\u002Fadvanced\u002Fvalidation","4.advanced\u002F3.validation","i-lucide-shield-check",{"title":84,"icon":32,"path":85,"stem":86,"children":87,"page":32},"Working with AI","\u002Fai","5.ai",[88],{"title":89,"path":90,"stem":91},"LLMs.txt","\u002Fai\u002Fllms-txt","5.ai\u002F1.llms-txt",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":95},0,24,"\u003Cg fill=\"none\">\u003C!--field 1-->\n  \u003Crect x=\"0.5\" y=\"0.5\" width=\"23\" height=\"3\" rx=\"0.3\" stroke=\"currentColor\" stroke-opacity=\"0.5\" stroke-width=\"0.3\"\u002F>\n\u003C!--field 2 — active-->\n  \u003Crect x=\"0.5\" y=\"4.3\" width=\"23\" height=\"3\" rx=\"0.3\" fill=\"currentColor\" fill-opacity=\"0.12\" stroke=\"currentColor\" stroke-opacity=\"0.75\" stroke-width=\"0.3\"\u002F>\n  \u003Crect x=\"1\" y=\"5.7\" width=\"8\" height=\"0.3\" rx=\"0.2\" fill=\"currentColor\" fill-opacity=\"0.5\"\u002F>\n\u003C!--field 3-->\n  \u003Crect x=\"0.5\" y=\"8.6\" width=\"23\" height=\"3\" rx=\"0.3\" stroke=\"currentColor\" stroke-opacity=\"0.5\" stroke-width=\"0.3\"\u002F>\n\u003C!--button-->\n  \u003Crect x=\"0.5\" y=\"12.9\" width=\"9.9\" height=\"3\" rx=\"0.3\" fill=\"currentColor\" fill-opacity=\"0.2\" stroke=\"currentColor\" stroke-width=\"0.2\"\u002F>\n  \u003Crect x=\"2.2\" y=\"14.3\" width=\"5.5\" height=\"0.4\" rx=\"0.2\" fill=\"currentColor\" fill-opacity=\"0.85\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":97},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":99},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":101},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":103},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":105},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":107},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"\u002F>\u003Cpath d=\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":109},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73zm1 .27V12\"\u002F>\u003Cpath d=\"M3.29 7L12 12l8.71-5M7.5 4.27l9 5.15\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":111},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":113},"\u003Cpath fill=\"currentColor\" d=\"M13.464 19.83h8.922c.283 0 .562-.073.807-.21a1.6 1.6 0 0 0 .591-.574a1.53 1.53 0 0 0 .216-.783a1.53 1.53 0 0 0-.217-.782L17.792 7.414a1.6 1.6 0 0 0-.591-.573a1.65 1.65 0 0 0-.807-.21c-.283 0-.562.073-.807.21a1.6 1.6 0 0 0-.59.573L13.463 9.99L10.47 4.953a1.6 1.6 0 0 0-.591-.573a1.65 1.65 0 0 0-.807-.21c-.284 0-.562.073-.807.21a1.6 1.6 0 0 0-.591.573L.216 17.481a1.53 1.53 0 0 0-.217.782c0 .275.074.545.216.783a1.6 1.6 0 0 0 .59.574c.246.137.525.21.808.21h5.6c2.22 0 3.856-.946 4.982-2.79l2.733-4.593l1.464-2.457l4.395 7.382h-5.859Zm-6.341-2.46l-3.908-.002l5.858-9.842l2.923 4.921l-1.957 3.29c-.748 1.196-1.597 1.632-2.916 1.632\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":115},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16 3l4 4l-4 4m4-4H4m4 14l-4-4l4-4m-4 4h16\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":117},"\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" rx=\"2\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":119},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 20h-1a2 2 0 0 1-2-2a2 2 0 0 1-2 2H6m7-12h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7m-8 0H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1m1-4h1a2 2 0 0 1 2 2a2 2 0 0 1 2-2h1M9 6v12\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":121},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719M12 8v4m0 4h.01\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":123},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":125},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16 18l6-6l-6-6M8 6l-6 6l6 6\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":127},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"5\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"12\" r=\"3\"\u002F>\u003Ccircle cx=\"18\" cy=\"19\" r=\"3\"\u002F>\u003Cpath d=\"m8.59 13.51l6.83 3.98m-.01-10.98l-6.82 3.98\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":129},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":131},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"id":133,"title":28,"body":134,"description":3122,"extension":3123,"meta":3124,"navigation":3125,"path":29,"seo":3126,"stem":30,"__hash__":3127},"docs\u002F1.get-started\u002F5.migration.md",{"type":135,"value":136,"toc":3099},"minimark",[137,141,144,149,152,198,213,217,220,226,418,423,477,482,571,577,666,672,714,718,724,730,851,860,944,963,1066,1076,1154,1164,1211,1221,1302,1313,1325,1391,1412,1476,1486,1492,1499,1604,1619,1689,1700,1852,1858,1872,2076,2094,2100,2113,2130,2136,2636,2644,2650,2657,2726,2730,2733,2748,2786,2796,2863,2882,3007,3018,3095],[138,139,140],"p",{},"v2 is a near-complete rewrite of the internals. The component names, the validation model, and the array field system all got meaningful upgrades — but the surface area you interact with every day barely changed. Most migrations are a search-and-replace job with a few targeted fixes.",[138,142,143],{},"There are no separate v1 docs. The differences are small enough that this page should be all you need.",[145,146,148],"h2",{"id":147},"why-v2","Why v2?",[138,150,151],{},"v1 had a few rough edges that became harder to paper over as the library grew:",[153,154,155,164,174,180,188],"ul",{},[156,157,158,159,163],"li",{},"The form instance was a bag of destructured values. You'd do ",[160,161,162],"code",{},"const { state, id, submit, errors } = useNotForm(...)"," and end up importing half the instance into every component that needed it.",[156,165,166,169,170,173],{},[160,167,168],{},"\u003CNotForm>"," required an ",[160,171,172],{},"id"," string instead of the instance itself, so the component and the composable were loosely coupled.",[156,175,176,179],{},[160,177,178],{},"\u003CNotField>"," only got its form context via provide\u002Finject — no way to use a field standalone without some creative workarounds.",[156,181,182,183,187],{},"Array field keys ",[184,185,186],"em",{},"looked"," stable but weren't guaranteed to survive a swap or move, which caused subtle DOM thrashing.",[156,189,190,193,194,197],{},[160,191,192],{},"validateOn"," was an array of strings (",[160,195,196],{},"['blur', 'input']",") with no way to override individual triggers per field.",[138,199,200,201,204,205,208,209,212],{},"v2 fixes all of that and adds a few things that weren't possible before: per-field trigger overrides, a ",[160,202,203],{},"swap","\u002F",[160,206,207],{},"move"," API for array fields, an ",[160,210,211],{},"errorsMap"," for direct template access, and a proper singleton pattern for fields that live outside a form context.",[145,214,216],{"id":215},"quick-reference","Quick reference",[138,218,219],{},"Everything below in one place.",[221,222,224],"h3",{"id":223},"usenotform",[160,225,64],{},[227,228,229,242],"table",{},[230,231,232],"thead",{},[233,234,235,239],"tr",{},[236,237,238],"th",{},"v1",[236,240,241],{},"v2",[243,244,245,258,270,282,293,302,311,326,350,362,374,391,405],"tbody",{},[233,246,247,253],{},[248,249,250],"td",{},[160,251,252],{},"initialState",[248,254,255],{},[160,256,257],{},"initialValues",[233,259,260,265],{},[248,261,262],{},[160,263,264],{},"mode: 'lazy' | 'eager'",[248,266,267],{},[160,268,269],{},"validationMode: { eager?: boolean, lazy?: boolean }",[233,271,272,277],{},[248,273,274],{},[160,275,276],{},"validateOn: string[]",[248,278,279],{},[160,280,281],{},"validateOn: Partial\u003CRecord\u003CValidationTrigger, boolean>>",[233,283,284,290],{},[248,285,286,289],{},[160,287,288],{},"onValidate"," callback",[248,291,292],{},"removed",[233,294,295,300],{},[248,296,297,289],{},[160,298,299],{},"onReset",[248,301,292],{},[233,303,304,309],{},[248,305,306,289],{},[160,307,308],{},"onError",[248,310,292],{},[233,312,313,319],{},[248,314,315,316],{},"Returns ",[160,317,318],{},"{ state, id, submit, ... }",[248,320,321,322,325],{},"Returns a single ",[160,323,324],{},"form"," instance",[233,327,328,342],{},[248,329,330,333,334,337,338,341],{},[160,331,332],{},"state"," (",[160,335,336],{},"Ref\u003CInput>",", needs ",[160,339,340],{},".value",")",[248,343,344,347,348,341],{},[160,345,346],{},"form.values"," (plain reactive, no ",[160,349,340],{},[233,351,352,357],{},[248,353,354],{},[160,355,356],{},"setState(partial, validate?)",[248,358,359],{},[160,360,361],{},"form.setValue(path, value)",[233,363,364,369],{},[248,365,366],{},[160,367,368],{},"setErrors(issues)",[248,370,371],{},[160,372,373],{},"form.setErrors(issues)",[233,375,376,381],{},[248,377,378],{},[160,379,380],{},"reset(state?, errors?, validate?)",[248,382,383,386,387,390],{},[160,384,385],{},"form.reset(values?, errors?)"," (no ",[160,388,389],{},"validate"," param)",[233,392,393,402],{},[248,394,395,398,399],{},[160,396,397],{},"touchAllFields()"," \u002F ",[160,400,401],{},"dirtyAllFields()",[248,403,404],{},"removed — called internally on submit",[233,406,407,412],{},[248,408,409,410],{},"No ",[160,411,211],{},[248,413,414,417],{},[160,415,416],{},"form.errorsMap"," — flat computed map of path → first error",[221,419,421],{"id":420},"notform",[160,422,168],{},[227,424,425,433],{},[230,426,427],{},[233,428,429,431],{},[236,430,238],{},[236,432,241],{},[243,434,435,447,469],{},[233,436,437,442],{},[248,438,439],{},[160,440,441],{},":id=\"id\"",[248,443,444],{},[160,445,446],{},":form=\"form\"",[233,448,449,458],{},[248,450,451,398,454,457],{},[160,452,453],{},"as",[160,455,456],{},"asChild"," props",[248,459,460,461,464,465,468],{},"attribute forwarding (pass ",[160,462,463],{},"class",", ",[160,466,467],{},"novalidate",", etc. directly)",[233,470,471,474],{},[248,472,473],{},"Default slot exposes form context",[248,475,476],{},"Default slot has no slot props",[221,478,480],{"id":479},"notfield",[160,481,178],{},[227,483,484,492],{},[230,485,486],{},[233,487,488,490],{},[236,489,238],{},[236,491,241],{},[243,493,494,507,519,535,548,559],{},[233,495,496,502],{},[248,497,498,501],{},[160,499,500],{},"name"," prop",[248,503,504,501],{},[160,505,506],{},"path",[233,508,509,514],{},[248,510,511],{},[160,512,513],{},"v-slot=\"{ methods }\"",[248,515,516],{},[160,517,518],{},"v-slot=\"{ events }\"",[233,520,521,526],{},[248,522,523],{},[160,524,525],{},"errors: string[]",[248,527,528,531,532,341],{},[160,529,530],{},"errors: StandardSchemaV1.Issue[]"," (use ",[160,533,534],{},".message",[233,536,537,542],{},[248,538,409,539,501],{},[160,540,541],{},":form",[248,543,544,545,547],{},"Optional ",[160,546,541],{}," prop — singleton pattern",[233,549,550,554],{},[248,551,409,552,501],{},[160,553,192],{},[248,555,556,558],{},[160,557,192],{}," prop — per-field trigger overrides",[233,560,561,567],{},[248,562,409,563,566],{},[160,564,565],{},"isValidating"," slot prop",[248,568,569,566],{},[160,570,565],{},[221,572,574],{"id":573},"notarrayfield",[160,575,576],{},"\u003CNotArrayField>",[227,578,579,587],{},[230,580,581],{},[233,582,583,585],{},[236,584,238],{},[236,586,241],{},[243,588,589,599,613,625,641,658],{},[233,590,591,595],{},[248,592,593,501],{},[160,594,500],{},[248,596,597,501],{},[160,598,506],{},[233,600,601,607],{},[248,602,603,606],{},[160,604,605],{},":schema"," prop required",[248,608,609,612],{},[160,610,611],{},":item-schema"," prop optional",[233,614,615,620],{},[248,616,617,566],{},[160,618,619],{},"fields",[248,621,622,566],{},[160,623,624],{},"items",[233,626,627,638],{},[248,628,629,464,632,464,635],{},[160,630,631],{},"field.value",[160,633,634],{},"field.first",[160,636,637],{},"field.last",[248,639,640],{},"removed from item shape",[233,642,643,649],{},[248,644,409,645,398,647],{},[160,646,203],{},[160,648,207],{},[248,650,651,654,655],{},[160,652,653],{},"swap(a, b)"," and ",[160,656,657],{},"move(from, to)",[233,659,660,663],{},[248,661,662],{},"Keys not guaranteed across reorders",[248,664,665],{},"Keys are stable across all mutations",[221,667,669],{"id":668},"notmessage",[160,670,671],{},"\u003CNotMessage>",[227,673,674,682],{},[230,675,676],{},[233,677,678,680],{},[236,679,238],{},[236,681,241],{},[243,683,684,694,704],{},[233,685,686,690],{},[248,687,688,501],{},[160,689,500],{},[248,691,692,501],{},[160,693,506],{},[233,695,696,700],{},[248,697,409,698,501],{},[160,699,541],{},[248,701,544,702,501],{},[160,703,541],{},[233,705,706,709],{},[248,707,708],{},"No slot props",[248,710,711],{},[160,712,713],{},"v-slot=\"{ message, attributes }\"",[145,715,717],{"id":716},"step-by-step","Step by step",[221,719,721,722],{"id":720},"_1-update-usenotform","1. Update ",[160,723,64],{},[138,725,726,727,729],{},"The biggest change is that the composable now returns a single ",[160,728,324],{}," object instead of a bag of individual refs. Stop destructuring.",[731,732,737],"pre",{"className":733,"code":734,"language":735,"meta":736,"style":736},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F v1\nconst { state, id, submit, errors, isValid } = useNotForm({ ... })\n\n\u002F\u002F v2\nconst form = useNotForm({ ... })\n\u002F\u002F form.values, form.submit, form.errors, form.isValid, ...\n","ts","",[160,738,739,748,809,816,822,845],{"__ignoreMap":736},[740,741,744],"span",{"class":742,"line":743},"line",1,[740,745,747],{"class":746},"sHwdD","\u002F\u002F v1\n",[740,749,751,755,759,763,766,769,771,774,776,779,781,784,787,790,794,797,800,803,806],{"class":742,"line":750},2,[740,752,754],{"class":753},"spNyl","const",[740,756,758],{"class":757},"sMK4o"," {",[740,760,762],{"class":761},"sTEyZ"," state",[740,764,765],{"class":757},",",[740,767,768],{"class":761}," id",[740,770,765],{"class":757},[740,772,773],{"class":761}," submit",[740,775,765],{"class":757},[740,777,778],{"class":761}," errors",[740,780,765],{"class":757},[740,782,783],{"class":761}," isValid ",[740,785,786],{"class":757},"}",[740,788,789],{"class":757}," =",[740,791,793],{"class":792},"s2Zo4"," useNotForm",[740,795,796],{"class":761},"(",[740,798,799],{"class":757},"{",[740,801,802],{"class":757}," ...",[740,804,805],{"class":757}," }",[740,807,808],{"class":761},")\n",[740,810,812],{"class":742,"line":811},3,[740,813,815],{"emptyLinePlaceholder":814},true,"\n",[740,817,819],{"class":742,"line":818},4,[740,820,821],{"class":746},"\u002F\u002F v2\n",[740,823,825,827,830,833,835,837,839,841,843],{"class":742,"line":824},5,[740,826,754],{"class":753},[740,828,829],{"class":761}," form ",[740,831,832],{"class":757},"=",[740,834,793],{"class":792},[740,836,796],{"class":761},[740,838,799],{"class":757},[740,840,802],{"class":757},[740,842,805],{"class":757},[740,844,808],{"class":761},[740,846,848],{"class":742,"line":847},6,[740,849,850],{"class":746},"\u002F\u002F form.values, form.submit, form.errors, form.isValid, ...\n",[138,852,853,854,856,857,859],{},"Rename ",[160,855,252],{}," to ",[160,858,257],{},". The value is still deeply cloned on init — that hasn't changed.",[731,861,863],{"className":733,"code":862,"language":735,"meta":736,"style":736},"\u002F\u002F v1\nuseNotForm({ schema, initialState: { email: '' } })\n\n\u002F\u002F v2\nuseNotForm({ schema, initialValues: { email: '' } })\n",[160,864,865,869,905,909,913],{"__ignoreMap":736},[740,866,867],{"class":742,"line":743},[740,868,747],{"class":746},[740,870,871,873,875,877,880,882,886,889,891,894,896,899,901,903],{"class":742,"line":750},[740,872,64],{"class":792},[740,874,796],{"class":761},[740,876,799],{"class":757},[740,878,879],{"class":761}," schema",[740,881,765],{"class":757},[740,883,885],{"class":884},"swJcz"," initialState",[740,887,888],{"class":757},":",[740,890,758],{"class":757},[740,892,893],{"class":884}," email",[740,895,888],{"class":757},[740,897,898],{"class":757}," ''",[740,900,805],{"class":757},[740,902,805],{"class":757},[740,904,808],{"class":761},[740,906,907],{"class":742,"line":811},[740,908,815],{"emptyLinePlaceholder":814},[740,910,911],{"class":742,"line":818},[740,912,821],{"class":746},[740,914,915,917,919,921,923,925,928,930,932,934,936,938,940,942],{"class":742,"line":824},[740,916,64],{"class":792},[740,918,796],{"class":761},[740,920,799],{"class":757},[740,922,879],{"class":761},[740,924,765],{"class":757},[740,926,927],{"class":884}," initialValues",[740,929,888],{"class":757},[740,931,758],{"class":757},[740,933,893],{"class":884},[740,935,888],{"class":757},[740,937,898],{"class":757},[740,939,805],{"class":757},[740,941,805],{"class":757},[740,943,808],{"class":761},[138,945,946,948,949,464,952,464,955,958,959,962],{},[160,947,192],{}," changed from an array of strings to an object of booleans. The same three defaults apply (",[160,950,951],{},"onBlur",[160,953,954],{},"onChange",[160,956,957],{},"onInput"," all ",[160,960,961],{},"true","), you just express overrides differently now.",[731,964,966],{"className":733,"code":965,"language":735,"meta":736,"style":736},"\u002F\u002F v1\nuseNotForm({ schema, validateOn: ['blur', 'change'] }) \u002F\u002F input is implicitly off\n\n\u002F\u002F v2\nuseNotForm({ schema, validateOn: { onInput: false } }) \u002F\u002F only disable what you don't want\n",[160,967,968,972,1022,1026,1030],{"__ignoreMap":736},[740,969,970],{"class":742,"line":743},[740,971,747],{"class":746},[740,973,974,976,978,980,982,984,987,989,992,995,999,1001,1003,1006,1009,1011,1014,1016,1019],{"class":742,"line":750},[740,975,64],{"class":792},[740,977,796],{"class":761},[740,979,799],{"class":757},[740,981,879],{"class":761},[740,983,765],{"class":757},[740,985,986],{"class":884}," validateOn",[740,988,888],{"class":757},[740,990,991],{"class":761}," [",[740,993,994],{"class":757},"'",[740,996,998],{"class":997},"sfazB","blur",[740,1000,994],{"class":757},[740,1002,765],{"class":757},[740,1004,1005],{"class":757}," '",[740,1007,1008],{"class":997},"change",[740,1010,994],{"class":757},[740,1012,1013],{"class":761},"] ",[740,1015,786],{"class":757},[740,1017,1018],{"class":761},") ",[740,1020,1021],{"class":746},"\u002F\u002F input is implicitly off\n",[740,1023,1024],{"class":742,"line":811},[740,1025,815],{"emptyLinePlaceholder":814},[740,1027,1028],{"class":742,"line":818},[740,1029,821],{"class":746},[740,1031,1032,1034,1036,1038,1040,1042,1044,1046,1048,1051,1053,1057,1059,1061,1063],{"class":742,"line":824},[740,1033,64],{"class":792},[740,1035,796],{"class":761},[740,1037,799],{"class":757},[740,1039,879],{"class":761},[740,1041,765],{"class":757},[740,1043,986],{"class":884},[740,1045,888],{"class":757},[740,1047,758],{"class":757},[740,1049,1050],{"class":884}," onInput",[740,1052,888],{"class":757},[740,1054,1056],{"class":1055},"sfNiH"," false",[740,1058,805],{"class":757},[740,1060,805],{"class":757},[740,1062,1018],{"class":761},[740,1064,1065],{"class":746},"\u002F\u002F only disable what you don't want\n",[138,1067,1068,1071,1072,1075],{},[160,1069,1070],{},"mode"," became ",[160,1073,1074],{},"validationMode"," and is now an object too.",[731,1077,1079],{"className":733,"code":1078,"language":735,"meta":736,"style":736},"\u002F\u002F v1\nuseNotForm({ schema, mode: 'lazy' })\n\n\u002F\u002F v2\nuseNotForm({ schema, validationMode: { lazy: true } })\n",[160,1080,1081,1085,1113,1117,1121],{"__ignoreMap":736},[740,1082,1083],{"class":742,"line":743},[740,1084,747],{"class":746},[740,1086,1087,1089,1091,1093,1095,1097,1100,1102,1104,1107,1109,1111],{"class":742,"line":750},[740,1088,64],{"class":792},[740,1090,796],{"class":761},[740,1092,799],{"class":757},[740,1094,879],{"class":761},[740,1096,765],{"class":757},[740,1098,1099],{"class":884}," mode",[740,1101,888],{"class":757},[740,1103,1005],{"class":757},[740,1105,1106],{"class":997},"lazy",[740,1108,994],{"class":757},[740,1110,805],{"class":757},[740,1112,808],{"class":761},[740,1114,1115],{"class":742,"line":811},[740,1116,815],{"emptyLinePlaceholder":814},[740,1118,1119],{"class":742,"line":818},[740,1120,821],{"class":746},[740,1122,1123,1125,1127,1129,1131,1133,1136,1138,1140,1143,1145,1148,1150,1152],{"class":742,"line":824},[740,1124,64],{"class":792},[740,1126,796],{"class":761},[740,1128,799],{"class":757},[740,1130,879],{"class":761},[740,1132,765],{"class":757},[740,1134,1135],{"class":884}," validationMode",[740,1137,888],{"class":757},[740,1139,758],{"class":757},[740,1141,1142],{"class":884}," lazy",[740,1144,888],{"class":757},[740,1146,1147],{"class":1055}," true",[740,1149,805],{"class":757},[740,1151,805],{"class":757},[740,1153,808],{"class":761},[138,1155,1156,464,1158,1160,1161,1163],{},[160,1157,288],{},[160,1159,299],{},", and ",[160,1162,308],{}," are gone. If you were using them:",[153,1165,1166,1183,1196],{},[156,1167,1168,1170,1171,1174,1175,1178,1179,1182],{},[160,1169,288],{}," — run your extra validation inside ",[160,1172,1173],{},"onSubmit",", or call ",[160,1176,1177],{},"form.validate()"," manually and inspect ",[160,1180,1181],{},"result.issues",".",[156,1184,1185,1187,1188,1191,1192,1195],{},[160,1186,299],{}," — use a ",[160,1189,1190],{},"watch"," on ",[160,1193,1194],{},"form.isDirty"," or trigger your logic from the same button handler.",[156,1197,1198,1200,1201,1204,1205,1207,1208,1182],{},[160,1199,308],{}," — read ",[160,1202,1203],{},"form.errors"," reactively, or check ",[160,1206,1181],{}," after ",[160,1209,1210],{},"await form.validate()",[138,1212,1213,1216,1217,1220],{},[160,1214,1215],{},"setState"," is replaced by ",[160,1218,1219],{},"setValue",", which takes a dot-separated path instead of a partial object. This keeps it consistent with how every other API in v2 addresses fields.",[731,1222,1224],{"className":733,"code":1223,"language":735,"meta":736,"style":736},"\u002F\u002F v1\nform.setState({ address: { city: 'Lagos' } })\n\n\u002F\u002F v2\nform.setValue('address.city', 'Lagos')\n",[160,1225,1226,1230,1267,1271,1275],{"__ignoreMap":736},[740,1227,1228],{"class":742,"line":743},[740,1229,747],{"class":746},[740,1231,1232,1234,1236,1238,1240,1242,1245,1247,1249,1252,1254,1256,1259,1261,1263,1265],{"class":742,"line":750},[740,1233,324],{"class":761},[740,1235,1182],{"class":757},[740,1237,1215],{"class":792},[740,1239,796],{"class":761},[740,1241,799],{"class":757},[740,1243,1244],{"class":884}," address",[740,1246,888],{"class":757},[740,1248,758],{"class":757},[740,1250,1251],{"class":884}," city",[740,1253,888],{"class":757},[740,1255,1005],{"class":757},[740,1257,1258],{"class":997},"Lagos",[740,1260,994],{"class":757},[740,1262,805],{"class":757},[740,1264,805],{"class":757},[740,1266,808],{"class":761},[740,1268,1269],{"class":742,"line":811},[740,1270,815],{"emptyLinePlaceholder":814},[740,1272,1273],{"class":742,"line":818},[740,1274,821],{"class":746},[740,1276,1277,1279,1281,1283,1285,1287,1290,1292,1294,1296,1298,1300],{"class":742,"line":824},[740,1278,324],{"class":761},[740,1280,1182],{"class":757},[740,1282,1219],{"class":792},[740,1284,796],{"class":761},[740,1286,994],{"class":757},[740,1288,1289],{"class":997},"address.city",[740,1291,994],{"class":757},[740,1293,765],{"class":757},[740,1295,1005],{"class":757},[740,1297,1258],{"class":997},[740,1299,994],{"class":757},[740,1301,808],{"class":761},[138,1303,1304,654,1306,1308,1309,1312],{},[160,1305,397],{},[160,1307,401],{}," are removed. They were only useful to call before programmatic submit — ",[160,1310,1311],{},"form.submit()"," does that internally now, so there's nothing to replace.",[138,1314,1315,1318,1319,1321,1322,1324],{},[160,1316,1317],{},"reset"," no longer accepts a ",[160,1320,389],{}," third argument. If you need to validate after a reset, call ",[160,1323,1177],{}," yourself.",[731,1326,1328],{"className":733,"code":1327,"language":735,"meta":736,"style":736},"\u002F\u002F v1\nform.reset(newValues, [], true)\n\n\u002F\u002F v2\nform.reset(newValues)\nawait form.validate()\n",[160,1329,1330,1334,1356,1360,1364,1375],{"__ignoreMap":736},[740,1331,1332],{"class":742,"line":743},[740,1333,747],{"class":746},[740,1335,1336,1338,1340,1342,1345,1347,1350,1352,1354],{"class":742,"line":750},[740,1337,324],{"class":761},[740,1339,1182],{"class":757},[740,1341,1317],{"class":792},[740,1343,1344],{"class":761},"(newValues",[740,1346,765],{"class":757},[740,1348,1349],{"class":761}," []",[740,1351,765],{"class":757},[740,1353,1147],{"class":1055},[740,1355,808],{"class":761},[740,1357,1358],{"class":742,"line":811},[740,1359,815],{"emptyLinePlaceholder":814},[740,1361,1362],{"class":742,"line":818},[740,1363,821],{"class":746},[740,1365,1366,1368,1370,1372],{"class":742,"line":824},[740,1367,324],{"class":761},[740,1369,1182],{"class":757},[740,1371,1317],{"class":792},[740,1373,1374],{"class":761},"(newValues)\n",[740,1376,1377,1381,1384,1386,1388],{"class":742,"line":847},[740,1378,1380],{"class":1379},"s7zQu","await",[740,1382,1383],{"class":761}," form",[740,1385,1182],{"class":757},[740,1387,389],{"class":792},[740,1389,1390],{"class":761},"()\n",[138,1392,1393,1395,1396,1398,1399,1401,1402,1404,1405,1408,1409,1411],{},[160,1394,332],{}," was a ",[160,1397,336],{}," and needed ",[160,1400,340],{}," in script context. ",[160,1403,346],{}," is a plain ",[160,1406,1407],{},"reactive"," object — no ",[160,1410,340],{}," anywhere.",[731,1413,1415],{"className":733,"code":1414,"language":735,"meta":736,"style":736},"\u002F\u002F v1 (script)\nstate.value.email = 'test@example.com'\n\n\u002F\u002F v2 (script)\nform.values.email = 'test@example.com'\n",[160,1416,1417,1422,1446,1450,1455],{"__ignoreMap":736},[740,1418,1419],{"class":742,"line":743},[740,1420,1421],{"class":746},"\u002F\u002F v1 (script)\n",[740,1423,1424,1426,1428,1431,1433,1436,1438,1440,1443],{"class":742,"line":750},[740,1425,332],{"class":761},[740,1427,1182],{"class":757},[740,1429,1430],{"class":761},"value",[740,1432,1182],{"class":757},[740,1434,1435],{"class":761},"email ",[740,1437,832],{"class":757},[740,1439,1005],{"class":757},[740,1441,1442],{"class":997},"test@example.com",[740,1444,1445],{"class":757},"'\n",[740,1447,1448],{"class":742,"line":811},[740,1449,815],{"emptyLinePlaceholder":814},[740,1451,1452],{"class":742,"line":818},[740,1453,1454],{"class":746},"\u002F\u002F v2 (script)\n",[740,1456,1457,1459,1461,1464,1466,1468,1470,1472,1474],{"class":742,"line":824},[740,1458,324],{"class":761},[740,1460,1182],{"class":757},[740,1462,1463],{"class":761},"values",[740,1465,1182],{"class":757},[740,1467,1435],{"class":761},[740,1469,832],{"class":757},[740,1471,1005],{"class":757},[740,1473,1442],{"class":997},[740,1475,1445],{"class":757},[138,1477,1478,1479,1482,1483,1182],{},"Templates change too — ",[160,1480,1481],{},"state.email"," becomes ",[160,1484,1485],{},"form.values.email",[221,1487,1489,1490],{"id":1488},"_2-update-notform","2. Update ",[160,1491,168],{},[138,1493,1494,1495,1498],{},"Drop the ",[160,1496,1497],{},":id"," prop and pass the instance directly.",[731,1500,1504],{"className":1501,"code":1502,"language":1503,"meta":736,"style":736},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003C!-- v1 -->\n  \u003CNotForm :id=\"id\" @submit=\"submit\">\n\n  \u003C!-- v2 -->\n  \u003CNotForm :form=\"form\" @submit=\"form.submit\">\n\u003C\u002Ftemplate>\n","vue",[160,1505,1506,1517,1522,1555,1559,1564,1594],{"__ignoreMap":736},[740,1507,1508,1511,1514],{"class":742,"line":743},[740,1509,1510],{"class":757},"\u003C",[740,1512,1513],{"class":884},"template",[740,1515,1516],{"class":757},">\n",[740,1518,1519],{"class":742,"line":750},[740,1520,1521],{"class":746},"  \u003C!-- v1 -->\n",[740,1523,1524,1527,1529,1532,1534,1537,1539,1541,1544,1546,1548,1551,1553],{"class":742,"line":811},[740,1525,1526],{"class":757},"  \u003C",[740,1528,39],{"class":884},[740,1530,1531],{"class":753}," :id",[740,1533,832],{"class":757},[740,1535,1536],{"class":757},"\"",[740,1538,172],{"class":997},[740,1540,1536],{"class":757},[740,1542,1543],{"class":753}," @submit",[740,1545,832],{"class":757},[740,1547,1536],{"class":757},[740,1549,1550],{"class":997},"submit",[740,1552,1536],{"class":757},[740,1554,1516],{"class":757},[740,1556,1557],{"class":742,"line":818},[740,1558,815],{"emptyLinePlaceholder":814},[740,1560,1561],{"class":742,"line":824},[740,1562,1563],{"class":746},"  \u003C!-- v2 -->\n",[740,1565,1566,1568,1570,1573,1575,1577,1579,1581,1583,1585,1587,1590,1592],{"class":742,"line":847},[740,1567,1526],{"class":757},[740,1569,39],{"class":884},[740,1571,1572],{"class":753}," :form",[740,1574,832],{"class":757},[740,1576,1536],{"class":757},[740,1578,324],{"class":997},[740,1580,1536],{"class":757},[740,1582,1543],{"class":753},[740,1584,832],{"class":757},[740,1586,1536],{"class":757},[740,1588,1589],{"class":997},"form.submit",[740,1591,1536],{"class":757},[740,1593,1516],{"class":757},[740,1595,1597,1600,1602],{"class":742,"line":1596},7,[740,1598,1599],{"class":757},"\u003C\u002F",[740,1601,1513],{"class":884},[740,1603,1516],{"class":757},[138,1605,1606,1607,1609,1610,1612,1613,1615,1616,1182],{},"If you were using ",[160,1608,453],{}," or ",[160,1611,456],{},", just forward attributes directly. ",[160,1614,168],{}," passes anything it doesn't recognise through to the underlying ",[160,1617,1618],{},"\u003Cform>",[731,1620,1622],{"className":1501,"code":1621,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- v1 — rendering as a div -->\n  \u003CNotForm :id=\"id\" as=\"div\">\n\n  \u003C!-- v2 — there is no as\u002FasChild; NotForm always renders a \u003Cform>. -->\n  \u003C!-- If you truly need a different element, render it yourself and use the singleton pattern. -->\n\u003C\u002Ftemplate>\n",[160,1623,1624,1632,1637,1667,1671,1676,1681],{"__ignoreMap":736},[740,1625,1626,1628,1630],{"class":742,"line":743},[740,1627,1510],{"class":757},[740,1629,1513],{"class":884},[740,1631,1516],{"class":757},[740,1633,1634],{"class":742,"line":750},[740,1635,1636],{"class":746},"  \u003C!-- v1 — rendering as a div -->\n",[740,1638,1639,1641,1643,1645,1647,1649,1651,1653,1656,1658,1660,1663,1665],{"class":742,"line":811},[740,1640,1526],{"class":757},[740,1642,39],{"class":884},[740,1644,1531],{"class":753},[740,1646,832],{"class":757},[740,1648,1536],{"class":757},[740,1650,172],{"class":997},[740,1652,1536],{"class":757},[740,1654,1655],{"class":753}," as",[740,1657,832],{"class":757},[740,1659,1536],{"class":757},[740,1661,1662],{"class":997},"div",[740,1664,1536],{"class":757},[740,1666,1516],{"class":757},[740,1668,1669],{"class":742,"line":818},[740,1670,815],{"emptyLinePlaceholder":814},[740,1672,1673],{"class":742,"line":824},[740,1674,1675],{"class":746},"  \u003C!-- v2 — there is no as\u002FasChild; NotForm always renders a \u003Cform>. -->\n",[740,1677,1678],{"class":742,"line":847},[740,1679,1680],{"class":746},"  \u003C!-- If you truly need a different element, render it yourself and use the singleton pattern. -->\n",[740,1682,1683,1685,1687],{"class":742,"line":1596},[740,1684,1599],{"class":757},[740,1686,1513],{"class":884},[740,1688,1516],{"class":757},[138,1690,1691,1692,1609,1694,1696,1697,1699],{},"The default slot no longer exposes form context as slot props. If you were pulling ",[160,1693,332],{},[160,1695,1550],{}," from the slot, read them off ",[160,1698,324],{}," directly.",[731,1701,1703],{"className":1501,"code":1702,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- v1 -->\n  \u003CNotForm :id=\"id\" v-slot=\"{ state, submit }\">\n    \u003Cinput v-model=\"state.email\" \u002F>\n  \u003C\u002FNotForm>\n\n  \u003C!-- v2 -->\n  \u003CNotForm :form=\"form\" @submit=\"form.submit\">\n    \u003Cinput v-model=\"form.values.email\" \u002F>\n  \u003C\u002FNotForm>\n\u003C\u002Ftemplate>\n",[160,1704,1705,1713,1717,1747,1769,1778,1782,1786,1815,1834,1843],{"__ignoreMap":736},[740,1706,1707,1709,1711],{"class":742,"line":743},[740,1708,1510],{"class":757},[740,1710,1513],{"class":884},[740,1712,1516],{"class":757},[740,1714,1715],{"class":742,"line":750},[740,1716,1521],{"class":746},[740,1718,1719,1721,1723,1725,1727,1729,1731,1733,1736,1738,1740,1743,1745],{"class":742,"line":811},[740,1720,1526],{"class":757},[740,1722,39],{"class":884},[740,1724,1531],{"class":753},[740,1726,832],{"class":757},[740,1728,1536],{"class":757},[740,1730,172],{"class":997},[740,1732,1536],{"class":757},[740,1734,1735],{"class":753}," v-slot",[740,1737,832],{"class":757},[740,1739,1536],{"class":757},[740,1741,1742],{"class":997},"{ state, submit }",[740,1744,1536],{"class":757},[740,1746,1516],{"class":757},[740,1748,1749,1752,1755,1758,1760,1762,1764,1766],{"class":742,"line":818},[740,1750,1751],{"class":757},"    \u003C",[740,1753,1754],{"class":884},"input",[740,1756,1757],{"class":753}," v-model",[740,1759,832],{"class":757},[740,1761,1536],{"class":757},[740,1763,1481],{"class":997},[740,1765,1536],{"class":757},[740,1767,1768],{"class":757}," \u002F>\n",[740,1770,1771,1774,1776],{"class":742,"line":824},[740,1772,1773],{"class":757},"  \u003C\u002F",[740,1775,39],{"class":884},[740,1777,1516],{"class":757},[740,1779,1780],{"class":742,"line":847},[740,1781,815],{"emptyLinePlaceholder":814},[740,1783,1784],{"class":742,"line":1596},[740,1785,1563],{"class":746},[740,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813],{"class":742,"line":1788},8,[740,1790,1526],{"class":757},[740,1792,39],{"class":884},[740,1794,1572],{"class":753},[740,1796,832],{"class":757},[740,1798,1536],{"class":757},[740,1800,324],{"class":997},[740,1802,1536],{"class":757},[740,1804,1543],{"class":753},[740,1806,832],{"class":757},[740,1808,1536],{"class":757},[740,1810,1589],{"class":997},[740,1812,1536],{"class":757},[740,1814,1516],{"class":757},[740,1816,1818,1820,1822,1824,1826,1828,1830,1832],{"class":742,"line":1817},9,[740,1819,1751],{"class":757},[740,1821,1754],{"class":884},[740,1823,1757],{"class":753},[740,1825,832],{"class":757},[740,1827,1536],{"class":757},[740,1829,1485],{"class":997},[740,1831,1536],{"class":757},[740,1833,1768],{"class":757},[740,1835,1837,1839,1841],{"class":742,"line":1836},10,[740,1838,1773],{"class":757},[740,1840,39],{"class":884},[740,1842,1516],{"class":757},[740,1844,1846,1848,1850],{"class":742,"line":1845},11,[740,1847,1599],{"class":757},[740,1849,1513],{"class":884},[740,1851,1516],{"class":757},[221,1853,1855,1856],{"id":1854},"_3-update-notfield","3. Update ",[160,1857,178],{},[138,1859,853,1860,856,1862,1864,1865,856,1868,1871],{},[160,1861,500],{},[160,1863,506],{},". Rename ",[160,1866,1867],{},"methods",[160,1869,1870],{},"events"," in the slot.",[731,1873,1875],{"className":1501,"code":1874,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- v1 -->\n  \u003CNotField name=\"email\" v-slot=\"{ methods, name, errors }\">\n    \u003Cinput v-model=\"state.email\" v-bind=\"methods\" \u002F>\n    \u003Cspan>{{ errors[0] }}\u003C\u002Fspan>\n  \u003C\u002FNotField>\n\n  \u003C!-- v2 -->\n  \u003CNotField path=\"email\" v-slot=\"{ events, errors }\">\n    \u003Cinput v-model=\"form.values.email\" v-bind=\"events\" \u002F>\n    \u003Cspan>{{ errors[0].message }}\u003C\u002Fspan>\n  \u003C\u002FNotField>\n\u003C\u002Ftemplate>\n",[160,1876,1877,1885,1889,1920,1949,1967,1975,1979,1983,2013,2041,2058,2067],{"__ignoreMap":736},[740,1878,1879,1881,1883],{"class":742,"line":743},[740,1880,1510],{"class":757},[740,1882,1513],{"class":884},[740,1884,1516],{"class":757},[740,1886,1887],{"class":742,"line":750},[740,1888,1521],{"class":746},[740,1890,1891,1893,1895,1898,1900,1902,1905,1907,1909,1911,1913,1916,1918],{"class":742,"line":811},[740,1892,1526],{"class":757},[740,1894,44],{"class":884},[740,1896,1897],{"class":753}," name",[740,1899,832],{"class":757},[740,1901,1536],{"class":757},[740,1903,1904],{"class":997},"email",[740,1906,1536],{"class":757},[740,1908,1735],{"class":753},[740,1910,832],{"class":757},[740,1912,1536],{"class":757},[740,1914,1915],{"class":997},"{ methods, name, errors }",[740,1917,1536],{"class":757},[740,1919,1516],{"class":757},[740,1921,1922,1924,1926,1928,1930,1932,1934,1936,1939,1941,1943,1945,1947],{"class":742,"line":818},[740,1923,1751],{"class":757},[740,1925,1754],{"class":884},[740,1927,1757],{"class":753},[740,1929,832],{"class":757},[740,1931,1536],{"class":757},[740,1933,1481],{"class":997},[740,1935,1536],{"class":757},[740,1937,1938],{"class":753}," v-bind",[740,1940,832],{"class":757},[740,1942,1536],{"class":757},[740,1944,1867],{"class":997},[740,1946,1536],{"class":757},[740,1948,1768],{"class":757},[740,1950,1951,1953,1955,1958,1961,1963,1965],{"class":742,"line":824},[740,1952,1751],{"class":757},[740,1954,740],{"class":884},[740,1956,1957],{"class":757},">",[740,1959,1960],{"class":761},"{{ errors[0] }}",[740,1962,1599],{"class":757},[740,1964,740],{"class":884},[740,1966,1516],{"class":757},[740,1968,1969,1971,1973],{"class":742,"line":847},[740,1970,1773],{"class":757},[740,1972,44],{"class":884},[740,1974,1516],{"class":757},[740,1976,1977],{"class":742,"line":1596},[740,1978,815],{"emptyLinePlaceholder":814},[740,1980,1981],{"class":742,"line":1788},[740,1982,1563],{"class":746},[740,1984,1985,1987,1989,1992,1994,1996,1998,2000,2002,2004,2006,2009,2011],{"class":742,"line":1817},[740,1986,1526],{"class":757},[740,1988,44],{"class":884},[740,1990,1991],{"class":753}," path",[740,1993,832],{"class":757},[740,1995,1536],{"class":757},[740,1997,1904],{"class":997},[740,1999,1536],{"class":757},[740,2001,1735],{"class":753},[740,2003,832],{"class":757},[740,2005,1536],{"class":757},[740,2007,2008],{"class":997},"{ events, errors }",[740,2010,1536],{"class":757},[740,2012,1516],{"class":757},[740,2014,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039],{"class":742,"line":1836},[740,2016,1751],{"class":757},[740,2018,1754],{"class":884},[740,2020,1757],{"class":753},[740,2022,832],{"class":757},[740,2024,1536],{"class":757},[740,2026,1485],{"class":997},[740,2028,1536],{"class":757},[740,2030,1938],{"class":753},[740,2032,832],{"class":757},[740,2034,1536],{"class":757},[740,2036,1870],{"class":997},[740,2038,1536],{"class":757},[740,2040,1768],{"class":757},[740,2042,2043,2045,2047,2049,2052,2054,2056],{"class":742,"line":1845},[740,2044,1751],{"class":757},[740,2046,740],{"class":884},[740,2048,1957],{"class":757},[740,2050,2051],{"class":761},"{{ errors[0].message }}",[740,2053,1599],{"class":757},[740,2055,740],{"class":884},[740,2057,1516],{"class":757},[740,2059,2061,2063,2065],{"class":742,"line":2060},12,[740,2062,1773],{"class":757},[740,2064,44],{"class":884},[740,2066,1516],{"class":757},[740,2068,2070,2072,2074],{"class":742,"line":2069},13,[740,2071,1599],{"class":757},[740,2073,1513],{"class":884},[740,2075,1516],{"class":757},[138,2077,2078,2079,2082,2083,2086,2087,2090,2091,2093],{},"Note the ",[160,2080,2081],{},"errors"," change — v1 gave you ",[160,2084,2085],{},"string[]",", v2 gives you ",[160,2088,2089],{},"StandardSchemaV1.Issue[]",". Add ",[160,2092,534],{}," wherever you were reading error text directly.",[221,2095,2097,2098],{"id":2096},"_4-update-notarrayfield","4. Update ",[160,2099,576],{},[138,2101,853,2102,856,2104,1864,2106,856,2109,2112],{},[160,2103,500],{},[160,2105,506],{},[160,2107,2108],{},"schema",[160,2110,2111],{},"item-schema"," (and make it optional — it's only needed for TypeScript inference on mutation methods now).",[138,2114,2115,2116,2118,2119,2121,2122,464,2124,2126,2127,2129],{},"Rename the ",[160,2117,619],{}," slot prop to ",[160,2120,624],{},". Remove any references to ",[160,2123,631],{},[160,2125,634],{},", or ",[160,2128,637],{}," — those properties are no longer on the item shape.",[138,2131,2132,2133,2135],{},"Update your nested ",[160,2134,178],{}," paths — v1 used manual index interpolation, v2 hands you the full path directly.",[731,2137,2139],{"className":1501,"code":2138,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- v1 -->\n  \u003CNotArrayField name=\"hobbies\" :schema=\"schema.shape.hobbies\" v-slot=\"{ fields, append, remove }\">\n    \u003Cdiv v-for=\"(field, index) in fields\" :key=\"field.key\">\n      \u003CNotField :name=\"`hobbies.${index}`\" v-slot=\"{ methods }\">\n        \u003Cinput v-model=\"state.hobbies[index]\" v-bind=\"methods\" \u002F>\n      \u003C\u002FNotField>\n      \u003Cbutton type=\"button\" @click=\"remove(index)\">Remove\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" @click=\"append('')\">Add\u003C\u002Fbutton>\n  \u003C\u002FNotArrayField>\n\n  \u003C!-- v2 -->\n  \u003CNotArrayField path=\"hobbies\" v-slot=\"{ items, append, remove }\">\n    \u003Cdiv v-for=\"item in items\" :key=\"item.key\">\n      \u003CNotField :path=\"item.path\" v-slot=\"{ events }\">\n        \u003Cinput v-model=\"form.values.hobbies[item.index]\" v-bind=\"events\" \u002F>\n      \u003C\u002FNotField>\n      \u003Cbutton type=\"button\" @click=\"remove(item.index)\">Remove\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" @click=\"append('')\">Add\u003C\u002Fbutton>\n  \u003C\u002FNotArrayField>\n\u003C\u002Ftemplate>\n",[160,2140,2141,2149,2153,2195,2227,2259,2289,2298,2339,2348,2386,2394,2398,2402,2432,2463,2495,2525,2534,2572,2581,2618,2627],{"__ignoreMap":736},[740,2142,2143,2145,2147],{"class":742,"line":743},[740,2144,1510],{"class":757},[740,2146,1513],{"class":884},[740,2148,1516],{"class":757},[740,2150,2151],{"class":742,"line":750},[740,2152,1521],{"class":746},[740,2154,2155,2157,2159,2161,2163,2165,2168,2170,2173,2175,2177,2180,2182,2184,2186,2188,2191,2193],{"class":742,"line":811},[740,2156,1526],{"class":757},[740,2158,54],{"class":884},[740,2160,1897],{"class":753},[740,2162,832],{"class":757},[740,2164,1536],{"class":757},[740,2166,2167],{"class":997},"hobbies",[740,2169,1536],{"class":757},[740,2171,2172],{"class":753}," :schema",[740,2174,832],{"class":757},[740,2176,1536],{"class":757},[740,2178,2179],{"class":997},"schema.shape.hobbies",[740,2181,1536],{"class":757},[740,2183,1735],{"class":753},[740,2185,832],{"class":757},[740,2187,1536],{"class":757},[740,2189,2190],{"class":997},"{ fields, append, remove }",[740,2192,1536],{"class":757},[740,2194,1516],{"class":757},[740,2196,2197,2199,2201,2204,2206,2208,2211,2213,2216,2218,2220,2223,2225],{"class":742,"line":818},[740,2198,1751],{"class":757},[740,2200,1662],{"class":884},[740,2202,2203],{"class":753}," v-for",[740,2205,832],{"class":757},[740,2207,1536],{"class":757},[740,2209,2210],{"class":997},"(field, index) in fields",[740,2212,1536],{"class":757},[740,2214,2215],{"class":753}," :key",[740,2217,832],{"class":757},[740,2219,1536],{"class":757},[740,2221,2222],{"class":997},"field.key",[740,2224,1536],{"class":757},[740,2226,1516],{"class":757},[740,2228,2229,2232,2234,2237,2239,2241,2244,2246,2248,2250,2252,2255,2257],{"class":742,"line":824},[740,2230,2231],{"class":757},"      \u003C",[740,2233,44],{"class":884},[740,2235,2236],{"class":753}," :name",[740,2238,832],{"class":757},[740,2240,1536],{"class":757},[740,2242,2243],{"class":997},"`hobbies.${index}`",[740,2245,1536],{"class":757},[740,2247,1735],{"class":753},[740,2249,832],{"class":757},[740,2251,1536],{"class":757},[740,2253,2254],{"class":997},"{ methods }",[740,2256,1536],{"class":757},[740,2258,1516],{"class":757},[740,2260,2261,2264,2266,2268,2270,2272,2275,2277,2279,2281,2283,2285,2287],{"class":742,"line":847},[740,2262,2263],{"class":757},"        \u003C",[740,2265,1754],{"class":884},[740,2267,1757],{"class":753},[740,2269,832],{"class":757},[740,2271,1536],{"class":757},[740,2273,2274],{"class":997},"state.hobbies[index]",[740,2276,1536],{"class":757},[740,2278,1938],{"class":753},[740,2280,832],{"class":757},[740,2282,1536],{"class":757},[740,2284,1867],{"class":997},[740,2286,1536],{"class":757},[740,2288,1768],{"class":757},[740,2290,2291,2294,2296],{"class":742,"line":1596},[740,2292,2293],{"class":757},"      \u003C\u002F",[740,2295,44],{"class":884},[740,2297,1516],{"class":757},[740,2299,2300,2302,2305,2308,2310,2312,2314,2316,2319,2321,2323,2326,2328,2330,2333,2335,2337],{"class":742,"line":1788},[740,2301,2231],{"class":757},[740,2303,2304],{"class":884},"button",[740,2306,2307],{"class":753}," type",[740,2309,832],{"class":757},[740,2311,1536],{"class":757},[740,2313,2304],{"class":997},[740,2315,1536],{"class":757},[740,2317,2318],{"class":753}," @click",[740,2320,832],{"class":757},[740,2322,1536],{"class":757},[740,2324,2325],{"class":997},"remove(index)",[740,2327,1536],{"class":757},[740,2329,1957],{"class":757},[740,2331,2332],{"class":761},"Remove",[740,2334,1599],{"class":757},[740,2336,2304],{"class":884},[740,2338,1516],{"class":757},[740,2340,2341,2344,2346],{"class":742,"line":1817},[740,2342,2343],{"class":757},"    \u003C\u002F",[740,2345,1662],{"class":884},[740,2347,1516],{"class":757},[740,2349,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2373,2375,2377,2380,2382,2384],{"class":742,"line":1836},[740,2351,1751],{"class":757},[740,2353,2304],{"class":884},[740,2355,2307],{"class":753},[740,2357,832],{"class":757},[740,2359,1536],{"class":757},[740,2361,2304],{"class":997},[740,2363,1536],{"class":757},[740,2365,2318],{"class":753},[740,2367,832],{"class":757},[740,2369,1536],{"class":757},[740,2371,2372],{"class":997},"append('')",[740,2374,1536],{"class":757},[740,2376,1957],{"class":757},[740,2378,2379],{"class":761},"Add",[740,2381,1599],{"class":757},[740,2383,2304],{"class":884},[740,2385,1516],{"class":757},[740,2387,2388,2390,2392],{"class":742,"line":1845},[740,2389,1773],{"class":757},[740,2391,54],{"class":884},[740,2393,1516],{"class":757},[740,2395,2396],{"class":742,"line":2060},[740,2397,815],{"emptyLinePlaceholder":814},[740,2399,2400],{"class":742,"line":2069},[740,2401,1563],{"class":746},[740,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2428,2430],{"class":742,"line":2404},14,[740,2406,1526],{"class":757},[740,2408,54],{"class":884},[740,2410,1991],{"class":753},[740,2412,832],{"class":757},[740,2414,1536],{"class":757},[740,2416,2167],{"class":997},[740,2418,1536],{"class":757},[740,2420,1735],{"class":753},[740,2422,832],{"class":757},[740,2424,1536],{"class":757},[740,2426,2427],{"class":997},"{ items, append, remove }",[740,2429,1536],{"class":757},[740,2431,1516],{"class":757},[740,2433,2435,2437,2439,2441,2443,2445,2448,2450,2452,2454,2456,2459,2461],{"class":742,"line":2434},15,[740,2436,1751],{"class":757},[740,2438,1662],{"class":884},[740,2440,2203],{"class":753},[740,2442,832],{"class":757},[740,2444,1536],{"class":757},[740,2446,2447],{"class":997},"item in items",[740,2449,1536],{"class":757},[740,2451,2215],{"class":753},[740,2453,832],{"class":757},[740,2455,1536],{"class":757},[740,2457,2458],{"class":997},"item.key",[740,2460,1536],{"class":757},[740,2462,1516],{"class":757},[740,2464,2466,2468,2470,2473,2475,2477,2480,2482,2484,2486,2488,2491,2493],{"class":742,"line":2465},16,[740,2467,2231],{"class":757},[740,2469,44],{"class":884},[740,2471,2472],{"class":753}," :path",[740,2474,832],{"class":757},[740,2476,1536],{"class":757},[740,2478,2479],{"class":997},"item.path",[740,2481,1536],{"class":757},[740,2483,1735],{"class":753},[740,2485,832],{"class":757},[740,2487,1536],{"class":757},[740,2489,2490],{"class":997},"{ events }",[740,2492,1536],{"class":757},[740,2494,1516],{"class":757},[740,2496,2498,2500,2502,2504,2506,2508,2511,2513,2515,2517,2519,2521,2523],{"class":742,"line":2497},17,[740,2499,2263],{"class":757},[740,2501,1754],{"class":884},[740,2503,1757],{"class":753},[740,2505,832],{"class":757},[740,2507,1536],{"class":757},[740,2509,2510],{"class":997},"form.values.hobbies[item.index]",[740,2512,1536],{"class":757},[740,2514,1938],{"class":753},[740,2516,832],{"class":757},[740,2518,1536],{"class":757},[740,2520,1870],{"class":997},[740,2522,1536],{"class":757},[740,2524,1768],{"class":757},[740,2526,2528,2530,2532],{"class":742,"line":2527},18,[740,2529,2293],{"class":757},[740,2531,44],{"class":884},[740,2533,1516],{"class":757},[740,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2560,2562,2564,2566,2568,2570],{"class":742,"line":2536},19,[740,2538,2231],{"class":757},[740,2540,2304],{"class":884},[740,2542,2307],{"class":753},[740,2544,832],{"class":757},[740,2546,1536],{"class":757},[740,2548,2304],{"class":997},[740,2550,1536],{"class":757},[740,2552,2318],{"class":753},[740,2554,832],{"class":757},[740,2556,1536],{"class":757},[740,2558,2559],{"class":997},"remove(item.index)",[740,2561,1536],{"class":757},[740,2563,1957],{"class":757},[740,2565,2332],{"class":761},[740,2567,1599],{"class":757},[740,2569,2304],{"class":884},[740,2571,1516],{"class":757},[740,2573,2575,2577,2579],{"class":742,"line":2574},20,[740,2576,2343],{"class":757},[740,2578,1662],{"class":884},[740,2580,1516],{"class":757},[740,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616],{"class":742,"line":2583},21,[740,2585,1751],{"class":757},[740,2587,2304],{"class":884},[740,2589,2307],{"class":753},[740,2591,832],{"class":757},[740,2593,1536],{"class":757},[740,2595,2304],{"class":997},[740,2597,1536],{"class":757},[740,2599,2318],{"class":753},[740,2601,832],{"class":757},[740,2603,1536],{"class":757},[740,2605,2372],{"class":997},[740,2607,1536],{"class":757},[740,2609,1957],{"class":757},[740,2611,2379],{"class":761},[740,2613,1599],{"class":757},[740,2615,2304],{"class":884},[740,2617,1516],{"class":757},[740,2619,2621,2623,2625],{"class":742,"line":2620},22,[740,2622,1773],{"class":757},[740,2624,54],{"class":884},[740,2626,1516],{"class":757},[740,2628,2630,2632,2634],{"class":742,"line":2629},23,[740,2631,1599],{"class":757},[740,2633,1513],{"class":884},[740,2635,1516],{"class":757},[138,2637,2638,2639,654,2641,2643],{},"You also get ",[160,2640,203],{},[160,2642,207],{}," for free now — no workaround needed.",[221,2645,2647,2648],{"id":2646},"_5-update-notmessage","5. Update ",[160,2649,671],{},[138,2651,853,2652,856,2654,2656],{},[160,2653,500],{},[160,2655,506],{},". That's it for the common case.",[731,2658,2660],{"className":1501,"code":2659,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- v1 -->\n  \u003CNotMessage :name=\"name\" \u002F>\n\n  \u003C!-- v2 -->\n  \u003CNotMessage path=\"email\" \u002F>\n\u003C\u002Ftemplate>\n",[160,2661,2662,2670,2674,2692,2696,2700,2718],{"__ignoreMap":736},[740,2663,2664,2666,2668],{"class":742,"line":743},[740,2665,1510],{"class":757},[740,2667,1513],{"class":884},[740,2669,1516],{"class":757},[740,2671,2672],{"class":742,"line":750},[740,2673,1521],{"class":746},[740,2675,2676,2678,2680,2682,2684,2686,2688,2690],{"class":742,"line":811},[740,2677,1526],{"class":757},[740,2679,49],{"class":884},[740,2681,2236],{"class":753},[740,2683,832],{"class":757},[740,2685,1536],{"class":757},[740,2687,500],{"class":997},[740,2689,1536],{"class":757},[740,2691,1768],{"class":757},[740,2693,2694],{"class":742,"line":818},[740,2695,815],{"emptyLinePlaceholder":814},[740,2697,2698],{"class":742,"line":824},[740,2699,1563],{"class":746},[740,2701,2702,2704,2706,2708,2710,2712,2714,2716],{"class":742,"line":847},[740,2703,1526],{"class":757},[740,2705,49],{"class":884},[740,2707,1991],{"class":753},[740,2709,832],{"class":757},[740,2711,1536],{"class":757},[740,2713,1904],{"class":997},[740,2715,1536],{"class":757},[740,2717,1768],{"class":757},[740,2719,2720,2722,2724],{"class":742,"line":1596},[740,2721,1599],{"class":757},[740,2723,1513],{"class":884},[740,2725,1516],{"class":757},[145,2727,2729],{"id":2728},"new-things-you-should-know-about","New things you should know about",[138,2731,2732],{},"These didn't exist in v1. You don't have to use them, but they solve real problems.",[138,2734,2735,2740,2741,2744,2745,1182],{},[2736,2737,2738],"strong",{},[160,2739,416],{}," — a flat computed ",[160,2742,2743],{},"Record\u003Cpath, string>"," of the first error per field. Useful for direct template reads without calling ",[160,2746,2747],{},"getFieldErrors",[731,2749,2751],{"className":1501,"code":2750,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003Cp>{{ form.errorsMap['address.city'] }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[160,2752,2753,2761,2778],{"__ignoreMap":736},[740,2754,2755,2757,2759],{"class":742,"line":743},[740,2756,1510],{"class":757},[740,2758,1513],{"class":884},[740,2760,1516],{"class":757},[740,2762,2763,2765,2767,2769,2772,2774,2776],{"class":742,"line":750},[740,2764,1526],{"class":757},[740,2766,138],{"class":884},[740,2768,1957],{"class":757},[740,2770,2771],{"class":761},"{{ form.errorsMap['address.city'] }}",[740,2773,1599],{"class":757},[740,2775,138],{"class":884},[740,2777,1516],{"class":757},[740,2779,2780,2782,2784],{"class":742,"line":811},[740,2781,1599],{"class":757},[740,2783,1513],{"class":884},[740,2785,1516],{"class":757},[138,2787,2788,2795],{},[2736,2789,2790,2791,1191,2793],{},"Per-field ",[160,2792,192],{},[160,2794,178],{}," — override individual triggers without touching the form config. The form defaults still apply for anything you don't specify.",[731,2797,2799],{"className":1501,"code":2798,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003C!-- Validate on every keystroke for this field only -->\n  \u003CNotField path=\"username\" :validateOn=\"{ onInput: true }\" v-slot=\"{ events }\">\n\u003C\u002Ftemplate>\n",[160,2800,2801,2809,2814,2855],{"__ignoreMap":736},[740,2802,2803,2805,2807],{"class":742,"line":743},[740,2804,1510],{"class":757},[740,2806,1513],{"class":884},[740,2808,1516],{"class":757},[740,2810,2811],{"class":742,"line":750},[740,2812,2813],{"class":746},"  \u003C!-- Validate on every keystroke for this field only -->\n",[740,2815,2816,2818,2820,2822,2824,2826,2829,2831,2834,2836,2838,2841,2843,2845,2847,2849,2851,2853],{"class":742,"line":811},[740,2817,1526],{"class":757},[740,2819,44],{"class":884},[740,2821,1991],{"class":753},[740,2823,832],{"class":757},[740,2825,1536],{"class":757},[740,2827,2828],{"class":997},"username",[740,2830,1536],{"class":757},[740,2832,2833],{"class":753}," :validateOn",[740,2835,832],{"class":757},[740,2837,1536],{"class":757},[740,2839,2840],{"class":997},"{ onInput: true }",[740,2842,1536],{"class":757},[740,2844,1735],{"class":753},[740,2846,832],{"class":757},[740,2848,1536],{"class":757},[740,2850,2490],{"class":997},[740,2852,1536],{"class":757},[740,2854,1516],{"class":757},[740,2856,2857,2859,2861],{"class":742,"line":818},[740,2858,1599],{"class":757},[740,2860,1513],{"class":884},[740,2862,1516],{"class":757},[138,2864,2865,2868,2869,2871,2872,464,2874,2126,2876,2878,2879,2881],{},[2736,2866,2867],{},"Singleton pattern"," — pass ",[160,2870,541],{}," directly to ",[160,2873,178],{},[160,2875,671],{},[160,2877,576],{}," when they live outside a ",[160,2880,168],{},". No more forced nesting.",[731,2883,2885],{"className":1501,"code":2884,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003CNotField :form=\"form\" path=\"search\" v-slot=\"{ events }\">\n    \u003Cinput v-model=\"form.values.search\" v-bind=\"events\" \u002F>\n  \u003C\u002FNotField>\n  \u003CNotMessage :form=\"form\" path=\"search\" \u002F>\n\u003C\u002Ftemplate>\n",[160,2886,2887,2895,2934,2963,2971,2999],{"__ignoreMap":736},[740,2888,2889,2891,2893],{"class":742,"line":743},[740,2890,1510],{"class":757},[740,2892,1513],{"class":884},[740,2894,1516],{"class":757},[740,2896,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2920,2922,2924,2926,2928,2930,2932],{"class":742,"line":750},[740,2898,1526],{"class":757},[740,2900,44],{"class":884},[740,2902,1572],{"class":753},[740,2904,832],{"class":757},[740,2906,1536],{"class":757},[740,2908,324],{"class":997},[740,2910,1536],{"class":757},[740,2912,1991],{"class":753},[740,2914,832],{"class":757},[740,2916,1536],{"class":757},[740,2918,2919],{"class":997},"search",[740,2921,1536],{"class":757},[740,2923,1735],{"class":753},[740,2925,832],{"class":757},[740,2927,1536],{"class":757},[740,2929,2490],{"class":997},[740,2931,1536],{"class":757},[740,2933,1516],{"class":757},[740,2935,2936,2938,2940,2942,2944,2946,2949,2951,2953,2955,2957,2959,2961],{"class":742,"line":811},[740,2937,1751],{"class":757},[740,2939,1754],{"class":884},[740,2941,1757],{"class":753},[740,2943,832],{"class":757},[740,2945,1536],{"class":757},[740,2947,2948],{"class":997},"form.values.search",[740,2950,1536],{"class":757},[740,2952,1938],{"class":753},[740,2954,832],{"class":757},[740,2956,1536],{"class":757},[740,2958,1870],{"class":997},[740,2960,1536],{"class":757},[740,2962,1768],{"class":757},[740,2964,2965,2967,2969],{"class":742,"line":818},[740,2966,1773],{"class":757},[740,2968,44],{"class":884},[740,2970,1516],{"class":757},[740,2972,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997],{"class":742,"line":824},[740,2974,1526],{"class":757},[740,2976,49],{"class":884},[740,2978,1572],{"class":753},[740,2980,832],{"class":757},[740,2982,1536],{"class":757},[740,2984,324],{"class":997},[740,2986,1536],{"class":757},[740,2988,1991],{"class":753},[740,2990,832],{"class":757},[740,2992,1536],{"class":757},[740,2994,2919],{"class":997},[740,2996,1536],{"class":757},[740,2998,1768],{"class":757},[740,3000,3001,3003,3005],{"class":742,"line":847},[740,3002,1599],{"class":757},[740,3004,1513],{"class":884},[740,3006,1516],{"class":757},[138,3008,3009,3017],{},[2736,3010,3011,654,3013,1191,3015],{},[160,3012,203],{},[160,3014,207],{},[160,3016,576],{}," — stable reorders without index arithmetic.",[731,3019,3021],{"className":1501,"code":3020,"language":1503,"meta":736,"style":736},"\u003Ctemplate>\n  \u003Cbutton @click=\"swap(0, 2)\">Swap first and third\u003C\u002Fbutton>\n  \u003Cbutton @click=\"move(3, 0)\">Move item 3 to the top\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[160,3022,3023,3031,3059,3087],{"__ignoreMap":736},[740,3024,3025,3027,3029],{"class":742,"line":743},[740,3026,1510],{"class":757},[740,3028,1513],{"class":884},[740,3030,1516],{"class":757},[740,3032,3033,3035,3037,3039,3041,3043,3046,3048,3050,3053,3055,3057],{"class":742,"line":750},[740,3034,1526],{"class":757},[740,3036,2304],{"class":884},[740,3038,2318],{"class":753},[740,3040,832],{"class":757},[740,3042,1536],{"class":757},[740,3044,3045],{"class":997},"swap(0, 2)",[740,3047,1536],{"class":757},[740,3049,1957],{"class":757},[740,3051,3052],{"class":761},"Swap first and third",[740,3054,1599],{"class":757},[740,3056,2304],{"class":884},[740,3058,1516],{"class":757},[740,3060,3061,3063,3065,3067,3069,3071,3074,3076,3078,3081,3083,3085],{"class":742,"line":811},[740,3062,1526],{"class":757},[740,3064,2304],{"class":884},[740,3066,2318],{"class":753},[740,3068,832],{"class":757},[740,3070,1536],{"class":757},[740,3072,3073],{"class":997},"move(3, 0)",[740,3075,1536],{"class":757},[740,3077,1957],{"class":757},[740,3079,3080],{"class":761},"Move item 3 to the top",[740,3082,1599],{"class":757},[740,3084,2304],{"class":884},[740,3086,1516],{"class":757},[740,3088,3089,3091,3093],{"class":742,"line":818},[740,3090,1599],{"class":757},[740,3092,1513],{"class":884},[740,3094,1516],{"class":757},[3096,3097,3098],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":736,"searchDepth":743,"depth":750,"links":3100},[3101,3102,3109,3121],{"id":147,"depth":750,"text":148},{"id":215,"depth":750,"text":216,"children":3103},[3104,3105,3106,3107,3108],{"id":223,"depth":811,"text":64},{"id":420,"depth":811,"text":168},{"id":479,"depth":811,"text":178},{"id":573,"depth":811,"text":576},{"id":668,"depth":811,"text":671},{"id":716,"depth":750,"text":717,"children":3110},[3111,3113,3115,3117,3119],{"id":720,"depth":811,"text":3112},"1. Update useNotForm",{"id":1488,"depth":811,"text":3114},"2. Update \u003CNotForm>",{"id":1854,"depth":811,"text":3116},"3. Update \u003CNotField>",{"id":2096,"depth":811,"text":3118},"4. Update \u003CNotArrayField>",{"id":2646,"depth":811,"text":3120},"5. Update \u003CNotMessage>",{"id":2728,"depth":750,"text":2729},"What changed, what to rename, and what you get for free.","md",{},{"icon":31},{"title":28,"description":3122},"zFgzN1jNoaASw2pNNYsfQQmzt3BmgBTQjg2nTlSvHvE",[3129,3131],{"title":23,"path":24,"stem":25,"description":3130,"icon":26,"children":-1},"Seamless integration with Nuxt 4 with auto-imports and easy configuration.",{"title":39,"path":40,"stem":41,"description":3132,"icon":42,"children":-1},"Renders a form element and provides the form instance to all descendant fields.",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":3134},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":3136},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 5H3m12 7H3m14 7H3\"\u002F>",{"left":93,"top":93,"width":94,"height":94,"rotate":93,"vFlip":32,"hFlip":32,"body":3138},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 9h16M4 15h16M10 3L8 21m8-18l-2 18\"\u002F>",1776950605188]