@formio/js 5.1.0-dev.6056.ba6432d → 5.1.0-dev.6059.845a6e3

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 (196) hide show
  1. package/Changelog.md +13 -131
  2. package/README.md +1 -28
  3. package/dist/formio.builder.css +17 -19
  4. package/dist/formio.builder.min.css +1 -1
  5. package/dist/formio.embed.js +1 -1
  6. package/dist/formio.embed.min.js +1 -1
  7. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  8. package/dist/formio.form.css +17 -19
  9. package/dist/formio.form.js +176 -102
  10. package/dist/formio.form.min.css +1 -1
  11. package/dist/formio.form.min.js +1 -1
  12. package/dist/formio.form.min.js.LICENSE.txt +3 -3
  13. package/dist/formio.full.css +17 -19
  14. package/dist/formio.full.js +101 -123
  15. package/dist/formio.full.min.css +2 -2
  16. package/dist/formio.full.min.js +1 -1
  17. package/dist/formio.full.min.js.LICENSE.txt +3 -3
  18. package/dist/formio.js +10 -10
  19. package/dist/formio.min.js +1 -1
  20. package/dist/formio.min.js.LICENSE.txt +1 -1
  21. package/dist/formio.utils.js +3 -3
  22. package/dist/formio.utils.min.js +1 -1
  23. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  24. package/lib/cjs/CDN.d.ts +1 -1
  25. package/lib/cjs/CDN.js +2 -2
  26. package/lib/cjs/Embed.js +1 -1
  27. package/lib/cjs/Form.d.ts +6 -4
  28. package/lib/cjs/Form.js +8 -16
  29. package/lib/cjs/Formio.js +1 -1
  30. package/lib/cjs/PDFBuilder.js +4 -4
  31. package/lib/cjs/Webform.d.ts +13 -16
  32. package/lib/cjs/Webform.js +148 -162
  33. package/lib/cjs/WebformBuilder.js +28 -17
  34. package/lib/cjs/Wizard.js +1 -1
  35. package/lib/cjs/WizardBuilder.js +2 -15
  36. package/lib/cjs/components/Components.d.ts +0 -3
  37. package/lib/cjs/components/_classes/component/Component.d.ts +0 -1
  38. package/lib/cjs/components/_classes/component/Component.js +11 -38
  39. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  40. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  41. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +2 -13
  42. package/lib/cjs/components/_classes/component/editForm/utils.d.ts +0 -1
  43. package/lib/cjs/components/_classes/component/editForm/utils.js +0 -3
  44. package/lib/cjs/components/_classes/input/Input.js +1 -23
  45. package/lib/cjs/components/_classes/list/ListComponent.js +4 -4
  46. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
  47. package/lib/cjs/components/_classes/multivalue/Multivalue.js +3 -10
  48. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +0 -13
  49. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -2
  50. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +31 -52
  51. package/lib/cjs/components/address/Address.js +1 -1
  52. package/lib/cjs/components/button/Button.js +6 -6
  53. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  54. package/lib/cjs/components/checkbox/Checkbox.js +2 -2
  55. package/lib/cjs/components/content/editForm/Content.edit.display.js +0 -8
  56. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +0 -12
  57. package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -2
  58. package/lib/cjs/components/datagrid/DataGrid.js +26 -41
  59. package/lib/cjs/components/day/Day.js +7 -9
  60. package/lib/cjs/components/day/editForm/Day.edit.display.js +0 -8
  61. package/lib/cjs/components/editgrid/EditGrid.d.ts +1 -1
  62. package/lib/cjs/components/editgrid/EditGrid.js +8 -26
  63. package/lib/cjs/components/email/editForm/Email.edit.display.js +0 -12
  64. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +0 -8
  65. package/lib/cjs/components/file/File.d.ts +1 -1
  66. package/lib/cjs/components/file/File.js +17 -23
  67. package/lib/cjs/components/form/Form.d.ts +1 -1
  68. package/lib/cjs/components/form/Form.js +5 -9
  69. package/lib/cjs/components/form/editForm/Form.edit.form.js +3 -3
  70. package/lib/cjs/components/hidden/Hidden.d.ts +1 -0
  71. package/lib/cjs/components/hidden/Hidden.js +1 -1
  72. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +0 -8
  73. package/lib/cjs/components/html/editForm/HTML.edit.display.js +0 -8
  74. package/lib/cjs/components/number/Number.js +5 -12
  75. package/lib/cjs/components/number/editForm/Number.edit.display.js +0 -12
  76. package/lib/cjs/components/password/editForm/Password.edit.display.js +1 -13
  77. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +1 -9
  78. package/lib/cjs/components/radio/Radio.js +0 -10
  79. package/lib/cjs/components/recaptcha/ReCaptcha.js +2 -2
  80. package/lib/cjs/components/select/Select.d.ts +1 -0
  81. package/lib/cjs/components/select/Select.js +33 -12
  82. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  83. package/lib/cjs/components/select/editForm/Select.edit.data.js +2 -3
  84. package/lib/cjs/components/selectboxes/SelectBoxes.js +2 -2
  85. package/lib/cjs/components/signature/Signature.d.ts +1 -1
  86. package/lib/cjs/components/signature/Signature.js +3 -5
  87. package/lib/cjs/components/signature/editForm/Signature.edit.display.d.ts +6 -0
  88. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +1 -0
  89. package/lib/cjs/components/survey/Survey.js +2 -2
  90. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +0 -8
  91. package/lib/cjs/components/tags/Tags.d.ts +1 -1
  92. package/lib/cjs/components/tags/Tags.js +2 -2
  93. package/lib/cjs/components/textarea/TextArea.js +6 -6
  94. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +0 -12
  95. package/lib/cjs/components/url/editForm/Url.edit.display.js +0 -12
  96. package/lib/cjs/components/well/editForm/Well.edit.display.js +0 -8
  97. package/lib/cjs/formio.form.js +0 -5
  98. package/lib/cjs/providers/storage/googleDrive.js +2 -3
  99. package/lib/cjs/providers/storage/s3.js +3 -3
  100. package/lib/cjs/providers/storage/xhr.d.ts +0 -1
  101. package/lib/cjs/providers/storage/xhr.js +1 -6
  102. package/lib/cjs/translations/en.d.ts +81 -234
  103. package/lib/cjs/translations/en.js +81 -8
  104. package/lib/cjs/utils/ChoicesWrapper.d.ts +25 -4
  105. package/lib/cjs/utils/ChoicesWrapper.js +124 -47
  106. package/lib/cjs/utils/formUtils.d.ts +2 -2
  107. package/lib/cjs/utils/i18n.d.ts +2 -5
  108. package/lib/cjs/utils/i18n.js +5 -32
  109. package/lib/cjs/widgets/CalendarWidget.js +27 -27
  110. package/lib/mjs/CDN.d.ts +1 -1
  111. package/lib/mjs/CDN.js +2 -2
  112. package/lib/mjs/Embed.js +1 -1
  113. package/lib/mjs/Form.d.ts +6 -4
  114. package/lib/mjs/Form.js +9 -17
  115. package/lib/mjs/Formio.js +1 -1
  116. package/lib/mjs/PDFBuilder.js +4 -4
  117. package/lib/mjs/Webform.d.ts +13 -16
  118. package/lib/mjs/Webform.js +158 -171
  119. package/lib/mjs/WebformBuilder.js +28 -17
  120. package/lib/mjs/Wizard.js +1 -1
  121. package/lib/mjs/WizardBuilder.js +2 -15
  122. package/lib/mjs/components/Components.d.ts +0 -3
  123. package/lib/mjs/components/_classes/component/Component.d.ts +0 -1
  124. package/lib/mjs/components/_classes/component/Component.js +11 -27
  125. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  126. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  127. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +2 -13
  128. package/lib/mjs/components/_classes/component/editForm/utils.d.ts +0 -1
  129. package/lib/mjs/components/_classes/component/editForm/utils.js +0 -3
  130. package/lib/mjs/components/_classes/input/Input.js +1 -22
  131. package/lib/mjs/components/_classes/list/ListComponent.js +4 -4
  132. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
  133. package/lib/mjs/components/_classes/multivalue/Multivalue.js +3 -10
  134. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +0 -13
  135. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -2
  136. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +31 -53
  137. package/lib/mjs/components/address/Address.js +1 -1
  138. package/lib/mjs/components/button/Button.js +6 -6
  139. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  140. package/lib/mjs/components/checkbox/Checkbox.js +2 -2
  141. package/lib/mjs/components/content/editForm/Content.edit.display.js +0 -8
  142. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +0 -12
  143. package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -2
  144. package/lib/mjs/components/datagrid/DataGrid.js +26 -41
  145. package/lib/mjs/components/day/Day.js +7 -9
  146. package/lib/mjs/components/day/editForm/Day.edit.display.js +0 -8
  147. package/lib/mjs/components/editgrid/EditGrid.d.ts +1 -1
  148. package/lib/mjs/components/editgrid/EditGrid.js +7 -25
  149. package/lib/mjs/components/email/editForm/Email.edit.display.js +0 -12
  150. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +0 -8
  151. package/lib/mjs/components/file/File.d.ts +1 -1
  152. package/lib/mjs/components/file/File.js +17 -23
  153. package/lib/mjs/components/form/Form.d.ts +1 -1
  154. package/lib/mjs/components/form/Form.js +5 -8
  155. package/lib/mjs/components/form/editForm/Form.edit.form.js +3 -3
  156. package/lib/mjs/components/hidden/Hidden.d.ts +1 -0
  157. package/lib/mjs/components/hidden/Hidden.js +1 -1
  158. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +0 -8
  159. package/lib/mjs/components/html/editForm/HTML.edit.display.js +0 -8
  160. package/lib/mjs/components/number/Number.js +5 -12
  161. package/lib/mjs/components/number/editForm/Number.edit.display.js +0 -12
  162. package/lib/mjs/components/password/editForm/Password.edit.display.js +1 -13
  163. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +1 -9
  164. package/lib/mjs/components/radio/Radio.js +0 -10
  165. package/lib/mjs/components/recaptcha/ReCaptcha.js +2 -2
  166. package/lib/mjs/components/select/Select.d.ts +1 -0
  167. package/lib/mjs/components/select/Select.js +34 -14
  168. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  169. package/lib/mjs/components/select/editForm/Select.edit.data.js +2 -3
  170. package/lib/mjs/components/selectboxes/SelectBoxes.js +2 -2
  171. package/lib/mjs/components/signature/Signature.d.ts +1 -1
  172. package/lib/mjs/components/signature/Signature.js +3 -5
  173. package/lib/mjs/components/signature/editForm/Signature.edit.display.d.ts +6 -0
  174. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +1 -0
  175. package/lib/mjs/components/survey/Survey.js +2 -2
  176. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +0 -8
  177. package/lib/mjs/components/tags/Tags.d.ts +1 -1
  178. package/lib/mjs/components/tags/Tags.js +2 -2
  179. package/lib/mjs/components/textarea/TextArea.js +6 -6
  180. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +0 -12
  181. package/lib/mjs/components/url/editForm/Url.edit.display.js +0 -12
  182. package/lib/mjs/components/well/editForm/Well.edit.display.js +0 -8
  183. package/lib/mjs/formio.form.js +0 -5
  184. package/lib/mjs/providers/storage/googleDrive.js +2 -3
  185. package/lib/mjs/providers/storage/s3.js +3 -3
  186. package/lib/mjs/providers/storage/xhr.d.ts +0 -1
  187. package/lib/mjs/providers/storage/xhr.js +1 -6
  188. package/lib/mjs/translations/en.d.ts +81 -234
  189. package/lib/mjs/translations/en.js +1 -87
  190. package/lib/mjs/utils/ChoicesWrapper.d.ts +25 -4
  191. package/lib/mjs/utils/ChoicesWrapper.js +119 -26
  192. package/lib/mjs/utils/formUtils.d.ts +2 -2
  193. package/lib/mjs/utils/i18n.d.ts +2 -5
  194. package/lib/mjs/utils/i18n.js +5 -32
  195. package/lib/mjs/widgets/CalendarWidget.js +27 -27
  196. package/package.json +11 -27
