@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-alpha
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/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +127 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
- package/dist/components/CollectionPage/CollectionPage.js +58 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
- package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
- package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/SummaryCard.js +148 -109
- package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
- package/dist/components/FormComponent/Collection.js +107 -73
- package/dist/components/FormComponent/Collection.test.js +945 -809
- package/dist/components/FormComponent/Container.js +38 -40
- package/dist/components/FormComponent/Container.test.js +345 -314
- package/dist/components/FormComponent/FormComponent.js +70 -67
- package/dist/components/FormComponent/FormComponent.test.js +342 -284
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +181 -144
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +40 -44
- package/dist/components/FormRenderer/onPageAction.test.js +206 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +26 -21
- package/dist/components/SummaryList/SummaryList.test.js +166 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +71 -45
- package/dist/components/TaskList/TaskList.test.js +111 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +79 -58
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +72 -32
- package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -30
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -9
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +17 -14
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +25 -19
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +77 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +15 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +23 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +26 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +16 -18
- package/dist/utils/Validate/validateComponent.test.js +146 -167
- package/dist/utils/Validate/validateContainer.js +19 -14
- package/dist/utils/Validate/validateContainer.test.js +45 -49
- package/dist/utils/Validate/validateDate.js +17 -11
- package/dist/utils/Validate/validateDate.test.js +29 -28
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +18 -17
- package/dist/utils/Validate/validatePage.test.js +182 -185
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +14 -7
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
|
@@ -10,14 +10,17 @@ var _isToday = _interopRequireDefault(require("dayjs/plugin/isToday"));
|
|
|
10
10
|
var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
|
|
11
11
|
var _utils = require("./additional/utils");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
14
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
17
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
18
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
15
19
|
// Local imports
|
|
16
|
-
|
|
17
20
|
_dayjs.default.extend(_customParseFormat.default);
|
|
18
21
|
_dayjs.default.extend(_isToday.default);
|
|
19
22
|
_dayjs.default.extend(_isLeapYear.default);
|
|
20
|
-
|
|
23
|
+
var maxMonthDays = exports.maxMonthDays = function maxMonthDays(month, year) {
|
|
21
24
|
if (month === '02') {
|
|
22
25
|
return (0, _dayjs.default)().year(year).isLeapYear() ? 29 : 28;
|
|
23
26
|
}
|
|
@@ -26,7 +29,6 @@ const maxMonthDays = (month, year) => {
|
|
|
26
29
|
}
|
|
27
30
|
return 31;
|
|
28
31
|
};
|
|
29
|
-
exports.maxMonthDays = maxMonthDays;
|
|
30
32
|
/**
|
|
31
33
|
* Checks if a date passed is a valid date.
|
|
32
34
|
* This will validate for 'leap years', missing components, invalid day, monnth or year components.
|
|
@@ -39,17 +41,21 @@ exports.maxMonthDays = maxMonthDays;
|
|
|
39
41
|
* @returns an object with an error message and instructions for which parts of the date are in error
|
|
40
42
|
* or undefined for both if the date is valid
|
|
41
43
|
*/
|
|
42
|
-
|
|
44
|
+
var validateDate = function validateDate(date) {
|
|
43
45
|
if (!date) {
|
|
44
46
|
return {
|
|
45
47
|
message: undefined,
|
|
46
48
|
propsInError: undefined
|
|
47
49
|
};
|
|
48
50
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
var formattedDate = (0, _utils.formatString)(date);
|
|
52
|
+
var _formattedDate$split = formattedDate.split('-'),
|
|
53
|
+
_formattedDate$split2 = _slicedToArray(_formattedDate$split, 3),
|
|
54
|
+
day = _formattedDate$split2[0],
|
|
55
|
+
month = _formattedDate$split2[1],
|
|
56
|
+
year = _formattedDate$split2[2];
|
|
57
|
+
var intDay = parseInt(day, 10);
|
|
58
|
+
var intMonth = parseInt(month, 10);
|
|
53
59
|
if (year.length === 0) {
|
|
54
60
|
return {
|
|
55
61
|
message: 'Date must include a year',
|
|
@@ -90,7 +96,7 @@ const validateDate = date => {
|
|
|
90
96
|
}
|
|
91
97
|
};
|
|
92
98
|
}
|
|
93
|
-
|
|
99
|
+
var maxDays = maxMonthDays(month, year);
|
|
94
100
|
if (intDay > maxDays || intDay < 1) {
|
|
95
101
|
return {
|
|
96
102
|
message: "Day must be between 1 and ".concat(maxDays),
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
var _validateDate = _interopRequireWildcard(require("./validateDate"));
|
|
4
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
5
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
6
|
-
describe('utils', ()
|
|
7
|
-
describe('Validate', ()
|
|
8
|
-
describe('date', ()
|
|
9
|
-
test('should return no error when the value is an empty string', ()
|
|
5
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
6
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Validate', function () {
|
|
9
|
+
describe('date', function () {
|
|
10
|
+
test('should return no error when the value is an empty string', function () {
|
|
10
11
|
expect((0, _validateDate.default)('', 'DD-MM-YYYY')).toEqual({
|
|
11
12
|
message: undefined,
|
|
12
13
|
propsInError: undefined
|
|
13
14
|
});
|
|
14
15
|
});
|
|
15
|
-
test('should return undefined if a date string is valid', ()
|
|
16
|
-
|
|
16
|
+
test('should return undefined if a date string is valid', function () {
|
|
17
|
+
var output = (0, _validateDate.default)('28-02-2024', 'DD-MM-YYYY');
|
|
17
18
|
expect(output).toEqual({
|
|
18
19
|
message: undefined,
|
|
19
20
|
propsInError: undefined
|
|
20
21
|
});
|
|
21
22
|
});
|
|
22
|
-
test('should return undefined to a correct leap year date', ()
|
|
23
|
-
|
|
23
|
+
test('should return undefined to a correct leap year date', function () {
|
|
24
|
+
var output = (0, _validateDate.default)('29-02-2024', 'DD-MM-YYYY');
|
|
24
25
|
expect(output).toEqual({
|
|
25
26
|
message: undefined,
|
|
26
27
|
propsInError: undefined
|
|
27
28
|
});
|
|
28
29
|
});
|
|
29
|
-
test('should validate false if NOT a leap year & 29 Feb is entered', ()
|
|
30
|
-
|
|
30
|
+
test('should validate false if NOT a leap year & 29 Feb is entered', function () {
|
|
31
|
+
var output = (0, _validateDate.default)('29-02-2023', 'DD-MM-YYYY');
|
|
31
32
|
expect(output).toEqual({
|
|
32
33
|
message: 'Day must be between 1 and 28',
|
|
33
34
|
propsInError: {
|
|
@@ -35,8 +36,8 @@ describe('utils', () => {
|
|
|
35
36
|
}
|
|
36
37
|
});
|
|
37
38
|
});
|
|
38
|
-
test('should return an error if no year is given', ()
|
|
39
|
-
|
|
39
|
+
test('should return an error if no year is given', function () {
|
|
40
|
+
var output = (0, _validateDate.default)('29-02-', 'DD-MM-YYYY');
|
|
40
41
|
expect(output).toEqual({
|
|
41
42
|
message: 'Date must include a year',
|
|
42
43
|
propsInError: {
|
|
@@ -44,8 +45,8 @@ describe('utils', () => {
|
|
|
44
45
|
}
|
|
45
46
|
});
|
|
46
47
|
});
|
|
47
|
-
test('should return an error if the year contains less than 4 numbers', ()
|
|
48
|
-
|
|
48
|
+
test('should return an error if the year contains less than 4 numbers', function () {
|
|
49
|
+
var output = (0, _validateDate.default)('29-02-20', 'DD-MM-YYYY');
|
|
49
50
|
expect(output).toEqual({
|
|
50
51
|
message: 'Year must be 4 numbers',
|
|
51
52
|
propsInError: {
|
|
@@ -53,8 +54,8 @@ describe('utils', () => {
|
|
|
53
54
|
}
|
|
54
55
|
});
|
|
55
56
|
});
|
|
56
|
-
test('should return an error if the year contains more than 4 numbers', ()
|
|
57
|
-
|
|
57
|
+
test('should return an error if the year contains more than 4 numbers', function () {
|
|
58
|
+
var output = (0, _validateDate.default)('29-02-20202', 'DD-MM-YYYY');
|
|
58
59
|
expect(output).toEqual({
|
|
59
60
|
message: 'Year must be 4 numbers',
|
|
60
61
|
propsInError: {
|
|
@@ -62,8 +63,8 @@ describe('utils', () => {
|
|
|
62
63
|
}
|
|
63
64
|
});
|
|
64
65
|
});
|
|
65
|
-
test('should return an error if no month is given', ()
|
|
66
|
-
|
|
66
|
+
test('should return an error if no month is given', function () {
|
|
67
|
+
var output = (0, _validateDate.default)('29--2020', 'DD-MM-YYYY');
|
|
67
68
|
expect(output).toEqual({
|
|
68
69
|
message: 'Date must include a month',
|
|
69
70
|
propsInError: {
|
|
@@ -71,8 +72,8 @@ describe('utils', () => {
|
|
|
71
72
|
}
|
|
72
73
|
});
|
|
73
74
|
});
|
|
74
|
-
test('should return an error if the month is not between 1 and 12', ()
|
|
75
|
-
|
|
75
|
+
test('should return an error if the month is not between 1 and 12', function () {
|
|
76
|
+
var output = (0, _validateDate.default)('29-14-2020', 'DD-MM-YYYY');
|
|
76
77
|
expect(output).toEqual({
|
|
77
78
|
message: 'Month must be between 1 and 12',
|
|
78
79
|
propsInError: {
|
|
@@ -80,8 +81,8 @@ describe('utils', () => {
|
|
|
80
81
|
}
|
|
81
82
|
});
|
|
82
83
|
});
|
|
83
|
-
test('should return an error if no day is given', ()
|
|
84
|
-
|
|
84
|
+
test('should return an error if no day is given', function () {
|
|
85
|
+
var output = (0, _validateDate.default)('-03-2020', 'DD-MM-YYYY');
|
|
85
86
|
expect(output).toEqual({
|
|
86
87
|
message: 'Date must include a day',
|
|
87
88
|
propsInError: {
|
|
@@ -89,8 +90,8 @@ describe('utils', () => {
|
|
|
89
90
|
}
|
|
90
91
|
});
|
|
91
92
|
});
|
|
92
|
-
test('should return an error if the day is not between 1 and 31', ()
|
|
93
|
-
|
|
93
|
+
test('should return an error if the day is not between 1 and 31', function () {
|
|
94
|
+
var output = (0, _validateDate.default)('45-12-2020', 'DD-MM-YYYY');
|
|
94
95
|
expect(output).toEqual({
|
|
95
96
|
message: 'Day must be between 1 and 31',
|
|
96
97
|
propsInError: {
|
|
@@ -98,8 +99,8 @@ describe('utils', () => {
|
|
|
98
99
|
}
|
|
99
100
|
});
|
|
100
101
|
});
|
|
101
|
-
test('should correctly identify the maximum numbers of days in a given month and year', ()
|
|
102
|
-
|
|
102
|
+
test('should correctly identify the maximum numbers of days in a given month and year', function () {
|
|
103
|
+
var max = (0, _validateDate.maxMonthDays)('02', '2024');
|
|
103
104
|
expect(max).toEqual(29);
|
|
104
105
|
max = (0, _validateDate.maxMonthDays)('02', '2023');
|
|
105
106
|
expect(max).toEqual(28);
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
// eslint-disable-next-line no-control-regex
|
|
8
8
|
// const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i;
|
|
9
|
-
|
|
9
|
+
var HODS_EMAIL_REGEX = /^[a-z0-9._-]+@(digital\.)?homeoffice.gov.uk$/i;
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Validates an email address, ensuring it is in the correct domain and
|
|
@@ -19,19 +19,21 @@ const HODS_EMAIL_REGEX = /^[a-z0-9._-]+@(digital\.)?homeoffice.gov.uk$/i;
|
|
|
19
19
|
* @param {array} customErrors The array of custom errors to use for format message.
|
|
20
20
|
* @returns An error if the email address is invalid.
|
|
21
21
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
var validateEmail = function validateEmail(value) {
|
|
23
|
+
var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
24
|
+
var customErrors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
25
25
|
// eslint-disable-next-line no-extra-boolean-cast
|
|
26
26
|
if (!!value) {
|
|
27
|
-
|
|
27
|
+
var name = label ? label.toLowerCase() : 'email address';
|
|
28
28
|
if (typeof value === 'string') {
|
|
29
29
|
if (HODS_EMAIL_REGEX.test(value)) {
|
|
30
30
|
return undefined;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
if (Array.isArray(customErrors)) {
|
|
34
|
-
|
|
34
|
+
var result = customErrors.filter(function (error) {
|
|
35
|
+
return error.type === 'format';
|
|
36
|
+
});
|
|
35
37
|
if (result && result.length > 0 && result[0].message) {
|
|
36
38
|
return result[0].message;
|
|
37
39
|
}
|
|
@@ -4,66 +4,66 @@ var _validateEmail = _interopRequireDefault(require("./validateEmail"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils', ()
|
|
8
|
-
describe('Validate', ()
|
|
9
|
-
describe('email', ()
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Validate', function () {
|
|
9
|
+
describe('email', function () {
|
|
10
|
+
var LABEL = 'Component';
|
|
11
|
+
var ERROR = "Enter ".concat(LABEL.toLowerCase(), " in the correct format, like jane.doe@homeoffice.gov.uk");
|
|
12
12
|
|
|
13
13
|
// Valid values
|
|
14
|
-
it('should return no error when the value is a valid .gov.uk address', ()
|
|
14
|
+
it('should return no error when the value is a valid .gov.uk address', function () {
|
|
15
15
|
expect((0, _validateEmail.default)('alpha@homeoffice.gov.uk', LABEL)).toBeUndefined();
|
|
16
16
|
});
|
|
17
|
-
it('should return no error when the value is a capitalised digital.homeoffice.gov.uk address', ()
|
|
17
|
+
it('should return no error when the value is a capitalised digital.homeoffice.gov.uk address', function () {
|
|
18
18
|
expect((0, _validateEmail.default)('ALPHA.BRAVO@DIGITAL.HOMEOFFICE.GOV.UK', LABEL)).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should return no error when the value is an empty string', ()
|
|
20
|
+
it('should return no error when the value is an empty string', function () {
|
|
21
21
|
expect((0, _validateEmail.default)('', LABEL)).toBeUndefined();
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
// Invalid values
|
|
25
|
-
it('should return an error when the value is an empty object', ()
|
|
25
|
+
it('should return an error when the value is an empty object', function () {
|
|
26
26
|
expect((0, _validateEmail.default)({}, LABEL)).toEqual(ERROR);
|
|
27
27
|
});
|
|
28
|
-
it('should return an error when the value is an array', ()
|
|
28
|
+
it('should return an error when the value is an array', function () {
|
|
29
29
|
expect((0, _validateEmail.default)(['bob'], LABEL)).toEqual(ERROR);
|
|
30
30
|
});
|
|
31
|
-
it('should return an error when the value is numeric', ()
|
|
31
|
+
it('should return an error when the value is numeric', function () {
|
|
32
32
|
expect((0, _validateEmail.default)(24, LABEL)).toEqual(ERROR);
|
|
33
33
|
});
|
|
34
|
-
it('should return an error when the value is in the wrong domain', ()
|
|
34
|
+
it('should return an error when the value is in the wrong domain', function () {
|
|
35
35
|
expect((0, _validateEmail.default)('alpha@domain.com', LABEL)).toEqual(ERROR);
|
|
36
36
|
});
|
|
37
|
-
it('should return an error when the domain contains spaces', ()
|
|
37
|
+
it('should return an error when the domain contains spaces', function () {
|
|
38
38
|
expect((0, _validateEmail.default)('alpha.bravo@digital homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
39
39
|
});
|
|
40
|
-
it('should return an error when the value has no TLD', ()
|
|
40
|
+
it('should return an error when the value has no TLD', function () {
|
|
41
41
|
expect((0, _validateEmail.default)('alpha.bravo@homeoffice', LABEL)).toEqual(ERROR);
|
|
42
42
|
});
|
|
43
|
-
it('should return an error when there is no name', ()
|
|
43
|
+
it('should return an error when there is no name', function () {
|
|
44
44
|
expect((0, _validateEmail.default)('@homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
45
45
|
});
|
|
46
|
-
it('should return an error when there is no @ symbol', ()
|
|
46
|
+
it('should return an error when there is no @ symbol', function () {
|
|
47
47
|
expect((0, _validateEmail.default)('alpha.bravo.homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
48
48
|
});
|
|
49
|
-
it('should return an error when the name contains spaces', ()
|
|
49
|
+
it('should return an error when the name contains spaces', function () {
|
|
50
50
|
expect((0, _validateEmail.default)('alpha bravo@digital.homeoffice.gov.uk', LABEL)).toEqual(ERROR);
|
|
51
51
|
});
|
|
52
|
-
it('should use a default label when none is specified', ()
|
|
53
|
-
|
|
52
|
+
it('should use a default label when none is specified', function () {
|
|
53
|
+
var DEFAULT_ERROR = 'Enter email address in the correct format, like jane.doe@homeoffice.gov.uk';
|
|
54
54
|
expect((0, _validateEmail.default)(['bob'], undefined)).toEqual(DEFAULT_ERROR);
|
|
55
55
|
});
|
|
56
|
-
it('should use a custom format error message when specified', ()
|
|
57
|
-
|
|
56
|
+
it('should use a custom format error message when specified', function () {
|
|
57
|
+
var customErrors = [{
|
|
58
58
|
'type': 'format',
|
|
59
59
|
'message': 'Enter email address in the correct format'
|
|
60
60
|
}];
|
|
61
|
-
|
|
61
|
+
var CUSTOM_ERROR = 'Enter email address in the correct format';
|
|
62
62
|
expect((0, _validateEmail.default)('bob', '', customErrors)).toEqual(CUSTOM_ERROR);
|
|
63
63
|
});
|
|
64
|
-
it('should use the default format error message when custom errors is not an array', ()
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
it('should use the default format error message when custom errors is not an array', function () {
|
|
65
|
+
var DEFAULT_ERROR = 'Enter email address in the correct format, like jane.doe@homeoffice.gov.uk';
|
|
66
|
+
var customErrors = {
|
|
67
67
|
'type': 'format',
|
|
68
68
|
'message': 'Enter email address in the correct format'
|
|
69
69
|
};
|
|
@@ -4,19 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.DEFAULT_ERROR = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var DEFAULT_ERROR = exports.DEFAULT_ERROR = 'Invalid files must be deleted';
|
|
8
|
+
var validateMultifile = function validateMultifile(value, customErrors) {
|
|
9
9
|
if (!value) {
|
|
10
10
|
return undefined;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
value.every(entry
|
|
12
|
+
var inError = false;
|
|
13
|
+
value.every(function (entry) {
|
|
14
14
|
inError = entry.error;
|
|
15
15
|
return !inError;
|
|
16
16
|
});
|
|
17
17
|
if (inError) {
|
|
18
18
|
if (Array.isArray(customErrors)) {
|
|
19
|
-
|
|
19
|
+
var result = customErrors.filter(function (error) {
|
|
20
|
+
return error.type === 'invalidFile';
|
|
21
|
+
});
|
|
20
22
|
if (result && result.length > 0 && result[0].message) {
|
|
21
23
|
return result[0].message;
|
|
22
24
|
}
|
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
var _validateMultifile = _interopRequireWildcard(require("./validateMultifile"));
|
|
4
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
5
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
5
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
6
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
6
7
|
// Local imports
|
|
7
8
|
|
|
8
|
-
describe('utils', ()
|
|
9
|
-
describe('Validate', ()
|
|
10
|
-
describe('multifile', ()
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
describe('utils', function () {
|
|
10
|
+
describe('Validate', function () {
|
|
11
|
+
describe('multifile', function () {
|
|
12
|
+
var ERROR_MSG = 'This is a custom error message';
|
|
13
|
+
var CUSTOM_ERRORS = [{
|
|
13
14
|
type: 'invalidFile',
|
|
14
15
|
message: ERROR_MSG
|
|
15
16
|
}];
|
|
16
17
|
|
|
17
18
|
// Valid values.
|
|
18
|
-
it('should return no error when value is nullish', ()
|
|
19
|
-
|
|
19
|
+
it('should return no error when value is nullish', function () {
|
|
20
|
+
var VALUE = null;
|
|
20
21
|
expect((0, _validateMultifile.default)(VALUE, [])).toBeUndefined();
|
|
21
22
|
});
|
|
22
|
-
it('should return no error when value is an empty array', ()
|
|
23
|
-
|
|
23
|
+
it('should return no error when value is an empty array', function () {
|
|
24
|
+
var VALUE = [];
|
|
24
25
|
expect((0, _validateMultifile.default)(VALUE, [])).toBeUndefined();
|
|
25
26
|
});
|
|
26
|
-
it('should return no error when value only contains valid files', ()
|
|
27
|
-
|
|
27
|
+
it('should return no error when value only contains valid files', function () {
|
|
28
|
+
var VALUE = [{}, {}];
|
|
28
29
|
expect((0, _validateMultifile.default)(VALUE, [])).toBeUndefined();
|
|
29
30
|
});
|
|
30
31
|
|
|
31
32
|
// Invalid values.
|
|
32
|
-
it('should return an error when valid contains invalid files', ()
|
|
33
|
-
|
|
33
|
+
it('should return an error when valid contains invalid files', function () {
|
|
34
|
+
var VALUE = [{
|
|
34
35
|
error: 'This is an invalid file'
|
|
35
36
|
}];
|
|
36
37
|
expect((0, _validateMultifile.default)(VALUE, [])).toEqual(_validateMultifile.DEFAULT_ERROR);
|
|
37
38
|
});
|
|
38
|
-
it('should return a custom error when one is provided', ()
|
|
39
|
-
|
|
39
|
+
it('should return a custom error when one is provided', function () {
|
|
40
|
+
var VALUE = [{
|
|
40
41
|
error: 'This is an invalid file'
|
|
41
42
|
}];
|
|
42
43
|
expect((0, _validateMultifile.default)(VALUE, CUSTOM_ERRORS)).toEqual(ERROR_MSG);
|
|
@@ -9,40 +9,41 @@ var _validateComponent = _interopRequireDefault(require("./validateComponent"));
|
|
|
9
9
|
var _CollectionPage = _interopRequireDefault(require("../CollectionPage"));
|
|
10
10
|
var _showFormPage = _interopRequireDefault(require("../FormPage/showFormPage"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports
|
|
14
18
|
// Local imports
|
|
15
|
-
|
|
16
19
|
/**
|
|
17
20
|
* Validate all of the components on a page.
|
|
18
21
|
* @param {object} page The page to validate
|
|
19
22
|
* @returns An array containing all of the errors.
|
|
20
23
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
var validatePage = function validatePage(page) {
|
|
25
|
+
var data = page.formData;
|
|
23
26
|
if (page.collection) {
|
|
24
|
-
|
|
27
|
+
var activeIndex = _CollectionPage.default.getActiveIndex(page.collection.name, page.formData);
|
|
25
28
|
if (activeIndex !== null) {
|
|
26
29
|
var _CollectionPage$getDa;
|
|
27
|
-
data = {
|
|
28
|
-
...page.formData,
|
|
29
|
-
...((_CollectionPage$getDa = _CollectionPage.default.getData(page.collection.name, page.formData)) === null || _CollectionPage$getDa === void 0 ? void 0 : _CollectionPage$getDa[activeIndex])
|
|
30
|
-
};
|
|
30
|
+
data = _objectSpread(_objectSpread({}, page.formData), (_CollectionPage$getDa = _CollectionPage.default.getData(page.collection.name, page.formData)) === null || _CollectionPage$getDa === void 0 ? void 0 : _CollectionPage$getDa[activeIndex]);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
if ((0, _showFormPage.default)(page, data) && Array.isArray(page.components)) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return errors.concat(componentErrors).flat().map(err
|
|
34
|
+
var errs = page.components.reduce(function (errors, component) {
|
|
35
|
+
var componentErrors = (0, _validateComponent.default)(component, data, data);
|
|
36
|
+
return errors.concat(componentErrors).flat().map(function (err) {
|
|
37
37
|
if (err) {
|
|
38
|
-
return {
|
|
39
|
-
...err,
|
|
38
|
+
return _objectSpread(_objectSpread({}, err), {}, {
|
|
40
39
|
error: _copReactComponents.Utils.interpolateString(err.error, data)
|
|
41
|
-
};
|
|
40
|
+
});
|
|
42
41
|
}
|
|
43
42
|
return err;
|
|
44
43
|
});
|
|
45
|
-
}, []).filter(
|
|
44
|
+
}, []).filter(function (e) {
|
|
45
|
+
return !!e;
|
|
46
|
+
}).flat();
|
|
46
47
|
return errs;
|
|
47
48
|
}
|
|
48
49
|
return [];
|