@formio/js 5.4.1 → 5.4.2

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 (215) hide show
  1. package/README.md +11 -5
  2. package/dist/formio.builder.css +1 -0
  3. package/dist/formio.builder.min.css +1 -1
  4. package/dist/formio.embed.js +1 -1
  5. package/dist/formio.embed.min.js +1 -1
  6. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  7. package/dist/formio.form.css +1 -0
  8. package/dist/formio.form.js +131 -109
  9. package/dist/formio.form.min.css +1 -1
  10. package/dist/formio.form.min.js +1 -1
  11. package/dist/formio.form.min.js.LICENSE.txt +2 -2
  12. package/dist/formio.full.css +1 -0
  13. package/dist/formio.full.js +155 -133
  14. package/dist/formio.full.min.css +1 -1
  15. package/dist/formio.full.min.js +1 -1
  16. package/dist/formio.full.min.js.LICENSE.txt +2 -2
  17. package/dist/formio.js +26 -26
  18. package/dist/formio.min.js +1 -1
  19. package/dist/formio.min.js.LICENSE.txt +2 -2
  20. package/dist/formio.utils.js +19 -19
  21. package/dist/formio.utils.min.js +1 -1
  22. package/dist/formio.utils.min.js.LICENSE.txt +2 -2
  23. package/lib/cjs/Embed.js +8 -16
  24. package/lib/cjs/Form.js +4 -4
  25. package/lib/cjs/Formio.js +2 -9
  26. package/lib/cjs/InlineEmbed.js +1 -4
  27. package/lib/cjs/PDF.js +28 -8
  28. package/lib/cjs/PDFBuilder.js +6 -10
  29. package/lib/cjs/Webform.d.ts +1 -0
  30. package/lib/cjs/Webform.js +19 -34
  31. package/lib/cjs/WebformBuilder.js +27 -68
  32. package/lib/cjs/Wizard.d.ts +1 -0
  33. package/lib/cjs/Wizard.js +44 -31
  34. package/lib/cjs/WizardBuilder.js +5 -15
  35. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +2 -6
  36. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +3 -9
  37. package/lib/cjs/addons/index.js +1 -3
  38. package/lib/cjs/components/_classes/component/Component.d.ts +5 -5
  39. package/lib/cjs/components/_classes/component/Component.js +60 -132
  40. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +2 -4
  41. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +4 -16
  42. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +1 -4
  43. package/lib/cjs/components/_classes/field/Field.js +1 -4
  44. package/lib/cjs/components/_classes/input/Input.js +2 -2
  45. package/lib/cjs/components/_classes/list/ListComponent.js +4 -4
  46. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +6 -28
  47. package/lib/cjs/components/_classes/multivalue/Multivalue.js +8 -26
  48. package/lib/cjs/components/_classes/nested/NestedComponent.js +1 -4
  49. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +5 -9
  50. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -3
  51. package/lib/cjs/components/address/Address.js +10 -30
  52. package/lib/cjs/components/address/editForm/Address.edit.provider.js +8 -32
  53. package/lib/cjs/components/alert/Alert.js +3 -6
  54. package/lib/cjs/components/button/Button.js +10 -17
  55. package/lib/cjs/components/button/editForm/Button.edit.display.js +8 -32
  56. package/lib/cjs/components/checkbox/Checkbox.js +4 -10
  57. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +2 -8
  58. package/lib/cjs/components/columns/Columns.js +5 -17
  59. package/lib/cjs/components/container/Container.js +1 -3
  60. package/lib/cjs/components/currency/Currency.js +2 -7
  61. package/lib/cjs/components/datagrid/DataGrid.js +23 -63
  62. package/lib/cjs/components/datamap/DataMap.js +4 -16
  63. package/lib/cjs/components/datetime/DateTime.js +2 -6
  64. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +1 -4
  65. package/lib/cjs/components/day/Day.js +12 -70
  66. package/lib/cjs/components/day/editForm/Day.edit.day.js +1 -3
  67. package/lib/cjs/components/day/editForm/Day.edit.month.js +1 -3
  68. package/lib/cjs/components/editgrid/EditGrid.d.ts +1 -0
  69. package/lib/cjs/components/editgrid/EditGrid.js +18 -44
  70. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -4
  71. package/lib/cjs/components/file/File.js +40 -70
  72. package/lib/cjs/components/file/editForm/File.edit.display.js +1 -5
  73. package/lib/cjs/components/file/editForm/File.edit.file.js +8 -30
  74. package/lib/cjs/components/form/Form.js +5 -7
  75. package/lib/cjs/components/html/HTML.js +1 -5
  76. package/lib/cjs/components/number/Number.js +2 -4
  77. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +3 -12
  78. package/lib/cjs/components/password/Password.js +1 -4
  79. package/lib/cjs/components/radio/Radio.js +7 -17
  80. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +4 -14
  81. package/lib/cjs/components/recaptcha/ReCaptcha.js +3 -6
  82. package/lib/cjs/components/select/Select.js +48 -92
  83. package/lib/cjs/components/select/editForm/Select.edit.data.js +37 -182
  84. package/lib/cjs/components/select/editForm/Select.edit.validation.js +1 -9
  85. package/lib/cjs/components/selectboxes/SelectBoxes.js +3 -6
  86. package/lib/cjs/components/signature/Signature.d.ts +1 -1
  87. package/lib/cjs/components/signature/Signature.js +5 -10
  88. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +2 -6
  89. package/lib/cjs/components/survey/Survey.js +6 -17
  90. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +4 -12
  91. package/lib/cjs/components/table/editForm/Table.edit.display.js +3 -3
  92. package/lib/cjs/components/tabs/Tabs.js +4 -19
  93. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +1 -3
  94. package/lib/cjs/components/tags/Tags.js +4 -14
  95. package/lib/cjs/components/textarea/TextArea.js +8 -15
  96. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +14 -56
  97. package/lib/cjs/components/textfield/TextField.js +4 -4
  98. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +2 -8
  99. package/lib/cjs/components/time/Time.js +1 -4
  100. package/lib/cjs/components/time/editForm/Time.edit.display.js +1 -4
  101. package/lib/cjs/formio.form.js +5 -5
  102. package/lib/cjs/package.json +1 -1
  103. package/lib/cjs/providers/address/AddressProvider.js +1 -1
  104. package/lib/cjs/providers/address/GoogleAddressProvider.js +1 -3
  105. package/lib/cjs/providers/processor/fileProcessor.js +1 -3
  106. package/lib/cjs/providers/storage/azure.js +5 -6
  107. package/lib/cjs/providers/storage/indexeddb.js +5 -15
  108. package/lib/cjs/providers/storage/s3.js +3 -14
  109. package/lib/cjs/providers/storage/xhr.js +19 -28
  110. package/lib/cjs/templates/Templates.js +1 -0
  111. package/lib/cjs/translations/en.d.ts +237 -82
  112. package/lib/cjs/translations/en.js +9 -82
  113. package/lib/cjs/utils/ChoicesWrapper.js +1 -1
  114. package/lib/cjs/utils/builder.js +5 -26
  115. package/lib/cjs/utils/i18n.d.ts +5 -2
  116. package/lib/cjs/utils/i18n.js +33 -12
  117. package/lib/cjs/utils/utils.js +37 -47
  118. package/lib/cjs/widgets/CalendarWidget.js +2 -6
  119. package/lib/mjs/Embed.js +8 -16
  120. package/lib/mjs/Form.js +4 -4
  121. package/lib/mjs/Formio.js +2 -9
  122. package/lib/mjs/InlineEmbed.js +1 -4
  123. package/lib/mjs/PDF.js +27 -8
  124. package/lib/mjs/PDFBuilder.js +6 -10
  125. package/lib/mjs/Webform.d.ts +1 -0
  126. package/lib/mjs/Webform.js +19 -31
  127. package/lib/mjs/WebformBuilder.js +27 -68
  128. package/lib/mjs/Wizard.d.ts +1 -0
  129. package/lib/mjs/Wizard.js +39 -27
  130. package/lib/mjs/WizardBuilder.js +5 -15
  131. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +2 -6
  132. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +3 -9
  133. package/lib/mjs/addons/index.js +1 -3
  134. package/lib/mjs/components/_classes/component/Component.d.ts +5 -5
  135. package/lib/mjs/components/_classes/component/Component.js +59 -132
  136. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +2 -4
  137. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +4 -16
  138. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +1 -4
  139. package/lib/mjs/components/_classes/field/Field.js +1 -4
  140. package/lib/mjs/components/_classes/input/Input.js +2 -2
  141. package/lib/mjs/components/_classes/list/ListComponent.js +4 -4
  142. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +6 -28
  143. package/lib/mjs/components/_classes/multivalue/Multivalue.js +8 -26
  144. package/lib/mjs/components/_classes/nested/NestedComponent.js +1 -4
  145. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +5 -9
  146. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -3
  147. package/lib/mjs/components/address/Address.js +10 -30
  148. package/lib/mjs/components/address/editForm/Address.edit.provider.js +8 -32
  149. package/lib/mjs/components/alert/Alert.js +3 -6
  150. package/lib/mjs/components/button/Button.js +9 -16
  151. package/lib/mjs/components/button/editForm/Button.edit.display.js +8 -32
  152. package/lib/mjs/components/checkbox/Checkbox.js +4 -10
  153. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +2 -8
  154. package/lib/mjs/components/columns/Columns.js +5 -17
  155. package/lib/mjs/components/container/Container.js +1 -3
  156. package/lib/mjs/components/currency/Currency.js +2 -7
  157. package/lib/mjs/components/datagrid/DataGrid.js +23 -63
  158. package/lib/mjs/components/datamap/DataMap.js +12 -18
  159. package/lib/mjs/components/datetime/DateTime.js +2 -6
  160. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +1 -4
  161. package/lib/mjs/components/day/Day.js +12 -70
  162. package/lib/mjs/components/day/editForm/Day.edit.day.js +1 -3
  163. package/lib/mjs/components/day/editForm/Day.edit.month.js +1 -3
  164. package/lib/mjs/components/editgrid/EditGrid.d.ts +1 -0
  165. package/lib/mjs/components/editgrid/EditGrid.js +18 -44
  166. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -4
  167. package/lib/mjs/components/file/File.js +40 -70
  168. package/lib/mjs/components/file/editForm/File.edit.display.js +1 -5
  169. package/lib/mjs/components/file/editForm/File.edit.file.js +8 -30
  170. package/lib/mjs/components/form/Form.js +5 -7
  171. package/lib/mjs/components/html/HTML.js +1 -5
  172. package/lib/mjs/components/number/Number.js +2 -4
  173. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +3 -12
  174. package/lib/mjs/components/password/Password.js +1 -4
  175. package/lib/mjs/components/radio/Radio.js +7 -17
  176. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +4 -14
  177. package/lib/mjs/components/recaptcha/ReCaptcha.js +3 -6
  178. package/lib/mjs/components/select/Select.js +51 -95
  179. package/lib/mjs/components/select/editForm/Select.edit.data.js +37 -182
  180. package/lib/mjs/components/select/editForm/Select.edit.validation.js +1 -9
  181. package/lib/mjs/components/selectboxes/SelectBoxes.js +3 -6
  182. package/lib/mjs/components/signature/Signature.d.ts +1 -1
  183. package/lib/mjs/components/signature/Signature.js +5 -10
  184. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +2 -6
  185. package/lib/mjs/components/survey/Survey.js +6 -17
  186. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +4 -12
  187. package/lib/mjs/components/table/editForm/Table.edit.display.js +3 -3
  188. package/lib/mjs/components/tabs/Tabs.js +4 -19
  189. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +1 -3
  190. package/lib/mjs/components/tags/Tags.js +4 -14
  191. package/lib/mjs/components/textarea/TextArea.js +8 -15
  192. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +14 -56
  193. package/lib/mjs/components/textfield/TextField.js +4 -4
  194. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +2 -8
  195. package/lib/mjs/components/time/Time.js +1 -4
  196. package/lib/mjs/components/time/editForm/Time.edit.display.js +1 -4
  197. package/lib/mjs/formio.form.js +6 -6
  198. package/lib/mjs/package.json +1 -1
  199. package/lib/mjs/providers/address/AddressProvider.js +1 -1
  200. package/lib/mjs/providers/address/GoogleAddressProvider.js +1 -3
  201. package/lib/mjs/providers/processor/fileProcessor.js +1 -3
  202. package/lib/mjs/providers/storage/azure.js +5 -6
  203. package/lib/mjs/providers/storage/indexeddb.js +5 -15
  204. package/lib/mjs/providers/storage/s3.js +3 -14
  205. package/lib/mjs/providers/storage/xhr.js +19 -32
  206. package/lib/mjs/templates/Templates.js +1 -0
  207. package/lib/mjs/translations/en.d.ts +237 -82
  208. package/lib/mjs/translations/en.js +88 -0
  209. package/lib/mjs/utils/ChoicesWrapper.js +1 -1
  210. package/lib/mjs/utils/builder.js +5 -26
  211. package/lib/mjs/utils/i18n.d.ts +5 -2
  212. package/lib/mjs/utils/i18n.js +33 -12
  213. package/lib/mjs/utils/utils.js +37 -47
  214. package/lib/mjs/widgets/CalendarWidget.js +2 -6
  215. package/package.json +6 -4
