react-f0rm 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/devtools/index.cjs.js +1 -743
- package/dist/devtools/index.cjs.js.map +1 -1
- package/dist/devtools/index.mjs +1 -723
- package/dist/devtools/index.mjs.map +1 -1
- package/dist/form-CGRvih_c.cjs.js +2 -0
- package/dist/form-CGRvih_c.cjs.js.map +1 -0
- package/dist/form-CfBBPz6p.mjs +2 -0
- package/dist/form-CfBBPz6p.mjs.map +1 -0
- package/dist/{form-D9COEt0-.d.ts → form-DHKns6j_.d.ts} +41 -1
- package/dist/index.cjs.js +1 -1812
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.mjs +1 -1719
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +27 -7
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +2 -2
- package/dist/index.umd.min.js.map +1 -1
- package/dist/resolvers/standard-schema.cjs.js +1 -89
- package/dist/resolvers/standard-schema.cjs.js.map +1 -1
- package/dist/resolvers/standard-schema.mjs +1 -85
- package/dist/resolvers/standard-schema.mjs.map +1 -1
- package/dist/resolvers/yup.cjs.js +1 -22
- package/dist/resolvers/yup.cjs.js.map +1 -1
- package/dist/resolvers/yup.d.ts +1 -1
- package/dist/resolvers/yup.mjs +1 -20
- package/dist/resolvers/yup.mjs.map +1 -1
- package/dist/resolvers/zod.cjs.js +1 -22
- package/dist/resolvers/zod.cjs.js.map +1 -1
- package/dist/resolvers/zod.d.ts +1 -1
- package/dist/resolvers/zod.mjs +1 -20
- package/dist/resolvers/zod.mjs.map +1 -1
- package/dist/{validate-Cu43SqhV.d.ts → validate-BoNZhOMY.d.ts} +1 -1
- package/package.json +6 -1
- package/dist/form-CXF5HwQG.mjs +0 -349
- package/dist/form-CXF5HwQG.mjs.map +0 -1
- package/dist/form-DbnzAKSM.cjs.js +0 -358
- package/dist/form-DbnzAKSM.cjs.js.map +0 -1
package/dist/index.umd.js
CHANGED
|
@@ -228,6 +228,7 @@
|
|
|
228
228
|
errors: /* @__PURE__ */ new Map(),
|
|
229
229
|
touched: /* @__PURE__ */ new Set(),
|
|
230
230
|
validators: /* @__PURE__ */ new Map(),
|
|
231
|
+
changeHandlers: /* @__PURE__ */ new Map(),
|
|
231
232
|
validating: /* @__PURE__ */ new Set(),
|
|
232
233
|
parsedValues: void 0,
|
|
233
234
|
isSubmitting: false,
|
|
@@ -267,6 +268,14 @@
|
|
|
267
268
|
if (options?.shouldValidate) form.validators.get(path.key)?.();
|
|
268
269
|
emit(emitter, "change", path);
|
|
269
270
|
}
|
|
271
|
+
function changeValue(form, name, value) {
|
|
272
|
+
changeValueByPath(form, create$1(name), value);
|
|
273
|
+
}
|
|
274
|
+
function changeValueByPath(form, path, value) {
|
|
275
|
+
const change = form.changeHandlers.get(path.key);
|
|
276
|
+
if (change) change(value);
|
|
277
|
+
else setValueByPath(form, path, value);
|
|
278
|
+
}
|
|
270
279
|
function getError(form, name) {
|
|
271
280
|
return getErrorByPath(form, create$1(name));
|
|
272
281
|
}
|
|
@@ -1315,6 +1324,13 @@
|
|
|
1315
1324
|
if (mode === "onChange" || mode === "all" || mode === "onTouched" && hasTouchedByPath(form, path) || liveErrors.length > 0 && form.reValidateMode === "onChange")
|
|
1316
1325
|
validator();
|
|
1317
1326
|
});
|
|
1327
|
+
React.useEffect(() => {
|
|
1328
|
+
form.changeHandlers.set(path.key, onChange);
|
|
1329
|
+
return () => {
|
|
1330
|
+
if (form.changeHandlers.get(path.key) === onChange)
|
|
1331
|
+
form.changeHandlers.delete(path.key);
|
|
1332
|
+
};
|
|
1333
|
+
}, [form, path.key, onChange]);
|
|
1318
1334
|
const onBlur = useStageFn(() => {
|
|
1319
1335
|
setTouchedByPath(form, path);
|
|
1320
1336
|
if (mode === "onBlur" || mode === "onTouched" || mode === "all" || liveErrors.length > 0 && form.reValidateMode === "onBlur")
|
|
@@ -1517,6 +1533,12 @@
|
|
|
1517
1533
|
const id = key.replace(/["'[\],\s]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1518
1534
|
return id || "field";
|
|
1519
1535
|
}
|
|
1536
|
+
function ariaProps(error, fieldKey, props) {
|
|
1537
|
+
return {
|
|
1538
|
+
"aria-invalid": error ? true : props["aria-invalid"],
|
|
1539
|
+
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"]
|
|
1540
|
+
};
|
|
1541
|
+
}
|
|
1520
1542
|
function fieldErrorId(name) {
|
|
1521
1543
|
return errorIdFromKey(create$1(name).key);
|
|
1522
1544
|
}
|
|
@@ -1610,7 +1632,6 @@
|
|
|
1610
1632
|
);
|
|
1611
1633
|
const toValue = eventToValue ?? ((e) => e.target.value);
|
|
1612
1634
|
const errorId = errorIdFromKey(fieldKey);
|
|
1613
|
-
const describedBy = error ? [props["aria-describedby"], errorId].filter(Boolean).join(" ") : props["aria-describedby"];
|
|
1614
1635
|
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
|
|
1615
1636
|
Component,
|
|
1616
1637
|
{
|
|
@@ -1619,8 +1640,7 @@
|
|
|
1619
1640
|
onBlur,
|
|
1620
1641
|
...asProps,
|
|
1621
1642
|
...valueToProps ? valueToProps(value) : { value },
|
|
1622
|
-
|
|
1623
|
-
"aria-describedby": describedBy,
|
|
1643
|
+
...ariaProps(error, fieldKey, props),
|
|
1624
1644
|
disabled: isDisabled,
|
|
1625
1645
|
onChange: (e) => onChange(toValue(e)),
|
|
1626
1646
|
ref: mergedRef
|
|
@@ -1669,8 +1689,7 @@
|
|
|
1669
1689
|
onBlur,
|
|
1670
1690
|
type: "checkbox",
|
|
1671
1691
|
checked: !!value,
|
|
1672
|
-
|
|
1673
|
-
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"],
|
|
1692
|
+
...ariaProps(error, fieldKey, props),
|
|
1674
1693
|
disabled: isDisabled,
|
|
1675
1694
|
onChange: (e) => onChange(e.target.checked),
|
|
1676
1695
|
ref
|
|
@@ -1725,8 +1744,7 @@
|
|
|
1725
1744
|
onBlur,
|
|
1726
1745
|
multiple,
|
|
1727
1746
|
value: toSelectValue(multiple, value),
|
|
1728
|
-
|
|
1729
|
-
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"],
|
|
1747
|
+
...ariaProps(error, fieldKey, props),
|
|
1730
1748
|
disabled: isDisabled,
|
|
1731
1749
|
onChange: (e) => onChange(
|
|
1732
1750
|
multiple ? Array.from(e.target.selectedOptions, (option) => option.value) : e.target.value
|
|
@@ -1747,6 +1765,8 @@
|
|
|
1747
1765
|
exports.FormProvider = FormProvider;
|
|
1748
1766
|
exports.Select = Select;
|
|
1749
1767
|
exports.VALIDATION_OUTCOME = VALIDATION_OUTCOME;
|
|
1768
|
+
exports.changeValue = changeValue;
|
|
1769
|
+
exports.changeValueByPath = changeValueByPath;
|
|
1750
1770
|
exports.clearErrors = clearErrors;
|
|
1751
1771
|
exports.createForm = create;
|
|
1752
1772
|
exports.createFormContext = createFormContext;
|