@formio/js 5.0.0-rc.19 → 5.0.0-rc.21

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 (370) hide show
  1. package/README.md +1 -1
  2. package/dist/formio.builder.css +14 -22
  3. package/dist/formio.builder.min.css +1 -1
  4. package/dist/formio.embed.css +1 -40
  5. package/dist/formio.embed.js +2 -90
  6. package/dist/formio.embed.min.css +1 -1
  7. package/dist/formio.embed.min.js +1 -1
  8. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  9. package/dist/formio.form.css +10 -2
  10. package/dist/formio.form.js +1267 -1103
  11. package/dist/formio.form.min.css +1 -1
  12. package/dist/formio.form.min.js +1 -1
  13. package/dist/formio.form.min.js.LICENSE.txt +3 -8
  14. package/dist/formio.full.css +14 -22
  15. package/dist/formio.full.js +1302 -1127
  16. package/dist/formio.full.min.css +1 -1
  17. package/dist/formio.full.min.js +1 -1
  18. package/dist/formio.full.min.js.LICENSE.txt +3 -8
  19. package/dist/formio.js +713 -626
  20. package/dist/formio.min.js +1 -1
  21. package/dist/formio.min.js.LICENSE.txt +2 -7
  22. package/dist/formio.utils.js +220 -13
  23. package/dist/formio.utils.min.js +1 -1
  24. package/dist/formio.utils.min.js.LICENSE.txt +2 -7
  25. package/lib/cjs/CDN.d.ts +1 -0
  26. package/lib/cjs/CDN.js +2 -1
  27. package/lib/cjs/Element.js +7 -2
  28. package/lib/cjs/Embed.d.ts +21 -1
  29. package/lib/cjs/Embed.js +211 -308
  30. package/lib/cjs/Form.d.ts +9 -6
  31. package/lib/cjs/Form.js +53 -11
  32. package/lib/cjs/PDF.d.ts +11 -3
  33. package/lib/cjs/PDF.js +4 -5
  34. package/lib/cjs/PDFBuilder.js +2 -3
  35. package/lib/cjs/Webform.d.ts +10 -13
  36. package/lib/cjs/Webform.js +46 -125
  37. package/lib/cjs/WebformBuilder.d.ts +6 -1
  38. package/lib/cjs/WebformBuilder.js +105 -65
  39. package/lib/cjs/Wizard.d.ts +8 -5
  40. package/lib/cjs/Wizard.js +12 -12
  41. package/lib/cjs/WizardBuilder.d.ts +6 -4
  42. package/lib/cjs/WizardBuilder.js +20 -3
  43. package/lib/cjs/addons/FormioAddon.d.ts +1 -1
  44. package/lib/cjs/addons/FormioAddon.js +1 -2
  45. package/lib/cjs/components/_classes/component/Component.d.ts +24 -8
  46. package/lib/cjs/components/_classes/component/Component.js +44 -14
  47. package/lib/cjs/components/_classes/input/Input.d.ts +1 -1
  48. package/lib/cjs/components/_classes/input/Input.js +1 -2
  49. package/lib/cjs/components/_classes/list/ListComponent.d.ts +4 -0
  50. package/lib/cjs/components/_classes/list/ListComponent.js +43 -6
  51. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +1 -0
  52. package/lib/cjs/components/_classes/multivalue/Multivalue.js +10 -4
  53. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +5 -2
  54. package/lib/cjs/components/_classes/nested/NestedComponent.js +9 -10
  55. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -0
  56. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +4 -0
  57. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
  58. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +4 -0
  59. package/lib/cjs/components/address/Address.d.ts +8 -0
  60. package/lib/cjs/components/address/Address.js +5 -0
  61. package/lib/cjs/components/button/Button.d.ts +1 -0
  62. package/lib/cjs/components/button/Button.js +5 -3
  63. package/lib/cjs/components/checkbox/Checkbox.d.ts +41 -0
  64. package/lib/cjs/components/checkbox/Checkbox.js +32 -5
  65. package/lib/cjs/components/columns/Columns.d.ts +2 -0
  66. package/lib/cjs/components/columns/Columns.js +4 -0
  67. package/lib/cjs/components/container/Container.d.ts +1 -0
  68. package/lib/cjs/components/container/Container.js +4 -0
  69. package/lib/cjs/components/content/Content.d.ts +2 -0
  70. package/lib/cjs/components/content/Content.js +4 -2
  71. package/lib/cjs/components/currency/editForm/Currency.edit.data.d.ts +14 -2
  72. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +4 -0
  73. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +4 -0
  74. package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -0
  75. package/lib/cjs/components/datagrid/DataGrid.js +8 -1
  76. package/lib/cjs/components/datamap/DataMap.d.ts +1 -0
  77. package/lib/cjs/components/datamap/DataMap.js +4 -0
  78. package/lib/cjs/components/datetime/DateTime.d.ts +23 -0
  79. package/lib/cjs/components/datetime/DateTime.js +20 -1
  80. package/lib/cjs/components/day/Day.d.ts +22 -1
  81. package/lib/cjs/components/day/Day.js +20 -6
  82. package/lib/cjs/components/day/fixtures/comp3.js +2 -2
  83. package/lib/cjs/components/editgrid/EditGrid.d.ts +4 -3
  84. package/lib/cjs/components/editgrid/EditGrid.js +11 -6
  85. package/lib/cjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +190 -0
  86. package/lib/cjs/components/editgrid/fixtures/comp-with-custom-default-value.js +227 -0
  87. package/lib/cjs/components/editgrid/fixtures/comp15.d.ts +54 -0
  88. package/lib/cjs/components/editgrid/fixtures/comp15.js +51 -0
  89. package/lib/cjs/components/editgrid/fixtures/index.d.ts +3 -1
  90. package/lib/cjs/components/editgrid/fixtures/index.js +5 -1
  91. package/lib/cjs/components/fieldset/Fieldset.d.ts +2 -0
  92. package/lib/cjs/components/fieldset/Fieldset.js +4 -0
  93. package/lib/cjs/components/file/File.d.ts +28 -6
  94. package/lib/cjs/components/file/File.js +40 -15
  95. package/lib/cjs/components/file/editForm/File.edit.file.d.ts +62 -0
  96. package/lib/cjs/components/file/editForm/File.edit.file.js +29 -2
  97. package/lib/cjs/components/form/Form.d.ts +4 -0
  98. package/lib/cjs/components/form/Form.js +12 -10
  99. package/lib/cjs/components/hidden/Hidden.d.ts +1 -0
  100. package/lib/cjs/components/hidden/Hidden.js +1 -0
  101. package/lib/cjs/components/html/HTML.d.ts +2 -0
  102. package/lib/cjs/components/html/HTML.js +4 -0
  103. package/lib/cjs/components/number/Number.d.ts +24 -1
  104. package/lib/cjs/components/number/Number.js +18 -6
  105. package/lib/cjs/components/panel/Panel.d.ts +1 -0
  106. package/lib/cjs/components/panel/Panel.js +3 -0
  107. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +9 -0
  108. package/lib/cjs/components/radio/Radio.d.ts +24 -3
  109. package/lib/cjs/components/radio/Radio.js +89 -18
  110. package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +2 -1
  111. package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
  112. package/lib/cjs/components/resource/Resource.d.ts +7 -0
  113. package/lib/cjs/components/resource/Resource.js +0 -1
  114. package/lib/cjs/components/resource/editForm/Resource.edit.display.js +1 -1
  115. package/lib/cjs/components/select/Select.d.ts +25 -5
  116. package/lib/cjs/components/select/Select.js +51 -51
  117. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +37 -0
  118. package/lib/cjs/components/selectboxes/SelectBoxes.js +60 -25
  119. package/lib/cjs/components/selectboxes/fixtures/comp4.d.ts +30 -27
  120. package/lib/cjs/components/selectboxes/fixtures/comp4.js +47 -32
  121. package/lib/cjs/components/selectboxes/fixtures/comp6.d.ts +14 -0
  122. package/lib/cjs/components/selectboxes/fixtures/comp6.js +15 -0
  123. package/lib/cjs/components/selectboxes/fixtures/index.d.ts +2 -1
  124. package/lib/cjs/components/selectboxes/fixtures/index.js +3 -1
  125. package/lib/cjs/components/signature/Signature.d.ts +22 -1
  126. package/lib/cjs/components/signature/Signature.js +16 -3
  127. package/lib/cjs/components/survey/Survey.d.ts +21 -0
  128. package/lib/cjs/components/survey/Survey.js +9 -0
  129. package/lib/cjs/components/table/Table.d.ts +2 -0
  130. package/lib/cjs/components/table/Table.js +4 -0
  131. package/lib/cjs/components/tabs/Tabs.d.ts +2 -0
  132. package/lib/cjs/components/tabs/Tabs.js +4 -0
  133. package/lib/cjs/components/tags/Tags.d.ts +21 -0
  134. package/lib/cjs/components/tags/Tags.js +11 -0
  135. package/lib/cjs/components/textarea/TextArea.d.ts +3 -2
  136. package/lib/cjs/components/textarea/TextArea.js +4 -5
  137. package/lib/cjs/components/textarea/fixtures/comp4.d.ts +30 -0
  138. package/lib/cjs/components/textarea/fixtures/comp4.js +27 -0
  139. package/lib/cjs/components/textarea/fixtures/index.d.ts +2 -1
  140. package/lib/cjs/components/textarea/fixtures/index.js +3 -1
  141. package/lib/cjs/components/textfield/TextField.d.ts +22 -0
  142. package/lib/cjs/components/textfield/TextField.js +11 -3
  143. package/lib/cjs/components/time/Time.d.ts +11 -0
  144. package/lib/cjs/components/time/Time.js +6 -1
  145. package/lib/cjs/components/tree/Tree.d.ts +5 -4
  146. package/lib/cjs/components/tree/Tree.form.js +5 -0
  147. package/lib/cjs/components/tree/Tree.js +8 -9
  148. package/lib/cjs/components/tree/editForm/Tree.edit.display.d.ts +9 -0
  149. package/lib/cjs/components/tree/editForm/Tree.edit.display.js +12 -0
  150. package/lib/cjs/components/well/Well.d.ts +2 -0
  151. package/lib/cjs/components/well/Well.js +4 -0
  152. package/lib/cjs/formio.embed.d.ts +2 -1
  153. package/lib/cjs/formio.embed.js +96 -1
  154. package/lib/cjs/formio.form.d.ts +4 -3
  155. package/lib/cjs/formio.form.js +17 -8
  156. package/lib/cjs/licenses/Licenses.d.ts +7 -0
  157. package/lib/cjs/licenses/Licenses.js +22 -0
  158. package/lib/cjs/licenses/index.d.ts +2 -0
  159. package/lib/cjs/licenses/index.js +7 -0
  160. package/lib/cjs/providers/Providers.d.ts +31 -11
  161. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +2 -2
  162. package/lib/cjs/providers/address/GoogleAddressProvider.js +2 -3
  163. package/lib/cjs/providers/processor/fileProcessor.d.ts +1 -1
  164. package/lib/cjs/providers/processor/fileProcessor.js +1 -5
  165. package/lib/cjs/providers/storage/azure.d.ts +10 -1
  166. package/lib/cjs/providers/storage/azure.js +7 -2
  167. package/lib/cjs/providers/storage/base64.d.ts +2 -2
  168. package/lib/cjs/providers/storage/base64.js +2 -6
  169. package/lib/cjs/providers/storage/dropbox.d.ts +2 -2
  170. package/lib/cjs/providers/storage/dropbox.js +2 -6
  171. package/lib/cjs/providers/storage/googleDrive.d.ts +3 -2
  172. package/lib/cjs/providers/storage/googleDrive.js +6 -6
  173. package/lib/cjs/providers/storage/indexeddb.d.ts +3 -3
  174. package/lib/cjs/providers/storage/indexeddb.js +9 -13
  175. package/lib/cjs/providers/storage/s3.d.ts +11 -1
  176. package/lib/cjs/providers/storage/s3.js +5 -2
  177. package/lib/cjs/providers/storage/uploadAdapter.js +1 -5
  178. package/lib/cjs/providers/storage/url.d.ts +2 -2
  179. package/lib/cjs/providers/storage/url.js +12 -8
  180. package/lib/cjs/providers/storage/xhr.d.ts +1 -1
  181. package/lib/cjs/providers/storage/xhr.js +1 -2
  182. package/lib/cjs/templates/index.d.ts +226 -1
  183. package/lib/cjs/utils/Evaluator.js +4 -33
  184. package/lib/cjs/utils/i18n.d.ts +16 -0
  185. package/lib/cjs/utils/i18n.js +88 -0
  186. package/lib/cjs/utils/utils.d.ts +11 -1
  187. package/lib/cjs/utils/utils.js +29 -10
  188. package/lib/cjs/validator/Validator.d.ts +30 -2
  189. package/lib/cjs/validator/Validator.js +32 -9
  190. package/lib/cjs/validator/rules/Select.js +1 -2
  191. package/lib/cjs/validator/rules/Unique.d.ts +1 -1
  192. package/lib/cjs/validator/rules/Unique.js +1 -2
  193. package/lib/cjs/widgets/CalendarWidget.d.ts +1 -0
  194. package/lib/cjs/widgets/InputWidget.d.ts +1 -1
  195. package/lib/cjs/widgets/InputWidget.js +1 -2
  196. package/lib/mjs/CDN.d.ts +1 -0
  197. package/lib/mjs/CDN.js +2 -1
  198. package/lib/mjs/Element.js +6 -2
  199. package/lib/mjs/Embed.d.ts +21 -1
  200. package/lib/mjs/Embed.js +208 -319
  201. package/lib/mjs/Form.d.ts +9 -6
  202. package/lib/mjs/Form.js +53 -11
  203. package/lib/mjs/PDF.d.ts +11 -3
  204. package/lib/mjs/PDF.js +4 -5
  205. package/lib/mjs/PDFBuilder.js +2 -3
  206. package/lib/mjs/Webform.d.ts +10 -13
  207. package/lib/mjs/Webform.js +46 -128
  208. package/lib/mjs/WebformBuilder.d.ts +6 -1
  209. package/lib/mjs/WebformBuilder.js +103 -65
  210. package/lib/mjs/Wizard.d.ts +8 -5
  211. package/lib/mjs/Wizard.js +12 -12
  212. package/lib/mjs/WizardBuilder.d.ts +6 -4
  213. package/lib/mjs/WizardBuilder.js +20 -3
  214. package/lib/mjs/addons/FormioAddon.d.ts +1 -1
  215. package/lib/mjs/addons/FormioAddon.js +1 -2
  216. package/lib/mjs/components/_classes/component/Component.d.ts +24 -8
  217. package/lib/mjs/components/_classes/component/Component.js +44 -14
  218. package/lib/mjs/components/_classes/input/Input.d.ts +1 -1
  219. package/lib/mjs/components/_classes/input/Input.js +1 -2
  220. package/lib/mjs/components/_classes/list/ListComponent.d.ts +4 -0
  221. package/lib/mjs/components/_classes/list/ListComponent.js +43 -5
  222. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +1 -0
  223. package/lib/mjs/components/_classes/multivalue/Multivalue.js +10 -4
  224. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +5 -2
  225. package/lib/mjs/components/_classes/nested/NestedComponent.js +9 -10
  226. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -0
  227. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +4 -0
  228. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
  229. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +4 -0
  230. package/lib/mjs/components/address/Address.d.ts +8 -0
  231. package/lib/mjs/components/address/Address.js +5 -0
  232. package/lib/mjs/components/button/Button.d.ts +1 -0
  233. package/lib/mjs/components/button/Button.js +6 -4
  234. package/lib/mjs/components/checkbox/Checkbox.d.ts +41 -0
  235. package/lib/mjs/components/checkbox/Checkbox.js +36 -5
  236. package/lib/mjs/components/columns/Columns.d.ts +2 -0
  237. package/lib/mjs/components/columns/Columns.js +4 -0
  238. package/lib/mjs/components/container/Container.d.ts +1 -0
  239. package/lib/mjs/components/container/Container.js +5 -1
  240. package/lib/mjs/components/content/Content.d.ts +2 -0
  241. package/lib/mjs/components/content/Content.js +4 -2
  242. package/lib/mjs/components/currency/editForm/Currency.edit.data.d.ts +14 -2
  243. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +4 -0
  244. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +4 -0
  245. package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -0
  246. package/lib/mjs/components/datagrid/DataGrid.js +8 -1
  247. package/lib/mjs/components/datamap/DataMap.d.ts +1 -0
  248. package/lib/mjs/components/datamap/DataMap.js +5 -1
  249. package/lib/mjs/components/datetime/DateTime.d.ts +23 -0
  250. package/lib/mjs/components/datetime/DateTime.js +27 -1
  251. package/lib/mjs/components/day/Day.d.ts +22 -1
  252. package/lib/mjs/components/day/Day.js +24 -7
  253. package/lib/mjs/components/day/fixtures/comp3.js +2 -2
  254. package/lib/mjs/components/editgrid/EditGrid.d.ts +4 -3
  255. package/lib/mjs/components/editgrid/EditGrid.js +11 -6
  256. package/lib/mjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +190 -0
  257. package/lib/mjs/components/editgrid/fixtures/comp-with-custom-default-value.js +225 -0
  258. package/lib/mjs/components/editgrid/fixtures/comp15.d.ts +54 -0
  259. package/lib/mjs/components/editgrid/fixtures/comp15.js +49 -0
  260. package/lib/mjs/components/editgrid/fixtures/index.d.ts +3 -1
  261. package/lib/mjs/components/editgrid/fixtures/index.js +3 -1
  262. package/lib/mjs/components/fieldset/Fieldset.d.ts +2 -0
  263. package/lib/mjs/components/fieldset/Fieldset.js +4 -0
  264. package/lib/mjs/components/file/File.d.ts +28 -6
  265. package/lib/mjs/components/file/File.js +44 -16
  266. package/lib/mjs/components/file/editForm/File.edit.file.d.ts +62 -0
  267. package/lib/mjs/components/file/editForm/File.edit.file.js +29 -2
  268. package/lib/mjs/components/form/Form.d.ts +4 -0
  269. package/lib/mjs/components/form/Form.js +13 -11
  270. package/lib/mjs/components/hidden/Hidden.d.ts +1 -0
  271. package/lib/mjs/components/hidden/Hidden.js +1 -0
  272. package/lib/mjs/components/html/HTML.d.ts +2 -0
  273. package/lib/mjs/components/html/HTML.js +4 -0
  274. package/lib/mjs/components/number/Number.d.ts +24 -1
  275. package/lib/mjs/components/number/Number.js +23 -7
  276. package/lib/mjs/components/panel/Panel.d.ts +1 -0
  277. package/lib/mjs/components/panel/Panel.js +3 -0
  278. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +9 -0
  279. package/lib/mjs/components/radio/Radio.d.ts +24 -3
  280. package/lib/mjs/components/radio/Radio.js +93 -19
  281. package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +2 -1
  282. package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
  283. package/lib/mjs/components/resource/Resource.d.ts +7 -0
  284. package/lib/mjs/components/resource/Resource.js +0 -1
  285. package/lib/mjs/components/resource/editForm/Resource.edit.display.js +1 -1
  286. package/lib/mjs/components/select/Select.d.ts +25 -5
  287. package/lib/mjs/components/select/Select.js +55 -52
  288. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +37 -0
  289. package/lib/mjs/components/selectboxes/SelectBoxes.js +63 -25
  290. package/lib/mjs/components/selectboxes/fixtures/comp4.d.ts +30 -27
  291. package/lib/mjs/components/selectboxes/fixtures/comp4.js +47 -32
  292. package/lib/mjs/components/selectboxes/fixtures/comp6.d.ts +14 -0
  293. package/lib/mjs/components/selectboxes/fixtures/comp6.js +13 -0
  294. package/lib/mjs/components/selectboxes/fixtures/index.d.ts +2 -1
  295. package/lib/mjs/components/selectboxes/fixtures/index.js +2 -1
  296. package/lib/mjs/components/signature/Signature.d.ts +22 -1
  297. package/lib/mjs/components/signature/Signature.js +19 -3
  298. package/lib/mjs/components/survey/Survey.d.ts +21 -0
  299. package/lib/mjs/components/survey/Survey.js +13 -1
  300. package/lib/mjs/components/table/Table.d.ts +2 -0
  301. package/lib/mjs/components/table/Table.js +4 -0
  302. package/lib/mjs/components/tabs/Tabs.d.ts +2 -0
  303. package/lib/mjs/components/tabs/Tabs.js +4 -0
  304. package/lib/mjs/components/tags/Tags.d.ts +21 -0
  305. package/lib/mjs/components/tags/Tags.js +14 -0
  306. package/lib/mjs/components/textarea/TextArea.d.ts +3 -2
  307. package/lib/mjs/components/textarea/TextArea.js +4 -5
  308. package/lib/mjs/components/textarea/fixtures/comp4.d.ts +30 -0
  309. package/lib/mjs/components/textarea/fixtures/comp4.js +25 -0
  310. package/lib/mjs/components/textarea/fixtures/index.d.ts +2 -1
  311. package/lib/mjs/components/textarea/fixtures/index.js +2 -1
  312. package/lib/mjs/components/textfield/TextField.d.ts +22 -0
  313. package/lib/mjs/components/textfield/TextField.js +14 -3
  314. package/lib/mjs/components/time/Time.d.ts +11 -0
  315. package/lib/mjs/components/time/Time.js +12 -1
  316. package/lib/mjs/components/tree/Tree.d.ts +5 -4
  317. package/lib/mjs/components/tree/Tree.form.js +5 -0
  318. package/lib/mjs/components/tree/Tree.js +8 -9
  319. package/lib/mjs/components/tree/editForm/Tree.edit.display.d.ts +9 -0
  320. package/lib/mjs/components/tree/editForm/Tree.edit.display.js +10 -0
  321. package/lib/mjs/components/well/Well.d.ts +2 -0
  322. package/lib/mjs/components/well/Well.js +4 -0
  323. package/lib/mjs/formio.embed.d.ts +2 -1
  324. package/lib/mjs/formio.embed.js +96 -2
  325. package/lib/mjs/formio.form.d.ts +4 -3
  326. package/lib/mjs/formio.form.js +16 -8
  327. package/lib/mjs/licenses/Licenses.d.ts +7 -0
  328. package/lib/mjs/licenses/Licenses.js +17 -0
  329. package/lib/mjs/licenses/index.d.ts +2 -0
  330. package/lib/mjs/licenses/index.js +2 -0
  331. package/lib/mjs/providers/Providers.d.ts +31 -11
  332. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +2 -2
  333. package/lib/mjs/providers/address/GoogleAddressProvider.js +2 -3
  334. package/lib/mjs/providers/processor/fileProcessor.d.ts +1 -1
  335. package/lib/mjs/providers/processor/fileProcessor.js +1 -2
  336. package/lib/mjs/providers/storage/azure.d.ts +10 -1
  337. package/lib/mjs/providers/storage/azure.js +7 -2
  338. package/lib/mjs/providers/storage/base64.d.ts +2 -2
  339. package/lib/mjs/providers/storage/base64.js +2 -3
  340. package/lib/mjs/providers/storage/dropbox.d.ts +2 -2
  341. package/lib/mjs/providers/storage/dropbox.js +2 -3
  342. package/lib/mjs/providers/storage/googleDrive.d.ts +3 -2
  343. package/lib/mjs/providers/storage/googleDrive.js +6 -3
  344. package/lib/mjs/providers/storage/indexeddb.d.ts +3 -3
  345. package/lib/mjs/providers/storage/indexeddb.js +9 -10
  346. package/lib/mjs/providers/storage/s3.d.ts +11 -1
  347. package/lib/mjs/providers/storage/s3.js +5 -2
  348. package/lib/mjs/providers/storage/uploadAdapter.js +1 -2
  349. package/lib/mjs/providers/storage/url.d.ts +2 -2
  350. package/lib/mjs/providers/storage/url.js +12 -5
  351. package/lib/mjs/providers/storage/xhr.d.ts +1 -1
  352. package/lib/mjs/providers/storage/xhr.js +1 -2
  353. package/lib/mjs/templates/index.d.ts +226 -1
  354. package/lib/mjs/utils/Evaluator.js +4 -33
  355. package/lib/mjs/utils/i18n.d.ts +16 -0
  356. package/lib/mjs/utils/i18n.js +81 -0
  357. package/lib/mjs/utils/utils.d.ts +11 -1
  358. package/lib/mjs/utils/utils.js +27 -9
  359. package/lib/mjs/validator/Validator.d.ts +30 -2
  360. package/lib/mjs/validator/Validator.js +31 -9
  361. package/lib/mjs/validator/rules/Select.js +1 -2
  362. package/lib/mjs/validator/rules/Unique.d.ts +1 -1
  363. package/lib/mjs/validator/rules/Unique.js +1 -2
  364. package/lib/mjs/widgets/CalendarWidget.d.ts +1 -0
  365. package/lib/mjs/widgets/InputWidget.d.ts +1 -1
  366. package/lib/mjs/widgets/InputWidget.js +1 -2
  367. package/package.json +18 -15
  368. package/types/index.d.ts +1 -0
  369. package/types/licenses.d.ts +7 -0
  370. package/types/utils.d.ts +2 -0
