@digigov/form 2.0.0-a402a664 → 2.0.0-abd768eb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/Field/FieldBase/index.js +1 -1
  2. package/Field/FieldBase.js.map +2 -2
  3. package/Field/FieldBaseContainer/index.js +36 -19
  4. package/Field/FieldBaseContainer.d.ts +1 -1
  5. package/Field/FieldBaseContainer.js.map +2 -2
  6. package/FieldArray/index.js +20 -1
  7. package/FieldArray/index.js.map +2 -2
  8. package/FormBuilder/index.js +0 -1
  9. package/FormBuilder/index.js.map +2 -2
  10. package/cjs/Field/FieldBase/index.js +1 -1
  11. package/cjs/Field/FieldBase.js.map +2 -2
  12. package/cjs/Field/FieldBaseContainer/index.js +36 -19
  13. package/cjs/Field/FieldBaseContainer.js.map +2 -2
  14. package/cjs/FieldArray/index.js +19 -0
  15. package/cjs/FieldArray/index.js.map +2 -2
  16. package/cjs/FormBuilder/index.js +0 -1
  17. package/cjs/FormBuilder/index.js.map +2 -2
  18. package/cjs/inputs/Checkboxes/index.js +1 -1
  19. package/cjs/inputs/Checkboxes/index.js.map +2 -2
  20. package/cjs/inputs/DateInput/index.js +26 -11
  21. package/cjs/inputs/DateInput/index.js.map +2 -2
  22. package/cjs/inputs/DateTimeInput/index.js +54 -33
  23. package/cjs/inputs/DateTimeInput/index.js.map +2 -2
  24. package/cjs/inputs/FileInput/index.js +42 -24
  25. package/cjs/inputs/FileInput/index.js.map +2 -2
  26. package/cjs/registry/index.js +4 -4
  27. package/cjs/registry.js.map +2 -2
  28. package/cjs/validators/index.js +1 -1
  29. package/cjs/validators/index.js.map +2 -2
  30. package/cjs/validators/utils/date/index.js +26 -3
  31. package/cjs/validators/utils/date.js.map +2 -2
  32. package/cjs/validators/utils/datetime/index.js +118 -24
  33. package/cjs/validators/utils/datetime.js.map +2 -2
  34. package/index.js +1 -1
  35. package/inputs/Checkboxes/index.js +1 -1
  36. package/inputs/Checkboxes/index.js.map +2 -2
  37. package/inputs/DateInput/DateInput.stories.d.ts +4 -0
  38. package/inputs/DateInput/__stories__/WithDefaultValue.d.ts +3 -0
  39. package/inputs/DateInput/__stories__/WithInitialValue.d.ts +3 -0
  40. package/inputs/DateInput/__stories__/WithWrongDefaultValue.d.ts +3 -0
  41. package/inputs/DateInput/__stories__/WithWrongInitialValue.d.ts +3 -0
  42. package/inputs/DateInput/index.js +27 -12
  43. package/inputs/DateInput/index.js.map +2 -2
  44. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +8 -3
  45. package/inputs/DateTimeInput/__stories__/WithDefaultValue.d.ts +3 -0
  46. package/inputs/DateTimeInput/__stories__/WithInitialValue.d.ts +3 -0
  47. package/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.d.ts +3 -0
  48. package/inputs/DateTimeInput/__stories__/WithWrongInitialValue.d.ts +3 -0
  49. package/inputs/DateTimeInput/index.js +55 -34
  50. package/inputs/DateTimeInput/index.js.map +2 -2
  51. package/inputs/FileInput/index.d.ts +5 -1
  52. package/inputs/FileInput/index.js +43 -25
  53. package/inputs/FileInput/index.js.map +2 -2
  54. package/package.json +4 -4
  55. package/registry/index.js +4 -4
  56. package/src/Field/FieldBase.tsx +1 -1
  57. package/src/Field/FieldBaseContainer.tsx +67 -51
  58. package/src/FieldArray/index.tsx +28 -1
  59. package/src/FormBuilder/index.tsx +0 -1
  60. package/src/FormBuilder/scenarios.test.tsx +759 -1
  61. package/src/inputs/Checkboxes/index.tsx +1 -5
  62. package/src/inputs/DateInput/DateInput.stories.js +4 -0
  63. package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +26 -0
  64. package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +28 -0
  65. package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  66. package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +28 -0
  67. package/src/inputs/DateInput/index.test.tsx +16 -0
  68. package/src/inputs/DateInput/index.tsx +30 -12
  69. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +9 -6
  70. package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +26 -0
  71. package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +28 -0
  72. package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  73. package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +28 -0
  74. package/src/inputs/DateTimeInput/index.test.tsx +16 -0
  75. package/src/inputs/DateTimeInput/index.tsx +58 -34
  76. package/src/inputs/FileInput/index.tsx +70 -39
  77. package/src/registry.js +4 -4
  78. package/src/validators/index.ts +1 -1
  79. package/src/validators/utils/date.ts +28 -4
  80. package/src/validators/utils/datetime.ts +121 -29
  81. package/validators/index.js +1 -1
  82. package/validators/index.js.map +2 -2
  83. package/validators/utils/date/index.js +26 -3
  84. package/validators/utils/date.d.ts +1 -1
  85. package/validators/utils/date.js.map +2 -2
  86. package/validators/utils/datetime/index.js +118 -24
  87. package/validators/utils/datetime.d.ts +1 -1
  88. package/validators/utils/datetime.js.map +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../registry.js"],
