@formio/js 5.0.0-rc.30 → 5.0.0-rc.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1101) hide show
  1. package/dist/formio.embed.js +1 -1
  2. package/dist/formio.embed.min.js +1 -1
  3. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  4. package/dist/formio.form.js +64 -108
  5. package/dist/formio.form.min.js +1 -1
  6. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  7. package/dist/formio.full.js +66 -110
  8. package/dist/formio.full.min.js +1 -1
  9. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  10. package/dist/formio.js +40 -84
  11. package/dist/formio.min.js +1 -1
  12. package/dist/formio.min.js.LICENSE.txt +1 -1
  13. package/dist/formio.utils.js +18 -84
  14. package/dist/formio.utils.min.js +1 -1
  15. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  16. package/lib/cjs/CDN.js +6 -2
  17. package/lib/cjs/Embed.js +98 -61
  18. package/lib/cjs/Formio.js +10 -0
  19. package/lib/cjs/Wizard.js +9 -10
  20. package/lib/cjs/components/_classes/component/Component.js +1 -3
  21. package/lib/cjs/components/_classes/component/fixtures/comp5.js +26 -0
  22. package/lib/cjs/components/_classes/component/fixtures/index.js +3 -1
  23. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +0 -18
  24. package/lib/cjs/components/file/File.js +13 -1
  25. package/lib/cjs/components/file/editForm/File.edit.file.js +40 -0
  26. package/lib/cjs/components/select/Select.js +7 -3
  27. package/lib/cjs/formio.form.js +3 -1
  28. package/lib/cjs/providers/storage/azure.js +24 -22
  29. package/lib/cjs/providers/storage/base64.js +29 -27
  30. package/lib/cjs/providers/storage/dropbox.js +51 -49
  31. package/lib/cjs/providers/storage/googleDrive.js +50 -48
  32. package/lib/cjs/providers/storage/indexeddb.js +106 -104
  33. package/lib/cjs/providers/storage/s3.js +137 -37
  34. package/lib/cjs/providers/storage/url.js +2 -2
  35. package/lib/cjs/providers/storage/util.js +21 -0
  36. package/lib/cjs/providers/storage/xhr.js +81 -64
  37. package/lib/cjs/utils/formUtils.js +1 -1
  38. package/lib/cjs/utils/utils.js +6 -0
  39. package/lib/mjs/CDN.js +6 -2
  40. package/lib/mjs/Embed.js +94 -62
  41. package/lib/mjs/Formio.js +35 -25
  42. package/lib/mjs/Wizard.js +9 -10
  43. package/lib/mjs/components/_classes/component/Component.js +1 -3
  44. package/lib/mjs/components/_classes/component/fixtures/comp5.js +24 -0
  45. package/lib/mjs/components/_classes/component/fixtures/index.js +2 -1
  46. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +0 -18
  47. package/lib/mjs/components/file/File.js +17 -1
  48. package/lib/mjs/components/file/editForm/File.edit.file.js +40 -0
  49. package/lib/mjs/components/select/Select.js +7 -3
  50. package/lib/mjs/formio.form.js +3 -1
  51. package/lib/mjs/providers/storage/azure.js +24 -22
  52. package/lib/mjs/providers/storage/base64.js +29 -27
  53. package/lib/mjs/providers/storage/dropbox.js +51 -49
  54. package/lib/mjs/providers/storage/googleDrive.js +50 -48
  55. package/lib/mjs/providers/storage/indexeddb.js +106 -104
  56. package/lib/mjs/providers/storage/s3.js +122 -29
  57. package/lib/mjs/providers/storage/url.js +2 -2
  58. package/lib/mjs/providers/storage/util.js +6 -0
  59. package/lib/mjs/providers/storage/xhr.js +75 -65
  60. package/lib/mjs/utils/formUtils.js +1 -1
  61. package/lib/mjs/utils/utils.js +6 -0
  62. package/package.json +7 -4
  63. package/types/Embed.d.ts +13 -0
  64. package/types/Plugins.d.ts +95 -0
  65. package/types/components/_classes/component/component.d.ts +2 -1
  66. package/types/components/schema.d.ts +2 -68
  67. package/types/formio.d.ts +1230 -118
  68. package/types/index.d.ts +1 -1
  69. package/types/utils.d.ts +1 -1
  70. package/lib/cjs/CDN.d.ts +0 -29
  71. package/lib/cjs/Element.d.ts +0 -255
  72. package/lib/cjs/Embed.d.ts +0 -52
  73. package/lib/cjs/EventEmitter.d.ts +0 -7
  74. package/lib/cjs/Form.d.ts +0 -93
  75. package/lib/cjs/FormBuilder.d.ts +0 -6
  76. package/lib/cjs/Formio.d.ts +0 -1
  77. package/lib/cjs/PDF.d.ts +0 -40
  78. package/lib/cjs/PDFBuilder.d.ts +0 -55
  79. package/lib/cjs/Webform.d.ts +0 -402
  80. package/lib/cjs/WebformBuilder.d.ts +0 -126
  81. package/lib/cjs/Wizard.d.ts +0 -97
  82. package/lib/cjs/WizardBuilder.d.ts +0 -49
  83. package/lib/cjs/addons/FormioAddon.d.ts +0 -19
  84. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +0 -716
  85. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.d.ts +0 -590
  86. package/lib/cjs/addons/index.d.ts +0 -626
  87. package/lib/cjs/builders/Builders.d.ts +0 -18
  88. package/lib/cjs/builders/index.d.ts +0 -2
  89. package/lib/cjs/components/Components.d.ts +0 -265
  90. package/lib/cjs/components/_classes/component/Component.d.ts +0 -828
  91. package/lib/cjs/components/_classes/component/Component.form.d.ts +0 -3
  92. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.d.ts +0 -653
  93. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.d.ts +0 -42
  94. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.d.ts +0 -113
  95. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -219
  96. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.d.ts +0 -160
  97. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.d.ts +0 -44
  98. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.d.ts +0 -368
  99. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.d.ts +0 -140
  100. package/lib/cjs/components/_classes/component/editForm/utils.d.ts +0 -83
  101. package/lib/cjs/components/_classes/component/fixtures/comp1.d.ts +0 -33
  102. package/lib/cjs/components/_classes/component/fixtures/comp2.d.ts +0 -33
  103. package/lib/cjs/components/_classes/component/fixtures/comp3.d.ts +0 -14
  104. package/lib/cjs/components/_classes/component/fixtures/comp4.d.ts +0 -17
  105. package/lib/cjs/components/_classes/component/fixtures/index.d.ts +0 -5
  106. package/lib/cjs/components/_classes/componentModal/ComponentModal.d.ts +0 -46
  107. package/lib/cjs/components/_classes/field/Field.d.ts +0 -5
  108. package/lib/cjs/components/_classes/input/Input.d.ts +0 -42
  109. package/lib/cjs/components/_classes/list/ListComponent.d.ts +0 -18
  110. package/lib/cjs/components/_classes/list/ListComponent.form.d.ts +0 -3
  111. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.d.ts +0 -183
  112. package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +0 -29
  113. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +0 -150
  114. package/lib/cjs/components/_classes/nested/NestedComponent.form.d.ts +0 -3
  115. package/lib/cjs/components/_classes/nested/fixtures/comp1.d.ts +0 -8
  116. package/lib/cjs/components/_classes/nested/fixtures/comp2.d.ts +0 -236
  117. package/lib/cjs/components/_classes/nested/fixtures/comp3.d.ts +0 -26
  118. package/lib/cjs/components/_classes/nested/fixtures/index.d.ts +0 -3
  119. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -16
  120. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +0 -12
  121. package/lib/cjs/components/address/Address.d.ts +0 -66
  122. package/lib/cjs/components/address/Address.form.d.ts +0 -3
  123. package/lib/cjs/components/address/editForm/Address.edit.data.d.ts +0 -31
  124. package/lib/cjs/components/address/editForm/Address.edit.display.d.ts +0 -49
  125. package/lib/cjs/components/address/editForm/Address.edit.provider.d.ts +0 -164
  126. package/lib/cjs/components/address/fixtures/comp1.d.ts +0 -34
  127. package/lib/cjs/components/address/fixtures/comp2.d.ts +0 -62
  128. package/lib/cjs/components/address/fixtures/comp3.d.ts +0 -44
  129. package/lib/cjs/components/address/fixtures/comp4.d.ts +0 -56
  130. package/lib/cjs/components/address/fixtures/index.d.ts +0 -5
  131. package/lib/cjs/components/address/fixtures/values.d.ts +0 -22
  132. package/lib/cjs/components/alert/Alert.d.ts +0 -30
  133. package/lib/cjs/components/builder.d.ts +0 -2
  134. package/lib/cjs/components/button/Button.d.ts +0 -45
  135. package/lib/cjs/components/button/Button.form.d.ts +0 -3
  136. package/lib/cjs/components/button/editForm/Button.edit.display.d.ts +0 -360
  137. package/lib/cjs/components/button/fixtures/comp1.d.ts +0 -15
  138. package/lib/cjs/components/button/fixtures/comp2.d.ts +0 -25
  139. package/lib/cjs/components/button/fixtures/comp3.d.ts +0 -113
  140. package/lib/cjs/components/button/fixtures/index.d.ts +0 -4
  141. package/lib/cjs/components/button/fixtures/values.d.ts +0 -2
  142. package/lib/cjs/components/checkbox/Checkbox.d.ts +0 -77
  143. package/lib/cjs/components/checkbox/Checkbox.form.d.ts +0 -3
  144. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.d.ts +0 -5
  145. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.d.ts +0 -75
  146. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.d.ts +0 -5
  147. package/lib/cjs/components/checkbox/fixtures/comp1.d.ts +0 -24
  148. package/lib/cjs/components/checkbox/fixtures/comp2.d.ts +0 -12
  149. package/lib/cjs/components/checkbox/fixtures/comp3.d.ts +0 -15
  150. package/lib/cjs/components/checkbox/fixtures/comp4.d.ts +0 -46
  151. package/lib/cjs/components/checkbox/fixtures/customDefaultComponent.d.ts +0 -25
  152. package/lib/cjs/components/checkbox/fixtures/index.d.ts +0 -6
  153. package/lib/cjs/components/checkbox/fixtures/values.d.ts +0 -2
  154. package/lib/cjs/components/columns/Columns.d.ts +0 -28
  155. package/lib/cjs/components/columns/Columns.form.d.ts +0 -3
  156. package/lib/cjs/components/columns/editForm/Columns.edit.display.d.ts +0 -87
  157. package/lib/cjs/components/columns/fixtures/comp1.d.ts +0 -45
  158. package/lib/cjs/components/columns/fixtures/comp2.d.ts +0 -24
  159. package/lib/cjs/components/columns/fixtures/comp3.d.ts +0 -45
  160. package/lib/cjs/components/columns/fixtures/index.d.ts +0 -4
  161. package/lib/cjs/components/container/Container.d.ts +0 -16
  162. package/lib/cjs/components/container/Container.form.d.ts +0 -3
  163. package/lib/cjs/components/container/editForm/Container.edit.data.d.ts +0 -5
  164. package/lib/cjs/components/container/editForm/Container.edit.display.d.ts +0 -5
  165. package/lib/cjs/components/container/fixtures/comp1.d.ts +0 -49
  166. package/lib/cjs/components/container/fixtures/comp2.d.ts +0 -30
  167. package/lib/cjs/components/container/fixtures/comp3.d.ts +0 -77
  168. package/lib/cjs/components/container/fixtures/index.d.ts +0 -4
  169. package/lib/cjs/components/content/Content.d.ts +0 -18
  170. package/lib/cjs/components/content/Content.form.d.ts +0 -3
  171. package/lib/cjs/components/content/editForm/Content.edit.display.d.ts +0 -18
  172. package/lib/cjs/components/content/editForm/Content.edit.logic.d.ts +0 -48
  173. package/lib/cjs/components/content/fixtures/comp1.d.ts +0 -13
  174. package/lib/cjs/components/content/fixtures/index.d.ts +0 -2
  175. package/lib/cjs/components/currency/Currency.d.ts +0 -8
  176. package/lib/cjs/components/currency/Currency.form.d.ts +0 -3
  177. package/lib/cjs/components/currency/editForm/Currency.edit.data.d.ts +0 -29
  178. package/lib/cjs/components/currency/editForm/Currency.edit.display.d.ts +0 -18
  179. package/lib/cjs/components/currency/fixtures/comp1.d.ts +0 -31
  180. package/lib/cjs/components/currency/fixtures/comp2.d.ts +0 -20
  181. package/lib/cjs/components/currency/fixtures/comp3.d.ts +0 -13
  182. package/lib/cjs/components/currency/fixtures/comp4.d.ts +0 -17
  183. package/lib/cjs/components/currency/fixtures/index.d.ts +0 -5
  184. package/lib/cjs/components/currency/fixtures/values.d.ts +0 -2
  185. package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -80
  186. package/lib/cjs/components/datagrid/DataGrid.form.d.ts +0 -3
  187. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.d.ts +0 -5
  188. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.d.ts +0 -283
  189. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.d.ts +0 -20
  190. package/lib/cjs/components/datagrid/fixtures/comp-modal-with-required-fields.d.ts +0 -37
  191. package/lib/cjs/components/datagrid/fixtures/comp-on-blur-validation.d.ts +0 -0
  192. package/lib/cjs/components/datagrid/fixtures/comp-row-groups-with-def-value.d.ts +0 -63
  193. package/lib/cjs/components/datagrid/fixtures/comp-with-collapsible-groups.d.ts +0 -76
  194. package/lib/cjs/components/datagrid/fixtures/comp-with-conditional-components-and-validations.d.ts +0 -197
  195. package/lib/cjs/components/datagrid/fixtures/comp-with-def-value.d.ts +0 -61
  196. package/lib/cjs/components/datagrid/fixtures/comp-with-logic.d.ts +0 -165
  197. package/lib/cjs/components/datagrid/fixtures/comp1.d.ts +0 -93
  198. package/lib/cjs/components/datagrid/fixtures/comp2.d.ts +0 -18
  199. package/lib/cjs/components/datagrid/fixtures/comp3.d.ts +0 -14
  200. package/lib/cjs/components/datagrid/fixtures/comp4.d.ts +0 -27
  201. package/lib/cjs/components/datagrid/fixtures/comp5.d.ts +0 -67
  202. package/lib/cjs/components/datagrid/fixtures/comp6.d.ts +0 -567
  203. package/lib/cjs/components/datagrid/fixtures/comp7.d.ts +0 -28
  204. package/lib/cjs/components/datagrid/fixtures/comp8.d.ts +0 -35
  205. package/lib/cjs/components/datagrid/fixtures/index.d.ts +0 -15
  206. package/lib/cjs/components/datamap/DataMap.d.ts +0 -36
  207. package/lib/cjs/components/datamap/DataMap.form.d.ts +0 -3
  208. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.d.ts +0 -5
  209. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.d.ts +0 -30
  210. package/lib/cjs/components/datamap/fixtures/comp1.d.ts +0 -18
  211. package/lib/cjs/components/datamap/fixtures/formWithConditionalPanel.d.ts +0 -87
  212. package/lib/cjs/components/datamap/fixtures/index.d.ts +0 -3
  213. package/lib/cjs/components/datetime/DateTime.d.ts +0 -39
  214. package/lib/cjs/components/datetime/DateTime.form.d.ts +0 -3
  215. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.d.ts +0 -24
  216. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.d.ts +0 -61
  217. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.d.ts +0 -128
  218. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.d.ts +0 -9
  219. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.d.ts +0 -40
  220. package/lib/cjs/components/datetime/fixtures/comp1.d.ts +0 -45
  221. package/lib/cjs/components/datetime/fixtures/comp10.d.ts +0 -102
  222. package/lib/cjs/components/datetime/fixtures/comp11.d.ts +0 -58
  223. package/lib/cjs/components/datetime/fixtures/comp12.d.ts +0 -57
  224. package/lib/cjs/components/datetime/fixtures/comp2.d.ts +0 -42
  225. package/lib/cjs/components/datetime/fixtures/comp3.d.ts +0 -51
  226. package/lib/cjs/components/datetime/fixtures/comp5.d.ts +0 -57
  227. package/lib/cjs/components/datetime/fixtures/comp6.d.ts +0 -55
  228. package/lib/cjs/components/datetime/fixtures/comp7.d.ts +0 -59
  229. package/lib/cjs/components/datetime/fixtures/comp8.d.ts +0 -59
  230. package/lib/cjs/components/datetime/fixtures/comp9.d.ts +0 -64
  231. package/lib/cjs/components/datetime/fixtures/index.d.ts +0 -12
  232. package/lib/cjs/components/datetime/fixtures/values.d.ts +0 -2
  233. package/lib/cjs/components/day/Day.d.ts +0 -163
  234. package/lib/cjs/components/day/Day.form.d.ts +0 -3
  235. package/lib/cjs/components/day/editForm/Day.edit.data.d.ts +0 -5
  236. package/lib/cjs/components/day/editForm/Day.edit.day.d.ts +0 -40
  237. package/lib/cjs/components/day/editForm/Day.edit.display.d.ts +0 -40
  238. package/lib/cjs/components/day/editForm/Day.edit.month.d.ts +0 -40
  239. package/lib/cjs/components/day/editForm/Day.edit.validation.d.ts +0 -29
  240. package/lib/cjs/components/day/editForm/Day.edit.year.d.ts +0 -40
  241. package/lib/cjs/components/day/fixtures/comp1.d.ts +0 -46
  242. package/lib/cjs/components/day/fixtures/comp2.d.ts +0 -46
  243. package/lib/cjs/components/day/fixtures/comp3.d.ts +0 -48
  244. package/lib/cjs/components/day/fixtures/comp4.d.ts +0 -53
  245. package/lib/cjs/components/day/fixtures/comp5.d.ts +0 -29
  246. package/lib/cjs/components/day/fixtures/comp6.d.ts +0 -81
  247. package/lib/cjs/components/day/fixtures/index.d.ts +0 -7
  248. package/lib/cjs/components/day/fixtures/values.d.ts +0 -2
  249. package/lib/cjs/components/editgrid/EditGrid.d.ts +0 -103
  250. package/lib/cjs/components/editgrid/EditGrid.form.d.ts +0 -3
  251. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.d.ts +0 -18
  252. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.d.ts +0 -82
  253. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.d.ts +0 -58
  254. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.d.ts +0 -29
  255. package/lib/cjs/components/editgrid/fixtures/comp-openWhenEmpty.d.ts +0 -34
  256. package/lib/cjs/components/editgrid/fixtures/comp-with-basic-components.d.ts +0 -327
  257. package/lib/cjs/components/editgrid/fixtures/comp-with-conditions-and-openWhenEmpty.d.ts +0 -77
  258. package/lib/cjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +0 -190
  259. package/lib/cjs/components/editgrid/fixtures/comp1.d.ts +0 -89
  260. package/lib/cjs/components/editgrid/fixtures/comp10.d.ts +0 -49
  261. package/lib/cjs/components/editgrid/fixtures/comp11.d.ts +0 -53
  262. package/lib/cjs/components/editgrid/fixtures/comp12.d.ts +0 -57
  263. package/lib/cjs/components/editgrid/fixtures/comp13.d.ts +0 -64
  264. package/lib/cjs/components/editgrid/fixtures/comp14.d.ts +0 -88
  265. package/lib/cjs/components/editgrid/fixtures/comp15.d.ts +0 -54
  266. package/lib/cjs/components/editgrid/fixtures/comp2.d.ts +0 -112
  267. package/lib/cjs/components/editgrid/fixtures/comp3.d.ts +0 -27
  268. package/lib/cjs/components/editgrid/fixtures/comp4.d.ts +0 -23
  269. package/lib/cjs/components/editgrid/fixtures/comp5.d.ts +0 -19
  270. package/lib/cjs/components/editgrid/fixtures/comp6.d.ts +0 -50
  271. package/lib/cjs/components/editgrid/fixtures/comp7.d.ts +0 -129
  272. package/lib/cjs/components/editgrid/fixtures/comp8.d.ts +0 -148
  273. package/lib/cjs/components/editgrid/fixtures/comp9.d.ts +0 -86
  274. package/lib/cjs/components/editgrid/fixtures/index.d.ts +0 -19
  275. package/lib/cjs/components/email/Email.d.ts +0 -4
  276. package/lib/cjs/components/email/Email.form.d.ts +0 -3
  277. package/lib/cjs/components/email/editForm/Email.edit.display.d.ts +0 -5
  278. package/lib/cjs/components/email/editForm/Email.edit.validation.d.ts +0 -24
  279. package/lib/cjs/components/email/fixtures/comp1.d.ts +0 -26
  280. package/lib/cjs/components/email/fixtures/comp2.d.ts +0 -23
  281. package/lib/cjs/components/email/fixtures/index.d.ts +0 -3
  282. package/lib/cjs/components/email/fixtures/values.d.ts +0 -2
  283. package/lib/cjs/components/fieldset/Fieldset.d.ts +0 -15
  284. package/lib/cjs/components/fieldset/Fieldset.form.d.ts +0 -3
  285. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.d.ts +0 -33
  286. package/lib/cjs/components/fieldset/fixtures/comp1.d.ts +0 -46
  287. package/lib/cjs/components/fieldset/fixtures/index.d.ts +0 -2
  288. package/lib/cjs/components/file/File.d.ts +0 -81
  289. package/lib/cjs/components/file/File.form.d.ts +0 -3
  290. package/lib/cjs/components/file/editForm/File.edit.data.d.ts +0 -5
  291. package/lib/cjs/components/file/editForm/File.edit.display.d.ts +0 -5
  292. package/lib/cjs/components/file/editForm/File.edit.file.d.ts +0 -275
  293. package/lib/cjs/components/file/editForm/File.edit.validation.d.ts +0 -5
  294. package/lib/cjs/components/file/fixtures/comp1.d.ts +0 -15
  295. package/lib/cjs/components/file/fixtures/comp2.d.ts +0 -35
  296. package/lib/cjs/components/file/fixtures/comp3.d.ts +0 -29
  297. package/lib/cjs/components/file/fixtures/index.d.ts +0 -3
  298. package/lib/cjs/components/file/fixtures/values.d.ts +0 -10
  299. package/lib/cjs/components/form/Form.d.ts +0 -94
  300. package/lib/cjs/components/form/Form.form.d.ts +0 -3
  301. package/lib/cjs/components/form/editForm/Form.edit.data.d.ts +0 -82
  302. package/lib/cjs/components/form/editForm/Form.edit.display.d.ts +0 -5
  303. package/lib/cjs/components/form/editForm/Form.edit.form.d.ts +0 -89
  304. package/lib/cjs/components/form/fixtures/comp1.d.ts +0 -45
  305. package/lib/cjs/components/form/fixtures/comp2.d.ts +0 -14
  306. package/lib/cjs/components/form/fixtures/comp3.d.ts +0 -187
  307. package/lib/cjs/components/form/fixtures/comp4.d.ts +0 -107
  308. package/lib/cjs/components/form/fixtures/comp5.d.ts +0 -42
  309. package/lib/cjs/components/form/fixtures/comp6.d.ts +0 -74
  310. package/lib/cjs/components/form/fixtures/formModalEdit.d.ts +0 -42
  311. package/lib/cjs/components/form/fixtures/index.d.ts +0 -8
  312. package/lib/cjs/components/form/fixtures/values.d.ts +0 -6
  313. package/lib/cjs/components/hidden/Hidden.d.ts +0 -26
  314. package/lib/cjs/components/hidden/Hidden.form.d.ts +0 -3
  315. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.d.ts +0 -5
  316. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.d.ts +0 -5
  317. package/lib/cjs/components/hidden/fixtures/comp1.d.ts +0 -18
  318. package/lib/cjs/components/hidden/fixtures/index.d.ts +0 -2
  319. package/lib/cjs/components/hidden/fixtures/values.d.ts +0 -2
  320. package/lib/cjs/components/html/HTML.d.ts +0 -18
  321. package/lib/cjs/components/html/HTML.form.d.ts +0 -3
  322. package/lib/cjs/components/html/editForm/HTML.edit.display.d.ts +0 -77
  323. package/lib/cjs/components/html/editForm/HTML.edit.logic.d.ts +0 -48
  324. package/lib/cjs/components/html/fixtures/comp1.d.ts +0 -19
  325. package/lib/cjs/components/html/fixtures/comp2.d.ts +0 -21
  326. package/lib/cjs/components/html/fixtures/index.d.ts +0 -3
  327. package/lib/cjs/components/index.d.ts +0 -98
  328. package/lib/cjs/components/number/Number.d.ts +0 -53
  329. package/lib/cjs/components/number/Number.form.d.ts +0 -3
  330. package/lib/cjs/components/number/editForm/Number.edit.data.d.ts +0 -18
  331. package/lib/cjs/components/number/editForm/Number.edit.display.d.ts +0 -5
  332. package/lib/cjs/components/number/editForm/Number.edit.validation.d.ts +0 -20
  333. package/lib/cjs/components/number/fixtures/comp1.d.ts +0 -33
  334. package/lib/cjs/components/number/fixtures/comp2.d.ts +0 -32
  335. package/lib/cjs/components/number/fixtures/comp3.d.ts +0 -14
  336. package/lib/cjs/components/number/fixtures/comp4.d.ts +0 -14
  337. package/lib/cjs/components/number/fixtures/comp5.d.ts +0 -20
  338. package/lib/cjs/components/number/fixtures/comp6.d.ts +0 -40
  339. package/lib/cjs/components/number/fixtures/comp7.d.ts +0 -15
  340. package/lib/cjs/components/number/fixtures/index.d.ts +0 -8
  341. package/lib/cjs/components/number/fixtures/values.d.ts +0 -2
  342. package/lib/cjs/components/panel/Panel.d.ts +0 -14
  343. package/lib/cjs/components/panel/Panel.form.d.ts +0 -3
  344. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.d.ts +0 -75
  345. package/lib/cjs/components/panel/editForm/Panel.edit.display.d.ts +0 -196
  346. package/lib/cjs/components/panel/fixtures/comp1.d.ts +0 -46
  347. package/lib/cjs/components/panel/fixtures/comp2.d.ts +0 -80
  348. package/lib/cjs/components/panel/fixtures/index.d.ts +0 -3
  349. package/lib/cjs/components/password/Password.d.ts +0 -3
  350. package/lib/cjs/components/password/Password.form.d.ts +0 -3
  351. package/lib/cjs/components/password/editForm/Password.edit.data.d.ts +0 -18
  352. package/lib/cjs/components/password/editForm/Password.edit.display.d.ts +0 -5
  353. package/lib/cjs/components/password/editForm/Password.edit.validation.d.ts +0 -5
  354. package/lib/cjs/components/password/fixtures/comp1.d.ts +0 -22
  355. package/lib/cjs/components/password/fixtures/comp2.d.ts +0 -27
  356. package/lib/cjs/components/password/fixtures/index.d.ts +0 -3
  357. package/lib/cjs/components/password/fixtures/values.d.ts +0 -2
  358. package/lib/cjs/components/phonenumber/PhoneNumber.d.ts +0 -3
  359. package/lib/cjs/components/phonenumber/PhoneNumber.form.d.ts +0 -3
  360. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.d.ts +0 -5
  361. package/lib/cjs/components/phonenumber/fixtures/comp1.d.ts +0 -27
  362. package/lib/cjs/components/phonenumber/fixtures/index.d.ts +0 -2
  363. package/lib/cjs/components/phonenumber/fixtures/values.d.ts +0 -2
  364. package/lib/cjs/components/radio/Radio.d.ts +0 -65
  365. package/lib/cjs/components/radio/Radio.form.d.ts +0 -3
  366. package/lib/cjs/components/radio/editForm/Radio.edit.data.d.ts +0 -134
  367. package/lib/cjs/components/radio/editForm/Radio.edit.display.d.ts +0 -40
  368. package/lib/cjs/components/radio/editForm/Radio.edit.validation.d.ts +0 -18
  369. package/lib/cjs/components/radio/fixtures/comp1.d.ts +0 -28
  370. package/lib/cjs/components/radio/fixtures/comp2.d.ts +0 -85
  371. package/lib/cjs/components/radio/fixtures/comp3.d.ts +0 -85
  372. package/lib/cjs/components/radio/fixtures/comp4.d.ts +0 -19
  373. package/lib/cjs/components/radio/fixtures/comp5.d.ts +0 -39
  374. package/lib/cjs/components/radio/fixtures/comp6.d.ts +0 -38
  375. package/lib/cjs/components/radio/fixtures/comp7.d.ts +0 -23
  376. package/lib/cjs/components/radio/fixtures/comp8.d.ts +0 -118
  377. package/lib/cjs/components/radio/fixtures/comp9.d.ts +0 -35
  378. package/lib/cjs/components/radio/fixtures/index.d.ts +0 -10
  379. package/lib/cjs/components/radio/fixtures/values.d.ts +0 -2
  380. package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +0 -23
  381. package/lib/cjs/components/recaptcha/ReCaptcha.form.d.ts +0 -3
  382. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +0 -44
  383. package/lib/cjs/components/recaptcha/fixtures/comp1.d.ts +0 -8
  384. package/lib/cjs/components/recaptcha/fixtures/index.d.ts +0 -2
  385. package/lib/cjs/components/resource/Resource.d.ts +0 -10
  386. package/lib/cjs/components/resource/Resource.form.d.ts +0 -3
  387. package/lib/cjs/components/resource/editForm/Resource.edit.display.d.ts +0 -173
  388. package/lib/cjs/components/resource/fixtures/comp1.d.ts +0 -30
  389. package/lib/cjs/components/resource/fixtures/comp2.d.ts +0 -35
  390. package/lib/cjs/components/resource/fixtures/index.d.ts +0 -3
  391. package/lib/cjs/components/select/Select.d.ts +0 -145
  392. package/lib/cjs/components/select/Select.form.d.ts +0 -3
  393. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +0 -1039
  394. package/lib/cjs/components/select/editForm/Select.edit.display.d.ts +0 -27
  395. package/lib/cjs/components/select/editForm/Select.edit.validation.d.ts +0 -30
  396. package/lib/cjs/components/select/fixtures/comp1.d.ts +0 -40
  397. package/lib/cjs/components/select/fixtures/comp10.d.ts +0 -41
  398. package/lib/cjs/components/select/fixtures/comp11.d.ts +0 -28
  399. package/lib/cjs/components/select/fixtures/comp12.d.ts +0 -53
  400. package/lib/cjs/components/select/fixtures/comp13.d.ts +0 -28
  401. package/lib/cjs/components/select/fixtures/comp14.d.ts +0 -40
  402. package/lib/cjs/components/select/fixtures/comp15.d.ts +0 -50
  403. package/lib/cjs/components/select/fixtures/comp16.d.ts +0 -34
  404. package/lib/cjs/components/select/fixtures/comp17.d.ts +0 -51
  405. package/lib/cjs/components/select/fixtures/comp18.d.ts +0 -49
  406. package/lib/cjs/components/select/fixtures/comp19.d.ts +0 -23
  407. package/lib/cjs/components/select/fixtures/comp2.d.ts +0 -41
  408. package/lib/cjs/components/select/fixtures/comp3.d.ts +0 -35
  409. package/lib/cjs/components/select/fixtures/comp4.d.ts +0 -103
  410. package/lib/cjs/components/select/fixtures/comp5.d.ts +0 -21
  411. package/lib/cjs/components/select/fixtures/comp6.d.ts +0 -20
  412. package/lib/cjs/components/select/fixtures/comp7.d.ts +0 -63
  413. package/lib/cjs/components/select/fixtures/comp8.d.ts +0 -72
  414. package/lib/cjs/components/select/fixtures/comp9.d.ts +0 -88
  415. package/lib/cjs/components/select/fixtures/index.d.ts +0 -20
  416. package/lib/cjs/components/select/fixtures/values.d.ts +0 -2
  417. package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +0 -51
  418. package/lib/cjs/components/selectboxes/SelectBoxes.form.d.ts +0 -3
  419. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.d.ts +0 -9
  420. package/lib/cjs/components/selectboxes/fixtures/comp1.d.ts +0 -24
  421. package/lib/cjs/components/selectboxes/fixtures/comp2.d.ts +0 -24
  422. package/lib/cjs/components/selectboxes/fixtures/comp3.d.ts +0 -23
  423. package/lib/cjs/components/selectboxes/fixtures/comp4.d.ts +0 -66
  424. package/lib/cjs/components/selectboxes/fixtures/comp5.d.ts +0 -37
  425. package/lib/cjs/components/selectboxes/fixtures/comp6.d.ts +0 -14
  426. package/lib/cjs/components/selectboxes/fixtures/comp7.d.ts +0 -18
  427. package/lib/cjs/components/selectboxes/fixtures/index.d.ts +0 -8
  428. package/lib/cjs/components/selectboxes/fixtures/values.d.ts +0 -6
  429. package/lib/cjs/components/signature/Signature.d.ts +0 -46
  430. package/lib/cjs/components/signature/Signature.form.d.ts +0 -3
  431. package/lib/cjs/components/signature/editForm/Signature.edit.data.d.ts +0 -5
  432. package/lib/cjs/components/signature/editForm/Signature.edit.display.d.ts +0 -51
  433. package/lib/cjs/components/signature/editForm/Signature.edit.validation.d.ts +0 -5
  434. package/lib/cjs/components/signature/fixtures/comp1.d.ts +0 -30
  435. package/lib/cjs/components/signature/fixtures/index.d.ts +0 -2
  436. package/lib/cjs/components/signature/fixtures/values.d.ts +0 -2
  437. package/lib/cjs/components/survey/Survey.d.ts +0 -37
  438. package/lib/cjs/components/survey/Survey.form.d.ts +0 -3
  439. package/lib/cjs/components/survey/editForm/Survey.edit.data.d.ts +0 -44
  440. package/lib/cjs/components/survey/editForm/Survey.edit.display.d.ts +0 -5
  441. package/lib/cjs/components/survey/editForm/Survey.edit.validation.d.ts +0 -5
  442. package/lib/cjs/components/survey/fixtures/comp1.d.ts +0 -31
  443. package/lib/cjs/components/survey/fixtures/comp2.d.ts +0 -31
  444. package/lib/cjs/components/survey/fixtures/index.d.ts +0 -3
  445. package/lib/cjs/components/survey/fixtures/values.d.ts +0 -5
  446. package/lib/cjs/components/table/Table.d.ts +0 -23
  447. package/lib/cjs/components/table/Table.form.d.ts +0 -3
  448. package/lib/cjs/components/table/editForm/Table.edit.display.d.ts +0 -84
  449. package/lib/cjs/components/table/fixtures/comp1.d.ts +0 -53
  450. package/lib/cjs/components/table/fixtures/index.d.ts +0 -2
  451. package/lib/cjs/components/tabs/Tabs.d.ts +0 -30
  452. package/lib/cjs/components/tabs/Tabs.form.d.ts +0 -3
  453. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.d.ts +0 -77
  454. package/lib/cjs/components/tabs/fixtures/comp1.d.ts +0 -23
  455. package/lib/cjs/components/tabs/fixtures/index.d.ts +0 -2
  456. package/lib/cjs/components/tags/Tags.d.ts +0 -41
  457. package/lib/cjs/components/tags/Tags.form.d.ts +0 -3
  458. package/lib/cjs/components/tags/editForm/Tags.edit.data.d.ts +0 -51
  459. package/lib/cjs/components/tags/fixtures/comp1.d.ts +0 -20
  460. package/lib/cjs/components/tags/fixtures/comp2.d.ts +0 -10
  461. package/lib/cjs/components/tags/fixtures/comp3.d.ts +0 -23
  462. package/lib/cjs/components/tags/fixtures/comp4.d.ts +0 -9
  463. package/lib/cjs/components/tags/fixtures/comp5.d.ts +0 -24
  464. package/lib/cjs/components/tags/fixtures/comp6.d.ts +0 -17
  465. package/lib/cjs/components/tags/fixtures/index.d.ts +0 -7
  466. package/lib/cjs/components/tags/fixtures/values.d.ts +0 -2
  467. package/lib/cjs/components/textarea/TextArea.d.ts +0 -37
  468. package/lib/cjs/components/textarea/TextArea.form.d.ts +0 -3
  469. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.d.ts +0 -355
  470. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.d.ts +0 -10
  471. package/lib/cjs/components/textarea/fixtures/comp1.d.ts +0 -31
  472. package/lib/cjs/components/textarea/fixtures/comp2.d.ts +0 -29
  473. package/lib/cjs/components/textarea/fixtures/comp3.d.ts +0 -27
  474. package/lib/cjs/components/textarea/fixtures/comp4.d.ts +0 -30
  475. package/lib/cjs/components/textarea/fixtures/index.d.ts +0 -5
  476. package/lib/cjs/components/textarea/fixtures/values.d.ts +0 -2
  477. package/lib/cjs/components/textfield/TextField.d.ts +0 -60
  478. package/lib/cjs/components/textfield/TextField.form.d.ts +0 -3
  479. package/lib/cjs/components/textfield/editForm/TextField.edit.data.d.ts +0 -46
  480. package/lib/cjs/components/textfield/editForm/TextField.edit.display.d.ts +0 -248
  481. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.d.ts +0 -10
  482. package/lib/cjs/components/textfield/fixtures/comp-with-display-and-value-masks.d.ts +0 -47
  483. package/lib/cjs/components/textfield/fixtures/comp1.d.ts +0 -33
  484. package/lib/cjs/components/textfield/fixtures/comp2.d.ts +0 -33
  485. package/lib/cjs/components/textfield/fixtures/comp3.d.ts +0 -33
  486. package/lib/cjs/components/textfield/fixtures/comp4.d.ts +0 -23
  487. package/lib/cjs/components/textfield/fixtures/comp5.d.ts +0 -12
  488. package/lib/cjs/components/textfield/fixtures/comp6.d.ts +0 -25
  489. package/lib/cjs/components/textfield/fixtures/comp7.d.ts +0 -37
  490. package/lib/cjs/components/textfield/fixtures/index.d.ts +0 -9
  491. package/lib/cjs/components/textfield/fixtures/values.d.ts +0 -2
  492. package/lib/cjs/components/time/Time.d.ts +0 -27
  493. package/lib/cjs/components/time/Time.form.d.ts +0 -3
  494. package/lib/cjs/components/time/editForm/Time.edit.data.d.ts +0 -10
  495. package/lib/cjs/components/time/editForm/Time.edit.display.d.ts +0 -52
  496. package/lib/cjs/components/time/fixtures/comp1.d.ts +0 -24
  497. package/lib/cjs/components/time/fixtures/comp2.d.ts +0 -10
  498. package/lib/cjs/components/time/fixtures/comp3.d.ts +0 -15
  499. package/lib/cjs/components/time/fixtures/index.d.ts +0 -6
  500. package/lib/cjs/components/time/fixtures/timeForm.d.ts +0 -47
  501. package/lib/cjs/components/time/fixtures/timeForm2.d.ts +0 -38
  502. package/lib/cjs/components/time/fixtures/values.d.ts +0 -2
  503. package/lib/cjs/components/unknown/Unknown.d.ts +0 -28
  504. package/lib/cjs/components/unknown/Unknown.form.d.ts +0 -34
  505. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.d.ts +0 -24
  506. package/lib/cjs/components/unknown/fixtures/comp1.d.ts +0 -7
  507. package/lib/cjs/components/unknown/fixtures/index.d.ts +0 -2
  508. package/lib/cjs/components/url/Url.d.ts +0 -3
  509. package/lib/cjs/components/url/Url.form.d.ts +0 -3
  510. package/lib/cjs/components/url/editForm/Url.edit.data.d.ts +0 -5
  511. package/lib/cjs/components/url/editForm/Url.edit.display.d.ts +0 -5
  512. package/lib/cjs/components/url/editForm/Url.edit.validation.d.ts +0 -5
  513. package/lib/cjs/components/url/fixtures/comp1.d.ts +0 -26
  514. package/lib/cjs/components/url/fixtures/comp2.d.ts +0 -26
  515. package/lib/cjs/components/url/fixtures/index.d.ts +0 -3
  516. package/lib/cjs/components/url/fixtures/values.d.ts +0 -2
  517. package/lib/cjs/components/well/Well.d.ts +0 -15
  518. package/lib/cjs/components/well/Well.form.d.ts +0 -3
  519. package/lib/cjs/components/well/editForm/Well.edit.display.d.ts +0 -28
  520. package/lib/cjs/components/well/fixtures/comp1.d.ts +0 -43
  521. package/lib/cjs/components/well/fixtures/index.d.ts +0 -2
  522. package/lib/cjs/displays/Displays.d.ts +0 -18
  523. package/lib/cjs/displays/index.d.ts +0 -2
  524. package/lib/cjs/formio.embed.d.ts +0 -2
  525. package/lib/cjs/formio.form.d.ts +0 -17
  526. package/lib/cjs/i18n.d.ts +0 -13
  527. package/lib/cjs/index.d.ts +0 -5
  528. package/lib/cjs/licenses/Licenses.d.ts +0 -7
  529. package/lib/cjs/licenses/index.d.ts +0 -2
  530. package/lib/cjs/pdf.image.d.ts +0 -2
  531. package/lib/cjs/providers/Providers.d.ts +0 -80
  532. package/lib/cjs/providers/address/AddressProvider.d.ts +0 -17
  533. package/lib/cjs/providers/address/AzureAddressProvider.d.ts +0 -12
  534. package/lib/cjs/providers/address/CustomAddressProvider.d.ts +0 -7
  535. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +0 -18
  536. package/lib/cjs/providers/address/NominatimAddressProvider.d.ts +0 -11
  537. package/lib/cjs/providers/address/index.d.ts +0 -6
  538. package/lib/cjs/providers/auth/index.d.ts +0 -2
  539. package/lib/cjs/providers/index.d.ts +0 -2
  540. package/lib/cjs/providers/processor/fileProcessor.d.ts +0 -2
  541. package/lib/cjs/providers/storage/azure.d.ts +0 -15
  542. package/lib/cjs/providers/storage/base64.d.ts +0 -10
  543. package/lib/cjs/providers/storage/dropbox.d.ts +0 -8
  544. package/lib/cjs/providers/storage/googleDrive.d.ts +0 -8
  545. package/lib/cjs/providers/storage/index.d.ts +0 -15
  546. package/lib/cjs/providers/storage/indexeddb.d.ts +0 -11
  547. package/lib/cjs/providers/storage/s3.d.ts +0 -17
  548. package/lib/cjs/providers/storage/uploadAdapter.d.ts +0 -1
  549. package/lib/cjs/providers/storage/url.d.ts +0 -11
  550. package/lib/cjs/providers/storage/xhr.d.ts +0 -7
  551. package/lib/cjs/templates/Templates.d.ts +0 -1
  552. package/lib/cjs/templates/index.d.ts +0 -229
  553. package/lib/cjs/translations/en.d.ts +0 -71
  554. package/lib/cjs/utils/ChoicesWrapper.d.ts +0 -38
  555. package/lib/cjs/utils/Evaluator.d.ts +0 -4
  556. package/lib/cjs/utils/builder.d.ts +0 -22
  557. package/lib/cjs/utils/calendarUtils.d.ts +0 -41
  558. package/lib/cjs/utils/conditionOperators/ConditionOperator.d.ts +0 -7
  559. package/lib/cjs/utils/conditionOperators/DateGreaterThan.d.ts +0 -13
  560. package/lib/cjs/utils/conditionOperators/DateGreaterThanOrEqual.d.ts +0 -4
  561. package/lib/cjs/utils/conditionOperators/DateLessThan.d.ts +0 -4
  562. package/lib/cjs/utils/conditionOperators/DateLessThanOrEqual.d.ts +0 -4
  563. package/lib/cjs/utils/conditionOperators/EndsWith.d.ts +0 -7
  564. package/lib/cjs/utils/conditionOperators/GreaterThan.d.ts +0 -7
  565. package/lib/cjs/utils/conditionOperators/GreaterThanOrEqual.d.ts +0 -7
  566. package/lib/cjs/utils/conditionOperators/Includes.d.ts +0 -7
  567. package/lib/cjs/utils/conditionOperators/IsDateEqual.d.ts +0 -4
  568. package/lib/cjs/utils/conditionOperators/IsEmptyValue.d.ts +0 -9
  569. package/lib/cjs/utils/conditionOperators/IsEqualTo.d.ts +0 -7
  570. package/lib/cjs/utils/conditionOperators/IsNotDateEqual.d.ts +0 -4
  571. package/lib/cjs/utils/conditionOperators/IsNotEmptyValue.d.ts +0 -4
  572. package/lib/cjs/utils/conditionOperators/IsNotEqualTo.d.ts +0 -7
  573. package/lib/cjs/utils/conditionOperators/LessThan.d.ts +0 -7
  574. package/lib/cjs/utils/conditionOperators/LessThanOrEqual.d.ts +0 -7
  575. package/lib/cjs/utils/conditionOperators/NotIncludes.d.ts +0 -4
  576. package/lib/cjs/utils/conditionOperators/StartsWith.d.ts +0 -7
  577. package/lib/cjs/utils/conditionOperators/index.d.ts +0 -7
  578. package/lib/cjs/utils/formUtils.d.ts +0 -173
  579. package/lib/cjs/utils/i18n.d.ts +0 -16
  580. package/lib/cjs/utils/index.d.ts +0 -3
  581. package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
  582. package/lib/cjs/utils/utils.d.ts +0 -375
  583. package/lib/cjs/widgets/CalendarWidget.d.ts +0 -97
  584. package/lib/cjs/widgets/InputWidget.d.ts +0 -24
  585. package/lib/cjs/widgets/index.d.ts +0 -7
  586. package/lib/mjs/CDN.d.ts +0 -29
  587. package/lib/mjs/Element.d.ts +0 -255
  588. package/lib/mjs/Embed.d.ts +0 -52
  589. package/lib/mjs/EventEmitter.d.ts +0 -7
  590. package/lib/mjs/Form.d.ts +0 -93
  591. package/lib/mjs/FormBuilder.d.ts +0 -6
  592. package/lib/mjs/Formio.d.ts +0 -1
  593. package/lib/mjs/PDF.d.ts +0 -40
  594. package/lib/mjs/PDFBuilder.d.ts +0 -55
  595. package/lib/mjs/Webform.d.ts +0 -402
  596. package/lib/mjs/WebformBuilder.d.ts +0 -126
  597. package/lib/mjs/Wizard.d.ts +0 -97
  598. package/lib/mjs/WizardBuilder.d.ts +0 -49
  599. package/lib/mjs/addons/FormioAddon.d.ts +0 -19
  600. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +0 -716
  601. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.d.ts +0 -590
  602. package/lib/mjs/addons/index.d.ts +0 -626
  603. package/lib/mjs/builders/Builders.d.ts +0 -18
  604. package/lib/mjs/builders/index.d.ts +0 -2
  605. package/lib/mjs/components/Components.d.ts +0 -265
  606. package/lib/mjs/components/_classes/component/Component.d.ts +0 -828
  607. package/lib/mjs/components/_classes/component/Component.form.d.ts +0 -3
  608. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.d.ts +0 -653
  609. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.d.ts +0 -42
  610. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.d.ts +0 -113
  611. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -219
  612. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.d.ts +0 -160
  613. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.d.ts +0 -44
  614. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.d.ts +0 -368
  615. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.d.ts +0 -140
  616. package/lib/mjs/components/_classes/component/editForm/utils.d.ts +0 -83
  617. package/lib/mjs/components/_classes/component/fixtures/comp1.d.ts +0 -33
  618. package/lib/mjs/components/_classes/component/fixtures/comp2.d.ts +0 -33
  619. package/lib/mjs/components/_classes/component/fixtures/comp3.d.ts +0 -14
  620. package/lib/mjs/components/_classes/component/fixtures/comp4.d.ts +0 -17
  621. package/lib/mjs/components/_classes/component/fixtures/index.d.ts +0 -5
  622. package/lib/mjs/components/_classes/componentModal/ComponentModal.d.ts +0 -46
  623. package/lib/mjs/components/_classes/field/Field.d.ts +0 -5
  624. package/lib/mjs/components/_classes/input/Input.d.ts +0 -42
  625. package/lib/mjs/components/_classes/list/ListComponent.d.ts +0 -18
  626. package/lib/mjs/components/_classes/list/ListComponent.form.d.ts +0 -3
  627. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.d.ts +0 -183
  628. package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +0 -29
  629. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +0 -150
  630. package/lib/mjs/components/_classes/nested/NestedComponent.form.d.ts +0 -3
  631. package/lib/mjs/components/_classes/nested/fixtures/comp1.d.ts +0 -8
  632. package/lib/mjs/components/_classes/nested/fixtures/comp2.d.ts +0 -236
  633. package/lib/mjs/components/_classes/nested/fixtures/comp3.d.ts +0 -26
  634. package/lib/mjs/components/_classes/nested/fixtures/index.d.ts +0 -3
  635. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -16
  636. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +0 -12
  637. package/lib/mjs/components/address/Address.d.ts +0 -66
  638. package/lib/mjs/components/address/Address.form.d.ts +0 -3
  639. package/lib/mjs/components/address/editForm/Address.edit.data.d.ts +0 -31
  640. package/lib/mjs/components/address/editForm/Address.edit.display.d.ts +0 -49
  641. package/lib/mjs/components/address/editForm/Address.edit.provider.d.ts +0 -164
  642. package/lib/mjs/components/address/fixtures/comp1.d.ts +0 -34
  643. package/lib/mjs/components/address/fixtures/comp2.d.ts +0 -62
  644. package/lib/mjs/components/address/fixtures/comp3.d.ts +0 -44
  645. package/lib/mjs/components/address/fixtures/comp4.d.ts +0 -56
  646. package/lib/mjs/components/address/fixtures/index.d.ts +0 -5
  647. package/lib/mjs/components/address/fixtures/values.d.ts +0 -22
  648. package/lib/mjs/components/alert/Alert.d.ts +0 -30
  649. package/lib/mjs/components/builder.d.ts +0 -2
  650. package/lib/mjs/components/button/Button.d.ts +0 -45
  651. package/lib/mjs/components/button/Button.form.d.ts +0 -3
  652. package/lib/mjs/components/button/editForm/Button.edit.display.d.ts +0 -360
  653. package/lib/mjs/components/button/fixtures/comp1.d.ts +0 -15
  654. package/lib/mjs/components/button/fixtures/comp2.d.ts +0 -25
  655. package/lib/mjs/components/button/fixtures/comp3.d.ts +0 -113
  656. package/lib/mjs/components/button/fixtures/index.d.ts +0 -4
  657. package/lib/mjs/components/button/fixtures/values.d.ts +0 -2
  658. package/lib/mjs/components/checkbox/Checkbox.d.ts +0 -77
  659. package/lib/mjs/components/checkbox/Checkbox.form.d.ts +0 -3
  660. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.d.ts +0 -5
  661. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.d.ts +0 -75
  662. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.d.ts +0 -5
  663. package/lib/mjs/components/checkbox/fixtures/comp1.d.ts +0 -24
  664. package/lib/mjs/components/checkbox/fixtures/comp2.d.ts +0 -12
  665. package/lib/mjs/components/checkbox/fixtures/comp3.d.ts +0 -15
  666. package/lib/mjs/components/checkbox/fixtures/comp4.d.ts +0 -46
  667. package/lib/mjs/components/checkbox/fixtures/customDefaultComponent.d.ts +0 -25
  668. package/lib/mjs/components/checkbox/fixtures/index.d.ts +0 -6
  669. package/lib/mjs/components/checkbox/fixtures/values.d.ts +0 -2
  670. package/lib/mjs/components/columns/Columns.d.ts +0 -28
  671. package/lib/mjs/components/columns/Columns.form.d.ts +0 -3
  672. package/lib/mjs/components/columns/editForm/Columns.edit.display.d.ts +0 -87
  673. package/lib/mjs/components/columns/fixtures/comp1.d.ts +0 -45
  674. package/lib/mjs/components/columns/fixtures/comp2.d.ts +0 -24
  675. package/lib/mjs/components/columns/fixtures/comp3.d.ts +0 -45
  676. package/lib/mjs/components/columns/fixtures/index.d.ts +0 -4
  677. package/lib/mjs/components/container/Container.d.ts +0 -16
  678. package/lib/mjs/components/container/Container.form.d.ts +0 -3
  679. package/lib/mjs/components/container/editForm/Container.edit.data.d.ts +0 -5
  680. package/lib/mjs/components/container/editForm/Container.edit.display.d.ts +0 -5
  681. package/lib/mjs/components/container/fixtures/comp1.d.ts +0 -49
  682. package/lib/mjs/components/container/fixtures/comp2.d.ts +0 -30
  683. package/lib/mjs/components/container/fixtures/comp3.d.ts +0 -77
  684. package/lib/mjs/components/container/fixtures/index.d.ts +0 -4
  685. package/lib/mjs/components/content/Content.d.ts +0 -18
  686. package/lib/mjs/components/content/Content.form.d.ts +0 -3
  687. package/lib/mjs/components/content/editForm/Content.edit.display.d.ts +0 -18
  688. package/lib/mjs/components/content/editForm/Content.edit.logic.d.ts +0 -48
  689. package/lib/mjs/components/content/fixtures/comp1.d.ts +0 -13
  690. package/lib/mjs/components/content/fixtures/index.d.ts +0 -2
  691. package/lib/mjs/components/currency/Currency.d.ts +0 -8
  692. package/lib/mjs/components/currency/Currency.form.d.ts +0 -3
  693. package/lib/mjs/components/currency/editForm/Currency.edit.data.d.ts +0 -29
  694. package/lib/mjs/components/currency/editForm/Currency.edit.display.d.ts +0 -18
  695. package/lib/mjs/components/currency/fixtures/comp1.d.ts +0 -31
  696. package/lib/mjs/components/currency/fixtures/comp2.d.ts +0 -20
  697. package/lib/mjs/components/currency/fixtures/comp3.d.ts +0 -13
  698. package/lib/mjs/components/currency/fixtures/comp4.d.ts +0 -17
  699. package/lib/mjs/components/currency/fixtures/index.d.ts +0 -5
  700. package/lib/mjs/components/currency/fixtures/values.d.ts +0 -2
  701. package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -80
  702. package/lib/mjs/components/datagrid/DataGrid.form.d.ts +0 -3
  703. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.d.ts +0 -5
  704. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.d.ts +0 -283
  705. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.d.ts +0 -20
  706. package/lib/mjs/components/datagrid/fixtures/comp-modal-with-required-fields.d.ts +0 -37
  707. package/lib/mjs/components/datagrid/fixtures/comp-on-blur-validation.d.ts +0 -0
  708. package/lib/mjs/components/datagrid/fixtures/comp-row-groups-with-def-value.d.ts +0 -63
  709. package/lib/mjs/components/datagrid/fixtures/comp-with-collapsible-groups.d.ts +0 -76
  710. package/lib/mjs/components/datagrid/fixtures/comp-with-conditional-components-and-validations.d.ts +0 -197
  711. package/lib/mjs/components/datagrid/fixtures/comp-with-def-value.d.ts +0 -61
  712. package/lib/mjs/components/datagrid/fixtures/comp-with-logic.d.ts +0 -165
  713. package/lib/mjs/components/datagrid/fixtures/comp1.d.ts +0 -93
  714. package/lib/mjs/components/datagrid/fixtures/comp2.d.ts +0 -18
  715. package/lib/mjs/components/datagrid/fixtures/comp3.d.ts +0 -14
  716. package/lib/mjs/components/datagrid/fixtures/comp4.d.ts +0 -27
  717. package/lib/mjs/components/datagrid/fixtures/comp5.d.ts +0 -67
  718. package/lib/mjs/components/datagrid/fixtures/comp6.d.ts +0 -567
  719. package/lib/mjs/components/datagrid/fixtures/comp7.d.ts +0 -28
  720. package/lib/mjs/components/datagrid/fixtures/comp8.d.ts +0 -35
  721. package/lib/mjs/components/datagrid/fixtures/index.d.ts +0 -15
  722. package/lib/mjs/components/datamap/DataMap.d.ts +0 -36
  723. package/lib/mjs/components/datamap/DataMap.form.d.ts +0 -3
  724. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.d.ts +0 -5
  725. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.d.ts +0 -30
  726. package/lib/mjs/components/datamap/fixtures/comp1.d.ts +0 -18
  727. package/lib/mjs/components/datamap/fixtures/formWithConditionalPanel.d.ts +0 -87
  728. package/lib/mjs/components/datamap/fixtures/index.d.ts +0 -3
  729. package/lib/mjs/components/datetime/DateTime.d.ts +0 -39
  730. package/lib/mjs/components/datetime/DateTime.form.d.ts +0 -3
  731. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.d.ts +0 -24
  732. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.d.ts +0 -61
  733. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.d.ts +0 -128
  734. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.d.ts +0 -9
  735. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.d.ts +0 -40
  736. package/lib/mjs/components/datetime/fixtures/comp1.d.ts +0 -45
  737. package/lib/mjs/components/datetime/fixtures/comp10.d.ts +0 -102
  738. package/lib/mjs/components/datetime/fixtures/comp11.d.ts +0 -58
  739. package/lib/mjs/components/datetime/fixtures/comp12.d.ts +0 -57
  740. package/lib/mjs/components/datetime/fixtures/comp2.d.ts +0 -42
  741. package/lib/mjs/components/datetime/fixtures/comp3.d.ts +0 -51
  742. package/lib/mjs/components/datetime/fixtures/comp5.d.ts +0 -57
  743. package/lib/mjs/components/datetime/fixtures/comp6.d.ts +0 -55
  744. package/lib/mjs/components/datetime/fixtures/comp7.d.ts +0 -59
  745. package/lib/mjs/components/datetime/fixtures/comp8.d.ts +0 -59
  746. package/lib/mjs/components/datetime/fixtures/comp9.d.ts +0 -64
  747. package/lib/mjs/components/datetime/fixtures/index.d.ts +0 -12
  748. package/lib/mjs/components/datetime/fixtures/values.d.ts +0 -2
  749. package/lib/mjs/components/day/Day.d.ts +0 -163
  750. package/lib/mjs/components/day/Day.form.d.ts +0 -3
  751. package/lib/mjs/components/day/editForm/Day.edit.data.d.ts +0 -5
  752. package/lib/mjs/components/day/editForm/Day.edit.day.d.ts +0 -40
  753. package/lib/mjs/components/day/editForm/Day.edit.display.d.ts +0 -40
  754. package/lib/mjs/components/day/editForm/Day.edit.month.d.ts +0 -40
  755. package/lib/mjs/components/day/editForm/Day.edit.validation.d.ts +0 -29
  756. package/lib/mjs/components/day/editForm/Day.edit.year.d.ts +0 -40
  757. package/lib/mjs/components/day/fixtures/comp1.d.ts +0 -46
  758. package/lib/mjs/components/day/fixtures/comp2.d.ts +0 -46
  759. package/lib/mjs/components/day/fixtures/comp3.d.ts +0 -48
  760. package/lib/mjs/components/day/fixtures/comp4.d.ts +0 -53
  761. package/lib/mjs/components/day/fixtures/comp5.d.ts +0 -29
  762. package/lib/mjs/components/day/fixtures/comp6.d.ts +0 -81
  763. package/lib/mjs/components/day/fixtures/index.d.ts +0 -7
  764. package/lib/mjs/components/day/fixtures/values.d.ts +0 -2
  765. package/lib/mjs/components/editgrid/EditGrid.d.ts +0 -103
  766. package/lib/mjs/components/editgrid/EditGrid.form.d.ts +0 -3
  767. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.d.ts +0 -18
  768. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.d.ts +0 -82
  769. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.d.ts +0 -58
  770. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.d.ts +0 -29
  771. package/lib/mjs/components/editgrid/fixtures/comp-openWhenEmpty.d.ts +0 -34
  772. package/lib/mjs/components/editgrid/fixtures/comp-with-basic-components.d.ts +0 -327
  773. package/lib/mjs/components/editgrid/fixtures/comp-with-conditions-and-openWhenEmpty.d.ts +0 -77
  774. package/lib/mjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +0 -190
  775. package/lib/mjs/components/editgrid/fixtures/comp1.d.ts +0 -89
  776. package/lib/mjs/components/editgrid/fixtures/comp10.d.ts +0 -49
  777. package/lib/mjs/components/editgrid/fixtures/comp11.d.ts +0 -53
  778. package/lib/mjs/components/editgrid/fixtures/comp12.d.ts +0 -57
  779. package/lib/mjs/components/editgrid/fixtures/comp13.d.ts +0 -64
  780. package/lib/mjs/components/editgrid/fixtures/comp14.d.ts +0 -88
  781. package/lib/mjs/components/editgrid/fixtures/comp15.d.ts +0 -54
  782. package/lib/mjs/components/editgrid/fixtures/comp2.d.ts +0 -112
  783. package/lib/mjs/components/editgrid/fixtures/comp3.d.ts +0 -27
  784. package/lib/mjs/components/editgrid/fixtures/comp4.d.ts +0 -23
  785. package/lib/mjs/components/editgrid/fixtures/comp5.d.ts +0 -19
  786. package/lib/mjs/components/editgrid/fixtures/comp6.d.ts +0 -50
  787. package/lib/mjs/components/editgrid/fixtures/comp7.d.ts +0 -129
  788. package/lib/mjs/components/editgrid/fixtures/comp8.d.ts +0 -148
  789. package/lib/mjs/components/editgrid/fixtures/comp9.d.ts +0 -86
  790. package/lib/mjs/components/editgrid/fixtures/index.d.ts +0 -19
  791. package/lib/mjs/components/email/Email.d.ts +0 -4
  792. package/lib/mjs/components/email/Email.form.d.ts +0 -3
  793. package/lib/mjs/components/email/editForm/Email.edit.display.d.ts +0 -5
  794. package/lib/mjs/components/email/editForm/Email.edit.validation.d.ts +0 -24
  795. package/lib/mjs/components/email/fixtures/comp1.d.ts +0 -26
  796. package/lib/mjs/components/email/fixtures/comp2.d.ts +0 -23
  797. package/lib/mjs/components/email/fixtures/index.d.ts +0 -3
  798. package/lib/mjs/components/email/fixtures/values.d.ts +0 -2
  799. package/lib/mjs/components/fieldset/Fieldset.d.ts +0 -15
  800. package/lib/mjs/components/fieldset/Fieldset.form.d.ts +0 -3
  801. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.d.ts +0 -33
  802. package/lib/mjs/components/fieldset/fixtures/comp1.d.ts +0 -46
  803. package/lib/mjs/components/fieldset/fixtures/index.d.ts +0 -2
  804. package/lib/mjs/components/file/File.d.ts +0 -81
  805. package/lib/mjs/components/file/File.form.d.ts +0 -3
  806. package/lib/mjs/components/file/editForm/File.edit.data.d.ts +0 -5
  807. package/lib/mjs/components/file/editForm/File.edit.display.d.ts +0 -5
  808. package/lib/mjs/components/file/editForm/File.edit.file.d.ts +0 -275
  809. package/lib/mjs/components/file/editForm/File.edit.validation.d.ts +0 -5
  810. package/lib/mjs/components/file/fixtures/comp1.d.ts +0 -15
  811. package/lib/mjs/components/file/fixtures/comp2.d.ts +0 -35
  812. package/lib/mjs/components/file/fixtures/comp3.d.ts +0 -29
  813. package/lib/mjs/components/file/fixtures/index.d.ts +0 -3
  814. package/lib/mjs/components/file/fixtures/values.d.ts +0 -10
  815. package/lib/mjs/components/form/Form.d.ts +0 -94
  816. package/lib/mjs/components/form/Form.form.d.ts +0 -3
  817. package/lib/mjs/components/form/editForm/Form.edit.data.d.ts +0 -82
  818. package/lib/mjs/components/form/editForm/Form.edit.display.d.ts +0 -5
  819. package/lib/mjs/components/form/editForm/Form.edit.form.d.ts +0 -89
  820. package/lib/mjs/components/form/fixtures/comp1.d.ts +0 -45
  821. package/lib/mjs/components/form/fixtures/comp2.d.ts +0 -14
  822. package/lib/mjs/components/form/fixtures/comp3.d.ts +0 -187
  823. package/lib/mjs/components/form/fixtures/comp4.d.ts +0 -107
  824. package/lib/mjs/components/form/fixtures/comp5.d.ts +0 -42
  825. package/lib/mjs/components/form/fixtures/comp6.d.ts +0 -74
  826. package/lib/mjs/components/form/fixtures/formModalEdit.d.ts +0 -42
  827. package/lib/mjs/components/form/fixtures/index.d.ts +0 -8
  828. package/lib/mjs/components/form/fixtures/values.d.ts +0 -6
  829. package/lib/mjs/components/hidden/Hidden.d.ts +0 -26
  830. package/lib/mjs/components/hidden/Hidden.form.d.ts +0 -3
  831. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.d.ts +0 -5
  832. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.d.ts +0 -5
  833. package/lib/mjs/components/hidden/fixtures/comp1.d.ts +0 -18
  834. package/lib/mjs/components/hidden/fixtures/index.d.ts +0 -2
  835. package/lib/mjs/components/hidden/fixtures/values.d.ts +0 -2
  836. package/lib/mjs/components/html/HTML.d.ts +0 -18
  837. package/lib/mjs/components/html/HTML.form.d.ts +0 -3
  838. package/lib/mjs/components/html/editForm/HTML.edit.display.d.ts +0 -77
  839. package/lib/mjs/components/html/editForm/HTML.edit.logic.d.ts +0 -48
  840. package/lib/mjs/components/html/fixtures/comp1.d.ts +0 -19
  841. package/lib/mjs/components/html/fixtures/comp2.d.ts +0 -21
  842. package/lib/mjs/components/html/fixtures/index.d.ts +0 -3
  843. package/lib/mjs/components/index.d.ts +0 -98
  844. package/lib/mjs/components/number/Number.d.ts +0 -53
  845. package/lib/mjs/components/number/Number.form.d.ts +0 -3
  846. package/lib/mjs/components/number/editForm/Number.edit.data.d.ts +0 -18
  847. package/lib/mjs/components/number/editForm/Number.edit.display.d.ts +0 -5
  848. package/lib/mjs/components/number/editForm/Number.edit.validation.d.ts +0 -20
  849. package/lib/mjs/components/number/fixtures/comp1.d.ts +0 -33
  850. package/lib/mjs/components/number/fixtures/comp2.d.ts +0 -32
  851. package/lib/mjs/components/number/fixtures/comp3.d.ts +0 -14
  852. package/lib/mjs/components/number/fixtures/comp4.d.ts +0 -14
  853. package/lib/mjs/components/number/fixtures/comp5.d.ts +0 -20
  854. package/lib/mjs/components/number/fixtures/comp6.d.ts +0 -40
  855. package/lib/mjs/components/number/fixtures/comp7.d.ts +0 -15
  856. package/lib/mjs/components/number/fixtures/index.d.ts +0 -8
  857. package/lib/mjs/components/number/fixtures/values.d.ts +0 -2
  858. package/lib/mjs/components/panel/Panel.d.ts +0 -14
  859. package/lib/mjs/components/panel/Panel.form.d.ts +0 -3
  860. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.d.ts +0 -75
  861. package/lib/mjs/components/panel/editForm/Panel.edit.display.d.ts +0 -196
  862. package/lib/mjs/components/panel/fixtures/comp1.d.ts +0 -46
  863. package/lib/mjs/components/panel/fixtures/comp2.d.ts +0 -80
  864. package/lib/mjs/components/panel/fixtures/index.d.ts +0 -3
  865. package/lib/mjs/components/password/Password.d.ts +0 -3
  866. package/lib/mjs/components/password/Password.form.d.ts +0 -3
  867. package/lib/mjs/components/password/editForm/Password.edit.data.d.ts +0 -18
  868. package/lib/mjs/components/password/editForm/Password.edit.display.d.ts +0 -5
  869. package/lib/mjs/components/password/editForm/Password.edit.validation.d.ts +0 -5
  870. package/lib/mjs/components/password/fixtures/comp1.d.ts +0 -22
  871. package/lib/mjs/components/password/fixtures/comp2.d.ts +0 -27
  872. package/lib/mjs/components/password/fixtures/index.d.ts +0 -3
  873. package/lib/mjs/components/password/fixtures/values.d.ts +0 -2
  874. package/lib/mjs/components/phonenumber/PhoneNumber.d.ts +0 -3
  875. package/lib/mjs/components/phonenumber/PhoneNumber.form.d.ts +0 -3
  876. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.d.ts +0 -5
  877. package/lib/mjs/components/phonenumber/fixtures/comp1.d.ts +0 -27
  878. package/lib/mjs/components/phonenumber/fixtures/index.d.ts +0 -2
  879. package/lib/mjs/components/phonenumber/fixtures/values.d.ts +0 -2
  880. package/lib/mjs/components/radio/Radio.d.ts +0 -65
  881. package/lib/mjs/components/radio/Radio.form.d.ts +0 -3
  882. package/lib/mjs/components/radio/editForm/Radio.edit.data.d.ts +0 -134
  883. package/lib/mjs/components/radio/editForm/Radio.edit.display.d.ts +0 -40
  884. package/lib/mjs/components/radio/editForm/Radio.edit.validation.d.ts +0 -18
  885. package/lib/mjs/components/radio/fixtures/comp1.d.ts +0 -28
  886. package/lib/mjs/components/radio/fixtures/comp2.d.ts +0 -85
  887. package/lib/mjs/components/radio/fixtures/comp3.d.ts +0 -85
  888. package/lib/mjs/components/radio/fixtures/comp4.d.ts +0 -19
  889. package/lib/mjs/components/radio/fixtures/comp5.d.ts +0 -39
  890. package/lib/mjs/components/radio/fixtures/comp6.d.ts +0 -38
  891. package/lib/mjs/components/radio/fixtures/comp7.d.ts +0 -23
  892. package/lib/mjs/components/radio/fixtures/comp8.d.ts +0 -118
  893. package/lib/mjs/components/radio/fixtures/comp9.d.ts +0 -35
  894. package/lib/mjs/components/radio/fixtures/index.d.ts +0 -10
  895. package/lib/mjs/components/radio/fixtures/values.d.ts +0 -2
  896. package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +0 -23
  897. package/lib/mjs/components/recaptcha/ReCaptcha.form.d.ts +0 -3
  898. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.d.ts +0 -44
  899. package/lib/mjs/components/recaptcha/fixtures/comp1.d.ts +0 -8
  900. package/lib/mjs/components/recaptcha/fixtures/index.d.ts +0 -2
  901. package/lib/mjs/components/resource/Resource.d.ts +0 -10
  902. package/lib/mjs/components/resource/Resource.form.d.ts +0 -3
  903. package/lib/mjs/components/resource/editForm/Resource.edit.display.d.ts +0 -173
  904. package/lib/mjs/components/resource/fixtures/comp1.d.ts +0 -30
  905. package/lib/mjs/components/resource/fixtures/comp2.d.ts +0 -35
  906. package/lib/mjs/components/resource/fixtures/index.d.ts +0 -3
  907. package/lib/mjs/components/select/Select.d.ts +0 -145
  908. package/lib/mjs/components/select/Select.form.d.ts +0 -3
  909. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +0 -1039
  910. package/lib/mjs/components/select/editForm/Select.edit.display.d.ts +0 -27
  911. package/lib/mjs/components/select/editForm/Select.edit.validation.d.ts +0 -30
  912. package/lib/mjs/components/select/fixtures/comp1.d.ts +0 -40
  913. package/lib/mjs/components/select/fixtures/comp10.d.ts +0 -41
  914. package/lib/mjs/components/select/fixtures/comp11.d.ts +0 -28
  915. package/lib/mjs/components/select/fixtures/comp12.d.ts +0 -53
  916. package/lib/mjs/components/select/fixtures/comp13.d.ts +0 -28
  917. package/lib/mjs/components/select/fixtures/comp14.d.ts +0 -40
  918. package/lib/mjs/components/select/fixtures/comp15.d.ts +0 -50
  919. package/lib/mjs/components/select/fixtures/comp16.d.ts +0 -34
  920. package/lib/mjs/components/select/fixtures/comp17.d.ts +0 -51
  921. package/lib/mjs/components/select/fixtures/comp18.d.ts +0 -49
  922. package/lib/mjs/components/select/fixtures/comp19.d.ts +0 -23
  923. package/lib/mjs/components/select/fixtures/comp2.d.ts +0 -41
  924. package/lib/mjs/components/select/fixtures/comp3.d.ts +0 -35
  925. package/lib/mjs/components/select/fixtures/comp4.d.ts +0 -103
  926. package/lib/mjs/components/select/fixtures/comp5.d.ts +0 -21
  927. package/lib/mjs/components/select/fixtures/comp6.d.ts +0 -20
  928. package/lib/mjs/components/select/fixtures/comp7.d.ts +0 -63
  929. package/lib/mjs/components/select/fixtures/comp8.d.ts +0 -72
  930. package/lib/mjs/components/select/fixtures/comp9.d.ts +0 -88
  931. package/lib/mjs/components/select/fixtures/index.d.ts +0 -20
  932. package/lib/mjs/components/select/fixtures/values.d.ts +0 -2
  933. package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +0 -51
  934. package/lib/mjs/components/selectboxes/SelectBoxes.form.d.ts +0 -3
  935. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.d.ts +0 -9
  936. package/lib/mjs/components/selectboxes/fixtures/comp1.d.ts +0 -24
  937. package/lib/mjs/components/selectboxes/fixtures/comp2.d.ts +0 -24
  938. package/lib/mjs/components/selectboxes/fixtures/comp3.d.ts +0 -23
  939. package/lib/mjs/components/selectboxes/fixtures/comp4.d.ts +0 -66
  940. package/lib/mjs/components/selectboxes/fixtures/comp5.d.ts +0 -37
  941. package/lib/mjs/components/selectboxes/fixtures/comp6.d.ts +0 -14
  942. package/lib/mjs/components/selectboxes/fixtures/comp7.d.ts +0 -18
  943. package/lib/mjs/components/selectboxes/fixtures/index.d.ts +0 -8
  944. package/lib/mjs/components/selectboxes/fixtures/values.d.ts +0 -6
  945. package/lib/mjs/components/signature/Signature.d.ts +0 -46
  946. package/lib/mjs/components/signature/Signature.form.d.ts +0 -3
  947. package/lib/mjs/components/signature/editForm/Signature.edit.data.d.ts +0 -5
  948. package/lib/mjs/components/signature/editForm/Signature.edit.display.d.ts +0 -51
  949. package/lib/mjs/components/signature/editForm/Signature.edit.validation.d.ts +0 -5
  950. package/lib/mjs/components/signature/fixtures/comp1.d.ts +0 -30
  951. package/lib/mjs/components/signature/fixtures/index.d.ts +0 -2
  952. package/lib/mjs/components/signature/fixtures/values.d.ts +0 -2
  953. package/lib/mjs/components/survey/Survey.d.ts +0 -37
  954. package/lib/mjs/components/survey/Survey.form.d.ts +0 -3
  955. package/lib/mjs/components/survey/editForm/Survey.edit.data.d.ts +0 -44
  956. package/lib/mjs/components/survey/editForm/Survey.edit.display.d.ts +0 -5
  957. package/lib/mjs/components/survey/editForm/Survey.edit.validation.d.ts +0 -5
  958. package/lib/mjs/components/survey/fixtures/comp1.d.ts +0 -31
  959. package/lib/mjs/components/survey/fixtures/comp2.d.ts +0 -31
  960. package/lib/mjs/components/survey/fixtures/index.d.ts +0 -3
  961. package/lib/mjs/components/survey/fixtures/values.d.ts +0 -5
  962. package/lib/mjs/components/table/Table.d.ts +0 -23
  963. package/lib/mjs/components/table/Table.form.d.ts +0 -3
  964. package/lib/mjs/components/table/editForm/Table.edit.display.d.ts +0 -84
  965. package/lib/mjs/components/table/fixtures/comp1.d.ts +0 -53
  966. package/lib/mjs/components/table/fixtures/index.d.ts +0 -2
  967. package/lib/mjs/components/tabs/Tabs.d.ts +0 -30
  968. package/lib/mjs/components/tabs/Tabs.form.d.ts +0 -3
  969. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.d.ts +0 -77
  970. package/lib/mjs/components/tabs/fixtures/comp1.d.ts +0 -23
  971. package/lib/mjs/components/tabs/fixtures/index.d.ts +0 -2
  972. package/lib/mjs/components/tags/Tags.d.ts +0 -41
  973. package/lib/mjs/components/tags/Tags.form.d.ts +0 -3
  974. package/lib/mjs/components/tags/editForm/Tags.edit.data.d.ts +0 -51
  975. package/lib/mjs/components/tags/fixtures/comp1.d.ts +0 -20
  976. package/lib/mjs/components/tags/fixtures/comp2.d.ts +0 -10
  977. package/lib/mjs/components/tags/fixtures/comp3.d.ts +0 -23
  978. package/lib/mjs/components/tags/fixtures/comp4.d.ts +0 -9
  979. package/lib/mjs/components/tags/fixtures/comp5.d.ts +0 -24
  980. package/lib/mjs/components/tags/fixtures/comp6.d.ts +0 -17
  981. package/lib/mjs/components/tags/fixtures/index.d.ts +0 -7
  982. package/lib/mjs/components/tags/fixtures/values.d.ts +0 -2
  983. package/lib/mjs/components/textarea/TextArea.d.ts +0 -37
  984. package/lib/mjs/components/textarea/TextArea.form.d.ts +0 -3
  985. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.d.ts +0 -355
  986. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.d.ts +0 -10
  987. package/lib/mjs/components/textarea/fixtures/comp1.d.ts +0 -31
  988. package/lib/mjs/components/textarea/fixtures/comp2.d.ts +0 -29
  989. package/lib/mjs/components/textarea/fixtures/comp3.d.ts +0 -27
  990. package/lib/mjs/components/textarea/fixtures/comp4.d.ts +0 -30
  991. package/lib/mjs/components/textarea/fixtures/index.d.ts +0 -5
  992. package/lib/mjs/components/textarea/fixtures/values.d.ts +0 -2
  993. package/lib/mjs/components/textfield/TextField.d.ts +0 -60
  994. package/lib/mjs/components/textfield/TextField.form.d.ts +0 -3
  995. package/lib/mjs/components/textfield/editForm/TextField.edit.data.d.ts +0 -46
  996. package/lib/mjs/components/textfield/editForm/TextField.edit.display.d.ts +0 -248
  997. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.d.ts +0 -10
  998. package/lib/mjs/components/textfield/fixtures/comp-with-display-and-value-masks.d.ts +0 -47
  999. package/lib/mjs/components/textfield/fixtures/comp1.d.ts +0 -33
  1000. package/lib/mjs/components/textfield/fixtures/comp2.d.ts +0 -33
  1001. package/lib/mjs/components/textfield/fixtures/comp3.d.ts +0 -33
  1002. package/lib/mjs/components/textfield/fixtures/comp4.d.ts +0 -23
  1003. package/lib/mjs/components/textfield/fixtures/comp5.d.ts +0 -12
  1004. package/lib/mjs/components/textfield/fixtures/comp6.d.ts +0 -25
  1005. package/lib/mjs/components/textfield/fixtures/comp7.d.ts +0 -37
  1006. package/lib/mjs/components/textfield/fixtures/index.d.ts +0 -9
  1007. package/lib/mjs/components/textfield/fixtures/values.d.ts +0 -2
  1008. package/lib/mjs/components/time/Time.d.ts +0 -27
  1009. package/lib/mjs/components/time/Time.form.d.ts +0 -3
  1010. package/lib/mjs/components/time/editForm/Time.edit.data.d.ts +0 -10
  1011. package/lib/mjs/components/time/editForm/Time.edit.display.d.ts +0 -52
  1012. package/lib/mjs/components/time/fixtures/comp1.d.ts +0 -24
  1013. package/lib/mjs/components/time/fixtures/comp2.d.ts +0 -10
  1014. package/lib/mjs/components/time/fixtures/comp3.d.ts +0 -15
  1015. package/lib/mjs/components/time/fixtures/index.d.ts +0 -6
  1016. package/lib/mjs/components/time/fixtures/timeForm.d.ts +0 -47
  1017. package/lib/mjs/components/time/fixtures/timeForm2.d.ts +0 -38
  1018. package/lib/mjs/components/time/fixtures/values.d.ts +0 -2
  1019. package/lib/mjs/components/unknown/Unknown.d.ts +0 -28
  1020. package/lib/mjs/components/unknown/Unknown.form.d.ts +0 -34
  1021. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.d.ts +0 -24
  1022. package/lib/mjs/components/unknown/fixtures/comp1.d.ts +0 -7
  1023. package/lib/mjs/components/unknown/fixtures/index.d.ts +0 -2
  1024. package/lib/mjs/components/url/Url.d.ts +0 -3
  1025. package/lib/mjs/components/url/Url.form.d.ts +0 -3
  1026. package/lib/mjs/components/url/editForm/Url.edit.data.d.ts +0 -5
  1027. package/lib/mjs/components/url/editForm/Url.edit.display.d.ts +0 -5
  1028. package/lib/mjs/components/url/editForm/Url.edit.validation.d.ts +0 -5
  1029. package/lib/mjs/components/url/fixtures/comp1.d.ts +0 -26
  1030. package/lib/mjs/components/url/fixtures/comp2.d.ts +0 -26
  1031. package/lib/mjs/components/url/fixtures/index.d.ts +0 -3
  1032. package/lib/mjs/components/url/fixtures/values.d.ts +0 -2
  1033. package/lib/mjs/components/well/Well.d.ts +0 -15
  1034. package/lib/mjs/components/well/Well.form.d.ts +0 -3
  1035. package/lib/mjs/components/well/editForm/Well.edit.display.d.ts +0 -28
  1036. package/lib/mjs/components/well/fixtures/comp1.d.ts +0 -43
  1037. package/lib/mjs/components/well/fixtures/index.d.ts +0 -2
  1038. package/lib/mjs/displays/Displays.d.ts +0 -18
  1039. package/lib/mjs/displays/index.d.ts +0 -2
  1040. package/lib/mjs/formio.embed.d.ts +0 -2
  1041. package/lib/mjs/formio.form.d.ts +0 -17
  1042. package/lib/mjs/i18n.d.ts +0 -13
  1043. package/lib/mjs/index.d.ts +0 -5
  1044. package/lib/mjs/licenses/Licenses.d.ts +0 -7
  1045. package/lib/mjs/licenses/index.d.ts +0 -2
  1046. package/lib/mjs/pdf.image.d.ts +0 -2
  1047. package/lib/mjs/providers/Providers.d.ts +0 -80
  1048. package/lib/mjs/providers/address/AddressProvider.d.ts +0 -17
  1049. package/lib/mjs/providers/address/AzureAddressProvider.d.ts +0 -12
  1050. package/lib/mjs/providers/address/CustomAddressProvider.d.ts +0 -7
  1051. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +0 -18
  1052. package/lib/mjs/providers/address/NominatimAddressProvider.d.ts +0 -11
  1053. package/lib/mjs/providers/address/index.d.ts +0 -6
  1054. package/lib/mjs/providers/auth/index.d.ts +0 -2
  1055. package/lib/mjs/providers/index.d.ts +0 -2
  1056. package/lib/mjs/providers/processor/fileProcessor.d.ts +0 -2
  1057. package/lib/mjs/providers/storage/azure.d.ts +0 -15
  1058. package/lib/mjs/providers/storage/base64.d.ts +0 -10
  1059. package/lib/mjs/providers/storage/dropbox.d.ts +0 -8
  1060. package/lib/mjs/providers/storage/googleDrive.d.ts +0 -8
  1061. package/lib/mjs/providers/storage/index.d.ts +0 -15
  1062. package/lib/mjs/providers/storage/indexeddb.d.ts +0 -11
  1063. package/lib/mjs/providers/storage/s3.d.ts +0 -17
  1064. package/lib/mjs/providers/storage/uploadAdapter.d.ts +0 -1
  1065. package/lib/mjs/providers/storage/url.d.ts +0 -11
  1066. package/lib/mjs/providers/storage/xhr.d.ts +0 -7
  1067. package/lib/mjs/templates/Templates.d.ts +0 -1
  1068. package/lib/mjs/templates/index.d.ts +0 -229
  1069. package/lib/mjs/translations/en.d.ts +0 -71
  1070. package/lib/mjs/utils/ChoicesWrapper.d.ts +0 -38
  1071. package/lib/mjs/utils/Evaluator.d.ts +0 -4
  1072. package/lib/mjs/utils/builder.d.ts +0 -22
  1073. package/lib/mjs/utils/calendarUtils.d.ts +0 -41
  1074. package/lib/mjs/utils/conditionOperators/ConditionOperator.d.ts +0 -7
  1075. package/lib/mjs/utils/conditionOperators/DateGreaterThan.d.ts +0 -13
  1076. package/lib/mjs/utils/conditionOperators/DateGreaterThanOrEqual.d.ts +0 -4
  1077. package/lib/mjs/utils/conditionOperators/DateLessThan.d.ts +0 -4
  1078. package/lib/mjs/utils/conditionOperators/DateLessThanOrEqual.d.ts +0 -4
  1079. package/lib/mjs/utils/conditionOperators/EndsWith.d.ts +0 -7
  1080. package/lib/mjs/utils/conditionOperators/GreaterThan.d.ts +0 -7
  1081. package/lib/mjs/utils/conditionOperators/GreaterThanOrEqual.d.ts +0 -7
  1082. package/lib/mjs/utils/conditionOperators/Includes.d.ts +0 -7
  1083. package/lib/mjs/utils/conditionOperators/IsDateEqual.d.ts +0 -4
  1084. package/lib/mjs/utils/conditionOperators/IsEmptyValue.d.ts +0 -9
  1085. package/lib/mjs/utils/conditionOperators/IsEqualTo.d.ts +0 -7
  1086. package/lib/mjs/utils/conditionOperators/IsNotDateEqual.d.ts +0 -4
  1087. package/lib/mjs/utils/conditionOperators/IsNotEmptyValue.d.ts +0 -4
  1088. package/lib/mjs/utils/conditionOperators/IsNotEqualTo.d.ts +0 -7
  1089. package/lib/mjs/utils/conditionOperators/LessThan.d.ts +0 -7
  1090. package/lib/mjs/utils/conditionOperators/LessThanOrEqual.d.ts +0 -7
  1091. package/lib/mjs/utils/conditionOperators/NotIncludes.d.ts +0 -4
  1092. package/lib/mjs/utils/conditionOperators/StartsWith.d.ts +0 -7
  1093. package/lib/mjs/utils/conditionOperators/index.d.ts +0 -7
  1094. package/lib/mjs/utils/formUtils.d.ts +0 -173
  1095. package/lib/mjs/utils/i18n.d.ts +0 -16
  1096. package/lib/mjs/utils/index.d.ts +0 -3
  1097. package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
  1098. package/lib/mjs/utils/utils.d.ts +0 -375
  1099. package/lib/mjs/widgets/CalendarWidget.d.ts +0 -97
  1100. package/lib/mjs/widgets/InputWidget.d.ts +0 -24
  1101. package/lib/mjs/widgets/index.d.ts +0 -7
