@watermarkinsights/ripple 4.2.0-0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/cjs/chartFunctions-2c3e010e.js +600 -0
  2. package/dist/cjs/{functions-4208c444.js → functions-91da05e9.js} +362 -362
  3. package/dist/cjs/{global-38728020.js → global-b85941b0.js} +29 -24
  4. package/dist/cjs/{index-f8ef86de.js → index-fae02cd7.js} +150 -436
  5. package/dist/cjs/interfaces-245d7bff.js +38 -0
  6. package/dist/cjs/intl-fa3bb4ae.js +179 -0
  7. package/dist/cjs/loader.cjs.js +13 -4
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +85 -85
  9. package/dist/cjs/priv-datepicker.cjs.entry.js +637 -637
  10. package/dist/cjs/priv-navigator-button.cjs.entry.js +18 -18
  11. package/dist/cjs/priv-navigator-item.cjs.entry.js +21 -21
  12. package/dist/cjs/ripple.cjs.js +7 -4
  13. package/dist/cjs/wm-action-menu_2.cjs.entry.js +314 -314
  14. package/dist/cjs/wm-button.cjs.entry.js +174 -174
  15. package/dist/cjs/wm-chart-slice.cjs.entry.js +17 -17
  16. package/dist/cjs/wm-chart.cjs.entry.js +164 -164
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +160 -160
  18. package/dist/cjs/wm-file-list.cjs.entry.js +10 -10
  19. package/dist/cjs/wm-file.cjs.entry.js +178 -178
  20. package/dist/cjs/wm-input.cjs.entry.js +102 -102
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +448 -448
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +27 -27
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +21 -21
  24. package/dist/cjs/wm-modal.cjs.entry.js +92 -92
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +180 -180
  26. package/dist/cjs/wm-navigator.cjs.entry.js +251 -251
  27. package/dist/cjs/wm-option_2.cjs.entry.js +712 -712
  28. package/dist/cjs/wm-pagination.cjs.entry.js +169 -169
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +151 -151
  30. package/dist/cjs/wm-search.cjs.entry.js +192 -192
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +114 -114
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +247 -247
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +849 -849
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +33 -33
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +270 -270
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +100 -100
  37. package/dist/cjs/wm-uploader.cjs.entry.js +198 -198
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  39. package/dist/collection/collection-manifest.json +41 -41
  40. package/dist/collection/components/charts/chartFunctions.js +456 -456
  41. package/dist/collection/components/charts/chartFunctions.spec.js +13 -13
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +73 -73
  43. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +254 -257
  44. package/dist/collection/components/charts/screenshots.e2e.js +30 -30
  45. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +121 -121
  46. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +160 -160
  47. package/dist/collection/components/charts/wm-chart/wm-chart.js +381 -382
  48. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +26 -26
  49. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +2 -1
  50. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +138 -138
  51. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +717 -717
  52. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +106 -106
  53. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +202 -202
  54. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +54 -54
  55. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +136 -136
  56. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +31 -31
  57. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +119 -119
  58. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +187 -187
  59. package/dist/collection/components/wm-action-menu/wm-action-menu.js +435 -435
  60. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +35 -35
  61. package/dist/collection/components/wm-button/wm-button.e2e.js +58 -58
  62. package/dist/collection/components/wm-button/wm-button.js +452 -454
  63. package/dist/collection/components/wm-button/wm-button.spec.js +63 -63
  64. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +939 -943
  65. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.spec.js +71 -71
  66. package/dist/collection/components/wm-datepicker/wm-datepicker.css +2 -1
  67. package/dist/collection/components/wm-datepicker/wm-datepicker.e2e.js +359 -359
  68. package/dist/collection/components/wm-datepicker/wm-datepicker.js +413 -415
  69. package/dist/collection/components/wm-datepicker/wm-datepicker.spec.js +13 -13
  70. package/dist/collection/components/wm-file/wm-file.js +380 -380
  71. package/dist/collection/components/wm-file/wm-file.spec.js +107 -107
  72. package/dist/collection/components/wm-file-list/wm-file-list.js +42 -42
  73. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +47 -47
  74. package/dist/collection/components/wm-input/wm-input.e2e.js +26 -26
  75. package/dist/collection/components/wm-input/wm-input.js +453 -453
  76. package/dist/collection/components/wm-input/wm-input.spec.js +168 -168
  77. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +18 -18
  78. package/dist/collection/components/wm-menuitem/wm-menuitem.js +436 -446
  79. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +46 -46
  80. package/dist/collection/components/wm-modal/wm-modal-footer.js +130 -130
  81. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +8 -8
  82. package/dist/collection/components/wm-modal/wm-modal-header.js +68 -68
  83. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +5 -5
  84. package/dist/collection/components/wm-modal/wm-modal.css +1 -0
  85. package/dist/collection/components/wm-modal/wm-modal.e2e.js +65 -65
  86. package/dist/collection/components/wm-modal/wm-modal.js +296 -299
  87. package/dist/collection/components/wm-modal/wm-modal.spec.js +22 -22
  88. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +1 -0
  89. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +112 -112
  90. package/dist/collection/components/wm-navigation/wm-navigation-item.js +125 -125
  91. package/dist/collection/components/wm-navigation/wm-navigation.css +3 -1
  92. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +86 -86
  93. package/dist/collection/components/wm-navigation/wm-navigation.js +209 -209
  94. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +79 -79
  95. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +30 -30
  96. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +103 -103
  97. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +118 -119
  98. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +180 -180
  99. package/dist/collection/components/wm-navigator/wm-navigator.js +454 -454
  100. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +153 -153
  101. package/dist/collection/components/wm-option/wm-option.css +1 -1
  102. package/dist/collection/components/wm-option/wm-option.e2e.js +19 -19
  103. package/dist/collection/components/wm-option/wm-option.js +463 -474
  104. package/dist/collection/components/wm-option/wm-option.spec.js +39 -39
  105. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +301 -301
  106. package/dist/collection/components/wm-pagination/wm-pagination.js +327 -327
  107. package/dist/collection/components/wm-search/wm-search.e2e.js +69 -69
  108. package/dist/collection/components/wm-search/wm-search.js +414 -415
  109. package/dist/collection/components/wm-search/wm-search.spec.js +64 -64
  110. package/dist/collection/components/wm-select/wm-select.css +1 -0
  111. package/dist/collection/components/wm-select/wm-select.e2e.js +443 -443
  112. package/dist/collection/components/wm-select/wm-select.js +966 -967
  113. package/dist/collection/components/wm-select/wm-select.spec.js +250 -250
  114. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +114 -114
  115. package/dist/collection/components/wm-snackbar/wm-snackbar.js +207 -209
  116. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +4 -4
  117. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +188 -190
  118. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +261 -261
  119. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  120. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +79 -79
  121. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +6 -6
  122. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -2
  123. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +168 -168
  124. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1159 -1159
  125. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +147 -147
  126. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +234 -236
  127. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -1
  128. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +147 -147
  129. package/dist/collection/components/wm-timepicker/wm-timepicker.js +527 -531
  130. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +151 -151
  131. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1 -1
  132. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +61 -61
  133. package/dist/collection/components/wm-toggletip/wm-toggletip.js +208 -209
  134. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +16 -16
  135. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +56 -56
  136. package/dist/collection/components/wm-uploader/wm-uploader.js +422 -423
  137. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +149 -149
  138. package/dist/collection/components/wm-wrapper/wm-wrapper.js +26 -26
  139. package/dist/collection/global/__mocks__/functions.js +1 -1
  140. package/dist/collection/global/functions.js +510 -510
  141. package/dist/collection/global/functions.spec.js +123 -123
  142. package/dist/collection/global/global.js +16 -16
  143. package/dist/collection/global/interfaces.js +39 -39
  144. package/dist/collection/global/intl.js +162 -162
  145. package/dist/collection/global/services/__mocks__/http-service.js +112 -112
  146. package/dist/collection/global/services/http-service.js +41 -41
  147. package/dist/collection/global/themes/default.js +9 -4
  148. package/dist/collection/global/themes/neutral.js +4 -4
  149. package/dist/collection/lang/lang.spec.js +13 -13
  150. package/dist/esm/chartFunctions-36634c04.js +584 -0
  151. package/dist/esm/{functions-d0e70094.js → functions-5afd09f4.js} +362 -362
  152. package/dist/esm/{global-462b022e.js → global-91088105.js} +29 -24
  153. package/dist/esm/{index-f164fbca.js → index-7e11ea42.js} +150 -436
  154. package/dist/esm/interfaces-89cad2fc.js +35 -0
  155. package/dist/esm/intl-e2da750a.js +174 -0
  156. package/dist/esm/loader.js +14 -5
  157. package/dist/esm/polyfills/css-shim.js +1 -0
  158. package/dist/esm/priv-chart-popover.entry.js +85 -85
  159. package/dist/esm/priv-datepicker.entry.js +637 -637
  160. package/dist/esm/priv-navigator-button.entry.js +18 -18
  161. package/dist/esm/priv-navigator-item.entry.js +21 -21
  162. package/dist/esm/ripple.js +8 -5
  163. package/dist/esm/wm-action-menu_2.entry.js +314 -314
  164. package/dist/esm/wm-button.entry.js +174 -174
  165. package/dist/esm/wm-chart-slice.entry.js +17 -17
  166. package/dist/esm/wm-chart.entry.js +164 -164
  167. package/dist/esm/wm-datepicker.entry.js +160 -160
  168. package/dist/esm/wm-file-list.entry.js +10 -10
  169. package/dist/esm/wm-file.entry.js +178 -178
  170. package/dist/esm/wm-input.entry.js +102 -102
  171. package/dist/esm/wm-line-chart.entry.js +448 -448
  172. package/dist/esm/wm-modal-footer.entry.js +27 -27
  173. package/dist/esm/wm-modal-header.entry.js +21 -21
  174. package/dist/esm/wm-modal.entry.js +92 -92
  175. package/dist/esm/wm-navigation_3.entry.js +180 -180
  176. package/dist/esm/wm-navigator.entry.js +251 -251
  177. package/dist/esm/wm-option_2.entry.js +712 -712
  178. package/dist/esm/wm-pagination.entry.js +169 -169
  179. package/dist/esm/wm-progress-indicator_3.entry.js +151 -151
  180. package/dist/esm/wm-search.entry.js +192 -192
  181. package/dist/esm/wm-snackbar.entry.js +114 -114
  182. package/dist/esm/wm-tab-item_3.entry.js +247 -247
  183. package/dist/esm/wm-tag-input.entry.js +849 -849
  184. package/dist/esm/wm-tag-option.entry.js +33 -33
  185. package/dist/esm/wm-timepicker.entry.js +270 -270
  186. package/dist/esm/wm-toggletip.entry.js +100 -100
  187. package/dist/esm/wm-uploader.entry.js +198 -198
  188. package/dist/esm/wm-wrapper.entry.js +12 -12
  189. package/dist/esm-es5/chartFunctions-36634c04.js +1 -0
  190. package/dist/esm-es5/functions-5afd09f4.js +1 -0
  191. package/dist/esm-es5/global-91088105.js +1 -0
  192. package/dist/esm-es5/index-7e11ea42.js +2 -0
  193. package/dist/esm-es5/{intl-05c9e0c9.js → intl-e2da750a.js} +1 -1
  194. package/dist/esm-es5/loader.js +1 -1
  195. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  196. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  197. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  198. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  199. package/dist/esm-es5/ripple.js +1 -1
  200. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  201. package/dist/esm-es5/wm-button.entry.js +1 -1
  202. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  203. package/dist/esm-es5/wm-chart.entry.js +1 -1
  204. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  205. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  206. package/dist/esm-es5/wm-file.entry.js +1 -1
  207. package/dist/esm-es5/wm-input.entry.js +1 -1
  208. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  209. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  210. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  211. package/dist/esm-es5/wm-modal.entry.js +1 -1
  212. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  213. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  214. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  215. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  216. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  217. package/dist/esm-es5/wm-search.entry.js +1 -1
  218. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  219. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  220. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  221. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  222. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  223. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  224. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  225. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  226. package/dist/loader/index.d.ts +1 -1
  227. package/dist/ripple/p-00acacbe.system.entry.js +1 -0
  228. package/dist/ripple/{p-3446852f.system.entry.js → p-0631be01.system.entry.js} +1 -1
  229. package/dist/ripple/{p-ad6dc751.entry.js → p-0aecac86.entry.js} +1 -1
  230. package/dist/ripple/{p-c717d895.entry.js → p-0d9f70ab.entry.js} +1 -1
  231. package/dist/ripple/{p-b253d2fc.entry.js → p-0f1ff645.entry.js} +1 -1
  232. package/dist/ripple/{p-63f75d43.entry.js → p-1205fdc1.entry.js} +1 -1
  233. package/dist/ripple/{p-27f47edc.entry.js → p-1283e85d.entry.js} +1 -1
  234. package/dist/ripple/{p-43e2a49a.entry.js → p-13594c2e.entry.js} +1 -1
  235. package/dist/ripple/{p-5a921e55.entry.js → p-13af8346.entry.js} +1 -1
  236. package/dist/ripple/{p-ceced3d9.system.entry.js → p-15497721.system.entry.js} +1 -1
  237. package/dist/ripple/p-16363e1c.system.entry.js +1 -0
  238. package/dist/ripple/{p-3a070f35.entry.js → p-19773c40.entry.js} +1 -1
  239. package/dist/ripple/{p-b4d862e1.system.entry.js → p-1cde16a7.system.entry.js} +1 -1
  240. package/dist/ripple/{p-f711c914.entry.js → p-20f5c695.entry.js} +1 -1
  241. package/dist/ripple/{p-13ca30d8.js → p-24b08e1f.js} +1 -1
  242. package/dist/ripple/{p-2c834d27.system.entry.js → p-2a95b63f.system.entry.js} +1 -1
  243. package/dist/ripple/{p-c96a5c94.system.entry.js → p-2e773564.system.entry.js} +1 -1
  244. package/dist/ripple/p-30bf24f8.system.js +2 -0
  245. package/dist/ripple/p-3248c0fa.system.entry.js +1 -0
  246. package/dist/ripple/{p-473ff44e.system.entry.js → p-32b1126c.system.entry.js} +1 -1
  247. package/dist/ripple/{p-aadf8c59.entry.js → p-36049d2f.entry.js} +1 -1
  248. package/dist/ripple/p-3aca2871.js +1 -0
  249. package/dist/ripple/{p-633cd89a.system.entry.js → p-3becce62.system.entry.js} +1 -1
  250. package/dist/ripple/{p-58174f4e.entry.js → p-3c80bf67.entry.js} +1 -1
  251. package/dist/ripple/p-40fcae38.system.js +1 -0
  252. package/dist/ripple/p-47c20b05.entry.js +1 -0
  253. package/dist/ripple/p-4825101c.system.js +1 -0
  254. package/dist/ripple/p-56d64283.system.entry.js +1 -0
  255. package/dist/ripple/p-5e85967a.system.js +1 -0
  256. package/dist/ripple/{p-067d7922.system.entry.js → p-622a7791.system.entry.js} +1 -1
  257. package/dist/ripple/{p-aba5a00e.system.entry.js → p-676c1089.system.entry.js} +1 -1
  258. package/dist/ripple/{p-153701f9.entry.js → p-6abb903c.entry.js} +1 -1
  259. package/dist/ripple/{p-9e25bfd5.entry.js → p-7529706d.entry.js} +1 -1
  260. package/dist/ripple/{p-de349bee.entry.js → p-7962f562.entry.js} +1 -1
  261. package/dist/ripple/{p-8d4734ad.entry.js → p-80aef387.entry.js} +1 -1
  262. package/dist/ripple/{p-8cace32f.entry.js → p-84a7e757.entry.js} +1 -1
  263. package/dist/ripple/{p-9fecbc8a.system.js → p-85f744ed.system.js} +1 -1
  264. package/dist/ripple/{p-05d4e49b.js → p-863e737a.js} +1 -1
  265. package/dist/ripple/{p-7e56da2e.system.entry.js → p-8ea68cb3.system.entry.js} +1 -1
  266. package/dist/ripple/{p-1402cfa2.system.js → p-8f3f903f.system.js} +1 -1
  267. package/dist/ripple/{p-c249063c.entry.js → p-8f8c3705.entry.js} +1 -1
  268. package/dist/ripple/{p-67d48c33.system.entry.js → p-90ea7e3a.system.entry.js} +1 -1
  269. package/dist/ripple/{p-a82a8931.entry.js → p-9288659b.entry.js} +1 -1
  270. package/dist/ripple/{p-f7aa5a73.entry.js → p-935513f8.entry.js} +1 -1
  271. package/dist/ripple/{p-8b83de0a.entry.js → p-a0bf5eef.entry.js} +1 -1
  272. package/dist/ripple/{p-06776596.system.entry.js → p-a1e95b05.system.entry.js} +1 -1
  273. package/dist/ripple/{p-25446670.entry.js → p-a52c5a1c.entry.js} +1 -1
  274. package/dist/ripple/p-a5b23781.system.entry.js +1 -0
  275. package/dist/ripple/p-a6be3cca.system.entry.js +1 -0
  276. package/dist/ripple/p-a9c096b5.entry.js +1 -0
  277. package/dist/ripple/p-aafa111a.system.js +1 -0
  278. package/dist/ripple/{p-1d8b0039.entry.js → p-ad37cdfd.entry.js} +1 -1
  279. package/dist/ripple/{p-350fe5da.entry.js → p-ae674a54.entry.js} +1 -1
  280. package/dist/ripple/{p-e24ddae1.entry.js → p-b3c73bc9.entry.js} +1 -1
  281. package/dist/ripple/{p-e8b58666.system.entry.js → p-b3e08b14.system.entry.js} +1 -1
  282. package/dist/ripple/p-b5bedd63.js +2 -0
  283. package/dist/ripple/{p-a69c37e0.entry.js → p-b71a83e3.entry.js} +1 -1
  284. package/dist/ripple/p-bd537299.system.entry.js +1 -0
  285. package/dist/ripple/{p-42ebfcfa.entry.js → p-c41603e6.entry.js} +1 -1
  286. package/dist/ripple/{p-5a4d9897.system.entry.js → p-c5e8f8a5.system.entry.js} +1 -1
  287. package/dist/ripple/{p-7a8816d9.system.entry.js → p-c76bbedf.system.entry.js} +1 -1
  288. package/dist/ripple/{p-3af72848.js → p-c7b5ac39.js} +1 -1
  289. package/dist/ripple/{p-361cc8fc.system.entry.js → p-cbd8a60b.system.entry.js} +1 -1
  290. package/dist/ripple/{p-3583d113.system.entry.js → p-d04ba5f8.system.entry.js} +1 -1
  291. package/dist/ripple/{p-1fa2a756.system.entry.js → p-d0f1b8c4.system.entry.js} +1 -1
  292. package/dist/ripple/{p-bdd4f919.system.entry.js → p-d496bc44.system.entry.js} +1 -1
  293. package/dist/ripple/{p-7e8daaac.entry.js → p-deb4f5a2.entry.js} +1 -1
  294. package/dist/ripple/{p-91ad0233.system.entry.js → p-e3f0b57f.system.entry.js} +1 -1
  295. package/dist/ripple/{p-f1a92576.system.entry.js → p-e4919f95.system.entry.js} +1 -1
  296. package/dist/ripple/{p-49118468.entry.js → p-ed942b42.entry.js} +1 -1
  297. package/dist/ripple/{p-0ecbf569.system.entry.js → p-f30839a1.system.entry.js} +1 -1
  298. package/dist/ripple/{p-d3f9d028.system.entry.js → p-ff14e4ec.system.entry.js} +1 -1
  299. package/dist/ripple/ripple.esm.js +1 -1
  300. package/dist/ripple/ripple.js +20 -16
  301. package/dist/types/components/charts/chartFunctions.d.ts +13 -13
  302. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +24 -24
  303. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +8 -8
  304. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +39 -39
  305. package/dist/types/components/charts/wm-line-chart/wm-line-chart.d.ts +73 -73
  306. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +26 -26
  307. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +17 -17
  308. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +7 -7
  309. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +43 -43
  310. package/dist/types/components/wm-button/wm-button.d.ts +40 -40
  311. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +76 -76
  312. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +31 -31
  313. package/dist/types/components/wm-file/wm-file.d.ts +40 -40
  314. package/dist/types/components/wm-file-list/wm-file-list.d.ts +3 -3
  315. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  316. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +31 -31
  317. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +11 -11
  318. package/dist/types/components/wm-modal/wm-modal-header.d.ts +7 -7
  319. package/dist/types/components/wm-modal/wm-modal.d.ts +24 -24
  320. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +13 -13
  321. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +10 -10
  322. package/dist/types/components/wm-navigation/wm-navigation.d.ts +23 -23
  323. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +7 -7
  324. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +10 -10
  325. package/dist/types/components/wm-navigator/wm-navigator.d.ts +57 -57
  326. package/dist/types/components/wm-option/wm-option.d.ts +36 -36
  327. package/dist/types/components/wm-pagination/wm-pagination.d.ts +27 -27
  328. package/dist/types/components/wm-search/wm-search.d.ts +73 -73
  329. package/dist/types/components/wm-select/wm-select.d.ts +99 -99
  330. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +24 -24
  331. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +30 -30
  332. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +41 -41
  333. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +16 -16
  334. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +48 -48
  335. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +20 -20
  336. package/dist/types/components/wm-uploader/wm-uploader.d.ts +47 -47
  337. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +4 -4
  338. package/dist/types/components.d.ts +0 -382
  339. package/dist/types/global/__mocks__/functions.d.ts +1 -1
  340. package/dist/types/global/functions.d.ts +4 -4
  341. package/dist/types/global/interfaces.d.ts +49 -49
  342. package/dist/types/global/intl.d.ts +31 -31
  343. package/dist/types/global/services/__mocks__/http-service.d.ts +1 -1
  344. package/dist/types/stencil-public-runtime.d.ts +5 -46
  345. package/package.json +1 -1
  346. package/dist/cjs/chartFunctions-cecf8134.js +0 -600
  347. package/dist/cjs/interfaces-ad9e80a6.js +0 -38
  348. package/dist/cjs/intl-3fafc6d1.js +0 -179
  349. package/dist/esm/chartFunctions-23173fce.js +0 -584
  350. package/dist/esm/interfaces-9b75fb61.js +0 -35
  351. package/dist/esm/intl-05c9e0c9.js +0 -174
  352. package/dist/esm-es5/chartFunctions-23173fce.js +0 -1
  353. package/dist/esm-es5/functions-d0e70094.js +0 -1
  354. package/dist/esm-es5/global-462b022e.js +0 -1
  355. package/dist/esm-es5/index-f164fbca.js +0 -2
  356. package/dist/ripple/p-09d62ddd.entry.js +0 -1
  357. package/dist/ripple/p-0fe97e85.system.js +0 -2
  358. package/dist/ripple/p-1453ea51.system.entry.js +0 -1
  359. package/dist/ripple/p-1cc91907.system.js +0 -1
  360. package/dist/ripple/p-26602428.system.js +0 -1
  361. package/dist/ripple/p-30b17818.system.entry.js +0 -1
  362. package/dist/ripple/p-3deccefa.system.js +0 -1
  363. package/dist/ripple/p-4de51706.js +0 -2
  364. package/dist/ripple/p-8133ee44.system.entry.js +0 -1
  365. package/dist/ripple/p-88406560.system.entry.js +0 -1
  366. package/dist/ripple/p-8f76a838.system.entry.js +0 -1
  367. package/dist/ripple/p-a99b05de.system.entry.js +0 -1
  368. package/dist/ripple/p-b56e0d1e.entry.js +0 -1
  369. package/dist/ripple/p-c18b398c.system.js +0 -1
  370. package/dist/ripple/p-cb674aad.js +0 -1
  371. package/dist/ripple/p-e66bbd87.system.entry.js +0 -1
  372. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +0 -117
  373. package/dist/types/components/wm-tag-input/wm-tag-option/wm-tag-option.d.ts +0 -18
  374. /package/dist/esm-es5/{interfaces-9b75fb61.js → interfaces-89cad2fc.js} +0 -0
  375. /package/dist/ripple/{p-196eb2f3.js → p-c0c111fd.js} +0 -0
