@watermarkinsights/ripple 3.27.1 → 3.28.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 (276) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-42cfb4d3.js → chartFunctions-b2e0cb4e.js} +596 -596
  3. package/dist/cjs/{functions-85c3c557.js → functions-9807717e.js} +498 -498
  4. package/dist/cjs/{global-9982752f.js → global-c09deef1.js} +72 -72
  5. package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +49 -49
  6. package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +29 -29
  7. package/dist/cjs/{intl-1c36fe38.js → intl-526c75ec.js} +131 -131
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  10. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  11. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  12. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  13. package/dist/cjs/ripple.cjs.js +1 -1
  14. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  15. package/dist/cjs/wm-button.cjs.entry.js +189 -189
  16. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  17. package/dist/cjs/wm-chart.cjs.entry.js +183 -183
  18. package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
  19. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  20. package/dist/cjs/wm-file.cjs.entry.js +181 -181
  21. package/dist/cjs/wm-input.cjs.entry.js +136 -136
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +32 -32
  24. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +186 -186
  26. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  27. package/dist/cjs/wm-network-uploader.cjs.entry.js +465 -465
  28. package/dist/cjs/wm-option_2.cjs.entry.js +768 -768
  29. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  30. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  31. package/dist/cjs/wm-search.cjs.entry.js +187 -184
  32. package/dist/cjs/wm-snackbar.cjs.entry.js +134 -134
  33. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  34. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  35. package/dist/cjs/wm-tag-input.cjs.entry.js +947 -947
  36. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  37. package/dist/cjs/wm-toggletip.cjs.entry.js +120 -120
  38. package/dist/cjs/wm-uploader.cjs.entry.js +441 -441
  39. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  40. package/dist/collection/components/charts/chartFunctions.js +562 -562
  41. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +267 -267
  42. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +125 -125
  43. package/dist/collection/components/charts/wm-chart/wm-chart.js +450 -450
  44. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +207 -207
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +143 -143
  46. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +121 -121
  47. package/dist/collection/components/wm-action-menu/wm-action-menu.js +472 -472
  48. package/dist/collection/components/wm-button/wm-button.js +486 -486
  49. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +983 -983
  50. package/dist/collection/components/wm-datepicker/wm-datepicker.js +491 -491
  51. package/dist/collection/components/wm-file/wm-file.js +313 -313
  52. package/dist/collection/components/wm-file-list/wm-file-list.js +152 -152
  53. package/dist/collection/components/wm-input/wm-input.js +509 -509
  54. package/dist/collection/components/wm-menuitem/wm-menuitem.js +454 -454
  55. package/dist/collection/components/wm-modal/wm-modal-footer.js +138 -138
  56. package/dist/collection/components/wm-modal/wm-modal-header.js +82 -82
  57. package/dist/collection/components/wm-modal/wm-modal.js +462 -462
  58. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +119 -119
  59. package/dist/collection/components/wm-navigation/wm-navigation-item.js +130 -130
  60. package/dist/collection/components/wm-navigation/wm-navigation.js +217 -217
  61. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +106 -106
  62. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +123 -123
  63. package/dist/collection/components/wm-navigator/wm-navigator.js +467 -467
  64. package/dist/collection/components/wm-option/wm-option.js +435 -435
  65. package/dist/collection/components/wm-pagination/wm-pagination.js +362 -362
  66. package/dist/collection/components/wm-search/wm-search.js +442 -439
  67. package/dist/collection/components/wm-select/wm-select.js +1054 -1054
  68. package/dist/collection/components/wm-snackbar/wm-snackbar.js +267 -267
  69. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +211 -211
  70. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +327 -327
  71. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +108 -108
  72. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +122 -122
  73. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1302 -1302
  74. package/dist/collection/components/wm-timepicker/wm-timepicker.js +605 -605
  75. package/dist/collection/components/wm-toggletip/wm-toggletip.js +243 -243
  76. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +772 -772
  77. package/dist/collection/components/wm-uploader/wm-uploader.js +964 -964
  78. package/dist/collection/components/wm-wrapper/wm-wrapper.js +28 -28
  79. package/dist/collection/dev/scripts.js +20 -20
  80. package/dist/collection/global/__mocks__/functions.js +6 -6
  81. package/dist/collection/global/functions.js +541 -541
  82. package/dist/collection/global/global.js +79 -79
  83. package/dist/collection/global/interfaces.js +49 -49
  84. package/dist/collection/global/intl.js +132 -132
  85. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  86. package/dist/collection/global/services/http-service.js +50 -50
  87. package/dist/collection/lang/lang.js +5 -5
  88. package/dist/collection/lang/missing.js +43 -43
  89. package/dist/collection/lang/piglatin.js +93 -93
  90. package/dist/esm/{chartFunctions-0b53b301.js → chartFunctions-dd9eb9ac.js} +596 -596
  91. package/dist/esm/{functions-cbb19d50.js → functions-f32b1ca4.js} +498 -498
  92. package/dist/esm/{global-2c7bbfe6.js → global-1e0eafb3.js} +72 -72
  93. package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +49 -49
  94. package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +29 -29
  95. package/dist/esm/{intl-ffbca53d.js → intl-d101e1a9.js} +131 -131
  96. package/dist/esm/loader.js +1 -1
  97. package/dist/esm/polyfills/core-js.js +0 -0
  98. package/dist/esm/polyfills/dom.js +0 -0
  99. package/dist/esm/polyfills/es5-html-element.js +0 -0
  100. package/dist/esm/polyfills/index.js +0 -0
  101. package/dist/esm/polyfills/system.js +0 -0
  102. package/dist/esm/priv-chart-popover.entry.js +91 -91
  103. package/dist/esm/priv-datepicker.entry.js +657 -657
  104. package/dist/esm/priv-navigator-button.entry.js +19 -19
  105. package/dist/esm/priv-navigator-item.entry.js +23 -23
  106. package/dist/esm/ripple.js +1 -1
  107. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  108. package/dist/esm/wm-button.entry.js +189 -189
  109. package/dist/esm/wm-chart-slice.entry.js +18 -18
  110. package/dist/esm/wm-chart.entry.js +183 -183
  111. package/dist/esm/wm-datepicker.entry.js +263 -263
  112. package/dist/esm/wm-file-list.entry.js +35 -35
  113. package/dist/esm/wm-file.entry.js +181 -181
  114. package/dist/esm/wm-input.entry.js +136 -136
  115. package/dist/esm/wm-modal-footer.entry.js +33 -33
  116. package/dist/esm/wm-modal-header.entry.js +32 -32
  117. package/dist/esm/wm-modal.entry.js +152 -152
  118. package/dist/esm/wm-navigation_3.entry.js +186 -186
  119. package/dist/esm/wm-navigator.entry.js +264 -264
  120. package/dist/esm/wm-network-uploader.entry.js +465 -465
  121. package/dist/esm/wm-option_2.entry.js +768 -768
  122. package/dist/esm/wm-pagination.entry.js +179 -179
  123. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  124. package/dist/esm/wm-search.entry.js +187 -184
  125. package/dist/esm/wm-snackbar.entry.js +134 -134
  126. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  127. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  128. package/dist/esm/wm-tag-input.entry.js +947 -947
  129. package/dist/esm/wm-timepicker.entry.js +385 -385
  130. package/dist/esm/wm-toggletip.entry.js +120 -120
  131. package/dist/esm/wm-uploader.entry.js +441 -441
  132. package/dist/esm/wm-wrapper.entry.js +12 -12
  133. package/dist/esm-es5/{chartFunctions-0b53b301.js → chartFunctions-dd9eb9ac.js} +1 -1
  134. package/dist/esm-es5/{global-2c7bbfe6.js → global-1e0eafb3.js} +1 -1
  135. package/dist/esm-es5/{intl-ffbca53d.js → intl-d101e1a9.js} +1 -1
  136. package/dist/esm-es5/loader.js +1 -1
  137. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  138. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  139. package/dist/esm-es5/ripple.js +1 -1
  140. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  141. package/dist/esm-es5/wm-button.entry.js +1 -1
  142. package/dist/esm-es5/wm-chart.entry.js +1 -1
  143. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  144. package/dist/esm-es5/wm-file.entry.js +1 -1
  145. package/dist/esm-es5/wm-input.entry.js +1 -1
  146. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  147. package/dist/esm-es5/wm-modal.entry.js +1 -1
  148. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  149. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  150. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  151. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  152. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  153. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  154. package/dist/esm-es5/wm-search.entry.js +1 -1
  155. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  156. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  157. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  158. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  159. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  160. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  161. package/dist/ripple/{p-17487f1b.entry.js → p-04faca6b.entry.js} +1 -1
  162. package/dist/ripple/{p-3807bcae.entry.js → p-0be94e77.entry.js} +1 -1
  163. package/dist/ripple/{p-1bad4efe.system.entry.js → p-11d98b00.system.entry.js} +1 -1
  164. package/dist/ripple/{p-197c83de.system.entry.js → p-122da0d1.system.entry.js} +1 -1
  165. package/dist/ripple/{p-438a1e8e.entry.js → p-13ec8ac0.entry.js} +1 -1
  166. package/dist/ripple/{p-65a741c1.entry.js → p-14dfc4e7.entry.js} +1 -1
  167. package/dist/ripple/{p-4698b365.js → p-19689aac.js} +1 -1
  168. package/dist/ripple/{p-2ff923ee.system.entry.js → p-252ba295.system.entry.js} +1 -1
  169. package/dist/ripple/{p-bced37cf.system.entry.js → p-2805fed6.system.entry.js} +1 -1
  170. package/dist/ripple/p-29cc5a42.entry.js +1 -0
  171. package/dist/ripple/{p-97d5b4bd.system.entry.js → p-2c8fd902.system.entry.js} +1 -1
  172. package/dist/ripple/{p-d41ba263.system.js → p-30572b71.system.js} +1 -1
  173. package/dist/ripple/{p-e6f46289.entry.js → p-33af1eee.entry.js} +1 -1
  174. package/dist/ripple/p-37de8e2f.entry.js +1 -0
  175. package/dist/ripple/{p-978429f9.entry.js → p-3aee75e7.entry.js} +1 -1
  176. package/dist/ripple/{p-b410c675.js → p-3c0709a4.js} +1 -1
  177. package/dist/ripple/p-3d10bd65.system.entry.js +1 -0
  178. package/dist/ripple/{p-947f01e2.system.entry.js → p-4753fbfc.system.entry.js} +1 -1
  179. package/dist/ripple/{p-5497694c.entry.js → p-47f53321.entry.js} +1 -1
  180. package/dist/ripple/{p-b6f558f7.system.entry.js → p-4809e419.system.entry.js} +1 -1
  181. package/dist/ripple/{p-a90b8a08.entry.js → p-4cadf985.entry.js} +1 -1
  182. package/dist/ripple/{p-32944b70.system.js → p-54623c49.system.js} +1 -1
  183. package/dist/ripple/{p-aed93a25.js → p-5fb0aa58.js} +1 -1
  184. package/dist/ripple/{p-9d6a574b.system.entry.js → p-67c0ad56.system.entry.js} +1 -1
  185. package/dist/ripple/{p-ab2a0aee.entry.js → p-69121ad1.entry.js} +1 -1
  186. package/dist/ripple/{p-00022d17.system.entry.js → p-725c14b0.system.entry.js} +1 -1
  187. package/dist/ripple/{p-36effc40.system.entry.js → p-73d277ba.system.entry.js} +1 -1
  188. package/dist/ripple/{p-c27eda00.system.entry.js → p-7eca18bd.system.entry.js} +1 -1
  189. package/dist/ripple/{p-419f133c.system.entry.js → p-82a97531.system.entry.js} +1 -1
  190. package/dist/ripple/{p-3aa48fad.system.entry.js → p-88d17f6b.system.entry.js} +1 -1
  191. package/dist/ripple/{p-c0e183f4.entry.js → p-89f1991f.entry.js} +1 -1
  192. package/dist/ripple/{p-31712996.entry.js → p-a6afe65a.entry.js} +1 -1
  193. package/dist/ripple/{p-bb048fe7.entry.js → p-a780eeb2.entry.js} +1 -1
  194. package/dist/ripple/{p-7e74274b.entry.js → p-ac63b3aa.entry.js} +1 -1
  195. package/dist/ripple/{p-15779c22.system.entry.js → p-b617b64f.system.entry.js} +1 -1
  196. package/dist/ripple/{p-0e789be7.entry.js → p-b6bf2866.entry.js} +1 -1
  197. package/dist/ripple/{p-a5b86b47.entry.js → p-b831988d.entry.js} +1 -1
  198. package/dist/ripple/{p-0450cdbe.system.entry.js → p-b97de06f.system.entry.js} +1 -1
  199. package/dist/ripple/{p-05a17658.entry.js → p-bfe1062d.entry.js} +1 -1
  200. package/dist/ripple/{p-a3ba2bdd.entry.js → p-c545fe1c.entry.js} +1 -1
  201. package/dist/ripple/{p-a42f5231.entry.js → p-c7567fd3.entry.js} +1 -1
  202. package/dist/ripple/{p-bd0c1e7c.system.entry.js → p-c9a1834d.system.entry.js} +1 -1
  203. package/dist/ripple/{p-81ad3fe5.system.js → p-cf79da86.system.js} +1 -1
  204. package/dist/ripple/{p-aabe172c.system.entry.js → p-d9b66dca.system.entry.js} +1 -1
  205. package/dist/ripple/{p-d8993992.entry.js → p-db7e6e89.entry.js} +1 -1
  206. package/dist/ripple/{p-0b6a7b77.system.entry.js → p-e1917dbf.system.entry.js} +1 -1
  207. package/dist/ripple/{p-da525ed1.system.entry.js → p-f13b239c.system.entry.js} +1 -1
  208. package/dist/ripple/{p-b2d75e7d.entry.js → p-f39ee84b.entry.js} +1 -1
  209. package/dist/ripple/{p-89db9c27.system.entry.js → p-f3e42327.system.entry.js} +1 -1
  210. package/dist/ripple/{p-31c18f5e.system.entry.js → p-f69276d5.system.entry.js} +1 -1
  211. package/dist/ripple/{p-d1af63b5.system.js → p-f6b2e4ac.system.js} +1 -1
  212. package/dist/ripple/{p-54086f7b.system.entry.js → p-f8d45250.system.entry.js} +1 -1
  213. package/dist/ripple/{p-58fbf116.entry.js → p-fb370a69.entry.js} +1 -1
  214. package/dist/ripple/ripple.esm.js +1 -1
  215. package/dist/ripple/ripple.js +1 -1
  216. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  217. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  218. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  219. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
  220. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
  221. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
  222. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  223. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
  224. package/dist/types/components/wm-button/wm-button.d.ts +44 -44
  225. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  226. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
  227. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  228. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
  229. package/dist/types/components/wm-input/wm-input.d.ts +57 -57
  230. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  231. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  232. package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
  233. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
  234. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +16 -16
  235. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  236. package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -26
  237. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  238. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  239. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  240. package/dist/types/components/wm-option/wm-option.d.ts +34 -34
  241. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  242. package/dist/types/components/wm-search/wm-search.d.ts +78 -77
  243. package/dist/types/components/wm-select/wm-select.d.ts +101 -101
  244. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +30 -30
  245. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
  246. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
  247. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  248. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
  249. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +137 -137
  250. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
  251. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +25 -25
  252. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  253. package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -99
  254. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  255. package/dist/types/components.d.ts +27 -27
  256. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  257. package/dist/types/global/functions.d.ts +40 -40
  258. package/dist/types/global/global.d.ts +1 -1
  259. package/dist/types/global/interfaces.d.ts +74 -74
  260. package/dist/types/global/intl.d.ts +29 -29
  261. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  262. package/dist/types/global/services/http-service.d.ts +4 -4
  263. package/dist/types/lang/lang.d.ts +5 -5
  264. package/package.json +46 -46
  265. package/dist/ripple/p-a51aec3f.entry.js +0 -1
  266. package/dist/ripple/p-cd3e0b8b.system.entry.js +0 -1
  267. package/dist/ripple/p-fc967b2c.entry.js +0 -1
  268. /package/dist/esm-es5/{functions-cbb19d50.js → functions-f32b1ca4.js} +0 -0
  269. /package/dist/esm-es5/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +0 -0
  270. /package/dist/esm-es5/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +0 -0
  271. /package/dist/ripple/{p-f5df5903.system.js → p-08b7ec08.system.js} +0 -0
  272. /package/dist/ripple/{p-9d02957d.system.js → p-313b6073.system.js} +0 -0
  273. /package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +0 -0
  274. /package/dist/ripple/{p-b267e710.system.js → p-9eb5a71e.system.js} +0 -0
  275. /package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +0 -0
  276. /package/dist/ripple/{p-91480a89.js → p-cfa80f5b.js} +0 -0
