@formio/js 5.0.0-dev.5613.3476921 → 5.0.0-dev.5614.b5c93f3

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 (581) hide show
  1. package/Changelog.md +73 -4
  2. package/dist/formio.builder.css +8 -13
  3. package/dist/formio.builder.min.css +1 -1
  4. package/dist/formio.embed.js +1 -1
  5. package/dist/formio.embed.min.js +1 -1
  6. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  7. package/dist/formio.form.css +8 -13
  8. package/dist/formio.form.js +803 -1226
  9. package/dist/formio.form.min.css +1 -1
  10. package/dist/formio.form.min.js +1 -1
  11. package/dist/formio.form.min.js.LICENSE.txt +3 -3
  12. package/dist/formio.full.css +8 -13
  13. package/dist/formio.full.js +722 -941
  14. package/dist/formio.full.min.css +1 -1
  15. package/dist/formio.full.min.js +1 -1
  16. package/dist/formio.full.min.js.LICENSE.txt +3 -3
  17. package/dist/formio.js +18 -18
  18. package/dist/formio.min.js +1 -1
  19. package/dist/formio.min.js.LICENSE.txt +1 -1
  20. package/dist/formio.utils.js +1853 -466
  21. package/dist/formio.utils.min.js +1 -1
  22. package/dist/formio.utils.min.js.LICENSE.txt +10 -2
  23. package/embed.d.ts +1 -0
  24. package/form.d.ts +1 -0
  25. package/lib/cjs/CDN.d.ts +1 -0
  26. package/lib/cjs/CDN.js +6 -3
  27. package/lib/cjs/Element.d.ts +87 -98
  28. package/lib/cjs/Element.js +76 -95
  29. package/lib/cjs/Embed.d.ts +1 -1
  30. package/lib/cjs/Embed.js +52 -12
  31. package/lib/cjs/Form.d.ts +365 -36
  32. package/lib/cjs/Form.js +50 -75
  33. package/lib/cjs/FormBuilder.d.ts +187 -2
  34. package/lib/cjs/FormBuilder.js +30 -8
  35. package/lib/cjs/Formio.js +12 -0
  36. package/lib/cjs/InlineEmbed.d.ts +7 -0
  37. package/lib/cjs/InlineEmbed.js +116 -0
  38. package/lib/cjs/PDF.d.ts +11 -13
  39. package/lib/cjs/PDF.js +7 -16
  40. package/lib/cjs/PDFBuilder.js +3 -3
  41. package/lib/cjs/Webform.d.ts +193 -140
  42. package/lib/cjs/Webform.js +341 -306
  43. package/lib/cjs/WebformBuilder.d.ts +18 -15
  44. package/lib/cjs/WebformBuilder.js +34 -27
  45. package/lib/cjs/Wizard.d.ts +31 -21
  46. package/lib/cjs/Wizard.js +44 -21
  47. package/lib/cjs/WizardBuilder.d.ts +1 -1
  48. package/lib/cjs/addons/FormioAddon.d.ts +0 -1
  49. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -5
  50. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -3
  51. package/lib/cjs/components/Components.d.ts +4 -4
  52. package/lib/cjs/components/Components.js +3 -3
  53. package/lib/cjs/components/_classes/component/Component.d.ts +516 -270
  54. package/lib/cjs/components/_classes/component/Component.form.d.ts +6 -3
  55. package/lib/cjs/components/_classes/component/Component.form.js +5 -0
  56. package/lib/cjs/components/_classes/component/Component.js +470 -246
  57. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +1 -1
  58. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +2 -2
  59. package/lib/cjs/components/_classes/component/editForm/utils.js +2 -2
  60. package/lib/cjs/components/_classes/component/fixtures/comp6.d.ts +77 -0
  61. package/lib/cjs/components/_classes/component/fixtures/comp6.js +59 -0
  62. package/lib/cjs/components/_classes/component/fixtures/comp7.d.ts +84 -0
  63. package/lib/cjs/components/_classes/component/fixtures/comp7.js +86 -0
  64. package/lib/cjs/components/_classes/component/fixtures/index.d.ts +3 -1
  65. package/lib/cjs/components/_classes/component/fixtures/index.js +5 -1
  66. package/lib/cjs/components/_classes/field/Field.d.ts +11 -2
  67. package/lib/cjs/components/_classes/field/Field.js +13 -1
  68. package/lib/cjs/components/_classes/input/Input.d.ts +4 -3
  69. package/lib/cjs/components/_classes/input/Input.js +32 -23
  70. package/lib/cjs/components/_classes/list/ListComponent.d.ts +2 -2
  71. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +6 -3
  72. package/lib/cjs/components/_classes/list/ListComponent.form.js +5 -0
  73. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +43 -12
  74. package/lib/cjs/components/_classes/multivalue/Multivalue.js +44 -3
  75. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +164 -68
  76. package/lib/cjs/components/_classes/nested/NestedComponent.form.d.ts +6 -3
  77. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +5 -0
  78. package/lib/cjs/components/_classes/nested/NestedComponent.js +182 -62
  79. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -2
  80. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  81. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +7 -1
  82. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +2 -3
  83. package/lib/cjs/components/address/Address.d.ts +4 -2
  84. package/lib/cjs/components/address/Address.form.d.ts +6 -3
  85. package/lib/cjs/components/address/Address.form.js +5 -0
  86. package/lib/cjs/components/address/Address.js +4 -0
  87. package/lib/cjs/components/address/editForm/Address.edit.provider.js +1 -1
  88. package/lib/cjs/components/button/Button.d.ts +4 -13
  89. package/lib/cjs/components/button/Button.form.d.ts +6 -3
  90. package/lib/cjs/components/button/Button.form.js +5 -0
  91. package/lib/cjs/components/button/Button.js +12 -7
  92. package/lib/cjs/components/checkbox/Checkbox.d.ts +5 -28
  93. package/lib/cjs/components/checkbox/Checkbox.form.d.ts +6 -3
  94. package/lib/cjs/components/checkbox/Checkbox.form.js +5 -0
  95. package/lib/cjs/components/checkbox/Checkbox.js +1 -1
  96. package/lib/cjs/components/checkbox/fixtures/comp6.d.ts +32 -0
  97. package/lib/cjs/components/checkbox/fixtures/comp6.js +30 -0
  98. package/lib/cjs/components/checkbox/fixtures/index.d.ts +2 -1
  99. package/lib/cjs/components/checkbox/fixtures/index.js +3 -1
  100. package/lib/cjs/components/columns/Columns.d.ts +3 -2
  101. package/lib/cjs/components/columns/Columns.form.d.ts +6 -3
  102. package/lib/cjs/components/columns/Columns.form.js +5 -0
  103. package/lib/cjs/components/columns/Columns.js +3 -3
  104. package/lib/cjs/components/container/Container.form.d.ts +6 -3
  105. package/lib/cjs/components/container/Container.form.js +5 -0
  106. package/lib/cjs/components/content/Content.d.ts +2 -1
  107. package/lib/cjs/components/content/Content.form.d.ts +6 -3
  108. package/lib/cjs/components/content/Content.form.js +5 -0
  109. package/lib/cjs/components/currency/Currency.form.d.ts +6 -3
  110. package/lib/cjs/components/currency/Currency.form.js +5 -0
  111. package/lib/cjs/components/currency/Currency.js +1 -2
  112. package/lib/cjs/components/datagrid/DataGrid.d.ts +17 -7
  113. package/lib/cjs/components/datagrid/DataGrid.form.d.ts +6 -3
  114. package/lib/cjs/components/datagrid/DataGrid.form.js +5 -0
  115. package/lib/cjs/components/datagrid/DataGrid.js +55 -37
  116. package/lib/cjs/components/datagrid/fixtures/comp-with-checkboxes.d.ts +29 -0
  117. package/lib/cjs/components/datagrid/fixtures/comp-with-checkboxes.js +36 -0
  118. package/lib/cjs/components/datagrid/fixtures/comp-with-reorder.d.ts +100 -0
  119. package/lib/cjs/components/datagrid/fixtures/comp-with-reorder.js +139 -0
  120. package/lib/cjs/components/datagrid/fixtures/comp10.d.ts +81 -0
  121. package/lib/cjs/components/datagrid/fixtures/comp10.js +87 -0
  122. package/lib/cjs/components/datagrid/fixtures/comp9.d.ts +41 -0
  123. package/lib/cjs/components/datagrid/fixtures/comp9.js +44 -0
  124. package/lib/cjs/components/datagrid/fixtures/index.d.ts +5 -1
  125. package/lib/cjs/components/datagrid/fixtures/index.js +9 -1
  126. package/lib/cjs/components/datamap/DataMap.d.ts +1 -0
  127. package/lib/cjs/components/datamap/DataMap.form.d.ts +6 -3
  128. package/lib/cjs/components/datamap/DataMap.form.js +5 -0
  129. package/lib/cjs/components/datetime/DateTime.d.ts +0 -14
  130. package/lib/cjs/components/datetime/DateTime.form.d.ts +6 -3
  131. package/lib/cjs/components/datetime/DateTime.form.js +5 -0
  132. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +2 -2
  133. package/lib/cjs/components/day/Day.d.ts +23 -49
  134. package/lib/cjs/components/day/Day.form.d.ts +6 -3
  135. package/lib/cjs/components/day/Day.form.js +5 -0
  136. package/lib/cjs/components/day/Day.js +16 -21
  137. package/lib/cjs/components/day/fixtures/comp7.d.ts +109 -0
  138. package/lib/cjs/components/day/fixtures/comp7.js +109 -0
  139. package/lib/cjs/components/day/fixtures/comp8.d.ts +41 -0
  140. package/lib/cjs/components/day/fixtures/comp8.js +40 -0
  141. package/lib/cjs/components/day/fixtures/index.d.ts +3 -1
  142. package/lib/cjs/components/day/fixtures/index.js +5 -1
  143. package/lib/cjs/components/editgrid/EditGrid.d.ts +8 -4
  144. package/lib/cjs/components/editgrid/EditGrid.form.d.ts +6 -3
  145. package/lib/cjs/components/editgrid/EditGrid.form.js +5 -0
  146. package/lib/cjs/components/editgrid/EditGrid.js +12 -26
  147. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -5
  148. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +6 -9
  149. package/lib/cjs/components/email/Email.form.d.ts +6 -3
  150. package/lib/cjs/components/email/Email.form.js +5 -0
  151. package/lib/cjs/components/fieldset/Fieldset.form.d.ts +6 -3
  152. package/lib/cjs/components/fieldset/Fieldset.form.js +5 -0
  153. package/lib/cjs/components/file/File.d.ts +9 -23
  154. package/lib/cjs/components/file/File.form.d.ts +6 -3
  155. package/lib/cjs/components/file/File.form.js +5 -0
  156. package/lib/cjs/components/file/File.js +3 -4
  157. package/lib/cjs/components/form/Form.d.ts +38 -20
  158. package/lib/cjs/components/form/Form.form.d.ts +6 -3
  159. package/lib/cjs/components/form/Form.form.js +5 -0
  160. package/lib/cjs/components/form/Form.js +33 -20
  161. package/lib/cjs/components/hidden/Hidden.d.ts +1 -11
  162. package/lib/cjs/components/hidden/Hidden.form.d.ts +6 -3
  163. package/lib/cjs/components/hidden/Hidden.form.js +5 -0
  164. package/lib/cjs/components/hidden/Hidden.js +1 -2
  165. package/lib/cjs/components/html/HTML.d.ts +2 -1
  166. package/lib/cjs/components/html/HTML.form.d.ts +6 -3
  167. package/lib/cjs/components/html/HTML.form.js +5 -0
  168. package/lib/cjs/components/number/Number.d.ts +3 -17
  169. package/lib/cjs/components/number/Number.form.d.ts +6 -3
  170. package/lib/cjs/components/number/Number.form.js +5 -0
  171. package/lib/cjs/components/number/Number.js +2 -3
  172. package/lib/cjs/components/number/fixtures/comp8.d.ts +32 -0
  173. package/lib/cjs/components/number/fixtures/comp8.js +28 -0
  174. package/lib/cjs/components/number/fixtures/index.d.ts +2 -1
  175. package/lib/cjs/components/number/fixtures/index.js +3 -1
  176. package/lib/cjs/components/panel/Panel.form.d.ts +6 -3
  177. package/lib/cjs/components/panel/Panel.form.js +5 -0
  178. package/lib/cjs/components/panel/Panel.js +0 -1
  179. package/lib/cjs/components/password/Password.form.d.ts +6 -3
  180. package/lib/cjs/components/password/Password.form.js +5 -0
  181. package/lib/cjs/components/phonenumber/PhoneNumber.form.d.ts +6 -3
  182. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +5 -0
  183. package/lib/cjs/components/phonenumber/fixtures/comp2.d.ts +16 -0
  184. package/lib/cjs/components/phonenumber/fixtures/comp2.js +25 -0
  185. package/lib/cjs/components/phonenumber/fixtures/index.d.ts +2 -1
  186. package/lib/cjs/components/phonenumber/fixtures/index.js +3 -1
  187. package/lib/cjs/components/radio/Radio.d.ts +4 -27
  188. package/lib/cjs/components/radio/Radio.form.d.ts +6 -3
  189. package/lib/cjs/components/radio/Radio.form.js +5 -0
  190. package/lib/cjs/components/radio/Radio.js +11 -9
  191. package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +2 -9
  192. package/lib/cjs/components/recaptcha/ReCaptcha.form.d.ts +6 -3
  193. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +7 -2
  194. package/lib/cjs/components/recaptcha/ReCaptcha.js +1 -8
  195. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +33 -2
  196. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +13 -2
  197. package/lib/cjs/components/select/Select.d.ts +16 -39
  198. package/lib/cjs/components/select/Select.form.d.ts +6 -3
  199. package/lib/cjs/components/select/Select.form.js +5 -0
  200. package/lib/cjs/components/select/Select.js +23 -24
  201. package/lib/cjs/components/select/editForm/Select.edit.data.js +16 -2
  202. package/lib/cjs/components/select/fixtures/comp22.js +1 -1
  203. package/lib/cjs/components/select/fixtures/comp23.d.ts +58 -0
  204. package/lib/cjs/components/select/fixtures/comp23.js +49 -0
  205. package/lib/cjs/components/select/fixtures/comp24.d.ts +47 -0
  206. package/lib/cjs/components/select/fixtures/comp24.js +40 -0
  207. package/lib/cjs/components/select/fixtures/index.d.ts +3 -1
  208. package/lib/cjs/components/select/fixtures/index.js +5 -1
  209. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +2 -17
  210. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +6 -3
  211. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +5 -0
  212. package/lib/cjs/components/selectboxes/SelectBoxes.js +11 -10
  213. package/lib/cjs/components/signature/Signature.d.ts +0 -14
  214. package/lib/cjs/components/signature/Signature.form.d.ts +6 -3
  215. package/lib/cjs/components/signature/Signature.form.js +5 -0
  216. package/lib/cjs/components/signature/Signature.js +1 -1
  217. package/lib/cjs/components/survey/Survey.d.ts +3 -15
  218. package/lib/cjs/components/survey/Survey.form.d.ts +6 -3
  219. package/lib/cjs/components/survey/Survey.form.js +5 -0
  220. package/lib/cjs/components/table/Table.d.ts +3 -1
  221. package/lib/cjs/components/table/Table.form.d.ts +6 -3
  222. package/lib/cjs/components/table/Table.form.js +5 -0
  223. package/lib/cjs/components/table/Table.js +1 -1
  224. package/lib/cjs/components/tabs/Tabs.d.ts +4 -4
  225. package/lib/cjs/components/tabs/Tabs.form.d.ts +6 -3
  226. package/lib/cjs/components/tabs/Tabs.form.js +5 -0
  227. package/lib/cjs/components/tabs/Tabs.js +1 -2
  228. package/lib/cjs/components/tags/Tags.d.ts +0 -14
  229. package/lib/cjs/components/tags/Tags.form.d.ts +6 -3
  230. package/lib/cjs/components/tags/Tags.form.js +5 -0
  231. package/lib/cjs/components/tags/Tags.js +2 -4
  232. package/lib/cjs/components/textarea/TextArea.d.ts +4 -9
  233. package/lib/cjs/components/textarea/TextArea.form.d.ts +6 -3
  234. package/lib/cjs/components/textarea/TextArea.form.js +5 -0
  235. package/lib/cjs/components/textarea/TextArea.js +2 -2
  236. package/lib/cjs/components/textfield/TextField.d.ts +14 -30
  237. package/lib/cjs/components/textfield/TextField.form.d.ts +6 -3
  238. package/lib/cjs/components/textfield/TextField.form.js +5 -0
  239. package/lib/cjs/components/textfield/TextField.js +16 -17
  240. package/lib/cjs/components/time/Time.form.d.ts +6 -3
  241. package/lib/cjs/components/time/Time.form.js +5 -0
  242. package/lib/cjs/components/unknown/Unknown.form.d.ts +5 -34
  243. package/lib/cjs/components/unknown/Unknown.form.js +4 -0
  244. package/lib/cjs/components/url/Url.form.d.ts +6 -3
  245. package/lib/cjs/components/url/Url.form.js +5 -0
  246. package/lib/cjs/components/well/Well.form.d.ts +6 -3
  247. package/lib/cjs/components/well/Well.form.js +5 -0
  248. package/lib/cjs/formio.embed.d.ts +1 -2
  249. package/lib/cjs/formio.embed.js +2 -100
  250. package/lib/cjs/formio.form.d.ts +11 -4
  251. package/lib/cjs/formio.form.js +13 -5
  252. package/lib/cjs/providers/Providers.d.ts +36 -5
  253. package/lib/cjs/providers/Providers.js +29 -0
  254. package/lib/cjs/providers/address/AddressProvider.d.ts +131 -12
  255. package/lib/cjs/providers/address/AddressProvider.js +88 -2
  256. package/lib/cjs/providers/address/AzureAddressProvider.d.ts +48 -1
  257. package/lib/cjs/providers/address/AzureAddressProvider.js +37 -0
  258. package/lib/cjs/providers/address/CustomAddressProvider.d.ts +27 -4
  259. package/lib/cjs/providers/address/CustomAddressProvider.js +34 -0
  260. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +135 -6
  261. package/lib/cjs/providers/address/GoogleAddressProvider.js +95 -1
  262. package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +32 -7
  263. package/lib/cjs/providers/address/NominatimAddressProvider.js +33 -0
  264. package/lib/cjs/providers/address/index.d.ts +3 -1
  265. package/lib/cjs/providers/processor/fileProcessor.d.ts +7 -1
  266. package/lib/cjs/providers/processor/fileProcessor.js +6 -0
  267. package/lib/cjs/providers/storage/azure.d.ts +6 -13
  268. package/lib/cjs/providers/storage/azure.js +5 -0
  269. package/lib/cjs/providers/storage/base64.d.ts +5 -6
  270. package/lib/cjs/providers/storage/base64.js +4 -0
  271. package/lib/cjs/providers/storage/dropbox.d.ts +6 -4
  272. package/lib/cjs/providers/storage/dropbox.js +5 -0
  273. package/lib/cjs/providers/storage/googleDrive.d.ts +7 -5
  274. package/lib/cjs/providers/storage/googleDrive.js +6 -0
  275. package/lib/cjs/providers/storage/indexeddb.d.ts +5 -7
  276. package/lib/cjs/providers/storage/indexeddb.js +4 -0
  277. package/lib/cjs/providers/storage/s3.d.ts +6 -20
  278. package/lib/cjs/providers/storage/s3.js +5 -0
  279. package/lib/cjs/providers/storage/url.d.ts +6 -7
  280. package/lib/cjs/providers/storage/url.js +10 -0
  281. package/lib/cjs/providers/storage/util.d.ts +24 -1
  282. package/lib/cjs/providers/storage/util.js +18 -0
  283. package/lib/cjs/templates/Templates.d.ts +1 -0
  284. package/lib/cjs/translations/en.d.ts +5 -0
  285. package/lib/cjs/translations/en.js +6 -1
  286. package/lib/cjs/utils/ChoicesWrapper.d.ts +1 -1
  287. package/lib/cjs/utils/ChoicesWrapper.js +13 -2
  288. package/lib/cjs/utils/Evaluator.d.ts +6 -3
  289. package/lib/cjs/utils/Evaluator.js +11 -20
  290. package/lib/cjs/utils/builder.d.ts +9 -7
  291. package/lib/cjs/utils/builder.js +10 -5
  292. package/lib/cjs/utils/calendarUtils.d.ts +7 -13
  293. package/lib/cjs/utils/calendarUtils.js +10 -17
  294. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +4 -3
  295. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +3 -3
  296. package/lib/cjs/utils/formUtils.d.ts +43 -171
  297. package/lib/cjs/utils/formUtils.js +38 -569
  298. package/lib/cjs/utils/utils.d.ts +367 -218
  299. package/lib/cjs/utils/utils.js +420 -252
  300. package/lib/cjs/widgets/CalendarWidget.d.ts +9 -10
  301. package/lib/cjs/widgets/CalendarWidget.js +11 -13
  302. package/lib/mjs/CDN.d.ts +1 -0
  303. package/lib/mjs/CDN.js +6 -3
  304. package/lib/mjs/Element.d.ts +87 -98
  305. package/lib/mjs/Element.js +76 -95
  306. package/lib/mjs/Embed.d.ts +1 -1
  307. package/lib/mjs/Embed.js +52 -12
  308. package/lib/mjs/Form.d.ts +365 -36
  309. package/lib/mjs/Form.js +140 -68
  310. package/lib/mjs/FormBuilder.d.ts +187 -2
  311. package/lib/mjs/FormBuilder.js +32 -8
  312. package/lib/mjs/Formio.js +12 -0
  313. package/lib/mjs/InlineEmbed.d.ts +7 -0
  314. package/lib/mjs/InlineEmbed.js +112 -0
  315. package/lib/mjs/PDF.d.ts +11 -13
  316. package/lib/mjs/PDF.js +7 -16
  317. package/lib/mjs/PDFBuilder.js +3 -3
  318. package/lib/mjs/Webform.d.ts +193 -140
  319. package/lib/mjs/Webform.js +353 -318
  320. package/lib/mjs/WebformBuilder.d.ts +18 -15
  321. package/lib/mjs/WebformBuilder.js +34 -27
  322. package/lib/mjs/Wizard.d.ts +31 -21
  323. package/lib/mjs/Wizard.js +43 -20
  324. package/lib/mjs/WizardBuilder.d.ts +1 -1
  325. package/lib/mjs/addons/FormioAddon.d.ts +0 -1
  326. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -5
  327. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -3
  328. package/lib/mjs/components/Components.d.ts +4 -4
  329. package/lib/mjs/components/Components.js +3 -3
  330. package/lib/mjs/components/_classes/component/Component.d.ts +516 -270
  331. package/lib/mjs/components/_classes/component/Component.form.d.ts +6 -3
  332. package/lib/mjs/components/_classes/component/Component.form.js +5 -0
  333. package/lib/mjs/components/_classes/component/Component.js +479 -247
  334. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +1 -1
  335. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +1 -1
  336. package/lib/mjs/components/_classes/component/editForm/utils.js +1 -1
  337. package/lib/mjs/components/_classes/component/fixtures/comp6.d.ts +77 -0
  338. package/lib/mjs/components/_classes/component/fixtures/comp6.js +57 -0
  339. package/lib/mjs/components/_classes/component/fixtures/comp7.d.ts +84 -0
  340. package/lib/mjs/components/_classes/component/fixtures/comp7.js +84 -0
  341. package/lib/mjs/components/_classes/component/fixtures/index.d.ts +3 -1
  342. package/lib/mjs/components/_classes/component/fixtures/index.js +3 -1
  343. package/lib/mjs/components/_classes/field/Field.d.ts +11 -2
  344. package/lib/mjs/components/_classes/field/Field.js +13 -1
  345. package/lib/mjs/components/_classes/input/Input.d.ts +4 -3
  346. package/lib/mjs/components/_classes/input/Input.js +31 -23
  347. package/lib/mjs/components/_classes/list/ListComponent.d.ts +2 -2
  348. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +6 -3
  349. package/lib/mjs/components/_classes/list/ListComponent.form.js +5 -0
  350. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +43 -12
  351. package/lib/mjs/components/_classes/multivalue/Multivalue.js +44 -3
  352. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +164 -68
  353. package/lib/mjs/components/_classes/nested/NestedComponent.form.d.ts +6 -3
  354. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +5 -0
  355. package/lib/mjs/components/_classes/nested/NestedComponent.js +182 -62
  356. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -2
  357. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  358. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +7 -1
  359. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +2 -3
  360. package/lib/mjs/components/address/Address.d.ts +4 -2
  361. package/lib/mjs/components/address/Address.form.d.ts +6 -3
  362. package/lib/mjs/components/address/Address.form.js +5 -0
  363. package/lib/mjs/components/address/Address.js +4 -0
  364. package/lib/mjs/components/address/editForm/Address.edit.provider.js +1 -1
  365. package/lib/mjs/components/button/Button.d.ts +4 -13
  366. package/lib/mjs/components/button/Button.form.d.ts +6 -3
  367. package/lib/mjs/components/button/Button.form.js +5 -0
  368. package/lib/mjs/components/button/Button.js +12 -7
  369. package/lib/mjs/components/checkbox/Checkbox.d.ts +5 -28
  370. package/lib/mjs/components/checkbox/Checkbox.form.d.ts +6 -3
  371. package/lib/mjs/components/checkbox/Checkbox.form.js +5 -0
  372. package/lib/mjs/components/checkbox/Checkbox.js +1 -1
  373. package/lib/mjs/components/checkbox/fixtures/comp6.d.ts +32 -0
  374. package/lib/mjs/components/checkbox/fixtures/comp6.js +28 -0
  375. package/lib/mjs/components/checkbox/fixtures/index.d.ts +2 -1
  376. package/lib/mjs/components/checkbox/fixtures/index.js +2 -1
  377. package/lib/mjs/components/columns/Columns.d.ts +3 -2
  378. package/lib/mjs/components/columns/Columns.form.d.ts +6 -3
  379. package/lib/mjs/components/columns/Columns.form.js +5 -0
  380. package/lib/mjs/components/columns/Columns.js +3 -3
  381. package/lib/mjs/components/container/Container.form.d.ts +6 -3
  382. package/lib/mjs/components/container/Container.form.js +5 -0
  383. package/lib/mjs/components/content/Content.d.ts +2 -1
  384. package/lib/mjs/components/content/Content.form.d.ts +6 -3
  385. package/lib/mjs/components/content/Content.form.js +5 -0
  386. package/lib/mjs/components/currency/Currency.form.d.ts +6 -3
  387. package/lib/mjs/components/currency/Currency.form.js +5 -0
  388. package/lib/mjs/components/currency/Currency.js +1 -2
  389. package/lib/mjs/components/datagrid/DataGrid.d.ts +17 -7
  390. package/lib/mjs/components/datagrid/DataGrid.form.d.ts +6 -3
  391. package/lib/mjs/components/datagrid/DataGrid.form.js +5 -0
  392. package/lib/mjs/components/datagrid/DataGrid.js +55 -37
  393. package/lib/mjs/components/datagrid/fixtures/comp-with-checkboxes.d.ts +29 -0
  394. package/lib/mjs/components/datagrid/fixtures/comp-with-checkboxes.js +34 -0
  395. package/lib/mjs/components/datagrid/fixtures/comp-with-reorder.d.ts +100 -0
  396. package/lib/mjs/components/datagrid/fixtures/comp-with-reorder.js +137 -0
  397. package/lib/mjs/components/datagrid/fixtures/comp10.d.ts +81 -0
  398. package/lib/mjs/components/datagrid/fixtures/comp10.js +85 -0
  399. package/lib/mjs/components/datagrid/fixtures/comp9.d.ts +41 -0
  400. package/lib/mjs/components/datagrid/fixtures/comp9.js +42 -0
  401. package/lib/mjs/components/datagrid/fixtures/index.d.ts +5 -1
  402. package/lib/mjs/components/datagrid/fixtures/index.js +5 -1
  403. package/lib/mjs/components/datamap/DataMap.d.ts +1 -0
  404. package/lib/mjs/components/datamap/DataMap.form.d.ts +6 -3
  405. package/lib/mjs/components/datamap/DataMap.form.js +5 -0
  406. package/lib/mjs/components/datetime/DateTime.d.ts +0 -14
  407. package/lib/mjs/components/datetime/DateTime.form.d.ts +6 -3
  408. package/lib/mjs/components/datetime/DateTime.form.js +5 -0
  409. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +1 -1
  410. package/lib/mjs/components/day/Day.d.ts +23 -49
  411. package/lib/mjs/components/day/Day.form.d.ts +6 -3
  412. package/lib/mjs/components/day/Day.form.js +5 -0
  413. package/lib/mjs/components/day/Day.js +16 -21
  414. package/lib/mjs/components/day/fixtures/comp7.d.ts +109 -0
  415. package/lib/mjs/components/day/fixtures/comp7.js +107 -0
  416. package/lib/mjs/components/day/fixtures/comp8.d.ts +41 -0
  417. package/lib/mjs/components/day/fixtures/comp8.js +38 -0
  418. package/lib/mjs/components/day/fixtures/index.d.ts +3 -1
  419. package/lib/mjs/components/day/fixtures/index.js +3 -1
  420. package/lib/mjs/components/editgrid/EditGrid.d.ts +8 -4
  421. package/lib/mjs/components/editgrid/EditGrid.form.d.ts +6 -3
  422. package/lib/mjs/components/editgrid/EditGrid.form.js +5 -0
  423. package/lib/mjs/components/editgrid/EditGrid.js +12 -25
  424. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  425. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +1 -1
  426. package/lib/mjs/components/email/Email.form.d.ts +6 -3
  427. package/lib/mjs/components/email/Email.form.js +5 -0
  428. package/lib/mjs/components/fieldset/Fieldset.form.d.ts +6 -3
  429. package/lib/mjs/components/fieldset/Fieldset.form.js +5 -0
  430. package/lib/mjs/components/file/File.d.ts +9 -23
  431. package/lib/mjs/components/file/File.form.d.ts +6 -3
  432. package/lib/mjs/components/file/File.form.js +5 -0
  433. package/lib/mjs/components/file/File.js +3 -4
  434. package/lib/mjs/components/form/Form.d.ts +38 -20
  435. package/lib/mjs/components/form/Form.form.d.ts +6 -3
  436. package/lib/mjs/components/form/Form.form.js +5 -0
  437. package/lib/mjs/components/form/Form.js +31 -18
  438. package/lib/mjs/components/hidden/Hidden.d.ts +1 -11
  439. package/lib/mjs/components/hidden/Hidden.form.d.ts +6 -3
  440. package/lib/mjs/components/hidden/Hidden.form.js +5 -0
  441. package/lib/mjs/components/hidden/Hidden.js +1 -2
  442. package/lib/mjs/components/html/HTML.d.ts +2 -1
  443. package/lib/mjs/components/html/HTML.form.d.ts +6 -3
  444. package/lib/mjs/components/html/HTML.form.js +5 -0
  445. package/lib/mjs/components/number/Number.d.ts +3 -17
  446. package/lib/mjs/components/number/Number.form.d.ts +6 -3
  447. package/lib/mjs/components/number/Number.form.js +5 -0
  448. package/lib/mjs/components/number/Number.js +2 -3
  449. package/lib/mjs/components/number/fixtures/comp8.d.ts +32 -0
  450. package/lib/mjs/components/number/fixtures/comp8.js +26 -0
  451. package/lib/mjs/components/number/fixtures/index.d.ts +2 -1
  452. package/lib/mjs/components/number/fixtures/index.js +2 -1
  453. package/lib/mjs/components/panel/Panel.form.d.ts +6 -3
  454. package/lib/mjs/components/panel/Panel.form.js +5 -0
  455. package/lib/mjs/components/panel/Panel.js +0 -1
  456. package/lib/mjs/components/password/Password.form.d.ts +6 -3
  457. package/lib/mjs/components/password/Password.form.js +5 -0
  458. package/lib/mjs/components/phonenumber/PhoneNumber.form.d.ts +6 -3
  459. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +5 -0
  460. package/lib/mjs/components/phonenumber/fixtures/comp2.d.ts +16 -0
  461. package/lib/mjs/components/phonenumber/fixtures/comp2.js +23 -0
  462. package/lib/mjs/components/phonenumber/fixtures/index.d.ts +2 -1
  463. package/lib/mjs/components/phonenumber/fixtures/index.js +2 -1
  464. package/lib/mjs/components/radio/Radio.d.ts +4 -27
  465. package/lib/mjs/components/radio/Radio.form.d.ts +6 -3
  466. package/lib/mjs/components/radio/Radio.form.js +5 -0
  467. package/lib/mjs/components/radio/Radio.js +11 -9
  468. package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +2 -9
  469. package/lib/mjs/components/recaptcha/ReCaptcha.form.d.ts +6 -3
  470. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +7 -2
  471. package/lib/mjs/components/recaptcha/ReCaptcha.js +1 -8
  472. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +33 -2
  473. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +13 -2
  474. package/lib/mjs/components/select/Select.d.ts +16 -39
  475. package/lib/mjs/components/select/Select.form.d.ts +6 -3
  476. package/lib/mjs/components/select/Select.form.js +5 -0
  477. package/lib/mjs/components/select/Select.js +24 -25
  478. package/lib/mjs/components/select/editForm/Select.edit.data.js +16 -2
  479. package/lib/mjs/components/select/fixtures/comp22.js +1 -1
  480. package/lib/mjs/components/select/fixtures/comp23.d.ts +58 -0
  481. package/lib/mjs/components/select/fixtures/comp23.js +47 -0
  482. package/lib/mjs/components/select/fixtures/comp24.d.ts +47 -0
  483. package/lib/mjs/components/select/fixtures/comp24.js +38 -0
  484. package/lib/mjs/components/select/fixtures/index.d.ts +3 -1
  485. package/lib/mjs/components/select/fixtures/index.js +3 -1
  486. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +2 -17
  487. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +6 -3
  488. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +5 -0
  489. package/lib/mjs/components/selectboxes/SelectBoxes.js +11 -10
  490. package/lib/mjs/components/signature/Signature.d.ts +0 -14
  491. package/lib/mjs/components/signature/Signature.form.d.ts +6 -3
  492. package/lib/mjs/components/signature/Signature.form.js +5 -0
  493. package/lib/mjs/components/signature/Signature.js +1 -1
  494. package/lib/mjs/components/survey/Survey.d.ts +3 -15
  495. package/lib/mjs/components/survey/Survey.form.d.ts +6 -3
  496. package/lib/mjs/components/survey/Survey.form.js +5 -0
  497. package/lib/mjs/components/table/Table.d.ts +3 -1
  498. package/lib/mjs/components/table/Table.form.d.ts +6 -3
  499. package/lib/mjs/components/table/Table.form.js +5 -0
  500. package/lib/mjs/components/table/Table.js +1 -1
  501. package/lib/mjs/components/tabs/Tabs.d.ts +4 -4
  502. package/lib/mjs/components/tabs/Tabs.form.d.ts +6 -3
  503. package/lib/mjs/components/tabs/Tabs.form.js +5 -0
  504. package/lib/mjs/components/tabs/Tabs.js +1 -2
  505. package/lib/mjs/components/tags/Tags.d.ts +0 -14
  506. package/lib/mjs/components/tags/Tags.form.d.ts +6 -3
  507. package/lib/mjs/components/tags/Tags.form.js +5 -0
  508. package/lib/mjs/components/tags/Tags.js +2 -4
  509. package/lib/mjs/components/textarea/TextArea.d.ts +4 -9
  510. package/lib/mjs/components/textarea/TextArea.form.d.ts +6 -3
  511. package/lib/mjs/components/textarea/TextArea.form.js +5 -0
  512. package/lib/mjs/components/textarea/TextArea.js +2 -2
  513. package/lib/mjs/components/textfield/TextField.d.ts +14 -30
  514. package/lib/mjs/components/textfield/TextField.form.d.ts +6 -3
  515. package/lib/mjs/components/textfield/TextField.form.js +5 -0
  516. package/lib/mjs/components/textfield/TextField.js +16 -17
  517. package/lib/mjs/components/time/Time.form.d.ts +6 -3
  518. package/lib/mjs/components/time/Time.form.js +5 -0
  519. package/lib/mjs/components/unknown/Unknown.form.d.ts +5 -34
  520. package/lib/mjs/components/unknown/Unknown.form.js +4 -0
  521. package/lib/mjs/components/url/Url.form.d.ts +6 -3
  522. package/lib/mjs/components/url/Url.form.js +5 -0
  523. package/lib/mjs/components/well/Well.form.d.ts +6 -3
  524. package/lib/mjs/components/well/Well.form.js +5 -0
  525. package/lib/mjs/formio.embed.d.ts +1 -2
  526. package/lib/mjs/formio.embed.js +2 -99
  527. package/lib/mjs/formio.form.d.ts +11 -4
  528. package/lib/mjs/formio.form.js +10 -3
  529. package/lib/mjs/providers/Providers.d.ts +36 -5
  530. package/lib/mjs/providers/Providers.js +29 -0
  531. package/lib/mjs/providers/address/AddressProvider.d.ts +131 -12
  532. package/lib/mjs/providers/address/AddressProvider.js +88 -2
  533. package/lib/mjs/providers/address/AzureAddressProvider.d.ts +48 -1
  534. package/lib/mjs/providers/address/AzureAddressProvider.js +37 -0
  535. package/lib/mjs/providers/address/CustomAddressProvider.d.ts +27 -4
  536. package/lib/mjs/providers/address/CustomAddressProvider.js +34 -0
  537. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +135 -6
  538. package/lib/mjs/providers/address/GoogleAddressProvider.js +94 -1
  539. package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +32 -7
  540. package/lib/mjs/providers/address/NominatimAddressProvider.js +33 -0
  541. package/lib/mjs/providers/address/index.d.ts +3 -1
  542. package/lib/mjs/providers/processor/fileProcessor.d.ts +7 -1
  543. package/lib/mjs/providers/processor/fileProcessor.js +6 -0
  544. package/lib/mjs/providers/storage/azure.d.ts +6 -13
  545. package/lib/mjs/providers/storage/azure.js +5 -0
  546. package/lib/mjs/providers/storage/base64.d.ts +5 -6
  547. package/lib/mjs/providers/storage/base64.js +4 -0
  548. package/lib/mjs/providers/storage/dropbox.d.ts +6 -4
  549. package/lib/mjs/providers/storage/dropbox.js +5 -0
  550. package/lib/mjs/providers/storage/googleDrive.d.ts +7 -5
  551. package/lib/mjs/providers/storage/googleDrive.js +6 -0
  552. package/lib/mjs/providers/storage/indexeddb.d.ts +5 -7
  553. package/lib/mjs/providers/storage/indexeddb.js +4 -0
  554. package/lib/mjs/providers/storage/s3.d.ts +6 -20
  555. package/lib/mjs/providers/storage/s3.js +5 -0
  556. package/lib/mjs/providers/storage/url.d.ts +6 -7
  557. package/lib/mjs/providers/storage/url.js +10 -0
  558. package/lib/mjs/providers/storage/util.d.ts +24 -1
  559. package/lib/mjs/providers/storage/util.js +18 -0
  560. package/lib/mjs/templates/Templates.d.ts +1 -0
  561. package/lib/mjs/translations/en.d.ts +5 -0
  562. package/lib/mjs/translations/en.js +6 -1
  563. package/lib/mjs/utils/ChoicesWrapper.d.ts +1 -1
  564. package/lib/mjs/utils/ChoicesWrapper.js +13 -2
  565. package/lib/mjs/utils/Evaluator.d.ts +6 -3
  566. package/lib/mjs/utils/Evaluator.js +9 -20
  567. package/lib/mjs/utils/builder.d.ts +9 -7
  568. package/lib/mjs/utils/builder.js +10 -5
  569. package/lib/mjs/utils/calendarUtils.d.ts +7 -13
  570. package/lib/mjs/utils/calendarUtils.js +10 -17
  571. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -3
  572. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +1 -1
  573. package/lib/mjs/utils/formUtils.d.ts +43 -171
  574. package/lib/mjs/utils/formUtils.js +6 -554
  575. package/lib/mjs/utils/utils.d.ts +367 -218
  576. package/lib/mjs/utils/utils.js +409 -233
  577. package/lib/mjs/widgets/CalendarWidget.d.ts +9 -10
  578. package/lib/mjs/widgets/CalendarWidget.js +11 -13
  579. package/package.json +22 -23
  580. package/sdk.d.ts +1 -0
  581. package/utils.d.ts +1 -0
