@digigov/form 2.0.0-7d9a8d86 → 2.0.0-85c27c19
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/Field/FieldBase/index.js +72 -51
- package/Field/FieldBase.js.map +2 -2
- package/Field/FieldBaseContainer/index.js +4 -18
- package/Field/FieldBaseContainer.js.map +1 -1
- package/Field/FieldConditional/index.js +55 -40
- package/Field/FieldConditional.js.map +2 -2
- package/Field/index.js +67 -36
- package/Field/index.js.map +2 -2
- package/Field/types.d.ts +36 -3
- package/Field/utils/calculateField/index.js +27 -0
- package/{inputs/Input/__stories__/Default → Field/utils/calculateField}/package.json +1 -1
- package/Field/utils/calculateField.d.ts +2 -0
- package/Field/utils/calculateField.js.map +7 -0
- package/Field/utils/evaluateFieldWithConditions/index.js +26 -0
- package/Field/utils/evaluateFieldWithConditions/package.json +6 -0
- package/Field/utils/evaluateFieldWithConditions.d.ts +2 -0
- package/Field/utils/evaluateFieldWithConditions.js.map +7 -0
- package/Field/utils/index.d.ts +3 -0
- package/Field/utils/index.js +4 -95
- package/Field/utils/index.js.map +7 -0
- package/Field/utils/useField/index.js +51 -0
- package/{FormBuilder/FormBuilder → Field/utils/useField}/package.json +1 -1
- package/Field/utils/useField.d.ts +2 -0
- package/Field/utils/useField.js.map +7 -0
- package/FieldArray/FieldArray.stories/index.js +4 -2
- package/FieldArray/FieldArray.stories.d.ts +2 -2
- package/FieldArray/FieldArray.stories.js.map +2 -2
- package/FieldArray/__stories__/Default/index.js +15 -17
- package/FieldArray/__stories__/Default.d.ts +2 -2
- package/FieldArray/__stories__/Default.js.map +1 -1
- package/FieldArray/__stories__/WithExactLength/index.js +15 -17
- package/FieldArray/__stories__/WithExactLength.d.ts +2 -2
- package/FieldArray/__stories__/WithExactLength.js.map +1 -1
- package/FieldArray/index.js +50 -32
- package/FieldArray/index.js.map +2 -2
- package/FieldArray/index.test.d.ts +1 -0
- package/FieldObject/index.d.ts +1 -0
- package/FieldObject/index.js +41 -29
- package/FieldObject/index.js.map +2 -2
- package/Fieldset/FieldsetWithContext/index.js +12 -13
- package/Fieldset/FieldsetWithContext.js.map +1 -1
- package/Fieldset/index.js +4 -13
- package/Fieldset/index.js.map +1 -1
- package/Fieldset/types.d.ts +2 -0
- package/Form.stories.js.map +1 -1
- package/FormBuilder/FormBuilder.stories/index.js +2 -1
- package/FormBuilder/FormBuilder.stories.d.ts +1 -1
- package/FormBuilder/FormBuilder.stories.js.map +2 -2
- package/FormBuilder/__stories__/Default/index.js +21 -15
- package/FormBuilder/__stories__/Default.d.ts +2 -2
- package/FormBuilder/__stories__/Default.js.map +1 -1
- package/FormBuilder/index.d.ts +2 -1
- package/FormBuilder/index.js +10 -2
- package/FormBuilder/index.js.map +2 -2
- package/FormBuilder/index.test.d.ts +1 -0
- package/FormBuilder/scenarios.test.d.ts +88 -0
- package/FormContext/index.js +1 -1
- package/FormContext.js.map +1 -1
- package/MultiplicityField/MultiplicityField.stories/index.js +12 -6
- package/MultiplicityField/MultiplicityField.stories.d.ts +6 -6
- package/MultiplicityField/MultiplicityField.stories.js.map +2 -2
- package/MultiplicityField/__stories__/Default/index.js +15 -19
- package/MultiplicityField/__stories__/Default.d.ts +2 -2
- package/MultiplicityField/__stories__/Default.js.map +1 -1
- package/MultiplicityField/__stories__/PreviewDisplay/index.js +6 -27
- package/MultiplicityField/__stories__/PreviewDisplay.d.ts +2 -2
- package/MultiplicityField/__stories__/PreviewDisplay.js.map +2 -2
- package/MultiplicityField/__stories__/WithExactLength/index.js +15 -19
- package/MultiplicityField/__stories__/WithExactLength.d.ts +2 -2
- package/MultiplicityField/__stories__/WithExactLength.js.map +2 -2
- package/MultiplicityField/__stories__/WithMaxLength/index.js +15 -19
- package/MultiplicityField/__stories__/WithMaxLength.d.ts +2 -2
- package/MultiplicityField/__stories__/WithMaxLength.js.map +2 -2
- package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +15 -19
- package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +2 -2
- package/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +2 -2
- package/MultiplicityField/__stories__/WithMinLength/index.js +15 -19
- package/MultiplicityField/__stories__/WithMinLength.d.ts +2 -2
- package/MultiplicityField/__stories__/WithMinLength.js.map +2 -2
- package/MultiplicityField/add-objects/index.js +71 -39
- package/MultiplicityField/add-objects.d.ts +2 -1
- package/MultiplicityField/add-objects.js.map +2 -2
- package/MultiplicityField/index.d.ts +2 -19
- package/MultiplicityField/index.js +66 -59
- package/MultiplicityField/index.js.map +2 -2
- package/MultiplicityField/index.test.d.ts +1 -0
- package/MultiplicityField/types/index.js +1 -0
- package/{validators/validators.spec → MultiplicityField/types}/package.json +1 -1
- package/MultiplicityField/types.d.ts +19 -0
- package/MultiplicityField/types.js.map +7 -0
- package/Questions/Questions/index.js +21 -15
- package/Questions/Questions.js.map +2 -2
- package/Questions/Questions.stories/index.js +2 -1
- package/Questions/Questions.stories.d.ts +1 -1
- package/Questions/Questions.stories.js.map +2 -2
- package/Questions/QuestionsContext/index.js +2 -2
- package/Questions/QuestionsContext.js.map +1 -1
- package/Questions/Step/ReviewStep/index.js +20 -26
- package/Questions/Step/ReviewStep.js.map +1 -1
- package/Questions/Step/Step/index.js +24 -18
- package/Questions/Step/Step.js.map +2 -2
- package/Questions/Step/StepArrayReview/index.js +20 -25
- package/Questions/Step/StepArrayReview.js.map +1 -1
- package/Questions/Step/StepContext/index.js +3 -3
- package/Questions/Step/StepContext.js.map +1 -1
- package/Questions/Step/StepDescription/index.js +7 -12
- package/Questions/Step/StepDescription.js.map +1 -1
- package/Questions/Step/StepForm/index.js +16 -19
- package/Questions/Step/StepForm.js.map +1 -1
- package/Questions/Step/StepQuote/index.js +2 -4
- package/Questions/Step/StepQuote.js.map +1 -1
- package/Questions/Step/StepTitle/index.js +17 -15
- package/Questions/Step/StepTitle.d.ts +1 -0
- package/Questions/Step/StepTitle.js.map +2 -2
- package/Questions/Step/getAddMoreFields.js.map +1 -1
- package/Questions/Step/index.d.ts +0 -1
- package/Questions/Step/index.js +0 -1
- package/Questions/Step/index.js.map +2 -2
- package/Questions/Step/types.d.ts +2 -0
- package/Questions/__stories__/Default/index.js +31 -38
- package/Questions/__stories__/Default.d.ts +2 -2
- package/Questions/__stories__/Default.js.map +1 -1
- package/Questions/getNextStep/index.js +3 -1
- package/Questions/getNextStep.js.map +1 -1
- package/Questions/index.js +1 -1
- package/Questions/index.js.map +1 -1
- package/Questions/index.test.d.ts +1 -0
- package/Questions/types.d.ts +2 -0
- package/cjs/Field/FieldBase/index.js +95 -68
- package/cjs/Field/FieldBase.js.map +3 -3
- package/cjs/Field/FieldBaseContainer/index.js +33 -41
- package/cjs/Field/FieldBaseContainer.js.map +2 -2
- package/cjs/Field/FieldConditional/index.js +77 -56
- package/cjs/Field/FieldConditional.js.map +3 -3
- package/cjs/Field/index.js +89 -55
- package/cjs/Field/index.js.map +3 -3
- package/cjs/Field/types/index.js +14 -2
- package/cjs/Field/types.js.map +2 -2
- package/cjs/Field/utils/calculateField/index.js +50 -0
- package/cjs/Field/utils/calculateField.js.map +7 -0
- package/cjs/Field/utils/evaluateFieldWithConditions/index.js +49 -0
- package/cjs/Field/utils/evaluateFieldWithConditions.js.map +7 -0
- package/cjs/Field/utils/index.js +35 -121
- package/cjs/Field/utils/index.js.map +7 -0
- package/cjs/Field/utils/useField/index.js +74 -0
- package/cjs/Field/utils/useField.js.map +7 -0
- package/cjs/FieldArray/FieldArray.stories/index.js +30 -19
- package/cjs/FieldArray/FieldArray.stories.js.map +3 -3
- package/cjs/FieldArray/__stories__/Default/index.js +37 -33
- package/cjs/FieldArray/__stories__/Default.js.map +2 -2
- package/cjs/FieldArray/__stories__/WithExactLength/index.js +37 -33
- package/cjs/FieldArray/__stories__/WithExactLength.js.map +2 -2
- package/cjs/FieldArray/index.js +75 -51
- package/cjs/FieldArray/index.js.map +3 -3
- package/cjs/FieldObject/index.js +59 -44
- package/cjs/FieldObject/index.js.map +3 -3
- package/cjs/Fieldset/FieldsetWithContext/index.js +35 -30
- package/cjs/Fieldset/FieldsetWithContext.js.map +2 -2
- package/cjs/Fieldset/index.js +31 -34
- package/cjs/Fieldset/index.js.map +2 -2
- package/cjs/Fieldset/types/index.js +14 -2
- package/cjs/Fieldset/types.js.map +2 -2
- package/cjs/Form.stories/index.js +16 -6
- package/cjs/Form.stories.js.map +1 -1
- package/cjs/FormBuilder/FormBuilder.stories/index.js +27 -18
- package/cjs/FormBuilder/FormBuilder.stories.js.map +3 -3
- package/cjs/FormBuilder/__stories__/Default/index.js +43 -31
- package/cjs/FormBuilder/__stories__/Default.js.map +2 -2
- package/cjs/FormBuilder/index.js +24 -21
- package/cjs/FormBuilder/index.js.map +2 -2
- package/cjs/FormContext/index.js +14 -18
- package/cjs/FormContext.js.map +2 -2
- package/cjs/MultiplicityField/MultiplicityField.stories/index.js +42 -23
- package/cjs/MultiplicityField/MultiplicityField.stories.js.map +3 -3
- package/cjs/MultiplicityField/__stories__/Default/index.js +37 -35
- package/cjs/MultiplicityField/__stories__/Default.js.map +2 -2
- package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +32 -47
- package/cjs/MultiplicityField/__stories__/PreviewDisplay.js.map +3 -3
- package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +37 -35
- package/cjs/MultiplicityField/__stories__/WithExactLength.js.map +3 -3
- package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +37 -35
- package/cjs/MultiplicityField/__stories__/WithMaxLength.js.map +3 -3
- package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +37 -35
- package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +3 -3
- package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +37 -35
- package/cjs/MultiplicityField/__stories__/WithMinLength.js.map +3 -3
- package/cjs/MultiplicityField/add-objects/index.js +94 -59
- package/cjs/MultiplicityField/add-objects.js.map +3 -3
- package/cjs/MultiplicityField/index.js +90 -77
- package/cjs/MultiplicityField/index.js.map +3 -3
- package/cjs/MultiplicityField/types/index.js +16 -0
- package/cjs/MultiplicityField/types.js.map +7 -0
- package/cjs/Questions/Questions/index.js +42 -30
- package/cjs/Questions/Questions.js.map +2 -2
- package/cjs/Questions/Questions.stories/index.js +27 -18
- package/cjs/Questions/Questions.stories.js.map +3 -3
- package/cjs/Questions/QuestionsContext/index.js +15 -19
- package/cjs/Questions/QuestionsContext.js.map +1 -1
- package/cjs/Questions/Step/ReviewStep/index.js +43 -43
- package/cjs/Questions/Step/ReviewStep.js.map +2 -2
- package/cjs/Questions/Step/Step/index.js +45 -33
- package/cjs/Questions/Step/Step.js.map +2 -2
- package/cjs/Questions/Step/StepArrayReview/index.js +46 -45
- package/cjs/Questions/Step/StepArrayReview.js.map +2 -2
- package/cjs/Questions/Step/StepContext/index.js +16 -20
- package/cjs/Questions/Step/StepContext.js.map +1 -1
- package/cjs/Questions/Step/StepDescription/index.js +29 -28
- package/cjs/Questions/Step/StepDescription.js.map +2 -2
- package/cjs/Questions/Step/StepForm/index.js +41 -38
- package/cjs/Questions/Step/StepForm.js.map +2 -2
- package/cjs/Questions/Step/StepQuote/index.js +25 -21
- package/cjs/Questions/Step/StepQuote.js.map +2 -2
- package/cjs/Questions/Step/StepTitle/index.js +41 -33
- package/cjs/Questions/Step/StepTitle.js.map +3 -3
- package/cjs/Questions/Step/getAddMoreFields/index.js +16 -4
- package/cjs/Questions/Step/getAddMoreFields.js.map +1 -1
- package/cjs/Questions/Step/index.js +45 -28
- package/cjs/Questions/Step/index.js.map +3 -3
- package/cjs/Questions/Step/types/index.js +14 -2
- package/cjs/Questions/Step/types.js.map +2 -2
- package/cjs/Questions/__stories__/Default/index.js +59 -60
- package/cjs/Questions/__stories__/Default.js.map +2 -2
- package/cjs/Questions/getNextStep/index.js +19 -5
- package/cjs/Questions/getNextStep.js.map +1 -1
- package/cjs/Questions/index.js +19 -20
- package/cjs/Questions/index.js.map +1 -1
- package/cjs/Questions/types/index.js +14 -2
- package/cjs/Questions/types.js.map +2 -2
- package/cjs/index.js +180 -19
- package/cjs/index.js.map +4 -4
- package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +30 -19
- package/cjs/inputs/AutoCompleteInput/AutoComplete.stories.js.map +3 -3
- package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +46 -36
- package/cjs/inputs/AutoCompleteInput/__stories__/Default.js.map +3 -3
- package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +50 -38
- package/cjs/inputs/AutoCompleteInput/__stories__/Multiple.js.map +3 -3
- package/cjs/inputs/AutoCompleteInput/index.js +67 -42
- package/cjs/inputs/AutoCompleteInput/index.js.map +3 -3
- package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +33 -20
- package/cjs/inputs/Checkboxes/Checkboxes.stories.js.map +3 -3
- package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +35 -29
- package/cjs/inputs/Checkboxes/__stories__/Conditional.js.map +2 -2
- package/cjs/inputs/Checkboxes/__stories__/Default/index.js +58 -46
- package/cjs/inputs/Checkboxes/__stories__/Default.js.map +2 -2
- package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +59 -47
- package/cjs/inputs/Checkboxes/__stories__/WithDivider.js.map +2 -2
- package/cjs/inputs/Checkboxes/index.js +70 -62
- package/cjs/inputs/Checkboxes/index.js.map +3 -3
- package/cjs/inputs/DateInput/DateInput.stories/index.js +27 -18
- package/cjs/inputs/DateInput/DateInput.stories.js.map +3 -3
- package/cjs/inputs/DateInput/__stories__/Default/index.js +41 -32
- package/cjs/inputs/DateInput/__stories__/Default.js.map +3 -3
- package/cjs/inputs/DateInput/index.js +73 -60
- package/cjs/inputs/DateInput/index.js.map +3 -3
- package/cjs/inputs/FileInput/FileInput.stories/index.js +27 -18
- package/cjs/inputs/FileInput/FileInput.stories.js.map +3 -3
- package/cjs/inputs/FileInput/__stories__/Default/index.js +43 -29
- package/cjs/inputs/FileInput/__stories__/Default.js.map +2 -2
- package/cjs/inputs/FileInput/index.js +56 -42
- package/cjs/inputs/FileInput/index.js.map +2 -2
- package/cjs/inputs/ImageInput/ImageInput.stories/index.js +33 -20
- package/cjs/inputs/ImageInput/ImageInput.stories.js.map +3 -3
- package/cjs/inputs/ImageInput/__stories__/Default/index.js +35 -29
- package/cjs/inputs/ImageInput/__stories__/Default.js.map +2 -2
- package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +35 -29
- package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +2 -2
- package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +35 -29
- package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +2 -2
- package/cjs/inputs/ImageInput/index.js +72 -66
- package/cjs/inputs/ImageInput/index.js.map +2 -2
- package/cjs/inputs/Input/Input.stories/index.js +54 -27
- package/cjs/inputs/Input/Input.stories.js.map +3 -3
- package/cjs/inputs/Input/__stories__/AFM/index.js +44 -32
- package/cjs/inputs/Input/__stories__/AFM.js.map +2 -2
- package/cjs/inputs/Input/__stories__/Boolean/index.js +45 -33
- package/cjs/inputs/Input/__stories__/Boolean.js.map +2 -2
- package/cjs/inputs/Input/__stories__/IBAN/index.js +45 -33
- package/cjs/inputs/Input/__stories__/IBAN.js.map +2 -2
- package/cjs/inputs/Input/__stories__/Integer/index.js +57 -41
- package/cjs/inputs/Input/__stories__/Integer.js.map +2 -2
- package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +48 -36
- package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +2 -2
- package/cjs/inputs/Input/__stories__/MobilePhone/index.js +48 -36
- package/cjs/inputs/Input/__stories__/MobilePhone.js.map +2 -2
- package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +47 -35
- package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +2 -2
- package/cjs/inputs/Input/__stories__/PostalCode/index.js +45 -33
- package/cjs/inputs/Input/__stories__/PostalCode.js.map +2 -2
- package/cjs/inputs/Input/__stories__/String/index.js +64 -0
- package/cjs/inputs/Input/__stories__/String.js.map +7 -0
- package/cjs/inputs/Input/__stories__/TextWithLimit/index.js +64 -0
- package/cjs/inputs/Input/__stories__/TextWithLimit.js.map +7 -0
- package/cjs/inputs/Input/index.js +65 -53
- package/cjs/inputs/Input/index.js.map +2 -2
- package/cjs/inputs/Input/inputsInputScenarios/index.js +439 -0
- package/cjs/inputs/Input/inputsInputScenarios.js.map +7 -0
- package/cjs/inputs/Label/Label.stories/index.js +27 -18
- package/cjs/inputs/Label/Label.stories.js.map +3 -3
- package/cjs/inputs/Label/__stories__/Default/index.js +54 -36
- package/cjs/inputs/Label/__stories__/Default.js.map +3 -3
- package/cjs/inputs/Label/index.js +28 -28
- package/cjs/inputs/Label/index.js.map +3 -3
- package/cjs/inputs/OtpInput/OtpInput.stories/index.js +27 -18
- package/cjs/inputs/OtpInput/OtpInput.stories.js.map +3 -3
- package/cjs/inputs/OtpInput/__stories__/Default/index.js +35 -29
- package/cjs/inputs/OtpInput/__stories__/Default.js.map +2 -2
- package/cjs/inputs/OtpInput/index.js +118 -94
- package/cjs/inputs/OtpInput/index.js.map +3 -3
- package/cjs/inputs/Radio/Radio.stories/index.js +33 -20
- package/cjs/inputs/Radio/Radio.stories.js.map +3 -3
- package/cjs/inputs/Radio/__stories__/Conditional/index.js +35 -29
- package/cjs/inputs/Radio/__stories__/Conditional.js.map +2 -2
- package/cjs/inputs/Radio/__stories__/Default/index.js +62 -50
- package/cjs/inputs/Radio/__stories__/Default.js.map +2 -2
- package/cjs/inputs/Radio/__stories__/WithDivider/index.js +63 -51
- package/cjs/inputs/Radio/__stories__/WithDivider.js.map +2 -2
- package/cjs/inputs/Radio/index.js +61 -55
- package/cjs/inputs/Radio/index.js.map +3 -3
- package/cjs/inputs/Select/Select.stories/index.js +27 -18
- package/cjs/inputs/Select/Select.stories.js.map +3 -3
- package/cjs/inputs/Select/__stories__/Default/index.js +67 -55
- package/cjs/inputs/Select/__stories__/Default.js.map +2 -2
- package/cjs/inputs/Select/index.js +39 -30
- package/cjs/inputs/Select/index.js.map +2 -2
- package/cjs/inputs/index.js +30 -24
- package/cjs/inputs/index.js.map +1 -1
- package/cjs/inputs/inputsScenarios/index.js +540 -0
- package/cjs/inputs/inputsScenarios.js.map +7 -0
- package/cjs/internal/index.js +24 -77
- package/cjs/internal.js.map +2 -2
- package/cjs/lazy/index.js +81 -74
- package/cjs/lazy.js.map +3 -3
- package/cjs/locales/el/index.js +35 -0
- package/cjs/locales/el.js.map +7 -0
- package/cjs/registry/index.js +107 -88
- package/cjs/registry.js.map +2 -2
- package/cjs/types/index.js +20 -2
- package/cjs/types.js.map +2 -2
- package/cjs/utils/index.js +47 -34
- package/cjs/utils.js.map +3 -3
- package/cjs/validators/index.js +34 -30
- package/cjs/validators/index.js.map +3 -3
- package/cjs/validators/types/index.js +14 -2
- package/cjs/validators/types.js.map +1 -1
- package/cjs/validators/utils/afm/index.js +16 -4
- package/cjs/validators/utils/afm.js.map +1 -1
- package/cjs/validators/utils/file/index.js +25 -13
- package/cjs/validators/utils/file.js.map +2 -2
- package/cjs/validators/utils/iban/index.js +16 -4
- package/cjs/validators/utils/iban.js.map +1 -1
- package/cjs/validators/utils/image/index.js +18 -6
- package/cjs/validators/utils/image.js.map +1 -1
- package/cjs/validators/utils/index.js +52 -28
- package/cjs/validators/utils/index.js.map +1 -1
- package/cjs/validators/utils/int/index.js +16 -4
- package/cjs/validators/utils/int.js.map +1 -1
- package/cjs/validators/utils/number/index.js +16 -4
- package/cjs/validators/utils/number.js.map +1 -1
- package/cjs/validators/utils/otp/index.js +16 -4
- package/cjs/validators/utils/otp.js.map +1 -1
- package/cjs/validators/utils/phone/index.js +25 -6
- package/cjs/validators/utils/phone.js.map +2 -2
- package/cjs/validators/utils/postal_code/index.js +16 -4
- package/cjs/validators/utils/postal_code.js.map +1 -1
- package/cjs/validators/utils/text_limit/index.js +18 -6
- package/cjs/validators/utils/text_limit.js.map +1 -1
- package/cjs/validators/utils/uuid4/index.js +16 -4
- package/cjs/validators/utils/uuid4.js.map +1 -1
- package/index.d.ts +7 -1
- package/index.js +151 -3
- package/index.js.map +4 -4
- package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +4 -2
- package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +2 -2
- package/inputs/AutoCompleteInput/AutoComplete.stories.js.map +2 -2
- package/inputs/AutoCompleteInput/__stories__/Default/index.js +22 -18
- package/inputs/AutoCompleteInput/__stories__/Default.d.ts +2 -2
- package/inputs/AutoCompleteInput/__stories__/Default.js.map +2 -2
- package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +26 -20
- package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +3 -2
- package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +2 -2
- package/inputs/AutoCompleteInput/index.d.ts +1 -1
- package/inputs/AutoCompleteInput/index.js +45 -26
- package/inputs/AutoCompleteInput/index.js.map +3 -3
- package/inputs/AutoCompleteInput/index.test.d.ts +1 -0
- package/inputs/Checkboxes/Checkboxes.stories/index.js +6 -3
- package/inputs/Checkboxes/Checkboxes.stories.d.ts +3 -3
- package/inputs/Checkboxes/Checkboxes.stories.js.map +2 -2
- package/inputs/Checkboxes/__stories__/Conditional/index.js +13 -13
- package/inputs/Checkboxes/__stories__/Conditional.d.ts +2 -2
- package/inputs/Checkboxes/__stories__/Conditional.js.map +1 -1
- package/inputs/Checkboxes/__stories__/Default/index.js +36 -30
- package/inputs/Checkboxes/__stories__/Default.d.ts +2 -2
- package/inputs/Checkboxes/__stories__/Default.js.map +1 -1
- package/inputs/Checkboxes/__stories__/WithDivider/index.js +37 -31
- package/inputs/Checkboxes/__stories__/WithDivider.d.ts +2 -2
- package/inputs/Checkboxes/__stories__/WithDivider.js.map +1 -1
- package/inputs/Checkboxes/index.d.ts +1 -0
- package/inputs/Checkboxes/index.js +46 -44
- package/inputs/Checkboxes/index.js.map +2 -2
- package/inputs/Checkboxes/index.test.d.ts +1 -0
- package/inputs/DateInput/DateInput.stories/index.js +2 -1
- package/inputs/DateInput/DateInput.stories.d.ts +1 -1
- package/inputs/DateInput/DateInput.stories.js.map +2 -2
- package/inputs/DateInput/__stories__/Default/index.js +19 -16
- package/inputs/DateInput/__stories__/Default.d.ts +2 -2
- package/inputs/DateInput/__stories__/Default.js.map +2 -2
- package/inputs/DateInput/index.d.ts +2 -2
- package/inputs/DateInput/index.js +48 -41
- package/inputs/DateInput/index.js.map +3 -3
- package/inputs/DateInput/index.test.d.ts +1 -0
- package/inputs/FileInput/FileInput.stories/index.js +2 -1
- package/inputs/FileInput/FileInput.stories.d.ts +1 -1
- package/inputs/FileInput/FileInput.stories.js.map +2 -2
- package/inputs/FileInput/__stories__/Default/index.js +21 -13
- package/inputs/FileInput/__stories__/Default.d.ts +2 -2
- package/inputs/FileInput/__stories__/Default.js.map +1 -1
- package/inputs/FileInput/index.js +30 -22
- package/inputs/FileInput/index.js.map +2 -2
- package/inputs/FileInput/index.test.d.ts +1 -0
- package/inputs/ImageInput/ImageInput.stories/index.js +6 -3
- package/inputs/ImageInput/ImageInput.stories.d.ts +3 -3
- package/inputs/ImageInput/ImageInput.stories.js.map +2 -2
- package/inputs/ImageInput/__stories__/Default/index.js +13 -13
- package/inputs/ImageInput/__stories__/Default.d.ts +2 -2
- package/inputs/ImageInput/__stories__/Default.js.map +1 -1
- package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +13 -13
- package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +2 -2
- package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +1 -1
- package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +13 -13
- package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +2 -2
- package/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +1 -1
- package/inputs/ImageInput/index.js +47 -47
- package/inputs/ImageInput/index.js.map +2 -2
- package/inputs/ImageInput/index.test.d.ts +1 -0
- package/inputs/Input/Input.stories/index.js +20 -10
- package/inputs/Input/Input.stories.d.ts +10 -10
- package/inputs/Input/Input.stories.js.map +2 -2
- package/inputs/Input/__stories__/AFM/index.js +22 -16
- package/inputs/Input/__stories__/AFM.d.ts +2 -2
- package/inputs/Input/__stories__/AFM.js.map +1 -1
- package/inputs/Input/__stories__/Boolean/index.js +23 -17
- package/inputs/Input/__stories__/Boolean.d.ts +2 -2
- package/inputs/Input/__stories__/Boolean.js.map +1 -1
- package/inputs/Input/__stories__/IBAN/index.js +23 -17
- package/inputs/Input/__stories__/IBAN.d.ts +2 -2
- package/inputs/Input/__stories__/IBAN.js.map +1 -1
- package/inputs/Input/__stories__/Integer/index.js +35 -25
- package/inputs/Input/__stories__/Integer.d.ts +2 -2
- package/inputs/Input/__stories__/Integer.js.map +1 -1
- package/inputs/Input/__stories__/LandlineNumber/index.js +26 -20
- package/inputs/Input/__stories__/LandlineNumber.d.ts +2 -2
- package/inputs/Input/__stories__/LandlineNumber.js.map +1 -1
- package/inputs/Input/__stories__/MobilePhone/index.js +26 -20
- package/inputs/Input/__stories__/MobilePhone.d.ts +2 -2
- package/inputs/Input/__stories__/MobilePhone.js.map +1 -1
- package/inputs/Input/__stories__/PhoneNumber/index.js +25 -19
- package/inputs/Input/__stories__/PhoneNumber.d.ts +2 -2
- package/inputs/Input/__stories__/PhoneNumber.js.map +1 -1
- package/inputs/Input/__stories__/PostalCode/index.js +23 -17
- package/inputs/Input/__stories__/PostalCode.d.ts +2 -2
- package/inputs/Input/__stories__/PostalCode.js.map +1 -1
- package/inputs/Input/__stories__/String/index.js +31 -0
- package/inputs/Input/__stories__/String/package.json +6 -0
- package/inputs/Input/__stories__/String.d.ts +3 -0
- package/inputs/Input/__stories__/String.js.map +7 -0
- package/inputs/Input/__stories__/TextWithLimit/index.js +31 -0
- package/inputs/Input/__stories__/TextWithLimit/package.json +6 -0
- package/inputs/Input/__stories__/TextWithLimit.d.ts +3 -0
- package/inputs/Input/__stories__/TextWithLimit.js.map +7 -0
- package/inputs/Input/index.js +41 -35
- package/inputs/Input/index.js.map +1 -1
- package/inputs/Input/index.test.d.ts +1 -0
- package/inputs/Input/inputsInputScenarios/index.js +406 -0
- package/inputs/Input/inputsInputScenarios/package.json +6 -0
- package/inputs/Input/inputsInputScenarios.d.ts +57 -0
- package/inputs/Input/inputsInputScenarios.js.map +7 -0
- package/inputs/Label/Label.stories/index.js +2 -1
- package/inputs/Label/Label.stories.d.ts +1 -1
- package/inputs/Label/Label.stories.js.map +2 -2
- package/inputs/Label/__stories__/Default/index.js +32 -20
- package/inputs/Label/__stories__/Default.d.ts +2 -2
- package/inputs/Label/__stories__/Default.js.map +2 -2
- package/inputs/Label/index.d.ts +1 -1
- package/inputs/Label/index.js +4 -10
- package/inputs/Label/index.js.map +2 -2
- package/inputs/Label/index.test.d.ts +1 -0
- package/inputs/OtpInput/OtpInput.stories/index.js +2 -1
- package/inputs/OtpInput/OtpInput.stories.d.ts +1 -1
- package/inputs/OtpInput/OtpInput.stories.js.map +2 -2
- package/inputs/OtpInput/__stories__/Default/index.js +13 -13
- package/inputs/OtpInput/__stories__/Default.d.ts +2 -2
- package/inputs/OtpInput/__stories__/Default.js.map +1 -1
- package/inputs/OtpInput/index.d.ts +9 -2
- package/inputs/OtpInput/index.js +94 -77
- package/inputs/OtpInput/index.js.map +2 -2
- package/inputs/OtpInput/index.test.d.ts +1 -0
- package/inputs/Radio/Radio.stories/index.js +6 -3
- package/inputs/Radio/Radio.stories.d.ts +3 -3
- package/inputs/Radio/Radio.stories.js.map +2 -2
- package/inputs/Radio/__stories__/Conditional/index.js +13 -13
- package/inputs/Radio/__stories__/Conditional.d.ts +2 -2
- package/inputs/Radio/__stories__/Conditional.js.map +1 -1
- package/inputs/Radio/__stories__/Default/index.js +40 -34
- package/inputs/Radio/__stories__/Default.d.ts +2 -2
- package/inputs/Radio/__stories__/Default.js.map +1 -1
- package/inputs/Radio/__stories__/WithDivider/index.js +41 -35
- package/inputs/Radio/__stories__/WithDivider.d.ts +2 -2
- package/inputs/Radio/__stories__/WithDivider.js.map +1 -1
- package/inputs/Radio/index.d.ts +1 -0
- package/inputs/Radio/index.js +36 -36
- package/inputs/Radio/index.js.map +2 -2
- package/inputs/Radio/index.test.d.ts +1 -0
- package/inputs/Select/Select.stories/index.js +2 -1
- package/inputs/Select/Select.stories.d.ts +1 -1
- package/inputs/Select/Select.stories.js.map +2 -2
- package/inputs/Select/__stories__/Default/index.js +45 -39
- package/inputs/Select/__stories__/Default.d.ts +2 -2
- package/inputs/Select/__stories__/Default.js.map +1 -1
- package/inputs/Select/index.js +15 -12
- package/inputs/Select/index.js.map +1 -1
- package/inputs/Select/index.test.d.ts +1 -0
- package/inputs/index.js +9 -9
- package/inputs/index.js.map +2 -2
- package/inputs/inputsScenarios/index.js +506 -0
- package/inputs/inputsScenarios/package.json +6 -0
- package/inputs/inputsScenarios.d.ts +338 -0
- package/inputs/inputsScenarios.js.map +7 -0
- package/internal/index.js +4 -45
- package/internal.d.ts +2 -31
- package/internal.js.map +2 -2
- package/lazy/index.js +60 -57
- package/lazy.d.ts +33 -30
- package/lazy.js.map +2 -2
- package/locales/el/index.js +6 -0
- package/{Questions/index.spec → locales/el}/package.json +1 -1
- package/locales/el.d.ts +2 -0
- package/locales/el.js.map +7 -0
- package/package.json +7 -7
- package/registry/index.js +26 -11
- package/registry.d.ts +7 -1
- package/registry.js.map +2 -2
- package/src/Field/FieldBase.tsx +1 -0
- package/src/Field/FieldConditional.tsx +1 -1
- package/src/Field/index.tsx +19 -3
- package/src/Field/types.tsx +64 -3
- package/src/Field/utils/calculateField.ts +49 -0
- package/src/Field/utils/evaluateFieldWithConditions.ts +30 -0
- package/src/Field/utils/index.ts +59 -0
- package/src/Field/utils/useField.ts +54 -0
- package/src/FieldArray/FieldArray.stories.js +2 -2
- package/src/FieldArray/index.test.tsx +24 -0
- package/src/FieldArray/index.tsx +11 -3
- package/src/FieldObject/index.tsx +10 -3
- package/src/Fieldset/types.tsx +3 -1
- package/src/FormBuilder/FormBuilder.stories.js +1 -1
- package/src/FormBuilder/index.test.tsx +20 -0
- package/src/FormBuilder/index.tsx +7 -2
- package/src/FormBuilder/scenarios.test.tsx +1864 -0
- package/src/MultiplicityField/MultiplicityField.stories.js +6 -6
- package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +2 -2
- package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
- package/src/MultiplicityField/add-objects.tsx +23 -9
- package/src/MultiplicityField/index.test.tsx +40 -0
- package/src/MultiplicityField/index.tsx +9 -26
- package/src/MultiplicityField/types.ts +22 -0
- package/src/Questions/Questions.stories.js +1 -1
- package/src/Questions/Step/StepTitle.tsx +1 -0
- package/src/Questions/Step/index.ts +0 -1
- package/src/Questions/Step/types.tsx +1 -0
- package/src/Questions/__snapshots__/index.spec.tsx.snap +67 -586
- package/src/Questions/index.mdx +4 -4
- package/src/Questions/index.spec.tsx +3 -3
- package/src/Questions/index.test.tsx +20 -0
- package/src/Questions/types.tsx +1 -0
- package/src/{FormBuilder/FormBuilder.tsx → index.tsx} +21 -9
- package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +2 -2
- package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +26 -18
- package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +27 -19
- package/src/inputs/AutoCompleteInput/index.mdx +8 -2
- package/src/inputs/AutoCompleteInput/index.test.tsx +24 -0
- package/src/inputs/AutoCompleteInput/index.tsx +22 -12
- package/src/inputs/Checkboxes/Checkboxes.stories.js +3 -3
- package/src/inputs/Checkboxes/index.test.tsx +28 -0
- package/src/inputs/Checkboxes/index.tsx +28 -25
- package/src/inputs/DateInput/DateInput.stories.js +1 -1
- package/src/inputs/DateInput/__stories__/Default.tsx +21 -15
- package/src/inputs/DateInput/index.test.tsx +20 -0
- package/src/inputs/DateInput/index.tsx +2 -2
- package/src/inputs/FileInput/FileInput.stories.js +1 -1
- package/src/inputs/FileInput/index.test.tsx +20 -0
- package/src/inputs/ImageInput/ImageInput.stories.js +3 -3
- package/src/inputs/ImageInput/index.test.tsx +28 -0
- package/src/inputs/Input/Input.stories.js +10 -10
- package/src/inputs/Input/__stories__/{Default.tsx → String.tsx} +2 -2
- package/src/inputs/Input/__stories__/{TextWithCharacterLimit.tsx → TextWithLimit.tsx} +2 -2
- package/src/inputs/Input/index.mdx +4 -4
- package/src/inputs/Input/index.test.tsx +56 -0
- package/src/inputs/Input/inputsInputScenarios.ts +405 -0
- package/src/inputs/Label/Label.stories.js +1 -1
- package/src/inputs/Label/__stories__/Default.tsx +3 -1
- package/src/inputs/Label/index.test.tsx +20 -0
- package/src/inputs/Label/index.tsx +1 -4
- package/src/inputs/OtpInput/OtpInput.stories.js +1 -1
- package/src/inputs/OtpInput/index.test.tsx +20 -0
- package/src/inputs/OtpInput/index.tsx +1 -1
- package/src/inputs/Radio/Radio.stories.js +3 -3
- package/src/inputs/Radio/index.test.tsx +28 -0
- package/src/inputs/Radio/index.tsx +6 -3
- package/src/inputs/Select/Select.stories.js +1 -1
- package/src/inputs/Select/index.test.tsx +20 -0
- package/src/inputs/inputsScenarios.ts +503 -0
- package/src/internal.ts +2 -31
- package/src/lazy.js +18 -15
- package/src/locales/el.ts +3 -0
- package/src/registry.js +14 -2
- package/src/types.tsx +9 -63
- package/src/utils.ts +34 -33
- package/src/validators/index.ts +5 -0
- package/src/validators/utils/file.ts +9 -9
- package/src/validators/utils/phone.ts +62 -71
- package/src/validators/validators.spec.ts +3 -37
- package/types/index.js +1 -0
- package/types.d.ts +4 -33
- package/types.js.map +3 -3
- package/utils/index.js +34 -17
- package/utils.js.map +3 -3
- package/validators/index.js +9 -11
- package/validators/index.js.map +2 -2
- package/validators/utils/afm.js.map +1 -1
- package/validators/utils/file/index.js +9 -9
- package/validators/utils/file.js.map +2 -2
- package/validators/utils/iban.js.map +1 -1
- package/validators/utils/image/index.js +2 -2
- package/validators/utils/image.js.map +1 -1
- package/validators/utils/index.js +10 -2
- package/validators/utils/index.js.map +1 -1
- package/validators/utils/int.js.map +1 -1
- package/validators/utils/number.js.map +1 -1
- package/validators/utils/otp.js.map +1 -1
- package/validators/utils/phone/index.js +9 -2
- package/validators/utils/phone.js.map +2 -2
- package/validators/utils/postal_code.js.map +1 -1
- package/validators/utils/text_limit/index.js +2 -2
- package/validators/utils/text_limit.js.map +1 -1
- package/validators/utils/uuid4.js.map +1 -1
- package/Field/utils.d.ts +0 -5
- package/Field/utils.js.map +0 -7
- package/FormBuilder/FormBuilder/index.js +0 -138
- package/FormBuilder/FormBuilder.d.ts +0 -5
- package/FormBuilder/FormBuilder.js.map +0 -7
- package/Questions/index.spec/index.js +0 -65
- package/Questions/index.spec.js.map +0 -7
- package/cjs/Field/utils.js.map +0 -7
- package/cjs/FormBuilder/FormBuilder/index.js +0 -166
- package/cjs/FormBuilder/FormBuilder.js.map +0 -7
- package/cjs/Questions/index.spec/index.js +0 -83
- package/cjs/Questions/index.spec.js.map +0 -7
- package/cjs/inputs/Input/__stories__/Default/index.js +0 -52
- package/cjs/inputs/Input/__stories__/Default.js.map +0 -7
- package/cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -52
- package/cjs/inputs/Input/__stories__/TextWithCharacterLimit.js.map +0 -7
- package/cjs/validators/validators.spec/index.js +0 -104
- package/cjs/validators/validators.spec.js.map +0 -7
- package/inputs/Input/__stories__/Default/index.js +0 -25
- package/inputs/Input/__stories__/Default.d.ts +0 -3
- package/inputs/Input/__stories__/Default.js.map +0 -7
- package/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -25
- package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +0 -6
- package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +0 -3
- package/inputs/Input/__stories__/TextWithCharacterLimit.js.map +0 -7
- package/src/Field/utils.ts +0 -191
- package/src/FieldArray/FieldArray.stories.playwright.json +0 -353
- package/src/FormBuilder/FormBuilder.stories.playwright.json +0 -52
- package/src/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
- package/src/index.ts +0 -3
- package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
- package/src/inputs/DateInput/DateInput.stories.playwright.json +0 -72
- package/src/inputs/FileInput/FileInput.stories.playwright.json +0 -75
- package/src/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
- package/src/inputs/Input/Input.stories.playwright.json +0 -376
- package/src/inputs/Label/Label.stories.playwright.json +0 -40
- package/src/inputs/Radio/Radio.stories.playwright.json +0 -73
- package/src/inputs/Select/Select.stories.playwright.json +0 -22
- package/validators/validators.spec/index.js +0 -91
- package/validators/validators.spec.js.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/validators/utils/phone.ts"],
|
|
4
|
-
"sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nexport type PhoneNumberType = 'landline' | 'mobile' | null;\n// add more countries from here libphonenumber-js/metadata.full.json\nconst countryPhoneData = {\n
|
|
5
|
-
"mappings": "AAKA,MAAM,mBAAmB;AAAA,EACvB,
|
|
4
|
+
"sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nexport type PhoneNumberType = 'landline' | 'mobile' | null;\n// add more countries from here libphonenumber-js/metadata.full.json\nconst countryPhoneData = {\n GR: [\n '30',\n '00',\n '5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}',\n [10, 11, 12],\n [\n ['(\\\\d{2})(\\\\d{4})(\\\\d{4})', '$1 $2 $3', ['21|7']],\n [\n '(\\\\d{4})(\\\\d{6})',\n '$1 $2',\n ['2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5'],\n ],\n ['(\\\\d{3})(\\\\d{3})(\\\\d{4})', '$1 $2 $3', ['[2689]']],\n ['(\\\\d{3})(\\\\d{3,4})(\\\\d{5})', '$1 $2 $3', ['8']],\n ],\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n [\n [\n '2(?:1\\\\d\\\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\\\d|2[1-5]|[34][1-4]|9[1-57]))\\\\d{6}',\n [10],\n ],\n ['68[57-9]\\\\d{7}|(?:69|94)\\\\d{8}', [10]],\n ['800\\\\d{7,9}'],\n ['90[19]\\\\d{7}', [10]],\n ['70\\\\d{8}', [10]],\n 0,\n ['5005000\\\\d{3}', [10]],\n 0,\n 0,\n ['8(?:0[16]|12|[27]5|50)\\\\d{7}', [10]],\n ],\n ],\n};\n\nfunction expandPhoneNumberStructure(compressed) {\n const countries = Object.keys(compressed);\n const expanded: any = {};\n for (const country of countries) {\n expanded[country] = {\n fixedLine: {\n possibleLengths: {\n _national: compressed[country][3].map(String),\n },\n nationalNumberPattern: compressed[country][11][0][0],\n },\n mobile: {\n nationalNumberPattern: compressed[country][11][1][0],\n },\n tollFree: {\n nationalNumberPattern: compressed[country][11][2][0],\n },\n premiumRate: {\n nationalNumberPattern: compressed[country][11][3][0],\n },\n sharedCost: {\n nationalNumberPattern: compressed[country][11][9][0],\n },\n personalNumber: {\n nationalNumberPattern: compressed[country][11][4][0],\n },\n uan: {\n nationalNumberPattern: compressed[country][11][6][0],\n },\n id: country,\n countryCode: compressed[country][0],\n internationalPrefix: compressed[country][1],\n };\n }\n return expanded;\n}\nconst PHONENUMBER_SPEC = expandPhoneNumberStructure(countryPhoneData);\nexport function discoverPhoneType(phoneNumber: string, config: any): string {\n const cleanNumber = phoneNumber\n .replace(/\\D/g, '')\n .replace(/\\s/g, '')\n .replace(/^\\+/, '')\n .replace(new RegExp('^' + config.internationalPrefix, ''), '')\n .replace(new RegExp('^' + config.countryCode, ''), '');\n const categories = {\n landline: config.fixedLine,\n mobile: config.mobile,\n 'toll-free': config.tollFree,\n 'premium-rate': config.premiumRate,\n };\n\n for (const [categoryName, categoryDetails] of Object.entries(categories)) {\n const pattern = new RegExp(\n '^(' + categoryDetails.nationalNumberPattern.replace(/\\s/g, '') + ')$',\n ''\n );\n if (cleanNumber.match(pattern)) {\n return categoryName; // Returns the category name if the number matches the pattern\n }\n }\n\n // If no category matches, return 'Unknown'\n return 'unknown';\n}\nfunction getNumberType(phoneNumber: string, country: string) {\n const spec = PHONENUMBER_SPEC[country.toUpperCase()];\n if (!spec) {\n throw new Error(`Country ${country} is not supported`);\n }\n const type = discoverPhoneType(phoneNumber, spec);\n return type;\n}\n\nfunction isPhoneNumberValid(\n phoneNumber: string,\n countries: string[],\n types = ['mobile', 'landline']\n) {\n return countries.some((country) => {\n const numberType = getNumberType(phoneNumber, country);\n if (numberType && types.includes(numberType)) {\n return true;\n }\n return false;\n });\n}\nfunction isNumberOfType(phoneNumber: string, country: string, type: string) {\n const numberType = getNumberType(phoneNumber, country);\n if (numberType === type) {\n return true;\n }\n return false;\n}\nexport function validatePhoneNumber(\n phoneNumber: string,\n countries: Array<string> = ['gr'],\n typeOfPhoneNumber?: PhoneNumberType\n): boolean {\n if (!countries || countries.length === 0) {\n return true;\n }\n return isPhoneNumberValid(\n phoneNumber,\n countries,\n typeOfPhoneNumber ? [typeOfPhoneNumber] : undefined\n );\n}\n\nfunction validateMobile(value): boolean {\n return isNumberOfType(value, 'gr', 'mobile');\n}\n\nexport const MOBILE_PHONE_VALIDATOR = {\n name: 'mobile-phone-validator',\n message: 'form.error.mobile_phone',\n test: (value): boolean => {\n if (value) {\n return validateMobile(value);\n }\n return true;\n },\n};\n\nexport const PHONE_NUMBER_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const countryCodes = field?.extra?.countries;\n const typeOfPhone: PhoneNumberType | null = field?.extra?.phoneType;\n return {\n name: 'phone-number-validator',\n message: (): string => {\n if (typeOfPhone === 'mobile') {\n return 'form.error.mobile_phone';\n }\n if (typeOfPhone === 'landline') {\n return 'form.error.landline';\n } else {\n return 'form.error.phone_number';\n }\n },\n test: (value: string): boolean => {\n if (!value) {\n return true;\n }\n return validatePhoneNumber(value, countryCodes, typeOfPhone);\n },\n };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/validators/utils/postal_code.ts"],
|
|
4
4
|
"sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nconst CODE_REGEX = /^[12345678][0-9]{4}$/;\nexport function validatePostalCode(\n number: string,\n countries: Array<string>\n): boolean {\n if (!countries) {\n return false;\n } else {\n if (countries.length === 1 && countries[0].toUpperCase() === 'GR') {\n // Greek postal code must be 5 digits long and shouldn't start with 0 or 9.\n return CODE_REGEX.test(number);\n } else {\n return true;\n }\n }\n}\n\nexport const POSTALCODE_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const countryCode = field?.extra?.countries;\n return {\n name: 'postal-code-validator',\n message: 'form.error.postalCode',\n test: (value: string): boolean => {\n if (!value) {\n return true;\n }\n return validatePostalCode(value, countryCode);\n },\n };\n};\n"],
|
|
5
|
-
"mappings": "AAGA,MAAM,aAAa;AACZ,
|
|
5
|
+
"mappings": "AAGA,MAAM,aAAa;AACZ,SAAS,mBACd,QACA,WACS;AACT,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT,OAAO;AACL,QAAI,UAAU,WAAW,KAAK,UAAU,CAAC,EAAE,YAAY,MAAM,MAAM;AAEjE,aAAO,WAAW,KAAK,MAAM;AAAA,IAC/B,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,uBAAuB,CAAC,UAAsC;AACzE,QAAM,cAAc,OAAO,OAAO;AAClC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM,CAAC,UAA2B;AAChC,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,MACT;AACA,aAAO,mBAAmB,OAAO,WAAW;AAAA,IAC9C;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -19,13 +19,13 @@ const TEXT_LIMIT_VALIDATOR = (field) => {
|
|
|
19
19
|
if (v.value.length < min) {
|
|
20
20
|
return {
|
|
21
21
|
key: "form.error.text.less_than",
|
|
22
|
-
context: {min: field?.extra?.limit?.min}
|
|
22
|
+
context: { min: field?.extra?.limit?.min }
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
if (v.value.length > max) {
|
|
26
26
|
return {
|
|
27
27
|
key: "form.error.text.more_than",
|
|
28
|
-
context: {max: field?.extra?.limit?.max}
|
|
28
|
+
context: { max: field?.extra?.limit?.max }
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/validators/utils/text_limit.ts"],
|
|
4
4
|
"sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nexport function validateText(value: string, min: number, max: number): boolean {\n let validator;\n if (min || max) {\n if (value.length < min || value.length > max) {\n return (validator = false);\n } else {\n return (validator = true);\n }\n }\n return validator;\n}\n\nexport const TEXT_LIMIT_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const min: number = field?.extra?.limit?.min;\n const max: number = field?.extra?.limit?.max;\n return {\n name: 'text-limit-validator',\n message: (v: any): any => {\n if (min || max) {\n if (v.value.length < min) {\n return {\n key: 'form.error.text.less_than',\n context: { min: field?.extra?.limit?.min },\n };\n }\n if (v.value.length > max) {\n return {\n key: 'form.error.text.more_than',\n context: { max: field?.extra?.limit?.max },\n };\n }\n }\n },\n test: (value: string): boolean => {\n if (!value) {\n return true;\n }\n return validateText(value, min as number, max as number);\n },\n };\n};\n"],
|
|
5
|
-
"mappings": "AAGO,
|
|
5
|
+
"mappings": "AAGO,SAAS,aAAa,OAAe,KAAa,KAAsB;AAC7E,MAAI;AACJ,MAAI,OAAO,KAAK;AACd,QAAI,MAAM,SAAS,OAAO,MAAM,SAAS,KAAK;AAC5C,aAAQ,YAAY;AAAA,IACtB,OAAO;AACL,aAAQ,YAAY;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,uBAAuB,CAAC,UAAsC;AACzE,QAAM,MAAc,OAAO,OAAO,OAAO;AACzC,QAAM,MAAc,OAAO,OAAO,OAAO;AACzC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,MAAgB;AACxB,UAAI,OAAO,KAAK;AACd,YAAI,EAAE,MAAM,SAAS,KAAK;AACxB,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,SAAS,EAAE,KAAK,OAAO,OAAO,OAAO,IAAI;AAAA,UAC3C;AAAA,QACF;AACA,YAAI,EAAE,MAAM,SAAS,KAAK;AACxB,iBAAO;AAAA,YACL,KAAK;AAAA,YACL,SAAS,EAAE,KAAK,OAAO,OAAO,OAAO,IAAI;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM,CAAC,UAA2B;AAChC,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,MACT;AACA,aAAO,aAAa,OAAO,KAAe,GAAa;AAAA,IACzD;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/validators/utils/uuid4.ts"],
|
|
4
4
|
"sourcesContent": ["const UUID4_PATTERN = /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i;\n\nexport function validateUUID4(uuid4: string): boolean {\n if (uuid4.length !== 36) {\n // This uuid4 should be 36 characters long\n return false;\n }\n\n return UUID4_PATTERN.test(uuid4);\n}\n\nexport const UUID4_VALIDATOR = {\n name: 'uuid4-validator',\n message: 'form.error.uuid4',\n test: (value): boolean => {\n if (value) {\n return validateUUID4(value);\n }\n return true;\n },\n};\n"],
|
|
5
|
-
"mappings": "AAAA,MAAM,gBAAgB;AAEf,
|
|
5
|
+
"mappings": "AAAA,MAAM,gBAAgB;AAEf,SAAS,cAAc,OAAwB;AACpD,MAAI,MAAM,WAAW,IAAI;AAEvB,WAAO;AAAA,EACT;AAEA,SAAO,cAAc,KAAK,KAAK;AACjC;AAEO,MAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM,CAAC,UAAmB;AACxB,QAAI,OAAO;AACT,aAAO,cAAc,KAAK;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/Field/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { CalculatedField, FieldComponentRegistry, FieldProps, FieldWithCondition, UseFieldProps } from '@digigov/form/Field/types';
|
|
2
|
-
import { FieldSpec } from '@digigov/form/types';
|
|
3
|
-
export declare function calculateField(children: FieldProps['children'], field: FieldSpec, componentRegistry?: FieldComponentRegistry): CalculatedField;
|
|
4
|
-
export declare const useField: (name: string, customField: FieldSpec | null) => UseFieldProps;
|
|
5
|
-
export declare function evaluateFieldWithConditions(field: FieldWithCondition, variables: FormData): CalculatedField;
|
package/Field/utils.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Field/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { useContext, useMemo } from 'react';\nimport {\n CalculatedField,\n FieldComponentRegistry,\n FieldProps,\n FieldWithCondition,\n UseFieldProps,\n} from '@digigov/form/Field/types';\nimport { FormContext } from '@digigov/form/FormContext';\nimport Checkboxes from '@digigov/form/inputs/Checkboxes';\nimport DateInput from '@digigov/form/inputs/DateInput';\nimport FileInput from '@digigov/form/inputs/FileInput';\nimport ImageInput from '@digigov/form/inputs/ImageInput';\nimport Input from '@digigov/form/inputs/Input';\nimport OtpInput from '@digigov/form/inputs/OtpInput';\nimport Radio from '@digigov/form/inputs/Radio';\nimport Select from '@digigov/form/inputs/Select';\nimport AutoCompleteInput from '@digigov/form/inputs/AutoCompleteInput';\nimport { FieldSpec } from '@digigov/form/types';\n\n\nconst FIELD_COMPONENTS: FieldComponentRegistry = {\n text: {\n component: Input,\n },\n string: {\n component: Input,\n },\n file: {\n wrapper: 'fieldset',\n component: FileInput,\n },\n image: {\n wrapper: 'fieldset',\n component: ImageInput,\n },\n date: {\n wrapper: 'fieldset',\n controlled: true,\n component: DateInput,\n },\n otp: {\n wrapper: 'fieldset',\n controlled: true,\n component: OtpInput,\n },\n 'choice:multiple': {\n wrapper: 'fieldset',\n controlled: true,\n component: Checkboxes,\n },\n 'choice:single': {\n wrapper: 'fieldset',\n controlled: false,\n component: Radio,\n },\n};\n\nconst ALTERNATIVE_COMPONENTS: FieldComponentRegistry = {\n Select: {\n component: Select,\n controlled: false,\n },\n AutoComplete: {\n component: AutoCompleteInput,\n controlled: true,\n wrapper: 'fieldset'\n },\n};\n\nexport function calculateField(\n children: FieldProps['children'],\n field: FieldSpec,\n componentRegistry?: FieldComponentRegistry\n): CalculatedField {\n const calculatedField = { ...field };\n const fieldComponentRegistry = { ...FIELD_COMPONENTS, ...componentRegistry };\n if (children) {\n calculatedField.component = children;\n calculatedField.controlled = true;\n } else if (typeof field.component === 'function') {\n // leave as is\n } else if (!field.component && !field.type) {\n calculatedField.component = fieldComponentRegistry.string.component;\n calculatedField.controlled =\n fieldComponentRegistry.string?.controlled || false;\n } else if (\n typeof field?.extra?.component === 'string' &&\n ALTERNATIVE_COMPONENTS[field.extra.component]\n ) {\n calculatedField.controlled =\n ALTERNATIVE_COMPONENTS[field.extra.component]?.controlled || false;\n calculatedField.component =\n ALTERNATIVE_COMPONENTS[field.extra.component].component;\n calculatedField.wrapper = ALTERNATIVE_COMPONENTS[field.extra.component].wrapper;\n } else if (\n !field.component &&\n field.type &&\n fieldComponentRegistry[field.type]\n ) {\n calculatedField.component = fieldComponentRegistry[field.type].component;\n calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;\n calculatedField.controlled =\n fieldComponentRegistry[field.type]?.controlled || false;\n } else {\n calculatedField.component = fieldComponentRegistry.string.component;\n calculatedField.controlled =\n fieldComponentRegistry.string?.controlled || false;\n }\n return calculatedField as CalculatedField;\n}\n\nexport const useField = (\n name: string,\n customField: FieldSpec | null\n): UseFieldProps => {\n const {\n fieldsMap,\n control,\n register,\n reset,\n trigger,\n clearErrors,\n errors,\n registerField,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n getValues,\n unregister,\n formState,\n } = useContext(FormContext);\n\n if (!registerField) {\n throw new Error(`\n You can't use the Field component without wrapping it in FormBuilder.\n https://devs.pages.grnet.gr/digigov/digigov-sdk/sdk-docs/forms/create-simple-form/\n `);\n }\n\n useMemo(\n () => customField?.type && registerField({ ...customField, key: name }),\n [customField, name, registerField]\n );\n return {\n field: customField || fieldsMap[name],\n control,\n register,\n reset,\n trigger,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n clearErrors,\n getValues,\n unregister,\n formState,\n error: errors[name],\n };\n};\n\nexport function evaluateFieldWithConditions(\n field: FieldWithCondition,\n variables: FormData\n): CalculatedField {\n const newField = { ...field };\n if (variables) {\n for (const key in variables) {\n if (field.condition[key] && field.condition[key].is) {\n const is = field.condition[key].is;\n if (\n is === variables[key] ||\n (Array.isArray(variables[key]) && variables[key].includes(is))\n ) {\n const then = field.condition[key].then || {};\n for (const attr in then) {\n newField[attr] = then[attr];\n }\n }\n } else if (field.condition[key]) {\n const otherwise = field.condition[key].else || {};\n for (const attr in otherwise) {\n newField[attr] = otherwise[attr];\n }\n }\n }\n }\n return newField;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import React, {useCallback, useRef} from "react";
|
|
2
|
-
import {useForm} from "react-hook-form";
|
|
3
|
-
import Field from "@digigov/form/Field";
|
|
4
|
-
import Fieldset from "@digigov/form/Fieldset";
|
|
5
|
-
import {FormContext} from "@digigov/form/FormContext";
|
|
6
|
-
import {yupResolver} from "@digigov/form/utils";
|
|
7
|
-
import {useValidationSchema} from "@digigov/form/validators";
|
|
8
|
-
import {Form} from "@digigov/react-core/Form";
|
|
9
|
-
const FormBase = React.forwardRef(function FormBase2({
|
|
10
|
-
onSubmit,
|
|
11
|
-
children,
|
|
12
|
-
registerField,
|
|
13
|
-
fieldsMap,
|
|
14
|
-
fieldsetsMap,
|
|
15
|
-
resolver,
|
|
16
|
-
mode,
|
|
17
|
-
initial,
|
|
18
|
-
reValidateMode,
|
|
19
|
-
shouldFocusError,
|
|
20
|
-
criteriaMode,
|
|
21
|
-
componentRegistry,
|
|
22
|
-
grid,
|
|
23
|
-
...props
|
|
24
|
-
}, ref) {
|
|
25
|
-
const form = useForm({
|
|
26
|
-
resolver,
|
|
27
|
-
mode,
|
|
28
|
-
defaultValues: initial,
|
|
29
|
-
reValidateMode,
|
|
30
|
-
shouldFocusError,
|
|
31
|
-
criteriaMode
|
|
32
|
-
});
|
|
33
|
-
const handleSubmit = useCallback((data) => {
|
|
34
|
-
onSubmit && onSubmit(data);
|
|
35
|
-
}, [onSubmit]);
|
|
36
|
-
const ctx = {
|
|
37
|
-
fieldsMap,
|
|
38
|
-
fieldsetsMap,
|
|
39
|
-
control: form.control,
|
|
40
|
-
register: form.register,
|
|
41
|
-
watch: form.watch,
|
|
42
|
-
registerField,
|
|
43
|
-
errors: form.formState.errors,
|
|
44
|
-
formState: form.formState,
|
|
45
|
-
reset: form.reset,
|
|
46
|
-
trigger: form.trigger,
|
|
47
|
-
getFieldState: form.getFieldState,
|
|
48
|
-
setValue: form.setValue,
|
|
49
|
-
clearErrors: form.clearErrors,
|
|
50
|
-
getValues: form.getValues,
|
|
51
|
-
unregister: form.unregister,
|
|
52
|
-
componentRegistry,
|
|
53
|
-
setError: form.setError
|
|
54
|
-
};
|
|
55
|
-
return /* @__PURE__ */ React.createElement(FormContext.Provider, {
|
|
56
|
-
value: ctx
|
|
57
|
-
}, /* @__PURE__ */ React.createElement(Form, {
|
|
58
|
-
grid,
|
|
59
|
-
onSubmit: form.handleSubmit(handleSubmit),
|
|
60
|
-
ref,
|
|
61
|
-
...props
|
|
62
|
-
}, children));
|
|
63
|
-
});
|
|
64
|
-
const FormBuilder = React.forwardRef(function FormBuilder2({
|
|
65
|
-
fields = [],
|
|
66
|
-
fieldsets,
|
|
67
|
-
initial = {},
|
|
68
|
-
onSubmit,
|
|
69
|
-
children,
|
|
70
|
-
reValidateMode = "onSubmit",
|
|
71
|
-
mode = "onSubmit",
|
|
72
|
-
shouldFocusError = true,
|
|
73
|
-
criteriaMode = "all",
|
|
74
|
-
auto = false,
|
|
75
|
-
validatorRegistry,
|
|
76
|
-
componentRegistry,
|
|
77
|
-
grid = false,
|
|
78
|
-
...props
|
|
79
|
-
}, ref) {
|
|
80
|
-
const fieldsState = useRef(fields);
|
|
81
|
-
const setFieldsState = useCallback((newFields) => {
|
|
82
|
-
fieldsState.current = newFields;
|
|
83
|
-
}, []);
|
|
84
|
-
const schema = useValidationSchema(fieldsState, validatorRegistry);
|
|
85
|
-
const registerField = useCallback((field) => {
|
|
86
|
-
const fieldIndex = fieldsState.current.findIndex((f) => f.key === field.key);
|
|
87
|
-
if (fieldIndex > -1) {
|
|
88
|
-
fieldsState.current[fieldIndex] = field;
|
|
89
|
-
} else {
|
|
90
|
-
fieldsState.current.push(field);
|
|
91
|
-
}
|
|
92
|
-
setFieldsState(fieldsState.current);
|
|
93
|
-
}, []);
|
|
94
|
-
let resolver;
|
|
95
|
-
let fieldsMap;
|
|
96
|
-
let fieldsetsMap;
|
|
97
|
-
let fieldChildren;
|
|
98
|
-
if (schema) {
|
|
99
|
-
resolver = yupResolver(schema);
|
|
100
|
-
fieldsMap = fields ? fields.reduce((map, field) => ({...map, [field.key]: field}), {}) : {};
|
|
101
|
-
fieldsetsMap = fieldsets && fieldsets.reduce((map, fieldset) => ({...map, [fieldset.key]: fieldset}), {});
|
|
102
|
-
if (auto) {
|
|
103
|
-
if (fieldsets) {
|
|
104
|
-
fieldChildren = fieldsets.map((fieldset) => /* @__PURE__ */ React.createElement(Fieldset, {
|
|
105
|
-
key: fieldset.key
|
|
106
|
-
}));
|
|
107
|
-
} else if (fields) {
|
|
108
|
-
fieldChildren = fields.map((field) => /* @__PURE__ */ React.createElement(Field, {
|
|
109
|
-
key: field.key,
|
|
110
|
-
name: field.key
|
|
111
|
-
}));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return /* @__PURE__ */ React.createElement(FormBase, {
|
|
116
|
-
resolver,
|
|
117
|
-
fieldsetsMap,
|
|
118
|
-
fieldsMap,
|
|
119
|
-
registerField,
|
|
120
|
-
initial,
|
|
121
|
-
reValidateMode,
|
|
122
|
-
mode,
|
|
123
|
-
shouldFocusError,
|
|
124
|
-
criteriaMode,
|
|
125
|
-
onSubmit,
|
|
126
|
-
componentRegistry,
|
|
127
|
-
ref,
|
|
128
|
-
grid,
|
|
129
|
-
...props
|
|
130
|
-
}, fieldChildren, children);
|
|
131
|
-
});
|
|
132
|
-
var FormBuilder_default = FormBuilder;
|
|
133
|
-
export {
|
|
134
|
-
FormBase,
|
|
135
|
-
FormBuilder,
|
|
136
|
-
FormBuilder_default as default
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=FormBuilder.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { FormBaseProps, FormBuilderProps } from '@digigov/form/types';
|
|
3
|
-
export declare const FormBase: React.ForwardRefExoticComponent<FormBaseProps & React.RefAttributes<HTMLFormElement>>;
|
|
4
|
-
export declare const FormBuilder: React.ForwardRefExoticComponent<FormBuilderProps & React.RefAttributes<HTMLFormElement>>;
|
|
5
|
-
export default FormBuilder;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/FormBuilder/FormBuilder.tsx"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useCallback, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport Field from '@digigov/form/Field';\nimport Fieldset from '@digigov/form/Fieldset';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';\nimport { yupResolver } from '@digigov/form/utils';\nimport { useValidationSchema } from '@digigov/form/validators';\nimport { Form } from '@digigov/react-core/Form';\n\nexport const FormBase = React.forwardRef(function FormBase(\n {\n onSubmit,\n children,\n registerField,\n fieldsMap,\n fieldsetsMap,\n resolver,\n mode,\n initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n componentRegistry,\n grid,\n ...props\n }: FormBaseProps,\n ref: React.Ref<HTMLFormElement>\n) {\n const form = useForm({\n resolver,\n mode,\n defaultValues: initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n });\n\n const handleSubmit = useCallback(\n (data: FormData): void => {\n onSubmit && onSubmit(data);\n },\n [onSubmit]\n );\n\n const ctx = {\n fieldsMap,\n fieldsetsMap,\n control: form.control,\n register: form.register,\n watch: form.watch,\n registerField: registerField,\n errors: form.formState.errors,\n formState: form.formState,\n reset: form.reset,\n trigger: form.trigger,\n getFieldState: form.getFieldState,\n setValue: form.setValue,\n clearErrors: form.clearErrors,\n getValues: form.getValues,\n unregister: form.unregister,\n componentRegistry,\n setError: form.setError,\n };\n return (\n <FormContext.Provider value={ctx}>\n <Form\n grid={grid}\n onSubmit={form.handleSubmit(handleSubmit)}\n ref={ref}\n {...props}\n >\n {children}\n </Form>\n </FormContext.Provider>\n );\n});\n\nexport const FormBuilder = React.forwardRef(function FormBuilder(\n {\n fields = [],\n fieldsets,\n initial = {},\n onSubmit,\n children,\n reValidateMode = 'onSubmit',\n mode = 'onSubmit',\n shouldFocusError = true,\n criteriaMode = 'all',\n auto = false,\n validatorRegistry,\n componentRegistry,\n grid = false,\n ...props\n }: FormBuilderProps,\n ref: React.Ref<HTMLFormElement>\n): React.ReactElement {\n const fieldsState = useRef(fields);\n const setFieldsState = useCallback((newFields) => {\n fieldsState.current = newFields;\n }, []);\n const schema = useValidationSchema(fieldsState, validatorRegistry);\n const registerField = useCallback((field) => {\n const fieldIndex = fieldsState.current.findIndex(\n (f) => f.key === field.key\n );\n if (fieldIndex > -1) {\n fieldsState.current[fieldIndex] = field;\n } else {\n fieldsState.current.push(field);\n }\n setFieldsState(fieldsState.current);\n }, []);\n let resolver;\n let fieldsMap;\n let fieldsetsMap;\n let fieldChildren;\n if (schema) {\n resolver = yupResolver(schema);\n fieldsMap = fields\n ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})\n : {};\n fieldsetsMap =\n fieldsets &&\n fieldsets.reduce(\n (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),\n {}\n );\n\n if (auto) {\n if (fieldsets) {\n fieldChildren = fieldsets.map((fieldset) => (\n <Fieldset key={fieldset.key} />\n ));\n } else if (fields) {\n fieldChildren = fields.map((field) => (\n <Field key={field.key} name={field.key} />\n ));\n }\n }\n }\n return (\n <FormBase\n resolver={resolver}\n fieldsetsMap={fieldsetsMap}\n fieldsMap={fieldsMap}\n registerField={registerField}\n initial={initial}\n reValidateMode={reValidateMode}\n mode={mode}\n shouldFocusError={shouldFocusError}\n criteriaMode={criteriaMode}\n onSubmit={onSubmit}\n componentRegistry={componentRegistry}\n ref={ref}\n grid={grid}\n {...props}\n >\n {fieldChildren}\n {children}\n </FormBase>\n );\n});\n\nexport default FormBuilder;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import {mount} from "enzyme";
|
|
3
|
-
import {Field} from "@digigov/form";
|
|
4
|
-
import {Step, StepForm, StepQuote, StepTitle} from "@digigov/form/Questions";
|
|
5
|
-
import Questions from "@digigov/form/Questions";
|
|
6
|
-
const steps = [
|
|
7
|
-
{
|
|
8
|
-
name: "intro",
|
|
9
|
-
caption: "intro.caption",
|
|
10
|
-
title: "intro.title",
|
|
11
|
-
description: "intro.description",
|
|
12
|
-
fields: [
|
|
13
|
-
{
|
|
14
|
-
key: "name",
|
|
15
|
-
label: {
|
|
16
|
-
primary: "name.field.primary",
|
|
17
|
-
secondary: "name.field.secondary"
|
|
18
|
-
},
|
|
19
|
-
required: true,
|
|
20
|
-
type: "string"
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: "age",
|
|
26
|
-
caption: "age.caption",
|
|
27
|
-
title: "age.title",
|
|
28
|
-
description: "age.description",
|
|
29
|
-
fields: [
|
|
30
|
-
{
|
|
31
|
-
key: "dateOfBirth",
|
|
32
|
-
label: {
|
|
33
|
-
primary: "age.field.primary",
|
|
34
|
-
secondary: "age.field.secondary"
|
|
35
|
-
},
|
|
36
|
-
required: true,
|
|
37
|
-
type: "number"
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
];
|
|
42
|
-
it("renders the Questions", () => {
|
|
43
|
-
expect(mount(/* @__PURE__ */ React.createElement(Questions, {
|
|
44
|
-
name: "example",
|
|
45
|
-
onSubmit: (data) => {
|
|
46
|
-
console.log(data);
|
|
47
|
-
},
|
|
48
|
-
steps
|
|
49
|
-
}, /* @__PURE__ */ React.createElement(Step, {
|
|
50
|
-
name: "intro"
|
|
51
|
-
}, /* @__PURE__ */ React.createElement(StepTitle, null), /* @__PURE__ */ React.createElement(StepQuote, null, "This is the intro"), /* @__PURE__ */ React.createElement(StepForm, {
|
|
52
|
-
submitButton: true
|
|
53
|
-
}, /* @__PURE__ */ React.createElement(Field, {
|
|
54
|
-
key: "name",
|
|
55
|
-
name: "name"
|
|
56
|
-
}))), /* @__PURE__ */ React.createElement(Step, {
|
|
57
|
-
name: "age"
|
|
58
|
-
}, /* @__PURE__ */ React.createElement(StepTitle, null), /* @__PURE__ */ React.createElement(StepQuote, null, "This is the age"), /* @__PURE__ */ React.createElement(StepForm, {
|
|
59
|
-
submitButton: true
|
|
60
|
-
}, /* @__PURE__ */ React.createElement(Field, {
|
|
61
|
-
key: "dateOfBirth",
|
|
62
|
-
name: "dateOfBirth"
|
|
63
|
-
})))))).toMatchSnapshot();
|
|
64
|
-
});
|
|
65
|
-
//# sourceMappingURL=index.spec.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Questions/index.spec.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport { mount } from 'enzyme';\n\nimport { Field } from '@digigov/form';\nimport { Step, StepForm, StepQuote, StepTitle } from '@digigov/form/Questions';\nimport Questions from '@digigov/form/Questions';\n\nconst steps = [\n {\n name: 'intro',\n caption: 'intro.caption',\n title: 'intro.title',\n description: 'intro.description',\n fields: [\n {\n key: 'name',\n label: {\n primary: 'name.field.primary',\n secondary: 'name.field.secondary',\n },\n required: true,\n type: 'string',\n },\n ],\n },\n {\n name: 'age',\n caption: 'age.caption',\n title: 'age.title',\n description: 'age.description',\n fields: [\n {\n key: 'dateOfBirth',\n label: {\n primary: 'age.field.primary',\n secondary: 'age.field.secondary',\n },\n required: true,\n type: 'number',\n },\n ],\n },\n];\n\nit('renders the Questions', () => {\n expect(\n mount(\n <Questions\n name={'example'}\n onSubmit={(data): void => {\n console.log(data);\n }}\n steps={steps}\n >\n <Step name=\"intro\">\n <StepTitle />\n <StepQuote>This is the intro</StepQuote>\n <StepForm submitButton={true}>\n <Field key={'name'} name=\"name\" />\n </StepForm>\n </Step>\n <Step name=\"age\">\n <StepTitle />\n <StepQuote>This is the age</StepQuote>\n <StepForm submitButton={true}>\n <Field key={'dateOfBirth'} name=\"dateOfBirth\" />\n </StepForm>\n </Step>\n </Questions>\n )\n ).toMatchSnapshot();\n});\n"],
|
|
5
|
-
"mappings": "AAAA;AACA;AAEA;AACA;AACA;AAEA,MAAM,QAAQ;AAAA,EACZ;AAAA,IACE,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,MACN;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA;AAAA,QAEb,UAAU;AAAA,QACV,MAAM;AAAA;AAAA;AAAA;AAAA,EAIZ;AAAA,IACE,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,MACN;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA;AAAA,QAEb,UAAU;AAAA,QACV,MAAM;AAAA;AAAA;AAAA;AAAA;AAMd,GAAG,yBAAyB,MAAM;AAChC,SACE,MACE,oCAAC,WAAD;AAAA,IACE,MAAM;AAAA,IACN,UAAU,CAAC,SAAe;AACxB,cAAQ,IAAI;AAAA;AAAA,IAEd;AAAA,KAEA,oCAAC,MAAD;AAAA,IAAM,MAAK;AAAA,KACT,oCAAC,WAAD,OACA,oCAAC,WAAD,MAAW,sBACX,oCAAC,UAAD;AAAA,IAAU,cAAc;AAAA,KACtB,oCAAC,OAAD;AAAA,IAAO,KAAK;AAAA,IAAQ,MAAK;AAAA,QAG7B,oCAAC,MAAD;AAAA,IAAM,MAAK;AAAA,KACT,oCAAC,WAAD,OACA,oCAAC,WAAD,MAAW,oBACX,oCAAC,UAAD;AAAA,IAAU,cAAc;AAAA,KACtB,oCAAC,OAAD;AAAA,IAAO,KAAK;AAAA,IAAe,MAAK;AAAA,UAKxC;AAAA;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/cjs/Field/utils.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/Field/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { useContext, useMemo } from 'react';\nimport {\n CalculatedField,\n FieldComponentRegistry,\n FieldProps,\n FieldWithCondition,\n UseFieldProps,\n} from '@digigov/form/Field/types';\nimport { FormContext } from '@digigov/form/FormContext';\nimport Checkboxes from '@digigov/form/inputs/Checkboxes';\nimport DateInput from '@digigov/form/inputs/DateInput';\nimport FileInput from '@digigov/form/inputs/FileInput';\nimport ImageInput from '@digigov/form/inputs/ImageInput';\nimport Input from '@digigov/form/inputs/Input';\nimport OtpInput from '@digigov/form/inputs/OtpInput';\nimport Radio from '@digigov/form/inputs/Radio';\nimport Select from '@digigov/form/inputs/Select';\nimport AutoCompleteInput from '@digigov/form/inputs/AutoCompleteInput';\nimport { FieldSpec } from '@digigov/form/types';\n\n\nconst FIELD_COMPONENTS: FieldComponentRegistry = {\n text: {\n component: Input,\n },\n string: {\n component: Input,\n },\n file: {\n wrapper: 'fieldset',\n component: FileInput,\n },\n image: {\n wrapper: 'fieldset',\n component: ImageInput,\n },\n date: {\n wrapper: 'fieldset',\n controlled: true,\n component: DateInput,\n },\n otp: {\n wrapper: 'fieldset',\n controlled: true,\n component: OtpInput,\n },\n 'choice:multiple': {\n wrapper: 'fieldset',\n controlled: true,\n component: Checkboxes,\n },\n 'choice:single': {\n wrapper: 'fieldset',\n controlled: false,\n component: Radio,\n },\n};\n\nconst ALTERNATIVE_COMPONENTS: FieldComponentRegistry = {\n Select: {\n component: Select,\n controlled: false,\n },\n AutoComplete: {\n component: AutoCompleteInput,\n controlled: true,\n wrapper: 'fieldset'\n },\n};\n\nexport function calculateField(\n children: FieldProps['children'],\n field: FieldSpec,\n componentRegistry?: FieldComponentRegistry\n): CalculatedField {\n const calculatedField = { ...field };\n const fieldComponentRegistry = { ...FIELD_COMPONENTS, ...componentRegistry };\n if (children) {\n calculatedField.component = children;\n calculatedField.controlled = true;\n } else if (typeof field.component === 'function') {\n // leave as is\n } else if (!field.component && !field.type) {\n calculatedField.component = fieldComponentRegistry.string.component;\n calculatedField.controlled =\n fieldComponentRegistry.string?.controlled || false;\n } else if (\n typeof field?.extra?.component === 'string' &&\n ALTERNATIVE_COMPONENTS[field.extra.component]\n ) {\n calculatedField.controlled =\n ALTERNATIVE_COMPONENTS[field.extra.component]?.controlled || false;\n calculatedField.component =\n ALTERNATIVE_COMPONENTS[field.extra.component].component;\n calculatedField.wrapper = ALTERNATIVE_COMPONENTS[field.extra.component].wrapper;\n } else if (\n !field.component &&\n field.type &&\n fieldComponentRegistry[field.type]\n ) {\n calculatedField.component = fieldComponentRegistry[field.type].component;\n calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;\n calculatedField.controlled =\n fieldComponentRegistry[field.type]?.controlled || false;\n } else {\n calculatedField.component = fieldComponentRegistry.string.component;\n calculatedField.controlled =\n fieldComponentRegistry.string?.controlled || false;\n }\n return calculatedField as CalculatedField;\n}\n\nexport const useField = (\n name: string,\n customField: FieldSpec | null\n): UseFieldProps => {\n const {\n fieldsMap,\n control,\n register,\n reset,\n trigger,\n clearErrors,\n errors,\n registerField,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n getValues,\n unregister,\n formState,\n } = useContext(FormContext);\n\n if (!registerField) {\n throw new Error(`\n You can't use the Field component without wrapping it in FormBuilder.\n https://devs.pages.grnet.gr/digigov/digigov-sdk/sdk-docs/forms/create-simple-form/\n `);\n }\n\n useMemo(\n () => customField?.type && registerField({ ...customField, key: name }),\n [customField, name, registerField]\n );\n return {\n field: customField || fieldsMap[name],\n control,\n register,\n reset,\n trigger,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n clearErrors,\n getValues,\n unregister,\n formState,\n error: errors[name],\n };\n};\n\nexport function evaluateFieldWithConditions(\n field: FieldWithCondition,\n variables: FormData\n): CalculatedField {\n const newField = { ...field };\n if (variables) {\n for (const key in variables) {\n if (field.condition[key] && field.condition[key].is) {\n const is = field.condition[key].is;\n if (\n is === variables[key] ||\n (Array.isArray(variables[key]) && variables[key].includes(is))\n ) {\n const then = field.condition[key].then || {};\n for (const attr in then) {\n newField[attr] = then[attr];\n }\n }\n } else if (field.condition[key]) {\n const otherwise = field.condition[key].else || {};\n for (const attr in otherwise) {\n newField[attr] = otherwise[attr];\n }\n }\n }\n }\n return newField;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
-
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toModule = (module2) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
-
};
|
|
23
|
-
__markAsModule(exports);
|
|
24
|
-
__export(exports, {
|
|
25
|
-
FormBase: () => FormBase,
|
|
26
|
-
FormBuilder: () => FormBuilder,
|
|
27
|
-
default: () => FormBuilder_default
|
|
28
|
-
});
|
|
29
|
-
var import_react = __toModule(require("react"));
|
|
30
|
-
var import_react_hook_form = __toModule(require("react-hook-form"));
|
|
31
|
-
var import_Field = __toModule(require("@digigov/form/Field"));
|
|
32
|
-
var import_Fieldset = __toModule(require("@digigov/form/Fieldset"));
|
|
33
|
-
var import_FormContext = __toModule(require("@digigov/form/FormContext"));
|
|
34
|
-
var import_utils = __toModule(require("@digigov/form/utils"));
|
|
35
|
-
var import_validators = __toModule(require("@digigov/form/validators"));
|
|
36
|
-
var import_Form = __toModule(require("@digigov/react-core/Form"));
|
|
37
|
-
const FormBase = import_react.default.forwardRef(function FormBase2({
|
|
38
|
-
onSubmit,
|
|
39
|
-
children,
|
|
40
|
-
registerField,
|
|
41
|
-
fieldsMap,
|
|
42
|
-
fieldsetsMap,
|
|
43
|
-
resolver,
|
|
44
|
-
mode,
|
|
45
|
-
initial,
|
|
46
|
-
reValidateMode,
|
|
47
|
-
shouldFocusError,
|
|
48
|
-
criteriaMode,
|
|
49
|
-
componentRegistry,
|
|
50
|
-
grid,
|
|
51
|
-
...props
|
|
52
|
-
}, ref) {
|
|
53
|
-
const form = (0, import_react_hook_form.useForm)({
|
|
54
|
-
resolver,
|
|
55
|
-
mode,
|
|
56
|
-
defaultValues: initial,
|
|
57
|
-
reValidateMode,
|
|
58
|
-
shouldFocusError,
|
|
59
|
-
criteriaMode
|
|
60
|
-
});
|
|
61
|
-
const handleSubmit = (0, import_react.useCallback)((data) => {
|
|
62
|
-
onSubmit && onSubmit(data);
|
|
63
|
-
}, [onSubmit]);
|
|
64
|
-
const ctx = {
|
|
65
|
-
fieldsMap,
|
|
66
|
-
fieldsetsMap,
|
|
67
|
-
control: form.control,
|
|
68
|
-
register: form.register,
|
|
69
|
-
watch: form.watch,
|
|
70
|
-
registerField,
|
|
71
|
-
errors: form.formState.errors,
|
|
72
|
-
formState: form.formState,
|
|
73
|
-
reset: form.reset,
|
|
74
|
-
trigger: form.trigger,
|
|
75
|
-
getFieldState: form.getFieldState,
|
|
76
|
-
setValue: form.setValue,
|
|
77
|
-
clearErrors: form.clearErrors,
|
|
78
|
-
getValues: form.getValues,
|
|
79
|
-
unregister: form.unregister,
|
|
80
|
-
componentRegistry,
|
|
81
|
-
setError: form.setError
|
|
82
|
-
};
|
|
83
|
-
return /* @__PURE__ */ import_react.default.createElement(import_FormContext.FormContext.Provider, {
|
|
84
|
-
value: ctx
|
|
85
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_Form.Form, {
|
|
86
|
-
grid,
|
|
87
|
-
onSubmit: form.handleSubmit(handleSubmit),
|
|
88
|
-
ref,
|
|
89
|
-
...props
|
|
90
|
-
}, children));
|
|
91
|
-
});
|
|
92
|
-
const FormBuilder = import_react.default.forwardRef(function FormBuilder2({
|
|
93
|
-
fields = [],
|
|
94
|
-
fieldsets,
|
|
95
|
-
initial = {},
|
|
96
|
-
onSubmit,
|
|
97
|
-
children,
|
|
98
|
-
reValidateMode = "onSubmit",
|
|
99
|
-
mode = "onSubmit",
|
|
100
|
-
shouldFocusError = true,
|
|
101
|
-
criteriaMode = "all",
|
|
102
|
-
auto = false,
|
|
103
|
-
validatorRegistry,
|
|
104
|
-
componentRegistry,
|
|
105
|
-
grid = false,
|
|
106
|
-
...props
|
|
107
|
-
}, ref) {
|
|
108
|
-
const fieldsState = (0, import_react.useRef)(fields);
|
|
109
|
-
const setFieldsState = (0, import_react.useCallback)((newFields) => {
|
|
110
|
-
fieldsState.current = newFields;
|
|
111
|
-
}, []);
|
|
112
|
-
const schema = (0, import_validators.useValidationSchema)(fieldsState, validatorRegistry);
|
|
113
|
-
const registerField = (0, import_react.useCallback)((field) => {
|
|
114
|
-
const fieldIndex = fieldsState.current.findIndex((f) => f.key === field.key);
|
|
115
|
-
if (fieldIndex > -1) {
|
|
116
|
-
fieldsState.current[fieldIndex] = field;
|
|
117
|
-
} else {
|
|
118
|
-
fieldsState.current.push(field);
|
|
119
|
-
}
|
|
120
|
-
setFieldsState(fieldsState.current);
|
|
121
|
-
}, []);
|
|
122
|
-
let resolver;
|
|
123
|
-
let fieldsMap;
|
|
124
|
-
let fieldsetsMap;
|
|
125
|
-
let fieldChildren;
|
|
126
|
-
if (schema) {
|
|
127
|
-
resolver = (0, import_utils.yupResolver)(schema);
|
|
128
|
-
fieldsMap = fields ? fields.reduce((map, field) => ({...map, [field.key]: field}), {}) : {};
|
|
129
|
-
fieldsetsMap = fieldsets && fieldsets.reduce((map, fieldset) => ({...map, [fieldset.key]: fieldset}), {});
|
|
130
|
-
if (auto) {
|
|
131
|
-
if (fieldsets) {
|
|
132
|
-
fieldChildren = fieldsets.map((fieldset) => /* @__PURE__ */ import_react.default.createElement(import_Fieldset.default, {
|
|
133
|
-
key: fieldset.key
|
|
134
|
-
}));
|
|
135
|
-
} else if (fields) {
|
|
136
|
-
fieldChildren = fields.map((field) => /* @__PURE__ */ import_react.default.createElement(import_Field.default, {
|
|
137
|
-
key: field.key,
|
|
138
|
-
name: field.key
|
|
139
|
-
}));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return /* @__PURE__ */ import_react.default.createElement(FormBase, {
|
|
144
|
-
resolver,
|
|
145
|
-
fieldsetsMap,
|
|
146
|
-
fieldsMap,
|
|
147
|
-
registerField,
|
|
148
|
-
initial,
|
|
149
|
-
reValidateMode,
|
|
150
|
-
mode,
|
|
151
|
-
shouldFocusError,
|
|
152
|
-
criteriaMode,
|
|
153
|
-
onSubmit,
|
|
154
|
-
componentRegistry,
|
|
155
|
-
ref,
|
|
156
|
-
grid,
|
|
157
|
-
...props
|
|
158
|
-
}, fieldChildren, children);
|
|
159
|
-
});
|
|
160
|
-
var FormBuilder_default = FormBuilder;
|
|
161
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
162
|
-
0 && (module.exports = {
|
|
163
|
-
FormBase,
|
|
164
|
-
FormBuilder
|
|
165
|
-
});
|
|
166
|
-
//# sourceMappingURL=FormBuilder.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/FormBuilder/FormBuilder.tsx"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useCallback, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport Field from '@digigov/form/Field';\nimport Fieldset from '@digigov/form/Fieldset';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';\nimport { yupResolver } from '@digigov/form/utils';\nimport { useValidationSchema } from '@digigov/form/validators';\nimport { Form } from '@digigov/react-core/Form';\n\nexport const FormBase = React.forwardRef(function FormBase(\n {\n onSubmit,\n children,\n registerField,\n fieldsMap,\n fieldsetsMap,\n resolver,\n mode,\n initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n componentRegistry,\n grid,\n ...props\n }: FormBaseProps,\n ref: React.Ref<HTMLFormElement>\n) {\n const form = useForm({\n resolver,\n mode,\n defaultValues: initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n });\n\n const handleSubmit = useCallback(\n (data: FormData): void => {\n onSubmit && onSubmit(data);\n },\n [onSubmit]\n );\n\n const ctx = {\n fieldsMap,\n fieldsetsMap,\n control: form.control,\n register: form.register,\n watch: form.watch,\n registerField: registerField,\n errors: form.formState.errors,\n formState: form.formState,\n reset: form.reset,\n trigger: form.trigger,\n getFieldState: form.getFieldState,\n setValue: form.setValue,\n clearErrors: form.clearErrors,\n getValues: form.getValues,\n unregister: form.unregister,\n componentRegistry,\n setError: form.setError,\n };\n return (\n <FormContext.Provider value={ctx}>\n <Form\n grid={grid}\n onSubmit={form.handleSubmit(handleSubmit)}\n ref={ref}\n {...props}\n >\n {children}\n </Form>\n </FormContext.Provider>\n );\n});\n\nexport const FormBuilder = React.forwardRef(function FormBuilder(\n {\n fields = [],\n fieldsets,\n initial = {},\n onSubmit,\n children,\n reValidateMode = 'onSubmit',\n mode = 'onSubmit',\n shouldFocusError = true,\n criteriaMode = 'all',\n auto = false,\n validatorRegistry,\n componentRegistry,\n grid = false,\n ...props\n }: FormBuilderProps,\n ref: React.Ref<HTMLFormElement>\n): React.ReactElement {\n const fieldsState = useRef(fields);\n const setFieldsState = useCallback((newFields) => {\n fieldsState.current = newFields;\n }, []);\n const schema = useValidationSchema(fieldsState, validatorRegistry);\n const registerField = useCallback((field) => {\n const fieldIndex = fieldsState.current.findIndex(\n (f) => f.key === field.key\n );\n if (fieldIndex > -1) {\n fieldsState.current[fieldIndex] = field;\n } else {\n fieldsState.current.push(field);\n }\n setFieldsState(fieldsState.current);\n }, []);\n let resolver;\n let fieldsMap;\n let fieldsetsMap;\n let fieldChildren;\n if (schema) {\n resolver = yupResolver(schema);\n fieldsMap = fields\n ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})\n : {};\n fieldsetsMap =\n fieldsets &&\n fieldsets.reduce(\n (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),\n {}\n );\n\n if (auto) {\n if (fieldsets) {\n fieldChildren = fieldsets.map((fieldset) => (\n <Fieldset key={fieldset.key} />\n ));\n } else if (fields) {\n fieldChildren = fields.map((field) => (\n <Field key={field.key} name={field.key} />\n ));\n }\n }\n }\n return (\n <FormBase\n resolver={resolver}\n fieldsetsMap={fieldsetsMap}\n fieldsMap={fieldsMap}\n registerField={registerField}\n initial={initial}\n reValidateMode={reValidateMode}\n mode={mode}\n shouldFocusError={shouldFocusError}\n criteriaMode={criteriaMode}\n onSubmit={onSubmit}\n componentRegistry={componentRegistry}\n ref={ref}\n grid={grid}\n {...props}\n >\n {fieldChildren}\n {children}\n </FormBase>\n );\n});\n\nexport default FormBuilder;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|