@@ -37,7 +37,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
37
37
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38
38
 
39
39
  "use strict";
40
- eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Evaluator = exports.BaseEvaluator = void 0;\nconst _ = __importStar(__webpack_require__(/*! @formio/lodash */ \"./node_modules/@formio/lodash/lib/index.js\"));\n// BaseEvaluator is for extending.\nclass BaseEvaluator {\n static evaluator(func, ...params) {\n if (Evaluator.noeval) {\n console.warn('No evaluations allowed for this renderer.');\n return _.noop;\n }\n if (typeof func === 'function') {\n return func;\n }\n if (typeof params[0] === 'object') {\n params = _.keys(params[0]);\n }\n return new Function(...params, func);\n }\n ;\n static interpolateString(rawTemplate, data, options = {}) {\n return rawTemplate.replace(/({{\\s*(.*?)\\s*}})/g, (match, $1, $2) => {\n // If this is a function call and we allow evals.\n if ($2.indexOf('(') !== -1) {\n return $2.replace(/([^\\(]+)\\(([^\\)]+)\\s*\\);?/, (evalMatch, funcName, args) => {\n funcName = _.trim(funcName);\n const func = _.get(data, funcName);\n if (func) {\n if (args) {\n args = args.split(',').map((arg) => {\n arg = _.trim(arg);\n if ((arg.indexOf('\"') === 0) || (arg.indexOf(\"'\") === 0)) {\n return arg.substring(1, arg.length - 1);\n }\n return _.get(data, arg);\n });\n }\n return Evaluator.evaluate(func, args, '', false, data, options);\n }\n return '';\n });\n }\n else {\n let dataPath = $2;\n if ($2.indexOf('?') !== -1) {\n dataPath = $2.replace(/\\?\\./g, '.');\n }\n // Allow for conditional values.\n const parts = dataPath.split('||').map((item) => item.trim());\n let value = '';\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path = parts[i];\n value = _.get(data, path);\n if (value) {\n break;\n }\n }\n if (options.data) {\n _.set(options.data, path, value);\n }\n return value;\n }\n });\n }\n static interpolate(rawTemplate, data, options = {}) {\n if (typeof rawTemplate === 'function') {\n try {\n return rawTemplate(data);\n }\n catch (err) {\n console.warn('Error interpolating template', err, data);\n return err.message;\n }\n }\n return Evaluator.interpolateString(String(rawTemplate), data, options);\n }\n ;\n /**\n * Evaluate a method.\n *\n * @param func\n * @param args\n * @return {*}\n */\n static evaluate(func, args = {}, ret = '', interpolate = false, context = {}, options = {}) {\n let returnVal = null;\n options = _.isObject(options) ? options : { noeval: options };\n const component = args.component ? args.component : { key: 'unknown' };\n if (!args.form && args.instance) {\n args.form = _.get(args.instance, 'root._form', {});\n }\n const componentKey = component.key;\n if (typeof func === 'string') {\n if (ret) {\n func += `;return ${ret}`;\n }\n if (interpolate) {\n func = BaseEvaluator.interpolate(func, args, options);\n }\n try {\n if (Evaluator.noeval || options.noeval) {\n func = _.noop;\n }\n else {\n func = Evaluator.evaluator(func, args, context);\n }\n args = _.values(args);\n }\n catch (err) {\n console.warn(`An error occured within the custom function for ${componentKey}`, err);\n returnVal = null;\n func = false;\n }\n }\n if (typeof func === 'function') {\n try {\n returnVal = Evaluator.execute(func, args, context, options);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (func) {\n console.warn(`Unknown function type for ${componentKey}`);\n }\n return returnVal;\n }\n /**\n * Execute a function.\n *\n * @param func\n * @param args\n * @returns\n */\n static execute(func, args, context = {}, options = {}) {\n options = _.isObject(options) ? options : { noeval: options };\n if (Evaluator.noeval || options.noeval) {\n console.warn('No evaluations allowed for this renderer.');\n return;\n }\n return Array.isArray(args) ? func.apply(context, args) : func.call(context, args);\n }\n ;\n}\nexports.BaseEvaluator = BaseEvaluator;\nBaseEvaluator.templateSettings = {\n interpolate: /{{([\\s\\S]+?)}}/g,\n evaluate: /\\{%([\\s\\S]+?)%\\}/g,\n escape: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g\n};\nBaseEvaluator.noeval = false;\n// The extendable evaluator\nclass Evaluator extends BaseEvaluator {\n /**\n * Allow external modules the ability to extend the Evaluator.\n * @param evaluator\n */\n static registerEvaluator(evaluator) {\n Object.keys(evaluator).forEach((key) => {\n Evaluator[key] = evaluator[key];\n });\n }\n}\nexports.Evaluator = Evaluator;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/Evaluator.js?");
40
+ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Evaluator = exports.BaseEvaluator = void 0;\nconst lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n// BaseEvaluator is for extending.\nclass BaseEvaluator {\n static evaluator(func, ...params) {\n if (Evaluator.noeval) {\n console.warn('No evaluations allowed for this renderer.');\n return lodash_1.noop;\n }\n if (typeof func === 'function') {\n return func;\n }\n if (typeof params[0] === 'object') {\n params = (0, lodash_1.keys)(params[0]);\n }\n return new Function(...params, func);\n }\n ;\n static interpolateString(rawTemplate, data, options = {}) {\n return rawTemplate.replace(/({{\\s*(.*?)\\s*}})/g, (match, $1, $2) => {\n // If this is a function call and we allow evals.\n if ($2.indexOf('(') !== -1) {\n return $2.replace(/([^\\(]+)\\(([^\\)]+)\\s*\\);?/, (evalMatch, funcName, args) => {\n funcName = (0, lodash_1.trim)(funcName);\n const func = (0, lodash_1.get)(data, funcName);\n if (func) {\n if (args) {\n args = args.split(',').map((arg) => {\n arg = (0, lodash_1.trim)(arg);\n if ((arg.indexOf('\"') === 0) || (arg.indexOf(\"'\") === 0)) {\n return arg.substring(1, arg.length - 1);\n }\n return (0, lodash_1.get)(data, arg);\n });\n }\n return Evaluator.evaluate(func, args, '', false, data, options);\n }\n return '';\n });\n }\n else {\n let dataPath = $2;\n if ($2.indexOf('?') !== -1) {\n dataPath = $2.replace(/\\?\\./g, '.');\n }\n // Allow for conditional values.\n const parts = dataPath.split('||').map((item) => item.trim());\n let value = '';\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path = parts[i];\n value = (0, lodash_1.get)(data, path);\n if (value) {\n break;\n }\n }\n if (options.data) {\n (0, lodash_1.set)(options.data, path, value);\n }\n return value;\n }\n });\n }\n static interpolate(rawTemplate, data, options = {}) {\n if (typeof rawTemplate === 'function') {\n try {\n return rawTemplate(data);\n }\n catch (err) {\n console.warn('Error interpolating template', err, data);\n return err.message;\n }\n }\n return Evaluator.interpolateString(String(rawTemplate), data, options);\n }\n ;\n /**\n * Evaluate a method.\n *\n * @param func\n * @param args\n * @return {*}\n */\n static evaluate(func, args = {}, ret = '', interpolate = false, context = {}, options = {}) {\n let returnVal = null;\n options = (0, lodash_1.isObject)(options) ? options : { noeval: options };\n const component = args.component ? args.component : { key: 'unknown' };\n if (!args.form && args.instance) {\n args.form = (0, lodash_1.get)(args.instance, 'root._form', {});\n }\n const componentKey = component.key;\n if (typeof func === 'string') {\n if (ret) {\n func += `;return ${ret}`;\n }\n if (interpolate) {\n func = BaseEvaluator.interpolate(func, args, options);\n }\n try {\n if (Evaluator.noeval || options.noeval) {\n func = lodash_1.noop;\n }\n else {\n func = Evaluator.evaluator(func, args, context);\n }\n args = (0, lodash_1.values)(args);\n }\n catch (err) {\n console.warn(`An error occured within the custom function for ${componentKey}`, err);\n returnVal = null;\n func = false;\n }\n }\n if (typeof func === 'function') {\n try {\n returnVal = Evaluator.execute(func, args, context, options);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (func) {\n console.warn(`Unknown function type for ${componentKey}`);\n }\n return returnVal;\n }\n /**\n * Execute a function.\n *\n * @param func\n * @param args\n * @returns\n */\n static execute(func, args, context = {}, options = {}) {\n options = (0, lodash_1.isObject)(options) ? options : { noeval: options };\n if (Evaluator.noeval || options.noeval) {\n console.warn('No evaluations allowed for this renderer.');\n return;\n }\n return Array.isArray(args) ? func.apply(context, args) : func.call(context, args);\n }\n ;\n}\nexports.BaseEvaluator = BaseEvaluator;\nBaseEvaluator.templateSettings = {\n interpolate: /{{([\\s\\S]+?)}}/g,\n evaluate: /\\{%([\\s\\S]+?)%\\}/g,\n escape: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g\n};\nBaseEvaluator.noeval = false;\n// The extendable evaluator\nclass Evaluator extends BaseEvaluator {\n /**\n * Allow external modules the ability to extend the Evaluator.\n * @param evaluator\n */\n static registerEvaluator(evaluator) {\n Object.keys(evaluator).forEach((key) => {\n Evaluator[key] = evaluator[key];\n });\n }\n}\nexports.Evaluator = Evaluator;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/Evaluator.js?");
41
41
 
42
42
  /***/ }),
