@formio/js 5.2.4-rc.0 → 5.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/dist/formio.builder.css +50 -161
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +49 -158
  7. package/dist/formio.form.js +108 -152
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  11. package/dist/formio.full.css +50 -161
  12. package/dist/formio.full.js +227 -401
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  16. package/dist/formio.js +18 -51
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +14 -47
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/CDN.js +12 -12
  23. package/lib/cjs/Element.d.ts +2 -3
  24. package/lib/cjs/Element.js +26 -29
  25. package/lib/cjs/Embed.js +42 -75
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +341 -371
  28. package/lib/cjs/Form.js +39 -153
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +3 -2
  31. package/lib/cjs/Formio.js +23 -26
  32. package/lib/cjs/InlineEmbed.js +17 -23
  33. package/lib/cjs/PDF.d.ts +0 -1
  34. package/lib/cjs/PDF.js +15 -18
  35. package/lib/cjs/PDFBuilder.js +36 -51
  36. package/lib/cjs/Webform.d.ts +366 -8
  37. package/lib/cjs/Webform.js +238 -177
  38. package/lib/cjs/WebformBuilder.js +152 -221
  39. package/lib/cjs/Wizard.js +65 -95
  40. package/lib/cjs/WizardBuilder.js +19 -27
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +4 -0
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +198 -309
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  50. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  54. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  55. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +1 -7
  60. package/lib/cjs/components/_classes/input/Input.js +26 -30
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
  65. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  66. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  67. package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
  68. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
  69. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  70. package/lib/cjs/components/address/Address.d.ts +0 -1
  71. package/lib/cjs/components/address/Address.js +52 -57
  72. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  73. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  74. package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
  75. package/lib/cjs/components/alert/Alert.js +15 -21
  76. package/lib/cjs/components/button/Button.form.js +1 -1
  77. package/lib/cjs/components/button/Button.js +47 -64
  78. package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
  79. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  80. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  81. package/lib/cjs/components/checkbox/Checkbox.js +20 -28
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  83. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  84. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  85. package/lib/cjs/components/columns/Columns.form.js +1 -1
  86. package/lib/cjs/components/columns/Columns.js +12 -24
  87. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  88. package/lib/cjs/components/container/Container.form.js +2 -2
  89. package/lib/cjs/components/container/Container.js +4 -6
  90. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  91. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  92. package/lib/cjs/components/content/Content.form.js +2 -4
  93. package/lib/cjs/components/content/Content.js +8 -10
  94. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  95. package/lib/cjs/components/currency/Currency.form.js +3 -3
  96. package/lib/cjs/components/currency/Currency.js +10 -19
  97. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  98. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  99. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  100. package/lib/cjs/components/datagrid/DataGrid.js +42 -92
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  102. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  103. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  104. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  105. package/lib/cjs/components/datamap/DataMap.js +35 -46
  106. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  107. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  108. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  109. package/lib/cjs/components/datetime/DateTime.js +15 -30
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  113. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  114. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  115. package/lib/cjs/components/day/Day.form.js +5 -5
  116. package/lib/cjs/components/day/Day.js +58 -147
  117. package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
  118. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
  120. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  121. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  122. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  123. package/lib/cjs/components/editgrid/EditGrid.js +96 -142
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  126. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  127. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  128. package/lib/cjs/components/email/Email.js +4 -4
  129. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  130. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  131. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  132. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  133. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  134. package/lib/cjs/components/file/File.form.js +4 -4
  135. package/lib/cjs/components/file/File.js +90 -131
  136. package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
  137. package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
  138. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  139. package/lib/cjs/components/form/Form.form.js +3 -3
  140. package/lib/cjs/components/form/Form.js +58 -68
  141. package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
  142. package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
  143. package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
  144. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  145. package/lib/cjs/components/hidden/Hidden.js +2 -2
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  147. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  148. package/lib/cjs/components/html/HTML.js +17 -23
  149. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  150. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  151. package/lib/cjs/components/number/Number.form.js +3 -3
  152. package/lib/cjs/components/number/Number.js +11 -27
  153. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  154. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  155. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  156. package/lib/cjs/components/panel/Panel.form.js +1 -1
  157. package/lib/cjs/components/panel/Panel.js +2 -2
  158. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
  159. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
  160. package/lib/cjs/components/password/Password.form.js +3 -3
  161. package/lib/cjs/components/password/Password.js +2 -5
  162. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  163. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  164. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  165. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  166. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  167. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  168. package/lib/cjs/components/radio/Radio.form.js +3 -3
  169. package/lib/cjs/components/radio/Radio.js +32 -58
  170. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
  171. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  172. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  173. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  174. package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
  175. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  176. package/lib/cjs/components/select/Select.form.js +3 -3
  177. package/lib/cjs/components/select/Select.js +140 -235
  178. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  179. package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
  180. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  181. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  182. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  183. package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
  184. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  185. package/lib/cjs/components/signature/Signature.form.js +3 -3
  186. package/lib/cjs/components/signature/Signature.js +17 -26
  187. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
  188. package/lib/cjs/components/survey/Survey.form.js +3 -3
  189. package/lib/cjs/components/survey/Survey.js +17 -30
  190. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
  191. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  192. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  193. package/lib/cjs/components/table/Table.form.js +1 -1
  194. package/lib/cjs/components/table/Table.js +7 -8
  195. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  196. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  197. package/lib/cjs/components/tabs/Tabs.js +10 -27
  198. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  199. package/lib/cjs/components/tags/Tags.form.js +1 -1
  200. package/lib/cjs/components/tags/Tags.js +12 -28
  201. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  202. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  203. package/lib/cjs/components/textarea/TextArea.js +45 -63
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  205. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  207. package/lib/cjs/components/textfield/TextField.js +21 -32
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  210. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  211. package/lib/cjs/components/time/Time.js +10 -17
  212. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  213. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  214. package/lib/cjs/components/unknown/Unknown.js +2 -2
  215. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  216. package/lib/cjs/components/url/Url.form.js +3 -3
  217. package/lib/cjs/components/url/Url.js +2 -2
  218. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  219. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  220. package/lib/cjs/components/well/Well.form.js +1 -1
  221. package/lib/cjs/components/well/Well.js +2 -2
  222. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  223. package/lib/cjs/formio.form.d.ts +1 -2
  224. package/lib/cjs/formio.form.js +12 -38
  225. package/lib/cjs/i18n.d.ts +0 -4
  226. package/lib/cjs/i18n.js +3 -7
  227. package/lib/cjs/package.json +1 -1
  228. package/lib/cjs/pdf.image.d.ts +2 -0
  229. package/lib/cjs/pdf.image.js +94 -0
  230. package/lib/cjs/providers/address/AddressProvider.js +5 -8
  231. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  232. package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
  233. package/lib/cjs/providers/processor/fileProcessor.js +1 -3
  234. package/lib/cjs/providers/storage/azure.js +2 -5
  235. package/lib/cjs/providers/storage/dropbox.js +5 -4
  236. package/lib/cjs/providers/storage/googleDrive.js +4 -3
  237. package/lib/cjs/providers/storage/index.js +1 -1
  238. package/lib/cjs/providers/storage/indexeddb.js +6 -16
  239. package/lib/cjs/providers/storage/s3.js +6 -17
  240. package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
  241. package/lib/cjs/providers/storage/url.js +11 -13
  242. package/lib/cjs/providers/storage/xhr.js +9 -17
  243. package/lib/cjs/templates/index.js +1 -1
  244. package/lib/cjs/translations/en.d.ts +2 -0
  245. package/lib/cjs/translations/en.js +9 -7
  246. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  247. package/lib/cjs/utils/builder.js +7 -31
  248. package/lib/cjs/utils/calendarUtils.js +5 -7
  249. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  250. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
  251. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  252. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
  253. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  254. package/lib/cjs/utils/formUtils.js +1 -1
  255. package/lib/cjs/utils/i18n.js +1 -7
  256. package/lib/cjs/utils/index.d.ts +1 -2
  257. package/lib/cjs/utils/index.js +2 -2
  258. package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
  259. package/lib/cjs/utils/jsonlogic/operators.js +265 -0
  260. package/lib/cjs/utils/utils.d.ts +1 -10
  261. package/lib/cjs/utils/utils.js +92 -175
  262. package/lib/cjs/widgets/CalendarWidget.js +49 -66
  263. package/lib/cjs/widgets/InputWidget.js +4 -6
  264. package/lib/cjs/widgets/index.js +1 -1
  265. package/lib/mjs/CDN.js +12 -12
  266. package/lib/mjs/Element.d.ts +2 -3
  267. package/lib/mjs/Element.js +23 -29
  268. package/lib/mjs/Embed.js +43 -77
  269. package/lib/mjs/EventEmitter.js +1 -1
  270. package/lib/mjs/Form.d.ts +341 -371
  271. package/lib/mjs/Form.js +126 -142
  272. package/lib/mjs/FormBuilder.d.ts +3 -3
  273. package/lib/mjs/FormBuilder.js +3 -2
  274. package/lib/mjs/Formio.js +23 -26
  275. package/lib/mjs/InlineEmbed.js +17 -23
  276. package/lib/mjs/PDF.d.ts +0 -1
  277. package/lib/mjs/PDF.js +15 -18
  278. package/lib/mjs/PDFBuilder.js +36 -51
  279. package/lib/mjs/Webform.d.ts +366 -8
  280. package/lib/mjs/Webform.js +251 -184
  281. package/lib/mjs/WebformBuilder.js +151 -224
  282. package/lib/mjs/Wizard.js +64 -94
  283. package/lib/mjs/WizardBuilder.js +19 -27
  284. package/lib/mjs/addons/FormioAddon.js +1 -1
  285. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  286. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  287. package/lib/mjs/addons/index.js +3 -3
  288. package/lib/mjs/components/Components.js +4 -0
  289. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  290. package/lib/mjs/components/_classes/component/Component.js +194 -313
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  297. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  298. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  299. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  300. package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
  301. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  302. package/lib/mjs/components/_classes/field/Field.js +2 -8
  303. package/lib/mjs/components/_classes/input/Input.js +23 -27
  304. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  305. package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
  306. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  307. package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
  308. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  309. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  310. package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
  311. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
  312. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  313. package/lib/mjs/components/address/Address.d.ts +0 -1
  314. package/lib/mjs/components/address/Address.js +49 -60
  315. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  316. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  317. package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
  318. package/lib/mjs/components/alert/Alert.js +16 -22
  319. package/lib/mjs/components/button/Button.form.js +1 -1
  320. package/lib/mjs/components/button/Button.js +42 -65
  321. package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
  322. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  323. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  324. package/lib/mjs/components/checkbox/Checkbox.js +21 -29
  325. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  326. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  327. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  328. package/lib/mjs/components/columns/Columns.form.js +1 -1
  329. package/lib/mjs/components/columns/Columns.js +12 -24
  330. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  331. package/lib/mjs/components/container/Container.form.js +2 -2
  332. package/lib/mjs/components/container/Container.js +4 -6
  333. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  334. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  335. package/lib/mjs/components/content/Content.form.js +2 -4
  336. package/lib/mjs/components/content/Content.js +8 -10
  337. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  338. package/lib/mjs/components/currency/Currency.form.js +3 -3
  339. package/lib/mjs/components/currency/Currency.js +10 -19
  340. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  341. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  342. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  343. package/lib/mjs/components/datagrid/DataGrid.js +41 -92
  344. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  345. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  346. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  347. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  348. package/lib/mjs/components/datamap/DataMap.js +33 -46
  349. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  350. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  351. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  352. package/lib/mjs/components/datetime/DateTime.js +16 -31
  353. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  354. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  355. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  356. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  357. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  358. package/lib/mjs/components/day/Day.form.js +5 -5
  359. package/lib/mjs/components/day/Day.js +58 -148
  360. package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
  361. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  362. package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
  363. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  364. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  365. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  366. package/lib/mjs/components/editgrid/EditGrid.js +92 -140
  367. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  368. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  369. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  370. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  371. package/lib/mjs/components/email/Email.js +4 -4
  372. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  373. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  374. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  375. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  376. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  377. package/lib/mjs/components/file/File.form.js +4 -4
  378. package/lib/mjs/components/file/File.js +89 -136
  379. package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
  380. package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
  381. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  382. package/lib/mjs/components/form/Form.form.js +3 -3
  383. package/lib/mjs/components/form/Form.js +55 -68
  384. package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
  385. package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
  386. package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
  387. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  388. package/lib/mjs/components/hidden/Hidden.js +2 -2
  389. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  390. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  391. package/lib/mjs/components/html/HTML.js +17 -23
  392. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  393. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  394. package/lib/mjs/components/number/Number.form.js +3 -3
  395. package/lib/mjs/components/number/Number.js +12 -28
  396. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  397. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  398. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  399. package/lib/mjs/components/panel/Panel.form.js +1 -1
  400. package/lib/mjs/components/panel/Panel.js +2 -2
  401. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
  402. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
  403. package/lib/mjs/components/password/Password.form.js +3 -3
  404. package/lib/mjs/components/password/Password.js +2 -5
  405. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  406. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  407. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  408. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  409. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  410. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  411. package/lib/mjs/components/radio/Radio.form.js +3 -3
  412. package/lib/mjs/components/radio/Radio.js +30 -59
  413. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
  414. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  415. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  416. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  417. package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
  418. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  419. package/lib/mjs/components/select/Select.form.js +3 -3
  420. package/lib/mjs/components/select/Select.js +145 -240
  421. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  422. package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
  423. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  424. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  425. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  426. package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
  427. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  428. package/lib/mjs/components/signature/Signature.form.js +3 -3
  429. package/lib/mjs/components/signature/Signature.js +16 -26
  430. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
  431. package/lib/mjs/components/survey/Survey.form.js +3 -3
  432. package/lib/mjs/components/survey/Survey.js +17 -30
  433. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
  434. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  435. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  436. package/lib/mjs/components/table/Table.form.js +1 -1
  437. package/lib/mjs/components/table/Table.js +6 -8
  438. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  439. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  440. package/lib/mjs/components/tabs/Tabs.js +9 -27
  441. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  442. package/lib/mjs/components/tags/Tags.form.js +1 -1
  443. package/lib/mjs/components/tags/Tags.js +12 -28
  444. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  445. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  446. package/lib/mjs/components/textarea/TextArea.js +51 -75
  447. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  448. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  449. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  450. package/lib/mjs/components/textfield/TextField.js +23 -34
  451. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  452. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  453. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  454. package/lib/mjs/components/time/Time.js +10 -17
  455. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  456. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  457. package/lib/mjs/components/unknown/Unknown.js +2 -2
  458. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  459. package/lib/mjs/components/url/Url.form.js +3 -3
  460. package/lib/mjs/components/url/Url.js +2 -2
  461. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  462. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  463. package/lib/mjs/components/well/Well.form.js +1 -1
  464. package/lib/mjs/components/well/Well.js +2 -2
  465. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  466. package/lib/mjs/formio.form.d.ts +1 -2
  467. package/lib/mjs/formio.form.js +8 -10
  468. package/lib/mjs/i18n.d.ts +0 -4
  469. package/lib/mjs/i18n.js +3 -7
  470. package/lib/mjs/package.json +1 -1
  471. package/lib/mjs/pdf.image.d.ts +2 -0
  472. package/lib/mjs/pdf.image.js +94 -0
  473. package/lib/mjs/providers/address/AddressProvider.js +5 -8
  474. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  475. package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
  476. package/lib/mjs/providers/processor/fileProcessor.js +1 -3
  477. package/lib/mjs/providers/storage/azure.js +2 -5
  478. package/lib/mjs/providers/storage/dropbox.js +5 -4
  479. package/lib/mjs/providers/storage/googleDrive.js +4 -3
  480. package/lib/mjs/providers/storage/index.js +1 -1
  481. package/lib/mjs/providers/storage/indexeddb.js +6 -16
  482. package/lib/mjs/providers/storage/s3.js +8 -19
  483. package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
  484. package/lib/mjs/providers/storage/url.js +11 -13
  485. package/lib/mjs/providers/storage/xhr.js +9 -17
  486. package/lib/mjs/templates/index.js +1 -1
  487. package/lib/mjs/translations/en.d.ts +2 -0
  488. package/lib/mjs/translations/en.js +9 -7
  489. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  490. package/lib/mjs/utils/builder.js +7 -31
  491. package/lib/mjs/utils/calendarUtils.js +5 -7
  492. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  493. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
  494. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  495. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
  496. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  497. package/lib/mjs/utils/formUtils.js +2 -2
  498. package/lib/mjs/utils/i18n.js +1 -7
  499. package/lib/mjs/utils/index.d.ts +1 -2
  500. package/lib/mjs/utils/index.js +3 -3
  501. package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
  502. package/lib/mjs/utils/jsonlogic/operators.js +262 -0
  503. package/lib/mjs/utils/utils.d.ts +1 -10
  504. package/lib/mjs/utils/utils.js +91 -178
  505. package/lib/mjs/widgets/CalendarWidget.js +50 -67
  506. package/lib/mjs/widgets/InputWidget.js +4 -6
  507. package/lib/mjs/widgets/index.js +1 -1
  508. package/package.json +3 -3
  509. package/lib/cjs/translations/de.d.ts +0 -80
  510. package/lib/cjs/translations/de.js +0 -81
  511. package/lib/mjs/translations/de.d.ts +0 -80
  512. package/lib/mjs/translations/de.js +0 -79
