@watermarkinsights/ripple 4.3.0 → 4.4.0-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 (371) hide show
  1. package/dist/cjs/chartFunctions-cecf8134.js +600 -0
  2. package/dist/cjs/{functions-91da05e9.js → functions-4208c444.js} +362 -362
  3. package/dist/cjs/{global-20d48c6c.js → global-bd289a67.js} +24 -24
  4. package/dist/cjs/{index-fae02cd7.js → index-f8ef86de.js} +436 -150
  5. package/dist/cjs/interfaces-ad9e80a6.js +38 -0
  6. package/dist/cjs/intl-3fafc6d1.js +179 -0
  7. package/dist/cjs/loader.cjs.js +4 -13
  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 +4 -7
  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 +462 -462
  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 +179 -179
  26. package/dist/cjs/wm-navigator.cjs.entry.js +255 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +710 -710
  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 +99 -99
  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 +257 -254
  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 +382 -381
  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 +1 -2
  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 +731 -731
  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 +454 -452
  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 +943 -939
  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 +1 -2
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +415 -413
  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 +446 -436
  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.e2e.js +65 -65
  85. package/dist/collection/components/wm-modal/wm-modal.js +299 -296
  86. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  87. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -1
  88. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +112 -112
  89. package/dist/collection/components/wm-navigation/wm-navigation-item.js +125 -125
  90. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -2
  91. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +86 -86
  92. package/dist/collection/components/wm-navigation/wm-navigation.js +209 -209
  93. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +79 -79
  94. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +30 -30
  95. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +103 -103
  96. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +119 -118
  97. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  98. package/dist/collection/components/wm-navigator/wm-navigator.js +458 -454
  99. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  100. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  101. package/dist/collection/components/wm-option/wm-option.js +474 -463
  102. package/dist/collection/components/wm-option/wm-option.spec.js +39 -39
  103. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +301 -301
  104. package/dist/collection/components/wm-pagination/wm-pagination.js +327 -327
  105. package/dist/collection/components/wm-search/wm-search.e2e.js +69 -69
  106. package/dist/collection/components/wm-search/wm-search.js +415 -414
  107. package/dist/collection/components/wm-search/wm-search.spec.js +64 -64
  108. package/dist/collection/components/wm-select/wm-select.e2e.js +443 -443
  109. package/dist/collection/components/wm-select/wm-select.js +967 -966
  110. package/dist/collection/components/wm-select/wm-select.spec.js +250 -250
  111. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +114 -114
  112. package/dist/collection/components/wm-snackbar/wm-snackbar.js +209 -207
  113. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +4 -4
  114. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +190 -188
  115. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +261 -261
  116. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  117. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +79 -79
  118. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +6 -6
  119. package/dist/collection/components/wm-tag-input/wm-tag-input.css +2 -4
  120. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +168 -168
  121. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1159 -1159
  122. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +147 -147
  123. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +236 -234
  124. package/dist/collection/components/wm-timepicker/wm-timepicker.css +1 -2
  125. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  126. package/dist/collection/components/wm-timepicker/wm-timepicker.js +531 -527
  127. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +151 -151
  128. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +61 -61
  129. package/dist/collection/components/wm-toggletip/wm-toggletip.js +209 -208
  130. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +16 -16
  131. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +56 -56
  132. package/dist/collection/components/wm-uploader/wm-uploader.js +423 -422
  133. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +149 -149
  134. package/dist/collection/components/wm-wrapper/wm-wrapper.js +26 -26
  135. package/dist/collection/global/__mocks__/functions.js +1 -1
  136. package/dist/collection/global/functions.js +510 -510
  137. package/dist/collection/global/functions.spec.js +123 -123
  138. package/dist/collection/global/global.js +16 -16
  139. package/dist/collection/global/interfaces.js +39 -39
  140. package/dist/collection/global/intl.js +162 -162
  141. package/dist/collection/global/services/__mocks__/http-service.js +112 -112
  142. package/dist/collection/global/services/http-service.js +41 -41
  143. package/dist/collection/global/themes/default.js +4 -4
  144. package/dist/collection/global/themes/neutral.js +4 -4
  145. package/dist/collection/lang/lang.spec.js +13 -13
  146. package/dist/esm/chartFunctions-23173fce.js +584 -0
  147. package/dist/esm/{functions-5afd09f4.js → functions-d0e70094.js} +362 -362
  148. package/dist/esm/{global-d4a9e80e.js → global-4569c7b8.js} +24 -24
  149. package/dist/esm/{index-7e11ea42.js → index-f164fbca.js} +436 -150
  150. package/dist/esm/interfaces-9b75fb61.js +35 -0
  151. package/dist/esm/intl-05c9e0c9.js +174 -0
  152. package/dist/esm/loader.js +5 -14
  153. package/dist/esm/priv-chart-popover.entry.js +85 -85
  154. package/dist/esm/priv-datepicker.entry.js +637 -637
  155. package/dist/esm/priv-navigator-button.entry.js +18 -18
  156. package/dist/esm/priv-navigator-item.entry.js +21 -21
  157. package/dist/esm/ripple.js +5 -8
  158. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  159. package/dist/esm/wm-button.entry.js +174 -174
  160. package/dist/esm/wm-chart-slice.entry.js +17 -17
  161. package/dist/esm/wm-chart.entry.js +164 -164
  162. package/dist/esm/wm-datepicker.entry.js +160 -160
  163. package/dist/esm/wm-file-list.entry.js +10 -10
  164. package/dist/esm/wm-file.entry.js +178 -178
  165. package/dist/esm/wm-input.entry.js +102 -102
  166. package/dist/esm/wm-line-chart.entry.js +462 -462
  167. package/dist/esm/wm-modal-footer.entry.js +27 -27
  168. package/dist/esm/wm-modal-header.entry.js +21 -21
  169. package/dist/esm/wm-modal.entry.js +92 -92
  170. package/dist/esm/wm-navigation_3.entry.js +179 -179
  171. package/dist/esm/wm-navigator.entry.js +255 -251
  172. package/dist/esm/wm-option_2.entry.js +710 -710
  173. package/dist/esm/wm-pagination.entry.js +169 -169
  174. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  175. package/dist/esm/wm-search.entry.js +192 -192
  176. package/dist/esm/wm-snackbar.entry.js +114 -114
  177. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  178. package/dist/esm/wm-tag-input.entry.js +849 -849
  179. package/dist/esm/wm-tag-option.entry.js +33 -33
  180. package/dist/esm/wm-timepicker.entry.js +270 -270
  181. package/dist/esm/wm-toggletip.entry.js +99 -99
  182. package/dist/esm/wm-uploader.entry.js +198 -198
  183. package/dist/esm/wm-wrapper.entry.js +12 -12
  184. package/dist/esm-es5/chartFunctions-23173fce.js +1 -0
  185. package/dist/esm-es5/functions-d0e70094.js +1 -0
  186. package/dist/esm-es5/global-4569c7b8.js +1 -0
  187. package/dist/esm-es5/index-f164fbca.js +2 -0
  188. package/dist/esm-es5/{intl-e2da750a.js → intl-05c9e0c9.js} +1 -1
  189. package/dist/esm-es5/loader.js +1 -1
  190. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  191. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  192. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  193. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  194. package/dist/esm-es5/ripple.js +1 -1
  195. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  196. package/dist/esm-es5/wm-button.entry.js +1 -1
  197. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  198. package/dist/esm-es5/wm-chart.entry.js +1 -1
  199. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  200. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  201. package/dist/esm-es5/wm-file.entry.js +1 -1
  202. package/dist/esm-es5/wm-input.entry.js +1 -1
  203. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  204. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  205. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  206. package/dist/esm-es5/wm-modal.entry.js +1 -1
  207. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  208. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  209. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  210. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  211. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  212. package/dist/esm-es5/wm-search.entry.js +1 -1
  213. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  214. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  215. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  216. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  217. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  218. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  219. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  220. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  221. package/dist/loader/index.d.ts +1 -1
  222. package/dist/ripple/p-028ef6db.system.entry.js +1 -0
  223. package/dist/ripple/{p-863e737a.js → p-05d4e49b.js} +1 -1
  224. package/dist/ripple/{p-a1e95b05.system.entry.js → p-06776596.system.entry.js} +1 -1
  225. package/dist/ripple/{p-622a7791.system.entry.js → p-067d7922.system.entry.js} +1 -1
  226. package/dist/ripple/p-09d62ddd.entry.js +1 -0
  227. package/dist/ripple/{p-f30839a1.system.entry.js → p-0ecbf569.system.entry.js} +1 -1
  228. package/dist/ripple/p-0fe97e85.system.js +2 -0
  229. package/dist/ripple/{p-24b08e1f.js → p-13ca30d8.js} +1 -1
  230. package/dist/ripple/{p-8f3f903f.system.js → p-1402cfa2.system.js} +1 -1
  231. package/dist/ripple/p-1453ea51.system.entry.js +1 -0
  232. package/dist/ripple/{p-6abb903c.entry.js → p-153701f9.entry.js} +1 -1
  233. package/dist/ripple/p-1cc91907.system.js +1 -0
  234. package/dist/ripple/{p-ad37cdfd.entry.js → p-1d8b0039.entry.js} +1 -1
  235. package/dist/ripple/{p-d0f1b8c4.system.entry.js → p-1fa2a756.system.entry.js} +1 -1
  236. package/dist/ripple/{p-a52c5a1c.entry.js → p-25446670.entry.js} +1 -1
  237. package/dist/ripple/{p-1283e85d.entry.js → p-27f47edc.entry.js} +1 -1
  238. package/dist/ripple/{p-32b1126c.system.entry.js → p-28e4583c.system.entry.js} +1 -1
  239. package/dist/ripple/{p-a5b23781.system.entry.js → p-2c4f312d.system.entry.js} +1 -1
  240. package/dist/ripple/p-30b17818.system.entry.js +1 -0
  241. package/dist/ripple/{p-0631be01.system.entry.js → p-3446852f.system.entry.js} +1 -1
  242. package/dist/ripple/{p-ae674a54.entry.js → p-350fe5da.entry.js} +1 -1
  243. package/dist/ripple/{p-d04ba5f8.system.entry.js → p-3583d113.system.entry.js} +1 -1
  244. package/dist/ripple/{p-cbd8a60b.system.entry.js → p-361cc8fc.system.entry.js} +1 -1
  245. package/dist/ripple/{p-7529706d.entry.js → p-372faf33.entry.js} +1 -1
  246. package/dist/ripple/{p-19773c40.entry.js → p-3a070f35.entry.js} +1 -1
  247. package/dist/ripple/{p-c7b5ac39.js → p-3af72848.js} +1 -1
  248. package/dist/ripple/{p-c41603e6.entry.js → p-42ebfcfa.entry.js} +1 -1
  249. package/dist/ripple/{p-13594c2e.entry.js → p-43e2a49a.entry.js} +1 -1
  250. package/dist/ripple/{p-ed942b42.entry.js → p-49118468.entry.js} +1 -1
  251. package/dist/ripple/p-49c85d1a.system.js +1 -0
  252. package/dist/ripple/p-4de51706.js +2 -0
  253. package/dist/ripple/{p-3c80bf67.entry.js → p-58174f4e.entry.js} +1 -1
  254. package/dist/ripple/{p-c5e8f8a5.system.entry.js → p-5a4d9897.system.entry.js} +1 -1
  255. package/dist/ripple/{p-e3f0b57f.system.entry.js → p-5ac980e2.system.entry.js} +1 -1
  256. package/dist/ripple/{p-3becce62.system.entry.js → p-633cd89a.system.entry.js} +1 -1
  257. package/dist/ripple/{p-1205fdc1.entry.js → p-63f75d43.entry.js} +1 -1
  258. package/dist/ripple/{p-90ea7e3a.system.entry.js → p-67d48c33.system.entry.js} +1 -1
  259. package/dist/ripple/{p-8ef87907.entry.js → p-6caaf85f.entry.js} +1 -1
  260. package/dist/ripple/{p-935513f8.entry.js → p-6cf7a34a.entry.js} +1 -1
  261. package/dist/ripple/p-73289c2c.system.js +1 -0
  262. package/dist/ripple/{p-c76bbedf.system.entry.js → p-7a8816d9.system.entry.js} +1 -1
  263. package/dist/ripple/{p-8ea68cb3.system.entry.js → p-7e56da2e.system.entry.js} +1 -1
  264. package/dist/ripple/{p-deb4f5a2.entry.js → p-7e8daaac.entry.js} +1 -1
  265. package/dist/ripple/p-88406560.system.entry.js +1 -0
  266. package/dist/ripple/{p-84a7e757.entry.js → p-8cace32f.entry.js} +1 -1
  267. package/dist/ripple/{p-80aef387.entry.js → p-8d4734ad.entry.js} +1 -1
  268. package/dist/ripple/p-8f76a838.system.entry.js +1 -0
  269. package/dist/ripple/p-934c1b6b.js +1 -0
  270. package/dist/ripple/{p-85f744ed.system.js → p-9fecbc8a.system.js} +1 -1
  271. package/dist/ripple/{p-b71a83e3.entry.js → p-a69c37e0.entry.js} +1 -1
  272. package/dist/ripple/{p-9288659b.entry.js → p-a82a8931.entry.js} +1 -1
  273. package/dist/ripple/p-a99b05de.system.entry.js +1 -0
  274. package/dist/ripple/{p-36049d2f.entry.js → p-aadf8c59.entry.js} +1 -1
  275. package/dist/ripple/{p-676c1089.system.entry.js → p-aba5a00e.system.entry.js} +1 -1
  276. package/dist/ripple/{p-0aecac86.entry.js → p-ad6dc751.entry.js} +1 -1
  277. package/dist/ripple/{p-0f1ff645.entry.js → p-b253d2fc.entry.js} +1 -1
  278. package/dist/ripple/p-b2ff4723.system.entry.js +1 -0
  279. package/dist/ripple/{p-a0bf5eef.entry.js → p-b452d1d7.entry.js} +1 -1
  280. package/dist/ripple/{p-1cde16a7.system.entry.js → p-b4d862e1.system.entry.js} +1 -1
  281. package/dist/ripple/{p-d496bc44.system.entry.js → p-bdd4f919.system.entry.js} +1 -1
  282. package/dist/ripple/p-c18b398c.system.js +1 -0
  283. package/dist/ripple/{p-8f8c3705.entry.js → p-c249063c.entry.js} +1 -1
  284. package/dist/ripple/p-c344a69c.entry.js +1 -0
  285. package/dist/ripple/{p-0d9f70ab.entry.js → p-c717d895.entry.js} +1 -1
  286. package/dist/ripple/{p-2e773564.system.entry.js → p-c96a5c94.system.entry.js} +1 -1
  287. package/dist/ripple/{p-15497721.system.entry.js → p-ceced3d9.system.entry.js} +1 -1
  288. package/dist/ripple/{p-d428e9bb.system.entry.js → p-d16f91e9.system.entry.js} +1 -1
  289. package/dist/ripple/{p-ff14e4ec.system.entry.js → p-d3f9d028.system.entry.js} +1 -1
  290. package/dist/ripple/{p-7962f562.entry.js → p-de349bee.entry.js} +1 -1
  291. package/dist/ripple/{p-b3c73bc9.entry.js → p-e24ddae1.entry.js} +1 -1
  292. package/dist/ripple/{p-b3e08b14.system.entry.js → p-e8b58666.system.entry.js} +1 -1
  293. package/dist/ripple/{p-a9c096b5.entry.js → p-fa87bce3.entry.js} +1 -1
  294. package/dist/ripple/ripple.esm.js +1 -1
  295. package/dist/ripple/ripple.js +16 -20
  296. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  297. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  298. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  299. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  300. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +74 -74
  301. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  302. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  303. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  304. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  305. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  306. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  307. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  308. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  309. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  310. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  311. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  312. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  313. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  314. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  315. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  316. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  317. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  318. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  319. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  320. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  321. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  322. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  323. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  324. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  325. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  326. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  327. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  328. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  329. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +114 -114
  330. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +15 -15
  331. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  332. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  333. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  334. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  335. package/dist/types/components.d.ts +382 -0
  336. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  337. package/dist/types/global/functions.d.ts +4 -4
  338. package/dist/types/global/interfaces.d.ts +49 -49
  339. package/dist/types/global/intl.d.ts +31 -31
  340. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  341. package/dist/types/stencil-public-runtime.d.ts +46 -5
  342. package/package.json +1 -1
  343. package/dist/cjs/chartFunctions-2c3e010e.js +0 -600
  344. package/dist/cjs/interfaces-245d7bff.js +0 -38
  345. package/dist/cjs/intl-fa3bb4ae.js +0 -179
  346. package/dist/esm/chartFunctions-36634c04.js +0 -584
  347. package/dist/esm/interfaces-89cad2fc.js +0 -35
  348. package/dist/esm/intl-e2da750a.js +0 -174
  349. package/dist/esm/polyfills/css-shim.js +0 -1
  350. package/dist/esm-es5/chartFunctions-36634c04.js +0 -1
  351. package/dist/esm-es5/functions-5afd09f4.js +0 -1
  352. package/dist/esm-es5/global-d4a9e80e.js +0 -1
  353. package/dist/esm-es5/index-7e11ea42.js +0 -2
  354. package/dist/ripple/p-00acacbe.system.entry.js +0 -1
  355. package/dist/ripple/p-0f889b84.system.js +0 -1
  356. package/dist/ripple/p-13af8346.entry.js +0 -1
  357. package/dist/ripple/p-16363e1c.system.entry.js +0 -1
  358. package/dist/ripple/p-2a95b63f.system.entry.js +0 -1
  359. package/dist/ripple/p-30bf24f8.system.js +0 -2
  360. package/dist/ripple/p-3248c0fa.system.entry.js +0 -1
  361. package/dist/ripple/p-47c20b05.entry.js +0 -1
  362. package/dist/ripple/p-56d64283.system.entry.js +0 -1
  363. package/dist/ripple/p-5e85967a.system.js +0 -1
  364. package/dist/ripple/p-9b2034f6.js +0 -1
  365. package/dist/ripple/p-a3d07be5.system.js +0 -1
  366. package/dist/ripple/p-a6be3cca.system.entry.js +0 -1
  367. package/dist/ripple/p-aafa111a.system.js +0 -1
  368. package/dist/ripple/p-b5bedd63.js +0 -2
  369. package/dist/ripple/p-bd537299.system.entry.js +0 -1
  370. /package/dist/esm-es5/{interfaces-89cad2fc.js → interfaces-9b75fb61.js} +0 -0
  371. /package/dist/ripple/{p-c0c111fd.js → p-196eb2f3.js} +0 -0