@@ -175,12 +175,7 @@ class Component extends Element_1.default {
175
175
  */
176
176
  static get conditionOperatorsSettings() {
177
177
  return {
178
- operators: [
179
- 'isEqual',
180
- 'isNotEqual',
181
- 'isEmpty',
182
- 'isNotEmpty',
183
- ],
178
+ operators: ['isEqual', 'isNotEqual', 'isEmpty', 'isNotEmpty'],
184
179
  valueComponent() {
185
180
  return {
186
181
  type: 'textfield',
@@ -198,9 +193,7 @@ class Component extends Element_1.default {
198
193
  */
199
194
  static savedValueTypes(schema) {
200
195
  schema = schema || {};
201
- return (utils_1.default.getComponentSavedTypes(schema) || [
202
- utils_1.default.componentValueTypes.any,
203
- ]);
196
+ return utils_1.default.getComponentSavedTypes(schema) || [utils_1.default.componentValueTypes.any];
204
197
  }
205
198
  /**
206
199
  * Provides a table view for this component. Override if you wish to do something different than using getView
@@ -467,7 +460,9 @@ class Component extends Element_1.default {
467
460
  hasCondionallyHiddenLayoutParent() {
468
461
  let currentParent = this.parent;
469
462
  while (currentParent) {
470
- if (currentParent._conditionallyHidden && utils_1.default.isLayoutComponent(currentParent) && currentParent.component.clearOnHide === true) {
463
+ if (currentParent._conditionallyHidden &&
464
+ utils_1.default.isLayoutComponent(currentParent) &&
465
+ currentParent.component.clearOnHide === true) {
471
466
  return true;
472
467
  }
473
468
  currentParent = currentParent.parent;
@@ -592,7 +587,10 @@ class Component extends Element_1.default {
592
587
  this.addons.push(addon);
593
588
  }
594
589
  else {
595
- console.warn(`Addon ${name.label} does not support component of type ${this.component.type}.`);
590
+ console.warn(this.t('addonSupportTypeError', {
591
+ type: this.component.type,
592
+ label: name.label,
593
+ }));
596
594
  }
597
595
  }
598
596
  return addon;
@@ -646,7 +644,7 @@ class Component extends Element_1.default {
646
644
  return this.paths.dataPath;
647
645
  }
648
646
  set path(path) {
649
- throw new Error('Should not be setting the path of a component.');
647
+ throw new Error(this.t('setPathError'));
650
648
  }
651
649
  set parentVisible(value) {
652
650
  this._parentVisible = value;
@@ -750,7 +748,9 @@ class Component extends Element_1.default {
750
748
  this._conditionallyClear = true;
751
749
  return this._conditionallyClear;
752
750
  }
753
- this._conditionallyClear = this.hasSetValue ? this.hasCondionallyHiddenLayoutParent() : this.parentShouldConditionallyClear();
751
+ this._conditionallyClear = this.hasSetValue
752
+ ? this.hasCondionallyHiddenLayoutParent()
753
+ : this.parentShouldConditionallyClear();
754
754
  return this._conditionallyClear;
755
755
  }
756
756
  /**
@@ -785,7 +785,7 @@ class Component extends Element_1.default {
785
785
  return this.options.attachMode === 'builder';
786
786
  }
787
787
  get calculatedPath() {
788
- console.error('component.calculatedPath was deprecated, use component.path instead.');
788
+ console.error(this.t('calculatedPathDeprecation'));
789
789
  return this.path;
790
790
  }
791
791
  get labelPosition() {
@@ -800,12 +800,7 @@ class Component extends Element_1.default {
800
800
  return margin >= 0 ? margin : 3;
801
801
  }
802
802
  get isAdvancedLabel() {
803
- return [
804
- 'left-left',
805
- 'left-right',
806
- 'right-left',
807
- 'right-right',
808
- ].includes(this.labelPosition);
803
+ return ['left-left', 'left-right', 'right-left', 'right-right'].includes(this.labelPosition);
809
804
  }
810
805
  get labelPositions() {
811
806
  return this.labelPosition.split('-');
@@ -933,16 +928,8 @@ class Component extends Element_1.default {
933
928
  : (type, value) => value;
934
929
  }
935
930
  getTemplate(names, modes) {
936
- modes = Array.isArray(modes)
937
- ? modes
938
- : [
939
- modes,
940
- ];
941
- names = Array.isArray(names)
942
- ? names
943
- : [
944
- names,
945
- ];
931
+ modes = Array.isArray(modes) ? modes : [modes];
932
+ names = Array.isArray(names) ? names : [names];
946
933
  if (!modes.includes('form')) {
947
934
  modes.push('form');
948
935
  }
@@ -964,7 +951,7 @@ class Component extends Element_1.default {
964
951
  const name = names[names.length - 1];
965
952
  const templatesByName = Templates_1.default.defaultTemplates[name];
966
953
  if (!templatesByName) {
967
- return { template: `Unknown template: ${name}` };
954
+ return { template: this.t('unknownTemplate', { name }) };
968
955
  }
969
956
  const templateByMode = this.checkTemplateMode(templatesByName, modes);
970
957
  if (templateByMode) {
@@ -1033,9 +1020,7 @@ class Component extends Element_1.default {
1033
1020
  data.disabled = this.disabled;
1034
1021
  data.builder = this.builderMode;
1035
1022
  data.render = (...args) => {
1036
- console.warn(`Form.io 'render' template function is deprecated.
1037
- If you need to render template (template A) inside of another template (template B),
1038
- pass pre-compiled template A (use this.renderTemplate('template_A_name') as template context variable for template B`);
1023
+ console.warn(this.t('renderTemplateFunctionDeprecation'));
1039
1024
  return this.renderTemplate(...args);
1040
1025
  };
1041
1026
  data.label = data.labelInfo || this.labelInfo;
@@ -1186,9 +1171,7 @@ class Component extends Element_1.default {
1186
1171
  if (this.options.pdf && submissionTimezone) {
1187
1172
  return submissionTimezone;
1188
1173
  }
1189
- const staticSnapshot = this.options.server ||
1190
- this.options.renderMode === 'html' ||
1191
- !!this.options.viewAsHtml;
1174
+ const staticSnapshot = this.options.server || this.options.renderMode === 'html' || !!this.options.viewAsHtml;
1192
1175
  if (submissionTimezone &&
1193
1176
  (mode === 'submission' || (staticSnapshot && (mode === 'viewer' || mode === 'location')))) {
1194
1177
  return submissionTimezone;
@@ -1259,7 +1242,7 @@ class Component extends Element_1.default {
1259
1242
  modalLabel = { className: 'field-required' };
1260
1243
  }
1261
1244
  return this.renderModalPreview({
1262
- previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('Click to set value'),
1245
+ previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('clickToSetValue'),
1263
1246
  messages: '',
1264
1247
  labelInfo: modalLabel,
1265
1248
  });
@@ -1284,7 +1267,7 @@ class Component extends Element_1.default {
1284
1267
  * @param {boolean} topLevel - If this is the topmost component that is being rendered.
1285
1268
  * @returns {string} - The rendered HTML string of a component.
1286
1269
  */
1287
- render(children = `Unknown component: ${this.component.type}`, topLevel = false) {
1270
+ render(children = this.t('unknownComponent', { type: this.component.type }), topLevel = false) {
1288
1271
  const isVisible = this.visible;
1289
1272
  this.rendered = true;
1290
1273
  if (!this.builderMode && !this.previewMode && this.component.modalEdit) {
@@ -1489,9 +1472,7 @@ class Component extends Element_1.default {
1489
1472
  return;
1490
1473
  }
1491
1474
  if (!changes.length && flags.changed) {
1492
- changes = [
1493
- flags.changed,
1494
- ];
1475
+ changes = [flags.changed];
1495
1476
  }
1496
1477
  const refreshOn = flags.fromBlur
1497
1478
  ? this.component.refreshOnBlur
@@ -1592,10 +1573,11 @@ class Component extends Element_1.default {
1592
1573
  /**
1593
1574
  * Uses the widget to determine the output string.
1594
1575
  * @param {any} value - The current value of the component.
1595
- * @param {any} options - The options for getValueAsString.
1576
+ * @param {any} _options - The options for getValueAsString.
1596
1577
  * @returns {any|Array<any>} - The value as a string.
1597
1578
  */
1598
- getWidgetValueAsString(value, options) {
1579
+ // GOTCHA(G-FJS04)
1580
+ getWidgetValueAsString(value, _options) {
1599
1581
  const noInputWidget = !this.refs.input || !this.refs.input[0] || !this.refs.input[0].widget;
1600
1582
  if (!value || noInputWidget) {
1601
1583
  if (!this.widget || !value) {
@@ -1909,10 +1891,7 @@ class Component extends Element_1.default {
1909
1891
  const iconset = this.options.iconset || Templates_1.default.current.defaultIconset || 'fa';
1910
1892
  return Templates_1.default.current.hasOwnProperty('iconClass')
1911
1893
  ? Templates_1.default.current.iconClass(iconset, name, spinning)
1912
- : [
1913
- 'fa',
1914
- 'bi',
1915
- ].includes(this.options.iconset)
1894
+ : ['fa', 'bi'].includes(this.options.iconset)
1916
1895
  ? Templates_1.default.defaultTemplates.iconClass(iconset, name, spinning)
1917
1896
  : name;
1918
1897
  }
@@ -2095,7 +2074,11 @@ class Component extends Element_1.default {
2095
2074
  * @returns {boolean} - TRUE if the component is conditionally visible.
2096
2075
  */
2097
2076
  conditionallyVisible(data, row) {
2098
- data = data || this.rootValue;
2077
+ var _a, _b;
2078
+ data =
2079
+ data ||
2080
+ (((_a = this.root) === null || _a === void 0 ? void 0 : _a.submissionSet) && lodash_1.default.merge({}, (_b = this.root) === null || _b === void 0 ? void 0 : _b.subFromServer, this.rootValue)) ||
2081
+ this.rootValue;
2099
2082
  row = row || this.data;
2100
2083
  if (this.builderMode || this.previewMode) {
2101
2084
  return true;
@@ -2332,9 +2315,7 @@ class Component extends Element_1.default {
2332
2315
  };
2333
2316
  }
2334
2317
  if (!Array.isArray(messages)) {
2335
- messages = [
2336
- messages,
2337
- ];
2318
+ messages = [messages];
2338
2319
  }
2339
2320
  messages = lodash_1.default.uniqBy(messages, (message) => message.message);
2340
2321
  if (this.refs.messageContainer) {
@@ -2486,30 +2467,15 @@ class Component extends Element_1.default {
2486
2467
  toolbar: [
2487
2468
  [
2488
2469
  {
2489
- size: [
2490
- 'small',
2491
- false,
2492
- 'large',
2493
- 'huge',
2494
- ],
2470
+ size: ['small', false, 'large', 'huge'],
2495
2471
  },
2496
2472
  ], // custom dropdown
2497
2473
  [
2498
2474
  {
2499
- header: [
2500
- 1,
2501
- 2,
2502
- 3,
2503
- 4,
2504
- 5,
2505
- 6,
2506
- false,
2507
- ],
2475
+ header: [1, 2, 3, 4, 5, 6, false],
2508
2476
  },
2509
2477
  ],
2510
- [
2511
- { font: [] },
2512
- ],
2478
+ [{ font: [] }],
2513
2479
  [
2514
2480
  'bold',
2515
2481
  'italic',
@@ -2519,10 +2485,7 @@ class Component extends Element_1.default {
2519
2485
  { script: 'super' },
2520
2486
  'clean',
2521
2487
  ],
2522
- [
2523
- { color: [] },
2524
- { background: [] },
2525
- ],
2488
+ [{ color: [] }, { background: [] }],
2526
2489
  [
2527
2490
  { list: 'ordered' },
2528
2491
  { list: 'bullet' },
@@ -2530,17 +2493,8 @@ class Component extends Element_1.default {
2530
2493
  { indent: '+1' },
2531
2494
  { align: [] },
2532
2495
  ],
2533
- [
2534
- 'blockquote',
2535
- 'code-block',
2536
- ],
2537
- [
2538
- 'link',
2539
- 'image',
2540
- 'video',
2541
- 'formula',
2542
- 'source',
2543
- ],
2496
+ ['blockquote', 'code-block'],
2497
+ ['link', 'image', 'video', 'formula', 'source'],
2544
2498
  ],
2545
2499
  },
2546
2500
  },
@@ -2562,12 +2516,7 @@ class Component extends Element_1.default {
2562
2516
  'imageStyle:alignCenter',
2563
2517
  'imageStyle:alignRight',
2564
2518
  ],
2565
- styles: [
2566
- 'full',
2567
- 'alignLeft',
2568
- 'alignCenter',
2569
- 'alignRight',
2570
- ],
2519
+ styles: ['full', 'alignLeft', 'alignCenter', 'alignRight'],
2571
2520
  },
2572
2521
  extraPlugins: [],
2573
2522
  },
@@ -2603,7 +2552,6 @@ class Component extends Element_1.default {
2603
2552
  current.prepend(clone);
2604
2553
  break;
2605
2554
  }
2606
- ;
2607
2555
  current = current.parentNode || current.host;
2608
2556
  }
2609
2557
  return ClassicEditor.create(element, settings).then((editor) => {
@@ -2618,9 +2566,7 @@ class Component extends Element_1.default {
2618
2566
  settings = lodash_1.default.merge(this.wysiwygDefault.quill, lodash_1.default.get(this.options, 'editors.quill.settings', {}), settings);
2619
2567
  settings = Object.assign(Object.assign({}, settings), { modules: Object.assign({ table: true }, settings.modules) });
2620
2568
  // Lazy load the quill css.
2621
- Formio_1.Formio.requireLibrary(`quill-css-${settings.theme}`, 'Quill', [
2622
- { type: 'styles', src: `${Formio_1.Formio.cdn.quill}/quill.${settings.theme}.css` },
2623
- ], true);
2569
+ Formio_1.Formio.requireLibrary(`quill-css-${settings.theme}`, 'Quill', [{ type: 'styles', src: `${Formio_1.Formio.cdn.quill}/quill.${settings.theme}.css` }], true);
2624
2570
  // Lazy load the quill library.
2625
2571
  return Formio_1.Formio.requireLibrary('quill', 'Quill', lodash_1.default.get(this.options, 'editors.quill.src', `${Formio_1.Formio.cdn.quill}/quill.js`), true).then(() => {
2626
2572
  return Formio_1.Formio.requireLibrary('quill-table', 'Quill', `${Formio_1.Formio.cdn.baseUrl}/quill/quill-table.js`, true).then(() => {
@@ -2643,8 +2589,8 @@ class Component extends Element_1.default {
2643
2589
  };
2644
2590
  // 2. hasFocus: check shadowRoot.activeElement instead of document.activeElement
2645
2591
  sel.hasFocus = () => {
2646
- return root.activeElement === sel.root ||
2647
- (root.activeElement != null && sel.root.contains(root.activeElement));
2592
+ return (root.activeElement === sel.root ||
2593
+ (root.activeElement != null && sel.root.contains(root.activeElement)));
2648
2594
  };
2649
2595
  // 3. setNativeRange: use shadowRoot's selection to add/remove ranges
2650
2596
  const origSetNativeRange = sel.setNativeRange.bind(sel);
@@ -2663,9 +2609,12 @@ class Component extends Element_1.default {
2663
2609
  const { native } = sel.getNativeRange() || {};
2664
2610
  endNode = endNode !== null && endNode !== void 0 ? endNode : startNode;
2665
2611
  endOffset = endOffset !== null && endOffset !== void 0 ? endOffset : startOffset;
2666
- if (native == null || force ||
2667
- startNode !== native.startContainer || startOffset !== native.startOffset ||
2668
- endNode !== native.endContainer || endOffset !== native.endOffset) {
2612
+ if (native == null ||
2613
+ force ||
2614
+ startNode !== native.startContainer ||
2615
+ startOffset !== native.startOffset ||
2616
+ endNode !== native.endContainer ||
2617
+ endOffset !== native.endOffset) {
2669
2618
  const range = document.createRange();
2670
2619
  range.setStart(startNode, startOffset);
2671
2620
  range.setEnd(endNode, endOffset);
@@ -2836,9 +2785,9 @@ class Component extends Element_1.default {
2836
2785
  this.component.defaultValue !== undefined));
2837
2786
  }
2838
2787
  /**
2839
- * Determine if we should add a default value for this component.
2840
- * @returns {boolean} - TRUE if a default value should be set
2841
- */
2788
+ * Determine if we should add a default value for this component.
2789
+ * @returns {boolean} - TRUE if a default value should be set
2790
+ */
2842
2791
  get shouldAddDefaultValue() {
2843
2792
  return this.pristine && this.allowData && (this.hasDefaultValue || !this.options.noDefaults);
2844
2793
  }
@@ -3273,9 +3222,7 @@ class Component extends Element_1.default {
3273
3222
  paths: this.paths,
3274
3223
  scope: validationScope,
3275
3224
  instance: this,
3276
- processors: [
3277
- process_1.validateProcessInfo,
3278
- ],
3225
+ processors: [process_1.validateProcessInfo],
3279
3226
  });
3280
3227
  const errors = validationScope.errors;
3281
3228
  const interpolatedErrors = utils_1.default.interpolateErrors(this.component, errors, this.t.bind(this));
@@ -3313,10 +3260,7 @@ class Component extends Element_1.default {
3313
3260
  var _a;
3314
3261
  const interpolatedErrors = utils_1.default.interpolateErrors(this.component, errors, this.t.bind(this));
3315
3262
  return ((_a = this.serverErrors) === null || _a === void 0 ? void 0 : _a.length)
3316
- ? [
3317
- ...interpolatedErrors,
3318
- ...this.serverErrors,
3319
- ]
3263
+ ? [...interpolatedErrors, ...this.serverErrors]
3320
3264
  : interpolatedErrors;
3321
3265
  }
3322
3266
  /**
@@ -3365,9 +3309,7 @@ class Component extends Element_1.default {
3365
3309
  instance: this,
3366
3310
  form: this.root ? this.root._form : {},
3367
3311
  scope: { errors: [] },
3368
- processors: [
3369
- process_1.validateProcessInfo,
3370
- ],
3312
+ processors: [process_1.validateProcessInfo],
3371
3313
  };
3372
3314
  if (async) {
3373
3315
  return (0, process_1.processOne)(processContext).then(() => {
@@ -3482,9 +3424,7 @@ class Component extends Element_1.default {
3482
3424
  return;
3483
3425
  }
3484
3426
  if (dirty && !isValid) {
3485
- this.setErrorClasses([
3486
- this.refs.openModal,
3487
- ], dirty, !isValid, !!messages.length, this.refs.openModalWrapper);
3427
+ this.setErrorClasses([this.refs.openModal], dirty, !isValid, !!messages.length, this.refs.openModalWrapper);
3488
3428
  }
3489
3429
  else {
3490
3430
  this.clearErrorClasses(this.refs.openModalWrapper);
@@ -3572,9 +3512,7 @@ class Component extends Element_1.default {
3572
3512
  }
3573
3513
  if (!Array.isArray(messages)) {
3574
3514
  if (messages) {
3575
- messages = [
3576
- messages,
3577
- ];
3515
+ messages = [messages];
3578
3516
  }
3579
3517
  else {
3580
3518
  messages = [];
@@ -3673,7 +3611,7 @@ class Component extends Element_1.default {
3673
3611
  }
3674
3612
  // Maintain reverse compatibility.
3675
3613
  whenReady() {
3676
- console.warn('The whenReady() method has been deprecated. Please use the dataReady property instead.');
3614
+ console.warn(this.t('whenReadyDeprecation'));
3677
3615
  return this.dataReady;
3678
3616
  }
3679
3617
  get dataReady() {
@@ -3686,13 +3624,7 @@ class Component extends Element_1.default {
3686
3624
  */
3687
3625
  asString(value) {
3688
3626
  value = value || this.getValue();
3689
- return (Array.isArray(value)
3690
- ? value
3691
- : [
3692
- value,
3693
- ])
3694
- .map(lodash_1.default.toString)
3695
- .join(', ');
3627
+ return (Array.isArray(value) ? value : [value]).map(lodash_1.default.toString).join(', ');
3696
3628
  }
3697
3629
  /**
3698
3630
  * Return if the component is disabled.
@@ -3947,11 +3879,7 @@ Component.requireLibrary = function (name, property, src, polling) {
3947
3879
  Component.externalLibraries[name].resolve(plugin);
3948
3880
  }
3949
3881
  else {
3950
- src = Array.isArray(src)
3951
- ? src
3952
- : [
3953
- src,
3954
- ];
3882
+ src = Array.isArray(src) ? src : [src];
3955
3883
  src.forEach((lib) => {
3956
3884
  let attrs = {};
3957
3885
  let elementType = '';
@@ -128,9 +128,7 @@ exports.default = [
128
128
  },
129
129
  conditional: {
130
130
  json: {
131
- '!': [
132
- { var: 'data.dataSrc' },
133
- ],
131
+ '!': [{ var: 'data.dataSrc' }],
134
132
  },
135
133
  },
136
134
  },
@@ -172,5 +170,5 @@ exports.default = [
172
170
  tooltip: 'A JSON object containing the component settings that should be overriden when the form submission is processed on the server side.',
173
171
  defaultValue: {},
174
172
  description: '<b>Example</b>: { "clearOnHide": true }',
175
- }
173
+ },
176
174
  ];
@@ -52,16 +52,10 @@ exports.default = [
52
52
  json: {
53
53
  and: [
54
54
  {
55
- '!==': [
56
- { var: 'data.labelPosition' },
57
- 'top',
58
- ],
55
+ '!==': [{ var: 'data.labelPosition' }, 'top'],
59
56
  },
60
57
  {
61
- '!==': [
62
- { var: 'data.labelPosition' },
63
- 'bottom',
64
- ],
58
+ '!==': [{ var: 'data.labelPosition' }, 'bottom'],
65
59
  },
66
60
  ],
67
61
  },
@@ -85,16 +79,10 @@ exports.default = [
85
79
  json: {
86
80
  and: [
87
81
  {
88
- '!==': [
89
- { var: 'data.labelPosition' },
90
- 'top',
91
- ],
82
+ '!==': [{ var: 'data.labelPosition' }, 'top'],
92
83
  },
93
84
  {
94
- '!==': [
95
- { var: 'data.labelPosition' },
96
- 'bottom',
97
- ],
85
+ '!==': [{ var: 'data.labelPosition' }, 'bottom'],
98
86
  },
99
87
  ],
100
88
  },
@@ -130,10 +130,7 @@ exports.default = [
130
130
  JSON.stringify({
131
131
  if: [
132
132
  {
133
- '===': [
134
- { var: 'input' },
135
- 'Bob',
136
- ],
133
+ '===': [{ var: 'input' }, 'Bob'],
137
134
  },
138
135
  true,
139
136
  "Your name must be 'Bob'!",
@@ -37,10 +37,7 @@ class Field extends Component_1.default {
37
37
  if (((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.focusedComponent) === null || _b === void 0 ? void 0 : _b.path) === this.path) {
38
38
  try {
39
39
  this.root.currentSelection = {
40
- selection: [
41
- element.selectionStart,
42
- element.selectionEnd,
43
- ],
40
+ selection: [element.selectionStart, element.selectionEnd],
44
41
  index,
45
42
  };
46
43
  }
@@ -254,9 +254,9 @@ class Input extends Multivalue_1.default {
254
254
  });
255
255
  this.on('blur', (comp) => {
256
256
  var _a, _b;
257
- const el = (_b = (_a = comp.refs) === null || _a === void 0 ? void 0 : _a["announceMessage"]) === null || _b === void 0 ? void 0 : _b[0];
257
+ const el = (_b = (_a = comp.refs) === null || _a === void 0 ? void 0 : _a['announceMessage']) === null || _b === void 0 ? void 0 : _b[0];
258
258
  if (el) {
259
- el.textContent = "";
259
+ el.textContent = '';
260
260
  }
261
261
  });
262
262
  return promise;
@@ -136,11 +136,11 @@ class ListComponent extends Field_1.default {
136
136
  component: this.component,
137
137
  message: err.toString(),
138
138
  });
139
- console.warn(`Unable to load resources for ${this.key}`);
139
+ console.warn(this.t('loadResourcesError', { componentKey: this.key }));
140
140
  }
141
141
  updateItems(searchInput, forceUpdate) {
142
142
  if (!this.component.data) {
143
- console.warn(`Select component ${this.key} does not have data configuration.`);
143
+ console.warn(this.t('noSelectDataConfiguration', { componentKey: this.key }));
144
144
  this.itemsLoadedResolve();
145
145
  return;
146
146
  }
@@ -174,7 +174,7 @@ class ListComponent extends Field_1.default {
174
174
  this.loadItems(resourceUrl, searchInput, this.requestHeaders);
175
175
  }
176
176
  catch (ignoreErr) {
177
- console.warn(`Unable to load resources for ${this.key}`);
177
+ console.warn(this.t('loadResourcesError', { componentKey: this.key }));
178
178
  }
179
179
  }
180
180
  else {
@@ -223,7 +223,7 @@ class ListComponent extends Field_1.default {
223
223
  return;
224
224
  }
225
225
  if (!window.indexedDB) {
226
- window.alert("Your browser doesn't support current version of indexedDB");
226
+ window.alert(this.t('indexedDBSupportError'));
227
227
  }
228
228
  if (this.component.indexeddb &&
229
229
  this.component.indexeddb.database &&
@@ -21,10 +21,7 @@ exports.default = [
21
21
  tooltip: 'A URL that returns a JSON array to use as the data source.',
22
22
  conditional: {
23
23
  json: {
24
- '===': [
25
- { var: 'data.dataSrc' },
26
- 'url',
27
- ],
24
+ '===': [{ var: 'data.dataSrc' }, 'url'],
28
25
  },
29
26
  },
30
27
  },
@@ -51,10 +48,7 @@ exports.default = [
51
48
  ],
52
49
  conditional: {
53
50
  json: {
54
- '===': [
55
- { var: 'data.dataSrc' },
56
- 'url',
57
- ],
51
+ '===': [{ var: 'data.dataSrc' }, 'url'],
58
52
  },
59
53
  },
60
54
  },
@@ -70,14 +64,7 @@ exports.default = [
70
64
  tooltip: 'The property of each item in the data source to use as the select value. If not specified, the item itself will be used.',
71
65
  conditional: {
72
66
  json: {
73
- in: [
74
- { var: 'data.dataSrc' },
75
- [
76
- 'json',
77
- 'url',
78
- 'custom',
79
- ],
80
- ],
67
+ in: [{ var: 'data.dataSrc' }, ['json', 'url', 'custom']],
81
68
  },
82
69
  },
83
70
  },
@@ -110,10 +97,7 @@ exports.default = [
110
97
  tooltip: 'Check this if you would like to use Formio Authentication with the request.',
111
98
  conditional: {
112
99
  json: {
113
- '===': [
114
- { var: 'data.dataSrc' },
115
- 'url',
116
- ],
100
+ '===': [{ var: 'data.dataSrc' }, 'url'],
117
101
  },
118
102
  },
119
103
  },
@@ -128,16 +112,10 @@ exports.default = [
128
112
  json: {
129
113
  or: [
130
114
  {
131
- '===': [
132
- { var: 'data.dataSrc' },
133
- 'url',
134
- ],
115
+ '===': [{ var: 'data.dataSrc' }, 'url'],
135
116
  },
136
117
  {
137
- '===': [
138
- { var: 'data.dataSrc' },
139
- 'resource',
140
- ],
118
+ '===': [{ var: 'data.dataSrc' }, 'resource'],
141
119
  },
142
120
  ],
143
121
  },