@@ -4,6 +4,21 @@
4
4
  */
5
5
  declare class Component extends Element {
6
6
  static schema(...sources: any[]): any;
7
+ /**
8
+ * Return the simple condition settings as part of the component.
9
+ *
10
+ * @return {Object}
11
+ *
12
+ */
13
+ static get conditionOperatorsSettings(): Object;
14
+ /**
15
+ * Return the array of possible types of component value absed on its schema.
16
+ *
17
+ * @param schema
18
+ * @return {Array}
19
+ *
20
+ */
21
+ static savedValueTypes(schema: any): any[];
7
22
  /**
8
23
  * Provides a table view for this component. Override if you wish to do something different than using getView
9
24
  * method of your instance.
@@ -12,6 +27,7 @@ declare class Component extends Element {
12
27
  * @param options
13
28
  */
14
29
  static tableView(value: any, options: any): void;
30
+ static get serverConditionSettings(): Object;
15
31
  /**
16
32
  * Initialize a new Component.
17
33
  *
@@ -151,7 +167,7 @@ declare class Component extends Element {
151
167
  set data(arg: any);
152
168
  get data(): any;
153
169
  mergeSchema(component?: {}): any;
154
- get ready(): any;
170
+ get ready(): Promise<Component>;
155
171
  get isPDFReadOnlyMode(): any;
156
172
  get labelInfo(): {
157
173
  hidden: any;
@@ -293,12 +309,12 @@ declare class Component extends Element {
293
309
  loadRefs(element: any, refs: any): void;
294
310
  setOpenModalElement(template: any): void;
295
311
  getModalPreviewTemplate(): any;
296
- build(element: any): any;
312
+ build(element: any): Promise<void>;
297
313
  get hasModalSaveButton(): boolean;
298
314
  render(children?: string, topLevel?: boolean): any;
299
315
  attachTooltips(toolTipsRefs: any): void;
300
316
  createComponentModal(element: any, modalShouldBeOpened: any, currentValue: any): ComponentModal;
301
- attach(element: any): any;
317
+ attach(element: any): Promise<void>;
302
318
  componentModal: any;
303
319
  restoreFocus(): void;
304
320
  addShortcut(element: any, shortcut: any): void;
@@ -402,8 +418,8 @@ declare class Component extends Element {
402
418
  errorMessage(type: any): any;
403
419
  setContent(element: any, content: any, forceSanitize: any, sanitizeOptions: any): boolean;
404
420
  restoreCaretPosition(): void;
405
- redraw(): any;
406
- rebuild(): any;
421
+ redraw(): Promise<void>;
422
+ rebuild(): Promise<void>;
407
423
  hasClass(element: any, className: any): boolean | undefined;
408
424
  addClass(element: any, className: any): Component | undefined;
409
425
  removeClass(element: any, className: any): Component | undefined;
@@ -694,7 +710,7 @@ declare class Component extends Element {
694
710
  */
695
711
  checkComponentValidity(data: any, dirty: any, row: any, options?: {}): boolean;
696
712
  checkValidity(data: any, dirty: any, row: any, silentCheck: any): boolean;
697
- checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any): any;
713
+ checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any): Promise<boolean>;
698
714
  /**
699
715
  * Check the conditions, calculations, and validity of a single component and triggers an update if
700
716
  * something changed.
@@ -728,8 +744,8 @@ declare class Component extends Element {
728
744
  */
