@defra/forms-model 3.0.567 → 3.0.569

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 (65) hide show
  1. package/dist/module/components/component-types.js +24 -0
  2. package/dist/module/components/component-types.js.map +1 -1
  3. package/dist/module/components/enums.js +4 -0
  4. package/dist/module/components/enums.js.map +1 -1
  5. package/dist/module/components/types.js.map +1 -1
  6. package/dist/module/conditions/condition-operators.js +5 -1
  7. package/dist/module/conditions/condition-operators.js.map +1 -1
  8. package/dist/module/form/form-editor/__stubs__/preview.js +128 -1
  9. package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -1
  10. package/dist/module/form/form-editor/index.js +9 -5
  11. package/dist/module/form/form-editor/index.js.map +1 -1
  12. package/dist/module/form/form-editor/macros/types.js.map +1 -1
  13. package/dist/module/form/form-editor/preview/component-elements.js +1 -0
  14. package/dist/module/form/form-editor/preview/component-elements.js.map +1 -1
  15. package/dist/module/form/form-editor/preview/helpers.js +8 -2
  16. package/dist/module/form/form-editor/preview/helpers.js.map +1 -1
  17. package/dist/module/form/form-editor/preview/number-only.js +75 -3
  18. package/dist/module/form/form-editor/preview/number-only.js.map +1 -1
  19. package/dist/module/form/form-editor/preview/question.js +30 -3
  20. package/dist/module/form/form-editor/preview/question.js.map +1 -1
  21. package/dist/module/form/form-editor/preview/types.js.map +1 -1
  22. package/dist/module/form/form-editor/types.js.map +1 -1
  23. package/dist/types/components/component-types.d.ts.map +1 -1
  24. package/dist/types/components/enums.d.ts +5 -1
  25. package/dist/types/components/enums.d.ts.map +1 -1
  26. package/dist/types/components/types.d.ts +50 -1
  27. package/dist/types/components/types.d.ts.map +1 -1
  28. package/dist/types/conditions/condition-operators.d.ts +16 -0
  29. package/dist/types/conditions/condition-operators.d.ts.map +1 -1
  30. package/dist/types/form/form-editor/__stubs__/preview.d.ts +71 -1
  31. package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -1
  32. package/dist/types/form/form-editor/index.d.ts +5 -1
  33. package/dist/types/form/form-editor/index.d.ts.map +1 -1
  34. package/dist/types/form/form-editor/macros/types.d.ts +7 -0
  35. package/dist/types/form/form-editor/macros/types.d.ts.map +1 -1
  36. package/dist/types/form/form-editor/preview/component-elements.d.ts.map +1 -1
  37. package/dist/types/form/form-editor/preview/helpers.d.ts.map +1 -1
  38. package/dist/types/form/form-editor/preview/number-only.d.ts +123 -0
  39. package/dist/types/form/form-editor/preview/number-only.d.ts.map +1 -1
  40. package/dist/types/form/form-editor/preview/question.d.ts +13 -0
  41. package/dist/types/form/form-editor/preview/question.d.ts.map +1 -1
  42. package/dist/types/form/form-editor/preview/types.d.ts +8 -0
  43. package/dist/types/form/form-editor/preview/types.d.ts.map +1 -1
  44. package/dist/types/form/form-editor/preview/uk-address.d.ts +7 -0
  45. package/dist/types/form/form-editor/preview/uk-address.d.ts.map +1 -1
  46. package/dist/types/form/form-editor/types.d.ts +15 -2
  47. package/dist/types/form/form-editor/types.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/schemas/date-sub-schema.json +1 -1
  50. package/schemas/form-editor-input-page-schema.json +1 -0
  51. package/schemas/question-type-full-schema.json +5 -1
  52. package/schemas/question-type-schema.json +1 -0
  53. package/src/components/component-types.ts +28 -0
  54. package/src/components/enums.ts +5 -1
  55. package/src/components/types.ts +58 -0
  56. package/src/conditions/condition-operators.ts +5 -1
  57. package/src/form/form-editor/__stubs__/preview.js +130 -1
  58. package/src/form/form-editor/index.ts +34 -4
  59. package/src/form/form-editor/macros/types.ts +3 -0
  60. package/src/form/form-editor/preview/component-elements.js +4 -0
  61. package/src/form/form-editor/preview/helpers.js +11 -2
  62. package/src/form/form-editor/preview/number-only.js +72 -3
  63. package/src/form/form-editor/preview/question.js +33 -3
  64. package/src/form/form-editor/preview/types.ts +10 -0
  65. package/src/form/form-editor/types.ts +24 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/types.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,13 @@ export class UkAddressQuestion extends FieldsetQuestion {
32
32
  formGroup?: import("../macros/types.js").FormGroupAfterInput;
33
33
  type?: "text" | "number" | "boolean";
34
34
  classes?: string;
35
+ previewClasses?: string;
36
+ prefix?: {
37
+ text: string;
38
+ };
39
+ suffix?: {
40
+ text: string;
41
+ };
35
42
  };