@@ -1,362 +1,362 @@
1
- import { h } from "@stencil/core";
2
- import { debounce } from "../../global/functions";
3
- export class Pagination {
4
- constructor() {
5
- this.totalPages = 0;
6
- this.debouncedResize = debounce(() => {
7
- this.isLargeViewport = window.innerWidth > 600;
8
- }, 250);
9
- this.getMiddlePageNums = () => {
10
- let coreBtns;
11
- // if pg is 1, 2 or 3
12
- if (this.currentPage < 4) {
13
- coreBtns = [2, 3, 4];
14
- }
15
- else if (this.currentPage > this.totalPages - 3) {
16
- coreBtns = [this.totalPages - 3, this.totalPages - 2, this.totalPages - 1];
17
- }
18
- else {
19
- coreBtns = [this.currentPage - 1, this.currentPage, this.currentPage + 1];
20
- }
21
- return coreBtns;
22
- };
23
- this.currentPage = 1;
24
- this.totalItems = undefined;
25
- this.itemsPerPage = undefined;
26
- this.value = 1;
27
- this.isLargeViewport = window.innerWidth > 600;
28
- this.isTabbing = false;
29
- this.srAnnouncement = "";
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
- this.el.focus = () => {
75
- // in addition to delegatesFocus, we need to highjack the focus method to send focus to the appropriate element based on the components's state
76
- if (this.isLargeViewport) {
77
- this.el.shadowRoot.getElementById(`wm-${this.currentPage}`).focus();
78
- }
79
- else {
80
- this.currentPage === 1
81
- ? this.el.shadowRoot.getElementById("next-arw").focus()
82
- : this.el.shadowRoot.getElementById("wm-1-arw").focus();
83
- }
84
- };
85
- }
86
- updatePageDisplayed(pageNum) {
87
- this.value = pageNum;
88
- this.wmPaginationPageClicked.emit();
89
- this.pageClicked.emit(); // deprecated
90
- this.srAnnouncement = `Current page, ${this.currentPage}. ${this.getCurrentPagesInView()}`;
91
- }
92
- displayShortPagination() {
93
- let pages = [];
94
- for (let i = 1; i <= this.totalPages; i++) {
95
- pages.push(this.displayPageNumber(i));
96
- }
97
- return pages;
98
- }
99
- displayLongPagination() {
100
- let view = [
101
- this.displayPageNumber(1),
102
- this.currentPage > 3 && this.displayEllipsis(),
103
- ...this.getMiddlePageNums().map((page) => this.displayPageNumber(page)),
104
- this.currentPage + 2 < this.totalPages && this.displayEllipsis(),
105
- this.displayPageNumber(this.totalPages),
106
- ];
107
- return view;
108
- }
109
- displayPageNumber(pageNum) {
110
- return (h("button", { id: `wm-${pageNum}`, class: "paginationbtn", onClick: () => {
111
- this.currentPage = pageNum;
112
- this.updatePageDisplayed(pageNum);
113
- this.maintainFocusOnNumberChange("page");
114
- }, value: pageNum, "aria-label": this.currentPage !== pageNum ? `Go to page ${pageNum}` : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
115
- }
116
- displayEllipsis() {
117
- return h("span", { class: "ellipsis" }, "...");
118
- }
119
- // displayPageView = () => {
120
- // // let end = this.itemsPerPage! * this.currentPage;
121
- // // const begin = end - this.itemsPerPage! + 1;
122
- // // if (end > this.totalItems!) {
123
- // // end = this.totalItems!;
124
- // // }
125
- // return <div class="pageview">{this.getCurrentView()}</div>;
126
- // };
127
- getCurrentPagesInView() {
128
- let end = this.itemsPerPage * this.currentPage;
129
- const begin = end - this.itemsPerPage + 1;
130
- if (end > this.totalItems) {
131
- end = this.totalItems;
132
- }
133
- return "Viewing " + (begin === end ? `${begin}` : `${begin}–${end} of ${this.totalItems}`);
134
- }
135
- renderLarge() {
136
- return (h("div", { class: "largescreen" }, h("div", { class: "pageview" }, this.getCurrentPagesInView()), h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` }, h("button", { id: "previous", class: "paginationbtn previousbtn", onClick: () => {
137
- this.currentPage = this.currentPage - 1;
138
- this.updatePageDisplayed(this.currentPage);
139
- this.maintainFocusOnNumberChange("previous");
140
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page", "aria-controls": "status" }, "Previous"), this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(), h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
141
- this.currentPage = this.currentPage + 1;
142
- this.updatePageDisplayed(this.currentPage);
143
- this.maintainFocusOnNumberChange("next");
144
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page", "aria-controls": "status" }, "Next"))));
145
- }
146
- renderSmall() {
147
- return (h("div", { class: "smallscreen" }, h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` }, h("button", { id: `wm-1-arw`, class: "paginationbtn", onClick: () => {
148
- this.currentPage = 1;
149
- this.updatePageDisplayed(1);
150
- this.maintainFocusOnNumberChange("prev-arrow");
151
- }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": `Go to page 1`, "aria-controls": "status", disabled: this.currentPage === 1 }, h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" }, 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" }))), h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
152
- this.currentPage -= 1;
153
- this.updatePageDisplayed(this.currentPage);
154
- this.maintainFocusOnNumberChange("prev-arrow");
155
- }, disabled: this.currentPage === 1, "aria-label": "Go to previous page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))), "Page ", this.currentPage, " of ", this.totalPages, h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
156
- this.currentPage += 1;
157
- this.updatePageDisplayed(this.currentPage);
158
- this.maintainFocusOnNumberChange("next-arrow");
159
- }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))), h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
160
- this.currentPage = this.totalPages;
161
- this.updatePageDisplayed(this.totalPages);
162
- this.maintainFocusOnNumberChange("next-arrow");
163
- }, 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 }, h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" }, 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" }))))));
164
- }
165
- render() {
166
- return (
167
- // do not render the component if there's only one page
168
- this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` }, this.isLargeViewport ? this.renderLarge() : this.renderSmall(), h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
169
- }
170
- static get is() { return "wm-pagination"; }
171
- static get encapsulation() { return "shadow"; }
172
- static get delegatesFocus() { return true; }
173
- static get originalStyleUrls() {
174
- return {
175
- "$": ["wm-pagination.scss"]
176
- };
177
- }
178
- static get styleUrls() {
179
- return {
180
- "$": ["wm-pagination.css"]
181
- };
182
- }
183
- static get properties() {
184
- return {
185
- "currentPage": {
186
- "type": "number",
187
- "mutable": false,
188
- "complexType": {
189
- "original": "number",
190
- "resolved": "number",
191
- "references": {}
192
- },
193
- "required": false,
194
- "optional": false,
195
- "docs": {
196
- "tags": [],
197
- "text": ""
198
- },
199
- "attribute": "current-page",
200
- "reflect": false,
201
- "defaultValue": "1"
202
- },
203
- "totalItems": {
204
- "type": "number",
205
- "mutable": false,
206
- "complexType": {
207
- "original": "number",
208
- "resolved": "number | undefined",
209
- "references": {}
210
- },
211
- "required": false,
212
- "optional": true,
213
- "docs": {
214
- "tags": [],
215
- "text": ""
216
- },
217
- "attribute": "total-items",
218
- "reflect": false,
219
- "defaultValue": "undefined"
220
- },
221
- "itemsPerPage": {
222
- "type": "number",
223
- "mutable": false,
224
- "complexType": {
225
- "original": "number",
226
- "resolved": "number | undefined",
227
- "references": {}
228
- },
229
- "required": false,
230
- "optional": true,
231
- "docs": {
232
- "tags": [],
233
- "text": ""
234
- },
235
- "attribute": "items-per-page",
236
- "reflect": false,
237
- "defaultValue": "undefined"
238
- },
239
- "value": {
240
- "type": "number",
241
- "mutable": false,
242
- "complexType": {
243
- "original": "number",
244
- "resolved": "number",
245
- "references": {}
246
- },
247
- "required": false,
248
- "optional": false,
249
- "docs": {
250
- "tags": [],
251
- "text": ""
252
- },
253
- "attribute": "value",
254
- "reflect": false,
255
- "defaultValue": "1"
256
- },
257
- "isLargeViewport": {
258
- "type": "boolean",
259
- "mutable": false,
260
- "complexType": {
261
- "original": "boolean",
262
- "resolved": "boolean",
263
- "references": {}
264
- },
265
- "required": false,
266
- "optional": false,
267
- "docs": {
268
- "tags": [],
269
- "text": ""
270
- },
271
- "attribute": "is-large-viewport",
272
- "reflect": false,
273
- "defaultValue": "window.innerWidth > 600"
274
- }
275
- };
276
- }
277
- static get states() {
278
- return {
279
- "isTabbing": {},
280
- "srAnnouncement": {}
281
- };
282
- }
283
- static get events() {
284
- return [{
285
- "method": "wmPaginationPageClicked",
286
- "name": "wmPaginationPageClicked",
287
- "bubbles": true,
288
- "cancelable": true,
289
- "composed": true,
290
- "docs": {
291
- "tags": [],
292
- "text": ""
293
- },
294
- "complexType": {
295
- "original": "string",
296
- "resolved": "string",
297
- "references": {}
298
- }
299
- }, {
300
- "method": "pageClicked",
301
- "name": "pageClicked",
302
- "bubbles": true,
303
- "cancelable": true,
304
- "composed": true,
305
- "docs": {
306
- "tags": [],
307
- "text": ""
308
- },
309
- "complexType": {
310
- "original": "string",
311
- "resolved": "string",
312
- "references": {}
313
- }
314
- }, {
315
- "method": "focusCurrentPage",
316
- "name": "focusCurrentPage",
317
- "bubbles": true,
318
- "cancelable": true,
319
- "composed": true,
320
- "docs": {
321
- "tags": [],
322
- "text": ""
323
- },
324
- "complexType": {
325
- "original": "any",
326
- "resolved": "any",
327
- "references": {}
328
- }
329
- }];
330
- }
331
- static get elementRef() { return "el"; }
332
- static get watchers() {
333
- return [{
334
- "propName": "totalItems",
335
- "methodName": "calculateTotalPages"
336
- }, {
337
- "propName": "itemsPerPage",
338
- "methodName": "calculateTotalPages"
339
- }];
340
- }
341
- static get listeners() {
342
- return [{
343
- "name": "wmUserIsTabbing",
344
- "method": "toggleTabbingOn",
345
- "target": "window",
346
- "capture": false,
347
- "passive": false
348
- }, {
349
- "name": "wmUserIsNotTabbing",
350
- "method": "toggleTabbingOff",
351
- "target": "window",
352
- "capture": false,
353
- "passive": false
354
- }, {
355
- "name": "resize",
356
- "method": "handleResize",
357
- "target": "window",
358
- "capture": false,
359
- "passive": true
360
- }];
361
- }
362
- }
1
+ import { h } from "@stencil/core";
2
+ import { debounce } from "../../global/functions";
3
+ export class Pagination {
4
+ constructor() {
5
+ this.totalPages = 0;
6
+ this.debouncedResize = debounce(() => {
7
+ this.isLargeViewport = window.innerWidth > 600;
8
+ }, 250);
9
+ this.getMiddlePageNums = () => {
10
+ let coreBtns;
11
+ // if pg is 1, 2 or 3
12
+ if (this.currentPage < 4) {
13
+ coreBtns = [2, 3, 4];
14
+ }
15
+ else if (this.currentPage > this.totalPages - 3) {
16
+ coreBtns = [this.totalPages - 3, this.totalPages - 2, this.totalPages - 1];
17
+ }
18
+ else {
19
+ coreBtns = [this.currentPage - 1, this.currentPage, this.currentPage + 1];
20
+ }
21
+ return coreBtns;
22
+ };
23
+ this.currentPage = 1;
24
+ this.totalItems = undefined;
25
+ this.itemsPerPage = undefined;
26
+ this.value = 1;
27
+ this.isLargeViewport = window.innerWidth > 600;
28
+ this.isTabbing = false;
29
+ this.srAnnouncement = "";
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
+ this.el.focus = () => {
75
+ // in addition to delegatesFocus, we need to highjack the focus method to send focus to the appropriate element based on the components's state
76
+ if (this.isLargeViewport) {
77
+ this.el.shadowRoot.getElementById(`wm-${this.currentPage}`).focus();
78
+ }
79
+ else {
80
+ this.currentPage === 1
81
+ ? this.el.shadowRoot.getElementById("next-arw").focus()
82
+ : this.el.shadowRoot.getElementById("wm-1-arw").focus();
83
+ }
84
+ };
85
+ }
86
+ updatePageDisplayed(pageNum) {
87
+ this.value = pageNum;
88
+ this.wmPaginationPageClicked.emit();
89
+ this.pageClicked.emit(); // deprecated
90
+ this.srAnnouncement = `Current page, ${this.currentPage}. ${this.getCurrentPagesInView()}`;
91
+ }
92
+ displayShortPagination() {
93
+ let pages = [];
94
+ for (let i = 1; i <= this.totalPages; i++) {
95
+ pages.push(this.displayPageNumber(i));
96
+ }
97
+ return pages;
98
+ }
99
+ displayLongPagination() {
100
+ let view = [
101
+ this.displayPageNumber(1),
102
+ this.currentPage > 3 && this.displayEllipsis(),
103
+ ...this.getMiddlePageNums().map((page) => this.displayPageNumber(page)),
104
+ this.currentPage + 2 < this.totalPages && this.displayEllipsis(),
105
+ this.displayPageNumber(this.totalPages),
106
+ ];
107
+ return view;
108
+ }
109
+ displayPageNumber(pageNum) {
110
+ return (h("button", { id: `wm-${pageNum}`, class: "paginationbtn", onClick: () => {
111
+ this.currentPage = pageNum;
112
+ this.updatePageDisplayed(pageNum);
113
+ this.maintainFocusOnNumberChange("page");
114
+ }, value: pageNum, "aria-label": this.currentPage !== pageNum ? `Go to page ${pageNum}` : "", "aria-current": this.currentPage === pageNum ? "page" : undefined }, pageNum));
115
+ }
116
+ displayEllipsis() {
117
+ return h("span", { class: "ellipsis" }, "...");
118
+ }
119
+ // displayPageView = () => {
120
+ // // let end = this.itemsPerPage! * this.currentPage;
121
+ // // const begin = end - this.itemsPerPage! + 1;
122
+ // // if (end > this.totalItems!) {
123
+ // // end = this.totalItems!;
124
+ // // }
125
+ // return <div class="pageview">{this.getCurrentView()}</div>;
126
+ // };
127
+ getCurrentPagesInView() {
128
+ let end = this.itemsPerPage * this.currentPage;
129
+ const begin = end - this.itemsPerPage + 1;
130
+ if (end > this.totalItems) {
131
+ end = this.totalItems;
132
+ }
133
+ return "Viewing " + (begin === end ? `${begin}` : `${begin}–${end} of ${this.totalItems}`);
134
+ }
135
+ renderLarge() {
136
+ return (h("div", { class: "largescreen" }, h("div", { class: "pageview" }, this.getCurrentPagesInView()), h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` }, h("button", { id: "previous", class: "paginationbtn previousbtn", onClick: () => {
137
+ this.currentPage = this.currentPage - 1;
138
+ this.updatePageDisplayed(this.currentPage);
139
+ this.maintainFocusOnNumberChange("previous");
140
+ }, disabled: this.currentPage === 1, "aria-label": "Go to previous page", "aria-controls": "status" }, "Previous"), this.totalPages < 6 ? this.displayShortPagination() : this.displayLongPagination(), h("button", { id: "next", class: "paginationbtn nextbtn", onClick: () => {
141
+ this.currentPage = this.currentPage + 1;
142
+ this.updatePageDisplayed(this.currentPage);
143
+ this.maintainFocusOnNumberChange("next");
144
+ }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page", "aria-controls": "status" }, "Next"))));
145
+ }
146
+ renderSmall() {
147
+ return (h("div", { class: "smallscreen" }, h("div", { class: `pagebtncontainer ${this.isTabbing ? "user-is-tabbing" : ""}` }, h("button", { id: `wm-1-arw`, class: "paginationbtn", onClick: () => {
148
+ this.currentPage = 1;
149
+ this.updatePageDisplayed(1);
150
+ this.maintainFocusOnNumberChange("prev-arrow");
151
+ }, value: 1, "aria-current": this.currentPage === 1 ? "page" : undefined, "aria-label": `Go to page 1`, "aria-controls": "status", disabled: this.currentPage === 1 }, h("svg", { width: "16", height: "12", xmlns: "http://www.w3.org/2000/svg" }, 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" }))), h("button", { id: "previous-arw", class: "paginationbtn previousbtn", onClick: () => {
152
+ this.currentPage -= 1;
153
+ this.updatePageDisplayed(this.currentPage);
154
+ this.maintainFocusOnNumberChange("prev-arrow");
155
+ }, disabled: this.currentPage === 1, "aria-label": "Go to previous page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.41 10.59L2.83 6l4.58-4.59L6 0 0 6l6 6z" }))), "Page ", this.currentPage, " of ", this.totalPages, h("button", { id: "next-arw", class: "paginationbtn nextbtn", onClick: () => {
156
+ this.currentPage += 1;
157
+ this.updatePageDisplayed(this.currentPage);
158
+ this.maintainFocusOnNumberChange("next-arrow");
159
+ }, disabled: this.currentPage === this.totalPages, "aria-label": "Go to next page" }, h("svg", { width: "8", height: "12", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M.59 10.59L5.17 6 .59 1.41 2 0l6 6-6 6z" }))), h("button", { id: `wm-${this.totalPages}-arw`, class: "paginationbtn", onClick: () => {
160
+ this.currentPage = this.totalPages;
161
+ this.updatePageDisplayed(this.totalPages);
162
+ this.maintainFocusOnNumberChange("next-arrow");
163
+ }, 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 }, h("svg", { width: "17", height: "12", xmlns: "http://www.w3.org/2000/svg" }, 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" }))))));
164
+ }
165
+ render() {
166
+ return (
167
+ // do not render the component if there's only one page
168
+ this.totalItems > this.itemsPerPage && (h("nav", { "aria-label": `Pagination Navigation. ${this.getCurrentPagesInView()}. Current page, ${this.currentPage}.` }, this.isLargeViewport ? this.renderLarge() : this.renderSmall(), h("div", { id: "status", class: "sr-only", "aria-live": "polite", "aria-relevant": "text", "aria-atomic": "true" }, this.srAnnouncement))));
169
+ }
170
+ static get is() { return "wm-pagination"; }
171
+ static get encapsulation() { return "shadow"; }
172
+ static get delegatesFocus() { return true; }
173
+ static get originalStyleUrls() {
174
+ return {
175
+ "$": ["wm-pagination.scss"]
176
+ };
177
+ }
178
+ static get styleUrls() {
179
+ return {
180
+ "$": ["wm-pagination.css"]
181
+ };
182
+ }
183
+ static get properties() {
184
+ return {
185
+ "currentPage": {
186
+ "type": "number",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "number",
190
+ "resolved": "number",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": false,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": ""
198
+ },
199
+ "attribute": "current-page",
200
+ "reflect": false,
201
+ "defaultValue": "1"
202
+ },
203
+ "totalItems": {
204
+ "type": "number",
205
+ "mutable": false,
206
+ "complexType": {
207
+ "original": "number",
208
+ "resolved": "number | undefined",
209
+ "references": {}
210
+ },
211
+ "required": false,
212
+ "optional": true,
213
+ "docs": {
214
+ "tags": [],
215
+ "text": ""
216
+ },
217
+ "attribute": "total-items",
218
+ "reflect": false,
219
+ "defaultValue": "undefined"
220
+ },
221
+ "itemsPerPage": {
222
+ "type": "number",
223
+ "mutable": false,
224
+ "complexType": {
225
+ "original": "number",
226
+ "resolved": "number | undefined",
227
+ "references": {}
228
+ },
229
+ "required": false,
230
+ "optional": true,
231
+ "docs": {
232
+ "tags": [],
233
+ "text": ""
234
+ },
235
+ "attribute": "items-per-page",
236
+ "reflect": false,
237
+ "defaultValue": "undefined"
238
+ },
239
+ "value": {
240
+ "type": "number",
241
+ "mutable": false,
242
+ "complexType": {
243
+ "original": "number",
244
+ "resolved": "number",
245
+ "references": {}
246
+ },
247
+ "required": false,
248
+ "optional": false,
249
+ "docs": {
250
+ "tags": [],
251
+ "text": ""
252
+ },
253
+ "attribute": "value",
254
+ "reflect": false,
255
+ "defaultValue": "1"
256
+ },
257
+ "isLargeViewport": {
258
+ "type": "boolean",
259
+ "mutable": false,
260
+ "complexType": {
261
+ "original": "boolean",
262
+ "resolved": "boolean",
263
+ "references": {}
264
+ },
265
+ "required": false,
266
+ "optional": false,
267
+ "docs": {
268
+ "tags": [],
269
+ "text": ""
270
+ },
271
+ "attribute": "is-large-viewport",
272
+ "reflect": false,
273
+ "defaultValue": "window.innerWidth > 600"
274
+ }
275
+ };
276
+ }
277
+ static get states() {
278
+ return {
279
+ "isTabbing": {},
280
+ "srAnnouncement": {}
281
+ };
282
+ }
283
+ static get events() {
284
+ return [{
285
+ "method": "wmPaginationPageClicked",
286
+ "name": "wmPaginationPageClicked",
287
+ "bubbles": true,
288
+ "cancelable": true,
289
+ "composed": true,
290
+ "docs": {
291
+ "tags": [],
292
+ "text": ""
293
+ },
294
+ "complexType": {
295
+ "original": "string",
296
+ "resolved": "string",
297
+ "references": {}
298
+ }
299
+ }, {
300
+ "method": "pageClicked",
301
+ "name": "pageClicked",
302
+ "bubbles": true,
303
+ "cancelable": true,
304
+ "composed": true,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": ""
308
+ },
309
+ "complexType": {
310
+ "original": "string",
311
+ "resolved": "string",
312
+ "references": {}
313
+ }
314
+ }, {
315
+ "method": "focusCurrentPage",
316
+ "name": "focusCurrentPage",
317
+ "bubbles": true,
318
+ "cancelable": true,
319
+ "composed": true,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": ""
323
+ },
324
+ "complexType": {
325
+ "original": "any",
326
+ "resolved": "any",
327
+ "references": {}
328
+ }
329
+ }];
330
+ }
331
+ static get elementRef() { return "el"; }
332
+ static get watchers() {
333
+ return [{
334
+ "propName": "totalItems",
335
+ "methodName": "calculateTotalPages"
336
+ }, {
337
+ "propName": "itemsPerPage",
338
+ "methodName": "calculateTotalPages"
339
+ }];
340
+ }
341
+ static get listeners() {
342
+ return [{
343
+ "name": "wmUserIsTabbing",
344
+ "method": "toggleTabbingOn",
345
+ "target": "window",
346
+ "capture": false,
347
+ "passive": false
348
+ }, {
349
+ "name": "wmUserIsNotTabbing",
350
+ "method": "toggleTabbingOff",
351
+ "target": "window",
352
+ "capture": false,
353
+ "passive": false
354
+ }, {
355
+ "name": "resize",
356
+ "method": "handleResize",
357
+ "target": "window",
358
+ "capture": false,
359
+ "passive": true
360
+ }];
361
+ }
362
+ }