@watermarkinsights/ripple 3.14.1 → 3.15.0-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-0ea0888f.js → chartFunctions-08494c24.js} +419 -419
  3. package/dist/cjs/{functions-8d3ceccd.js → functions-e1b590e0.js} +528 -446
  4. package/dist/cjs/{global-12a09ffa.js → global-0a41410c.js} +62 -62
  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/loader.cjs.js +2 -2
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +86 -86
  9. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  10. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  11. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  12. package/dist/cjs/ripple.cjs.js +2 -2
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +329 -335
  14. package/dist/cjs/wm-button.cjs.entry.js +248 -241
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +13 -13
  16. package/dist/cjs/wm-chart.cjs.entry.js +110 -110
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +265 -265
  18. package/dist/cjs/wm-input.cjs.entry.js +134 -134
  19. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  20. package/dist/cjs/wm-modal-header.cjs.entry.js +36 -36
  21. package/dist/cjs/wm-modal.cjs.entry.js +163 -163
  22. package/dist/cjs/wm-navigation_3.cjs.entry.js +227 -227
  23. package/dist/cjs/wm-navigator.cjs.entry.js +268 -268
  24. package/dist/cjs/wm-network-uploader.cjs.entry.js +455 -454
  25. package/dist/cjs/wm-option_2.cjs.entry.js +720 -720
  26. package/dist/cjs/wm-pagination.cjs.entry.js +167 -167
  27. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +129 -129
  28. package/dist/cjs/wm-search.cjs.entry.js +232 -232
  29. package/dist/cjs/wm-snackbar.cjs.entry.js +170 -170
  30. package/dist/cjs/wm-tab-item_3.cjs.entry.js +296 -296
  31. package/dist/cjs/wm-tag-input.cjs.entry.js +579 -579
  32. package/dist/cjs/wm-timepicker.cjs.entry.js +383 -383
  33. package/dist/cjs/wm-toggletip.cjs.entry.js +124 -124
  34. package/dist/cjs/wm-uploader.cjs.entry.js +599 -629
  35. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  36. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +258 -258
  37. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +115 -115
  38. package/dist/collection/components/charts/wm-chart/wm-chart.js +328 -328
  39. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +195 -195
  40. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +88 -88
  41. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +111 -111
  42. package/dist/collection/components/wm-action-menu/wm-action-menu.js +442 -448
  43. package/dist/collection/components/wm-button/wm-button.js +545 -504
  44. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1024 -1024
  45. package/dist/collection/components/wm-datepicker/wm-datepicker.js +471 -471
  46. package/dist/collection/components/wm-input/wm-input.js +423 -423
  47. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  48. package/dist/collection/components/wm-modal/wm-modal-footer.js +136 -136
  49. package/dist/collection/components/wm-modal/wm-modal-header.js +87 -87
  50. package/dist/collection/components/wm-modal/wm-modal.js +461 -461
  51. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +162 -162
  52. package/dist/collection/components/wm-navigation/wm-navigation-item.js +121 -121
  53. package/dist/collection/components/wm-navigation/wm-navigation.js +218 -218
  54. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  55. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  56. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  57. package/dist/collection/components/wm-option/wm-option.js +428 -428
  58. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  59. package/dist/collection/components/wm-search/wm-search.js +480 -480
  60. package/dist/collection/components/wm-select/wm-select.js +1001 -1001
  61. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  62. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  63. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  64. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  65. package/dist/collection/components/wm-tag-input/wm-tag-input.js +810 -810
  66. package/dist/collection/components/wm-timepicker/wm-timepicker.js +583 -583
  67. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  68. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +788 -787
  69. package/dist/collection/components/wm-uploader/wm-uploader.js +1043 -1072
  70. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  71. package/dist/collection/dev/scripts.js +20 -20
  72. package/dist/collection/global/__mocks__/functions.js +6 -6
  73. package/dist/collection/global/chartFunctions.js +421 -421
  74. package/dist/collection/global/functions.js +441 -441
  75. package/dist/collection/global/global.js +69 -69
  76. package/dist/collection/global/interfaces.js +49 -49
  77. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  78. package/dist/collection/global/services/http-service.js +50 -50
  79. package/dist/collection/lang/lang.js +5 -5
  80. package/dist/collection/lang/missing.js +43 -43
  81. package/dist/collection/lang/piglatin.js +93 -93
  82. package/dist/esm/{chartFunctions-6f90586d.js → chartFunctions-a310b9d0.js} +419 -419
  83. package/dist/esm/{functions-11c0c4e2.js → functions-b4b62a23.js} +528 -446
  84. package/dist/esm/{global-5abca73e.js → global-e80a0ec8.js} +62 -62
  85. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +49 -49
  86. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +29 -29
  87. package/dist/esm/loader.js +2 -2
  88. package/dist/esm/polyfills/core-js.js +0 -0
  89. package/dist/esm/polyfills/dom.js +0 -0
  90. package/dist/esm/polyfills/es5-html-element.js +0 -0
  91. package/dist/esm/polyfills/index.js +0 -0
  92. package/dist/esm/polyfills/system.js +0 -0
  93. package/dist/esm/priv-chart-popover.entry.js +86 -86
  94. package/dist/esm/priv-datepicker.entry.js +657 -657
  95. package/dist/esm/priv-navigator-button.entry.js +18 -18
  96. package/dist/esm/priv-navigator-item.entry.js +23 -23
  97. package/dist/esm/ripple.js +2 -2
  98. package/dist/esm/wm-action-menu_2.entry.js +329 -335
  99. package/dist/esm/wm-button.entry.js +248 -241
  100. package/dist/esm/wm-chart-slice.entry.js +13 -13
  101. package/dist/esm/wm-chart.entry.js +110 -110
  102. package/dist/esm/wm-datepicker.entry.js +265 -265
  103. package/dist/esm/wm-input.entry.js +134 -134
  104. package/dist/esm/wm-modal-footer.entry.js +33 -33
  105. package/dist/esm/wm-modal-header.entry.js +36 -36
  106. package/dist/esm/wm-modal.entry.js +163 -163
  107. package/dist/esm/wm-navigation_3.entry.js +227 -227
  108. package/dist/esm/wm-navigator.entry.js +268 -268
  109. package/dist/esm/wm-network-uploader.entry.js +455 -454
  110. package/dist/esm/wm-option_2.entry.js +720 -720
  111. package/dist/esm/wm-pagination.entry.js +167 -167
  112. package/dist/esm/wm-progress-indicator_3.entry.js +129 -129
  113. package/dist/esm/wm-search.entry.js +232 -232
  114. package/dist/esm/wm-snackbar.entry.js +170 -170
  115. package/dist/esm/wm-tab-item_3.entry.js +296 -296
  116. package/dist/esm/wm-tag-input.entry.js +579 -579
  117. package/dist/esm/wm-timepicker.entry.js +383 -383
  118. package/dist/esm/wm-toggletip.entry.js +124 -124
  119. package/dist/esm/wm-uploader.entry.js +599 -629
  120. package/dist/esm/wm-wrapper.entry.js +12 -12
  121. package/dist/esm-es5/{chartFunctions-6f90586d.js → chartFunctions-a310b9d0.js} +1 -1
  122. package/dist/esm-es5/functions-b4b62a23.js +1 -0
  123. package/dist/esm-es5/global-e80a0ec8.js +1 -0
  124. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +0 -0
  125. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +0 -0
  126. package/dist/esm-es5/loader.js +1 -1
  127. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  128. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  129. package/dist/esm-es5/ripple.js +1 -1
  130. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  131. package/dist/esm-es5/wm-button.entry.js +1 -1
  132. package/dist/esm-es5/wm-chart.entry.js +1 -1
  133. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  134. package/dist/esm-es5/wm-input.entry.js +1 -1
  135. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  136. package/dist/esm-es5/wm-modal.entry.js +1 -1
  137. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  138. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  139. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  140. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  141. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  142. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  143. package/dist/esm-es5/wm-search.entry.js +1 -1
  144. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  145. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  146. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  147. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  148. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  149. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  150. package/dist/ripple/{p-07ebdcd4.system.entry.js → p-0f08a806.system.entry.js} +1 -1
  151. package/dist/ripple/{p-b793bc6f.system.entry.js → p-1ba2134b.system.entry.js} +1 -1
  152. package/dist/ripple/{p-626d5017.entry.js → p-1c75615f.entry.js} +1 -1
  153. package/dist/ripple/{p-42dbd978.entry.js → p-1cadcfc1.entry.js} +1 -1
  154. package/dist/ripple/{p-b2a9b5d6.system.entry.js → p-2531b343.system.entry.js} +1 -1
  155. package/dist/ripple/p-32da7cdf.entry.js +1 -0
  156. package/dist/ripple/p-375a850f.system.js +1 -0
  157. package/dist/ripple/p-3a71d9a3.entry.js +1 -0
  158. package/dist/ripple/{p-0e22a3a4.entry.js → p-428b8b24.entry.js} +1 -1
  159. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +0 -0
  160. package/dist/ripple/{p-80a00759.entry.js → p-477688c8.entry.js} +1 -1
  161. package/dist/ripple/{p-d927de70.system.entry.js → p-4be49461.system.entry.js} +1 -1
  162. package/dist/ripple/{p-7cb0035a.system.entry.js → p-51b60241.system.entry.js} +1 -1
  163. package/dist/ripple/p-5754e2b8.system.js +1 -0
  164. package/dist/ripple/{p-b5b7c71f.system.js → p-591fae61.system.js} +1 -1
  165. package/dist/ripple/p-5f589556.entry.js +1 -0
  166. package/dist/ripple/{p-b4837126.system.entry.js → p-617b738b.system.entry.js} +1 -1
  167. package/dist/ripple/{p-06012eb7.system.entry.js → p-61e2a39a.system.entry.js} +1 -1
  168. package/dist/ripple/{p-5018f8ae.entry.js → p-65d5f494.entry.js} +1 -1
  169. package/dist/ripple/{p-4f3f7b2b.entry.js → p-6ac734b7.entry.js} +1 -1
  170. package/dist/ripple/p-6d7a6954.js +1 -0
  171. package/dist/ripple/{p-97683ddc.entry.js → p-6ddfada6.entry.js} +1 -1
  172. package/dist/ripple/{p-57a718f0.system.entry.js → p-719864a5.system.entry.js} +1 -1
  173. package/dist/ripple/{p-caef11cc.entry.js → p-73a66a6c.entry.js} +1 -1
  174. package/dist/ripple/{p-c656fcf1.entry.js → p-75346877.entry.js} +1 -1
  175. package/dist/ripple/{p-dfa80ed1.entry.js → p-7833008a.entry.js} +1 -1
  176. package/dist/ripple/{p-08fc668c.system.entry.js → p-79542ae3.system.entry.js} +1 -1
  177. package/dist/ripple/{p-4073ac6a.entry.js → p-79b8e996.entry.js} +1 -1
  178. package/dist/ripple/{p-8b54c589.system.entry.js → p-7a07096b.system.entry.js} +1 -1
  179. package/dist/ripple/{p-c4c21c82.system.entry.js → p-93321f18.system.entry.js} +1 -1
  180. package/dist/ripple/p-96b47a13.js +1 -0
  181. package/dist/ripple/{p-c49ef079.system.entry.js → p-981788dd.system.entry.js} +1 -1
  182. package/dist/ripple/p-990db03b.system.entry.js +1 -0
  183. package/dist/ripple/p-99791f7a.system.js +1 -0
  184. package/dist/ripple/{p-e012273a.entry.js → p-9ad7db55.entry.js} +1 -1
  185. package/dist/ripple/{p-910b6dd5.system.entry.js → p-9caf189d.system.entry.js} +1 -1
  186. package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +0 -0
  187. package/dist/ripple/{p-ffc34819.system.entry.js → p-9ef524df.system.entry.js} +1 -1
  188. package/dist/ripple/{p-84d0d2ff.system.entry.js → p-9fd29197.system.entry.js} +1 -1
  189. package/dist/ripple/{p-f0d3ceb1.system.entry.js → p-a2f8608f.system.entry.js} +1 -1
  190. package/dist/ripple/{p-dc7e5609.system.entry.js → p-aa35c9dd.system.entry.js} +1 -1
  191. package/dist/ripple/{p-6ffdab0d.system.entry.js → p-ab7ce269.system.entry.js} +1 -1
  192. package/dist/ripple/{p-410687ea.entry.js → p-b5a6aebc.entry.js} +1 -1
  193. package/dist/ripple/{p-4650a83c.system.entry.js → p-b6c197c7.system.entry.js} +1 -1
  194. package/dist/ripple/{p-9c60325b.entry.js → p-c5a3766f.entry.js} +1 -1
  195. package/dist/ripple/{p-2af0b657.system.entry.js → p-c95317b4.system.entry.js} +1 -1
  196. package/dist/ripple/p-ce696630.entry.js +1 -0
  197. package/dist/ripple/{p-17438cd5.entry.js → p-d3326191.entry.js} +1 -1
  198. package/dist/ripple/{p-fe4c1194.system.entry.js → p-e47b10b1.system.entry.js} +1 -1
  199. package/dist/ripple/{p-490dafa4.js → p-eb308bc7.js} +1 -1
  200. package/dist/ripple/{p-4afa52d4.entry.js → p-f5cec3d1.entry.js} +1 -1
  201. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +0 -0
  202. package/dist/ripple/{p-8a2cabf2.entry.js → p-f7c2b508.entry.js} +1 -1
  203. package/dist/ripple/{p-cb357a84.entry.js → p-fcb81a4e.entry.js} +1 -1
  204. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +0 -0
  205. package/dist/ripple/ripple.esm.js +1 -1
  206. package/dist/ripple/ripple.js +1 -1
  207. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  208. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  209. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +36 -36
  210. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +27 -27
  211. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  212. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  213. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +47 -47
  214. package/dist/types/components/wm-button/wm-button.d.ts +49 -43
  215. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  216. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  217. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  218. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  219. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  220. package/dist/types/components/wm-modal/wm-modal-header.d.ts +11 -11
  221. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  222. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  223. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  224. package/dist/types/components/wm-navigation/wm-navigation.d.ts +28 -28
  225. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  226. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  227. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  228. package/dist/types/components/wm-option/wm-option.d.ts +35 -35
  229. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  230. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  231. package/dist/types/components/wm-select/wm-select.d.ts +94 -94
  232. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  233. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  234. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  235. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  236. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  237. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  238. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  239. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  240. package/dist/types/components/wm-uploader/wm-uploader.d.ts +121 -118
  241. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  242. package/dist/types/components.d.ts +28 -24
  243. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  244. package/dist/types/global/chartFunctions.d.ts +29 -29
  245. package/dist/types/global/functions.d.ts +42 -42
  246. package/dist/types/global/global.d.ts +1 -1
  247. package/dist/types/global/interfaces.d.ts +44 -44
  248. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  249. package/dist/types/global/services/http-service.d.ts +4 -4
  250. package/dist/types/lang/lang.d.ts +5 -5
  251. package/package.json +47 -47
  252. package/dist/esm-es5/functions-11c0c4e2.js +0 -1
  253. package/dist/esm-es5/global-5abca73e.js +0 -1
  254. package/dist/ripple/p-37b0a23c.system.js +0 -1
  255. package/dist/ripple/p-3e875e87.system.entry.js +0 -1
  256. package/dist/ripple/p-42bf2cd4.system.js +0 -1
  257. package/dist/ripple/p-70d0e993.js +0 -1
  258. package/dist/ripple/p-80b62707.entry.js +0 -1
  259. package/dist/ripple/p-d2a11410.entry.js +0 -1
  260. package/dist/ripple/p-db899686.system.js +0 -1
  261. package/dist/ripple/p-e2d5f8bd.js +0 -1
  262. package/dist/ripple/p-e4cb8aad.entry.js +0 -1
  263. package/dist/ripple/p-fa632547.entry.js +0 -1
