@danderson00/react-forms 0.0.46 → 0.0.48

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 CHANGED
@@ -1,203 +1,203 @@
1
- # @danderson00/react-forms
2
-
3
- Ultra simple, stateless, validated forms for use in React function components.
4
-
5
- ## Installation
6
-
7
- ```shell
8
- yarn add @danderson00/react-forms
9
- ```
10
-
11
- ## Usage
12
-
13
- ```jsx
14
- import React from 'react'
15
- import { Form, Input, Textarea, Select, Submit } from '@danderson00/react-forms'
16
-
17
- export default ({ onSubmit, onCancel, initialValues }) => (
18
- <Form onSubmit={onSubmit} values={initialValues}>
19
- <label>Name</label>
20
- <Input name="name" required minLength="5" maxLength="50" />
21
-
22
- <label>Description</label>
23
- <Textarea name="description" maxLength="100" />
24
-
25
- <label>Type</label>
26
- <Select name="type" options={['', 'Widget', 'Component']} required />
27
-
28
- <label>Rating</label>
29
- <div>
30
- <Input name="rating" type="radio" numeric value="1" checked />
31
- <Input name="rating" type="radio" numeric value="2" />
32
- <Input name="rating" type="radio" numeric value="3" />
33
- </div>
34
-
35
- <label>Urgent</label>
36
- <Input name="urgent" type="checkbox" />
37
-
38
- <div>
39
- <Submit>Submit</Submit>
40
- <button onClick={onCancel}>Cancel</button>
41
- </div>
42
- </Form>
43
- )
44
- ```
45
-
46
- All `props` passed to components are passed to underlying HTML elements. Standard HTML `option` elements can also be
47
- used for specifying options for the `Select` component. Using `type="number"` or adding a `numeric` prop will coerce
48
- the provided value to a `Number` type. Specifying a `value` prop for checkboxes causes the output value to toggle
49
- between the provided value and `undefined`.
50
-
51
- Form `onSubmit` handlers are passed an object containing form values:
52
-
53
- ```json
54
- {
55
- "name": "",
56
- "description": "",
57
- "type": "",
58
- "rating": 1,
59
- "urgent": false
60
- }
61
- ```
62
-
63
- The `onSubmit` handler passed to the `Form` component is only called if validation passes. Form submission is also
64
- triggered when the `Enter` key (or `Go` button on mobile) is pressed while form elements are active.
65
-
66
- ### Deep Object Structures
67
-
68
- Simple dotted notation can be used to create deep object structures:
69
-
70
- ```jsx
71
- <Form>
72
- <Input name="name" />
73
- <Input name="inventory.stockLevel" type="number" />
74
- <Input name="inventory.quantityOnOrder" type="number" />
75
- <Submit onSubmit={values => console.log(values)} />
76
- </Form>
77
- ```
78
-
79
- ```json
80
- {
81
- "name": "",
82
- "inventory": {
83
- "stockLevel": 0,
84
- "quantityOnOrder": 0
85
- }
86
- }
87
- ```
88
-
89
- ### Styling
90
-
91
- No styling is provided out of the box. Default corresponding HTML elements are used and can be directly styled using
92
- CSS or style attributes.
93
-
94
- Additionally, a `validated` class is applied to individual elements as they change, and to the form when it is
95
- submitted. This allows you to make use of the `:invalid` CSS pseudo-class, but only display validation styles after
96
- validation has occurred.
97
-
98
- Styling to work with the example code above might look something like:
99
-
100
- ```css
101
- form > * {
102
- display: block;
103
- }
104
-
105
- form label {
106
- font-size: 0.8em;
107
- }
108
-
109
- form label:not(:first-child) {
110
- margin-top: 5px;
111
- }
112
-
113
- form .validated:invalid {
114
- outline: 1px solid red;
115
- }
116
- ```
117
-
118
- ## Custom Components
119
-
120
- `react-functional-forms` exposes functions that can be used to wrap components so that they can be included in output
121
- form value objects.
122
-
123
- ```jsx
124
- import React from 'react'
125
- import { wrapInput, wrapSubmit, Form } from '@danderson00/react-forms'
126
-
127
- const InputField = wrapInput(({ label, className, ...inputProps }) =>
128
- <div className={className}>
129
- <label>{label}</label>
130
- <input {...inputProps} />
131
- </div>
132
- )
133
-
134
- const AnchorSubmit = wrapSubmit(props => <a {...props} />)
135
-
136
- export const SampleForm = ({ onSubmit }) => (
137
- <Form onSubmit={onSubmit}>
138
- <InputField label="Name" name="name" required />
139
- <InputField label="Description" name="description" maxLength="100" />
140
- <InputField label="Urgent" name="urgent" type="checkbox" />
141
- <AnchorSubmit>Submit</AnchorSubmit>
142
- </Form>
143
- )
144
- ```
145
-
146
- The `wrapInput` function manages the `value` and `onChange` props and in most cases, these are the only props you
147
- need to pass to your input component. In the example above, all other props are also passed on to enable validation.
148
-
149
- If your custom component is rendered with a `type` prop of `radio` or `checkbox`, this will cause the `checked` prop
150
- to become managed instead of `value`, and should be passed to your input component. You can also force the component
151
- to be treated as a radio button or checkbox by specifying options to the `wrapInput` function. More on this below.
152
-
153
- The `wrapSubmit` function manages the `onClick` and `disabled` props of your submit component. All other props can be
154
- safely ignored or passed on.
155
-
156
- ### Integration With Third Party Libraries
157
-
158
- The functions described above can also be used to easily wrap components from third party libraries.
159
-
160
- ```jsx
161
- import { wrapInput } from 'react-functional-forms'
162
- import * as material from '@material-ui/core'
163
-
164
- export const Input = wrapInput(material.Input)
165
- export const Checkbox = wrapInput(material.Checkbox, { type: 'checkbox' })
166
- export const Radio = wrapInput(material.Radio, { type: 'radio' })
167
- export const Select = wrapInput(material.Select, { type: 'select' })
168
- export const Switch = wrapInput(material.Switch, { type: 'checkbox' })
169
- ```
170
-
171
- ## API
172
-
173
- ### wrapInput(component, options)
174
-
175
- Options are as follows:
176
-
177
- Option|Type|Default|Description
178
- ---|---|---|---
179
- type|string|'text'|One of `text`, `radio`, `checkbox` or `select`.
180
- passErrorProp|boolean|false|Passes a boolean prop named `error` when field validation fails.
181
- valueFromEvent|function||Override the default mechanism for retrieving a new field value from an onChange event. All function arguments are passed on.
182
- defaultValue|any||Specify the default value for the field. Can be a value or a function that returns a value.
183
-
184
- ### wrapSubmit(component)
185
-
186
- ## License
187
-
188
- **The MIT License (MIT)**
189
-
190
- Copyright © 2022 Dale Anderson
191
-
192
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
193
- documentation files (the “Software”), to deal in the Software without restriction, including without limitation the
194
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
195
- persons to whom the Software is furnished to do so, subject to the following conditions:
196
-
197
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
198
- Software.
199
-
200
- THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
201
- WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
202
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
203
- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ # @danderson00/react-forms
2
+
3
+ Ultra simple, stateless, validated forms for use in React function components.
4
+
5
+ ## Installation
6
+
7
+ ```shell
8
+ yarn add @danderson00/react-forms
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```jsx
14
+ import React from 'react'
15
+ import { Form, Input, Textarea, Select, Submit } from '@danderson00/react-forms'
16
+
17
+ export default ({ onSubmit, onCancel, initialValues }) => (
18
+ <Form onSubmit={onSubmit} values={initialValues}>
19
+ <label>Name</label>
20
+ <Input name="name" required minLength="5" maxLength="50" />
21
+
22
+ <label>Description</label>
23
+ <Textarea name="description" maxLength="100" />
24
+
25
+ <label>Type</label>
26
+ <Select name="type" options={['', 'Widget', 'Component']} required />
27
+
28
+ <label>Rating</label>
29
+ <div>
30
+ <Input name="rating" type="radio" numeric value="1" checked />
31
+ <Input name="rating" type="radio" numeric value="2" />
32
+ <Input name="rating" type="radio" numeric value="3" />
33
+ </div>
34
+
35
+ <label>Urgent</label>
36
+ <Input name="urgent" type="checkbox" />
37
+
38
+ <div>
39
+ <Submit>Submit</Submit>
40
+ <button onClick={onCancel}>Cancel</button>
41
+ </div>
42
+ </Form>
43
+ )
44
+ ```
45
+
46
+ All `props` passed to components are passed to underlying HTML elements. Standard HTML `option` elements can also be
47
+ used for specifying options for the `Select` component. Using `type="number"` or adding a `numeric` prop will coerce
48
+ the provided value to a `Number` type. Specifying a `value` prop for checkboxes causes the output value to toggle
49
+ between the provided value and `undefined`.
50
+
51
+ Form `onSubmit` handlers are passed an object containing form values:
52
+
53
+ ```json
54
+ {
55
+ "name": "",
56
+ "description": "",
57
+ "type": "",
58
+ "rating": 1,
59
+ "urgent": false
60
+ }
61
+ ```
62
+
63
+ The `onSubmit` handler passed to the `Form` component is only called if validation passes. Form submission is also
64
+ triggered when the `Enter` key (or `Go` button on mobile) is pressed while form elements are active.
65
+
66
+ ### Deep Object Structures
67
+
68
+ Simple dotted notation can be used to create deep object structures:
69
+
70
+ ```jsx
71
+ <Form>
72
+ <Input name="name" />
73
+ <Input name="inventory.stockLevel" type="number" />
74
+ <Input name="inventory.quantityOnOrder" type="number" />
75
+ <Submit onSubmit={values => console.log(values)} />
76
+ </Form>
77
+ ```
78
+
79
+ ```json
80
+ {
81
+ "name": "",
82
+ "inventory": {
83
+ "stockLevel": 0,
84
+ "quantityOnOrder": 0
85
+ }
86
+ }
87
+ ```
88
+
89
+ ### Styling
90
+
91
+ No styling is provided out of the box. Default corresponding HTML elements are used and can be directly styled using
92
+ CSS or style attributes.
93
+
94
+ Additionally, a `validated` class is applied to individual elements as they change, and to the form when it is
95
+ submitted. This allows you to make use of the `:invalid` CSS pseudo-class, but only display validation styles after
96
+ validation has occurred.
97
+
98
+ Styling to work with the example code above might look something like:
99
+
100
+ ```css
101
+ form > * {
102
+ display: block;
103
+ }
104
+
105
+ form label {
106
+ font-size: 0.8em;
107
+ }
108
+
109
+ form label:not(:first-child) {
110
+ margin-top: 5px;
111
+ }
112
+
113
+ form .validated:invalid {
114
+ outline: 1px solid red;
115
+ }
116
+ ```
117
+
118
+ ## Custom Components
119
+
120
+ `react-functional-forms` exposes functions that can be used to wrap components so that they can be included in output
121
+ form value objects.
122
+
123
+ ```jsx
124
+ import React from 'react'
125
+ import { wrapInput, wrapSubmit, Form } from '@danderson00/react-forms'
126
+
127
+ const InputField = wrapInput(({ label, className, ...inputProps }) =>
128
+ <div className={className}>
129
+ <label>{label}</label>
130
+ <input {...inputProps} />
131
+ </div>
132
+ )
133
+
134
+ const AnchorSubmit = wrapSubmit(props => <a {...props} />)
135
+
136
+ export const SampleForm = ({ onSubmit }) => (
137
+ <Form onSubmit={onSubmit}>
138
+ <InputField label="Name" name="name" required />
139
+ <InputField label="Description" name="description" maxLength="100" />
140
+ <InputField label="Urgent" name="urgent" type="checkbox" />
141
+ <AnchorSubmit>Submit</AnchorSubmit>
142
+ </Form>
143
+ )
144
+ ```
145
+
146
+ The `wrapInput` function manages the `value` and `onChange` props and in most cases, these are the only props you
147
+ need to pass to your input component. In the example above, all other props are also passed on to enable validation.
148
+
149
+ If your custom component is rendered with a `type` prop of `radio` or `checkbox`, this will cause the `checked` prop
150
+ to become managed instead of `value`, and should be passed to your input component. You can also force the component
151
+ to be treated as a radio button or checkbox by specifying options to the `wrapInput` function. More on this below.
152
+
153
+ The `wrapSubmit` function manages the `onClick` and `disabled` props of your submit component. All other props can be
154
+ safely ignored or passed on.
155
+
156
+ ### Integration With Third Party Libraries
157
+
158
+ The functions described above can also be used to easily wrap components from third party libraries.
159
+
160
+ ```jsx
161
+ import { wrapInput } from 'react-functional-forms'
162
+ import * as material from '@material-ui/core'
163
+
164
+ export const Input = wrapInput(material.Input)
165
+ export const Checkbox = wrapInput(material.Checkbox, { type: 'checkbox' })
166
+ export const Radio = wrapInput(material.Radio, { type: 'radio' })
167
+ export const Select = wrapInput(material.Select, { type: 'select' })
168
+ export const Switch = wrapInput(material.Switch, { type: 'checkbox' })
169
+ ```
170
+
171
+ ## API
172
+
173
+ ### wrapInput(component, options)
174
+
175
+ Options are as follows:
176
+
177
+ Option|Type|Default|Description
178
+ ---|---|---|---
179
+ type|string|'text'|One of `text`, `radio`, `checkbox` or `select`.
180
+ passErrorProp|boolean|false|Passes a boolean prop named `error` when field validation fails.
181
+ valueFromEvent|function||Override the default mechanism for retrieving a new field value from an onChange event. All function arguments are passed on.
182
+ defaultValue|any||Specify the default value for the field. Can be a value or a function that returns a value.
183
+
184
+ ### wrapSubmit(component)
185
+
186
+ ## License
187
+
188
+ **The MIT License (MIT)**
189
+
190
+ Copyright © 2022 Dale Anderson
191
+
192
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
193
+ documentation files (the “Software”), to deal in the Software without restriction, including without limitation the
194
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
195
+ persons to whom the Software is furnished to do so, subject to the following conditions:
196
+
197
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
198
+ Software.
199
+
200
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
201
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
202
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
203
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/TODO.md CHANGED
@@ -1,3 +1,3 @@
1
- - Make opinionated fields default implementation
2
- - Update readme
1
+ - Make opinionated fields default implementation
2
+ - Update readme
3
3
  -
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorMessage.js","names":["_react","require","extractErrorMessage","error","hasOwnProperty","message","exports","_default","_ref","createElement","className","children"],"sources":["../src/ErrorMessage.js"],"sourcesContent":["import { createElement } from 'react'\n\nexport const extractErrorMessage = error => error\n ? (error.hasOwnProperty('stack') || error.hasOwnProperty('message'))\n ? error.message || 'An error occurred'\n : error\n : 'An error occurred'\n\nexport default ({ error }) => createElement('div', {\n className: 'react-forms-error',\n children: extractErrorMessage(error)\n})"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,KAAK;EAAA,OAAIA,KAAK,GAC5CA,KAAK,CAACC,cAAc,CAAC,OAAO,CAAC,IAAID,KAAK,CAACC,cAAc,CAAC,SAAS,CAAC,GAC/DD,KAAK,CAACE,OAAO,IAAI,mBAAmB,GACpCF,KAAK,GACP,mBAAmB;AAAA;AAAAG,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA;AAAA,IAAAK,QAAA,GAER,SAAAA,SAAAC,IAAA;EAAA,IAAGL,KAAK,GAAAK,IAAA,CAALL,KAAK;EAAA,oBAAO,IAAAM,oBAAa,EAAC,KAAK,EAAE;IACjDC,SAAS,EAAE,mBAAmB;IAC9BC,QAAQ,EAAET,mBAAmB,CAACC,KAAK;EACrC,CAAC,CAAC;AAAA;AAAAG,OAAA,cAAAC,QAAA"}
1
+ {"version":3,"file":"ErrorMessage.js","names":["_react","require","extractErrorMessage","error","hasOwnProperty","message","exports","_default","_ref","createElement","className","children"],"sources":["../src/ErrorMessage.js"],"sourcesContent":["import { createElement } from 'react'\r\n\r\nexport const extractErrorMessage = error => error\r\n ? (error.hasOwnProperty('stack') || error.hasOwnProperty('message'))\r\n ? error.message || 'An error occurred'\r\n : error\r\n : 'An error occurred'\r\n\r\nexport default ({ error }) => createElement('div', {\r\n className: 'react-forms-error',\r\n children: extractErrorMessage(error)\r\n})"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,KAAK;EAAA,OAAIA,KAAK,GAC5CA,KAAK,CAACC,cAAc,CAAC,OAAO,CAAC,IAAID,KAAK,CAACC,cAAc,CAAC,SAAS,CAAC,GAC/DD,KAAK,CAACE,OAAO,IAAI,mBAAmB,GACpCF,KAAK,GACP,mBAAmB;AAAA;AAAAG,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA;AAAA,IAAAK,QAAA,GAER,SAAAA,SAAAC,IAAA;EAAA,IAAGL,KAAK,GAAAK,IAAA,CAALL,KAAK;EAAA,oBAAO,IAAAM,oBAAa,EAAC,KAAK,EAAE;IACjDC,SAAS,EAAE,mBAAmB;IAC9BC,QAAQ,EAAET,mBAAmB,CAACC,KAAK;EACrC,CAAC,CAAC;AAAA;AAAAG,OAAA,cAAAC,QAAA"}
package/dist/Form.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["_react","require","_objectPathImmutable","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","prototype","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Form","ContextProvider","additionalContext","ErrorMessage","_ref","resetOnSubmit","row","gap","values","props","_useState","useState","_useState2","fieldValues","setFieldValues","_useReducer","useReducer","validators","validator","concat","_useReducer2","fieldValidators","registerFieldValidator","_useState3","_useState4","error","setError","_useState5","_useState6","valid","setValid","form","createRef","useEffect","current","checkValidity","getFieldValue","useCallback","path","get","getFieldValues","mapFieldValues","reduce","set","setFieldValue","previousValues","onSubmit","e","_ref2","additionalValues","validate","setFieldValidated","interactiveElements","querySelectorAll","setFormDisabled","disabled","x","reset","checkResultForError","result","success","message","then","preventDefault","stopPropagation","classNames","className","mergedAdditionalContext","property","createElement","join","noValidate","ref","style","children","type","visibility","position","_default","exports"],"sources":["../src/Form.js"],"sourcesContent":["import { createElement, createRef, useCallback, useEffect, useReducer, useState } from 'react'\nimport { get, set } from 'object-path-immutable'\n\nconst Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (\n ({ resetOnSubmit, row, gap, values, ...props }) => {\n const [fieldValues, setFieldValues] = useState(values || {})\n const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])\n const [error, setError] = useState()\n const [valid, setValid] = useState()\n const form = createRef()\n\n useEffect(() => {\n if(form.current) {\n setValid(form.current.checkValidity())\n }\n }, [form.current])\n\n const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])\n const getFieldValues = useCallback(() => fieldValues, [fieldValues])\n const mapFieldValues = target => Object.keys(target).reduce(\n (values, name) => set(values, name, target[name]),\n {}\n )\n\n const setFieldValue = (path, value) => {\n setFieldValues(previousValues => set(previousValues, path, value))\n if(form.current) {\n setValid(form.current.checkValidity())\n }\n }\n\n const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {\n if(validate !== false) {\n fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))\n }\n\n if((validate === false || form.current.checkValidity()) && props.onSubmit) {\n setError(undefined)\n\n const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')\n const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)\n\n const reset = () => {\n if(resetOnSubmit) {\n setFieldValues(values || {})\n }\n }\n\n try {\n const checkResultForError = result => {\n if(result && (result.success === false || result.error)) {\n setError(result.error || result.message || 'Form submission failed')\n } else {\n reset()\n }\n return result\n }\n\n const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))\n if(result && typeof result.then === 'function') {\n setFormDisabled(true)\n result\n .then(checkResultForError)\n .catch(setError)\n .finally(() => setFormDisabled(false))\n } else {\n reset()\n }\n } catch(error) {\n setError(error)\n }\n }\n\n e && e.preventDefault && e.preventDefault()\n e && e.stopPropagation && e.stopPropagation()\n }, [props, fieldValues])\n\n const classNames = ['react-forms', props.className]\n if(row) {\n classNames.push('react-forms-row')\n }\n\n const mergedAdditionalContext = Object.keys(additionalContext).reduce(\n (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),\n {}\n )\n\n return (\n createElement('form', {\n ...props,\n className: classNames.join(' '),\n noValidate: true,\n onSubmit: onSubmit,\n ref: form,\n ...(gap && { style: { gap } }),\n children: [\n createElement(ContextProvider, {\n ...props,\n key: 'context',\n value: {\n registerFieldValidator,\n setFieldValue,\n getFieldValue,\n getFieldValues,\n onSubmit,\n valid,\n ...mergedAdditionalContext\n }\n }),\n error && createElement(ErrorMessage, { key: 'error', error }),\n createElement('input', {\n key: 'submit',\n type: 'submit',\n style: {\n visibility: 'hidden',\n position: 'absolute'\n }\n }),\n ]\n })\n )\n }\n)\nexport default Form"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["_react","require","_objectPathImmutable","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","prototype","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Form","ContextProvider","additionalContext","ErrorMessage","_ref","resetOnSubmit","row","gap","values","props","_useState","useState","_useState2","fieldValues","setFieldValues","_useReducer","useReducer","validators","validator","concat","_useReducer2","fieldValidators","registerFieldValidator","_useState3","_useState4","error","setError","_useState5","_useState6","valid","setValid","form","createRef","useEffect","current","checkValidity","getFieldValue","useCallback","path","get","getFieldValues","mapFieldValues","reduce","set","setFieldValue","previousValues","onSubmit","e","_ref2","additionalValues","validate","setFieldValidated","interactiveElements","querySelectorAll","setFormDisabled","disabled","x","reset","checkResultForError","result","success","message","then","preventDefault","stopPropagation","classNames","className","mergedAdditionalContext","property","createElement","join","noValidate","ref","style","children","type","visibility","position","_default","exports"],"sources":["../src/Form.js"],"sourcesContent":["import { createElement, createRef, useCallback, useEffect, useReducer, useState } from 'react'\r\nimport { get, set } from 'object-path-immutable'\r\n\r\nconst Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (\r\n ({ resetOnSubmit, row, gap, values, ...props }) => {\r\n const [fieldValues, setFieldValues] = useState(values || {})\r\n const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])\r\n const [error, setError] = useState()\r\n const [valid, setValid] = useState()\r\n const form = createRef()\r\n\r\n useEffect(() => {\r\n if(form.current) {\r\n setValid(form.current.checkValidity())\r\n }\r\n }, [form.current])\r\n\r\n const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])\r\n const getFieldValues = useCallback(() => fieldValues, [fieldValues])\r\n const mapFieldValues = target => Object.keys(target).reduce(\r\n (values, name) => set(values, name, target[name]),\r\n {}\r\n )\r\n\r\n const setFieldValue = (path, value) => {\r\n setFieldValues(previousValues => set(previousValues, path, value))\r\n if(form.current) {\r\n setValid(form.current.checkValidity())\r\n }\r\n }\r\n\r\n const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {\r\n if(validate !== false) {\r\n fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))\r\n }\r\n\r\n if((validate === false || form.current.checkValidity()) && props.onSubmit) {\r\n setError(undefined)\r\n\r\n const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')\r\n const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)\r\n\r\n const reset = () => {\r\n if(resetOnSubmit) {\r\n setFieldValues(values || {})\r\n }\r\n }\r\n\r\n try {\r\n const checkResultForError = result => {\r\n if(result && (result.success === false || result.error)) {\r\n setError(result.error || result.message || 'Form submission failed')\r\n } else {\r\n reset()\r\n }\r\n return result\r\n }\r\n\r\n const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))\r\n if(result && typeof result.then === 'function') {\r\n setFormDisabled(true)\r\n result\r\n .then(checkResultForError)\r\n .catch(setError)\r\n .finally(() => setFormDisabled(false))\r\n } else {\r\n reset()\r\n }\r\n } catch(error) {\r\n setError(error)\r\n }\r\n }\r\n\r\n e && e.preventDefault && e.preventDefault()\r\n e && e.stopPropagation && e.stopPropagation()\r\n }, [props, fieldValues])\r\n\r\n const classNames = ['react-forms', props.className]\r\n if(row) {\r\n classNames.push('react-forms-row')\r\n }\r\n\r\n const mergedAdditionalContext = Object.keys(additionalContext).reduce(\r\n (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),\r\n {}\r\n )\r\n\r\n return (\r\n createElement('form', {\r\n ...props,\r\n className: classNames.join(' '),\r\n noValidate: true,\r\n onSubmit: onSubmit,\r\n ref: form,\r\n ...(gap && { style: { gap } }),\r\n children: [\r\n createElement(ContextProvider, {\r\n ...props,\r\n key: 'context',\r\n value: {\r\n registerFieldValidator,\r\n setFieldValue,\r\n getFieldValue,\r\n getFieldValues,\r\n onSubmit,\r\n valid,\r\n ...mergedAdditionalContext\r\n }\r\n }),\r\n error && createElement(ErrorMessage, { key: 'error', error }),\r\n createElement('input', {\r\n key: 'submit',\r\n type: 'submit',\r\n style: {\r\n visibility: 'hidden',\r\n position: 'absolute'\r\n }\r\n }),\r\n ]\r\n })\r\n )\r\n }\r\n)\r\nexport default Form"],"mappings":"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"}
package/dist/Group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","names":["_react","require","_excluded","_excluded2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","Group","formContext","_ref","name","props","Error","_useContext","useContext","_useContext$groups","groups","context","createElement","Provider","concat","_default","exports"],"sources":["../src/Group.js"],"sourcesContent":["import { createElement, useContext } from 'react'\n\nconst Group = formContext => ({ name, ...props }) => {\n if (!name) throw new Error(\"You must provide a name prop to form components\")\n const { groups = [], ...context } = useContext(formContext)\n\n return createElement(formContext.Provider, {\n ...props,\n value: {\n ...context,\n groups: groups.concat(name)\n }\n })\n}\nexport default Group"],"mappings":"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"}
1
+ {"version":3,"file":"Group.js","names":["_react","require","_excluded","_excluded2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","Group","formContext","_ref","name","props","Error","_useContext","useContext","_useContext$groups","groups","context","createElement","Provider","concat","_default","exports"],"sources":["../src/Group.js"],"sourcesContent":["import { createElement, useContext } from 'react'\r\n\r\nconst Group = formContext => ({ name, ...props }) => {\r\n if (!name) throw new Error(\"You must provide a name prop to form components\")\r\n const { groups = [], ...context } = useContext(formContext)\r\n\r\n return createElement(formContext.Provider, {\r\n ...props,\r\n value: {\r\n ...context,\r\n groups: groups.concat(name)\r\n }\r\n })\r\n}\r\nexport default Group"],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","require","_Form","_interopRequireDefault","_Group","_ErrorMessage","_submit","_input","_useFormValues","_useForm","_excluded","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","call","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","context","createContext","exports","createConsumer","ConsumerComponent","props","createElement","Consumer","children","createRawConsumer","_ref","registerFieldValidator","setFieldValue","getFieldValue","Form","FormProvider","Provider","ErrorMessage","Group","GroupProvider","Submit","submit","Input","Textarea","Select","type","wrapInput","component","options","wrapSubmit","useFormValues","useFormValuesImpl","useForm","useFormImpl"],"sources":["../src/index.js"],"sourcesContent":["import { createContext, createElement } from 'react'\nimport FormProvider from './Form'\nimport GroupProvider from './Group'\nimport ErrorMessage from './ErrorMessage'\nimport submit from './submit'\nimport input from './input'\nimport useFormValuesImpl from './useFormValues'\nimport useFormImpl from './useForm'\nimport './styles'\n\nexport const context = createContext({})\n\nconst createConsumer = ConsumerComponent => props => createElement(\n context.Consumer,\n { children: context => createElement(ConsumerComponent, { ...context, ...props }) }\n)\n\nexport const createRawConsumer = ConsumerComponent => (\n props => createElement(\n context.Consumer,\n { children: ({ registerFieldValidator, setFieldValue, getFieldValue, ...context }) => (\n createElement(ConsumerComponent, { ...context, ...props })\n )}\n )\n)\n\nexport const Form = FormProvider(context.Provider, {}, ErrorMessage)\nexport const Group = GroupProvider(context)\nexport const Submit = createConsumer(submit(props => createElement('button', props)))\n\nexport const Input = createConsumer(input(props => createElement('input', props)))\nexport const Textarea = createConsumer(input(props => createElement('textarea', props)))\nexport const Select = createConsumer(input(props => createElement('select', props), { type: 'select' }))\n\nexport const wrapInput = (component, options) => createConsumer(input(props => createElement(component, props), options))\nexport const wrapSubmit = component => createConsumer(submit(props => createElement(component, props)))\n\nexport const useFormValues = useFormValuesImpl(context)\nexport const useForm = useFormImpl(context)\n\nexport { FormProvider }"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","require","_Form","_interopRequireDefault","_Group","_ErrorMessage","_submit","_input","_useFormValues","_useForm","_excluded","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","call","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","context","createContext","exports","createConsumer","ConsumerComponent","props","createElement","Consumer","children","createRawConsumer","_ref","registerFieldValidator","setFieldValue","getFieldValue","Form","FormProvider","Provider","ErrorMessage","Group","GroupProvider","Submit","submit","Input","Textarea","Select","type","wrapInput","component","options","wrapSubmit","useFormValues","useFormValuesImpl","useForm","useFormImpl"],"sources":["../src/index.js"],"sourcesContent":["import { createContext, createElement } from 'react'\r\nimport FormProvider from './Form'\r\nimport GroupProvider from './Group'\r\nimport ErrorMessage from './ErrorMessage'\r\nimport submit from './submit'\r\nimport input from './input'\r\nimport useFormValuesImpl from './useFormValues'\r\nimport useFormImpl from './useForm'\r\nimport './styles'\r\n\r\nexport const context = createContext({})\r\n\r\nconst createConsumer = ConsumerComponent => props => createElement(\r\n context.Consumer,\r\n { children: context => createElement(ConsumerComponent, { ...context, ...props }) }\r\n)\r\n\r\nexport const createRawConsumer = ConsumerComponent => (\r\n props => createElement(\r\n context.Consumer,\r\n { children: ({ registerFieldValidator, setFieldValue, getFieldValue, ...context }) => (\r\n createElement(ConsumerComponent, { ...context, ...props })\r\n )}\r\n )\r\n)\r\n\r\nexport const Form = FormProvider(context.Provider, {}, ErrorMessage)\r\nexport const Group = GroupProvider(context)\r\nexport const Submit = createConsumer(submit(props => createElement('button', props)))\r\n\r\nexport const Input = createConsumer(input(props => createElement('input', props)))\r\nexport const Textarea = createConsumer(input(props => createElement('textarea', props)))\r\nexport const Select = createConsumer(input(props => createElement('select', props), { type: 'select' }))\r\n\r\nexport const wrapInput = (component, options) => createConsumer(input(props => createElement(component, props), options))\r\nexport const wrapSubmit = component => createConsumer(submit(props => createElement(component, props)))\r\n\r\nexport const useFormValues = useFormValuesImpl(context)\r\nexport const useForm = useFormImpl(context)\r\n\r\nexport { FormProvider }"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"injectCss.js","names":["injectCss","id","css","document","querySelector","concat","head","getElementsByTagName","style","createElement","type","appendChild","styleSheet","cssText","createTextNode"],"sources":["../src/injectCss.js"],"sourcesContent":["export default function injectCss(id, css) {\n if (!css || typeof document === 'undefined' || document.querySelector(`#${id}`)) return\n\n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.id = id\n style.type = 'text/css'\n\n head.appendChild(style)\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n}"],"mappings":";;;;;;AAAe,SAASA,SAASA,CAACC,EAAE,EAAEC,GAAG,EAAE;EACzC,IAAI,CAACA,GAAG,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAIA,QAAQ,CAACC,aAAa,KAAAC,MAAA,CAAKJ,EAAE,CAAE,CAAC,EAAE;EAEjF,IAAMK,IAAI,GAAGH,QAAQ,CAACG,IAAI,IAAIH,QAAQ,CAACI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACtE,IAAMC,KAAK,GAAGL,QAAQ,CAACM,aAAa,CAAC,OAAO,CAAC;EAC7CD,KAAK,CAACP,EAAE,GAAGA,EAAE;EACbO,KAAK,CAACE,IAAI,GAAG,UAAU;EAEvBJ,IAAI,CAACK,WAAW,CAACH,KAAK,CAAC;EAEvB,IAAIA,KAAK,CAACI,UAAU,EAAE;IACpBJ,KAAK,CAACI,UAAU,CAACC,OAAO,GAAGX,GAAG;EAChC,CAAC,MAAM;IACLM,KAAK,CAACG,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACZ,GAAG,CAAC,CAAC;EACjD;AACF"}
1
+ {"version":3,"file":"injectCss.js","names":["injectCss","id","css","document","querySelector","concat","head","getElementsByTagName","style","createElement","type","appendChild","styleSheet","cssText","createTextNode"],"sources":["../src/injectCss.js"],"sourcesContent":["export default function injectCss(id, css) {\r\n if (!css || typeof document === 'undefined' || document.querySelector(`#${id}`)) return\r\n\r\n const head = document.head || document.getElementsByTagName('head')[0]\r\n const style = document.createElement('style')\r\n style.id = id\r\n style.type = 'text/css'\r\n\r\n head.appendChild(style)\r\n\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = css\r\n } else {\r\n style.appendChild(document.createTextNode(css))\r\n }\r\n}"],"mappings":";;;;;;AAAe,SAASA,SAASA,CAACC,EAAE,EAAEC,GAAG,EAAE;EACzC,IAAI,CAACA,GAAG,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAIA,QAAQ,CAACC,aAAa,KAAAC,MAAA,CAAKJ,EAAE,CAAE,CAAC,EAAE;EAEjF,IAAMK,IAAI,GAAGH,QAAQ,CAACG,IAAI,IAAIH,QAAQ,CAACI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACtE,IAAMC,KAAK,GAAGL,QAAQ,CAACM,aAAa,CAAC,OAAO,CAAC;EAC7CD,KAAK,CAACP,EAAE,GAAGA,EAAE;EACbO,KAAK,CAACE,IAAI,GAAG,UAAU;EAEvBJ,IAAI,CAACK,WAAW,CAACH,KAAK,CAAC;EAEvB,IAAIA,KAAK,CAACI,UAAU,EAAE;IACpBJ,KAAK,CAACI,UAAU,CAACC,OAAO,GAAGX,GAAG;EAChC,CAAC,MAAM;IACLM,KAAK,CAACG,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACZ,GAAG,CAAC,CAAC;EACjD;AACF"}
package/dist/input.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = require("react");
9
+ var _objectPathImmutable = require("object-path-immutable");
9
10
  var _usePrevious = _interopRequireDefault(require("./usePrevious"));
