hof 22.0.0-timeout-warning-beta.12 → 22.1.0-timeout-warning-sign-in-beta

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.
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":15730,"argv":["/Users/user/.nvm/versions/node/v20.9.0/bin/node","/Users/user/Documents/HO/HOF/hof/node_modules/.bin/_mocha","test/**/*.spec.js","sandbox/test/**/*.spec.js"],"execArgv":[],"cwd":"/Users/user/Documents/HO/HOF/hof","time":1724279017159,"ppid":15726,"coverageFilename":"/Users/user/Documents/HO/HOF/hof/.nyc_output/9376679c-295d-4483-8c62-60e08528311a.json","externalId":"","uuid":"9376679c-295d-4483-8c62-60e08528311a","files":["/Users/user/Documents/HO/HOF/hof/model/index.js","/Users/user/Documents/HO/HOF/hof/model/apis/axios-settings.js","/Users/user/Documents/HO/HOF/hof/components/index.js","/Users/user/Documents/HO/HOF/hof/components/address-lookup/index.js","/Users/user/Documents/HO/HOF/hof/components/address-lookup/default-model.js","/Users/user/Documents/HO/HOF/hof/components/address-lookup/defaults.js","/Users/user/Documents/HO/HOF/hof/components/clear-session/index.js","/Users/user/Documents/HO/HOF/hof/components/combine-and-loop-fields/index.js","/Users/user/Documents/HO/HOF/hof/components/date/index.js","/Users/user/Documents/HO/HOF/hof/components/date/fields.js","/Users/user/Documents/HO/HOF/hof/components/emailer/index.js","/Users/user/Documents/HO/HOF/hof/components/emailer/email-service.js","/Users/user/Documents/HO/HOF/hof/components/emailer/emailer.js","/Users/user/Documents/HO/HOF/hof/components/emailer/transports/index.js","/Users/user/Documents/HO/HOF/hof/components/emailer/transports/smtp.js","/Users/user/Documents/HO/HOF/hof/components/emailer/transports/ses.js","/Users/user/Documents/HO/HOF/hof/components/emailer/transports/stub.js","/Users/user/Documents/HO/HOF/hof/components/emailer/transports/debug.js","/Users/user/Documents/HO/HOF/hof/components/homeoffice-countries/index.js","/Users/user/Documents/HO/HOF/hof/config/component-defaults.js","/Users/user/Documents/HO/HOF/hof/components/notify/index.js","/Users/user/Documents/HO/HOF/hof/components/notify/notify.js","/Users/user/Documents/HO/HOF/hof/components/summary/index.js","/Users/user/Documents/HO/HOF/hof/config/rate-limits.js","/Users/user/Documents/HO/HOF/hof/middleware/rate-limiter.js","/Users/user/Documents/HO/HOF/hof/config/hof-defaults.js","/Users/user/Documents/HO/HOF/hof/components/session-timeout-warning/index.js","/Users/user/Documents/HO/HOF/hof/lib/logger.js","/Users/user/Documents/HO/HOF/hof/controller/base-controller.js","/Users/user/Documents/HO/HOF/hof/controller/formatting/index.js","/Users/user/Documents/HO/HOF/hof/controller/validation/index.js","/Users/user/Documents/HO/HOF/hof/controller/validation/validators.js","/Users/user/Documents/HO/HOF/hof/controller/validation/email.js","/Users/user/Documents/HO/HOF/hof/controller/validation-error.js","/Users/user/Documents/HO/HOF/hof/utilities/index.js","/Users/user/Documents/HO/HOF/hof/utilities/autofill/index.js","/Users/user/Documents/HO/HOF/hof/utilities/autofill/inputs.js","/Users/user/Documents/HO/HOF/hof/utilities/test-data/index.js","/Users/user/Documents/HO/HOF/hof/utilities/countries.js","/Users/user/Documents/HO/HOF/hof/utilities/helpers/index.js","/Users/user/Documents/HO/HOF/hof/utilities/reqres/index.js","/Users/user/Documents/HO/HOF/hof/config/sanitisation-rules.js","/Users/user/Documents/HO/HOF/hof/controller/formatting/formatters.js","/Users/user/Documents/HO/HOF/hof/controller/index.js","/Users/user/Documents/HO/HOF/hof/controller/behaviour-session.js","/Users/user/Documents/HO/HOF/hof/controller/behaviour-hooks.js","/Users/user/Documents/HO/HOF/hof/controller/controller.js","/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js","/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/index.js","/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/template-mixins.js","/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/render.js","/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/helpers.js","/Users/user/Documents/HO/HOF/hof/index.js","/Users/user/Documents/HO/HOF/hof/frontend/index.js","/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/index.js","/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/index.js","/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/config.js","/Users/user/Documents/HO/HOF/hof/frontend/template-partials/index.js","/Users/user/Documents/HO/HOF/hof/frontend/template-partials/translations/index.js","/Users/user/Documents/HO/HOF/hof/frontend/themes/index.js","/Users/user/Documents/HO/HOF/hof/frontend/themes/gov-uk/index.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/index.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/helpers.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/validation.js","/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/character-count.js","/Users/user/Documents/HO/HOF/hof/middleware/index.js","/Users/user/Documents/HO/HOF/hof/middleware/cookies.js","/Users/user/Documents/HO/HOF/hof/middleware/errors.js","/Users/user/Documents/HO/HOF/hof/middleware/not-found.js","/Users/user/Documents/HO/HOF/hof/middleware/deep-translate.js","/Users/user/Documents/HO/HOF/hof/lib/markdown.js","/Users/user/Documents/HO/HOF/hof/lib/router.js","/Users/user/Documents/HO/HOF/hof/wizard/index.js","/Users/user/Documents/HO/HOF/hof/wizard/behaviours/index.js","/Users/user/Documents/HO/HOF/hof/wizard/behaviours/complete.js","/Users/user/Documents/HO/HOF/hof/wizard/util/constants.js","/Users/user/Documents/HO/HOF/hof/lib/helpers.js","/Users/user/Documents/HO/HOF/hof/lib/health.js","/Users/user/Documents/HO/HOF/hof/lib/serve-static.js","/Users/user/Documents/HO/HOF/hof/lib/ga-tag.js","/Users/user/Documents/HO/HOF/hof/lib/sessions.js","/Users/user/Documents/HO/HOF/hof/lib/settings.js","/Users/user/Documents/HO/HOF/hof/build/index.js","/Users/user/Documents/HO/HOF/hof/config/builder-defaults.js","/Users/user/Documents/HO/HOF/hof/transpiler/index.js","/Users/user/Documents/HO/HOF/hof/transpiler/lib/compile.js","/Users/user/Documents/HO/HOF/hof/transpiler/lib/build.js","/Users/user/Documents/HO/HOF/hof/transpiler/lib/expand-dirs.js","/Users/user/Documents/HO/HOF/hof/transpiler/lib/aggregate.js","/Users/user/Documents/HO/HOF/hof/transpiler/lib/write-files.js","/Users/user/Documents/HO/HOF/hof/model/apis/index.js","/Users/user/Documents/HO/HOF/hof/model/apis/html-to-pdf-converter.js","/Users/user/Documents/HO/HOF/hof/wizard/model.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/back-links.js","/Users/user/Documents/HO/HOF/hof/wizard/util/helpers.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-complete.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-progress.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-session.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/csrf.js","/Users/user/Documents/HO/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js","/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js","/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js","/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/fields.js","/Users/user/Documents/HO/HOF/hof/sandbox/test/helpers/utilities.js","/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/international-number.js","/Users/user/Documents/HO/HOF/hof/lib/encryption.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/session.js","/Users/user/Documents/HO/HOF/hof/wizard/middleware/session-model.js"]}
@@ -1 +1 @@
1
- {"processes":{"b41c37a9-490c-4262-8cef-5e13a7a48210":{"parent":null,"children":[]}},"files":{"/Users/user/Documents/HO/HOF/hof/model/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/model/apis/axios-settings.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/default-model.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/defaults.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/clear-session/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/combine-and-loop-fields/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/date/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/date/fields.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/email-service.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/emailer.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/smtp.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/ses.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/stub.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/debug.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/homeoffice-countries/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/config/component-defaults.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/notify/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/notify/notify.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/summary/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/config/rate-limits.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/rate-limiter.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/config/hof-defaults.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/components/session-timeout-warning/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/base-controller.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/formatting/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/validation/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/validation/validators.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/validation/email.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/validation-error.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/autofill/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/autofill/inputs.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/test-data/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/countries.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/helpers/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/utilities/reqres/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/config/sanitisation-rules.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/formatting/formatters.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/behaviour-session.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/behaviour-hooks.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/controller/controller.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/template-mixins.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/render.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/helpers.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/config.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-partials/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/template-partials/translations/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/themes/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/themes/gov-uk/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/helpers.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/validation.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/character-count.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/cookies.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/errors.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/not-found.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/middleware/deep-translate.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/markdown.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/router.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/behaviours/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/behaviours/complete.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/util/constants.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/helpers.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/health.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/serve-static.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/ga-tag.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/sessions.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/settings.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/logger.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/build/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/config/builder-defaults.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/compile.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/build.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/expand-dirs.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/aggregate.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/write-files.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/model/apis/index.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/model/apis/html-to-pdf-converter.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/model.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/back-links.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/util/helpers.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-complete.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-progress.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-session.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/csrf.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/fields.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/test/helpers/utilities.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/international-number.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/lib/encryption.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/session.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/session-model.js":["b41c37a9-490c-4262-8cef-5e13a7a48210"]},"externalIds":{}}
1
+ {"processes":{"9376679c-295d-4483-8c62-60e08528311a":{"parent":null,"children":[]}},"files":{"/Users/user/Documents/HO/HOF/hof/model/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/model/apis/axios-settings.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/default-model.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/address-lookup/defaults.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/clear-session/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/combine-and-loop-fields/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/date/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/date/fields.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/email-service.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/emailer.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/smtp.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/ses.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/stub.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/emailer/transports/debug.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/homeoffice-countries/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/config/component-defaults.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/notify/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/notify/notify.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/summary/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/config/rate-limits.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/rate-limiter.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/config/hof-defaults.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/components/session-timeout-warning/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/logger.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/base-controller.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/formatting/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/validation/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/validation/validators.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/validation/email.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/validation-error.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/autofill/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/autofill/inputs.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/test-data/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/countries.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/helpers/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/utilities/reqres/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/config/sanitisation-rules.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/formatting/formatters.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/behaviour-session.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/behaviour-hooks.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/controller/controller.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/template-mixins.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/render.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-mixins/mixins/helpers.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/govuk-template/build/config.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-partials/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/template-partials/translations/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/themes/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/themes/gov-uk/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/helpers.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/validation.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/frontend/toolkit/assets/javascript/character-count.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/cookies.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/errors.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/not-found.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/middleware/deep-translate.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/markdown.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/router.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/behaviours/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/behaviours/complete.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/util/constants.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/helpers.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/health.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/serve-static.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/ga-tag.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/sessions.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/settings.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/build/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/config/builder-defaults.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/compile.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/build.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/expand-dirs.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/aggregate.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/transpiler/lib/write-files.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/model/apis/index.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/model/apis/html-to-pdf-converter.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/model.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/back-links.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/util/helpers.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-complete.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-progress.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/check-session.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/csrf.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/fields.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/test/helpers/utilities.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/sandbox/apps/sandbox/behaviours/international-number.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/lib/encryption.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/session.js":["9376679c-295d-4483-8c62-60e08528311a"],"/Users/user/Documents/HO/HOF/hof/wizard/middleware/session-model.js":["9376679c-295d-4483-8c62-60e08528311a"]},"externalIds":{}}
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 2024, Version 22.1.0, @Rhodine-orleans-lindsay
2
+ * Adds session timeout warning content for save and exit forms
3
+ - user can stay signed in page or save and exit form
4
+ - adds save-and-exit html
5
+ - allows for customisation of save-and-exit page content
6
+ * Fixes accessibility issues
7
+ * Sandbox area for testing hof changes
8
+ * Updates patch and minor dependency versions
9
+
1
10
  ## 2024, Version 22.0.0, @Rhodine-orleans-lindsay