4
- "sourcesContent": ["\nimport * as _digigov_form_FormContext from \"@digigov/form/FormContext\";\nimport * as _digigov_form from \"@digigov/form\";\nimport * as _digigov_form_internal from \"@digigov/form/internal\";\nimport * as _digigov_form_types from \"@digigov/form/types\";\nimport * as _digigov_form_utils from \"@digigov/form/utils\";\nimport * as _digigov_form_Field_ErrorGroup from \"@digigov/form/Field/ErrorGroup\";\nimport * as _digigov_form_Field_FieldBase from \"@digigov/form/Field/FieldBase\";\nimport * as _digigov_form_Field_FieldBaseContainer from \"@digigov/form/Field/FieldBaseContainer\";\nimport * as _digigov_form_Field_FieldConditional from \"@digigov/form/Field/FieldConditional\";\nimport * as _digigov_form_Field from \"@digigov/form/Field\";\nimport * as _digigov_form_Field_types from \"@digigov/form/Field/types\";\nimport * as _digigov_form_FieldArray_FormDialog from \"@digigov/form/FieldArray/FormDialog\";\nimport * as _digigov_form_FieldArray from \"@digigov/form/FieldArray\";\nimport * as _digigov_form_FieldObject from \"@digigov/form/FieldObject\";\nimport * as _digigov_form_Fieldset_FieldsetWithContext from \"@digigov/form/Fieldset/FieldsetWithContext\";\nimport * as _digigov_form_Fieldset from \"@digigov/form/Fieldset\";\nimport * as _digigov_form_Fieldset_types from \"@digigov/form/Fieldset/types\";\nimport * as _digigov_form_FormBuilder from \"@digigov/form/FormBuilder\";\nimport * as _digigov_form_MultiplicityField_add_objects from \"@digigov/form/MultiplicityField/add-objects\";\nimport * as _digigov_form_MultiplicityField from \"@digigov/form/MultiplicityField\";\nimport * as _digigov_form_MultiplicityField_types from \"@digigov/form/MultiplicityField/types\";\nimport * as _digigov_form_Questions_Questions from \"@digigov/form/Questions/Questions\";\nimport * as _digigov_form_Questions_QuestionsContext from \"@digigov/form/Questions/QuestionsContext\";\nimport * as _digigov_form_Questions_getNextStep from \"@digigov/form/Questions/getNextStep\";\nimport * as _digigov_form_Questions from \"@digigov/form/Questions\";\nimport * as _digigov_form_Questions_types from \"@digigov/form/Questions/types\";\nimport * as _digigov_form_inputs from \"@digigov/form/inputs\";\nimport * as _digigov_form_inputs_inputsScenarios from \"@digigov/form/inputs/inputsScenarios\";\nimport * as _digigov_form_locales_el from \"@digigov/form/locales/el\";\nimport * as _digigov_form_validators from \"@digigov/form/validators\";\nimport * as _digigov_form_validators_types from \"@digigov/form/validators/types\";\nimport * as _digigov_form_Field_utils_calculateField from \"@digigov/form/Field/utils/calculateField\";\nimport * as _digigov_form_Field_utils_evaluateFieldWithConditions from \"@digigov/form/Field/utils/evaluateFieldWithConditions\";\nimport * as _digigov_form_Field_utils from \"@digigov/form/Field/utils\";\nimport * as _digigov_form_Field_utils_useField from \"@digigov/form/Field/utils/useField\";\nimport * as _digigov_form_Questions_Step_ReviewStep from \"@digigov/form/Questions/Step/ReviewStep\";\nimport * as _digigov_form_Questions_Step_Step from \"@digigov/form/Questions/Step/Step\";\nimport * as _digigov_form_Questions_Step_StepArrayReview from \"@digigov/form/Questions/Step/StepArrayReview\";\nimport * as _digigov_form_Questions_Step_StepContext from \"@digigov/form/Questions/Step/StepContext\";\nimport * as _digigov_form_Questions_Step_StepDescription from \"@digigov/form/Questions/Step/StepDescription\";\nimport * as _digigov_form_Questions_Step_StepForm from \"@digigov/form/Questions/Step/StepForm\";\nimport * as _digigov_form_Questions_Step_StepQuote from \"@digigov/form/Questions/Step/StepQuote\";\nimport * as _digigov_form_Questions_Step_StepTitle from \"@digigov/form/Questions/Step/StepTitle\";\nimport * as _digigov_form_Questions_Step_getAddMoreFields from \"@digigov/form/Questions/Step/getAddMoreFields\";\nimport * as _digigov_form_Questions_Step from \"@digigov/form/Questions/Step\";\nimport * as _digigov_form_Questions_Step_types from \"@digigov/form/Questions/Step/types\";\nimport * as _digigov_form_inputs_Checkboxes from \"@digigov/form/inputs/Checkboxes\";\nimport * as _digigov_form_inputs_AutoCompleteInput from \"@digigov/form/inputs/AutoCompleteInput\";\nimport * as _digigov_form_inputs_DateInput from \"@digigov/form/inputs/DateInput\";\nimport * as _digigov_form_inputs_DateTimeInput from \"@digigov/form/inputs/DateTimeInput\";\nimport * as _digigov_form_inputs_FileInput from \"@digigov/form/inputs/FileInput\";\nimport * as _digigov_form_inputs_ImageInput from \"@digigov/form/inputs/ImageInput\";\nimport * as _digigov_form_inputs_Input from \"@digigov/form/inputs/Input\";\nimport * as _digigov_form_inputs_Label from \"@digigov/form/inputs/Label\";\nimport * as _digigov_form_inputs_OtpInput from \"@digigov/form/inputs/OtpInput\";\nimport * as _digigov_form_inputs_Radio from \"@digigov/form/inputs/Radio\";\nimport * as _digigov_form_inputs_Select from \"@digigov/form/inputs/Select\";\nimport * as _digigov_form_validators_utils_afm from \"@digigov/form/validators/utils/afm\";\nimport * as _digigov_form_validators_utils_amka from \"@digigov/form/validators/utils/amka\";\nimport * as _digigov_form_validators_utils_date from \"@digigov/form/validators/utils/date\";\nimport * as _digigov_form_validators_utils_datetime from \"@digigov/form/validators/utils/datetime\";\nimport * as _digigov_form_validators_utils_file from \"@digigov/form/validators/utils/file\";\nimport * as _digigov_form_validators_utils_iban from \"@digigov/form/validators/utils/iban\";\nimport * as _digigov_form_validators_utils_image from \"@digigov/form/validators/utils/image\";\nimport * as _digigov_form_validators_utils from \"@digigov/form/validators/utils\";\nimport * as _digigov_form_validators_utils_int from \"@digigov/form/validators/utils/int\";\nimport * as _digigov_form_validators_utils_number from \"@digigov/form/validators/utils/number\";\nimport * as _digigov_form_validators_utils_otp from \"@digigov/form/validators/utils/otp\";\nimport * as _digigov_form_validators_utils_phone from \"@digigov/form/validators/utils/phone\";\nimport * as _digigov_form_validators_utils_postal_code from \"@digigov/form/validators/utils/postal_code\";\nimport * as _digigov_form_validators_utils_text_limit from \"@digigov/form/validators/utils/text_limit\";\nimport * as _digigov_form_validators_utils_uuid4 from \"@digigov/form/validators/utils/uuid4\";\nfunction lazyImport(pkgImport) {\n return new Proxy(\n {},\n {\n get: (_target, name) => {\n if (name === '__esModule' || name === 'default') {\n return pkgImport.default;\n } else if(\n name === '*'\n ) {\n return pkgImport;\n } else {\n return pkgImport[name];\n }\n },\n }\n )\n}\nexport default {\n '@digigov/form/FormContext': lazyImport(_digigov_form_FormContext),\n '@digigov/form': lazyImport(_digigov_form),\n '@digigov/form/internal': lazyImport(_digigov_form_internal),\n '@digigov/form/types': lazyImport(_digigov_form_types),\n '@digigov/form/utils': lazyImport(_digigov_form_utils),\n '@digigov/form/Field/ErrorGroup': lazyImport(_digigov_form_Field_ErrorGroup),\n '@digigov/form/Field/FieldBase': lazyImport(_digigov_form_Field_FieldBase),\n '@digigov/form/Field/FieldBaseContainer': lazyImport(_digigov_form_Field_FieldBaseContainer),\n '@digigov/form/Field/FieldConditional': lazyImport(_digigov_form_Field_FieldConditional),\n '@digigov/form/Field': lazyImport(_digigov_form_Field),\n '@digigov/form/Field/types': lazyImport(_digigov_form_Field_types),\n '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),\n '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),\n '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),\n '@digigov/form/Fieldset/FieldsetWithContext': lazyImport(_digigov_form_Fieldset_FieldsetWithContext),\n '@digigov/form/Fieldset': lazyImport(_digigov_form_Fieldset),\n '@digigov/form/Fieldset/types': lazyImport(_digigov_form_Fieldset_types),\n '@digigov/form/FormBuilder': lazyImport(_digigov_form_FormBuilder),\n '@digigov/form/MultiplicityField/add-objects': lazyImport(_digigov_form_MultiplicityField_add_objects),\n '@digigov/form/MultiplicityField': lazyImport(_digigov_form_MultiplicityField),\n '@digigov/form/MultiplicityField/types': lazyImport(_digigov_form_MultiplicityField_types),\n '@digigov/form/Questions/Questions': lazyImport(_digigov_form_Questions_Questions),\n '@digigov/form/Questions/QuestionsContext': lazyImport(_digigov_form_Questions_QuestionsContext),\n '@digigov/form/Questions/getNextStep': lazyImport(_digigov_form_Questions_getNextStep),\n '@digigov/form/Questions': lazyImport(_digigov_form_Questions),\n '@digigov/form/Questions/types': lazyImport(_digigov_form_Questions_types),\n '@digigov/form/inputs': lazyImport(_digigov_form_inputs),\n '@digigov/form/inputs/inputsScenarios': lazyImport(_digigov_form_inputs_inputsScenarios),\n '@digigov/form/locales/el': lazyImport(_digigov_form_locales_el),\n '@digigov/form/validators': lazyImport(_digigov_form_validators),\n '@digigov/form/validators/types': lazyImport(_digigov_form_validators_types),\n '@digigov/form/Field/utils/calculateField': lazyImport(_digigov_form_Field_utils_calculateField),\n '@digigov/form/Field/utils/evaluateFieldWithConditions': lazyImport(_digigov_form_Field_utils_evaluateFieldWithConditions),\n '@digigov/form/Field/utils': lazyImport(_digigov_form_Field_utils),\n '@digigov/form/Field/utils/useField': lazyImport(_digigov_form_Field_utils_useField),\n '@digigov/form/Questions/Step/ReviewStep': lazyImport(_digigov_form_Questions_Step_ReviewStep),\n '@digigov/form/Questions/Step/Step': lazyImport(_digigov_form_Questions_Step_Step),\n '@digigov/form/Questions/Step/StepArrayReview': lazyImport(_digigov_form_Questions_Step_StepArrayReview),\n '@digigov/form/Questions/Step/StepContext': lazyImport(_digigov_form_Questions_Step_StepContext),\n '@digigov/form/Questions/Step/StepDescription': lazyImport(_digigov_form_Questions_Step_StepDescription),\n '@digigov/form/Questions/Step/StepForm': lazyImport(_digigov_form_Questions_Step_StepForm),\n '@digigov/form/Questions/Step/StepQuote': lazyImport(_digigov_form_Questions_Step_StepQuote),\n '@digigov/form/Questions/Step/StepTitle': lazyImport(_digigov_form_Questions_Step_StepTitle),\n '@digigov/form/Questions/Step/getAddMoreFields': lazyImport(_digigov_form_Questions_Step_getAddMoreFields),\n '@digigov/form/Questions/Step': lazyImport(_digigov_form_Questions_Step),\n '@digigov/form/Questions/Step/types': lazyImport(_digigov_form_Questions_Step_types),\n '@digigov/form/inputs/Checkboxes': lazyImport(_digigov_form_inputs_Checkboxes),\n '@digigov/form/inputs/AutoCompleteInput': lazyImport(_digigov_form_inputs_AutoCompleteInput),\n '@digigov/form/inputs/DateInput': lazyImport(_digigov_form_inputs_DateInput),\n '@digigov/form/inputs/DateTimeInput': lazyImport(_digigov_form_inputs_DateTimeInput),\n '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),\n '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),\n '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),\n '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),\n '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),\n '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),\n '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),\n '@digigov/form/validators/utils/afm': lazyImport(_digigov_form_validators_utils_afm),\n '@digigov/form/validators/utils/amka': lazyImport(_digigov_form_validators_utils_amka),\n '@digigov/form/validators/utils/date': lazyImport(_digigov_form_validators_utils_date),\n '@digigov/form/validators/utils/datetime': lazyImport(_digigov_form_validators_utils_datetime),\n '@digigov/form/validators/utils/file': lazyImport(_digigov_form_validators_utils_file),\n '@digigov/form/validators/utils/iban': lazyImport(_digigov_form_validators_utils_iban),\n '@digigov/form/validators/utils/image': lazyImport(_digigov_form_validators_utils_image),\n '@digigov/form/validators/utils': lazyImport(_digigov_form_validators_utils),\n '@digigov/form/validators/utils/int': lazyImport(_digigov_form_validators_utils_int),\n '@digigov/form/validators/utils/number': lazyImport(_digigov_form_validators_utils_number),\n '@digigov/form/validators/utils/otp': lazyImport(_digigov_form_validators_utils_otp),\n '@digigov/form/validators/utils/phone': lazyImport(_digigov_form_validators_utils_phone),\n '@digigov/form/validators/utils/postal_code': lazyImport(_digigov_form_validators_utils_postal_code),\n '@digigov/form/validators/utils/text_limit': lazyImport(_digigov_form_validators_utils_text_limit),\n '@digigov/form/validators/utils/uuid4': lazyImport(_digigov_form_validators_utils_uuid4)\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["\nimport * as _digigov_form_FormContext from \"@digigov/form/FormContext\";\nimport * as _digigov_form from \"@digigov/form\";\nimport * as _digigov_form_internal from \"@digigov/form/internal\";\nimport * as _digigov_form_types from \"@digigov/form/types\";\nimport * as _digigov_form_utils from \"@digigov/form/utils\";\nimport * as _digigov_form_Field_ErrorGroup from \"@digigov/form/Field/ErrorGroup\";\nimport * as _digigov_form_Field_FieldBase from \"@digigov/form/Field/FieldBase\";\nimport * as _digigov_form_Field_FieldBaseContainer from \"@digigov/form/Field/FieldBaseContainer\";\nimport * as _digigov_form_Field_FieldConditional from \"@digigov/form/Field/FieldConditional\";\nimport * as _digigov_form_Field from \"@digigov/form/Field\";\nimport * as _digigov_form_Field_types from \"@digigov/form/Field/types\";\nimport * as _digigov_form_FieldArray_FormDialog from \"@digigov/form/FieldArray/FormDialog\";\nimport * as _digigov_form_FieldArray from \"@digigov/form/FieldArray\";\nimport * as _digigov_form_FieldObject from \"@digigov/form/FieldObject\";\nimport * as _digigov_form_Fieldset_FieldsetWithContext from \"@digigov/form/Fieldset/FieldsetWithContext\";\nimport * as _digigov_form_Fieldset from \"@digigov/form/Fieldset\";\nimport * as _digigov_form_Fieldset_types from \"@digigov/form/Fieldset/types\";\nimport * as _digigov_form_FormBuilder from \"@digigov/form/FormBuilder\";\nimport * as _digigov_form_MultiplicityField_add_objects from \"@digigov/form/MultiplicityField/add-objects\";\nimport * as _digigov_form_MultiplicityField from \"@digigov/form/MultiplicityField\";\nimport * as _digigov_form_MultiplicityField_types from \"@digigov/form/MultiplicityField/types\";\nimport * as _digigov_form_Questions_Questions from \"@digigov/form/Questions/Questions\";\nimport * as _digigov_form_Questions_QuestionsContext from \"@digigov/form/Questions/QuestionsContext\";\nimport * as _digigov_form_Questions_getNextStep from \"@digigov/form/Questions/getNextStep\";\nimport * as _digigov_form_Questions from \"@digigov/form/Questions\";\nimport * as _digigov_form_Questions_types from \"@digigov/form/Questions/types\";\nimport * as _digigov_form_inputs from \"@digigov/form/inputs\";\nimport * as _digigov_form_inputs_inputsScenarios from \"@digigov/form/inputs/inputsScenarios\";\nimport * as _digigov_form_locales_el from \"@digigov/form/locales/el\";\nimport * as _digigov_form_validators from \"@digigov/form/validators\";\nimport * as _digigov_form_validators_types from \"@digigov/form/validators/types\";\nimport * as _digigov_form_Field_utils_calculateField from \"@digigov/form/Field/utils/calculateField\";\nimport * as _digigov_form_Field_utils_evaluateFieldWithConditions from \"@digigov/form/Field/utils/evaluateFieldWithConditions\";\nimport * as _digigov_form_Field_utils from \"@digigov/form/Field/utils\";\nimport * as _digigov_form_Field_utils_useField from \"@digigov/form/Field/utils/useField\";\nimport * as _digigov_form_Questions_Step_ReviewStep from \"@digigov/form/Questions/Step/ReviewStep\";\nimport * as _digigov_form_Questions_Step_Step from \"@digigov/form/Questions/Step/Step\";\nimport * as _digigov_form_Questions_Step_StepArrayReview from \"@digigov/form/Questions/Step/StepArrayReview\";\nimport * as _digigov_form_Questions_Step_StepContext from \"@digigov/form/Questions/Step/StepContext\";\nimport * as _digigov_form_Questions_Step_StepDescription from \"@digigov/form/Questions/Step/StepDescription\";\nimport * as _digigov_form_Questions_Step_StepForm from \"@digigov/form/Questions/Step/StepForm\";\nimport * as _digigov_form_Questions_Step_StepQuote from \"@digigov/form/Questions/Step/StepQuote\";\nimport * as _digigov_form_Questions_Step_StepTitle from \"@digigov/form/Questions/Step/StepTitle\";\nimport * as _digigov_form_Questions_Step_getAddMoreFields from \"@digigov/form/Questions/Step/getAddMoreFields\";\nimport * as _digigov_form_Questions_Step from \"@digigov/form/Questions/Step\";\nimport * as _digigov_form_Questions_Step_types from \"@digigov/form/Questions/Step/types\";\nimport * as _digigov_form_inputs_AutoCompleteInput from \"@digigov/form/inputs/AutoCompleteInput\";\nimport * as _digigov_form_inputs_Checkboxes from \"@digigov/form/inputs/Checkboxes\";\nimport * as _digigov_form_inputs_DateInput from \"@digigov/form/inputs/DateInput\";\nimport * as _digigov_form_inputs_FileInput from \"@digigov/form/inputs/FileInput\";\nimport * as _digigov_form_inputs_DateTimeInput from \"@digigov/form/inputs/DateTimeInput\";\nimport * as _digigov_form_inputs_ImageInput from \"@digigov/form/inputs/ImageInput\";\nimport * as _digigov_form_inputs_Input from \"@digigov/form/inputs/Input\";\nimport * as _digigov_form_inputs_Label from \"@digigov/form/inputs/Label\";\nimport * as _digigov_form_inputs_OtpInput from \"@digigov/form/inputs/OtpInput\";\nimport * as _digigov_form_inputs_Radio from \"@digigov/form/inputs/Radio\";\nimport * as _digigov_form_inputs_Select from \"@digigov/form/inputs/Select\";\nimport * as _digigov_form_validators_utils_afm from \"@digigov/form/validators/utils/afm\";\nimport * as _digigov_form_validators_utils_amka from \"@digigov/form/validators/utils/amka\";\nimport * as _digigov_form_validators_utils_date from \"@digigov/form/validators/utils/date\";\nimport * as _digigov_form_validators_utils_datetime from \"@digigov/form/validators/utils/datetime\";\nimport * as _digigov_form_validators_utils_file from \"@digigov/form/validators/utils/file\";\nimport * as _digigov_form_validators_utils_iban from \"@digigov/form/validators/utils/iban\";\nimport * as _digigov_form_validators_utils_image from \"@digigov/form/validators/utils/image\";\nimport * as _digigov_form_validators_utils from \"@digigov/form/validators/utils\";\nimport * as _digigov_form_validators_utils_int from \"@digigov/form/validators/utils/int\";\nimport * as _digigov_form_validators_utils_number from \"@digigov/form/validators/utils/number\";\nimport * as _digigov_form_validators_utils_otp from \"@digigov/form/validators/utils/otp\";\nimport * as _digigov_form_validators_utils_phone from \"@digigov/form/validators/utils/phone\";\nimport * as _digigov_form_validators_utils_postal_code from \"@digigov/form/validators/utils/postal_code\";\nimport * as _digigov_form_validators_utils_text_limit from \"@digigov/form/validators/utils/text_limit\";\nimport * as _digigov_form_validators_utils_uuid4 from \"@digigov/form/validators/utils/uuid4\";\nfunction lazyImport(pkgImport) {\n return new Proxy(\n {},\n {\n get: (_target, name) => {\n if (name === '__esModule' || name === 'default') {\n return pkgImport.default;\n } else if(\n name === '*'\n ) {\n return pkgImport;\n } else {\n return pkgImport[name];\n }\n },\n }\n )\n}\nexport default {\n '@digigov/form/FormContext': lazyImport(_digigov_form_FormContext),\n '@digigov/form': lazyImport(_digigov_form),\n '@digigov/form/internal': lazyImport(_digigov_form_internal),\n '@digigov/form/types': lazyImport(_digigov_form_types),\n '@digigov/form/utils': lazyImport(_digigov_form_utils),\n '@digigov/form/Field/ErrorGroup': lazyImport(_digigov_form_Field_ErrorGroup),\n '@digigov/form/Field/FieldBase': lazyImport(_digigov_form_Field_FieldBase),\n '@digigov/form/Field/FieldBaseContainer': lazyImport(_digigov_form_Field_FieldBaseContainer),\n '@digigov/form/Field/FieldConditional': lazyImport(_digigov_form_Field_FieldConditional),\n '@digigov/form/Field': lazyImport(_digigov_form_Field),\n '@digigov/form/Field/types': lazyImport(_digigov_form_Field_types),\n '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),\n '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),\n '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),\n '@digigov/form/Fieldset/FieldsetWithContext': lazyImport(_digigov_form_Fieldset_FieldsetWithContext),\n '@digigov/form/Fieldset': lazyImport(_digigov_form_Fieldset),\n '@digigov/form/Fieldset/types': lazyImport(_digigov_form_Fieldset_types),\n '@digigov/form/FormBuilder': lazyImport(_digigov_form_FormBuilder),\n '@digigov/form/MultiplicityField/add-objects': lazyImport(_digigov_form_MultiplicityField_add_objects),\n '@digigov/form/MultiplicityField': lazyImport(_digigov_form_MultiplicityField),\n '@digigov/form/MultiplicityField/types': lazyImport(_digigov_form_MultiplicityField_types),\n '@digigov/form/Questions/Questions': lazyImport(_digigov_form_Questions_Questions),\n '@digigov/form/Questions/QuestionsContext': lazyImport(_digigov_form_Questions_QuestionsContext),\n '@digigov/form/Questions/getNextStep': lazyImport(_digigov_form_Questions_getNextStep),\n '@digigov/form/Questions': lazyImport(_digigov_form_Questions),\n '@digigov/form/Questions/types': lazyImport(_digigov_form_Questions_types),\n '@digigov/form/inputs': lazyImport(_digigov_form_inputs),\n '@digigov/form/inputs/inputsScenarios': lazyImport(_digigov_form_inputs_inputsScenarios),\n '@digigov/form/locales/el': lazyImport(_digigov_form_locales_el),\n '@digigov/form/validators': lazyImport(_digigov_form_validators),\n '@digigov/form/validators/types': lazyImport(_digigov_form_validators_types),\n '@digigov/form/Field/utils/calculateField': lazyImport(_digigov_form_Field_utils_calculateField),\n '@digigov/form/Field/utils/evaluateFieldWithConditions': lazyImport(_digigov_form_Field_utils_evaluateFieldWithConditions),\n '@digigov/form/Field/utils': lazyImport(_digigov_form_Field_utils),\n '@digigov/form/Field/utils/useField': lazyImport(_digigov_form_Field_utils_useField),\n '@digigov/form/Questions/Step/ReviewStep': lazyImport(_digigov_form_Questions_Step_ReviewStep),\n '@digigov/form/Questions/Step/Step': lazyImport(_digigov_form_Questions_Step_Step),\n '@digigov/form/Questions/Step/StepArrayReview': lazyImport(_digigov_form_Questions_Step_StepArrayReview),\n '@digigov/form/Questions/Step/StepContext': lazyImport(_digigov_form_Questions_Step_StepContext),\n '@digigov/form/Questions/Step/StepDescription': lazyImport(_digigov_form_Questions_Step_StepDescription),\n '@digigov/form/Questions/Step/StepForm': lazyImport(_digigov_form_Questions_Step_StepForm),\n '@digigov/form/Questions/Step/StepQuote': lazyImport(_digigov_form_Questions_Step_StepQuote),\n '@digigov/form/Questions/Step/StepTitle': lazyImport(_digigov_form_Questions_Step_StepTitle),\n '@digigov/form/Questions/Step/getAddMoreFields': lazyImport(_digigov_form_Questions_Step_getAddMoreFields),\n '@digigov/form/Questions/Step': lazyImport(_digigov_form_Questions_Step),\n '@digigov/form/Questions/Step/types': lazyImport(_digigov_form_Questions_Step_types),\n '@digigov/form/inputs/AutoCompleteInput': lazyImport(_digigov_form_inputs_AutoCompleteInput),\n '@digigov/form/inputs/Checkboxes': lazyImport(_digigov_form_inputs_Checkboxes),\n '@digigov/form/inputs/DateInput': lazyImport(_digigov_form_inputs_DateInput),\n '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),\n '@digigov/form/inputs/DateTimeInput': lazyImport(_digigov_form_inputs_DateTimeInput),\n '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),\n '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),\n '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),\n '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),\n '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),\n '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),\n '@digigov/form/validators/utils/afm': lazyImport(_digigov_form_validators_utils_afm),\n '@digigov/form/validators/utils/amka': lazyImport(_digigov_form_validators_utils_amka),\n '@digigov/form/validators/utils/date': lazyImport(_digigov_form_validators_utils_date),\n '@digigov/form/validators/utils/datetime': lazyImport(_digigov_form_validators_utils_datetime),\n '@digigov/form/validators/utils/file': lazyImport(_digigov_form_validators_utils_file),\n '@digigov/form/validators/utils/iban': lazyImport(_digigov_form_validators_utils_iban),\n '@digigov/form/validators/utils/image': lazyImport(_digigov_form_validators_utils_image),\n '@digigov/form/validators/utils': lazyImport(_digigov_form_validators_utils),\n '@digigov/form/validators/utils/int': lazyImport(_digigov_form_validators_utils_int),\n '@digigov/form/validators/utils/number': lazyImport(_digigov_form_validators_utils_number),\n '@digigov/form/validators/utils/otp': lazyImport(_digigov_form_validators_utils_otp),\n '@digigov/form/validators/utils/phone': lazyImport(_digigov_form_validators_utils_phone),\n '@digigov/form/validators/utils/postal_code': lazyImport(_digigov_form_validators_utils_postal_code),\n '@digigov/form/validators/utils/text_limit': lazyImport(_digigov_form_validators_utils_text_limit),\n '@digigov/form/validators/utils/uuid4': lazyImport(_digigov_form_validators_utils_uuid4)\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -155,7 +155,7 @@ function useValidationSchema(fields, validatorRegistry) {
155
155
  return (0, import_react.useMemo)(() => {
156
156
  const yupTypeMap = getYUPTypeMap(validatorRegistry);
157
157
  return (0, import_utils.getYupObjectShape)(fields, yupTypeMap, validatorRegistry);
158
- }, []);
158
+ }, [fields, validatorRegistry]);
159
159
  }
