@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,102 +1,102 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  import { AxePuppeteer } from "@axe-core/puppeteer";
3
3
  describe("wm-navigation", () => {
4
- let page, nav, hamburger, items;
5
- beforeEach(async () => {
6
- page = await newE2EPage();
7
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body>
4
+ let page, nav, hamburger, items;
5
+ beforeEach(async () => {
6
+ page = await newE2EPage();
7
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body>
8
8
  <wm-navigation-hamburger nav-id="mynav"></wm-navigation-hamburger>
9
9
  <wm-navigation id="mynav">
10
10
  <wm-navigation-item href="/home" text="Home" active>Home</wm-navigation-item>
11
11
  <wm-navigation-item href="/things" text="Things">Things</wm-navigation-item>
12
12
  </wm-navigation><main><h1>Title</h1><button>something tabbable here</button>
13
13
  </main></body></html>`);
14
- nav = await page.find("wm-navigation");
15
- hamburger = await page.find("wm-navigation-hamburger");
16
- items = await page.find("wm-navigation-item");
17
- });
18
- it("passes Axe checks", async () => {
19
- const results = await new AxePuppeteer(page).analyze();
20
- expect(results.violations.length).toBe(1); // there's an false error about aria-controls having a wrong value
21
- });
22
- it("renders the component", async () => {
23
- expect(nav).not.toBeNull();
24
- expect(hamburger).not.toBeNull();
25
- expect(items).not.toBeNull();
26
- });
27
- it("traps focus when collapsible", async () => {
28
- // small screen, trap focus
29
- page.setViewport({ width: 1023, height: 800 });
30
- page.waitForChanges();
31
- await page.keyboard.press("Tab"); // focus on hamburger
32
- await page.keyboard.press("Enter"); // open. focus on close btn
33
- await page.waitForTimeout(250); // wait for animation to complete and focus to be called
34
- await page.keyboard.press("Tab"); // focus on 1st nav item
35
- await page.keyboard.press("Tab"); // focus on 2nd nav item
36
- await page.keyboard.press("Tab"); // with trap focus we circle back within the nav (on close btn)
37
- let activeEl = await page.evaluate(() => document.activeElement.tagName);
38
- expect(activeEl).toEqual("WM-NAVIGATION");
39
- });
40
- it("doesn't trap focus when persistent", async () => {
41
- // wide screen, no trap focus
42
- page.setViewport({ width: 1024, height: 800 });
43
- await page.waitForChanges(); // test fails randomly without this
44
- await page.keyboard.press("Tab"); // focus on 1st nav item
45
- await page.keyboard.press("Tab"); // focus on 2nd nav item
46
- await page.keyboard.press("Tab"); // focus on the button in main
47
- let activeEl = await page.evaluate(() => document.activeElement.tagName);
48
- expect(activeEl).toEqual("BUTTON");
49
- });
50
- it("handles focus method when collapsible and closed", async () => {
51
- page.setViewport({ width: 1023, height: 800 });
52
- let activeEl = await page.evaluate(() => document.activeElement.tagName);
53
- expect(activeEl).toEqual("BODY");
54
- nav.focus();
55
- activeEl = await page.evaluate(() => document.activeElement.tagName);
56
- expect(activeEl).toEqual("WM-NAVIGATION-HAMBURGER");
57
- });
58
- it("handles focus method when collapsible and open", async () => {
59
- page.setViewport({ width: 1023, height: 800 });
60
- let activeEl = await page.evaluate(() => document.activeElement.tagName);
61
- expect(activeEl).toEqual("BODY");
62
- expect(nav.getAttribute("aria-expanded")).toBe("false");
63
- hamburger.click();
64
- await page.waitForChanges();
65
- expect(nav.getAttribute("aria-expanded")).toBe("true");
66
- nav.focus();
67
- activeEl = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.tagName);
68
- expect(activeEl).toEqual("WM-BUTTON"); // the close button
69
- });
70
- it("handles focus method when persistent", async () => {
71
- page.setViewport({ width: 1024, height: 800 });
72
- let activeEl = await page.evaluate(() => document.activeElement.tagName);
73
- expect(activeEl).toEqual("BODY");
74
- expect(nav.getAttribute("aria-expanded")).toBeUndefined;
75
- nav.focus();
76
- expect(nav.getAttribute("aria-expanded")).toBeUndefined; // should still be undefined
77
- activeEl = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.textContent);
78
- expect(activeEl).toEqual("Home"); // first item
79
- });
80
- it("is open on load if open prop is set to true", async () => {
81
- page = await newE2EPage();
82
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body>
14
+ nav = await page.find("wm-navigation");
15
+ hamburger = await page.find("wm-navigation-hamburger");
16
+ items = await page.find("wm-navigation-item");
17
+ });
18
+ it("passes Axe checks", async () => {
19
+ const results = await new AxePuppeteer(page).analyze();
20
+ expect(results.violations.length).toBe(1); // there's an false error about aria-controls having a wrong value
21
+ });
22
+ it("renders the component", async () => {
23
+ expect(nav).not.toBeNull();
24
+ expect(hamburger).not.toBeNull();
25
+ expect(items).not.toBeNull();
26
+ });
27
+ it("traps focus when collapsible", async () => {
28
+ // small screen, trap focus
29
+ page.setViewport({ width: 1023, height: 800 });
30
+ page.waitForChanges();
31
+ await page.keyboard.press("Tab"); // focus on hamburger
32
+ await page.keyboard.press("Enter"); // open. focus on close btn
33
+ await page.waitForTimeout(250); // wait for animation to complete and focus to be called
34
+ await page.keyboard.press("Tab"); // focus on 1st nav item
35
+ await page.keyboard.press("Tab"); // focus on 2nd nav item
36
+ await page.keyboard.press("Tab"); // with trap focus we circle back within the nav (on close btn)
37
+ let activeEl = await page.evaluate(() => document.activeElement.tagName);
38
+ expect(activeEl).toEqual("WM-NAVIGATION");
39
+ });
40
+ it("doesn't trap focus when persistent", async () => {
41
+ // wide screen, no trap focus
42
+ page.setViewport({ width: 1024, height: 800 });
43
+ await page.waitForChanges(); // test fails randomly without this
44
+ await page.keyboard.press("Tab"); // focus on 1st nav item
45
+ await page.keyboard.press("Tab"); // focus on 2nd nav item
46
+ await page.keyboard.press("Tab"); // focus on the button in main
47
+ let activeEl = await page.evaluate(() => document.activeElement.tagName);
48
+ expect(activeEl).toEqual("BUTTON");
49
+ });
50
+ it("handles focus method when collapsible and closed", async () => {
51
+ page.setViewport({ width: 1023, height: 800 });
52
+ let activeEl = await page.evaluate(() => document.activeElement.tagName);
53
+ expect(activeEl).toEqual("BODY");
54
+ nav.focus();
55
+ activeEl = await page.evaluate(() => document.activeElement.tagName);
56
+ expect(activeEl).toEqual("WM-NAVIGATION-HAMBURGER");
57
+ });
58
+ it("handles focus method when collapsible and open", async () => {
59
+ page.setViewport({ width: 1023, height: 800 });
60
+ let activeEl = await page.evaluate(() => document.activeElement.tagName);
61
+ expect(activeEl).toEqual("BODY");
62
+ expect(nav.getAttribute("aria-expanded")).toBe("false");
63
+ hamburger.click();
64
+ await page.waitForChanges();
65
+ expect(nav.getAttribute("aria-expanded")).toBe("true");
66
+ nav.focus();
67
+ activeEl = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.tagName);
68
+ expect(activeEl).toEqual("WM-BUTTON"); // the close button
69
+ });
70
+ it("handles focus method when persistent", async () => {
71
+ page.setViewport({ width: 1024, height: 800 });
72
+ let activeEl = await page.evaluate(() => document.activeElement.tagName);
73
+ expect(activeEl).toEqual("BODY");
74
+ expect(nav.getAttribute("aria-expanded")).toBeUndefined;
75
+ nav.focus();
76
+ expect(nav.getAttribute("aria-expanded")).toBeUndefined; // should still be undefined
77
+ activeEl = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.textContent);
78
+ expect(activeEl).toEqual("Home"); // first item
79
+ });
80
+ it("is open on load if open prop is set to true", async () => {
81
+ page = await newE2EPage();
82
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body>
83
83
  <wm-navigation-hamburger nav-id="mynav"></wm-navigation-hamburger>
84
84
  <wm-navigation open id="mynav">
85
85
  <wm-navigation-item href="/home" text="Home" active>Home</wm-navigation-item>
86
86
  <wm-navigation-item href="/things" text="Things">Things</wm-navigation-item>
87
87
  </wm-navigation><main><h1>Title</h1><button>something tabbable here</button>
88
88
  </main></body></html>`);
89
- await page.waitForTimeout(500);
90
- const nav = await page.find("wm-navigation");
91
- expect(nav.getAttribute("aria-expanded")).toBe("true");
92
- });
93
- it("programatically associates hamburger and nav and properly announces to SR", async () => {
94
- const hamburgerAriaControls = hamburger.shadowRoot.querySelector("button").getAttribute("aria-controls");
95
- const hamburgerAriaLabel = hamburger.shadowRoot.querySelector("button").getAttribute("aria-label");
96
- const navAriaLabel = nav.getAttribute("aria-label");
97
- expect(hamburgerAriaControls).toBe(nav.id);
98
- expect(hamburgerAriaLabel).toBe("Show navigation");
99
- expect(navAriaLabel).toBe("Main");
100
- });
101
- // when closed, focus returns to hamburger
89
+ await page.waitForTimeout(500);
90
+ const nav = await page.find("wm-navigation");
91
+ expect(nav.getAttribute("aria-expanded")).toBe("true");
92
+ });
93
+ it("programatically associates hamburger and nav and properly announces to SR", async () => {
94
+ const hamburgerAriaControls = hamburger.shadowRoot.querySelector("button").getAttribute("aria-controls");
95
+ const hamburgerAriaLabel = hamburger.shadowRoot.querySelector("button").getAttribute("aria-label");
96
+ const navAriaLabel = nav.getAttribute("aria-label");
97
+ expect(hamburgerAriaControls).toBe(nav.id);
98
+ expect(hamburgerAriaLabel).toBe("Show navigation");
99
+ expect(navAriaLabel).toBe("Main");
100
+ });
101
+ // when closed, focus returns to hamburger
102
102
  });