@@ -210,8 +210,7 @@ class WebformBuilder extends Component_1.default {
210
210
  params: {
211
211
  type: 'resource',
212
212
  limit: 1000000,
213
- select: '_id,title,name,components',
214
- 'tags__ne': 'noBuilderResource'
213
+ select: '_id,title,name,components'
215
214
  }
216
215
  };
217
216
  if (this.options && this.options.resourceTag) {
@@ -233,7 +232,7 @@ class WebformBuilder extends Component_1.default {
233
232
  }
234
233
  }
235
234
  }).catch((err) => {
236
- console.warn(`${this.t('loadingProjectSettingsError')}: ${err.message || err}`);
235
+ console.warn(`Could not load project settings: ${err.message || err}`);
237
236
  });
238
237
  if (!formio.noProject && !isResourcesDisabled && formio.formsUrl) {
239
238
  const resourceOptions = this.options.builder && this.options.builder.resource;
@@ -336,18 +335,18 @@ class WebformBuilder extends Component_1.default {
336
335
  editJson: 'single'
337
336
  });
338
337
  if (component.refs.copyComponent) {
339
- this.attachTooltip(component.refs.copyComponent, this.t('copy'));
338
+ this.attachTooltip(component.refs.copyComponent, this.t('Copy'));
340
339
  component.addEventListener(component.refs.copyComponent, 'click', () => this.copyComponent(component));
341
340
  }