729
745
  isValueHidden(): boolean | any;
730
746
  shouldSkipValidation(data: any, dirty: any, row: any): boolean;
731
- whenReady(): any;
732
- get dataReady(): any;
747
+ whenReady(): Promise<void>;
748
+ get dataReady(): Promise<void>;
733
749
  /**
734
750
  * Prints out the value of this component as a string value.
735
751
  */
@@ -28,7 +28,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  /* globals Quill, ClassicEditor, CKEDITOR */
30
30
  const vanilla_text_mask_1 = require("@formio/vanilla-text-mask");
31
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
32
31
  const tippy_js_1 = __importDefault(require("tippy.js"));
33
32
  const lodash_1 = __importDefault(require("lodash"));
34
33
  const ismobilejs_1 = __importDefault(require("ismobilejs"));
@@ -201,6 +200,31 @@ class Component extends Element_1.default {
201
200
  static get Validator() {
202
201
  return Validator_1.default;
203
202
  }
203
+ /**
204
+ * Return the simple condition settings as part of the component.
205
+ *
206
+ * @return {Object}
207
+ *
208
+ */
209
+ static get conditionOperatorsSettings() {
210
+ return {
211
+ operators: ['isEqual', 'isNotEqual', 'isEmpty', 'isNotEmpty'],
212
+ valueComponent() {
213
+ return { type: 'textfield' };
214
+ }
215
+ };
216
+ }
217
+ /**
218
+ * Return the array of possible types of component value absed on its schema.
219
+ *
220
+ * @param schema
221
+ * @return {Array}
222
+ *
223
+ */
224
+ static savedValueTypes(schema) {
225
+ schema = schema || {};
226
+ return FormioUtils.getComponentSavedTypes(schema) || [FormioUtils.componentValueTypes.any];
227
+ }
204
228
  /**
205
229
  * Provides a table view for this component. Override if you wish to do something different than using getView
206
230
  * method of your instance.
@@ -437,7 +461,7 @@ class Component extends Element_1.default {
437
461
  }
438
462
  // Allow componets to notify when ready.
439
463
  get ready() {
440
- return native_promise_only_1.default.resolve(this);
464
+ return Promise.resolve(this);
441
465
  }
442
466
  get isPDFReadOnlyMode() {
443
467
  return this.parent &&
@@ -926,7 +950,7 @@ class Component extends Element_1.default {
926
950
  * @return {*}
927
951
  */
928
952
  beforePage() {
929
- return native_promise_only_1.default.resolve(true);
953
+ return Promise.resolve(true);
930
954
  }
931
955
  beforeNext() {
932
956
  return this.beforePage(true);
@@ -938,7 +962,7 @@ class Component extends Element_1.default {
938
962
  * @return {*}
939
963
  */
940
964
  beforeSubmit() {
941
- return native_promise_only_1.default.resolve(true);
965
+ return Promise.resolve(true);
942
966
  }
943
967
  /**
944
968
  * Return the submission timezone.
@@ -1089,7 +1113,7 @@ class Component extends Element_1.default {
1089
1113
  }
1090
1114
  this.restoreFocus();
1091
1115
  this.addons.forEach((addon) => addon.attach(element));
1092
- return native_promise_only_1.default.resolve();
1116
+ return Promise.resolve();
1093
1117
  }
1094
1118
  restoreFocus() {
1095
1119
  var _a, _b, _c;
@@ -1404,6 +1428,9 @@ class Component extends Element_1.default {
1404
1428
  });
1405
1429
  return customCSS;
1406
1430
  }
1431
+ static get serverConditionSettings() {
1432
+ return Component.conditionOperatorsSettings;
1433
+ }
1407
1434
  get isMobile() {
1408
1435
  return (0, ismobilejs_1.default)();
1409
1436
  }
@@ -1534,7 +1561,7 @@ class Component extends Element_1.default {
1534
1561
  // Don't bother if we have not built yet.
1535
1562
  if (!this.element || !this.element.parentNode || this.optimizeRedraw) {
1536
1563
  // Return a non-resolving promise.
1537
- return native_promise_only_1.default.resolve();
1564
+ return Promise.resolve();
1538
1565
  }
1539
1566
  this.detach();
1540
1567
  this.emit('redraw');
@@ -1965,12 +1992,12 @@ class Component extends Element_1.default {
1965
1992
  return Formio_1.Formio.requireLibrary('ckeditor', isIEBrowser ? 'CKEDITOR' : 'ClassicEditor', lodash_1.default.get(this.options, 'editors.ckeditor.src', `${Formio_1.Formio.cdn.ckeditor}/ckeditor.js`), true)
1966
1993
  .then(() => {
1967
1994
  if (!element.parentNode) {
1968
- return native_promise_only_1.default.reject();
1995
+ return Promise.reject();
1969
1996
  }
1970
1997
  if (isIEBrowser) {
1971
1998
  const editor = CKEDITOR.replace(element);
1972
1999
  editor.on('change', () => onChange(editor.getData()));
1973
- return native_promise_only_1.default.resolve(editor);
2000
+ return Promise.resolve(editor);
1974
2001
  }
1975
2002
  else {
1976
2003
  return ClassicEditor.create(element, settings).then(editor => {
@@ -1994,7 +2021,7 @@ class Component extends Element_1.default {
1994
2021
  return Formio_1.Formio.requireLibrary('quill-table', 'Quill', `${Formio_1.Formio.cdn.baseUrl}/quill/quill-table.js`, true)
1995
2022
  .then(() => {
1996
2023
  if (!element.parentNode) {
1997
- return native_promise_only_1.default.reject();
2024
+ return Promise.reject();
1998
2025
  }
1999
2026
  this.quill = new Quill(element, isIEBrowser ? Object.assign(Object.assign({}, settings), { modules: {} }) : settings);
2000
2027
  /** This block of code adds the [source] capabilities. See https://codepen.io/anon/pen/ZyEjrQ **/
@@ -2445,6 +2472,9 @@ class Component extends Element_1.default {
2445
2472
  const dataValue = this.dataValue;
2446
2473
  // Calculate the new value.
2447
2474
  let calculatedValue = this.doValueCalculation(dataValue, data, row, flags);
2475
+ if (this.options.readOnly && dataValue && !calculatedValue) {
2476
+ return false;
2477
+ }
2448
2478
  if (lodash_1.default.isNil(calculatedValue)) {
2449
2479
  calculatedValue = this.emptyValue;
2450
2480
  }
@@ -2595,7 +2625,7 @@ class Component extends Element_1.default {
2595
2625
  const { async = false, silentCheck = false } = options;
2596
2626
  if (this.shouldSkipValidation(data, dirty, row)) {
2597
2627
  this.setCustomValidity('');
2598
- return async ? native_promise_only_1.default.resolve(true) : true;
2628
+ return async ? Promise.resolve(true) : true;
2599
2629
  }
2600
2630
  const check = Validator_1.default.checkComponent(this, data, row, true, async);
2601
2631
  let validations = check;
@@ -2614,7 +2644,7 @@ class Component extends Element_1.default {
2614
2644
  return isValid;
2615
2645
  }
2616
2646
  checkAsyncValidity(data, dirty, row, silentCheck) {
2617
- return native_promise_only_1.default.resolve(this.checkComponentValidity(data, dirty, row, { async: true, silentCheck }));
2647
+ return Promise.resolve(this.checkComponentValidity(data, dirty, row, { async: true, silentCheck }));
2618
2648
  }
2619
2649
  /**
2620
2650
  * Check the conditions, calculations, and validity of a single component and triggers an update if
@@ -2855,7 +2885,7 @@ class Component extends Element_1.default {
2855
2885
  return this.dataReady;
2856
2886
  }
2857
2887
  get dataReady() {
2858
- return native_promise_only_1.default.resolve();
2888
+ return Promise.resolve();
2859
2889
  }
2860
2890
  /**
2861
2891
  * Prints out the value of this component as a string value.
@@ -3093,7 +3123,7 @@ Component.externalLibraries = {};
3093
3123
  Component.requireLibrary = function (name, property, src, polling) {
3094
3124
  if (!Component.externalLibraries.hasOwnProperty(name)) {
3095
3125
  Component.externalLibraries[name] = {};
3096
- Component.externalLibraries[name].ready = new native_promise_only_1.default((resolve, reject) => {
3126
+ Component.externalLibraries[name].ready = new Promise((resolve, reject) => {
3097
3127
  Component.externalLibraries[name].resolve = resolve;
3098
3128
  Component.externalLibraries[name].reject = reject;
3099
3129
  });
@@ -3166,5 +3196,5 @@ Component.libraryReady = function (name) {
3166
3196
  Component.externalLibraries[name].ready) {
3167
3197
  return Component.externalLibraries[name].ready;
3168
3198
  }
3169
- return native_promise_only_1.default.reject(`${name} library was not required.`);
3199
+ return Promise.reject(`${name} library was not required.`);
3170
3200
  };
@@ -31,7 +31,7 @@ export default class Input extends Multivalue {
31
31
  parseValue(value: any): any;
32
32
  formatValue(value: any): any;
33
33
  getWidget(index: any): any;
34
- attachElement(element: any, index: any): any;
34
+ attachElement(element: any, index: any): Promise<void>;
35
35
  /**
36
36
  * Creates an instance of a widget for this component.
37
37
  *
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Multivalue_1 = __importDefault(require("../multivalue/Multivalue"));
7
7
  const utils_1 = require("../../../utils/utils");
8
8
  const widgets_1 = __importDefault(require("../../../widgets"));
9
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
10
9
  const lodash_1 = __importDefault(require("lodash"));
11
10
  class Input extends Multivalue_1.default {
12
11
  constructor(component, options, data) {
@@ -218,7 +217,7 @@ class Input extends Multivalue_1.default {
218
217
  element.widget.destroy();
219
218
  }
220
219
  // Attach the widget.
221
- let promise = native_promise_only_1.default.resolve();
220
+ let promise = Promise.resolve();
222
221
  element.widget = this.createWidget(index);
223
222
  if (element.widget) {
224
223
  promise = element.widget.attach(element);
@@ -1,5 +1,9 @@
1
1
  export default class ListComponent extends Field {
2
2
  get isSelectURL(): boolean;
3
+ get selectData(): any;
4
+ get shouldLoad(): any;
5
+ getTemplateKeys(): void;
6
+ templateKeys: any[] | undefined;
3
7
  get requestHeaders(): any;
4
8
  setItems(): void;
5
9
  updateCustomItems(): void;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Field_1 = __importDefault(require("../field/Field"));
7
7
  const Formio_1 = require("../../../Formio");
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
10
9
  class ListComponent extends Field_1.default {
11
10
  static schema(...extend) {
12
11
  return Field_1.default.schema({
@@ -22,6 +21,46 @@ class ListComponent extends Field_1.default {
22
21
  get isSelectURL() {
23
22
  return this.component.dataSrc === 'url';
24
23
  }
24
+ get selectData() {
25
+ const selectData = lodash_1.default.get(this.root, 'submission.metadata.selectData', {});
26
+ return lodash_1.default.get(selectData, this.path);
27
+ }
28
+ get shouldLoad() {
29
+ if (this.loadingError) {
30
+ return false;
31
+ }
32
+ // Live forms should always load.
33
+ if (!this.options.readOnly) {
34
+ return true;
35
+ }
36
+ // If there are template keys, then we need to see if we have the data.
37
+ if (this.templateKeys && this.templateKeys.length) {
38
+ // See if we already have the data we need.
39
+ const dataValue = this.dataValue;
40
+ const selectData = this.selectData;
41
+ return this.templateKeys.reduce((shouldLoad, key) => {
42
+ const hasValue = lodash_1.default.has(dataValue, key) ||
43
+ (lodash_1.default.isArray(selectData) ? selectData.every((data) => lodash_1.default.has(data, key)) : lodash_1.default.has(selectData, key));
44
+ return shouldLoad || !hasValue;
45
+ }, false);
46
+ }
47
+ // Return that we should load.
48
+ return true;
49
+ }
50
+ getTemplateKeys() {
51
+ this.templateKeys = [];
52
+ if (this.options.readOnly && this.component.template) {
53
+ const keys = this.component.template.match(/({{\s*(.*?)\s*}})/g);
54
+ if (keys) {
55
+ keys.forEach((key) => {
56
+ const propKey = key.match(/{{\s*item\.(.*?)\s*}}/);
57
+ if (propKey && propKey.length > 1) {
58
+ this.templateKeys.push(propKey[1]);
59
+ }
60
+ });
61
+ }
62
+ }
63
+ }
25
64
  get requestHeaders() {
26
65
  // Create the headers object.
27
66
  const headers = new Formio_1.Formio.Headers();
@@ -63,17 +102,15 @@ class ListComponent extends Field_1.default {
63
102
  return template;
64
103
  }
65
104
  itemTemplate(data, value) {
66
- var _a;
67
105
  if (lodash_1.default.isEmpty(data)) {
68
106
  return '';
69
107
  }
70
108
  const template = this.sanitize(this.getOptionTemplate(data, value), this.shouldSanitizeValue);
71
109
  if (template) {
72
110
  const label = template.replace(/<\/?[^>]+(>|$)/g, '');
73
- const hasTranslator = (_a = this.i18next) === null || _a === void 0 ? void 0 : _a.translator;
74
- if (!label || (hasTranslator && !this.t(label, { _userInput: true })))
111
+ if (!label)
75
112
  return;
76
- return hasTranslator ? template.replace(label, this.t(label, { _userInput: true })) : label;
113
+ return template.replace(label, this.t(label, { _userInput: true }));
77
114
  }
78
115
  else {
79
116
  return this.sanitize(JSON.stringify(data), this.shouldSanitizeValue);
@@ -192,7 +229,7 @@ class ListComponent extends Field_1.default {
192
229
  const db = event.target.result;
193
230
  const transaction = db.transaction(this.component.indexeddb.table, 'readwrite');
194
231
  const objectStore = transaction.objectStore(this.component.indexeddb.table);
195
- new native_promise_only_1.default((resolve) => {
232
+ new Promise((resolve) => {
196
233
  const responseItems = [];
197
234
  objectStore.getAll().onsuccess = (event) => {
198
235
  event.target.result.forEach((item) => {
@@ -4,6 +4,7 @@ export default class Multivalue extends Field {
4
4
  render(): any;
5
5
  renderElement(): string;
6
6
  renderRow(value: any, index: any): any;
7
+ attach(dom: any): Promise<any[]>;
7
8
  /**
8
9
  * Attach inputs to the element.
9
10
  *
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Field_1 = __importDefault(require("../field/Field"));
7
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
8
7
  const lodash_1 = __importDefault(require("lodash"));
9
8
  class Multivalue extends Field_1.default {
10
9
  get dataValue() {
@@ -78,7 +77,7 @@ class Multivalue extends Field_1.default {
78
77
  promises.push(this.attachElement.call(this, element, index));
79
78
  });
80
79
  if (!this.component.multiple) {
81
- return native_promise_only_1.default.all(promises);
80
+ return Promise.all(promises);
82
81
  }
83
82
  this.refs.removeRow.forEach((removeButton, index) => {
84
83
  this.addEventListener(removeButton, 'click', (event) => {
@@ -94,7 +93,7 @@ class Multivalue extends Field_1.default {
94
93
  });
95
94
  });
96
95
  return superAttach.then(() => {
97
- return native_promise_only_1.default.all(promises);
96
+ return Promise.all(promises);
98
97
  });
99
98
  }
100
99
  detach() {
@@ -187,7 +186,14 @@ class Multivalue extends Field_1.default {
187
186
  saveCaretPosition(element, index) {
188
187
  var _a, _b;
189
188
  if (((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.focusedComponent) === null || _b === void 0 ? void 0 : _b.path) === this.path) {
190
- this.root.currentSelection = { selection: [element.selectionStart, element.selectionEnd], index };
189
+ try {
190
+ this.root.currentSelection = { selection: [element.selectionStart, element.selectionEnd], index };
191
+ }
192
+ catch (e) {
193
+ if (!(e instanceof DOMException)) {
194
+ console.debug(e);
195
+ }
196
+ }
191
197
  }
192
198
  }
193
199
  onSelectMaskHandler(event) {
@@ -4,7 +4,8 @@ export default class NestedComponent extends Field {
4
4
  _collapsed: boolean;
5
5
  set collapsed(arg: boolean);
6
6
  get collapsed(): boolean;
7
- collapse(value: any): any;
7
+ collapse(value: any): Promise<void>;
8
+ get ready(): Promise<any[]>;
8
9
  set rowIndex(arg: any);
9
10
  get rowIndex(): any;
10
11
  _rowIndex: any;
@@ -78,8 +79,9 @@ export default class NestedComponent extends Field {
78
79
  addComponent(component: Object, data: Object, before: HTMLElement, noAdd: any): Component;
79
80
  beforeFocus(): void;
80
81
  renderComponents(components: any): any;
82
+ attach(element: any): Promise<[void, void]>;
81
83
  attachComponentsLogic(components: any): void;
82
- attachComponents(element: any, components: any, container: any): any;
84
+ attachComponents(element: any, components: any, container: any): Promise<any>;
83
85
  /**
84
86
  * Remove a component from the components array.
85
87
  *
@@ -123,6 +125,7 @@ export default class NestedComponent extends Field {
123
125
  get isPristine(): any;
124
126
  destroyComponents(all?: boolean): void;
125
127
  get errors(): any;
128
+ get dataReady(): Promise<any[]>;
126
129
  setNestedValue(component: any, value: any, flags?: {}): any;
127
130
  setValue(value: any, flags?: {}): any;
128
131
  get lazyLoad(): any;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = __importDefault(require("lodash"));
7
7
  const Field_1 = __importDefault(require("../field/Field"));
8
8
  const Components_1 = __importDefault(require("../../Components"));
9
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
10
9
  const utils_1 = require("../../../utils/utils");
11
10
  class NestedComponent extends Field_1.default {
12
11
  static schema(...extend) {
@@ -100,7 +99,7 @@ class NestedComponent extends Field_1.default {
100
99
  return super.parentDisabled;
101
100
  }
102
101
  get ready() {
103
- return native_promise_only_1.default.all(this.getComponents().map(component => component.ready));
102
+ return Promise.all(this.getComponents().map(component => component.ready));
104
103
  }
105
104
  get currentForm() {
106
105
  return super.currentForm;
@@ -405,7 +404,7 @@ class NestedComponent extends Field_1.default {
405
404
  collapsed: this.collapsed,
406
405
  [this.nestedKey]: 'single',
407
406
  });
408
- let childPromise = native_promise_only_1.default.resolve();
407
+ let childPromise = Promise.resolve();
409
408
  if (this.refs[this.nestedKey]) {
410
409
  childPromise = this.attachComponents(this.refs[this.nestedKey]);
411
410
  }
@@ -423,7 +422,7 @@ class NestedComponent extends Field_1.default {
423
422
  }
424
423
  });
425
424
  }
426
- return native_promise_only_1.default.all([
425
+ return Promise.all([
427
426
  superPromise,
428
427
  childPromise,
429
428
  ]);
@@ -443,7 +442,7 @@ class NestedComponent extends Field_1.default {
443
442
  element = this.hook('attachComponents', element, components, container, this);
444
443
  if (!element) {
445
444
  // Return a non-resolving promise.
446
- return (new native_promise_only_1.default(() => { }));
445
+ return (new Promise(() => { }));
447
446
  }
448
447
  let index = 0;
449
448
  const promises = [];
@@ -453,7 +452,7 @@ class NestedComponent extends Field_1.default {
453
452
  index++;
454
453
  }
455
454
  });
456
- return native_promise_only_1.default.all(promises);
455
+ return Promise.all(promises);
457
456
  }
458
457
  /**
459
458
  * Remove a component from the components array.
@@ -564,7 +563,7 @@ class NestedComponent extends Field_1.default {
564
563
  * @return {*}
565
564
  */
566
565
  beforePage(next) {
567
- return native_promise_only_1.default.all(this.getComponents().map((comp) => comp.beforePage(next)));
566
+ return Promise.all(this.getComponents().map((comp) => comp.beforePage(next)));
568
567
  }
569
568
  /**
570
569
  * Allow components to hook into the submission to provide their own async data.
@@ -572,7 +571,7 @@ class NestedComponent extends Field_1.default {
572
571
  * @return {*}
573
572
  */
574
573
  beforeSubmit() {
575
- return native_promise_only_1.default.all(this.getComponents().map((comp) => comp.beforeSubmit()));
574
+ return Promise.all(this.getComponents().map((comp) => comp.beforeSubmit()));
576
575
  }
577
576
  calculateValue(data, flags, row) {
578
577
  // Do not iterate into children and calculateValues if this nested component is conditionally hidden.
@@ -603,7 +602,7 @@ class NestedComponent extends Field_1.default {
603
602
  return this.ready.then(() => {
604
603
  const promises = [super.checkAsyncValidity(data, dirty, row, silentCheck)];
605
604
  this.eachComponent((component) => promises.push(component.checkAsyncValidity(data, dirty, row, silentCheck)));
606
- return native_promise_only_1.default.all(promises).then((results) => results.reduce((valid, result) => (valid && result), true));
605
+ return Promise.all(promises).then((results) => results.reduce((valid, result) => (valid && result), true));
607
606
  });
608
607
  }
609
608
  setPristine(pristine) {
@@ -652,7 +651,7 @@ class NestedComponent extends Field_1.default {
652
651
  this.setPristine(true);
653
652
  }
654
653
  get dataReady() {
655
- return native_promise_only_1.default.all(this.getComponents().map((component) => component.dataReady));
654
+ return Promise.all(this.getComponents().map((component) => component.dataReady));
656
655
  }
657
656
  setNestedValue(component, value, flags = {}) {
658
657
  component._data = this.componentContext(component);
@@ -1,4 +1,5 @@
1
1
  export default class NestedArrayComponent extends NestedDataComponent {
2
+ static savedValueTypes(): string[];
2
3
  componentContext(component: any): any;
3
4
  get iteratableRows(): void;
4
5
  prevHasAddButton: any;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = __importDefault(require("lodash"));
7
+ const utils_1 = require("../../../utils/utils");
7
8
  const Component_1 = __importDefault(require("../component/Component"));
8
9
  const NestedDataComponent_1 = __importDefault(require("../nesteddata/NestedDataComponent"));
9
10
  class NestedArrayComponent extends NestedDataComponent_1.default {
@@ -12,6 +13,9 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
12
13
  disableAddingRemovingRows: false
13
14
  }, ...extend);
14
15
  }
16
+ static savedValueTypes() {
17
+ return [utils_1.componentValueTypes.array];
18
+ }
15
19
  componentContext(component) {
16
20
  return this.iteratableRows[component.rowIndex].data;
17
21
  }
@@ -1,4 +1,5 @@
1
1
  export default class NestedDataComponent extends NestedComponent {
2
+ static savedValueTypes(schema: any): string[];
2
3
  hasChanged(newValue: any, oldValue: any): boolean;
3
4
  get allowData(): boolean;
4
5
  get emptyValue(): {};
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Component_1 = __importDefault(require("../component/Component"));
7
7
  const NestedComponent_1 = __importDefault(require("../nested/NestedComponent"));
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
+ const utils_1 = require("../../../utils/utils");
9
10
  class NestedDataComponent extends NestedComponent_1.default {
10
11
  hasChanged(newValue, oldValue) {
11
12
  // If we do not have a value and are getting set to anything other than undefined or null, then we changed.
@@ -16,6 +17,9 @@ class NestedDataComponent extends NestedComponent_1.default {
16
17
  }
17
18
  return !lodash_1.default.isEqual(newValue, oldValue);
18
19
  }
20
+ static savedValueTypes(schema) {
21
+ return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.object];
22
+ }
19
23
  get allowData() {
20
24
  return true;
21
25
  }
@@ -3,6 +3,14 @@ export namespace AddressComponentMode {
3
3
  const Manual: string;
4
4
  }
5
5
  export default class AddressComponent extends ContainerComponent {
6
+ static get builderInfo(): {
7
+ title: string;
8
+ group: string;
9
+ icon: string;
10
+ documentation: string;
11
+ weight: number;
12
+ schema: any;
13
+ };
6
14
  static get modeSwitcherRef(): string;
7
15
  static get removeValueIconRef(): string;
8
16
  static get searchInputRef(): string;
@@ -11,6 +11,7 @@ const GoogleAddressProvider_1 = require("../../providers/address/GoogleAddressPr
11
11
  const Field_1 = __importDefault(require("../_classes/field/Field"));
12
12
  const NestedComponent_1 = __importDefault(require("../_classes/nested/NestedComponent"));
13
13
  const Container_1 = __importDefault(require("../container/Container"));
14
+ const utils_1 = require("../../utils/utils");
14
15
  exports.AddressComponentMode = {
15
16
  Autocomplete: 'autocomplete',
16
17
  Manual: 'manual',
@@ -82,6 +83,10 @@ class AddressComponent extends Container_1.default {
82
83
  ],
83
84
  }, ...extend);
84
85
  }
86
+ static savedValueTypes(schema) {
87
+ schema = schema || {};
88
+ return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.object];
89
+ }
85
90
  static get builderInfo() {
86
91
  return {
87
92
  title: 'Address',
@@ -7,6 +7,7 @@ export default class ButtonComponent extends Field {
7
7
  weight: number;
8
8
  schema: any;
9
9
  };
10
+ static savedValueTypes(schema: any): string[];
10
11
  constructor(component: any, options: any, data: any);
11
12
  filesUploading: any[];
12
13
  get inputInfo(): {