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.
Files changed (39) hide show
  1. package/README.md +41 -0
  2. package/dist/devtools/index.cjs.js +1 -743
  3. package/dist/devtools/index.cjs.js.map +1 -1
  4. package/dist/devtools/index.mjs +1 -723
  5. package/dist/devtools/index.mjs.map +1 -1
  6. package/dist/form-CGRvih_c.cjs.js +2 -0
  7. package/dist/form-CGRvih_c.cjs.js.map +1 -0
  8. package/dist/form-CfBBPz6p.mjs +2 -0
  9. package/dist/form-CfBBPz6p.mjs.map +1 -0
  10. package/dist/{form-rTlcIiWH.d.ts → form-D9COEt0-.d.ts} +2 -2
  11. package/dist/index.cjs.js +1 -1804
  12. package/dist/index.cjs.js.map +1 -1
  13. package/dist/index.d.ts +23 -4
  14. package/dist/index.mjs +1 -1711
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/index.umd.js +22 -12
  17. package/dist/index.umd.js.map +1 -1
  18. package/dist/index.umd.min.js +2 -2
  19. package/dist/index.umd.min.js.map +1 -1
  20. package/dist/resolvers/standard-schema.cjs.js +1 -89
  21. package/dist/resolvers/standard-schema.cjs.js.map +1 -1
  22. package/dist/resolvers/standard-schema.mjs +1 -85
  23. package/dist/resolvers/standard-schema.mjs.map +1 -1
  24. package/dist/resolvers/yup.cjs.js +1 -22
  25. package/dist/resolvers/yup.cjs.js.map +1 -1
  26. package/dist/resolvers/yup.d.ts +1 -1
  27. package/dist/resolvers/yup.mjs +1 -20
  28. package/dist/resolvers/yup.mjs.map +1 -1
  29. package/dist/resolvers/zod.cjs.js +1 -22
  30. package/dist/resolvers/zod.cjs.js.map +1 -1
  31. package/dist/resolvers/zod.d.ts +1 -1
  32. package/dist/resolvers/zod.mjs +1 -20
  33. package/dist/resolvers/zod.mjs.map +1 -1
  34. package/dist/{validate-CQX7BJOD.d.ts → validate-Cu43SqhV.d.ts} +1 -1
  35. package/package.json +6 -1
  36. package/dist/form-CXF5HwQG.mjs +0 -349
  37. package/dist/form-CXF5HwQG.mjs.map +0 -1
  38. package/dist/form-DbnzAKSM.cjs.js +0 -358
  39. 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 (form.mode === "onChange" || form.mode === "all" || form.mode === "onTouched" && hasTouchedByPath(form, path) || liveErrors.length > 0 && form.reValidateMode === "onChange")
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 (form.mode === "onBlur" || form.mode === "onTouched" || form.mode === "all" || liveErrors.length > 0 && form.reValidateMode === "onBlur")
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
- "aria-invalid": error ? true : props["aria-invalid"],
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
- "aria-invalid": error ? true : props["aria-invalid"],
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
- "aria-invalid": error ? true : props["aria-invalid"],
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