@@ -1,584 +1,53 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getStrings = exports.getValue = exports.escapeRegExCharacters = exports.formatAsCurrency = exports.parseFloatExt = exports.hasCondition = exports.flattenComponents = exports.applyFormChanges = exports.generateFormChange = exports.removeComponent = exports.findComponent = exports.findComponents = exports.searchComponents = exports.getComponent = exports.matchComponent = exports.eachComponent = exports.isLayoutComponent = void 0;
7
- const get_1 = __importDefault(require("lodash/get"));
8
- const set_1 = __importDefault(require("lodash/set"));
9
- const has_1 = __importDefault(require("lodash/has"));
10
- const clone_1 = __importDefault(require("lodash/clone"));
11
- const forOwn_1 = __importDefault(require("lodash/forOwn"));
12
- const isString_1 = __importDefault(require("lodash/isString"));
13
- const isNaN_1 = __importDefault(require("lodash/isNaN"));
14
- const isNil_1 = __importDefault(require("lodash/isNil"));
15
- const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
16
- const round_1 = __importDefault(require("lodash/round"));
17
- const chunk_1 = __importDefault(require("lodash/chunk"));
18
- const pad_1 = __importDefault(require("lodash/pad"));
19
- const fast_json_patch_1 = require("fast-json-patch");
20
- const lodash_1 = __importDefault(require("lodash"));
21
- const utils_1 = require("./utils");
22
- /**
23
- * Determine if a component is a layout component or not.
24
- *
25
- * @param {Object} component
26
- * The component to check.
27
- *
28
- * @returns {Boolean}
29
- * Whether or not the component is a layout component.
30
- */
31
- function isLayoutComponent(component) {
32
- return Boolean((component.columns && Array.isArray(component.columns)) ||
33
- (component.rows && Array.isArray(component.rows)) ||
34
- (component.components && Array.isArray(component.components)));
35
- }
36
- exports.isLayoutComponent = isLayoutComponent;
37
- /**
38
- * Iterate through each component within a form.
39
- *
40
- * @param {Object} components
41
- * The components to iterate.
42
- * @param {Function} fn
43
- * The iteration function to invoke for each component.
44
- * @param {Boolean} includeAll
45
- * Whether or not to include layout components.
46
- * @param {String} path
47
- * The current data path of the element. Example: data.user.firstName
48
- * @param {Object} parent
49
- * The parent object.
50
- */
51
- function eachComponent(components, fn, includeAll, path, parent, inRecursion) {
52
- if (!components)
53
- return;
54
- path = path || '';
55
- if (inRecursion) {
56
- if (components.noRecurse) {
57
- delete components.noRecurse;
58
- return;
59
- }
60
- components.noRecurse = true;
61
- }
62
- components.forEach((component) => {
63
- if (!component) {
64
- return;
65
- }
66
- const hasColumns = component.columns && Array.isArray(component.columns);
67
- const hasRows = component.rows && Array.isArray(component.rows);
68
- const hasComps = component.components && Array.isArray(component.components);
69
- let noRecurse = false;
70
- const newPath = component.key ? (path ? (`${path}.${component.key}`) : component.key) : '';
71
- // Keep track of parent references.
72
- if (parent) {
73
- // Ensure we don't create infinite JSON structures.
74
- component.parent = (0, clone_1.default)(parent);
75
- delete component.parent.components;
76
- delete component.parent.componentMap;
77
- delete component.parent.columns;
78
- delete component.parent.rows;
79
- }
80
- // there's no need to add other layout components here because we expect that those would either have columns, rows or components
81
- const layoutTypes = ['htmlelement', 'content'];
82
- const isLayoutComponent = hasColumns || hasRows || (hasComps && !component.input) || layoutTypes.indexOf(component.type) > -1;
83
- if (includeAll || component.tree || !isLayoutComponent) {
84
- noRecurse = fn(component, newPath, components);
85
- }
86
- const subPath = () => {
87
- if (component.key &&
88
- !['panel', 'table', 'well', 'columns', 'fieldset', 'tabs', 'form'].includes(component.type) &&
89
- (['datagrid', 'container', 'editgrid', 'address', 'dynamicWizard', 'datatable', 'tagpad'].includes(component.type) ||
90
- component.tree)) {
91
- return newPath;
92
- }
93
- else if (component.key &&
94
- component.type === 'form') {
95
- return `${newPath}.data`;
96
- }
97
- return path;
98
- };
99
- if (!noRecurse) {
100
- if (hasColumns) {
101
- component.columns.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);
102
- }
103
- else if (hasRows) {
104
- component.rows.forEach((row) => {
105
- if (Array.isArray(row)) {
106
- row.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);
107
- }
108
- });
109
- }
110
- else if (hasComps) {
111
- eachComponent(component.components, fn, includeAll, subPath(), parent ? component : null, true);
112
- }
113
- }
114
- });
115
- if (components.noRecurse) {
116
- delete components.noRecurse;
117
- }
118
- }
3
+ exports.isComponentDataEmpty = exports.getEmptyValue = exports.findComponent = exports.applyFormChanges = exports.generateFormChange = exports.getStrings = exports.getValue = exports.escapeRegExCharacters = exports.formatAsCurrency = exports.parseFloatExt = exports.hasCondition = exports.removeComponent = exports.searchComponents = exports.getComponent = exports.matchComponent = exports.isLayoutComponent = exports.getComponentActualValue = exports.getComponentData = exports.eachComponentAsync = exports.eachComponent = exports.componentInfo = exports.getContextualRowData = exports.getContextualRowPath = exports.getComponentKey = exports.eachComponentData = exports.eachComponentDataAsync = exports.componentChildPath = exports.componentPath = exports.isComponentNestedDataType = exports.isComponentModelType = exports.getComponentPath = exports.getComponentAbsolutePath = exports.getModelType = exports.MODEL_TYPES = exports.uniqueName = exports.guid = exports.flattenComponents = exports.findComponents = void 0;
4
+ const core_1 = require("@formio/core");
5
+ const { flattenComponents, guid, uniqueName, MODEL_TYPES, getModelType, getComponentAbsolutePath, getComponentPath, isComponentModelType, isComponentNestedDataType, componentPath, componentChildPath, eachComponentDataAsync, eachComponentData, getComponentKey, getContextualRowPath, getContextualRowData, componentInfo, eachComponent, eachComponentAsync, getComponentData, getComponentActualValue, isLayoutComponent, matchComponent, getComponent, searchComponents, removeComponent, hasCondition, parseFloatExt, formatAsCurrency, escapeRegExCharacters, getValue, getStrings, generateFormChange, applyFormChanges, findComponent, getEmptyValue, isComponentDataEmpty } = core_1.Utils;
6
+ exports.flattenComponents = flattenComponents;
7
+ exports.guid = guid;
8
+ exports.uniqueName = uniqueName;
9
+ exports.MODEL_TYPES = MODEL_TYPES;
10
+ exports.getModelType = getModelType;
11
+ exports.getComponentAbsolutePath = getComponentAbsolutePath;
12
+ exports.getComponentPath = getComponentPath;
13
+ exports.isComponentModelType = isComponentModelType;
14
+ exports.isComponentNestedDataType = isComponentNestedDataType;
15
+ exports.componentPath = componentPath;
16
+ exports.componentChildPath = componentChildPath;
17
+ exports.eachComponentDataAsync = eachComponentDataAsync;
18
+ exports.eachComponentData = eachComponentData;
19
+ exports.getComponentKey = getComponentKey;
20
+ exports.getContextualRowPath = getContextualRowPath;
21
+ exports.getContextualRowData = getContextualRowData;
22
+ exports.componentInfo = componentInfo;
119
23
  exports.eachComponent = eachComponent;