@@ -1,379 +1,379 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  import { AxePuppeteer } from "@axe-core/puppeteer";
3
3
  describe("wm-datepicker", () => {
4
- let page, component, input, btn, popup, popupTitleDay;
5
- beforeEach(async () => {
6
- page = await newE2EPage();
7
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
4
+ let page, component, input, btn, popup, popupTitleDay;
5
+ beforeEach(async () => {
6
+ page = await newE2EPage();
7
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
8
8
  <wm-datepicker id="dp" label="label"></wm-datepicker>
9
9
  </main></body></html>`);
10
- component = await page.find("wm-datepicker");
11
- input = await page.find("wm-datepicker >>> input");
12
- btn = await page.find("wm-datepicker >>> #toggle");
13
- popup = await page.find("wm-datepicker >>> #popup");
14
- popupTitleDay = await page.find("wm-datepicker >>> #popup-title-month");
15
- // await page.keyboard.press("Tab");
16
- // await page.waitForChanges();
17
- });
18
- it("passes Axe checks", async () => {
19
- const results = await new AxePuppeteer(page).analyze();
20
- expect(results.violations.length).toBe(0);
21
- });
22
- // TODO
23
- // see https://dequeuniversity.com/checklists/web/form-validation-feedback
24
- // for Dynamic Error Detection / Error messages
25
- // see also role="alert"
26
- /* INPUT */
27
- // See datepicker-input.e2e.ts
28
- /* BUTTON */
29
- // Opening and closing the date picker
30
- it("opens at today's date by default", async () => {
31
- const popup = await page.find("wm-datepicker >>> .popup");
32
- const today = new Date();
33
- const year = today.getUTCFullYear();
34
- const month = (today.getUTCMonth() + 1).toString().padStart(2, "0");
35
- const day = today.getUTCDate().toString();
36
- const dateTable = await popup.find("[role='grid']");
37
- // await page.waitForChanges();
38
- const selDate = await dateTable.find("[aria-selected='true']");
39
- expect(selDate).toEqualAttribute("data-year", year);
40
- expect(selDate).toEqualAttribute("data-month", month);
41
- expect(selDate.textContent).toBe(day);
42
- });
43
- it("opens at the date in the input if there is one", async () => {
44
- const input = await page.find("wm-datepicker >>> input");
45
- const popup = await page.find("wm-datepicker >>> .popup");
46
- await input.type("02/01/2030");
47
- await component.setProperty("calendarDate", "2030-02-01");
48
- await page.waitForChanges();
49
- await page.keyboard.press("Tab");
50
- await page.keyboard.press("Enter");
51
- await page.waitForChanges();
52
- const dateTable = await popup.find("[role='grid']");
53
- const selDate = await dateTable.find("[aria-selected='true']");
54
- expect(selDate).toEqualAttribute("data-year", "2030");
55
- expect(selDate).toEqualAttribute("data-month", "02");
56
- expect(selDate.textContent).toBe("1");
57
- });
58
- it("Closes the popup when user triggers the calendar button", async () => {
59
- const popup = await page.find("wm-datepicker >>> .popup");
60
- await page.keyboard.press("Tab"); // in input
61
- await page.keyboard.press("Tab"); // on btn
62
- await page.keyboard.press("Enter");
63
- await page.waitForChanges();
64
- expect(popup).toHaveClass("open");
65
- await page.keyboard.press("Escape");
66
- await page.waitForChanges();
67
- expect(popup).not.toHaveClass("open");
68
- });
69
- /* POPUP */
70
- it("closes the calendar popup when the user presses ESCAPE", async () => {
71
- await input.type("02/03/2019");
72
- await component.setProperty("calendarDate", "2019-02-03");
73
- await page.waitForChanges();
74
- await page.keyboard.press("Tab");
75
- await page.keyboard.press("Enter");
76
- await page.waitForChanges();
77
- await page.keyboard.press("Escape");
78
- await page.waitForChanges();
79
- expect(popup).not.toHaveClass("open");
80
- });
81
- it("shows the next month on PAGE DOWN and shows the previous month on PAGE UP", async () => {
82
- await input.type("02/03/2019");
83
- await component.setProperty("calendarDate", "2019-02-03");
84
- await page.waitForChanges();
85
- await page.keyboard.press("Tab");
86
- await page.keyboard.press("Enter");
87
- await page.waitForChanges();
88
- await page.keyboard.press("PageDown");
89
- await page.waitForChanges();
90
- expect(popupTitleDay.textContent).toBe("March 2019");
91
- let activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
92
- expect(activeElId).toEqual("cell-20190303");
93
- await page.keyboard.press("PageUp");
94
- await page.waitForChanges();
95
- await page.keyboard.press("PageUp");
96
- await page.waitForChanges();
97
- await page.keyboard.press("PageUp");
98
- await page.waitForChanges();
99
- activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
100
- expect(activeElId).toEqual("cell-20181203");
101
- });
102
- it("handles HOME and END keys", async () => {
103
- await input.type("02/15/2020");
104
- await component.setProperty("calendarDate", "2020-02-15");
105
- await page.waitForChanges();
106
- await page.keyboard.press("Tab");
107
- await page.keyboard.press("Enter");
108
- await page.waitForChanges();
109
- await page.keyboard.press("Home");
110
- await page.waitForChanges();
111
- const firstDayOfMonth = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
112
- expect(firstDayOfMonth).toEqual("cell-20200201");
113
- await page.keyboard.press("End");
114
- await page.waitForChanges();
115
- const lastDayOfMonth = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
116
- expect(lastDayOfMonth).toEqual("cell-20200229"); // 2020 is a leap year
117
- });
118
- it("navigates the calendar with keyboard (day view)", async () => {
119
- // left/right: -1 / +1 in the row
120
- // up/down
121
- await input.type("08/15/2024");
122
- await component.setProperty("calendarDate", "2024-08-15");
123
- await page.keyboard.press("Tab"); // on the toggle popup btn
124
- await page.waitForChanges();
125
- await page.keyboard.press("Enter"); // open popup
126
- await page.waitForChanges();
127
- await page.keyboard.press("ArrowLeft");
128
- await page.waitForChanges();
129
- let focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
130
- await page.waitForChanges();
131
- expect(focusedCell).toEqualAttribute("id", "cell-20240814");
132
- await page.keyboard.press("ArrowUp");
133
- await page.waitForChanges();
134
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
135
- expect(focusedCell).toEqualAttribute("id", "cell-20240807");
136
- await page.keyboard.press("ArrowRight");
137
- await page.waitForChanges();
138
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
139
- expect(focusedCell).toEqualAttribute("id", "cell-20240808");
140
- await page.keyboard.press("ArrowDown");
141
- await page.waitForChanges();
142
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
143
- expect(focusedCell).toEqualAttribute("id", "cell-20240815");
144
- });
145
- it("navigates the calendar with keyboard (month view)", async () => {
146
- await input.type("08/15/2024");
147
- await component.setProperty("calendarDate", "2024-08-15");
148
- await page.keyboard.press("Tab"); // on the toggle popup btn
149
- await page.waitForChanges();
150
- await page.keyboard.press("Enter"); // open popup
151
- await page.keyboard.down("Shift");
152
- await page.waitForChanges();
153
- await page.keyboard.press("Tab"); // next btn
154
- await page.waitForChanges();
155
- await page.keyboard.press("Tab"); // popup-title (month + year)
156
- await page.waitForChanges();
157
- await page.keyboard.press("Enter");
158
- await page.waitForChanges();
159
- await page.keyboard.up("Shift");
160
- await page.waitForChanges();
161
- await page.keyboard.press("ArrowLeft");
162
- await page.waitForChanges();
163
- let focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
164
- await page.waitForChanges();
165
- expect(focusedCell).toEqualAttribute("id", "month-6"); // month is july (7), 0-indexed
166
- await page.keyboard.press("ArrowUp");
167
- await page.waitForChanges();
168
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
169
- expect(focusedCell).toEqualAttribute("id", "month-3");
170
- await page.keyboard.press("ArrowRight");
171
- await page.waitForChanges();
172
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
173
- expect(focusedCell).toEqualAttribute("id", "month-4");
174
- await page.keyboard.press("ArrowDown");
175
- await page.waitForChanges();
176
- focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
177
- expect(focusedCell).toEqualAttribute("id", "month-7");
178
- });
179
- // it("goes to the year view when the month name is clicked", async () => {
180
- // // (i.e. allows selection of a month)
181
- // });
182
- it("goes to the previous/next month when the arrow button is triggered in day view", async () => {
183
- await input.type("11/29/1999");
184
- await component.setProperty("calendarDate", "1999-11-29");
185
- await page.keyboard.press("Tab"); // on the toggle popup btn
186
- await page.waitForChanges();
187
- await page.keyboard.press("Enter"); // open popup
188
- await page.waitForChanges();
189
- await page.keyboard.down("Shift");
190
- await page.waitForChanges();
191
- await page.keyboard.press("Tab"); // next btn
192
- await page.waitForChanges();
193
- await page.keyboard.press("Tab"); // popup-title (month + year)
194
- await page.waitForChanges();
195
- await page.keyboard.press("Tab"); // prev btn
196
- await page.waitForChanges();
197
- await page.keyboard.up("Shift");
198
- await page.waitForChanges();
199
- await page.keyboard.press("Enter"); // press prev btn
200
- await page.waitForChanges();
201
- expect(popup).toHaveClasses(["open", "day-view"]);
202
- expect(popupTitleDay.textContent).toBe("October 1999");
203
- await page.keyboard.press("Tab"); // popup title btn
204
- await page.keyboard.press("Tab"); // next btn
205
- await page.keyboard.press("Enter"); // press next btn
206
- await page.waitForChanges();
207
- await page.keyboard.press("Enter"); // press next btn
208
- await page.waitForChanges();
209
- expect(popupTitleDay.textContent).toBe("December 1999");
210
- });
211
- it("goes to the previous/next year when the arrow button is clicked in month view", async () => {
212
- await input.type("11/29/1999");
213
- await component.setProperty("calendarDate", "1999-11-29");
214
- await page.waitForChanges();
215
- await page.keyboard.press("Tab"); // on the toggle popup btn
216
- await page.waitForChanges();
217
- await page.keyboard.press("Enter"); // open popup
218
- await page.waitForChanges();
219
- await page.keyboard.down("Shift");
220
- await page.keyboard.press("Tab"); // next btn
221
- await page.waitForChanges();
222
- await page.keyboard.press("Tab"); // month view btn
223
- await page.waitForChanges();
224
- await page.keyboard.up("Shift");
225
- await page.waitForChanges();
226
- await page.keyboard.press("Enter"); // press month view btn
227
- await page.waitForChanges();
228
- expect(popup).toHaveClasses(["open", "month-view"]);
229
- const title = await popup.find("#popup-title-year");
230
- expect(title.textContent).toBe("1999");
231
- await page.keyboard.down("Shift");
232
- await page.keyboard.press("Tab"); // next btn
233
- await page.keyboard.up("Shift");
234
- await page.keyboard.press("Enter"); // press next btn
235
- await page.waitForChanges();
236
- expect(title.textContent).toBe("2000");
237
- await page.keyboard.down("Shift");
238
- await page.keyboard.press("Tab"); // year btn
239
- await page.keyboard.down("Shift");
240
- await page.keyboard.press("Tab"); // prev btn
241
- await page.keyboard.up("Shift");
242
- await page.keyboard.press("Enter"); // press prev btn
243
- await page.waitForChanges();
244
- expect(title.textContent).toBe("1999");
245
- await page.keyboard.press("Enter"); // press prev btn
246
- await page.waitForChanges();
247
- await page.keyboard.press("Enter"); // press prev btn
248
- await page.waitForChanges();
249
- expect(title.textContent).toBe("1997");
250
- });
251
- it("has the aria attributes related to the popup", async () => {
252
- // NB "If the element with the aria-expanded attribute controls the expansion of another grouping container
253
- // that is not 'owned by' the element, the author SHOULD reference the container by using the aria-controls attribute."
254
- // src: https://www.w3.org/TR/wai-aria-1.1/#aria-expanded
255
- expect(btn).toHaveAttribute("aria-expanded");
256
- // Not sure is aria-haspopup is necessary. If it is present the popup should have a role
257
- // if that role is grid (the only role that seems to correspond) then the cells must have
258
- // a role of gridcell
259
- // https://www.w3.org/TR/wai-aria/#aria-haspopup
260
- // expect(btn).toHaveAttribute("aria-haspopup");
261
- //Removed aria-controls since the popup comes immediately after the aria-expanded controller:
262
- //https://www.heydonworks.com/article/aria-controls-is-poop
263
- });
264
- it("toggles aria-expanded attribute", async () => {
265
- expect(btn).toEqualAttribute("aria-expanded", "false");
266
- await page.keyboard.press("Tab");
267
- await page.keyboard.press("Tab");
268
- await page.keyboard.press("Enter");
269
- await page.waitForChanges();
270
- expect(btn).toEqualAttribute("aria-expanded", "true");
271
- });
272
- it("properly fills the-label on table cells", async () => {
273
- // screen reader should read "Thursday, May 10 2018" on focus
274
- // screen reader should read "Thursday, May 10 2018, selected" on select
275
- await input.type("05/10/2018");
276
- await component.setProperty("calendarDate", "2018-05-10");
277
- await page.waitForChanges();
278
- await page.keyboard.press("Tab");
279
- await page.waitForChanges();
280
- await page.keyboard.press("Enter");
281
- await page.waitForChanges();
282
- const focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
283
- await page.waitForChanges();
284
- // day of the week is read by sr bcse it's the table column
285
- expect(focusedCell).toEqualAttribute("aria-label", "Thursday, May 10, 2018");
286
- // screen reader should read "Thursday, May 10 2018, selected" on select
287
- await page.keyboard.press("Enter");
288
- await page.waitForChanges();
289
- const selCell = await popup.find("[aria-selected='true']");
290
- // day of the week is read by sr bcse it's the table column
291
- expect(selCell).toEqualAttribute("aria-label", "Thursday, May 10, 2018");
292
- });
293
- it("aligns dates properly", async () => {
294
- // -> check that both 01/01/1999 and 12/31/2100 are in the Friday column
295
- // couldn't figure this one out...
296
- });
297
- it("emits event on input blur", async () => {
298
- page = await newE2EPage();
299
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
10
+ component = await page.find("wm-datepicker");
11
+ input = await page.find("wm-datepicker >>> input");
12
+ btn = await page.find("wm-datepicker >>> #toggle");
13
+ popup = await page.find("wm-datepicker >>> #popup");
14
+ popupTitleDay = await page.find("wm-datepicker >>> #popup-title-month");
15
+ // await page.keyboard.press("Tab");
16
+ // await page.waitForChanges();
17
+ });
18
+ it("passes Axe checks", async () => {
19
+ const results = await new AxePuppeteer(page).analyze();
20
+ expect(results.violations.length).toBe(0);
21
+ });
22
+ // TODO
23
+ // see https://dequeuniversity.com/checklists/web/form-validation-feedback
24
+ // for Dynamic Error Detection / Error messages
25
+ // see also role="alert"
26
+ /* INPUT */
27
+ // See datepicker-input.e2e.ts
28
+ /* BUTTON */
29
+ // Opening and closing the date picker
30
+ it("opens at today's date by default", async () => {
31
+ const popup = await page.find("wm-datepicker >>> .popup");
32
+ const today = new Date();
33
+ const year = today.getUTCFullYear();
34
+ const month = (today.getUTCMonth() + 1).toString().padStart(2, "0");
35
+ const day = today.getUTCDate().toString();
36
+ const dateTable = await popup.find("[role='grid']");
37
+ // await page.waitForChanges();
38
+ const selDate = await dateTable.find("[aria-selected='true']");
39
+ expect(selDate).toEqualAttribute("data-year", year);
40
+ expect(selDate).toEqualAttribute("data-month", month);
41
+ expect(selDate.textContent).toBe(day);
42
+ });
43
+ it("opens at the date in the input if there is one", async () => {
44
+ const input = await page.find("wm-datepicker >>> input");
45
+ const popup = await page.find("wm-datepicker >>> .popup");
46
+ await input.type("02/01/2030");
47
+ await component.setProperty("calendarDate", "2030-02-01");
48
+ await page.waitForChanges();
49
+ await page.keyboard.press("Tab");
50
+ await page.keyboard.press("Enter");
51
+ await page.waitForChanges();
52
+ const dateTable = await popup.find("[role='grid']");
53
+ const selDate = await dateTable.find("[aria-selected='true']");
54
+ expect(selDate).toEqualAttribute("data-year", "2030");
55
+ expect(selDate).toEqualAttribute("data-month", "02");
56
+ expect(selDate.textContent).toBe("1");
57
+ });
58
+ it("Closes the popup when user triggers the calendar button", async () => {
59
+ const popup = await page.find("wm-datepicker >>> .popup");
60
+ await page.keyboard.press("Tab"); // in input
61
+ await page.keyboard.press("Tab"); // on btn
62
+ await page.keyboard.press("Enter");
63
+ await page.waitForChanges();
64
+ expect(popup).toHaveClass("open");
65
+ await page.keyboard.press("Escape");
66
+ await page.waitForChanges();
67
+ expect(popup).not.toHaveClass("open");
68
+ });
69
+ /* POPUP */
70
+ it("closes the calendar popup when the user presses ESCAPE", async () => {
71
+ await input.type("02/03/2019");
72
+ await component.setProperty("calendarDate", "2019-02-03");
73
+ await page.waitForChanges();
74
+ await page.keyboard.press("Tab");
75
+ await page.keyboard.press("Enter");
76
+ await page.waitForChanges();
77
+ await page.keyboard.press("Escape");
78
+ await page.waitForChanges();
79
+ expect(popup).not.toHaveClass("open");
80
+ });
81
+ it("shows the next month on PAGE DOWN and shows the previous month on PAGE UP", async () => {
82
+ await input.type("02/03/2019");
83
+ await component.setProperty("calendarDate", "2019-02-03");
84
+ await page.waitForChanges();
85
+ await page.keyboard.press("Tab");
86
+ await page.keyboard.press("Enter");
87
+ await page.waitForChanges();
88
+ await page.keyboard.press("PageDown");
89
+ await page.waitForChanges();
90
+ expect(popupTitleDay.textContent).toBe("March 2019");
91
+ let activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
92
+ expect(activeElId).toEqual("cell-20190303");
93
+ await page.keyboard.press("PageUp");
94
+ await page.waitForChanges();
95
+ await page.keyboard.press("PageUp");
96
+ await page.waitForChanges();
97
+ await page.keyboard.press("PageUp");
98
+ await page.waitForChanges();
99
+ activeElId = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
100
+ expect(activeElId).toEqual("cell-20181203");
101
+ });
102
+ it("handles HOME and END keys", async () => {
103
+ await input.type("02/15/2020");
104
+ await component.setProperty("calendarDate", "2020-02-15");
105
+ await page.waitForChanges();
106
+ await page.keyboard.press("Tab");
107
+ await page.keyboard.press("Enter");
108
+ await page.waitForChanges();
109
+ await page.keyboard.press("Home");
110
+ await page.waitForChanges();
111
+ const firstDayOfMonth = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
112
+ expect(firstDayOfMonth).toEqual("cell-20200201");
113
+ await page.keyboard.press("End");
114
+ await page.waitForChanges();
115
+ const lastDayOfMonth = await page.evaluate(() => document.activeElement.shadowRoot.activeElement.id);
116
+ expect(lastDayOfMonth).toEqual("cell-20200229"); // 2020 is a leap year
117
+ });
118
+ it("navigates the calendar with keyboard (day view)", async () => {
119
+ // left/right: -1 / +1 in the row
120
+ // up/down
121
+ await input.type("08/15/2024");
122
+ await component.setProperty("calendarDate", "2024-08-15");
123
+ await page.keyboard.press("Tab"); // on the toggle popup btn
124
+ await page.waitForChanges();
125
+ await page.keyboard.press("Enter"); // open popup
126
+ await page.waitForChanges();
127
+ await page.keyboard.press("ArrowLeft");
128
+ await page.waitForChanges();
129
+ let focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
130
+ await page.waitForChanges();
131
+ expect(focusedCell).toEqualAttribute("id", "cell-20240814");
132
+ await page.keyboard.press("ArrowUp");
133
+ await page.waitForChanges();
134
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
135
+ expect(focusedCell).toEqualAttribute("id", "cell-20240807");
136
+ await page.keyboard.press("ArrowRight");
137
+ await page.waitForChanges();
138
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
139
+ expect(focusedCell).toEqualAttribute("id", "cell-20240808");
140
+ await page.keyboard.press("ArrowDown");
141
+ await page.waitForChanges();
142
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
143
+ expect(focusedCell).toEqualAttribute("id", "cell-20240815");
144
+ });
145
+ it("navigates the calendar with keyboard (month view)", async () => {
146
+ await input.type("08/15/2024");
147
+ await component.setProperty("calendarDate", "2024-08-15");
148
+ await page.keyboard.press("Tab"); // on the toggle popup btn
149
+ await page.waitForChanges();
150
+ await page.keyboard.press("Enter"); // open popup
151
+ await page.keyboard.down("Shift");
152
+ await page.waitForChanges();
153
+ await page.keyboard.press("Tab"); // next btn
154
+ await page.waitForChanges();
155
+ await page.keyboard.press("Tab"); // popup-title (month + year)
156
+ await page.waitForChanges();
157
+ await page.keyboard.press("Enter");
158
+ await page.waitForChanges();
159
+ await page.keyboard.up("Shift");
160
+ await page.waitForChanges();
161
+ await page.keyboard.press("ArrowLeft");
162
+ await page.waitForChanges();
163
+ let focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
164
+ await page.waitForChanges();
165
+ expect(focusedCell).toEqualAttribute("id", "month-6"); // month is july (7), 0-indexed
166
+ await page.keyboard.press("ArrowUp");
167
+ await page.waitForChanges();
168
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
169
+ expect(focusedCell).toEqualAttribute("id", "month-3");
170
+ await page.keyboard.press("ArrowRight");
171
+ await page.waitForChanges();
172
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
173
+ expect(focusedCell).toEqualAttribute("id", "month-4");
174
+ await page.keyboard.press("ArrowDown");
175
+ await page.waitForChanges();
176
+ focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
177
+ expect(focusedCell).toEqualAttribute("id", "month-7");
178
+ });
179
+ // it("goes to the year view when the month name is clicked", async () => {
180
+ // // (i.e. allows selection of a month)
181
+ // });
182
+ it("goes to the previous/next month when the arrow button is triggered in day view", async () => {
183
+ await input.type("11/29/1999");
184
+ await component.setProperty("calendarDate", "1999-11-29");
185
+ await page.keyboard.press("Tab"); // on the toggle popup btn
186
+ await page.waitForChanges();
187
+ await page.keyboard.press("Enter"); // open popup
188
+ await page.waitForChanges();
189
+ await page.keyboard.down("Shift");
190
+ await page.waitForChanges();
191
+ await page.keyboard.press("Tab"); // next btn
192
+ await page.waitForChanges();
193
+ await page.keyboard.press("Tab"); // popup-title (month + year)
194
+ await page.waitForChanges();
195
+ await page.keyboard.press("Tab"); // prev btn
196
+ await page.waitForChanges();
197
+ await page.keyboard.up("Shift");
198
+ await page.waitForChanges();
199
+ await page.keyboard.press("Enter"); // press prev btn
200
+ await page.waitForChanges();
201
+ expect(popup).toHaveClasses(["open", "day-view"]);
202
+ expect(popupTitleDay.textContent).toBe("October 1999");
203
+ await page.keyboard.press("Tab"); // popup title btn
204
+ await page.keyboard.press("Tab"); // next btn
205
+ await page.keyboard.press("Enter"); // press next btn
206
+ await page.waitForChanges();
207
+ await page.keyboard.press("Enter"); // press next btn
208
+ await page.waitForChanges();
209
+ expect(popupTitleDay.textContent).toBe("December 1999");
210
+ });
211
+ it("goes to the previous/next year when the arrow button is clicked in month view", async () => {
212
+ await input.type("11/29/1999");
213
+ await component.setProperty("calendarDate", "1999-11-29");
214
+ await page.waitForChanges();
215
+ await page.keyboard.press("Tab"); // on the toggle popup btn
216
+ await page.waitForChanges();
217
+ await page.keyboard.press("Enter"); // open popup
218
+ await page.waitForChanges();
219
+ await page.keyboard.down("Shift");
220
+ await page.keyboard.press("Tab"); // next btn
221
+ await page.waitForChanges();
222
+ await page.keyboard.press("Tab"); // month view btn
223
+ await page.waitForChanges();
224
+ await page.keyboard.up("Shift");
225
+ await page.waitForChanges();
226
+ await page.keyboard.press("Enter"); // press month view btn
227
+ await page.waitForChanges();
228
+ expect(popup).toHaveClasses(["open", "month-view"]);
229
+ const title = await popup.find("#popup-title-year");
230
+ expect(title.textContent).toBe("1999");
231
+ await page.keyboard.down("Shift");
232
+ await page.keyboard.press("Tab"); // next btn
233
+ await page.keyboard.up("Shift");
234
+ await page.keyboard.press("Enter"); // press next btn
235
+ await page.waitForChanges();
236
+ expect(title.textContent).toBe("2000");
237
+ await page.keyboard.down("Shift");
238
+ await page.keyboard.press("Tab"); // year btn
239
+ await page.keyboard.down("Shift");
240
+ await page.keyboard.press("Tab"); // prev btn
241
+ await page.keyboard.up("Shift");
242
+ await page.keyboard.press("Enter"); // press prev btn
243
+ await page.waitForChanges();
244
+ expect(title.textContent).toBe("1999");
245
+ await page.keyboard.press("Enter"); // press prev btn
246
+ await page.waitForChanges();
247
+ await page.keyboard.press("Enter"); // press prev btn
248
+ await page.waitForChanges();
249
+ expect(title.textContent).toBe("1997");
250
+ });
251
+ it("has the aria attributes related to the popup", async () => {
252
+ // NB "If the element with the aria-expanded attribute controls the expansion of another grouping container
253
+ // that is not 'owned by' the element, the author SHOULD reference the container by using the aria-controls attribute."
254
+ // src: https://www.w3.org/TR/wai-aria-1.1/#aria-expanded
255
+ expect(btn).toHaveAttribute("aria-expanded");
256
+ // Not sure is aria-haspopup is necessary. If it is present the popup should have a role
257
+ // if that role is grid (the only role that seems to correspond) then the cells must have
258
+ // a role of gridcell
259
+ // https://www.w3.org/TR/wai-aria/#aria-haspopup
260
+ // expect(btn).toHaveAttribute("aria-haspopup");
261
+ //Removed aria-controls since the popup comes immediately after the aria-expanded controller:
262
+ //https://www.heydonworks.com/article/aria-controls-is-poop
263
+ });
264
+ it("toggles aria-expanded attribute", async () => {
265
+ expect(btn).toEqualAttribute("aria-expanded", "false");
266
+ await page.keyboard.press("Tab");
267
+ await page.keyboard.press("Tab");
268
+ await page.keyboard.press("Enter");
269
+ await page.waitForChanges();
270
+ expect(btn).toEqualAttribute("aria-expanded", "true");
271
+ });
272
+ it("properly fills the-label on table cells", async () => {
273
+ // screen reader should read "Thursday, May 10 2018" on focus
274
+ // screen reader should read "Thursday, May 10 2018, selected" on select
275
+ await input.type("05/10/2018");
276
+ await component.setProperty("calendarDate", "2018-05-10");
277
+ await page.waitForChanges();
278
+ await page.keyboard.press("Tab");
279
+ await page.waitForChanges();
280
+ await page.keyboard.press("Enter");
281
+ await page.waitForChanges();
282
+ const focusedCell = await popup.find("[role='gridcell'][tabindex='0']");
283
+ await page.waitForChanges();
284
+ // day of the week is read by sr bcse it's the table column
285
+ expect(focusedCell).toEqualAttribute("aria-label", "Thursday, May 10, 2018");
286
+ // screen reader should read "Thursday, May 10 2018, selected" on select
287
+ await page.keyboard.press("Enter");
288
+ await page.waitForChanges();
289
+ const selCell = await popup.find("[aria-selected='true']");
290
+ // day of the week is read by sr bcse it's the table column
291
+ expect(selCell).toEqualAttribute("aria-label", "Thursday, May 10, 2018");
292
+ });
293
+ it("aligns dates properly", async () => {
294
+ // -> check that both 01/01/1999 and 12/31/2100 are in the Friday column
295
+ // couldn't figure this one out...
296
+ });
297
+ it("emits event on input blur", async () => {
298
+ page = await newE2EPage();
299
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
300
300
  <wm-datepicker id="dp" label="label"></wm-datepicker>
301
301
  <div id="indicator">no event heard</div>
302
302
  </main></body></html>`);
303
- component = await page.find("wm-datepicker");
304
- input = await page.find("wm-datepicker >>> input");
305
- await page.waitForChanges();
306
- await page.evaluate(async () => {
307
- const indicator = document.querySelector("#indicator");
308
- await document.addEventListener("wmDatepickerInputBlurred", () => (indicator.textContent = "event heard"));
309
- });
310
- await page.waitForChanges;
311
- const indicator = await page.find("#indicator");
312
- expect(indicator.textContent).toBe("no event heard");
313
- await input.type("05/10/2018");
314
- await page.keyboard.press("Tab");
315
- await page.waitForChanges();
316
- expect(indicator.textContent).toBe("event heard");
303
+ component = await page.find("wm-datepicker");
304
+ input = await page.find("wm-datepicker >>> input");
305
+ await page.waitForChanges();
306
+ await page.evaluate(async () => {
307
+ const indicator = document.querySelector("#indicator");
308
+ await document.addEventListener("wmDatepickerInputBlurred", () => (indicator.textContent = "event heard"));
317
309
  });
318
- it("emits event on change", async () => {
319
- page = await newE2EPage();
320
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
310
+ await page.waitForChanges;
311
+ const indicator = await page.find("#indicator");
312
+ expect(indicator.textContent).toBe("no event heard");
313
+ await input.type("05/10/2018");
314
+ await page.keyboard.press("Tab");
315
+ await page.waitForChanges();
316
+ expect(indicator.textContent).toBe("event heard");
317
+ });
318
+ it("emits event on change", async () => {
319
+ page = await newE2EPage();
320
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
321
321
  <wm-datepicker id="dp" label="label"></wm-datepicker>
322
322
  <div id="indicator">events heard: 0</div>
323
323
  </main></body></html>`);
324
- component = await page.find("wm-datepicker");
325
- input = await page.find("wm-datepicker >>> input");
326
- await page.waitForChanges();
327
- await page.evaluate(async () => {
328
- const indicator = document.querySelector("#indicator");
329
- await document
330
- .querySelector("wm-datepicker")
331
- .addEventListener("change", () => (indicator.textContent =
332
- indicator.textContent.slice(0, -1) + (parseInt(indicator.textContent.slice(-1)) + 1)));
333
- });
334
- await page.waitForChanges;
335
- const indicator = await page.find("#indicator");
336
- expect(indicator.textContent).toBe("events heard: 0");
337
- // user types date
338
- await input.type("05/10/2018");
339
- await page.keyboard.press("Tab");
340
- await page.waitForChanges();
341
- expect(indicator.textContent).toBe("events heard: 1");
342
- // user selects date from calendar
343
- await page.keyboard.press("Enter");
344
- await page.waitForChanges();
345
- await page.keyboard.press("ArrowRight");
346
- await page.keyboard.press("Enter");
347
- await page.waitForChanges();
348
- expect(indicator.textContent).toBe("events heard: 2");
324
+ component = await page.find("wm-datepicker");
325
+ input = await page.find("wm-datepicker >>> input");
326
+ await page.waitForChanges();
327
+ await page.evaluate(async () => {
328
+ const indicator = document.querySelector("#indicator");
329
+ await document
330
+ .querySelector("wm-datepicker")
331
+ .addEventListener("change", () => (indicator.textContent =
332
+ indicator.textContent.slice(0, -1) + (parseInt(indicator.textContent.slice(-1)) + 1)));
349
333
  });
350
- it("emits event with date on cell selection", async () => {
351
- page = await newE2EPage();
352
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
334
+ await page.waitForChanges;
335
+ const indicator = await page.find("#indicator");
336
+ expect(indicator.textContent).toBe("events heard: 0");
337
+ // user types date
338
+ await input.type("05/10/2018");
339
+ await page.keyboard.press("Tab");
340
+ await page.waitForChanges();
341
+ expect(indicator.textContent).toBe("events heard: 1");
342
+ // user selects date from calendar
343
+ await page.keyboard.press("Enter");
344
+ await page.waitForChanges();
345
+ await page.keyboard.press("ArrowRight");
346
+ await page.keyboard.press("Enter");
347
+ await page.waitForChanges();
348
+ expect(indicator.textContent).toBe("events heard: 2");
349
+ });
350
+ it("emits event with date on cell selection", async () => {
351
+ page = await newE2EPage();
352
+ await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
353
353
  <wm-datepicker id="dp" value="12/30/1999" label="label"></wm-datepicker>
354
354
  <div id="indicator"></div>
355
355
  </main></body></html>`);
356
- component = await page.find("wm-datepicker");
357
- input = await page.find("wm-datepicker >>> input");
358
- await page.waitForChanges();
359
- await page.evaluate(async () => {
360
- const indicator = document.querySelector("#indicator");
361
- await document.querySelector("wm-datepicker").addEventListener("wmDatepickerDateSelected", (ev) => (indicator.textContent =
362
- //@ts-ignore
363
- `date received: ${ev.detail.date}`));
364
- });
365
- await page.waitForChanges;
366
- const indicator = await page.find("#indicator");
367
- // user types date
368
- await page.keyboard.press("Tab");
369
- await page.keyboard.press("Tab");
370
- await page.waitForChanges();
371
- await page.keyboard.press("Enter");
372
- await page.waitForChanges();
373
- await page.keyboard.press("Enter");
374
- await page.waitForChanges();
375
- expect(indicator.textContent).toBe("date received: 1999-12-30");
356
+ component = await page.find("wm-datepicker");
357
+ input = await page.find("wm-datepicker >>> input");
358
+ await page.waitForChanges();
359
+ await page.evaluate(async () => {
360
+ const indicator = document.querySelector("#indicator");
361
+ await document.querySelector("wm-datepicker").addEventListener("wmDatepickerDateSelected", (ev) => (indicator.textContent =
362
+ //@ts-ignore
363
+ `date received: ${ev.detail.date}`));
376
364
  });
365
+ await page.waitForChanges;
366
+ const indicator = await page.find("#indicator");
367
+ // user types date
368
+ await page.keyboard.press("Tab");
369
+ await page.keyboard.press("Tab");
370
+ await page.waitForChanges();
371
+ await page.keyboard.press("Enter");
372
+ await page.waitForChanges();
373
+ await page.keyboard.press("Enter");
374
+ await page.waitForChanges();
375
+ expect(indicator.textContent).toBe("date received: 1999-12-30");
376
+ });
377
377
  });
378
378
  // Sources:
379
379
  // https://watermarkinsights.atlassian.net/browse/DNP-3411