@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,312 +1,312 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  describe("wm-pagination", () => {
3
- let page, el;
4
- beforeEach(async () => {
5
- page = await newE2EPage();
6
- await page.setContent("<wm-pagination total-items='43' items-per-page='10' current-page='1'></wm-pagination>");
7
- el = await page.find("wm-pagination");
8
- await page.evaluate(async () => {
9
- await document.addEventListener("wmPaginationPageClicked", function (ev) {
10
- let pagin = document.querySelector("wm-pagination");
11
- pagin.currentPage = +ev.target.value;
12
- });
13
- });
3
+ let page, el;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent("<wm-pagination total-items='43' items-per-page='10' current-page='1'></wm-pagination>");
7
+ el = await page.find("wm-pagination");
8
+ await page.evaluate(async () => {
9
+ await document.addEventListener("wmPaginationPageClicked", function (ev) {
10
+ let pagin = document.querySelector("wm-pagination");
11
+ pagin.currentPage = +ev.target.value;
12
+ });
14
13
  });
15
- // HANDLES ONE PAGE (FALLBACK IF DEV'S CONDITIONAL RENDERING FAILS)
16
- it("does not render pagination", async () => {
17
- el.setAttribute("current-page", "1");
18
- el.setAttribute("total-items", "5");
19
- el.setAttribute("items-per-page", "10");
20
- await page.waitForChanges();
21
- const current = await page.find("wm-pagination >>> nav");
22
- expect(current).toBe(null);
14
+ });
15
+ // HANDLES ONE PAGE (FALLBACK IF DEV'S CONDITIONAL RENDERING FAILS)
16
+ it("does not render pagination", async () => {
17
+ el.setAttribute("current-page", "1");
18
+ el.setAttribute("total-items", "5");
19
+ el.setAttribute("items-per-page", "10");
20
+ await page.waitForChanges();
21
+ const current = await page.find("wm-pagination >>> nav");
22
+ expect(current).toBe(null);
23
+ });
24
+ //HANDLES SHORT PAGINATION (FIVE PAGES OR LESS )
25
+ it("indicates the current page correctly", async () => {
26
+ el.setAttribute("current-page", "5");
27
+ el.setAttribute("total-items", "47");
28
+ el.setAttribute("items-per-page", "10");
29
+ await page.waitForChanges();
30
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
31
+ let val = await current.getProperty("value");
32
+ expect(val).toEqual("5");
33
+ });
34
+ it("displays the correct number of buttons", async () => {
35
+ el.setAttribute("current-page", "2");
36
+ el.setAttribute("total-items", "47");
37
+ el.setAttribute("items-per-page", "10");
38
+ await page.waitForChanges();
39
+ //There should be prev, five page numbers and next
40
+ let buttons = await page.findAll("wm-pagination >>> button");
41
+ expect(buttons.length).toBe(7);
42
+ el.setAttribute("current-page", "2");
43
+ el.setAttribute("total-items", "11");
44
+ el.setAttribute("items-per-page", "10");
45
+ await page.waitForChanges();
46
+ //There should now be prev, two page numbers, and next
47
+ buttons = await page.findAll("wm-pagination >>> button");
48
+ expect(buttons.length).toBe(4);
49
+ });
50
+ it("disables previous and next", async () => {
51
+ el.setAttribute("current-page", "5");
52
+ el.setAttribute("total-items", "47");
53
+ el.setAttribute("items-per-page", "10");
54
+ await page.waitForChanges();
55
+ let buttons = await page.findAll("wm-pagination >>> button");
56
+ let prev = await buttons[0];
57
+ let next = await buttons[6];
58
+ expect(prev).not.toHaveAttribute("disabled");
59
+ expect(next).toHaveAttribute("disabled");
60
+ el.setAttribute("current-page", "1");
61
+ await page.waitForChanges();
62
+ buttons = await page.findAll("wm-pagination >>> button");
63
+ prev = await buttons[0];
64
+ next = await buttons[6];
65
+ expect(next).not.toHaveAttribute("disabled");
66
+ expect(prev).toHaveAttribute("disabled");
67
+ });
68
+ //Add tests for keyboard navigation to simulate events that update the current page
69
+ // HANDLES LONG PAGINATION (SIX OR MORE PAGES)
70
+ it("indicates the current page correctly", async () => {
71
+ el.setAttribute("current-page", "6");
72
+ el.setAttribute("total-items", "147");
73
+ el.setAttribute("items-per-page", "10");
74
+ await page.waitForChanges();
75
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
76
+ let val = await current.getProperty("value");
77
+ expect(val).toEqual("6");
78
+ });
79
+ it("displays five page number buttons regardless of the current page", async () => {
80
+ el.setAttribute("current-page", "3");
81
+ el.setAttribute("total-items", "147");
82
+ el.setAttribute("items-per-page", "10");
83
+ await page.waitForChanges();
84
+ let buttons = await page.findAll("wm-pagination >>> button");
85
+ //five page number buttons, plus the two prev/next buttons that always render
86
+ expect(buttons.length).toBe(7);
87
+ el.setAttribute("current-page", "15");
88
+ el.setAttribute("total-items", "147");
89
+ el.setAttribute("items-per-page", "10");
90
+ await page.waitForChanges();
91
+ buttons = await page.findAll("wm-pagination >>> button");
92
+ //five page number buttons, plus the two prev/next buttons that always render
93
+ expect(buttons.length).toBe(7);
94
+ el.setAttribute("current-page", "7");
95
+ el.setAttribute("total-items", "147");
96
+ el.setAttribute("items-per-page", "10");
97
+ await page.waitForChanges();
98
+ buttons = await page.findAll("wm-pagination >>> button");
99
+ //five page number buttons, plus the two prev/next buttons that always render
100
+ expect(buttons.length).toBe(7);
101
+ });
102
+ it("displays only the right hand ellipsis when current page is within the first four pages", async () => {
103
+ el.setAttribute("current-page", "3");
104
+ el.setAttribute("total-items", "147");
105
+ el.setAttribute("items-per-page", "10");
106
+ await page.waitForChanges();
107
+ const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
108
+ //Check that page number, not left hand ellipsis, is displayed
109
+ expect(displayedElements.childNodes[2].innerHTML).toBe("2");
110
+ //Check that ellipsis is displayed in the right spot
111
+ expect(displayedElements.childNodes[5].innerHTML).toBe("...");
112
+ });
113
+ it("displays only the left hand ellipsis only when current page is within the last four pages", async () => {
114
+ el.setAttribute("current-page", "13");
115
+ el.setAttribute("total-items", "147");
116
+ el.setAttribute("items-per-page", "10");
117
+ await page.waitForChanges();
118
+ const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
119
+ //Check that page number, not right hand ellipsis, is displayed
120
+ expect(displayedElements.childNodes[5].innerHTML).toBe("14");
121
+ //Check that ellipsis is displayed in the right spot
122
+ expect(displayedElements.childNodes[2].innerHTML).toBe("...");
123
+ });
124
+ it("displays both sets of ellipsis when the total page count is greater than 6 and the current page is not within the first four or the last four pages", async () => {
125
+ el.setAttribute("current-page", "8");
126
+ el.setAttribute("total-items", "147");
127
+ el.setAttribute("items-per-page", "10");
128
+ await page.waitForChanges();
129
+ const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
130
+ //left ellipsis
131
+ expect(displayedElements.childNodes[2].innerHTML).toBe("...");
132
+ //right ellipsis
133
+ expect(displayedElements.childNodes[6].innerHTML).toBe("...");
134
+ });
135
+ it("fires an event when a button is triggered", async () => {
136
+ el.setAttribute("current-page", "3");
137
+ el.setAttribute("total-items", "147");
138
+ el.setAttribute("items-per-page", "10");
139
+ await page.waitForChanges();
140
+ await page.keyboard.press("Tab"); // Previous btn
141
+ await page.waitForChanges();
142
+ await page.keyboard.press("Enter");
143
+ await page.waitForChanges();
144
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
145
+ expect(current.id).toBe("wm-2");
146
+ });
147
+ // A11Y
148
+ // UX requirements, cf. https://watermarkinsights.atlassian.net/wiki/spaces/WDS/pages/51938484/Pagination
149
+ it("allows user to tab through the clickable pagination elements", async () => {
150
+ el.setAttribute("current-page", "5");
151
+ el.setAttribute("total-items", "97");
152
+ el.setAttribute("items-per-page", "10");
153
+ await page.waitForChanges();
154
+ // User should be able to tab through the clickable pagination elements. Navigating below to page 5
155
+ await page.keyboard.press("Tab");
156
+ await page.waitForChanges();
157
+ await page.keyboard.press("Tab");
158
+ await page.waitForChanges();
159
+ await page.keyboard.press("Tab");
160
+ await page.waitForChanges();
161
+ await page.keyboard.press("Tab");
162
+ await page.waitForChanges();
163
+ let activeElId = await page.evaluate(async () => {
164
+ let el = await document.activeElement.shadowRoot.activeElement;
165
+ return el.id;
23
166
  });
24
- //HANDLES SHORT PAGINATION (FIVE PAGES OR LESS )
25
- it("indicates the current page correctly", async () => {
26
- el.setAttribute("current-page", "5");
27
- el.setAttribute("total-items", "47");
28
- el.setAttribute("items-per-page", "10");
29
- await page.waitForChanges();
30
- let current = await page.find("wm-pagination >>> [aria-current='page']");
31
- let val = await current.getProperty("value");
32
- expect(val).toEqual("5");
167
+ expect(activeElId).toBe("wm-5");
168
+ //Navigating below to next button
169
+ await page.keyboard.press("Tab");
170
+ await page.waitForChanges();
171
+ await page.keyboard.press("Tab");
172
+ await page.waitForChanges();
173
+ await page.keyboard.press("Tab");
174
+ await page.waitForChanges();
175
+ activeElId = await page.evaluate(async () => {
176
+ let el = await document.activeElement.shadowRoot.activeElement;
177
+ return el.id;
33
178
  });
34
- it("displays the correct number of buttons", async () => {
35
- el.setAttribute("current-page", "2");
36
- el.setAttribute("total-items", "47");
37
- el.setAttribute("items-per-page", "10");
38
- await page.waitForChanges();
39
- //There should be prev, five page numbers and next
40
- let buttons = await page.findAll("wm-pagination >>> button");
41
- expect(buttons.length).toBe(7);
42
- el.setAttribute("current-page", "2");
43
- el.setAttribute("total-items", "11");
44
- el.setAttribute("items-per-page", "10");
45
- await page.waitForChanges();
46
- //There should now be prev, two page numbers, and next
47
- buttons = await page.findAll("wm-pagination >>> button");
48
- expect(buttons.length).toBe(4);
179
+ expect(activeElId).toBe("next");
180
+ });
181
+ it("updates the current page when enter is pressed on a page button and keeps focus on the selected page", async () => {
182
+ el.setAttribute("current-page", "5");
183
+ el.setAttribute("total-items", "97");
184
+ el.setAttribute("items-per-page", "10");
185
+ await page.waitForChanges();
186
+ //Navigate to page 6 and click on it
187
+ await page.keyboard.press("Tab");
188
+ await page.waitForChanges();
189
+ await page.keyboard.press("Tab");
190
+ await page.waitForChanges();
191
+ await page.keyboard.press("Tab");
192
+ await page.waitForChanges();
193
+ await page.keyboard.press("Tab");
194
+ await page.waitForChanges();
195
+ await page.keyboard.press("Tab");
196
+ await page.waitForChanges();
197
+ await page.keyboard.press("Enter");
198
+ await page.waitForChanges();
199
+ //Current page should update to page 6
200
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
201
+ let val = await current.getProperty("value");
202
+ expect(val).toEqual("6");
203
+ //Focus should remain on 6 even though button arrangement changes
204
+ let activeElId = await page.evaluate(async () => {
205
+ let el = await document.activeElement.shadowRoot.activeElement;
206
+ return el.id;
49
207
  });
50
- it("disables previous and next", async () => {
51
- el.setAttribute("current-page", "5");
52
- el.setAttribute("total-items", "47");
53
- el.setAttribute("items-per-page", "10");
54
- await page.waitForChanges();
55
- let buttons = await page.findAll("wm-pagination >>> button");
56
- let prev = await buttons[0];
57
- let next = await buttons[6];
58
- expect(prev).not.toHaveAttribute("disabled");
59
- expect(next).toHaveAttribute("disabled");
60
- el.setAttribute("current-page", "1");
61
- await page.waitForChanges();
62
- buttons = await page.findAll("wm-pagination >>> button");
63
- prev = await buttons[0];
64
- next = await buttons[6];
65
- expect(next).not.toHaveAttribute("disabled");
66
- expect(prev).toHaveAttribute("disabled");
208
+ expect(activeElId).toBe("wm-6");
209
+ });
210
+ it("decrements the current page when enter is pressed on the previous button, keeps focus on the previous button until it becomes disabled, and moves focus first page once it is disabled", async () => {
211
+ el.setAttribute("current-page", "3");
212
+ el.setAttribute("total-items", "97");
213
+ el.setAttribute("items-per-page", "10");
214
+ await page.waitForChanges();
215
+ //Navigate to previous button
216
+ await page.keyboard.press("Tab");
217
+ await page.waitForChanges();
218
+ await page.keyboard.press("Enter");
219
+ await page.waitForChanges();
220
+ //Current page should decrease by 1
221
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
222
+ let val = await current.getProperty("value");
223
+ expect(val).toEqual("2");
224
+ //Focus should remain on previous button
225
+ let activeElId = await page.evaluate(async () => {
226
+ let el = await document.activeElement.shadowRoot.activeElement;
227
+ return el.id;
67
228
  });
68
- //Add tests for keyboard navigation to simulate events that update the current page
69
- // HANDLES LONG PAGINATION (SIX OR MORE PAGES)
70
- it("indicates the current page correctly", async () => {
71
- el.setAttribute("current-page", "6");
72
- el.setAttribute("total-items", "147");
73
- el.setAttribute("items-per-page", "10");
74
- await page.waitForChanges();
75
- let current = await page.find("wm-pagination >>> [aria-current='page']");
76
- let val = await current.getProperty("value");
77
- expect(val).toEqual("6");
229
+ expect(activeElId).toBe("previous");
230
+ //Press previous again, reaching first page and disabling previous button
231
+ await page.keyboard.press("Enter");
232
+ await page.waitForChanges();
233
+ current = await page.find("wm-pagination >>> [aria-current='page']");
234
+ val = await current.getProperty("value");
235
+ expect(val).toEqual("1");
236
+ //Focus is shifted to first page button rather than flying out to body
237
+ activeElId = await page.evaluate(async () => {
238
+ let el = await document.activeElement.shadowRoot.activeElement;
239
+ return el.id;
78
240
  });
79
- it("displays five page number buttons regardless of the current page", async () => {
80
- el.setAttribute("current-page", "3");
81
- el.setAttribute("total-items", "147");
82
- el.setAttribute("items-per-page", "10");
83
- await page.waitForChanges();
84
- let buttons = await page.findAll("wm-pagination >>> button");
85
- //five page number buttons, plus the two prev/next buttons that always render
86
- expect(buttons.length).toBe(7);
87
- el.setAttribute("current-page", "15");
88
- el.setAttribute("total-items", "147");
89
- el.setAttribute("items-per-page", "10");
90
- await page.waitForChanges();
91
- buttons = await page.findAll("wm-pagination >>> button");
92
- //five page number buttons, plus the two prev/next buttons that always render
93
- expect(buttons.length).toBe(7);
94
- el.setAttribute("current-page", "7");
95
- el.setAttribute("total-items", "147");
96
- el.setAttribute("items-per-page", "10");
97
- await page.waitForChanges();
98
- buttons = await page.findAll("wm-pagination >>> button");
99
- //five page number buttons, plus the two prev/next buttons that always render
100
- expect(buttons.length).toBe(7);
241
+ expect(activeElId).toBe("wm-1");
242
+ });
243
+ it("increments the current page when enter is pressed on the next button, keeps focus on the next button until it becomes disabled, and moves focus back to last page once it is disabled", async () => {
244
+ el.setAttribute("current-page", "8");
245
+ el.setAttribute("total-items", "97");
246
+ el.setAttribute("items-per-page", "10");
247
+ await page.waitForChanges();
248
+ //Navigate to the next button and press enter
249
+ await page.keyboard.press("Tab");
250
+ await page.waitForChanges();
251
+ await page.keyboard.press("Tab");
252
+ await page.waitForChanges();
253
+ await page.keyboard.press("Tab");
254
+ await page.waitForChanges();
255
+ await page.keyboard.press("Tab");
256
+ await page.waitForChanges();
257
+ await page.keyboard.press("Tab");
258
+ await page.waitForChanges();
259
+ await page.keyboard.press("Tab");
260
+ await page.waitForChanges();
261
+ await page.keyboard.press("Tab");
262
+ await page.waitForChanges();
263
+ await page.keyboard.press("Enter");
264
+ await page.waitForChanges();
265
+ //Current page should increase by 1
266
+ let current = await page.find("wm-pagination >>> [aria-current='page']");
267
+ let val = await current.getProperty("value");
268
+ expect(val).toEqual("9");
269
+ //Focus should remain on the next button
270
+ let activeElId = await page.evaluate(async () => {
271
+ let el = await document.activeElement.shadowRoot.activeElement;
272
+ return el.id;
101
273
  });
102
- it("displays only the right hand ellipsis when current page is within the first four pages", async () => {
103
- el.setAttribute("current-page", "3");
104
- el.setAttribute("total-items", "147");
105
- el.setAttribute("items-per-page", "10");
106
- await page.waitForChanges();
107
- const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
108
- //Check that page number, not left hand ellipsis, is displayed
109
- expect(displayedElements.childNodes[2].innerHTML).toBe("2");
110
- //Check that ellipsis is displayed in the right spot
111
- expect(displayedElements.childNodes[5].innerHTML).toBe("...");
112
- });
113
- it("displays only the left hand ellipsis only when current page is within the last four pages", async () => {
114
- el.setAttribute("current-page", "13");
115
- el.setAttribute("total-items", "147");
116
- el.setAttribute("items-per-page", "10");
117
- await page.waitForChanges();
118
- const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
119
- //Check that page number, not right hand ellipsis, is displayed
120
- expect(displayedElements.childNodes[5].innerHTML).toBe("14");
121
- //Check that ellipsis is displayed in the right spot
122
- expect(displayedElements.childNodes[2].innerHTML).toBe("...");
123
- });
124
- it("displays both sets of ellipsis when the total page count is greater than 6 and the current page is not within the first four or the last four pages", async () => {
125
- el.setAttribute("current-page", "8");
126
- el.setAttribute("total-items", "147");
127
- el.setAttribute("items-per-page", "10");
128
- await page.waitForChanges();
129
- const displayedElements = await page.find("wm-pagination >>> div.pagebtncontainer");
130
- //left ellipsis
131
- expect(displayedElements.childNodes[2].innerHTML).toBe("...");
132
- //right ellipsis
133
- expect(displayedElements.childNodes[6].innerHTML).toBe("...");
134
- });
135
- it("fires an event when a button is triggered", async () => {
136
- el.setAttribute("current-page", "3");
137
- el.setAttribute("total-items", "147");
138
- el.setAttribute("items-per-page", "10");
139
- await page.waitForChanges();
140
- await page.keyboard.press("Tab"); // Previous btn
141
- await page.waitForChanges();
142
- await page.keyboard.press("Enter");
143
- await page.waitForChanges();
144
- let current = await page.find("wm-pagination >>> [aria-current='page']");
145
- expect(current.id).toBe("wm-2");
146
- });
147
- // A11Y
148
- // UX requirements, cf. https://watermarkinsights.atlassian.net/wiki/spaces/WDS/pages/51938484/Pagination
149
- it("allows user to tab through the clickable pagination elements", async () => {
150
- el.setAttribute("current-page", "5");
151
- el.setAttribute("total-items", "97");
152
- el.setAttribute("items-per-page", "10");
153
- await page.waitForChanges();
154
- // User should be able to tab through the clickable pagination elements. Navigating below to page 5
155
- await page.keyboard.press("Tab");
156
- await page.waitForChanges();
157
- await page.keyboard.press("Tab");
158
- await page.waitForChanges();
159
- await page.keyboard.press("Tab");
160
- await page.waitForChanges();
161
- await page.keyboard.press("Tab");
162
- await page.waitForChanges();
163
- let activeElId = await page.evaluate(async () => {
164
- let el = await document.activeElement.shadowRoot.activeElement;
165
- return el.id;
166
- });
167
- expect(activeElId).toBe("wm-5");
168
- //Navigating below to next button
169
- await page.keyboard.press("Tab");
170
- await page.waitForChanges();
171
- await page.keyboard.press("Tab");
172
- await page.waitForChanges();
173
- await page.keyboard.press("Tab");
174
- await page.waitForChanges();
175
- activeElId = await page.evaluate(async () => {
176
- let el = await document.activeElement.shadowRoot.activeElement;
177
- return el.id;
178
- });
179
- expect(activeElId).toBe("next");
180
- });
181
- it("updates the current page when enter is pressed on a page button and keeps focus on the selected page", async () => {
182
- el.setAttribute("current-page", "5");
183
- el.setAttribute("total-items", "97");
184
- el.setAttribute("items-per-page", "10");
185
- await page.waitForChanges();
186
- //Navigate to page 6 and click on it
187
- await page.keyboard.press("Tab");
188
- await page.waitForChanges();
189
- await page.keyboard.press("Tab");
190
- await page.waitForChanges();
191
- await page.keyboard.press("Tab");
192
- await page.waitForChanges();
193
- await page.keyboard.press("Tab");
194
- await page.waitForChanges();
195
- await page.keyboard.press("Tab");
196
- await page.waitForChanges();
197
- await page.keyboard.press("Enter");
198
- await page.waitForChanges();
199
- //Current page should update to page 6
200
- let current = await page.find("wm-pagination >>> [aria-current='page']");
201
- let val = await current.getProperty("value");
202
- expect(val).toEqual("6");
203
- //Focus should remain on 6 even though button arrangement changes
204
- let activeElId = await page.evaluate(async () => {
205
- let el = await document.activeElement.shadowRoot.activeElement;
206
- return el.id;
207
- });
208
- expect(activeElId).toBe("wm-6");
209
- });
210
- it("decrements the current page when enter is pressed on the previous button, keeps focus on the previous button until it becomes disabled, and moves focus first page once it is disabled", async () => {
211
- el.setAttribute("current-page", "3");
212
- el.setAttribute("total-items", "97");
213
- el.setAttribute("items-per-page", "10");
214
- await page.waitForChanges();
215
- //Navigate to previous button
216
- await page.keyboard.press("Tab");
217
- await page.waitForChanges();
218
- await page.keyboard.press("Enter");
219
- await page.waitForChanges();
220
- //Current page should decrease by 1
221
- let current = await page.find("wm-pagination >>> [aria-current='page']");
222
- let val = await current.getProperty("value");
223
- expect(val).toEqual("2");
224
- //Focus should remain on previous button
225
- let activeElId = await page.evaluate(async () => {
226
- let el = await document.activeElement.shadowRoot.activeElement;
227
- return el.id;
228
- });
229
- expect(activeElId).toBe("previous");
230
- //Press previous again, reaching first page and disabling previous button
231
- await page.keyboard.press("Enter");
232
- await page.waitForChanges();
233
- current = await page.find("wm-pagination >>> [aria-current='page']");
234
- val = await current.getProperty("value");
235
- expect(val).toEqual("1");
236
- //Focus is shifted to first page button rather than flying out to body
237
- activeElId = await page.evaluate(async () => {
238
- let el = await document.activeElement.shadowRoot.activeElement;
239
- return el.id;
240
- });
241
- expect(activeElId).toBe("wm-1");
242
- });
243
- it("increments the current page when enter is pressed on the next button, keeps focus on the next button until it becomes disabled, and moves focus back to last page once it is disabled", async () => {
244
- el.setAttribute("current-page", "8");
245
- el.setAttribute("total-items", "97");
246
- el.setAttribute("items-per-page", "10");
247
- await page.waitForChanges();
248
- //Navigate to the next button and press enter
249
- await page.keyboard.press("Tab");
250
- await page.waitForChanges();
251
- await page.keyboard.press("Tab");
252
- await page.waitForChanges();
253
- await page.keyboard.press("Tab");
254
- await page.waitForChanges();
255
- await page.keyboard.press("Tab");
256
- await page.waitForChanges();
257
- await page.keyboard.press("Tab");
258
- await page.waitForChanges();
259
- await page.keyboard.press("Tab");
260
- await page.waitForChanges();
261
- await page.keyboard.press("Tab");
262
- await page.waitForChanges();
263
- await page.keyboard.press("Enter");
264
- await page.waitForChanges();
265
- //Current page should increase by 1
266
- let current = await page.find("wm-pagination >>> [aria-current='page']");
267
- let val = await current.getProperty("value");
268
- expect(val).toEqual("9");
269
- //Focus should remain on the next button
270
- let activeElId = await page.evaluate(async () => {
271
- let el = await document.activeElement.shadowRoot.activeElement;
272
- return el.id;
273
- });
274
- expect(activeElId).toBe("next");
275
- //Press next again
276
- await page.keyboard.press("Enter");
277
- await page.waitForChanges();
278
- //Last page is reached, and next button becomes disabled
279
- current = await page.find("wm-pagination >>> [aria-current='page']");
280
- val = await current.getProperty("value");
281
- expect(val).toEqual("10");
282
- //Rather than the focus shifting to the body once it is disabled, focus is brought to last page button
283
- activeElId = await page.evaluate(async () => {
284
- let el = await document.activeElement.shadowRoot.activeElement;
285
- return el.id;
286
- });
287
- expect(activeElId).toBe("wm-10");
288
- });
289
- it("sets labels dynamically so that screenreaders properly announce the navigable pagination elements", async () => {
290
- el.setAttribute("current-page", "3");
291
- el.setAttribute("total-items", "47");
292
- el.setAttribute("items-per-page", "10");
293
- await page.waitForChanges();
294
- let buttons = await page.findAll("wm-pagination >>> button");
295
- let notCurrentPage = buttons[2];
296
- expect(notCurrentPage).toEqualAttribute("aria-label", "Go to page 2");
297
- let currentPage = buttons[3];
298
- expect(currentPage).toEqualAttribute("aria-label", "");
299
- //Change current page number
300
- await page.keyboard.press("Tab");
301
- await page.waitForChanges();
302
- await page.keyboard.press("Enter");
303
- await page.waitForChanges();
304
- buttons = await page.findAll("wm-pagination >>> button");
305
- //Button 3 no longer as label indicating it's the current page
306
- notCurrentPage = buttons[3];
307
- expect(notCurrentPage).toEqualAttribute("aria-label", "Go to page 3");
308
- //Button 2 now has current page label
309
- currentPage = buttons[2];
310
- expect(currentPage).toEqualAttribute("aria-label", "");
274
+ expect(activeElId).toBe("next");
275
+ //Press next again
276
+ await page.keyboard.press("Enter");
277
+ await page.waitForChanges();
278
+ //Last page is reached, and next button becomes disabled
279
+ current = await page.find("wm-pagination >>> [aria-current='page']");
280
+ val = await current.getProperty("value");
281
+ expect(val).toEqual("10");
282
+ //Rather than the focus shifting to the body once it is disabled, focus is brought to last page button
283
+ activeElId = await page.evaluate(async () => {
284
+ let el = await document.activeElement.shadowRoot.activeElement;
285
+ return el.id;
311
286
  });
287
+ expect(activeElId).toBe("wm-10");
288
+ });
289
+ it("sets labels dynamically so that screenreaders properly announce the navigable pagination elements", async () => {
290
+ el.setAttribute("current-page", "3");
291
+ el.setAttribute("total-items", "47");
292
+ el.setAttribute("items-per-page", "10");
293
+ await page.waitForChanges();
294
+ let buttons = await page.findAll("wm-pagination >>> button");
295
+ let notCurrentPage = buttons[2];
296
+ expect(notCurrentPage).toEqualAttribute("aria-label", "Go to page 2");
297
+ let currentPage = buttons[3];
298
+ expect(currentPage).toEqualAttribute("aria-label", "");
299
+ //Change current page number
300
+ await page.keyboard.press("Tab");
301
+ await page.waitForChanges();
302
+ await page.keyboard.press("Enter");
303
+ await page.waitForChanges();
304
+ buttons = await page.findAll("wm-pagination >>> button");
305
+ //Button 3 no longer as label indicating it's the current page
306
+ notCurrentPage = buttons[3];
307
+ expect(notCurrentPage).toEqualAttribute("aria-label", "Go to page 3");
308
+ //Button 2 now has current page label
309
+ currentPage = buttons[2];
310
+ expect(currentPage).toEqualAttribute("aria-label", "");
311
+ });
312
312
  });