@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
@@ -1,35 +1,35 @@
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: 'autofocus',
16
- ignore: true
16
+ ignore: true,
17
17
  },
18
18
  {
19
19
  key: 'tooltip',
20
- ignore: true
20
+ ignore: true,
21
21
  },
22
22
  {
23
23
  key: 'tabindex',
24
- ignore: true
24
+ ignore: true,
25
25
  },
26
26
  {
27
27
  key: 'tableView',
28
- ignore: true
28
+ ignore: true,
29
29
  },
30
30
  {
31
31
  key: 'hideLabel',
32
- ignore: true
32
+ ignore: true,
33
33
  },
34
34
  {
35
35
  weight: 0,
@@ -40,9 +40,9 @@ export default [
40
40
  placeholder: 'Field Label',
41
41
  tooltip: 'The label for this field.',
42
42
  validate: {
43
- required: true
43
+ required: true,
44
44
  },
45
45
  autofocus: true,
46
- overrideEditForm: true
46
+ overrideEditForm: true,
47
47
  },
48
48
  ];
@@ -24,4 +24,5 @@ import Licenses from './licenses';
24
24
  import EventEmitter from './EventEmitter';
25
25
  import Webform from './Webform';
26
26
  import { DefaultEvaluator } from './utils';
27
- export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator };
27
+ import { FormOptions } from './Form';
28
+ export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator, FormOptions };
@@ -6,15 +6,13 @@ import Displays from './displays/Displays';
6
6
  import Templates from './templates/Templates';
7
7
  import Providers from './providers';
8
8
  import Widgets from './widgets';
9
- import Form from './Form';
10
- import Utils from './utils';
9
+ import Form, { FormOptions } from './Form';
10
+ import Utils, { Evaluator, registerEvaluator, DefaultEvaluator } from './utils';
11
11
  import Licenses from './licenses';
12
12
  import EventEmitter from './EventEmitter';
13
13
  import Webform from './Webform';