@@ -3,465 +3,469 @@ import { getWmMode } from "../../global/interfaces";
3
3
  import { intl, snakeCaseToCamelCase, getNewIndexToFocus } from "../../global/functions";
4
4
  import { getRequest } from "../../global/services/http-service";
5
5
  export class Navigator {
6
- constructor() {
7
- // comp can check whether the info was successfully retrieved with:
8
- this.retrievedInfo = !this.loadFromUserinfo; // when in endpoint mode, only render after get request completed
9
- // used either way to store the products
10
- this.parsedProducts = [];
11
- this.openRight = false; // whether the menu should open on the right side
12
- this.userName = undefined;
13
- this.email = undefined;
14
- this.authType = 1;
15
- this.connectionName = undefined;
16
- this.logoutUrl = undefined;
17
- this.products = undefined;
18
- this.loadFromUserinfo = false;
19
- this.isOpen = false;
20
- this.isTabbing = false;
21
- this.itemIndexToFocus = 0;
22
- }
23
- async componentWillLoad() {
24
- if (!this.userName) {
25
- console.error("wm-navigator: user-name is a required property.");
26
- }
27
- await this.parseData();
28
- this.setFocusIndex();
29
- }
30
- // async because we need the http request to complete before proceeding
31
- async parseData() {
32
- if (!!this.loadFromUserinfo) {
33
- await getRequest("/platform/navigator/userinfo")
34
- .then((response) => {
35
- this.email = response.email;
36
- this.currentProductId = response.current_product_id;
37
- this.parsedProducts = this.productKeysToCamelCase(response.products);
38
- this.logoutUrl = this.logoutUrl ? this.logoutUrl : response.logout_url;
39
- this.connectionName = this.connectionName ? this.connectionName : response.connection_name;
40
- if (!!this.email && !!this.currentProductId) {
41
- this.retrievedInfo = true;
6
+ constructor() {
7
+ // comp can check whether the info was successfully retrieved with:
8
+ this.retrievedInfo = !this.loadFromUserinfo; // when in endpoint mode, only render after get request completed
9
+ // used either way to store the products
10
+ this.parsedProducts = [];
11
+ this.openRight = false; // whether the menu should open on the right side
12
+ this.userName = undefined;
13
+ this.email = undefined;
14
+ this.authType = 1;
15
+ this.connectionName = undefined;
16
+ this.logoutUrl = undefined;
17
+ this.products = undefined;
18
+ this.loadFromUserinfo = false;
19
+ this.isOpen = false;
20
+ this.isTabbing = false;
21
+ this.itemIndexToFocus = 0;
22
+ }
23
+ async componentWillLoad() {
24
+ if (!this.userName) {
25
+ console.error("wm-navigator: user-name is a required property.");
42
26
  }
43
- })
44
- .catch((errStatus) => {
45
- console.error(errStatus);
46
- });
47
- }
48
- else {
49
- this.currentProductId = getWmMode(this.el);
50
- if (!!this.products) {
51
- if (typeof this.products === "string") {
52
- this.parsedProducts = JSON.parse(this.products);
27
+ await this.parseData();
28
+ this.setFocusIndex();
29
+ }
30
+ // async because we need the http request to complete before proceeding
31
+ async parseData() {
32
+ if (!!this.loadFromUserinfo) {
33
+ await getRequest("/platform/navigator/userinfo")
34
+ .then((response) => {
35
+ this.email = response.email;
36
+ this.currentProductId = response.current_product_id;
37
+ this.parsedProducts = this.productKeysToCamelCase(response.products);
38
+ this.logoutUrl = this.logoutUrl ? this.logoutUrl : response.logout_url;
39
+ this.connectionName = this.connectionName ? this.connectionName : response.connection_name;
40
+ if (!!this.email && !!this.currentProductId) {
41
+ this.retrievedInfo = true;
42
+ }
43
+ })
44
+ .catch((errStatus) => {
45
+ console.error(errStatus);
46
+ });
53
47
  }
54
48
  else {
55
- this.parsedProducts = this.products;
49
+ this.currentProductId = getWmMode(this.el);
50
+ if (!!this.products) {
51
+ if (typeof this.products === "string") {
52
+ this.parsedProducts = JSON.parse(this.products);
53
+ }
54
+ else {
55
+ this.parsedProducts = this.products;
56
+ }
57
+ this.parsedProducts = this.productKeysToCamelCase(this.parsedProducts);
58
+ }
59
+ }
60
+ // products is initialized as empty array in case nothing is passed
61
+ this.parsedProducts.sort((a, b) => (a.name < b.name ? -1 : 1));
62
+ }
63
+ productKeysToCamelCase(products) {
64
+ products = products.map((product) => {
65
+ const keys = Object.keys(product);
66
+ let newProduct = {};
67
+ keys.forEach((key) => {
68
+ newProduct[snakeCaseToCamelCase(key)] = product[key];
69
+ });
70
+ return newProduct;
71
+ });
72
+ return products;
73
+ }
74
+ /**
75
+ * Sets index to focus on open to the selected product. This index resets it when the menu closes.
76
+ */
77
+ setFocusIndex() {
78
+ if (this.parsedProducts.length > 1) {
79
+ const currentProduct = this.getProduct(this.currentProductId);
80
+ if (currentProduct) {
81
+ this.itemIndexToFocus = this.parsedProducts.indexOf(currentProduct);
82
+ }
83
+ }
84
+ }
85
+ toggleTabbingOn() {
86
+ this.isTabbing = true;
87
+ }
88
+ toggleTabbingOff() {
89
+ this.isTabbing = false;
90
+ }
91
+ handleKeys(ev) {
92
+ switch (ev.key) {
93
+ case "Escape":
94
+ ev.preventDefault();
95
+ this.closeMenu();
96
+ break;
97
+ case "ArrowDown":
98
+ case "ArrowUp":
99
+ ev.preventDefault();
100
+ if (!this.isOpen) {
101
+ this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, ev.key, this.navigatorItems.length);
102
+ this.openMenu();
103
+ }
104
+ break;
105
+ }
106
+ }
107
+ handleKeydown(ev) {
108
+ const key = ev.detail.key;
109
+ const item = ev.detail.navItem;
110
+ switch (key) {
111
+ case "Tab":
112
+ this.closeMenu(false);
113
+ break;
114
+ case "Enter":
115
+ case " ":
116
+ item.click();
117
+ break;
118
+ case "ArrowDown":
119
+ case "ArrowUp":
120
+ const oldIndex = this.itemIndexToFocus;
121
+ this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, key, this.navigatorItems.length);
122
+ this.focusItem();
123
+ this.unfocusItem(oldIndex);
124
+ break;
56
125
  }
57
- this.parsedProducts = this.productKeysToCamelCase(this.parsedProducts);
58
- }
59
- }
60
- // products is initialized as empty array in case nothing is passed
61
- this.parsedProducts.sort((a, b) => (a.name < b.name ? -1 : 1));
62
- }
63
- productKeysToCamelCase(products) {
64
- products = products.map((product) => {
65
- const keys = Object.keys(product);
66
- let newProduct = {};
67
- keys.forEach((key) => {
68
- newProduct[snakeCaseToCamelCase(key)] = product[key];
69
- });
70
- return newProduct;
71
- });
72
- return products;
73
- }
74
- /**
75
- * Sets index to focus on open to the selected product. This index resets it when the menu closes.
76
- */
77
- setFocusIndex() {
78
- if (this.parsedProducts.length > 1) {
79
- const currentProduct = this.getProduct(this.currentProductId);
80
- if (currentProduct) {
81
- this.itemIndexToFocus = this.parsedProducts.indexOf(currentProduct);
82
- }
83
- }
84
- }
85
- toggleTabbingOn() {
86
- this.isTabbing = true;
87
- }
88
- toggleTabbingOff() {
89
- this.isTabbing = false;
90
- }
91
- handleKeys(ev) {
92
- switch (ev.key) {
93
- case "Escape":
94
- ev.preventDefault();
95
- this.closeMenu();
96
- break;
97
- case "ArrowDown":
98
- case "ArrowUp":
99
- ev.preventDefault();
100
- if (!this.isOpen) {
101
- this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, ev.key, this.navigatorItems.length);
102
- this.openMenu();
126
+ }
127
+ handleClick(ev) {
128
+ const isElOrChild = ev.target === this.el || this.el.contains(ev.target);
129
+ if (!isElOrChild && this.isOpen) {
130
+ this.closeMenu(false);
131
+ }
132
+ }
133
+ handleButtonClick() {
134
+ this.isOpen ? this.closeMenu() : this.openMenu();
135
+ }
136
+ openMenu() {
137
+ if (this.wrapperEl) {
138
+ const wrapperWidth = this.wrapperEl.clientWidth;
139
+ const spaceLeft = this.el.getBoundingClientRect().left;
140
+ const spaceRight = document.documentElement.clientWidth - this.el.getBoundingClientRect().right;
141
+ this.openRight = wrapperWidth > spaceLeft && spaceRight > spaceLeft;
103
142
  }
104
- break;
105
- }
106
- }
107
- handleKeydown(ev) {
108
- const key = ev.detail.key;
109
- const item = ev.detail.navItem;
110
- switch (key) {
111
- case "Tab":
112
- this.closeMenu();
113
- break;
114
- case "Enter":
115
- case " ":
116
- item.click();
117
- break;
118
- case "ArrowDown":
119
- case "ArrowUp":
120
- const oldIndex = this.itemIndexToFocus;
121
- this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, key, this.navigatorItems.length);
143
+ this.isOpen = true;
122
144
  this.focusItem();
123
- this.unfocusItem(oldIndex);
124
- break;
125
- }
126
- }
127
- handleClick(ev) {
128
- const isElOrChild = ev.target === this.el || this.el.contains(ev.target);
129
- if (!isElOrChild && this.isOpen) {
130
- this.closeMenu();
131
- }
132
- }
133
- handleButtonClick() {
134
- this.isOpen ? this.closeMenu() : this.openMenu();
135
- }
136
- openMenu() {
137
- if (this.wrapperEl) {
138
- const wrapperWidth = this.wrapperEl.clientWidth;
139
- const spaceLeft = this.el.getBoundingClientRect().left;
140
- const spaceRight = document.documentElement.clientWidth - this.el.getBoundingClientRect().right;
141
- this.openRight = wrapperWidth > spaceLeft && spaceRight > spaceLeft;
142
- }
143
- this.isOpen = true;
144
- this.focusItem();
145
- }
146
- closeMenu() {
147
- this.isOpen = false;
148
- this.buttonFocusHandler();
149
- this.unfocusItem(this.itemIndexToFocus);
150
- this.setFocusIndex();
151
- }
152
- focusItem() {
153
- const newSelection = this.navigatorItems[this.itemIndexToFocus];
154
- newSelection.tabIndex = 0;
155
- newSelection.focused = true;
156
- window.requestAnimationFrame(() => newSelection.focus());
157
- }
158
- unfocusItem(index) {
159
- const oldSelection = this.navigatorItems[index];
160
- oldSelection.tabIndex = -1;
161
- oldSelection.focused = false;
162
- }
163
- buttonFocusHandler() {
164
- const hostButton = this.el.shadowRoot.querySelector("priv-navigator-button");
165
- const button = hostButton.shadowRoot.querySelector("button");
166
- window.requestAnimationFrame(() => button.focus());
167
- }
168
- /**
169
- * HELPERS FOR RENDER
170
- */
171
- renderUserInfo() {
172
- return (h("div", { class: "user", id: "wm-nav-user", "aria-label": intl.formatMessage({
173
- id: "navigator.userinfoLabel",
174
- defaultMessage: "for {name}, email {email}",
175
- }, { name: this.userName, email: this.email }) }, h("p", null, this.userName), h("p", null, this.email)));
176
- }
177
- setAltText() {
178
- if (this.parsedProducts.length > 1) {
179
- return intl.formatMessage({
180
- id: "navigator.userinfoAndProductNavigator",
181
- defaultMessage: "User information and product navigator",
182
- });
183
- }
184
- else {
185
- return intl.formatMessage({
186
- id: "navigator.userinfo",
187
- defaultMessage: "User information",
188
- });
189
- }
190
- }
191
- renderHeading() {
192
- return (h("h2", null, intl.formatMessage({
193
- id: "navigator.watermarkApps",
194
- defaultMessage: "Watermark Apps",
195
- description: "Applications made by Watermark Insights",
196
- })));
197
- }
198
- renderList() {
199
- return (h("ul", { role: "listbox", "aria-label": `${intl.formatMessage({
200
- id: "navigator.WatermarkAppNavigation",
201
- defaultMessage: "Watermark App Navigation",
202
- description: "list of applications by Watermark Insights",
203
- })}`, "aria-describedby": "wm-nav-user" }, this.parsedProducts.length > 1 && this.renderProductOptions(), this.renderLogoutOption()));
204
- }
205
- renderProductOptions() {
206
- return this.parsedProducts.map((product) => {
207
- let name, icon, isSelected, clickRedirect;
208
- name = product.name;
209
- icon = product.iconUrl;
210
- clickRedirect = this.setProductOnClick(product.id);
211
- if (!!name && !!icon) {
212
- isSelected = this.currentProductId === product.id;
213
- return (h("priv-navigator-item", { selected: isSelected, id: product.id, onClick: clickRedirect, role: "option", "aria-label": name }, h("img", { src: icon, alt: name })));
214
- }
215
- });
216
- }
217
- setProductOnClick(productId) {
218
- const product = this.getProduct(productId);
219
- if (this.currentProductId === productId) {
220
- return () => { };
221
- }
222
- else if (product) {
223
- if (!!this.loadFromUserinfo || this.authType === 2) {
224
- return () => (window.location.href = product.linkUrl);
225
- }
226
- else if (this.authType === 3) {
227
- // products passed as prop, saml
228
- const connName = this.connectionName ? `/?connection_name=${this.connectionName}` : "";
229
- return () => (window.location.href = product.samlLinkUrl + connName);
230
- }
231
- }
232
- }
233
- renderLogoutOption() {
234
- return (h("priv-navigator-item", { class: "logout", selected: !(this.parsedProducts.length > 1), id: "nav-logout", onClick: this.setLogoutOnclick(), role: "option" }, h("span", { class: "logout" }, intl.formatMessage({
235
- id: "navigator.logout",
236
- defaultMessage: "Log Out",
237
- }))));
238
- }
239
- setLogoutOnclick() {
240
- // The logout item will always emit a custom event on click so that the dev can run any business logic specific to the app on logout (e.g., clearing local storage).
241
- // It will only redirect if the dev has set the logoutUrl. If some sort of custom redirect is needed, the logoutUrl should not be set.
242
- return () => {
243
- this.wmNavigatorLogout.emit();
244
- if (this.logoutUrl) {
245
- window.location.href = this.logoutUrl;
246
- }
247
- };
248
- }
249
- get navigatorItems() {
250
- return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"));
251
- }
252
- getProduct(id) {
253
- return this.parsedProducts.find((product) => product.id === id);
254
- }
255
- render() {
256
- return this.retrievedInfo ? (h(Host, { class: this.isTabbing ? "user-is-tabbing" : "" }, h("priv-navigator-button", { expanded: this.isOpen, altText: this.setAltText(), isTabbing: this.isTabbing }), h("div", { class: `wrapper ${this.isOpen ? "" : "hide"} ${this.openRight ? "right" : ""}`, ref: (el) => (this.wrapperEl = el) }, this.renderUserInfo(), this.parsedProducts.length > 1 && this.renderHeading(), this.renderList()))) : ("");
257
- }
258
- static get is() { return "wm-navigator"; }
259
- static get encapsulation() { return "shadow"; }
260
- static get delegatesFocus() { return true; }
261
- static get originalStyleUrls() {
262
- return {
263
- "$": ["wm-navigator.scss"]
264
- };
265
- }
266
- static get styleUrls() {
267
- return {
268
- "$": ["wm-navigator.css"]
269
- };
270
- }
271
- static get properties() {
272
- return {
273
- "userName": {
274
- "type": "string",
275
- "mutable": false,
276
- "complexType": {
277
- "original": "string",
278
- "resolved": "string | undefined",
279
- "references": {}
280
- },
281
- "required": false,
282
- "optional": true,
283
- "docs": {
284
- "tags": [],
285
- "text": ""
286
- },
287
- "attribute": "user-name",
288
- "reflect": false
289
- },
290
- "email": {
291
- "type": "string",
292
- "mutable": false,
293
- "complexType": {
294
- "original": "string",
295
- "resolved": "string | undefined",
296
- "references": {}
297
- },
298
- "required": false,
299
- "optional": true,
300
- "docs": {
301
- "tags": [],
302
- "text": ""
303
- },
304
- "attribute": "email",
305
- "reflect": false
306
- },
307
- "authType": {
308
- "type": "number",
309
- "mutable": false,
310
- "complexType": {
311
- "original": "number",
312
- "resolved": "number",
313
- "references": {}
314
- },
315
- "required": false,
316
- "optional": false,
317
- "docs": {
318
- "tags": [],
319
- "text": ""
320
- },
321
- "attribute": "auth-type",
322
- "reflect": false,
323
- "defaultValue": "1"
324
- },
325
- "connectionName": {
326
- "type": "string",
327
- "mutable": false,
328
- "complexType": {
329
- "original": "string",
330
- "resolved": "string | undefined",
331
- "references": {}
332
- },
333
- "required": false,
334
- "optional": true,
335
- "docs": {
336
- "tags": [],
337
- "text": ""
338
- },
339
- "attribute": "connection-name",
340
- "reflect": false
341
- },
342
- "logoutUrl": {
343
- "type": "string",
344
- "mutable": false,
345
- "complexType": {
346
- "original": "string",
347
- "resolved": "string | undefined",
348
- "references": {}
349
- },
350
- "required": false,
351
- "optional": true,
352
- "docs": {
353
- "tags": [],
354
- "text": ""
355
- },
356
- "attribute": "logout-url",
357
- "reflect": false
358
- },
359
- "products": {
360
- "type": "string",
361
- "mutable": false,
362
- "complexType": {
363
- "original": "string | []",
364
- "resolved": "[] | string | undefined",
365
- "references": {}
366
- },
367
- "required": false,
368
- "optional": true,
369
- "docs": {
370
- "tags": [],
371
- "text": ""
372
- },
373
- "attribute": "products",
374
- "reflect": false
375
- },
376
- "loadFromUserinfo": {
377
- "type": "boolean",
378
- "mutable": false,
379
- "complexType": {
380
- "original": "boolean",
381
- "resolved": "boolean",
382
- "references": {}
383
- },
384
- "required": false,
385
- "optional": false,
386
- "docs": {
387
- "tags": [],
388
- "text": ""
389
- },
390
- "attribute": "load-from-userinfo",
391
- "reflect": false,
392
- "defaultValue": "false"
393
- }
394
- };
395
- }
396
- static get states() {
397
- return {
398
- "isOpen": {},
399
- "isTabbing": {},
400
- "itemIndexToFocus": {}
401
- };
402
- }
403
- static get events() {
404
- return [{
405
- "method": "wmNavigatorLogout",
406
- "name": "wmNavigatorLogout",
407
- "bubbles": true,
408
- "cancelable": true,
409
- "composed": true,
410
- "docs": {
411
- "tags": [],
412
- "text": ""
413
- },
414
- "complexType": {
415
- "original": "any",
416
- "resolved": "any",
417
- "references": {}
145
+ }
146
+ closeMenu(returnFocus = true) {
147
+ this.isOpen = false;
148
+ this.unfocusItem(this.itemIndexToFocus);
149
+ this.setFocusIndex();
150
+ if (returnFocus) {
151
+ window.requestAnimationFrame(() => {
152
+ this.buttonFocusHandler();
153
+ });
154
+ }
155
+ }
156
+ focusItem() {
157
+ const newSelection = this.navigatorItems[this.itemIndexToFocus];
158
+ newSelection.tabIndex = 0;
159
+ newSelection.focused = true;
160
+ window.requestAnimationFrame(() => newSelection.focus());
161
+ }
162
+ unfocusItem(index) {
163
+ const oldSelection = this.navigatorItems[index];
164
+ oldSelection.tabIndex = -1;
165
+ oldSelection.focused = false;
166
+ }
167
+ buttonFocusHandler() {
168
+ const hostButton = this.el.shadowRoot.querySelector("priv-navigator-button");
169
+ const button = hostButton.shadowRoot.querySelector("button");
170
+ button.focus();
171
+ }
172
+ /**
173
+ * HELPERS FOR RENDER
174
+ */
175
+ renderUserInfo() {
176
+ return (h("div", { class: "user", id: "wm-nav-user", "aria-label": intl.formatMessage({
177
+ id: "navigator.userinfoLabel",
178
+ defaultMessage: "for {name}, email {email}",
179
+ }, { name: this.userName, email: this.email }) }, h("p", null, this.userName), h("p", null, this.email)));
180
+ }
181
+ setAltText() {
182
+ if (this.parsedProducts.length > 1) {
183
+ return intl.formatMessage({
184
+ id: "navigator.userinfoAndProductNavigator",
185
+ defaultMessage: "User information and product navigator",
186
+ });
418
187
  }
419
- }];
420
- }
421
- static get elementRef() { return "el"; }
422
- static get watchers() {
423
- return [{
424
- "propName": "products",
425
- "methodName": "parseData"
426
- }];
427
- }
428
- static get listeners() {
429
- return [{
430
- "name": "wmUserIsTabbing",
431
- "method": "toggleTabbingOn",
432
- "target": "window",
433
- "capture": false,
434
- "passive": false
435
- }, {
436
- "name": "wmUserIsNotTabbing",
437
- "method": "toggleTabbingOff",
438
- "target": "window",
439
- "capture": false,
440
- "passive": false
441
- }, {
442
- "name": "keydown",
443
- "method": "handleKeys",
444
- "target": undefined,
445
- "capture": false,
446
- "passive": false
447
- }, {
448
- "name": "keydownOnNavItem",
449
- "method": "handleKeydown",
450
- "target": undefined,
451
- "capture": false,
452
- "passive": false
453
- }, {
454
- "name": "click",
455
- "method": "handleClick",
456
- "target": "document",
457
- "capture": false,
458
- "passive": false
459
- }, {
460
- "name": "buttonActivated",
461
- "method": "handleButtonClick",
462
- "target": undefined,
463
- "capture": false,
464
- "passive": false
465
- }];
466
- }
188
+ else {
189
+ return intl.formatMessage({
190
+ id: "navigator.userinfo",
191
+ defaultMessage: "User information",
192
+ });
193
+ }
194
+ }
195
+ renderHeading() {
196
+ return (h("h2", null, intl.formatMessage({
197
+ id: "navigator.watermarkApps",
198
+ defaultMessage: "Watermark Apps",
199
+ description: "Applications made by Watermark Insights",
200
+ })));
201
+ }
202
+ renderList() {
203
+ return (h("ul", { role: "listbox", "aria-label": `${intl.formatMessage({
204
+ id: "navigator.WatermarkAppNavigation",
205
+ defaultMessage: "Watermark App Navigation",
206
+ description: "list of applications by Watermark Insights",
207
+ })}`, "aria-describedby": "wm-nav-user" }, this.parsedProducts.length > 1 && this.renderProductOptions(), this.renderLogoutOption()));
208
+ }
209
+ renderProductOptions() {
210
+ return this.parsedProducts.map((product) => {
211
+ let name, icon, isSelected, clickRedirect;
212
+ name = product.name;
213
+ icon = product.iconUrl;
214
+ clickRedirect = this.setProductOnClick(product.id);
215
+ if (!!name && !!icon) {
216
+ isSelected = this.currentProductId === product.id;
217
+ return (h("priv-navigator-item", { selected: isSelected, id: product.id, onClick: clickRedirect, role: "option", "aria-label": name }, h("img", { src: icon, alt: name })));
218
+ }
219
+ });
220
+ }
221
+ setProductOnClick(productId) {
222
+ const product = this.getProduct(productId);
223
+ if (this.currentProductId === productId) {
224
+ return () => { };
225
+ }
226
+ else if (product) {
227
+ if (!!this.loadFromUserinfo || this.authType === 2) {
228
+ return () => (window.location.href = product.linkUrl);
229
+ }
230
+ else if (this.authType === 3) {
231
+ // products passed as prop, saml
232
+ const connName = this.connectionName ? `/?connection_name=${this.connectionName}` : "";
233
+ return () => (window.location.href = product.samlLinkUrl + connName);
234
+ }
235
+ }
236
+ }
237
+ renderLogoutOption() {
238
+ return (h("priv-navigator-item", { class: "logout", selected: !(this.parsedProducts.length > 1), id: "nav-logout", onClick: this.setLogoutOnclick(), role: "option" }, h("span", { class: "logout" }, intl.formatMessage({
239
+ id: "navigator.logout",
240
+ defaultMessage: "Log Out",
241
+ }))));
242
+ }
243
+ setLogoutOnclick() {
244
+ // The logout item will always emit a custom event on click so that the dev can run any business logic specific to the app on logout (e.g., clearing local storage).
245
+ // It will only redirect if the dev has set the logoutUrl. If some sort of custom redirect is needed, the logoutUrl should not be set.
246
+ return () => {
247
+ this.wmNavigatorLogout.emit();
248
+ if (this.logoutUrl) {
249
+ window.location.href = this.logoutUrl;
250
+ }
251
+ };
252
+ }
253
+ get navigatorItems() {
254
+ return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"));
255
+ }
256
+ getProduct(id) {
257
+ return this.parsedProducts.find((product) => product.id === id);
258
+ }
259
+ render() {
260
+ return this.retrievedInfo ? (h(Host, { class: this.isTabbing ? "user-is-tabbing" : "" }, h("priv-navigator-button", { expanded: this.isOpen, altText: this.setAltText(), isTabbing: this.isTabbing }), h("div", { class: `wrapper ${this.isOpen ? "" : "hide"} ${this.openRight ? "right" : ""}`, ref: (el) => (this.wrapperEl = el) }, this.renderUserInfo(), this.parsedProducts.length > 1 && this.renderHeading(), this.renderList()))) : ("");
261
+ }
262
+ static get is() { return "wm-navigator"; }
263
+ static get encapsulation() { return "shadow"; }
264
+ static get delegatesFocus() { return true; }
265
+ static get originalStyleUrls() {
266
+ return {
267
+ "$": ["wm-navigator.scss"]
268
+ };
269
+ }
270
+ static get styleUrls() {
271
+ return {
272
+ "$": ["wm-navigator.css"]
273
+ };
274
+ }
275
+ static get properties() {
276
+ return {
277
+ "userName": {
278
+ "type": "string",
279
+ "mutable": false,
280
+ "complexType": {
281
+ "original": "string",
282
+ "resolved": "string | undefined",
283
+ "references": {}
284
+ },
285
+ "required": false,
286
+ "optional": true,
287
+ "docs": {
288
+ "tags": [],
289
+ "text": ""
290
+ },
291
+ "attribute": "user-name",
292
+ "reflect": false
293
+ },
294
+ "email": {
295
+ "type": "string",
296
+ "mutable": false,
297
+ "complexType": {
298
+ "original": "string",
299
+ "resolved": "string | undefined",
300
+ "references": {}
301
+ },
302
+ "required": false,
303
+ "optional": true,
304
+ "docs": {
305
+ "tags": [],
306
+ "text": ""
307
+ },
308
+ "attribute": "email",
309
+ "reflect": false
310
+ },
311
+ "authType": {
312
+ "type": "number",
313
+ "mutable": false,
314
+ "complexType": {
315
+ "original": "number",
316
+ "resolved": "number",
317
+ "references": {}
318
+ },
319
+ "required": false,
320
+ "optional": false,
321
+ "docs": {
322
+ "tags": [],
323
+ "text": ""
324
+ },
325
+ "attribute": "auth-type",
326
+ "reflect": false,
327
+ "defaultValue": "1"
328
+ },
329
+ "connectionName": {
330
+ "type": "string",
331
+ "mutable": false,
332
+ "complexType": {
333
+ "original": "string",
334
+ "resolved": "string | undefined",
335
+ "references": {}
336
+ },
337
+ "required": false,
338
+ "optional": true,
339
+ "docs": {
340
+ "tags": [],
341
+ "text": ""
342
+ },
343
+ "attribute": "connection-name",
344
+ "reflect": false
345
+ },
346
+ "logoutUrl": {
347
+ "type": "string",
348
+ "mutable": false,
349
+ "complexType": {
350
+ "original": "string",
351
+ "resolved": "string | undefined",
352
+ "references": {}
353
+ },
354
+ "required": false,
355
+ "optional": true,
356
+ "docs": {
357
+ "tags": [],
358
+ "text": ""
359
+ },
360
+ "attribute": "logout-url",
361
+ "reflect": false
362
+ },
363
+ "products": {
364
+ "type": "string",
365
+ "mutable": false,
366
+ "complexType": {
367
+ "original": "string | []",
368
+ "resolved": "[] | string | undefined",
369
+ "references": {}
370
+ },
371
+ "required": false,
372
+ "optional": true,
373
+ "docs": {
374
+ "tags": [],
375
+ "text": ""
376
+ },
377
+ "attribute": "products",
378
+ "reflect": false
379
+ },
380
+ "loadFromUserinfo": {
381
+ "type": "boolean",
382
+ "mutable": false,
383
+ "complexType": {
384
+ "original": "boolean",
385
+ "resolved": "boolean",
386
+ "references": {}
387
+ },
388
+ "required": false,
389
+ "optional": false,
390
+ "docs": {
391
+ "tags": [],
392
+ "text": ""
393
+ },
394
+ "attribute": "load-from-userinfo",
395
+ "reflect": false,
396
+ "defaultValue": "false"
397
+ }
398
+ };
399
+ }
400
+ static get states() {
401
+ return {
402
+ "isOpen": {},
403
+ "isTabbing": {},
404
+ "itemIndexToFocus": {}
405
+ };
406
+ }
407
+ static get events() {
408
+ return [{
409
+ "method": "wmNavigatorLogout",
410
+ "name": "wmNavigatorLogout",
411
+ "bubbles": true,
412
+ "cancelable": true,
413
+ "composed": true,
414
+ "docs": {
415
+ "tags": [],
416
+ "text": ""
417
+ },
418
+ "complexType": {
419
+ "original": "any",
420
+ "resolved": "any",
421
+ "references": {}
422
+ }
423
+ }];
424
+ }
425
+ static get elementRef() { return "el"; }
426
+ static get watchers() {
427
+ return [{
428
+ "propName": "products",
429
+ "methodName": "parseData"
430
+ }];
431
+ }
432
+ static get listeners() {
433
+ return [{
434
+ "name": "wmUserIsTabbing",
435
+ "method": "toggleTabbingOn",
436
+ "target": "window",
437
+ "capture": false,
438
+ "passive": false
439
+ }, {
440
+ "name": "wmUserIsNotTabbing",
441
+ "method": "toggleTabbingOff",
442
+ "target": "window",
443
+ "capture": false,
444
+ "passive": false
445
+ }, {
446
+ "name": "keydown",
447
+ "method": "handleKeys",
448
+ "target": undefined,
449
+ "capture": false,
450
+ "passive": false
451
+ }, {
452
+ "name": "keydownOnNavItem",
453
+ "method": "handleKeydown",
454
+ "target": undefined,
455
+ "capture": false,
456
+ "passive": false
457
+ }, {
458
+ "name": "click",
459
+ "method": "handleClick",
460
+ "target": "document",
461
+ "capture": false,
462
+ "passive": false
463
+ }, {
464
+ "name": "buttonActivated",
465
+ "method": "handleButtonClick",
466
+ "target": undefined,
467
+ "capture": false,
468
+ "passive": false
469
+ }];
470
+ }
467
471
  }