@formio/js 5.0.0-rc.54 → 5.0.0-rc.56

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. package/dist/formio.embed.js +1 -1
  2. package/dist/formio.embed.min.js +1 -1
  3. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  4. package/dist/formio.form.js +563 -563
  5. package/dist/formio.form.min.js +1 -1
  6. package/dist/formio.form.min.js.LICENSE.txt +3 -3
  7. package/dist/formio.full.js +606 -606
  8. package/dist/formio.full.min.js +1 -1
  9. package/dist/formio.full.min.js.LICENSE.txt +3 -3
  10. package/dist/formio.js +3 -3
  11. package/dist/formio.min.js +1 -1
  12. package/dist/formio.min.js.LICENSE.txt +1 -1
  13. package/dist/formio.utils.js +16 -16
  14. package/dist/formio.utils.min.js +1 -1
  15. package/dist/formio.utils.min.js.LICENSE.txt +3 -3
  16. package/lib/cjs/Element.d.ts +3 -2
  17. package/lib/cjs/Element.js +4 -3
  18. package/lib/cjs/Embed.js +8 -5
  19. package/lib/cjs/Form.d.ts +99 -36
  20. package/lib/cjs/Form.js +23 -18
  21. package/lib/cjs/PDF.d.ts +8 -7
  22. package/lib/cjs/PDF.js +6 -5
  23. package/lib/cjs/Webform.d.ts +1 -4
  24. package/lib/cjs/Webform.js +19 -16
  25. package/lib/cjs/WebformBuilder.d.ts +15 -14
  26. package/lib/cjs/WebformBuilder.js +11 -10
  27. package/lib/cjs/Wizard.d.ts +1 -12
  28. package/lib/cjs/Wizard.js +17 -15
  29. package/lib/cjs/WizardBuilder.d.ts +1 -1
  30. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +2 -2
  31. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.d.ts +2 -2
  32. package/lib/cjs/addons/index.d.ts +2 -2
  33. package/lib/cjs/components/Components.d.ts +6 -5
  34. package/lib/cjs/components/Components.js +2 -1
  35. package/lib/cjs/components/_classes/component/Component.form.d.ts +4 -5
  36. package/lib/cjs/components/_classes/component/Component.form.js +3 -2
  37. package/lib/cjs/components/_classes/component/Component.js +3 -2
  38. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.d.ts +2 -2
  39. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.d.ts +1 -1
  40. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +1 -1
  41. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.d.ts +1 -1
  42. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +2 -2
  43. package/lib/cjs/components/_classes/component/editForm/utils.d.ts +1 -1
  44. package/lib/cjs/components/_classes/component/editForm/utils.js +2 -2
  45. package/lib/cjs/components/_classes/list/ListComponent.d.ts +2 -2
  46. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +4 -4
  47. package/lib/cjs/components/_classes/list/ListComponent.form.js +3 -3
  48. package/lib/cjs/components/_classes/nested/NestedComponent.form.d.ts +4 -5
  49. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -2
  50. package/lib/cjs/components/_classes/nested/NestedComponent.js +0 -2
  51. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -1
  52. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  53. package/lib/cjs/components/address/Address.form.d.ts +4 -5
  54. package/lib/cjs/components/address/Address.form.js +3 -2
  55. package/lib/cjs/components/button/Button.form.d.ts +4 -5
  56. package/lib/cjs/components/button/Button.form.js +3 -2
  57. package/lib/cjs/components/button/Button.js +3 -2
  58. package/lib/cjs/components/checkbox/Checkbox.form.d.ts +4 -5
  59. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -2
  60. package/lib/cjs/components/checkbox/Checkbox.js +2 -9
  61. package/lib/cjs/components/checkbox/fixtures/comp5.d.ts +34 -0
  62. package/lib/cjs/components/checkbox/fixtures/comp5.js +55 -0
  63. package/lib/cjs/components/checkbox/fixtures/index.d.ts +2 -1
  64. package/lib/cjs/components/checkbox/fixtures/index.js +3 -1
  65. package/lib/cjs/components/columns/Columns.d.ts +1 -1
  66. package/lib/cjs/components/columns/Columns.form.d.ts +4 -5
  67. package/lib/cjs/components/columns/Columns.form.js +3 -2
  68. package/lib/cjs/components/columns/Columns.js +1 -1
  69. package/lib/cjs/components/container/Container.form.d.ts +4 -5
  70. package/lib/cjs/components/container/Container.form.js +3 -2
  71. package/lib/cjs/components/content/Content.form.d.ts +4 -5
  72. package/lib/cjs/components/content/Content.form.js +3 -2
  73. package/lib/cjs/components/currency/Currency.form.d.ts +4 -5
  74. package/lib/cjs/components/currency/Currency.form.js +3 -2
  75. package/lib/cjs/components/currency/Currency.js +1 -1
  76. package/lib/cjs/components/datagrid/DataGrid.d.ts +4 -4
  77. package/lib/cjs/components/datagrid/DataGrid.form.d.ts +4 -5
  78. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -2
  79. package/lib/cjs/components/datagrid/DataGrid.js +4 -4
  80. package/lib/cjs/components/datamap/DataMap.form.d.ts +4 -5
  81. package/lib/cjs/components/datamap/DataMap.form.js +3 -2
  82. package/lib/cjs/components/datetime/DateTime.form.d.ts +4 -5
  83. package/lib/cjs/components/datetime/DateTime.form.js +3 -2
  84. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.d.ts +1 -1
  85. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +2 -2
  86. package/lib/cjs/components/day/Day.d.ts +18 -23
  87. package/lib/cjs/components/day/Day.form.d.ts +4 -5
  88. package/lib/cjs/components/day/Day.form.js +3 -2
  89. package/lib/cjs/components/day/Day.js +15 -14
  90. package/lib/cjs/components/editgrid/EditGrid.d.ts +4 -3
  91. package/lib/cjs/components/editgrid/EditGrid.form.d.ts +4 -5
  92. package/lib/cjs/components/editgrid/EditGrid.form.js +3 -2
  93. package/lib/cjs/components/editgrid/EditGrid.js +3 -3
  94. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -5
  95. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.d.ts +1 -1
  96. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +6 -9
  97. package/lib/cjs/components/email/Email.form.d.ts +4 -5
  98. package/lib/cjs/components/email/Email.form.js +3 -2
  99. package/lib/cjs/components/fieldset/Fieldset.form.d.ts +4 -5
  100. package/lib/cjs/components/fieldset/Fieldset.form.js +3 -2
  101. package/lib/cjs/components/file/File.form.d.ts +4 -5
  102. package/lib/cjs/components/file/File.form.js +3 -2
  103. package/lib/cjs/components/form/Form.d.ts +23 -20
  104. package/lib/cjs/components/form/Form.form.d.ts +4 -5
  105. package/lib/cjs/components/form/Form.form.js +3 -2
  106. package/lib/cjs/components/form/Form.js +18 -11
  107. package/lib/cjs/components/form/editForm/Form.edit.data.d.ts +1 -1
  108. package/lib/cjs/components/form/fixtures/comp7.d.ts +36 -0
  109. package/lib/cjs/components/form/fixtures/comp7.js +37 -0
  110. package/lib/cjs/components/form/fixtures/comp8.d.ts +26 -0
  111. package/lib/cjs/components/form/fixtures/comp8.js +29 -0
  112. package/lib/cjs/components/form/fixtures/index.d.ts +3 -1
  113. package/lib/cjs/components/form/fixtures/index.js +5 -1
  114. package/lib/cjs/components/hidden/Hidden.form.d.ts +4 -5
  115. package/lib/cjs/components/hidden/Hidden.form.js +3 -2
  116. package/lib/cjs/components/hidden/Hidden.js +1 -1
  117. package/lib/cjs/components/html/HTML.form.d.ts +4 -5
  118. package/lib/cjs/components/html/HTML.form.js +3 -2
  119. package/lib/cjs/components/number/Number.d.ts +1 -1
  120. package/lib/cjs/components/number/Number.form.d.ts +4 -5
  121. package/lib/cjs/components/number/Number.form.js +3 -2
  122. package/lib/cjs/components/number/Number.js +1 -1
  123. package/lib/cjs/components/panel/Panel.form.d.ts +4 -5
  124. package/lib/cjs/components/panel/Panel.form.js +3 -2
  125. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.d.ts +1 -1
  126. package/lib/cjs/components/password/Password.form.d.ts +4 -5
  127. package/lib/cjs/components/password/Password.form.js +3 -2
  128. package/lib/cjs/components/phonenumber/PhoneNumber.form.d.ts +4 -5
  129. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +3 -2
  130. package/lib/cjs/components/radio/Radio.form.d.ts +4 -3
  131. package/lib/cjs/components/radio/Radio.form.js +3 -2
  132. package/lib/cjs/components/recaptcha/ReCaptcha.form.d.ts +3 -4
  133. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +2 -1
  134. package/lib/cjs/components/select/Select.d.ts +2 -2
  135. package/lib/cjs/components/select/Select.form.d.ts +4 -3
  136. package/lib/cjs/components/select/Select.form.js +3 -2
  137. package/lib/cjs/components/select/Select.js +1 -1
  138. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +2 -8
  139. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +4 -3
  140. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -2
  141. package/lib/cjs/components/selectboxes/SelectBoxes.js +7 -6
  142. package/lib/cjs/components/signature/Signature.form.d.ts +4 -5
  143. package/lib/cjs/components/signature/Signature.form.js +3 -2
  144. package/lib/cjs/components/survey/Survey.form.d.ts +4 -5
  145. package/lib/cjs/components/survey/Survey.form.js +3 -2
  146. package/lib/cjs/components/table/Table.form.d.ts +4 -5
  147. package/lib/cjs/components/table/Table.form.js +3 -2
  148. package/lib/cjs/components/tabs/Tabs.d.ts +2 -2
  149. package/lib/cjs/components/tabs/Tabs.form.d.ts +4 -5
  150. package/lib/cjs/components/tabs/Tabs.form.js +3 -2
  151. package/lib/cjs/components/tabs/Tabs.js +1 -1
  152. package/lib/cjs/components/tags/Tags.form.d.ts +4 -5
  153. package/lib/cjs/components/tags/Tags.form.js +3 -2
  154. package/lib/cjs/components/textarea/TextArea.d.ts +3 -3
  155. package/lib/cjs/components/textarea/TextArea.form.d.ts +4 -5
  156. package/lib/cjs/components/textarea/TextArea.form.js +3 -2
  157. package/lib/cjs/components/textarea/TextArea.js +2 -2
  158. package/lib/cjs/components/textfield/TextField.d.ts +12 -19
  159. package/lib/cjs/components/textfield/TextField.form.d.ts +4 -5
  160. package/lib/cjs/components/textfield/TextField.form.js +3 -2
  161. package/lib/cjs/components/textfield/TextField.js +13 -12
  162. package/lib/cjs/components/time/Time.form.d.ts +4 -5
  163. package/lib/cjs/components/time/Time.form.js +3 -2
  164. package/lib/cjs/components/unknown/Unknown.form.d.ts +3 -35
  165. package/lib/cjs/components/unknown/Unknown.form.js +2 -1
  166. package/lib/cjs/components/url/Url.form.d.ts +4 -5
  167. package/lib/cjs/components/url/Url.form.js +3 -2
  168. package/lib/cjs/components/well/Well.form.d.ts +4 -5
  169. package/lib/cjs/components/well/Well.form.js +3 -2
  170. package/lib/cjs/formio.form.js +2 -2
  171. package/lib/cjs/utils/Evaluator.d.ts +0 -1
  172. package/lib/cjs/utils/Evaluator.js +2 -5
  173. package/lib/cjs/utils/formUtils.d.ts +1 -1
  174. package/lib/cjs/utils/utils.d.ts +106 -83
  175. package/lib/cjs/utils/utils.js +96 -140
  176. package/lib/cjs/widgets/CalendarWidget.d.ts +8 -7
  177. package/lib/cjs/widgets/CalendarWidget.js +8 -7
  178. package/lib/mjs/Element.d.ts +3 -2
  179. package/lib/mjs/Element.js +4 -3
  180. package/lib/mjs/Embed.js +8 -5
  181. package/lib/mjs/Form.d.ts +99 -36
  182. package/lib/mjs/Form.js +43 -38
  183. package/lib/mjs/PDF.d.ts +8 -7
  184. package/lib/mjs/PDF.js +6 -5
  185. package/lib/mjs/Webform.d.ts +1 -4
  186. package/lib/mjs/Webform.js +19 -16
  187. package/lib/mjs/WebformBuilder.d.ts +15 -14
  188. package/lib/mjs/WebformBuilder.js +11 -10
  189. package/lib/mjs/Wizard.d.ts +1 -12
  190. package/lib/mjs/Wizard.js +15 -13
  191. package/lib/mjs/WizardBuilder.d.ts +1 -1
  192. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +2 -2
  193. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.d.ts +2 -2
  194. package/lib/mjs/addons/index.d.ts +2 -2
  195. package/lib/mjs/components/Components.d.ts +6 -5
  196. package/lib/mjs/components/Components.js +2 -1
  197. package/lib/mjs/components/_classes/component/Component.form.d.ts +4 -5
  198. package/lib/mjs/components/_classes/component/Component.form.js +3 -2
  199. package/lib/mjs/components/_classes/component/Component.js +3 -2
  200. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.d.ts +2 -2
  201. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.d.ts +1 -1
  202. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +1 -1
  203. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.d.ts +1 -1
  204. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +1 -1
  205. package/lib/mjs/components/_classes/component/editForm/utils.d.ts +1 -1
  206. package/lib/mjs/components/_classes/component/editForm/utils.js +1 -1
  207. package/lib/mjs/components/_classes/list/ListComponent.d.ts +2 -2
  208. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +4 -4
  209. package/lib/mjs/components/_classes/list/ListComponent.form.js +3 -3
  210. package/lib/mjs/components/_classes/nested/NestedComponent.form.d.ts +4 -5
  211. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -2
  212. package/lib/mjs/components/_classes/nested/NestedComponent.js +0 -2
  213. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -1
  214. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  215. package/lib/mjs/components/address/Address.form.d.ts +4 -5
  216. package/lib/mjs/components/address/Address.form.js +3 -2
  217. package/lib/mjs/components/button/Button.form.d.ts +4 -5
  218. package/lib/mjs/components/button/Button.form.js +3 -2
  219. package/lib/mjs/components/button/Button.js +3 -2
  220. package/lib/mjs/components/checkbox/Checkbox.form.d.ts +4 -5
  221. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -2
  222. package/lib/mjs/components/checkbox/Checkbox.js +2 -9
  223. package/lib/mjs/components/checkbox/fixtures/comp5.d.ts +34 -0
  224. package/lib/mjs/components/checkbox/fixtures/comp5.js +53 -0
  225. package/lib/mjs/components/checkbox/fixtures/index.d.ts +2 -1
  226. package/lib/mjs/components/checkbox/fixtures/index.js +2 -1
  227. package/lib/mjs/components/columns/Columns.d.ts +1 -1
  228. package/lib/mjs/components/columns/Columns.form.d.ts +4 -5
  229. package/lib/mjs/components/columns/Columns.form.js +3 -2
  230. package/lib/mjs/components/columns/Columns.js +1 -1
  231. package/lib/mjs/components/container/Container.form.d.ts +4 -5
  232. package/lib/mjs/components/container/Container.form.js +3 -2
  233. package/lib/mjs/components/content/Content.form.d.ts +4 -5
  234. package/lib/mjs/components/content/Content.form.js +3 -2
  235. package/lib/mjs/components/currency/Currency.form.d.ts +4 -5
  236. package/lib/mjs/components/currency/Currency.form.js +3 -2
  237. package/lib/mjs/components/currency/Currency.js +1 -1
  238. package/lib/mjs/components/datagrid/DataGrid.d.ts +4 -4
  239. package/lib/mjs/components/datagrid/DataGrid.form.d.ts +4 -5
  240. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -2
  241. package/lib/mjs/components/datagrid/DataGrid.js +4 -4
  242. package/lib/mjs/components/datamap/DataMap.form.d.ts +4 -5
  243. package/lib/mjs/components/datamap/DataMap.form.js +3 -2
  244. package/lib/mjs/components/datetime/DateTime.form.d.ts +4 -5
  245. package/lib/mjs/components/datetime/DateTime.form.js +3 -2
  246. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.d.ts +1 -1
  247. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +1 -1
  248. package/lib/mjs/components/day/Day.d.ts +18 -23
  249. package/lib/mjs/components/day/Day.form.d.ts +4 -5
  250. package/lib/mjs/components/day/Day.form.js +3 -2
  251. package/lib/mjs/components/day/Day.js +15 -14
  252. package/lib/mjs/components/editgrid/EditGrid.d.ts +4 -3
  253. package/lib/mjs/components/editgrid/EditGrid.form.d.ts +4 -5
  254. package/lib/mjs/components/editgrid/EditGrid.form.js +3 -2
  255. package/lib/mjs/components/editgrid/EditGrid.js +3 -3
  256. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  257. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.d.ts +1 -1
  258. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +1 -1
  259. package/lib/mjs/components/email/Email.form.d.ts +4 -5
  260. package/lib/mjs/components/email/Email.form.js +3 -2
  261. package/lib/mjs/components/fieldset/Fieldset.form.d.ts +4 -5
  262. package/lib/mjs/components/fieldset/Fieldset.form.js +3 -2
  263. package/lib/mjs/components/file/File.form.d.ts +4 -5
  264. package/lib/mjs/components/file/File.form.js +3 -2
  265. package/lib/mjs/components/form/Form.d.ts +23 -20
  266. package/lib/mjs/components/form/Form.form.d.ts +4 -5
  267. package/lib/mjs/components/form/Form.form.js +3 -2
  268. package/lib/mjs/components/form/Form.js +18 -11
  269. package/lib/mjs/components/form/editForm/Form.edit.data.d.ts +1 -1
  270. package/lib/mjs/components/form/fixtures/comp7.d.ts +36 -0
  271. package/lib/mjs/components/form/fixtures/comp7.js +35 -0
  272. package/lib/mjs/components/form/fixtures/comp8.d.ts +26 -0
  273. package/lib/mjs/components/form/fixtures/comp8.js +27 -0
  274. package/lib/mjs/components/form/fixtures/index.d.ts +3 -1
  275. package/lib/mjs/components/form/fixtures/index.js +3 -1
  276. package/lib/mjs/components/hidden/Hidden.form.d.ts +4 -5
  277. package/lib/mjs/components/hidden/Hidden.form.js +3 -2
  278. package/lib/mjs/components/hidden/Hidden.js +1 -1
  279. package/lib/mjs/components/html/HTML.form.d.ts +4 -5
  280. package/lib/mjs/components/html/HTML.form.js +3 -2
  281. package/lib/mjs/components/number/Number.d.ts +1 -1
  282. package/lib/mjs/components/number/Number.form.d.ts +4 -5
  283. package/lib/mjs/components/number/Number.form.js +3 -2
  284. package/lib/mjs/components/number/Number.js +1 -1
  285. package/lib/mjs/components/panel/Panel.form.d.ts +4 -5
  286. package/lib/mjs/components/panel/Panel.form.js +3 -2
  287. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.d.ts +1 -1
  288. package/lib/mjs/components/password/Password.form.d.ts +4 -5
  289. package/lib/mjs/components/password/Password.form.js +3 -2
  290. package/lib/mjs/components/phonenumber/PhoneNumber.form.d.ts +4 -5
  291. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +3 -2
  292. package/lib/mjs/components/radio/Radio.form.d.ts +4 -3
  293. package/lib/mjs/components/radio/Radio.form.js +3 -2
  294. package/lib/mjs/components/recaptcha/ReCaptcha.form.d.ts +3 -4
  295. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +2 -1
  296. package/lib/mjs/components/select/Select.d.ts +2 -2
  297. package/lib/mjs/components/select/Select.form.d.ts +4 -3
  298. package/lib/mjs/components/select/Select.form.js +3 -2
  299. package/lib/mjs/components/select/Select.js +1 -1
  300. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +2 -8
  301. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +4 -3
  302. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -2
  303. package/lib/mjs/components/selectboxes/SelectBoxes.js +7 -6
  304. package/lib/mjs/components/signature/Signature.form.d.ts +4 -5
  305. package/lib/mjs/components/signature/Signature.form.js +3 -2
  306. package/lib/mjs/components/survey/Survey.form.d.ts +4 -5
  307. package/lib/mjs/components/survey/Survey.form.js +3 -2
  308. package/lib/mjs/components/table/Table.form.d.ts +4 -5
  309. package/lib/mjs/components/table/Table.form.js +3 -2
  310. package/lib/mjs/components/tabs/Tabs.d.ts +2 -2
  311. package/lib/mjs/components/tabs/Tabs.form.d.ts +4 -5
  312. package/lib/mjs/components/tabs/Tabs.form.js +3 -2
  313. package/lib/mjs/components/tabs/Tabs.js +1 -1
  314. package/lib/mjs/components/tags/Tags.form.d.ts +4 -5
  315. package/lib/mjs/components/tags/Tags.form.js +3 -2
  316. package/lib/mjs/components/textarea/TextArea.d.ts +3 -3
  317. package/lib/mjs/components/textarea/TextArea.form.d.ts +4 -5
  318. package/lib/mjs/components/textarea/TextArea.form.js +3 -2
  319. package/lib/mjs/components/textarea/TextArea.js +2 -2
  320. package/lib/mjs/components/textfield/TextField.d.ts +12 -19
  321. package/lib/mjs/components/textfield/TextField.form.d.ts +4 -5
  322. package/lib/mjs/components/textfield/TextField.form.js +3 -2
  323. package/lib/mjs/components/textfield/TextField.js +13 -12
  324. package/lib/mjs/components/time/Time.form.d.ts +4 -5
  325. package/lib/mjs/components/time/Time.form.js +3 -2
  326. package/lib/mjs/components/unknown/Unknown.form.d.ts +3 -35
  327. package/lib/mjs/components/unknown/Unknown.form.js +2 -1
  328. package/lib/mjs/components/url/Url.form.d.ts +4 -5
  329. package/lib/mjs/components/url/Url.form.js +3 -2
  330. package/lib/mjs/components/well/Well.form.d.ts +4 -5
  331. package/lib/mjs/components/well/Well.form.js +3 -2
  332. package/lib/mjs/formio.form.js +1 -1
  333. package/lib/mjs/utils/Evaluator.d.ts +0 -1
  334. package/lib/mjs/utils/Evaluator.js +1 -4
  335. package/lib/mjs/utils/formUtils.d.ts +1 -1
  336. package/lib/mjs/utils/utils.d.ts +106 -83
  337. package/lib/mjs/utils/utils.js +96 -140
  338. package/lib/mjs/widgets/CalendarWidget.d.ts +8 -7
  339. package/lib/mjs/widgets/CalendarWidget.js +8 -7
  340. package/package.json +5 -8
