envoc-form 3.1.0 → 4.0.1-0
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/DatePickerInput/DatePickerInput.d.ts +14 -0
- package/es/DatePickerInput/DatePickerInput.js +63 -95
- 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/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/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 +57 -0
- package/es/index.js +41 -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/DatePickerInput/DatePickerInput.d.ts +14 -0
- package/lib/DatePickerInput/DatePickerInput.js +69 -113
- 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/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/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 +57 -0
- package/lib/index.js +101 -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/DatePickerInput/DatePickerInput.test.tsx +48 -0
- package/src/DatePickerInput/DatePickerInput.tsx +85 -0
- package/src/DatePickerInput/__snapshots__/DatePickerInput.test.tsx.snap +151 -0
- package/src/Field/CustomFieldInputProps.ts +10 -0
- package/src/Field/CustomFieldMetaProps.ts +5 -0
- package/src/Field/Field.tsx +90 -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/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 +40 -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/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 +114 -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/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 -128
- 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/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 -152
- 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 -122
- 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
@@ -5,18 +5,12 @@ import StandardFormActions from '../StandardFormActions';
|
|
5
5
|
|
6
6
|
describe('StandardFormActions', () => {
|
7
7
|
it('renders without crashing', () => {
|
8
|
-
render(
|
9
|
-
<FormTestBase>
|
10
|
-
<StandardFormActions />
|
11
|
-
</FormTestBase>
|
12
|
-
);
|
8
|
+
render(<FormTestBase>{() => <StandardFormActions />}</FormTestBase>);
|
13
9
|
});
|
14
10
|
|
15
11
|
it('has matching snapshot', () => {
|
16
12
|
const renderResult = render(
|
17
|
-
<FormTestBase>
|
18
|
-
<StandardFormActions />
|
19
|
-
</FormTestBase>
|
13
|
+
<FormTestBase>{() => <StandardFormActions />}</FormTestBase>
|
20
14
|
);
|
21
15
|
expect(renderResult.asFragment()).toMatchSnapshot();
|
22
16
|
});
|
@@ -5,18 +5,12 @@ import SubmitFormButton from '../SubmitFormButton';
|
|
5
5
|
|
6
6
|
describe('SubmitFormButton', () => {
|
7
7
|
it('renders without crashing', () => {
|
8
|
-
render(
|
9
|
-
<FormTestBase>
|
10
|
-
<SubmitFormButton />
|
11
|
-
</FormTestBase>
|
12
|
-
);
|
8
|
+
render(<FormTestBase>{() => <SubmitFormButton />}</FormTestBase>);
|
13
9
|
});
|
14
10
|
|
15
11
|
it('has matching snapshot', () => {
|
16
12
|
const renderResult = render(
|
17
|
-
<FormTestBase>
|
18
|
-
<SubmitFormButton />
|
19
|
-
</FormTestBase>
|
13
|
+
<FormTestBase>{() => <SubmitFormButton />}</FormTestBase>
|
20
14
|
);
|
21
15
|
expect(renderResult.asFragment()).toMatchSnapshot();
|
22
16
|
});
|
@@ -6,7 +6,7 @@ exports[`StandardFormActions has matching snapshot 1`] = `
|
|
6
6
|
action="#"
|
7
7
|
>
|
8
8
|
<button
|
9
|
-
class="
|
9
|
+
class="submit-form-button"
|
10
10
|
disabled=""
|
11
11
|
title="You haven't made any changes"
|
12
12
|
type="submit"
|
@@ -15,7 +15,7 @@ exports[`StandardFormActions has matching snapshot 1`] = `
|
|
15
15
|
</button>
|
16
16
|
|
17
17
|
<button
|
18
|
-
class="
|
18
|
+
class="standard-form-actions-cancel-button"
|
19
19
|
type="button"
|
20
20
|
>
|
21
21
|
Cancel
|
package/src/index.ts
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
// Address
|
2
|
+
export { default as AddressInput } from './AddressInput/AddressInput';
|
3
|
+
export type { AddressInputProps } from './AddressInput/AddressInput';
|
4
|
+
|
5
|
+
// Button
|
6
|
+
export { default as SubmitFormButton } from './SubmitFormButton';
|
7
|
+
export type { SubmitFormButtonProps } from './SubmitFormButton';
|
8
|
+
|
9
|
+
// ConfirmBaseForm
|
10
|
+
export { default as ConfirmBaseForm } from './ConfirmBaseForm/ConfirmBaseForm';
|
11
|
+
export type { ConfirmBaseFormProps } from './ConfirmBaseForm/ConfirmBaseForm';
|
12
|
+
|
13
|
+
// ConfirmDeleteForm
|
14
|
+
export { default as ConfirmDeleteForm } from './ConfirmDeleteForm/ConfirmDeleteForm';
|
15
|
+
export type { ConfirmDeleteFormProps } from './ConfirmDeleteForm/ConfirmDeleteForm';
|
16
|
+
|
17
|
+
// Date
|
18
|
+
export { default as DatePickerInput } from './DatePickerInput/DatePickerInput';
|
19
|
+
export type { DatePickerInputProps, DateOnly } from './DatePickerInput/DatePickerInput';
|
20
|
+
|
21
|
+
// Field
|
22
|
+
export { default as Field } from './Field/Field';
|
23
|
+
export type { FieldProps } from './Field/Field';
|
24
|
+
|
25
|
+
export { default as FieldErrorScrollTarget } from './Field/FieldErrorScrollTarget';
|
26
|
+
|
27
|
+
export { FieldNameContext } from './Field/FieldNameContext';
|
28
|
+
|
29
|
+
export type { InjectedFieldProps } from './Field/InjectedFieldProps';
|
30
|
+
|
31
|
+
export { default as useStandardField } from './Field/useStandardField';
|
32
|
+
export type { useStandardFieldProps } from './Field/useStandardField';
|
33
|
+
|
34
|
+
// Field Array
|
35
|
+
export { default as FieldArray } from './FieldArray/FieldArray';
|
36
|
+
export type {
|
37
|
+
FieldArrayProps,
|
38
|
+
ArrayFormBuilderProp,
|
39
|
+
} from './FieldArray/FieldArray';
|
40
|
+
|
41
|
+
// File
|
42
|
+
export { default as FileGroup } from './File/FileGroup';
|
43
|
+
export type { FileGroupProps } from './File/FileGroup';
|
44
|
+
|
45
|
+
// Form
|
46
|
+
export { default as Form } from './Form/Form';
|
47
|
+
export type { FormBuilderProp, FormProps } from './Form/Form';
|
48
|
+
export { ServerErrorContext } from './Form/ServerErrorContext';
|
49
|
+
export type {
|
50
|
+
ServerErrorContextProps,
|
51
|
+
ServerErrors,
|
52
|
+
} from './Form/ServerErrorContext';
|
53
|
+
|
54
|
+
export { default as FormActions } from './FormActions';
|
55
|
+
export type { FormActionsProps as FormActionsProps } from './FormActions';
|
56
|
+
|
57
|
+
// Input
|
58
|
+
export { default as Group } from './Group';
|
59
|
+
export type { GroupProps as GroupProps } from './Group';
|
60
|
+
|
61
|
+
export { default as IconInputGroup } from './Input/IconInputGroup';
|
62
|
+
export type { IconInputGroupProps } from './Input/IconInputGroup';
|
63
|
+
|
64
|
+
export { default as InputGroup } from './Input/InputGroup';
|
65
|
+
export type { InputGroupProps } from './Input/InputGroup';
|
66
|
+
|
67
|
+
export { default as MoneyInputGroup } from './Input/MoneyInputGroup';
|
68
|
+
export type { MoneyInputGroupProps } from './Input/MoneyInputGroup';
|
69
|
+
|
70
|
+
export { default as NumberInputGroup } from './Input/NumberInputGroup';
|
71
|
+
export type { NumberInputGroupProps } from './Input/NumberInputGroup';
|
72
|
+
|
73
|
+
export { default as StringInputGroup } from './Input/StringInputGroup';
|
74
|
+
export type { StringInputGroupProps } from './Input/StringInputGroup';
|
75
|
+
|
76
|
+
// Normalization
|
77
|
+
export type { NormalizationFunction } from './Normalization/NormalizationFunction';
|
78
|
+
export * as normalizers from './Normalization/normalizers';
|
79
|
+
|
80
|
+
// Select
|
81
|
+
export { default as SelectGroup } from './Select/SelectGroup';
|
82
|
+
export type { SelectGroupProps } from './Select/SelectGroup';
|
83
|
+
|
84
|
+
export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
|
85
|
+
export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
|
86
|
+
|
87
|
+
export {
|
88
|
+
MultiNumberSelectGroup,
|
89
|
+
SingleNumberSelectGroup,
|
90
|
+
} from './Select/NumberSelectGroup';
|
91
|
+
export type { MultiNumberSelectGroupProps, SingleNumberSelectGroupProps } from './Select/NumberSelectGroup';
|
92
|
+
|
93
|
+
export {
|
94
|
+
MultiStringSelectGroup,
|
95
|
+
SingleStringSelectGroup,
|
96
|
+
} from './Select/StringSelectGroup';
|
97
|
+
export type { MultiStringSelectGroupProps, SingleStringSelectGroupProps } from './Select/StringSelectGroup';
|
98
|
+
|
99
|
+
// Utils
|
100
|
+
export { default as objectContainsNonSerializableProperty } from './utils/objectContainsNonSerializableProperty';
|
101
|
+
|
102
|
+
export { default as serialize } from './utils/objectToFormData';
|
103
|
+
export type { ObjectToFormDataCfgProps } from './utils/objectToFormData';
|
104
|
+
|
105
|
+
export * from './utils/typeChecks';
|
106
|
+
|
107
|
+
// Validation
|
108
|
+
export type { ValidatedApiResult } from './Validation/ValidatedApiResult';
|
109
|
+
|
110
|
+
export type { ValidationError } from './Validation/ValidationError';
|
111
|
+
|
112
|
+
export type { ValidationFunction } from './Validation/ValidationFunction';
|
113
|
+
|
114
|
+
export * as validators from './Validation/validators';
|
@@ -0,0 +1 @@
|
|
1
|
+
/// <reference types="react-scripts" />
|
package/src/styles.scss
CHANGED
@@ -1,7 +0,0 @@
|
|
1
|
-
@use './DatePickerInput/date-picker-input.scss';
|
2
|
-
@use './InlineFormInput/inline-form-input.scss';
|
3
|
-
@use './MoneyInput/money-input.scss';
|
4
|
-
@use './FormInput/form-input.scss';
|
5
|
-
@use './FileInput/file-input.scss';
|
6
|
-
@use './FormInputArray/form-input-array.scss';
|
7
|
-
@use './ReactSelectField/react-select-field.scss';
|
File without changes
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import {
|
1
|
+
import { isBlob, isFile, isObject } from './typeChecks';
|
2
2
|
|
3
|
-
export default function objectContainsNonSerializableProperty(
|
3
|
+
export default function objectContainsNonSerializableProperty(
|
4
|
+
object: any
|
5
|
+
): boolean {
|
4
6
|
return Object.entries(object).some((value) => {
|
5
7
|
if (value) {
|
6
8
|
if (isBlob(value[1]) || isFile(value[1])) {
|
File without changes
|
@@ -1,17 +1,33 @@
|
|
1
1
|
// Original: https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
|
2
2
|
// With Multiple Form File Fix: https://github.com/therealparmesh/object-to-formdata/pull/94/files
|
3
3
|
import {
|
4
|
-
isUndefined,
|
5
|
-
isNull,
|
6
|
-
isBoolean,
|
7
|
-
isObject,
|
8
4
|
isArray,
|
9
|
-
isDate,
|
10
5
|
isBlob,
|
6
|
+
isBoolean,
|
7
|
+
isDate,
|
11
8
|
isFile,
|
9
|
+
isNull,
|
10
|
+
isObject,
|
11
|
+
isUndefined,
|
12
12
|
} from './typeChecks';
|
13
13
|
|
14
|
-
|
14
|
+
// TODO: make all of these optional?
|
15
|
+
export interface ObjectToFormDataCfgProps {
|
16
|
+
indices: boolean;
|
17
|
+
dotNotation: boolean;
|
18
|
+
allowEmptyArrays: boolean;
|
19
|
+
noFileListBrackets: boolean;
|
20
|
+
nullsAsUndefineds?: boolean;
|
21
|
+
booleansAsIntegers?: boolean;
|
22
|
+
}
|
23
|
+
|
24
|
+
// 'pre' is not provided until this function recursively calls itself when 'obj' is an array or object
|
25
|
+
const serialize = (
|
26
|
+
obj: any,
|
27
|
+
cfg: ObjectToFormDataCfgProps,
|
28
|
+
fd?: FormData,
|
29
|
+
pre?: string
|
30
|
+
) => {
|
15
31
|
cfg = cfg || {};
|
16
32
|
|
17
33
|
cfg.indices = isUndefined(cfg.indices) ? false : cfg.indices;
|
@@ -35,19 +51,21 @@ const serialize = (obj, cfg, fd, pre) => {
|
|
35
51
|
|
36
52
|
if (isUndefined(obj)) {
|
37
53
|
return fd;
|
38
|
-
} else if (isNull(obj)) {
|
54
|
+
} else if (isNull(obj) && !!pre) {
|
39
55
|
if (!cfg.nullsAsUndefineds) {
|
40
56
|
fd.append(pre, '');
|
41
57
|
}
|
42
|
-
} else if (isBoolean(obj)) {
|
58
|
+
} else if (isBoolean(obj) && !!pre) {
|
43
59
|
if (cfg.booleansAsIntegers) {
|
44
|
-
fd.append(pre, obj ? 1 : 0);
|
60
|
+
fd.append(pre, obj ? '1' : '0');
|
45
61
|
} else {
|
46
62
|
fd.append(pre, obj);
|
47
63
|
}
|
64
|
+
} else if (isDate(obj) && !!pre) {
|
65
|
+
fd.append(pre, obj.toISOString());
|
48
66
|
} else if (isArray(obj)) {
|
49
67
|
if (obj.length) {
|
50
|
-
obj.forEach((value, index) => {
|
68
|
+
obj.forEach((value: any, index: number) => {
|
51
69
|
let key;
|
52
70
|
if (cfg.noFileListBrackets && isFile(value)) {
|
53
71
|
key = pre;
|
@@ -59,8 +77,6 @@ const serialize = (obj, cfg, fd, pre) => {
|
|
59
77
|
} else if (cfg.allowEmptyArrays) {
|
60
78
|
fd.append(pre + '[]', '');
|
61
79
|
}
|
62
|
-
} else if (isDate(obj)) {
|
63
|
-
fd.append(pre, obj.toISOString());
|
64
80
|
} else if (isObject(obj) && !isFile(obj) && !isBlob(obj)) {
|
65
81
|
Object.keys(obj).forEach((prop) => {
|
66
82
|
const value = obj[prop];
|
@@ -79,7 +95,7 @@ const serialize = (obj, cfg, fd, pre) => {
|
|
79
95
|
|
80
96
|
serialize(value, cfg, fd, key);
|
81
97
|
});
|
82
|
-
} else {
|
98
|
+
} else if (!!pre) {
|
83
99
|
fd.append(pre, obj);
|
84
100
|
}
|
85
101
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export const isUndefined = (value: any) => value === undefined;
|
2
|
+
export const isNull = (value: any) => value === null;
|
3
|
+
export const isBoolean = (value: any) => typeof value === 'boolean';
|
4
|
+
export const isObject = (value: any) => value === Object(value);
|
5
|
+
export const isArray = (value: any) => Array.isArray(value);
|
6
|
+
export const isDate = (value: any) => value instanceof Date;
|
7
|
+
|
8
|
+
export const isBlob = (value: any) =>
|
9
|
+
value &&
|
10
|
+
typeof value.size === 'number' &&
|
11
|
+
typeof value.type === 'string' &&
|
12
|
+
typeof value.slice === 'function';
|
13
|
+
|
14
|
+
export const isFile = (value: any) =>
|
15
|
+
isBlob(value) &&
|
16
|
+
typeof value.name === 'string' &&
|
17
|
+
(typeof value.lastModifiedDate === 'object' ||
|
18
|
+
typeof value.lastModified === 'number');
|
package/es/AddressInput/index.js
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import React from 'react';
|
3
|
-
import boolOptions from './boolOptions';
|
4
|
-
import FormInput from '../FormInput';
|
5
|
-
export default function BoolInput(props) {
|
6
|
-
return /*#__PURE__*/React.createElement(FormInput, _extends({
|
7
|
-
options: boolOptions,
|
8
|
-
type: "select"
|
9
|
-
}, props));
|
10
|
-
}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
2
|
-
import React from 'react';
|
3
|
-
import boolOptions from './boolOptions';
|
4
|
-
import InlineFormInput from '../InlineFormInput';
|
5
|
-
export default function InlineBoolInput(props) {
|
6
|
-
return /*#__PURE__*/React.createElement(InlineFormInput, _extends({
|
7
|
-
options: boolOptions,
|
8
|
-
type: "select"
|
9
|
-
}, props));
|
10
|
-
}
|
package/es/BoolInput/index.js
DELETED
package/es/ErrorScrollTarget.js
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
export default function ErrorScrollTarget(props) {
|
3
|
-
var divId = "".concat(props.name.toLowerCase(), "-error-scroll-target");
|
4
|
-
return /*#__PURE__*/React.createElement("div", {
|
5
|
-
id: divId,
|
6
|
-
style: {
|
7
|
-
display: 'none'
|
8
|
-
}
|
9
|
-
});
|
10
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { ListGroupItem, ListGroup } from 'reactstrap';
|
3
|
-
export default function DefaultFileList(_ref) {
|
4
|
-
var files = _ref.files,
|
5
|
-
_ref$rejectedFiles = _ref.rejectedFiles,
|
6
|
-
rejectedFiles = _ref$rejectedFiles === void 0 ? [] : _ref$rejectedFiles;
|
7
|
-
return /*#__PURE__*/React.createElement(ListGroup, null, files.map(function (file) {
|
8
|
-
return /*#__PURE__*/React.createElement(Group, {
|
9
|
-
key: file.path,
|
10
|
-
item: file,
|
11
|
-
warning: false
|
12
|
-
});
|
13
|
-
}), rejectedFiles.map(function (_ref2) {
|
14
|
-
var file = _ref2.file;
|
15
|
-
return /*#__PURE__*/React.createElement(Group, {
|
16
|
-
key: file.path,
|
17
|
-
item: file,
|
18
|
-
warning: true
|
19
|
-
});
|
20
|
-
}));
|
21
|
-
}
|
22
|
-
|
23
|
-
function Group(_ref3) {
|
24
|
-
var item = _ref3.item,
|
25
|
-
warning = _ref3.warning;
|
26
|
-
return /*#__PURE__*/React.createElement(ListGroupItem, {
|
27
|
-
color: "d-flex ".concat(warning ? 'warning' : 'success', " justify-content-between list-group-item ").concat(warning ? 'list-group-item-warning' : 'list-group-item-success', " px-3 py-1 rounded-1")
|
28
|
-
}, /*#__PURE__*/React.createElement("span", {
|
29
|
-
className: "d-flex justify-content-between w-100"
|
30
|
-
}, /*#__PURE__*/React.createElement("span", null, item.name), " ", /*#__PURE__*/React.createElement("span", null, humanFileSize(item.size))));
|
31
|
-
}
|
32
|
-
|
33
|
-
function humanFileSize(size) {
|
34
|
-
var i = Math.floor(Math.log(size) / Math.log(1024));
|
35
|
-
return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'KB', 'MB', 'GB', 'TB'][i];
|
36
|
-
}
|
@@ -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
|
-
}
|