342
341
  if (component.refs.pasteComponent) {
343
- const pasteToolTip = this.attachTooltip(component.refs.pasteComponent, this.t('pasteBelow'));
342
+ const pasteToolTip = this.attachTooltip(component.refs.pasteComponent, this.t('Paste below'));
344
343
  component.addEventListener(component.refs.pasteComponent, 'click', () => {
345
344
  pasteToolTip.hide();
346
345
  this.pasteComponent(component);
347
346
  });
348
347
  }
349
348
  if (component.refs.moveComponent) {
350
- this.attachTooltip(component.refs.moveComponent, this.t('move'));
349
+ this.attachTooltip(component.refs.moveComponent, this.t('Move'));
351
350
  if (this.keyboardActionsEnabled) {
352
351
  component.addEventListener(component.refs.moveComponent, 'click', () => {
353
352
  this.moveComponent(component);
@@ -356,15 +355,15 @@ class WebformBuilder extends Component_1.default {
356
355
  }
357
356
  const parent = this.getParentElement(element);
358
357
  if (component.refs.editComponent) {
359
- this.attachTooltip(component.refs.editComponent, this.t('edit'));
358
+ this.attachTooltip(component.refs.editComponent, this.t('Edit'));
360
359
  component.addEventListener(component.refs.editComponent, 'click', () => this.editComponent(component.schema, parent, false, false, component.component, { inDataGrid: component.isInDataGrid }));
361
360
  }
362
361
  if (component.refs.editJson) {
363
- this.attachTooltip(component.refs.editJson, this.t('editJson'));
362
+ this.attachTooltip(component.refs.editJson, this.t('Edit JSON'));
364
363
  component.addEventListener(component.refs.editJson, 'click', () => this.editComponent(component.schema, parent, false, true, component.component));
365
364
  }
366
365
  if (component.refs.removeComponent) {
367
- this.attachTooltip(component.refs.removeComponent, this.t('remove'));
366
+ this.attachTooltip(component.refs.removeComponent, this.t('Remove'));
368
367
  component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component, component));
369
368
  }
370
369
  return element;
@@ -810,18 +809,31 @@ class WebformBuilder extends Component_1.default {
810
809
  // Show an error if siblings are disabled for a component and such a component already exists.
811
810
  const compKey = (group === 'resource') ? `component-${key}` : key;
812
811
  const draggableComponent = ((_a = this.groups[group]) === null || _a === void 0 ? void 0 : _a.components[compKey]) || {};
813
- if (draggableComponent.disableSiblings || draggableComponent.uniqueComponent) {
812
+ if (draggableComponent.disableSiblings) {
814
813
  let isCompAlreadyExists = false;
815
814
  (0, formUtils_1.eachComponent)(this.webform.components, (component) => {
816
- if ((draggableComponent.disableSiblings && component.type === draggableComponent.schema.type) ||
817
- (draggableComponent.uniqueComponent && component.component.key === draggableComponent.schema.key)) {
815
+ if (component.type === draggableComponent.schema.type) {
818
816
  isCompAlreadyExists = true;
819
817
  return;
820
818
  }
821
819
  }, true);
822
820
  if (isCompAlreadyExists) {
823
821
  this.webform.redraw();
824
- this.webform.setAlert('danger', this.t('builderUniqueError', { componentKeyOrTitle: lodash_1.default.get(draggableComponent, draggableComponent.uniqueComponent ? 'title' : 'key') }));
822
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.key} component to one page.`);
823
+ return;
824
+ }
825
+ }
826
+ if (draggableComponent.uniqueComponent) {
827
+ let isCompAlreadyExists = false;
828
+ (0, formUtils_1.eachComponent)(this.webform.components, (component) => {
829
+ if (component.key === draggableComponent.schema.key) {
830
+ isCompAlreadyExists = true;
831
+ return;
832
+ }
833
+ }, true);
834
+ if (isCompAlreadyExists) {
835
+ this.webform.redraw();
836
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.title} component to one page.`);
825
837
  return;
826
838
  }
827
839
  }
@@ -1256,8 +1268,7 @@ class WebformBuilder extends Component_1.default {
1256
1268
  helplinks: this.helplinks,
1257
1269
  }));
1258
1270
  this.editForm.attach(this.componentEdit.querySelector(`[${this._referenceAttributeName}="editForm"]`));
1259
- const editFormData = (_a = this.editForm.submission) === null || _a === void 0 ? void 0 : _a.data;
1260
- this.updateComponent((editFormData === null || editFormData === void 0 ? void 0 : editFormData.componentJson) || editFormData || component);
1271
+ this.updateComponent((_a = this.editForm.submission.data) !== null && _a !== void 0 ? _a : component);
1261
1272
  this.attachEditComponentControls(component, parent, isNew, original, ComponentClass);
1262
1273
  });
