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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) 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/lib/cjs/Form.d.ts +281 -10
  17. package/lib/cjs/Form.js +22 -35
  18. package/lib/cjs/FormBuilder.d.ts +187 -2
  19. package/lib/cjs/FormBuilder.js +29 -6
  20. package/lib/cjs/PDF.d.ts +0 -1
  21. package/lib/cjs/Webform.d.ts +6 -6
  22. package/lib/cjs/Webform.js +2 -2
  23. package/lib/cjs/Wizard.d.ts +1 -1
  24. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
  25. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
  26. package/lib/cjs/components/_classes/field/Field.d.ts +11 -2
  27. package/lib/cjs/components/_classes/field/Field.js +13 -1
  28. package/lib/cjs/components/_classes/input/Input.d.ts +4 -3
  29. package/lib/cjs/components/_classes/input/Input.js +2 -2
  30. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +4 -5
  31. package/lib/cjs/components/_classes/list/ListComponent.form.js +3 -2
  32. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
  33. package/lib/cjs/components/_classes/multivalue/Multivalue.js +37 -3
  34. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +127 -33
  35. package/lib/cjs/components/_classes/nested/NestedComponent.js +133 -15
  36. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
  37. package/lib/cjs/components/address/Address.d.ts +2 -1
  38. package/lib/cjs/components/button/Button.d.ts +1 -1
  39. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  40. package/lib/cjs/components/columns/Columns.d.ts +1 -1
  41. package/lib/cjs/components/container/Container.d.ts +1 -0
  42. package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -1
  43. package/lib/cjs/components/day/Day.d.ts +1 -1
  44. package/lib/cjs/components/editgrid/EditGrid.d.ts +2 -0
  45. package/lib/cjs/components/file/File.d.ts +2 -2
  46. package/lib/cjs/components/number/Number.d.ts +1 -1
  47. package/lib/cjs/components/radio/Radio.d.ts +1 -1
  48. package/lib/cjs/components/radio/Radio.form.d.ts +1 -3
  49. package/lib/cjs/components/radio/Radio.js +3 -3
  50. package/lib/cjs/components/select/Select.d.ts +9 -14
  51. package/lib/cjs/components/select/Select.form.d.ts +1 -3
  52. package/lib/cjs/components/select/Select.js +11 -15
  53. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
  54. package/lib/cjs/components/survey/Survey.d.ts +1 -1
  55. package/lib/cjs/components/table/Table.d.ts +1 -1
  56. package/lib/cjs/components/tabs/Tabs.d.ts +1 -1
  57. package/lib/cjs/components/textfield/TextField.d.ts +1 -1
  58. package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +1 -1
  59. package/lib/cjs/providers/address/NominatimAddressProvider.js +5 -1
  60. package/lib/cjs/providers/processor/fileProcessor.d.ts +7 -1
  61. package/lib/cjs/providers/processor/fileProcessor.js +6 -0
  62. package/lib/cjs/providers/storage/azure.d.ts +4 -15
  63. package/lib/cjs/providers/storage/azure.js +3 -2
  64. package/lib/cjs/providers/storage/base64.d.ts +3 -7
  65. package/lib/cjs/providers/storage/base64.js +2 -1
  66. package/lib/cjs/providers/storage/dropbox.d.ts +4 -6
  67. package/lib/cjs/providers/storage/dropbox.js +3 -2
  68. package/lib/cjs/providers/storage/googleDrive.d.ts +4 -6
  69. package/lib/cjs/providers/storage/googleDrive.js +3 -1
  70. package/lib/cjs/providers/storage/indexeddb.d.ts +3 -8
  71. package/lib/cjs/providers/storage/indexeddb.js +2 -1
  72. package/lib/cjs/providers/storage/s3.d.ts +4 -22
  73. package/lib/cjs/providers/storage/s3.js +3 -2
  74. package/lib/cjs/providers/storage/url.d.ts +3 -8
  75. package/lib/cjs/providers/storage/url.js +4 -3
  76. package/lib/cjs/providers/storage/util.d.ts +22 -6
  77. package/lib/cjs/providers/storage/util.js +16 -5
  78. package/lib/cjs/utils/builder.d.ts +9 -7
  79. package/lib/cjs/utils/builder.js +10 -5
  80. package/lib/cjs/utils/calendarUtils.d.ts +6 -10
  81. package/lib/cjs/utils/calendarUtils.js +7 -11
  82. package/lib/cjs/utils/formUtils.d.ts +4 -4
  83. package/lib/cjs/utils/formUtils.js +3 -3
  84. package/lib/cjs/utils/utils.d.ts +123 -121
  85. package/lib/cjs/utils/utils.js +99 -94
  86. package/lib/mjs/Form.d.ts +281 -10
  87. package/lib/mjs/Form.js +112 -28
  88. package/lib/mjs/FormBuilder.d.ts +187 -2
  89. package/lib/mjs/FormBuilder.js +31 -6
  90. package/lib/mjs/PDF.d.ts +0 -1
  91. package/lib/mjs/Webform.d.ts +6 -6
  92. package/lib/mjs/Webform.js +3 -3
  93. package/lib/mjs/Wizard.d.ts +1 -1
  94. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -6
  95. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -4
  96. package/lib/mjs/components/_classes/field/Field.d.ts +11 -2
  97. package/lib/mjs/components/_classes/field/Field.js +13 -1
  98. package/lib/mjs/components/_classes/input/Input.d.ts +4 -3
  99. package/lib/mjs/components/_classes/input/Input.js +2 -2
  100. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +4 -5
  101. package/lib/mjs/components/_classes/list/ListComponent.form.js +3 -2
  102. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +42 -11
  103. package/lib/mjs/components/_classes/multivalue/Multivalue.js +37 -3
  104. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +127 -33
  105. package/lib/mjs/components/_classes/nested/NestedComponent.js +133 -15
  106. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +6 -0
  107. package/lib/mjs/components/address/Address.d.ts +2 -1
  108. package/lib/mjs/components/button/Button.d.ts +1 -1
  109. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  110. package/lib/mjs/components/columns/Columns.d.ts +1 -1
  111. package/lib/mjs/components/container/Container.d.ts +1 -0
  112. package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -1
  113. package/lib/mjs/components/day/Day.d.ts +1 -1
  114. package/lib/mjs/components/editgrid/EditGrid.d.ts +2 -0
  115. package/lib/mjs/components/file/File.d.ts +2 -2
  116. package/lib/mjs/components/number/Number.d.ts +1 -1
  117. package/lib/mjs/components/radio/Radio.d.ts +1 -1
  118. package/lib/mjs/components/radio/Radio.form.d.ts +1 -3
  119. package/lib/mjs/components/radio/Radio.js +3 -3
  120. package/lib/mjs/components/select/Select.d.ts +9 -14
  121. package/lib/mjs/components/select/Select.form.d.ts +1 -3
  122. package/lib/mjs/components/select/Select.js +11 -15
  123. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +1 -3
  124. package/lib/mjs/components/survey/Survey.d.ts +1 -1
  125. package/lib/mjs/components/table/Table.d.ts +1 -1
  126. package/lib/mjs/components/tabs/Tabs.d.ts +1 -1
  127. package/lib/mjs/components/textfield/TextField.d.ts +1 -1
  128. package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +1 -1
  129. package/lib/mjs/providers/address/NominatimAddressProvider.js +5 -1
  130. package/lib/mjs/providers/processor/fileProcessor.d.ts +7 -1
  131. package/lib/mjs/providers/processor/fileProcessor.js +6 -0
  132. package/lib/mjs/providers/storage/azure.d.ts +4 -15
  133. package/lib/mjs/providers/storage/azure.js +3 -2
  134. package/lib/mjs/providers/storage/base64.d.ts +3 -7
  135. package/lib/mjs/providers/storage/base64.js +2 -1
  136. package/lib/mjs/providers/storage/dropbox.d.ts +4 -6
  137. package/lib/mjs/providers/storage/dropbox.js +3 -2
  138. package/lib/mjs/providers/storage/googleDrive.d.ts +4 -6
  139. package/lib/mjs/providers/storage/googleDrive.js +3 -1
  140. package/lib/mjs/providers/storage/indexeddb.d.ts +3 -8
  141. package/lib/mjs/providers/storage/indexeddb.js +2 -1
  142. package/lib/mjs/providers/storage/s3.d.ts +4 -22
  143. package/lib/mjs/providers/storage/s3.js +3 -2
  144. package/lib/mjs/providers/storage/url.d.ts +3 -8
  145. package/lib/mjs/providers/storage/url.js +4 -3
  146. package/lib/mjs/providers/storage/util.d.ts +22 -6
  147. package/lib/mjs/providers/storage/util.js +16 -5
  148. package/lib/mjs/utils/builder.d.ts +9 -7
  149. package/lib/mjs/utils/builder.js +10 -5
  150. package/lib/mjs/utils/calendarUtils.d.ts +6 -10
  151. package/lib/mjs/utils/calendarUtils.js +7 -11
  152. package/lib/mjs/utils/formUtils.d.ts +4 -4
  153. package/lib/mjs/utils/formUtils.js +3 -3
  154. package/lib/mjs/utils/utils.d.ts +123 -121
  155. package/lib/mjs/utils/utils.js +99 -94
  156. package/package.json +10 -10