2
11
  * Adds session timeout warning
3
12
  - user can stay on page or exit form
package/README.md CHANGED
@@ -945,11 +945,11 @@ Using the translation key `fields.field-name.label` will return different values
945
945
 
946
946
  # HOF Components
947
947
 
948
- ## Date Component
948
+ ## Date Component
949
949
 
950
950
  A component for handling the rendering and processing of 3-input date fields used in HOF Applications.
951
951
 
952
- ## Usage
952
+ ### Usage
953
953
 
954
954
  In your fields config:
955
955
 
@@ -965,7 +965,7 @@ module.exports = {
965
965
 
966
966
  The above example will create a new date component with the key `'date-field'` and will apply the validators `required` and `before` (before today).
967
967
 
968
- ## Configuration
968
+ ### Configuration
969
969
 
970
970
  The following optional configuration options are supported:
971
971
 
@@ -974,7 +974,7 @@ The following optional configuration options are supported:
974
974
  - `dayOptional {Boolean}` - day defaults to `01` if omitted. Defaults to `false`
975
975
  - `monthOptional {Boolean}` - month defaults to `01` if omitted. If true then also forces `dayOptional` to be true. Defaults to `false`
976
976
 
977
- ## Labels
977
+ ### Labels
978
978
 
979
979
  The three intermedate fields have fallback labels of Day, Month and Year, however custom labels can be used by including the translation at the following path:
980
980
 
@@ -998,13 +998,13 @@ fields.json
998
998
  }
