@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
@@ -0,0 +1,30 @@
1
+ declare namespace _default {
2
+ const type: string;
3
+ const components: ({
4
+ type: string;
5
+ key: string;
6
+ rows: number;
7
+ editor: string;
8
+ hideLabel: boolean;
9
+ as: string;
10
+ input: boolean;
11
+ label?: undefined;
12
+ showValidations?: undefined;
13
+ tableView?: undefined;
14
+ } | {
15
+ label: string;
16
+ showValidations: boolean;
17
+ tableView: boolean;
18
+ key: string;
19
+ type: string;
20
+ input: boolean;
21
+ rows?: undefined;
22
+ editor?: undefined;
23
+ hideLabel?: undefined;
24
+ as?: undefined;
25
+ })[];
26
+ const title: string;
27
+ const display: string;
28
+ const name: string;
29
+ }
30
+ export default _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ type: 'form',
5
+ components: [
6
+ {
7
+ type: 'textarea',
8
+ key: 'jsonTextarea',
9
+ rows: 5,
10
+ editor: 'ace',
11
+ hideLabel: true,
12
+ as: 'json',
13
+ input: true
14
+ },
15
+ {
16
+ label: 'Submit',
17
+ showValidations: false,
18
+ tableView: false,
19
+ key: 'submit',
20
+ type: 'button',
21
+ input: true
22
+ }
23
+ ],
24
+ title: 'text area tests',
25
+ display: 'form',
26
+ name: 'textAriaTests',
27
+ };
@@ -1,4 +1,5 @@
1
1
  import comp1 from './comp1';
2
2
  import comp2 from './comp2';
3
3
  import comp3 from './comp3';
4
- export { comp1, comp2, comp3 };
4
+ import comp4 from './comp4';
5
+ export { comp1, comp2, comp3, comp4 };
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.comp3 = exports.comp2 = exports.comp1 = void 0;
6
+ exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
7
7
  const comp1_1 = __importDefault(require("./comp1"));
8
8
  exports.comp1 = comp1_1.default;
9
9
  const comp2_1 = __importDefault(require("./comp2"));
10
10
  exports.comp2 = comp2_1.default;
11
11
  const comp3_1 = __importDefault(require("./comp3"));
12
12
  exports.comp3 = comp3_1.default;
13
+ const comp4_1 = __importDefault(require("./comp4"));
14
+ exports.comp4 = comp4_1.default;
@@ -7,6 +7,27 @@ export default class TextFieldComponent 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): string[];
10
31
  get emptyValue(): string;