@@ -18,11 +18,11 @@
18
18
  * MIT licensed
19
19
  */
20
20
 
21
- /*! @license DOMPurify 3.1.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.2/LICENSE */
22
-
23
21
  /*! @license DOMPurify 3.1.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.3/LICENSE */
24
22
 
25
- /*! formiojs v5.0.0-rc.54 | https://unpkg.com/formiojs@5.0.0-rc.54/LICENSE.txt */
23
+ /*! @license DOMPurify 3.1.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.4/LICENSE */
24
+
25
+ /*! formiojs v5.0.0-rc.56 | https://unpkg.com/formiojs@5.0.0-rc.56/LICENSE.txt */
26
26
 
27
27
  /**
28
28
  * @license
@@ -233,10 +233,11 @@ export default class Element {
233
233
  * @param {string|Function|object} func - The function or string to evaluate.
234
234
  * @param {object} args - The arguments to pass to the evaluation.
235
235
  * @param {string} ret - The name of the variable within the evaluation context to return.
236
- * @param {boolean} tokenize - Determines if it should replace all {{ }} token references with actual data.
236
+ * @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
237
+ * @param {import('@formio/core').EvaluatorOptions} options - The options to pass to the evaluation.
237
238
  * @returns {*} - The result of the evaluation.
238
239
  */
