@watermarkinsights/ripple 3.9.1 → 3.10.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-dbbea5a8.js → chartFunctions-05b9dcc7.js} +418 -417
  3. package/dist/cjs/{functions-15e21d53.js → functions-71c85bae.js} +506 -532
  4. package/dist/cjs/{global-3b6559f9.js → global-f98992f4.js} +60 -60
  5. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
  6. package/dist/cjs/{index-acad7ab3.js → index-98c6524c.js} +64 -96
  7. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
  8. package/dist/cjs/loader.cjs.js +3 -3
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +87 -87
  10. package/dist/cjs/priv-datepicker.cjs.entry.js +659 -659
  11. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  12. package/dist/cjs/priv-navigator-item.cjs.entry.js +24 -24
  13. package/dist/cjs/ripple.cjs.js +3 -3
  14. package/dist/cjs/wm-action-menu_2.cjs.entry.js +342 -342
  15. package/dist/cjs/wm-button.cjs.entry.js +228 -228
  16. package/dist/cjs/wm-chart-slice.cjs.entry.js +14 -14
  17. package/dist/cjs/wm-chart.cjs.entry.js +117 -117
  18. package/dist/cjs/wm-datepicker.cjs.entry.js +267 -267
  19. package/dist/cjs/wm-input.cjs.entry.js +136 -136
  20. package/dist/cjs/wm-modal-footer.cjs.entry.js +32 -32
  21. package/dist/cjs/wm-modal-header.cjs.entry.js +35 -35
  22. package/dist/cjs/wm-modal.cjs.entry.js +164 -164
  23. package/dist/cjs/wm-navigation_3.cjs.entry.js +222 -222
  24. package/dist/cjs/wm-navigator.cjs.entry.js +269 -269
  25. package/dist/cjs/wm-network-uploader.cjs.entry.js +454 -454
  26. package/dist/cjs/wm-option_2.cjs.entry.js +487 -487
  27. package/dist/cjs/wm-pagination.cjs.entry.js +168 -168
  28. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +136 -136
  29. package/dist/cjs/wm-search.cjs.entry.js +233 -233
  30. package/dist/cjs/wm-snackbar.cjs.entry.js +172 -172
  31. package/dist/cjs/wm-tab-item_3.cjs.entry.js +298 -298
  32. package/dist/cjs/wm-tag-input.cjs.entry.js +581 -581
  33. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  34. package/dist/cjs/wm-toggletip.cjs.entry.js +126 -126
  35. package/dist/cjs/wm-uploader.cjs.entry.js +380 -380
  36. package/dist/cjs/wm-wrapper.cjs.entry.js +13 -13
  37. package/dist/collection/collection-manifest.json +2 -2
  38. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +0 -1
  39. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +258 -258
  40. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +115 -115
  41. package/dist/collection/components/charts/wm-chart/wm-chart.css +6 -15
  42. package/dist/collection/components/charts/wm-chart/wm-chart.js +332 -332
  43. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +6 -15
  44. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +199 -199
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +0 -1
  46. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +88 -88
  47. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +111 -111
  48. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -1
  49. package/dist/collection/components/wm-action-menu/wm-action-menu.js +460 -460
  50. package/dist/collection/components/wm-button/wm-button.css +23 -15
  51. package/dist/collection/components/wm-button/wm-button.js +491 -491
  52. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +4 -4
  53. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1024 -1024
  54. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -2
  55. package/dist/collection/components/wm-datepicker/wm-datepicker.js +471 -471
  56. package/dist/collection/components/wm-input/wm-input.css +2 -2
  57. package/dist/collection/components/wm-input/wm-input.js +423 -423
  58. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -1
  59. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  60. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -1
  61. package/dist/collection/components/wm-modal/wm-modal-footer.js +141 -141
  62. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -1
  63. package/dist/collection/components/wm-modal/wm-modal-header.js +92 -92
  64. package/dist/collection/components/wm-modal/wm-modal.css +0 -1
  65. package/dist/collection/components/wm-modal/wm-modal.js +461 -461
  66. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +2 -2
  67. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +162 -162
  68. package/dist/collection/components/wm-navigation/wm-navigation-item.css +0 -1
  69. package/dist/collection/components/wm-navigation/wm-navigation-item.js +121 -121
  70. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -1
  71. package/dist/collection/components/wm-navigation/wm-navigation.js +211 -211
  72. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -1
  73. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  74. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -1
  75. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  76. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -1
  77. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  78. package/dist/collection/components/wm-option/wm-option.css +3 -3
  79. package/dist/collection/components/wm-option/wm-option.js +414 -414
  80. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -1
  81. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  82. package/dist/collection/components/wm-search/wm-search.css +0 -1
  83. package/dist/collection/components/wm-search/wm-search.js +480 -480
  84. package/dist/collection/components/wm-select/wm-select.css +3 -3
  85. package/dist/collection/components/wm-select/wm-select.js +718 -718
  86. package/dist/collection/components/wm-snackbar/wm-snackbar.css +3 -3
  87. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  88. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +2 -3
  89. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  90. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -1
  91. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  92. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -1
  93. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  94. package/dist/collection/components/wm-tag-input/wm-tag-input.css +3 -3
  95. package/dist/collection/components/wm-tag-input/wm-tag-input.js +810 -810
  96. package/dist/collection/components/wm-timepicker/wm-timepicker.css +3 -3
  97. package/dist/collection/components/wm-timepicker/wm-timepicker.js +583 -583
  98. package/dist/collection/components/wm-toggletip/wm-toggletip.css +2 -2
  99. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  100. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +23 -15
  101. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +785 -785
  102. package/dist/collection/components/wm-uploader/wm-uploader.css +23 -15
  103. package/dist/collection/components/wm-uploader/wm-uploader.js +780 -780
  104. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  105. package/dist/collection/dev/scripts.js +20 -20
  106. package/dist/collection/global/__mocks__/functions.js +6 -6
  107. package/dist/collection/global/chartFunctions.js +418 -418
  108. package/dist/collection/global/functions.js +468 -468
  109. package/dist/collection/global/global.js +67 -67
  110. package/dist/collection/global/interfaces.js +49 -49
  111. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  112. package/dist/collection/global/services/http-service.js +50 -50
  113. package/dist/collection/lang/lang.js +5 -5
  114. package/dist/collection/lang/missing.js +43 -43
  115. package/dist/collection/lang/piglatin.js +93 -93
  116. package/dist/esm/{chartFunctions-303e1644.js → chartFunctions-b24ba065.js} +418 -418
  117. package/dist/esm/{functions-e552a8b5.js → functions-117d1a51.js} +506 -532
  118. package/dist/esm/{global-ed48a3d4.js → global-6a9c8257.js} +60 -60
  119. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
  120. package/dist/esm/{index-7603f98e.js → index-d649a861.js} +64 -96
  121. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
  122. package/dist/esm/loader.js +3 -3
  123. package/dist/esm/polyfills/core-js.js +0 -0
  124. package/dist/esm/polyfills/css-shim.js +1 -1
  125. package/dist/esm/polyfills/dom.js +0 -0
  126. package/dist/esm/polyfills/es5-html-element.js +0 -0
  127. package/dist/esm/polyfills/index.js +0 -0
  128. package/dist/esm/polyfills/system.js +0 -0
  129. package/dist/esm/priv-chart-popover.entry.js +87 -87
  130. package/dist/esm/priv-datepicker.entry.js +659 -659
  131. package/dist/esm/priv-navigator-button.entry.js +19 -19
  132. package/dist/esm/priv-navigator-item.entry.js +24 -24
  133. package/dist/esm/ripple.js +3 -3
  134. package/dist/esm/wm-action-menu_2.entry.js +342 -342
  135. package/dist/esm/wm-button.entry.js +228 -228
  136. package/dist/esm/wm-chart-slice.entry.js +14 -14
  137. package/dist/esm/wm-chart.entry.js +117 -117
  138. package/dist/esm/wm-datepicker.entry.js +267 -267
  139. package/dist/esm/wm-input.entry.js +136 -136
  140. package/dist/esm/wm-modal-footer.entry.js +32 -32
  141. package/dist/esm/wm-modal-header.entry.js +35 -35
  142. package/dist/esm/wm-modal.entry.js +164 -164
  143. package/dist/esm/wm-navigation_3.entry.js +222 -222
  144. package/dist/esm/wm-navigator.entry.js +269 -269
  145. package/dist/esm/wm-network-uploader.entry.js +454 -454
  146. package/dist/esm/wm-option_2.entry.js +487 -487
  147. package/dist/esm/wm-pagination.entry.js +168 -168
  148. package/dist/esm/wm-progress-indicator_3.entry.js +136 -136
  149. package/dist/esm/wm-search.entry.js +233 -233
  150. package/dist/esm/wm-snackbar.entry.js +172 -172
  151. package/dist/esm/wm-tab-item_3.entry.js +298 -298
  152. package/dist/esm/wm-tag-input.entry.js +581 -581
  153. package/dist/esm/wm-timepicker.entry.js +385 -385
  154. package/dist/esm/wm-toggletip.entry.js +126 -126
  155. package/dist/esm/wm-uploader.entry.js +380 -380
  156. package/dist/esm/wm-wrapper.entry.js +13 -13
  157. package/dist/esm-es5/chartFunctions-b24ba065.js +1 -0
  158. package/dist/esm-es5/functions-117d1a51.js +15 -0
  159. package/dist/esm-es5/global-6a9c8257.js +1 -0
  160. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +1 -1
  161. package/dist/esm-es5/index-d649a861.js +1 -0
  162. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
  163. package/dist/esm-es5/loader.js +1 -1
  164. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  165. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  166. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  167. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  168. package/dist/esm-es5/ripple.js +1 -1
  169. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  170. package/dist/esm-es5/wm-button.entry.js +1 -1
  171. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  172. package/dist/esm-es5/wm-chart.entry.js +1 -1
  173. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  174. package/dist/esm-es5/wm-input.entry.js +1 -1
  175. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  176. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  177. package/dist/esm-es5/wm-modal.entry.js +1 -1
  178. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  179. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  180. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  181. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  182. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  183. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  184. package/dist/esm-es5/wm-search.entry.js +1 -1
  185. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  186. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  187. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  188. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  189. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  190. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  191. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  192. package/dist/loader/index.d.ts +1 -0
  193. package/dist/ripple/{p-aa104594.system.entry.js → p-03d6014a.system.entry.js} +1 -1
  194. package/dist/ripple/{p-90ed3268.system.entry.js → p-099df7b7.system.entry.js} +1 -1
  195. package/dist/ripple/p-0cffec65.entry.js +1 -0
  196. package/dist/ripple/p-0ebed4b8.system.entry.js +1 -0
  197. package/dist/ripple/p-13e2891c.system.js +1 -0
  198. package/dist/ripple/p-18261104.system.entry.js +1 -0
  199. package/dist/ripple/p-1b1e006a.entry.js +1 -0
  200. package/dist/ripple/p-1e7fc028.entry.js +1 -0
  201. package/dist/ripple/{p-32336c78.system.entry.js → p-210039cc.system.entry.js} +1 -1
  202. package/dist/ripple/p-22759dd5.entry.js +1 -0
  203. package/dist/ripple/p-25b81952.entry.js +1 -0
  204. package/dist/ripple/{p-e490e37f.system.entry.js → p-269fa39c.system.entry.js} +1 -1
  205. package/dist/ripple/p-26c9f5af.entry.js +1 -0
  206. package/dist/ripple/p-276ed011.js +16 -0
  207. package/dist/ripple/p-2b6246d9.entry.js +1 -0
  208. package/dist/ripple/{p-3b3e847c.system.entry.js → p-2b63995f.system.entry.js} +1 -1
  209. package/dist/ripple/p-2c8a26f2.js +1 -0
  210. package/dist/ripple/p-38bb7f05.system.entry.js +1 -0
  211. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
  212. package/dist/ripple/p-4f581ab3.entry.js +1 -0
  213. package/dist/ripple/p-50be3b44.js +1 -0
  214. package/dist/ripple/p-5176b826.system.js +15 -0
  215. package/dist/ripple/p-5627e44d.entry.js +1 -0
  216. package/dist/ripple/p-570fb53b.entry.js +1 -0
  217. package/dist/ripple/p-57f2feb0.entry.js +1 -0
  218. package/dist/ripple/p-5d6cc9da.system.js +1 -0
  219. package/dist/ripple/p-5e164260.system.entry.js +1 -0
  220. package/dist/ripple/{p-64053e24.system.entry.js → p-64e8fb6e.system.entry.js} +1 -1
  221. package/dist/ripple/p-6c295beb.entry.js +1 -0
  222. package/dist/ripple/p-6c751341.entry.js +1 -0
  223. package/dist/ripple/p-6cf47163.entry.js +1 -0
  224. package/dist/ripple/{p-6bc557fa.js → p-6f59ed45.js} +1 -1
  225. package/dist/ripple/p-772576d7.system.entry.js +1 -0
  226. package/dist/ripple/p-7779bfbe.system.entry.js +1 -0
  227. package/dist/ripple/p-7c2b1682.entry.js +1 -0
  228. package/dist/ripple/p-81ddf5a0.entry.js +1 -0
  229. package/dist/ripple/p-83d22032.system.entry.js +1 -0
  230. package/dist/ripple/p-846e9391.entry.js +1 -0
  231. package/dist/ripple/{p-7d26d093.system.entry.js → p-8a96b188.system.entry.js} +1 -1
  232. package/dist/ripple/p-8cf7ce7e.system.entry.js +1 -0
  233. package/dist/ripple/p-969af068.system.entry.js +1 -0
  234. package/dist/ripple/p-9a4aca88.system.entry.js +1 -0
  235. package/dist/ripple/p-9aa6cd9f.entry.js +1 -0
  236. package/dist/ripple/p-9c20bc1f.system.entry.js +1 -0
  237. package/dist/ripple/p-9d02957d.system.js +1 -0
  238. package/dist/ripple/p-9d49f21e.entry.js +1 -0
  239. package/dist/ripple/p-9d8c246d.system.entry.js +1 -0
  240. package/dist/ripple/p-9df8a520.entry.js +1 -0
  241. package/dist/ripple/{p-ae6cfbca.system.entry.js → p-a1511315.system.entry.js} +1 -1
  242. package/dist/ripple/p-a1a2efca.system.entry.js +1 -0
  243. package/dist/ripple/{p-b8b35084.system.js → p-a224d536.system.js} +1 -1
  244. package/dist/ripple/p-a5a47a23.entry.js +1 -0
  245. package/dist/ripple/p-b16373b9.system.entry.js +1 -0
  246. package/dist/ripple/p-b547bcf2.entry.js +1 -0
  247. package/dist/ripple/{p-1df2adee.system.entry.js → p-bfc1ab2e.system.entry.js} +1 -1
  248. package/dist/ripple/p-c8bb4b2b.entry.js +1 -0
  249. package/dist/ripple/p-d09fb6b5.entry.js +1 -0
  250. package/dist/ripple/{p-b4efa7d1.system.entry.js → p-ddf157c8.system.entry.js} +1 -1
  251. package/dist/ripple/p-e1b076be.entry.js +1 -0
  252. package/dist/ripple/p-e7a7d732.entry.js +1 -0
  253. package/dist/ripple/p-e8e2228d.system.entry.js +1 -0
  254. package/dist/ripple/p-ebae8cae.system.entry.js +1 -0
  255. package/dist/ripple/p-efe7728e.entry.js +1 -0
  256. package/dist/ripple/p-f54c4b0e.system.js +1 -0
  257. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
  258. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
  259. package/dist/ripple/{p-fda5a778.system.entry.js → p-ffb97b6d.system.entry.js} +1 -1
  260. package/dist/ripple/ripple.esm.js +1 -1
  261. package/dist/ripple/ripple.js +1 -1
  262. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  263. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +35 -35
  264. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  265. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +48 -48
  266. package/dist/types/components/wm-button/wm-button.d.ts +43 -43
  267. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  268. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  269. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  270. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  271. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +15 -15
  272. package/dist/types/components/wm-modal/wm-modal-header.d.ts +12 -12
  273. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  274. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  275. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  276. package/dist/types/components/wm-navigation/wm-navigation.d.ts +30 -30
  277. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  278. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  279. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  280. package/dist/types/components/wm-option/wm-option.d.ts +32 -32
  281. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  282. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  283. package/dist/types/components/wm-select/wm-select.d.ts +66 -66
  284. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  285. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  286. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  287. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  288. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  289. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  290. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  291. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  292. package/dist/types/components/wm-uploader/wm-uploader.d.ts +80 -80
  293. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  294. package/dist/types/components.d.ts +24 -24
  295. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  296. package/dist/types/global/chartFunctions.d.ts +29 -28
  297. package/dist/types/global/functions.d.ts +42 -42
  298. package/dist/types/global/global.d.ts +1 -1
  299. package/dist/types/global/interfaces.d.ts +44 -44
  300. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  301. package/dist/types/global/services/http-service.d.ts +4 -4
  302. package/dist/types/lang/lang.d.ts +5 -5
  303. package/dist/types/stencil-public-runtime.d.ts +4 -6
  304. package/package.json +47 -47
  305. package/dist/esm-es5/chartFunctions-303e1644.js +0 -1
  306. package/dist/esm-es5/functions-e552a8b5.js +0 -15
  307. package/dist/esm-es5/global-ed48a3d4.js +0 -1
  308. package/dist/esm-es5/index-7603f98e.js +0 -1
  309. package/dist/ripple/p-01d2c1ab.entry.js +0 -1
  310. package/dist/ripple/p-02a3c14f.entry.js +0 -1
  311. package/dist/ripple/p-0df9fc96.entry.js +0 -1
  312. package/dist/ripple/p-1116a297.entry.js +0 -1
  313. package/dist/ripple/p-13a746ea.entry.js +0 -1
  314. package/dist/ripple/p-15cc26f7.js +0 -1
  315. package/dist/ripple/p-175eba9d.system.js +0 -15
  316. package/dist/ripple/p-1d0742b0.entry.js +0 -1
  317. package/dist/ripple/p-313b6073.system.js +0 -1
  318. package/dist/ripple/p-358bde27.entry.js +0 -1
  319. package/dist/ripple/p-35ce3ff8.entry.js +0 -1
  320. package/dist/ripple/p-3bed42bf.entry.js +0 -1
  321. package/dist/ripple/p-3fa5f0f0.system.entry.js +0 -1
  322. package/dist/ripple/p-461f08d4.entry.js +0 -1
  323. package/dist/ripple/p-4d59fe86.entry.js +0 -1
  324. package/dist/ripple/p-50db2d6a.system.entry.js +0 -1
  325. package/dist/ripple/p-510a2a2d.system.entry.js +0 -1
  326. package/dist/ripple/p-5c099280.entry.js +0 -1
  327. package/dist/ripple/p-6910f965.entry.js +0 -1
  328. package/dist/ripple/p-69f21f1a.system.entry.js +0 -1
  329. package/dist/ripple/p-7fae0cc2.entry.js +0 -1
  330. package/dist/ripple/p-83fe767e.entry.js +0 -1
  331. package/dist/ripple/p-88927384.system.js +0 -1
  332. package/dist/ripple/p-89372ba5.system.entry.js +0 -1
  333. package/dist/ripple/p-89b324ce.system.entry.js +0 -1
  334. package/dist/ripple/p-936fbfff.entry.js +0 -1
  335. package/dist/ripple/p-9d69aa46.system.entry.js +0 -1
  336. package/dist/ripple/p-a0c3ef16.system.js +0 -1
  337. package/dist/ripple/p-a216c161.system.entry.js +0 -1
  338. package/dist/ripple/p-a51453f6.entry.js +0 -1
  339. package/dist/ripple/p-a9e0ce88.entry.js +0 -1
  340. package/dist/ripple/p-b3c71506.js +0 -1
  341. package/dist/ripple/p-b4724251.entry.js +0 -1
  342. package/dist/ripple/p-b786a5fd.system.entry.js +0 -1
  343. package/dist/ripple/p-bb0c21e5.entry.js +0 -1
  344. package/dist/ripple/p-bd5a6394.entry.js +0 -1
  345. package/dist/ripple/p-c77d79be.entry.js +0 -1
  346. package/dist/ripple/p-c92d970a.system.entry.js +0 -1
  347. package/dist/ripple/p-c9541d4d.system.entry.js +0 -1
  348. package/dist/ripple/p-ca7c628f.entry.js +0 -1
  349. package/dist/ripple/p-cae4ebf4.system.entry.js +0 -1
  350. package/dist/ripple/p-cf648440.entry.js +0 -1
  351. package/dist/ripple/p-d93d5885.entry.js +0 -1
  352. package/dist/ripple/p-e51562cd.system.entry.js +0 -1
  353. package/dist/ripple/p-eaedb11d.system.entry.js +0 -1
  354. package/dist/ripple/p-ed8115b9.system.entry.js +0 -1
  355. package/dist/ripple/p-f24ff348.system.js +0 -1
  356. package/dist/ripple/p-f37b54be.js +0 -16
  357. package/dist/ripple/p-f5f8bb25.system.entry.js +0 -1
  358. package/dist/ripple/p-f6342e81.entry.js +0 -1
  359. package/dist/ripple/p-f9c3a2ce.entry.js +0 -1
  360. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +0 -27
  361. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +0 -26
  362. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +0 -17