11
32
  /**
12
33
  * Returns the mask value object.
@@ -34,5 +55,6 @@ export default class TextFieldComponent extends Input {
34
55
  getValueAt(index: any): any;
35
56
  isHtmlRenderMode(): any;
36
57
  truncateMultipleSpaces(value: any): any;
58
+ beforeSubmit(): Promise<any>;
37
59
  }
38
60
  import Input from '../_classes/input/Input';
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const Input_1 = __importDefault(require("../_classes/input/Input"));
30
30
  const vanilla_text_mask_1 = require("@formio/vanilla-text-mask");
31
31
  const FormioUtils = __importStar(require("../../utils/utils"));
32
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
33
32
  class TextFieldComponent extends Input_1.default {
34
33
  static schema(...extend) {
35
34
  return Input_1.default.schema({
@@ -61,6 +60,15 @@ class TextFieldComponent extends Input_1.default {
61
60
  schema: TextFieldComponent.schema()
62
61
  };
63
62
  }
63
+ static get serverConditionSettings() {
64
+ return TextFieldComponent.conditionOperatorsSettings;
65
+ }
66
+ static get conditionOperatorsSettings() {
67
+ return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [...super.conditionOperatorsSettings.operators, 'includes', 'notIncludes', 'endsWith', 'startsWith'] });
68
+ }
69
+ static savedValueTypes(schema) {
70
+ return FormioUtils.getComponentSavedTypes(schema) || [FormioUtils.componentValueTypes.string];
71
+ }
64
72
  get defaultSchema() {
65
73
  return TextFieldComponent.schema();
66
74
  }
@@ -233,11 +241,11 @@ class TextFieldComponent extends Input_1.default {
233
241
  beforeSubmit() {
234
242
  let value = this.dataValue;
235
243
  if (!this.component.truncateMultipleSpaces || !value) {
236
- return native_promise_only_1.default.resolve(value);
244
+ return Promise.resolve(value);
237
245
  }
238
246
  value = this.truncateMultipleSpaces(value);
239
247
  this.dataValue = value;
240
- return native_promise_only_1.default.resolve(value).then(() => super.beforeSubmit());
248
+ return Promise.resolve(value).then(() => super.beforeSubmit());
241
249
  }
242
250
  }
243
251
  exports.default = TextFieldComponent;
@@ -1,4 +1,15 @@
1
1
  export default class TimeComponent extends TextFieldComponent {
2
+ static get serverConditionSettings(): {
3
+ valueComponent(classComp: any): any;
4
+ operators: any[];
5
+ constructor: Function;
6
+ toString(): string;
7
+ toLocaleString(): string;
8
+ valueOf(): Object;
9
+ hasOwnProperty(v: PropertyKey): boolean;
10
+ isPrototypeOf(v: Object): boolean;
11
+ propertyIsEnumerable(v: PropertyKey): boolean;
12
+ };
2
13
  rawData: string | never[];
3
14
  get dataFormat(): any;
4
15
  get skipMaskValidation(): boolean;
@@ -18,6 +18,11 @@ class TimeComponent extends TextField_1.default {
18
18
  dataFormat: defaultDataFormat,
19
19
  }, ...extend);
20
20
  }
21
+ static get serverConditionSettings() {
22
+ return Object.assign(Object.assign({}, super.serverConditionSettings), { valueComponent(classComp) {
23
+ return Object.assign(Object.assign({}, classComp), { type: 'time' });
24
+ } });
25
+ }
21
26
  constructor(component, options, data) {
22
27
  super(component, options, data);
23
28
  const { edge: isEdgeBrowser, version: edgeVersion } = (0, utils_1.getBrowserInfo)();
@@ -38,7 +43,7 @@ class TimeComponent extends TextField_1.default {
38
43
  title: 'Time',
39
44
  icon: 'clock-o',
40
45
  group: 'advanced',
41
- documentation: '/userguide/form-building/advanced-components#time',
46
+ documentation: '/userguide/form-building/advanced-components#time-1',
42
47
  weight: 55,
43
48
  schema: TimeComponent.schema(),
44
49
  };
@@ -2,9 +2,9 @@ export default class TreeComponent extends NestedDataComponent {
2
2
  static get builderInfo(): {
3
3
  title: string;
4
4
  icon: string;
5
- group: string;
6
5
  weight: number;
7
6
  documentation: string;
7
+ showPreview: boolean;
8
8
  schema: any;
9
9
  };
10
10
  constructor(...args: any[]);
@@ -23,10 +23,11 @@ export default class TreeComponent extends NestedDataComponent {
23
23
  renderChildNodes(nodes: any[] | undefined, odd: any): any;
24
24
  renderEdit(node?: {}): any;
25
25
  renderView(node?: {}): any;
26
- attachNode(element: any, node: any): any;
26
+ attach(element: any): Promise<[void, void]> | Promise<[[void, void], void | [void, void]]>;
27
+ attachNode(element: any, node: any): Promise<void> | Promise<[void, void]>;
27
28
  attachActions(node: any): void;
28
- attachComponents(node: any, ...args: any[]): any;
29
- attachChildren(node: any): any;
29
+ attachComponents(node: any, ...args: any[]): Promise<any>;
30
+ attachChildren(node: any): Promise<any>;
30
31
  addChild(parent: any): void;
31
32
  cancelNode(node: any): void;
32
33
  editNode(node: any): void;
@@ -5,8 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Component_form_1 = __importDefault(require("../_classes/component/Component.form"));
7
7
  const Tree_edit_data_1 = __importDefault(require("./editForm/Tree.edit.data"));
8
+ const Tree_edit_display_1 = __importDefault(require("./editForm/Tree.edit.display"));
8
9
  function default_1(...extend) {
9
10
  return (0, Component_form_1.default)([
11
+ {
12
+ key: 'display',
13
+ components: Tree_edit_display_1.default,
14
+ },
10
15
  {
11
16
  key: 'data',
12
17
  components: Tree_edit_data_1.default,
@@ -8,7 +8,6 @@ const Component_1 = __importDefault(require("../_classes/component/Component"));
8
8
  const Components_1 = __importDefault(require("../Components"));
9
9
  const NestedDataComponent_1 = __importDefault(require("../_classes/nesteddata/NestedDataComponent"));
10
10
  const Node_1 = __importDefault(require("./Node"));
11
- const native_promise_only_1 = __importDefault(require("native-promise-only"));
12
11
  class TreeComponent extends NestedDataComponent_1.default {
13
12
  static schema(...extend) {
14
13
  return NestedDataComponent_1.default.schema({
@@ -26,9 +25,9 @@ class TreeComponent extends NestedDataComponent_1.default {
26
25
  return {
27
26
  title: 'Tree',
28
27
  icon: 'indent',
29
- group: 'data',
30
28
  weight: 40,
31
29
  documentation: '/userguide/form-building/data-components#tree',
30
+ showPreview: false,
32
31
  schema: TreeComponent.schema(),
33
32
  };
34
33
  }
@@ -135,17 +134,17 @@ class TreeComponent extends NestedDataComponent_1.default {
135
134
  this.loadRefs(element, {
136
135
  root: 'single',
137
136
  });
138
- return native_promise_only_1.default.all([
137
+ return Promise.all([
139
138
  super.attach(element),
140
139
  this.attachNode(this.refs.root, this.treeRoot),
141
140
  ]);
142
141
  }
143
142
  attachNode(element, node) {
144
143
  if (!element) {
145
- return native_promise_only_1.default.resolve();
144
+ return Promise.resolve();
146
145
  }
147
- let componentsPromise = native_promise_only_1.default.resolve();
148
- let childrenPromise = native_promise_only_1.default.resolve();
146
+ let componentsPromise = Promise.resolve();
147
+ let childrenPromise = Promise.resolve();
149
148
  node.refs = lodash_1.default.reduce(element.children, (refs, child) => (child.hasAttribute('ref')
150
149
  ? Object.assign(Object.assign({}, refs), { [child.getAttribute('ref')]: child }) : refs), {});
151
150
  if (node.refs.content) {
@@ -155,7 +154,7 @@ class TreeComponent extends NestedDataComponent_1.default {
155
154
  if (node.refs.childNodes) {
156
155
  childrenPromise = this.attachChildren(node);
157
156
  }
158
- return native_promise_only_1.default.all([
157
+ return Promise.all([
159
158
  componentsPromise,
160
159
  childrenPromise,
161
160
  ]);
@@ -221,11 +220,11 @@ class TreeComponent extends NestedDataComponent_1.default {
221
220
  });
222
221
  return node.refs.nodeEdit
223
222
  ? super.attachComponents(node.refs.nodeEdit, node.components)
224
- : native_promise_only_1.default.resolve();
223
+ : Promise.resolve();
225
224
  }
226
225
  attachChildren(node) {
227
226
  const childElements = node.refs.childNodes.children;
228
- return native_promise_only_1.default.all(lodash_1.default.map(childElements, (childElement, index) => this.attachNode(childElement, node.children[index])));
227
+ return Promise.all(lodash_1.default.map(childElements, (childElement, index) => this.attachNode(childElement, node.children[index])));
229
228
  }
230
229
  setValue(value, flags = {}) {
231
230
  const changed = this.updateValue(value, flags);
@@ -0,0 +1,9 @@
1
+ declare const _default: {
2
+ key: string;
3
+ weight: number;
4
+ type: string;
5
+ tag: string;
6
+ className: string;
7
+ content: string;
8
+ }[];
9
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = [
4
+ {
5
+ key: 'treeInfo',
6
+ weight: -10,
7
+ type: 'htmlelement',
8
+ tag: 'div',
9
+ className: 'alert alert-danger',
10
+ content: 'This component has been deprecated and will be removed in a future version of Formio.js.',
11
+ }
12
+ ];
@@ -4,9 +4,11 @@ export default class WellComponent extends NestedComponent {
4
4
  icon: string;
5
5
  group: string;
6
6
  documentation: string;
7
+ showPreview: boolean;
7
8
  weight: number;
8
9
  schema: any;
9
10
  };
11
+ static savedValueTypes(): never[];
10
12
  constructor(...args: any[]);
11
13
  noField: boolean;
12
14
  }
@@ -20,10 +20,14 @@ class WellComponent extends NestedComponent_1.default {
20
20
  icon: 'square-o',
21
21
  group: 'layout',
22
22
  documentation: '/userguide/form-building/layout-components#well',
23
+ showPreview: false,
23
24
  weight: 60,
24
25
  schema: WellComponent.schema()
25
26
  };
26
27
  }
28
+ static savedValueTypes() {
29
+ return [];
30
+ }
27
31
  get defaultSchema() {
28
32
  return WellComponent.schema();
29
33
  }
@@ -1 +1,2 @@
1
- export {};
1
+ export { Formio };
2
+ import { Formio } from './Embed';
@@ -1,4 +1,99 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Formio = void 0;
3
4
  const Embed_1 = require("./Embed");
4
- (0, Embed_1.embed)();
5
+ Object.defineProperty(exports, "Formio", { enumerable: true, get: function () { return Embed_1.Formio; } });
6
+ const scripts = document.getElementsByTagName('script');
7
+ const config = window.FormioConfig || {};
8
+ let thisScript = null;
9
+ let i = scripts.length;
10
+ const scriptName = config.scriptName || 'formio.embed.';
11
+ while (i--) {
12
+ if (scripts[i].src && (scripts[i].src.indexOf(scriptName) !== -1)) {
13
+ thisScript = scripts[i];
14
+ break;
15
+ }
16
+ }
17
+ if (thisScript) {
18
+ const query = {};
19
+ const queryString = thisScript.src.replace(/^[^?]+\??/, '');
20
+ queryString.replace(/\?/g, '&').split('&').forEach((item) => {
21
+ query[item.split('=')[0]] = item.split('=')[1] && decodeURIComponent(item.split('=')[1]);
22
+ });
23
+ let scriptSrc = thisScript.src.replace(/^([^?]+).*/, '$1').split('/');
24
+ scriptSrc.pop();
25
+ if (config.formioPath) {
26
+ config.formioPath(scriptSrc);
27
+ }
28
+ scriptSrc = scriptSrc.join('/');
29
+ Embed_1.Formio.config = Object.assign({
30
+ script: query.script || (`${config.updatePath ? config.updatePath() : scriptSrc}/formio.form.min.js`),
31
+ style: query.styles || (`${config.updatePath ? config.updatePath() : scriptSrc}/formio.form.min.css`),
32
+ cdn: query.cdn,
33
+ class: (query.class || 'formio-form-wrapper'),
34
+ src: query.src,
35
+ form: null,
36
+ submission: null,
37
+ project: query.project,
38
+ base: query.base || 'https://api.form.io',
39
+ submit: query.submit,
40
+ includeLibs: (query.libs === 'true' || query.libs === '1'),
41
+ template: query.template,
42
+ debug: (query.debug === 'true' || query.debug === '1'),
43
+ config: {},
44
+ redirect: (query.return || query.redirect),
45
+ embedCSS: (`${config.updatePath ? config.updatePath() : scriptSrc}/formio.embed.css`),
46
+ before: null,
47
+ after: null
48
+ }, config);
49
+ const form = (Embed_1.Formio.config.form || Embed_1.Formio.config.src);
50
+ if (form) {
51
+ Embed_1.Formio.debug('Embedding Configuration', config);
52
+ if (Embed_1.Formio.config.addPremiumLib) {
53
+ Embed_1.Formio.config.addPremiumLib(Embed_1.Formio.config, scriptSrc);
54
+ }
55
+ // The id for this embedded form.
56
+ Embed_1.Formio.config.id = `formio-${Math.random().toString(36).substring(7)}`;
57
+ Embed_1.Formio.debug('Creating form element');
58
+ const element = Embed_1.Formio.createElement('div', {
59
+ 'id': Embed_1.Formio.config.id,
60
+ class: Embed_1.Formio.config.class
61
+ });
62
+ // insertAfter doesn't exist, but effect is identical.
63
+ thisScript.parentNode.insertBefore(element, thisScript.parentNode.firstElementChild.nextSibling);
64
+ Embed_1.Formio.createForm(element, form, Embed_1.Formio.config.config).then((instance) => {
65
+ if (Embed_1.Formio.config.submit) {
66
+ instance.nosubmit = true;
67
+ }
68
+ // Configure a redirect.
69
+ instance.on('submit', (submission) => {
70
+ Embed_1.Formio.debug("on('submit')", submission);
71
+ if (Embed_1.Formio.config.submit) {
72
+ Embed_1.Formio.debug(`Sending submission to ${Embed_1.Formio.config.submit}`);
73
+ const headers = {
74
+ 'content-type': 'application/json'
75
+ };
76
+ const token = Embed_1.Formio.FormioClass.getToken();
77
+ if (token) {
78
+ headers['x-jwt-token'] = token;
79
+ }
80
+ Embed_1.Formio.FormioClass.fetch(Embed_1.Formio.config.submit, {
81
+ body: JSON.stringify(submission),
82
+ headers: headers,
83
+ method: 'POST',
84
+ mode: 'cors',
85
+ })
86
+ .then(resp => resp.json())
87
+ .then(submission => Embed_1.Formio.submitDone(instance, submission));
88
+ }
89
+ else {
90
+ Embed_1.Formio.submitDone(instance, submission);
91
+ }
92
+ });
93
+ });
94
+ }
95
+ }
96
+ else {
97
+ // Show an error if the script cannot be found.
98
+ document.write('<span>Could not locate the Embedded form.</span>');
99
+ }
@@ -3,8 +3,8 @@
3
3
  * @param {*} plugin