43
43
 
@@ -48,7 +48,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
48
48
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
49
49
 
50
50
  "use strict";
51
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.dayjs = exports.isPartialDay = exports.getDateValidationFormat = exports.getDateSetting = exports.formatDate = exports.momentDate = exports.convertFormatToMoment = exports.currentTimezone = void 0;\nconst dayjs_1 = __importDefault(__webpack_require__(/*! dayjs */ \"./node_modules/dayjs/dayjs.min.js\"));\nexports.dayjs = dayjs_1.default;\nconst timezone_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/timezone */ \"./node_modules/dayjs/plugin/timezone.js\"));\nconst utc_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/utc */ \"./node_modules/dayjs/plugin/utc.js\"));\nconst customParseFormat_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/customParseFormat */ \"./node_modules/dayjs/plugin/customParseFormat.js\"));\nconst lodash_1 = __webpack_require__(/*! @formio/lodash */ \"./node_modules/@formio/lodash/lib/index.js\");\nconst Evaluator_1 = __webpack_require__(/*! ./Evaluator */ \"./node_modules/@formio/core/lib/utils/Evaluator.js\");\ndayjs_1.default.extend(utc_1.default);\ndayjs_1.default.extend(timezone_1.default);\ndayjs_1.default.extend(customParseFormat_1.default);\n/**\n * Get the current timezone string.\n *\n * @return {string}\n */\nfunction currentTimezone() {\n return dayjs_1.default.tz.guess();\n}\nexports.currentTimezone = currentTimezone;\n/**\n * Convert the format from the angular-datepicker module to moment format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToMoment(format) {\n return format\n // Year conversion.\n .replace(/y/g, 'Y')\n // Day in month.\n .replace(/d/g, 'D')\n // Day in week.\n .replace(/E/g, 'd')\n // AM/PM marker\n .replace(/a/g, 'A')\n // Unix Timestamp\n .replace(/U/g, 'X');\n}\nexports.convertFormatToMoment = convertFormatToMoment;\n/**\n * Get the moment date object for translating dates with timezones.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {*}\n */\nfunction momentDate(value, format, timezone) {\n const momentDate = (0, dayjs_1.default)(value);\n if (timezone === 'UTC') {\n return dayjs_1.default.utc();\n }\n if (timezone !== currentTimezone() || (format && format.match(/\\s(z$|z\\s)/))) {\n return momentDate.tz(timezone);\n }\n return momentDate;\n}\nexports.momentDate = momentDate;\n/**\n * Format a date provided a value, format, and timezone object.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatDate(value, format, timezone) {\n const momentDate = (0, dayjs_1.default)(value);\n if (timezone === 'UTC') {\n return `${dayjs_1.default.utc().format(convertFormatToMoment(format))} UTC`;\n }\n if (timezone) {\n return momentDate.tz(timezone).format(`${convertFormatToMoment(format)} z`);\n }\n return momentDate.format(convertFormatToMoment(format));\n}\nexports.formatDate = formatDate;\n/**\n * Return a translated date setting.\n *\n * @param date\n * @return {(null|Date)}\n */\nfunction getDateSetting(date) {\n if ((0, lodash_1.isNil)(date) || (0, lodash_1.isNaN)(date) || date === '') {\n return null;\n }\n if (date instanceof Date) {\n return date;\n }\n else if (typeof date.toDate === 'function') {\n return date.isValid() ? date.toDate() : null;\n }\n let dateSetting = ((typeof date !== 'string') || (date.indexOf('moment(') === -1)) ? (0, dayjs_1.default)(date) : null;\n if (dateSetting && dateSetting.isValid()) {\n return dateSetting.toDate();\n }\n dateSetting = null;\n try {\n const value = Evaluator_1.Evaluator.evaluator(`return ${date};`, 'moment')(dayjs_1.default);\n if (typeof value === 'string') {\n dateSetting = (0, dayjs_1.default)(value);\n }\n else if (typeof value.toDate === 'function') {\n dateSetting = (0, dayjs_1.default)(value.toDate().toUTCString());\n }\n else if (value instanceof Date) {\n dateSetting = (0, dayjs_1.default)(value);\n }\n }\n catch (e) {\n return null;\n }\n if (!dateSetting) {\n return null;\n }\n // Ensure this is a date.\n if (!dateSetting.isValid()) {\n return null;\n }\n return dateSetting.toDate();\n}\nexports.getDateSetting = getDateSetting;\nconst getDateValidationFormat = (component) => {\n return component.dayFirst ? 'DD-MM-YYYY' : 'MM-DD-YYYY';\n};\nexports.getDateValidationFormat = getDateValidationFormat;\nconst isPartialDay = (component, value) => {\n if (!value) {\n return false;\n }\n const [DAY, MONTH, YEAR] = component.dayFirst ? [0, 1, 2] : [1, 0, 2];\n const values = value.split('/');\n return values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000';\n};\nexports.isPartialDay = isPartialDay;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/date.js?");
51
+ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.dayjs = exports.isPartialDay = exports.getDateValidationFormat = exports.getDateSetting = exports.formatDate = exports.momentDate = exports.convertFormatToMoment = exports.currentTimezone = void 0;\nconst dayjs_1 = __importDefault(__webpack_require__(/*! dayjs */ \"./node_modules/dayjs/dayjs.min.js\"));\nexports.dayjs = dayjs_1.default;\nconst timezone_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/timezone */ \"./node_modules/dayjs/plugin/timezone.js\"));\nconst utc_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/utc */ \"./node_modules/dayjs/plugin/utc.js\"));\nconst customParseFormat_1 = __importDefault(__webpack_require__(/*! dayjs/plugin/customParseFormat */ \"./node_modules/dayjs/plugin/customParseFormat.js\"));\nconst lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nconst Evaluator_1 = __webpack_require__(/*! ./Evaluator */ \"./node_modules/@formio/core/lib/utils/Evaluator.js\");\ndayjs_1.default.extend(utc_1.default);\ndayjs_1.default.extend(timezone_1.default);\ndayjs_1.default.extend(customParseFormat_1.default);\n/**\n * Get the current timezone string.\n *\n * @return {string}\n */\nfunction currentTimezone() {\n return dayjs_1.default.tz.guess();\n}\nexports.currentTimezone = currentTimezone;\n/**\n * Convert the format from the angular-datepicker module to moment format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToMoment(format) {\n return format\n // Year conversion.\n .replace(/y/g, 'Y')\n // Day in month.\n .replace(/d/g, 'D')\n // Day in week.\n .replace(/E/g, 'd')\n // AM/PM marker\n .replace(/a/g, 'A')\n // Unix Timestamp\n .replace(/U/g, 'X');\n}\nexports.convertFormatToMoment = convertFormatToMoment;\n/**\n * Get the moment date object for translating dates with timezones.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {*}\n */\nfunction momentDate(value, format, timezone) {\n const momentDate = (0, dayjs_1.default)(value);\n if (timezone === 'UTC') {\n return dayjs_1.default.utc();\n }\n if (timezone !== currentTimezone() || (format && format.match(/\\s(z$|z\\s)/))) {\n return momentDate.tz(timezone);\n }\n return momentDate;\n}\nexports.momentDate = momentDate;\n/**\n * Format a date provided a value, format, and timezone object.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatDate(value, format, timezone) {\n const momentDate = (0, dayjs_1.default)(value);\n if (timezone === 'UTC') {\n return `${dayjs_1.default.utc().format(convertFormatToMoment(format))} UTC`;\n }\n if (timezone) {\n return momentDate.tz(timezone).format(`${convertFormatToMoment(format)} z`);\n }\n return momentDate.format(convertFormatToMoment(format));\n}\nexports.formatDate = formatDate;\n/**\n * Return a translated date setting.\n *\n * @param date\n * @return {(null|Date)}\n */\nfunction getDateSetting(date) {\n if ((0, lodash_1.isNil)(date) || (0, lodash_1.isNaN)(date) || date === '') {\n return null;\n }\n if (date instanceof Date) {\n return date;\n }\n else if (typeof date.toDate === 'function') {\n return date.isValid() ? date.toDate() : null;\n }\n let dateSetting = ((typeof date !== 'string') || (date.indexOf('moment(') === -1)) ? (0, dayjs_1.default)(date) : null;\n if (dateSetting && dateSetting.isValid()) {\n return dateSetting.toDate();\n }\n dateSetting = null;\n try {\n const value = Evaluator_1.Evaluator.evaluator(`return ${date};`, 'moment')(dayjs_1.default);\n if (typeof value === 'string') {\n dateSetting = (0, dayjs_1.default)(value);\n }\n else if (typeof value.toDate === 'function') {\n dateSetting = (0, dayjs_1.default)(value.toDate().toUTCString());\n }\n else if (value instanceof Date) {\n dateSetting = (0, dayjs_1.default)(value);\n }\n }\n catch (e) {\n return null;\n }\n if (!dateSetting) {\n return null;\n }\n // Ensure this is a date.\n if (!dateSetting.isValid()) {\n return null;\n }\n return dateSetting.toDate();\n}\nexports.getDateSetting = getDateSetting;\nconst getDateValidationFormat = (component) => {\n return component.dayFirst ? 'DD-MM-YYYY' : 'MM-DD-YYYY';\n};\nexports.getDateValidationFormat = getDateValidationFormat;\nconst isPartialDay = (component, value) => {\n if (!value) {\n return false;\n }\n const [DAY, MONTH, YEAR] = component.dayFirst ? [0, 1, 2] : [1, 0, 2];\n const values = value.split('/');\n return values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000';\n};\nexports.isPartialDay = isPartialDay;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/date.js?");
52
52
 
53
53
  /***/ }),
