@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.
- package/package.json +1 -1
- package/src/questions/question.js +3 -3
- package/src/section.js +2 -2
- package/types/commitlint.config.d.ts +7 -0
- package/types/commitlint.config.d.ts.map +1 -0
- package/types/eslint.config.d.ts +95 -0
- package/types/eslint.config.d.ts.map +1 -0
- package/types/move-types.d.ts +2 -0
- package/types/move-types.d.ts.map +1 -0
- package/types/src/components/address/question.d.ts +36 -0
- package/types/src/components/address/question.d.ts.map +1 -0
- package/types/src/components/boolean/question.d.ts +52 -0
- package/types/src/components/boolean/question.d.ts.map +1 -0
- package/types/src/components/checkbox/question.d.ts +52 -0
- package/types/src/components/checkbox/question.d.ts.map +1 -0
- package/types/src/components/date/question.d.ts +23 -0
- package/types/src/components/date/question.d.ts.map +1 -0
- package/types/src/components/date-period/question.d.ts +35 -0
- package/types/src/components/date-period/question.d.ts.map +1 -0
- package/types/src/components/date-time/question.d.ts +25 -0
- package/types/src/components/date-time/question.d.ts.map +1 -0
- package/types/src/components/email/question.d.ts +31 -0
- package/types/src/components/email/question.d.ts.map +1 -0
- package/types/src/components/identifier/question.d.ts +16 -0
- package/types/src/components/identifier/question.d.ts.map +1 -0
- package/types/src/components/manage-list/manage-list-actions.d.ts +10 -0
- package/types/src/components/manage-list/manage-list-actions.d.ts.map +1 -0
- package/types/src/components/manage-list/manage-list-section.d.ts +16 -0
- package/types/src/components/manage-list/manage-list-section.d.ts.map +1 -0
- package/types/src/components/manage-list/question.d.ts +49 -0
- package/types/src/components/manage-list/question.d.ts.map +1 -0
- package/types/src/components/manage-list/utils.d.ts +18 -0
- package/types/src/components/manage-list/utils.d.ts.map +1 -0
- package/types/src/components/multi-field-input/question.d.ts +61 -0
- package/types/src/components/multi-field-input/question.d.ts.map +1 -0
- package/types/src/components/number-entry/question.d.ts +38 -0
- package/types/src/components/number-entry/question.d.ts.map +1 -0
- package/types/src/components/radio/question.d.ts +58 -0
- package/types/src/components/radio/question.d.ts.map +1 -0
- package/types/src/components/select/question.d.ts +55 -0
- package/types/src/components/select/question.d.ts.map +1 -0
- package/types/src/components/single-line-input/question.d.ts +19 -0
- package/types/src/components/single-line-input/question.d.ts.map +1 -0
- package/types/src/components/text-entry/question.d.ts +35 -0
- package/types/src/components/text-entry/question.d.ts.map +1 -0
- package/types/src/components/text-entry-redact/question.d.ts +35 -0
- package/types/src/components/text-entry-redact/question.d.ts.map +1 -0
- package/types/src/components/unit-option-entry/question.d.ts +84 -0
- package/types/src/components/unit-option-entry/question.d.ts.map +1 -0
- package/types/src/components/utils/component-types.d.ts +19 -0
- package/types/src/components/utils/component-types.d.ts.map +1 -0
- package/types/src/components/utils/persisted-number-answer.d.ts +2 -0
- package/types/src/components/utils/persisted-number-answer.d.ts.map +1 -0
- package/types/src/components/utils/question-has-answer.d.ts +17 -0
- package/types/src/components/utils/question-has-answer.d.ts.map +1 -0
- package/types/src/components/utils/question-utils.d.ts +15 -0
- package/types/src/components/utils/question-utils.d.ts.map +1 -0
- package/types/src/controller.d.ts +75 -0
- package/types/src/controller.d.ts.map +1 -0
- package/types/src/index.d.ts +59 -0
- package/types/src/index.d.ts.map +1 -0
- package/types/src/journey/journey-response.d.ts +32 -0
- package/types/src/journey/journey-response.d.ts.map +1 -0
- package/types/src/journey/journey-types.d.ts +28 -0
- package/types/src/journey/journey-types.d.ts.map +1 -0
- package/types/src/journey/journey.d.ts +136 -0
- package/types/src/journey/journey.d.ts.map +1 -0
- package/types/src/lib/address-utils.d.ts +6 -0
- package/types/src/lib/address-utils.d.ts.map +1 -0
- package/types/src/lib/address.d.ts +43 -0
- package/types/src/lib/address.d.ts.map +1 -0
- package/types/src/lib/date-utils.d.ts +60 -0
- package/types/src/lib/date-utils.d.ts.map +1 -0
- package/types/src/lib/session-answer-store.d.ts +88 -0
- package/types/src/lib/session-answer-store.d.ts.map +1 -0
- package/types/src/lib/utils.d.ts +26 -0
- package/types/src/lib/utils.d.ts.map +1 -0
- package/types/src/lib/uuid.d.ts +7 -0
- package/types/src/lib/uuid.d.ts.map +1 -0
- package/types/src/middleware/build-get-journey.d.ts +6 -0
- package/types/src/middleware/build-get-journey.d.ts.map +1 -0
- package/types/src/middleware/redirect-to-unanswered-question.d.ts +12 -0
- package/types/src/middleware/redirect-to-unanswered-question.d.ts.map +1 -0
- package/types/src/questions/create-questions.d.ts +21 -0
- package/types/src/questions/create-questions.d.ts.map +1 -0
- package/types/src/questions/options-question.d.ts +80 -0
- package/types/src/questions/options-question.d.ts.map +1 -0
- package/types/src/questions/question-props.d.ts +182 -0
- package/types/src/questions/question-props.d.ts.map +1 -0
- package/types/src/questions/question-types.d.ts +86 -0
- package/types/src/questions/question-types.d.ts.map +1 -0
- package/types/src/questions/question.d.ts +272 -0
- package/types/src/questions/question.d.ts.map +1 -0
- package/types/src/questions/questions.d.ts +3 -0
- package/types/src/questions/questions.d.ts.map +1 -0
- package/types/src/section.d.ts +107 -0
- package/types/src/section.d.ts.map +1 -0
- package/types/src/validator/address-validator.d.ts +48 -0
- package/types/src/validator/address-validator.d.ts.map +1 -0
- package/types/src/validator/base-validator.d.ts +12 -0
- package/types/src/validator/base-validator.d.ts.map +1 -0
- package/types/src/validator/conditional-required-validator.d.ts +25 -0
- package/types/src/validator/conditional-required-validator.d.ts.map +1 -0
- package/types/src/validator/confirmation-checkbox-validator.d.ts +28 -0
- package/types/src/validator/confirmation-checkbox-validator.d.ts.map +1 -0
- package/types/src/validator/coordinates-validator.d.ts +23 -0
- package/types/src/validator/coordinates-validator.d.ts.map +1 -0
- package/types/src/validator/date-period-validator.d.ts +64 -0
- package/types/src/validator/date-period-validator.d.ts.map +1 -0
- package/types/src/validator/date-time-validator.d.ts +27 -0
- package/types/src/validator/date-time-validator.d.ts.map +1 -0
- package/types/src/validator/date-validator.d.ts +49 -0
- package/types/src/validator/date-validator.d.ts.map +1 -0
- package/types/src/validator/document-upload-validator.d.ts +12 -0
- package/types/src/validator/document-upload-validator.d.ts.map +1 -0
- package/types/src/validator/email-validator.d.ts +74 -0
- package/types/src/validator/email-validator.d.ts.map +1 -0
- package/types/src/validator/multi-field-input-validator.d.ts +91 -0
- package/types/src/validator/multi-field-input-validator.d.ts.map +1 -0
- package/types/src/validator/numeric-validator.d.ts +50 -0
- package/types/src/validator/numeric-validator.d.ts.map +1 -0
- package/types/src/validator/required-validator.d.ts +23 -0
- package/types/src/validator/required-validator.d.ts.map +1 -0
- package/types/src/validator/same-answer-validator.d.ts +19 -0
- package/types/src/validator/same-answer-validator.d.ts.map +1 -0
- package/types/src/validator/string-validator.d.ts +59 -0
- package/types/src/validator/string-validator.d.ts.map +1 -0
- package/types/src/validator/unit-option-entry-validator.d.ts +41 -0
- package/types/src/validator/unit-option-entry-validator.d.ts.map +1 -0
- package/types/src/validator/valid-option-validator.d.ts +19 -0
- package/types/src/validator/valid-option-validator.d.ts.map +1 -0
- package/types/src/validator/validation-error-handler.d.ts +20 -0
- package/types/src/validator/validation-error-handler.d.ts.map +1 -0
- package/types/src/validator/validator.d.ts +5 -0
- package/types/src/validator/validator.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -99,7 +99,7 @@ export class Question {
|
|
|
99
99
|
_isInManageListSection = false;
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* @param {import('
|
|
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('
|
|
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('
|
|
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('
|
|
87
|
-
* @param {import('
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|