14
- import { Evaluator, registerEvaluator, DefaultEvaluator } from './utils';
15
14
  Formio.loadModules = (path = `${Formio.getApiUrl()}/externalModules.js`, name = 'externalModules') => {
16
- Formio.requireLibrary(name, name, path, true)
17
- .then((modules) => {
15
+ Formio.requireLibrary(name, name, path, true).then((modules) => {
18
16
  Formio.use(modules);
19
17
  });
20
18
  };
@@ -107,10 +105,14 @@ export function registerModule(mod, defaultFn = null, options = {}) {
107
105
  */
108
106
  export function useModule(defaultFn = null) {
109
107
  return (plugins, options = {}) => {
110
- plugins = _.isArray(plugins) ? plugins : [plugins];
108
+ plugins = _.isArray(plugins)
109
+ ? plugins
110
+ : [
111
+ plugins,
112
+ ];
111
113
  plugins.forEach((plugin) => {
112
114
  if (Array.isArray(plugin)) {
113
- plugin.forEach(p => registerModule(p, defaultFn, options));
115
+ plugin.forEach((p) => registerModule(p, defaultFn, options));
114
116
  }
115
117
  else {
116
118
  registerModule(plugin, defaultFn, options);
@@ -127,4 +129,4 @@ export function useModule(defaultFn = null) {
127
129
  Formio.use = useModule();
128
130
  export { Formio as FormioCore } from './Formio';
129
131
  // Export the components.
130
- export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator };
132
+ export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator, FormOptions, };
package/lib/mjs/i18n.d.ts CHANGED
@@ -8,6 +8,10 @@ declare namespace _default {
8
8
  namespace en {
9
9
  let translation: any;
10
10
  }
11
+ namespace de {
12
+ let translation_1: any;
13
+ export { translation_1 as translation };
14
+ }
11
15
  }
12
16
  }
13
17
  export default _default;
package/lib/mjs/i18n.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import enTranslation from './translations/en';
2
+ import deTranslation from './translations/de';
2
3
  import { fastCloneDeep } from './utils';
3
4
  export default {
4
5
  lng: 'en',
@@ -8,7 +9,10 @@ export default {
8
9
  contextSeparator: '._.',
9
10
  resources: {
10
11
  en: {
11
- translation: fastCloneDeep(enTranslation)
12
- }
13
- }
12
+ translation: fastCloneDeep(enTranslation),
13
+ },
14
+ de: {
15
+ translation: fastCloneDeep(deTranslation),
16
+ },
17
+ },
14
18
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "type": "module",
3
- "version": "5.2.3"
3
+ "version": "5.3.0-rc.0"
4
4
 
5
5
  }
@@ -87,7 +87,9 @@ export class AddressProvider {
87
87
  * @returns {string} The serialized parameters.
88
88
  */
89
89
  serialize(params) {
90
- return _.toPairs(params).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');
90
+ return _.toPairs(params)
91
+ .map(([key, value,]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
92
+ .join('&');
91
93
  }
92
94
  /**
93
95
  * @private
@@ -124,10 +126,9 @@ export class AddressProvider {
124
126
  */
125
127
  search(query, options = {}) {
126
128
  const requestOptions = this.getRequestOptions(options);
127
- const params = requestOptions.params = requestOptions.params || {};
129
+ const params = (requestOptions.params = requestOptions.params || {});
128
130
  params[this.queryProperty] = query;
129
- return this.makeRequest(requestOptions)
130
- .then((result) => this.responseProperty ? _.get(result, this.responseProperty, []) : result);
131
+ return this.makeRequest(requestOptions).then((result) => this.responseProperty ? _.get(result, this.responseProperty, []) : result);
131
132
  }
132
133
  /**
133
134
  * @public
@@ -135,6 +136,8 @@ export class AddressProvider {
135
136
  * @returns {string} The display value of the address.
136
137
  */
137
138
  getDisplayValue(address) {
138
- return this.displayValueProperty ? _.get(address, this.displayValueProperty, '') : String(address);
139
+ return this.displayValueProperty
140
+ ? _.get(address, this.displayValueProperty, '')
141
+ : String(address);
139
142
  }
140
143
  }
@@ -26,7 +26,7 @@
26
26
  */
27
27
  export class GoogleAddressProvider extends AddressProvider {
28
28
  /**
29
-
29
+
30
30
  * @param {ProviderOptions} options - The options for the provider.
31
31
  */
32
32
  constructor(options?: ProviderOptions);
@@ -50,11 +50,11 @@ export class GoogleAddressProvider extends AddressProvider {
50
50
  _autocompleteOptions: AutocompleteOptions | undefined;
51
51
  /**
52
52
  * Sets the autocomplete options based on the provider options.
53
-
53
+
54
54
  */
55
55
  setAutocompleteOptions(): void;
56
56
  /**
57
-
57
+
58
58
  * Converts the region to autocomplete option if it exists.
59
59
  * @param {ProviderOptions} options - The provider options.
60
60
  */
@@ -45,7 +45,7 @@ export class GoogleAddressProvider extends AddressProvider {
45
45
  return 'Google Maps';
46
46
  }
47
47
  /**
48
-
48
+
49
49
  * @param {ProviderOptions} options - The options for the provider.
50
50
  */
51
51
  constructor(options = {}) {
@@ -85,7 +85,7 @@ export class GoogleAddressProvider extends AddressProvider {
85
85
  }
86
86
  /**
87
87
  * Sets the autocomplete options based on the provider options.
88
-
88
+
89
89
  */
90
90
  setAutocompleteOptions() {
91
91
  let options = _.get(this.options, 'params.autocompleteOptions', {});
@@ -96,7 +96,7 @@ export class GoogleAddressProvider extends AddressProvider {
96
96
  this.autocompleteOptions = options;
97
97
  }
98
98
  /**
99
-
99
+
100
100
  * Converts the region to autocomplete option if it exists.
101
101
  * @param {ProviderOptions} options - The provider options.
102
102
  */
@@ -120,18 +120,27 @@ export class GoogleAddressProvider extends AddressProvider {
120
120
  if (region && !_.has(options, 'params.autocompleteOptions')) {
121
121
  region = region.toUpperCase().trim();
122
122
  // providing compatibility with ISO 3166-1 Alpha-2 county codes (for checking compatibility https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
123
- const countryCodes = { 'UK': 'GB' };
123
+ const countryCodes = { UK: 'GB' };
124
124
  if (countryCodes[region]) {
125
125
  region = countryCodes[region];
126
126
  }
127
- _.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [region]);
127
+ _.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [
128
+ region,
129
+ ]);
128
130
  }
129
131
  }
130
132
  /**
131
133
  * @returns {string[]} The required address properties.
132
134
  */
133
135
  getRequiredAddressProperties() {
134
- return ['address_components', 'formatted_address', 'geometry', 'place_id', 'plus_code', 'types'];
136
+ return [
137
+ 'address_components',
138
+ 'formatted_address',
139
+ 'geometry',
140
+ 'place_id',
141
+ 'plus_code',
142
+ 'types',
143
+ ];
135
144
  }
136
145
  /**
137
146
  * Adds the required provider options to the options.
@@ -140,8 +149,8 @@ export class GoogleAddressProvider extends AddressProvider {
140
149
  addRequiredProviderOptions(options) {
141
150
  const addressProperties = this.getRequiredAddressProperties();
142
151
  if (_.isArray(options.fields) && options.fields.length > 0) {
143
- options.fields.forEach(optionalField => {
144
- if (!addressProperties.some(addressProp => optionalField === addressProp)) {
152
+ options.fields.forEach((optionalField) => {
153
+ if (!addressProperties.some((addressProp) => optionalField === addressProp)) {
145
154
  addressProperties.push(optionalField);
146
155
  }
147
156
  });
@@ -152,7 +161,7 @@ export class GoogleAddressProvider extends AddressProvider {
152
161
  place = place || {};
153
162
  const filteredPlace = {};
154
163
  if (this.autocompleteOptions) {
155
- this.autocompleteOptions.fields.forEach(field => {
164
+ this.autocompleteOptions.fields.forEach((field) => {
156
165
  if (place[field]) {
157
166
  filteredPlace[field] = place[field];
158
167
  }
@@ -191,12 +200,14 @@ export class GoogleAddressProvider extends AddressProvider {
191
200
  return;
192
201
  }
193
202
  const existingScript = document.querySelector(`script[src^="${GOOGLE_MAPS_JS_URL}"]`);
194
- if (existingScript && options.params?.key && !existingScript.attributes.src.value.endsWith(options.params.key)) {
203
+ if (existingScript &&
204
+ options.params?.key &&
205
+ !existingScript.attributes.src.value.endsWith(options.params.key)) {
195
206
  const googleMapsScripts = document.querySelectorAll(`script[src^="${GOOGLE_MAPS_BASE_URL}"]`) ?? [];
196
- googleMapsScripts.forEach(script => script.parentNode.removeChild(script));
207
+ googleMapsScripts.forEach((script) => script.parentNode.removeChild(script));
197
208
  delete Formio.libraries[this.getLibraryName()];
198
- delete global?.google?.maps;
199
- delete global[`${this.getLibraryName()}Callback`];
209
+ delete globalThis?.google?.maps;
210
+ delete globalThis[`${this.getLibraryName()}Callback`];
200
211
  }
201
212
  }
202
213
  }
@@ -20,7 +20,9 @@ const fileProcessor = (formio, config) => (file, options) => new Promise((resolv
20
20
  xhr.onload = () => {
21
21
  if (xhr.status >= 200 && xhr.status < 300) {
22
22
  const mimetype = xhr.getResponseHeader('Content-Type') || file.type;
23
- resolve(new File([xhr.response], file.name, { type: mimetype }));
23
+ resolve(new File([
24
+ xhr.response,
25
+ ], file.name, { type: mimetype }));
24
26
  }
25
27
  else {
26
28
  reject(xhr.response || 'Unable to process file');
@@ -15,7 +15,10 @@ function azure(formio) {
15
15
  }, file, fileName, dir, progressCallback, groupPermissions, groupId, abortCallback).then((response) => {
16
16
  return {
17
17
  storage: 'azure',
18
- name: XHR.path([dir, fileName]),
18
+ name: XHR.path([
19
+ dir,
20
+ fileName,
21
+ ]),
19
22
  size: file.size,
20
23
  type: file.type,
21
24
  groupPermissions,
@@ -30,7 +33,7 @@ function azure(formio) {
30
33
  deleteFile: function deleteFile(fileInfo) {
31
34
  var url = `${formio.formUrl}/storage/azure?name=${XHR.trim(fileInfo.name)}&key=${XHR.trim(fileInfo.key)}`;
32
35
  return formio.makeRequest('', url, 'delete');
33
- }
36
+ },
34
37
  };
35
38
  }
36
39
  azure.title = 'Azure File Services';
@@ -7,7 +7,7 @@ import { setXhrHeaders } from './xhr';
7
7
  function dropbox(formio) {
8
8
  return {
9
9
  uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
10
- return new Promise(((resolve, reject) => {
10
+ return new Promise((resolve, reject) => {
11
11
  // Send the file with data.
12
12
  const xhr = new XMLHttpRequest();
13
13
  if (typeof progressCallback === 'function') {
@@ -48,14 +48,13 @@ function dropbox(formio) {
48
48
  xhr.setRequestHeader('x-jwt-token', token);
49
49
  }
50
50
  xhr.send(fd);
51
- }));
51
+ });
52
52
  },
53
53
  downloadFile(file) {
54
54
  const token = formio.getToken();
55
- file.url =
56
- `${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
55
+ file.url = `${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
57
56
  return Promise.resolve(file);
58
- }
57
+ },
59
58
  };
60
59
  }
61
60
  dropbox.title = 'Dropbox';
@@ -8,7 +8,7 @@ import { setXhrHeaders } from './xhr';
8
8
  function googledrive(formio) {
9
9
  return {
10
10
  uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
11
- return new Promise(((resolve, reject) => {
11
+ return new Promise((resolve, reject) => {
12
12
  // Send the file with data.
13
13
  const xhr = new XMLHttpRequest();
14
14
  if (typeof progressCallback === 'function') {
@@ -48,13 +48,12 @@ function googledrive(formio) {
48
48
  xhr.setRequestHeader('x-jwt-token', token);
49
49
  }
50
50
  xhr.send(fd);
51
- }));
51
+ });
52
52
  },
53
53
  downloadFile(file, component) {
54
54
  const token = formio.getToken();
55
55
  // Constructed the url with the fileId, fileName, displayImage, imageSize if applicable
56
- file.url =
57
- `${formio.formUrl}/storage/gdrive?fileId=${file.id}&fileName=${file.originalName}${token ? `&x-jwt-token=${token}` : ''}${component.image ? '&displayImage=true' : ''}${component.imageSize ? `&imageSize=${component.imageSize}` : ''}`;
56
+ file.url = `${formio.formUrl}/storage/gdrive?fileId=${file.id}&fileName=${file.originalName}${token ? `&x-jwt-token=${token}` : ''}${component.image ? '&displayImage=true' : ''}${component.imageSize ? `&imageSize=${component.imageSize}` : ''}`;
58
57
  return Promise.resolve(file);
59
58
  },
60
59
  deleteFile: function deleteFile(fileInfo) {
@@ -10,5 +10,5 @@ export default {
10
10
  url,
11
11
  azure,
12
12
  indexeddb,
13
- googledrive
13
+ googledrive,
14
14
  };
@@ -9,7 +9,7 @@ function indexeddb() {
9
9
  name: 'indexeddb',
10
10
  uploadFile(file, fileName, dir, progressCallback, url, options) {
11
11
  if (!('indexedDB' in window)) {
12
- console.log('This browser doesn\'t support IndexedDB');
12
+ console.log("This browser doesn't support IndexedDB");
13
13
  return;
14
14
  }
15
15
  return new Promise((resolve) => {
@@ -26,7 +26,9 @@ function indexeddb() {
26
26
  const reader = new FileReader();
27
27
  return new Promise((resolve, reject) => {
28
28
  reader.onload = () => {
29
- const blobObject = new Blob([file], { type: file.type });
29
+ const blobObject = new Blob([
30
+ file,
31
+ ], { type: file.type });
30
32
  const id = uuidv4(blobObject);
31
33
  const data = {
32
34
  id,
@@ -36,7 +38,9 @@ function indexeddb() {
36
38
  type: file.type,
37
39
  url,
38
40
  };
39
- const trans = db.transaction([options.indexeddbTable], 'readwrite');
41
+ const trans = db.transaction([
42
+ options.indexeddbTable,
43
+ ], 'readwrite');
40
44
  const addReq = trans.objectStore(options.indexeddbTable).put(data, id);
41
45
  addReq.onerror = function (e) {
42
46
  console.log('error storing data');
@@ -69,12 +73,16 @@ function indexeddb() {
69
73
  };
70
74
  }).then((db) => {
71
75
  return new Promise((resolve, reject) => {
72
- const trans = db.transaction([options.indexeddbTable], 'readonly');
76
+ const trans = db.transaction([
77
+ options.indexeddbTable,
78
+ ], 'readonly');
73
79
  const store = trans.objectStore(options.indexeddbTable).get(file.id);
74
80
  store.onsuccess = () => {
75
81
  trans.oncomplete = () => {
76
82
  const result = store.result;
77
- const dbFile = new File([store.result.data], file.name, {
83
+ const dbFile = new File([
84
+ store.result.data,
85
+ ], file.name, {
78
86
  type: store.result.type,
79
87
  });
80
88
  const reader = new FileReader();
@@ -104,7 +112,9 @@ function indexeddb() {
104
112
  };
105
113
  }).then((db) => {
106
114
  return new Promise((resolve, reject) => {
107
- const trans = db.transaction([options.indexeddbTable], 'readwrite');
115
+ const trans = db.transaction([
116
+ options.indexeddbTable,
117
+ ], 'readwrite');
108
118
  const store = trans.objectStore(options.indexeddbTable).delete(file.id);
109
119
  store.onsuccess = () => {
110
120
  trans.oncomplete = () => {
@@ -15,7 +15,11 @@ function s3(formio) {
15
15
  async uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback, multipartOptions) {
16
16
  const xhrCallback = async (xhr, response, abortCallback) => {
17
17
  response.data.fileName = fileName;
18
- response.data.key = XHR.path([response.data.key, dir, fileName]);
18
+ response.data.key = XHR.path([
19
+ response.data.key,
20
+ dir,
21
+ fileName,
22
+ ]);
19
23
  if (response.signed) {
20
24
  if (multipartOptions && Array.isArray(response.signed)) {
21
25
  // patch abort callback
@@ -27,7 +31,11 @@ function s3(formio) {
27
31
  }
28
32
  try {
29
33
  const parts = await this.uploadParts(file, response.signed, response.data.headers, response.partSizeActual, multipartOptions, abortSignal);
30
- await withRetries(this.completeMultipartUpload, [response, parts, multipartOptions], 3);
34
+ await withRetries(this.completeMultipartUpload, [
35
+ response,
36
+ parts,
37
+ multipartOptions,
38
+ ], 3);
31
39
  return;
32
40
  }
33
41
  catch (err) {
@@ -65,10 +73,13 @@ function s3(formio) {
65
73
  name: fileName,
66
74
  bucket: response.bucket,
67
75
  key: response.data.key,
68
- url: XHR.path([response.url, response.data.key]),
76
+ url: XHR.path([
77
+ response.url,
78
+ response.data.key,
79
+ ]),
69
80
  acl: response.data.acl,
70
81
  size: file.size,
71
- type: file.type
82
+ type: file.type,
72
83
  };
73
84
  },
74
85
  async completeMultipartUpload(serverResponse, parts, multipart) {
@@ -79,9 +90,9 @@ function s3(formio) {
79
90
  method: 'POST',
80
91
  headers: {
81
92
  'Content-Type': 'application/json',
82
- ...(token ? { 'x-jwt-token': token } : {})
93
+ ...(token ? { 'x-jwt-token': token } : {}),
83
94
  },
84
- body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key })
95
+ body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key }),
85
96
  });
86
97
  const message = await response.text();
87
98
  if (!response.ok) {
@@ -100,9 +111,9 @@ function s3(formio) {
100
111
  method: 'POST',
101
112
  headers: {
102
113
  'Content-Type': 'application/json',
103
- ...(token ? { 'x-jwt-token': token } : {})
114
+ ...(token ? { 'x-jwt-token': token } : {}),
104
115
  },
105
- body: JSON.stringify({ uploadId, key })
116
+ body: JSON.stringify({ uploadId, key }),
106
117
  }).catch((err) => console.error('Error while aborting multipart upload:', err));
107
118
  },
108
119
  uploadParts(file, urls, headers, partSize, multipart, abortSignal) {
@@ -9,8 +9,7 @@ class FormioUploadAdapter {
9
9
  this.component = component;
10
10
  }
11
11
  upload() {
12
- return this.loader.file
13
- .then(file => new Promise((resolve, reject) => {
12
+ return this.loader.file.then((file) => new Promise((resolve, reject) => {
14
13
  const { uploadStorage, uploadUrl, uploadOptions, uploadDir, fileKey } = this.component.component;
15
14
  const uploadParams = [
16
15
  uploadStorage,
@@ -22,18 +21,23 @@ class FormioUploadAdapter {
22
21
  uploadOptions,
23
22
  fileKey,
24
23
  null,
25
- null
24
+ null,
26
25
  ];
27
- this.fileService.uploadFile(...uploadParams, () => this.component.emit('fileUploadingStart')).then((result) => {
26
+ this.fileService
27
+ .uploadFile(...uploadParams, () => this.component.emit('fileUploadingStart'))
28
+ .then((result) => {
28
29
  return this.fileService.downloadFile(result);
29
- }).then((result) => {
30
+ })
31
+ .then((result) => {
30
32
  return resolve({
31
- default: result.url
33
+ default: result.url,
32
34
  });
33
- }).catch((err) => {
35
+ })
36
+ .catch((err) => {
34
37
  console.warn('An Error occured while uploading file', err);
35
38
  reject(err);
36
- }).finally(() => {
39
+ })
40
+ .finally(() => {
37
41
  this.component.emit('fileUploadingEnd');
38
42
  });
39
43
  }));
@@ -46,9 +50,11 @@ class FormioUploadAdapter {
46
50
  }
47
51
  }
48
52
  }
49
- const getFormioUploadAdapterPlugin = (fileService, component) => (editor) => {
50
- editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
51
- return new FormioUploadAdapter(loader, fileService, component);
53
+ const getFormioUploadAdapterPlugin = (fileService, component) => {
54
+ return function (editor) {
55
+ editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
56
+ return new FormioUploadAdapter(loader, fileService, component);
57
+ };
52
58
  };
53
59
  };
54
60
  export { getFormioUploadAdapterPlugin };
@@ -26,7 +26,7 @@ function url(formio) {
26
26
  const xhrRequest = (url, name, query, data, options, progressCallback, abortCallback) => {
27
27
  return new Promise((resolve, reject) => {
28
28
  const xhr = new XMLHttpRequest();
29
- const json = (typeof data === 'string');
29
+ const json = typeof data === 'string';
30
30
  const fd = new FormData();
31
31
  if (typeof progressCallback === 'function') {
32
32
  xhr.upload.onprogress = progressCallback;
@@ -44,14 +44,16 @@ function url(formio) {
44
44
  // Need to test if xhr.response is decoded or not.
45
45
  let respData = {};
46
46
  try {
47
- respData = (typeof xhr.response === 'string') ? JSON.parse(xhr.response) : {};
48
- respData = (respData && respData.data) ? respData.data : respData;
47
+ respData = typeof xhr.response === 'string' ? JSON.parse(xhr.response) : {};
48
+ respData = respData && respData.data ? respData.data : respData;
49
49
  }
50
- catch (err) {
50
+ catch (ignoreErr) {
51
51
  respData = {};
52
52
  }
53
53
  // Get the url of the file.
54
- let respUrl = respData.hasOwnProperty('url') ? respData.url : `${xhr.responseURL}/${name}`;
54
+ let respUrl = respData.hasOwnProperty('url')
55
+ ? respData.url
56
+ : `${xhr.responseURL}/${name}`;
55
57
  // If they provide relative url, then prepend the url.
56
58
  if (respUrl && respUrl[0] === '/') {
57
59
  respUrl = `${url}${respUrl}`;
@@ -94,12 +96,12 @@ function url(formio) {
94
96
  return xhrRequest(url, name, {
95
97
  baseUrl: encodeURIComponent(formio.projectUrl),
96
98
  project: form ? form.project : '',
97
- form: form ? form._id : ''
99
+ form: form ? form._id : '',
98
100
  }, {
99
101
  [fileKey]: file,
100
102
  name,
101
- dir
102
- }, options, progressCallback, abortCallback).then(response => {
103
+ dir,
104
+ }, options, progressCallback, abortCallback).then((response) => {
103
105
  // Store the project and form url along with the metadata.
104
106
  response.data = response.data || {};
105
107
  response.data.baseUrl = formio.projectUrl;
@@ -111,7 +113,7 @@ function url(formio) {
111
113
  url: response.url,
112
114
  size: file.size,
113
115
  type: file.type,
114
- data: response.data
116
+ data: response.data,
115
117
  };
116
118
  });
117
119
  };
@@ -145,11 +147,11 @@ function url(formio) {
145
147
  if (formio.submissionId && file.data) {
146
148
  file.data.submission = formio.submissionId;
147
149
  }
148
- return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then(response => response.data);
150
+ return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then((response) => response.data);
149
151
  }
150
152
  // Return the original as there is nothing to do.
151
153
  return Promise.resolve(file);
152
- }
154
+ },
153
155
  };
154
156
  }
155
157
  url.title = 'Url';