@@ -89,14 +89,14 @@
89
89
  declare class Webform extends NestedDataComponent {
90
90
  /**
91
91
  * Creates a new Form instance.
92
- * @param {HTMLElement | object | FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
93
- * @param {FormOptions} [options] - The options to create a new form instance.
92
+ * @param {HTMLElement | object | import('Form').FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
93
+ * @param {import('Form').FormOptions} [options] - The options to create a new form instance.
94
94
  */
95
- constructor(elementOrOptions?: HTMLElement | object | FormOptions, options?: FormOptions | undefined);
95
+ constructor(elementOrOptions?: HTMLElement | object | import('Form').FormOptions, options?: any);
96
96
  /**
97
- * @type {FormOptions} - the options for this Webform.
97
+ * @type {import('Form').FormOptions} - the options for this Webform.
98
98
  */
99
- options: FormOptions;
99
+ options: any;
100
100
  _src: string;
101
101
  _loading: boolean;
102
102
  _form: {};
@@ -359,7 +359,7 @@ declare class Webform extends NestedDataComponent {
359
359
  executeFormController(): false | undefined;
360
360
  build(element: any): Promise<any>;
361
361
  getClassName(): string;
362
- render(): string;
362
+ render(): import("./components/_classes/field/Field").default;
363
363
  redraw(): Promise<void> | Promise<boolean>;
364
364
  attach(element: any): Promise<boolean>;
365
365
  hasRequiredFields(): boolean;
@@ -140,8 +140,8 @@ function getOptions(options) {
140
140
  class Webform extends NestedDataComponent_1.default {
141
141
  /**
142
142
  * Creates a new Form instance.
143
- * @param {HTMLElement | object | FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
144
- * @param {FormOptions} [options] - The options to create a new form instance.
143
+ * @param {HTMLElement | object | import('Form').FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
144
+ * @param {import('Form').FormOptions} [options] - The options to create a new form instance.
145
145
  */
146
146
  constructor(elementOrOptions, options) {
147
147
  let element, formOptions;
@@ -88,7 +88,7 @@ declare class Wizard extends Webform {
88
88
  }): any[];
89
89
  findRootPanel(component: any): any;
90
90
  setRootPanelId(component: any): void;
91
- establishPages(data?: any): any[];
91
+ establishPages(data?: object): any[];
92
92
  updatePages(): void;
93
93
  addComponents(): void;
94
94
  setPage(num: any): Promise<void>;
@@ -680,25 +680,26 @@ export default class PasswordStrengthAddon extends FormioAddon {
680
680
  };
681
681
  /**
682
682
  * Determines is a password is secure enough to submit
683
- * @returns {boolean}
683
+ * @returns {boolean} - returns TRUE if password is valid, FALSE if it is not.
684
684
  */
685
685
  isValid(): boolean;
686
686
  /**
687
687
  * Handles the result of check and constructs a new error object or returns an amount of points to add to the current entropy
688
688
  * @param {boolean|number} valid - Determines if the validation was failed or an amount of points if it was passed
689
689
  * @param {*} validation - Validation configuration
690
- * @param {string} value - Value which was validated
691
690
  * @param {string} message - Message which should be shown if validation was not passed
692
- * @param errors
691
+ * @param {any[]} errors - The errors array (will be mutated)
692
+ * @returns {number} - Returns an amount of points to add to the current entropy
693
693
  */
694
- handleRuleCheckResult(valid: boolean | number, validation: any, message: string, errors: any): any;
694
+ handleRuleCheckResult(valid: boolean | number, validation: any, message: string, errors: any[]): number;
695
695
  performChecks(value: any): {
696
696
  charactersPoolSize: number;
697
697
  errors: any[];
698
698
  };
699
699
  /**
700
700
  * Performs checks to validate password security
701
- * @param {string} value - Suggested password
701
+ * @param {string} value - The password value to be checked.
702
+ * @returns {boolean} - Returns TRUE if password is strong enough, FALSE if it is not.
702
703
  */
703
704
  checkValidity(value: string): boolean;
704
705
  handleBlackListCheckResult(result: any, errors: any): void;
@@ -709,8 +710,9 @@ export default class PasswordStrengthAddon extends FormioAddon {
709
710
  /**
710
711
  * Finds the level which one the passed entropy suits
711
712
  * @param {number} entropy - Points of password's security
713
+ * @returns {object} - Returns the level object
712
714
  */
713
- getLevel(entropy?: number): any;
715
+ getLevel(entropy?: number): object;
714
716
  /**
715
717
  * Update the current view of the password's security indicator
716
718
  */
@@ -204,7 +204,7 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
204
204
  }
205
205
  /**
206
206
  * Determines is a password is secure enough to submit
207
- * @returns {boolean}
207
+ * @returns {boolean} - returns TRUE if password is valid, FALSE if it is not.
208
208
  */
209
209
  isValid() {
210
210
  const isValidCheck = this.settings.isValid;
@@ -221,9 +221,9 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
221
221
  * Handles the result of check and constructs a new error object or returns an amount of points to add to the current entropy
222
222
  * @param {boolean|number} valid - Determines if the validation was failed or an amount of points if it was passed
223
223
  * @param {*} validation - Validation configuration
224
- * @param {string} value - Value which was validated
225
224
  * @param {string} message - Message which should be shown if validation was not passed
226
- * @param errors
225
+ * @param {any[]} errors - The errors array (will be mutated)
226
+ * @returns {number} - Returns an amount of points to add to the current entropy
227
227
  */
228
228
  handleRuleCheckResult(valid, validation, message, errors) {
229
229
  if (valid !== true) {
@@ -263,7 +263,8 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
263
263
  }
264
264
  /**
265
265
  * Performs checks to validate password security
266
- * @param {string} value - Suggested password
266
+ * @param {string} value - The password value to be checked.
267
+ * @returns {boolean} - Returns TRUE if password is strong enough, FALSE if it is not.
267
268
  */
268
269
  checkValidity(value) {
269
270
  var _a;
@@ -363,6 +364,7 @@ class PasswordStrengthAddon extends FormioAddon_1.default {
363
364
  /**
364
365
  * Finds the level which one the passed entropy suits
365
366
  * @param {number} entropy - Points of password's security
367
+ * @returns {object} - Returns the level object
366
368
  */
367
369
  getLevel(entropy = this.entropy) {
368
370
  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';
@@ -4,7 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Component_1 = __importDefault(require("../component/Component"));
7
+ /*
8
+ * Field class is a base class for all fields.
9
+ * @extends Component
10
+ */
7
11
  class Field extends Component_1.default {
12
+ /**
13
+ * @param {object} element - The component to create.
14
+ * @returns {Field} - The created field.
15
+ */
8
16
  render(element) {
9
17
  if (this.noField) {
10
18
  return super.render(element);
@@ -19,7 +27,11 @@ class Field extends Component_1.default {
19
27
  }));
20
28
  }
21
29
  }
22
- // Saves current caret position to restore it after the component is redrawn
30
+ /**
31
+ /* Saves current caret position to restore it after the component is redrawn
32
+ * @param {HTMLElement} element - The element to save the caret position for.
33
+ * @param {number} index - The index of the element.
34
+ */
23
35
  saveCaretPosition(element, index) {
24
36
  var _a, _b;
25
37
  if (((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.focusedComponent) === null || _b === void 0 ? void 0 : _b.path) === this.path) {
@@ -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';
@@ -244,8 +244,8 @@ class Input extends Multivalue_1.default {
244
244
  }
245
245
  /**
246
246
  * Creates an instance of a widget for this component.
247
- * @param index
248
- * @returns {null}
247
+ * @param {number} index - The index of the widget.
248
+ * @returns {*} - The widget instance.
249
249
  */
250
250
  createWidget(index) {
251
251
  var _a, _b;
@@ -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;
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Components_1 = __importDefault(require("../../Components"));
7
7
  const ListComponent_edit_data_1 = __importDefault(require("./editForm/ListComponent.edit.data"));
8
8
  /**
9
- *
10
- * @param {...any} extend
9
+ * List Component edit form.
10
+ * @param {...any} extend - The extended schema.
11
+ * @returns {object} - The List Component edit form.
11
12
  */
12
13
  function default_1(...extend) {
13
14
  return Components_1.default.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
  /**
@@ -34,6 +34,9 @@ class Multivalue extends Field_1.default {
34
34
  useWrapper() {
35
35
  return this.component.hasOwnProperty('multiple') && this.component.multiple;
36
36
  }
37
+ /**
38
+ * @returns {Field} - The created field.
39
+ */
37
40
  render() {
38
41
  // If single value field.
39
42
  if (!this.useWrapper()) {
@@ -56,6 +59,12 @@ class Multivalue extends Field_1.default {
56
59
  renderElement() {
57
60
  return '';
58
61
  }
62
+ /**
63
+ * Renders a single row for multi-value components.
64
+ * @param {any} value - The value associated with the row to render.
65
+ * @param {number} index - The index of the row in the multi-value list.
66
+ * @returns {any} Returns the HTML string representation of the row.
67
+ */
59
68
  renderRow(value, index) {
60
69
  return this.renderTemplate('multiValueRow', {
61
70
  index,
@@ -63,6 +72,10 @@ class Multivalue extends Field_1.default {
63
72
  element: `${this.renderElement(value, index)}`,
64
73
  });
65
74
  }
75
+ /**
76
+ * @param {HTMLElement} dom - The DOM element to which the component will attach.
77
+ * @returns {Promise} - Promise that resolves when all asynchronous tasks that have finished.
78
+ */
66
79
  attach(dom) {
67
80
  const superAttach = super.attach(dom);
68
81
  this.loadRefs(dom, {
@@ -96,6 +109,9 @@ class Multivalue extends Field_1.default {
96
109
  return Promise.all(promises);
97
110
  });
98
111
  }
112
+ /**
113
+ * Remove all event handlers.
114
+ */
99
115
  detach() {
100
116
  if (this.refs.input && this.refs.input.length) {
101
117
  this.refs.input.forEach((input) => {
@@ -118,8 +134,8 @@ class Multivalue extends Field_1.default {
118
134
  }
119
135
  /**
120
136
  * Attach inputs to the element.
121
- * @param element
122
- * @param index
137
+ * @param {HTMLElement} element - The element to attach.
138
+ * @param {number} index - The index of the element to attach.
123
139
  */
124
140
  attachElement(element, index) {
125
141
  this.addEventListener(element, this.inputInfo.changeEvent, () => {
@@ -181,9 +197,18 @@ class Multivalue extends Field_1.default {
181
197
  }
182
198
  }
183
199
  }
200
+ /**
201
+ * Event handler for selecting a mask from a dropdown.
202
+ * @param {Event} event - Event triggered by changing the selected option in mask.
203
+ */
184
204
  onSelectMaskHandler(event) {
185
205
  this.updateMask(event.target.maskInput, this.getMaskPattern(event.target.value));
186
206
  }
207
+ /**
208
+ * Retrieves the mask pattern for a given mask name
209
+ * @param {string} maskName - The name of the mask to retrieve.
210
+ * @returns {any} The mask pattern associated with the given mask name.
211
+ */
187
212
  getMaskPattern(maskName) {
188
213
  if (!this.multiMasks) {
189
214
  this.multiMasks = {};
@@ -195,6 +220,11 @@ class Multivalue extends Field_1.default {
195
220
  this.multiMasks[maskName] = mask ? mask.mask : this.component.inputMasks[0].mask;
196
221
  return this.multiMasks[maskName];
197
222
  }
223
+ /**
224
+ * Attaches a selectable mask to an input field based on its configuration.
225
+ * @param {number} index - The index of the select or input in component array.
226
+ * @returns {boolean} - Returns true if the mask was successfully attached
227
+ */
198
228
  attachMultiMask(index) {
199
229
  if (!(this.isMultipleMasksField && this.component.inputMasks.length && this.refs.input.length)) {
200
230
  return false;
@@ -205,6 +235,10 @@ class Multivalue extends Field_1.default {
205
235
  this.setInputMask(maskSelect.maskInput, this.component.inputMasks[0].mask);
206
236
  return true;
207
237
  }
238
+ /**
239
+ * @param {any} input - The input element on which the mask is to be applied.
240
+ * @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
241
+ */
208
242
  updateMask(input, mask) {
209
243
  if (!mask) {
210
244
  return;
@@ -214,7 +248,7 @@ class Multivalue extends Field_1.default {
214
248
  }
215
249
  /**
216
250
  * Adds a new empty value to the data array.
217
- * @param value
251
+ * @param {any} value -A value to be added to the data array.
218
252
  */
219
253
  addNewValue(value) {
220
254
  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;