239
- evaluate(func: string | Function | object, args: object, ret: string, tokenize: boolean): any;
240
+ evaluate(func: string | Function | object, args: object, ret: string, interpolate: boolean, options?: import('@formio/core').EvaluatorOptions): any;
240
241
  /**
241
242
  * Allow for options to hook into the functionality of this renderer.
242
243
  * @returns {*} - The result of the hook function.
@@ -563,11 +563,12 @@ class Element {
563
563
  * @param {string|Function|object} func - The function or string to evaluate.
564
564
  * @param {object} args - The arguments to pass to the evaluation.
565
565
  * @param {string} ret - The name of the variable within the evaluation context to return.
566
- * @param {boolean} tokenize - Determines if it should replace all {{ }} token references with actual data.
566
+ * @param {boolean} interpolate - Determines if it should replace all {{ }} token references with actual data.
567
+ * @param {import('@formio/core').EvaluatorOptions} options - The options to pass to the evaluation.
567
568
  * @returns {*} - The result of the evaluation.
568
569
  */
569
- evaluate(func, args, ret, tokenize) {
570
- return FormioUtils.evaluate(func, this.evalContext(args), ret, tokenize);
570
+ evaluate(func, args, ret, interpolate, options = {}) {
571
+ return FormioUtils.evaluate(func, this.evalContext(args), ret, interpolate, options);
571
572
  }
572
573
  /**
573
574
  * Allow for options to hook into the functionality of this renderer.
package/lib/cjs/Embed.js CHANGED
@@ -297,14 +297,17 @@ class Formio {
297
297
  if (_a.config.template && _a.config.includeLibs) {
298
298
  yield _a.addLibrary(libWrapper, _a.config.libs[_a.config.template], _a.config.template);
299
299
  }
300
- // Add the premium modules.
300
+ if (!_a.config.libraries) {
301
+ _a.config.libraries = _a.config.modules || {};
302
+ }
303
+ // Adding premium if it is provided via the config.
301
304
  if (_a.config.premium) {
302
- _a.config.modules.premium = _a.config.premium;
305
+ _a.config.libraries.premium = _a.config.premium;
303
306
  }
304
307
  // Allow adding dynamic modules.
305
- if (_a.config.modules) {
306
- for (const name in _a.config.modules) {
307
- const lib = _a.config.modules[name];
308
+ if (_a.config.libraries) {
309
+ for (const name in _a.config.libraries) {
310
+ const lib = _a.config.libraries[name];
308
311
  lib.use = lib.use || true;
309
312
  yield _a.addLibrary(libWrapper, lib, name);
310
313
  }
package/lib/cjs/Form.d.ts CHANGED
@@ -15,32 +15,32 @@ export default class Form extends Element {
15
15
  */
16
16
  /**
17
17
  * @typedef {object} FormioHooks
18
- * @property {Function} [beforeSubmit]
19
- * @property {Function} [beforeCancel]
20
- * @property {Function} [beforeNext]
21
- * @property {Function} [beforePrev]
22
- * @property {Function} [attachComponent]
23
- * @property {Function} [setDataValue]
24
- * @property {Function} [addComponents]
25
- * @property {Function} [addComponent]
26
- * @property {Function} [customValidation]
27
- * @property {Function} [attachWebform]
18
+ * @property {Function} [beforeSubmit] - Called before a submission is made.
19
+ * @property {Function} [beforeCancel] - Called before a cancel is made.
20
+ * @property {Function} [beforeNext] - Called before the next page is navigated to.
21
+ * @property {Function} [beforePrev] - Called before the previous page is navigated to.
22
+ * @property {Function} [attachComponent] - Called when a component is attached.
23
+ * @property {Function} [setDataValue] - Called when a data value is set.
24
+ * @property {Function} [addComponents] - Called when components are added.
25
+ * @property {Function} [addComponent] - Called when a component is added.
26
+ * @property {Function} [customValidation] - Called when a custom validation is made.
27
+ * @property {Function} [attachWebform] - Called when a webform is attached.
28
28
  */
29
29
  /**
30
30
  * @typedef {object} SanitizeConfig
31
- * @property {string[]} [addAttr]
32
- * @property {string[]} [addTags]
33
- * @property {string[]} [allowedAttrs]
34
- * @property {string[]} [allowedTags]
35
- * @property {string[]} [allowedUriRegex]
36
- * @property {string[]} [addUriSafeAttr]
31
+ * @property {string[]} [addAttr] - The html attributes to allow with sanitization.
32
+ * @property {string[]} [addTags] - The html tags to allow with sanitization.
33
+ * @property {string[]} [allowedAttrs] - The html attributes to allow with sanitization.
34
+ * @property {string[]} [allowedTags] - The html tags to allow with sanitization.
35
+ * @property {string[]} [allowedUriRegex] - The regex for allowed URIs.
36
+ * @property {string[]} [addUriSafeAttr] - The URI attributes to allow with sanitization.
37
37
  */
38
38
  /**
39
39
  * @typedef {object} ButtonSettings
40
- * @property {boolean} [showPrevious]
41
- * @property {boolean} [showNext]
42
- * @property {boolean} [showCancel]
43
- * @property {boolean} [showSubmit]
40
+ * @property {boolean} [showPrevious] - Show the previous button in wizard forms.
41
+ * @property {boolean} [showNext] - Show the next button in wizard forms.
42
+ * @property {boolean} [showCancel] - Show the cancel button in wizard forms.
43
+ * @property {boolean} [showSubmit] - Show the submit button in wizard forms.
44
44
  */
45
45
  /**
46
46
  * @typedef {object} FormOptions
@@ -212,15 +212,45 @@ export default class Form extends Element {
212
212
  * - The hooks for this form.
213
213
  */
214
214
  hooks?: {
215
+ /**
216
+ * - Called before a submission is made.
217
+ */
215
218
  beforeSubmit?: Function | undefined;
219
+ /**
220
+ * - Called before a cancel is made.
221
+ */
216
222
  beforeCancel?: Function | undefined;
223
+ /**
224
+ * - Called before the next page is navigated to.
225
+ */
217
226
  beforeNext?: Function | undefined;
227
+ /**
228
+ * - Called before the previous page is navigated to.
229
+ */
218
230
  beforePrev?: Function | undefined;
231
+ /**
232
+ * - Called when a component is attached.
233
+ */
219
234
  attachComponent?: Function | undefined;
235
+ /**
236
+ * - Called when a data value is set.
237
+ */
220
238
  setDataValue?: Function | undefined;
239
+ /**
240
+ * - Called when components are added.
241
+ */
221
242
  addComponents?: Function | undefined;
243
+ /**
244
+ * - Called when a component is added.
245
+ */
222
246
  addComponent?: Function | undefined;
247
+ /**
248
+ * - Called when a custom validation is made.
249
+ */
223
250
  customValidation?: Function | undefined;
251
+ /**
252
+ * - Called when a webform is attached.
253
+ */
224
254
  attachWebform?: Function | undefined;
225
255
  } | undefined;
226
256
  /**
@@ -251,20 +281,50 @@ export default class Form extends Element {
251
281
  * - The sanitize configuration for this form.
252
282
  */
253
283
  sanitizeConfig?: {
284
+ /**
285
+ * - The html attributes to allow with sanitization.
286
+ */
254
287
  addAttr?: string[] | undefined;
288
+ /**
289
+ * - The html tags to allow with sanitization.
290
+ */
255
291
  addTags?: string[] | undefined;
292
+ /**
293
+ * - The html attributes to allow with sanitization.
294
+ */
256
295
  allowedAttrs?: string[] | undefined;
296
+ /**
297
+ * - The html tags to allow with sanitization.
298
+ */
257
299
  allowedTags?: string[] | undefined;
300
+ /**
301
+ * - The regex for allowed URIs.
302
+ */
258
303
  allowedUriRegex?: string[] | undefined;
304
+ /**
305
+ * - The URI attributes to allow with sanitization.
306
+ */
259
307
  addUriSafeAttr?: string[] | undefined;
260
308
  } | undefined;
261
309
  /**
262
310
  * - The button settings for this form.
263
311
  */
264
312
  buttonSettings?: {
313
+ /**
314
+ * - Show the previous button in wizard forms.
315
+ */
265
316
  showPrevious?: boolean | undefined;
317
+ /**
318
+ * - Show the next button in wizard forms.
319
+ */
266
320
  showNext?: boolean | undefined;
321
+ /**
322
+ * - Show the cancel button in wizard forms.
323
+ */
267
324
  showCancel?: boolean | undefined;
325
+ /**
326
+ * - Show the submit button in wizard forms.
327
+ */
268
328
  showSubmit?: boolean | undefined;
269
329
  } | undefined;
270
330
  /**
@@ -300,13 +360,13 @@ export default class Form extends Element {
300
360
  /**
301
361
  * Create a new form instance provided the display of the form.
302
362
  * @param {string} display - The display of the form, either "wizard", "form", or "pdf"
303
- * @returns {*}
363
+ * @returns {Webform|Wizard|PDF} - The new form instance for the display.
304
364
  */
305
- create(display: string): any;
365
+ create(display: string): Webform | Wizard | PDF;
306
366
  /**
307
367
  * Sets the form. Either as JSON or a URL to a form JSON schema.
308
368
  * @param {string|object} formParam - Either the form JSON or the URL of the form json.
309
- * @returns {*}
369
+ * @returns {void}
310
370
  */
311
371
  set form(formParam: object);
312
372
  /**
@@ -332,35 +392,38 @@ export default class Form extends Element {
332
392
  /**
333
393
  * Check Subdirectories path and provide correct options
334
394
  * @param {string} url - The the URL of the form json.
335
- * @param {form} object - The form json.
336
- * @param form
395
+ * @param {import('@formio/core').Form} form - The form json.
337
396
  * @returns {object} The initial options with base and project.
338
397
  */
339
- getFormInitOptions(url: string, form: any): object;
340
- setForm(formParam: any): any;
398
+ getFormInitOptions(url: string, form: import('@formio/core').Form): object;
399
+ /**
400
+ * Sets the form to the JSON schema of a form.
401
+ * @param {import('@formio/core').Form} formParam - The form JSON to set this form to.
402
+ * @returns {Promise<Webform|Wizard|PDF>} - The webform instance that was created.
403
+ */
404
+ setForm(formParam: import('@formio/core').Form): Promise<Webform | Wizard | PDF>;
341
405
  _form: any;
342
406
  getSubmission(formio: any, opts: any): any;
343
407
  /**
344
408
  * Changes the display of the form.
345
409
  * @param {string} display - The display to set this form. Either "wizard", "form", or "pdf"
346
- * @returns {Promise<T>}
410
+ * @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created after changing the display.
347
411
  */
348
- setDisplay(display: string): Promise<T>;
412
+ setDisplay(display: string): Promise<Webform | Wizard | PDF>;
349
413
  empty(): void;
350
414
  /**
351
415
  * Sanitize an html string.
352
- * @param string
353
- * @param dirty
354
- * @param forceSanitize
355
- * @returns {*}
416
+ * @param {string} dirty - The dirty html string to sanitize.
417
+ * @param {boolean} forceSanitize - If the string should be force sanitized.
418
+ * @returns {string} - The sanitized html string.
356
419
  */
357
- sanitize(dirty: any, forceSanitize: any): any;
420
+ sanitize(dirty: string, forceSanitize: boolean): string;
358
421
  setContent(element: any, content: any, forceSanitize: any): boolean;
359
422
  /**
360
423
  * Build a new form.
361
- * @returns {Promise<T>}
424
+ * @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created.
362
425
  */
363
- build(): Promise<T>;
426
+ build(): Promise<Webform | Wizard | PDF>;
364
427
  render(): Promise<any>;
365
428
  attach(element: any): any;
366
429
  }
