@formio/js 5.2.4-rc.0 → 5.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/dist/formio.builder.css +50 -161
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +49 -158
  7. package/dist/formio.form.js +108 -152
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  11. package/dist/formio.full.css +50 -161
  12. package/dist/formio.full.js +227 -401
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  16. package/dist/formio.js +18 -51
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +14 -47
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/CDN.js +12 -12
  23. package/lib/cjs/Element.d.ts +2 -3
  24. package/lib/cjs/Element.js +26 -29
  25. package/lib/cjs/Embed.js +42 -75
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +341 -371
  28. package/lib/cjs/Form.js +39 -153
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +3 -2
  31. package/lib/cjs/Formio.js +23 -26
  32. package/lib/cjs/InlineEmbed.js +17 -23
  33. package/lib/cjs/PDF.d.ts +0 -1
  34. package/lib/cjs/PDF.js +15 -18
  35. package/lib/cjs/PDFBuilder.js +36 -51
  36. package/lib/cjs/Webform.d.ts +366 -8
  37. package/lib/cjs/Webform.js +238 -177
  38. package/lib/cjs/WebformBuilder.js +152 -221
  39. package/lib/cjs/Wizard.js +65 -95
  40. package/lib/cjs/WizardBuilder.js +19 -27
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +4 -0
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +198 -309
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  50. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  54. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  55. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +1 -7
  60. package/lib/cjs/components/_classes/input/Input.js +26 -30
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
  65. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  66. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  67. package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
  68. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
  69. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  70. package/lib/cjs/components/address/Address.d.ts +0 -1
  71. package/lib/cjs/components/address/Address.js +52 -57
  72. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  73. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  74. package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
  75. package/lib/cjs/components/alert/Alert.js +15 -21
  76. package/lib/cjs/components/button/Button.form.js +1 -1
  77. package/lib/cjs/components/button/Button.js +47 -64
  78. package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
  79. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  80. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  81. package/lib/cjs/components/checkbox/Checkbox.js +20 -28
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  83. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  84. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  85. package/lib/cjs/components/columns/Columns.form.js +1 -1
  86. package/lib/cjs/components/columns/Columns.js +12 -24
  87. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  88. package/lib/cjs/components/container/Container.form.js +2 -2
  89. package/lib/cjs/components/container/Container.js +4 -6
  90. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  91. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  92. package/lib/cjs/components/content/Content.form.js +2 -4
  93. package/lib/cjs/components/content/Content.js +8 -10
  94. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  95. package/lib/cjs/components/currency/Currency.form.js +3 -3
  96. package/lib/cjs/components/currency/Currency.js +10 -19
  97. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  98. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  99. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  100. package/lib/cjs/components/datagrid/DataGrid.js +42 -92
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  102. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  103. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  104. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  105. package/lib/cjs/components/datamap/DataMap.js +35 -46
  106. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  107. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  108. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  109. package/lib/cjs/components/datetime/DateTime.js +15 -30
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  113. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  114. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  115. package/lib/cjs/components/day/Day.form.js +5 -5
  116. package/lib/cjs/components/day/Day.js +58 -147
  117. package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
  118. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
  120. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  121. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  122. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  123. package/lib/cjs/components/editgrid/EditGrid.js +96 -142
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  126. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  127. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  128. package/lib/cjs/components/email/Email.js +4 -4
  129. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  130. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  131. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  132. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  133. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  134. package/lib/cjs/components/file/File.form.js +4 -4
  135. package/lib/cjs/components/file/File.js +90 -131
  136. package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
  137. package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
  138. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  139. package/lib/cjs/components/form/Form.form.js +3 -3
  140. package/lib/cjs/components/form/Form.js +58 -68
  141. package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
  142. package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
  143. package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
  144. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  145. package/lib/cjs/components/hidden/Hidden.js +2 -2
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  147. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  148. package/lib/cjs/components/html/HTML.js +17 -23
  149. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  150. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  151. package/lib/cjs/components/number/Number.form.js +3 -3
  152. package/lib/cjs/components/number/Number.js +11 -27
  153. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  154. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  155. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  156. package/lib/cjs/components/panel/Panel.form.js +1 -1
  157. package/lib/cjs/components/panel/Panel.js +2 -2
  158. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
  159. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
  160. package/lib/cjs/components/password/Password.form.js +3 -3
  161. package/lib/cjs/components/password/Password.js +2 -5
  162. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  163. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  164. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  165. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  166. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  167. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  168. package/lib/cjs/components/radio/Radio.form.js +3 -3
  169. package/lib/cjs/components/radio/Radio.js +32 -58
  170. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
  171. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  172. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  173. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  174. package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
  175. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  176. package/lib/cjs/components/select/Select.form.js +3 -3
  177. package/lib/cjs/components/select/Select.js +140 -235
  178. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  179. package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
  180. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  181. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  182. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  183. package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
  184. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  185. package/lib/cjs/components/signature/Signature.form.js +3 -3
  186. package/lib/cjs/components/signature/Signature.js +17 -26
  187. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
  188. package/lib/cjs/components/survey/Survey.form.js +3 -3
  189. package/lib/cjs/components/survey/Survey.js +17 -30
  190. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
  191. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  192. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  193. package/lib/cjs/components/table/Table.form.js +1 -1
  194. package/lib/cjs/components/table/Table.js +7 -8
  195. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  196. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  197. package/lib/cjs/components/tabs/Tabs.js +10 -27
  198. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  199. package/lib/cjs/components/tags/Tags.form.js +1 -1
  200. package/lib/cjs/components/tags/Tags.js +12 -28
  201. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  202. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  203. package/lib/cjs/components/textarea/TextArea.js +45 -63
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  205. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  207. package/lib/cjs/components/textfield/TextField.js +21 -32
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  210. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  211. package/lib/cjs/components/time/Time.js +10 -17
  212. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  213. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  214. package/lib/cjs/components/unknown/Unknown.js +2 -2
  215. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  216. package/lib/cjs/components/url/Url.form.js +3 -3
  217. package/lib/cjs/components/url/Url.js +2 -2
  218. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  219. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  220. package/lib/cjs/components/well/Well.form.js +1 -1
  221. package/lib/cjs/components/well/Well.js +2 -2
  222. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  223. package/lib/cjs/formio.form.d.ts +1 -2
  224. package/lib/cjs/formio.form.js +12 -38
  225. package/lib/cjs/i18n.d.ts +0 -4
  226. package/lib/cjs/i18n.js +3 -7
  227. package/lib/cjs/package.json +1 -1
  228. package/lib/cjs/pdf.image.d.ts +2 -0
  229. package/lib/cjs/pdf.image.js +94 -0
  230. package/lib/cjs/providers/address/AddressProvider.js +5 -8
  231. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  232. package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
  233. package/lib/cjs/providers/processor/fileProcessor.js +1 -3
  234. package/lib/cjs/providers/storage/azure.js +2 -5
  235. package/lib/cjs/providers/storage/dropbox.js +5 -4
  236. package/lib/cjs/providers/storage/googleDrive.js +4 -3
  237. package/lib/cjs/providers/storage/index.js +1 -1
  238. package/lib/cjs/providers/storage/indexeddb.js +6 -16
  239. package/lib/cjs/providers/storage/s3.js +6 -17
  240. package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
  241. package/lib/cjs/providers/storage/url.js +11 -13
  242. package/lib/cjs/providers/storage/xhr.js +9 -17
  243. package/lib/cjs/templates/index.js +1 -1
  244. package/lib/cjs/translations/en.d.ts +2 -0
  245. package/lib/cjs/translations/en.js +9 -7
  246. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  247. package/lib/cjs/utils/builder.js +7 -31
  248. package/lib/cjs/utils/calendarUtils.js +5 -7
  249. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  250. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
  251. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  252. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
  253. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  254. package/lib/cjs/utils/formUtils.js +1 -1
  255. package/lib/cjs/utils/i18n.js +1 -7
  256. package/lib/cjs/utils/index.d.ts +1 -2
  257. package/lib/cjs/utils/index.js +2 -2
  258. package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
  259. package/lib/cjs/utils/jsonlogic/operators.js +265 -0
  260. package/lib/cjs/utils/utils.d.ts +1 -10
  261. package/lib/cjs/utils/utils.js +92 -175
  262. package/lib/cjs/widgets/CalendarWidget.js +49 -66
  263. package/lib/cjs/widgets/InputWidget.js +4 -6
  264. package/lib/cjs/widgets/index.js +1 -1
  265. package/lib/mjs/CDN.js +12 -12
  266. package/lib/mjs/Element.d.ts +2 -3
  267. package/lib/mjs/Element.js +23 -29
  268. package/lib/mjs/Embed.js +43 -77
  269. package/lib/mjs/EventEmitter.js +1 -1
  270. package/lib/mjs/Form.d.ts +341 -371
  271. package/lib/mjs/Form.js +126 -142
  272. package/lib/mjs/FormBuilder.d.ts +3 -3
  273. package/lib/mjs/FormBuilder.js +3 -2
  274. package/lib/mjs/Formio.js +23 -26
  275. package/lib/mjs/InlineEmbed.js +17 -23
  276. package/lib/mjs/PDF.d.ts +0 -1
  277. package/lib/mjs/PDF.js +15 -18
  278. package/lib/mjs/PDFBuilder.js +36 -51
  279. package/lib/mjs/Webform.d.ts +366 -8
  280. package/lib/mjs/Webform.js +251 -184
  281. package/lib/mjs/WebformBuilder.js +151 -224
  282. package/lib/mjs/Wizard.js +64 -94
  283. package/lib/mjs/WizardBuilder.js +19 -27
  284. package/lib/mjs/addons/FormioAddon.js +1 -1
  285. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  286. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  287. package/lib/mjs/addons/index.js +3 -3
  288. package/lib/mjs/components/Components.js +4 -0
  289. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  290. package/lib/mjs/components/_classes/component/Component.js +194 -313
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  297. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  298. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  299. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  300. package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
  301. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  302. package/lib/mjs/components/_classes/field/Field.js +2 -8
  303. package/lib/mjs/components/_classes/input/Input.js +23 -27
  304. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  305. package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
  306. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  307. package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
  308. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  309. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  310. package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
  311. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
  312. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  313. package/lib/mjs/components/address/Address.d.ts +0 -1
  314. package/lib/mjs/components/address/Address.js +49 -60
  315. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  316. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  317. package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
  318. package/lib/mjs/components/alert/Alert.js +16 -22
  319. package/lib/mjs/components/button/Button.form.js +1 -1
  320. package/lib/mjs/components/button/Button.js +42 -65
  321. package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
  322. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  323. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  324. package/lib/mjs/components/checkbox/Checkbox.js +21 -29
  325. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  326. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  327. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  328. package/lib/mjs/components/columns/Columns.form.js +1 -1
  329. package/lib/mjs/components/columns/Columns.js +12 -24
  330. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  331. package/lib/mjs/components/container/Container.form.js +2 -2
  332. package/lib/mjs/components/container/Container.js +4 -6
  333. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  334. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  335. package/lib/mjs/components/content/Content.form.js +2 -4
  336. package/lib/mjs/components/content/Content.js +8 -10
  337. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  338. package/lib/mjs/components/currency/Currency.form.js +3 -3
  339. package/lib/mjs/components/currency/Currency.js +10 -19
  340. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  341. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  342. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  343. package/lib/mjs/components/datagrid/DataGrid.js +41 -92
  344. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  345. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  346. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  347. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  348. package/lib/mjs/components/datamap/DataMap.js +33 -46
  349. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  350. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  351. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  352. package/lib/mjs/components/datetime/DateTime.js +16 -31
  353. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  354. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  355. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  356. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  357. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  358. package/lib/mjs/components/day/Day.form.js +5 -5
  359. package/lib/mjs/components/day/Day.js +58 -148
  360. package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
  361. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  362. package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
  363. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  364. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  365. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  366. package/lib/mjs/components/editgrid/EditGrid.js +92 -140
  367. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  368. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  369. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  370. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  371. package/lib/mjs/components/email/Email.js +4 -4
  372. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  373. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  374. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  375. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  376. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  377. package/lib/mjs/components/file/File.form.js +4 -4
  378. package/lib/mjs/components/file/File.js +89 -136
  379. package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
  380. package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
  381. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  382. package/lib/mjs/components/form/Form.form.js +3 -3
  383. package/lib/mjs/components/form/Form.js +55 -68
  384. package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
  385. package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
  386. package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
  387. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  388. package/lib/mjs/components/hidden/Hidden.js +2 -2
  389. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  390. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  391. package/lib/mjs/components/html/HTML.js +17 -23
  392. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  393. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  394. package/lib/mjs/components/number/Number.form.js +3 -3
  395. package/lib/mjs/components/number/Number.js +12 -28
  396. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  397. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  398. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  399. package/lib/mjs/components/panel/Panel.form.js +1 -1
  400. package/lib/mjs/components/panel/Panel.js +2 -2
  401. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
  402. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
  403. package/lib/mjs/components/password/Password.form.js +3 -3
  404. package/lib/mjs/components/password/Password.js +2 -5
  405. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  406. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  407. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  408. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  409. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  410. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  411. package/lib/mjs/components/radio/Radio.form.js +3 -3
  412. package/lib/mjs/components/radio/Radio.js +30 -59
  413. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
  414. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  415. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  416. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  417. package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
  418. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  419. package/lib/mjs/components/select/Select.form.js +3 -3
  420. package/lib/mjs/components/select/Select.js +145 -240
  421. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  422. package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
  423. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  424. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  425. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  426. package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
  427. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  428. package/lib/mjs/components/signature/Signature.form.js +3 -3
  429. package/lib/mjs/components/signature/Signature.js +16 -26
  430. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
  431. package/lib/mjs/components/survey/Survey.form.js +3 -3
  432. package/lib/mjs/components/survey/Survey.js +17 -30
  433. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
  434. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  435. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  436. package/lib/mjs/components/table/Table.form.js +1 -1
  437. package/lib/mjs/components/table/Table.js +6 -8
  438. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  439. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  440. package/lib/mjs/components/tabs/Tabs.js +9 -27
  441. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  442. package/lib/mjs/components/tags/Tags.form.js +1 -1
  443. package/lib/mjs/components/tags/Tags.js +12 -28
  444. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  445. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  446. package/lib/mjs/components/textarea/TextArea.js +51 -75
  447. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  448. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  449. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  450. package/lib/mjs/components/textfield/TextField.js +23 -34
  451. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  452. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  453. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  454. package/lib/mjs/components/time/Time.js +10 -17
  455. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  456. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  457. package/lib/mjs/components/unknown/Unknown.js +2 -2
  458. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  459. package/lib/mjs/components/url/Url.form.js +3 -3
  460. package/lib/mjs/components/url/Url.js +2 -2
  461. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  462. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  463. package/lib/mjs/components/well/Well.form.js +1 -1
  464. package/lib/mjs/components/well/Well.js +2 -2
  465. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  466. package/lib/mjs/formio.form.d.ts +1 -2
  467. package/lib/mjs/formio.form.js +8 -10
  468. package/lib/mjs/i18n.d.ts +0 -4
  469. package/lib/mjs/i18n.js +3 -7
  470. package/lib/mjs/package.json +1 -1
  471. package/lib/mjs/pdf.image.d.ts +2 -0
  472. package/lib/mjs/pdf.image.js +94 -0
  473. package/lib/mjs/providers/address/AddressProvider.js +5 -8
  474. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  475. package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
  476. package/lib/mjs/providers/processor/fileProcessor.js +1 -3
  477. package/lib/mjs/providers/storage/azure.js +2 -5
  478. package/lib/mjs/providers/storage/dropbox.js +5 -4
  479. package/lib/mjs/providers/storage/googleDrive.js +4 -3
  480. package/lib/mjs/providers/storage/index.js +1 -1
  481. package/lib/mjs/providers/storage/indexeddb.js +6 -16
  482. package/lib/mjs/providers/storage/s3.js +8 -19
  483. package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
  484. package/lib/mjs/providers/storage/url.js +11 -13
  485. package/lib/mjs/providers/storage/xhr.js +9 -17
  486. package/lib/mjs/templates/index.js +1 -1
  487. package/lib/mjs/translations/en.d.ts +2 -0
  488. package/lib/mjs/translations/en.js +9 -7
  489. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  490. package/lib/mjs/utils/builder.js +7 -31
  491. package/lib/mjs/utils/calendarUtils.js +5 -7
  492. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  493. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
  494. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  495. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
  496. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  497. package/lib/mjs/utils/formUtils.js +2 -2
  498. package/lib/mjs/utils/i18n.js +1 -7
  499. package/lib/mjs/utils/index.d.ts +1 -2
  500. package/lib/mjs/utils/index.js +3 -3
  501. package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
  502. package/lib/mjs/utils/jsonlogic/operators.js +262 -0
  503. package/lib/mjs/utils/utils.d.ts +1 -10
  504. package/lib/mjs/utils/utils.js +91 -178
  505. package/lib/mjs/widgets/CalendarWidget.js +50 -67
  506. package/lib/mjs/widgets/InputWidget.js +4 -6
  507. package/lib/mjs/widgets/index.js +1 -1
  508. package/package.json +3 -3
  509. package/lib/cjs/translations/de.d.ts +0 -80
  510. package/lib/cjs/translations/de.js +0 -81
  511. package/lib/mjs/translations/de.d.ts +0 -80
  512. package/lib/mjs/translations/de.js +0 -79
