@watermarkinsights/ripple 5.12.0 → 5.13.0-alpha.10

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 (490) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/components/index.d.ts +33 -0
  4. package/dist/components/priv-calendar.d.ts +11 -0
  5. package/dist/components/priv-chart-popover.d.ts +11 -0
  6. package/dist/components/priv-navigator-button.d.ts +11 -0
  7. package/dist/components/priv-navigator-item.d.ts +11 -0
  8. package/dist/components/priv-option-list.d.ts +11 -0
  9. package/dist/components/wm-action-menu.d.ts +11 -0
  10. package/dist/components/wm-button.d.ts +11 -0
  11. package/dist/components/wm-chart-slice.d.ts +11 -0
  12. package/dist/components/wm-chart.d.ts +11 -0
  13. package/dist/components/wm-date-range.d.ts +11 -0
  14. package/dist/components/wm-datepicker.d.ts +11 -0
  15. package/dist/components/wm-file-list.d.ts +11 -0
  16. package/dist/components/wm-file.d.ts +11 -0
  17. package/dist/components/wm-flyout.d.ts +11 -0
  18. package/dist/components/wm-input.d.ts +11 -0
  19. package/dist/components/wm-line-chart.d.ts +11 -0
  20. package/dist/components/wm-menuitem.d.ts +11 -0
  21. package/dist/components/wm-modal-footer.d.ts +11 -0
  22. package/dist/components/wm-modal-header.d.ts +11 -0
  23. package/dist/components/wm-modal-pss-footer.d.ts +11 -0
  24. package/dist/components/wm-modal-pss-header.d.ts +11 -0
  25. package/dist/components/wm-modal-pss.d.ts +11 -0
  26. package/dist/components/wm-modal.d.ts +11 -0
  27. package/dist/components/wm-navigation-hamburger.d.ts +11 -0
  28. package/dist/components/wm-navigation-item.d.ts +11 -0
  29. package/dist/components/wm-navigation.d.ts +11 -0
  30. package/dist/components/wm-navigator.d.ts +11 -0
  31. package/dist/components/wm-nested-select.d.ts +11 -0
  32. package/dist/components/wm-optgroup.d.ts +11 -0
  33. package/dist/components/wm-option.d.ts +11 -0
  34. package/dist/components/wm-pagination.d.ts +11 -0
  35. package/dist/components/wm-progress-indicator.d.ts +11 -0
  36. package/dist/components/wm-progress-monitor.d.ts +11 -0
  37. package/dist/components/wm-progress-slice.d.ts +11 -0
  38. package/dist/components/wm-search.d.ts +11 -0
  39. package/dist/components/wm-select.d.ts +11 -0
  40. package/dist/components/wm-snackbar.d.ts +11 -0
  41. package/dist/components/wm-tab-item.d.ts +11 -0
  42. package/dist/components/wm-tab-list.d.ts +11 -0
  43. package/dist/components/wm-tab-panel.d.ts +11 -0
  44. package/dist/components/wm-tag-input.d.ts +11 -0
  45. package/dist/components/wm-tag-option.d.ts +11 -0
  46. package/dist/components/wm-textarea.d.ts +11 -0
  47. package/dist/components/wm-timepicker.d.ts +11 -0
  48. package/dist/components/wm-toggletip.d.ts +11 -0
  49. package/dist/components/wm-uploader.d.ts +11 -0
  50. package/dist/components/wm-wrapper.d.ts +11 -0
  51. package/dist/{collection/global/global.js → ripple/app-globals-B7cOtGhY.js} +84 -2
  52. package/dist/{esm/chartFunctions-9099c7e9.js → ripple/chartFunctions-1XZcmyix.js} +4 -4
  53. package/dist/ripple/functions-DVLl0rH_.js +18108 -0
  54. package/dist/ripple/index-CU5QNCKv.js +4167 -0
  55. package/dist/ripple/index.esm.js +1 -0
  56. package/dist/{collection/global/interfaces.js → ripple/interfaces-CrANcZM9.js} +6 -4
  57. package/dist/{esm/intl-a6f16883.js → ripple/intl-7p27BJSM.js} +1 -1
  58. package/dist/ripple/priv-calendar.entry.js +566 -0
  59. package/dist/ripple/{p-28119645.system.entry.js → priv-chart-popover.entry.js} +134 -1
  60. package/dist/ripple/priv-navigator-button.entry.js +24 -0
  61. package/dist/ripple/{p-958331bf.entry.js → priv-navigator-item.entry.js} +30 -1
  62. package/dist/ripple/{p-363b534b.entry.js → priv-option-list.entry.js} +385 -1
  63. package/dist/ripple/ripple.css +809 -1
  64. package/dist/ripple/ripple.esm.js +48 -1
  65. package/dist/ripple/wm-action-menu.entry.js +201 -0
  66. package/dist/ripple/wm-button.entry.js +197 -0
  67. package/dist/{esm → ripple}/wm-chart-slice.entry.js +1 -6
  68. package/dist/ripple/{p-a78bb423.system.entry.js → wm-chart.entry.js} +157 -1
  69. package/dist/ripple/wm-date-range.entry.js +477 -0
  70. package/dist/ripple/wm-datepicker.entry.js +247 -0
  71. package/dist/ripple/wm-file-list.entry.js +18 -0
  72. package/dist/ripple/{p-1a71d867.system.entry.js → wm-file.entry.js} +182 -1
  73. package/dist/ripple/{p-56aeee6e.system.entry.js → wm-flyout.entry.js} +159 -1
  74. package/dist/ripple/wm-input.entry.js +111 -0
  75. package/dist/{esm/wm-chart.entry.js → ripple/wm-line-chart.entry.js} +402 -111
  76. package/dist/{esm/priv-chart-popover.entry.js → ripple/wm-menuitem.entry.js} +98 -108
  77. package/dist/{cjs/priv-navigator-button.cjs.entry.js → ripple/wm-modal-footer.entry.js} +35 -19
  78. package/dist/{esm/priv-navigator-button.entry.js → ripple/wm-modal-header.entry.js} +25 -13
  79. package/dist/ripple/wm-modal-pss-footer.entry.js +40 -0
  80. package/dist/ripple/wm-modal-pss-header.entry.js +39 -0
  81. package/dist/ripple/wm-modal-pss.entry.js +135 -0
  82. package/dist/ripple/wm-modal.entry.js +133 -0
  83. package/dist/ripple/wm-navigation-hamburger.entry.js +48 -0
  84. package/dist/ripple/wm-navigation-item.entry.js +18 -0
  85. package/dist/ripple/{p-b9bca547.entry.js → wm-navigation.entry.js} +116 -1
  86. package/dist/{cjs/priv-navigator-item.cjs.entry.js → ripple/wm-navigator.entry.js} +357 -23
  87. package/dist/ripple/{p-a04ef164.system.entry.js → wm-nested-select.entry.js} +308 -1
  88. package/dist/{cjs/priv-chart-popover.cjs.entry.js → ripple/wm-optgroup.entry.js} +48 -119
  89. package/dist/{esm/priv-option-list.entry.js → ripple/wm-option.entry.js} +129 -346
  90. package/dist/ripple/{p-05ae54d7.entry.js → wm-pagination.entry.js} +223 -1
  91. package/dist/ripple/wm-progress-indicator.entry.js +107 -0
  92. package/dist/{esm-es5/priv-navigator-item.entry.js → ripple/wm-progress-monitor.entry.js} +71 -1
  93. package/dist/ripple/wm-progress-slice.entry.js +13 -0
  94. package/dist/{cjs/priv-option-list.cjs.entry.js → ripple/wm-search.entry.js} +180 -364
  95. package/dist/{esm/wm-nested-select.entry.js → ripple/wm-select.entry.js} +137 -198
  96. package/dist/ripple/wm-snackbar.entry.js +178 -0
  97. package/dist/{esm-es5/wm-file-list.entry.js → ripple/wm-tab-item.entry.js} +63 -1
  98. package/dist/ripple/wm-tab-list.entry.js +175 -0
  99. package/dist/ripple/wm-tab-panel.entry.js +32 -0
  100. package/dist/ripple/wm-tag-input.entry.js +877 -0
  101. package/dist/{esm → ripple}/wm-tag-option.entry.js +2 -6
  102. package/dist/ripple/wm-textarea.entry.js +79 -0
  103. package/dist/ripple/wm-timepicker.entry.js +300 -0
  104. package/dist/{esm/priv-navigator-item.entry.js → ripple/wm-toggletip.entry.js} +164 -18
  105. package/dist/ripple/wm-uploader.entry.js +313 -0
  106. package/dist/{esm → ripple}/wm-wrapper.entry.js +1 -1
  107. package/dist/types/components/wm-flyout/wm-flyout.d.ts +45 -0
  108. package/dist/types/components.d.ts +56 -0
  109. package/dist/types/global/functions.d.ts +1 -0
  110. package/dist/types/stencil-public-runtime.d.ts +31 -10
  111. package/package.json +32 -12
  112. package/dist/cjs/chartFunctions-a1981e06.js +0 -732
  113. package/dist/cjs/functions-4b187487.js +0 -9679
  114. package/dist/cjs/global-4e034486.js +0 -85
  115. package/dist/cjs/index-e86c28b6.js +0 -2649
  116. package/dist/cjs/index.cjs.js +0 -2
  117. package/dist/cjs/interfaces-85d78ae9.js +0 -37
  118. package/dist/cjs/intl-7fd0760e.js +0 -283
  119. package/dist/cjs/loader.cjs.js +0 -14
  120. package/dist/cjs/priv-calendar.cjs.entry.js +0 -573
  121. package/dist/cjs/ripple.cjs.js +0 -24
  122. package/dist/cjs/wm-action-menu_2.cjs.entry.js +0 -333
  123. package/dist/cjs/wm-button.cjs.entry.js +0 -206
  124. package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -27
  125. package/dist/cjs/wm-chart.cjs.entry.js +0 -162
  126. package/dist/cjs/wm-date-range.cjs.entry.js +0 -483
  127. package/dist/cjs/wm-datepicker.cjs.entry.js +0 -253
  128. package/dist/cjs/wm-file-list.cjs.entry.js +0 -22
  129. package/dist/cjs/wm-file.cjs.entry.js +0 -193
  130. package/dist/cjs/wm-input.cjs.entry.js +0 -124
  131. package/dist/cjs/wm-line-chart.cjs.entry.js +0 -460
  132. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +0 -214
  133. package/dist/cjs/wm-modal_3.cjs.entry.js +0 -212
  134. package/dist/cjs/wm-navigation_3.cjs.entry.js +0 -185
  135. package/dist/cjs/wm-navigator.cjs.entry.js +0 -326
  136. package/dist/cjs/wm-nested-select.cjs.entry.js +0 -314
  137. package/dist/cjs/wm-optgroup.cjs.entry.js +0 -73
  138. package/dist/cjs/wm-option_2.cjs.entry.js +0 -425
  139. package/dist/cjs/wm-pagination.cjs.entry.js +0 -227
  140. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +0 -202
  141. package/dist/cjs/wm-search.cjs.entry.js +0 -193
  142. package/dist/cjs/wm-snackbar.cjs.entry.js +0 -181
  143. package/dist/cjs/wm-tab-item_3.cjs.entry.js +0 -260
  144. package/dist/cjs/wm-tag-input.cjs.entry.js +0 -891
  145. package/dist/cjs/wm-tag-option.cjs.entry.js +0 -43
  146. package/dist/cjs/wm-textarea.cjs.entry.js +0 -87
  147. package/dist/cjs/wm-timepicker.cjs.entry.js +0 -306
  148. package/dist/cjs/wm-toggletip.cjs.entry.js +0 -182
  149. package/dist/cjs/wm-uploader.cjs.entry.js +0 -324
  150. package/dist/cjs/wm-wrapper.cjs.entry.js +0 -21
  151. package/dist/collection/collection-manifest.json +0 -191
  152. package/dist/collection/components/charts/chartFunctions.js +0 -665
  153. package/dist/collection/components/charts/chartFunctions.spec.js +0 -16
  154. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +0 -908
  155. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +0 -81
  156. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +0 -257
  157. package/dist/collection/components/charts/screenshots.e2e.js +0 -96
  158. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +0 -125
  159. package/dist/collection/components/charts/wm-chart/wm-chart.css +0 -1274
  160. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +0 -213
  161. package/dist/collection/components/charts/wm-chart/wm-chart.js +0 -422
  162. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +0 -37
  163. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +0 -1067
  164. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +0 -176
  165. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +0 -723
  166. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +0 -163
  167. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +0 -1274
  168. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +0 -264
  169. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +0 -909
  170. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +0 -69
  171. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +0 -151
  172. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +0 -79
  173. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +0 -121
  174. package/dist/collection/components/datepickers/datepicker.css +0 -1043
  175. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +0 -1279
  176. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +0 -840
  177. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +0 -89
  178. package/dist/collection/components/datepickers/wm-date-range.e2e.js +0 -443
  179. package/dist/collection/components/datepickers/wm-date-range.js +0 -845
  180. package/dist/collection/components/datepickers/wm-date-range.spec.js +0 -22
  181. package/dist/collection/components/datepickers/wm-datepicker.e2e.js +0 -382
  182. package/dist/collection/components/datepickers/wm-datepicker.js +0 -520
  183. package/dist/collection/components/datepickers/wm-datepicker.spec.js +0 -21
  184. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +0 -918
  185. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +0 -778
  186. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +0 -1181
  187. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +0 -620
  188. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +0 -830
  189. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +0 -258
  190. package/dist/collection/components/selects/wm-option/wm-option.css +0 -931
  191. package/dist/collection/components/selects/wm-option/wm-option.e2e.js +0 -22
  192. package/dist/collection/components/selects/wm-option/wm-option.js +0 -530
  193. package/dist/collection/components/selects/wm-option/wm-option.spec.js +0 -63
  194. package/dist/collection/components/selects/wm-select/wm-select.css +0 -1104
  195. package/dist/collection/components/selects/wm-select/wm-select.e2e.js +0 -521
  196. package/dist/collection/components/selects/wm-select/wm-select.js +0 -584
  197. package/dist/collection/components/selects/wm-select/wm-select.spec.js +0 -271
  198. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -891
  199. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +0 -200
  200. package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -435
  201. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +0 -48
  202. package/dist/collection/components/wm-button/wm-button.css +0 -1261
  203. package/dist/collection/components/wm-button/wm-button.e2e.js +0 -55
  204. package/dist/collection/components/wm-button/wm-button.js +0 -489
  205. package/dist/collection/components/wm-button/wm-button.spec.js +0 -74
  206. package/dist/collection/components/wm-file/wm-file.css +0 -927
  207. package/dist/collection/components/wm-file/wm-file.js +0 -412
  208. package/dist/collection/components/wm-file/wm-file.spec.js +0 -194
  209. package/dist/collection/components/wm-file-list/wm-file-list.css +0 -820
  210. package/dist/collection/components/wm-file-list/wm-file-list.js +0 -45
  211. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +0 -69
  212. package/dist/collection/components/wm-input/wm-input.css +0 -992
  213. package/dist/collection/components/wm-input/wm-input.e2e.js +0 -32
  214. package/dist/collection/components/wm-input/wm-input.js +0 -471
  215. package/dist/collection/components/wm-input/wm-input.spec.js +0 -173
  216. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -891
  217. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +0 -23
  218. package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -419
  219. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +0 -54
  220. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -845
  221. package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -141
  222. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +0 -11
  223. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -844
  224. package/dist/collection/components/wm-modal/wm-modal-header.js +0 -78
  225. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +0 -8
  226. package/dist/collection/components/wm-modal/wm-modal.css +0 -891
  227. package/dist/collection/components/wm-modal/wm-modal.e2e.js +0 -104
  228. package/dist/collection/components/wm-modal/wm-modal.js +0 -350
  229. package/dist/collection/components/wm-modal/wm-modal.spec.js +0 -30
  230. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +0 -852
  231. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +0 -138
  232. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +0 -846
  233. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +0 -82
  234. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +0 -927
  235. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +0 -362
  236. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -847
  237. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +0 -119
  238. package/dist/collection/components/wm-navigation/wm-navigation-item.css +0 -856
  239. package/dist/collection/components/wm-navigation/wm-navigation-item.js +0 -98
  240. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -898
  241. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +0 -102
  242. package/dist/collection/components/wm-navigation/wm-navigation.js +0 -190
  243. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +0 -91
  244. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -849
  245. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +0 -50
  246. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -86
  247. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -830
  248. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -124
  249. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -903
  250. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +0 -209
  251. package/dist/collection/components/wm-navigator/wm-navigator.js +0 -496
  252. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +0 -177
  253. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -971
  254. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +0 -312
  255. package/dist/collection/components/wm-pagination/wm-pagination.js +0 -363
  256. package/dist/collection/components/wm-search/wm-search.css +0 -895
  257. package/dist/collection/components/wm-search/wm-search.e2e.js +0 -76
  258. package/dist/collection/components/wm-search/wm-search.js +0 -426
  259. package/dist/collection/components/wm-search/wm-search.spec.js +0 -71
  260. package/dist/collection/components/wm-snackbar/wm-snackbar.css +0 -1077
  261. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +0 -112
  262. package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -269
  263. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +0 -9
  264. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -868
  265. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -175
  266. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -840
  267. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -273
  268. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -825
  269. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -87
  270. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +0 -91
  271. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +0 -12
  272. package/dist/collection/components/wm-tag-input/wm-tag-input.css +0 -1275
  273. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +0 -204
  274. package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -1227
  275. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +0 -195
  276. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +0 -243
  277. package/dist/collection/components/wm-textarea/wm-textarea.css +0 -979
  278. package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +0 -41
  279. package/dist/collection/components/wm-textarea/wm-textarea.js +0 -313
  280. package/dist/collection/components/wm-textarea/wm-textarea.spec.js +0 -79
  281. package/dist/collection/components/wm-timepicker/wm-timepicker.css +0 -1093
  282. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +0 -163
  283. package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -544
  284. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +0 -147
  285. package/dist/collection/components/wm-toggletip/wm-toggletip.css +0 -1152
  286. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +0 -69
  287. package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -289
  288. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +0 -21
  289. package/dist/collection/components/wm-uploader/wm-uploader.css +0 -1563
  290. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +0 -70
  291. package/dist/collection/components/wm-uploader/wm-uploader.js +0 -603
  292. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +0 -234
  293. package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -28
  294. package/dist/collection/dev/action-menu.js +0 -0
  295. package/dist/collection/dev/button.js +0 -0
  296. package/dist/collection/dev/chart-small.js +0 -56
  297. package/dist/collection/dev/chart.js +0 -18
  298. package/dist/collection/dev/date-range.js +0 -6
  299. package/dist/collection/dev/datepicker.js +0 -46
  300. package/dist/collection/dev/file-list.js +0 -16
  301. package/dist/collection/dev/file.js +0 -0
  302. package/dist/collection/dev/input.js +0 -6
  303. package/dist/collection/dev/line-chart.js +0 -0
  304. package/dist/collection/dev/modal.js +0 -48
  305. package/dist/collection/dev/navigation.js +0 -13
  306. package/dist/collection/dev/navigator.js +0 -34
  307. package/dist/collection/dev/nested-select.js +0 -36
  308. package/dist/collection/dev/pagination.js +0 -7
  309. package/dist/collection/dev/progress-monitor.js +0 -0
  310. package/dist/collection/dev/pss-modal.js +0 -8
  311. package/dist/collection/dev/scripts.js +0 -49
  312. package/dist/collection/dev/search.js +0 -72
  313. package/dist/collection/dev/select.js +0 -57
  314. package/dist/collection/dev/snackbar.js +0 -54
  315. package/dist/collection/dev/tabs.js +0 -44
  316. package/dist/collection/dev/tag-input.js +0 -32
  317. package/dist/collection/dev/textarea.js +0 -28
  318. package/dist/collection/dev/timepicker.js +0 -32
  319. package/dist/collection/dev/toggletip.js +0 -9
  320. package/dist/collection/dev/uploader.js +0 -139
  321. package/dist/collection/global/__mocks__/functions.js +0 -6
  322. package/dist/collection/global/functions.js +0 -825
  323. package/dist/collection/global/functions.spec.js +0 -126
  324. package/dist/collection/global/intl.js +0 -274
  325. package/dist/collection/global/services/__mocks__/http-service.js +0 -130
  326. package/dist/collection/global/services/http-service.js +0 -50
  327. package/dist/collection/lang/lang.js +0 -5
  328. package/dist/collection/lang/lang.spec.js +0 -20
  329. package/dist/collection/lang/missing.js +0 -43
  330. package/dist/collection/lang/piglatin.js +0 -101
  331. package/dist/esm/functions-00e1916b.js +0 -9639
  332. package/dist/esm/global-c76064cb.js +0 -83
  333. package/dist/esm/index-558b5a82.js +0 -2618
  334. package/dist/esm/index.js +0 -1
  335. package/dist/esm/interfaces-cc5b177f.js +0 -34
  336. package/dist/esm/loader.js +0 -10
  337. package/dist/esm/polyfills/core-js.js +0 -11
  338. package/dist/esm/polyfills/dom.js +0 -79
  339. package/dist/esm/polyfills/es5-html-element.js +0 -1
  340. package/dist/esm/polyfills/index.js +0 -34
  341. package/dist/esm/polyfills/system.js +0 -6
  342. package/dist/esm/priv-calendar.entry.js +0 -569
  343. package/dist/esm/ripple.js +0 -19
  344. package/dist/esm/wm-action-menu_2.entry.js +0 -328
  345. package/dist/esm/wm-button.entry.js +0 -202
  346. package/dist/esm/wm-date-range.entry.js +0 -479
  347. package/dist/esm/wm-datepicker.entry.js +0 -249
  348. package/dist/esm/wm-file-list.entry.js +0 -18
  349. package/dist/esm/wm-file.entry.js +0 -189
  350. package/dist/esm/wm-input.entry.js +0 -120
  351. package/dist/esm/wm-line-chart.entry.js +0 -456
  352. package/dist/esm/wm-modal-pss_3.entry.js +0 -208
  353. package/dist/esm/wm-modal_3.entry.js +0 -206
  354. package/dist/esm/wm-navigation_3.entry.js +0 -179
  355. package/dist/esm/wm-navigator.entry.js +0 -322
  356. package/dist/esm/wm-optgroup.entry.js +0 -69
  357. package/dist/esm/wm-option_2.entry.js +0 -420
  358. package/dist/esm/wm-pagination.entry.js +0 -223
  359. package/dist/esm/wm-progress-indicator_3.entry.js +0 -196
  360. package/dist/esm/wm-search.entry.js +0 -189
  361. package/dist/esm/wm-snackbar.entry.js +0 -177
  362. package/dist/esm/wm-tab-item_3.entry.js +0 -254
  363. package/dist/esm/wm-tag-input.entry.js +0 -887
  364. package/dist/esm/wm-textarea.entry.js +0 -83
  365. package/dist/esm/wm-timepicker.entry.js +0 -302
  366. package/dist/esm/wm-toggletip.entry.js +0 -178
  367. package/dist/esm/wm-uploader.entry.js +0 -320
  368. package/dist/esm-es5/chartFunctions-9099c7e9.js +0 -1
  369. package/dist/esm-es5/functions-00e1916b.js +0 -1
  370. package/dist/esm-es5/global-c76064cb.js +0 -1
  371. package/dist/esm-es5/index-558b5a82.js +0 -1
  372. package/dist/esm-es5/index.js +0 -0
  373. package/dist/esm-es5/interfaces-cc5b177f.js +0 -1
  374. package/dist/esm-es5/intl-a6f16883.js +0 -1
  375. package/dist/esm-es5/loader.js +0 -1
  376. package/dist/esm-es5/priv-calendar.entry.js +0 -1
  377. package/dist/esm-es5/priv-chart-popover.entry.js +0 -1
  378. package/dist/esm-es5/priv-navigator-button.entry.js +0 -1
  379. package/dist/esm-es5/priv-option-list.entry.js +0 -1
  380. package/dist/esm-es5/ripple.js +0 -1
  381. package/dist/esm-es5/wm-action-menu_2.entry.js +0 -1
  382. package/dist/esm-es5/wm-button.entry.js +0 -1
  383. package/dist/esm-es5/wm-chart-slice.entry.js +0 -1
  384. package/dist/esm-es5/wm-chart.entry.js +0 -1
  385. package/dist/esm-es5/wm-date-range.entry.js +0 -1
  386. package/dist/esm-es5/wm-datepicker.entry.js +0 -1
  387. package/dist/esm-es5/wm-file.entry.js +0 -1
  388. package/dist/esm-es5/wm-input.entry.js +0 -1
  389. package/dist/esm-es5/wm-line-chart.entry.js +0 -1
  390. package/dist/esm-es5/wm-modal-pss_3.entry.js +0 -1
  391. package/dist/esm-es5/wm-modal_3.entry.js +0 -1
  392. package/dist/esm-es5/wm-navigation_3.entry.js +0 -1
  393. package/dist/esm-es5/wm-navigator.entry.js +0 -1
  394. package/dist/esm-es5/wm-nested-select.entry.js +0 -1
  395. package/dist/esm-es5/wm-optgroup.entry.js +0 -1
  396. package/dist/esm-es5/wm-option_2.entry.js +0 -1
  397. package/dist/esm-es5/wm-pagination.entry.js +0 -1
  398. package/dist/esm-es5/wm-progress-indicator_3.entry.js +0 -1
  399. package/dist/esm-es5/wm-search.entry.js +0 -1
  400. package/dist/esm-es5/wm-snackbar.entry.js +0 -1
  401. package/dist/esm-es5/wm-tab-item_3.entry.js +0 -1
  402. package/dist/esm-es5/wm-tag-input.entry.js +0 -1
  403. package/dist/esm-es5/wm-tag-option.entry.js +0 -1
  404. package/dist/esm-es5/wm-textarea.entry.js +0 -1
  405. package/dist/esm-es5/wm-timepicker.entry.js +0 -1
  406. package/dist/esm-es5/wm-toggletip.entry.js +0 -1
  407. package/dist/esm-es5/wm-uploader.entry.js +0 -1
  408. package/dist/esm-es5/wm-wrapper.entry.js +0 -1
  409. package/dist/index.cjs.js +0 -1
  410. package/dist/index.js +0 -1
  411. package/dist/loader/cdn.js +0 -3
  412. package/dist/loader/index.cjs.js +0 -3
  413. package/dist/loader/index.d.ts +0 -21
  414. package/dist/loader/index.es2017.js +0 -3
  415. package/dist/loader/index.js +0 -4
  416. package/dist/loader/package.json +0 -11
  417. package/dist/ripple/p-0d89d63c.system.entry.js +0 -1
  418. package/dist/ripple/p-118c47eb.system.entry.js +0 -1
  419. package/dist/ripple/p-1a4b6b02.system.entry.js +0 -1
  420. package/dist/ripple/p-1a4b7504.system.entry.js +0 -1
  421. package/dist/ripple/p-1a951dfb.entry.js +0 -1
  422. package/dist/ripple/p-1c8f550f.system.entry.js +0 -1
  423. package/dist/ripple/p-1f751b87.js +0 -1
  424. package/dist/ripple/p-1fac5bf9.js +0 -1
  425. package/dist/ripple/p-20a8f732.system.entry.js +0 -1
  426. package/dist/ripple/p-249b56fb.entry.js +0 -1
  427. package/dist/ripple/p-249d13a1.system.entry.js +0 -1
  428. package/dist/ripple/p-26906899.entry.js +0 -1
  429. package/dist/ripple/p-2732bddd.js +0 -1
  430. package/dist/ripple/p-2f37f3ee.system.js +0 -1
  431. package/dist/ripple/p-32bf3f5b.system.entry.js +0 -1
  432. package/dist/ripple/p-335c03d3.system.entry.js +0 -1
  433. package/dist/ripple/p-393e4636.js +0 -1
  434. package/dist/ripple/p-39f79d71.system.entry.js +0 -1
  435. package/dist/ripple/p-3a231f4b.system.entry.js +0 -1
  436. package/dist/ripple/p-3d4bb85f.entry.js +0 -1
  437. package/dist/ripple/p-4228de00.entry.js +0 -1
  438. package/dist/ripple/p-42fa7a77.system.js +0 -1
  439. package/dist/ripple/p-48e09589.entry.js +0 -1
  440. package/dist/ripple/p-4f8fe1d1.system.js +0 -1
  441. package/dist/ripple/p-50ea2036.system.js +0 -1
  442. package/dist/ripple/p-522ecb7d.system.entry.js +0 -1
  443. package/dist/ripple/p-54d6f0f9.entry.js +0 -1
  444. package/dist/ripple/p-568c595f.js +0 -2
  445. package/dist/ripple/p-5e6a4f70.system.js +0 -1
  446. package/dist/ripple/p-5f082360.system.entry.js +0 -1
  447. package/dist/ripple/p-5f5fe905.js +0 -1
  448. package/dist/ripple/p-617c2c75.entry.js +0 -1
  449. package/dist/ripple/p-6524c53e.system.entry.js +0 -1
  450. package/dist/ripple/p-65d26233.system.entry.js +0 -1
  451. package/dist/ripple/p-6834a6d3.entry.js +0 -1
  452. package/dist/ripple/p-68e04222.entry.js +0 -1
  453. package/dist/ripple/p-68fddfaa.system.entry.js +0 -1
  454. package/dist/ripple/p-694903e6.system.entry.js +0 -1
  455. package/dist/ripple/p-73ca2f26.system.js +0 -1
  456. package/dist/ripple/p-7b6a65f8.system.entry.js +0 -1
  457. package/dist/ripple/p-7b7e1eb5.system.entry.js +0 -1
  458. package/dist/ripple/p-88ebddd7.entry.js +0 -1
  459. package/dist/ripple/p-8c1d27a7.entry.js +0 -1
  460. package/dist/ripple/p-8e9c24f3.entry.js +0 -1
  461. package/dist/ripple/p-8f836507.system.entry.js +0 -1
  462. package/dist/ripple/p-94495341.entry.js +0 -1
  463. package/dist/ripple/p-9872623b.entry.js +0 -1
  464. package/dist/ripple/p-9ab3c088.system.entry.js +0 -1
  465. package/dist/ripple/p-9aedd599.entry.js +0 -1
  466. package/dist/ripple/p-9b848151.entry.js +0 -1
  467. package/dist/ripple/p-a880d9a0.system.entry.js +0 -1
  468. package/dist/ripple/p-ab8d78cc.system.js +0 -2
  469. package/dist/ripple/p-adc254e6.entry.js +0 -1
  470. package/dist/ripple/p-b165d61a.entry.js +0 -1
  471. package/dist/ripple/p-b39377c7.entry.js +0 -1
  472. package/dist/ripple/p-bae2c236.entry.js +0 -1
  473. package/dist/ripple/p-c53f3704.system.entry.js +0 -1
  474. package/dist/ripple/p-c56ff16f.entry.js +0 -1
  475. package/dist/ripple/p-c8cf09a2.system.entry.js +0 -1
  476. package/dist/ripple/p-cbdceb6e.entry.js +0 -1
  477. package/dist/ripple/p-cc813406.system.js +0 -1
  478. package/dist/ripple/p-d20a0f0c.system.entry.js +0 -1
  479. package/dist/ripple/p-d6111226.entry.js +0 -1
  480. package/dist/ripple/p-da68c87c.entry.js +0 -1
  481. package/dist/ripple/p-ddef82fa.system.entry.js +0 -1
  482. package/dist/ripple/p-dee6d5a3.entry.js +0 -1
  483. package/dist/ripple/p-e55d5371.entry.js +0 -1
  484. package/dist/ripple/p-e8c22f01.system.entry.js +0 -1
  485. package/dist/ripple/p-f555831b.entry.js +0 -1
  486. package/dist/ripple/p-f5c40e9e.system.entry.js +0 -1
  487. package/dist/ripple/p-f9cade98.entry.js +0 -1
  488. package/dist/ripple/p-fa09191b.system.entry.js +0 -1
  489. package/dist/ripple/p-fdfca58b.entry.js +0 -1
  490. package/dist/ripple/ripple.js +0 -127