999
999
  ```
1000
1000
 
1001
- # Summary Page Component
1001
+ ## Summary Page Component
1002
1002
 
1003
1003
  HOF behaviour for showing summary pages
1004
1004
 
1005
1005
  The behaviour mixin will create a set of "locals" data which is compatible with [the `confirm` view from `hof-template-partials`](https://github.com/UKHomeOfficeForms/hof-template-partials/blob/master/views/confirm.html).
1006
1006
 
1007
- ## Usage
1007
+ ### Usage
1008
1008
 
1009
1009
  If no sections config is passed, then the mixin will create a section for each step that has fields, and a row within each section for each field on that step.
1010
1010
 
@@ -1043,11 +1043,11 @@ Alternatively, sections can be defined manually as follows:
1043
1043
  }
1044
1044
  ```
1045
1045
 
1046
- ## Configuration
1046
+ ### Configuration
1047
1047
 
1048
1048
  The `sections` configuration should be a map of arrays, where the entries in the array are the fields that should be shown within that section.
1049
1049
 
1050
- ### Field configuration
1050
+ #### Field configuration
1051
1051
 
1052
1052
  Fields can be defined as simple strings of the field key, in which case all default configuration will be used.
1053
1053
 
@@ -1087,18 +1087,18 @@ The `location-addresses` field is one that the application has setup to aggregat
1087
1087
 
