@defra/forms-model 3.0.247 → 3.0.249

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 (88) hide show
  1. package/dist/module/components/component-types.js +0 -7
  2. package/dist/module/components/component-types.js.map +1 -1
  3. package/dist/module/components/enums.js +0 -1
  4. package/dist/module/components/enums.js.map +1 -1
  5. package/dist/module/components/helpers.js +2 -2
  6. package/dist/module/components/helpers.js.map +1 -1
  7. package/dist/module/components/types.js.map +1 -1
  8. package/dist/module/conditions/condition-abstract.js.map +1 -1
  9. package/dist/module/conditions/condition-field.js.map +1 -1
  10. package/dist/module/conditions/condition-group-def.js.map +1 -1
  11. package/dist/module/conditions/condition-group.js.map +1 -1
  12. package/dist/module/conditions/condition-model.js +4 -4
  13. package/dist/module/conditions/condition-model.js.map +1 -1
  14. package/dist/module/conditions/condition-operators.js +21 -25
  15. package/dist/module/conditions/condition-operators.js.map +1 -1
  16. package/dist/module/conditions/condition-ref.js.map +1 -1
  17. package/dist/module/conditions/condition-values.js +17 -54
  18. package/dist/module/conditions/condition-values.js.map +1 -1
  19. package/dist/module/conditions/condition.js.map +1 -1
  20. package/dist/module/conditions/enums.js +7 -1
  21. package/dist/module/conditions/enums.js.map +1 -1
  22. package/dist/module/conditions/helpers.js.map +1 -1
  23. package/dist/module/conditions/index.js +3 -3
  24. package/dist/module/conditions/index.js.map +1 -1
  25. package/dist/module/conditions/types.js.map +1 -1
  26. package/dist/module/form/form-definition/index.js +22 -29
  27. package/dist/module/form/form-definition/index.js.map +1 -1
  28. package/dist/module/form/form-definition/types.js.map +1 -1
  29. package/dist/module/form/form-metadata/types.js.map +1 -1
  30. package/dist/types/components/component-types.d.ts.map +1 -1
  31. package/dist/types/components/enums.d.ts +0 -1
  32. package/dist/types/components/enums.d.ts.map +1 -1
  33. package/dist/types/components/helpers.d.ts.map +1 -1
  34. package/dist/types/components/types.d.ts +7 -12
  35. package/dist/types/components/types.d.ts.map +1 -1
  36. package/dist/types/conditions/condition-abstract.d.ts +3 -3
  37. package/dist/types/conditions/condition-abstract.d.ts.map +1 -1
  38. package/dist/types/conditions/condition-field.d.ts +6 -8
  39. package/dist/types/conditions/condition-field.d.ts.map +1 -1
  40. package/dist/types/conditions/condition-group-def.d.ts +5 -3
  41. package/dist/types/conditions/condition-group-def.d.ts.map +1 -1
  42. package/dist/types/conditions/condition-group.d.ts +11 -10
  43. package/dist/types/conditions/condition-group.d.ts.map +1 -1
  44. package/dist/types/conditions/condition-model.d.ts +9 -17
  45. package/dist/types/conditions/condition-model.d.ts.map +1 -1
  46. package/dist/types/conditions/condition-operators.d.ts +8 -14
  47. package/dist/types/conditions/condition-operators.d.ts.map +1 -1
  48. package/dist/types/conditions/condition-ref.d.ts +4 -4
  49. package/dist/types/conditions/condition-ref.d.ts.map +1 -1
  50. package/dist/types/conditions/condition-values.d.ts +13 -30
  51. package/dist/types/conditions/condition-values.d.ts.map +1 -1
  52. package/dist/types/conditions/condition.d.ts +5 -5
  53. package/dist/types/conditions/condition.d.ts.map +1 -1
  54. package/dist/types/conditions/enums.d.ts +6 -1
  55. package/dist/types/conditions/enums.d.ts.map +1 -1
  56. package/dist/types/conditions/helpers.d.ts +5 -2
  57. package/dist/types/conditions/helpers.d.ts.map +1 -1
  58. package/dist/types/conditions/index.d.ts +3 -3
  59. package/dist/types/conditions/index.d.ts.map +1 -1
  60. package/dist/types/conditions/types.d.ts +36 -37
  61. package/dist/types/conditions/types.d.ts.map +1 -1
  62. package/dist/types/form/form-definition/index.d.ts +0 -5
  63. package/dist/types/form/form-definition/index.d.ts.map +1 -1
  64. package/dist/types/form/form-definition/types.d.ts +6 -10
  65. package/dist/types/form/form-definition/types.d.ts.map +1 -1
  66. package/dist/types/form/form-metadata/types.d.ts +5 -0
  67. package/dist/types/form/form-metadata/types.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/components/component-types.ts +0 -8
  70. package/src/components/enums.ts +0 -1
  71. package/src/components/helpers.ts +1 -2
  72. package/src/components/types.ts +7 -17
  73. package/src/conditions/condition-abstract.ts +5 -5
  74. package/src/conditions/condition-field.ts +6 -4
  75. package/src/conditions/condition-group-def.ts +7 -3
  76. package/src/conditions/condition-group.ts +11 -10
  77. package/src/conditions/condition-model.ts +27 -25
  78. package/src/conditions/condition-operators.ts +29 -49
  79. package/src/conditions/condition-ref.ts +3 -3
  80. package/src/conditions/condition-values.ts +31 -89
  81. package/src/conditions/condition.ts +5 -5
  82. package/src/conditions/enums.ts +7 -1
  83. package/src/conditions/helpers.ts +10 -2
  84. package/src/conditions/index.ts +4 -6
  85. package/src/conditions/types.ts +47 -24
  86. package/src/form/form-definition/index.ts +47 -51
  87. package/src/form/form-definition/types.ts +6 -13
  88. package/src/form/form-metadata/types.ts +6 -0
@@ -29,81 +29,44 @@ export class ConditionValue extends ConditionValueAbstract {
29
29
  return ConditionValue.from(this);
30
30
  }
31
31
  }
