@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
@@ -10,7 +10,7 @@ export default [
10
10
  placeholder: 'Minimum Length',
11
11
  type: 'number',
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,7 +19,7 @@ export default [
19
19
  placeholder: 'Maximum Length',
20
20
  type: 'number',
21
21
  tooltip: 'The maximum length requirement this field must meet.',
22
- input: true
22
+ input: true,
23
23
  },
24
24
  {
25
25
  type: 'checkbox',
@@ -28,5 +28,5 @@ export default [
28
28
  key: 'rowDrafts',
29
29
  label: 'Enable Row Drafts',
30
30
  tooltip: 'Allow save rows even if their data is invalid. Errors will occur when try to submit with invalid rows.',
31
- }
31
+ },
32
32
  ];
@@ -7,8 +7,8 @@ export default class EmailComponent extends TextFieldComponent {
7
7
  key: 'email',
8
8
  inputType: 'email',
9
9
  kickbox: {
10
- enabled: false
11
- }
10
+ enabled: false,
11
+ },
12
12
  }, ...extend);
13
13
  }
14
14
  static get builderInfo() {
@@ -18,7 +18,7 @@ export default class EmailComponent extends TextFieldComponent {
18
18
  icon: 'at',
19
19
  documentation: '/userguide/form-building/advanced-components#email',
20
20
  weight: 10,
21
- schema: EmailComponent.schema()
21
+ schema: EmailComponent.schema(),
22
22
  };
23
23
  }
24
24
  init() {
@@ -36,7 +36,7 @@ export default class EmailComponent extends TextFieldComponent {
36
36
  value = super.normalizeValue(value, flags);
37
37
  if (this.options.server && !!value) {
38
38
  if (Array.isArray(value)) {
39
- value = value.map(val => val.toLowerCase());
39
+ value = value.map((val) => val.toLowerCase());
40
40
  }
41
41
  else {
42
42
  value = value.toLowerCase();
@@ -9,10 +9,10 @@ export default [
9
9
  },
10
10
  {
11
11
  key: 'showWordCount',
12
- ignore: true
12
+ ignore: true,
13
13
  },
14
14
  {
15
15
  key: 'showCharCount',
16
- ignore: true
17
- }
16
+ ignore: true,
17
+ },
18
18
  ];
@@ -1,11 +1,11 @@
1
1
  export default [
2
2
  {
3
3
  key: 'validate.minWords',
4
- ignore: true
4
+ ignore: true,
5
5
  },
6
6
  {
7
7
  key: 'validate.maxWords',
8
- ignore: true
8
+ ignore: true,
9
9
  },
10
10
  {
11
11
  type: 'panel',
@@ -19,8 +19,8 @@ export default [
19
19
  label: 'Enable',
20
20
  tooltip: 'Enable Kickbox validation for this email field.',
21
21
  description: 'Validate this email using the Kickbox email validation service.',
22
- key: 'kickbox.enabled'
23
- }
24
- ]
25
- }
22
+ key: 'kickbox.enabled',
23
+ },
24
+ ],
25
+ },
26
26
  ];
@@ -9,7 +9,7 @@ export default function (...extend) {
9
9
  return nestedComponentForm([
10
10
  {
11
11
  key: 'display',
12
- components: FieldSetEditDisplay
12
+ components: FieldSetEditDisplay,
13
13
  },
14
14
  ], ...extend);
15
15
  }
@@ -8,7 +8,7 @@ export default class FieldsetComponent extends NestedComponent {
8
8
  legend: '',
9
9
  components: [],
10
10
  input: false,
11
- persistent: false
11
+ persistent: false,
12
12
  }, ...extend);
13
13
  }
14
14
  static get builderInfo() {
@@ -19,7 +19,7 @@ export default class FieldsetComponent extends NestedComponent {
19
19
  documentation: '/userguide/form-building/layout-components#field-set',
20
20
  showPreview: false,
21
21
  weight: 20,
22
- schema: FieldsetComponent.schema()
22
+ schema: FieldsetComponent.schema(),
23
23
  };
24
24
  }