120
- /**
121
- * Matches if a component matches the query.
122
- *
123
- * @param component
124
- * @param query
125
- * @return {boolean}
126
- */
127
- function matchComponent(component, query) {
128
- if ((0, isString_1.default)(query)) {
129
- return (component.key === query) || (component.path === query);
130
- }
131
- else {
132
- let matches = false;
133
- (0, forOwn_1.default)(query, (value, key) => {
134
- matches = ((0, get_1.default)(component, key) === value);
135
- if (!matches) {
136
- return false;
137
- }
138
- });
139
- return matches;
140
- }
141
- }
24
+ exports.eachComponentAsync = eachComponentAsync;
25
+ exports.getComponentData = getComponentData;
26
+ exports.getComponentActualValue = getComponentActualValue;
27
+ exports.isLayoutComponent = isLayoutComponent;
142
28
  exports.matchComponent = matchComponent;
143
- /**
144
- * Get a component by its key
145
- *
146
- * @param {Object} components
147
- * The components to iterate.
148
- * @param {String|Object} key
149
- * The key of the component to get, or a query of the component to search.
150
- *
151
- * @returns {Object}
152
- * The component that matches the given key, or undefined if not found.
153
- */
154
- function getComponent(components, key, includeAll) {
155
- let result;
156
- eachComponent(components, (component, path) => {
157
- if ((path === key) || (component.path === key)) {
158
- result = component;
159
- return true;
160
- }
161
- }, includeAll);
162
- return result;
163
- }
164
29
  exports.getComponent = getComponent;
