@formio/js 5.2.3 → 5.2.4-rc.0

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