@@ -11,11 +11,11 @@ let htmlCanvasElement;
11
11
  if (typeof window !== 'undefined') {
12
12
  htmlCanvasElement = window.HTMLCanvasElement;
13
13
  }
14
- else if (typeof globalThis !== 'undefined') {
15
- htmlCanvasElement = globalThis.HTMLCanvasElement;
14
+ else if (typeof global !== 'undefined') {
15
+ htmlCanvasElement = global.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,11 +23,9 @@ 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([
27
- arr,
28
- ], { type: type || 'image/png' }));
26
+ callback(new Blob([arr], { type: type || 'image/png' }));
29
27
  });
30
- },
28
+ }
31
29
  });
32
30
  }
33
31
  const createRandomString = () => Math.random().toString(36).substring(2, 15);
@@ -62,26 +60,19 @@ export default class FileComponent extends Field {
62
60
  static get conditionOperatorsSettings() {
63
61
  return {
64
62
  ...super.conditionOperatorsSettings,
65
- operators: [
66
- 'isEmpty',
67
- 'isNotEmpty',
68
- ],
63
+ operators: ['isEmpty', 'isNotEmpty'],
69
64
  };
70
65
  }
71
66
  static savedValueTypes(schema) {
72
67
  schema = schema || {};
73
- return (getComponentSavedTypes(schema) || [
74
- componentValueTypes.object,
75
- ]);
68
+ return getComponentSavedTypes(schema) || [componentValueTypes.object];
76
69
  }
77
70
  init() {
78
71
  super.init();
79
72
  webViewCamera = navigator.camera || Camera;
80
- const fileReaderSupported = typeof FileReader !== 'undefined';
73
+ const fileReaderSupported = (typeof FileReader !== 'undefined');
81
74
  const formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;
82
- const progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest
83
- ? 'upload' in new XMLHttpRequest()
84
- : false;
75
+ const progressSupported = (typeof window !== 'undefined' && window.XMLHttpRequest) ? ('upload' in new XMLHttpRequest) : false;
85
76
  this.support = {
86
77
  filereader: fileReaderSupported,
87
78
  formdata: formDataSupported,
@@ -132,10 +123,10 @@ export default class FileComponent extends Field {
132
123
  return Array.isArray(value) ? value : [];
133
124
  }
134
125
  get hasTypes() {
135
- return (this.component.fileTypes &&
126
+ return this.component.fileTypes &&
136
127
  Array.isArray(this.component.fileTypes) &&
137
128
  this.component.fileTypes.length !== 0 &&
138
- (this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== ''));
129
+ (this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');
139
130
  }
140
131
  get fileDropHidden() {
141
132
  return this._fileBrowseHidden;
@@ -241,11 +232,10 @@ export default class FileComponent extends Field {
241
232
  this.redraw();
242
233
  return;
243
234
  }
244
- this.getFrame(videoPlayer).then((frame) => {
235
+ this.getFrame(videoPlayer)
236
+ .then((frame) => {
245
237
  frame.name = `photo-${Date.now()}.png`;
246
- this.handleFilesToUpload([
247
- frame,
248
- ]);
238
+ this.handleFilesToUpload([frame]);
249
239
  this.cameraMode = false;
250
240
  this.redraw();
251
241
  });
@@ -379,7 +369,8 @@ export default class FileComponent extends Field {
379
369
  if (this.refs.fileBrowse) {
380
370
  this.addEventListener(this.refs.fileBrowse, 'click', (event) => {
381
371
  event.preventDefault();
382
- this.browseFiles(this.browseOptions).then((files) => {
372
+ this.browseFiles(this.browseOptions)
373
+ .then((files) => {
383
374
  this.handleFilesToUpload(files);
384
375
  });
385
376
  });
@@ -412,7 +403,7 @@ export default class FileComponent extends Field {
412
403
  delete fileInfo.message;
413
404
  this.filesToSync.filesToDelete.splice(index, 1);
414
405
  this.dataValue.push(fileInfo);
415
- this.triggerChange();
406
+ this.triggerChange?.();
416
407
  this.redraw();
417
408
  });
418
409
  });
@@ -424,13 +415,9 @@ export default class FileComponent extends Field {
424
415
  fileEntry.file((file) => {
425
416
  const reader = new FileReader();
426
417
  reader.onloadend = (evt) => {
427
- const blob = new Blob([
428
- new Uint8Array(evt.target.result),
429
- ], { type: file.type });
418
+ const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
430
419
  blob.name = file.name;
431
- this.handleFilesToUpload([
432
- blob,
433
- ]);
420
+ this.handleFilesToUpload([blob]);
434
421
  };
435
422
  reader.readAsArrayBuffer(file);
436
423
  });
@@ -450,13 +437,9 @@ export default class FileComponent extends Field {
450
437
  fileEntry.file((file) => {
451
438
  const reader = new FileReader();
452
439
  reader.onloadend = (evt) => {
453
- const blob = new Blob([
454
- new Uint8Array(evt.target.result),
455
- ], { type: file.type });
440
+ const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
456
441
  blob.name = file.name;
457
- this.handleFilesToUpload([
458
- blob,
459
- ]);
442
+ this.handleFilesToUpload([blob]);
460
443
  };
461
444
  reader.readAsArrayBuffer(file);
462
445
  });
@@ -489,8 +472,7 @@ export default class FileComponent extends Field {
489
472
  if (!this.dataValue[index]) {
490
473
  return;
491
474
  }
492
- this.dataValue[index].fileType =
493
- this.dataValue[index].fileType || this.component.fileTypes[0].label;
475
+ this.dataValue[index].fileType = this.dataValue[index].fileType || this.component.fileTypes[0].label;
494
476
  this.addEventListener(fileType, 'change', (event) => {
495
477
  event.preventDefault();
496
478
  const fileType = this.component.fileTypes.find((typeObj) => typeObj.value === event.target.value);
@@ -512,11 +494,9 @@ export default class FileComponent extends Field {
512
494
  loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
513
495
  });
514
496
  if (loadingImages.length) {
515
- Promise.all(loadingImages)
516
- .then(() => {
497
+ Promise.all(loadingImages).then(() => {
517
498
  this.filesReadyResolve();
518
- })
519
- .catch(() => this.filesReadyReject());
499
+ }).catch(() => this.filesReadyReject());
520
500
  }
521
501
  else {
522
502
  this.filesReadyResolve();
@@ -524,9 +504,12 @@ export default class FileComponent extends Field {
524
504
  }
525
505
  return superAttach;
526
506
  }
507
+ /* eslint-disable max-len */
527
508
  fileSize(a, b, c, d, e) {
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'}`;
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'}`;
529
510
  }
511
+ /* eslint-enable max-len */
512
+ /* eslint-disable max-depth */
530
513
  globStringToRegex(str) {
531
514
  str = str.replace(/\s/g, '');
532
515
  let regexp = '', excludes = [];
@@ -564,6 +547,7 @@ export default class FileComponent extends Field {
564
547
  }
565
548
  return { regexp, excludes };
566
549
  }
550
+ /* eslint-enable max-depth */
567
551
  translateScalars(str) {
568
552
  if (typeof str === 'string') {
569
553
  if (str.search(/kb/i) === str.length - 2) {
@@ -598,15 +582,13 @@ export default class FileComponent extends Field {
598
582
  let valid = true;
599
583
  if (pattern.regexp && pattern.regexp.length) {
600
584
  const regexp = new RegExp(pattern.regexp, 'i');
601
- valid =
602
- (!_.isNil(file.type) && regexp.test(file.type)) ||
603
- (!_.isNil(file.name) && regexp.test(file.name));
585
+ valid = (!_.isNil(file.type) && regexp.test(file.type)) ||
586
+ (!_.isNil(file.name) && regexp.test(file.name));
604
587
  }
605
588
  valid = pattern.excludes.reduce((result, excludePattern) => {
606
589
  const exclude = new RegExp(excludePattern, 'i');
607
- return (result &&
608
- (_.isNil(file.type) || exclude.test(file.type)) &&
609
- (_.isNil(file.name) || exclude.test(file.name)));
590
+ return result && (_.isNil(file.type) || exclude.test(file.type)) &&
591
+ (_.isNil(file.name) || exclude.test(file.name));
610
592
  }, valid);
611
593
  return valid;
612
594
  }
@@ -617,7 +599,7 @@ export default class FileComponent extends Field {
617
599
  return file.size - 0.1 <= this.translateScalars(val);
618
600
  }
619
601
  abortRequest(id) {
620
- const abortUpload = this.abortUploads.find((abortUpload) => abortUpload.id === id);
602
+ const abortUpload = this.abortUploads.find(abortUpload => abortUpload.id === id);
621
603
  if (abortUpload) {
622
604
  abortUpload.abort();
623
605
  }
@@ -627,7 +609,7 @@ export default class FileComponent extends Field {
627
609
  if (!target.id) {
628
610
  return;
629
611
  }
630
- const [action, id,] = target.id.split('-');
612
+ const [action, id] = target.id.split('-');
631
613
  if (!action || !id || !this.actions[action]) {
632
614
  return;
633
615
  }
@@ -637,9 +619,7 @@ export default class FileComponent extends Field {
637
619
  return uniqueName(file.name, this.component.fileNameTemplate, this.evalContext());
638
620
  }
639
621
  getInitFileToSync(file) {
640
- const escapedFileName = file.name
641
- ? file.name.replaceAll('<', '&lt;').replaceAll('>', '&gt;')
642
- : file.name;
622
+ const escapedFileName = file.name ? file.name.replaceAll('<', '&lt;').replaceAll('>', '&gt;') : file.name;
643
623
  return {
644
624
  id: createRandomString(),
645
625
  // Get a unique name for this file to keep file collisions from occurring.
@@ -657,7 +637,7 @@ export default class FileComponent extends Field {
657
637
  };
658
638
  }
659
639
  async handleSubmissionRevisions(file) {
660
- if (this.root.form.submissionRevisions !== 'true') {
640
+ if (this.root?.form.submissionRevisions !== 'true') {
661
641
  return '';
662
642
  }
663
643
  const bmf = new BMF();
@@ -675,8 +655,9 @@ export default class FileComponent extends Field {
675
655
  }
676
656
  validateFileName(file) {
677
657
  // Check if file with the same name is being uploaded
678
- const fileWithSameNameUploading = this.filesToSync.filesToUpload.some((fileToSync) => fileToSync.file?.name === file.name);
679
- const fileWithSameNameUploaded = _.some(this.dataValue, (fileStatus) => fileStatus.originalName === file.name);
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);
680
661
  return fileWithSameNameUploaded || fileWithSameNameUploading
681
662
  ? {
682
663
  status: 'error',
@@ -738,24 +719,16 @@ export default class FileComponent extends Field {
738
719
  let groupKey = null;
739
720
  let groupPermissions = null;
740
721
  //Iterate through form components to find group resource if one exists
741
- this.root.everyComponent((element) => {
722
+ this.root?.everyComponent((element) => {
742
723
  if (element.component?.submissionAccess || element.component?.defaultPermission) {
743
- groupPermissions = !element.component.submissionAccess
744
- ? [
745
- {
746
- type: element.component.defaultPermission,
747
- roles: [],
748
- },
749
- ]
750
- : element.component.submissionAccess;
724
+ groupPermissions = !element.component.submissionAccess ? [
725
+ {
726
+ type: element.component.defaultPermission,
727
+ roles: [],
728
+ },
729
+ ] : element.component.submissionAccess;
751
730
  groupPermissions.forEach((permission) => {
752
- groupKey = [
753
- 'admin',
754
- 'write',
755
- 'create',
756
- ].includes(permission.type)
757
- ? element.component.key
758
- : null;
731
+ groupKey = ['admin', 'write', 'create'].includes(permission.type) ? element.component.key : null;
759
732
  });
760
733
  }
761
734
  });
@@ -763,15 +736,15 @@ export default class FileComponent extends Field {
763
736
  }
764
737
  async triggerFileProcessor(file) {
765
738
  let processedFile = null;
766
- if (this.root.options.fileProcessor) {
739
+ if (this.root?.options.fileProcessor) {
767
740
  try {
768
741
  if (this.refs.fileProcessingLoader) {
769
742
  this.refs.fileProcessingLoader.style.display = 'block';
770
743
  }
771
- const fileProcessorHandler = fileProcessor(this.fileService, this.root.options.fileProcessor);
744
+ const fileProcessorHandler = fileProcessor(this.fileService, this.root?.options.fileProcessor);
772
745
  processedFile = await fileProcessorHandler(file, this.component.properties);
773
746
  }
774
- catch (ignoreErr) {
747
+ catch (err) {
775
748
  this.fileDropHidden = false;
776
749
  return {
777
750
  status: 'error',
@@ -827,9 +800,7 @@ export default class FileComponent extends Field {
827
800
  }
828
801
  if (this.component.storage && files && files.length) {
829
802
  this.fileDropHidden = true;
830
- return Promise.all([
831
- ...files,
832
- ].map(async (file) => {
803
+ return Promise.all([...files].map(async (file) => {
833
804
  await this.prepareFileToUpload(file);
834
805
  this.redraw();
835
806
  }));
@@ -852,7 +823,7 @@ export default class FileComponent extends Field {
852
823
  ? this.t('Ready to be removed from storage')
853
824
  : this.t('Preparing file to remove'),
854
825
  });
855
- const index = this.dataValue.findIndex((file) => file.name === fileInfo.name);
826
+ const index = this.dataValue.findIndex(file => file.name === fileInfo.name);
856
827
  this.splice(index);
857
828
  this.redraw();
858
829
  }
@@ -864,14 +835,7 @@ export default class FileComponent extends Field {
864
835
  }
865
836
  async deleteFile(fileInfo) {
866
837
  const { options = {} } = this.component;
867
- if (fileInfo &&
868
- [
869
- 'url',
870
- 'indexeddb',
871
- 's3',
872
- 'azure',
873
- 'googledrive',
874
- ].includes(this.component.storage)) {
838
+ if (fileInfo && (['url', 'indexeddb', 's3', 'azure', 'googledrive'].includes(this.component.storage))) {
875
839
  const { fileService } = this;
876
840
  if (fileService && typeof fileService.deleteFile === 'function') {
877
841
  return await fileService.deleteFile(fileInfo, options);
@@ -908,14 +872,14 @@ export default class FileComponent extends Field {
908
872
  }));
909
873
  }
910
874
  updateProgress(fileInfo, progressEvent) {
911
- fileInfo.progress = parseInt((100.0 * progressEvent.loaded) / progressEvent.total);
875
+ fileInfo.progress = parseInt(100.0 * progressEvent.loaded / progressEvent.total);
912
876
  if (fileInfo.status !== 'progress') {
913
877
  fileInfo.status = 'progress';
914
878
  delete fileInfo.message;
915
879
  this.redraw();
916
880
  }
917
881
  else {
918
- const progress = Array.prototype.find.call(this.refs.progress, (progressElement) => progressElement.id === fileInfo.id);
882
+ const progress = Array.prototype.find.call(this.refs.progress, progressElement => progressElement.id === fileInfo.id);
919
883
  progress.innerHTML = `<span class="visually-hidden">${fileInfo.progress}% ${this.t('Complete')}</span>`;
920
884
  progress.style.width = `${fileInfo.progress}%`;
921
885
  progress.ariaValueNow = fileInfo.progress.toString();
@@ -923,22 +887,20 @@ export default class FileComponent extends Field {
923
887
  }
924
888
  getMultipartOptions(fileToSync) {
925
889
  let count = 0;
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;
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;
942
904
  }
943
905
  async uploadFile(fileToSync) {
944
906
  return await this.fileService.uploadFile(fileToSync.storage, fileToSync.file, fileToSync.name, fileToSync.dir,
@@ -975,12 +937,11 @@ export default class FileComponent extends Field {
975
937
  catch (response) {
976
938
  fileToSync.status = 'error';
977
939
  delete fileToSync.progress;
978
- fileToSync.message =
979
- typeof response === 'string'
980
- ? response
981
- : response.type === 'abort'
982
- ? this.t('Request was aborted')
983
- : response.toString();
940
+ fileToSync.message = typeof response === 'string'
941
+ ? response
942
+ : response.type === 'abort'
943
+ ? this.t('Request was aborted')
944
+ : response.toString();
984
945
  this.emit('fileUploadingEnd');
985
946
  this.emit('fileUploadError', {
986
947
  fileToSync,
@@ -1002,29 +963,24 @@ export default class FileComponent extends Field {
1002
963
  this.fileDropHidden = true;
1003
964
  this.redraw();
1004
965
  try {
1005
- const [filesToDelete = [], filesToUpload = [],] = await Promise.all([
1006
- this.delete(),
1007
- this.upload(),
1008
- ]);
966
+ const [filesToDelete = [], filesToUpload = []] = await Promise.all([this.delete(), this.upload()]);
1009
967
  this.filesToSync.filesToDelete = filesToDelete
1010
- .filter((file) => file.fileToSync?.status === 'error')
1011
- .map((file) => file.fileToSync);
968
+ .filter(file => file.fileToSync?.status === 'error')
969
+ .map(file => file.fileToSync);
1012
970
  this.filesToSync.filesToUpload = filesToUpload
1013
- .filter((file) => file.fileToSync?.status === 'error')
1014
- .map((file) => file.fileToSync);
971
+ .filter(file => file.fileToSync?.status === 'error')
972
+ .map(file => file.fileToSync);
1015
973
  if (!this.hasValue()) {
1016
974
  this.dataValue = [];
1017
975
  }
1018
976
  const data = filesToUpload
1019
- .filter((file) => file.fileToSync?.status === 'success')
1020
- .map((file) => file.fileInfo);
977
+ .filter(file => file.fileToSync?.status === 'success')
978
+ .map(file => file.fileInfo);
1021
979
  this.dataValue.push(...data);
1022
- this.triggerChange({
1023
- modified: true,
1024
- });
980
+ this.triggerChange?.();
1025
981
  return Promise.resolve();
1026
982
  }
1027
- catch (ignoreErr) {
983
+ catch (err) {
1028
984
  return Promise.reject();
1029
985
  }
1030
986
  finally {
@@ -1043,14 +999,9 @@ export default class FileComponent extends Field {
1043
999
  if (this.component.privateDownload) {
1044
1000
  fileInfo.private = true;
1045
1001
  }
1046
- fileService
1047
- .downloadFile(fileInfo, options)
1048
- .then((file) => {
1002
+ fileService.downloadFile(fileInfo, options).then((file) => {
1049
1003
  if (file) {
1050
- if ([
1051
- 'base64',
1052
- 'indexeddb',
1053
- ].includes(file.storage)) {
1004
+ if (['base64', 'indexeddb'].includes(file.storage)) {
1054
1005
  download(file.url, file.originalName || file.name, file.type);
1055
1006
  }
1056
1007
  else {
@@ -1078,7 +1029,9 @@ export default class FileComponent extends Field {
1078
1029
  return Promise.resolve();
1079
1030
  }
1080
1031
  await this.syncFiles();
1081
- return this.shouldSyncFiles ? Promise.reject('Synchronization is failed') : Promise.resolve();
1032
+ return this.shouldSyncFiles
1033
+ ? Promise.reject('Synchronization is failed')
1034
+ : Promise.resolve();
1082
1035
  }
1083
1036
  catch (error) {
1084
1037
  return Promise.reject(error.message);
@@ -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: 'hidden',
@@ -13,15 +13,11 @@ export default [
13
13
  json: {
14
14
  in: [
15
15
  {
16
- var: 'data.storage',
16
+ var: 'data.storage'
17
17
  },
18
- [
19
- 's3',
20
- 'azure',
21
- 'googledrive',
22
- ],
18
+ ['s3', 'azure', 'googledrive']
23
19
  ],
24
- },
25
- },
20
+ }
21
+ }
26
22
  },
27
23
  ];