32
- export const dateUnits = {
33
- YEARS: {
34
- display: 'year(s)',
35
- value: 'years'
36
- },
37
- MONTHS: {
38
- display: 'month(s)',
39
- value: 'months'
40
- },
41
- DAYS: {
42
- display: 'day(s)',
43
- value: 'days'
44
- }
45
- };
46
- export const timeUnits = {
47
- HOURS: {
48
- display: 'hour(s)',
49
- value: 'hours'
50
- },
51
- MINUTES: {
52
- display: 'minute(s)',
53
- value: 'minutes'
54
- },
55
- SECONDS: {
56
- display: 'second(s)',
57
- value: 'seconds'
58
- }
59
- };
60
- export const dateTimeUnits = {
61
- ...dateUnits,
62
- ...timeUnits
63
- };
64
- export class RelativeTimeValue extends ConditionValueAbstract {
32
+ export class RelativeDateValue extends ConditionValueAbstract {
65
33
  type;
66
- timePeriod;
67
- timeUnit;
34
+ period;
35
+ unit;
68
36
  direction;
69
- timeOnly;
70
- constructor(timePeriod, timeUnit, direction, timeOnly = false) {
71
- if (typeof timePeriod !== 'string') {
72
- throw new Error("RelativeTimeValue param 'timePeriod' must be a string");
73
- }
74
- if (!Object.values(dateTimeUnits).map(unit => unit.value).includes(timeUnit)) {
75
- throw new Error("RelativeTimeValue param 'dateTimeUnits' must only include DateTimeUnitValues keys");
37
+ constructor(period, unit, direction) {
38
+ if (typeof period !== 'string') {
39
+ throw new Error("RelativeDateValue param 'period' must be a string");
76
40
  }
77
41
  if (!Object.values(DateDirections).includes(direction)) {
78
- throw new Error("RelativeTimeValue param 'direction' must be from enum DateDirections");
42
+ throw new Error("RelativeDateValue param 'direction' must be from enum DateDirections");
79
43
  }
80
44
  super();
81
- this.type = ConditionType.RelativeTime;
82
- this.timePeriod = timePeriod;
83
- this.timeUnit = timeUnit;
45
+ this.type = ConditionType.RelativeDate;
46
+ this.period = period;
47
+ this.unit = unit;
84
48
  this.direction = direction;
85
- this.timeOnly = timeOnly;
86
49
  }
87
50
  toPresentationString() {
88
- return `${this.timePeriod} ${this.timeUnit} ${this.direction}`;
51
+ return `${this.period} ${this.unit} ${this.direction}`;
89
52
  }
90
53
  toExpression() {
91
- const timePeriod = this.direction === DateDirections.PAST ? 0 - Number(this.timePeriod) : this.timePeriod;
92
- return this.timeOnly ? `timeForComparison(${timePeriod}, '${this.timeUnit}')` : `dateForComparison(${timePeriod}, '${this.timeUnit}')`;
54
+ const period = this.direction === DateDirections.PAST ? 0 - Number(this.period) : this.period;
55
+ return `dateForComparison(${period}, '${this.unit}')`;
93
56
  }
94
57
  static from(obj) {
95
- return new RelativeTimeValue(obj.timePeriod, obj.timeUnit, obj.direction, obj.timeOnly);
58
+ return new RelativeDateValue(obj.period, obj.unit, obj.direction);
96
59
  }
97
60
  clone() {
98
- return RelativeTimeValue.from(this);
61
+ return RelativeDateValue.from(this);
99
62
  }
100
63
  }
101
64
  export function conditionValueFrom(obj) {
102
65
  switch (obj.type) {
103
66
  case ConditionType.Value:
104
67
  return ConditionValue.from(obj);
105
- case ConditionType.RelativeTime:
106
- return RelativeTimeValue.from(obj);
68
+ case ConditionType.RelativeDate:
69
+ return RelativeDateValue.from(obj);
107
70
  }
108
71
  }
109
72
  //# sourceMappingURL=condition-values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-values.js","names":["ConditionValueAbstract","ConditionType","DateDirections","ConditionValue","type","value","display","constructor","Error","Value","toPresentationString","toExpression","from","obj","clone","dateUnits","YEARS","MONTHS","DAYS","timeUnits","HOURS","MINUTES","SECONDS","dateTimeUnits","RelativeTimeValue","timePeriod","timeUnit","direction","timeOnly","Object","values","map","unit","includes","RelativeTime","PAST","Number","conditionValueFrom"],"sources":["../../../src/conditions/condition-values.ts"],"sourcesContent":["import { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport { ConditionType, DateDirections } from '~/src/conditions/enums.js'\nimport {\n type DateTimeUnitValues,\n type DateUnits,\n type TimeUnits\n} from '~/src/conditions/types.js'\n\nexport class ConditionValue\n extends ConditionValueAbstract\n implements ConditionValueFrom\n{\n type: ConditionType.Value\n value: string\n display: string\n\n constructor(value: string, display?: string) {\n if (!value || typeof value !== 'string') {\n throw new Error(\"ConditionValue param 'value' must be a string\")\n }\n\n if (display && typeof display !== 'string') {\n throw new Error(\"ConditionValue param 'display' must be a string\")\n }\n\n super()\n\n this.type = ConditionType.Value\n this.value = value\n this.display = display ?? value\n }\n\n toPresentationString() {\n return this.display\n }\n\n toExpression() {\n return this.value\n }\n\n static from(obj: ConditionValue | ConditionValueFrom) {\n return new ConditionValue(obj.value, obj.display)\n }\n\n clone() {\n return ConditionValue.from(this)\n }\n}\n\nexport interface ConditionValueFrom {\n value: string\n display?: string\n}\n\nexport const dateUnits: DateUnits = {\n YEARS: { display: 'year(s)', value: 'years' },\n MONTHS: { display: 'month(s)', value: 'months' },\n DAYS: { display: 'day(s)', value: 'days' }\n} as const\n\nexport const timeUnits: TimeUnits = {\n HOURS: { display: 'hour(s)', value: 'hours' },\n MINUTES: { display: 'minute(s)', value: 'minutes' },\n SECONDS: { display: 'second(s)', value: 'seconds' }\n} as const\n\nexport const dateTimeUnits: DateUnits & TimeUnits = {\n ...dateUnits,\n ...timeUnits\n} as const\n\nexport class RelativeTimeValue\n extends ConditionValueAbstract\n implements RelativeTimeValueFrom\n{\n type: ConditionType.RelativeTime\n timePeriod: string\n timeUnit: DateTimeUnitValues\n direction: DateDirections\n timeOnly: boolean\n\n constructor(\n timePeriod: string,\n timeUnit: DateTimeUnitValues,\n direction: DateDirections,\n timeOnly = false\n ) {\n if (typeof timePeriod !== 'string') {\n throw new Error(\"RelativeTimeValue param 'timePeriod' must be a string\")\n }\n\n if (\n !Object.values(dateTimeUnits)\n .map((unit) => unit.value)\n .includes(timeUnit)\n ) {\n throw new Error(\n \"RelativeTimeValue param 'dateTimeUnits' must only include DateTimeUnitValues keys\"\n )\n }\n\n if (!Object.values(DateDirections).includes(direction)) {\n throw new Error(\n \"RelativeTimeValue param 'direction' must be from enum DateDirections\"\n )\n }\n\n super()\n\n this.type = ConditionType.RelativeTime\n this.timePeriod = timePeriod\n this.timeUnit = timeUnit\n this.direction = direction\n this.timeOnly = timeOnly\n }\n\n toPresentationString() {\n return `${this.timePeriod} ${this.timeUnit} ${this.direction}`\n }\n\n toExpression(): string {\n const timePeriod =\n this.direction === DateDirections.PAST\n ? 0 - Number(this.timePeriod)\n : this.timePeriod\n return this.timeOnly\n ? `timeForComparison(${timePeriod}, '${this.timeUnit}')`\n : `dateForComparison(${timePeriod}, '${this.timeUnit}')`\n }\n\n static from(obj: RelativeTimeValue | RelativeTimeValueFrom) {\n return new RelativeTimeValue(\n obj.timePeriod,\n obj.timeUnit,\n obj.direction,\n obj.timeOnly\n )\n }\n\n clone() {\n return RelativeTimeValue.from(this)\n }\n}\n\nexport interface RelativeTimeValueFrom {\n timePeriod: string\n timeUnit: DateTimeUnitValues\n direction: DateDirections\n timeOnly: boolean\n}\n\nexport function conditionValueFrom(\n obj:\n | ConditionValue\n | RelativeTimeValue\n | ({ type: ConditionType.Value } & ConditionValueFrom)\n | ({ type: ConditionType.RelativeTime } & RelativeTimeValueFrom)\n) {\n switch (obj.type) {\n case ConditionType.Value:\n return ConditionValue.from(obj)\n\n case ConditionType.RelativeTime:\n return RelativeTimeValue.from(obj)\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"condition-values.js","names":["ConditionValueAbstract","ConditionType","DateDirections","ConditionValue","type","value","display","constructor","Error","Value","toPresentationString","toExpression","from","obj","clone","RelativeDateValue","period","unit","direction","Object","values","includes","RelativeDate","PAST","Number","conditionValueFrom"],"sources":["../../../src/conditions/condition-values.ts"],"sourcesContent":["import { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport { ConditionType, DateDirections } from '~/src/conditions/enums.js'\nimport { type DateUnits } from '~/src/conditions/enums.js'\nimport {\n type ConditionValueData,\n type RelativeDateValueData\n} from '~/src/conditions/types.js'\n\nexport class ConditionValue extends ConditionValueAbstract {\n type: ConditionType.Value\n value: string\n display: string\n\n constructor(value: string, display?: string) {\n if (!value || typeof value !== 'string') {\n throw new Error(\"ConditionValue param 'value' must be a string\")\n }\n\n if (display && typeof display !== 'string') {\n throw new Error(\"ConditionValue param 'display' must be a string\")\n }\n\n super()\n\n this.type = ConditionType.Value\n this.value = value\n this.display = display ?? value\n }\n\n toPresentationString() {\n return this.display\n }\n\n toExpression() {\n return this.value\n }\n\n static from(obj: ConditionValue | ConditionValueData) {\n return new ConditionValue(obj.value, obj.display)\n }\n\n clone() {\n return ConditionValue.from(this)\n }\n}\n\nexport class RelativeDateValue extends ConditionValueAbstract {\n type: ConditionType.RelativeDate\n period\n unit\n direction\n\n constructor(period: string, unit: DateUnits, direction: DateDirections) {\n if (typeof period !== 'string') {\n throw new Error(\"RelativeDateValue param 'period' must be a string\")\n }\n\n if (!Object.values(DateDirections).includes(direction)) {\n throw new Error(\n \"RelativeDateValue param 'direction' must be from enum DateDirections\"\n )\n }\n\n super()\n\n this.type = ConditionType.RelativeDate\n this.period = period\n this.unit = unit\n this.direction = direction\n }\n\n toPresentationString() {\n return `${this.period} ${this.unit} ${this.direction}`\n }\n\n toExpression(): string {\n const period =\n this.direction === DateDirections.PAST\n ? 0 - Number(this.period)\n : this.period\n\n return `dateForComparison(${period}, '${this.unit}')`\n }\n\n static from(obj: RelativeDateValue | RelativeDateValueData) {\n return new RelativeDateValue(obj.period, obj.unit, obj.direction)\n }\n\n clone() {\n return RelativeDateValue.from(this)\n }\n}\n\nexport function conditionValueFrom(\n obj:\n | ConditionValue\n | ConditionValueData\n | RelativeDateValue\n | RelativeDateValueData\n) {\n switch (obj.type) {\n case ConditionType.Value:\n return ConditionValue.from(obj)\n\n case ConditionType.RelativeDate:\n return RelativeDateValue.from(obj)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","names":["ConditionAbstract","ConditionField","getExpression","ConditionValueAbstract","Condition","field","operator","value","constructor","coordinator","Error","asFirstCondition","_asFirstCondition","conditionString","display","toPresentationString","conditionExpression","type","name","clone","from"],"sources":["../../../src/conditions/condition.ts"],"sourcesContent":["import { ConditionAbstract } from '~/src/conditions/condition-abstract.js'\nimport { ConditionField } from '~/src/conditions/condition-field.js'\nimport { getExpression } from '~/src/conditions/condition-operators.js'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport {\n type ConditionValue,\n type RelativeTimeValue\n} from '~/src/conditions/condition-values.js'\nimport { type Coordinator, type OperatorName } from '~/src/conditions/enums.js'\n\nexport class Condition extends ConditionAbstract {\n field\n operator\n value\n\n constructor(\n field?: ConditionField,\n operator?: OperatorName,\n value?: ConditionValue | RelativeTimeValue,\n coordinator?: Coordinator\n ) {\n if (!(field instanceof ConditionField)) {\n throw new Error(\"Condition param 'field' must be ConditionField instance\")\n }\n if (typeof operator !== 'string') {\n throw new Error(\"Condition param 'operator' must be a string\")\n }\n if (!(value instanceof ConditionValueAbstract)) {\n throw new Error(\n \"Condition param 'field' must be ConditionValueAbstract instance\"\n )\n }\n\n super(coordinator)\n\n this.field = field\n this.operator = operator\n this.value = value\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.field.display}' ${\n this.operator\n } '${this.value.toPresentationString()}'`\n }\n\n conditionExpression() {\n return getExpression(\n this.field.type,\n this.field.name,\n this.operator,\n this.value\n )\n }\n\n clone() {\n return new Condition(\n ConditionField.from(this.field),\n this.operator,\n this.value.clone(),\n this.coordinator\n )\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAO/B,OAAO,MAAMC,SAAS,SAASJ,iBAAiB,CAAC;EAC/CK,KAAK;EACLC,QAAQ;EACRC,KAAK;EAELC,WAAWA,CACTH,KAAsB,EACtBC,QAAuB,EACvBC,KAA0C,EAC1CE,WAAyB,EACzB;IACA,IAAI,EAAEJ,KAAK,YAAYJ,cAAc,CAAC,EAAE;MACtC,MAAM,IAAIS,KAAK,CAAC,yDAAyD,CAAC;IAC5E;IACA,IAAI,OAAOJ,QAAQ,KAAK,QAAQ,EAAE;MAChC,MAAM,IAAII,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA,IAAI,EAAEH,KAAK,YAAYJ,sBAAsB,CAAC,EAAE;MAC9C,MAAM,IAAIO,KAAK,CACb,iEACF,CAAC;IACH;IAEA,KAAK,CAACD,WAAW,CAAC;IAElB,IAAI,CAACJ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEAI,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,IAAI,CAACR,KAAK,CAACS,OAAO,KAC3B,IAAI,CAACR,QAAQ,KACV,IAAI,CAACC,KAAK,CAACQ,oBAAoB,CAAC,CAAC,GAAG;EAC3C;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,OAAOd,aAAa,CAClB,IAAI,CAACG,KAAK,CAACY,IAAI,EACf,IAAI,CAACZ,KAAK,CAACa,IAAI,EACf,IAAI,CAACZ,QAAQ,EACb,IAAI,CAACC,KACP,CAAC;EACH;EAEAY,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIf,SAAS,CAClBH,cAAc,CAACmB,IAAI,CAAC,IAAI,CAACf,KAAK,CAAC,EAC/B,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,KAAK,CAACY,KAAK,CAAC,CAAC,EAClB,IAAI,CAACV,WACP,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"condition.js","names":["ConditionAbstract","ConditionField","getExpression","ConditionValueAbstract","Condition","field","operator","value","constructor","coordinator","Error","asFirstCondition","_asFirstCondition","conditionString","display","toPresentationString","conditionExpression","type","name","clone","from"],"sources":["../../../src/conditions/condition.ts"],"sourcesContent":["import { ConditionAbstract } from '~/src/conditions/condition-abstract.js'\nimport { ConditionField } from '~/src/conditions/condition-field.js'\nimport { getExpression } from '~/src/conditions/condition-operators.js'\nimport { ConditionValueAbstract } from '~/src/conditions/condition-value-abstract.js'\nimport {\n type ConditionValue,\n type RelativeDateValue\n} from '~/src/conditions/condition-values.js'\nimport { type Coordinator, type OperatorName } from '~/src/conditions/enums.js'\n\nexport class Condition extends ConditionAbstract {\n field: ConditionField\n operator: OperatorName\n value: ConditionValue | RelativeDateValue\n\n constructor(\n field?: ConditionField,\n operator?: OperatorName,\n value?: ConditionValue | RelativeDateValue,\n coordinator?: Coordinator\n ) {\n if (!(field instanceof ConditionField)) {\n throw new Error(\"Condition param 'field' must be ConditionField instance\")\n }\n if (typeof operator !== 'string') {\n throw new Error(\"Condition param 'operator' must be a string\")\n }\n if (!(value instanceof ConditionValueAbstract)) {\n throw new Error(\n \"Condition param 'field' must be ConditionValueAbstract instance\"\n )\n }\n\n super(coordinator)\n\n this.field = field\n this.operator = operator\n this.value = value\n }\n\n asFirstCondition() {\n this._asFirstCondition()\n return this\n }\n\n conditionString() {\n return `'${this.field.display}' ${\n this.operator\n } '${this.value.toPresentationString()}'`\n }\n\n conditionExpression() {\n return getExpression(\n this.field.type,\n this.field.name,\n this.operator,\n this.value\n )\n }\n\n clone() {\n return new Condition(\n ConditionField.from(this.field),\n this.operator,\n this.value.clone(),\n this.coordinator\n )\n }\n}\n"],"mappings":"AAAA,SAASA,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAO/B,OAAO,MAAMC,SAAS,SAASJ,iBAAiB,CAAC;EAC/CK,KAAK;EACLC,QAAQ;EACRC,KAAK;EAELC,WAAWA,CACTH,KAAsB,EACtBC,QAAuB,EACvBC,KAA0C,EAC1CE,WAAyB,EACzB;IACA,IAAI,EAAEJ,KAAK,YAAYJ,cAAc,CAAC,EAAE;MACtC,MAAM,IAAIS,KAAK,CAAC,yDAAyD,CAAC;IAC5E;IACA,IAAI,OAAOJ,QAAQ,KAAK,QAAQ,EAAE;MAChC,MAAM,IAAII,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA,IAAI,EAAEH,KAAK,YAAYJ,sBAAsB,CAAC,EAAE;MAC9C,MAAM,IAAIO,KAAK,CACb,iEACF,CAAC;IACH;IAEA,KAAK,CAACD,WAAW,CAAC;IAElB,IAAI,CAACJ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;EAEAI,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,OAAO,IAAI;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,IAAI,CAACR,KAAK,CAACS,OAAO,KAC3B,IAAI,CAACR,QAAQ,KACV,IAAI,CAACC,KAAK,CAACQ,oBAAoB,CAAC,CAAC,GAAG;EAC3C;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,OAAOd,aAAa,CAClB,IAAI,CAACG,KAAK,CAACY,IAAI,EACf,IAAI,CAACZ,KAAK,CAACa,IAAI,EACf,IAAI,CAACZ,QAAQ,EACb,IAAI,CAACC,KACP,CAAC;EACH;EAEAY,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIf,SAAS,CAClBH,cAAc,CAACmB,IAAI,CAAC,IAAI,CAACf,KAAK,CAAC,EAC/B,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,KAAK,CAACY,KAAK,CAAC,CAAC,EAClB,IAAI,CAACV,WACP,CAAC;EACH;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  export let ConditionType = /*#__PURE__*/function (ConditionType) {
2
2
  ConditionType["Value"] = "Value";
3
- ConditionType["RelativeTime"] = "RelativeTime";
3
+ ConditionType["RelativeDate"] = "RelativeDate";
4
4
  return ConditionType;
5
5
  }({});
6
6
  export let Coordinator = /*#__PURE__*/function (Coordinator) {
@@ -39,4 +39,10 @@ export let DateDirections = /*#__PURE__*/function (DateDirections) {
39
39
  DateDirections["PAST"] = "in the past";
40
40
  return DateDirections;
41
41
  }({});
42
+ export let DateUnits = /*#__PURE__*/function (DateUnits) {
43
+ DateUnits["YEARS"] = "years";
44
+ DateUnits["MONTHS"] = "months";
45
+ DateUnits["DAYS"] = "days";
46
+ return DateUnits;
47
+ }({});
42
48
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["ConditionType","Coordinator","Operator","OperatorName","DateDirections"],"sources":["../../../src/conditions/enums.ts"],"sourcesContent":["export enum ConditionType {\n Value = 'Value',\n RelativeTime = 'RelativeTime'\n}\n\nexport enum Coordinator {\n AND = 'and',\n OR = 'or'\n}\n\nexport enum Operator {\n Is = '==',\n IsNot = '!=',\n Contains = 'in',\n IsAtLeast = '>=',\n IsAtMost = '<=',\n IsLessThan = '<',\n IsMoreThan = '>'\n}\n\nexport enum OperatorName {\n Is = 'is',\n IsNot = 'is not',\n IsLongerThan = 'is longer than',\n IsShorterThan = 'is shorter than',\n HasLength = 'has length',\n Contains = 'contains',\n DoesNotContain = 'does not contain',\n IsAtLeast = 'is at least',\n IsAtMost = 'is at most',\n IsLessThan = 'is less than',\n IsMoreThan = 'is more than',\n IsBefore = 'is before',\n IsAfter = 'is after'\n}\n\nexport enum DateDirections {\n FUTURE = 'in the future',\n PAST = 'in the past'\n}\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAKzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAUpB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAgBxB,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"enums.js","names":["ConditionType","Coordinator","Operator","OperatorName","DateDirections","DateUnits"],"sources":["../../../src/conditions/enums.ts"],"sourcesContent":["export enum ConditionType {\n Value = 'Value',\n RelativeDate = 'RelativeDate'\n}\n\nexport enum Coordinator {\n AND = 'and',\n OR = 'or'\n}\n\nexport enum Operator {\n Is = '==',\n IsNot = '!=',\n Contains = 'in',\n IsAtLeast = '>=',\n IsAtMost = '<=',\n IsLessThan = '<',\n IsMoreThan = '>'\n}\n\nexport enum OperatorName {\n Is = 'is',\n IsNot = 'is not',\n IsLongerThan = 'is longer than',\n IsShorterThan = 'is shorter than',\n HasLength = 'has length',\n Contains = 'contains',\n DoesNotContain = 'does not contain',\n IsAtLeast = 'is at least',\n IsAtMost = 'is at most',\n IsLessThan = 'is less than',\n IsMoreThan = 'is more than',\n IsBefore = 'is before',\n IsAfter = 'is after'\n}\n\nexport enum DateDirections {\n FUTURE = 'in the future',\n PAST = 'in the past'\n}\n\nexport enum DateUnits {\n YEARS = 'years',\n MONTHS = 'months',\n DAYS = 'days'\n}\n"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAKzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAUpB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAgBxB,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAK1B,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["toPresentationString","condition","coordinatorString","conditionString","toExpression","conditionExpression"],"sources":["../../../src/conditions/helpers.ts"],"sourcesContent":["export function toPresentationString(condition) {\n return `${condition.coordinatorString()}${condition.conditionString()}`\n}\n\nexport function toExpression(condition) {\n return `${condition.coordinatorString()}${condition.conditionExpression()}`\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAACC,SAAS,EAAE;EAC9C,OAAO,GAAGA,SAAS,CAACC,iBAAiB,CAAC,CAAC,GAAGD,SAAS,CAACE,eAAe,CAAC,CAAC,EAAE;AACzE;AAEA,OAAO,SAASC,YAAYA,CAACH,SAAS,EAAE;EACtC,OAAO,GAAGA,SAAS,CAACC,iBAAiB,CAAC,CAAC,GAAGD,SAAS,CAACI,mBAAmB,CAAC,CAAC,EAAE;AAC7E","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["toPresentationString","condition","coordinatorString","conditionString","toExpression","conditionExpression"],"sources":["../../../src/conditions/helpers.ts"],"sourcesContent":["import { type ConditionGroup } from '~/src/conditions/condition-group.js'\nimport { type ConditionRef } from '~/src/conditions/condition-ref.js'\nimport { type Condition } from '~/src/conditions/condition.js'\n\nexport function toPresentationString(\n condition: Condition | ConditionRef | ConditionGroup\n) {\n return `${condition.coordinatorString()}${condition.conditionString()}`\n}\n\nexport function toExpression(\n condition: Condition | ConditionRef | ConditionGroup\n) {\n return `${condition.coordinatorString()}${condition.conditionExpression()}`\n}\n"],"mappings":"AAIA,OAAO,SAASA,oBAAoBA,CAClCC,SAAoD,EACpD;EACA,OAAO,GAAGA,SAAS,CAACC,iBAAiB,CAAC,CAAC,GAAGD,SAAS,CAACE,eAAe,CAAC,CAAC,EAAE;AACzE;AAEA,OAAO,SAASC,YAAYA,CAC1BH,SAAoD,EACpD;EACA,OAAO,GAAGA,SAAS,CAACC,iBAAiB,CAAC,CAAC,GAAGD,SAAS,CAACI,mBAAmB,CAAC,CAAC,EAAE;AAC7E","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- export { getExpression, getOperatorConfig, getOperatorNames, absoluteDateOrTimeOperatorNames, relativeDateOrTimeOperatorNames } from "./condition-operators.js";
2
- export { timeUnits, dateUnits, dateTimeUnits, ConditionValue, RelativeTimeValue, conditionValueFrom } from "./condition-values.js";
1
+ export { getExpression, getOperatorConfig, getOperatorNames, absoluteDateOperatorNames, relativeDateOperatorNames } from "./condition-operators.js";
2
+ export { ConditionValue, RelativeDateValue, conditionValueFrom } from "./condition-values.js";
3
3
  export { ConditionField } from "./condition-field.js";
4
4
  export { Condition } from "./condition.js";
5
5
  export { ConditionRef } from "./condition-ref.js";
@@ -7,5 +7,5 @@ export { ConditionGroup } from "./condition-group.js";
7
7
  export { ConditionsModel } from "./condition-model.js";
8
8
  export { ConditionGroupDef } from "./condition-group-def.js";
9
9
  export { toExpression, toPresentationString } from "./helpers.js";
10
- export { ConditionType, Coordinator, DateDirections, Operator, OperatorName } from "./enums.js";
10
+ export { ConditionType, Coordinator, DateDirections, DateUnits, Operator, OperatorName } from "./enums.js";
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getExpression","getOperatorConfig","getOperatorNames","absoluteDateOrTimeOperatorNames","relativeDateOrTimeOperatorNames","timeUnits","dateUnits","dateTimeUnits","ConditionValue","RelativeTimeValue","conditionValueFrom","ConditionField","Condition","ConditionRef","ConditionGroup","ConditionsModel","ConditionGroupDef","toExpression","toPresentationString","ConditionType","Coordinator","DateDirections","Operator","OperatorName"],"sources":["../../../src/conditions/index.ts"],"sourcesContent":["export {\n getExpression,\n getOperatorConfig,\n getOperatorNames,\n absoluteDateOrTimeOperatorNames,\n relativeDateOrTimeOperatorNames\n} from '~/src/conditions/condition-operators.js'\n\nexport {\n timeUnits,\n dateUnits,\n dateTimeUnits,\n ConditionValue,\n RelativeTimeValue,\n conditionValueFrom\n} from '~/src/conditions/condition-values.js'\n\nexport { ConditionField } from '~/src/conditions/condition-field.js'\nexport { Condition } from '~/src/conditions/condition.js'\nexport { ConditionRef } from '~/src/conditions/condition-ref.js'\nexport { ConditionGroup } from '~/src/conditions/condition-group.js'\nexport { ConditionsModel } from '~/src/conditions/condition-model.js'\nexport { ConditionGroupDef } from '~/src/conditions/condition-group-def.js'\nexport { toExpression, toPresentationString } from '~/src/conditions/helpers.js'\n\nexport {\n ConditionType,\n Coordinator,\n DateDirections,\n Operator,\n OperatorName\n} from '~/src/conditions/enums.js'\n"],"mappings":"AAAA,SACEA,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,+BAA+B,EAC/BC,+BAA+B;AAGjC,SACEC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB;AAGpB,SAASC,cAAc;AACvB,SAASC,SAAS;AAClB,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,YAAY,EAAEC,oBAAoB;AAE3C,SACEC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,QAAQ,EACRC,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getExpression","getOperatorConfig","getOperatorNames","absoluteDateOperatorNames","relativeDateOperatorNames","ConditionValue","RelativeDateValue","conditionValueFrom","ConditionField","Condition","ConditionRef","ConditionGroup","ConditionsModel","ConditionGroupDef","toExpression","toPresentationString","ConditionType","Coordinator","DateDirections","DateUnits","Operator","OperatorName"],"sources":["../../../src/conditions/index.ts"],"sourcesContent":["export {\n getExpression,\n getOperatorConfig,\n getOperatorNames,\n absoluteDateOperatorNames,\n relativeDateOperatorNames\n} from '~/src/conditions/condition-operators.js'\n\nexport {\n ConditionValue,\n RelativeDateValue,\n conditionValueFrom\n} from '~/src/conditions/condition-values.js'\n\nexport { ConditionField } from '~/src/conditions/condition-field.js'\nexport { Condition } from '~/src/conditions/condition.js'\nexport { ConditionRef } from '~/src/conditions/condition-ref.js'\nexport { ConditionGroup } from '~/src/conditions/condition-group.js'\nexport { ConditionsModel } from '~/src/conditions/condition-model.js'\nexport { ConditionGroupDef } from '~/src/conditions/condition-group-def.js'\nexport { toExpression, toPresentationString } from '~/src/conditions/helpers.js'\n\nexport {\n ConditionType,\n Coordinator,\n DateDirections,\n DateUnits,\n Operator,\n OperatorName\n} from '~/src/conditions/enums.js'\n"],"mappings":"AAAA,SACEA,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,yBAAyB,EACzBC,yBAAyB;AAG3B,SACEC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB;AAGpB,SAASC,cAAc;AACvB,SAASC,SAAS;AAClB,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,YAAY,EAAEC,oBAAoB;AAE3C,SACEC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,SAAS,EACTC,QAAQ,EACRC,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/conditions/types.ts"],"sourcesContent":["import { type ComponentDef } from '~/src/components/types.js'\nimport { type ConditionGroup } from '~/src/conditions/condition-group.js'\nimport { type ConditionRef } from '~/src/conditions/condition-ref.js'\nimport {\n type ConditionValue,\n type RelativeTimeValue\n} from '~/src/conditions/condition-values.js'\nimport { type Condition } from '~/src/conditions/condition.js'\nimport { type OperatorName } from '~/src/conditions/enums.js'\n\nexport type ConditionsArray = (Condition | ConditionGroup | ConditionRef)[]\n\nexport type DateTimeUnitValues =\n | 'years'\n | 'months'\n | 'days'\n | 'hours'\n | 'minutes'\n | 'seconds'\n\nexport interface DateUnits {\n YEARS: { display: 'year(s)'; value: 'years' }\n MONTHS: { display: 'month(s)'; value: 'months' }\n DAYS: { display: 'day(s)'; value: 'days' }\n}\n\nexport interface TimeUnits {\n HOURS: { display: 'hour(s)'; value: 'hours' }\n MINUTES: { display: 'minute(s)'; value: 'minutes' }\n SECONDS: { display: 'second(s)'; value: 'seconds' }\n}\n\nexport interface OperatorDefinition {\n units?: DateUnits | TimeUnits\n expression: (\n component: Pick<ComponentDef, 'type' | 'name'>,\n conditionValue: ConditionValue | RelativeTimeValue\n ) => string\n}\n\nexport type Conditionals = Record<OperatorName, OperatorDefinition>\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/conditions/types.ts"],"sourcesContent":["import {\n type ComponentDef,\n type ConditionalComponentType\n} from '~/src/components/types.js'\nimport {\n type ConditionValue,\n type RelativeDateValue\n} from '~/src/conditions/condition-values.js'\nimport {\n type ConditionType,\n type Coordinator,\n type DateDirections,\n type DateUnits,\n type OperatorName\n} from '~/src/conditions/enums.js'\n\nexport interface ConditionValueData {\n type: ConditionType.Value\n value: string\n display: string\n}\n\nexport interface RelativeDateValueData {\n type: ConditionType.RelativeDate\n period: string\n unit: DateUnits\n direction: DateDirections\n}\n\nexport interface ConditionFieldData {\n name: string\n type: ConditionalComponentType\n display: string\n}\n\nexport interface ConditionData {\n field: ConditionFieldData\n operator: OperatorName\n value: ConditionValueData | RelativeDateValueData\n coordinator?: Coordinator\n}\n\nexport interface ConditionRefData {\n conditionName: string\n conditionDisplayName: string\n coordinator?: Coordinator\n}\n\nexport interface ConditionGroupData {\n conditions: (ConditionData | ConditionRefData | ConditionGroupData)[]\n}\n\nexport interface ConditionsModelData extends ConditionGroupData {\n name: string\n}\n\nexport interface OperatorDefinition {\n expression: (\n component: Pick<ComponentDef, 'type' | 'name'>,\n conditionValue: ConditionValue | RelativeDateValue\n ) => string\n}\n\nexport type Conditionals = Record<OperatorName, OperatorDefinition>\n"],"mappings":"","ignoreList":[]}
@@ -1,9 +1,4 @@
1
1
  import Joi from 'joi';
2
- /**
3
- * If an optional key is added, CURRENT_VERSION does not need to be incremented.
4
- * Only breaking changes will require an increment, as well as a migration script.
5
- */
6
- export const CURRENT_VERSION = 2;
7
2
  const sectionsSchema = Joi.object().keys({
8
3
  name: Joi.string().required(),
9
4
  title: Joi.string().required(),
@@ -19,12 +14,11 @@ const conditionValueSchema = Joi.object().keys({
19
14
  value: Joi.string().required(),
20
15
  display: Joi.string().required()
21
16
  });
22
- const relativeTimeValueSchema = Joi.object().keys({
17
+ const relativeDateValueSchema = Joi.object().keys({
23
18
  type: Joi.string().required(),
24
- timePeriod: Joi.string().required(),
25
- timeUnit: Joi.string().required(),
26
- direction: Joi.string().required(),
27
- timeOnly: Joi.boolean().required()
19
+ period: Joi.string().required(),
20
+ unit: Joi.string().required(),
21
+ direction: Joi.string().required()
28
22
  });
29
23
  const conditionRefSchema = Joi.object().keys({
30
24
  conditionName: Joi.string().required(),
@@ -34,32 +28,31 @@ const conditionRefSchema = Joi.object().keys({
34
28
  const conditionSchema = Joi.object().keys({
35
29
  field: conditionFieldSchema,
36
30
  operator: Joi.string().required(),
37
- value: Joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),
31
+ value: Joi.alternatives().try(conditionValueSchema, relativeDateValueSchema),
38
32
  coordinator: Joi.string().optional()
39
33
  });
40
34
  const conditionGroupSchema = Joi.object().keys({
41
- conditions: Joi.array().items(Joi.alternatives().try(conditionSchema, conditionRefSchema, Joi.any() /** Should be a joi.link('#conditionGroupSchema') */))
42
- });
43
- const conditionsModelSchema = Joi.alternatives().try(Joi.string(), Joi.object().keys({
35
+ conditions: Joi.array().items(Joi.alternatives().try(conditionSchema, conditionRefSchema, Joi.link('#conditionGroupSchema')))
36
+ }).id('conditionGroupSchema');
37
+ const conditionsModelSchema = Joi.object().keys({
44
38
  name: Joi.string().required(),
45
39
  conditions: Joi.array().items(Joi.alternatives().try(conditionSchema, conditionRefSchema, conditionGroupSchema))
46
- }));
47
- const conditionsSchema = Joi.object().keys({
40
+ });
41
+ const conditionWrapperSchema = Joi.object().keys({
48
42
  name: Joi.string().required(),
49
43
  displayName: Joi.string(),
50
44
  value: conditionsModelSchema.required()
51
45
  });
52
- const localisedString = Joi.alternatives().try(Joi.object({
53
- a: Joi.any()
54
- }).unknown(), Joi.string().allow(''));
55
46
  export const componentSchema = Joi.object().keys({
56
47
  type: Joi.string().required(),
57
48
  name: Joi.string(),
58
- title: localisedString,
59
- hint: localisedString.optional(),
49
+ title: Joi.string().allow(''),
50
+ hint: Joi.string().allow('').optional(),
60
51
  options: Joi.object({
61
52
  rows: Joi.number().empty(''),
62
53
  maxWords: Joi.number().empty(''),
54
+ maxDaysInPast: Joi.number().empty(''),
55
+ maxDaysInFuture: Joi.number().empty(''),
63
56
  customValidationMessage: Joi.string().allow('')
64
57
  }).default({}).unknown(true),
65
58
  schema: Joi.object({
@@ -81,19 +74,19 @@ const nextSchema = Joi.object().keys({
81
74
  */
82
75
  const pageSchema = Joi.object().keys({
83
76
  path: Joi.string().required().disallow('/status'),
84
- title: localisedString,
77
+ title: Joi.string().allow(''),
85
78
  section: Joi.string(),
86
79
  controller: Joi.string().optional(),
87
80
  components: Joi.array().items(componentSchema),
88
81
  next: Joi.array().items(nextSchema)
89
82
  });
90
83
  const baseListItemSchema = Joi.object().keys({
91
- text: localisedString,
92
- description: localisedString.optional(),
84
+ text: Joi.string().allow(''),
85
+ description: Joi.string().allow('').optional(),
93
86
  conditional: Joi.object().keys({
94
87
  components: Joi.array().required().items(componentSchema.unknown(true)).unique('name')
95
- }).allow(null).optional(),
96
- condition: Joi.string().allow(null, '').optional()
88
+ }).optional(),
89
+ condition: Joi.string().allow('').optional()
97
90
  });
98
91
  const stringListItemSchema = baseListItemSchema.append({
99
92
  value: Joi.string().required()
@@ -103,7 +96,7 @@ const numberListItemSchema = baseListItemSchema.append({
103
96
  });
104
97
  const listSchema = Joi.object().keys({
105
98
  name: Joi.string().required(),
106
- title: localisedString,
99
+ title: Joi.string().allow(''),
107
100
  type: Joi.string().required().valid('string', 'number'),
108
101
  items: Joi.when('type', {
109
102
  is: 'string',
@@ -132,12 +125,12 @@ const phaseBannerSchema = Joi.object().keys({
132
125
  * @see {@link FormDefinition}
133
126
  */
134
127
  export const formDefinitionSchema = Joi.object().required().keys({
135
- name: localisedString.optional(),
128
+ name: Joi.string().allow('').optional(),
136
129
  feedback: feedbackSchema.optional(),
137
130
  startPage: Joi.string().optional(),
138
131
  pages: Joi.array().required().items(pageSchema).unique('path'),
139
132
  sections: Joi.array().items(sectionsSchema).unique('name').required(),
140
- conditions: Joi.array().items(conditionsSchema).unique('name'),
133
+ conditions: Joi.array().items(conditionWrapperSchema).unique('name'),
141
134
  lists: Joi.array().items(listSchema).unique('name'),
142
135
  metadata: Joi.object({
143
136
  a: Joi.any()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Joi","CURRENT_VERSION","sectionsSchema","object","keys","name","string","required","title","hideTitle","boolean","optional","default","conditionFieldSchema","type","display","conditionValueSchema","value","relativeTimeValueSchema","timePeriod","timeUnit","direction","timeOnly","conditionRefSchema","conditionName","conditionDisplayName","coordinator","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","any","conditionsModelSchema","conditionsSchema","displayName","localisedString","a","unknown","allow","componentSchema","hint","options","rows","number","empty","maxWords","customValidationMessage","schema","min","max","length","list","nextSchema","path","condition","redirect","pageSchema","disallow","section","controller","components","next","baseListItemSchema","text","description","conditional","unique","stringListItemSchema","append","numberListItemSchema","listSchema","valid","when","is","then","otherwise","feedbackSchema","feedbackForm","url","emailAddress","email","tlds","phaseBannerSchema","phase","formDefinitionSchema","feedback","startPage","pages","sections","lists","metadata","declaration","skipSummary","phaseBanner","outputEmail","trim","Schema"],"sources":["../../../../src/form/form-definition/index.ts"],"sourcesContent":["import Joi from 'joi'\n\nimport { type ComponentType } from '~/src/components/enums.js'\nimport { type ComponentDef } from '~/src/components/types.js'\nimport {\n type ConditionRawData,\n type ConditionWrapperValue,\n type FormDefinition,\n type Item,\n type Link,\n type List,\n type Page,\n type PhaseBanner,\n type Section\n} from '~/src/form/form-definition/types.js'\n\n/**\n * If an optional key is added, CURRENT_VERSION does not need to be incremented.\n * Only breaking changes will require an increment, as well as a migration script.\n */\nexport const CURRENT_VERSION = 2\n\nconst sectionsSchema = Joi.object<Section>().keys({\n name: Joi.string().required(),\n title: Joi.string().required(),\n hideTitle: Joi.boolean().optional().default(false)\n})\n\nconst conditionFieldSchema = Joi.object().keys({\n name: Joi.string().required(),\n type: Joi.string().required(),\n display: Joi.string().required()\n})\n\nconst conditionValueSchema = Joi.object().keys({\n type: Joi.string().required(),\n value: Joi.string().required(),\n display: Joi.string().required()\n})\n\nconst relativeTimeValueSchema = Joi.object().keys({\n type: Joi.string().required(),\n timePeriod: Joi.string().required(),\n timeUnit: Joi.string().required(),\n direction: Joi.string().required(),\n timeOnly: Joi.boolean().required()\n})\n\nconst conditionRefSchema = Joi.object().keys({\n conditionName: Joi.string().required(),\n conditionDisplayName: Joi.string().required(),\n coordinator: Joi.string().optional()\n})\n\nconst conditionSchema = Joi.object().keys({\n field: conditionFieldSchema,\n operator: Joi.string().required(),\n value: Joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),\n coordinator: Joi.string().optional()\n})\n\nconst conditionGroupSchema = Joi.object().keys({\n conditions: Joi.array().items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n Joi.any() /** Should be a joi.link('#conditionGroupSchema') */\n )\n )\n})\n\nconst conditionsModelSchema = Joi.alternatives<ConditionWrapperValue>().try(\n Joi.string(),\n Joi.object().keys({\n name: Joi.string().required(),\n conditions: Joi.array().items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n conditionGroupSchema\n )\n )\n })\n)\n\nconst conditionsSchema = Joi.object<ConditionRawData>().keys({\n name: Joi.string().required(),\n displayName: Joi.string(),\n value: conditionsModelSchema.required()\n})\n\nconst localisedString = Joi.alternatives().try(\n Joi.object({ a: Joi.any() }).unknown(),\n Joi.string().allow('')\n)\n\nexport const componentSchema = Joi.object<ComponentDef>()\n .keys({\n type: Joi.string<ComponentType>().required(),\n name: Joi.string(),\n title: localisedString,\n hint: localisedString.optional(),\n options: Joi.object({\n rows: Joi.number().empty(''),\n maxWords: Joi.number().empty(''),\n customValidationMessage: Joi.string().allow('')\n })\n .default({})\n .unknown(true),\n schema: Joi.object({\n min: Joi.number().empty(''),\n max: Joi.number().empty(''),\n length: Joi.number().empty('')\n })\n .unknown(true)\n .default({}),\n list: Joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = Joi.object<Link>().keys({\n path: Joi.string().required(),\n condition: Joi.string().allow('').optional(),\n redirect: Joi.string().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = Joi.object<Page>().keys({\n path: Joi.string().required().disallow('/status'),\n title: localisedString,\n section: Joi.string(),\n controller: Joi.string().optional(),\n components: Joi.array<ComponentDef>().items(componentSchema),\n next: Joi.array<Link>().items(nextSchema)\n})\n\nconst baseListItemSchema = Joi.object<Item>().keys({\n text: localisedString,\n description: localisedString.optional(),\n conditional: Joi.object<Item['conditional']>()\n .keys({\n components: Joi.array<ComponentDef>()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .allow(null)\n .optional(),\n condition: Joi.string().allow(null, '').optional()\n})\n\nconst stringListItemSchema = baseListItemSchema.append({\n value: Joi.string().required()\n})\n\nconst numberListItemSchema = baseListItemSchema.append({\n value: Joi.number().required()\n})\n\nconst listSchema = Joi.object<List>().keys({\n name: Joi.string().required(),\n title: localisedString,\n type: Joi.string().required().valid('string', 'number'),\n items: Joi.when('type', {\n is: 'string',\n then: Joi.array()\n .items(stringListItemSchema)\n .unique('text')\n .unique('value'),\n otherwise: Joi.array()\n .items(numberListItemSchema)\n .unique('text')\n .unique('value')\n })\n})\n\nconst feedbackSchema = Joi.object<FormDefinition['feedback']>().keys({\n feedbackForm: Joi.boolean().default(false),\n url: Joi.when('feedbackForm', {\n is: Joi.boolean().valid(false),\n then: Joi.string().optional().allow('')\n }),\n emailAddress: Joi.string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = Joi.object<PhaseBanner>().keys({\n phase: Joi.string().valid('alpha', 'beta')\n})\n\n/**\n * Joi schema for `FormDefinition` interface\n * @see {@link FormDefinition}\n */\nexport const formDefinitionSchema = Joi.object<FormDefinition>()\n .required()\n .keys({\n name: localisedString.optional(),\n feedback: feedbackSchema.optional(),\n startPage: Joi.string().optional(),\n pages: Joi.array<Page>().required().items(pageSchema).unique('path'),\n sections: Joi.array<Section>()\n .items(sectionsSchema)\n .unique('name')\n .required(),\n conditions: Joi.array<ConditionRawData>()\n .items(conditionsSchema)\n .unique('name'),\n lists: Joi.array<List>().items(listSchema).unique('name'),\n metadata: Joi.object({ a: Joi.any() }).unknown().optional(),\n declaration: Joi.string().allow('').optional(),\n skipSummary: Joi.boolean().optional().default(false),\n phaseBanner: phaseBannerSchema.optional(),\n outputEmail: Joi.string()\n .email({ tlds: { allow: ['uk'] } })\n .trim()\n .optional()\n })\n\n// Maintain compatibility with legacy named export\n// E.g. `import { Schema } from '@defra/forms-model'`\nexport const Schema = formDefinitionSchema\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Joi","sectionsSchema","object","keys","name","string","required","title","hideTitle","boolean","optional","default","conditionFieldSchema","type","display","conditionValueSchema","value","relativeDateValueSchema","period","unit","direction","conditionRefSchema","conditionName","conditionDisplayName","coordinator","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","link","id","conditionsModelSchema","conditionWrapperSchema","displayName","componentSchema","allow","hint","options","rows","number","empty","maxWords","maxDaysInPast","maxDaysInFuture","customValidationMessage","unknown","schema","min","max","length","list","nextSchema","path","condition","redirect","pageSchema","disallow","section","controller","components","next","baseListItemSchema","text","description","conditional","unique","stringListItemSchema","append","numberListItemSchema","listSchema","valid","when","is","then","otherwise","feedbackSchema","feedbackForm","url","emailAddress","email","tlds","phaseBannerSchema","phase","formDefinitionSchema","feedback","startPage","pages","sections","lists","metadata","a","any","declaration","skipSummary","phaseBanner","outputEmail","trim","Schema"],"sources":["../../../../src/form/form-definition/index.ts"],"sourcesContent":["import Joi from 'joi'\n\nimport { type ComponentType } from '~/src/components/enums.js'\nimport { type ComponentDef } from '~/src/components/types.js'\nimport {\n type ConditionData,\n type ConditionFieldData,\n type ConditionGroupData,\n type ConditionRefData,\n type ConditionsModelData,\n type ConditionValueData,\n type RelativeDateValueData\n} from '~/src/conditions/types.js'\nimport {\n type ConditionWrapper,\n type FormDefinition,\n type Item,\n type Link,\n type List,\n type Page,\n type PhaseBanner,\n type Section\n} from '~/src/form/form-definition/types.js'\n\nconst sectionsSchema = Joi.object<Section>().keys({\n name: Joi.string().required(),\n title: Joi.string().required(),\n hideTitle: Joi.boolean().optional().default(false)\n})\n\nconst conditionFieldSchema = Joi.object<ConditionFieldData>().keys({\n name: Joi.string().required(),\n type: Joi.string().required(),\n display: Joi.string().required()\n})\n\nconst conditionValueSchema = Joi.object<ConditionValueData>().keys({\n type: Joi.string().required(),\n value: Joi.string().required(),\n display: Joi.string().required()\n})\n\nconst relativeDateValueSchema = Joi.object<RelativeDateValueData>().keys({\n type: Joi.string().required(),\n period: Joi.string().required(),\n unit: Joi.string().required(),\n direction: Joi.string().required()\n})\n\nconst conditionRefSchema = Joi.object<ConditionRefData>().keys({\n conditionName: Joi.string().required(),\n conditionDisplayName: Joi.string().required(),\n coordinator: Joi.string().optional()\n})\n\nconst conditionSchema = Joi.object<ConditionData>().keys({\n field: conditionFieldSchema,\n operator: Joi.string().required(),\n value: Joi.alternatives().try(conditionValueSchema, relativeDateValueSchema),\n coordinator: Joi.string().optional()\n})\n\nconst conditionGroupSchema = Joi.object<ConditionGroupData>()\n .keys({\n conditions: Joi.array().items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n Joi.link('#conditionGroupSchema')\n )\n )\n })\n .id('conditionGroupSchema')\n\nconst conditionsModelSchema = Joi.object<ConditionsModelData>().keys({\n name: Joi.string().required(),\n conditions: Joi.array().items(\n Joi.alternatives().try(\n conditionSchema,\n conditionRefSchema,\n conditionGroupSchema\n )\n )\n})\n\nconst conditionWrapperSchema = Joi.object<ConditionWrapper>().keys({\n name: Joi.string().required(),\n displayName: Joi.string(),\n value: conditionsModelSchema.required()\n})\n\nexport const componentSchema = Joi.object<ComponentDef>()\n .keys({\n type: Joi.string<ComponentType>().required(),\n name: Joi.string(),\n title: Joi.string().allow(''),\n hint: Joi.string().allow('').optional(),\n options: Joi.object({\n rows: Joi.number().empty(''),\n maxWords: Joi.number().empty(''),\n maxDaysInPast: Joi.number().empty(''),\n maxDaysInFuture: Joi.number().empty(''),\n customValidationMessage: Joi.string().allow('')\n })\n .default({})\n .unknown(true),\n schema: Joi.object({\n min: Joi.number().empty(''),\n max: Joi.number().empty(''),\n length: Joi.number().empty('')\n })\n .unknown(true)\n .default({}),\n list: Joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = Joi.object<Link>().keys({\n path: Joi.string().required(),\n condition: Joi.string().allow('').optional(),\n redirect: Joi.string().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = Joi.object<Page>().keys({\n path: Joi.string().required().disallow('/status'),\n title: Joi.string().allow(''),\n section: Joi.string(),\n controller: Joi.string().optional(),\n components: Joi.array<ComponentDef>().items(componentSchema),\n next: Joi.array<Link>().items(nextSchema)\n})\n\nconst baseListItemSchema = Joi.object<Item>().keys({\n text: Joi.string().allow(''),\n description: Joi.string().allow('').optional(),\n conditional: Joi.object<Item['conditional']>()\n .keys({\n components: Joi.array<ComponentDef>()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .optional(),\n condition: Joi.string().allow('').optional()\n})\n\nconst stringListItemSchema = baseListItemSchema.append({\n value: Joi.string().required()\n})\n\nconst numberListItemSchema = baseListItemSchema.append({\n value: Joi.number().required()\n})\n\nconst listSchema = Joi.object<List>().keys({\n name: Joi.string().required(),\n title: Joi.string().allow(''),\n type: Joi.string().required().valid('string', 'number'),\n items: Joi.when('type', {\n is: 'string',\n then: Joi.array()\n .items(stringListItemSchema)\n .unique('text')\n .unique('value'),\n otherwise: Joi.array()\n .items(numberListItemSchema)\n .unique('text')\n .unique('value')\n })\n})\n\nconst feedbackSchema = Joi.object<FormDefinition['feedback']>().keys({\n feedbackForm: Joi.boolean().default(false),\n url: Joi.when('feedbackForm', {\n is: Joi.boolean().valid(false),\n then: Joi.string().optional().allow('')\n }),\n emailAddress: Joi.string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = Joi.object<PhaseBanner>().keys({\n phase: Joi.string().valid('alpha', 'beta')\n})\n\n/**\n * Joi schema for `FormDefinition` interface\n * @see {@link FormDefinition}\n */\nexport const formDefinitionSchema = Joi.object<FormDefinition>()\n .required()\n .keys({\n name: Joi.string().allow('').optional(),\n feedback: feedbackSchema.optional(),\n startPage: Joi.string().optional(),\n pages: Joi.array<Page>().required().items(pageSchema).unique('path'),\n sections: Joi.array<Section>()\n .items(sectionsSchema)\n .unique('name')\n .required(),\n conditions: Joi.array<ConditionWrapper>()\n .items(conditionWrapperSchema)\n .unique('name'),\n lists: Joi.array<List>().items(listSchema).unique('name'),\n metadata: Joi.object({ a: Joi.any() }).unknown().optional(),\n declaration: Joi.string().allow('').optional(),\n skipSummary: Joi.boolean().optional().default(false),\n phaseBanner: phaseBannerSchema.optional(),\n outputEmail: Joi.string()\n .email({ tlds: { allow: ['uk'] } })\n .trim()\n .optional()\n })\n\n// Maintain compatibility with legacy named export\n// E.g. `import { Schema } from '@defra/forms-model'`\nexport const Schema = formDefinitionSchema\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-definition/types.ts"],"sourcesContent":["import { type ComponentDef } from '~/src/components/types.js'\nimport { type Condition } from '~/src/conditions/condition.js'\nimport { formDefinitionSchema } from '~/src/form/form-definition/index.js'\n\nexport interface Link {\n path: string\n condition?: string\n redirect?: string\n}\n\nexport interface Page {\n title: string\n path: string\n controller?: string\n components?: ComponentDef[]\n section?: string // the section ID\n next?: Link[]\n}\n\nexport interface Section {\n name: string\n title: string\n hideTitle?: boolean\n}\n\nexport interface Item {\n text: string\n value: string | number | boolean\n description?: string\n conditional?: { components: ComponentDef[] } | null\n condition?: string | null\n}\n\nexport interface List {\n name: string\n title: string\n type: 'string' | 'number' | 'boolean'\n items: Item[]\n}\n\nexport interface Feedback {\n feedbackForm?: boolean\n url?: string\n emailAddress?: string\n}\n\nexport interface PhaseBanner {\n phase?: 'alpha' | 'beta'\n feedbackUrl?: string\n}\n\nexport type ConditionWrapperValue =\n | string\n | {\n name: string\n conditions: Condition[]\n }\n\nexport interface ConditionRawData {\n name: string\n displayName: string\n value: ConditionWrapperValue\n}\n\n/**\n * Interface for `formDefinitionSchema` Joi schema\n * @see {@link formDefinitionSchema}\n */\nexport interface FormDefinition {\n pages: Page[]\n conditions: ConditionRawData[]\n lists: List[]\n sections: Section[]\n startPage?: Page['path']\n name?: string\n feedback?: Feedback\n phaseBanner?: PhaseBanner\n skipSummary?: boolean\n declaration?: string\n metadata?: Record<string, unknown>\n outputEmail?: string\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-definition/types.ts"],"sourcesContent":["import { type ComponentDef } from '~/src/components/types.js'\nimport { type ConditionsModelData } from '~/src/conditions/types.js'\nimport { formDefinitionSchema } from '~/src/form/form-definition/index.js'\n\nexport interface Link {\n path: string\n condition?: string\n redirect?: string\n}\n\nexport interface Page {\n title: string\n path: string\n controller?: string\n components?: ComponentDef[]\n section?: string // the section ID\n next?: Link[]\n}\n\nexport interface Section {\n name: string\n title: string\n hideTitle?: boolean\n}\n\nexport interface Item {\n text: string\n value: string | number | boolean\n description?: string\n conditional?: { components: ComponentDef[] }\n condition?: string\n}\n\nexport interface List {\n name: string\n title: string\n type: 'string' | 'number' | 'boolean'\n items: Item[]\n}\n\nexport interface Feedback {\n feedbackForm?: boolean\n url?: string\n emailAddress?: string\n}\n\nexport interface PhaseBanner {\n phase?: 'alpha' | 'beta'\n feedbackUrl?: string\n}\n\nexport interface ConditionWrapper {\n name: string\n displayName: string\n value: ConditionsModelData\n}\n\n/**\n * Interface for `formDefinitionSchema` Joi schema\n * @see {@link formDefinitionSchema}\n */\nexport interface FormDefinition {\n pages: Page[]\n conditions: ConditionWrapper[]\n lists: List[]\n sections: Section[]\n startPage?: Page['path']\n name?: string\n feedback?: Feedback\n phaseBanner?: PhaseBanner\n skipSummary?: boolean\n declaration?: string\n metadata?: Record<string, unknown>\n outputEmail?: string\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-metadata/types.ts"],"sourcesContent":["import { formMetadataSchema } from '~/src/form/form-metadata/index.js'\n\n/**\n * Interface for author (createdBy and updatedBy)\n */\nexport interface FormMetadataAuthor {\n /**\n * The ID of the user\n */\n id: string\n\n /**\n * The display name of the user\n */\n displayName: string\n}\n\n/**\n * Interface for metadata state (draft & live)\n */\nexport interface FormMetadataState {\n /**\n * The date the form state was created\n */\n createdAt: Date\n\n /**\n * The author who created the state\n */\n createdBy: FormMetadataAuthor\n\n /**\n * The date the form state was last updated\n */\n updatedAt: Date\n\n /**\n * The author who last updated the state\n */\n updatedBy: FormMetadataAuthor\n}\n\n/**\n * Interface for `formMetadataSchema` Joi schema\n * @see {@link formMetadataSchema}\n */\nexport interface FormMetadata {\n /**\n * The id of the form\n */\n id: string\n\n /**\n * The human-readable slug id of the form\n */\n slug: string\n\n /**\n * The human-readable title of the form\n */\n title: string\n\n /**\n * The organisation this form belongs to\n */\n organisation: string\n\n /**\n * The name of the team who own this form\n */\n teamName: string\n\n /**\n * The email of the team who own this form\n */\n teamEmail: string\n\n /**\n * The draft state of the form\n */\n draft?: FormMetadataState\n\n /**\n * The live state of the form\n */\n live?: FormMetadataState\n\n /**\n * The author who created the form\n */\n createdBy: FormMetadataState['createdBy']\n\n /**\n * The date the form was created\n */\n createdAt: FormMetadataState['createdAt']\n\n /**\n * The author who last updated the form\n */\n updatedBy: FormMetadataState['updatedBy']\n\n /**\n * The date the form was last updated\n */\n updatedAt: FormMetadataState['updatedAt']\n}\n\nexport type FormByIdInput = Pick<FormMetadata, 'id'>\nexport type FormBySlugInput = Pick<FormMetadata, 'slug'>\nexport type FormMetadataDocument = Omit<FormMetadata, 'id'>\nexport type FormMetadataInput = Pick<\n FormMetadata,\n 'title' | 'organisation' | 'teamName' | 'teamEmail'\n>\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/form/form-metadata/types.ts"],"sourcesContent":["import { formMetadataSchema } from '~/src/form/form-metadata/index.js'\n\n/**\n * Interface for author (createdBy and updatedBy)\n */\nexport interface FormMetadataAuthor {\n /**\n * The ID of the user\n */\n id: string\n\n /**\n * The display name of the user\n */\n displayName: string\n}\n\n/**\n * Interface for metadata state (draft & live)\n */\nexport interface FormMetadataState {\n /**\n * The date the form state was created\n */\n createdAt: Date\n\n /**\n * The author who created the state\n */\n createdBy: FormMetadataAuthor\n\n /**\n * The date the form state was last updated\n */\n updatedAt: Date\n\n /**\n * The author who last updated the state\n */\n updatedBy: FormMetadataAuthor\n}\n\n/**\n * Interface for `formMetadataSchema` Joi schema\n * @see {@link formMetadataSchema}\n */\nexport interface FormMetadata {\n /**\n * The id of the form\n */\n id: string\n\n /**\n * The human-readable slug id of the form\n */\n slug: string\n\n /**\n * The human-readable title of the form\n */\n title: string\n\n /**\n * The organisation this form belongs to\n */\n organisation: string\n\n /**\n * The name of the team who own this form\n */\n teamName: string\n\n /**\n * The email of the team who own this form\n */\n teamEmail: string\n\n /**\n * The draft state of the form\n */\n draft?: FormMetadataState\n\n /**\n * The live state of the form\n */\n live?: FormMetadataState\n\n /**\n * The author who created the form\n */\n createdBy: FormMetadataState['createdBy']\n\n /**\n * The date the form was created\n */\n createdAt: FormMetadataState['createdAt']\n\n /**\n * The author who last updated the form\n */\n updatedBy: FormMetadataState['updatedBy']\n\n /**\n * The date the form was last updated\n */\n updatedAt: FormMetadataState['updatedAt']\n}\n\nexport type FormByIdInput = Pick<FormMetadata, 'id'>\nexport type FormBySlugInput = Pick<FormMetadata, 'slug'>\nexport type FormMetadataDocument = Omit<FormMetadata, 'id'>\nexport type FormMetadataInput = Pick<\n FormMetadata,\n 'title' | 'organisation' | 'teamName' | 'teamEmail'\n>\n\nexport interface FormResponse {\n id: FormMetadata['id']\n slug: FormMetadata['slug']\n status: string\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAiJxC,CAAA"}
1
+ {"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAyIxC,CAAA"}
@@ -2,7 +2,6 @@ export declare enum ComponentType {
2
2
  TextField = "TextField",
3
3
  MultilineTextField = "MultilineTextField",
4
4
  YesNoField = "YesNoField",
5
- TimeField = "TimeField",
6
5
  DatePartsField = "DatePartsField",
7
6
  MonthYearField = "MonthYearField",
8
7
  SelectField = "SelectField",
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/components/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/components/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAA;AAElC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,4BAMrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,wBAAwB,CAEvC;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,aAAa,GACnB,IAAI,IAAI,wBAAwB,CAclC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,oBAAoB,CAQnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,mBAAmB,CAmBlC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,wBAAwB,CAevC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,iBAAiB,CAUhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,sBAAsB,CASrC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAGxE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAA;AAElC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,4BAMrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,wBAAwB,CAEvC;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,aAAa,GACnB,IAAI,IAAI,wBAAwB,CAclC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,oBAAoB,CAQnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,mBAAmB,CAmBlC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,wBAAwB,CAcvC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,iBAAiB,CAUhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,sBAAsB,CASrC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAGxE"}
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType } from '../components/enums.js';
2
- export type ConditionalComponentType = ComponentType.RadiosField | ComponentType.CheckboxesField | ComponentType.DatePartsField | ComponentType.EmailAddressField | ComponentType.MultilineTextField | ComponentType.NumberField | ComponentType.TextField | ComponentType.TimeField | ComponentType.YesNoField;
2
+ export type ConditionalComponentType = ComponentType.RadiosField | ComponentType.CheckboxesField | ComponentType.DatePartsField | ComponentType.EmailAddressField | ComponentType.MultilineTextField | ComponentType.NumberField | ComponentType.SelectField | ComponentType.TextField | ComponentType.YesNoField;
3
3
  /**
4
4
  * Types for Components JSON structure which are expected by engine and turned into actual form input/content/lists
5
5
  */
@@ -66,15 +66,15 @@ interface ContentFieldBase {
66
66
  schema: object;
67
67
  }
68
68
  interface DateFieldBase {
69
- type: ComponentType.DatePartsField | ComponentType.MonthYearField | ComponentType.TimeField;
69
+ type: ComponentType.DatePartsField | ComponentType.MonthYearField;
70
70
  name: string;
71
71
  title: string;
72
72
  hint?: string;
73
73
  options: {
74
74
  required?: boolean;
75
75
  optionalText?: boolean;
76
- maxDaysInFuture?: number;
77
76
  maxDaysInPast?: number;
77
+ maxDaysInFuture?: number;
78
78
  };
79
79
  schema: object;
80
80
  }
@@ -144,12 +144,6 @@ export interface MonthYearFieldComponent extends DateFieldBase {
144
144
  customValidationMessage?: string;
145
145
  };
146
146
  }
147
- export interface TimeFieldComponent extends DateFieldBase {
148
- type: ComponentType.TimeField;
149
- options: DateFieldBase['options'] & {
150
- condition?: string;
151
- };
152
- }
153
147
  export interface DetailsComponent extends ContentFieldBase {
154
148
  type: ComponentType.Details;
155
149
  }
@@ -181,14 +175,15 @@ export interface SelectFieldComponent extends ListFieldBase {
181
175
  type: ComponentType.SelectField;
182
176
  options: ListFieldBase['options'] & {
183
177
  autocomplete?: string;
178
+ condition?: string;
184
179
  };
185
180
  }
186
- export type ComponentDef = InsetTextComponent | AutocompleteFieldComponent | CheckboxesFieldComponent | DatePartsFieldFieldComponent | MonthYearFieldComponent | DetailsComponent | EmailAddressFieldComponent | HtmlComponent | ListComponent | MultilineTextFieldComponent | NumberFieldComponent | RadiosFieldComponent | SelectFieldComponent | TelephoneNumberFieldComponent | TextFieldComponent | TimeFieldComponent | UkAddressFieldComponent | YesNoFieldComponent;
187
- export type InputFieldsComponentsDef = TextFieldComponent | EmailAddressFieldComponent | NumberFieldComponent | MultilineTextFieldComponent | TelephoneNumberFieldComponent | YesNoFieldComponent | MonthYearFieldComponent | TimeFieldComponent | DatePartsFieldFieldComponent | UkAddressFieldComponent;
181
+ export type ComponentDef = InsetTextComponent | AutocompleteFieldComponent | CheckboxesFieldComponent | DatePartsFieldFieldComponent | MonthYearFieldComponent | DetailsComponent | EmailAddressFieldComponent | HtmlComponent | ListComponent | MultilineTextFieldComponent | NumberFieldComponent | RadiosFieldComponent | SelectFieldComponent | TelephoneNumberFieldComponent | TextFieldComponent | UkAddressFieldComponent | YesNoFieldComponent;
182
+ export type InputFieldsComponentsDef = TextFieldComponent | EmailAddressFieldComponent | NumberFieldComponent | MultilineTextFieldComponent | TelephoneNumberFieldComponent | YesNoFieldComponent | MonthYearFieldComponent | DatePartsFieldFieldComponent | UkAddressFieldComponent;
188
183
  export type ContentComponentsDef = DetailsComponent | HtmlComponent | InsetTextComponent;
189
184
  export type EditorComponentsDef = TextFieldComponent | EmailAddressFieldComponent | TelephoneNumberFieldComponent | MultilineTextFieldComponent | NumberFieldComponent | AutocompleteFieldComponent | SelectFieldComponent | RadiosFieldComponent | CheckboxesFieldComponent | ListComponent | DetailsComponent | HtmlComponent | InsetTextComponent | DatePartsFieldFieldComponent;
190
185
  export type ListComponentsDef = ListComponent | AutocompleteFieldComponent | CheckboxesFieldComponent | RadiosFieldComponent | SelectFieldComponent;
191
186
  export type SelectionComponentsDef = CheckboxesFieldComponent | RadiosFieldComponent | SelectFieldComponent | YesNoFieldComponent;
192
- export type ConditionalComponentsDef = CheckboxesFieldComponent | DatePartsFieldFieldComponent | EmailAddressFieldComponent | MultilineTextFieldComponent | NumberFieldComponent | TextFieldComponent | TimeFieldComponent | YesNoFieldComponent;
187
+ export type ConditionalComponentsDef = CheckboxesFieldComponent | DatePartsFieldFieldComponent | EmailAddressFieldComponent | MultilineTextFieldComponent | NumberFieldComponent | TextFieldComponent | YesNoFieldComponent;
193
188
  export {};
194
189
  //# sourceMappingURL=types.d.ts.map
@@ -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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"}