@defra/forms-model 3.0.576 → 3.0.577

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 (44) hide show
  1. package/dist/module/form/form-editor/__stubs__/preview.js +53 -17
  2. package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -1
  3. package/dist/module/form/form-editor/index.js +3 -2
  4. package/dist/module/form/form-editor/index.js.map +1 -1
  5. package/dist/module/form/form-editor/macros/types.js.map +1 -1
  6. package/dist/module/form/form-editor/preview/declaration.js +82 -0
  7. package/dist/module/form/form-editor/preview/declaration.js.map +1 -0
  8. package/dist/module/form/form-editor/preview/helpers.js +43 -10
  9. package/dist/module/form/form-editor/preview/helpers.js.map +1 -1
  10. package/dist/module/form/form-editor/preview/index.js +1 -0
  11. package/dist/module/form/form-editor/preview/index.js.map +1 -1
  12. package/dist/module/form/form-editor/preview/types.js.map +1 -1
  13. package/dist/module/form/form-editor/preview/uk-address.js +3 -3
  14. package/dist/module/form/form-editor/preview/uk-address.js.map +1 -1
  15. package/dist/module/form/form-editor/types.js.map +1 -1
  16. package/dist/types/form/form-editor/__stubs__/preview.d.ts +38 -12
  17. package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -1
  18. package/dist/types/form/form-editor/index.d.ts +1 -0
  19. package/dist/types/form/form-editor/index.d.ts.map +1 -1
  20. package/dist/types/form/form-editor/macros/types.d.ts +6 -0
  21. package/dist/types/form/form-editor/macros/types.d.ts.map +1 -1
  22. package/dist/types/form/form-editor/preview/declaration.d.ts +42 -0
  23. package/dist/types/form/form-editor/preview/declaration.d.ts.map +1 -0
  24. package/dist/types/form/form-editor/preview/helpers.d.ts.map +1 -1
  25. package/dist/types/form/form-editor/preview/index.d.ts +1 -0
  26. package/dist/types/form/form-editor/preview/types.d.ts +12 -1
  27. package/dist/types/form/form-editor/preview/types.d.ts.map +1 -1
  28. package/dist/types/form/form-editor/preview/uk-address.d.ts +13 -0
  29. package/dist/types/form/form-editor/preview/uk-address.d.ts.map +1 -1
  30. package/dist/types/form/form-editor/types.d.ts +8 -1
  31. package/dist/types/form/form-editor/types.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/schemas/form-editor-input-page-schema.json +1 -0
  34. package/schemas/question-type-full-schema.json +1 -0
  35. package/schemas/question-type-schema.json +1 -0
  36. package/src/form/form-editor/__stubs__/preview.js +47 -17
  37. package/src/form/form-editor/index.ts +3 -0
  38. package/src/form/form-editor/macros/types.ts +7 -0
  39. package/src/form/form-editor/preview/declaration.js +88 -0
  40. package/src/form/form-editor/preview/helpers.js +47 -16
  41. package/src/form/form-editor/preview/index.js +1 -0
  42. package/src/form/form-editor/preview/types.ts +16 -1
  43. package/src/form/form-editor/preview/uk-address.js +3 -3
  44. package/src/form/form-editor/types.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-editor/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-editor/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.576",
3
+ "version": "3.0.577",
4
4
  "description": "A hapi plugin providing the model for Defra forms",
5
5
  "homepage": "https://github.com/DEFRA/forms-designer/tree/main/model#readme",
6
6
  "types": "dist/types/index.d.ts",
@@ -22,6 +22,7 @@
22
22
  "TelephoneNumberField",
23
23
  "FileUploadField",
24
24
  "EmailAddressField",
25
+ "DeclarationField",
25
26
  "listSub",
26
27
  "YesNoField",
27
28
  "CheckboxesField",
@@ -11,6 +11,7 @@
11
11
  "TelephoneNumberField",
12
12
  "FileUploadField",
