envoc-form 2.0.1-1 → 2.0.1-13

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 (155) hide show
  1. package/README.md +7 -7
  2. package/dist/css/envoc-form-styles.css +43 -5
  3. package/dist/css/envoc-form-styles.css.map +1 -1
  4. package/es/AddressInput/AddressInput.js +8 -7
  5. package/es/ConfirmBaseForm/ConfirmBaseForm.js +3 -2
  6. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +3 -2
  7. package/es/DatePickerInput/DatePickerInput.js +3 -2
  8. package/es/FileInput/DefaultFileList.js +36 -0
  9. package/es/FileInput/DropzoneFileInput.js +58 -0
  10. package/es/FileInput/FileInput.js +31 -9
  11. package/es/FileInput/index.js +2 -1
  12. package/es/Form/Form.js +11 -33
  13. package/es/Form/FormBasedPreventNavigation.js +1 -1
  14. package/es/FormGroupWrapper.js +2 -1
  15. package/es/FormInput/FormInput.js +29 -10
  16. package/es/FormInputArray/FormInputArray.js +39 -24
  17. package/es/IconInput.js +2 -1
  18. package/es/ReactSelectField/ReactSelectField.js +6 -3
  19. package/es/SubmitFormButton.js +2 -1
  20. package/es/__Tests__/FormTestBase.js +5 -2
  21. package/es/normalizers.js +10 -5
  22. package/es/useStandardFormInput.js +4 -2
  23. package/es/utils/index.js +3 -0
  24. package/es/utils/objectContainsNonSerializableProperty.js +16 -0
  25. package/es/utils/objectToFormData.js +65 -0
  26. package/es/utils/typeChecks.js +25 -0
  27. package/lib/AddressInput/AddressInput.js +15 -9
  28. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +4 -2
  29. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +6 -4
  30. package/lib/DatePickerInput/DatePickerInput.js +4 -2
  31. package/lib/FileInput/DefaultFileList.js +47 -0
  32. package/lib/FileInput/DropzoneFileInput.js +75 -0
  33. package/lib/FileInput/FileInput.js +39 -10
  34. package/lib/FileInput/index.js +13 -3
  35. package/lib/Form/Form.js +19 -39
  36. package/lib/Form/FormBasedPreventNavigation.js +7 -3
  37. package/lib/FormGroupWrapper.js +3 -1
  38. package/lib/FormInput/FormInput.js +31 -11
  39. package/lib/FormInputArray/FormInputArray.js +47 -26
  40. package/lib/FormSection.js +5 -1
  41. package/lib/IconInput.js +3 -1
  42. package/lib/ReactSelectField/ReactSelectField.js +13 -5
  43. package/lib/ReactSelectField/index.js +6 -2
  44. package/lib/SubmitFormButton.js +3 -1
  45. package/lib/__Tests__/FormTestBase.js +6 -2
  46. package/lib/index.js +7 -3
  47. package/lib/normalizers.js +10 -5
  48. package/lib/useStandardFormInput.js +5 -2
  49. package/lib/utils/index.js +23 -0
  50. package/lib/utils/objectContainsNonSerializableProperty.js +24 -0
  51. package/lib/utils/objectToFormData.js +73 -0
  52. package/lib/utils/typeChecks.js +58 -0
  53. package/lib/validators/index.js +5 -1
  54. package/package.json +99 -90
  55. package/src/AddressInput/AddesssInput.test.js +23 -23
  56. package/src/AddressInput/AddressInput.js +73 -73
  57. package/src/AddressInput/UsStates.js +53 -53
  58. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +207 -207
  59. package/src/AddressInput/index.js +2 -2
  60. package/src/BoolInput/BoolInput.js +7 -7
  61. package/src/BoolInput/BoolInput.test.js +23 -23
  62. package/src/BoolInput/InlineBoolInput.js +7 -7
  63. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +89 -89
  64. package/src/BoolInput/boolOptions.js +6 -6
  65. package/src/BoolInput/index.js +4 -4
  66. package/src/ConfirmBaseForm/ConfirmBaseForm.js +37 -37
  67. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +14 -14
  68. package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.js.snap +23 -23
  69. package/src/ConfirmBaseForm/index.js +1 -1
  70. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +39 -39
  71. package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.js +24 -24
  72. package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.js.snap +25 -25
  73. package/src/ConfirmDeleteForm/index.js +1 -1
  74. package/src/DatePickerInput/DatePickerInput.js +46 -46
  75. package/src/DatePickerInput/DatePickerInput.test.js +74 -74
  76. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +134 -131
  77. package/src/DatePickerInput/date-picker-input.scss +42 -42
  78. package/src/DatePickerInput/index.js +3 -3
  79. package/src/ErrorScrollTarget.js +6 -6
  80. package/src/FileInput/DefaultFileList.js +39 -0
  81. package/src/FileInput/DropzoneFileInput.js +56 -0
  82. package/src/FileInput/DropzoneFileInput.test.js +24 -0
  83. package/src/FileInput/FileInput.js +77 -49
  84. package/src/FileInput/FileInput.test.js +24 -15
  85. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +57 -0
  86. package/src/FileInput/__snapshots__/FileInput.test.js.snap +58 -22
  87. package/src/FileInput/file-input.scss +58 -17
  88. package/src/FileInput/index.js +4 -3
  89. package/src/Form/FocusError.js +48 -48
  90. package/src/Form/Form.js +139 -161
  91. package/src/Form/Form.test.js +23 -23
  92. package/src/Form/FormBasedPreventNavigation.js +25 -25
  93. package/src/Form/ServerErrorContext.js +7 -7
  94. package/src/Form/__snapshots__/Form.test.js.snap +9 -9
  95. package/src/Form/index.js +3 -3
  96. package/src/FormGroup.js +30 -30
  97. package/src/FormGroupWrapper.js +28 -28
  98. package/src/FormInput/FormInput.js +144 -136
  99. package/src/FormInput/FormInput.test.js +66 -66
  100. package/src/FormInput/__snapshots__/FormInput.test.js.snap +323 -313
  101. package/src/FormInput/form-input.scss +9 -9
  102. package/src/FormInput/index.js +2 -2
  103. package/src/FormInputArray/FormInputArray.js +224 -210
  104. package/src/FormInputArray/FormInputArray.test.js +108 -59
  105. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +52 -40
  106. package/src/FormInputArray/form-input-array.scss +13 -8
  107. package/src/FormInputArray/index.js +2 -2
  108. package/src/FormSection.js +13 -13
  109. package/src/IconInput.js +31 -31
  110. package/src/InlineFormInput/InlineFormInput.js +6 -6
  111. package/src/InlineFormInput/InlineFormInput.test.js +23 -23
  112. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +26 -26
  113. package/src/InlineFormInput/index.js +3 -3
  114. package/src/InlineFormInput/inline-form-input.scss +3 -3
  115. package/src/MoneyInput/InlineMoneyInput.js +7 -7
  116. package/src/MoneyInput/MoneyInput.js +7 -7
  117. package/src/MoneyInput/MoneyInputs.test.js +43 -43
  118. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +81 -81
  119. package/src/MoneyInput/index.js +4 -4
  120. package/src/MoneyInput/money-input.scss +3 -3
  121. package/src/MoneyInput/moneyInputProps.js +12 -12
  122. package/src/NestedFormFieldContext.js +6 -6
  123. package/src/ReactSelectField/ReactSelectField.js +122 -120
  124. package/src/ReactSelectField/index.js +6 -6
  125. package/src/ReactSelectField/react-select-field.scss +5 -5
  126. package/src/StandardFormActions.js +27 -27
  127. package/src/SubmitFormButton.js +28 -28
  128. package/src/__Tests__/FormTestBase.js +14 -11
  129. package/src/__Tests__/IconInput.test.js +23 -23
  130. package/src/__Tests__/StandardFormActions.test.js +23 -23
  131. package/src/__Tests__/SubmitFormButton.test.js +23 -23
  132. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +38 -38
  133. package/src/__Tests__/__snapshots__/StandardFormActions.test.js.snap +25 -25
  134. package/src/__Tests__/__snapshots__/SubmitFormButton.test.js.snap +18 -18
  135. package/src/__Tests__/index.js +2 -2
  136. package/src/_variables.scss +11 -11
  137. package/src/index.js +33 -33
  138. package/src/normalizers.js +42 -32
  139. package/src/selectors.js +3 -3
  140. package/src/styles.scss +7 -7
  141. package/src/useStandardFormInput.js +118 -118
  142. package/src/utils/index.js +3 -0
  143. package/src/utils/objectContainsNonSerializableProperty.js +15 -0
  144. package/src/utils/objectContainsNonSerializableProperty.test.js +49 -0
  145. package/src/utils/objectToFormData.js +89 -0
  146. package/src/utils/objectToFormData.test.js +76 -0
  147. package/src/utils/typeChecks.js +18 -0
  148. package/src/validators/index.js +2 -2
  149. package/src/validators/validators.js +93 -93
  150. package/src/validators/validators.test.js +79 -79
  151. package/CHANGELOG.json +0 -95
  152. package/CHANGELOG.md +0 -58
  153. package/es/FormInput/utilities.js +0 -71
  154. package/lib/FormInput/utilities.js +0 -86
  155. package/src/FormInput/utilities.js +0 -26
