@defra/forms-model 3.0.375 → 3.0.377

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 (59) hide show
  1. package/dist/module/components/helpers.js.map +1 -1
  2. package/dist/module/components/index.js +1 -1
  3. package/dist/module/components/index.js.map +1 -1
  4. package/dist/module/components/types.js.map +1 -1
  5. package/dist/module/conditions/condition-group.js +1 -1
  6. package/dist/module/conditions/condition-group.js.map +1 -1
  7. package/dist/module/conditions/condition-model.js +1 -1
  8. package/dist/module/conditions/condition-model.js.map +1 -1
  9. package/dist/module/conditions/index.js +1 -1
  10. package/dist/module/conditions/index.js.map +1 -1
  11. package/dist/module/form/form-definition/index.js +17 -0
  12. package/dist/module/form/form-definition/index.js.map +1 -1
  13. package/dist/module/form/form-definition/types.js.map +1 -1
  14. package/dist/module/form/form-metadata/index.js.map +1 -1
  15. package/dist/module/pages/controller-types.js +3 -0
  16. package/dist/module/pages/controller-types.js.map +1 -1
  17. package/dist/module/pages/enums.js +1 -0
  18. package/dist/module/pages/enums.js.map +1 -1
  19. package/dist/module/pages/helpers.js +8 -1
  20. package/dist/module/pages/helpers.js.map +1 -1
  21. package/dist/module/pages/index.js +1 -1
  22. package/dist/module/pages/index.js.map +1 -1
  23. package/dist/module/pages/page-types.js +18 -1
  24. package/dist/module/pages/page-types.js.map +1 -1
  25. package/dist/types/components/helpers.d.ts +1 -1
  26. package/dist/types/components/index.d.ts +1 -1
  27. package/dist/types/components/index.d.ts.map +1 -1
  28. package/dist/types/components/types.d.ts +1 -1
  29. package/dist/types/components/types.d.ts.map +1 -1
  30. package/dist/types/conditions/index.d.ts +1 -1
  31. package/dist/types/conditions/index.d.ts.map +1 -1
  32. package/dist/types/form/form-definition/index.d.ts.map +1 -1
  33. package/dist/types/form/form-definition/types.d.ts +20 -1
  34. package/dist/types/form/form-definition/types.d.ts.map +1 -1
  35. package/dist/types/form/form-metadata/index.d.ts +1 -1
  36. package/dist/types/form/form-metadata/index.d.ts.map +1 -1
  37. package/dist/types/pages/controller-types.d.ts.map +1 -1
  38. package/dist/types/pages/enums.d.ts +1 -0
  39. package/dist/types/pages/enums.d.ts.map +1 -1
  40. package/dist/types/pages/helpers.d.ts +5 -1
  41. package/dist/types/pages/helpers.d.ts.map +1 -1
  42. package/dist/types/pages/index.d.ts +1 -1
  43. package/dist/types/pages/index.d.ts.map +1 -1
  44. package/dist/types/pages/page-types.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/components/helpers.ts +1 -1
  47. package/src/components/index.ts +1 -1
  48. package/src/components/types.ts +2 -2
  49. package/src/conditions/condition-group.ts +1 -1
  50. package/src/conditions/condition-model.ts +3 -3
  51. package/src/conditions/index.ts +1 -1
  52. package/src/form/form-definition/index.ts +24 -1
  53. package/src/form/form-definition/types.ts +24 -0
  54. package/src/form/form-metadata/index.ts +3 -3
  55. package/src/pages/controller-types.ts +4 -0
  56. package/src/pages/enums.ts +1 -0
  57. package/src/pages/helpers.ts +10 -1
  58. package/src/pages/index.ts +2 -1
  59. package/src/pages/page-types.ts +13 -1
@@ -1,4 +1,4 @@
1
- import { ControllerType, ControllerPath } from "./enums.js";
1
+ import { ControllerPath, ControllerType } from "./enums.js";
2
2
 