@@ -1,521 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { AxePuppeteer } from "@axe-core/puppeteer";
3
- describe("wm-select", () => {
4
- let page;
5
- async function createPageHelper() {
6
- page = await newE2EPage();
7
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
8
- <wm-select id='test' label="Make a selection">
9
- <wm-option id='first' selected>First option</wm-option>
10
- <wm-option id='second'>Second option</wm-option>
11
- <wm-option id='third'>Third option</wm-option>
12
- </wm-select>
13
- </main></body></html>`);
14
- }
15
- it("passes Axe checks", async () => {
16
- await createPageHelper();
17
- const results = await new AxePuppeteer(page).analyze();
18
- expect(results.violations.length).toBe(0);
19
- });
20
- // RENDER
21
- it("renders", async () => {
22
- await createPageHelper();
23
- const element = await page.find("wm-select");
24
- await page.waitForChanges();
25
- expect(element).not.toBeNull();
26
- });
27
- // ATTRIBUTES
28
- it("has the right WAI_ARIA roles, states and properties", async () => {
29
- await createPageHelper();
30
- const button = await page.find("wm-select >>> button");
31
- const listbox = await page.find("wm-select >>> #list");
32
- /* check aria-expanded attribute */
33
- expect(button).toEqualAttribute("aria-expanded", "false");
34
- /* The listbox has tabindex="-1" */
35
- expect(listbox).toEqualAttribute("tabindex", "-1");
36
- /* Roving tabindex: we're setting tabindex dynamically. follows focus */
37
- /* https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_roving_tabindex */
38
- await page.keyboard.press("Tab");
39
- await page.waitForChanges();
40
- await page.keyboard.press("Enter"); // open popup
41
- await page.waitForChanges();
42
- const first = await page.find("#first");
43
- await page.waitForChanges();
44
- expect(first).toEqualAttribute("tabIndex", "0");
45
- /* In a single-select listbox, the selected option has aria-selected set to true. */
46
- await page.keyboard.press("ArrowDown");
47
- await page.waitForChanges();
48
- await page.keyboard.press("ArrowDown");
49
- await page.waitForChanges();
50
- const third = await page.find("#third");
51
- expect(third).toEqualAttribute("tabIndex", "0"); // third is focused...
52
- expect(first).toEqualAttribute("aria-selected", true); // ...first is still selected (default)
53
- });
54
- it("switches the dropdown direction", async () => {
55
- // Viewport is 800 x 600 by default
56
- // with the first select at the top of the page
57
- // and the 2nd one at the bottom
58
- page = await newE2EPage();
59
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
60
- <wm-select id='select1' label="Make a selection">
61
- <wm-option id='first' selected>First option</wm-option>
62
- <wm-option id='second'>Second option</wm-option>
63
- <wm-option id='third'>Third option</wm-option>
64
- </wm-select>
65
- <div style="height: 500px">A big block</div>
66
- <wm-select id='select2' label="Make a selection">
67
- <wm-option id='first' selected>First option</wm-option>
68
- <wm-option id='second'>Second option</wm-option>
69
- <wm-option id='third'>Third option</wm-option>
70
- </wm-select>
71
- </main></body></html>`);
72
- // dropdown goes down by default, but if there is not
73
- // enough space under the component AND there is more space above,
74
- // it goes up
75
- await page.keyboard.press("Tab");
76
- await page.waitForChanges();
77
- await page.keyboard.press("Enter");
78
- await page.waitForChanges();
79
- const select1_options = await page.find("#select1 >>> .dropdown");
80
- await page.waitForChanges();
81
- expect(select1_options.classList.contains("upwards")).toBeFalsy();
82
- await page.keyboard.press("Tab");
83
- await page.waitForChanges();
84
- await page.keyboard.press("Enter");
85
- await page.waitForChanges();
86
- const select2_options = await page.find("#select2 >>> .dropdown");
87
- await page.waitForChanges();
88
- expect(select2_options.classList.contains("upwards")).toBeTruthy();
89
- });
90
- /* When a single-select listbox receives focus:
91
- /* - If none of the options are selected before the listbox receives focus, the first option receives focus.
92
- Optionally, the first option may be automatically selected. */
93
- /* - If an option is selected before the listbox receives focus, focus is set on the selected option. */
94
- it("automatically focuses the first option", async () => {
95
- await createPageHelper();
96
- await page.keyboard.press("Tab");
97
- await page.waitForChanges();
98
- await page.keyboard.press("Enter");
99
- await page.waitForChanges();
100
- const firstItem = await page.find("wm-option");
101
- await page.waitForChanges();
102
- expect(firstItem).toEqualAttribute("tabindex", "0");
103
- });
104
- /* Down Arrow: Moves focus to the next option (1). If the listbox is collapsed (2), also expands the list (3). */
105
- /* Up Arrow: Moves focus to the previous option (4). If the listbox is collapsed (5), also expands the list (6). */
106
- it("handles Up and Down Arrow keys", async () => {
107
- await createPageHelper();
108
- const btn = await page.find("wm-select >>> #selectbtn");
109
- expect(btn.getAttribute("aria-expanded")).toEqual("false"); // 2
110
- await page.keyboard.press("Tab");
111
- await page.waitForChanges();
112
- await page.keyboard.press("ArrowDown");
113
- await page.waitForChanges();
114
- expect(btn.getAttribute("aria-expanded")).toEqual("true"); // 3
115
- const second = await page.find("#second");
116
- await page.waitForChanges();
117
- expect(second).toEqualAttribute("tabindex", "0"); // 1
118
- await page.keyboard.press("ArrowDown");
119
- await page.waitForChanges();
120
- const third = await page.find("#third");
121
- await page.waitForChanges();
122
- expect(third).toEqualAttribute("tabindex", "0"); // 1
123
- await page.keyboard.press("ArrowUp");
124
- await page.waitForChanges();
125
- expect(second).toEqualAttribute("tabindex", "0"); // 4
126
- await page.keyboard.press("Enter");
127
- await page.waitForChanges();
128
- expect(btn.getAttribute("aria-expanded")).toEqual("false"); // 5
129
- await page.waitForTimeout(500); // focus returns to btn with a timeout to make sure SRs read the updated state
130
- await page.keyboard.press("ArrowUp");
131
- await page.waitForChanges();
132
- await page.keyboard.press("ArrowUp");
133
- await page.waitForChanges();
134
- expect(btn.getAttribute("aria-expanded")).toEqual("true"); // 6
135
- });
136
- /* Home: If the listbox is displayed, moves focus to first option. */
137
- /* End: If the listbox is displayed, moves focus to last option. */
138
- it("handles Home and End keys", async () => {
139
- await createPageHelper();
140
- await page.keyboard.press("Tab");
141
- await page.waitForChanges();
142
- await page.keyboard.press("Enter");
143
- await page.waitForChanges();
144
- let firstEl = await page.find("#first");
145
- await page.waitForChanges();
146
- expect(firstEl).toEqualAttribute("tabindex", "0");
147
- await page.keyboard.press("End");
148
- await page.waitForChanges();
149
- let lastEl = await page.find("#third");
150
- expect(lastEl).toEqualAttribute("tabindex", "0");
151
- expect(firstEl).toEqualAttribute("tabindex", "-1");
152
- await page.keyboard.press("Home");
153
- await page.waitForChanges();
154
- firstEl = await page.find("#first");
155
- lastEl = await page.find("#third");
156
- expect(firstEl).toEqualAttribute("tabindex", "0");
157
- expect(lastEl).toEqualAttribute("tabindex", "-1");
158
- });
159
- /* Type-ahead is recommended for all listboxes, especially those with more than seven options: */
160
- /* - Type a character: focus moves to the next item with a name that starts with the typed character. */
161
- /* - Type multiple characters in rapid succession: focus moves to the next item with a name that starts with the string of characters typed */
162
- it("handles typing", async () => {
163
- await createPageHelper();
164
- await page.keyboard.press("Tab");
165
- await page.keyboard.press("Enter");
166
- await page.waitForChanges();
167
- await page.keyboard.press("t");
168
- await page.waitForChanges();
169
- const focusedEl = await page.find("#third");
170
- await page.waitForChanges();
171
- expect(focusedEl).toEqualAttribute("tabindex", "0");
172
- });
173
- // OPENING / CLOSING POPUP
174
- it("Enter key opens and closes the dropdown", async () => {
175
- await createPageHelper();
176
- await page.keyboard.press("Tab");
177
- await page.waitForChanges();
178
- await page.keyboard.press("Enter");
179
- await page.waitForChanges();
180
- const btn = await page.find("wm-select >>> #selectbtn");
181
- await page.waitForChanges();
182
- expect(btn.getAttribute("aria-expanded")).toEqual("true");
183
- await page.keyboard.press("ArrowDown");
184
- await page.waitForChanges();
185
- await page.keyboard.press("Enter");
186
- await page.waitForChanges();
187
- expect(btn.getAttribute("aria-expanded")).toEqual("false");
188
- });
189
- it("Space key opens and closes the dropdown", async () => {
190
- await createPageHelper();
191
- await page.keyboard.press("Tab");
192
- await page.waitForChanges();
193
- await page.keyboard.press("Space");
194
- await page.waitForChanges();
195
- const btn = await page.find("wm-select >>> #selectbtn");
196
- await page.waitForChanges();
197
- expect(btn.getAttribute("aria-expanded")).toEqual("true");
198
- await page.keyboard.press("ArrowDown");
199
- await page.waitForChanges();
200
- await page.keyboard.press("Space");
201
- await page.waitForChanges();
202
- expect(btn.getAttribute("aria-expanded")).toEqual("false");
203
- });
204
- /* Spacebar: Should open the popup (we didn't implement, comes for free. test makes sure we don't break it) */
205
- it("handles the Spacebar key", async () => {
206
- await createPageHelper();
207
- await page.keyboard.press("Tab");
208
- await page.waitForChanges();
209
- await page.keyboard.press("Space");
210
- await page.waitForChanges();
211
- const btn = await page.find("wm-select >>> #selectbtn");
212
- expect(btn.getAttribute("aria-expanded")).toEqual("true");
213
- });
214
- /* Escape: If the listbox is displayed, closes the popup and returns focus to the button. */
215
- it("handles the Escape key", async () => {
216
- await createPageHelper();
217
- await page.keyboard.press("Tab");
218
- await page.waitForChanges();
219
- await page.keyboard.press("Enter");
220
- await page.waitForChanges();
221
- let btn = await page.find("wm-select >>> button");
222
- expect(btn.getAttribute("aria-expanded")).toEqual("true");
223
- await page.keyboard.press("ArrowDown");
224
- await page.waitForChanges();
225
- await page.keyboard.press("Escape");
226
- await page.waitForTimeout(500); // there's a set timeout on the focus func to make sure SR announce the updated state
227
- const activeElId = await page.evaluate(() => document.activeElement.id);
228
- btn = await page.find("wm-select >>> button");
229
- expect(activeElId).toEqual("test");
230
- expect(btn.getAttribute("aria-expanded")).toEqual("false");
231
- });
232
- // Label
233
- it("creates a label element", async () => {
234
- await createPageHelper();
235
- let label = await page.find("wm-select >>> label");
236
- expect(label.textContent).toBe("Make a selection");
237
- });
238
- it("emits the proper events when option is clicked", async () => {
239
- page = await newE2EPage();
240
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
241
- <wm-select multiple label="Make a selection">
242
- <wm-option id='first'>First option</wm-option>
243
- </wm-select>
244
- </main></body></html>`);
245
- const wmOptionSelectedSpy = await page.spyOnEvent("wmOptionSelected");
246
- const wmOptionDeselectedSpy = await page.spyOnEvent("wmOptionDeselected");
247
- // Selection key
248
- await page.keyboard.press("Tab");
249
- await page.keyboard.press("Enter");
250
- await page.waitForChanges(); // allow dropdown to open
251
- await page.keyboard.press("Space");
252
- await page.waitForChanges();
253
- expect(wmOptionSelectedSpy).toHaveReceivedEventTimes(1);
254
- expect(wmOptionDeselectedSpy).toHaveReceivedEventTimes(0);
255
- // Deselection
256
- const optionEl = await page.find("wm-option");
257
- optionEl.setProperty("selected", true);
258
- await page.waitForChanges();
259
- await page.keyboard.press("Space");
260
- expect(wmOptionSelectedSpy).toHaveReceivedEventTimes(1);
261
- expect(wmOptionDeselectedSpy).toHaveReceivedEventTimes(1);
262
- });
263
- /**************
264
- * MULTISELECT *
265
- **************/
266
- /* If one or more options are selected before the listbox receives focus, focus is set on the first option in the list that is selected */
267
- it("automatically focuses the first selected option - multiselect", async () => {
268
- page = await newE2EPage();
269
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
270
- <wm-select id='test' multiple label="Make a selection">
271
- <wm-option id='first'>First option</wm-option>
272
- <wm-option id='second' selected>Second option</wm-option>
273
- <wm-option id='third' selected>Third option</wm-option>
274
- </wm-select>
275
- </main></body></html>`);
276
- const select = await page.find("wm-select");
277
- await page.keyboard.press("Tab");
278
- await page.waitForChanges();
279
- await page.keyboard.press("Enter");
280
- await page.waitForChanges();
281
- const secondOption = select.shadowRoot.querySelectorAll("wm-option")[1];
282
- await page.waitForChanges();
283
- expect(secondOption).toEqualAttribute("tabindex", "0");
284
- });
285
- /* Up Arrow: moves focus to the previous (last) option. */
286
- it("automatically focuses the previous (last) option - multiselect", async () => {
287
- page = await newE2EPage();
288
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
289
- <wm-select multiple label="Make a selection">
290
- <wm-option id='first'>First option</wm-option>
291
- <wm-option id='second' selected>Second option</wm-option>
292
- <wm-option id='third' selected>Third option</wm-option>
293
- <wm-option id='fourth' selected>Fourth option</wm-option>
294
- <wm-option id='fifth'>Fifth option</wm-option>
295
- </wm-select>
296
- </main></body></html>`);
297
- await page.keyboard.press("Tab");
298
- await page.waitForChanges();
299
- await page.keyboard.press("ArrowUp");
300
- await page.waitForChanges();
301
- const lastOption = await page.find("#fifth");
302
- await page.waitForChanges();
303
- expect(lastOption).toEqualAttribute("tabindex", "0");
304
- });
305
- /* Down Arrow: moves focus to the next (first) option. */
306
- it("automatically focuses the next option - multiselect", async () => {
307
- page = await newE2EPage();
308
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
309
- <wm-select multiple label="Make a selection">
310
- <wm-option id='first'>First option</wm-option>
311
- <wm-option id='second' selected>Second option</wm-option>
312
- <wm-option id='third' selected>Third option</wm-option>
313
- <wm-option id='fourth' selected>Fourth option</wm-option>
314
- <wm-option id='fifth'>Fifth option</wm-option>
315
- </wm-select>
316
- </main></body></html>`);
317
- await page.keyboard.press("Tab");
318
- await page.waitForChanges();
319
- await page.keyboard.press("ArrowDown");
320
- await page.waitForChanges();
321
- const firstOption = await page.find("#first");
322
- await page.waitForChanges();
323
- expect(firstOption).toEqualAttribute("tabindex", "0");
324
- });
325
- it("recognizes when all are selected", async () => {
326
- page = await newE2EPage();
327
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
328
- <div style='width: 300px'>
329
- <wm-select multiple label="Make a selection" all-selected-message="All options selected">
330
- <wm-option id='first' selected>First option</wm-option>
331
- <wm-option id='second' selected>Second option</wm-option>
332
- </wm-select>
333
- </div>
334
- </main></body></html>`);
335
- let button = await page.find("wm-select >>> button");
336
- expect(button.textContent).toBe("First option, Second option");
337
- page = await newE2EPage();
338
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
339
- <div style='width: 100px'>
340
- <wm-select multiple label="Make a selection" all-selected-message="All options selected">
341
- <wm-option id='first' selected>First option</wm-option>
342
- <wm-option id='second' selected>Second option</wm-option>
343
- <wm-option id='third' selected>Third option</wm-option>
344
- <wm-option id='fourth' selected>Fourth option</wm-option>
345
- <wm-option id='fifth' selected>Fifth option</wm-option>
346
- </wm-select>
347
- </div>
348
- </main></body></html>`);
349
- button = await page.find("wm-select >>> button");
350
- expect(button.textContent).toBe("All options selected");
351
- });
352
- /*********************
353
- * Select with Search *
354
- *********************/
355
- it("filters options when search term is entered", async () => {
356
- page = await newE2EPage();
357
- await page.setContent(`<wm-select search multiple label="Make a selection">
358
- <wm-option id='first' selected>First option</wm-option>
359
- <wm-option id='second'>Second option</wm-option>
360
- <wm-option id='third'>Third option</wm-option>
361
- <wm-option id='fourth'>Fourth option</wm-option>
362
- <wm-option id='fifth'>Fifth option</wm-option>
363
- </wm-select>`);
364
- await page.keyboard.press("Tab");
365
- await page.waitForChanges();
366
- await page.keyboard.press("Space");
367
- await page.waitForChanges();
368
- // it sends focus to the searchfield when opened
369
- let activeElName = await page.evaluate(async () => {
370
- let el = await document.activeElement.shadowRoot.activeElement;
371
- return el.nodeName;
372
- });
373
- expect(activeElName).toBe("INPUT");
374
- // it displays selected options at the top of the dropdown
375
- const duplicateFirstItemSelected = await page.evaluate(() => {
376
- return document.activeElement.shadowRoot.querySelectorAll("wm-option")[0].getAttribute("aria-selected");
377
- });
378
- expect(duplicateFirstItemSelected).toBe("true");
379
- // it filters options when a search term is entered
380
- await page.waitForTimeout("160");
381
- await page.keyboard.press("r");
382
- await page.waitForChanges();
383
- await page.waitForTimeout("160");
384
- let searchTerm = await page.evaluate(() => {
385
- return document.querySelector("wm-select").shadowRoot.querySelector(".searchfield")
386
- .value;
387
- });
388
- expect(searchTerm).toBe("r");
389
- const firstItem = await page.find("#first");
390
- const secondItem = await page.find("#second");
391
- const thirdItem = await page.find("#third");
392
- expect(firstItem).not.toHaveClass("filtered-out");
393
- expect(secondItem).toHaveClass("filtered-out");
394
- expect(thirdItem).not.toHaveClass("filtered-out");
395
- let liveRegionEl = await page.find("wm-select >>> #announcement");
396
- expect(liveRegionEl.textContent).toBe("3 options found");
397
- // it bolds matching text of options that pass the search term
398
- const thirdItemInnerHTML = await page.evaluate(() => {
399
- return document.querySelector("#third").shadowRoot.querySelector(".option-wrapper").innerHTML;
400
- });
401
- expect(thirdItemInnerHTML.includes("<strong>r</strong>")).toBe(true);
402
- // it displayed no options message when none pass the filter
403
- await page.keyboard.press("Delete");
404
- await page.waitForChanges();
405
- await page.keyboard.press("x");
406
- await page.waitForChanges();
407
- await page.waitForTimeout("200");
408
- const searchResultsMessageEl = await page.find("wm-select >>> .search-results-message");
409
- expect(searchResultsMessageEl.textContent).toBe("No results found. Please try your search again.");
410
- liveRegionEl = await page.find("wm-select >>> #announcement");
411
- expect(liveRegionEl.textContent).toBe("No results found. Please try your search again.");
412
- // it clears search term when closing dropdown
413
- await page.keyboard.press("Escape");
414
- await page.waitForChanges();
415
- await page.waitForTimeout("200");
416
- await page.keyboard.press("Space");
417
- await page.waitForChanges();
418
- await page.waitForTimeout("200");
419
- searchTerm = await page.evaluate(() => {
420
- return document.querySelector("wm-select").shadowRoot.querySelector(".searchfield")
421
- .value;
422
- });
423
- expect(searchTerm).toBe("");
424
- });
425
- it("doesn't show the select all option if user is typing in search bar", async () => {
426
- page = await newE2EPage();
427
- await page.setContent(`<wm-select multiple select-all search id='test' label="Make a selection">
428
- <wm-option id='first'>First option</wm-option>
429
- <wm-option id='second'>Second option</wm-option>
430
- <wm-option id='third'>Third option</wm-option>
431
- </wm-select>`);
432
- let selectAllBtn = await page.find("wm-select >>> .select-all");
433
- expect(selectAllBtn).not.toBeUndefined();
434
- await page.keyboard.press("Tab");
435
- await page.keyboard.press("Enter");
436
- await page.waitForChanges();
437
- await page.keyboard.press("Enter");
438
- await page.waitForChanges();
439
- selectAllBtn = await page.find("wm-select >>> .select-all");
440
- expect(selectAllBtn).not.toBeUndefined();
441
- await page.keyboard.press("s");
442
- await page.waitForChanges();
443
- // two waitForChanges are needed for this test to pass, presumably the first is to allow the keyboard press to go through
444
- // and the second is for the select-all button to disappear
445
- await page.waitForChanges();
446
- selectAllBtn = await page.find("wm-select >>> .select-all");
447
- expect(selectAllBtn).toBeNull();
448
- });
449
- it("emits the proper select all deselect all events", async () => {
450
- let page = await newE2EPage();
451
- await page.setContent(`<wm-select multiple select-all id='test' label="make a selection">
452
- <wm-option id='first'>first option</wm-option>
453
- <wm-option id='second'>second option</wm-option>
454
- <wm-option id='third'>third option</wm-option>
455
- </wm-select>`);
456
- const wmSelectAllSelectedSpy = await page.spyOnEvent("wmSelectAllSelected");
457
- const wmSelectAllDeselectedSpy = await page.spyOnEvent("wmSelectAllDeselected");
458
- await page.keyboard.press("Tab");
459
- await page.waitForChanges();
460
- await page.keyboard.press("Enter");
461
- await page.waitForChanges();
462
- await page.keyboard.press("ArrowUp");
463
- await page.waitForChanges();
464
- await page.keyboard.press("Space");
465
- await page.waitForChanges();
466
- expect(wmSelectAllSelectedSpy).toHaveReceivedEventTimes(1);
467
- expect(wmSelectAllDeselectedSpy).toHaveReceivedEventTimes(0);
468
- const options = await page.findAll("wm-option");
469
- options.forEach((option) => option.setProperty("selected", true));
470
- await page.waitForChanges();
471
- // // dropdown stayed open, focus stayed on button.
472
- // // reactivating it should deselect
473
- await page.keyboard.press("Enter");
474
- await page.waitForChanges();
475
- expect(wmSelectAllSelectedSpy).toHaveReceivedEventTimes(1);
476
- expect(wmSelectAllDeselectedSpy).toHaveReceivedEventTimes(1);
477
- });
478
- xit("handles keyboard motion", async () => {
479
- const page = await newE2EPage();
480
- await page.setContent(`<wm-select select-all search multiple id='test' label="Make a selection">
481
- <wm-option id='first'>First option</wm-option>
482
- <wm-option id='second'>Second option</wm-option>
483
- </wm-select>`);
484
- await page.keyboard.press("Tab");
485
- await page.waitForChanges();
486
- await page.keyboard.press("ArrowDown");
487
- await page.waitForChanges();
488
- // Down arrow from the input focuses the Select All button
489
- await page.keyboard.press("ArrowDown");
490
- await page.waitForChanges();
491
- // let activeEl = await page.evaluate(() => document.activeElement!.shadowRoot!.activeElement);
492
- // expect(activeEl).toHaveClass("select-all");
493
- // const selectAllBtn = await page.find("wm-select >>> .select-all");
494
- // expect(selectAllBtn).toEqualAttribute("tabindex", "0");
495
- // Down arrow from the Select All button focuses the first option
496
- await page.keyboard.press("ArrowDown");
497
- await page.waitForChanges();
498
- const first = await page.find("#first");
499
- expect(first).toEqualAttribute("tabindex", "0");
500
- // - Down arrow from the last option focuses the search input
501
- await page.keyboard.press("ArrowDown");
502
- await page.waitForChanges();
503
- await page.keyboard.press("ArrowDown");
504
- await page.waitForChanges();
505
- let inputWrapperEl = await page.find("wm-select >>> .searchfield-wrapper");
506
- expect(inputWrapperEl).toHaveClass("focus");
507
- // - Up arrow from the Select All button focuses the input
508
- await page.keyboard.press("ArrowDown");
509
- await page.waitForChanges();
510
- await page.keyboard.press("ArrowUp");
511
- await page.waitForChanges();
512
- inputWrapperEl = await page.find("wm-select >>> .searchfield-wrapper");
513
- expect(inputWrapperEl).toHaveClass("focus");
514
- });
515
- });
516
- /* A11Y: SOURCES
517
- https://www.w3.org/TR/wai-aria-practices/#listbox_roles_states_props
518
- https://www.w3.org/TR/wai-aria-practices/#listbox_kbd_interaction
519
- https://www.w3.org/TR/wai-aria-practices/#listbox-popup-keyboard-interaction
520
- https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html
521
- */