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

Sign up to get free protection for your applications and to get access to all the features.
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;