@planning-inspectorate/dynamic-forms 3.10.10 → 3.10.12

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.
Files changed (135) hide show
  1. package/package.json +1 -1
  2. package/src/questions/question.js +3 -3
  3. package/src/section.js +2 -2
  4. package/types/commitlint.config.d.ts +7 -0
  5. package/types/commitlint.config.d.ts.map +1 -0
  6. package/types/eslint.config.d.ts +95 -0
  7. package/types/eslint.config.d.ts.map +1 -0
  8. package/types/move-types.d.ts +2 -0
  9. package/types/move-types.d.ts.map +1 -0
  10. package/types/src/components/address/question.d.ts +36 -0
  11. package/types/src/components/address/question.d.ts.map +1 -0
  12. package/types/src/components/boolean/question.d.ts +52 -0
  13. package/types/src/components/boolean/question.d.ts.map +1 -0
  14. package/types/src/components/checkbox/question.d.ts +52 -0
  15. package/types/src/components/checkbox/question.d.ts.map +1 -0
  16. package/types/src/components/date/question.d.ts +23 -0
  17. package/types/src/components/date/question.d.ts.map +1 -0
  18. package/types/src/components/date-period/question.d.ts +35 -0
  19. package/types/src/components/date-period/question.d.ts.map +1 -0
  20. package/types/src/components/date-time/question.d.ts +25 -0
  21. package/types/src/components/date-time/question.d.ts.map +1 -0
  22. package/types/src/components/email/question.d.ts +31 -0
  23. package/types/src/components/email/question.d.ts.map +1 -0
  24. package/types/src/components/identifier/question.d.ts +16 -0
  25. package/types/src/components/identifier/question.d.ts.map +1 -0
  26. package/types/src/components/manage-list/manage-list-actions.d.ts +10 -0
  27. package/types/src/components/manage-list/manage-list-actions.d.ts.map +1 -0
  28. package/types/src/components/manage-list/manage-list-section.d.ts +16 -0
  29. package/types/src/components/manage-list/manage-list-section.d.ts.map +1 -0
  30. package/types/src/components/manage-list/question.d.ts +49 -0
  31. package/types/src/components/manage-list/question.d.ts.map +1 -0
  32. package/types/src/components/manage-list/utils.d.ts +18 -0
  33. package/types/src/components/manage-list/utils.d.ts.map +1 -0
  34. package/types/src/components/multi-field-input/question.d.ts +61 -0
  35. package/types/src/components/multi-field-input/question.d.ts.map +1 -0
  36. package/types/src/components/number-entry/question.d.ts +38 -0
  37. package/types/src/components/number-entry/question.d.ts.map +1 -0
  38. package/types/src/components/radio/question.d.ts +58 -0
  39. package/types/src/components/radio/question.d.ts.map +1 -0
  40. package/types/src/components/select/question.d.ts +55 -0
  41. package/types/src/components/select/question.d.ts.map +1 -0
  42. package/types/src/components/single-line-input/question.d.ts +19 -0
  43. package/types/src/components/single-line-input/question.d.ts.map +1 -0
  44. package/types/src/components/text-entry/question.d.ts +35 -0
  45. package/types/src/components/text-entry/question.d.ts.map +1 -0
  46. package/types/src/components/text-entry-redact/question.d.ts +35 -0
  47. package/types/src/components/text-entry-redact/question.d.ts.map +1 -0
  48. package/types/src/components/unit-option-entry/question.d.ts +84 -0
  49. package/types/src/components/unit-option-entry/question.d.ts.map +1 -0
  50. package/types/src/components/utils/component-types.d.ts +19 -0
  51. package/types/src/components/utils/component-types.d.ts.map +1 -0
  52. package/types/src/components/utils/persisted-number-answer.d.ts +2 -0
  53. package/types/src/components/utils/persisted-number-answer.d.ts.map +1 -0
  54. package/types/src/components/utils/question-has-answer.d.ts +17 -0
  55. package/types/src/components/utils/question-has-answer.d.ts.map +1 -0
  56. package/types/src/components/utils/question-utils.d.ts +15 -0
  57. package/types/src/components/utils/question-utils.d.ts.map +1 -0
  58. package/types/src/controller.d.ts +75 -0
  59. package/types/src/controller.d.ts.map +1 -0
  60. package/types/src/index.d.ts +59 -0
  61. package/types/src/index.d.ts.map +1 -0
  62. package/types/src/journey/journey-response.d.ts +32 -0
  63. package/types/src/journey/journey-response.d.ts.map +1 -0
  64. package/types/src/journey/journey-types.d.ts +28 -0
  65. package/types/src/journey/journey-types.d.ts.map +1 -0
  66. package/types/src/journey/journey.d.ts +136 -0
  67. package/types/src/journey/journey.d.ts.map +1 -0
  68. package/types/src/lib/address-utils.d.ts +6 -0
  69. package/types/src/lib/address-utils.d.ts.map +1 -0
  70. package/types/src/lib/address.d.ts +43 -0
  71. package/types/src/lib/address.d.ts.map +1 -0
  72. package/types/src/lib/date-utils.d.ts +60 -0
  73. package/types/src/lib/date-utils.d.ts.map +1 -0
  74. package/types/src/lib/session-answer-store.d.ts +88 -0
  75. package/types/src/lib/session-answer-store.d.ts.map +1 -0
  76. package/types/src/lib/utils.d.ts +26 -0
  77. package/types/src/lib/utils.d.ts.map +1 -0
  78. package/types/src/lib/uuid.d.ts +7 -0
  79. package/types/src/lib/uuid.d.ts.map +1 -0
  80. package/types/src/middleware/build-get-journey.d.ts +6 -0
  81. package/types/src/middleware/build-get-journey.d.ts.map +1 -0
  82. package/types/src/middleware/redirect-to-unanswered-question.d.ts +12 -0
  83. package/types/src/middleware/redirect-to-unanswered-question.d.ts.map +1 -0
  84. package/types/src/questions/create-questions.d.ts +21 -0
  85. package/types/src/questions/create-questions.d.ts.map +1 -0
  86. package/types/src/questions/options-question.d.ts +80 -0
  87. package/types/src/questions/options-question.d.ts.map +1 -0
  88. package/types/src/questions/question-props.d.ts +182 -0
  89. package/types/src/questions/question-props.d.ts.map +1 -0
  90. package/types/src/questions/question-types.d.ts +86 -0
  91. package/types/src/questions/question-types.d.ts.map +1 -0
  92. package/types/src/questions/question.d.ts +272 -0
  93. package/types/src/questions/question.d.ts.map +1 -0
  94. package/types/src/questions/questions.d.ts +3 -0
  95. package/types/src/questions/questions.d.ts.map +1 -0
  96. package/types/src/section.d.ts +107 -0
  97. package/types/src/section.d.ts.map +1 -0
  98. package/types/src/validator/address-validator.d.ts +48 -0
  99. package/types/src/validator/address-validator.d.ts.map +1 -0
  100. package/types/src/validator/base-validator.d.ts +12 -0
  101. package/types/src/validator/base-validator.d.ts.map +1 -0
  102. package/types/src/validator/conditional-required-validator.d.ts +25 -0
  103. package/types/src/validator/conditional-required-validator.d.ts.map +1 -0
  104. package/types/src/validator/confirmation-checkbox-validator.d.ts +28 -0
  105. package/types/src/validator/confirmation-checkbox-validator.d.ts.map +1 -0
  106. package/types/src/validator/coordinates-validator.d.ts +23 -0
  107. package/types/src/validator/coordinates-validator.d.ts.map +1 -0
  108. package/types/src/validator/date-period-validator.d.ts +64 -0
  109. package/types/src/validator/date-period-validator.d.ts.map +1 -0
  110. package/types/src/validator/date-time-validator.d.ts +27 -0
  111. package/types/src/validator/date-time-validator.d.ts.map +1 -0
  112. package/types/src/validator/date-validator.d.ts +49 -0
  113. package/types/src/validator/date-validator.d.ts.map +1 -0
  114. package/types/src/validator/document-upload-validator.d.ts +12 -0
  115. package/types/src/validator/document-upload-validator.d.ts.map +1 -0
  116. package/types/src/validator/email-validator.d.ts +74 -0
  117. package/types/src/validator/email-validator.d.ts.map +1 -0
  118. package/types/src/validator/multi-field-input-validator.d.ts +91 -0
  119. package/types/src/validator/multi-field-input-validator.d.ts.map +1 -0
  120. package/types/src/validator/numeric-validator.d.ts +50 -0
  121. package/types/src/validator/numeric-validator.d.ts.map +1 -0
  122. package/types/src/validator/required-validator.d.ts +23 -0
  123. package/types/src/validator/required-validator.d.ts.map +1 -0
  124. package/types/src/validator/same-answer-validator.d.ts +19 -0
  125. package/types/src/validator/same-answer-validator.d.ts.map +1 -0
  126. package/types/src/validator/string-validator.d.ts +59 -0
  127. package/types/src/validator/string-validator.d.ts.map +1 -0
  128. package/types/src/validator/unit-option-entry-validator.d.ts +41 -0
  129. package/types/src/validator/unit-option-entry-validator.d.ts.map +1 -0
  130. package/types/src/validator/valid-option-validator.d.ts +19 -0
  131. package/types/src/validator/valid-option-validator.d.ts.map +1 -0
  132. package/types/src/validator/validation-error-handler.d.ts +20 -0
  133. package/types/src/validator/validation-error-handler.d.ts.map +1 -0
  134. package/types/src/validator/validator.d.ts +5 -0
  135. package/types/src/validator/validator.d.ts.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/dynamic-forms",
