@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,8 +1,7 @@
1
1
  import _ from 'lodash';
2
2
  import ListComponent from '../_classes/list/ListComponent';
3
- import NativePromise from 'native-promise-only';
4
3
  import { Formio } from '../../Formio';
5
- import { boolValue } from '../../utils/utils';
4
+ import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
6
5
  export default class RadioComponent extends ListComponent {
7
6
  static schema(...extend) {
8
7
  return ListComponent.schema({
@@ -27,6 +26,39 @@ export default class RadioComponent extends ListComponent {
27
26
  schema: RadioComponent.schema()
28
27
  };
29
28
  }
29
+ static get conditionOperatorsSettings() {
30
+ return {
31
+ ...super.conditionOperatorsSettings,
32
+ valueComponent(classComp) {
33
+ return {
34
+ type: 'select',
35
+ dataSrc: 'custom',
36
+ valueProperty: 'value',
37
+ dataType: classComp.dataType || '',
38
+ data: {
39
+ custom() {
40
+ return classComp.values;
41
+ }
42
+ },
43
+ };
44
+ }
45
+ };
46
+ }
47
+ static savedValueTypes(schema) {
48
+ const { boolean, string, number, object, array } = componentValueTypes;
49
+ const { dataType } = schema;
50
+ const types = getComponentSavedTypes(schema);
51
+ if (types) {
52
+ return types;
53
+ }
54
+ if (dataType === 'object') {
55
+ return [object, array];
56
+ }
57
+ if (componentValueTypes[dataType]) {
58
+ return [componentValueTypes[dataType]];
59
+ }
60
+ return [boolean, string, number, object, array];
61
+ }
30
62
  constructor(component, options, data) {
31
63
  super(component, options, data);
32
64
  this.previousValue = this.dataValue || null;
@@ -58,6 +90,10 @@ export default class RadioComponent extends ListComponent {
58
90
  get optionSelectedClass() {
59
91
  return 'radio-selected';
60
92
  }
93
+ get listData() {
94
+ const listData = _.get(this.root, 'submission.metadata.listData', {});
95
+ return _.get(listData, this.path);
96
+ }
61
97
  init() {
62
98
  super.init();
63
99
  this.templateData = {};
@@ -73,7 +109,7 @@ export default class RadioComponent extends ListComponent {
73
109
  if (typeof this.itemsLoadedResolve === 'function') {
74
110
  this.itemsLoadedResolve();
75
111
  }
76
- this.itemsLoaded = new NativePromise((resolve) => {
112
+ this.itemsLoaded = new Promise((resolve) => {
77
113
  this.itemsLoadedResolve = resolve;
78
114
  });
79
115
  if (args.length) {
@@ -81,11 +117,13 @@ export default class RadioComponent extends ListComponent {
81
117
  }
82
118
  return triggerUpdate(...updateArgs);
83
119
  };
84
- this.itemsLoaded = new NativePromise((resolve) => {
120
+ this.itemsLoaded = new Promise((resolve) => {
85
121
  this.itemsLoadedResolve = resolve;
86
122
  });
87
- this.shouldLoad = true;
123
+ this.optionsLoaded = false;
88
124
  this.loadedOptions = [];
125
+ // Get the template keys for this radio component.
126
+ this.getTemplateKeys();
89
127
  }
90
128
  render() {
91
129
  return super.render(this.renderTemplate('radio', {
@@ -185,6 +223,13 @@ export default class RadioComponent extends ListComponent {
185
223
  }
186
224
  }
187
225
  loadItems(url, search, headers, options, method, body) {
226
+ if (this.optionsLoaded) {
227
+ return;
228
+ }
229
+ if (!this.shouldLoad) {
230
+ this.loadItemsFromMetadata();
231
+ return;
232
+ }
188
233
  // Ensure we have a method and remove any body if method is get
189
234
  method = method || 'GET';
190
235
  if (method.toUpperCase() === 'GET') {
@@ -194,33 +239,55 @@ export default class RadioComponent extends ListComponent {
194
239
  options.ignoreCache = this.component.ignoreCache;
195
240
  // Make the request.
196
241
  options.header = headers;
197
- if (this.shouldLoad) {
198
- this.loading = true;
199
- Formio.makeRequest(this.options.formio, 'select', url, method, body, options)
200
- .then((response) => {
201
- this.loading = false;
202
- this.error = null;
203
- this.setItems(response);
204
- this.shouldLoad = false;
205
- this.redraw();
206
- })
207
- .catch((err) => {
208
- this.handleLoadingError(err);
209
- });
210
- }
242
+ this.loading = true;
243
+ Formio.makeRequest(this.options.formio, 'select', url, method, body, options)
244
+ .then((response) => {
245
+ this.loading = false;
246
+ this.error = null;
247
+ this.setItems(response);
248
+ this.optionsLoaded = true;
249
+ this.redraw();
250
+ })
251
+ .catch((err) => {
252
+ this.handleLoadingError(err);
253
+ });
254
+ }
255
+ loadItemsFromMetadata() {
256
+ this.listData.forEach((item, i) => {
257
+ this.loadedOptions[i] = {
258
+ label: this.itemTemplate(item)
259
+ };
260
+ if (_.isEqual(item, this.selectData)) {
261
+ this.loadedOptions[i].value = this.dataValue;
262
+ }
263
+ });
264
+ this.optionsLoaded = true;
265
+ this.redraw();
211
266
  }
212
267
  setItems(items) {
268
+ const listData = [];
213
269
  items?.forEach((item, i) => {
214
270
  this.loadedOptions[i] = {
215
271
  value: item[this.component.valueProperty],
216
272
  label: this.itemTemplate(item, item[this.component.valueProperty])
217
273
  };
274
+ listData.push(this.templateData[item[this.component.valueProperty]]);
218
275
  if (_.isUndefined(item[this.component.valueProperty]) ||
219
276
  _.isObject(item[this.component.valueProperty]) ||
220
277
  (!this.isRadio && _.isBoolean(item[this.component.valueProperty]))) {
221
278
  this.loadedOptions[i].invalid = true;
222
279
  }
223
280
  });
281
+ if (this.isSelectURL) {
282
+ const submission = this.root.submission;
283
+ if (!submission.metadata) {
284
+ submission.metadata = {};
285
+ }
286
+ if (!submission.metadata.listData) {
287
+ submission.metadata.listData = {};
288
+ }
289
+ _.set(submission.metadata.listData, this.path, listData);
290
+ }
224
291
  }
225
292
  setSelectedClasses() {
226
293
  if (this.refs.wrapper) {
@@ -283,6 +350,13 @@ export default class RadioComponent extends ListComponent {
283
350
  if (value === 'false') {
284
351
  value = false;
285
352
  }
353
+ if (this.isSelectURL && this.templateData && this.templateData[value]) {
354
+ const submission = this.root.submission;
355
+ if (!submission.metadata.selectData) {
356
+ submission.metadata.selectData = {};
357
+ }
358
+ _.set(submission.metadata.selectData, this.path, this.templateData[value]);
359
+ }
286
360
  return super.normalizeValue(value);
287
361
  }
288
362
  }
@@ -7,13 +7,14 @@ export default class ReCaptchaComponent extends Component {
7
7
  weight: number;
8
8
  schema: any;
9
9
  };
10
+ static savedValueTypes(): never[];
10
11
  render(): any;
11
12
  recaptchaResult: any;
12
13
  createInput(): void;
13
14
  recaptchaApiReady: any;
14
15
  createLabel(): void;
15
16
  verify(actionName: any): void;
16
- recaptchaVerifiedPromise: any;
17
+ recaptchaVerifiedPromise: Promise<void> | undefined;
17
18
  isLoading: boolean | undefined;
18
19
  sendVerificationRequest(token: any): any;
19
20
  checkComponentValidity(data: any, dirty: any, row: any, options?: {}): any;
@@ -3,7 +3,6 @@ import Component from '../_classes/component/Component';
3
3
  import { Formio } from '../../Formio';
4
4
  import _get from 'lodash/get';
5
5
  import _debounce from 'lodash/debounce';
6
- import NativePromise from 'native-promise-only';
7
6
  export default class ReCaptchaComponent extends Component {
8
7
  static schema(...extend) {
9
8
  return Component.schema({
@@ -22,6 +21,9 @@ export default class ReCaptchaComponent extends Component {
22
21
  schema: ReCaptchaComponent.schema()
23
22
  };
24
23
  }
24
+ static savedValueTypes() {
25
+ return [];
26
+ }
25
27
  render() {
26
28
  this.recaptchaResult = null;
27
29
  if (this.builderMode) {
@@ -61,7 +63,7 @@ export default class ReCaptchaComponent extends Component {
61
63
  this.recaptchaApiReady = Formio.requireLibrary('googleRecaptcha', 'grecaptcha', recaptchaApiScriptUrl, true);
62
64
  }
63
65
  if (this.recaptchaApiReady) {
64
- this.recaptchaVerifiedPromise = new NativePromise((resolve, reject) => {
66
+ this.recaptchaVerifiedPromise = new Promise((resolve, reject) => {
65
67
  this.recaptchaApiReady
66
68
  .then(() => {
67
69
  if (!this.isLoading) {
@@ -117,13 +119,13 @@ export default class ReCaptchaComponent extends Component {
117
119
  const componentData = row[this.component.key];
118
120
  if (!componentData || !componentData.token) {
119
121
  this.setCustomValidity('ReCAPTCHA: Token is not specified in submission');
120
- return NativePromise.resolve(false);
122
+ return Promise.resolve(false);
121
123
  }
122
124
  if (!componentData.success) {
123
125
  this.setCustomValidity('ReCAPTCHA: Token validation error');
124
- return NativePromise.resolve(false);
126
+ return Promise.resolve(false);
125
127
  }
126
- return this.hook('validateReCaptcha', componentData.token, () => NativePromise.resolve(true))
128
+ return this.hook('validateReCaptcha', componentData.token, () => Promise.resolve(true))
127
129
  .then((success) => success)
128
130
  .catch((err) => {
129
131
  this.setCustomValidity(err.message || err);
@@ -1,3 +1,10 @@
1
1
  export default class ResourceComponent extends SelectComponent {
2
+ static get builderInfo(): {
3
+ title: string;
4
+ icon: string;
5
+ weight: number;
6
+ documentation: string;
7
+ schema: any;
8
+ };
2
9
  }
3
10
  import SelectComponent from '../select/Select';
@@ -14,7 +14,6 @@ export default class ResourceComponent extends SelectComponent {
14
14
  static get builderInfo() {
15
15
  return {
16
16
  title: 'Resource',
17
- group: 'premium',
18
17
  icon: 'files-o',
19
18
  weight: 90,
20
19
  documentation: '/userguide/form-building/form-components#resource',
@@ -5,7 +5,7 @@ export default [
5
5
  type: 'htmlelement',
6
6
  tag: 'div',
7
7
  className: 'alert alert-danger',
8
- content: 'The Resource component is deprecated. Use the Select component with data source of "Resource" instead.',
8
+ content: 'This component has been deprecated and will be removed in a future version of Formio.js.',
9
9
  },
10
10
  {
11
11
  type: 'select',
@@ -7,11 +7,32 @@ export default class SelectComponent extends ListComponent {
7
7
  documentation: string;
8
8
  schema: any;
9
9
  };
10
+ static get serverConditionSettings(): {
11
+ valueComponent(classComp: any): 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
+ valueComponent(classComp: any): 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
  templateData: {} | undefined;
11
32
  triggerUpdate: ((...args: any[]) => any) | undefined;
12
33
  set itemsLoaded(arg: any);
13
34
  get itemsLoaded(): any;
14
- itemsLoadedResolve: any;
35
+ itemsLoadedResolve: ((value: any) => void) | undefined;
15
36
  isFromSearch: boolean | undefined;
16
37
  searchServerCount: any;
17
38
  defaultServerCount: any;
@@ -19,6 +40,7 @@ export default class SelectComponent extends ListComponent {
19
40
  searchDownloadedResources: any;
20
41
  defaultDownloadedResources: any;
21
42
  activated: boolean | undefined;
43
+ get dataReady(): any;
22
44
  get emptyValue(): {};
23
45
  get valueProperty(): any;
24
46
  get inputInfo(): {
@@ -35,6 +57,7 @@ export default class SelectComponent extends ListComponent {
35
57
  get isSelectResource(): boolean;
36
58
  get itemsFromUrl(): boolean;
37
59
  get isInfiniteScrollProvided(): boolean;
60
+ get shouldInitialLoad(): any;
38
61
  isEntireObjectDisplay(): boolean;
39
62
  selectValueAndLabel(data: any): {
40
63
  value: any;
@@ -55,11 +78,7 @@ export default class SelectComponent extends ListComponent {
55
78
  set downloadedResources(arg: any);
56
79
  get downloadedResources(): any;
57
80
  getSingleItemValueForHTMLMode(data: any): any;
58
- getTemplateKeys(): void;
59
- templateKeys: any[] | undefined;
60
81
  get loadingError(): boolean | undefined;
61
- get selectData(): any;
62
- get shouldLoad(): any;
63
82
  loadItems(url: any, search: any, headers: any, options: any, method: any, body: any): void;
64
83
  getCustomItems(): any;
65
84
  asyncValues: boolean | undefined;
@@ -79,6 +98,7 @@ export default class SelectComponent extends ListComponent {
79
98
  render(): any;
80
99
  wrapElement(element: any): any;
81
100
  choicesOptions(): any;
101
+ attach(element: any): Promise<void> | undefined;
82
102
  focusableElement: any;
83
103
  choices: Choices | null | undefined;
84
104
  scrollList: any;
@@ -2,8 +2,7 @@ import _ from 'lodash';
2
2
  import { Formio } from '../../Formio';
3
3
  import ListComponent from '../_classes/list/ListComponent';
4
4
  import Form from '../../Form';
5
- import NativePromise from 'native-promise-only';
6
- import { getRandomComponentId, boolValue, isPromise } from '../../utils/utils';
5
+ import { getRandomComponentId, boolValue, isPromise, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
7
6
  import Choices from '../../utils/ChoicesWrapper';
8
7
  export default class SelectComponent extends ListComponent {
9
8
  static schema(...extend) {
@@ -54,6 +53,35 @@ export default class SelectComponent extends ListComponent {
54
53
  schema: SelectComponent.schema()
55
54
  };
56
55
  }
56
+ static get serverConditionSettings() {
57
+ return SelectComponent.conditionOperatorsSettings;
58
+ }
59
+ static get conditionOperatorsSettings() {
60
+ return {
61
+ ...super.conditionOperatorsSettings,
62
+ valueComponent(classComp) {
63
+ return { ...classComp, type: 'select' };
64
+ }
65
+ };
66
+ }
67
+ static savedValueTypes(schema) {
68
+ const { boolean, string, number, object, array } = componentValueTypes;
69
+ const { dataType, reference } = schema;
70
+ const types = getComponentSavedTypes(schema);
71
+ if (types) {
72
+ return types;
73
+ }
74
+ if (reference) {
75
+ return [object];
76
+ }
77
+ if (dataType === 'object') {
78
+ return [object, array];
79
+ }
80
+ if (componentValueTypes[dataType]) {
81
+ return [componentValueTypes[dataType]];
82
+ }
83
+ return [boolean, string, number, object, array];
84
+ }
57
85
  init() {
58
86
  super.init();
59
87
  this.templateData = {};
@@ -69,7 +97,7 @@ export default class SelectComponent extends ListComponent {
69
97
  if (typeof this.itemsLoadedResolve === 'function') {
70
98
  this.itemsLoadedResolve();
71
99
  }
72
- this.itemsLoaded = new NativePromise((resolve) => {
100
+ this.itemsLoaded = new Promise((resolve) => {
73
101
  this.itemsLoadedResolve = resolve;
74
102
  });
75
103
  if (args.length) {
@@ -89,7 +117,7 @@ export default class SelectComponent extends ListComponent {
89
117
  }
90
118
  // If this component has been activated.//
91
119
  this.activated = false;
92
- this.itemsLoaded = new NativePromise((resolve) => {
120
+ this.itemsLoaded = new Promise((resolve) => {
93
121
  this.itemsLoadedResolve = resolve;
94
122
  });
95
123
  if (this.isHtmlRenderMode()) {
@@ -104,7 +132,7 @@ export default class SelectComponent extends ListComponent {
104
132
  if (this.root &&
105
133
  this.root.submissionSet &&
106
134
  !this.attached) {
107
- return NativePromise.resolve();
135
+ return Promise.resolve();
108
136
  }
109
137
  return this.itemsLoaded;
110
138
  }
@@ -165,6 +193,15 @@ export default class SelectComponent extends ListComponent {
165
193
  get shouldDisabled() {
166
194
  return super.shouldDisabled || this.parentDisabled;
167
195
  }
196
+ get shouldInitialLoad() {
197
+ if (this.component.widget === 'html5' &&
198
+ this.isEntireObjectDisplay() &&
199
+ this.component.searchField &&
200
+ this.dataValue) {
201
+ return false;
202
+ }
203
+ return super.shouldLoad;
204
+ }
168
205
  isEntireObjectDisplay() {
169
206
  return this.component.dataSrc === 'resource' && this.valueProperty === 'data';
170
207
  }
@@ -189,7 +226,7 @@ export default class SelectComponent extends ListComponent {
189
226
  const value = (typeof itemLabel === 'string') ? this.t(itemLabel, { _userInput: true }) : itemLabel;
190
227
  return this.sanitize(value, this.shouldSanitizeValue);
191
228
  }
192
- if (this.component.multiple ? this.dataValue.find((val) => value === val) : (this.dataValue === value)) {
229
+ if (this.component.multiple && _.isArray(this.dataValue) ? this.dataValue.find((val) => value === val) : (this.dataValue === value)) {
193
230
  const selectData = this.selectData;
194
231
  if (selectData) {
195
232
  const templateValue = this.component.reference && value?._id ? value._id.toString() : value;
@@ -434,48 +471,9 @@ export default class SelectComponent extends ListComponent {
434
471
  }
435
472
  return defaultValue;
436
473
  }
437
- getTemplateKeys() {
438
- this.templateKeys = [];
439
- if (this.options.readOnly && this.component.template) {
440
- const keys = this.component.template.match(/({{\s*(.*?)\s*}})/g);
441
- if (keys) {
442
- keys.forEach((key) => {
443
- const propKey = key.match(/{{\s*item\.(.*?)\s*}}/);
444
- if (propKey && propKey.length > 1) {
445
- this.templateKeys.push(propKey[1]);
446
- }
447
- });
448
- }
449
- }
450
- }
451
474
  get loadingError() {
452
475
  return !this.component.refreshOn && !this.component.refreshOnBlur && this.networkError;
453
476
  }
454
- get selectData() {
455
- const selectData = _.get(this.root, 'submission.metadata.selectData', {});
456
- return _.get(selectData, this.path);
457
- }
458
- get shouldLoad() {
459
- if (this.loadingError) {
460
- return false;
461
- }
462
- // Live forms should always load.
463
- if (!this.options.readOnly) {
464
- return true;
465
- }
466
- // If there are template keys, then we need to see if we have the data.
467
- if (this.templateKeys && this.templateKeys.length) {
468
- // See if we already have the data we need.
469
- const dataValue = this.dataValue;
470
- const selectData = this.selectData;
471
- return this.templateKeys.reduce((shouldLoad, key) => {
472
- const hasValue = _.has(dataValue, key) || _.has(selectData, key);
473
- return shouldLoad || !hasValue;
474
- }, false);
475
- }
476
- // Return that we should load.
477
- return true;
478
- }
479
477
  loadItems(url, search, headers, options, method, body) {
480
478
  options = options || {};
481
479
  // See if we should load items or not.
@@ -514,7 +512,11 @@ export default class SelectComponent extends ListComponent {
514
512
  });
515
513
  // Add search capability.
516
514
  if (this.component.searchField && search) {
517
- const searchValue = Array.isArray(search) ? search.join(',') : search;
515
+ const searchValue = Array.isArray(search)
516
+ ? search.join(',')
517
+ : typeof search === 'object'
518
+ ? JSON.stringify(search)
519
+ : search;
518
520
  query[this.component.searchField] = this.component.searchField.endsWith('__regex')
519
521
  ? _.escapeRegExp(searchValue)
520
522
  : searchValue;
@@ -937,7 +939,7 @@ export default class SelectComponent extends ListComponent {
937
939
  const items = this.choices._store.activeItems;
938
940
  if (!items.length) {
939
941
  this.choices._addItem({
940
- value: placeholderValue,
942
+ value: '',
941
943
  label: placeholderValue,
942
944
  choiceId: 0,
943
945
  groupId: -1,
@@ -1107,7 +1109,7 @@ export default class SelectComponent extends ListComponent {
1107
1109
  if (this.component.multiple) {
1108
1110
  templateData = {};
1109
1111
  const dataValue = this.dataValue;
1110
- if (dataValue && dataValue.length) {
1112
+ if (dataValue && _.isArray(dataValue) && dataValue.length) {
1111
1113
  dataValue.forEach((dataValueItem) => {
1112
1114
  const dataValueItemValue = this.component.reference ? dataValueItem._id.toString() : dataValueItem;
1113
1115
  templateData[dataValueItemValue] = this.templateData[dataValueItemValue];
@@ -1175,7 +1177,7 @@ export default class SelectComponent extends ListComponent {
1175
1177
  }
1176
1178
  setValue(value, flags = {}) {
1177
1179
  const previousValue = this.dataValue;
1178
- if (this.component.widget === 'html5' && (_.isEqual(value, previousValue) || _.isEqual(previousValue, {}) && _.isEqual(flags, {}))) {
1180
+ if (this.component.widget === 'html5' && (_.isEqual(value, previousValue) || _.isEqual(previousValue, {}) && _.isEqual(flags, {})) && !flags.fromSubmission) {
1179
1181
  return false;
1180
1182
  }
1181
1183
  const changed = this.updateValue(value, flags);
@@ -1227,7 +1229,7 @@ export default class SelectComponent extends ListComponent {
1227
1229
  !this.active &&
1228
1230
  !this.selectOptions.length &&
1229
1231
  hasValue &&
1230
- this.shouldLoad &&
1232
+ this.shouldInitialLoad &&
1231
1233
  this.visible && (this.component.searchField || this.component.valueProperty);
1232
1234
  }
1233
1235
  setChoicesValue(value, hasPreviousValue, flags = {}) {
@@ -1251,7 +1253,8 @@ export default class SelectComponent extends ListComponent {
1251
1253
  else {
1252
1254
  if (hasValue) {
1253
1255
  const values = Array.isArray(value) ? value : [value];
1254
- if (!_.isEqual(this.dataValue, this.defaultValue) && this.selectOptions.length < 2) {
1256
+ if (!_.isEqual(this.dataValue, this.defaultValue) && this.selectOptions.length < 2
1257
+ || (this.selectData && flags.fromSubmission)) {
1255
1258
  const { value, label } = this.selectValueAndLabel(this.dataValue);
1256
1259
  this.addOption(value, label);
1257
1260
  }
@@ -1279,7 +1282,7 @@ export default class SelectComponent extends ListComponent {
1279
1282
  }
1280
1283
  }
1281
1284
  get itemsLoaded() {
1282
- return this._itemsLoaded || NativePromise.resolve();
1285
+ return this._itemsLoaded || Promise.resolve();
1283
1286
  }
1284
1287
  set itemsLoaded(promise) {
1285
1288
  this._itemsLoaded = promise;
@@ -1,4 +1,41 @@
1
1
  export default class SelectBoxesComponent extends RadioComponent {
2
+ static get serverConditionSettings(): {
3
+ valueComponent(classComp: any): {
4
+ type: string;
5
+ dataSrc: string;
6
+ valueProperty: string;
7
+ valueType: string;
8
+ data: {
9
+ custom: string;
10
+ };
11
+ };
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
+ valueComponent(classComp: any): {
22
+ type: string;
23
+ dataSrc: string;
24
+ valueProperty: string;
25
+ valueType: string;
26
+ data: {
27
+ custom: string;
28
+ };
29
+ };
30
+ constructor: Function;
31
+ toString(): string;
32
+ toLocaleString(): string;
33
+ valueOf(): Object;
34
+ hasOwnProperty(v: PropertyKey): boolean;
35
+ isPrototypeOf(v: Object): boolean;
36
+ propertyIsEnumerable(v: PropertyKey): boolean;
37
+ };
38
+ static savedValueTypes(schema: any): string[];
2
39
  constructor(...args: any[]);
3
40
  validators: string[];
4
41
  get emptyValue(): any;