@defra/forms-model 3.0.448 → 3.0.449

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 (80) hide show
  1. package/dist/module/form/form-editor/__stubs__/preview.js +105 -0
  2. package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -0
  3. package/dist/module/form/form-editor/index.js +10 -0
  4. package/dist/module/form/form-editor/index.js.map +1 -1
  5. package/dist/module/form/form-editor/preview/date-input.js +17 -0
  6. package/dist/module/form/form-editor/preview/date-input.js.map +1 -0
  7. package/dist/module/form/form-editor/preview/email-address.js +6 -0
  8. package/dist/module/form/form-editor/preview/email-address.js.map +1 -0
  9. package/dist/module/form/form-editor/preview/index.js +11 -0
  10. package/dist/module/form/form-editor/preview/index.js.map +1 -0
  11. package/dist/module/form/form-editor/preview/list-sortable.js +40 -0
  12. package/dist/module/form/form-editor/preview/list-sortable.js.map +1 -0
  13. package/dist/module/form/form-editor/preview/list.js +182 -0
  14. package/dist/module/form/form-editor/preview/list.js.map +1 -0
  15. package/dist/module/form/form-editor/preview/phone-number.js +10 -0
  16. package/dist/module/form/form-editor/preview/phone-number.js.map +1 -0
  17. package/dist/module/form/form-editor/preview/question.js +197 -0
  18. package/dist/module/form/form-editor/preview/question.js.map +1 -0
  19. package/dist/module/form/form-editor/preview/radio-sortable.js +5 -0
  20. package/dist/module/form/form-editor/preview/radio-sortable.js.map +1 -0
  21. package/dist/module/form/form-editor/preview/radio.js +5 -0
  22. package/dist/module/form/form-editor/preview/radio.js.map +1 -0
  23. package/dist/module/form/form-editor/preview/short-answer.js +3 -0
  24. package/dist/module/form/form-editor/preview/short-answer.js.map +1 -0
  25. package/dist/module/form/form-editor/preview/types.js +2 -0
  26. package/dist/module/form/form-editor/preview/types.js.map +1 -0
  27. package/dist/module/form/form-editor/preview/uk-address.js +6 -0
  28. package/dist/module/form/form-editor/preview/uk-address.js.map +1 -0
  29. package/dist/module/form/form-editor/types.js.map +1 -1
  30. package/dist/module/index.js +1 -0
  31. package/dist/module/index.js.map +1 -1
  32. package/dist/types/form/form-editor/__stubs__/preview.d.ts +72 -0
  33. package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -0
  34. package/dist/types/form/form-editor/index.d.ts +3 -1
  35. package/dist/types/form/form-editor/index.d.ts.map +1 -1
  36. package/dist/types/form/form-editor/preview/date-input.d.ts +10 -0
  37. package/dist/types/form/form-editor/preview/date-input.d.ts.map +1 -0
  38. package/dist/types/form/form-editor/preview/email-address.d.ts +4 -0
  39. package/dist/types/form/form-editor/preview/email-address.d.ts.map +1 -0
  40. package/dist/types/form/form-editor/preview/index.d.ts +11 -0
  41. package/dist/types/form/form-editor/preview/index.d.ts.map +1 -0
  42. package/dist/types/form/form-editor/preview/list-sortable.d.ts +17 -0
  43. package/dist/types/form/form-editor/preview/list-sortable.d.ts.map +1 -0
  44. package/dist/types/form/form-editor/preview/list.d.ts +81 -0
  45. package/dist/types/form/form-editor/preview/list.d.ts.map +1 -0
  46. package/dist/types/form/form-editor/preview/phone-number.d.ts +4 -0
  47. package/dist/types/form/form-editor/preview/phone-number.d.ts.map +1 -0
  48. package/dist/types/form/form-editor/preview/question.d.ts +119 -0
  49. package/dist/types/form/form-editor/preview/question.d.ts.map +1 -0
  50. package/dist/types/form/form-editor/preview/radio-sortable.d.ts +4 -0
  51. package/dist/types/form/form-editor/preview/radio-sortable.d.ts.map +1 -0
  52. package/dist/types/form/form-editor/preview/radio.d.ts +4 -0
  53. package/dist/types/form/form-editor/preview/radio.d.ts.map +1 -0
  54. package/dist/types/form/form-editor/preview/short-answer.d.ts +4 -0
  55. package/dist/types/form/form-editor/preview/short-answer.d.ts.map +1 -0
  56. package/dist/types/form/form-editor/preview/types.d.ts +52 -0
  57. package/dist/types/form/form-editor/preview/types.d.ts.map +1 -0
  58. package/dist/types/form/form-editor/preview/uk-address.d.ts +4 -0
  59. package/dist/types/form/form-editor/preview/uk-address.d.ts.map +1 -0
  60. package/dist/types/form/form-editor/types.d.ts +19 -5
  61. package/dist/types/form/form-editor/types.d.ts.map +1 -1
  62. package/dist/types/index.d.ts +2 -0
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/package.json +2 -2
  65. package/src/form/form-editor/__stubs__/preview.js +101 -0
  66. package/src/form/form-editor/index.ts +22 -1
  67. package/src/form/form-editor/preview/date-input.js +18 -0
  68. package/src/form/form-editor/preview/email-address.js +6 -0
  69. package/src/form/form-editor/preview/index.js +10 -0
  70. package/src/form/form-editor/preview/list-sortable.js +39 -0
  71. package/src/form/form-editor/preview/list.js +202 -0
  72. package/src/form/form-editor/preview/phone-number.js +10 -0
  73. package/src/form/form-editor/preview/question.js +199 -0
  74. package/src/form/form-editor/preview/radio-sortable.js +5 -0
  75. package/src/form/form-editor/preview/radio.js +5 -0
  76. package/src/form/form-editor/preview/short-answer.js +3 -0
  77. package/src/form/form-editor/preview/types.ts +60 -0
  78. package/src/form/form-editor/preview/uk-address.js +6 -0
  79. package/src/form/form-editor/types.ts +20 -1
  80. package/src/index.ts +2 -0
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @class Question
3
+ * @classdesc
4
+ * A data object that has access to the underlying data via the QuestionElements object interface
5
+ * and the templating mechanism to render the HTML for the data.
6
+ *
7
+ * It does not have access to the DOM, but has access to QuestionElements.setPreviewHTML to update
8
+ * the HTML. Question classes should only be responsible for data and rendering as are reused in the
9
+ * server side.
10
+ */
11
+ export class Question {
12
+ /**
13
+ * @param {QuestionElements} htmlElements
14
+ * @param {QuestionRenderer} questionRenderer
15
+ */
16
+ constructor(htmlElements: QuestionElements, questionRenderer: QuestionRenderer);
17
+ /**
18
+ * @type {string}
19
+ * @protected
20
+ */
21
+ protected _questionTemplate: string;
22
+ /**
23
+ * @type { string|null }
24
+ * @protected
25
+ */
26
+ protected _highlight: string | null;
27
+ /**
28
+ * @type {string}
29
+ * @protected
30
+ */
31
+ protected _fieldName: string;
32
+ /**
33
+ * @type {QuestionRenderer}
34
+ * @protected
35
+ */
36
+ protected _questionRenderer: QuestionRenderer;
37
+ /**
38
+ * @type {QuestionElements}
39
+ * @private
40
+ */
41
+ private _htmlElements;
42
+ /**
43
+ * @type {string}
44
+ * @private
45
+ */
46
+ private _question;
47
+ /**
48
+ * @type {string}
49
+ * @private
50
+ */
51
+ private _hintText;
52
+ /**
53
+ * @type {boolean}
54
+ * @private
55
+ */
56
+ private _optional;
57
+ /**
58
+ * @param {string} element
59
+ * @returns {string}
60
+ * @protected
61
+ */
62
+ protected getHighlight(element: string): string;
63
+ get titleText(): string;
64
+ /**
65
+ * @protected
66
+ * @type {DefaultComponent}
67
+ */
68
+ protected get label(): DefaultComponent;
69
+ /**
70
+ * @protected
71
+ * @type {GovukFieldset}
72
+ */
73
+ protected get fieldSet(): GovukFieldset;
74
+ /**
75
+ * @type {DefaultComponent}
76
+ * @protected
77
+ */
78
+ protected get hint(): DefaultComponent;
79
+ /**
80
+ * @type {QuestionBaseModel}
81
+ */
82
+ get renderInput(): QuestionBaseModel;
83
+ render(): void;
84
+ /**
85
+ * @param {string} value
86
+ */
87
+ set question(value: string);
88
+ /**
89
+ * @type {string}
90
+ */
91
+ get question(): string;
92
+ /**
93
+ * @param {string} value
94
+ */
95
+ set hintText(value: string);
96
+ /**
97
+ * @type {string}
98
+ */
99
+ get hintText(): string;
100
+ /**
101
+ * @param {boolean} value
102
+ */
103
+ set optional(value: boolean);
104
+ get optional(): boolean;
105
+ /**
106
+ * @param {string | null} value
107
+ */
108
+ set highlight(value: string | null);
109
+ /**
110
+ * @type {string | null}
111
+ */
112
+ get highlight(): string | null;
113
+ }
114
+ import type { QuestionRenderer } from '../../../form/form-editor/preview/types.js';
115
+ import type { DefaultComponent } from '../../../form/form-editor/preview/types.js';
116
+ import type { GovukFieldset } from '../../../form/form-editor/preview/types.js';
117
+ import type { QuestionBaseModel } from '../../../form/form-editor/preview/types.js';
118
+ import type { QuestionElements } from '../../../form/form-editor/preview/types.js';
119
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/question.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH;IAsBE;;;OAGG;IACH,0BAHW,gBAAgB,oBAChB,gBAAgB,EA+B1B;IAtDD;;;OAGG;IACH,6BAHU,MAAM,CAGmB;IACnC;;;OAGG;IACH,sBAHW,MAAM,GAAC,IAAI,CAGL;IACjB;;;OAGG;IACH,sBAHU,MAAM,CAGS;IACzB;;;OAGG;IACH,6BAHU,gBAAgB,CAGT;IASf;;;OAGG;IACH,sBAAiC;IACjC;;;OAGG;IACH,kBAAyB;IACzB;;;OAGG;IACH,kBAAyB;IACzB;;;OAGG;IACH,kBAAyB;IAS3B;;;;OAIG;IACH,gCAJW,MAAM,GACJ,MAAM,CAKlB;IAED,wBAGC;IAED;;;OAGG;IACH,uBAFU,gBAAgB,CAOzB;IAED;;;OAGG;IACH,0BAFU,aAAa,CAStB;IAED;;;OAGG;IACH,sBAHU,gBAAgB,CAazB;IAED;;OAEG;IACH,mBAFU,iBAAiB,CAS1B;IAED,eAEC;IASD;;OAEG;IACH,oBAFW,MAAM,EAKhB;IAbD;;OAEG;IACH,gBAFU,MAAM,CAIf;IAiBD;;OAEG;IACH,oBAFW,MAAM,EAKhB;IAbD;;OAEG;IACH,gBAFU,MAAM,CAIf;IAcD;;OAEG;IACH,oBAFW,OAAO,EAKjB;IAVD,gBAKW,OAAO,CAHjB;IAiBD;;OAEG;IACH,qBAFW,MAAM,GAAG,IAAI,EAKvB;IAbD;;OAEG;IACH,iBAFU,MAAM,GAAG,IAAI,CAItB;CASF;sCAGqI,yCAAyC;sCAAzC,yCAAyC;mCAAzC,yCAAyC;uCAAzC,yCAAyC;sCAAzC,yCAAyC"}
@@ -0,0 +1,4 @@
1
+ export class RadioSortableQuestion extends ListSortableQuestion {
2
+ }
3
+ import { ListSortableQuestion } from '../../../form/form-editor/preview/list-sortable.js';
4
+ //# sourceMappingURL=radio-sortable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-sortable.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/radio-sortable.js"],"names":[],"mappings":"AAEA;CAEC;qCAJoC,iDAAiD"}
@@ -0,0 +1,4 @@
1
+ export class RadioQuestion extends ListQuestion {
2
+ }
3
+ import { ListQuestion } from '../../../form/form-editor/preview/list.js';
4
+ //# sourceMappingURL=radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/radio.js"],"names":[],"mappings":"AAEA;CAEC;6BAJ4B,wCAAwC"}
@@ -0,0 +1,4 @@
1
+ export class ShortAnswerQuestion extends Question {
2
+ }
3
+ import { Question } from '../../../form/form-editor/preview/question.js';
4
+ //# sourceMappingURL=short-answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"short-answer.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/short-answer.js"],"names":[],"mappings":"AAEA;CAAoD;yBAF3B,4CAA4C"}
@@ -0,0 +1,52 @@
1
+ import { type ListElement, type ListItemReadonly } from '../../../form/form-editor/types.js';
2
+ export interface BaseSettings {
3
+ question: string;
4
+ hintText: string;
5
+ optional: boolean;
6
+ shortDesc: string;
7
+ items: ListElement[];
8
+ }
9
+ export interface DefaultComponent {
10
+ id?: string;
11
+ text: string;
12
+ classes: string;
13
+ }
14
+ export interface GovukFieldset {
15
+ legend: DefaultComponent;
16
+ }
17
+ export interface QuestionBaseModel {
18
+ id?: string;
19
+ name?: string;
20
+ label?: DefaultComponent;
21
+ hint?: DefaultComponent;
22
+ fieldset?: GovukFieldset;
23
+ readonly items?: ListItemReadonly[];
24
+ text?: string;
25
+ formGroup?: {
26
+ afterInputs: {
27
+ html: string;
28
+ };
29
+ };
30
+ }
31
+ export type ListenerRow = [
32
+ HTMLInputElement | null,
33
+ (target: HTMLInputElement, e: Event) => void,
34
+ keyof HTMLElementEventMap
35
+ ];
36
+ export interface QuestionElements {
37
+ readonly values: BaseSettings;
38
+ setPreviewHTML(value: string): void;
39
+ }
40
+ export interface RenderContext {
41
+ model: QuestionBaseModel;
42
+ }
43
+ export interface HTMLBuilder {
44
+ buildHTML(questionTemplate: string, renderContext: RenderContext): string;
45
+ }
46
+ export interface QuestionRenderer {
47
+ render(questionTemplate: string, questionBaseModel: QuestionBaseModel): void;
48
+ }
49
+ export interface ListElements extends QuestionElements {
50
+ afterInputsHTML: string;
51
+ }
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAA;AAExC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC9C;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,GAAG,IAAI;IACvB,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI;IAC5C,MAAM,mBAAmB;CAC1B,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,CAAA;CAC1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAC7E;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,eAAe,EAAE,MAAM,CAAA;CACxB"}
@@ -0,0 +1,4 @@
1
+ export class UkAddressQuestion extends Question {
2
+ }
3
+ import { Question } from '../../../form/form-editor/preview/question.js';
4
+ //# sourceMappingURL=uk-address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk-address.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-editor/preview/uk-address.js"],"names":[],"mappings":"AAEA;CAGC;yBALwB,4CAA4C"}
@@ -246,6 +246,11 @@ export interface QuestionSessionState {
246
246
  lastMovedId?: string;
247
247
  lastMoveDirection?: string;
248
248
  }