165
- /**
166
- * Finds a component provided a query of properties of that component.
167
- *
168
- * @param components
169
- * @param query
170
- * @return {*}
171
- */
172
- function searchComponents(components, query) {
173
- const results = [];
174
- eachComponent(components, (component) => {
175
- if (matchComponent(component, query)) {
176
- results.push(component);
177
- }
178
- }, true);
179
- return results;
180
- }
181
30
  exports.searchComponents = searchComponents;
182
- /**
183
- * Deprecated version of findComponents. Renamed to searchComponents.
184
- *
185
- * @param components
186
- * @param query
187
- * @returns {*}
188
- */
189
- function findComponents(components, query) {
190
- console.warn('formio.js/utils findComponents is deprecated. Use searchComponents instead.');
191
- return searchComponents(components, query);
192
- }
193
- exports.findComponents = findComponents;
194
- /**
195
- * This function will find a component in a form and return the component AND THE PATH to the component in the form.
196
- * Path to the component is stored as an array of nested components and their indexes.The Path is being filled recursively
197
- * when you iterating through the nested structure.
198
- * If the component is not found the callback won't be called and function won't return anything.
199
- *
200
- * @param components
201
- * @param key
202
- * @param fn
203
- * @param path
204
- * @returns {*}
205
- */
206
- function findComponent(components, key, path, fn) {
207
- if (!components)
208
- return;
209
- path = path || [];
210
- if (!key) {
211
- return fn(components);
212
- }
213
- components.forEach(function (component, index) {
214
- var newPath = path.slice();
215
- // Add an index of the component it iterates through in nested structure
216
- newPath.push(index);
217
- if (!component)
218
- return;
219
- if (component.hasOwnProperty('columns') && Array.isArray(component.columns)) {
220
- newPath.push('columns');
221
- component.columns.forEach(function (column, index) {
222
- var colPath = newPath.slice();
223
- colPath.push(index);
224
- colPath.push('components');
225
- findComponent(column.components, key, colPath, fn);
226
- });
227
- }
228
- if (component.hasOwnProperty('rows') && Array.isArray(component.rows)) {
229
- newPath.push('rows');
230
- component.rows.forEach(function (row, index) {
231
- var rowPath = newPath.slice();
232
- rowPath.push(index);
233
- row.forEach(function (column, index) {
234
- var colPath = rowPath.slice();
235
- colPath.push(index);
236
- colPath.push('components');
237
- findComponent(column.components, key, colPath, fn);
238
- });
239
- });
240
- }
241
- if (component.hasOwnProperty('components') && Array.isArray(component.components)) {
242
- newPath.push('components');
243
- findComponent(component.components, key, newPath, fn);
244
- }
245
- if (component.key === key) {
246
- //Final callback if the component is found
247
- fn(component, newPath, components);
248
- }
249
- });
250
- }
251
- exports.findComponent = findComponent;
252
- /**
253
- * Remove a component by path.
254
- *
255
- * @param components
256
- * @param path
257
- */
258
- function removeComponent(components, path) {
259
- // Using _.unset() leave a null value. Use Array splice instead.
260
- var index = path.pop();
261
- if (path.length !== 0) {
262
- components = (0, get_1.default)(components, path);
263
- }
264
- components.splice(index, 1);
265
- }
266
31
  exports.removeComponent = removeComponent;
