@formio/js 5.2.4-rc.0 → 5.2.5

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 (512) hide show
  1. package/dist/formio.builder.css +50 -161
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +49 -158
  7. package/dist/formio.form.js +108 -152
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  11. package/dist/formio.full.css +50 -161
  12. package/dist/formio.full.js +227 -401
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  16. package/dist/formio.js +18 -51
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +14 -47
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/CDN.js +12 -12
  23. package/lib/cjs/Element.d.ts +2 -3
  24. package/lib/cjs/Element.js +26 -29
  25. package/lib/cjs/Embed.js +42 -75
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +341 -371
  28. package/lib/cjs/Form.js +39 -153
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +3 -2
  31. package/lib/cjs/Formio.js +23 -26
  32. package/lib/cjs/InlineEmbed.js +17 -23
  33. package/lib/cjs/PDF.d.ts +0 -1
  34. package/lib/cjs/PDF.js +15 -18
  35. package/lib/cjs/PDFBuilder.js +36 -51
  36. package/lib/cjs/Webform.d.ts +366 -8
  37. package/lib/cjs/Webform.js +238 -177
  38. package/lib/cjs/WebformBuilder.js +152 -221
  39. package/lib/cjs/Wizard.js +65 -95
  40. package/lib/cjs/WizardBuilder.js +19 -27
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +4 -0
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +198 -309
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  50. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  54. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  55. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +1 -7
  60. package/lib/cjs/components/_classes/input/Input.js +26 -30
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
  65. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  66. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  67. package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
  68. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
  69. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  70. package/lib/cjs/components/address/Address.d.ts +0 -1
  71. package/lib/cjs/components/address/Address.js +52 -57
  72. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  73. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  74. package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
  75. package/lib/cjs/components/alert/Alert.js +15 -21
  76. package/lib/cjs/components/button/Button.form.js +1 -1
  77. package/lib/cjs/components/button/Button.js +47 -64
  78. package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
  79. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  80. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  81. package/lib/cjs/components/checkbox/Checkbox.js +20 -28
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  83. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  84. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  85. package/lib/cjs/components/columns/Columns.form.js +1 -1
  86. package/lib/cjs/components/columns/Columns.js +12 -24
  87. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  88. package/lib/cjs/components/container/Container.form.js +2 -2
  89. package/lib/cjs/components/container/Container.js +4 -6
  90. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  91. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  92. package/lib/cjs/components/content/Content.form.js +2 -4
  93. package/lib/cjs/components/content/Content.js +8 -10
  94. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  95. package/lib/cjs/components/currency/Currency.form.js +3 -3
  96. package/lib/cjs/components/currency/Currency.js +10 -19
  97. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  98. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  99. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  100. package/lib/cjs/components/datagrid/DataGrid.js +42 -92
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  102. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  103. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  104. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  105. package/lib/cjs/components/datamap/DataMap.js +35 -46
  106. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  107. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  108. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  109. package/lib/cjs/components/datetime/DateTime.js +15 -30
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  113. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  114. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  115. package/lib/cjs/components/day/Day.form.js +5 -5
  116. package/lib/cjs/components/day/Day.js +58 -147
  117. package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
  118. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
  120. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  121. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  122. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  123. package/lib/cjs/components/editgrid/EditGrid.js +96 -142
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  126. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  127. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  128. package/lib/cjs/components/email/Email.js +4 -4
  129. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  130. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  131. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  132. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  133. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  134. package/lib/cjs/components/file/File.form.js +4 -4
  135. package/lib/cjs/components/file/File.js +90 -131
  136. package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
  137. package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
  138. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  139. package/lib/cjs/components/form/Form.form.js +3 -3
  140. package/lib/cjs/components/form/Form.js +58 -68
  141. package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
  142. package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
  143. package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
  144. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  145. package/lib/cjs/components/hidden/Hidden.js +2 -2
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  147. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  148. package/lib/cjs/components/html/HTML.js +17 -23
  149. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  150. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  151. package/lib/cjs/components/number/Number.form.js +3 -3
  152. package/lib/cjs/components/number/Number.js +11 -27
  153. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  154. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  155. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  156. package/lib/cjs/components/panel/Panel.form.js +1 -1
  157. package/lib/cjs/components/panel/Panel.js +2 -2
  158. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
  159. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
  160. package/lib/cjs/components/password/Password.form.js +3 -3
  161. package/lib/cjs/components/password/Password.js +2 -5
  162. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  163. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  164. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  165. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  166. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  167. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  168. package/lib/cjs/components/radio/Radio.form.js +3 -3
  169. package/lib/cjs/components/radio/Radio.js +32 -58
  170. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
  171. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  172. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  173. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  174. package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
  175. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  176. package/lib/cjs/components/select/Select.form.js +3 -3
  177. package/lib/cjs/components/select/Select.js +140 -235
  178. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  179. package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
  180. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  181. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  182. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  183. package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
  184. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  185. package/lib/cjs/components/signature/Signature.form.js +3 -3
  186. package/lib/cjs/components/signature/Signature.js +17 -26
  187. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
  188. package/lib/cjs/components/survey/Survey.form.js +3 -3
  189. package/lib/cjs/components/survey/Survey.js +17 -30
  190. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
  191. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  192. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  193. package/lib/cjs/components/table/Table.form.js +1 -1
  194. package/lib/cjs/components/table/Table.js +7 -8
  195. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  196. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  197. package/lib/cjs/components/tabs/Tabs.js +10 -27
  198. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  199. package/lib/cjs/components/tags/Tags.form.js +1 -1
  200. package/lib/cjs/components/tags/Tags.js +12 -28
  201. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  202. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  203. package/lib/cjs/components/textarea/TextArea.js +45 -63
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  205. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  207. package/lib/cjs/components/textfield/TextField.js +21 -32
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  210. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  211. package/lib/cjs/components/time/Time.js +10 -17
  212. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  213. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  214. package/lib/cjs/components/unknown/Unknown.js +2 -2
  215. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  216. package/lib/cjs/components/url/Url.form.js +3 -3
  217. package/lib/cjs/components/url/Url.js +2 -2
  218. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  219. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  220. package/lib/cjs/components/well/Well.form.js +1 -1
  221. package/lib/cjs/components/well/Well.js +2 -2
  222. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  223. package/lib/cjs/formio.form.d.ts +1 -2
  224. package/lib/cjs/formio.form.js +12 -38
  225. package/lib/cjs/i18n.d.ts +0 -4
  226. package/lib/cjs/i18n.js +3 -7
  227. package/lib/cjs/package.json +1 -1
  228. package/lib/cjs/pdf.image.d.ts +2 -0
  229. package/lib/cjs/pdf.image.js +94 -0
  230. package/lib/cjs/providers/address/AddressProvider.js +5 -8
  231. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  232. package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
  233. package/lib/cjs/providers/processor/fileProcessor.js +1 -3
  234. package/lib/cjs/providers/storage/azure.js +2 -5
  235. package/lib/cjs/providers/storage/dropbox.js +5 -4
  236. package/lib/cjs/providers/storage/googleDrive.js +4 -3
  237. package/lib/cjs/providers/storage/index.js +1 -1
  238. package/lib/cjs/providers/storage/indexeddb.js +6 -16
  239. package/lib/cjs/providers/storage/s3.js +6 -17
  240. package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
  241. package/lib/cjs/providers/storage/url.js +11 -13
  242. package/lib/cjs/providers/storage/xhr.js +9 -17
  243. package/lib/cjs/templates/index.js +1 -1
  244. package/lib/cjs/translations/en.d.ts +2 -0
  245. package/lib/cjs/translations/en.js +9 -7
  246. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  247. package/lib/cjs/utils/builder.js +7 -31
  248. package/lib/cjs/utils/calendarUtils.js +5 -7
  249. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  250. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
  251. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  252. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
  253. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  254. package/lib/cjs/utils/formUtils.js +1 -1
  255. package/lib/cjs/utils/i18n.js +1 -7
  256. package/lib/cjs/utils/index.d.ts +1 -2
  257. package/lib/cjs/utils/index.js +2 -2
  258. package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
  259. package/lib/cjs/utils/jsonlogic/operators.js +265 -0
  260. package/lib/cjs/utils/utils.d.ts +1 -10
  261. package/lib/cjs/utils/utils.js +92 -175
  262. package/lib/cjs/widgets/CalendarWidget.js +49 -66
  263. package/lib/cjs/widgets/InputWidget.js +4 -6
  264. package/lib/cjs/widgets/index.js +1 -1
  265. package/lib/mjs/CDN.js +12 -12
  266. package/lib/mjs/Element.d.ts +2 -3
  267. package/lib/mjs/Element.js +23 -29
  268. package/lib/mjs/Embed.js +43 -77
  269. package/lib/mjs/EventEmitter.js +1 -1
  270. package/lib/mjs/Form.d.ts +341 -371
  271. package/lib/mjs/Form.js +126 -142
  272. package/lib/mjs/FormBuilder.d.ts +3 -3
  273. package/lib/mjs/FormBuilder.js +3 -2
  274. package/lib/mjs/Formio.js +23 -26
  275. package/lib/mjs/InlineEmbed.js +17 -23
  276. package/lib/mjs/PDF.d.ts +0 -1
  277. package/lib/mjs/PDF.js +15 -18
  278. package/lib/mjs/PDFBuilder.js +36 -51
  279. package/lib/mjs/Webform.d.ts +366 -8
  280. package/lib/mjs/Webform.js +251 -184
  281. package/lib/mjs/WebformBuilder.js +151 -224
  282. package/lib/mjs/Wizard.js +64 -94
  283. package/lib/mjs/WizardBuilder.js +19 -27
  284. package/lib/mjs/addons/FormioAddon.js +1 -1
  285. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  286. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  287. package/lib/mjs/addons/index.js +3 -3
  288. package/lib/mjs/components/Components.js +4 -0
  289. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  290. package/lib/mjs/components/_classes/component/Component.js +194 -313
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  297. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  298. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  299. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  300. package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
  301. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  302. package/lib/mjs/components/_classes/field/Field.js +2 -8
  303. package/lib/mjs/components/_classes/input/Input.js +23 -27
  304. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  305. package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
  306. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  307. package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
  308. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  309. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  310. package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
  311. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
  312. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  313. package/lib/mjs/components/address/Address.d.ts +0 -1
  314. package/lib/mjs/components/address/Address.js +49 -60
  315. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  316. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  317. package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
  318. package/lib/mjs/components/alert/Alert.js +16 -22
  319. package/lib/mjs/components/button/Button.form.js +1 -1
  320. package/lib/mjs/components/button/Button.js +42 -65
  321. package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
  322. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  323. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  324. package/lib/mjs/components/checkbox/Checkbox.js +21 -29
  325. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  326. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  327. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  328. package/lib/mjs/components/columns/Columns.form.js +1 -1
  329. package/lib/mjs/components/columns/Columns.js +12 -24
  330. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  331. package/lib/mjs/components/container/Container.form.js +2 -2
  332. package/lib/mjs/components/container/Container.js +4 -6
  333. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  334. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  335. package/lib/mjs/components/content/Content.form.js +2 -4
  336. package/lib/mjs/components/content/Content.js +8 -10
  337. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  338. package/lib/mjs/components/currency/Currency.form.js +3 -3
  339. package/lib/mjs/components/currency/Currency.js +10 -19
  340. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  341. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  342. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  343. package/lib/mjs/components/datagrid/DataGrid.js +41 -92
  344. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  345. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  346. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  347. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  348. package/lib/mjs/components/datamap/DataMap.js +33 -46
  349. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  350. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  351. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  352. package/lib/mjs/components/datetime/DateTime.js +16 -31
  353. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  354. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  355. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  356. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  357. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  358. package/lib/mjs/components/day/Day.form.js +5 -5
  359. package/lib/mjs/components/day/Day.js +58 -148
  360. package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
  361. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  362. package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
  363. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  364. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  365. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  366. package/lib/mjs/components/editgrid/EditGrid.js +92 -140
  367. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  368. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  369. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  370. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  371. package/lib/mjs/components/email/Email.js +4 -4
  372. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  373. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  374. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  375. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  376. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  377. package/lib/mjs/components/file/File.form.js +4 -4
  378. package/lib/mjs/components/file/File.js +89 -136
  379. package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
  380. package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
  381. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  382. package/lib/mjs/components/form/Form.form.js +3 -3
  383. package/lib/mjs/components/form/Form.js +55 -68
  384. package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
  385. package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
  386. package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
  387. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  388. package/lib/mjs/components/hidden/Hidden.js +2 -2
  389. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  390. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  391. package/lib/mjs/components/html/HTML.js +17 -23
  392. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  393. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  394. package/lib/mjs/components/number/Number.form.js +3 -3
  395. package/lib/mjs/components/number/Number.js +12 -28
  396. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  397. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  398. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  399. package/lib/mjs/components/panel/Panel.form.js +1 -1
  400. package/lib/mjs/components/panel/Panel.js +2 -2
  401. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
  402. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
  403. package/lib/mjs/components/password/Password.form.js +3 -3
  404. package/lib/mjs/components/password/Password.js +2 -5
  405. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  406. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  407. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  408. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  409. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  410. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  411. package/lib/mjs/components/radio/Radio.form.js +3 -3
  412. package/lib/mjs/components/radio/Radio.js +30 -59
  413. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
  414. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  415. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  416. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  417. package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
  418. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  419. package/lib/mjs/components/select/Select.form.js +3 -3
  420. package/lib/mjs/components/select/Select.js +145 -240
  421. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  422. package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
  423. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  424. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  425. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  426. package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
  427. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  428. package/lib/mjs/components/signature/Signature.form.js +3 -3
  429. package/lib/mjs/components/signature/Signature.js +16 -26
  430. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
  431. package/lib/mjs/components/survey/Survey.form.js +3 -3
  432. package/lib/mjs/components/survey/Survey.js +17 -30
  433. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
  434. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  435. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  436. package/lib/mjs/components/table/Table.form.js +1 -1
  437. package/lib/mjs/components/table/Table.js +6 -8
  438. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  439. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  440. package/lib/mjs/components/tabs/Tabs.js +9 -27
  441. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  442. package/lib/mjs/components/tags/Tags.form.js +1 -1
  443. package/lib/mjs/components/tags/Tags.js +12 -28
  444. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  445. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  446. package/lib/mjs/components/textarea/TextArea.js +51 -75
  447. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  448. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  449. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  450. package/lib/mjs/components/textfield/TextField.js +23 -34
  451. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  452. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  453. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  454. package/lib/mjs/components/time/Time.js +10 -17
  455. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  456. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  457. package/lib/mjs/components/unknown/Unknown.js +2 -2
  458. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  459. package/lib/mjs/components/url/Url.form.js +3 -3
  460. package/lib/mjs/components/url/Url.js +2 -2
  461. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  462. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  463. package/lib/mjs/components/well/Well.form.js +1 -1
  464. package/lib/mjs/components/well/Well.js +2 -2
  465. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  466. package/lib/mjs/formio.form.d.ts +1 -2
  467. package/lib/mjs/formio.form.js +8 -10
  468. package/lib/mjs/i18n.d.ts +0 -4
  469. package/lib/mjs/i18n.js +3 -7
  470. package/lib/mjs/package.json +1 -1
  471. package/lib/mjs/pdf.image.d.ts +2 -0
  472. package/lib/mjs/pdf.image.js +94 -0
  473. package/lib/mjs/providers/address/AddressProvider.js +5 -8
  474. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  475. package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
  476. package/lib/mjs/providers/processor/fileProcessor.js +1 -3
  477. package/lib/mjs/providers/storage/azure.js +2 -5
  478. package/lib/mjs/providers/storage/dropbox.js +5 -4
  479. package/lib/mjs/providers/storage/googleDrive.js +4 -3
  480. package/lib/mjs/providers/storage/index.js +1 -1
  481. package/lib/mjs/providers/storage/indexeddb.js +6 -16
  482. package/lib/mjs/providers/storage/s3.js +8 -19
  483. package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
  484. package/lib/mjs/providers/storage/url.js +11 -13
  485. package/lib/mjs/providers/storage/xhr.js +9 -17
  486. package/lib/mjs/templates/index.js +1 -1
  487. package/lib/mjs/translations/en.d.ts +2 -0
  488. package/lib/mjs/translations/en.js +9 -7
  489. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  490. package/lib/mjs/utils/builder.js +7 -31
  491. package/lib/mjs/utils/calendarUtils.js +5 -7
  492. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  493. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
  494. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  495. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
  496. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  497. package/lib/mjs/utils/formUtils.js +2 -2
  498. package/lib/mjs/utils/i18n.js +1 -7
  499. package/lib/mjs/utils/index.d.ts +1 -2
  500. package/lib/mjs/utils/index.js +3 -3
  501. package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
  502. package/lib/mjs/utils/jsonlogic/operators.js +262 -0
  503. package/lib/mjs/utils/utils.d.ts +1 -10
  504. package/lib/mjs/utils/utils.js +91 -178
  505. package/lib/mjs/widgets/CalendarWidget.js +50 -67
  506. package/lib/mjs/widgets/InputWidget.js +4 -6
  507. package/lib/mjs/widgets/index.js +1 -1
  508. package/package.json +3 -3
  509. package/lib/cjs/translations/de.d.ts +0 -80
  510. package/lib/cjs/translations/de.js +0 -81
  511. package/lib/mjs/translations/de.d.ts +0 -80
  512. package/lib/mjs/translations/de.js +0 -79
