@formio/js 5.0.0-dev.5636.99a32e6 → 5.0.0-dev.5641.6eb7b96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/Changelog.md +45 -0
  2. package/dist/formio.embed.js +1 -1
  3. package/dist/formio.embed.min.js +1 -1
  4. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  5. package/dist/formio.form.js +607 -1188
  6. package/dist/formio.form.min.js +1 -1
  7. package/dist/formio.form.min.js.LICENSE.txt +3 -5
  8. package/dist/formio.full.js +651 -912
  9. package/dist/formio.full.min.js +1 -1
  10. package/dist/formio.full.min.js.LICENSE.txt +3 -5
  11. package/dist/formio.js +18 -18
  12. package/dist/formio.min.js +1 -1
  13. package/dist/formio.min.js.LICENSE.txt +1 -1
  14. package/dist/formio.utils.js +1829 -492
  15. package/dist/formio.utils.min.js +1 -1
  16. package/dist/formio.utils.min.js.LICENSE.txt +10 -4
  17. package/embed.d.ts +1 -0
  18. package/form.d.ts +1 -0
  19. package/lib/cjs/CDN.d.ts +1 -0
  20. package/lib/cjs/CDN.js +6 -3
  21. package/lib/cjs/Element.d.ts +86 -96
  22. package/lib/cjs/Element.js +68 -78
  23. package/lib/cjs/Embed.d.ts +1 -1
  24. package/lib/cjs/Embed.js +52 -12
  25. package/lib/cjs/Form.d.ts +365 -36
  26. package/lib/cjs/Form.js +50 -64
  27. package/lib/cjs/FormBuilder.d.ts +187 -2
  28. package/lib/cjs/FormBuilder.js +30 -8
  29. package/lib/cjs/InlineEmbed.d.ts +7 -0
  30. package/lib/cjs/InlineEmbed.js +116 -0
  31. package/lib/cjs/PDF.d.ts +11 -13
  32. package/lib/cjs/PDF.js +6 -8
  33. package/lib/cjs/Webform.d.ts +180 -139
  34. package/lib/cjs/Webform.js +311 -297
  35. package/lib/cjs/WebformBuilder.d.ts +16 -14
  36. package/lib/cjs/WebformBuilder.js +19 -12
  37. package/lib/cjs/Wizard.d.ts +31 -21
  38. package/lib/cjs/Wizard.js +43 -20
  39. package/lib/cjs/WizardBuilder.d.ts +1 -1
  40. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -5
  41. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -3
  42. package/lib/cjs/components/Components.d.ts +4 -4
  43. package/lib/cjs/components/Components.js +3 -3
  44. package/lib/cjs/components/_classes/component/Component.d.ts +502 -269
  45. package/lib/cjs/components/_classes/component/Component.form.d.ts +6 -3
  46. package/lib/cjs/components/_classes/component/Component.form.js +5 -0
  47. package/lib/cjs/components/_classes/component/Component.js +434 -193
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +0 -8
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +2 -2
  50. package/lib/cjs/components/_classes/component/editForm/utils.js +2 -2
  51. package/lib/cjs/components/_classes/field/Field.d.ts +11 -2
  52. package/lib/cjs/components/_classes/field/Field.js +13 -1
  53. package/lib/cjs/components/_classes/input/Input.d.ts +4 -3
  54. package/lib/cjs/components/_classes/input/Input.js +2 -2
  55. package/lib/cjs/components/_classes/list/ListComponent.d.ts +2 -2
  56. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +6 -3
  57. package/lib/cjs/components/_classes/list/ListComponent.form.js +5 -0
  58. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +43 -12
  59. package/lib/cjs/components/_classes/multivalue/Multivalue.js +37 -3
  60. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +163 -67
  61. package/lib/cjs/components/_classes/nested/NestedComponent.form.d.ts +6 -3
  62. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +5 -0
  63. package/lib/cjs/components/_classes/nested/NestedComponent.js +175 -54
  64. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -2
  65. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  66. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +7 -1
  67. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +2 -3
  68. package/lib/cjs/components/address/Address.d.ts +4 -2
  69. package/lib/cjs/components/address/Address.form.d.ts +6 -3
  70. package/lib/cjs/components/address/Address.form.js +5 -0
  71. package/lib/cjs/components/button/Button.d.ts +3 -12
  72. package/lib/cjs/components/button/Button.form.d.ts +6 -3
  73. package/lib/cjs/components/button/Button.form.js +5 -0
  74. package/lib/cjs/components/button/Button.js +5 -0
  75. package/lib/cjs/components/checkbox/Checkbox.d.ts +4 -27
  76. package/lib/cjs/components/checkbox/Checkbox.form.d.ts +6 -3
  77. package/lib/cjs/components/checkbox/Checkbox.form.js +5 -0
  78. package/lib/cjs/components/columns/Columns.d.ts +3 -2
  79. package/lib/cjs/components/columns/Columns.form.d.ts +6 -3
  80. package/lib/cjs/components/columns/Columns.form.js +5 -0
  81. package/lib/cjs/components/columns/Columns.js +1 -1
  82. package/lib/cjs/components/container/Container.form.d.ts +6 -3
  83. package/lib/cjs/components/container/Container.form.js +5 -0
  84. package/lib/cjs/components/content/Content.d.ts +2 -1
  85. package/lib/cjs/components/content/Content.form.d.ts +6 -3
  86. package/lib/cjs/components/content/Content.form.js +5 -0
  87. package/lib/cjs/components/currency/Currency.form.d.ts +6 -3
  88. package/lib/cjs/components/currency/Currency.form.js +5 -0
  89. package/lib/cjs/components/currency/Currency.js +1 -2
  90. package/lib/cjs/components/datagrid/DataGrid.d.ts +8 -7
  91. package/lib/cjs/components/datagrid/DataGrid.form.d.ts +6 -3
  92. package/lib/cjs/components/datagrid/DataGrid.form.js +5 -0
  93. package/lib/cjs/components/datagrid/DataGrid.js +5 -5
  94. package/lib/cjs/components/datamap/DataMap.d.ts +1 -0
  95. package/lib/cjs/components/datamap/DataMap.form.d.ts +6 -3
  96. package/lib/cjs/components/datamap/DataMap.form.js +5 -0
  97. package/lib/cjs/components/datetime/DateTime.d.ts +0 -14
  98. package/lib/cjs/components/datetime/DateTime.form.d.ts +6 -3
  99. package/lib/cjs/components/datetime/DateTime.form.js +5 -0
  100. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +2 -2
  101. package/lib/cjs/components/day/Day.d.ts +22 -48
  102. package/lib/cjs/components/day/Day.form.d.ts +6 -3
  103. package/lib/cjs/components/day/Day.form.js +5 -0
  104. package/lib/cjs/components/day/Day.js +15 -20
  105. package/lib/cjs/components/editgrid/EditGrid.d.ts +7 -3
  106. package/lib/cjs/components/editgrid/EditGrid.form.d.ts +6 -3
  107. package/lib/cjs/components/editgrid/EditGrid.form.js +5 -0
  108. package/lib/cjs/components/editgrid/EditGrid.js +3 -3
  109. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -5
  110. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +6 -9
  111. package/lib/cjs/components/email/Email.form.d.ts +6 -3
  112. package/lib/cjs/components/email/Email.form.js +5 -0
  113. package/lib/cjs/components/fieldset/Fieldset.form.d.ts +6 -3
  114. package/lib/cjs/components/fieldset/Fieldset.form.js +5 -0
  115. package/lib/cjs/components/file/File.d.ts +9 -22
  116. package/lib/cjs/components/file/File.form.d.ts +6 -3
  117. package/lib/cjs/components/file/File.form.js +5 -0
  118. package/lib/cjs/components/form/Form.d.ts +31 -20
  119. package/lib/cjs/components/form/Form.form.d.ts +6 -3
  120. package/lib/cjs/components/form/Form.form.js +5 -0
  121. package/lib/cjs/components/form/Form.js +16 -12
  122. package/lib/cjs/components/hidden/Hidden.d.ts +1 -11
  123. package/lib/cjs/components/hidden/Hidden.form.d.ts +6 -3
  124. package/lib/cjs/components/hidden/Hidden.form.js +5 -0
  125. package/lib/cjs/components/hidden/Hidden.js +1 -2
  126. package/lib/cjs/components/html/HTML.d.ts +2 -1
  127. package/lib/cjs/components/html/HTML.form.d.ts +6 -3
  128. package/lib/cjs/components/html/HTML.form.js +5 -0
  129. package/lib/cjs/components/number/Number.d.ts +3 -17
  130. package/lib/cjs/components/number/Number.form.d.ts +6 -3
  131. package/lib/cjs/components/number/Number.form.js +5 -0
  132. package/lib/cjs/components/number/Number.js +1 -2
  133. package/lib/cjs/components/panel/Panel.form.d.ts +6 -3
  134. package/lib/cjs/components/panel/Panel.form.js +5 -0
  135. package/lib/cjs/components/panel/Panel.js +0 -1
  136. package/lib/cjs/components/password/Password.form.d.ts +6 -3
  137. package/lib/cjs/components/password/Password.form.js +5 -0
  138. package/lib/cjs/components/phonenumber/PhoneNumber.form.d.ts +6 -3
  139. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +5 -0
  140. package/lib/cjs/components/radio/Radio.d.ts +3 -26
  141. package/lib/cjs/components/radio/Radio.form.d.ts +6 -3
  142. package/lib/cjs/components/radio/Radio.form.js +5 -0
  143. package/lib/cjs/components/radio/Radio.js +3 -4
  144. package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +1 -1
  145. package/lib/cjs/components/recaptcha/ReCaptcha.form.d.ts +6 -3
  146. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -0
  147. package/lib/cjs/components/select/Select.d.ts +16 -39
  148. package/lib/cjs/components/select/Select.form.d.ts +6 -3
  149. package/lib/cjs/components/select/Select.form.js +5 -0
  150. package/lib/cjs/components/select/Select.js +14 -17
  151. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +2 -17
  152. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +6 -3
  153. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +5 -0
  154. package/lib/cjs/components/selectboxes/SelectBoxes.js +7 -9
  155. package/lib/cjs/components/signature/Signature.d.ts +1 -14
  156. package/lib/cjs/components/signature/Signature.form.d.ts +6 -3
  157. package/lib/cjs/components/signature/Signature.form.js +5 -0
  158. package/lib/cjs/components/survey/Survey.d.ts +3 -15
  159. package/lib/cjs/components/survey/Survey.form.d.ts +6 -3
  160. package/lib/cjs/components/survey/Survey.form.js +5 -0
  161. package/lib/cjs/components/table/Table.d.ts +2 -1
  162. package/lib/cjs/components/table/Table.form.d.ts +6 -3
  163. package/lib/cjs/components/table/Table.form.js +5 -0
  164. package/lib/cjs/components/tabs/Tabs.d.ts +4 -4
  165. package/lib/cjs/components/tabs/Tabs.form.d.ts +6 -3
  166. package/lib/cjs/components/tabs/Tabs.form.js +5 -0
  167. package/lib/cjs/components/tabs/Tabs.js +1 -2
  168. package/lib/cjs/components/tags/Tags.d.ts +0 -14
  169. package/lib/cjs/components/tags/Tags.form.d.ts +6 -3
  170. package/lib/cjs/components/tags/Tags.form.js +5 -0
  171. package/lib/cjs/components/textarea/TextArea.d.ts +4 -9
  172. package/lib/cjs/components/textarea/TextArea.form.d.ts +6 -3
  173. package/lib/cjs/components/textarea/TextArea.form.js +5 -0
  174. package/lib/cjs/components/textarea/TextArea.js +2 -2
  175. package/lib/cjs/components/textfield/TextField.d.ts +14 -30
  176. package/lib/cjs/components/textfield/TextField.form.d.ts +6 -3
  177. package/lib/cjs/components/textfield/TextField.form.js +5 -0
  178. package/lib/cjs/components/textfield/TextField.js +14 -17
  179. package/lib/cjs/components/time/Time.form.d.ts +6 -3
  180. package/lib/cjs/components/time/Time.form.js +5 -0
  181. package/lib/cjs/components/unknown/Unknown.form.d.ts +5 -34
  182. package/lib/cjs/components/unknown/Unknown.form.js +4 -0
  183. package/lib/cjs/components/url/Url.form.d.ts +6 -3
  184. package/lib/cjs/components/url/Url.form.js +5 -0
  185. package/lib/cjs/components/well/Well.form.d.ts +6 -3
  186. package/lib/cjs/components/well/Well.form.js +5 -0
  187. package/lib/cjs/formio.embed.d.ts +1 -2
  188. package/lib/cjs/formio.embed.js +2 -100
  189. package/lib/cjs/formio.form.d.ts +11 -4
  190. package/lib/cjs/formio.form.js +13 -5
  191. package/lib/cjs/providers/Providers.d.ts +36 -5
  192. package/lib/cjs/providers/Providers.js +29 -0
  193. package/lib/cjs/providers/address/AddressProvider.d.ts +131 -12
  194. package/lib/cjs/providers/address/AddressProvider.js +88 -2
  195. package/lib/cjs/providers/address/AzureAddressProvider.d.ts +48 -1
  196. package/lib/cjs/providers/address/AzureAddressProvider.js +37 -0
  197. package/lib/cjs/providers/address/CustomAddressProvider.d.ts +27 -4
  198. package/lib/cjs/providers/address/CustomAddressProvider.js +34 -0
  199. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +130 -6
  200. package/lib/cjs/providers/address/GoogleAddressProvider.js +72 -0
  201. package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +32 -7
  202. package/lib/cjs/providers/address/NominatimAddressProvider.js +33 -0
  203. package/lib/cjs/providers/address/index.d.ts +3 -1
  204. package/lib/cjs/providers/processor/fileProcessor.d.ts +7 -1
  205. package/lib/cjs/providers/processor/fileProcessor.js +6 -0
  206. package/lib/cjs/providers/storage/azure.d.ts +6 -13
  207. package/lib/cjs/providers/storage/azure.js +5 -0
  208. package/lib/cjs/providers/storage/base64.d.ts +5 -6
  209. package/lib/cjs/providers/storage/base64.js +4 -0
  210. package/lib/cjs/providers/storage/dropbox.d.ts +6 -4
  211. package/lib/cjs/providers/storage/dropbox.js +5 -0
  212. package/lib/cjs/providers/storage/googleDrive.d.ts +7 -5
  213. package/lib/cjs/providers/storage/googleDrive.js +6 -0
  214. package/lib/cjs/providers/storage/indexeddb.d.ts +5 -7
  215. package/lib/cjs/providers/storage/indexeddb.js +4 -0
  216. package/lib/cjs/providers/storage/s3.d.ts +6 -20
  217. package/lib/cjs/providers/storage/s3.js +5 -0
  218. package/lib/cjs/providers/storage/url.d.ts +6 -7
  219. package/lib/cjs/providers/storage/url.js +10 -0
  220. package/lib/cjs/providers/storage/util.d.ts +24 -1
  221. package/lib/cjs/providers/storage/util.js +18 -0
  222. package/lib/cjs/templates/Templates.d.ts +1 -0
  223. package/lib/cjs/utils/Evaluator.d.ts +6 -3
  224. package/lib/cjs/utils/Evaluator.js +11 -20
  225. package/lib/cjs/utils/builder.d.ts +9 -7
  226. package/lib/cjs/utils/builder.js +10 -5
  227. package/lib/cjs/utils/calendarUtils.d.ts +7 -13
  228. package/lib/cjs/utils/calendarUtils.js +10 -17
  229. package/lib/cjs/utils/formUtils.d.ts +43 -171
  230. package/lib/cjs/utils/formUtils.js +38 -569
  231. package/lib/cjs/utils/utils.d.ts +370 -218
  232. package/lib/cjs/utils/utils.js +348 -230
  233. package/lib/cjs/widgets/CalendarWidget.d.ts +9 -10
  234. package/lib/cjs/widgets/CalendarWidget.js +9 -11
  235. package/lib/mjs/CDN.d.ts +1 -0
  236. package/lib/mjs/CDN.js +6 -3
  237. package/lib/mjs/Element.d.ts +86 -96
  238. package/lib/mjs/Element.js +68 -78
  239. package/lib/mjs/Embed.d.ts +1 -1
  240. package/lib/mjs/Embed.js +52 -12
  241. package/lib/mjs/Form.d.ts +365 -36
  242. package/lib/mjs/Form.js +140 -57
  243. package/lib/mjs/FormBuilder.d.ts +187 -2
  244. package/lib/mjs/FormBuilder.js +32 -8
  245. package/lib/mjs/InlineEmbed.d.ts +7 -0
  246. package/lib/mjs/InlineEmbed.js +112 -0
  247. package/lib/mjs/PDF.d.ts +11 -13
  248. package/lib/mjs/PDF.js +6 -8
  249. package/lib/mjs/Webform.d.ts +180 -139
  250. package/lib/mjs/Webform.js +323 -309
  251. package/lib/mjs/WebformBuilder.d.ts +16 -14
  252. package/lib/mjs/WebformBuilder.js +19 -12
  253. package/lib/mjs/Wizard.d.ts +31 -21
  254. package/lib/mjs/Wizard.js +42 -19
  255. package/lib/mjs/WizardBuilder.d.ts +1 -1
  256. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +8 -5
  257. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +6 -3
  258. package/lib/mjs/components/Components.d.ts +4 -4
  259. package/lib/mjs/components/Components.js +3 -3
  260. package/lib/mjs/components/_classes/component/Component.d.ts +502 -269
  261. package/lib/mjs/components/_classes/component/Component.form.d.ts +6 -3
  262. package/lib/mjs/components/_classes/component/Component.form.js +5 -0
  263. package/lib/mjs/components/_classes/component/Component.js +434 -193
  264. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +0 -8
  265. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +1 -1
  266. package/lib/mjs/components/_classes/component/editForm/utils.js +1 -1
  267. package/lib/mjs/components/_classes/field/Field.d.ts +11 -2
  268. package/lib/mjs/components/_classes/field/Field.js +13 -1
  269. package/lib/mjs/components/_classes/input/Input.d.ts +4 -3
  270. package/lib/mjs/components/_classes/input/Input.js +2 -2
  271. package/lib/mjs/components/_classes/list/ListComponent.d.ts +2 -2
  272. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +6 -3
  273. package/lib/mjs/components/_classes/list/ListComponent.form.js +5 -0
  274. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +43 -12
  275. package/lib/mjs/components/_classes/multivalue/Multivalue.js +37 -3
  276. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +163 -67
  277. package/lib/mjs/components/_classes/nested/NestedComponent.form.d.ts +6 -3
  278. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +5 -0
  279. package/lib/mjs/components/_classes/nested/NestedComponent.js +175 -54
  280. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +2 -2
  281. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  282. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +7 -1
  283. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +2 -3
  284. package/lib/mjs/components/address/Address.d.ts +4 -2
  285. package/lib/mjs/components/address/Address.form.d.ts +6 -3
  286. package/lib/mjs/components/address/Address.form.js +5 -0
  287. package/lib/mjs/components/button/Button.d.ts +3 -12
  288. package/lib/mjs/components/button/Button.form.d.ts +6 -3
  289. package/lib/mjs/components/button/Button.form.js +5 -0
  290. package/lib/mjs/components/button/Button.js +5 -0
  291. package/lib/mjs/components/checkbox/Checkbox.d.ts +4 -27
  292. package/lib/mjs/components/checkbox/Checkbox.form.d.ts +6 -3
  293. package/lib/mjs/components/checkbox/Checkbox.form.js +5 -0
  294. package/lib/mjs/components/columns/Columns.d.ts +3 -2
  295. package/lib/mjs/components/columns/Columns.form.d.ts +6 -3
  296. package/lib/mjs/components/columns/Columns.form.js +5 -0
  297. package/lib/mjs/components/columns/Columns.js +1 -1
  298. package/lib/mjs/components/container/Container.form.d.ts +6 -3
  299. package/lib/mjs/components/container/Container.form.js +5 -0
  300. package/lib/mjs/components/content/Content.d.ts +2 -1
  301. package/lib/mjs/components/content/Content.form.d.ts +6 -3
  302. package/lib/mjs/components/content/Content.form.js +5 -0
  303. package/lib/mjs/components/currency/Currency.form.d.ts +6 -3
  304. package/lib/mjs/components/currency/Currency.form.js +5 -0
  305. package/lib/mjs/components/currency/Currency.js +1 -2
  306. package/lib/mjs/components/datagrid/DataGrid.d.ts +8 -7
  307. package/lib/mjs/components/datagrid/DataGrid.form.d.ts +6 -3
  308. package/lib/mjs/components/datagrid/DataGrid.form.js +5 -0
  309. package/lib/mjs/components/datagrid/DataGrid.js +5 -5
  310. package/lib/mjs/components/datamap/DataMap.d.ts +1 -0
  311. package/lib/mjs/components/datamap/DataMap.form.d.ts +6 -3
  312. package/lib/mjs/components/datamap/DataMap.form.js +5 -0
  313. package/lib/mjs/components/datetime/DateTime.d.ts +0 -14
  314. package/lib/mjs/components/datetime/DateTime.form.d.ts +6 -3
  315. package/lib/mjs/components/datetime/DateTime.form.js +5 -0
  316. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +1 -1
  317. package/lib/mjs/components/day/Day.d.ts +22 -48
  318. package/lib/mjs/components/day/Day.form.d.ts +6 -3
  319. package/lib/mjs/components/day/Day.form.js +5 -0
  320. package/lib/mjs/components/day/Day.js +15 -20
  321. package/lib/mjs/components/editgrid/EditGrid.d.ts +7 -3
  322. package/lib/mjs/components/editgrid/EditGrid.form.d.ts +6 -3
  323. package/lib/mjs/components/editgrid/EditGrid.form.js +5 -0
  324. package/lib/mjs/components/editgrid/EditGrid.js +3 -3
  325. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  326. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +1 -1
  327. package/lib/mjs/components/email/Email.form.d.ts +6 -3
  328. package/lib/mjs/components/email/Email.form.js +5 -0
  329. package/lib/mjs/components/fieldset/Fieldset.form.d.ts +6 -3
  330. package/lib/mjs/components/fieldset/Fieldset.form.js +5 -0
  331. package/lib/mjs/components/file/File.d.ts +9 -22
  332. package/lib/mjs/components/file/File.form.d.ts +6 -3
  333. package/lib/mjs/components/file/File.form.js +5 -0
  334. package/lib/mjs/components/form/Form.d.ts +31 -20
  335. package/lib/mjs/components/form/Form.form.d.ts +6 -3
  336. package/lib/mjs/components/form/Form.form.js +5 -0
  337. package/lib/mjs/components/form/Form.js +16 -12
  338. package/lib/mjs/components/hidden/Hidden.d.ts +1 -11
  339. package/lib/mjs/components/hidden/Hidden.form.d.ts +6 -3
  340. package/lib/mjs/components/hidden/Hidden.form.js +5 -0
  341. package/lib/mjs/components/hidden/Hidden.js +1 -2
  342. package/lib/mjs/components/html/HTML.d.ts +2 -1
  343. package/lib/mjs/components/html/HTML.form.d.ts +6 -3
  344. package/lib/mjs/components/html/HTML.form.js +5 -0
  345. package/lib/mjs/components/number/Number.d.ts +3 -17
  346. package/lib/mjs/components/number/Number.form.d.ts +6 -3
  347. package/lib/mjs/components/number/Number.form.js +5 -0
  348. package/lib/mjs/components/number/Number.js +1 -2
  349. package/lib/mjs/components/panel/Panel.form.d.ts +6 -3
  350. package/lib/mjs/components/panel/Panel.form.js +5 -0
  351. package/lib/mjs/components/panel/Panel.js +0 -1
  352. package/lib/mjs/components/password/Password.form.d.ts +6 -3
  353. package/lib/mjs/components/password/Password.form.js +5 -0
  354. package/lib/mjs/components/phonenumber/PhoneNumber.form.d.ts +6 -3
  355. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +5 -0
  356. package/lib/mjs/components/radio/Radio.d.ts +3 -26
  357. package/lib/mjs/components/radio/Radio.form.d.ts +6 -3
  358. package/lib/mjs/components/radio/Radio.form.js +5 -0
  359. package/lib/mjs/components/radio/Radio.js +3 -4
  360. package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +1 -1
  361. package/lib/mjs/components/recaptcha/ReCaptcha.form.d.ts +6 -3
  362. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -0
  363. package/lib/mjs/components/select/Select.d.ts +16 -39
  364. package/lib/mjs/components/select/Select.form.d.ts +6 -3
  365. package/lib/mjs/components/select/Select.form.js +5 -0
  366. package/lib/mjs/components/select/Select.js +15 -18
  367. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +2 -17
  368. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +6 -3
  369. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +5 -0
  370. package/lib/mjs/components/selectboxes/SelectBoxes.js +7 -9
  371. package/lib/mjs/components/signature/Signature.d.ts +1 -14
  372. package/lib/mjs/components/signature/Signature.form.d.ts +6 -3
  373. package/lib/mjs/components/signature/Signature.form.js +5 -0
  374. package/lib/mjs/components/survey/Survey.d.ts +3 -15
  375. package/lib/mjs/components/survey/Survey.form.d.ts +6 -3
  376. package/lib/mjs/components/survey/Survey.form.js +5 -0
  377. package/lib/mjs/components/table/Table.d.ts +2 -1
  378. package/lib/mjs/components/table/Table.form.d.ts +6 -3
  379. package/lib/mjs/components/table/Table.form.js +5 -0
  380. package/lib/mjs/components/tabs/Tabs.d.ts +4 -4
  381. package/lib/mjs/components/tabs/Tabs.form.d.ts +6 -3
  382. package/lib/mjs/components/tabs/Tabs.form.js +5 -0
  383. package/lib/mjs/components/tabs/Tabs.js +1 -2
  384. package/lib/mjs/components/tags/Tags.d.ts +0 -14
  385. package/lib/mjs/components/tags/Tags.form.d.ts +6 -3
  386. package/lib/mjs/components/tags/Tags.form.js +5 -0
  387. package/lib/mjs/components/textarea/TextArea.d.ts +4 -9
  388. package/lib/mjs/components/textarea/TextArea.form.d.ts +6 -3
  389. package/lib/mjs/components/textarea/TextArea.form.js +5 -0
  390. package/lib/mjs/components/textarea/TextArea.js +2 -2
  391. package/lib/mjs/components/textfield/TextField.d.ts +14 -30
  392. package/lib/mjs/components/textfield/TextField.form.d.ts +6 -3
  393. package/lib/mjs/components/textfield/TextField.form.js +5 -0
  394. package/lib/mjs/components/textfield/TextField.js +14 -17
  395. package/lib/mjs/components/time/Time.form.d.ts +6 -3
  396. package/lib/mjs/components/time/Time.form.js +5 -0
  397. package/lib/mjs/components/unknown/Unknown.form.d.ts +5 -34
  398. package/lib/mjs/components/unknown/Unknown.form.js +4 -0
  399. package/lib/mjs/components/url/Url.form.d.ts +6 -3
  400. package/lib/mjs/components/url/Url.form.js +5 -0
  401. package/lib/mjs/components/well/Well.form.d.ts +6 -3
  402. package/lib/mjs/components/well/Well.form.js +5 -0
  403. package/lib/mjs/formio.embed.d.ts +1 -2
  404. package/lib/mjs/formio.embed.js +2 -99
  405. package/lib/mjs/formio.form.d.ts +11 -4
  406. package/lib/mjs/formio.form.js +10 -3
  407. package/lib/mjs/providers/Providers.d.ts +36 -5
  408. package/lib/mjs/providers/Providers.js +29 -0
  409. package/lib/mjs/providers/address/AddressProvider.d.ts +131 -12
  410. package/lib/mjs/providers/address/AddressProvider.js +88 -2
  411. package/lib/mjs/providers/address/AzureAddressProvider.d.ts +48 -1
  412. package/lib/mjs/providers/address/AzureAddressProvider.js +37 -0
  413. package/lib/mjs/providers/address/CustomAddressProvider.d.ts +27 -4
  414. package/lib/mjs/providers/address/CustomAddressProvider.js +34 -0
  415. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +130 -6
  416. package/lib/mjs/providers/address/GoogleAddressProvider.js +72 -0
  417. package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +32 -7
  418. package/lib/mjs/providers/address/NominatimAddressProvider.js +33 -0
  419. package/lib/mjs/providers/address/index.d.ts +3 -1
  420. package/lib/mjs/providers/processor/fileProcessor.d.ts +7 -1
  421. package/lib/mjs/providers/processor/fileProcessor.js +6 -0
  422. package/lib/mjs/providers/storage/azure.d.ts +6 -13
  423. package/lib/mjs/providers/storage/azure.js +5 -0
  424. package/lib/mjs/providers/storage/base64.d.ts +5 -6
  425. package/lib/mjs/providers/storage/base64.js +4 -0
  426. package/lib/mjs/providers/storage/dropbox.d.ts +6 -4
  427. package/lib/mjs/providers/storage/dropbox.js +5 -0
  428. package/lib/mjs/providers/storage/googleDrive.d.ts +7 -5
  429. package/lib/mjs/providers/storage/googleDrive.js +6 -0
  430. package/lib/mjs/providers/storage/indexeddb.d.ts +5 -7
  431. package/lib/mjs/providers/storage/indexeddb.js +4 -0
  432. package/lib/mjs/providers/storage/s3.d.ts +6 -20
  433. package/lib/mjs/providers/storage/s3.js +5 -0
  434. package/lib/mjs/providers/storage/url.d.ts +6 -7
  435. package/lib/mjs/providers/storage/url.js +10 -0
  436. package/lib/mjs/providers/storage/util.d.ts +24 -1
  437. package/lib/mjs/providers/storage/util.js +18 -0
  438. package/lib/mjs/templates/Templates.d.ts +1 -0
  439. package/lib/mjs/utils/Evaluator.d.ts +6 -3
  440. package/lib/mjs/utils/Evaluator.js +9 -20
  441. package/lib/mjs/utils/builder.d.ts +9 -7
  442. package/lib/mjs/utils/builder.js +10 -5
  443. package/lib/mjs/utils/calendarUtils.d.ts +7 -13
  444. package/lib/mjs/utils/calendarUtils.js +10 -17
  445. package/lib/mjs/utils/formUtils.d.ts +43 -171
  446. package/lib/mjs/utils/formUtils.js +6 -554
  447. package/lib/mjs/utils/utils.d.ts +370 -218
  448. package/lib/mjs/utils/utils.js +339 -222
  449. package/lib/mjs/widgets/CalendarWidget.d.ts +9 -10
  450. package/lib/mjs/widgets/CalendarWidget.js +9 -11
  451. package/package.json +22 -22
  452. package/sdk.d.ts +1 -0
  453. package/utils.d.ts +1 -0
