@defra/forms-model 3.0.566 → 3.0.568

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 (61) hide show
  1. package/dist/module/form/form-definition/helpers.js +12 -0
  2. package/dist/module/form/form-definition/helpers.js.map +1 -0
  3. package/dist/module/form/form-definition/index.js +31 -2
  4. package/dist/module/form/form-definition/index.js.map +1 -1
  5. package/dist/module/form/form-editor/__stubs__/preview.js +128 -1
  6. package/dist/module/form/form-editor/__stubs__/preview.js.map +1 -1
  7. package/dist/module/form/form-editor/index.js +1 -1
  8. package/dist/module/form/form-editor/index.js.map +1 -1
  9. package/dist/module/form/form-editor/macros/types.js.map +1 -1
  10. package/dist/module/form/form-editor/preview/component-elements.js +1 -0
  11. package/dist/module/form/form-editor/preview/component-elements.js.map +1 -1
  12. package/dist/module/form/form-editor/preview/helpers.js +3 -1
  13. package/dist/module/form/form-editor/preview/helpers.js.map +1 -1
  14. package/dist/module/form/form-editor/preview/number-only.js +75 -3
  15. package/dist/module/form/form-editor/preview/number-only.js.map +1 -1
  16. package/dist/module/form/form-editor/preview/question.js +30 -3
  17. package/dist/module/form/form-editor/preview/question.js.map +1 -1
  18. package/dist/module/form/form-editor/preview/types.js.map +1 -1
  19. package/dist/module/form/form-manager/errors.js +23 -0
  20. package/dist/module/form/form-manager/errors.js.map +1 -1
  21. package/dist/module/form/form-manager/types.js +6 -0
  22. package/dist/module/form/form-manager/types.js.map +1 -1
  23. package/dist/module/index.js +1 -0
  24. package/dist/module/index.js.map +1 -1
  25. package/dist/types/form/form-definition/helpers.d.ts +8 -0
  26. package/dist/types/form/form-definition/helpers.d.ts.map +1 -0
  27. package/dist/types/form/form-definition/index.d.ts.map +1 -1
  28. package/dist/types/form/form-editor/__stubs__/preview.d.ts +71 -1
  29. package/dist/types/form/form-editor/__stubs__/preview.d.ts.map +1 -1
  30. package/dist/types/form/form-editor/index.d.ts.map +1 -1
  31. package/dist/types/form/form-editor/macros/types.d.ts +7 -0
  32. package/dist/types/form/form-editor/macros/types.d.ts.map +1 -1
  33. package/dist/types/form/form-editor/preview/component-elements.d.ts.map +1 -1
  34. package/dist/types/form/form-editor/preview/helpers.d.ts.map +1 -1
  35. package/dist/types/form/form-editor/preview/number-only.d.ts +123 -0
  36. package/dist/types/form/form-editor/preview/number-only.d.ts.map +1 -1
  37. package/dist/types/form/form-editor/preview/question.d.ts +13 -0
  38. package/dist/types/form/form-editor/preview/question.d.ts.map +1 -1
  39. package/dist/types/form/form-editor/preview/types.d.ts +8 -0
  40. package/dist/types/form/form-editor/preview/types.d.ts.map +1 -1
  41. package/dist/types/form/form-editor/preview/uk-address.d.ts +7 -0
  42. package/dist/types/form/form-editor/preview/uk-address.d.ts.map +1 -1
  43. package/dist/types/form/form-manager/errors.d.ts.map +1 -1
  44. package/dist/types/form/form-manager/types.d.ts +17 -1
  45. package/dist/types/form/form-manager/types.d.ts.map +1 -1
  46. package/dist/types/index.d.ts +1 -0
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/form/form-definition/helpers.ts +17 -0
  50. package/src/form/form-definition/index.ts +53 -3
  51. package/src/form/form-editor/__stubs__/preview.js +130 -1
  52. package/src/form/form-editor/index.ts +4 -1
  53. package/src/form/form-editor/macros/types.ts +3 -0
  54. package/src/form/form-editor/preview/component-elements.js +4 -0
  55. package/src/form/form-editor/preview/helpers.js +6 -1
  56. package/src/form/form-editor/preview/number-only.js +72 -3
  57. package/src/form/form-editor/preview/question.js +33 -3
  58. package/src/form/form-editor/preview/types.ts +10 -0
  59. package/src/form/form-manager/errors.ts +30 -0
  60. package/src/form/form-manager/types.ts +23 -1
  61. package/src/index.ts +1 -0
@@ -19,7 +19,8 @@ export interface AddComponentQueryOptions {
19
19
  export enum FormDefinitionErrorType {
20
20
  Unique = 'unique', // Unique constraint
21
21
  Ref = 'ref', // Referential integrity
22
- Type = 'type' // General schema type error
22
+ Type = 'type', // General schema type error
23
+ Incompatible = 'incompatible' // Data values/types that are not compatible
23
24
  }
24
25
 
25
26
  // Enum for errors that can exist in a form definition
@@ -44,6 +45,7 @@ export enum FormDefinitionError {
44
45
  RefConditionItemId = 'ref_condition_item_id',
45
46
  RefConditionConditionId = 'ref_condition_condition_id',
46
47
  RefPageComponentList = 'ref_page_component_list',
48
+ IncompatibleConditionComponentType = 'incompatible_condition_component_type',
47
49
  Other = 'other'
48
50
  }
49
51
 
@@ -136,6 +138,10 @@ export const formDefinitionErrors: FormDefinitionErrors = {
136
138
  key: 'list',
137
139
  type: FormDefinitionErrorType.Ref
138
140
  },
141
+ [FormDefinitionError.IncompatibleConditionComponentType]: {
142
+ key: 'componentId',
143
+ type: FormDefinitionErrorType.Incompatible
144
+ },
139
145
  [FormDefinitionError.Other]: {
140
146
  key: '',
141
147
  type: FormDefinitionErrorType.Type
@@ -154,6 +160,16 @@ export interface FormDefinitionErrorCauseDetailRef {
154
160
  path: FormDefinitionErrorCauseDetailPath
155
161
  }
156
162
 
163
+ export interface FormDefinitionErrorCauseDetailIncompatible {
164
+ path: FormDefinitionErrorCauseDetailPath
165
+ valueKey?: string
166
+ incompatibleObject: {
167
+ key?: string
168
+ value?: unknown
169
+ }
170
+ reason: string
171
+ }
172
+
157
173
  export type FormDefinitionErrorCause =
158
174
  | {
159
175
  id: FormDefinitionError
@@ -173,3 +189,9 @@ export type FormDefinitionErrorCause =
173
189
  message: string
174
190
  detail: Context | undefined
175
191
  }
192
+ | {
193
+ id: FormDefinitionError
194
+ type: FormDefinitionErrorType.Incompatible
195
+ message: string
196
+ detail: FormDefinitionErrorCauseDetailIncompatible
197
+ }
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ export * from '~/src/components/index.js'
8
8
  export * from '~/src/conditions/index.js'
9
9
  export * from '~/src/form/form-definition/index.js'
10
10
  export * from '~/src/form/form-definition/types.js'
11
+ export * from '~/src/form/form-definition/helpers.js'
11
12
  export * from '~/src/form/form-metadata/index.js'
12
13
  export * from '~/src/form/form-submission/index.js'
13
14
  export * from '~/src/form/form-submission/enums.js'