@formio/js 5.0.0-rc.27 → 5.0.0-rc.29

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 (376) hide show
  1. package/dist/fonts/bootstrap-icons.woff +0 -0
  2. package/dist/fonts/bootstrap-icons.woff2 +0 -0
  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.js +957 -2270
  7. package/dist/formio.form.min.js +1 -1
  8. package/dist/formio.form.min.js.LICENSE.txt +4 -2
  9. package/dist/formio.full.css +100 -3
  10. package/dist/formio.full.js +961 -2231
  11. package/dist/formio.full.min.css +2 -2
  12. package/dist/formio.full.min.js +1 -1
  13. package/dist/formio.full.min.js.LICENSE.txt +4 -2
  14. package/dist/formio.js +101 -1966
  15. package/dist/formio.min.js +1 -1
  16. package/dist/formio.min.js.LICENSE.txt +1 -3
  17. package/dist/formio.utils.js +145 -104
  18. package/dist/formio.utils.min.js +1 -1
  19. package/dist/formio.utils.min.js.LICENSE.txt +4 -2
  20. package/lib/cjs/CDN.d.ts +1 -1
  21. package/lib/cjs/CDN.js +2 -2
  22. package/lib/cjs/Embed.d.ts +16 -7
  23. package/lib/cjs/Embed.js +76 -24
  24. package/lib/cjs/Formio.d.ts +0 -1
  25. package/lib/cjs/Formio.js +27 -19
  26. package/lib/cjs/PDF.js +2 -2
  27. package/lib/cjs/Webform.d.ts +6 -9
  28. package/lib/cjs/Webform.js +59 -81
  29. package/lib/cjs/WebformBuilder.d.ts +1 -1
  30. package/lib/cjs/WebformBuilder.js +33 -16
  31. package/lib/cjs/Wizard.d.ts +5 -4
  32. package/lib/cjs/Wizard.js +37 -26
  33. package/lib/cjs/WizardBuilder.d.ts +1 -0
  34. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +1 -2
  35. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +11 -12
  36. package/lib/cjs/addons/index.d.ts +1 -0
  37. package/lib/cjs/addons/index.js +5 -1
  38. package/lib/cjs/components/Components.d.ts +7 -0
  39. package/lib/cjs/components/Components.js +30 -0
  40. package/lib/cjs/components/_classes/component/Component.d.ts +57 -27
  41. package/lib/cjs/components/_classes/component/Component.js +193 -119
  42. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.d.ts +8 -0
  43. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +31 -1
  44. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +28 -11
  45. package/lib/cjs/components/_classes/nested/NestedComponent.js +88 -57
  46. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +4 -3
  47. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +17 -4
  48. package/lib/cjs/components/builder.js +0 -2
  49. package/lib/cjs/components/button/Button.js +2 -1
  50. package/lib/cjs/components/columns/Columns.d.ts +1 -0
  51. package/lib/cjs/components/columns/Columns.js +2 -3
  52. package/lib/cjs/components/columns/editForm/Columns.edit.display.d.ts +30 -1
  53. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +23 -1
  54. package/lib/cjs/components/container/Container.d.ts +1 -0
  55. package/lib/cjs/components/container/Container.js +2 -6
  56. package/lib/cjs/components/content/Content.d.ts +1 -0
  57. package/lib/cjs/components/content/Content.js +1 -0
  58. package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -8
  59. package/lib/cjs/components/datagrid/DataGrid.js +9 -26
  60. package/lib/cjs/components/datamap/DataMap.js +2 -1
  61. package/lib/cjs/components/datetime/DateTime.js +0 -2
  62. package/lib/cjs/components/day/Day.js +2 -3
  63. package/lib/cjs/components/editgrid/EditGrid.d.ts +8 -4
  64. package/lib/cjs/components/editgrid/EditGrid.js +96 -73
  65. package/lib/cjs/components/email/Email.js +0 -1
  66. package/lib/cjs/components/file/File.js +1 -1
  67. package/lib/cjs/components/file/fixtures/comp3.d.ts +29 -0
  68. package/lib/cjs/components/file/fixtures/comp3.js +31 -0
  69. package/lib/cjs/components/form/Form.d.ts +2 -6
  70. package/lib/cjs/components/form/Form.js +43 -14
  71. package/lib/cjs/components/index.d.ts +0 -2
  72. package/lib/cjs/components/index.js +0 -2
  73. package/lib/cjs/components/number/Number.d.ts +1 -2
  74. package/lib/cjs/components/number/Number.js +5 -6
  75. package/lib/cjs/components/panel/Panel.d.ts +0 -1
  76. package/lib/cjs/components/panel/Panel.js +2 -9
  77. package/lib/cjs/components/panel/editForm/Panel.edit.display.d.ts +6 -38
  78. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +3 -16
  79. package/lib/cjs/components/phonenumber/PhoneNumber.js +17 -0
  80. package/lib/cjs/components/radio/Radio.js +0 -2
  81. package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +1 -1
  82. package/lib/cjs/components/recaptcha/ReCaptcha.js +2 -2
  83. package/lib/cjs/components/select/Select.js +3 -2
  84. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +1 -2
  85. package/lib/cjs/components/selectboxes/SelectBoxes.js +7 -6
  86. package/lib/cjs/components/table/editForm/Table.edit.display.d.ts +31 -2
  87. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -0
  88. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.d.ts +30 -2
  89. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +22 -0
  90. package/lib/cjs/components/textfield/TextField.js +20 -6
  91. package/lib/cjs/components/time/Time.js +0 -6
  92. package/lib/cjs/components/url/Url.js +0 -1
  93. package/lib/cjs/components/well/editForm/Well.edit.display.d.ts +25 -2
  94. package/lib/cjs/components/well/editForm/Well.edit.display.js +18 -0
  95. package/lib/cjs/formio.embed.js +5 -3
  96. package/lib/cjs/formio.form.d.ts +1 -7
  97. package/lib/cjs/formio.form.js +3 -38
  98. package/lib/cjs/index.d.ts +2 -1
  99. package/lib/cjs/index.js +3 -1
  100. package/lib/cjs/providers/Providers.d.ts +0 -4
  101. package/lib/cjs/providers/storage/azure.d.ts +0 -2
  102. package/lib/cjs/providers/storage/azure.js +1 -6
  103. package/lib/cjs/providers/storage/googleDrive.d.ts +0 -1
  104. package/lib/cjs/providers/storage/googleDrive.js +0 -4
  105. package/lib/cjs/providers/storage/s3.d.ts +0 -1
  106. package/lib/cjs/providers/storage/s3.js +0 -4
  107. package/lib/cjs/templates/Templates.d.ts +1 -11
  108. package/lib/cjs/templates/Templates.js +4 -41
  109. package/lib/cjs/translations/en.d.ts +5 -0
  110. package/lib/cjs/translations/en.js +5 -0
  111. package/lib/cjs/utils/formUtils.js +1 -0
  112. package/lib/cjs/utils/index.d.ts +1 -0
  113. package/lib/cjs/utils/index.js +2 -0
  114. package/lib/cjs/utils/utils.d.ts +2 -1
  115. package/lib/cjs/utils/utils.js +27 -9
  116. package/lib/mjs/CDN.d.ts +1 -1
  117. package/lib/mjs/CDN.js +2 -2
  118. package/lib/mjs/Embed.d.ts +16 -7
  119. package/lib/mjs/Embed.js +75 -18
  120. package/lib/mjs/Formio.d.ts +0 -1
  121. package/lib/mjs/Formio.js +11 -3
  122. package/lib/mjs/PDF.js +2 -2
  123. package/lib/mjs/Webform.d.ts +6 -9
  124. package/lib/mjs/Webform.js +58 -82
  125. package/lib/mjs/WebformBuilder.d.ts +1 -1
  126. package/lib/mjs/WebformBuilder.js +31 -10
  127. package/lib/mjs/Wizard.d.ts +5 -4
  128. package/lib/mjs/Wizard.js +36 -27
  129. package/lib/mjs/WizardBuilder.d.ts +1 -0
  130. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +1 -2
  131. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +11 -12
  132. package/lib/mjs/addons/index.d.ts +1 -0
  133. package/lib/mjs/addons/index.js +5 -1
  134. package/lib/mjs/components/Components.d.ts +7 -0
  135. package/lib/mjs/components/Components.js +29 -0
  136. package/lib/mjs/components/_classes/component/Component.d.ts +57 -27
  137. package/lib/mjs/components/_classes/component/Component.js +191 -118
  138. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.d.ts +8 -0
  139. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +31 -1
  140. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +28 -11
  141. package/lib/mjs/components/_classes/nested/NestedComponent.js +88 -57
  142. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +4 -3
  143. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +18 -5
  144. package/lib/mjs/components/builder.js +0 -2
  145. package/lib/mjs/components/button/Button.js +2 -1
  146. package/lib/mjs/components/columns/Columns.d.ts +1 -0
  147. package/lib/mjs/components/columns/Columns.js +2 -3
  148. package/lib/mjs/components/columns/editForm/Columns.edit.display.d.ts +30 -1
  149. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +23 -1
  150. package/lib/mjs/components/container/Container.d.ts +1 -0
  151. package/lib/mjs/components/container/Container.js +2 -6
  152. package/lib/mjs/components/content/Content.d.ts +1 -0
  153. package/lib/mjs/components/content/Content.js +1 -0
  154. package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -8
  155. package/lib/mjs/components/datagrid/DataGrid.js +9 -26
  156. package/lib/mjs/components/datamap/DataMap.js +2 -1
  157. package/lib/mjs/components/datetime/DateTime.js +0 -2
  158. package/lib/mjs/components/day/Day.js +2 -3
  159. package/lib/mjs/components/editgrid/EditGrid.d.ts +8 -4
  160. package/lib/mjs/components/editgrid/EditGrid.js +97 -76
  161. package/lib/mjs/components/email/Email.js +0 -1
  162. package/lib/mjs/components/file/File.js +1 -1
  163. package/lib/mjs/components/file/fixtures/comp3.d.ts +29 -0
  164. package/lib/mjs/components/file/fixtures/comp3.js +29 -0
  165. package/lib/mjs/components/form/Form.d.ts +2 -6
  166. package/lib/mjs/components/form/Form.js +45 -14
  167. package/lib/mjs/components/index.d.ts +0 -2
  168. package/lib/mjs/components/index.js +0 -2
  169. package/lib/mjs/components/number/Number.d.ts +1 -2
  170. package/lib/mjs/components/number/Number.js +4 -5
  171. package/lib/mjs/components/panel/Panel.d.ts +0 -1
  172. package/lib/mjs/components/panel/Panel.js +3 -9
  173. package/lib/mjs/components/panel/editForm/Panel.edit.display.d.ts +6 -38
  174. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +3 -16
  175. package/lib/mjs/components/phonenumber/PhoneNumber.js +17 -0
  176. package/lib/mjs/components/radio/Radio.js +0 -2
  177. package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +1 -1
  178. package/lib/mjs/components/recaptcha/ReCaptcha.js +2 -2
  179. package/lib/mjs/components/select/Select.js +3 -2
  180. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +1 -2
  181. package/lib/mjs/components/selectboxes/SelectBoxes.js +7 -6
  182. package/lib/mjs/components/table/editForm/Table.edit.display.d.ts +31 -2
  183. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -0
  184. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.d.ts +30 -2
  185. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +22 -0
  186. package/lib/mjs/components/textfield/TextField.js +20 -6
  187. package/lib/mjs/components/time/Time.js +0 -6
  188. package/lib/mjs/components/url/Url.js +0 -1
  189. package/lib/mjs/components/well/editForm/Well.edit.display.d.ts +25 -2
  190. package/lib/mjs/components/well/editForm/Well.edit.display.js +18 -0
  191. package/lib/mjs/formio.embed.js +5 -3
  192. package/lib/mjs/formio.form.d.ts +1 -7
  193. package/lib/mjs/formio.form.js +3 -32
  194. package/lib/mjs/index.d.ts +2 -1
  195. package/lib/mjs/index.js +2 -1
  196. package/lib/mjs/providers/Providers.d.ts +0 -4
  197. package/lib/mjs/providers/storage/azure.d.ts +0 -2
  198. package/lib/mjs/providers/storage/azure.js +1 -6
  199. package/lib/mjs/providers/storage/googleDrive.d.ts +0 -1
  200. package/lib/mjs/providers/storage/googleDrive.js +0 -4
  201. package/lib/mjs/providers/storage/s3.d.ts +0 -1
  202. package/lib/mjs/providers/storage/s3.js +0 -4
  203. package/lib/mjs/templates/Templates.d.ts +1 -11
  204. package/lib/mjs/templates/Templates.js +4 -40
  205. package/lib/mjs/translations/en.d.ts +5 -0
  206. package/lib/mjs/translations/en.js +5 -0
  207. package/lib/mjs/utils/formUtils.js +1 -0
  208. package/lib/mjs/utils/index.d.ts +1 -0
  209. package/lib/mjs/utils/index.js +1 -0
  210. package/lib/mjs/utils/utils.d.ts +2 -1
  211. package/lib/mjs/utils/utils.js +24 -7
  212. package/package.json +13 -13
  213. package/lib/cjs/components/tree/Node.d.ts +0 -55
  214. package/lib/cjs/components/tree/Node.js +0 -185
  215. package/lib/cjs/components/tree/Tree.d.ts +0 -48
  216. package/lib/cjs/components/tree/Tree.form.d.ts +0 -3
  217. package/lib/cjs/components/tree/Tree.form.js +0 -21
  218. package/lib/cjs/components/tree/Tree.js +0 -383
  219. package/lib/cjs/components/tree/editForm/Tree.edit.data.d.ts +0 -5
  220. package/lib/cjs/components/tree/editForm/Tree.edit.data.js +0 -9
  221. package/lib/cjs/components/tree/editForm/Tree.edit.display.d.ts +0 -9
  222. package/lib/cjs/components/tree/editForm/Tree.edit.display.js +0 -12
  223. package/lib/cjs/components/tree/fixtures/comp1.d.ts +0 -23
  224. package/lib/cjs/components/tree/fixtures/comp1.js +0 -24
  225. package/lib/cjs/components/tree/fixtures/comp2.d.ts +0 -116
  226. package/lib/cjs/components/tree/fixtures/comp2.js +0 -82
  227. package/lib/cjs/components/tree/fixtures/comp3.d.ts +0 -24
  228. package/lib/cjs/components/tree/fixtures/comp3.js +0 -25
  229. package/lib/cjs/components/tree/fixtures/comp4.d.ts +0 -42
  230. package/lib/cjs/components/tree/fixtures/comp4.js +0 -47
  231. package/lib/cjs/components/tree/fixtures/index.d.ts +0 -5
  232. package/lib/cjs/components/tree/fixtures/index.js +0 -14
  233. package/lib/cjs/validator/Rules.d.ts +0 -53
  234. package/lib/cjs/validator/Rules.js +0 -22
  235. package/lib/cjs/validator/Validator.d.ts +0 -228
  236. package/lib/cjs/validator/Validator.js +0 -1113
  237. package/lib/cjs/validator/conjunctions/index.d.ts +0 -7
  238. package/lib/cjs/validator/conjunctions/index.js +0 -18
  239. package/lib/cjs/validator/operators/index.d.ts +0 -7
  240. package/lib/cjs/validator/operators/index.js +0 -18
  241. package/lib/cjs/validator/quickRules/index.d.ts +0 -7
  242. package/lib/cjs/validator/quickRules/index.js +0 -18
  243. package/lib/cjs/validator/rules/Custom.d.ts +0 -5
  244. package/lib/cjs/validator/rules/Custom.js +0 -30
  245. package/lib/cjs/validator/rules/Date.d.ts +0 -5
  246. package/lib/cjs/validator/rules/Date.js +0 -25
  247. package/lib/cjs/validator/rules/Day.d.ts +0 -5
  248. package/lib/cjs/validator/rules/Day.js +0 -58
  249. package/lib/cjs/validator/rules/Email.d.ts +0 -5
  250. package/lib/cjs/validator/rules/Email.js +0 -24
  251. package/lib/cjs/validator/rules/JSON.d.ts +0 -5
  252. package/lib/cjs/validator/rules/JSON.js +0 -29
  253. package/lib/cjs/validator/rules/Mask.d.ts +0 -5
  254. package/lib/cjs/validator/rules/Mask.js +0 -32
  255. package/lib/cjs/validator/rules/Max.d.ts +0 -5
  256. package/lib/cjs/validator/rules/Max.js +0 -21
  257. package/lib/cjs/validator/rules/MaxDate.d.ts +0 -5
  258. package/lib/cjs/validator/rules/MaxDate.js +0 -34
  259. package/lib/cjs/validator/rules/MaxLength.d.ts +0 -5
  260. package/lib/cjs/validator/rules/MaxLength.js +0 -20
  261. package/lib/cjs/validator/rules/MaxWords.d.ts +0 -5
  262. package/lib/cjs/validator/rules/MaxWords.js +0 -20
  263. package/lib/cjs/validator/rules/MaxYear.d.ts +0 -5
  264. package/lib/cjs/validator/rules/MaxYear.js +0 -22
  265. package/lib/cjs/validator/rules/Min.d.ts +0 -5
  266. package/lib/cjs/validator/rules/Min.js +0 -21
  267. package/lib/cjs/validator/rules/MinDate.d.ts +0 -5
  268. package/lib/cjs/validator/rules/MinDate.js +0 -30
  269. package/lib/cjs/validator/rules/MinLength.d.ts +0 -5
  270. package/lib/cjs/validator/rules/MinLength.js +0 -20
  271. package/lib/cjs/validator/rules/MinWords.d.ts +0 -5
  272. package/lib/cjs/validator/rules/MinWords.js +0 -20
  273. package/lib/cjs/validator/rules/MinYear.d.ts +0 -5
  274. package/lib/cjs/validator/rules/MinYear.js +0 -22
  275. package/lib/cjs/validator/rules/Pattern.d.ts +0 -5
  276. package/lib/cjs/validator/rules/Pattern.js +0 -20
  277. package/lib/cjs/validator/rules/Required.d.ts +0 -5
  278. package/lib/cjs/validator/rules/Required.js +0 -17
  279. package/lib/cjs/validator/rules/Rule.d.ts +0 -7
  280. package/lib/cjs/validator/rules/Rule.js +0 -12
  281. package/lib/cjs/validator/rules/Select.d.ts +0 -5
  282. package/lib/cjs/validator/rules/Select.js +0 -95
  283. package/lib/cjs/validator/rules/Time.d.ts +0 -5
  284. package/lib/cjs/validator/rules/Time.js +0 -19
  285. package/lib/cjs/validator/rules/Unique.d.ts +0 -5
  286. package/lib/cjs/validator/rules/Unique.js +0 -69
  287. package/lib/cjs/validator/rules/Url.d.ts +0 -5
  288. package/lib/cjs/validator/rules/Url.js +0 -23
  289. package/lib/cjs/validator/rules/index.d.ts +0 -47
  290. package/lib/cjs/validator/rules/index.js +0 -51
  291. package/lib/cjs/validator/transformers/index.d.ts +0 -7
  292. package/lib/cjs/validator/transformers/index.js +0 -18
  293. package/lib/cjs/validator/valueSources/index.d.ts +0 -7
  294. package/lib/cjs/validator/valueSources/index.js +0 -18
  295. package/lib/mjs/components/tree/Node.d.ts +0 -55
  296. package/lib/mjs/components/tree/Node.js +0 -179
  297. package/lib/mjs/components/tree/Tree.d.ts +0 -48
  298. package/lib/mjs/components/tree/Tree.form.d.ts +0 -3
  299. package/lib/mjs/components/tree/Tree.form.js +0 -15
  300. package/lib/mjs/components/tree/Tree.js +0 -384
  301. package/lib/mjs/components/tree/editForm/Tree.edit.data.d.ts +0 -5
  302. package/lib/mjs/components/tree/editForm/Tree.edit.data.js +0 -7
  303. package/lib/mjs/components/tree/editForm/Tree.edit.display.d.ts +0 -9
  304. package/lib/mjs/components/tree/editForm/Tree.edit.display.js +0 -10
  305. package/lib/mjs/components/tree/fixtures/comp1.d.ts +0 -23
  306. package/lib/mjs/components/tree/fixtures/comp1.js +0 -22
  307. package/lib/mjs/components/tree/fixtures/comp2.d.ts +0 -116
  308. package/lib/mjs/components/tree/fixtures/comp2.js +0 -80
  309. package/lib/mjs/components/tree/fixtures/comp3.d.ts +0 -24
  310. package/lib/mjs/components/tree/fixtures/comp3.js +0 -23
  311. package/lib/mjs/components/tree/fixtures/comp4.d.ts +0 -42
  312. package/lib/mjs/components/tree/fixtures/comp4.js +0 -45
  313. package/lib/mjs/components/tree/fixtures/index.d.ts +0 -5
  314. package/lib/mjs/components/tree/fixtures/index.js +0 -5
  315. package/lib/mjs/validator/Rules.d.ts +0 -53
  316. package/lib/mjs/validator/Rules.js +0 -17
  317. package/lib/mjs/validator/Validator.d.ts +0 -228
  318. package/lib/mjs/validator/Validator.js +0 -1103
  319. package/lib/mjs/validator/conjunctions/index.d.ts +0 -7
  320. package/lib/mjs/validator/conjunctions/index.js +0 -16
  321. package/lib/mjs/validator/operators/index.d.ts +0 -7
  322. package/lib/mjs/validator/operators/index.js +0 -16
  323. package/lib/mjs/validator/quickRules/index.d.ts +0 -7
  324. package/lib/mjs/validator/quickRules/index.js +0 -16
  325. package/lib/mjs/validator/rules/Custom.d.ts +0 -5
  326. package/lib/mjs/validator/rules/Custom.js +0 -21
  327. package/lib/mjs/validator/rules/Date.d.ts +0 -5
  328. package/lib/mjs/validator/rules/Date.js +0 -16
  329. package/lib/mjs/validator/rules/Day.d.ts +0 -5
  330. package/lib/mjs/validator/rules/Day.js +0 -49
  331. package/lib/mjs/validator/rules/Email.d.ts +0 -5
  332. package/lib/mjs/validator/rules/Email.js +0 -15
  333. package/lib/mjs/validator/rules/JSON.d.ts +0 -5
  334. package/lib/mjs/validator/rules/JSON.js +0 -20
  335. package/lib/mjs/validator/rules/Mask.d.ts +0 -5
  336. package/lib/mjs/validator/rules/Mask.js +0 -23
  337. package/lib/mjs/validator/rules/Max.d.ts +0 -5
  338. package/lib/mjs/validator/rules/Max.js +0 -12
  339. package/lib/mjs/validator/rules/MaxDate.d.ts +0 -5
  340. package/lib/mjs/validator/rules/MaxDate.js +0 -25
  341. package/lib/mjs/validator/rules/MaxLength.d.ts +0 -5
  342. package/lib/mjs/validator/rules/MaxLength.js +0 -11
  343. package/lib/mjs/validator/rules/MaxWords.d.ts +0 -5
  344. package/lib/mjs/validator/rules/MaxWords.js +0 -11
  345. package/lib/mjs/validator/rules/MaxYear.d.ts +0 -5
  346. package/lib/mjs/validator/rules/MaxYear.js +0 -13
  347. package/lib/mjs/validator/rules/Min.d.ts +0 -5
  348. package/lib/mjs/validator/rules/Min.js +0 -12
  349. package/lib/mjs/validator/rules/MinDate.d.ts +0 -5
  350. package/lib/mjs/validator/rules/MinDate.js +0 -21
  351. package/lib/mjs/validator/rules/MinLength.d.ts +0 -5
  352. package/lib/mjs/validator/rules/MinLength.js +0 -11
  353. package/lib/mjs/validator/rules/MinWords.d.ts +0 -5
  354. package/lib/mjs/validator/rules/MinWords.js +0 -11
  355. package/lib/mjs/validator/rules/MinYear.d.ts +0 -5
  356. package/lib/mjs/validator/rules/MinYear.js +0 -13
  357. package/lib/mjs/validator/rules/Pattern.d.ts +0 -5
  358. package/lib/mjs/validator/rules/Pattern.js +0 -11
  359. package/lib/mjs/validator/rules/Required.d.ts +0 -5
  360. package/lib/mjs/validator/rules/Required.js +0 -8
  361. package/lib/mjs/validator/rules/Rule.d.ts +0 -7
  362. package/lib/mjs/validator/rules/Rule.js +0 -9
  363. package/lib/mjs/validator/rules/Select.d.ts +0 -5
  364. package/lib/mjs/validator/rules/Select.js +0 -86
  365. package/lib/mjs/validator/rules/Time.d.ts +0 -5
  366. package/lib/mjs/validator/rules/Time.js +0 -10
  367. package/lib/mjs/validator/rules/Unique.d.ts +0 -5
  368. package/lib/mjs/validator/rules/Unique.js +0 -60
  369. package/lib/mjs/validator/rules/Url.d.ts +0 -5
  370. package/lib/mjs/validator/rules/Url.js +0 -14
  371. package/lib/mjs/validator/rules/index.d.ts +0 -47
  372. package/lib/mjs/validator/rules/index.js +0 -46
  373. package/lib/mjs/validator/transformers/index.d.ts +0 -7
  374. package/lib/mjs/validator/transformers/index.js +0 -16
  375. package/lib/mjs/validator/valueSources/index.d.ts +0 -7
  376. package/lib/mjs/validator/valueSources/index.js +0 -16