@@ -3950,17 +3950,11 @@ function icuUnitToEcma(unit) {
3950
3950
  return unit.replace(/^(.*?)-/, '');
3951
3951
  }
3952
3952
  var FRACTION_PRECISION_REGEX = /^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g;
3953
- var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?[rs]?$/g;
3953
+ var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?$/g;
3954
3954
  var INTEGER_WIDTH_REGEX = /(\*)(0+)|(#+)(0+)|(0+)/g;
3955
3955
  var CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;
3956
3956
  function parseSignificantPrecision(str) {
3957
3957
  var result = {};
3958
- if (str[str.length - 1] === 'r') {
3959
- result.roundingPriority = 'morePrecision';
3960
- }
3961
- else if (str[str.length - 1] === 's') {
3962
- result.roundingPriority = 'lessPrecision';
3963
- }
3964
3958
  str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {
3965
3959
  // @@@ case
3966
3960
  if (typeof g2 !== 'string') {
@@ -4187,13 +4181,8 @@ function parseNumberSkeleton(tokens) {
4187
4181
  }
4188
4182
  return '';
4189
4183
  });
4190
- var opt = token.options[0];
4191
- // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
4192
- if (opt === 'w') {
4193
- result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
4194
- }
4195
- else if (opt) {
4196
- result = __assign(__assign({}, result), parseSignificantPrecision(opt));
4184
+ if (token.options.length) {
4185
+ result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));
4197
4186
  }
4198
4187
  continue;
4199
4188
  }
