@danderson00/react-forms 0.0.48 → 0.0.49

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.
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","names":["_react","_interopRequireWildcard","require","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_default","render","Submit","props","onSubmit","Error","registerFieldValidator","setFieldValue","getFieldValue","getFieldValues","valid","validate","disableInvalid","values","propsToPass","_useState","useState","_useState2","executing","setExecuting","onClick","e","result","additionalValues","finalProps","disabled","exports"],"sources":["../src/submit.js"],"sourcesContent":["import React, { useState } from 'react'\r\n\r\nexport default render => function Submit(props) {\r\n if(!props.onSubmit) throw new Error('Button components must be contained within a Form component')\r\n\r\n const {\r\n onSubmit, registerFieldValidator, setFieldValue, getFieldValue, getFieldValues,\r\n valid, validate, disableInvalid, values, ...propsToPass\r\n } = props\r\n\r\n // TODO: set executing when form is triggered by enter key\r\n const [executing, setExecuting] = useState(false)\r\n\r\n const onClick = e => {\r\n const result = onSubmit(e, { validate, additionalValues: values })\r\n if(result && result.finally && typeof result.finally === 'function') {\r\n setExecuting(true)\r\n result.finally(() => setExecuting(false))\r\n }\r\n }\r\n\r\n const finalProps = {\r\n ...propsToPass,\r\n onClick,\r\n disabled: props.disabled || executing || (disableInvalid && !valid)\r\n }\r\n\r\n return render(finalProps)\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"submit.js","names":["_react","_interopRequireWildcard","require","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","iterator","f","next","done","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_default","exports","render","Submit","props","onSubmit","Error","registerFieldValidator","setFieldValue","getFieldValue","getFieldValues","valid","validate","disableInvalid","values","propsToPass","_useState","useState","_useState2","executing","setExecuting","onClick","result","additionalValues","finalProps","disabled"],"sources":["../src/submit.js"],"sourcesContent":["import React, { useState } from 'react'\n\nexport default render => function Submit(props) {\n if(!props.onSubmit) throw new Error('Button components must be contained within a Form component')\n\n const {\n onSubmit, registerFieldValidator, setFieldValue, getFieldValue, getFieldValues,\n valid, validate, disableInvalid, values, ...propsToPass\n } = props\n\n // TODO: set executing when form is triggered by enter key\n const [executing, setExecuting] = useState(false)\n\n const onClick = e => {\n const result = onSubmit(e, { validate, additionalValues: values })\n if(result && result.finally && typeof result.finally === 'function') {\n setExecuting(true)\n result.finally(() => setExecuting(false))\n }\n }\n\n const finalProps = {\n ...propsToPass,\n onClick,\n disabled: props.disabled || executing || (disableInvalid && !valid)\n }\n\n return render(finalProps)\n}\n"],"mappings":"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"}
package/dist/throttle.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _default = function _default(target) {
7
+ var _default = exports["default"] = function _default(target) {
8
8
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
9
9
  var timeout;
10
10
  return function () {
@@ -17,5 +17,4 @@ var _default = function _default(target) {
17
17
  }, delay);
18
18
  };
19
19
  };
20
- exports["default"] = _default;
21
20
  //# sourceMappingURL=throttle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.js","names":["_default","target","delay","arguments","length","undefined","timeout","_len","args","Array","_key","clearTimeout","setTimeout","apply","exports"],"sources":["../src/throttle.js"],"sourcesContent":["export default (target, delay = 200) => {\r\n let timeout\r\n\r\n return (...args) => {\r\n clearTimeout(timeout)\r\n timeout = setTimeout(\r\n () => target(...args),\r\n delay\r\n )\r\n }\r\n}"],"mappings":";;;;;;eAAe,SAAAA,SAACC,MAAM,EAAkB;EAAA,IAAhBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACjC,IAAIG,OAAO;EAEX,OAAO,YAAa;IAAA,SAAAC,IAAA,GAAAJ,SAAA,CAAAC,MAAA,EAATI,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAP,SAAA,CAAAO,IAAA;IAAA;IACbC,YAAY,CAACL,OAAO,CAAC;IACrBA,OAAO,GAAGM,UAAU,CAClB;MAAA,OAAMX,MAAM,CAAAY,KAAA,SAAIL,IAAI,CAAC;IAAA,GACrBN,KACF,CAAC;EACH,CAAC;AACH,CAAC;AAAAY,OAAA,cAAAd,QAAA"}
1
+ {"version":3,"file":"throttle.js","names":["_default","target","delay","arguments","length","undefined","timeout","_len","args","Array","_key","clearTimeout","setTimeout","apply"],"sources":["../src/throttle.js"],"sourcesContent":["export default (target, delay = 200) => {\n let timeout\n\n return (...args) => {\n clearTimeout(timeout)\n timeout = setTimeout(\n () => target(...args),\n delay\n )\n }\n}"],"mappings":";;;;;;oCAAe,SAAAA,SAACC,MAAM,EAAkB;EAAA,IAAhBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACjC,IAAIG,OAAO;EAEX,OAAO,YAAa;IAAA,SAAAC,IAAA,GAAAJ,SAAA,CAAAC,MAAA,EAATI,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAP,SAAA,CAAAO,IAAA;IAAA;IACbC,YAAY,CAACL,OAAO,CAAC;IACrBA,OAAO,GAAGM,UAAU,CAClB;MAAA,OAAMX,MAAM,CAAAY,KAAA,SAAIL,IAAI,CAAC;IAAA,GACrBN,KACF,CAAC;EACH,CAAC;AACH,CAAC"}
package/dist/useForm.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _react = require("react");
8
- var _default = function _default(context) {
8
+ var _default = exports["default"] = function _default(context) {
9
9
  return function useForm() {
10
10
  var _useContext = (0, _react.useContext)(context),
11
11
  onSubmit = _useContext.onSubmit,
@@ -22,5 +22,4 @@ var _default = function _default(context) {
22
22
  };
23
23
  };
24
24
  };
25
- exports["default"] = _default;
26
25
  //# sourceMappingURL=useForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.js","names":["_react","require","_default","context","useForm","_useContext","useContext","onSubmit","getFieldValues","setFieldValue","submit","options","undefined","values","exports"],"sources":["../src/useForm.js"],"sourcesContent":["import { useContext } from 'react'\r\n\r\nexport default context => function useForm() {\r\n const { onSubmit, getFieldValues, setFieldValue } = useContext(context)\r\n\r\n return {\r\n submit: options => onSubmit(undefined, options),\r\n values: () => getFieldValues(),\r\n setFieldValue\r\n }\r\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkC,IAAAC,QAAA,GAEnB,SAAAA,SAAAC,OAAO;EAAA,OAAI,SAASC,OAAOA,CAAA,EAAG;IAC3C,IAAAC,WAAA,GAAoD,IAAAC,iBAAU,EAACH,OAAO,CAAC;MAA/DI,QAAQ,GAAAF,WAAA,CAARE,QAAQ;MAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;MAAEC,aAAa,GAAAJ,WAAA,CAAbI,aAAa;IAE/C,OAAO;MACLC,MAAM,EAAE,SAAAA,OAAAC,OAAO;QAAA,OAAIJ,QAAQ,CAACK,SAAS,EAAED,OAAO,CAAC;MAAA;MAC/CE,MAAM,EAAE,SAAAA,OAAA;QAAA,OAAML,cAAc,CAAC,CAAC;MAAA;MAC9BC,aAAa,EAAbA;IACF,CAAC;EACH,CAAC;AAAA;AAAAK,OAAA,cAAAZ,QAAA"}
1
+ {"version":3,"file":"useForm.js","names":["_react","require","_default","exports","context","useForm","_useContext","useContext","onSubmit","getFieldValues","setFieldValue","submit","options","undefined","values"],"sources":["../src/useForm.js"],"sourcesContent":["import { useContext } from 'react'\n\nexport default context => function useForm() {\n const { onSubmit, getFieldValues, setFieldValue } = useContext(context)\n\n return {\n submit: options => onSubmit(undefined, options),\n values: () => getFieldValues(),\n setFieldValue\n }\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkC,IAAAC,QAAA,GAAAC,OAAA,cAEnB,SAAAD,SAAAE,OAAO;EAAA,OAAI,SAASC,OAAOA,CAAA,EAAG;IAC3C,IAAAC,WAAA,GAAoD,IAAAC,iBAAU,EAACH,OAAO,CAAC;MAA/DI,QAAQ,GAAAF,WAAA,CAARE,QAAQ;MAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;MAAEC,aAAa,GAAAJ,WAAA,CAAbI,aAAa;IAE/C,OAAO;MACLC,MAAM,EAAE,SAAAA,OAAAC,OAAO;QAAA,OAAIJ,QAAQ,CAACK,SAAS,EAAED,OAAO,CAAC;MAAA;MAC/CE,MAAM,EAAE,SAAAA,OAAA;QAAA,OAAML,cAAc,CAAC,CAAC;MAAA;MAC9BC,aAAa,EAAbA;IACF,CAAC;EACH,CAAC;AAAA"}
@@ -5,10 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _react = require("react");
8
- var _default = function _default(context) {
8
+ var _default = exports["default"] = function _default(context) {
9
9
  return function useFormValues() {
10
10
  return (0, _react.useContext)(context).getFieldValues();
11
11
  };
12
12
  };
13
- exports["default"] = _default;
14
13
  //# sourceMappingURL=useFormValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValues.js","names":["_react","require","_default","context","useFormValues","useContext","getFieldValues","exports"],"sources":["../src/useFormValues.js"],"sourcesContent":["import { useContext } from 'react'\r\n\r\nexport default context => function useFormValues() {\r\n return useContext(context).getFieldValues()\r\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkC,IAAAC,QAAA,GAEnB,SAAAA,SAAAC,OAAO;EAAA,OAAI,SAASC,aAAaA,CAAA,EAAG;IACjD,OAAO,IAAAC,iBAAU,EAACF,OAAO,CAAC,CAACG,cAAc,CAAC,CAAC;EAC7C,CAAC;AAAA;AAAAC,OAAA,cAAAL,QAAA"}
1
+ {"version":3,"file":"useFormValues.js","names":["_react","require","_default","exports","context","useFormValues","useContext","getFieldValues"],"sources":["../src/useFormValues.js"],"sourcesContent":["import { useContext } from 'react'\n\nexport default context => function useFormValues() {\n return useContext(context).getFieldValues()\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkC,IAAAC,QAAA,GAAAC,OAAA,cAEnB,SAAAD,SAAAE,OAAO;EAAA,OAAI,SAASC,aAAaA,CAAA,EAAG;IACjD,OAAO,IAAAC,iBAAU,EAACF,OAAO,CAAC,CAACG,cAAc,CAAC,CAAC;EAC7C,CAAC;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePrevious.js","names":["_react","require","usePrevious","value","ref","useRef","useEffect","current"],"sources":["../src/usePrevious.js"],"sourcesContent":["import { useRef, useEffect } from 'react'\r\n\r\nexport default function usePrevious(value) {\r\n const ref = useRef()\r\n useEffect(() => {\r\n ref.current = value\r\n })\r\n return ref.current\r\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEe,SAASC,WAAWA,CAACC,KAAK,EAAE;EACzC,IAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,CAAC;EACpB,IAAAC,gBAAS,EAAC,YAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,CAAC;EACF,OAAOC,GAAG,CAACG,OAAO;AACpB"}
1
+ {"version":3,"file":"usePrevious.js","names":["_react","require","usePrevious","value","ref","useRef","useEffect","current"],"sources":["../src/usePrevious.js"],"sourcesContent":["import { useRef, useEffect } from 'react'\n\nexport default function usePrevious(value) {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEe,SAASC,WAAWA,CAACC,KAAK,EAAE;EACzC,IAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,CAAC;EACpB,IAAAC,gBAAS,EAAC,YAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,CAAC;EACF,OAAOC,GAAG,CAACG,OAAO;AACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdate.js","names":["_react","require","useUpdate","hook","inputs","didMountRef","useRef","useEffect","current"],"sources":["../src/useUpdate.js"],"sourcesContent":["import { useRef, useEffect } from 'react'\r\n\r\nexport default function useUpdate(hook, inputs) {\r\n const didMountRef = useRef(false)\r\n\r\n useEffect(() => {\r\n if (didMountRef.current)\r\n hook()\r\n else\r\n didMountRef.current = true\r\n }, inputs)\r\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEe,SAASC,SAASA,CAACC,IAAI,EAAEC,MAAM,EAAE;EAC9C,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAEjC,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIF,WAAW,CAACG,OAAO,EACrBL,IAAI,CAAC,CAAC,MAENE,WAAW,CAACG,OAAO,GAAG,IAAI;EAC9B,CAAC,EAAEJ,MAAM,CAAC;AACZ"}
1
+ {"version":3,"file":"useUpdate.js","names":["_react","require","useUpdate","hook","inputs","didMountRef","useRef","useEffect","current"],"sources":["../src/useUpdate.js"],"sourcesContent":["import { useRef, useEffect } from 'react'\n\nexport default function useUpdate(hook, inputs) {\n const didMountRef = useRef(false)\n\n useEffect(() => {\n if (didMountRef.current)\n hook()\n else\n didMountRef.current = true\n }, inputs)\n}"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEe,SAASC,SAASA,CAACC,IAAI,EAAEC,MAAM,EAAE;EAC9C,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAEjC,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIF,WAAW,CAACG,OAAO,EACrBL,IAAI,CAAC,CAAC,MAENE,WAAW,CAACG,OAAO,GAAG,IAAI;EAC9B,CAAC,EAAEJ,MAAM,CAAC;AACZ"}
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "@danderson00/react-forms",
3
- "version": "0.0.48",
4
- "description": "Ultra simple, stateless, validated forms for use in React function components",
5
- "main": "src/index.js",
6
- "scripts": {
7
- "test": "jest",
8
- "build": "babel src --source-maps --out-dir dist",
9
- "prepare": "babel src --source-maps --out-dir dist"
10
- },
11
- "dependencies": {
12
- "object-path-immutable": "^4.1.1"
13
- },
14
- "peerDependencies": {
15
- "react": "*"
16
- },
17
- "devDependencies": {
18
- "@babel/cli": "^7.4.4",
19
- "@babel/core": "^7.4.4",
20
- "@babel/preset-env": "^7.4.4",
21
- "@babel/preset-react": "^7.0.0",
22
- "@wojtekmaj/enzyme-adapter-react-17": "^0.6.1",
23
- "babel-jest": "26.6.3",
24
- "enzyme": "^3.9.0",
25
- "jest": "26.6.3",
26
- "react": "^18.2.0",
27
- "react-dom": "^18.2.0"
28
- },
29
- "jest": {
30
- "moduleNameMapper": {
31
- "\\.css$": "<rootDir>/test/setup/styleMock.js"
32
- },
33
- "setupFilesAfterEnv": [
34
- "<rootDir>test/setup/enzyme.js"
35
- ]
36
- },
37
- "babel": {
38
- "presets": [
39
- "@babel/preset-env",
40
- "@babel/preset-react"
41
- ]
42
- },
43
- "keywords": [
44
- "react",
45
- "stateless",
46
- "form",
47
- "function",
48
- "component"
49
- ],
50
- "author": "danderson00",
51
- "license": "MIT",
52
- "publishConfig": {
53
- "access": "public"
54
- },
55
- "repository": {
56
- "type": "git",
57
- "url": "git+https://gitlab.com/danderson00/react-forms.git"
58
- }
59
- }
1
+ {
2
+ "name": "@danderson00/react-forms",
3
+ "version": "0.0.49",
4
+ "description": "Ultra simple, stateless, validated forms for use in React function components",
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "test": "jest",
8
+ "build": "babel src --source-maps --out-dir dist",
9
+ "prepare": "babel src --source-maps --out-dir dist"
10
+ },
11
+ "dependencies": {
12
+ "object-path-immutable": "^4.1.1"
13
+ },
14
+ "peerDependencies": {
15
+ "react": "*"
16
+ },
17
+ "devDependencies": {
18
+ "@babel/cli": "^7.4.4",
19
+ "@babel/core": "^7.4.4",
20
+ "@babel/preset-env": "^7.4.4",
21
+ "@babel/preset-react": "^7.0.0",
22
+ "@wojtekmaj/enzyme-adapter-react-17": "^0.6.1",
23
+ "babel-jest": "26.6.3",
24
+ "enzyme": "^3.9.0",
25
+ "jest": "26.6.3",
26
+ "react": "^18.2.0",
27
+ "react-dom": "^18.2.0"
28
+ },
29
+ "jest": {
30
+ "moduleNameMapper": {
31
+ "\\.css$": "<rootDir>/test/setup/styleMock.js"
32
+ },
33
+ "setupFilesAfterEnv": [
34
+ "<rootDir>test/setup/enzyme.js"
35
+ ]
36
+ },
37
+ "babel": {
38
+ "presets": [
39
+ "@babel/preset-env",
40
+ "@babel/preset-react"
41
+ ]
42
+ },
43
+ "keywords": [
44
+ "react",
45
+ "stateless",
46
+ "form",
47
+ "function",
48
+ "component"
49
+ ],
50
+ "author": "danderson00",
51
+ "license": "MIT",
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git+https://gitlab.com/danderson00/react-forms.git"
58
+ }
59
+ }
@@ -1,12 +1,12 @@
1
- import { createElement } from 'react'
2
-
3
- export const extractErrorMessage = error => error
4
- ? (error.hasOwnProperty('stack') || error.hasOwnProperty('message'))
5
- ? error.message || 'An error occurred'
6
- : error
7
- : 'An error occurred'
8
-
9
- export default ({ error }) => createElement('div', {
10
- className: 'react-forms-error',
11
- children: extractErrorMessage(error)
1
+ import { createElement } from 'react'
2
+
3
+ export const extractErrorMessage = error => error
4
+ ? (error.hasOwnProperty('stack') || error.hasOwnProperty('message'))
5
+ ? error.message || 'An error occurred'
6
+ : error
7
+ : 'An error occurred'
8
+
9
+ export default ({ error }) => createElement('div', {
10
+ className: 'react-forms-error',
11
+ children: extractErrorMessage(error)
12
12
  })
package/src/Form.js CHANGED
@@ -1,124 +1,124 @@
1
- import { createElement, createRef, useCallback, useEffect, useReducer, useState } from 'react'
2
- import { get, set } from 'object-path-immutable'
3
-
4
- const Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (
5
- ({ resetOnSubmit, row, gap, values, ...props }) => {
6
- const [fieldValues, setFieldValues] = useState(values || {})
7
- const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])
8
- const [error, setError] = useState()
9
- const [valid, setValid] = useState()
10
- const form = createRef()
11
-
12
- useEffect(() => {
13
- if(form.current) {
14
- setValid(form.current.checkValidity())
15
- }
16
- }, [form.current])
17
-
18
- const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])
19
- const getFieldValues = useCallback(() => fieldValues, [fieldValues])
20
- const mapFieldValues = target => Object.keys(target).reduce(
21
- (values, name) => set(values, name, target[name]),
22
- {}
23
- )
24
-
25
- const setFieldValue = (path, value) => {
26
- setFieldValues(previousValues => set(previousValues, path, value))
27
- if(form.current) {
28
- setValid(form.current.checkValidity())
29
- }
30
- }
31
-
32
- const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {
33
- if(validate !== false) {
34
- fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))
35
- }
36
-
37
- if((validate === false || form.current.checkValidity()) && props.onSubmit) {
38
- setError(undefined)
39
-
40
- const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')
41
- const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)
42
-
43
- const reset = () => {
44
- if(resetOnSubmit) {
45
- setFieldValues(values || {})
46
- }
47
- }
48
-
49
- try {
50
- const checkResultForError = result => {
51
- if(result && (result.success === false || result.error)) {
52
- setError(result.error || result.message || 'Form submission failed')
53
- } else {
54
- reset()
55
- }
56
- return result
57
- }
58
-
59
- const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))
60
- if(result && typeof result.then === 'function') {
61
- setFormDisabled(true)
62
- result
63
- .then(checkResultForError)
64
- .catch(setError)
65
- .finally(() => setFormDisabled(false))
66
- } else {
67
- reset()
68
- }
69
- } catch(error) {
70
- setError(error)
71
- }
72
- }
73
-
74
- e && e.preventDefault && e.preventDefault()
75
- e && e.stopPropagation && e.stopPropagation()
76
- }, [props, fieldValues])
77
-
78
- const classNames = ['react-forms', props.className]
79
- if(row) {
80
- classNames.push('react-forms-row')
81
- }
82
-
83
- const mergedAdditionalContext = Object.keys(additionalContext).reduce(
84
- (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),
85
- {}
86
- )
87
-
88
- return (
89
- createElement('form', {
90
- ...props,
91
- className: classNames.join(' '),
92
- noValidate: true,
93
- onSubmit: onSubmit,
94
- ref: form,
95
- ...(gap && { style: { gap } }),
96
- children: [
97
- createElement(ContextProvider, {
98
- ...props,
99
- key: 'context',
100
- value: {
101
- registerFieldValidator,
102
- setFieldValue,
103
- getFieldValue,
104
- getFieldValues,
105
- onSubmit,
106
- valid,
107
- ...mergedAdditionalContext
108
- }
109
- }),
110
- error && createElement(ErrorMessage, { key: 'error', error }),
111
- createElement('input', {
112
- key: 'submit',
113
- type: 'submit',
114
- style: {
115
- visibility: 'hidden',
116
- position: 'absolute'
117
- }
118
- }),
119
- ]
120
- })
121
- )
122
- }
123
- )
1
+ import { createElement, createRef, useCallback, useEffect, useReducer, useState } from 'react'
2
+ import { get, set } from 'object-path-immutable'
3
+
4
+ const Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (
5
+ ({ resetOnSubmit, row, gap, values, ...props }) => {
6
+ const [fieldValues, setFieldValues] = useState(values || {})
7
+ const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])
8
+ const [error, setError] = useState()
9
+ const [valid, setValid] = useState()
10
+ const form = createRef()
11
+
12
+ useEffect(() => {
13
+ if(form.current) {
14
+ setValid(form.current.checkValidity())
15
+ }
16
+ }, [form.current])
17
+
18
+ const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])
19
+ const getFieldValues = useCallback(() => fieldValues, [fieldValues])
20
+ const mapFieldValues = target => Object.keys(target).reduce(
21
+ (values, name) => set(values, name, target[name]),
22
+ {}
23
+ )
24
+
25
+ const setFieldValue = (path, value) => {
26
+ setFieldValues(previousValues => set(previousValues, path, value))
27
+ if(form.current) {
28
+ setValid(form.current.checkValidity())
29
+ }
30
+ }
31
+
32
+ const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {
33
+ if(validate !== false) {
34
+ fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))
35
+ }
36
+
37
+ if((validate === false || form.current.checkValidity()) && props.onSubmit) {
38
+ setError(undefined)
39
+
40
+ const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')
41
+ const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)
42
+
43
+ const reset = () => {
44
+ if(resetOnSubmit) {
45
+ setFieldValues(values || {})
46
+ }
47
+ }
48
+
49
+ try {
50
+ const checkResultForError = result => {
51
+ if(result && (result.success === false || result.error)) {
52
+ setError(result.error || result.message || 'Form submission failed')
53
+ } else {
54
+ reset()
55
+ }
56
+ return result
57
+ }
58
+
59
+ const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))
60
+ if(result && typeof result.then === 'function') {
61
+ setFormDisabled(true)
62
+ result
63
+ .then(checkResultForError)
64
+ .catch(setError)
65
+ .finally(() => setFormDisabled(false))
66
+ } else {
67
+ reset()
68
+ }
69
+ } catch(error) {
70
+ setError(error)
71
+ }
72
+ }
73
+
74
+ e && e.preventDefault && e.preventDefault()
75
+ e && e.stopPropagation && e.stopPropagation()
76
+ }, [props, fieldValues])
77
+
78
+ const classNames = ['react-forms', props.className]
79
+ if(row) {
80
+ classNames.push('react-forms-row')
81
+ }
82
+
83
+ const mergedAdditionalContext = Object.keys(additionalContext).reduce(
84
+ (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),
85
+ {}
86
+ )
87
+
88
+ return (
89
+ createElement('form', {
90
+ ...props,
91
+ className: classNames.join(' '),
92
+ noValidate: true,
93
+ onSubmit: onSubmit,
94
+ ref: form,
95
+ ...(gap && { style: { gap } }),
96
+ children: [
97
+ createElement(ContextProvider, {
98
+ ...props,
99
+ key: 'context',
100
+ value: {
101
+ registerFieldValidator,
102
+ setFieldValue,
103
+ getFieldValue,
104
+ getFieldValues,
105
+ onSubmit,
106
+ valid,
107
+ ...mergedAdditionalContext
108
+ }
109
+ }),
110
+ error && createElement(ErrorMessage, { key: 'error', error }),
111
+ createElement('input', {
112
+ key: 'submit',
113
+ type: 'submit',
114
+ style: {
115
+ visibility: 'hidden',
116
+ position: 'absolute'
117
+ }
118
+ }),
119
+ ]
120
+ })
121
+ )
122
+ }
123
+ )
124
124
  export default Form
package/src/Group.js CHANGED
@@ -1,15 +1,15 @@
1
- import { createElement, useContext } from 'react'
2
-
3
- const Group = formContext => ({ name, ...props }) => {
4
- if (!name) throw new Error("You must provide a name prop to form components")
5
- const { groups = [], ...context } = useContext(formContext)
6
-
7
- return createElement(formContext.Provider, {
8
- ...props,
9
- value: {
10
- ...context,
11
- groups: groups.concat(name)
12
- }
13
- })
14
- }
1
+ import { createElement, useContext } from 'react'
2
+
3
+ const Group = formContext => ({ name, ...props }) => {
4
+ if (!name) throw new Error("You must provide a name prop to form components")
5
+ const { groups = [], ...context } = useContext(formContext)
6
+
7
+ return createElement(formContext.Provider, {
8
+ ...props,
9
+ value: {
10
+ ...context,
11
+ groups: groups.concat(name)
12
+ }
13
+ })
14
+ }
15
15
  export default Group