25
25
  static savedValueTypes() {
@@ -1,34 +1,34 @@
1
1
  export default [
2
2
  {
3
3
  key: 'labelPosition',
4
- ignore: true
4
+ ignore: true,
5
5
  },
6
6
  {
7
7
  key: 'placeholder',
8
- ignore: true
8
+ ignore: true,
9
9
  },
10
10
  {
11
11
  key: 'description',
12
- ignore: true
12
+ ignore: true,
13
13
  },
14
14
  {
15
15
  key: 'hideLabel',
16
- ignore: true
16
+ ignore: true,
17
17
  },
18
18
  {
19
19
  key: 'autofocus',
20
- ignore: true
20
+ ignore: true,
21
21
  },
22
22
  {
23
23
  key: 'tableView',
24
- ignore: true
24
+ ignore: true,
25
25
  },
26
26
  {
27
27
  key: 'label',
28
28
  hidden: true,
29
29
  calculateValue(context) {
30
30
  return context.data.legend;
31
- }
31
+ },
32
32
  },
33
33
  {
34
34
  weight: 1,
@@ -37,6 +37,6 @@ export default [
37
37
  key: 'legend',
38
38
  label: 'Legend',
39
39
  placeholder: 'Legend',
40
- tooltip: 'The legend for this Fieldset.'
40
+ tooltip: 'The legend for this Fieldset.',
41
41
  },
42
42
  ];
@@ -12,21 +12,21 @@ export default function (...extend) {
12
12
  return Components.baseEditForm([
13
13
  {
14
14
  key: 'display',
15
- components: FileEditDisplay
15
+ components: FileEditDisplay,
16
16
  },
17
17
  {
18
18
  key: 'data',
19
- components: FileEditData
19
+ components: FileEditData,
20
20
  },
21
21
  {
22
22
  label: 'File',
23
23
  key: 'file',
24
24
  weight: 5,
25
- components: FileEditFile
25
+ components: FileEditFile,
26
26
  },
27
27
  {
28
28
  key: 'validation',
29
- components: FileEditValidation
29
+ components: FileEditValidation,
30
30
  },
31
31
  ], ...extend);
32
32
  }
@@ -11,11 +11,11 @@ let htmlCanvasElement;
11
11
  if (typeof window !== 'undefined') {
12
12
  htmlCanvasElement = window.HTMLCanvasElement;
13
13
  }
14
- else if (typeof global !== 'undefined') {
15
- htmlCanvasElement = global.HTMLCanvasElement;
14
+ else if (typeof globalThis !== 'undefined') {
15
+ htmlCanvasElement = globalThis.HTMLCanvasElement;
16
16
  }
17
17
  if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
18
- Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {
18
+ Object.defineProperty(htmlCanvasElement.prototype, 'toBlob', {
19
19
  value: function (callback, type, quality) {
20
20
  var canvas = this;
21
21
  setTimeout(function () {
@@ -23,9 +23,11 @@ if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
23
23
  for (var i = 0; i < len; i++) {
24
24
  arr[i] = binStr.charCodeAt(i);
25
25
  }
26
- callback(new Blob([arr], { type: type || 'image/png' }));
26
+ callback(new Blob([
27
+ arr,
28
+ ], { type: type || 'image/png' }));
27
29
  });
28
- }
30
+ },
29
31
  });
30
32
  }
31
33
  const createRandomString = () => Math.random().toString(36).substring(2, 15);
@@ -60,19 +62,26 @@ export default class FileComponent extends Field {
60
62
  static get conditionOperatorsSettings() {
61
63
  return {
62
64
  ...super.conditionOperatorsSettings,
63
- operators: ['isEmpty', 'isNotEmpty'],
65
+ operators: [
66
+ 'isEmpty',
67
+ 'isNotEmpty',
68
+ ],
64
69
  };
65
70
  }
66
71
  static savedValueTypes(schema) {
67
72
  schema = schema || {};
68
- return getComponentSavedTypes(schema) || [componentValueTypes.object];
73
+ return (getComponentSavedTypes(schema) || [
74
+ componentValueTypes.object,
75
+ ]);
69
76
  }
70
77
  init() {
71
78
  super.init();
72
79
  webViewCamera = navigator.camera || Camera;
73
- const fileReaderSupported = (typeof FileReader !== 'undefined');
80
+ const fileReaderSupported = typeof FileReader !== 'undefined';
74
81
  const formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;
75
- const progressSupported = (typeof window !== 'undefined' && window.XMLHttpRequest) ? ('upload' in new XMLHttpRequest) : false;
82
+ const progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest
83
+ ? 'upload' in new XMLHttpRequest()
84
+ : false;
76
85
  this.support = {
77
86
  filereader: fileReaderSupported,
78
87
  formdata: formDataSupported,
@@ -123,10 +132,10 @@ export default class FileComponent extends Field {
123
132
  return Array.isArray(value) ? value : [];
124
133
  }
125
134
  get hasTypes() {
126
- return this.component.fileTypes &&
135
+ return (this.component.fileTypes &&
127
136
  Array.isArray(this.component.fileTypes) &&
128
137
  this.component.fileTypes.length !== 0 &&
129
- (this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');
138
+ (this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== ''));
130
139
  }
131
140
  get fileDropHidden() {
132
141
  return this._fileBrowseHidden;
@@ -232,10 +241,11 @@ export default class FileComponent extends Field {
232
241
  this.redraw();
233
242
  return;
234
243
  }
235
- this.getFrame(videoPlayer)
236
- .then((frame) => {
244
+ this.getFrame(videoPlayer).then((frame) => {
237
245
  frame.name = `photo-${Date.now()}.png`;
238
- this.handleFilesToUpload([frame]);
246
+ this.handleFilesToUpload([
247
+ frame,
248
+ ]);
239
249
  this.cameraMode = false;
240
250
  this.redraw();
241
251
  });
@@ -369,8 +379,7 @@ export default class FileComponent extends Field {
369
379
  if (this.refs.fileBrowse) {
370
380
  this.addEventListener(this.refs.fileBrowse, 'click', (event) => {
371
381
  event.preventDefault();
372
- this.browseFiles(this.browseOptions)
373
- .then((files) => {
382
+ this.browseFiles(this.browseOptions).then((files) => {
374
383
  this.handleFilesToUpload(files);
375
384
  });
376
385
  });
@@ -415,9 +424,13 @@ export default class FileComponent extends Field {
415
424
  fileEntry.file((file) => {
416
425
  const reader = new FileReader();
417
426
  reader.onloadend = (evt) => {
418
- const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
427
+ const blob = new Blob([
428
+ new Uint8Array(evt.target.result),
429
+ ], { type: file.type });
419
430
  blob.name = file.name;
420
- this.handleFilesToUpload([blob]);
431
+ this.handleFilesToUpload([
432
+ blob,
433
+ ]);
421
434
  };
422
435
  reader.readAsArrayBuffer(file);
423
436
  });
@@ -437,9 +450,13 @@ export default class FileComponent extends Field {
437
450
  fileEntry.file((file) => {
438
451
  const reader = new FileReader();
439
452
  reader.onloadend = (evt) => {
440
- const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
453
+ const blob = new Blob([
454
+ new Uint8Array(evt.target.result),
455
+ ], { type: file.type });
441
456
  blob.name = file.name;
442
- this.handleFilesToUpload([blob]);
457
+ this.handleFilesToUpload([
458
+ blob,
459
+ ]);
443
460
  };
444
461
  reader.readAsArrayBuffer(file);
445
462
  });
@@ -472,7 +489,8 @@ export default class FileComponent extends Field {
472
489
  if (!this.dataValue[index]) {
473
490
  return;
474
491
  }
475
- this.dataValue[index].fileType = this.dataValue[index].fileType || this.component.fileTypes[0].label;
492
+ this.dataValue[index].fileType =
493
+ this.dataValue[index].fileType || this.component.fileTypes[0].label;
476
494
  this.addEventListener(fileType, 'change', (event) => {
477
495
  event.preventDefault();
478
496
  const fileType = this.component.fileTypes.find((typeObj) => typeObj.value === event.target.value);
@@ -494,9 +512,11 @@ export default class FileComponent extends Field {
494
512
  loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
495
513
  });
496
514
  if (loadingImages.length) {
497
- Promise.all(loadingImages).then(() => {
515
+ Promise.all(loadingImages)
516
+ .then(() => {
498
517
  this.filesReadyResolve();
499
- }).catch(() => this.filesReadyReject());
518
+ })
519
+ .catch(() => this.filesReadyReject());
500
520
  }
501
521
  else {
502
522
  this.filesReadyResolve();
@@ -504,12 +524,9 @@ export default class FileComponent extends Field {
504
524
  }
505
525
  return superAttach;
506
526
  }
507
- /* eslint-disable max-len */
508
527
  fileSize(a, b, c, d, e) {
509
- return `${(b = Math, c = b.log, d = 1024, e = c(a) / c(d) | 0, a / b.pow(d, e)).toFixed(2)} ${e ? `${'kMGTPEZY'[--e]}B` : 'Bytes'}`;
528
+ return `${((b = Math), (c = b.log), (d = 1024), (e = (c(a) / c(d)) | 0), a / b.pow(d, e)).toFixed(2)} ${e ? `${'kMGTPEZY'[--e]}B` : 'Bytes'}`;
510
529
  }
511
- /* eslint-enable max-len */
512
- /* eslint-disable max-depth */
513
530
  globStringToRegex(str) {
514
531
  str = str.replace(/\s/g, '');
515
532
  let regexp = '', excludes = [];
@@ -547,7 +564,6 @@ export default class FileComponent extends Field {
547
564
  }
548
565
  return { regexp, excludes };
549
566
  }
550
- /* eslint-enable max-depth */
551
567
  translateScalars(str) {
552
568
  if (typeof str === 'string') {
553
569
  if (str.search(/kb/i) === str.length - 2) {
@@ -582,13 +598,15 @@ export default class FileComponent extends Field {
582
598
  let valid = true;
583
599
  if (pattern.regexp && pattern.regexp.length) {
584
600
  const regexp = new RegExp(pattern.regexp, 'i');
585
- valid = (!_.isNil(file.type) && regexp.test(file.type)) ||
586
- (!_.isNil(file.name) && regexp.test(file.name));
601
+ valid =
602
+ (!_.isNil(file.type) && regexp.test(file.type)) ||
603
+ (!_.isNil(file.name) && regexp.test(file.name));
587
604
  }
588
605
  valid = pattern.excludes.reduce((result, excludePattern) => {
589
606
  const exclude = new RegExp(excludePattern, 'i');
590
- return result && (_.isNil(file.type) || exclude.test(file.type)) &&
591
- (_.isNil(file.name) || exclude.test(file.name));
607
+ return (result &&
608
+ (_.isNil(file.type) || exclude.test(file.type)) &&
609
+ (_.isNil(file.name) || exclude.test(file.name)));
592
610
  }, valid);
593
611
  return valid;
594
612
  }
@@ -599,7 +617,7 @@ export default class FileComponent extends Field {
599
617
  return file.size - 0.1 <= this.translateScalars(val);
600
618
  }
601
619
  abortRequest(id) {
602
- const abortUpload = this.abortUploads.find(abortUpload => abortUpload.id === id);
620
+ const abortUpload = this.abortUploads.find((abortUpload) => abortUpload.id === id);
603
621
  if (abortUpload) {
604
622
  abortUpload.abort();
605
623
  }
@@ -609,7 +627,7 @@ export default class FileComponent extends Field {
609
627
  if (!target.id) {
610
628
  return;
611
629
  }
612
- const [action, id] = target.id.split('-');
630
+ const [action, id,] = target.id.split('-');
613
631
  if (!action || !id || !this.actions[action]) {
614
632
  return;
615
633
  }
@@ -619,7 +637,9 @@ export default class FileComponent extends Field {
619
637
  return uniqueName(file.name, this.component.fileNameTemplate, this.evalContext());
620
638
  }
621
639
  getInitFileToSync(file) {
622
- const escapedFileName = file.name ? file.name.replaceAll('<', '&lt;').replaceAll('>', '&gt;') : file.name;
640
+ const escapedFileName = file.name
641
+ ? file.name.replaceAll('<', '&lt;').replaceAll('>', '&gt;')
642
+ : file.name;
623
643
  return {
624
644
  id: createRandomString(),
625
645
  // Get a unique name for this file to keep file collisions from occurring.
@@ -655,9 +675,8 @@ export default class FileComponent extends Field {
655
675
  }
656
676
  validateFileName(file) {
657
677
  // Check if file with the same name is being uploaded
658
- const fileWithSameNameUploading = this.filesToSync.filesToUpload
659
- .some(fileToSync => fileToSync.file?.name === file.name);
660
- const fileWithSameNameUploaded = _.some(this.dataValue, fileStatus => fileStatus.originalName === file.name);
678
+ const fileWithSameNameUploading = this.filesToSync.filesToUpload.some((fileToSync) => fileToSync.file?.name === file.name);
679
+ const fileWithSameNameUploaded = _.some(this.dataValue, (fileStatus) => fileStatus.originalName === file.name);
661
680
  return fileWithSameNameUploaded || fileWithSameNameUploading
662
681
  ? {
663
682
  status: 'error',
@@ -721,14 +740,22 @@ export default class FileComponent extends Field {
721
740
  //Iterate through form components to find group resource if one exists
722
741
  this.root.everyComponent((element) => {
723
742
  if (element.component?.submissionAccess || element.component?.defaultPermission) {
724
- groupPermissions = !element.component.submissionAccess ? [
725
- {
726
- type: element.component.defaultPermission,
727
- roles: [],
728
- },
729
- ] : element.component.submissionAccess;
743
+ groupPermissions = !element.component.submissionAccess
744
+ ? [
745
+ {
746
+ type: element.component.defaultPermission,
747
+ roles: [],
748
+ },
749
+ ]
750
+ : element.component.submissionAccess;
730
751
  groupPermissions.forEach((permission) => {
731
- groupKey = ['admin', 'write', 'create'].includes(permission.type) ? element.component.key : null;
752
+ groupKey = [
753
+ 'admin',
754
+ 'write',
755
+ 'create',
756
+ ].includes(permission.type)
757
+ ? element.component.key
758
+ : null;
732
759
  });
733
760
  }
734
761
  });
@@ -744,7 +771,7 @@ export default class FileComponent extends Field {
744
771
  const fileProcessorHandler = fileProcessor(this.fileService, this.root.options.fileProcessor);
745
772
  processedFile = await fileProcessorHandler(file, this.component.properties);
746
773
  }
747
- catch (err) {
774
+ catch (ignoreErr) {
748
775
  this.fileDropHidden = false;
749
776
  return {
750
777
  status: 'error',
@@ -800,7 +827,9 @@ export default class FileComponent extends Field {
800
827
  }
801
828
  if (this.component.storage && files && files.length) {
802
829
  this.fileDropHidden = true;
803
- return Promise.all([...files].map(async (file) => {
830
+ return Promise.all([
831
+ ...files,
832
+ ].map(async (file) => {
804
833
  await this.prepareFileToUpload(file);
805
834
  this.redraw();
806
835
  }));
@@ -823,7 +852,7 @@ export default class FileComponent extends Field {
823
852
  ? this.t('Ready to be removed from storage')
824
853
  : this.t('Preparing file to remove'),
825
854
  });
826
- const index = this.dataValue.findIndex(file => file.name === fileInfo.name);
855
+ const index = this.dataValue.findIndex((file) => file.name === fileInfo.name);
827
856
  this.splice(index);
828
857
  this.redraw();
829
858
  }
@@ -835,7 +864,14 @@ export default class FileComponent extends Field {
835
864
  }
836
865
  async deleteFile(fileInfo) {
837
866
  const { options = {} } = this.component;
838
- if (fileInfo && (['url', 'indexeddb', 's3', 'azure', 'googledrive'].includes(this.component.storage))) {
867
+ if (fileInfo &&
868
+ [
869
+ 'url',
870
+ 'indexeddb',
871
+ 's3',
872
+ 'azure',
873
+ 'googledrive',
874
+ ].includes(this.component.storage)) {
839
875
  const { fileService } = this;
840
876
  if (fileService && typeof fileService.deleteFile === 'function') {
841
877
  return await fileService.deleteFile(fileInfo, options);
@@ -872,14 +908,14 @@ export default class FileComponent extends Field {
872
908
  }));
873
909
  }
874
910
  updateProgress(fileInfo, progressEvent) {
875
- fileInfo.progress = parseInt(100.0 * progressEvent.loaded / progressEvent.total);
911
+ fileInfo.progress = parseInt((100.0 * progressEvent.loaded) / progressEvent.total);
876
912
  if (fileInfo.status !== 'progress') {
877
913
  fileInfo.status = 'progress';
878
914
  delete fileInfo.message;
879
915
  this.redraw();
880
916
  }
881
917
  else {
882
- const progress = Array.prototype.find.call(this.refs.progress, progressElement => progressElement.id === fileInfo.id);
918
+ const progress = Array.prototype.find.call(this.refs.progress, (progressElement) => progressElement.id === fileInfo.id);
883
919
  progress.innerHTML = `<span class="visually-hidden">${fileInfo.progress}% ${this.t('Complete')}</span>`;
884
920
  progress.style.width = `${fileInfo.progress}%`;
885
921
  progress.ariaValueNow = fileInfo.progress.toString();
@@ -887,20 +923,22 @@ export default class FileComponent extends Field {
887
923
  }
888
924
  getMultipartOptions(fileToSync) {
889
925
  let count = 0;
890
- return this.component.useMultipartUpload && this.component.multipart ? {
891
- ...this.component.multipart,
892
- progressCallback: (total) => {
893
- count++;
894
- fileToSync.status = 'progress';
895
- fileToSync.progress = parseInt(100 * count / total);
896
- delete fileToSync.message;
897
- this.redraw();
898
- },
899
- changeMessage: (message) => {
900
- fileToSync.message = message;
901
- this.redraw();
902
- },
903
- } : false;
926
+ return this.component.useMultipartUpload && this.component.multipart
927
+ ? {
928
+ ...this.component.multipart,
929
+ progressCallback: (total) => {
930
+ count++;
931
+ fileToSync.status = 'progress';
932
+ fileToSync.progress = parseInt((100 * count) / total);
933
+ delete fileToSync.message;
934
+ this.redraw();
935
+ },
936
+ changeMessage: (message) => {
937
+ fileToSync.message = message;
938
+ this.redraw();
939
+ },
940
+ }
941
+ : false;
904
942
  }
905
943
  async uploadFile(fileToSync) {
906
944
  return await this.fileService.uploadFile(fileToSync.storage, fileToSync.file, fileToSync.name, fileToSync.dir,
@@ -937,11 +975,12 @@ export default class FileComponent extends Field {
937
975
  catch (response) {
938
976
  fileToSync.status = 'error';
939
977
  delete fileToSync.progress;
940
- fileToSync.message = typeof response === 'string'
941
- ? response
942
- : response.type === 'abort'
943
- ? this.t('Request was aborted')
944
- : response.toString();
978
+ fileToSync.message =
979
+ typeof response === 'string'
980
+ ? response
981
+ : response.type === 'abort'
982
+ ? this.t('Request was aborted')
983
+ : response.toString();
945
984
  this.emit('fileUploadingEnd');
946
985
  this.emit('fileUploadError', {
947
986
  fileToSync,
@@ -963,24 +1002,29 @@ export default class FileComponent extends Field {
963
1002
  this.fileDropHidden = true;
964
1003
  this.redraw();
965
1004
  try {
966
- const [filesToDelete = [], filesToUpload = []] = await Promise.all([this.delete(), this.upload()]);
1005
+ const [filesToDelete = [], filesToUpload = [],] = await Promise.all([
1006
+ this.delete(),
1007
+ this.upload(),
1008
+ ]);
967
1009
  this.filesToSync.filesToDelete = filesToDelete
968
- .filter(file => file.fileToSync?.status === 'error')
969
- .map(file => file.fileToSync);
1010
+ .filter((file) => file.fileToSync?.status === 'error')
1011
+ .map((file) => file.fileToSync);
970
1012
  this.filesToSync.filesToUpload = filesToUpload
971
- .filter(file => file.fileToSync?.status === 'error')
972
- .map(file => file.fileToSync);
1013
+ .filter((file) => file.fileToSync?.status === 'error')
1014
+ .map((file) => file.fileToSync);
973
1015
  if (!this.hasValue()) {
974
1016
  this.dataValue = [];
975
1017
  }
976
1018
  const data = filesToUpload
977
- .filter(file => file.fileToSync?.status === 'success')
978
- .map(file => file.fileInfo);
1019
+ .filter((file) => file.fileToSync?.status === 'success')
1020
+ .map((file) => file.fileInfo);
979
1021
  this.dataValue.push(...data);
980
- this.triggerChange();
1022
+ this.triggerChange({
1023
+ modified: true,
1024
+ });
981
1025
  return Promise.resolve();
982
1026
  }
983
- catch (err) {
1027
+ catch (ignoreErr) {
984
1028
  return Promise.reject();
985
1029
  }
986
1030
  finally {
@@ -999,9 +1043,14 @@ export default class FileComponent extends Field {
999
1043
  if (this.component.privateDownload) {
1000
1044
  fileInfo.private = true;
1001
1045
  }
1002
- fileService.downloadFile(fileInfo, options).then((file) => {
1046
+ fileService
1047
+ .downloadFile(fileInfo, options)
1048
+ .then((file) => {
1003
1049
  if (file) {
1004
- if (['base64', 'indexeddb'].includes(file.storage)) {
1050
+ if ([
1051
+ 'base64',
1052
+ 'indexeddb',
1053
+ ].includes(file.storage)) {
1005
1054
  download(file.url, file.originalName || file.name, file.type);
1006
1055
  }
1007
1056
  else {
@@ -1029,9 +1078,7 @@ export default class FileComponent extends Field {
1029
1078
  return Promise.resolve();
1030
1079
  }
1031
1080
  await this.syncFiles();
1032
- return this.shouldSyncFiles
1033
- ? Promise.reject('Synchronization is failed')
1034
- : Promise.resolve();
1081
+ return this.shouldSyncFiles ? Promise.reject('Synchronization is failed') : Promise.resolve();
1035
1082
  }
1036
1083
  catch (error) {
1037
1084
  return Promise.reject(error.message);