54
54
 
@@ -63,6 +63,17 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
63
63
 
64
64
  /***/ }),
65
65
 
66
+ /***/ "./node_modules/@formio/core/lib/utils/fastCloneDeep.js":
67
+ /*!**************************************************************!*\
68
+ !*** ./node_modules/@formio/core/lib/utils/fastCloneDeep.js ***!
69
+ \**************************************************************/
70
+ /***/ (function(__unused_webpack_module, exports) {
71
+
72
+ "use strict";
73
+ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.fastCloneDeep = void 0;\n/**\n * Performs a fast clone deep operation.\n *\n * @param obj\n */\nfunction fastCloneDeep(obj) {\n try {\n return JSON.parse(JSON.stringify(obj));\n }\n catch (err) {\n console.log(`Clone Failed: ${err.message}`);\n return null;\n }\n}\nexports.fastCloneDeep = fastCloneDeep;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/fastCloneDeep.js?");
74
+
75
+ /***/ }),
76
+
66
77
  /***/ "./node_modules/@formio/core/lib/utils/formUtil.js":
67
78
  /*!*********************************************************!*\
68
79
  !*** ./node_modules/@formio/core/lib/utils/formUtil.js ***!
@@ -92,7 +103,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
92
103
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
93
104
 
94
105
  "use strict";
95
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.matchInputMask = exports.getInputMask = void 0;\nconst lodash_1 = __webpack_require__(/*! @formio/lodash */ \"./node_modules/@formio/lodash/lib/index.js\");\n/**\n * Returns an input mask that is compatible with the input mask library.\n * @param {string} mask - The Form.io input mask.\n * @param {string} placeholderChar - Char which is used as a placeholder.\n * @returns {Array} - The input mask for the mask library.\n */\nfunction getInputMask(mask, placeholderChar) {\n if (mask instanceof Array) {\n return mask;\n }\n const maskArray = [];\n maskArray.numeric = true;\n for (let i = 0; i < mask.length; i++) {\n switch (mask[i]) {\n case '9':\n maskArray.push(/\\d/);\n break;\n case 'A':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z]/);\n break;\n case 'a':\n maskArray.numeric = false;\n maskArray.push(/[a-z]/);\n break;\n case '*':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z0-9]/);\n break;\n // If char which is used inside mask placeholder was used in the mask, replace it with space to prevent errors\n case placeholderChar:\n maskArray.numeric = false;\n maskArray.push(' ');\n break;\n default:\n maskArray.numeric = false;\n maskArray.push(mask[i]);\n break;\n }\n }\n return maskArray;\n}\nexports.getInputMask = getInputMask;\nfunction matchInputMask(value, inputMask) {\n if (!inputMask) {\n return true;\n }\n // If value is longer than mask, it isn't valid.\n if (value.length > inputMask.length) {\n return false;\n }\n for (let i = 0; i < inputMask.length; i++) {\n const char = value[i];\n const charPart = inputMask[i];\n if (!((0, lodash_1.isRegExp)(charPart) && charPart.test(char) || charPart === char)) {\n return false;\n }\n }\n return true;\n}\nexports.matchInputMask = matchInputMask;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/mask.js?");
106
+ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.matchInputMask = exports.getInputMask = void 0;\nconst lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/**\n * Returns an input mask that is compatible with the input mask library.\n * @param {string} mask - The Form.io input mask.\n * @param {string} placeholderChar - Char which is used as a placeholder.\n * @returns {Array} - The input mask for the mask library.\n */\nfunction getInputMask(mask, placeholderChar) {\n if (mask instanceof Array) {\n return mask;\n }\n const maskArray = [];\n maskArray.numeric = true;\n for (let i = 0; i < mask.length; i++) {\n switch (mask[i]) {\n case '9':\n maskArray.push(/\\d/);\n break;\n case 'A':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z]/);\n break;\n case 'a':\n maskArray.numeric = false;\n maskArray.push(/[a-z]/);\n break;\n case '*':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z0-9]/);\n break;\n // If char which is used inside mask placeholder was used in the mask, replace it with space to prevent errors\n case placeholderChar:\n maskArray.numeric = false;\n maskArray.push(' ');\n break;\n default:\n maskArray.numeric = false;\n maskArray.push(mask[i]);\n break;\n }\n }\n return maskArray;\n}\nexports.getInputMask = getInputMask;\nfunction matchInputMask(value, inputMask) {\n if (!inputMask) {\n return true;\n }\n // If value is longer than mask, it isn't valid.\n if (value.length > inputMask.length) {\n return false;\n }\n for (let i = 0; i < inputMask.length; i++) {\n const char = value[i];\n const charPart = inputMask[i];\n if (!((0, lodash_1.isRegExp)(charPart) && charPart.test(char) || charPart === char)) {\n return false;\n }\n }\n return true;\n}\nexports.matchInputMask = matchInputMask;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/mask.js?");
96
107
 
97
108
  /***/ }),
98
109
 
@@ -125,7 +136,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
125
136
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
126
137
 
127
138
  "use strict";
128
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.unwind = exports.rewind = exports.mergeArray = exports.mergeObject = void 0;\nconst lodash_1 = __webpack_require__(/*! @formio/lodash */ \"./node_modules/@formio/lodash/lib/index.js\");\nconst formUtil_1 = __webpack_require__(/*! ./formUtil */ \"./node_modules/@formio/core/lib/utils/formUtil.js\");\nfunction mergeObject(src, dst) {\n (0, lodash_1.each)(src, function (value, key) {\n if (!Array.isArray(value)) {\n dst[key] = value;\n }\n else {\n if (!dst[key]) {\n dst[key] = [];\n }\n mergeArray(value, dst[key]);\n }\n });\n}\nexports.mergeObject = mergeObject;\nfunction mergeArray(src, dst) {\n src.forEach(function (value) {\n var query = {};\n (0, lodash_1.each)(value, function (subValue, key) {\n if (!Array.isArray(subValue)) {\n query[key] = subValue;\n }\n });\n var dstValue = (0, lodash_1.find)(dst, query);\n if (dstValue) {\n mergeObject(value, dstValue);\n }\n else {\n dst.push(value);\n }\n });\n}\nexports.mergeArray = mergeArray;\nfunction rewind(submissions) {\n var submission = { data: {} };\n if (submissions && submissions.length) {\n submissions.forEach((sub) => mergeObject(sub.data, submission.data));\n }\n return submission;\n}\nexports.rewind = rewind;\nfunction unwind(form, submission) {\n var dataPaths = {};\n var locked = {};\n var submissions = [(0, lodash_1.fastCloneDeep)(submission)];\n // Set the data value for a data path.\n /* eslint-disable no-use-before-define */\n var setDataValue = function (dataPath, values, parent, offset, current) {\n offset = offset || 0;\n current = current || 0;\n // Make sure we don't overwrite any locked values.\n while ((0, lodash_1.has)(locked, \"[\" + current + \"].\" + parent)) {\n if ((current + 1) >= submissions.length) {\n submissions.push((0, lodash_1.fastCloneDeep)(submissions[current]));\n }\n current++;\n }\n // Ensure that all parents have been copied over to this path.\n /* eslint-disable no-useless-escape */\n var parentPath = parent.replace(/\\.[^\\.]+$/, '');\n if (!(0, lodash_1.has)(submissions[current].data, parentPath) &&\n submissions[current - 1] &&\n (0, lodash_1.has)(submissions[(current - 1)].data, parentPath)) {\n (0, lodash_1.set)(submissions[current].data, parentPath, (0, lodash_1.fastCloneDeep)((0, lodash_1.get)(submissions[(current - 1)].data, parentPath)));\n }\n /* eslint-enable no-useless-escape */\n var pathValue = [];\n (0, lodash_1.set)(submissions[current].data, parent, pathValue);\n (0, lodash_1.set)(locked, \"[\" + current + \"].\" + parent, true);\n for (var i = offset; i < values.length; i++) {\n if ((i - offset) <= dataPath.max) {\n pathValue.push(values[i]);\n if (dataPath.paths && Object.keys(dataPath.paths).length) {\n addData(dataPath.paths, values[i], parent + \"[\" + (i - offset) + \"]\", current);\n }\n }\n else {\n setDataValue(dataPath, values, parent, i, current);\n break;\n }\n }\n };\n /* eslint-enable no-use-before-define */\n // Add data to a series of data paths.\n var addData = function (dataPaths, data, parent, current) {\n for (var path in dataPaths) {\n var dataPath = dataPaths[path];\n if (data[path] && Array.isArray(data[path])) {\n setDataValue(dataPath, data[path], (parent ? parent + \".\" + path : path), 0, current);\n }\n }\n };\n var addDataPaths = function (dataPath, paths, index, parentDataPath) {\n index = index || 0;\n var path = paths[index];\n /* eslint-disable no-useless-escape */\n var matches = path.match(/([^\\[]+)\\[?([0-9]+)?\\]?/);\n /* eslint-enable no-useless-escape */\n if (matches && (matches.length === 3)) {\n var dataParam = matches[1];\n var dataIndex = parseInt(matches[2], 10) || 0;\n if (dataPath[dataParam]) {\n if (dataIndex > dataPath[dataParam].max) {\n dataPath[dataParam].max = dataIndex;\n }\n }\n else {\n dataPath[dataParam] = {\n max: dataIndex,\n param: dataParam,\n parent: parentDataPath || null,\n paths: {}\n };\n }\n if ((index + 1) < paths.length) {\n addDataPaths(dataPath[dataParam].paths, paths, (index + 1), dataPath[dataParam]);\n }\n }\n };\n // Iterate through all components.\n (0, formUtil_1.eachComponent)(form.components, function (component, path) {\n var _a;\n if (component.type === 'form' && ((_a = component.components) === null || _a === void 0 ? void 0 : _a.length)) {\n (0, formUtil_1.eachComponent)(component.components, (comp) => {\n comp.isInsideNestedForm = true;\n });\n }\n if (!component.overlay || (!component.overlay.width && !component.overlay.height)) {\n return;\n }\n var hasDataPath = component.properties && component.properties.dataPath;\n var key = component.key;\n if (hasDataPath) {\n path = component.properties.dataPath;\n key = component.properties.dataPath;\n }\n /* eslint-disable no-useless-escape */\n var paths = (0, lodash_1.filter)(path.replace(new RegExp(\".?\" + component.key + \"$\"), '').split('.'));\n /* eslint-enable no-useless-escape */\n if (!hasDataPath && paths.length && !component.isInsideNestedForm) {\n key = paths.map(function (subpath) { return subpath + \"[0]\"; }).join('.') + \".\" + component.key;\n }\n if (component.multiple) {\n paths.push(component.key);\n }\n component.key = key;\n if (paths && paths.length) {\n addDataPaths(dataPaths, paths);\n }\n }, true);\n addData(dataPaths, submission.data);\n return submissions;\n}\nexports.unwind = unwind;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/unwind.js?");
139
+ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.unwind = exports.rewind = exports.mergeArray = exports.mergeObject = void 0;\nconst lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nconst fastCloneDeep_1 = __webpack_require__(/*! ./fastCloneDeep */ \"./node_modules/@formio/core/lib/utils/fastCloneDeep.js\");\nconst formUtil_1 = __webpack_require__(/*! ./formUtil */ \"./node_modules/@formio/core/lib/utils/formUtil.js\");\nfunction mergeObject(src, dst) {\n (0, lodash_1.each)(src, function (value, key) {\n if (!Array.isArray(value)) {\n dst[key] = value;\n }\n else {\n if (!dst[key]) {\n dst[key] = [];\n }\n mergeArray(value, dst[key]);\n }\n });\n}\nexports.mergeObject = mergeObject;\nfunction mergeArray(src, dst) {\n src.forEach(function (value) {\n var query = {};\n (0, lodash_1.each)(value, function (subValue, key) {\n if (!Array.isArray(subValue)) {\n query[key] = subValue;\n }\n });\n var dstValue = (0, lodash_1.find)(dst, query);\n if (dstValue) {\n mergeObject(value, dstValue);\n }\n else {\n dst.push(value);\n }\n });\n}\nexports.mergeArray = mergeArray;\nfunction rewind(submissions) {\n var submission = { data: {} };\n if (submissions && submissions.length) {\n submissions.forEach((sub) => mergeObject(sub.data, submission.data));\n }\n return submission;\n}\nexports.rewind = rewind;\nfunction unwind(form, submission) {\n var dataPaths = {};\n var locked = {};\n var submissions = [(0, fastCloneDeep_1.fastCloneDeep)(submission)];\n // Set the data value for a data path.\n /* eslint-disable no-use-before-define */\n var setDataValue = function (dataPath, values, parent, offset, current) {\n offset = offset || 0;\n current = current || 0;\n // Make sure we don't overwrite any locked values.\n while ((0, lodash_1.has)(locked, \"[\" + current + \"].\" + parent)) {\n if ((current + 1) >= submissions.length) {\n submissions.push((0, fastCloneDeep_1.fastCloneDeep)(submissions[current]));\n }\n current++;\n }\n // Ensure that all parents have been copied over to this path.\n /* eslint-disable no-useless-escape */\n var parentPath = parent.replace(/\\.[^\\.]+$/, '');\n if (!(0, lodash_1.has)(submissions[current].data, parentPath) &&\n submissions[current - 1] &&\n (0, lodash_1.has)(submissions[(current - 1)].data, parentPath)) {\n (0, lodash_1.set)(submissions[current].data, parentPath, (0, fastCloneDeep_1.fastCloneDeep)((0, lodash_1.get)(submissions[(current - 1)].data, parentPath)));\n }\n /* eslint-enable no-useless-escape */\n var pathValue = [];\n (0, lodash_1.set)(submissions[current].data, parent, pathValue);\n (0, lodash_1.set)(locked, \"[\" + current + \"].\" + parent, true);\n for (var i = offset; i < values.length; i++) {\n if ((i - offset) <= dataPath.max) {\n pathValue.push(values[i]);\n if (dataPath.paths && Object.keys(dataPath.paths).length) {\n addData(dataPath.paths, values[i], parent + \"[\" + (i - offset) + \"]\", current);\n }\n }\n else {\n setDataValue(dataPath, values, parent, i, current);\n break;\n }\n }\n };\n /* eslint-enable no-use-before-define */\n // Add data to a series of data paths.\n var addData = function (dataPaths, data, parent, current) {\n for (var path in dataPaths) {\n var dataPath = dataPaths[path];\n if (data[path] && Array.isArray(data[path])) {\n setDataValue(dataPath, data[path], (parent ? parent + \".\" + path : path), 0, current);\n }\n }\n };\n var addDataPaths = function (dataPath, paths, index, parentDataPath) {\n index = index || 0;\n var path = paths[index];\n /* eslint-disable no-useless-escape */\n var matches = path.match(/([^\\[]+)\\[?([0-9]+)?\\]?/);\n /* eslint-enable no-useless-escape */\n if (matches && (matches.length === 3)) {\n var dataParam = matches[1];\n var dataIndex = parseInt(matches[2], 10) || 0;\n if (dataPath[dataParam]) {\n if (dataIndex > dataPath[dataParam].max) {\n dataPath[dataParam].max = dataIndex;\n }\n }\n else {\n dataPath[dataParam] = {\n max: dataIndex,\n param: dataParam,\n parent: parentDataPath || null,\n paths: {}\n };\n }\n if ((index + 1) < paths.length) {\n addDataPaths(dataPath[dataParam].paths, paths, (index + 1), dataPath[dataParam]);\n }\n }\n };\n // Iterate through all components.\n (0, formUtil_1.eachComponent)(form.components, function (component, path) {\n var _a;\n if (component.type === 'form' && ((_a = component.components) === null || _a === void 0 ? void 0 : _a.length)) {\n (0, formUtil_1.eachComponent)(component.components, (comp) => {\n comp.isInsideNestedForm = true;\n });\n }\n if (!component.overlay || (!component.overlay.width && !component.overlay.height)) {\n return;\n }\n var hasDataPath = component.properties && component.properties.dataPath;\n var key = component.key;\n if (hasDataPath) {\n path = component.properties.dataPath;\n key = component.properties.dataPath;\n }\n /* eslint-disable no-useless-escape */\n var paths = (0, lodash_1.filter)(path.replace(new RegExp(\".?\" + component.key + \"$\"), '').split('.'));\n /* eslint-enable no-useless-escape */\n if (!hasDataPath && paths.length && !component.isInsideNestedForm) {\n key = paths.map(function (subpath) { return subpath + \"[0]\"; }).join('.') + \".\" + component.key;\n }\n if (component.multiple) {\n paths.push(component.key);\n }\n component.key = key;\n if (paths && paths.length) {\n addDataPaths(dataPaths, paths);\n }\n }, true);\n addData(dataPaths, submission.data);\n return submissions;\n}\nexports.unwind = unwind;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/unwind.js?");
129
140
 
130
141
  /***/ }),
131
142
 
@@ -136,84 +147,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
136
147
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
137
148
 
138
149
  "use strict";
