@planning-inspectorate/dynamic-forms 3.10.10 → 3.10.11

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 (133) hide show
  1. package/package.json +1 -1
  2. package/types/commitlint.config.d.ts +7 -0
  3. package/types/commitlint.config.d.ts.map +1 -0
  4. package/types/eslint.config.d.ts +95 -0
  5. package/types/eslint.config.d.ts.map +1 -0
  6. package/types/move-types.d.ts +2 -0
  7. package/types/move-types.d.ts.map +1 -0
  8. package/types/src/components/address/question.d.ts +36 -0
  9. package/types/src/components/address/question.d.ts.map +1 -0
  10. package/types/src/components/boolean/question.d.ts +52 -0
  11. package/types/src/components/boolean/question.d.ts.map +1 -0
  12. package/types/src/components/checkbox/question.d.ts +52 -0
  13. package/types/src/components/checkbox/question.d.ts.map +1 -0
  14. package/types/src/components/date/question.d.ts +23 -0
  15. package/types/src/components/date/question.d.ts.map +1 -0
  16. package/types/src/components/date-period/question.d.ts +35 -0
  17. package/types/src/components/date-period/question.d.ts.map +1 -0
  18. package/types/src/components/date-time/question.d.ts +25 -0
  19. package/types/src/components/date-time/question.d.ts.map +1 -0
  20. package/types/src/components/email/question.d.ts +31 -0
  21. package/types/src/components/email/question.d.ts.map +1 -0
  22. package/types/src/components/identifier/question.d.ts +16 -0
  23. package/types/src/components/identifier/question.d.ts.map +1 -0
  24. package/types/src/components/manage-list/manage-list-actions.d.ts +10 -0
  25. package/types/src/components/manage-list/manage-list-actions.d.ts.map +1 -0
  26. package/types/src/components/manage-list/manage-list-section.d.ts +16 -0
  27. package/types/src/components/manage-list/manage-list-section.d.ts.map +1 -0
  28. package/types/src/components/manage-list/question.d.ts +49 -0
  29. package/types/src/components/manage-list/question.d.ts.map +1 -0
  30. package/types/src/components/manage-list/utils.d.ts +18 -0
  31. package/types/src/components/manage-list/utils.d.ts.map +1 -0
  32. package/types/src/components/multi-field-input/question.d.ts +61 -0
  33. package/types/src/components/multi-field-input/question.d.ts.map +1 -0
  34. package/types/src/components/number-entry/question.d.ts +38 -0
  35. package/types/src/components/number-entry/question.d.ts.map +1 -0
  36. package/types/src/components/radio/question.d.ts +58 -0
  37. package/types/src/components/radio/question.d.ts.map +1 -0
  38. package/types/src/components/select/question.d.ts +55 -0
  39. package/types/src/components/select/question.d.ts.map +1 -0
  40. package/types/src/components/single-line-input/question.d.ts +19 -0
  41. package/types/src/components/single-line-input/question.d.ts.map +1 -0
  42. package/types/src/components/text-entry/question.d.ts +35 -0
  43. package/types/src/components/text-entry/question.d.ts.map +1 -0
  44. package/types/src/components/text-entry-redact/question.d.ts +35 -0
  45. package/types/src/components/text-entry-redact/question.d.ts.map +1 -0
  46. package/types/src/components/unit-option-entry/question.d.ts +84 -0
  47. package/types/src/components/unit-option-entry/question.d.ts.map +1 -0
  48. package/types/src/components/utils/component-types.d.ts +19 -0
  49. package/types/src/components/utils/component-types.d.ts.map +1 -0
  50. package/types/src/components/utils/persisted-number-answer.d.ts +2 -0
  51. package/types/src/components/utils/persisted-number-answer.d.ts.map +1 -0
  52. package/types/src/components/utils/question-has-answer.d.ts +17 -0
  53. package/types/src/components/utils/question-has-answer.d.ts.map +1 -0
  54. package/types/src/components/utils/question-utils.d.ts +15 -0
  55. package/types/src/components/utils/question-utils.d.ts.map +1 -0
  56. package/types/src/controller.d.ts +75 -0
  57. package/types/src/controller.d.ts.map +1 -0
  58. package/types/src/index.d.ts +59 -0
  59. package/types/src/index.d.ts.map +1 -0
  60. package/types/src/journey/journey-response.d.ts +32 -0
  61. package/types/src/journey/journey-response.d.ts.map +1 -0
  62. package/types/src/journey/journey-types.d.ts +28 -0
  63. package/types/src/journey/journey-types.d.ts.map +1 -0
  64. package/types/src/journey/journey.d.ts +136 -0
  65. package/types/src/journey/journey.d.ts.map +1 -0
  66. package/types/src/lib/address-utils.d.ts +6 -0
  67. package/types/src/lib/address-utils.d.ts.map +1 -0
  68. package/types/src/lib/address.d.ts +43 -0
  69. package/types/src/lib/address.d.ts.map +1 -0
  70. package/types/src/lib/date-utils.d.ts +60 -0
  71. package/types/src/lib/date-utils.d.ts.map +1 -0
  72. package/types/src/lib/session-answer-store.d.ts +88 -0
  73. package/types/src/lib/session-answer-store.d.ts.map +1 -0
  74. package/types/src/lib/utils.d.ts +26 -0
  75. package/types/src/lib/utils.d.ts.map +1 -0
  76. package/types/src/lib/uuid.d.ts +7 -0
  77. package/types/src/lib/uuid.d.ts.map +1 -0
  78. package/types/src/middleware/build-get-journey.d.ts +6 -0
  79. package/types/src/middleware/build-get-journey.d.ts.map +1 -0
  80. package/types/src/middleware/redirect-to-unanswered-question.d.ts +12 -0
  81. package/types/src/middleware/redirect-to-unanswered-question.d.ts.map +1 -0
  82. package/types/src/questions/create-questions.d.ts +21 -0
  83. package/types/src/questions/create-questions.d.ts.map +1 -0
  84. package/types/src/questions/options-question.d.ts +80 -0
  85. package/types/src/questions/options-question.d.ts.map +1 -0
  86. package/types/src/questions/question-props.d.ts +182 -0
  87. package/types/src/questions/question-props.d.ts.map +1 -0
  88. package/types/src/questions/question-types.d.ts +86 -0
  89. package/types/src/questions/question-types.d.ts.map +1 -0
  90. package/types/src/questions/question.d.ts +272 -0
  91. package/types/src/questions/question.d.ts.map +1 -0
  92. package/types/src/questions/questions.d.ts +3 -0
  93. package/types/src/questions/questions.d.ts.map +1 -0
  94. package/types/src/section.d.ts +107 -0
  95. package/types/src/section.d.ts.map +1 -0
  96. package/types/src/validator/address-validator.d.ts +48 -0
  97. package/types/src/validator/address-validator.d.ts.map +1 -0
  98. package/types/src/validator/base-validator.d.ts +12 -0
  99. package/types/src/validator/base-validator.d.ts.map +1 -0
  100. package/types/src/validator/conditional-required-validator.d.ts +25 -0
  101. package/types/src/validator/conditional-required-validator.d.ts.map +1 -0
  102. package/types/src/validator/confirmation-checkbox-validator.d.ts +28 -0
  103. package/types/src/validator/confirmation-checkbox-validator.d.ts.map +1 -0
  104. package/types/src/validator/coordinates-validator.d.ts +23 -0
  105. package/types/src/validator/coordinates-validator.d.ts.map +1 -0
  106. package/types/src/validator/date-period-validator.d.ts +64 -0
  107. package/types/src/validator/date-period-validator.d.ts.map +1 -0
  108. package/types/src/validator/date-time-validator.d.ts +27 -0
  109. package/types/src/validator/date-time-validator.d.ts.map +1 -0
  110. package/types/src/validator/date-validator.d.ts +49 -0
  111. package/types/src/validator/date-validator.d.ts.map +1 -0
  112. package/types/src/validator/document-upload-validator.d.ts +12 -0
  113. package/types/src/validator/document-upload-validator.d.ts.map +1 -0
  114. package/types/src/validator/email-validator.d.ts +74 -0
  115. package/types/src/validator/email-validator.d.ts.map +1 -0
  116. package/types/src/validator/multi-field-input-validator.d.ts +91 -0
  117. package/types/src/validator/multi-field-input-validator.d.ts.map +1 -0
  118. package/types/src/validator/numeric-validator.d.ts +50 -0
  119. package/types/src/validator/numeric-validator.d.ts.map +1 -0
  120. package/types/src/validator/required-validator.d.ts +23 -0
  121. package/types/src/validator/required-validator.d.ts.map +1 -0
  122. package/types/src/validator/same-answer-validator.d.ts +19 -0
  123. package/types/src/validator/same-answer-validator.d.ts.map +1 -0
  124. package/types/src/validator/string-validator.d.ts +59 -0
  125. package/types/src/validator/string-validator.d.ts.map +1 -0
  126. package/types/src/validator/unit-option-entry-validator.d.ts +41 -0
  127. package/types/src/validator/unit-option-entry-validator.d.ts.map +1 -0
  128. package/types/src/validator/valid-option-validator.d.ts +19 -0
  129. package/types/src/validator/valid-option-validator.d.ts.map +1 -0
  130. package/types/src/validator/validation-error-handler.d.ts +20 -0
  131. package/types/src/validator/validation-error-handler.d.ts.map +1 -0
  132. package/types/src/validator/validator.d.ts +5 -0
  133. 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.11",
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",
@@ -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"}
@@ -0,0 +1,61 @@
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
+ * @class
10
+ */
11
+ export class MultiFieldInputQuestion extends Question {
12
+ /**
13
+ * @param {import('#src/questions/question-props.d.ts').MultiFieldInputQuestionProps} params
14
+ */
15
+ constructor({ inputFields, ...params }: import("#src/questions/question-props.d.ts").MultiFieldInputQuestionProps);
16
+ inputFields: import("#src/questions/question-props.d.ts").InputField[];
17
+ answerForViewModel(answers: any): {
18
+ value: string;
19
+ fieldName: string;
20
+ label: string;
21
+ formatJoinString?: string;
22
+ formatPrefix?: string;
23
+ formatTextFunction?: (text: string) => string;
24
+ attributes?: Record<string, string>;
25
+ suffix?: import("#src/questions/question-props.d.ts").Affix;
26
+ prefix?: import("#src/questions/question-props.d.ts").Affix;
27
+ hint?: string;
28
+ }[];
29
+ /**
30
+ * returns the formatted answers values to be used to build task list elements
31
+ * @param {Journey} journey
32
+ * @param {String} sectionSegment
33
+ * @returns {Array<{
34
+ * key: string;
35
+ * value: string | Object;
36
+ * action: {
37
+ * href: string;
38
+ * text: string;
39
+ * visuallyHiddenText: string;
40
+ * };
41
+ * }>}
42
+ */
43
+ formatAnswerForSummary(sectionSegment: string, journey: Journey): Array<{
44
+ key: string;
45
+ value: string | Object;
46
+ action: {
47
+ href: string;
48
+ text: string;
49
+ visuallyHiddenText: string;
50
+ };
51
+ }>;
52
+ #private;
53
+ }
54
+ export default MultiFieldInputQuestion;
55
+ export type QuestionViewModel = import("#question").QuestionViewModel;
56
+ export type Journey = import("#journey").Journey;
57
+ export type JourneyResponse = import("#journey-response").JourneyResponse;
58
+ export type Section = any;
59
+ export type BaseValidator = any;
60
+ import { Question } from '#question';
61
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/multi-field-input/question.js"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH;;GAEG;AACH;IACC;;OAEG;IACH,wCAFW,OAAO,oCAAoC,EAAE,4BAA4B,EAanF;IAJC,uEAA8B;IAMhC;;;;;;;;;;;QAOC;IAsBD;;;;;;;;;;;;;OAaG;IACH,wDAZW,OAAO,GAEL,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,kBAAkB,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,CAAC,CAkBJ;;CAyBD;;gCA/GY,OAAO,WAAW,EAAE,iBAAiB;sBACrC,OAAO,UAAU,EAAE,OAAO;8BAC1B,OAAO,mBAAmB,EAAE,eAAe;;;yBAP/B,WAAW"}