@watermarkinsights/ripple 5.7.0-8 → 5.7.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 (383) hide show
  1. package/dist/cjs/{chartFunctions-d2a1f4c7.js → chartFunctions-995023b1.js} +3 -3
  2. package/dist/cjs/{functions-5ac8a62f.js → functions-e24249e6.js} +7 -104
  3. package/dist/{esm/app-globals-0f27630e.js → cjs/global-eddf4e56.js} +2 -7
  4. package/dist/cjs/index-e86c28b6.js +2649 -0
  5. package/dist/cjs/{intl-57d1cfd1.js → intl-5aeba788.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +4 -5
  7. package/dist/cjs/priv-calendar.cjs.entry.js +5 -6
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +5 -6
  9. package/dist/cjs/priv-navigator-button.cjs.entry.js +3 -4
  10. package/dist/cjs/priv-navigator-item.cjs.entry.js +3 -4
  11. package/dist/cjs/priv-option-list.cjs.entry.js +21 -7
  12. package/dist/cjs/ripple.cjs.js +12 -13
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +6 -8
  14. package/dist/cjs/wm-button.cjs.entry.js +4 -5
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +1 -1
  16. package/dist/cjs/wm-chart.cjs.entry.js +6 -7
  17. package/dist/cjs/wm-date-range.cjs.entry.js +8 -9
  18. package/dist/cjs/wm-datepicker.cjs.entry.js +8 -9
  19. package/dist/cjs/wm-file-list.cjs.entry.js +3 -4
  20. package/dist/cjs/wm-file.cjs.entry.js +4 -5
  21. package/dist/cjs/wm-input.cjs.entry.js +5 -6
  22. package/dist/cjs/wm-line-chart.cjs.entry.js +14 -15
  23. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +28 -30
  24. package/dist/cjs/wm-modal_3.cjs.entry.js +10 -13
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +10 -13
  26. package/dist/cjs/wm-navigator.cjs.entry.js +3 -4
  27. package/dist/cjs/wm-nested-select.cjs.entry.js +29 -21
  28. package/dist/cjs/wm-optgroup.cjs.entry.js +4 -5
  29. package/dist/cjs/wm-option_2.cjs.entry.js +9 -11
  30. package/dist/cjs/wm-pagination.cjs.entry.js +4 -5
  31. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +7 -9
  32. package/dist/cjs/wm-search.cjs.entry.js +6 -7
  33. package/dist/cjs/wm-snackbar.cjs.entry.js +6 -7
  34. package/dist/cjs/wm-tab-item_3.cjs.entry.js +8 -11
  35. package/dist/cjs/wm-tag-input.cjs.entry.js +7 -8
  36. package/dist/cjs/wm-tag-option.cjs.entry.js +2 -2
  37. package/dist/cjs/wm-textarea.cjs.entry.js +5 -6
  38. package/dist/cjs/wm-timepicker.cjs.entry.js +5 -6
  39. package/dist/cjs/wm-toggletip.cjs.entry.js +5 -6
  40. package/dist/cjs/wm-uploader.cjs.entry.js +6 -7
  41. package/dist/cjs/wm-wrapper.cjs.entry.js +1 -1
  42. package/dist/collection/collection-manifest.json +2 -2
  43. package/dist/collection/components/charts/chartFunctions.js +1 -1
  44. package/dist/collection/components/charts/chartFunctions.spec.js +16 -0
  45. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +81 -0
  46. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +2 -2
  47. package/dist/collection/components/charts/screenshots.e2e.js +96 -0
  48. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +213 -0
  49. package/dist/collection/components/charts/wm-chart/wm-chart.js +1 -1
  50. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +37 -0
  51. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +176 -0
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +9 -9
  53. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +163 -0
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +1 -1
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +69 -0
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +1 -1
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +79 -0
  58. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +2 -2
  59. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +89 -0
  60. package/dist/collection/components/datepickers/wm-date-range.e2e.js +443 -0
  61. package/dist/collection/components/datepickers/wm-date-range.js +13 -17
  62. package/dist/collection/components/datepickers/wm-date-range.spec.js +22 -0
  63. package/dist/collection/components/datepickers/wm-datepicker.e2e.js +382 -0
  64. package/dist/collection/components/datepickers/wm-datepicker.js +13 -17
  65. package/dist/collection/components/datepickers/wm-datepicker.spec.js +21 -0
  66. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +26 -6
  67. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +21 -8
  68. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +5 -5
  69. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +26 -16
  70. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +1 -1
  71. package/dist/collection/components/selects/wm-option/wm-option.e2e.js +22 -0
  72. package/dist/collection/components/selects/wm-option/wm-option.js +1 -1
  73. package/dist/collection/components/selects/wm-option/wm-option.spec.js +63 -0
  74. package/dist/collection/components/selects/wm-select/wm-select.css +3 -3
  75. package/dist/collection/components/selects/wm-select/wm-select.e2e.js +521 -0
  76. package/dist/collection/components/selects/wm-select/wm-select.js +2 -2
  77. package/dist/collection/components/selects/wm-select/wm-select.spec.js +271 -0
  78. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +200 -0
  79. package/dist/collection/components/wm-action-menu/wm-action-menu.js +1 -1
  80. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +48 -0
  81. package/dist/collection/components/wm-button/wm-button.e2e.js +55 -0
  82. package/dist/collection/components/wm-button/wm-button.js +1 -1
  83. package/dist/collection/components/wm-button/wm-button.spec.js +74 -0
  84. package/dist/collection/components/wm-file/wm-file.js +1 -1
  85. package/dist/collection/components/wm-file/wm-file.spec.js +194 -0
  86. package/dist/collection/components/wm-file-list/wm-file-list.js +1 -1
  87. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +69 -0
  88. package/dist/collection/components/wm-input/wm-input.e2e.js +32 -0
  89. package/dist/collection/components/wm-input/wm-input.js +1 -1
  90. package/dist/collection/components/wm-input/wm-input.spec.js +173 -0
  91. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +23 -0
  92. package/dist/collection/components/wm-menuitem/wm-menuitem.js +1 -1
  93. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +54 -0
  94. package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
  95. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +11 -0
  96. package/dist/collection/components/wm-modal/wm-modal-header.js +1 -1
  97. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +8 -0
  98. package/dist/collection/components/wm-modal/wm-modal.e2e.js +104 -0
  99. package/dist/collection/components/wm-modal/wm-modal.js +2 -2
  100. package/dist/collection/components/wm-modal/wm-modal.spec.js +30 -0
  101. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +12 -0
  102. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +2 -2
  103. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +12 -0
  104. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +3 -2
  105. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +16 -2
  106. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +14 -13
  107. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +1 -1
  108. package/dist/collection/components/wm-navigation/wm-navigation-item.js +1 -1
  109. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +102 -0
  110. package/dist/collection/components/wm-navigation/wm-navigation.js +2 -2
  111. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +91 -0
  112. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +50 -0
  113. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +1 -1
  114. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +1 -1
  115. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +209 -0
  116. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +177 -0
  117. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +312 -0
  118. package/dist/collection/components/wm-pagination/wm-pagination.js +1 -1
  119. package/dist/collection/components/wm-search/wm-search.e2e.js +76 -0
  120. package/dist/collection/components/wm-search/wm-search.js +4 -5
  121. package/dist/collection/components/wm-search/wm-search.spec.js +71 -0
  122. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +112 -0
  123. package/dist/collection/components/wm-snackbar/wm-snackbar.js +2 -2
  124. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +9 -0
  125. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +1 -1
  126. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +1 -1
  127. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +1 -1
  128. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +91 -0
  129. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +12 -0
  130. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +204 -0
  131. package/dist/collection/components/wm-tag-input/wm-tag-input.js +3 -3
  132. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +195 -0
  133. package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +41 -0
  134. package/dist/collection/components/wm-textarea/wm-textarea.js +1 -1
  135. package/dist/collection/components/wm-textarea/wm-textarea.spec.js +79 -0
  136. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +163 -0
  137. package/dist/collection/components/wm-timepicker/wm-timepicker.js +8 -11
  138. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +147 -0
  139. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +69 -0
  140. package/dist/collection/components/wm-toggletip/wm-toggletip.js +2 -2
  141. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +21 -0
  142. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +70 -0
  143. package/dist/collection/components/wm-uploader/wm-uploader.js +2 -2
  144. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +234 -0
  145. package/dist/collection/dev/pss-modal.js +8 -0
  146. package/dist/collection/dev/scripts.js +12 -15
  147. package/dist/collection/global/functions.spec.js +126 -0
  148. package/dist/collection/lang/lang.spec.js +20 -0
  149. package/dist/esm/{chartFunctions-6666ced3.js → chartFunctions-34f19953.js} +3 -3
  150. package/dist/esm/{functions-03966124.js → functions-8800c690.js} +8 -105
  151. package/dist/{cjs/app-globals-1f689ab3.js → esm/global-e7316cfe.js} +1 -10
  152. package/dist/esm/index-558b5a82.js +2618 -0
  153. package/dist/esm/{intl-2fa0087c.js → intl-b110ca8d.js} +1 -1
  154. package/dist/esm/loader.js +5 -6
  155. package/dist/esm/priv-calendar.entry.js +5 -6
  156. package/dist/esm/priv-chart-popover.entry.js +5 -6
  157. package/dist/esm/priv-navigator-button.entry.js +3 -4
  158. package/dist/esm/priv-navigator-item.entry.js +3 -4
  159. package/dist/esm/priv-option-list.entry.js +21 -7
  160. package/dist/esm/ripple.js +13 -14
  161. package/dist/esm/wm-action-menu_2.entry.js +6 -8
  162. package/dist/esm/wm-button.entry.js +4 -5
  163. package/dist/esm/wm-chart-slice.entry.js +1 -1
  164. package/dist/esm/wm-chart.entry.js +6 -7
  165. package/dist/esm/wm-date-range.entry.js +8 -9
  166. package/dist/esm/wm-datepicker.entry.js +8 -9
  167. package/dist/esm/wm-file-list.entry.js +3 -4
  168. package/dist/esm/wm-file.entry.js +4 -5
  169. package/dist/esm/wm-input.entry.js +5 -6
  170. package/dist/esm/wm-line-chart.entry.js +14 -15
  171. package/dist/esm/wm-modal-pss_3.entry.js +26 -28
  172. package/dist/esm/wm-modal_3.entry.js +10 -13
  173. package/dist/esm/wm-navigation_3.entry.js +10 -13
  174. package/dist/esm/wm-navigator.entry.js +3 -4
  175. package/dist/esm/wm-nested-select.entry.js +29 -21
  176. package/dist/esm/wm-optgroup.entry.js +4 -5
  177. package/dist/esm/wm-option_2.entry.js +9 -11
  178. package/dist/esm/wm-pagination.entry.js +4 -5
  179. package/dist/esm/wm-progress-indicator_3.entry.js +7 -9
  180. package/dist/esm/wm-search.entry.js +6 -7
  181. package/dist/esm/wm-snackbar.entry.js +6 -7
  182. package/dist/esm/wm-tab-item_3.entry.js +8 -11
  183. package/dist/esm/wm-tag-input.entry.js +7 -8
  184. package/dist/esm/wm-tag-option.entry.js +2 -2
  185. package/dist/esm/wm-textarea.entry.js +5 -6
  186. package/dist/esm/wm-timepicker.entry.js +5 -6
  187. package/dist/esm/wm-toggletip.entry.js +5 -6
  188. package/dist/esm/wm-uploader.entry.js +6 -7
  189. package/dist/esm/wm-wrapper.entry.js +1 -1
  190. package/dist/esm-es5/{chartFunctions-6666ced3.js → chartFunctions-34f19953.js} +1 -1
  191. package/dist/esm-es5/functions-8800c690.js +1 -0
  192. package/dist/esm-es5/global-e7316cfe.js +1 -0
  193. package/dist/esm-es5/index-558b5a82.js +1 -0
  194. package/dist/esm-es5/{intl-2fa0087c.js → intl-b110ca8d.js} +1 -1
  195. package/dist/esm-es5/loader.js +1 -1
  196. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  197. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  198. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  199. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  200. package/dist/esm-es5/priv-option-list.entry.js +1 -1
  201. package/dist/esm-es5/ripple.js +1 -1
  202. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  203. package/dist/esm-es5/wm-button.entry.js +1 -1
  204. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  205. package/dist/esm-es5/wm-chart.entry.js +1 -1
  206. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  207. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  208. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  209. package/dist/esm-es5/wm-file.entry.js +1 -1
  210. package/dist/esm-es5/wm-input.entry.js +1 -1
  211. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  212. package/dist/esm-es5/wm-modal-pss_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-modal_3.entry.js +1 -1
  214. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  215. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  216. package/dist/esm-es5/wm-nested-select.entry.js +1 -1
  217. package/dist/esm-es5/wm-optgroup.entry.js +1 -1
  218. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  219. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  220. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  221. package/dist/esm-es5/wm-search.entry.js +1 -1
  222. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  223. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  224. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  225. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  226. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  227. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  228. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  229. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  230. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  231. package/dist/loader/cdn.js +2 -1
  232. package/dist/loader/index.cjs.js +2 -1
  233. package/dist/loader/index.d.ts +0 -3
  234. package/dist/loader/index.es2017.js +2 -1
  235. package/dist/loader/index.js +2 -1
  236. package/dist/ripple/p-021ff5fa.system.entry.js +1 -0
  237. package/dist/ripple/{p-b4e4479b.js → p-02dc1562.js} +1 -1
  238. package/dist/ripple/{p-e2910f91.system.entry.js → p-037bf5c7.system.entry.js} +1 -1
  239. package/dist/ripple/p-04d5e7d7.entry.js +1 -0
  240. package/dist/ripple/p-0eea8fd3.system.entry.js +1 -0
  241. package/dist/ripple/p-0faf7ef9.system.entry.js +1 -0
  242. package/dist/ripple/p-10745cf2.system.js +1 -0
  243. package/dist/ripple/{p-b47aa85a.entry.js → p-13cc92e7.entry.js} +1 -1
  244. package/dist/ripple/p-1618709f.entry.js +1 -0
  245. package/dist/ripple/p-1c7201d1.entry.js +1 -0
  246. package/dist/ripple/{p-6bb9402a.system.entry.js → p-2520d947.system.entry.js} +1 -1
  247. package/dist/ripple/p-29f41fea.system.entry.js +1 -0
  248. package/dist/ripple/p-2c028fe2.entry.js +1 -0
  249. package/dist/ripple/{p-236ee735.system.entry.js → p-2f565d7a.system.entry.js} +1 -1
  250. package/dist/ripple/p-311923b2.system.entry.js +1 -0
  251. package/dist/ripple/p-31b587a3.entry.js +1 -0
  252. package/dist/ripple/p-3212fd0e.entry.js +1 -0
  253. package/dist/ripple/{p-823d7b4e.system.entry.js → p-32bf3f5b.system.entry.js} +1 -1
  254. package/dist/ripple/p-34d80f95.entry.js +1 -0
  255. package/dist/ripple/p-37649315.entry.js +1 -0
  256. package/dist/ripple/p-38509918.system.entry.js +1 -0
  257. package/dist/ripple/p-3aca84d7.entry.js +1 -0
  258. package/dist/ripple/p-3bb1f795.system.entry.js +1 -0
  259. package/dist/ripple/{p-094883e1.system.js → p-4378b6b9.system.js} +1 -1
  260. package/dist/ripple/p-43b03ad8.system.entry.js +1 -0
  261. package/dist/ripple/{p-664dc79d.system.entry.js → p-4743176d.system.entry.js} +1 -1
  262. package/dist/ripple/{p-13b1d775.entry.js → p-48e09589.entry.js} +1 -1
  263. package/dist/ripple/{p-4fa245d4.system.entry.js → p-4c5606da.system.entry.js} +1 -1
  264. package/dist/ripple/p-5360487b.js +1 -0
  265. package/dist/ripple/p-54d7688a.entry.js +1 -0
  266. package/dist/ripple/p-568c595f.js +2 -0
  267. package/dist/ripple/{p-785fda3d.js → p-5943c8b1.js} +1 -1
  268. package/dist/ripple/p-5ea1c7a6.entry.js +1 -0
  269. package/dist/ripple/p-5eb02aa9.system.entry.js +1 -0
  270. package/dist/ripple/p-6025efee.system.entry.js +1 -0
  271. package/dist/ripple/{p-043901ab.system.entry.js → p-65d26233.system.entry.js} +1 -1
  272. package/dist/ripple/p-6692b5a6.entry.js +1 -0
  273. package/dist/ripple/{p-60206085.system.entry.js → p-6a4c59e0.system.entry.js} +1 -1
  274. package/dist/ripple/{p-524f0531.entry.js → p-6ad695a5.entry.js} +1 -1
  275. package/dist/ripple/p-6d2122b9.entry.js +1 -0
  276. package/dist/ripple/p-6eb50cc3.system.entry.js +1 -0
  277. package/dist/ripple/p-72c22a55.entry.js +1 -0
  278. package/dist/ripple/{p-26e42263.system.entry.js → p-7906a797.system.entry.js} +1 -1
  279. package/dist/ripple/p-7b982ba8.system.entry.js +1 -0
  280. package/dist/ripple/p-7e4866c3.entry.js +1 -0
  281. package/dist/ripple/p-870cf4ef.entry.js +1 -0
  282. package/dist/ripple/{p-cd0cc88d.entry.js → p-88ebddd7.entry.js} +1 -1
  283. package/dist/ripple/p-8f217fb1.entry.js +1 -0
  284. package/dist/ripple/p-90261a03.system.entry.js +1 -0
  285. package/dist/ripple/p-902a54c5.entry.js +1 -0
  286. package/dist/ripple/p-9a2cf94c.system.entry.js +1 -0
  287. package/dist/ripple/p-9fccdac8.system.entry.js +1 -0
  288. package/dist/ripple/p-a4061c96.system.js +1 -0
  289. package/dist/ripple/p-ab8d78cc.system.js +2 -0
  290. package/dist/ripple/p-ade3d9a9.entry.js +1 -0
  291. package/dist/ripple/p-ae4c8481.system.entry.js +1 -0
  292. package/dist/ripple/{p-dba15615.entry.js → p-b01d022f.entry.js} +1 -1
  293. package/dist/ripple/p-b0e099f8.entry.js +1 -0
  294. package/dist/ripple/p-b19ea29e.entry.js +1 -0
  295. package/dist/ripple/{p-2c70503a.entry.js → p-b3114a58.entry.js} +1 -1
  296. package/dist/ripple/{p-da3e143d.entry.js → p-b976c84b.entry.js} +1 -1
  297. package/dist/ripple/p-c2657183.entry.js +1 -0
  298. package/dist/ripple/{p-0ba0c194.system.entry.js → p-c39a3951.system.entry.js} +1 -1
  299. package/dist/ripple/p-c885c7f9.entry.js +1 -0
  300. package/dist/ripple/p-c9543950.system.entry.js +1 -0
  301. package/dist/ripple/p-cbd2473d.system.entry.js +1 -0
  302. package/dist/ripple/p-cedfcf23.entry.js +1 -0
  303. package/dist/ripple/p-d824406e.system.entry.js +1 -0
  304. package/dist/ripple/p-dd26ae24.system.entry.js +1 -0
  305. package/dist/ripple/p-dd76bf0a.system.entry.js +1 -0
  306. package/dist/ripple/p-e28671cd.system.entry.js +1 -0
  307. package/dist/ripple/{p-4b29da45.entry.js → p-e4ff7200.entry.js} +1 -1
  308. package/dist/ripple/p-e53b6f7c.entry.js +1 -0
  309. package/dist/ripple/p-eca78c2b.js +1 -0
  310. package/dist/ripple/p-edd87140.system.js +1 -0
  311. package/dist/ripple/{p-b8a3612c.system.js → p-ee31c799.system.js} +1 -1
  312. package/dist/ripple/{p-9511f0c3.entry.js → p-f05e38b1.entry.js} +1 -1
  313. package/dist/ripple/p-f367f027.system.entry.js +1 -0
  314. package/dist/ripple/{p-f573e60c.system.entry.js → p-f9d26f8b.system.entry.js} +1 -1
  315. package/dist/ripple/ripple.esm.js +1 -1
  316. package/dist/ripple/ripple.js +1 -1
  317. package/dist/types/components/selects/priv-option-list/priv-option-list.d.ts +1 -0
  318. package/dist/types/components/selects/wm-nested-select/wm-nested-select.d.ts +3 -0
  319. package/dist/types/components/wm-modal-pss/wm-modal-pss-footer.d.ts +1 -1
  320. package/dist/types/components/wm-modal-pss/wm-modal-pss-header.d.ts +1 -1
  321. package/dist/types/components/wm-modal-pss/wm-modal-pss.d.ts +1 -1
  322. package/dist/types/stencil-public-runtime.d.ts +10 -3
  323. package/package.json +1 -1
  324. package/dist/cjs/index-788526f5.js +0 -1859
  325. package/dist/esm/index-130e07bb.js +0 -1828
  326. package/dist/esm-es5/app-globals-0f27630e.js +0 -1
  327. package/dist/esm-es5/functions-03966124.js +0 -1
  328. package/dist/esm-es5/index-130e07bb.js +0 -1
  329. package/dist/ripple/p-04c5af17.entry.js +0 -1
  330. package/dist/ripple/p-1073ab75.system.entry.js +0 -1
  331. package/dist/ripple/p-1344f4d2.entry.js +0 -1
  332. package/dist/ripple/p-202cc2fe.system.js +0 -1
  333. package/dist/ripple/p-2261e8d4.entry.js +0 -1
  334. package/dist/ripple/p-2300c07b.entry.js +0 -1
  335. package/dist/ripple/p-2716532e.system.entry.js +0 -1
  336. package/dist/ripple/p-2903ce15.system.entry.js +0 -1
  337. package/dist/ripple/p-30f148a7.entry.js +0 -1
  338. package/dist/ripple/p-39484b51.system.entry.js +0 -1
  339. package/dist/ripple/p-3e7e6493.system.entry.js +0 -1
  340. package/dist/ripple/p-4fae07d6.entry.js +0 -1
  341. package/dist/ripple/p-563f37e8.entry.js +0 -1
  342. package/dist/ripple/p-5a2431e1.system.entry.js +0 -1
  343. package/dist/ripple/p-60cb3adc.entry.js +0 -1
  344. package/dist/ripple/p-618b27e6.entry.js +0 -1
  345. package/dist/ripple/p-62bb8827.system.entry.js +0 -1
  346. package/dist/ripple/p-695391a9.system.entry.js +0 -1
  347. package/dist/ripple/p-6d9acebc.system.entry.js +0 -1
  348. package/dist/ripple/p-7136efd0.entry.js +0 -1
  349. package/dist/ripple/p-79979fb1.entry.js +0 -1
  350. package/dist/ripple/p-7c2846e4.system.entry.js +0 -1
  351. package/dist/ripple/p-7f162296.system.entry.js +0 -1
  352. package/dist/ripple/p-7fba9e61.system.entry.js +0 -1
  353. package/dist/ripple/p-877d35f8.system.entry.js +0 -1
  354. package/dist/ripple/p-89a862ae.system.entry.js +0 -1
  355. package/dist/ripple/p-8ef8c943.system.entry.js +0 -1
  356. package/dist/ripple/p-9062cb9a.entry.js +0 -1
  357. package/dist/ripple/p-a6466fd1.entry.js +0 -1
  358. package/dist/ripple/p-ae2b2056.entry.js +0 -1
  359. package/dist/ripple/p-afa807a5.entry.js +0 -1
  360. package/dist/ripple/p-b5e7db7f.system.entry.js +0 -1
  361. package/dist/ripple/p-b8e97d05.system.js +0 -1
  362. package/dist/ripple/p-b9a8d85b.entry.js +0 -1
  363. package/dist/ripple/p-bbcc61cf.entry.js +0 -1
  364. package/dist/ripple/p-c0ccce22.system.entry.js +0 -1
  365. package/dist/ripple/p-c499cfaf.entry.js +0 -1
  366. package/dist/ripple/p-c61b29cd.system.entry.js +0 -1
  367. package/dist/ripple/p-c94976c8.system.entry.js +0 -1
  368. package/dist/ripple/p-cef8a45b.system.js +0 -2
  369. package/dist/ripple/p-d307a2d5.system.entry.js +0 -1
  370. package/dist/ripple/p-d9da0502.js +0 -2
  371. package/dist/ripple/p-dd23c135.entry.js +0 -1
  372. package/dist/ripple/p-ded71900.entry.js +0 -1
  373. package/dist/ripple/p-dfcf2302.system.js +0 -1
  374. package/dist/ripple/p-e4c40125.js +0 -1
  375. package/dist/ripple/p-e5f7fbe7.js +0 -1
  376. package/dist/ripple/p-eaf16578.system.entry.js +0 -1
  377. package/dist/ripple/p-ed2f0946.entry.js +0 -1
  378. package/dist/ripple/p-f78d5bc3.entry.js +0 -1
  379. package/dist/ripple/p-f9df9765.system.entry.js +0 -1
  380. package/dist/ripple/p-faae9ebb.entry.js +0 -1
  381. package/dist/ripple/p-fada6923.entry.js +0 -1
  382. package/dist/ripple/p-fe6522b9.entry.js +0 -1
  383. package/dist/ripple/p-ff74ec46.system.entry.js +0 -1
@@ -0,0 +1,91 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ //jest.mock("../../global/functions");
3
+ import { Navigation } from "./wm-navigation";
4
+ import { NavigationItem } from "./wm-navigation-item";
5
+ describe("Navigation unit tests", () => {
6
+ it("isCollapsible", async () => {
7
+ const nav = new Navigation();
8
+ window.innerWidth = 1023;
9
+ expect(nav.isCollapsible).toBe(true);
10
+ window.innerWidth = 1024;
11
+ expect(nav.isCollapsible).toBe(false);
12
+ });
13
+ it("ariaExpanded", async () => {
14
+ const nav = new Navigation();
15
+ window.innerWidth = 1024;
16
+ expect(nav.ariaExpanded).toBeUndefined;
17
+ window.innerWidth = 1023;
18
+ expect(nav.ariaExpanded).toBe("false");
19
+ nav.open = true;
20
+ expect(nav.ariaExpanded).toBe("true");
21
+ });
22
+ });
23
+ describe("navigation", () => {
24
+ let page;
25
+ let navigation;
26
+ let items;
27
+ beforeEach(async () => {
28
+ page = await newSpecPage({
29
+ components: [Navigation, NavigationItem],
30
+ html: `<wm-navigation id="mynav">
31
+ <wm-navigation-item href="/home" text="Home" active>Home</wm-navigation-item>
32
+ <wm-navigation-item href="/things" text="Things">Things</wm-navigation-item>
33
+ </wm-navigation>`,
34
+ });
35
+ navigation = page.root;
36
+ items = Array.from(page.root.querySelectorAll("wm-navigation-item"));
37
+ });
38
+ // integration tests
39
+ // this test includes UX functionality, the related a11y (aria-expanded)
40
+ // as well as the switch between persistent and collapsible modes
41
+ it("expands and collapses", async () => {
42
+ // aria-expanded
43
+ const expanded = navigation.getAttribute("aria-expanded");
44
+ // Persistent: no aria-expanded
45
+ window.innerWidth = 1024;
46
+ expect(expanded).toBeNull;
47
+ // Collapsible
48
+ window.innerWidth = 1023;
49
+ // aria-expanded true when open
50
+ navigation.open = true;
51
+ expect(expanded).not.toBeNull;
52
+ // aria-expanded false when closed
53
+ navigation.open = false;
54
+ expect(expanded).toBeNull;
55
+ });
56
+ it("closes when toggle button is activated", async () => {
57
+ window.innerWidth = 1023;
58
+ navigation.open = true;
59
+ let toggleBtn = page.root.shadowRoot.querySelector(".toggle");
60
+ toggleBtn.click();
61
+ expect(navigation.open).toBeFalsy();
62
+ });
63
+ /*
64
+ * Close button is present in collapsible mode, not otherwise
65
+ * can't test with current implementation because button is
66
+ * simply hidden via CSS
67
+ it("hides the button in persistent mode", async () => {
68
+ // in persistent mode, there's no button at all
69
+ window.innerWidth = 1024;
70
+ navigation.open = true;
71
+
72
+ let toggleBtn = page.root!.shadowRoot!.querySelector(".toggle-wrapper");
73
+ expect(toggleBtn.width).toBeNull();
74
+ });
75
+ */
76
+ // a11y
77
+ it("Has a role of navigation and has a label", async () => {
78
+ // navigation role requires a label only when there are several on the page. Since we don't know if there will be others, we can set a label in all cases.
79
+ let role = navigation.getAttribute("role");
80
+ let label = navigation.getAttribute("aria-label");
81
+ expect(role).toBe("navigation");
82
+ expect(label).toBe("Main");
83
+ });
84
+ it("items have proper role and attrs", async () => {
85
+ const firstItem = items[0];
86
+ const role = firstItem.getAttribute("role");
87
+ expect(role).toBe("listitem");
88
+ const href = firstItem.shadowRoot.querySelector("a").getAttribute("href");
89
+ expect(href).toBe("/home");
90
+ });
91
+ });
@@ -0,0 +1,50 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe("priv-navigator-button", () => {
3
+ let page,
4
+ //navigator: any,
5
+ //navigatorList: any,
6
+ navigatorButton, button;
7
+ beforeEach(async () => {
8
+ page = await newE2EPage();
9
+ await page.setContent(`
10
+ <html lang='en'>
11
+ <head>
12
+ <title>Page</title>
13
+ </head>
14
+ <body>
15
+ <main>
16
+ <h1>Title</h1>
17
+ <wm-navigator id="nav" selected-product="planning" user-name="Adrienne Johnson" email="ajohnson@watermarkinsights.com"></wm-navigator>
18
+ <script>window.onload = function getModules() {
19
+ const navigator = document.getElementById("nav");
20
+ const userModules = [{ "id": "aqua", "link_url": "", "saml_link_url": "" }, { "id": "dm", "link_url": "", "saml_link_url": "" }, { "id": "planning", "link_url": "", "saml_link_url": "" }, { "id": "livetext", "link_url": "", "saml_link_url": "" }];
21
+ const stringifyModules = JSON.stringify(userModules);
22
+ navigator.products = stringifyModules;
23
+ };</script>
24
+ </main>
25
+ </body>
26
+ </html>`);
27
+ // navigator = await page.find("wm-navigator");
28
+ // navigatorList = await page.find("wm-navigator >>> ul");
29
+ navigatorButton = await page.find("wm-navigator >>> priv-navigator-button");
30
+ button = await navigatorButton.shadowRoot.querySelector("button");
31
+ });
32
+ // RENDER
33
+ it("renders a button", async () => {
34
+ expect(button).not.toBeNull();
35
+ });
36
+ it("it has an aria-expanded attribute whose value updates when the menu opens and closes", async () => {
37
+ await page.keyboard.press("Tab");
38
+ await page.waitForChanges();
39
+ await page.keyboard.press("Enter");
40
+ await page.waitForChanges();
41
+ navigatorButton = await page.find("wm-navigator >>> priv-navigator-button");
42
+ button = await navigatorButton.shadowRoot.querySelector("button");
43
+ expect(button.getAttribute("aria-expanded")).toEqual("true");
44
+ await page.keyboard.press("Escape");
45
+ await page.waitForChanges();
46
+ navigatorButton = await page.find("wm-navigator >>> priv-navigator-button");
47
+ button = await navigatorButton.shadowRoot.querySelector("button");
48
+ expect(button.getAttribute("aria-expanded")).toEqual("false");
49
+ });
50
+ });
@@ -9,7 +9,7 @@ export class PrivNavigatorButton {
9
9
  }
10
10
  render() {
11
11
  const { handleClick, altText } = this;
12
- return (h("button", { key: '3ca7d2b0ff21d4b914876030af5cd167535b746e', "aria-expanded": this.expanded.toString(), class: "navigator", onClick: handleClick.bind(this), "aria-label": altText }));
12
+ return (h("button", { "aria-expanded": this.expanded.toString(), class: "navigator", onClick: handleClick.bind(this), "aria-label": altText }));
13
13
  }
14
14
  static get is() { return "priv-navigator-button"; }
15
15
  static get encapsulation() { return "shadow"; }
@@ -16,7 +16,7 @@ export class PrivNavigatorItem {
16
16
  render() {
17
17
  const selectedClass = this.selected ? "selected" : "";
18
18
  const focusedClass = this.focused ? "focused" : "";
19
- return (h("div", { key: '42153239d733a5f9fdf0e968cdff02f77fe5d1a1', class: `navoption ${selectedClass} ${focusedClass}` }, h("slot", { key: '2e924f14d849e7ba04e18f66637463f3d4d2b44c' })));
19
+ return (h("div", { class: `navoption ${selectedClass} ${focusedClass}` }, h("slot", null)));
20
20
  }
21
21
  static get is() { return "priv-navigator-item"; }
22
22
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,209 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ import { AxePuppeteer } from "@axe-core/puppeteer";
3
+ describe("wm-navigator", () => {
4
+ let page, navigator, navigatorList, navigatorButton;
5
+ beforeEach(async () => {
6
+ page = await newE2EPage();
7
+ await page.setContent(`
8
+ <html lang='en' mode='planning'>
9
+ <head>
10
+ <title>Page</title>
11
+ </head>
12
+ <body>
13
+ <main>
14
+ <h1>Title</h1>
15
+ <wm-navigator id="nav" base-logout-uri="https://www.dummy.wm/logout" user-name="Adrienne Johnson" email="ajohnson@watermarkinsights.wm" auth-type="2"></wm-navigator>
16
+ <script>window.onload = function getModules() {
17
+ const navigator = document.getElementById("nav");
18
+ const userModules = [{ "id": "aqua", "linkUrl": "https://www.dummy.wm/aqua", "samlLinkUrl": "https://www.dummy.wm/saml/aqua", "iconUrl": "/aqualogo.svg", "name": "Aqua" }, { "id": "dm", "linkUrl": "/dm", "samlLinkUrl": "/saml/dm", "iconUrl": "/dmlogo.svg", "name": "Digital Measures" }, { "id": "planning", "linkUrl": "/planning", "samlLinkUrl": "/saml/planning", "iconUrl": "/planlogo.svg", "name": "Planning & Self-Study" }];
19
+ const stringifyModules = JSON.stringify(userModules);
20
+ navigator.products = stringifyModules;
21
+ };</script>
22
+ </main>
23
+ </body>
24
+ </html>`);
25
+ navigator = await page.find("wm-navigator");
26
+ navigatorList = await page.find("wm-navigator >>> ul");
27
+ navigatorButton = await page.find("wm-navigator >>> priv-navigator-button");
28
+ const url = "https://dummy.wm";
29
+ Object.defineProperty(window, "location", {
30
+ value: {
31
+ href: url,
32
+ },
33
+ writable: true,
34
+ });
35
+ });
36
+ it("passes Axe checks", async () => {
37
+ const results = await new AxePuppeteer(page).analyze();
38
+ expect(results.violations.length).toBe(0);
39
+ });
40
+ // RENDER
41
+ it("renders", async () => {
42
+ expect(navigator).toHaveClass("hydrated");
43
+ });
44
+ // VIEW
45
+ it("opens the menu when clicked", async () => {
46
+ await navigatorButton.click();
47
+ await page.waitForChanges();
48
+ const wrapper = await page.find("wm-navigator >>> .wrapper");
49
+ expect(wrapper).not.toHaveClass("hide");
50
+ });
51
+ it("renders the products in the list if there is more than one, along with a logout option", async () => {
52
+ navigatorList = await page.find("wm-navigator >>> ul");
53
+ const listItems = await navigatorList.querySelectorAll("priv-navigator-item");
54
+ expect(listItems.length).toEqual(4);
55
+ expect(listItems[3].textContent).toEqual("Log Out");
56
+ });
57
+ it("renders just the logout option if there is one product in the list", async () => {
58
+ const newProducts = JSON.stringify([{ id: "planning", linkUrl: "", samlLinkUrl: "" }]);
59
+ navigator.setProperty("products", newProducts);
60
+ await page.waitForChanges();
61
+ const listItems = await page.findAll("wm-navigator >>> priv-navigator-item");
62
+ expect(listItems.length).toEqual(1);
63
+ expect(listItems[0].textContent).toEqual("Log Out");
64
+ });
65
+ it("sets the alt text on the button", async () => {
66
+ const label = await navigatorButton.shadowRoot.querySelector("button").getAttribute("aria-label");
67
+ const expectedText = "User information and product navigator";
68
+ expect(label).toEqual(expectedText);
69
+ const newProducts = JSON.stringify(["planning"]);
70
+ navigator.setProperty("products", newProducts);
71
+ await page.waitForChanges();
72
+ const newLabel = await navigatorButton.shadowRoot.querySelector("button").getAttribute("aria-label");
73
+ expect(newLabel).toEqual("User information");
74
+ });
75
+ //KEYBOARD NAVIGATION AND FOCUS
76
+ it("opens the menu when enter is pressed and closes it on escape", async () => {
77
+ await page.keyboard.press("Tab");
78
+ await page.waitForChanges();
79
+ await page.keyboard.press("Enter");
80
+ await page.waitForChanges();
81
+ const wrapper = await page.find("wm-navigator >>> .wrapper");
82
+ expect(wrapper).not.toHaveClass("hide");
83
+ await page.keyboard.press("Escape"); // Previous btn
84
+ await page.waitForChanges();
85
+ expect(wrapper).toHaveClass("hide");
86
+ await page.keyboard.press("Space");
87
+ await page.waitForChanges();
88
+ expect(wrapper).not.toHaveClass("hide");
89
+ });
90
+ it("focuses the current product in use when the menu opens", async () => {
91
+ await page.keyboard.press("Tab");
92
+ await page.waitForChanges();
93
+ await page.keyboard.press("Enter");
94
+ await page.waitForChanges();
95
+ const activeItem = await page.find("wm-navigator >>> priv-navigator-item#planning");
96
+ expect(activeItem.tabIndex).toEqual(0);
97
+ const activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
98
+ expect(activeElId).toEqual("planning");
99
+ });
100
+ it("focuses the next product in the list when the down arrow is pressed", async () => {
101
+ await page.keyboard.press("Tab");
102
+ await page.waitForChanges();
103
+ await page.keyboard.press("Enter");
104
+ await page.waitForChanges();
105
+ await page.keyboard.press("ArrowDown");
106
+ await page.waitForChanges();
107
+ let activeItem = await page.find("wm-navigator >>> priv-navigator-item#nav-logout");
108
+ expect(activeItem.tabIndex).toEqual(0);
109
+ let activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
110
+ expect(activeElId).toEqual("nav-logout");
111
+ await page.keyboard.press("ArrowDown");
112
+ await page.waitForChanges();
113
+ activeItem = await page.find("wm-navigator >>> priv-navigator-item#aqua");
114
+ expect(activeItem.tabIndex).toEqual(0);
115
+ activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
116
+ expect(activeElId).toEqual("aqua");
117
+ });
118
+ it("focuses the previous product in the list when the up arrow is pressed", async () => {
119
+ await page.keyboard.press("Tab");
120
+ await page.waitForChanges();
121
+ await page.keyboard.press("Enter");
122
+ await page.waitForChanges();
123
+ await page.keyboard.press("ArrowUp");
124
+ await page.waitForChanges();
125
+ let activeItem = await page.find("wm-navigator >>> priv-navigator-item#dm");
126
+ expect(activeItem.tabIndex).toEqual(0);
127
+ let activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
128
+ expect(activeElId).toEqual("dm");
129
+ await page.keyboard.press("ArrowUp");
130
+ await page.waitForChanges();
131
+ await page.keyboard.press("ArrowUp");
132
+ await page.waitForChanges();
133
+ activeItem = await page.find("wm-navigator >>> priv-navigator-item#nav-logout");
134
+ expect(activeItem.tabIndex).toEqual(0);
135
+ activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
136
+ expect(activeElId).toEqual("nav-logout");
137
+ });
138
+ //FUNCTIONALITY
139
+ // the next 3 tests are failing for unknown reasons (they used to pass)
140
+ // it("should change pages/products when a dropdown item is activated", async () => {
141
+ // const browser = await puppeteer.launch();
142
+ // const page = await browser.newPage();
143
+ // await page.goto("http://localhost:3333/../src/components/wm-navigator/navigator.html", {
144
+ // waitUntil: "networkidle2"
145
+ // });
146
+ // await page.evaluate(async () => {
147
+ // const aquaNavItem = document!
148
+ // .querySelector("#nav")!
149
+ // .shadowRoot!.querySelector("priv-navigator-item");
150
+ // aquaNavItem!.click();
151
+ // });
152
+ // await page.waitForNavigation();
153
+ // await Promise.all([
154
+ // expect(page.url()).toEqual(
155
+ // "http://localhost:3333/aqua/?connection_name=test"
156
+ // )
157
+ // ]);
158
+ // });
159
+ // it("should redirect to a logout URL when the logout item is activated", async () => {
160
+ // const browser = await puppeteer.launch();
161
+ // const page = await browser.newPage();
162
+ // await page.goto("http://localhost:3333/components/wm-navigator/navigator.html", {
163
+ // waitUntil: "networkidle2"
164
+ // });
165
+ // await page.evaluate(async () => {
166
+ // const logoutItem = document!
167
+ // .querySelector("#nav")!
168
+ // .shadowRoot!.querySelector("#nav-logout") as HTMLElement;
169
+ // logoutItem!.click();
170
+ // });
171
+ // await page.waitForNavigation();
172
+ // await Promise.all([
173
+ // expect(page.url()).toEqual("http://localhost:3333/logout")
174
+ // ]);
175
+ // });
176
+ // it("should redirect to a URL with a connection name when a dropdown item is activated and the user is a saml user", async () => {
177
+ // const browser = await puppeteer.launch({
178
+ // headless: true,
179
+ // defaultViewport: {
180
+ // width: 1100,
181
+ // height: 1100
182
+ // }
183
+ // });
184
+ // const page = await browser.newPage();
185
+ // await page.goto("http://localhost:3333/devpages/navigator.html", {
186
+ // waitUntil: "networkidle2"
187
+ // });
188
+ // // page.on("console", (msg: any) => console.log("PAGE LOG:", msg.text()));
189
+ // await page.evaluate(async () => {
190
+ // const aquaNavItem = document!
191
+ // .querySelector("#nav-aqua")!
192
+ // .shadowRoot!.querySelector("#ek") as HTMLElement;
193
+ // aquaNavItem!.click();
194
+ // });
195
+ // await page.waitForNavigation();
196
+ // await Promise.all([
197
+ // expect(page.url()).toEqual(
198
+ // "http://localhost:3333/saml/ek/?connection_name=something"
199
+ // )
200
+ // ]);
201
+ // });
202
+ });
203
+ // const page = await newSpecPage({
204
+ // html: `<wm-navigator id="nav" logout-uri="https://www.dummy.wm/logout" user-name="Adrienne Johnson" email="ajohnson@watermarkinsights.wm" auth-type="username_password_sso" products="[]"></wm-navigator>`,
205
+ // components: [Navigator]
206
+ // });
207
+ // const button = page.root!.querySelector("wm-navigator");
208
+ // button!.click();
209
+ // console.log("PAGE HREF", page.win.location.href);
@@ -0,0 +1,177 @@
1
+ jest.mock("../../global/services/http-service");
2
+ import { newSpecPage } from "@stencil/core/testing";
3
+ //import { PrivNavigatorItem } from "./priv-navigator-item/priv-navigator-item";
4
+ import { Navigator } from "./wm-navigator";
5
+ describe("wm-navigator", () => {
6
+ it("builds (with props)", async () => {
7
+ const comp = await newSpecPage({
8
+ components: [Navigator],
9
+ html: `<wm-navigator
10
+ email="anna@user.com"
11
+ user-name="Anna User"
12
+ auth-type="3"
13
+ products='[{"samlLinkUrl":"https://aqua.taskstream.com/sso/samlLogin","linkUrl":"https://aqua.taskstream.com/sso/login","id":"aqua","iconUrl":"https://cdn.watermarkinsights.com/images/login/aqua.svg","name":"Aqua"},{"samlLinkUrl":"https://www.vialivetext.com/wm_sso/saml_login","linkUrl":"https://www.vialivetext.com/wm_sso/login","id":"via","iconUrl":"https://cdn.watermarkinsights.com/images/login/via.svg","name":"Via"},{"samlLinkUrl":"https://watermark.evaluationkit.com/Login/SAML","linkUrl":"https://watermark.evaluationkit.com/Login","id":"ek","iconUrl":"https://cdn.watermarkinsights.com/images/login/evaluationkit.svg","name":"Evaluation Kit"},{"samlLinkUrl":null,"linkUrl":"https://w.taskstream.com/WatermarkSSO/Authenticate/lat","id":"lat","iconUrl":"https://cdn.watermarkinsights.com/images/login/tslat.svg","name":"Taskstream LAT"},{"samlLinkUrl":null,"linkUrl":"https://w.taskstream.com/WatermarkSSO/Authenticate/ams","id":"ams","iconUrl":"https://cdn.watermarkinsights.com/images/login/tsams.svg","name":"Taskstream AMS"},{"samlLinkUrl":"https://www.digitalmeasures.com/login/sso/authenticate/saml","linkUrl":"https://www.digitalmeasures.com/login/sso/authenticate","id":"dm","iconUrl":"https://cdn.watermarkinsights.com/images/login/digitalmeasures.svg","name":"Digital Measures"},{"samlLinkUrl":"https://planning.watermarkinsights.com/login/sso/saml_login","linkUrl":"https://planning.watermarkinsights.com/login/sso","id":"planning","iconUrl":"https://cdn.watermarkinsights.com/images/login/planningselfstudy.svg","name":"Planning & Self-Study"}]'
14
+ ></wm-navigator>`,
15
+ });
16
+ expect(comp.root).toMatchSnapshot();
17
+ });
18
+ it("builds (endpoint)", async () => {
19
+ const comp = await newSpecPage({
20
+ components: [Navigator],
21
+ html: `<wm-navigator
22
+ user-name="Bettie User"
23
+ load-from-userinfo="true"
24
+ ></wm-navigator>`,
25
+ });
26
+ expect(comp.root).toMatchSnapshot();
27
+ });
28
+ it("returns the proper link", () => {
29
+ const nav = new Navigator();
30
+ nav.email = "a_user@company.com";
31
+ nav.userName = "Anna User";
32
+ nav.parsedProducts = [
33
+ {
34
+ name: "Aqua",
35
+ iconUrl: "aqua icon",
36
+ linkUrl: "aqua sso",
37
+ samlLinkUrl: "aqua saml",
38
+ id: "aqua",
39
+ },
40
+ {
41
+ name: "via",
42
+ iconUrl: "via icon",
43
+ linkUrl: "via sso",
44
+ samlLinkUrl: "via saml",
45
+ id: "via",
46
+ },
47
+ {
48
+ name: "ek",
49
+ iconUrl: "ek icon",
50
+ linkUrl: "ek sso",
51
+ samlLinkUrl: "ek saml",
52
+ id: "ek",
53
+ },
54
+ {
55
+ name: "lat",
56
+ iconUrl: "lat icon",
57
+ linkUrl: "lat sso",
58
+ samlLinkUrl: "lat saml",
59
+ id: "lat",
60
+ },
61
+ {
62
+ name: "ams",
63
+ iconUrl: "ams icon",
64
+ linkUrl: "ams sso",
65
+ samlLinkUrl: "ams saml",
66
+ id: "ams",
67
+ },
68
+ {
69
+ name: "dm",
70
+ iconUrl: "dm icon",
71
+ linkUrl: "dm sso",
72
+ samlLinkUrl: "dm saml",
73
+ id: "dm",
74
+ },
75
+ {
76
+ name: "planning",
77
+ iconUrl: "planning icon",
78
+ linkUrl: "planning sso",
79
+ samlLinkUrl: "planning saml",
80
+ id: "planning",
81
+ },
82
+ ];
83
+ nav.connectionName = "xoxo"; // connection name only appended for saml
84
+ nav.authType = 2; // = sso
85
+ // setProductOnClick returns the onClick function
86
+ // we invoke it to test the string
87
+ expect(nav.setProductOnClick("aqua")()).toBe("aqua sso");
88
+ expect(nav.setProductOnClick("via")()).toBe("via sso");
89
+ expect(nav.setProductOnClick("ek")()).toBe("ek sso");
90
+ expect(nav.setProductOnClick("lat")()).toBe("lat sso");
91
+ expect(nav.setProductOnClick("ams")()).toBe("ams sso");
92
+ expect(nav.setProductOnClick("dm")()).toBe("dm sso");
93
+ expect(nav.setProductOnClick("planning")()).toBe("planning sso");
94
+ nav.authType = 3; // = saml
95
+ expect(nav.setProductOnClick("aqua")()).toBe("aqua saml/?connection_name=xoxo");
96
+ // if connection_name is not set, nothing is appended
97
+ nav.connectionName = "";
98
+ expect(nav.setProductOnClick("aqua")()).toBe("aqua saml");
99
+ });
100
+ it("handles unknown products (props mode)", async () => {
101
+ // in props mode the component checks a hard-coded list of products
102
+ // if the product is not in the list, it ignores it altogether
103
+ // 2 exceptions: "c1" is converted to "livetext", and anything with the name "admin" (e.g. "system_admin_sit", "platform_admin") is converted to "platform_admin"
104
+ const comp = await newSpecPage({
105
+ components: [Navigator],
106
+ html: `<wm-navigator
107
+ email="anna@user.com"
108
+ user-name="Anna User"
109
+ auth-type="3"
110
+ products='[{"samlLinkUrl":"something_weird.fakeurl","linkUrl":"something_weird.fakeurl","id":"something_weird"},{"samlLinkUrl":"livetext.fakeurl","linkUrl":"livetext.fakeurl","id":"c1"},{"samlLinkUrl":"platform.fakeurl","linkUrl":"platform.fakeurl","id":"something_with_admin_in_it"}]'
111
+ ></wm-navigator>`,
112
+ });
113
+ expect(comp.root).toMatchSnapshot();
114
+ });
115
+ it("loads (userinfo mode)", async () => {
116
+ const page = await newSpecPage({
117
+ components: [Navigator],
118
+ html: `<wm-navigator user-name="User Name" load-from-userinfo="true"></wm-navigator>`,
119
+ });
120
+ expect(page.root).toMatchSnapshot();
121
+ const nav = page.body.querySelector("wm-navigator");
122
+ const items = nav.shadowRoot.querySelectorAll("priv-navigator-item");
123
+ expect(items.length).toBe(7);
124
+ items.forEach((i) => {
125
+ expect(i.id).not.toBeNull();
126
+ expect(i.onClick).not.toBeNull();
127
+ });
128
+ });
129
+ it("camel cases product keys", async () => {
130
+ const nav = new Navigator();
131
+ expect(nav.productKeysToCamelCase([
132
+ {
133
+ description: "desc1",
134
+ icon_url: "url1",
135
+ id: "id1",
136
+ link_url: "url1",
137
+ name: "name1",
138
+ },
139
+ {
140
+ description: "desc2",
141
+ icon_url: "url2",
142
+ id: "id2",
143
+ link_url: "url2",
144
+ name: "name2",
145
+ },
146
+ {
147
+ description: "desc3",
148
+ icon_url: "url3",
149
+ id: "id3",
150
+ link_url: "url3",
151
+ name: "name3",
152
+ },
153
+ ])).toStrictEqual([
154
+ {
155
+ description: "desc1",
156
+ iconUrl: "url1",
157
+ id: "id1",
158
+ linkUrl: "url1",
159
+ name: "name1",
160
+ },
161
+ {
162
+ description: "desc2",
163
+ iconUrl: "url2",
164
+ id: "id2",
165
+ linkUrl: "url2",
166
+ name: "name2",
167
+ },
168
+ {
169
+ description: "desc3",
170
+ iconUrl: "url3",
171
+ id: "id3",
172
+ linkUrl: "url3",
173
+ name: "name3",
174
+ },
175
+ ]);
176
+ });
177
+ });