249
+ export interface GovukFieldItem {
250
+ text?: string;
251
+ value?: string;
252
+ checked?: boolean;
253
+ }
249
254
  export interface GovukField {
250
255
  id?: string;
251
256
  name?: string;
@@ -270,15 +275,24 @@ export interface GovukField {
270
275
  html?: string;
271
276
  classes?: string;
272
277
  };
273
- items?: {
274
- text?: string;
275
- value?: string;
276
- checked?: boolean;
277
- }[];
278
+ items?: GovukFieldItem[];
278
279
  rows?: number;
279
280
  type?: string;
280
281
  customTemplate?: string;
281
282
  }
283
+ export type GovukFieldQuestionOptional = Omit<GovukField, 'name' | 'items'> & {
284
+ name: 'questionOptional';
285
+ items: [
286
+ {
287
+ text?: string;
288
+ value?: string;
289
+ checked: boolean;
290
+ }
291
+ ];
292
+ };
293
+ export type GovukStringField = Omit<GovukField, 'value'> & {
294
+ value: string;
295
+ };
282
296
  export interface FormEditorGovukField {
283
297
  question?: GovukField;
284
298
  hintText?: 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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"}
@@ -12,6 +12,7 @@ export * from './form/form-metadata/index.js';
12
12
  export * from './form/form-submission/index.js';
13
13
  export * from './form/utils/index.js';
14
14
  export * from './form/form-editor/index.js';
15
+ export * from './form/form-editor/preview/index.js';
15
16
  export * from './form/form-manager/types.js';
16
17
  export * from './pages/index.js';
17
18
  export * from './utils/helpers.js';
@@ -25,5 +26,6 @@ export type * from './conditions/types.js';
25
26
  export type * from './form/form-definition/types.js';
26
27
  export type * from './form/form-metadata/types.js';
27
28
  export type * from './form/form-submission/types.js';
29
+ export type * from './form/form-editor/preview/types.js';
28
30
  export type * from './form/form-editor/types.js';
29
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,+BAA+B,CAAA;AAClD,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,mCAAmC,CAAA;AACtD,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,mBAAmB,uBAAuB,CAAA;AAC1C,mBAAmB,kCAAkC,CAAA;AACrD,mBAAmB,8BAA8B,CAAA;AACjD,mBAAmB,+BAA+B,CAAA;AAClD,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,2BAA2B,CAAA;AAC9C,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,mCAAmC,CAAA;AACtD,mBAAmB,qCAAqC,CAAA;AACxD,mBAAmB,yCAAyC,CAAA;AAC5D,mBAAmB,iCAAiC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.448",
3
+ "version": "3.0.449",
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
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "types": "dist/types/index.d.ts",
16
16
  "scripts": {
17
17
  "build": "npm run build:types && npm run build:node && npm run build:schemas",
18
- "build:node": "babel --delete-dir-on-start --extensions \".ts\" --ignore \"**/*.test.*\" --copy-files --no-copy-ignored --source-maps --out-dir ./dist/module ./src",
18
+ "build:node": "babel --delete-dir-on-start --extensions \".ts,.js\" --ignore \"**/*.test.*\" --copy-files --no-copy-ignored --source-maps --out-dir ./dist/module ./src",
19
19
  "build:types": "tsc --build --force tsconfig.build.json && tsc-alias --project tsconfig.build.json",
20
20
  "build:schemas": "node scripts/generate-schemas.js",
21
21
  "test": "jest --color --coverage --verbose",
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @implements {QuestionRenderer}
3
+ */
4
+ export class QuestionRendererStub {
5
+ /**
6
+ * @type {jest.Mock<void, [string, QuestionBaseModel]>}
7
+ */
8
+ renderMock
9
+
10
+ /**
11
+ * @param {jest.Mock<void, [string, QuestionBaseModel]>} renderMock
12
+ */
13
+ constructor(renderMock) {
14
+ this.renderMock = renderMock
15
+ }
16
+
17
+ /**
18
+ * @param {string} questionTemplate
19
+ * @param {QuestionBaseModel} questionBaseModel
20
+ */
21
+ render(questionTemplate, questionBaseModel) {
22
+ this.renderMock(questionTemplate, questionBaseModel)
23
+ }
24
+
25
+ /**
26
+ * @returns {string}
27
+ * @param {string} _questionTemplate
28
+ * @param {RenderContext} _renderContext
29
+ */
30
+ static buildHTML(_questionTemplate, _renderContext) {
31
+ return '**** BUILT HTML ****'
32
+ }
33
+ }
34
+
35
+ /**
36
+ * @implements {ListElements}
37
+ */
38
+ export class QuestionPreviewElements {
39
+ /**
40
+ * @protected
41
+ */
42
+ _question = ''
43
+ /** @protected */
44
+ _hintText = ''
45
+ /** @protected */
46
+ _optional = false
47
+ /**
48
+ * @type {string}
49
+ * @protected
50
+ */
51
+ _shortDesc = ''
52
+ /**
53
+ *
54
+ * @type {ListElement[]}
55
+ * @private
56
+ */
57
+ _items = []
58
+
59
+ afterInputsHTML = '<div class="govuk-inset-text">No items added yet.</div>'
60
+
61
+ /**
62
+ * @param {BaseSettings} baseSettings
63
+ */
64
+ constructor({ question, hintText, optional, shortDesc, items }) {
65
+ this._question = question
66
+ this._hintText = hintText
67
+ this._optional = optional
68
+ this._shortDesc = shortDesc
69
+ this._items = items
70
+ }
71
+
72
+ get values() {
73
+ return {
74
+ question: this._question,
75
+ hintText: this._hintText,
76
+ optional: this._optional,
77
+ shortDesc: this._shortDesc,
78
+ items: this._items
79
+ }
80
+ }
81
+
82
+ /**
83
+ * @param {string} _value
84
+ */
85
+ setPreviewHTML(_value) {
86
+ // Not implemented for server side render
87
+ }
88
+ }
89
+
90
+ export const baseElements = /** @type {BaseSettings} */ ({
91
+ items: [],
92
+ optional: false,
93
+ question: 'Which quest would you like to pick?',
94
+ hintText: 'Choose one adventure that best suits you.',
95
+ shortDesc: ''
96
+ })
97
+
98
+ /**
99
+ * @import { ListElement } from '~/src/form/form-editor/types.js'
100
+ * @import { BaseSettings, ListElements, RenderContext, QuestionBaseModel, QuestionElements, QuestionRenderer } from '~/src/form/form-editor/preview/types.js'
101
+ */
@@ -5,7 +5,10 @@ import {
5
5
  type FormEditorInputCheckAnswersSettings,
6
6
  type FormEditorInputPage,
7
7
  type FormEditorInputPageSettings,
8
- type FormEditorInputQuestion
8
+ type FormEditorInputQuestion,
9
+ type GovukField,
10
+ type GovukFieldQuestionOptional,
11
+ type GovukStringField
9
12
  } from '~/src/form/form-editor/types.js'
10
13
 
11
14
  export enum QuestionTypeSubGroup {
@@ -580,3 +583,21 @@ export const formEditorInputPageSettingsSchema =
580
583
  .keys(formEditorInputPageSettingsKeys)
581
584
  .required()
582
585
  .description('Settings for page content and display in the form editor')
586
+
587
+ export function govukFieldValueIsString(
588
+ govukField: GovukField
589
+ ): govukField is GovukStringField {
590
+ return ['question', 'hintText', 'shortDescription'].includes(
591
+ `${govukField.name}`
592
+ )
593
+ }
594
+
595
+ export function govukFieldIsQuestionOptional(
596
+ govukField: GovukField
597
+ ): govukField is GovukFieldQuestionOptional {
598
+ if (govukField.name !== 'questionOptional') {
599
+ return false
600
+ }
601
+ const checkedValue = govukField.items?.[0].checked
602
+ return typeof checkedValue === 'boolean'
603
+ }
@@ -0,0 +1,18 @@
1
+ import { Question } from '~/src/form/form-editor/preview/question.js'
2
+
3
+ export class DateInputQuestion extends Question {
4
+ /**
5
+ * @type {string}
6
+ * @protected
7
+ */
8
+ _questionTemplate = 'date-input.njk'
9
+
10
+ get renderInput() {
11
+ return {
12
+ id: 'dateInput',
13
+ name: 'dateInputField',
14
+ fieldset: this.fieldSet,
15
+ hint: this.hint
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,6 @@
1
+ import { Question } from '~/src/form/form-editor/preview/question.js'
2
+
3
+ export class EmailAddressQuestion extends Question {
4
+ _questionTemplate = 'emailaddressfield.njk'
5
+ _fieldName = 'emailAddressField'
6
+ }
@@ -0,0 +1,10 @@
1
+ export * from '~/src/form/form-editor/preview/date-input.js'
2
+ export * from '~/src/form/form-editor/preview/email-address.js'
3
+ export * from '~/src/form/form-editor/preview/list.js'
4
+ export * from '~/src/form/form-editor/preview/list-sortable.js'
5
+ export * from '~/src/form/form-editor/preview/phone-number.js'
6
+ export * from '~/src/form/form-editor/preview/question.js'
7
+ export * from '~/src/form/form-editor/preview/radio.js'
8
+ export * from '~/src/form/form-editor/preview/radio-sortable.js'
9
+ export * from '~/src/form/form-editor/preview/short-answer.js'
10
+ export * from '~/src/form/form-editor/preview/uk-address.js'
@@ -0,0 +1,39 @@
1
+ import { ListQuestion } from '~/src/form/form-editor/preview/list.js'
2
+
3
+ export class ListSortableQuestion extends ListQuestion {
4
+ /**
5
+ * @param {ListElements} listElements
6
+ * @param {QuestionRenderer} questionRenderer
7
+ */
8
+ constructor(listElements, questionRenderer) {
9
+ super(listElements, questionRenderer)
10
+ const items = /** @type {ListElement[]} */ (listElements.values.items)
11
+ this._list = this.createListFromElements(items)
12
+ this._listElements = listElements
13
+ }
14
+
15
+ /**
16
+ * @returns {Map<string, ListElement>}
17
+ */
18
+ resyncPreviewAfterReorder() {
19
+ const newList = this._listElements.values.items
20
+ this._list = this.createListFromElements(newList)
21
+ this.render()
22
+ return this._list
23
+ }
24
+
25
+ get listElementObjects() {
26
+ return Array.from(this._list).map(([, value]) => ({
27
+ id: value.id,
28
+ text: value.text,
29
+ hint: value.hint?.text ? { text: value.hint.text } : undefined,
30
+ value: value.value
31
+ }))
32
+ }
33
+ }
34
+
35
+ /**
36
+ * @import {ListElement} from '~/src/form/form-editor/types.js'
37
+ * @import { QuestionRenderer, HTMLBuilder, ListElements, BaseSettings } from '~/src/form/form-editor/preview/types.js'
38
+ * @import { SortableEvent, SortableOptions } from 'sortablejs'
39
+ */