package/lib/cjs/Wizard.js CHANGED
@@ -35,9 +35,7 @@ class Wizard extends Webform_1.default {
35
35
  this.page = 0;
36
36
  this.currentPanel = null;
37
37
  this.currentNextPage = 0;
38
- this._seenPages = [
39
- 0,
40
- ];
38
+ this._seenPages = [0];
41
39
  this.subWizards = [];
42
40
  this.allPages = [];
43
41
  this.lastPromise = Promise.resolve();
@@ -55,7 +53,8 @@ class Wizard extends Webform_1.default {
55
53
  getPages(args = {}) {
56
54
  const { all = false } = args;
57
55
  const pages = this.hasSubWizards ? this.components : this.pages;
58
- const filteredPages = pages.filter(all ? lodash_1.default.identity : (p, index) => this._seenPages.includes(index));
56
+ const filteredPages = pages
57
+ .filter(all ? lodash_1.default.identity : (p, index) => this._seenPages.includes(index));
59
58
  return filteredPages;
60
59
  }
61
60
  get hasSubWizards() {
@@ -80,7 +79,9 @@ class Wizard extends Webform_1.default {
80
79
  });
81
80
  }
82
81
  getComponents() {
83
- return this.submitting ? this.getPages({ all: this.isLastPage() }) : super.getComponents();
82
+ return this.submitting
83
+ ? this.getPages({ all: this.isLastPage() })
84
+ : super.getComponents();
84
85
  }
85
86
  resetValue() {
86
87
  this.getPages({ all: true }).forEach((page) => page.resetValue());
@@ -93,10 +94,10 @@ class Wizard extends Webform_1.default {
93
94
  showPrevious: true,
94
95
  showNext: true,
95
96
  showSubmit: true,
96
- showCancel: !this.options.readOnly,
97
+ showCancel: !this.options.readOnly
97
98
  });
98
99
  this.options.breadcrumbSettings = lodash_1.default.defaults(this.options.breadcrumbSettings, {
99
- clickable: true,
100
+ clickable: true
100
101
  });
101
102
  this.options.allowPrevious = this.options.allowPrevious || false;
102
103
  this.page = 0;
@@ -106,7 +107,7 @@ class Wizard extends Webform_1.default {
106
107
  this.component = this.pages[this.page].component;
107
108
  }
108
109
  this.on('subWizardsUpdated', (subForm) => {
109
- const subWizard = this.subWizards.find((subWizard) => { var _a; return (subForm === null || subForm === void 0 ? void 0 : subForm.id) && ((_a = subWizard.subForm) === null || _a === void 0 ? void 0 : _a.id) === (subForm === null || subForm === void 0 ? void 0 : subForm.id); });
110
+ const subWizard = this.subWizards.find(subWizard => { var _a; return (subForm === null || subForm === void 0 ? void 0 : subForm.id) && ((_a = subWizard.subForm) === null || _a === void 0 ? void 0 : _a.id) === (subForm === null || subForm === void 0 ? void 0 : subForm.id); });
110
111
  if (this.subWizards.length && subWizard) {
111
112
  subWizard.subForm.setValue(subForm._submission, {}, true);
112
113
  this.establishPages();
@@ -130,7 +131,7 @@ class Wizard extends Webform_1.default {
130
131
  { name: 'cancel', method: 'cancel' },
131
132
  { name: 'previous', method: 'prevPage' },
132
133
  { name: 'next', method: 'nextPage' },
133
- { name: 'submit', method: 'submit' },
134
+ { name: 'submit', method: 'submit' }
134
135
  ].forEach((button) => {
135
136
  if (this.hasButton(button.name)) {
136
137
  buttons[button.name] = button;
@@ -144,9 +145,9 @@ class Wizard extends Webform_1.default {
144
145
  'cancel',
145
146
  'previous',
146
147
  'next',
147
- 'submit',
148
+ 'submit'
148
149
  ];
149
- return ((_c = (_b = (_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.wizardButtonOrder) === null || _b === void 0 ? void 0 : _b.toLowerCase().split(', ')) !== null && _c !== void 0 ? _c : defaultButtonOrder);
150
+ return (_c = (_b = (_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.wizardButtonOrder) === null || _b === void 0 ? void 0 : _b.toLowerCase().split(', ')) !== null && _c !== void 0 ? _c : defaultButtonOrder;
150
151
  }
151
152
  get renderContext() {
152
153
  var _a, _b;
@@ -155,9 +156,7 @@ class Wizard extends Webform_1.default {
155
156
  wizardKey: this.wizardKey,
156
157
  isBreadcrumbClickable: this.isBreadcrumbClickable(),
157
158
  isSubForm: !!this.parent && !((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.type) === 'wizard',
158
- panels: this.allPages.length
159
- ? this.allPages.map((page) => page.component)
160
- : this.pages.map((page) => page.component),
159
+ panels: this.allPages.length ? this.allPages.map(page => page.component) : this.pages.map(page => page.component),
161
160
  buttons: this.buttons,
162
161
  currentPage: this.page,
163
162
  buttonOrder: this.buttonOrder,
@@ -167,10 +166,8 @@ class Wizard extends Webform_1.default {
167
166
  const currentPanel = this.currentPanel;
168
167
  if (currentPanel && currentPanel.buttonSettings) {
169
168
  Object.keys(currentPanel.buttonSettings).forEach(() => {
170
- Object.keys(ctx.buttons).forEach((key) => {
171
- if ((typeof currentPanel.buttonSettings[key] !== 'undefined' &&
172
- !currentPanel.buttonSettings[key]) ||
173
- ctx.isSubForm) {
169
+ Object.keys(ctx.buttons).forEach(key => {
170
+ if (typeof currentPanel.buttonSettings[key] !== 'undefined' && !currentPanel.buttonSettings[key] || ctx.isSubForm) {
174
171
  ctx.buttons[key] = null;
175
172
  }
176
173
  });
@@ -190,7 +187,7 @@ class Wizard extends Webform_1.default {
190
187
  render() {
191
188
  const ctx = this.renderContext;
192
189
  if (this.component.id) {
193
- ctx.panels.forEach((panel) => {
190
+ ctx.panels.forEach(panel => {
194
191
  if (panel.id === this.component.id) {
195
192
  this.currentPanel = panel;
196
193
  ctx.wizardPageTooltip = this.getFormattedTooltip(panel.tooltip);
@@ -207,7 +204,7 @@ class Wizard extends Webform_1.default {
207
204
  wizardNav, components: this.renderComponents([
208
205
  ...this.prefixComps,
209
206
  ...this.currentPage.components,
210
- ...this.suffixComps,
207
+ ...this.suffixComps
211
208
  ]) }), this.builderMode ? 'builder' : 'form');
212
209
  }
213
210
  redrawNavigation() {
@@ -236,7 +233,7 @@ class Wizard extends Webform_1.default {
236
233
  headerElement = this.element.querySelector(`#${this.wizardKey}-header`);
237
234
  this.loadRefs(headerElement, {
238
235
  [`${this.wizardKey}-link`]: 'multiple',
239
- [`${this.wizardKey}-tooltip`]: 'multiple',
236
+ [`${this.wizardKey}-tooltip`]: 'multiple'
240
237
  });
241
238
  this.attachHeader();
242
239
  }
@@ -260,7 +257,7 @@ class Wizard extends Webform_1.default {
260
257
  [`${this.wizardKey}-next`]: 'single',
261
258
  [`${this.wizardKey}-submit`]: 'single',
262
259
  [`${this.wizardKey}-link`]: 'multiple',
263
- [`${this.wizardKey}-tooltip`]: 'multiple',
260
+ [`${this.wizardKey}-tooltip`]: 'multiple'
264
261
  });
265
262
  if ((this.options.readOnly || this.editMode) && !this.enabledIndex) {
266
263
  this.enabledIndex = ((_a = this.pages) === null || _a === void 0 ? void 0 : _a.length) - 1;
@@ -295,7 +292,7 @@ class Wizard extends Webform_1.default {
295
292
  }
296
293
  isBreadcrumbClickable() {
297
294
  let currentPage = null;
298
- this.pages.map((page) => {
295
+ this.pages.map(page => {
299
296
  if (lodash_1.default.isEqual(this.currentPage.component, page.component)) {
300
297
  currentPage = page;
301
298
  }
@@ -310,7 +307,7 @@ class Wizard extends Webform_1.default {
310
307
  }
311
308
  isAllowPrevious() {
312
309
  let currentPage = null;
313
- this.pages.map((page) => {
310
+ this.pages.map(page => {
314
311
  if (lodash_1.default.isEqual(this.currentPage.component, page.component)) {
315
312
  currentPage = page;
316
313
  }
@@ -358,12 +355,10 @@ class Wizard extends Webform_1.default {
358
355
  buttonElement.setAttribute('disabled', 'disabled');
359
356
  this.setLoading(buttonElement, true);
360
357
  // Call the button method, then re-enable the button.
361
- this[button.method]()
362
- .then(() => {
358
+ this[button.method]().then(() => {
363
359
  buttonElement.removeAttribute('disabled');
364
360
  this.setLoading(buttonElement, false);
365
- })
366
- .catch(() => {
361
+ }).catch(() => {
367
362
  buttonElement.removeAttribute('disabled');
368
363
  this.setLoading(buttonElement, false);
369
364
  });
@@ -422,24 +417,15 @@ class Wizard extends Webform_1.default {
422
417
  // Get all components including all nested components and line up in the correct order
423
418
  const getAllComponents = (nestedComp, compsArr, pushAllowed = true) => {
424
419
  const nestedPages = [];
425
- const dataArrayComponents = [
426
- 'datagrid',
427
- 'editgrid',
428
- 'dynamicWizard',
429
- ];
430
- const currentComponents = (nestedComp === null || nestedComp === void 0 ? void 0 : nestedComp.subForm)
431
- ? this.getSortedComponents(nestedComp.subForm)
432
- : (nestedComp === null || nestedComp === void 0 ? void 0 : nestedComp.components) || [];
433
- const visibleComponents = currentComponents.filter((comp) => comp._visible);
434
- const filteredComponents = visibleComponents.filter((comp) => !dataArrayComponents.includes(comp.component.type) &&
435
- (comp.type !== 'form' || comp.isNestedWizard));
436
- const additionalComponents = currentComponents.filter((comp) => { var _a; return ((_a = comp.subForm) === null || _a === void 0 ? void 0 : _a._form.display) !== 'wizard'; });
420
+ const dataArrayComponents = ['datagrid', 'editgrid', 'dynamicWizard'];
421
+ const currentComponents = (nestedComp === null || nestedComp === void 0 ? void 0 : nestedComp.subForm) ? this.getSortedComponents(nestedComp.subForm) : (nestedComp === null || nestedComp === void 0 ? void 0 : nestedComp.components) || [];
422
+ const visibleComponents = currentComponents.filter(comp => comp._visible);
423
+ const filteredComponents = visibleComponents.filter(comp => !dataArrayComponents.includes(comp.component.type) && (comp.type !== 'form' || comp.isNestedWizard));
424
+ const additionalComponents = currentComponents.filter(comp => { var _a; return ((_a = comp.subForm) === null || _a === void 0 ? void 0 : _a._form.display) !== 'wizard'; });
437
425
  let hasNested = false;
438
426
  (0, utils_1.eachComponent)(filteredComponents, (comp) => {
439
427
  if (comp && comp.component) {
440
- if (comp.component.type === 'panel' &&
441
- (comp === null || comp === void 0 ? void 0 : comp.parent.wizard) &&
442
- !getAllComponents(comp, compsArr, false)) {
428
+ if (comp.component.type === 'panel' && (comp === null || comp === void 0 ? void 0 : comp.parent.wizard) && !getAllComponents(comp, compsArr, false)) {
443
429
  if (pushAllowed) {
444
430
  this.setRootPanelId(comp);
445
431
  nestedPages.push(comp);
@@ -488,11 +474,10 @@ class Wizard extends Webform_1.default {
488
474
  this.allPages = allComponents;
489
475
  }
490
476
  getSortedComponents({ components, originalComponents }) {
491
- // sorts components if they were shuffled after the conditional logic
492
477
  const currentComponents = [];
493
478
  const currentPages = [];
494
479
  if (components && components.length) {
495
- components.map((page) => {
480
+ components.map(page => {
496
481
  if (page.component.type === 'panel') {
497
482
  currentPages[page.component.key || page.component.title] = page;
498
483
  }
@@ -526,9 +511,9 @@ class Wizard extends Webform_1.default {
526
511
  this.suffixComps = [];
527
512
  const visible = [];
528
513
  const currentPages = {};
529
- const pageOptions = Object.assign(Object.assign({}, lodash_1.default.clone(this.options)), (this.parent ? { root: this } : {}));
514
+ const pageOptions = Object.assign(Object.assign({}, (lodash_1.default.clone(this.options))), (this.parent ? { root: this } : {}));
530
515
  if (this.components && this.components.length) {
531
- this.components.forEach((page) => {
516
+ this.components.forEach(page => {
532
517
  if (page.component.type === 'panel') {
533
518
  currentPages[page.component.key || page.component.title] = page;
534
519
  }
@@ -563,7 +548,7 @@ class Wizard extends Webform_1.default {
563
548
  page.visible = isVisible;
564
549
  this.pages.push(page);
565
550
  page.eachComponent((component) => {
566
- component.page = this.pages.length - 1;
551
+ component.page = (this.pages.length - 1);
567
552
  });
568
553
  }
569
554
  }
@@ -605,7 +590,7 @@ class Wizard extends Webform_1.default {
605
590
  const pageFromPages = this.pages[num];
606
591
  const pageFromComponents = this.components[num];
607
592
  if (!pageFromComponents || (pageFromPages === null || pageFromPages === void 0 ? void 0 : pageFromPages.id) !== pageFromComponents.id) {
608
- parentNum = this.components.findIndex((comp) => {
593
+ parentNum = this.components.findIndex(comp => {
609
594
  var _a, _b;
610
595
  return comp.id === ((_b = (_a = this.pages) === null || _a === void 0 ? void 0 : _a[parentNum]) === null || _b === void 0 ? void 0 : _b.rootPanelId);
611
596
  });
@@ -617,9 +602,7 @@ class Wizard extends Webform_1.default {
617
602
  return this.redraw().then(() => {
618
603
  this.checkData(this.submission.data);
619
604
  this.triggerCaptcha(this.currentPage.components);
620
- const errors = this.submitted
621
- ? this.validate(this.localData, { dirty: true })
622
- : this.validateCurrentPage();
605
+ const errors = this.submitted ? this.validate(this.localData, { dirty: true }) : this.validateCurrentPage();
623
606
  if (this.alert) {
624
607
  this.showErrors(errors, true, true);
625
608
  }
@@ -643,9 +626,7 @@ class Wizard extends Webform_1.default {
643
626
  }
644
627
  }
645
628
  get currentPage() {
646
- return this.pages && this.pages.length >= this.page
647
- ? this.pages[this.page]
648
- : { components: [] };
629
+ return (this.pages && (this.pages.length >= this.page)) ? this.pages[this.page] : { components: [] };
649
630
  }
650
631
  getNextPage() {
651
632
  var _a;
@@ -654,13 +635,13 @@ class Wizard extends Webform_1.default {
654
635
  const form = this.pages[this.page].component;
655
636
  // Check conditional nextPage
656
637
  if (form) {
657
- const page = this.pages.length > this.page + 1 && !this.showAllErrors ? this.page + 1 : -1;
638
+ const page = this.pages.length > (this.page + 1) && !this.showAllErrors ? this.page + 1 : -1;
658
639
  if (form.nextPage) {
659
640
  const next = this.evaluate(form.nextPage, {
660
641
  next: page,
661
642
  data,
662
643
  page,
663
- form,
644
+ form
664
645
  }, 'next');
665
646
  if (next === null) {
666
647
  this.currentNextPage = null;
@@ -723,9 +704,7 @@ class Wizard extends Webform_1.default {
723
704
  }
724
705
  // Validate the form before going to the next page
725
706
  const currentPageErrors = this.validateCurrentPage({ dirty: true });
726
- const errors = this.submitted
727
- ? this.validate(this.localData, { dirty: true })
728
- : currentPageErrors;
707
+ const errors = this.submitted ? this.validate(this.localData, { dirty: true }) : currentPageErrors;
729
708
  // allow going to the next page if the current page is valid, even if there are form level errors
730
709
  if (currentPageErrors.length === 0) {
731
710
  this.checkData(this.submission.data);
@@ -746,13 +725,13 @@ class Wizard extends Webform_1.default {
746
725
  }
747
726
  }
748
727
  validateCurrentPage(flags = {}) {
749
- var _a, _b, _c, _d;
728
+ var _a, _b, _c, _d, _e;
750
729
  const components = (_a = this.currentPage) === null || _a === void 0 ? void 0 : _a.components.map((component) => component.component);
751
730
  // Accessing the parent ensures the right instance (whether it's the parent Wizard or a nested Wizard) performs its validation
752
731
  if ((_b = this.currentPage) === null || _b === void 0 ? void 0 : _b.parent) {
753
- return (_c = this.currentPage) === null || _c === void 0 ? void 0 : _c.parent.validateComponents(components, this.root.data, flags);
732
+ return (_c = this.currentPage) === null || _c === void 0 ? void 0 : _c.parent.validateComponents(components, (_d = this.root) === null || _d === void 0 ? void 0 : _d.data, flags);
754
733
  }
755
- return (_d = this.currentPage) === null || _d === void 0 ? void 0 : _d.validateComponents(components, this.root ? this.root.data : this.data, flags);
734
+ return (_e = this.currentPage) === null || _e === void 0 ? void 0 : _e.validateComponents(components, this.root ? this.root.data : this.data, flags);
756
735
  }
757
736
  emitPrevPage() {
758
737
  this.emit('prevPage', { page: this.page, submission: this.submission });
@@ -799,14 +778,14 @@ class Wizard extends Webform_1.default {
799
778
  this.originalComponents = [];
800
779
  this.component.components.map((item) => {
801
780
  if (item.type === 'panel') {
802
- item.key = (0, utils_1.uniqueKey)(pageKeys, item.key || 'panel');
781
+ item.key = (0, utils_1.uniqueKey)(pageKeys, (item.key || 'panel'));
803
782
  pageKeys[item.key] = true;
804
783
  if (this.wizard.full) {
805
784
  this.options.show = this.options.show || {};
806
785
  this.options.show[item.key] = true;
807
786
  }
808
- else if (Object.prototype.hasOwnProperty.call(this.wizard, 'full') &&
809
- !lodash_1.default.isEqual(this.originalOptions.show, this.options.show)) {
787
+ else if (Object.prototype.hasOwnProperty.call(this.wizard, 'full')
788
+ && !lodash_1.default.isEqual(this.originalOptions.show, this.options.show)) {
810
789
  this.options.show = Object.assign({}, (this.originalOptions.show || {}));
811
790
  }
812
791
  }
@@ -818,11 +797,9 @@ class Wizard extends Webform_1.default {
818
797
  title: 'Page 1',
819
798
  label: 'Page 1',
820
799
  key: 'page1',
821
- components: this.component.components,
800
+ components: this.component.components
822
801
  };
823
- this.component.components = [
824
- newPage,
825
- ];
802
+ this.component.components = [newPage];
826
803
  this.originalComponents.push(lodash_1.default.clone(newPage));
827
804
  }
828
805
  }
@@ -833,8 +810,7 @@ class Wizard extends Webform_1.default {
833
810
  return super.setForm(form, flags);
834
811
  }
835
812
  onSetForm(clonedForm, initialForm) {
836
- this.component.components =
837
- (this.parent ? initialForm.components : clonedForm.components) || [];
813
+ this.component.components = (this.parent ? initialForm.components : clonedForm.components) || [];
838
814
  this.setComponentSchema();
839
815
  }
840
816
  setEditMode(submission) {
@@ -865,26 +841,23 @@ class Wizard extends Webform_1.default {
865
841
  return changed;
866
842
  }
867
843
  isClickable(page, index) {
868
- return (this.page !== index &&
869
- (0, utils_1.firstNonNil)([
870
- lodash_1.default.get(page, 'breadcrumbClickable'),
871
- this.options.breadcrumbSettings.clickable,
872
- ]));
844
+ return this.page !== index && (0, utils_1.firstNonNil)([
845
+ lodash_1.default.get(page, 'breadcrumbClickable'),
846
+ this.options.breadcrumbSettings.clickable
847
+ ]);
873
848
  }
874
849
  hasButton(name, nextPage = this.getNextPage()) {
875
850
  // get page options with global options as default values
876
- const { previous = this.options.buttonSettings.showPrevious, cancel = this.options.buttonSettings.showCancel, submit = this.options.buttonSettings.showSubmit, next = this.options.buttonSettings.showNext, } = lodash_1.default.get(this.currentPage, 'component.buttonSettings', {});
851
+ const { previous = this.options.buttonSettings.showPrevious, cancel = this.options.buttonSettings.showCancel, submit = this.options.buttonSettings.showSubmit, next = this.options.buttonSettings.showNext } = lodash_1.default.get(this.currentPage, 'component.buttonSettings', {});
877
852
  switch (name) {
878
853
  case 'previous':
879
- return previous && this.getPreviousPage() > -1;
854
+ return previous && (this.getPreviousPage() > -1);
880
855
  case 'next':
881
- return next && nextPage !== null && nextPage !== -1;
856
+ return next && (nextPage !== null) && (nextPage !== -1);
882
857
  case 'cancel':
883
858
  return cancel && !this.options.readOnly;
884
859
  case 'submit':
885
- return (submit &&
886
- !this.options.readOnly &&
887
- (nextPage === null || this.page === this.pages.length - 1));
860
+ return submit && !this.options.readOnly && ((nextPage === null) || (this.page === (this.pages.length - 1)));
888
861
  default:
889
862
  return true;
890
863
  }
@@ -894,7 +867,8 @@ class Wizard extends Webform_1.default {
894
867
  // Some panels have the same key....
895
868
  return `${page.key}-${page.title}`;
896
869
  }
897
- else if (page.components && page.components.length > 0) {
870
+ else if (page.components &&
871
+ page.components.length > 0) {
898
872
  return this.pageId(page.components[0]);
899
873
  }
900
874
  else {
@@ -905,11 +879,7 @@ class Wizard extends Webform_1.default {
905
879
  var _a;
906
880
  super.onChange(flags, changed, modified, changes);
907
881
  // The onChange loop doesn't need all components for wizards
908
- const errors = (flags === null || flags === void 0 ? void 0 : flags.noValidate)
909
- ? []
910
- : this.submitted
911
- ? this.validate(this.localData, { dirty: true })
912
- : this.validateCurrentPage();
882
+ const errors = this.submitted ? this.validate(this.localData, { dirty: true }) : this.validateCurrentPage();
913
883
  if (this.alert) {
914
884
  this.showErrors(errors, true, true);
915
885
  }
@@ -920,10 +890,8 @@ class Wizard extends Webform_1.default {
920
890
  const newPanels = this.pages;
921
891
  const currentNextPage = this.currentNextPage;
922
892
  const panelsUpdated = !lodash_1.default.isEqual(newPanels, currentPanels);
923
- if (((_a = this.currentPanel) === null || _a === void 0 ? void 0 : _a.id) &&
924
- this.pages.length &&
925
- (!this.hasSubWizards || (this.hasSubWizards && panelsUpdated))) {
926
- const newIndex = this.pages.findIndex((page) => page.id === this.currentPanel.id);
893
+ if (((_a = this.currentPanel) === null || _a === void 0 ? void 0 : _a.id) && this.pages.length && (!this.hasSubWizards || (this.hasSubWizards && panelsUpdated))) {
894
+ const newIndex = this.pages.findIndex(page => page.id === this.currentPanel.id);
927
895
  if (newIndex !== -1)
928
896
  this.setPage(newIndex);
929
897
  }
@@ -948,7 +916,9 @@ class Wizard extends Webform_1.default {
948
916
  this.setCustomValidity('');
949
917
  return true;
950
918
  }
951
- const components = !currentPageOnly || this.isLastPage() ? this.getComponents() : this.currentPage.components;
919
+ const components = !currentPageOnly || this.isLastPage()
920
+ ? this.getComponents()
921
+ : this.currentPage.components;
952
922
  return components.reduce((check, comp) => comp.checkValidity(data, dirty, row, currentPageOnly, childErrors) && check, true);
953
923
  }
954
924
  get errors() {
@@ -961,7 +931,7 @@ class Wizard extends Webform_1.default {
961
931
  while (!(topPanel.parent instanceof Wizard)) {
962
932
  topPanel = topPanel.parent;
963
933
  }
964
- const pageIndex = this.pages.findIndex((page) => page.id === topPanel.id);
934
+ const pageIndex = this.pages.findIndex(page => page.id === topPanel.id);
965
935
  if (pageIndex >= 0) {
966
936
  const page = this.pages[pageIndex];
967
937
  if (page && page !== this.currentPage) {
@@ -32,10 +32,10 @@ class WizardBuilder extends WebformBuilder_1.default {
32
32
  for (const group in this.groups) {
33
33
  if (this.groups[group] && this.groups[group].components) {
34
34
  this.groups[group].componentOrder = Object.keys(this.groups[group].components)
35
- .map((key) => this.groups[group].components[key])
36
- .filter((component) => component && !component.ignore)
35
+ .map(key => this.groups[group].components[key])
36
+ .filter(component => component && !component.ignore)
37
37
  .sort((a, b) => a.weight - b.weight)
38
- .map((component) => component.key);
38
+ .map(component => component.key);
39
39
  }
40
40
  }
41
41
  const originalRenderComponentsHook = this.options.hooks.renderComponents;
@@ -88,16 +88,14 @@ class WizardBuilder extends WebformBuilder_1.default {
88
88
  return remove;
89
89
  }
90
90
  allowDrop(element) {
91
- return this.webform && this.webform.refs && this.webform.refs.webform === element
92
- ? false
93
- : true;
91
+ return (this.webform && this.webform.refs && this.webform.refs.webform === element) ? false : true;
94
92
  }
95
93
  get pages() {
96
94
  return lodash_1.default.filter(this._form.components, { type: 'panel' });
97
95
  }
98
96
  get currentPage() {
99
97
  const pages = this.pages;
100
- return pages && pages.length >= this.page ? pages[this.page] : null;
98
+ return (pages && (pages.length >= this.page)) ? pages[this.page] : null;
101
99
  }
102
100
  setForm(value) {
103
101
  this._form = value;
@@ -106,12 +104,11 @@ class WizardBuilder extends WebformBuilder_1.default {
106
104
  }
107
105
  if (this.pages.length === 0) {
108
106
  const components = this._form.components.filter((component) => component.type !== 'button');
109
- this._form.components = [
110
- this.getPageConfig(1, components),
111
- ];
107
+ this._form.components = [this.getPageConfig(1, components)];
112
108
  }
113
109
  else {
114
- const components = this._form.components.filter((component) => component.type !== 'button' || component.action !== 'submit');
110
+ const components = this._form.components
111
+ .filter((component) => component.type !== 'button' || component.action !== 'submit');
115
112
  this._form.components = components;
116
113
  }
117
114
  this.rebuild();
@@ -142,7 +139,7 @@ class WizardBuilder extends WebformBuilder_1.default {
142
139
  group,
143
140
  groupKey: group.key,
144
141
  groupId: `group-container-${groupKey}`,
145
- subgroups: [],
142
+ subgroups: []
146
143
  })),
147
144
  })),
148
145
  }),
@@ -159,14 +156,13 @@ class WizardBuilder extends WebformBuilder_1.default {
159
156
  page.parentNode.dragInfo = { index };
160
157
  });
161
158
  if (this.dragulaLib) {
162
- this.navigationDragula = this.dragulaLib([
163
- this.element.querySelector('.wizard-pages'),
164
- ], {
165
- moves: (el) => !el.classList.contains('wizard-add-page'),
159
+ this.navigationDragula = this.dragulaLib([this.element.querySelector('.wizard-pages')], {
160
+ moves: (el) => (!el.classList.contains('wizard-add-page')),
166
161
  accepts: (el, target, source, sibling) => (sibling ? true : false),
167
- }).on('drop', this.onReorder.bind(this));
162
+ })
163
+ .on('drop', this.onReorder.bind(this));
168
164
  }
169
- this.refs.addPage.forEach((link) => {
165
+ this.refs.addPage.forEach(link => {
170
166
  this.addEventListener(link, 'click', (event) => {
171
167
  event.preventDefault();
172
168
  this.addPage();
@@ -193,12 +189,8 @@ class WizardBuilder extends WebformBuilder_1.default {
193
189
  this.webform.setForm({
194
190
  display: 'form',
195
191
  type: 'form',
196
- components: page
197
- ? [
198
- page,
199
- ]
200
- : [],
201
- controller: ((_a = this._form) === null || _a === void 0 ? void 0 : _a.controller) || '',
192
+ components: page ? [page] : [],
193
+ controller: ((_a = this._form) === null || _a === void 0 ? void 0 : _a.controller) || ''
202
194
  }, { keepAsReference: true });
203
195
  return this.redraw();
204
196
  }
@@ -206,7 +198,7 @@ class WizardBuilder extends WebformBuilder_1.default {
206
198
  const newPage = page && page.schema ? (0, utils_1.fastCloneDeep)(page.schema) : this.getPageConfig(this.pages.length + 1);
207
199
  builder_1.default.uniquify(this._form.components, newPage);
208
200
  this._form.components.push(newPage);
209
- this.emitSaveComponentEvent(newPage, newPage, this._form, 'components', this._form.components.length - 1, true, newPage);
201
+ this.emitSaveComponentEvent(newPage, newPage, this._form, 'components', (this._form.components.length - 1), true, newPage);
210
202
  this.emit('change', this._form);
211
203
  return this.rebuild();
212
204
  }
@@ -236,7 +228,7 @@ class WizardBuilder extends WebformBuilder_1.default {
236
228
  }
237
229
  const oldPosition = element.dragInfo.index;
238
230
  //should drop at next sibling position; no next sibling means drop to last position
239
- const newPosition = sibling && sibling.dragInfo ? sibling.dragInfo.index : this.pages.length;
231
+ const newPosition = (sibling && sibling.dragInfo ? sibling.dragInfo.index : this.pages.length);
240
232
  const movedBelow = newPosition > oldPosition;
241
233
  const formComponents = (0, utils_1.fastCloneDeep)(this._form.components);
242
234
  const draggedRowData = this._form.components[oldPosition];
@@ -269,7 +261,7 @@ class WizardBuilder extends WebformBuilder_1.default {
269
261
  if (component instanceof WizardBuilder) {
270
262
  return;
271
263
  }
272
- if (this._form.components.find((comp) => lodash_1.default.isEqual(component.component, comp))) {
264
+ if (this._form.components.find(comp => lodash_1.default.isEqual(component.component, comp))) {
273
265
  this.addPage(component);
274
266
  }
275
267
  else {
@@ -12,7 +12,7 @@ class FormioAddon extends Element_1.default {
12
12
  name: 'formioAddon',
13
13
  components: [],
14
14
  label: 'Formio Addon',
15
- defaultSettings: {},
15
+ defaultSettings: {}
16
16
  };
17
17
  }
18
18
  get defaultSettings() {