@planning-inspectorate/dynamic-forms 3.9.0 → 3.10.1

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 (54) hide show
  1. package/package.json +1 -1
  2. package/src/components/address/index.njk +1 -6
  3. package/src/components/boolean/index.njk +1 -6
  4. package/src/components/boolean/question.js +5 -2
  5. package/src/components/checkbox/index.njk +1 -6
  6. package/src/components/checkbox/question.js +4 -2
  7. package/src/components/date/index.njk +1 -21
  8. package/src/components/date-period/index.njk +1 -6
  9. package/src/components/date-time/index.njk +1 -6
  10. package/src/components/identifier/index.njk +1 -6
  11. package/src/components/manage-list/index.njk +1 -6
  12. package/src/components/multi-field-input/index.njk +1 -7
  13. package/src/components/number-entry/index.njk +1 -6
  14. package/src/components/radio/index.njk +1 -21
  15. package/src/components/select/index.njk +1 -22
  16. package/src/components/single-line-input/index.njk +1 -6
  17. package/src/components/task-list/index.njk +0 -1
  18. package/src/components/text-entry/index.njk +1 -6
  19. package/src/components/text-entry-redact/index.njk +1 -5
  20. package/src/components/unit-option-entry/index.njk +1 -6
  21. package/src/components/utils/actions.njk +35 -0
  22. package/src/questions/question-types.d.ts +26 -1
  23. package/src/questions/question.js +10 -3
  24. package/test/secondary-actions.test.js +253 -0
  25. package/test/snapshots/add-insurance.html +2 -1
  26. package/test/snapshots/companions.html +1 -1
  27. package/test/snapshots/contact-email.html +2 -1
  28. package/test/snapshots/departure-date.html +2 -2
  29. package/test/snapshots/holiday-activities.html +2 -1
  30. package/test/snapshots/holiday-arrival.html +2 -1
  31. package/test/snapshots/holiday-description.html +2 -1
  32. package/test/snapshots/holiday-destination.html +2 -2
  33. package/test/snapshots/holiday-period.html +2 -1
  34. package/test/snapshots/holiday-snack.html +2 -1
  35. package/test/snapshots/hotel-address.html +2 -1
  36. package/test/snapshots/luggage-weight-units.html +2 -1
  37. package/test/snapshots/manage-list-render-questions.html +2 -1
  38. package/test/snapshots/manage-list-render.html +2 -1
  39. package/test/snapshots/nights.html +3 -2
  40. package/test/snapshots/secondary-actions-radio-plain.html +46 -0
  41. package/test/snapshots/secondary-actions-radio.html +53 -0
  42. package/test/snapshots/secret-wish.html +2 -1
  43. package/test/snapshots/travel-class.html +2 -2
  44. package/test/snapshots/travel-companions.html +2 -1
  45. package/test/snapshots/travel-companions_travel-companion-email.html +2 -1
  46. package/test/snapshots/travel-companions_travel-companion-name.html +2 -1
  47. package/test/snapshots/travel-insurance-type.html +2 -2
  48. package/types/src/components/boolean/question.d.ts +3 -1
  49. package/types/src/components/boolean/question.d.ts.map +1 -1
  50. package/types/src/components/checkbox/question.d.ts +3 -1
  51. package/types/src/components/checkbox/question.d.ts.map +1 -1
  52. package/types/src/questions/question-types.d.ts +26 -1
  53. package/types/src/questions/question.d.ts +13 -2
  54. package/types/src/questions/question.d.ts.map +1 -1