@@ -14,7 +14,7 @@ import './components/builder';
14
14
  if (typeof window !== 'undefined' && typeof window.global === 'undefined') {
15
15
  window.global = window;
16
16
  }
17
- import dragula from 'dragula/dist/dragula.min.js';
17
+ import dragula from 'dragula';
18
18
  export default class WebformBuilder extends Component {
19
19
  // eslint-disable-next-line max-statements
20
20
  constructor() {
@@ -347,7 +347,7 @@ export default class WebformBuilder extends Component {
347
347
  }
348
348
  if (component.refs.removeComponent) {
349
349
  this.attachTooltip(component.refs.removeComponent, this.t('Remove'));
350
- component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component));
350
+ component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component, component));
351
351
  }
352
352
  return element;
353
353
  }
@@ -721,6 +721,10 @@ export default class WebformBuilder extends Component {
721
721
  }
722
722
  }
723
723
  if (info) {
724
+ //if this is a custom component that was already assigned a key, don't stomp on it
725
+ if (!Components.components.hasOwnProperty(info.type) && info.key) {
726
+ return info;
727
+ }
724
728
  info.key = this.generateKey(info);
725
729
  }
726
730
  return info;
@@ -924,7 +928,7 @@ export default class WebformBuilder extends Component {
924
928
  }