1088
1088
  This allows the creation of summary rows based on unknown dynamic user input, i.e. we can not predict in advance how many addresses a user wants to input, what the addresses are and how many categories the user wants to attach to each address. This allows you to easily list them this way.
1089
1089
 
1090
- ## Translations
1090
+ ### Translations
1091
1091
 
1092
1092
  The content for section headings and field labels will be loaded from translation files based on the keys.
1093
1093
 
1094
- ### Section headings
1094
+ #### Section headings
1095
1095
 
1096
1096
  Translations for section headings are looked for in the following order:
1097
1097
 
1098
1098
  - `pages.confirm.sections.${key}.header`
1099
1099
  - `pages.${key}.header`
1100
1100
 
1101
- ### Field labels
1101
+ #### Field labels
1102
1102
 
1103
1103
  Translations for field labels are looked for in the following order:
1104
1104
 
@@ -1106,11 +1106,11 @@ Translations for field labels are looked for in the following order:
1106
1106
  - `fields.${key}.label`
1107
1107
  - `fields.${key}.legend`
1108
1108
 
1109
- # Emailer Component
1109
+ ## Emailer Component
1110
1110
 
1111
1111
  HOF behaviour to send emails
1112
1112
 
1113
- ## Usage
1113
+ ### Usage
1114
1114
 
1115
1115
  ```js
1116
1116
  const EmailBehaviour = require('hof').components.emailer;
@@ -1140,7 +1140,7 @@ steps: {
1140
1140
  }
1141
1141
  ```
1142
1142
 
1143
- ## Options
1143
+ ### Options
1144
1144
 
1145
1145
  In addition to the options passed to `hof-emailer`, the following options can be used:
1146
1146
 
@@ -1159,17 +1159,17 @@ const emailer = EmailBehaviour({
1159
1159
  });
1160
1160
  ```
1161
1161
 
1162
- # HOF Emailer
1162
+ ## HOF Emailer
1163
1163
 
1164
1164
  An emailer service for HOF applications.
1165
1165
 
1166
- ## Installation
1166
+ ### Installation
1167
1167
 
1168
1168
  ```bash
1169
1169
  $ npm install hof-emailer --save
1170
1170
  ```
1171
1171
 
1172
- ## Usage
1172
+ ### Usage
1173
1173
 
1174
1174
  ```js
1175
1175
  // first create an emailer instance
@@ -1192,22 +1192,22 @@ emailer.send(to, body, subject).then(() => {
1192
1192
  });