@@ -11,7 +11,7 @@ export default class DataGridComponent extends NestedArrayComponent {
11
11
  clearOnHide: true,
12
12
  input: true,
13
13
  tree: true,
14
- components: [],
14
+ components: []
15
15
  }, ...extend);
16
16
  }
17
17
  static get builderInfo() {
@@ -22,7 +22,7 @@ export default class DataGridComponent extends NestedArrayComponent {
22
22
  documentation: '/userguide/form-building/data-components#data-grid',
23
23
  showPreview: false,
24
24
  weight: 30,
25
- schema: DataGridComponent.schema(),
25
+ schema: DataGridComponent.schema()
26
26
  };
27
27
  }
28
28
  constructor(...args) {
@@ -34,9 +34,7 @@ export default class DataGridComponent extends NestedArrayComponent {
34
34
  this.components = this.components || [];
35
35
  // Add new values based on minLength.
36
36
  this.rows = [];
37
- this.columns = [
38
- ...this.component.components,
39
- ];
37
+ this.columns = [...this.component.components];
40
38
  if (this.initRows || !_.isEqual(this.dataValue, this.emptyValue)) {
41
39
  this.createRows(true);
42
40
  }
@@ -64,11 +62,7 @@ export default class DataGridComponent extends NestedArrayComponent {
64
62
  return this.builderMode || this.path === 'defaultValue' || !this.initEmpty;
65
63
  }
66
64
  get emptyValue() {
67
- return this.initEmpty
68
- ? []
69
- : [
70
- {},
71
- ];
65
+ return this.initEmpty ? [] : [{}];
72
66
  }
73
67
  get addAnotherPosition() {
74
68
  return _.get(this.component, 'addAnotherPosition', 'bottom');
@@ -86,21 +80,15 @@ export default class DataGridComponent extends NestedArrayComponent {
86
80
  const isEmptyInit = this.initEmpty;
87
81
  // Ensure we have one and only one row in builder mode.
88
82
  if (isBuilderMode || (isEmptyInit && !this.dataValue.length)) {
89
- return isEmptyInit && !isBuilderMode
90
- ? []
91
- : [
92
- {},
93
- ];
83
+ return isEmptyInit && !isBuilderMode ? [] : [{}];
94
84
  }
95
85
  const value = super.defaultValue;
96
86
  let defaultValue;
97
87
  if (Array.isArray(value)) {
98
88
  defaultValue = value;
99
89
  }
100
- else if (value && typeof value === 'object') {
101
- defaultValue = [
102
- value,
103
- ];
90
+ else if (value && (typeof value === 'object')) {
91
+ defaultValue = [value];
104
92
  }
105
93
  else {
106
94
  defaultValue = this.emptyValue;
@@ -150,23 +138,11 @@ export default class DataGridComponent extends NestedArrayComponent {
150
138
  * @returns {Array<T[]>} - The chunked rows
151
139
  */
152
140
  getRowChunks(groups, rows) {
153
- const [, chunks,] = groups.reduce(([startIndex, acc,], size) => {
141
+ const [, chunks] = groups.reduce(([startIndex, acc], size) => {
154
142
  const endIndex = startIndex + size;
155
- return [
156
- endIndex,
157
- [
158
- ...acc,
159
- [
160
- startIndex,
161
- endIndex,
162
- ],
163
- ],
164
- ];
165
- }, [
166
- 0,
167
- [],
168
- ]);
169
- return chunks.map((range) => _.slice(rows, ...range));
143
+ return [endIndex, [...acc, [startIndex, endIndex]]];
144
+ }, [0, []]);
145
+ return chunks.map(range => _.slice(rows, ...range));
170
146
  }
171
147
  /**
172
148
  * Create groups object.
@@ -179,13 +155,11 @@ export default class DataGridComponent extends NestedArrayComponent {
179
155
  const indexes = sizes.reduce((groupIndexes, size) => {
180
156
  const last = groupIndexes[groupIndexes.length - 1];
181
157
  return groupIndexes.concat(last + size);
182
- }, [
183
- 0,
184
- ]);
158
+ }, [0]);
185
159
  return groups.reduce((gidxs, group, idx) => {
186
160
  return {
187
161
  ...gidxs,
188
- [indexes[idx]]: group,
162
+ [indexes[idx]]: group
189
163
  };
190
164
  }, {});
191
165
  }
@@ -206,29 +180,20 @@ export default class DataGridComponent extends NestedArrayComponent {
206
180
  this.dataValue = _.range(n).map(() => ({}));
207
181
  }
208
182
  hasExtraColumn() {
209
- return this.hasRemoveButtons() || this.canAddColumn;
183
+ return (this.hasRemoveButtons() || this.canAddColumn);
210
184
  }
211
185
  hasRemoveButtons() {
212
- return (!this.builderMode &&
213
- !this.component.disableAddingRemovingRows &&
186
+ return !this.builderMode && !this.component.disableAddingRemovingRows &&
214
187
  !this.options.readOnly &&
215
188
  !this.disabled &&
216
189
  this.fullMode &&
217
- this.dataValue.length > _.get(this.component, 'validate.minLength', 0));
190
+ (this.dataValue.length > _.get(this.component, 'validate.minLength', 0));
218
191
  }
219
192
  hasTopSubmit() {
220
- return (this.hasAddButton() &&
221
- [
222
- 'top',
223
- 'both',
224
- ].includes(this.addAnotherPosition));
193
+ return this.hasAddButton() && ['top', 'both'].includes(this.addAnotherPosition);
225
194
  }
226
195
  hasBottomSubmit() {
227
- return (this.hasAddButton() &&
228
- [
229
- 'bottom',
230
- 'both',
231
- ].includes(this.addAnotherPosition));
196
+ return this.hasAddButton() && ['bottom', 'both'].includes(this.addAnotherPosition);
232
197
  }
233
198
  get canAddColumn() {
234
199
  return this.builderMode && !this.options.design;
@@ -269,11 +234,11 @@ export default class DataGridComponent extends NestedArrayComponent {
269
234
  placeholder: this.renderTemplate('builderPlaceholder', {
270
235
  position: this.componentComponents.length,
271
236
  }),
272
- colWidth: colWidth.toString(),
237
+ colWidth: colWidth.toString()
273
238
  }));
274
239
  }
275
240
  getRows() {
276
- return this.rows.map((row) => {
241
+ return this.rows.map(row => {
277
242
  const components = {};
278
243
  _.each(row, (col, key) => {
279
244
  components[key] = col.render();
@@ -283,7 +248,7 @@ export default class DataGridComponent extends NestedArrayComponent {
283
248
  }
284
249
  getColumns() {
285
250
  return this.columns.filter((comp) => {
286
- return !this.visibleColumns.hasOwnProperty(comp.key) || this.visibleColumns[comp.key];
251
+ return (!this.visibleColumns.hasOwnProperty(comp.key) || this.visibleColumns[comp.key]);
287
252
  });
288
253
  }
289
254
  hasHeader() {
@@ -305,9 +270,7 @@ export default class DataGridComponent extends NestedArrayComponent {
305
270
  this.refs[`${this.datagridKey}-row`].forEach((row, index) => {
306
271
  row.dragInfo = { index };
307
272
  });
308
- this.dragula = dragula([
309
- this.refs[`${this.datagridKey}-tbody`],
310
- ], {
273
+ this.dragula = dragula([this.refs[`${this.datagridKey}-tbody`]], {
311
274
  moves: (_draggedElement, _oldParent, clickedElement) => {
312
275
  const clickedElementKey = clickedElement.getAttribute('data-key');
313
276
  const oldParentKey = _oldParent.getAttribute('data-key');
@@ -315,7 +278,7 @@ export default class DataGridComponent extends NestedArrayComponent {
315
278
  if (oldParentKey === clickedElementKey) {
316
279
  return clickedElement.classList.contains('formio-drag-button');
317
280
  }
318
- },
281
+ }
319
282
  }).on('drop', this.onReorder.bind(this));
320
283
  this.dragula.on('cloned', (el, original) => {
321
284
  if (el && el.children && original && original.children) {
@@ -351,9 +314,7 @@ export default class DataGridComponent extends NestedArrayComponent {
351
314
  this.rows.forEach((row, rowIndex) => {
352
315
  let columnIndex = 0;
353
316
  columns.forEach((col) => {
354
- this.attachComponents(this.refs[this.datagridKey][rowIndex * rowLength + columnIndex], [
355
- this.rows[rowIndex][col.key],
356
- ], this.getComponentsContainer());
317
+ this.attachComponents(this.refs[this.datagridKey][(rowIndex * rowLength) + columnIndex], [this.rows[rowIndex][col.key]], this.getComponentsContainer());
357
318
  columnIndex++;
358
319
  });
359
320
  });
@@ -429,26 +390,22 @@ export default class DataGridComponent extends NestedArrayComponent {
429
390
  this.rows[index] = this.createRowComponents(row, index);
430
391
  this.emit('dataGridAddRow', {
431
392
  component: this.component,
432
- row,
393
+ row
433
394
  });
434
395
  this.checkConditions();
435
- this.triggerChange({ modified: true });
396
+ this.triggerChange?.({ modified: true });
436
397
  this.redraw().then(() => {
437
398
  this.focusOnNewRowElement(this.rows[index]);
438
399
  });
439
400
  }
440
401
  updateComponentsRowIndex(components, rowIndex) {
441
402
  components.forEach((component, colIndex) => {
442
- if (this.componentsMap[component.paths.dataPath]) {
443
- delete this.componentsMap[component.paths.dataPath];
444
- }
445
403
  if (component.options?.name) {
446
404
  const newName = `[${this.key}][${rowIndex}]`;
447
405
  component.options.name = component.options.name.replace(`[${this.key}][${component.rowIndex}]`, newName);
448
406
  }
449
407
  component.rowIndex = rowIndex;
450
408
  component.row = `${rowIndex}-${colIndex}`;
451
- this.componentsMap[component.paths.dataPath] = component;
452
409
  });
453
410
  }
454
411
  updateRowsComponents(rowIndex) {
@@ -461,7 +418,7 @@ export default class DataGridComponent extends NestedArrayComponent {
461
418
  const flags = { isReordered: !makeEmpty, resetValue: makeEmpty };
462
419
  this.splice(index, flags);
463
420
  this.emit('dataGridDeleteRow', { index });
464
- const [row,] = this.rows.splice(index, 1);
421
+ const [row] = this.rows.splice(index, 1);
465
422
  this.removeSubmissionMetadataRow(index);
466
423
  this.removeRowComponents(row);
467
424
  this.updateRowsComponents(index);
@@ -500,7 +457,7 @@ export default class DataGridComponent extends NestedArrayComponent {
500
457
  const removed = !!removedRows.length;
501
458
  // Delete components of extra rows (to make sure that this.components contain only components of exisiting rows)
502
459
  if (removed) {
503
- removedRows.forEach((row) => this.removeRowComponents(row));
460
+ removedRows.forEach(row => this.removeRowComponents(row));
504
461
  }
505
462
  if (!init && (added || removed)) {
506
463
  this.redraw();
@@ -522,10 +479,10 @@ export default class DataGridComponent extends NestedArrayComponent {
522
479
  }
523
480
  // If we're in a nested form we need to ensure our changes are triggered upstream
524
481
  if (changed.instance.root?.id && this.root?.id !== changed.instance.root.id) {
525
- changed.instance.root.triggerChange(flags, changed, modified);
482
+ changed.instance.root.triggerChange?.(flags, changed, modified);
526
483
  }
527
484
  else {
528
- this.triggerChange({ modified });
485
+ this.triggerChange?.({ modified });
529
486
  }
530
487
  };
531
488
  let columnComponent;
@@ -534,13 +491,14 @@ export default class DataGridComponent extends NestedArrayComponent {
534
491
  columnComponent = col;
535
492
  }
536
493
  else {
537
- columnComponent = { ...col, id: col.id + rowIndex };
494
+ columnComponent = { ...col, id: (col.id + rowIndex) };
538
495
  }
539
496
  const component = this.createComponent(columnComponent, options, row);
540
497
  component.parentDisabled = !!this.disabled;
541
498
  component.rowIndex = rowIndex;
542
499
  component.inDataGrid = true;
543
- if (columnComponent.tabindex && parseInt(columnComponent.tabindex) > this.tabIndex) {
500
+ if (columnComponent.tabindex &&
501
+ parseInt(columnComponent.tabindex) > this.tabIndex) {
544
502
  this.tabIndex = parseInt(columnComponent.tabindex);
545
503
  }
546
504
  components[col.key] = component;
@@ -561,16 +519,12 @@ export default class DataGridComponent extends NestedArrayComponent {
561
519
  const dataValue = this.dataValue;
562
520
  this.rows.forEach((row, rowIndex) => {
563
521
  _.each(row, (col, key) => {
564
- if (col && typeof col.checkConditions === 'function') {
522
+ if (col && (typeof col.checkConditions === 'function')) {
565
523
  const firstRowCheck = visibility[key] === undefined;
566
- visibility[key] =
567
- !!visibility[key] ||
568
- (col.checkConditions(data, flags, dataValue[rowIndex]) && col.type !== 'hidden');
524
+ visibility[key] = !!visibility[key] ||
525
+ (col.checkConditions(data, flags, dataValue[rowIndex]) && col.type !== 'hidden');
569
526
  if (col.component.logic && firstRowCheck) {
570
- const compIndex = _.findIndex(this.columns, [
571
- 'key',
572
- key,
573
- ]);
527
+ const compIndex = _.findIndex(this.columns, ['key', key]);
574
528
  const equalColumns = _.isEqualWith(this.columns[compIndex], col.component, (col1, col2, key) => {
575
529
  // Don't compare columns by their auto-generated ids.
576
530
  if (key === 'id') {
@@ -614,15 +568,11 @@ export default class DataGridComponent extends NestedArrayComponent {
614
568
  }
615
569
  if (!Array.isArray(value)) {
616
570
  if (typeof value === 'object') {
617
- value = [
618
- value,
619
- ];
571
+ value = [value];
620
572
  }
621
573
  else {
622
574
  this.createRows();
623
- value = [
624
- {},
625
- ];
575
+ value = [{}];
626
576
  }
627
577
  }
628
578
  // Make sure we always have at least one row.
@@ -633,8 +583,7 @@ export default class DataGridComponent extends NestedArrayComponent {
633
583
  const isSettingSubmission = flags.fromSubmission && !_.isEqual(value, this.emptyValue);
634
584
  const changed = this.hasChanged(value, this.dataValue);
635
585
  this.dataValue = value;
636
- if (this.initRows ||
637
- isSettingSubmission ||
586
+ if (this.initRows || isSettingSubmission ||
638
587
  (Array.isArray(this.dataValue) && this.dataValue.length !== this.rows.length)) {
639
588
  if (!this.createRows() && changed) {
640
589
  this.redraw();
@@ -657,7 +606,7 @@ export default class DataGridComponent extends NestedArrayComponent {
657
606
  }
658
607
  toggleGroup(element, index) {
659
608
  element.classList.toggle('collapsed');
660
- _.each(this.refs.chunks[index], (row) => {
609
+ _.each(this.refs.chunks[index], row => {
661
610
  row.classList.toggle('hidden');
662
611
  });
663
612
  }
@@ -1,6 +1,6 @@
1
1
  export default [
2
2
  {
3
3
  key: 'multiple',
4
- ignore: true,
4
+ ignore: true
5
5
  },
6
6
  ];
@@ -1,7 +1,7 @@
1
1
  export default [
2
2
  {
3
3
  key: 'placeholder',
4
- ignore: true,
4
+ ignore: true
5
5
  },
6
6
  {
7
7
  type: 'checkbox',
@@ -49,7 +49,7 @@ export default [
49
49
  input: true,
50
50
  customConditional(context) {
51
51
  return !context.data.disableAddingRemovingRows;
52
- },
52
+ }
53
53
  },
54
54
  {
55
55
  type: 'select',
@@ -63,13 +63,13 @@ export default [
63
63
  values: [
64
64
  { label: 'Top', value: 'top' },
65
65
  { label: 'Bottom', value: 'bottom' },
66
- { label: 'Both', value: 'both' },
67
- ],
66
+ { label: 'Both', value: 'both' }
67
+ ]
68
68
  },
69
69
  weight: 411,
70
70
  customConditional(context) {
71
71
  return !context.data.disableAddingRemovingRows;
72
- },
72
+ }
73
73
  },
74
74
  {
75
75
  type: 'checkbox',
@@ -83,7 +83,7 @@ export default [
83
83
  type: 'checkbox',
84
84
  label: 'Enable Row Groups',
85
85
  weight: 440,
86
- input: true,
86
+ input: true
87
87
  },
88
88
  {
89
89
  label: 'Groups',
@@ -110,9 +110,9 @@ export default [
110
110
  input: true,
111
111
  key: 'label',
112
112
  widget: {
113
- type: '',
113
+ type: ''
114
114
  },
115
- row: '0-0',
115
+ row: '0-0'
116
116
  },
117
117
  {
118
118
  label: 'Number of Rows',
@@ -122,11 +122,11 @@ export default [
122
122
  type: 'number',
123
123
  input: true,
124
124
  key: 'numberOfRows',
125
- row: '0-1',
126
- },
125
+ row: '0-1'
126
+ }
127
127
  ],
128
128
  weight: 441,
129
- conditional: { json: { var: 'data.enableRowGroups' } },
129
+ conditional: { json: { var: 'data.enableRowGroups' } }
130
130
  },
131
131
  {
132
132
  label: 'Hide Group on Header Click',
@@ -134,7 +134,7 @@ export default [
134
134
  input: true,
135
135
  key: 'groupToggle',
136
136
  weight: 442,
137
- conditional: { json: { var: 'data.enableRowGroups' } },
137
+ conditional: { json: { var: 'data.enableRowGroups' } }
138
138
  },
139
139
  {
140
140
  label: 'Initialize Empty',
@@ -142,6 +142,6 @@ export default [
142
142
  input: true,
143
143
  key: 'initEmpty',
144
144
  tooltip: 'The DataGrid will have no visible rows when initialized.',
145
- weight: 450,
146
- },
145
+ weight: 450
146
+ }
147
147
  ];
@@ -10,7 +10,7 @@ export default [
10
10
  placeholder: 'Minimum Length',
11
11
  type: 'textfield',
12
12
  tooltip: 'The minimum length requirement this field must meet.',
13
- input: true,
13
+ input: true
14
14
  },
15
15
  {
16
16
  weight: 120,
@@ -19,6 +19,6 @@ export default [
19
19
  placeholder: 'Maximum Length',
20
20
  type: 'textfield',
21
21
  tooltip: 'The maximum length requirement this field must meet.',
22
- input: true,
23
- },
22
+ input: true
23
+ }
24
24
  ];
@@ -10,11 +10,11 @@ export default function (...extend) {
10
10
  return Components.baseEditForm([
11
11
  {
12
12
  key: 'display',
13
- components: DataMapEditDisplay,
13
+ components: DataMapEditDisplay
14
14
  },
15
15
  {
16
16
  key: 'data',
17
- components: DataMapEditData,
17
+ components: DataMapEditData
18
18
  },
19
19
  ], ...extend);
20
20
  }
@@ -17,13 +17,13 @@ export default class DataMapComponent extends DataGridComponent {
17
17
  type: 'textfield',
18
18
  key: 'value',
19
19
  label: 'Value',
20
- input: true,
20
+ input: true
21
21
  },
22
22
  input: true,
23
23
  validate: {
24
24
  maxLength: 0,
25
- minLength: 0,
26
- },
25
+ minLength: 0
26
+ }
27
27
  }, ...extend);
28
28
  }
29
29
  static get builderInfo() {
@@ -34,20 +34,18 @@ export default class DataMapComponent extends DataGridComponent {
34
34
  documentation: '/userguide/form-building/data-components#data-map',
35
35
  showPreview: false,
36
36
  weight: 20,
37
- schema: DataMapComponent.schema(),
37
+ schema: DataMapComponent.schema()
38
38
  };
39
39
  }
40
40
  get schema() {
41
41
  const schema = super.schema;
42
- if (this.components && this.components.length > 0) {
42
+ if (this.components && (this.components.length > 0)) {
43
43
  schema.valueComponent = this.components[this.components.length - 1].schema;
44
44
  }
45
45
  return _.omit(schema, 'components');
46
46
  }
47
47
  static savedValueTypes(schema) {
48
- return (getComponentSavedTypes(schema) || [
49
- componentValueTypes.object,
50
- ]);
48
+ return getComponentSavedTypes(schema) || [componentValueTypes.object];
51
49
  }
52
50
  constructor(component, options, data) {
53
51
  super(component, options, data);
@@ -59,7 +57,7 @@ export default class DataMapComponent extends DataGridComponent {
59
57
  this.createRows();
60
58
  this.visibleColumns = {
61
59
  key: true,
62
- [this.valueKey]: true,
60
+ [this.valueKey]: true
63
61
  };
64
62
  this.component.valueComponent.hideLabel = true;
65
63
  }
@@ -101,9 +99,7 @@ export default class DataMapComponent extends DataGridComponent {
101
99
  getRowValues() {
102
100
  const dataValue = this.dataValue;
103
101
  if (this.builderMode) {
104
- return [
105
- dataValue,
106
- ];
102
+ return [dataValue];
107
103
  }
108
104
  if (_.isEmpty(dataValue)) {
109
105
  return [];
@@ -112,45 +108,38 @@ export default class DataMapComponent extends DataGridComponent {
112
108
  }
113
109
  getComponentsContainer() {
114
110
  if (this.builderMode) {
115
- return this.getComponents().map((comp) => comp.component);
111
+ return this.getComponents().map(comp => comp.component);
116
112
  }
117
113
  return super.getComponentsContainer();
118
114
  }
119
115
  get iteratableRows() {
120
116
  return this.rows.map((row) => {
121
- return Object.keys(row).map((key) => ({
117
+ return Object.keys(row).map(key => ({
122
118
  components: row[key],
123
119
  data: row[key].dataValue,
124
120
  }));
125
121
  });
126
122
  }
127
123
  componentContext(component) {
128
- return this.iteratableRows[component.row].find((comp) => comp.components.key === component.key)
129
- .data;
124
+ return this.iteratableRows[component.row].find(comp => comp.components.key === component.key).data;
130
125
  }
131
126
  hasHeader() {
132
127
  return true;
133
128
  }
134
129
  hasRemoveButtons() {
135
- return (!this.component.disableAddingRemovingRows &&
130
+ return !this.component.disableAddingRemovingRows &&
136
131
  !this.options.readOnly &&
137
132
  !this.disabled &&
138
- this.fullMode);
133
+ this.fullMode;
139
134
  }
140
135
  getColumns() {
141
136
  const keySchema = Object.assign({}, this.keySchema);
142
137
  const valueSchema = Object.assign({}, this.component.valueComponent);
143
138
  keySchema.hideLabel = false;
144
139
  valueSchema.hideLabel = false;
145
- return this.component.keyBeforeValue
146
- ? [
147
- keySchema,
148
- valueSchema,
149
- ]
150
- : [
151
- valueSchema,
152
- keySchema,
153
- ];
140
+ return this.component.keyBeforeValue ?
141
+ [keySchema, valueSchema] :
142
+ [valueSchema, keySchema];
154
143
  }
155
144
  getRowKey(rowIndex) {
156
145
  const keys = Object.keys(this.dataValue);
@@ -166,7 +155,7 @@ export default class DataMapComponent extends DataGridComponent {
166
155
  _.each(this.rows[rowIndex], (component) => {
167
156
  if (component.key === '__key') {
168
157
  component.data = {
169
- __key: Object.keys(rowData)[rowIndex],
158
+ '__key': Object.keys(rowData)[rowIndex],
170
159
  };
171
160
  }
172
161
  else {
@@ -176,23 +165,23 @@ export default class DataMapComponent extends DataGridComponent {
176
165
  }
177
166
  getValueAsString(value, options) {
178
167
  if (options?.email && this.visible && !this.skipInEmail && _.isObject(value)) {
179
- let result = `
168
+ let result = (`
180
169
  <table border="1" style="width:100%">
181
170
  <tbody>
182
- `;
171
+ `);
183
172
  result = Object.keys(value).reduce((result, key) => {
184
- result += `
173
+ result += (`
185
174
  <tr>
186
175
  <th style="padding: 5px 10px;">${key}</th>
187
176
  <td style="width:100%;padding:5px 10px;">${this.getView(value[key], options)}</td>
188
177
  </tr>
189
- `;
178
+ `);
190
179
  return result;
191
180
  }, result);
192
- result += `
181
+ result += (`
193
182
  </tbody>
194
183
  </table>
195
- `;
184
+ `);
196
185
  return result;
197
186
  }
198
187
  if (_.isEmpty(value)) {
@@ -205,24 +194,24 @@ export default class DataMapComponent extends DataGridComponent {
205
194
  return typeof value === 'object' ? '[Complex Data]' : value;
206
195
  }
207
196
  getDataValueAsTable(value, options) {
208
- let result = `
197
+ let result = (`
209
198
  <table border="1" style="width:100%">
210
199
  <tbody>
211
- `;
200
+ `);
212
201
  if (this.visible && _.isObject(value)) {
213
202
  Object.keys(value).forEach((key) => {
214
- result += `
203
+ result += (`
215
204
  <tr>
216
205
  <th style="padding: 5px 10px;">${key}</th>
217
206
  <td style="width:100%;padding:5px 10px;">${this.getView(value[key], options)}</td>
218
207
  </tr>
219
- `;
208
+ `);
220
209
  });
221
210
  }
222
- result += `
211
+ result += (`
223
212
  </tbody>
224
213
  </table>
225
- `;
214
+ `);
226
215
  return result;
227
216
  }
228
217
  createRowComponents(row, rowIndex) {
@@ -235,9 +224,7 @@ export default class DataMapComponent extends DataGridComponent {
235
224
  options.row = `${rowIndex}`;
236
225
  options.rowIndex = rowIndex;
237
226
  const components = {};
238
- components['__key'] = this.createComponent(this.keySchema, options, {
239
- __key: this.builderMode ? this.defaultRowKey : key,
240
- });
227
+ components['__key'] = this.createComponent(this.keySchema, options, { __key: this.builderMode ? this.defaultRowKey : key });
241
228
  components['__key'].on('componentChange', (event) => {
242
229
  const dataValue = this.dataValue;
243
230
  const newKey = uniqueKey(dataValue, event.value);
@@ -274,7 +261,7 @@ export default class DataMapComponent extends DataGridComponent {
274
261
  const index = this.rows.length;
275
262
  this.rows[index] = this.createRowComponents(this.dataValue, index);
276
263
  this.redraw();
277
- this.triggerChange();
264
+ this.triggerChange?.();
278
265
  }
279
266
  removeRow(index) {
280
267
  const keys = Object.keys(this.dataValue);
@@ -283,7 +270,7 @@ export default class DataMapComponent extends DataGridComponent {
283
270
  }
284
271
  this.rows.splice(index, 1);
285
272
  this.redraw();
286
- this.triggerChange();
273
+ this.triggerChange?.();
287
274
  }
288
275
  setValue(value, flags = {}) {
289
276
  const changed = this.hasChanged(value, this.dataValue);
@@ -293,7 +280,7 @@ export default class DataMapComponent extends DataGridComponent {
293
280
  return changed;
294
281
  }
295
282
  checkColumns() {
296
- if (this.builderMode || !this.dataValue || !Object.keys(this.dataValue).length) {
283
+ if (this.builderMode || (!this.dataValue || !Object.keys(this.dataValue).length)) {
297
284
  return { rebuild: false, show: true };
298
285
  }
299
286
  if (Object.keys(this.dataValue).length > (this.rows || []).length) {