3
3
  /**
4
4
  * Defaults for creating new pages
@@ -17,6 +17,23 @@ export const PageTypes = Object.freeze([{
17
17
  section: undefined,
18
18
  next: [],
19
19
  components: []
20
+ }, {
21
+ title: 'Add another',
22
+ path: '/add-another-page',
23
+ controller: ControllerType.Repeat,
24
+ repeat: {
25
+ options: {
26
+ name: '',
27
+ title: ''
28
+ },
29
+ schema: {
30
+ min: 1,
31
+ max: 25
32
+ }
33
+ },
34
+ section: undefined,
35
+ next: [],
36
+ components: []
20
37
  }, {
21
38
  title: 'File upload page',
22
39
  path: '/file-upload-page',
@@ -1 +1 @@
1
- {"version":3,"file":"page-types.js","names":["ControllerType","ControllerPath","PageTypes","Object","freeze","title","path","Start","controller","section","undefined","next","components","Page","FileUpload","Summary","Status"],"sources":["../../../src/pages/page-types.ts"],"sourcesContent":["import { type Page } from '~/src/form/form-definition/types.js'\nimport { ControllerType, ControllerPath } from '~/src/pages/enums.js'\n\n/**\n * Defaults for creating new pages\n */\nexport const PageTypes: readonly Page[] = Object.freeze([\n {\n title: 'Start page',\n path: ControllerPath.Start,\n controller: ControllerType.Start,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'Question page',\n path: '/question-page',\n controller: ControllerType.Page,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'File upload page',\n path: '/file-upload-page',\n controller: ControllerType.FileUpload,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'Summary page',\n path: ControllerPath.Summary,\n controller: ControllerType.Summary,\n section: undefined\n },\n {\n title: 'Status page',\n path: ControllerPath.Status,\n controller: ControllerType.Status,\n section: undefined\n }\n])\n"],"mappings":"AACA,SAASA,cAAc,EAAEC,cAAc;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,SAA0B,GAAGC,MAAM,CAACC,MAAM,CAAC,CACtD;EACEC,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEL,cAAc,CAACM,KAAK;EAC1BC,UAAU,EAAER,cAAc,CAACO,KAAK;EAChCE,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAE,gBAAgB;EACtBE,UAAU,EAAER,cAAc,CAACa,IAAI;EAC/BJ,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,mBAAmB;EACzBE,UAAU,EAAER,cAAc,CAACc,UAAU;EACrCL,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEL,cAAc,CAACc,OAAO;EAC5BP,UAAU,EAAER,cAAc,CAACe,OAAO;EAClCN,OAAO,EAAEC;AACX,CAAC,EACD;EACEL,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAEL,cAAc,CAACe,MAAM;EAC3BR,UAAU,EAAER,cAAc,CAACgB,MAAM;EACjCP,OAAO,EAAEC;AACX,CAAC,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"page-types.js","names":["ControllerPath","ControllerType","PageTypes","Object","freeze","title","path","Start","controller","section","undefined","next","components","Page","Repeat","repeat","options","name","schema","min","max","FileUpload","Summary","Status"],"sources":["../../../src/pages/page-types.ts"],"sourcesContent":["import { type Page } from '~/src/form/form-definition/types.js'\nimport { ControllerPath, ControllerType } from '~/src/pages/enums.js'\n\n/**\n * Defaults for creating new pages\n */\nexport const PageTypes: readonly Page[] = Object.freeze([\n {\n title: 'Start page',\n path: ControllerPath.Start,\n controller: ControllerType.Start,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'Question page',\n path: '/question-page',\n controller: ControllerType.Page,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'Add another',\n path: '/add-another-page',\n controller: ControllerType.Repeat,\n repeat: {\n options: { name: '', title: '' },\n schema: { min: 1, max: 25 }\n },\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'File upload page',\n path: '/file-upload-page',\n controller: ControllerType.FileUpload,\n section: undefined,\n next: [],\n components: []\n },\n {\n title: 'Summary page',\n path: ControllerPath.Summary,\n controller: ControllerType.Summary,\n section: undefined\n },\n {\n title: 'Status page',\n path: ControllerPath.Status,\n controller: ControllerType.Status,\n section: undefined\n }\n])\n"],"mappings":"AACA,SAASA,cAAc,EAAEC,cAAc;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,SAA0B,GAAGC,MAAM,CAACC,MAAM,CAAC,CACtD;EACEC,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEN,cAAc,CAACO,KAAK;EAC1BC,UAAU,EAAEP,cAAc,CAACM,KAAK;EAChCE,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAE,gBAAgB;EACtBE,UAAU,EAAEP,cAAc,CAACY,IAAI;EAC/BJ,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAE,mBAAmB;EACzBE,UAAU,EAAEP,cAAc,CAACa,MAAM;EACjCC,MAAM,EAAE;IACNC,OAAO,EAAE;MAAEC,IAAI,EAAE,EAAE;MAAEZ,KAAK,EAAE;IAAG,CAAC;IAChCa,MAAM,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,GAAG,EAAE;IAAG;EAC5B,CAAC;EACDX,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,mBAAmB;EACzBE,UAAU,EAAEP,cAAc,CAACoB,UAAU;EACrCZ,OAAO,EAAEC,SAAS;EAClBC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACd,CAAC,EACD;EACEP,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEN,cAAc,CAACsB,OAAO;EAC5Bd,UAAU,EAAEP,cAAc,CAACqB,OAAO;EAClCb,OAAO,EAAEC;AACX,CAAC,EACD;EACEL,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAEN,cAAc,CAACuB,MAAM;EAC3Bf,UAAU,EAAEP,cAAc,CAACsB,MAAM;EACjCd,OAAO,EAAEC;AACX,CAAC,CACF,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { ComponentType } from '../components/enums.js';
2
- import { type ComponentDef, type ConditionalComponentsDef, type ConditionalComponentType, type ContentComponentsDef, type FormComponentsDef, type HtmlComponent, type InputFieldsComponentsDef, type InsetTextComponent, type ListComponent, type ListComponentsDef, type SelectionComponentsDef } from '../components/types.js';
2
+ import { type ComponentDef, type ConditionalComponentType, type ConditionalComponentsDef, type ContentComponentsDef, type FormComponentsDef, type HtmlComponent, type InputFieldsComponentsDef, type InsetTextComponent, type ListComponent, type ListComponentsDef, type SelectionComponentsDef } from '../components/types.js';
3
3
  /**
4
4
  * Return component defaults by type
5
5
  */