1193
1193
  ```
1194
1194
 
1195
- ## Options
1195
+ ### Options
1196
1196
 
1197
1197
  - `from`: <String>: Address to send emails from. Required.
1198
1198
  - `transport`: <String>: Select what mechanism to use to send emails. Defaults: 'smtp'.
1199
1199
  - `transportOptions`: <Object>: Set the options for the chosen transport, as defined below. Required.
1200
1200
  - `layout`: <String>: Optional path to use a custom layout for email content.
1201
1201
 
1202
- ## Transports
1202
+ ### Transports
1203
1203
 
1204
1204
  The following transport options are available:
1205
1205
 
1206
- ### `smtp`
1206
+ #### `smtp`
1207
1207
 
1208
1208
  [nodemailer-smtp-transport](https://github.com/andris9/nodemailer-smtp-transport)
1209
1209
 
1210
- #### Options
1210
+ ##### Options
1211
1211
 
1212
1212
  - `host` <String>: Address of the mailserver. Required.
1213
1213
  - `port` <String|Number>: Port of the mailserver. Required.
@@ -1216,11 +1216,11 @@ The following transport options are available:
1216
1216
  - `auth.user` <String>: Mailserver authorisation username.
1217
1217
  - `auth.pass` <String>: Mailserver authorisation password.
1218
1218
 
1219
- ### `ses`
1219
+ #### `ses`
1220
1220
 
1221
1221
  [nodemailer-ses-transport](https://github.com/andris9/nodemailer-ses-transport)
1222
1222
 
1223
- #### Options
1223
+ ##### Options
1224
1224
 
1225
1225
  - `accessKeyId` <String>: AWS accessKeyId. Required.
1226
1226
  - `secretAccessKey` <String>: AWS accessKeyId. Required.
@@ -1230,18 +1230,18 @@ The following transport options are available:
1230
1230
  - `rateLimit` <String>
1231
1231
  - `maxConnections` <String>
1232
1232
 
1233
- ### `debug`
1233
+ #### `debug`
1234
1234
 
1235
1235
  A development option to write the html content of the email to a file for inspection.
1236
1236
 
1237
1237
  `transport: 'debug'`
1238
1238
 
1239
- #### debug options
1239
+ ##### debug options
1240
1240
 
1241
1241
  - `dir` <String>: The location to save html to. Default: `./.emails`. This directory will be created if it does not exist.
1242
1242
  - `open` <Boolean>: If set to true, will automatically open the created html file in a browser.
1243
1243
 
1244
- #### debug example
1244
+ ##### debug example
1245
1245
 
1246
1246
  ```
1247
1247
  transport: 'debug'
@@ -1251,10 +1251,57 @@ transportOptions: {
1251
1251
  }