@@ -5,6 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const NestedComponent_form_1 = __importDefault(require("../_classes/nested/NestedComponent.form"));
7
7
  const Well_edit_display_1 = __importDefault(require("./editForm/Well.edit.display"));
8
+ /**
9
+ * The Edit Form function.
10
+ * @param {...any} extend - The components that extend the edit form.
11
+ * @returns {import('@formio/core').Component[]} - The edit form components.
12
+ */
8
13
  function default_1(...extend) {
9
14
  return (0, NestedComponent_form_1.default)([
10
15
  {
@@ -1,2 +1 @@
1
- export { Formio };
2
- import { Formio } from './Embed';
1
+ export {};
@@ -1,102 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Formio = void 0;
4
- const Embed_1 = require("./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
- const debug = (query.debug === 'true' || query.debug === '1');
30
- const renderer = debug ? 'formio.form' : 'formio.form.min';
31
- Embed_1.Formio.config = Object.assign({
32
- script: query.script || (`${config.updatePath ? config.updatePath() : scriptSrc}/${renderer}.js`),
33
- style: query.styles || (`${config.updatePath ? config.updatePath() : scriptSrc}/${renderer}.css`),
34
- cdn: query.cdn,
35
- class: (query.class || 'formio-form-wrapper'),
36
- src: query.src,
37
- form: null,
38
- submission: null,
39
- project: query.project,
40
- base: query.base || 'https://api.form.io',
41
- submit: query.submit,
42
- includeLibs: (query.libs === 'true' || query.libs === '1'),
43
- template: query.template,
44
- debug: debug,
45
- config: {},
46
- redirect: (query.return || query.redirect),
47
- embedCSS: (`${config.updatePath ? config.updatePath() : scriptSrc}/formio.embed.css`),
48
- success: query.success || 'Thank you for your submission!',
49
- before: null,
50
- after: null
51
- }, config);
52
- const form = (Embed_1.Formio.config.form || Embed_1.Formio.config.src);
53
- if (form) {
54
- Embed_1.Formio.debug('Embedding Configuration', config);
55
- if (Embed_1.Formio.config.addPremiumLib) {
56
- Embed_1.Formio.config.addPremiumLib(Embed_1.Formio.config, scriptSrc);
57
- }
58
- // The id for this embedded form.
59
- Embed_1.Formio.config.id = `formio-${Math.random().toString(36).substring(7)}`;
60
- Embed_1.Formio.debug('Creating form element');
61
- const element = Embed_1.Formio.createElement('div', {
62
- 'id': Embed_1.Formio.config.id,
63
- class: Embed_1.Formio.config.class
64
- });
65
- // insertAfter doesn't exist, but effect is identical.
66
- thisScript.parentNode.insertBefore(element, thisScript.parentNode.firstElementChild.nextSibling);
67
- Embed_1.Formio.createForm(element, form, Embed_1.Formio.config.config).then((instance) => {
68
- if (Embed_1.Formio.config.submit) {
69
- instance.nosubmit = true;
70
- }
71
- // Configure a redirect.
72
- instance.on('submit', (submission) => {
73
- Embed_1.Formio.debug("on('submit')", submission);
74
- if (Embed_1.Formio.config.submit) {
75
- Embed_1.Formio.debug(`Sending submission to ${Embed_1.Formio.config.submit}`);
76
- const headers = {
77
- 'content-type': 'application/json'
78
- };
79
- const token = Embed_1.Formio.FormioClass.getToken();
80
- if (token) {
81
- headers['x-jwt-token'] = token;
82
- }
83
- Embed_1.Formio.FormioClass.fetch(Embed_1.Formio.config.submit, {
84
- body: JSON.stringify(submission),
85
- headers: headers,
86
- method: 'POST',
87
- mode: 'cors',
88
- })
89
- .then(resp => resp.json())
90
- .then(submission => Embed_1.Formio.submitDone(instance, submission));
91
- }
92
- else {
93
- Embed_1.Formio.submitDone(instance, submission);
94
- }
95
- });
96
- });
97
- }
98
- }
99
- else {
100
- // Show an error if the script cannot be found.
101
- document.write('<span>Could not locate the Embedded form.</span>');
102
- }
3
+ const InlineEmbed_1 = require("./InlineEmbed");
4
+ (0, InlineEmbed_1.embed)();
@@ -1,10 +1,17 @@
1
1
  /**
2
2
  * Register a module
3
- * @param {*} plugin
4
- * @returns
3
+ * @param {any} mod - The module object to register. This can also be a function which accepts Formio as an argument.
4
+ * @param {Function|null} [defaultFn] - The default function to call if the module does not have a known key.
5
+ * @param {any} options - Options for the module.
6
+ * @returns {void}
5
7
  */
6
- export function registerModule(mod: any, defaultFn?: null, options?: {}): void;
7
- export function useModule(defaultFn?: null): (plugins: any, options?: {}) => void;
8
+ export function registerModule(mod: any, defaultFn?: Function | null | undefined, options?: any): void;
9
+ /**
10
+ * @param {Function|null} defaultFn - The default function to call if the module does not have a known key.
11
+ * @returns {void}
12
+ */
13
+ export function useModule(defaultFn?: Function | null): void;
14
+ export { Formio as FormioCore } from "./Formio";
8
15
  import Components from './components/Components';
9
16
  import Displays from './displays/Displays';
10
17
  import Providers from './providers';
@@ -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.Webform = exports.EventEmitter = exports.Licenses = exports.Formio = exports.Form = exports.Utils = exports.Templates = exports.Widgets = exports.Providers = exports.Displays = exports.Components = exports.useModule = exports.registerModule = void 0;
6
+ exports.Webform = exports.EventEmitter = exports.Licenses = exports.Formio = exports.Form = exports.Utils = exports.Templates = exports.Widgets = exports.Providers = exports.Displays = exports.Components = exports.FormioCore = 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; } });
@@ -22,7 +22,7 @@ const Form_1 = __importDefault(require("./Form"));
22
22
  exports.Form = Form_1.default;
23
23
  const utils_1 = __importDefault(require("./utils"));
24
24
  exports.Utils = utils_1.default;
25
- const Evaluator_1 = __importDefault(require("./utils/Evaluator"));
25
+ const Evaluator_1 = require("./utils/Evaluator");
26
26
  const licenses_1 = __importDefault(require("./licenses"));
27
27
  exports.Licenses = licenses_1.default;
28
28
  const EventEmitter_1 = __importDefault(require("./EventEmitter"));
@@ -44,7 +44,7 @@ Formio_1.Formio.Form = Form_1.default;
44
44
  Formio_1.Formio.Displays = Displays_1.default;
45
45
  Formio_1.Formio.Providers = providers_1.default;
46
46
  Formio_1.Formio.Widgets = widgets_1.default;
47
- Formio_1.Formio.Evaluator = Evaluator_1.default;
47
+ Formio_1.Formio.Evaluator = Evaluator_1.Evaluator;
48
48
  Formio_1.Formio.AllComponents = components_1.default;
49
49
  Formio_1.Formio.Licenses = licenses_1.default;
50
50
  // This is strange, but is needed for "premium" components to import correctly.
@@ -52,8 +52,10 @@ Formio_1.Formio.Formio = Formio_1.Formio;
52
52
  Formio_1.Formio.Components.setComponents(components_1.default);
53
53
  /**
54
54
  * Register a module
55
- * @param {*} plugin
56
- * @returns
55
+ * @param {any} mod - The module object to register. This can also be a function which accepts Formio as an argument.
56
+ * @param {Function|null} [defaultFn] - The default function to call if the module does not have a known key.
57
+ * @param {any} options - Options for the module.
58
+ * @returns {void}
57
59
  */
58
60
  function registerModule(mod, defaultFn = null, options = {}) {
59
61
  if (typeof mod === 'function') {
@@ -115,6 +117,10 @@ function registerModule(mod, defaultFn = null, options = {}) {
115
117
  }
116
118
  }
117
119
  exports.registerModule = registerModule;
120
+ /**
121
+ * @param {Function|null} defaultFn - The default function to call if the module does not have a known key.
122
+ * @returns {void}
123
+ */
118
124
  function useModule(defaultFn = null) {
119
125
  return (plugins, options = {}) => {
120
126
  plugins = lodash_1.default.isArray(plugins) ? plugins : [plugins];
@@ -136,3 +142,5 @@ exports.useModule = useModule;
136
142
  * Formio.plugins([plugin1, plugin2, etc], options);
137
143
  */
138
144
  Formio_1.Formio.use = useModule();
145
+ var Formio_2 = require("./Formio");
146
+ Object.defineProperty(exports, "FormioCore", { enumerable: true, get: function () { return Formio_2.Formio; } });
@@ -1,7 +1,14 @@
1
+ /**
2
+ * @class Providers
3
+ * @classdesc Represents a collection of providers.
4
+ */
5
+ /**
6
+ * Represents a collection of providers.
7
+ */
1
8
  export default class Providers {
2
9
  static providers: {
3
10
  address: {
4
- [x: string]: typeof import("./address/CustomAddressProvider").CustomAddressProvider | typeof import("./address/GoogleAddressProvider").GoogleAddressProvider;
11
+ [x: string]: typeof import("./address/AzureAddressProvider").AzureAddressProvider | typeof import("./address/CustomAddressProvider").CustomAddressProvider | typeof import("./address/GoogleAddressProvider").GoogleAddressProvider | typeof import("./address/NominatimAddressProvider").NominatimAddressProvider;
5
12
  };
6
13
  auth: {};
7
14
  storage: {
@@ -13,8 +20,32 @@ export default class Providers {
13
20
  googledrive: typeof import("./storage/googleDrive").default;
14
21
  };
15
22
  };
16
- static addProvider(type: any, name: any, provider: any): void;
17
- static addProviders(type: any, providers: any): void;
18
- static getProvider(type: any, name: any): any;
19
- static getProviders(type: any): any;
23
+ /**
24
+ * Adds a provider to the collection.
25
+ * @param {string} type - The type of the provider.
26
+ * @param {string} name - The name of the provider.
27
+ * @param {Provider} provider - The provider object.
28
+ */
29
+ static addProvider(type: string, name: string, provider: Provider): void;
30
+ /**
31
+ * Adds multiple providers to the collection.
32
+ * @param {string} type - The type of the providers.
33
+ * @param {{ [key: string]: Provider }} providers - The collection of providers.
34
+ */
35
+ static addProviders(type: string, providers: {
36
+ [key: string]: Provider;
37
+ }): void;
38
+ /**
39
+ * Retrives a provider a provider from the collection.
40
+ * @param {string} type - The type of the provider.
41
+ * @param {string} name - The name of the provider.
42
+ * @returns {Provider | void} The provider object.
43
+ */
44
+ static getProvider(type: string, name: string): Provider | void;
45
+ /**
46
+ * Retrives all providers of a given type.
47
+ * @param {string} type - The type of the providers.
48
+ * @returns {Provider[] | void} The collection of providers.
49
+ */
50
+ static getProviders(type: string): Provider[] | void;
20
51
  }
@@ -7,19 +7,48 @@ const lodash_1 = __importDefault(require("lodash"));
7
7
  const address_1 = __importDefault(require("./address"));
8
8
  const auth_1 = __importDefault(require("./auth"));
9
9
  const storage_1 = __importDefault(require("./storage"));
10
+ /**
11
+ * @class Providers
12
+ * @classdesc Represents a collection of providers.
13
+ */
14
+ /**
15
+ * Represents a collection of providers.
16
+ */
10
17
  class Providers {
18
+ /**
19
+ * Adds a provider to the collection.
20
+ * @param {string} type - The type of the provider.
21
+ * @param {string} name - The name of the provider.
22
+ * @param {Provider} provider - The provider object.
23
+ */
11
24
  static addProvider(type, name, provider) {
12
25
  Providers.providers[type] = Providers.providers[type] || {};
13
26
  Providers.providers[type][name] = provider;
14
27
  }
28
+ /**
29
+ * Adds multiple providers to the collection.
30
+ * @param {string} type - The type of the providers.
31
+ * @param {{ [key: string]: Provider }} providers - The collection of providers.
32
+ */
15
33
  static addProviders(type, providers) {
16
34
  Providers.providers[type] = lodash_1.default.merge(Providers.providers[type], providers);
17
35
  }
36
+ /**
37
+ * Retrives a provider a provider from the collection.
38
+ * @param {string} type - The type of the provider.
39
+ * @param {string} name - The name of the provider.
40
+ * @returns {Provider | void} The provider object.
41
+ */
18
42
  static getProvider(type, name) {
19
43
  if (Providers.providers[type] && Providers.providers[type][name]) {
20
44
  return Providers.providers[type][name];
21
45
  }
22
46
  }
47
+ /**
48
+ * Retrives all providers of a given type.
49
+ * @param {string} type - The type of the providers.
50
+ * @returns {Provider[] | void} The collection of providers.
51
+ */
23
52
  static getProviders(type) {
24
53
  if (Providers.providers[type]) {
25
54
  return Providers.providers[type];
@@ -1,17 +1,136 @@
1
+ /**
2
+ * @typedef {object} RequestOptions
3
+ * @property {object} params - The request parameters.
4
+ * @property {boolean} noToken - Whether to include a token in the request.
5
+ */
6
+ /**
7
+ * @typedef {object} Address
8
+ * @property {string} street - The street address.
9
+ * @property {string} city - The city.
10
+ * @property {string} state - The state.
11
+ * @property {string} country - The country.
12
+ * @property {string} postalCode - The postal code.
13
+ */
14
+ /**
15
+ * @class AddressProvider
16
+ * @classdesc Represents an address provider.
17
+ */
1
18
  export class AddressProvider {
19
+ /**
20
+ * @static
21
+ * @type {string}
22
+ * @description The name of the address provider.
23
+ */
2
24
  static get name(): string;
25
+ /**
26
+ * @static
27
+ * @type {string}
28
+ * @description The display name of the address provider.
29
+ */
3
30
  static get displayName(): string;
4
- constructor(options?: {});
31
+ /**
32
+ * @class
33
+ * @param {object} options - The options for the address provider.
34
+ */
35
+ constructor(options?: object);
5
36
  options: any;
6
- beforeMergeOptions(): void;
7
- get defaultOptions(): {};
8
- get queryProperty(): string;
9
- get responseProperty(): null;
10
- get displayValueProperty(): null;
11
- serialize(params: any): any;
12
- getRequestOptions(options?: {}): any;
13
- getRequestUrl(options?: {}): void;
14
- makeRequest(options?: {}): any;
15
- search(query: any, options?: {}): any;
16
- getDisplayValue(address: any): any;
37
+ /**
38
+ * @private
39
+ * @description Executes before merging the options.
40
+ */
41
+ private beforeMergeOptions;
42
+ /**
43
+ * @private
44
+ * @type {object}
45
+ * @description The default options for the address provider.
46
+ */
47
+ private get defaultOptions();
48
+ /**
49
+ * @private
50
+ * @type {string}
51
+ * @description The query property name.
52
+ */
53
+ private get queryProperty();
54
+ /**
55
+ * @private
56
+ * @type {string|null}
57
+ * @description The response property name.
58
+ */
59
+ private get responseProperty();
60
+ /**
61
+ * @private
62
+ * @type {string|null}
63
+ * @description The display value property name.
64
+ */
65
+ private get displayValueProperty();
66
+ /**
67
+ * @private
68
+ * @param {object} params - The parameters to serialize.
69
+ * @returns {string} The serialized parameters.
70
+ */
71
+ private serialize;
72
+ /**
73
+ * @private
74
+ * @param {object} options - The request options.
75
+ * @returns {RequestOptions} The merged request options.
76
+ */
77
+ private getRequestOptions;
78
+ /**
79
+ * @private
80
+ * @param {object} _options - The request options.
81
+ * @throws {Error} Throws an error if the method is not implemented.
82
+ */
83
+ private getRequestUrl;
84
+ /**
85
+ * @private
86
+ * @param {object} options - The request options.
87
+ * @returns {Promise} A promise that resolves with the request result.
88
+ */
89
+ private makeRequest;
90
+ /**
91
+ * @public
92
+ * @description The search parameters for the request.
93
+ * @param {string} query - The search query.
94
+ * @param {object} options - The search options.
95
+ * @returns {Promise<Address[]>} A promise that resolves with the search results.
96
+ */
97
+ public search(query: string, options?: object): Promise<Address[]>;
98
+ /**
99
+ * @public
100
+ * @param {Address} address - The address object.
101
+ * @returns {string} The display value of the address.
102
+ */
103
+ public getDisplayValue(address: Address): string;
17
104
  }
105
+ export type RequestOptions = {
106
+ /**
107
+ * - The request parameters.
108
+ */
109
+ params: object;
110
+ /**
111
+ * - Whether to include a token in the request.
112
+ */
113
+ noToken: boolean;
114
+ };
115
+ export type Address = {
116
+ /**
117
+ * - The street address.
118
+ */
119
+ street: string;
120
+ /**
121
+ * - The city.
122
+ */
123
+ city: string;
124
+ /**
125
+ * - The state.
126
+ */
127
+ state: string;
128
+ /**
129
+ * - The country.
130
+ */
131
+ country: string;
132
+ /**
133
+ * - The postal code.
134
+ */
135
+ postalCode: string;
136
+ };
@@ -6,47 +6,128 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AddressProvider = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const Formio_1 = require("../../Formio");
9
+ /**
10
+ * @typedef {object} RequestOptions
11
+ * @property {object} params - The request parameters.
12
+ * @property {boolean} noToken - Whether to include a token in the request.
13
+ */
14
+ /**
15
+ * @typedef {object} Address
16
+ * @property {string} street - The street address.
17
+ * @property {string} city - The city.
18
+ * @property {string} state - The state.
19
+ * @property {string} country - The country.
20
+ * @property {string} postalCode - The postal code.
21
+ */
22
+ /**
23
+ * @class AddressProvider
24
+ * @classdesc Represents an address provider.
25
+ */
9
26
  class AddressProvider {
27
+ /**
28
+ * @static
29
+ * @type {string}
30
+ * @description The name of the address provider.
31
+ */
10
32
  static get name() {
11
33
  return 'address';
12
34
  }
35
+ /**
36
+ * @static
37
+ * @type {string}
38
+ * @description The display name of the address provider.
39
+ */
13
40
  static get displayName() {
14
41
  return 'Address';
15
42
  }
43
+ /**
44
+ * @class
45
+ * @param {object} options - The options for the address provider.
46
+ */
16
47
  constructor(options = {}) {
17
48
  this.beforeMergeOptions(options);
18
49
  this.options = lodash_1.default.merge({}, this.defaultOptions, options);
19
50
  }
51
+ /**
52
+ * @private
53
+ * @description Executes before merging the options.
54
+ */
20
55
  beforeMergeOptions() {
21
56
  return;
22
57
  }
58
+ /**
59
+ * @private
60
+ * @type {object}
61
+ * @description The default options for the address provider.
62
+ */
23
63
  get defaultOptions() {
24
64
  return {};
25
65
  }
66
+ /**
67
+ * @private
68
+ * @type {string}
69
+ * @description The query property name.
70
+ */
26
71
  get queryProperty() {
27
72
  return 'query';
28
73
  }
74
+ /**
75
+ * @private
76
+ * @type {string|null}
77
+ * @description The response property name.
78
+ */
29
79
  get responseProperty() {
30
80
  return null;
31
81
  }
82
+ /**
83
+ * @private
84
+ * @type {string|null}
85
+ * @description The display value property name.
86
+ */
32
87
  get displayValueProperty() {
33
88
  return null;
34
89
  }
90
+ /**
91
+ * @private
92
+ * @param {object} params - The parameters to serialize.
93
+ * @returns {string} The serialized parameters.
94
+ */
35
95
  serialize(params) {
36
96
  return lodash_1.default.toPairs(params).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');
37
97
  }
98
+ /**
99
+ * @private
100
+ * @param {object} options - The request options.
101
+ * @returns {RequestOptions} The merged request options.
102
+ */
38
103
  getRequestOptions(options = {}) {
39
104
  return lodash_1.default.merge({}, this.options, options);
40
105
  }
41
- // eslint-disable-next-line no-unused-vars
42
- getRequestUrl(options = {}) {
106
+ /**
107
+ * @private
108
+ * @param {object} _options - The request options.
109
+ * @throws {Error} Throws an error if the method is not implemented.
110
+ */
111
+ getRequestUrl(_options = {}) {
43
112
  throw new Error('Method AddressProvider#getRequestUrl(options) is abstract.');
44
113
  }
114
+ /**
115
+ * @private
116
+ * @param {object} options - The request options.
117
+ * @returns {Promise} A promise that resolves with the request result.
118
+ */
45
119
  makeRequest(options = {}) {
46
120
  return Formio_1.Formio.makeStaticRequest(this.getRequestUrl(options), 'GET', null, {
47
121
  noToken: true,
48
122
  });
49
123
  }
124
+ /**
125
+ * @public
126
+ * @description The search parameters for the request.
127
+ * @param {string} query - The search query.
128
+ * @param {object} options - The search options.
129
+ * @returns {Promise<Address[]>} A promise that resolves with the search results.
130
+ */
50
131
  search(query, options = {}) {
51
132
  const requestOptions = this.getRequestOptions(options);
52
133
  const params = requestOptions.params = requestOptions.params || {};
@@ -54,6 +135,11 @@ class AddressProvider {
54
135
  return this.makeRequest(requestOptions)
55
136
  .then((result) => this.responseProperty ? lodash_1.default.get(result, this.responseProperty, []) : result);
56
137
  }
138
+ /**
139
+ * @public
140
+ * @param {Address} address - The address object.
141
+ * @returns {string} The display value of the address.
142
+ */
57
143
  getDisplayValue(address) {
58
144
  return this.displayValueProperty ? lodash_1.default.get(address, this.displayValueProperty, '') : String(address);
59
145
  }
@@ -1,12 +1,59 @@
1
+ /**
2
+ * @typedef {object} AzureAddressProviderOptionsParams
3
+ * @property {string} 'api-version' - The version of the Azure Maps API.
4
+ * @property {string} typeahead - Whether to enable typeahead in the search.
5
+ * @typedef {object} AzureAddressProviderOptions
6
+ * @property {AzureAddressProviderOptionsParams} params - The parameters for the Azure Maps API request.
7
+ */
8
+ /**
9
+ * @class
10
+ * @augments AddressProvider
11
+ * @classdesc Represents an Azure Maps address provider.
12
+ */
1
13
  export class AzureAddressProvider extends AddressProvider {
14
+ /**
15
+ * Gets the default options for the address provider.
16
+ * @returns {{ params: { 'api-version': string, typeahead: string } }} The default options.
17
+ */
2
18
  get defaultOptions(): {
3
19
  params: {
4
20
  'api-version': string;
5
21
  typeahead: string;
6
22
  };
7
23
  };
24
+ /**
25
+ * Gets the response property for the address provider.
26
+ * @type {string}
27
+ */
8
28
  get responseProperty(): string;
29
+ /**
30
+ * Gets the display value property for the address provider.
31
+ * @type {string}
32
+ */
9
33
  get displayValueProperty(): string;
10
- getRequestUrl(options?: {}): string;
34
+ /**
35
+ * Gets the request URL for the address provider.
36
+ * @param {{params: any}} options - The request options.
37
+ * @returns {string} The request URL.
38
+ */
39
+ getRequestUrl(options?: {
40
+ params: any;
41
+ }): string;
11
42
  }
43
+ export type AzureAddressProviderOptionsParams = {
44
+ /**
45
+ * 'api-version' - The version of the Azure Maps API.
46
+ */
47
+ "": string;
48
+ /**
49
+ * - Whether to enable typeahead in the search.
50
+ */
51
+ typeahead: string;
52
+ };
53
+ export type AzureAddressProviderOptions = {
54
+ /**
55
+ * - The parameters for the Azure Maps API request.
56
+ */
57
+ params: AzureAddressProviderOptionsParams;
58
+ };
12
59
  import { AddressProvider } from './AddressProvider';