@researchdatabox/sails-ng-common 0.2.0 → 5.0.0-RC1

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 (237) hide show
  1. package/dist/src/config/base-field-component.model.d.ts +26 -0
  2. package/dist/src/config/base-field-component.model.js +29 -0
  3. package/dist/src/config/base-field-component.outline.d.ts +108 -0
  4. package/dist/src/config/base-field-component.outline.js +3 -0
  5. package/dist/src/config/component/accordion.model.d.ts +103 -0
  6. package/dist/src/config/component/accordion.model.js +127 -0
  7. package/dist/src/config/component/accordion.outline.d.ts +162 -0
  8. package/dist/src/config/component/accordion.outline.js +13 -0
  9. package/dist/src/config/component/action-row-layout.model.d.ts +28 -0
  10. package/dist/src/config/component/action-row-layout.model.js +35 -0
  11. package/dist/src/config/component/action-row-layout.outline.d.ts +36 -0
  12. package/dist/src/config/component/action-row-layout.outline.js +6 -0
  13. package/dist/src/config/component/cancel-button.model.d.ts +48 -0
  14. package/dist/src/config/component/cancel-button.model.js +58 -0
  15. package/dist/src/config/component/cancel-button.outline.d.ts +85 -0
  16. package/dist/src/config/component/cancel-button.outline.js +6 -0
  17. package/dist/src/config/component/checkbox-input.model.d.ts +67 -0
  18. package/dist/src/config/component/checkbox-input.model.js +79 -0
  19. package/dist/src/config/component/checkbox-input.outline.d.ts +93 -0
  20. package/dist/src/config/component/checkbox-input.outline.js +8 -0
  21. package/dist/src/config/component/checkbox-tree.model.d.ts +68 -0
  22. package/dist/src/config/component/checkbox-tree.model.js +80 -0
  23. package/dist/src/config/component/checkbox-tree.outline.d.ts +105 -0
  24. package/dist/src/config/component/checkbox-tree.outline.js +8 -0
  25. package/dist/src/config/component/content.model.d.ts +46 -0
  26. package/dist/src/config/component/content.model.js +56 -0
  27. package/dist/src/config/component/content.outline.d.ts +74 -0
  28. package/dist/src/config/component/content.outline.js +6 -0
  29. package/dist/src/config/component/data-location.model.d.ts +83 -0
  30. package/dist/src/config/component/data-location.model.js +95 -0
  31. package/dist/src/config/component/data-location.outline.d.ts +124 -0
  32. package/dist/src/config/component/data-location.outline.js +6 -0
  33. package/dist/src/config/component/date-input.model.d.ts +67 -0
  34. package/dist/src/config/component/date-input.model.js +80 -0
  35. package/dist/src/config/component/date-input.outline.d.ts +88 -0
  36. package/dist/src/config/component/date-input.outline.js +8 -0
  37. package/dist/src/config/component/default-layout.model.d.ts +22 -0
  38. package/dist/src/config/component/default-layout.model.js +30 -0
  39. package/dist/src/config/component/default-layout.outline.d.ts +29 -0
  40. package/dist/src/config/component/default-layout.outline.js +5 -0
  41. package/dist/src/config/component/delete-button.model.d.ts +46 -0
  42. package/dist/src/config/component/delete-button.model.js +48 -0
  43. package/dist/src/config/component/delete-button.outline.d.ts +89 -0
  44. package/dist/src/config/component/delete-button.outline.js +5 -0
  45. package/dist/src/config/component/dropdown-input.model.d.ts +65 -0
  46. package/dist/src/config/component/dropdown-input.model.js +78 -0
  47. package/dist/src/config/component/dropdown-input.outline.d.ts +92 -0
  48. package/dist/src/config/component/dropdown-input.outline.js +8 -0
  49. package/dist/src/config/component/file-upload.model.d.ts +67 -0
  50. package/dist/src/config/component/file-upload.model.js +81 -0
  51. package/dist/src/config/component/file-upload.outline.d.ts +99 -0
  52. package/dist/src/config/component/file-upload.outline.js +8 -0
  53. package/dist/src/config/component/group.model.d.ts +61 -0
  54. package/dist/src/config/component/group.model.js +75 -0
  55. package/dist/src/config/component/group.outline.d.ts +83 -0
  56. package/dist/src/config/component/group.outline.js +8 -0
  57. package/dist/src/config/component/inline-layout.model.d.ts +22 -0
  58. package/dist/src/config/component/inline-layout.model.js +29 -0
  59. package/dist/src/config/component/inline-layout.outline.d.ts +29 -0
  60. package/dist/src/config/component/inline-layout.outline.js +5 -0
  61. package/dist/src/config/component/integration-status.model.d.ts +49 -0
  62. package/dist/src/config/component/integration-status.model.js +65 -0
  63. package/dist/src/config/component/integration-status.outline.d.ts +61 -0
  64. package/dist/src/config/component/integration-status.outline.js +5 -0
  65. package/dist/src/config/component/map.model.d.ts +69 -0
  66. package/dist/src/config/component/map.model.js +86 -0
  67. package/dist/src/config/component/map.outline.d.ts +110 -0
  68. package/dist/src/config/component/map.outline.js +8 -0
  69. package/dist/src/config/component/pdf-list.model.d.ts +68 -0
  70. package/dist/src/config/component/pdf-list.model.js +71 -0
  71. package/dist/src/config/component/pdf-list.outline.d.ts +97 -0
  72. package/dist/src/config/component/pdf-list.outline.js +6 -0
  73. package/dist/src/config/component/publish-data-location-refresh.model.d.ts +39 -0
  74. package/dist/src/config/component/publish-data-location-refresh.model.js +52 -0
  75. package/dist/src/config/component/publish-data-location-refresh.outline.d.ts +58 -0
  76. package/dist/src/config/component/publish-data-location-refresh.outline.js +5 -0
  77. package/dist/src/config/component/publish-data-location-selector.model.d.ts +78 -0
  78. package/dist/src/config/component/publish-data-location-selector.model.js +104 -0
  79. package/dist/src/config/component/publish-data-location-selector.outline.d.ts +110 -0
  80. package/dist/src/config/component/publish-data-location-selector.outline.js +6 -0
  81. package/dist/src/config/component/question-tree.helper.d.ts +58 -0
  82. package/dist/src/config/component/question-tree.helper.js +291 -0
  83. package/dist/src/config/component/question-tree.model.d.ts +64 -0
  84. package/dist/src/config/component/question-tree.model.js +80 -0
  85. package/dist/src/config/component/question-tree.outline.d.ts +314 -0
  86. package/dist/src/config/component/question-tree.outline.js +9 -0
  87. package/dist/src/config/component/radio-input.model.d.ts +65 -0
  88. package/dist/src/config/component/radio-input.model.js +77 -0
  89. package/dist/src/config/component/radio-input.outline.d.ts +91 -0
  90. package/dist/src/config/component/radio-input.outline.js +8 -0
  91. package/dist/src/config/component/record-metadata-retriever.model.d.ts +41 -0
  92. package/dist/src/config/component/record-metadata-retriever.model.js +57 -0
  93. package/dist/src/config/component/record-metadata-retriever.outline.d.ts +53 -0
  94. package/dist/src/config/component/record-metadata-retriever.outline.js +5 -0
  95. package/dist/src/config/component/record-selector.model.d.ts +61 -0
  96. package/dist/src/config/component/record-selector.model.js +61 -0
  97. package/dist/src/config/component/record-selector.outline.d.ts +91 -0
  98. package/dist/src/config/component/record-selector.outline.js +6 -0
  99. package/dist/src/config/component/repeatable.model.d.ts +91 -0
  100. package/dist/src/config/component/repeatable.model.js +112 -0
  101. package/dist/src/config/component/repeatable.outline.d.ts +115 -0
  102. package/dist/src/config/component/repeatable.outline.js +10 -0
  103. package/dist/src/config/component/reusable.model.d.ts +42 -0
  104. package/dist/src/config/component/reusable.model.js +57 -0
  105. package/dist/src/config/component/reusable.outline.d.ts +55 -0
  106. package/dist/src/config/component/reusable.outline.js +6 -0
  107. package/dist/src/config/component/rich-text-editor.model.d.ts +65 -0
  108. package/dist/src/config/component/rich-text-editor.model.js +79 -0
  109. package/dist/src/config/component/rich-text-editor.outline.d.ts +92 -0
  110. package/dist/src/config/component/rich-text-editor.outline.js +8 -0
  111. package/dist/src/config/component/save-button.model.d.ts +49 -0
  112. package/dist/src/config/component/save-button.model.js +59 -0
  113. package/dist/src/config/component/save-button.outline.d.ts +90 -0
  114. package/dist/src/config/component/save-button.outline.js +6 -0
  115. package/dist/src/config/component/save-status.model.d.ts +42 -0
  116. package/dist/src/config/component/save-status.model.js +60 -0
  117. package/dist/src/config/component/save-status.outline.d.ts +58 -0
  118. package/dist/src/config/component/save-status.outline.js +6 -0
  119. package/dist/src/config/component/simple-input.model.d.ts +62 -0
  120. package/dist/src/config/component/simple-input.model.js +75 -0
  121. package/dist/src/config/component/simple-input.outline.d.ts +86 -0
  122. package/dist/src/config/component/simple-input.outline.js +9 -0
  123. package/dist/src/config/component/suggested-validation-summary.model.d.ts +45 -0
  124. package/dist/src/config/component/suggested-validation-summary.model.js +61 -0
  125. package/dist/src/config/component/suggested-validation-summary.outline.d.ts +57 -0
  126. package/dist/src/config/component/suggested-validation-summary.outline.js +5 -0
  127. package/dist/src/config/component/tab-content.model.d.ts +63 -0
  128. package/dist/src/config/component/tab-content.model.js +77 -0
  129. package/dist/src/config/component/tab-content.outline.d.ts +98 -0
  130. package/dist/src/config/component/tab-content.outline.js +8 -0
  131. package/dist/src/config/component/tab-nav-button.model.d.ts +45 -0
  132. package/dist/src/config/component/tab-nav-button.model.js +55 -0
  133. package/dist/src/config/component/tab-nav-button.outline.d.ts +70 -0
  134. package/dist/src/config/component/tab-nav-button.outline.js +6 -0
  135. package/dist/src/config/component/tab.model.d.ts +71 -0
  136. package/dist/src/config/component/tab.model.js +84 -0
  137. package/dist/src/config/component/tab.outline.d.ts +112 -0
  138. package/dist/src/config/component/tab.outline.js +9 -0
  139. package/dist/src/config/component/text-area.model.d.ts +63 -0
  140. package/dist/src/config/component/text-area.model.js +76 -0
  141. package/dist/src/config/component/text-area.outline.d.ts +87 -0
  142. package/dist/src/config/component/text-area.outline.js +8 -0
  143. package/dist/src/config/component/typeahead-input.model.d.ts +83 -0
  144. package/dist/src/config/component/typeahead-input.model.js +97 -0
  145. package/dist/src/config/component/typeahead-input.outline.d.ts +199 -0
  146. package/dist/src/config/component/typeahead-input.outline.js +10 -0
  147. package/dist/src/config/component/validation-summary.model.d.ts +42 -0
  148. package/dist/src/config/component/validation-summary.model.js +60 -0
  149. package/dist/src/config/component/validation-summary.outline.d.ts +63 -0
  150. package/dist/src/config/component/validation-summary.outline.js +6 -0
  151. package/dist/src/config/dictionary.model.d.ts +648 -0
  152. package/dist/src/config/dictionary.model.js +181 -0
  153. package/dist/src/config/dictionary.outline.d.ts +96 -0
  154. package/dist/src/config/dictionary.outline.js +3 -0
  155. package/dist/src/config/field-component.model.d.ts +7 -0
  156. package/dist/src/config/field-component.model.js +11 -0
  157. package/dist/src/config/field-component.outline.d.ts +20 -0
  158. package/dist/src/config/field-component.outline.js +3 -0
  159. package/dist/src/config/field-layout.model.d.ts +19 -0
  160. package/dist/src/config/field-layout.model.js +23 -0
  161. package/dist/src/config/field-layout.outline.d.ts +42 -0
  162. package/dist/src/config/field-layout.outline.js +3 -0
  163. package/dist/src/config/field-model.model.d.ts +21 -0
  164. package/dist/src/config/field-model.model.js +24 -0
  165. package/dist/src/config/field-model.outline.d.ts +63 -0
  166. package/dist/src/config/field-model.outline.js +3 -0
  167. package/dist/src/config/field.model.d.ts +12 -0
  168. package/dist/src/config/field.model.js +12 -0
  169. package/dist/src/config/field.outline.d.ts +19 -0
  170. package/dist/src/config/field.outline.js +3 -0
  171. package/dist/src/config/form-behaviour.outline.d.ts +128 -0
  172. package/dist/src/config/form-behaviour.outline.js +40 -0
  173. package/dist/src/config/form-component.model.d.ts +38 -0
  174. package/dist/src/config/form-component.model.js +36 -0
  175. package/dist/src/config/form-component.outline.d.ts +305 -0
  176. package/dist/src/config/form-component.outline.js +27 -0
  177. package/dist/src/config/form-config.model.d.ts +33 -0
  178. package/dist/src/config/form-config.model.js +36 -0
  179. package/dist/src/config/form-config.outline.d.ts +111 -0
  180. package/dist/src/config/form-config.outline.js +3 -0
  181. package/dist/src/config/form-override.model.d.ts +146 -0
  182. package/dist/src/config/form-override.model.js +1523 -0
  183. package/dist/src/config/form-override.outline.d.ts +15 -0
  184. package/dist/src/config/form-override.outline.js +3 -0
  185. package/dist/src/config/form-prehydrate.outline.d.ts +17 -0
  186. package/dist/src/config/form-prehydrate.outline.js +5 -0
  187. package/dist/src/config/form-types.model.d.ts +6 -0
  188. package/dist/src/config/form-types.model.js +23 -0
  189. package/dist/src/config/form-types.outline.d.ts +48 -0
  190. package/dist/src/config/form-types.outline.js +137 -0
  191. package/dist/src/config/helpers.d.ts +31 -0
  192. package/dist/src/config/helpers.js +122 -0
  193. package/dist/src/config/names/naming-helpers.d.ts +112 -0
  194. package/dist/src/config/names/naming-helpers.js +188 -0
  195. package/dist/src/config/names/query-helpers.d.ts +43 -0
  196. package/dist/src/config/names/query-helpers.js +59 -0
  197. package/dist/src/config/shared.outline.d.ts +54 -0
  198. package/dist/src/config/shared.outline.js +41 -0
  199. package/dist/src/config/visitor/base.model.d.ts +143 -0
  200. package/dist/src/config/visitor/base.model.js +336 -0
  201. package/dist/src/config/visitor/base.outline.d.ts +146 -0
  202. package/dist/src/config/visitor/base.outline.js +3 -0
  203. package/dist/src/config/visitor/common.model.d.ts +119 -0
  204. package/dist/src/config/visitor/common.model.js +422 -0
  205. package/dist/src/date-format-helpers.d.ts +1 -0
  206. package/dist/src/date-format-helpers.js +21 -0
  207. package/dist/src/handlebars-helpers.d.ts +258 -0
  208. package/dist/src/handlebars-helpers.js +715 -0
  209. package/dist/src/html-helpers.d.ts +15 -0
  210. package/dist/src/html-helpers.js +42 -0
  211. package/dist/src/index.d.ts +118 -3
  212. package/dist/src/index.js +127 -2
  213. package/dist/src/jsonata-helpers.d.ts +40 -0
  214. package/dist/src/jsonata-helpers.js +118 -0
  215. package/dist/src/logger.interface.d.ts +14 -0
  216. package/dist/src/logger.interface.js +3 -0
  217. package/dist/src/record.model.d.ts +23 -0
  218. package/dist/src/record.model.js +19 -1
  219. package/dist/src/report.model.d.ts +46 -0
  220. package/dist/src/status.model.d.ts +22 -0
  221. package/dist/src/status.model.js +28 -0
  222. package/dist/src/template.outline.d.ts +82 -0
  223. package/dist/src/template.outline.js +14 -0
  224. package/dist/src/translation-helpers.d.ts +26 -0
  225. package/dist/src/translation-helpers.js +71 -0
  226. package/dist/src/validation/form.model.d.ts +306 -24
  227. package/dist/src/validation/form.model.js +29 -1
  228. package/dist/src/validation/helpers.d.ts +15 -7
  229. package/dist/src/validation/helpers.js +49 -13
  230. package/dist/src/validation/validators-support.d.ts +39 -2
  231. package/dist/src/validation/validators-support.js +162 -12
  232. package/dist/src/validation/validators.d.ts +28 -0
  233. package/dist/src/validation/validators.js +531 -0
  234. package/package.json +51 -34
  235. package/LICENSE +0 -674
  236. package/dist/src/validation/index.d.ts +0 -1
  237. package/dist/src/validation/index.js +0 -18
