@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,24 +1,12 @@
1
1
  import _ from 'lodash';
2
2
  import stringHash from 'string-hash';
3
+ import { Evaluator as CoreEvaluator } from '@formio/core/utils';
3
4
  const Evaluator = {
4
5
  noeval: false,
5
6
  protectedEval: false,
6
7
  cache: {},
7
- templateSettings: {
8
- evaluate: /\{%([\s\S]+?)%\}/g,
9
- interpolate: /\{\{([\s\S]+?)\}\}/g,
10
- escape: /\{\{\{([\s\S]+?)\}\}\}/g
11
- },
12
- evaluator(func, ...params) {
13
- if (Evaluator.noeval) {
14
- console.warn('No evaluations allowed for this renderer.');
15
- return _.noop;
16
- }
17
- if (typeof params[0] === 'object') {
18
- params = _.keys(params[0]);
19
- }
20
- return new Function(...params, func);
21
- },
8
+ templateSettings: CoreEvaluator.templateSettings,
9
+ evaluator: CoreEvaluator.evaluator,
22
10
  template(template, hash) {
23
11
  hash = hash || stringHash(template);
24
12
  if (Evaluator.cache[hash]) {
@@ -48,24 +36,7 @@ const Evaluator = {
48
36
  rawTemplate = String(rawTemplate);
49
37
  let template;
50
38
  if (Evaluator.noeval || options.noeval) {
51
- // No cached template methods available. Use poor-mans interpolate without eval.
52
- return rawTemplate.replace(/({{\s*(.*?)\s*}})/g, (match, $1, $2) => {
53
- // Allow for conditional values.
54
- const parts = $2.split('||').map(item => item.trim());
55
- let value = '';
56
- let path = '';
57
- for (let i = 0; i < parts.length; i++) {
58
- path = parts[i];
59
- value = _.get(data, path);
60
- if (value) {
61
- break;
62
- }
63
- }
64
- if (options.data) {
65
- _.set(options.data, path, value);
66
- }
67
- return value;
68
- });
39
+ return CoreEvaluator.interpolateString(rawTemplate, data, _options);
69
40
  }
70
41
  else {
71
42
  template = Evaluator.template(rawTemplate);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This file is used to mimic the i18n library interface.
3
+ */
4
+ export class I18n {
5
+ static init(languages?: {}): I18n;
6
+ static createInstance(): I18n;
7
+ constructor(languages?: {});
8
+ languages: {};
9
+ language: string;
10
+ currentLanguage: any;
11
+ setLanguages(languages: any): void;
12
+ dir(lang?: string): "rtl" | "ltr";
13
+ changeLanguage(language: any, ready?: null): void;
14
+ addResourceBundle(language: any, type: any, strings: any): void;
15
+ t(text: any, ...args: any[]): any;
16
+ }
@@ -0,0 +1,81 @@
1
+ import { Evaluator } from '@formio/core/utils';
2
+ import i18n from '../i18n';
3
+ const i18Defaults = {};
4
+ for (const lang in i18n.resources) {
5
+ if (i18n.resources.hasOwnProperty(lang)) {
6
+ i18Defaults[lang] = i18n.resources[lang].translation;
7
+ }
8
+ }
9
+ /**
10
+ * This file is used to mimic the i18n library interface.
11
+ */
12
+ export class I18n {
13
+ languages = i18Defaults;
14
+ language = 'en';
15
+ currentLanguage = i18Defaults.en;
16
+ constructor(languages = {}) {
17
+ this.setLanguages(languages);
18
+ this.changeLanguage(this.language);
19
+ }
20
+ setLanguages(languages) {
21
+ if (languages.resources) {
22
+ for (const lang in languages.resources) {
23
+ if (languages.resources.hasOwnProperty(lang)) {
24
+ languages[lang] = languages.resources[lang].translation;
25
+ }
26
+ }
27
+ delete languages.resources;
28
+ }
29
+ if (languages.lng) {
30
+ languages.language = languages.lng;
31
+ delete languages.lng;
32
+ }
33
+ // Do not use these configurations.
34
+ delete languages.nsSeparator;
35
+ delete languages.keySeparator;
36
+ delete languages.pluralSeparator;
37
+ delete languages.contextSeparator;
38
+ // Now establish the languages default.
39
+ if (languages.language) {
40
+ this.language = languages.language;
41
+ }
42
+ for (const lang in languages) {
43
+ if (lang !== 'language' && languages.hasOwnProperty(lang)) {
44
+ if (!this.languages[lang]) {
45
+ this.languages[lang] = {};
46
+ }
47
+ this.languages[lang] = { ...this.languages[lang], ...languages[lang] };
48
+ }
49
+ }
50
+ }
51
+ static init(languages = {}) {
52
+ return new I18n(languages);
53
+ }
54
+ dir(lang = '') {
55
+ lang = lang || this.language;
56
+ const rtls = ['ar', 'he', 'fa', 'ps', 'ur'];
57
+ return rtls.includes(lang) ? 'rtl' : 'ltr';
58
+ }
59
+ static createInstance() {
60
+ return new I18n();
61
+ }
62
+ changeLanguage(language, ready = null) {
63
+ if (!this.languages[language]) {
64
+ language = 'en';
65
+ }
66
+ this.language = language;
67
+ this.currentLanguage = this.languages[language] ? this.languages[language] : {};
68
+ if (ready) {
69
+ ready();
70
+ }
71
+ }
72
+ addResourceBundle(language, type, strings) {
73
+ this.languages[language] = strings;
74
+ }
75
+ t(text, ...args) {
76
+ if (this.currentLanguage[text]) {
77
+ return Evaluator.interpolateString(this.currentLanguage[text], ...args);
78
+ }
79
+ return Evaluator.interpolateString(text, ...args);
80
+ }
81
+ }
@@ -223,7 +223,7 @@ export function getNumberSeparators(lang?: string): {
223
223
  };
224
224
  export function getNumberDecimalLimit(component: any, defaultLimit: any): any;
225
225
  export function getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }: {
226
- currency?: string | undefined;
226
+ currency: any;
227
227
  decimalLimit: any;
228
228
  decimalSeparator: any;
229
229
  lang: any;
@@ -349,6 +349,7 @@ export function isPromise(value: any): boolean;
349
349
  */
350
350
  export function isInsideScopingComponent(componentInstance: any, firstPass?: boolean): boolean | boolean | any;
351
351
  export function getFocusableElements(element: any): any;
352
+ export function getComponentSavedTypes(fullSchema: any): string[] | null;
352
353
  export * from "./formUtils";
353
354
  /**
354
355
  * Map values through unfold and return first non-nil value.
@@ -357,6 +358,15 @@ export * from "./formUtils";
357
358
  * @return {T}
358
359
  */
359
360
  export const firstNonNil: any;
361
+ export namespace componentValueTypes {
362
+ const number: string;
363
+ const string: string;
364
+ const boolean: string;
365
+ const array: string;
366
+ const object: string;
367
+ const date: string;
368
+ const any: string;
369
+ }
360
370
  import jsonLogic from 'json-logic-js';
361
371
  import ConditionOperators from './conditionOperators';
362
372
  import Evaluator from './Evaluator';
@@ -1,18 +1,17 @@
1
- /* global $ */
1
+ /* global jQuery */
2
2
  import _ from 'lodash';
3
3
  import fetchPonyfill from 'fetch-ponyfill';
4
4
  import jsonLogic from 'json-logic-js';
5
5
  import moment from 'moment-timezone/moment-timezone';
6
6
  import jtz from 'jstimezonedetect';
7
7
  import { lodashOperators } from './jsonlogic/operators';
8
- import NativePromise from 'native-promise-only';
9
8
  import dompurify from 'dompurify';
10
9
  import { getValue } from './formUtils';
11
10
  import Evaluator from './Evaluator';
12
11
  import ConditionOperators from './conditionOperators';
13
12
  const interpolate = Evaluator.interpolate;
14
13
  const { fetch } = fetchPonyfill({
15
- Promise: NativePromise
14
+ Promise: Promise
16
15
  });
17
16
  export * from './formUtils';
18
17
  // Configure JsonLogic
@@ -337,7 +336,7 @@ export function checkCondition(component, row, data, form, instance) {
337
336
  */
338
337
  export function checkTrigger(component, trigger, row, data, form, instance) {
339
338
  // If trigger is empty, don't fire it
340
- if (!trigger[trigger.type]) {
339
+ if (!trigger || !trigger[trigger.type]) {
341
340
  return false;
342
341
  }
343
342
  switch (trigger.type) {
@@ -550,7 +549,7 @@ export function shouldLoadZones(timezone) {
550
549
  export function loadZones(url, timezone) {
551
550
  if (timezone && !shouldLoadZones(timezone)) {
552
551
  // Return non-resolving promise.
553
- return new NativePromise(_.noop);
552
+ return new Promise(_.noop);
554
553
  }
555
554
  if (moment.zonesPromise) {
556
555
  return moment.zonesPromise;
@@ -824,7 +823,7 @@ export function getNumberDecimalLimit(component, defaultLimit) {
824
823
  }
825
824
  return decimalLimit;
826
825
  }
827
- export function getCurrencyAffixes({ currency = 'USD', decimalLimit, decimalSeparator, lang, }) {
826
+ export function getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }) {
828
827
  // Get the prefix and suffix from the localized string.
829
828
  let regex = `(.*)?${(100).toLocaleString(lang)}`;
830
829
  if (decimalLimit) {
@@ -833,7 +832,7 @@ export function getCurrencyAffixes({ currency = 'USD', decimalLimit, decimalSepa
833
832
  regex += '(.*)?';
834
833
  const parts = (100).toLocaleString(lang, {
835
834
  style: 'currency',
836
- currency,
835
+ currency: currency ? currency : 'USD',
837
836
  useGrouping: true,
838
837
  maximumFractionDigits: decimalLimit || 0,
839
838
  minimumFractionDigits: decimalLimit || 0
@@ -952,8 +951,8 @@ export function bootstrapVersion(options) {
952
951
  if (options.bootstrap) {
953
952
  return options.bootstrap;
954
953
  }
955
- if ((typeof $ === 'function') && (typeof $().collapse === 'function')) {
956
- return parseInt($.fn.collapse.Constructor.VERSION.split('.')[0], 10);
954
+ if ((typeof jQuery === 'function') && (typeof jQuery().collapse === 'function')) {
955
+ return parseInt(jQuery.fn.collapse.Constructor.VERSION.split('.')[0], 10);
957
956
  }
958
957
  if (window.bootstrap && window.bootstrap.Collapse) {
959
958
  return parseInt(window.bootstrap.Collapse.VERSION.split('.')[0], 10);
@@ -1366,3 +1365,22 @@ export function getFocusableElements(element) {
1366
1365
  }
1367
1366
  // Export lodash to save space with other libraries.
1368
1367
  export { _ };
1368
+ export const componentValueTypes = {
1369
+ number: 'number',
1370
+ string: 'string',
1371
+ boolean: 'boolean',
1372
+ array: 'array',
1373
+ object: 'object',
1374
+ date: 'date',
1375
+ any: 'any',
1376
+ };
1377
+ export function getComponentSavedTypes(fullSchema) {
1378
+ const schema = fullSchema || {};
1379
+ if (schema.persistent !== true) {
1380
+ return [];
1381
+ }
1382
+ if (schema.multiple) {
1383
+ return [componentValueTypes.array];
1384
+ }
1385
+ return null;
1386
+ }
@@ -21,7 +21,7 @@ export class ValidationChecker {
21
21
  key: string;
22
22
  hasLabel: boolean;
23
23
  message(component: any): any;
24
- check(component: any, setting: any, value: any): any;
24
+ check(component: any, setting: any, value: any): true | Promise<any>;
25
25
  };
26
26
  multiple: {
27
27
  key: string;
@@ -170,7 +170,35 @@ export class ValidationChecker {
170
170
  };
171
171
  };
172
172
  checkValidator(component: any, validator: any, setting: any, value: any, data: any, index: any, row: any, async: any): any;
173
- validate(component: any, validatorName: any, value: any, data: any, index: any, row: any, async: any, conditionallyVisible: any, validationObj: any): any;
173
+ validate(component: any, validatorName: any, value: any, data: any, index: any, row: any, async: any, conditionallyVisible: any, validationObj: any): false | {
174
+ message: string;
175
+ level: string;
176
+ path: any;
177
+ context: {
178
+ validator: any;
179
+ hasLabel: any;
180
+ setting: any;
181
+ key: any;
182
+ label: any;
183
+ value: any;
184
+ index: any;
185
+ input: any;
186
+ };
187
+ } | Promise<false | {
188
+ message: string;
189
+ level: string;
190
+ path: any;
191
+ context: {
192
+ validator: any;
193
+ hasLabel: any;
194
+ setting: any;
195
+ key: any;
196
+ label: any;
197
+ value: any;
198
+ index: any;
199
+ input: any;
200
+ };
201
+ }>;
174
202
  checkComponent(component: any, data: any, row: any, includeWarnings?: boolean, async?: boolean): any;
175
203
  /**
176
204
  * Use the new validations engine to evaluate any errors.
@@ -1,10 +1,9 @@
1
1
  import _ from 'lodash';
2
2
  import { boolValue, getInputMask, matchInputMask, getDateSetting, escapeRegExCharacters, interpolate, convertFormatToMoment, getArrayFromComponentPath, unescapeHTML } from '../utils/utils';
3
3
  import moment from 'moment';
4
- import NativePromise from 'native-promise-only';
5
4
  import fetchPonyfill from 'fetch-ponyfill';
6
5
  const { fetch, Headers, Request } = fetchPonyfill({
7
- Promise: NativePromise
6
+ Promise: Promise
8
7
  });
9
8
  import { checkInvalidDate, CALENDAR_ERROR_MESSAGES } from '../utils/calendarUtils';
10
9
  import Rules from './Rules';
@@ -69,7 +68,7 @@ class ValidationChecker {
69
68
  if (!this.config.db) {
70
69
  return true;
71
70
  }
72
- return new NativePromise(resolve => {
71
+ return new Promise(resolve => {
73
72
  const form = this.config.form;
74
73
  const submission = this.config.submission;
75
74
  const path = `data.${component.path}`;
@@ -95,10 +94,19 @@ class ValidationChecker {
95
94
  };
96
95
  // Build the query
97
96
  const query = { form: form._id };
97
+ let collationOptions = {};
98
98
  if (_.isString(value)) {
99
99
  if (component.component.dbIndex) {
100
100
  addPathQueryParams(value, query, path);
101
101
  }
102
+ // These are kind of hacky but provides for a more efficient "unique" validation when the string is an email,
103
+ // because we (by and large) only have to worry about ASCII and partial unicode; this way, we can use collation-
104
+ // aware indexes with case insensitive email searches to make things like login and registration a whole lot faster
105
+ else if (component.component.type === 'email' ||
106
+ (component.component.type === 'textfield' && component.component.validate?.pattern === '[A-Za-z0-9]+')) {
107
+ addPathQueryParams(value, query, path);
108
+ collationOptions = { collation: { locale: 'en', strength: 2 } };
109
+ }
102
110
  else {
103
111
  addPathQueryParams({
104
112
  $regex: new RegExp(`^${escapeRegExCharacters(value)}$`),
@@ -126,8 +134,7 @@ class ValidationChecker {
126
134
  // Only search for non-deleted items
127
135
  query.deleted = { $eq: null };
128
136
  query.state = 'submitted';
129
- // Try to find an existing value within the form
130
- this.config.db.findOne(query, (err, result) => {
137
+ const uniqueValidationCallback = (err, result) => {
131
138
  if (err) {
132
139
  return resolve(false);
133
140
  }
@@ -144,6 +151,21 @@ class ValidationChecker {
144
151
  else {
145
152
  return resolve(true);
146
153
  }
154
+ };
155
+ // Try to find an existing value within the form
156
+ this.config.db.findOne(query, null, collationOptions, (err, result) => {
157
+ if (err && collationOptions.collation) {
158
+ // presume this error comes from db compatibility, try again as regex
159
+ delete query[path];
160
+ addPathQueryParams({
161
+ $regex: new RegExp(`^${escapeRegExCharacters(value)}$`),
162
+ $options: 'i'
163
+ }, query, path);
164
+ this.config.db.findOne(query, uniqueValidationCallback);
165
+ }
166
+ else {
167
+ return uniqueValidationCallback(err, result);
168
+ }
147
169
  });
148
170
  }).catch(() => false);
149
171
  }
@@ -819,7 +841,7 @@ class ValidationChecker {
819
841
  return '';
820
842
  };
821
843
  if (async) {
822
- return NativePromise.resolve(resultOrPromise).then(processResult);
844
+ return Promise.resolve(resultOrPromise).then(processResult);
823
845
  }
824
846
  else {
825
847
  return processResult(resultOrPromise);
@@ -860,7 +882,7 @@ class ValidationChecker {
860
882
  }
861
883
  };
862
884
  if (async) {
863
- return NativePromise.resolve(resultOrPromise).then(processResult);
885
+ return Promise.resolve(resultOrPromise).then(processResult);
864
886
  }
865
887
  else {
866
888
  return processResult(resultOrPromise);
@@ -872,7 +894,7 @@ class ValidationChecker {
872
894
  && !_.defaultTo(component.component.persistent, true);
873
895
  // If we're server-side and it's not a persistent component, don't run validation at all
874
896
  if (isServerSidePersistent || component.component.validate === false) {
875
- return async ? NativePromise.resolve([]) : [];
897
+ return async ? Promise.resolve([]) : [];
876
898
  }
877
899
  data = data || component.rootValue;
878
900
  row = row || component.data;
@@ -993,7 +1015,7 @@ class ValidationChecker {
993
1015
  };
994
1016
  // Wait for results if using async mode, otherwise process and return immediately
995
1017
  if (async) {
996
- return NativePromise.all(resultsOrPromises).then(formatResults);
1018
+ return Promise.all(resultsOrPromises).then(formatResults);
997
1019
  }
998
1020
  else {
999
1021
  return formatResults(resultsOrPromises);
@@ -1,8 +1,7 @@
1
1
  import { interpolate } from '../../utils/utils';
2
- import NativePromise from 'native-promise-only';
3
2
  import fetchPonyfill from 'fetch-ponyfill';
4
3
  const { fetch, Headers, Request } = fetchPonyfill({
5
- Promise: NativePromise
4
+ Promise: Promise
6
5
  });
7
6
  import _ from 'lodash';
8
7
  import Rule from './Rule';
@@ -1,5 +1,5 @@
1
1
  export default class Unique extends Rule {
2
2
  defaultMessage: string;
3
- check(value: any): any;
3
+ check(value: any): true | Promise<any>;
4
4
  }
5
5
  import Rule from './Rule';
@@ -1,6 +1,5 @@
1
1
  import { escapeRegExCharacters } from '../../utils/utils';
2
2
  import _ from 'lodash';
3
- import NativePromise from 'native-promise-only';
4
3
  import Rule from './Rule';
5
4
  export default class Unique extends Rule {
6
5
  defaultMessage = '{{field}} must be unique';
@@ -13,7 +12,7 @@ export default class Unique extends Rule {
13
12
  if (!this.config.db) {
14
13
  return true;
15
14
  }
16
- return new NativePromise(resolve => {
15
+ return new Promise(resolve => {
17
16
  const form = this.config.form;
18
17
  const submission = this.config.submission;
19
18
  const path = `data.${this.component.path}`;
@@ -30,6 +30,7 @@ export default class CalendarWidget extends InputWidget {
30
30
  * @return {boolean} TRUE if the zones are loading, FALSE otherwise.
31
31
  */
32
32
  loadZones(): boolean;
33
+ attach(input: any): Promise<any>;
33
34
  defaultFormat: {
34
35
  date: string;
35
36
  time: string;
@@ -8,7 +8,7 @@ export default class InputWidget extends Element {
8
8
  namespace: string;
9
9
  component: any;
10
10
  settings: any;
11
- attach(input: any): any;
11
+ attach(input: any): Promise<void>;
12
12
  _input: any;
13
13
  get defaultSettings(): {};
14
14
  set disabled(arg: any);
@@ -1,6 +1,5 @@
1
1
  import _ from 'lodash';
2
2
  import Element from '../Element';
3
- import NativePromise from 'native-promise-only';
4
3
  export default class InputWidget extends Element {
5
4
  static get defaultSettings() {
6
5
  return {
@@ -17,7 +16,7 @@ export default class InputWidget extends Element {
17
16
  }
18
17
  attach(input) {
19
18
  this._input = input;
20
- return NativePromise.resolve();
19
+ return Promise.resolve();
21
20
  }
22
21
  get defaultSettings() {
23
22
  return {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.0.0-rc.19",
3
+ "version": "5.0.0-rc.21",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -9,6 +9,10 @@
9
9
  "import": "./lib/mjs/index.js",
10
10
  "require": "./lib/cjs/index.js"
11
11
  },
12
+ "./sdk": {
13
+ "import": "./lib/mjs/Formio.js",
14
+ "require": "./lib/cjs/Formio.js"
15
+ },
12
16
  "./utils": {
13
17
  "import": "./lib/mjs/utils/index.js",
14
18
  "require": "./lib/cjs/utils/index.js"
@@ -33,24 +37,24 @@
33
37
  "lint"
34
38
  ],
35
39
  "scripts": {
36
- "build": "npm run lib && npm run dist",
40
+ "build": "yarn doc && yarn lib && yarn dist",
41
+ "doc": "esdoc",
37
42
  "dist": "gulp clean:dist && webpack --config webpack.config.js && webpack --config webpack.prod.js && gulp build",
38
- "lib": "gulp clean:lib && tsc --project tsconfig.cjs.json && tsc --project tsconfig.mjs.json && npm run lib:package",
43
+ "lib": "gulp clean:lib && tsc --project tsconfig.cjs.json && tsc --project tsconfig.mjs.json && yarn lib:package",
39
44
  "lib:package": "node ./libpackage.js",
40
- "version": "node -e 'process.stdout.write(require(`./package.json`).version)'",
41
- "build-app": "npm run build-app:create-app && npm run build-app:jekyll && npm run build-app:remove-app",
45
+ "version": "node -e 'console.log(require(`./package.json`).version)'",
46
+ "build-app": "yarn build-app:create-app && yarn build-app:jekyll && yarn build-app:remove-app",
42
47
  "build-app:create-app": "node -e 'var fs=require(`fs`);fs.writeFileSync(`./_config.app.yml`, `baseurl: /` + require(`./package.json`).version + `/`);'",
43
48
  "build-app:remove-app": "rm ./_config.app.yml",
44
49
  "build-app:jekyll": "jekyll build --config _config.yml,_config.app.yml",
45
50
  "deploy-s3": "$(node -e 'process.stdout.write(`aws s3 cp _site s3://formiojs.test-form.io/` + require(`./package.json`).version + `/ --recursive`)')",
46
- "invalidate": "VERSION=$(npm run version);aws cloudfront create-invalidation --distribution-id E1MXNA5A4ZKRMZ --paths \"/$VERSION/*\"",
47
- "release": "npm run build-app && npm run deploy-s3",
48
- "tag": "VERSION=$(npm run version);git add -A; git commit -m \"Build $Version\";git push origin master;git tag v$VERSION;git push origin --tags;",
49
- "dopublish": "npm test;gulp build;npm run tag;npm publish lib --tag=rc;",
51
+ "invalidate": "VERSION=$(yarn version);aws cloudfront create-invalidation --distribution-id E1MXNA5A4ZKRMZ --paths \"/$VERSION/*\"",
52
+ "release": "yarn build-app && yarn deploy-s3",
53
+ "tag": "VERSION=$(yarn version);git add -A; git commit -m \"Build $Version\";git push origin master;git tag v$VERSION;git push origin --tags;",
54
+ "dopublish": "npm test;gulp build;yarn tag;npm publish lib --tag=rc;",
50
55
  "lint": "gulp eslint",
51
56
  "serve": "jekyll serve --config _config.yml,_config.dev.yml",
52
- "test": "npm run test:unit",
53
- "test:unit": "npm run lib && mocha --require ts-node/register 'src/**/*.unit.js'",
57
+ "test": "mocha 'src/**/*.unit.js'",
54
58
  "test:updateRenders": "npm run lib && TZ=UTC node --require jsdom-global/register test/updateRenders.js",
55
59
  "test:e2e": "NODE_OPTIONS=\"--max-old-space-size=4096\" karma start --verbose --single-run"
56
60
  },
@@ -73,9 +77,9 @@
73
77
  },
74
78
  "homepage": "https://github.com/formio/formio.js#readme",
75
79
  "dependencies": {
76
- "@formio/bootstrap": "^3.0.0-rc.6",
80
+ "@formio/bootstrap": "^3.0.0-rc.12",
77
81
  "@formio/choices.js": "^10.2.0",
78
- "@formio/core": "1.3.0-rc.15",
82
+ "@formio/core": "1.3.0-rc.16",
79
83
  "@formio/text-mask-addons": "^3.8.0-formio.2",
80
84
  "@formio/vanilla-text-mask": "^5.1.1-formio.1",
81
85
  "autocompleter": "^8.0.4",
@@ -93,7 +97,6 @@
93
97
  "fast-deep-equal": "^3.1.3",
94
98
  "fast-json-patch": "^3.1.1",
95
99
  "fetch-ponyfill": "^7.1.0",
96
- "i18next": "23.2.3",
97
100
  "idb": "^7.1.1",
98
101
  "ismobilejs": "^1.1.1",
99
102
  "json-logic-js": "^2.0.2",
@@ -102,7 +105,6 @@
102
105
  "lodash": "^4.17.21",
103
106
  "moment": "^2.29.4",
104
107
  "moment-timezone": "^0.5.43",
105
- "native-promise-only": "^0.8.1",
106
108
  "quill": "^2.0.0-dev.3",
107
109
  "resize-observer-polyfill": "^1.5.1",
108
110
  "signature_pad": "^4.1.4",
@@ -114,6 +116,7 @@
114
116
  "devDependencies": {
115
117
  "@typescript-eslint/eslint-plugin": "^5.60.1",
116
118
  "@typescript-eslint/parser": "^5.60.1",
119
+ "ace-builds": "^1.4.12",
117
120
  "async-limiter": "^2.0.0",
118
121
  "bootstrap-icons": "^1.10.5",
119
122
  "bootswatch": "^5.3.0",
package/types/index.d.ts CHANGED
@@ -15,3 +15,4 @@ export * from './rulesEngine/rules';
15
15
  export * from './rulesEngine/transformers';
16
16
  export * from './rulesEngine/valueSources';
17
17
  export * from './providers';
18
+ export * from './licenses';
@@ -0,0 +1,7 @@
1
+ export class Licenses {
2
+ static readonly licenses: any;
3
+ static addLicense(name: string, license: any): void;
4
+ static removeLicense(name: string): void;
5
+ static getLicense(name: string): any;
6
+ static getLicenses(): any;
7
+ }
package/types/utils.d.ts CHANGED
@@ -4,8 +4,10 @@ export type AnyForJSON = { [key: string]: any } | any;
4
4
 
5
5
  export namespace Utils {
6
6
  const ConditionOperators: any;
7
+ const componentValueTypes: { [key: string]: string };
7
8
  const Evaluator: any;
8
9
  const _: any;
10
+ function getComponentSavedTypes(schema: object): Array<any> | null;
9
11
  function evaluate(
10
12
  func: any,
11
13
  args: { component: any; form: any; instance: any; row: any; data: any } | any,