4
4
  * @returns
5
5
  */
6
- export function registerModule(mod: any, defaultFn?: null): void;
7
- export function useModule(defaultFn?: null): (...plugins: any[]) => void;
6
+ export function registerModule(mod: any, defaultFn?: null, options?: {}): void;
7
+ export function useModule(defaultFn?: null): (plugins: any, options?: {}) => void;
8
8
  import Components from './components/Components';
9
9
  import Displays from './displays/Displays';
10
10
  import Providers from './providers';
@@ -19,4 +19,5 @@ import ValueSources from './validator/valueSources';
19
19
  import Utils from './utils';
20
20
  import Form from './Form';
21
21
  import { Formio } from './Formio';
22
- export { Components, Displays, Providers, Rules, Widgets, Templates, Conjunctions, Operators, QuickRules, Transformers, ValueSources, Utils, Form, Formio };
22
+ import Licenses from './licenses';
23
+ export { Components, Displays, Providers, Rules, Widgets, Templates, Conjunctions, Operators, QuickRules, Transformers, ValueSources, Utils, Form, Formio, Licenses };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Formio = exports.Form = exports.Utils = exports.ValueSources = exports.Transformers = exports.QuickRules = exports.Operators = exports.Conjunctions = exports.Templates = exports.Widgets = exports.Rules = exports.Providers = exports.Displays = exports.Components = exports.useModule = exports.registerModule = void 0;
6
+ exports.Licenses = exports.Formio = exports.Form = exports.Utils = exports.ValueSources = exports.Transformers = exports.QuickRules = exports.Operators = exports.Conjunctions = exports.Templates = exports.Widgets = exports.Rules = exports.Providers = exports.Displays = exports.Components = exports.useModule = exports.registerModule = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const Formio_1 = require("./Formio");
9
9
  Object.defineProperty(exports, "Formio", { enumerable: true, get: function () { return Formio_1.Formio; } });