@@ -1,4 +1,4 @@
1
1
  export { ComponentTypes } from '../components/component-types.js';
2
- export { getComponentDefaults, hasConditionSupport, hasContent, hasContentField, hasFormField, hasHint, hasListField, hasInputField, hasSelectionFields, hasTitle, isConditionalType, isContentType, isFormType, isListType } from '../components/helpers.js';
2
+ export { getComponentDefaults, hasConditionSupport, hasContent, hasContentField, hasFormField, hasHint, hasInputField, hasListField, hasSelectionFields, hasTitle, isConditionalType, isContentType, isFormType, isListType } from '../components/helpers.js';
3
3
  export { ComponentType } from '../components/enums.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,EACX,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,OAAO,EACP,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,EACX,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType } from '../components/enums.js';
2
- import { type ListTypeOption, type ListTypeContent } from '../form/form-definition/types.js';
2
+ import { type ListTypeContent, type ListTypeOption } from '../form/form-definition/types.js';
3
3
  export type ConditionalComponentType = Exclude<ConditionalComponentsDef['type'], ContentComponentsDef>;
4
4
  /**
5
5
  * Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { getExpression, getOperatorNames, absoluteDateOperatorNames, relativeDateOperatorNames } from '../conditions/condition-operators.js';
1
+ export { absoluteDateOperatorNames, getExpression, getOperatorNames, relativeDateOperatorNames } from '../conditions/condition-operators.js';
2
2
  export { ConditionValue, RelativeDateValue, conditionValueFrom } from '../conditions/condition-values.js';
3
3
  export { ConditionField } from '../conditions/condition-field.js';
4
4
  export { Condition } from '../conditions/condition.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACrB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAA;AAEhD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACrB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,2BAA2B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAU7D,OAAO,EAEL,KAAK,cAAc,EAOpB,MAAM,qCAAqC,CAAA;AAqE5C,eAAO,MAAM,eAAe,gCAwBZ,CAAA;AA+EhB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,kCAyB7B,CAAA;AAIJ,eAAO,MAAM,MAAM,kCAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAU7D,OAAO,EAEL,KAAK,cAAc,EAUpB,MAAM,qCAAqC,CAAA;AAqE5C,eAAO,MAAM,eAAe,gCAwBZ,CAAA;AAmGhB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,kCAyB7B,CAAA;AAIJ,eAAO,MAAM,MAAM,kCAAuB,CAAA"}
@@ -10,6 +10,18 @@ export interface PageBase {
10
10
  title: string;
11
11
  path: string;
12
12
  }
13
+ export interface RepeatOptions {
14
+ name: string;
15
+ title: string;
16
+ }
17
+ export interface RepeatSchema {
18
+ min: number;
19
+ max: number;
20
+ }
21
+ export interface Repeat {
22
+ options: RepeatOptions;
23
+ schema: RepeatSchema;
24
+ }
13
25
  export interface PageStart extends PageBase {
14
26
  path: ControllerPath.Start | string;
15
27
  controller: ControllerType.Start | ControllerType.Home;
@@ -23,6 +35,13 @@ export interface PageQuestion extends PageBase {
23
35
  next: Link[];
24
36
  components: ComponentDef[];
25
37
  }
38
+ export interface PageRepeat extends PageBase {
39
+ controller?: ControllerType.Repeat;
40
+ repeat: Repeat;
41
+ section?: string | undefined;
42
+ next: Link[];
43
+ components: ComponentDef[];
44
+ }
26
45
  export interface PageFileUpload extends PageBase {
27
46
  controller?: ControllerType.FileUpload;
28
47
  section?: string | undefined;
@@ -39,7 +58,7 @@ export interface PageStatus extends PageBase {
39
58
  controller: ControllerType.Status;
40
59
  section?: undefined;
41
60
  }
42
- export type Page = PageStart | PageQuestion | PageFileUpload | PageSummary | PageStatus;
61
+ export type Page = PageStart | PageQuestion | PageFileUpload | PageRepeat | PageSummary | PageStatus;
43
62
  export type RequiredField<Type extends Partial<object>, KeyType extends keyof Type> = Omit<Type, KeyType> & Required<{
44
63
  [Key in KeyType]: Type[Key];
45
64
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/form/form-definition/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import Joi from 'joi';
2
- import { type FormMetadata, type FormMetadataInput, type FormMetadataState, type FormMetadataAuthor, type FormMetadataContact, type FormMetadataContactOnline, type FormMetadataContactEmail } from '../../form/form-metadata/types.js';
2
+ import { type FormMetadata, type FormMetadataAuthor, type FormMetadataContact, type FormMetadataContactEmail, type FormMetadataContactOnline, type FormMetadataInput, type FormMetadataState } from '../../form/form-metadata/types.js';
3
3
  export declare const organisations: string[];
4
4
  export declare const idSchema: Joi.StringSchema<string>;
5
5
  export declare const titleSchema: Joi.StringSchema<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC9B,MAAM,mCAAmC,CAAA;AAE1C,eAAO,MAAM,aAAa,UAUzB,CAAA;AAED,eAAO,MAAM,QAAQ,0BAA2C,CAAA;AAChE,eAAO,MAAM,WAAW,0BAA0C,CAAA;AAClE,eAAO,MAAM,UAAU,0BAEV,CAAA;AAEb,eAAO,MAAM,kBAAkB,0BAElB,CAAA;AAEb,eAAO,MAAM,cAAc,0BAA0C,CAAA;AACrE,eAAO,MAAM,eAAe,0BAGf,CAAA;AAEb,eAAO,MAAM,WAAW,0BAAsB,CAAA;AAE9C,eAAO,MAAM,kBAAkB,0BAAyC,CAAA;AACxE,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AACrE,eAAO,MAAM,WAAW,4CAGtB,CAAA;AAEF,eAAO,MAAM,eAAe,0BAKf,CAAA;AACb,eAAO,MAAM,gBAAgB,0BAAiC,CAAA;AAC9D,eAAO,MAAM,YAAY,6CAGvB,CAAA;AAEF,eAAO,MAAM,aAAa,uCAIxB,CAAA;AAEF,eAAO,MAAM,wBAAwB,0BAAsB,CAAA;AAE3D,eAAO,MAAM,sBAAsB,0BAI1B,CAAA;AAET,eAAO,MAAM,8BAA8B,0BAGR,CAAA;AAEnC,eAAO,MAAM,gBAAgB,sBAA8B,CAAA;AAC3D,eAAO,MAAM,cAAc,0BAAiC,CAAA;AAC5D,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;CASjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAEvB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sCAKxB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAKlC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gCAS7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/form/form-metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,mCAAmC,CAAA;AAE1C,eAAO,MAAM,aAAa,UAUzB,CAAA;AAED,eAAO,MAAM,QAAQ,0BAA2C,CAAA;AAChE,eAAO,MAAM,WAAW,0BAA0C,CAAA;AAClE,eAAO,MAAM,UAAU,0BAEV,CAAA;AAEb,eAAO,MAAM,kBAAkB,0BAElB,CAAA;AAEb,eAAO,MAAM,cAAc,0BAA0C,CAAA;AACrE,eAAO,MAAM,eAAe,0BAGf,CAAA;AAEb,eAAO,MAAM,WAAW,0BAAsB,CAAA;AAE9C,eAAO,MAAM,kBAAkB,0BAAyC,CAAA;AACxE,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AACrE,eAAO,MAAM,WAAW,4CAGtB,CAAA;AAEF,eAAO,MAAM,eAAe,0BAKf,CAAA;AACb,eAAO,MAAM,gBAAgB,0BAAiC,CAAA;AAC9D,eAAO,MAAM,YAAY,6CAGvB,CAAA;AAEF,eAAO,MAAM,aAAa,uCAIxB,CAAA;AAEF,eAAO,MAAM,wBAAwB,0BAAsB,CAAA;AAE3D,eAAO,MAAM,sBAAsB,0BAI1B,CAAA;AAET,eAAO,MAAM,8BAA8B,0BAGR,CAAA;AAEnC,eAAO,MAAM,gBAAgB,sBAA8B,CAAA;AAC3D,eAAO,MAAM,cAAc,0BAAiC,CAAA;AAC5D,eAAO,MAAM,uBAAuB,0BAAiC,CAAA;AAErE,eAAO,MAAM,qBAAqB;;;;;;;;;CASjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAEvB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sCAKxB,CAAA;AAEb;;;GAGG;AACH,eAAO,MAAM,uBAAuB,qCAKlC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gCAS7B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller-types.d.ts","sourceRoot":"","sources":["../../../src/pages/controller-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,eAAO,MAAM,eAAe;;;GAyB3B,CAAA;AAED,eAAO,MAAM,eAAe,kBAA0C,CAAA"}
1
+ {"version":3,"file":"controller-types.d.ts","sourceRoot":"","sources":["../../../src/pages/controller-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,eAAO,MAAM,eAAe;;;GA6B3B,CAAA;AAED,eAAO,MAAM,eAAe,kBAA0C,CAAA"}
@@ -7,6 +7,7 @@ export declare enum ControllerType {
7
7
  Start = "StartPageController",
8
8
  Home = "HomePageController",
9
9
  Page = "PageController",
10
+ Repeat = "RepeatPageController",
10
11
  FileUpload = "FileUploadPageController",
11
12
  Summary = "SummaryPageController",
12
13
  Status = "StatusPageController"
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/pages/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,KAAK,WAAW;IAChB,OAAO,aAAa;IACpB,MAAM,YAAY;CACnB;AAED,oBAAY,cAAc;IACxB,KAAK,wBAAwB;IAC7B,IAAI,uBAAuB;IAC3B,IAAI,mBAAmB;IACvB,UAAU,6BAA6B;IACvC,OAAO,0BAA0B;IACjC,MAAM,yBAAyB;CAChC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/pages/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,KAAK,WAAW;IAChB,OAAO,aAAa;IACpB,MAAM,YAAY;CACnB;AAED,oBAAY,cAAc;IACxB,KAAK,wBAAwB;IAC7B,IAAI,uBAAuB;IAC3B,IAAI,mBAAmB;IACvB,MAAM,yBAAyB;IAC/B,UAAU,6BAA6B;IACvC,OAAO,0BAA0B;IACjC,MAAM,yBAAyB;CAChC"}
@@ -1,5 +1,5 @@
1
1
  import { type ComponentDef } from '../components/types.js';
2
- import { type Link, type Page, type PageFileUpload, type PageQuestion, type PageStart, type RequiredField } from '../form/form-definition/types.js';
2
+ import { type Link, type Page, type PageFileUpload, type PageQuestion, type PageRepeat, type PageStart, type RequiredField } from '../form/form-definition/types.js';
3
3
  import { ControllerType } from '../pages/enums.js';
4
4
  /**
5
5
  * Return component defaults by type
@@ -19,6 +19,10 @@ export declare function hasFormComponents(page?: Partial<Page>): page is PageQue
19
19
  * Check page has sections
20
20
  */
