@watermarkinsights/ripple 3.10.0 → 3.11.0-2

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 (309) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-829efa13.js → chartFunctions-62a62178.js} +420 -420
  3. package/dist/cjs/{functions-3b1b7c26.js → functions-1a67b971.js} +471 -475
  4. package/dist/cjs/{global-68b6a831.js → global-608d2e0e.js} +60 -60
  5. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
  6. package/dist/cjs/{index-df6a3611.js → index-acad7ab3.js} +1 -4
  7. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
  8. package/dist/cjs/loader.cjs.js +4 -4
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +87 -87
  10. package/dist/cjs/priv-datepicker.cjs.entry.js +658 -658
  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 +4 -4
  14. package/dist/cjs/wm-action-menu_2.cjs.entry.js +336 -342
  15. package/dist/cjs/wm-button.cjs.entry.js +227 -227
  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 +266 -266
  19. package/dist/cjs/wm-input.cjs.entry.js +135 -135
  20. package/dist/cjs/wm-modal-footer.cjs.entry.js +34 -32
  21. package/dist/cjs/wm-modal-header.cjs.entry.js +37 -35
  22. package/dist/cjs/wm-modal.cjs.entry.js +164 -164
  23. package/dist/cjs/wm-navigation_3.cjs.entry.js +228 -228
  24. package/dist/cjs/wm-navigator.cjs.entry.js +269 -269
  25. package/dist/cjs/wm-network-uploader.cjs.entry.js +453 -453
  26. package/dist/cjs/wm-option_2.cjs.entry.js +485 -485
  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 +171 -171
  31. package/dist/cjs/wm-tab-item_3.cjs.entry.js +297 -297
  32. package/dist/cjs/wm-tag-input.cjs.entry.js +580 -580
  33. package/dist/cjs/wm-timepicker.cjs.entry.js +384 -384
  34. package/dist/cjs/wm-toggletip.cjs.entry.js +125 -125
  35. package/dist/cjs/wm-uploader.cjs.entry.js +623 -380
  36. package/dist/cjs/wm-wrapper.cjs.entry.js +13 -13
  37. package/dist/collection/collection-manifest.json +1 -1
  38. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +258 -258
  39. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +115 -115
  40. package/dist/collection/components/charts/wm-chart/wm-chart.js +334 -334
  41. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +201 -201
  42. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +88 -88
  43. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +111 -111
  44. package/dist/collection/components/wm-action-menu/wm-action-menu.js +448 -460
  45. package/dist/collection/components/wm-button/wm-button.js +491 -491
  46. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1024 -1024
  47. package/dist/collection/components/wm-datepicker/wm-datepicker.js +471 -471
  48. package/dist/collection/components/wm-input/wm-input.js +423 -423
  49. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  50. package/dist/collection/components/wm-modal/wm-modal-footer.js +136 -141
  51. package/dist/collection/components/wm-modal/wm-modal-header.js +87 -92
  52. package/dist/collection/components/wm-modal/wm-modal.js +461 -461
  53. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +162 -162
  54. package/dist/collection/components/wm-navigation/wm-navigation-item.js +121 -121
  55. package/dist/collection/components/wm-navigation/wm-navigation.js +218 -218
  56. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  57. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  58. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  59. package/dist/collection/components/wm-option/wm-option.js +414 -414
  60. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  61. package/dist/collection/components/wm-search/wm-search.js +480 -480
  62. package/dist/collection/components/wm-select/wm-select.js +718 -718
  63. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  64. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  65. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  66. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  67. package/dist/collection/components/wm-tag-input/wm-tag-input.js +810 -810
  68. package/dist/collection/components/wm-timepicker/wm-timepicker.js +583 -583
  69. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  70. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +785 -785
  71. package/dist/collection/components/wm-uploader/wm-uploader.css +82 -7
  72. package/dist/collection/components/wm-uploader/wm-uploader.js +1066 -780
  73. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  74. package/dist/collection/dev/scripts.js +20 -20
  75. package/dist/collection/global/__mocks__/functions.js +6 -6
  76. package/dist/collection/global/chartFunctions.js +421 -421
  77. package/dist/collection/global/functions.js +468 -468
  78. package/dist/collection/global/global.js +67 -67
  79. package/dist/collection/global/interfaces.js +49 -49
  80. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  81. package/dist/collection/global/services/http-service.js +50 -50
  82. package/dist/collection/lang/lang.js +5 -5
  83. package/dist/collection/lang/missing.js +43 -43
  84. package/dist/collection/lang/piglatin.js +93 -93
  85. package/dist/esm/{chartFunctions-1ea300b2.js → chartFunctions-f315c3e9.js} +420 -420
  86. package/dist/esm/{functions-124ec8e6.js → functions-61c7bb1f.js} +471 -475
  87. package/dist/esm/{global-482afd31.js → global-c345f954.js} +60 -60
  88. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
  89. package/dist/esm/{index-17c79cc6.js → index-7603f98e.js} +1 -4
  90. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
  91. package/dist/esm/loader.js +4 -4
  92. package/dist/esm/polyfills/core-js.js +0 -0
  93. package/dist/esm/polyfills/css-shim.js +1 -1
  94. package/dist/esm/polyfills/dom.js +0 -0
  95. package/dist/esm/polyfills/es5-html-element.js +0 -0
  96. package/dist/esm/polyfills/index.js +0 -0
  97. package/dist/esm/polyfills/system.js +0 -0
  98. package/dist/esm/priv-chart-popover.entry.js +87 -87
  99. package/dist/esm/priv-datepicker.entry.js +658 -658
  100. package/dist/esm/priv-navigator-button.entry.js +19 -19
  101. package/dist/esm/priv-navigator-item.entry.js +24 -24
  102. package/dist/esm/ripple.js +4 -4
  103. package/dist/esm/wm-action-menu_2.entry.js +336 -342
  104. package/dist/esm/wm-button.entry.js +227 -227
  105. package/dist/esm/wm-chart-slice.entry.js +14 -14
  106. package/dist/esm/wm-chart.entry.js +117 -117
  107. package/dist/esm/wm-datepicker.entry.js +266 -266
  108. package/dist/esm/wm-input.entry.js +135 -135
  109. package/dist/esm/wm-modal-footer.entry.js +34 -32
  110. package/dist/esm/wm-modal-header.entry.js +37 -35
  111. package/dist/esm/wm-modal.entry.js +164 -164
  112. package/dist/esm/wm-navigation_3.entry.js +228 -228
  113. package/dist/esm/wm-navigator.entry.js +269 -269
  114. package/dist/esm/wm-network-uploader.entry.js +453 -453
  115. package/dist/esm/wm-option_2.entry.js +485 -485
  116. package/dist/esm/wm-pagination.entry.js +168 -168
  117. package/dist/esm/wm-progress-indicator_3.entry.js +136 -136
  118. package/dist/esm/wm-search.entry.js +233 -233
  119. package/dist/esm/wm-snackbar.entry.js +171 -171
  120. package/dist/esm/wm-tab-item_3.entry.js +297 -297
  121. package/dist/esm/wm-tag-input.entry.js +580 -580
  122. package/dist/esm/wm-timepicker.entry.js +384 -384
  123. package/dist/esm/wm-toggletip.entry.js +125 -125
  124. package/dist/esm/wm-uploader.entry.js +623 -380
  125. package/dist/esm/wm-wrapper.entry.js +13 -13
  126. package/dist/esm-es5/{chartFunctions-1ea300b2.js → chartFunctions-f315c3e9.js} +1 -1
  127. package/dist/esm-es5/{functions-124ec8e6.js → functions-61c7bb1f.js} +1 -1
  128. package/dist/esm-es5/global-c345f954.js +1 -0
  129. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +0 -0
  130. package/dist/esm-es5/{index-17c79cc6.js → index-7603f98e.js} +1 -1
  131. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
  132. package/dist/esm-es5/loader.js +1 -1
  133. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  134. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  135. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  136. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  137. package/dist/esm-es5/ripple.js +1 -1
  138. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  139. package/dist/esm-es5/wm-button.entry.js +1 -1
  140. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  141. package/dist/esm-es5/wm-chart.entry.js +1 -1
  142. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  143. package/dist/esm-es5/wm-input.entry.js +1 -1
  144. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  145. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  146. package/dist/esm-es5/wm-modal.entry.js +1 -1
  147. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  148. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  149. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  150. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  151. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  152. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  153. package/dist/esm-es5/wm-search.entry.js +1 -1
  154. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  155. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  156. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  157. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  158. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  159. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  160. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  161. package/dist/ripple/p-00fa3d4b.entry.js +1 -0
  162. package/dist/ripple/p-0d2017ae.entry.js +1 -0
  163. package/dist/ripple/{p-c332f020.system.entry.js → p-1242752c.system.entry.js} +1 -1
  164. package/dist/ripple/{p-1f35a8f1.js → p-15b1c11b.js} +1 -1
  165. package/dist/ripple/{p-59678b70.system.entry.js → p-1df2adee.system.entry.js} +1 -1
  166. package/dist/ripple/{p-fd9b3760.system.entry.js → p-212aac05.system.entry.js} +1 -1
  167. package/dist/ripple/{p-1acaa65d.system.entry.js → p-228a7210.system.entry.js} +1 -1
  168. package/dist/ripple/p-30745db6.entry.js +1 -0
  169. package/dist/ripple/p-358bde27.entry.js +1 -0
  170. package/dist/ripple/p-35cfcf9f.entry.js +1 -0
  171. package/dist/ripple/p-379b125b.entry.js +1 -0
  172. package/dist/ripple/{p-f1a93fa1.system.entry.js → p-398b2486.system.entry.js} +1 -1
  173. package/dist/ripple/{p-f17076c4.system.entry.js → p-3b3e847c.system.entry.js} +1 -1
  174. package/dist/ripple/p-3e6498ea.system.entry.js +1 -0
  175. package/dist/ripple/{p-e8006085.system.entry.js → p-42aa51fe.system.entry.js} +1 -1
  176. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
  177. package/dist/ripple/{p-557dd7f5.system.entry.js → p-44035b02.system.entry.js} +1 -1
  178. package/dist/ripple/{p-96b8d112.system.entry.js → p-487f7419.system.entry.js} +1 -1
  179. package/dist/ripple/p-4d59fe86.entry.js +1 -0
  180. package/dist/ripple/p-520b0f54.entry.js +1 -0
  181. package/dist/ripple/{p-1ace795c.system.entry.js → p-5471864e.system.entry.js} +1 -1
  182. package/dist/ripple/p-5e041c35.entry.js +1 -0
  183. package/dist/ripple/{p-9debb1cd.system.entry.js → p-68155230.system.entry.js} +1 -1
  184. package/dist/ripple/{p-1edf9946.system.entry.js → p-72eb5064.system.entry.js} +1 -1
  185. package/dist/ripple/{p-de192292.system.entry.js → p-75ef731b.system.entry.js} +1 -1
  186. package/dist/ripple/{p-5f4686a3.system.js → p-76ca7498.system.js} +2 -2
  187. package/dist/ripple/{p-09f954eb.system.js → p-787596f6.system.js} +1 -1
  188. package/dist/ripple/p-7fae0cc2.entry.js +1 -0
  189. package/dist/ripple/p-84b356a5.entry.js +1 -0
  190. package/dist/ripple/{p-c02c7a93.system.entry.js → p-867c6b99.system.entry.js} +1 -1
  191. package/dist/ripple/p-8867ae2e.system.entry.js +1 -0
  192. package/dist/ripple/p-8d347cd5.entry.js +1 -0
  193. package/dist/ripple/{p-27253ed2.system.entry.js → p-90ed3268.system.entry.js} +1 -1
  194. package/dist/ripple/p-92226595.entry.js +1 -0
  195. package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +0 -0
  196. package/dist/ripple/{p-daa4d5b2.system.entry.js → p-9f12284b.system.entry.js} +1 -1
  197. package/dist/ripple/p-9fe64cec.entry.js +1 -0
  198. package/dist/ripple/{p-726b9452.system.js → p-a0c3ef16.system.js} +1 -1
  199. package/dist/ripple/p-a82d37d8.entry.js +1 -0
  200. package/dist/ripple/p-a9e0ce88.entry.js +1 -0
  201. package/dist/ripple/{p-259f7450.system.entry.js → p-ac2485a6.system.entry.js} +1 -1
  202. package/dist/ripple/{p-db44eb6f.system.entry.js → p-ae6cfbca.system.entry.js} +1 -1
  203. package/dist/ripple/p-b3c71506.js +1 -0
  204. package/dist/ripple/p-ba168596.entry.js +1 -0
  205. package/dist/ripple/{p-6bf64cc9.system.entry.js → p-c873b490.system.entry.js} +1 -1
  206. package/dist/ripple/p-cd4fda75.entry.js +1 -0
  207. package/dist/ripple/p-cd5e483f.system.js +1 -0
  208. package/dist/ripple/p-d3603def.entry.js +1 -0
  209. package/dist/ripple/{p-28b051a3.system.entry.js → p-d3ed8b65.system.entry.js} +1 -1
  210. package/dist/ripple/{p-9d3b13d8.system.entry.js → p-d81a4e7c.system.entry.js} +1 -1
  211. package/dist/ripple/{p-d8544aaa.system.entry.js → p-e180001c.system.entry.js} +1 -1
  212. package/dist/ripple/p-e2fde9a2.entry.js +1 -0
  213. package/dist/ripple/p-e49b9a96.entry.js +1 -0
  214. package/dist/ripple/p-e748e22b.entry.js +1 -0
  215. package/dist/ripple/p-e75e75e0.entry.js +1 -0
  216. package/dist/ripple/{p-fe281d40.js → p-e95a56f5.js} +1 -1
  217. package/dist/ripple/p-eacd33cc.system.entry.js +1 -0
  218. package/dist/ripple/p-ed657559.entry.js +1 -0
  219. package/dist/ripple/{p-a37fe057.system.entry.js → p-eee347b4.system.entry.js} +1 -1
  220. package/dist/ripple/p-f0656464.entry.js +1 -0
  221. package/dist/ripple/p-f12a510f.entry.js +1 -0
  222. package/dist/ripple/p-f36b74bf.entry.js +1 -0
  223. package/dist/ripple/p-f45e9eb1.system.js +1 -0
  224. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
  225. package/dist/ripple/p-f76c49ca.js +1 -0
  226. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
  227. package/dist/ripple/{p-beb10404.system.entry.js → p-fdc4a599.system.entry.js} +1 -1
  228. package/dist/ripple/ripple.esm.js +1 -1
  229. package/dist/ripple/ripple.js +1 -1
  230. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  231. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  232. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +36 -36
  233. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +27 -27
  234. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  235. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  236. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +47 -48
  237. package/dist/types/components/wm-button/wm-button.d.ts +43 -43
  238. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  239. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  240. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  241. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  242. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -15
  243. package/dist/types/components/wm-modal/wm-modal-header.d.ts +11 -12
  244. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  245. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  246. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  247. package/dist/types/components/wm-navigation/wm-navigation.d.ts +28 -28
  248. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  249. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  250. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  251. package/dist/types/components/wm-option/wm-option.d.ts +32 -32
  252. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  253. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  254. package/dist/types/components/wm-select/wm-select.d.ts +66 -66
  255. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  256. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  257. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  258. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  259. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  260. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  261. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  262. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  263. package/dist/types/components/wm-uploader/wm-uploader.d.ts +116 -80
  264. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  265. package/dist/types/components.d.ts +29 -26
  266. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  267. package/dist/types/global/chartFunctions.d.ts +29 -29
  268. package/dist/types/global/functions.d.ts +42 -42
  269. package/dist/types/global/global.d.ts +1 -1
  270. package/dist/types/global/interfaces.d.ts +44 -44
  271. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  272. package/dist/types/global/services/http-service.d.ts +4 -4
  273. package/dist/types/lang/lang.d.ts +5 -5
  274. package/package.json +47 -47
  275. package/dist/esm-es5/global-482afd31.js +0 -1
  276. package/dist/ripple/p-0c7c9b89.entry.js +0 -1
  277. package/dist/ripple/p-14eab45c.system.entry.js +0 -1
  278. package/dist/ripple/p-1fe3ad2b.entry.js +0 -1
  279. package/dist/ripple/p-262c75ff.entry.js +0 -1
  280. package/dist/ripple/p-2a66f447.entry.js +0 -1
  281. package/dist/ripple/p-37553d4e.entry.js +0 -1
  282. package/dist/ripple/p-3a940fd1.entry.js +0 -1
  283. package/dist/ripple/p-426b392a.entry.js +0 -1
  284. package/dist/ripple/p-57c94258.entry.js +0 -1
  285. package/dist/ripple/p-5b213951.entry.js +0 -1
  286. package/dist/ripple/p-68361541.entry.js +0 -1
  287. package/dist/ripple/p-76e184fb.entry.js +0 -1
  288. package/dist/ripple/p-77415d3b.entry.js +0 -1
  289. package/dist/ripple/p-7c2a8479.entry.js +0 -1
  290. package/dist/ripple/p-7ec83929.entry.js +0 -1
  291. package/dist/ripple/p-84a3d723.entry.js +0 -1
  292. package/dist/ripple/p-87a7ab75.system.entry.js +0 -1
  293. package/dist/ripple/p-87c13bc7.js +0 -1
  294. package/dist/ripple/p-962f51ff.entry.js +0 -1
  295. package/dist/ripple/p-96898754.entry.js +0 -1
  296. package/dist/ripple/p-9a52566b.system.entry.js +0 -1
  297. package/dist/ripple/p-9a5281d9.system.js +0 -1
  298. package/dist/ripple/p-9bbdf766.entry.js +0 -1
  299. package/dist/ripple/p-a0635779.entry.js +0 -1
  300. package/dist/ripple/p-aeda3309.entry.js +0 -1
  301. package/dist/ripple/p-b0536ddb.entry.js +0 -1
  302. package/dist/ripple/p-b5df33e3.entry.js +0 -1
  303. package/dist/ripple/p-bd5d5a76.entry.js +0 -1
  304. package/dist/ripple/p-c2abdcba.js +0 -1
  305. package/dist/ripple/p-caaae868.entry.js +0 -1
  306. package/dist/ripple/p-ccf1547c.entry.js +0 -1
  307. package/dist/ripple/p-d3438746.system.js +0 -1
  308. package/dist/ripple/p-fc7bf66e.entry.js +0 -1
  309. package/dist/ripple/p-fd8883a5.entry.js +0 -1