@@ -1,368 +1,368 @@
1
- import { h, Component, Prop, Watch, Event, Element, Listen, State } from "@stencil/core";
2
- import { debounce } from "../../global/functions";
3
- export class Pagination {
4
- constructor() {
5
- this.currentPage = 1;
6
- this.totalItems = undefined;
7
- this.itemsPerPage = undefined;
8
- this.value = 1;
9
- this.isLargeViewport = window.innerWidth > 600;
10
- this.isTabbing = false;
11
- this.srAnnouncement = "";
12
- this.totalPages = 0;
13
- this.debouncedResize = debounce(() => {
14
- this.isLargeViewport = window.innerWidth > 600;
15
- }, 250);
16
- this.getMiddlePageNums = () => {
17
- let coreBtns;
18
- // if pg is 1, 2 or 3
19
- if (this.currentPage < 4) {
20
- coreBtns = [2, 3, 4];
21
- }
22
- else if (this.currentPage > this.totalPages - 3) {
23
- coreBtns = [this.totalPages - 3, this.totalPages - 2, this.totalPages - 1];
24
- }
25
- else {
26
- coreBtns = [this.currentPage - 1, this.currentPage, this.currentPage + 1];
27
- }
28
- return coreBtns;
29
- };
30
- }
31
- toggleTabbingOn() {
32
- this.isTabbing = true;
33
- }
34
- toggleTabbingOff() {
35
- this.isTabbing = false;
36
- }
37
- maintainFocusOnNumberChange(el) {
38
- window.requestAnimationFrame(() => {
39
- switch (el) {
40
- case "previous":
41
- this.currentPage === 1 && this.el.shadowRoot.querySelector(`button#wm-1`).focus(); //Only shift focus from previous button to page 1 if page 1 is reached, which disables previous button. Otherwise, maintain focus on previous button.
42
- break;
43
- case "next":
44
- this.currentPage === this.totalPages &&
45
- this.el.shadowRoot.querySelector(`button#wm-${this.totalPages}`).focus(); //Only shift focus from next button if last page is reached, disabling next button. Otherwise, maintain focus on next button.
46
- break;
47
- case "prev-arrow":
48
- this.currentPage === 1 && this.el.shadowRoot.querySelector("#next-arw").focus(); //Only shift focus if page 1 is reached, disabling previous buttons. Otherwise, maintain focus on previous buttons.
49
- break;
50
- case "next-arrow":
51
- this.currentPage === this.totalPages && this.el.shadowRoot.querySelector("#previous-arw").focus(); //Only shift focus if last page is reached, disabling next buttons. Otherwise, maintain focus on next buttons.
52
- break;
53
- case "page":
54
- this.el.shadowRoot.querySelector(`button#wm-${this.currentPage}`).focus();
55
- default:
56
- return;
57
- }
58
- });
59
- }
60
- handleResize() {
61
- this.debouncedResize();
62
- }
63
- calculateTotalPages() {
64
- this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
65
- }
66
- componentWillLoad() {
67
- if (!this.totalItems || !this.itemsPerPage || !this.currentPage) {
68
- throw new Error("Please check the required attributes");
69
- }
70
- this.calculateTotalPages();
71
- if (document.body.classList.contains("wmcl-user-is-tabbing")) {
72
- this.toggleTabbingOn();
73
- }
74
- }
75
- updatePageDisplayed(pageNum) {
76
- this.value = pageNum;
77
- this.wmPaginationPageClicked.emit();
78
- this.pageClicked.emit(); // deprecated
79
- this.srAnnouncement = `Current page, ${this.currentPage}. ${this.getCurrentPagesInView()}`;
80
- }
81
- displayShortPagination() {
82
- let pages = [];
83
- for (let i = 1; i <= this.totalPages; i++) {
84
- pages.push(this.displayPageNumber(i));
85
- }
86
- return pages;
87
- }
88
- displayLongPagination() {
89
- let view = [
90
- this.displayPageNumber(1),
91
- this.currentPage > 3 && this.displayEllipsis(),
92
- ...this.getMiddlePageNums().map((page) => this.displayPageNumber(page)),
93
- this.currentPage + 2 < this.totalPages && this.displayEllipsis(),
94
- this.displayPageNumber(this.totalPages),
95
- ];
96
- return view;
97
- }
98
- displayPageNumber(pageNum) {
99
- return (h("button", { id: `wm-${pageNum}`, class: "paginationbtn", onClick: () => {
100
- this.currentPage = pageNum;
101
- this.updatePageDisplayed(pageNum);
102
- this.maintainFocusOnNumberChange("page");
103
- }, value: pageNum, "aria-label": this.currentPage !== pageNum ? `Go to page ${pageNum}` : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
104
- }
105
- displayEllipsis() {
106
- return h("span", { class: "ellipsis" }, "...");
107
- }
108
- // displayPageView = () => {
109
- // // let end = this.itemsPerPage! * this.currentPage;
110
- // // const begin = end - this.itemsPerPage! + 1;
111
- // // if (end > this.totalItems!) {
112
- // // end = this.totalItems!;
113
- // // }
114
- // return <div class="pageview">{this.getCurrentView()}</div>;
115
- // };
116
- getCurrentPagesInView() {
117
- let end = this.itemsPerPage * this.currentPage;
118
- const begin = end - this.itemsPerPage + 1;
119
- if (end > this.totalItems) {
120
- end = this.totalItems;
121
- }
122
- return "Viewing " + (begin === end ? `${begin}` : `${begin}–${end} of ${this.totalItems}`);
123
- }
124
- renderLarge() {
125
- return (h("div", { class: "largescreen" },
126
- h("div", { class: "pageview" }, this.getCurrentPagesInView()),
127
- h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` },
128
- h("button", { id: "previous", class: "paginationbtn previousbtn", onClick: () => {
129
- this.currentPage = this.currentPage - 1;
130
- this.updatePageDisplayed(this.currentPage);
131
- this.maintainFocusOnNumberChange("previous");
132
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page", "aria-controls": "status" }, "Previous"),
133
- this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(),
134
- h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
135
- this.currentPage = this.currentPage + 1;
136
- this.updatePageDisplayed(this.currentPage);
137
- this.maintainFocusOnNumberChange("next");
138
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page", "aria-controls": "status" }, "Next"))));
139
- }
140
- renderSmall() {
141
- return (h("div", { class: "smallscreen" },
142
- h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` },
143
- h("button", { id: `wm-1-arw`, class: "paginationbtn", onClick: () => {
144
- this.currentPage = 1;
145
- this.updatePageDisplayed(1);
146
- this.maintainFocusOnNumberChange("prev-arrow");
147
- }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": `Go to page 1`, "aria-controls": "status", disabled: this.currentPage === 1 },
148
- h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" },
149
- h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6zM15.41 10.59L10.83 6l4.58-4.59L14 0 8 6l6 6z" }))),
150
- h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
151
- this.currentPage -= 1;
152
- this.updatePageDisplayed(this.currentPage);
153
- this.maintainFocusOnNumberChange("prev-arrow");
154
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page" },
155
- h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" },
156
- h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))),
157
- "Page ",
158
- this.currentPage,
159
- " of ",
160
- this.totalPages,
161
- h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
162
- this.currentPage += 1;
163
- this.updatePageDisplayed(this.currentPage);
164
- this.maintainFocusOnNumberChange("next-arrow");
165
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page" },
166
- h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" },
167
- h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))),
168
- h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
169
- this.currentPage = this.totalPages;
170
- this.updatePageDisplayed(this.totalPages);
171
- this.maintainFocusOnNumberChange("next-arrow");
172
- }, value: this.totalPages, "aria-current": this.currentPage === this.totalPages ? "page" : undefined, "aria-label": `Go to last page, page ${this.totalPages}`, "aria-controls": "status", disabled: this.currentPage === this.totalPages },
173
- h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" },
174
- h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6zM9.59 10.59L14.17 6 9.59 1.41 11 0l6 6-6 6z" }))))));
175
- }
176
- render() {
177
- return (
178
- // do not render the component if there's only one page
179
- this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` },
180
- this.isLargeViewport ? this.renderLarge() : this.renderSmall(),
181
- h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
182
- }
183
- static get is() { return "wm-pagination"; }
184
- static get encapsulation() { return "shadow"; }
185
- static get originalStyleUrls() { return {
186
- "$": ["wm-pagination.scss"]
187
- }; }
188
- static get styleUrls() { return {
189
- "$": ["wm-pagination.css"]
190
- }; }
191
- static get properties() { return {
192
- "currentPage": {
193
- "type": "number",
194
- "mutable": false,
195
- "complexType": {
196
- "original": "number",
197
- "resolved": "number",
198
- "references": {}
199
- },
200
- "required": false,
201
- "optional": false,
202
- "docs": {
203
- "tags": [],
204
- "text": ""
205
- },
206
- "attribute": "current-page",
207
- "reflect": false,
208
- "defaultValue": "1"
209
- },
210
- "totalItems": {
211
- "type": "number",
212
- "mutable": false,
213
- "complexType": {
214
- "original": "number",
215
- "resolved": "number | undefined",
216
- "references": {}
217
- },
218
- "required": false,
219
- "optional": true,
220
- "docs": {
221
- "tags": [],
222
- "text": ""
223
- },
224
- "attribute": "total-items",
225
- "reflect": false,
226
- "defaultValue": "undefined"
227
- },
228
- "itemsPerPage": {
229
- "type": "number",
230
- "mutable": false,
231
- "complexType": {
232
- "original": "number",
233
- "resolved": "number | undefined",
234
- "references": {}
235
- },
236
- "required": false,
237
- "optional": true,
238
- "docs": {
239
- "tags": [],
240
- "text": ""
241
- },
242
- "attribute": "items-per-page",
243
- "reflect": false,
244
- "defaultValue": "undefined"
245
- },
246
- "value": {
247
- "type": "number",
248
- "mutable": false,
249
- "complexType": {
250
- "original": "number",
251
- "resolved": "number",
252
- "references": {}
253
- },
254
- "required": false,
255
- "optional": false,
256
- "docs": {
257
- "tags": [],
258
- "text": ""
259
- },
260
- "attribute": "value",
261
- "reflect": false,
262
- "defaultValue": "1"
263
- },
264
- "isLargeViewport": {
265
- "type": "boolean",
266
- "mutable": false,
267
- "complexType": {
268
- "original": "boolean",
269
- "resolved": "boolean",
270
- "references": {}
271
- },
272
- "required": false,
273
- "optional": false,
274
- "docs": {
275
- "tags": [],
276
- "text": ""
277
- },
278
- "attribute": "is-large-viewport",
279
- "reflect": false,
280
- "defaultValue": "window.innerWidth > 600"
281
- }
282
- }; }
283
- static get states() { return {
284
- "isTabbing": {},
285
- "srAnnouncement": {}
286
- }; }
287
- static get events() { return [{
288
- "method": "wmPaginationPageClicked",
289
- "name": "wmPaginationPageClicked",
290
- "bubbles": true,
291
- "cancelable": true,
292
- "composed": true,
293
- "docs": {
294
- "tags": [],
295
- "text": ""
296
- },
297
- "complexType": {
298
- "original": "String",
299
- "resolved": "String",
300
- "references": {
301
- "String": {
302
- "location": "global"
303
- }
304
- }
305
- }
306
- }, {
307
- "method": "pageClicked",
308
- "name": "pageClicked",
309
- "bubbles": true,
310
- "cancelable": true,
311
- "composed": true,
312
- "docs": {
313
- "tags": [],
314
- "text": ""
315
- },
316
- "complexType": {
317
- "original": "String",
318
- "resolved": "String",
319
- "references": {
320
- "String": {
321
- "location": "global"
322
- }
323
- }
324
- }
325
- }, {
326
- "method": "focusCurrentPage",
327
- "name": "focusCurrentPage",
328
- "bubbles": true,
329
- "cancelable": true,
330
- "composed": true,
331
- "docs": {
332
- "tags": [],
333
- "text": ""
334
- },
335
- "complexType": {
336
- "original": "any",
337
- "resolved": "any",
338
- "references": {}
339
- }
340
- }]; }
341
- static get elementRef() { return "el"; }
342
- static get watchers() { return [{
343
- "propName": "totalItems",
344
- "methodName": "calculateTotalPages"
345
- }, {
346
- "propName": "itemsPerPage",
347
- "methodName": "calculateTotalPages"
348
- }]; }
349
- static get listeners() { return [{
350
- "name": "wmUserIsTabbing",
351
- "method": "toggleTabbingOn",
352
- "target": "window",
353
- "capture": false,
354
- "passive": false
355
- }, {
356
- "name": "wmUserIsNotTabbing",
357
- "method": "toggleTabbingOff",
358
- "target": "window",
359
- "capture": false,
360
- "passive": false
361
- }, {
362
- "name": "resize",
363
- "method": "handleResize",
364
- "target": "window",
365
- "capture": false,
366
- "passive": true
367
- }]; }
368
- }
1
+ import { h, Component, Prop, Watch, Event, Element, Listen, State } from "@stencil/core";
2
+ import { debounce } from "../../global/functions";
3
+ export class Pagination {
4
+ constructor() {
5
+ this.currentPage = 1;
6
+ this.totalItems = undefined;
7
+ this.itemsPerPage = undefined;
8
+ this.value = 1;
9
+ this.isLargeViewport = window.innerWidth > 600;
10
+ this.isTabbing = false;
11
+ this.srAnnouncement = "";
12
+ this.totalPages = 0;
13
+ this.debouncedResize = debounce(() => {
14
+ this.isLargeViewport = window.innerWidth > 600;
15
+ }, 250);
16
+ this.getMiddlePageNums = () => {
17
+ let coreBtns;
18
+ // if pg is 1, 2 or 3
19
+ if (this.currentPage < 4) {
20
+ coreBtns = [2, 3, 4];
21
+ }
22
+ else if (this.currentPage > this.totalPages - 3) {
23
+ coreBtns = [this.totalPages - 3, this.totalPages - 2, this.totalPages - 1];
24
+ }
25
+ else {
26
+ coreBtns = [this.currentPage - 1, this.currentPage, this.currentPage + 1];
27
+ }
28
+ return coreBtns;
29
+ };
30
+ }
31
+ toggleTabbingOn() {
32
+ this.isTabbing = true;
33
+ }
34
+ toggleTabbingOff() {
35
+ this.isTabbing = false;
36
+ }
37
+ maintainFocusOnNumberChange(el) {
38
+ window.requestAnimationFrame(() => {
39
+ switch (el) {
40
+ case "previous":
41
+ this.currentPage === 1 && this.el.shadowRoot.querySelector(`button#wm-1`).focus(); //Only shift focus from previous button to page 1 if page 1 is reached, which disables previous button. Otherwise, maintain focus on previous button.
42
+ break;
43
+ case "next":
44
+ this.currentPage === this.totalPages &&
45
+ this.el.shadowRoot.querySelector(`button#wm-${this.totalPages}`).focus(); //Only shift focus from next button if last page is reached, disabling next button. Otherwise, maintain focus on next button.
46
+ break;
47
+ case "prev-arrow":
48
+ this.currentPage === 1 && this.el.shadowRoot.querySelector("#next-arw").focus(); //Only shift focus if page 1 is reached, disabling previous buttons. Otherwise, maintain focus on previous buttons.
49
+ break;
50
+ case "next-arrow":
51
+ this.currentPage === this.totalPages && this.el.shadowRoot.querySelector("#previous-arw").focus(); //Only shift focus if last page is reached, disabling next buttons. Otherwise, maintain focus on next buttons.
52
+ break;
53
+ case "page":
54
+ this.el.shadowRoot.querySelector(`button#wm-${this.currentPage}`).focus();
55
+ default:
56
+ return;
57
+ }
58
+ });
59
+ }
60
+ handleResize() {
61
+ this.debouncedResize();
62
+ }
63
+ calculateTotalPages() {
64
+ this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
65
+ }
66
+ componentWillLoad() {
67
+ if (!this.totalItems || !this.itemsPerPage || !this.currentPage) {
68
+ throw new Error("Please check the required attributes");
69
+ }
70
+ this.calculateTotalPages();
71
+ if (document.body.classList.contains("wmcl-user-is-tabbing")) {
72
+ this.toggleTabbingOn();
73
+ }
74
+ }
75
+ updatePageDisplayed(pageNum) {
76
+ this.value = pageNum;
77
+ this.wmPaginationPageClicked.emit();
78
+ this.pageClicked.emit(); // deprecated
79
+ this.srAnnouncement = `Current page, ${this.currentPage}. ${this.getCurrentPagesInView()}`;
80
+ }
81
+ displayShortPagination() {
82
+ let pages = [];
83
+ for (let i = 1; i <= this.totalPages; i++) {
84
+ pages.push(this.displayPageNumber(i));
85
+ }
86
+ return pages;
87
+ }
88
+ displayLongPagination() {
89
+ let view = [
90
+ this.displayPageNumber(1),
91
+ this.currentPage > 3 && this.displayEllipsis(),
92
+ ...this.getMiddlePageNums().map((page) => this.displayPageNumber(page)),
93
+ this.currentPage + 2 < this.totalPages && this.displayEllipsis(),
94
+ this.displayPageNumber(this.totalPages),
95
+ ];
96
+ return view;
97
+ }
98
+ displayPageNumber(pageNum) {
99
+ return (h("button", { id: `wm-${pageNum}`, class: "paginationbtn", onClick: () => {
100
+ this.currentPage = pageNum;
101
+ this.updatePageDisplayed(pageNum);
102
+ this.maintainFocusOnNumberChange("page");
103
+ }, value: pageNum, "aria-label": this.currentPage !== pageNum ? `Go to page ${pageNum}` : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
104
+ }
105
+ displayEllipsis() {
106
+ return h("span", { class: "ellipsis" }, "...");
107
+ }
108
+ // displayPageView = () => {
109
+ // // let end = this.itemsPerPage! * this.currentPage;
110
+ // // const begin = end - this.itemsPerPage! + 1;
111
+ // // if (end > this.totalItems!) {
112
+ // // end = this.totalItems!;
113
+ // // }
114
+ // return <div class="pageview">{this.getCurrentView()}</div>;
115
+ // };
116
+ getCurrentPagesInView() {
117
+ let end = this.itemsPerPage * this.currentPage;
118
+ const begin = end - this.itemsPerPage + 1;
119
+ if (end > this.totalItems) {
120
+ end = this.totalItems;
121
+ }
122
+ return "Viewing " + (begin === end ? `${begin}` : `${begin}–${end} of ${this.totalItems}`);
123
+ }
124
+ renderLarge() {
125
+ return (h("div", { class: "largescreen" },
126
+ h("div", { class: "pageview" }, this.getCurrentPagesInView()),
127
+ h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` },
128
+ h("button", { id: "previous", class: "paginationbtn previousbtn", onClick: () => {
129
+ this.currentPage = this.currentPage - 1;
130
+ this.updatePageDisplayed(this.currentPage);
131
+ this.maintainFocusOnNumberChange("previous");
132
+ }, disabled: this.currentPage === 1, "aria-label": "Go to previous page", "aria-controls": "status" }, "Previous"),
133
+ this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(),
134
+ h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
135
+ this.currentPage = this.currentPage + 1;
136
+ this.updatePageDisplayed(this.currentPage);
137
+ this.maintainFocusOnNumberChange("next");
138
+ }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page", "aria-controls": "status" }, "Next"))));
139
+ }
140
+ renderSmall() {
141
+ return (h("div", { class: "smallscreen" },
142
+ h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` },
143
+ h("button", { id: `wm-1-arw`, class: "paginationbtn", onClick: () => {
144
+ this.currentPage = 1;
145
+ this.updatePageDisplayed(1);
146
+ this.maintainFocusOnNumberChange("prev-arrow");
147
+ }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": `Go to page 1`, "aria-controls": "status", disabled: this.currentPage === 1 },
148
+ h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" },
149
+ h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6zM15.41 10.59L10.83 6l4.58-4.59L14 0 8 6l6 6z" }))),
150
+ h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
151
+ this.currentPage -= 1;
152
+ this.updatePageDisplayed(this.currentPage);
153
+ this.maintainFocusOnNumberChange("prev-arrow");
154
+ }, disabled: this.currentPage === 1, "aria-label": "Go to previous page" },
155
+ h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" },
156
+ h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))),
157
+ "Page ",
158
+ this.currentPage,
159
+ " of ",
160
+ this.totalPages,
161
+ h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
162
+ this.currentPage += 1;
163
+ this.updatePageDisplayed(this.currentPage);
164
+ this.maintainFocusOnNumberChange("next-arrow");
165
+ }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page" },
166
+ h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" },
167
+ h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))),
168
+ h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
169
+ this.currentPage = this.totalPages;
170
+ this.updatePageDisplayed(this.totalPages);
171
+ this.maintainFocusOnNumberChange("next-arrow");
172
+ }, value: this.totalPages, "aria-current": this.currentPage === this.totalPages ? "page" : undefined, "aria-label": `Go to last page, page ${this.totalPages}`, "aria-controls": "status", disabled: this.currentPage === this.totalPages },
173
+ h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" },
174
+ h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6zM9.59 10.59L14.17 6 9.59 1.41 11 0l6 6-6 6z" }))))));
175
+ }
176
+ render() {
177
+ return (
178
+ // do not render the component if there's only one page
179
+ this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` },
180
+ this.isLargeViewport ? this.renderLarge() : this.renderSmall(),
181
+ h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
182
+ }
183
+ static get is() { return "wm-pagination"; }
184
+ static get encapsulation() { return "shadow"; }
185
+ static get originalStyleUrls() { return {
186
+ "$": ["wm-pagination.scss"]
187
+ }; }
188
+ static get styleUrls() { return {
189
+ "$": ["wm-pagination.css"]
190
+ }; }
191
+ static get properties() { return {
192
+ "currentPage": {
193
+ "type": "number",
194
+ "mutable": false,
195
+ "complexType": {
196
+ "original": "number",
197
+ "resolved": "number",
198
+ "references": {}
199
+ },
200
+ "required": false,
201
+ "optional": false,
202
+ "docs": {
203
+ "tags": [],
204
+ "text": ""
205
+ },
206
+ "attribute": "current-page",
207
+ "reflect": false,
208
+ "defaultValue": "1"
209
+ },
210
+ "totalItems": {
211
+ "type": "number",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "number",
215
+ "resolved": "number | undefined",
216
+ "references": {}
217
+ },
218
+ "required": false,
219
+ "optional": true,
220
+ "docs": {
221
+ "tags": [],
222
+ "text": ""
223
+ },
224
+ "attribute": "total-items",
225
+ "reflect": false,
226
+ "defaultValue": "undefined"
227
+ },
228
+ "itemsPerPage": {
229
+ "type": "number",
230
+ "mutable": false,
231
+ "complexType": {
232
+ "original": "number",
233
+ "resolved": "number | undefined",
234
+ "references": {}
235
+ },
236
+ "required": false,
237
+ "optional": true,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": ""
241
+ },
242
+ "attribute": "items-per-page",
243
+ "reflect": false,
244
+ "defaultValue": "undefined"
245
+ },
246
+ "value": {
247
+ "type": "number",
248
+ "mutable": false,
249
+ "complexType": {
250
+ "original": "number",
251
+ "resolved": "number",
252
+ "references": {}
253
+ },
254
+ "required": false,
255
+ "optional": false,
256
+ "docs": {
257
+ "tags": [],
258
+ "text": ""
259
+ },
260
+ "attribute": "value",
261
+ "reflect": false,
262
+ "defaultValue": "1"
263
+ },
264
+ "isLargeViewport": {
265
+ "type": "boolean",
266
+ "mutable": false,
267
+ "complexType": {
268
+ "original": "boolean",
269
+ "resolved": "boolean",
270
+ "references": {}
271
+ },
272
+ "required": false,
273
+ "optional": false,
274
+ "docs": {
275
+ "tags": [],
276
+ "text": ""
277
+ },
278
+ "attribute": "is-large-viewport",
279
+ "reflect": false,
280
+ "defaultValue": "window.innerWidth > 600"
281
+ }
282
+ }; }
283
+ static get states() { return {
284
+ "isTabbing": {},
285
+ "srAnnouncement": {}
286
+ }; }
287
+ static get events() { return [{
288
+ "method": "wmPaginationPageClicked",
289
+ "name": "wmPaginationPageClicked",
290
+ "bubbles": true,
291
+ "cancelable": true,
292
+ "composed": true,
293
+ "docs": {
294
+ "tags": [],
295
+ "text": ""
296
+ },
297
+ "complexType": {
298
+ "original": "String",
299
+ "resolved": "String",
300
+ "references": {
301
+ "String": {
302
+ "location": "global"
303
+ }
304
+ }
305
+ }
306
+ }, {
307
+ "method": "pageClicked",
308
+ "name": "pageClicked",
309
+ "bubbles": true,
310
+ "cancelable": true,
311
+ "composed": true,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": ""
315
+ },
316
+ "complexType": {
317
+ "original": "String",
318
+ "resolved": "String",
319
+ "references": {
320
+ "String": {
321
+ "location": "global"
322
+ }
323
+ }
324
+ }
325
+ }, {
326
+ "method": "focusCurrentPage",
327
+ "name": "focusCurrentPage",
328
+ "bubbles": true,
329
+ "cancelable": true,
330
+ "composed": true,
331
+ "docs": {
332
+ "tags": [],
333
+ "text": ""
334
+ },
335
+ "complexType": {
336
+ "original": "any",
337
+ "resolved": "any",
338
+ "references": {}
339
+ }
340
+ }]; }
341
+ static get elementRef() { return "el"; }
342
+ static get watchers() { return [{
343
+ "propName": "totalItems",
344
+ "methodName": "calculateTotalPages"
345
+ }, {
346
+ "propName": "itemsPerPage",
347
+ "methodName": "calculateTotalPages"
348
+ }]; }
349
+ static get listeners() { return [{
350
+ "name": "wmUserIsTabbing",
351
+ "method": "toggleTabbingOn",
352
+ "target": "window",
353
+ "capture": false,
354
+ "passive": false
355
+ }, {
356
+ "name": "wmUserIsNotTabbing",
357
+ "method": "toggleTabbingOff",
358
+ "target": "window",
359
+ "capture": false,
360
+ "passive": false
361
+ }, {
362
+ "name": "resize",
363
+ "method": "handleResize",
364
+ "target": "window",
365
+ "capture": false,
366
+ "passive": true
367
+ }]; }
368
+ }