21
21
  export declare function hasSection(page?: Partial<Page>): page is RequiredField<PageStart, 'section'> | RequiredField<PageQuestion, 'section'> | RequiredField<PageFileUpload, 'section'>;
22
+ /**
23
+ * Check page has repeater
24
+ */
25
+ export declare function hasRepeater(page?: Partial<Page>): page is PageRepeat;
22
26
  /**
23
27
  * Check for known page controller names
24
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/pages/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAA;AAK5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,IAAI,EACnD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAaC,QAAQ,CAC7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,YAAY,GAAG,cAAc,CAGvC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IACH,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,GACnC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,GACtC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,GACnC,UAAU,IAAI,cAAc,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAazC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,8BAO1E"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/pages/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAA;AAK5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,IAAI,EACnD,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAaC,QAAQ,CAC7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,YAAY,GAAG,cAAc,CAGvC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IACH,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,GACnC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,GACtC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAE3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,UAAU,CAEpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,GACnC,UAAU,IAAI,cAAc,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GACnB,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAczC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM,8BAO1E"}
@@ -1,5 +1,5 @@
1
1
  export { ControllerNames, ControllerTypes } from '../pages/controller-types.js';
2
2
  export { PageTypes } from '../pages/page-types.js';
3
- export { controllerNameFromPath, getPageDefaults, hasComponents, hasFormComponents, hasSection, hasNext, isControllerName } from '../pages/helpers.js';
3
+ export { controllerNameFromPath, getPageDefaults, hasComponents, hasFormComponents, hasNext, hasRepeater, hasSection, isControllerName } from '../pages/helpers.js';
4
4
  export { ControllerPath, ControllerType } from '../pages/enums.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,UAAU,EACV,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-types.d.ts","sourceRoot":"","sources":["../../../src/pages/page-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAG/D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,IAAI,EAqCnC,CAAA"}
1
+ {"version":3,"file":"page-types.d.ts","sourceRoot":"","sources":["../../../src/pages/page-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAG/D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,IAAI,EAiDnC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/forms-model",
3
- "version": "3.0.375",
3
+ "version": "3.0.377",
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": {
@@ -2,8 +2,8 @@ import { ComponentTypes } from '~/src/components/component-types.js'
2
2
  import { ComponentType } from '~/src/components/enums.js'
3
3
  import {
4
4
  type ComponentDef,
5
- type ConditionalComponentsDef,
6
5
  type ConditionalComponentType,
6
+ type ConditionalComponentsDef,
7
7
  type ContentComponentsDef,
8
8
  type FormComponentsDef,
9
9
  type HtmlComponent,
@@ -6,8 +6,8 @@ export {
6
6
  hasContentField,
7
7
  hasFormField,
8
8
  hasHint,
9
- hasListField,
10
9
  hasInputField,
10
+ hasListField,
11
11
  hasSelectionFields,
12
12
  hasTitle,
13
13
  isConditionalType,
@@ -1,7 +1,7 @@
1
1
  import { type ComponentType } from '~/src/components/enums.js'
2
2
  import {
3
- type ListTypeOption,
4
- type ListTypeContent
3
+ type ListTypeContent,
4
+ type ListTypeOption
5
5
  } from '~/src/form/form-definition/types.js'
6
6
 
7
7
  export type ConditionalComponentType = Exclude<
@@ -2,7 +2,7 @@ import { conditionFrom } from '~/src/conditions/condition-model.js'
2
2
  import { type ConditionRef } from '~/src/conditions/condition-ref.js'
3
3
  import { type Condition } from '~/src/conditions/condition.js'
4
4
  import { type Coordinator } from '~/src/conditions/enums.js'
5
- import { toPresentationString, toExpression } from '~/src/conditions/helpers.js'
5
+ import { toExpression, toPresentationString } from '~/src/conditions/helpers.js'
6
6
  import { type ConditionGroupData } from '~/src/conditions/types.js'
7
7
 
8
8
  export class ConditionGroup {
@@ -4,10 +4,10 @@ import { ConditionRef } from '~/src/conditions/condition-ref.js'
4
4
  import { Condition } from '~/src/conditions/condition.js'
5
5
  import { Coordinator } from '~/src/conditions/enums.js'
6
6
  import {
7
- toPresentationString,
8
- toExpression,
9
7
  hasConditionGroup,
10
- hasConditionName
8
+ hasConditionName,
9
+ toExpression,
10
+ toPresentationString
11
11
  } from '~/src/conditions/helpers.js'
12
12
  import {
13
13
  type ConditionData,
@@ -1,7 +1,7 @@
1
1
  export {
2
+ absoluteDateOperatorNames,
2
3
  getExpression,
3
4
  getOperatorNames,
4
- absoluteDateOperatorNames,
5
5
  relativeDateOperatorNames
6
6
  } from '~/src/conditions/condition-operators.js'
7
7
 
@@ -7,8 +7,8 @@ import {
7
7
  type ConditionFieldData,
8
8
  type ConditionGroupData,
9
9
  type ConditionRefData,
10
- type ConditionsModelData,
11
10
  type ConditionValueData,
11
+ type ConditionsModelData,
12
12
  type RelativeDateValueData
13
13
  } from '~/src/conditions/types.js'
14
14
  import {
@@ -19,6 +19,9 @@ import {
19
19
  type List,
20
20
  type Page,
21
21
  type PhaseBanner,
22
+ type Repeat,
23
+ type RepeatOptions,
24
+ type RepeatSchema,
22
25
  type Section
23
26
  } from '~/src/form/form-definition/types.js'
24
27
 
@@ -121,6 +124,21 @@ const nextSchema = Joi.object<Link>().keys({
121
124
  redirect: Joi.string().optional()
122
125
  })
123
126
 
127
+ const repeatOptions = Joi.object<RepeatOptions>().keys({
128
+ name: Joi.string().required(),
129
+ title: Joi.string().required()
130
+ })
131
+
132
+ const repeatSchema = Joi.object<RepeatSchema>().keys({
133
+ min: Joi.number().empty('').required(),
134
+ max: Joi.number().empty('').required()
135
+ })
136
+
137
+ const pageRepeatSchema = Joi.object<Repeat>().keys({
138
+ options: repeatOptions.required(),
139
+ schema: repeatSchema.required()
140
+ })
141
+
124
142
  /**
125
143
  * `/status` is a special route for providing a user's application status.
126
144
  * It should not be configured via the designer.
@@ -131,6 +149,11 @@ const pageSchema = Joi.object<Page>().keys({
131
149
  section: Joi.string(),
132
150
  controller: Joi.string().optional(),
133
151
  components: Joi.array<ComponentDef>().items(componentSchema).unique('name'),
152
+ repeat: Joi.when('controller', {
153
+ is: Joi.string().valid('RepeatPageController').required(),
154
+ then: pageRepeatSchema.required(),
155
+ otherwise: Joi.any().strip()
156
+ }),
134
157
  next: Joi.array<Link>().items(nextSchema)
135
158
  })
136
159
 
@@ -14,6 +14,21 @@ export interface PageBase {
14
14
  path: string
15
15
  }
16
16
 
17
+ export interface RepeatOptions {
18
+ name: string
19
+ title: string
20
+ }
21
+
22
+ export interface RepeatSchema {
23
+ min: number
24
+ max: number
25
+ }
26
+
27
+ export interface Repeat {
28
+ options: RepeatOptions
29
+ schema: RepeatSchema
30
+ }
31
+
17
32
  export interface PageStart extends PageBase {
18
33
  path: ControllerPath.Start | string
19
34
  controller: ControllerType.Start | ControllerType.Home
@@ -29,6 +44,14 @@ export interface PageQuestion extends PageBase {
29
44
  components: ComponentDef[]
30
45
  }
31
46
 
47
+ export interface PageRepeat extends PageBase {
48
+ controller?: ControllerType.Repeat
49
+ repeat: Repeat
50
+ section?: string | undefined
51
+ next: Link[]
52
+ components: ComponentDef[]
53
+ }
54
+
32
55
  export interface PageFileUpload extends PageBase {
33
56
  controller?: ControllerType.FileUpload
34
57
  section?: string | undefined
@@ -52,6 +75,7 @@ export type Page =
52
75
  | PageStart
53
76
  | PageQuestion
54
77
  | PageFileUpload
78
+ | PageRepeat
55
79
  | PageSummary
56
80
  | PageStatus
57
81
 
@@ -2,12 +2,12 @@ import Joi from 'joi'
2
2
 
3
3
  import {
4
4
  type FormMetadata,
5
- type FormMetadataInput,
6
- type FormMetadataState,
7
5
  type FormMetadataAuthor,
8
6
  type FormMetadataContact,
7
+ type FormMetadataContactEmail,
9
8
  type FormMetadataContactOnline,
10
- type FormMetadataContactEmail
9
+ type FormMetadataInput,
10
+ type FormMetadataState
11
11
  } from '~/src/form/form-metadata/types.js'
12
12
 
13
13
  export const organisations = [
@@ -13,6 +13,10 @@ export const ControllerTypes = [
13
13
  name: ControllerType.Page,
14
14
  path: './pages/page.js'
15
15
  },
16
+ {
17
+ name: ControllerType.Repeat,
18
+ path: './pages/repeat.js'
19
+ },
16
20
  {
17
21
  name: ControllerType.FileUpload,
18
22
  path: './pages/file-upload.js'
@@ -8,6 +8,7 @@ export enum ControllerType {
8
8
  Start = 'StartPageController',
9
9
  Home = 'HomePageController',
10
10
  Page = 'PageController',
11
+ Repeat = 'RepeatPageController',
11
12
  FileUpload = 'FileUploadPageController',
12
13
  Summary = 'SummaryPageController',
13
14
  Status = 'StatusPageController'
@@ -4,6 +4,7 @@ import {
4
4
  type Page,
5
5
  type PageFileUpload,
6
6
  type PageQuestion,
7
+ type PageRepeat,
7
8
  type PageStart,
8
9
  type RequiredField
9
10
  } from '~/src/form/form-definition/types.js'
@@ -65,6 +66,13 @@ export function hasSection(
65
66
  return hasNext(page) && typeof page.section === 'string'
66
67
  }
67
68
 
69
+ /**
70
+ * Check page has repeater
71
+ */
72
+ export function hasRepeater(page?: Partial<Page>): page is PageRepeat {
73
+ return controllerNameFromPath(page?.controller) === ControllerType.Repeat
74
+ }
75
+
68
76
  /**
69
77
  * Check for known page controller names
70
78
  */