10
11
  var _useUpdate = _interopRequireDefault(require("./useUpdate"));
11
12
  var _inputTypes = _interopRequireDefault(require("./inputTypes"));
@@ -95,6 +96,9 @@ var _default = function _default(render) {
95
96
  setFieldValue(name, applyValueTransforms(value));
96
97
  }
97
98
  }, [props]);
99
+
100
+ // when clicking submit, getFieldValue(s) return undefined due to an issue with closures I can't figure out
101
+ // the form component passes in its copy of field values as the oldValues parameter for this case
98
102
  var updateValidationState = (0, _react.useCallback)(function (newValue, oldValues) {
99
103
  var getValidationMessage = props.getValidationMessage,
100
104
  getFieldValue = props.getFieldValue,
@@ -102,7 +106,7 @@ var _default = function _default(render) {
102
106
  var element = document.querySelector("#".concat(id));
103
107
  if (element) {
104
108
  var _element$setCustomVal;
105
- var validationMessage = getValidationMessage && getValidationMessage(newValue === undefined ? getFieldValue(name) : newValue, oldValues || getFieldValues());
109
+ var validationMessage = getValidationMessage && getValidationMessage(newValue === undefined ? getFieldValue(name) || (0, _objectPathImmutable.get)(oldValues, name) : newValue, oldValues || getFieldValues());
106
110
  (_element$setCustomVal = element.setCustomValidity) === null || _element$setCustomVal === void 0 ? void 0 : _element$setCustomVal.call(element, validationMessage || "");
107
111
  setFieldValidated(true);
108
112
  // this is a little hacky, but the simplest way I could think of to determine the