160
160
  // Annotate the CommonJS export names for ESM import in node:
161
161
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/validators/index.ts"],
4
- "sourcesContent": ["import { MutableRefObject, useMemo } from 'react';\nimport * as yup from 'yup';\nimport { AnyObjectSchema, StringSchema } from 'yup';\nimport { RequiredArraySchema } from 'yup/lib/array';\nimport Lazy from 'yup/lib/Lazy';\nimport { MixedSchema } from 'yup/lib/mixed';\nimport { TypeOfShape, AssertsShape } from 'yup/lib/object';\nimport { AnyObject } from 'yup/lib/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\nimport {\n getYupObjectShape,\n AFM_VALIDATOR,\n AMKA_VALIDATOR,\n FILE_MAX_SIZE_VALIDATOR,\n IBAN_VALIDATOR,\n OTP_VALIDATOR,\n MOBILE_PHONE_VALIDATOR,\n PHONE_NUMBER_VALIDATOR,\n TEXT_LIMIT_VALIDATOR,\n POSTALCODE_VALIDATOR,\n UUID4_VALIDATOR,\n IMAGE_DIMENSION_VALIDATOR,\n DATE_VALIDATOR,\n LATER_THAN_VALIDATOR,\n EARLIER_THAN_VALIDATOR,\n DATETIME_VALIDATOR,\n LATER_THAN_DATETIME_VALIDATOR,\n EARLIER_THAN_DATETIME_VALIDATOR,\n} from '@digigov/form/validators/utils';\nimport { INT_VALIDATOR } from '@digigov/form/validators/utils/int';\nimport { NUMBER_VALIDATOR } from '@digigov/form/validators/utils/number';\n\nexport const getYUPTypeMap = (\n validatorRegistry?: Record<string, any>\n): Record<string, any> => {\n const yupTypeMap = {\n file: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field));\n },\n string: (field): yup.StringSchema => {\n if (field.trim) {\n return yup.string().trim();\n } else {\n return yup.string();\n }\n },\n boolean: (): yup.BooleanSchema<\n boolean | null | undefined,\n AnyObject,\n boolean | null | undefined\n > => {\n return yup\n .boolean()\n .nullable()\n .transform((value) => {\n if (value === '' || typeof value === 'string') return null;\n if (typeof value === 'boolean') return value;\n if (value === 0 || value === 1) return Boolean(value);\n return value;\n });\n },\n object: (\n field\n ):\n | yup.ObjectSchema<any, AnyObject, TypeOfShape<any>, AssertsShape<any>>\n | Lazy<any, unknown> => {\n return getYupObjectShape(field.extra.fields, yupTypeMap);\n },\n array: (\n field\n ):\n | yup.ArraySchema<any, AnyObject, any[] | undefined>\n | RequiredArraySchema<any, AnyObject, any[] | undefined> => {\n if (typeof field.extra.of === 'object') {\n // else if the field is an object then it is a scalar type\n // eg. number, string etc.\n if (field.required) {\n field.extra.min = 1;\n }\n let arrayValidator = yup\n .array()\n .nullable()\n .of(yupTypeMap[field.extra.of.type](field.extra.of));\n if (field.extra.length)\n arrayValidator = arrayValidator.length(field.extra.length, {\n key: 'form.error.array.length',\n context: {\n length: field.extra.length,\n },\n });\n if (field.extra.min)\n arrayValidator = arrayValidator.min(field.extra.min, {\n key: 'form.error.array.min',\n context: {\n min: field.extra.min,\n },\n });\n if (field.extra.max)\n arrayValidator = arrayValidator.max(field.extra.max, {\n key: 'form.error.array.max',\n context: {\n max: field.extra.max,\n },\n });\n return arrayValidator;\n } else if (typeof field.extra.of === 'string') {\n return yup.array().of(yupTypeMap[field.extra.of]());\n } else {\n // in any other case it will be string\n return yup.array().of(yup.string());\n }\n },\n number: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR()),\n int: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR())\n .test(INT_VALIDATOR()),\n email: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().email('form.error.email')\n : yup.string().email('form.error.email'),\n afm: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AFM_VALIDATOR)\n : yup.string().test(AFM_VALIDATOR),\n amka: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AMKA_VALIDATOR)\n : yup.string().test(AMKA_VALIDATOR),\n uuid4: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(UUID4_VALIDATOR)\n : yup.string().test(UUID4_VALIDATOR),\n iban: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(IBAN_VALIDATOR(field))\n : yup.string().trim().test(IBAN_VALIDATOR(field)),\n otp: (field): yup.StringSchema =>\n yup.string().trim().test(OTP_VALIDATOR(field)),\n text: (field): yup.StringSchema => {\n if (field?.extra?.limit?.max || !!field?.extra?.limit?.min) {\n return field.trim\n ? yup.string().trim().test(TEXT_LIMIT_VALIDATOR(field))\n : yup.string().test(TEXT_LIMIT_VALIDATOR(field));\n } else {\n return field.trim ? yup.string().trim() : yup.string();\n }\n },\n image: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value.length || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field))\n .test(IMAGE_DIMENSION_VALIDATOR(field));\n },\n postal_code: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(POSTALCODE_VALIDATOR(field))\n : yup.string().test(POSTALCODE_VALIDATOR(field)),\n mobile_phone: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(MOBILE_PHONE_VALIDATOR)\n : yup.string().test(MOBILE_PHONE_VALIDATOR),\n phone_number: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(PHONE_NUMBER_VALIDATOR(field))\n : yup.string().test(PHONE_NUMBER_VALIDATOR(field)),\n 'choice:multiple': (): yup.ArraySchema<\n yup.StringSchema<string | undefined, AnyObject, string | undefined>,\n AnyObject,\n (string | undefined)[] | null | undefined,\n (string | undefined)[] | null | undefined\n > => yup.array().of(yup.string()).nullable(),\n 'choice:single': (): StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => yup.string().nullable(),\n date: (\n field\n ): yup.StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => {\n let schema = yup.string().nullable();\n if (field?.extra?.min) {\n schema = schema.test(LATER_THAN_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n schema = schema.test(EARLIER_THAN_VALIDATOR(field));\n } else {\n schema = schema.test(DATE_VALIDATOR);\n }\n return schema;\n },\n datetime: (field): yup.StringSchema => {\n if (field?.extra?.min) {\n return yup.string().test(LATER_THAN_DATETIME_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n return yup.string().test(EARLIER_THAN_DATETIME_VALIDATOR(field));\n }\n return yup.string().test(DATETIME_VALIDATOR);\n },\n ...validatorRegistry,\n };\n return yupTypeMap;\n};\n\nexport interface MutableRefObjectProps {}\n// Create a yup validation schema from given fields input\nexport function useValidationSchema(\n fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>,\n validatorRegistry?: Record<string, ValidatorSchema[]>\n): Lazy<any, unknown> | AnyObjectSchema | void {\n return useMemo(() => {\n const yupTypeMap = getYUPTypeMap(validatorRegistry);\n return getYupObjectShape(fields, yupTypeMap, validatorRegistry);\n }, []);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { MutableRefObject, useMemo } from 'react';\nimport * as yup from 'yup';\nimport { AnyObjectSchema, StringSchema } from 'yup';\nimport { RequiredArraySchema } from 'yup/lib/array';\nimport Lazy from 'yup/lib/Lazy';\nimport { MixedSchema } from 'yup/lib/mixed';\nimport { TypeOfShape, AssertsShape } from 'yup/lib/object';\nimport { AnyObject } from 'yup/lib/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\nimport {\n getYupObjectShape,\n AFM_VALIDATOR,\n AMKA_VALIDATOR,\n FILE_MAX_SIZE_VALIDATOR,\n IBAN_VALIDATOR,\n OTP_VALIDATOR,\n MOBILE_PHONE_VALIDATOR,\n PHONE_NUMBER_VALIDATOR,\n TEXT_LIMIT_VALIDATOR,\n POSTALCODE_VALIDATOR,\n UUID4_VALIDATOR,\n IMAGE_DIMENSION_VALIDATOR,\n DATE_VALIDATOR,\n LATER_THAN_VALIDATOR,\n EARLIER_THAN_VALIDATOR,\n DATETIME_VALIDATOR,\n LATER_THAN_DATETIME_VALIDATOR,\n EARLIER_THAN_DATETIME_VALIDATOR,\n} from '@digigov/form/validators/utils';\nimport { INT_VALIDATOR } from '@digigov/form/validators/utils/int';\nimport { NUMBER_VALIDATOR } from '@digigov/form/validators/utils/number';\n\nexport const getYUPTypeMap = (\n validatorRegistry?: Record<string, any>\n): Record<string, any> => {\n const yupTypeMap = {\n file: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field));\n },\n string: (field): yup.StringSchema => {\n if (field.trim) {\n return yup.string().trim();\n } else {\n return yup.string();\n }\n },\n boolean: (): yup.BooleanSchema<\n boolean | null | undefined,\n AnyObject,\n boolean | null | undefined\n > => {\n return yup\n .boolean()\n .nullable()\n .transform((value) => {\n if (value === '' || typeof value === 'string') return null;\n if (typeof value === 'boolean') return value;\n if (value === 0 || value === 1) return Boolean(value);\n return value;\n });\n },\n object: (\n field\n ):\n | yup.ObjectSchema<any, AnyObject, TypeOfShape<any>, AssertsShape<any>>\n | Lazy<any, unknown> => {\n return getYupObjectShape(field.extra.fields, yupTypeMap);\n },\n array: (\n field\n ):\n | yup.ArraySchema<any, AnyObject, any[] | undefined>\n | RequiredArraySchema<any, AnyObject, any[] | undefined> => {\n if (typeof field.extra.of === 'object') {\n // else if the field is an object then it is a scalar type\n // eg. number, string etc.\n if (field.required) {\n field.extra.min = 1;\n }\n let arrayValidator = yup\n .array()\n .nullable()\n .of(yupTypeMap[field.extra.of.type](field.extra.of));\n if (field.extra.length)\n arrayValidator = arrayValidator.length(field.extra.length, {\n key: 'form.error.array.length',\n context: {\n length: field.extra.length,\n },\n });\n if (field.extra.min)\n arrayValidator = arrayValidator.min(field.extra.min, {\n key: 'form.error.array.min',\n context: {\n min: field.extra.min,\n },\n });\n if (field.extra.max)\n arrayValidator = arrayValidator.max(field.extra.max, {\n key: 'form.error.array.max',\n context: {\n max: field.extra.max,\n },\n });\n return arrayValidator;\n } else if (typeof field.extra.of === 'string') {\n return yup.array().of(yupTypeMap[field.extra.of]());\n } else {\n // in any other case it will be string\n return yup.array().of(yup.string());\n }\n },\n number: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR()),\n int: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR())\n .test(INT_VALIDATOR()),\n email: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().email('form.error.email')\n : yup.string().email('form.error.email'),\n afm: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AFM_VALIDATOR)\n : yup.string().test(AFM_VALIDATOR),\n amka: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AMKA_VALIDATOR)\n : yup.string().test(AMKA_VALIDATOR),\n uuid4: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(UUID4_VALIDATOR)\n : yup.string().test(UUID4_VALIDATOR),\n iban: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(IBAN_VALIDATOR(field))\n : yup.string().trim().test(IBAN_VALIDATOR(field)),\n otp: (field): yup.StringSchema =>\n yup.string().trim().test(OTP_VALIDATOR(field)),\n text: (field): yup.StringSchema => {\n if (field?.extra?.limit?.max || !!field?.extra?.limit?.min) {\n return field.trim\n ? yup.string().trim().test(TEXT_LIMIT_VALIDATOR(field))\n : yup.string().test(TEXT_LIMIT_VALIDATOR(field));\n } else {\n return field.trim ? yup.string().trim() : yup.string();\n }\n },\n image: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value.length || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field))\n .test(IMAGE_DIMENSION_VALIDATOR(field));\n },\n postal_code: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(POSTALCODE_VALIDATOR(field))\n : yup.string().test(POSTALCODE_VALIDATOR(field)),\n mobile_phone: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(MOBILE_PHONE_VALIDATOR)\n : yup.string().test(MOBILE_PHONE_VALIDATOR),\n phone_number: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(PHONE_NUMBER_VALIDATOR(field))\n : yup.string().test(PHONE_NUMBER_VALIDATOR(field)),\n 'choice:multiple': (): yup.ArraySchema<\n yup.StringSchema<string | undefined, AnyObject, string | undefined>,\n AnyObject,\n (string | undefined)[] | null | undefined,\n (string | undefined)[] | null | undefined\n > => yup.array().of(yup.string()).nullable(),\n 'choice:single': (): StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => yup.string().nullable(),\n date: (\n field\n ): yup.StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => {\n let schema = yup.string().nullable();\n if (field?.extra?.min) {\n schema = schema.test(LATER_THAN_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n schema = schema.test(EARLIER_THAN_VALIDATOR(field));\n } else {\n schema = schema.test(DATE_VALIDATOR);\n }\n return schema;\n },\n datetime: (field): yup.StringSchema => {\n if (field?.extra?.min) {\n return yup.string().test(LATER_THAN_DATETIME_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n return yup.string().test(EARLIER_THAN_DATETIME_VALIDATOR(field));\n }\n return yup.string().test(DATETIME_VALIDATOR);\n },\n ...validatorRegistry,\n };\n return yupTypeMap;\n};\n\nexport interface MutableRefObjectProps {}\n// Create a yup validation schema from given fields input\nexport function useValidationSchema(\n fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>,\n validatorRegistry?: Record<string, ValidatorSchema[]>\n): Lazy<any, unknown> | AnyObjectSchema | void {\n return useMemo(() => {\n const yupTypeMap = getYUPTypeMap(validatorRegistry);\n return getYupObjectShape(fields, yupTypeMap, validatorRegistry);\n }, [fields, validatorRegistry]);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -37,11 +37,14 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat")
37
37
  import_dayjs.default.extend(import_customParseFormat.default);