267
- function generateFormChange(type, data) {
268
- let change;
269
- switch (type) {
270
- case 'add':
271
- change = {
272
- op: 'add',
273
- key: data.component.key,
274
- container: data.parent.key, // Parent component
275
- path: data.path, // Path to container within parent component.
276
- index: data.index, // Index of component in parent container.
277
- component: data.component
278
- };
279
- break;
280
- case 'edit':
281
- change = {
282
- op: 'edit',
283
- key: data.originalComponent.key,
284
- patches: (0, fast_json_patch_1.compare)(data.originalComponent, data.component)
285
- };
286
- // Don't save if nothing changed.
287
- if (!change.patches.length) {
288
- change = null;
289
- }
290
- break;
291
- case 'remove':
292
- change = {
293
- op: 'remove',
294
- key: data.component.key,
295
- };
296
- break;
297
- }
298
- return change;
299
- }
300
- exports.generateFormChange = generateFormChange;
301
- function applyFormChanges(form, changes) {
302
- const failed = [];
303
- changes.forEach(function (change) {
304
- var found = false;
305
- switch (change.op) {
306
- case 'add':
307
- var newComponent = change.component;
308
- // Find the container to set the component in.
309
- findComponent(form.components, change.container, null, function (parent) {
310
- if (!change.container) {
311
- parent = form;
312
- }
313
- // A move will first run an add so remove any existing components with matching key before inserting.
314
- findComponent(form.components, change.key, null, function (component, path) {
315
- // If found, use the existing component. (If someone else edited it, the changes would be here)
316
- newComponent = component;
317
- removeComponent(form.components, path);
318
- });
319
- found = true;
320
- var container = (0, get_1.default)(parent, change.path);
321
- container.splice(change.index, 0, newComponent);
322
- });
323
- break;
324
- case 'remove':
325
- findComponent(form.components, change.key, null, function (component, path) {
326
- found = true;
327
- const oldComponent = (0, get_1.default)(form.components, path);
328
- if (oldComponent.key !== component.key) {
329
- path.pop();
330
- }
331
- removeComponent(form.components, path);
332
- });
333
- break;
334
- case 'edit':
335
- findComponent(form.components, change.key, null, function (component, path) {
336
- found = true;
337
- try {
338
- const oldComponent = (0, get_1.default)(form.components, path);
339
- const newComponent = (0, fast_json_patch_1.applyPatch)(component, change.patches).newDocument;
340
- if (oldComponent.key !== newComponent.key) {
341
- path.pop();
342
- }
343
- (0, set_1.default)(form.components, path, newComponent);
344
- }
345
- catch (err) {
346
- failed.push(change);
347
- }
348
- });
349
- break;
350
- case 'move':
351
- break;
352
- }
353
- if (!found) {
354
- failed.push(change);
355
- }
356
- });
357
- return {
358
- form,
359
- failed
360
- };
361
- }
362
- exports.applyFormChanges = applyFormChanges;
363
- /**
364
- * Flatten the form components for data manipulation.
365
- *
366
- * @param {Object} components
367
- * The components to iterate.
368
- * @param {Boolean} includeAll
369
- * Whether or not to include layout components.
370
- *
371
- * @returns {Object}
372
- * The flattened components map.
373
- */
374
- function flattenComponents(components, includeAll = false) {
375
- const flattened = {};
376
- eachComponent(components, (component, path) => {
377
- flattened[path] = component;
378
- }, includeAll);
379
- return flattened;
380
- }
381
- exports.flattenComponents = flattenComponents;
382
- /**
383
- * Returns if this component has a conditional statement.
384
- *
385
- * @param component - The component JSON schema.
386
- *
387
- * @returns {boolean} - TRUE - This component has a conditional, FALSE - No conditional provided.
388
- */
389
- function hasCondition(component) {
390
- return Boolean((component.customConditional) ||
391
- (component.conditional && (component.conditional.when ||
392
- (lodash_1.default.some(component.conditional.conditions || [], (condition => condition.component && condition.operator))) ||
393
- component.conditional.json ||
394
- component.conditional.condition)));
395
- }
396
32
  exports.hasCondition = hasCondition;
