@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,305 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getChildrenJsx = exports.default = void 0;
|
|
7
|
-
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _Condition = _interopRequireDefault(require("../Condition"));
|
|
10
|
-
var _models = require("../../models");
|
|
11
|
-
var _Data = _interopRequireDefault(require("../Data"));
|
|
12
|
-
var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
|
|
13
|
-
var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
14
|
-
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
15
|
-
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
22
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable no-use-before-define */ // Global imports
|
|
23
|
-
// Local imports
|
|
24
|
-
const LIST_CLASS = 'govuk-list';
|
|
25
|
-
const BODY_CLASS = 'govuk-body';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Separate function for each component type for the sake of
|
|
29
|
-
* code clarity - having the additional bits and pieces in the
|
|
30
|
-
* switch statement increases the cyclomatic complexity and
|
|
31
|
-
* makes it much harder to follow what's going on.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
const getAlert = config => {
|
|
35
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
36
|
-
const heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
|
|
37
|
-
const children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
|
|
38
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Alert, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
39
|
-
heading: heading,
|
|
40
|
-
children: children
|
|
41
|
-
}));
|
|
42
|
-
};
|
|
43
|
-
const getAutocomplete = config => {
|
|
44
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
45
|
-
const source = _Data.default.getAutocompleteSource(config);
|
|
46
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Autocomplete, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
47
|
-
source: source
|
|
48
|
-
}));
|
|
49
|
-
};
|
|
50
|
-
const getCheckboxes = config => {
|
|
51
|
-
let options = [];
|
|
52
|
-
_Data.default.getOptions(config, val => {
|
|
53
|
-
options = val;
|
|
54
|
-
});
|
|
55
|
-
options = options.map(paramOption => {
|
|
56
|
-
if (!Array.isArray(paramOption.nested)) {
|
|
57
|
-
return paramOption;
|
|
58
|
-
}
|
|
59
|
-
return _objectSpread(_objectSpread({}, paramOption), {}, {
|
|
60
|
-
children: getChildrenJsx(config, paramOption.nested)
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
64
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Checkboxes, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
65
|
-
options: options
|
|
66
|
-
}));
|
|
67
|
-
};
|
|
68
|
-
const getCalculation = config => {
|
|
69
|
-
const value = _Data.default.applyFormula(config);
|
|
70
|
-
if (typeof config.onChange === 'function') {
|
|
71
|
-
if (value !== config.value) {
|
|
72
|
-
config.onChange({
|
|
73
|
-
target: {
|
|
74
|
-
name: config.fieldId,
|
|
75
|
-
value
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
81
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.TextInput, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
82
|
-
readonly: true
|
|
83
|
-
}));
|
|
84
|
-
};
|
|
85
|
-
const getDate = config => {
|
|
86
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
87
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.DateInput, _objectSpread({}, attrs));
|
|
88
|
-
};
|
|
89
|
-
const getDetails = config => {
|
|
90
|
-
const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
|
|
91
|
-
const html = getHTML(config);
|
|
92
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Details, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
93
|
-
children: html
|
|
94
|
-
}));
|
|
95
|
-
};
|
|
96
|
-
const getFileUpload = config => {
|
|
97
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
98
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.FileUpload, _objectSpread({}, attrs));
|
|
99
|
-
};
|
|
100
|
-
const getMultiFileUpload = config => {
|
|
101
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
102
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.MultiFileUpload, _objectSpread({}, attrs));
|
|
103
|
-
};
|
|
104
|
-
const getHeading = config => {
|
|
105
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
106
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Heading, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
107
|
-
children: config.content
|
|
108
|
-
}));
|
|
109
|
-
};
|
|
110
|
-
const getHTML = config => {
|
|
111
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
112
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Markup, _objectSpread({}, attrs));
|
|
113
|
-
};
|
|
114
|
-
const getInsetText = config => {
|
|
115
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
116
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.InsetText, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
117
|
-
children: config.content
|
|
118
|
-
}));
|
|
119
|
-
};
|
|
120
|
-
const getList = config => {
|
|
121
|
-
var _attrs$items;
|
|
122
|
-
const attrs = (0, _cleanAttributes.default)(config, ['ordered']);
|
|
123
|
-
const tagName = config.ordered ? 'ol' : 'ul';
|
|
124
|
-
const bullet = config.ordered ? 'number' : 'bullet';
|
|
125
|
-
const classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
126
|
-
const content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(item => "<li>".concat(item, "</li>")).join('');
|
|
127
|
-
return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
|
|
128
|
-
className: classes(),
|
|
129
|
-
tagName,
|
|
130
|
-
content,
|
|
131
|
-
type: _models.ComponentTypes.HTML
|
|
132
|
-
}));
|
|
133
|
-
};
|
|
134
|
-
const getParagraph = config => {
|
|
135
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
136
|
-
return getHTML(_objectSpread(_objectSpread({
|
|
137
|
-
className: BODY_CLASS
|
|
138
|
-
}, attrs), {}, {
|
|
139
|
-
tagName: 'p',
|
|
140
|
-
type: _models.ComponentTypes.HTML
|
|
141
|
-
}));
|
|
142
|
-
};
|
|
143
|
-
const getRadios = config => {
|
|
144
|
-
let options = [];
|
|
145
|
-
_Data.default.getOptions(config, val => {
|
|
146
|
-
options = val;
|
|
147
|
-
});
|
|
148
|
-
options = options.map(paramOption => {
|
|
149
|
-
if (!Array.isArray(paramOption.nested)) {
|
|
150
|
-
return paramOption;
|
|
151
|
-
}
|
|
152
|
-
return _objectSpread(_objectSpread({}, paramOption), {}, {
|
|
153
|
-
children: getChildrenJsx(config, paramOption.nested)
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
157
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Radios, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
158
|
-
options: options
|
|
159
|
-
}));
|
|
160
|
-
};
|
|
161
|
-
const getTextArea = config => {
|
|
162
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
163
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.TextArea, _objectSpread({}, attrs));
|
|
164
|
-
};
|
|
165
|
-
const getTextInput = config => {
|
|
166
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
167
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.TextInput, _objectSpread({}, attrs));
|
|
168
|
-
};
|
|
169
|
-
const getTime = config => {
|
|
170
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
171
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.TimeInput, _objectSpread({}, attrs));
|
|
172
|
-
};
|
|
173
|
-
const getSelect = config => {
|
|
174
|
-
let options = [];
|
|
175
|
-
_Data.default.getOptions(config, val => {
|
|
176
|
-
options = val;
|
|
177
|
-
});
|
|
178
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
179
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.Select, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
180
|
-
options: options
|
|
181
|
-
}));
|
|
182
|
-
};
|
|
183
|
-
const getWarningText = config => {
|
|
184
|
-
const attrs = (0, _cleanAttributes.default)(config);
|
|
185
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_copReactComponents.WarningText, _objectSpread(_objectSpread({}, attrs), {}, {
|
|
186
|
-
children: config.content
|
|
187
|
-
}));
|
|
188
|
-
};
|
|
189
|
-
const getComponentByType = config => {
|
|
190
|
-
switch (config.type) {
|
|
191
|
-
case _models.ComponentTypes.HTML:
|
|
192
|
-
return getHTML(config);
|
|
193
|
-
case _models.ComponentTypes.HEADING:
|
|
194
|
-
return getHeading(config);
|
|
195
|
-
case _models.ComponentTypes.INSET_TEXT:
|
|
196
|
-
return getInsetText(config);
|
|
197
|
-
case _models.ComponentTypes.TEXT:
|
|
198
|
-
case _models.ComponentTypes.EMAIL:
|
|
199
|
-
case _models.ComponentTypes.PHONE_NUMBER:
|
|
200
|
-
return getTextInput(config);
|
|
201
|
-
case _models.ComponentTypes.TEXT_AREA:
|
|
202
|
-
return getTextArea(config);
|
|
203
|
-
case _models.ComponentTypes.AUTOCOMPLETE:
|
|
204
|
-
return getAutocomplete(config);
|
|
205
|
-
case _models.ComponentTypes.RADIOS:
|
|
206
|
-
return getRadios(config);
|
|
207
|
-
case _models.ComponentTypes.CHECKBOXES:
|
|
208
|
-
return getCheckboxes(config);
|
|
209
|
-
case _models.ComponentTypes.DATE:
|
|
210
|
-
return getDate(config);
|
|
211
|
-
case _models.ComponentTypes.TIME:
|
|
212
|
-
return getTime(config);
|
|
213
|
-
case _models.ComponentTypes.FILE:
|
|
214
|
-
return getFileUpload(config);
|
|
215
|
-
case _models.ComponentTypes.MULTI_FILE:
|
|
216
|
-
return getMultiFileUpload(config);
|
|
217
|
-
case _models.ComponentTypes.WARNING:
|
|
218
|
-
return getWarningText(config);
|
|
219
|
-
case _models.ComponentTypes.SELECT:
|
|
220
|
-
return getSelect(config);
|
|
221
|
-
case _models.ComponentTypes.DETAILS:
|
|
222
|
-
return getDetails(config);
|
|
223
|
-
case _models.ComponentTypes.CALCULATION:
|
|
224
|
-
return getCalculation(config);
|
|
225
|
-
case _models.ComponentTypes.ALERT:
|
|
226
|
-
return getAlert(config);
|
|
227
|
-
case _models.ComponentTypes.PARAGRAPH:
|
|
228
|
-
return getParagraph(config);
|
|
229
|
-
case _models.ComponentTypes.LIST:
|
|
230
|
-
return getList(config);
|
|
231
|
-
default:
|
|
232
|
-
{
|
|
233
|
-
return null;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Get single child component for a parent
|
|
240
|
-
* @param {*} parent the parent configuration
|
|
241
|
-
* @param {*} child the child configuration
|
|
242
|
-
*/
|
|
243
|
-
const getChildJsx = (parent, paramChild) => {
|
|
244
|
-
const child = _objectSpread({}, paramChild);
|
|
245
|
-
if (parent.full_path) {
|
|
246
|
-
const pathParts = parent.full_path.split('.');
|
|
247
|
-
pathParts.pop();
|
|
248
|
-
pathParts.push(child.fieldId);
|
|
249
|
-
child.full_path = pathParts.join('.');
|
|
250
|
-
}
|
|
251
|
-
if (parent.formData) {
|
|
252
|
-
child.value = parent.formData[child.fieldId] || _Data.default.getSource(parent.formData, child.full_path) || '';
|
|
253
|
-
}
|
|
254
|
-
if ('readonly' in child) delete child.readonly;
|
|
255
|
-
if (parent.readonly) {
|
|
256
|
-
child.readonly = parent.readonly;
|
|
257
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
258
|
-
children: getComponent(child, false)
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormComponent.default, {
|
|
262
|
-
component: child,
|
|
263
|
-
value: child.value,
|
|
264
|
-
onChange: parent.onChange,
|
|
265
|
-
onTopLevelChange: parent.onChange,
|
|
266
|
-
formData: parent.formData
|
|
267
|
-
}, child.key);
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Convert chidlrenConfigs into components
|
|
272
|
-
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
273
|
-
* @param {*} childrenConfigs array of configurations for the child components
|
|
274
|
-
*/
|
|
275
|
-
const getChildrenJsx = (parentConfig, childrenConfigs) => {
|
|
276
|
-
const validChildren = childrenConfigs.filter(config => !(config.show_when && !_Condition.default.meetsAll(config.show_when, parentConfig.formData))).map(config => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
277
|
-
children: getChildJsx(parentConfig, config)
|
|
278
|
-
}, config.id));
|
|
279
|
-
return validChildren.length > 0 ? validChildren : null;
|
|
280
|
-
};
|
|
281
|
-
exports.getChildrenJsx = getChildrenJsx;
|
|
282
|
-
/**
|
|
283
|
-
* Get a renderable component, based on a configuration object.
|
|
284
|
-
* @param {object} config The configuration object for the component.
|
|
285
|
-
* @param {boolean} wrap Indicates whether or not the component should be wrapped.
|
|
286
|
-
* @param {Function} fnOverride An optional override function for component rendering.
|
|
287
|
-
* @returns A renderable component.
|
|
288
|
-
*/
|
|
289
|
-
const getComponent = function (config) {
|
|
290
|
-
let wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
291
|
-
let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
292
|
-
if (typeof fnOverride === 'function') {
|
|
293
|
-
const overrideComponent = fnOverride(config, wrap);
|
|
294
|
-
if (overrideComponent) {
|
|
295
|
-
return overrideComponent;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
const component = getComponentByType(config);
|
|
299
|
-
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
300
|
-
return (0, _wrapInFormGroup.default)(config, component);
|
|
301
|
-
}
|
|
302
|
-
return component;
|
|
303
|
-
};
|
|
304
|
-
var _default = exports.default = getComponent;
|
|
305
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29wUmVhY3RDb21wb25lbnRzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQ29uZGl0aW9uIiwiX21vZGVscyIsIl9EYXRhIiwiX2NsZWFuQXR0cmlidXRlcyIsIl9pc0VkaXRhYmxlIiwiX0Zvcm1Db21wb25lbnQiLCJfd3JhcEluRm9ybUdyb3VwIiwiX2pzeFJ1bnRpbWUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiTElTVF9DTEFTUyIsIkJPRFlfQ0xBU1MiLCJnZXRBbGVydCIsImNvbmZpZyIsImF0dHJzIiwiY2xlYW5BdHRyaWJ1dGVzIiwiaGVhZGluZyIsIlV0aWxzIiwiaW50ZXJwb2xhdGVTdHJpbmciLCJmb3JtRGF0YSIsImNoaWxkcmVuIiwidGV4dCIsImpzeCIsIkFsZXJ0IiwiZ2V0QXV0b2NvbXBsZXRlIiwic291cmNlIiwiRGF0YSIsImdldEF1dG9jb21wbGV0ZVNvdXJjZSIsIkF1dG9jb21wbGV0ZSIsImdldENoZWNrYm94ZXMiLCJvcHRpb25zIiwiZ2V0T3B0aW9ucyIsInZhbCIsIm1hcCIsInBhcmFtT3B0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwibmVzdGVkIiwiZ2V0Q2hpbGRyZW5Kc3giLCJDaGVja2JveGVzIiwiZ2V0Q2FsY3VsYXRpb24iLCJhcHBseUZvcm11bGEiLCJvbkNoYW5nZSIsInRhcmdldCIsIm5hbWUiLCJmaWVsZElkIiwiVGV4dElucHV0IiwicmVhZG9ubHkiLCJnZXREYXRlIiwiRGF0ZUlucHV0IiwiZ2V0RGV0YWlscyIsImh0bWwiLCJnZXRIVE1MIiwiRGV0YWlscyIsImdldEZpbGVVcGxvYWQiLCJGaWxlVXBsb2FkIiwiZ2V0TXVsdGlGaWxlVXBsb2FkIiwiTXVsdGlGaWxlVXBsb2FkIiwiZ2V0SGVhZGluZyIsIkhlYWRpbmciLCJjb250ZW50IiwiTWFya3VwIiwiZ2V0SW5zZXRUZXh0IiwiSW5zZXRUZXh0IiwiZ2V0TGlzdCIsIl9hdHRycyRpdGVtcyIsInRhZ05hbWUiLCJvcmRlcmVkIiwiYnVsbGV0IiwiY2xhc3NlcyIsImNsYXNzQnVpbGRlciIsIml0ZW1zIiwiaXRlbSIsImNvbmNhdCIsImpvaW4iLCJjbGFzc05hbWUiLCJ0eXBlIiwiQ29tcG9uZW50VHlwZXMiLCJIVE1MIiwiZ2V0UGFyYWdyYXBoIiwiZ2V0UmFkaW9zIiwiUmFkaW9zIiwiZ2V0VGV4dEFyZWEiLCJUZXh0QXJlYSIsImdldFRleHRJbnB1dCIsImdldFRpbWUiLCJUaW1lSW5wdXQiLCJnZXRTZWxlY3QiLCJTZWxlY3QiLCJnZXRXYXJuaW5nVGV4dCIsIldhcm5pbmdUZXh0IiwiZ2V0Q29tcG9uZW50QnlUeXBlIiwiSEVBRElORyIsIklOU0VUX1RFWFQiLCJURVhUIiwiRU1BSUwiLCJQSE9ORV9OVU1CRVIiLCJURVhUX0FSRUEiLCJBVVRPQ09NUExFVEUiLCJSQURJT1MiLCJDSEVDS0JPWEVTIiwiREFURSIsIlRJTUUiLCJGSUxFIiwiTVVMVElfRklMRSIsIldBUk5JTkciLCJTRUxFQ1QiLCJERVRBSUxTIiwiQ0FMQ1VMQVRJT04iLCJBTEVSVCIsIlBBUkFHUkFQSCIsIkxJU1QiLCJnZXRDaGlsZEpzeCIsInBhcmVudCIsInBhcmFtQ2hpbGQiLCJjaGlsZCIsImZ1bGxfcGF0aCIsInBhdGhQYXJ0cyIsInNwbGl0IiwicG9wIiwiZ2V0U291cmNlIiwiZ2V0Q29tcG9uZW50IiwiY29tcG9uZW50Iiwib25Ub3BMZXZlbENoYW5nZSIsImtleSIsInBhcmVudENvbmZpZyIsImNoaWxkcmVuQ29uZmlncyIsInZhbGlkQ2hpbGRyZW4iLCJzaG93X3doZW4iLCJDb25kaXRpb24iLCJtZWV0c0FsbCIsIkZyYWdtZW50IiwiaWQiLCJleHBvcnRzIiwid3JhcCIsInVuZGVmaW5lZCIsImZuT3ZlcnJpZGUiLCJvdmVycmlkZUNvbXBvbmVudCIsImlzRWRpdGFibGUiLCJ3cmFwSW5Gb3JtR3JvdXAiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9Db21wb25lbnQvZ2V0Q29tcG9uZW50LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuXG4vLyBHbG9iYWwgaW1wb3J0c1xuaW1wb3J0IHtcbiAgQWxlcnQsXG4gIEF1dG9jb21wbGV0ZSxcbiAgQ2hlY2tib3hlcyxcbiAgRGF0ZUlucHV0LFxuICBEZXRhaWxzLFxuICBGaWxlVXBsb2FkLFxuICBIZWFkaW5nLFxuICBJbnNldFRleHQsXG4gIE1hcmt1cCxcbiAgTXVsdGlGaWxlVXBsb2FkLFxuICBSYWRpb3MsXG4gIFNlbGVjdCxcbiAgVGV4dEFyZWEsXG4gIFRleHRJbnB1dCxcbiAgVGltZUlucHV0LFxuICBVdGlscyxcbiAgV2FybmluZ1RleHRcbn0gZnJvbSAnQHVraG9tZW9mZmljZS9jb3AtcmVhY3QtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBMb2NhbCBpbXBvcnRzXG5pbXBvcnQgQ29uZGl0aW9uIGZyb20gJy4uL0NvbmRpdGlvbic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgRGF0YSBmcm9tICcuLi9EYXRhJztcbmltcG9ydCBjbGVhbkF0dHJpYnV0ZXMgZnJvbSAnLi9jbGVhbkF0dHJpYnV0ZXMnO1xuaW1wb3J0IGlzRWRpdGFibGUgZnJvbSAnLi9pc0VkaXRhYmxlJztcbmltcG9ydCBGb3JtQ29tcG9uZW50IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRm9ybUNvbXBvbmVudCc7XG5pbXBvcnQgd3JhcEluRm9ybUdyb3VwIGZyb20gJy4vd3JhcEluRm9ybUdyb3VwJztcblxuY29uc3QgTElTVF9DTEFTUyA9ICdnb3Z1ay1saXN0JztcbmNvbnN0IEJPRFlfQ0xBU1MgPSAnZ292dWstYm9keSc7XG5cbi8qKlxuICogU2VwYXJhdGUgZnVuY3Rpb24gZm9yIGVhY2ggY29tcG9uZW50IHR5cGUgZm9yIHRoZSBzYWtlIG9mXG4gKiBjb2RlIGNsYXJpdHkgLSBoYXZpbmcgdGhlIGFkZGl0aW9uYWwgYml0cyBhbmQgcGllY2VzIGluIHRoZVxuICogc3dpdGNoIHN0YXRlbWVudCBpbmNyZWFzZXMgdGhlIGN5Y2xvbWF0aWMgY29tcGxleGl0eSBhbmRcbiAqIG1ha2VzIGl0IG11Y2ggaGFyZGVyIHRvIGZvbGxvdyB3aGF0J3MgZ29pbmcgb24uXG4gKi9cblxuY29uc3QgZ2V0QWxlcnQgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIGNvbnN0IGhlYWRpbmcgPSBVdGlscy5pbnRlcnBvbGF0ZVN0cmluZyhjb25maWcuaGVhZGluZywgY29uZmlnLmZvcm1EYXRhKTtcbiAgY29uc3QgY2hpbGRyZW4gPSBVdGlscy5pbnRlcnBvbGF0ZVN0cmluZyhjb25maWcudGV4dCwgY29uZmlnLmZvcm1EYXRhKTtcbiAgcmV0dXJuIChcbiAgICA8QWxlcnQgey4uLmF0dHJzfSBoZWFkaW5nPXtoZWFkaW5nfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0FsZXJ0PlxuICApO1xufTtcblxuY29uc3QgZ2V0QXV0b2NvbXBsZXRlID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICBjb25zdCBzb3VyY2UgPSBEYXRhLmdldEF1dG9jb21wbGV0ZVNvdXJjZShjb25maWcpO1xuICByZXR1cm4gPEF1dG9jb21wbGV0ZSB7Li4uYXR0cnN9IHNvdXJjZT17c291cmNlfSAvPjtcbn07XG5cbmNvbnN0IGdldENoZWNrYm94ZXMgPSAoY29uZmlnKSA9PiB7XG4gIGxldCBvcHRpb25zID0gW107XG4gIERhdGEuZ2V0T3B0aW9ucyhjb25maWcsICh2YWwpID0+IHtcbiAgICBvcHRpb25zID0gdmFsO1xuICB9KTtcbiAgb3B0aW9ucyA9IG9wdGlvbnMubWFwKChwYXJhbU9wdGlvbikgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJhbU9wdGlvbi5uZXN0ZWQpKSB7XG4gICAgICByZXR1cm4gcGFyYW1PcHRpb247XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbU9wdGlvbixcbiAgICAgIGNoaWxkcmVuOiBnZXRDaGlsZHJlbkpzeChjb25maWcsIHBhcmFtT3B0aW9uLm5lc3RlZClcbiAgICB9O1xuICB9KTtcbiAgY29uc3QgYXR0cnMgPSBjbGVhbkF0dHJpYnV0ZXMoY29uZmlnKTtcbiAgcmV0dXJuIDxDaGVja2JveGVzIHsuLi5hdHRyc30gb3B0aW9ucz17b3B0aW9uc30gLz47XG59O1xuXG5jb25zdCBnZXRDYWxjdWxhdGlvbiA9IChjb25maWcpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBEYXRhLmFwcGx5Rm9ybXVsYShjb25maWcpO1xuICBpZiAodHlwZW9mIGNvbmZpZy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmICh2YWx1ZSAhPT0gY29uZmlnLnZhbHVlKSB7XG4gICAgICBjb25maWcub25DaGFuZ2Uoe1xuICAgICAgICB0YXJnZXQ6IHsgbmFtZTogY29uZmlnLmZpZWxkSWQsIHZhbHVlIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcsIFsnZm9ybXVsYSddKTtcbiAgcmV0dXJuIDxUZXh0SW5wdXQgey4uLmF0dHJzfSByZWFkb25seSAvPjtcbn07XG5cbmNvbnN0IGdldERhdGUgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIHJldHVybiA8RGF0ZUlucHV0IHsuLi5hdHRyc30gLz47XG59O1xuXG5jb25zdCBnZXREZXRhaWxzID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcsIFsndGFnTmFtZSddKTtcbiAgY29uc3QgaHRtbCA9IGdldEhUTUwoY29uZmlnKTtcbiAgcmV0dXJuIDxEZXRhaWxzIHsuLi5hdHRyc30+e2h0bWx9PC9EZXRhaWxzPjtcbn07XG5cbmNvbnN0IGdldEZpbGVVcGxvYWQgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIHJldHVybiA8RmlsZVVwbG9hZCB7Li4uYXR0cnN9IC8+O1xufTtcblxuY29uc3QgZ2V0TXVsdGlGaWxlVXBsb2FkID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICByZXR1cm4gPE11bHRpRmlsZVVwbG9hZCB7Li4uYXR0cnN9IC8+O1xufTtcblxuY29uc3QgZ2V0SGVhZGluZyA9IChjb25maWcpID0+IHtcbiAgY29uc3QgYXR0cnMgPSBjbGVhbkF0dHJpYnV0ZXMoY29uZmlnKTtcbiAgcmV0dXJuIDxIZWFkaW5nIHsuLi5hdHRyc30+e2NvbmZpZy5jb250ZW50fTwvSGVhZGluZz47XG59O1xuXG5jb25zdCBnZXRIVE1MID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICByZXR1cm4gPE1hcmt1cCB7Li4uYXR0cnN9IC8+O1xufTtcblxuY29uc3QgZ2V0SW5zZXRUZXh0ID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICByZXR1cm4gPEluc2V0VGV4dCB7Li4uYXR0cnN9Pntjb25maWcuY29udGVudH08L0luc2V0VGV4dD47XG59O1xuXG5jb25zdCBnZXRMaXN0ID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcsIFsnb3JkZXJlZCddKTtcbiAgY29uc3QgdGFnTmFtZSA9IGNvbmZpZy5vcmRlcmVkID8gJ29sJyA6ICd1bCc7XG4gIGNvbnN0IGJ1bGxldCA9IGNvbmZpZy5vcmRlcmVkID8gJ251bWJlcicgOiAnYnVsbGV0JztcbiAgY29uc3QgY2xhc3NlcyA9IFV0aWxzLmNsYXNzQnVpbGRlcihMSVNUX0NMQVNTLCBidWxsZXQpO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSBhdHRycy5pdGVtcz8ubWFwKChpdGVtKSA9PiBgPGxpPiR7aXRlbX08L2xpPmApLmpvaW4oJycpO1xuICByZXR1cm4gZ2V0SFRNTCh7XG4gICAgLi4uYXR0cnMsXG4gICAgY2xhc3NOYW1lOiBjbGFzc2VzKCksXG4gICAgdGFnTmFtZSxcbiAgICBjb250ZW50LFxuICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkhUTUxcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRQYXJhZ3JhcGggPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIHJldHVybiBnZXRIVE1MKHtcbiAgICBjbGFzc05hbWU6IEJPRFlfQ0xBU1MsXG4gICAgLi4uYXR0cnMsXG4gICAgdGFnTmFtZTogJ3AnLFxuICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLkhUTUxcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRSYWRpb3MgPSAoY29uZmlnKSA9PiB7XG4gIGxldCBvcHRpb25zID0gW107XG4gIERhdGEuZ2V0T3B0aW9ucyhjb25maWcsICh2YWwpID0+IHtcbiAgICBvcHRpb25zID0gdmFsO1xuICB9KTtcbiAgb3B0aW9ucyA9IG9wdGlvbnMubWFwKChwYXJhbU9wdGlvbikgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJhbU9wdGlvbi5uZXN0ZWQpKSB7XG4gICAgICByZXR1cm4gcGFyYW1PcHRpb247XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbU9wdGlvbixcbiAgICAgIGNoaWxkcmVuOiBnZXRDaGlsZHJlbkpzeChjb25maWcsIHBhcmFtT3B0aW9uLm5lc3RlZClcbiAgICB9O1xuICB9KTtcbiAgY29uc3QgYXR0cnMgPSBjbGVhbkF0dHJpYnV0ZXMoY29uZmlnKTtcbiAgcmV0dXJuIDxSYWRpb3Mgey4uLmF0dHJzfSBvcHRpb25zPXtvcHRpb25zfSAvPjtcbn07XG5cbmNvbnN0IGdldFRleHRBcmVhID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICByZXR1cm4gPFRleHRBcmVhIHsuLi5hdHRyc30gLz47XG59O1xuXG5jb25zdCBnZXRUZXh0SW5wdXQgPSAoY29uZmlnKSA9PiB7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIHJldHVybiA8VGV4dElucHV0IHsuLi5hdHRyc30gLz47XG59O1xuXG5jb25zdCBnZXRUaW1lID0gKGNvbmZpZykgPT4ge1xuICBjb25zdCBhdHRycyA9IGNsZWFuQXR0cmlidXRlcyhjb25maWcpO1xuICByZXR1cm4gPFRpbWVJbnB1dCB7Li4uYXR0cnN9IC8+O1xufTtcblxuY29uc3QgZ2V0U2VsZWN0ID0gKGNvbmZpZykgPT4ge1xuICBsZXQgb3B0aW9ucyA9IFtdO1xuICBEYXRhLmdldE9wdGlvbnMoY29uZmlnLCAodmFsKSA9PiB7XG4gICAgb3B0aW9ucyA9IHZhbDtcbiAgfSk7XG4gIGNvbnN0IGF0dHJzID0gY2xlYW5BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gIHJldHVybiA8U2VsZWN0IHsuLi5hdHRyc30gb3B0aW9ucz17b3B0aW9uc30gLz47XG59O1xuXG5jb25zdCBnZXRXYXJuaW5nVGV4dCA9IChjb25maWcpID0+IHtcbiAgY29uc3QgYXR0cnMgPSBjbGVhbkF0dHJpYnV0ZXMoY29uZmlnKTtcbiAgcmV0dXJuIDxXYXJuaW5nVGV4dCB7Li4uYXR0cnN9Pntjb25maWcuY29udGVudH08L1dhcm5pbmdUZXh0Pjtcbn07XG5cbmNvbnN0IGdldENvbXBvbmVudEJ5VHlwZSA9IChjb25maWcpID0+IHtcbiAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgIGNhc2UgQ29tcG9uZW50VHlwZXMuSFRNTDpcbiAgICAgIHJldHVybiBnZXRIVE1MKGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5IRUFESU5HOlxuICAgICAgcmV0dXJuIGdldEhlYWRpbmcoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLklOU0VUX1RFWFQ6XG4gICAgICByZXR1cm4gZ2V0SW5zZXRUZXh0KGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5URVhUOlxuICAgIGNhc2UgQ29tcG9uZW50VHlwZXMuRU1BSUw6XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5QSE9ORV9OVU1CRVI6XG4gICAgICByZXR1cm4gZ2V0VGV4dElucHV0KGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5URVhUX0FSRUE6XG4gICAgICByZXR1cm4gZ2V0VGV4dEFyZWEoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLkFVVE9DT01QTEVURTpcbiAgICAgIHJldHVybiBnZXRBdXRvY29tcGxldGUoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLlJBRElPUzpcbiAgICAgIHJldHVybiBnZXRSYWRpb3MoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLkNIRUNLQk9YRVM6XG4gICAgICByZXR1cm4gZ2V0Q2hlY2tib3hlcyhjb25maWcpO1xuICAgIGNhc2UgQ29tcG9uZW50VHlwZXMuREFURTpcbiAgICAgIHJldHVybiBnZXREYXRlKGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5USU1FOlxuICAgICAgcmV0dXJuIGdldFRpbWUoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLkZJTEU6XG4gICAgICByZXR1cm4gZ2V0RmlsZVVwbG9hZChjb25maWcpO1xuICAgIGNhc2UgQ29tcG9uZW50VHlwZXMuTVVMVElfRklMRTpcbiAgICAgIHJldHVybiBnZXRNdWx0aUZpbGVVcGxvYWQoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLldBUk5JTkc6XG4gICAgICByZXR1cm4gZ2V0V2FybmluZ1RleHQoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLlNFTEVDVDpcbiAgICAgIHJldHVybiBnZXRTZWxlY3QoY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLkRFVEFJTFM6XG4gICAgICByZXR1cm4gZ2V0RGV0YWlscyhjb25maWcpO1xuICAgIGNhc2UgQ29tcG9uZW50VHlwZXMuQ0FMQ1VMQVRJT046XG4gICAgICByZXR1cm4gZ2V0Q2FsY3VsYXRpb24oY29uZmlnKTtcbiAgICBjYXNlIENvbXBvbmVudFR5cGVzLkFMRVJUOlxuICAgICAgcmV0dXJuIGdldEFsZXJ0KGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5QQVJBR1JBUEg6XG4gICAgICByZXR1cm4gZ2V0UGFyYWdyYXBoKGNvbmZpZyk7XG4gICAgY2FzZSBDb21wb25lbnRUeXBlcy5MSVNUOlxuICAgICAgcmV0dXJuIGdldExpc3QoY29uZmlnKTtcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogR2V0IHNpbmdsZSBjaGlsZCBjb21wb25lbnQgZm9yIGEgcGFyZW50XG4gKiBAcGFyYW0geyp9IHBhcmVudCB0aGUgcGFyZW50IGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSB7Kn0gY2hpbGQgdGhlIGNoaWxkIGNvbmZpZ3VyYXRpb25cbiAqL1xuY29uc3QgZ2V0Q2hpbGRKc3ggPSAocGFyZW50LCBwYXJhbUNoaWxkKSA9PiB7XG4gIGNvbnN0IGNoaWxkID0geyAuLi5wYXJhbUNoaWxkIH07XG4gIGlmIChwYXJlbnQuZnVsbF9wYXRoKSB7XG4gICAgY29uc3QgcGF0aFBhcnRzID0gcGFyZW50LmZ1bGxfcGF0aC5zcGxpdCgnLicpO1xuICAgIHBhdGhQYXJ0cy5wb3AoKTtcbiAgICBwYXRoUGFydHMucHVzaChjaGlsZC5maWVsZElkKTtcbiAgICBjaGlsZC5mdWxsX3BhdGggPSBwYXRoUGFydHMuam9pbignLicpO1xuICB9XG5cbiAgaWYgKHBhcmVudC5mb3JtRGF0YSkge1xuICAgIGNoaWxkLnZhbHVlID1cbiAgICAgIHBhcmVudC5mb3JtRGF0YVtjaGlsZC5maWVsZElkXSB8fFxuICAgICAgRGF0YS5nZXRTb3VyY2UocGFyZW50LmZvcm1EYXRhLCBjaGlsZC5mdWxsX3BhdGgpIHx8XG4gICAgICAnJztcbiAgfVxuICBpZiAoJ3JlYWRvbmx5JyBpbiBjaGlsZCkgZGVsZXRlIGNoaWxkLnJlYWRvbmx5O1xuICBpZiAocGFyZW50LnJlYWRvbmx5KSB7XG4gICAgY2hpbGQucmVhZG9ubHkgPSBwYXJlbnQucmVhZG9ubHk7XG4gICAgcmV0dXJuIDxkaXY+e2dldENvbXBvbmVudChjaGlsZCwgZmFsc2UpfTwvZGl2PjtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxGb3JtQ29tcG9uZW50XG4gICAgICBjb21wb25lbnQ9e2NoaWxkfVxuICAgICAgdmFsdWU9e2NoaWxkLnZhbHVlfVxuICAgICAgb25DaGFuZ2U9e3BhcmVudC5vbkNoYW5nZX1cbiAgICAgIG9uVG9wTGV2ZWxDaGFuZ2U9e3BhcmVudC5vbkNoYW5nZX1cbiAgICAgIGtleT17Y2hpbGQua2V5fVxuICAgICAgZm9ybURhdGE9e3BhcmVudC5mb3JtRGF0YX1cbiAgICAvPlxuICApO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0IGNoaWRscmVuQ29uZmlncyBpbnRvIGNvbXBvbmVudHNcbiAqIEBwYXJhbSB7Kn0gcGFyZW50Q29uZmlnIHBhcmVudCBjb21wb25lbnQgd2hpY2ggdGhlIGNoaWxkcmVuQ29uZmlncyB3aWxsIGJlIHVuZGVyXG4gKiBAcGFyYW0geyp9IGNoaWxkcmVuQ29uZmlncyBhcnJheSBvZiBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGNoaWxkIGNvbXBvbmVudHNcbiAqL1xuY29uc3QgZ2V0Q2hpbGRyZW5Kc3ggPSAocGFyZW50Q29uZmlnLCBjaGlsZHJlbkNvbmZpZ3MpID0+IHtcbiAgY29uc3QgdmFsaWRDaGlsZHJlbiA9IGNoaWxkcmVuQ29uZmlnc1xuICAgIC5maWx0ZXIoY29uZmlnID0+ICEoY29uZmlnLnNob3dfd2hlbiAmJiAhQ29uZGl0aW9uLm1lZXRzQWxsKGNvbmZpZy5zaG93X3doZW4sIHBhcmVudENvbmZpZy5mb3JtRGF0YSkpKVxuICAgIC5tYXAoY29uZmlnID0+IChcbiAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e2NvbmZpZy5pZH0+XG4gICAgICAgIHtnZXRDaGlsZEpzeChwYXJlbnRDb25maWcsIGNvbmZpZyl9XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICkpO1xuICAgIFxuICByZXR1cm4gdmFsaWRDaGlsZHJlbi5sZW5ndGggPiAwID8gdmFsaWRDaGlsZHJlbiA6IG51bGw7XG59O1xuXG5leHBvcnQgeyBnZXRDaGlsZHJlbkpzeCB9O1xuXG4vKipcbiAqIEdldCBhIHJlbmRlcmFibGUgY29tcG9uZW50LCBiYXNlZCBvbiBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogQHBhcmFtIHtvYmplY3R9IGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBjb21wb25lbnQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHdyYXAgSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIHdyYXBwZWQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbk92ZXJyaWRlIEFuIG9wdGlvbmFsIG92ZXJyaWRlIGZ1bmN0aW9uIGZvciBjb21wb25lbnQgcmVuZGVyaW5nLlxuICogQHJldHVybnMgQSByZW5kZXJhYmxlIGNvbXBvbmVudC5cbiAqL1xuY29uc3QgZ2V0Q29tcG9uZW50ID0gKGNvbmZpZywgd3JhcCA9IHRydWUsIGZuT3ZlcnJpZGUgPSB1bmRlZmluZWQpID0+IHtcbiAgaWYgKHR5cGVvZiBmbk92ZXJyaWRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc3Qgb3ZlcnJpZGVDb21wb25lbnQgPSBmbk92ZXJyaWRlKGNvbmZpZywgd3JhcCk7XG4gICAgaWYgKG92ZXJyaWRlQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gb3ZlcnJpZGVDb21wb25lbnQ7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29tcG9uZW50ID0gZ2V0Q29tcG9uZW50QnlUeXBlKGNvbmZpZyk7XG4gIGlmIChjb21wb25lbnQgJiYgd3JhcCAmJiBpc0VkaXRhYmxlKGNvbmZpZykpIHtcbiAgICByZXR1cm4gd3JhcEluRm9ybUdyb3VwKGNvbmZpZywgY29tcG9uZW50KTtcbiAgfVxuICByZXR1cm4gY29tcG9uZW50O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxJQUFBQSxtQkFBQSxHQUFBQyxPQUFBO0FBbUJBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGdCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxnQkFBQSxHQUFBUCxz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
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = require("@testing-library/react");
|
|
4
|
-
var _models = require("../../../models");
|
|
5
|
-
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
6
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
// Global imports
|
|
8
|
-
|
|
9
|
-
// Local imports
|
|
10
|
-
|
|
11
|
-
describe('utils.Component.get', () => {
|
|
12
|
-
it('should return an appropriately rendered autocomplete component', () => {
|
|
13
|
-
const ID = 'test-id';
|
|
14
|
-
const FIELD_ID = 'field-id';
|
|
15
|
-
const LABEL = 'label';
|
|
16
|
-
const OPTIONS = [];
|
|
17
|
-
const COMPONENT = {
|
|
18
|
-
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
19
|
-
id: ID,
|
|
20
|
-
fieldId: FIELD_ID,
|
|
21
|
-
label: LABEL,
|
|
22
|
-
data: {
|
|
23
|
-
options: OPTIONS
|
|
24
|
-
},
|
|
25
|
-
'data-testid': ID
|
|
26
|
-
};
|
|
27
|
-
const {
|
|
28
|
-
container
|
|
29
|
-
} = (0, _react.render)((0, _getComponent.default)(COMPONENT));
|
|
30
|
-
const formGroup = (0, _react.getByTestId)(container, ID);
|
|
31
|
-
expect(formGroup.tagName).toEqual('DIV');
|
|
32
|
-
expect(formGroup.classList).toContain('govuk-form-group');
|
|
33
|
-
let label;
|
|
34
|
-
let autocompleteWrapper;
|
|
35
|
-
let autocomplete;
|
|
36
|
-
let autocompleteInput;
|
|
37
|
-
formGroup.childNodes.forEach(node => {
|
|
38
|
-
// Check if it's an element.
|
|
39
|
-
if (node instanceof Element) {
|
|
40
|
-
if (node.tagName === 'LABEL') {
|
|
41
|
-
label = node;
|
|
42
|
-
} else if (node.classList.contains('hods-autocomplete__outer-wrapper')) {
|
|
43
|
-
autocompleteWrapper = node;
|
|
44
|
-
const autocompleteInner = node.childNodes[0];
|
|
45
|
-
if (autocompleteInner instanceof Element) {
|
|
46
|
-
autocomplete = autocompleteInner;
|
|
47
|
-
autocomplete.childNodes.forEach(grandchild => {
|
|
48
|
-
if (grandchild instanceof Element) {
|
|
49
|
-
if (grandchild.tagName === 'INPUT') {
|
|
50
|
-
autocompleteInput = grandchild;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
expect(label).toBeDefined();
|
|
60
|
-
expect(label.innerHTML).toContain(LABEL);
|
|
61
|
-
expect(label.getAttribute('for')).toEqual(ID);
|
|
62
|
-
expect(autocompleteWrapper).toBeDefined();
|
|
63
|
-
expect(autocompleteWrapper.tagName).toEqual('DIV');
|
|
64
|
-
expect(autocomplete).toBeDefined();
|
|
65
|
-
expect(autocomplete.tagName).toEqual('DIV');
|
|
66
|
-
expect(autocompleteInput).toBeDefined();
|
|
67
|
-
expect(autocompleteInput.id).toEqual(ID);
|
|
68
|
-
|
|
69
|
-
// TODO: Ensure that the onChange handler is fired.
|
|
70
|
-
// Not sure quite what this looks like yet so I'll address it later.
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiRklFTERfSUQiLCJMQUJFTCIsIk9QVElPTlMiLCJDT01QT05FTlQiLCJ0eXBlIiwiQ29tcG9uZW50VHlwZXMiLCJBVVRPQ09NUExFVEUiLCJpZCIsImZpZWxkSWQiLCJsYWJlbCIsImRhdGEiLCJvcHRpb25zIiwiY29udGFpbmVyIiwicmVuZGVyIiwiZ2V0Q29tcG9uZW50IiwiZm9ybUdyb3VwIiwiZ2V0QnlUZXN0SWQiLCJleHBlY3QiLCJ0YWdOYW1lIiwidG9FcXVhbCIsImNsYXNzTGlzdCIsInRvQ29udGFpbiIsImF1dG9jb21wbGV0ZVdyYXBwZXIiLCJhdXRvY29tcGxldGUiLCJhdXRvY29tcGxldGVJbnB1dCIsImNoaWxkTm9kZXMiLCJmb3JFYWNoIiwibm9kZSIsIkVsZW1lbnQiLCJjb250YWlucyIsImF1dG9jb21wbGV0ZUlubmVyIiwiZ3JhbmRjaGlsZCIsInRvQmVEZWZpbmVkIiwiaW5uZXJIVE1MIiwiZ2V0QXR0cmlidXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL0NvbXBvbmVudC9nZXRDb21wb25lbnRUZXN0cy9nZXRDb21wb25lbnQuYXV0b2NvbXBsZXRlLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gR2xvYmFsIGltcG9ydHNcbmltcG9ydCB7IGdldEJ5VGVzdElkLCByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcblxuLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IGdldENvbXBvbmVudCBmcm9tICcuLi9nZXRDb21wb25lbnQnO1xuXG5kZXNjcmliZSgndXRpbHMuQ29tcG9uZW50LmdldCcsICgpID0+IHtcblxuICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcHByb3ByaWF0ZWx5IHJlbmRlcmVkIGF1dG9jb21wbGV0ZSBjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgSUQgPSAndGVzdC1pZCc7XG4gICAgY29uc3QgRklFTERfSUQgPSAnZmllbGQtaWQnO1xuICAgIGNvbnN0IExBQkVMID0gJ2xhYmVsJztcbiAgICBjb25zdCBPUFRJT05TID0gW107XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuQVVUT0NPTVBMRVRFLFxuICAgICAgaWQ6IElELFxuICAgICAgZmllbGRJZDogRklFTERfSUQsXG4gICAgICBsYWJlbDogTEFCRUwsXG4gICAgICBkYXRhOiB7IG9wdGlvbnM6IE9QVElPTlMgfSxcbiAgICAgICdkYXRhLXRlc3RpZCc6IElEXG4gICAgfTtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKGdldENvbXBvbmVudChDT01QT05FTlQpKTtcblxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGdldEJ5VGVzdElkKGNvbnRhaW5lciwgSUQpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAudGFnTmFtZSkudG9FcXVhbCgnRElWJyk7XG4gICAgZXhwZWN0KGZvcm1Hcm91cC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstZm9ybS1ncm91cCcpO1xuXG4gICAgbGV0IGxhYmVsO1xuICAgIGxldCBhdXRvY29tcGxldGVXcmFwcGVyO1xuICAgIGxldCBhdXRvY29tcGxldGU7XG4gICAgbGV0IGF1dG9jb21wbGV0ZUlucHV0O1xuXG4gICAgZm9ybUdyb3VwLmNoaWxkTm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgIC8vIENoZWNrIGlmIGl0J3MgYW4gZWxlbWVudC5cbiAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICBpZiAobm9kZS50YWdOYW1lID09PSAnTEFCRUwnKSB7XG4gICAgICAgICAgbGFiZWwgPSBub2RlO1xuICAgICAgICB9IGVsc2UgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdob2RzLWF1dG9jb21wbGV0ZV9fb3V0ZXItd3JhcHBlcicpKSB7XG4gICAgICAgICAgYXV0b2NvbXBsZXRlV3JhcHBlciA9IG5vZGU7XG4gICAgICAgICAgY29uc3QgYXV0b2NvbXBsZXRlSW5uZXIgPSBub2RlLmNoaWxkTm9kZXNbMF07XG4gICAgICAgICAgaWYgKGF1dG9jb21wbGV0ZUlubmVyIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICAgICAgYXV0b2NvbXBsZXRlID0gYXV0b2NvbXBsZXRlSW5uZXI7XG4gICAgICAgICAgICBhdXRvY29tcGxldGUuY2hpbGROb2Rlcy5mb3JFYWNoKGdyYW5kY2hpbGQgPT4ge1xuICAgICAgICAgICAgICBpZiAoZ3JhbmRjaGlsZCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoZ3JhbmRjaGlsZC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGVJbnB1dCA9IGdyYW5kY2hpbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgZXhwZWN0KGxhYmVsKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChsYWJlbC5pbm5lckhUTUwpLnRvQ29udGFpbihMQUJFTCk7XG4gICAgZXhwZWN0KGxhYmVsLmdldEF0dHJpYnV0ZSgnZm9yJykpLnRvRXF1YWwoSUQpO1xuICAgIGV4cGVjdChhdXRvY29tcGxldGVXcmFwcGVyKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChhdXRvY29tcGxldGVXcmFwcGVyLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChhdXRvY29tcGxldGUpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KGF1dG9jb21wbGV0ZS50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICBleHBlY3QoYXV0b2NvbXBsZXRlSW5wdXQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KGF1dG9jb21wbGV0ZUlucHV0LmlkKS50b0VxdWFsKElEKTtcblxuICAgIC8vIFRPRE86IEVuc3VyZSB0aGF0IHRoZSBvbkNoYW5nZSBoYW5kbGVyIGlzIGZpcmVkLlxuICAgIC8vIE5vdCBzdXJlIHF1aXRlIHdoYXQgdGhpcyBsb29rcyBsaWtlIHlldCBzbyBJJ2xsIGFkZHJlc3MgaXQgbGF0ZXIuXG4gIH0pO1xuXG59KTsiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJDLFNBQUFHLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBTDNDOztBQUdBOztBQUlBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsTUFBTTtFQUVwQ0MsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLE1BQU07SUFDekUsTUFBTUMsRUFBRSxHQUFHLFNBQVM7SUFDcEIsTUFBTUMsUUFBUSxHQUFHLFVBQVU7SUFDM0IsTUFBTUMsS0FBSyxHQUFHLE9BQU87SUFDckIsTUFBTUMsT0FBTyxHQUFHLEVBQUU7SUFDbEIsTUFBTUMsU0FBUyxHQUFHO01BQ2hCQyxJQUFJLEVBQUVDLHNCQUFjLENBQUNDLFlBQVk7TUFDakNDLEVBQUUsRUFBRVIsRUFBRTtNQUNOUyxPQUFPLEVBQUVSLFFBQVE7TUFDakJTLEtBQUssRUFBRVIsS0FBSztNQUNaUyxJQUFJLEVBQUU7UUFBRUMsT0FBTyxFQUFFVDtNQUFRLENBQUM7TUFDMUIsYUFBYSxFQUFFSDtJQUNqQixDQUFDO0lBQ0QsTUFBTTtNQUFFYTtJQUFVLENBQUMsR0FBRyxJQUFB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
|