38
38
  const VALID_DATE_FORMATS = ["DD/MM/YYYY"];
39
39
  const DATE_CACHE = {};
40
+ const onlyNumbersRegex = /^\d+$/;
40
41
  const getDate = (v) => {
41
42
  return DATE_CACHE[v] ? DATE_CACHE[v] : (0, import_dayjs.default)(v, VALID_DATE_FORMATS, true);
42
43
  };
44
+ const getDaysInMonth = (month, year) => {
45
+ return (0, import_dayjs.default)(`${year}-${month}-01`).daysInMonth();
46
+ };
43
47
  const checkPartialDate = (value) => {
44
- console.log("value.split('/')", value.split("/"));
45
48
  const [day, month, year] = value.split("/");
46
49
  if (day && !month && !year) {
47
50
  return "form.error.date.invalid_month_year";
@@ -60,9 +63,29 @@ const checkPartialDate = (value) => {
60
63
  }
61
64
  if (!day && month && year) {
62
65
  return "form.error.date.invalid_day";
63
- } else {
64
- return "form.error.date.invalid";
65
66
  }
67
+ if (day && month) {
68
+ const dayNum = parseInt(day);
69
+ const monthNum = parseInt(month);
70
+ const validYear = onlyNumbersRegex.test(year) ? year : void 0;
71
+ if (!validYear || year.length < 4) {
72
+ return "form.error.date.invalid";
73
+ }
74
+ const yearNum = parseInt(validYear);
75
+ const maxDay = getDaysInMonth(monthNum, yearNum);
76
+ if (dayNum < 1 || dayNum > maxDay) {
77
+ return {
78
+ key: "form.error.date.invalid_day_range",
79
+ context: {
80
+ maxDay
81
+ }
82
+ };
83
+ }
84
+ if (monthNum < 1 || monthNum > 12) {
85
+ return "form.error.datetime.invalid_month_range";
86
+ }
87
+ }
88
+ return "form.error.date.invalid";
66
89
  };
67
90
  const LATER_THAN_VALIDATOR = (field) => {
68
91
  let minDate;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/date.ts"],
4
- "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATE_FORMATS = ['DD/MM/YYYY'];\nconst DATE_CACHE = {};\n\nconst getDate = (v: string) => {\n return DATE_CACHE[v] ? DATE_CACHE[v] : dayjs(v, VALID_DATE_FORMATS, true);\n};\n\n// Function to check partial date completion\nconst checkPartialDate = (value: string) => {\n console.log(\"value.split('/')\", value.split('/'));\n const [day, month, year] = value.split('/');\n if (day && !month && !year) {\n return 'form.error.date.invalid_month_year';\n }\n if (!day && month && !year) {\n return 'form.error.date.invalid_day_year';\n }\n if (!day && !month && year) {\n return 'form.error.date.invalid_day_month';\n }\n if (day && month && !year) {\n return 'form.error.date.invalid_year';\n }\n if (day && !month && year) {\n return 'form.error.date.invalid_month';\n }\n if (!day && month && year) {\n return 'form.error.date.invalid_day';\n } else {\n return 'form.error.date.invalid';\n }\n};\n\nexport const LATER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let minDate;\n const params = field.extra || {};\n if (params.min === 'now') {\n const today = new Date();\n minDate = new Date(today);\n } else {\n minDate = getDate(params.min).toDate();\n }\n const minPreviousDate = new Date(minDate);\n minPreviousDate.setDate(minDate.getDate() - 1);\n return {\n name: 'later-than',\n message: {\n key: 'form.error.date.later_than',\n context: {\n minDate: minPreviousDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() > +minDate;\n return isValid;\n },\n };\n};\n\nexport const EARLIER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let maxDate;\n const params = field.extra || {};\n if (params.max === 'now') {\n const today = new Date();\n maxDate = new Date(today);\n } else {\n maxDate = getDate(params.max).toDate();\n }\n const maxNextDate = new Date(maxDate);\n maxNextDate.setDate(maxDate.getDate() + 1);\n return {\n name: 'earlier-than',\n message: {\n key: 'form.error.date.earlier_than',\n context: {\n maxDate: maxNextDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() < +maxDate;\n return isValid;\n },\n };\n};\n\nexport const DATE_VALIDATOR = {\n name: 'date-validator',\n message: (v): string => {\n return checkPartialDate(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n return date.isValid();\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATE_FORMATS = ['DD/MM/YYYY'];\nconst DATE_CACHE = {};\nconst onlyNumbersRegex = /^\\d+$/;\n\nconst getDate = (v: string) => {\n return DATE_CACHE[v] ? DATE_CACHE[v] : dayjs(v, VALID_DATE_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\n// Function to check partial date completion\nconst checkPartialDate = (value: string) => {\n const [day, month, year] = value.split('/');\n if (day && !month && !year) {\n return 'form.error.date.invalid_month_year';\n }\n if (!day && month && !year) {\n return 'form.error.date.invalid_day_year';\n }\n if (!day && !month && year) {\n return 'form.error.date.invalid_day_month';\n }\n if (day && month && !year) {\n return 'form.error.date.invalid_year';\n }\n if (day && !month && year) {\n return 'form.error.date.invalid_month';\n }\n if (!day && month && year) {\n return 'form.error.date.invalid_day';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const validYear = onlyNumbersRegex.test(year) ? year : undefined;\n if (!validYear || year.length < 4) {\n return 'form.error.date.invalid';\n }\n const yearNum = parseInt(validYear);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.date.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n return 'form.error.date.invalid';\n};\n\nexport const LATER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let minDate;\n const params = field.extra || {};\n if (params.min === 'now') {\n const today = new Date();\n minDate = new Date(today);\n } else {\n minDate = getDate(params.min).toDate();\n }\n const minPreviousDate = new Date(minDate);\n minPreviousDate.setDate(minDate.getDate() - 1);\n return {\n name: 'later-than',\n message: {\n key: 'form.error.date.later_than',\n context: {\n minDate: minPreviousDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() > +minDate;\n return isValid;\n },\n };\n};\n\nexport const EARLIER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let maxDate;\n const params = field.extra || {};\n if (params.max === 'now') {\n const today = new Date();\n maxDate = new Date(today);\n } else {\n maxDate = getDate(params.max).toDate();\n }\n const maxNextDate = new Date(maxDate);\n maxNextDate.setDate(maxDate.getDate() + 1);\n return {\n name: 'earlier-than',\n message: {\n key: 'form.error.date.earlier_than',\n context: {\n maxDate: maxNextDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() < +maxDate;\n return isValid;\n },\n };\n};\n\nexport const DATE_VALIDATOR = {\n name: 'date-validator',\n message: (v): string | object => {\n return checkPartialDate(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n return date.isValid();\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dayjs", "customParseFormat"]
7
7
  }