@@ -0,0 +1,111 @@
1
+ import { FormValidationGroups, FormValidatorTargetFieldConfig } from '../validation/form.model';
2
+ import { AvailableFormComponentDefinitionFrames, AvailableFormComponentDefinitionOutlines } from './dictionary.outline';
3
+ import { CanVisit } from './visitor/base.outline';
4
+ import { KeyValueStringNested, KeyValueStringProperty } from './shared.outline';
5
+ import { FormExpressionsConfigOutline } from './form-component.outline';
6
+ import { FormBehaviourConfigFrame } from './form-behaviour.outline';
7
+ /**
8
+ * The top-level form config interface that provides typing for the object literal and schema.
9
+ *
10
+ * @extensionPoint Hook form registrations provide objects conforming to this contract; component definitions must use registered component, model, and layout class names.
11
+ * @remarks The generated JSON Schema validates the serializable frame. Runtime construction also applies defaults and visitor transformations.
12
+ * @see https://github.com/redbox-mint/redbox-portal/wiki/Configuring-Record-Forms
13
+ */
14
+ export interface FormConfigFrame {
15
+ /**
16
+ * optional form name, will be used to identify the form in the config
17
+ */
18
+ name: string;
19
+ /**
20
+ * the record type
21
+ */
22
+ type?: string;
23
+ /**
24
+ * the dom element type to inject, e.g. div, span, etc. leave empty to use 'ng-container'
25
+ */
26
+ domElementType?: string;
27
+ /**
28
+ * optional form dom id property. When set, value will be injected into the overall dom node
29
+ */
30
+ domId?: string;
31
+ /**
32
+ * the optional css clases to be applied to the form dom node in view / read-only mode
33
+ */
34
+ viewCssClasses?: KeyValueStringProperty;
35
+ /**
36
+ * the optional css clases to be applied to the form dom node in edit mode
37
+ */
38
+ editCssClasses?: KeyValueStringProperty;
39
+ /**
40
+ * optional configuration to set in each component
41
+ */
42
+ defaultComponentConfig?: KeyValueStringNested;
43
+ /**
44
+ * The validation groups to enable for the form.
45
+ * The validation groups will be set as part of loading the form.
46
+ * Default ["all"] if none specified.
47
+ *
48
+ * In the angular form:
49
+ * - The available validation groups cannot change.
50
+ * - The groups a validator belongs to cannot change.
51
+ * - The currently enabled validation groups can change.
52
+ *
53
+ * It is possible to change the enabled validation groups after the form has loaded.
54
+ * This is done by changing this property in the Form Component config.
55
+ * Use component expressions with target 'form.enabledValidationGroups' to trigger the event.
56
+ *
57
+ * Use Cases for whether a validator is enabled or disabled in the angular form.
58
+ *
59
+ * Must change as the user is interacting with the form:
60
+ * - Enabled only when a component is visible (or hidden), and disabled otherwise.
61
+ * - Enabled based on the value in another component.
62
+ * - Enabled when a particular system integration / external state is activated or changed, and disabled otherwise.
63
+ *
64
+ * Change based on state provided from the server that does not change in the angular form:
65
+ * - Disabled for a new form, but enabled for a saved form.
66
+ * - Enabled for some workflow stages, but disabled in other stages.
67
+ */
68
+ enabledValidationGroups?: string[];
69
+ /**
70
+ * The validators that are configured at the form level, usually because they involve two or more fields.
71
+ */
72
+ validators?: FormValidatorTargetFieldConfig[];
73
+ /**
74
+ * The validation groups available in this form.
75
+ * These are the only validation group names that can be used in the validator config.
76
+ */
77
+ validationGroups?: FormValidationGroups;
78
+ /**
79
+ * TODO: the default layout component
80
+ */
81
+ defaultLayoutComponent?: string;
82
+ /**
83
+ * the components of this form
84
+ */
85
+ componentDefinitions: AvailableFormComponentDefinitionFrames[];
86
+ /**
87
+ * debug: show the form JSON
88
+ * Default false.
89
+ */
90
+ debugValue?: boolean;
91
+ /**
92
+ * A record with string keys and expression template values for defining expressions.
93
+ */
94
+ expressions?: FormExpressionsConfigOutline[];
95
+ /**
96
+ * Form-level automation rules introduced by the form behaviours v1 feature.
97
+ *
98
+ * Behaviours complement, rather than replace, component expressions:
99
+ * expressions remain component-scoped and mostly synchronous, while behaviours
100
+ * operate at form scope and may run async processor/action pipelines.
101
+ */
102
+ behaviours?: FormBehaviourConfigFrame[];
103
+ /**
104
+ * The list of fields that are attachments.
105
+ * This is automatically populated by the form config visitor.
106
+ */
107
+ attachmentFields?: string[];
108
+ }
109
+ export interface FormConfigOutline extends FormConfigFrame, CanVisit {
110
+ componentDefinitions: AvailableFormComponentDefinitionOutlines[];
111
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb25maWcub3V0bGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvZm9ybS1jb25maWcub3V0bGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,146 @@
1
+ import { AllFormComponentDefinitionOutlines, AvailableFormComponentDefinitionFrames, ReusableFormDefinitions } from './dictionary.outline';
2
+ import { ReusableFormComponentDefinitionFrame } from './component/reusable.outline';
3
+ import { FormModesConfig } from './shared.outline';
4
+ import { ILogger } from '../logger.interface';
5
+ import { QuestionTreeFieldComponentDefinitionOutline } from './component/question-tree.outline';
6
+ import { LineagePaths } from './names/naming-helpers';
7
+ export declare class FormOverride {
8
+ private logName;
9
+ private propertiesHelper;
10
+ private logger;
11
+ private activeReusableFormDefs;
12
+ private readonly reusableFragmentSlotNames;
13
+ private readonly reusableViewTemplateKeys;
14
+ private readonly linkLeafFallbackTemplate;
15
+ private readonly dataLocationLeafFallbackTemplate;
16
+ private readonly pdfListLeafFallbackTemplate;
17
+ private readonly publishDataLocationSelectorLeafFallbackTemplate;
18
+ private readonly questionTreeHelper;
19
+ private readonly forcedViewTransformOverrideKey;
20
+ constructor(logger: ILogger);
21
+ /**
22
+ * Defines the known transforms between two form components.
23
+ * @private
24
+ */
25
+ private knownTransforms;
26
+ /**
27
+ * Specifies the 'default' transforms that will be done without needing to be specified.
28
+ * The defaults can be overridden by specifying the transform in overrides.formModeClasses.
29
+ * @private
30
+ */
31
+ private defaultTransforms;
32
+ private readonly tableCompatibleLeafComponentNames;
33
+ hasDefaultViewTransform(className: string | undefined): boolean;
34
+ /**
35
+ * Apply any reusable form configs in the form component definitions.
36
+ * @param items The form component definitions.
37
+ * @param reusableFormDefs
38
+ * @protected
39
+ */
40
+ applyOverridesReusable(items: AvailableFormComponentDefinitionFrames[], reusableFormDefs: ReusableFormDefinitions, visitedReusableFormNames?: Set<string>): AvailableFormComponentDefinitionFrames[];
41
+ /**
42
+ * Expand a reusable form config definition to the actual form component definition(s).
43
+ * @param item The reusable form component definition.
44
+ * @param reusableFormDefs
45
+ * @protected
46
+ */
47
+ protected applyOverrideReusableExpand(item: ReusableFormComponentDefinitionFrame, reusableFormDefs: ReusableFormDefinitions, visitedReusableFormNames?: Set<string>): AvailableFormComponentDefinitionFrames[];
48
+ /**
49
+ * Apply any overrides that transform a component into another component.
50
+ * @param source The original component.
51
+ * @param formMode The current form mode.
52
+ * @param options Additional options for applying override transforms.
53
+ * @param options.phase The phase of the form config processing to run.
54
+ * @param options.reusableFormDefs The available reusable form definitions.
55
+ * @param options.removeOverrides True to remove all overrides, false to retain the overrides that the client visitor might use.
56
+ * @returns The transformed form component.
57
+ */
58
+ applyOverrideTransform(source: AllFormComponentDefinitionOutlines, formMode: FormModesConfig, options?: {
59
+ phase?: 'construct' | 'client';
60
+ reusableFormDefs?: ReusableFormDefinitions;
61
+ removeOverrides?: boolean;
62
+ }): AllFormComponentDefinitionOutlines;
63
+ /**
64
+ * Create reusable components from the question tree questions DSL.
65
+ * @param name The form component name.
66
+ * @param lineagePath The form component lineage path.
67
+ * @param item The question tree component.
68
+ * @param modelData The question tree model data.
69
+ * @private
70
+ */
71
+ applyQuestionTreeDsl(name: string | null, lineagePath: LineagePaths, item: QuestionTreeFieldComponentDefinitionOutline, modelData?: unknown): AvailableFormComponentDefinitionFrames[];
72
+ /**
73
+ * Check that only the allowed form component frames have been used.
74
+ * @param items The form components after reusable components have been applied.
75
+ * @private
76
+ */
77
+ applyQuestionTreeFrames(items: AvailableFormComponentDefinitionFrames[]): AvailableFormComponentDefinitionFrames[];
78
+ private resolveReusableViewTemplate;
79
+ private substituteReusableTemplateSlots;
80
+ private sourceSimpleInputComponentTargetContentComponent;
81
+ private sourceTextAreaComponentTargetContentComponent;
82
+ private sourceDropdownInputComponentTargetContentComponent;
83
+ private sourceCheckboxInputComponentTargetContentComponent;
84
+ private sourceRadioInputComponentTargetContentComponent;
85
+ private sourceDateInputComponentTargetContentComponent;
86
+ private sourceTypeaheadInputComponentTargetContentComponent;
87
+ private resolveTypeaheadContentValue;
88
+ private getConfiguredTypeaheadStoredValue;
89
+ private getTypeaheadOptionObjectFields;
90
+ private isConfiguredTypeaheadLabelField;
91
+ private isConfiguredTypeaheadValueField;
92
+ private sourceRichTextEditorComponentTargetContentComponent;
93
+ private resolveDateInputFormat;
94
+ private resolveRichTextOutputFormat;
95
+ private sourceFileUploadComponentTargetContentComponent;
96
+ private sourceDataLocationComponentTargetContentComponent;
97
+ private sourcePDFListComponentTargetContentComponent;
98
+ private sourcePublishDataLocationSelectorComponentTargetContentComponent;
99
+ private sourceCheckboxTreeComponentTargetContentComponent;
100
+ private sourceQuestionTreeComponentTargetContentComponent;
101
+ private isDeepEmpty;
102
+ private buildQuestionTreeViewRows;
103
+ private normaliseQuestionTreeAnswerValues;
104
+ private resolveQuestionTreeQuestionLabel;
105
+ private resolveQuestionTreeAnswerLabel;
106
+ private resolveQuestionTreeAnswerLabelFromConfig;
107
+ private sourceRepeatableComponentTargetContentComponent;
108
+ private extractDescendantValues;
109
+ private pruneGroupValue;
110
+ private sourceGroupComponentTargetContentComponent;
111
+ private generateTemplateForComponent;
112
+ private generateRepeatableTemplate;
113
+ private generateGroupTemplate;
114
+ private renderRepeatableTable;
115
+ private renderRepeatableFallback;
116
+ private effectiveViewTargetsContentComponent;
117
+ private renderComponentBody;
118
+ private renderLabelValueRow;
119
+ private renderLeafValue;
120
+ private renderDateInputValue;
121
+ private renderRichTextEditorValue;
122
+ private renderTypeaheadValue;
123
+ private renderTypeaheadScalarValue;
124
+ private renderDisplayValue;
125
+ private renderDisplayScalarValue;
126
+ private getTypeaheadDisplayFields;
127
+ private getCommonDisplayFields;
128
+ private getOptionLabelPairs;
129
+ private renderOptionSingleValue;
130
+ private renderOptionListValue;
131
+ private getGroupChildren;
132
+ private isViewRenderableComponent;
133
+ private getRenderableGroupChildren;
134
+ private isTableEligibleGroupChildren;
135
+ private resolveTranslatedLabel;
136
+ private safeValueExpression;
137
+ private buildNestedExpression;
138
+ private escapeForHandlebarsLiteral;
139
+ private sourceTabComponentTargetAccordionComponent;
140
+ private isModeAllowed;
141
+ private hasExplicitAllowedMode;
142
+ private forceAllowModeForTransformedTree;
143
+ private commonContentComponent;
144
+ private commonContentOptionList;
145
+ private commonContentPlain;
146
+ }