397
- /**
398
- * Extension of standard #parseFloat(value) function, that also clears input string.
399
- *
400
- * @param {any} value
401
- * The value to parse.
402
- *
403
- * @returns {Number}
404
- * Parsed value.
405
- */
406
- function parseFloatExt(value) {
407
- return parseFloat((0, isString_1.default)(value)
408
- ? value.replace(/[^\de.+-]/gi, '')
409
- : value);
410
- }
411
33
  exports.parseFloatExt = parseFloatExt;
412
- /**
413
- * Formats provided value in way how Currency component uses it.
414
- *
415
- * @param {any} value
416
- * The value to format.
417
- *
418
- * @returns {String}
419
- * Value formatted for Currency component.
420
- */
421
- function formatAsCurrency(value) {
422
- const parsedValue = parseFloatExt(value);
423
- if ((0, isNaN_1.default)(parsedValue)) {
424
- return '';
425
- }
426
- const parts = (0, round_1.default)(parsedValue, 2)
427
- .toString()
428
- .split('.');
429
- parts[0] = (0, chunk_1.default)(Array.from(parts[0]).reverse(), 3)
430
- .reverse()
431
- .map((part) => part
432
- .reverse()
433
- .join(''))
434
- .join(',');
435
- parts[1] = (0, pad_1.default)(parts[1], 2, '0');
436
- return parts.join('.');
437
- }
438
34
  exports.formatAsCurrency = formatAsCurrency;
