@watermarkinsights/ripple 4.2.0-0 → 4.2.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 (375) hide show
  1. package/dist/cjs/chartFunctions-2c3e010e.js +600 -0
  2. package/dist/cjs/{functions-4208c444.js → functions-91da05e9.js} +362 -362
  3. package/dist/cjs/{global-38728020.js → global-b85941b0.js} +29 -24
  4. package/dist/cjs/{index-f8ef86de.js → index-fae02cd7.js} +150 -436
  5. package/dist/cjs/interfaces-245d7bff.js +38 -0
  6. package/dist/cjs/intl-fa3bb4ae.js +179 -0
  7. package/dist/cjs/loader.cjs.js +13 -4
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +85 -85
  9. package/dist/cjs/priv-datepicker.cjs.entry.js +637 -637
  10. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  11. package/dist/cjs/priv-navigator-item.cjs.entry.js +21 -21
  12. package/dist/cjs/ripple.cjs.js +7 -4
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +314 -314
  14. package/dist/cjs/wm-button.cjs.entry.js +174 -174
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +17 -17
  16. package/dist/cjs/wm-chart.cjs.entry.js +164 -164
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +160 -160
  18. package/dist/cjs/wm-file-list.cjs.entry.js +10 -10
  19. package/dist/cjs/wm-file.cjs.entry.js +178 -178
  20. package/dist/cjs/wm-input.cjs.entry.js +102 -102
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +448 -448
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +27 -27
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +21 -21
  24. package/dist/cjs/wm-modal.cjs.entry.js +92 -92
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +180 -180
  26. package/dist/cjs/wm-navigator.cjs.entry.js +251 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +712 -712
  28. package/dist/cjs/wm-pagination.cjs.entry.js +169 -169
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +151 -151
  30. package/dist/cjs/wm-search.cjs.entry.js +192 -192
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +114 -114
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +247 -247
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +849 -849
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +33 -33
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +270 -270
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +100 -100
  37. package/dist/cjs/wm-uploader.cjs.entry.js +198 -198
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  39. package/dist/collection/collection-manifest.json +41 -41
  40. package/dist/collection/components/charts/chartFunctions.js +456 -456
  41. package/dist/collection/components/charts/chartFunctions.spec.js +13 -13
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +73 -73
  43. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +254 -257
  44. package/dist/collection/components/charts/screenshots.e2e.js +30 -30
  45. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +121 -121
  46. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +160 -160
  47. package/dist/collection/components/charts/wm-chart/wm-chart.js +381 -382
  48. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +26 -26
  49. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +2 -1
  50. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +138 -138
  51. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +717 -717
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +106 -106
  53. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +202 -202
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +54 -54
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +136 -136
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +31 -31
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +119 -119
  58. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +187 -187
  59. package/dist/collection/components/wm-action-menu/wm-action-menu.js +435 -435
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +35 -35
  61. package/dist/collection/components/wm-button/wm-button.e2e.js +58 -58
  62. package/dist/collection/components/wm-button/wm-button.js +452 -454
  63. package/dist/collection/components/wm-button/wm-button.spec.js +63 -63
  64. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +939 -943
  65. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.spec.js +71 -71
  66. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -1
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +413 -415
  69. package/dist/collection/components/wm-datepicker/wm-datepicker.spec.js +13 -13
  70. package/dist/collection/components/wm-file/wm-file.js +380 -380
  71. package/dist/collection/components/wm-file/wm-file.spec.js +107 -107
  72. package/dist/collection/components/wm-file-list/wm-file-list.js +42 -42
  73. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +47 -47
  74. package/dist/collection/components/wm-input/wm-input.e2e.js +26 -26
  75. package/dist/collection/components/wm-input/wm-input.js +453 -453
  76. package/dist/collection/components/wm-input/wm-input.spec.js +168 -168
  77. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +18 -18
  78. package/dist/collection/components/wm-menuitem/wm-menuitem.js +436 -446
  79. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +46 -46
  80. package/dist/collection/components/wm-modal/wm-modal-footer.js +130 -130
  81. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +8 -8
  82. package/dist/collection/components/wm-modal/wm-modal-header.js +68 -68
  83. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +5 -5
  84. package/dist/collection/components/wm-modal/wm-modal.css +1 -0
  85. package/dist/collection/components/wm-modal/wm-modal.e2e.js +65 -65
  86. package/dist/collection/components/wm-modal/wm-modal.js +296 -299
  87. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  88. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +1 -0
  89. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +112 -112
  90. package/dist/collection/components/wm-navigation/wm-navigation-item.js +125 -125
  91. package/dist/collection/components/wm-navigation/wm-navigation.css +3 -1
  92. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +86 -86
  93. package/dist/collection/components/wm-navigation/wm-navigation.js +209 -209
  94. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +79 -79
  95. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +30 -30
  96. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +103 -103
  97. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +118 -119
  98. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  99. package/dist/collection/components/wm-navigator/wm-navigator.js +454 -454
  100. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  101. package/dist/collection/components/wm-option/wm-option.css +1 -1
  102. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  103. package/dist/collection/components/wm-option/wm-option.js +463 -474
  104. package/dist/collection/components/wm-option/wm-option.spec.js +39 -39
  105. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +301 -301
  106. package/dist/collection/components/wm-pagination/wm-pagination.js +327 -327
  107. package/dist/collection/components/wm-search/wm-search.e2e.js +69 -69
  108. package/dist/collection/components/wm-search/wm-search.js +414 -415
  109. package/dist/collection/components/wm-search/wm-search.spec.js +64 -64
  110. package/dist/collection/components/wm-select/wm-select.css +1 -0
  111. package/dist/collection/components/wm-select/wm-select.e2e.js +443 -443
  112. package/dist/collection/components/wm-select/wm-select.js +966 -967
  113. package/dist/collection/components/wm-select/wm-select.spec.js +250 -250
  114. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +114 -114
  115. package/dist/collection/components/wm-snackbar/wm-snackbar.js +207 -209
  116. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +4 -4
  117. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +188 -190
  118. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +261 -261
  119. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  120. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +79 -79
  121. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +6 -6
  122. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -2
  123. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +168 -168
  124. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1159 -1159
  125. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +147 -147
  126. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +234 -236
  127. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -1
  128. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  129. package/dist/collection/components/wm-timepicker/wm-timepicker.js +527 -531
  130. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +151 -151
  131. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1 -1
  132. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +61 -61
  133. package/dist/collection/components/wm-toggletip/wm-toggletip.js +208 -209
  134. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +16 -16
  135. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +56 -56
  136. package/dist/collection/components/wm-uploader/wm-uploader.js +422 -423
  137. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +149 -149
  138. package/dist/collection/components/wm-wrapper/wm-wrapper.js +26 -26
  139. package/dist/collection/global/__mocks__/functions.js +1 -1
  140. package/dist/collection/global/functions.js +510 -510
  141. package/dist/collection/global/functions.spec.js +123 -123
  142. package/dist/collection/global/global.js +16 -16
  143. package/dist/collection/global/interfaces.js +39 -39
  144. package/dist/collection/global/intl.js +162 -162
  145. package/dist/collection/global/services/__mocks__/http-service.js +112 -112
  146. package/dist/collection/global/services/http-service.js +41 -41
  147. package/dist/collection/global/themes/default.js +9 -4
  148. package/dist/collection/global/themes/neutral.js +4 -4
  149. package/dist/collection/lang/lang.spec.js +13 -13
  150. package/dist/esm/chartFunctions-36634c04.js +584 -0
  151. package/dist/esm/{functions-d0e70094.js → functions-5afd09f4.js} +362 -362
  152. package/dist/esm/{global-462b022e.js → global-91088105.js} +29 -24
  153. package/dist/esm/{index-f164fbca.js → index-7e11ea42.js} +150 -436
  154. package/dist/esm/interfaces-89cad2fc.js +35 -0
  155. package/dist/esm/intl-e2da750a.js +174 -0
  156. package/dist/esm/loader.js +14 -5
  157. package/dist/esm/polyfills/css-shim.js +1 -0
  158. package/dist/esm/priv-chart-popover.entry.js +85 -85
  159. package/dist/esm/priv-datepicker.entry.js +637 -637
  160. package/dist/esm/priv-navigator-button.entry.js +18 -18
  161. package/dist/esm/priv-navigator-item.entry.js +21 -21
  162. package/dist/esm/ripple.js +8 -5
  163. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  164. package/dist/esm/wm-button.entry.js +174 -174
  165. package/dist/esm/wm-chart-slice.entry.js +17 -17
  166. package/dist/esm/wm-chart.entry.js +164 -164
  167. package/dist/esm/wm-datepicker.entry.js +160 -160
  168. package/dist/esm/wm-file-list.entry.js +10 -10
  169. package/dist/esm/wm-file.entry.js +178 -178
  170. package/dist/esm/wm-input.entry.js +102 -102
  171. package/dist/esm/wm-line-chart.entry.js +448 -448
  172. package/dist/esm/wm-modal-footer.entry.js +27 -27
  173. package/dist/esm/wm-modal-header.entry.js +21 -21
  174. package/dist/esm/wm-modal.entry.js +92 -92
  175. package/dist/esm/wm-navigation_3.entry.js +180 -180
  176. package/dist/esm/wm-navigator.entry.js +251 -251
  177. package/dist/esm/wm-option_2.entry.js +712 -712
  178. package/dist/esm/wm-pagination.entry.js +169 -169
  179. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  180. package/dist/esm/wm-search.entry.js +192 -192
  181. package/dist/esm/wm-snackbar.entry.js +114 -114
  182. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  183. package/dist/esm/wm-tag-input.entry.js +849 -849
  184. package/dist/esm/wm-tag-option.entry.js +33 -33
  185. package/dist/esm/wm-timepicker.entry.js +270 -270
  186. package/dist/esm/wm-toggletip.entry.js +100 -100
  187. package/dist/esm/wm-uploader.entry.js +198 -198
  188. package/dist/esm/wm-wrapper.entry.js +12 -12
  189. package/dist/esm-es5/chartFunctions-36634c04.js +1 -0
  190. package/dist/esm-es5/functions-5afd09f4.js +1 -0
  191. package/dist/esm-es5/global-91088105.js +1 -0
  192. package/dist/esm-es5/index-7e11ea42.js +2 -0
  193. package/dist/esm-es5/{intl-05c9e0c9.js → intl-e2da750a.js} +1 -1
  194. package/dist/esm-es5/loader.js +1 -1
  195. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  196. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  197. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  198. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  199. package/dist/esm-es5/ripple.js +1 -1
  200. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  201. package/dist/esm-es5/wm-button.entry.js +1 -1
  202. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  203. package/dist/esm-es5/wm-chart.entry.js +1 -1
  204. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  205. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  206. package/dist/esm-es5/wm-file.entry.js +1 -1
  207. package/dist/esm-es5/wm-input.entry.js +1 -1
  208. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  209. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  210. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  211. package/dist/esm-es5/wm-modal.entry.js +1 -1
  212. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  214. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  215. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  216. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  217. package/dist/esm-es5/wm-search.entry.js +1 -1
  218. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  219. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  220. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  221. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  222. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  223. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  224. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  225. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  226. package/dist/loader/index.d.ts +1 -1
  227. package/dist/ripple/p-00acacbe.system.entry.js +1 -0
  228. package/dist/ripple/{p-3446852f.system.entry.js → p-0631be01.system.entry.js} +1 -1
  229. package/dist/ripple/{p-ad6dc751.entry.js → p-0aecac86.entry.js} +1 -1
  230. package/dist/ripple/{p-c717d895.entry.js → p-0d9f70ab.entry.js} +1 -1
  231. package/dist/ripple/{p-b253d2fc.entry.js → p-0f1ff645.entry.js} +1 -1
  232. package/dist/ripple/{p-63f75d43.entry.js → p-1205fdc1.entry.js} +1 -1
  233. package/dist/ripple/{p-27f47edc.entry.js → p-1283e85d.entry.js} +1 -1
  234. package/dist/ripple/{p-43e2a49a.entry.js → p-13594c2e.entry.js} +1 -1
  235. package/dist/ripple/{p-5a921e55.entry.js → p-13af8346.entry.js} +1 -1
  236. package/dist/ripple/{p-ceced3d9.system.entry.js → p-15497721.system.entry.js} +1 -1
  237. package/dist/ripple/p-16363e1c.system.entry.js +1 -0
  238. package/dist/ripple/{p-3a070f35.entry.js → p-19773c40.entry.js} +1 -1
  239. package/dist/ripple/{p-b4d862e1.system.entry.js → p-1cde16a7.system.entry.js} +1 -1
  240. package/dist/ripple/{p-f711c914.entry.js → p-20f5c695.entry.js} +1 -1
  241. package/dist/ripple/{p-13ca30d8.js → p-24b08e1f.js} +1 -1
  242. package/dist/ripple/{p-2c834d27.system.entry.js → p-2a95b63f.system.entry.js} +1 -1
  243. package/dist/ripple/{p-c96a5c94.system.entry.js → p-2e773564.system.entry.js} +1 -1
  244. package/dist/ripple/p-30bf24f8.system.js +2 -0
  245. package/dist/ripple/p-3248c0fa.system.entry.js +1 -0
  246. package/dist/ripple/{p-473ff44e.system.entry.js → p-32b1126c.system.entry.js} +1 -1
  247. package/dist/ripple/{p-aadf8c59.entry.js → p-36049d2f.entry.js} +1 -1
  248. package/dist/ripple/p-3aca2871.js +1 -0
  249. package/dist/ripple/{p-633cd89a.system.entry.js → p-3becce62.system.entry.js} +1 -1
  250. package/dist/ripple/{p-58174f4e.entry.js → p-3c80bf67.entry.js} +1 -1
  251. package/dist/ripple/p-40fcae38.system.js +1 -0
  252. package/dist/ripple/p-47c20b05.entry.js +1 -0
  253. package/dist/ripple/p-4825101c.system.js +1 -0
  254. package/dist/ripple/p-56d64283.system.entry.js +1 -0
  255. package/dist/ripple/p-5e85967a.system.js +1 -0
  256. package/dist/ripple/{p-067d7922.system.entry.js → p-622a7791.system.entry.js} +1 -1
  257. package/dist/ripple/{p-aba5a00e.system.entry.js → p-676c1089.system.entry.js} +1 -1
  258. package/dist/ripple/{p-153701f9.entry.js → p-6abb903c.entry.js} +1 -1
  259. package/dist/ripple/{p-9e25bfd5.entry.js → p-7529706d.entry.js} +1 -1
  260. package/dist/ripple/{p-de349bee.entry.js → p-7962f562.entry.js} +1 -1
  261. package/dist/ripple/{p-8d4734ad.entry.js → p-80aef387.entry.js} +1 -1
  262. package/dist/ripple/{p-8cace32f.entry.js → p-84a7e757.entry.js} +1 -1
  263. package/dist/ripple/{p-9fecbc8a.system.js → p-85f744ed.system.js} +1 -1
  264. package/dist/ripple/{p-05d4e49b.js → p-863e737a.js} +1 -1
  265. package/dist/ripple/{p-7e56da2e.system.entry.js → p-8ea68cb3.system.entry.js} +1 -1
  266. package/dist/ripple/{p-1402cfa2.system.js → p-8f3f903f.system.js} +1 -1
  267. package/dist/ripple/{p-c249063c.entry.js → p-8f8c3705.entry.js} +1 -1
  268. package/dist/ripple/{p-67d48c33.system.entry.js → p-90ea7e3a.system.entry.js} +1 -1
  269. package/dist/ripple/{p-a82a8931.entry.js → p-9288659b.entry.js} +1 -1
  270. package/dist/ripple/{p-f7aa5a73.entry.js → p-935513f8.entry.js} +1 -1
  271. package/dist/ripple/{p-8b83de0a.entry.js → p-a0bf5eef.entry.js} +1 -1
  272. package/dist/ripple/{p-06776596.system.entry.js → p-a1e95b05.system.entry.js} +1 -1
  273. package/dist/ripple/{p-25446670.entry.js → p-a52c5a1c.entry.js} +1 -1
  274. package/dist/ripple/p-a5b23781.system.entry.js +1 -0
  275. package/dist/ripple/p-a6be3cca.system.entry.js +1 -0
  276. package/dist/ripple/p-a9c096b5.entry.js +1 -0
  277. package/dist/ripple/p-aafa111a.system.js +1 -0
  278. package/dist/ripple/{p-1d8b0039.entry.js → p-ad37cdfd.entry.js} +1 -1
  279. package/dist/ripple/{p-350fe5da.entry.js → p-ae674a54.entry.js} +1 -1
  280. package/dist/ripple/{p-e24ddae1.entry.js → p-b3c73bc9.entry.js} +1 -1
  281. package/dist/ripple/{p-e8b58666.system.entry.js → p-b3e08b14.system.entry.js} +1 -1
  282. package/dist/ripple/p-b5bedd63.js +2 -0
  283. package/dist/ripple/{p-a69c37e0.entry.js → p-b71a83e3.entry.js} +1 -1
  284. package/dist/ripple/p-bd537299.system.entry.js +1 -0
  285. package/dist/ripple/{p-42ebfcfa.entry.js → p-c41603e6.entry.js} +1 -1
  286. package/dist/ripple/{p-5a4d9897.system.entry.js → p-c5e8f8a5.system.entry.js} +1 -1
  287. package/dist/ripple/{p-7a8816d9.system.entry.js → p-c76bbedf.system.entry.js} +1 -1
  288. package/dist/ripple/{p-3af72848.js → p-c7b5ac39.js} +1 -1
  289. package/dist/ripple/{p-361cc8fc.system.entry.js → p-cbd8a60b.system.entry.js} +1 -1
  290. package/dist/ripple/{p-3583d113.system.entry.js → p-d04ba5f8.system.entry.js} +1 -1
  291. package/dist/ripple/{p-1fa2a756.system.entry.js → p-d0f1b8c4.system.entry.js} +1 -1
  292. package/dist/ripple/{p-bdd4f919.system.entry.js → p-d496bc44.system.entry.js} +1 -1
  293. package/dist/ripple/{p-7e8daaac.entry.js → p-deb4f5a2.entry.js} +1 -1
  294. package/dist/ripple/{p-91ad0233.system.entry.js → p-e3f0b57f.system.entry.js} +1 -1
  295. package/dist/ripple/{p-f1a92576.system.entry.js → p-e4919f95.system.entry.js} +1 -1
  296. package/dist/ripple/{p-49118468.entry.js → p-ed942b42.entry.js} +1 -1
  297. package/dist/ripple/{p-0ecbf569.system.entry.js → p-f30839a1.system.entry.js} +1 -1
  298. package/dist/ripple/{p-d3f9d028.system.entry.js → p-ff14e4ec.system.entry.js} +1 -1
  299. package/dist/ripple/ripple.esm.js +1 -1
  300. package/dist/ripple/ripple.js +20 -16
  301. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  302. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  303. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  304. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  305. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +73 -73
  306. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  307. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  308. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  309. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  310. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  311. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  312. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  313. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  314. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  315. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  316. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  317. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  318. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  319. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  320. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  321. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  322. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  323. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  324. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  325. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  326. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  327. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  328. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  329. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  330. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  331. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  332. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  333. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  334. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  335. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  336. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  337. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  338. package/dist/types/components.d.ts +0 -382
  339. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  340. package/dist/types/global/functions.d.ts +4 -4
  341. package/dist/types/global/interfaces.d.ts +49 -49
  342. package/dist/types/global/intl.d.ts +31 -31
  343. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  344. package/dist/types/stencil-public-runtime.d.ts +5 -46
  345. package/package.json +1 -1
  346. package/dist/cjs/chartFunctions-cecf8134.js +0 -600
  347. package/dist/cjs/interfaces-ad9e80a6.js +0 -38
  348. package/dist/cjs/intl-3fafc6d1.js +0 -179
  349. package/dist/esm/chartFunctions-23173fce.js +0 -584
  350. package/dist/esm/interfaces-9b75fb61.js +0 -35
  351. package/dist/esm/intl-05c9e0c9.js +0 -174
  352. package/dist/esm-es5/chartFunctions-23173fce.js +0 -1
  353. package/dist/esm-es5/functions-d0e70094.js +0 -1
  354. package/dist/esm-es5/global-462b022e.js +0 -1
  355. package/dist/esm-es5/index-f164fbca.js +0 -2
  356. package/dist/ripple/p-09d62ddd.entry.js +0 -1
  357. package/dist/ripple/p-0fe97e85.system.js +0 -2
  358. package/dist/ripple/p-1453ea51.system.entry.js +0 -1
  359. package/dist/ripple/p-1cc91907.system.js +0 -1
  360. package/dist/ripple/p-26602428.system.js +0 -1
  361. package/dist/ripple/p-30b17818.system.entry.js +0 -1
  362. package/dist/ripple/p-3deccefa.system.js +0 -1
  363. package/dist/ripple/p-4de51706.js +0 -2
  364. package/dist/ripple/p-8133ee44.system.entry.js +0 -1
  365. package/dist/ripple/p-88406560.system.entry.js +0 -1
  366. package/dist/ripple/p-8f76a838.system.entry.js +0 -1
  367. package/dist/ripple/p-a99b05de.system.entry.js +0 -1
  368. package/dist/ripple/p-b56e0d1e.entry.js +0 -1
  369. package/dist/ripple/p-c18b398c.system.js +0 -1
  370. package/dist/ripple/p-cb674aad.js +0 -1
  371. package/dist/ripple/p-e66bbd87.system.entry.js +0 -1
  372. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +0 -117
  373. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +0 -18
  374. /package/dist/esm-es5/{interfaces-9b75fb61.js → interfaces-89cad2fc.js} +0 -0
  375. /package/dist/ripple/{p-196eb2f3.js → p-c0c111fd.js} +0 -0