@@ -35,6 +35,8 @@ exports.Form = Form_1.default;
35
35
  const utils_1 = __importDefault(require("./utils"));
36
36
  exports.Utils = utils_1.default;
37
37
  const Evaluator_1 = __importDefault(require("./utils/Evaluator"));
38
+ const licenses_1 = __importDefault(require("./licenses"));
39
+ exports.Licenses = licenses_1.default;
38
40
  Formio_1.Formio.loadModules = (path = `${Formio_1.Formio.getApiUrl()}/externalModules.js`, name = 'externalModules') => {
39
41
  Formio_1.Formio.requireLibrary(name, name, path, true)
40
42
  .then((modules) => {
@@ -57,6 +59,7 @@ Formio_1.Formio.QuickRules = quickRules_1.default;
57
59
  Formio_1.Formio.Transformers = transformers_1.default;
58
60
  Formio_1.Formio.ValueSources = valueSources_1.default;
59
61
  Formio_1.Formio.AllComponents = components_1.default;
62
+ Formio_1.Formio.Licenses = licenses_1.default;
60
63
  // This is strange, but is needed for "premium" components to import correctly.
61
64
  Formio_1.Formio.Formio = Formio_1.Formio;
62
65
  Formio_1.Formio.Components.setComponents(components_1.default);
@@ -65,7 +68,7 @@ Formio_1.Formio.Components.setComponents(components_1.default);
65
68
  * @param {*} plugin
66
69
  * @returns
67
70
  */
68
- function registerModule(mod, defaultFn = null) {
71
+ function registerModule(mod, defaultFn = null, options = {}) {
69
72
  // Sanity check.
70
73
  if (typeof mod !== 'object') {
71
74
  return;
@@ -124,6 +127,11 @@ function registerModule(mod, defaultFn = null) {
124
127
  case 'valueSources':
125
128
  Formio_1.Formio.ValueSources.addValueSources(mod.valueSources);
126
129
  break;
130
+ case 'library':
131
+ options.license
132
+ ? Formio_1.Formio.Licenses.addLicense(mod.library, mod.license)
133
+ : Formio_1.Formio.Licenses.removeLicense(mod.library);
134
+ break;
127
135
  default:
128
136
  if (defaultFn) {
129
137
  if (!defaultFn(key, mod)) {
@@ -137,22 +145,23 @@ function registerModule(mod, defaultFn = null) {
137
145
  }
138
146
  exports.registerModule = registerModule;
139
147
  function useModule(defaultFn = null) {
140
- return (...plugins) => {
148
+ return (plugins, options = {}) => {
149
+ plugins = lodash_1.default.isArray(plugins) ? plugins : [plugins];
141
150
  plugins.forEach((plugin) => {
142
151
  if (Array.isArray(plugin)) {
143
- plugin.forEach(p => registerModule(p, defaultFn));
152
+ plugin.forEach(p => registerModule(p, defaultFn, options));
144
153
  }
145
154
  else {
146
- registerModule(plugin, defaultFn);
155
+ registerModule(plugin, defaultFn, options);
147
156
  }
148
157
  });
149
158
  };
150
159
  }
151
160
  exports.useModule = useModule;
152
161
  /**
153
- * Allows passing in plugins as multiple arguments or an array of plugins.
162
+ * Allows passing in plugins as an array of plugins or a single plugin.
154
163
  *
155
- * Formio.plugins(plugin1, plugin2, etc);
156
- * Formio.plugins([plugin1, plugin2, etc]);
164
+ * Formio.plugins(plugin1, options);
165
+ * Formio.plugins([plugin1, plugin2, etc], options);
157
166
  */
158
167
  Formio_1.Formio.use = useModule();
@@ -0,0 +1,7 @@
1
+ export default class Licenses {
2
+ static licenses: {};
3
+ static addLicense(name: any, license: any): void;
4
+ static getLicense(name: any): any;
5
+ static removeLicense(name: any): void;
6
+ static getLicenses(): {};
7
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const lodash_1 = __importDefault(require("lodash"));
7
+ class Licenses {
8
+ static addLicense(name, license) {
9
+ Licenses.licenses[name] = license;
10
+ }
11
+ static getLicense(name) {
12
+ return Licenses.licenses[name];
13
+ }
14
+ static removeLicense(name) {
15
+ lodash_1.default.unset(Licenses.licenses, name);
16
+ }
17
+ static getLicenses() {
18
+ return Licenses.licenses;
19
+ }
20
+ }
21
+ Licenses.licenses = {};
22
+ exports.default = Licenses;
@@ -0,0 +1,2 @@
1
+ export default Licenses;
2
+ import Licenses from './Licenses';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Licenses_1 = __importDefault(require("./Licenses"));
7
+ exports.default = Licenses_1.default;