3
- "version": "3.10.10",
3
+ "version": "3.10.12",
4
4
  "description": "This package is for building GDS forms using a configuration-based approach.",
5
5
  "main": "./src/index.js",
6
6
  "type": "module",
@@ -99,7 +99,7 @@ export class Question {
99
99
  _isInManageListSection = false;
100
100
 
101
101
  /**
102
- * @param {import('#question-types').QuestionParameters} params
102
+ * @param {import('./question-types.js').QuestionParameters} params
103
103
  * @param {Record<string, Function>} [methodOverrides]
104
104
  */
105
105
  constructor(
@@ -214,7 +214,7 @@ export class Question {
214
214
  * @param {import('../journey/journey.js').Journey} journey - the journey we are in
215
215
  * @param {Record<string, unknown>} [customViewData] additional data to send to view
216
216
  * @param {unknown} [payload]
217
- * @param {import('#question-types').PrepQuestionForRenderingOptions} [options] - required to support manage list question
217
+ * @param {import('./question-types.js').PrepQuestionForRenderingOptions} [options] - required to support manage list question
218
218
  * @returns {QuestionViewModel}
219
219
  */
220
220
  prepQuestionForRendering(section, journey, customViewData, payload, options) {
@@ -282,7 +282,7 @@ export class Question {
282
282
  * Get the answers object from the journey response, which may be nested in an array for manage list questions
283
283
  *
284
284
  * @param {import('../journey/journey-response.js').JourneyResponse} response
285
- * @param {import('#question-types').PrepQuestionForRenderingOptions} [options]
285
+ * @param {import('./question-types.js').PrepQuestionForRenderingOptions} [options]
286
286
  * @returns {Record<string, any>}
287
287
  */
288
288
  answerObjectFromJourneyResponse(response, { params, manageListQuestion } = {}) {
package/src/section.js CHANGED
@@ -83,8 +83,8 @@ export class Section {
83
83
 
84
84
  /**
85
85
  * Fluent API method for adding questions
86
- * @param {import('#src/questions/question.js').Question} question
87
- * @param {import('#src/components/manage-list/manage-list-section.js').ManageListSection} [manageListSection]
86
+ * @param {import('./questions/question.js').Question} question
87
+ * @param {import('./components/manage-list/manage-list-section.js').ManageListSection} [manageListSection]
88
88
  * @returns {Section}
89
89
  */
90
90
  addQuestion(question, manageListSection) {
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ let _extends: string[];
3
+ export { _extends as extends };
4
+ export let ignores: ((commit: any) => any)[];
5
+ }
6
+ export default _default;
7
+ //# sourceMappingURL=commitlint.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitlint.config.d.ts","sourceRoot":"","sources":["../commitlint.config.js"],"names":[],"mappings":""}
@@ -0,0 +1,95 @@
1
+ declare const _default: ({
2
+ readonly rules: Readonly<import("eslint").Linter.RulesRecord>;
3
+ } | {
4
+ ignores: string[];
5
+ languageOptions: {
6
+ ecmaVersion: number;
7
+ sourceType: string;
8
+ globals: {
9
+ __dirname: false;
10
+ __filename: false;
11
+ AbortController: false;
12
+ AbortSignal: false;
13
+ AsyncDisposableStack: false;
14
+ atob: false;
15
+ Blob: false;
16
+ BroadcastChannel: false;
17
+ btoa: false;
18
+ Buffer: false;
19
+ ByteLengthQueuingStrategy: false;
20
+ clearImmediate: false;
21
+ clearInterval: false;
22
+ clearTimeout: false;
23
+ CloseEvent: false;
24
+ CompressionStream: false;
25
+ console: false;
26
+ CountQueuingStrategy: false;
27
+ crypto: false;
28
+ Crypto: false;
29
+ CryptoKey: false;
30
+ CustomEvent: false;
31
+ DecompressionStream: false;
32
+ DisposableStack: false;
33
+ DOMException: false;
34
+ ErrorEvent: false;
35
+ Event: false;
36
+ EventTarget: false;
37
+ exports: true;
38
+ fetch: false;
39
+ File: false;
40
+ FormData: false;
41
+ global: false;
42
+ Headers: false;
43
+ localStorage: false;
44
+ MessageChannel: false;
45
+ MessageEvent: false;
46
+ MessagePort: false;
47
+ module: false;
48
+ navigator: false;
49
+ Navigator: false;
50
+ performance: false;
51
+ Performance: false;
52
+ PerformanceEntry: false;
53
+ PerformanceMark: false;
54
+ PerformanceMeasure: false;
55
+ PerformanceObserver: false;
56
+ PerformanceObserverEntryList: false;
57
+ PerformanceResourceTiming: false;
58
+ process: false;
59
+ queueMicrotask: false;
60
+ ReadableByteStreamController: false;
61
+ ReadableStream: false;
62
+ ReadableStreamBYOBReader: false;
63
+ ReadableStreamBYOBRequest: false;
64
+ ReadableStreamDefaultController: false;
65
+ ReadableStreamDefaultReader: false;
66
+ Request: false;
67
+ require: false;
68
+ Response: false;
69
+ sessionStorage: false;
70
+ setImmediate: false;
71
+ setInterval: false;
72
+ setTimeout: false;
73
+ Storage: false;
74
+ structuredClone: false;
75
+ SubtleCrypto: false;
76
+ SuppressedError: false;
77
+ TextDecoder: false;
78
+ TextDecoderStream: false;
79
+ TextEncoder: false;
80
+ TextEncoderStream: false;
81
+ TransformStream: false;
82
+ TransformStreamDefaultController: false;
83
+ URL: false;
84
+ URLPattern: false;
85
+ URLSearchParams: false;
86
+ WebAssembly: false;
87
+ WebSocket: false;
88
+ WritableStream: false;
89
+ WritableStreamDefaultController: false;
90
+ WritableStreamDefaultWriter: false;
91
+ };
92
+ };
93
+ })[];
94
+ export default _default;
95
+ //# sourceMappingURL=eslint.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../eslint.config.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=move-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move-types.d.ts","sourceRoot":"","sources":["../move-types.js"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ export class AddressQuestion extends Question {
2
+ /**
3
+ * @param {import('#question-types').QuestionParameters} params
4
+ */
5
+ constructor(params: import("#question-types").QuestionParameters);
6
+ requiredFields: {
7
+ addressLine1: boolean;
8
+ addressLine2: boolean;
9
+ townCity: boolean;
10
+ county: boolean;
11
+ postcode: boolean;
12
+ } | undefined;
13
+ addressLabels: {
14
+ addressLine1: string;
15
+ addressLine2: string;
16
+ townCity: string;
17
+ county: string;
18
+ postcode: string;
19
+ };
20
+ /**
21
+ * @param {Record<string, any>} answers
22
+ * @returns {*|string}
23
+ */
24
+ answerForViewModel(answers: Record<string, any>): any | string;
25
+ /**
26
+ * @param {Object<string, any>} answer
27
+ * @returns The formatted address to be presented in the UI
28
+ */
29
+ format(answer: {
30
+ [x: string]: any;
31
+ }): string;
32
+ formatLabelFromRequiredFields(fieldName: any): "" | " (optional)";
33
+ }
34
+ export default AddressQuestion;
35
+ import { Question } from '#question';
36
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/address/question.js"],"names":[],"mappings":"AAOA;IACC;;OAEG;IACH,oBAFW,OAAO,iBAAiB,EAAE,kBAAkB,EAqBtD;IAXE;;;;;;kBAA8C;IAIhD;;;;;;MAMC;IAGF;;;OAGG;IACH,4BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,GAAC,GAAC,MAAM,CAqBpB;IAqCD;;;OAGG;IACH;;eAUC;IAuBD,kEAMC;CACD;;yBAxIwB,WAAW"}
@@ -0,0 +1,52 @@
1
+ export const BOOLEAN_OPTIONS: Readonly<{
2
+ YES: "yes";
3
+ NO: "no";
4
+ }>;
5
+ export function yesNoToBoolean(value: string | any): boolean;
6
+ export function booleanToYesNoValue(value: any): "yes" | "no";
7
+ export function booleanToYesNoOrNull(value: boolean | null): string | null;
8
+ export class BooleanQuestion extends RadioQuestion {
9
+ /**
10
+ * @param {Object} params
11
+ * @param {string} params.title
12
+ * @param {string} params.question
13
+ * @param {string} params.fieldName
14
+ * @param {string} [params.url]
15
+ * @param {string} [params.hint]
16
+ * @param {string} [params.pageTitle]
17
+ * @param {string} [params.description]
18
+ * @param {string} [params.html]
19
+ * @param {string} [params.interfaceType]
20
+ * @param {Array.<import('../../questions/options-question.js').Option>} [params.options]
21
+ * @param {Array.<import('#base-validator').BaseValidator>} [params.validators]
22
+ * @param {boolean} [params.editable]
23
+ * @param {import('#question-types').QuestionParameters['viewData']} [params.viewData]
24
+ */
25
+ constructor({ title, question, fieldName, url, hint, pageTitle, description, html, validators, interfaceType, options, editable, viewData }: {
26
+ title: string;
27
+ question: string;
28
+ fieldName: string;
29
+ url?: string | undefined;
30
+ hint?: string | undefined;
31
+ pageTitle?: string | undefined;
32
+ description?: string | undefined;
33
+ html?: string | undefined;
34
+ interfaceType?: string | undefined;
35
+ options?: import("../../questions/options-question.js").Option[] | undefined;
36
+ validators?: import("#base-validator").BaseValidator[] | undefined;
37
+ editable?: boolean | undefined;
38
+ viewData?: import("#question-types").QuestionParameters["viewData"];
39
+ });
40
+ interfaceType: string;
41
+ /**
42
+ * Get the data to save from the request, returns an object of answers
43
+ * @param {import('express').Request} req
44
+ * @param {JourneyResponse} journeyResponse - current journey response, modified with the new answers
45
+ * @returns {Promise<{ answers: Record<string, unknown> }>}
46
+ */ getDataToSave(req: import("express").Request, journeyResponse: JourneyResponse): Promise<{
47
+ answers: Record<string, unknown>;
48
+ }>;
49
+ }
50
+ export default BooleanQuestion;
51
+ import RadioQuestion from '../radio/question.js';
52
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/boolean/question.js"],"names":[],"mappings":"AAEA;;;GAGG;AAMI,sCAHI,MAAM,GAAC,GAAC,GACN,OAAO,CAOnB;AAEM,8DAEN;AAMM,4CAHI,OAAO,GAAC,IAAI,GACV,MAAM,GAAC,IAAI,CAOvB;AAED;IACC;;;;;;;;;;;;;;;OAeG;IACH,6IAdG;QAAuB,KAAK,EAApB,MAAM;QACS,QAAQ,EAAvB,MAAM;QACS,SAAS,EAAxB,MAAM;QACU,GAAG;QACH,IAAI;QACJ,SAAS;QACT,WAAW;QACX,IAAI;QACJ,aAAa;QACyC,OAAO;QACpB,UAAU;QAClD,QAAQ;QACyC,QAAQ,GAA1E,OAAO,iBAAiB,EAAE,kBAAkB,CAAC,UAAU,CAAC;KAAmB,EAmDrF;IADA,sBAAkC;IAGnC;;;;;OAKG,CACH,mBAJW,OAAO,SAAS,EAAE,OAAO,mBACzB,eAAe,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAezD;CACD;;0BAzHyB,sBAAsB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @typedef ConditionalAnswerObject
3
+ * @type {object}
4
+ * @property {string} value the checkbox answer
5
+ * @property {string} conditional the conditional text input
6
+ */
7
+ export class CheckboxQuestion extends OptionsQuestion {
8
+ /**
9
+ * @param {Object} params
10
+ * @param {string} params.title
11
+ * @param {string} params.question
12
+ * @param {string} params.fieldName
13
+ * @param {string} [params.url]
14
+ * @param {string} [params.pageTitle]
15
+ * @param {string} [params.description]
16
+ * @param {Array.<import('../../questions/options-question.js').Option>} params.options
17
+ * @param {Array.<import('#base-validator').BaseValidator>} [params.validators]
18
+ * @param {import('#question-types').QuestionParameters['viewData']} [params.viewData]
19
+ */
20
+ constructor({ title, question, fieldName, url, pageTitle, description, options, validators, viewData }: {
21
+ title: string;
22
+ question: string;
23
+ fieldName: string;
24
+ url?: string | undefined;
25
+ pageTitle?: string | undefined;
26
+ description?: string | undefined;
27
+ options: Array<import("../../questions/options-question.js").Option>;
28
+ validators?: import("#base-validator").BaseValidator[] | undefined;
29
+ viewData?: import("#question-types").QuestionParameters["viewData"];
30
+ });
31
+ /**
32
+ * returns the formatted answers values to be used to build task list elements
33
+ * @param {string | ConditionalAnswerObject } answer will be a single value string, a comma-separated string representing multiple values (one of which may be a conditional) or a single ConditionalAnswerObject
34
+ * @param {import('#journey').Journey} journey
35
+ * @param {String} sectionSegment
36
+ * @returns {Array.<Object>}
37
+ */
38
+ formatAnswerForSummary(sectionSegment: string, journey: import("#journey").Journey, answer: string | ConditionalAnswerObject): Array<Object>;
39
+ }
40
+ export default CheckboxQuestion;
41
+ export type ConditionalAnswerObject = {
42
+ /**
43
+ * the checkbox answer
44
+ */
45
+ value: string;
46
+ /**
47
+ * the conditional text input
48
+ */
49
+ conditional: string;
50
+ };
51
+ import OptionsQuestion from '../../questions/options-question.js';
52
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/checkbox/question.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH;IACC;;;;;;;;;;;OAWG;IACH,wGAVG;QAAuB,KAAK,EAApB,MAAM;QACS,QAAQ,EAAvB,MAAM;QACS,SAAS,EAAxB,MAAM;QACU,GAAG;QACH,SAAS;QACT,WAAW;QAC0C,OAAO,EAA5E,KAAK,CAAE,OAAO,qCAAqC,EAAE,MAAM,CAAC;QACH,UAAU;QACD,QAAQ,GAA1E,OAAO,iBAAiB,EAAE,kBAAkB,CAAC,UAAU,CAAC;KAAmB,EAiBrF;IAED;;;;;;OAMG;IACH,wDAJW,OAAO,UAAU,EAAE,OAAO,UAD1B,MAAM,GAAG,uBAAuB,GAG9B,KAAK,CAAE,MAAM,CAAC,CAuC1B;CACD;;;;;;WA/Ea,MAAM;;;;iBACN,MAAM;;4BATQ,qCAAqC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @class
3
+ */
4
+ export class DateQuestion extends Question {
5
+ /**
6
+ * @param {import('#question-types').QuestionParameters} params
7
+ * @param {string} [params.dateFormat]
8
+ */
9
+ constructor({ dateFormat, ...params }: import("#question-types").QuestionParameters);
10
+ dateFormat: any;
11
+ /**
12
+ * Get the data to save from the request, returns an object of answers
13
+ * @param {import('express').Request} req
14
+ * @param {import('#journey-response').JourneyResponse} journeyResponse - current journey response, modified with the new answers
15
+ * @returns {Promise.<Object>}
16
+ */ getDataToSave(req: import("express").Request, journeyResponse: import("#journey-response").JourneyResponse): Promise<Object>;
17
+ answerForViewModel(answers: any, isPayload: any): {
18
+ [x: string]: any;
19
+ };
20
+ }
21
+ export default DateQuestion;
22
+ import { Question } from '../../questions/question.js';
23
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/date/question.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACC;;;OAGG;IACH,uCAHW,OAAO,iBAAiB,EAAE,kBAAkB,EAStD;IADA,gBAA4B;IAG7B;;;;;OAKG,CACH,mBAJW,OAAO,SAAS,EAAE,OAAO,mBACzB,OAAO,mBAAmB,EAAE,eAAe,GACzC,OAAO,CAAE,MAAM,CAAC,CAY5B;IAED;;MAwBC;CAoBD;;yBAlFwB,6BAA6B"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Represents a date period, two dates which make up a period or range
3
+ * @class
4
+ */
5
+ export class DatePeriodQuestion extends Question {
6
+ /**
7
+ * @param {import('#question-types').QuestionParameters} params
8
+ * @param {string} [params.dateFormat]
9
+ * @param {{start: string, end: string}} [params.labels]
10
+ * @param {string} [params.hint]
11
+ * @param {string} [params.hintStart]
12
+ * @param {string} [params.hintEnd]
13
+ * @param {{hour: number, minute: number, second: number}} [params.startTime]
14
+ * @param {{hour: number, minute: number, second: number}} [params.endTime]
15
+ */
16
+ constructor({ dateFormat, hint, labels, hintStart, startTime, hintEnd, endTime, ...params }: import("#question-types").QuestionParameters);
17
+ dateFormat: any;
18
+ labels: any;
19
+ hintStart: any;
20
+ hintEnd: any;
21
+ startTime: any;
22
+ endTime: any;
23
+ /**
24
+ * Get the data to save from the request, returns an object of answers
25
+ * @param {import('express').Request} req
26
+ * @param {import('#journey-response').JourneyResponse} journeyResponse - current journey response, modified with the new answers
27
+ * @returns {Promise.<Object>}
28
+ */ getDataToSave(req: import("express").Request, journeyResponse: import("#journey-response").JourneyResponse): Promise<Object>;
29
+ answerForViewModel(answers: any, isPayload: any): {
30
+ [x: string]: any;
31
+ };
32
+ }
33
+ export default DatePeriodQuestion;
34
+ import { Question } from '#question';
35
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/date-period/question.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH;IACC;;;;;;;;;OASG;IACH,6FATW,OAAO,iBAAiB,EAAE,kBAAkB,EAqBtD;IAPA,gBAA4B;IAC5B,YAAsD;IAEtD,eAA0B;IAC1B,aAAsB;IACtB,eAA+D;IAC/D,aAA2D;IAG5D;;;;;OAKG,CACH,mBAJW,OAAO,SAAS,EAAE,OAAO,mBACzB,OAAO,mBAAmB,EAAE,eAAe,GACzC,OAAO,CAAE,MAAM,CAAC,CAgC5B;IAED;;MAuCC;CAyCD;;yBAzJwB,WAAW"}
@@ -0,0 +1,25 @@
1
+ export class DateTimeQuestion extends Question {
2
+ static AM: string;
3
+ static PM: string;
4
+ /**
5
+ * @param {import('#question-types').QuestionParameters} params
6
+ * @param {string} [params.dateFormat]
7
+ * @param {string} [params.timeFormat]
8
+ */
9
+ constructor({ dateFormat, timeFormat, ...params }: import("#question-types").QuestionParameters);
10
+ dateFormat: any;
11
+ timeFormat: any;
12
+ /**
13
+ * Get the data to save from the request, returns an object of answers
14
+ * @param {import('express').Request} req
15
+ * @param {JourneyResponse} journeyResponse - current journey response, modified with the new answers
16
+ * @returns {Promise.<Object>}
17
+ */ getDataToSave(req: import("express").Request, journeyResponse: JourneyResponse): Promise<Object>;
18
+ answerForViewModel(answers: any, isPayload: any): {
19
+ [x: string]: any;
20
+ };
21
+ #private;
22
+ }
23
+ export default DateTimeQuestion;
24
+ import { Question } from '../../questions/question.js';
25
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/date-time/question.js"],"names":[],"mappings":"AAMA;IACC,kBAAiB;IACjB,kBAAiB;IAEjB;;;;OAIG;IACH,mDAJW,OAAO,iBAAiB,EAAE,kBAAkB,EAWtD;IAFA,gBAA4B;IAC5B,gBAA4B;IAG7B;;;;;OAKG,CACH,mBAJW,OAAO,SAAS,EAAE,OAAO,mBACzB,eAAe,GACb,OAAO,CAAE,MAAM,CAAC,CAqB5B;IAED;;MAqCC;;CAoCD;;yBA5HwB,6BAA6B"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @typedef {import('#question').QuestionViewModel} QuestionViewModel
3
+ * @typedef {import('#journey').Journey} Journey
4
+ * @typedef {import('#journey-response').JourneyResponse} JourneyResponse
5
+ * @typedef {import('../../section').Section} Section
6
+ * @typedef {import('../../validator/base-validator')} BaseValidator
7
+ */
8
+ /**
9
+ * Email input question that extends SingleLineInputQuestion
10
+ * Automatically sets the input type to "email" and adds appropriate attributes
11
+ * @class
12
+ */
13
+ export class EmailQuestion extends SingleLineInputQuestion {
14
+ /**
15
+ * Override formatAnswerForSummary to prevent capitalization of email addresses
16
+ * Email addresses should remain in their original case (typically lowercase)
17
+ * @param {string} sectionSegment
18
+ * @param {import('#journey').Journey} journey
19
+ * @param {string} answer
20
+ * @returns {Array}
21
+ */
22
+ formatAnswerForSummary(sectionSegment: string, journey: import("#journey").Journey, answer: string): any[];
23
+ }
24
+ export default EmailQuestion;
25
+ export type QuestionViewModel = import("#question").QuestionViewModel;
26
+ export type Journey = import("#journey").Journey;
27
+ export type JourneyResponse = import("#journey-response").JourneyResponse;
28
+ export type Section = any;
29
+ export type BaseValidator = any;
30
+ import SingleLineInputQuestion from '../single-line-input/question.js';
31
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/email/question.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH;;;;GAIG;AACH;IA2BC;;;;;;;OAOG;IACH,uCALW,MAAM,WACN,OAAO,UAAU,EAAE,OAAO,UAC1B,MAAM,SAMhB;CACD;;gCAnDY,OAAO,WAAW,EAAE,iBAAiB;sBACrC,OAAO,UAAU,EAAE,OAAO;8BAC1B,OAAO,mBAAmB,EAAE,eAAe;;;oCALpB,kCAAkC"}
@@ -0,0 +1,16 @@
1
+ export class IdentifierQuestion extends Question {
2
+ /**
3
+ * @param {import('#question-types').QuestionParameters} params
4
+ * @param {string} [params.inputClasses] css class string to be added to the input
5
+ * @param {string|undefined} [params.label] if defined this show as a label for the input and the question will just be a standard h1
6
+ */
7
+ constructor({ inputClasses, label, ...params }: import("#question-types").QuestionParameters);
8
+ /** @type {string|undefined} page h1, optional, will default to use question's label */
9
+ pageHeading: string | undefined;
10
+ /** @type {string} css classes to apply to input element */
11
+ inputClasses: string;
12
+ label: any;
13
+ }
14
+ export default IdentifierQuestion;
15
+ import { Question } from '#question';
16
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/identifier/question.js"],"names":[],"mappings":"AAEA;IAMC;;;;OAIG;IACH,gDAJW,OAAO,iBAAiB,EAAE,kBAAkB,EAYtD;IAlBD,uFAAuF;IACvF,aADW,MAAM,GAAC,SAAS,CACf;IACZ,2DAA2D;IAC3D,cADW,MAAM,CACJ;IAcZ,WAAkB;CAUnB;;yBA9BwB,WAAW"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ *
3
+ * @type {Readonly<{ADD: string, EDIT: string, REMOVE: string}>}
4
+ */
5
+ export const MANAGE_LIST_ACTIONS: Readonly<{
6
+ ADD: string;
7
+ EDIT: string;
8
+ REMOVE: string;
9
+ }>;
10
+ //# sourceMappingURL=manage-list-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-list-actions.d.ts","sourceRoot":"","sources":["../../../../src/components/manage-list/manage-list-actions.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,kCAFU,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAM5D"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Extends the Section class for extra logic around managing lists.
3
+ */
4
+ export class ManageListSection extends Section {
5
+ constructor();
6
+ /**
7
+ * Is this section a manage list section?
8
+ *
9
+ * Used by controller and other logic.
10
+ *
11
+ * @returns {boolean}
12
+ */
13
+ get isManageListSection(): boolean;
14
+ }
15
+ import { Section } from '#src/section.js';
16
+ //# sourceMappingURL=manage-list-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-list-section.d.ts","sourceRoot":"","sources":["../../../../src/components/manage-list/manage-list-section.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACC,cAEC;IAED;;;;;;OAMG;IACH,2BAFa,OAAO,CAInB;CAmBD;wBAtCuB,iBAAiB"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @typedef {Object} ManageListQuestionParameters
3
+ * @property {string} titleSingular - the single name of the list item, e.g. "Holiday activity"
4
+ * @property {boolean} [showManageListQuestions] - whether to show the question titles as well as answers on the manage list summary page
5
+ * @property {boolean} [showAnswersInSummary] - whether to show the answers on the main check-your-answers page (or just a count)
6
+ * @property {string} [confirmationQuestion] - the name of the confirmation question to use when removing an item, default 'confirm'
7
+ */
8
+ export class ManageListQuestion extends Question {
9
+ /**
10
+ * @param {import('#question-types').QuestionParameters & ManageListQuestionParameters} params
11
+ */
12
+ constructor(params: import("#question-types").QuestionParameters & ManageListQuestionParameters);
13
+ get confirmationQuestionParam(): string;
14
+ getDataToSave(req: any, journeyResponse: any): Promise<{
15
+ answers: {
16
+ [x: string]: any;
17
+ };
18
+ }>;
19
+ formatAnswerForSummary(sectionSegment: any, journey: any, answer: any): {
20
+ key: string;
21
+ value: string;
22
+ action: import("../../controller.js").ActionView | import("../../controller.js").ActionView[] | undefined;
23
+ }[];
24
+ renderConfirmationAction(res: any, itemToRemove: any, viewModel: any): void;
25
+ set section(section: import("../../section.js").Section);
26
+ get section(): import("../../section.js").Section;
27
+ #private;
28
+ }
29
+ export default ManageListQuestion;
30
+ export type ManageListQuestionParameters = {
31
+ /**
32
+ * - the single name of the list item, e.g. "Holiday activity"
33
+ */
34
+ titleSingular: string;
35
+ /**
36
+ * - whether to show the question titles as well as answers on the manage list summary page
37
+ */
38
+ showManageListQuestions?: boolean | undefined;
39
+ /**
40
+ * - whether to show the answers on the main check-your-answers page (or just a count)
41
+ */
42
+ showAnswersInSummary?: boolean | undefined;
43
+ /**
44
+ * - the name of the confirmation question to use when removing an item, default 'confirm'
45
+ */
46
+ confirmationQuestion?: string | undefined;
47
+ };
48
+ import { Question } from '#question';
49
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/manage-list/question.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH;IAOC;;OAEG;IACH,oBAFW,OAAO,iBAAiB,EAAE,kBAAkB,GAAG,4BAA4B,EAerF;IAcD,wCAEC;IAyDD;;;;OAMC;IAED;;;;QAsBC;IAED,4EAQC;IAoCD,yDAEC;IATD,kDAKC;;CAKD;;;;;;mBArLa,MAAM;;;;;;;;;;;;;;yBAPK,WAAW"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ *
3
+ * @param {import('../../journey/journey-response.js').JourneyResponse} response
4
+ * @param {import('./question.js')} manageListQuestion
5
+ * @param {string} manageListItemId
6
+ * @returns {Record<string, unknown>}
7
+ */
8
+ export function answerObjectForManageList(response: import("../../journey/journey-response.js").JourneyResponse, manageListQuestion: typeof import("./question.js"), manageListItemId: string): Record<string, unknown>;
9
+ /**
10
+ * Similar to answerObjectForManageList but will edit response and add a new array entry if not found
11
+ *
12
+ * @param {import('../../journey/journey-response.js').JourneyResponse} response
13
+ * @param {import('./question.js')} manageListQuestion
14
+ * @param {import('../../journey/journey-types.js').RouteParams} params
15
+ * @returns {import('../../journey/journey-types.js').ManageListAnswers}
16
+ */
17
+ export function answerObjectForManageListSaving(response: import("../../journey/journey-response.js").JourneyResponse, manageListQuestion: typeof import("./question.js"), params: import("../../journey/journey-types.js").RouteParams): import("../../journey/journey-types.js").ManageListAnswers;
18
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/manage-list/utils.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oDALW,OAAO,mCAAmC,EAAE,eAAe,wEAE3D,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQnC;AAED;;;;;;;GAOG;AACH,0DALW,OAAO,mCAAmC,EAAE,eAAe,8DAE3D,OAAO,gCAAgC,EAAE,WAAW,GAClD,OAAO,gCAAgC,EAAE,iBAAiB,CAatE"}