@@ -37,50 +37,144 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat")
37
37
  import_dayjs.default.extend(import_customParseFormat.default);
38
38
  const VALID_DATETIME_FORMATS = ["DD/MM/YYYY HH:mm"];
39
39
  const DATETIME_CACHE = {};
40
+ const onlyNumbersRegex = /^\d+$/;
40
41
  const getDateTime = (v) => {
41
42
  return DATETIME_CACHE[v] ? DATETIME_CACHE[v] : (0, import_dayjs.default)(v, VALID_DATETIME_FORMATS, true);
42
43
  };
44
+ const getDaysInMonth = (month, year) => {
45
+ return (0, import_dayjs.default)(`${year}-${month}-01`).daysInMonth();
46
+ };
43
47
  const checkPartialDateTime = (value) => {
44
48
  const [datePart, timePart] = value.split(" ");
45
- const [day, month, year] = datePart.split("/");
46
- const [hours, minutes] = timePart ? timePart.split(":") : [null, null];
47
- if (day && !month && !year) {
49
+ const [day, month, year] = datePart?.split("/") ?? [];
50
+ const [hours, minutes] = timePart?.split(":") ?? [];
51
+ const hasDay = Boolean(day);
52
+ const hasMonth = Boolean(month);
53
+ const hasYear = Boolean(year);
54
+ const hasHours = Boolean(hours);
55
+ const hasMinutes = Boolean(minutes);
56
+ if (hasDay && !hasMonth && !hasYear && !hasHours && !hasMinutes) {
57
+ return "form.error.datetime.invalid_month_year_hours_minutes";
58
+ }
59
+ if (!hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {
60
+ return "form.error.datetime.invalid_day_year_hours_minutes";
61
+ }
62
+ if (!hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {
63
+ return "form.error.datetime.invalid_day_month_hours_minutes";
64
+ }
65
+ if (hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {
66
+ return "form.error.datetime.invalid_year_hours_minutes";
67
+ }
68
+ if (hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {
69
+ return "form.error.datetime.invalid_month_hours_minutes";
70
+ }
71
+ if (!hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {
72
+ return "form.error.datetime.invalid_day_hours_minutes";
73
+ }
74
+ if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {
75
+ return "form.error.datetime.invalid__hours_minutes";
76
+ }
77
+ if (hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {
78
+ return "form.error.datetime.invalid_minutes";
79
+ }
80
+ if (hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {
81
+ return "form.error.datetime.invalid_hours";
82
+ }
83
+ if (hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {
84
+ return "form.error.datetime.invalid_month_year_minutes";
85
+ }
86
+ if (hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {
87
+ return "form.error.datetime.invalid_month_year_hours";
88
+ }
89
+ if (hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {
48
90
  return "form.error.datetime.invalid_month_year";
49
91
  }
50
- if (!day && month && !year) {
92
+ if (!hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {
93
+ return "form.error.datetime.invalid_day_year_minutes";
94
+ }
95
+ if (!hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {
96
+ return "form.error.datetime.invalid_day_year_hours";
97
+ }
98
+ if (!hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {
51
99
  return "form.error.datetime.invalid_day_year";
52
100
  }
53
- if (!day && !month && year) {
101
+ if (!hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {
102
+ return "form.error.datetime.invalid_day_month_minutes";
103
+ }
104
+ if (!hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {
105
+ return "form.error.datetime.invalid_day_month_hours";
106
+ }
107
+ if (!hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {
54
108
  return "form.error.datetime.invalid_day_month";
55
109
  }
56
- if (day && month && !year) {
110
+ if (!hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {
111
+ return "form.error.datetime.invalid_day_month_year";
112
+ }
113
+ if (!hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {
114
+ return "form.error.datetime.invalid_day_month_year_hours";
115
+ }
116
+ if (hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {
117
+ return "form.error.datetime.invalid_year_minutes";
118
+ }
119
+ if (hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {
120
+ return "form.error.datetime.invalid_year_hours";
121
+ }
122
+ if (hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {
57
123
  return "form.error.datetime.invalid_year";
58
124
  }
59
- if (day && !month && year) {
125
+ if (hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {
126
+ return "form.error.datetime.invalid_month_minutes";
127
+ }
128
+ if (hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {
129
+ return "form.error.datetime.invalid_month_hours";
130
+ }
131
+ if (hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {
60
132
  return "form.error.datetime.invalid_month";
61
133
  }
62
- if (!day && month && year) {
134
+ if (!hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {
135
+ return "form.error.datetime.invalid_day_minutes";
136
+ }
137
+ if (!hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {
138
+ return "form.error.datetime.invalid_day_hours";
139
+ }
140
+ if (!hasDay && hasMonth && hasYear && hasHours && hasMinutes) {
63
141
  return "form.error.datetime.invalid_day";
64
142
  }
65
- if (day && month && year) {
66
- if (hours && !minutes) {
67
- return "form.error.datetime.invalid_minutes";
143
+ if (!hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {
144
+ return "form.error.datetime.invalid_day_month_year_minutes";
145
+ }
146
+ if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {
147
+ return "form.error.datetime.invalid_hours_minutes";
148
+ }
149
+ if (day && month) {
150
+ const dayNum = parseInt(day);
151
+ const monthNum = parseInt(month);
152
+ const validYear = onlyNumbersRegex.test(year) ? year : void 0;
153
+ if (!validYear || year.length < 4) {
154
+ return "form.error.datetime.invalid";
68
155
  }
69
- if (!hours && minutes) {
70
- return "form.error.datetime.invalid_hours";
156
+ const yearNum = parseInt(validYear);
157
+ const maxDay = getDaysInMonth(monthNum, yearNum);
158
+ if (dayNum < 1 || dayNum > maxDay) {
159
+ return {
160
+ key: "form.error.datetime.invalid_day_range",
161
+ context: {
162
+ maxDay
163
+ }
164
+ };
71
165
  }
72
- if (!hours && !minutes) {
73
- return "form.error.datetime.invalid";
166
+ if (monthNum < 1 || monthNum > 12) {
167
+ return "form.error.datetime.invalid_month_range";
74
168
  }
75
- if (hours && minutes) {
76
- const hoursNum = parseInt(hours);
77
- const minutesNum = parseInt(minutes);
78
- if (hoursNum < 0 || hoursNum > 23) {
79
- return "form.error.datetime.invalid_hours_range";
80
- }
81
- if (minutesNum < 0 || minutesNum > 59) {
82
- return "form.error.datetime.invalid_minutes_range";
83
- }
169
+ }
170
+ if (hours && minutes) {
171
+ const hoursNum = parseInt(hours);
172
+ const minutesNum = parseInt(minutes);
173
+ if (hoursNum < 0 || hoursNum > 23) {
174
+ return "form.error.datetime.invalid_hours_range";
175
+ }
176
+ if (minutesNum < 0 || minutesNum > 59) {
177
+ return "form.error.datetime.invalid_minutes_range";
84
178
  }
85
179
  }
86
180
  return "form.error.datetime.invalid";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/datetime.ts"],
4
- "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATETIME_FORMATS = ['DD/MM/YYYY HH:mm'];\nconst DATETIME_CACHE = {};\n\nconst getDateTime = (v: string) => {\n return DATETIME_CACHE[v]\n ? DATETIME_CACHE[v]\n : dayjs(v, VALID_DATETIME_FORMATS, true);\n};\n\n// Function to check partial datetime completion\nconst checkPartialDateTime = (value: string) => {\n const [datePart, timePart] = value.split(' ');\n const [day, month, year] = datePart.split('/');\n const [hours, minutes] = timePart ? timePart.split(':') : [null, null];\n\n // Check date part first\n if (day && !month && !year) {\n return 'form.error.datetime.invalid_month_year';\n }\n if (!day && month && !year) {\n return 'form.error.datetime.invalid_day_year';\n }\n if (!day && !month && year) {\n return 'form.error.datetime.invalid_day_month';\n }\n if (day && month && !year) {\n return 'form.error.datetime.invalid_year';\n }\n if (day && !month && year) {\n return 'form.error.datetime.invalid_month';\n }\n if (!day && month && year) {\n return 'form.error.datetime.invalid_day';\n }\n // If date is complete, check time part\n if (day && month && year) {\n if (hours && !minutes) {\n return 'form.error.datetime.invalid_minutes';\n }\n if (!hours && minutes) {\n return 'form.error.datetime.invalid_hours';\n }\n if (!hours && !minutes) {\n return 'form.error.datetime.invalid';\n }\n if (hours && minutes) {\n const hoursNum = parseInt(hours);\n const minutesNum = parseInt(minutes);\n if (hoursNum < 0 || hoursNum > 23) {\n return 'form.error.datetime.invalid_hours_range';\n }\n if (minutesNum < 0 || minutesNum > 59) {\n return 'form.error.datetime.invalid_minutes_range';\n }\n }\n }\n\n return 'form.error.datetime.invalid';\n};\n\nexport const LATER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let minDateTime;\n const params = field.extra || {};\n if (params.min === 'now') {\n minDateTime = dayjs();\n } else {\n minDateTime = getDateTime(params.min);\n }\n return {\n name: 'later-than-datetime',\n message: {\n key: 'form.error.datetime.later_than',\n context: {\n minDateTime: minDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isAfter(minDateTime);\n },\n };\n};\n\nexport const EARLIER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let maxDateTime;\n const params = field.extra || {};\n if (params.max === 'now') {\n maxDateTime = dayjs();\n } else {\n maxDateTime = getDateTime(params.max);\n }\n return {\n name: 'earlier-than-datetime',\n message: {\n key: 'form.error.datetime.earlier_than',\n context: {\n maxDateTime: maxDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isBefore(maxDateTime);\n },\n };\n};\n\nexport const DATETIME_VALIDATOR = {\n name: 'datetime-validator',\n message: (v): string => {\n return checkPartialDateTime(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid();\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATETIME_FORMATS = ['DD/MM/YYYY HH:mm'];\nconst DATETIME_CACHE = {};\nconst onlyNumbersRegex = /^\\d+$/;\n\nconst getDateTime = (v: string) => {\n return DATETIME_CACHE[v]\n ? DATETIME_CACHE[v]\n : dayjs(v, VALID_DATETIME_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\nconst checkPartialDateTime = (value: string) => {\n const [datePart, timePart] = value.split(' ');\n const [day, month, year] = datePart?.split('/') ?? [];\n const [hours, minutes] = timePart?.split(':') ?? [];\n\n const hasDay = Boolean(day);\n const hasMonth = Boolean(month);\n const hasYear = Boolean(year);\n const hasHours = Boolean(hours);\n const hasMinutes = Boolean(minutes);\n\n if (hasDay && !hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_hours_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_hours_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid__hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_minutes';\n }\n if (hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year';\n }\n if (!hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_hours';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_hours';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_hours_minutes';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const validYear = onlyNumbersRegex.test(year) ? year : undefined;\n if (!validYear || year.length < 4) {\n return 'form.error.datetime.invalid';\n }\n const yearNum = parseInt(validYear);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.datetime.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n if (hours && minutes) {\n const hoursNum = parseInt(hours);\n const minutesNum = parseInt(minutes);\n if (hoursNum < 0 || hoursNum > 23) {\n return 'form.error.datetime.invalid_hours_range';\n }\n if (minutesNum < 0 || minutesNum > 59) {\n return 'form.error.datetime.invalid_minutes_range';\n }\n }\n return 'form.error.datetime.invalid';\n};\n\nexport const LATER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let minDateTime;\n const params = field.extra || {};\n if (params.min === 'now') {\n minDateTime = dayjs();\n } else {\n minDateTime = getDateTime(params.min);\n }\n return {\n name: 'later-than-datetime',\n message: {\n key: 'form.error.datetime.later_than',\n context: {\n minDateTime: minDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isAfter(minDateTime);\n },\n };\n};\n\nexport const EARLIER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let maxDateTime;\n const params = field.extra || {};\n if (params.max === 'now') {\n maxDateTime = dayjs();\n } else {\n maxDateTime = getDateTime(params.max);\n }\n return {\n name: 'earlier-than-datetime',\n message: {\n key: 'form.error.datetime.earlier_than',\n context: {\n maxDateTime: maxDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isBefore(maxDateTime);\n },\n };\n};\n\nexport const DATETIME_VALIDATOR = {\n name: 'datetime-validator',\n message: (v): string | object => {\n return checkPartialDateTime(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid();\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dayjs", "customParseFormat"]
7
7
  }
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Digigov v2.0.0-a402a664
1
+ /** @license Digigov v2.0.0-abd768eb
2
2
  *
3
3
  * This source code is licensed under the BSD-2-Clause license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -17,7 +17,7 @@ const Checkboxes = ({
17
17
  }) => {
18
18
  if (!value) value = [];
19
19
  const handleChange = (optionValue, idx, show) => (evt) => {
20
- let newValue;
20
+ let newValue = [];
21
21
  if (evt.currentTarget.checked) {
22
22
  newValue = value.concat([optionValue]);
23
23
  } else {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/inputs/Checkboxes/index.tsx"],
4
- "sourcesContent": ["import React, { useState } from 'react';\nimport { ControlledFieldProps } from '@digigov/form/Field/types';\nimport { FieldOptionProps } from '@digigov/form/inputs/Label';\nimport {\n Checkbox,\n CheckboxItem,\n CheckboxConditional,\n} from '@digigov/ui/form/Checkbox';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport { Hint } from '@digigov/ui/typography/Hint';\n\nexport interface CheckboxesProps\n extends Omit<ControlledFieldProps, 'extra' | 'value'> {\n value?: string[];\n extra: {\n className?: string;\n options: FieldOptionProps[];\n };\n fieldComponent: React.FC<Omit<ControlledFieldProps, 'value' | 'onChange'>>;\n}\n\nexport const Checkboxes: React.FC<CheckboxesProps> = ({\n name,\n onChange,\n value,\n extra: { options, className },\n disabled,\n Field,\n ...props\n}) => {\n if (!value) value = [];\n const handleChange =\n (optionValue, idx, show) =>\n (evt): void => {\n let newValue;\n if (evt.currentTarget.checked) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n newValue = value.concat([optionValue]);\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n newValue = value.filter((val) => val !== optionValue);\n }\n if (show && show.length > 0) {\n setChecked((items) =>\n items.map((item, index) => (index === idx ? !item : item))\n );\n }\n\n // reset value to undefined instead of an empty array\n // so the error state mechanism can throw validation errors\n if (newValue.length === 0) newValue = undefined;\n onChange(newValue);\n };\n const { t } = useTranslation();\n const [checked, setChecked] = useState(\n Array<boolean>(options.length).fill(false)\n );\n return (\n <Checkbox className={className}>\n {options.map(\n (\n {\n label,\n value: v,\n show,\n disabled: optionDisabled,\n selected,\n ...option\n },\n index\n ) => (\n <React.Fragment key={index}>\n <CheckboxItem\n key={`${name}.${index}`}\n name={`${name}.${v}`}\n id={`${name}.${v}`}\n value={v}\n disabled={disabled || optionDisabled}\n checked={value?.includes(v)}\n onChange={handleChange(v, index, show)}\n {...option}\n {...{\n ...props,\n reset: undefined,\n defaultValue: undefined,\n error: undefined,\n onBlur: undefined,\n required: undefined,\n 'aria-describedby': undefined,\n type: 'checkbox',\n }}\n >\n {(label && label.primary && t(label.primary)) || value}\n {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}\n </CheckboxItem>\n\n {!!checked[index] && show && Field && (\n <CheckboxConditional>\n {show.map((fieldName) => (\n <Field name={fieldName} key={fieldName} />\n ))}\n </CheckboxConditional>\n )}\n {selected && selected()}\n </React.Fragment>\n )\n )}\n </Checkbox>\n );\n};\n\nexport default Checkboxes;\n"],
5
- "mappings": "AAAA,OAAO,SAAS,gBAAgB;AAGhC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AAYd,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO,EAAE,SAAS,UAAU;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,MAAI,CAAC,MAAO,SAAQ,CAAC;AACrB,QAAM,eACJ,CAAC,aAAa,KAAK,SACnB,CAAC,QAAc;AACb,QAAI;AACJ,QAAI,IAAI,cAAc,SAAS;AAG7B,iBAAW,MAAM,OAAO,CAAC,WAAW,CAAC;AAAA,IACvC,OAAO;AAGL,iBAAW,MAAM,OAAO,CAAC,QAAQ,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,KAAK,SAAS,GAAG;AAC3B;AAAA,QAAW,CAAC,UACV,MAAM,IAAI,CAAC,MAAM,UAAW,UAAU,MAAM,CAAC,OAAO,IAAK;AAAA,MAC3D;AAAA,IACF;AAIA,QAAI,SAAS,WAAW,EAAG,YAAW;AACtC,aAAS,QAAQ;AAAA,EACnB;AACF,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,SAAS,UAAU,IAAI;AAAA,IAC5B,MAAe,QAAQ,MAAM,EAAE,KAAK,KAAK;AAAA,EAC3C;AACA,SACE,oCAAC,YAAS,aACP,QAAQ;AAAA,IACP,CACE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IACL,GACA,UAEA,oCAAC,MAAM,UAAN,EAAe,KAAK,SACnB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,GAAG,IAAI,IAAI,KAAK;AAAA,QACrB,MAAM,GAAG,IAAI,IAAI,CAAC;AAAA,QAClB,IAAI,GAAG,IAAI,IAAI,CAAC;AAAA,QAChB,OAAO;AAAA,QACP,UAAU,YAAY;AAAA,QACtB,SAAS,OAAO,SAAS,CAAC;AAAA,QAC1B,UAAU,aAAa,GAAG,OAAO,IAAI;AAAA,QACpC,GAAG;AAAA,QACH,GAAG;AAAA,UACF,GAAG;AAAA,UACH,OAAO;AAAA,UACP,cAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,oBAAoB;AAAA,UACpB,MAAM;AAAA,QACR;AAAA;AAAA,MAEE,SAAS,MAAM,WAAW,EAAE,MAAM,OAAO,KAAM;AAAA,MAChD,SAAS,MAAM,aAAa,oCAAC,YAAM,EAAE,MAAM,SAAS,CAAE;AAAA,IACzD,GAEC,CAAC,CAAC,QAAQ,KAAK,KAAK,QAAQ,SAC3B,oCAAC,2BACE,KAAK,IAAI,CAAC,cACT,oCAAC,SAAM,MAAM,WAAW,KAAK,WAAW,CACzC,CACH,GAED,YAAY,SAAS,CACxB;AAAA,EAEJ,CACF;AAEJ;AAEA,IAAO,qBAAQ;",
4
+ "sourcesContent": ["import React, { useState } from 'react';\nimport { ControlledFieldProps } from '@digigov/form/Field/types';\nimport { FieldOptionProps } from '@digigov/form/inputs/Label';\nimport {\n Checkbox,\n CheckboxItem,\n CheckboxConditional,\n} from '@digigov/ui/form/Checkbox';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport { Hint } from '@digigov/ui/typography/Hint';\n\nexport interface CheckboxesProps\n extends Omit<ControlledFieldProps, 'extra' | 'value'> {\n value?: string[];\n extra: {\n className?: string;\n options: FieldOptionProps[];\n };\n fieldComponent: React.FC<Omit<ControlledFieldProps, 'value' | 'onChange'>>;\n}\n\nexport const Checkboxes: React.FC<CheckboxesProps> = ({\n name,\n onChange,\n value,\n extra: { options, className },\n disabled,\n Field,\n ...props\n}) => {\n if (!value) value = [];\n const handleChange =\n (optionValue, idx, show) =>\n (evt): void => {\n let newValue: any = [];\n if (evt.currentTarget.checked) {\n newValue = value.concat([optionValue]);\n } else {\n newValue = value.filter((val) => val !== optionValue);\n }\n if (show && show.length > 0) {\n setChecked((items) =>\n items.map((item, index) => (index === idx ? !item : item))\n );\n }\n\n // reset value to undefined instead of an empty array\n // so the error state mechanism can throw validation errors\n if (newValue.length === 0) newValue = undefined;\n onChange(newValue);\n };\n const { t } = useTranslation();\n const [checked, setChecked] = useState(\n Array<boolean>(options.length).fill(false)\n );\n return (\n <Checkbox className={className}>\n {options.map(\n (\n {\n label,\n value: v,\n show,\n disabled: optionDisabled,\n selected,\n ...option\n },\n index\n ) => (\n <React.Fragment key={index}>\n <CheckboxItem\n key={`${name}.${index}`}\n name={`${name}.${v}`}\n id={`${name}.${v}`}\n value={v}\n disabled={disabled || optionDisabled}\n checked={value?.includes(v)}\n onChange={handleChange(v, index, show)}\n {...option}\n {...{\n ...props,\n reset: undefined,\n defaultValue: undefined,\n error: undefined,\n onBlur: undefined,\n required: undefined,\n 'aria-describedby': undefined,\n type: 'checkbox',\n }}\n >\n {(label && label.primary && t(label.primary)) || value}\n {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}\n </CheckboxItem>\n\n {!!checked[index] && show && Field && (\n <CheckboxConditional>\n {show.map((fieldName) => (\n <Field name={fieldName} key={fieldName} />\n ))}\n </CheckboxConditional>\n )}\n {selected && selected()}\n </React.Fragment>\n )\n )}\n </Checkbox>\n );\n};\n\nexport default Checkboxes;\n"],
5
+ "mappings": "AAAA,OAAO,SAAS,gBAAgB;AAGhC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AAYd,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO,EAAE,SAAS,UAAU;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,MAAI,CAAC,MAAO,SAAQ,CAAC;AACrB,QAAM,eACJ,CAAC,aAAa,KAAK,SACnB,CAAC,QAAc;AACb,QAAI,WAAgB,CAAC;AACrB,QAAI,IAAI,cAAc,SAAS;AAC7B,iBAAW,MAAM,OAAO,CAAC,WAAW,CAAC;AAAA,IACvC,OAAO;AACL,iBAAW,MAAM,OAAO,CAAC,QAAQ,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,KAAK,SAAS,GAAG;AAC3B;AAAA,QAAW,CAAC,UACV,MAAM,IAAI,CAAC,MAAM,UAAW,UAAU,MAAM,CAAC,OAAO,IAAK;AAAA,MAC3D;AAAA,IACF;AAIA,QAAI,SAAS,WAAW,EAAG,YAAW;AACtC,aAAS,QAAQ;AAAA,EACnB;AACF,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,SAAS,UAAU,IAAI;AAAA,IAC5B,MAAe,QAAQ,MAAM,EAAE,KAAK,KAAK;AAAA,EAC3C;AACA,SACE,oCAAC,YAAS,aACP,QAAQ;AAAA,IACP,CACE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IACL,GACA,UAEA,oCAAC,MAAM,UAAN,EAAe,KAAK,SACnB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK,GAAG,IAAI,IAAI,KAAK;AAAA,QACrB,MAAM,GAAG,IAAI,IAAI,CAAC;AAAA,QAClB,IAAI,GAAG,IAAI,IAAI,CAAC;AAAA,QAChB,OAAO;AAAA,QACP,UAAU,YAAY;AAAA,QACtB,SAAS,OAAO,SAAS,CAAC;AAAA,QAC1B,UAAU,aAAa,GAAG,OAAO,IAAI;AAAA,QACpC,GAAG;AAAA,QACH,GAAG;AAAA,UACF,GAAG;AAAA,UACH,OAAO;AAAA,UACP,cAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,oBAAoB;AAAA,UACpB,MAAM;AAAA,QACR;AAAA;AAAA,MAEE,SAAS,MAAM,WAAW,EAAE,MAAM,OAAO,KAAM;AAAA,MAChD,SAAS,MAAM,aAAa,oCAAC,YAAM,EAAE,MAAM,SAAS,CAAE;AAAA,IACzD,GAEC,CAAC,CAAC,QAAQ,KAAK,KAAK,QAAQ,SAC3B,oCAAC,2BACE,KAAK,IAAI,CAAC,cACT,oCAAC,SAAM,MAAM,WAAW,KAAK,WAAW,CACzC,CACH,GAED,YAAY,SAAS,CACxB;AAAA,EAEJ,CACF;AAEJ;AAEA,IAAO,qBAAQ;",
6
6
  "names": []
7
7
  }
@@ -7,4 +7,8 @@ declare namespace _default {
7
7
  }
8
8
  export default _default;
9
9
  export { Default } from "@digigov/form/inputs/DateInput/__stories__/Default";
10
+ export { WithDefaultValue } from "@digigov/form/inputs/DateInput/__stories__/WithDefaultValue";
11
+ export { WithWrongDefaultValue } from "@digigov/form/inputs/DateInput/__stories__/WithWrongDefaultValue";
12
+ export { WithInitialValue } from "@digigov/form/inputs/DateInput/__stories__/WithInitialValue";
13
+ export { WithWrongInitialValue } from "@digigov/form/inputs/DateInput/__stories__/WithWrongInitialValue";
10
14
  import DateInput from '@digigov/form/inputs/DateInput';
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithDefaultValue: (_: any) => React.JSX.Element;
3
+ export default WithDefaultValue;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithInitialValue: (_: any) => React.JSX.Element;
3
+ export default WithInitialValue;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithWrongDefaultValue: (_: any) => React.JSX.Element;
3
+ export default WithWrongDefaultValue;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithWrongInitialValue: (_: any) => React.JSX.Element;
3
+ export default WithWrongInitialValue;