@@ -15,8 +15,9 @@ export default class CheckboxQuestion extends OptionsQuestion {
15
15
  * @param {string} [params.description]
16
16
  * @param {Array.<import('../../questions/options-question.js').Option>} params.options
17
17
  * @param {Array.<import('#base-validator').BaseValidator>} [params.validators]
18
+ * @param {import('#question-types').QuestionParameters['viewData']} [params.viewData]
18
19
  */
19
- constructor({ title, question, fieldName, url, pageTitle, description, options, validators }: {
20
+ constructor({ title, question, fieldName, url, pageTitle, description, options, validators, viewData }: {
20
21
  title: string;
21
22
  question: string;
22
23
  fieldName: string;
@@ -25,6 +26,7 @@ export default class CheckboxQuestion extends OptionsQuestion {
25
26
  description?: string | undefined;
26
27
  options: Array<import("../../questions/options-question.js").Option>;
27
28
  validators?: any[] | undefined;
29
+ viewData?: import("#question-types").QuestionParameters["viewData"];
28
30
  });
29
31
  /**
30
32
  * returns the formatted answers values to be used to build task list elements
@@ -1 +1 @@
1
- {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../../src/components/checkbox/question.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH;IACC;;;;;;;;;;OAUG;IACH,8FATG;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;KAAC,EAgB9E;IAED;;;;;;OAMG;IACH,wDAJW,OAAO,UAAU,EAAE,OAAO,UAD1B,MAAM,GAAG,uBAAuB,GAG9B,KAAK,CAAE,MAAM,CAAC,CAuC1B;CACD;;;;;WA7Ea,MAAM;;;;iBACN,MAAM;;4BATQ,qCAAqC"}
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"}
@@ -22,7 +22,17 @@ export interface QuestionParameters {
22
22
  // override the action link for this question
23
23
  actionLink?: ActionLink;
24
24
  // static view data for this question
25
- viewData?: Record<string, any>;
25
+ viewData?: {
26
+ /**
27
+ * @deprecated replaced by secondaryActions
28
+ */
29
+ extraActionButtons?: SecondaryAction[];
30
+ /**
31
+ * Secondary action buttons
32
+ */
33
+ secondaryActions?: SecondaryAction[];
34
+ [key: string]: any;
35
+ };
26
36
  }
27
37
 
28
38
  export interface ActionLink {
@@ -30,6 +40,21 @@ export interface ActionLink {
30
40
  href: string;
31
41
  }
32
42
 
43
+ export type SecondaryAction = SecondaryActionButton | SecondaryActionLink;
44
+
45
+ export interface SecondaryActionButton {
46
+ text: string;
47
+ type?: string;
48
+ formaction?: string;
49
+ classes?: string;
50
+ }
51
+
52
+ export interface SecondaryActionLink {
53
+ text: string;
54
+ href: string;
55
+ classes?: string;
56
+ }
57
+
33
58
  export interface QuestionViewModel {
34
59
  question: {
35
60
  value: string | number | Record<string, any>;
@@ -84,9 +84,21 @@ export class Question {
84
84
  title: string;
85
85
  text: string;
86
86
  };
87
+ /**
88
+ * Private, but not marked as such because it breaks types, either using #variable:
89
+ * - Property '#isInManageListSection' is missing in type
90
+ * or with @private
91
+ * - Types have separate declarations of a private property '_isInManageListSection'.
92
+ * @type {boolean}
93
+ */
94
+ private _isInManageListSection;
87
95
  autocomplete: string | undefined;
88
96
  editable: boolean;
89
- viewData: Record<string, any>;
97
+ viewData: {
98
+ [key: string]: any;
99
+ extraActionButtons?: import("./question-types.js").SecondaryAction[];
100
+ secondaryActions?: import("./question-types.js").SecondaryAction[];
101
+ };
90
102
  /**
91
103
  * Is this question a manage list question?
92
104
  * Implemented as a getter so manage list question implementations can override it,
@@ -255,7 +267,6 @@ export class Question {
255
267
  * @returns {boolean}
256
268
  */
257
269
  isAnswered(journeyResponse: JourneyResponse, fieldName?: string): boolean;
258
- #private;
259
270
  }
260
271
  export type PreppedQuestion = {
261
272
  value: Object;
@@ -1 +1 @@
1
- {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/questions/question.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/questions/question.js"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH;IA4DC;;;OAGG;IACH,yLAHW,OAAO,iBAAiB,EAAE,kBAAkB,oBAC5C,MAAM,CAAC,MAAM,WAAW,EAsDlC;IAnHD,6EAA6E;IAC7E,WADW,MAAM,CACP;IACV,sDAAsD;IACtD,OADW,MAAM,CACX;IACN,+DAA+D;IAC/D,UADW,MAAM,CACR;IACT,mFAAmF;IACnF,aADW,MAAM,GAAC,SAAS,CACf;IACZ,iDAAiD;IACjD,YADW,MAAM,CACN;IACX,qHAAqH;IACrH,WADW,MAAM,CACP;IACV,6FAA6F;IAC7F,UADW,OAAO,CACF;IAChB,iGAAiG;IACjG,YADW,KAAK,CAAE,MAAa,CAAC,CAChB;IAChB,2DAA2D;IAC3D,MADW,MAAM,GAAC,SAAS,CACtB;IACL,sEAAsE;IACtE,oBADW,OAAO,CACQ;IAC1B,oDAAoD;IACpD,KADW,MAAM,GAAC,SAAS,CACvB;IACJ,qDAAqD;IACrD,MADW,MAAM,GAAC,SAAS,CACtB;IACL,sDAAsD;IACtD,eADW,MAAM,GAAC,SAAS,CACb;IACd,wDAAwD;IACxD,YADW,UAAU,GAAC,SAAS,CACpB;IAEX,iFAAiF;IACjF,gBADW,MAAM,CACc;IAC/B,4CAA4C;IAC5C,oBADW,MAAM,CACe;IAChC,uDAAuD;IACvD,kBADW,MAAM,CACW;IAC5B,uDAAuD;IACvD,kBADW,MAAM,CACW;IAC5B,oDAAoD;IACpD,eADW,MAAM,CACK;IAEtB;;;OAGG;IACH,qBAFa,OAAO,CAEO;IAE3B;;;MAGE;IACF;;;;;;OAMG;IACH,+BAA+B;IAyC9B,iCAAgC;IAChC,kBAAwB;IAExB;;;;MAAwB;IAgBzB;;;;;;OAMG;IACH,4BAFa,OAAO,CAInB;IAWD,iCANa,OAAO,EAWnB;IAdD;;;;OAIG;IACH,6BAFa,OAAO,CAInB;IASD;;;;;;;;;;;;;;OAcG;IACH,uFARG;QAAuE,MAAM,EAArE,OAAO,iCAAiC,EAAE,WAAW;QACO,kBAAkB;QAC7D,OAAO,EAAxB,OAAO;QACU,OAAO,EAAxB,OAAO;QAC2B,cAAc;QAC9B,OAAO,GAAzB,OAAO;KACf,GAAU,iBAAiB,CAS7B;IAED;;;;;;;;;OASG;IACH,kCAPW,OAAO,WACP,OAAO,mBACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YACvB,OAAO,YACP,OAAO,iBAAiB,EAAE,+BAA+B,GACvD,iBAAiB,CAuC7B;IAED;;;;;;;;OAQG,CACH,4BAJW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,uBAEjB,GAAC,GAAC,MAAM,CAIpB;IAED;;;;;;OAMG,CACH,oCAFW,iBAAiB,QAEU;IAEtC;;;;;;OAMG;IACH,0CAJW,eAAe,mCACf,OAAO,iBAAiB,EAAE,+BAA+B,GACvD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAc/B;IAED;;;;;OAKG;IACH,kCAHW,iBAAiB,GACf,IAAI,CAShB;IAED;;;;;;;OAOG;IACH,4CAJW,OAAO,WADP,OAAO,kFAGL,iBAAiB,GAAC,SAAS,CAmBvC;IAED;;;;;;OAMG,CACH,yCAHW,eAAe,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAczD;IAED;;;;;;OAMG,CACH,2CAHW,OAAO,WADP,OAAO,GAEL,iBAAiB,GAAG,SAAS,CAIzC;IAED;;;;;;;;;OASG;IACH,sCANW,OAAO,kBACP,MAAM,mBACN,MAAM,GACJ,IAAI,CAQhB;IAED;;;;;;;;;;;;;;OAcG;IACH,wDAZW,OAAO,UACP,MAAM,uBACJ,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,kBAAkB,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,CAAC,CAaJ;IAED;;;;;;OAMG;IACH,2CAJW,OAAO,UADP,MAAM,GAGJ,UAAU,GAAC,UAAU,EAAE,GAAC,SAAS,CAqB7C;IAED;;;OAGG;IACH,eAHW,OAAO,GACL,OAAO,CAInB;IAED;;OAEG;IACH,cAFa,OAAO,CASnB;IACD;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAMnB;IAED;;;;OAIG;IACH,4BAJW,eAAe,cACf,MAAM,GACJ,OAAO,CAInB;CACD;;WAtda,MAAM;cACN,MAAM;eACN,MAAM;eACN,MAAM;;;;gCAMP,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gCAdH,qBAAqB;6BAFxB,UAAU;6BAFV,UAAU;qCACF,mBAAmB;gCAExB,kBAAkB"}