@ukhomeoffice/cop-react-form-renderer 7.3.2 → 8.0.0-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 +106 -32
- package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
- package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
- package/dist/components/CheckYourAnswers/index.d.ts +2 -0
- package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
- package/dist/components/CollectionPage/index.d.ts +1 -0
- package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
- package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
- package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
- package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
- package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
- package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
- package/dist/components/CollectionSummary/index.d.ts +2 -0
- package/dist/components/FormComponent/Collection.d.ts +39 -0
- package/dist/components/FormComponent/Container.d.ts +26 -0
- package/dist/components/FormComponent/FormComponent.d.ts +39 -0
- package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
- package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
- package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
- package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
- package/dist/components/FormComponent/helpers/index.d.ts +5 -0
- package/dist/components/FormComponent/index.d.ts +2 -0
- package/dist/components/FormPage/FormPage.d.ts +36 -0
- package/dist/components/FormPage/index.d.ts +2 -0
- package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
- package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
- package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
- package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
- package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
- package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
- package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
- package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
- package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
- package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
- package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
- package/dist/components/FormRenderer/index.d.ts +2 -0
- package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
- package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
- package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
- package/dist/components/PageActions/ActionButton.d.ts +7 -0
- package/dist/components/PageActions/PageActions.d.ts +7 -0
- package/dist/components/PageActions/index.d.ts +2 -0
- package/dist/components/SummaryList/GroupAction.d.ts +12 -0
- package/dist/components/SummaryList/RowAction.d.ts +12 -0
- package/dist/components/SummaryList/SummaryList.d.ts +28 -0
- package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
- package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
- package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
- package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/index.d.ts +2 -0
- package/dist/components/SummaryList/index.d.ts +2 -0
- package/dist/components/TaskList/Task.d.ts +12 -0
- package/dist/components/TaskList/TaskList.d.ts +40 -0
- package/dist/components/TaskList/TaskState.d.ts +6 -0
- package/dist/components/TaskList/index.d.ts +2 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/context/HooksContext/HooksContext.d.ts +23 -0
- package/dist/context/HooksContext/index.d.ts +3 -0
- package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
- package/dist/context/ValidationContext/index.d.ts +3 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/useAxios.d.ts +2 -0
- package/dist/hooks/useGetRequest.d.ts +12 -0
- package/dist/hooks/useHooks.d.ts +2 -0
- package/dist/hooks/useRefData.d.ts +7 -0
- package/dist/hooks/useValidation.d.ts +2 -0
- package/dist/index.cjs +5 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6124 -81
- package/dist/models/CollectionLabels.d.ts +7 -0
- package/dist/models/ComponentTypes.d.ts +27 -0
- package/dist/models/EventTypes.d.ts +6 -0
- package/dist/models/FormPages.d.ts +6 -0
- package/dist/models/FormTypes.d.ts +10 -0
- package/dist/models/HubFormats.d.ts +5 -0
- package/dist/models/PageAction.d.ts +89 -0
- package/dist/models/TaskStates.d.ts +39 -0
- package/dist/models/index.d.ts +143 -0
- package/dist/setupTests.d.ts +14 -0
- package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
- package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
- package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
- package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
- package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
- package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
- package/dist/utils/CollectionPage/index.d.ts +13 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
- package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
- package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
- package/dist/utils/Component/addShowWhen.d.ts +13 -0
- package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
- package/dist/utils/Component/cleanAttributes.d.ts +14 -0
- package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
- package/dist/utils/Component/getDefaultValue.d.ts +2 -0
- package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
- package/dist/utils/Component/index.d.ts +12 -0
- package/dist/utils/Component/isEditable.d.ts +3 -0
- package/dist/utils/Component/optionIsSelected.d.ts +10 -0
- package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
- package/dist/utils/Component/showComponent.d.ts +2 -0
- package/dist/utils/Condition/index.d.ts +6 -0
- package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
- package/dist/utils/Condition/meetsCondition.d.ts +14 -0
- package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
- package/dist/utils/Condition/setupConditions.d.ts +2 -0
- package/dist/utils/Container/getEditableComponents.d.ts +7 -0
- package/dist/utils/Container/index.d.ts +6 -0
- package/dist/utils/Container/setupNesting.d.ts +2 -0
- package/dist/utils/Container/showContainer.d.ts +8 -0
- package/dist/utils/Data/applyFormula.d.ts +2 -0
- package/dist/utils/Data/deleteValues.d.ts +8 -0
- package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
- package/dist/utils/Data/getDataPath.d.ts +21 -0
- package/dist/utils/Data/getOptions.d.ts +2 -0
- package/dist/utils/Data/getSourceData.d.ts +17 -0
- package/dist/utils/Data/index.d.ts +15 -0
- package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
- package/dist/utils/Data/refDataToOptions.d.ts +8 -0
- package/dist/utils/Data/setDataItem.d.ts +2 -0
- package/dist/utils/Data/setupFormData.d.ts +15 -0
- package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
- package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
- package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
- package/dist/utils/FormPage/getFormPage.d.ts +9 -0
- package/dist/utils/FormPage/getFormPages.d.ts +9 -0
- package/dist/utils/FormPage/getPageActions.d.ts +13 -0
- package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
- package/dist/utils/FormPage/index.d.ts +10 -0
- package/dist/utils/FormPage/showFormPage.d.ts +8 -0
- package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
- package/dist/utils/FormPage/useComponent.d.ts +9 -0
- package/dist/utils/Format/formatData.d.ts +8 -0
- package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
- package/dist/utils/Format/formatDataForForm.d.ts +8 -0
- package/dist/utils/Format/formatDataForPage.d.ts +15 -0
- package/dist/utils/Format/index.d.ts +7 -0
- package/dist/utils/Hub/getFormHub.d.ts +15 -0
- package/dist/utils/Hub/index.d.ts +4 -0
- package/dist/utils/Meta/constants.d.ts +2 -0
- package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
- package/dist/utils/Meta/documents/index.d.ts +6 -0
- package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
- package/dist/utils/Meta/index.d.ts +9 -0
- package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
- package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
- package/dist/utils/Operate/doesContainValue.d.ts +11 -0
- package/dist/utils/Operate/getFirstOf.d.ts +2 -0
- package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
- package/dist/utils/Operate/getLength.d.ts +11 -0
- package/dist/utils/Operate/index.d.ts +4 -0
- package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
- package/dist/utils/Operate/runPageOperations.d.ts +19 -0
- package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
- package/dist/utils/Operate/shouldRun.d.ts +9 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
- package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
- package/dist/utils/Validate/additional/index.d.ts +2 -0
- package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
- package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
- package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
- package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
- package/dist/utils/Validate/additional/utils.d.ts +4 -0
- package/dist/utils/Validate/index.d.ts +42 -0
- package/dist/utils/Validate/validateCollection.d.ts +9 -0
- package/dist/utils/Validate/validateComponent.d.ts +16 -0
- package/dist/utils/Validate/validateContainer.d.ts +12 -0
- package/dist/utils/Validate/validateDate.d.ts +29 -0
- package/dist/utils/Validate/validateEmail.d.ts +13 -0
- package/dist/utils/Validate/validateMultifile.d.ts +3 -0
- package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
- package/dist/utils/Validate/validatePage.d.ts +8 -0
- package/dist/utils/Validate/validateRegex.d.ts +13 -0
- package/dist/utils/Validate/validateRequired.d.ts +9 -0
- package/dist/utils/Validate/validateTextArea.d.ts +13 -0
- package/dist/utils/Validate/validateTime.d.ts +20 -0
- package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
- package/dist/utils/index.d.ts +140 -0
- package/package.json +80 -167
- package/LICENCE.md +0 -21
- package/dist/components/CheckYourAnswers/Answer.js +0 -59
- package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
- package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
- package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
- package/dist/components/CheckYourAnswers/index.js +0 -10
- package/dist/components/CollectionPage/CollectionPage.js +0 -178
- package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
- package/dist/components/CollectionPage/index.js +0 -10
- package/dist/components/CollectionSummary/BannerStrip.js +0 -65
- package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
- package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
- package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
- package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
- package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
- package/dist/components/CollectionSummary/Confirmation.js +0 -65
- package/dist/components/CollectionSummary/Confirmation.scss +0 -26
- package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
- package/dist/components/CollectionSummary/RenderListView.js +0 -162
- package/dist/components/CollectionSummary/RenderListView.scss +0 -295
- package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
- package/dist/components/CollectionSummary/SummaryCard.js +0 -277
- package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
- package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
- package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
- package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
- package/dist/components/CollectionSummary/index.js +0 -10
- package/dist/components/FormComponent/Collection.js +0 -234
- package/dist/components/FormComponent/Collection.scss +0 -24
- package/dist/components/FormComponent/Collection.test.js +0 -934
- package/dist/components/FormComponent/Container.js +0 -130
- package/dist/components/FormComponent/Container.scss +0 -15
- package/dist/components/FormComponent/Container.test.js +0 -456
- package/dist/components/FormComponent/FormComponent.js +0 -238
- package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
- package/dist/components/FormComponent/FormComponent.test.js +0 -436
- package/dist/components/FormComponent/helpers/addLabel.js +0 -25
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
- package/dist/components/FormComponent/helpers/index.js +0 -35
- package/dist/components/FormComponent/index.js +0 -10
- package/dist/components/FormPage/FormPage.js +0 -212
- package/dist/components/FormPage/FormPage.scss +0 -7
- package/dist/components/FormPage/FormPage.stories.mdx +0 -157
- package/dist/components/FormPage/FormPage.test.js +0 -454
- package/dist/components/FormPage/index.js +0 -10
- package/dist/components/FormRenderer/FormRenderer.js +0 -426
- package/dist/components/FormRenderer/FormRenderer.scss +0 -5
- package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
- package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
- package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
- package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
- package/dist/components/FormRenderer/handlers/index.js +0 -17
- package/dist/components/FormRenderer/handlers/navigate.js +0 -25
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
- package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
- package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
- package/dist/components/FormRenderer/helpers/getPage.js +0 -27
- package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
- package/dist/components/FormRenderer/helpers/index.js +0 -33
- package/dist/components/FormRenderer/index.js +0 -10
- package/dist/components/FormRenderer/onCYAAction.js +0 -150
- package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
- package/dist/components/FormRenderer/onPageAction.js +0 -227
- package/dist/components/FormRenderer/onPageAction.test.js +0 -960
- package/dist/components/FormRenderer/onTaskAction.js +0 -47
- package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
- package/dist/components/PageActions/ActionButton.js +0 -48
- package/dist/components/PageActions/ActionButton.test.js +0 -73
- package/dist/components/PageActions/PageActions.js +0 -37
- package/dist/components/PageActions/PageActions.stories.mdx +0 -74
- package/dist/components/PageActions/PageActions.test.js +0 -106
- package/dist/components/PageActions/index.js +0 -10
- package/dist/components/SummaryList/GroupAction.js +0 -50
- package/dist/components/SummaryList/GroupAction.test.js +0 -86
- package/dist/components/SummaryList/RowAction.js +0 -48
- package/dist/components/SummaryList/RowAction.test.js +0 -86
- package/dist/components/SummaryList/SummaryList.js +0 -128
- package/dist/components/SummaryList/SummaryList.scss +0 -79
- package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
- package/dist/components/SummaryList/SummaryList.test.js +0 -504
- package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
- package/dist/components/SummaryList/SummaryListRow.js +0 -58
- package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/index.js +0 -14
- package/dist/components/SummaryList/index.js +0 -10
- package/dist/components/TaskList/Task.js +0 -62
- package/dist/components/TaskList/Task.test.js +0 -176
- package/dist/components/TaskList/TaskList.js +0 -175
- package/dist/components/TaskList/TaskList.scss +0 -123
- package/dist/components/TaskList/TaskList.stories.mdx +0 -164
- package/dist/components/TaskList/TaskList.test.js +0 -535
- package/dist/components/TaskList/TaskState.js +0 -37
- package/dist/components/TaskList/TaskState.test.js +0 -95
- package/dist/components/TaskList/index.js +0 -10
- package/dist/components/index.js +0 -56
- package/dist/context/HooksContext/HooksContext.js +0 -122
- package/dist/context/HooksContext/HooksContext.test.js +0 -45
- package/dist/context/HooksContext/index.js +0 -16
- package/dist/context/ValidationContext/ValidationContext.js +0 -98
- package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
- package/dist/context/ValidationContext/index.js +0 -16
- package/dist/context/index.js +0 -21
- package/dist/hooks/index.js +0 -55
- package/dist/hooks/useAxios.js +0 -36
- package/dist/hooks/useGetRequest.js +0 -89
- package/dist/hooks/useHooks.js +0 -15
- package/dist/hooks/useRefData.js +0 -62
- package/dist/hooks/useValidation.js +0 -15
- package/dist/json/actions.json +0 -17
- package/dist/json/actionsNoSave.json +0 -17
- package/dist/json/addressDetails.json +0 -149
- package/dist/json/areYouACivilServant.json +0 -7
- package/dist/json/firstForm.json +0 -94
- package/dist/json/grade.json +0 -108
- package/dist/json/group.data.json +0 -21
- package/dist/json/group.json +0 -402
- package/dist/json/groupOfRow.json +0 -137
- package/dist/json/groupOfRowData.json +0 -15
- package/dist/json/port.json +0 -346
- package/dist/json/saveAndContinue.json +0 -98
- package/dist/json/sublocation.json +0 -859
- package/dist/json/taskList.json +0 -265
- package/dist/json/team.json +0 -17351
- package/dist/json/terminal.json +0 -81
- package/dist/json/userProfile.data.json +0 -21
- package/dist/json/userProfile.json +0 -276
- package/dist/models/CollectionLabels.js +0 -15
- package/dist/models/ComponentTypes.js +0 -58
- package/dist/models/EventTypes.js +0 -16
- package/dist/models/FormPages.js +0 -16
- package/dist/models/FormTypes.js +0 -24
- package/dist/models/HubFormats.js +0 -14
- package/dist/models/PageAction.js +0 -65
- package/dist/models/TaskStates.js +0 -46
- package/dist/models/index.js +0 -77
- package/dist/setupTests.js +0 -54
- package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
- package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
- package/dist/utils/CheckYourAnswers/index.js +0 -15
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
- package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
- package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
- package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
- package/dist/utils/CollectionPage/index.js +0 -33
- package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
- package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
- package/dist/utils/Component/addShowWhen.js +0 -43
- package/dist/utils/Component/addShowWhen.test.js +0 -217
- package/dist/utils/Component/applyToComponentTree.js +0 -68
- package/dist/utils/Component/applyToComponentTree.test.js +0 -125
- package/dist/utils/Component/cleanAttributes.js +0 -42
- package/dist/utils/Component/cleanAttributes.test.js +0 -67
- package/dist/utils/Component/elevateNestedComponents.js +0 -58
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
- package/dist/utils/Component/getComponent.js +0 -305
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
- package/dist/utils/Component/getDefaultValue.js +0 -22
- package/dist/utils/Component/getDefaultValue.test.js +0 -62
- package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
- package/dist/utils/Component/index.js +0 -29
- package/dist/utils/Component/isEditable.js +0 -13
- package/dist/utils/Component/isEditable.test.js +0 -42
- package/dist/utils/Component/optionIsSelected.js +0 -25
- package/dist/utils/Component/optionIsSelected.test.js +0 -69
- package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
- package/dist/utils/Component/showComponent.js +0 -25
- package/dist/utils/Component/showComponent.test.js +0 -157
- package/dist/utils/Component/wrapInFormGroup.js +0 -26
- package/dist/utils/Condition/index.js +0 -17
- package/dist/utils/Condition/meetsAllConditions.js +0 -44
- package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
- package/dist/utils/Condition/meetsCondition.js +0 -165
- package/dist/utils/Condition/meetsCondition.test.js +0 -899
- package/dist/utils/Condition/meetsOneCondition.js +0 -32
- package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
- package/dist/utils/Condition/setupConditions.js +0 -36
- package/dist/utils/Condition/setupConditions.test.js +0 -34
- package/dist/utils/Container/getEditableComponents.js +0 -29
- package/dist/utils/Container/getEditableComponents.test.js +0 -134
- package/dist/utils/Container/index.js +0 -17
- package/dist/utils/Container/setupNesting.js +0 -53
- package/dist/utils/Container/setupNesting.test.js +0 -143
- package/dist/utils/Container/showContainer.js +0 -52
- package/dist/utils/Container/showContainer.test.js +0 -179
- package/dist/utils/Data/applyFormula.js +0 -90
- package/dist/utils/Data/applyFormula.test.js +0 -264
- package/dist/utils/Data/deleteValues.js +0 -19
- package/dist/utils/Data/deleteValues.test.js +0 -58
- package/dist/utils/Data/getAutocompleteSource.js +0 -87
- package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
- package/dist/utils/Data/getDataPath.js +0 -66
- package/dist/utils/Data/getDataPath.test.js +0 -49
- package/dist/utils/Data/getOptions.js +0 -86
- package/dist/utils/Data/getOptions.test.js +0 -279
- package/dist/utils/Data/getSourceData.js +0 -44
- package/dist/utils/Data/getSourceData.test.js +0 -158
- package/dist/utils/Data/index.js +0 -35
- package/dist/utils/Data/nestInRefdataOptions.js +0 -47
- package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
- package/dist/utils/Data/refDataToOptions.js +0 -44
- package/dist/utils/Data/refDataToOptions.test.js +0 -197
- package/dist/utils/Data/setDataItem.js +0 -26
- package/dist/utils/Data/setDataItem.test.js +0 -136
- package/dist/utils/Data/setupFormData.js +0 -49
- package/dist/utils/Data/setupFormData.test.js +0 -215
- package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
- package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
- package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
- package/dist/utils/FormPage/getConditionalText.js +0 -55
- package/dist/utils/FormPage/getConditionalText.test.js +0 -163
- package/dist/utils/FormPage/getFormPage.js +0 -54
- package/dist/utils/FormPage/getFormPage.test.js +0 -206
- package/dist/utils/FormPage/getFormPages.js +0 -30
- package/dist/utils/FormPage/getFormPages.test.js +0 -97
- package/dist/utils/FormPage/getPageActions.js +0 -58
- package/dist/utils/FormPage/getPageActions.test.js +0 -115
- package/dist/utils/FormPage/getParagraphFromText.js +0 -21
- package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
- package/dist/utils/FormPage/index.js +0 -24
- package/dist/utils/FormPage/showFormPage.js +0 -52
- package/dist/utils/FormPage/showFormPage.test.js +0 -181
- package/dist/utils/FormPage/showFormPageCYA.js +0 -23
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
- package/dist/utils/FormPage/useComponent.js +0 -83
- package/dist/utils/FormPage/useComponent.test.js +0 -216
- package/dist/utils/Format/formatData.js +0 -27
- package/dist/utils/Format/formatData.test.js +0 -46
- package/dist/utils/Format/formatDataForComponent.js +0 -35
- package/dist/utils/Format/formatDataForComponent.test.js +0 -114
- package/dist/utils/Format/formatDataForForm.js +0 -27
- package/dist/utils/Format/formatDataForForm.test.js +0 -79
- package/dist/utils/Format/formatDataForPage.js +0 -31
- package/dist/utils/Format/formatDataForPage.test.js +0 -94
- package/dist/utils/Format/index.js +0 -21
- package/dist/utils/Hub/getFormHub.js +0 -40
- package/dist/utils/Hub/getFormHub.test.js +0 -105
- package/dist/utils/Hub/index.js +0 -15
- package/dist/utils/Meta/constants.js +0 -9
- package/dist/utils/Meta/documents/getDocuments.js +0 -15
- package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
- package/dist/utils/Meta/documents/index.js +0 -19
- package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
- package/dist/utils/Meta/index.js +0 -17
- package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
- package/dist/utils/Operate/deleteValueInFormData.js +0 -27
- package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
- package/dist/utils/Operate/doesContainValue.js +0 -35
- package/dist/utils/Operate/doesContainValue.test.js +0 -76
- package/dist/utils/Operate/getFirstOf.js +0 -31
- package/dist/utils/Operate/getFirstOf.test.js +0 -87
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
- package/dist/utils/Operate/getLength.js +0 -51
- package/dist/utils/Operate/getLength.test.js +0 -90
- package/dist/utils/Operate/index.js +0 -13
- package/dist/utils/Operate/persistValueInFormData.js +0 -40
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
- package/dist/utils/Operate/runPageOperations.js +0 -75
- package/dist/utils/Operate/runPageOperations.test.js +0 -105
- package/dist/utils/Operate/setValueInFormData.js +0 -22
- package/dist/utils/Operate/setValueInFormData.test.js +0 -45
- package/dist/utils/Operate/shouldRun.js +0 -57
- package/dist/utils/Operate/shouldRun.test.js +0 -65
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
- package/dist/utils/Validate/additional/index.js +0 -74
- package/dist/utils/Validate/additional/index.test.js +0 -130
- package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
- package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
- package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
- package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
- package/dist/utils/Validate/additional/utils.js +0 -35
- package/dist/utils/Validate/index.js +0 -33
- package/dist/utils/Validate/validateCollection.js +0 -50
- package/dist/utils/Validate/validateCollection.test.js +0 -134
- package/dist/utils/Validate/validateComponent.js +0 -126
- package/dist/utils/Validate/validateComponent.test.js +0 -435
- package/dist/utils/Validate/validateContainer.js +0 -52
- package/dist/utils/Validate/validateContainer.test.js +0 -115
- package/dist/utils/Validate/validateDate.js +0 -112
- package/dist/utils/Validate/validateDate.test.js +0 -133
- package/dist/utils/Validate/validateEmail.js +0 -45
- package/dist/utils/Validate/validateEmail.test.js +0 -78
- package/dist/utils/Validate/validateMultifile.js +0 -29
- package/dist/utils/Validate/validateMultifile.test.js +0 -46
- package/dist/utils/Validate/validateOnPageLoad.js +0 -24
- package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
- package/dist/utils/Validate/validatePage.js +0 -56
- package/dist/utils/Validate/validatePage.test.js +0 -795
- package/dist/utils/Validate/validateRegex.js +0 -41
- package/dist/utils/Validate/validateRegex.test.js +0 -43
- package/dist/utils/Validate/validateRequired.js +0 -37
- package/dist/utils/Validate/validateRequired.test.js +0 -64
- package/dist/utils/Validate/validateTextArea.js +0 -36
- package/dist/utils/Validate/validateTextArea.test.js +0 -71
- package/dist/utils/Validate/validateTime.js +0 -76
- package/dist/utils/Validate/validateTime.test.js +0 -116
- package/dist/utils/canOverrideFieldRequired.js +0 -23
- package/dist/utils/index.js +0 -42
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
4
|
-
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _setupTests = require("../../setupTests");
|
|
6
|
-
var _FormComponent = _interopRequireDefault(require("./FormComponent"));
|
|
7
|
-
var _models = require("../../models");
|
|
8
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
// Global imports
|
|
11
|
-
|
|
12
|
-
// Local imports
|
|
13
|
-
|
|
14
|
-
describe('components', () => {
|
|
15
|
-
describe('FormComponent', () => {
|
|
16
|
-
it('should render a text component appropriately', async () => {
|
|
17
|
-
const ID = 'component';
|
|
18
|
-
const VALUE = 'Text value';
|
|
19
|
-
const COMPONENT = {
|
|
20
|
-
id: ID,
|
|
21
|
-
fieldId: ID,
|
|
22
|
-
type: 'text',
|
|
23
|
-
label: 'Text component',
|
|
24
|
-
hint: 'Text hint'
|
|
25
|
-
};
|
|
26
|
-
const ON_CHANGE = () => {};
|
|
27
|
-
const {
|
|
28
|
-
container
|
|
29
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
30
|
-
"data-testid": ID,
|
|
31
|
-
component: COMPONENT,
|
|
32
|
-
value: VALUE,
|
|
33
|
-
onChange: ON_CHANGE
|
|
34
|
-
}));
|
|
35
|
-
|
|
36
|
-
// text components are wrapper in a FormGroup by default.
|
|
37
|
-
const formGroup = container.childNodes[0];
|
|
38
|
-
expect(formGroup.tagName).toEqual('DIV');
|
|
39
|
-
expect(formGroup.classList).toContain('govuk-form-group');
|
|
40
|
-
const label = formGroup.childNodes[0];
|
|
41
|
-
expect(label.tagName).toEqual('LABEL');
|
|
42
|
-
expect(label.classList).toContain('govuk-label');
|
|
43
|
-
expect(label.textContent).toEqual("".concat(COMPONENT.label, " (optional)"));
|
|
44
|
-
expect(label.getAttribute('for')).toEqual(ID);
|
|
45
|
-
const hint = formGroup.childNodes[1];
|
|
46
|
-
expect(hint.tagName).toEqual('DIV');
|
|
47
|
-
expect(hint.classList).toContain('govuk-hint');
|
|
48
|
-
expect(hint.textContent).toEqual(COMPONENT.hint);
|
|
49
|
-
const input = formGroup.childNodes[2];
|
|
50
|
-
expect(input.tagName).toEqual('INPUT');
|
|
51
|
-
expect(input.classList).toContain('govuk-input');
|
|
52
|
-
expect(input.id).toEqual(ID);
|
|
53
|
-
expect(input.value).toEqual(VALUE);
|
|
54
|
-
});
|
|
55
|
-
it('should render a text component appropriately with wrap turned off', async () => {
|
|
56
|
-
const ID = 'component';
|
|
57
|
-
const VALUE = 'Text value';
|
|
58
|
-
const COMPONENT = {
|
|
59
|
-
id: ID,
|
|
60
|
-
fieldId: ID,
|
|
61
|
-
type: 'text',
|
|
62
|
-
label: 'Text component',
|
|
63
|
-
hint: 'Text hint'
|
|
64
|
-
};
|
|
65
|
-
const ON_CHANGE = () => {};
|
|
66
|
-
const {
|
|
67
|
-
container
|
|
68
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
69
|
-
"data-testid": ID,
|
|
70
|
-
component: COMPONENT,
|
|
71
|
-
wrap: false,
|
|
72
|
-
value: VALUE,
|
|
73
|
-
onChange: ON_CHANGE
|
|
74
|
-
}));
|
|
75
|
-
|
|
76
|
-
// With wrap = false, there should be no form group.
|
|
77
|
-
const input = container.childNodes[0];
|
|
78
|
-
expect(input.tagName).toEqual('INPUT');
|
|
79
|
-
expect(input.classList).toContain('govuk-input');
|
|
80
|
-
expect(input.id).toEqual(ID);
|
|
81
|
-
expect(input.value).toEqual(VALUE);
|
|
82
|
-
});
|
|
83
|
-
it('should render an html component appropriately', async () => {
|
|
84
|
-
const ID = 'component';
|
|
85
|
-
const COMPONENT = {
|
|
86
|
-
type: 'html',
|
|
87
|
-
tagName: 'p',
|
|
88
|
-
content: 'HTML content'
|
|
89
|
-
};
|
|
90
|
-
const {
|
|
91
|
-
container
|
|
92
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
93
|
-
"data-testid": ID,
|
|
94
|
-
component: COMPONENT
|
|
95
|
-
}));
|
|
96
|
-
const p = container.childNodes[0];
|
|
97
|
-
expect(p.tagName).toEqual('P');
|
|
98
|
-
expect(p.textContent).toEqual(COMPONENT.content);
|
|
99
|
-
});
|
|
100
|
-
it('should render an overridden html component appropriately', async () => {
|
|
101
|
-
const hooks = {
|
|
102
|
-
onGetComponent: (config, wrap) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
103
|
-
children: "".concat(config.type, " | ").concat(config.tagName, " | ").concat(config.content, " | ").concat(wrap)
|
|
104
|
-
})
|
|
105
|
-
};
|
|
106
|
-
const ID = 'component';
|
|
107
|
-
const COMPONENT = {
|
|
108
|
-
type: 'html',
|
|
109
|
-
tagName: 'p',
|
|
110
|
-
content: 'HTML content'
|
|
111
|
-
};
|
|
112
|
-
const {
|
|
113
|
-
container
|
|
114
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
115
|
-
"data-testid": ID,
|
|
116
|
-
component: COMPONENT
|
|
117
|
-
}), {
|
|
118
|
-
hooks
|
|
119
|
-
});
|
|
120
|
-
const div = container.childNodes[0];
|
|
121
|
-
expect(div.tagName).toEqual('DIV');
|
|
122
|
-
expect(div.textContent).toEqual("".concat(COMPONENT.type, " | ").concat(COMPONENT.tagName, " | ").concat(COMPONENT.content, " | true"));
|
|
123
|
-
});
|
|
124
|
-
it('should render an overridden html component appropriately and pass through onAction', async () => {
|
|
125
|
-
const hooks = {
|
|
126
|
-
onGetComponent: (config, wrap) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
127
|
-
children: "".concat(config.type, " | ").concat(config.tagName, " | ").concat(config.content, " | ").concat(wrap, " | ").concat(config.onAction)
|
|
128
|
-
})
|
|
129
|
-
};
|
|
130
|
-
const ID = 'component';
|
|
131
|
-
const COMPONENT = {
|
|
132
|
-
type: 'html',
|
|
133
|
-
tagName: 'p',
|
|
134
|
-
content: 'HTML content'
|
|
135
|
-
};
|
|
136
|
-
const {
|
|
137
|
-
container
|
|
138
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
139
|
-
"data-testid": ID,
|
|
140
|
-
component: COMPONENT,
|
|
141
|
-
onAction: "() => {}"
|
|
142
|
-
}), {
|
|
143
|
-
hooks
|
|
144
|
-
});
|
|
145
|
-
const div = container.childNodes[0];
|
|
146
|
-
expect(div.tagName).toEqual('DIV');
|
|
147
|
-
expect(div.textContent).toEqual("".concat(COMPONENT.type, " | ").concat(COMPONENT.tagName, " | ").concat(COMPONENT.content, " | true | () => {}"));
|
|
148
|
-
});
|
|
149
|
-
it('should render the correct html component when the override returns null', async () => {
|
|
150
|
-
const hooks = {
|
|
151
|
-
onGetComponent: () => null
|
|
152
|
-
};
|
|
153
|
-
const ID = 'component';
|
|
154
|
-
const COMPONENT = {
|
|
155
|
-
type: 'html',
|
|
156
|
-
tagName: 'p',
|
|
157
|
-
content: 'HTML content'
|
|
158
|
-
};
|
|
159
|
-
const {
|
|
160
|
-
container
|
|
161
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
162
|
-
"data-testid": ID,
|
|
163
|
-
component: COMPONENT
|
|
164
|
-
}), {
|
|
165
|
-
hooks
|
|
166
|
-
});
|
|
167
|
-
const p = container.childNodes[0];
|
|
168
|
-
expect(p.tagName).toEqual('P');
|
|
169
|
-
expect(p.textContent).toEqual(COMPONENT.content);
|
|
170
|
-
});
|
|
171
|
-
it('should render a text component appropriately with interpolated label', async () => {
|
|
172
|
-
const ID = 'component';
|
|
173
|
-
const VALUE = 'Text value';
|
|
174
|
-
// eslint-disable-next-line no-template-curly-in-string
|
|
175
|
-
const COMPONENT = {
|
|
176
|
-
id: ID,
|
|
177
|
-
fieldId: ID,
|
|
178
|
-
type: 'text',
|
|
179
|
-
label: '${text} Text component',
|
|
180
|
-
cya_label: '${text} Text component',
|
|
181
|
-
hint: 'Text hint'
|
|
182
|
-
};
|
|
183
|
-
const DATA = {
|
|
184
|
-
text: 'Interpolated'
|
|
185
|
-
};
|
|
186
|
-
const ON_CHANGE = () => {};
|
|
187
|
-
const {
|
|
188
|
-
container
|
|
189
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
190
|
-
"data-testid": ID,
|
|
191
|
-
component: COMPONENT,
|
|
192
|
-
value: VALUE,
|
|
193
|
-
onChange: ON_CHANGE,
|
|
194
|
-
formData: DATA
|
|
195
|
-
}));
|
|
196
|
-
|
|
197
|
-
// text components are wrapper in a FormGroup by default.
|
|
198
|
-
const formGroup = container.childNodes[0];
|
|
199
|
-
expect(formGroup.tagName).toEqual('DIV');
|
|
200
|
-
expect(formGroup.classList).toContain('govuk-form-group');
|
|
201
|
-
const label = formGroup.childNodes[0];
|
|
202
|
-
expect(label.tagName).toEqual('LABEL');
|
|
203
|
-
expect(label.classList).toContain('govuk-label');
|
|
204
|
-
expect(label.textContent).toEqual('Interpolated Text component (optional)');
|
|
205
|
-
expect(label.getAttribute('for')).toEqual(ID);
|
|
206
|
-
const hint = formGroup.childNodes[1];
|
|
207
|
-
expect(hint.tagName).toEqual('DIV');
|
|
208
|
-
expect(hint.classList).toContain('govuk-hint');
|
|
209
|
-
expect(hint.textContent).toEqual(COMPONENT.hint);
|
|
210
|
-
const input = formGroup.childNodes[2];
|
|
211
|
-
expect(input.tagName).toEqual('INPUT');
|
|
212
|
-
expect(input.classList).toContain('govuk-input');
|
|
213
|
-
expect(input.id).toEqual(ID);
|
|
214
|
-
expect(input.value).toEqual(VALUE);
|
|
215
|
-
});
|
|
216
|
-
it('should correctly handle a component\'s default value when it has no existing value', async () => {
|
|
217
|
-
const ID = 'component';
|
|
218
|
-
const COMPONENT = {
|
|
219
|
-
id: ID,
|
|
220
|
-
fieldId: ID,
|
|
221
|
-
type: 'text',
|
|
222
|
-
label: 'Text component',
|
|
223
|
-
defaultValue: 'default text'
|
|
224
|
-
};
|
|
225
|
-
const DATA = {};
|
|
226
|
-
const ON_CHANGE_ARGS = [];
|
|
227
|
-
let ON_CHANGE_COUNT = 0;
|
|
228
|
-
const ON_CHANGE = _ref => {
|
|
229
|
-
let {
|
|
230
|
-
target
|
|
231
|
-
} = _ref;
|
|
232
|
-
ON_CHANGE_ARGS.push(target);
|
|
233
|
-
ON_CHANGE_COUNT += 1;
|
|
234
|
-
DATA[target.name] = target.value;
|
|
235
|
-
};
|
|
236
|
-
const {
|
|
237
|
-
container,
|
|
238
|
-
rerender
|
|
239
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
240
|
-
"data-testid": ID,
|
|
241
|
-
component: COMPONENT,
|
|
242
|
-
value: DATA[ID],
|
|
243
|
-
onChange: ON_CHANGE,
|
|
244
|
-
formData: DATA
|
|
245
|
-
}));
|
|
246
|
-
expect(ON_CHANGE_COUNT).toEqual(1);
|
|
247
|
-
expect(ON_CHANGE_ARGS[0]).toMatchObject({
|
|
248
|
-
name: 'component',
|
|
249
|
-
value: COMPONENT.defaultValue
|
|
250
|
-
});
|
|
251
|
-
const formGroup = container.childNodes[0];
|
|
252
|
-
const input = formGroup.childNodes[2];
|
|
253
|
-
(0, _setupTests.rerenderWithValidation)(rerender, /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
254
|
-
"data-testid": ID,
|
|
255
|
-
component: COMPONENT,
|
|
256
|
-
value: DATA[ID],
|
|
257
|
-
onChange: ON_CHANGE,
|
|
258
|
-
formData: DATA
|
|
259
|
-
}));
|
|
260
|
-
// Input should only be updated once the changes caused
|
|
261
|
-
// by onChange have had another render to propagate down.
|
|
262
|
-
expect(input.value).toEqual(COMPONENT.defaultValue);
|
|
263
|
-
});
|
|
264
|
-
it('should correctly handle a component\'s default value when it has an existing value', async () => {
|
|
265
|
-
const ID = 'component';
|
|
266
|
-
const COMPONENT = {
|
|
267
|
-
id: ID,
|
|
268
|
-
fieldId: ID,
|
|
269
|
-
type: 'text',
|
|
270
|
-
label: 'Text component',
|
|
271
|
-
defaultValue: 'default text'
|
|
272
|
-
};
|
|
273
|
-
const DATA = {
|
|
274
|
-
component: 'existing value'
|
|
275
|
-
};
|
|
276
|
-
const ON_CHANGE_ARGS = [];
|
|
277
|
-
let ON_CHANGE_COUNT = 0;
|
|
278
|
-
const ON_CHANGE = _ref2 => {
|
|
279
|
-
let {
|
|
280
|
-
target
|
|
281
|
-
} = _ref2;
|
|
282
|
-
ON_CHANGE_ARGS.push(target);
|
|
283
|
-
ON_CHANGE_COUNT += 1;
|
|
284
|
-
};
|
|
285
|
-
const {
|
|
286
|
-
container
|
|
287
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
288
|
-
"data-testid": ID,
|
|
289
|
-
component: COMPONENT,
|
|
290
|
-
value: DATA[ID],
|
|
291
|
-
onChange: ON_CHANGE,
|
|
292
|
-
formData: DATA
|
|
293
|
-
}));
|
|
294
|
-
expect(ON_CHANGE_COUNT).toEqual(0);
|
|
295
|
-
const formGroup = container.childNodes[0];
|
|
296
|
-
const input = formGroup.childNodes[2];
|
|
297
|
-
expect(input.value).toEqual(DATA[ID]);
|
|
298
|
-
});
|
|
299
|
-
it('should correctly handle a nested file input on change event within a nested container', async () => {
|
|
300
|
-
const ID = 'component';
|
|
301
|
-
const NESTED_CONTAINER_ID = 'nested-container-component';
|
|
302
|
-
const NESTED_ID = 'nested-component';
|
|
303
|
-
const COMPONENT = {
|
|
304
|
-
id: ID,
|
|
305
|
-
fieldId: ID,
|
|
306
|
-
type: _models.ComponentTypes.CHECKBOXES,
|
|
307
|
-
label: 'Checkboxes component',
|
|
308
|
-
data: {
|
|
309
|
-
options: [{
|
|
310
|
-
value: 'EPSILON',
|
|
311
|
-
label: 'Epsilon Label'
|
|
312
|
-
}, {
|
|
313
|
-
value: 'GAMMA',
|
|
314
|
-
label: 'Gamma Label',
|
|
315
|
-
nested: [{
|
|
316
|
-
id: NESTED_CONTAINER_ID,
|
|
317
|
-
fieldId: NESTED_CONTAINER_ID,
|
|
318
|
-
type: _models.ComponentTypes.CONTAINER,
|
|
319
|
-
components: [{
|
|
320
|
-
id: NESTED_ID,
|
|
321
|
-
fieldId: NESTED_ID,
|
|
322
|
-
label: 'File upload',
|
|
323
|
-
type: _models.ComponentTypes.FILE
|
|
324
|
-
}]
|
|
325
|
-
}]
|
|
326
|
-
}]
|
|
327
|
-
}
|
|
328
|
-
};
|
|
329
|
-
const DATA = {
|
|
330
|
-
component: 'GAMMA'
|
|
331
|
-
};
|
|
332
|
-
const ON_CHANGE_ARGS = [];
|
|
333
|
-
let ON_CHANGE_COUNT = 0;
|
|
334
|
-
const ON_CHANGE = _ref3 => {
|
|
335
|
-
let {
|
|
336
|
-
target
|
|
337
|
-
} = _ref3;
|
|
338
|
-
ON_CHANGE_ARGS.push(target);
|
|
339
|
-
ON_CHANGE_COUNT += 1;
|
|
340
|
-
};
|
|
341
|
-
const {
|
|
342
|
-
container
|
|
343
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
344
|
-
"data-testid": ID,
|
|
345
|
-
component: COMPONENT,
|
|
346
|
-
value: DATA[ID],
|
|
347
|
-
onChange: ON_CHANGE,
|
|
348
|
-
formData: DATA
|
|
349
|
-
}));
|
|
350
|
-
|
|
351
|
-
// Get hold of the file input.
|
|
352
|
-
const c = container.childNodes[0];
|
|
353
|
-
const formGroup = c.childNodes[0];
|
|
354
|
-
const fieldSet = formGroup.childNodes[2];
|
|
355
|
-
const input = fieldSet.childNodes[2].childNodes[0].childNodes[0].childNodes[2].childNodes[0];
|
|
356
|
-
const FILE_EXTENSION = 'json';
|
|
357
|
-
const FILE_NAME = "test.".concat(FILE_EXTENSION);
|
|
358
|
-
const FILE_TYPE = 'application/JSON';
|
|
359
|
-
const str = JSON.stringify({
|
|
360
|
-
alpha: 'bravo'
|
|
361
|
-
});
|
|
362
|
-
const blob = new Blob([str]);
|
|
363
|
-
const FILE = new File([blob], FILE_NAME, {
|
|
364
|
-
type: FILE_TYPE
|
|
365
|
-
});
|
|
366
|
-
_userEvent.default.upload(input, FILE);
|
|
367
|
-
expect(ON_CHANGE_COUNT).toEqual(3);
|
|
368
|
-
});
|
|
369
|
-
it('should render a text component appropriately when wrapped in a formGroups', async () => {
|
|
370
|
-
const ID = 'container';
|
|
371
|
-
const INNER_COMPONENT_ID = "text";
|
|
372
|
-
const VALUE = 'Text value';
|
|
373
|
-
const INNER_COMPONENT = {
|
|
374
|
-
id: INNER_COMPONENT_ID,
|
|
375
|
-
fieldId: INNER_COMPONENT_ID,
|
|
376
|
-
type: 'text',
|
|
377
|
-
label: 'Text component',
|
|
378
|
-
hint: 'Text hint',
|
|
379
|
-
value: VALUE
|
|
380
|
-
};
|
|
381
|
-
const COMPONENT = {
|
|
382
|
-
id: ID,
|
|
383
|
-
fieldId: ID,
|
|
384
|
-
type: 'container',
|
|
385
|
-
fieldset: true,
|
|
386
|
-
components: [INNER_COMPONENT]
|
|
387
|
-
};
|
|
388
|
-
const NESTED_VALUE = {
|
|
389
|
-
[INNER_COMPONENT_ID]: VALUE
|
|
390
|
-
};
|
|
391
|
-
const ON_CHANGE = () => {};
|
|
392
|
-
const {
|
|
393
|
-
container
|
|
394
|
-
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
395
|
-
"data-testid": ID,
|
|
396
|
-
component: COMPONENT,
|
|
397
|
-
value: NESTED_VALUE,
|
|
398
|
-
onChange: ON_CHANGE
|
|
399
|
-
}));
|
|
400
|
-
|
|
401
|
-
// Form group
|
|
402
|
-
const formGroup = container.childNodes[0];
|
|
403
|
-
expect(formGroup.tagName).toEqual('DIV');
|
|
404
|
-
expect(formGroup.classList).toContain('govuk-form-group');
|
|
405
|
-
// FieldSet
|
|
406
|
-
const fieldSet = formGroup.childNodes[0];
|
|
407
|
-
expect(fieldSet.tagName).toEqual('FIELDSET');
|
|
408
|
-
expect(fieldSet.classList).toContain('govuk-fieldset');
|
|
409
|
-
// Form container
|
|
410
|
-
const formContainer = fieldSet.childNodes[0];
|
|
411
|
-
expect(formContainer.tagName).toEqual('DIV');
|
|
412
|
-
expect(formContainer.classList).toContain('hods-form-container');
|
|
413
|
-
// Form group for container
|
|
414
|
-
const formGroupForContainer = formContainer.childNodes[0];
|
|
415
|
-
expect(formGroupForContainer.tagName).toEqual('DIV');
|
|
416
|
-
expect(formGroupForContainer.classList).toContain('govuk-form-group');
|
|
417
|
-
|
|
418
|
-
// Nested component.
|
|
419
|
-
const label = formGroupForContainer.childNodes[0];
|
|
420
|
-
expect(label.tagName).toEqual('LABEL');
|
|
421
|
-
expect(label.classList).toContain('govuk-label');
|
|
422
|
-
expect(label.textContent).toEqual("".concat(INNER_COMPONENT.label, " (optional)"));
|
|
423
|
-
expect(label.getAttribute('for')).toEqual("".concat(ID, ".").concat(INNER_COMPONENT_ID));
|
|
424
|
-
const hint = formGroupForContainer.childNodes[1];
|
|
425
|
-
expect(hint.tagName).toEqual('DIV');
|
|
426
|
-
expect(hint.classList).toContain('govuk-hint');
|
|
427
|
-
expect(hint.textContent).toEqual(INNER_COMPONENT.hint);
|
|
428
|
-
const input = formGroupForContainer.childNodes[2];
|
|
429
|
-
expect(input.tagName).toEqual('INPUT');
|
|
430
|
-
expect(input.classList).toContain('govuk-input');
|
|
431
|
-
expect(input.id).toEqual("".concat(ID, ".").concat(INNER_COMPONENT_ID));
|
|
432
|
-
expect(input.value).toEqual(VALUE);
|
|
433
|
-
});
|
|
434
|
-
});
|
|
435
|
-
});
|
|
436
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlckV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfc2V0dXBUZXN0cyIsIl9Gb3JtQ29tcG9uZW50IiwiX21vZGVscyIsIl9qc3hSdW50aW1lIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiVkFMVUUiLCJDT01QT05FTlQiLCJpZCIsImZpZWxkSWQiLCJ0eXBlIiwibGFiZWwiLCJoaW50IiwiT05fQ0hBTkdFIiwiY29udGFpbmVyIiwicmVuZGVyV2l0aFZhbGlkYXRpb24iLCJqc3giLCJjb21wb25lbnQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZm9ybUdyb3VwIiwiY2hpbGROb2RlcyIsImV4cGVjdCIsInRhZ05hbWUiLCJ0b0VxdWFsIiwiY2xhc3NMaXN0IiwidG9Db250YWluIiwidGV4dENvbnRlbnQiLCJjb25jYXQiLCJnZXRBdHRyaWJ1dGUiLCJpbnB1dCIsIndyYXAiLCJjb250ZW50IiwicCIsImhvb2tzIiwib25HZXRDb21wb25lbnQiLCJjb25maWciLCJjaGlsZHJlbiIsImRpdiIsIm9uQWN0aW9uIiwiY3lhX2xhYmVsIiwiREFUQSIsInRleHQiLCJmb3JtRGF0YSIsImRlZmF1bHRWYWx1ZSIsIk9OX0NIQU5HRV9BUkdTIiwiT05fQ0hBTkdFX0NPVU5UIiwiX3JlZiIsInRhcmdldCIsInB1c2giLCJuYW1lIiwicmVyZW5kZXIiLCJ0b01hdGNoT2JqZWN0IiwicmVyZW5kZXJXaXRoVmFsaWRhdGlvbiIsIl9yZWYyIiwiTkVTVEVEX0NPTlRBSU5FUl9JRCIsIk5FU1RFRF9JRCIsIkNvbXBvbmVudFR5cGVzIiwiQ0hFQ0tCT1hFUyIsImRhdGEiLCJvcHRpb25zIiwibmVzdGVkIiwiQ09OVEFJTkVSIiwiY29tcG9uZW50cyIsIkZJTEUiLCJfcmVmMyIsImMiLCJmaWVsZFNldCIsIkZJTEVfRVhURU5TSU9OIiwiRklMRV9OQU1FIiwiRklMRV9UWVBFIiwic3RyIiwiSlNPTiIsInN0cmluZ2lmeSIsImFscGhhIiwiYmxvYiIsIkJsb2IiLCJGaWxlIiwidXNlciIsInVwbG9hZCIsIklOTkVSX0NPTVBPTkVOVF9JRCIsIklOTkVSX0NPTVBPTkVOVCIsImZpZWxkc2V0IiwiTkVTVEVEX1ZBTFVFIiwiZm9ybUNvbnRhaW5lciIsImZvcm1Hcm91cEZvckNvbnRhaW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1Db21wb25lbnQvRm9ybUNvbXBvbmVudC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEdsb2JhbCBpbXBvcnRzXG5pbXBvcnQgdXNlciBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3VzZXItZXZlbnQnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgcmVuZGVyV2l0aFZhbGlkYXRpb24sIHJlcmVuZGVyV2l0aFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi9zZXR1cFRlc3RzJztcbmltcG9ydCBGb3JtQ29tcG9uZW50IGZyb20gJy4vRm9ybUNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmRlc2NyaWJlKCdjb21wb25lbnRzJywgKCkgPT4ge1xuXG4gIGRlc2NyaWJlKCdGb3JtQ29tcG9uZW50JywgKCkgPT4ge1xuXG4gICAgaXQoJ3Nob3VsZCByZW5kZXIgYSB0ZXh0IGNvbXBvbmVudCBhcHByb3ByaWF0ZWx5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgSUQgPSAnY29tcG9uZW50JztcbiAgICAgIGNvbnN0IFZBTFVFID0gJ1RleHQgdmFsdWUnO1xuICAgICAgY29uc3QgQ09NUE9ORU5UID0geyBpZDogSUQsIGZpZWxkSWQ6IElELCB0eXBlOiAndGV4dCcsIGxhYmVsOiAnVGV4dCBjb21wb25lbnQnLCBoaW50OiAnVGV4dCBoaW50JyB9O1xuICAgICAgY29uc3QgT05fQ0hBTkdFID0gKCkgPT4ge307XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyV2l0aFZhbGlkYXRpb24oXG4gICAgICAgIDxGb3JtQ29tcG9uZW50IGRhdGEtdGVzdGlkPXtJRH0gY29tcG9uZW50PXtDT01QT05FTlR9IHZhbHVlPXtWQUxVRX0gb25DaGFuZ2U9e09OX0NIQU5HRX0gLz5cbiAgICAgICk7XG5cbiAgICAgIC8vIHRleHQgY29tcG9uZW50cyBhcmUgd3JhcHBlciBpbiBhIEZvcm1Hcm91cCBieSBkZWZhdWx0LlxuICAgICAgY29uc3QgZm9ybUdyb3VwID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgICAgZXhwZWN0KGZvcm1Hcm91cC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstZm9ybS1ncm91cCcpO1xuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXAuY2hpbGROb2Rlc1swXTtcbiAgICAgIGV4cGVjdChsYWJlbC50YWdOYW1lKS50b0VxdWFsKCdMQUJFTCcpO1xuICAgICAgZXhwZWN0KGxhYmVsLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1sYWJlbCcpO1xuICAgICAgZXhwZWN0KGxhYmVsLnRleHRDb250ZW50KS50b0VxdWFsKGAke0NPTVBPTkVOVC5sYWJlbH0gKG9wdGlvbmFsKWApO1xuICAgICAgZXhwZWN0KGxhYmVsLmdldEF0dHJpYnV0ZSgnZm9yJykpLnRvRXF1YWwoSUQpO1xuICAgICAgY29uc3QgaGludCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzFdO1xuICAgICAgZXhwZWN0KGhpbnQudGFnTmFtZSkudG9FcXVhbCgnRElWJyk7XG4gICAgICBleHBlY3QoaGludC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstaGludCcpO1xuICAgICAgZXhwZWN0KGhpbnQudGV4dENvbnRlbnQpLnRvRXF1YWwoQ09NUE9ORU5ULmhpbnQpO1xuICAgICAgY29uc3QgaW5wdXQgPSBmb3JtR3JvdXAuY2hpbGROb2Rlc1syXTtcbiAgICAgIGV4cGVjdChpbnB1dC50YWdOYW1lKS50b0VxdWFsKCdJTlBVVCcpO1xuICAgICAgZXhwZWN0KGlucHV0LmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1pbnB1dCcpO1xuICAgICAgZXhwZWN0KGlucHV0LmlkKS50b0VxdWFsKElEKTtcbiAgICAgIGV4cGVjdChpbnB1dC52YWx1ZSkudG9FcXVhbChWQUxVRSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciBhIHRleHQgY29tcG9uZW50IGFwcHJvcHJpYXRlbHkgd2l0aCB3cmFwIHR1cm5lZCBvZmYnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBJRCA9ICdjb21wb25lbnQnO1xuICAgICAgY29uc3QgVkFMVUUgPSAnVGV4dCB2YWx1ZSc7XG4gICAgICBjb25zdCBDT01QT05FTlQgPSB7IGlkOiBJRCwgZmllbGRJZDogSUQsIHR5cGU6ICd0ZXh0JywgbGFiZWw6ICdUZXh0IGNvbXBvbmVudCcsIGhpbnQ6ICdUZXh0IGhpbnQnIH07XG4gICAgICBjb25zdCBPTl9DSEFOR0UgPSAoKSA9PiB7fTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgPEZvcm1Db21wb25lbnQgZGF0YS10ZXN0aWQ9e0lEfSBjb21wb25lbnQ9e0NPTVBPTkVOVH0gd3JhcD17ZmFsc2V9IHZhbHVlPXtWQUxVRX0gb25DaGFuZ2U9e09OX0NIQU5HRX0gLz5cbiAgICAgICk7XG5cbiAgICAgIC8vIFdpdGggd3JhcCA9IGZhbHNlLCB0aGVyZSBzaG91bGQgYmUgbm8gZm9ybSBncm91cC5cbiAgICAgIGNvbnN0IGlucHV0ID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QoaW5wdXQudGFnTmFtZSkudG9FcXVhbCgnSU5QVVQnKTtcbiAgICAgIGV4cGVjdChpbnB1dC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstaW5wdXQnKTtcbiAgICAgIGV4cGVjdChpbnB1dC5pZCkudG9FcXVhbChJRCk7XG4gICAgICBleHBlY3QoaW5wdXQudmFsdWUpLnRvRXF1YWwoVkFMVUUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZW5kZXIgYW4gaHRtbCBjb21wb25lbnQgYXBwcm9wcmlhdGVseScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IElEID0gJ2NvbXBvbmVudCc7XG4gICAgICBjb25zdCBDT01QT05FTlQgPSB7IHR5cGU6ICdodG1sJywgdGFnTmFtZTogJ3AnLCBjb250ZW50OiAnSFRNTCBjb250ZW50JyB9O1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcldpdGhWYWxpZGF0aW9uKFxuICAgICAgICA8Rm9ybUNvbXBvbmVudCBkYXRhLXRlc3RpZD17SUR9IGNvbXBvbmVudD17Q09NUE9ORU5UfSAvPlxuICAgICAgKTtcbiAgICAgIGNvbnN0IHAgPSBjb250YWluZXIuY2hpbGROb2Rlc1swXTtcbiAgICAgIGV4cGVjdChwLnRhZ05hbWUpLnRvRXF1YWwoJ1AnKTtcbiAgICAgIGV4cGVjdChwLnRleHRDb250ZW50KS50b0VxdWFsKENPTVBPTkVOVC5jb250ZW50KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVuZGVyIGFuIG92ZXJyaWRkZW4gaHRtbCBjb21wb25lbnQgYXBwcm9wcmlhdGVseScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGhvb2tzID0ge1xuICAgICAgICBvbkdldENvbXBvbmVudDogKGNvbmZpZywgd3JhcCkgPT4gXG4gICAgICAgICAgPGRpdj57YCR7Y29uZmlnLnR5cGV9IHwgJHtjb25maWcudGFnTmFtZX0gfCAke2NvbmZpZy5jb250ZW50fSB8ICR7d3JhcH1gfTwvZGl2PlxuICAgICAgfTtcbiAgICAgIGNvbnN0IElEID0gJ2NvbXBvbmVudCc7XG4gICAgICBjb25zdCBDT01QT05FTlQgPSB7IHR5cGU6ICdodG1sJywgdGFnTmFtZTogJ3AnLCBjb250ZW50OiAnSFRNTCBjb250ZW50JyB9O1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcldpdGhWYWxpZGF0aW9uKFxuICAgICAgICA8Rm9ybUNvbXBvbmVudCBkYXRhLXRlc3RpZD17SUR9IGNvbXBvbmVudD17Q09NUE9ORU5UfSAvPlxuICAgICAgLCB7IGhvb2tzIH0pO1xuICAgICAgY29uc3QgZGl2ID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QoZGl2LnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgICAgZXhwZWN0KGRpdi50ZXh0Q29udGVudCkudG9FcXVhbChgJHtDT01QT05FTlQudHlwZX0gfCAke0NPTVBPTkVOVC50YWdOYW1lfSB8ICR7Q09NUE9ORU5ULmNvbnRlbnR9IHwgdHJ1ZWApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZW5kZXIgYW4gb3ZlcnJpZGRlbiBodG1sIGNvbXBvbmVudCBhcHByb3ByaWF0ZWx5IGFuZCBwYXNzIHRocm91Z2ggb25BY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBob29rcyA9IHtcbiAgICAgICAgb25HZXRDb21wb25lbnQ6IChjb25maWcsIHdyYXApID0+IChcbiAgICAgICAgICA8ZGl2PntgJHtjb25maWcudHlwZX0gfCAke2NvbmZpZy50YWdOYW1lfSB8ICR7Y29uZmlnLmNvbnRlbnR9IHwgJHt3cmFwfSB8ICR7Y29uZmlnLm9uQWN0aW9ufWB9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9O1xuICAgICAgY29uc3QgSUQgPSAnY29tcG9uZW50JztcbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgdHlwZTogJ2h0bWwnLCB0YWdOYW1lOiAncCcsIGNvbnRlbnQ6ICdIVE1MIGNvbnRlbnQnIH07XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyV2l0aFZhbGlkYXRpb24oXG4gICAgICAgIDxGb3JtQ29tcG9uZW50IGRhdGEtdGVzdGlkPXtJRH0gY29tcG9uZW50PXtDT01QT05FTlR9IG9uQWN0aW9uPScoKSA9PiB7fScvPlxuICAgICAgLCB7IGhvb2tzIH0pO1xuICAgICAgY29uc3QgZGl2ID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QoZGl2LnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgICAgZXhwZWN0KGRpdi50ZXh0Q29udGVudCkudG9FcXVhbChgJHtDT01QT05FTlQudHlwZX0gfCAke0NPTVBPTkVOVC50YWdOYW1lfSB8ICR7Q09NUE9ORU5ULmNvbnRlbnR9IHwgdHJ1ZSB8ICgpID0+IHt9YCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciB0aGUgY29ycmVjdCBodG1sIGNvbXBvbmVudCB3aGVuIHRoZSBvdmVycmlkZSByZXR1cm5zIG51bGwnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBob29rcyA9IHtcbiAgICAgICAgb25HZXRDb21wb25lbnQ6ICgpID0+IFxuICAgICAgICAgIG51bGxcbiAgICAgIH07XG4gICAgICBjb25zdCBJRCA9ICdjb21wb25lbnQnO1xuICAgICAgY29uc3QgQ09NUE9ORU5UID0geyB0eXBlOiAnaHRtbCcsIHRhZ05hbWU6ICdwJywgY29udGVudDogJ0hUTUwgY29udGVudCcgfTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgPEZvcm1Db21wb25lbnQgZGF0YS10ZXN0aWQ9e0lEfSBjb21wb25lbnQ9e0NPTVBPTkVOVH0gLz5cbiAgICAgICwgeyBob29rcyB9KTtcbiAgICAgIGNvbnN0IHAgPSBjb250YWluZXIuY2hpbGROb2Rlc1swXTtcbiAgICAgIGV4cGVjdChwLnRhZ05hbWUpLnRvRXF1YWwoJ1AnKTtcbiAgICAgIGV4cGVjdChwLnRleHRDb250ZW50KS50b0VxdWFsKENPTVBPTkVOVC5jb250ZW50KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVuZGVyIGEgdGV4dCBjb21wb25lbnQgYXBwcm9wcmlhdGVseSB3aXRoIGludGVycG9sYXRlZCBsYWJlbCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IElEID0gJ2NvbXBvbmVudCc7XG4gICAgICBjb25zdCBWQUxVRSA9ICdUZXh0IHZhbHVlJztcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10ZW1wbGF0ZS1jdXJseS1pbi1zdHJpbmdcbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgaWQ6IElELCBmaWVsZElkOiBJRCwgdHlwZTogJ3RleHQnLCBsYWJlbDogJyR7dGV4dH0gVGV4dCBjb21wb25lbnQnLCBjeWFfbGFiZWw6ICcke3RleHR9IFRleHQgY29tcG9uZW50JywgaGludDogJ1RleHQgaGludCcgfTtcbiAgICAgIGNvbnN0IERBVEEgPSB7IHRleHQ6ICdJbnRlcnBvbGF0ZWQnfVxuICAgICAgY29uc3QgT05fQ0hBTkdFID0gKCkgPT4ge307XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyV2l0aFZhbGlkYXRpb24oXG4gICAgICAgIDxGb3JtQ29tcG9uZW50IGRhdGEtdGVzdGlkPXtJRH0gY29tcG9uZW50PXtDT01QT05FTlR9IHZhbHVlPXtWQUxVRX0gb25DaGFuZ2U9e09OX0NIQU5HRX0gZm9ybURhdGE9e0RBVEF9IC8+XG4gICAgICApO1xuXG4gICAgICAvLyB0ZXh0IGNvbXBvbmVudHMgYXJlIHdyYXBwZXIgaW4gYSBGb3JtR3JvdXAgYnkgZGVmYXVsdC5cbiAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IGNvbnRhaW5lci5jaGlsZE5vZGVzWzBdO1xuICAgICAgZXhwZWN0KGZvcm1Hcm91cC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICAgIGNvbnN0IGxhYmVsID0gZm9ybUdyb3VwLmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QobGFiZWwudGFnTmFtZSkudG9FcXVhbCgnTEFCRUwnKTtcbiAgICAgIGV4cGVjdChsYWJlbC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstbGFiZWwnKTtcbiAgICAgIGV4cGVjdChsYWJlbC50ZXh0Q29udGVudCkudG9FcXVhbCgnSW50ZXJwb2xhdGVkIFRleHQgY29tcG9uZW50IChvcHRpb25hbCknKTtcbiAgICAgIGV4cGVjdChsYWJlbC5nZXRBdHRyaWJ1dGUoJ2ZvcicpKS50b0VxdWFsKElEKTtcbiAgICAgIGNvbnN0IGhpbnQgPSBmb3JtR3JvdXAuY2hpbGROb2Rlc1sxXTtcbiAgICAgIGV4cGVjdChoaW50LnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgICAgZXhwZWN0KGhpbnQuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWhpbnQnKTtcbiAgICAgIGV4cGVjdChoaW50LnRleHRDb250ZW50KS50b0VxdWFsKENPTVBPTkVOVC5oaW50KTtcbiAgICAgIGNvbnN0IGlucHV0ID0gZm9ybUdyb3VwLmNoaWxkTm9kZXNbMl07XG4gICAgICBleHBlY3QoaW5wdXQudGFnTmFtZSkudG9FcXVhbCgnSU5QVVQnKTtcbiAgICAgIGV4cGVjdChpbnB1dC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstaW5wdXQnKTtcbiAgICAgIGV4cGVjdChpbnB1dC5pZCkudG9FcXVhbChJRCk7XG4gICAgICBleHBlY3QoaW5wdXQudmFsdWUpLnRvRXF1YWwoVkFMVUUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgaGFuZGxlIGEgY29tcG9uZW50XFwncyBkZWZhdWx0IHZhbHVlIHdoZW4gaXQgaGFzIG5vIGV4aXN0aW5nIHZhbHVlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgSUQgPSAnY29tcG9uZW50JztcbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgXG4gICAgICAgIGlkOiBJRCwgXG4gICAgICAgIGZpZWxkSWQ6IElELCBcbiAgICAgICAgdHlwZTogJ3RleHQnLCBcbiAgICAgICAgbGFiZWw6ICdUZXh0IGNvbXBvbmVudCcsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ2RlZmF1bHQgdGV4dCcgXG4gICAgICB9O1xuICAgICAgY29uc3QgREFUQSA9IHt9O1xuICAgICAgY29uc3QgT05fQ0hBTkdFX0FSR1MgPSBbXTtcbiAgICAgIGxldCBPTl9DSEFOR0VfQ09VTlQgPSAwO1xuICAgICAgY29uc3QgT05fQ0hBTkdFID0gKHsgdGFyZ2V0IH0pID0+IHtcbiAgICAgICAgT05fQ0hBTkdFX0FSR1MucHVzaCh0YXJnZXQpO1xuICAgICAgICBPTl9DSEFOR0VfQ09VTlQgKz0gMTtcbiAgICAgICAgREFUQVt0YXJnZXQubmFtZV0gPSB0YXJnZXQudmFsdWU7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCB7IGNvbnRhaW5lciwgcmVyZW5kZXIgfSA9IHJlbmRlcldpdGhWYWxpZGF0aW9uKFxuICAgICAgICA8Rm9ybUNvbXBvbmVudCBkYXRhLXRlc3RpZD17SUR9IGNvbXBvbmVudD17Q09NUE9ORU5UfSB2YWx1ZT17REFUQVtJRF19IG9uQ2hhbmdlPXtPTl9DSEFOR0V9IGZvcm1EYXRhPXtEQVRBfSAvPlxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KE9OX0NIQU5HRV9DT1VOVCkudG9FcXVhbCgxKTtcbiAgICAgIGV4cGVjdChPTl9DSEFOR0VfQVJHU1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIG5hbWU6ICdjb21wb25lbnQnLFxuICAgICAgICB2YWx1ZTogQ09NUE9ORU5ULmRlZmF1bHRWYWx1ZVxuICAgIH0pO1xuICAgICAgY29uc3QgZm9ybUdyb3VwID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBjb25zdCBpbnB1dCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzJdO1xuICAgICAgcmVyZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgcmVyZW5kZXIsXG4gICAgICAgIDxGb3JtQ29tcG9uZW50IGRhdGEtdGVzdGlkPXtJRH0gY29tcG9uZW50PXtDT01QT05FTlR9IHZhbHVlPXtEQVRBW0lEXX0gb25DaGFuZ2U9e09OX0NIQU5HRX0gZm9ybURhdGE9e0RBVEF9IC8+XG4gICAgICApO1xuICAgICAgLy8gSW5wdXQgc2hvdWxkIG9ubHkgYmUgdXBkYXRlZCBvbmNlIHRoZSBjaGFuZ2VzIGNhdXNlZFxuICAgICAgLy8gYnkgb25DaGFuZ2UgaGF2ZSBoYWQgYW5vdGhlciByZW5kZXIgdG8gcHJvcGFnYXRlIGRvd24uXG4gICAgICBleHBlY3QoaW5wdXQudmFsdWUpLnRvRXF1YWwoQ09NUE9ORU5ULmRlZmF1bHRWYWx1ZSk7XG5cbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29ycmVjdGx5IGhhbmRsZSBhIGNvbXBvbmVudFxcJ3MgZGVmYXVsdCB2YWx1ZSB3aGVuIGl0IGhhcyBhbiBleGlzdGluZyB2YWx1ZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IElEID0gJ2NvbXBvbmVudCc7XG4gICAgICBjb25zdCBDT01QT05FTlQgPSB7IFxuICAgICAgICBpZDogSUQsIFxuICAgICAgICBmaWVsZElkOiBJRCwgXG4gICAgICAgIHR5cGU6ICd0ZXh0JywgXG4gICAgICAgIGxhYmVsOiAnVGV4dCBjb21wb25lbnQnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6ICdkZWZhdWx0IHRleHQnIFxuICAgICAgfTtcbiAgICAgIGNvbnN0IERBVEEgPSB7IGNvbXBvbmVudDogJ2V4aXN0aW5nIHZhbHVlJyB9O1xuICAgICAgY29uc3QgT05fQ0hBTkdFX0FSR1MgPSBbXTtcbiAgICAgIGxldCBPTl9DSEFOR0VfQ09VTlQgPSAwO1xuICAgICAgY29uc3QgT05fQ0hBTkdFID0gKHsgdGFyZ2V0IH0pID0+IHtcbiAgICAgICAgT05fQ0hBTkdFX0FSR1MucHVzaCh0YXJnZXQpO1xuICAgICAgICBPTl9DSEFOR0VfQ09VTlQgKz0gMTtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgPEZvcm1Db21wb25lbnQgZGF0YS10ZXN0aWQ9e0lEfSBjb21wb25lbnQ9e0NPTVBPTkVOVH0gdmFsdWU9e0RBVEFbSURdfSBvbkNoYW5nZT17T05fQ0hBTkdFfSBmb3JtRGF0YT17REFUQX0gLz5cbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChPTl9DSEFOR0VfQ09VTlQpLnRvRXF1YWwoMCk7XG4gICAgICBjb25zdCBmb3JtR3JvdXAgPSBjb250YWluZXIuY2hpbGROb2Rlc1swXTtcbiAgICAgIGNvbnN0IGlucHV0ID0gZm9ybUdyb3VwLmNoaWxkTm9kZXNbMl07XG4gICAgICBleHBlY3QoaW5wdXQudmFsdWUpLnRvRXF1YWwoREFUQVtJRF0pO1xuXG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvcnJlY3RseSBoYW5kbGUgYSBuZXN0ZWQgZmlsZSBpbnB1dCBvbiBjaGFuZ2UgZXZlbnQgd2l0aGluIGEgbmVzdGVkIGNvbnRhaW5lcicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IElEID0gJ2NvbXBvbmVudCc7XG4gICAgICBjb25zdCBORVNURURfQ09OVEFJTkVSX0lEID0gJ25lc3RlZC1jb250YWluZXItY29tcG9uZW50JztcbiAgICAgIGNvbnN0IE5FU1RFRF9JRCA9ICduZXN0ZWQtY29tcG9uZW50JztcbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHsgXG4gICAgICAgIGlkOiBJRCwgXG4gICAgICAgIGZpZWxkSWQ6IElELCBcbiAgICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuQ0hFQ0tCT1hFUywgXG4gICAgICAgIGxhYmVsOiAnQ2hlY2tib3hlcyBjb21wb25lbnQnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ0VQU0lMT04nLFxuICAgICAgICAgICAgICBsYWJlbDogJ0Vwc2lsb24gTGFiZWwnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ0dBTU1BJyxcbiAgICAgICAgICAgICAgbGFiZWw6ICdHYW1tYSBMYWJlbCcsXG4gICAgICAgICAgICAgIG5lc3RlZDogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlkOiBORVNURURfQ09OVEFJTkVSX0lELFxuICAgICAgICAgICAgICAgICAgZmllbGRJZDogTkVTVEVEX0NPTlRBSU5FUl9JRCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkNPTlRBSU5FUixcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiBORVNURURfSUQsXG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRJZDogTkVTVEVEX0lELFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRmlsZSB1cGxvYWQnLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkZJTEVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IERBVEEgPSB7IGNvbXBvbmVudDogJ0dBTU1BJyB9O1xuICAgICAgY29uc3QgT05fQ0hBTkdFX0FSR1MgPSBbXTtcbiAgICAgIGxldCBPTl9DSEFOR0VfQ09VTlQgPSAwO1xuICAgICAgY29uc3QgT05fQ0hBTkdFID0gKHsgdGFyZ2V0IH0pID0+IHtcbiAgICAgICAgT05fQ0hBTkdFX0FSR1MucHVzaCh0YXJnZXQpO1xuICAgICAgICBPTl9DSEFOR0VfQ09VTlQgKz0gMTtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgPEZvcm1Db21wb25lbnQgXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e0lEfVxuICAgICAgICAgIGNvbXBvbmVudD17Q09NUE9ORU5UfVxuICAgICAgICAgIHZhbHVlPXtEQVRBW0lEXX1cbiAgICAgICAgICBvbkNoYW5nZT17T05fQ0hBTkdFfVxuICAgICAgICAgIGZvcm1EYXRhPXtEQVRBfVxuICAgICAgICAvPlxuICAgICAgKTtcblxuICAgICAgLy8gR2V0IGhvbGQgb2YgdGhlIGZpbGUgaW5wdXQuXG4gICAgICBjb25zdCBjID0gY29udGFpbmVyLmNoaWxkTm9kZXNbMF07XG4gICAgICBjb25zdCBmb3JtR3JvdXAgPSBjLmNoaWxkTm9kZXNbMF07XG4gICAgICBjb25zdCBmaWVsZFNldCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzJdO1xuICAgICAgY29uc3QgaW5wdXQgPSBmaWVsZFNldC5jaGlsZE5vZGVzWzJdLmNoaWxkTm9kZXNbMF0uY2hpbGROb2Rlc1swXS5jaGlsZE5vZGVzWzJdLmNoaWxkTm9kZXNbMF07XG5cblxuICAgICAgY29uc3QgRklMRV9FWFRFTlNJT04gPSAnanNvbic7XG4gICAgICBjb25zdCBGSUxFX05BTUUgPSBgdGVzdC4ke0ZJTEVfRVhURU5TSU9OfWA7XG4gICAgICBjb25zdCBGSUxFX1RZUEUgPSAnYXBwbGljYXRpb24vSlNPTic7XG4gICAgICBjb25zdCBzdHIgPSBKU09OLnN0cmluZ2lmeSh7IGFscGhhOiAnYnJhdm8nIH0pO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtzdHJdKTtcbiAgICAgIGNvbnN0IEZJTEUgPSBuZXcgRmlsZShbYmxvYl0sIEZJTEVfTkFNRSwgeyB0eXBlOiBGSUxFX1RZUEUgfSk7XG4gICAgICB1c2VyLnVwbG9hZChpbnB1dCwgRklMRSk7XG5cbiAgICAgIGV4cGVjdChPTl9DSEFOR0VfQ09VTlQpLnRvRXF1YWwoMyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlbmRlciBhIHRleHQgY29tcG9uZW50IGFwcHJvcHJpYXRlbHkgd2hlbiB3cmFwcGVkIGluIGEgZm9ybUdyb3VwcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IElEID0gJ2NvbnRhaW5lcic7XG4gICAgICBjb25zdCBJTk5FUl9DT01QT05FTlRfSUQgPSBcInRleHRcIlxuICAgICAgY29uc3QgVkFMVUUgPSAnVGV4dCB2YWx1ZSc7XG4gICAgICBjb25zdCBJTk5FUl9DT01QT05FTlQgPSB7XG4gICAgICAgIGlkOiBJTk5FUl9DT01QT05FTlRfSUQsXG4gICAgICAgIGZpZWxkSWQ6IElOTkVSX0NPTVBPTkVOVF9JRCxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICBsYWJlbDogJ1RleHQgY29tcG9uZW50JyxcbiAgICAgICAgaGludDogJ1RleHQgaGludCcsXG4gICAgICAgIHZhbHVlOiBWQUxVRVxuICAgICAgfTtcbiAgICAgIGNvbnN0IENPTVBPTkVOVCA9IHtcbiAgICAgICAgaWQ6IElELFxuICAgICAgICBmaWVsZElkOiBJRCxcbiAgICAgICAgdHlwZTogJ2NvbnRhaW5lcicsXG4gICAgICAgIGZpZWxkc2V0OnRydWUsXG4gICAgICAgIGNvbXBvbmVudHM6W1xuICAgICAgICAgIElOTkVSX0NPTVBPTkVOVFxuICAgICAgICBdXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBORVNURURfVkFMVUUgPSB7XG4gICAgICAgIFtJTk5FUl9DT01QT05FTlRfSURdOiBWQUxVRVxuICAgICAgfVxuXG4gICAgICBjb25zdCBPTl9DSEFOR0UgPSAoKSA9PiB7fTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihcbiAgICAgICAgPEZvcm1Db21wb25lbnQgZGF0YS10ZXN0aWQ9e0lEfSBjb21wb25lbnQ9e0NPTVBPTkVOVH0gdmFsdWU9e05FU1RFRF9WQUxVRX0gb25DaGFuZ2U9e09OX0NIQU5HRX0gLz5cbiAgICAgICk7XG5cbiAgICAgIC8vIEZvcm0gZ3JvdXBcbiAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IGNvbnRhaW5lci5jaGlsZE5vZGVzWzBdO1xuICAgICAgZXhwZWN0KGZvcm1Hcm91cC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICAgIC8vIEZpZWxkU2V0XG4gICAgICBjb25zdCBmaWVsZFNldCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzBdO1xuICAgICAgZXhwZWN0KGZpZWxkU2V0LnRhZ05hbWUpLnRvRXF1YWwoJ0ZJRUxEU0VUJyk7XG4gICAgICBleHBlY3QoZmllbGRTZXQuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZpZWxkc2V0Jyk7XG4gICAgICAvLyBGb3JtIGNvbnRhaW5lclxuICAgICAgY29uc3QgZm9ybUNvbnRhaW5lciA9IGZpZWxkU2V0LmNoaWxkTm9kZXNbMF07XG4gICAgICBleHBlY3QoZm9ybUNvbnRhaW5lci50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICAgIGV4cGVjdChmb3JtQ29udGFpbmVyLmNsYXNzTGlzdCkudG9Db250YWluKCdob2RzLWZvcm0tY29udGFpbmVyJyk7XG4gICAgICAvLyBGb3JtIGdyb3VwIGZvciBjb250YWluZXJcbiAgICAgIGNvbnN0IGZvcm1Hcm91cEZvckNvbnRhaW5lciA9IGZvcm1Db250YWluZXIuY2hpbGROb2Rlc1swXTtcbiAgICAgIGV4cGVjdChmb3JtR3JvdXBGb3JDb250YWluZXIudGFnTmFtZSkudG9FcXVhbCgnRElWJyk7XG4gICAgICBleHBlY3QoZm9ybUdyb3VwRm9yQ29udGFpbmVyLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1mb3JtLWdyb3VwJyk7XG5cbiAgICAgIC8vIE5lc3RlZCBjb21wb25lbnQuXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cEZvckNvbnRhaW5lci5jaGlsZE5vZGVzWzBdO1xuICAgICAgZXhwZWN0KGxhYmVsLnRhZ05hbWUpLnRvRXF1YWwoJ0xBQkVMJyk7XG4gICAgICBleHBlY3QobGFiZWwuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWxhYmVsJyk7XG4gICAgICBleHBlY3QobGFiZWwudGV4dENvbnRlbnQpLnRvRXF1YWwoYCR7SU5ORVJfQ09NUE9ORU5ULmxhYmVsfSAob3B0aW9uYWwpYCk7XG4gICAgICBleHBlY3QobGFiZWwuZ2V0QXR0cmlidXRlKCdmb3InKSkudG9FcXVhbChgJHtJRH0uJHtJTk5FUl9DT01QT05FTlRfSUR9YCk7XG4gICAgICBjb25zdCBoaW50ID0gZm9ybUdyb3VwRm9yQ29udGFpbmVyLmNoaWxkTm9kZXNbMV07XG4gICAgICBleHBlY3QoaGludC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICAgIGV4cGVjdChoaW50LmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1oaW50Jyk7XG4gICAgICBleHBlY3QoaGludC50ZXh0Q29udGVudCkudG9FcXVhbChJTk5FUl9DT01QT05FTlQuaGludCk7XG4gICAgICBjb25zdCBpbnB1dCA9IGZvcm1Hcm91cEZvckNvbnRhaW5lci5jaGlsZE5vZGVzWzJdO1xuICAgICAgZXhwZWN0KGlucHV0LnRhZ05hbWUpLnRvRXF1YWwoJ0lOUFVUJyk7XG4gICAgICBleHBlY3QoaW5wdXQuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWlucHV0Jyk7XG4gICAgICBleHBlY3QoaW5wdXQuaWQpLnRvRXF1YWwoYCR7SUR9LiR7SU5ORVJfQ09NUE9ORU5UX0lEfWApO1xuICAgICAgZXhwZWN0KGlucHV0LnZhbHVlKS50b0VxdWFsKFZBTFVFKTtcbiAgICB9KTtcbiAgfSk7XG5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUNBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUE4QyxJQUFB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
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Adds label to target for given value.
|
|
9
|
-
* @param {object} target The target to be updated.
|
|
10
|
-
* @returns The updated target.
|
|
11
|
-
*/
|
|
12
|
-
const addLabel = (paramTarget, component, data) => {
|
|
13
|
-
var _target$value;
|
|
14
|
-
const target = paramTarget;
|
|
15
|
-
// target.value can be an object in which case use value in object attribute
|
|
16
|
-
const value = typeof target.value === 'object' ? (_target$value = target.value) === null || _target$value === void 0 ? void 0 : _target$value.value : target.value;
|
|
17
|
-
// find the reference data item using the value
|
|
18
|
-
const item = data.find(e => String(e.id) === value);
|
|
19
|
-
// if item is null it means that the target.value can be used as a label otherwise use item.label
|
|
20
|
-
target.label = item === undefined ? target.value || '' : item.label;
|
|
21
|
-
target.component = component.cya_label;
|
|
22
|
-
return target;
|
|
23
|
-
};
|
|
24
|
-
var _default = exports.default = addLabel;
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhZGRMYWJlbCIsInBhcmFtVGFyZ2V0IiwiY29tcG9uZW50IiwiZGF0YSIsIl90YXJnZXQkdmFsdWUiLCJ0YXJnZXQiLCJ2YWx1ZSIsIml0ZW0iLCJmaW5kIiwiZSIsIlN0cmluZyIsImlkIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJjeWFfbGFiZWwiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybUNvbXBvbmVudC9oZWxwZXJzL2FkZExhYmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWRkcyBsYWJlbCB0byB0YXJnZXQgZm9yIGdpdmVuIHZhbHVlLlxuICogQHBhcmFtIHtvYmplY3R9IHRhcmdldCBUaGUgdGFyZ2V0IHRvIGJlIHVwZGF0ZWQuXG4gKiBAcmV0dXJucyBUaGUgdXBkYXRlZCB0YXJnZXQuXG4gKi9cbmNvbnN0IGFkZExhYmVsID0gKHBhcmFtVGFyZ2V0LCBjb21wb25lbnQsIGRhdGEpID0+IHtcbiAgY29uc3QgdGFyZ2V0ID0gcGFyYW1UYXJnZXQ7XG4gIC8vIHRhcmdldC52YWx1ZSBjYW4gYmUgYW4gb2JqZWN0IGluIHdoaWNoIGNhc2UgdXNlIHZhbHVlIGluIG9iamVjdCBhdHRyaWJ1dGVcbiAgY29uc3QgdmFsdWUgPSAodHlwZW9mICh0YXJnZXQudmFsdWUpID09PSAnb2JqZWN0JykgPyB0YXJnZXQudmFsdWU/LnZhbHVlIDogdGFyZ2V0LnZhbHVlO1xuICAvLyBmaW5kIHRoZSByZWZlcmVuY2UgZGF0YSBpdGVtIHVzaW5nIHRoZSB2YWx1ZVxuICBjb25zdCBpdGVtID0gZGF0YS5maW5kKGUgPT4gU3RyaW5nKGUuaWQpID09PSB2YWx1ZSk7XG4gIC8vIGlmIGl0ZW0gaXMgbnVsbCBpdCBtZWFucyB0aGF0IHRoZSB0YXJnZXQudmFsdWUgY2FuIGJlIHVzZWQgYXMgYSBsYWJlbCBvdGhlcndpc2UgdXNlIGl0ZW0ubGFiZWxcbiAgdGFyZ2V0LmxhYmVsID0gaXRlbSA9PT0gdW5kZWZpbmVkID8gdGFyZ2V0LnZhbHVlIHx8ICcnIDogaXRlbS5sYWJlbDtcbiAgdGFyZ2V0LmNvbXBvbmVudCA9IGNvbXBvbmVudC5jeWFfbGFiZWw7XG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBhZGRMYWJlbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1BLFFBQVEsR0FBR0EsQ0FBQ0MsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLElBQUksS0FBSztFQUFBLElBQUFDLGFBQUE7RUFDakQsTUFBTUMsTUFBTSxHQUFHSixXQUFXO0VBQzFCO0VBQ0EsTUFBTUssS0FBSyxHQUFJLE9BQVFELE1BQU0sQ0FBQ0MsS0FBTSxLQUFLLFFBQVEsSUFBQUYsYUFBQSxHQUFJQyxNQUFNLENBQUNDLEtBQUssY0FBQUYsYUFBQSx1QkFBWkEsYUFBQSxDQUFjRSxLQUFLLEdBQUdELE1BQU0sQ0FBQ0MsS0FBSztFQUN2RjtFQUNBLE1BQU1DLElBQUksR0FBR0osSUFBSSxDQUFDSyxJQUFJLENBQUNDLENBQUMsSUFBSUMsTUFBTSxDQUFDRCxDQUFDLENBQUNFLEVBQUUsQ0FBQyxLQUFLTCxLQUFLLENBQUM7RUFDbkQ7RUFDQUQsTUFBTSxDQUFDTyxLQUFLLEdBQUdMLElBQUksS0FBS00sU0FBUyxHQUFHUixNQUFNLENBQUNDLEtBQUssSUFBSSxFQUFFLEdBQUdDLElBQUksQ0FBQ0ssS0FBSztFQUNuRVAsTUFBTSxDQUFDSCxTQUFTLEdBQUdBLFNBQVMsQ0FBQ1ksU0FBUztFQUN0QyxPQUFPVCxNQUFNO0FBQ2YsQ0FBQztBQUFDLElBQUFVLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWFqQixRQUFRIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
|
-
const getComponentDisabled = (disabled, formData) => {
|
|
9
|
-
if (typeof disabled === 'string') {
|
|
10
|
-
return !!_copReactComponents.Utils.interpolateString(disabled, formData);
|
|
11
|
-
}
|
|
12
|
-
return !!disabled;
|
|
13
|
-
};
|
|
14
|
-
var _default = exports.default = getComponentDisabled;
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29wUmVhY3RDb21wb25lbnRzIiwicmVxdWlyZSIsImdldENvbXBvbmVudERpc2FibGVkIiwiZGlzYWJsZWQiLCJmb3JtRGF0YSIsIlV0aWxzIiwiaW50ZXJwb2xhdGVTdHJpbmciLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybUNvbXBvbmVudC9oZWxwZXJzL2dldENvbXBvbmVudERpc2FibGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIkB1a2hvbWVvZmZpY2UvY29wLXJlYWN0LWNvbXBvbmVudHNcIjtcblxuY29uc3QgZ2V0Q29tcG9uZW50RGlzYWJsZWQgPSAoZGlzYWJsZWQsIGZvcm1EYXRhKSA9PiB7XG4gIGlmICh0eXBlb2YgZGlzYWJsZWQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICEhVXRpbHMuaW50ZXJwb2xhdGVTdHJpbmcoZGlzYWJsZWQsIGZvcm1EYXRhKTtcbiAgfVxuICByZXR1cm4gISFkaXNhYmxlZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29tcG9uZW50RGlzYWJsZWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLE9BQUE7QUFFQSxNQUFNQyxvQkFBb0IsR0FBR0EsQ0FBQ0MsUUFBUSxFQUFFQyxRQUFRLEtBQUs7RUFDbkQsSUFBSSxPQUFPRCxRQUFRLEtBQUssUUFBUSxFQUFFO0lBQ2hDLE9BQU8sQ0FBQyxDQUFDRSx5QkFBSyxDQUFDQyxpQkFBaUIsQ0FBQ0gsUUFBUSxFQUFFQyxRQUFRLENBQUM7RUFDdEQ7RUFDQSxPQUFPLENBQUMsQ0FBQ0QsUUFBUTtBQUNuQixDQUFDO0FBQUEsSUFBQUksUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFY1Asb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _getComponentDisabled = _interopRequireDefault(require("./getComponentDisabled"));
|
|
4
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
-
describe('components.FormComponent.helpers.getComponentDisabled', () => {
|
|
6
|
-
const DATA = {
|
|
7
|
-
shouldDisable: true
|
|
8
|
-
};
|
|
9
|
-
it('should return false if disabled is undefined', () => {
|
|
10
|
-
expect((0, _getComponentDisabled.default)(undefined, DATA)).toEqual(false);
|
|
11
|
-
});
|
|
12
|
-
it('should return false if disabled is boolean false', () => {
|
|
13
|
-
expect((0, _getComponentDisabled.default)(false, DATA)).toEqual(false);
|
|
14
|
-
});
|
|
15
|
-
it('should return true if disabled is boolean true', () => {
|
|
16
|
-
expect((0, _getComponentDisabled.default)(true, DATA)).toEqual(true);
|
|
17
|
-
});
|
|
18
|
-
it('should interpolate correctly if disabled is a field path', () => {
|
|
19
|
-
// eslint-disable-next-line no-template-curly-in-string
|
|
20
|
-
expect((0, _getComponentDisabled.default)('${shouldDisable}', DATA)).toEqual(true);
|
|
21
|
-
});
|
|
22
|
-
it('should return false if interpolating a field that does not exist', () => {
|
|
23
|
-
// eslint-disable-next-line no-template-curly-in-string
|
|
24
|
-
expect((0, _getComponentDisabled.default)('${notARealField}', DATA)).toEqual(false);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0Q29tcG9uZW50RGlzYWJsZWQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImRlc2NyaWJlIiwiREFUQSIsInNob3VsZERpc2FibGUiLCJpdCIsImV4cGVjdCIsImdldENvbXBvbmVudERpc2FibGVkIiwidW5kZWZpbmVkIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1Db21wb25lbnQvaGVscGVycy9nZXRDb21wb25lbnREaXNhYmxlZC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRDb21wb25lbnREaXNhYmxlZCBmcm9tICcuL2dldENvbXBvbmVudERpc2FibGVkJztcblxuZGVzY3JpYmUoJ2NvbXBvbmVudHMuRm9ybUNvbXBvbmVudC5oZWxwZXJzLmdldENvbXBvbmVudERpc2FibGVkJywgKCkgPT4ge1xuICBjb25zdCBEQVRBID0ge1xuICAgIHNob3VsZERpc2FibGU6IHRydWUsXG4gIH07XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2UgaWYgZGlzYWJsZWQgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgIGV4cGVjdChnZXRDb21wb25lbnREaXNhYmxlZCh1bmRlZmluZWQsIERBVEEpKS50b0VxdWFsKGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2UgaWYgZGlzYWJsZWQgaXMgYm9vbGVhbiBmYWxzZScsICgpID0+IHtcbiAgICBleHBlY3QoZ2V0Q29tcG9uZW50RGlzYWJsZWQoZmFsc2UsIERBVEEpKS50b0VxdWFsKGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZSBpZiBkaXNhYmxlZCBpcyBib29sZWFuIHRydWUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldENvbXBvbmVudERpc2FibGVkKHRydWUsIERBVEEpKS50b0VxdWFsKHRydWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGludGVycG9sYXRlIGNvcnJlY3RseSBpZiBkaXNhYmxlZCBpcyBhIGZpZWxkIHBhdGgnLCAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRlbXBsYXRlLWN1cmx5LWluLXN0cmluZ1xuICAgIGV4cGVjdChnZXRDb21wb25lbnREaXNhYmxlZCgnJHtzaG91bGREaXNhYmxlfScsIERBVEEpKS50b0VxdWFsKHRydWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSBpZiBpbnRlcnBvbGF0aW5nIGEgZmllbGQgdGhhdCBkb2VzIG5vdCBleGlzdCcsICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGVtcGxhdGUtY3VybHktaW4tc3RyaW5nXG4gICAgZXhwZWN0KGdldENvbXBvbmVudERpc2FibGVkKCcke25vdEFSZWFsRmllbGR9JywgREFUQSkpLnRvRXF1YWwoZmFsc2UpO1xuICB9KTtcblxufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEscUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUEwRCxTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUUxREcsUUFBUSxDQUFDLHVEQUF1RCxFQUFFLE1BQU07RUFDdEUsTUFBTUMsSUFBSSxHQUFHO0lBQ1hDLGFBQWEsRUFBRTtFQUNqQixDQUFDO0VBRURDLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxNQUFNO0lBQ3ZEQyxNQUFNLENBQUMsSUFBQUMsNkJBQW9CLEVBQUNDLFNBQVMsRUFBRUwsSUFBSSxDQUFDLENBQUMsQ0FBQ00sT0FBTyxDQUFDLEtBQUssQ0FBQztFQUM5RCxDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLGtEQUFrRCxFQUFFLE1BQU07SUFDM0RDLE1BQU0sQ0FBQyxJQUFBQyw2QkFBb0IsRUFBQyxLQUFLLEVBQUVKLElBQUksQ0FBQyxDQUFDLENBQUNNLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDMUQsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQyxnREFBZ0QsRUFBRSxNQUFNO0lBQ3pEQyxNQUFNLENBQUMsSUFBQUMsNkJBQW9CLEVBQUMsSUFBSSxFQUFFSixJQUFJLENBQUMsQ0FBQyxDQUFDTSxPQUFPLENBQUMsSUFBSSxDQUFDO0VBQ3hELENBQUMsQ0FBQztFQUVGSixFQUFFLENBQUMsMERBQTBELEVBQUUsTUFBTTtJQUNuRTtJQUNBQyxNQUFNLENBQUMsSUFBQUMsNkJBQW9CLEVBQUMsa0JBQWtCLEVBQUVKLElBQUksQ0FBQyxDQUFDLENBQUNNLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDdEUsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQyxrRUFBa0UsRUFBRSxNQUFNO0lBQzNFO0lBQ0FDLE1BQU0sQ0FBQyxJQUFBQyw2QkFBb0IsRUFBQyxrQkFBa0IsRUFBRUosSUFBSSxDQUFDLENBQUMsQ0FBQ00sT0FBTyxDQUFDLEtBQUssQ0FBQztFQUN2RSxDQUFDLENBQUM7QUFFSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
const getComponentError = (component, errors) => {
|
|
8
|
-
if (Array.isArray(errors)) {
|
|
9
|
-
const error = errors.find(err => err.id === (component.full_path || component.id));
|
|
10
|
-
if (error) {
|
|
11
|
-
const props = {
|
|
12
|
-
error: error.error
|
|
13
|
-
};
|
|
14
|
-
if (error.properties) {
|
|
15
|
-
props.propsInError = error.properties;
|
|
16
|
-
}
|
|
17
|
-
return props;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return undefined;
|
|
21
|
-
};
|
|
22
|
-
var _default = exports.default = getComponentError;
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRDb21wb25lbnRFcnJvciIsImNvbXBvbmVudCIsImVycm9ycyIsIkFycmF5IiwiaXNBcnJheSIsImVycm9yIiwiZmluZCIsImVyciIsImlkIiwiZnVsbF9wYXRoIiwicHJvcHMiLCJwcm9wZXJ0aWVzIiwicHJvcHNJbkVycm9yIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1Db21wb25lbnQvaGVscGVycy9nZXRDb21wb25lbnRFcnJvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRDb21wb25lbnRFcnJvciA9IChjb21wb25lbnQsIGVycm9ycykgPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShlcnJvcnMpKSB7XG4gICAgY29uc3QgZXJyb3IgPSBlcnJvcnMuZmluZChlcnIgPT4gZXJyLmlkID09PSAoY29tcG9uZW50LmZ1bGxfcGF0aCB8fCBjb21wb25lbnQuaWQpKTtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IHByb3BzID0geyBlcnJvcjogZXJyb3IuZXJyb3IgfTtcbiAgICAgIGlmIChlcnJvci5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIHByb3BzLnByb3BzSW5FcnJvciA9IGVycm9yLnByb3BlcnRpZXM7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXRDb21wb25lbnRFcnJvcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsTUFBTUEsaUJBQWlCLEdBQUdBLENBQUNDLFNBQVMsRUFBRUMsTUFBTSxLQUFLO0VBQy9DLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixNQUFNLENBQUMsRUFBRTtJQUN6QixNQUFNRyxLQUFLLEdBQUdILE1BQU0sQ0FBQ0ksSUFBSSxDQUFDQyxHQUFHLElBQUlBLEdBQUcsQ0FBQ0MsRUFBRSxNQUFNUCxTQUFTLENBQUNRLFNBQVMsSUFBSVIsU0FBUyxDQUFDTyxFQUFFLENBQUMsQ0FBQztJQUNsRixJQUFJSCxLQUFLLEVBQUU7TUFDVCxNQUFNSyxLQUFLLEdBQUc7UUFBRUwsS0FBSyxFQUFFQSxLQUFLLENBQUNBO01BQU0sQ0FBQztNQUNwQyxJQUFJQSxLQUFLLENBQUNNLFVBQVUsRUFBRTtRQUNwQkQsS0FBSyxDQUFDRSxZQUFZLEdBQUdQLEtBQUssQ0FBQ00sVUFBVTtNQUN2QztNQUNBLE9BQU9ELEtBQUs7SUFDZDtFQUNGO0VBQ0EsT0FBT0csU0FBUztBQUNsQixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBQyxPQUFBLENBQUFDLE9BQUEsR0FFYWhCLGlCQUFpQiIsImlnbm9yZUxpc3QiOltdfQ==
|