@@ -1,120 +1,120 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  describe("wm-snackbar", () => {
3
- let page;
4
- beforeEach(async () => {
5
- page = await newE2EPage();
6
- await page.setContent("<wm-button id='create-snack' onclick='generateSnackbar()'></wm-button><wm-snackbar notifications='[]' id='snack'></wm-snackbar ><script>function generateSnackbar() { const snackbar = document.getElementById('snack'); const id = '3'; let notifications = JSON.parse(snackbar.notifications); let newNotification = {'id': id, message: 'You did something', link: 'Undo'}; let updatedNotifications = [ ...notifications, newNotification ]; snackbar.notifications = JSON.stringify(updatedNotifications); }</script>");
7
- await page.evaluate(async () => {
8
- document.addEventListener("keydown", (ev) => {
9
- if (ev.key == "Tab") {
10
- document.body.classList.add("user-is-tabbing");
11
- }
12
- });
13
- document.addEventListener("mousedown", () => {
14
- document.body.classList.remove("user-is-tabbing");
15
- });
16
- document.addEventListener("wmSnackbarSnackFinished", (ev) => {
17
- const snackbar = document.querySelector("wm-snackbar");
18
- let newSnacks = JSON.parse(snackbar.notifications).filter((snack) => +snack.id !== +ev.detail.id);
19
- snackbar.notifications = JSON.stringify(newSnacks);
20
- });
21
- });
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent("<wm-button id='create-snack' onclick='generateSnackbar()'></wm-button><wm-snackbar notifications='[]' id='snack'></wm-snackbar ><script>function generateSnackbar() { const snackbar = document.getElementById('snack'); const id = '3'; let notifications = JSON.parse(snackbar.notifications); let newNotification = {'id': id, message: 'You did something', link: 'Undo'}; let updatedNotifications = [ ...notifications, newNotification ]; snackbar.notifications = JSON.stringify(updatedNotifications); }</script>");
7
+ await page.evaluate(async () => {
8
+ document.addEventListener("keydown", (ev) => {
9
+ if (ev.key == "Tab") {
10
+ document.body.classList.add("user-is-tabbing");
11
+ }
12
+ });
13
+ document.addEventListener("mousedown", () => {
14
+ document.body.classList.remove("user-is-tabbing");
15
+ });
16
+ document.addEventListener("wmSnackbarSnackFinished", (ev) => {
17
+ const snackbar = document.querySelector("wm-snackbar");
18
+ let newSnacks = JSON.parse(snackbar.notifications).filter((snack) => +snack.id !== +ev.detail.id);
19
+ snackbar.notifications = JSON.stringify(newSnacks);
20
+ });
22
21
  });
23
- afterEach(async () => {
24
- jest.clearAllTimers();
22
+ });
23
+ afterEach(async () => {
24
+ jest.clearAllTimers();
25
+ });
26
+ // RENDER
27
+ it("it displays a snackbar when it receives a notification", async () => {
28
+ //generate snackbar
29
+ const button = await page.find("wm-button");
30
+ button.click(); //perform action that generates a notification
31
+ await page.waitForChanges();
32
+ const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
33
+ expect(snackbar).not.toBeNull();
34
+ });
35
+ it("it displays multiple snackbars when it receives more than one notification", async () => {
36
+ //generate snackbars
37
+ const button = await page.find("wm-button");
38
+ button.click();
39
+ await page.waitForChanges();
40
+ button.click();
41
+ await page.waitForChanges();
42
+ const snackbars = await page.findAll("wm-snackbar >>> .wm-snackbarmsg");
43
+ expect(snackbars.length).toBe(2);
44
+ });
45
+ it("dismisses the snackbar after 20 seconds if the user is clicking and not tabbing", async () => {
46
+ //generate snackbar
47
+ const snackExpired = await page.spyOnEvent("wmSnackbarSnackFinished");
48
+ const button = await page.find("wm-button");
49
+ button.click();
50
+ await page.waitForChanges();
51
+ let snack = await page.find("wm-snackbar >>> .wm-snackbarmsg");
52
+ expect(snack).not.toBeNull();
53
+ await new Promise((resolve) => {
54
+ setTimeout(() => {
55
+ resolve("");
56
+ }, 21000);
25
57
  });
26
- // RENDER
27
- it("it displays a snackbar when it receives a notification", async () => {
28
- //generate snackbar
29
- const button = await page.find("wm-button");
30
- button.click(); //perform action that generates a notification
31
- await page.waitForChanges();
32
- const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
33
- expect(snackbar).not.toBeNull();
34
- });
35
- it("it displays multiple snackbars when it receives more than one notification", async () => {
36
- //generate snackbars
37
- const button = await page.find("wm-button");
38
- button.click();
39
- await page.waitForChanges();
40
- button.click();
41
- await page.waitForChanges();
42
- const snackbars = await page.findAll("wm-snackbar >>> .wm-snackbarmsg");
43
- expect(snackbars.length).toBe(2);
44
- });
45
- it("dismisses the snackbar after 20 seconds if the user is clicking and not tabbing", async () => {
46
- //generate snackbar
47
- const snackExpired = await page.spyOnEvent("wmSnackbarSnackFinished");
48
- const button = await page.find("wm-button");
49
- button.click();
50
- await page.waitForChanges();
51
- let snack = await page.find("wm-snackbar >>> .wm-snackbarmsg");
52
- expect(snack).not.toBeNull();
53
- await new Promise((resolve) => {
54
- setTimeout(() => {
55
- resolve("");
56
- }, 21000);
57
- });
58
- snack = await page.find("wm-snackbar >>> .wm-snackbarmsg");
59
- expect(snack).toBeNull();
60
- expect(snackExpired).toHaveReceivedEventDetail({
61
- id: "3",
62
- message: "You did something",
63
- link: "Undo",
64
- });
65
- });
66
- it("dismisses the snackbar when the close button is clicked", async () => {
67
- //generate snackbar
68
- const triggerButton = await page.find("wm-button");
69
- triggerButton.click();
70
- await page.waitForChanges();
71
- //press close button
72
- const closeButton = await page.find("wm-snackbar >>> button");
73
- closeButton.click();
74
- await page.waitForChanges();
75
- const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
76
- expect(snackbar).toBeNull();
77
- });
78
- //ACCESSIBILITY
79
- it("renders an aria-live region", async () => {
80
- const element = await page.find("wm-snackbar >>> #wm-live-region-snack");
81
- expect(element).toEqualAttribute("aria-live", "polite");
82
- });
83
- it("focuses the action link in snackbar if the user is tabbing", async () => {
84
- //generate snackbar
85
- await page.keyboard.press("Tab");
86
- await page.keyboard.press("Enter");
87
- await page.waitForChanges();
88
- const focusedElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
89
- const link = await page.find("wm-snackbar >>> .link");
90
- expect(focusedElId).toBe(link.id);
91
- });
92
- it("dismisses the snackbar when enter is pressed on close button and returns focus to last active element before snackbar was created", async () => {
93
- //generate snackbar
94
- await page.keyboard.press("Tab");
95
- await page.keyboard.press("Enter");
96
- await page.waitForChanges();
97
- //press close button
98
- await page.keyboard.press("Tab");
99
- await page.keyboard.press("Enter");
100
- await page.waitForChanges();
101
- const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
102
- expect(snackbar).toBeNull();
103
- const focusedElId = await page.evaluate(() => document.activeElement.id);
104
- expect(focusedElId).toBe("create-snack");
105
- });
106
- it("dismisses the snackbar if the user tabs out of it and it returns focus to last active element before snackbar was created", async () => {
107
- //generate snackbar
108
- await page.keyboard.press("Tab");
109
- await page.keyboard.press("Enter");
110
- await page.waitForChanges();
111
- //tab out
112
- await page.keyboard.press("Tab");
113
- await page.keyboard.press("Tab");
114
- await page.waitForChanges();
115
- const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
116
- expect(snackbar).toBeNull();
117
- const focusedElId = await page.evaluate(() => document.activeElement.id);
118
- expect(focusedElId).toBe("create-snack");
58
+ snack = await page.find("wm-snackbar >>> .wm-snackbarmsg");
59
+ expect(snack).toBeNull();
60
+ expect(snackExpired).toHaveReceivedEventDetail({
61
+ id: "3",
62
+ message: "You did something",
63
+ link: "Undo",
119
64
  });
65
+ });
66
+ it("dismisses the snackbar when the close button is clicked", async () => {
67
+ //generate snackbar
68
+ const triggerButton = await page.find("wm-button");
69
+ triggerButton.click();
70
+ await page.waitForChanges();
71
+ //press close button
72
+ const closeButton = await page.find("wm-snackbar >>> button");
73
+ closeButton.click();
74
+ await page.waitForChanges();
75
+ const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
76
+ expect(snackbar).toBeNull();
77
+ });
78
+ //ACCESSIBILITY
79
+ it("renders an aria-live region", async () => {
80
+ const element = await page.find("wm-snackbar >>> #wm-live-region-snack");
81
+ expect(element).toEqualAttribute("aria-live", "polite");
82
+ });
83
+ it("focuses the action link in snackbar if the user is tabbing", async () => {
84
+ //generate snackbar
85
+ await page.keyboard.press("Tab");
86
+ await page.keyboard.press("Enter");
87
+ await page.waitForChanges();
88
+ const focusedElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
89
+ const link = await page.find("wm-snackbar >>> .link");
90
+ expect(focusedElId).toBe(link.id);
91
+ });
92
+ it("dismisses the snackbar when enter is pressed on close button and returns focus to last active element before snackbar was created", async () => {
93
+ //generate snackbar
94
+ await page.keyboard.press("Tab");
95
+ await page.keyboard.press("Enter");
96
+ await page.waitForChanges();
97
+ //press close button
98
+ await page.keyboard.press("Tab");
99
+ await page.keyboard.press("Enter");
100
+ await page.waitForChanges();
101
+ const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
102
+ expect(snackbar).toBeNull();
103
+ const focusedElId = await page.evaluate(() => document.activeElement.id);
104
+ expect(focusedElId).toBe("create-snack");
105
+ });
106
+ it("dismisses the snackbar if the user tabs out of it and it returns focus to last active element before snackbar was created", async () => {
107
+ //generate snackbar
108
+ await page.keyboard.press("Tab");
109
+ await page.keyboard.press("Enter");
110
+ await page.waitForChanges();
111
+ //tab out
112
+ await page.keyboard.press("Tab");
113
+ await page.keyboard.press("Tab");
114
+ await page.waitForChanges();
115
+ const snackbar = await page.find("wm-snackbar >>> .wm-snackbarmsg");
116
+ expect(snackbar).toBeNull();
117
+ const focusedElId = await page.evaluate(() => document.activeElement.id);
118
+ expect(focusedElId).toBe("create-snack");
119
+ });
120
120
  });
@@ -2,218 +2,216 @@ import { h } from "@stencil/core";
2
2
  import { generateId, hideTooltip, showTooltip } from "../../global/functions";
3
3
  import { globalMessages } from "../../global/intl";
4
4
  export class Snackbar {
5
- constructor() {
6
- this.parsedNotifications = [];
7
- this.uid = this.el.id ? this.el.id : generateId();
8
- this.focusOnDismiss = null;
9
- this.timers = [];
10
- this.notifications = "[]";
11
- this.isTabbing = false;
12
- this.announcement = "";
13
- }
14
- updateSnacks(newValue) {
15
- const prevNotificationsLength = this.parsedNotifications.length;
16
- this.parsedNotifications = [...JSON.parse(newValue)];
17
- if (prevNotificationsLength < this.parsedNotifications.length) {
18
- const latestNotification = this.parsedNotifications[0];
19
- const newTimer = window.setTimeout(() => this.snackExpired(), 20000);
20
- this.timers = [newTimer, ...this.timers];
21
- // don't announce link if user is tabbing because link is focused after announcement
22
- this.announce(`${latestNotification.message} ${this.isTabbing ? "" : latestNotification.link}`);
23
- if (this.isTabbing && latestNotification.link) {
24
- this.focusOnDismiss = document.activeElement ? document.activeElement : null;
25
- this.stopTimer(latestNotification);
26
- // allow snack to render before focusing
27
- window.requestAnimationFrame(() => {
28
- const link = this.el.shadowRoot.querySelector(`#action-${latestNotification.id}`);
29
- link.focus();
30
- });
31
- }
32
- }
33
- }
34
- toggleTabbingOn() {
35
- this.isTabbing = true;
36
- }
37
- toggleTabbingOff() {
38
- this.isTabbing = false;
39
- }
40
- checkForTabbing(ev) {
41
- if (ev.key === "Tab") {
42
- this.toggleTabbingOn();
43
- }
44
- }
45
- // Workaround for screenreader's triggering click event on "enter"
46
- // This is why we manually handle this.isTabbing instead of listening to wmUserIsTabbing
47
- handleMouse() {
48
- this.toggleTabbingOff();
49
- }
50
- snackDismissed(notification) {
51
- this.endSnack(notification);
52
- // Focus should only be returned if it was moved in the first place, i.e., there was a link and the user was tabbing. Otherwise, for a mouse user, the user's focus would jump back to the triggering element.
53
- if (notification.link && this.isTabbing && this.focusOnDismiss) {
54
- this.focusOnDismiss.focus();
55
- this.focusOnDismiss = null;
56
- }
57
- }
58
- //Remove snack from notification list once timer runs out
59
- snackExpired() {
60
- const notification = this.parsedNotifications[this.parsedNotifications.length - 1];
61
- this.endSnack(notification);
62
- }
63
- endSnack(notification) {
64
- //App listens for wmSnackbarSnackFinished event and deletes the emitted notification.
65
- this.stopTimer(notification);
66
- this.wmSnackbarSnackFinished.emit({
67
- id: notification.id,
68
- message: notification.message,
69
- link: notification.link,
70
- newWindow: notification.newWindow,
5
+ constructor() {
6
+ this.parsedNotifications = [];
7
+ this.uid = this.el.id ? this.el.id : generateId();
8
+ this.focusOnDismiss = null;
9
+ this.timers = [];
10
+ this.notifications = "[]";
11
+ this.isTabbing = false;
12
+ this.announcement = "";
13
+ }
14
+ updateSnacks(newValue) {
15
+ const prevNotificationsLength = this.parsedNotifications.length;
16
+ this.parsedNotifications = [...JSON.parse(newValue)];
17
+ if (prevNotificationsLength < this.parsedNotifications.length) {
18
+ const latestNotification = this.parsedNotifications[0];
19
+ const newTimer = window.setTimeout(() => this.snackExpired(), 20000);
20
+ this.timers = [newTimer, ...this.timers];
21
+ // don't announce link if user is tabbing because link is focused after announcement
22
+ this.announce(`${latestNotification.message} ${this.isTabbing ? "" : latestNotification.link}`);
23
+ if (this.isTabbing && latestNotification.link) {
24
+ this.focusOnDismiss = document.activeElement ? document.activeElement : null;
25
+ this.stopTimer(latestNotification);
26
+ // allow snack to render before focusing
27
+ window.requestAnimationFrame(() => {
28
+ const link = this.el.shadowRoot.querySelector(`#action-${latestNotification.id}`);
29
+ link.focus();
71
30
  });
72
- }
73
- snackLinkClicked(notification) {
74
- //App listens for wmSnackbarActionTriggered event, deletes emitted notification, and takes over focus.
75
- this.stopTimer(notification);
76
- this.wmSnackbarActionTriggered.emit({
77
- id: notification.id,
78
- message: notification.message,
79
- link: notification.link,
80
- newWindow: notification.newWindow,
31
+ }
32
+ }
33
+ }
34
+ toggleTabbingOn() {
35
+ this.isTabbing = true;
36
+ }
37
+ toggleTabbingOff() {
38
+ this.isTabbing = false;
39
+ }
40
+ checkForTabbing(ev) {
41
+ if (ev.key === "Tab") {
42
+ this.toggleTabbingOn();
43
+ }
44
+ }
45
+ // Workaround for screenreader's triggering click event on "enter"
46
+ // This is why we manually handle this.isTabbing instead of listening to wmUserIsTabbing
47
+ handleMouse() {
48
+ this.toggleTabbingOff();
49
+ }
50
+ snackDismissed(notification) {
51
+ this.endSnack(notification);
52
+ // Focus should only be returned if it was moved in the first place, i.e., there was a link and the user was tabbing. Otherwise, for a mouse user, the user's focus would jump back to the triggering element.
53
+ if (notification.link && this.isTabbing && this.focusOnDismiss) {
54
+ this.focusOnDismiss.focus();
55
+ this.focusOnDismiss = null;
56
+ }
57
+ }
58
+ //Remove snack from notification list once timer runs out
59
+ snackExpired() {
60
+ const notification = this.parsedNotifications[this.parsedNotifications.length - 1];
61
+ this.endSnack(notification);
62
+ }
63
+ endSnack(notification) {
64
+ //App listens for wmSnackbarSnackFinished event and deletes the emitted notification.
65
+ this.stopTimer(notification);
66
+ this.wmSnackbarSnackFinished.emit({
67
+ id: notification.id,
68
+ message: notification.message,
69
+ link: notification.link,
70
+ newWindow: notification.newWindow,
71
+ });
72
+ }
73
+ snackLinkClicked(notification) {
74
+ //App listens for wmSnackbarActionTriggered event, deletes emitted notification, and takes over focus.
75
+ this.stopTimer(notification);
76
+ this.wmSnackbarActionTriggered.emit({
77
+ id: notification.id,
78
+ message: notification.message,
79
+ link: notification.link,
80
+ newWindow: notification.newWindow,
81
+ });
82
+ }
83
+ //Delete the timer corresponding to the dismissed notification
84
+ stopTimer(notification) {
85
+ this.parsedNotifications.forEach((notif, index) => {
86
+ if (notif.id === notification.id) {
87
+ clearTimeout(this.timers[index]);
88
+ this.timers = this.timers.filter((timer, ind) => {
89
+ if (ind !== index) {
90
+ return timer;
91
+ }
81
92
  });
82
- }
83
- //Delete the timer corresponding to the dismissed notification
84
- stopTimer(notification) {
85
- this.parsedNotifications.forEach((notif, index) => {
86
- if (notif.id === notification.id) {
87
- clearTimeout(this.timers[index]);
88
- this.timers = this.timers.filter((timer, ind) => {
89
- if (ind !== index) {
90
- return timer;
91
- }
92
- });
93
+ }
94
+ });
95
+ }
96
+ announce(message) {
97
+ if (this.liveRegionEl.textContent === message) {
98
+ message += "\u00A0";
99
+ }
100
+ this.announcement = message;
101
+ }
102
+ renderSnackbars() {
103
+ return this.parsedNotifications.map((notification) => (h("div", { class: "wm-snack-wrapper" }, h("div", { id: `snack-${this.uid}`, class: "wm-snackbar active neutral" }, h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) }), h("div", { class: "wm-snackbarmsg" }, h("div", { class: "msgtext" }, h("span", null, notification.message), notification.link && (h("a", { id: `action-${notification.id}`, class: `link ${notification.newWindow ? "new-window" : ""}`, "aria-label": `Click to ${notification.link}...${notification.newWindow ? " " + globalMessages.newWindow : ""}`, tabindex: 0, onClick: () => {
104
+ this.snackLinkClicked(notification);
105
+ }, onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, h("span", { "aria-hidden": "true" }, notification.link)))), h("button", { id: `close-button-${notification.id}`, "aria-label": "Close this notification", class: "closesnack", tabindex: notification.link ? 0 : -1, onClick: () => this.snackDismissed(notification), onMouseEnter: (ev) => showTooltip("bottom", ev.target, globalMessages.close), onMouseLeave: () => hideTooltip(), onFocus: (ev) => this.isTabbing && showTooltip("bottom", ev.target, globalMessages.close), onBlur: () => hideTooltip() })), h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) })))));
106
+ }
107
+ render() {
108
+ return (h("div", { class: {
109
+ "wm-snackbars": true,
110
+ empty: this.parsedNotifications.length === 0,
111
+ "user-is-tabbing": this.isTabbing,
112
+ } }, h("div", { class: "sr-only", "aria-live": "polite", "aria-atomic": "false", id: `wm-live-region-${this.uid}`, ref: (el) => (this.liveRegionEl = el) }, this.announcement), this.renderSnackbars()));
113
+ }
114
+ static get is() { return "wm-snackbar"; }
115
+ static get encapsulation() { return "shadow"; }
116
+ static get originalStyleUrls() {
117
+ return {
118
+ "$": ["wm-snackbar.scss"]
119
+ };
120
+ }
121
+ static get styleUrls() {
122
+ return {
123
+ "$": ["wm-snackbar.css"]
124
+ };
125
+ }
126
+ static get properties() {
127
+ return {
128
+ "notifications": {
129
+ "type": "string",
130
+ "mutable": true,
131
+ "complexType": {
132
+ "original": "string",
133
+ "resolved": "string",
134
+ "references": {}
135
+ },
136
+ "required": false,
137
+ "optional": false,
138
+ "docs": {
139
+ "tags": [],
140
+ "text": ""
141
+ },
142
+ "attribute": "notifications",
143
+ "reflect": true,
144
+ "defaultValue": "\"[]\""
145
+ }
146
+ };
147
+ }
148
+ static get states() {
149
+ return {
150
+ "isTabbing": {},
151
+ "announcement": {}
152
+ };
153
+ }
154
+ static get events() {
155
+ return [{
156
+ "method": "wmSnackbarSnackFinished",
157
+ "name": "wmSnackbarSnackFinished",
158
+ "bubbles": true,
159
+ "cancelable": true,
160
+ "composed": true,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": ""
164
+ },
165
+ "complexType": {
166
+ "original": "Object",
167
+ "resolved": "Object",
168
+ "references": {
169
+ "Object": {
170
+ "location": "global"
93
171
  }
94
- });
95
- }
96
- announce(message) {
97
- if (this.liveRegionEl.textContent === message) {
98
- message += "\u00A0";
172
+ }
99
173
  }
100
- this.announcement = message;
101
- }
102
- renderSnackbars() {
103
- return this.parsedNotifications.map((notification) => (h("div", { class: "wm-snack-wrapper" }, h("div", { id: `snack-${this.uid}`, class: "wm-snackbar active neutral" }, h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) }), h("div", { class: "wm-snackbarmsg" }, h("div", { class: "msgtext" }, h("span", null, notification.message), notification.link && (h("a", { id: `action-${notification.id}`, class: `link ${notification.newWindow ? "new-window" : ""}`, "aria-label": `Click to ${notification.link}...${notification.newWindow ? " " + globalMessages.newWindow : ""}`, tabindex: 0, onClick: () => {
104
- this.snackLinkClicked(notification);
105
- }, onKeyDown: (ev) => ev.key === "Enter" && this.snackLinkClicked(notification) }, h("span", { "aria-hidden": "true" }, notification.link)))), h("button", { id: `close-button-${notification.id}`, "aria-label": "Close this notification", class: "closesnack", tabindex: notification.link ? 0 : -1, onClick: () => this.snackDismissed(notification), onMouseEnter: (ev) => showTooltip("bottom", ev.target, globalMessages.close), onMouseLeave: () => hideTooltip(), onFocus: (ev) => this.isTabbing && showTooltip("bottom", ev.target, globalMessages.close), onBlur: () => hideTooltip() })), h("div", { class: "sr-only", tabindex: notification.link ? 0 : -1, onFocus: () => notification.link && this.snackDismissed(notification) })))));
106
- }
107
- render() {
108
- return (h("div", { class: {
109
- "wm-snackbars": true,
110
- empty: this.parsedNotifications.length === 0,
111
- "user-is-tabbing": this.isTabbing,
112
- } }, h("div", { class: "sr-only", "aria-live": "polite", "aria-atomic": "false", id: `wm-live-region-${this.uid}`, ref: (el) => (this.liveRegionEl = el) }, this.announcement), this.renderSnackbars()));
113
- }
114
- static get is() { return "wm-snackbar"; }
115
- static get encapsulation() { return "shadow"; }
116
- static get originalStyleUrls() {
117
- return {
118
- "$": ["wm-snackbar.scss"]
119
- };
120
- }
121
- static get styleUrls() {
122
- return {
123
- "$": ["wm-snackbar.css"]
124
- };
125
- }
126
- static get properties() {
127
- return {
128
- "notifications": {
129
- "type": "string",
130
- "mutable": true,
131
- "complexType": {
132
- "original": "string",
133
- "resolved": "string",
134
- "references": {}
135
- },
136
- "required": false,
137
- "optional": false,
138
- "docs": {
139
- "tags": [],
140
- "text": ""
141
- },
142
- "attribute": "notifications",
143
- "reflect": true,
144
- "defaultValue": "\"[]\""
174
+ }, {
175
+ "method": "wmSnackbarActionTriggered",
176
+ "name": "wmSnackbarActionTriggered",
177
+ "bubbles": true,
178
+ "cancelable": true,
179
+ "composed": true,
180
+ "docs": {
181
+ "tags": [],
182
+ "text": ""
183
+ },
184
+ "complexType": {
185
+ "original": "Object",
186
+ "resolved": "Object",
187
+ "references": {
188
+ "Object": {
189
+ "location": "global"
145
190
  }
146
- };
147
- }
148
- static get states() {
149
- return {
150
- "isTabbing": {},
151
- "announcement": {}
152
- };
153
- }
154
- static get events() {
155
- return [{
156
- "method": "wmSnackbarSnackFinished",
157
- "name": "wmSnackbarSnackFinished",
158
- "bubbles": true,
159
- "cancelable": true,
160
- "composed": true,
161
- "docs": {
162
- "tags": [],
163
- "text": ""
164
- },
165
- "complexType": {
166
- "original": "Object",
167
- "resolved": "Object",
168
- "references": {
169
- "Object": {
170
- "location": "global",
171
- "id": "global::Object"
172
- }
173
- }
174
- }
175
- }, {
176
- "method": "wmSnackbarActionTriggered",
177
- "name": "wmSnackbarActionTriggered",
178
- "bubbles": true,
179
- "cancelable": true,
180
- "composed": true,
181
- "docs": {
182
- "tags": [],
183
- "text": ""
184
- },
185
- "complexType": {
186
- "original": "Object",
187
- "resolved": "Object",
188
- "references": {
189
- "Object": {
190
- "location": "global",
191
- "id": "global::Object"
192
- }
193
- }
194
- }
195
- }];
196
- }
197
- static get elementRef() { return "el"; }
198
- static get watchers() {
199
- return [{
200
- "propName": "notifications",
201
- "methodName": "updateSnacks"
202
- }];
203
- }
204
- static get listeners() {
205
- return [{
206
- "name": "keydown",
207
- "method": "checkForTabbing",
208
- "target": "document",
209
- "capture": false,
210
- "passive": false
211
- }, {
212
- "name": "mouseover",
213
- "method": "handleMouse",
214
- "target": "document",
215
- "capture": false,
216
- "passive": true
217
- }];
218
- }
191
+ }
192
+ }
193
+ }];
194
+ }
195
+ static get elementRef() { return "el"; }
196
+ static get watchers() {
197
+ return [{
198
+ "propName": "notifications",
199
+ "methodName": "updateSnacks"
200
+ }];
201
+ }
202
+ static get listeners() {
203
+ return [{
204
+ "name": "keydown",
205
+ "method": "checkForTabbing",
206
+ "target": "document",
207
+ "capture": false,
208
+ "passive": false
209
+ }, {
210
+ "name": "mouseover",
211
+ "method": "handleMouse",
212
+ "target": "document",
213
+ "capture": false,
214
+ "passive": true
215
+ }];
216
+ }
219
217
  }