@formio/js 5.0.0-rc.52 → 5.0.0-rc.54

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. package/dist/formio.embed.js +1 -1
  2. package/dist/formio.embed.min.js +1 -1
  3. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  4. package/dist/formio.form.js +551 -541
  5. package/dist/formio.form.min.js +1 -1
  6. package/dist/formio.form.min.js.LICENSE.txt +3 -1
  7. package/dist/formio.full.js +553 -543
  8. package/dist/formio.full.min.js +1 -1
  9. package/dist/formio.full.min.js.LICENSE.txt +3 -1
  10. package/dist/formio.js +10 -10
  11. package/dist/formio.min.js +1 -1
  12. package/dist/formio.min.js.LICENSE.txt +1 -1
  13. package/dist/formio.utils.js +14 -4
  14. package/dist/formio.utils.min.js +1 -1
  15. package/dist/formio.utils.min.js.LICENSE.txt +3 -1
  16. package/embed.d.ts +1 -0
  17. package/form.d.ts +1 -0
  18. package/lib/cjs/Form.d.ts +281 -10
  19. package/lib/cjs/Form.js +22 -35
  20. package/lib/cjs/FormBuilder.d.ts +187 -2
  21. package/lib/cjs/FormBuilder.js +29 -6
  22. package/lib/cjs/InlineEmbed.d.ts +7 -0
  23. package/lib/cjs/InlineEmbed.js +109 -0
  24. package/lib/cjs/PDF.d.ts +0 -1
  25. package/lib/cjs/Webform.d.ts +6 -6
  26. package/lib/cjs/Webform.js +2 -2
  27. package/lib/cjs/Wizard.d.ts +1 -1
  28. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
  29. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
  30. package/lib/cjs/components/_classes/field/Field.d.ts +11 -2
  31. package/lib/cjs/components/_classes/field/Field.js +13 -1
  32. package/lib/cjs/components/_classes/input/Input.d.ts +4 -3
  33. package/lib/cjs/components/_classes/input/Input.js +2 -2
  34. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +4 -5
  35. package/lib/cjs/components/_classes/list/ListComponent.form.js +3 -2
  36. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
  37. package/lib/cjs/components/_classes/multivalue/Multivalue.js +37 -3
  38. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +127 -33
  39. package/lib/cjs/components/_classes/nested/NestedComponent.js +133 -15
  40. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
  41. package/lib/cjs/components/address/Address.d.ts +2 -1
  42. package/lib/cjs/components/button/Button.d.ts +1 -1
  43. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  44. package/lib/cjs/components/columns/Columns.d.ts +1 -1
  45. package/lib/cjs/components/container/Container.d.ts +1 -0
  46. package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -1
  47. package/lib/cjs/components/day/Day.d.ts +1 -1
  48. package/lib/cjs/components/editgrid/EditGrid.d.ts +2 -0
  49. package/lib/cjs/components/file/File.d.ts +2 -2
  50. package/lib/cjs/components/number/Number.d.ts +1 -1
  51. package/lib/cjs/components/radio/Radio.d.ts +1 -1
  52. package/lib/cjs/components/radio/Radio.form.d.ts +1 -3
  53. package/lib/cjs/components/radio/Radio.js +3 -3
  54. package/lib/cjs/components/select/Select.d.ts +9 -14
  55. package/lib/cjs/components/select/Select.form.d.ts +1 -3
  56. package/lib/cjs/components/select/Select.js +11 -15
  57. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
  58. package/lib/cjs/components/survey/Survey.d.ts +1 -1
  59. package/lib/cjs/components/table/Table.d.ts +1 -1
  60. package/lib/cjs/components/tabs/Tabs.d.ts +1 -1
  61. package/lib/cjs/components/textfield/TextField.d.ts +1 -1
  62. package/lib/cjs/formio.embed.d.ts +1 -2
  63. package/lib/cjs/formio.embed.js +2 -100
  64. package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +1 -1
  65. package/lib/cjs/providers/address/NominatimAddressProvider.js +5 -1
  66. package/lib/cjs/providers/processor/fileProcessor.d.ts +7 -1
  67. package/lib/cjs/providers/processor/fileProcessor.js +6 -0
  68. package/lib/cjs/providers/storage/azure.d.ts +4 -15
  69. package/lib/cjs/providers/storage/azure.js +3 -2
  70. package/lib/cjs/providers/storage/base64.d.ts +3 -7
  71. package/lib/cjs/providers/storage/base64.js +2 -1
  72. package/lib/cjs/providers/storage/dropbox.d.ts +4 -6
  73. package/lib/cjs/providers/storage/dropbox.js +3 -2
  74. package/lib/cjs/providers/storage/googleDrive.d.ts +4 -6
  75. package/lib/cjs/providers/storage/googleDrive.js +3 -1
  76. package/lib/cjs/providers/storage/indexeddb.d.ts +3 -8
  77. package/lib/cjs/providers/storage/indexeddb.js +2 -1
  78. package/lib/cjs/providers/storage/s3.d.ts +4 -22
  79. package/lib/cjs/providers/storage/s3.js +3 -2
  80. package/lib/cjs/providers/storage/url.d.ts +3 -8
  81. package/lib/cjs/providers/storage/url.js +4 -3
  82. package/lib/cjs/providers/storage/util.d.ts +22 -6
  83. package/lib/cjs/providers/storage/util.js +16 -5
  84. package/lib/cjs/utils/builder.d.ts +9 -7
  85. package/lib/cjs/utils/builder.js +10 -5
  86. package/lib/cjs/utils/calendarUtils.d.ts +6 -10
  87. package/lib/cjs/utils/calendarUtils.js +7 -11
  88. package/lib/cjs/utils/formUtils.d.ts +4 -4
  89. package/lib/cjs/utils/formUtils.js +3 -3
  90. package/lib/cjs/utils/utils.d.ts +123 -121
  91. package/lib/cjs/utils/utils.js +99 -94
  92. package/lib/mjs/Form.d.ts +281 -10
  93. package/lib/mjs/Form.js +112 -28
  94. package/lib/mjs/FormBuilder.d.ts +187 -2
  95. package/lib/mjs/FormBuilder.js +31 -6
  96. package/lib/mjs/InlineEmbed.d.ts +7 -0
  97. package/lib/mjs/InlineEmbed.js +105 -0
  98. package/lib/mjs/PDF.d.ts +0 -1
  99. package/lib/mjs/Webform.d.ts +6 -6
  100. package/lib/mjs/Webform.js +3 -3
  101. package/lib/mjs/Wizard.d.ts +1 -1
  102. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
  103. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
  104. package/lib/mjs/components/_classes/field/Field.d.ts +11 -2
  105. package/lib/mjs/components/_classes/field/Field.js +13 -1
  106. package/lib/mjs/components/_classes/input/Input.d.ts +4 -3
  107. package/lib/mjs/components/_classes/input/Input.js +2 -2
  108. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +4 -5
  109. package/lib/mjs/components/_classes/list/ListComponent.form.js +3 -2
  110. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
  111. package/lib/mjs/components/_classes/multivalue/Multivalue.js +37 -3
  112. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +127 -33
  113. package/lib/mjs/components/_classes/nested/NestedComponent.js +133 -15
  114. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
  115. package/lib/mjs/components/address/Address.d.ts +2 -1
  116. package/lib/mjs/components/button/Button.d.ts +1 -1
  117. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  118. package/lib/mjs/components/columns/Columns.d.ts +1 -1
  119. package/lib/mjs/components/container/Container.d.ts +1 -0
  120. package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -1
  121. package/lib/mjs/components/day/Day.d.ts +1 -1
  122. package/lib/mjs/components/editgrid/EditGrid.d.ts +2 -0
  123. package/lib/mjs/components/file/File.d.ts +2 -2
  124. package/lib/mjs/components/number/Number.d.ts +1 -1
  125. package/lib/mjs/components/radio/Radio.d.ts +1 -1
  126. package/lib/mjs/components/radio/Radio.form.d.ts +1 -3
  127. package/lib/mjs/components/radio/Radio.js +3 -3
  128. package/lib/mjs/components/select/Select.d.ts +9 -14
  129. package/lib/mjs/components/select/Select.form.d.ts +1 -3
  130. package/lib/mjs/components/select/Select.js +11 -15
  131. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
  132. package/lib/mjs/components/survey/Survey.d.ts +1 -1
  133. package/lib/mjs/components/table/Table.d.ts +1 -1
  134. package/lib/mjs/components/tabs/Tabs.d.ts +1 -1
  135. package/lib/mjs/components/textfield/TextField.d.ts +1 -1
  136. package/lib/mjs/formio.embed.d.ts +1 -2
  137. package/lib/mjs/formio.embed.js +2 -99
  138. package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +1 -1
  139. package/lib/mjs/providers/address/NominatimAddressProvider.js +5 -1
  140. package/lib/mjs/providers/processor/fileProcessor.d.ts +7 -1
  141. package/lib/mjs/providers/processor/fileProcessor.js +6 -0
  142. package/lib/mjs/providers/storage/azure.d.ts +4 -15
  143. package/lib/mjs/providers/storage/azure.js +3 -2
  144. package/lib/mjs/providers/storage/base64.d.ts +3 -7
  145. package/lib/mjs/providers/storage/base64.js +2 -1
  146. package/lib/mjs/providers/storage/dropbox.d.ts +4 -6
  147. package/lib/mjs/providers/storage/dropbox.js +3 -2
  148. package/lib/mjs/providers/storage/googleDrive.d.ts +4 -6
  149. package/lib/mjs/providers/storage/googleDrive.js +3 -1
  150. package/lib/mjs/providers/storage/indexeddb.d.ts +3 -8
  151. package/lib/mjs/providers/storage/indexeddb.js +2 -1
  152. package/lib/mjs/providers/storage/s3.d.ts +4 -22
  153. package/lib/mjs/providers/storage/s3.js +3 -2
  154. package/lib/mjs/providers/storage/url.d.ts +3 -8
  155. package/lib/mjs/providers/storage/url.js +4 -3
  156. package/lib/mjs/providers/storage/util.d.ts +22 -6
  157. package/lib/mjs/providers/storage/util.js +16 -5
  158. package/lib/mjs/utils/builder.d.ts +9 -7
  159. package/lib/mjs/utils/builder.js +10 -5
  160. package/lib/mjs/utils/calendarUtils.d.ts +6 -10
  161. package/lib/mjs/utils/calendarUtils.js +7 -11
  162. package/lib/mjs/utils/formUtils.d.ts +4 -4
  163. package/lib/mjs/utils/formUtils.js +3 -3
  164. package/lib/mjs/utils/utils.d.ts +123 -121
  165. package/lib/mjs/utils/utils.js +99 -94
  166. package/package.json +17 -13
  167. package/sdk.d.ts +1 -0
  168. package/utils.d.ts +1 -0