439
- /**
440
- * Escapes RegEx characters in provided String value.
441
- *
442
- * @param {String} value
443
- * String for escaping RegEx characters.
444
- * @returns {string}
445
- * String with escaped RegEx characters.
446
- */
447
- function escapeRegExCharacters(value) {
448
- return value.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
449
- }
450
35
  exports.escapeRegExCharacters = escapeRegExCharacters;
451
- /**
452
- * Get the value for a component key, in the given submission.
453
- *
454
- * @param {Object} submission
455
- * A submission object to search.
456
- * @param {String} key
457
- * A for components API key to search for.
458
- */
459
- function getValue(submission, key) {
460
- const search = (data) => {
461
- if ((0, isPlainObject_1.default)(data)) {
462
- if ((0, has_1.default)(data, key)) {
463
- return lodash_1.default.get(data, key);
464
- }
465
- let value = null;
466
- (0, forOwn_1.default)(data, (prop) => {
467
- const result = search(prop);
468
- if (!(0, isNil_1.default)(result)) {
469
- value = result;
470
- return false;
471
- }
472
- });
473
- return value;
474
- }
475
- else {
476
- return null;
477
- }
478
- };
479
- return search(submission.data);
480
- }
481
36
  exports.getValue = getValue;
37
+ exports.getStrings = getStrings;
38
+ exports.generateFormChange = generateFormChange;
39
+ exports.applyFormChanges = applyFormChanges;
40
+ exports.findComponent = findComponent;
41
+ exports.getEmptyValue = getEmptyValue;
42
+ exports.isComponentDataEmpty = isComponentDataEmpty;
482
43
  /**
483
- * Iterate over all components in a form and get string values for translation.
484
- * @param form
44
+ * Deprecated version of findComponents. Renamed to searchComponents.
45
+ * @param {import('@formio/core').Component[]} components - The components to find components within.
46
+ * @param {object} query - The query to use when searching for the components.
47
+ * @returns {import('@formio/core').Component[]} - The result of the component that is found.
485
48
  */
