@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-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/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- 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 +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +72 -63
- package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- 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 +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -15,20 +15,18 @@ exports.default = void 0;
|
|
|
15
15
|
* @param {array} customErrors The array of custom errors for the component.
|
|
16
16
|
* @returns An error if the value doesn't match the regex pattern.
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const validateRegex = (value, label, pattern, customErrors) => {
|
|
19
19
|
if (!value) {
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
if (typeof value === 'string') {
|
|
23
|
-
|
|
23
|
+
const regex = new RegExp(pattern);
|
|
24
24
|
if (regex.test(value)) {
|
|
25
25
|
return undefined;
|
|
26
26
|
}
|
|
27
27
|
if (Array.isArray(customErrors)) {
|
|
28
28
|
var _result$;
|
|
29
|
-
|
|
30
|
-
return error.type === 'pattern';
|
|
31
|
-
});
|
|
29
|
+
const result = customErrors.filter(error => error.type === 'pattern');
|
|
32
30
|
if (result !== null && result !== void 0 && (_result$ = result[0]) !== null && _result$ !== void 0 && _result$.message) {
|
|
33
31
|
return result[0].message;
|
|
34
32
|
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _validateRegex = _interopRequireDefault(require("./validateRegex"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Validate',
|
|
9
|
-
describe('regex',
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Validate', () => {
|
|
9
|
+
describe('regex', () => {
|
|
10
|
+
const GOOD_VALUE = 'hello';
|
|
11
|
+
const BAD_VALUE = 'h3llo';
|
|
12
|
+
const LABEL = 'Component';
|
|
13
|
+
const PATTERN = '^[a-z]*$';
|
|
14
|
+
const CUSTOM_ERRORS = [{
|
|
15
15
|
"type": "pattern",
|
|
16
16
|
"message": "Regex validation failed for ".concat(LABEL)
|
|
17
17
|
}];
|
|
18
|
-
|
|
18
|
+
const DEFAULT_ERROR = [{
|
|
19
19
|
"type": "pattern"
|
|
20
20
|
}];
|
|
21
21
|
|
|
22
22
|
// Valid values
|
|
23
|
-
it('should return no error when the value matches the regex pattern',
|
|
23
|
+
it('should return no error when the value matches the regex pattern', () => {
|
|
24
24
|
expect((0, _validateRegex.default)(GOOD_VALUE, LABEL, PATTERN, CUSTOM_ERRORS)).toBeUndefined();
|
|
25
25
|
});
|
|
26
|
-
it('should return no error when the value is an empty string',
|
|
26
|
+
it('should return no error when the value is an empty string', () => {
|
|
27
27
|
expect((0, _validateRegex.default)('', LABEL, PATTERN, CUSTOM_ERRORS)).toBeUndefined();
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// Invalid values
|
|
31
|
-
it('should return a custom error when the value does not match the regex pattern and one is specified',
|
|
31
|
+
it('should return a custom error when the value does not match the regex pattern and one is specified', () => {
|
|
32
32
|
expect((0, _validateRegex.default)(BAD_VALUE, LABEL, PATTERN, CUSTOM_ERRORS)).toEqual(CUSTOM_ERRORS[0].message);
|
|
33
33
|
});
|
|
34
|
-
it('should return an error using label when the value does not match the regex pattern and a custom error is not specified',
|
|
34
|
+
it('should return an error using label when the value does not match the regex pattern and a custom error is not specified', () => {
|
|
35
35
|
expect((0, _validateRegex.default)(BAD_VALUE, LABEL, PATTERN, DEFAULT_ERROR)).toEqual("".concat(LABEL, " failed regex validation"));
|
|
36
36
|
});
|
|
37
|
-
it('should return a default error when the value does not match the regex pattern and both a custom error and label are not specified',
|
|
37
|
+
it('should return a default error when the value does not match the regex pattern and both a custom error and label are not specified', () => {
|
|
38
38
|
expect((0, _validateRegex.default)(BAD_VALUE, '', PATTERN, DEFAULT_ERROR)).toEqual('Component failed regex validation');
|
|
39
39
|
});
|
|
40
40
|
});
|
|
@@ -11,8 +11,8 @@ exports.default = void 0;
|
|
|
11
11
|
* @param {string} label The label to use in any error message.
|
|
12
12
|
* @returns An error if the value is nullish.
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const validateRequired = (value, label, customErrors) => {
|
|
15
|
+
let hasValue = false;
|
|
16
16
|
if (!!value || value === false || value === 0) {
|
|
17
17
|
hasValue = true;
|
|
18
18
|
if (typeof value === 'string') {
|
|
@@ -23,14 +23,12 @@ var validateRequired = function validateRequired(value, label, customErrors) {
|
|
|
23
23
|
}
|
|
24
24
|
if (!hasValue) {
|
|
25
25
|
if (Array.isArray(customErrors)) {
|
|
26
|
-
|
|
27
|
-
return error.type === 'required';
|
|
28
|
-
});
|
|
26
|
+
const result = customErrors.filter(error => error.type === 'required');
|
|
29
27
|
if (result && result.length > 0 && result[0].message) {
|
|
30
28
|
return result[0].message;
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
|
-
|
|
31
|
+
const name = label || 'Field';
|
|
34
32
|
return "".concat(name, " is required");
|
|
35
33
|
}
|
|
36
34
|
return undefined;
|
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _validateRequired = _interopRequireDefault(require("./validateRequired"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Validate',
|
|
9
|
-
describe('required',
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Validate', () => {
|
|
9
|
+
describe('required', () => {
|
|
10
|
+
const LABEL = 'Component';
|
|
11
|
+
const ERROR = "".concat(LABEL, " is required");
|
|
12
12
|
|
|
13
13
|
// Valid values
|
|
14
|
-
it('should return no error when the value is set',
|
|
14
|
+
it('should return no error when the value is set', () => {
|
|
15
15
|
expect((0, _validateRequired.default)('value', LABEL)).toBeUndefined();
|
|
16
16
|
});
|
|
17
|
-
it('should return no error when the value is an empty object',
|
|
17
|
+
it('should return no error when the value is an empty object', () => {
|
|
18
18
|
expect((0, _validateRequired.default)({}, LABEL)).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should return no error when the value is a non-empty array',
|
|
20
|
+
it('should return no error when the value is a non-empty array', () => {
|
|
21
21
|
expect((0, _validateRequired.default)(['bob'], LABEL)).toBeUndefined();
|
|
22
22
|
});
|
|
23
|
-
it('should return no error when the value is a boolean false',
|
|
23
|
+
it('should return no error when the value is a boolean false', () => {
|
|
24
24
|
expect((0, _validateRequired.default)(false, LABEL)).toBeUndefined();
|
|
25
25
|
});
|
|
26
|
-
it('should return no error when the value is the number zero',
|
|
26
|
+
it('should return no error when the value is the number zero', () => {
|
|
27
27
|
expect((0, _validateRequired.default)(0, LABEL)).toBeUndefined();
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// Invalid values
|
|
31
|
-
it('should return an error when the value is undefined',
|
|
31
|
+
it('should return an error when the value is undefined', () => {
|
|
32
32
|
expect((0, _validateRequired.default)(undefined, LABEL)).toEqual(ERROR);
|
|
33
33
|
});
|
|
34
|
-
it('should return an error when the value is null',
|
|
34
|
+
it('should return an error when the value is null', () => {
|
|
35
35
|
expect((0, _validateRequired.default)(null, LABEL)).toEqual(ERROR);
|
|
36
36
|
});
|
|
37
|
-
it('should return an error when the value is an empty string',
|
|
37
|
+
it('should return an error when the value is an empty string', () => {
|
|
38
38
|
expect((0, _validateRequired.default)('', LABEL)).toEqual(ERROR);
|
|
39
39
|
});
|
|
40
|
-
it('should return an error when the value is a string containing just spaces',
|
|
40
|
+
it('should return an error when the value is a string containing just spaces', () => {
|
|
41
41
|
expect((0, _validateRequired.default)(' ', LABEL)).toEqual(ERROR);
|
|
42
42
|
});
|
|
43
|
-
it('should return an error when the value is an empty array',
|
|
43
|
+
it('should return an error when the value is an empty array', () => {
|
|
44
44
|
expect((0, _validateRequired.default)([], LABEL)).toEqual(ERROR);
|
|
45
45
|
});
|
|
46
|
-
it('should use a default label when none is specified',
|
|
46
|
+
it('should use a default label when none is specified', () => {
|
|
47
47
|
expect((0, _validateRequired.default)(undefined, undefined)).toEqual('Field is required');
|
|
48
48
|
});
|
|
49
|
-
it('should use a custom error when one is provided',
|
|
49
|
+
it('should use a custom error when one is provided', () => {
|
|
50
50
|
expect((0, _validateRequired.default)(undefined, undefined, [{
|
|
51
51
|
type: 'required',
|
|
52
52
|
message: 'custom error message'
|
|
53
53
|
}])).toEqual('custom error message');
|
|
54
54
|
});
|
|
55
|
-
it('should ignore a custom error when not of type required',
|
|
55
|
+
it('should ignore a custom error when not of type required', () => {
|
|
56
56
|
expect((0, _validateRequired.default)(undefined, undefined, [{
|
|
57
57
|
type: 'genericError',
|
|
58
58
|
message: 'generic error message'
|
|
@@ -14,17 +14,15 @@ exports.default = void 0;
|
|
|
14
14
|
* @param {number} maxLength The maximum allowable number of characters (by default, this is 1000 characters).
|
|
15
15
|
* @returns An error if the value exceeds the maximum allowable number of characters.
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const validateTextArea = function (label, value, showCharacterCount, customErrors) {
|
|
18
|
+
let maxLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1000;
|
|
19
19
|
if (!showCharacterCount) {
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
const hasError = value.length > maxLength;
|
|
23
23
|
if (hasError) {
|
|
24
24
|
if (Array.isArray(customErrors)) {
|
|
25
|
-
|
|
26
|
-
return error.type === 'length';
|
|
27
|
-
});
|
|
25
|
+
const result = customErrors.filter(error => error.type === 'length');
|
|
28
26
|
if (result && result.length > 0 && result[0].message) {
|
|
29
27
|
return result[0].message;
|
|
30
28
|
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _validateTextArea = _interopRequireDefault(require("./validateTextArea"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('TextArea',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('TextArea', () => {
|
|
8
|
+
const MAX_LENGTH = 10;
|
|
9
|
+
const LABEL = 'This is a custom label';
|
|
10
|
+
const CUSTOM_ERROR = "The value must be ".concat(MAX_LENGTH, " characters or less");
|
|
11
|
+
const ERROR_MSG = "".concat(LABEL, " must be ").concat(MAX_LENGTH, " characters or less");
|
|
12
|
+
const CUSTOM_ERRORS = [{
|
|
13
13
|
type: 'length',
|
|
14
14
|
message: CUSTOM_ERROR
|
|
15
15
|
}];
|
|
16
|
-
it('should return no error when the character count flag is disabled',
|
|
17
|
-
|
|
16
|
+
it('should return no error when the character count flag is disabled', () => {
|
|
17
|
+
const VALUE = 'ALPHA BRAVO';
|
|
18
18
|
expect((0, _validateTextArea.default)(LABEL, VALUE, false, CUSTOM_ERRORS, MAX_LENGTH)).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should return no error when value length has not exceeded the maximum allowable character length',
|
|
21
|
-
|
|
20
|
+
it('should return no error when value length has not exceeded the maximum allowable character length', () => {
|
|
21
|
+
const VALUE = 'ALPHA BRA';
|
|
22
22
|
expect((0, _validateTextArea.default)(LABEL, VALUE, true, CUSTOM_ERRORS, MAX_LENGTH)).toBeUndefined();
|
|
23
23
|
});
|
|
24
|
-
it('should return no error when value length has not exceeded the default maximum allowable character length',
|
|
25
|
-
|
|
24
|
+
it('should return no error when value length has not exceeded the default maximum allowable character length', () => {
|
|
25
|
+
const VALUE = 'ALPHA BRAVO';
|
|
26
26
|
expect((0, _validateTextArea.default)(LABEL, VALUE, true, undefined)).toBeUndefined();
|
|
27
27
|
});
|
|
28
|
-
it('should return an error when value length has exceeded the maximum allowable character length',
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
it('should return an error when value length has exceeded the maximum allowable character length', () => {
|
|
29
|
+
const VALUE = 'ALPHA BRAVO';
|
|
30
|
+
const error = (0, _validateTextArea.default)(LABEL, VALUE, true, undefined, MAX_LENGTH);
|
|
31
31
|
expect(error).toBeDefined();
|
|
32
32
|
expect(error).toEqual(ERROR_MSG);
|
|
33
33
|
});
|
|
34
|
-
it('should return a custom error when one is provided',
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
it('should return a custom error when one is provided', () => {
|
|
35
|
+
const VALUE = 'ALPHA BRAVO CHARLIE';
|
|
36
|
+
const error = (0, _validateTextArea.default)(LABEL, VALUE, true, CUSTOM_ERRORS, MAX_LENGTH);
|
|
37
37
|
expect(error).toBeDefined();
|
|
38
38
|
expect(error).toEqual(CUSTOM_ERROR);
|
|
39
39
|
});
|
|
@@ -5,12 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _utils = require("./additional/utils");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
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); }
|
|
11
|
-
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; }
|
|
12
|
-
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; } }
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Local imports
|
|
8
|
+
// Local imports
|
|
9
|
+
|
|
14
10
|
/**
|
|
15
11
|
* Checks if a time passed is a valid time.
|
|
16
12
|
* This will validate for missing components, invalid hour or minute components.
|
|
@@ -23,23 +19,20 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Local i
|
|
|
23
19
|
* @returns an object with an error message and instructions for which parts of the time are in error
|
|
24
20
|
* or undefined for both if the time is valid
|
|
25
21
|
*/
|
|
26
|
-
|
|
22
|
+
const validateTime = time => {
|
|
27
23
|
if (!time) {
|
|
28
24
|
return {
|
|
29
25
|
message: undefined,
|
|
30
26
|
propsInError: undefined
|
|
31
27
|
};
|
|
32
28
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var badProps = [];
|
|
41
|
-
var messages = [];
|
|
42
|
-
var numericRegex = /^\d{0,2}:\d{0,2}$/;
|
|
29
|
+
const formattedDate = (0, _utils.formattedTime)(time);
|
|
30
|
+
const [hour, minute] = formattedDate.split(':');
|
|
31
|
+
const intHour = parseInt(hour, 10);
|
|
32
|
+
const intMinute = parseInt(minute, 10);
|
|
33
|
+
const badProps = [];
|
|
34
|
+
const messages = [];
|
|
35
|
+
const numericRegex = /^\d{0,2}:\d{0,2}$/;
|
|
43
36
|
if (!numericRegex.test(time)) {
|
|
44
37
|
badProps.push('invalid');
|
|
45
38
|
messages.push('Enter a valid time');
|
|
@@ -59,7 +52,7 @@ var validateTime = function validateTime(time) {
|
|
|
59
52
|
messages.push('Minute must be between 0 and 59');
|
|
60
53
|
}
|
|
61
54
|
if (badProps.length > 0) {
|
|
62
|
-
|
|
55
|
+
const propsInError = {};
|
|
63
56
|
if (badProps.includes('hour')) {
|
|
64
57
|
propsInError.hour = true;
|
|
65
58
|
}
|
|
@@ -71,7 +64,7 @@ var validateTime = function validateTime(time) {
|
|
|
71
64
|
}
|
|
72
65
|
return {
|
|
73
66
|
message: badProps.length > 1 ? 'Enter a valid time' : messages[0],
|
|
74
|
-
propsInError
|
|
67
|
+
propsInError
|
|
75
68
|
};
|
|
76
69
|
}
|
|
77
70
|
return {
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _validateTime = _interopRequireDefault(require("./validateTime"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('time',
|
|
8
|
-
test('should return no error when the value is an empty string',
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('time', () => {
|
|
8
|
+
test('should return no error when the value is an empty string', () => {
|
|
9
9
|
expect((0, _validateTime.default)('')).toEqual({
|
|
10
10
|
message: undefined,
|
|
11
11
|
propsInError: undefined
|
|
12
12
|
});
|
|
13
13
|
});
|
|
14
|
-
test('should return undefined if a time string is valid',
|
|
15
|
-
|
|
14
|
+
test('should return undefined if a time string is valid', () => {
|
|
15
|
+
const output = (0, _validateTime.default)('14:30');
|
|
16
16
|
expect(output).toEqual({
|
|
17
17
|
message: undefined,
|
|
18
18
|
propsInError: undefined
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
|
-
test('should return an error if no hour is given',
|
|
22
|
-
|
|
21
|
+
test('should return an error if no hour is given', () => {
|
|
22
|
+
const output = (0, _validateTime.default)(':30');
|
|
23
23
|
expect(output).toEqual({
|
|
24
24
|
message: 'Time must include a hour',
|
|
25
25
|
propsInError: {
|
|
@@ -27,8 +27,8 @@ describe('utils', function () {
|
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
-
test('should return an error if the hour is not between 0 and 23',
|
|
31
|
-
|
|
30
|
+
test('should return an error if the hour is not between 0 and 23', () => {
|
|
31
|
+
const output = (0, _validateTime.default)('35:30');
|
|
32
32
|
expect(output).toEqual({
|
|
33
33
|
message: 'Hour must be between 0 and 23',
|
|
34
34
|
propsInError: {
|
|
@@ -36,8 +36,8 @@ describe('utils', function () {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
test('should return an error if no minute is given',
|
|
40
|
-
|
|
39
|
+
test('should return an error if no minute is given', () => {
|
|
40
|
+
const output = (0, _validateTime.default)('14:');
|
|
41
41
|
expect(output).toEqual({
|
|
42
42
|
message: 'Time must include a minute',
|
|
43
43
|
propsInError: {
|
|
@@ -45,8 +45,8 @@ describe('utils', function () {
|
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
|
-
test('should return an error if the minute is not between 0 and 59',
|
|
49
|
-
|
|
48
|
+
test('should return an error if the minute is not between 0 and 59', () => {
|
|
49
|
+
const output = (0, _validateTime.default)('14:75');
|
|
50
50
|
expect(output).toEqual({
|
|
51
51
|
message: 'Minute must be between 0 and 59',
|
|
52
52
|
propsInError: {
|
|
@@ -54,8 +54,8 @@ describe('utils', function () {
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
-
test('should report multiple errors',
|
|
58
|
-
|
|
57
|
+
test('should report multiple errors', () => {
|
|
58
|
+
const output = (0, _validateTime.default)('24:75');
|
|
59
59
|
expect(output).toEqual({
|
|
60
60
|
message: 'Enter a valid time',
|
|
61
61
|
propsInError: {
|
|
@@ -64,8 +64,8 @@ describe('utils', function () {
|
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
|
-
test('should return an error if the time string contains non-numeric characters',
|
|
68
|
-
|
|
67
|
+
test('should return an error if the time string contains non-numeric characters', () => {
|
|
68
|
+
const output = (0, _validateTime.default)('14:3A');
|
|
69
69
|
expect(output).toEqual({
|
|
70
70
|
message: 'Enter a valid time',
|
|
71
71
|
propsInError: {
|
|
@@ -74,8 +74,8 @@ describe('utils', function () {
|
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
});
|
|
77
|
-
test('should return an error if the time string contains more than two digits in hour',
|
|
78
|
-
|
|
77
|
+
test('should return an error if the time string contains more than two digits in hour', () => {
|
|
78
|
+
const output = (0, _validateTime.default)('144:30');
|
|
79
79
|
expect(output).toEqual({
|
|
80
80
|
message: 'Enter a valid time',
|
|
81
81
|
propsInError: {
|
|
@@ -84,8 +84,8 @@ describe('utils', function () {
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
test('should return an error if the time string contains more than two digits in minute',
|
|
88
|
-
|
|
87
|
+
test('should return an error if the time string contains more than two digits in minute', () => {
|
|
88
|
+
const output = (0, _validateTime.default)('14:309');
|
|
89
89
|
expect(output).toEqual({
|
|
90
90
|
message: 'Enter a valid time',
|
|
91
91
|
propsInError: {
|
|
@@ -94,8 +94,8 @@ describe('utils', function () {
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
|
-
test('should return an error if there is an additional colon in the time string',
|
|
98
|
-
|
|
97
|
+
test('should return an error if there is an additional colon in the time string', () => {
|
|
98
|
+
const output = (0, _validateTime.default)('14:30:');
|
|
99
99
|
expect(output).toEqual({
|
|
100
100
|
message: 'Enter a valid time',
|
|
101
101
|
propsInError: {
|
|
@@ -103,8 +103,8 @@ describe('utils', function () {
|
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
|
-
test('should return no error if there is a single digit for both hour and minute',
|
|
107
|
-
|
|
106
|
+
test('should return no error if there is a single digit for both hour and minute', () => {
|
|
107
|
+
const output = (0, _validateTime.default)('1:1');
|
|
108
108
|
expect(output).toEqual({
|
|
109
109
|
message: undefined,
|
|
110
110
|
propsInError: undefined
|
package/dist/utils/index.js
CHANGED
|
@@ -17,15 +17,14 @@ var _Hub = _interopRequireDefault(require("./Hub"));
|
|
|
17
17
|
var _Meta = _interopRequireDefault(require("./Meta"));
|
|
18
18
|
var _Operate = _interopRequireDefault(require("./Operate"));
|
|
19
19
|
var _Validate = _interopRequireDefault(require("./Validate"));
|
|
20
|
-
function _interopRequireDefault(
|
|
21
|
-
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); }
|
|
20
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
21
|
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; }
|
|
23
22
|
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; }
|
|
24
|
-
function _defineProperty(
|
|
25
|
-
function _toPropertyKey(
|
|
26
|
-
function _toPrimitive(
|
|
23
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
24
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
25
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global imports
|
|
27
26
|
// Local imports
|
|
28
|
-
|
|
27
|
+
const Utils = _objectSpread({
|
|
29
28
|
CheckYourAnswers: _CheckYourAnswers.default,
|
|
30
29
|
CollectionPage: _CollectionPage.default,
|
|
31
30
|
Component: _Component.default,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ukhomeoffice/cop-react-form-renderer",
|
|
3
|
-
"version": "6.14.
|
|
3
|
+
"version": "6.14.2-alpha",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "rimraf dist",
|
|
@@ -9,16 +9,14 @@
|
|
|
9
9
|
"lint": "eslint --ext .js,.jsx src",
|
|
10
10
|
"storybook:start": "start-storybook --docs -s src/assets --no-manager-cache -p 6007",
|
|
11
11
|
"storybook:build": "build-storybook --docs -s src/assets",
|
|
12
|
-
"storybook:deploy": "yarn storybook:build && yarn deploy-storybook",
|
|
13
12
|
"storybook": "yarn storybook:start",
|
|
14
|
-
"deploy-storybook": "storybook-to-ghpages -e storybook-static",
|
|
15
13
|
"compile": "yarn clean && cross-env NODE_ENV=production babel src --out-dir dist --copy-files && yarn post-compile",
|
|
16
14
|
"post-compile": "rimraf dist/*.test.* dist/**/*.test.* dist/**/*.stories.* dist/docs dist/assets",
|
|
17
15
|
"compile-with-maps": "yarn clean && cross-env NODE_ENV=production babel src --out-dir dist --source-maps true --copy-files && yarn post-compile",
|
|
18
16
|
"yalc-publish": "yarn compile-with-maps && cp -r src dist/src && yalc publish --push"
|
|
19
17
|
},
|
|
20
18
|
"dependencies": {
|
|
21
|
-
"@ukhomeoffice/cop-react-components": "4.7.
|
|
19
|
+
"@ukhomeoffice/cop-react-components": "4.7.4",
|
|
22
20
|
"axios": "^0.23.0",
|
|
23
21
|
"dayjs": "^1.11.0",
|
|
24
22
|
"govuk-frontend": "^5.0.0",
|