@@ -5738,7 +5738,7 @@ originalMessage) {
5738
5738
  ? formats.time[el.style]
5739
5739
  : isDateTimeSkeleton(el.style)
5740
5740
  ? el.style.parsedOptions
5741
- : formats.time.medium;
5741
+ : undefined;
5742
5742
  result.push({
5743
5743
  type: PART_TYPE.literal,
5744
5744
  value: formatters
@@ -6108,9 +6108,9 @@ var MissingTranslationError = /** @class */ (function (_super) {
6108
6108
  return MissingTranslationError;
6109
6109
  }(IntlError));
6110
6110
 
6111
- function filterProps(props, allowlist, defaults) {
6111
+ function filterProps(props, whitelist, defaults) {
6112
6112
  if (defaults === void 0) { defaults = {}; }
6113
- return allowlist.reduce(function (filtered, name) {
6113
+ return whitelist.reduce(function (filtered, name) {
6114
6114
  if (name in props) {
6115
6115
  filtered[name] = props[name];
6116
6116
  }
@@ -6122,8 +6122,6 @@ function filterProps(props, allowlist, defaults) {
6122
6122
  }
6123
6123
  var defaultErrorHandler = function (error) {
6124
6124
  };
6125
- var defaultWarnHandler = function (warning) {
6126
- };
6127
6125
  var DEFAULT_INTL_CONFIG = {
6128
6126
  formats: {},
6129
6127
  messages: {},
@@ -6132,7 +6130,6 @@ var DEFAULT_INTL_CONFIG = {
6132
6130
  defaultFormats: {},
6133
6131
  fallbackOnEmptyString: true,
6134
6132
  onError: defaultErrorHandler,
6135
- onWarn: defaultWarnHandler,
6136
6133
  };
6137
6134
  function createIntlCache() {
6138
6135
  return {
@@ -6670,10 +6667,9 @@ function messagesContainString(messages) {
6670
6667
  return typeof firstMessage === 'string';
6671
6668
  }
6672
6669
  function verifyConfigMessages(config) {
6673
- if (config.onWarn &&
6674
- config.defaultRichTextElements &&
6670
+ if (config.defaultRichTextElements &&
6675
6671
  messagesContainString(config.messages || {})) {
6676
- config.onWarn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution");
6672
+ console.warn("[@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution");
6677
6673
  }
6678
6674
  }
6679
6675
  /**
@@ -6704,474 +6700,474 @@ function createIntl(config, cache) {
6704
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")));
6705
6701
  }
6706
6702
  verifyConfigMessages(resolvedConfig);
6707
- 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), $t: 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) });
6708
- }
6709
-
6710
- const DEFAULT_LANGUAGE = "en";
6711
- function getBrowserLang() {
6712
- const langAttr = document.documentElement.getAttribute("lang");
6713
- if (!!langAttr) {
6714
- return langAttr;
6715
- }
6716
- else if (window.navigator && window.navigator.language) {
6717
- const lang = window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
6718
- return lang.slice(0, 2);
6719
- }
6720
- else {
6721
- return DEFAULT_LANGUAGE;
6722
- }
6723
- }
6724
- // prevents memory leak
6725
- const cache = createIntlCache();
6726
- const locale = getBrowserLang();
6727
- const intl = createIntl({
6728
- locale: locale,
6729
- defaultLocale: "en",
6730
- messages: lang[locale] || en,
6731
- }, cache);
6732
- function generateId() {
6733
- return "wmcl-" + Math.random().toString(36).substr(2, 10);
6734
- }
6735
- // limits how many times a function fires
6736
- // use when the function should run periodically, but not too often (e.g. window resize)
6737
- function throttle(fn, wait) {
6738
- let timeout;
6739
- let shouldWait = false;
6740
- return function () {
6741
- const context = this;
6742
- if (!shouldWait) {
6743
- fn.apply(context, arguments);
6744
- shouldWait = true;
6745
- clearTimeout(timeout);
6746
- timeout = setTimeout(function () {
6747
- shouldWait = false;
6748
- }, wait);
6749
- }
6750
- };
6751
- }
6752
- // waits until it hasn't been called for [timeout] ms.
6753
- // use when the function should run only after something (event) is done firing
6754
- function debounce(fn, wait) {
6755
- let timeout;
6756
- return function () {
6757
- const context = this;
6758
- const functionCall = () => fn.apply(context, arguments);
6759
- clearTimeout(timeout);
6760
- timeout = setTimeout(functionCall, wait);
6761
- };
6762
- }
6763
- function getTextDir() {
6764
- const dir = document.querySelector("html").getAttribute("dir");
6765
- return dir ? dir.toLowerCase() : "";
6766
- }
6767
- function getPosition(el) {
6768
- const coords = el.getBoundingClientRect();
6769
- let x = coords.x;
6770
- let y = coords.y;
6771
- // Edge doesn't have x and y
6772
- if (!x) {
6773
- if (getTextDir() === "rtl") {
6774
- x = coords.right;
6775
- }
6776
- else {
6777
- x = coords.left;
6778
- }
6779
- y = coords.top;
6780
- }
6781
- return { x, y };
6782
- }
6783
- function findParentWithScrollbar(el) {
6784
- while (!!el) {
6785
- if (el.scrollHeight > el.clientHeight && ["scroll", "auto"].includes(window.getComputedStyle(el).overflowY)) {
6786
- return el;
6787
- }
6788
- el = el.parentElement;
6789
- }
6790
- }
6791
- function findParentWithHiddenOverflow(el) {
6792
- while (!!el) {
6793
- if (window.getComputedStyle(el).overflowY !== "visible") {
6794
- return el;
6795
- }
6796
- el = el.parentElement;
6797
- }
6798
- }
6799
- function getClosableElementMeasurements(fixedEl, closableEl) {
6800
- const parent = findParentWithHiddenOverflow(fixedEl);
6801
- // if parent is not found, measurements are checked against the viewport
6802
- return {
6803
- closableElHeight: closableEl.clientHeight,
6804
- closableElWidth: closableEl.clientWidth,
6805
- // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6806
- // to get space below the el -> height of viewport minus boundingClientRect.bottom
6807
- spaceAbove: parent
6808
- ? fixedEl.getBoundingClientRect().top - parent.getBoundingClientRect().top
6809
- : fixedEl.getBoundingClientRect().top,
6810
- // NB boundingClientRect.bottom is space from top of viewport to bottom of el
6811
- // to get space below the el -> height of viewport minus boundingClientRect.bottom
6812
- spaceBelow: parent
6813
- ? parent.getBoundingClientRect().bottom - fixedEl.getBoundingClientRect().bottom
6814
- : document.documentElement.clientHeight - fixedEl.getBoundingClientRect().bottom,
6815
- spaceLeft: parent
6816
- ? fixedEl.getBoundingClientRect().left - parent.getBoundingClientRect().left
6817
- : fixedEl.getBoundingClientRect().left,
6818
- spaceRight: parent
6819
- ? parent.getBoundingClientRect().right - fixedEl.getBoundingClientRect().right
6820
- : document.documentElement.clientWidth - fixedEl.getBoundingClientRect().right,
6821
- };
6822
- }
6823
- function shouldOpenUp(fixedEl, //the element visible on the page when the component is closed
6824
- closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6825
- offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6826
- offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6827
- ) {
6828
- const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6829
- //we want to open up only if there's not enough space below AND there is enough space above
6830
- const openUp = closableElHeight > spaceBelow + offsetBelow && closableElHeight <= spaceAbove + offsetAbove;
6831
- return openUp;
6832
- }
6833
- function shouldOpenDown(fixedEl, //the element visible on the page when the component is closed
6834
- closableEl, //the dropdown/popup/etc that becomes visible when the component is open
6835
- offsetAbove = 0, // if closableEl covers a part of fixedEl, that part should be offset
6836
- offsetBelow = 0 // if closableEl covers a part of fixedEl, that part should be offset
6837
- ) {
6838
- const { closableElHeight, spaceAbove, spaceBelow } = getClosableElementMeasurements(fixedEl, closableEl);
6839
- //we want to open up only if there's not enough space below AND there is enough space above
6840
- const openDown = closableElHeight > spaceAbove + offsetAbove && closableElHeight <= spaceBelow + offsetBelow;
6841
- return openDown;
6842
- }
6843
- function shouldShiftRight(fixedEl, closableEl) {
6844
- const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6845
- const needsSpaceLeft = closableElWidth > spaceLeft && spaceRight > spaceLeft;
6846
- return needsSpaceLeft;
6847
- }
6848
- function shouldShiftLeft(fixedEl, closableEl) {
6849
- const { closableElWidth, spaceLeft, spaceRight } = getClosableElementMeasurements(fixedEl, closableEl);
6850
- const needsSpaceRight = closableElWidth > spaceRight && spaceLeft > spaceRight;
6851
- return needsSpaceRight;
6852
- }
6853
- function adjustTooltipPosition(tPos, el, tooltipEl) {
6854
- // position must be reset before measurements are taken in adjustTooltipPosition
6855
- // otherwise text-wrapping from previous position makes width measurement inconsistent
6856
- tooltipEl.style.top = "";
6857
- tooltipEl.style.left = "";
6858
- const { spaceLeft, spaceRight, spaceBelow, spaceAbove } = getClosableElementMeasurements(el, tooltipEl);
6859
- const tooltipWidth = tooltipEl.getBoundingClientRect().width;
6860
- const tooltipHeight = tooltipEl.getBoundingClientRect().height;
6861
- const enoughSpaceAbove = spaceAbove > tooltipHeight;
6862
- const enoughSpaceBelow = spaceBelow > tooltipHeight;
6863
- // a tooltip should never be closer than 24px to the edge of a screen
6864
- const enoughSpaceLeft = spaceLeft - 24 > tooltipWidth;
6865
- const enoughSpaceRight = spaceRight - 24 > tooltipWidth;
6866
- const swapAbove = (position) => {
6867
- return !enoughSpaceAbove ? position.replace("top", "bottom") : position;
6868
- };
6869
- const swapBelow = (position) => {
6870
- return !enoughSpaceBelow && enoughSpaceAbove ? position.replace("bottom", "top") : position;
6871
- };
6872
- const swapLeft = (position, centeredPosition) => {
6873
- if (!enoughSpaceLeft && enoughSpaceRight) {
6874
- position = position.replace("left", "right");
6875
- }
6876
- else if (!enoughSpaceLeft && !enoughSpaceRight) {
6877
- position = centeredPosition;
6878
- }
6879
- return position;
6880
- };
6881
- const swapRight = (position, centeredPosition) => {
6882
- if (!enoughSpaceRight && enoughSpaceLeft) {
6883
- position = position.replace("right", "left");
6884
- }
6885
- else if (!enoughSpaceRight && !enoughSpaceLeft) {
6886
- position = centeredPosition;
6887
- }
6888
- return position;
6889
- };
6890
- // horizontal checks must occur before vertical checks, because horizontal can affect vertical positioning but not vice versa
6891
- switch (tPos) {
6892
- case "left":
6893
- tPos = swapLeft(tPos, "bottom");
6894
- case "right":
6895
- tPos = swapRight(tPos, "bottom");
6896
- case "top-left":
6897
- tPos = swapLeft(tPos, "top");
6898
- tPos = swapAbove(tPos);
6899
- case "top-right":
6900
- tPos = swapRight(tPos, "top");
6901
- tPos = swapAbove(tPos);
6902
- case "bottom-left":
6903
- tPos = swapLeft(tPos, "bottom");
6904
- tPos = swapBelow(tPos);
6905
- case "bottom-right":
6906
- tPos = swapRight(tPos, "bottom");
6907
- tPos = swapBelow(tPos);
6908
- case "top":
6909
- tPos = swapAbove(tPos);
6910
- case "bottom":
6911
- tPos = swapBelow(tPos);
6912
- }
6913
- return tPos;
6914
- }
6915
- function hasRoomRight(x, spaceNeeded) {
6916
- let horizOffset = 0;
6917
- // if (getTextDir() === "ltr") {
6918
- if (x.type === "click") {
6919
- // if it's a mouse event, deal with mouse coords
6920
- horizOffset = x.clientX;
6921
- // if it's a focus event, the offset is 0
6922
- }
6923
- else if (x.type === "focus") {
6924
- horizOffset = 0;
6925
- }
6926
- else {
6927
- // otherwise an element was passed, calculate how far it is from the edge of the window
6928
- let el = x; // re-assignment is for clarity
6929
- while (el) {
6930
- if (el.tagName == "BODY") {
6931
- // deal with browser quirks with body/window/document and page scroll
6932
- var xScroll = el.scrollLeft || document.documentElement.scrollLeft;
6933
- horizOffset += el.offsetLeft - xScroll + el.clientLeft;
6934
- }
6935
- else {
6936
- // for all other non-BODY elements
6937
- horizOffset += el.offsetLeft - el.scrollLeft + el.clientLeft;
6938
- }
6939
- el = el.offsetParent;
6940
- }
6941
- // }
6942
- }
6943
- return window.innerWidth - horizOffset >= spaceNeeded;
6944
- }
6945
- function checkForActiveElInShadow(element) {
6946
- while (element && element.shadowRoot) {
6947
- element = element.shadowRoot.activeElement;
6948
- }
6949
- return element;
6950
- }
6951
- function checkForFocusableElInShadow(element) {
6952
- const selectors = [
6953
- "button",
6954
- "a",
6955
- "input",
6956
- "select",
6957
- "textarea",
6958
- "wm-button",
6959
- "wm-search",
6960
- "wm-select",
6961
- "wm-action-menu",
6962
- "wm-tab-item",
6963
- "wm-datepicker",
6964
- ];
6965
- let focusableEl = element;
6966
- selectors.forEach((selector) => {
6967
- if (focusableEl && focusableEl.shadowRoot) {
6968
- let elInShadow = focusableEl.shadowRoot.querySelector(selector);
6969
- if (elInShadow) {
6970
- if (selector.startsWith("wm-")) {
6971
- focusableEl = checkForFocusableElInShadow(elInShadow);
6972
- }
6973
- else {
6974
- focusableEl = elInShadow;
6975
- }
6976
- }
6977
- }
6978
- });
6979
- return focusableEl;
6980
- }
6981
- function isFocusable(element) {
6982
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute("tabIndex") !== null)) {
6983
- return true;
6984
- }
6985
- if (element.disabled) {
6986
- return false;
6987
- }
6988
- switch (element.nodeName) {
6989
- case "A":
6990
- return !!element.href && element.rel != "ignore";
6991
- case "INPUT":
6992
- return element.type != "hidden" && element.type != "file";
6993
- case "BUTTON":
6994
- case "SELECT":
6995
- case "TEXTAREA":
6996
- case "WM-BUTTON":
6997
- case "WM-SELECT":
6998
- case "WM-ACTION-MENU":
6999
- case "WM-DATEPICKER":
7000
- case "WM-TIMEPICKER":
7001
- case "WM-INPUT":
7002
- case "WM-TAG-INPUT":
7003
- case "WM-TAB-ITEM":
7004
- case "WM-SEARCH":
7005
- return true;
7006
- default:
7007
- return false;
7008
- }
7009
- }
7010
- function getFirstFocusableDescendant(element) {
7011
- if (isFocusable(element)) {
7012
- return checkForFocusableElInShadow(element);
7013
- }
7014
- else if (element.childNodes.length > 0) {
7015
- element.childNodes.forEach((i) => {
7016
- const childEl = getFirstFocusableDescendant(i);
7017
- return childEl && checkForFocusableElInShadow(childEl);
7018
- });
7019
- }
7020
- }
7021
- function hasValidType(file, types) {
7022
- const acceptedExtensions = types.split(" ");
7023
- const parts = file.name && file.name.split(".");
7024
- const ext = parts && parts.length > 1 && parts[parts.length - 1];
7025
- return ext
7026
- ? acceptedExtensions.includes(ext.toLowerCase())
7027
- : // fallback: if we couldn't obtain an extension,
7028
- // validate based on MIME type...
7029
- !!file.type
7030
- ? getAcceptedMimeTypesList(acceptedExtensions).includes(file.type)
7031
- : // ...and if that failed too, accept the file
7032
- // as it's preferable to accept an invalid file
7033
- // than refusing a valid one (back-end will take care of what slips through)
7034
- true;
7035
- }
7036
- // takes a string (space separated list of extensions), returns an array of strings (corresponding MIME types)
7037
- function getAcceptedMimeTypesList(acceptedExtensions) {
7038
- // this is just a list of common file types (regardless of whether they are/can be valid or not)
7039
- // front end checks are just a convenience to users, independent of security.
7040
- // it allows users to be notified of an invalid type as soon as they select the file, rather than when it gets uploaded
7041
- const lookupTable = {
7042
- aac: ["audio/aac"],
7043
- abw: ["application/x-abiword"],
7044
- arc: ["application/x-freearc"],
7045
- avi: ["video/x-msvideo"],
7046
- azw: ["application/vnd.amazon.ebook"],
7047
- bin: ["application/octet-stream"],
7048
- bmp: ["image/bmp"],
7049
- bz: ["application/x-bzip"],
7050
- bz2: ["application/x-bzip2"],
7051
- csh: ["application/x-csh"],
7052
- css: ["text/css"],
7053
- csv: ["text/csv"],
7054
- doc: ["application/msword"],
7055
- docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
7056
- eot: ["application/vnd.ms-fontobject"],
7057
- epub: ["application/epub+zip"],
7058
- gz: ["application/gzip"],
7059
- gif: ["image/gif"],
7060
- htm: ["text/html"],
7061
- html: ["text/html"],
7062
- ico: ["image/vnd.microsoft.icon"],
7063
- ics: ["text/calendar"],
7064
- jar: ["application/java-archive"],
7065
- jpeg: ["image/jpeg"],
7066
- jpg: ["image/jpeg"],
7067
- js: ["text/javascript"],
7068
- json: ["application/json"],
7069
- jsonld: ["application/ld+json"],
7070
- log: ["text/plain"],
7071
- mid: ["audio/x-midi"],
7072
- midi: ["audio/x-midi"],
7073
- mjs: ["text/javascript"],
7074
- mp3: ["audio/mpeg"],
7075
- mpeg: ["video/mpeg"],
7076
- mpkg: ["application/vnd.apple.installer+xml"],
7077
- odp: ["application/vnd.oasis.opendocument.presentation"],
7078
- ods: ["application/vnd.oasis.opendocument.spreadsheet"],
7079
- odt: ["application/vnd.oasis.opendocument.text"],
7080
- oga: ["audio/ogg"],
7081
- ogv: ["video/ogg"],
7082
- ogx: ["application/ogg"],
7083
- opus: ["audio/opus"],
7084
- otf: ["font/otf"],
7085
- png: ["image/png"],
7086
- pdf: ["application/pdf"],
7087
- php: ["application/php"],
7088
- ppt: ["application/vnd.ms-powerpoint"],
7089
- pptx: ["application/vnd.openxmlformats-officedocument.presentationml.presentation"],
7090
- rar: ["application/vnd.rar", "application/x-rar", "application/x-rar-compressed"],
7091
- rtf: ["application/rtf"],
7092
- sh: ["application/x-sh"],
7093
- svg: ["image/svg+xml"],
7094
- swf: ["application/x-shockwave-flash"],
7095
- tar: ["application/x-tar"],
7096
- tif: ["image/tiff"],
7097
- tiff: ["image/tiff"],
7098
- ts: ["video/mp2t"],
7099
- ttf: ["font/ttf"],
7100
- txt: ["text/plain"],
7101
- vsd: ["application/vnd.visio"],
7102
- wav: ["audio/wav"],
7103
- weba: ["audio/webm"],
7104
- webm: ["video/webm"],
7105
- webp: ["image/webp"],
7106
- woff: ["font/woff"],
7107
- woff2: ["font/woff2"],
7108
- xhtml: ["application/xhtml+xml"],
7109
- xls: ["application/vnd.ms-excel"],
7110
- xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
7111
- xml: ["application/xml", "text/xml"],
7112
- xul: ["application/vnd.mozilla.xul+xml"],
7113
- zip: ["application/zip", "application/x-zip-compressed", "multipart/x-zip"],
7114
- "3gp": ["video/3gpp", "audio/3gpp"],
7115
- "3g2": ["video/3gpp2", "audio/3gpp2"],
7116
- "7z": ["application/x-7z-compressed"],
7117
- };
7118
- return acceptedExtensions.reduce((acc, ext) => acc.concat(lookupTable[ext]), []);
7119
- }
7120
- function snakeCaseToCamelCase(str) {
7121
- const snakeCaseRegexp = /^([a-z0-9]*)(_[a-z0-9]*)*$/g;
7122
- if (snakeCaseRegexp.test(str)) {
7123
- let camelCase = "";
7124
- let arr = str.split("_");
7125
- arr.forEach((word, idx) => {
7126
- camelCase += idx === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1);
7127
- });
7128
- return camelCase;
7129
- }
7130
- else {
7131
- return str;
7132
- }
7133
- }
7134
- function getNewIndexToFocus(currentIndex, direction, listLength) {
7135
- let newIndex = currentIndex;
7136
- if (direction === "ArrowDown") {
7137
- newIndex = (currentIndex + 1) % listLength;
7138
- }
7139
- if (direction === "ArrowUp") {
7140
- newIndex = currentIndex === 0 ? listLength - 1 : currentIndex - 1;
7141
- }
7142
- return newIndex;
7143
- }
7144
- function isRelatedTarget(ev, id) {
7145
- // used for onBlur events to check the element that has been clicked
7146
- const ids = id.split(" ");
7147
- return ev.relatedTarget && ids.includes(ev.relatedTarget.id);
7148
- }
7149
- function toBool(val) {
7150
- // string "false" needs to be treated as bool False because react wrappers convert bool to string.
7151
- return val == "false" ? false : !!val;
7152
- }
7153
- /*
7154
- * this is going to be needed to solve the extra tabbing on navigator
7155
- * and for programmatic focus of tabs
7156
- * Here's a draft, not bug proof, see:
7157
- * https://stackoverflow.com/a/10730308/3741713
7158
-
7159
- function getKeyboardFocusableElements(element = document) {
7160
- 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'));
7161
- return els.filter((el: Element) => !el.hasAttribute("disabled")) as HTMLElement[];
6703
+ 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) });
7162
6704
  }
7163
6705
 
7164
- export function getPreviousKeyboardFocusableElement(element: HTMLElement) {
7165
- const els = getKeyboardFocusableElements();
7166
- const current = els.indexOf(element);
7167
- return els[current - 1] as HTMLElement;
7168
- }
7169
-
7170
- export function getNextKeyboardFocusableElement(element: HTMLElement) {
7171
- const els = getKeyboardFocusableElements();
7172
- const current = els.indexOf(element);
7173
- return els[current + 1] as HTMLElement;
7174
- }
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
+ }
7175
7171
  */
7176
7172
 
7177
7173
  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 };