@@ -198,7 +198,7 @@ export default class PasswordStrengthAddon extends FormioAddon {
198
198
  }
199
199
  /**
200
200
  * Determines is a password is secure enough to submit
201
- * @returns {boolean}
201
+ * @returns {boolean} - returns TRUE if password is valid, FALSE if it is not.
202
202
  */
203
203
  isValid() {
204
204
  const isValidCheck = this.settings.isValid;
@@ -215,9 +215,9 @@ export default class PasswordStrengthAddon extends FormioAddon {
215
215
  * Handles the result of check and constructs a new error object or returns an amount of points to add to the current entropy
216
216
  * @param {boolean|number} valid - Determines if the validation was failed or an amount of points if it was passed
217
217
  * @param {*} validation - Validation configuration
218
- * @param {string} value - Value which was validated
219
218
  * @param {string} message - Message which should be shown if validation was not passed
220
- * @param errors
219
+ * @param {any[]} errors - The errors array (will be mutated)
220
+ * @returns {number} - Returns an amount of points to add to the current entropy
221
221
  */
222
222
  handleRuleCheckResult(valid, validation, message, errors) {
223
223
  if (valid !== true) {
@@ -257,7 +257,8 @@ export default class PasswordStrengthAddon extends FormioAddon {
257
257
  }
258
258
  /**
259
259
  * Performs checks to validate password security
260
- * @param {string} value - Suggested password
260
+ * @param {string} value - The password value to be checked.
261
+ * @returns {boolean} - Returns TRUE if password is strong enough, FALSE if it is not.
261
262
  */
262
263
  checkValidity(value) {
263
264
  const passwordLength = value.length;
@@ -355,6 +356,7 @@ export default class PasswordStrengthAddon extends FormioAddon {
355
356
  /**
356
357
  * Finds the level which one the passed entropy suits
357
358
  * @param {number} entropy - Points of password's security
359
+ * @returns {object} - Returns the level object
358
360
  */
359
361
  getLevel(entropy = this.entropy) {
360
362
  const lowestLevel = this.levels[0];
@@ -1,5 +1,14 @@
1
1
  export default class Field extends Component {
2
- render(element: any): string;
3
- saveCaretPosition(element: any, index: any): void;
2
+ /**
3
+ * @param {object} element - The component to create.
4
+ * @returns {Field} - The created field.
5
+ */
6
+ render(element: object): Field;
7
+ /**
8
+ /* Saves current caret position to restore it after the component is redrawn
9
+ * @param {HTMLElement} element - The element to save the caret position for.
10
+ * @param {number} index - The index of the element.
11
+ */
12
+ saveCaretPosition(element: HTMLElement, index: number): void;
4
13
  }
5
14
  import Component from '../component/Component';
@@ -1,5 +1,13 @@
1
1
  import Component from '../component/Component';
2
+ /*
3
+ * Field class is a base class for all fields.
4
+ * @extends Component
5
+ */
2
6
  export default class Field extends Component {
7
+ /**
8
+ * @param {object} element - The component to create.
9
+ * @returns {Field} - The created field.
10
+ */
3
11
  render(element) {
4
12
  if (this.noField) {
5
13
  return super.render(element);
@@ -18,7 +26,11 @@ export default class Field extends Component {
18
26
  }));
19
27
  }
20
28
  }
21
- // Saves current caret position to restore it after the component is redrawn
29
+ /**
30
+ /* Saves current caret position to restore it after the component is redrawn
31
+ * @param {HTMLElement} element - The element to save the caret position for.
32
+ * @param {number} index - The index of the element.
33
+ */
22
34
  saveCaretPosition(element, index) {
23
35
  if (this.root?.focusedComponent?.path === this.path) {
24
36
  try {
@@ -30,13 +30,14 @@ export default class Input extends Multivalue {
30
30
  updateValue(value: any, flags: any, index: any): boolean;
31
31
  parseValue(value: any): any;
32
32
  formatValue(value: any): any;
33
+ attach(element: any): Promise<any>;
33
34
  getWidget(index: any): any;
34
35
  attachElement(element: any, index: any): Promise<void>;
35
36
  /**
36
37
  * Creates an instance of a widget for this component.
37
- * @param index
38
- * @returns {null}
38
+ * @param {number} index - The index of the widget.
39
+ * @returns {*} - The widget instance.
39
40
  */
40
- createWidget(index: any): null;
41
+ createWidget(index: number): any;
41
42
  }
42
43
  import Multivalue from '../multivalue/Multivalue';
@@ -239,8 +239,8 @@ export default class Input extends Multivalue {
239
239
  }
240
240
  /**
241
241
  * Creates an instance of a widget for this component.
242
- * @param index
243
- * @returns {null}
242
+ * @param {number} index - The index of the widget.
243
+ * @returns {*} - The widget instance.
244
244
  */
245
245
  createWidget(index) {
246
246
  // Return null if no widget is found.
@@ -1,7 +1,6 @@
1
1
  /**
2
- *
3
- * @param {...any} extend
2
+ * List Component edit form.
3
+ * @param {...any} extend - The extended schema.
4
+ * @returns {object} - The List Component edit form.
4
5
  */
5
- export default function _default(...extend: any[]): {
6
- components: any;
7
- };
6
+ export default function _default(...extend: any[]): object;
@@ -1,8 +1,9 @@
1
1
  import Components from '../../Components';
2
2
  import ListEditData from './editForm/ListComponent.edit.data';
3
3
  /**
4
- *
5
- * @param {...any} extend
4
+ * List Component edit form.
5
+ * @param {...any} extend - The extended schema.
6
+ * @returns {object} - The List Component edit form.
6
7
  */
7
8
  export default function (...extend) {
8
9
  return Components.baseEditForm([
@@ -1,24 +1,55 @@
1
1
  export default class Multivalue extends Field {
2
2
  get addAnother(): string;
3
3
  useWrapper(): any;
4
- render(): string;
4
+ /**
5
+ * @returns {Field} - The created field.
6
+ */
7
+ render(): Field;
5
8
  renderElement(): string;
6
- renderRow(value: any, index: any): any;
7
- attach(dom: any): Promise<any[]>;
9
+ /**
10
+ * Renders a single row for multi-value components.
11
+ * @param {any} value - The value associated with the row to render.
12
+ * @param {number} index - The index of the row in the multi-value list.
13
+ * @returns {any} Returns the HTML string representation of the row.
14
+ */
15
+ renderRow(value: any, index: number): any;
16
+ /**
17
+ * @param {HTMLElement} dom - The DOM element to which the component will attach.
18
+ * @returns {Promise} - Promise that resolves when all asynchronous tasks that have finished.
19
+ */
20
+ attach(dom: HTMLElement): Promise<any>;
8
21
  /**
9
22
  * Attach inputs to the element.
10
- * @param element
11
- * @param index
23
+ * @param {HTMLElement} element - The element to attach.
24
+ * @param {number} index - The index of the element to attach.
25
+ */
26
+ attachElement(element: HTMLElement, index: number): void;
27
+ /**
28
+ * Event handler for selecting a mask from a dropdown.
29
+ * @param {Event} event - Event triggered by changing the selected option in mask.
30
+ */
31
+ onSelectMaskHandler(event: Event): void;
32
+ /**
33
+ * Retrieves the mask pattern for a given mask name
34
+ * @param {string} maskName - The name of the mask to retrieve.
35
+ * @returns {any} The mask pattern associated with the given mask name.
12
36
  */
13
- attachElement(element: any, index: any): void;
14
- onSelectMaskHandler(event: any): void;
15
- getMaskPattern(maskName: any): any;
37
+ getMaskPattern(maskName: string): any;
16
38
  multiMasks: {} | undefined;
17
- attachMultiMask(index: any): boolean;
18
- updateMask(input: any, mask: any): void;
39
+ /**
40
+ * Attaches a selectable mask to an input field based on its configuration.
41
+ * @param {number} index - The index of the select or input in component array.
42
+ * @returns {boolean} - Returns true if the mask was successfully attached
43
+ */
44
+ attachMultiMask(index: number): boolean;
45
+ /**
46
+ * @param {any} input - The input element on which the mask is to be applied.
47
+ * @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
48
+ */
49
+ updateMask(input: any, mask: string): void;
19
50
  /**
20
51
  * Adds a new empty value to the data array.
21
- * @param value
52
+ * @param {any} value -A value to be added to the data array.
22
53
  */
23
54
  addNewValue(value: any): void;
24
55
  /**
@@ -29,6 +29,9 @@ export default class Multivalue extends Field {
29
29
  useWrapper() {
30
30
  return this.component.hasOwnProperty('multiple') && this.component.multiple;
31
31
  }
32
+ /**
33
+ * @returns {Field} - The created field.
34
+ */
32
35
  render() {
33
36
  // If single value field.
34
37
  if (!this.useWrapper()) {
@@ -51,6 +54,12 @@ export default class Multivalue extends Field {
51
54
  renderElement() {
52
55
  return '';
53
56
  }
57
+ /**
58
+ * Renders a single row for multi-value components.
59
+ * @param {any} value - The value associated with the row to render.
60
+ * @param {number} index - The index of the row in the multi-value list.
61
+ * @returns {any} Returns the HTML string representation of the row.
62
+ */
54
63
  renderRow(value, index) {
55
64
  return this.renderTemplate('multiValueRow', {
56
65
  index,
@@ -58,6 +67,10 @@ export default class Multivalue extends Field {
58
67
  element: `${this.renderElement(value, index)}`,
59
68
  });
60
69
  }
70
+ /**
71
+ * @param {HTMLElement} dom - The DOM element to which the component will attach.
72
+ * @returns {Promise} - Promise that resolves when all asynchronous tasks that have finished.
73
+ */
61
74
  attach(dom) {
62
75
  const superAttach = super.attach(dom);
63
76
  this.loadRefs(dom, {
@@ -91,6 +104,9 @@ export default class Multivalue extends Field {
91
104
  return Promise.all(promises);
92
105
  });
93
106
  }
107
+ /**
108
+ * Remove all event handlers.
109
+ */
94
110
  detach() {
95
111
  if (this.refs.input && this.refs.input.length) {
96
112
  this.refs.input.forEach((input) => {
@@ -113,8 +129,8 @@ export default class Multivalue extends Field {
113
129
  }
114
130
  /**
115
131
  * Attach inputs to the element.
116
- * @param element
117
- * @param index
132
+ * @param {HTMLElement} element - The element to attach.
133
+ * @param {number} index - The index of the element to attach.
118
134
  */
119
135
  attachElement(element, index) {
120
136
  this.addEventListener(element, this.inputInfo.changeEvent, () => {
@@ -176,9 +192,18 @@ export default class Multivalue extends Field {
176
192
  }
177
193
  }
178
194
  }
195
+ /**
196
+ * Event handler for selecting a mask from a dropdown.
197
+ * @param {Event} event - Event triggered by changing the selected option in mask.
198
+ */
179
199
  onSelectMaskHandler(event) {
180
200
  this.updateMask(event.target.maskInput, this.getMaskPattern(event.target.value));
181
201
  }
202
+ /**
203
+ * Retrieves the mask pattern for a given mask name
204
+ * @param {string} maskName - The name of the mask to retrieve.
205
+ * @returns {any} The mask pattern associated with the given mask name.
206
+ */
182
207
  getMaskPattern(maskName) {
183
208
  if (!this.multiMasks) {
184
209
  this.multiMasks = {};
@@ -190,6 +215,11 @@ export default class Multivalue extends Field {
190
215
  this.multiMasks[maskName] = mask ? mask.mask : this.component.inputMasks[0].mask;
191
216
  return this.multiMasks[maskName];
192
217
  }
218
+ /**
219
+ * Attaches a selectable mask to an input field based on its configuration.
220
+ * @param {number} index - The index of the select or input in component array.
221
+ * @returns {boolean} - Returns true if the mask was successfully attached
222
+ */
193
223
  attachMultiMask(index) {
194
224
  if (!(this.isMultipleMasksField && this.component.inputMasks.length && this.refs.input.length)) {
195
225
  return false;
@@ -200,6 +230,10 @@ export default class Multivalue extends Field {
200
230
  this.setInputMask(maskSelect.maskInput, this.component.inputMasks[0].mask);
201
231
  return true;
202
232
  }
233
+ /**
234
+ * @param {any} input - The input element on which the mask is to be applied.
235
+ * @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
236
+ */
203
237
  updateMask(input, mask) {
204
238
  if (!mask) {
205
239
  return;
@@ -209,7 +243,7 @@ export default class Multivalue extends Field {
209
243
  }
210
244
  /**
211
245
  * Adds a new empty value to the data array.
212
- * @param value
246
+ * @param {any} value -A value to be added to the data array.
213
247
  */
214
248
  addNewValue(value) {
215
249
  if (value === undefined) {
@@ -1,16 +1,96 @@
1
+ /**
2
+ * NestedComponent class.
3
+ * @augments Field
4
+ */
1
5
  export default class NestedComponent extends Field {
2
6
  constructor(component: any, options: any, data: any);
3
7
  type: string;
4
- _collapsed: boolean;
8
+ /**
9
+ * The collapsed state of this NestedComponent.
10
+ * @type {boolean}
11
+ * @default false
12
+ * @private
13
+ */
14
+ private _collapsed;
15
+ /**
16
+ * Set collapsed state.
17
+ * @param {boolean} value - The collapsed state.
18
+ * @returns {void}
19
+ */
5
20
  set collapsed(value: boolean);
21
+ /**
22
+ * Get collapsed state.
23
+ * @returns {boolean} The collapsed state.
24
+ */
6
25
  get collapsed(): boolean;
7
- collapse(value: any): Promise<void>;
26
+ /**
27
+ * Set collapsed state.
28
+ * @param {boolean} value - The collapsed state.
29
+ * @returns {void}
30
+ */
31
+ collapse(value: boolean): void;
32
+ /**
33
+ * Set parent visibility.
34
+ * @param {boolean} value - The parent visibility.
35
+ * @returns {void}
36
+ */
37
+ set parentVisible(value: boolean);
38
+ /**
39
+ * Get parent visibility.
40
+ * @returns {boolean} The parent visibility.
41
+ */
42
+ get parentVisible(): boolean;
43
+ /**
44
+ * Get ready state from all components.
45
+ * @returns {Promise<Array>} - The promise that resolves when all components are ready.
46
+ */
8
47
  get ready(): Promise<any[]>;
9
- set rowIndex(value: any);
10
- get rowIndex(): any;
11
- _rowIndex: any;
12
- componentContext(): any;
13
- getComponents(): any;
48
+ /**
49
+ * Set currentForm object.
50
+ * @param {object} instance - The current form object.
51
+ * @returns {void}
52
+ */
53
+ set currentForm(instance: object);
54
+ /**
55
+ * Get currentForm object.
56
+ * @returns {object} - The current form object.
57
+ */
58
+ get currentForm(): object;
59
+ /**
60
+ * Set Row Index to row and update each component.
61
+ * @param {number} value - The row index.
62
+ * @returns {void}
63
+ */
64
+ set rowIndex(value: number);
65
+ /**
66
+ * Get Row Index.
67
+ * @returns {number} - The row index.
68
+ */
69
+ get rowIndex(): number;
70
+ _rowIndex: number | undefined;
71
+ /**
72
+ * Get Contextual data of the component.
73
+ * @returns {object} - The contextual data of the component.
74
+ * @override
75
+ */
76
+ override componentContext(): object;
77
+ /**
78
+ * Set the data of the component.
79
+ * @param {object} value - The data of the component.
80
+ * @returns {void}
81
+ */
82
+ override set data(value: object);
83
+ /**
84
+ * Get the data of the component.
85
+ * @returns {object} - The data of the component.
86
+ * @override
87
+ */
88
+ override get data(): object;
89
+ /**
90
+ * Get components array.
91
+ * @returns {Array} - The components array.
92
+ */
93
+ getComponents(): any[];
14
94
  /**
15
95
  * Perform a deep iteration over every component, including those
16
96
  * within other container based components.
@@ -18,8 +98,17 @@ export default class NestedComponent extends Field {
18
98
  * @param {any} options - The options to include with this everyComponent call.
19
99
  */
20
100
  everyComponent(fn: Function, options?: any): void;
21
- hasComponent(component: any): boolean;
22
- flattenComponents(): {};
101
+ /**
102
+ * Check if the component has a component.
103
+ * @param {import('@formio/core').Component} component - The component to check.
104
+ * @returns {boolean} - TRUE if the component has a component, FALSE otherwise.
105
+ */
106
+ hasComponent(component: import('@formio/core').Component): boolean;
107
+ /**
108
+ * Get the flattened components of this NestedComponent.
109
+ * @returns {object} - The flattened components of this NestedComponent.
110
+ */
111
+ flattenComponents(): object;
23
112
  /**
24
113
  * Perform an iteration over each component within this container component.
25
114
  * @param {Function} fn - Called for each component
@@ -44,13 +133,13 @@ export default class NestedComponent extends Field {
44
133
  /**
45
134
  * Create a new component and add it to the components array.
46
135
  * @param {import('@formio/core').Component} component - The component JSON schema to create.
47
- * @param {any} options - The options to create the component with.
48
- * @param {any} data - The submission data object to house the data for this component.
49
- * @param {*} [before] - The component before which to add this component.
50
- * @param {*} [replacedComp] - The component to replace with this component.
136
+ * @param {object} options - The options to create the component with.
137
+ * @param {import('@formio/core').DataObject} data - The submission data object to house the data for this component.
138
+ * @param {import('@formio/core').Component} [before] - The component before which to add this component.
139
+ * @param {import('@formio/core').Component} [replacedComp] - The component to replace with this component.
51
140
  * @returns {any} - The created component instance.
52
141
  */
53
- createComponent(component: import('@formio/core').Component, options: any, data: any, before?: any, replacedComp?: any): any;
142
+ createComponent(component: import('@formio/core').Component, options: object, data: import('@formio/core').DataObject, before?: import("@formio/core").Component | undefined, replacedComp?: import("@formio/core").Component | undefined): any;
54
143
  getContainer(): any;
55
144
  get componentComponents(): any;
56
145
  get nestedKey(): string;
@@ -58,31 +147,36 @@ export default class NestedComponent extends Field {
58
147
  components: any;
59
148
  /**
60
149
  * Add a new component instance to the components array.
61
- * @param {any} [data] - The Submission data for this component.
62
- * @param {any} [options] - The options for this component.
150
+ * @param {import('@formio/core').DataObject} [data] - The Submission data for this component.
151
+ * @param {object} [options] - The options for this component.
63
152
  */
64
- addComponents(data?: any, options?: any): void;
153
+ addComponents(data?: import("@formio/core").DataObject | undefined, options?: object | undefined): void;
65
154
  /**
66
155
  * Add a new component to the components array.
67
- * @param {object} component - The component JSON schema to add.
156
+ * @param {import('@formio/core').Component} component - The component JSON schema to add.
68
157
  * @param {object} data - The submission data object to house the data for this component.
69
158
  * @param {HTMLElement} before - A DOM element to insert this element before.
70
159
  * @param {boolean} [noAdd] - A possibly extraneous boolean flag.
71
160
  * @returns {any} - The created component instance.
72
161
  */
73
- addComponent(component: object, data?: object, before?: HTMLElement, noAdd?: boolean | undefined): any;
162
+ addComponent(component: import('@formio/core').Component, data?: object, before?: HTMLElement, noAdd?: boolean | undefined): any;
74
163
  beforeFocus(): void;
164
+ render(children: any): Field;
75
165
  renderComponents(components: any): any;
76
166
  attach(element: any): Promise<[void, void]>;
77
- attachComponentsLogic(components: any): void;
167
+ /**
168
+ * Attach the logic to the components.
169
+ * @param {import('@formio/core').Component[]} components - The components to attach logic to.
170
+ */
171
+ attachComponentsLogic(components: import('@formio/core').Component[]): void;
78
172
  attachComponents(element: any, components: any, container: any): Promise<any>;
79
173
  /**
80
174
  * Remove a component from the components array and from the children object
81
- * @param {any} component - The component to remove from the components.
82
- * @param {Array<any>} components - An array of components to remove this component from.
175
+ * @param {import('@formio/core').Component} component - The component to remove from the components.
176
+ * @param {import('@formio/core').Component[]} components - An array of components to remove this component from.
83
177
  * @param {boolean} [all] - If set to TRUE will cascade remove all components.
84
178
  */
85
- removeComponent(component: any, components: Array<any>, all?: boolean | undefined): void;
179
+ removeComponent(component: import('@formio/core').Component, components: import('@formio/core').Component[], all?: boolean | undefined): void;
86
180
  /**
87
181
  * Removes a component provided the API key of that component.
88
182
  * @param {string} key - The API key of the component to remove.
@@ -125,27 +219,27 @@ export default class NestedComponent extends Field {
125
219
  }, flags: any): void;
126
220
  /**
127
221
  * Perform a validation on all child components of this nested component.
128
- * @param {*} components - The components to validate.
129
- * @param {*} data - The data to validate.
130
- * @param {*} flags - The flags to use when validating.
222
+ * @param {import('@formio/core').Component[]} components - The components to validate.
223
+ * @param {import('@formio/core').DataObject} data - The data to validate.
224
+ * @param {object} flags - The flags to use when validating.
131
225
  * @returns {Promise<Array>|Array} - The errors if any exist.
132
226
  */
133
- validateComponents(components?: any, data?: any, flags?: any): Promise<any[]> | any[];
227
+ validateComponents(components?: import('@formio/core').Component[], data?: import('@formio/core').DataObject, flags?: object): Promise<any[]> | any[];
134
228
  /**
135
229
  * Validate a nested component with data, or its own internal data.
136
- * @param {*} data - The data to validate.
137
- * @param {*} flags - The flags to use when validating.
138
- * @returns {*} - The errors if any exist.
230
+ * @param {import('@formio/core').DataObject} data - The data to validate.
231
+ * @param {object} flags - The flags to use when validating.
232
+ * @returns {Array} - The errors if any exist.
139
233
  */
140
- validate(data?: any, flags?: any): any;
234
+ validate(data?: import('@formio/core').DataObject, flags?: object): any[];
141
235
  checkComponentValidity(data?: null, dirty?: boolean, row?: null, flags?: {}, allErrors?: any[]): boolean;
142
236
  checkAsyncValidity(data?: null, dirty?: boolean, row?: null, silentCheck?: boolean): Promise<any>;
143
237
  setPristine(pristine: any): void;
144
- get isPristine(): any;
145
- get isDirty(): any;
238
+ get isDirty(): boolean | undefined;
146
239
  destroyComponents(all?: boolean): void;
147
240
  get visibleErrors(): any;
148
241
  get errors(): any;
242
+ getValue(): object;
149
243
  get dataReady(): Promise<any[]>;
150
244
  setNestedValue(component: any, value: any, flags?: {}): any;
151
245
  setValue(value: any, flags?: {}): any;