@watermarkinsights/ripple 3.27.0 → 3.27.1

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 (277) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-b2e0cb4e.js → chartFunctions-42cfb4d3.js} +596 -596
  3. package/dist/cjs/{functions-9807717e.js → functions-85c3c557.js} +498 -498
  4. package/dist/cjs/{global-42a24725.js → global-9982752f.js} +72 -72
  5. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +49 -49
  6. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +29 -29
  7. package/dist/cjs/{intl-526c75ec.js → intl-1c36fe38.js} +131 -131
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  10. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  11. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  12. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  13. package/dist/cjs/ripple.cjs.js +1 -1
  14. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  15. package/dist/cjs/wm-button.cjs.entry.js +189 -189
  16. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  17. package/dist/cjs/wm-chart.cjs.entry.js +183 -183
  18. package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
  19. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  20. package/dist/cjs/wm-file.cjs.entry.js +181 -181
  21. package/dist/cjs/wm-input.cjs.entry.js +136 -136
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +32 -32
  24. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +186 -186
  26. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  27. package/dist/cjs/wm-network-uploader.cjs.entry.js +465 -465
  28. package/dist/cjs/wm-option_2.cjs.entry.js +768 -768
  29. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  30. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  31. package/dist/cjs/wm-search.cjs.entry.js +184 -184
  32. package/dist/cjs/wm-snackbar.cjs.entry.js +134 -134
  33. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  34. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  35. package/dist/cjs/wm-tag-input.cjs.entry.js +948 -941
  36. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  37. package/dist/cjs/wm-toggletip.cjs.entry.js +120 -120
  38. package/dist/cjs/wm-uploader.cjs.entry.js +441 -441
  39. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  40. package/dist/collection/components/charts/chartFunctions.js +562 -562
  41. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +267 -267
  42. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +125 -125
  43. package/dist/collection/components/charts/wm-chart/wm-chart.js +450 -450
  44. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +207 -207
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +143 -143
  46. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +121 -121
  47. package/dist/collection/components/wm-action-menu/wm-action-menu.js +472 -472
  48. package/dist/collection/components/wm-button/wm-button.js +486 -486
  49. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +983 -983
  50. package/dist/collection/components/wm-datepicker/wm-datepicker.js +491 -491
  51. package/dist/collection/components/wm-file/wm-file.js +313 -313
  52. package/dist/collection/components/wm-file-list/wm-file-list.js +152 -152
  53. package/dist/collection/components/wm-input/wm-input.js +509 -509
  54. package/dist/collection/components/wm-menuitem/wm-menuitem.js +454 -454
  55. package/dist/collection/components/wm-modal/wm-modal-footer.js +138 -138
  56. package/dist/collection/components/wm-modal/wm-modal-header.js +82 -82
  57. package/dist/collection/components/wm-modal/wm-modal.js +462 -462
  58. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +119 -119
  59. package/dist/collection/components/wm-navigation/wm-navigation-item.js +130 -130
  60. package/dist/collection/components/wm-navigation/wm-navigation.js +217 -217
  61. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +106 -106
  62. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +123 -123
  63. package/dist/collection/components/wm-navigator/wm-navigator.js +467 -467
  64. package/dist/collection/components/wm-option/wm-option.js +435 -435
  65. package/dist/collection/components/wm-pagination/wm-pagination.js +362 -362
  66. package/dist/collection/components/wm-search/wm-search.js +439 -439
  67. package/dist/collection/components/wm-select/wm-select.js +1054 -1054
  68. package/dist/collection/components/wm-snackbar/wm-snackbar.js +267 -267
  69. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +211 -211
  70. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +327 -327
  71. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +108 -108
  72. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +122 -122
  73. package/dist/collection/components/wm-tag-input/wm-tag-input.css +21 -17
  74. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1302 -1295
  75. package/dist/collection/components/wm-timepicker/wm-timepicker.js +605 -605
  76. package/dist/collection/components/wm-toggletip/wm-toggletip.js +243 -243
  77. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +772 -772
  78. package/dist/collection/components/wm-uploader/wm-uploader.js +964 -964
  79. package/dist/collection/components/wm-wrapper/wm-wrapper.js +28 -28
  80. package/dist/collection/dev/scripts.js +20 -20
  81. package/dist/collection/global/__mocks__/functions.js +6 -6
  82. package/dist/collection/global/functions.js +541 -541
  83. package/dist/collection/global/global.js +79 -79
  84. package/dist/collection/global/interfaces.js +49 -49
  85. package/dist/collection/global/intl.js +132 -132
  86. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  87. package/dist/collection/global/services/http-service.js +50 -50
  88. package/dist/collection/lang/lang.js +5 -5
  89. package/dist/collection/lang/missing.js +43 -43
  90. package/dist/collection/lang/piglatin.js +93 -93
  91. package/dist/esm/{chartFunctions-dd9eb9ac.js → chartFunctions-0b53b301.js} +596 -596
  92. package/dist/esm/{functions-f32b1ca4.js → functions-cbb19d50.js} +498 -498
  93. package/dist/esm/{global-7ee0d78d.js → global-2c7bbfe6.js} +72 -72
  94. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
  95. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
  96. package/dist/esm/{intl-d101e1a9.js → intl-ffbca53d.js} +131 -131
  97. package/dist/esm/loader.js +1 -1
  98. package/dist/esm/polyfills/core-js.js +0 -0
  99. package/dist/esm/polyfills/dom.js +0 -0
  100. package/dist/esm/polyfills/es5-html-element.js +0 -0
  101. package/dist/esm/polyfills/index.js +0 -0
  102. package/dist/esm/polyfills/system.js +0 -0
  103. package/dist/esm/priv-chart-popover.entry.js +91 -91
  104. package/dist/esm/priv-datepicker.entry.js +657 -657
  105. package/dist/esm/priv-navigator-button.entry.js +19 -19
  106. package/dist/esm/priv-navigator-item.entry.js +23 -23
  107. package/dist/esm/ripple.js +1 -1
  108. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  109. package/dist/esm/wm-button.entry.js +189 -189
  110. package/dist/esm/wm-chart-slice.entry.js +18 -18
  111. package/dist/esm/wm-chart.entry.js +183 -183
  112. package/dist/esm/wm-datepicker.entry.js +263 -263
  113. package/dist/esm/wm-file-list.entry.js +35 -35
  114. package/dist/esm/wm-file.entry.js +181 -181
  115. package/dist/esm/wm-input.entry.js +136 -136
  116. package/dist/esm/wm-modal-footer.entry.js +33 -33
  117. package/dist/esm/wm-modal-header.entry.js +32 -32
  118. package/dist/esm/wm-modal.entry.js +152 -152
  119. package/dist/esm/wm-navigation_3.entry.js +186 -186
  120. package/dist/esm/wm-navigator.entry.js +264 -264
  121. package/dist/esm/wm-network-uploader.entry.js +465 -465
  122. package/dist/esm/wm-option_2.entry.js +768 -768
  123. package/dist/esm/wm-pagination.entry.js +179 -179
  124. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  125. package/dist/esm/wm-search.entry.js +184 -184
  126. package/dist/esm/wm-snackbar.entry.js +134 -134
  127. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  128. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  129. package/dist/esm/wm-tag-input.entry.js +948 -941
  130. package/dist/esm/wm-timepicker.entry.js +385 -385
  131. package/dist/esm/wm-toggletip.entry.js +120 -120
  132. package/dist/esm/wm-uploader.entry.js +441 -441
  133. package/dist/esm/wm-wrapper.entry.js +12 -12
  134. package/dist/esm-es5/{chartFunctions-dd9eb9ac.js → chartFunctions-0b53b301.js} +1 -1
  135. package/dist/esm-es5/{global-7ee0d78d.js → global-2c7bbfe6.js} +1 -1
  136. package/dist/esm-es5/{intl-d101e1a9.js → intl-ffbca53d.js} +1 -1
  137. package/dist/esm-es5/loader.js +1 -1
  138. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  139. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  140. package/dist/esm-es5/ripple.js +1 -1
  141. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  142. package/dist/esm-es5/wm-button.entry.js +1 -1
  143. package/dist/esm-es5/wm-chart.entry.js +1 -1
  144. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  145. package/dist/esm-es5/wm-file.entry.js +1 -1
  146. package/dist/esm-es5/wm-input.entry.js +1 -1
  147. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  148. package/dist/esm-es5/wm-modal.entry.js +1 -1
  149. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  150. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  151. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  152. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  153. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  154. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  155. package/dist/esm-es5/wm-search.entry.js +1 -1
  156. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  157. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  158. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  159. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  160. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  161. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  162. package/dist/ripple/{p-725c14b0.system.entry.js → p-00022d17.system.entry.js} +1 -1
  163. package/dist/ripple/{p-b97de06f.system.entry.js → p-0450cdbe.system.entry.js} +1 -1
  164. package/dist/ripple/{p-bfe1062d.entry.js → p-05a17658.entry.js} +1 -1
  165. package/dist/ripple/p-0b6a7b77.system.entry.js +1 -0
  166. package/dist/ripple/{p-b6bf2866.entry.js → p-0e789be7.entry.js} +1 -1
  167. package/dist/ripple/{p-b617b64f.system.entry.js → p-15779c22.system.entry.js} +1 -1
  168. package/dist/ripple/{p-04faca6b.entry.js → p-17487f1b.entry.js} +1 -1
  169. package/dist/ripple/{p-122da0d1.system.entry.js → p-197c83de.system.entry.js} +1 -1
  170. package/dist/ripple/{p-11d98b00.system.entry.js → p-1bad4efe.system.entry.js} +1 -1
  171. package/dist/ripple/{p-252ba295.system.entry.js → p-2ff923ee.system.entry.js} +1 -1
  172. package/dist/ripple/{p-a6afe65a.entry.js → p-31712996.entry.js} +1 -1
  173. package/dist/ripple/{p-f69276d5.system.entry.js → p-31c18f5e.system.entry.js} +1 -1
  174. package/dist/ripple/{p-df28f438.system.js → p-32944b70.system.js} +1 -1
  175. package/dist/ripple/{p-73d277ba.system.entry.js → p-36effc40.system.entry.js} +1 -1
  176. package/dist/ripple/{p-0be94e77.entry.js → p-3807bcae.entry.js} +1 -1
  177. package/dist/ripple/{p-88d17f6b.system.entry.js → p-3aa48fad.system.entry.js} +1 -1
  178. package/dist/ripple/{p-82a97531.system.entry.js → p-419f133c.system.entry.js} +1 -1
  179. package/dist/ripple/{p-13ec8ac0.entry.js → p-438a1e8e.entry.js} +1 -1
  180. package/dist/ripple/{p-19689aac.js → p-4698b365.js} +1 -1
  181. package/dist/ripple/{p-f8d45250.system.entry.js → p-54086f7b.system.entry.js} +1 -1
  182. package/dist/ripple/{p-47f53321.entry.js → p-5497694c.entry.js} +1 -1
  183. package/dist/ripple/{p-fb370a69.entry.js → p-58fbf116.entry.js} +1 -1
  184. package/dist/ripple/{p-14dfc4e7.entry.js → p-65a741c1.entry.js} +1 -1
  185. package/dist/ripple/{p-ac63b3aa.entry.js → p-7e74274b.entry.js} +1 -1
  186. package/dist/ripple/{p-81752607.system.js → p-81ad3fe5.system.js} +1 -1
  187. package/dist/ripple/{p-f3e42327.system.entry.js → p-89db9c27.system.entry.js} +1 -1
  188. package/dist/ripple/{p-4753fbfc.system.entry.js → p-947f01e2.system.entry.js} +1 -1
  189. package/dist/ripple/{p-3aee75e7.entry.js → p-978429f9.entry.js} +1 -1
  190. package/dist/ripple/{p-2c8fd902.system.entry.js → p-97d5b4bd.system.entry.js} +1 -1
  191. package/dist/ripple/{p-67c0ad56.system.entry.js → p-9d6a574b.system.entry.js} +1 -1
  192. package/dist/ripple/{p-c545fe1c.entry.js → p-a3ba2bdd.entry.js} +1 -1
  193. package/dist/ripple/{p-c7567fd3.entry.js → p-a42f5231.entry.js} +1 -1
  194. package/dist/ripple/p-a51aec3f.entry.js +1 -0
  195. package/dist/ripple/{p-b831988d.entry.js → p-a5b86b47.entry.js} +1 -1
  196. package/dist/ripple/{p-4cadf985.entry.js → p-a90b8a08.entry.js} +1 -1
  197. package/dist/ripple/{p-d9b66dca.system.entry.js → p-aabe172c.system.entry.js} +1 -1
  198. package/dist/ripple/{p-69121ad1.entry.js → p-ab2a0aee.entry.js} +1 -1
  199. package/dist/ripple/{p-5fb0aa58.js → p-aed93a25.js} +1 -1
  200. package/dist/ripple/{p-f39ee84b.entry.js → p-b2d75e7d.entry.js} +1 -1
  201. package/dist/ripple/{p-19b897ce.js → p-b410c675.js} +1 -1
  202. package/dist/ripple/{p-4809e419.system.entry.js → p-b6f558f7.system.entry.js} +1 -1
  203. package/dist/ripple/p-bb048fe7.entry.js +1 -0
  204. package/dist/ripple/{p-2805fed6.system.entry.js → p-bced37cf.system.entry.js} +1 -1
  205. package/dist/ripple/{p-c9a1834d.system.entry.js → p-bd0c1e7c.system.entry.js} +1 -1
  206. package/dist/ripple/{p-89f1991f.entry.js → p-c0e183f4.entry.js} +1 -1
  207. package/dist/ripple/{p-7eca18bd.system.entry.js → p-c27eda00.system.entry.js} +1 -1
  208. package/dist/ripple/{p-894bc6c4.system.entry.js → p-cd3e0b8b.system.entry.js} +1 -1
  209. package/dist/ripple/{p-f6b2e4ac.system.js → p-d1af63b5.system.js} +1 -1
  210. package/dist/ripple/{p-30572b71.system.js → p-d41ba263.system.js} +1 -1
  211. package/dist/ripple/{p-db7e6e89.entry.js → p-d8993992.entry.js} +1 -1
  212. package/dist/ripple/{p-f13b239c.system.entry.js → p-da525ed1.system.entry.js} +1 -1
  213. package/dist/ripple/{p-33af1eee.entry.js → p-e6f46289.entry.js} +1 -1
  214. package/dist/ripple/{p-e928f350.entry.js → p-fc967b2c.entry.js} +1 -1
  215. package/dist/ripple/ripple.esm.js +1 -1
  216. package/dist/ripple/ripple.js +1 -1
  217. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  218. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  219. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  220. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
  221. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
  222. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
  223. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  224. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
  225. package/dist/types/components/wm-button/wm-button.d.ts +44 -44
  226. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  227. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
  228. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  229. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
  230. package/dist/types/components/wm-input/wm-input.d.ts +57 -57
  231. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  232. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  233. package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
  234. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
  235. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +16 -16
  236. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  237. package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -26
  238. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  239. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  240. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  241. package/dist/types/components/wm-option/wm-option.d.ts +34 -34
  242. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  243. package/dist/types/components/wm-search/wm-search.d.ts +77 -77
  244. package/dist/types/components/wm-select/wm-select.d.ts +101 -101
  245. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +30 -30
  246. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
  247. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
  248. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  249. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
  250. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +137 -136
  251. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
  252. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +25 -25
  253. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  254. package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -99
  255. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  256. package/dist/types/components.d.ts +27 -27
  257. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  258. package/dist/types/global/functions.d.ts +40 -40
  259. package/dist/types/global/global.d.ts +1 -1
  260. package/dist/types/global/interfaces.d.ts +74 -74
  261. package/dist/types/global/intl.d.ts +29 -29
  262. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  263. package/dist/types/global/services/http-service.d.ts +4 -4
  264. package/dist/types/lang/lang.d.ts +5 -5
  265. package/package.json +46 -46
  266. package/dist/ripple/p-37de8e2f.entry.js +0 -1
  267. package/dist/ripple/p-b378e064.system.entry.js +0 -1
  268. package/dist/ripple/p-d2037549.entry.js +0 -1
  269. /package/dist/esm-es5/{functions-f32b1ca4.js → functions-cbb19d50.js} +0 -0
  270. /package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +0 -0
  271. /package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
  272. /package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
  273. /package/dist/ripple/{p-cfa80f5b.js → p-91480a89.js} +0 -0
  274. /package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +0 -0
  275. /package/dist/ripple/{p-9eb5a71e.system.js → p-b267e710.system.js} +0 -0
  276. /package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
  277. /package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
