envoc-form 3.2.0 → 4.0.1-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/css/envoc-form-styles.css +0 -113
- package/dist/css/envoc-form-styles.css.map +1 -1
- package/es/AddressInput/AddressInput.d.ts +15 -0
- package/es/AddressInput/AddressInput.js +21 -97
- package/es/AddressInput/UsStates.d.ts +3 -0
- package/es/AddressInput/UsStates.js +53 -152
- package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
- package/es/ConfirmBaseForm/ConfirmBaseForm.js +35 -43
- package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
- package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +54 -40
- package/es/DatePicker/DateOnlyDatePickerGroup.d.ts +10 -0
- package/es/DatePicker/DateOnlyDatePickerGroup.js +23 -0
- package/es/DatePicker/DatePickerGroup.d.ts +8 -0
- package/es/DatePicker/DatePickerGroup.js +60 -0
- package/es/DatePicker/DatePickerHelper.d.ts +3 -0
- package/es/DatePicker/DatePickerHelper.js +1 -0
- package/es/DatePicker/StringDatePickerGroup.d.ts +5 -0
- package/es/DatePicker/StringDatePickerGroup.js +19 -0
- package/es/Field/CustomFieldInputProps.d.ts +7 -0
- package/es/Field/CustomFieldInputProps.js +1 -0
- package/es/Field/CustomFieldMetaProps.d.ts +4 -0
- package/es/Field/CustomFieldMetaProps.js +1 -0
- package/es/Field/Field.d.ts +22 -0
- package/es/Field/Field.js +46 -0
- package/es/Field/FieldErrorScrollTarget.d.ts +2 -0
- package/es/Field/FieldErrorScrollTarget.js +11 -0
- package/es/Field/FieldNameContext.d.ts +3 -0
- package/es/Field/FieldNameContext.js +3 -0
- package/es/Field/FieldSection.d.ts +7 -0
- package/es/Field/FieldSection.js +20 -0
- package/es/Field/InjectedFieldProps.d.ts +7 -0
- package/es/Field/InjectedFieldProps.js +1 -0
- package/es/Field/StandAloneInput.d.ts +9 -0
- package/es/Field/StandAloneInput.js +49 -0
- package/es/Field/useStandardField.d.ts +15 -0
- package/es/Field/useStandardField.js +93 -0
- package/es/FieldArray/FieldArray.d.ts +15 -0
- package/es/FieldArray/FieldArray.js +80 -0
- package/es/File/FileGroup.d.ts +8 -0
- package/es/File/FileGroup.js +50 -0
- package/es/File/FileList.d.ts +6 -0
- package/es/File/FileList.js +20 -0
- package/es/File/humanFileSize.d.ts +1 -0
- package/es/File/humanFileSize.js +6 -0
- package/es/Form/FocusError.d.ts +5 -0
- package/es/Form/FocusError.js +41 -53
- package/es/Form/Form.d.ts +22 -0
- package/es/Form/Form.js +111 -125
- package/es/Form/FormBasedPreventNavigation.d.ts +5 -0
- package/es/Form/FormBasedPreventNavigation.js +53 -30
- package/es/Form/ServerErrorContext.d.ts +10 -0
- package/es/Form/ServerErrorContext.js +8 -6
- package/es/FormActions.d.ts +7 -0
- package/es/FormActions.js +22 -0
- package/es/Group.d.ts +13 -0
- package/es/Group.js +22 -0
- package/es/Input/IconInputGroup.d.ts +9 -0
- package/es/Input/IconInputGroup.js +40 -0
- package/es/Input/InputGroup.d.ts +12 -0
- package/es/Input/InputGroup.js +33 -0
- package/es/Input/MoneyInputGroup.d.ts +7 -0
- package/es/Input/MoneyInputGroup.js +41 -0
- package/es/Input/NumberInputGroup.d.ts +7 -0
- package/es/Input/NumberInputGroup.js +41 -0
- package/es/Input/StringInputGroup.d.ts +7 -0
- package/es/Input/StringInputGroup.js +40 -0
- package/es/Normalization/NormalizationFunction.d.ts +4 -0
- package/es/Normalization/NormalizationFunction.js +1 -0
- package/es/Normalization/normalizers.d.ts +2 -0
- package/es/Normalization/normalizers.js +30 -0
- package/es/Select/BooleanSelectGroup.d.ts +7 -0
- package/es/Select/BooleanSelectGroup.js +27 -0
- package/es/Select/NumberSelectGroup.d.ts +8 -0
- package/es/Select/NumberSelectGroup.js +19 -0
- package/es/Select/SelectGroup.d.ts +22 -0
- package/es/Select/SelectGroup.js +59 -0
- package/es/Select/SelectGroupPropsHelper.d.ts +3 -0
- package/es/Select/SelectGroupPropsHelper.js +1 -0
- package/es/Select/StringSelectGroup.d.ts +8 -0
- package/es/Select/StringSelectGroup.js +19 -0
- package/es/StandardFormActions.d.ts +6 -0
- package/es/StandardFormActions.js +23 -24
- package/es/SubmitFormButton.d.ts +7 -0
- package/es/SubmitFormButton.js +37 -23
- package/es/TextArea/TextAreaGroup.d.ts +8 -0
- package/es/TextArea/TextAreaGroup.js +33 -0
- package/es/Validation/ValidatedApiResult.d.ts +6 -0
- package/es/Validation/ValidatedApiResult.js +1 -0
- package/es/Validation/ValidationError.d.ts +5 -0
- package/es/Validation/ValidationError.js +1 -0
- package/es/Validation/ValidationFunction.d.ts +4 -0
- package/es/Validation/ValidationFunction.js +1 -0
- package/es/Validation/validators.d.ts +15 -0
- package/es/Validation/validators.js +73 -0
- package/es/__Tests__/FormTestBase.d.ts +27 -0
- package/es/__Tests__/FormTestBase.js +83 -12
- package/{src/__Tests__/index.js → es/__Tests__/index.d.ts} +0 -0
- package/es/__Tests__/index.js +2 -2
- package/es/index.d.ts +71 -0
- package/es/index.js +47 -20
- package/es/utils/objectContainsNonSerializableProperty.d.ts +1 -0
- package/es/utils/objectContainsNonSerializableProperty.js +14 -16
- package/es/utils/objectToFormData.d.ts +10 -0
- package/es/utils/objectToFormData.js +77 -65
- package/es/utils/typeChecks.d.ts +8 -0
- package/es/utils/typeChecks.js +18 -25
- package/lib/AddressInput/AddressInput.d.ts +15 -0
- package/lib/AddressInput/AddressInput.js +27 -123
- package/lib/AddressInput/UsStates.d.ts +3 -0
- package/lib/AddressInput/UsStates.js +55 -159
- package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
- package/lib/ConfirmBaseForm/ConfirmBaseForm.js +41 -57
- package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
- package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +60 -56
- package/lib/DatePicker/DateOnlyDatePickerGroup.d.ts +10 -0
- package/lib/DatePicker/DateOnlyDatePickerGroup.js +29 -0
- package/lib/DatePicker/DatePickerGroup.d.ts +8 -0
- package/lib/DatePicker/DatePickerGroup.js +66 -0
- package/lib/DatePicker/DatePickerHelper.d.ts +3 -0
- package/lib/DatePicker/DatePickerHelper.js +2 -0
- package/lib/DatePicker/StringDatePickerGroup.d.ts +5 -0
- package/lib/DatePicker/StringDatePickerGroup.js +25 -0
- package/lib/Field/CustomFieldInputProps.d.ts +7 -0
- package/lib/Field/CustomFieldInputProps.js +2 -0
- package/lib/Field/CustomFieldMetaProps.d.ts +4 -0
- package/lib/Field/CustomFieldMetaProps.js +2 -0
- package/lib/Field/Field.d.ts +22 -0
- package/lib/Field/Field.js +51 -0
- package/lib/Field/FieldErrorScrollTarget.d.ts +2 -0
- package/lib/Field/FieldErrorScrollTarget.js +14 -0
- package/lib/Field/FieldNameContext.d.ts +3 -0
- package/lib/Field/FieldNameContext.js +9 -0
- package/lib/Field/FieldSection.d.ts +7 -0
- package/lib/Field/FieldSection.js +23 -0
- package/lib/Field/InjectedFieldProps.d.ts +7 -0
- package/lib/Field/InjectedFieldProps.js +2 -0
- package/lib/Field/StandAloneInput.d.ts +9 -0
- package/lib/Field/StandAloneInput.js +75 -0
- package/lib/Field/useStandardField.d.ts +15 -0
- package/lib/Field/useStandardField.js +96 -0
- package/lib/FieldArray/FieldArray.d.ts +15 -0
- package/lib/FieldArray/FieldArray.js +86 -0
- package/lib/File/FileGroup.d.ts +8 -0
- package/lib/File/FileGroup.js +55 -0
- package/lib/File/FileList.d.ts +6 -0
- package/lib/File/FileList.js +23 -0
- package/lib/File/humanFileSize.d.ts +1 -0
- package/lib/File/humanFileSize.js +10 -0
- package/lib/Form/FocusError.d.ts +5 -0
- package/lib/Form/FocusError.js +47 -66
- package/lib/Form/Form.d.ts +22 -0
- package/lib/Form/Form.js +117 -153
- package/lib/Form/FormBasedPreventNavigation.d.ts +5 -0
- package/lib/Form/FormBasedPreventNavigation.js +56 -39
- package/lib/Form/ServerErrorContext.d.ts +10 -0
- package/lib/Form/ServerErrorContext.js +14 -18
- package/lib/FormActions.d.ts +7 -0
- package/lib/FormActions.js +28 -0
- package/lib/Group.d.ts +13 -0
- package/lib/Group.js +28 -0
- package/lib/Input/IconInputGroup.d.ts +9 -0
- package/lib/Input/IconInputGroup.js +45 -0
- package/lib/Input/InputGroup.d.ts +12 -0
- package/lib/Input/InputGroup.js +38 -0
- package/lib/Input/MoneyInputGroup.d.ts +7 -0
- package/lib/Input/MoneyInputGroup.js +46 -0
- package/lib/Input/NumberInputGroup.d.ts +7 -0
- package/lib/Input/NumberInputGroup.js +46 -0
- package/lib/Input/StringInputGroup.d.ts +7 -0
- package/lib/Input/StringInputGroup.js +45 -0
- package/lib/Normalization/NormalizationFunction.d.ts +4 -0
- package/lib/Normalization/NormalizationFunction.js +2 -0
- package/lib/Normalization/normalizers.d.ts +2 -0
- package/lib/Normalization/normalizers.js +35 -0
- package/lib/Select/BooleanSelectGroup.d.ts +7 -0
- package/lib/Select/BooleanSelectGroup.js +34 -0
- package/lib/Select/NumberSelectGroup.d.ts +8 -0
- package/lib/Select/NumberSelectGroup.js +27 -0
- package/lib/Select/SelectGroup.d.ts +22 -0
- package/lib/Select/SelectGroup.js +65 -0
- package/lib/Select/SelectGroupPropsHelper.d.ts +3 -0
- package/lib/Select/SelectGroupPropsHelper.js +2 -0
- package/lib/Select/StringSelectGroup.d.ts +8 -0
- package/lib/Select/StringSelectGroup.js +27 -0
- package/lib/StandardFormActions.d.ts +6 -0
- package/lib/StandardFormActions.js +29 -37
- package/lib/SubmitFormButton.d.ts +7 -0
- package/lib/SubmitFormButton.js +42 -38
- package/lib/TextArea/TextAreaGroup.d.ts +8 -0
- package/lib/TextArea/TextAreaGroup.js +38 -0
- package/lib/Validation/ValidatedApiResult.d.ts +6 -0
- package/lib/Validation/ValidatedApiResult.js +2 -0
- package/lib/Validation/ValidationError.d.ts +5 -0
- package/lib/Validation/ValidationError.js +2 -0
- package/lib/Validation/ValidationFunction.d.ts +4 -0
- package/lib/Validation/ValidationFunction.js +2 -0
- package/lib/Validation/validators.d.ts +15 -0
- package/lib/Validation/validators.js +86 -0
- package/lib/__Tests__/FormTestBase.d.ts +27 -0
- package/lib/__Tests__/FormTestBase.js +86 -25
- package/lib/__Tests__/index.d.ts +2 -0
- package/lib/__Tests__/index.js +8 -15
- package/lib/index.d.ts +71 -0
- package/lib/index.js +112 -174
- package/lib/utils/objectContainsNonSerializableProperty.d.ts +1 -0
- package/lib/utils/objectContainsNonSerializableProperty.js +17 -24
- package/lib/utils/objectToFormData.d.ts +10 -0
- package/lib/utils/objectToFormData.js +79 -73
- package/lib/utils/typeChecks.d.ts +8 -0
- package/lib/utils/typeChecks.js +29 -58
- package/package.json +106 -100
- package/src/AddressInput/{AddesssInput.test.js → AddressInput.test.tsx} +7 -3
- package/src/AddressInput/AddressInput.tsx +72 -0
- package/src/AddressInput/{UsStates.js → UsStates.ts} +3 -1
- package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +175 -0
- package/src/ConfirmBaseForm/ConfirmBaseForm.test.tsx +24 -0
- package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +50 -0
- package/src/ConfirmBaseForm/__snapshots__/{ConfirmBaseForm.test.js.snap → ConfirmBaseForm.test.tsx.snap} +2 -2
- package/src/ConfirmDeleteForm/{ConfirmDeleteForm.test.js → ConfirmDeleteForm.test.tsx} +3 -3
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +67 -0
- package/src/ConfirmDeleteForm/__snapshots__/{ConfirmDeleteForm.test.js.snap → ConfirmDeleteForm.test.tsx.snap} +2 -2
- package/src/DatePicker/DateOnlyDatePickerGroup.tsx +24 -0
- package/src/DatePicker/DatePicker.test.tsx +48 -0
- package/src/DatePicker/DatePickerGroup.tsx +75 -0
- package/src/DatePicker/DatePickerHelper.ts +4 -0
- package/src/DatePicker/StringDatePickerGroup.tsx +14 -0
- package/src/DatePicker/__snapshots__/DatePicker.test.tsx.snap +151 -0
- package/src/Field/CustomFieldInputProps.ts +10 -0
- package/src/Field/CustomFieldMetaProps.ts +5 -0
- package/src/Field/Field.tsx +93 -0
- package/src/Field/FieldErrorScrollTarget.tsx +11 -0
- package/src/Field/FieldNameContext.ts +6 -0
- package/src/Field/FieldSection.tsx +18 -0
- package/src/Field/InjectedFieldProps.ts +8 -0
- package/src/Field/StandAloneInput.tsx +51 -0
- package/src/Field/useStandardField.ts +121 -0
- package/src/FieldArray/FieldArray.tsx +133 -0
- package/src/File/FileGroup.test.tsx +35 -0
- package/src/File/FileGroup.tsx +71 -0
- package/src/File/FileList.tsx +19 -0
- package/src/File/__snapshots__/FileGroup.test.tsx.snap +32 -0
- package/src/File/humanFileSize.ts +8 -0
- package/src/Form/{FocusError.js → FocusError.tsx} +10 -6
- package/src/Form/Form.test.tsx +14 -0
- package/src/Form/{Form.js → Form.tsx} +71 -31
- package/src/Form/FormBasedPreventNavigation.tsx +74 -0
- package/src/Form/ServerErrorContext.ts +17 -0
- package/src/Form/__snapshots__/{Form.test.js.snap → Form.test.tsx.snap} +1 -1
- package/src/FormActions.tsx +34 -0
- package/src/Group.tsx +43 -0
- package/src/Input/IconInputGroup.tsx +48 -0
- package/src/Input/InputGroup.tsx +57 -0
- package/src/Input/MoneyInputGroup.tsx +44 -0
- package/src/Input/NumberInputGroup.tsx +42 -0
- package/src/Input/StringInputGroup.tsx +48 -0
- package/src/Input/__Tests__/IconInputGroup.test.tsx +35 -0
- package/src/Input/__Tests__/MoneyInputGroup.test.tsx +37 -0
- package/src/Input/__Tests__/NumberInputGroup.test.tsx +35 -0
- package/src/Input/__Tests__/StringInputGroup.test.tsx +27 -0
- package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +29 -0
- package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +31 -0
- package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +29 -0
- package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +28 -0
- package/src/Normalization/NormalizationFunction.ts +4 -0
- package/src/{normalizers.js → Normalization/normalizers.ts} +5 -5
- package/src/Select/BooleanSelectGroup.tsx +27 -0
- package/src/Select/NumberSelectGroup.tsx +14 -0
- package/src/Select/SelectGroup.tsx +106 -0
- package/src/Select/SelectGroupPropsHelper.ts +4 -0
- package/src/Select/StringSelectGroup.tsx +14 -0
- package/src/Select/__tests__/BooleanSelectGroup.test.tsx +35 -0
- package/src/Select/__tests__/NumberSelectGroup.test.tsx +87 -0
- package/src/Select/__tests__/StringSelectGroup.test.tsx +89 -0
- package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +99 -0
- package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +197 -0
- package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +197 -0
- package/src/{StandardFormActions.js → StandardFormActions.tsx} +12 -6
- package/src/SubmitFormButton.tsx +44 -0
- package/src/TextArea/TextAreaGroup.tsx +55 -0
- package/src/Validation/ValidatedApiResult.ts +8 -0
- package/src/Validation/ValidationError.ts +6 -0
- package/src/Validation/ValidationFunction.ts +4 -0
- package/src/{validators/validators.test.js → Validation/validators.test.tsx} +6 -4
- package/src/Validation/validators.ts +92 -0
- package/src/__Tests__/FormTestBase.tsx +63 -0
- package/src/__Tests__/{StandardFormActions.test.js → StandardFormActions.test.tsx} +2 -8
- package/src/__Tests__/{SubmitFormButton.test.js → SubmitFormButton.test.tsx} +2 -8
- package/src/__Tests__/__snapshots__/{StandardFormActions.test.js.snap → StandardFormActions.test.tsx.snap} +2 -2
- package/src/__Tests__/__snapshots__/{SubmitFormButton.test.js.snap → SubmitFormButton.test.tsx.snap} +1 -1
- package/src/__Tests__/index.ts +3 -0
- package/src/index.ts +149 -0
- package/src/react-app-env.d.ts +1 -0
- package/src/styles.scss +0 -7
- package/src/utils/{objectContainsNonSerializableProperty.test.js → objectContainsNonSerializableProperty.test.tsx} +0 -0
- package/src/utils/{objectContainsNonSerializableProperty.js → objectContainsNonSerializableProperty.ts} +4 -2
- package/src/utils/{objectToFormData.test.js → objectToFormData.test.tsx} +0 -0
- package/src/utils/{objectToFormData.js → objectToFormData.ts} +29 -13
- package/src/utils/typeChecks.ts +18 -0
- package/es/AddressInput/index.js +0 -2
- package/es/BoolInput/BoolInput.js +0 -10
- package/es/BoolInput/InlineBoolInput.js +0 -10
- package/es/BoolInput/boolOptions.js +0 -8
- package/es/BoolInput/index.js +0 -3
- package/es/ConfirmBaseForm/index.js +0 -2
- package/es/ConfirmDeleteForm/index.js +0 -2
- package/es/DatePickerInput/DatePickerInput.js +0 -95
- package/es/DatePickerInput/index.js +0 -2
- package/es/ErrorScrollTarget.js +0 -10
- package/es/FileInput/DefaultFileList.js +0 -36
- package/es/FileInput/DropzoneFileInput.js +0 -58
- package/es/FileInput/FileInput.js +0 -62
- package/es/FileInput/index.js +0 -3
- package/es/Form/index.js +0 -3
- package/es/FormGroup.js +0 -22
- package/es/FormGroupWrapper.js +0 -22
- package/es/FormInput/FormInput.js +0 -206
- package/es/FormInput/index.js +0 -2
- package/es/FormInputArray/FormInputArray.js +0 -225
- package/es/FormInputArray/index.js +0 -2
- package/es/FormSection.js +0 -11
- package/es/IconInput.js +0 -33
- package/es/InlineFormInput/InlineFormInput.js +0 -8
- package/es/InlineFormInput/index.js +0 -2
- package/es/MoneyInput/InlineMoneyInput.js +0 -7
- package/es/MoneyInput/MoneyInput.js +0 -7
- package/es/MoneyInput/index.js +0 -3
- package/es/MoneyInput/moneyInputProps.js +0 -13
- package/es/NestedFormFieldContext.js +0 -4
- package/es/ReactSelectField/ReactSelectField.js +0 -162
- package/es/ReactSelectField/index.js +0 -2
- package/es/normalizers.js +0 -39
- package/es/selectors.js +0 -6
- package/es/useStandardFormInput.js +0 -119
- package/es/utils/index.js +0 -3
- package/es/validators/index.js +0 -2
- package/es/validators/validators.js +0 -94
- package/lib/AddressInput/index.js +0 -13
- package/lib/BoolInput/BoolInput.js +0 -23
- package/lib/BoolInput/InlineBoolInput.js +0 -23
- package/lib/BoolInput/boolOptions.js +0 -15
- package/lib/BoolInput/index.js +0 -23
- package/lib/ConfirmBaseForm/index.js +0 -13
- package/lib/ConfirmDeleteForm/index.js +0 -13
- package/lib/DatePickerInput/DatePickerInput.js +0 -113
- package/lib/DatePickerInput/index.js +0 -13
- package/lib/ErrorScrollTarget.js +0 -20
- package/lib/FileInput/DefaultFileList.js +0 -47
- package/lib/FileInput/DropzoneFileInput.js +0 -75
- package/lib/FileInput/FileInput.js +0 -82
- package/lib/FileInput/index.js +0 -23
- package/lib/Form/index.js +0 -23
- package/lib/FormGroup.js +0 -33
- package/lib/FormGroupWrapper.js +0 -37
- package/lib/FormInput/FormInput.js +0 -229
- package/lib/FormInput/index.js +0 -13
- package/lib/FormInputArray/FormInputArray.js +0 -248
- package/lib/FormInputArray/index.js +0 -13
- package/lib/FormSection.js +0 -28
- package/lib/IconInput.js +0 -51
- package/lib/InlineFormInput/InlineFormInput.js +0 -20
- package/lib/InlineFormInput/index.js +0 -13
- package/lib/MoneyInput/InlineMoneyInput.js +0 -20
- package/lib/MoneyInput/MoneyInput.js +0 -20
- package/lib/MoneyInput/index.js +0 -23
- package/lib/MoneyInput/moneyInputProps.js +0 -26
- package/lib/NestedFormFieldContext.js +0 -16
- package/lib/ReactSelectField/ReactSelectField.js +0 -187
- package/lib/ReactSelectField/index.js +0 -31
- package/lib/normalizers.js +0 -51
- package/lib/selectors.js +0 -18
- package/lib/useStandardFormInput.js +0 -135
- package/lib/utils/index.js +0 -23
- package/lib/validators/index.js +0 -17
- package/lib/validators/validators.js +0 -130
- package/src/AddressInput/AddressInput.js +0 -73
- package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
- package/src/AddressInput/index.js +0 -2
- package/src/BoolInput/BoolInput.js +0 -7
- package/src/BoolInput/BoolInput.test.js +0 -23
- package/src/BoolInput/InlineBoolInput.js +0 -7
- package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
- package/src/BoolInput/boolOptions.js +0 -6
- package/src/BoolInput/index.js +0 -4
- package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
- package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
- package/src/ConfirmBaseForm/index.js +0 -2
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
- package/src/ConfirmDeleteForm/index.js +0 -2
- package/src/DatePickerInput/DatePickerInput.js +0 -49
- package/src/DatePickerInput/DatePickerInput.test.js +0 -74
- package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
- package/src/DatePickerInput/date-picker-input.scss +0 -42
- package/src/DatePickerInput/index.js +0 -3
- package/src/ErrorScrollTarget.js +0 -6
- package/src/FileInput/DefaultFileList.js +0 -39
- package/src/FileInput/DropzoneFileInput.js +0 -56
- package/src/FileInput/DropzoneFileInput.test.js +0 -24
- package/src/FileInput/FileInput.js +0 -77
- package/src/FileInput/FileInput.test.js +0 -24
- package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
- package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
- package/src/FileInput/file-input.scss +0 -58
- package/src/FileInput/index.js +0 -4
- package/src/Form/Form.test.js +0 -23
- package/src/Form/FormBasedPreventNavigation.js +0 -25
- package/src/Form/ServerErrorContext.js +0 -7
- package/src/Form/index.js +0 -3
- package/src/FormGroup.js +0 -30
- package/src/FormGroupWrapper.js +0 -28
- package/src/FormInput/FormInput.js +0 -145
- package/src/FormInput/FormInput.test.js +0 -66
- package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
- package/src/FormInput/form-input.scss +0 -9
- package/src/FormInput/index.js +0 -2
- package/src/FormInputArray/FormInputArray.js +0 -224
- package/src/FormInputArray/FormInputArray.test.js +0 -108
- package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
- package/src/FormInputArray/form-input-array.scss +0 -13
- package/src/FormInputArray/index.js +0 -2
- package/src/FormSection.js +0 -13
- package/src/IconInput.js +0 -31
- package/src/InlineFormInput/InlineFormInput.js +0 -6
- package/src/InlineFormInput/InlineFormInput.test.js +0 -23
- package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
- package/src/InlineFormInput/index.js +0 -3
- package/src/InlineFormInput/inline-form-input.scss +0 -3
- package/src/MoneyInput/InlineMoneyInput.js +0 -7
- package/src/MoneyInput/MoneyInput.js +0 -7
- package/src/MoneyInput/MoneyInputs.test.js +0 -43
- package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
- package/src/MoneyInput/index.js +0 -4
- package/src/MoneyInput/money-input.scss +0 -3
- package/src/MoneyInput/moneyInputProps.js +0 -12
- package/src/NestedFormFieldContext.js +0 -6
- package/src/ReactSelectField/ReactSelectField.js +0 -155
- package/src/ReactSelectField/index.js +0 -6
- package/src/ReactSelectField/react-select-field.scss +0 -5
- package/src/SubmitFormButton.js +0 -28
- package/src/__Tests__/FormTestBase.js +0 -14
- package/src/__Tests__/IconInput.test.js +0 -23
- package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
- package/src/index.js +0 -45
- package/src/selectors.js +0 -3
- package/src/useStandardFormInput.js +0 -118
- package/src/utils/index.js +0 -3
- package/src/utils/typeChecks.js +0 -18
- package/src/validators/index.js +0 -2
- package/src/validators/validators.js +0 -93
@@ -1,58 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
3
|
-
import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
|
4
|
-
var _excluded = ["className", "onChange", "value", "accept", "disabled", "multiple", "FileList", "placeholder", "dropzone"];
|
5
|
-
import React from 'react';
|
6
|
-
import { useDropzone } from 'react-dropzone';
|
7
|
-
import classNames from 'classnames';
|
8
|
-
import DefaultFileList from './DefaultFileList';
|
9
|
-
export default function DropzoneFileInput(_ref) {
|
10
|
-
var classNameProp = _ref.className,
|
11
|
-
onChange = _ref.onChange,
|
12
|
-
value = _ref.value,
|
13
|
-
accept = _ref.accept,
|
14
|
-
disabled = _ref.disabled,
|
15
|
-
_ref$multiple = _ref.multiple,
|
16
|
-
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
17
|
-
_ref$FileList = _ref.FileList,
|
18
|
-
FileList = _ref$FileList === void 0 ? DefaultFileList : _ref$FileList,
|
19
|
-
_ref$placeholder = _ref.placeholder,
|
20
|
-
placeholder = _ref$placeholder === void 0 ? 'Drag and drop some file(s) here, or click to select file(s)' : _ref$placeholder,
|
21
|
-
dropzone = _ref.dropzone,
|
22
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
23
|
-
|
24
|
-
var _useDropzone = useDropzone({
|
25
|
-
accept: accept,
|
26
|
-
onDrop: onDrop,
|
27
|
-
disabled: disabled,
|
28
|
-
multiple: multiple
|
29
|
-
}),
|
30
|
-
_useDropzone$accepted = _useDropzone.acceptedFiles,
|
31
|
-
acceptedFiles = _useDropzone$accepted === void 0 ? (acceptedFiles[0], _readOnlyError("acceptedFiles")) : _useDropzone$accepted,
|
32
|
-
_useDropzone$fileReje = _useDropzone.fileRejections,
|
33
|
-
fileRejections = _useDropzone$fileReje === void 0 ? fileRejections.push(acceptedFiles.slice(1, acceptedFiles.length)) : _useDropzone$fileReje,
|
34
|
-
getRootProps = _useDropzone.getRootProps,
|
35
|
-
getInputProps = _useDropzone.getInputProps,
|
36
|
-
isDragAccept = _useDropzone.isDragAccept,
|
37
|
-
isDragReject = _useDropzone.isDragReject;
|
38
|
-
|
39
|
-
function onDrop(acceptedFiles) {
|
40
|
-
if (!(acceptedFiles !== null && acceptedFiles !== void 0 && acceptedFiles.length) > 1 && !multiple) {
|
41
|
-
onChange(null);
|
42
|
-
} else {
|
43
|
-
onChange(acceptedFiles);
|
44
|
-
}
|
45
|
-
}
|
46
|
-
|
47
|
-
var className = classNames('react-dropzone', classNameProp, {
|
48
|
-
accept: isDragAccept,
|
49
|
-
reject: isDragReject,
|
50
|
-
disabled: disabled
|
51
|
-
});
|
52
|
-
return /*#__PURE__*/React.createElement("section", {
|
53
|
-
className: className
|
54
|
-
}, /*#__PURE__*/React.createElement("div", getRootProps(), /*#__PURE__*/React.createElement("input", _extends({}, props, getInputProps())), /*#__PURE__*/React.createElement(React.Fragment, null, placeholder), !multiple && /*#__PURE__*/React.createElement("b", null, "Only one file accepted."), accept && /*#__PURE__*/React.createElement("b", null, "Files of type \"".concat(accept, "\" accepted"))), /*#__PURE__*/React.createElement("aside", null, /*#__PURE__*/React.createElement(FileList, {
|
55
|
-
files: acceptedFiles,
|
56
|
-
rejectedFiles: fileRejections
|
57
|
-
})));
|
58
|
-
}
|
@@ -1,62 +0,0 @@
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
2
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
4
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
5
|
-
var _excluded = ["className", "onChange", "value", "multiple"];
|
6
|
-
import React, { useEffect, useRef, useState } from 'react';
|
7
|
-
import DefaultFileList from './DefaultFileList';
|
8
|
-
export default function FileInput(_ref) {
|
9
|
-
var className = _ref.className,
|
10
|
-
onChange = _ref.onChange,
|
11
|
-
value = _ref.value,
|
12
|
-
_ref$multiple = _ref.multiple,
|
13
|
-
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
14
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
15
|
-
|
16
|
-
var inputRef = useRef();
|
17
|
-
|
18
|
-
var _useState = useState([]),
|
19
|
-
_useState2 = _slicedToArray(_useState, 2),
|
20
|
-
acceptedFiles = _useState2[0],
|
21
|
-
setAcceptedFiles = _useState2[1];
|
22
|
-
|
23
|
-
useEffect(function () {
|
24
|
-
if (!value && inputRef.current) {
|
25
|
-
inputRef.current.value = null;
|
26
|
-
}
|
27
|
-
}, [value]);
|
28
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
29
|
-
className: "custom-file file-input ".concat(className || '', " ").concat(props.disabled ? 'disabled' : '')
|
30
|
-
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", _extends({
|
31
|
-
ref: inputRef,
|
32
|
-
type: "file",
|
33
|
-
className: "custom-file-input",
|
34
|
-
onChange: handleChange,
|
35
|
-
multiple: multiple
|
36
|
-
}, props))), /*#__PURE__*/React.createElement("label", {
|
37
|
-
className: "custom-file-label"
|
38
|
-
}, /*#__PURE__*/React.createElement("div", null, !value && /*#__PURE__*/React.createElement("span", null, "Choose A File..."), value && (!multiple ? /*#__PURE__*/React.createElement("span", null, value.name, " - size: ", humanFileSize(value.size)) : value.length === 1 ? /*#__PURE__*/React.createElement("span", null, value[0].name, " - size: ", humanFileSize(value[0].size)) : /*#__PURE__*/React.createElement("span", null, "Multiple files selected."))))), /*#__PURE__*/React.createElement(DefaultFileList, {
|
39
|
-
files: acceptedFiles
|
40
|
-
}));
|
41
|
-
|
42
|
-
function handleChange(e) {
|
43
|
-
if (e == null || !e.target || !e.target.files.length) {
|
44
|
-
onChange(null);
|
45
|
-
} else {
|
46
|
-
var files = _toConsumableArray(e.target.files);
|
47
|
-
|
48
|
-
setAcceptedFiles(files);
|
49
|
-
|
50
|
-
if (!multiple) {
|
51
|
-
onChange(files[0]);
|
52
|
-
} else {
|
53
|
-
onChange(files);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
function humanFileSize(size) {
|
60
|
-
var i = Math.floor(Math.log(size) / Math.log(1024));
|
61
|
-
return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'KB', 'MB', 'GB', 'TB'][i];
|
62
|
-
}
|
package/es/FileInput/index.js
DELETED
package/es/Form/index.js
DELETED
package/es/FormGroup.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { FormGroup as BootstrapFormGroup, Label, FormFeedback, FormText, Alert } from 'reactstrap';
|
3
|
-
|
4
|
-
var FormGroup = function FormGroup(_ref) {
|
5
|
-
var label = _ref.label,
|
6
|
-
id = _ref.id,
|
7
|
-
helpText = _ref.helpText,
|
8
|
-
className = _ref.className,
|
9
|
-
style = _ref.style,
|
10
|
-
children = _ref.children,
|
11
|
-
meta = _ref.meta;
|
12
|
-
return /*#__PURE__*/React.createElement(BootstrapFormGroup, {
|
13
|
-
className: className,
|
14
|
-
style: style
|
15
|
-
}, !!meta.warning && /*#__PURE__*/React.createElement(Alert, {
|
16
|
-
color: "warning"
|
17
|
-
}, meta.warning), label && /*#__PURE__*/React.createElement(Label, {
|
18
|
-
htmlFor: id
|
19
|
-
}, label), children, meta.error && /*#__PURE__*/React.createElement(FormFeedback, null, meta.error), helpText && /*#__PURE__*/React.createElement(FormText, null, helpText));
|
20
|
-
};
|
21
|
-
|
22
|
-
export default FormGroup;
|
package/es/FormGroupWrapper.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
3
|
-
var _excluded = ["prepend", "append", "Component", "helpText"];
|
4
|
-
import React from 'react';
|
5
|
-
import { InputGroup } from 'reactstrap';
|
6
|
-
import FormGroup from './FormGroup';
|
7
|
-
import ErrorScrollTarget from './ErrorScrollTarget';
|
8
|
-
export default function FormGroupWrapper(_ref) {
|
9
|
-
var prepend = _ref.prepend,
|
10
|
-
append = _ref.append,
|
11
|
-
Component = _ref.Component,
|
12
|
-
helpText = _ref.helpText,
|
13
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
14
|
-
|
15
|
-
var meta = props.meta;
|
16
|
-
return /*#__PURE__*/React.createElement(FormGroup, _extends({
|
17
|
-
meta: meta,
|
18
|
-
helpText: helpText
|
19
|
-
}, props), /*#__PURE__*/React.createElement(ErrorScrollTarget, {
|
20
|
-
name: props.name
|
21
|
-
}), prepend || append ? /*#__PURE__*/React.createElement(InputGroup, null, prepend, /*#__PURE__*/React.createElement(Component, props), append) : /*#__PURE__*/React.createElement(Component, props));
|
22
|
-
}
|
@@ -1,206 +0,0 @@
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
5
|
-
var _excluded = ["className", "meta", "helpText"],
|
6
|
-
_excluded2 = ["meta"],
|
7
|
-
_excluded3 = ["includeEmptyOption", "options"],
|
8
|
-
_excluded4 = ["optionsUrl", "includeEmptyOption", "includeOtherOption", "cache", "maxAge"],
|
9
|
-
_excluded5 = ["meta"],
|
10
|
-
_excluded6 = ["helpText", "meta"];
|
11
|
-
import React from 'react';
|
12
|
-
import classnames from 'classnames';
|
13
|
-
import { Input as BootstrapInput, FormFeedback, CustomInput, FormText, Alert } from 'reactstrap';
|
14
|
-
import lru from 'lru-cache';
|
15
|
-
import PropTypes from 'prop-types';
|
16
|
-
import TextareaAutosize from 'react-textarea-autosize';
|
17
|
-
import { useAxiosRequest } from 'envoc-request';
|
18
|
-
import FormGroupWrapper from '../FormGroupWrapper';
|
19
|
-
import DatePickerInput from '../DatePickerInput';
|
20
|
-
import ReactSelectField from '../ReactSelectField';
|
21
|
-
import useStandardFormInput from '../useStandardFormInput';
|
22
|
-
import { FileInput, DropzoneFileInput } from '../FileInput';
|
23
|
-
export default function FormInput(props) {
|
24
|
-
var _useStandardFormInput = useStandardFormInput(props),
|
25
|
-
_useStandardFormInput2 = _slicedToArray(_useStandardFormInput, 2),
|
26
|
-
input = _useStandardFormInput2[0],
|
27
|
-
meta = _useStandardFormInput2[1];
|
28
|
-
|
29
|
-
var className = props.className,
|
30
|
-
hide = props.hide;
|
31
|
-
return /*#__PURE__*/React.createElement(StandardFieldGroup, _extends({}, input, {
|
32
|
-
className: classnames({
|
33
|
-
'd-none': hide
|
34
|
-
}, className),
|
35
|
-
meta: meta
|
36
|
-
}));
|
37
|
-
}
|
38
|
-
FormInput.propTypes = {
|
39
|
-
id: PropTypes.string,
|
40
|
-
label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
41
|
-
name: PropTypes.string.isRequired,
|
42
|
-
placeholder: PropTypes.string,
|
43
|
-
helpText: PropTypes.oneOfType([PropTypes.string, PropTypes.object])
|
44
|
-
};
|
45
|
-
|
46
|
-
function StandardFieldGroup(props) {
|
47
|
-
switch (props.type) {
|
48
|
-
case 'date':
|
49
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
50
|
-
Component: DatePicker
|
51
|
-
}));
|
52
|
-
|
53
|
-
case 'select':
|
54
|
-
if (props.optionsUrl) {
|
55
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
56
|
-
Component: RemoteSelect
|
57
|
-
}));
|
58
|
-
} else {
|
59
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
60
|
-
Component: Select
|
61
|
-
}));
|
62
|
-
}
|
63
|
-
|
64
|
-
case 'checkbox':
|
65
|
-
case 'radio':
|
66
|
-
return Checkbox(props);
|
67
|
-
|
68
|
-
case 'file':
|
69
|
-
if (props.dropzone) {
|
70
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
71
|
-
Component: DropzoneFileInput
|
72
|
-
}));
|
73
|
-
}
|
74
|
-
|
75
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
76
|
-
Component: FileInput
|
77
|
-
}));
|
78
|
-
|
79
|
-
case 'textarea':
|
80
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
81
|
-
Component: TextAreaInput
|
82
|
-
}));
|
83
|
-
|
84
|
-
default:
|
85
|
-
return /*#__PURE__*/React.createElement(FormGroupWrapper, _extends({}, props, {
|
86
|
-
Component: DefaultInput
|
87
|
-
}));
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
var TextAreaInput = function TextAreaInput(_ref) {
|
92
|
-
var className = _ref.className,
|
93
|
-
meta = _ref.meta,
|
94
|
-
helpText = _ref.helpText,
|
95
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
96
|
-
|
97
|
-
return /*#__PURE__*/React.createElement(TextareaAutosize, _extends({
|
98
|
-
cacheMeasurements: true,
|
99
|
-
className: classnames(className, 'form-control', meta.error ? 'is-invalid' : '')
|
100
|
-
}, props));
|
101
|
-
};
|
102
|
-
|
103
|
-
var DefaultInput = function DefaultInput(_ref2) {
|
104
|
-
var meta = _ref2.meta,
|
105
|
-
props = _objectWithoutProperties(_ref2, _excluded2);
|
106
|
-
|
107
|
-
return /*#__PURE__*/React.createElement(BootstrapInput, _extends({
|
108
|
-
invalid: !!meta.error
|
109
|
-
}, props));
|
110
|
-
};
|
111
|
-
|
112
|
-
var Select = function Select(_ref3) {
|
113
|
-
var _ref3$includeEmptyOpt = _ref3.includeEmptyOption,
|
114
|
-
includeEmptyOption = _ref3$includeEmptyOpt === void 0 ? true : _ref3$includeEmptyOpt,
|
115
|
-
options = _ref3.options,
|
116
|
-
props = _objectWithoutProperties(_ref3, _excluded3);
|
117
|
-
|
118
|
-
var allOptions = includeEmptyOption && !props.isMulti ? [{
|
119
|
-
label: ' ',
|
120
|
-
value: null
|
121
|
-
}].concat(_toConsumableArray(options)) : options;
|
122
|
-
return /*#__PURE__*/React.createElement(ReactSelectField, _extends({}, props, {
|
123
|
-
options: allOptions
|
124
|
-
}));
|
125
|
-
}; // low cache value just to prevent the same dropdown from hitting the API at the same time
|
126
|
-
// TODO: global cache provider / "envoc-cache" instead of this static instance
|
127
|
-
|
128
|
-
|
129
|
-
export var optionCache = new lru({
|
130
|
-
max: 500,
|
131
|
-
maxAge: 1000 * 10
|
132
|
-
});
|
133
|
-
|
134
|
-
var RemoteSelect = function RemoteSelect(_ref4) {
|
135
|
-
var optionsUrl = _ref4.optionsUrl,
|
136
|
-
_ref4$includeEmptyOpt = _ref4.includeEmptyOption,
|
137
|
-
includeEmptyOption = _ref4$includeEmptyOpt === void 0 ? true : _ref4$includeEmptyOpt,
|
138
|
-
_ref4$includeOtherOpt = _ref4.includeOtherOption,
|
139
|
-
includeOtherOption = _ref4$includeOtherOpt === void 0 ? false : _ref4$includeOtherOpt,
|
140
|
-
_ref4$cache = _ref4.cache,
|
141
|
-
cache = _ref4$cache === void 0 ? optionCache : _ref4$cache,
|
142
|
-
_ref4$maxAge = _ref4.maxAge,
|
143
|
-
maxAge = _ref4$maxAge === void 0 ? 1000 * 10 : _ref4$maxAge,
|
144
|
-
props = _objectWithoutProperties(_ref4, _excluded4);
|
145
|
-
|
146
|
-
var request = {
|
147
|
-
method: 'get',
|
148
|
-
url: optionsUrl,
|
149
|
-
cache: cache,
|
150
|
-
maxAge: maxAge,
|
151
|
-
autoExecute: true
|
152
|
-
};
|
153
|
-
var webRequest = useAxiosRequest(request);
|
154
|
-
|
155
|
-
if (webRequest.error) {
|
156
|
-
return /*#__PURE__*/React.createElement(Alert, {
|
157
|
-
color: "danger"
|
158
|
-
}, "An error occurred while loading.");
|
159
|
-
}
|
160
|
-
|
161
|
-
var options = [];
|
162
|
-
|
163
|
-
if (webRequest.loading) {
|
164
|
-
options.push({
|
165
|
-
label: 'Loading...',
|
166
|
-
value: ''
|
167
|
-
});
|
168
|
-
} else {
|
169
|
-
if (includeEmptyOption && !props.isMulti) {
|
170
|
-
options.push({
|
171
|
-
label: ' ',
|
172
|
-
value: null
|
173
|
-
});
|
174
|
-
}
|
175
|
-
|
176
|
-
options.push.apply(options, _toConsumableArray(webRequest.resp.data.result));
|
177
|
-
|
178
|
-
if (includeOtherOption) {
|
179
|
-
options.push({
|
180
|
-
label: 'Other',
|
181
|
-
value: 'other'
|
182
|
-
});
|
183
|
-
}
|
184
|
-
}
|
185
|
-
|
186
|
-
return /*#__PURE__*/React.createElement(ReactSelectField, _extends({}, props, {
|
187
|
-
options: options
|
188
|
-
}));
|
189
|
-
};
|
190
|
-
|
191
|
-
var DatePicker = function DatePicker(_ref5) {
|
192
|
-
var meta = _ref5.meta,
|
193
|
-
props = _objectWithoutProperties(_ref5, _excluded5);
|
194
|
-
|
195
|
-
return /*#__PURE__*/React.createElement(DatePickerInput, _extends({}, props, {
|
196
|
-
className: meta.error ? 'is-invalid' : ''
|
197
|
-
}));
|
198
|
-
};
|
199
|
-
|
200
|
-
var Checkbox = function Checkbox(_ref6) {
|
201
|
-
var helpText = _ref6.helpText,
|
202
|
-
meta = _ref6.meta,
|
203
|
-
props = _objectWithoutProperties(_ref6, _excluded6);
|
204
|
-
|
205
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomInput, props), meta.error && /*#__PURE__*/React.createElement(FormFeedback, null, meta.error), helpText && /*#__PURE__*/React.createElement(FormText, null, helpText));
|
206
|
-
};
|
package/es/FormInput/index.js
DELETED
@@ -1,225 +0,0 @@
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
2
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
5
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
6
|
-
var _excluded = ["id", "name", "label", "newItem", "component", "prepend", "disabled", "validate"],
|
7
|
-
_excluded2 = ["className"],
|
8
|
-
_excluded3 = ["className", "children"],
|
9
|
-
_excluded4 = ["children", "className"],
|
10
|
-
_excluded5 = ["children", "className"],
|
11
|
-
_excluded6 = ["children", "className"];
|
12
|
-
|
13
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
14
|
-
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
16
|
-
|
17
|
-
import React, { useEffect, useRef, useState } from 'react';
|
18
|
-
import { v4 as uuid } from 'uuid';
|
19
|
-
import classnames from 'classnames';
|
20
|
-
import { Col, Card, Button, CardBody, Row, Alert } from 'reactstrap';
|
21
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
22
|
-
import { faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';
|
23
|
-
import PropTypes from 'prop-types';
|
24
|
-
import useStandardFormInput from '../useStandardFormInput';
|
25
|
-
import NestedFormFieldContext from '../NestedFormFieldContext';
|
26
|
-
import classNames from 'classnames';
|
27
|
-
export default function FormInputArray(_ref) {
|
28
|
-
var id = _ref.id,
|
29
|
-
name = _ref.name,
|
30
|
-
label = _ref.label,
|
31
|
-
newItem = _ref.newItem,
|
32
|
-
Component = _ref.component,
|
33
|
-
Prepend = _ref.prepend,
|
34
|
-
disabled = _ref.disabled,
|
35
|
-
validate = _ref.validate,
|
36
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
37
|
-
|
38
|
-
var _useStandardFormInput = useStandardFormInput(_objectSpread({
|
39
|
-
id: id,
|
40
|
-
name: name,
|
41
|
-
validate: validate,
|
42
|
-
disabled: disabled
|
43
|
-
}, props)),
|
44
|
-
_useStandardFormInput2 = _slicedToArray(_useStandardFormInput, 2),
|
45
|
-
inputProps = _useStandardFormInput2[0],
|
46
|
-
meta = _useStandardFormInput2[1];
|
47
|
-
|
48
|
-
var inputPropsRef = useRef();
|
49
|
-
|
50
|
-
var _useState = useState(false),
|
51
|
-
_useState2 = _slicedToArray(_useState, 2),
|
52
|
-
hasChangedLength = _useState2[0],
|
53
|
-
setHasChangedLength = _useState2[1];
|
54
|
-
|
55
|
-
inputPropsRef.current = inputProps;
|
56
|
-
var values = inputProps.value || [];
|
57
|
-
var length = values.length;
|
58
|
-
useEffect(function () {
|
59
|
-
return function () {
|
60
|
-
setHasChangedLength(true);
|
61
|
-
};
|
62
|
-
}, [length, setHasChangedLength]);
|
63
|
-
useEffect(function () {
|
64
|
-
if (!hasChangedLength) {
|
65
|
-
return;
|
66
|
-
}
|
67
|
-
|
68
|
-
inputPropsRef.current.onBlur();
|
69
|
-
}, [length, hasChangedLength]);
|
70
|
-
return /*#__PURE__*/React.createElement(Card, {
|
71
|
-
className: "field-array-card"
|
72
|
-
}, /*#__PURE__*/React.createElement(CardActionHeader, null, /*#__PURE__*/React.createElement(CardActionHeader.Title, null, label), /*#__PURE__*/React.createElement(CardActionHeader.Actions, null, !disabled && /*#__PURE__*/React.createElement(Button, {
|
73
|
-
color: "link",
|
74
|
-
onClick: addItem,
|
75
|
-
title: "Add an additional item",
|
76
|
-
className: "add-array-item"
|
77
|
-
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
78
|
-
icon: faPlus
|
79
|
-
}), " Add New"))), /*#__PURE__*/React.createElement(CardBody, null, meta.error && typeof meta.error === 'string' && /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Col, null, /*#__PURE__*/React.createElement(Alert, {
|
80
|
-
className: "field-array-alert",
|
81
|
-
color: "danger"
|
82
|
-
}, meta.error))), Prepend && values.filter(function (x) {
|
83
|
-
return !x.isDeleted;
|
84
|
-
}).length > 0 && /*#__PURE__*/React.createElement(Row, {
|
85
|
-
className: classnames('input-array-header')
|
86
|
-
}, /*#__PURE__*/React.createElement(Prepend, null), !disabled && /*#__PURE__*/React.createElement("div", {
|
87
|
-
className: "remove-array-item"
|
88
|
-
})), values.map(function (value, index) {
|
89
|
-
var itemName = "".concat(inputProps.name, "[").concat(index, "]");
|
90
|
-
return /*#__PURE__*/React.createElement(Row, {
|
91
|
-
key: value && value['form-input-array-key'] || value && value['id'] || itemName,
|
92
|
-
className: classnames('field-array-item', {
|
93
|
-
removed: value.isDeleted
|
94
|
-
}),
|
95
|
-
role: "listitem"
|
96
|
-
}, /*#__PURE__*/React.createElement(NestedFormFieldContext.Provider, {
|
97
|
-
value: itemName
|
98
|
-
}, /*#__PURE__*/React.createElement("div", {
|
99
|
-
className: "component"
|
100
|
-
}, /*#__PURE__*/React.createElement(Component, _extends({
|
101
|
-
value: value,
|
102
|
-
name: itemName,
|
103
|
-
disabled: disabled
|
104
|
-
}, props)))), !disabled && /*#__PURE__*/React.createElement("div", {
|
105
|
-
className: "remove-array-item"
|
106
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
107
|
-
color: "link",
|
108
|
-
onClick: function onClick() {
|
109
|
-
return removeItem(index);
|
110
|
-
},
|
111
|
-
title: "Remove Item"
|
112
|
-
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
113
|
-
icon: faTrash
|
114
|
-
}))));
|
115
|
-
})));
|
116
|
-
|
117
|
-
function addItem() {
|
118
|
-
if (disabled) {
|
119
|
-
return;
|
120
|
-
}
|
121
|
-
|
122
|
-
var item = Object.assign({}, newItem, {
|
123
|
-
'form-input-array-key': uuid()
|
124
|
-
});
|
125
|
-
var mapped = [].concat(_toConsumableArray(values), [item]);
|
126
|
-
inputProps.onChange(mapped);
|
127
|
-
}
|
128
|
-
|
129
|
-
function removeItem(index) {
|
130
|
-
if (disabled) {
|
131
|
-
return;
|
132
|
-
}
|
133
|
-
|
134
|
-
var itemToRemove = values[index]; // assumes anything from the server has an 'id' value sent
|
135
|
-
|
136
|
-
if (!itemToRemove.id) {
|
137
|
-
inputProps.onChange(values.filter(function (x) {
|
138
|
-
return x !== itemToRemove;
|
139
|
-
}));
|
140
|
-
return;
|
141
|
-
}
|
142
|
-
|
143
|
-
var mapped = values.map(function (x) {
|
144
|
-
return x !== itemToRemove ? x : Object.assign({}, x, {
|
145
|
-
isDeleted: true
|
146
|
-
});
|
147
|
-
});
|
148
|
-
inputProps.onChange(mapped);
|
149
|
-
}
|
150
|
-
}
|
151
|
-
|
152
|
-
FormInputArray.Header = function (_ref2) {
|
153
|
-
var className = _ref2.className,
|
154
|
-
props = _objectWithoutProperties(_ref2, _excluded2);
|
155
|
-
|
156
|
-
return /*#__PURE__*/React.createElement(FormInputArray.Column, _extends({
|
157
|
-
className: classnames('mb-2', className)
|
158
|
-
}, props));
|
159
|
-
};
|
160
|
-
|
161
|
-
FormInputArray.Column = function (_ref3) {
|
162
|
-
var className = _ref3.className,
|
163
|
-
children = _ref3.children,
|
164
|
-
props = _objectWithoutProperties(_ref3, _excluded3);
|
165
|
-
|
166
|
-
return /*#__PURE__*/React.createElement(Col, _extends({
|
167
|
-
className: classnames('d-flex', className)
|
168
|
-
}, props), children);
|
169
|
-
};
|
170
|
-
|
171
|
-
FormInputArray.propTypes = {
|
172
|
-
name: PropTypes.string.isRequired,
|
173
|
-
label: PropTypes.string.isRequired,
|
174
|
-
|
175
|
-
/**
|
176
|
-
* The component to use for each element of the array
|
177
|
-
**/
|
178
|
-
component: PropTypes.func.isRequired,
|
179
|
-
disabled: PropTypes.bool,
|
180
|
-
|
181
|
-
/**
|
182
|
-
* When 'Add Item' is used this object is passed as the default (so you can, as an example, give a default)
|
183
|
-
**/
|
184
|
-
newItem: PropTypes.object,
|
185
|
-
|
186
|
-
/**
|
187
|
-
* Affixes a 'header' above all rows so you can have a grid-like display
|
188
|
-
**/
|
189
|
-
prepend: PropTypes.func,
|
190
|
-
|
191
|
-
/**
|
192
|
-
* standard validator, BUT, will be passed the whole array to validate
|
193
|
-
**/
|
194
|
-
validate: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func])
|
195
|
-
};
|
196
|
-
|
197
|
-
function CardActionHeader(_ref4) {
|
198
|
-
var children = _ref4.children,
|
199
|
-
className = _ref4.className,
|
200
|
-
props = _objectWithoutProperties(_ref4, _excluded4);
|
201
|
-
|
202
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
203
|
-
className: classnames('card-header card-action-header d-flex align-items-baseline', className)
|
204
|
-
}, props), children);
|
205
|
-
}
|
206
|
-
|
207
|
-
CardActionHeader.Title = function Title(_ref5) {
|
208
|
-
var children = _ref5.children,
|
209
|
-
className = _ref5.className,
|
210
|
-
props = _objectWithoutProperties(_ref5, _excluded5);
|
211
|
-
|
212
|
-
return /*#__PURE__*/React.createElement("strong", _extends({
|
213
|
-
className: classnames('mr-auto', className)
|
214
|
-
}, props), children);
|
215
|
-
};
|
216
|
-
|
217
|
-
CardActionHeader.Actions = function Actions(_ref6) {
|
218
|
-
var children = _ref6.children,
|
219
|
-
className = _ref6.className,
|
220
|
-
props = _objectWithoutProperties(_ref6, _excluded6);
|
221
|
-
|
222
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
223
|
-
className: classnames('card-action-header-actions', className)
|
224
|
-
}, props), children);
|
225
|
-
};
|
package/es/FormSection.js
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
import React, { useContext } from 'react';
|
2
|
-
import NestedFormFieldContext from './NestedFormFieldContext';
|
3
|
-
export default function FormSection(_ref) {
|
4
|
-
var children = _ref.children,
|
5
|
-
name = _ref.name;
|
6
|
-
var parentContext = useContext(NestedFormFieldContext);
|
7
|
-
var effectiveValue = parentContext ? "".concat(parentContext, ".").concat(name) : name;
|
8
|
-
return /*#__PURE__*/React.createElement(NestedFormFieldContext.Provider, {
|
9
|
-
value: effectiveValue
|
10
|
-
}, children);
|
11
|
-
}
|
package/es/IconInput.js
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
4
|
-
var _excluded = ["className", "icon", "helpText"];
|
5
|
-
import React from 'react';
|
6
|
-
import PropTypes from 'prop-types';
|
7
|
-
import { InputGroup, InputGroupAddon, InputGroupText, Input as BootstrapInput, FormFeedback } from 'reactstrap';
|
8
|
-
import useStandardFormInput from './useStandardFormInput';
|
9
|
-
export default function IconInput(_ref) {
|
10
|
-
var className = _ref.className,
|
11
|
-
icon = _ref.icon,
|
12
|
-
helpText = _ref.helpText,
|
13
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
14
|
-
|
15
|
-
var _useStandardFormInput = useStandardFormInput(props),
|
16
|
-
_useStandardFormInput2 = _slicedToArray(_useStandardFormInput, 2),
|
17
|
-
input = _useStandardFormInput2[0],
|
18
|
-
meta = _useStandardFormInput2[1];
|
19
|
-
|
20
|
-
return /*#__PURE__*/React.createElement(InputGroup, {
|
21
|
-
className: className
|
22
|
-
}, /*#__PURE__*/React.createElement(InputGroupAddon, {
|
23
|
-
addonType: "prepend"
|
24
|
-
}, /*#__PURE__*/React.createElement(InputGroupText, null, /*#__PURE__*/React.createElement("i", {
|
25
|
-
className: icon
|
26
|
-
}))), /*#__PURE__*/React.createElement(BootstrapInput, _extends({
|
27
|
-
invalid: !!meta.error
|
28
|
-
}, input)), meta.error && /*#__PURE__*/React.createElement(FormFeedback, null, meta.error), helpText && /*#__PURE__*/React.createElement(FormFeedback, null, helpText));
|
29
|
-
}
|
30
|
-
IconInput.propTypes = {
|
31
|
-
icon: PropTypes.string,
|
32
|
-
className: PropTypes.string
|
33
|
-
};
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import React from 'react';
|
3
|
-
import FormInput from '../FormInput';
|
4
|
-
export default function InlineFormInput(props) {
|
5
|
-
return /*#__PURE__*/React.createElement(FormInput, _extends({
|
6
|
-
className: "inline-form-input col"
|
7
|
-
}, props));
|
8
|
-
}
|