package/lib/cjs/Form.js CHANGED
@@ -120,7 +120,7 @@ class Form extends Element_1.default {
120
120
  /**
121
121
  * Create a new form instance provided the display of the form.
122
122
  * @param {string} display - The display of the form, either "wizard", "form", or "pdf"
123
- * @returns {*}
123
+ * @returns {Webform|Wizard|PDF} - The new form instance for the display.
124
124
  */
125
125
  create(display) {
126
126
  if (this.options && (this.options.flatten || this.options.renderMode === 'flat')) {
@@ -138,7 +138,7 @@ class Form extends Element_1.default {
138
138
  /**
139
139
  * Sets the form. Either as JSON or a URL to a form JSON schema.
140
140
  * @param {string|object} formParam - Either the form JSON or the URL of the form json.
141
- * @returns {*}
141
+ * @returns {void}
142
142
  */
143
143
  set form(formParam) {
144
144
  this.setForm(formParam);
@@ -167,8 +167,7 @@ class Form extends Element_1.default {
167
167
  /**
168
168
  * Check Subdirectories path and provide correct options
169
169
  * @param {string} url - The the URL of the form json.
170
- * @param {form} object - The form json.
171
- * @param form
170
+ * @param {import('@formio/core').Form} form - The form json.
172
171
  * @returns {object} The initial options with base and project.
173
172
  */
174
173
  getFormInitOptions(url, form) {
@@ -194,6 +193,11 @@ class Form extends Element_1.default {
194
193
  }
195
194
  return {};
196
195
  }
196
+ /**
197
+ * Sets the form to the JSON schema of a form.
198
+ * @param {import('@formio/core').Form} formParam - The form JSON to set this form to.
199
+ * @returns {Promise<Webform|Wizard|PDF>} - The webform instance that was created.
200
+ */
197
201
  setForm(formParam) {
198
202
  let result;
199
203
  formParam = formParam || this.form;
@@ -262,7 +266,7 @@ class Form extends Element_1.default {
262
266
  /**
263
267
  * Changes the display of the form.
264
268
  * @param {string} display - The display to set this form. Either "wizard", "form", or "pdf"
265
- * @returns {Promise<T>}
269
+ * @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created after changing the display.
266
270
  */
267
271
  setDisplay(display) {
268
272
  if ((this.display === display) && this.instance) {
@@ -303,10 +307,9 @@ class Form extends Element_1.default {
303
307
  }
304
308
  /**
305
309
  * Sanitize an html string.
306
- * @param string
307
- * @param dirty
308
- * @param forceSanitize
309
- * @returns {*}
310
+ * @param {string} dirty - The dirty html string to sanitize.
311
+ * @param {boolean} forceSanitize - If the string should be force sanitized.
312
+ * @returns {string} - The sanitized html string.
310
313
  */
311
314
  sanitize(dirty, forceSanitize) {
312
315
  // If Sanitize is turned off
@@ -324,7 +327,7 @@ class Form extends Element_1.default {
324
327
  }
325
328
  /**
326
329
  * Build a new form.
327
- * @returns {Promise<T>}
330
+ * @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created.
328
331
  */
329
332
  build() {
330
333
  if (!this.instance) {
@@ -380,14 +383,16 @@ exports.default = Form;
380
383
  // Allow simple embedding.
381
384
  Formio_1.Formio.embedForm = (embed) => Form.embed(embed);
382
385
  /**
383
- * Factory that creates a new form based on the form parameters.
384
- * @param element {HMTLElement} - The HTML Element to add this form to.
385
- * @param form {string|Object} - The src of the form, or a form object.
386
- * @param options {Object} - The options to create this form.
387
- * @param {...any} args
388
- * @returns {Promise} - When the form is instance is ready.
386
+ * Creates an easy to use interface for embedding webforms, pdfs, and wizards into your application.
387
+ * @param {object} elementOrForm - The DOM element you wish to render this form within, or the form definition.
388
+ * @param {object | string | FormOptions} formOrOptions - A Form JSON schema, the URL of a hosted form, or the form options.
389
+ * @param {FormOptions} [options] - The options to create a new form instance.
390
+ * @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created.
391
+ * @example
392
+ * import { Formio } from '@formio/js';
393
+ * Formio.createForm(document.getElementById('formio'), 'https://examples.form.io/example');
389
394
  */
390
- Formio_1.Formio.createForm = (...args) => {
391
- return (new Form(...args)).ready;
395
+ Formio_1.Formio.createForm = (elementOrForm, formOrOptions, options) => {
396
+ return (new Form(elementOrForm, formOrOptions, options)).ready;
392
397
  };
393
398
  Formio_1.Formio.Form = Form;
package/lib/cjs/PDF.d.ts CHANGED
@@ -11,23 +11,24 @@ export default class PDF extends Webform {
11
11
  iframeElement: any;
12
12
  /**
13
13
  * Get the submission from the iframe.
14
- * @returns {Promise<any>}
14
+ * @returns {Promise<any>} - The submission from the iframe.
15
15
  */
16
16
  getSubmission(): Promise<any>;
17
17
  /**
18
18
  * Ensure we have the submission from the iframe before we submit the form.
19
- * @param options
20
- * @returns {*}
19
+ * @param {any} options - The options for submission.
20
+ * @returns {Promise<any>} - Resolves when the form is submitted.
21
21
  */
22
- submitForm(options?: {}): any;
22
+ submitForm(options?: any): Promise<any>;
23
23
  getSrc(): string;
24
24
  setForm(form: any, flags?: {}): Promise<void>;
25
25
  /**
26
26
  * Set's the value of this form component.
27
- * @param submission
28
- * @param flags
27
+ * @param {import('@formio/core').Submission} submission - The submission JSON to set the value of this form.
28
+ * @param {any} flags - The flags to use when setting the submission.
29
+ * @returns {boolean} - If the value changed or not.
29
30
  */
30
- setValue(submission: any, flags?: {}): boolean;
31
+ setValue(submission: import('@formio/core').Submission, flags?: any): boolean;
31
32
  postMessage(message: any): void;
32
33
  iframeFormSetUp: boolean | undefined;
33
34
  focusOnComponent(key: any): void;
package/lib/cjs/PDF.js CHANGED
@@ -143,7 +143,7 @@ class PDF extends Webform_1.default {
143
143
  }
144
144
  /**
145
145
  * Get the submission from the iframe.
146
- * @returns {Promise<any>}
146
+ * @returns {Promise<any>} - The submission from the iframe.
147
147
  */
148
148
  getSubmission() {
149
149
  return new Promise((resolve) => {
@@ -153,8 +153,8 @@ class PDF extends Webform_1.default {
153
153
  }
154
154
  /**
155
155
  * Ensure we have the submission from the iframe before we submit the form.
156
- * @param options
157
- * @returns {*}
156
+ * @param {any} options - The options for submission.
157
+ * @returns {Promise<any>} - Resolves when the form is submitted.
158
158
  */
159
159
  submitForm(options = {}) {
160
160
  this.postMessage({ name: 'getErrors' });
@@ -196,8 +196,9 @@ class PDF extends Webform_1.default {
196
196
  }
197
197
  /**
198
198
  * Set's the value of this form component.
199
- * @param submission
200
- * @param flags
199
+ * @param {import('@formio/core').Submission} submission - The submission JSON to set the value of this form.
200
+ * @param {any} flags - The flags to use when setting the submission.
201
+ * @returns {boolean} - If the value changed or not.
201
202
  */
202
203
  setValue(submission, flags = {}) {
203
204
  const changed = super.setValue(submission, flags);
@@ -83,9 +83,6 @@
83
83
  * @property {boolean} [building] - If we are in the process of building the form.
84
84
  * @property {number} [zoom] - The zoom for PDF forms.
85
85
  */
86
- /**
87
- * Renders a Form.io form within the webpage.
88
- */
89
86
  declare class Webform extends NestedDataComponent {
90
87
  /**
91
88
  * Creates a new Form instance.
@@ -301,7 +298,7 @@ declare class Webform extends NestedDataComponent {
301
298
  * @param {any} flags - Any flags to apply when setting the form.
302
299
  * @returns {Promise} - The promise that is triggered when the form is set.
303
300
  */
304
- setForm(form: object, flags: any): Promise<any>;
301
+ setForm(form: object, flags?: any): Promise<any>;
305
302
  initialized: boolean | undefined;
306
303
  /**
307
304
  * Sets the form value.
@@ -134,23 +134,20 @@ function getOptions(options) {
134
134
  * @property {boolean} [building] - If we are in the process of building the form.
135
135
  * @property {number} [zoom] - The zoom for PDF forms.
136
136
  */
137
- /**
138
- * Renders a Form.io form within the webpage.
139
- */
140
137
  class Webform extends NestedDataComponent_1.default {
141
138
  /**
142
139
  * Creates a new Form instance.
143
140
  * @param {HTMLElement | object | import('Form').FormOptions} [elementOrOptions] - The DOM element to render this form within or the options to create this form instance.
144
141
  * @param {import('Form').FormOptions} [options] - The options to create a new form instance.
145
142
  */
146
- constructor(elementOrOptions, options) {
143
+ constructor(elementOrOptions, options = undefined) {
147
144
  let element, formOptions;
148
145
  if (elementOrOptions instanceof HTMLElement || options) {
149
146
  element = elementOrOptions;
150
- formOptions = options;
147
+ formOptions = options || {};
151
148
  }
152
149
  else {
153
- formOptions = elementOrOptions;
150
+ formOptions = elementOrOptions || {};
154
151
  }
155
152
  super(null, getOptions(formOptions));
156
153
  this.executeShortcuts = (event) => {
@@ -196,7 +193,7 @@ class Webform extends NestedDataComponent_1.default {
196
193
  this._loading = false;
197
194
  this._form = {};
198
195
  this.draftEnabled = false;
199
- this.savingDraft = true;
196
+ this.savingDraft = false;
200
197
  if (this.options.saveDraftThrottle) {
201
198
  this.triggerSaveDraft = lodash_1.default.throttle(this.saveDraft.bind(this), this.options.saveDraftThrottle);
202
199
  }
@@ -293,14 +290,20 @@ class Webform extends NestedDataComponent_1.default {
293
290
  // Set language after everything is established.
294
291
  this.language = this.i18next.language;
295
292
  // See if we need to restore the draft from a user.
296
- if (this.options.saveDraft && !this.options.skipDraftRestore) {
297
- this.formReady.then(() => {
298
- const user = Formio_1.Formio.getUser();
299
- // Only restore a draft if the submission isn't explicitly set.
300
- if (user && !this.submissionSet) {
301
- this.restoreDraft(user._id);
302
- }
303
- });
293
+ if (this.options.saveDraft) {
294
+ if (this.options.skipDraftRestore) {
295
+ this.draftEnabled = true;
296
+ this.savingDraft = false;
297
+ }
298
+ else {
299
+ this.formReady.then(() => {
300
+ const user = Formio_1.Formio.getUser();
301
+ // Only restore a draft if the submission isn't explicitly set.
302
+ if (user && !this.submissionSet) {
303
+ this.restoreDraft(user._id);
304
+ }
305
+ });
306
+ }
304
307
  }
305
308
  this.component.clearOnHide = false;
306
309
  // Ensure the root is set to this component.
@@ -577,7 +580,7 @@ class Webform extends NestedDataComponent_1.default {
577
580
  * @param {any} flags - Any flags to apply when setting the form.
578
581
  * @returns {Promise} - The promise that is triggered when the form is set.
579
582
  */
580
- setForm(form, flags) {
583
+ setForm(form, flags = {}) {
581
584
  var _a, _b, _c;
582
585
  const isFormAlreadySet = this._form && ((_a = this._form.components) === null || _a === void 0 ? void 0 : _a.length);
583
586
  try {
@@ -56,9 +56,10 @@ export default class WebformBuilder extends Component {
56
56
  /**
57
57
  * When a component sets its api key, we need to check if it is unique within its namespace. Find the namespace root
58
58
  * so we can calculate this correctly.
59
- * @param component
59
+ * @param {import('@formio/core').Component} component - The component to find the namespace root for.
60
+ * @returns {import('@formio/core').Component[]} - The components root for this namespace.
60
61
  */
61
- findNamespaceRoot(component: any): any;
62
+ findNamespaceRoot(component: import('@formio/core').Component): import('@formio/core').Component[];
62
63
  recurseNamespace(component: any): any;
63
64
  render(): any;
64
65
  attach(element: any): Promise<any>;
@@ -80,13 +81,13 @@ export default class WebformBuilder extends Component {
80
81
  highlightInvalidComponents(): void;
81
82
  /**
82
83
  * Called when a new component is saved.
83
- * @param parent
84
- * @param component
85
- * @param isNew
86
- * @param original
87
- * @returns {boolean}
84
+ * @param {Component} component - The component instance to save.
85
+ * @param {Component} parent - The parent component.
86
+ * @param {boolean} isNew - If this is a new component.
87
+ * @param {Component} original - The original component.
88
+ * @returns {boolean} - If the component was saved.
88
89
  */
89
- saveComponent(component: any, parent: any, isNew: any, original: any): boolean;
90
+ saveComponent(component: Component, parent: Component, isNew: boolean, original: Component): boolean;
90
91
  isComponentCreated: boolean | undefined;
91
92
  emitSaveComponentEvent(schema: any, originalComp: any, parentComponentSchema: any, path: any, index: any, isNew: any, originalComponentSchema: any): void;
92
93
  attachEditComponentControls(component: any, parent: any, isNew: any, original: any, ComponentClass: any): void;
@@ -106,16 +107,16 @@ export default class WebformBuilder extends Component {
106
107
  addNewComponent(element: any): void;
107
108
  /**
108
109
  * Creates copy of component schema and stores it under sessionStorage.
109
- * @param {Component} component
110
- * @returns {*}
110
+ * @param {Component} component - The component to copy.
111
+ * @returns {void}
111
112
  */
112
- copyComponent(component: Component): any;
113
+ copyComponent(component: Component): void;
113
114
  /**
114
115
  * Paste copied component after the current component.
115
- * @param {Component} component
116
- * @returns {*}
116
+ * @param {Component} component - The component to paste after.
117
+ * @returns {void}
117
118
  */
118
- pasteComponent(component: Component): any;
119
+ pasteComponent(component: Component): void;
119
120
  isParentSaveChildMethod(parentComp: any): boolean;
120
121
  getParentElement(element: any): any;
121
122
  addBuilderComponentInfo(component: any): any;
@@ -428,7 +428,8 @@ class WebformBuilder extends Component_1.default {
428
428
  /**
429
429
  * When a component sets its api key, we need to check if it is unique within its namespace. Find the namespace root
430
430
  * so we can calculate this correctly.
431
- * @param component
431
+ * @param {import('@formio/core').Component} component - The component to find the namespace root for.
432
+ * @returns {import('@formio/core').Component[]} - The components root for this namespace.
432
433
  */
433
434
  findNamespaceRoot(component) {
434
435
  const path = (0, utils_1.getArrayFromComponentPath)(component.path);
@@ -1133,11 +1134,11 @@ class WebformBuilder extends Component_1.default {
1133
1134
  }
1134
1135
  /**
1135
1136
  * Called when a new component is saved.
1136
- * @param parent
1137
- * @param component
1138
- * @param isNew
1139
- * @param original
1140
- * @returns {boolean}
1137
+ * @param {Component} component - The component instance to save.
1138
+ * @param {Component} parent - The parent component.
1139
+ * @param {boolean} isNew - If this is a new component.
1140
+ * @param {Component} original - The original component.
1141
+ * @returns {boolean} - If the component was saved.
1141
1142
  */
1142
1143
  saveComponent(component, parent, isNew, original) {
1143
1144
  this.editForm.detach();
@@ -1504,8 +1505,8 @@ class WebformBuilder extends Component_1.default {
1504
1505
  }
1505
1506
  /**
1506
1507
  * Creates copy of component schema and stores it under sessionStorage.
1507
- * @param {Component} component
1508
- * @returns {*}
1508
+ * @param {Component} component - The component to copy.
1509
+ * @returns {void}
1509
1510
  */
1510
1511
  copyComponent(component) {
1511
1512
  if (!window.sessionStorage) {
@@ -1516,8 +1517,8 @@ class WebformBuilder extends Component_1.default {
1516
1517
  }
1517
1518
  /**
1518
1519
  * Paste copied component after the current component.
1519
- * @param {Component} component
1520
- * @returns {*}
1520
+ * @param {Component} component - The component to paste after.
1521
+ * @returns {void}
1521
1522
  */
1522
1523
  pasteComponent(component) {
1523
1524
  if (!window.sessionStorage) {