react-f0rm 0.5.1 → 0.6.1
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 +41 -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-rTlcIiWH.d.ts → form-D9COEt0-.d.ts} +2 -2
- package/dist/index.cjs.js +1 -1804
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +23 -4
- package/dist/index.mjs +1 -1711
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +22 -12
- 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-CQX7BJOD.d.ts → validate-Cu43SqhV.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
|
@@ -1282,7 +1282,8 @@
|
|
|
1282
1282
|
rules,
|
|
1283
1283
|
validateDebounce,
|
|
1284
1284
|
delayError,
|
|
1285
|
-
disabled
|
|
1285
|
+
disabled,
|
|
1286
|
+
mode: modeOption
|
|
1286
1287
|
}, Context) {
|
|
1287
1288
|
const contextForm = React.useContext(Context);
|
|
1288
1289
|
const form = f1 || contextForm;
|
|
@@ -1302,6 +1303,7 @@
|
|
|
1302
1303
|
const error = errorObject?.message;
|
|
1303
1304
|
const value = useValueByPath(form, path);
|
|
1304
1305
|
const formDisabled = useWatch(form.emitter, "disabled", () => form.disabled);
|
|
1306
|
+
const mode = modeOption ?? form.mode;
|
|
1305
1307
|
React.useEffect(() => {
|
|
1306
1308
|
if (initialValue === void 0) return;
|
|
1307
1309
|
if (getValueByPath(form, path) === void 0) {
|
|
@@ -1310,12 +1312,12 @@
|
|
|
1310
1312
|
}, [form, path, initialValue]);
|
|
1311
1313
|
const onChange = useStageFn((v) => {
|
|
1312
1314
|
setValueByPath(form, path, v);
|
|
1313
|
-
if (
|
|
1315
|
+
if (mode === "onChange" || mode === "all" || mode === "onTouched" && hasTouchedByPath(form, path) || liveErrors.length > 0 && form.reValidateMode === "onChange")
|
|
1314
1316
|
validator();
|
|
1315
1317
|
});
|
|
1316
1318
|
const onBlur = useStageFn(() => {
|
|
1317
1319
|
setTouchedByPath(form, path);
|
|
1318
|
-
if (
|
|
1320
|
+
if (mode === "onBlur" || mode === "onTouched" || mode === "all" || liveErrors.length > 0 && form.reValidateMode === "onBlur")
|
|
1319
1321
|
validator();
|
|
1320
1322
|
});
|
|
1321
1323
|
React.useEffect(
|
|
@@ -1515,6 +1517,12 @@
|
|
|
1515
1517
|
const id = key.replace(/["'[\],\s]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1516
1518
|
return id || "field";
|
|
1517
1519
|
}
|
|
1520
|
+
function ariaProps(error, fieldKey, props) {
|
|
1521
|
+
return {
|
|
1522
|
+
"aria-invalid": error ? true : props["aria-invalid"],
|
|
1523
|
+
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"]
|
|
1524
|
+
};
|
|
1525
|
+
}
|
|
1518
1526
|
function fieldErrorId(name) {
|
|
1519
1527
|
return errorIdFromKey(create$1(name).key);
|
|
1520
1528
|
}
|
|
@@ -1534,6 +1542,7 @@
|
|
|
1534
1542
|
validateDebounce,
|
|
1535
1543
|
disabled,
|
|
1536
1544
|
delayError,
|
|
1545
|
+
mode,
|
|
1537
1546
|
...props
|
|
1538
1547
|
}, ref) => {
|
|
1539
1548
|
const innerRef = React__namespace.useRef(null);
|
|
@@ -1562,6 +1571,7 @@
|
|
|
1562
1571
|
validateDebounce,
|
|
1563
1572
|
delayError,
|
|
1564
1573
|
disabled,
|
|
1574
|
+
mode,
|
|
1565
1575
|
validate: (...params) => {
|
|
1566
1576
|
const el = innerRef.current;
|
|
1567
1577
|
if (el && typeof el.checkValidity === "function") {
|
|
@@ -1606,7 +1616,6 @@
|
|
|
1606
1616
|
);
|
|
1607
1617
|
const toValue = eventToValue ?? ((e) => e.target.value);
|
|
1608
1618
|
const errorId = errorIdFromKey(fieldKey);
|
|
1609
|
-
const describedBy = error ? [props["aria-describedby"], errorId].filter(Boolean).join(" ") : props["aria-describedby"];
|
|
1610
1619
|
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
|
|
1611
1620
|
Component,
|
|
1612
1621
|
{
|
|
@@ -1615,8 +1624,7 @@
|
|
|
1615
1624
|
onBlur,
|
|
1616
1625
|
...asProps,
|
|
1617
1626
|
...valueToProps ? valueToProps(value) : { value },
|
|
1618
|
-
|
|
1619
|
-
"aria-describedby": describedBy,
|
|
1627
|
+
...ariaProps(error, fieldKey, props),
|
|
1620
1628
|
disabled: isDisabled,
|
|
1621
1629
|
onChange: (e) => onChange(toValue(e)),
|
|
1622
1630
|
ref: mergedRef
|
|
@@ -1635,6 +1643,7 @@
|
|
|
1635
1643
|
validateDebounce,
|
|
1636
1644
|
disabled,
|
|
1637
1645
|
delayError,
|
|
1646
|
+
mode,
|
|
1638
1647
|
...props
|
|
1639
1648
|
}, ref) => {
|
|
1640
1649
|
const {
|
|
@@ -1653,7 +1662,8 @@
|
|
|
1653
1662
|
rules,
|
|
1654
1663
|
validateDebounce,
|
|
1655
1664
|
delayError,
|
|
1656
|
-
disabled
|
|
1665
|
+
disabled,
|
|
1666
|
+
mode
|
|
1657
1667
|
});
|
|
1658
1668
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1659
1669
|
"input",
|
|
@@ -1663,8 +1673,7 @@
|
|
|
1663
1673
|
onBlur,
|
|
1664
1674
|
type: "checkbox",
|
|
1665
1675
|
checked: !!value,
|
|
1666
|
-
|
|
1667
|
-
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"],
|
|
1676
|
+
...ariaProps(error, fieldKey, props),
|
|
1668
1677
|
disabled: isDisabled,
|
|
1669
1678
|
onChange: (e) => onChange(e.target.checked),
|
|
1670
1679
|
ref
|
|
@@ -1689,6 +1698,7 @@
|
|
|
1689
1698
|
validateDebounce,
|
|
1690
1699
|
disabled,
|
|
1691
1700
|
delayError,
|
|
1701
|
+
mode,
|
|
1692
1702
|
...props
|
|
1693
1703
|
}, ref) => {
|
|
1694
1704
|
const {
|
|
@@ -1707,7 +1717,8 @@
|
|
|
1707
1717
|
rules,
|
|
1708
1718
|
validateDebounce,
|
|
1709
1719
|
delayError,
|
|
1710
|
-
disabled
|
|
1720
|
+
disabled,
|
|
1721
|
+
mode
|
|
1711
1722
|
});
|
|
1712
1723
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1713
1724
|
"select",
|
|
@@ -1717,8 +1728,7 @@
|
|
|
1717
1728
|
onBlur,
|
|
1718
1729
|
multiple,
|
|
1719
1730
|
value: toSelectValue(multiple, value),
|
|
1720
|
-
|
|
1721
|
-
"aria-describedby": error ? [props["aria-describedby"], errorIdFromKey(fieldKey)].filter(Boolean).join(" ") : props["aria-describedby"],
|
|
1731
|
+
...ariaProps(error, fieldKey, props),
|
|
1722
1732
|
disabled: isDisabled,
|
|
1723
1733
|
onChange: (e) => onChange(
|
|
1724
1734
|
multiple ? Array.from(e.target.selectedOptions, (option) => option.value) : e.target.value
|