@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
@@ -12,7 +12,6 @@ const DEFAULT_FORMAT = 'yyyy-MM-dd hh:mm a';
12
12
  const ISO_8601_FORMAT = 'yyyy-MM-ddTHH:mm:ssZ';
13
13
  const isIEBrowser = (0, utils_1.getBrowserInfo)().ie;
14
14
  class CalendarWidget extends InputWidget_1.default {
15
- /* eslint-disable camelcase */
16
15
  static get defaultSettings() {
17
16
  return {
18
17
  type: 'calendar',
@@ -35,10 +34,9 @@ class CalendarWidget extends InputWidget_1.default {
35
34
  timezone: '',
36
35
  disable: [],
37
36
  minDate: '',
38
- maxDate: ''
37
+ maxDate: '',
39
38
  };
40
39
  }
41
- /* eslint-enable camelcase */
42
40
  constructor(settings, component, instance, index) {
43
41
  super(settings, component, instance, index);
44
42
  // Change the format to map to the settings.
@@ -81,20 +79,24 @@ class CalendarWidget extends InputWidget_1.default {
81
79
  const dateFormatInfo = (0, utils_1.getLocaleDateFormatInfo)(this.settings.language);
82
80
  this.defaultFormat = {
83
81
  date: dateFormatInfo.dayFirst ? 'd/m/Y ' : 'm/d/Y ',
84
- time: 'G:i K'
82
+ time: 'G:i K',
85
83
  };
86
84
  this.closedOn = 0;
87
- this.valueFormat = (this.settings.saveAs === 'date') ? ISO_8601_FORMAT : this.settings.dateFormat || ISO_8601_FORMAT;
85
+ this.valueFormat =
86
+ this.settings.saveAs === 'date'
87
+ ? ISO_8601_FORMAT
88
+ : this.settings.dateFormat || ISO_8601_FORMAT;
88
89
  this.valueMomentFormat = (0, utils_1.convertFormatToMoment)(this.valueFormat);
89
90
  const isReadOnly = this.settings.readOnly;
90
91
  this.settings.minDate = isReadOnly ? null : (0, utils_1.getDateSetting)(this.settings.minDate);
91
92
  this.settings.maxDate = isReadOnly ? null : (0, utils_1.getDateSetting)(this.settings.maxDate);
93
+ if (this.settings.maxDate || this.settings.minDate) {
94
+ this.settings.allowInvalidPreload = true;
95
+ }
92
96
  this.settings.disable = this.disabledDates;
93
97
  this.settings.disableWeekends ? this.settings.disable.push(this.disableWeekends) : '';
94
98
  this.settings.disableWeekdays ? this.settings.disable.push(this.disableWeekdays) : '';
95
99
  this.settings.disableFunction ? this.settings.disable.push(this.disableFunction) : '';
96
- this.settings.wasDefaultValueChanged = false;
97
- this.settings.defaultValue = '';
98
100
  this.settings.manualInputValue = '';
99
101
  this.settings.isManuallyOverriddenValue = false;
100
102
  this.settings.currentValue = '';
@@ -122,23 +124,22 @@ class CalendarWidget extends InputWidget_1.default {
122
124
  this.settings.isManuallyOverriddenValue = false;
123
125
  this.emit('update');
124
126
  }
125
- if (this.settings.wasDefaultValueChanged) {
126
- this.calendar._input.value = this.settings.defaultValue;
127
- this.settings.wasDefaultValueChanged = false;
128
- }
129
127
  if (this.calendar) {
130
128
  this.emit('blur');
131
129
  }
132
130
  };
133
131
  Formio_1.Formio.requireLibrary('flatpickr-css', 'flatpickr', [
134
- { type: 'styles', src: `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.css` }
132
+ { type: 'styles', src: `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.css` },
135
133
  ], true);
136
134
  if (this.component.shortcutButtons) {
137
135
  this.component.shortcutButtons = this.component.shortcutButtons.filter((btn) => btn.label && btn.onClick);
138
136
  }
139
137
  if ((_a = this.component.shortcutButtons) === null || _a === void 0 ? void 0 : _a.length) {
140
138
  Formio_1.Formio.requireLibrary('shortcut-buttons-flatpickr-css', 'ShortcutButtonsPlugin', [
141
- { type: 'styles', src: `${Formio_1.Formio.cdn['shortcut-buttons-flatpickr']}/themes/light.min.css` }
139
+ {
140
+ type: 'styles',
141
+ src: `${Formio_1.Formio.cdn['shortcut-buttons-flatpickr']}/themes/light.min.css`,
142
+ },
142
143
  ], true);
143
144
  }
144
145
  return superAttach
@@ -149,8 +150,7 @@ class CalendarWidget extends InputWidget_1.default {
149
150
  }
150
151
  })
151
152
  .then((ShortcutButtonsPlugin) => {
152
- return Formio_1.Formio.requireLibrary('flatpickr', 'flatpickr', `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.js`, true)
153
- .then((Flatpickr) => {
153
+ return Formio_1.Formio.requireLibrary('flatpickr', 'flatpickr', `${Formio_1.Formio.cdn['flatpickr-formio']}/flatpickr.min.js`, true).then((Flatpickr) => {
154
154
  var _a;
155
155
  if (((_a = this.component.shortcutButtons) === null || _a === void 0 ? void 0 : _a.length) && ShortcutButtonsPlugin) {
156
156
  this.initShortcutButtonsPlugin(ShortcutButtonsPlugin);
@@ -180,7 +180,7 @@ class CalendarWidget extends InputWidget_1.default {
180
180
  }
181
181
  get disableWeekends() {
182
182
  return function (date) {
183
- return (date.getDay() === 0 || date.getDay() === 6);
183
+ return date.getDay() === 0 || date.getDay() === 6;
184
184
  };
185
185
  }
186
186
  get disableWeekdays() {
@@ -188,7 +188,7 @@ class CalendarWidget extends InputWidget_1.default {
188
188
  }
189
189
  get disableFunction() {
190
190
  return (date) => this.evaluate(`return ${this.settings.disableFunction}`, {
191
- date
191
+ date,
192
192
  });
193
193
  }
194
194
  get timezone() {
@@ -201,7 +201,7 @@ class CalendarWidget extends InputWidget_1.default {
201
201
  this.addEventListener(suffix, 'click', () => {
202
202
  setTimeout(() => {
203
203
  if (this.calendar) {
204
- if (!this.calendar.isOpen && ((Date.now() - this.closedOn) > 200)) {
204
+ if (!this.calendar.isOpen && Date.now() - this.closedOn > 200) {
205
205
  this.calendar.open();
206
206
  }
207
207
  else if (this.calendar.isOpen) {
@@ -235,10 +235,12 @@ class CalendarWidget extends InputWidget_1.default {
235
235
  const dateMask = /\d{4}-\d{2}-\d{2}/g;
236
236
  const dates = item.match(dateMask);
237
237
  if (dates && dates.length) {
238
- return dates.length === 1 ? item.match(dateMask)[0] : {
239
- from: item.match(dateMask)[0],
240
- to: item.match(dateMask)[1],
241
- };
238
+ return dates.length === 1
239
+ ? item.match(dateMask)[0]
240
+ : {
241
+ from: item.match(dateMask)[0],
242
+ to: item.match(dateMask)[1],
243
+ };
242
244
  }
243
245
  });
244
246
  }
@@ -255,7 +257,9 @@ class CalendarWidget extends InputWidget_1.default {
255
257
  return format;
256
258
  }
257
259
  get dateTimeFormat() {
258
- return this.settings.useLocaleSettings ? this.localeFormat : (0, utils_1.convertFormatToFlatpickr)(this.dateFormat);
260
+ return this.settings.useLocaleSettings
261
+ ? this.localeFormat
262
+ : (0, utils_1.convertFormatToFlatpickr)(this.dateFormat);
259
263
  }
260
264
  get dateFormat() {
261
265
  return lodash_1.default.get(this.settings, 'format', DEFAULT_FORMAT);
@@ -290,10 +294,10 @@ class CalendarWidget extends InputWidget_1.default {
290
294
  if (!(dates[0] instanceof Date)) {
291
295
  return 'Invalid Date';
292
296
  }
293
- return this.getDateValue(dates[0], this.valueFormat, (this.settings.saveAs === 'date'));
297
+ return this.getDateValue(dates[0], this.valueFormat, this.settings.saveAs === 'date');
294
298
  }
295
299
  isValueISO8601(value) {
296
- return value && (typeof value === 'string') && value.match(/-[0-9]{2}T[0-9]{2}:/);
300
+ return value && typeof value === 'string' && value.match(/-[0-9]{2}T[0-9]{2}:/);
297
301
  }
298
302
  /**
299
303
  * Set the selected date value.
@@ -301,11 +305,16 @@ class CalendarWidget extends InputWidget_1.default {
301
305
  * @returns {void}
302
306
  */
303
307
  setValue(value) {
304
- const saveAsText = (this.settings.saveAs === 'text');
308
+ const saveAsText = this.settings.saveAs === 'text';
305
309
  if (!this.calendar) {
306
- value = value ? (0, utils_1.formatDate)(this.timezonesUrl, value, (0, utils_1.convertFormatToMoment)(this.settings.format), this.timezone, (0, utils_1.convertFormatToMoment)(this.valueMomentFormat)) : value;
310
+ value = value
311
+ ? (0, utils_1.formatDate)(this.timezonesUrl, value, (0, utils_1.convertFormatToMoment)(this.settings.format), this.timezone, (0, utils_1.convertFormatToMoment)(this.valueMomentFormat))
312
+ : value;
307
313
  return super.setValue(value);
308
314
  }
315
+ // If the component is a textfield that does not have timezone information included in the string value then skip
316
+ // the timezone offset
317
+ this.settings.skipOffset = this.component.type === 'textfield' && !(0, utils_1.hasEncodedTimezone)(value);
309
318
  const zonesLoading = this.loadZones();
310
319
  if (value) {
311
320
  if (!saveAsText && this.settings.readOnly && !zonesLoading) {
@@ -325,7 +334,9 @@ class CalendarWidget extends InputWidget_1.default {
325
334
  getValueAsString(value, format = '') {
326
335
  const inputFormat = format || this.dateFormat;
327
336
  const valueFormat = this.calendar ? this.valueFormat : this.settings.dateFormat;
328
- if (this.settings.saveAs === 'text' && this.componentInstance.parent && !this.settings.readOnly) {
337
+ if (this.settings.saveAs === 'text' &&
338
+ this.componentInstance.parent &&
339
+ !this.settings.readOnly) {
329
340
  return (0, moment_1.default)(value, (0, utils_1.convertFormatToMoment)(valueFormat)).format((0, utils_1.convertFormatToMoment)(valueFormat));
330
341
  }
331
342
  return (0, utils_1.formatDate)(this.timezonesUrl, value, inputFormat, this.timezone, (0, utils_1.convertFormatToMoment)(valueFormat));
@@ -348,7 +359,7 @@ class CalendarWidget extends InputWidget_1.default {
348
359
  if (typeof value === 'string') {
349
360
  return new Date(value);
350
361
  }
351
- return value.map(val => new Date(val));
362
+ return value.map((val) => new Date(val));
352
363
  }
353
364
  isCalendarElement(element) {
354
365
  var _a, _b, _c, _d, _e;
@@ -369,14 +380,6 @@ class CalendarWidget extends InputWidget_1.default {
369
380
  this.settings.isManuallyOverriddenValue = true;
370
381
  this.settings.currentValue = event.target.value;
371
382
  }
372
- if (event.target.value === '' && this.calendar.selectedDates.length > 0) {
373
- this.settings.wasDefaultValueChanged = true;
374
- this.settings.defaultValue = event.target.value;
375
- this.calendar.clear();
376
- }
377
- else {
378
- this.settings.wasDefaultValueChanged = false;
379
- }
380
383
  });
381
384
  // Move input attributes to altInput.
382
385
  const labelledbyIds = this.calendar.input.getAttribute('aria-labelledby');
@@ -387,8 +390,11 @@ class CalendarWidget extends InputWidget_1.default {
387
390
  this._input.removeAttribute('id');
388
391
  this._input.removeAttribute('aria-labelledby');
389
392
  this._input.removeAttribute('aria-required');
390
- const excludedFromMaskFormats = ['MMMM'];
391
- if (!this.settings.readOnly && !lodash_1.default.some(excludedFromMaskFormats, format => lodash_1.default.includes(this.settings.format, format))) {
393
+ const excludedFromMaskFormats = [
394
+ 'MMMM',
395
+ ];
396
+ if (!this.settings.readOnly &&
397
+ !lodash_1.default.some(excludedFromMaskFormats, (format) => lodash_1.default.includes(this.settings.format, format))) {
392
398
  // Enforce the input mask of the format.
393
399
  this.setInputMask(this.calendar._input, (0, utils_1.convertFormatToMask)(this.settings.format));
394
400
  }
@@ -400,7 +406,9 @@ class CalendarWidget extends InputWidget_1.default {
400
406
  this.calendar._input.removeEventListener('blur', originalBlurListener.handler);
401
407
  // Add the same event listener as in the original library, but with workaround for IE11 issue
402
408
  this.addEventListener(this.calendar._input, 'blur', (event) => {
403
- const activeElement = this.settings.shadowRoot ? this.settings.shadowRoot.activeElement : document.activeElement;
409
+ const activeElement = this.settings.shadowRoot
410
+ ? this.settings.shadowRoot.activeElement
411
+ : document.activeElement;
404
412
  const relatedTarget = event.relatedTarget ? event.relatedTarget : activeElement;
405
413
  const isInput = event.target === this.calendar._input;
406
414
  if (isInput && !this.isCalendarElement(relatedTarget)) {
@@ -413,15 +421,22 @@ class CalendarWidget extends InputWidget_1.default {
413
421
  // Make sure we commit the value after a blur event occurs.
414
422
  this.addEventListener(this.calendar._input, 'blur', (event) => {
415
423
  var _a, _b, _c, _d;
416
- const activeElement = this.settings.shadowRoot ? this.settings.shadowRoot.activeElement : document.activeElement;
424
+ const activeElement = this.settings.shadowRoot
425
+ ? this.settings.shadowRoot.activeElement
426
+ : document.activeElement;
417
427
  const relatedTarget = event.relatedTarget ? event.relatedTarget : activeElement;
418
428
  if (!(isIEBrowser && !relatedTarget) && !this.isCalendarElement(relatedTarget)) {
419
429
  const inputValue = this.calendar.input.value;
420
- const dateValue = inputValue ? (0, moment_1.default)(this.calendar.input.value, (0, utils_1.convertFormatToMoment)(this.valueFormat)).toDate() : inputValue;
430
+ const dateValue = inputValue
431
+ ? (0, moment_1.default)(this.calendar.input.value, (0, utils_1.convertFormatToMoment)(this.valueFormat)).toDate()
432
+ : inputValue;
421
433
  this.calendar.setDate(dateValue, true, this.settings.altFormat);
422
434
  }
423
435
  else if (!this.calendar.input.value && this.calendar.config.noCalendar) {
424
- const value = (0, moment_1.default)({ hour: (_b = (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.defaultHour, minute: (_d = (_c = this.calendar) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.defaultMinute }).toDate();
436
+ const value = (0, moment_1.default)({
437
+ hour: (_b = (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.defaultHour,
438
+ minute: (_d = (_c = this.calendar) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.defaultMinute,
439
+ }).toDate();
425
440
  this.calendar.setDate(value, true, this.settings.format);
426
441
  }
427
442
  });
@@ -448,15 +463,17 @@ class CalendarWidget extends InputWidget_1.default {
448
463
  }
449
464
  initShortcutButtonsPlugin(ShortcutButtonsPlugin) {
450
465
  this.settings.plugins = [
451
- // eslint-disable-next-line new-cap
452
466
  ShortcutButtonsPlugin({
453
- button: this.component.shortcutButtons.map((btn) => ({ label: btn.label, attributes: btn.attribute })),
467
+ button: this.component.shortcutButtons.map((btn) => ({
468
+ label: btn.label,
469
+ attributes: btn.attribute,
470
+ })),
454
471
  onClick: (index) => {
455
472
  const getValue = this.component.shortcutButtons[index].onClick;
456
473
  const date = this.evaluate(getValue, { date: new Date() }, 'date');
457
474
  this.calendar.setDate(date, true);
458
- }
459
- })
475
+ },
476
+ }),
460
477
  ];
461
478
  }
462
479
  get componentValue() {
@@ -469,8 +486,8 @@ class CalendarWidget extends InputWidget_1.default {
469
486
  getFlatpickrFormatDate(Flatpickr) {
470
487
  return (date, format) => {
471
488
  // Only format this if this is the altFormat and the form is readOnly.
472
- if (this.settings.readOnly && (format === this.settings.altFormat)) {
473
- if (!this.settings.enableTime || this.loadZones()) {
489
+ if (this.settings.readOnly && format === this.settings.altFormat) {
490
+ if (!this.settings.enableTime || this.loadZones() || this.settings.skipOffset) {
474
491
  return Flatpickr.formatDate(date, format);
475
492
  }
476
493
  const currentValue = new Date(this.getValue());
@@ -8,7 +8,7 @@ const Element_1 = __importDefault(require("../Element"));
8
8
  class InputWidget extends Element_1.default {
9
9
  static get defaultSettings() {
10
10
  return {
11
- type: 'input'
11
+ type: 'input',
12
12
  };
13
13
  }
14
14
  constructor(settings, component, instance, index) {
@@ -63,9 +63,11 @@ class InputWidget extends Element_1.default {
63
63
  data: this.componentInstance.rootValue,
64
64
  value: this.componentInstance.dataValue,
65
65
  t: this.t.bind(this),
66
- submission: (this.componentInstance.root ? this.componentInstance.root._submission : {
67
- data: this.componentInstance.rootValue
68
- }),
66
+ submission: this.componentInstance.root
67
+ ? this.componentInstance.root._submission
68
+ : {
69
+ data: this.componentInstance.rootValue,
70
+ },
69
71
  form: this.componentInstance.root ? this.componentInstance.root._form : {},
70
72
  options: this.options,
71
73
  }, additional));
@@ -7,5 +7,5 @@ const InputWidget_1 = __importDefault(require("./InputWidget"));
7
7
  const CalendarWidget_1 = __importDefault(require("./CalendarWidget"));
8
8
  exports.default = {
9
9
  input: InputWidget_1.default,
10
- calendar: CalendarWidget_1.default
10
+ calendar: CalendarWidget_1.default,
11
11
  };
package/lib/mjs/CDN.js CHANGED
@@ -8,23 +8,23 @@ class CDN {
8
8
  this.baseUrl = baseUrl || CDN.defaultCDN;
9
9
  this.overrides = overrides;
10
10
  this.libs = {
11
- 'js': '',
12
- 'ace': '1.4.12',
13
- 'bootstrap': '5.3.3',
14
- 'bootstrap4': '4.6.2',
15
- 'bootstrap5': '5.3.3',
16
- 'bootswatch': '5.3.3',
11
+ js: '',
12
+ ace: '1.4.12',
13
+ bootstrap: '5.3.3',
14
+ bootstrap4: '4.6.2',
15
+ bootstrap5: '5.3.3',
16
+ bootswatch: '5.3.3',
17
17
  'bootstrap-icons': '1.11.1',
18
- 'ckeditor': '19.0.0',
19
- 'flatpickr': '4.6.8',
18
+ ckeditor: '19.0.0',
19
+ flatpickr: '4.6.8',
20
20
  'flatpickr-formio': '4.6.13-formio.3',
21
21
  'font-awesome': '4.7.0',
22
- 'grid': 'latest',
22
+ grid: 'latest',
23
23
  'moment-timezone': 'latest',
24
- 'quill': '2.0.0-dev.3',
24
+ quill: '2.0.0-dev.3',
25
25
  'shortcut-buttons-flatpickr': '0.4.0',
26
- 'uswds': '2.4.8',
27
- 'core': ''
26
+ uswds: '2.4.8',
27
+ core: '',
28
28
  };
29
29
  this.updateUrls();
30
30
  }
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * The root component for all elements within the Form.io renderer.
3
+ * @property {object} options - The options for this component. Subclasses should override this type with more specific options.
3
4
  */
4
5
  export default class Element {
5
6
  constructor(options: any);
6
7
  /**
7
8
  * The options for this component.
8
- * @type {{}}
9
+ * @type {object}
9
10
  */
10
- options: {};
11
+ options: object;
11
12
  /**
12
13
  * The ID of this component. This value is auto-generated when the component is created, but
13
14
  * can also be provided from the component.id value passed into the constructor.
@@ -7,12 +7,13 @@ import { I18n } from './utils/i18n';
7
7
  import FormioUtils from './utils';
8
8
  /**
9
9
  * The root component for all elements within the Form.io renderer.
10
+ * @property {object} options - The options for this component. Subclasses should override this type with more specific options.
10
11
  */
11
12
  export default class Element {
12
13
  constructor(options) {
13
14
  /**
14
15
  * The options for this component.
15
- * @type {{}}
16
+ * @type {object}
16
17
  */
17
18
  this.options = Object.assign({
18
19
  language: 'en',
@@ -20,7 +21,7 @@ export default class Element {
20
21
  componentErrorClass: 'formio-error-wrapper',
21
22
  componentWarningClass: 'formio-warning-wrapper',
22
23
  row: '',
23
- namespace: 'formio'
24
+ namespace: 'formio',
24
25
  }, options || {});
25
26
  /**
26
27
  * The ID of this component. This value is auto-generated when the component is created, but
@@ -43,13 +44,14 @@ export default class Element {
43
44
  * An instance of the EventEmitter class to handle the emitting and registration of events.
44
45
  * @type {EventEmitter}
45
46
  */
46
- this.events = (options && options.events) ? options.events : new EventEmitter();
47
+ this.events = options && options.events ? options.events : new EventEmitter();
47
48
  this.defaultMask = null;
48
49
  /**
49
50
  * Conditional to show or hide helplinks in editForm
50
51
  * @type {*|boolean}
51
52
  */
52
- this.helplinks = (this.options.helplinks === 'false') ? false : (this.options.helplinks || 'https://help.form.io');
53
+ this.helplinks =
54
+ this.options.helplinks === 'false' ? false : this.options.helplinks || 'https://help.form.io';
53
55
  }
54
56
  /**
55
57
  * Register for a new event within this component.
@@ -198,10 +200,10 @@ export default class Element {
198
200
  return;
199
201
  }
200
202
  this.eventHandlers.forEach((handler, index) => {
201
- if ((handler.id === this.id)
202
- && obj.removeEventListener
203
- && (handler.type === type)
204
- && (!func || handler.func === func)) {
203
+ if (handler.id === this.id &&
204
+ obj.removeEventListener &&
205
+ handler.type === type &&
206
+ (!func || handler.func === func)) {
205
207
  obj.removeEventListener(type, handler.func);
206
208
  indexes.push(index);
207
209
  }
@@ -212,8 +214,11 @@ export default class Element {
212
214
  return this;
213
215
  }
214
216
  removeEventListeners() {
215
- this.eventHandlers.forEach(handler => {
216
- if ((this.id === handler.id) && handler.type && handler.obj && handler.obj.removeEventListener) {
217
+ this.eventHandlers.forEach((handler) => {
218
+ if (this.id === handler.id &&
219
+ handler.type &&
220
+ handler.obj &&
221
+ handler.obj.removeEventListener) {
217
222
  handler.obj.removeEventListener(handler.type, handler.func);
218
223
  }
219
224
  });
@@ -223,7 +228,7 @@ export default class Element {
223
228
  if (this.events) {
224
229
  _.each(this.events._events, (events, type) => {
225
230
  _.each(events, (listener) => {
226
- if (listener && (this.id === listener.id) && (includeExternal || listener.internal)) {
231
+ if (listener && this.id === listener.id && (includeExternal || listener.internal)) {
227
232
  this.events.off(type, listener);
228
233
  }
229
234
  });
@@ -338,7 +343,7 @@ export default class Element {
338
343
  * @returns {string} - The placeholder that will exist within the input as they type.
339
344
  */
340
345
  maskPlaceholder(mask) {
341
- return mask.map((char) => (char instanceof RegExp) ? this.placeholderChar : char).join('');
346
+ return mask.map((char) => (char instanceof RegExp ? this.placeholderChar : char)).join('');
342
347
  }
343
348
  /**
344
349
  * Get the placeholder character for the input mask.
@@ -366,7 +371,7 @@ export default class Element {
366
371
  inputElement: input,
367
372
  mask,
368
373
  placeholderChar: this.placeholderChar,
369
- shadowRoot: this.root ? this.root.shadowRoot : null
374
+ shadowRoot: this.root ? this.root.shadowRoot : null,
370
375
  });
371
376
  }
372
377
  catch (e) {
@@ -435,7 +440,7 @@ export default class Element {
435
440
  }
436
441
  // Allow templates to intercept.
437
442
  className = ` ${className} `;
438
- return ((` ${element.className} `).replace(/[\n\t\r]/g, ' ').indexOf(className) > -1);
443
+ return ` ${element.className} `.replace(/[\n\t\r]/g, ' ').indexOf(className) > -1;
439
444
  }
440
445
  /**
441
446
  * Adds a class to a DOM element.
@@ -498,7 +503,7 @@ export default class Element {
498
503
  instance: this,
499
504
  self: this,
500
505
  token: Formio.getToken({
501
- decode: true
506
+ decode: true,
502
507
  }),
503
508
  options: this.options,
504
509
  config: this.root && this.root.form && this.root.form.config
@@ -516,8 +521,9 @@ export default class Element {
516
521
  * @returns {XML|string|*|void} - The interpolated string.
517
522
  */
518
523
  interpolate(string, data, options = {}) {
519
- if (typeof string !== 'function' && (this.component.content || this.component.html)
520
- && !FormioUtils.Evaluator.templateSettings.interpolate.test(string)) {
524
+ if (typeof string !== 'function' &&
525
+ (this.component.content || this.component.html) &&
526
+ !FormioUtils.Evaluator.templateSettings.interpolate.test(string)) {
521
527
  string = FormioUtils.translateHTMLTemplate(String(string), (value) => this.t(value));
522
528
  }
523
529
  if (this.component.filter === string && !this.options.building) {
@@ -545,14 +551,14 @@ export default class Element {
545
551
  */
546
552
  hook() {
547
553
  const name = arguments[0];
548
- if (this.options &&
549
- this.options.hooks &&
550
- this.options.hooks[name]) {
554
+ if (this.options && this.options.hooks && this.options.hooks[name]) {
551
555
  return this.options.hooks[name].apply(this, Array.prototype.slice.call(arguments, 1));
552
556
  }
553
557
  else {
554
558
  // If this is an async hook instead of a sync.
555
- const fn = (typeof arguments[arguments.length - 1] === 'function') ? arguments[arguments.length - 1] : null;
559
+ const fn = typeof arguments[arguments.length - 1] === 'function'
560
+ ? arguments[arguments.length - 1]
561
+ : null;
556
562
  if (fn) {
557
563
  return fn(null, arguments[1]);
558
564
  }