@@ -4215,8 +4204,8 @@ function parseNumberSkeleton(tokens) {
4215
4204
  }
4216
4205
 
4217
4206
  var _a;
4218
- var SPACE_SEPARATOR_START_REGEX = new RegExp("^".concat(SPACE_SEPARATOR_REGEX.source, "*"));
4219
- var SPACE_SEPARATOR_END_REGEX = new RegExp("".concat(SPACE_SEPARATOR_REGEX.source, "*$"));
4207
+ var SPACE_SEPARATOR_START_REGEX = new RegExp("^" + SPACE_SEPARATOR_REGEX.source + "*");
4208
+ var SPACE_SEPARATOR_END_REGEX = new RegExp(SPACE_SEPARATOR_REGEX.source + "*$");
4220
4209
  function createLocation(start, end) {
4221
4210
  return { start: start, end: end };
4222
4211
  }
@@ -4463,7 +4452,7 @@ var Parser = /** @class */ (function () {
4463
4452
  return {
4464
4453
  val: {
4465
4454
  type: TYPE.literal,
4466
- value: "<".concat(tagName, "/>"),
4455
+ value: "<" + tagName + "/>",
4467
4456
  location: createLocation(startPosition, this.clonePosition()),
4468
4457
  },
4469
4458
  err: null,
@@ -5068,7 +5057,7 @@ var Parser = /** @class */ (function () {
5068
5057
  }
5069
5058
  var code = codePointAt(this.message, offset);
5070
5059
  if (code === undefined) {
5071
- throw Error("Offset ".concat(offset, " is at invalid UTF-16 code unit boundary"));
5060
+ throw Error("Offset " + offset + " is at invalid UTF-16 code unit boundary");
5072
5061
  }
5073
5062
  return code;
5074
5063
  };
@@ -5136,7 +5125,7 @@ var Parser = /** @class */ (function () {
5136
5125
  */
5137
5126
  Parser.prototype.bumpTo = function (targetOffset) {
5138
5127
  if (this.offset() > targetOffset) {
5139
- throw Error("targetOffset ".concat(targetOffset, " must be greater than or equal to the current offset ").concat(this.offset()));
5128
+ throw Error("targetOffset " + targetOffset + " must be greater than or equal to the current offset " + this.offset());
5140
5129
  }
5141
5130
  targetOffset = Math.min(targetOffset, this.message.length);
5142
5131
  while (true) {
@@ -5145,7 +5134,7 @@ var Parser = /** @class */ (function () {
5145
5134
  break;
5146
5135
  }
5147
5136
  if (offset > targetOffset) {
5148
- throw Error("targetOffset ".concat(targetOffset, " is at invalid UTF-16 code unit boundary"));
5137
+ throw Error("targetOffset " + targetOffset + " is at invalid UTF-16 code unit boundary");
5149
5138
  }
5150
5139
  this.bump();
5151
5140
  if (this.isEOF()) {
@@ -5611,28 +5600,28 @@ var FormatError = /** @class */ (function (_super) {
5611
5600
  return _this;
5612
5601
  }
5613
5602
  FormatError.prototype.toString = function () {
5614
- return "[formatjs Error: ".concat(this.code, "] ").concat(this.message);
5603
+ return "[formatjs Error: " + this.code + "] " + this.message;
5615
5604
  };
5616
5605
  return FormatError;
5617
5606
  }(Error));
5618
5607
  var InvalidValueError = /** @class */ (function (_super) {
5619
5608
  __extends(InvalidValueError, _super);
5620
5609
  function InvalidValueError(variableId, value, options, originalMessage) {
5621
- return _super.call(this, "Invalid values for \"".concat(variableId, "\": \"").concat(value, "\". Options are \"").concat(Object.keys(options).join('", "'), "\""), ErrorCode.INVALID_VALUE, originalMessage) || this;
5610
+ return _super.call(this, "Invalid values for \"" + variableId + "\": \"" + value + "\". Options are \"" + Object.keys(options).join('", "') + "\"", ErrorCode.INVALID_VALUE, originalMessage) || this;
5622
5611
  }
5623
5612
  return InvalidValueError;
5624
5613
  }(FormatError));
5625
5614
  var InvalidValueTypeError = /** @class */ (function (_super) {
5626
5615
  __extends(InvalidValueTypeError, _super);
5627
5616
  function InvalidValueTypeError(value, type, originalMessage) {
5628
- return _super.call(this, "Value for \"".concat(value, "\" must be of type ").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;
5617
+ return _super.call(this, "Value for \"" + value + "\" must be of type " + type, ErrorCode.INVALID_VALUE, originalMessage) || this;
5629
5618
  }
5630
5619
  return InvalidValueTypeError;
5631
5620
  }(FormatError));
5632
5621
  var MissingValueError = /** @class */ (function (_super) {
5633
5622
  __extends(MissingValueError, _super);
5634
5623
  function MissingValueError(variableId, originalMessage) {
5635
- return _super.call(this, "The intl string context variable \"".concat(variableId, "\" was not provided to the string \"").concat(originalMessage, "\""), ErrorCode.MISSING_VALUE, originalMessage) || this;
5624
+ return _super.call(this, "The intl string context variable \"" + variableId + "\" was not provided to the string \"" + originalMessage + "\"", ErrorCode.MISSING_VALUE, originalMessage) || this;
5636
5625
  }
5637
5626
  return MissingValueError;
5638
5627
  }(FormatError));
@@ -5793,7 +5782,7 @@ originalMessage) {
5793
5782
  continue;
5794
5783
  }
5795
5784
  if (isPluralElement(el)) {
5796
- var opt = el.options["=".concat(value)];
5785
+ var opt = el.options["=" + value];
5797
5786
  if (!opt) {
5798
5787
  if (!Intl.PluralRules) {
5799
5788
  throw new FormatError("Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n", ErrorCode.MISSING_INTL_API, originalMessage);
@@ -5864,7 +5853,7 @@ function createDefaultFormatters(cache) {
5864
5853
  for (var _i = 0; _i < arguments.length; _i++) {
5865
5854
  args[_i] = arguments[_i];
5866
5855
  }
5867
- return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
5856
+ return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args)))();
5868
5857
  }, {
5869
5858
  cache: createFastMemoizeCache$1(cache.number),
5870
5859
  strategy: strategies.variadic,
@@ -5875,7 +5864,7 @@ function createDefaultFormatters(cache) {
5875
5864
  for (var _i = 0; _i < arguments.length; _i++) {
5876
5865
  args[_i] = arguments[_i];
5877
5866
  }
5878
- return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
5867
+ return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args)))();
5879
5868
  }, {
5880
5869
  cache: createFastMemoizeCache$1(cache.dateTime),
5881
5870
  strategy: strategies.variadic,
@@ -5886,7 +5875,7 @@ function createDefaultFormatters(cache) {
5886
5875
  for (var _i = 0; _i < arguments.length; _i++) {
5887
5876
  args[_i] = arguments[_i];
5888
5877
  }
5889
- return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();
5878
+ return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args)))();
5890
5879
  }, {
5891
5880
  cache: createFastMemoizeCache$1(cache.pluralRules),
5892
5881
  strategy: strategies.variadic,
@@ -6044,13 +6033,7 @@ var IntlErrorCode;
6044
6033
  var IntlError = /** @class */ (function (_super) {
6045
6034
  __extends(IntlError, _super);
6046
6035
  function IntlError(code, message, exception) {
6047
- var _this = this;
6048
- var err = exception
6049
- ? exception instanceof Error
6050
- ? exception
6051
- : new Error(String(exception))
6052
- : undefined;
6053
- _this = _super.call(this, "[@formatjs/intl Error ".concat(code, "] ").concat(message, " \n").concat(err ? "\n".concat(err.message, "\n").concat(err.stack) : '')) || this;
6036
+ var _this = _super.call(this, "[@formatjs/intl Error " + code + "] " + message + " \n" + (exception ? "\n" + exception.message + "\n" + exception.stack : '')) || this;
6054
6037
  _this.code = code;
6055
6038
  // @ts-ignore just so we don't need to declare dep on @types/node
6056
6039
  if (typeof Error.captureStackTrace === 'function') {
@@ -6082,26 +6065,19 @@ var MissingDataError = /** @class */ (function (_super) {
6082
6065
  }
6083
6066
  return MissingDataError;
6084
6067
  }(IntlError));
6085
- var IntlFormatError = /** @class */ (function (_super) {
6086
- __extends(IntlFormatError, _super);
6087
- function IntlFormatError(message, locale, exception) {
6088
- return _super.call(this, IntlErrorCode.FORMAT_ERROR, "".concat(message, " \nLocale: ").concat(locale, "\n"), exception) || this;
6089
- }
6090
- return IntlFormatError;
6091
- }(IntlError));
6092
6068
  var MessageFormatError = /** @class */ (function (_super) {
6093
6069
  __extends(MessageFormatError, _super);
6094
6070
  function MessageFormatError(message, locale, descriptor, exception) {
6095
- var _this = _super.call(this, "".concat(message, " \nMessageID: ").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, "\nDefault Message: ").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, "\nDescription: ").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, " \n"), locale, exception) || this;
6071
+ var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, message + " \nLocale: " + locale + "\nMessageID: " + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.id) + "\nDefault Message: " + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage) + "\nDescription: " + (descriptor === null || descriptor === void 0 ? void 0 : descriptor.description) + " \n", exception) || this;
6096
6072
  _this.descriptor = descriptor;
6097
6073
  return _this;
6098
6074
  }
6099
6075
  return MessageFormatError;
6100
- }(IntlFormatError));
6076
+ }(IntlError));
6101
6077
  var MissingTranslationError = /** @class */ (function (_super) {
6102
6078
  __extends(MissingTranslationError, _super);
6103
6079
  function MissingTranslationError(descriptor, locale) {
6104
- var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, "Missing message: \"".concat(descriptor.id, "\" for locale \"").concat(locale, "\", using ").concat(descriptor.defaultMessage ? 'default message' : 'id', " as fallback.")) || this;
6080
+ var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, "Missing message: \"" + descriptor.id + "\" for locale \"" + locale + "\", using " + (descriptor.defaultMessage ? 'default message' : 'id') + " as fallback.") || this;
6105
6081
  _this.descriptor = descriptor;
6106
6082
  return _this;
6107
6083
  }
