@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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Utils } from '@ukhomeoffice/cop-react-components';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
interface SummaryListRowProps {
|
|
4
|
+
classes: ReturnType<typeof Utils.classBuilder>;
|
|
5
|
+
row: {
|
|
6
|
+
key: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
value?: ReactNode;
|
|
9
|
+
action?: {
|
|
10
|
+
page?: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
aria_suffix?: string;
|
|
13
|
+
onAction?: Function;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
showAction?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const SummaryListRow: ({ row, classes, showAction }: SummaryListRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default SummaryListRow;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Utils } from '@ukhomeoffice/cop-react-components';
|
|
2
|
+
interface SummaryListTitleRowProps {
|
|
3
|
+
title: string;
|
|
4
|
+
classes: ReturnType<typeof Utils.classBuilder>;
|
|
5
|
+
}
|
|
6
|
+
declare const SummaryListTitleRow: ({ title, classes }: SummaryListTitleRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SummaryListTitleRow;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare const getGroupActionAttributes: (groupRow: any) => {
|
|
2
|
+
onClick: () => any;
|
|
3
|
+
onKeyPress: (event: any) => void;
|
|
4
|
+
tabIndex: string;
|
|
5
|
+
href?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
href: string;
|
|
8
|
+
onClick?: undefined;
|
|
9
|
+
onKeyPress?: undefined;
|
|
10
|
+
tabIndex?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
onClick?: undefined;
|
|
13
|
+
onKeyPress?: undefined;
|
|
14
|
+
tabIndex?: undefined;
|
|
15
|
+
href?: undefined;
|
|
16
|
+
};
|
|
17
|
+
export default getGroupActionAttributes;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare const getRowActionAttributes: (row: any) => {
|
|
2
|
+
onClick: () => any;
|
|
3
|
+
onKeyPress: (event: any) => void;
|
|
4
|
+
tabIndex: string;
|
|
5
|
+
href?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
href: string;
|
|
8
|
+
onClick?: undefined;
|
|
9
|
+
onKeyPress?: undefined;
|
|
10
|
+
tabIndex?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
onClick?: undefined;
|
|
13
|
+
onKeyPress?: undefined;
|
|
14
|
+
tabIndex?: undefined;
|
|
15
|
+
href?: undefined;
|
|
16
|
+
};
|
|
17
|
+
export default getRowActionAttributes;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const DEFAULT_CLASS = "hods-task-list";
|
|
2
|
+
interface TaskProps {
|
|
3
|
+
task: {
|
|
4
|
+
name: string;
|
|
5
|
+
pages: string[];
|
|
6
|
+
state?: string;
|
|
7
|
+
displayName?: string;
|
|
8
|
+
};
|
|
9
|
+
onClick: Function;
|
|
10
|
+
}
|
|
11
|
+
declare const Task: ({ task, onClick }: TaskProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default Task;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const DEFAULT_CLASS = "hods-task-list";
|
|
2
|
+
export declare const DEFAULT_INCOMPLETE_TITLE = "Incomplete form";
|
|
3
|
+
interface TaskListProps {
|
|
4
|
+
classBlock?: string;
|
|
5
|
+
classModifiers?: string | string[];
|
|
6
|
+
className?: string;
|
|
7
|
+
fieldId?: string;
|
|
8
|
+
formData?: object;
|
|
9
|
+
id?: string;
|
|
10
|
+
incompleteTitle?: string;
|
|
11
|
+
showCompletionOverview?: boolean;
|
|
12
|
+
notes?: {
|
|
13
|
+
title?: string;
|
|
14
|
+
text?: string;
|
|
15
|
+
};
|
|
16
|
+
onTaskAction?: Function;
|
|
17
|
+
refTitle?: string;
|
|
18
|
+
refNumber?: string;
|
|
19
|
+
sections: {
|
|
20
|
+
name: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
skipped?: string;
|
|
23
|
+
tasks: {
|
|
24
|
+
name: string;
|
|
25
|
+
pages: string[];
|
|
26
|
+
state?: string;
|
|
27
|
+
displayName?: string;
|
|
28
|
+
firstPage?: string;
|
|
29
|
+
alwaysShowFirstPage?: boolean;
|
|
30
|
+
}[];
|
|
31
|
+
}[];
|
|
32
|
+
annotations?: {
|
|
33
|
+
key?: string;
|
|
34
|
+
value?: string;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
/** Renders a list of tasks along with the current status for each. Each task that is not in the `Cannot start yet` state can be
|
|
38
|
+
selected to navigate to that task */
|
|
39
|
+
declare const TaskList: ({ id, refTitle, refNumber, notes, incompleteTitle, showCompletionOverview, sections, fieldId, onTaskAction, classBlock, classModifiers, className, formData, annotations, ...attrs }: TaskListProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export default TaskList;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as Container } from './FormComponent/Container';
|
|
2
|
+
import { default as CheckYourAnswers } from './CheckYourAnswers';
|
|
3
|
+
import { default as FormComponent } from './FormComponent';
|
|
4
|
+
import { default as FormPage } from './FormPage';
|
|
5
|
+
import { default as FormRenderer } from './FormRenderer';
|
|
6
|
+
import { default as PageActions } from './PageActions';
|
|
7
|
+
import { default as SummaryList } from './SummaryList';
|
|
8
|
+
export { CheckYourAnswers, Container, FormComponent, FormPage, FormRenderer, PageActions, SummaryList };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare const ALLOWED_HOOKS: string[];
|
|
3
|
+
export declare const HooksContext: import('react').Context<unknown>;
|
|
4
|
+
interface HooksContextProviderProps {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
overrides?: {
|
|
7
|
+
onAction?: Function;
|
|
8
|
+
onCancel?: Function;
|
|
9
|
+
onChange?: Function;
|
|
10
|
+
onFormComplete?: Function;
|
|
11
|
+
onFormLoad?: Function;
|
|
12
|
+
onGetComponent?: Function;
|
|
13
|
+
onGetCYA?: Function;
|
|
14
|
+
onGetCYARows?: Function;
|
|
15
|
+
onGoingBack?: Function;
|
|
16
|
+
onPageChange?: Function;
|
|
17
|
+
onRequest?: Function;
|
|
18
|
+
onSubmit?: Function;
|
|
19
|
+
onValidate?: Function;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
declare const HooksContextProvider: ({ overrides, children }: HooksContextProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default HooksContextProvider;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare const ValidationContext: import('react').Context<unknown>;
|
|
3
|
+
interface ValidationContextProviderProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
declare const ValidationContextProvider: ({ children }: ValidationContextProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default ValidationContextProvider;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as useAxios } from './useAxios';
|
|
2
|
+
import { default as useValidation } from './useValidation';
|
|
3
|
+
import { default as useHooks } from './useHooks';
|
|
4
|
+
import { default as useGetRequest } from './useGetRequest';
|
|
5
|
+
import { default as useRefData, STATUS_COMPLETE, STATUS_LOADING } from './useRefData';
|
|
6
|
+
export { STATUS_COMPLETE, STATUS_LOADING, useAxios, useValidation, useGetRequest, useHooks, useRefData };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const clear: () => void;
|
|
2
|
+
export declare const STATUS_IDLE = "idle";
|
|
3
|
+
export declare const STATUS_FETCHING = "fetching";
|
|
4
|
+
export declare const STATUS_FETCHED = "fetched";
|
|
5
|
+
export declare const STATUS_ERROR = "error";
|
|
6
|
+
declare const useGetRequest: (url: any, caching?: boolean) => {
|
|
7
|
+
status: string;
|
|
8
|
+
error: null;
|
|
9
|
+
data: null;
|
|
10
|
+
cancelRequests: () => void;
|
|
11
|
+
};
|
|
12
|
+
export default useGetRequest;
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const h=require("react/jsx-runtime"),I=require("@ukhomeoffice/cop-react-components"),B=require("react"),ct=require("uuid"),De={add:"Add another",remove:"Remove",change:"Change",item:"Item ${index}"},Si="alert",Ci="autocomplete",gi="calculation",xi="checkboxes",Ii="collection",_i="collection-summary",Pi="container",wi="date",bi="details",Di="email",Oi="file",Li="heading",Ni="html",Ri="inset-text",Fi="list",$i="multifile",Mi="paragraph",Ui="phone-number",ji="radios",Yi="select",Bi="text",ki="textarea",qi="time",Hi="warning",R={ALERT:Si,AUTOCOMPLETE:Ci,CALCULATION:gi,CHECKBOXES:xi,COLLECTION:Ii,COLLECTION_SUMMARY:_i,CONTAINER:Pi,DATE:wi,DETAILS:bi,EMAIL:Di,FILE:Oi,HEADING:Li,HTML:Ni,INSET_TEXT:Ri,LIST:Fi,MULTI_FILE:$i,PARAGRAPH:Mi,PHONE_NUMBER:Ui,RADIOS:ji,SELECT:Yi,TEXT:Bi,TEXT_AREA:ki,TIME:qi,WARNING:Hi},Vi="blur",Gi="submit",Wi="cancel",Te={BLUR:Vi,SUBMIT:Gi,CANCEL:Wi},Ki="cya",zi="hub",Ji="partial-cya",ae={CYA:Ki,HUB:zi,PARTIAL_CYA:Ji},Xi="cya",Qi="form",Zi="form-with-task-list",ea="hub-and-spoke",ta="task-list",ra="task-list-cya",na="wizard",ne={CYA:Xi,FORM:Qi,FORM_WITH_TASK:Zi,HUB:ea,TASK:ta,TASK_CYA:ra,WIZARD:na},sa="CYA",ia="TASK",pe={CYA:sa,TASK:ia},lr="cancel",Xn="collectionAdd",Qn="collectionDuplicate",Zn="collectionRemove",es="navigate",ur="saveAndContinue",cr="saveAndNavigate",dr="saveAndReturn",fr="submit",Ze={CANCEL:lr,COLLECTION_ADD:Xn,COLLECTION_DUPLICATE:Qn,COLLECTION_REMOVE:Zn,NAVIGATE:es,SAVE_AND_CONTINUE:ur,SAVE_AND_NAVIGATE:cr,SAVE_AND_RETURN:dr,SUBMIT:fr},aa={[lr]:{type:lr,validate:!1,label:"Cancel",classModifiers:"secondary"},[Xn]:void 0,[Qn]:void 0,[Zn]:void 0,[es]:void 0,[ur]:{type:ur,validate:!0,label:"Save and continue"},[cr]:{type:cr,validate:!0,label:"Save and continue"},[dr]:{type:dr,validate:!1,label:"Save and return later",classModifiers:"secondary"},[fr]:{type:fr,validate:!0}},X={TYPES:Ze,DEFAULTS:aa},ts="complete",rs="inProgress",ns="notStarted",ss="cannotStartYet",is="skipped",oa={COMPLETE:ts,IN_PROGRESS:rs,NOT_STARTED:ns,CANNOT_START_YET:ss,SKIPPED:is},la={[ts]:{label:"Completed",colour:"dark-blue"},[rs]:{label:"In Progress",colour:"white"},[ns]:{label:"Not Started",colour:"dark-grey"},[ss]:{label:"Cannot Start Yet",colour:"dark-grey"},[is]:{label:"Skipped",colour:"dark-grey"}},z={TYPES:oa,DETAILS:la},ua={CollectionLabels:De,ComponentTypes:R,EventTypes:Te,FormPages:ae,FormTypes:ne,HubFormats:pe,PageAction:X,TaskStates:z},as=e=>{try{const t=ca(e);return!t&&t!==0?"":t}catch(t){console.error(t.message)}return""},ca=e=>{if(!e||!e.formula)throw new Error("Missing 'formula' definition");const{name:t}={...e.formula};switch(t){case"multiply":return We(e,(r,n)=>r*n);case"divide":return We(e,(r,n)=>r/n);case"plus":return We(e,(r,n)=>r+n);case"minus":return We(e,(r,n)=>r-n);default:throw new Error(t?`Unsupported operation '${t}'`:"Calculation formula 'name' cannot be empty")}},We=(e,t)=>{const{args:r}={...e.formula};if(r.length<2)throw new Error("Requires more than one argument for calculation");return da(r.map(n=>fa(n,e.formData)).reduce((n,s,i)=>i===0?s:t(n,s),0),e)},da=(e,t)=>{const r=t.formula.round;if(!r&&r!==0||!e)return e;if(r===0)return parseInt(e,10);const n=Math.pow(10,r);return Math.round((e+Number.EPSILON)*n)/n},fa=(e,t)=>{const r=Object.keys(e);if(r.length===1){const n=r[0],s=e[n];switch(n){case"field":{const i=ha(s,t);return!i&&i!==0?NaN:parseFloat(i)}case"value":return parseFloat(s);case"formula":return as({...e,formData:t});default:throw new Error("Only accept following as argument field: {field, value, or formula}")}}else throw new Error("Argument cannot have more than one reference")},ha=(e,t)=>I.Utils.interpolateString("${"+e+"}",t),ma=(e,t)=>{if(["in","nin","includesAllOf","!includesAllOf"].includes(e.op))return e.values;if(typeof e.value=="string"&&e.value?.startsWith("field::")){const r=e.value.replace("field::","");return fe.getSource(t,r)}return e.value},Ke=e=>{if(Array.isArray(e))return e.length;if(typeof e=="string"){const t=e.replace(/,/g,"");return Number.isNaN(t)?null:parseFloat(t)}return typeof e=="number"?e:null},Cr=(e,t,r)=>{if(e&&typeof e=="object"){const n=ma(e,r);switch(e.op){case"=":case"eq":return n===t;case"!=":case"<>":case"ne":case"neq":return n!==t;case"in":return Array.isArray(n)?n.includes(t):!1;case"nin":return Array.isArray(n)?n.includes(t)===!1:!0;case"<":{const s=Ke(t),i=Ke(n);return s!=null&&i!=null&&s<i}case">":{const s=Ke(t),i=Ke(n);return s!=null&&i!=null&&s>i}case"contains":return t?.toString().toLowerCase().includes(n);case"!contains":return!t?.toString().toLowerCase().includes(n);case"includes":return Array.isArray(t)?t.includes(n):!1;case"!includes":return Array.isArray(t)?!t.includes(n):!0;case"includesObjectProp":return Array.isArray(t)?t.some(s=>s[e.key]===n):!1;case"!includesObjectProp":return Array.isArray(t)?!t.some(s=>s[e.key]===n):!0;case"includesAllOf":return Array.isArray(t)?n.every(s=>t.includes(s)):!1;case"!includesAllOf":return Array.isArray(t)?!n.every(s=>t.includes(s)):!0;default:return!1}}return!0},pa=e=>{if(e.show_when){let t=e.show_when.type?e.show_when.conditions:e.show_when;const r=e.full_path;return t=Array.isArray(t)?t:[t],t.map(n=>{const s=fe.getDataPath(n.field,r);return{...n,field:s}})}},Ea=e=>Array.isArray(e)||!!(e.field&&e.op),os=e=>e&&!Ea(e)?pa(e):e,ls=(e,t,r="and")=>{const n=Array.isArray(e)?e:[e],s=i=>{if(Array.isArray(i.conditions))return ls(i.conditions,t,i.type);const a=i.field.startsWith("interpolate::")?I.Utils.interpolateString(i.field,t).replace("interpolate::",""):i.field,o=fe.getSource(t,a);return Cr(i,o,t)};return r==="and"?n.every(s):n.some(s)},we=(e,t)=>{const r=os(e);return r?ls(r,t):!0},Aa=(e,t)=>{const r=os(e);return r?(Array.isArray(r)?r:[r]).some(s=>{const i=fe.getSource(t,s.field);return Cr(s,i,t)}):!0},le={meetsOne:Aa,meetsAll:we,met:Cr},va=(e,t)=>{const r=e;return t.forEach((n,s)=>{if(n.refdata_match){const i=n.refdata_match,a=Object.keys(i)[0],o=e.findIndex(l=>l[a]===i[a]);o>=0&&(r[o]={...e[o],nested:n.nested})}n.combineWithRefdata&&!r.includes(n)&&(s>0&&typeof t[s-1]=="string"&&r.push(t[s-1]),r.push(n))}),r},ze=(e,t)=>t.map(r=>r.show_when&&!(r.show_when.type==="or"?le.meetsOne(r,e.formData):le.meetsAll(r,e.formData))?null:typeof r=="string"?r:r.value?(e.alternativeHintField&&(r.hint=r[e.alternativeHintField]),{...r,value:I.Utils.interpolateString(r.value,e.formData),label:I.Utils.interpolateString(r.label,e.formData),hint:I.Utils.interpolateString(r.hint,e.formData)}):r.label).filter(r=>r),ya=(e,t)=>{const r=e.formData[t].map(n=>({value:I.Utils.interpolateString(e.item.value,n),label:I.Utils.interpolateString(e.item.label,n),hint:I.Utils.interpolateString(e.item.hint,n)}));return e.data.options?[...r,...e.data.options]:r},us=(e,t)=>{if(e){if(e?.data?.collection&&e?.item){const r=ya(e,e?.data?.collection);return t(ze(e,r))}if(e.options&&e?.data?.options&&e?.data?.url){const r=va(e.options,e.data.options);return t(ze(e,r))}if(e.options)return t(ze(e,e.options));if(e.data&&e.data.options)return t(ze(e,e.data.options))}return t([])},Ta=6e3,Sa=(e,t)=>{const r=e===0;let n=0;return r&&(n=1),r||(n=t.substring(e-1).startsWith(" ")?2:3),n},Br=e=>e===0,cs=(e,t)=>typeof e!="string"?!1:e.toLowerCase().includes(t),Ca=(e,t)=>{let r=0;return e.synonyms.some(s=>cs(s,t))&&(r=4),r},ga=(e,t,r)=>{let n=0;return e.item.extraFieldsToSearch.some(i=>{const a=t[i];return cs(a,r)})&&(n=5),n},xa=(e,t,r,n)=>{const s=r?r(e).toLowerCase():e.label.toLowerCase()||"";let i=0;const a=s.indexOf(t);return a!==-1&&(i=Sa(a,s)),Br(i)&&e.synonyms&&(i=Ca(e,t)),Br(i)&&n.item?.extraFieldsToSearch&&(i=ga(n,e,t)),{score:i,label:s,option:e}},Ia=(e,t,r)=>(n,s)=>{const i=xa(s,e,t,r);return i.score>0&&n.push(i),n},_a=(e,t)=>(e.score-t.score)*16+e.label.localeCompare(t.label),Pa=e=>{let t=[];us(e,n=>{t=n});const r=e?.item?I.Utils.itemLabel(e.item):null;return(n,s)=>{const i=typeof n=="string"?n.toLowerCase():"",a=t.reduce(Ia(i,r,e),[]).sort(_a).slice(0,Ta).map(o=>o.option);s(a)}},xe=".",gr="/",ds=`${xe}${xe}`,kr=`${xe}${gr}`,hr=e=>e.join(xe),mr=(e,t=xe)=>e.split(t),wa=e=>e===ds,ba=e=>[xe,ds].indexOf(e)>-1,Da=e=>e&&e.indexOf(xe)===0,Oa=e=>e.indexOf(kr)===0?e:`${kr}${e}`,La=(e,t)=>{const r=Oa(t),n=mr(r,gr).filter(wa).length+1,s=e?mr(e):[];return n>=s.length?"":hr(s.slice(0,-n))},Na=(e,t)=>{const r=mr(t,gr).filter(n=>!ba(n));return e?`${e}.${hr(r)}`:hr(r)},Ra=(e,t)=>Da(e)?Na(La(t,e),e):e,Fa=(e,t)=>{if(Array.isArray(e))return e[parseInt(t,10)]},$a=e=>e.includes("["),Ma=e=>e.replace("]","").split("["),se=(e,t)=>{if(t)return t.split(".").reduce((r,n)=>{if(r&&$a(n)){const[s,i]=Ma(n);return Fa(r[s],i)}return r?r[n]:void 0},e)},Ua=(e,t)=>{let r=e.value||e.id,n=e.label||e.name;return t&&(r=e[t.value]||r,n=e[t.label]||n),{value:r?.toString(),label:n}},ja=(e,t)=>Array.isArray(e)?e.map(r=>typeof r=="string"?r:{...r,...Ua(r,t)}):[],Ya=(e,t)=>{const r=Object.keys(e).filter(s=>!(s in t)),n=e;r.forEach(s=>delete n[s])},fs=(e,t,r,n=!1)=>{if(t&&e){const s=n?t.replace(/\[/g,".").replace(/\]/g,"").split("."):t.split("."),i=s.pop();let a=e;s.forEach(o=>{(!a[o]||typeof a[o]!="object")&&(a[o]={}),a=a[o]}),a[i]=r}return e},hs=(e,t)=>{const r=t;e.source&&(r[e.fieldId]=se(r,e.source.field))},Ba=(e,t)=>{e.forEach(r=>hs(r,t))},ka=(e,t)=>{e.forEach(r=>{r.components.filter(n=>!n.use).forEach(n=>hs(n,t))})},qa=(e,t,r)=>{const n={...r};return Ba(t,n),ka(e,n),n},Ha=(e,t)=>({...e,components:ms(e.components,t)}),Va=(e,t)=>({...e,item:ms(e.item,t)}),ms=(e,t)=>e.map(r=>ps(r,t)),ps=(e,t)=>{if(e){if(e.type===R.CONTAINER)return Ha(e,t);if(e.type===R.COLLECTION)return Va(e,t);if(e.type===R.SELECT)return e;if(e.data?.url&&!e.data?.skipUrlInterpolation)return{...e,data:{...e.data,url:I.Utils.interpolateString(e.data.url,t)}}}return e},fe={applyFormula:as,getAutocompleteSource:Pa,getDataPath:Ra,getOptions:us,getSource:se,refData:{setupUrl:ps,toOptions:ja},deleteValues:Ya,setDataItem:fs,setupForm:qa},Ye=(e,t)=>Array.isArray(e)?t.refdata_match?e.some(r=>r.id===t.refdata_match.id):e.includes(t.value):e===t.value,Ce=(e,t)=>!e||e.hidden&&e.disabled?!1:e.show_when?.type==="or"?le.meetsOne(e,t):le.meetsAll(e,t),Be=(e,t)=>{let r=[];return e?.forEach(n=>{r.push(n),Ce(n,t)&&n.data?.options?.forEach(s=>{const i=t?.[n.id]||fe.getSource(t,n.full_path);Array.isArray(s.nested)&&Ye(i,s)&&Ce(s,t)&&(r=r.concat(s.nested))})}),r},qr=["source","use","show_when","options","additionalValidation","full_path","fullPath","formData"],te=(e,t=[])=>{const r=Array.isArray(t)?[...qr,...t]:qr;return e&&typeof e=="object"?Object.keys(e).reduce((n,s)=>r.includes(s)?n:{...n,[s]:e[s]},{}):{}};function ke(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Je={exports:{}},yt,Hr;function Es(){return Hr||(Hr=1,yt=function(t,r){return function(){return t.apply(r,arguments)}}),yt}var Tt,Vr;function ie(){if(Vr)return Tt;Vr=1;var e=Es(),t=Object.prototype.toString,r=(function(p){return function(U){var Y=t.call(U);return p[Y]||(p[Y]=Y.slice(8,-1).toLowerCase())}})(Object.create(null));function n(p){return p=p.toLowerCase(),function(Y){return r(Y)===p}}function s(p){return Array.isArray(p)}function i(p){return typeof p>"u"}function a(p){return p!==null&&!i(p)&&p.constructor!==null&&!i(p.constructor)&&typeof p.constructor.isBuffer=="function"&&p.constructor.isBuffer(p)}var o=n("ArrayBuffer");function l(p){var U;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?U=ArrayBuffer.isView(p):U=p&&p.buffer&&o(p.buffer),U}function u(p){return typeof p=="string"}function d(p){return typeof p=="number"}function c(p){return p!==null&&typeof p=="object"}function f(p){if(r(p)!=="object")return!1;var U=Object.getPrototypeOf(p);return U===null||U===Object.prototype}function m(p){return p&&Object.keys(p).length===0&&Object.getPrototypeOf(p)===Object.prototype}var A=n("Date"),T=n("File"),v=n("Blob"),x=n("FileList");function $(p){return t.call(p)==="[object Function]"}function S(p){return c(p)&&$(p.pipe)}function w(p){var U="[object FormData]";return p&&(typeof FormData=="function"&&p instanceof FormData||t.call(p)===U||$(p.toString)&&p.toString()===U)}var b=n("URLSearchParams");function q(p){return p.trim?p.trim():p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function E(){var p;return typeof navigator<"u"&&((p=navigator.product)==="ReactNative"||p==="NativeScript"||p==="NS")?!1:typeof window<"u"&&typeof document<"u"}function P(p,U){if(!(p===null||typeof p>"u"))if(typeof p!="object"&&(p=[p]),s(p))for(var Y=0,G=p.length;Y<G;Y++)U.call(null,p[Y],Y,p);else for(var V in p)Object.prototype.hasOwnProperty.call(p,V)&&U.call(null,p[V],V,p)}function L(){var p={};function U(V,K){K==="__proto__"||K==="constructor"||K==="prototype"||(f(p[K])&&f(V)?p[K]=L(p[K],V):f(V)?p[K]=L({},V):s(V)?p[K]=V.slice():p[K]=V)}for(var Y=0,G=arguments.length;Y<G;Y++)P(arguments[Y],U);return p}function M(p,U,Y){return P(U,function(V,K){Y&&typeof V=="function"?p[K]=e(V,Y):p[K]=V}),p}function C(p){return p.charCodeAt(0)===65279&&(p=p.slice(1)),p}function H(p,U,Y,G){p.prototype=Object.create(U.prototype,G),p.prototype.constructor=p,Y&&Object.assign(p.prototype,Y)}function D(p,U,Y,G){var V,K,re,me={};if(U=U||{},p==null)return U;do{for(V=Object.getOwnPropertyNames(p),K=V.length;K-- >0;)re=V[K],(!G||G(re,p,U))&&!me[re]&&(U[re]=p[re],me[re]=!0);p=Y!==!1&&Object.getPrototypeOf(p)}while(p&&(!Y||Y(p,U))&&p!==Object.prototype);return U}function y(p,U,Y){p=String(p),(Y===void 0||Y>p.length)&&(Y=p.length),Y-=U.length;var G=p.indexOf(U,Y);return G!==-1&&G===Y}function g(p){if(!p)return null;if(s(p))return p;var U=p.length;if(!d(U))return null;for(var Y=new Array(U);U-- >0;)Y[U]=p[U];return Y}var _=(function(p){return function(U){return p&&U instanceof p}})(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array));function F(p,U){for(var Y=p&&p[Symbol.iterator],G=Y.call(p),V;(V=G.next())&&!V.done;){var K=V.value;U.call(p,K[0],K[1])}}function O(p,U){for(var Y,G=[];(Y=p.exec(U))!==null;)G.push(Y);return G}var j=n("HTMLFormElement"),k=(function(U){return function(Y,G){return U.call(Y,G)}})(Object.prototype.hasOwnProperty);return Tt={isArray:s,isArrayBuffer:o,isBuffer:a,isFormData:w,isArrayBufferView:l,isString:u,isNumber:d,isObject:c,isPlainObject:f,isEmptyObject:m,isUndefined:i,isDate:A,isFile:T,isBlob:v,isFunction:$,isStream:S,isURLSearchParams:b,isStandardBrowserEnv:E,forEach:P,merge:L,extend:M,trim:q,stripBOM:C,inherits:H,toFlatObject:D,kindOf:r,kindOfTest:n,endsWith:y,toArray:g,isTypedArray:_,isFileList:x,forEachEntry:F,matchAll:O,isHTMLForm:j,hasOwnProperty:k},Tt}var St,Gr;function Ie(){if(Gr)return St;Gr=1;var e=ie();function t(s,i,a,o,l){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=s,this.name="AxiosError",i&&(this.code=i),a&&(this.config=a),o&&(this.request=o),l&&(this.response=l)}e.inherits(t,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var r=t.prototype,n={};return["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(function(s){n[s]={value:s}}),Object.defineProperties(t,n),Object.defineProperty(r,"isAxiosError",{value:!0}),t.from=function(s,i,a,o,l,u){var d=Object.create(r);return e.toFlatObject(s,d,function(f){return f!==Error.prototype}),t.call(d,s.message,i,a,o,l),d.cause=s,d.name=s.name,u&&Object.assign(d,u),d},St=t,St}var Ct,Wr;function Ga(){return Wr||(Wr=1,Ct=typeof self=="object"?self.FormData:window.FormData),Ct}var gt,Kr;function Wa(){return Kr||(Kr=1,gt=Ga()),gt}var xt,zr;function dt(){if(zr)return xt;zr=1;var e=ie(),t=Ie(),r=Wa();function n(d){return e.isPlainObject(d)||e.isArray(d)}function s(d){return e.endsWith(d,"[]")?d.slice(0,-2):d}function i(d,c,f){return d?d.concat(c).map(function(A,T){return A=s(A),!f&&T?"["+A+"]":A}).join(f?".":""):c}function a(d){return e.isArray(d)&&!d.some(n)}var o=e.toFlatObject(e,{},null,function(c){return/^is[A-Z]/.test(c)});function l(d){return d&&e.isFunction(d.append)&&d[Symbol.toStringTag]==="FormData"&&d[Symbol.iterator]}function u(d,c,f){if(!e.isObject(d))throw new TypeError("target must be an object");c=c||new(r||FormData),f=e.toFlatObject(f,{metaTokens:!0,dots:!1,indexes:!1},!1,function(L,M){return!e.isUndefined(M[L])});var m=f.metaTokens,A=f.visitor||w,T=f.dots,v=f.indexes,x=f.Blob||typeof Blob<"u"&&Blob,$=x&&l(c);if(!e.isFunction(A))throw new TypeError("visitor must be a function");function S(P){if(P===null)return"";if(e.isDate(P))return P.toISOString();if(!$&&e.isBlob(P))throw new t("Blob is not supported. Use a Buffer instead.");return e.isArrayBuffer(P)||e.isTypedArray(P)?$&&typeof Blob=="function"?new Blob([P]):Buffer.from(P):P}function w(P,L,M){var C=P;if(P&&!M&&typeof P=="object"){if(e.endsWith(L,"{}"))L=m?L:L.slice(0,-2),P=JSON.stringify(P);else if(e.isArray(P)&&a(P)||e.isFileList(P)||e.endsWith(L,"[]")&&(C=e.toArray(P)))return L=s(L),C.forEach(function(D,y){!(e.isUndefined(D)||D===null)&&c.append(v===!0?i([L],y,T):v===null?L:L+"[]",S(D))}),!1}return n(P)?!0:(c.append(i(M,L,T),S(P)),!1)}var b=[],q=Object.assign(o,{defaultVisitor:w,convertValue:S,isVisitable:n});function E(P,L){if(!e.isUndefined(P)){if(b.indexOf(P)!==-1)throw Error("Circular reference detected in "+L.join("."));b.push(P),e.forEach(P,function(C,H){var D=!(e.isUndefined(C)||C===null)&&A.call(c,C,e.isString(H)?H.trim():H,L,q);D===!0&&E(C,L?L.concat(H):[H])}),b.pop()}}if(!e.isObject(d))throw new TypeError("data must be an object");return E(d),c}return xt=u,xt}var It,Jr;function As(){if(Jr)return It;Jr=1;var e=dt();function t(s){var i={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(s).replace(/[!'\(\)~]|%20|%00/g,function(o){return i[o]})}function r(s,i){this._pairs=[],s&&e(s,this,i)}var n=r.prototype;return n.append=function(i,a){this._pairs.push([i,a])},n.toString=function(i){var a=i?function(o){return i.call(this,o,t)}:t;return this._pairs.map(function(l){return a(l[0])+"="+a(l[1])},"").join("&")},It=r,It}var _t,Xr;function vs(){if(Xr)return _t;Xr=1;var e=ie(),t=As();function r(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}return _t=function(s,i,a){if(!i)return s;var o=s.indexOf("#");o!==-1&&(s=s.slice(0,o));var l=a&&a.encode||r,u=a&&a.serialize,d;return u?d=u(i,a):d=e.isURLSearchParams(i)?i.toString():new t(i,a).toString(l),d&&(s+=(s.indexOf("?")===-1?"?":"&")+d),s},_t}var Pt,Qr;function Ka(){if(Qr)return Pt;Qr=1;var e=ie();function t(){this.handlers=[]}return t.prototype.use=function(n,s,i){return this.handlers.push({fulfilled:n,rejected:s,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1},t.prototype.eject=function(n){this.handlers[n]&&(this.handlers[n]=null)},t.prototype.clear=function(){this.handlers&&(this.handlers=[])},t.prototype.forEach=function(n){e.forEach(this.handlers,function(i){i!==null&&n(i)})},Pt=t,Pt}var wt,Zr;function ys(){if(Zr)return wt;Zr=1;var e=ie();return wt=function(r,n){e.forEach(r,function(i,a){a!==n&&a.toUpperCase()===n.toUpperCase()&&(r[n]=i,delete r[a])})},wt}var bt,en;function Ts(){return en||(en=1,bt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}),bt}var Dt,tn;function za(){if(tn)return Dt;tn=1;var e=As();return Dt=typeof URLSearchParams<"u"?URLSearchParams:e,Dt}var Ot,rn;function Ja(){return rn||(rn=1,Ot=FormData),Ot}var Lt,nn;function Xa(){return nn||(nn=1,Lt={isBrowser:!0,classes:{URLSearchParams:za(),FormData:Ja(),Blob},protocols:["http","https","file","blob","url","data"]}),Lt}var Nt,sn;function xr(){return sn||(sn=1,Nt=Xa()),Nt}var Rt,an;function Qa(){if(an)return Rt;an=1;var e=ie(),t=dt(),r=xr();return Rt=function(s,i){return t(s,new r.classes.URLSearchParams,Object.assign({visitor:function(a,o,l,u){return r.isNode&&e.isBuffer(a)?(this.append(o,a.toString("base64")),!1):u.defaultVisitor.apply(this,arguments)}},i))},Rt}var Ft,on;function Ss(){if(on)return Ft;on=1;var e=ie();function t(s){return e.matchAll(/\w+|\[(\w*)]/g,s).map(function(i){return i[0]==="[]"?"":i[1]||i[0]})}function r(s){var i={},a=Object.keys(s),o,l=a.length,u;for(o=0;o<l;o++)u=a[o],i[u]=s[u];return i}function n(s){function i(o,l,u,d){var c=o[d++];if(c==="__proto__")return!0;var f=Number.isFinite(+c),m=d>=o.length;if(c=!c&&e.isArray(u)?u.length:c,m)return e.hasOwnProperty(u,c)?u[c]=[u[c],l]:u[c]=l,!f;(!u[c]||!e.isObject(u[c]))&&(u[c]=[]);var A=i(o,l,u[c],d);return A&&e.isArray(u[c])&&(u[c]=r(u[c])),!f}if(e.isFormData(s)&&e.isFunction(s.entries)){var a={};return e.forEachEntry(s,function(o,l){i(t(o),l,a,0)}),a}return null}return Ft=n,Ft}var $t,ln;function Za(){if(ln)return $t;ln=1;var e=Ie();return $t=function(r,n,s){var i=s.config.validateStatus;!s.status||!i||i(s.status)?r(s):n(new e("Request failed with status code "+s.status,[e.ERR_BAD_REQUEST,e.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s))},$t}var Mt,un;function eo(){if(un)return Mt;un=1;var e=ie();return Mt=e.isStandardBrowserEnv()?(function(){return{write:function(n,s,i,a,o,l){var u=[];u.push(n+"="+encodeURIComponent(s)),e.isNumber(i)&&u.push("expires="+new Date(i).toGMTString()),e.isString(a)&&u.push("path="+a),e.isString(o)&&u.push("domain="+o),l===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(n){var s=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return s?decodeURIComponent(s[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}})():(function(){return{write:function(){},read:function(){return null},remove:function(){}}})(),Mt}var Ut,cn;function to(){return cn||(cn=1,Ut=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}),Ut}var jt,dn;function ro(){return dn||(dn=1,jt=function(t,r){return r?t.replace(/\/?\/$/,"")+"/"+r.replace(/^\/+/,""):t}),jt}var Yt,fn;function Cs(){if(fn)return Yt;fn=1;var e=to(),t=ro();return Yt=function(n,s,i){var a=!e(s);return n&&(a||i===!1)?t(n,s):s},Yt}var Bt,hn;function no(){if(hn)return Bt;hn=1;var e=ie(),t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return Bt=function(n){var s={},i,a,o;return n&&e.forEach(n.split(`
|
|
2
|
+
`),function(u){if(o=u.indexOf(":"),i=e.trim(u.slice(0,o)).toLowerCase(),a=e.trim(u.slice(o+1)),i){if(s[i]&&t.indexOf(i)>=0)return;i==="set-cookie"?s[i]=(s[i]?s[i]:[]).concat([a]):s[i]=s[i]?s[i]+", "+a:a}}),s},Bt}var kt,mn;function so(){if(mn)return kt;mn=1;var e=ie();return kt=e.isStandardBrowserEnv()?(function(){var r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a"),s;function i(a){var o=a;return r&&(n.setAttribute("href",o),o=n.href),n.setAttribute("href",o),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return s=i(window.location.href),function(o){var l=e.isString(o)?i(o):o;return l.protocol===s.protocol&&l.host===s.host}})():(function(){return function(){return!0}})(),kt}var qt,pn;function ft(){if(pn)return qt;pn=1;var e=Ie(),t=ie();function r(n,s,i){e.call(this,n??"canceled",e.ERR_CANCELED,s,i),this.name="CanceledError"}return t.inherits(r,e,{__CANCEL__:!0}),qt=r,qt}var Ht,En;function io(){return En||(En=1,Ht=function(t){var r=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return r&&r[1]||""}),Ht}var Vt,An;function vn(){if(An)return Vt;An=1;var e=ie(),t=Za(),r=eo(),n=vs(),s=Cs(),i=no(),a=so(),o=Ts(),l=Ie(),u=ft(),d=io(),c=xr();return Vt=function(m){return new Promise(function(T,v){var x=m.data,$=m.headers,S=m.responseType,w=m.withXSRFToken,b;function q(){m.cancelToken&&m.cancelToken.unsubscribe(b),m.signal&&m.signal.removeEventListener("abort",b)}e.isFormData(x)&&e.isStandardBrowserEnv()&&delete $["Content-Type"];var E=new XMLHttpRequest;if(m.auth){var P=m.auth.username||"",L=m.auth.password?unescape(encodeURIComponent(m.auth.password)):"";$.Authorization="Basic "+btoa(P+":"+L)}var M=s(m.baseURL,m.url,m.allowAbsoluteUrls);E.open(m.method.toUpperCase(),n(M,m.params,m.paramsSerializer),!0),E.timeout=m.timeout;function C(){if(E){var y="getAllResponseHeaders"in E?i(E.getAllResponseHeaders()):null,g=!S||S==="text"||S==="json"?E.responseText:E.response,_={data:g,status:E.status,statusText:E.statusText,headers:y,config:m,request:E};t(function(O){T(O),q()},function(O){v(O),q()},_),E=null}}if("onloadend"in E?E.onloadend=C:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.indexOf("file:")===0)||setTimeout(C)},E.onabort=function(){E&&(v(new l("Request aborted",l.ECONNABORTED,m,E)),E=null)},E.onerror=function(){v(new l("Network Error",l.ERR_NETWORK,m,E)),E=null},E.ontimeout=function(){var g=m.timeout?"timeout of "+m.timeout+"ms exceeded":"timeout exceeded",_=m.transitional||o;m.timeoutErrorMessage&&(g=m.timeoutErrorMessage),v(new l(g,_.clarifyTimeoutError?l.ETIMEDOUT:l.ECONNABORTED,m,E)),E=null},e.isStandardBrowserEnv()&&(w&&e.isFunction(w)&&(w=w(m)),w||w!==!1&&a(M))){var H=m.xsrfHeaderName&&m.xsrfCookieName&&r.read(m.xsrfCookieName);H&&($[m.xsrfHeaderName]=H)}"setRequestHeader"in E&&e.forEach($,function(g,_){typeof x>"u"&&_.toLowerCase()==="content-type"?delete $[_]:E.setRequestHeader(_,g)}),e.isUndefined(m.withCredentials)||(E.withCredentials=!!m.withCredentials),S&&S!=="json"&&(E.responseType=m.responseType),typeof m.onDownloadProgress=="function"&&E.addEventListener("progress",m.onDownloadProgress),typeof m.onUploadProgress=="function"&&E.upload&&E.upload.addEventListener("progress",m.onUploadProgress),(m.cancelToken||m.signal)&&(b=function(y){E&&(v(!y||y.type?new u(null,m,E):y),E.abort(),E=null)},m.cancelToken&&m.cancelToken.subscribe(b),m.signal&&(m.signal.aborted?b():m.signal.addEventListener("abort",b))),!x&&x!==!1&&x!==0&&x!==""&&(x=null);var D=d(M);if(D&&c.protocols.indexOf(D)===-1){v(new l("Unsupported protocol "+D+":",l.ERR_BAD_REQUEST,m));return}E.send(x)})},Vt}var Gt,yn;function Ir(){if(yn)return Gt;yn=1;var e=ie(),t=ys(),r=Ie(),n=Ts(),s=dt(),i=Qa(),a=xr(),o=Ss(),l={"Content-Type":"application/x-www-form-urlencoded"};function u(m,A){!e.isUndefined(m)&&e.isUndefined(m["Content-Type"])&&(m["Content-Type"]=A)}function d(){var m;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(m=vn()),m}function c(m,A,T){if(e.isString(m))try{return(A||JSON.parse)(m),e.trim(m)}catch(v){if(v.name!=="SyntaxError")throw v}return(T||JSON.stringify)(m)}var f={transitional:n,adapter:d(),transformRequest:[function(A,T){t(T,"Accept"),t(T,"Content-Type");var v=T&&T["Content-Type"]||"",x=v.indexOf("application/json")>-1,$=e.isObject(A);$&&e.isHTMLForm(A)&&(A=new FormData(A));var S=e.isFormData(A);if(S)return x?JSON.stringify(o(A)):A;if(e.isArrayBuffer(A)||e.isBuffer(A)||e.isStream(A)||e.isFile(A)||e.isBlob(A))return A;if(e.isArrayBufferView(A))return A.buffer;if(e.isURLSearchParams(A))return u(T,"application/x-www-form-urlencoded;charset=utf-8"),A.toString();var w;if($){if(v.indexOf("application/x-www-form-urlencoded")!==-1)return i(A,this.formSerializer).toString();if((w=e.isFileList(A))||v.indexOf("multipart/form-data")>-1){var b=this.env&&this.env.FormData;return s(w?{"files[]":A}:A,b&&new b,this.formSerializer)}}return $||x?(u(T,"application/json"),c(A)):A}],transformResponse:[function(A){var T=this.transitional||f.transitional,v=T&&T.forcedJSONParsing,x=this.responseType==="json";if(A&&e.isString(A)&&(v&&!this.responseType||x)){var $=T&&T.silentJSONParsing,S=!$&&x;try{return JSON.parse(A)}catch(w){if(S)throw w.name==="SyntaxError"?r.from(w,r.ERR_BAD_RESPONSE,this,null,this.response):w}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:a.classes.FormData,Blob:a.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};return e.forEach(["delete","get","head"],function(A){f.headers[A]={}}),e.forEach(["post","put","patch"],function(A){f.headers[A]=e.merge(l)}),Gt=f,Gt}var Wt,Tn;function ao(){if(Tn)return Wt;Tn=1;var e=ie(),t=Ir();return Wt=function(n,s,i,a){var o=this||t;return e.forEach(a,function(u){n=u.call(o,n,s,i)}),n},Wt}var Kt,Sn;function gs(){return Sn||(Sn=1,Kt=function(t){return!!(t&&t.__CANCEL__)}),Kt}var zt,Cn;function oo(){if(Cn)return zt;Cn=1;var e=ie(),t=ao(),r=gs(),n=Ir(),s=ft(),i=ys();function a(o){if(o.cancelToken&&o.cancelToken.throwIfRequested(),o.signal&&o.signal.aborted)throw new s}return zt=function(l){a(l),l.headers=l.headers||{},l.data=t.call(l,l.data,l.headers,null,l.transformRequest),i(l.headers,"Accept"),i(l.headers,"Content-Type"),l.headers=e.merge(l.headers.common||{},l.headers[l.method]||{},l.headers),e.forEach(["delete","get","head","post","put","patch","common"],function(c){delete l.headers[c]});var u=l.adapter||n.adapter;return u(l).then(function(c){return a(l),c.data=t.call(l,c.data,c.headers,c.status,l.transformResponse),c},function(c){return r(c)||(a(l),c&&c.response&&(c.response.data=t.call(l,c.response.data,c.response.headers,c.response.status,l.transformResponse))),Promise.reject(c)})},zt}var Jt,gn;function xs(){if(gn)return Jt;gn=1;var e=ie();return Jt=function(r,n){n=n||{};var s={};function i(c,f){return e.isPlainObject(c)&&e.isPlainObject(f)?e.merge(c,f):e.isEmptyObject(f)?e.merge({},c):e.isPlainObject(f)?e.merge({},f):e.isArray(f)?f.slice():f}function a(c){if(e.isUndefined(n[c])){if(!e.isUndefined(r[c]))return i(void 0,r[c])}else return i(r[c],n[c])}function o(c){if(!e.isUndefined(n[c]))return i(void 0,n[c])}function l(c){if(e.isUndefined(n[c])){if(!e.isUndefined(r[c]))return i(void 0,r[c])}else return i(void 0,n[c])}function u(c){if(c in n)return i(r[c],n[c]);if(c in r)return i(void 0,r[c])}var d={url:o,method:o,data:o,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u};return e.forEach(Object.keys(r).concat(Object.keys(n)),function(f){if(!(f==="__proto__"||f==="constructor"||f==="prototype")){var m=e.hasOwnProperty(d,f)?d[f]:a,A=m(f);e.isUndefined(A)&&m!==u||(s[f]=A)}}),s},Jt}var Xt,xn;function Is(){return xn||(xn=1,Xt={version:"0.30.3"}),Xt}var Qt,In;function lo(){if(In)return Qt;In=1;var e=Is().version,t=Ie(),r={};["object","boolean","number","function","string","symbol"].forEach(function(i,a){r[i]=function(l){return typeof l===i||"a"+(a<1?"n ":" ")+i}});var n={};r.transitional=function(a,o,l){function u(d,c){return"[Axios v"+e+"] Transitional option '"+d+"'"+c+(l?". "+l:"")}return function(d,c,f){if(a===!1)throw new t(u(c," has been removed"+(o?" in "+o:"")),t.ERR_DEPRECATED);return o&&!n[c]&&(n[c]=!0,console.warn(u(c," has been deprecated since v"+o+" and will be removed in the near future"))),a?a(d,c,f):!0}};function s(i,a,o){if(typeof i!="object")throw new t("options must be an object",t.ERR_BAD_OPTION_VALUE);for(var l=Object.keys(i),u=l.length;u-- >0;){var d=l[u],c=a[d];if(c){var f=i[d],m=f===void 0||c(f,d,i);if(m!==!0)throw new t("option "+d+" must be "+m,t.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new t("Unknown option "+d,t.ERR_BAD_OPTION)}}return Qt={assertOptions:s,validators:r},Qt}var Zt,_n;function uo(){if(_n)return Zt;_n=1;var e=ie(),t=vs(),r=Ka(),n=oo(),s=xs(),i=Cs(),a=lo(),o=a.validators;function l(u){this.defaults=u,this.interceptors={request:new r,response:new r}}return l.prototype.request=function(d,c){typeof d=="string"?(c=c||{},c.url=d):c=d||{},c=s(this.defaults,c),c.method?c.method=c.method.toLowerCase():this.defaults.method?c.method=this.defaults.method.toLowerCase():c.method="get";var f=c.transitional;f!==void 0&&a.assertOptions(f,{silentJSONParsing:o.transitional(o.boolean),forcedJSONParsing:o.transitional(o.boolean),clarifyTimeoutError:o.transitional(o.boolean)},!1);var m=c.paramsSerializer;m!=null&&(e.isFunction(m)?c.paramsSerializer={serialize:m}:a.assertOptions(m,{encode:o.function,serialize:o.function},!0));var A=[],T=!0;this.interceptors.request.forEach(function(E){typeof E.runWhen=="function"&&E.runWhen(c)===!1||(T=T&&E.synchronous,A.unshift(E.fulfilled,E.rejected))});var v=[];this.interceptors.response.forEach(function(E){v.push(E.fulfilled,E.rejected)});var x;if(!T){var $=[n,void 0];for(Array.prototype.unshift.apply($,A),$=$.concat(v),x=Promise.resolve(c);$.length;)x=x.then($.shift(),$.shift());return x}for(var S=c;A.length;){var w=A.shift(),b=A.shift();try{S=w(S)}catch(q){b(q);break}}try{x=n(S)}catch(q){return Promise.reject(q)}for(;v.length;)x=x.then(v.shift(),v.shift());return x},l.prototype.getUri=function(d){d=s(this.defaults,d);var c=i(d.baseURL,d.url,d.allowAbsoluteUrls);return t(c,d.params,d.paramsSerializer)},e.forEach(["delete","get","head","options"],function(d){l.prototype[d]=function(c,f){return this.request(s(f||{},{method:d,url:c,data:(f||{}).data}))}}),e.forEach(["post","put","patch"],function(d){function c(f){return function(A,T,v){return this.request(s(v||{},{method:d,headers:f?{"Content-Type":"multipart/form-data"}:{},url:A,data:T}))}}l.prototype[d]=c(),l.prototype[d+"Form"]=c(!0)}),Zt=l,Zt}var er,Pn;function co(){if(Pn)return er;Pn=1;var e=ft();function t(r){if(typeof r!="function")throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(a){n=a});var s=this;this.promise.then(function(i){if(s._listeners){for(var a=s._listeners.length;a-- >0;)s._listeners[a](i);s._listeners=null}}),this.promise.then=function(i){var a,o=new Promise(function(l){s.subscribe(l),a=l}).then(i);return o.cancel=function(){s.unsubscribe(a)},o},r(function(a,o,l){s.reason||(s.reason=new e(a,o,l),n(s.reason))})}return t.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},t.prototype.subscribe=function(n){if(this.reason){n(this.reason);return}this._listeners?this._listeners.push(n):this._listeners=[n]},t.prototype.unsubscribe=function(n){if(this._listeners){var s=this._listeners.indexOf(n);s!==-1&&this._listeners.splice(s,1)}},t.source=function(){var n,s=new t(function(a){n=a});return{token:s,cancel:n}},er=t,er}var tr,wn;function fo(){return wn||(wn=1,tr=function(t){return function(n){return t.apply(null,n)}}),tr}var rr,bn;function ho(){if(bn)return rr;bn=1;var e=ie();return rr=function(r){return e.isObject(r)&&r.isAxiosError===!0},rr}var Dn;function mo(){if(Dn)return Je.exports;Dn=1;var e=ie(),t=Es(),r=uo(),n=xs(),s=Ir(),i=Ss();function a(l){var u=new r(l),d=t(r.prototype.request,u);return e.extend(d,r.prototype,u),e.extend(d,u),d.create=function(f){return a(n(l,f))},d}var o=a(s);return o.Axios=r,o.CanceledError=ft(),o.CancelToken=co(),o.isCancel=gs(),o.VERSION=Is().version,o.toFormData=dt(),o.AxiosError=Ie(),o.Cancel=o.CanceledError,o.all=function(u){return Promise.all(u)},o.spread=fo(),o.isAxiosError=ho(),o.formToJSON=function(l){return i(e.isHTMLForm(l)?new FormData(l):l)},Je.exports=o,Je.exports.default=o,Je.exports}var nr,On;function po(){return On||(On=1,nr=mo()),nr}var Eo=po();const _s=ke(Eo),ce={onAction:(e,t)=>({formData:e,patch:t}),onChange:e=>{},onFormComplete:()=>{},onFormLoad:e=>{},onGetComponent:(e,t)=>null,onGetCYA:e=>null,onGetCYARows:(e,t,r)=>null,onGoingBack:()=>{},onPageChange:(e,t)=>e,onRequest:e=>e,onSubmit:(e,t,r,n)=>{typeof r=="function"&&r()},onValidate:(e,t)=>t,onCancel:e=>{}},Ln=Object.keys(ce),Ps=B.createContext(),ws=({overrides:e={onAction:void 0,onCancel:void 0,onChange:void 0,onFormComplete:void 0,onFormLoad:void 0,onGetComponent:void 0,onGetCYA:void 0,onGetCYARows:void 0,onGoingBack:void 0,onPageChange:void 0,onRequest:void 0,onSubmit:void 0,onValidate:void 0},children:t=null})=>{const[r,n]=B.useState({onAction:e?.onAction||ce.onAction,onChange:e?.onChange||ce.onChange,onFormComplete:e?.onFormComplete||ce.onFormComplete,onFormLoad:e?.onFormLoad||ce.onFormLoad,onGetComponent:e?.onGetComponent||ce.onGetComponent,onGetCYA:e?.onGetCYA||ce.onGetCYA,onGetCYARows:e?.onGetCYARows||ce.onGetCYARows,onGoingBack:e?.onGoingBack||ce.onGoingBack,onPageChange:e?.onPageChange||ce.onPageChange,onRequest:e?.onRequest||ce.onRequest,onSubmit:e?.onSubmit||ce.onSubmit,onValidate:e?.onValidate||ce.onValidate,onCancel:e?.onCancel||ce.onCancel}),s=(a,o)=>{Ln.includes(a)&&n(l=>({...l,[a]:o||ce[a]}))},i=a=>{Ln.includes(a)&&n(o=>({...o,[a]:ce[a]}))};return h.jsx(Ps.Provider,{value:{hooks:r,addHook:s,removeHook:i},children:t})},ge=()=>B.useContext(Ps),Ao=()=>{const{hooks:e}=ge(),[t,r]=B.useState({});return B.useEffect(()=>{const n=_s.create({baseURL:"/"});return n.interceptors.request.use(e.onRequest),n.interceptors.response.use(s=>s,async s=>Promise.reject(s)),r({instance:n}),()=>{r({})}},[e]),t.instance},_r=B.createContext(),bs=({children:e=null})=>{const{hooks:t}=ge(),[r,n]=B.useState([]),[s,i]=B.useState([]),a=f=>{i(m=>[...m,...f].filter(A=>!!A))},o=f=>{typeof f=="function"&&i(m=>m.filter(A=>!f(A)))},l=()=>{s.length&&i([])},u=f=>{n(m=>[...m,...f].filter(A=>!!A))},d=()=>{i([]),n([])},c={page:f=>{const m=N.Validate.page(f,s),A=t.onValidate(f,m);return n(A),A},pages:f=>{const m=f.map(T=>N.Validate.page(T,s)),A=f.flatMap((T,v)=>t.onValidate(T,m[v]));return n(A),A}};return h.jsx(_r.Provider,{value:{errors:r,addErrors:u,clearErrors:d,queuedErrors:s,enqueueErrors:a,dequeueErrors:o,clearQueuedErrors:l,validate:c},children:e})},Oe=()=>B.useContext(_r),sr={},ir={},vo="idle",yo="fetching",Ds="fetched",Os="error",To=(e,t=!0)=>{const r=Ao(),n=B.useRef(_s.CancelToken.source()),[s,i]=B.useState(vo),[a,o]=B.useState(null),[l,u]=B.useState(null),d=()=>{n.current&&n.current.cancel()};return B.useEffect(()=>{if(!e||!r)return;(async()=>{try{o(null),i(yo);let f;if(t&&sr[e])f=sr[e];else{if(t&&ir[e])throw ir[e];f=(await r.get(e,{cancelToken:n.current.token}).catch(A=>{throw o(A),A})).data,t&&(sr[e]=f)}u(f),i(Ds)}catch(f){t&&(ir[e]=f),o(f),u(null),i(Os)}})()},[r,e,t]),{status:s,error:a,data:l,cancelRequests:d}},So="loading",et="complete",Co=e=>{const t=e.data;if(t&&!t.options||t?.url)return I.Utils.interpolateString(t.url,e.formData)},go=(e,t)=>{const r=Co({...e,formData:t}),{status:n,data:s}=To(r,e?.data?.useCache),[i,a]=B.useState([]),[o,l]=B.useState(So);return B.useEffect(()=>{r?n===Ds?(s&&a(fe.refData.toOptions(s.data||s,e.item)),l(et)):n===Os&&(a([]),l(et)):(e.data&&e.data.options&&a(fe.refData.toOptions(e.data.options,e.item)),l(et))},[e.id,n,s,r]),{data:i,status:o}},Ue=(e,t)=>{const r=te(e,["fieldId","displayMenu","showCharacterCount","readonly"]);return h.jsx(I.FormGroup,{...r,onChange:null,children:t})},Pr=(e,t,r,n,s={})=>{if(!t)return[];const i=N.CollectionPage.getData(t.collection.name,t.formData)||[];let a=[];return i.forEach(o=>{s={...s,[`${t.collection.name.split(".").pop()}ActiveId`]:o.id};const l=t.childPages?.flatMap(u=>{const d={...u,formData:{...r,...s}};if(u.childPages)return Pr(e,d,r,n,s);const c=N.Validate.page(d);return n.onValidate(d,c)});a=a.concat(l.map(u=>({...u,entryId:o.id,showFor:e.id,raisedBy:e.id})))}),a},wr=({value:e,component:t,formData:r,placeholder:n})=>e?t?h.jsx(Le,{component:{...t,readonly:!0},wrap:!1,value:e,formData:r}):Object.prototype.hasOwnProperty.call(e,"label")?e.label:e:(Object.prototype.hasOwnProperty.call(t||{},"cyaPlaceholder")?t?.cyaPlaceholder:n)||h.jsx(I.VisuallyHidden,{children:"No answer"}),xo="Continue",pr=({action:e,onAction:t,...r})=>{const n=typeof e=="string"?X.DEFAULTS[e]:e,s=X.DEFAULTS[e.type];return n?h.jsx(I.Button,{...r,className:n.className,classModifiers:n.classModifiers,start:n.start||!1,name:n.label,onClick:n.disabled?()=>{}:()=>t(n),children:n.label||s?.label||xo}):null},Io="hods-form-confirmation",_o="Are you sure?",Po="Confirm",wo=({id:e,message:t,confirmLabel:r,children:n,onConfirm:s,onCancel:i,classModifiers:a=[]})=>{const o=I.Utils.classBuilder(Io,a,"");return h.jsxs("div",{id:e,className:o(),role:"alert",children:[h.jsx("h2",{children:t||_o}),n,h.jsx(I.Button,{classModifiers:"warning",onClick:s,autoFocus:!0,children:r||Po}),h.jsx(I.Button,{classModifiers:"secondary",onClick:i,children:"Cancel"})]})},br=e=>e&&Array.isArray(e.components)?e.components.flatMap(t=>t.type===R.CONTAINER?br(t):qe.editable(t)?t:null).filter(t=>!!t):[],bo=e=>{const t=e.full_path||e.fieldId;return e.components.map(r=>{const n=t?`${t}.${r.fieldId}`:r.fieldId,s={...r,full_path:n};return r.type===R.CONTAINER?Er(s):(r.type===R.RADIOS&&s.data?.options?.forEach((i,a)=>{i.nested?.forEach((o,l)=>{o.type===R.CONTAINER&&(s.data.options[a].nested[l]=Er(o))})}),s)})},Er=e=>{if(e){const t=bo(e);return{...e,components:t}}return e},Do=(e,t)=>e.some(r=>qe.show(r,t)),Oo=(e,t)=>{if(!e)return!1;if(e.show_when)return e.show_when.type==="or"?le.meetsOne(e,t):le.meetsAll(e,t);const r=br(e);return r.length>0?Do(r,t):!0},ht={editableComponents:br,setup:Er,show:Oo},Lo=(e,t)=>e.some(r=>Ce(r,t)),mt=(e,t)=>{if(!e)return!1;if(e.show_when)return e.show_when.type==="or"?le.meetsOne(e,t):le.meetsAll(e,t);const r=ht.editableComponents(e);return r.length>0?Lo(r,t):!0},No=(e,t,r)=>{if(!e)return null;const n=[];e.childPages.forEach(o=>{!o.summaryQuickEdit||!mt(o,{...t,...r})||o.summaryQuickEdit.forEach(l=>{if(typeof l=="string"){n.push({...o.components.find(c=>c.id===l)});return}const u=o.components.find(c=>c.id===l.use);if(!u)return;const d={...u,...l};if(l.show_when){we(l.show_when,{...t,...r})&&n.push({...d,show_when:u.show_when||[]});return}n.push(d)})});const s={...e.childPages[0],formData:t};s.components=n,s.actions=[{type:"save",label:"Save",validate:!0,classModifiers:"primary"},{type:"cancel",label:"Cancel",classModifiers:"secondary"}];const{id:i,...a}=r;return s.formData={...s.formData,...a,[`${e.collection?.name?.split(".").pop()}ActiveId`]:r.id},delete s.title,delete s.collection,s},Dr=({actions:e,onAction:t})=>!e||e.length===0?null:h.jsx(I.ButtonGroup,{children:e.map((r,n)=>h.jsx(pr,{action:r,onAction:t},n))}),Ro=e=>{if(!e?.customValidation)return!1;const t=e?.customValidation.find(r=>r.runWhen?.onLoad===!0);return t&&t.runWhen?.constraint?le.meetsOne(t.runWhen?.constraint,e.formData):!1},Ls="hods-form__page",Or=({page:e,pages:t=[],onAction:r,onWrapperChange:n=void 0,onTopLevelChange:s=void 0,onChange:i=void 0,hashLink:a=!1,classBlock:o=Ls,classModifiers:l=[],className:u="",submitting:d=!1,pageId:c})=>{const[f,m]=B.useState({}),{errors:A,validate:T}=Oe(),[v,x]=B.useState({}),[$,S]=B.useState(!1),w=B.useMemo(()=>Ro(e),[e]);B.useEffect(()=>{S(!0)},[]),B.useEffect(()=>{$&&w&&T.page(e)},[c,$]);const b=({target:C})=>{const H=e,{value:D}=C;D?(H.formData[C.name]=D,m(y=>({...y,[C.name]:D})),x(y=>({...y,[C.component]:C.label}))):(delete H.formData[C.name],m(y=>{const{[C.name]:g,..._}=y;return _}),x(y=>{const{[C.component]:g,..._}=y;return _})),typeof i=="function"&&i(e.formData)};B.useEffect(()=>{const C=document.title.replace("Error: ","");document.title=A.length>0?"Error: "+C:C},[A]);const q=N.classBuilder(o,l,u),E=e;E.actions=E.actions?.map(C=>C.label?{...C,label:N.interpolateString(C.label,E.formData)}:C),E.formData=N.Operate.runPageOperations(E,{...E.formData,...f},n||b);const P=e.title?h.jsx(I.Heading,{size:e.titleSize,children:N.FormPage.getTitle(e.title,e.formData)}):h.jsx(I.Label,{id:e.id,required:e.required,hideOptionalSuffix:e.hideOptionalSuffix,children:e.label}),L=e.components.filter(C=>N.Component.show(C,e.formData)).map((C,H)=>h.jsx(Le,{component:C,onAction:D=>r(D,f,v),onChange:n||b,onTopLevelChange:s||b,value:e.formData[C.fieldId]||f[C.fieldId],formData:e.formData,pages:t,submitting:d},H));let M=null;return w&&A?.length>0?M=[{error:e?.customValidation?.[0]?.message}]:A?.length>0&&!w&&(M=A),h.jsxs("div",{className:q(),children:[M&&h.jsx(I.ErrorSummary,{errors:M,hashLink:a}),e.fieldset&&h.jsxs("fieldset",{className:"govuk-fieldset",children:[h.jsx("legend",{className:"govuk-fieldset__legend",children:P}),L]}),!e.fieldset&&h.jsxs(h.Fragment,{children:[P,L]}),h.jsx(Dr,{actions:e.actions?.filter(C=>N.Component.show(C,e.formData)),onAction:C=>r(C,f,v)})]},e.id)},Nn="hods-form-banner-strip",Ns=({id:e,banners:t=[],formData:r,classModifiers:n})=>{const s=N.classBuilder(Nn,n,""),i=t.filter(a=>N.Component.show(a,r));return h.jsx("div",{id:e,className:s(),children:i.map((a,o)=>{const l=`${e}-banner-${o}`;if(typeof a=="string"||a.type==="plain"){const u=typeof a=="string"?a:a.text;return h.jsx("div",{id:l,className:s("banner"),children:h.jsx(I.Markup,{content:N.interpolateString(u,r)})},l)}return h.jsx(I.Tag,{classBlock:`${Nn}__tag`,classModifiers:a.classModifiers,text:N.interpolateString(a.text,r)},l)})})},Fo=e=>{if(e&&e.action){if(typeof e.action.onAction=="function")return{onClick:()=>e.action.onAction(e),onKeyPress:t=>{t.key==="Enter"&&e.action.onAction(e)},tabIndex:"0"};if(e.action.page)return{href:`/${e.action.page}`}}return{}},Lr=({row:e})=>{const[t,r]=B.useState({});return B.useEffect(()=>{r(Fo(e))},[e,r]),e.action?h.jsxs(I.Link,{...t,children:[e.action.label,e.action.aria_suffix&&h.jsxs(I.VisuallyHidden,{children:[" ",e.action.aria_suffix]})]}):null},Rs=({row:e,classes:t,showAction:r=!1})=>h.jsxs("dl",{className:t("row"),role:"listitem",children:[h.jsxs("dt",{className:t("key"),children:[e.key,!e.required&&" (optional)"]}),h.jsx("dd",{className:t("value"),children:e.value}),r&&h.jsx("dd",{className:t("actions"),children:e.action&&h.jsx(Lr,{row:e})})]}),Fs=({title:e,classes:t})=>h.jsx("div",{className:`${t("row")} ${t("title")}`,role:"listitem",children:h.jsx(I.SmallHeading,{children:e})}),tt=(e,t,r,n,s)=>{const i={...e,formData:{...e.formData,...n}},a=At(i,t);return t.type==="title"?h.jsx(Fs,{title:t.key,classes:r}):h.jsx(Rs,{row:{key:a.key,value:h.jsx(wr,{value:a.value||t.value,component:a.component,formData:i.formData,placeholder:s}),required:a.required},classes:r},`${a.fieldId}`)},$o="govuk-summary-card",Mo="govuk-summary-list",Xe="Item",Qe="Change",Rn="Delete",Uo="warning",jo=({id:e,entryData:t,config:r,onFullEdit:n,onDelete:s,masterPage:i,classModifiers:a=null,optionalFieldPlaceholder:o=null})=>{const l=I.Utils.classBuilder($o,a,r.className),u=I.Utils.classBuilder(Mo,[]);return h.jsxs("div",{className:l(),id:e,children:[h.jsxs("div",{className:l("title-wrapper",[],"dark"),children:[h.jsxs("div",{className:l("title-content"),children:[h.jsx("h2",{className:l("title"),children:I.Utils.interpolateString(r.title||Xe,{...t,index:t.index+1})}),r.banners&&h.jsx(Ns,{id:`BannerStrip${t.id}`,banners:r.banners,formData:t})]}),h.jsxs("ul",{className:l("actions"),children:[h.jsx("li",{className:l("action"),children:r.changeAction&&typeof n=="function"&&r.changeAction.classModifiers?h.jsx(I.Button,{id:`${e}.changeButton`,onClick:()=>n(r.changeAction.page,t.id),classModifiers:r.changeAction.classModifiers,"aria-label":I.Utils.interpolateString(`${r.changeAction?.label||Qe} ${r.title||Xe}`,{...t,index:t.index+1}),children:r.changeAction?.label||Qe}):h.jsx("button",{type:"button",className:"govuk-link govuk-link-button",onClick:()=>n(r.changeAction.page,t.id),"aria-label":I.Utils.interpolateString(`${r.changeAction?.label||Qe} ${r.title||Xe}`,{...t,index:t.index+1}),children:r.changeAction?.label||Qe})}),h.jsx("li",{className:l("action"),children:r.deleteAction&&typeof s=="function"&&h.jsx(I.Button,{id:`${e}.deleteButton`,onClick:()=>s(t),classModifiers:r.deleteAction.classModifiers||Uo,"aria-label":I.Utils.interpolateString(`${r.deleteAction?.label||Rn} ${r.title||Xe}`,{...t,index:t.index+1}),children:r.deleteAction.label||Rn})})]})]}),h.jsx("div",{className:l("content"),children:h.jsx("dl",{className:u(),role:"list",children:i?.childPages?.flatMap(d=>{const c=d.components.map(f=>N.Component.elevateNested([f],t)).flat().filter(Boolean);return d.summaryLayout?.sections?.flatMap(f=>{const A=f.columns.filter(T=>le.meetsAll(T,{...d.formData,...t})).flatMap(T=>T.fields||[]);return A.length?A.flatMap(T=>{const v=c.find(x=>x.fieldId===T);return v?tt(d,v,u,t,o):null}):null})})})})]})},Yo=({id:e,"data-testid":t,actions:r,onFullEdit:n=null,entryData:s,formData:i,name:a,autoFocus:o})=>Array.isArray(r)?h.jsx(h.Fragment,{children:r.filter(l=>N.Component.show(l,i)).map(l=>h.jsx(I.Button,{id:e,"data-testid":t,onClick:()=>n(l?.page,s.id),classModifiers:l?.classModifiers||$n,"aria-label":N.FormPage.getConditionalText(l?.aria_label,s),name:a,autoFocus:o,children:l?.label||Fn},e))}):h.jsx(I.Button,{id:e,"data-testid":t,onClick:()=>n(r?.page,s.id),classModifiers:r?.classModifiers||$n,"aria-label":N.FormPage.getConditionalText(r?.aria_label,s),name:a,autoFocus:o,children:r?.label||Fn}),Bo=e=>{if(e.page)return e.page;const t=e.href||e.url;if(t)return t.split("/").pop()},pt=(e,t,r)=>{const n=t?.cya_link;return e!==!0&&n?{page:Bo(n)||t.id||"#",label:n.label||"Change",aria_suffix:n.aria_suffix,onAction:r}:null},$s=[R.ALERT,R.COLLECTION_SUMMARY,R.DETAILS,R.HEADING,R.HTML,R.INSET_TEXT],at=(e,t)=>{if(!e||$s.includes(e.type)||Object.prototype.hasOwnProperty.call(e,"show_on_cya")&&!e.show_on_cya)return!1;if(e.hideOnCyaWhenEmpty)if(e.type===R.COLLECTION){if(!se(t,e.full_path||e.fieldId)?.length)return!1}else{const r=se(t,e.fieldId);if(!r&&r!==!1&&r!==0)return!1}return e.type===R.CONTAINER?ht.show(e,t):qe.show(e,t)},Ms=e=>({...e,components:e.components.map(t=>Array.isArray(t.components)?{...t,components:t.components.map(r=>$s.includes(r.type)?null:{...r,...!r.full_path&&{full_path:`${t.full_path||`${e.full_path}.${t.fieldId}`}.${r.fieldId}`}}).filter(r=>!!r)}:{...t,...!t.full_path&&{full_path:`${e.full_path||e.fieldId}.${t.fieldId}`}})}),ko=(e,t)=>[{pageId:e.id,key:e.components[0].labels?.empty||"Nothing entered",required:e.required,action:pt(!1,e,t)}],qo=(e,t,r,n)=>({id:t.id,fieldId:t.id,type:R.CONTAINER,required:e.required,full_path:n,components:e.item.map(s=>({...s,label:I.Utils.interpolateString(s.label,{...t,index:r}),full_path:`${n}.${s.fieldId}`}))}),Ho=(e,t,r,n,s)=>{const i={...De,...e.labels};return i.item?{pageId:r,fieldId:e.fieldId,full_path:s,key:I.Utils.interpolateString(i.item,{...t,index:n}),type:"title",action:null}:null},Nr=(e,t,r,n,s)=>Array.isArray(r)&&r.length&&at(t,e.formData)?r.flatMap((i,a)=>{const o=(t.countOffset||0)+a+1,l=`${t.full_path||t.fieldId}[${a}]`;let u=qo(t,i,o,l);return u=Ms(u),[Ho(t,i,e.id,o,l),...Ne(e,u,i,n,s)]}).filter(i=>!!i):ko(e,n),Vo="hods-form-summary-card-details",Us=({masterPage:e,childCollections:t=[],formData:r,entryData:n,classModifiers:s,hideChildSectionTitles:i=!1,optionalFieldPlaceholder:a})=>{const o=N.classBuilder(Vo,s),l=B.useMemo(()=>t.map(d=>e.childPages.find(c=>c.collection?.name===d)).filter(d=>!!d),[e,t]),u=(d,c,f)=>{let m=0;return d.flatMap((A,T)=>{let v=0;const x=A.fields?.flatMap(S=>c.filter(b=>b.fieldId===S).map(b=>{if(!b||!Ce(b,{...f.formData,...n}))return null;if(b.type===R.CONTAINER){const q=Ne(f,b,n);return v+=1,h.jsx("div",{className:o("field"),style:{"--column":m+1,"--row":v},role:"list",children:q.map(E=>{const P={...n,[E.fieldId]:n[b.fieldId]?.[E.fieldId]};return tt(f,{...E,label:E.key},o,P,a)})},S)}if(b.type===R.COLLECTION){const q=Nr({...f,formData:{...f.formData,...n}},b,n[b.id]);v+=1;let E=0;return h.jsx("div",{className:o("field"),style:{"--column":m+1,"--row":v},role:"list",children:q.map(P=>{const L={...n,[P.fieldId]:n[b.fieldId]?.[P.fieldId]},M=tt(f,{...P,label:P.key},o,L,a);return P.type==="title"&&(E+=1,E>1)?h.jsx("div",{style:{marginTop:"40px"},children:M}):M})},S)}return v+=1,h.jsx("div",{className:o("field"),style:{"--column":m+1,"--row":v},role:"list",children:tt(f,b,o,n,a)},S)})).filter(S=>!!S);return!(T===d.length-1)&&x.length!==0?(m+=2,[...x,h.jsx("div",{className:o("divider"),style:{"--column":m}},`divider${m}`)]):x}).filter(A=>!!A)};return e?.childPages?.filter(d=>N.FormPage.show(d,{...r,...n})).map(d=>{const c=N.Component.elevateNested(d?.components,n);return d.summaryLayout?.sections.map(f=>{if(f.show_when&&!N.Condition.meetsAll(f.show_when,{...r,...n}))return null;if(f.type==="childCollection"){const A=l.find(v=>v.collection.name===f.collectionName),T=n[f.collectionName.split(".").pop()]||[];return A&&T.length>0?h.jsxs(h.Fragment,{children:[h.jsx("h3",{className:o("section-title"),children:f.title}),T.map(v=>h.jsx(Us,{masterPage:A,childMasterPages:[],formData:{...r,...n,...v},entryData:v,hideChildSectionTitles:!0,optionalFieldPlaceholder:a}))]}):null}const m=f.columns.filter(A=>le.meetsAll(A,{...d.formData,...n}));return h.jsxs("div",{className:o("section"),children:[!i&&h.jsx("h3",{className:o("section-title"),children:N.FormPage.getConditionalText(f.title,{...d.formData,...n})}),h.jsx("dl",{className:o("section-content"),style:{"--dividers":m.length-1},children:u(m,c,d)})]},f.title)})}).filter(d=>!!d)||null},Go="hods-form-summary-card",Fn="Change",Wo="Delete",Ko="Quick Edit",zo="Duplicate",Jo="Full details",$n="secondary",Mn=({id:e,entryData:t,config:r,classModifiers:n,onFullEdit:s,onDelete:i,onDuplicate:a,onQuickEdit:o,parentCollectionName:l,childCollections:u=[],formData:d,masterPage:c,hideDetails:f=!1})=>{const[m,A]=B.useState(!1),T=I.Utils.classBuilder(Go,n,r.className),v=B.useMemo(()=>r.quickEdit?No(c,d,t):null,[c,r,d,t,m]),{addErrors:x,resetQuickEditErrors:$,clearTopLevelErrorsForCard:S,validate:w}=Oe(),{hooks:b}=ge(),q=async(E,P)=>{if(E.type==="cancel"&&(A(L=>!L),$?.()),E.type==="save"&&typeof o=="function"){const L={...v.formData,...P,[`${l}ActiveId`]:t.id},M=w.page({...v,formData:L});if(M.length)return;let C;await b.onSubmit("quickEdit",L,()=>{},D=>{C=D}),C&&x(C);const H=M.concat(C);if(H.length===0||H.length===1&&H[0]===void 0){S();const D=N.CollectionPage.getData(l,d),{isDuplicate:y,...g}=D[t.index];D[t.index]={...g,...P},o({target:{name:l,value:D}}),A(_=>!_)}}};return r.listView?h.jsx(jo,{id:e,entryData:t,config:r,onFullEdit:s,onDelete:i,masterPage:c,classModifiers:n,optionalFieldPlaceholder:r.fullDetails?.optionalFieldPlaceholder}):h.jsxs("div",{className:T(),id:e,children:[h.jsxs("div",{className:T("header"),children:[h.jsxs("div",{className:T("header-content"),children:[r.banners&&h.jsx(Ns,{id:`BannerStrip${t.id}`,banners:r.banners,formData:t}),h.jsx("h2",{id:`${e}.titleText`,className:T("header-content-title"),children:N.FormPage.getTitle(r.title,t)}),r.details&&h.jsx("div",{id:`${e}.titleDetail`,className:T("header-content-detail"),children:N.FormPage.getConditionalText(r.details,t)})]}),h.jsxs("div",{className:T("header-actions"),children:[r.quickEdit&&h.jsx(I.Button,{"data-testid":"quickedit-button",id:`${e}.quickEditButton`,onClick:()=>A(E=>!E),classModifiers:"primary",disabled:m,name:"QuickEdit",autoFocus:r.focusOn,children:Ko}),r.changeAction&&typeof s=="function"&&h.jsx(Yo,{id:`${e}.changeButton`,"data-testid":"change-button",actions:r.changeAction,onFullEdit:s,entryData:t,formData:d,name:"Change",autoFocus:r.focusOn}),r.deleteAction&&typeof i=="function"&&h.jsx(I.Button,{id:`${e}.deleteButton`,onClick:()=>i(t),classModifiers:"secondary","aria-label":N.FormPage.getConditionalText(r.deleteAction?.aria_label,t),name:"Delete",children:r.deleteAction?.label||Wo}),r.duplicateAction&&typeof a=="function"&&h.jsx(I.Button,{"data-testid":"duplicate-button",id:`${e}.duplicateButton`,onClick:()=>{a(t)},classModifiers:"secondary","aria-label":N.FormPage.getConditionalText(r.duplicateAction?.aria_label,t),name:"Duplicate",autoFocus:r.focusOn,children:r.duplicateAction?.label||zo})]})]}),m&&v&&h.jsx(Or,{page:v,onAction:(E,P)=>q(E,P),className:T("editpage")}),h.jsx("div",{className:T("body"),children:!f&&h.jsx(I.Details,{summary:r.detailsTitle||Jo,className:"details",children:h.jsx(Us,{masterPage:c,childCollections:u,formData:d,entryData:t,optionalFieldPlaceholder:r.fullDetails?.optionalFieldPlaceholder})})})]})},Xo=({entryId:e,topLevelErrors:t=[],clearTopLevelErrorsForCard:r,children:n})=>{const{hooks:s}=ge(),i=t.filter(c=>c.entryId===e)||[],[a,o]=B.useState(null),l=()=>{o(null)},u=c=>{o(f=>(f??[]).concat(c))},d={page:c=>{const f=N.Validate.page(c),m=s.onValidate(c,f);return o(m),m}};return h.jsx(_r.Provider,{value:{addErrors:u,errors:a===null?[...i]:a,resetQuickEditErrors:l,clearTopLevelErrorsForCard:r,validate:d},children:n})},Un="Add",Qo=({config:e,formData:t,onAction:r,onChange:n,onTopLevelChange:s,pages:i=[]})=>{const{hooks:a}=ge(),{errors:o,addErrors:l,clearErrors:u,queuedErrors:d,enqueueErrors:c,dequeueErrors:f}=Oe(),[m,A]=B.useState(null),T=B.useMemo(()=>N.CollectionPage.getData(e.collectionName,t)||[],[t]),v=Array.isArray(T)&&T.length>0?T.reduce((P,L)=>L.isDuplicate&&(!P||L.id>P.id)?L:P,null):null,x=B.useMemo(()=>{const P=e.collectionName.split(".");let L=N.CollectionPage.mergePages(i||[])||[];return P.reduce((M,C,H)=>{const D=H===0?`${M}${C}`:`${M}.${C}`;return H===P.length-1?L?.find(y=>y.collection?.name===D)||null:(L=L.find(y=>y.collection?.name===D)?.childPages||null,D)},"")},[i]),$=B.useMemo(()=>e.card.listView?x.childPages?.reduce((L,M)=>{const C=Be(M.components,{...t,...m});return L.concat(C)},[])||[]:[],[x,t,m,e.card.listView]),S=()=>{d.length>0&&f(L=>L.raisedBy===e.id);const P=Pr(e,x,t,a);P.length>0&&c(P)};B.useEffect(()=>{Array.isArray(T)&&T.length>0&&S()},[T]);const w=(P,L)=>{if(typeof r=="function"){const M=[...T],C=T.findIndex(y=>y.id===L),{isDuplicate:H,...D}=T[C];M[C]={...D},r({type:Ze.SAVE_AND_NAVIGATE,page:P,addToFormData:[{field:`${e.collectionName.split(".").pop()}ActiveId`,value:L},{field:e.collectionName,value:M,isCollection:!0}]})}},b=P=>{N.CollectionPage.duplicateEntry(e.collectionName,t,P.id,e.card?.duplicateAction?.fieldsToIgnore||[],{isDuplicate:!0});const L=e.collectionName.split(".").shift();typeof s=="function"&&(s({target:{name:L,value:N.CollectionPage.getData(L,t)}}),S())},q=()=>{if(!m)return;N.CollectionPage.removeEntry(e.collectionName,t,m.id);const P=e.collectionName.split(".").shift();typeof s=="function"&&s({target:{name:P,value:N.CollectionPage.getData(P,t)}}),A(null),S()},E=P=>{const L=$.find(C=>C.fieldId===P);if(!L)return null;const M=At({...x,formData:{...t,...m}},L);return h.jsx("div",{className:"confirmation-field-value",children:h.jsx(wr,{value:M.value,component:M.component,formData:M.formData})},P)};return h.jsxs("div",{id:e.fieldId,children:[m&&h.jsx(wo,{id:`${e.fieldId}.confirmation`,message:N.interpolateString(e.confirmation?.message,{...m,index:m.index+1})||null,confirmLabel:N.interpolateString(e.confirmation?.label,m)||null,onConfirm:q,onCancel:()=>A(null),children:e.card.listView?h.jsx("div",{className:"confirmation-content",children:e.confirmation?.displayFields.map(E)}):h.jsx(Mn,{id:`${e.fieldId}.confirmationChild`,entryData:m,config:e.card?{...e.card,quickEdit:null}:{},masterPage:x,classModifiers:"nested",hideDetails:!0})}),!e.card.listView&&e.addButton&&h.jsx(pr,{id:`${e.fieldId}.addButton`,action:{collection:e.collectionName,label:N.interpolateString(e.addButton.label||Un,{documents:T}),page:e.addButton.page,type:Ze.COLLECTION_ADD,classModifiers:["secondary"]},onAction:r}),h.jsx("ul",{className:"collection-summary-card-list",children:T.map((P,L)=>{const M=o.filter(D=>D.entryId===P.id).length>0,C={...e.card,...P.isDuplicate&&e.duplicatedCard?e.duplicatedCard:{},...M&&e.errorCard?e.errorCard:{},focusOn:v?.id===P.id},H=`${e.fieldId}.summaryCard${P.id}`;return h.jsx("li",{children:h.jsx(Xo,{entryId:P.id,topLevelErrors:o,clearTopLevelErrorsForCard:()=>{const D=o.filter(y=>y.entryId!==P.id);u(),l(D)},children:h.jsx(Mn,{id:H,entryData:{...P,index:L},masterPage:x,config:C||{},onFullEdit:w,onDuplicate:b,onDelete:()=>A({...P,index:L}),onQuickEdit:D=>(S(),n(D)),parentCollectionName:e.collectionName.split(".").shift(),childCollections:e.childCollections||[],formData:t,classModifiers:P.id===m?.id?["deleting-summary-card"]:[""],inError:o.filter(D=>D.entryId===P.id).length>0},H)})})})}),e.card.listView&&e.addButton&&h.jsx(pr,{id:`${e.fieldId}.addButton`,action:{collection:e.collectionName,label:N.interpolateString(e.addButton.label||Un,{documents:T}),page:e.addButton.page,type:Ze.COLLECTION_ADD,classModifiers:["secondary"],customAction:{type:e.addButton.customAction}},onAction:r})]})},Zo="hods-form-collection",el=({config:e,value:t,formData:r,onChange:n=void 0,onTopLevelChange:s=void 0,wrap:i=!1})=>{const[a,o]=B.useState(t),l=T=>{o(T),typeof n=="function"&&n({target:{name:e.fieldId,value:T}})},u=({target:T})=>{if(typeof n=="function")if(T.name===N.Meta.name)n({target:T});else{const v=a.findIndex(x=>x.id===T.name);l([...a.slice(0,v),T.value,...a.slice(v+1)])}},d=async()=>{l([...a,{id:ct.v4()}])},c=async T=>{l(a.filter(v=>v.id!==T.id))},f=T=>T.initial&&!a.length?T.initial:T.add;B.useEffect(()=>{if(e.focusOnAdd&&Array.isArray(a)&&a.length&&(a.length>e.minimumEntries||!e.minimumEntries)){const T=a[a.length-1]?.id,x=document.getElementById(T)?.childNodes[0]?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');x&&x.length>0&&x[0].focus()}},[a.length,e.focusOnAdd,e.minimumEntries]),B.useEffect(()=>{e.minimumEntries&&!a.length&&d()},[e.minimumEntries,a.length]);const m={...De,...e.labels},A=N.classBuilder(Zo,[],e.className);return h.jsxs("div",{className:A(),id:e.id,children:[e.label&&h.jsx(I.Label,{id:e.id,required:e.required,className:A("title"),children:e.label}),Array.isArray(a)&&a.map((T,v)=>{const x=`${e.full_path||e.fieldId}[${v}]`,$=(e.countOffset||0)+v+1,S=N.interpolateString(m.item,{...T,index:$}),w=N.interpolateString(m.remove,{...T,index:$}),b=e.disableAddAndRemove||v===0&&e.minimumEntries?"":e.removeLocation??"start",q=v!==0&&e.subsequentItemStyle?e.subsequentItemStyle:{};return h.jsxs("div",{className:`${A("item")}`,style:q,children:[h.jsxs(I.Label,{id:T.id,required:!0,className:A("item-title"),children:[S,b==="start"&&h.jsx(I.Button,{onClick:()=>c(T),classModifiers:"secondary",children:w})]}),h.jsx(Ur,{container:{id:T.id,fieldId:T.id,type:"container",required:e.required,full_path:x,components:e.item.map(E=>{const{firstOnlyLabel:P,...L}=E;let{hint:M}=E;e.restrictHint&&v>0&&(M=void 0);let{label:C}=E;return v===0&&(C=E.firstOnlyLabel??E.label),{...L,hint:M,readonly:!!(e?.readonly||E.readonly),label:N.interpolateString(C,{...T,index:$}),full_path:`${x}.${E.fieldId}`}})},value:T,formData:r,onChange:u,onTopLevelChange:s,wrap:i}),b==="end"&&h.jsx(I.ButtonGroup,{className:"govuk-!-margin-top-2",children:h.jsx(I.Button,{onClick:()=>c(T),classModifiers:"secondary",children:w})})]},T.id)}),!e.disableAddAndRemove&&h.jsx(I.ButtonGroup,{children:h.jsx(I.Button,{onClick:d,classModifiers:"secondary",children:f(m)})})]})},tl=(e,t,r)=>{const n=e,s=typeof n.value=="object"?n.value?.value:n.value,i=r.find(a=>String(a.id)===s);return n.label=i===void 0?n.value||"":i.label,n.component=t.cya_label,n},rl=(e,t)=>typeof e=="string"?!!I.Utils.interpolateString(e,t):!!e,ar=(e,t)=>{if(Array.isArray(t)){const r=t.find(n=>n.id===(e.full_path||e.id));if(r){const n={error:r.error};return r.properties&&(n.propsInError=r.properties),n}}},nl=[R.RADIOS,R.CHECKBOXES,R.DATE,R.TIME],sl=e=>e.fieldset||nl.includes(e.type),Le=({component:e,value:t=null,formData:r=null,wrap:n=!0,onAction:s,onChange:i,onTopLevelChange:a,pages:o=[],submitting:l=!1,...u})=>{const{hooks:d}=ge(),c=Oe(),{data:f,status:m}=go(e,r),[A,T]=B.useState([]);B.useEffect(()=>{m===et&&T(f)},[e,f,m]);const v=({target:S})=>typeof i=="function"?(e.type===R.EMAIL&&(S.value=S.value.trim()),e.type===R.CHECKBOXES&&Array.isArray(S.value)&&S.value.forEach(w=>{w.children&&w.nested&&(delete w.children,delete w.nested)}),S=tl(S,e,f),e.type===R.SELECT&&S.value===""&&(S.value=null,S.label=null),i({target:S}),!0):!1;if(B.useEffect(()=>{const S=N.Component.defaultValue(e,r);!t&&!r?.[e.fieldId]&&S&&typeof v=="function"&&v({target:{name:e.fieldId,value:S}})},[]),e.type===R.CONTAINER){let S=h.jsx(Ur,{...u,container:e,wrap:n,onChange:v,onTopLevelChange:a,value:t||N.Component.defaultValue(e,r),formData:r});return e.fieldset&&(S=Ue(e,S)),e.additionalValidation&&(S=Ue({...e,...ar(e,c?.errors)},S)),S}if(e.type===R.COLLECTION)return h.jsx(el,{...u,config:e,wrap:n,onChange:v,onTopLevelChange:a,value:t||N.Component.defaultValue(e,r),formData:r});if(e.type===R.COLLECTION_SUMMARY)return Ue({...e,...ar(e,c?.errors)},h.jsx(Qo,{...u,config:e,formData:r,onAction:s,onChange:i,onTopLevelChange:a,pages:o}));const x=S=>{let w=e.full_path||e.fieldId;if(e.pageCollection){const b=N.CollectionPage.getActiveIndex(e.pageCollection.name,r);w=`${`${e.pageCollection.name}[${b}]`}.${w}`}a({target:{name:N.Meta.name,value:N.Meta.documents.setForField(S,r,w,e.allowMultiple)}})},$=({target:S})=>{if(v({target:S})){if(e.type===R.FILE)x([S.value]);else if(e.type===R.MULTI_FILE){const w=S.value.map((b,q)=>({...b,indexInField:q}));x(w)}}};return N.Component.get({...u,...e,id:e.full_path||e.id,...ar(e,c?.errors),fieldset:sl(e),disabled:rl(e.disabled,r),label:N.interpolateString(e.label,r),content:N.interpolateString(e.content,r),hint:N.interpolateString(e.hint,r),cya_label:N.interpolateString(e.cya_label,r),suffix:N.interpolateString(e.suffix,r),options:A,value:t,onChange:$,onTopLevelChange:a,formData:r,onAction:s,submitting:l},n,d.onGetComponent)},il=[R.AUTOCOMPLETE,R.CALCULATION,R.CHECKBOXES,R.COLLECTION_SUMMARY,R.DATE,R.EMAIL,R.FILE,R.MULTI_FILE,R.PHONE_NUMBER,R.RADIOS,R.SELECT,R.TEXT,R.TEXT_AREA,R.TIME],js=e=>il.includes(e?.type)||e?.isEditable||!1,al="govuk-list",ol="govuk-body",ll=e=>{const t=te(e),r=I.Utils.interpolateString(e.heading,e.formData),n=I.Utils.interpolateString(e.text,e.formData);return h.jsx(I.Alert,{...t,heading:r,children:n})},ul=e=>{const t=te(e),r=fe.getAutocompleteSource(e);return h.jsx(I.Autocomplete,{...t,source:r})},cl=e=>{let t=[];fe.getOptions(e,n=>{t=n}),t=t.map(n=>Array.isArray(n.nested)?{...n,children:Ys(e,n.nested)}:n);const r=te(e);return h.jsx(I.Checkboxes,{...r,options:t})},dl=e=>{const t=fe.applyFormula(e);typeof e.onChange=="function"&&t!==e.value&&e.onChange({target:{name:e.fieldId,value:t}});const r=te(e,["formula"]);return h.jsx(I.TextInput,{...r,readonly:!0})},fl=e=>{const t=te(e);return h.jsx(I.DateInput,{...t})},hl=e=>{const t=te(e,["tagName"]),r=Et(e);return h.jsx(I.Details,{...t,children:r})},ml=e=>{const t=te(e);return h.jsx(I.FileUpload,{...t})},pl=e=>{const t=te(e);return h.jsx(I.MultiFileUpload,{...t})},El=e=>{const t=te(e);return h.jsx(I.Heading,{...t,children:e.content})},Et=e=>{const t=te(e);return h.jsx(I.Markup,{...t})},Al=e=>{const t=te(e);return h.jsx(I.InsetText,{...t,children:e.content})},vl=e=>{const t=te(e,["ordered"]),r=e.ordered?"ol":"ul",n=e.ordered?"number":"bullet",s=I.Utils.classBuilder(al,n),i=t.items?.map(a=>`<li>${a}</li>`).join("");return Et({...t,className:s(),tagName:r,content:i,type:R.HTML})},yl=e=>{const t=te(e);return Et({className:ol,...t,tagName:"p",type:R.HTML})},Tl=e=>{let t=[];fe.getOptions(e,n=>{t=n}),t=t.map(n=>Array.isArray(n.nested)?{...n,children:Ys(e,n.nested)}:n);const r=te(e);return h.jsx(I.Radios,{...r,options:t})},Sl=e=>{const t=te(e);return h.jsx(I.TextArea,{...t})},Cl=e=>{const t=te(e);return h.jsx(I.TextInput,{...t})},gl=e=>{const t=te(e);return h.jsx(I.TimeInput,{...t})},xl=e=>{let t=[];fe.getOptions(e,n=>{t=n});const r=te(e);return h.jsx(I.Select,{...r,options:t})},Il=e=>{const t=te(e);return h.jsx(I.WarningText,{...t,children:e.content})},_l=e=>{switch(e.type){case R.HTML:return Et(e);case R.HEADING:return El(e);case R.INSET_TEXT:return Al(e);case R.TEXT:case R.EMAIL:case R.PHONE_NUMBER:return Cl(e);case R.TEXT_AREA:return Sl(e);case R.AUTOCOMPLETE:return ul(e);case R.RADIOS:return Tl(e);case R.CHECKBOXES:return cl(e);case R.DATE:return fl(e);case R.TIME:return gl(e);case R.FILE:return ml(e);case R.MULTI_FILE:return pl(e);case R.WARNING:return Il(e);case R.SELECT:return xl(e);case R.DETAILS:return hl(e);case R.CALCULATION:return dl(e);case R.ALERT:return ll(e);case R.PARAGRAPH:return yl(e);case R.LIST:return vl(e);default:return null}},Pl=(e,t)=>{const r={...t};if(e.full_path){const n=e.full_path.split(".");n.pop(),n.push(r.fieldId),r.full_path=n.join(".")}return e.formData&&(r.value=e.formData[r.fieldId]||fe.getSource(e.formData,r.full_path)||""),"readonly"in r&&delete r.readonly,e.readonly?(r.readonly=e.readonly,h.jsx("div",{children:Bs(r,!1)})):h.jsx(Le,{component:r,value:r.value,onChange:e.onChange,onTopLevelChange:e.onChange,formData:e.formData},r.key)},Ys=(e,t)=>{const r=t.filter(n=>!(n.show_when&&!le.meetsAll(n.show_when,e.formData))).map(n=>h.jsx(h.Fragment,{children:Pl(e,n)},n.id));return r.length>0?r:null},Bs=(e,t=!0,r=void 0)=>{if(typeof r=="function"){const s=r(e,t);if(s)return s}const n=_l(e);return n&&t&&js(e)?Ue(e,n):n};var rt={exports:{}},wl=rt.exports,jn;function bl(){return jn||(jn=1,(function(e,t){(function(r,n){e.exports=n()})(wl,(function(){var r=1e3,n=6e4,s=36e5,i="millisecond",a="second",o="minute",l="hour",u="day",d="week",c="month",f="quarter",m="year",A="date",T="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(y){var g=["th","st","nd","rd"],_=y%100;return"["+y+(g[(_-20)%10]||g[_]||g[0])+"]"}},S=function(y,g,_){var F=String(y);return!F||F.length>=g?y:""+Array(g+1-F.length).join(_)+y},w={s:S,z:function(y){var g=-y.utcOffset(),_=Math.abs(g),F=Math.floor(_/60),O=_%60;return(g<=0?"+":"-")+S(F,2,"0")+":"+S(O,2,"0")},m:function y(g,_){if(g.date()<_.date())return-y(_,g);var F=12*(_.year()-g.year())+(_.month()-g.month()),O=g.clone().add(F,c),j=_-O<0,k=g.clone().add(F+(j?-1:1),c);return+(-(F+(_-O)/(j?O-k:k-O))||0)},a:function(y){return y<0?Math.ceil(y)||0:Math.floor(y)},p:function(y){return{M:c,y:m,w:d,d:u,D:A,h:l,m:o,s:a,ms:i,Q:f}[y]||String(y||"").toLowerCase().replace(/s$/,"")},u:function(y){return y===void 0}},b="en",q={};q[b]=$;var E="$isDayjsObject",P=function(y){return y instanceof H||!(!y||!y[E])},L=function y(g,_,F){var O;if(!g)return b;if(typeof g=="string"){var j=g.toLowerCase();q[j]&&(O=j),_&&(q[j]=_,O=j);var k=g.split("-");if(!O&&k.length>1)return y(k[0])}else{var p=g.name;q[p]=g,O=p}return!F&&O&&(b=O),O||!F&&b},M=function(y,g){if(P(y))return y.clone();var _=typeof g=="object"?g:{};return _.date=y,_.args=arguments,new H(_)},C=w;C.l=L,C.i=P,C.w=function(y,g){return M(y,{locale:g.$L,utc:g.$u,x:g.$x,$offset:g.$offset})};var H=(function(){function y(_){this.$L=L(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[E]=!0}var g=y.prototype;return g.parse=function(_){this.$d=(function(F){var O=F.date,j=F.utc;if(O===null)return new Date(NaN);if(C.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var k=O.match(v);if(k){var p=k[2]-1||0,U=(k[7]||"0").substring(0,3);return j?new Date(Date.UTC(k[1],p,k[3]||1,k[4]||0,k[5]||0,k[6]||0,U)):new Date(k[1],p,k[3]||1,k[4]||0,k[5]||0,k[6]||0,U)}}return new Date(O)})(_),this.init()},g.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},g.$utils=function(){return C},g.isValid=function(){return this.$d.toString()!==T},g.isSame=function(_,F){var O=M(_);return this.startOf(F)<=O&&O<=this.endOf(F)},g.isAfter=function(_,F){return M(_)<this.startOf(F)},g.isBefore=function(_,F){return this.endOf(F)<M(_)},g.$g=function(_,F,O){return C.u(_)?this[F]:this.set(O,_)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(_,F){var O=this,j=!!C.u(F)||F,k=C.p(_),p=function(he,ee){var de=C.w(O.$u?Date.UTC(O.$y,ee,he):new Date(O.$y,ee,he),O);return j?de:de.endOf(u)},U=function(he,ee){return C.w(O.toDate()[he].apply(O.toDate("s"),(j?[0,0,0,0]:[23,59,59,999]).slice(ee)),O)},Y=this.$W,G=this.$M,V=this.$D,K="set"+(this.$u?"UTC":"");switch(k){case m:return j?p(1,0):p(31,11);case c:return j?p(1,G):p(0,G+1);case d:var re=this.$locale().weekStart||0,me=(Y<re?Y+7:Y)-re;return p(j?V-me:V+(6-me),G);case u:case A:return U(K+"Hours",0);case l:return U(K+"Minutes",1);case o:return U(K+"Seconds",2);case a:return U(K+"Milliseconds",3);default:return this.clone()}},g.endOf=function(_){return this.startOf(_,!1)},g.$set=function(_,F){var O,j=C.p(_),k="set"+(this.$u?"UTC":""),p=(O={},O[u]=k+"Date",O[A]=k+"Date",O[c]=k+"Month",O[m]=k+"FullYear",O[l]=k+"Hours",O[o]=k+"Minutes",O[a]=k+"Seconds",O[i]=k+"Milliseconds",O)[j],U=j===u?this.$D+(F-this.$W):F;if(j===c||j===m){var Y=this.clone().set(A,1);Y.$d[p](U),Y.init(),this.$d=Y.set(A,Math.min(this.$D,Y.daysInMonth())).$d}else p&&this.$d[p](U);return this.init(),this},g.set=function(_,F){return this.clone().$set(_,F)},g.get=function(_){return this[C.p(_)]()},g.add=function(_,F){var O,j=this;_=Number(_);var k=C.p(F),p=function(G){var V=M(j);return C.w(V.date(V.date()+Math.round(G*_)),j)};if(k===c)return this.set(c,this.$M+_);if(k===m)return this.set(m,this.$y+_);if(k===u)return p(1);if(k===d)return p(7);var U=(O={},O[o]=n,O[l]=s,O[a]=r,O)[k]||1,Y=this.$d.getTime()+_*U;return C.w(Y,this)},g.subtract=function(_,F){return this.add(-1*_,F)},g.format=function(_){var F=this,O=this.$locale();if(!this.isValid())return O.invalidDate||T;var j=_||"YYYY-MM-DDTHH:mm:ssZ",k=C.z(this),p=this.$H,U=this.$m,Y=this.$M,G=O.weekdays,V=O.months,K=O.meridiem,re=function(ee,de,ue,Ae){return ee&&(ee[de]||ee(F,j))||ue[de].slice(0,Ae)},me=function(ee){return C.s(p%12||12,ee,"0")},he=K||function(ee,de,ue){var Ae=ee<12?"AM":"PM";return ue?Ae.toLowerCase():Ae};return j.replace(x,(function(ee,de){return de||(function(ue){switch(ue){case"YY":return String(F.$y).slice(-2);case"YYYY":return C.s(F.$y,4,"0");case"M":return Y+1;case"MM":return C.s(Y+1,2,"0");case"MMM":return re(O.monthsShort,Y,V,3);case"MMMM":return re(V,Y);case"D":return F.$D;case"DD":return C.s(F.$D,2,"0");case"d":return String(F.$W);case"dd":return re(O.weekdaysMin,F.$W,G,2);case"ddd":return re(O.weekdaysShort,F.$W,G,3);case"dddd":return G[F.$W];case"H":return String(p);case"HH":return C.s(p,2,"0");case"h":return me(1);case"hh":return me(2);case"a":return he(p,U,!0);case"A":return he(p,U,!1);case"m":return String(U);case"mm":return C.s(U,2,"0");case"s":return String(F.$s);case"ss":return C.s(F.$s,2,"0");case"SSS":return C.s(F.$ms,3,"0");case"Z":return k}return null})(ee)||k.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(_,F,O){var j,k=this,p=C.p(F),U=M(_),Y=(U.utcOffset()-this.utcOffset())*n,G=this-U,V=function(){return C.m(k,U)};switch(p){case m:j=V()/12;break;case c:j=V();break;case f:j=V()/3;break;case d:j=(G-Y)/6048e5;break;case u:j=(G-Y)/864e5;break;case l:j=G/s;break;case o:j=G/n;break;case a:j=G/r;break;default:j=G}return O?j:C.a(j)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return q[this.$L]},g.locale=function(_,F){if(!_)return this.$L;var O=this.clone(),j=L(_,F,!0);return j&&(O.$L=j),O},g.clone=function(){return C.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},y})(),D=H.prototype;return M.prototype=D,[["$ms",i],["$s",a],["$m",o],["$H",l],["$W",u],["$M",c],["$y",m],["$D",A]].forEach((function(y){D[y[1]]=function(g){return this.$g(g,y[0],y[1])}})),M.extend=function(y,g){return y.$i||(y(g,H,M),y.$i=!0),M},M.locale=L,M.isDayjs=P,M.unix=function(y){return M(1e3*y)},M.en=q[b],M.Ls=q,M.p={},M}))})(rt)),rt.exports}var Dl=bl();const J=ke(Dl),Ol=e=>e.defaultValue||e.defaultObjectValue,Ll=e=>{const r=/^(\d{1,2})-\d{1,2}-(\d{4})$/.test(e.defaultValue)?e.defaultValue:null;return e.defaultValue==="today"?J().format("DD-MM-YYYY"):r},Nl=(e,t)=>{const r={...e};let n=null;return!r.literal&&!r.sourced&&(r.sourced={...r}),r.literal&&(n={...r.literal}),r.sourced&&(n=n??{},Object.keys(r.sourced).every(s=>{const i=typeof r.sourced[s]=="string"&&se(t,r.sourced[s]);return i===void 0&&r.skipIfSourceInvalid?(n=null,!1):(n[s]=i||r.sourced[s],!0)})),n},ks=(e,t)=>Ol(e)?e.type===R.DATE?Ll(e):(e.defaultObjectValue?Nl(e.defaultObjectValue,t):null)||e.defaultValue||null:null,Rl={[R.COLLECTION]:[],[R.CONTAINER]:{}},Fl=(e,t)=>e&&(ks(e,t)||Rl[e.type])||"",qe={clean:te,defaultValue:Fl,defaultValueFromConfig:ks,editable:js,elevateNested:Be,get:Bs,setupContainerPaths:Ms,show:Ce,wrap:Ue},$l=(e,t)=>{e.data?.options?.forEach(r=>{Array.isArray(r.nested)&&Ye(t.formData[e.id],r)&&r.nested.forEach(n=>{const s=n;s.value=t.formData[s.id]})})},At=(e,t,r)=>{let n="";return e.formData&&t.fieldId&&(n=e.formData[t.fieldId],$l(t,e)),{pageId:e.id,id:t.id,fieldId:t.fieldId,full_path:t.full_path,key:I.Utils.interpolateString(t.cya_label||t.label,e.formData),required:t.required,component:qe.editable(t)?t:void 0,value:n||"",action:e.cya_link?.singleChangeLink?null:pt(t.readonly,e,r)}},Ne=(e,t,r,n,s)=>at(t,{...e.formData,...r})?Be(t.components.filter(a=>a.show_on_cya===void 0||a.show_on_cya),r).filter(a=>at(a,{...e.formData,...r})).flatMap(a=>{const o=r?r[a.fieldId]:void 0;if(typeof s=="function"){const l=s({...e,formData:r},a,n);if(l)return l}return a.type===R.CONTAINER?Ne(e,a,{...o,...r},n,s):a.type===R.COLLECTION?Nr(e,a,o,n,s):At({...e,formData:r},a,n)}):null,Ml=e=>{if(!e.conditionalProperties)return e;let t={...e};return e.conditionalProperties.forEach(r=>{N.Condition.met(r.condition,e.formData[r.condition.field])&&(t=Object.assign(t,r.properties))}),t},Yn=(e,t,r="text")=>{if(typeof e=="string")return I.Utils.interpolateString(e,t);if(!Array.isArray(e)||Object.keys(t).length===0)return null;const n=e.find(s=>typeof s=="string"?!0:we(s.show_when,t));return typeof n=="string"?I.Utils.interpolateString(n,t):I.Utils.interpolateString(n[r],t)},Ul=e=>{const t={...e};return t.page||(t.href?t.page=t.href.split("/").pop():t.url&&(t.page=t.url.split("/").pop())),t},jl=e=>{if(e&&Array.isArray(e.actions))return e.actions.map(t=>{if(typeof t=="string")return X.DEFAULTS[t];if(t&&typeof t=="object"){const r=t;return X.DEFAULTS[r.type]?.validate&&!r.hasOwnProperty("validate")&&(r.validate=!0),Ul(r)}}).filter(t=>!!t)},Yl=e=>({type:R.HTML,tagName:"p",content:e}),Bl=(e,t)=>{const r=e.use.split("."),n=r.shift();let s=JSON.parse(JSON.stringify({...t.find(o=>o.id===n)})),i=s,a=s;for(;i&&r.length>0;){const o=r.shift();Array.isArray(i.components)?(a=i,a.components=a.components.filter(l=>l.id===o),a.components.length>0?i=a.components[0]:i=void 0):i=void 0}if(i)return i={cya_label:i.label,...i,...e},a&&a.id!==i.id?a.components=[i]:s=i,i.item&&Array.isArray(i.item)&&(i.item=i.item.map(o=>o.use?Ar(o,t):o)),s},Ar=(e,t)=>{if(e){const r=Bl(e,t);if(r)return r}return{...e}},qs=(e,t,r)=>{if(!e)return null;const n=e.components.map(i=>{if(typeof i=="string")return Yl(i);let a;return i.type===R.CONTAINER&&(i.components=i.components.map(o=>o.use?Ar(o,t):o)),i.use?a=Ar(i,t):a={...i},r?fe.refData.setupUrl(a,r):a}),s=jl(e);return ht.setup({...e,formData:r,components:n,actions:s})},kl=(e,t,r)=>Array.isArray(e)?e.map((n,s)=>({...qs(n,t,r),index:s})):[],Hs=(e,t)=>e?.hasOwnProperty("show_on_cya")&&!e.show_on_cya?!1:mt(e,t),He={applyConditionalProperties:Ml,getConditionalText:Yn,get:qs,getAll:kl,getTitle:(e,t)=>Yn(e,t,"title"),show:mt,showCYA:Hs},ql=(e,t)=>{if(!e)return null;if(!t)return e;const r={...e};return r.show_when?Array.isArray(t)?r.show_when=Array.isArray(r.show_when)?[...t,...r.show_when]:[...t,r.show_when]:r.show_when=Array.isArray(r.show_when)?[...r.show_when,t]:[r.show_when,t]:r.show_when=t,r},Hl=(e,t)=>{const r=e.split(".").pop();t[`${r}ActiveId`]=null},vt=(e,t)=>{const r=e.split(".").pop();return t[`${r}ActiveId`]||null},Vl=e=>typeof e=="number"&&e>=0,Vs=(e,t,r)=>{const n=e[0];if(e.length===1)return t[n]||null;const s=r?.[`${n}ActiveId`]||null;if(!s)return null;const i=t[n]?.findIndex(a=>a.id===s);return Vl(i)?(e.shift(),Vs(e,t[n][i],r)):null},Re=(e,t)=>{const r=e.split(".");return Vs(r,t,t)},Gs=(e,t,r,n=[],s={})=>{const i=Re(e,t),a=i?.find(d=>d.id===r);if(!a)return null;const o=ct.v4(),l={...a,...s,id:o};n.forEach(d=>delete l[d]);const u=i.findIndex(d=>d.id===r)+1;return u===-1?i.push(l):i.splice(u,0,l),t[`${e.split(".").pop()}ActiveId`]=l.id,o},Gl=(e,t)=>{const r=vt(e,t);return Gs(e,t,r)},Wl=e=>typeof e=="number"&&e>=0,Ws=(e,t,r)=>{const n=e[0],s=r?.[`${n}ActiveId`]||null;if(!s)return null;const i=t[n]?.findIndex(a=>a.id===s);return Wl(i)?e.length===1?i:(e.shift(),Ws(e,t[n][i],r)):null},Ks=(e,t)=>{const r=e.split(".");return Ws(r,t,t)},Kl=e=>({id:e.id,name:e.name,...e.collection.show_when&&{show_when:e.collection.show_when},orderInForm:e.orderInForm,deleteCollectionWhenHidden:e.deleteCollectionWhenHidden,collection:{masterPage:!0,...e.collection},formData:{...e.formData},childPages:[e]}),zl=(e,t)=>{t.collection={...t.collection,...e.collection},t.formData={...t.formData,...e.formData},t.childPages=[...t.childPages,e]},Jl=(e,t)=>{const r=e.collection.name.split(".");if(r.length===1)return!1;r.pop();const n=r.join("."),s=t[n]||null;return s?(s.childPages.push(e),s.childPages.sort((i,a)=>i.orderInForm-a.orderInForm),!0):!1},zs=e=>{const t={};return e.map((n,s)=>{if(n.orderInForm=s,n?.collection?.name){if(!t[n.collection.name]){const i=Kl(n);return t[n.collection.name]=i,i}return zl(n,t[n.collection.name]),null}return n}).filter(n=>!!n).map(n=>n.collection?.masterPage&&Jl(n,t)?null:n).filter(n=>!!n)},Xl=(e,t,r)=>{const n=Re(e,t);if(!n)return null;const s=n.findIndex(o=>o.id===r);if(s===-1)return null;const i=n[s];n.splice(s,1);const a=t;return a[`${e}ActiveId`]=n.length>0?n[0].id:null,i},Ql=e=>typeof e=="number"&&e>=0,Rr=(e,t,r)=>{const n=e.split("."),s=n[n.length-1];let i=r;n.some(a=>{if(i[a]||(i[a]=[]),!i[a].find(u=>u.id===r[`${a}ActiveId`])){const u=ct.v4();r[`${a}ActiveId`]=r[`${a}ActiveId`]||u,i[a].push({id:r[`${a}ActiveId`]})}if(a===s)return i[s]=t,!0;const o=r[`${a}ActiveId`],l=i[a]?.findIndex(u=>u.id===o);return Ql(l)?(i=i[a][l],!1):!0})},ot={addEntry:Hl,duplicateActiveEntry:Gl,duplicateEntry:Gs,getActiveId:vt,getActiveIndex:Ks,getData:Re,getErrorsForCollection:Pr,mergePages:zs,removeEntry:Xl,setData:Rr},Zl=e=>typeof e=="number"&&e>=0,eu=(e,t,r,n,s,i)=>{const a=s?.label||De.remove;return{pageId:e.id,fieldId:`delete${n}`,key:`delete${n}`,type:"action",action:{onAction:()=>{r(null,l=>{const u=l;if(!i)return u;Object.entries(i).forEach(f=>{const[m,A]=f;u[m]=A});const d=ot.getData(e.collection.name,u),c=d?.findIndex(f=>f.id===t.id);return Zl(c)&&d.splice(c,1),u})},label:I.Utils.interpolateString(a,{...t,index:n})}}},tu=(e,t,r,n,s,i={})=>{const a=s?.label||De.change;return{pageId:e.id,fieldId:`change${n}${s.page}`,key:`change${n}${s.page}`,type:"action",action:{onAction:o=>{const l=u=>{const d=u;return Object.entries(i).forEach(c=>{const[f,m]=c;d[f]=m}),d};r(s.page?{pageId:s.page}:o,l)},label:I.Utils.interpolateString(a,{...t,index:n})}}},ru=(e,t)=>t.show_when?we(t.show_when,e):!0,nu=(e,t,r,n)=>({id:t.id,fieldId:t.id,type:R.CONTAINER,required:!0,full_path:n,components:e.components.map(s=>({...s,label:I.Utils.interpolateString(s.label,{...t,index:r}),full_path:`${n}.${s.fieldId}`}))}),su=(e,t,r,n,s)=>{const i={...De,...e.collection.labels};return{pageId:r,fieldId:"Title",full_path:`${s}.Title`,key:I.Utils.interpolateString(i.item,{...t,index:n}),type:"heading",size:e.collection.titleSize||"s"}},iu=(e,t,r,n,s)=>e.text===""?null:{pageId:t,fieldId:`heading${r}`,full_path:`heading${r}`,key:I.Utils.interpolateString(e.text,s),type:n===null?"heading":"headingWithAction",size:e.size||"s",action:n===null?null:{onAction:n,label:"Change"}},au=(e,t,r,n)=>({pageId:e.id,fieldId:`${e.collection.name}Title`,full_path:`${e.collection.name}Title`,key:r?.text||t.charAt(0).toUpperCase()+t.slice(1),type:n==null?"heading":"headingWithAction",size:r?.size||"m",action:n===null?null:{onAction:n,label:"Change"}}),ou=(e,t,r,n,s,i={})=>e.collection?.actions?.filter(a=>ru(s,a)).map(a=>a.type==="remove"?eu(e,t,r,n,a,i):a.type==="change"?tu(e,t,r,n,a,i):null).filter(a=>!!a),Js=(e,t,r={})=>()=>{const n=s=>{const i=s;return Object.entries(r).forEach(a=>{const[o,l]=a;i[o]=l}),i};t({pageId:e.id},n)},lu=(e,t,r,n,s,i,a)=>{let o=[];return e.forEach(l=>{let u=l;if(u.collection.masterPage)o=o.concat(Xs(u,r,n,t,a));else if(u.collection.route&&(u=ql(u,u.collection.route)||u),Hs(u,{...u.formData,...t})){const d=Js(u,r,a);if(u.collection.heading){const m=u.collection.heading.changeLink?d:null,A=iu(u.collection.heading,u.id,s,m,t);o=o.concat(A)}const c=nu(u,t,s,i),f=Ne({...u,formData:{...u.formData,...t}},c,{...u.formData,...t},d,n);o=o.concat(f)}}),o},Xs=(e,t,r,n,s={})=>{const i=e.collection.name.split(".").pop();let a=n[i]||null;const o=n[`${i}ActiveId`];if(!a||a.length===0)return[];let l=[];if(!e.collection.hideNameFromCYA){const f=e.collection.collectionHeading?.changeLinkPage?Js({id:e.collection.collectionHeading.changeLinkPage},t,s):null;l.push(au(e,i,e.collection.collectionHeading,f))}let u=0;const d=Array.isArray(e.collection.hideItemTitles)?we(e.collection.hideItemTitles,n):e.collection.hideItemTitles;return(Array.isArray(e.collection.onlyShowActiveEntryOnCYA)?we(e.collection.onlyShowActiveEntryOnCYA,n):e.collection.onlyShowActiveEntryOnCYA)&&(a=[a.find((m,A)=>(u=A,m.id===o))]),a.forEach(f=>{if(!f)return;s={...s,[`${i}ActiveId`]:f.id};const m=u+1,A=e.collection?.actionPosition||"top",T=`${e.collection.name}[${u}]`,v=ou(e,f,t,m,n,s);if(!d){const x=su(e,f,e.id,m,T);l=l.concat(x)}A==="top"&&(l=l.concat(v)),l=l.concat(lu(e.childPages,f,t,r,m,T,s)),A==="bottom"&&(l=l.concat(v)),u+=1}),l.filter(f=>!!f)},uu=e=>e.value?e.component?h.jsx("div",{children:h.jsx(Le,{component:{...e.component,readonly:!0},wrap:!1,value:e.value})},e.id):e.value:null,cu=(e,t)=>{let r=-1;return{value:h.jsx(h.Fragment,{children:e.components.map(s=>{const i=t.findIndex(a=>a.id===s);return r<0&&(r=i),i>-1?uu(t[i]):null})}),firstComponentIndex:r}},du=(e,t,r,n)=>{const{value:s,firstComponentIndex:i}=cu(t,r);return{row:{pageId:e.id,fieldId:t.id,key:t.label,required:t.required,value:s,action:pt(!1,e,n)},insertAt:i}},fu=(e,t,r=null)=>{if(He.showCYA(e,e.formData)){if(e.collection)return Xs(e,t,r,e.formData);const s=Be(e.components,e.formData).filter(i=>at(i,e.formData)).flatMap(i=>{if(typeof r=="function"){const a=r(e,i,t);if(a)return a}switch(i.type){case R.CONTAINER:return Ne(e,i,e.formData[i.fieldId],t,r);case R.COLLECTION:return Nr(e,i,e.formData[i.fieldId],t,r);default:return At(e,i,t)}});if(e.groups?.length>0){e.groups.forEach(a=>{const{row:o,insertAt:l}=du(e,a,s,t);l>-1?s.splice(l,0,o):s.push(o)});const i=e.groups.flatMap(a=>a.components);return s.filter(a=>!i.includes(a.id))}return s}return[]},hu={getRows:fu,getCYARowsForContainer:Ne},Qs=(e,t)=>{if(e&&t)switch(e.type){case"lowercase":return t.toLowerCase();case"uppercase":return t.toUpperCase();default:return t}return t},Zs=(e,t,r)=>{const n=t;e.format&&e.format.on===r&&(n[e.fieldId]=Qs(e.format,n[e.fieldId]))},ei=(e,t,r)=>{e.forEach(n=>Zs(n,t,r))},ti=(e,t,r)=>{ei(e.components,t,r)},mu=(e,t,r)=>{e.forEach(n=>ti(n,t,r))},pu=(e,t,r)=>{const n={...t};return ei(e.components,n,r),mu(e.pages,n,r),n},Eu={component:Zs,data:Qs,form:pu,page:ti},Au=(e,t,r,n)=>{if(e===ne.HUB&&t){if(t.format===pe.CYA)return pe.CYA;if(t.components)return He.get(t,r,n)}if(e===ne.TASK||e===ne.FORM_WITH_TASK)return pe.TASK},vu={get:Au},Fr="meta",$r="documents",vr=e=>e?.[Fr]?.[$r]||[],yu=(e,t,r,n)=>{const s=n?vr(t):vr(t).filter(a=>a.field!==r);return Array.isArray(e)&&e.forEach(a=>{s.push({...a,field:r})}),{...t?t[Fr]:void 0,[$r]:s}},Tu={setForField:yu,get:vr,name:$r},Su={documents:Tu,name:Fr},Cu=(e,t)=>{if(e?.field){const r=I.Utils.interpolateString(e.field,t);return!!se(t,r)}return!1},or=(e,t)=>{if(e?.value)return e.value;const r=I.Utils.interpolateString(e?.field,t);return se(t,r)},gu=(e,t)=>{if(!e||!t)return null;const r=I.Utils.interpolateString(e.target,t),n=se(t,r),s=or(e,t),i=or(e.cutoff,t),a=or(e.ignore,t);let o=null;return n&&s&&Array.isArray(n)&&n.every((l,u)=>u===i?!1:u===a?!0:l===s||e.key&&se(l,e.key)===s?(o=u,!1):!0),typeof o=="number"?o.toString():o},xu=(e,t,r)=>{let n;if(e?.field){const s=I.Utils.interpolateString(e.field,t);n=se(t,s)}else n=e?.value;n!=null&&e.name&&t[e.name]!==n&&r({target:{name:e.name,value:n}})},Iu=(e,t)=>{if(e?.field){const r=I.Utils.interpolateString(e.field,t);return se(t,r)||null}return e?.value||null},_u=(e,t,r)=>{const n=t;e?.field&&e?.component&&(delete n[e.field],r({target:{name:e.field,value:null,component:e.component}}))},Pu=(e,t)=>{if(e?.condition){const r=e,n=I.Utils.interpolateString(r.field,t),s=se(t,n);switch(r.condition){case"changes":{const i=`${n}LastValue`,a=r[i]||null;return a===null?(r[i]=s,!1):s!==a?(r[i]=s,!0):!1}case"isTruthy":return!!s;case"isFalsy":return!s;default:return!1}}return!0},wu=(e,t)=>{if(e?.fields){let r;return e.fields.find(n=>{const s=I.Utils.interpolateString(n,t),i=se(t,s);return i?(r=i,!0):!1}),r||(e.fallback?I.Utils.interpolateString(e.fallback,t):"")}return e?.value||null},bu=(e,t)=>{if(!e||!t)return null;const r=e.target.split(".");let n="";r.forEach(a=>{if(n!==""&&(n+="."),a.slice(-2)==="[]"){const o=a.slice(0,-2),l=Ks(o,t);n+=`${o}[${l}]`}else n+=a});const s=I.Utils.interpolateString(n,t);return se(t,s)?.length||0},Du=(e,t)=>{const r=I.Utils.interpolateString(e.target,t),n=se(t,r);return n&&Array.isArray(n)?n.some(s=>e.key?se(s,e.key)===e.value:s===e.value):n&&typeof n=="object"?se(n,e.key)===e.value:!1},Ou={checkValueIsTruthy:Cu,getIndexOfMatchingValueIn:gu,doesContainValue:Du,persistValueInFormData:xu,setValueInFormData:Iu,deleteValueInFormData:_u,getLength:bu,getFirstOf:wu},Lu=(e,t,r)=>{const n=Ou[e.function];if(typeof n=="function")return n(e,t,r)},Nu=(e,t,r)=>(e?.operations&&t&&e.operations.forEach(n=>{if(Pu(n.run_when,t)){const s=Lu(n,t,r);if(n.output){const i=I.Utils.interpolateString(n.output,t).replace("[",".").replace("]","");fs(t,i,s)}}}),t),Ru={runPageOperations:Nu},Fu=(e,t,r,n)=>!(e!==t.base&&n[t.check]),$u=(e,t,r)=>{const n=e[r.id]?.[t.base],s=e[r.id]?.[t.check],i=s&&s?.length>0;return!!(n||i)};var nt={exports:{}},Mu=nt.exports,Bn;function Uu(){return Bn||(Bn=1,(function(e,t){(function(r,n){e.exports=n()})(Mu,(function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,s=/\d/,i=/\d\d/,a=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(v){return(v=+v)+(v>68?1900:2e3)},d=function(v){return function(x){this[v]=+x}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(v){(this.zone||(this.zone={})).offset=(function(x){if(!x||x==="Z")return 0;var $=x.match(/([+-]|\d\d)/g),S=60*$[1]+(+$[2]||0);return S===0?0:$[0]==="+"?-S:S})(v)}],f=function(v){var x=l[v];return x&&(x.indexOf?x:x.s.concat(x.f))},m=function(v,x){var $,S=l.meridiem;if(S){for(var w=1;w<=24;w+=1)if(v.indexOf(S(w,0,x))>-1){$=w>12;break}}else $=v===(x?"pm":"PM");return $},A={A:[o,function(v){this.afternoon=m(v,!1)}],a:[o,function(v){this.afternoon=m(v,!0)}],Q:[s,function(v){this.month=3*(v-1)+1}],S:[s,function(v){this.milliseconds=100*+v}],SS:[i,function(v){this.milliseconds=10*+v}],SSS:[/\d{3}/,function(v){this.milliseconds=+v}],s:[a,d("seconds")],ss:[a,d("seconds")],m:[a,d("minutes")],mm:[a,d("minutes")],H:[a,d("hours")],h:[a,d("hours")],HH:[a,d("hours")],hh:[a,d("hours")],D:[a,d("day")],DD:[i,d("day")],Do:[o,function(v){var x=l.ordinal,$=v.match(/\d+/);if(this.day=$[0],x)for(var S=1;S<=31;S+=1)x(S).replace(/\[|\]/g,"")===v&&(this.day=S)}],w:[a,d("week")],ww:[i,d("week")],M:[a,d("month")],MM:[i,d("month")],MMM:[o,function(v){var x=f("months"),$=(f("monthsShort")||x.map((function(S){return S.slice(0,3)}))).indexOf(v)+1;if($<1)throw new Error;this.month=$%12||$}],MMMM:[o,function(v){var x=f("months").indexOf(v)+1;if(x<1)throw new Error;this.month=x%12||x}],Y:[/[+-]?\d+/,d("year")],YY:[i,function(v){this.year=u(v)}],YYYY:[/\d{4}/,d("year")],Z:c,ZZ:c};function T(v){var x,$;x=v,$=l&&l.formats;for(var S=(v=x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(M,C,H){var D=H&&H.toUpperCase();return C||$[H]||r[H]||$[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(y,g,_){return g||_.slice(1)}))}))).match(n),w=S.length,b=0;b<w;b+=1){var q=S[b],E=A[q],P=E&&E[0],L=E&&E[1];S[b]=L?{regex:P,parser:L}:q.replace(/^\[|\]$/g,"")}return function(M){for(var C={},H=0,D=0;H<w;H+=1){var y=S[H];if(typeof y=="string")D+=y.length;else{var g=y.regex,_=y.parser,F=M.slice(D),O=g.exec(F)[0];_.call(C,O),M=M.replace(O,"")}}return(function(j){var k=j.afternoon;if(k!==void 0){var p=j.hours;k?p<12&&(j.hours+=12):p===12&&(j.hours=0),delete j.afternoon}})(C),C}}return function(v,x,$){$.p.customParseFormat=!0,v&&v.parseTwoDigitYear&&(u=v.parseTwoDigitYear);var S=x.prototype,w=S.parse;S.parse=function(b){var q=b.date,E=b.utc,P=b.args;this.$u=E;var L=P[1];if(typeof L=="string"){var M=P[2]===!0,C=P[3]===!0,H=M||C,D=P[2];C&&(D=P[2]),l=this.$locale(),!M&&D&&(l=$.Ls[D]),this.$d=(function(F,O,j,k){try{if(["x","X"].indexOf(O)>-1)return new Date((O==="X"?1e3:1)*F);var p=T(O)(F),U=p.year,Y=p.month,G=p.day,V=p.hours,K=p.minutes,re=p.seconds,me=p.milliseconds,he=p.zone,ee=p.week,de=new Date,ue=G||(U||Y?1:de.getDate()),Ae=U||de.getFullYear(),_e=0;U&&!Y||(_e=Y>0?Y-1:de.getMonth());var Pe,Ve=V||0,Ge=K||0,$e=re||0,W=me||0;return he?new Date(Date.UTC(Ae,_e,ue,Ve,Ge,$e,W+60*he.offset*1e3)):j?new Date(Date.UTC(Ae,_e,ue,Ve,Ge,$e,W)):(Pe=new Date(Ae,_e,ue,Ve,Ge,$e,W),ee&&(Pe=k(Pe).week(ee).toDate()),Pe)}catch{return new Date("")}})(q,L,E,$),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),H&&q!=this.format(L)&&(this.$d=new Date("")),l={}}else if(L instanceof Array)for(var y=L.length,g=1;g<=y;g+=1){P[1]=L[g-1];var _=$.apply(this,P);if(_.isValid()){this.$d=_.$d,this.$L=_.$L,this.init();break}g===y&&(this.$d=new Date(""))}else w.call(this,b)}}}))})(nt)),nt.exports}var ju=Uu();const Fe=ke(ju),Yu=e=>/^-?\d+$/.test(e),lt=e=>Yu(e)?e.padStart(2,"0"):"",ye=e=>{const[t,r,n]=e.split("-");return`${lt(t)}-${lt(r)}-${n}`},ri=e=>{const[t,r]=e.split(":");return`${lt(t)}:${lt(r)}`},ve="DD-MM-YYYY";J.extend(Fe);const Bu=(e,t)=>{const r=t.date?J(ye(t.date),ve):J().add(t.value,t.unit);return J(ye(e),ve).isAfter(r)};J.extend(Fe);const ku=(e,t)=>{const r=t.date?J(ye(t.date),ve):J().add(t.value,t.unit);return J(ye(e),ve).isBefore(r)};J.extend(Fe);const qu=(e,t,r)=>{const n=r.components?.find(u=>u.fieldId===t.date),s=r.components?.find(u=>u.fieldId===t.time);if(!n||!s||!e)return!1;const i=e[r.fieldId]?.[t.date],a=e[r.fieldId]?.[t.time];if(!i||!a||je(n,e[r.fieldId],e[r.fieldId])||je(s,e[r.fieldId],e[r.fieldId]))return!0;const o=ye(e[r.fieldId]?.[t.date]),l=ri(e[r.fieldId]?.[t.time]);return J(`${o} ${l}`,`${ve} HH:mm`).isBefore(J())};var st={exports:{}},Hu=st.exports,kn;function Vu(){return kn||(kn=1,(function(e,t){(function(r,n){e.exports=n()})(Hu,(function(){return function(r,n,s){n.prototype.isToday=function(){var i="YYYY-MM-DD",a=s();return this.format(i)===a.format(i)}}}))})(st)),st.exports}var Gu=Vu();const Mr=ke(Gu);J.extend(Fe);J.extend(Mr);const Wu=(e,t)=>{const r=J(ye(e),ve).isBefore(J()),n=J(ye(e),ve).isToday();return r&&!n?!0:n&&!!t?.todayAllowed};J.extend(Fe);J.extend(Mr);const Ku=(e,t)=>J(ye(e),ve).isAfter(J())?!0:!!t?.todayAllowed&&J(ye(e),ve).isToday(),zu=(e,t)=>e?e.length>t.value:!0,Ju=(e,t)=>e?e.length<t.value:!0,Xu=(e,t)=>{if(!e)return!0;const r=typeof e=="string"?e.replace(/,/g,""):e;return parseFloat(r)>t.value},Qu=(e,t)=>{if(!e)return!0;const r=typeof e=="string"?e.replace(/,/g,""):e;return parseFloat(r)<t.value},Zu=(e,t)=>e?(t?.allowCommas?/^[0-9,]*\.?[0-9]*$/:/^[0-9]*\.?[0-9]*$/).test(e):!0,ec=(e,t)=>e?t.array.includes(e):!0,tc=(e,t,r,n)=>{if(!e||!n)return!0;const s=vt(t.collectionPath,n);return!Re(t.collectionPath,n)?.some(o=>o.id===s?!1:t.caseInsensitive&&typeof e=="string"&&typeof o[r.id]=="string"?o[r.id].toUpperCase()===e.toUpperCase():o[r.id]===e)},rc=(e,t,r)=>r.components?.some(n=>!!e[r.id]?.[n.id]),nc=(e,t)=>!e||!e.includes(".")?!0:e.split(".")[1].length<t.maxDecimals,sc=/(%27)|(')|(--)|(%23)|(#)|((%3D)|(=))[^\n]*((%27)|(')|(--)|(%3B)|(;))|w*((%27)|('))((%6F)|o|(%4F))((%72)|r|(%52))|((%27)|('))union/i,ic=e=>{if(e){const t=typeof e=="object"?JSON.stringify(e):String(e);return!sc.test(t)}return!1},ac=(e,t,r)=>r.components?.reduce((s,i)=>e[r.id]?.[i.id]?Array.isArray(e[r.id][i.id])&&e[r.id][i.id].length===0?s:s+1:s,0)<2,oc={conditionallyPermittedChange:Fu,conditionallyRequired:$u,mustBeAfter:Bu,mustBeBefore:ku,mustBeEarlierDateTime:qu,mustBeGreaterThan:Xu,mustBeInTheFuture:Ku,mustBeInThePast:Wu,mustBeLessThan:Qu,mustBeLongerThan:zu,mustBeNumbersOnly:Zu,mustBeOneOf:ec,mustBeShorterThan:Ju,mustBeUniqueInCollection:tc,mustEnterAtLeastOne:rc,mustHaveLessThanDecimalPlaces:nc,mustNotContainSql:ic,mustSelectOnlyOne:ac},lc=(e,t,r,n)=>{const s=oc[t.function],i=t.objectValueToUse?e[t.objectValueToUse]:e;if(typeof s=="function")return s(i,t,r,n)?void 0:t.message},ni=(e,t,r)=>{if(t&&Array.isArray(e.additionalValidation)){let n;return e.additionalValidation.forEach(s=>{n||(n=lc(t,s,e,r))}),n}},ut=(e,t,r)=>{if(!e)return[];const n=r||t,s=ni(e,n);if(s)return{id:e.id,error:s};const i=[];if(Array.isArray(e.components)){const a=t&&e.fieldId?t[e.fieldId]:t;Be(e.components,a).forEach(l=>{const u=e.full_path||e.fieldId?`${e.full_path||e.fieldId}.${l.fieldId}`:l.fieldId;i.push(je({...l,full_path:u},a,n))})}return i.flat(1).filter(a=>!!a)},uc=(e,t,r)=>{const n=[];return e&&Array.isArray(e.item)&&Array.isArray(t)&&t.forEach((s,i)=>{const a=(e.countOffset||0)+i+1,o=`${e.full_path||e.fieldId}[${i}]`,l={full_path:o,components:e.item.map(u=>{const d={...u,full_path:`${o}.${u.fieldId}`};return u.custom_errors&&Array.isArray(u.custom_errors)&&(d.custom_errors=u.custom_errors.map(c=>({...c,message:I.Utils.interpolateString(i===0&&c.firstOnlyMessage?c.firstOnlyMessage:c.message,{index:a})}))),d})};n.push(ut(l,s,r))}),n.filter(s=>!!s).flat()};var it={exports:{}},cc=it.exports,qn;function dc(){return qn||(qn=1,(function(e,t){(function(r,n){e.exports=n()})(cc,(function(){return function(r,n){n.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}))})(it)),it.exports}var fc=dc();const hc=ke(fc);J.extend(Fe);J.extend(Mr);J.extend(hc);const mc=(e,t)=>e==="02"?J().year(t).isLeapYear()?29:28:["04","06","09","11"].includes(e)?30:31,si=e=>{if(!e)return{message:void 0,propsInError:void 0};const t=ye(e),[r,n,s]=t.split("-"),i=parseInt(r,10),a=parseInt(n,10),o=[],l=[];if(s.length===0?(o.push("year"),l.push("Date must include a year")):s.length!==4&&(o.push("year"),l.push("Year must be 4 numbers")),n.length===0?(o.push("month"),l.push("Date must include a month")):(a>12||a<1)&&(o.push("month"),l.push("Month must be between 1 and 12")),r.length===0)o.push("day"),l.push("Date must include a day");else{const u=mc(n,s);(i>u||i<1)&&(o.push("day"),l.push(`Day must be between 1 and ${u}`))}if(o.length>0){const u={};return o.includes("day")&&(u.day=!0),o.includes("month")&&(u.month=!0),o.includes("year")&&(u.year=!0),{message:o.length===1?l[0]:"Enter a valid date",propsInError:u}}return J(t,ve).format(ve)!==t?{message:"Enter a valid date",propsInError:{day:!0,month:!0,year:!0}}:{message:void 0,propsInError:void 0}},pc=/^[a-z0-9._\-']+@(digital\.)?homeoffice.gov.uk$/i,Ec=/^[a-z0-9._\-']+@jmsc.gov.uk$/i,ii=(e,t="",r=[])=>{if(e){const n=t?t.toLowerCase():"email address";if(typeof e=="string"&&(pc.test(e)||Ec.test(e)))return;if(Array.isArray(r)){const s=r.filter(i=>i.type==="format");if(s&&s.length>0&&s[0].message)return s[0].message}return`Enter ${n} in the correct format, like jane.doe@homeoffice.gov.uk`}},Ac="Invalid files must be deleted",ai=(e,t)=>{if(!e)return;let r=!1;if(e.every(n=>(r=n.error,!r)),r){if(Array.isArray(t)){const n=t.filter(s=>s.type==="invalidFile");if(n&&n.length>0&&n[0].message)return n[0].message}return Ac}},oi=(e,t,r,n)=>{if(e){if(typeof e=="string"){if(new RegExp(r).test(e))return;if(Array.isArray(n)){const i=n.filter(a=>a.type==="pattern");if(i?.[0]?.message)return i[0].message}}return t?`${t} failed regex validation`:"Component failed regex validation"}},li=(e,t,r)=>{let n=!1;if((e||e===!1||e===0)&&(n=!0,typeof e=="string"?n=e.trim().length>0:Array.isArray(e)&&(n=e.length>0)),!n){if(Array.isArray(r)){const i=r.filter(a=>a.type==="required");if(i&&i.length>0&&i[0].message)return i[0].message}return`${t||"Field"} is required`}},ui=(e,t,r,n,s,i=1e3)=>{if(!r||!s&&!t)return;if(s&&!t||t.length>i){if(Array.isArray(n)){const o=n.filter(l=>l.type==="length");if(o&&o.length>0&&o[0].message)return o[0].message}return`${e} must be ${i} characters or less`}},ci=e=>{if(!e)return{message:void 0,propsInError:void 0};const t=ri(e),[r,n]=t.split(":"),s=parseInt(r,10),i=parseInt(n,10),a=[],o=[];if(/^\d{0,2}:\d{0,2}$/.test(e)||(a.push("invalid"),o.push("Enter a valid time")),r.length===0?(a.push("hour"),o.push("Time must include a hour")):(s>23||s<0)&&(a.push("hour"),o.push("Hour must be between 0 and 23")),n.length===0?(a.push("minute"),o.push("Time must include a minute")):(i>59||i<0)&&(a.push("minute"),o.push("Minute must be between 0 and 59")),a.length>0){const u={};return a.includes("hour")&&(u.hour=!0),a.includes("minute")&&(u.minute=!0),a.includes("invalid")&&(u.invalid=!0),{message:a.length>1?"Enter a valid time":o[0],propsInError:u}}return{message:void 0,propsInError:void 0}},vc=(e,t)=>e?.type==="or"?le.meetsOne(e.conditions,t):le.meetsAll(e.conditions,t),je=(e,t,r)=>{const n=r||t;if(!Ce(e,{...n,...t}))return;if(e.type===R.CONTAINER)return ut(e,t,n);let s,i,o=(t&&typeof t=="object"?t:{})[e.fieldId];if(e.type===R.COLLECTION_SUMMARY&&(o=Re(e.collectionName,n)),e.required&&(!e.requiredOverrideConditions||!vc(e.requiredOverrideConditions,n))&&(s=li(o,e.label,e.custom_errors)),!s){switch(e.type){case R.COLLECTION:return uc(e,o,n);case R.EMAIL:s=ii(o,e.label,e.custom_errors);break;case R.DATE:case R.TIME:{const l=e.type===R.DATE?si:ci,{message:u,propsInError:d}=l(o);i=d,s=u;break}case R.CHECKBOXES:case R.RADIOS:{let l=[];if(e.data.options?.forEach(u=>{u.nested&&Ye(r[e.id],u)&&(l=l.concat(ut({components:u.nested},r)))}),l.length>0)return l;break}case R.MULTI_FILE:s=ai(o,e.custom_errors);break;case R.TEXT_AREA:s=ui(e.label,o,e.showCharacterCount,e.custom_errors,e.required,e.maxLength);break}!s&&e.pattern&&(s=oi(o,e.label,e.pattern,e.custom_errors)),!s&&e.additionalValidation&&(s=ni(e,o,r),e.type===R.DATE&&s&&(i={day:!0,month:!0,year:!0}))}if(s)return{id:e.full_path||e.id,error:s,properties:i}},yc=(e,t=[])=>{let r=e.formData;if(e.collection){const n=ot.getActiveIndex(e.collection.name,e.formData);n!==null&&(r={...e.formData,...ot.getData(e.collection.name,e.formData)?.[n]})}return mt(e,r)&&Array.isArray(e.components)?e.components.reduce((s,i)=>{if(!Ce(i,r))return s;const o=(t.length>0?t.filter(l=>l.showFor?l.showFor===i.id:l.id===i.id):[]).concat(je(i,r,r));return s.concat(o).flat().map(l=>l&&{...l,error:I.Utils.interpolateString(l.error,r)})},[]).filter(s=>!!s).flat():[]},Tc={component:je,container:ut,email:ii,date:si,multifile:ai,page:yc,regex:oi,required:li,textarea:ui,time:ci},N={CheckYourAnswers:hu,CollectionPage:ot,Component:qe,Condition:le,Container:ht,Data:fe,Format:Eu,FormPage:He,Hub:vu,Meta:Su,Operate:Ru,Validate:Tc,...I.Utils},Sc="hods-form-container",Ur=({container:e,value:t=void 0,formData:r,onChange:n=void 0,wrap:s=!0,onTopLevelChange:i=void 0,...a})=>{const o=({target:c})=>{if(typeof n=="function")if(c.name===N.Meta.name)n({target:c});else{const f={...t,[c.name]:c.value};n({target:{name:e.fieldId,value:f}})}},l=c=>{const f=`${e.full_path||e.fieldId}.${c.fieldId}`;return c.type===R.CONTAINER?N.Container.show({...c,full_path:f},r):N.Component.show({...c,full_path:f},{...r,...se(r,e.full_path)})},u=N.classBuilder(Sc,[],e.className),d=I.Utils.cleanHtmlAttributes(a);return h.jsxs("div",{...d,className:u(),id:e.id,children:[e.title&&h.jsx(I.MediumHeading,{children:e.title}),e.components&&e.components.filter(l).map((c,f)=>{const m=c.type===R.FILE?{}:"",A=t?t[c.fieldId]:m,T=`${e.full_path||e.fieldId}.${c.fieldId}`;return h.jsx(Le,{...a,component:{...c,full_path:T,readonly:!!(e.readonly||c.readonly)},formData:r,value:A||m,wrap:s,onChange:o,onTopLevelChange:i},f)})]})},Cc=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,"action")){if(typeof e.action.onAction=="function")return{onClick:()=>e.action.onAction(e),onKeyPress:t=>{t.key==="Enter"&&e.action.onAction(e)},tabIndex:"0"};if(e.action.page)return{href:`/${e.action.page}`}}return{}},Hn=({group:e})=>{const[t,r]=B.useState({});return B.useEffect(()=>{r(Cc(e))},[e,r]),e?.action?h.jsxs(I.Link,{...t,"aria-label":`${e.action.label} ${e.action.aria_suffix}`,children:[e.action.label,e.action.aria_suffix&&h.jsxs("span",{className:"mobile-text govuk-link",children:[" ",`${e.action.aria_suffix}`]})]}):null},gc=({title:e,size:t="m",classes:r})=>h.jsxs("div",{className:`${r("heading")}`,role:"listitem",children:[t==="s"&&h.jsx(I.SmallHeading,{children:e}),t==="m"&&h.jsx(I.MediumHeading,{children:e})]}),xc=({row:e,classes:t,noChangeAction:r=!1})=>h.jsxs("div",{className:t("headingWithAction"),role:"listitem",children:[h.jsxs("td",{className:"heading-text",colSpan:"2",children:[e.size==="s"&&h.jsx(I.SmallHeading,{children:e.key}),e.size==="m"&&h.jsx(I.MediumHeading,{children:e.key})]}),h.jsx("td",{className:"heading-action",children:!r&&h.jsx(Lr,{row:{action:e.action}})})]}),Ic="govuk-summary-list",yr=({rows:e,noChangeAction:t=!1,noGroupAction:r=!1,isGroup:n=!1,classBlock:s=Ic,classModifiers:i=[],className:a="",showGroupAction:o=!0,...l})=>{const u=I.Utils.classBuilder(s,i,a),d=I.Utils.cleanHtmlAttributes(l);let c=null;if(n){const f=e.filter(m=>!!m.action);c=f?.length?f[0]:null}return h.jsx("div",{className:"group-of-rows",children:h.jsxs("div",{...d,className:u(),role:"list",children:[e.map(f=>{const m=`${f.pageId}_${f.full_path||f.fieldId}`;return f.type==="title"?h.jsx(Fs,{title:f.key,classes:u},m):f.type==="heading"?h.jsx(gc,{title:f.key,size:f.size||"s",classes:u},m):f.type==="headingWithAction"?h.jsx(xc,{row:f,classes:u,noChangeAction:t},m):f.type==="action"?t?null:h.jsx("div",{children:h.jsx(Hn,{group:f})},`${m}-actions`):h.jsx(Rs,{row:f,classes:u,showAction:!t},m)}).filter(f=>!!f),o&&n&&!r&&h.jsx("div",{className:"change-group-button",children:h.jsx(Hn,{group:c})})]})})},_c="hods-check-your-answers",Pc="Check your answers",Vn=9,wc=({title:e=Pc,titleSize:t="l",pages:r,actions:n=[],onAction:s,onRowAction:i,hide_page_titles:a=!1,hide_actions:o=!1,hide_title:l=!1,summaryListClassModifiers:u,noChangeAction:d,noGroupAction:c,groups:f,sections:m=[],type:A,hideBlankRows:T=!1,optionalFieldPlaceholder:v})=>{const[x,$]=B.useState([]),[S,w]=B.useState([]),{errors:b}=Oe(),{hooks:q}=ge();B.useEffect(()=>{const y=(F,O)=>N.CheckYourAnswers.getRows(F,i,q.onGetCYARows).map((k,p)=>({...k,value:h.jsx(wr,{value:k.value,component:k.component,formData:F.formData,placeholder:v},`${O}_${p}`)})),_=N.CollectionPage.mergePages(r).map((F,O)=>{const j=y(F,O);return j?.length?{...F,rows:j}:null}).filter(F=>!!F);$(_)},[r,i,$]);const E=a?0:Vn,P=y=>y===x.length-1;B.useEffect(()=>{(()=>{const g=Array.isArray(f)?f.map(_=>_.pageId):[];w(g)})()},[w,f]);const L=q.onGetCYA({title:e,pages:r,actions:n,onAction:s,onRowAction:i,hidePageTitles:a,hideActions:o,hideTitle:l,summaryListClassModifiers:u,noChangeAction:d,noGroupAction:c,groups:f,errors:b,sections:m,type:A});if(L)return L;const M=y=>S.includes(y),C=y=>f?.find(g=>g.pageId===y),H=(y,g)=>{if(!y.cya_link?.singleChangeLink||d)return h.jsxs(h.Fragment,{children:[g==="s"&&h.jsx(I.SmallHeading,{children:N.FormPage.getTitle(y.title,y.formData)}),g==="m"&&h.jsx(I.MediumHeading,{children:N.FormPage.getTitle(y.title,y.formData)})]});const _=pt(!1,y,i);return h.jsxs("div",{className:"heading-with-action",children:[h.jsxs("div",{className:"heading-text",children:[g==="s"&&h.jsx(I.SmallHeading,{children:N.FormPage.getTitle(y.title,y.formData)}),g==="m"&&h.jsx(I.MediumHeading,{children:N.FormPage.getTitle(y.title,y.formData)})]}),h.jsx("div",{className:"heading-action",children:h.jsx(Lr,{row:{action:_}})})]})},D=()=>Array.from(new Set(b.map(g=>g.id))).map(g=>b.find(_=>_.id===g));return h.jsxs("div",{className:_c,children:[e&&!l&&h.jsx(I.Heading,{size:t,children:e},"heading"),b&&b.length>0&&h.jsx(I.ErrorSummary,{errors:D()}),A===ne.TASK_CYA&&x.length>0&&m&&m.map(y=>y.tasks.filter(g=>g.state!==z.TYPES.SKIPPED).map((g,_)=>{const F=x.filter(O=>g.pages.some(j=>j===O.name));return h.jsxs(B.Fragment,{children:[h.jsx(I.MediumHeading,{children:F.length>0&&(g.displayName||g.name)}),F.map((O,j)=>{const k=M(O.id)||d,p=!a&&O.title&&!M(O.id);return h.jsxs(B.Fragment,{children:[p&&H(O,"s"),h.jsx(yr,{rows:O.rows,classModifiers:u,noChangeAction:k,noGroupAction:c,isGroup:M(O.id)})]},j)})]},_)})),A!==ne.TASK_CYA&&x&&x.map((y,g,_)=>{const F=!T||y.collection?y.rows:y.rows.filter(Y=>Y?.value?.props?.value);if(F.length===0)return null;const O=!a&&y.title&&!M(y.id),j=P(g)||M(_[g].id)||_.length>g+1&&M(_[g+1].id)?Vn:E,k=M(y.id)?C(y.id):void 0,p=`govuk-!-margin-bottom-${j}`,U=M(y.id)||d;return h.jsxs(B.Fragment,{children:[O&&H(y,"m"),k&&h.jsx("div",{className:"group-title",children:h.jsx(I.MediumHeading,{children:k.title||N.FormPage.getTitle(y.title,y.formData)})}),h.jsx(yr,{className:p,rows:F,classModifiers:u,noChangeAction:U,noGroupAction:c,isGroup:M(y.id)})]},g)}),!o&&h.jsx(Dr,{actions:n?.filter(y=>N.Component.show(y,r[r.length-1].formData)),onAction:y=>s(y)})]})},bc=Ls,Dc=({page:e,pages:t,onCollectionChange:r=void 0,onAction:n,hashLink:s=!1,classBlock:i=bc,classModifiers:a=[],className:o="",submitting:l=!1})=>{const[u,d]=B.useState({});let c=N.CollectionPage.getData(e.collection.name,e.formData)||[];const f=e.collection.name.split(".").pop();let m=N.CollectionPage.getActiveIndex(e.collection.name,e.formData);const A=e,T=({target:b})=>{N.CollectionPage.setData(A.collection.name,b.value,e.formData),c=b.value;const q=e.collection.name.split(".").shift();d(E=>({...E,[q]:N.CollectionPage.getData(q,e.formData)}))},v=({target:b})=>{A.formData[b.name]=b.value,d(q=>({...q,[b.name]:b.value}))},x=b=>{T({target:{value:b}}),typeof r=="function"&&r(e.formData)},$=b=>{m=c.length,v({target:{name:`${f}ActiveId`,value:b}})},S=b=>{n(b,u,{})},w=({target:b})=>{if(m===null){const q=ct.v4();$(q),x([...c,{id:q,[b.name]:b.value}])}else x([...c.slice(0,m),{...c[m],[b.name]:b.value},...c.slice(m+1)])};return e.collection?.waitForFormData&&e.formData&&Object.keys(e.formData).length===0?null:h.jsx(Or,{page:{...e,formData:{...e.formData,...c[m],[`${f}ActiveIndex`]:m,[`${f}NumberedIndex`]:typeof m=="number"?m+1:null},components:e.components.map(b=>({...b,pageCollection:{...e.collection}}))},pages:t,onAction:S,onWrapperChange:w,onTopLevelChange:v,hashLink:s,classBlock:i,classModifiers:a,className:o,submitting:l})},Oc="hods-task-list",Lc=({state:e=z.TYPES.CANNOT_START_YET})=>{const t=I.Utils.classBuilder(Oc,void 0,void 0),r=z.DETAILS[e]||z.DETAILS.cannotStartYet;return h.jsx(I.Tag,{classModifiers:r.colour,className:t("tag"),children:r.label})},Nc="hods-task-list",Rc=({task:e,onClick:t})=>{const r=I.Utils.classBuilder(Nc,void 0,void 0),[n,s]=B.useState(e.state!==z.TYPES.CANNOT_START_YET),[i,a]=B.useState(e.state);B.useEffect(()=>{s(e.state!==z.TYPES.CANNOT_START_YET),a(e.state)},[e.state,s,a]);const o=e.displayName||e.name;return h.jsxs("li",{className:r("item"),children:[h.jsx("span",{className:r("task-name"),children:n?h.jsx(I.Link,{onClick:()=>t(e),onKeyPress:l=>{l.key==="Enter"&&t(e)},tabIndex:0,children:o}):o}),h.jsx(Lc,{state:i})]})},Fc="hods-task-list",$c="Incomplete form",Mc=({id:e="",refTitle:t,refNumber:r,notes:n={},incompleteTitle:s=$c,showCompletionOverview:i=!0,sections:a,fieldId:o="",onTaskAction:l,classBlock:u=Fc,classModifiers:d=[],className:c="",formData:f={},annotations:m=[],...A})=>{const T=I.Utils.classBuilder(u,d,c),v=I.Utils.cleanHtmlAttributes(A),[x,$]=a.filter(E=>!E.skipped).reduce((E,P)=>[E[0]+(P.tasks?.filter(L=>L.state===z.TYPES.COMPLETE).length??0),E[1]+(P.tasks?.filter(L=>L.state!==z.TYPES.SKIPPED).length??0)],[0,0]),S=`${e}Notes`,{title:w,text:b}=n&&n||{},q=E=>{typeof l=="function"&&l(E)};return h.jsxs("div",{...v,id:e,className:T(),children:[r&&t&&h.jsxs(h.Fragment,{children:[h.jsx("p",{className:"govuk-body govuk-!-margin-bottom-0",children:h.jsx("strong",{className:"tasklist-summary",children:`${t}`})}),h.jsx("p",{className:"govuk-body govuk-!-font-weight-regular",children:`${r}`})]}),m.length>0&&m.map(E=>h.jsxs("div",{className:T("annotation"),children:[h.jsx("p",{className:`${T("annotation-key")} govuk-body`,children:I.Utils.interpolateString(E.key,f)}),h.jsx("p",{className:`${T("annotation-value")} govuk-body`,children:I.Utils.interpolateString(E.value,f)})]},E.key)),i&&$!==x&&h.jsx("p",{className:"govuk-body govuk-!-margin-bottom-0",children:h.jsx("strong",{className:"tasklist-summary",children:s})}),i&&h.jsx("p",{className:"govuk-body govuk-!-margin-bottom-7",children:`You have completed ${x} of ${$} sections`}),w&&b&&Ce(n,f)&&h.jsxs(h.Fragment,{children:[h.jsx("p",{className:"govuk-body govuk-!-margin-bottom-0",children:h.jsx("strong",{className:"tasklist-summary",children:I.Utils.interpolateString(w,f)})}),h.jsx(I.TextArea,{id:S,fieldId:S,readOnly:!0,value:I.Utils.interpolateString(b,f)})]}),a.filter(E=>!E.skipped).map((E,P)=>h.jsxs(B.Fragment,{children:[h.jsxs("h2",{className:T("section"),children:[a.length>1?`${P+1}. `:" ",E.name]}),E.label&&h.jsx(I.Hint,{children:E.label}),h.jsx("ol",{className:T("items"),children:E.tasks.filter(L=>L.state!==z.TYPES.SKIPPED).map(L=>h.jsx(Rc,{task:L,onClick:q},`${E.name}-${L.name}`))})]},`${E.name}`))]})},di=(e,t)=>e?.page||t,Uc=(e,t,r)=>{const n=di(e.action,e.pageId);n!==t&&r(n)},jc=(e,t,r,n=void 0)=>{const s=di(e,t);s!==t&&r(s,n)},Yc=(e,t)=>{t(e)},Ee={cyaAction:Uc,navigate:jc,submissionError:Yc},Bc=(e,t,r,n)=>e.validate?e.checkPreexistingErrors&&n.length!==0?!1:r(t).length===0:!0,kc=(e,t)=>t(e).length===0,qc=["radios","checkboxes"],Hc=(e,t)=>{const r=e.split("."),n={};return r.forEach(s=>{n[`${s}ActiveId`]=t[`${s}ActiveId`]}),n};function Vc(e,t){const r=[];return e?.data?.options?.forEach(n=>{!Ye(t,n)&&n.nested&&n.nested.forEach(s=>{r.push(s.id)})}),r}const fi=(e,t)=>{let r=e;if(t.components.forEach(n=>{if(!qc.includes(n.type))return;Vc(n,r[n.id]).forEach(i=>{delete r[i]})}),t.collection){r={...Hc(t.collection.name,t.formData),...r};const n=Re(t.collection.name,r);if(n){const s=vt(t.collection.name,r),i=n.map(a=>a.id===s?fi(a,{...t,collection:void 0}):a);Rr(t.collection.name,i,r)}}return r},Gc=(e,t,r)=>{if(e===ae.HUB&&r===pe.CYA)return{title:""};if(e===ae.CYA)return{};const n=t?.find(s=>s.id===e);if(n?.type===ae.PARTIAL_CYA){const s=N.FormPage.applyConditionalProperties(n);return{title:s.title,hideChangeActions:s.hideChangeActions,hideGroupActions:s.hideGroupActions}}},hi=(e,t,r)=>{if(e)return e===ae.HUB?r===pe.CYA||r===pe.TASK?void 0:r:t.find(n=>n.id===e)},Wc=(e,t,r)=>({pageId:e,cya:Gc(e,t,r),page:hi(e,t,r)}),Gn=(e,t)=>e.slice(0,e.findIndex(r=>r?.id===t)),Kc=(e,t,r)=>e.page?.type===ae.PARTIAL_CYA?Gn(r||t,e.pageId):r||t,Wn=(e,t,r,n,s)=>{if(!t&&s===ne.FORM_WITH_TASK){if(n?.formStatus?.taskPage){const a=r.find(o=>o.id===n.formStatus.taskPage);return a?.type==="pre-task-list"?a.id:ae.HUB}return r.length>0?r[0].id:void 0}let i;return e?.pages?.forEach(a=>{He.show({show_when:a.show_when},n)&&(i=a.pageId)}),i||e?.page||ae.HUB},mi=(e,t,r)=>{let n=e.findIndex(i=>i.id===t)+1,s=e[n];for(;s&&!He.show(s,r);)n+=1,s=e[n];return s?.id||void 0},zc=(e,t,r)=>mi(e,t,r)||ae.CYA,Jc=e=>e.length>0?e[0].id:void 0,Tr=(e,t,r,n,s)=>{if(n){if(n.type===X.TYPES.NAVIGATE)return t.find(i=>i.id===n.page)?n.page:void 0;if(n.type===X.TYPES.SAVE_AND_RETURN)return e===ne.HUB?ae.HUB:void 0}switch(e){case ne.HUB:return Wn(n);case ne.CYA:return zc(t,r,s);case ne.FORM_WITH_TASK:case ne.TASK:return Wn(n,r,t,s,e);case ne.WIZARD:return mi(t,r,s);default:return Jc(t)}},Xc=(e,t,r,n,s,i,a,o)=>{if(e===ne.TASK||e===ne.FORM_WITH_TASK){const l=s.formStatus||{};return l.tasks=l.tasks||{},l.tasks[i.name]=l.tasks[i.name]||{},r===(ae.CYA||"submitForm")&&a?l.tasks[i.name].complete=!0:i.name?n?.type===X.TYPES.SAVE_AND_NAVIGATE?l.tasks[i.name]={complete:!1,currentPage:Tr(e,t,r,n,s)}:i.pages?.includes(r)&&(l.tasks[i.name]={complete:!!n?.complete,currentPage:r}):o&&o.forEach(u=>{u.tasks.forEach(d=>{const c=d.pages[d.pages.length-1];(c===r||c.id===r)&&a&&d?.type==="pre-task-list"?l.tasks[d.name]={complete:a,currentPage:r}:d.pages.includes(r)&&d?.type==="pre-task-list"&&(l.tasks[d.name]={complete:!1,currentPage:r})})}),l.taskPage=l.tasks[i.name].currentPage,l}return n?.type===X.TYPES.SAVE_AND_RETURN?{page:r}:{page:Tr(e,t,r,n,s)}},Qc=({complete:e,currentPage:t},r=z.TYPES.NOT_STARTED)=>e?z.TYPES.COMPLETE:t||e!==void 0&&!e&&t===void 0?z.TYPES.IN_PROGRESS:r,Zc=(e,t,r=!1)=>t.reduce((n,s)=>{const i=e[s];return r&&i?.state===z.TYPES.SKIPPED?n:n&&i?.complete},!0),pi=(e,t)=>{const r=e[t-1].state;return r===z.TYPES.COMPLETE?!0:r===z.TYPES.SKIPPED?t-1===0?!0:pi(e,t-1):!1},ed=(e,t,r,n,s=!1,i=!0)=>{if(n[e.name])return Qc(n[e.name],e.state);if(s)return e.depends_on&&!Zc(n,e.depends_on,e.ignoreSkipped)?z.TYPES.CANNOT_START_YET:z.TYPES.NOT_STARTED;let a=i;return t&&(a=pi(r,t)),a?z.TYPES.NOT_STARTED:z.TYPES.CANNOT_START_YET},td=(e,t,r,n)=>{const s=e.tasks.map(i=>({...i}));return s.filter(i=>i.state!==z.TYPES.SKIPPED).forEach((i,a)=>{const o=i;o.state=ed(o,a,s,t,r,n)}),s},Ei=(e,t)=>{const r=e[t-1]?.tasks.slice(-1)[0]?.state;return r===z.TYPES.COMPLETE?!0:r===z.TYPES.SKIPPED?t-1===0?!0:Ei(e,t-1):!1},rd=(e,t,r=!1,n=null)=>{const s=e.map(a=>{const o=a.show_when?[a.show_when].flat():[];return n&&!N.Condition.meetsAll(o,n)?{...a,skipped:!0,tasks:a.tasks.map(l=>({...l,state:z.TYPES.SKIPPED}))}:{...a}});s.forEach(a=>{const o=a;o.tasks=o.tasks.map(l=>{const u=l.show_when?[l.show_when].flat():[];return n&&!N.Condition.meetsAll(u,n)?{...l,state:z.TYPES.SKIPPED}:{...l}})});const i={...t};return s.forEach(a=>{a.tasks.filter(o=>o.state===z.TYPES.SKIPPED).forEach(o=>{i[o.name]={...i[o.name],state:z.TYPES.SKIPPED}})}),s.forEach((a,o)=>{const l=a,u=o===0||Ei(s,o);l.tasks=td(l,i,r,u)}),s},nd=(e,t,r)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)},be=(e,t)=>{if(Array.isArray(e))for(let s=0;s<e.length;s+=1)be(e[s],t);const r=t.split(".");let n=e;for(let s=0;s<r.length-1;s+=1)if(n=n[r[s]],n===void 0)return;n[r[r.length-1]]&&delete n[r[r.length-1]]},Ai=e=>{if(typeof e!="string"||!e.includes("."))return null;const t=e.split(".");return t.pop(),t.join(".")},jr=(e,t)=>{const r=Ai(e);return r?`${r}.${t}`:t},sd=e=>{for(let t=e.length-1;t>=0;t-=1){const r=e[t];Object.keys(r).length===1&&Object.keys(r)[0]==="id"&&e.splice(t,1)}},id=e=>{const t=(r,n)=>(typeof r=="object"&&r!==null&&(Array.isArray(r)?r.forEach(s=>{t(s,n)}):Object.keys(r).forEach(s=>{s==="field"&&n.push(r[s]),t(r[s],n)})),n);return e.show_when?new Set(t(e.show_when,[])||[]):null},ad=(e,t)=>{const r=e.split(".");for(let n=r.length;n>0;n-=1){const s=r.slice(0,n).join("."),i=t.get(s);if(i)return i}return null},Me=(e,t)=>e.show_when?e.show_when?.type==="or"?le.meetsOne(e,t):le.meetsAll(e,t):!0,vi=(e,t,r)=>{const n=t.get(e.use)??r.get(e.use)??e,s=JSON.parse(JSON.stringify(n));return e.use&&e.show_when&&(s.show_when=e.show_when),s},od=(e,t,r)=>{const{meta:{documents:n}}=r,s=t[e.fieldId];if(!n||!s)return;const i=Array.isArray(s)?s:[s];for(let a=i.length-1;a>=0;a-=1){const o=n.findIndex(l=>l.url===i[a].url);o!==-1&&n.splice(o,1)}},Sr=e=>{if(Array.isArray(e))for(let t=e.length-1;t>=0;t-=1)Array.isArray(e[t])&&e[t].length===0?e.splice(t,1):Sr(e[t]),typeof e[t]=="object"&&Object.keys(e[t]).length===0&&e.splice(t,1);else e!==null&&typeof e=="object"&&Object.keys(e).forEach(t=>{Array.isArray(e[t])&&e[t].length===0?(e[`${t}ActiveId`]&&delete e[`${t}ActiveId`],delete e[`${t}ActiveId`],e[t]&&delete e[t]):Sr(e[t])})},yi=(e,t)=>{e?.data?.options&&e?.data?.options?.forEach(r=>{r.nested?.forEach(t)})},ld=(e,t,r,n)=>{if(n[t]>1)n[t]-=1;else{if(r.preserveInPayload)return;be(e,t),yi(r,s=>{const i=jr(t,s.fieldId);n[i]>1?n[i]-=1:be(e,i)})}},ud=(e,t,r,n)=>{t.forEach(s=>{if(!e.has(s.fieldId)){if(s.type==="multifile"&&od(s,r,n),s.preserveInPayload)return;be(r,s.fieldId),yi(s,i=>{const a=jr(s.fieldId,i.fieldId);e.has(a)||be(r,a)})}})},Kn=e=>Array.isArray(e)?e:[e],cd=(e,t,r,n)=>{const s=new Map,i={},a=[],o=new Map,l=(u,d,c)=>{d.fieldId&&(c=c?`${c}.${d.fieldId}`:d.fieldId,i[c]=(i[c]||0)+1,d.path=c,u.show_when&&(d.show_when=d.show_when?[...Kn(u.show_when),...Kn(d.show_when)]:u.show_when),nd(c,d,s),d.components?d.components.forEach(f=>{l(u,f,c)}):d?.data?.options&&d?.data?.options?.forEach(f=>{if(f.nested){const m=!Ye(se(n,c),f),A=f.show_when;f.nested.forEach(T=>{m&&a.push(jr(c,T.fieldId)),A&&(T.show_when=A),l(u,T,Ai(c))})}}))};return e?.forEach(u=>{u.childPages?o.set(u.collection.name,u):u.components?.forEach(d=>{const c=vi(d,t,r);l(u,c,null)})}),a.forEach(u=>{i[u]>1?i[u]-=1:be(n,u)}),{allComponents:s,componentsToKeep:i,allCollections:o}},dd=e=>{const t=new Map;return e?.forEach(r=>{r?.forEach(n=>{if(!n.fieldId)return;const s=id(n);if(s)if(t.has(n.path)){const i=t.get(n.path);s.forEach(a=>i.add(a))}else t.set(n.path,new Set(s))})}),t},fd=(e,t,r,n,s,i)=>{const a=(l,u,d)=>{if(l.has(u))return;l.add(u),d.get(u.path)?.forEach(f=>{const m=ad(f,t);if(m)m.forEach(A=>{l.has(A)||a(l,A,d)});else{const A=/([a-zA-Z_$][\w$]*)\[\d+\]/,T=f.match(A);if(T){const v=T[1],x=n.get(v);x&&x.childPages?.forEach($=>{if($.show_when){const S=JSON.stringify($.show_when),w=`It is not possible to reliably clean hidden data when a component is dependent on a
|
|
3
|
+
collection's data, and that collection is itself dependent on data elsewhere in the form.
|
|
4
|
+
The dependency path is ${f}, and the chained show_when is ${S}.
|
|
5
|
+
The form will need to be changed to break this chained dependency`;throw new Error(w)}})}}}),Me(u,i)||ld(i,u.path,u,r)},o=new Set;e?.forEach((l,u)=>{t.get(u)?.forEach(c=>{o.has(c)||a(o,c,e)})})},hd=(e,t,r,n)=>{e?.forEach((s,i)=>{Me(s,t)||(delete t[i],delete t[`${i}ActiveId`]);const a=t[i];a?.forEach(o=>{const l={...t,...o},u=new Set,d=new Map;s.childPages?.forEach(c=>{const f=Me(c,l);c.components?.forEach(m=>{const A=vi(m,r,n);if(!A.fieldId)return;const T=Me(m,l);f&&T&&Me(A,l)?u.add(A.fieldId):d.set(A.id,A)})}),ud(u,d,o,t)}),a&&sd(a)})},md=(e,t,r)=>{if(!e)return r;const n=new Map(t.components.map(d=>[d.id,d])),s=new Map(t.components.map(d=>[d.fieldId,d])),i=zs(t.pages),{allComponents:a,componentsToKeep:o,allCollections:l}=cd(i,n,s,r),u=dd(a);return fd(u,a,o,l,t,r),hd(l,r,n,s),Sr(r),r},Z={canActionProceed:Bc,canCYASubmit:kc,cleanHiddenNestedData:fi,getFormState:Wc,getRelevantPages:Kc,getNextPageId:Tr,getPage:hi,getSubmissionStatus:Xc,getUpdatedSectionStates:rd,clearOutUncompletedRoutes:md},pd=(e,t,r,n,s,i,a,o,l,u,d,c,f,m,A,T,v,x)=>{if(t.type===X.TYPES.SUBMIT&&m!==pe.TASK){if(e("submit"),Z.canCYASubmit(r,n.pages)&&!v){x(!0);const $=N.Format.form({pages:r,components:i},{...a},Te.SUBMIT),S={pages:r,components:i};Z.clearOutUncompletedRoutes(s,S,$),$.formStatus=Z.getSubmissionStatus(l,r,u,t,$,d,!0),o($),c.onSubmit(t.type,$,()=>{c.onFormComplete(),x(!1)},w=>{x(!1),Ee.submissionError(w,f)})}}else{const S=!(Object.prototype.hasOwnProperty.call(t,"validate")&&!t.validate)?Z.canCYASubmit(d.fullPages,n.pages):!0;if(t.type===X.TYPES.SAVE_AND_CONTINUE&&m===pe.TASK&&S){const w=N.Format.form({pages:r,components:i},{...a},Te.SUBMIT);w.formStatus=Z.getSubmissionStatus(l,r,u,t,w,d,!0),o(w),c.onSubmit(t.type,w,()=>{x(!1),A(ae.HUB)},b=>{x(!1),Ee.submissionError(b,f)})}if(t.type===X.TYPES.SUBMIT&&m===pe.TASK&&(e("submit"),S)){const w=N.Format.form({pages:r,components:i},{...a},Te.SUBMIT),b={pages:r,components:i};Z.clearOutUncompletedRoutes(s,b,w),w.formStatus=Z.getSubmissionStatus(l,r,u,t,w,d,!0),o(w),c.onSubmit(t.type,w,()=>{c.onFormComplete(),x(!1)},q=>{x(!1),Ee.submissionError(q,f)})}if(t.type===X.TYPES.SAVE_AND_NAVIGATE&&S){const w=N.Format.form({pages:r,components:i},{...a},Te.SUBMIT);w.formStatus=Z.getSubmissionStatus(l,r,u,t,w,d,!0),o(w),c.onSubmit(t.type,w,()=>{x(!1),A(t.page)},b=>{x(!1),Ee.submissionError(b,f)})}if(t.type===X.TYPES.SAVE_AND_RETURN&&S){const w=N.Format.form({pages:r,components:i},{...a},Te.SUBMIT);w.formStatus=Z.getSubmissionStatus(l,r,u,t,w,d,!1),o(w),c.onSubmit(t.type,w,()=>{l===ne.TASK?A(void 0):A(ae.HUB),x(!1)},b=>{x(!1),Ee.submissionError(b,f)})}if(t.type===X.TYPES.NAVIGATE&&(A(Z.getNextPageId(l,r,u,t,T.page?.formData)),x(!1)),t.type===X.TYPES.CANCEL){const w=N.Format.form({pages:r,components:i},{...a},Te.CANCEL);c.onCancel(w),x(!1)}}},zn=(e,t,r,n,s,i,a,o,l,u,d,c,f,m,A,T,v,x,$,S,w,b)=>{const q={...s},E=i,P=n.onAction(E.page.formData,t,s,e.customAction);E.page.formData=P.formData;let L=P.patch;if(E.page.formData={...E.page.formData,...L},e.type===X.TYPES.CANCEL){n.onCancel(E.page.formData),w(!1);return}if(Z.canActionProceed(e,E.page,a.page,b)&&(!S||e.ignoreSubmittingFlag))if(L=Z.cleanHiddenNestedData(L,E.page),w(!0),e.addToFormData&&((Array.isArray(e.addToFormData)?e.addToFormData:[e.addToFormData]).forEach(C=>{C.isCollection?Rr(C.field,C.value,i.page.formData):N.Data.setDataItem(i.page.formData,C.field,C.value)}),E.page.formData[e.addToFormData.field]=e.addToFormData.value),e.type===X.TYPES.NAVIGATE)Ee.navigate(e,f,o),w(!1);else{let M=j=>o(Z.getNextPageId(l,d,f,e,j)),C,H;e.collection&&(C=e.collection,H=`addAnother${C.charAt(0).toUpperCase()+C.slice(1)}`.slice(0,-1));let D,y;switch(C&&(D=E.page.formData[C],D&&D.length>0&&E.page.formData[`${C}ActiveId`]&&(y=D.findIndex(j=>j.id===E.page.formData[`${C}ActiveId`]))),e.type){case X.TYPES.SUBMIT:m("submit");break;case X.TYPES.SAVE_AND_NAVIGATE:const j={...A};D&&D.length>0&&e.resetActiveId&&(E.page.formData[`${C}ActiveId`]=D[0].id),D&&D.length>0&&!e.resetActiveId&&(y!==void 0&&y+1<E.page.formData[C].length&&(E.page.formData[H]="Yes"),y!==void 0&&y+1===E.page.formData[C].length&&E.page.formData[H]&&(E.page.formData[H]="No")),M=()=>Ee.navigate(e,f,o,j);break;case X.TYPES.COLLECTION_ADD:if(y===void 0||D.length===0||y+1===E.page.formData[C].length?N.CollectionPage.addEntry(e.collection,E.page.formData):E.page.formData[`${e.collection}ActiveId`]=D[y+1].id,E.page.formData[`${e.collection}`]&&E.page.formData[`${e.collection}`].length>0){const Y=E.page.formData[`${e.collection}`].length-1;Object.keys(E.page.formData[`${e.collection}`][Y]).filter(V=>V in E.page.formData&&V!=="id").forEach(V=>delete E.page.formData[V])}M=()=>Ee.navigate(e,f,o);break;case X.TYPES.COLLECTION_DUPLICATE:N.CollectionPage.duplicateActiveEntry(e.collection,i.page.formData)&&(M=()=>Ee.navigate(e,f,o));break;case X.TYPES.COLLECTION_REMOVE:const k=e.targetId||E.page.formData[`${e.collection.split(".").pop()}ActiveId`],p=N.CollectionPage.removeEntry(e.collection,i.page.formData,k);e.recordRemoval&&(E.page.formData[`${e.collection.split(".").pop()}LastRemoved`]={...p});const U=E.page.formData.id;p!==null&&Object.keys(p).filter(G=>G in E.page.formData).forEach(G=>delete E.page.formData[G]),Object.assign(E.page.formData,D[D.length-1]),E.page.formData.id=U,D.length>0?E.page.formData[`${e.collection}ActiveId`]=D[D.length-1].id:(delete E.page.formData[`${e.collection}ActiveId`],delete E.page.formData[e.collection]),M=()=>Ee.navigate(e,f,o);break}N.Data.deleteValues(s,i.page.formData);const g=N.Format.form({pages:d,components:c},{...s,...t,...i.page.formData},Te.SUBMIT);g.formStatus=Z.getSubmissionStatus(l,d,f,e,g,A,!0,v?.sections),L&&T(g);const _={pages:d,components:c};e.type===X.TYPES.SUBMIT&&Z.clearOutUncompletedRoutes(u,_,g);let F,O;l===ne.HUB&&Object.keys(r).length>0&&(F=Object.keys(r)[0],O=Object.values(r)[0]),n.onSubmit(e.type,g,j=>{const k={...g,...j};x({data:k}),M(k),w(!1)},(j,k=!0)=>{Ee.submissionError(j,$),k&&T({...q}),w(!1)},F,O,f)}},Jn=(e,t,r,n,s,i)=>{if(e){const a=e;a.fullPages=[],a.pages.forEach(l=>{a.fullPages.push(Z.getPage(l,t))}),r(e);const o={...a};if(a.state===z.TYPES.COMPLETE&&!a.alwaysShowFirstPage)if(n?.noTaskCYAs){const l=s.formStatus.tasks[e.name].currentPage;i(a.pages[0]||l)}else a.customCYA?i(a.customCYA):i(ae.CYA,o);else if(a.state===z.TYPES.IN_PROGRESS&&!a.alwaysShowFirstPage){const l=s.formStatus.tasks[e.name].currentPage;i(l||e.pages[0],o)}else a.firstPage?i(a.firstPage,o):i(a.pages[0],o)}},Ti=({title:e,titleSize:t,type:r,cleanseHiddenData:n=!1,components:s,pages:i,hub:a={nonSequential:!1,sections:[]},cya:o={actions:[],disableTaskSwitch:!1},data:l,hashLink:u=!1,hooks:d,classBlock:c=Ed,classModifiers:f=[],className:m="",hide_title:A,summaryListClassModifiers:T=[],noChangeAction:v=!1,newPageId:x="",viewOnly:$=!0,hideBlankRows:S=!1})=>h.jsx(ws,{overrides:d,children:h.jsx(bs,{children:h.jsx(Ad,{title:e,titleSize:t,type:r,cleanseHiddenData:n,components:s,pages:i,hub:a,cya:o,data:l,classBlock:c,classModifiers:f,className:m,hashLink:u,hide_title:A,summaryListClassModifiers:T,noChangeAction:v,newPageId:x,viewOnly:$,hideBlankRows:S})})}),Ed="hods-form",Ad=({title:e,titleSize:t,type:r,cleanseHiddenData:n,components:s,pages:i,hub:a,cya:o,data:l,classBlock:u,classModifiers:d,className:c,hashLink:f,hide_title:m,summaryListClassModifiers:A,noChangeAction:T,newPageId:v,viewOnly:x,hideBlankRows:$})=>{const[S,w]=B.useState({}),[b,q]=B.useState(),[E,P]=B.useState([]),[L,M]=B.useState(void 0),[C,H]=B.useState(Z.getNextPageId(r,i,null,null,l)),[D,y]=B.useState(Z.getFormState(C,E,L)),[g,_]=B.useState({}),[F,O]=B.useState({}),[j,k]=B.useState("load"),[p,U]=B.useState(!1),[Y,G]=B.useState(!1),{hooks:V}=ge(),{addErrors:K,clearErrors:re,errors:me,validate:he}=Oe();window.onpopstate=W=>{if(!document.location.hash&&(W.state&&W.state.fullPages!==void 0&&_(Q=>({...Q,fullPages:W.state?.fullPages})),re(),U(!0),V.onGoingBack(W.state?W.state:null,...D.page.formData),s&&E&&S&&D.page?.formData&&j===void 0)){const Q=N.Format.form({pages:E,components:s},{...S,...D.page.formData},Te.SUBMIT);if(Q?.formStatus?.taskPage){const oe=Q.formStatus.tasks;Object.keys(oe).forEach(Se=>{const Yr=oe[Se];Yr.currentPage&&!Yr.complete&&delete oe[Se].currentPage}),delete Q.formStatus.taskPage}w(Q)}},B.useEffect(()=>{s&&i&&l&&(j==="load"||x)&&(w(N.Data.setupForm(i,s,l)),l.formStatus?.page&&H(l.formStatus.page))},[s,i,l,w,j,x]),B.useEffect(()=>{P(N.FormPage.getAll(i,s,{...S}))},[s,i,S,P]),B.useEffect(()=>{H(W=>W||Z.getNextPageId(r,E))},[r,E,H]),B.useEffect(()=>{M(N.Hub.get(r,a,s,{...S}))},[r,a,S,s,M]),B.useEffect(()=>{r===ne.HUB&&p&&S&&D.page?.formData&&(D.page.formData={...S}),U(!1),y(Z.getFormState(C,E,L))},[E,L,C,y,r,p,S,D.page]),B.useEffect(()=>{k(void 0),V.onFormLoad(W=>{_(W)})},[V]),B.useEffect(()=>{O(a)},[a]),B.useEffect(()=>{b?.data&&(w(b.data),q(void 0))},[b,w,q]);const ee=a?.sections,de=a?.nonSequential;B.useEffect(()=>{const W=g.fullPages;if(W&&(W.forEach(Q=>{const oe=Q;oe&&(oe.formData=S)}),_(Q=>({...Q,fullPages:W}))),ee){const Q=S?.formStatus?.tasks||{},oe=Z.getUpdatedSectionStates(ee,Q,de,S);O(Se=>({...Se,sections:[...oe]}))}},[g.fullPages,S,ee,de]);const ue=(W,Q={})=>{re(),H(W),V.onPageChange(W,Q)};B.useEffect(()=>{v!==void 0&&H(v)},[v]);const Ae=W=>{V.onChange(W)},_e=(W,Q)=>{if(typeof Q=="function"){const oe=Q({...S});oe&&w(oe)}D.page?.type===ae.PARTIAL_CYA&&!o.disableTaskSwitch&&F.sections.every(oe=>oe.tasks.every(Se=>Se.pages.includes(W.pageId)&&Se.name!==g.name?(Jn(Se,E,_,F,S,ue),!1):!0)),W&&Ee.cyaAction(W,C,ue)},Pe=N.classBuilder(u,d,c);if(L===pe.TASK){const W=o;W.actions=[X.TYPES.SAVE_AND_CONTINUE,X.TYPES.SAVE_AND_RETURN]}const{noTaskCYAs:Ve,nonSequential:Ge,...$e}=F;return h.jsxs("div",{className:Pe(),children:[e&&!m&&C===ae.HUB&&h.jsx(I.Heading,{size:t,children:e}),D.cya&&h.jsx(wc,{pages:Z.getRelevantPages(D,E,g.fullPages),...o,...D.page?.type===ae.PARTIAL_CYA&&{actions:D.page.actions?.filter(W=>N.Component.show(W,S))},...D.cya,onAction:W=>{pd(k,W,E,he,n,s,S,w,r,C,g,V,K,L,ue,D,Y,G)},onRowAction:_e,summaryListClassModifiers:A,hide_title:m,noChangeAction:D.cya.hideChangeActions??T,noGroupAction:D.cya.hideGroupActions??!1,sections:typeof F<"u"?F.sections:[],type:r,hideBlankRows:$}),L===pe.TASK&&D.pageId===ae.HUB&&h.jsx(Mc,{...$e,refNumber:S.businessKey,onTaskAction:W=>{Jn(W,E,_,F,S,ue)},annotations:F?.taskListAnnotations||[],formData:S}),D.page&&!D.cya&&!D.page.collection&&h.jsx(Or,{page:D.page,pages:[...E],onAction:(W,Q,oe)=>{zn(W,Q,oe,V,S,D,he,ue,r,n,E,s,C,k,g,w,F,q,K,Y,G,me)},onChange:Ae,hashLink:f,classModifiers:D.page.classModifiers,className:D.page.className,submitting:Y,pageId:C}),D.page&&!D.cya&&D.page.collection&&h.jsx(Dc,{page:D.page,pages:E,onCollectionChange:Ae,onAction:(W,Q,oe)=>{zn(W,Q,oe,V,S,D,he,ue,r,n,E,s,C,k,g,w,F,q,K,Y,G,me)},hashLink:f,classModifiers:D.page.classModifiers,className:D.page.className,submitting:Y})]})};exports.Container=Ur;exports.FormComponent=Le;exports.FormRenderer=Ti;exports.FormTypes=ne;exports.HooksContextProvider=ws;exports.HubFormats=pe;exports.Models=ua;exports.PageActions=Dr;exports.SummaryList=yr;exports.Utils=N;exports.ValidationContextProvider=bs;exports.default=Ti;
|