@@ -1,267 +1,267 @@
1
- import { h } from "@stencil/core";
2
- import { generateId, hideTooltip, showTooltip } from "../../global/functions";
3
- import { globalMessages } from "../../global/intl";
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 userFinishedSnack 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
- // deprecated
73
- this.userFinishedSnack.emit({
74
- id: notification.id,
75
- message: notification.message,
76
- link: notification.link,
77
- });
78
- }
79
- snackLinkClicked(notification) {
80
- //App listens for userTriggeredAction event, deletes emitted notification, and takes over focus.
81
- this.stopTimer(notification);
82
- this.wmSnackbarActionTriggered.emit({
83
- id: notification.id,
84
- message: notification.message,
85
- link: notification.link,
86
- newWindow: notification.newWindow,
87
- });
88
- // deprecated
89
- this.userTriggeredAction.emit({
90
- id: notification.id,
91
- message: notification.message,
92
- link: notification.link,
93
- });
94
- }
95
- //Delete the timer corresponding to the dismissed notification
96
- stopTimer(notification) {
97
- this.parsedNotifications.forEach((notif, index) => {
98
- if (notif.id === notification.id) {
99
- clearTimeout(this.timers[index]);
100
- this.timers = this.timers.filter((timer, ind) => {
101
- if (ind !== index) {
102
- return timer;
103
- }
104
- });
105
- }
106
- });
107
- }
108
- announce(message) {
109
- if (this.liveRegionEl.textContent === message) {
110
- message += "\u00A0";
111
- }
112
- this.announcement = message;
113
- }
114
- renderSnackbars() {
115
- 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: () => {
116
- this.snackLinkClicked(notification);
117
- }, 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) })))));
118
- }
119
- render() {
120
- return (h("div", { class: {
121
- "wm-snackbars": true,
122
- empty: this.parsedNotifications.length === 0,
123
- "user-is-tabbing": this.isTabbing,
124
- } }, 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()));
125
- }
126
- static get is() { return "wm-snackbar"; }
127
- static get encapsulation() { return "shadow"; }
128
- static get originalStyleUrls() {
129
- return {
130
- "$": ["wm-snackbar.scss"]
131
- };
132
- }
133
- static get styleUrls() {
134
- return {
135
- "$": ["wm-snackbar.css"]
136
- };
137
- }
138
- static get properties() {
139
- return {
140
- "notifications": {
141
- "type": "string",
142
- "mutable": true,
143
- "complexType": {
144
- "original": "string",
145
- "resolved": "string",
146
- "references": {}
147
- },
148
- "required": false,
149
- "optional": false,
150
- "docs": {
151
- "tags": [],
152
- "text": ""
153
- },
154
- "attribute": "notifications",
155
- "reflect": true,
156
- "defaultValue": "\"[]\""
157
- }
158
- };
159
- }
160
- static get states() {
161
- return {
162
- "isTabbing": {},
163
- "announcement": {}
164
- };
165
- }
166
- static get events() {
167
- return [{
168
- "method": "wmSnackbarSnackFinished",
169
- "name": "wmSnackbarSnackFinished",
170
- "bubbles": true,
171
- "cancelable": true,
172
- "composed": true,
173
- "docs": {
174
- "tags": [],
175
- "text": ""
176
- },
177
- "complexType": {
178
- "original": "Object",
179
- "resolved": "Object",
180
- "references": {
181
- "Object": {
182
- "location": "global"
183
- }
184
- }
185
- }
186
- }, {
187
- "method": "userFinishedSnack",
188
- "name": "userFinishedSnack",
189
- "bubbles": true,
190
- "cancelable": true,
191
- "composed": true,
192
- "docs": {
193
- "tags": [],
194
- "text": ""
195
- },
196
- "complexType": {
197
- "original": "Object",
198
- "resolved": "Object",
199
- "references": {
200
- "Object": {
201
- "location": "global"
202
- }
203
- }
204
- }
205
- }, {
206
- "method": "wmSnackbarActionTriggered",
207
- "name": "wmSnackbarActionTriggered",
208
- "bubbles": true,
209
- "cancelable": true,
210
- "composed": true,
211
- "docs": {
212
- "tags": [],
213
- "text": ""
214
- },
215
- "complexType": {
216
- "original": "Object",
217
- "resolved": "Object",
218
- "references": {
219
- "Object": {
220
- "location": "global"
221
- }
222
- }
223
- }
224
- }, {
225
- "method": "userTriggeredAction",
226
- "name": "userTriggeredAction",
227
- "bubbles": true,
228
- "cancelable": true,
229
- "composed": true,
230
- "docs": {
231
- "tags": [],
232
- "text": ""
233
- },
234
- "complexType": {
235
- "original": "Object",
236
- "resolved": "Object",
237
- "references": {
238
- "Object": {
239
- "location": "global"
240
- }
241
- }
242
- }
243
- }];
244
- }
245
- static get elementRef() { return "el"; }
246
- static get watchers() {
247
- return [{
248
- "propName": "notifications",
249
- "methodName": "updateSnacks"
250
- }];
251
- }
252
- static get listeners() {
253
- return [{
254
- "name": "keydown",
255
- "method": "checkForTabbing",
256
- "target": "document",
257
- "capture": false,
258
- "passive": false
259
- }, {
260
- "name": "mouseover",
261
- "method": "handleMouse",
262
- "target": "document",
263
- "capture": false,
264
- "passive": true
265
- }];
266
- }
267
- }
1
+ import { h } from "@stencil/core";
2
+ import { generateId, hideTooltip, showTooltip } from "../../global/functions";
3
+ import { globalMessages } from "../../global/intl";
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 userFinishedSnack 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
+ // deprecated
73
+ this.userFinishedSnack.emit({
74
+ id: notification.id,
75
+ message: notification.message,
76
+ link: notification.link,
77
+ });
78
+ }
79
+ snackLinkClicked(notification) {
80
+ //App listens for userTriggeredAction event, deletes emitted notification, and takes over focus.
81
+ this.stopTimer(notification);
82
+ this.wmSnackbarActionTriggered.emit({
83
+ id: notification.id,
84
+ message: notification.message,
85
+ link: notification.link,
86
+ newWindow: notification.newWindow,
87
+ });
88
+ // deprecated
89
+ this.userTriggeredAction.emit({
90
+ id: notification.id,
91
+ message: notification.message,
92
+ link: notification.link,
93
+ });
94
+ }
95
+ //Delete the timer corresponding to the dismissed notification
96
+ stopTimer(notification) {
97
+ this.parsedNotifications.forEach((notif, index) => {
98
+ if (notif.id === notification.id) {
99
+ clearTimeout(this.timers[index]);
100
+ this.timers = this.timers.filter((timer, ind) => {
101
+ if (ind !== index) {
102
+ return timer;
103
+ }
104
+ });
105
+ }
106
+ });
107
+ }
108
+ announce(message) {
109
+ if (this.liveRegionEl.textContent === message) {
110
+ message += "\u00A0";
111
+ }
112
+ this.announcement = message;
113
+ }
114
+ renderSnackbars() {
115
+ 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: () => {
116
+ this.snackLinkClicked(notification);
117
+ }, 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) })))));
118
+ }
119
+ render() {
120
+ return (h("div", { class: {
121
+ "wm-snackbars": true,
122
+ empty: this.parsedNotifications.length === 0,
123
+ "user-is-tabbing": this.isTabbing,
124
+ } }, 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()));
125
+ }
126
+ static get is() { return "wm-snackbar"; }
127
+ static get encapsulation() { return "shadow"; }
128
+ static get originalStyleUrls() {
129
+ return {
130
+ "$": ["wm-snackbar.scss"]
131
+ };
132
+ }
133
+ static get styleUrls() {
134
+ return {
135
+ "$": ["wm-snackbar.css"]
136
+ };
137
+ }
138
+ static get properties() {
139
+ return {
140
+ "notifications": {
141
+ "type": "string",
142
+ "mutable": true,
143
+ "complexType": {
144
+ "original": "string",
145
+ "resolved": "string",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": ""
153
+ },
154
+ "attribute": "notifications",
155
+ "reflect": true,
156
+ "defaultValue": "\"[]\""
157
+ }
158
+ };
159
+ }
160
+ static get states() {
161
+ return {
162
+ "isTabbing": {},
163
+ "announcement": {}
164
+ };
165
+ }
166
+ static get events() {
167
+ return [{
168
+ "method": "wmSnackbarSnackFinished",
169
+ "name": "wmSnackbarSnackFinished",
170
+ "bubbles": true,
171
+ "cancelable": true,
172
+ "composed": true,
173
+ "docs": {
174
+ "tags": [],
175
+ "text": ""
176
+ },
177
+ "complexType": {
178
+ "original": "Object",
179
+ "resolved": "Object",
180
+ "references": {
181
+ "Object": {
182
+ "location": "global"
183
+ }
184
+ }
185
+ }
186
+ }, {
187
+ "method": "userFinishedSnack",
188
+ "name": "userFinishedSnack",
189
+ "bubbles": true,
190
+ "cancelable": true,
191
+ "composed": true,
192
+ "docs": {
193
+ "tags": [],
194
+ "text": ""
195
+ },
196
+ "complexType": {
197
+ "original": "Object",
198
+ "resolved": "Object",
199
+ "references": {
200
+ "Object": {
201
+ "location": "global"
202
+ }
203
+ }
204
+ }
205
+ }, {
206
+ "method": "wmSnackbarActionTriggered",
207
+ "name": "wmSnackbarActionTriggered",
208
+ "bubbles": true,
209
+ "cancelable": true,
210
+ "composed": true,
211
+ "docs": {
212
+ "tags": [],
213
+ "text": ""
214
+ },
215
+ "complexType": {
216
+ "original": "Object",
217
+ "resolved": "Object",
218
+ "references": {
219
+ "Object": {
220
+ "location": "global"
221
+ }
222
+ }
223
+ }
224
+ }, {
225
+ "method": "userTriggeredAction",
226
+ "name": "userTriggeredAction",
227
+ "bubbles": true,
228
+ "cancelable": true,
229
+ "composed": true,
230
+ "docs": {
231
+ "tags": [],
232
+ "text": ""
233
+ },
234
+ "complexType": {
235
+ "original": "Object",
236
+ "resolved": "Object",
237
+ "references": {
238
+ "Object": {
239
+ "location": "global"
240
+ }
241
+ }
242
+ }
243
+ }];
244
+ }
245
+ static get elementRef() { return "el"; }
246
+ static get watchers() {
247
+ return [{
248
+ "propName": "notifications",
249
+ "methodName": "updateSnacks"
250
+ }];
251
+ }
252
+ static get listeners() {
253
+ return [{
254
+ "name": "keydown",
255
+ "method": "checkForTabbing",
256
+ "target": "document",
257
+ "capture": false,
258
+ "passive": false
259
+ }, {
260
+ "name": "mouseover",
261
+ "method": "handleMouse",
262
+ "target": "document",
263
+ "capture": false,
264
+ "passive": true
265
+ }];
266
+ }
267
+ }