@@ -2,216 +2,216 @@ import { h, Host, forceUpdate, } from "@stencil/core";
2
2
  import { intl, throttle } from "../../global/functions";
3
3
  import { globalMessages } from "../../global/intl";
4
4
  export class Navigation {
5
- constructor() {
6
- this.mainNavigationMessage = intl.formatMessage({
7
- id: "navigation.mainNavigation",
8
- defaultMessage: "Main",
9
- description: "Label describing the site navigation, for screen reader users",
10
- });
11
- this.throttledRerender = throttle(() => forceUpdate(this.el), 50);
5
+ constructor() {
6
+ this.mainNavigationMessage = intl.formatMessage({
7
+ id: "navigation.mainNavigation",
8
+ defaultMessage: "Main",
9
+ description: "Label describing the site navigation, for screen reader users",
10
+ });
11
+ this.throttledRerender = throttle(() => forceUpdate(this.el), 50);
12
+ this.open = false;
13
+ this.isTabbing = false;
14
+ }
15
+ get isCollapsible() {
16
+ return window.innerWidth < 1024;
17
+ }
18
+ get ariaExpanded() {
19
+ return this.isCollapsible
20
+ ? // if component is in collapsible mode, set aria-expanded according to expanded state
21
+ this.open.toString()
22
+ : // otherwise, do not render attr at all
23
+ undefined;
24
+ }
25
+ toggleTabbingOn() {
26
+ this.isTabbing = true;
27
+ }
28
+ toggleTabbingOff() {
29
+ this.isTabbing = false;
30
+ }
31
+ closeOnEscape(ev) {
32
+ if (ev.key === "Escape") {
33
+ this.open = false;
34
+ }
35
+ }
36
+ handleWindowResize() {
37
+ // for component to react when breakpoint is crossed
38
+ // (doesn't rerender on window resize)
39
+ this.throttledRerender();
40
+ }
41
+ handleHamburgerClicked() {
42
+ this.open = !this.open;
43
+ }
44
+ handleClickOnItem() {
45
+ this.open = false;
46
+ }
47
+ handleStateChange() {
48
+ if (this.isCollapsible) {
49
+ this.wmNavigationStateChanged.emit();
50
+ this.open ? this.expand() : this.collapse();
51
+ }
52
+ }
53
+ componentWillLoad() {
54
+ if (document.body.classList.contains("wmcl-user-is-tabbing")) {
55
+ this.toggleTabbingOn();
56
+ }
57
+ this.el.focus = () => {
58
+ // in addition to delegatesFocus, we need to highjack the focus method to send focus to the appropriate element based on the navigation's state
59
+ const btn = this.open
60
+ ? this.el.shadowRoot.querySelector(".toggle")
61
+ : document.querySelector("wm-navigation-hamburger");
62
+ const firstItem = this.el.querySelector("wm-navigation-item");
63
+ this.isCollapsible ? btn.focus() : firstItem.focus();
64
+ };
65
+ if (this.isCollapsible && this.open) {
66
+ // hamburger needs to know if open was initially set to true
67
+ this.wmNavigationStateChanged.emit();
68
+ this.expand();
69
+ }
70
+ }
71
+ redirectFocusFromBody(ev) {
72
+ // the 2nd check excludes the case when user clicks on the page when the nav is open,
73
+ // which should not redirect focus
74
+ if (document.activeElement.tagName === "BODY" && !ev.relatedTarget) {
75
+ this.el.focus();
76
+ }
77
+ }
78
+ expand() {
79
+ // listen to focus on body and redirect to the component
80
+ // this is to handle trap focus when user has left the page (e.g. went to the address bar)
81
+ // and is tabbing back in
82
+ document.body.tabIndex = 0;
83
+ document.body.addEventListener("focus", this.redirectFocusFromBody.bind(this), true);
84
+ // wait for nav to be expanded otherwise tooltip will be misplaced.
85
+ setTimeout(() => this.toggleEl.focus(), 250);
86
+ //document.querySelector("wm-navigation")!.shadowRoot!.querySelector(".toggle")!.focus()
87
+ }
88
+ collapse() {
89
+ // rm event listener on body
90
+ document.body.tabIndex = -1;
91
+ document.body.removeEventListener("focus", this.redirectFocusFromBody.bind(this));
92
+ const hamburgerBtn = document.querySelector("wm-navigation-hamburger");
93
+ // should fail silently if el doesn't exist
94
+ // (dev may have chosen not to use the hamburger component)
95
+ if (hamburgerBtn)
96
+ hamburgerBtn.focus();
97
+ }
98
+ focusLastItem() {
99
+ const items = this.el.querySelectorAll("wm-navigation-item");
100
+ const lastItem = Array.from(items).pop();
101
+ lastItem.focus();
102
+ }
103
+ renderOverlay() {
104
+ return (h("div", { class: "overlay", onClick: () => {
12
105
  this.open = false;
13
- this.isTabbing = false;
14
- }
15
- get isCollapsible() {
16
- return window.innerWidth < 1024;
17
- }
18
- get ariaExpanded() {
19
- return this.isCollapsible
20
- ? // if component is in collapsible mode, set aria-expanded according to expanded state
21
- this.open.toString()
22
- : // otherwise, do not render attr at all
23
- undefined;
24
- }
25
- toggleTabbingOn() {
26
- this.isTabbing = true;
27
- }
28
- toggleTabbingOff() {
29
- this.isTabbing = false;
30
- }
31
- closeOnEscape(ev) {
32
- if (ev.key === "Escape") {
33
- this.open = false;
34
- }
35
- }
36
- handleWindowResize() {
37
- // for component to react when breakpoint is crossed
38
- // (doesn't rerender on window resize)
39
- this.throttledRerender();
40
- }
41
- handleHamburgerClicked() {
106
+ } }));
107
+ }
108
+ render() {
109
+ return (h(Host, { role: "navigation", "aria-expanded": this.ariaExpanded, "aria-label": this.mainNavigationMessage }, this.open ? this.renderOverlay() : "", this.isCollapsible && (h("div", { class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.focusLastItem() })), h("div", { class: "tray" }, h("div", { class: "toggle-wrapper" }, h("wm-button", { ref: (el) => (this.toggleEl = el), class: `toggle ${this.isTabbing ? "user-is-tabbing" : ""}`, "button-type": "navigational", icon: this.open ? "f156" : "f35c", "icon-size": "2rem", tooltip: this.open ? globalMessages.close : globalMessages.open, "tooltip-position": "right", tabIndex: this.open ? undefined : -1, onClick: () => {
42
110
  this.open = !this.open;
43
- }
44
- handleClickOnItem() {
45
- this.open = false;
46
- }
47
- handleStateChange() {
48
- if (this.isCollapsible) {
49
- this.wmNavigationStateChanged.emit();
50
- this.open ? this.expand() : this.collapse();
111
+ } })), h("ul", { class: "navlist" }, h("slot", null))), this.isCollapsible && (h("div", { class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.toggleEl.focus() }))));
112
+ }
113
+ static get is() { return "wm-navigation"; }
114
+ static get encapsulation() { return "shadow"; }
115
+ static get delegatesFocus() { return true; }
116
+ static get originalStyleUrls() {
117
+ return {
118
+ "$": ["wm-navigation.scss"]
119
+ };
120
+ }
121
+ static get styleUrls() {
122
+ return {
123
+ "$": ["wm-navigation.css"]
124
+ };
125
+ }
126
+ static get properties() {
127
+ return {
128
+ "open": {
129
+ "type": "boolean",
130
+ "mutable": true,
131
+ "complexType": {
132
+ "original": "boolean",
133
+ "resolved": "boolean",
134
+ "references": {}
135
+ },
136
+ "required": false,
137
+ "optional": false,
138
+ "docs": {
139
+ "tags": [],
140
+ "text": ""
141
+ },
142
+ "attribute": "open",
143
+ "reflect": true,
144
+ "defaultValue": "false"
145
+ }
146
+ };
147
+ }
148
+ static get states() {
149
+ return {
150
+ "isTabbing": {}
151
+ };
152
+ }
153
+ static get events() {
154
+ return [{
155
+ "method": "wmNavigationStateChanged",
156
+ "name": "wmNavigationStateChanged",
157
+ "bubbles": true,
158
+ "cancelable": true,
159
+ "composed": true,
160
+ "docs": {
161
+ "tags": [],
162
+ "text": ""
163
+ },
164
+ "complexType": {
165
+ "original": "any",
166
+ "resolved": "any",
167
+ "references": {}
51
168
  }
52
- }
53
- componentWillLoad() {
54
- if (document.body.classList.contains("wmcl-user-is-tabbing")) {
55
- this.toggleTabbingOn();
56
- }
57
- this.el.focus = () => {
58
- // in addition to delegatesFocus, we need to highjack the focus method to send focus to the appropriate element based on the navigation's state
59
- const btn = this.open
60
- ? this.el.shadowRoot.querySelector(".toggle")
61
- : document.querySelector("wm-navigation-hamburger");
62
- const firstItem = this.el.querySelector("wm-navigation-item");
63
- this.isCollapsible ? btn.focus() : firstItem.focus();
64
- };
65
- if (this.isCollapsible && this.open) {
66
- // hamburger needs to know if open was initially set to true
67
- this.wmNavigationStateChanged.emit();
68
- this.expand();
69
- }
70
- }
71
- redirectFocusFromBody(ev) {
72
- // the 2nd check excludes the case when user clicks on the page when the nav is open,
73
- // which should not redirect focus
74
- if (document.activeElement.tagName === "BODY" && !ev.relatedTarget) {
75
- this.el.focus();
76
- }
77
- }
78
- expand() {
79
- // listen to focus on body and redirect to the component
80
- // this is to handle trap focus when user has left the page (e.g. went to the address bar)
81
- // and is tabbing back in
82
- document.body.tabIndex = 0;
83
- document.body.addEventListener("focus", this.redirectFocusFromBody.bind(this), true);
84
- // wait for nav to be expanded otherwise tooltip will be misplaced.
85
- setTimeout(() => this.toggleEl.focus(), 250);
86
- //document.querySelector("wm-navigation")!.shadowRoot!.querySelector(".toggle")!.focus()
87
- }
88
- collapse() {
89
- // rm event listener on body
90
- document.body.tabIndex = -1;
91
- document.body.removeEventListener("focus", this.redirectFocusFromBody.bind(this));
92
- const hamburgerBtn = document.querySelector("wm-navigation-hamburger");
93
- // should fail silently if el doesn't exist
94
- // (dev may have chosen not to use the hamburger component)
95
- if (hamburgerBtn)
96
- hamburgerBtn.focus();
97
- }
98
- focusLastItem() {
99
- const items = this.el.querySelectorAll("wm-navigation-item");
100
- const lastItem = Array.from(items).pop();
101
- lastItem.focus();
102
- }
103
- renderOverlay() {
104
- return (h("div", { class: "overlay", onClick: () => {
105
- this.open = false;
106
- } }));
107
- }
108
- render() {
109
- return (h(Host, { role: "navigation", "aria-expanded": this.ariaExpanded, "aria-label": this.mainNavigationMessage }, this.open ? this.renderOverlay() : "", this.isCollapsible && (h("div", { class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.focusLastItem() })), h("div", { class: "tray" }, h("div", { class: "toggle-wrapper" }, h("wm-button", { ref: (el) => (this.toggleEl = el), class: `toggle ${this.isTabbing ? "user-is-tabbing" : ""}`, "button-type": "navigational", icon: this.open ? "f156" : "f35c", "icon-size": "2rem", tooltip: this.open ? globalMessages.close : globalMessages.open, "tooltip-position": "right", tabIndex: this.open ? undefined : -1, onClick: () => {
110
- this.open = !this.open;
111
- } })), h("ul", { class: "navlist" }, h("slot", null))), this.isCollapsible && (h("div", { class: "trapfocus", tabindex: this.open ? 0 : undefined, onFocus: () => this.toggleEl.focus() }))));
112
- }
113
- static get is() { return "wm-navigation"; }
114
- static get encapsulation() { return "shadow"; }
115
- static get delegatesFocus() { return true; }
116
- static get originalStyleUrls() {
117
- return {
118
- "$": ["wm-navigation.scss"]
119
- };
120
- }
121
- static get styleUrls() {
122
- return {
123
- "$": ["wm-navigation.css"]
124
- };
125
- }
126
- static get properties() {
127
- return {
128
- "open": {
129
- "type": "boolean",
130
- "mutable": true,
131
- "complexType": {
132
- "original": "boolean",
133
- "resolved": "boolean",
134
- "references": {}
135
- },
136
- "required": false,
137
- "optional": false,
138
- "docs": {
139
- "tags": [],
140
- "text": ""
141
- },
142
- "attribute": "open",
143
- "reflect": true,
144
- "defaultValue": "false"
145
- }
146
- };
147
- }
148
- static get states() {
149
- return {
150
- "isTabbing": {}
151
- };
152
- }
153
- static get events() {
154
- return [{
155
- "method": "wmNavigationStateChanged",
156
- "name": "wmNavigationStateChanged",
157
- "bubbles": true,
158
- "cancelable": true,
159
- "composed": true,
160
- "docs": {
161
- "tags": [],
162
- "text": ""
163
- },
164
- "complexType": {
165
- "original": "any",
166
- "resolved": "any",
167
- "references": {}
168
- }
169
- }];
170
- }
171
- static get elementRef() { return "el"; }
172
- static get watchers() {
173
- return [{
174
- "propName": "open",
175
- "methodName": "handleStateChange"
176
- }];
177
- }
178
- static get listeners() {
179
- return [{
180
- "name": "wmUserIsTabbing",
181
- "method": "toggleTabbingOn",
182
- "target": "window",
183
- "capture": false,
184
- "passive": false
185
- }, {
186
- "name": "wmUserIsNotTabbing",
187
- "method": "toggleTabbingOff",
188
- "target": "window",
189
- "capture": false,
190
- "passive": false
191
- }, {
192
- "name": "keydown",
193
- "method": "closeOnEscape",
194
- "target": undefined,
195
- "capture": false,
196
- "passive": false
197
- }, {
198
- "name": "resize",
199
- "method": "handleWindowResize",
200
- "target": "window",
201
- "capture": false,
202
- "passive": true
203
- }, {
204
- "name": "wmNavigationHamburgerClicked",
205
- "method": "handleHamburgerClicked",
206
- "target": "window",
207
- "capture": false,
208
- "passive": false
209
- }, {
210
- "name": "wmNavigationItemClicked",
211
- "method": "handleClickOnItem",
212
- "target": undefined,
213
- "capture": false,
214
- "passive": false
215
- }];
216
- }
169
+ }];
170
+ }
171
+ static get elementRef() { return "el"; }
172
+ static get watchers() {
173
+ return [{
174
+ "propName": "open",
175
+ "methodName": "handleStateChange"
176
+ }];
177
+ }
178
+ static get listeners() {
179
+ return [{
180
+ "name": "wmUserIsTabbing",
181
+ "method": "toggleTabbingOn",
182
+ "target": "window",
183
+ "capture": false,
184
+ "passive": false
185
+ }, {
186
+ "name": "wmUserIsNotTabbing",
187
+ "method": "toggleTabbingOff",
188
+ "target": "window",
189
+ "capture": false,
190
+ "passive": false
191
+ }, {
192
+ "name": "keydown",
193
+ "method": "closeOnEscape",
194
+ "target": undefined,
195
+ "capture": false,
196
+ "passive": false
197
+ }, {
198
+ "name": "resize",
199
+ "method": "handleWindowResize",
200
+ "target": "window",
201
+ "capture": false,
202
+ "passive": true
203
+ }, {
204
+ "name": "wmNavigationHamburgerClicked",
205
+ "method": "handleHamburgerClicked",
206
+ "target": "window",
207
+ "capture": false,
208
+ "passive": false
209
+ }, {
210
+ "name": "wmNavigationItemClicked",
211
+ "method": "handleClickOnItem",
212
+ "target": undefined,
213
+ "capture": false,
214
+ "passive": false
215
+ }];
216
+ }
217
217
  }