36
43
  }
37
44
  import type { QuestionElements } from '../../../form/form-editor/preview/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"uk-address.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/uk-address.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACE;;OAEG;IACH,uBAFW,uBAAuB,EAKjC;IADC,wCAA6D;CAahE;AAED;IAOE,4BAA0B;IAe1B;;OAEG;IACH,2BAFW,OAAO,EAKjB;IAVD,yBAKW,OAAO,CAHjB;IAUD;;OAEG;IACH;;;;;;;;;;;;;;MAKC;CACF;sCAGoE,yCAAyC;0CApEpE,4CAA4C;6CAqE1C,2BAA2B;iCAvEtC,qDAAqD"}
1
+ {"version":3,"file":"uk-address.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/uk-address.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACE;;OAEG;IACH,uBAFW,uBAAuB,EAKjC;IADC,wCAA6D;CAahE;AAED;IAOE,4BAA0B;IAe1B;;OAEG;IACH,2BAFW,OAAO,EAKjB;IAVD,yBAKW,OAAO,CAHjB;IAUD;;OAEG;IACH;;;;;;;;;;;;;;;;;;;;;MAKC;CACF;sCAGoE,yCAAyC;0CApEpE,4CAA4C;6CAqE1C,2BAA2B;iCAvEtC,qDAAqD"}
@@ -22,6 +22,10 @@ export interface FormEditor {
22
22
  * The sub-type of date
23
23
  */
24
24
  dateSub: string;
25
+ /**
26
+ * The sub-type of location
27
+ */
28
+ locationSub: string;
25
29
  /**
26
30
  * The sub-type of lists
27
31
  */
@@ -46,6 +50,14 @@ export interface FormEditor {
46
50
  * The short description of the question
47
51
  */
48
52
  shortDescription: string;
53
+ /**
54
+ * The value of checkbox to reveal instruction text field
55
+ */
56
+ giveInstructions: string;
57
+ /**
58
+ * The instruction text for location components (optional)
59
+ */
60
+ instructionText: string;
49
61
  /**
50
62
  * The value of checkbox to reveal heading and guidance section
51
63
  */
@@ -223,9 +235,9 @@ export interface FormEditor {
223
235
  */
224
236
  usePostcodeLookup: string;
225
237
  }
226
- export type FormEditorInputPage = Pick<FormEditor, 'pageType' | 'questionType' | 'writtenAnswerSub' | 'dateSub' | 'listSub'>;
238
+ export type FormEditorInputPage = Pick<FormEditor, 'pageType' | 'questionType' | 'writtenAnswerSub' | 'dateSub' | 'locationSub' | 'listSub'>;
227
239
  export type FormEditorInputCheckAnswersSettings = Pick<FormEditor, 'needDeclaration' | 'declarationText'>;
228
- export type FormEditorInputQuestion = Pick<FormEditor, 'questionType' | 'name' | 'question' | 'shortDescription' | 'hintText' | 'questionOptional' | 'minLength' | 'maxLength' | 'regex' | 'rows' | 'classes' | 'prefix' | 'suffix' | 'precision' | 'min' | 'max' | 'maxFuture' | 'maxPast' | 'exactFiles' | 'minFiles' | 'maxFiles' | 'fileTypes' | 'documentTypes' | 'imageTypes' | 'tabularDataTypes' | 'autoCompleteOptions' | 'enhancedAction' | 'radioId' | 'radioText' | 'radioHint' | 'radioValue' | 'list' | 'listItemsData' | 'jsEnabled' | 'usePostcodeLookup'>;
240
+ export type FormEditorInputQuestion = Pick<FormEditor, 'questionType' | 'name' | 'question' | 'shortDescription' | 'hintText' | 'questionOptional' | 'minLength' | 'maxLength' | 'regex' | 'rows' | 'classes' | 'prefix' | 'suffix' | 'precision' | 'min' | 'max' | 'maxFuture' | 'maxPast' | 'exactFiles' | 'minFiles' | 'maxFiles' | 'fileTypes' | 'documentTypes' | 'imageTypes' | 'tabularDataTypes' | 'autoCompleteOptions' | 'enhancedAction' | 'radioId' | 'radioText' | 'radioHint' | 'radioValue' | 'list' | 'listItemsData' | 'jsEnabled' | 'usePostcodeLookup' | 'giveInstructions' | 'instructionText'>;
229
241
  export type FormEditorInputPageSettings = Pick<FormEditor, 'pageHeadingAndGuidance' | 'pageHeading' | 'guidanceText' | 'repeater' | 'minItems' | 'maxItems' | 'questionSetName' | 'exitPage'>;
230
242
  export type FormEditorInputGuidancePage = Pick<FormEditor, 'pageHeading' | 'guidanceText' | 'exitPage'>;
231
243
  export type FormEditorInputQuestionDetails = Pick<FormEditorInputQuestion, 'question' | 'hintText' | 'shortDescription' | 'questionOptional' | 'questionType' | 'fileTypes' | 'documentTypes' | 'imageTypes' | 'tabularDataTypes' | 'autoCompleteOptions' | 'enhancedAction' | 'radioId' | 'radioText' | 'radioHint' | 'radioValue' | 'listItemsData' | 'jsEnabled'>;
@@ -380,6 +392,7 @@ export type GovukStringField = Omit<GovukField, 'value'> & {
380
392
  export interface FormEditorGovukField {
381
393
  question?: GovukField;
382
394
  hintText?: GovukField;
395
+ instructionText?: GovukField;
383
396
  questionOptional?: GovukField;
384
397
  shortDescription?: GovukField;
385
398
  fileTypes?: GovukField;
@@ -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.567",
3
+ "version": "3.0.569",
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",
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "type": "string",
3
+ "description": "Subtype for date-related questions",
3
4
  "enum": [
4
5
  "DatePartsField",
5
6
  "MonthYearField"
6
7
  ],
7
8
  "$schema": "http://json-schema.org/draft-07/schema#",
8
9
  "title": "Date Sub Schema",
9
- "description": "JSON Schema for validating Date Sub Schema in Defra forms",
10
10
  "$id": "@defra/forms-model/schemas/date-sub-schema.json"
11
11
  }
@@ -17,6 +17,7 @@
17
17
  "enum": [
18
18
  "writtenAnswerSub",
19
19
  "dateSub",
20
+ "locationSub",
20
21
  "UkAddressField",
21
22
  "TelephoneNumberField",
22
23
  "FileUploadField",
@@ -15,7 +15,11 @@
15
15
  "CheckboxesField",
16
16
  "RadiosField",
17
17
  "AutocompleteField",
18
- "SelectField"
18
+ "SelectField",
19
+ "EastingNorthingField",
20
+ "OsGridRefField",
21
+ "NationalGridFieldNumberField",
22
+ "LatLongField"
19
23
  ],
20
24
  "$schema": "http://json-schema.org/draft-07/schema#",
21
25
  "title": "Question Type Full Schema",
@@ -4,6 +4,7 @@
4
4
  "enum": [
5
5
  "writtenAnswerSub",
6
6
  "dateSub",
7
+ "locationSub",
7
8
  "UkAddressField",
8
9
  "TelephoneNumberField",
9
10
  "FileUploadField",
@@ -143,5 +143,33 @@ export const ComponentTypes: readonly ComponentDef[] = Object.freeze([
143
143
  type: ComponentType.List,
144
144
  list: '',
145
145
  options: {}
146
+ },
147
+ {
148
+ name: 'EastingNorthingField',
149
+ title: 'Easting and northing',
150
+ type: ComponentType.EastingNorthingField,
151
+ hint: 'For example, Easting: 248741, Northing: 63688',
152
+ options: {}
153
+ },
154
+ {
155
+ name: 'OsGridRefField',
156
+ title: 'Ordnance Survey (OS) grid reference',
157
+ type: ComponentType.OsGridRefField,
158
+ hint: 'An OS grid reference number is made up of 2 letters followed by 10 numbers, for example, SO7394301364',
159
+ options: {}
160
+ },
161
+ {
162
+ name: 'NationalGridFieldNumberField',
163
+ title: 'National Grid field number',
164
+ type: ComponentType.NationalGridFieldNumberField,
165
+ hint: 'A National Grid field number is made up of 2 letters and 8 numbers, for example, SO04188589',
166
+ options: {}
167
+ },
168
+ {
169
+ name: 'LatLongField',
170
+ title: 'Latitude and longitude',
171
+ type: ComponentType.LatLongField,
172
+ hint: 'For Great Britain, the latitude will be a number between 49.850 and 60.859. The longitude will be a number between -13.687 and 1.767',
173
+ options: {}
146
174
  }
147
175
  ])
@@ -17,5 +17,9 @@ export enum ComponentType {
17
17
  Details = 'Details',
18
18
  List = 'List',
19
19
  Markdown = 'Markdown',
20
- FileUploadField = 'FileUploadField'
20
+ FileUploadField = 'FileUploadField',
21
+ EastingNorthingField = 'EastingNorthingField',
22
+ OsGridRefField = 'OsGridRefField',
23
+ NationalGridFieldNumberField = 'NationalGridFieldNumberField',
24
+ LatLongField = 'LatLongField'
21
25
  }
@@ -27,6 +27,7 @@ interface FormFieldBase {
27
27
  optionalText?: boolean
28
28
  classes?: string
29
29
  customValidationMessages?: LanguageMessages
30
+ instructionText?: string
30
31
  }
31
32
  }
32
33
 
@@ -164,6 +165,59 @@ export interface UkAddressFieldComponent extends FormFieldBase {
164
165
  }
165
166
  }
166
167
 
168
+ // Precise Location Fields
169
+ export interface EastingNorthingFieldComponent extends FormFieldBase {
170
+ type: ComponentType.EastingNorthingField
171
+ options: FormFieldBase['options'] & {
172
+ condition?: string
173
+ customValidationMessage?: string
174
+ }
175
+ schema?: {
176
+ easting?: {
177
+ min?: number
178
+ max?: number
179
+ }
180
+ northing?: {
181
+ min?: number
182
+ max?: number
183
+ }
184
+ }
185
+ }
186
+
187
+ export interface OsGridRefFieldComponent extends FormFieldBase {
188
+ type: ComponentType.OsGridRefField
189
+ options: FormFieldBase['options'] & {
190
+ condition?: string
191
+ customValidationMessage?: string
192
+ }
193
+ }
194
+
195
+ export interface NationalGridFieldNumberFieldComponent extends FormFieldBase {
196
+ type: ComponentType.NationalGridFieldNumberField
197
+ options: FormFieldBase['options'] & {
198
+ condition?: string
199
+ customValidationMessage?: string
200
+ }
201
+ }
202
+
203
+ export interface LatLongFieldComponent extends FormFieldBase {
204
+ type: ComponentType.LatLongField
205
+ options: FormFieldBase['options'] & {
206
+ condition?: string
207
+ customValidationMessage?: string
208
+ }
209
+ schema?: {
210
+ latitude?: {
211
+ min?: number
212
+ max?: number
213
+ }
214
+ longitude?: {
215
+ min?: number
216
+ max?: number
217
+ }
218
+ }
219
+ }
220
+
167
221
  // Date Fields
168
222
  export interface DatePartsFieldComponent extends DateFieldBase {
169
223
  type: ComponentType.DatePartsField
@@ -270,6 +324,10 @@ export type InputFieldsComponentsDef =
270
324
  | DatePartsFieldComponent
271
325
  | UkAddressFieldComponent
272
326
  | FileUploadFieldComponent
327
+ | EastingNorthingFieldComponent
328
+ | OsGridRefFieldComponent
329
+ | NationalGridFieldNumberFieldComponent
330
+ | LatLongFieldComponent
273
331
 
274
332
  // Components that render content
275
333
  export type ContentComponentsDef =
@@ -80,7 +80,11 @@ export const customOperators = {
80
80
  [ComponentType.EmailAddressField]: withDefaults(textFieldOperators),
81
81
  [ComponentType.TelephoneNumberField]: defaultOperators,
82
82
  [ComponentType.SelectField]: defaultOperators,
83
- [ComponentType.YesNoField]: defaultOperators
83
+ [ComponentType.YesNoField]: defaultOperators,
84
+ [ComponentType.EastingNorthingField]: defaultOperators,
85
+ [ComponentType.OsGridRefField]: defaultOperators,
86
+ [ComponentType.NationalGridFieldNumberField]: defaultOperators,
87
+ [ComponentType.LatLongField]: defaultOperators
84
88
  }
85
89
 
86
90
  export function getOperatorNames(fieldType?: ConditionalComponentType) {
@@ -85,6 +85,11 @@ export class QuestionPreviewElements {
85
85
  * @protected
86
86
  */
87
87
  _shortDesc = ''
88
+ /**
89
+ * @type {string}
90
+ * @protected
91
+ */
92
+ _userClasses = ''
88
93
  /**
89
94
  * @type {string}
90
95
  * @protected
@@ -111,6 +116,7 @@ export class QuestionPreviewElements {
111
116
  hintText,
112
117
  optional,
113
118
  shortDesc,
119
+ userClasses,
114
120
  usePostcodeLookup,
115
121
  items,
116
122
  content
@@ -119,6 +125,7 @@ export class QuestionPreviewElements {
119
125
  this._hintText = hintText
120
126
  this._optional = optional
121
127
  this._shortDesc = shortDesc
128
+ this._userClasses = userClasses
122
129
  this._items = items
123
130
  this._content = content
124
131
  this._usePostcodeLookup = usePostcodeLookup ?? false
@@ -133,6 +140,7 @@ export class QuestionPreviewElements {
133
140
  hintText: this._hintText,
134
141
  optional: this._optional,
135
142
  shortDesc: this._shortDesc,
143
+ userClasses: this._userClasses,
136
144
  usePostcodeLookup: this._usePostcodeLookup,
137
145
  items: this._items,
138
146
  content: this._content
@@ -204,11 +212,25 @@ export const baseElements = /** @type {BaseSettings} */ ({
204
212
  optional: false,
205
213
  question: 'Which quest would you like to pick?',
206
214
  hintText: 'Choose one adventure that best suits you.',
215
+ userClasses: '',
207
216
  shortDesc: '',
208
217
  content: '',
209
218
  largeTitle: true
210
219
  })
211
220
 
221
+ export const numberElements = /** @type {NumberSettings} */ ({
222
+ items: [],
223
+ optional: false,
224
+ question: 'Which quest would you like to pick?',
225
+ hintText: 'Choose one adventure that best suits you.',
226
+ userClasses: '',
227
+ shortDesc: '',
228
+ content: '',
229
+ largeTitle: true,
230
+ prefix: '',
231
+ suffix: ''
232
+ })
233
+
212
234
  const list1Id = '414d82a3-4cab-416a-bd54-6b86fbd51120'
213
235
  const list2Id = '801385a4-81e6-4171-96c3-6c6727d97f22'
214
236
  const list3Id = 'e6e3f621-b875-4ca3-a054-cca9149149dd'
@@ -267,8 +289,115 @@ export function buildPreviewShortAnswer(partialBaseElements, renderMock) {
267
289
  )
268
290
  }
269
291
 
292
+ export class NumberPreviewElements {
293
+ /**
294
+ * @protected
295
+ */
296
+ _question = ''
297
+ /** @protected */
298
+ _hintText = ''
299
+ /** @protected */
300
+ _optional = false
301
+ /**
302
+ * @type {string}
303
+ * @protected
304
+ */
305
+ _shortDesc = ''
306
+ /**
307
+ * @type {string}
308
+ * @protected
309
+ */
310
+ _userClasses = ''
311
+ /**
312
+ * @type {string}
313
+ * @protected
314
+ */
315
+ _prefix = ''
316
+ /**
317
+ * @type {string}
318
+ * @protected
319
+ */
320
+ _suffix = ''
321
+ /**
322
+ * @type {string}
323
+ * @protected
324
+ */
325
+ _content = ''
326
+ /**
327
+ *
328
+ * @type {ListElement[]}
329
+ * @private
330
+ */
331
+ _items = []
332
+ /**
333
+ * @protected
334
+ * @type {boolean}
335
+ */
336
+ _usePostcodeLookup = false
337
+ afterInputsHTML = '<div class="govuk-inset-text">No items added yet.</div>'
338
+
339
+ /**
340
+ * @param {NumberSettings} baseSettings
341
+ */
342
+ constructor({
343
+ question,
344
+ hintText,
345
+ optional,
346
+ shortDesc,
347
+ userClasses,
348
+ prefix,
349
+ suffix,
350
+ usePostcodeLookup,
351
+ items,
352
+ content
353
+ }) {
354
+ this._question = question
355
+ this._hintText = hintText
356
+ this._optional = optional
357
+ this._shortDesc = shortDesc
358
+ this._userClasses = userClasses
359
+ this._prefix = prefix
360
+ this._suffix = suffix
361
+ this._items = items
362
+ this._content = content
363
+ this._usePostcodeLookup = usePostcodeLookup ?? false
364
+ }
365
+
366
+ /**
367
+ * @returns {NumberSettings}
368
+ */
369
+ get values() {
370
+ return {
371
+ question: this._question,
372
+ hintText: this._hintText,
373
+ optional: this._optional,
374
+ shortDesc: this._shortDesc,
375
+ userClasses: this._userClasses,
376
+ prefix: this._prefix,
377
+ suffix: this._suffix,
378
+ usePostcodeLookup: this._usePostcodeLookup,
379
+ items: this._items,
380
+ content: this._content
381
+ }
382
+ }
383
+
384
+ /**
385
+ * @param {string} _value
386
+ */
387
+ setPreviewHTML(_value) {
388
+ // Not implemented for server side render
389
+ }
390
+
391
+ /**
392
+ * @param {HTMLElement} _value
393
+ */
394
+ setPreviewDOM(_value) {
395
+ // Not implemented for server side render
396
+ }
397
+ }
398
+
270
399
  /**
271
400
  * @import { ListElement } from '~/src/form/form-editor/types.js'
272
401
  * @import { PagePreviewPanelMacro } from '~/src/form/form-editor/macros/types.js'
273
- * @import { BaseSettings, ListElements, RenderContext, QuestionBaseModel, QuestionElements, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer } from '~/src/form/form-editor/preview/types.js'
402
+ * @import { BaseSettings, ListElements, NumberSettings, RenderContext, QuestionBaseModel, QuestionRenderer, AutocompleteElements, PageOverviewElements, PageRenderer } from '~/src/form/form-editor/preview/types.js'
274
403
  */
@@ -19,7 +19,8 @@ import {
19
19
  export enum QuestionTypeSubGroup {
20
20
  WrittenAnswerSubGroup = 'writtenAnswerSub',
21
21
  DateSubGroup = 'dateSub',
22
- ListSubGroup = 'listSub'
22
+ ListSubGroup = 'listSub',
23
+ LocationSubGroup = 'locationSub'
23
24
  }
24
25
 
25
26
  export const pageTypeSchema = Joi.string()
@@ -32,6 +33,7 @@ export const questionTypeSchema = Joi.string()
32
33
  .valid(
33
34
  QuestionTypeSubGroup.WrittenAnswerSubGroup,
34
35
  QuestionTypeSubGroup.DateSubGroup,
36
+ QuestionTypeSubGroup.LocationSubGroup,
35
37
  ComponentType.UkAddressField,
36
38
  ComponentType.TelephoneNumberField,
37
39
  ComponentType.FileUploadField,
@@ -60,7 +62,11 @@ export const questionTypeFullSchema = Joi.string()
60
62
  ComponentType.CheckboxesField,
61
63
  ComponentType.RadiosField,
62
64
  ComponentType.AutocompleteField,
63
- ComponentType.SelectField
65
+ ComponentType.SelectField,
66
+ ComponentType.EastingNorthingField,
67
+ ComponentType.OsGridRefField,
68
+ ComponentType.NationalGridFieldNumberField,
69
+ ComponentType.LatLongField
64
70
  )
65
71
  .description('The specific component type to use for this question')
66
72
 
@@ -76,6 +82,8 @@ export const writtenAnswerSubSchema = Joi.string()
76
82
  export const dateSubSchema = Joi.string()
77
83
  .required()
78
84
  .valid(ComponentType.DatePartsField, ComponentType.MonthYearField)
85
+ .description('Subtype for date-related questions')
86
+
79
87
  export const listSubSchema = Joi.string()
80
88
  .required()
81
89
  .valid(
@@ -85,7 +93,17 @@ export const listSubSchema = Joi.string()
85
93
  ComponentType.AutocompleteField,
86
94
  ComponentType.SelectField
87
95
  )
88
- .description('Subtype for date-related questions')
96
+ .description('Subtype for list-related questions')
97
+
98
+ export const locationSubSchema = Joi.string()
99
+ .required()
100
+ .valid(
101
+ ComponentType.EastingNorthingField,
102
+ ComponentType.OsGridRefField,
103
+ ComponentType.NationalGridFieldNumberField,
104
+ ComponentType.LatLongField
105
+ )
106
+ .description('Subtype for location-related questions')
89
107
 
90
108
  export const nameSchema = Joi.string()
91
109
  .trim()
@@ -103,6 +121,14 @@ export const hintTextSchema = Joi.string()
103
121
  .allow('')
104
122
  .description('Optional guidance text displayed below the question')
105
123
 
124
+ export const instructionTextSchema = Joi.string()
125
+ .trim()
126
+ .optional()
127
+ .allow('')
128
+ .description(
129
+ 'Optional instruction text with markdown support to help users answer the question'
130
+ )
131
+
106
132
  export const questionOptionalSchema = Joi.string()
107
133
  .trim()
108
134
  .optional()
@@ -512,6 +538,7 @@ export const questionDetailsFullSchema = {
512
538
  fileTypesSchema,
513
539
  hintTextSchema,
514
540
  imageTypesSchema,
541
+ instructionTextSchema,
515
542
  jsEnabledSchema,
516
543
  listForQuestionSchema,
517
544
  listItemCountSchema,
@@ -612,7 +639,10 @@ export function govukFieldValueIsString(
612
639
  'question',
613
640
  'hintText',
614
641
  'shortDescription',
615
- 'autoCompleteOptions'
642
+ 'autoCompleteOptions',
643
+ 'classes',
644
+ 'prefix',
645
+ 'suffix'
616
646
  ].includes(`${govukField.name}`)
617
647
  }
618
648
 
@@ -55,6 +55,9 @@ export interface QuestionBaseModel {
55
55
  formGroup?: FormGroupAfterInput
56
56
  type?: 'text' | 'number' | 'boolean'
57
57
  classes?: string
58
+ previewClasses?: string
59
+ prefix?: { text: string }
60
+ suffix?: { text: string }
58
61
  }
59
62
 
60
63
  export interface AppPreviewPanelMacro extends AppPreviewPanelTabsMacro {
@@ -26,6 +26,10 @@ export class ComponentElements {
26
26
  hintText: '',
27
27
  optional: !required,
28
28
  shortDesc: '',
29
+ userClasses:
30
+ this._component.options && 'classes' in this._component.options
31
+ ? (this._component.options.classes ?? '')
32
+ : '',
29
33
  items: [],
30
34
  content: ''
31
35
  }
@@ -19,7 +19,10 @@ import {
19
19
  import { LongAnswerQuestion } from '~/src/form/form-editor/preview/long-answer.js'
20
20
  import { Markdown } from '~/src/form/form-editor/preview/markdown.js'
21
21
  import { MonthYearQuestion } from '~/src/form/form-editor/preview/month-year.js'
22
- import { NumberOnlyQuestion } from '~/src/form/form-editor/preview/number-only.js'
22
+ import {
23
+ NumberComponentPreviewElements,
24
+ NumberOnlyQuestion
25
+ } from '~/src/form/form-editor/preview/number-only.js'
23
26
  import { PhoneNumberQuestion } from '~/src/form/form-editor/preview/phone-number.js'
24
27
  import { QuestionComponentElements } from '~/src/form/form-editor/preview/question.js'
25
28
  import { RadioQuestion } from '~/src/form/form-editor/preview/radio.js'
@@ -54,7 +57,11 @@ const InputFieldComponentDictionary = {
54
57
  [ComponentType.CheckboxesField]: CheckboxQuestion,
55
58
  [ComponentType.SelectField]: SelectQuestion,
56
59
  [ComponentType.YesNoField]: YesNoQuestion,
57
- [ComponentType.FileUploadField]: SupportingEvidenceQuestion
60
+ [ComponentType.FileUploadField]: SupportingEvidenceQuestion,
61
+ [ComponentType.EastingNorthingField]: ShortAnswerQuestion,
62
+ [ComponentType.OsGridRefField]: ShortAnswerQuestion,
63
+ [ComponentType.NationalGridFieldNumberField]: ShortAnswerQuestion,
64
+ [ComponentType.LatLongField]: ShortAnswerQuestion
58
65
  }
59
66
 
60
67
  /**
@@ -78,6 +85,8 @@ export function mapComponentToPreviewQuestion(questionRenderer, definition) {
78
85
  questionElements = new SelectComponentElements(component, list)
79
86
  } else if (component.type === ComponentType.UkAddressField) {
80
87
  questionElements = new UkAddressComponentPreviewElements(component)
88
+ } else if (component.type === ComponentType.NumberField) {
89
+ questionElements = new NumberComponentPreviewElements(component)
81
90
  } else if (hasSelectionFields(component) && hasListField(component)) {
82
91
  const list = findDefinitionListFromComponent(component, definition)
83
92
  questionElements = new ListComponentElements(component, list)