925
929
  }
926
930
  }
927
- removeComponent(component, parent, original) {
931
+ removeComponent(component, parent, original, componentInstance) {
928
932
  if (!parent) {
929
933
  return;
930
934
  }
@@ -950,6 +954,9 @@ export default class WebformBuilder extends Component {
950
954
  else if (parent.formioComponent && parent.formioComponent.removeChildComponent) {
951
955
  parent.formioComponent.removeChildComponent(component);
952
956
  }
957
+ if (component.input && componentInstance && componentInstance.parent) {
958
+ _.unset(componentInstance._data, componentInstance.key);
959
+ }
953
960
  const rebuild = parent.formioComponent.rebuild() || Promise.resolve();
954
961
  rebuild.then(() => {
955
962
  this.emit('removeComponent', component, parent.formioComponent.schema, path, index);
@@ -1079,11 +1086,12 @@ export default class WebformBuilder extends Component {
1079
1086
  let hasInvalidComponents = false;
1080
1087
  this.webform.everyComponent((comp) => {
1081
1088
  const path = comp.path;
1089
+ const errors = comp.visibleErrors || [];
1082
1090
  if (repeatablePaths.includes(path)) {
1083
1091
  comp.setCustomValidity(`API Key is not unique: ${comp.key}`);
1084
1092
  hasInvalidComponents = true;
1085
1093
  }
1086
- else if (comp.error?.message?.startsWith('API Key is not unique')) {
1094
+ else if (errors.length && errors[0].message?.startsWith('API Key is not unique')) {
1087
1095
  comp.setCustomValidity('');
1088
1096
  }
1089
1097
  });
@@ -1118,8 +1126,8 @@ export default class WebformBuilder extends Component {
1118
1126
  comp = component;
1119
1127
  }
1120
1128
  });
1121
- const originalComp = comp.component;
1122
- const originalComponentSchema = comp.schema;
1129
+ const originalComp = comp?.component;
1130
+ const originalComponentSchema = comp?.schema;
1123
1131
  const isParentSaveChildMethod = this.isParentSaveChildMethod(parent.formioComponent);
1124
1132
  if (parentContainer && !isParentSaveChildMethod) {
1125
1133
  parentContainer[index] = submissionData;
@@ -1176,9 +1184,12 @@ export default class WebformBuilder extends Component {
1176
1184
  saveButtons.forEach((saveButton) => {
1177
1185
  this.editForm.addEventListener(saveButton, 'click', (event) => {
1178
1186
  event.preventDefault();
1179
- if (!this.editForm.checkValidity(this.editForm.data, true, this.editForm.data)) {
1187
+ const errors = this.editForm.validate(this.editForm.data, {
1188
+ dirty: true
1189
+ });
1190
+ if (errors.length) {
1180
1191
  this.editForm.setPristine(false);
1181
- this.editForm.showErrors();
1192
+ this.editForm.showErrors(errors);
1182
1193
  return false;
1183
1194
  }
1184
1195
  this.saved = true;
@@ -1233,7 +1244,11 @@ export default class WebformBuilder extends Component {
1233
1244
  this.editForm = new Webform({
1234
1245
  ..._.omit(this.options, ['hooks', 'builder', 'events', 'attachMode', 'skipInit']),
1235
1246
  language: this.options.language,
1236
- ...editFormOptions
1247
+ ...editFormOptions,
1248
+ evalContext: {
1249
+ ...(editFormOptions?.evalContext || this.options?.evalContext || {}),
1250
+ buildingForm: this.form,
1251
+ },
1237
1252
  });
1238
1253
  this.hook('editFormProperties', parent);
1239
1254
  this.editForm.form = (isJsonEdit && !isCustom) ? {
@@ -1339,8 +1354,14 @@ export default class WebformBuilder extends Component {
1339
1354
  }
1340
1355
  }
1341
1356
  }
1357
+ // If the edit form has any nested form inside, we get a partial data (nested form's data) in the
1358
+ // event.data property
1359
+ let editFormData;
1360
+ if (event.changed.instance && event.changed.instance.root && event.changed.instance.root.id !== this.editForm.id) {
1361
+ editFormData = this.editForm.data;
1362
+ }
1342
1363
  // Update the component.
1343
- this.updateComponent(event.data.componentJson || event.data, event.changed);
1364
+ this.updateComponent(event.data.componentJson || editFormData || event.data, event.changed);
1344
1365
  }
1345
1366
  });
1346
1367
  this.attachEditComponentControls(component, parent, isNew, original, ComponentClass);
@@ -70,6 +70,7 @@ declare class Wizard extends Webform {
70
70
  beforePage(next: any): Promise<any>;
71
71
  emitNextPage(): void;
72
72
  nextPage(): Promise<void>;
73
+ validateCurrentPage(flags?: {}): any;
73
74
  emitPrevPage(): void;
74
75
  prevPage(): Promise<void>;
75
76
  cancel(noconfirm: any): Promise<void> | Promise<number>;
@@ -84,13 +85,13 @@ declare class Wizard extends Webform {
84
85
  hasButton(name: any, nextPage?: number | null): any;
85
86
  pageId(page: any): any;
86
87
  onChange(flags: any, changed: any, modified: any, changes: any): void;
88
+ checkValidity(data: any, dirty: any, row: any, currentPageOnly: any, childErrors?: any[]): any;
87
89
  focusOnComponent(key: any): any;
88
90
  }
89
91
  declare namespace Wizard {
90
- const setBaseUrl: typeof Formio.setBaseUrl;
91
- const setApiUrl: typeof Formio.setApiUrl;
92
- const setAppUrl: typeof Formio.setAppUrl;
92
+ const setBaseUrl: any;
93
+ const setApiUrl: any;
94
+ const setAppUrl: any;
93
95
  }
94
96
  export default Wizard;
95
97
  import Webform from './Webform';
96
- import { Formio } from './Formio';
package/lib/mjs/Wizard.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _ from 'lodash';
2
2
  import Webform from './Webform';
3
3
  import { Formio } from './Formio';
4
- import { fastCloneDeep, checkCondition, firstNonNil, uniqueKey, eachComponent } from './utils/utils';
4
+ import { fastCloneDeep, checkCondition, firstNonNil, uniqueKey, eachComponent, unescapeHTML } from './utils/utils';
5
5
  export default class Wizard extends Webform {
6
6
  /**
7
7
  * Constructor for wizard based forms
@@ -172,7 +172,9 @@ export default class Wizard extends Webform {
172
172
  return this.renderTemplate('wizardNav', ctx);
173
173
  }
174
174
  prepareHeaderSettings(ctx, headerType) {
175
- if (this.currentPanel && this.currentPanel.breadcrumb === 'none' || ctx.isSubForm) {
175
+ const shouldHideBreadcrumbs = this.currentPanel?.breadcrumb === 'none' ||
176
+ _.get(this.form, 'settings.wizardBreadcrumbsType', '') === 'none';
177
+ if (shouldHideBreadcrumbs || ctx.isSubForm) {
176
178
  return null;
177
179
  }
178
180
  return this.renderTemplate(headerType, ctx);
@@ -570,6 +572,7 @@ export default class Wizard extends Webform {
570
572
  }
571
573
  this.redraw().then(() => {
572
574
  this.checkData(this.submission.data);
575
+ this.validateCurrentPage();
573
576
  });
574
577
  return Promise.resolve();
575
578
  }
@@ -665,7 +668,8 @@ export default class Wizard extends Webform {
665
668
  });
666
669
  }
667
670
  // Validate the form, before go to the next page
668
- if (this.checkValidity(this.localData, true, this.localData, true)) {
671
+ const errors = this.validateCurrentPage({ dirty: true });
672
+ if (errors.length === 0) {
669
673
  this.checkData(this.submission.data);
670
674
  return this.beforePage(true).then(() => {
671
675
  return this.setPage(this.getNextPage()).then(() => {
@@ -680,9 +684,13 @@ export default class Wizard extends Webform {
680
684
  else {
681
685
  this.currentPage.components.forEach((comp) => comp.setPristine(false));
682
686
  this.scrollIntoView(this.element);
683
- return Promise.reject(this.showErrors([], true));
687
+ return Promise.reject(this.showErrors(errors, true));
684
688
  }
685
689
  }
690
+ validateCurrentPage(flags = {}) {
691
+ // Accessing the parent ensures the right instance (whether it's the parent Wizard or a nested Wizard) performs its validation
692
+ return this.currentPage?.parent.validateComponents(this.currentPage.component.components, this.currentPage.parent.data, flags);
693
+ }
686
694
  emitPrevPage() {
687
695
  this.emit('prevPage', { page: this.page, submission: this.submission });
688
696
  }
@@ -759,7 +767,7 @@ export default class Wizard extends Webform {
759
767
  return super.setForm(form, flags);
760
768
  }
761
769
  onSetForm(clonedForm, initialForm) {
762
- this.component.components = (this._parentPath ? initialForm.components : clonedForm.components) || [];
770
+ this.component.components = (this.parent ? initialForm.components : clonedForm.components) || [];
763
771
  this.setComponentSchema();
764
772
  }
765
773
  setEditMode(submission) {
@@ -772,7 +780,9 @@ export default class Wizard extends Webform {
772
780
  const changed = this.getPages({ all: true }).reduce((changed, page) => {
773
781
  return this.setNestedValue(page, submission.data, flags, changed) || changed;
774
782
  }, false);
775
- if (!flags.sanitize) {
783
+ if (!flags.sanitize ||
784
+ (flags && flags.fromSubmission && (this.prefixComps.length || this.suffixComps.length) && submission._id) ||
785
+ (this.options.server && (this.prefixComps.length || this.suffixComps.length))) {
776
786
  this.mergeData(this.data, submission.data);
777
787
  }
778
788
  if (changed) {
@@ -823,9 +833,9 @@ export default class Wizard extends Webform {
823
833
  }
824
834
  onChange(flags, changed, modified, changes) {
825
835
  super.onChange(flags, changed, modified, changes);
826
- if (this.alert && !this.submitted) {
827
- this.checkValidity(this.localData, false, this.localData, true);
828
- this.showErrors([], true, true);
836
+ const errors = this.validate(this.localData, { dirty: false });
837
+ if (this.alert) {
838
+ this.showErrors(errors, true, true);
829
839
  }
830
840
  // If the pages change, need to redraw the header.
831
841
  let currentPanels;
@@ -861,7 +871,7 @@ export default class Wizard extends Webform {
861
871
  }
862
872
  return super.redraw();
863
873
  }
864
- checkValidity(data, dirty, row, currentPageOnly) {
874
+ checkValidity(data, dirty, row, currentPageOnly, childErrors = []) {
865
875
  if (!this.checkCondition(row, data)) {
866
876
  this.setCustomValidity('');
867
877
  return true;
@@ -869,7 +879,7 @@ export default class Wizard extends Webform {
869
879
  const components = !currentPageOnly || this.isLastPage()
870
880
  ? this.getComponents()
871
881
  : this.currentPage.components;
872
- return components.reduce((check, comp) => comp.checkValidity(data, dirty, row) && check, true);
882
+ return components.reduce((check, comp) => comp.checkValidity(data, dirty, row, childErrors) && check, true);
873
883
  }
874
884
  get errors() {
875
885
  if (!this.isLastPage()) {
@@ -878,23 +888,22 @@ export default class Wizard extends Webform {
878
888
  return super.errors;
879
889
  }
880
890
  focusOnComponent(key) {
881
- let pageIndex = 0;
882
- const [page] = this.pages.filter((page, index) => {
883
- let hasComponent = false;
884
- page.getComponent(key, (comp) => {
885
- if (comp.path === key) {
886
- pageIndex = index;
887
- hasComponent = true;
891
+ const component = this.getComponent(key);
892
+ if (component) {
893
+ let topPanel = component.parent;
894
+ while (!(topPanel.parent instanceof Wizard)) {
895
+ topPanel = topPanel.parent;
896
+ }
897
+ const pageIndex = this.pages.findIndex(page => page === topPanel);
898
+ if (pageIndex >= 0) {
899
+ const page = this.pages[pageIndex];
900
+ if (page && page !== this.currentPage) {
901
+ return this.setPage(pageIndex).then(() => {
902
+ this.showErrors(this.validate(this.localData, { dirty: true }));
903
+ super.focusOnComponent(key);
904
+ });
888
905
  }
889
- });
890
- return hasComponent;
891
- });
892
- if (page && page !== this.currentPage) {
893
- return this.setPage(pageIndex).then(() => {
894
- this.checkValidity(this.submission.data, true, this.submission.data);
895
- this.showErrors();
896
- super.focusOnComponent(key);
897
- });
906
+ }
898
907
  }
899
908
  return super.focusOnComponent(key);
900
909
  }
@@ -9,6 +9,7 @@ export default class WizardBuilder extends WebformBuilder {
9
9
  }[];
10
10
  };
11
11
  page: number;
12
+ removeComponent(component: any, parent: any, original: any): boolean | undefined;
12
13
  allowDrop(element: any): boolean;
13
14
  get pages(): any;
14
15
  get currentPage(): any;
@@ -698,8 +698,7 @@ export default class PasswordStrengthAddon extends FormioAddon {
698
698
  * @param {string} value - Suggested password
699
699
  */
700
700
  checkValidity(value: string): boolean;
701
- errors: any[] | undefined;
702
- handleBlackListCheckResult(result: any): void;
701
+ handleBlackListCheckResult(result: any, errors: any): void;
703
702
  levels: any[];
704
703
  maxEntropy: any;
705
704
  attach(element: any): void;
@@ -261,30 +261,29 @@ export default class PasswordStrengthAddon extends FormioAddon {
261
261
  checkValidity(value) {
262
262
  const passwordLength = value.length;
263
263
  const { charactersPoolSize, errors } = this.performChecks(value);
264
- this.errors = errors;
265
264
  const entropy = this.calculatePasswordEntropy(passwordLength, charactersPoolSize);
266
265
  const blackListCheck = this.settings.blackList?.length || this.settings.customBlacklistedWords ?
267
266
  this.checkBlackList(value)
268
267
  : null;
268
+ const isValid = this.isValid();
269
+ if (!isValid) {
270
+ errors.push({
271
+ message: 'Password is not strong enough',
272
+ level: this.settings.required ? 'error' : 'warning'
273
+ });
274
+ }
269
275
  // If there were found some words from the black list
270
276
  if (blackListCheck && blackListCheck !== true) {
271
- this.handleBlackListCheckResult(blackListCheck);
277
+ this.handleBlackListCheckResult(blackListCheck, errors);
272
278
  // Select the mininal entropy based on the dictionary check or symbolic check
273
279
  this.entropy = Math.min(entropy, blackListCheck.entropy);
274
280
  }
275
281
  else {
276
282
  this.entropy = entropy;
277
283
  }
278
- const isValid = this.isValid();
279
- if (!isValid) {
280
- this.errors.push({
281
- message: 'Password is not strong enough',
282
- level: this.settings.required ? 'error' : 'warning'
283
- });
284
- }
285
- return !this.errors.length;
284
+ return !errors.length;
286
285
  }
287
- handleBlackListCheckResult(result) {
286
+ handleBlackListCheckResult(result, errors) {
288
287
  const blacklistedWords = result.blacklistedWords;
289
288
  const isRequired = this.settings.disableBlacklistedWords;
290
289
  const message = `Password ${isRequired ? 'must' : 'should'} not include common words: ${blacklistedWords.join(', ')}`;
@@ -292,7 +291,7 @@ export default class PasswordStrengthAddon extends FormioAddon {
292
291
  name: 'blacklist',
293
292
  required: isRequired,
294
293
  };
295
- this.handleRuleCheckResult(false, validation, message, this.errors);
294
+ this.handleRuleCheckResult(false, validation, message, errors);
296
295
  }
297
296
  constructor(settings, componentInstance) {
298
297
  super(settings, componentInstance);
@@ -592,6 +592,7 @@ export const editForms: {
592
592
  multiple?: undefined;
593
593
  hideLabel?: undefined;
594
594
  })[];
595
+ tableView: boolean;
595
596
  defaultValue: {
596
597
  data: {
597
598
  rulesSettings: {
@@ -6,7 +6,11 @@ export const editForms = [
6
6
  key: 'settings',
7
7
  display: 'form',
8
8
  input: true,
9
- components,
9
+ components: components.map((comp) => {
10
+ comp.tableView = false;
11
+ return comp;
12
+ }),
13
+ tableView: false,
10
14
  defaultValue: {
11
15
  data: defaultSettings
12
16
  },
@@ -253,6 +253,13 @@ export default class Components {
253
253
  static setComponents(comps: any): void;
254
254
  static addComponent(name: any, comp: any): void;
255
255
  static setComponent(name: any, comp: any): void;
256
+ /**
257
+ * Return a path of component's value.
258
+ *
259
+ * @param {Object} component - The component instance.
260
+ * @return {string} - The component's value path.
261
+ */
262
+ static getComponentPath(component: Object): string;
256
263
  static create(component: any, options: any, data: any): any;
257
264
  }
258
265
  import BaseEditForm from './_classes/component/Component.form';
@@ -45,6 +45,30 @@ class Components {
45
45
  static setComponent(name, comp) {
46
46
  Components.components[name] = comp;
47
47
  }
48
+ /**
49
+ * Return a path of component's value.
50
+ *
51
+ * @param {Object} component - The component instance.
52
+ * @return {string} - The component's value path.
53
+ */
54
+ static getComponentPath(component) {
55
+ let path = '';
56
+ if (component.component.key) {
57
+ let thisPath = component.options?.parent || component;
58
+ while (thisPath && !thisPath.allowData && thisPath.parent) {
59
+ thisPath = thisPath.parent;
60
+ }
61
+ // TODO: any component that is nested in e.g. a Data Grid or an Edit Grid is going to receive a row prop; the problem
62
+ // is that options.row is passed to each further nested component, which results in erroneous paths like
63
+ // `editGrid[0].container[0].textField` rather than `editGrid[0].container.textField`. This should be adapted for other
64
+ // components with a tree-like data model
65
+ const rowIndex = component.row;
66
+ const rowIndexPath = rowIndex && !['container'].includes(thisPath.component.type) ? `[${Number.parseInt(rowIndex)}]` : '';
67
+ path = `${thisPath.path}${rowIndexPath}.`;
68
+ path += component.component.key;
69
+ return _.trim(path, '.');
70
+ }
71
+ }
48
72
  static create(component, options, data) {
49
73
  let comp = null;
50
74
  if (component.type && Components.components.hasOwnProperty(component.type)) {
@@ -69,6 +93,11 @@ class Components {
69
93
  else {
70
94
  comp = new Component(component, options, data);
71
95
  }
96
+ const path = Components.getComponentPath(comp);
97
+ if (path) {
98
+ comp.path = path;
99
+ comp.componentsMap[comp.path] = comp;
100
+ }
72
101
  return comp;
73
102
  }
74
103
  }
@@ -47,16 +47,21 @@ declare class Component extends Element {
47
47
  * References to dom elements
48
48
  */
49
49
  refs: {};
50
- /**
51
- * Set the validator instance.
52
- */
53
- validator: import("../../../validator/Validator").ValidationChecker;
54
50
  /**
55
51
  * The data path to this specific component instance.
56
52
  *
57
53
  * @type {string}
58
54
  */
59
55
  path: string;
56
+ /**
57
+ * An array of all the children components errors.
58
+ */
59
+ childErrors: any[];
60
+ /**
61
+ * Last validation errors that have occured.
62
+ */
63
+ _errors: any[];
64
+ _visibleErrors: any[];
60
65
  /**
61
66
  * The Form.io component JSON schema.
62
67
  * @type {*}
@@ -76,11 +81,6 @@ declare class Component extends Element {
76
81
  * @type {*}
77
82
  */
78
83
  _data: any;
79
- /**
80
- * The existing error that this component has.
81
- * @type {string}
82
- */
83
- error: string;
84
84
  /**
85
85
  * Tool tip text after processing
86
86
  * @type {string}
@@ -91,6 +91,12 @@ declare class Component extends Element {
91
91
  * @type {number}
92
92
  */
93
93
  row: number;
94
+ /**
95
+ * Points to a flat map of child components (if applicable).
96
+ *
97
+ * @type {Object}
98
+ */
99
+ childComponentsMap: Object;
94
100
  /**
95
101
  * Determines if this component is disabled, or not.
96
102
  *
@@ -116,13 +122,7 @@ declare class Component extends Element {
116
122
  * @type {Component}
117
123
  */
118
124
  parent: Component;
119
- /**
120
- * The validators that are assigned to this component.
121
- * @type {[string]}
122
- */
123
- validators: [string];
124
125
  _path: string;
125
- _parentPath: any;
126
126
  /**
127
127
  * Determines if this component is visible, or not.
128
128
  */
@@ -164,6 +164,7 @@ declare class Component extends Element {
164
164
  * @type {*}
165
165
  */
166
166
  info: any;
167
+ get componentsMap(): any;
167
168
  set data(arg: any);
168
169
  get data(): any;
169
170
  mergeSchema(component?: {}): any;
@@ -405,6 +406,8 @@ declare class Component extends Element {
405
406
  * @returns {string} - The name of the component.
406
407
  */
407
408
  get name(): string;
409
+ get visibleErrors(): any[];
410
+ get errors(): any[];
408
411
  /**
409
412
  * Returns the error label for this component.
410
413
  * @return {*}
@@ -699,7 +702,30 @@ declare class Component extends Element {
699
702
  * @return {boolean}
700
703
  */
701
704
  isValid(data: any, dirty: any): boolean;
702
- setComponentValidity(messages: any, dirty: any, silentCheck: any): boolean;
705
+ setComponentValidity(errors: any, dirty: any, silentCheck: any): any;
706
+ /**
707
+ * Interpolate errors from the validation methods.
708
+ * @param {*} errors
709
+ * @returns
710
+ */
711
+ interpolateErrors(errors: any): any[];
712
+ /**
713
+ * Show component validation errors.
714
+ * @param {*} errors - An array of errors that have occured.
715
+ * @param {*} data - The root submission data.
716
+ * @param {*} row - The contextual row data.
717
+ * @param {*} flags - The flags to perform validation.
718
+ * @returns
719
+ */
720
+ showValidationErrors(errors: any, data: any, row: any, flags: any): any;
721
+ /**
722
+ * Perform a component validation.
723
+ * @param {*} data - The root data you wish to use for this component.
724
+ * @param {*} row - The contextual row data you wish to use for this component.
725
+ * @param {*} flags - The flags to control the behavior of the validation.
726
+ * @returns
727
+ */
728
+ validateComponent(data: any, row: any, flags?: any): any;
703
729
  /**
704
730
  * Checks the validity of this component and sets the error message if it is invalid.
705
731
  *
@@ -708,9 +734,17 @@ declare class Component extends Element {
708
734
  * @param row
709
735
  * @return {boolean}
710
736
  */
711
- checkComponentValidity(data: any, dirty: any, row: any, options?: {}): boolean;
712
- checkValidity(data: any, dirty: any, row: any, silentCheck: any): boolean;
713
- checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any): Promise<boolean>;
737
+ checkComponentValidity(data: any, dirty: any, row: any, flags?: {}, allErrors?: any[]): boolean;
738
+ /**
739
+ * Checks the validity of the component.
740
+ * @param {*} data
741
+ * @param {*} dirty
742
+ * @param {*} row
743
+ * @param {*} silentCheck
744
+ * @returns
745
+ */
746
+ checkValidity(data: any, dirty: any, row: any, silentCheck: any, errors?: any[]): boolean;
747
+ checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any, errors?: any[]): boolean;
714
748
  /**
715
749
  * Check the conditions, calculations, and validity of a single component and triggers an update if
716
750
  * something changed.
@@ -720,8 +754,8 @@ declare class Component extends Element {
720
754
  *
721
755
  * @return boolean - If component is valid or not.
722
756
  */
723
- checkData(data: any, flags: any, row: any): boolean;
724
- checkModal(isValid?: boolean, dirty?: boolean): void;
757
+ checkData(data: any, flags: any, row: any): true | undefined;
758
+ checkModal(errors?: any[], dirty?: boolean): void;
725
759
  get validationValue(): any;
726
760
  isEmpty(value?: any): any;
727
761
  isEqual(valueA: any, valueB?: any): any;
@@ -731,11 +765,10 @@ declare class Component extends Element {
731
765
  * @return {boolean}
732
766
  */
733
767
  validateMultiple(): boolean;
734
- get errors(): string[];
735
768
  clearErrorClasses(element?: any): void;
736
769
  setInputWidgetErrorClasses(inputRefs: any, hasErrors: any): void;
737
770
  addFocusBlurEvents(element: any): void;
738
- setCustomValidity(messages: any, dirty: any, external: any): void;
771
+ setCustomValidity(messages: any, dirty: any, external: any): any;
739
772
  /**
740
773
  * Determines if the value of this component is hidden from the user as if it is coming from the server, but is
741
774
  * protected.
@@ -743,7 +776,7 @@ declare class Component extends Element {
743
776
  * @return {boolean|*}
744
777
  */
745
778
  isValueHidden(): boolean | any;
746
- shouldSkipValidation(data: any, dirty: any, row: any): boolean;
779
+ shouldSkipValidation(data: any, row: any, flags?: {}): boolean;
747
780
  whenReady(): Promise<void>;
748
781
  get dataReady(): Promise<void>;
749
782
  /**
@@ -786,9 +819,6 @@ declare class Component extends Element {
786
819
  get previewMode(): boolean;
787
820
  }
788
821
  declare namespace Component {
789
- class Validator {
790
- private constructor();
791
- }
792
822
  const externalLibraries: {};
793
823
  function requireLibrary(name: any, property: any, src: any, polling: any): any;
794
824
  function libraryReady(name: any): any;