1252
1252
  ```
1253
1253
 
1254
- ### `stub`
1254
+ #### `stub`
1255
1255
 
1256
1256
  Disables sending email. No options are required.
1257
1257
 
1258
+ ## Session Timeout Warning Component
1259
+ HOF component for customising session timeout related pages
1260
+ This feature allows you to customise the content related to the session timeout warning, including the messages displayed in the session timeout warning dialog and on the exit page after a user exits the form due to a session timeout.
1261
+
1262
+ ### Usage
1263
+
1264
+ To enable and customize the session timeout behavior, you need to set the component in your project's `hof.settings.json` file:
1265
+ ```js
1266
+ "behaviours": [
1267
+ "hof/components/session-timeout-warning"
1268
+ ]
1269
+ ```
1270
+
1271
+ By default, the framework uses the standard content provided by HOF. If you wish to override this with custom content at the project level, you must set the following variables to `true` in `hof.settings.json`:
1272
+
1273
+ ```js
1274
+ behaviours: [
1275
+ require('../').components.sessionTimeoutWarning
1276
+ ],
1277
+ sessionTimeoutWarningContent: true,
1278
+ exitFormContent: true
1279
+ ```
1280
+
1281
+ ### Customising content in `pages.json`
1282
+ Once the variables are set, you can customize the session timeout warning and exit messages in your project's pages.json:
1283
+
1284
+ ```json
1285
+ "exit": {
1286
+ "message": "We have cleared your information to keep it secure. Your information has not been saved."
1287
+ },
1288
+ "session-timeout-warning": {
1289
+ "dialog-title": "Your application will close soon",
1290
+ "dialog-text": "If that happens, your progress will not be saved.",
1291
+ "timeout-continue-button": "Stay on this page",
1292
+ "dialog-exit-link": "Exit this form"
1293
+ }
1294
+ ```
1295
+
1296
+ ### Editing content on the Exit Page Header and Title
1297
+ To edit the exit page's header and title, create an `exit.json` file in your project and set the desired content:
1298
+ ```json
1299
+ {
1300
+ "header": "You have left this form",
1301
+ "title": "You have left this form"
1302
+ }
1303
+ ```
1304
+
1258
1305
  # UTILITIES
1259
1306
 
1260
1307
  # Autofill Utility
@@ -1,18 +1,38 @@
1
+ /**
2
+ *
3
+ * @fileOverview
4
+ * Provides custom behavior for handling session timeout warnings and exit actions. This includes
5
+ * - Resetting the session if the user exits due to a session timeout.
6
+ * - Customizing the session timeout warning dialog content.
7
+ * - Setting custom content and titles on the exit page.
8
+ *
9
+ * @module SessionTimeoutWarningBehavior
10
+ * @requires ../../config/hof-defaults
11
+ * @param {Class} superclass - The class to be extended.
12
+ * @returns {Class} - The extended class with session timeout handling functionality.
13
+ */
1
14
 
2
15
  'use strict';
3
16
  const config = require('../../config/hof-defaults');
17
+ const logger = require('../../lib/logger')(config);
4
18
 
5
19
  module.exports = superclass => class extends superclass {
6
20
  configure(req, res, next) {
7
- // reset the session if user chooses to exit on session timeout warning
8
- if (req.form.options.route === '/exit') {
9
- req.sessionModel.reset();
21
+ try {
22
+ // Reset the session if the user chooses to exit on session timeout warning
23
+ if (req.form.options.route === '/exit') {
24
+ req.sessionModel.reset();
25
+ logger.log('info', 'Session has been reset on exit');
26
+ }
27
+ return super.configure(req, res, next);
28
+ } catch (error) {
29
+ logger.error('Error during session reset:', error);
30
+ return next(error); // Pass the error to the next middleware for centralised handling
10
31
  }
11
- return super.configure(req, res, next);
12
32
  }
13
33
 
14
34
  locals(req, res) {
15
- // set the default session dialog message
35
+ // set the custom session dialog message
16
36
  const superLocals = super.locals(req, res);
17
37
  if (res.locals.sessionTimeoutWarningContent === true) {
18
38
  superLocals.dialogTitle = true;
@@ -20,8 +40,12 @@ module.exports = superclass => class extends superclass {
20
40
  superLocals.timeoutContinueButton = true;
21
41
  superLocals.dialogExitLink = true;
22
42
  }
23
- // set the default content on /exit page
43
+
44
+ // set the content on /exit page
24
45
  if (req.form.options.route === '/exit' && config.exitFormContent === true) {
46
+ superLocals.exitFormContent = true;
47
+ return superLocals;
48
+ } else if (req.form.options.route === '/exit' && config.exitFormContent === false) {
25
49
  superLocals.header = req.translate('exit.header');
26
50
  superLocals.title = req.translate('exit.title');
27
51
  superLocals.message = req.translate('exit.message');
@@ -14,8 +14,8 @@ const defaults = {
14
14
  getCookies: true,
15
15
  getTerms: true,
16
16
  getAccessibility: false,
17
- sessionTimeoutWarningContent: true,
18
- exitFormContent: true,
17
+ sessionTimeoutWarningContent: false,
18
+ exitFormContent: false,
19
19
  viewEngine: 'html',
20
20
  protocol: process.env.PROTOCOL || 'http',
21
21
  noCache: process.env.NO_CACHE || false,
@@ -3,7 +3,7 @@
3
3
  {{header}}
4
4
  {{/header}}
5
5
  {{$content}}
6
- <h2 class="govuk-heading-m">{{#exitFormContent}}{{message}}{{/exitFormContent}}{{^exitFormContent}}{{#t}}pages.exit.message{{/t}}{{/exitFormContent}}</h2>
6
+ <h2 class="govuk-heading-m">{{#exitFormContent}}{{#t}}pages.exit.message{{/t}}{{/exitFormContent}}{{^exitFormContent}}{{#t}}{{message}}{{/t}}{{/exitFormContent}}</h2>
7
7
  <a href="/" class="govuk-button" role="button">{{#t}}buttons.start-again{{/t}}</a>
8
8
  {{/content}}
9
9
  {{/layout}}
@@ -8,15 +8,30 @@
8
8
  data-url-redirect="/session-timeout" class="modal-dialog dialog" role="dialog"
9
9
  aria-live="polite" aria-labelledby="dialog-title" aria-describedby="at-timer">
10
10
  <div class="modal-dialog__inner">
11
- <h1 id="dialog-title" class="govuk-heading-l">
12
- {{#dialogTitle}}Your page will time out soon {{/dialogTitle}}{{^dialogTitle}}{{#t}}pages.session-timeout-warning.dialog-title{{/t}}{{/dialogTitle}}
13
- </h1>
14
- <div class="modal-dialog__inner__text govuk-body">
11
+ {{^showSaveAndExit}}
12
+ <h2 id="dialog-title" class="govuk-heading-l">
13
+ {{#dialogTitle}}{{#t}}pages.session-timeout-warning.dialog-title{{/t}}{{/dialogTitle}}{{^dialogTitle}}Your page will time out soon{{/dialogTitle}}
14
+ </h2>
15
+ <div class="govuk-body">
15
16
  <div id="timer" class="timer" aria-hidden="true" aria-relevant="additions"></div>
16
17
  <div id="at-timer" class="at-timer govuk-visually-hidden" role="status"></div>
17
- <p class="dialog-text visually-hidden">{{#dialogText}}If that happens, your progress will not be saved.{{/dialogText}}{{^dialogText}}{{#t}}pages.session-timeout-warning.dialog-text{{/t}}{{/dialogText}}</p>
18
+ <p class="dialog-text-prefix visually-hidden">To protect your information, this page will time out in </p>
19
+ <p class="dialog-text visually-hidden">{{#dialogText}}{{#t}}pages.session-timeout-warning.dialog-text{{/t}}{{/dialogText}}{{^dialogText}}If that happens, your progress will not be saved.{{/dialogText}}</p>
18
20
  </div>
19
- <button class="govuk-button dialog-button modal-dialog__inner__button js-dialog-close" id="timeout-continue-button" data-module="govuk-button">{{#timeoutContinueButton}}Stay on this page{{/timeoutContinueButton}}{{^timeoutContinueButton}}{{#t}}pages.session-timeout-warning.timeout-continue-button{{/t}}{{/timeoutContinueButton}}</button>
20
- <a href="/exit" class="govuk-link dialog-exit-link" role="button">{{#dialogExitLink}}Exit this form{{/dialogExitLink}}{{^dialogExitLink}}{{#t}}pages.session-timeout-warning.dialog-exit-link{{/t}}{{/dialogExitLink}}</a>
21
+ <button class="govuk-button dialog-button js-dialog-close" id="timeout-continue-button" data-module="govuk-button">{{#timeoutContinueButton}}{{#t}}pages.session-timeout-warning.timeout-continue-button{{/t}}{{/timeoutContinueButton}}{{^timeoutContinueButton}}Stay on this page{{/timeoutContinueButton}}</button>
22
+ <a href="/exit" class="govuk-link dialog-exit-link" role="button">{{#dialogExitLink}}{{#t}}pages.session-timeout-warning.dialog-exit-link{{/t}}{{/dialogExitLink}}{{^dialogExitLink}}Exit this form{{/dialogExitLink}}</a>
23
+ {{/showSaveAndExit}}
24
+ {{#showSaveAndExit}}
25
+ <h2 id="dialog-title" class="govuk-heading-l">
26
+ {{#dialogTitle}}{{#t}}pages.session-timeout-warning.dialog-title{{/t}}{{/dialogTitle}}{{^dialogTitle}}You will be signed out soon{{/dialogTitle}}
27
+ </h2>
28
+ <div class="govuk-body">
29
+ <div id="timer" class="timer" aria-hidden="true" aria-relevant="additions"></div>
30
+ <div id="at-timer" class="at-timer govuk-visually-hidden" role="status"></div>
31
+ <p class="dialog-text-prefix visually-hidden">To protect your information, you will be signed out in </p>
32
+ </div>
33
+ <button class="govuk-button dialog-button js-dialog-close" id="timeout-continue-button" data-module="govuk-button">{{#timeoutContinueButton}}{{#t}}pages.session-timeout-warning.timeout-continue-button{{/t}}{{/timeoutContinueButton}}{{^timeoutContinueButton}}Stay signed in{{/timeoutContinueButton}}</button>
34
+ <a href="/save-and-exit" class="govuk-link dialog-exit-link" role="button">{{#dialogExitLink}}{{#t}}pages.session-timeout-warning.dialog-exit-link{{/t}}{{/dialogExitLink}}{{^dialogExitLink}}Sign out{{/dialogExitLink}}</a>
35
+ {{/showSaveAndExit}}
21
36
  </div>
22
37
  </dialog>
@@ -0,0 +1,19 @@
1
+ {{<layout}}
2
+ {{$journeyHeader}}
3
+ {{#t}}journey.header{{/t}}
4
+ {{/journeyHeader}}
5
+
6
+ {{$propositionHeader}}
7
+ {{> partials-navigation}}
8
+ {{/propositionHeader}}
9
+
10
+ {{$header}}
11
+ {{header}}
12
+ {{/header}}
13
+
14
+ {{$content}}
15
+ <p>{{#t}}pages.save-and-exit.paragraph-1{{/t}}</p>
16
+ <p>{{#t}}pages.save-and-exit.paragraph-2{{/t}}</p>
17
+ <p>{{#t}}pages.save-and-exit.paragraph-3{{/t}} <a href="/" class="govuk-link">start page.</a></p>
18
+ {{/content}}
19
+ {{/layout}}
@@ -13,7 +13,7 @@ window.GOVUK.sessionDialog = {
13
13
  $fallBackElement: $('.govuk-timeout-warning-fallback'),
14
14
  dialogIsOpenClass: 'dialog-is-open',
15
15
  timers: [],
16
- warningTextPrefix: 'To protect your information, this page will time out in ',
16
+ warningTextPrefix: $('.dialog-text-prefix').text(),
17
17
  warningTextSuffix: '.',
18
18
  warningText: $('.dialog-text').text(),
19
19
  warningTextExtra: '',
@@ -44,96 +44,6 @@
44
44
  padding: 20px;
45
45
  }
46
46
 
47
- @media (min-width: 641px) {
48
- .modal-dialog__inner {
49
- padding: 30px;
50
- }
51
- }
52
-
53
- .modal-dialog__inner__text {
54
- font-family: "nta", Arial, sans-serif;
55
- font-weight: 400;
56
- text-transform: none;
57
- font-size: 16px;
58
- line-height: 1.25;
59
- padding-top: 2px;
60
- padding-bottom: 8px;
61
- margin-bottom: 20px;
62
- }
63
-
64
- @media (min-width: 641px) {
65
- .modal-dialog__inner__text {
66
- font-size: 19px;
67
- line-height: 1.31579;
68
- }
69
- }
70
-
71
- @media (min-width: 641px) {
72
- .modal-dialog__inner__text {
73
- padding-top: 0;
74
- padding-bottom: 5px;
75
- }
76
- }
77
-
78
- .modal-dialog__inner__button {
79
- font-size: 19px;
80
- margin-top: 10px;
81
- }
82
-
83
- .modal-dialog__inner__link {
84
- font-family: "nta", Arial, sans-serif;
85
- font-weight: 400;
86
- text-transform: none;
87
- font-size: 16px;
88
- line-height: 1.25;
89
- padding-top: 2px;
90
- padding-bottom: 8px;
91
- background: none;
92
- border: none;
93
- vertical-align: middle;
94
- margin-top: 20px;
95
-
96
- &:hover {
97
- cursor: pointer;
98
- }
99
- }
100
-
101
- @media (min-width: 641px) {
102
- .modal-dialog__inner__link {
103
- font-size: 19px;
104
- line-height: 1.31579;
105
- }
106
- }
107
-
108
- @media (min-width: 641px) {
109
- .modal-dialog__inner__link {
110
- padding-top: 0;
111
- padding-bottom: 5px;
112
- }
113
- }
114
-
115
- @media (max-width: 640px) {
116
- .modal-dialog__inner__link {
117
- text-align: center;
118
- display: block;
119
- margin-top: 25px;
120
- }
121
- }
122
-
123
- @media (min-width: 641px) {
124
- .modal-dialog__inner__link {
125
- position: absolute;
126
- top: 50%;
127
- transform: translateY(-50%);
128
- padding: 0;
129
- margin: 0 0 0 30px;
130
- }
131
- }
132
-
133
- .modal-dialog__inner__block {
134
- position: relative;
135
- }
136
-
137
47
  .modal-dialog #dialog-title {
138
48
  margin-top: 0;
139
49
  }
@@ -200,13 +110,11 @@ dialog {
200
110
  .dialog-exit-link {
201
111
  @include govuk-font($size: 24);
202
112
  display: inline-block;
203
- margin: 5px;
204
113
 
205
114
  @include govuk-media-query($from: tablet) {
206
115
  @include govuk-font($size: 19);
207
116
 
208
117
  position: relative;
209
- top: 2px;
210
118
  padding: 0.526315em 0.789473em 0.263157em;
211
119
  line-height: 1.5;
212
120
  }