@@ -1,23 +1,23 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { FormTestBase } from '../__Tests__';
4
- import AddressInput from './AddressInput';
5
-
6
- describe('AddressInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <AddressInput />
11
- </FormTestBase>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <FormTestBase>
18
- <AddressInput />
19
- </FormTestBase>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { FormTestBase } from '../__Tests__';
4
+ import AddressInput from './AddressInput';
5
+
6
+ describe('AddressInput', () => {
7
+ it('renders without crashing', () => {
8
+ render(
9
+ <FormTestBase>
10
+ <AddressInput />
11
+ </FormTestBase>
12
+ );
13
+ });
14
+
15
+ it('has matching snapshot', () => {
16
+ const renderResult = render(
17
+ <FormTestBase>
18
+ <AddressInput />
19
+ </FormTestBase>
20
+ );
21
+ expect(renderResult.asFragment()).toMatchSnapshot();
22
+ });
23
+ });
@@ -1,73 +1,73 @@
1
- import React from 'react';
2
- import { Col, Row } from 'reactstrap';
3
- import PropTypes from 'prop-types';
4
- import FormInput from '../FormInput';
5
- import FormSection from '../FormSection';
6
- import validators from '../validators';
7
- import * as normalizers from '../normalizers';
8
- import UsStates from './UsStates';
9
-
10
- export default class AddressInput extends React.Component {
11
- render() {
12
- const { name, ...props } = this.props;
13
- return (
14
- <FormSection name={name} {...props}>
15
- <FormInput
16
- name="address1"
17
- placeholder="Address, Line 1"
18
- label="Address 1"
19
- autoComplete="address-line1"
20
- validate={validators.required}
21
- />
22
- <FormInput
23
- name="address2"
24
- placeholder="Address, Line 2"
25
- label="Address 2"
26
- autoComplete="address-line2"
27
- />
28
- <FormInput
29
- name="city"
30
- placeholder="City"
31
- label="City"
32
- autoComplete="address-level2"
33
- validate={validators.required}
34
- />
35
- <Row>
36
- <Col xs={8}>
37
- <FormInput
38
- name="state"
39
- placeholder="State"
40
- label="State"
41
- type="select"
42
- options={UsStates}
43
- autoComplete="address-level1"
44
- validate={validators.required}
45
- />
46
- </Col>
47
- <Col xs={4}>
48
- <FormInput
49
- name="zipcode"
50
- placeholder="Zip"
51
- label="Zip"
52
- autoComplete="postal-code"
53
- normalize={normalizers.zipCode}
54
- validate={[validators.required, validators.zipCode]}
55
- />
56
- </Col>
57
- </Row>
58
- </FormSection>
59
- );
60
- }
61
- }
62
- AddressInput.propTypes = {
63
- /**
64
- * The key that the resulting values should be nested under within the form values.
65
- * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
66
- * this allows us to have two address inputs inside the same form (shipping and billing address)
67
- */
68
- name: PropTypes.string,
69
- };
70
-
71
- AddressInput.defaultProps = {
72
- name: 'address',
73
- };
1
+ import React from 'react';
2
+ import { Col, Row } from 'reactstrap';
3
+ import PropTypes from 'prop-types';
4
+ import FormInput from '../FormInput';
5
+ import FormSection from '../FormSection';
6
+ import validators from '../validators';
7
+ import * as normalizers from '../normalizers';
8
+ import UsStates from './UsStates';
9
+
10
+ export default class AddressInput extends React.Component {
11
+ render() {
12
+ const { name, ...props } = this.props;
13
+ return (
14
+ <FormSection name={name} {...props}>
15
+ <FormInput
16
+ name="address1"
17
+ placeholder="Address, Line 1"
18
+ label="Address 1"
19
+ autoComplete="address-line1"
20
+ validate={validators.required}
21
+ />
22
+ <FormInput
23
+ name="address2"
24
+ placeholder="Address, Line 2"
25
+ label="Address 2"
26
+ autoComplete="address-line2"
27
+ />
28
+ <FormInput
29
+ name="city"
30
+ placeholder="City"
31
+ label="City"
32
+ autoComplete="address-level2"
33
+ validate={validators.required}
34
+ />
35
+ <Row>
36
+ <Col xs={8}>
37
+ <FormInput
38
+ name="state"
39
+ placeholder="State"
40
+ label="State"
41
+ type="select"
42
+ options={UsStates}
43
+ autoComplete="address-level1"
44
+ validate={validators.required}
45
+ />
46
+ </Col>
47
+ <Col xs={4}>
48
+ <FormInput
49
+ name="zipCode"
50
+ placeholder="Zip"
51
+ label="Zip"
52
+ autoComplete="postal-code"
53
+ normalize={normalizers.zipCode}
54
+ validate={[validators.required, validators.zipCode]}
55
+ />
56
+ </Col>
57
+ </Row>
58
+ </FormSection>
59
+ );
60
+ }
61
+ }
62
+ AddressInput.propTypes = {
63
+ /**
64
+ * The key that the resulting values should be nested under within the form values.
65
+ * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
66
+ * this allows us to have two address inputs inside the same form (shipping and billing address)
67
+ */
68
+ name: PropTypes.string,
69
+ };
70
+
71
+ AddressInput.defaultProps = {
72
+ name: 'address',
73
+ };
@@ -1,53 +1,53 @@
1
- const states = [
2
- { label: 'Alabama', value: 'AL' },
3
- { label: 'Alaska', value: 'AK' },
4
- { label: 'Arizona', value: 'AZ' },
5
- { label: 'Arkansas', value: 'AR' },
6
- { label: 'California', value: 'CA' },
7
- { label: 'Colorado', value: 'CO' },
8
- { label: 'Connecticut', value: 'CT' },
9
- { label: 'Delaware', value: 'DE' },
10
- { label: 'Florida', value: 'FL' },
11
- { label: 'Georgia', value: 'GA' },
12
- { label: 'Hawaii', value: 'HI' },
13
- { label: 'Idaho', value: 'ID' },
14
- { label: 'Illinois', value: 'IL' },
15
- { label: 'Indiana', value: 'IN' },
16
- { label: 'Iowa', value: 'IA' },
17
- { label: 'Kansas', value: 'KS' },
18
- { label: 'Kentucky', value: 'KY' },
19
- { label: 'Louisiana', value: 'LA' },
20
- { label: 'Maine', value: 'ME' },
21
- { label: 'Maryland', value: 'MD' },
22
- { label: 'Massachusetts', value: 'MA' },
23
- { label: 'Michigan', value: 'MI' },
24
- { label: 'Minnesota', value: 'MN' },
25
- { label: 'Mississippi', value: 'MS' },
26
- { label: 'Missouri', value: 'MO' },
27
- { label: 'Montana', value: 'MT' },
28
- { label: 'Nebraska', value: 'NE' },
29
- { label: 'Nevada', value: 'NV' },
30
- { label: 'New Hampshire', value: 'NH' },
31
- { label: 'New Jersey', value: 'NJ' },
32
- { label: 'New Mexico', value: 'NM' },
33
- { label: 'New York', value: 'NY' },
34
- { label: 'North Carolina', value: 'NC' },
35
- { label: 'North Dakota', value: 'ND' },
36
- { label: 'Ohio', value: 'OH' },
37
- { label: 'Oklahoma', value: 'OK' },
38
- { label: 'Oregon', value: 'OR' },
39
- { label: 'Pennsylvania', value: 'PA' },
40
- { label: 'Rhode Island', value: 'RI' },
41
- { label: 'South Carolina', value: 'SC' },
42
- { label: 'South Dakota', value: 'SD' },
43
- { label: 'Tennessee', value: 'TN' },
44
- { label: 'Texas', value: 'TX' },
45
- { label: 'Utah', value: 'UT' },
46
- { label: 'Vermont', value: 'VT' },
47
- { label: 'Virginia', value: 'VA' },
48
- { label: 'Washington', value: 'WA' },
49
- { label: 'West Virginia', value: 'WV' },
50
- { label: 'Wisconsin', value: 'WI' },
51
- { label: 'Wyoming', value: 'WY' },
52
- ];
53
- export default states;
1
+ const states = [
2
+ { label: 'Alabama', value: 'AL' },
3
+ { label: 'Alaska', value: 'AK' },
4
+ { label: 'Arizona', value: 'AZ' },
5
+ { label: 'Arkansas', value: 'AR' },
6
+ { label: 'California', value: 'CA' },
7
+ { label: 'Colorado', value: 'CO' },
8
+ { label: 'Connecticut', value: 'CT' },
9
+ { label: 'Delaware', value: 'DE' },
10
+ { label: 'Florida', value: 'FL' },
11
+ { label: 'Georgia', value: 'GA' },
12
+ { label: 'Hawaii', value: 'HI' },
13
+ { label: 'Idaho', value: 'ID' },
14
+ { label: 'Illinois', value: 'IL' },
15
+ { label: 'Indiana', value: 'IN' },
16
+ { label: 'Iowa', value: 'IA' },
17
+ { label: 'Kansas', value: 'KS' },
18
+ { label: 'Kentucky', value: 'KY' },
19
+ { label: 'Louisiana', value: 'LA' },
20
+ { label: 'Maine', value: 'ME' },
21
+ { label: 'Maryland', value: 'MD' },
22
+ { label: 'Massachusetts', value: 'MA' },
23
+ { label: 'Michigan', value: 'MI' },
24
+ { label: 'Minnesota', value: 'MN' },
25
+ { label: 'Mississippi', value: 'MS' },
26
+ { label: 'Missouri', value: 'MO' },
27
+ { label: 'Montana', value: 'MT' },
28
+ { label: 'Nebraska', value: 'NE' },
29
+ { label: 'Nevada', value: 'NV' },
30
+ { label: 'New Hampshire', value: 'NH' },
31
+ { label: 'New Jersey', value: 'NJ' },
32
+ { label: 'New Mexico', value: 'NM' },
33
+ { label: 'New York', value: 'NY' },
34
+ { label: 'North Carolina', value: 'NC' },
35
+ { label: 'North Dakota', value: 'ND' },
36
+ { label: 'Ohio', value: 'OH' },
37
+ { label: 'Oklahoma', value: 'OK' },
38
+ { label: 'Oregon', value: 'OR' },
39
+ { label: 'Pennsylvania', value: 'PA' },
40
+ { label: 'Rhode Island', value: 'RI' },
41
+ { label: 'South Carolina', value: 'SC' },
42
+ { label: 'South Dakota', value: 'SD' },
43
+ { label: 'Tennessee', value: 'TN' },
44
+ { label: 'Texas', value: 'TX' },
45
+ { label: 'Utah', value: 'UT' },
46
+ { label: 'Vermont', value: 'VT' },
47
+ { label: 'Virginia', value: 'VA' },
48
+ { label: 'Washington', value: 'WA' },
49
+ { label: 'West Virginia', value: 'WV' },
50
+ { label: 'Wisconsin', value: 'WI' },
51
+ { label: 'Wyoming', value: 'WY' },
52
+ ];
53
+ export default states;