139
- eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.boolValue = exports.escapeRegExCharacters = void 0;\nconst _ = __importStar(__webpack_require__(/*! @formio/lodash */ \"./node_modules/@formio/lodash/lib/index.js\"));\n/**\n * Escapes RegEx characters in provided String value.\n *\n * @param {String} value\n * String for escaping RegEx characters.\n * @returns {string}\n * String with escaped RegEx characters.\n */\nfunction escapeRegExCharacters(value) {\n return value.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nexports.escapeRegExCharacters = escapeRegExCharacters;\n/**\n * Determines the boolean value of a setting.\n *\n * @param value\n * @return {boolean}\n */\nfunction boolValue(value) {\n if (_.isBoolean(value)) {\n return value;\n }\n else if (_.isString(value)) {\n return (value.toLowerCase() === 'true');\n }\n else {\n return !!value;\n }\n}\nexports.boolValue = boolValue;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/utils.js?");
140
-
141
- /***/ }),
142
-
143
- /***/ "./node_modules/@formio/lodash/lib/array.js":
144
- /*!**************************************************!*\
145
- !*** ./node_modules/@formio/lodash/lib/array.js ***!
146
- \**************************************************/
147
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
148
-
149
- "use strict";
150
- eval("\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.intersection = exports.map = exports.head = exports.last = exports.filter = exports.findEach = exports.matches = exports.findIndex = exports.find = exports.each = exports.dropRight = exports.drop = exports.difference = exports.concat = exports.compact = exports.chunk = void 0;\nvar lang_1 = __webpack_require__(/*! ./lang */ \"./node_modules/@formio/lodash/lib/lang.js\");\nvar object_1 = __webpack_require__(/*! ./object */ \"./node_modules/@formio/lodash/lib/object.js\");\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_chunk\nfunction chunk(input, size) {\n return input.reduce(function (arr, item, idx) {\n return idx % size === 0\n ? __spreadArray(__spreadArray([], arr, true), [[item]], false) : __spreadArray(__spreadArray([], arr.slice(0, -1), true), [__spreadArray(__spreadArray([], arr.slice(-1)[0], true), [item], false)], false);\n }, []);\n}\nexports.chunk = chunk;\n;\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_compact\nfunction compact(input) {\n return input.filter(Boolean);\n}\nexports.compact = compact;\n/**\n * @link https://lodash.com/docs/4.17.15#concat\n * @param input\n * @param args\n * @returns\n */\nfunction concat(input) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return input.concat.apply(input, args);\n}\nexports.concat = concat;\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_difference\nfunction difference() {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i] = arguments[_i];\n }\n return arrays.reduce(function (a, b) {\n return a.filter(function (value) {\n return !b.includes(value);\n });\n });\n}\nexports.difference = difference;\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_drop\nfunction drop(arr, index) {\n if (index === void 0) { index = 1; }\n return (index > 0) ? arr.slice(index) : arr;\n}\nexports.drop = drop;\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_dropright\nfunction dropRight(arr, index) {\n if (index === void 0) { index = 1; }\n return (index > 0) ? arr.slice(0, -index) : arr;\n}\nexports.dropRight = dropRight;\n/**\n * Iterate through a collection or array.\n * @param collection\n * @param _each\n */\nfunction each(collection, _each) {\n var isArray = Array.isArray(collection);\n for (var i in collection) {\n if (collection.hasOwnProperty(i)) {\n if (_each(collection[i], isArray ? Number(i) : i) === true) {\n break;\n }\n ;\n }\n }\n}\nexports.each = each;\n/**\n * Perform a find operation.\n * @param arr\n * @param query\n */\nfunction find(arr, query, findIndex) {\n if (findIndex === void 0) { findIndex = false; }\n if (!arr) {\n return undefined;\n }\n if (Array.isArray(arr) && typeof query === 'function') {\n return findIndex ? arr.findIndex(query) : arr.find(query);\n }\n var found = undefined;\n var foundIndex = 0;\n findEach(arr, query, function (item, index) {\n found = item;\n foundIndex = index;\n return true;\n });\n return findIndex ? foundIndex : found;\n}\nexports.find = find;\n/**\n * Find an index.\n *\n * @param arr\n * @param query\n * @returns\n */\nfunction findIndex(arr, query) {\n return find(arr, query, true);\n}\nexports.findIndex = findIndex;\n/**\n * Returns a function to perform matches.\n * @param query\n * @returns\n */\nfunction matches(query) {\n var keys = [];\n var compare = {};\n if (typeof query === 'string') {\n keys = [query];\n compare[query] = true;\n }\n else {\n keys = Object.keys(query);\n compare = query;\n }\n return function (comp) {\n return (0, lang_1.isEqual)((0, object_1.pick)(comp, keys), compare);\n };\n}\nexports.matches = matches;\n/**\n * Perform a find operation on each item in an array.\n * @param arr\n * @param query\n * @param fn\n */\nfunction findEach(arr, query, fn) {\n each(arr, function (item, index) {\n if (matches(query)(item)) {\n if (fn(item, index) === true) {\n return true;\n }\n }\n });\n}\nexports.findEach = findEach;\n/**\n * Perform a filter operation.\n * @param arr\n * @param fn\n */\nfunction filter(arr, fn) {\n if (!arr) {\n return [];\n }\n if (!fn) {\n fn = function (val) { return !!val; };\n }\n if (Array.isArray(arr) && typeof fn === 'function') {\n return arr.filter(fn);\n }\n var found = [];\n findEach(arr, fn, function (item, index) {\n found.push(item);\n if (Array.isArray(item)) {\n arr.splice(index, 1);\n }\n else {\n delete arr[index];\n }\n });\n return found;\n}\nexports.filter = filter;\n/**\n * Get the last item in an array.\n * @param arr\n */\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexports.last = last;\n/**\n * https://lodash.com/docs/4.17.15#head\n * @param arr\n * @returns\n */\nfunction head(arr) {\n return arr[0];\n}\nexports.head = head;\n/**\n * https://lodash.com/docs/4.17.15#map\n * @param arr\n * @param fn\n * @returns\n */\nfunction map(arr, fn) {\n return arr.map(fn);\n}\nexports.map = map;\n/**\n * Get the intersection of two objects.\n * @param a\n * @param b\n */\nfunction intersection(a, b) {\n return a.filter(function (value) { return b.includes(value); });\n}\nexports.intersection = intersection;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/array.js?");
151
-
152
- /***/ }),
153
-
154
- /***/ "./node_modules/@formio/lodash/lib/function.js":
155
- /*!*****************************************************!*\
156
- !*** ./node_modules/@formio/lodash/lib/function.js ***!
157
- \*****************************************************/
158
- /***/ (function(__unused_webpack_module, exports) {
159
-
160
- "use strict";
161
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.debounce = void 0;\n/**\n * Debounc the call of a function for a given amount of time.\n *\n * @param func\n * @param wait\n * @returns\n */\nfunction debounce(func, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(function () {\n timeout = null;\n func.apply(void 0, args);\n }, wait);\n };\n}\nexports.debounce = debounce;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/function.js?");
162
-
163
- /***/ }),
164
-
165
- /***/ "./node_modules/@formio/lodash/lib/index.js":
166
- /*!**************************************************!*\
167
- !*** ./node_modules/@formio/lodash/lib/index.js ***!
168
- \**************************************************/
169
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
170
-
171
- "use strict";
172
- eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.chain = void 0;\nvar ArrayFunctions = __importStar(__webpack_require__(/*! ./array */ \"./node_modules/@formio/lodash/lib/array.js\"));\nvar Chainable = /** @class */ (function () {\n function Chainable(val) {\n this.chain = [];\n this.currentValue = [];\n this.currentValue = val;\n }\n Chainable.prototype.value = function () {\n return this.chain.reduce(function (current, func) {\n var _a;\n return (_a = ArrayFunctions)[func.method].apply(_a, __spreadArray([current], func.args, false));\n }, this.currentValue);\n };\n return Chainable;\n}());\nvar _loop_1 = function (method) {\n if (ArrayFunctions.hasOwnProperty(method)) {\n Chainable.prototype[method] = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n this.chain.push({ method: method, args: args });\n return this;\n };\n }\n};\nfor (var method in ArrayFunctions) {\n _loop_1(method);\n}\n/**\n * Create a chainable array of methods.\n * @param val\n * @returns\n */\nfunction chain(val) {\n return new Chainable(val);\n}\nexports.chain = chain;\nexports[\"default\"] = chain;\n__exportStar(__webpack_require__(/*! ./array */ \"./node_modules/@formio/lodash/lib/array.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function */ \"./node_modules/@formio/lodash/lib/function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lang */ \"./node_modules/@formio/lodash/lib/lang.js\"), exports);\n__exportStar(__webpack_require__(/*! ./math */ \"./node_modules/@formio/lodash/lib/math.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object */ \"./node_modules/@formio/lodash/lib/object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string */ \"./node_modules/@formio/lodash/lib/string.js\"), exports);\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/index.js?");
173
-
174
- /***/ }),
175
-
176
- /***/ "./node_modules/@formio/lodash/lib/lang.js":
177
- /*!*************************************************!*\
178
- !*** ./node_modules/@formio/lodash/lib/lang.js ***!
179
- \*************************************************/
180
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
181
-
182
- "use strict";
183
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isRegExp = exports.isBoolean = exports.isNumber = exports.isPlainObject = exports.isObject = exports.isObjectLike = exports.isArray = exports.isNull = exports.isNil = exports.isNaN = exports.isInteger = exports.isEmpty = exports.isString = exports.isEqual = exports.noop = void 0;\nvar array_1 = __webpack_require__(/*! ./array */ \"./node_modules/@formio/lodash/lib/array.js\");\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n/**\n * A no-operation function.\n */\nfunction noop() {\n return;\n}\nexports.noop = noop;\n;\n/**\n * Determines equality of a value or complex object.\n * @param a\n * @param b\n */\nfunction isEqual(a, b) {\n var equal = false;\n if (a === b) {\n return true;\n }\n if (a && b && (Array.isArray(a) || isObject(a)) && Object.keys(a).length === Object.keys(b).length) {\n equal = true;\n (0, array_1.each)(a, function (val, key) {\n if ((Array.isArray(val) || isObject(val)) && !isEqual(b[key], val)) {\n equal = false;\n return true;\n }\n if (b[key] !== val) {\n equal = false;\n return true;\n }\n });\n }\n return equal;\n}\nexports.isEqual = isEqual;\nfunction isString(val) {\n return typeof val === 'string';\n}\nexports.isString = isString;\n// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_isempty\nfunction isEmpty(val) {\n return [Object, Array].includes((val || {}).constructor) && !Object.entries((val || {})).length;\n}\nexports.isEmpty = isEmpty;\nfunction isInteger(val) {\n return Number.isInteger(val);\n}\nexports.isInteger = isInteger;\nfunction isNaN(val) {\n return Number.isNaN(val);\n}\nexports.isNaN = isNaN;\nfunction isNil(val) {\n return val == null;\n}\nexports.isNil = isNil;\nfunction isNull(val) {\n return val === null;\n}\nexports.isNull = isNull;\nfunction isArray(val) {\n return Array.isArray(val);\n}\nexports.isArray = isArray;\nfunction isObjectLike(val) {\n return typeof val === 'object' && (val !== null);\n}\nexports.isObjectLike = isObjectLike;\nfunction isObject(val) {\n var type = typeof val;\n return val != null && (type === 'object' || type === 'function');\n}\nexports.isObject = isObject;\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || getTag(value) != '[object Object]') {\n return false;\n }\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n var proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n}\nexports.isPlainObject = isPlainObject;\nfunction isNumber(val) {\n return typeof val === 'number' || (isObjectLike(val) && getTag(val) == '[object Number]');\n}\nexports.isNumber = isNumber;\nfunction isBoolean(val) {\n return val === true || val === false || (isObjectLike(val) && getTag(val) == '[object Boolean]');\n}\nexports.isBoolean = isBoolean;\nfunction isRegExp(val) {\n return isObjectLike(val) && getTag(val) == '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/lang.js?");
184
-
185
- /***/ }),
186
-
187
- /***/ "./node_modules/@formio/lodash/lib/math.js":
188
- /*!*************************************************!*\
189
- !*** ./node_modules/@formio/lodash/lib/math.js ***!
190
- \*************************************************/
191
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
192
-
193
- "use strict";
194
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sumBy = exports.sum = exports.mod = exports.subtract = exports.round = exports.multiply = exports.minBy = exports.min = exports.meanBy = exports.mean = exports.maxBy = exports.max = exports.floor = exports.divide = exports.ceil = exports.add = void 0;\nvar lang_1 = __webpack_require__(/*! ./lang */ \"./node_modules/@formio/lodash/lib/lang.js\");\nvar object_1 = __webpack_require__(/*! ./object */ \"./node_modules/@formio/lodash/lib/object.js\");\nfunction mathOp(a, op, precision) {\n if (precision === void 0) { precision = 0; }\n if (!precision) {\n return op(a);\n }\n precision = Math.pow(10, precision);\n return op(a * precision) / precision;\n}\nfunction compareBy(arr, fn, op) {\n var first = arr[0];\n if (arr.length <= 1) {\n return first;\n }\n var fnString = (0, lang_1.isString)(fn);\n return arr.slice(1).reduce(function (current, next) {\n var currentValue = fnString ? (0, object_1.get)(current, fn) : fn(current);\n var nextValue = fnString ? (0, object_1.get)(next, fn) : fn(next);\n var result = op(currentValue, nextValue);\n return (result === nextValue) ? next : current;\n }, first);\n}\nfunction valueBy(arr, fn, op) {\n var first = arr[0];\n if (arr.length <= 1) {\n return first;\n }\n var fnString = (0, lang_1.isString)(fn);\n return arr.slice(1).reduce(function (current, next) { return op(current, fnString ? (0, object_1.get)(next, fn) : fn(next)); }, fnString ? (0, object_1.get)(first, fn) : fn(first));\n}\n/**\n * @link https://lodash.com/docs/4.17.15#add\n * @param augend\n * @param addend\n * @returns\n */\nfunction add(augend, addend) {\n return augend + addend;\n}\nexports.add = add;\n/**\n * @link https://lodash.com/docs/4.17.15#ceil\n * @param num\n * @param precision\n * @returns\n */\nfunction ceil(num, precision) {\n if (precision === void 0) { precision = 0; }\n return mathOp(num, Math.ceil, precision);\n}\nexports.ceil = ceil;\n/**\n * https://lodash.com/docs/4.17.15#divide\n * @param dividend\n * @param divisor\n * @returns\n */\nfunction divide(dividend, divisor) {\n return dividend / divisor;\n}\nexports.divide = divide;\n/**\n * @link https://lodash.com/docs/4.17.15#floor\n * @param num\n * @param precision\n * @returns\n */\nfunction floor(num, precision) {\n if (precision === void 0) { precision = 0; }\n return mathOp(num, Math.floor, precision);\n}\nexports.floor = floor;\n/**\n * @link https://lodash.com/docs/4.17.15#max\n * @param arr\n * @returns\n */\nfunction max(arr) {\n return Math.max.apply(Math, arr);\n}\nexports.max = max;\n/**\n * @link https://lodash.com/docs/4.17.15#maxBy\n */\nfunction maxBy(arr, fn) {\n return compareBy(arr, fn, Math.max);\n}\nexports.maxBy = maxBy;\n/**\n * @link https://lodash.com/docs/4.17.15#mean\n * @param arr\n * @returns\n */\nfunction mean(arr) {\n return sum(arr) / arr.length;\n}\nexports.mean = mean;\n/**\n * @link https://lodash.com/docs/4.17.15#meanBy\n * @param arr\n * @param fn\n * @returns\n */\nfunction meanBy(arr, fn) {\n return sumBy(arr, fn) / arr.length;\n}\nexports.meanBy = meanBy;\n/**\n * @link https://lodash.com/docs/4.17.15#min\n * @param arr\n * @returns\n */\nfunction min(arr) {\n return Math.min.apply(Math, arr);\n}\nexports.min = min;\n/**\n * @link https://lodash.com/docs/4.17.15#minBy\n * @param arr\n * @param fn\n * @returns\n */\nfunction minBy(arr, fn) {\n return compareBy(arr, fn, Math.min);\n}\nexports.minBy = minBy;\n/**\n * @link https://lodash.com/docs/4.17.15#multiply\n * @param multiplier\n * @param multiplicand\n * @returns\n */\nfunction multiply(multiplier, multiplicand) {\n return multiplier * multiplicand;\n}\nexports.multiply = multiply;\n/**\n * @link https://lodash.com/docs/4.17.15#round\n * @param num\n * @param precision\n * @returns\n */\nfunction round(num, precision) {\n if (precision === void 0) { precision = 0; }\n return mathOp(num, Math.round, precision);\n}\nexports.round = round;\n/**\n * @link https://lodash.com/docs/4.17.15#subtract\n * @param a\n * @param b\n * @returns\n */\nfunction subtract(minuend, subtrahend) {\n return minuend - subtrahend;\n}\nexports.subtract = subtract;\n/**\n * Perform a modulus operation between two numbers.\n * @param a\n * @param b\n * @returns\n */\nfunction mod(a, b) {\n return a % b;\n}\nexports.mod = mod;\n/**\n * @link https://lodash.com/docs/4.17.15#sum\n * @param arr\n * @returns\n */\nfunction sum(arr) {\n return arr.reduce(add, 0);\n}\nexports.sum = sum;\n/**\n * @link https://lodash.com/docs/4.17.15#sumBy\n * @param arr\n * @param fn\n * @returns\n */\nfunction sumBy(arr, fn) {\n return valueBy(arr, fn, function (a, b) { return (a + b); });\n}\nexports.sumBy = sumBy;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/math.js?");
195
-
196
- /***/ }),
197
-
198
- /***/ "./node_modules/@formio/lodash/lib/object.js":
199
- /*!***************************************************!*\
200
- !*** ./node_modules/@formio/lodash/lib/object.js ***!
201
- \***************************************************/
202
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
203
-
204
- "use strict";
205
- eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.pick = exports.defaults = exports.cloneDeep = exports.clone = exports.fastCloneDeep = exports.merge = exports.set = exports.has = exports.propertyOf = exports.property = exports.get = exports.pathParts = exports.values = exports.keys = void 0;\nvar lang_1 = __webpack_require__(/*! ./lang */ \"./node_modules/@formio/lodash/lib/lang.js\");\nvar array_1 = __webpack_require__(/*! ./array */ \"./node_modules/@formio/lodash/lib/array.js\");\n/**\n * Get the keys of an Object.\n * @param obj\n */\nfunction keys(obj) {\n return Object.keys(obj);\n}\nexports.keys = keys;\n;\n/**\n * Return the values of an object or an array.\n * @param obj\n * @returns\n */\nfunction values(obj) {\n return (0, lang_1.isArray)(obj) ? obj : Object.values(obj);\n}\nexports.values = values;\n/**\n * Retrieve the path parts provided a path string.\n * @param path\n */\nfunction pathParts(path) {\n if (!path) {\n return [];\n }\n if (path[0] === '[') {\n path = path.replace(/^\\[([^\\]]+)\\]/, '$1');\n }\n return path.\n replace(/\\[/g, '.').\n replace(/\\]/g, '').\n split('.');\n}\nexports.pathParts = pathParts;\n/**\n * Get the value from an object or an array provided a path.\n *\n * @param obj\n * @param path\n * @param def\n */\nfunction get(obj, path, def) {\n var val = pathParts(path).reduce(function (o, k) { return (o || {})[k]; }, obj);\n return (typeof def !== 'undefined' &&\n typeof val === 'undefined') ? def : val;\n}\nexports.get = get;\nfunction property(path) {\n return function (obj) { return get(obj, path); };\n}\nexports.property = property;\nfunction propertyOf(obj) {\n return function (path) { return get(obj, path); };\n}\nexports.propertyOf = propertyOf;\n/**\n * Determine if a value is set.\n *\n * @param obj\n * @param path\n */\nfunction has(obj, path) {\n return get(obj, path, undefined) !== undefined;\n}\nexports.has = has;\n/**\n * Sets the value of an item within an array or object.\n * @param obj\n * @param path\n * @param value\n */\nfunction set(obj, path, value) {\n var parts = pathParts(path);\n parts.reduce(function (o, k, i) {\n if (!isNaN(Number(k))) {\n k = Number(k);\n }\n if ((Array.isArray(o) ? (k >= o.length) : !o.hasOwnProperty(k)) ||\n ((i < (parts.length - 1)) && !Array.isArray(o[k]) && !(0, lang_1.isObject)(o[k]))) {\n o[k] = !isNaN(Number(parts[i + 1])) ? [] : {};\n }\n if (i === (parts.length - 1)) {\n o[k] = value;\n }\n return o[k];\n }, obj);\n return obj;\n}\nexports.set = set;\n;\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n }\n catch (_) {\n return false;\n }\n}\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n && Object.propertyIsEnumerable.call(target, key)); // and also unsafe if they're nonenumerable.\n}\n/**\n * Merge a single object.\n *\n * @param target\n * @param source\n * @returns\n */\nfunction mergeObject(target, source) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n if (propertyIsOnObject(target, key)) {\n target[key] = merge(target[key], source[key]);\n }\n else {\n target[key] = cloneDeep(source[key]);\n }\n }\n }\n return target;\n}\n/**\n * Merge two arrays.\n * @param target\n * @param source\n */\nfunction mergeArray(target, source) {\n source.forEach(function (subSource, index) {\n target[index] = merge(target[index], subSource);\n });\n return target;\n}\n/**\n * Merges a complex data object.\n *\n * @param a\n * @param b\n * @param options\n */\nfunction merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var first = args.shift();\n return args.reduce(function (target, source, index) {\n if (!target || (target === source)) {\n return cloneDeep(source);\n }\n else if ((0, lang_1.isArray)(source)) {\n // If there is no target array, then make it one.\n if (!(0, lang_1.isArray)(target)) {\n args[index] = target = [];\n }\n return mergeArray(target, source);\n }\n else if ((0, lang_1.isPlainObject)(source)) {\n return mergeObject(target, source);\n }\n else {\n return cloneDeep(source);\n }\n }, first);\n}\nexports.merge = merge;\n/**\n * Performs a fast clone deep operation.\n *\n * @param obj\n */\nfunction fastCloneDeep(obj) {\n try {\n return JSON.parse(JSON.stringify(obj));\n }\n catch (err) {\n console.log(\"Clone Failed: \".concat(err.message));\n return null;\n }\n}\nexports.fastCloneDeep = fastCloneDeep;\n/**\n * Performs a shallow clone of an object.\n * @param src\n */\nfunction clone(src) {\n if (Array.isArray(src)) { // for arrays\n return __spreadArray([], src, true);\n }\n else {\n return __assign({}, src);\n }\n}\nexports.clone = clone;\n/**\n * Performs a recursive cloneDeep operation.\n * @param src\n * @returns\n */\nfunction cloneDeep(src) {\n if (Array.isArray(src)) { // for arrays\n return src.map(cloneDeep);\n }\n if (src === null || typeof src !== 'object') { // for primitives / functions / non-references/pointers\n return src;\n }\n return Object.fromEntries(Object.entries(src).map(function (_a) {\n var key = _a[0], val = _a[1];\n return ([key, cloneDeep(val)]);\n }));\n}\nexports.cloneDeep = cloneDeep;\n/**\n * Sets the defaults of an object.\n *\n * @param obj\n * @param defs\n */\nfunction defaults(obj, defs) {\n (0, array_1.each)(defs, function (value, key) {\n if (!obj.hasOwnProperty(key)) {\n obj[key] = value;\n }\n });\n return obj;\n}\nexports.defaults = defaults;\n/**\n * Pick an item in an object.\n * @param object\n * @param keys\n */\nfunction pick(object, keys) {\n return keys.reduce(function (obj, key) {\n if (object && object.hasOwnProperty(key)) {\n obj[key] = object[key];\n }\n return obj;\n }, {});\n}\nexports.pick = pick;\n;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/object.js?");
206
-
207
- /***/ }),
208
-
209
- /***/ "./node_modules/@formio/lodash/lib/string.js":
210
- /*!***************************************************!*\
211
- !*** ./node_modules/@formio/lodash/lib/string.js ***!
212
- \***************************************************/
213
- /***/ (function(__unused_webpack_module, exports) {
214
-
215
- "use strict";
216
- eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.endsWith = exports.trim = void 0;\n// From https://youmightnotneed.com/lodash/#trim\nfunction trim(str, c) {\n if (c === void 0) { c = '\\\\s'; }\n return str.replace(new RegExp(\"^([\".concat(c, \"]*)(.*?)([\").concat(c, \"]*)$\")), '$2');\n}\nexports.trim = trim;\n// Polyfill from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (search, this_len) {\n if (this_len === undefined || this_len > this.length) {\n this_len = this.length;\n }\n // @ts-ignore: Object is possibly 'undefined'\n return this.substring(this_len - search.length, this_len) === search;\n };\n}\n// From https://youmightnotneed.com/lodash/#endsWith\nfunction endsWith(str, c) {\n return str.endsWith(c);\n}\nexports.endsWith = endsWith;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/lodash/lib/string.js?");
150
+ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.boolValue = exports.escapeRegExCharacters = void 0;\nconst lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/**\n * Escapes RegEx characters in provided String value.\n *\n * @param {String} value\n * String for escaping RegEx characters.\n * @returns {string}\n * String with escaped RegEx characters.\n */\nfunction escapeRegExCharacters(value) {\n return value.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nexports.escapeRegExCharacters = escapeRegExCharacters;\n/**\n * Determines the boolean value of a setting.\n *\n * @param value\n * @return {boolean}\n */\nfunction boolValue(value) {\n if ((0, lodash_1.isBoolean)(value)) {\n return value;\n }\n else if ((0, lodash_1.isString)(value)) {\n return (value.toLowerCase() === 'true');\n }\n else {\n return !!value;\n }\n}\nexports.boolValue = boolValue;\n\n\n//# sourceURL=webpack://Formio/./node_modules/@formio/core/lib/utils/utils.js?");
217
151
 
218
152
  /***/ }),
219
153
 
@@ -2156,7 +2090,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
2156
2090
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2157
2091
 
2158
2092
  "use strict";
2159
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getStrings = exports.getValue = exports.escapeRegExCharacters = exports.formatAsCurrency = exports.parseFloatExt = exports.hasCondition = exports.flattenComponents = exports.applyFormChanges = exports.generateFormChange = exports.removeComponent = exports.findComponent = exports.findComponents = exports.searchComponents = exports.getComponent = exports.matchComponent = exports.eachComponent = exports.isLayoutComponent = void 0;\nconst get_1 = __importDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nconst set_1 = __importDefault(__webpack_require__(/*! lodash/set */ \"./node_modules/lodash/set.js\"));\nconst has_1 = __importDefault(__webpack_require__(/*! lodash/has */ \"./node_modules/lodash/has.js\"));\nconst clone_1 = __importDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\nconst forOwn_1 = __importDefault(__webpack_require__(/*! lodash/forOwn */ \"./node_modules/lodash/forOwn.js\"));\nconst isString_1 = __importDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\nconst isNaN_1 = __importDefault(__webpack_require__(/*! lodash/isNaN */ \"./node_modules/lodash/isNaN.js\"));\nconst isNil_1 = __importDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nconst isPlainObject_1 = __importDefault(__webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\"));\nconst round_1 = __importDefault(__webpack_require__(/*! lodash/round */ \"./node_modules/lodash/round.js\"));\nconst chunk_1 = __importDefault(__webpack_require__(/*! lodash/chunk */ \"./node_modules/lodash/chunk.js\"));\nconst pad_1 = __importDefault(__webpack_require__(/*! lodash/pad */ \"./node_modules/lodash/pad.js\"));\nconst fast_json_patch_1 = __webpack_require__(/*! fast-json-patch */ \"./node_modules/fast-json-patch/index.mjs\");\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./lib/cjs/utils/utils.js\");\n/**\n * Determine if a component is a layout component or not.\n *\n * @param {Object} component\n * The component to check.\n *\n * @returns {Boolean}\n * Whether or not the component is a layout component.\n */\nfunction isLayoutComponent(component) {\n return Boolean((component.columns && Array.isArray(component.columns)) ||\n (component.rows && Array.isArray(component.rows)) ||\n (component.components && Array.isArray(component.components)));\n}\nexports.isLayoutComponent = isLayoutComponent;\n/**\n * Iterate through each component within a form.\n *\n * @param {Object} components\n * The components to iterate.\n * @param {Function} fn\n * The iteration function to invoke for each component.\n * @param {Boolean} includeAll\n * Whether or not to include layout components.\n * @param {String} path\n * The current data path of the element. Example: data.user.firstName\n * @param {Object} parent\n * The parent object.\n */\nfunction eachComponent(components, fn, includeAll, path, parent, inRecursion) {\n if (!components)\n return;\n path = path || '';\n if (inRecursion) {\n if (components.noRecurse) {\n delete components.noRecurse;\n return;\n }\n components.noRecurse = true;\n }\n components.forEach((component) => {\n if (!component) {\n return;\n }\n const hasColumns = component.columns && Array.isArray(component.columns);\n const hasRows = component.rows && Array.isArray(component.rows);\n const hasComps = component.components && Array.isArray(component.components);\n let noRecurse = false;\n const newPath = component.key ? (path ? (`${path}.${component.key}`) : component.key) : '';\n // Keep track of parent references.\n if (parent) {\n // Ensure we don't create infinite JSON structures.\n component.parent = (0, clone_1.default)(parent);\n delete component.parent.components;\n delete component.parent.componentMap;\n delete component.parent.columns;\n delete component.parent.rows;\n }\n // there's no need to add other layout components here because we expect that those would either have columns, rows or components\n const layoutTypes = ['htmlelement', 'content'];\n const isLayoutComponent = hasColumns || hasRows || (hasComps && !component.input) || layoutTypes.indexOf(component.type) > -1;\n if (includeAll || component.tree || !isLayoutComponent) {\n noRecurse = fn(component, newPath, components);\n }\n const subPath = () => {\n if (component.key &&\n !['panel', 'table', 'well', 'columns', 'fieldset', 'tabs', 'form'].includes(component.type) &&\n (['datagrid', 'container', 'editgrid', 'address', 'dynamicWizard', 'datatable', 'tagpad'].includes(component.type) ||\n component.tree)) {\n return newPath;\n }\n else if (component.key &&\n component.type === 'form') {\n return `${newPath}.data`;\n }\n return path;\n };\n if (!noRecurse) {\n if (hasColumns) {\n component.columns.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);\n }\n else if (hasRows) {\n component.rows.forEach((row) => {\n if (Array.isArray(row)) {\n row.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);\n }\n });\n }\n else if (hasComps) {\n eachComponent(component.components, fn, includeAll, subPath(), parent ? component : null, true);\n }\n }\n });\n if (components.noRecurse) {\n delete components.noRecurse;\n }\n}\nexports.eachComponent = eachComponent;\n/**\n * Matches if a component matches the query.\n *\n * @param component\n * @param query\n * @return {boolean}\n */\nfunction matchComponent(component, query) {\n if ((0, isString_1.default)(query)) {\n return (component.key === query) || (component.path === query);\n }\n else {\n let matches = false;\n (0, forOwn_1.default)(query, (value, key) => {\n matches = ((0, get_1.default)(component, key) === value);\n if (!matches) {\n return false;\n }\n });\n return matches;\n }\n}\nexports.matchComponent = matchComponent;\n/**\n * Get a component by its key\n *\n * @param {Object} components\n * The components to iterate.\n * @param {String|Object} key\n * The key of the component to get, or a query of the component to search.\n *\n * @returns {Object}\n * The component that matches the given key, or undefined if not found.\n */\nfunction getComponent(components, key, includeAll) {\n let result;\n eachComponent(components, (component, path) => {\n if ((path === key) || (component.path === key)) {\n result = component;\n return true;\n }\n }, includeAll);\n return result;\n}\nexports.getComponent = getComponent;\n/**\n * Finds a component provided a query of properties of that component.\n *\n * @param components\n * @param query\n * @return {*}\n */\nfunction searchComponents(components, query) {\n const results = [];\n eachComponent(components, (component) => {\n if (matchComponent(component, query)) {\n results.push(component);\n }\n }, true);\n return results;\n}\nexports.searchComponents = searchComponents;\n/**\n * Deprecated version of findComponents. Renamed to searchComponents.\n *\n * @param components\n * @param query\n * @returns {*}\n */\nfunction findComponents(components, query) {\n console.warn('formio.js/utils findComponents is deprecated. Use searchComponents instead.');\n return searchComponents(components, query);\n}\nexports.findComponents = findComponents;\n/**\n * This function will find a component in a form and return the component AND THE PATH to the component in the form.\n * Path to the component is stored as an array of nested components and their indexes.The Path is being filled recursively\n * when you iterating through the nested structure.\n * If the component is not found the callback won't be called and function won't return anything.\n *\n * @param components\n * @param key\n * @param fn\n * @param path\n * @returns {*}\n */\nfunction findComponent(components, key, path, fn) {\n if (!components)\n return;\n path = path || [];\n if (!key) {\n return fn(components);\n }\n components.forEach(function (component, index) {\n var newPath = path.slice();\n // Add an index of the component it iterates through in nested structure\n newPath.push(index);\n if (!component)\n return;\n if (component.hasOwnProperty('columns') && Array.isArray(component.columns)) {\n newPath.push('columns');\n component.columns.forEach(function (column, index) {\n var colPath = newPath.slice();\n colPath.push(index);\n colPath.push('components');\n findComponent(column.components, key, colPath, fn);\n });\n }\n if (component.hasOwnProperty('rows') && Array.isArray(component.rows)) {\n newPath.push('rows');\n component.rows.forEach(function (row, index) {\n var rowPath = newPath.slice();\n rowPath.push(index);\n row.forEach(function (column, index) {\n var colPath = rowPath.slice();\n colPath.push(index);\n colPath.push('components');\n findComponent(column.components, key, colPath, fn);\n });\n });\n }\n if (component.hasOwnProperty('components') && Array.isArray(component.components)) {\n newPath.push('components');\n findComponent(component.components, key, newPath, fn);\n }\n if (component.key === key) {\n //Final callback if the component is found\n fn(component, newPath, components);\n }\n });\n}\nexports.findComponent = findComponent;\n/**\n * Remove a component by path.\n *\n * @param components\n * @param path\n */\nfunction removeComponent(components, path) {\n // Using _.unset() leave a null value. Use Array splice instead.\n var index = path.pop();\n if (path.length !== 0) {\n components = (0, get_1.default)(components, path);\n }\n components.splice(index, 1);\n}\nexports.removeComponent = removeComponent;\nfunction generateFormChange(type, data) {\n let change;\n switch (type) {\n case 'add':\n change = {\n op: 'add',\n key: data.component.key,\n container: data.parent.key,\n path: data.path,\n index: data.index,\n component: data.component\n };\n break;\n case 'edit':\n change = {\n op: 'edit',\n key: data.originalComponent.key,\n patches: (0, fast_json_patch_1.compare)(data.originalComponent, data.component)\n };\n // Don't save if nothing changed.\n if (!change.patches.length) {\n change = null;\n }\n break;\n case 'remove':\n change = {\n op: 'remove',\n key: data.component.key,\n };\n break;\n }\n return change;\n}\nexports.generateFormChange = generateFormChange;\nfunction applyFormChanges(form, changes) {\n const failed = [];\n changes.forEach(function (change) {\n var found = false;\n switch (change.op) {\n case 'add':\n var newComponent = change.component;\n // Find the container to set the component in.\n findComponent(form.components, change.container, null, function (parent) {\n if (!change.container) {\n parent = form;\n }\n // A move will first run an add so remove any existing components with matching key before inserting.\n findComponent(form.components, change.key, null, function (component, path) {\n // If found, use the existing component. (If someone else edited it, the changes would be here)\n newComponent = component;\n removeComponent(form.components, path);\n });\n found = true;\n var container = (0, get_1.default)(parent, change.path);\n container.splice(change.index, 0, newComponent);\n });\n break;\n case 'remove':\n findComponent(form.components, change.key, null, function (component, path) {\n found = true;\n const oldComponent = (0, get_1.default)(form.components, path);\n if (oldComponent.key !== component.key) {\n path.pop();\n }\n removeComponent(form.components, path);\n });\n break;\n case 'edit':\n findComponent(form.components, change.key, null, function (component, path) {\n found = true;\n try {\n const oldComponent = (0, get_1.default)(form.components, path);\n const newComponent = (0, fast_json_patch_1.applyPatch)(component, change.patches).newDocument;\n if (oldComponent.key !== newComponent.key) {\n path.pop();\n }\n (0, set_1.default)(form.components, path, newComponent);\n }\n catch (err) {\n failed.push(change);\n }\n });\n break;\n case 'move':\n break;\n }\n if (!found) {\n failed.push(change);\n }\n });\n return {\n form,\n failed\n };\n}\nexports.applyFormChanges = applyFormChanges;\n/**\n * Flatten the form components for data manipulation.\n *\n * @param {Object} components\n * The components to iterate.\n * @param {Boolean} includeAll\n * Whether or not to include layout components.\n *\n * @returns {Object}\n * The flattened components map.\n */\nfunction flattenComponents(components, includeAll) {\n const flattened = {};\n eachComponent(components, (component, path) => {\n flattened[path] = component;\n }, includeAll);\n return flattened;\n}\nexports.flattenComponents = flattenComponents;\n/**\n * Returns if this component has a conditional statement.\n *\n * @param component - The component JSON schema.\n *\n * @returns {boolean} - TRUE - This component has a conditional, FALSE - No conditional provided.\n */\nfunction hasCondition(component) {\n return Boolean((component.customConditional) ||\n (component.conditional && (component.conditional.when ||\n (lodash_1.default.some(component.conditional.conditions || [], (condition => condition.component && condition.operator))) ||\n component.conditional.json ||\n component.conditional.condition)));\n}\nexports.hasCondition = hasCondition;\n/**\n * Extension of standard #parseFloat(value) function, that also clears input string.\n *\n * @param {any} value\n * The value to parse.\n *\n * @returns {Number}\n * Parsed value.\n */\nfunction parseFloatExt(value) {\n return parseFloat((0, isString_1.default)(value)\n ? value.replace(/[^\\de.+-]/gi, '')\n : value);\n}\nexports.parseFloatExt = parseFloatExt;\n/**\n * Formats provided value in way how Currency component uses it.\n *\n * @param {any} value\n * The value to format.\n *\n * @returns {String}\n * Value formatted for Currency component.\n */\nfunction formatAsCurrency(value) {\n const parsedValue = parseFloatExt(value);\n if ((0, isNaN_1.default)(parsedValue)) {\n return '';\n }\n const parts = (0, round_1.default)(parsedValue, 2)\n .toString()\n .split('.');\n parts[0] = (0, chunk_1.default)(Array.from(parts[0]).reverse(), 3)\n .reverse()\n .map((part) => part\n .reverse()\n .join(''))\n .join(',');\n parts[1] = (0, pad_1.default)(parts[1], 2, '0');\n return parts.join('.');\n}\nexports.formatAsCurrency = formatAsCurrency;\n/**\n * Escapes RegEx characters in provided String value.\n *\n * @param {String} value\n * String for escaping RegEx characters.\n * @returns {string}\n * String with escaped RegEx characters.\n */\nfunction escapeRegExCharacters(value) {\n return value.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nexports.escapeRegExCharacters = escapeRegExCharacters;\n/**\n * Get the value for a component key, in the given submission.\n *\n * @param {Object} submission\n * A submission object to search.\n * @param {String} key\n * A for components API key to search for.\n */\nfunction getValue(submission, key) {\n const search = (data) => {\n if ((0, isPlainObject_1.default)(data)) {\n if ((0, has_1.default)(data, key)) {\n return lodash_1.default.get(data, key);\n }\n let value = null;\n (0, forOwn_1.default)(data, (prop) => {\n const result = search(prop);\n if (!(0, isNil_1.default)(result)) {\n value = result;\n return false;\n }\n });\n return value;\n }\n else {\n return null;\n }\n };\n return search(submission.data);\n}\nexports.getValue = getValue;\n/**\n * Iterate over all components in a form and get string values for translation.\n * @param form\n */\nfunction getStrings(form) {\n const properties = ['label', 'title', 'legend', 'tooltip', 'description', 'placeholder', 'prefix', 'suffix', 'errorLabel', 'content', 'html'];\n const strings = [];\n eachComponent(form.components, component => {\n properties.forEach(property => {\n if (component.hasOwnProperty(property) && component[property]) {\n strings.push({\n key: component.key,\n type: component.type,\n property,\n string: component[property]\n });\n }\n });\n if ((!component.dataSrc || component.dataSrc === 'values') && component.hasOwnProperty('values') && Array.isArray(component.values) && component.values.length) {\n component.values.forEach((value, index) => {\n strings.push({\n key: component.key,\n property: `value[${index}].label`,\n string: component.values[index].label\n });\n });\n }\n // Hard coded values from Day component\n if (component.type === 'day') {\n [\n 'day',\n 'month',\n 'year',\n 'Day',\n 'Month',\n 'Year',\n 'january',\n 'february',\n 'march',\n 'april',\n 'may',\n 'june',\n 'july',\n 'august',\n 'september',\n 'october',\n 'november',\n 'december'\n ].forEach(string => {\n strings.push({\n key: component.key,\n property: 'day',\n string,\n });\n });\n if (component.fields.day.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.day.placeholder',\n string: component.fields.day.placeholder,\n });\n }\n if (component.fields.month.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.month.placeholder',\n string: component.fields.month.placeholder,\n });\n }\n if (component.fields.year.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.year.placeholder',\n string: component.fields.year.placeholder,\n });\n }\n }\n if (component.type === 'editgrid') {\n const string = component.addAnother || 'Add Another';\n if (component.addAnother) {\n strings.push({\n key: component.key,\n property: 'addAnother',\n string,\n });\n }\n }\n if (component.type === 'select') {\n [\n 'loading...',\n 'Type to search'\n ].forEach(string => {\n strings.push({\n key: component.key,\n property: 'select',\n string,\n });\n });\n }\n }, true);\n return strings;\n}\nexports.getStrings = getStrings;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/utils/formUtils.js?");
2093
+ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getStrings = exports.getValue = exports.escapeRegExCharacters = exports.formatAsCurrency = exports.parseFloatExt = exports.hasCondition = exports.flattenComponents = exports.applyFormChanges = exports.generateFormChange = exports.removeComponent = exports.findComponent = exports.findComponents = exports.searchComponents = exports.getComponent = exports.matchComponent = exports.eachComponent = exports.isLayoutComponent = void 0;\nconst get_1 = __importDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nconst set_1 = __importDefault(__webpack_require__(/*! lodash/set */ \"./node_modules/lodash/set.js\"));\nconst has_1 = __importDefault(__webpack_require__(/*! lodash/has */ \"./node_modules/lodash/has.js\"));\nconst clone_1 = __importDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\nconst forOwn_1 = __importDefault(__webpack_require__(/*! lodash/forOwn */ \"./node_modules/lodash/forOwn.js\"));\nconst isString_1 = __importDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\nconst isNaN_1 = __importDefault(__webpack_require__(/*! lodash/isNaN */ \"./node_modules/lodash/isNaN.js\"));\nconst isNil_1 = __importDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nconst isPlainObject_1 = __importDefault(__webpack_require__(/*! lodash/isPlainObject */ \"./node_modules/lodash/isPlainObject.js\"));\nconst round_1 = __importDefault(__webpack_require__(/*! lodash/round */ \"./node_modules/lodash/round.js\"));\nconst chunk_1 = __importDefault(__webpack_require__(/*! lodash/chunk */ \"./node_modules/lodash/chunk.js\"));\nconst pad_1 = __importDefault(__webpack_require__(/*! lodash/pad */ \"./node_modules/lodash/pad.js\"));\nconst fast_json_patch_1 = __webpack_require__(/*! fast-json-patch */ \"./node_modules/fast-json-patch/index.mjs\");\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nconst utils_1 = __webpack_require__(/*! ./utils */ \"./lib/cjs/utils/utils.js\");\n/**\n * Determine if a component is a layout component or not.\n *\n * @param {Object} component\n * The component to check.\n *\n * @returns {Boolean}\n * Whether or not the component is a layout component.\n */\nfunction isLayoutComponent(component) {\n return Boolean((component.columns && Array.isArray(component.columns)) ||\n (component.rows && Array.isArray(component.rows)) ||\n (component.components && Array.isArray(component.components)));\n}\nexports.isLayoutComponent = isLayoutComponent;\n/**\n * Iterate through each component within a form.\n *\n * @param {Object} components\n * The components to iterate.\n * @param {Function} fn\n * The iteration function to invoke for each component.\n * @param {Boolean} includeAll\n * Whether or not to include layout components.\n * @param {String} path\n * The current data path of the element. Example: data.user.firstName\n * @param {Object} parent\n * The parent object.\n */\nfunction eachComponent(components, fn, includeAll, path, parent, inRecursion) {\n if (!components)\n return;\n path = path || '';\n if (inRecursion) {\n if (components.noRecurse) {\n delete components.noRecurse;\n return;\n }\n components.noRecurse = true;\n }\n components.forEach((component) => {\n if (!component) {\n return;\n }\n const hasColumns = component.columns && Array.isArray(component.columns);\n const hasRows = component.rows && Array.isArray(component.rows);\n const hasComps = component.components && Array.isArray(component.components);\n let noRecurse = false;\n const newPath = component.key ? (path ? (`${path}.${component.key}`) : component.key) : '';\n // Keep track of parent references.\n if (parent) {\n // Ensure we don't create infinite JSON structures.\n component.parent = (0, clone_1.default)(parent);\n delete component.parent.components;\n delete component.parent.componentMap;\n delete component.parent.columns;\n delete component.parent.rows;\n }\n // there's no need to add other layout components here because we expect that those would either have columns, rows or components\n const layoutTypes = ['htmlelement', 'content'];\n const isLayoutComponent = hasColumns || hasRows || (hasComps && !component.input) || layoutTypes.indexOf(component.type) > -1;\n if (includeAll || component.tree || !isLayoutComponent) {\n noRecurse = fn(component, newPath, components);\n }\n const subPath = () => {\n if (component.key &&\n !['panel', 'table', 'well', 'columns', 'fieldset', 'tabs', 'form'].includes(component.type) &&\n (['datagrid', 'container', 'editgrid', 'address', 'dynamicWizard', 'datatable', 'tagpad'].includes(component.type) ||\n component.tree)) {\n return newPath;\n }\n else if (component.key &&\n component.type === 'form') {\n return `${newPath}.data`;\n }\n return path;\n };\n if (!noRecurse) {\n if (hasColumns) {\n component.columns.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);\n }\n else if (hasRows) {\n component.rows.forEach((row) => {\n if (Array.isArray(row)) {\n row.forEach((column) => eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null), true);\n }\n });\n }\n else if (hasComps) {\n eachComponent(component.components, fn, includeAll, subPath(), parent ? component : null, true);\n }\n }\n });\n if (components.noRecurse) {\n delete components.noRecurse;\n }\n}\nexports.eachComponent = eachComponent;\n/**\n * Matches if a component matches the query.\n *\n * @param component\n * @param query\n * @return {boolean}\n */\nfunction matchComponent(component, query) {\n if ((0, isString_1.default)(query)) {\n return (component.key === query) || (component.path === query);\n }\n else {\n let matches = false;\n (0, forOwn_1.default)(query, (value, key) => {\n matches = ((0, get_1.default)(component, key) === value);\n if (!matches) {\n return false;\n }\n });\n return matches;\n }\n}\nexports.matchComponent = matchComponent;\n/**\n * Get a component by its key\n *\n * @param {Object} components\n * The components to iterate.\n * @param {String|Object} key\n * The key of the component to get, or a query of the component to search.\n *\n * @returns {Object}\n * The component that matches the given key, or undefined if not found.\n */\nfunction getComponent(components, key, includeAll) {\n let result;\n eachComponent(components, (component, path) => {\n if ((path === key) || (component.path === key)) {\n result = component;\n return true;\n }\n }, includeAll);\n return result;\n}\nexports.getComponent = getComponent;\n/**\n * Finds a component provided a query of properties of that component.\n *\n * @param components\n * @param query\n * @return {*}\n */\nfunction searchComponents(components, query) {\n const results = [];\n eachComponent(components, (component) => {\n if (matchComponent(component, query)) {\n results.push(component);\n }\n }, true);\n return results;\n}\nexports.searchComponents = searchComponents;\n/**\n * Deprecated version of findComponents. Renamed to searchComponents.\n *\n * @param components\n * @param query\n * @returns {*}\n */\nfunction findComponents(components, query) {\n console.warn('formio.js/utils findComponents is deprecated. Use searchComponents instead.');\n return searchComponents(components, query);\n}\nexports.findComponents = findComponents;\n/**\n * This function will find a component in a form and return the component AND THE PATH to the component in the form.\n * Path to the component is stored as an array of nested components and their indexes.The Path is being filled recursively\n * when you iterating through the nested structure.\n * If the component is not found the callback won't be called and function won't return anything.\n *\n * @param components\n * @param key\n * @param fn\n * @param path\n * @returns {*}\n */\nfunction findComponent(components, key, path, fn) {\n if (!components)\n return;\n path = path || [];\n if (!key) {\n return fn(components);\n }\n components.forEach(function (component, index) {\n var newPath = path.slice();\n // Add an index of the component it iterates through in nested structure\n newPath.push(index);\n if (!component)\n return;\n if (component.hasOwnProperty('columns') && Array.isArray(component.columns)) {\n newPath.push('columns');\n component.columns.forEach(function (column, index) {\n var colPath = newPath.slice();\n colPath.push(index);\n colPath.push('components');\n findComponent(column.components, key, colPath, fn);\n });\n }\n if (component.hasOwnProperty('rows') && Array.isArray(component.rows)) {\n newPath.push('rows');\n component.rows.forEach(function (row, index) {\n var rowPath = newPath.slice();\n rowPath.push(index);\n row.forEach(function (column, index) {\n var colPath = rowPath.slice();\n colPath.push(index);\n colPath.push('components');\n findComponent(column.components, key, colPath, fn);\n });\n });\n }\n if (component.hasOwnProperty('components') && Array.isArray(component.components)) {\n newPath.push('components');\n findComponent(component.components, key, newPath, fn);\n }\n if (component.key === key) {\n //Final callback if the component is found\n fn(component, newPath, components);\n }\n });\n}\nexports.findComponent = findComponent;\n/**\n * Remove a component by path.\n *\n * @param components\n * @param path\n */\nfunction removeComponent(components, path) {\n // Using _.unset() leave a null value. Use Array splice instead.\n var index = path.pop();\n if (path.length !== 0) {\n components = (0, get_1.default)(components, path);\n }\n components.splice(index, 1);\n}\nexports.removeComponent = removeComponent;\nfunction generateFormChange(type, data) {\n let change;\n switch (type) {\n case 'add':\n change = {\n op: 'add',\n key: data.component.key,\n container: data.parent.key,\n path: data.path,\n index: data.index,\n component: data.component\n };\n break;\n case 'edit':\n change = {\n op: 'edit',\n key: data.originalComponent.key,\n patches: (0, fast_json_patch_1.compare)(data.originalComponent, data.component)\n };\n // Don't save if nothing changed.\n if (!change.patches.length) {\n change = null;\n }\n break;\n case 'remove':\n change = {\n op: 'remove',\n key: data.component.key,\n };\n break;\n }\n return change;\n}\nexports.generateFormChange = generateFormChange;\nfunction applyFormChanges(form, changes) {\n const failed = [];\n changes.forEach(function (change) {\n var found = false;\n switch (change.op) {\n case 'add':\n var newComponent = change.component;\n // Find the container to set the component in.\n findComponent(form.components, change.container, null, function (parent) {\n if (!change.container) {\n parent = form;\n }\n // A move will first run an add so remove any existing components with matching key before inserting.\n findComponent(form.components, change.key, null, function (component, path) {\n // If found, use the existing component. (If someone else edited it, the changes would be here)\n newComponent = component;\n removeComponent(form.components, path);\n });\n found = true;\n var container = (0, get_1.default)(parent, change.path);\n container.splice(change.index, 0, newComponent);\n });\n break;\n case 'remove':\n findComponent(form.components, change.key, null, function (component, path) {\n found = true;\n const oldComponent = (0, get_1.default)(form.components, path);\n if (oldComponent.key !== component.key) {\n path.pop();\n }\n removeComponent(form.components, path);\n });\n break;\n case 'edit':\n findComponent(form.components, change.key, null, function (component, path) {\n found = true;\n try {\n const oldComponent = (0, get_1.default)(form.components, path);\n const newComponent = (0, fast_json_patch_1.applyPatch)(component, change.patches).newDocument;\n if (oldComponent.key !== newComponent.key) {\n path.pop();\n }\n (0, set_1.default)(form.components, path, newComponent);\n }\n catch (err) {\n failed.push(change);\n }\n });\n break;\n case 'move':\n break;\n }\n if (!found) {\n failed.push(change);\n }\n });\n return {\n form,\n failed\n };\n}\nexports.applyFormChanges = applyFormChanges;\n/**\n * Flatten the form components for data manipulation.\n *\n * @param {Object} components\n * The components to iterate.\n * @param {Boolean} includeAll\n * Whether or not to include layout components.\n *\n * @returns {Object}\n * The flattened components map.\n */\nfunction flattenComponents(components, includeAll = false) {\n const flattened = {};\n eachComponent(components, (component, path) => {\n flattened[path] = component;\n }, includeAll);\n return flattened;\n}\nexports.flattenComponents = flattenComponents;\n/**\n * Returns if this component has a conditional statement.\n *\n * @param component - The component JSON schema.\n *\n * @returns {boolean} - TRUE - This component has a conditional, FALSE - No conditional provided.\n */\nfunction hasCondition(component) {\n return Boolean((component.customConditional) ||\n (component.conditional && (component.conditional.when ||\n (lodash_1.default.some(component.conditional.conditions || [], (condition => condition.component && condition.operator))) ||\n component.conditional.json ||\n component.conditional.condition)));\n}\nexports.hasCondition = hasCondition;\n/**\n * Extension of standard #parseFloat(value) function, that also clears input string.\n *\n * @param {any} value\n * The value to parse.\n *\n * @returns {Number}\n * Parsed value.\n */\nfunction parseFloatExt(value) {\n return parseFloat((0, isString_1.default)(value)\n ? value.replace(/[^\\de.+-]/gi, '')\n : value);\n}\nexports.parseFloatExt = parseFloatExt;\n/**\n * Formats provided value in way how Currency component uses it.\n *\n * @param {any} value\n * The value to format.\n *\n * @returns {String}\n * Value formatted for Currency component.\n */\nfunction formatAsCurrency(value) {\n const parsedValue = parseFloatExt(value);\n if ((0, isNaN_1.default)(parsedValue)) {\n return '';\n }\n const parts = (0, round_1.default)(parsedValue, 2)\n .toString()\n .split('.');\n parts[0] = (0, chunk_1.default)(Array.from(parts[0]).reverse(), 3)\n .reverse()\n .map((part) => part\n .reverse()\n .join(''))\n .join(',');\n parts[1] = (0, pad_1.default)(parts[1], 2, '0');\n return parts.join('.');\n}\nexports.formatAsCurrency = formatAsCurrency;\n/**\n * Escapes RegEx characters in provided String value.\n *\n * @param {String} value\n * String for escaping RegEx characters.\n * @returns {string}\n * String with escaped RegEx characters.\n */\nfunction escapeRegExCharacters(value) {\n return value.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\nexports.escapeRegExCharacters = escapeRegExCharacters;\n/**\n * Get the value for a component key, in the given submission.\n *\n * @param {Object} submission\n * A submission object to search.\n * @param {String} key\n * A for components API key to search for.\n */\nfunction getValue(submission, key) {\n const search = (data) => {\n if ((0, isPlainObject_1.default)(data)) {\n if ((0, has_1.default)(data, key)) {\n return lodash_1.default.get(data, key);\n }\n let value = null;\n (0, forOwn_1.default)(data, (prop) => {\n const result = search(prop);\n if (!(0, isNil_1.default)(result)) {\n value = result;\n return false;\n }\n });\n return value;\n }\n else {\n return null;\n }\n };\n return search(submission.data);\n}\nexports.getValue = getValue;\n/**\n * Iterate over all components in a form and get string values for translation.\n * @param form\n */\nfunction getStrings(form) {\n const properties = ['label', 'title', 'legend', 'tooltip', 'description', 'placeholder', 'prefix', 'suffix', 'errorLabel', 'content', 'html'];\n const strings = [];\n eachComponent(form.components, component => {\n properties.forEach(property => {\n if (component.hasOwnProperty(property) && component[property]) {\n strings.push({\n key: component.key,\n type: component.type,\n property,\n string: component[property]\n });\n }\n });\n if ((!component.dataSrc || component.dataSrc === 'values') && component.hasOwnProperty('values') && Array.isArray(component.values) && component.values.length) {\n component.values.forEach((value, index) => {\n strings.push({\n key: component.key,\n property: `value[${index}].label`,\n string: component.values[index].label\n });\n });\n }\n // Hard coded values from Day component\n if (component.type === 'day') {\n [\n 'day',\n 'month',\n 'year',\n 'Day',\n 'Month',\n 'Year',\n 'january',\n 'february',\n 'march',\n 'april',\n 'may',\n 'june',\n 'july',\n 'august',\n 'september',\n 'october',\n 'november',\n 'december'\n ].forEach(string => {\n strings.push({\n key: component.key,\n property: 'day',\n string,\n });\n });\n if (component.fields.day.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.day.placeholder',\n string: component.fields.day.placeholder,\n });\n }\n if (component.fields.month.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.month.placeholder',\n string: component.fields.month.placeholder,\n });\n }\n if (component.fields.year.placeholder) {\n strings.push({\n key: component.key,\n property: 'fields.year.placeholder',\n string: component.fields.year.placeholder,\n });\n }\n }\n if (component.type === 'editgrid') {\n const string = component.addAnother || 'Add Another';\n if (component.addAnother) {\n strings.push({\n key: component.key,\n property: 'addAnother',\n string,\n });\n }\n }\n if (component.type === 'select') {\n [\n 'loading...',\n 'Type to search'\n ].forEach(string => {\n strings.push({\n key: component.key,\n property: 'select',\n string,\n });\n });\n }\n }, true);\n return strings;\n}\nexports.getStrings = getStrings;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/utils/formUtils.js?");
2160
2094
 
2161
2095
  /***/ }),
2162
2096
 
@@ -2178,7 +2112,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
2178
2112
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2179
2113
 
2180
2114
  "use strict";
2181
- eval("\n/* global jQuery */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.observeOverload = exports.withSwitch = exports.firstNonNil = exports.unfold = exports.bootstrapVersion = exports.uniqueKey = exports.iterateKey = exports.delay = exports.fieldData = exports.getCurrencyAffixes = exports.getNumberDecimalLimit = exports.getNumberSeparators = exports.matchInputMask = exports.unmaskValue = exports.getInputMask = exports.convertFormatToMask = exports.convertFormatToMoment = exports.convertFormatToFlatpickr = exports.getLocaleDateFormatInfo = exports.formatOffset = exports.formatDate = exports.momentDate = exports.loadZones = exports.shouldLoadZones = exports.zonesLoaded = exports.offsetDate = exports.currentTimezone = exports.isValidDate = exports.getDateSetting = exports.guid = exports.uniqueName = exports.convertStringToHTMLElement = exports.unescapeHTML = exports.setActionProperty = exports.checkTrigger = exports.checkCondition = exports.checkJsonConditional = exports.checkCustomConditional = exports.getComponentActualValue = exports.checkSimpleConditional = exports.checkCalculated = exports.isMongoId = exports.boolValue = exports.getElementRect = exports.getPropertyValue = exports.getRandomComponentId = exports.evaluate = exports.moment = exports.ConditionOperators = exports.jsonLogic = void 0;\nexports.interpolateErrors = exports.getComponentSavedTypes = exports.componentValueTypes = exports._ = exports.getFocusableElements = exports.isInsideScopingComponent = exports.isPromise = exports.getDataParentComponent = exports.getComponentPath = exports.getComponentPathWithoutIndicies = exports.getBrowserInfo = exports.getIEBrowserVersion = exports.round = exports.getStringFromComponentPath = exports.isChildOf = exports.getArrayFromComponentPath = exports.isInputComponent = exports.interpolate = exports.Evaluator = exports.fastCloneDeep = exports.sanitize = exports.translateHTMLTemplate = exports.getContextButtons = exports.getContextComponents = void 0;\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nexports._ = lodash_1.default;\nconst fetch_ponyfill_1 = __importDefault(__webpack_require__(/*! fetch-ponyfill */ \"./node_modules/fetch-ponyfill/build/fetch-browser.js\"));\nconst json_logic_js_1 = __importDefault(__webpack_require__(/*! json-logic-js */ \"./node_modules/json-logic-js/logic.js\"));\nexports.jsonLogic = json_logic_js_1.default;\nconst moment_timezone_1 = __importDefault(__webpack_require__(/*! moment-timezone/moment-timezone */ \"./node_modules/moment-timezone/moment-timezone.js\"));\nconst jstimezonedetect_1 = __importDefault(__webpack_require__(/*! jstimezonedetect */ \"./node_modules/jstimezonedetect/dist/jstz.min.js\"));\nconst operators_1 = __webpack_require__(/*! ./jsonlogic/operators */ \"./lib/cjs/utils/jsonlogic/operators.js\");\nconst dompurify_1 = __importDefault(__webpack_require__(/*! dompurify */ \"./node_modules/dompurify/dist/purify.js\"));\nconst formUtils_1 = __webpack_require__(/*! ./formUtils */ \"./lib/cjs/utils/formUtils.js\");\nconst Evaluator_1 = __importDefault(__webpack_require__(/*! ./Evaluator */ \"./lib/cjs/utils/Evaluator.js\"));\nexports.Evaluator = Evaluator_1.default;\nconst conditionOperators_1 = __importDefault(__webpack_require__(/*! ./conditionOperators */ \"./lib/cjs/utils/conditionOperators/index.js\"));\nexports.ConditionOperators = conditionOperators_1.default;\nconst interpolate = Evaluator_1.default.interpolate;\nexports.interpolate = interpolate;\nconst { fetch } = (0, fetch_ponyfill_1.default)({\n Promise: Promise\n});\n__exportStar(__webpack_require__(/*! ./formUtils */ \"./lib/cjs/utils/formUtils.js\"), exports);\n// Configure JsonLogic\noperators_1.lodashOperators.forEach((name) => json_logic_js_1.default.add_operation(`_${name}`, lodash_1.default[name]));\n// Retrieve Any Date\njson_logic_js_1.default.add_operation('getDate', (date) => {\n return (0, moment_timezone_1.default)(date).toISOString();\n});\n// Set Relative Minimum Date\njson_logic_js_1.default.add_operation('relativeMinDate', (relativeMinDate) => {\n return (0, moment_timezone_1.default)().subtract(relativeMinDate, 'days').toISOString();\n});\n// Set Relative Maximum Date\njson_logic_js_1.default.add_operation('relativeMaxDate', (relativeMaxDate) => {\n return (0, moment_timezone_1.default)().add(relativeMaxDate, 'days').toISOString();\n});\nexports.moment = __importStar(__webpack_require__(/*! moment-timezone/moment-timezone */ \"./node_modules/moment-timezone/moment-timezone.js\"));\nfunction setPathToComponentAndPerentSchema(component) {\n component.path = getComponentPath(component);\n const dataParent = getDataParentComponent(component);\n if (dataParent && typeof dataParent === 'object') {\n dataParent.path = getComponentPath(dataParent);\n }\n}\n/**\n * Evaluate a method.\n *\n * @param func\n * @param args\n * @return {*}\n */\nfunction evaluate(func, args, ret, tokenize) {\n let returnVal = null;\n const component = args.component ? args.component : { key: 'unknown' };\n if (!args.form && args.instance) {\n args.form = lodash_1.default.get(args.instance, 'root._form', {});\n }\n const componentKey = component.key;\n if (typeof func === 'string') {\n if (ret) {\n func += `;return ${ret}`;\n }\n if (tokenize) {\n // Replace all {{ }} references with actual data.\n func = func.replace(/({{\\s+(.*)\\s+}})/, (match, $1, $2) => {\n if ($2.indexOf('data.') === 0) {\n return lodash_1.default.get(args.data, $2.replace('data.', ''));\n }\n else if ($2.indexOf('row.') === 0) {\n return lodash_1.default.get(args.row, $2.replace('row.', ''));\n }\n // Support legacy...\n return lodash_1.default.get(args.data, $2);\n });\n }\n try {\n func = Evaluator_1.default.evaluator(func, args);\n args = lodash_1.default.values(args);\n }\n catch (err) {\n console.warn(`An error occured within the custom function for ${componentKey}`, err);\n returnVal = null;\n func = false;\n }\n }\n if (typeof func === 'function') {\n try {\n returnVal = Evaluator_1.default.evaluate(func, args);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (typeof func === 'object') {\n try {\n returnVal = json_logic_js_1.default.apply(func, args);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (func) {\n console.warn(`Unknown function type for ${componentKey}`);\n }\n return returnVal;\n}\nexports.evaluate = evaluate;\nfunction getRandomComponentId() {\n return `e${Math.random().toString(36).substring(7)}`;\n}\nexports.getRandomComponentId = getRandomComponentId;\n/**\n * Get a property value of an element.\n *\n * @param style\n * @param prop\n * @return {number}\n */\nfunction getPropertyValue(style, prop) {\n let value = style.getPropertyValue(prop);\n value = value ? value.replace(/[^0-9.]/g, '') : '0';\n return parseFloat(value);\n}\nexports.getPropertyValue = getPropertyValue;\n/**\n * Get an elements bounding rectagle.\n *\n * @param element\n * @return {{x: string, y: string, width: string, height: string}}\n */\nfunction getElementRect(element) {\n const style = window.getComputedStyle(element, null);\n return {\n x: getPropertyValue(style, 'left'),\n y: getPropertyValue(style, 'top'),\n width: getPropertyValue(style, 'width'),\n height: getPropertyValue(style, 'height')\n };\n}\nexports.getElementRect = getElementRect;\n/**\n * Determines the boolean value of a setting.\n *\n * @param value\n * @return {boolean}\n */\nfunction boolValue(value) {\n if (lodash_1.default.isBoolean(value)) {\n return value;\n }\n else if (lodash_1.default.isString(value)) {\n return (value.toLowerCase() === 'true');\n }\n else {\n return !!value;\n }\n}\nexports.boolValue = boolValue;\n/**\n * Check to see if an ID is a mongoID.\n * @param text\n * @return {Array|{index: number, input: string}|Boolean|*}\n */\nfunction isMongoId(text) {\n return text.toString().match(/^[0-9a-fA-F]{24}$/);\n}\nexports.isMongoId = isMongoId;\n/**\n * Checks the calculated value for a provided component and data.\n *\n * @param {Object} component\n * The component to check for the calculated value.\n * @param {Object} submission\n * A submission object.\n * @param data\n * The full submission data.\n */\nfunction checkCalculated(component, submission, rowData) {\n // Process calculated value stuff if present.\n if (component.calculateValue) {\n lodash_1.default.set(rowData, component.key, evaluate(component.calculateValue, {\n value: undefined,\n data: submission ? submission.data : rowData,\n row: rowData,\n util: this,\n component\n }, 'value'));\n }\n}\nexports.checkCalculated = checkCalculated;\n/**\n * Check if a simple conditional evaluates to true.\n *\n * @param condition\n * @param condition\n * @param row\n * @param data\n * @param instance\n * @returns {boolean}\n */\nfunction checkSimpleConditional(component, condition, row, data, instance) {\n if (condition.when) {\n const value = getComponentActualValue(condition.when, data, row);\n const eq = String(condition.eq);\n const show = String(condition.show);\n // Special check for selectboxes component.\n if (lodash_1.default.isObject(value) && lodash_1.default.has(value, condition.eq)) {\n return String(value[condition.eq]) === show;\n }\n // FOR-179 - Check for multiple values.\n if (Array.isArray(value) && value.map(String).includes(eq)) {\n return show === 'true';\n }\n return (String(value) === eq) === (show === 'true');\n }\n else {\n const { conditions = [], conjunction = 'all', show = true } = condition;\n if (!conditions.length) {\n return true;\n }\n const conditionsResult = lodash_1.default.map(conditions, (cond) => {\n const { value: comparedValue, operator, component: conditionComponentPath } = cond;\n if (!conditionComponentPath) {\n return true;\n }\n const value = getComponentActualValue(conditionComponentPath, data, row);\n const ConditionOperator = conditionOperators_1.default[operator];\n return ConditionOperator\n ? new ConditionOperator().getResult({ value, comparedValue, instance, component, conditionComponentPath })\n : true;\n });\n let result = false;\n switch (conjunction) {\n case 'any':\n result = lodash_1.default.some(conditionsResult, res => !!res);\n break;\n default:\n result = lodash_1.default.every(conditionsResult, res => !!res);\n }\n return show ? result : !result;\n }\n}\nexports.checkSimpleConditional = checkSimpleConditional;\nfunction getComponentActualValue(compPath, data, row) {\n let value = null;\n if (row) {\n value = (0, formUtils_1.getValue)({ data: row }, compPath);\n }\n if (data && lodash_1.default.isNil(value)) {\n value = (0, formUtils_1.getValue)({ data }, compPath);\n }\n // FOR-400 - Fix issue where falsey values were being evaluated as show=true\n if (lodash_1.default.isNil(value) || (lodash_1.default.isObject(value) && lodash_1.default.isEmpty(value))) {\n value = '';\n }\n return value;\n}\nexports.getComponentActualValue = getComponentActualValue;\n/**\n * Check custom javascript conditional.\n *\n * @param component\n * @param custom\n * @param row\n * @param data\n * @returns {*}\n */\nfunction checkCustomConditional(component, custom, row, data, form, variable, onError, instance) {\n if (typeof custom === 'string') {\n custom = `var ${variable} = true; ${custom}; return ${variable};`;\n }\n const value = (instance && instance.evaluate) ?\n instance.evaluate(custom, { row, data, form }) :\n evaluate(custom, { row, data, form });\n if (value === null) {\n return onError;\n }\n return value;\n}\nexports.checkCustomConditional = checkCustomConditional;\nfunction checkJsonConditional(component, json, row, data, form, onError) {\n try {\n return json_logic_js_1.default.apply(json, {\n data,\n row,\n form,\n _: lodash_1.default,\n });\n }\n catch (err) {\n console.warn(`An error occurred in jsonLogic advanced condition for ${component.key}`, err);\n return onError;\n }\n}\nexports.checkJsonConditional = checkJsonConditional;\nfunction getRow(component, row, instance, conditional) {\n var _a;\n const condition = conditional || component.conditional;\n // If no component's instance passed (happens only in 6.x server), calculate its path based on the schema\n if (!instance) {\n instance = lodash_1.default.cloneDeep(component);\n setPathToComponentAndPerentSchema(instance);\n }\n const dataParent = getDataParentComponent(instance);\n const parentPath = dataParent ? getComponentPath(dataParent) : null;\n const isTriggerCondtionComponentPath = condition.when || !condition.conditions\n ? (_a = condition.when) === null || _a === void 0 ? void 0 : _a.startsWith(parentPath)\n : lodash_1.default.some(condition.conditions, cond => cond.component.startsWith(parentPath));\n if (dataParent && isTriggerCondtionComponentPath) {\n const newRow = {};\n lodash_1.default.set(newRow, parentPath, row);\n row = newRow;\n }\n return row;\n}\n/**\n * Checks the conditions for a provided component and data.\n *\n * @param component\n * The component to check for the condition.\n * @param row\n * The data within a row\n * @param data\n * The full submission data.\n *\n * @returns {boolean}\n */\nfunction checkCondition(component, row, data, form, instance) {\n const { customConditional, conditional } = component;\n if (customConditional) {\n return checkCustomConditional(component, customConditional, row, data, form, 'show', true, instance);\n }\n else if (conditional && (conditional.when || lodash_1.default.some(conditional.conditions || [], condition => condition.component && condition.operator))) {\n row = getRow(component, row, instance);\n return checkSimpleConditional(component, conditional, row, data, instance);\n }\n else if (conditional && conditional.json) {\n return checkJsonConditional(component, conditional.json, row, data, form, true);\n }\n // Default to show.\n return true;\n}\nexports.checkCondition = checkCondition;\n/**\n * Test a trigger on a component.\n *\n * @param component\n * @param action\n * @param data\n * @param row\n * @returns {mixed}\n */\nfunction checkTrigger(component, trigger, row, data, form, instance) {\n // If trigger is empty, don't fire it\n if (!trigger || !trigger[trigger.type]) {\n return false;\n }\n switch (trigger.type) {\n case 'simple':\n row = getRow(component, row, instance, trigger.simple);\n return checkSimpleConditional(component, trigger.simple, row, data, instance);\n case 'javascript':\n return checkCustomConditional(component, trigger.javascript, row, data, form, 'result', false, instance);\n case 'json':\n return checkJsonConditional(component, trigger.json, row, data, form, false);\n }\n // If none of the types matched, don't fire the trigger.\n return false;\n}\nexports.checkTrigger = checkTrigger;\nfunction setActionProperty(component, action, result, row, data, instance) {\n const property = action.property.value;\n switch (action.property.type) {\n case 'boolean': {\n const currentValue = lodash_1.default.get(component, property, false).toString();\n const newValue = action.state.toString();\n if (currentValue !== newValue) {\n lodash_1.default.set(component, property, newValue === 'true');\n }\n break;\n }\n case 'string': {\n const evalData = {\n data,\n row,\n component,\n result,\n };\n const textValue = action.property.component ? action[action.property.component] : action.text;\n const currentValue = lodash_1.default.get(component, property, '');\n const newValue = (instance && instance.interpolate)\n ? instance.interpolate(textValue, evalData)\n : Evaluator_1.default.interpolate(textValue, evalData);\n if (newValue !== currentValue) {\n lodash_1.default.set(component, property, newValue);\n }\n break;\n }\n }\n return component;\n}\nexports.setActionProperty = setActionProperty;\n/**\n * Unescape HTML characters like &lt, &gt, &amp and etc.\n * @param str\n * @returns {string}\n */\nfunction unescapeHTML(str) {\n if (typeof window === 'undefined' || !('DOMParser' in window)) {\n return str;\n }\n const doc = new window.DOMParser().parseFromString(str, 'text/html');\n return doc.documentElement.textContent;\n}\nexports.unescapeHTML = unescapeHTML;\n/**\n * Make HTML element from string\n * @param str\n * @param selector\n * @returns {HTMLElement}\n */\nfunction convertStringToHTMLElement(str, selector) {\n const doc = new window.DOMParser().parseFromString(str, 'text/html');\n return doc.body.querySelector(selector);\n}\nexports.convertStringToHTMLElement = convertStringToHTMLElement;\n/**\n * Make a filename guaranteed to be unique.\n * @param name\n * @param template\n * @param evalContext\n * @returns {string}\n */\nfunction uniqueName(name, template, evalContext) {\n template = template || '{{fileName}}-{{guid}}';\n //include guid in template anyway, to prevent overwriting issue if filename matches existing file\n if (!template.includes('{{guid}}')) {\n template = `${template}-{{guid}}`;\n }\n const parts = name.split('.');\n let fileName = parts.slice(0, parts.length - 1).join('.');\n const extension = parts.length > 1\n ? `.${lodash_1.default.last(parts)}`\n : '';\n //allow only 100 characters from original name to avoid issues with filename length restrictions\n fileName = fileName.substr(0, 100);\n evalContext = Object.assign(evalContext || {}, {\n fileName,\n guid: guid()\n });\n //only letters, numbers, dots, dashes, underscores and spaces are allowed. Anything else will be replaced with dash\n const uniqueName = `${Evaluator_1.default.interpolate(template, evalContext)}${extension}`.replace(/[^0-9a-zA-Z.\\-_ ]/g, '-');\n return uniqueName;\n}\nexports.uniqueName = uniqueName;\nfunction guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x'\n ? r\n : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\nexports.guid = guid;\n/**\n * Return a translated date setting.\n *\n * @param date\n * @return {(null|Date)}\n */\nfunction getDateSetting(date) {\n if (lodash_1.default.isNil(date) || lodash_1.default.isNaN(date) || date === '') {\n return null;\n }\n if (date instanceof Date) {\n return date;\n }\n else if (typeof date.toDate === 'function') {\n return date.isValid() ? date.toDate() : null;\n }\n let dateSetting = ((typeof date !== 'string') || (date.indexOf('moment(') === -1)) ? (0, moment_timezone_1.default)(date) : null;\n if (dateSetting && dateSetting.isValid()) {\n return dateSetting.toDate();\n }\n dateSetting = null;\n try {\n const value = Evaluator_1.default.evaluator(`return ${date};`, 'moment')(moment_timezone_1.default);\n if (typeof value === 'string') {\n dateSetting = (0, moment_timezone_1.default)(value);\n }\n else if (typeof value.toDate === 'function') {\n dateSetting = (0, moment_timezone_1.default)(value.toDate().toUTCString());\n }\n else if (value instanceof Date) {\n dateSetting = (0, moment_timezone_1.default)(value);\n }\n }\n catch (e) {\n return null;\n }\n if (!dateSetting) {\n return null;\n }\n // Ensure this is a date.\n if (!dateSetting.isValid()) {\n return null;\n }\n return dateSetting.toDate();\n}\nexports.getDateSetting = getDateSetting;\nfunction isValidDate(date) {\n return lodash_1.default.isDate(date) && !lodash_1.default.isNaN(date.getDate());\n}\nexports.isValidDate = isValidDate;\n/**\n * Get the current timezone string.\n *\n * @return {string}\n */\nfunction currentTimezone() {\n if (moment_timezone_1.default.currentTimezone) {\n return moment_timezone_1.default.currentTimezone;\n }\n moment_timezone_1.default.currentTimezone = jstimezonedetect_1.default.determine().name();\n return moment_timezone_1.default.currentTimezone;\n}\nexports.currentTimezone = currentTimezone;\n/**\n * Get an offset date provided a date object and timezone object.\n *\n * @param date\n * @param timezone\n * @return {Date}\n */\nfunction offsetDate(date, timezone) {\n if (timezone === 'UTC') {\n return {\n date: new Date(date.getTime() + (date.getTimezoneOffset() * 60000)),\n abbr: 'UTC'\n };\n }\n const dateMoment = (0, moment_timezone_1.default)(date).tz(timezone);\n return {\n date: new Date(date.getTime() + ((dateMoment.utcOffset() + date.getTimezoneOffset()) * 60000)),\n abbr: dateMoment.format('z')\n };\n}\nexports.offsetDate = offsetDate;\n/**\n * Returns if the zones are loaded.\n *\n * @return {boolean}\n */\nfunction zonesLoaded() {\n return moment_timezone_1.default.zonesLoaded;\n}\nexports.zonesLoaded = zonesLoaded;\n/**\n * Returns if we should load the zones.\n *\n * @param timezone\n * @return {boolean}\n */\nfunction shouldLoadZones(timezone) {\n if (timezone === currentTimezone() || timezone === 'UTC') {\n return false;\n }\n return true;\n}\nexports.shouldLoadZones = shouldLoadZones;\n/**\n * Externally load the timezone data.\n *\n * @return {Promise<any> | *}\n */\nfunction loadZones(url, timezone) {\n if (timezone && !shouldLoadZones(timezone)) {\n // Return non-resolving promise.\n return new Promise(lodash_1.default.noop);\n }\n if (moment_timezone_1.default.zonesPromise) {\n return moment_timezone_1.default.zonesPromise;\n }\n return moment_timezone_1.default.zonesPromise = fetch(url)\n .then(resp => resp.json().then(zones => {\n moment_timezone_1.default.tz.load(zones);\n moment_timezone_1.default.zonesLoaded = true;\n // Trigger a global event that the timezones have finished loading.\n if (document && document.createEvent && document.body && document.body.dispatchEvent) {\n var event = document.createEvent('Event');\n event.initEvent('zonesLoaded', true, true);\n document.body.dispatchEvent(event);\n }\n }));\n}\nexports.loadZones = loadZones;\n/**\n * Get the moment date object for translating dates with timezones.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {*}\n */\nfunction momentDate(value, format, timezone) {\n const momentDate = (0, moment_timezone_1.default)(value);\n if (!timezone) {\n return momentDate;\n }\n if (timezone === 'UTC') {\n timezone = 'Etc/UTC';\n }\n if ((timezone !== currentTimezone() || (format && format.match(/\\s(z$|z\\s)/))) && moment_timezone_1.default.zonesLoaded) {\n return momentDate.tz(timezone);\n }\n return momentDate;\n}\nexports.momentDate = momentDate;\n/**\n * Format a date provided a value, format, and timezone object.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatDate(timezonesUrl, value, format, timezone, flatPickrInputFormat) {\n const momentDate = (0, moment_timezone_1.default)(value, flatPickrInputFormat || undefined);\n if (timezone === currentTimezone()) {\n // See if our format contains a \"z\" timezone character.\n if (format.match(/\\s(z$|z\\s)/)) {\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded) {\n return momentDate.tz(timezone).format(convertFormatToMoment(format));\n }\n else {\n return momentDate.format(convertFormatToMoment(format.replace(/\\s(z$|z\\s)/, '')));\n }\n }\n // Return the standard format.\n return momentDate.format(convertFormatToMoment(format));\n }\n if (timezone === 'UTC') {\n const offset = offsetDate(momentDate.toDate(), 'UTC');\n return `${(0, moment_timezone_1.default)(offset.date).format(convertFormatToMoment(format))} UTC`;\n }\n // Load the zones since we need timezone information.\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded && timezone) {\n return momentDate.tz(timezone).format(`${convertFormatToMoment(format)} z`);\n }\n else {\n return momentDate.format(convertFormatToMoment(format));\n }\n}\nexports.formatDate = formatDate;\n/**\n * Pass a format function to format within a timezone.\n *\n * @param formatFn\n * @param date\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatOffset(timezonesUrl, formatFn, date, format, timezone) {\n if (timezone === currentTimezone()) {\n return formatFn(date, format);\n }\n if (timezone === 'UTC') {\n return `${formatFn(offsetDate(date, 'UTC').date, format)} UTC`;\n }\n // Load the zones since we need timezone information.\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded) {\n const offset = offsetDate(date, timezone);\n return `${formatFn(offset.date, format)} ${offset.abbr}`;\n }\n else {\n return formatFn(date, format);\n }\n}\nexports.formatOffset = formatOffset;\nfunction getLocaleDateFormatInfo(locale) {\n const formatInfo = {};\n const day = 21;\n const exampleDate = new Date(2017, 11, day);\n const localDateString = exampleDate.toLocaleDateString(locale);\n formatInfo.dayFirst = localDateString.slice(0, 2) === day.toString();\n return formatInfo;\n}\nexports.getLocaleDateFormatInfo = getLocaleDateFormatInfo;\n/**\n * Convert the format from the angular-datepicker module to flatpickr format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToFlatpickr(format) {\n return format\n // Remove the Z timezone offset, not supported by flatpickr.\n .replace(/Z/g, '')\n // Year conversion.\n .replace(/y/g, 'Y')\n .replace('YYYY', 'Y')\n .replace('YY', 'y')\n // Month conversion.\n .replace('MMMM', 'F')\n .replace(/M/g, 'n')\n .replace('nnn', 'M')\n .replace('nn', 'm')\n // Day in month.\n .replace(/d/g, 'j')\n .replace(/jj/g, 'd')\n // Day in week.\n .replace('EEEE', 'l')\n .replace('EEE', 'D')\n // Hours, minutes, seconds\n .replace('HH', 'H')\n .replace('hh', 'G')\n .replace('mm', 'i')\n .replace('ss', 'S')\n .replace(/a/g, 'K');\n}\nexports.convertFormatToFlatpickr = convertFormatToFlatpickr;\n/**\n * Convert the format from the angular-datepicker module to moment format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToMoment(format) {\n return format\n // Year conversion.\n .replace(/y/g, 'Y')\n // Day in month.\n .replace(/d/g, 'D')\n // Day in week.\n .replace(/E/g, 'd')\n // AM/PM marker\n .replace(/a/g, 'A')\n // Unix Timestamp\n .replace(/U/g, 'X');\n}\nexports.convertFormatToMoment = convertFormatToMoment;\nfunction convertFormatToMask(format) {\n return format\n // Long month replacement.\n .replace(/M{4}/g, 'MM')\n // Initial short month conversion.\n .replace(/M{3}/g, '***')\n // Short month conversion if input as text.\n .replace(/e/g, 'Q')\n // Month number conversion.\n .replace(/W/g, '99')\n // Year conversion.\n .replace(/[ydhmswHMG]/g, '9')\n // AM/PM conversion.\n .replace(/a/g, 'AA');\n}\nexports.convertFormatToMask = convertFormatToMask;\n/**\n * Returns an input mask that is compatible with the input mask library.\n * @param {string} mask - The Form.io input mask.\n * @param {string} placeholderChar - Char which is used as a placeholder.\n * @returns {Array} - The input mask for the mask library.\n */\nfunction getInputMask(mask, placeholderChar) {\n if (mask instanceof Array) {\n return mask;\n }\n const maskArray = [];\n maskArray.numeric = true;\n for (let i = 0; i < mask.length; i++) {\n switch (mask[i]) {\n case '9':\n maskArray.push(/\\d/);\n break;\n case 'A':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z]/);\n break;\n case 'a':\n maskArray.numeric = false;\n maskArray.push(/[a-z]/);\n break;\n case '*':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z0-9]/);\n break;\n // If char which is used inside mask placeholder was used in the mask, replace it with space to prevent errors\n case placeholderChar:\n maskArray.numeric = false;\n maskArray.push(' ');\n break;\n default:\n maskArray.numeric = false;\n maskArray.push(mask[i]);\n break;\n }\n }\n return maskArray;\n}\nexports.getInputMask = getInputMask;\nfunction unmaskValue(value, mask, placeholderChar) {\n if (!mask || !value || value.length > mask.length) {\n return value;\n }\n let unmaskedValue = value.split('');\n for (let i = 0; i < mask.length; i++) {\n const char = value[i] || '';\n const charPart = mask[i];\n if (!lodash_1.default.isRegExp(charPart) && char === charPart) {\n unmaskedValue[i] = '';\n }\n }\n unmaskedValue = unmaskedValue.join('').replace(placeholderChar, '');\n return unmaskedValue;\n}\nexports.unmaskValue = unmaskValue;\nfunction matchInputMask(value, inputMask) {\n if (!inputMask) {\n return true;\n }\n // If value is longer than mask, it isn't valid.\n if (value.length > inputMask.length) {\n return false;\n }\n for (let i = 0; i < inputMask.length; i++) {\n const char = value[i] || '';\n const charPart = inputMask[i];\n if (!(lodash_1.default.isRegExp(charPart) && charPart.test(char) || charPart === char)) {\n return false;\n }\n }\n return true;\n}\nexports.matchInputMask = matchInputMask;\nfunction getNumberSeparators(lang = 'en') {\n const formattedNumberString = (12345.6789).toLocaleString(lang);\n const delimeters = formattedNumberString.match(/..(.)...(.)../);\n if (!delimeters) {\n return {\n delimiter: ',',\n decimalSeparator: '.'\n };\n }\n return {\n delimiter: (delimeters.length > 1) ? delimeters[1] : ',',\n decimalSeparator: (delimeters.length > 2) ? delimeters[2] : '.',\n };\n}\nexports.getNumberSeparators = getNumberSeparators;\nfunction getNumberDecimalLimit(component, defaultLimit) {\n if (lodash_1.default.has(component, 'decimalLimit')) {\n return lodash_1.default.get(component, 'decimalLimit');\n }\n // Determine the decimal limit. Defaults to 20 but can be overridden by validate.step or decimalLimit settings.\n let decimalLimit = defaultLimit || 20;\n const step = lodash_1.default.get(component, 'validate.step', 'any');\n if (step !== 'any') {\n const parts = step.toString().split('.');\n if (parts.length > 1) {\n decimalLimit = parts[1].length;\n }\n }\n return decimalLimit;\n}\nexports.getNumberDecimalLimit = getNumberDecimalLimit;\nfunction getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }) {\n // Get the prefix and suffix from the localized string.\n let regex = `(.*)?${(100).toLocaleString(lang)}`;\n if (decimalLimit) {\n regex += `${decimalSeparator === '.' ? '\\\\.' : decimalSeparator}${(0).toLocaleString(lang)}{${decimalLimit}}`;\n }\n regex += '(.*)?';\n const parts = (100).toLocaleString(lang, {\n style: 'currency',\n currency: currency ? currency : 'USD',\n useGrouping: true,\n maximumFractionDigits: decimalLimit || 0,\n minimumFractionDigits: decimalLimit || 0\n }).replace('.', decimalSeparator).match(new RegExp(regex));\n return {\n prefix: (parts === null || parts === void 0 ? void 0 : parts[1]) || '',\n suffix: (parts === null || parts === void 0 ? void 0 : parts[2]) || ''\n };\n}\nexports.getCurrencyAffixes = getCurrencyAffixes;\n/**\n * Fetch the field data provided a component.\n *\n * @param data\n * @param component\n * @return {*}\n */\nfunction fieldData(data, component) {\n if (!data) {\n return '';\n }\n if (!component || !component.key) {\n return data;\n }\n if (component.key.includes('.')) {\n let value = data;\n const parts = component.key.split('.');\n let key = '';\n for (let i = 0; i < parts.length; i++) {\n key = parts[i];\n // Handle nested resources\n if (value.hasOwnProperty('_id')) {\n value = value.data;\n }\n // Return if the key is not found on the value.\n if (!value.hasOwnProperty(key)) {\n return;\n }\n // Convert old single field data in submissions to multiple\n if (key === parts[parts.length - 1] && component.multiple && !Array.isArray(value[key])) {\n value[key] = [value[key]];\n }\n // Set the value of this key.\n value = value[key];\n }\n return value;\n }\n else {\n // Convert old single field data in submissions to multiple\n if (component.multiple && !Array.isArray(data[component.key])) {\n data[component.key] = [data[component.key]];\n }\n // Fix for checkbox type radio submission values in tableView\n if (component.type === 'checkbox' && component.inputType === 'radio') {\n return data[component.name] === component.value;\n }\n return data[component.key];\n }\n}\nexports.fieldData = fieldData;\n/**\n * Delays function execution with possibility to execute function synchronously or cancel it.\n *\n * @param fn Function to delay\n * @param delay Delay time\n * @return {*}\n */\nfunction delay(fn, delay = 0, ...args) {\n const timer = setTimeout(fn, delay, ...args);\n function cancel() {\n clearTimeout(timer);\n }\n function earlyCall() {\n cancel();\n return fn(...args);\n }\n earlyCall.timer = timer;\n earlyCall.cancel = cancel;\n return earlyCall;\n}\nexports.delay = delay;\n/**\n * Iterate the given key to make it unique.\n *\n * @param {String} key\n * Modify the component key to be unique.\n *\n * @returns {String}\n * The new component key.\n */\nfunction iterateKey(key) {\n if (!key.match(/(\\d+)$/)) {\n return `${key}1`;\n }\n return key.replace(/(\\d+)$/, function (suffix) {\n return Number(suffix) + 1;\n });\n}\nexports.iterateKey = iterateKey;\n/**\n * Determines a unique key within a map provided the base key.\n *\n * @param map\n * @param base\n * @return {*}\n */\nfunction uniqueKey(map, base) {\n let newKey = base;\n while (map.hasOwnProperty(newKey)) {\n newKey = iterateKey(newKey);\n }\n return newKey;\n}\nexports.uniqueKey = uniqueKey;\n/**\n * Determines the major version number of bootstrap.\n *\n * @return {number}\n */\nfunction bootstrapVersion(options) {\n if (options.bootstrap) {\n return options.bootstrap;\n }\n if ((typeof jQuery === 'function') && (typeof jQuery().collapse === 'function')) {\n return parseInt(jQuery.fn.collapse.Constructor.VERSION.split('.')[0], 10);\n }\n if (window.bootstrap && window.bootstrap.Collapse) {\n return parseInt(window.bootstrap.Collapse.VERSION.split('.')[0], 10);\n }\n return 0;\n}\nexports.bootstrapVersion = bootstrapVersion;\n/**\n * Retrun provided argument.\n * If argument is a function, returns the result of a function call.\n * @param {*} e;\n *\n * @return {*}\n */\nfunction unfold(e) {\n if (typeof e === 'function') {\n return e();\n }\n return e;\n}\nexports.unfold = unfold;\n/**\n * Map values through unfold and return first non-nil value.\n * @param {Array<T>} collection;\n *\n * @return {T}\n */\nexports.firstNonNil = lodash_1.default.flow([\n lodash_1.default.partialRight(lodash_1.default.map, unfold),\n lodash_1.default.partialRight(lodash_1.default.find, v => !lodash_1.default.isUndefined(v))\n]);\n/*\n * Create enclosed state.\n * Returns functions to getting and cycling between states.\n * @param {*} a - initial state.\n * @param {*} b - next state.\n * @return {Functions[]} -- [get, toggle];\n */\nfunction withSwitch(a, b) {\n let state = a;\n let next = b;\n function get() {\n return state;\n }\n function toggle() {\n const prev = state;\n state = next;\n next = prev;\n }\n return [get, toggle];\n}\nexports.withSwitch = withSwitch;\nfunction observeOverload(callback, options = {}) {\n const { limit = 50, delay = 500 } = options;\n let callCount = 0;\n let timeoutID = 0;\n const reset = () => callCount = 0;\n return () => {\n if (timeoutID !== 0) {\n clearTimeout(timeoutID);\n timeoutID = 0;\n }\n timeoutID = setTimeout(reset, delay);\n callCount += 1;\n if (callCount >= limit) {\n clearTimeout(timeoutID);\n reset();\n return callback();\n }\n };\n}\nexports.observeOverload = observeOverload;\nfunction getContextComponents(context, excludeNested, excludedTypes = []) {\n const values = [];\n context.utils.eachComponent(context.instance.options.editForm.components, (component, path) => {\n const addToContextComponents = excludeNested ? !component.tree : true;\n if (component.key !== context.data.key && addToContextComponents && !lodash_1.default.includes(excludedTypes, component.type)) {\n values.push({\n label: `${component.label || component.key} (${path})`,\n value: path,\n });\n }\n });\n return values;\n}\nexports.getContextComponents = getContextComponents;\nfunction getContextButtons(context) {\n const values = [];\n context.utils.eachComponent(context.instance.options.editForm.components, (component) => {\n if (component.type === 'button') {\n values.push({\n label: `${component.key} (${component.label})`,\n value: component.key,\n });\n }\n });\n return values;\n}\nexports.getContextButtons = getContextButtons;\n// Tags that could be in text, that should be ommited or handled in a special way\nconst inTextTags = ['#text', 'A', 'B', 'EM', 'I', 'SMALL', 'STRONG', 'SUB', 'SUP', 'INS', 'DEL', 'MARK', 'CODE'];\n/**\n * Helper function for 'translateHTMLTemplate'. Translates text value of the passed html element.\n *\n * @param {HTMLElement} elem\n * @param {Function} translate\n *\n * @returns {String}\n * Translated element template.\n */\nfunction translateElemValue(elem, translate) {\n if (!elem.innerText) {\n return elem.innerHTML;\n }\n const elemValue = elem.innerText.replace(Evaluator_1.default.templateSettings.interpolate, '').replace(/\\s\\s+/g, ' ').trim();\n const translatedValue = translate(elemValue);\n if (elemValue !== translatedValue) {\n const links = elem.innerHTML.match(/<a[^>]*>(.*?)<\\/a>/g);\n if (links && links.length) {\n if (links.length === 1 && links[0].length === elem.innerHTML.length) {\n return elem.innerHTML.replace(elemValue, translatedValue);\n }\n const translatedLinks = links.map(link => {\n const linkElem = document.createElement('a');\n linkElem.innerHTML = link;\n return translateElemValue(linkElem, translate);\n });\n return `${translatedValue} (${translatedLinks.join(', ')})`;\n }\n else {\n return elem.innerText.replace(elemValue, translatedValue);\n }\n }\n else {\n return elem.innerHTML;\n }\n}\n/**\n * Helper function for 'translateHTMLTemplate'. Goes deep through html tag children and calls function to translate their text values.\n *\n * @param {HTMLElement} tag\n * @param {Function} translate\n *\n * @returns {void}\n */\nfunction translateDeepTag(tag, translate) {\n const children = tag.children.length && [...tag.children];\n const shouldTranslateEntireContent = children && children.every(child => child.children.length === 0\n && inTextTags.some(tag => child.nodeName === tag));\n if (!children || shouldTranslateEntireContent) {\n tag.innerHTML = translateElemValue(tag, translate);\n }\n else {\n children.forEach(child => translateDeepTag(child, translate));\n }\n}\n/**\n * Translates text values in html template.\n *\n * @param {String} template\n * @param {Function} translate\n *\n * @returns {String}\n * Html template with translated values.\n */\nfunction translateHTMLTemplate(template, translate) {\n const isHTML = /<[^>]*>/.test(template);\n if (!isHTML) {\n return translate(template);\n }\n const tempElem = document.createElement('div');\n tempElem.innerHTML = template;\n if (tempElem.innerText && tempElem.children.length) {\n translateDeepTag(tempElem, translate);\n return tempElem.innerHTML;\n }\n return template;\n}\nexports.translateHTMLTemplate = translateHTMLTemplate;\n/**\n * Sanitize an html string.\n *\n * @param string\n * @returns {*}\n */\nfunction sanitize(string, options) {\n if (typeof dompurify_1.default.sanitize !== 'function') {\n return string;\n }\n // Dompurify configuration\n const sanitizeOptions = {\n ADD_ATTR: ['ref', 'target'],\n USE_PROFILES: { html: true }\n };\n // Add attrs\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addAttr) && options.sanitizeConfig.addAttr.length > 0) {\n options.sanitizeConfig.addAttr.forEach((attr) => {\n sanitizeOptions.ADD_ATTR.push(attr);\n });\n }\n // Add tags\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addTags) && options.sanitizeConfig.addTags.length > 0) {\n sanitizeOptions.ADD_TAGS = options.sanitizeConfig.addTags;\n }\n // Allow tags\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.allowedTags) && options.sanitizeConfig.allowedTags.length > 0) {\n sanitizeOptions.ALLOWED_TAGS = options.sanitizeConfig.allowedTags;\n }\n // Allow attributes\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.allowedAttrs) && options.sanitizeConfig.allowedAttrs.length > 0) {\n sanitizeOptions.ALLOWED_ATTR = options.sanitizeConfig.allowedAttrs;\n }\n // Allowd URI Regex\n if (options.sanitizeConfig && options.sanitizeConfig.allowedUriRegex) {\n sanitizeOptions.ALLOWED_URI_REGEXP = options.sanitizeConfig.allowedUriRegex;\n }\n // Allow to extend the existing array of elements that are safe for URI-like values\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addUriSafeAttr) && options.sanitizeConfig.addUriSafeAttr.length > 0) {\n sanitizeOptions.ADD_URI_SAFE_ATTR = options.sanitizeConfig.addUriSafeAttr;\n }\n return dompurify_1.default.sanitize(string, sanitizeOptions);\n}\nexports.sanitize = sanitize;\n/**\n * Fast cloneDeep for JSON objects only.\n */\nfunction fastCloneDeep(obj) {\n return obj ? JSON.parse(JSON.stringify(obj)) : obj;\n}\nexports.fastCloneDeep = fastCloneDeep;\nfunction isInputComponent(componentJson) {\n if (componentJson.input === false || componentJson.input === true) {\n return componentJson.input;\n }\n switch (componentJson.type) {\n case 'htmlelement':\n case 'content':\n case 'columns':\n case 'fieldset':\n case 'panel':\n case 'table':\n case 'tabs':\n case 'well':\n case 'button':\n return false;\n default:\n return true;\n }\n}\nexports.isInputComponent = isInputComponent;\nfunction getArrayFromComponentPath(pathStr) {\n if (!pathStr || !lodash_1.default.isString(pathStr)) {\n if (!lodash_1.default.isArray(pathStr)) {\n return [pathStr];\n }\n return pathStr;\n }\n return pathStr.replace(/[[\\]]/g, '.')\n .replace(/\\.\\./g, '.')\n .replace(/(^\\.)|(\\.$)/g, '')\n .split('.')\n .map(part => lodash_1.default.defaultTo(lodash_1.default.toNumber(part), part));\n}\nexports.getArrayFromComponentPath = getArrayFromComponentPath;\nfunction isChildOf(child, parent) {\n while (child && child.parent) {\n if (child.parent === parent) {\n return true;\n }\n child = child.parent;\n }\n return false;\n}\nexports.isChildOf = isChildOf;\nfunction getStringFromComponentPath(path) {\n if (!lodash_1.default.isArray(path)) {\n return path;\n }\n let strPath = '';\n path.forEach((part, i) => {\n if (lodash_1.default.isNumber(part)) {\n strPath += `[${part}]`;\n }\n else {\n strPath += i === 0 ? part : `.${part}`;\n }\n });\n return strPath;\n}\nexports.getStringFromComponentPath = getStringFromComponentPath;\nfunction round(number, precision) {\n if (lodash_1.default.isNumber(number)) {\n return number.toFixed(precision);\n }\n return number;\n}\nexports.round = round;\n/**\n * Check for Internet Explorer browser version\n *\n * @return {(number|null)}\n */\nfunction getIEBrowserVersion() {\n const { ie, version } = getBrowserInfo();\n return ie ? version : null;\n}\nexports.getIEBrowserVersion = getIEBrowserVersion;\n/**\n * Get browser name and version (modified from 'jquery-browser-plugin')\n *\n * @return {Object} -- {{browser name, version, isWebkit?}}\n * Possible browser names: chrome, safari, ie, edge, opera, mozilla, yabrowser\n */\nfunction getBrowserInfo() {\n const browser = {};\n if (typeof window === 'undefined') {\n return browser;\n }\n const ua = window.navigator.userAgent.toLowerCase();\n const match = /(edge|edg)\\/([\\w.]+)/.exec(ua) ||\n /(opr)[/]([\\w.]+)/.exec(ua) ||\n /(yabrowser)[ /]([\\w.]+)/.exec(ua) ||\n /(chrome)[ /]([\\w.]+)/.exec(ua) ||\n /(iemobile)[/]([\\w.]+)/.exec(ua) ||\n /(version)(applewebkit)[ /]([\\w.]+).*(safari)[ /]([\\w.]+)/.exec(ua) ||\n /(webkit)[ /]([\\w.]+).*(version)[ /]([\\w.]+).*(safari)[ /]([\\w.]+)/.exec(ua) ||\n /(webkit)[ /]([\\w.]+)/.exec(ua) ||\n /(opera)(?:.*version|)[ /]([\\w.]+)/.exec(ua) ||\n /(msie) ([\\w.]+)/.exec(ua) ||\n ua.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(ua) ||\n ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) ||\n [];\n const matched = {\n browser: match[5] || match[3] || match[1] || '',\n version: match[4] || match[2] || '0'\n };\n if (matched.browser) {\n browser[matched.browser] = true;\n browser.version = parseInt(matched.version, 10);\n }\n // Chrome, Opera 15+, Safari and Yandex.Browser are webkit based browsers\n if (browser.chrome || browser.opr || browser.safari || browser.edg || browser.yabrowser) {\n browser.isWebkit = true;\n }\n // IE11 has a new token so we will assign it ie to avoid breaking changes\n if (browser.rv || browser.iemobile) {\n browser.ie = true;\n }\n // Edge has a new token since it became webkit based\n if (browser.edg) {\n browser.edge = true;\n }\n // Opera 15+ are identified as opr\n if (browser.opr) {\n browser.opera = true;\n }\n return browser;\n}\nexports.getBrowserInfo = getBrowserInfo;\nfunction getComponentPathWithoutIndicies(path = '') {\n return path.replace(/\\[\\d+\\]/, '');\n}\nexports.getComponentPathWithoutIndicies = getComponentPathWithoutIndicies;\n/**\n * Returns a path to the component which based on its schema\n * @param {*} component is a component's schema containing link to its parent's schema in the 'parent' property\n */\nfunction getComponentPath(component, path = '') {\n var _a;\n if (!component || !component.key || ((_a = component === null || component === void 0 ? void 0 : component._form) === null || _a === void 0 ? void 0 : _a.display) === 'wizard') { // unlike the Webform, the Wizard has the key and it is a duplicate of the panel key\n return path;\n }\n path = component.isInputComponent || component.input === true ? `${component.key}${path ? '.' : ''}${path}` : path;\n return getComponentPath(component.parent, path);\n}\nexports.getComponentPath = getComponentPath;\n/**\n * Returns a parent component of the passed component instance skipping all the Layout components\n * @param {*} componentInstance\n * @return {(Component|undefined)}\n */\nfunction getDataParentComponent(componentInstance) {\n if (!componentInstance) {\n return;\n }\n const { parent } = componentInstance;\n if (parent && (parent.isInputComponent || parent.input)) {\n return parent;\n }\n else {\n return getDataParentComponent(parent);\n }\n}\nexports.getDataParentComponent = getDataParentComponent;\n/**\n * Returns whether the value is a promise\n * @param value\n * @return {boolean}\n */\nfunction isPromise(value) {\n return value\n && value.then\n && typeof value.then === 'function'\n && Object.prototype.toString.call(value) === '[object Promise]';\n}\nexports.isPromise = isPromise;\n/**\n * Determines if the component has a scoping parent in tree (a component which scopes its children and manages its\n * changes by itself, e.g. EditGrid)\n * @param componentInstance\n * @param firstPass\n * @returns {boolean|boolean|*}\n */\nfunction isInsideScopingComponent(componentInstance, firstPass = true) {\n if (!firstPass && (componentInstance === null || componentInstance === void 0 ? void 0 : componentInstance.hasScopedChildren)) {\n return true;\n }\n const dataParent = getDataParentComponent(componentInstance);\n if (dataParent === null || dataParent === void 0 ? void 0 : dataParent.hasScopedChildren) {\n return true;\n }\n else if (dataParent === null || dataParent === void 0 ? void 0 : dataParent.parent) {\n return isInsideScopingComponent(dataParent.parent, false);\n }\n return false;\n}\nexports.isInsideScopingComponent = isInsideScopingComponent;\nfunction getFocusableElements(element) {\n const focusableSelector = `button:not([disabled]), input:not([disabled]), select:not([disabled]),\n textarea:not([disabled]), button:not([disabled]), [href]`;\n return element.querySelectorAll(focusableSelector);\n}\nexports.getFocusableElements = getFocusableElements;\nexports.componentValueTypes = {\n number: 'number',\n string: 'string',\n boolean: 'boolean',\n array: 'array',\n object: 'object',\n date: 'date',\n any: 'any',\n};\nfunction getComponentSavedTypes(fullSchema) {\n const schema = fullSchema || {};\n if (schema.persistent !== true) {\n return [];\n }\n if (schema.multiple) {\n return [exports.componentValueTypes.array];\n }\n return null;\n}\nexports.getComponentSavedTypes = getComponentSavedTypes;\n/**\n * Interpolates @formio/core errors so that they are compatible with the renderer\n * @param {FieldError[]} errors\n * @param firstPass\n * @returns {[]}\n */\nconst interpolateErrors = (component, errors, interpolateFn) => {\n return errors.map((error) => {\n error.component = component;\n const { errorKeyOrMessage, context } = error;\n const toInterpolate = component.errors && component.errors[errorKeyOrMessage] ? component.errors[errorKeyOrMessage] : errorKeyOrMessage;\n return Object.assign(Object.assign({}, error), { message: unescapeHTML(interpolateFn(toInterpolate, context)), context: Object.assign({}, context) });\n });\n};\nexports.interpolateErrors = interpolateErrors;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/utils/utils.js?");
2115
+ eval("\n/* global jQuery */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.observeOverload = exports.withSwitch = exports.firstNonNil = exports.unfold = exports.bootstrapVersion = exports.uniqueKey = exports.iterateKey = exports.delay = exports.fieldData = exports.getCurrencyAffixes = exports.getNumberDecimalLimit = exports.getNumberSeparators = exports.matchInputMask = exports.unmaskValue = exports.getInputMask = exports.convertFormatToMask = exports.convertFormatToMoment = exports.convertFormatToFlatpickr = exports.getLocaleDateFormatInfo = exports.formatOffset = exports.formatDate = exports.momentDate = exports.loadZones = exports.shouldLoadZones = exports.zonesLoaded = exports.offsetDate = exports.currentTimezone = exports.isValidDate = exports.getDateSetting = exports.guid = exports.uniqueName = exports.convertStringToHTMLElement = exports.unescapeHTML = exports.setActionProperty = exports.checkTrigger = exports.checkCondition = exports.checkJsonConditional = exports.checkCustomConditional = exports.getComponentActualValue = exports.checkSimpleConditional = exports.checkCalculated = exports.isMongoId = exports.boolValue = exports.getElementRect = exports.getPropertyValue = exports.getRandomComponentId = exports.evaluate = exports.moment = exports.ConditionOperators = exports.jsonLogic = void 0;\nexports.interpolateErrors = exports.getComponentSavedTypes = exports.componentValueTypes = exports._ = exports.getFocusableElements = exports.isInsideScopingComponent = exports.isPromise = exports.getDataParentComponent = exports.getComponentPath = exports.getComponentPathWithoutIndicies = exports.getBrowserInfo = exports.getIEBrowserVersion = exports.round = exports.getStringFromComponentPath = exports.isChildOf = exports.getArrayFromComponentPath = exports.isInputComponent = exports.interpolate = exports.Evaluator = exports.fastCloneDeep = exports.sanitize = exports.translateHTMLTemplate = exports.getContextButtons = exports.getContextComponents = void 0;\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nexports._ = lodash_1.default;\nconst fetch_ponyfill_1 = __importDefault(__webpack_require__(/*! fetch-ponyfill */ \"./node_modules/fetch-ponyfill/build/fetch-browser.js\"));\nconst json_logic_js_1 = __importDefault(__webpack_require__(/*! json-logic-js */ \"./node_modules/json-logic-js/logic.js\"));\nexports.jsonLogic = json_logic_js_1.default;\nconst moment_timezone_1 = __importDefault(__webpack_require__(/*! moment-timezone/moment-timezone */ \"./node_modules/moment-timezone/moment-timezone.js\"));\nconst jstimezonedetect_1 = __importDefault(__webpack_require__(/*! jstimezonedetect */ \"./node_modules/jstimezonedetect/dist/jstz.min.js\"));\nconst operators_1 = __webpack_require__(/*! ./jsonlogic/operators */ \"./lib/cjs/utils/jsonlogic/operators.js\");\nconst dompurify_1 = __importDefault(__webpack_require__(/*! dompurify */ \"./node_modules/dompurify/dist/purify.js\"));\nconst formUtils_1 = __webpack_require__(/*! ./formUtils */ \"./lib/cjs/utils/formUtils.js\");\nconst Evaluator_1 = __importDefault(__webpack_require__(/*! ./Evaluator */ \"./lib/cjs/utils/Evaluator.js\"));\nexports.Evaluator = Evaluator_1.default;\nconst conditionOperators_1 = __importDefault(__webpack_require__(/*! ./conditionOperators */ \"./lib/cjs/utils/conditionOperators/index.js\"));\nexports.ConditionOperators = conditionOperators_1.default;\nconst interpolate = Evaluator_1.default.interpolate;\nexports.interpolate = interpolate;\nconst { fetch } = (0, fetch_ponyfill_1.default)({\n Promise: Promise\n});\n__exportStar(__webpack_require__(/*! ./formUtils */ \"./lib/cjs/utils/formUtils.js\"), exports);\n// Configure JsonLogic\noperators_1.lodashOperators.forEach((name) => json_logic_js_1.default.add_operation(`_${name}`, lodash_1.default[name]));\n// Retrieve Any Date\njson_logic_js_1.default.add_operation('getDate', (date) => {\n return (0, moment_timezone_1.default)(date).toISOString();\n});\n// Set Relative Minimum Date\njson_logic_js_1.default.add_operation('relativeMinDate', (relativeMinDate) => {\n return (0, moment_timezone_1.default)().subtract(relativeMinDate, 'days').toISOString();\n});\n// Set Relative Maximum Date\njson_logic_js_1.default.add_operation('relativeMaxDate', (relativeMaxDate) => {\n return (0, moment_timezone_1.default)().add(relativeMaxDate, 'days').toISOString();\n});\nexports.moment = __importStar(__webpack_require__(/*! moment-timezone/moment-timezone */ \"./node_modules/moment-timezone/moment-timezone.js\"));\nfunction setPathToComponentAndPerentSchema(component) {\n component.path = getComponentPath(component);\n const dataParent = getDataParentComponent(component);\n if (dataParent && typeof dataParent === 'object') {\n dataParent.path = getComponentPath(dataParent);\n }\n}\n/**\n * Evaluate a method.\n *\n * @param func\n * @param args\n * @return {*}\n */\nfunction evaluate(func, args, ret, tokenize) {\n let returnVal = null;\n const component = args.component ? args.component : { key: 'unknown' };\n if (!args.form && args.instance) {\n args.form = lodash_1.default.get(args.instance, 'root._form', {});\n }\n const componentKey = component.key;\n if (typeof func === 'string') {\n if (ret) {\n func += `;return ${ret}`;\n }\n if (tokenize) {\n // Replace all {{ }} references with actual data.\n func = func.replace(/({{\\s+(.*)\\s+}})/, (match, $1, $2) => {\n if ($2.indexOf('data.') === 0) {\n return lodash_1.default.get(args.data, $2.replace('data.', ''));\n }\n else if ($2.indexOf('row.') === 0) {\n return lodash_1.default.get(args.row, $2.replace('row.', ''));\n }\n // Support legacy...\n return lodash_1.default.get(args.data, $2);\n });\n }\n try {\n func = Evaluator_1.default.evaluator(func, args);\n args = lodash_1.default.values(args);\n }\n catch (err) {\n console.warn(`An error occured within the custom function for ${componentKey}`, err);\n returnVal = null;\n func = false;\n }\n }\n if (typeof func === 'function') {\n try {\n returnVal = Evaluator_1.default.evaluate(func, args);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (typeof func === 'object') {\n try {\n returnVal = json_logic_js_1.default.apply(func, args);\n }\n catch (err) {\n returnVal = null;\n console.warn(`An error occured within custom function for ${componentKey}`, err);\n }\n }\n else if (func) {\n console.warn(`Unknown function type for ${componentKey}`);\n }\n return returnVal;\n}\nexports.evaluate = evaluate;\nfunction getRandomComponentId() {\n return `e${Math.random().toString(36).substring(7)}`;\n}\nexports.getRandomComponentId = getRandomComponentId;\n/**\n * Get a property value of an element.\n *\n * @param style\n * @param prop\n * @return {number}\n */\nfunction getPropertyValue(style, prop) {\n let value = style.getPropertyValue(prop);\n value = value ? value.replace(/[^0-9.]/g, '') : '0';\n return parseFloat(value);\n}\nexports.getPropertyValue = getPropertyValue;\n/**\n * Get an elements bounding rectagle.\n *\n * @param element\n * @return {{x: string, y: string, width: string, height: string}}\n */\nfunction getElementRect(element) {\n const style = window.getComputedStyle(element, null);\n return {\n x: getPropertyValue(style, 'left'),\n y: getPropertyValue(style, 'top'),\n width: getPropertyValue(style, 'width'),\n height: getPropertyValue(style, 'height')\n };\n}\nexports.getElementRect = getElementRect;\n/**\n * Determines the boolean value of a setting.\n *\n * @param value\n * @return {boolean}\n */\nfunction boolValue(value) {\n if (lodash_1.default.isBoolean(value)) {\n return value;\n }\n else if (lodash_1.default.isString(value)) {\n return (value.toLowerCase() === 'true');\n }\n else {\n return !!value;\n }\n}\nexports.boolValue = boolValue;\n/**\n * Check to see if an ID is a mongoID.\n * @param text\n * @return {Array|{index: number, input: string}|Boolean|*}\n */\nfunction isMongoId(text) {\n return text.toString().match(/^[0-9a-fA-F]{24}$/);\n}\nexports.isMongoId = isMongoId;\n/**\n * Checks the calculated value for a provided component and data.\n *\n * @param {Object} component\n * The component to check for the calculated value.\n * @param {Object} submission\n * A submission object.\n * @param data\n * The full submission data.\n */\nfunction checkCalculated(component, submission, rowData) {\n // Process calculated value stuff if present.\n if (component.calculateValue) {\n lodash_1.default.set(rowData, component.key, evaluate(component.calculateValue, {\n value: undefined,\n data: submission ? submission.data : rowData,\n row: rowData,\n util: this,\n component\n }, 'value'));\n }\n}\nexports.checkCalculated = checkCalculated;\n/**\n * Check if a simple conditional evaluates to true.\n *\n * @param condition\n * @param condition\n * @param row\n * @param data\n * @param instance\n * @returns {boolean}\n */\nfunction checkSimpleConditional(component, condition, row, data, instance) {\n if (condition.when) {\n const value = getComponentActualValue(condition.when, data, row);\n const eq = String(condition.eq);\n const show = String(condition.show);\n // Special check for selectboxes component.\n if (lodash_1.default.isObject(value) && lodash_1.default.has(value, condition.eq)) {\n return String(value[condition.eq]) === show;\n }\n // FOR-179 - Check for multiple values.\n if (Array.isArray(value) && value.map(String).includes(eq)) {\n return show === 'true';\n }\n return (String(value) === eq) === (show === 'true');\n }\n else {\n const { conditions = [], conjunction = 'all', show = true } = condition;\n if (!conditions.length) {\n return true;\n }\n const conditionsResult = lodash_1.default.map(conditions, (cond) => {\n const { value: comparedValue, operator, component: conditionComponentPath } = cond;\n if (!conditionComponentPath) {\n return true;\n }\n const value = getComponentActualValue(conditionComponentPath, data, row);\n const ConditionOperator = conditionOperators_1.default[operator];\n return ConditionOperator\n ? new ConditionOperator().getResult({ value, comparedValue, instance, component, conditionComponentPath })\n : true;\n });\n let result = false;\n switch (conjunction) {\n case 'any':\n result = lodash_1.default.some(conditionsResult, res => !!res);\n break;\n default:\n result = lodash_1.default.every(conditionsResult, res => !!res);\n }\n return show ? result : !result;\n }\n}\nexports.checkSimpleConditional = checkSimpleConditional;\nfunction getComponentActualValue(compPath, data, row) {\n let value = null;\n if (row) {\n value = (0, formUtils_1.getValue)({ data: row }, compPath);\n }\n if (data && lodash_1.default.isNil(value)) {\n value = (0, formUtils_1.getValue)({ data }, compPath);\n }\n // FOR-400 - Fix issue where falsey values were being evaluated as show=true\n if (lodash_1.default.isNil(value) || (lodash_1.default.isObject(value) && lodash_1.default.isEmpty(value))) {\n value = '';\n }\n return value;\n}\nexports.getComponentActualValue = getComponentActualValue;\n/**\n * Check custom javascript conditional.\n *\n * @param component\n * @param custom\n * @param row\n * @param data\n * @returns {*}\n */\nfunction checkCustomConditional(component, custom, row, data, form, variable, onError, instance) {\n if (typeof custom === 'string') {\n custom = `var ${variable} = true; ${custom}; return ${variable};`;\n }\n const value = (instance && instance.evaluate) ?\n instance.evaluate(custom, { row, data, form }) :\n evaluate(custom, { row, data, form });\n if (value === null) {\n return onError;\n }\n return value;\n}\nexports.checkCustomConditional = checkCustomConditional;\nfunction checkJsonConditional(component, json, row, data, form, onError) {\n try {\n return json_logic_js_1.default.apply(json, {\n data,\n row,\n form,\n _: lodash_1.default,\n });\n }\n catch (err) {\n console.warn(`An error occurred in jsonLogic advanced condition for ${component.key}`, err);\n return onError;\n }\n}\nexports.checkJsonConditional = checkJsonConditional;\nfunction getRow(component, row, instance, conditional) {\n var _a;\n const condition = conditional || component.conditional;\n // If no component's instance passed (happens only in 6.x server), calculate its path based on the schema\n if (!instance) {\n instance = lodash_1.default.cloneDeep(component);\n setPathToComponentAndPerentSchema(instance);\n }\n const dataParent = getDataParentComponent(instance);\n const parentPath = dataParent ? getComponentPath(dataParent) : null;\n const isTriggerCondtionComponentPath = condition.when || !condition.conditions\n ? (_a = condition.when) === null || _a === void 0 ? void 0 : _a.startsWith(parentPath)\n : lodash_1.default.some(condition.conditions, cond => cond.component.startsWith(parentPath));\n if (dataParent && isTriggerCondtionComponentPath) {\n const newRow = {};\n lodash_1.default.set(newRow, parentPath, row);\n row = newRow;\n }\n return row;\n}\n/**\n * Checks the conditions for a provided component and data.\n *\n * @param component\n * The component to check for the condition.\n * @param row\n * The data within a row\n * @param data\n * The full submission data.\n *\n * @returns {boolean}\n */\nfunction checkCondition(component, row, data, form, instance) {\n const { customConditional, conditional } = component;\n if (customConditional) {\n return checkCustomConditional(component, customConditional, row, data, form, 'show', true, instance);\n }\n else if (conditional && (conditional.when || lodash_1.default.some(conditional.conditions || [], condition => condition.component && condition.operator))) {\n row = getRow(component, row, instance);\n return checkSimpleConditional(component, conditional, row, data, instance);\n }\n else if (conditional && conditional.json) {\n return checkJsonConditional(component, conditional.json, row, data, form, true);\n }\n // Default to show.\n return true;\n}\nexports.checkCondition = checkCondition;\n/**\n * Test a trigger on a component.\n *\n * @param component\n * @param action\n * @param data\n * @param row\n * @returns {mixed}\n */\nfunction checkTrigger(component, trigger, row, data, form, instance) {\n // If trigger is empty, don't fire it\n if (!trigger || !trigger[trigger.type]) {\n return false;\n }\n switch (trigger.type) {\n case 'simple':\n row = getRow(component, row, instance, trigger.simple);\n return checkSimpleConditional(component, trigger.simple, row, data, instance);\n case 'javascript':\n return checkCustomConditional(component, trigger.javascript, row, data, form, 'result', false, instance);\n case 'json':\n return checkJsonConditional(component, trigger.json, row, data, form, false);\n }\n // If none of the types matched, don't fire the trigger.\n return false;\n}\nexports.checkTrigger = checkTrigger;\nfunction setActionProperty(component, action, result, row, data, instance) {\n const property = action.property.value;\n switch (action.property.type) {\n case 'boolean': {\n const currentValue = lodash_1.default.get(component, property, false).toString();\n const newValue = action.state.toString();\n if (currentValue !== newValue) {\n lodash_1.default.set(component, property, newValue === 'true');\n }\n break;\n }\n case 'string': {\n const evalData = {\n data,\n row,\n component,\n result,\n };\n const textValue = action.property.component ? action[action.property.component] : action.text;\n const currentValue = lodash_1.default.get(component, property, '');\n const newValue = (instance && instance.interpolate)\n ? instance.interpolate(textValue, evalData)\n : Evaluator_1.default.interpolate(textValue, evalData);\n if (newValue !== currentValue) {\n lodash_1.default.set(component, property, newValue);\n }\n break;\n }\n }\n return component;\n}\nexports.setActionProperty = setActionProperty;\n/**\n * Unescape HTML characters like &lt, &gt, &amp and etc.\n * @param str\n * @returns {string}\n */\nfunction unescapeHTML(str) {\n if (typeof window === 'undefined' || !('DOMParser' in window)) {\n return str;\n }\n const doc = new window.DOMParser().parseFromString(str, 'text/html');\n return doc.documentElement.textContent;\n}\nexports.unescapeHTML = unescapeHTML;\n/**\n * Make HTML element from string\n * @param str\n * @param selector\n * @returns {HTMLElement}\n */\nfunction convertStringToHTMLElement(str, selector) {\n const doc = new window.DOMParser().parseFromString(str, 'text/html');\n return doc.body.querySelector(selector);\n}\nexports.convertStringToHTMLElement = convertStringToHTMLElement;\n/**\n * Make a filename guaranteed to be unique.\n * @param name\n * @param template\n * @param evalContext\n * @returns {string}\n */\nfunction uniqueName(name, template, evalContext) {\n template = template || '{{fileName}}-{{guid}}';\n //include guid in template anyway, to prevent overwriting issue if filename matches existing file\n if (!template.includes('{{guid}}')) {\n template = `${template}-{{guid}}`;\n }\n const parts = name.split('.');\n let fileName = parts.slice(0, parts.length - 1).join('.');\n const extension = parts.length > 1\n ? `.${lodash_1.default.last(parts)}`\n : '';\n //allow only 100 characters from original name to avoid issues with filename length restrictions\n fileName = fileName.substr(0, 100);\n evalContext = Object.assign(evalContext || {}, {\n fileName,\n guid: guid()\n });\n //only letters, numbers, dots, dashes, underscores and spaces are allowed. Anything else will be replaced with dash\n const uniqueName = `${Evaluator_1.default.interpolate(template, evalContext)}${extension}`.replace(/[^0-9a-zA-Z.\\-_ ]/g, '-');\n return uniqueName;\n}\nexports.uniqueName = uniqueName;\nfunction guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x'\n ? r\n : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\nexports.guid = guid;\n/**\n * Return a translated date setting.\n *\n * @param date\n * @return {(null|Date)}\n */\nfunction getDateSetting(date) {\n if (lodash_1.default.isNil(date) || lodash_1.default.isNaN(date) || date === '') {\n return null;\n }\n if (date instanceof Date) {\n return date;\n }\n else if (typeof date.toDate === 'function') {\n return date.isValid() ? date.toDate() : null;\n }\n let dateSetting = ((typeof date !== 'string') || (date.indexOf('moment(') === -1)) ? (0, moment_timezone_1.default)(date) : null;\n if (dateSetting && dateSetting.isValid()) {\n return dateSetting.toDate();\n }\n dateSetting = null;\n try {\n const value = Evaluator_1.default.evaluator(`return ${date};`, 'moment')(moment_timezone_1.default);\n if (typeof value === 'string') {\n dateSetting = (0, moment_timezone_1.default)(value);\n }\n else if (typeof value.toDate === 'function') {\n dateSetting = (0, moment_timezone_1.default)(value.toDate().toUTCString());\n }\n else if (value instanceof Date) {\n dateSetting = (0, moment_timezone_1.default)(value);\n }\n }\n catch (e) {\n return null;\n }\n if (!dateSetting) {\n return null;\n }\n // Ensure this is a date.\n if (!dateSetting.isValid()) {\n return null;\n }\n return dateSetting.toDate();\n}\nexports.getDateSetting = getDateSetting;\nfunction isValidDate(date) {\n return lodash_1.default.isDate(date) && !lodash_1.default.isNaN(date.getDate());\n}\nexports.isValidDate = isValidDate;\n/**\n * Get the current timezone string.\n *\n * @return {string}\n */\nfunction currentTimezone() {\n if (moment_timezone_1.default.currentTimezone) {\n return moment_timezone_1.default.currentTimezone;\n }\n moment_timezone_1.default.currentTimezone = jstimezonedetect_1.default.determine().name();\n return moment_timezone_1.default.currentTimezone;\n}\nexports.currentTimezone = currentTimezone;\n/**\n * Get an offset date provided a date object and timezone object.\n *\n * @param date\n * @param timezone\n * @return {Date}\n */\nfunction offsetDate(date, timezone) {\n if (timezone === 'UTC') {\n return {\n date: new Date(date.getTime() + (date.getTimezoneOffset() * 60000)),\n abbr: 'UTC'\n };\n }\n const dateMoment = (0, moment_timezone_1.default)(date).tz(timezone);\n return {\n date: new Date(date.getTime() + ((dateMoment.utcOffset() + date.getTimezoneOffset()) * 60000)),\n abbr: dateMoment.format('z')\n };\n}\nexports.offsetDate = offsetDate;\n/**\n * Returns if the zones are loaded.\n *\n * @return {boolean}\n */\nfunction zonesLoaded() {\n return moment_timezone_1.default.zonesLoaded;\n}\nexports.zonesLoaded = zonesLoaded;\n/**\n * Returns if we should load the zones.\n *\n * @param timezone\n * @return {boolean}\n */\nfunction shouldLoadZones(timezone) {\n if (timezone === currentTimezone() || timezone === 'UTC') {\n return false;\n }\n return true;\n}\nexports.shouldLoadZones = shouldLoadZones;\n/**\n * Externally load the timezone data.\n *\n * @return {Promise<any> | *}\n */\nfunction loadZones(url, timezone) {\n if (timezone && !shouldLoadZones(timezone)) {\n // Return non-resolving promise.\n return new Promise(lodash_1.default.noop);\n }\n if (moment_timezone_1.default.zonesPromise) {\n return moment_timezone_1.default.zonesPromise;\n }\n return moment_timezone_1.default.zonesPromise = fetch(url)\n .then(resp => resp.json().then(zones => {\n moment_timezone_1.default.tz.load(zones);\n moment_timezone_1.default.zonesLoaded = true;\n // Trigger a global event that the timezones have finished loading.\n if (document && document.createEvent && document.body && document.body.dispatchEvent) {\n var event = document.createEvent('Event');\n event.initEvent('zonesLoaded', true, true);\n document.body.dispatchEvent(event);\n }\n }));\n}\nexports.loadZones = loadZones;\n/**\n * Get the moment date object for translating dates with timezones.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {*}\n */\nfunction momentDate(value, format, timezone) {\n const momentDate = (0, moment_timezone_1.default)(value);\n if (!timezone) {\n return momentDate;\n }\n if (timezone === 'UTC') {\n timezone = 'Etc/UTC';\n }\n if ((timezone !== currentTimezone() || (format && format.match(/\\s(z$|z\\s)/))) && moment_timezone_1.default.zonesLoaded) {\n return momentDate.tz(timezone);\n }\n return momentDate;\n}\nexports.momentDate = momentDate;\n/**\n * Format a date provided a value, format, and timezone object.\n *\n * @param value\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatDate(timezonesUrl, value, format, timezone, flatPickrInputFormat) {\n const momentDate = (0, moment_timezone_1.default)(value, flatPickrInputFormat || undefined);\n if (timezone === currentTimezone()) {\n // See if our format contains a \"z\" timezone character.\n if (format.match(/\\s(z$|z\\s)/)) {\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded) {\n return momentDate.tz(timezone).format(convertFormatToMoment(format));\n }\n else {\n return momentDate.format(convertFormatToMoment(format.replace(/\\s(z$|z\\s)/, '')));\n }\n }\n // Return the standard format.\n return momentDate.format(convertFormatToMoment(format));\n }\n if (timezone === 'UTC') {\n const offset = offsetDate(momentDate.toDate(), 'UTC');\n return `${(0, moment_timezone_1.default)(offset.date).format(convertFormatToMoment(format))} UTC`;\n }\n // Load the zones since we need timezone information.\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded && timezone) {\n return momentDate.tz(timezone).format(`${convertFormatToMoment(format)} z`);\n }\n else {\n return momentDate.format(convertFormatToMoment(format));\n }\n}\nexports.formatDate = formatDate;\n/**\n * Pass a format function to format within a timezone.\n *\n * @param formatFn\n * @param date\n * @param format\n * @param timezone\n * @return {string}\n */\nfunction formatOffset(timezonesUrl, formatFn, date, format, timezone) {\n if (timezone === currentTimezone()) {\n return formatFn(date, format);\n }\n if (timezone === 'UTC') {\n return `${formatFn(offsetDate(date, 'UTC').date, format)} UTC`;\n }\n // Load the zones since we need timezone information.\n loadZones(timezonesUrl);\n if (moment_timezone_1.default.zonesLoaded) {\n const offset = offsetDate(date, timezone);\n return `${formatFn(offset.date, format)} ${offset.abbr}`;\n }\n else {\n return formatFn(date, format);\n }\n}\nexports.formatOffset = formatOffset;\nfunction getLocaleDateFormatInfo(locale) {\n const formatInfo = {};\n const day = 21;\n const exampleDate = new Date(2017, 11, day);\n const localDateString = exampleDate.toLocaleDateString(locale);\n formatInfo.dayFirst = localDateString.slice(0, 2) === day.toString();\n return formatInfo;\n}\nexports.getLocaleDateFormatInfo = getLocaleDateFormatInfo;\n/**\n * Convert the format from the angular-datepicker module to flatpickr format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToFlatpickr(format) {\n return format\n // Remove the Z timezone offset, not supported by flatpickr.\n .replace(/Z/g, '')\n // Year conversion.\n .replace(/y/g, 'Y')\n .replace('YYYY', 'Y')\n .replace('YY', 'y')\n // Month conversion.\n .replace('MMMM', 'F')\n .replace(/M/g, 'n')\n .replace('nnn', 'M')\n .replace('nn', 'm')\n // Day in month.\n .replace(/d/g, 'j')\n .replace(/jj/g, 'd')\n // Day in week.\n .replace('EEEE', 'l')\n .replace('EEE', 'D')\n // Hours, minutes, seconds\n .replace('HH', 'H')\n .replace('hh', 'G')\n .replace('mm', 'i')\n .replace('ss', 'S')\n .replace(/a/g, 'K');\n}\nexports.convertFormatToFlatpickr = convertFormatToFlatpickr;\n/**\n * Convert the format from the angular-datepicker module to moment format.\n * @param format\n * @return {string}\n */\nfunction convertFormatToMoment(format) {\n return format\n // Year conversion.\n .replace(/y/g, 'Y')\n // Day in month.\n .replace(/d/g, 'D')\n // Day in week.\n .replace(/E/g, 'd')\n // AM/PM marker\n .replace(/a/g, 'A')\n // Unix Timestamp\n .replace(/U/g, 'X');\n}\nexports.convertFormatToMoment = convertFormatToMoment;\nfunction convertFormatToMask(format) {\n return format\n // Long month replacement.\n .replace(/M{4}/g, 'MM')\n // Initial short month conversion.\n .replace(/M{3}/g, '***')\n // Short month conversion if input as text.\n .replace(/e/g, 'Q')\n // Month number conversion.\n .replace(/W/g, '99')\n // Year conversion.\n .replace(/[ydhmswHMG]/g, '9')\n // AM/PM conversion.\n .replace(/a/g, 'AA');\n}\nexports.convertFormatToMask = convertFormatToMask;\n/**\n * Returns an input mask that is compatible with the input mask library.\n * @param {string} mask - The Form.io input mask.\n * @param {string} placeholderChar - Char which is used as a placeholder.\n * @returns {Array} - The input mask for the mask library.\n */\nfunction getInputMask(mask, placeholderChar) {\n if (mask instanceof Array) {\n return mask;\n }\n const maskArray = [];\n maskArray.numeric = true;\n for (let i = 0; i < mask.length; i++) {\n switch (mask[i]) {\n case '9':\n maskArray.push(/\\d/);\n break;\n case 'A':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z]/);\n break;\n case 'a':\n maskArray.numeric = false;\n maskArray.push(/[a-z]/);\n break;\n case '*':\n maskArray.numeric = false;\n maskArray.push(/[a-zA-Z0-9]/);\n break;\n // If char which is used inside mask placeholder was used in the mask, replace it with space to prevent errors\n case placeholderChar:\n maskArray.numeric = false;\n maskArray.push(' ');\n break;\n default:\n maskArray.numeric = false;\n maskArray.push(mask[i]);\n break;\n }\n }\n return maskArray;\n}\nexports.getInputMask = getInputMask;\nfunction unmaskValue(value, mask, placeholderChar) {\n if (!mask || !value || value.length > mask.length) {\n return value;\n }\n let unmaskedValue = value.split('');\n for (let i = 0; i < mask.length; i++) {\n const char = value[i] || '';\n const charPart = mask[i];\n if (!lodash_1.default.isRegExp(charPart) && char === charPart) {\n unmaskedValue[i] = '';\n }\n }\n unmaskedValue = unmaskedValue.join('').replace(placeholderChar, '');\n return unmaskedValue;\n}\nexports.unmaskValue = unmaskValue;\nfunction matchInputMask(value, inputMask) {\n if (!inputMask) {\n return true;\n }\n // If value is longer than mask, it isn't valid.\n if (value.length > inputMask.length) {\n return false;\n }\n for (let i = 0; i < inputMask.length; i++) {\n const char = value[i] || '';\n const charPart = inputMask[i];\n if (!(lodash_1.default.isRegExp(charPart) && charPart.test(char) || charPart === char)) {\n return false;\n }\n }\n return true;\n}\nexports.matchInputMask = matchInputMask;\nfunction getNumberSeparators(lang = 'en') {\n const formattedNumberString = (12345.6789).toLocaleString(lang);\n const delimeters = formattedNumberString.match(/..(.)...(.)../);\n if (!delimeters) {\n return {\n delimiter: ',',\n decimalSeparator: '.'\n };\n }\n return {\n delimiter: (delimeters.length > 1) ? delimeters[1] : ',',\n decimalSeparator: (delimeters.length > 2) ? delimeters[2] : '.',\n };\n}\nexports.getNumberSeparators = getNumberSeparators;\nfunction getNumberDecimalLimit(component, defaultLimit) {\n if (lodash_1.default.has(component, 'decimalLimit')) {\n return lodash_1.default.get(component, 'decimalLimit');\n }\n // Determine the decimal limit. Defaults to 20 but can be overridden by validate.step or decimalLimit settings.\n let decimalLimit = defaultLimit || 20;\n const step = lodash_1.default.get(component, 'validate.step', 'any');\n if (step !== 'any') {\n const parts = step.toString().split('.');\n if (parts.length > 1) {\n decimalLimit = parts[1].length;\n }\n }\n return decimalLimit;\n}\nexports.getNumberDecimalLimit = getNumberDecimalLimit;\nfunction getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }) {\n // Get the prefix and suffix from the localized string.\n let regex = `(.*)?${(100).toLocaleString(lang)}`;\n if (decimalLimit) {\n regex += `${decimalSeparator === '.' ? '\\\\.' : decimalSeparator}${(0).toLocaleString(lang)}{${decimalLimit}}`;\n }\n regex += '(.*)?';\n const parts = (100).toLocaleString(lang, {\n style: 'currency',\n currency: currency ? currency : 'USD',\n useGrouping: true,\n maximumFractionDigits: decimalLimit || 0,\n minimumFractionDigits: decimalLimit || 0\n }).replace('.', decimalSeparator).match(new RegExp(regex));\n return {\n prefix: (parts === null || parts === void 0 ? void 0 : parts[1]) || '',\n suffix: (parts === null || parts === void 0 ? void 0 : parts[2]) || ''\n };\n}\nexports.getCurrencyAffixes = getCurrencyAffixes;\n/**\n * Fetch the field data provided a component.\n *\n * @param data\n * @param component\n * @return {*}\n */\nfunction fieldData(data, component) {\n if (!data) {\n return '';\n }\n if (!component || !component.key) {\n return data;\n }\n if (component.key.includes('.')) {\n let value = data;\n const parts = component.key.split('.');\n let key = '';\n for (let i = 0; i < parts.length; i++) {\n key = parts[i];\n // Handle nested resources\n if (value.hasOwnProperty('_id')) {\n value = value.data;\n }\n // Return if the key is not found on the value.\n if (!value.hasOwnProperty(key)) {\n return;\n }\n // Convert old single field data in submissions to multiple\n if (key === parts[parts.length - 1] && component.multiple && !Array.isArray(value[key])) {\n value[key] = [value[key]];\n }\n // Set the value of this key.\n value = value[key];\n }\n return value;\n }\n else {\n // Convert old single field data in submissions to multiple\n if (component.multiple && !Array.isArray(data[component.key])) {\n data[component.key] = [data[component.key]];\n }\n // Fix for checkbox type radio submission values in tableView\n if (component.type === 'checkbox' && component.inputType === 'radio') {\n return data[component.name] === component.value;\n }\n return data[component.key];\n }\n}\nexports.fieldData = fieldData;\n/**\n * Delays function execution with possibility to execute function synchronously or cancel it.\n *\n * @param fn Function to delay\n * @param delay Delay time\n * @return {*}\n */\nfunction delay(fn, delay = 0, ...args) {\n const timer = setTimeout(fn, delay, ...args);\n function cancel() {\n clearTimeout(timer);\n }\n function earlyCall() {\n cancel();\n return fn(...args);\n }\n earlyCall.timer = timer;\n earlyCall.cancel = cancel;\n return earlyCall;\n}\nexports.delay = delay;\n/**\n * Iterate the given key to make it unique.\n *\n * @param {String} key\n * Modify the component key to be unique.\n *\n * @returns {String}\n * The new component key.\n */\nfunction iterateKey(key) {\n if (!key.match(/(\\d+)$/)) {\n return `${key}1`;\n }\n return key.replace(/(\\d+)$/, function (suffix) {\n return Number(suffix) + 1;\n });\n}\nexports.iterateKey = iterateKey;\n/**\n * Determines a unique key within a map provided the base key.\n *\n * @param map\n * @param base\n * @return {*}\n */\nfunction uniqueKey(map, base) {\n let newKey = base;\n while (map.hasOwnProperty(newKey)) {\n newKey = iterateKey(newKey);\n }\n return newKey;\n}\nexports.uniqueKey = uniqueKey;\n/**\n * Determines the major version number of bootstrap.\n *\n * @return {number}\n */\nfunction bootstrapVersion(options) {\n if (options.bootstrap) {\n return options.bootstrap;\n }\n if ((typeof jQuery === 'function') && (typeof jQuery().collapse === 'function')) {\n return parseInt(jQuery.fn.collapse.Constructor.VERSION.split('.')[0], 10);\n }\n if (window.bootstrap && window.bootstrap.Collapse) {\n return parseInt(window.bootstrap.Collapse.VERSION.split('.')[0], 10);\n }\n return 0;\n}\nexports.bootstrapVersion = bootstrapVersion;\n/**\n * Retrun provided argument.\n * If argument is a function, returns the result of a function call.\n * @param {*} e;\n *\n * @return {*}\n */\nfunction unfold(e) {\n if (typeof e === 'function') {\n return e();\n }\n return e;\n}\nexports.unfold = unfold;\n/**\n * Map values through unfold and return first non-nil value.\n * @param {Array<T>} collection;\n *\n * @return {T}\n */\nexports.firstNonNil = lodash_1.default.flow([\n lodash_1.default.partialRight(lodash_1.default.map, unfold),\n lodash_1.default.partialRight(lodash_1.default.find, v => !lodash_1.default.isUndefined(v))\n]);\n/*\n * Create enclosed state.\n * Returns functions to getting and cycling between states.\n * @param {*} a - initial state.\n * @param {*} b - next state.\n * @return {Functions[]} -- [get, toggle];\n */\nfunction withSwitch(a, b) {\n let state = a;\n let next = b;\n function get() {\n return state;\n }\n function toggle() {\n const prev = state;\n state = next;\n next = prev;\n }\n return [get, toggle];\n}\nexports.withSwitch = withSwitch;\nfunction observeOverload(callback, options = {}) {\n const { limit = 50, delay = 500 } = options;\n let callCount = 0;\n let timeoutID = 0;\n const reset = () => callCount = 0;\n return () => {\n if (timeoutID !== 0) {\n clearTimeout(timeoutID);\n timeoutID = 0;\n }\n timeoutID = setTimeout(reset, delay);\n callCount += 1;\n if (callCount >= limit) {\n clearTimeout(timeoutID);\n reset();\n return callback();\n }\n };\n}\nexports.observeOverload = observeOverload;\nfunction getContextComponents(context, excludeNested, excludedTypes = []) {\n const values = [];\n context.utils.eachComponent(context.instance.options.editForm.components, (component, path) => {\n const addToContextComponents = excludeNested ? !component.tree : true;\n if (component.key !== context.data.key && addToContextComponents && !lodash_1.default.includes(excludedTypes, component.type)) {\n values.push({\n label: `${component.label || component.key} (${path})`,\n value: path,\n });\n }\n });\n return values;\n}\nexports.getContextComponents = getContextComponents;\nfunction getContextButtons(context) {\n const values = [];\n context.utils.eachComponent(context.instance.options.editForm.components, (component) => {\n if (component.type === 'button') {\n values.push({\n label: `${component.key} (${component.label})`,\n value: component.key,\n });\n }\n });\n return values;\n}\nexports.getContextButtons = getContextButtons;\n// Tags that could be in text, that should be ommited or handled in a special way\nconst inTextTags = ['#text', 'A', 'B', 'EM', 'I', 'SMALL', 'STRONG', 'SUB', 'SUP', 'INS', 'DEL', 'MARK', 'CODE'];\n/**\n * Helper function for 'translateHTMLTemplate'. Translates text value of the passed html element.\n *\n * @param {HTMLElement} elem\n * @param {Function} translate\n *\n * @returns {String}\n * Translated element template.\n */\nfunction translateElemValue(elem, translate) {\n if (!elem.innerText) {\n return elem.innerHTML;\n }\n const elemValue = elem.innerText.replace(Evaluator_1.default.templateSettings.interpolate, '').replace(/\\s\\s+/g, ' ').trim();\n const translatedValue = translate(elemValue);\n if (elemValue !== translatedValue) {\n const links = elem.innerHTML.match(/<a[^>]*>(.*?)<\\/a>/g);\n if (links && links.length) {\n if (links.length === 1 && links[0].length === elem.innerHTML.length) {\n return elem.innerHTML.replace(elemValue, translatedValue);\n }\n const translatedLinks = links.map(link => {\n const linkElem = document.createElement('a');\n linkElem.innerHTML = link;\n return translateElemValue(linkElem, translate);\n });\n return `${translatedValue} (${translatedLinks.join(', ')})`;\n }\n else {\n return elem.innerText.replace(elemValue, translatedValue);\n }\n }\n else {\n return elem.innerHTML;\n }\n}\n/**\n * Helper function for 'translateHTMLTemplate'. Goes deep through html tag children and calls function to translate their text values.\n *\n * @param {HTMLElement} tag\n * @param {Function} translate\n *\n * @returns {void}\n */\nfunction translateDeepTag(tag, translate) {\n const children = tag.children.length && [...tag.children];\n const shouldTranslateEntireContent = children && children.every(child => child.children.length === 0\n && inTextTags.some(tag => child.nodeName === tag));\n if (!children || shouldTranslateEntireContent) {\n tag.innerHTML = translateElemValue(tag, translate);\n }\n else {\n children.forEach(child => translateDeepTag(child, translate));\n }\n}\n/**\n * Translates text values in html template.\n *\n * @param {String} template\n * @param {Function} translate\n *\n * @returns {String}\n * Html template with translated values.\n */\nfunction translateHTMLTemplate(template, translate) {\n const isHTML = /<[^>]*>/.test(template);\n if (!isHTML) {\n return translate(template);\n }\n const tempElem = document.createElement('div');\n tempElem.innerHTML = template;\n if (tempElem.innerText && tempElem.children.length) {\n translateDeepTag(tempElem, translate);\n return tempElem.innerHTML;\n }\n return template;\n}\nexports.translateHTMLTemplate = translateHTMLTemplate;\n/**\n * Sanitize an html string.\n *\n * @param string\n * @returns {*}\n */\nfunction sanitize(string, options) {\n if (typeof dompurify_1.default.sanitize !== 'function') {\n return string;\n }\n // Dompurify configuration\n const sanitizeOptions = {\n ADD_ATTR: ['ref', 'target'],\n USE_PROFILES: { html: true }\n };\n // Use profiles\n if (options.sanitizeConfig && options.sanitizeConfig.useProfiles) {\n Object.keys(options.sanitizeConfig.useProfiles).forEach(key => {\n sanitizeOptions.USE_PROFILES[key] = options.sanitizeConfig.useProfiles[key];\n });\n }\n // Add attrs\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addAttr) && options.sanitizeConfig.addAttr.length > 0) {\n options.sanitizeConfig.addAttr.forEach((attr) => {\n sanitizeOptions.ADD_ATTR.push(attr);\n });\n }\n // Add tags\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addTags) && options.sanitizeConfig.addTags.length > 0) {\n sanitizeOptions.ADD_TAGS = options.sanitizeConfig.addTags;\n }\n // Allow tags\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.allowedTags) && options.sanitizeConfig.allowedTags.length > 0) {\n sanitizeOptions.ALLOWED_TAGS = options.sanitizeConfig.allowedTags;\n }\n // Allow attributes\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.allowedAttrs) && options.sanitizeConfig.allowedAttrs.length > 0) {\n sanitizeOptions.ALLOWED_ATTR = options.sanitizeConfig.allowedAttrs;\n }\n // Allowd URI Regex\n if (options.sanitizeConfig && options.sanitizeConfig.allowedUriRegex) {\n sanitizeOptions.ALLOWED_URI_REGEXP = options.sanitizeConfig.allowedUriRegex;\n }\n // Allow to extend the existing array of elements that are safe for URI-like values\n if (options.sanitizeConfig && Array.isArray(options.sanitizeConfig.addUriSafeAttr) && options.sanitizeConfig.addUriSafeAttr.length > 0) {\n sanitizeOptions.ADD_URI_SAFE_ATTR = options.sanitizeConfig.addUriSafeAttr;\n }\n return dompurify_1.default.sanitize(string, sanitizeOptions);\n}\nexports.sanitize = sanitize;\n/**\n * Fast cloneDeep for JSON objects only.\n */\nfunction fastCloneDeep(obj) {\n return obj ? JSON.parse(JSON.stringify(obj)) : obj;\n}\nexports.fastCloneDeep = fastCloneDeep;\nfunction isInputComponent(componentJson) {\n if (componentJson.input === false || componentJson.input === true) {\n return componentJson.input;\n }\n switch (componentJson.type) {\n case 'htmlelement':\n case 'content':\n case 'columns':\n case 'fieldset':\n case 'panel':\n case 'table':\n case 'tabs':\n case 'well':\n case 'button':\n return false;\n default:\n return true;\n }\n}\nexports.isInputComponent = isInputComponent;\nfunction getArrayFromComponentPath(pathStr) {\n if (!pathStr || !lodash_1.default.isString(pathStr)) {\n if (!lodash_1.default.isArray(pathStr)) {\n return [pathStr];\n }\n return pathStr;\n }\n return pathStr.replace(/[[\\]]/g, '.')\n .replace(/\\.\\./g, '.')\n .replace(/(^\\.)|(\\.$)/g, '')\n .split('.')\n .map(part => lodash_1.default.defaultTo(lodash_1.default.toNumber(part), part));\n}\nexports.getArrayFromComponentPath = getArrayFromComponentPath;\nfunction isChildOf(child, parent) {\n while (child && child.parent) {\n if (child.parent === parent) {\n return true;\n }\n child = child.parent;\n }\n return false;\n}\nexports.isChildOf = isChildOf;\nfunction getStringFromComponentPath(path) {\n if (!lodash_1.default.isArray(path)) {\n return path;\n }\n let strPath = '';\n path.forEach((part, i) => {\n if (lodash_1.default.isNumber(part)) {\n strPath += `[${part}]`;\n }\n else {\n strPath += i === 0 ? part : `.${part}`;\n }\n });\n return strPath;\n}\nexports.getStringFromComponentPath = getStringFromComponentPath;\nfunction round(number, precision) {\n if (lodash_1.default.isNumber(number)) {\n return number.toFixed(precision);\n }\n return number;\n}\nexports.round = round;\n/**\n * Check for Internet Explorer browser version\n *\n * @return {(number|null)}\n */\nfunction getIEBrowserVersion() {\n const { ie, version } = getBrowserInfo();\n return ie ? version : null;\n}\nexports.getIEBrowserVersion = getIEBrowserVersion;\n/**\n * Get browser name and version (modified from 'jquery-browser-plugin')\n *\n * @return {Object} -- {{browser name, version, isWebkit?}}\n * Possible browser names: chrome, safari, ie, edge, opera, mozilla, yabrowser\n */\nfunction getBrowserInfo() {\n const browser = {};\n if (typeof window === 'undefined') {\n return browser;\n }\n const ua = window.navigator.userAgent.toLowerCase();\n const match = /(edge|edg)\\/([\\w.]+)/.exec(ua) ||\n /(opr)[/]([\\w.]+)/.exec(ua) ||\n /(yabrowser)[ /]([\\w.]+)/.exec(ua) ||\n /(chrome)[ /]([\\w.]+)/.exec(ua) ||\n /(iemobile)[/]([\\w.]+)/.exec(ua) ||\n /(version)(applewebkit)[ /]([\\w.]+).*(safari)[ /]([\\w.]+)/.exec(ua) ||\n /(webkit)[ /]([\\w.]+).*(version)[ /]([\\w.]+).*(safari)[ /]([\\w.]+)/.exec(ua) ||\n /(webkit)[ /]([\\w.]+)/.exec(ua) ||\n /(opera)(?:.*version|)[ /]([\\w.]+)/.exec(ua) ||\n /(msie) ([\\w.]+)/.exec(ua) ||\n ua.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(ua) ||\n ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) ||\n [];\n const matched = {\n browser: match[5] || match[3] || match[1] || '',\n version: match[4] || match[2] || '0'\n };\n if (matched.browser) {\n browser[matched.browser] = true;\n browser.version = parseInt(matched.version, 10);\n }\n // Chrome, Opera 15+, Safari and Yandex.Browser are webkit based browsers\n if (browser.chrome || browser.opr || browser.safari || browser.edg || browser.yabrowser) {\n browser.isWebkit = true;\n }\n // IE11 has a new token so we will assign it ie to avoid breaking changes\n if (browser.rv || browser.iemobile) {\n browser.ie = true;\n }\n // Edge has a new token since it became webkit based\n if (browser.edg) {\n browser.edge = true;\n }\n // Opera 15+ are identified as opr\n if (browser.opr) {\n browser.opera = true;\n }\n return browser;\n}\nexports.getBrowserInfo = getBrowserInfo;\nfunction getComponentPathWithoutIndicies(path = '') {\n return path.replace(/\\[\\d+\\]/, '');\n}\nexports.getComponentPathWithoutIndicies = getComponentPathWithoutIndicies;\n/**\n * Returns a path to the component which based on its schema\n * @param {*} component is a component's schema containing link to its parent's schema in the 'parent' property\n */\nfunction getComponentPath(component, path = '') {\n var _a;\n if (!component || !component.key || ((_a = component === null || component === void 0 ? void 0 : component._form) === null || _a === void 0 ? void 0 : _a.display) === 'wizard') { // unlike the Webform, the Wizard has the key and it is a duplicate of the panel key\n return path;\n }\n path = component.isInputComponent || component.input === true ? `${component.key}${path ? '.' : ''}${path}` : path;\n return getComponentPath(component.parent, path);\n}\nexports.getComponentPath = getComponentPath;\n/**\n * Returns a parent component of the passed component instance skipping all the Layout components\n * @param {*} componentInstance\n * @return {(Component|undefined)}\n */\nfunction getDataParentComponent(componentInstance) {\n if (!componentInstance) {\n return;\n }\n const { parent } = componentInstance;\n if (parent && (parent.isInputComponent || parent.input)) {\n return parent;\n }\n else {\n return getDataParentComponent(parent);\n }\n}\nexports.getDataParentComponent = getDataParentComponent;\n/**\n * Returns whether the value is a promise\n * @param value\n * @return {boolean}\n */\nfunction isPromise(value) {\n return value\n && value.then\n && typeof value.then === 'function'\n && Object.prototype.toString.call(value) === '[object Promise]';\n}\nexports.isPromise = isPromise;\n/**\n * Determines if the component has a scoping parent in tree (a component which scopes its children and manages its\n * changes by itself, e.g. EditGrid)\n * @param componentInstance\n * @param firstPass\n * @returns {boolean|boolean|*}\n */\nfunction isInsideScopingComponent(componentInstance, firstPass = true) {\n if (!firstPass && (componentInstance === null || componentInstance === void 0 ? void 0 : componentInstance.hasScopedChildren)) {\n return true;\n }\n const dataParent = getDataParentComponent(componentInstance);\n if (dataParent === null || dataParent === void 0 ? void 0 : dataParent.hasScopedChildren) {\n return true;\n }\n else if (dataParent === null || dataParent === void 0 ? void 0 : dataParent.parent) {\n return isInsideScopingComponent(dataParent.parent, false);\n }\n return false;\n}\nexports.isInsideScopingComponent = isInsideScopingComponent;\nfunction getFocusableElements(element) {\n const focusableSelector = `button:not([disabled]), input:not([disabled]), select:not([disabled]),\n textarea:not([disabled]), button:not([disabled]), [href]`;\n return element.querySelectorAll(focusableSelector);\n}\nexports.getFocusableElements = getFocusableElements;\nexports.componentValueTypes = {\n number: 'number',\n string: 'string',\n boolean: 'boolean',\n array: 'array',\n object: 'object',\n date: 'date',\n any: 'any',\n};\nfunction getComponentSavedTypes(fullSchema) {\n const schema = fullSchema || {};\n if (schema.persistent !== true) {\n return [];\n }\n if (schema.multiple) {\n return [exports.componentValueTypes.array];\n }\n return null;\n}\nexports.getComponentSavedTypes = getComponentSavedTypes;\n/**\n * Interpolates @formio/core errors so that they are compatible with the renderer\n * @param {FieldError[]} errors\n * @param firstPass\n * @returns {[]}\n */\nconst interpolateErrors = (component, errors, interpolateFn) => {\n return errors.map((error) => {\n error.component = component;\n const { errorKeyOrMessage, context } = error;\n const toInterpolate = component.errors && component.errors[errorKeyOrMessage] ? component.errors[errorKeyOrMessage] : errorKeyOrMessage;\n return Object.assign(Object.assign({}, error), { message: unescapeHTML(interpolateFn(toInterpolate, context)), context: Object.assign({}, context) });\n });\n};\nexports.interpolateErrors = interpolateErrors;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/utils/utils.js?");
2182
2116
 
2183
2117
  /***/ }),
2184
2118