486
- function getStrings(form) {
487
- const properties = ['label', 'title', 'legend', 'tooltip', 'description', 'placeholder', 'prefix', 'suffix', 'errorLabel', 'content', 'html'];
488
- const strings = [];
489
- eachComponent(form.components, component => {
490
- properties.forEach(property => {
491
- if (component.hasOwnProperty(property) && component[property]) {
492
- strings.push({
493
- key: component.key,
494
- type: component.type,
495
- property,
496
- string: component[property]
497
- });
498
- }
499
- });
500
- if ((!component.dataSrc || component.dataSrc === 'values') && component.hasOwnProperty('values') && Array.isArray(component.values) && component.values.length) {
501
- component.values.forEach((value, index) => {
502
- strings.push({
503
- key: component.key,
504
- property: `value[${index}].label`,
505
- string: component.values[index].label
506
- });
507
- });
508
- }
509
- // Hard coded values from Day component
510
- if (component.type === 'day') {
511
- [
512
- 'day',
513
- 'month',
514
- 'year',
515
- 'Day',
516
- 'Month',
517
- 'Year',
518
- 'january',
519
- 'february',
520
- 'march',
521
- 'april',
522
- 'may',
523
- 'june',
524
- 'july',
525
- 'august',
526
- 'september',
527
- 'october',
528
- 'november',
529
- 'december'
530
- ].forEach(string => {
531
- strings.push({
532
- key: component.key,
533
- property: 'day',
534
- string,
535
- });
536
- });
537
- if (component.fields.day.placeholder) {
538
- strings.push({
539
- key: component.key,
540
- property: 'fields.day.placeholder',
541
- string: component.fields.day.placeholder,
542
- });
543
- }
544
- if (component.fields.month.placeholder) {
545
- strings.push({
546
- key: component.key,
547
- property: 'fields.month.placeholder',
548
- string: component.fields.month.placeholder,
549
- });
550
- }
551
- if (component.fields.year.placeholder) {
552
- strings.push({
553
- key: component.key,
554
- property: 'fields.year.placeholder',
555
- string: component.fields.year.placeholder,
556
- });
557
- }
558
- }
559
- if (component.type === 'editgrid') {
560
- const string = component.addAnother || 'Add Another';
561
- if (component.addAnother) {
562
- strings.push({
563
- key: component.key,
564
- property: 'addAnother',
565
- string,
566
- });
567
- }
568
- }
569
- if (component.type === 'select') {
570
- [
571
- 'loading...',
572
- 'Type to search'
573
- ].forEach(string => {
574
- strings.push({
575
- key: component.key,
576
- property: 'select',
577
- string,
578
- });
579
- });
580
- }
581
- }, true);
582
- return strings;
49
+ function findComponents(components, query) {
50
+ console.warn('formio.js/utils findComponents is deprecated. Use searchComponents instead.');
51
+ return searchComponents(components, query);
583
52
  }
584
- exports.getStrings = getStrings;
53
+ exports.findComponents = findComponents;