@nolwenture/formik-jsonschema-form 0.26.8 → 1.0.0-beta.2
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 +32 -13
- package/dist/cjs/Form/Form.js +49 -0
- package/dist/cjs/Form/FormRegistry.js +17 -0
- package/dist/cjs/Form/components/Clickable.js +18 -0
- package/dist/cjs/Form/components/ErrorMessage.js +32 -0
- package/dist/cjs/Form/components/FieldInfo.js +104 -0
- package/dist/cjs/Form/components/FieldInput.js +59 -0
- package/dist/cjs/Form/components/Form.js +54 -0
- package/dist/cjs/Form/components/Icon.js +7 -0
- package/dist/cjs/Form/components/RequiredIndicator.js +9 -0
- package/dist/cjs/Form/components/index.js +48 -0
- package/dist/cjs/{fields → Form/fields/AnyField}/AnyField.js +5 -4
- package/dist/cjs/Form/fields/AnyField/index.js +28 -0
- package/dist/cjs/Form/fields/AnyField/styledComponents.js +9 -0
- package/dist/cjs/{fields → Form/fields/ArrayField}/ArrayField.js +9 -11
- package/dist/cjs/Form/fields/ArrayField/index.js +28 -0
- package/dist/cjs/Form/fields/ArrayField/styledComponents.js +17 -0
- package/dist/cjs/{fields → Form/fields/BooleanField}/BooleanField.js +5 -4
- package/dist/cjs/Form/fields/BooleanField/index.js +28 -0
- package/dist/cjs/Form/fields/BooleanField/styledComponents.js +15 -0
- package/dist/cjs/Form/fields/DateField/DateField.js +17 -0
- package/dist/cjs/Form/fields/DateField/index.js +28 -0
- package/dist/cjs/Form/fields/DateField/styledComponents.js +9 -0
- package/dist/cjs/{fields → Form/fields/FileUploadField}/FileUploadField.js +7 -6
- package/dist/cjs/Form/fields/FileUploadField/FileUploadFieldInput.js +21 -0
- package/dist/cjs/Form/fields/FileUploadField/index.js +31 -0
- package/dist/cjs/Form/fields/FileUploadField/styledComponents.js +63 -0
- package/dist/cjs/{fields → Form/fields/MultipleChoiceField}/MultipleChoiceField.js +7 -7
- package/dist/cjs/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.js +39 -0
- package/dist/cjs/Form/fields/MultipleChoiceField/index.js +31 -0
- package/dist/cjs/Form/fields/MultipleChoiceField/styledComponents.js +17 -0
- package/dist/cjs/{fields → Form/fields/NullField}/NullField.js +2 -2
- package/dist/cjs/Form/fields/NullField/index.js +27 -0
- package/dist/cjs/Form/fields/NumberField/NumberField.js +16 -0
- package/dist/cjs/Form/fields/NumberField/index.js +28 -0
- package/dist/cjs/Form/fields/NumberField/styledComponents.js +8 -0
- package/dist/cjs/{fields → Form/fields/ObjectField}/ObjectField.js +39 -16
- package/dist/cjs/Form/fields/ObjectField/ObjectFieldSection.js +16 -0
- package/dist/cjs/Form/fields/ObjectField/index.js +31 -0
- package/dist/cjs/Form/fields/ObjectField/styledComponents.js +37 -0
- package/dist/cjs/Form/fields/RadioField/RadioField.js +16 -0
- package/dist/cjs/Form/fields/RadioField/RadioFieldInput.js +11 -0
- package/dist/cjs/Form/fields/RadioField/index.js +31 -0
- package/dist/cjs/Form/fields/RadioField/styledComponents.js +27 -0
- package/dist/cjs/{fields → Form/fields/SchemaField}/SchemaField.js +9 -10
- package/dist/cjs/Form/fields/SchemaField/index.js +27 -0
- package/dist/cjs/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.js +17 -0
- package/dist/cjs/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.js +27 -0
- package/dist/cjs/Form/fields/SearchableMultiTagSelectField/index.js +31 -0
- package/dist/cjs/Form/fields/SearchableMultiTagSelectField/styledComponents.js +68 -0
- package/dist/cjs/{fields → Form/fields/SearchableSelectField}/SearchableSelectField.js +14 -8
- package/dist/cjs/Form/fields/SearchableSelectField/index.js +30 -0
- package/dist/cjs/Form/fields/SearchableSelectField/styledComponents.js +50 -0
- package/dist/cjs/Form/fields/SearchableSelectField/types.js +2 -0
- package/dist/cjs/Form/fields/StringField/StringField.js +39 -0
- package/dist/cjs/Form/fields/StringField/index.js +27 -0
- package/dist/cjs/Form/fields/StringField/styledComponents.js +9 -0
- package/dist/cjs/{fields → Form/fields/TextAreaField}/TextAreaField.js +6 -5
- package/dist/cjs/Form/fields/TextAreaField/index.js +28 -0
- package/dist/cjs/Form/fields/TextAreaField/styledComponents.js +17 -0
- package/dist/cjs/{fields → Form/fields/ToggleField}/ToggleField.js +6 -5
- package/dist/cjs/Form/fields/ToggleField/ToggleFieldInput.js +11 -0
- package/dist/cjs/Form/fields/ToggleField/index.js +31 -0
- package/dist/cjs/Form/fields/ToggleField/styledComponents.js +53 -0
- package/dist/cjs/Form/fields/index.js +81 -0
- package/dist/cjs/{hooks → Form/hooks}/index.js +0 -1
- package/dist/cjs/{hooks → Form/hooks}/useSetDefault.js +2 -2
- package/dist/cjs/Form/index.js +29 -0
- package/dist/cjs/Form/styles/common.js +211 -0
- package/dist/cjs/{templates → Form/templates/ArrayFieldTemplate}/ArrayFieldTemplate.js +7 -9
- package/dist/cjs/Form/templates/ArrayFieldTemplate/index.js +28 -0
- package/dist/cjs/Form/templates/ArrayFieldTemplate/styledComponents.js +25 -0
- package/dist/cjs/Form/templates/ArrayFieldTemplate/types.js +2 -0
- package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +34 -0
- package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/index.js +28 -0
- package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.js +46 -0
- package/dist/cjs/Form/templates/CollapsibleObjectFieldTemplate/types.js +2 -0
- package/dist/cjs/{templates → Form/templates/FieldTemplate}/FieldTemplate.js +5 -6
- package/dist/cjs/Form/templates/FieldTemplate/index.js +27 -0
- package/dist/cjs/Form/templates/FieldTemplate/types.js +2 -0
- package/dist/cjs/{templates → Form/templates/ObjectFieldTemplate}/ObjectFieldTemplate.js +7 -7
- package/dist/cjs/Form/templates/ObjectFieldTemplate/index.js +28 -0
- package/dist/cjs/Form/templates/ObjectFieldTemplate/styledComponents.js +35 -0
- package/dist/cjs/Form/templates/ObjectFieldTemplate/types.js +2 -0
- package/dist/cjs/Form/templates/index.js +45 -0
- package/dist/cjs/Form/types/FormRegistryContext.js +2 -0
- package/dist/cjs/{pdfTemplates → Form/types}/index.js +1 -4
- package/dist/cjs/FormView/FormView.js +42 -0
- package/dist/cjs/FormView/FormViewRegistry.js +17 -0
- package/dist/cjs/FormView/components/Field.js +13 -0
- package/dist/cjs/FormView/components/Form.js +5 -0
- package/dist/cjs/FormView/components/Icon.js +7 -0
- package/dist/cjs/FormView/components/index.js +48 -0
- package/dist/cjs/FormView/components/old_styledComponents.js +65 -0
- package/dist/cjs/{pdfFields → FormView/fields}/AnyField.js +3 -3
- package/dist/cjs/{pdfFields → FormView/fields}/ArrayField.js +3 -5
- package/dist/cjs/{pdfFields → FormView/fields}/BooleanField.js +5 -6
- package/dist/cjs/{pdfFields → FormView/fields}/EJSField.js +4 -6
- package/dist/cjs/FormView/fields/FileUploadField.js +7 -0
- package/dist/cjs/{pdfFields → FormView/fields}/MultipleChoiceField.js +7 -9
- package/dist/cjs/{pdfFields → FormView/fields}/NullField.js +2 -2
- package/dist/cjs/{pdfFields → FormView/fields/ObjectField}/ObjectField.js +21 -13
- package/dist/cjs/FormView/fields/ObjectField/ObjectFieldSection.js +11 -0
- package/dist/cjs/FormView/fields/ObjectField/index.js +31 -0
- package/dist/cjs/FormView/fields/ObjectField/styledComponents.js +6 -0
- package/dist/cjs/{pdfFields → FormView/fields}/SchemaField.js +9 -10
- package/dist/cjs/FormView/fields/SearchableMultiTagSelectField.js +14 -0
- package/dist/cjs/{pdfFields → FormView/fields}/SearchableSelectField.js +3 -3
- package/dist/cjs/{pdfFields → FormView/fields}/StringField.js +4 -6
- package/dist/cjs/{pdfFields → FormView/fields}/TextAreaField.js +3 -5
- package/dist/cjs/FormView/fields/index.js +70 -0
- package/dist/cjs/{templates → FormView}/index.js +3 -4
- package/dist/cjs/FormView/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +20 -0
- package/dist/cjs/FormView/templates/ArrayFieldTemplate/index.js +28 -0
- package/dist/cjs/FormView/templates/ArrayFieldTemplate/styledComponents.js +15 -0
- package/dist/cjs/FormView/templates/ArrayFieldTemplate/types.js +2 -0
- package/dist/cjs/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +5 -0
- package/dist/cjs/FormView/templates/CollapsibleObjectFieldTemplate/index.js +27 -0
- package/dist/cjs/FormView/templates/FieldTemplate/FieldTemplate.js +18 -0
- package/dist/cjs/FormView/templates/FieldTemplate/index.js +27 -0
- package/dist/cjs/FormView/templates/FieldTemplate/types.js +2 -0
- package/dist/cjs/FormView/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +20 -0
- package/dist/cjs/FormView/templates/ObjectFieldTemplate/index.js +28 -0
- package/dist/cjs/FormView/templates/ObjectFieldTemplate/styledComponents.js +18 -0
- package/dist/cjs/FormView/templates/ObjectFieldTemplate/types.js +2 -0
- package/dist/cjs/FormView/templates/index.js +45 -0
- package/dist/cjs/FormView/types/FormViewRegistryContext.js +2 -0
- package/dist/cjs/common/types/Field.js +2 -0
- package/dist/cjs/common/types/FieldInfo.js +2 -0
- package/dist/cjs/common/types/Form.js +2 -0
- package/dist/cjs/common/types/Schemas.js +2 -0
- package/dist/cjs/{sampleData → common/types}/index.js +3 -8
- package/dist/cjs/index.js +3 -9
- package/dist/cjs/utils/extractUiSchema.js +22 -0
- package/dist/cjs/utils/getEnums.js +10 -4
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/orderByUiSchema.js +3 -2
- package/dist/esm/{Form.js → Form/Form.js} +14 -18
- package/dist/esm/Form/FormRegistry.js +11 -0
- package/dist/esm/Form/components/Clickable.js +14 -0
- package/dist/esm/Form/components/ErrorMessage.js +3 -0
- package/dist/esm/Form/components/FieldInfo.js +100 -0
- package/dist/esm/Form/components/FieldInput.js +33 -0
- package/dist/esm/Form/components/Form.js +25 -0
- package/dist/esm/Form/components/Icon.js +4 -0
- package/dist/esm/Form/components/RequiredIndicator.js +6 -0
- package/dist/esm/Form/components/index.js +22 -0
- package/dist/esm/{fields → Form/fields/AnyField}/AnyField.js +5 -4
- package/dist/esm/Form/fields/AnyField/index.js +2 -0
- package/dist/esm/Form/fields/AnyField/styledComponents.js +6 -0
- package/dist/esm/{fields → Form/fields/ArrayField}/ArrayField.js +8 -10
- package/dist/esm/Form/fields/ArrayField/index.js +2 -0
- package/dist/esm/Form/fields/ArrayField/styledComponents.js +11 -0
- package/dist/esm/{fields → Form/fields/BooleanField}/BooleanField.js +5 -4
- package/dist/esm/Form/fields/BooleanField/index.js +2 -0
- package/dist/esm/Form/fields/BooleanField/styledComponents.js +12 -0
- package/dist/esm/Form/fields/DateField/DateField.js +13 -0
- package/dist/esm/Form/fields/DateField/index.js +2 -0
- package/dist/esm/Form/fields/DateField/styledComponents.js +6 -0
- package/dist/esm/{fields → Form/fields/FileUploadField}/FileUploadField.js +8 -7
- package/dist/esm/Form/fields/FileUploadField/FileUploadFieldInput.js +17 -0
- package/dist/esm/Form/fields/FileUploadField/index.js +5 -0
- package/dist/esm/Form/fields/FileUploadField/styledComponents.js +57 -0
- package/dist/esm/{fields → Form/fields/MultipleChoiceField}/MultipleChoiceField.js +6 -6
- package/dist/esm/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.js +35 -0
- package/dist/esm/Form/fields/MultipleChoiceField/index.js +5 -0
- package/dist/esm/Form/fields/MultipleChoiceField/styledComponents.js +11 -0
- package/dist/esm/{fields → Form/fields/NullField}/NullField.js +1 -1
- package/dist/esm/Form/fields/NullField/index.js +1 -0
- package/dist/esm/Form/fields/NumberField/NumberField.js +12 -0
- package/dist/esm/Form/fields/NumberField/index.js +2 -0
- package/dist/esm/Form/fields/NumberField/styledComponents.js +5 -0
- package/dist/esm/{fields → Form/fields/ObjectField}/ObjectField.js +36 -13
- package/dist/esm/Form/fields/ObjectField/ObjectFieldSection.js +12 -0
- package/dist/esm/Form/fields/ObjectField/index.js +5 -0
- package/dist/esm/Form/fields/ObjectField/styledComponents.js +34 -0
- package/dist/esm/Form/fields/RadioField/RadioField.js +12 -0
- package/dist/esm/Form/fields/RadioField/RadioFieldInput.js +7 -0
- package/dist/esm/Form/fields/RadioField/index.js +5 -0
- package/dist/esm/Form/fields/RadioField/styledComponents.js +24 -0
- package/dist/esm/{fields → Form/fields/SchemaField}/SchemaField.js +9 -10
- package/dist/esm/Form/fields/SchemaField/index.js +1 -0
- package/dist/esm/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.js +13 -0
- package/dist/esm/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.js +23 -0
- package/dist/esm/Form/fields/SearchableMultiTagSelectField/index.js +5 -0
- package/dist/esm/Form/fields/SearchableMultiTagSelectField/styledComponents.js +65 -0
- package/dist/esm/{fields → Form/fields/SearchableSelectField}/SearchableSelectField.js +14 -8
- package/dist/esm/Form/fields/SearchableSelectField/index.js +4 -0
- package/dist/esm/Form/fields/SearchableSelectField/styledComponents.js +47 -0
- package/dist/esm/Form/fields/StringField/StringField.js +35 -0
- package/dist/esm/Form/fields/StringField/index.js +1 -0
- package/dist/esm/Form/fields/StringField/styledComponents.js +6 -0
- package/dist/esm/Form/fields/TextAreaField/TextAreaField.js +12 -0
- package/dist/esm/Form/fields/TextAreaField/index.js +2 -0
- package/dist/esm/Form/fields/TextAreaField/styledComponents.js +11 -0
- package/dist/esm/Form/fields/ToggleField/ToggleField.js +12 -0
- package/dist/esm/Form/fields/ToggleField/ToggleFieldInput.js +7 -0
- package/dist/esm/Form/fields/ToggleField/index.js +5 -0
- package/dist/esm/Form/fields/ToggleField/styledComponents.js +50 -0
- package/dist/esm/Form/fields/index.js +55 -0
- package/dist/esm/Form/hooks/index.js +1 -0
- package/dist/esm/{hooks → Form/hooks}/useSetDefault.js +1 -1
- package/dist/esm/Form/index.js +10 -0
- package/dist/esm/Form/styles/common.js +208 -0
- package/dist/esm/Form/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +32 -0
- package/dist/esm/Form/templates/ArrayFieldTemplate/index.js +2 -0
- package/dist/esm/Form/templates/ArrayFieldTemplate/styledComponents.js +21 -0
- package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +30 -0
- package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/index.js +2 -0
- package/dist/esm/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.js +42 -0
- package/dist/esm/{templates → Form/templates/FieldTemplate}/FieldTemplate.js +6 -7
- package/dist/esm/Form/templates/FieldTemplate/index.js +1 -0
- package/dist/esm/Form/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +28 -0
- package/dist/esm/Form/templates/ObjectFieldTemplate/index.js +2 -0
- package/dist/esm/Form/templates/ObjectFieldTemplate/styledComponents.js +31 -0
- package/dist/esm/Form/templates/index.js +19 -0
- package/dist/esm/Form/types/index.js +1 -0
- package/dist/esm/{FormPdf.js → FormView/FormView.js} +7 -17
- package/dist/esm/FormView/FormViewRegistry.js +11 -0
- package/dist/esm/FormView/components/Field.js +10 -0
- package/dist/esm/FormView/components/Form.js +2 -0
- package/dist/esm/FormView/components/Icon.js +4 -0
- package/dist/esm/FormView/components/index.js +19 -0
- package/dist/esm/FormView/components/old_styledComponents.js +57 -0
- package/dist/esm/{pdfFields → FormView/fields}/AnyField.js +2 -2
- package/dist/esm/{pdfFields → FormView/fields}/ArrayField.js +3 -5
- package/dist/esm/{pdfFields → FormView/fields}/BooleanField.js +6 -7
- package/dist/esm/{pdfFields → FormView/fields}/EJSField.js +4 -6
- package/dist/esm/FormView/fields/FileUploadField.js +3 -0
- package/dist/esm/{pdfFields → FormView/fields}/MultipleChoiceField.js +5 -7
- package/dist/esm/{pdfFields → FormView/fields}/NullField.js +2 -2
- package/dist/esm/FormView/fields/ObjectField/ObjectField.js +53 -0
- package/dist/esm/FormView/fields/ObjectField/ObjectFieldSection.js +7 -0
- package/dist/esm/FormView/fields/ObjectField/index.js +5 -0
- package/dist/esm/FormView/fields/ObjectField/styledComponents.js +3 -0
- package/dist/esm/{pdfFields → FormView/fields}/SchemaField.js +10 -11
- package/dist/esm/{pdfFields/SearchMultiTagSelectField.js → FormView/fields/SearchableMultiTagSelectField.js} +4 -6
- package/dist/esm/{pdfFields → FormView/fields}/SearchableSelectField.js +3 -3
- package/dist/esm/{pdfFields → FormView/fields}/StringField.js +4 -6
- package/dist/esm/{pdfFields → FormView/fields}/TextAreaField.js +3 -5
- package/dist/esm/FormView/fields/index.js +44 -0
- package/dist/esm/FormView/index.js +3 -0
- package/dist/esm/FormView/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +16 -0
- package/dist/esm/FormView/templates/ArrayFieldTemplate/index.js +2 -0
- package/dist/esm/FormView/templates/ArrayFieldTemplate/styledComponents.js +11 -0
- package/dist/esm/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.js +2 -0
- package/dist/esm/FormView/templates/CollapsibleObjectFieldTemplate/index.js +1 -0
- package/dist/esm/FormView/templates/FieldTemplate/FieldTemplate.js +14 -0
- package/dist/esm/FormView/templates/FieldTemplate/index.js +1 -0
- package/dist/esm/FormView/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +16 -0
- package/dist/esm/FormView/templates/ObjectFieldTemplate/index.js +2 -0
- package/dist/esm/FormView/templates/ObjectFieldTemplate/styledComponents.js +11 -0
- package/dist/esm/FormView/templates/index.js +19 -0
- package/dist/esm/common/types/Schemas.js +1 -0
- package/dist/esm/common/types/index.js +3 -0
- package/dist/esm/index.js +2 -8
- package/dist/esm/utils/extractUiSchema.js +18 -0
- package/dist/esm/utils/getEnums.js +9 -3
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/orderByUiSchema.js +3 -2
- package/dist/types/Form/Form.d.ts +2 -0
- package/dist/types/Form/FormRegistry.d.ts +3 -0
- package/dist/types/Form/components/Clickable.d.ts +14 -0
- package/dist/types/Form/components/ErrorMessage.d.ts +6 -0
- package/dist/types/Form/components/FieldInfo.d.ts +8 -0
- package/dist/types/Form/components/FieldInput.d.ts +9 -0
- package/dist/types/Form/components/Form.d.ts +5 -0
- package/dist/types/Form/components/Icon.d.ts +1 -0
- package/dist/types/Form/components/RequiredIndicator.d.ts +1 -0
- package/dist/types/Form/components/index.d.ts +210 -0
- package/dist/types/Form/fields/AnyField/AnyField.d.ts +2 -0
- package/dist/types/Form/fields/AnyField/index.d.ts +2 -0
- package/dist/types/Form/fields/AnyField/styledComponents.d.ts +1 -0
- package/dist/types/Form/fields/ArrayField/ArrayField.d.ts +2 -0
- package/dist/types/Form/fields/ArrayField/index.d.ts +2 -0
- package/dist/types/Form/fields/ArrayField/styledComponents.d.ts +21 -0
- package/dist/types/Form/fields/BooleanField/BooleanField.d.ts +2 -0
- package/dist/types/Form/fields/BooleanField/index.d.ts +2 -0
- package/dist/types/Form/fields/BooleanField/styledComponents.d.ts +1 -0
- package/dist/types/Form/fields/DateField/DateField.d.ts +2 -0
- package/dist/types/Form/fields/DateField/index.d.ts +2 -0
- package/dist/types/Form/fields/DateField/styledComponents.d.ts +1 -0
- package/dist/types/Form/fields/FileUploadField/FileUploadField.d.ts +2 -0
- package/dist/types/Form/fields/FileUploadField/FileUploadFieldInput.d.ts +25 -0
- package/dist/types/Form/fields/FileUploadField/index.d.ts +17 -0
- package/dist/types/Form/fields/FileUploadField/styledComponents.d.ts +11 -0
- package/dist/types/Form/fields/MultipleChoiceField/MultipleChoiceField.d.ts +2 -0
- package/dist/types/Form/fields/MultipleChoiceField/MultipleChoiceFieldInput.d.ts +17 -0
- package/dist/types/Form/fields/MultipleChoiceField/index.d.ts +22 -0
- package/dist/types/Form/fields/MultipleChoiceField/styledComponents.d.ts +16 -0
- package/dist/types/Form/fields/NullField/NullField.d.ts +2 -0
- package/dist/types/Form/fields/NullField/index.d.ts +1 -0
- package/dist/types/Form/fields/NumberField/NumberField.d.ts +2 -0
- package/dist/types/Form/fields/NumberField/index.d.ts +2 -0
- package/dist/types/Form/fields/NumberField/styledComponents.d.ts +1 -0
- package/dist/types/Form/fields/ObjectField/ObjectField.d.ts +2 -0
- package/dist/types/Form/fields/ObjectField/ObjectFieldSection.d.ts +3 -0
- package/dist/types/Form/fields/ObjectField/index.d.ts +27 -0
- package/dist/types/Form/fields/ObjectField/styledComponents.d.ts +21 -0
- package/dist/types/Form/fields/ObjectField/types.d.ts +17 -0
- package/dist/types/Form/fields/RadioField/RadioField.d.ts +2 -0
- package/dist/types/Form/fields/RadioField/RadioFieldInput.d.ts +11 -0
- package/dist/types/Form/fields/RadioField/index.d.ts +20 -0
- package/dist/types/Form/fields/RadioField/styledComponents.d.ts +14 -0
- package/dist/types/Form/fields/SchemaField/SchemaField.d.ts +2 -0
- package/dist/types/Form/fields/SchemaField/index.d.ts +1 -0
- package/dist/types/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectField.d.ts +2 -0
- package/dist/types/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.d.ts +9 -0
- package/dist/types/Form/fields/SearchableMultiTagSelectField/index.d.ts +19 -0
- package/dist/types/Form/fields/SearchableMultiTagSelectField/styledComponents.d.ts +13 -0
- package/dist/types/Form/fields/SearchableSelectField/SearchableSelectField.d.ts +2 -0
- package/dist/types/Form/fields/SearchableSelectField/index.d.ts +2 -0
- package/dist/types/Form/fields/SearchableSelectField/styledComponents.d.ts +22 -0
- package/dist/types/Form/fields/SearchableSelectField/types.d.ts +25 -0
- package/dist/types/Form/fields/StringField/StringField.d.ts +2 -0
- package/dist/types/Form/fields/StringField/index.d.ts +1 -0
- package/dist/types/Form/fields/StringField/styledComponents.d.ts +1 -0
- package/dist/types/Form/fields/TextAreaField/TextAreaField.d.ts +2 -0
- package/dist/types/Form/fields/TextAreaField/index.d.ts +2 -0
- package/dist/types/Form/fields/TextAreaField/styledComponents.d.ts +5 -0
- package/dist/types/Form/fields/ToggleField/ToggleField.d.ts +2 -0
- package/dist/types/Form/fields/ToggleField/ToggleFieldInput.d.ts +6 -0
- package/dist/types/Form/fields/ToggleField/index.d.ts +13 -0
- package/dist/types/Form/fields/ToggleField/styledComponents.d.ts +7 -0
- package/dist/types/Form/fields/index.d.ts +164 -0
- package/dist/types/Form/hooks/index.d.ts +1 -0
- package/dist/types/{hooks → Form/hooks}/useSetDefault.d.ts +1 -1
- package/dist/types/Form/index.d.ts +11 -0
- package/dist/types/Form/styles/common.d.ts +6 -0
- package/dist/types/{pdfTemplates → Form/templates/ArrayFieldTemplate}/ArrayFieldTemplate.d.ts +1 -1
- package/dist/types/Form/templates/ArrayFieldTemplate/index.d.ts +2 -0
- package/dist/types/Form/templates/ArrayFieldTemplate/styledComponents.d.ts +28 -0
- package/dist/types/Form/templates/ArrayFieldTemplate/types.d.ts +11 -0
- package/dist/types/{pdfTemplates → Form/templates/CollapsibleObjectFieldTemplate}/CollapsibleObjectFieldTemplate.d.ts +1 -1
- package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/index.d.ts +2 -0
- package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/styledComponents.d.ts +29 -0
- package/dist/types/Form/templates/CollapsibleObjectFieldTemplate/types.d.ts +9 -0
- package/dist/types/{pdfTemplates → Form/templates/FieldTemplate}/FieldTemplate.d.ts +1 -1
- package/dist/types/Form/templates/FieldTemplate/index.d.ts +1 -0
- package/dist/types/Form/templates/FieldTemplate/types.d.ts +11 -0
- package/dist/types/{pdfTemplates → Form/templates/ObjectFieldTemplate}/ObjectFieldTemplate.d.ts +1 -1
- package/dist/types/Form/templates/ObjectFieldTemplate/index.d.ts +2 -0
- package/dist/types/Form/templates/ObjectFieldTemplate/styledComponents.d.ts +25 -0
- package/dist/types/Form/templates/ObjectFieldTemplate/types.d.ts +8 -0
- package/dist/types/Form/templates/index.d.ts +52 -0
- package/dist/types/Form/types/FormRegistryContext.d.ts +20 -0
- package/dist/types/Form/types/index.d.ts +1 -0
- package/dist/types/FormView/FormView.d.ts +4 -0
- package/dist/types/FormView/FormViewRegistry.d.ts +3 -0
- package/dist/types/FormView/components/Field.d.ts +3 -0
- package/dist/types/FormView/components/Form.d.ts +1 -0
- package/dist/types/FormView/components/Icon.d.ts +1 -0
- package/dist/types/FormView/components/index.d.ts +53 -0
- package/dist/types/FormView/components/old_styledComponents.d.ts +32 -0
- package/dist/types/FormView/fields/AnyField.d.ts +2 -0
- package/dist/types/FormView/fields/ArrayField.d.ts +2 -0
- package/dist/types/FormView/fields/BooleanField.d.ts +2 -0
- package/dist/types/FormView/fields/DateField.d.ts +2 -0
- package/dist/types/FormView/fields/EJSField.d.ts +2 -0
- package/dist/types/FormView/fields/FileUploadField.d.ts +2 -0
- package/dist/types/FormView/fields/MultipleChoiceField.d.ts +2 -0
- package/dist/types/FormView/fields/NullField.d.ts +2 -0
- package/dist/types/FormView/fields/NumberField.d.ts +2 -0
- package/dist/types/FormView/fields/ObjectField/ObjectField.d.ts +2 -0
- package/dist/types/FormView/fields/ObjectField/ObjectFieldSection.d.ts +7 -0
- package/dist/types/FormView/fields/ObjectField/index.d.ts +8 -0
- package/dist/types/FormView/fields/ObjectField/styledComponents.d.ts +2 -0
- package/dist/types/FormView/fields/RadioField.d.ts +2 -0
- package/dist/types/FormView/fields/SchemaField.d.ts +2 -0
- package/dist/types/FormView/fields/SearchableMultiTagSelectField.d.ts +2 -0
- package/dist/types/FormView/fields/SearchableSelectField.d.ts +2 -0
- package/dist/types/FormView/fields/StringField.d.ts +2 -0
- package/dist/types/FormView/fields/TextAreaField.d.ts +2 -0
- package/dist/types/FormView/fields/ToggleField.d.ts +2 -0
- package/dist/types/FormView/fields/index.d.ts +12 -0
- package/dist/types/FormView/index.d.ts +3 -0
- package/dist/types/{templates → FormView/templates/ArrayFieldTemplate}/ArrayFieldTemplate.d.ts +1 -1
- package/dist/types/FormView/templates/ArrayFieldTemplate/index.d.ts +2 -0
- package/dist/types/FormView/templates/ArrayFieldTemplate/styledComponents.d.ts +10 -0
- package/dist/types/FormView/templates/ArrayFieldTemplate/types.d.ts +11 -0
- package/dist/types/FormView/templates/CollapsibleObjectFieldTemplate/CollapsibleObjectFieldTemplate.d.ts +1 -0
- package/dist/types/FormView/templates/CollapsibleObjectFieldTemplate/index.d.ts +1 -0
- package/dist/types/{templates → FormView/templates/FieldTemplate}/FieldTemplate.d.ts +1 -1
- package/dist/types/FormView/templates/FieldTemplate/index.d.ts +1 -0
- package/dist/types/FormView/templates/FieldTemplate/types.d.ts +11 -0
- package/dist/types/{templates → FormView/templates/ObjectFieldTemplate}/ObjectFieldTemplate.d.ts +1 -1
- package/dist/types/FormView/templates/ObjectFieldTemplate/index.d.ts +2 -0
- package/dist/types/FormView/templates/ObjectFieldTemplate/styledComponents.d.ts +10 -0
- package/dist/types/FormView/templates/ObjectFieldTemplate/types.d.ts +8 -0
- package/dist/types/FormView/templates/index.d.ts +21 -0
- package/dist/types/FormView/types/FormViewRegistryContext.d.ts +19 -0
- package/dist/types/{FileUploadContext.d.ts → common/FileUploadContext.d.ts} +2 -2
- package/dist/types/common/types/Field.d.ts +20 -0
- package/dist/types/common/types/FieldInfo.d.ts +11 -0
- package/dist/types/common/types/Form.d.ts +28 -0
- package/dist/types/common/types/Schemas.d.ts +88 -0
- package/dist/types/common/types/index.d.ts +3 -0
- package/dist/types/index.d.ts +1 -8
- package/dist/types/utils/createValidationSchema.d.ts +10 -1
- package/dist/types/utils/extractUiSchema.d.ts +9 -0
- package/dist/types/utils/getEnums.d.ts +6 -2
- package/dist/types/utils/getTitleAndDescription.d.ts +3 -3
- package/dist/types/utils/getTypes.d.ts +2 -2
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/orderByUiSchema.d.ts +2 -1
- package/dist/types/utils/resolveSchema.d.ts +1 -1
- package/dist/types/utils/solveReferences.d.ts +2 -2
- package/package.json +22 -10
- package/dist/cjs/Form.js +0 -79
- package/dist/cjs/Form.stories.js +0 -230
- package/dist/cjs/Form.test.js +0 -13
- package/dist/cjs/FormEditor.js +0 -47
- package/dist/cjs/FormEditor.stories.js +0 -12
- package/dist/cjs/FormPdf.js +0 -78
- package/dist/cjs/FormPdf.stories.js +0 -134
- package/dist/cjs/FormPdf.test.js +0 -15
- package/dist/cjs/fields/DateField.js +0 -15
- package/dist/cjs/fields/RadioField.js +0 -15
- package/dist/cjs/fields/SearchMultiTagSelectField.js +0 -18
- package/dist/cjs/fields/StringField.js +0 -38
- package/dist/cjs/fields/index.js +0 -32
- package/dist/cjs/fields/stories/AnyField.stories.js +0 -73
- package/dist/cjs/fields/stories/ArrayField.stories.js +0 -218
- package/dist/cjs/fields/stories/BooleanField.stories.js +0 -30
- package/dist/cjs/fields/stories/DateField.stories.js +0 -28
- package/dist/cjs/fields/stories/FileUploadField.stories.js +0 -63
- package/dist/cjs/fields/stories/MultipleChoiceField.stories.js +0 -80
- package/dist/cjs/fields/stories/NullField.stories.js +0 -32
- package/dist/cjs/fields/stories/NumberField.stories.js +0 -27
- package/dist/cjs/fields/stories/ObjectField.stories.js +0 -88
- package/dist/cjs/fields/stories/RadioField.stories.js +0 -36
- package/dist/cjs/fields/stories/SchemaField.stories.js +0 -95
- package/dist/cjs/fields/stories/SearchMultiTagSelectField.stories.js +0 -52
- package/dist/cjs/fields/stories/StringField.stories.js +0 -69
- package/dist/cjs/fields/stories/TextAreaField.stories.js +0 -28
- package/dist/cjs/fields/stories/ToggleField.stories.js +0 -28
- package/dist/cjs/formEditorSchemas.js +0 -195
- package/dist/cjs/hooks/__tests__/useExtractUiSchema.test.js +0 -47
- package/dist/cjs/hooks/__tests__/useSetDefault.test.js +0 -67
- package/dist/cjs/hooks/useExtractUiSchema.js +0 -27
- package/dist/cjs/pdfFields/NumberField.js +0 -12
- package/dist/cjs/pdfFields/SearchMultiTagSelectField.js +0 -16
- package/dist/cjs/pdfFields/index.js +0 -32
- package/dist/cjs/pdfFields/types.js +0 -13
- package/dist/cjs/pdfTemplates/ArrayFieldTemplate.js +0 -20
- package/dist/cjs/pdfTemplates/CollapsibleObjectFieldTemplate.js +0 -24
- package/dist/cjs/pdfTemplates/FieldTemplate.js +0 -19
- package/dist/cjs/pdfTemplates/ObjectFieldTemplate.js +0 -22
- package/dist/cjs/sampleData/ageFieldDefinition.js +0 -8
- package/dist/cjs/sampleData/collapsibleSchema.js +0 -30
- package/dist/cjs/sampleData/completeSchema.js +0 -351
- package/dist/cjs/sampleData/conditionsSchema.js +0 -85
- package/dist/cjs/sampleData/ejsSchema.js +0 -28
- package/dist/cjs/sampleData/fileUpload.js +0 -43
- package/dist/cjs/sampleData/generatedSchema.js +0 -22
- package/dist/cjs/sampleData/multipleChoiceSchema.js +0 -134
- package/dist/cjs/sampleData/pdfProExampleSchema.js +0 -188
- package/dist/cjs/sampleData/refDefSchema.js +0 -301
- package/dist/cjs/sampleData/requiredInputSchema.js +0 -70
- package/dist/cjs/sampleData/simpleData.js +0 -20
- package/dist/cjs/setupTests.js +0 -7
- package/dist/cjs/styledComponents.js +0 -640
- package/dist/cjs/templates/CollapsibleObjectFieldTemplate.js +0 -34
- package/dist/cjs/utils/__tests/createInitialValues.test.js +0 -106
- package/dist/cjs/utils/__tests/createValidationSchema.test.js +0 -946
- package/dist/cjs/utils/__tests/deepOverlap.test.js +0 -43
- package/dist/cjs/utils/__tests/getEnums.test.js +0 -61
- package/dist/cjs/utils/__tests/getTitleAndDescription.test.js +0 -55
- package/dist/cjs/utils/__tests/getTypes.test.js +0 -64
- package/dist/cjs/utils/__tests/hasReferences.test.js +0 -102
- package/dist/cjs/utils/__tests/mergeSchemas.test.js +0 -42
- package/dist/cjs/utils/__tests/orderByUiSchema.test.js +0 -65
- package/dist/cjs/utils/__tests/resolveSchema.test.js +0 -118
- package/dist/cjs/utils/__tests/solveReferences.test.js +0 -58
- package/dist/cjs/utils/__tests/testSchemas.js +0 -102
- package/dist/cjs/utils/hasReferences.js +0 -15
- package/dist/esm/Form.stories.js +0 -222
- package/dist/esm/Form.test.js +0 -11
- package/dist/esm/FormEditor.js +0 -20
- package/dist/esm/FormEditor.stories.js +0 -9
- package/dist/esm/FormPdf.stories.js +0 -130
- package/dist/esm/FormPdf.test.js +0 -13
- package/dist/esm/fields/DateField.js +0 -11
- package/dist/esm/fields/RadioField.js +0 -11
- package/dist/esm/fields/SearchMultiTagSelectField.js +0 -14
- package/dist/esm/fields/StringField.js +0 -34
- package/dist/esm/fields/TextAreaField.js +0 -11
- package/dist/esm/fields/ToggleField.js +0 -11
- package/dist/esm/fields/index.js +0 -16
- package/dist/esm/fields/stories/AnyField.stories.js +0 -70
- package/dist/esm/fields/stories/ArrayField.stories.js +0 -215
- package/dist/esm/fields/stories/BooleanField.stories.js +0 -27
- package/dist/esm/fields/stories/DateField.stories.js +0 -25
- package/dist/esm/fields/stories/FileUploadField.stories.js +0 -57
- package/dist/esm/fields/stories/MultipleChoiceField.stories.js +0 -77
- package/dist/esm/fields/stories/NullField.stories.js +0 -29
- package/dist/esm/fields/stories/NumberField.stories.js +0 -24
- package/dist/esm/fields/stories/ObjectField.stories.js +0 -85
- package/dist/esm/fields/stories/RadioField.stories.js +0 -33
- package/dist/esm/fields/stories/SchemaField.stories.js +0 -92
- package/dist/esm/fields/stories/SearchMultiTagSelectField.stories.js +0 -49
- package/dist/esm/fields/stories/StringField.stories.js +0 -66
- package/dist/esm/fields/stories/TextAreaField.stories.js +0 -25
- package/dist/esm/fields/stories/ToggleField.stories.js +0 -25
- package/dist/esm/formEditorSchemas.js +0 -192
- package/dist/esm/hooks/__tests__/useExtractUiSchema.test.js +0 -45
- package/dist/esm/hooks/__tests__/useSetDefault.test.js +0 -65
- package/dist/esm/hooks/index.js +0 -2
- package/dist/esm/hooks/useExtractUiSchema.js +0 -23
- package/dist/esm/pdfFields/NumberField.js +0 -8
- package/dist/esm/pdfFields/ObjectField.js +0 -45
- package/dist/esm/pdfFields/index.js +0 -16
- package/dist/esm/pdfFields/types.js +0 -10
- package/dist/esm/pdfTemplates/ArrayFieldTemplate.js +0 -16
- package/dist/esm/pdfTemplates/CollapsibleObjectFieldTemplate.js +0 -20
- package/dist/esm/pdfTemplates/FieldTemplate.js +0 -15
- package/dist/esm/pdfTemplates/ObjectFieldTemplate.js +0 -18
- package/dist/esm/pdfTemplates/index.js +0 -4
- package/dist/esm/sampleData/ageFieldDefinition.js +0 -5
- package/dist/esm/sampleData/collapsibleSchema.js +0 -27
- package/dist/esm/sampleData/completeSchema.js +0 -348
- package/dist/esm/sampleData/conditionsSchema.js +0 -82
- package/dist/esm/sampleData/ejsSchema.js +0 -25
- package/dist/esm/sampleData/fileUpload.js +0 -40
- package/dist/esm/sampleData/generatedSchema.js +0 -19
- package/dist/esm/sampleData/index.js +0 -8
- package/dist/esm/sampleData/multipleChoiceSchema.js +0 -131
- package/dist/esm/sampleData/pdfProExampleSchema.js +0 -185
- package/dist/esm/sampleData/refDefSchema.js +0 -298
- package/dist/esm/sampleData/requiredInputSchema.js +0 -67
- package/dist/esm/sampleData/simpleData.js +0 -17
- package/dist/esm/setupTests.js +0 -5
- package/dist/esm/styledComponents.js +0 -599
- package/dist/esm/templates/ArrayFieldTemplate.js +0 -34
- package/dist/esm/templates/CollapsibleObjectFieldTemplate.js +0 -30
- package/dist/esm/templates/ObjectFieldTemplate.js +0 -28
- package/dist/esm/templates/index.js +0 -4
- package/dist/esm/utils/__tests/createInitialValues.test.js +0 -104
- package/dist/esm/utils/__tests/createValidationSchema.test.js +0 -944
- package/dist/esm/utils/__tests/deepOverlap.test.js +0 -41
- package/dist/esm/utils/__tests/getEnums.test.js +0 -59
- package/dist/esm/utils/__tests/getTitleAndDescription.test.js +0 -53
- package/dist/esm/utils/__tests/getTypes.test.js +0 -62
- package/dist/esm/utils/__tests/hasReferences.test.js +0 -100
- package/dist/esm/utils/__tests/mergeSchemas.test.js +0 -40
- package/dist/esm/utils/__tests/orderByUiSchema.test.js +0 -63
- package/dist/esm/utils/__tests/resolveSchema.test.js +0 -116
- package/dist/esm/utils/__tests/solveReferences.test.js +0 -56
- package/dist/esm/utils/__tests/testSchemas.js +0 -99
- package/dist/esm/utils/hasReferences.js +0 -12
- package/dist/types/Form.d.ts +0 -4
- package/dist/types/Form.stories.d.ts +0 -19
- package/dist/types/Form.test.d.ts +0 -1
- package/dist/types/FormEditor.d.ts +0 -8
- package/dist/types/FormEditor.stories.d.ts +0 -6
- package/dist/types/FormPdf.d.ts +0 -6
- package/dist/types/FormPdf.stories.d.ts +0 -11
- package/dist/types/FormPdf.test.d.ts +0 -1
- package/dist/types/fields/AnyField.d.ts +0 -3
- package/dist/types/fields/ArrayField.d.ts +0 -3
- package/dist/types/fields/BooleanField.d.ts +0 -3
- package/dist/types/fields/DateField.d.ts +0 -3
- package/dist/types/fields/FileUploadField.d.ts +0 -3
- package/dist/types/fields/MultipleChoiceField.d.ts +0 -3
- package/dist/types/fields/NullField.d.ts +0 -3
- package/dist/types/fields/NumberField.d.ts +0 -3
- package/dist/types/fields/ObjectField.d.ts +0 -3
- package/dist/types/fields/RadioField.d.ts +0 -3
- package/dist/types/fields/SchemaField.d.ts +0 -3
- package/dist/types/fields/SearchMultiTagSelectField.d.ts +0 -3
- package/dist/types/fields/SearchableSelectField.d.ts +0 -3
- package/dist/types/fields/StringField.d.ts +0 -3
- package/dist/types/fields/TextAreaField.d.ts +0 -3
- package/dist/types/fields/ToggleField.d.ts +0 -3
- package/dist/types/fields/index.d.ts +0 -16
- package/dist/types/fields/stories/AnyField.stories.d.ts +0 -5
- package/dist/types/fields/stories/ArrayField.stories.d.ts +0 -8
- package/dist/types/fields/stories/BooleanField.stories.d.ts +0 -5
- package/dist/types/fields/stories/DateField.stories.d.ts +0 -5
- package/dist/types/fields/stories/FileUploadField.stories.d.ts +0 -15
- package/dist/types/fields/stories/MultipleChoiceField.stories.d.ts +0 -6
- package/dist/types/fields/stories/NullField.stories.d.ts +0 -5
- package/dist/types/fields/stories/NumberField.stories.d.ts +0 -5
- package/dist/types/fields/stories/ObjectField.stories.d.ts +0 -5
- package/dist/types/fields/stories/RadioField.stories.d.ts +0 -5
- package/dist/types/fields/stories/SchemaField.stories.d.ts +0 -1730
- package/dist/types/fields/stories/SearchMultiTagSelectField.stories.d.ts +0 -5
- package/dist/types/fields/stories/StringField.stories.d.ts +0 -7
- package/dist/types/fields/stories/TextAreaField.stories.d.ts +0 -5
- package/dist/types/fields/stories/ToggleField.stories.d.ts +0 -5
- package/dist/types/formEditorSchemas.d.ts +0 -3
- package/dist/types/hooks/index.d.ts +0 -2
- package/dist/types/hooks/useExtractUiSchema.d.ts +0 -8
- package/dist/types/pdfFields/AnyField.d.ts +0 -3
- package/dist/types/pdfFields/ArrayField.d.ts +0 -3
- package/dist/types/pdfFields/BooleanField.d.ts +0 -3
- package/dist/types/pdfFields/DateField.d.ts +0 -3
- package/dist/types/pdfFields/EJSField.d.ts +0 -3
- package/dist/types/pdfFields/MultipleChoiceField.d.ts +0 -3
- package/dist/types/pdfFields/NullField.d.ts +0 -3
- package/dist/types/pdfFields/NumberField.d.ts +0 -3
- package/dist/types/pdfFields/ObjectField.d.ts +0 -3
- package/dist/types/pdfFields/RadioField.d.ts +0 -3
- package/dist/types/pdfFields/SchemaField.d.ts +0 -3
- package/dist/types/pdfFields/SearchMultiTagSelectField.d.ts +0 -3
- package/dist/types/pdfFields/SearchableSelectField.d.ts +0 -3
- package/dist/types/pdfFields/StringField.d.ts +0 -3
- package/dist/types/pdfFields/TextAreaField.d.ts +0 -3
- package/dist/types/pdfFields/ToggleField.d.ts +0 -3
- package/dist/types/pdfFields/index.d.ts +0 -16
- package/dist/types/pdfFields/types.d.ts +0 -10
- package/dist/types/pdfTemplates/index.d.ts +0 -4
- package/dist/types/sampleData/ageFieldDefinition.d.ts +0 -2
- package/dist/types/sampleData/collapsibleSchema.d.ts +0 -3
- package/dist/types/sampleData/completeSchema.d.ts +0 -4
- package/dist/types/sampleData/conditionsSchema.d.ts +0 -3
- package/dist/types/sampleData/ejsSchema.d.ts +0 -6
- package/dist/types/sampleData/fileUpload.d.ts +0 -7
- package/dist/types/sampleData/generatedSchema.d.ts +0 -2
- package/dist/types/sampleData/index.d.ts +0 -8
- package/dist/types/sampleData/multipleChoiceSchema.d.ts +0 -9
- package/dist/types/sampleData/pdfProExampleSchema.d.ts +0 -21
- package/dist/types/sampleData/refDefSchema.d.ts +0 -3
- package/dist/types/sampleData/requiredInputSchema.d.ts +0 -3
- package/dist/types/sampleData/simpleData.d.ts +0 -7
- package/dist/types/setupTests.d.ts +0 -1
- package/dist/types/styledComponents.d.ts +0 -275
- package/dist/types/templates/CollapsibleObjectFieldTemplate.d.ts +0 -3
- package/dist/types/templates/index.d.ts +0 -4
- package/dist/types/types.d.ts +0 -337
- package/dist/types/utils/__tests/testSchemas.d.ts +0 -5
- package/dist/types/utils/hasReferences.d.ts +0 -2
- /package/dist/cjs/{types.js → Form/fields/ObjectField/types.js} +0 -0
- /package/dist/cjs/{pdfFields → FormView/fields}/DateField.js +0 -0
- /package/dist/cjs/{fields → FormView/fields}/NumberField.js +0 -0
- /package/dist/cjs/{pdfFields → FormView/fields}/RadioField.js +0 -0
- /package/dist/cjs/{pdfFields → FormView/fields}/ToggleField.js +0 -0
- /package/dist/cjs/{FileUploadContext.js → common/FileUploadContext.js} +0 -0
- /package/dist/cjs/{fields/types.js → common/constants.js} +0 -0
- /package/dist/esm/{types.js → Form/fields/ObjectField/types.js} +0 -0
- /package/dist/{types/hooks/__tests__/useExtractUiSchema.test.d.ts → esm/Form/fields/SearchableSelectField/types.js} +0 -0
- /package/dist/{types/hooks/__tests__/useSetDefault.test.d.ts → esm/Form/templates/ArrayFieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/createInitialValues.test.d.ts → esm/Form/templates/CollapsibleObjectFieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/createValidationSchema.test.d.ts → esm/Form/templates/FieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/deepOverlap.test.d.ts → esm/Form/templates/ObjectFieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/getEnums.test.d.ts → esm/Form/types/FormRegistryContext.js} +0 -0
- /package/dist/esm/{pdfFields → FormView/fields}/DateField.js +0 -0
- /package/dist/esm/{fields → FormView/fields}/NumberField.js +0 -0
- /package/dist/esm/{pdfFields → FormView/fields}/RadioField.js +0 -0
- /package/dist/esm/{pdfFields → FormView/fields}/ToggleField.js +0 -0
- /package/dist/{types/utils/__tests/getTitleAndDescription.test.d.ts → esm/FormView/templates/ArrayFieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/getTypes.test.d.ts → esm/FormView/templates/FieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/hasReferences.test.d.ts → esm/FormView/templates/ObjectFieldTemplate/types.js} +0 -0
- /package/dist/{types/utils/__tests/mergeSchemas.test.d.ts → esm/FormView/types/FormViewRegistryContext.js} +0 -0
- /package/dist/esm/{FileUploadContext.js → common/FileUploadContext.js} +0 -0
- /package/dist/esm/{fields/types.js → common/constants.js} +0 -0
- /package/dist/{types/utils/__tests/orderByUiSchema.test.d.ts → esm/common/types/Field.js} +0 -0
- /package/dist/{types/utils/__tests/resolveSchema.test.d.ts → esm/common/types/FieldInfo.js} +0 -0
- /package/dist/{types/utils/__tests/solveReferences.test.d.ts → esm/common/types/Form.js} +0 -0
- /package/dist/types/{fields/types.d.ts → common/constants.d.ts} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
import { readableColor } from "polished";
|
|
3
|
+
export const FileUploadFieldFileUploadButton = styled.button `
|
|
4
|
+
background-color: ${(props) => props.theme.intent.none};
|
|
5
|
+
color: ${(props) => readableColor(props.theme.intent.none)};
|
|
6
|
+
padding: ${(props) => `${props.theme.spacing.s} ${props.theme.spacing.xl}`};
|
|
7
|
+
border: none;
|
|
8
|
+
border-radius: ${(props) => props.theme.borderRadius.none};
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
11
|
+
font-size: ${(props) => props.theme.typography.size.base};
|
|
12
|
+
`;
|
|
13
|
+
export const FileUploadFieldHiddenFileInput = styled.input `
|
|
14
|
+
display: none;
|
|
15
|
+
`;
|
|
16
|
+
export const FileUploadFieldProgressBarContainer = styled.div `
|
|
17
|
+
width: 7.5rem;
|
|
18
|
+
height: ${(props) => props.theme.spacing.xl};
|
|
19
|
+
border-radius: ${(props) => props.theme.strokeWidth.thick};
|
|
20
|
+
background-color: ${(props) => props.theme.background.input};
|
|
21
|
+
position: relative;
|
|
22
|
+
margin-left: ${(props) => props.theme.spacing.s};
|
|
23
|
+
`;
|
|
24
|
+
export const FileUploadFieldProgressBar = styled.div `
|
|
25
|
+
width: ${(props) => props.$progress}%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
background-color: ${(props) => props.theme.neutral[500]};
|
|
28
|
+
border-radius: ${(props) => props.theme.strokeWidth.thick};
|
|
29
|
+
transition: width 0.2s ease;
|
|
30
|
+
`;
|
|
31
|
+
export const FileUploadFieldProgressText = styled.span `
|
|
32
|
+
position: absolute;
|
|
33
|
+
top: 50%;
|
|
34
|
+
left: 50%;
|
|
35
|
+
transform: translate(-50%, -50%);
|
|
36
|
+
color: ${(props) => props.theme.neutral[200]};
|
|
37
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
38
|
+
font-weight: ${(props) => props.theme.typography.weight.bold};
|
|
39
|
+
`;
|
|
40
|
+
export const FileUploadFieldFileItemContainer = styled.div `
|
|
41
|
+
margin-bottom: ${(props) => props.theme.spacing.s};
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
`;
|
|
45
|
+
export const FileUploadFieldRemoveButton = styled.button `
|
|
46
|
+
margin-left: ${(props) => props.theme.spacing.s};
|
|
47
|
+
background-color: transparent;
|
|
48
|
+
border: none;
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
`;
|
|
51
|
+
export const FileUploadFieldFileInfoText = styled.span `
|
|
52
|
+
margin-left: ${(props) => props.theme.spacing.s};
|
|
53
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
54
|
+
font-size: ${(props) => props.theme.typography.size.base};
|
|
55
|
+
color: ${(props) => props.theme.text.default};
|
|
56
|
+
`;
|
|
57
|
+
export const FileUploadFieldContainer = styled.div ``;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useMemo } from "react";
|
|
3
|
-
import { FormRegistry } from "../Form";
|
|
4
|
-
import { useExtractUiSchema, useSetDefault } from "../hooks";
|
|
5
|
-
import { getEnums } from "../utils/getEnums";
|
|
6
3
|
import { getIn, useFormikContext } from "formik";
|
|
4
|
+
import { extractUiSchema, getEnums } from "../../../utils";
|
|
5
|
+
import { useSetDefault } from "../../hooks";
|
|
6
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
7
7
|
export const MultipleChoiceField = (props) => {
|
|
8
|
-
const { templates: { FieldTemplate }, components: {
|
|
8
|
+
const { templates: { FieldTemplate }, components: { MultipleChoiceFieldInput }, } = useContext(FormRegistry);
|
|
9
9
|
useSetDefault(props);
|
|
10
10
|
const { name, uiSchema, schema } = props;
|
|
11
|
-
const { props: inputProps, style } =
|
|
11
|
+
const { props: inputProps, style } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
|
|
12
12
|
const enums = useMemo(() => getEnums(props), [props]);
|
|
13
13
|
const { values } = useFormikContext();
|
|
14
14
|
const value = getIn(values, name);
|
|
@@ -24,5 +24,5 @@ export const MultipleChoiceField = (props) => {
|
|
|
24
24
|
return { "data-fjsf-string": name };
|
|
25
25
|
}
|
|
26
26
|
})();
|
|
27
|
-
return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsx(
|
|
27
|
+
return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsx(MultipleChoiceFieldInput, { inputProps: inputProps, name: name, enums: enums, style: style, value: value, form: form }) }));
|
|
28
28
|
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { getStyle } from "../../../utils/getStyle";
|
|
4
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
5
|
+
import { EnumsTypes } from "../../../utils";
|
|
6
|
+
export const MultipleChoiceFieldInput = ({ inputProps, name, className, enums, style, value, form, }) => {
|
|
7
|
+
const { components: { MultipleChoiceFieldContainer, MultipleChoiceFieldElement, MultipleChoiceFieldInputElement, MultipleChoiceFieldLabel, }, } = useContext(FormRegistry);
|
|
8
|
+
const isMultiSelect = enums.type === EnumsTypes.MULTI_SELECT;
|
|
9
|
+
const currentValue = isMultiSelect
|
|
10
|
+
? Array.isArray(value)
|
|
11
|
+
? value
|
|
12
|
+
: []
|
|
13
|
+
: value;
|
|
14
|
+
const isChecked = (optionValue) => {
|
|
15
|
+
if (isMultiSelect && Array.isArray(currentValue)) {
|
|
16
|
+
return currentValue.includes(optionValue);
|
|
17
|
+
}
|
|
18
|
+
return currentValue === optionValue;
|
|
19
|
+
};
|
|
20
|
+
const handleChange = (optionValue) => {
|
|
21
|
+
if (isMultiSelect && Array.isArray(currentValue)) {
|
|
22
|
+
const newValue = isChecked(optionValue)
|
|
23
|
+
? currentValue.filter((v) => v !== optionValue)
|
|
24
|
+
: [...currentValue, optionValue];
|
|
25
|
+
form?.setFieldValue(name, newValue);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
form?.setFieldValue(name, optionValue);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return (_jsx(MultipleChoiceFieldContainer, { className: className, style: getStyle(style ?? ""), children: enums.values.map((v) => {
|
|
32
|
+
const optionValue = v.const;
|
|
33
|
+
return (_jsxs(MultipleChoiceFieldElement, { "data-fjsf-enum-value": optionValue, children: [_jsx(MultipleChoiceFieldInputElement, { ...inputProps, name: name, type: isMultiSelect ? "checkbox" : "radio", value: optionValue !== undefined ? optionValue.toString() : "", checked: isChecked(optionValue), onChange: () => handleChange(optionValue) }), _jsx(MultipleChoiceFieldLabel, { children: v.title })] }, optionValue !== undefined ? optionValue.toString() : "undefined"));
|
|
34
|
+
}) }));
|
|
35
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MultipleChoiceFieldInput } from "./MultipleChoiceFieldInput";
|
|
2
|
+
import * as styledComponents from "./styledComponents";
|
|
3
|
+
export * as fields from "./MultipleChoiceField";
|
|
4
|
+
const components = { ...styledComponents, MultipleChoiceFieldInput };
|
|
5
|
+
export { components };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
import { RadioFieldContainer, RadioFieldElement, RadioFieldInputElement, RadioFieldLabel, } from "../RadioField/styledComponents";
|
|
3
|
+
import { commonCheckboxStyles, commonRadioStyles } from "../../styles/common";
|
|
4
|
+
export const MultipleChoiceFieldContainer = styled(RadioFieldContainer) `
|
|
5
|
+
${commonCheckboxStyles}
|
|
6
|
+
${commonRadioStyles}
|
|
7
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
8
|
+
`;
|
|
9
|
+
export const MultipleChoiceFieldElement = styled(RadioFieldElement) ``;
|
|
10
|
+
export const MultipleChoiceFieldInputElement = styled(RadioFieldInputElement) ``;
|
|
11
|
+
export const MultipleChoiceFieldLabel = styled(RadioFieldLabel) ``;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
-
import { FormRegistry } from "
|
|
3
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
4
4
|
export const NullField = (props) => {
|
|
5
5
|
const { templates: { FieldTemplate }, } = useContext(FormRegistry);
|
|
6
6
|
const { name, uiSchema } = props;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as fields from "./NullField";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { StringField } from "../StringField/StringField";
|
|
3
|
+
import { NumberFieldWrapper } from "./styledComponents";
|
|
4
|
+
export const NumberField = (props) => {
|
|
5
|
+
return (_jsx(NumberFieldWrapper, { children: _jsx(StringField, { ...props, uiSchema: {
|
|
6
|
+
...props.uiSchema,
|
|
7
|
+
"ui:props": {
|
|
8
|
+
...(props.uiSchema?.["ui:props"] || {}),
|
|
9
|
+
type: "number",
|
|
10
|
+
},
|
|
11
|
+
} }) }));
|
|
12
|
+
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useField, useFormikContext } from "formik";
|
|
3
3
|
import { useContext, useEffect, useMemo } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { getObjectFieldButton } from "../styledComponents";
|
|
9
|
-
import { orderByUiSchema } from "../utils";
|
|
4
|
+
import { orderByUiSchema, resolveSchema } from "../../../utils";
|
|
5
|
+
import { useSetDefault } from "../../hooks";
|
|
6
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
7
|
+
import { ObjectFieldButtonPurpose } from "./types";
|
|
10
8
|
const useObjectField = (name) => {
|
|
11
9
|
if (!name) {
|
|
12
10
|
const { values = {}, setValues } = useFormikContext();
|
|
@@ -16,7 +14,7 @@ const useObjectField = (name) => {
|
|
|
16
14
|
return { value, setValue };
|
|
17
15
|
};
|
|
18
16
|
export const ObjectField = (props) => {
|
|
19
|
-
const { fields: { SchemaField }, templates: { ObjectFieldTemplate, CollapsibleObjectFieldTemplate }, components: { ObjectFieldItem, ObjectFieldItemButtons }, hideUnmarkedAdditionalProperties, } = useContext(FormRegistry);
|
|
17
|
+
const { fields: { SchemaField }, templates: { ObjectFieldTemplate, CollapsibleObjectFieldTemplate }, components: { ObjectFieldItem, ObjectFieldItemButtons, ObjectFieldButton, ObjectFieldAddButton, ObjectFieldRemoveButton, ObjectFieldUpButton, ObjectFieldDownButton, ObjectFieldSection, }, hideUnmarkedAdditionalProperties, } = useContext(FormRegistry);
|
|
20
18
|
useSetDefault(props);
|
|
21
19
|
const { name, schema, uiSchema } = props;
|
|
22
20
|
const { value, setValue } = useObjectField(name);
|
|
@@ -38,12 +36,37 @@ export const ObjectField = (props) => {
|
|
|
38
36
|
? CollapsibleObjectFieldTemplate
|
|
39
37
|
: ObjectFieldTemplate;
|
|
40
38
|
const orderedProperties = orderByUiSchema(uiSchema?.["ui:order"], Object.keys(properties || {}));
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return (_jsx(
|
|
39
|
+
const getObjectFieldButton = ({ purpose, onClick, uiSchema, }) => {
|
|
40
|
+
switch (purpose) {
|
|
41
|
+
case ObjectFieldButtonPurpose.ADD:
|
|
42
|
+
return (_jsx(ObjectFieldAddButton, { ...(uiSchema?.["ui:addButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:addButtonOptions"]?.content ?? "+" }));
|
|
43
|
+
case ObjectFieldButtonPurpose.REMOVE:
|
|
44
|
+
return (_jsx(ObjectFieldRemoveButton, { ...(uiSchema?.["ui:removeButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:removeButtonOptions"]?.content ?? "-" }));
|
|
45
|
+
case ObjectFieldButtonPurpose.MOVE_UP:
|
|
46
|
+
return (_jsx(ObjectFieldUpButton, { ...(uiSchema?.["ui:upButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:upButtonOptions"]?.content ?? "↑" }));
|
|
47
|
+
case ObjectFieldButtonPurpose.MOVE_DOWN:
|
|
48
|
+
return (_jsx(ObjectFieldDownButton, { ...(uiSchema?.["ui:downButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:downButtonOptions"]?.content ?? "↓" }));
|
|
49
|
+
default:
|
|
50
|
+
return (_jsx(ObjectFieldButton, { ...(uiSchema?.["ui:customButtonOptions"]?.props ?? {}), onClick: onClick, children: uiSchema?.["ui:customButtonOptions"]?.content ?? "" }));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return (_jsxs(FieldTemplateComponent, { ...props, "data-fjsf-object": name, children: [orderedProperties
|
|
54
|
+
.map((child) => {
|
|
55
|
+
if (typeof child === "string") {
|
|
56
|
+
const childSchema = properties?.[child];
|
|
57
|
+
if (!childSchema)
|
|
58
|
+
return undefined;
|
|
59
|
+
return (_jsx(SchemaField, { required: required?.includes(child), name: name ? [name, child].join(".") : child, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child] }, child));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const { title, fields, collapsible } = child;
|
|
63
|
+
return (_jsx(ObjectFieldSection, { title: title, collapsible: collapsible, children: fields.map((child2) => {
|
|
64
|
+
const childSchema = properties?.[child2];
|
|
65
|
+
if (!childSchema)
|
|
66
|
+
return undefined;
|
|
67
|
+
return (_jsx(SchemaField, { name: name ? [name, child2].join(".") : child2, schema: typeof childSchema !== "boolean" ? childSchema : {}, uiSchema: uiSchema?.[child2] }, child2));
|
|
68
|
+
}) }, fields.join("_")));
|
|
69
|
+
}
|
|
47
70
|
})
|
|
48
71
|
.filter((x) => x), (!hideUnmarkedAdditionalProperties || additionalProperties) &&
|
|
49
72
|
Object.entries(additionalValues || {}).map(([childName]) => (_jsxs(ObjectFieldItem, { children: [_jsx(SchemaField, { required: required?.includes(childName), name: name ? [name, childName].join(".") : childName, schema: typeof schema.additionalProperties !== "boolean"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useState } from "react";
|
|
3
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
4
|
+
export const ObjectFieldSection = ({ title, collapsible, children, }) => {
|
|
5
|
+
const [collapsed, setCollapsed] = useState(collapsible);
|
|
6
|
+
const { components: { ObjectFieldSectionWrapper, ObjectFieldSectionTitle }, } = useContext(FormRegistry);
|
|
7
|
+
return (_jsxs(ObjectFieldSectionWrapper, { children: [_jsxs(ObjectFieldSectionTitle, { onClick: () => {
|
|
8
|
+
if (collapsible) {
|
|
9
|
+
setCollapsed((currentState) => !currentState);
|
|
10
|
+
}
|
|
11
|
+
}, children: [collapsible && (collapsed ? "▸" : "▾"), title] }), !collapsed && children] }));
|
|
12
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { styled } from "styled-components";
|
|
2
|
+
export const ObjectFieldList = styled.ul `
|
|
3
|
+
color: ${(props) => props.theme.text.default};
|
|
4
|
+
list-style-type: none;
|
|
5
|
+
padding: 0;
|
|
6
|
+
`;
|
|
7
|
+
export const ObjectFieldItem = styled.li `
|
|
8
|
+
color: ${(props) => props.theme.text.default};
|
|
9
|
+
display: flex;
|
|
10
|
+
`;
|
|
11
|
+
export const ObjectFieldItemButtons = styled.div `
|
|
12
|
+
display: flex;
|
|
13
|
+
margin: ${(props) => props.theme.spacing.s};
|
|
14
|
+
`;
|
|
15
|
+
export const ObjectFieldButton = styled.a `
|
|
16
|
+
background-color: ${(props) => props.theme.intent.none};
|
|
17
|
+
border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
|
|
18
|
+
color: ${(props) => props.theme.neutral[900]};
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
display: inline-block;
|
|
21
|
+
font-weight: ${(props) => props.theme.typography.weight.bold};
|
|
22
|
+
height: ${(props) => props.theme.spacing.l};
|
|
23
|
+
line-height: ${(props) => props.theme.spacing.l};
|
|
24
|
+
width: auto;
|
|
25
|
+
padding: ${(props) => `${props.theme.spacing.xs} ${props.theme.spacing.s}`};
|
|
26
|
+
text-align: center;
|
|
27
|
+
`;
|
|
28
|
+
export const ObjectFieldLineButton = styled(ObjectFieldButton) ``;
|
|
29
|
+
export const ObjectFieldUpButton = styled(ObjectFieldLineButton) ``;
|
|
30
|
+
export const ObjectFieldDownButton = styled(ObjectFieldLineButton) ``;
|
|
31
|
+
export const ObjectFieldRemoveButton = styled(ObjectFieldLineButton) ``;
|
|
32
|
+
export const ObjectFieldAddButton = styled(ObjectFieldButton) ``;
|
|
33
|
+
export const ObjectFieldSectionWrapper = styled.fieldset ``;
|
|
34
|
+
export const ObjectFieldSectionTitle = styled.legend ``;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useMemo } from "react";
|
|
3
|
+
import { extractUiSchema } from "../../../utils";
|
|
4
|
+
import { useSetDefault } from "../../hooks";
|
|
5
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
6
|
+
export const RadioField = (props) => {
|
|
7
|
+
const { templates: { FieldTemplate }, components: { RadioFieldInput }, } = useContext(FormRegistry);
|
|
8
|
+
useSetDefault(props);
|
|
9
|
+
const { name, uiSchema } = props;
|
|
10
|
+
const { label, props: inputProps } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
|
|
11
|
+
return (_jsx(FieldTemplate, { ...props, "data-fjsf-boolean": name, children: _jsx(RadioFieldInput, { inputProps: inputProps, label: label, name: name }) }));
|
|
12
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
4
|
+
export const RadioFieldInput = ({ label, inputProps, name, className, }) => {
|
|
5
|
+
const { components: { RadioFieldContainer, RadioFieldElement, RadioFieldInputElement, RadioFieldLabelTrue, RadioFieldLabelFalse, }, } = useContext(FormRegistry);
|
|
6
|
+
return (_jsxs(RadioFieldContainer, { className: className, children: [_jsxs(RadioFieldElement, { children: [_jsx(RadioFieldInputElement, { ...inputProps, name: name, type: "radio", value: "true" }), _jsx(RadioFieldLabelTrue, { children: label?.true ?? "true" })] }), _jsxs(RadioFieldElement, { children: [_jsx(RadioFieldInputElement, { ...inputProps, name: name, type: "radio", value: "false" }), _jsx(RadioFieldLabelFalse, { children: label?.false ?? "false" })] })] }));
|
|
7
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { styled } from "styled-components";
|
|
2
|
+
import { FieldInput } from "../../components/FieldInput";
|
|
3
|
+
import { commonRadioStyles } from "../../styles/common";
|
|
4
|
+
export const RadioFieldContainer = styled.div `
|
|
5
|
+
color: ${(props) => props.theme.text.default};
|
|
6
|
+
display: flex;
|
|
7
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
8
|
+
gap: ${(props) => props.theme.spacing.l};
|
|
9
|
+
${commonRadioStyles}
|
|
10
|
+
`;
|
|
11
|
+
export const RadioFieldElement = styled.label `
|
|
12
|
+
display: inline-flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
`;
|
|
15
|
+
export const RadioFieldInputElement = styled(FieldInput) `
|
|
16
|
+
margin: unset;
|
|
17
|
+
margin-top: ${(props) => props.theme.spacing.xxs};
|
|
18
|
+
`;
|
|
19
|
+
export const RadioFieldLabel = styled.span `
|
|
20
|
+
margin-left: ${(props) => props.theme.spacing.xs};
|
|
21
|
+
line-height: ${(props) => props.theme.typography.lineHeight.small};
|
|
22
|
+
`;
|
|
23
|
+
export const RadioFieldLabelTrue = styled(RadioFieldLabel) ``;
|
|
24
|
+
export const RadioFieldLabelFalse = styled(RadioFieldLabel) ``;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useMemo } from "react";
|
|
3
|
-
import { getSchemaType, solveReferences } from "
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { COMPONENT_TYPES } from "./types";
|
|
3
|
+
import { extractUiSchema, getSchemaType, solveReferences, } from "../../../utils";
|
|
4
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
5
|
+
import { COMPONENT_TYPES } from "../../../common/constants";
|
|
7
6
|
const useFieldComponent = (schema, uiSchema, fields) => {
|
|
8
|
-
const { field } =
|
|
7
|
+
const { field } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
|
|
9
8
|
if (typeof field === "function") {
|
|
10
9
|
return field;
|
|
11
10
|
}
|
|
@@ -16,10 +15,10 @@ const useFieldComponent = (schema, uiSchema, fields) => {
|
|
|
16
15
|
if (Array.isArray(schemaType)) {
|
|
17
16
|
schemaType = schemaType[0];
|
|
18
17
|
}
|
|
19
|
-
const
|
|
20
|
-
return
|
|
21
|
-
? fields[
|
|
22
|
-
:
|
|
18
|
+
const fieldName = COMPONENT_TYPES[schemaType || "any"];
|
|
19
|
+
return fieldName in fields
|
|
20
|
+
? fields[fieldName]
|
|
21
|
+
: () => (_jsxs("p", { style: { color: "red" }, children: ["!!! Unsupported field \"", fieldName, "\" !!!"] }));
|
|
23
22
|
};
|
|
24
23
|
export const SchemaField = (props) => {
|
|
25
24
|
const { schema, uiSchema } = props;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as fields from "./SchemaField";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useMemo } from "react";
|
|
3
|
+
import { extractUiSchema, getEnums } from "../../../utils";
|
|
4
|
+
import { useSetDefault } from "../../hooks";
|
|
5
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
6
|
+
export const SearchableMultiTagSelectField = (props) => {
|
|
7
|
+
const { templates: { FieldTemplate }, components: { SearchableMultiTagSelectFieldInput }, } = useContext(FormRegistry);
|
|
8
|
+
useSetDefault(props);
|
|
9
|
+
const { name, uiSchema } = props;
|
|
10
|
+
const { placeholder, emptySearchMessage, props: inputProps, } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
|
|
11
|
+
const enums = useMemo(() => getEnums(props), [props]);
|
|
12
|
+
return (_jsx(FieldTemplate, { ...props, "data-fjsf-array": name, children: _jsx(SearchableMultiTagSelectFieldInput, { ...inputProps, name: name, placeholder: placeholder, emptySearchMessage: emptySearchMessage, enums: enums }) }));
|
|
13
|
+
};
|
package/dist/esm/Form/fields/SearchableMultiTagSelectField/SearchableMultiTagSelectFieldInput.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useState } from "react";
|
|
3
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
4
|
+
export const SearchableMultiTagSelectFieldInput = ({ name, placeholder, enums, emptySearchMessage, closeElement, className, }) => {
|
|
5
|
+
const { components: { FieldInput, SearchableMultiTagSelectFieldBadge, SearchableMultiTagSelectFieldBadgeCloseElement, SearchableMultiTagSelectFieldBadgeContainer, SearchableMultiTagSelectFieldContainer, SearchableMultiTagSelectFieldInputElement, SearchableMultiTagSelectFieldOptionList, SearchableMultiTagSelectFieldOptionListItem, SearchableMultiTagSelectFieldOptionListWithoutItem, SearchableMultiTagSelectFieldSearchContainer, }, } = useContext(FormRegistry);
|
|
6
|
+
const [search, setSearch] = useState("");
|
|
7
|
+
const searchIncludedInEnum = () => {
|
|
8
|
+
const hasValue = enums?.values.map((value) => value.title.toLowerCase().includes(search.toLowerCase()));
|
|
9
|
+
return hasValue?.includes(true);
|
|
10
|
+
};
|
|
11
|
+
return (_jsx(FieldInput, { className: className, name: name, multiple: true, children: ({ field, form: { setFieldValue }, meta, }) => (_jsxs(SearchableMultiTagSelectFieldContainer, { className: className, children: [_jsx(FieldInput, { id: className, type: "hidden", ...field }), _jsxs(SearchableMultiTagSelectFieldSearchContainer, { children: [_jsx(SearchableMultiTagSelectFieldInputElement, { id: className + "_id", className: className, type: "text", onChange: (e) => {
|
|
12
|
+
setSearch(e.currentTarget.value);
|
|
13
|
+
}, placeholder: placeholder, value: search }), search.length > 0 && (_jsx(SearchableMultiTagSelectFieldOptionList, { children: searchIncludedInEnum() ? (enums?.values
|
|
14
|
+
.filter((item) => !(field.value ?? []).includes(item.const))
|
|
15
|
+
.filter((value) => value.title.toLowerCase().includes(search.toLowerCase()))
|
|
16
|
+
.map((option, index) => (_jsx(SearchableMultiTagSelectFieldOptionListItem, { value: option.const, onClick: () => {
|
|
17
|
+
setFieldValue(name, [
|
|
18
|
+
...new Set([...(field.value ?? []), option.const]),
|
|
19
|
+
]);
|
|
20
|
+
setSearch("");
|
|
21
|
+
}, children: option.title }, index)))) : (_jsx(SearchableMultiTagSelectFieldOptionListWithoutItem, { children: emptySearchMessage ?? "No match found" })) }))] }), _jsx(SearchableMultiTagSelectFieldBadgeContainer, { children: (field.value ?? []).map((value) => (_jsxs(SearchableMultiTagSelectFieldBadge, { children: [enums?.values.find((option) => option.const === value)
|
|
22
|
+
?.title, _jsx(SearchableMultiTagSelectFieldBadgeCloseElement, { onClick: () => setFieldValue(name, field.value.filter((v) => v !== value)), children: closeElement ?? "✕" })] }, value))) }), meta.touched && meta.error && (_jsx("div", { className: "error", children: meta.error }))] })) }));
|
|
23
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SearchableMultiTagSelectFieldInput } from "./SearchableMultiTagSelectFieldInput";
|
|
2
|
+
import * as styledComponents from "./styledComponents";
|
|
3
|
+
export * as fields from "./SearchableMultiTagSelectField";
|
|
4
|
+
const components = { ...styledComponents, SearchableMultiTagSelectFieldInput };
|
|
5
|
+
export { components };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { styled } from "styled-components";
|
|
2
|
+
import { FieldInput } from "../../components/FieldInput";
|
|
3
|
+
import { commonInputStyles } from "../../styles/common";
|
|
4
|
+
export const SearchableMultiTagSelectFieldContainer = styled.div `
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
8
|
+
${commonInputStyles}
|
|
9
|
+
`;
|
|
10
|
+
export const SearchableMultiTagSelectFieldSearchContainer = styled.div `
|
|
11
|
+
display: inline-block;
|
|
12
|
+
position: relative;
|
|
13
|
+
width: fit-content;
|
|
14
|
+
`;
|
|
15
|
+
export const SearchableMultiTagSelectFieldInputElement = styled(FieldInput) `
|
|
16
|
+
width: 100%;
|
|
17
|
+
`;
|
|
18
|
+
export const SearchableMultiTagSelectFieldBadgeContainer = styled.div `
|
|
19
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
20
|
+
margin: ${(props) => `${props.theme.spacing.xs} 0`};
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
gap: ${(props) => props.theme.strokeWidth.thin};
|
|
23
|
+
`;
|
|
24
|
+
export const SearchableMultiTagSelectFieldBadge = styled.span `
|
|
25
|
+
color: ${(props) => props.theme.background.input};
|
|
26
|
+
background: ${(props) => props.theme.text.default};
|
|
27
|
+
padding: ${(props) => `0 ${props.theme.spacing.xs} 0 ${props.theme.spacing.s}`};
|
|
28
|
+
border-radius: ${(props) => props.theme.borderRadius.none};
|
|
29
|
+
display: flex;
|
|
30
|
+
margin-right: ${(props) => props.theme.spacing.xs};
|
|
31
|
+
`;
|
|
32
|
+
export const SearchableMultiTagSelectFieldBadgeCloseElement = styled.span `
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
margin-left: ${(props) => props.theme.spacing.s};
|
|
35
|
+
font-size: ${(props) => props.theme.typography.size.s};
|
|
36
|
+
align-self: baseline;
|
|
37
|
+
font-family: ${(props) => props.theme.typography.fontFamily.base};
|
|
38
|
+
`;
|
|
39
|
+
export const SearchableMultiTagSelectFieldOptionList = styled.ul `
|
|
40
|
+
width: 100%;
|
|
41
|
+
padding: unset;
|
|
42
|
+
margin: unset;
|
|
43
|
+
border: ${(props) => `${props.theme.strokeWidth.thin} solid ${props.theme.border.default}`};
|
|
44
|
+
border-radius: ${(props) => props.theme.borderRadius.s};
|
|
45
|
+
position: absolute;
|
|
46
|
+
background: ${(props) => props.theme.background.default};
|
|
47
|
+
top: 100%;
|
|
48
|
+
z-index: 1000;
|
|
49
|
+
`;
|
|
50
|
+
export const SearchableMultiTagSelectFieldOptionListItem = styled.li `
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
list-style-type: none;
|
|
53
|
+
padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
|
|
54
|
+
height: ${(props) => props.theme.spacing.xl};
|
|
55
|
+
&:hover {
|
|
56
|
+
background: ${(props) => props.theme.background.input};
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
export const SearchableMultiTagSelectFieldOptionListWithoutItem = styled.li `
|
|
60
|
+
cursor: default;
|
|
61
|
+
color: ${(props) => props.theme.background.default};
|
|
62
|
+
list-style-type: none;
|
|
63
|
+
padding: ${(props) => `${props.theme.spacing.xxs} ${props.theme.spacing.xs}`};
|
|
64
|
+
height: ${(props) => props.theme.spacing.xl};
|
|
65
|
+
`;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect, useMemo, useRef, useState, } from "react";
|
|
3
3
|
import { useField } from "formik";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { extractUiSchema, getEnums } from "../../../utils";
|
|
5
|
+
import { useSetDefault } from "../../hooks";
|
|
6
|
+
import { FormRegistry } from "../../FormRegistry";
|
|
7
7
|
export const SearchableSelectField = (props) => {
|
|
8
|
-
const { templates: { FieldTemplate }, components: {
|
|
8
|
+
const { templates: { FieldTemplate }, components: { SearchableSelectFieldContainer, SearchableSelectFieldDropdownContainer, SearchableSelectFieldListOption, SearchableSelectFieldListExpand, SearchableSelectFieldNotFound, SearchableSelectFieldInputElement, SearchableSelectFieldClearButton, SearchableSelectFieldInputContainer, }, } = useContext(FormRegistry);
|
|
9
9
|
useSetDefault(props);
|
|
10
10
|
const ListOption = (props) => {
|
|
11
11
|
const { isActive, children, ...rest } = props;
|
|
@@ -19,10 +19,10 @@ export const SearchableSelectField = (props) => {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
}, [isActive]);
|
|
22
|
-
return (_jsx(
|
|
22
|
+
return (_jsx(SearchableSelectFieldListOption, { ref: ref, ...rest, children: children }));
|
|
23
23
|
};
|
|
24
24
|
const { name, uiSchema, schema, onChange, onSelect } = props;
|
|
25
|
-
const { props: inputProps, placeholder, clearButtonText, expandText, notFoundMessage, hoverColors = { backgroundColor: "", color: "" }, hideClearButton = false, dropdown, } =
|
|
25
|
+
const { props: inputProps, placeholder, clearButtonText, expandText, notFoundMessage, hoverColors = { backgroundColor: "", color: "" }, hideClearButton = false, dropdown, } = useMemo(() => extractUiSchema(uiSchema), [uiSchema]);
|
|
26
26
|
const dropdownOptions = {
|
|
27
27
|
show: false,
|
|
28
28
|
height: "",
|
|
@@ -116,7 +116,9 @@ export const SearchableSelectField = (props) => {
|
|
|
116
116
|
const fieldDataAttribute = schema.type === "string"
|
|
117
117
|
? { "data-fjsf-string": name }
|
|
118
118
|
: { "data-fjsf-number": name };
|
|
119
|
-
return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsxs(
|
|
119
|
+
return (_jsx(FieldTemplate, { ...props, ...fieldDataAttribute, children: _jsxs(SearchableSelectFieldContainer, { ref: containerRef, onBlur: handleBlur, children: [_jsxs(SearchableSelectFieldInputContainer, { children: [_jsx(SearchableSelectFieldInputElement, { ...inputProps, name: name, type: "text", placeholder: placeholder, value: searchTerm, onChange: handleSearchChange, onFocus: handleFocus }), searchTerm && !hideClearButton && (_jsx(SearchableSelectFieldClearButton, { onClick: handleClear, children: clearButtonText ?? "✕" }))] }), showOptions && (_jsxs(SearchableSelectFieldDropdownContainer, { role: "dropdown-list",
|
|
120
|
+
//ref={moreRef} //TODO
|
|
121
|
+
style: {
|
|
120
122
|
maxHeight: dropdownOptions.height,
|
|
121
123
|
width: dropdownOptions.width,
|
|
122
124
|
}, children: [displayedItems.length > 0 ? (displayedItems.map((item, index) => (_jsx(ListOption, { isActive: index === selectedItemIndex, className: index === selectedItemIndex ? "selected-item-active" : "", style: index === selectedItemIndex
|
|
@@ -124,5 +126,9 @@ export const SearchableSelectField = (props) => {
|
|
|
124
126
|
backgroundColor: hoverColors.backgroundColor,
|
|
125
127
|
color: hoverColors.color,
|
|
126
128
|
}
|
|
127
|
-
: {}, role: "filtered-list", onClick: () => handleSelect(item), onMouseDown: (e) => e.preventDefault(), children: item.title }, index)))) : (_jsx(
|
|
129
|
+
: {}, role: "filtered-list", onClick: () => handleSelect(item), onMouseDown: (e) => e.preventDefault(), children: item.title }, index)))) : (_jsx(SearchableSelectFieldNotFound, { onMouseDown: (e) => e.preventDefault(), children: notFoundMessage ?? "No match found" })), showMoreOption && (_jsx(SearchableSelectFieldListExpand
|
|
130
|
+
//ref={moreRef} //TODO
|
|
131
|
+
, {
|
|
132
|
+
//ref={moreRef} //TODO
|
|
133
|
+
onMouseDown: (e) => e.preventDefault(), onClick: loadMoreItems, children: expandText ?? "More..." }))] }))] }) }));
|
|
128
134
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { styled } from "styled-components";
|
|
2
|
+
import { FieldInput } from "../../components/FieldInput";
|
|
3
|
+
import { SearchableMultiTagSelectFieldSearchContainer, SearchableMultiTagSelectFieldOptionList, SearchableMultiTagSelectFieldOptionListItem, } from "../SearchableMultiTagSelectField/styledComponents";
|
|
4
|
+
export const SearchableSelectFieldContainer = styled(SearchableMultiTagSelectFieldSearchContainer) ``;
|
|
5
|
+
export const SearchableSelectFieldDropdownContainer = styled(SearchableMultiTagSelectFieldOptionList) `
|
|
6
|
+
overflow-y: auto;
|
|
7
|
+
overflow-x: auto;
|
|
8
|
+
max-height: 6rem;
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
`;
|
|
11
|
+
export const SearchableSelectFieldListOption = styled(SearchableMultiTagSelectFieldOptionListItem) `
|
|
12
|
+
cursor: default;
|
|
13
|
+
`;
|
|
14
|
+
export const SearchableSelectFieldListExpand = styled(SearchableMultiTagSelectFieldOptionListItem) `
|
|
15
|
+
text-decoration: underline;
|
|
16
|
+
&:hover {
|
|
17
|
+
background: none;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
export const SearchableSelectFieldNotFound = styled(SearchableMultiTagSelectFieldOptionListItem) `
|
|
21
|
+
cursor: default;
|
|
22
|
+
&:hover {
|
|
23
|
+
background: none;
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const SearchableSelectFieldInputElement = styled(FieldInput) `
|
|
27
|
+
width: 100%;
|
|
28
|
+
padding-right: ${(props) => props.theme.spacing.xxl};
|
|
29
|
+
text-overflow: ellipsis;
|
|
30
|
+
`;
|
|
31
|
+
export const SearchableSelectFieldClearButton = styled.span `
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
position: absolute;
|
|
34
|
+
right: ${(props) => props.theme.spacing.xs};
|
|
35
|
+
bottom: 0;
|
|
36
|
+
top: 0;
|
|
37
|
+
margin: auto;
|
|
38
|
+
background-color: ${(props) => props.theme.neutral[500]};
|
|
39
|
+
border-radius: ${(props) => props.theme.borderRadius.circle};
|
|
40
|
+
line-height: 1rem;
|
|
41
|
+
min-width: 1rem;
|
|
42
|
+
height: 1rem;
|
|
43
|
+
text-align: center;
|
|
44
|
+
`;
|
|
45
|
+
export const SearchableSelectFieldInputContainer = styled.div `
|
|
46
|
+
display: flex;
|
|
47
|
+
`;
|