@@ -6128,7 +6104,6 @@ var DEFAULT_INTL_CONFIG = {
6128
6104
  timeZone: undefined,
6129
6105
  defaultLocale: 'en',
6130
6106
  defaultFormats: {},
6131
- fallbackOnEmptyString: true,
6132
6107
  onError: defaultErrorHandler,
6133
6108
  };
6134
6109
  function createIntlCache() {
@@ -6171,7 +6146,7 @@ function createFormatters(cache) {
6171
6146
  for (var _i = 0; _i < arguments.length; _i++) {
6172
6147
  args[_i] = arguments[_i];
6173
6148
  }
6174
- return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
6149
+ return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args)))();
6175
6150
  }, {
6176
6151
  cache: createFastMemoizeCache(cache.dateTime),
6177
6152
  strategy: strategies.variadic,
@@ -6182,7 +6157,7 @@ function createFormatters(cache) {
6182
6157
  for (var _i = 0; _i < arguments.length; _i++) {
6183
6158
  args[_i] = arguments[_i];
6184
6159
  }
6185
- return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
6160
+ return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args)))();
6186
6161
  }, {
6187
6162
  cache: createFastMemoizeCache(cache.number),
6188
6163
  strategy: strategies.variadic,
@@ -6193,7 +6168,7 @@ function createFormatters(cache) {
6193
6168
  for (var _i = 0; _i < arguments.length; _i++) {
6194
6169
  args[_i] = arguments[_i];
6195
6170
  }
6196
- return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();
6171
+ return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args)))();
6197
6172
  }, {
6198
6173
  cache: createFastMemoizeCache(cache.pluralRules),
6199
6174
  strategy: strategies.variadic,
@@ -6216,7 +6191,7 @@ function createFormatters(cache) {
6216
6191
  for (var _i = 0; _i < arguments.length; _i++) {
6217
6192
  args[_i] = arguments[_i];
6218
6193
  }
6219
- return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();
6194
+ return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args)))();
6220
6195
  }, {
6221
6196
  cache: createFastMemoizeCache(cache.relativeTime),
6222
6197
  strategy: strategies.variadic,
@@ -6227,7 +6202,7 @@ function createFormatters(cache) {
6227
6202
  for (var _i = 0; _i < arguments.length; _i++) {
6228
6203
  args[_i] = arguments[_i];
6229
6204
  }
6230
- return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();
6205
+ return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args)))();
6231
6206
  }, {
6232
6207
  cache: createFastMemoizeCache(cache.list),
6233
6208
  strategy: strategies.variadic,
@@ -6237,7 +6212,7 @@ function createFormatters(cache) {
6237
6212
  for (var _i = 0; _i < arguments.length; _i++) {
6238
6213
  args[_i] = arguments[_i];
6239
6214
  }
6240
- return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();
6215
+ return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args)))();
6241
6216
  }, {
6242
6217
  cache: createFastMemoizeCache(cache.displayNames),
6243
6218
  strategy: strategies.variadic,
@@ -6253,7 +6228,7 @@ function getNamedFormat(formats, type, name, onError) {
6253
6228
  if (format) {
6254
6229
  return format;
6255
6230
  }
6256
- onError(new UnsupportedFormatterError("No ".concat(type, " format named: ").concat(name)));
6231
+ onError(new UnsupportedFormatterError("No " + type + " format named: " + name));
6257
6232
  }
6258
6233
 
6259
6234
  /**
@@ -6288,7 +6263,7 @@ function deepMergeFormatsAndSetTimeZone(f1, timeZone) {
6288
6263
  return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });
6289
6264
  }
6290
6265
  function formatMessage(_a, state, messageDescriptor, values, opts) {
6291
- var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, fallbackOnEmptyString = _a.fallbackOnEmptyString, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;
6266
+ var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;
6292
6267
  if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }
6293
6268
  var msgId = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;
6294
6269
  // `id` is a required field of a Message Descriptor.
@@ -6318,9 +6293,6 @@ function formatMessage(_a, state, messageDescriptor, values, opts) {
6318
6293
  formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);
6319
6294
  defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);
6320
6295
  if (!message) {
6321
- if (fallbackOnEmptyString === false && message === '') {
6322
- return message;
6323
- }
6324
6296
  if (!defaultMessage ||
6325
6297
  (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {
6326
6298
  // This prevents warnings from littering the console in development
@@ -6334,7 +6306,7 @@ function formatMessage(_a, state, messageDescriptor, values, opts) {
6334
6306
  return formatter.format(values);
6335
6307
  }
6336
6308
  catch (e) {
6337
- onError(new MessageFormatError("Error formatting default message for: \"".concat(id, "\", rendering default message verbatim"), locale, messageDescriptor, e));
6309
+ onError(new MessageFormatError("Error formatting default message for: \"" + id + "\", rendering default message verbatim", locale, messageDescriptor, e));
6338
6310
  return typeof defaultMessage === 'string' ? defaultMessage : id;
6339
6311
  }
6340
6312
  }
@@ -6346,7 +6318,7 @@ function formatMessage(_a, state, messageDescriptor, values, opts) {
6346
6318
  return formatter.format(values);
6347
6319
  }
6348
6320
  catch (e) {
6349
- onError(new MessageFormatError("Error formatting message: \"".concat(id, "\", using ").concat(defaultMessage ? 'default message' : 'id', " as fallback."), locale, messageDescriptor, e));
6321
+ onError(new MessageFormatError("Error formatting message: \"" + id + "\", using " + (defaultMessage ? 'default message' : 'id') + " as fallback.", locale, messageDescriptor, e));
6350
6322
  }
6351
6323
  if (defaultMessage) {
6352
6324
  try {
@@ -6354,7 +6326,7 @@ function formatMessage(_a, state, messageDescriptor, values, opts) {
6354
6326
  return formatter.format(values);
6355
6327
  }
6356
6328
  catch (e) {
6357
- onError(new MessageFormatError("Error formatting the default message for: \"".concat(id, "\", rendering message verbatim"), locale, messageDescriptor, e));
6329
+ onError(new MessageFormatError("Error formatting the default message for: \"" + id + "\", rendering message verbatim", locale, messageDescriptor, e));
6358
6330
  }
6359
6331
  }
6360
6332
  if (typeof message === 'string') {
@@ -6392,7 +6364,9 @@ function getFormatter$2(_a, type, getDateTimeFormat, options) {
6392
6364
  if (options === void 0) { options = {}; }
6393
6365
  var format = options.format;
6394
6366
  var defaults = __assign(__assign({}, (timeZone && { timeZone: timeZone })), (format && getNamedFormat(formats, type, format, onError)));
6395
- var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);
6367
+ var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS,
6368
+ // @ts-expect-error es2020 has a lot stuff from es2021 bleed in
6369
+ defaults);
6396
6370
  if (type === 'time' &&
6397
6371
  !filteredOptions.hour &&
6398
6372
  !filteredOptions.minute &&
@@ -6509,7 +6483,7 @@ var LIST_FORMAT_OPTIONS = [
6509
6483
  ];
6510
6484
  var now = Date.now();
6511
6485
  function generateToken(i) {
6512
- return "".concat(now, "_").concat(i, "_").concat(now);
6486
+ return now + "_" + i + "_" + now;
6513
6487
  }
6514
6488
  function formatList(opts, getListFormat, values, options) {
6515
6489
  if (options === void 0) { options = {}; }
@@ -6576,7 +6550,7 @@ function formatPlural(_a, getPluralRules, value, options) {
6576
6550
  return getPluralRules(locale, filteredOptions).select(value);
6577
6551
  }
6578
6552
  catch (e) {
6579
- onError(new IntlFormatError('Error formatting plural.', locale, e));
6553
+ onError(new MessageFormatError('Error formatting plural.', e));
6580
6554
  }
6581
6555
  return 'other';
6582
6556
  }
@@ -6603,7 +6577,7 @@ function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options)
6603
6577
  return getFormatter$1(config, getRelativeTimeFormat, options).format(value, unit);
6604
6578
  }
6605
6579
  catch (e) {
6606
- config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));
6580
+ config.onError(new MessageFormatError('Error formatting relative time.', e));
6607
6581
  }
6608
6582
  return String(value);
6609
6583
  }
@@ -6683,7 +6657,7 @@ function createIntl(config, cache) {
6683
6657
  var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;
6684
6658
  if (!locale) {
6685
6659
  if (onError) {
6686
- onError(new InvalidConfigError("\"locale\" was not configured, using \"".concat(defaultLocale, "\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details")));
6660
+ onError(new InvalidConfigError("\"locale\" was not configured, using \"" + defaultLocale + "\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details"));
6687
6661
  }
6688
6662
  // Since there's no registered locale data for `locale`, this will
6689
6663
  // fallback to the `defaultLocale` to make sure things can render.
@@ -6693,481 +6667,481 @@ function createIntl(config, cache) {
6693
6667
  resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';
6694
6668
  }
6695
6669
  else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {
6696
- onError(new MissingDataError("Missing locale data for locale: \"".concat(locale, "\" in Intl.NumberFormat. Using default locale: \"").concat(defaultLocale, "\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details")));
6670
+ onError(new MissingDataError("Missing locale data for locale: \"" + locale + "\" in Intl.NumberFormat. Using default locale: \"" + defaultLocale + "\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details"));
6697
6671
  }
6698
6672
  else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&
6699
6673
  onError) {
6700
- onError(new MissingDataError("Missing locale data for locale: \"".concat(locale, "\" in Intl.DateTimeFormat. Using default locale: \"").concat(defaultLocale, "\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details")));
6674
+ onError(new MissingDataError("Missing locale data for locale: \"" + locale + "\" in Intl.DateTimeFormat. Using default locale: \"" + defaultLocale + "\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details"));
6701
6675
  }
6702
6676
  verifyConfigMessages(resolvedConfig);
6703
6677
  return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });
6704
6678
  }
6705
6679
 
6706
- const DEFAULT_LANGUAGE = "en";
6707
- function getBrowserLang() {
6708
- const langAttr = document.documentElement.getAttribute("lang");
6709
- if (!!langAttr) {
6710
- return langAttr;
6711
- }
6712
- else if (window.navigator && window.navigator.language) {
6713
- const lang = window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
6714
- return lang.slice(0, 2);
6715
- }
6716
- else {
6717
- return DEFAULT_LANGUAGE;
6718
- }
6719
- }
6720
- // prevents memory leak
6721
- const cache = createIntlCache();
6722
- const locale = getBrowserLang();
6723
- const intl = createIntl({
6724
- locale: locale,
6725
- defaultLocale: "en",
6726
- messages: lang[locale] || en,
6727
- }, cache);
6728
- function generateId() {
6729
- return "wmcl-" + Math.random().toString(36).substr(2, 10);
6730
- }
6731
- // limits how many times a function fires
6732
- // use when the function should run periodically, but not too often (e.g. window resize)
6733
- function throttle(fn, wait) {
6734
- let timeout;
6735
- let shouldWait = false;
6736
- return function () {
6737
- const context = this;
6738
- if (!shouldWait) {
6739
- fn.apply(context, arguments);
6740
- shouldWait = true;
6741
- clearTimeout(timeout);
6742
- timeout = setTimeout(function () {
6743
- shouldWait = false;
6744
- }, wait);
6745
- }
6746
- };
6747
- }
6748
- // waits until it hasn't been called for [timeout] ms.
6749
- // use when the function should run only after something (event) is done firing
6750
- function debounce(fn, wait) {
6751
- let timeout;
6752
- return function () {
6753
- const context = this;
6754
- const functionCall = () => fn.apply(context, arguments);
6755
- clearTimeout(timeout);
6756
- timeout = setTimeout(functionCall, wait);
6757
- };
6758
- }
6759
- function getTextDir() {
6760
- const dir = document.querySelector("html").getAttribute("dir");
6761
- return dir ? dir.toLowerCase() : "";
6762
- }
6763
- function getPosition(el) {
6764
- const coords = el.getBoundingClientRect();
6765
- let x = coords.x;
6766
- let y = coords.y;
6767
- // Edge doesn't have x and y
6768
- if (!x) {
6769
- if (getTextDir() === "rtl") {
6770
- x = coords.right;
6771
- }
6772
- else {
6773
- x = coords.left;
6774
- }
6775
- y = coords.top;
6776
- }
6777
- return { x, y };
6778
- }
6779
- function findParentWithScrollbar(el) {
6780
- while (!!el) {
6781
- if (el.scrollHeight > el.clientHeight && ["scroll", "auto"].includes(window.getComputedStyle(el).overflowY)) {
6782
- return el;
6783
- }
6784
- el = el.parentElement;
6785
- }
6786
- }
6787
- function findParentWithHiddenOverflow(el) {
6788
- while (!!el) {
6789
- if (window.getComputedStyle(el).overflowY !== "visible") {
6790
- return el;
6791
- }
6792
- el = el.parentElement;
6793
- }
6794
- }
6795
- function getClosableElementMeasurements(fixedEl, closableEl) {
6796
- const parent = findParentWithHiddenOverflow(fixedEl);
6797
- // if parent is not found, measurements are checked against the viewport
6798
- return {
6799
- closableElHeight: closableEl.clientHeight,
6800
- closableElWidth: closableEl.clientWidth,
6801
- // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6802
- // to get space below the el -> height of viewport minus boundingClientRect.bottom
6803
- spaceAbove: parent
6804
- ? fixedEl.getBoundingClientRect().top - parent.getBoundingClientRect().top
6805
- : fixedEl.getBoundingClientRect().top,
6806
- // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6807
- // to get space below the el -> height of viewport minus boundingClientRect.bottom
6808
- spaceBelow: parent
6809
- ? parent.getBoundingClientRect().bottom - fixedEl.getBoundingClientRect().bottom
6810
- : document.documentElement.clientHeight - fixedEl.getBoundingClientRect().bottom,
6811
- spaceLeft: parent
6812
- ? fixedEl.getBoundingClientRect().left - parent.getBoundingClientRect().left
6813
- : fixedEl.getBoundingClientRect().left,
6814
- spaceRight: parent
6815
- ? parent.getBoundingClientRect().right - fixedEl.getBoundingClientRect().right
6816
- : document.documentElement.clientWidth - fixedEl.getBoundingClientRect().right,
6817
- };
6818
- }
6819
- function shouldOpenUp(fixedEl, //the element visible on the page when the component is closed
6820
- closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6821
- offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6822
- offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6823
- ) {
6824
- const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6825
- //we want to open up only if there's not enough space below AND there is enough space above
6826
- const openUp = closableElHeight > spaceBelow + offsetBelow && closableElHeight <= spaceAbove + offsetAbove;
6827
- return openUp;
6828
- }
6829
- function shouldOpenDown(fixedEl, //the element visible on the page when the component is closed
6830
- closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6831
- offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6832
- offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6833
- ) {
6834
- const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6835
- //we want to open up only if there's not enough space below AND there is enough space above
6836
- const openDown = closableElHeight > spaceAbove + offsetAbove && closableElHeight <= spaceBelow + offsetBelow;
6837
- return openDown;
6838
- }
6839
- function shouldShiftRight(fixedEl, closableEl) {
6840
- const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6841
- const needsSpaceLeft = closableElWidth > spaceLeft && spaceRight > spaceLeft;
6842
- return needsSpaceLeft;
6843
- }
6844
- function shouldShiftLeft(fixedEl, closableEl) {
6845
- const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6846
- const needsSpaceRight = closableElWidth > spaceRight && spaceLeft > spaceRight;
6847
- return needsSpaceRight;
6848
- }
6849
- function adjustTooltipPosition(tPos, el, tooltipEl) {
6850
- // position must be reset before measurements are taken in adjustTooltipPosition
6851
- // otherwise text-wrapping from previous position makes width measurement inconsistent
6852
- tooltipEl.style.top = "";
6853
- tooltipEl.style.left = "";
6854
- const { spaceLeft, spaceRight, spaceBelow, spaceAbove } = getClosableElementMeasurements(el, tooltipEl);
6855
- const tooltipWidth = tooltipEl.getBoundingClientRect().width;
6856
- const tooltipHeight = tooltipEl.getBoundingClientRect().height;
6857
- const enoughSpaceAbove = spaceAbove > tooltipHeight;
6858
- const enoughSpaceBelow = spaceBelow > tooltipHeight;
6859
- // a tooltip should never be closer than 24px to the edge of a screen
6860
- const enoughSpaceLeft = spaceLeft - 24 > tooltipWidth;
6861
- const enoughSpaceRight = spaceRight - 24 > tooltipWidth;
6862
- const swapAbove = (position) => {
6863
- return !enoughSpaceAbove ? position.replace("top", "bottom") : position;
6864
- };
6865
- const swapBelow = (position) => {
6866
- return !enoughSpaceBelow && enoughSpaceAbove ? position.replace("bottom", "top") : position;
6867
- };
6868
- const swapLeft = (position, centeredPosition) => {
6869
- if (!enoughSpaceLeft && enoughSpaceRight) {
6870
- position = position.replace("left", "right");
6871
- }
6872
- else if (!enoughSpaceLeft && !enoughSpaceRight) {
6873
- position = centeredPosition;
6874
- }
6875
- return position;
6876
- };
6877
- const swapRight = (position, centeredPosition) => {
6878
- if (!enoughSpaceRight && enoughSpaceLeft) {
6879
- position = position.replace("right", "left");
6880
- }
6881
- else if (!enoughSpaceRight && !enoughSpaceLeft) {
6882
- position = centeredPosition;
6883
- }
6884
- return position;
6885
- };
6886
- // horizontal checks must occur before vertical checks, because horizontal can affect vertical positioning but not vice versa
6887
- switch (tPos) {
6888
- case "left":
6889
- tPos = swapLeft(tPos, "bottom");
6890
- case "right":
6891
- tPos = swapRight(tPos, "bottom");
6892
- case "top-left":
6893
- tPos = swapLeft(tPos, "top");
6894
- tPos = swapAbove(tPos);
6895
- case "top-right":
6896
- tPos = swapRight(tPos, "top");
6897
- tPos = swapAbove(tPos);
6898
- case "bottom-left":
6899
- tPos = swapLeft(tPos, "bottom");
6900
- tPos = swapBelow(tPos);
6901
- case "bottom-right":
6902
- tPos = swapRight(tPos, "bottom");
6903
- tPos = swapBelow(tPos);
6904
- case "top":
6905
- tPos = swapAbove(tPos);
6906
- case "bottom":
6907
- tPos = swapBelow(tPos);
6908
- }
6909
- return tPos;
6910
- }
6911
- function hasRoomRight(x, spaceNeeded) {
6912
- let horizOffset = 0;
6913
- // if (getTextDir() === "ltr") {
6914
- if (x.type === "click") {
6915
- // if it's a mouse event, deal with mouse coords
6916
- horizOffset = x.clientX;
6917
- // if it's a focus event, the offset is 0
6918
- }
6919
- else if (x.type === "focus") {
6920
- horizOffset = 0;
6921
- }
6922
- else {
6923
- // otherwise an element was passed, calculate how far it is from the edge of the window
6924
- let el = x; // re-assignment is for clarity
6925
- while (el) {
6926
- if (el.tagName == "BODY") {
6927
- // deal with browser quirks with body/window/document and page scroll
6928
- var xScroll = el.scrollLeft || document.documentElement.scrollLeft;
6929
- horizOffset += el.offsetLeft - xScroll + el.clientLeft;
6930
- }
6931
- else {
6932
- // for all other non-BODY elements
6933
- horizOffset += el.offsetLeft - el.scrollLeft + el.clientLeft;
6934
- }
6935
- el = el.offsetParent;
6936
- }
6937
- // }
6938
- }
6939
- return window.innerWidth - horizOffset >= spaceNeeded;
6940
- }
6941
- function checkForActiveElInShadow(element) {
6942
- while (element && element.shadowRoot) {
6943
- element = element.shadowRoot.activeElement;
6944
- }
6945
- return element;
6946
- }
6947
- function checkForFocusableElInShadow(element) {
6948
- const selectors = [
6949
- "button",
6950
- "a",
6951
- "input",
6952
- "select",
6953
- "textarea",
6954
- "wm-button",
6955
- "wm-search",
6956
- "wm-select",
6957
- "wm-action-menu",
6958
- "wm-tab-item",
6959
- "wm-datepicker",
6960
- ];
6961
- let focusableEl = element;
6962
- selectors.forEach((selector) => {
6963
- if (focusableEl && focusableEl.shadowRoot) {
6964
- let elInShadow = focusableEl.shadowRoot.querySelector(selector);
6965
- if (elInShadow) {
6966
- if (selector.startsWith("wm-")) {
6967
- focusableEl = checkForFocusableElInShadow(elInShadow);
6968
- }
6969
- else {
6970
- focusableEl = elInShadow;
6971
- }
6972
- }
6973
- }
6974
- });
6975
- return focusableEl;
6976
- }
6977
- function isFocusable(element) {
6978
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null)) {
6979
- return true;
6980
- }
6981
- if (element.disabled) {
6982
- return false;
6983
- }
6984
- switch (element.nodeName) {
6985
- case "A":
6986
- return !!element.href && element.rel != "ignore";
6987
- case "INPUT":
6988
- return element.type != "hidden" && element.type != "file";
6989
- case "BUTTON":
6990
- case "SELECT":
6991
- case "TEXTAREA":
6992
- case "WM-BUTTON":
6993
- case "WM-SELECT":
6994
- case "WM-ACTION-MENU":
6995
- case "WM-DATEPICKER":
6996
- case "WM-TIMEPICKER":
6997
- case "WM-INPUT":
6998
- case "WM-TAG-INPUT":
6999
- case "WM-TAB-ITEM":
7000
- case "WM-SEARCH":
7001
- return true;
7002
- default:
7003
- return false;
7004
- }
7005
- }
7006
- function getFirstFocusableDescendant(element) {
7007
- if (isFocusable(element)) {
7008
- return checkForFocusableElInShadow(element);
7009
- }
7010
- else if (element.childNodes.length > 0) {
7011
- element.childNodes.forEach((i) => {
7012
- const childEl = getFirstFocusableDescendant(i);
7013
- return childEl && checkForFocusableElInShadow(childEl);
7014
- });
7015
- }
7016
- }
7017
- function hasValidType(file, types) {
7018
- const acceptedExtensions = types.split(" ");
7019
- const parts = file.name && file.name.split(".");
7020
- const ext = parts && parts.length > 1 && parts[parts.length - 1];
7021
- return ext
7022
- ? acceptedExtensions.includes(ext.toLowerCase())
7023
- : // fallback: if we couldn't obtain an extension,
7024
- // validate based on MIME type...
7025
- !!file.type
7026
- ? getAcceptedMimeTypesList(acceptedExtensions).includes(file.type)
7027
- : // ...and if that failed too, accept the file
7028
- // as it's preferable to accept an invalid file
7029
- // than refusing a valid one (back-end will take care of what slips through)
7030
- true;
7031
- }
7032
- // takes a string (space separated list of extensions), returns an array of strings (corresponding MIME types)
7033
- function getAcceptedMimeTypesList(acceptedExtensions) {
7034
- // this is just a list of common file types (regardless of whether they are/can be valid or not)
7035
- // front end checks are just a convenience to users, independent of security.
7036
- // it allows users to be notified of an invalid type as soon as they select the file, rather than when it gets uploaded
7037
- const lookupTable = {
7038
- aac: ["audio/aac"],
7039
- abw: ["application/x-abiword"],
7040
- arc: ["application/x-freearc"],
7041
- avi: ["video/x-msvideo"],
7042
- azw: ["application/vnd.amazon.ebook"],
7043
- bin: ["application/octet-stream"],
7044
- bmp: ["image/bmp"],
7045
- bz: ["application/x-bzip"],
7046
- bz2: ["application/x-bzip2"],
7047
- csh: ["application/x-csh"],
7048
- css: ["text/css"],
7049
- csv: ["text/csv"],
7050
- doc: ["application/msword"],
7051
- docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
7052
- eot: ["application/vnd.ms-fontobject"],
7053
- epub: ["application/epub+zip"],
7054
- gz: ["application/gzip"],
7055
- gif: ["image/gif"],
7056
- htm: ["text/html"],
7057
- html: ["text/html"],
7058
- ico: ["image/vnd.microsoft.icon"],
7059
- ics: ["text/calendar"],
7060
- jar: ["application/java-archive"],
7061
- jpeg: ["image/jpeg"],
7062
- jpg: ["image/jpeg"],
7063
- js: ["text/javascript"],
7064
- json: ["application/json"],
7065
- jsonld: ["application/ld+json"],
7066
- log: ["text/plain"],
7067
- mid: ["audio/x-midi"],
7068
- midi: ["audio/x-midi"],
7069
- mjs: ["text/javascript"],
7070
- mp3: ["audio/mpeg"],
7071
- mpeg: ["video/mpeg"],
7072
- mpkg: ["application/vnd.apple.installer+xml"],
7073
- odp: ["application/vnd.oasis.opendocument.presentation"],
7074
- ods: ["application/vnd.oasis.opendocument.spreadsheet"],
7075
- odt: ["application/vnd.oasis.opendocument.text"],
7076
- oga: ["audio/ogg"],
7077
- ogv: ["video/ogg"],
7078
- ogx: ["application/ogg"],
7079
- opus: ["audio/opus"],
7080
- otf: ["font/otf"],
7081
- png: ["image/png"],
7082
- pdf: ["application/pdf"],
7083
- php: ["application/php"],
7084
- ppt: ["application/vnd.ms-powerpoint"],
7085
- pptx: ["application/vnd.openxmlformats-officedocument.presentationml.presentation"],
7086
- rar: ["application/vnd.rar", "application/x-rar", "application/x-rar-compressed"],
7087
- rtf: ["application/rtf"],
7088
- sh: ["application/x-sh"],
7089
- svg: ["image/svg+xml"],
7090
- swf: ["application/x-shockwave-flash"],
7091
- tar: ["application/x-tar"],
7092
- tif: ["image/tiff"],
7093
- tiff: ["image/tiff"],
7094
- ts: ["video/mp2t"],
7095
- ttf: ["font/ttf"],
7096
- txt: ["text/plain"],
7097
- vsd: ["application/vnd.visio"],
7098
- wav: ["audio/wav"],
7099
- weba: ["audio/webm"],
7100
- webm: ["video/webm"],
7101
- webp: ["image/webp"],
7102
- woff: ["font/woff"],
7103
- woff2: ["font/woff2"],
7104
- xhtml: ["application/xhtml+xml"],
7105
- xls: ["application/vnd.ms-excel"],
7106
- xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
7107
- xml: ["application/xml", "text/xml"],
7108
- xul: ["application/vnd.mozilla.xul+xml"],
7109
- zip: ["application/zip", "application/x-zip-compressed", "multipart/x-zip"],
7110
- "3gp": ["video/3gpp", "audio/3gpp"],
7111
- "3g2": ["video/3gpp2", "audio/3gpp2"],
7112
- "7z": ["application/x-7z-compressed"],
7113
- };
7114
- return acceptedExtensions.reduce((acc, ext) => acc.concat(lookupTable[ext]), []);
7115
- }
7116
- function snakeCaseToCamelCase(str) {
7117
- const snakeCaseRegexp = /^([a-z0-9]*)(_[a-z0-9]*)*$/g;
7118
- if (snakeCaseRegexp.test(str)) {
7119
- let camelCase = "";
7120
- let arr = str.split("_");
7121
- arr.forEach((word, idx) => {
7122
- camelCase += idx === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1);
7123
- });
7124
- return camelCase;
7125
- }
7126
- else {
7127
- return str;
7128
- }
7129
- }
7130
- function getNewIndexToFocus(currentIndex, direction, listLength) {
7131
- let newIndex = currentIndex;
7132
- if (direction === "ArrowDown") {
7133
- newIndex = (currentIndex + 1) % listLength;
7134
- }
7135
- if (direction === "ArrowUp") {
7136
- newIndex = currentIndex === 0 ? listLength - 1 : currentIndex - 1;
7137
- }
7138
- return newIndex;
7139
- }
7140
- function isRelatedTarget(ev, id) {
7141
- // used for onBlur events to check the element that has been clicked
7142
- const ids = id.split(" ");
7143
- return ev.relatedTarget && ids.includes(ev.relatedTarget.id);
7144
- }
7145
- function toBool(val) {
7146
- // string "false" needs to be treated as bool False because react wrappers convert bool to string.
7147
- return val == "false" ? false : !!val;
7148
- }
7149
- /*
7150
- * this is going to be needed to solve the extra tabbing on navigator
7151
- * and for programmatic focus of tabs
7152
- * Here's a draft, not bug proof, see:
7153
- * https://stackoverflow.com/a/10730308/3741713
7154
-
7155
- function getKeyboardFocusableElements(element = document) {
7156
- const els = Array.from(element.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), wm-search, wm-timepicker, wm-tab-list, wm-tab-item, wm-button, wm-action-menu'));
7157
- return els.filter((el: Element) => !el.hasAttribute("disabled")) as HTMLElement[];
7158
- }
7159
-
7160
- export function getPreviousKeyboardFocusableElement(element: HTMLElement) {
7161
- const els = getKeyboardFocusableElements();
7162
- const current = els.indexOf(element);
7163
- return els[current - 1] as HTMLElement;
7164
- }
7165
-
7166
- export function getNextKeyboardFocusableElement(element: HTMLElement) {
7167
- const els = getKeyboardFocusableElements();
7168
- const current = els.indexOf(element);
7169
- return els[current + 1] as HTMLElement;
7170
- }
6680
+ const DEFAULT_LANGUAGE = "en";
6681
+ function getBrowserLang() {
6682
+ const langAttr = document.documentElement.getAttribute("lang");
6683
+ if (!!langAttr) {
6684
+ return langAttr;
6685
+ }
6686
+ else if (window.navigator && window.navigator.language) {
6687
+ const lang = window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
6688
+ return lang.slice(0, 2);
6689
+ }
6690
+ else {
6691
+ return DEFAULT_LANGUAGE;
6692
+ }
6693
+ }
6694
+ // prevents memory leak
6695
+ const cache = createIntlCache();
6696
+ const locale = getBrowserLang();
6697
+ const intl = createIntl({
6698
+ locale: locale,
6699
+ defaultLocale: "en",
6700
+ messages: lang[locale] || en,
6701
+ }, cache);
6702
+ function generateId() {
6703
+ return "wmcl-" + Math.random().toString(36).substr(2, 10);
6704
+ }
6705
+ // limits how many times a function fires
6706
+ // use when the function should run periodically, but not too often (e.g. window resize)
6707
+ function throttle(fn, wait) {
6708
+ let timeout;
6709
+ let shouldWait = false;
6710
+ return function () {
6711
+ const context = this;
6712
+ if (!shouldWait) {
6713
+ fn.apply(context, arguments);
6714
+ shouldWait = true;
6715
+ clearTimeout(timeout);
6716
+ timeout = setTimeout(function () {
6717
+ shouldWait = false;
6718
+ }, wait);
6719
+ }
6720
+ };
6721
+ }
6722
+ // waits until it hasn't been called for [timeout] ms.
6723
+ // use when the function should run only after something (event) is done firing
6724
+ function debounce(fn, wait) {
6725
+ let timeout;
6726
+ return function () {
6727
+ const context = this;
6728
+ const functionCall = () => fn.apply(context, arguments);
6729
+ clearTimeout(timeout);
6730
+ timeout = setTimeout(functionCall, wait);
6731
+ };
6732
+ }
6733
+ function getTextDir() {
6734
+ const dir = document.querySelector("html").getAttribute("dir");
6735
+ return dir ? dir.toLowerCase() : "";
6736
+ }
6737
+ function getPosition(el) {
6738
+ const coords = el.getBoundingClientRect();
6739
+ let x = coords.x;
6740
+ let y = coords.y;
6741
+ // Edge doesn't have x and y
6742
+ if (!x) {
6743
+ if (getTextDir() === "rtl") {
6744
+ x = coords.right;
6745
+ }
6746
+ else {
6747
+ x = coords.left;
6748
+ }
6749
+ y = coords.top;
6750
+ }
6751
+ return { x, y };
6752
+ }
6753
+ function findParentWithScrollbar(el) {
6754
+ while (!!el) {
6755
+ if (el.scrollHeight > el.clientHeight && ["scroll", "auto"].includes(window.getComputedStyle(el).overflowY)) {
6756
+ return el;
6757
+ }
6758
+ el = el.parentElement;
6759
+ }
6760
+ }
6761
+ function findParentWithHiddenOverflow(el) {
6762
+ while (!!el) {
6763
+ if (window.getComputedStyle(el).overflowY !== "visible") {
6764
+ return el;
6765
+ }
6766
+ el = el.parentElement;
6767
+ }
6768
+ }
6769
+ function getClosableElementMeasurements(fixedEl, closableEl) {
6770
+ const parent = findParentWithHiddenOverflow(fixedEl);
6771
+ // if parent is not found, measurements are checked against the viewport
6772
+ return {
6773
+ closableElHeight: closableEl.clientHeight,
6774
+ closableElWidth: closableEl.clientWidth,
6775
+ // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6776
+ // to get space below the el -> height of viewport minus boundingClientRect.bottom
6777
+ spaceAbove: parent
6778
+ ? fixedEl.getBoundingClientRect().top - parent.getBoundingClientRect().top
6779
+ : fixedEl.getBoundingClientRect().top,
6780
+ // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6781
+ // to get space below the el -> height of viewport minus boundingClientRect.bottom
6782
+ spaceBelow: parent
6783
+ ? parent.getBoundingClientRect().bottom - fixedEl.getBoundingClientRect().bottom
6784
+ : document.documentElement.clientHeight - fixedEl.getBoundingClientRect().bottom,
6785
+ spaceLeft: parent
6786
+ ? fixedEl.getBoundingClientRect().left - parent.getBoundingClientRect().left
6787
+ : fixedEl.getBoundingClientRect().left,
6788
+ spaceRight: parent
6789
+ ? parent.getBoundingClientRect().right - fixedEl.getBoundingClientRect().right
6790
+ : document.documentElement.clientWidth - fixedEl.getBoundingClientRect().right,
6791
+ };
6792
+ }
6793
+ function shouldOpenUp(fixedEl, //the element visible on the page when the component is closed
6794
+ closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6795
+ offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6796
+ offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6797
+ ) {
6798
+ const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6799
+ //we want to open up only if there's not enough space below AND there is enough space above
6800
+ const openUp = closableElHeight > spaceBelow + offsetBelow && closableElHeight <= spaceAbove + offsetAbove;
6801
+ return openUp;
6802
+ }
6803
+ function shouldOpenDown(fixedEl, //the element visible on the page when the component is closed
6804
+ closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6805
+ offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6806
+ offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6807
+ ) {
6808
+ const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6809
+ //we want to open up only if there's not enough space below AND there is enough space above
6810
+ const openDown = closableElHeight > spaceAbove + offsetAbove && closableElHeight <= spaceBelow + offsetBelow;
6811
+ return openDown;
6812
+ }
6813
+ function shouldShiftRight(fixedEl, closableEl) {
6814
+ const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6815
+ const needsSpaceLeft = closableElWidth > spaceLeft && spaceRight > spaceLeft;
6816
+ return needsSpaceLeft;
6817
+ }
6818
+ function shouldShiftLeft(fixedEl, closableEl) {
6819
+ const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6820
+ const needsSpaceRight = closableElWidth > spaceRight && spaceLeft > spaceRight;
6821
+ return needsSpaceRight;
6822
+ }
6823
+ function adjustTooltipPosition(tPos, el, tooltipEl) {
6824
+ // position must be reset before measurements are taken in adjustTooltipPosition
6825
+ // otherwise text-wrapping from previous position makes width measurement inconsistent
6826
+ tooltipEl.style.top = "";
6827
+ tooltipEl.style.left = "";
6828
+ const { spaceLeft, spaceRight, spaceBelow, spaceAbove } = getClosableElementMeasurements(el, tooltipEl);
6829
+ const tooltipWidth = tooltipEl.getBoundingClientRect().width;
6830
+ const tooltipHeight = tooltipEl.getBoundingClientRect().height;
6831
+ const enoughSpaceAbove = spaceAbove > tooltipHeight;
6832
+ const enoughSpaceBelow = spaceBelow > tooltipHeight;
6833
+ // a tooltip should never be closer than 24px to the edge of a screen
6834
+ const enoughSpaceLeft = spaceLeft - 24 > tooltipWidth;
6835
+ const enoughSpaceRight = spaceRight - 24 > tooltipWidth;
6836
+ const swapAbove = (position) => {
6837
+ return !enoughSpaceAbove ? position.replace("top", "bottom") : position;
6838
+ };
6839
+ const swapBelow = (position) => {
6840
+ return !enoughSpaceBelow && enoughSpaceAbove ? position.replace("bottom", "top") : position;
6841
+ };
6842
+ const swapLeft = (position, centeredPosition) => {
6843
+ if (!enoughSpaceLeft && enoughSpaceRight) {
6844
+ position = position.replace("left", "right");
6845
+ }
6846
+ else if (!enoughSpaceLeft && !enoughSpaceRight) {
6847
+ position = centeredPosition;
6848
+ }
6849
+ return position;
6850
+ };
6851
+ const swapRight = (position, centeredPosition) => {
6852
+ if (!enoughSpaceRight && enoughSpaceLeft) {
6853
+ position = position.replace("right", "left");
6854
+ }
6855
+ else if (!enoughSpaceRight && !enoughSpaceLeft) {
6856
+ position = centeredPosition;
6857
+ }
6858
+ return position;
6859
+ };
6860
+ // horizontal checks must occur before vertical checks, because horizontal can affect vertical positioning but not vice versa
6861
+ switch (tPos) {
6862
+ case "left":
6863
+ tPos = swapLeft(tPos, "bottom");
6864
+ case "right":
6865
+ tPos = swapRight(tPos, "bottom");
6866
+ case "top-left":
6867
+ tPos = swapLeft(tPos, "top");
6868
+ tPos = swapAbove(tPos);
6869
+ case "top-right":
6870
+ tPos = swapRight(tPos, "top");
6871
+ tPos = swapAbove(tPos);
6872
+ case "bottom-left":
6873
+ tPos = swapLeft(tPos, "bottom");
6874
+ tPos = swapBelow(tPos);
6875
+ case "bottom-right":
6876
+ tPos = swapRight(tPos, "bottom");
6877
+ tPos = swapBelow(tPos);
6878
+ case "top":
6879
+ tPos = swapAbove(tPos);
6880
+ case "bottom":
6881
+ tPos = swapBelow(tPos);
6882
+ }
6883
+ return tPos;
6884
+ }
6885
+ function hasRoomRight(x, spaceNeeded) {
6886
+ let horizOffset = 0;
6887
+ // if (getTextDir() === "ltr") {
6888
+ if (x.type === "click") {
6889
+ // if it's a mouse event, deal with mouse coords
6890
+ horizOffset = x.clientX;
6891
+ // if it's a focus event, the offset is 0
6892
+ }
6893
+ else if (x.type === "focus") {
6894
+ horizOffset = 0;
6895
+ }
6896
+ else {
6897
+ // otherwise an element was passed, calculate how far it is from the edge of the window
6898
+ let el = x; // re-assignment is for clarity
6899
+ while (el) {
6900
+ if (el.tagName == "BODY") {
6901
+ // deal with browser quirks with body/window/document and page scroll
6902
+ var xScroll = el.scrollLeft || document.documentElement.scrollLeft;
6903
+ horizOffset += el.offsetLeft - xScroll + el.clientLeft;
6904
+ }
6905
+ else {
6906
+ // for all other non-BODY elements
6907
+ horizOffset += el.offsetLeft - el.scrollLeft + el.clientLeft;
6908
+ }
6909
+ el = el.offsetParent;
6910
+ }
6911
+ // }
6912
+ }
6913
+ return window.innerWidth - horizOffset >= spaceNeeded;
6914
+ }
6915
+ function checkForActiveElInShadow(element) {
6916
+ while (element && element.shadowRoot) {
6917
+ element = element.shadowRoot.activeElement;
6918
+ }
6919
+ return element;
6920
+ }
6921
+ function checkForFocusableElInShadow(element) {
6922
+ const selectors = [
6923
+ "button",
6924
+ "a",
6925
+ "input",
6926
+ "select",
6927
+ "textarea",
6928
+ "wm-button",
6929
+ "wm-search",
6930
+ "wm-select",
6931
+ "wm-action-menu",
6932
+ "wm-tab-item",
6933
+ "wm-datepicker",
6934
+ ];
6935
+ let focusableEl = element;
6936
+ selectors.forEach((selector) => {
6937
+ if (focusableEl && focusableEl.shadowRoot) {
6938
+ let elInShadow = focusableEl.shadowRoot.querySelector(selector);
6939
+ if (elInShadow) {
6940
+ if (selector.startsWith("wm-")) {
6941
+ focusableEl = checkForFocusableElInShadow(elInShadow);
6942
+ }
6943
+ else {
6944
+ focusableEl = elInShadow;
6945
+ }
6946
+ }
6947
+ }
6948
+ });
6949
+ return focusableEl;
6950
+ }
6951
+ function isFocusable(element) {
6952
+ if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null)) {
6953
+ return true;
6954
+ }
6955
+ if (element.disabled) {
6956
+ return false;
6957
+ }
6958
+ switch (element.nodeName) {
6959
+ case "A":
6960
+ return !!element.href && element.rel != "ignore";
6961
+ case "INPUT":
6962
+ return element.type != "hidden" && element.type != "file";
6963
+ case "BUTTON":
6964
+ case "SELECT":
6965
+ case "TEXTAREA":
6966
+ case "WM-BUTTON":
6967
+ case "WM-SELECT":
6968
+ case "WM-ACTION-MENU":
6969
+ case "WM-DATEPICKER":
6970
+ case "WM-TIMEPICKER":
6971
+ case "WM-INPUT":
6972
+ case "WM-TAG-INPUT":
6973
+ case "WM-TAB-ITEM":
6974
+ case "WM-SEARCH":
6975
+ return true;
6976
+ default:
6977
+ return false;
6978
+ }
6979
+ }
6980
+ function getFirstFocusableDescendant(element) {
6981
+ if (isFocusable(element)) {
6982
+ return checkForFocusableElInShadow(element);
6983
+ }
6984
+ else if (element.childNodes.length > 0) {
6985
+ element.childNodes.forEach((i) => {
6986
+ const childEl = getFirstFocusableDescendant(i);
6987
+ return childEl && checkForFocusableElInShadow(childEl);
6988
+ });
6989
+ }
6990
+ }
6991
+ function hasValidType(file, types) {
6992
+ const acceptedExtensions = types.split(" ");
6993
+ const parts = file.name && file.name.split(".");
6994
+ const ext = parts && parts.length > 1 && parts[parts.length - 1];
6995
+ return ext
6996
+ ? acceptedExtensions.includes(ext.toLowerCase())
6997
+ : // fallback: if we couldn't obtain an extension,
6998
+ // validate based on MIME type...
6999
+ !!file.type
7000
+ ? getAcceptedMimeTypesList(acceptedExtensions).includes(file.type)
7001
+ : // ...and if that failed too, accept the file
7002
+ // as it's preferable to accept an invalid file
7003
+ // than refusing a valid one (back-end will take care of what slips through)
7004
+ true;
7005
+ }
7006
+ // takes a string (space separated list of extensions), returns an array of strings (corresponding MIME types)
7007
+ function getAcceptedMimeTypesList(acceptedExtensions) {
7008
+ // this is just a list of common file types (regardless of whether they are/can be valid or not)
7009
+ // front end checks are just a convenience to users, independent of security.
7010
+ // it allows users to be notified of an invalid type as soon as they select the file, rather than when it gets uploaded
7011
+ const lookupTable = {
7012
+ aac: ["audio/aac"],
7013
+ abw: ["application/x-abiword"],
7014
+ arc: ["application/x-freearc"],
7015
+ avi: ["video/x-msvideo"],
7016
+ azw: ["application/vnd.amazon.ebook"],
7017
+ bin: ["application/octet-stream"],
7018
+ bmp: ["image/bmp"],
7019
+ bz: ["application/x-bzip"],
7020
+ bz2: ["application/x-bzip2"],
7021
+ csh: ["application/x-csh"],
7022
+ css: ["text/css"],
7023
+ csv: ["text/csv"],
7024
+ doc: ["application/msword"],
7025
+ docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
7026
+ eot: ["application/vnd.ms-fontobject"],
7027
+ epub: ["application/epub+zip"],
7028
+ gz: ["application/gzip"],
7029
+ gif: ["image/gif"],
7030
+ htm: ["text/html"],
7031
+ html: ["text/html"],
7032
+ ico: ["image/vnd.microsoft.icon"],
7033
+ ics: ["text/calendar"],
7034
+ jar: ["application/java-archive"],
7035
+ jpeg: ["image/jpeg"],
7036
+ jpg: ["image/jpeg"],
7037
+ js: ["text/javascript"],
7038
+ json: ["application/json"],
7039
+ jsonld: ["application/ld+json"],
7040
+ log: ["text/plain"],
7041
+ mid: ["audio/x-midi"],
7042
+ midi: ["audio/x-midi"],
7043
+ mjs: ["text/javascript"],
7044
+ mp3: ["audio/mpeg"],
7045
+ mpeg: ["video/mpeg"],
7046
+ mpkg: ["application/vnd.apple.installer+xml"],
7047
+ odp: ["application/vnd.oasis.opendocument.presentation"],
7048
+ ods: ["application/vnd.oasis.opendocument.spreadsheet"],
7049
+ odt: ["application/vnd.oasis.opendocument.text"],
7050
+ oga: ["audio/ogg"],
7051
+ ogv: ["video/ogg"],
7052
+ ogx: ["application/ogg"],
7053
+ opus: ["audio/opus"],
7054
+ otf: ["font/otf"],
7055
+ png: ["image/png"],
7056
+ pdf: ["application/pdf"],
7057
+ php: ["application/php"],
7058
+ ppt: ["application/vnd.ms-powerpoint"],
7059
+ pptx: ["application/vnd.openxmlformats-officedocument.presentationml.presentation"],
7060
+ rar: ["application/vnd.rar", "application/x-rar", "application/x-rar-compressed"],
7061
+ rtf: ["application/rtf"],
7062
+ sh: ["application/x-sh"],
7063
+ svg: ["image/svg+xml"],
7064
+ swf: ["application/x-shockwave-flash"],
7065
+ tar: ["application/x-tar"],
7066
+ tif: ["image/tiff"],
7067
+ tiff: ["image/tiff"],
7068
+ ts: ["video/mp2t"],
7069
+ ttf: ["font/ttf"],
7070
+ txt: ["text/plain"],
7071
+ vsd: ["application/vnd.visio"],
7072
+ wav: ["audio/wav"],
7073
+ weba: ["audio/webm"],
7074
+ webm: ["video/webm"],
7075
+ webp: ["image/webp"],
7076
+ woff: ["font/woff"],
7077
+ woff2: ["font/woff2"],
7078
+ xhtml: ["application/xhtml+xml"],
7079
+ xls: ["application/vnd.ms-excel"],
7080
+ xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
7081
+ xml: ["application/xml", "text/xml"],
7082
+ xul: ["application/vnd.mozilla.xul+xml"],
7083
+ zip: ["application/zip", "application/x-zip-compressed", "multipart/x-zip"],
7084
+ "3gp": ["video/3gpp", "audio/3gpp"],
7085
+ "3g2": ["video/3gpp2", "audio/3gpp2"],
7086
+ "7z": ["application/x-7z-compressed"],
7087
+ };
7088
+ return acceptedExtensions.reduce((acc, ext) => acc.concat(lookupTable[ext]), []);
7089
+ }
7090
+ function snakeCaseToCamelCase(str) {
7091
+ const snakeCaseRegexp = /^([a-z0-9]*)(_[a-z0-9]*)*$/g;
7092
+ if (snakeCaseRegexp.test(str)) {
7093
+ let camelCase = "";
7094
+ let arr = str.split("_");
7095
+ arr.forEach((word, idx) => {
7096
+ camelCase += idx === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1);
7097
+ });
7098
+ return camelCase;
7099
+ }
7100
+ else {
7101
+ return str;
7102
+ }
7103
+ }
7104
+ function getNewIndexToFocus(currentIndex, direction, listLength) {
7105
+ let newIndex = currentIndex;
7106
+ if (direction === "ArrowDown") {
7107
+ newIndex = (currentIndex + 1) % listLength;
7108
+ }
7109
+ if (direction === "ArrowUp") {
7110
+ newIndex = currentIndex === 0 ? listLength - 1 : currentIndex - 1;
7111
+ }
7112
+ return newIndex;
7113
+ }
7114
+ function isRelatedTarget(ev, id) {
7115
+ // used for onBlur events to check the element that has been clicked
7116
+ const ids = id.split(" ");
7117
+ return ev.relatedTarget && ids.includes(ev.relatedTarget.id);
7118
+ }
7119
+ function toBool(val) {
7120
+ // string "false" needs to be treated as bool False because react wrappers convert bool to string.
7121
+ return val == "false" ? false : !!val;
7122
+ }
7123
+ /*
7124
+ * this is going to be needed to solve the extra tabbing on navigator
7125
+ * and for programmatic focus of tabs
7126
+ * Here's a draft, not bug proof, see:
7127
+ * https://stackoverflow.com/a/10730308/3741713
7128
+
7129
+ function getKeyboardFocusableElements(element = document) {
7130
+ const els = Array.from(element.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), wm-search, wm-timepicker, wm-tab-list, wm-tab-item, wm-button, wm-action-menu'));
7131
+ return els.filter((el: Element) => !el.hasAttribute("disabled")) as HTMLElement[];
7132
+ }
7133
+
7134
+ export function getPreviousKeyboardFocusableElement(element: HTMLElement) {
7135
+ const els = getKeyboardFocusableElements();
7136
+ const current = els.indexOf(element);
7137
+ return els[current - 1] as HTMLElement;
7138
+ }
7139
+
7140
+ export function getNextKeyboardFocusableElement(element: HTMLElement) {
7141
+ const els = getKeyboardFocusableElements();
7142
+ const current = els.indexOf(element);
7143
+ return els[current + 1] as HTMLElement;
7144
+ }
7171
7145
  */
7172
7146
 
7173
7147
  export { adjustTooltipPosition as a, getPosition as b, checkForActiveElInShadow as c, debounce as d, isRelatedTarget as e, findParentWithScrollbar as f, generateId as g, checkForFocusableElInShadow as h, intl as i, getFirstFocusableDescendant as j, getNewIndexToFocus as k, shouldOpenUp as l, shouldOpenDown as m, shouldShiftRight as n, shouldShiftLeft as o, hasValidType as p, getTextDir as q, throttle as r, snakeCaseToCamelCase as s, toBool as t, hasRoomRight as u };