@@ -90,7 +98,8 @@ export function hasNext(
90
98
  !controller ||
91
99
  controller === ControllerType.Start ||
92
100
  controller === ControllerType.Page ||
93
- controller === ControllerType.FileUpload
101
+ controller === ControllerType.FileUpload ||
102
+ controller === ControllerType.Repeat
94
103
  )
95
104
  }
96
105
 
@@ -10,8 +10,9 @@ export {
10
10
  getPageDefaults,
11
11
  hasComponents,
12
12
  hasFormComponents,
13
- hasSection,
14
13
  hasNext,
14
+ hasRepeater,
15
+ hasSection,
15
16
  isControllerName
16
17
  } from '~/src/pages/helpers.js'
17
18
 
@@ -1,5 +1,5 @@
1
1
  import { type Page } from '~/src/form/form-definition/types.js'
2
- import { ControllerType, ControllerPath } from '~/src/pages/enums.js'
2
+ import { ControllerPath, ControllerType } from '~/src/pages/enums.js'
3
3
 
4
4
  /**
5
5
  * Defaults for creating new pages
@@ -21,6 +21,18 @@ export const PageTypes: readonly Page[] = Object.freeze([
21
21
  next: [],
22
22
  components: []
23
23
  },
24
+ {
25
+ title: 'Add another',
26
+ path: '/add-another-page',
27
+ controller: ControllerType.Repeat,
28
+ repeat: {
29
+ options: { name: '', title: '' },
30
+ schema: { min: 1, max: 25 }
31
+ },
32
+ section: undefined,
33
+ next: [],
34
+ components: []
35
+ },
24
36
  {
25
37
  title: 'File upload page',
26
38
  path: '/file-upload-page',