13
13
  "EmailAddressField",
14
+ "DeclarationField",
14
15
  "YesNoField",
15
16
  "CheckboxesField",
16
17
  "RadiosField",
@@ -9,6 +9,7 @@
9
9
  "TelephoneNumberField",
10
10
  "FileUploadField",
11
11
  "EmailAddressField",
12
+ "DeclarationField",
12
13
  "listSub",
13
14
  "YesNoField",
14
15
  "CheckboxesField",
@@ -101,11 +101,6 @@ export class QuestionPreviewElements {
101
101
  * @private
102
102
  */
103
103
  _items = []
104
- /**
105
- * @protected
106
- * @type {boolean}
107
- */
108
- _usePostcodeLookup = false
109
104
  afterInputsHTML = '<div class="govuk-inset-text">No items added yet.</div>'
110
105
 
111
106
  /**
@@ -117,7 +112,6 @@ export class QuestionPreviewElements {
117
112
  optional,
118
113
  shortDesc,
119
114
  userClasses,
120
- usePostcodeLookup,
121
115
  items,
122
116
  content
123
117
  }) {
@@ -128,7 +122,6 @@ export class QuestionPreviewElements {
128
122
  this._userClasses = userClasses
129
123
  this._items = items
130
124
  this._content = content
131
- this._usePostcodeLookup = usePostcodeLookup ?? false
132
125
  }
133
126
 
134
127
  /**
@@ -141,7 +134,6 @@ export class QuestionPreviewElements {
141
134
  optional: this._optional,
142
135
  shortDesc: this._shortDesc,
143
136
  userClasses: this._userClasses,
144
- usePostcodeLookup: this._usePostcodeLookup,
145
137
  items: this._items,
146
138
  content: this._content
147
139
  }
@@ -175,6 +167,52 @@ export class AutocompletePreviewElements extends QuestionPreviewElements {
175
167
  }
176
168
  }
177
169
 
170
+ /**
171
+ * @implements {UkAddressElements}
172
+ */
173
+ export class UkAddressPreviewElements extends QuestionPreviewElements {
174
+ /**
175
+ * @param {BaseSettings & {usePostcodeLookup?: boolean}} elements
176
+ */
177
+ constructor({ usePostcodeLookup, ...elements }) {
178
+ super(elements)
179
+ this._usePostcodeLookup = usePostcodeLookup ?? false
180
+ }
181
+
182
+ /**
183
+ * @returns {UkAddressSettings}
184
+ */
185
+ get values() {
186
+ return {
187
+ ...super.values,
188
+ usePostcodeLookup: this._usePostcodeLookup
189
+ }
190
+ }
191
+ }
192
+
193
+ /**
194
+ * @implements {DeclarationElements}
195
+ */
196
+ export class DeclarationPreviewElements extends QuestionPreviewElements {
197
+ /**
198
+ * @param {BaseSettings & {declarationText: string}} elements
199
+ */
200
+ constructor({ declarationText, ...elements }) {
201
+ super(elements)
202
+ this._declarationText = declarationText
203
+ }
204
+
205
+ /**
206
+ * @returns {DeclarationSettings}
207
+ */
208
+ get values() {
209
+ return {
210
+ ...super.values,
211
+ declarationText: this._declarationText
212
+ }
213
+ }
214
+ }
215
+
178
216
  /**
179
217
  * @implements {PageOverviewElements}
180
218
  */
@@ -329,11 +367,6 @@ export class NumberPreviewElements {
329
367
  * @private
330
368
  */
331
369
  _items = []
332
- /**
333
- * @protected
334
- * @type {boolean}
335
- */
336
- _usePostcodeLookup = false
337
370
  afterInputsHTML = '<div class="govuk-inset-text">No items added yet.</div>'
338
371
 
339
372
  /**
@@ -347,7 +380,6 @@ export class NumberPreviewElements {
347
380
  userClasses,
348
381
  prefix,
349
382
  suffix,
350
- usePostcodeLookup,
351
383
  items,
352
384
  content
353
385
  }) {
@@ -360,7 +392,6 @@ export class NumberPreviewElements {
360
392
  this._suffix = suffix
361
393
  this._items = items
362
394
  this._content = content
363
- this._usePostcodeLookup = usePostcodeLookup ?? false
364
395
  }
365
396
 
366
397
  /**
@@ -375,7 +406,6 @@ export class NumberPreviewElements {
375
406
  userClasses: this._userClasses,
376
407
  prefix: this._prefix,
377
408
  suffix: this._suffix,
378
- usePostcodeLookup: this._usePostcodeLookup,
379
409
  items: this._items,
380
410
  content: this._content
381
411
  }
@@ -399,5 +429,5 @@ export class NumberPreviewElements {
399
429
  /**
400
430
  * @import { ListElement } from '~/src/form/form-editor/types.js'
401
431
  * @import { PagePreviewPanelMacro } from '~/src/form/form-editor/macros/types.js'
402
- * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer } from '~/src/form/form-editor/preview/types.js'
432
+ * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer, UkAddressElements, UkAddressSettings, DeclarationElements, DeclarationSettings } from '~/src/form/form-editor/preview/types.js'
403
433
  */
@@ -38,6 +38,7 @@ export const questionTypeSchema = Joi.string()
38
38
  ComponentType.TelephoneNumberField,
39
39
  ComponentType.FileUploadField,
40
40
  ComponentType.EmailAddressField,
41
+ ComponentType.DeclarationField,
41
42
  QuestionTypeSubGroup.ListSubGroup,
42
43
  ComponentType.YesNoField,
43
44
  ComponentType.CheckboxesField,
@@ -58,6 +59,7 @@ export const questionTypeFullSchema = Joi.string()
58
59
  ComponentType.TelephoneNumberField,
59
60
  ComponentType.FileUploadField,
60
61
  ComponentType.EmailAddressField,
62
+ ComponentType.DeclarationField,
61
63
  ComponentType.YesNoField,
62
64
  ComponentType.CheckboxesField,
63
65
  ComponentType.RadiosField,
@@ -532,6 +534,7 @@ export const autoCompleteOptionsSchema = customValidator
532
534
  export const questionDetailsFullSchema = {
533
535
  autoCompleteOptionsSchema,
534
536
  classesSchema,
537
+ declarationTextSchema,
535
538
  documentTypesSchema,
536
539
  enhancedActionSchema,
537
540
  exactFilesSchema,
@@ -60,6 +60,13 @@ export interface QuestionBaseModel {
60
60
  suffix?: { text: string }
61
61
  }
62
62
 
63
+ export interface DeclarationModel extends QuestionBaseModel {
64
+ declaration?: {
65
+ text?: string
66
+ classes?: string
67
+ }
68
+ }
69
+
63
70
  export interface AppPreviewPanelMacro extends AppPreviewPanelTabsMacro {
64
71
  model: QuestionBaseModel
65
72
  }
@@ -0,0 +1,88 @@
1
+ import { ComponentType } from '~/src/components/enums.js'
2
+ import { HIGHLIGHT_CLASS } from '~/src/form/form-editor/preview/constants.js'
3
+ import { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'
4
+ import {
5
+ Question,
6
+ QuestionComponentElements
7
+ } from '~/src/form/form-editor/preview/question.js'
8
+
9
+ /**
10
+ * @implements {QuestionElements}
11
+ */
12
+ export class DeclarationComponentPreviewElements extends QuestionComponentElements {
13
+ /**
14
+ * @param {DeclarationFieldComponent} component
15
+ */
16
+ constructor(component) {
17
+ super(component)
18
+ this._declarationText = component.content
19
+ }
20
+
21
+ /**
22
+ * @protected
23
+ * @returns {DeclarationSettings}
24
+ */
25
+ _getValues() {
26
+ return {
27
+ ...super._getValues(),
28
+ declarationText: this._declarationText
29
+ }
30
+ }
31
+ }
32
+
33
+ export class DeclarationQuestion extends Question {
34
+ /**
35
+ * @type {ComponentType}
36
+ */
37
+ componentType = ComponentType.DeclarationField
38
+ /**
39
+ * @type {string}
40
+ * @protected
41
+ */
42
+ _questionTemplate = PreviewComponent.PATH + 'declarationfield.njk'
43
+ _fieldName = 'DeclarationField'
44
+ _declarationText = ''
45
+
46
+ /**
47
+ * @param {DeclarationElements} htmlElements
48
+ * @param {QuestionRenderer} questionRenderer
49
+ */
50
+ constructor(htmlElements, questionRenderer) {
51
+ super(htmlElements, questionRenderer)
52
+ this._declarationText = htmlElements.values.declarationText
53
+ }
54
+
55
+ get declarationText() {
56
+ return this._declarationText
57
+ }
58
+
59
+ /**
60
+ * @param {string} val
61
+ */
62
+ set declarationText(val) {
63
+ this._declarationText = val
64
+ this.render()
65
+ }
66
+
67
+ /**
68
+ * @protected
69
+ * @returns {DeclarationModel}
70
+ */
71
+ _renderInput() {
72
+ return {
73
+ ...super._renderInput(),
74
+ declaration: {
75
+ text: this._declarationText
76
+ ? this._declarationText
77
+ : 'Declaration text',
78
+ classes: this._highlight === 'declarationText' ? HIGHLIGHT_CLASS : ''
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ /**
85
+ * @import { DeclarationSettings, DeclarationElements, QuestionElements, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'
86
+ * @import { DeclarationModel } from '~/src/form/form-editor/macros/types.js'
87
+ * @import { DeclarationFieldComponent } from '~/src/components/types.js'
88
+ */
@@ -10,6 +10,10 @@ import { CheckboxQuestion } from '~/src/form/form-editor/preview/checkbox.js'
10
10
  import { ComponentElements } from '~/src/form/form-editor/preview/component-elements.js'
11
11
  import { ContentElements } from '~/src/form/form-editor/preview/content.js'
12
12
  import { DateInputQuestion } from '~/src/form/form-editor/preview/date-input.js'
13
+ import {
14
+ DeclarationComponentPreviewElements,
15
+ DeclarationQuestion
16
+ } from '~/src/form/form-editor/preview/declaration.js'
13
17
  import { EmailAddressQuestion } from '~/src/form/form-editor/preview/email-address.js'
14
18
  import {
15
19
  ListComponentElements,
@@ -57,7 +61,7 @@ const InputFieldComponentDictionary = {
57
61
  [ComponentType.CheckboxesField]: CheckboxQuestion,
58
62
  [ComponentType.SelectField]: SelectQuestion,
59
63
  [ComponentType.YesNoField]: YesNoQuestion,
60
- [ComponentType.DeclarationField]: YesNoQuestion,
64
+ [ComponentType.DeclarationField]: DeclarationQuestion,
61
65
  [ComponentType.FileUploadField]: SupportingEvidenceQuestion,
62
66
  [ComponentType.EastingNorthingField]: ShortAnswerQuestion,
63
67
  [ComponentType.OsGridRefField]: ShortAnswerQuestion,
@@ -65,6 +69,42 @@ const InputFieldComponentDictionary = {
65
69
  [ComponentType.LatLongField]: ShortAnswerQuestion
66
70
  }
67
71
 
72
+ /**
73
+ * @type {Partial<Record<ComponentType, (component: ComponentDef, definition: FormDefinition ) => QuestionElements>>}
74
+ */
75
+ const ComponentToPreviewQuestion = {
76
+ [ComponentType.AutocompleteField]: (component, definition) => {
77
+ const componentCoerced = /** @type {AutocompleteFieldComponent} */ (
78
+ component
79
+ )
80
+ const list = findDefinitionListFromComponent(componentCoerced, definition)
81
+ return new SelectComponentElements(componentCoerced, list)
82
+ },
83
+ [ComponentType.SelectField]: (component, definition) => {
84
+ const componentCoerced = /** @type {SelectFieldComponent} */ (component)
85
+ const list = findDefinitionListFromComponent(componentCoerced, definition)
86
+ return new SelectComponentElements(componentCoerced, list)
87
+ },
88
+ [ComponentType.UkAddressField]: (component, _definition) => {
89
+ const componentCoerced = /** @type {UkAddressFieldComponent} */ (component)
90
+ return new UkAddressComponentPreviewElements(componentCoerced)
91
+ },
92
+ [ComponentType.NumberField]: (component, _definition) => {
93
+ const componentCoerced = /** @type {NumberFieldComponent} */ (component)
94
+ return new NumberComponentPreviewElements(componentCoerced)
95
+ },
96
+ [ComponentType.DeclarationField]: (component, _definition) => {
97
+ const componentCoerced = /** @type {DeclarationFieldComponent} */ (
98
+ component
99
+ )
100
+ return new DeclarationComponentPreviewElements(componentCoerced)
101
+ },
102
+ [ComponentType.YesNoField]: (component, _definition) => {
103
+ const componentCoerced = /** @type {YesNoFieldComponent} */ (component)
104
+ return new QuestionComponentElements(componentCoerced)
105
+ }
106
+ }
107
+
68
108
  /**
69
109
  * @param {QuestionRenderer} questionRenderer
70
110
  * @param {FormDefinition} definition
@@ -78,23 +118,14 @@ export function mapComponentToPreviewQuestion(questionRenderer, definition) {
78
118
  */
79
119
  let questionElements
80
120
 
81
- if (
82
- component.type === ComponentType.AutocompleteField ||
83
- component.type === ComponentType.SelectField
84
- ) {
85
- const list = findDefinitionListFromComponent(component, definition)
86
- questionElements = new SelectComponentElements(component, list)
87
- } else if (component.type === ComponentType.UkAddressField) {
88
- questionElements = new UkAddressComponentPreviewElements(component)
89
- } else if (component.type === ComponentType.NumberField) {
90
- questionElements = new NumberComponentPreviewElements(component)
121
+ // Look for one-to-one mapping first, then fallback if not found
122
+ const getQuestionElementsFunc = ComponentToPreviewQuestion[component.type]
123
+ if (getQuestionElementsFunc) {
124
+ questionElements = getQuestionElementsFunc(component, definition)
91
125
  } else if (hasSelectionFields(component) && hasListField(component)) {
92
126
  const list = findDefinitionListFromComponent(component, definition)
93
127
  questionElements = new ListComponentElements(component, list)
94
- } else if (
95
- hasInputField(component) ||
96
- component.type === ComponentType.YesNoField
97
- ) {
128
+ } else if (hasInputField(component)) {
98
129
  questionElements = new QuestionComponentElements(component)
99
130
  } else if (hasContentField(component)) {
100
131
  questionElements = new ContentElements(component)
@@ -119,5 +150,5 @@ export function mapComponentToPreviewQuestion(questionRenderer, definition) {
119
150
  * @import { Question } from '~/src/form/form-editor/preview/question.js'
120
151
  * @import { PreviewComponent } from '~/src/form/form-editor/preview/preview.js'
121
152
  * @import { FormDefinition } from '~/src/form/form-definition/types.js'
122
- * @import { ComponentDef } from '~/src/components/types.js'
153
+ * @import { AutocompleteFieldComponent, ComponentDef, DeclarationFieldComponent, NumberFieldComponent, SelectFieldComponent, UkAddressFieldComponent, YesNoFieldComponent } from '~/src/components/types.js'
123
154
  */
@@ -2,6 +2,7 @@ export * from '~/src/form/form-editor/preview/autocomplete.js'
2
2
  export * from '~/src/form/form-editor/preview/checkbox.js'
3
3
  export * from '~/src/form/form-editor/preview/checkbox-sortable.js'
4
4
  export * from '~/src/form/form-editor/preview/date-input.js'
5
+ export * from '~/src/form/form-editor/preview/declaration.js'
5
6
  export * from '~/src/form/form-editor/preview/email-address.js'
6
7
  export * from '~/src/form/form-editor/preview/list.js'
7
8
  export * from '~/src/form/form-editor/preview/list-sortable.js'
@@ -24,7 +24,6 @@ export interface BaseSettings {
24
24
  items: ListElement[]
25
25
  content: string
26
26
  attributes?: Record<string, string>
27
- usePostcodeLookup?: boolean
28
27
  }
29
28
 
30
29
  export interface DefaultComponent {
@@ -64,6 +63,22 @@ export interface NumberSettings extends BaseSettings {
64
63
  suffix: string
65
64
  }
66
65
 
66
+ export interface DeclarationSettings extends BaseSettings {
67
+ declarationText: string
68
+ }
69
+
70
+ export interface DeclarationElements extends DomElementsBase {
71
+ readonly values: DeclarationSettings
72
+ }
73
+
74
+ export interface UkAddressSettings extends BaseSettings {
75
+ usePostcodeLookup?: boolean
76
+ }
77
+
78
+ export interface UkAddressElements extends DomElementsBase {
79
+ readonly values: UkAddressSettings
80
+ }
81
+
67
82
  export interface NumberElements extends DomElementsBase {
68
83
  readonly values: NumberSettings
69
84
  }
@@ -17,7 +17,7 @@ export class UkAddressComponentPreviewElements extends QuestionComponentElements
17
17
 
18
18
  /**
19
19
  * @protected
20
- * @returns {BaseSettings}
20
+ * @returns {UkAddressSettings}
21
21
  */
22
22
  _getValues() {
23
23
  return {
@@ -37,7 +37,7 @@ export class UkAddressQuestion extends FieldsetQuestion {
37
37
  _usePostcodeLookup = false
38
38
 
39
39
  /**
40
- * @param {QuestionElements} htmlElements
40
+ * @param {UkAddressElements} htmlElements
41
41
  * @param {QuestionRenderer} questionRenderer
42
42
  */
43
43
  constructor(htmlElements, questionRenderer) {
@@ -69,6 +69,6 @@ export class UkAddressQuestion extends FieldsetQuestion {
69
69
  }
70
70
 
71
71
  /**
72
- * @import { BaseSettings, QuestionElements, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'
72
+ * @import { QuestionElements, QuestionRenderer, UkAddressElements, UkAddressSettings } from '~/src/form/form-editor/preview/types.js'
73
73
  * @import { UkAddressFieldComponent } from '~/src/components/types.js'
74
74
  */
@@ -318,6 +318,7 @@ export type FormEditorInputQuestion = Pick<
318
318
  | 'question'
319
319
  | 'shortDescription'
320
320
  | 'hintText'
321
+ | 'declarationText'
321
322
  | 'questionOptional'
322
323
  | 'minLength'
323
324
  | 'maxLength'
@@ -518,6 +519,12 @@ export interface GovukField {
518
519
  formGroup?: {
519
520
  classes?: string
520
521
  }
522
+ preContent?: {
523
+ path?: string
524
+ }
525
+ postContent?: {
526
+ path?: string
527
+ }
521
528
  }
522
529
 
523
530
  export type GovukFieldQuestionOptional = Omit<GovukField, 'name' | 'items'> & {
@@ -557,6 +564,7 @@ export interface FormEditorGovukField {
557
564
  radiosOrCheckboxes?: GovukField
558
565
  autoCompleteOptions?: GovukField
559
566
  usePostcodeLookup?: GovukField
567
+ declarationText?: GovukField
560
568
  errorMessage?: { text: string }
561
569
  }
562
570