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

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,4 +1,5 @@
1
1
  import _ from 'lodash';
2
+ import { componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
2
3
  import RadioComponent from '../radio/Radio';
3
4
  export default class SelectBoxesComponent extends RadioComponent {
4
5
  static schema(...extend) {
@@ -19,6 +20,28 @@ export default class SelectBoxesComponent extends RadioComponent {
19
20
  schema: SelectBoxesComponent.schema()
20
21
  };
21
22
  }
23
+ static get serverConditionSettings() {
24
+ return SelectBoxesComponent.conditionOperatorsSettings;
25
+ }
26
+ static get conditionOperatorsSettings() {
27
+ return {
28
+ ...super.conditionOperatorsSettings,
29
+ valueComponent(classComp) {
30
+ return {
31
+ type: 'select',
32
+ dataSrc: 'custom',
33
+ valueProperty: 'value',
34
+ valueType: 'string',
35
+ data: {
36
+ custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`
37
+ },
38
+ };
39
+ }
40
+ };
41
+ }
42
+ static savedValueTypes(schema) {
43
+ return getComponentSavedTypes(schema) || [componentValueTypes.object];
44
+ }
22
45
  constructor(...args) {
23
46
  super(...args);
24
47
  this.validators = this.validators.concat('minSelectedCount', 'maxSelectedCount', 'availableValueProperty');
@@ -104,6 +127,16 @@ export default class SelectBoxesComponent extends RadioComponent {
104
127
  value[val] = true;
105
128
  });
106
129
  }
130
+ const checkedValues = _.keys(_.pickBy(value, (val) => val));
131
+ if (this.isSelectURL && this.templateData && _.every(checkedValues, (val) => this.templateData[val])) {
132
+ const submission = this.root.submission;
133
+ if (!submission.metadata.selectData) {
134
+ submission.metadata.selectData = {};
135
+ }
136
+ const selectData = [];
137
+ checkedValues.forEach((value) => selectData.push(this.templateData[value]));
138
+ _.set(submission.metadata.selectData, this.path, selectData);
139
+ }
107
140
  return value;
108
141
  }
109
142
  /**
@@ -134,6 +167,9 @@ export default class SelectBoxesComponent extends RadioComponent {
134
167
  if (!value) {
135
168
  return '';
136
169
  }
170
+ if (this.isSelectURL) {
171
+ return _(value).pickBy((val) => val).keys().join(', ');
172
+ }
137
173
  return _(this.component.values || [])
138
174
  .filter((v) => value[v.value])
139
175
  .map('label')
@@ -151,7 +187,7 @@ export default class SelectBoxesComponent extends RadioComponent {
151
187
  key = valuesKeys.find((k) => input?.value.toString() === k);
152
188
  }
153
189
  const isChecked = value[key];
154
- if (isChecked && key) {
190
+ if ((isChecked && key) || (this.isSelectURL && !this.shouldLoad && this.listData && _.findIndex(this.selectData, this.listData[index]) !== -1)) {
155
191
  //add class to container when selected
156
192
  this.addClass(wrapper, this.optionSelectedClass);
157
193
  //change "checked" attribute
@@ -176,31 +212,33 @@ export default class SelectBoxesComponent extends RadioComponent {
176
212
  checkComponentValidity(data, dirty, rowData, options) {
177
213
  const minCount = this.component.validate.minSelectedCount;
178
214
  const maxCount = this.component.validate.maxSelectedCount;
179
- const isValid = this.isValid(data, dirty);
180
- if ((maxCount || minCount) && !this.shouldSkipValidation(data, dirty, rowData)) {
181
- const count = Object.keys(this.validationValue).reduce((total, key) => {
182
- if (this.validationValue[key]) {
183
- total++;
215
+ if (!this.shouldSkipValidation(data, dirty, rowData)) {
216
+ const isValid = this.isValid(data, dirty);
217
+ if ((maxCount || minCount)) {
218
+ const count = Object.keys(this.validationValue).reduce((total, key) => {
219
+ if (this.validationValue[key]) {
220
+ total++;
221
+ }
222
+ return total;
223
+ }, 0);
224
+ // Disable the rest of inputs if the max amount is already checked
225
+ if (maxCount && count >= maxCount) {
226
+ this.setInputsDisabled(true, true);
227
+ }
228
+ else if (maxCount && !this.shouldDisabled) {
229
+ this.setInputsDisabled(false);
230
+ }
231
+ if (!isValid && maxCount && count > maxCount) {
232
+ const message = this.t(this.component.maxSelectedCountMessage || 'You can only select up to {{maxCount}} items.', { maxCount });
233
+ this.setCustomValidity(message, dirty);
234
+ return false;
235
+ }
236
+ else if (!isValid && minCount && count < minCount) {
237
+ this.setInputsDisabled(false);
238
+ const message = this.t(this.component.minSelectedCountMessage || 'You must select at least {{minCount}} items.', { minCount });
239
+ this.setCustomValidity(message, dirty);
240
+ return false;
184
241
  }
185
- return total;
186
- }, 0);
187
- // Disable the rest of inputs if the max amount is already checked
188
- if (maxCount && count >= maxCount) {
189
- this.setInputsDisabled(true, true);
190
- }
191
- else if (maxCount && !this.shouldDisabled) {
192
- this.setInputsDisabled(false);
193
- }
194
- if (!isValid && maxCount && count > maxCount) {
195
- const message = this.t(this.component.maxSelectedCountMessage || 'You can only select up to {{maxCount}} items.', { maxCount });
196
- this.setCustomValidity(message, dirty);
197
- return false;
198
- }
199
- else if (!isValid && minCount && count < minCount) {
200
- this.setInputsDisabled(false);
201
- const message = this.t(this.component.minSelectedCountMessage || 'You must select at least {{minCount}} items.', { minCount });
202
- this.setCustomValidity(message, dirty);
203
- return false;
204
242
  }
205
243
  }
206
244
  return super.checkComponentValidity(data, dirty, rowData, options);
@@ -11,39 +11,46 @@ declare namespace _default {
11
11
  key: string;
12
12
  type: string;
13
13
  input: boolean;
14
- optionsLabelPosition?: undefined;
15
- defaultValue?: undefined;
16
- values?: undefined;
17
- validate?: undefined;
18
14
  conditional?: undefined;
19
- inputType?: undefined;
15
+ components?: undefined;
20
16
  disableOnInvalid?: undefined;
21
17
  } | {
22
18
  label: string;
23
- optionsLabelPosition: string;
24
19
  tableView: boolean;
25
- defaultValue: {
26
- '1': boolean;
27
- '2': boolean;
28
- '3': boolean;
29
- };
30
- values: {
31
- label: string;
32
- value: string;
33
- shortcut: string;
34
- }[];
35
- validate: {
36
- minSelectedCount: number;
37
- };
38
20
  key: string;
39
21
  conditional: {
40
22
  show: boolean;
41
- when: string;
42
- eq: boolean;
23
+ conjunction: string;
24
+ conditions: {
25
+ component: string;
26
+ operator: string;
27
+ value: boolean;
28
+ }[];
43
29
  };
44
30
  type: string;
45
31
  input: boolean;
46
- inputType: string;
32
+ components: {
33
+ label: string;
34
+ optionsLabelPosition: string;
35
+ tableView: boolean;
36
+ defaultValue: {
37
+ '1': boolean;
38
+ '2': boolean;
39
+ '3': boolean;
40
+ };
41
+ values: {
42
+ label: string;
43
+ value: string;
44
+ shortcut: string;
45
+ }[];
46
+ validate: {
47
+ minSelectedCount: number;
48
+ };
49
+ key: string;
50
+ type: string;
51
+ input: boolean;
52
+ inputType: string;
53
+ }[];
47
54
  disableOnInvalid?: undefined;
48
55
  } | {
49
56
  type: string;
@@ -52,12 +59,8 @@ declare namespace _default {
52
59
  disableOnInvalid: boolean;
53
60
  input: boolean;
54
61
  tableView: boolean;
55
- optionsLabelPosition?: undefined;
56
- defaultValue?: undefined;
57
- values?: undefined;
58
- validate?: undefined;
59
62
  conditional?: undefined;
60
- inputType?: undefined;
63
+ components?: undefined;
61
64
  })[];
62
65
  }
63
66
  export default _default;
@@ -14,43 +14,58 @@ export default {
14
14
  input: true
15
15
  },
16
16
  {
17
- label: 'Select Boxes',
18
- optionsLabelPosition: 'right',
17
+ label: 'Container',
19
18
  tableView: false,
20
- defaultValue: {
21
- '1': false,
22
- '2': false,
23
- '3': false
24
- },
25
- values: [
26
- {
27
- label: '1',
28
- value: '1',
29
- shortcut: ''
30
- },
31
- {
32
- label: '2',
33
- value: '2',
34
- shortcut: ''
35
- },
36
- {
37
- label: '3',
38
- value: '3',
39
- shortcut: ''
40
- }
41
- ],
42
- validate: {
43
- minSelectedCount: 1
44
- },
45
- key: 'selectBoxes1',
19
+ key: 'container',
46
20
  conditional: {
47
21
  show: true,
48
- when: 'checkbox',
49
- eq: true
22
+ conjunction: 'all',
23
+ conditions: [
24
+ {
25
+ component: 'checkbox',
26
+ operator: 'isEqual',
27
+ value: true
28
+ }
29
+ ]
50
30
  },
51
- type: 'selectboxes',
31
+ type: 'container',
52
32
  input: true,
53
- inputType: 'checkbox'
33
+ components: [
34
+ {
35
+ label: 'Select Boxes',
36
+ optionsLabelPosition: 'right',
37
+ tableView: false,
38
+ defaultValue: {
39
+ '1': false,
40
+ '2': false,
41
+ '3': false
42
+ },
43
+ values: [
44
+ {
45
+ label: '1',
46
+ value: '1',
47
+ shortcut: ''
48
+ },
49
+ {
50
+ label: '2',
51
+ value: '2',
52
+ shortcut: ''
53
+ },
54
+ {
55
+ label: '3',
56
+ value: '3',
57
+ shortcut: ''
58
+ }
59
+ ],
60
+ validate: {
61
+ minSelectedCount: 1
62
+ },
63
+ key: 'selectBoxes',
64
+ type: 'selectboxes',
65
+ input: true,
66
+ inputType: 'checkbox'
67
+ }
68
+ ]
54
69
  },
55
70
  {
56
71
  type: 'button',
@@ -0,0 +1,14 @@
1
+ declare namespace _default {
2
+ const label: string;
3
+ const dataSrc: string;
4
+ namespace data {
5
+ const url: string;
6
+ }
7
+ const valueProperty: string;
8
+ const template: string;
9
+ const key: string;
10
+ const type: string;
11
+ const input: boolean;
12
+ const inputType: string;
13
+ }
14
+ export default _default;
@@ -0,0 +1,13 @@
1
+ export default {
2
+ label: 'Select Boxes',
3
+ dataSrc: 'url',
4
+ data: {
5
+ url: 'https://cdn.rawgit.com/mshafrir/2646763/raw/states_titlecase.json'
6
+ },
7
+ valueProperty: 'abbreviation',
8
+ template: '<span>{{ item.name }}</span>',
9
+ key: 'selectBoxes',
10
+ type: 'selectboxes',
11
+ input: true,
12
+ inputType: 'checkbox',
13
+ };
@@ -3,4 +3,5 @@ import comp2 from './comp2';
3
3
  import comp3 from './comp3';
4
4
  import comp4 from './comp4';
5
5
  import comp5 from './comp5';
6
- export { comp1, comp2, comp3, comp4, comp5 };
6
+ import comp6 from './comp6';
7
+ export { comp1, comp2, comp3, comp4, comp5, comp6 };
@@ -3,4 +3,5 @@ import comp2 from './comp2';
3
3
  import comp3 from './comp3';
4
4
  import comp4 from './comp4';
5
5
  import comp5 from './comp5';
6
- export { comp1, comp2, comp3, comp4, comp5 };
6
+ import comp6 from './comp6';
7
+ export { comp1, comp2, comp3, comp4, comp5, comp6 };
@@ -7,6 +7,27 @@ export default class SignatureComponent extends Input {
7
7
  documentation: string;
8
8
  schema: any;
9
9
  };
10
+ static get serverConditionSettings(): {
11
+ operators: string[];
12
+ constructor: Function;
13
+ toString(): string;
14
+ toLocaleString(): string;
15
+ valueOf(): Object;
16
+ hasOwnProperty(v: PropertyKey): boolean;
17
+ isPrototypeOf(v: Object): boolean;
18
+ propertyIsEnumerable(v: PropertyKey): boolean;
19
+ };
20
+ static get conditionOperatorsSettings(): {
21
+ operators: string[];
22
+ constructor: Function;
23
+ toString(): string;
24
+ toLocaleString(): string;
25
+ valueOf(): Object;
26
+ hasOwnProperty(v: PropertyKey): boolean;
27
+ isPrototypeOf(v: Object): boolean;
28
+ propertyIsEnumerable(v: PropertyKey): boolean;
29
+ };
30
+ static savedValueTypes(schema: any): string[];
10
31
  currentWidth: any;
11
32
  scale: any;
12
33
  ratio: number | undefined;
@@ -17,7 +38,7 @@ export default class SignatureComponent extends Input {
17
38
  checkSize(force: any, scale: any): void;
18
39
  signaturePad: SignaturePad | null | undefined;
19
40
  observer: _ResizeObserver | null | undefined;
20
- getValueAsString(value: any): "Yes" | "No";
41
+ getValueAsString(value: any): "" | "Yes" | "No";
21
42
  focus(): void;
22
43
  setDataToSigaturePad(): void;
23
44
  }
@@ -2,6 +2,7 @@ import SignaturePad from 'signature_pad';
2
2
  import _ResizeObserver from 'resize-observer-polyfill';
3
3
  import Input from '../_classes/input/Input';
4
4
  import _ from 'lodash';
5
+ import { componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
5
6
  export default class SignatureComponent extends Input {
6
7
  static schema(...extend) {
7
8
  return Input.schema({
@@ -28,11 +29,23 @@ export default class SignatureComponent extends Input {
28
29
  schema: SignatureComponent.schema()
29
30
  };
30
31
  }
32
+ static get serverConditionSettings() {
33
+ return SignatureComponent.conditionOperatorsSettings;
34
+ }
35
+ static get conditionOperatorsSettings() {
36
+ return {
37
+ ...super.conditionOperatorsSettings,
38
+ operators: ['isEmpty', 'isNotEmpty'],
39
+ };
40
+ }
41
+ static savedValueTypes(schema) {
42
+ schema = schema || {};
43
+ return getComponentSavedTypes(schema) || [componentValueTypes.string];
44
+ }
31
45
  init() {
32
46
  super.init();
33
47
  this.currentWidth = 0;
34
48
  this.scale = 1;
35
- this.ratio = 1;
36
49
  if (!this.component.width) {
37
50
  this.component.width = '100%';
38
51
  }
@@ -129,9 +142,9 @@ export default class SignatureComponent extends Input {
129
142
  this.scale = force ? scale : this.scale;
130
143
  this.currentWidth = this.refs.padBody.offsetWidth;
131
144
  const width = this.currentWidth * this.scale;
132
- this.refs.canvas.width = width;
133
145
  const height = this.ratio ? width / this.ratio : this.refs.padBody.offsetHeight * this.scale;
134
- const maxHeight = this.refs.padBody.offsetHeight * this.scale;
146
+ const maxHeight = this.ratio ? height : this.refs.padBody.offsetHeight * this.scale;
147
+ this.refs.canvas.width = width;
135
148
  this.refs.canvas.height = height > maxHeight ? maxHeight : height;
136
149
  this.refs.canvas.style.maxWidth = `${this.currentWidth * this.scale}px`;
137
150
  this.refs.canvas.style.maxHeight = `${maxHeight}px`;
@@ -225,6 +238,9 @@ export default class SignatureComponent extends Input {
225
238
  super.detach();
226
239
  }
227
240
  getValueAsString(value) {
241
+ if (_.isUndefined(value) && this.inDataTable) {
242
+ return '';
243
+ }
228
244
  return value ? 'Yes' : 'No';
229
245
  }
230
246
  focus() {
@@ -7,6 +7,27 @@ export default class SurveyComponent extends Field {
7
7
  documentation: string;
8
8
  schema: any;
9
9
  };
10
+ static get serverConditionSettings(): {
11
+ operators: string[];
12
+ constructor: Function;
13
+ toString(): string;
14
+ toLocaleString(): string;
15
+ valueOf(): Object;
16
+ hasOwnProperty(v: PropertyKey): boolean;
17
+ isPrototypeOf(v: Object): boolean;
18
+ propertyIsEnumerable(v: PropertyKey): boolean;
19
+ };
20
+ static get conditionOperatorsSettings(): {
21
+ operators: string[];
22
+ constructor: Function;
23
+ toString(): string;
24
+ toLocaleString(): string;
25
+ valueOf(): Object;
26
+ hasOwnProperty(v: PropertyKey): boolean;
27
+ isPrototypeOf(v: Object): boolean;
28
+ propertyIsEnumerable(v: PropertyKey): boolean;
29
+ };
30
+ static savedValueTypes(schema: any): string[];
10
31
  render(): any;
11
32
  setValue(value: any, flags?: {}): boolean;
12
33
  get emptyValue(): {};
@@ -1,6 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import Field from '../_classes/field/Field';
3
- import { boolValue } from '../../utils/utils';
3
+ import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
4
4
  export default class SurveyComponent extends Field {
5
5
  static schema(...extend) {
6
6
  return Field.schema({
@@ -21,6 +21,18 @@ export default class SurveyComponent extends Field {
21
21
  schema: SurveyComponent.schema()
22
22
  };
23
23
  }
24
+ static get serverConditionSettings() {
25
+ return SurveyComponent.conditionOperatorsSettings;
26
+ }
27
+ static get conditionOperatorsSettings() {
28
+ return {
29
+ ...super.conditionOperatorsSettings,
30
+ operators: ['isEmpty', 'isNotEmpty'],
31
+ };
32
+ }
33
+ static savedValueTypes(schema) {
34
+ return getComponentSavedTypes(schema) || [componentValueTypes.object];
35
+ }
24
36
  get defaultSchema() {
25
37
  return SurveyComponent.schema();
26
38
  }
@@ -8,8 +8,10 @@ export default class TableComponent extends NestedComponent {
8
8
  icon: string;
9
9
  weight: number;
10
10
  documentation: string;
11
+ showPreview: boolean;
11
12
  schema: any;
12
13
  };
14
+ static savedValueTypes(): never[];
13
15
  constructor(...args: any[]);
14
16
  get cellClassName(): string;
15
17
  get tableKey(): string;
@@ -39,9 +39,13 @@ export default class TableComponent extends NestedComponent {
39
39
  icon: 'table',
40
40
  weight: 40,
41
41
  documentation: '/userguide/form-building/layout-components#table',
42
+ showPreview: false,
42
43
  schema: TableComponent.schema()
43
44
  };
44
45
  }
46
+ static savedValueTypes() {
47
+ return [];
48
+ }
45
49
  get defaultSchema() {
46
50
  return TableComponent.schema();
47
51
  }
@@ -5,8 +5,10 @@ export default class TabsComponent extends NestedComponent {
5
5
  icon: string;
6
6
  weight: number;
7
7
  documentation: string;
8
+ showPreview: boolean;
8
9
  schema: any;
9
10
  };
11
+ static savedValueTypes(): never[];
10
12
  constructor(...args: any[]);
11
13
  get tabKey(): string;
12
14
  get tabLikey(): string;
@@ -26,9 +26,13 @@ export default class TabsComponent extends NestedComponent {
26
26
  icon: 'folder-o',
27
27
  weight: 50,
28
28
  documentation: '/userguide/form-building/layout-components#tabs',
29
+ showPreview: false,
29
30
  schema: TabsComponent.schema(),
30
31
  };
31
32
  }
33
+ static savedValueTypes() {
34
+ return [];
35
+ }
32
36
  get defaultSchema() {
33
37
  return TabsComponent.schema();
34
38
  }
@@ -7,6 +7,27 @@ export default class TagsComponent extends Input {
7
7
  weight: number;
8
8
  schema: any;
9
9
  };
10
+ static get serverConditionSettings(): {
11
+ operators: any[];
12
+ constructor: Function;
13
+ toString(): string;
14
+ toLocaleString(): string;
15
+ valueOf(): Object;
16
+ hasOwnProperty(v: PropertyKey): boolean;
17
+ isPrototypeOf(v: Object): boolean;
18
+ propertyIsEnumerable(v: PropertyKey): boolean;
19
+ };
20
+ static get conditionOperatorsSettings(): {
21
+ operators: any[];
22
+ constructor: Function;
23
+ toString(): string;
24
+ toLocaleString(): string;
25
+ valueOf(): Object;
26
+ hasOwnProperty(v: PropertyKey): boolean;
27
+ isPrototypeOf(v: Object): boolean;
28
+ propertyIsEnumerable(v: PropertyKey): boolean;
29
+ };
30
+ static savedValueTypes(schema: any): any[];
10
31
  get emptyValue(): "" | never[];
11
32
  get delimiter(): any;
12
33
  attachElement(element: any, index: any): void;
@@ -1,3 +1,4 @@
1
+ import { componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
1
2
  import Input from '../_classes/input/Input';
2
3
  import Choices from '@formio/choices.js';
3
4
  export default class TagsComponent extends Input {
@@ -21,6 +22,19 @@ export default class TagsComponent extends Input {
21
22
  schema: TagsComponent.schema()
22
23
  };
23
24
  }
25
+ static get serverConditionSettings() {
26
+ return TagsComponent.conditionOperatorsSettings;
27
+ }
28
+ static get conditionOperatorsSettings() {
29
+ return {
30
+ ...super.conditionOperatorsSettings,
31
+ operators: [...super.conditionOperatorsSettings.operators, 'includes', 'notIncludes'],
32
+ };
33
+ }
34
+ static savedValueTypes(schema) {
35
+ schema = schema || {};
36
+ return getComponentSavedTypes(schema) || [componentValueTypes[schema.storeas] || componentValueTypes.string];
37
+ }
24
38
  init() {
25
39
  super.init();
26
40
  }
@@ -10,6 +10,7 @@ export default class TextAreaComponent extends TextFieldComponent {
10
10
  */
11
11
  updateEditorValue(index: any, newValue: any): void;
12
12
  autoModified: boolean | undefined;
13
+ attachElement(element: any, index: any): any;
13
14
  imageHandler(moduleInstance: any, range: any, files: any): void;
14
15
  get isPlain(): boolean;
15
16
  get htmlView(): any;
@@ -19,8 +20,8 @@ export default class TextAreaComponent extends TextFieldComponent {
19
20
  setReadOnlyValue(value: any, index: any): void;
20
21
  get isJsonValue(): any;
21
22
  setConvertedValue(value: any, index: any): any;
22
- setAsyncConvertedValue(value: any): any;
23
- setImagesUrl(images: any): any;
23
+ setAsyncConvertedValue(value: any): Promise<any>;
24
+ setImagesUrl(images: any): Promise<any>;
24
25
  addAutoExpanding(textarea: any, index: any): void;
25
26
  trimBlanks(value: any): any;
26
27
  onChange(flags: any, fromRoot: any): {
@@ -1,7 +1,6 @@
1
1
  /* global Quill */
2
2
  import TextFieldComponent from '../textfield/TextField';
3
3
  import _ from 'lodash';
4
- import NativePromise from 'native-promise-only';
5
4
  import { uniqueName, getBrowserInfo } from '../../utils/utils';
6
5
  export default class TextAreaComponent extends TextFieldComponent {
7
6
  static schema(...extend) {
@@ -112,7 +111,7 @@ export default class TextAreaComponent extends TextFieldComponent {
112
111
  this.wysiwygDefault[this.component.editor] || this.wysiwygDefault.default
113
112
  : this.component.wysiwyg;
114
113
  // Keep track of when this editor is ready.
115
- this.editorsReady[index] = new NativePromise((editorReady) => {
114
+ this.editorsReady[index] = new Promise((editorReady) => {
116
115
  // Attempt to add a wysiwyg editor. In order to add one, it must be included on the global scope.
117
116
  switch (this.component.editor) {
118
117
  case 'ace':
@@ -280,7 +279,7 @@ export default class TextAreaComponent extends TextFieldComponent {
280
279
  this.setConvertedValue(value);
281
280
  return super.setValue(value, flags);
282
281
  }
283
- flags.skipWysiwyg = _.isEqual(value, this.getValue());
282
+ flags.skipWysiwyg = value === '' && flags.resetValue ? false : _.isEqual(value, this.getValue());
284
283
  return super.setValue(value, flags);
285
284
  }
286
285
  setContent(element, content, forceSanitize) {
@@ -342,11 +341,11 @@ export default class TextAreaComponent extends TextFieldComponent {
342
341
  });
343
342
  }
344
343
  else {
345
- return NativePromise.resolve(value);
344
+ return Promise.resolve(value);
346
345
  }
347
346
  }
348
347
  setImagesUrl(images) {
349
- return NativePromise.all(_.map(images, image => {
348
+ return Promise.all(_.map(images, image => {
350
349
  let requestData;
351
350
  try {
352
351
  requestData = JSON.parse(image.getAttribute('alt'));