1263
1274
  });
@@ -1522,7 +1533,7 @@ class WebformBuilder extends Component_1.default {
1522
1533
  */
1523
1534
  copyComponent(component) {
1524
1535
  if (!window.sessionStorage) {
1525
- return console.warn(this.t('sessionStorageSupportError'));
1536
+ return console.warn('Session storage is not supported in this browser.');
1526
1537
  }
1527
1538
  this.addClass(this.refs.form, 'builder-paste-mode');
1528
1539
  window.sessionStorage.setItem('formio.clipboard', JSON.stringify(component.schema));
@@ -1534,7 +1545,7 @@ class WebformBuilder extends Component_1.default {
1534
1545
  */
1535
1546
  pasteComponent(component) {
1536
1547
  if (!window.sessionStorage) {
1537
- return console.warn(this.t('sessionStorageSupportError'));
1548
+ return console.warn('Session storage is not supported in this browser.');
1538
1549
  }
1539
1550
  this.removeClass(this.refs.form, 'builder-paste-mode');
1540
1551
  if (window.sessionStorage) {
package/lib/cjs/Wizard.js CHANGED
@@ -614,7 +614,7 @@ class Wizard extends Webform_1.default {
614
614
  this.redraw();
615
615
  return Promise.resolve();
616
616
  }
617
- return Promise.reject(this.t('pageNotFound'));
617
+ return Promise.reject('Page not found');
618
618
  }
619
619
  pageFieldLogic(page) {
620
620
  var _a;
@@ -223,7 +223,7 @@ class WizardBuilder extends WebformBuilder_1.default {
223
223
  const isSiblingAnAddPageButton = sibling === null || sibling === void 0 ? void 0 : sibling.classList.contains('wizard-add-page');
224
224
  // We still can paste before Add Page button
225
225
  if (!element.dragInfo || (sibling && !sibling.dragInfo && !isSiblingAnAddPageButton)) {
226
- console.warn(this.t('noDragInfoError'));
226
+ console.warn('There is no Drag Info available for either dragged or sibling element');
227
227
  return;
228
228
  }
229
229
  const oldPosition = element.dragInfo.index;
@@ -261,23 +261,10 @@ class WizardBuilder extends WebformBuilder_1.default {
261
261
  if (component instanceof WizardBuilder) {
262
262
  return;
263
263
  }
264
- if (!window.sessionStorage) {
265
- return console.warn(this.t('sessionStorageSupportError'));
266
- }
267
- // If pasting after the Wizard's page, check if a full Wizard page was copied and pass it to addPage method
268
264
  if (this._form.components.find(comp => lodash_1.default.isEqual(component.component, comp))) {
269
- const data = window.sessionStorage.getItem('formio.clipboard');
270
- if (data) {
271
- const schema = JSON.parse(data);
272
- // If the copied component is not a Wizard's page, do nothing since we can't paste outside the panel in Wizard
273
- if (schema.type !== 'panel') {
274
- return;
275
- }
276
- this.addPage(schema);
277
- }
265
+ this.addPage(component);
278
266
  }
279
267
  else {
280
- // If we are not trying to paster after the current Wizard's page, just pass it to the WebformBuilder
281
268
  return super.pasteComponent(component);
282
269
  }
283
270
  }
@@ -2,7 +2,6 @@ export default class Components {
2
2
  static _editFormUtils: {
3
3
  sortAndFilterComponents(components: any): any;
4
4
  unifyComponents(objValue: any, srcValue: any): any;
5
- tokenVariableDescription(): string;
6
5
  logicVariablesTable(additional: any): {
7
6
  type: string;
8
7
  tag: string;
@@ -87,7 +86,6 @@ export default class Components {
87
86
  static set EditFormUtils(value: {
88
87
  sortAndFilterComponents(components: any): any;
89
88
  unifyComponents(objValue: any, srcValue: any): any;
90
- tokenVariableDescription(): string;
91
89
  logicVariablesTable(additional: any): {
92
90
  type: string;
93
91
  tag: string;
@@ -171,7 +169,6 @@ export default class Components {
171
169
  static get EditFormUtils(): {
172
170
  sortAndFilterComponents(components: any): any;
173
171
  unifyComponents(objValue: any, srcValue: any): any;
174
- tokenVariableDescription(): string;
175
172
  logicVariablesTable(additional: any): {
176
173
  type: string;
177
174
  tag: string;
@@ -855,7 +855,6 @@ declare class Component extends Element {
855
855
  quill: any;
856
856
  get shouldSanitizeValue(): boolean;
857
857
  addAce(element: any, settings: any, onChange: any): any;
858
- getDragula(): Promise<any>;
859
858
  get tree(): any;
860
859
  /**
861
860
  * The empty value for this component.
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
27
  };
@@ -198,7 +189,6 @@ class Component extends Element_1.default {
198
189
  properties: {},
199
190
  allowMultipleMasks: false,
200
191
  addons: [],
201
- serverOverride: {},
202
192
  }, ...sources);
203
193
  }
204
194
  /**
@@ -447,9 +437,6 @@ class Component extends Element_1.default {
447
437
  // Allow anyone to hook into the component creation.
448
438
  this.hook('component');
449
439
  if (!this.options.skipInit) {
450
- if (typeof this.beforeInit === 'function') {
451
- this.beforeInit();
452
- }
453
440
  this.init();
454
441
  }
455
442
  }
@@ -551,10 +538,7 @@ class Component extends Element_1.default {
551
538
  this.addons.push(addon);
552
539
  }
553
540
  else {
554
- console.warn(this.t('addonSupportTypeError', {
555
- type: this.component.type,
556
- label: name.label
557
- }));
541
+ console.warn(`Addon ${name.label} does not support component of type ${this.component.type}.`);
558
542
  }
559
543
  }
560
544
  return addon;
@@ -606,7 +590,7 @@ class Component extends Element_1.default {
606
590
  return this.paths.dataPath;
607
591
  }
608
592
  set path(path) {
609
- throw new Error(this.t('setPathError'));
593
+ throw new Error('Should not be setting the path of a component.');
610
594
  }
611
595
  set parentVisible(value) {
612
596
  this._parentVisible = value;
@@ -698,7 +682,7 @@ class Component extends Element_1.default {
698
682
  return this.options.attachMode === 'builder';
699
683
  }
700
684
  get calculatedPath() {
701
- console.error(this.t('calculatedPathDeprecation'));
685
+ console.error('component.calculatedPath was deprecated, use component.path instead.');
702
686
  return this.path;
703
687
  }
704
688
  get labelPosition() {
@@ -864,7 +848,7 @@ class Component extends Element_1.default {
864
848
  const name = names[names.length - 1];
865
849
  const templatesByName = Templates_1.default.defaultTemplates[name];
866
850
  if (!templatesByName) {
867
- return { template: this.t('unknownTemplate', { name }) };
851
+ return { template: `Unknown template: ${name}` };
868
852
  }
869
853
  const templateByMode = this.checkTemplateMode(templatesByName, modes);
870
854
  if (templateByMode) {
@@ -921,7 +905,9 @@ class Component extends Element_1.default {
921
905
  data.disabled = this.disabled;
922
906
  data.builder = this.builderMode;
923
907
  data.render = (...args) => {
924
- console.warn(this.t('renderTemplateFunctionDeprecation'));
908
+ console.warn(`Form.io 'render' template function is deprecated.
909
+ If you need to render template (template A) inside of another template (template B),
910
+ pass pre-compiled template A (use this.renderTemplate('template_A_name') as template context variable for template B`);
925
911
  return this.renderTemplate(...args);
926
912
  };
927
913
  data.label = data.labelInfo || this.labelInfo;
@@ -1124,7 +1110,7 @@ class Component extends Element_1.default {
1124
1110
  modalLabel = { className: 'field-required' };
1125
1111
  }
1126
1112
  return this.renderModalPreview({
1127
- previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('clickToSetValue'),
1113
+ previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('Click to set value'),
1128
1114
  messages: '',
1129
1115
  labelInfo: modalLabel,
1130
1116
  });
@@ -1149,7 +1135,7 @@ class Component extends Element_1.default {
1149
1135
  * @param {boolean} topLevel - If this is the topmost component that is being rendered.
1150
1136
  * @returns {string} - The rendered HTML string of a component.
1151
1137
  */
1152
- render(children = this.t('unknownComponent', { type: this.component.type }), topLevel = false) {
1138
+ render(children = `Unknown component: ${this.component.type}`, topLevel = false) {
1153
1139
  const isVisible = this.visible;
1154
1140
  this.rendered = true;
1155
1141
  if (!this.builderMode && !this.previewMode && this.component.modalEdit) {
@@ -2441,15 +2427,6 @@ class Component extends Element_1.default {
2441
2427
  return editor;
2442
2428
  });
2443
2429
  }
2444
- getDragula() {
2445
- return __awaiter(this, void 0, void 0, function* () {
2446
- return new Promise((resolve) => {
2447
- return Formio_1.Formio.requireLibrary('dragula', 'dragula', `${Formio_1.Formio.cdn.dragula}/dragula.js`, true, (ready) => {
2448
- return ready.then(resolve);
2449
- });
2450
- });
2451
- });
2452
- }
2453
2430
  get tree() {
2454
2431
  return this.component.tree || false;
2455
2432
  }
@@ -2579,7 +2556,7 @@ class Component extends Element_1.default {
2579
2556
  }
2580
2557
  return value;
2581
2558
  };
2582
- if (Array.isArray(this.defaultMask) ? this.defaultMask.length > 0 : this.defaultMask) {
2559
+ if (this.defaultMask) {
2583
2560
  if (Array.isArray(defaultValue)) {
2584
2561
  defaultValue = defaultValue.map(checkMask);
2585
2562
  }
@@ -3358,7 +3335,7 @@ class Component extends Element_1.default {
3358
3335
  }
3359
3336
  // Maintain reverse compatibility.
3360
3337
  whenReady() {
3361
- console.warn(this.t('whenReadyDeprecation'));
3338
+ console.warn('The whenReady() method has been deprecated. Please use the dataReady property instead.');
3362
3339
  return this.dataReady;
3363
3340
  }
3364
3341
  get dataReady() {
@@ -3493,10 +3470,6 @@ class Component extends Element_1.default {
3493
3470
  const disabled = this.shouldDisabled;
3494
3471
  // Change states which won't be recalculated during redrawing
3495
3472
  if (this.visible !== visible) {
3496
- // If the logic is triggered by an event and the action sets the hidden state then the original
3497
- // component definition must be changed so that the components hidden state does not get flipped back by
3498
- // the fieldLogic function
3499
- this.originalComponent.hidden = !visible;
3500
3473
  this.visible = visible;
3501
3474
  }
3502
3475
  if (this.disabled !== disabled) {
@@ -50,6 +50,6 @@ exports.default = [
50
50
  },
51
51
  utils_1.default.javaScriptValue('Advanced Conditions', 'customConditional', 'conditional.json', 110, '<p>You must assign the <strong>show</strong> variable a boolean result.</p>' +
52
52
  '<p><strong>Note: Advanced Conditional logic will override the results of the Simple Conditional logic.</strong></p>' +
53
- '<h5>Example</h5><pre>show = !!data.showMe;</pre>', '<p><a href="https://help.form.io/userguide/form-building/logic-and-conditions" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>', utils_1.default.tokenVariableDescription())
53
+ '<h5>Example</h5><pre>show = !!data.showMe;</pre>', '<p><a href="https://help.form.io/userguide/form-building/logic-and-conditions" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>')
54
54
  ];
55
55
  /* eslint-enable quotes, max-len */
@@ -87,9 +87,6 @@ declare const _default: ({
87
87
  valueProperty?: undefined;
88
88
  data?: undefined;
89
89
  conditional?: undefined;
90
- as?: undefined;
91
- editor?: undefined;
92
- description?: undefined;
93
90
  } | {
94
91
  type: string;
95
92
  label: string;
@@ -106,9 +103,6 @@ declare const _default: ({
106
103
  valueProperty?: undefined;
107
104
  data?: undefined;
108
105
  conditional?: undefined;
109
- as?: undefined;
110
- editor?: undefined;
111
- description?: undefined;
112
106
  } | {
113
107
  weight: number;
114
108
  type: string;
@@ -131,9 +125,6 @@ declare const _default: ({
131
125
  valueProperty?: undefined;
132
126
  data?: undefined;
133
127
  conditional?: undefined;
134
- as?: undefined;
135
- editor?: undefined;
136
- description?: undefined;
137
128
  } | {
138
129
  weight: number;
139
130
  type: string;
@@ -182,9 +173,6 @@ declare const _default: ({
182
173
  valueProperty?: undefined;
183
174
  data?: undefined;
184
175
  conditional?: undefined;
185
- as?: undefined;
186
- editor?: undefined;
187
- description?: undefined;
188
176
  } | {
189
177
  type: string;
190
178
  input: boolean;
@@ -212,9 +200,6 @@ declare const _default: ({
212
200
  defaultValue?: undefined;
213
201
  values?: undefined;
214
202
  logic?: undefined;
215
- as?: undefined;
216
- editor?: undefined;
217
- description?: undefined;
218
203
  } | {
219
204
  weight: number;
220
205
  type: string;
@@ -231,27 +216,5 @@ declare const _default: ({
231
216
  valueProperty?: undefined;
232
217
  data?: undefined;
233
218
  conditional?: undefined;
234
- as?: undefined;
235
- editor?: undefined;
236
- description?: undefined;
237
- } | {
238
- type: string;
239
- as: string;
240
- editor: string;
241
- weight: number;
242
- input: boolean;
243
- key: string;
244
- label: string;
245
- tooltip: string;
246
- defaultValue: {};
247
- description: string;
248
- placeholder?: undefined;
249
- inline?: undefined;
250
- values?: undefined;
251
- logic?: undefined;
252
- dataSrc?: undefined;
253
- valueProperty?: undefined;
254
- data?: undefined;
255
- conditional?: undefined;
256
219
  })[];
257
220
  export default _default;
@@ -140,7 +140,7 @@ exports.default = [
140
140
  input: true
141
141
  },
142
142
  utils_1.default.javaScriptValue('Custom Default Value', 'customDefaultValue', 'customDefaultValue', 1000, '<p><h4>Example:</h4><pre>value = data.firstName + " " + data.lastName;</pre></p>', '<p><h4>Example:</h4><pre>{"cat": [{"var": "data.firstName"}, " ", {"var": "data.lastName"}]}</pre>'),
143
- utils_1.default.javaScriptValue('Calculated Value', 'calculateValue', 'calculateValue', 1100, '<p><h4>Example:</h4><pre>value = data.a + data.b + data.c;</pre></p>', '<p><h4>Example:</h4><pre>{"+": [{"var": "data.a"}, {"var": "data.b"}, {"var": "data.c"}]}</pre><p><a href="https://help.form.io/userguide/form-building/logic-and-conditions#calculated-values" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>', utils_1.default.tokenVariableDescription()),
143
+ utils_1.default.javaScriptValue('Calculated Value', 'calculateValue', 'calculateValue', 1100, '<p><h4>Example:</h4><pre>value = data.a + data.b + data.c;</pre></p>', '<p><h4>Example:</h4><pre>{"+": [{"var": "data.a"}, {"var": "data.b"}, {"var": "data.c"}]}</pre><p><a href="https://help.form.io/userguide/form-building/logic-and-conditions#calculated-values" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>', '<tr><th>token</th><td>The decoded JWT token for the authenticated user.</td></tr>'),
144
144
  {
145
145
  type: 'checkbox',
146
146
  input: true,
@@ -157,16 +157,5 @@ exports.default = [
157
157
  label: 'Allow Manual Override of Calculated Value',
158
158
  tooltip: 'When checked, this will allow the user to manually override the calculated value.'
159
159
  },
160
- {
161
- type: 'textarea',
162
- as: 'json',
163
- editor: 'ace',
164
- weight: 1400,
165
- input: true,
166
- key: 'serverOverride',
167
- label: 'Server Override',
168
- tooltip: 'A JSON object containing the component settings that should be overriden when the form submission is processed on the server side.',
169
- defaultValue: {},
170
- description: '<b>Example</b>: { "clearOnHide": true }',
171
- }
172
160
  ];
161
+ /* eslint-enable max-len */
@@ -2,7 +2,6 @@ export default EditFormUtils;
2
2
  declare namespace EditFormUtils {
3
3
  function sortAndFilterComponents(components: any): any;
4
4
  function unifyComponents(objValue: any, srcValue: any): any;
5
- function tokenVariableDescription(): string;
6
5
  function logicVariablesTable(additional: any): {
7
6
  type: string;
8
7
  tag: string;
@@ -37,9 +37,6 @@ const EditFormUtils = {
37
37
  }
38
38
  return lodash_1.default.isEqual(objValue, srcValue);
39
39
  },
40
- tokenVariableDescription() {
41
- return '<tr><th>token</th><td>The decoded JWT token for the authenticated user.</td></tr>';
42
- },
43
40
  logicVariablesTable(additional) {
44
41
  additional = additional || '';
45
42
  return {
@@ -234,33 +234,11 @@ class Input extends Multivalue_1.default {
234
234
  this.addFocusBlurEvents(element);
235
235
  if (this.options.submitOnEnter) {
236
236
  this.addEventListener(element, 'keypress', (event) => {
237
- var _a;
238
237
  const key = event.keyCode || event.which;
239
238
  if (key === 13) {
240
239
  event.preventDefault();
241
240
  event.stopPropagation();
242
- let submitButton = null;
243
- if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.everyComponent) {
244
- this.root.everyComponent((component) => {
245
- if ((component === null || component === void 0 ? void 0 : component.component.type) === 'button' &&
246
- (component === null || component === void 0 ? void 0 : component.component.action) === 'submit') {
247
- submitButton = component;
248
- return false;
249
- }
250
- });
251
- }
252
- const options = {};
253
- if (submitButton) {
254
- options.instance = submitButton;
255
- options.component = submitButton.component;
256
- options.noValidate = this.component.state === 'draft';
257
- options.state = this.component.state || 'submitted';
258
- submitButton.loading = true;
259
- this.emit('submitButton', options);
260
- }
261
- else {
262
- this.emit('submitButton', options);
263
- }
241
+ this.emit('submitButton');
264
242
  }
265
243
  });
266
244
  }
@@ -138,12 +138,12 @@ class ListComponent extends Field_1.default {
138
138
  component: this.component,
139
139
  message: err.toString(),
140
140
  });
141
- console.warn(this.t('loadResourcesError', { componentKey: this.key }));
141
+ console.warn(`Unable to load resources for ${this.key}`);
142
142
  }
143
143
  /* eslint-disable max-statements */
144
144
  updateItems(searchInput, forceUpdate) {
145
145
  if (!this.component.data) {
146
- console.warn(this.t('noSelectDataConfiguration', { componentKey: this.key }));
146
+ console.warn(`Select component ${this.key} does not have data configuration.`);
147
147
  this.itemsLoadedResolve();
148
148
  return;
149
149
  }
@@ -175,7 +175,7 @@ class ListComponent extends Field_1.default {
175
175
  this.loadItems(resourceUrl, searchInput, this.requestHeaders);
176
176
  }
177
177
  catch (err) {
178
- console.warn(this.t('loadResourcesError', { componentKey: this.key }));
178
+ console.warn(`Unable to load resources for ${this.key}`);
179
179
  }
180
180
  }
181
181
  else {
@@ -219,7 +219,7 @@ class ListComponent extends Field_1.default {
219
219
  return;
220
220
  }
221
221
  if (!window.indexedDB) {
222
- window.alert(this.t('indexedDBSupportError'));
222
+ window.alert("Your browser doesn't support current version of indexedDB");
223
223
  }
224
224
  if (this.component.indexeddb && this.component.indexeddb.database && this.component.indexeddb.table) {
225
225
  const request = window.indexedDB.open(this.component.indexeddb.database);
@@ -51,7 +51,7 @@ export default class Multivalue extends Field {
51
51
  attachMultiMask(index: number): boolean;
52
52
  /**
53
53
  * @param {any} input - The input element on which the mask is to be applied.
54
- * @param {string} mask - The mask pattern to apply to the input element. Exit early and remove previous mask if no mask.
54
+ * @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
55
55
  */
56
56
  updateMask(input: any, mask: string): void;
57
57
  /**
@@ -66,7 +66,7 @@ class Multivalue extends Field_1.default {
66
66
  return value;
67
67
  }
68
68
  get addAnother() {
69
- return this.t(this.component.addAnother || 'addAnother');
69
+ return this.t(this.component.addAnother || 'Add Another');
70
70
  }
71
71
  /**
72
72
  * @returns {Field} - The created field.
@@ -185,7 +185,7 @@ class Multivalue extends Field_1.default {
185
185
  this.saveCaretPosition(element, index);
186
186
  }
187
187
  catch (err) {
188
- console.warn(this.t('caretPositionSavingError'), err);
188
+ console.warn('An error occurred while trying to save caret position', err);
189
189
  }
190
190
  // If a mask is present, delay the update to allow mask to update first.
191
191
  if (element.mask) {
@@ -264,17 +264,10 @@ class Multivalue extends Field_1.default {
264
264
  }
265
265
  /**
266
266
  * @param {any} input - The input element on which the mask is to be applied.
267
- * @param {string} mask - The mask pattern to apply to the input element. Exit early and remove previous mask if no mask.
267
+ * @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
268
268
  */
269
269
  updateMask(input, mask) {
270
270
  if (!mask) {
271
- if (input.mask) {
272
- input.mask.destroy();
273
- }
274
- if (!this.component.placeholder) {
275
- input.removeAttribute('placeholder');
276
- }
277
- input.value = '';
278
271
  return;
279
272
  }
280
273
  this.setInputMask(input, mask, !this.component.placeholder);
@@ -11,19 +11,6 @@ const Components_1 = __importDefault(require("../../Components"));
11
11
  */
12
12
  function default_1(...extend) {
13
13
  return Components_1.default.baseEditForm([
14
- {
15
- key: 'display',
16
- components: [
17
- {
18
- key: 'labelWidth',
19
- ignore: true
20
- },
21
- {
22
- key: 'labelMargin',
23
- ignore: true
24
- }
25
- ]
26
- },
27
14
  {
28
15
  key: 'data',
29
16
  ignore: true
@@ -13,8 +13,6 @@ export default class NestedArrayComponent extends NestedDataComponent {
13
13
  processRow(method: any, data: any, opts: any, row: any, components: any, silentCheck: any): any;
14
14
  hasAddButton(): any;
15
15
  everyComponent(fn: any, rowIndex: any, options?: {}): void;
16
- _getEmailTableHeader(options: any): string;
17
- _getEmailTableBody(options: any): string;
18
16
  getComponents(rowIndex: any): any;
19
17
  removeSubmissionMetadataRow(index: any): void;
20
18
  }