@watermarkinsights/ripple 5.5.0 → 5.5.1

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 (350) hide show
  1. package/dist/{esm/global-861eb453.js → cjs/app-globals-4dfe82d1.js} +10 -1
  2. package/dist/cjs/{chartFunctions-ce6c7c16.js → chartFunctions-878f8139.js} +3 -3
  3. package/dist/cjs/{functions-3be85c6d.js → functions-05e7ad5a.js} +104 -7
  4. package/dist/cjs/index-788526f5.js +1851 -0
  5. package/dist/cjs/{intl-567eb9d8.js → intl-2b550151.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +4 -3
  7. package/dist/cjs/priv-calendar.cjs.entry.js +6 -5
  8. package/dist/cjs/priv-chart-popover.cjs.entry.js +6 -5
  9. package/dist/cjs/priv-navigator-button.cjs.entry.js +4 -3
  10. package/dist/cjs/priv-navigator-item.cjs.entry.js +4 -3
  11. package/dist/cjs/ripple.cjs.js +12 -11
  12. package/dist/cjs/wm-action-menu_2.cjs.entry.js +8 -6
  13. package/dist/cjs/wm-button.cjs.entry.js +5 -4
  14. package/dist/cjs/wm-chart-slice.cjs.entry.js +1 -1
  15. package/dist/cjs/wm-chart.cjs.entry.js +7 -6
  16. package/dist/cjs/wm-date-range.cjs.entry.js +9 -8
  17. package/dist/cjs/wm-datepicker.cjs.entry.js +13 -14
  18. package/dist/cjs/wm-file-list.cjs.entry.js +4 -3
  19. package/dist/cjs/wm-file.cjs.entry.js +5 -4
  20. package/dist/cjs/wm-input.cjs.entry.js +6 -5
  21. package/dist/cjs/wm-line-chart.cjs.entry.js +15 -14
  22. package/dist/cjs/wm-modal-footer.cjs.entry.js +4 -3
  23. package/dist/cjs/wm-modal-header.cjs.entry.js +6 -5
  24. package/dist/cjs/wm-modal.cjs.entry.js +6 -5
  25. package/dist/cjs/wm-navigation_3.cjs.entry.js +13 -10
  26. package/dist/cjs/wm-navigator.cjs.entry.js +4 -3
  27. package/dist/cjs/wm-option_2.cjs.entry.js +10 -8
  28. package/dist/cjs/wm-pagination.cjs.entry.js +5 -4
  29. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +9 -7
  30. package/dist/cjs/wm-search.cjs.entry.js +7 -6
  31. package/dist/cjs/wm-snackbar.cjs.entry.js +7 -6
  32. package/dist/cjs/wm-tab-item_3.cjs.entry.js +11 -8
  33. package/dist/cjs/wm-tag-input.cjs.entry.js +8 -7
  34. package/dist/cjs/wm-tag-option.cjs.entry.js +2 -2
  35. package/dist/cjs/wm-textarea.cjs.entry.js +6 -5
  36. package/dist/cjs/wm-timepicker.cjs.entry.js +6 -5
  37. package/dist/cjs/wm-toggletip.cjs.entry.js +6 -5
  38. package/dist/cjs/wm-uploader.cjs.entry.js +7 -6
  39. package/dist/cjs/wm-wrapper.cjs.entry.js +1 -1
  40. package/dist/collection/collection-manifest.json +2 -2
  41. package/dist/collection/components/charts/chartFunctions.js +1 -1
  42. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +2 -2
  43. package/dist/collection/components/charts/wm-chart/wm-chart.js +1 -1
  44. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +9 -9
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +1 -1
  46. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +1 -1
  47. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +2 -2
  48. package/dist/collection/components/datepickers/wm-date-range.js +17 -13
  49. package/dist/collection/components/datepickers/wm-datepicker.js +21 -19
  50. package/dist/collection/components/wm-action-menu/wm-action-menu.js +1 -1
  51. package/dist/collection/components/wm-button/wm-button.js +1 -1
  52. package/dist/collection/components/wm-file/wm-file.js +1 -1
  53. package/dist/collection/components/wm-file-list/wm-file-list.js +1 -1
  54. package/dist/collection/components/wm-input/wm-input.js +1 -1
  55. package/dist/collection/components/wm-menuitem/wm-menuitem.js +1 -1
  56. package/dist/collection/components/wm-modal/wm-modal-footer.js +1 -1
  57. package/dist/collection/components/wm-modal/wm-modal-header.js +1 -1
  58. package/dist/collection/components/wm-modal/wm-modal.js +2 -2
  59. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +1 -1
  60. package/dist/collection/components/wm-navigation/wm-navigation-item.js +1 -1
  61. package/dist/collection/components/wm-navigation/wm-navigation.js +2 -2
  62. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +1 -1
  63. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +1 -1
  64. package/dist/collection/components/wm-option/wm-option.js +1 -1
  65. package/dist/collection/components/wm-pagination/wm-pagination.js +1 -1
  66. package/dist/collection/components/wm-search/wm-search.js +5 -4
  67. package/dist/collection/components/wm-select/wm-select.js +2 -2
  68. package/dist/collection/components/wm-snackbar/wm-snackbar.js +2 -2
  69. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +1 -1
  70. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +1 -1
  71. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +1 -1
  72. package/dist/collection/components/wm-tag-input/wm-tag-input.js +3 -3
  73. package/dist/collection/components/wm-textarea/wm-textarea.js +1 -1
  74. package/dist/collection/components/wm-timepicker/wm-timepicker.js +11 -8
  75. package/dist/collection/components/wm-toggletip/wm-toggletip.js +2 -2
  76. package/dist/collection/components/wm-uploader/wm-uploader.js +2 -2
  77. package/dist/{cjs/global-ad843e7f.js → esm/app-globals-b8b36bbb.js} +7 -2
  78. package/dist/esm/{chartFunctions-0ebf83f3.js → chartFunctions-00fd6f23.js} +3 -3
  79. package/dist/esm/{functions-46843ea0.js → functions-25781571.js} +105 -8
  80. package/dist/esm/index-130e07bb.js +1820 -0
  81. package/dist/esm/{intl-8b8740b9.js → intl-df3d34d1.js} +1 -1
  82. package/dist/esm/loader.js +5 -4
  83. package/dist/esm/priv-calendar.entry.js +6 -5
  84. package/dist/esm/priv-chart-popover.entry.js +6 -5
  85. package/dist/esm/priv-navigator-button.entry.js +4 -3
  86. package/dist/esm/priv-navigator-item.entry.js +4 -3
  87. package/dist/esm/ripple.js +13 -12
  88. package/dist/esm/wm-action-menu_2.entry.js +8 -6
  89. package/dist/esm/wm-button.entry.js +5 -4
  90. package/dist/esm/wm-chart-slice.entry.js +1 -1
  91. package/dist/esm/wm-chart.entry.js +7 -6
  92. package/dist/esm/wm-date-range.entry.js +9 -8
  93. package/dist/esm/wm-datepicker.entry.js +13 -14
  94. package/dist/esm/wm-file-list.entry.js +4 -3
  95. package/dist/esm/wm-file.entry.js +5 -4
  96. package/dist/esm/wm-input.entry.js +6 -5
  97. package/dist/esm/wm-line-chart.entry.js +15 -14
  98. package/dist/esm/wm-modal-footer.entry.js +4 -3
  99. package/dist/esm/wm-modal-header.entry.js +6 -5
  100. package/dist/esm/wm-modal.entry.js +6 -5
  101. package/dist/esm/wm-navigation_3.entry.js +13 -10
  102. package/dist/esm/wm-navigator.entry.js +4 -3
  103. package/dist/esm/wm-option_2.entry.js +10 -8
  104. package/dist/esm/wm-pagination.entry.js +5 -4
  105. package/dist/esm/wm-progress-indicator_3.entry.js +9 -7
  106. package/dist/esm/wm-search.entry.js +7 -6
  107. package/dist/esm/wm-snackbar.entry.js +7 -6
  108. package/dist/esm/wm-tab-item_3.entry.js +11 -8
  109. package/dist/esm/wm-tag-input.entry.js +8 -7
  110. package/dist/esm/wm-tag-option.entry.js +2 -2
  111. package/dist/esm/wm-textarea.entry.js +6 -5
  112. package/dist/esm/wm-timepicker.entry.js +6 -5
  113. package/dist/esm/wm-toggletip.entry.js +6 -5
  114. package/dist/esm/wm-uploader.entry.js +7 -6
  115. package/dist/esm/wm-wrapper.entry.js +1 -1
  116. package/dist/esm-es5/app-globals-b8b36bbb.js +1 -0
  117. package/dist/esm-es5/{chartFunctions-0ebf83f3.js → chartFunctions-00fd6f23.js} +1 -1
  118. package/dist/esm-es5/functions-25781571.js +1 -0
  119. package/dist/esm-es5/index-130e07bb.js +1 -0
  120. package/dist/esm-es5/{intl-8b8740b9.js → intl-df3d34d1.js} +1 -1
  121. package/dist/esm-es5/loader.js +1 -1
  122. package/dist/esm-es5/priv-calendar.entry.js +1 -1
  123. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  124. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  125. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  126. package/dist/esm-es5/ripple.js +1 -1
  127. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  128. package/dist/esm-es5/wm-button.entry.js +1 -1
  129. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  130. package/dist/esm-es5/wm-chart.entry.js +1 -1
  131. package/dist/esm-es5/wm-date-range.entry.js +1 -1
  132. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  133. package/dist/esm-es5/wm-file-list.entry.js +1 -1
  134. package/dist/esm-es5/wm-file.entry.js +1 -1
  135. package/dist/esm-es5/wm-input.entry.js +1 -1
  136. package/dist/esm-es5/wm-line-chart.entry.js +1 -1
  137. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  138. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  139. package/dist/esm-es5/wm-modal.entry.js +1 -1
  140. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  141. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  142. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  143. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  144. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  145. package/dist/esm-es5/wm-search.entry.js +1 -1
  146. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  147. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  148. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  149. package/dist/esm-es5/wm-tag-option.entry.js +1 -1
  150. package/dist/esm-es5/wm-textarea.entry.js +1 -1
  151. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  152. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  153. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  154. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  155. package/dist/loader/cdn.js +1 -2
  156. package/dist/loader/index.cjs.js +1 -2
  157. package/dist/loader/index.d.ts +3 -0
  158. package/dist/loader/index.es2017.js +1 -2
  159. package/dist/loader/index.js +1 -2
  160. package/dist/ripple/{p-99dd083d.system.js → p-03708b88.system.js} +1 -1
  161. package/dist/ripple/{p-45abd8fe.entry.js → p-041e579b.entry.js} +1 -1
  162. package/dist/ripple/{p-65d26233.system.entry.js → p-043901ab.system.entry.js} +1 -1
  163. package/dist/ripple/p-0af94825.entry.js +1 -0
  164. package/dist/ripple/p-0ff41567.system.entry.js +1 -0
  165. package/dist/ripple/p-1044e1dc.system.js +1 -0
  166. package/dist/ripple/{p-48e09589.entry.js → p-13b1d775.entry.js} +1 -1
  167. package/dist/ripple/p-13fc2164.entry.js +1 -0
  168. package/dist/ripple/p-155224a2.system.entry.js +1 -0
  169. package/dist/ripple/p-17bb1157.system.entry.js +1 -0
  170. package/dist/ripple/p-1f09134c.entry.js +1 -0
  171. package/dist/ripple/{p-204bdd73.entry.js → p-298bde1b.entry.js} +1 -1
  172. package/dist/ripple/p-298c2675.entry.js +1 -0
  173. package/dist/ripple/p-2d619f83.entry.js +1 -0
  174. package/dist/ripple/p-2ef49c84.entry.js +1 -0
  175. package/dist/ripple/p-2fd12dd9.entry.js +1 -0
  176. package/dist/ripple/p-3423a9b6.system.entry.js +1 -0
  177. package/dist/ripple/p-376efca9.entry.js +1 -0
  178. package/dist/ripple/p-38ccde69.system.js +1 -0
  179. package/dist/ripple/{p-e3241417.system.entry.js → p-3b4045f8.system.entry.js} +1 -1
  180. package/dist/ripple/p-3b5f4364.system.entry.js +1 -0
  181. package/dist/ripple/p-417c8e46.system.entry.js +1 -0
  182. package/dist/ripple/p-418ed08c.system.entry.js +1 -0
  183. package/dist/ripple/{p-28b70082.system.entry.js → p-41eb6a2e.system.entry.js} +1 -1
  184. package/dist/ripple/p-4670ccb4.system.js +1 -0
  185. package/dist/ripple/p-4baaf026.entry.js +1 -0
  186. package/dist/ripple/p-4ea1e503.entry.js +1 -0
  187. package/dist/ripple/p-5051034b.entry.js +1 -0
  188. package/dist/ripple/p-56766bb2.entry.js +1 -0
  189. package/dist/ripple/p-5caaf651.system.entry.js +1 -0
  190. package/dist/ripple/p-5ece78e5.system.entry.js +1 -0
  191. package/dist/ripple/{p-42d1c301.entry.js → p-672ae2cb.entry.js} +1 -1
  192. package/dist/ripple/{p-3a44e1c8.entry.js → p-67a7f0b0.entry.js} +1 -1
  193. package/dist/ripple/p-6d0e5159.system.entry.js +1 -0
  194. package/dist/ripple/p-6d56676e.system.entry.js +1 -0
  195. package/dist/ripple/{p-7326b62a.entry.js → p-6e60631a.entry.js} +1 -1
  196. package/dist/ripple/{p-b7ead395.system.entry.js → p-6fe35d1e.system.entry.js} +1 -1
  197. package/dist/ripple/p-748f8a97.system.entry.js +1 -0
  198. package/dist/ripple/p-7eab6bea.system.entry.js +1 -0
  199. package/dist/ripple/p-7fb95b89.entry.js +1 -0
  200. package/dist/ripple/{p-32bf3f5b.system.entry.js → p-823d7b4e.system.entry.js} +1 -1
  201. package/dist/ripple/p-830f8b3f.entry.js +1 -0
  202. package/dist/ripple/p-86fd68b3.system.entry.js +1 -0
  203. package/dist/ripple/p-88cfd58d.js +1 -0
  204. package/dist/ripple/p-89b27fbb.js +1 -0
  205. package/dist/ripple/p-8b56f9d8.system.entry.js +1 -0
  206. package/dist/ripple/{p-8159cdf5.entry.js → p-8e72de50.entry.js} +1 -1
  207. package/dist/ripple/{p-510679f8.system.entry.js → p-a1a2f8c9.system.entry.js} +1 -1
  208. package/dist/ripple/p-a62e7532.entry.js +1 -0
  209. package/dist/ripple/{p-f92bd0c1.js → p-a88bf1c5.js} +1 -1
  210. package/dist/ripple/{p-1ac66a15.system.js → p-a9d89ac8.system.js} +1 -1
  211. package/dist/ripple/{p-a152cf3a.system.entry.js → p-aab56a37.system.entry.js} +1 -1
  212. package/dist/ripple/{p-79106e23.system.entry.js → p-ac40417b.system.entry.js} +1 -1
  213. package/dist/ripple/{p-ffb31979.system.entry.js → p-b0c566b5.system.entry.js} +1 -1
  214. package/dist/ripple/p-b41ef3db.entry.js +1 -0
  215. package/dist/ripple/p-b7307be6.system.entry.js +1 -0
  216. package/dist/ripple/p-b80d9402.system.entry.js +1 -0
  217. package/dist/ripple/p-b8168f35.system.entry.js +1 -0
  218. package/dist/ripple/{p-dbc112a6.entry.js → p-bcff8b3a.entry.js} +1 -1
  219. package/dist/ripple/p-c2181de0.entry.js +1 -0
  220. package/dist/ripple/{p-88ebddd7.entry.js → p-cd0cc88d.entry.js} +1 -1
  221. package/dist/ripple/p-cef8a45b.system.js +2 -0
  222. package/dist/ripple/p-d5ba9de1.system.entry.js +1 -0
  223. package/dist/ripple/{p-df1a11f1.system.entry.js → p-d93c51dd.system.entry.js} +1 -1
  224. package/dist/ripple/p-d9da0502.js +2 -0
  225. package/dist/ripple/p-e2fe86a7.system.entry.js +1 -0
  226. package/dist/ripple/p-e85b1f40.entry.js +1 -0
  227. package/dist/ripple/p-ea0dfadf.system.entry.js +1 -0
  228. package/dist/ripple/p-eb14b354.entry.js +1 -0
  229. package/dist/ripple/p-ecb6c756.entry.js +1 -0
  230. package/dist/ripple/p-f09e2c22.entry.js +1 -0
  231. package/dist/ripple/p-f17fd62b.entry.js +1 -0
  232. package/dist/ripple/{p-d79fdf0b.js → p-f54e9ed0.js} +1 -1
  233. package/dist/ripple/p-fabe4ca4.entry.js +1 -0
  234. package/dist/ripple/{p-5d0e2006.system.entry.js → p-fc529ba1.system.entry.js} +1 -1
  235. package/dist/ripple/ripple.esm.js +1 -1
  236. package/dist/ripple/ripple.js +1 -1
  237. package/dist/types/stencil-public-runtime.d.ts +3 -10
  238. package/package.json +2 -2
  239. package/dist/cjs/index-e86c28b6.js +0 -2641
  240. package/dist/collection/components/charts/chartFunctions.spec.js +0 -16
  241. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +0 -81
  242. package/dist/collection/components/charts/screenshots.e2e.js +0 -96
  243. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +0 -213
  244. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +0 -37
  245. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +0 -176
  246. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +0 -163
  247. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +0 -69
  248. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +0 -79
  249. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +0 -89
  250. package/dist/collection/components/datepickers/wm-date-range.e2e.js +0 -443
  251. package/dist/collection/components/datepickers/wm-date-range.spec.js +0 -22
  252. package/dist/collection/components/datepickers/wm-datepicker.e2e.js +0 -382
  253. package/dist/collection/components/datepickers/wm-datepicker.spec.js +0 -21
  254. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +0 -200
  255. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +0 -48
  256. package/dist/collection/components/wm-button/wm-button.e2e.js +0 -55
  257. package/dist/collection/components/wm-button/wm-button.spec.js +0 -74
  258. package/dist/collection/components/wm-file/wm-file.spec.js +0 -194
  259. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +0 -69
  260. package/dist/collection/components/wm-input/wm-input.e2e.js +0 -32
  261. package/dist/collection/components/wm-input/wm-input.spec.js +0 -173
  262. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +0 -23
  263. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +0 -54
  264. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +0 -11
  265. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +0 -8
  266. package/dist/collection/components/wm-modal/wm-modal.e2e.js +0 -104
  267. package/dist/collection/components/wm-modal/wm-modal.spec.js +0 -30
  268. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +0 -102
  269. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +0 -91
  270. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +0 -50
  271. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +0 -209
  272. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +0 -177
  273. package/dist/collection/components/wm-option/wm-option.e2e.js +0 -22
  274. package/dist/collection/components/wm-option/wm-option.spec.js +0 -63
  275. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +0 -312
  276. package/dist/collection/components/wm-search/wm-search.e2e.js +0 -76
  277. package/dist/collection/components/wm-search/wm-search.spec.js +0 -71
  278. package/dist/collection/components/wm-select/wm-select.e2e.js +0 -521
  279. package/dist/collection/components/wm-select/wm-select.spec.js +0 -271
  280. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +0 -112
  281. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +0 -9
  282. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +0 -91
  283. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +0 -12
  284. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +0 -204
  285. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +0 -195
  286. package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +0 -41
  287. package/dist/collection/components/wm-textarea/wm-textarea.spec.js +0 -79
  288. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +0 -163
  289. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +0 -147
  290. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +0 -69
  291. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +0 -21
  292. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +0 -70
  293. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +0 -234
  294. package/dist/collection/global/functions.spec.js +0 -126
  295. package/dist/collection/lang/lang.spec.js +0 -20
  296. package/dist/esm/index-558b5a82.js +0 -2610
  297. package/dist/esm-es5/functions-46843ea0.js +0 -1
  298. package/dist/esm-es5/global-861eb453.js +0 -1
  299. package/dist/esm-es5/index-558b5a82.js +0 -1
  300. package/dist/ripple/p-011477e2.entry.js +0 -1
  301. package/dist/ripple/p-021ff5fa.system.entry.js +0 -1
  302. package/dist/ripple/p-057ec1e4.js +0 -1
  303. package/dist/ripple/p-09a31f0c.entry.js +0 -1
  304. package/dist/ripple/p-0ea8609b.system.entry.js +0 -1
  305. package/dist/ripple/p-240124b0.system.entry.js +0 -1
  306. package/dist/ripple/p-26fbc7f5.system.entry.js +0 -1
  307. package/dist/ripple/p-294b38ca.system.entry.js +0 -1
  308. package/dist/ripple/p-2b05bf05.entry.js +0 -1
  309. package/dist/ripple/p-311923b2.system.entry.js +0 -1
  310. package/dist/ripple/p-31976813.entry.js +0 -1
  311. package/dist/ripple/p-33679b9d.entry.js +0 -1
  312. package/dist/ripple/p-34b5830f.system.js +0 -1
  313. package/dist/ripple/p-3568472c.entry.js +0 -1
  314. package/dist/ripple/p-3b8b1b44.system.entry.js +0 -1
  315. package/dist/ripple/p-4a6854d3.system.entry.js +0 -1
  316. package/dist/ripple/p-4c8db09c.system.entry.js +0 -1
  317. package/dist/ripple/p-4d0b1890.entry.js +0 -1
  318. package/dist/ripple/p-568c595f.js +0 -2
  319. package/dist/ripple/p-62a8f09c.entry.js +0 -1
  320. package/dist/ripple/p-6885d780.system.js +0 -1
  321. package/dist/ripple/p-7e6f5a1e.system.entry.js +0 -1
  322. package/dist/ripple/p-822618d7.entry.js +0 -1
  323. package/dist/ripple/p-825bd63b.entry.js +0 -1
  324. package/dist/ripple/p-884294c6.entry.js +0 -1
  325. package/dist/ripple/p-8fbddb6c.system.entry.js +0 -1
  326. package/dist/ripple/p-902a54c5.entry.js +0 -1
  327. package/dist/ripple/p-905dd4da.system.entry.js +0 -1
  328. package/dist/ripple/p-99c24568.system.entry.js +0 -1
  329. package/dist/ripple/p-a03f7141.entry.js +0 -1
  330. package/dist/ripple/p-a27d2177.entry.js +0 -1
  331. package/dist/ripple/p-a8524a48.entry.js +0 -1
  332. package/dist/ripple/p-ab8d78cc.system.js +0 -2
  333. package/dist/ripple/p-ade3d9a9.entry.js +0 -1
  334. package/dist/ripple/p-b2dac998.system.entry.js +0 -1
  335. package/dist/ripple/p-bc5e9d24.entry.js +0 -1
  336. package/dist/ripple/p-bd6b8cf2.system.js +0 -1
  337. package/dist/ripple/p-bf636261.entry.js +0 -1
  338. package/dist/ripple/p-c47811a2.entry.js +0 -1
  339. package/dist/ripple/p-c4b9d46d.entry.js +0 -1
  340. package/dist/ripple/p-c885c7f9.entry.js +0 -1
  341. package/dist/ripple/p-c9543950.system.entry.js +0 -1
  342. package/dist/ripple/p-cacfbaf1.system.entry.js +0 -1
  343. package/dist/ripple/p-d24882a7.system.entry.js +0 -1
  344. package/dist/ripple/p-d33d6e96.system.entry.js +0 -1
  345. package/dist/ripple/p-df2560f3.system.entry.js +0 -1
  346. package/dist/ripple/p-e3bcdde8.system.entry.js +0 -1
  347. package/dist/ripple/p-e83a98d3.entry.js +0 -1
  348. package/dist/ripple/p-e995f7f0.js +0 -1
  349. package/dist/ripple/p-eaac6bcd.entry.js +0 -1
  350. package/dist/ripple/p-fd0aae67.system.entry.js +0 -1
@@ -1,204 +0,0 @@
1
- import AxePuppeteer from "@axe-core/puppeteer";
2
- import { newE2EPage } from "@stencil/core/testing";
3
- describe("wm-tag-input", () => {
4
- // ts throws erroneous warning about vars being unused...
5
- // @ts-ignore
6
- let page, el, input;
7
- beforeEach(async () => {
8
- page = await newE2EPage();
9
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
10
- <wm-tag-input label='label'>
11
- <wm-tag-option>One</wm-tag-option>
12
- <wm-tag-option>Two</wm-tag-option>
13
- <wm-tag-option>Three</wm-tag-option>
14
- </wm-tag-input>
15
- </main></body></html>`);
16
- el = await page.find("wm-tag-input");
17
- input = await page.find("wm-tag-input >>> input");
18
- await page.waitForChanges();
19
- });
20
- it("passes Axe checks", async () => {
21
- const results = await new AxePuppeteer(page).analyze();
22
- expect(results.violations.length).toBe(0);
23
- });
24
- it.skip("uses Enter and Comma to add a new tag", async () => {
25
- page = await newE2EPage();
26
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
27
- <wm-tag-input label='label'></wm-tag-input>
28
- </main></body></html>`);
29
- await page.waitForChanges();
30
- await page.keyboard.press("Tab");
31
- await page.waitForChanges();
32
- await page.keyboard.type("Hello");
33
- await page.waitForChanges();
34
- await page.keyboard.press("Enter");
35
- await page.waitForChanges();
36
- let tags = await page.findAll("wm-tag-input >>> .tag");
37
- expect(tags[0].textContent).toBe("Hello");
38
- await page.keyboard.type("Apple");
39
- await page.waitForChanges();
40
- await page.keyboard.type(",");
41
- await page.waitForChanges();
42
- tags = await page.findAll("wm-tag-input >>> .tag");
43
- expect(tags[1].textContent).toBe("Apple");
44
- // it clears the input when adding a tag
45
- const input = await page.find("wm-tag-input >>> input");
46
- const inputValue = await input.getProperty("value");
47
- expect(inputValue).toBe("");
48
- // it includes user-added options in the dropdown
49
- const listItems = await page.findAll("wm-tag-input >>> .option");
50
- expect(listItems[0].textContent).toBe("Apple");
51
- expect(listItems[1].textContent).toBe("Hello");
52
- // it shows tags in the order they are added
53
- await page.keyboard.type("Third");
54
- await page.waitForChanges();
55
- await page.keyboard.press("Enter");
56
- await page.waitForChanges();
57
- tags = await page.findAll("wm-tag-input >>> .tag");
58
- expect(tags[0].textContent).toBe("Hello");
59
- expect(tags[1].textContent).toBe("Apple");
60
- expect(tags[2].textContent).toBe("Third");
61
- });
62
- it("displays column1 text instead of id for table variant", async () => {
63
- page = await newE2EPage();
64
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
65
- <wm-tag-input
66
- tag-input-type="table"
67
- label="Share Access"
68
- col-headers="Name,Email,Role"
69
- col-widths=",40%,20%"
70
- col-wrap="wrap,trunc,wrap"
71
- >
72
- <wm-tag-option selected id="johnprice1" col1="John Price" col2="john.price1@university.edu" col3="Admin" locked></wm-tag-option>
73
- <wm-tag-option id="johnprice2" col1="John Price" col2="john.price2@university.edu" col3="Faculty"></wm-tag-option>
74
- <wm-tag-option id="samsandwich" col1="Sam Sandwich" col2="sam.sandwich@university.edu" col3="Faculty"></wm-tag-option>
75
- </wm-tag-input>
76
- </main></body></html>`);
77
- await page.waitForChanges();
78
- let tagTextList = await page.findAll("wm-tag-input >>> .tag-text");
79
- expect(tagTextList[0].textContent).toBe("John Price");
80
- });
81
- it("does not allow adding tags if add-new prop is false", async () => {
82
- page = await newE2EPage();
83
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
84
- <wm-tag-input label='label' add-new="false"></wm-tag-input>
85
- </main></body></html>`);
86
- await page.keyboard.press("Tab");
87
- await page.waitForChanges();
88
- await page.keyboard.press("Tab");
89
- await page.waitForChanges();
90
- await page.keyboard.type("New Tag");
91
- await page.waitForChanges();
92
- await page.keyboard.press("Enter");
93
- await page.waitForChanges();
94
- const tags = await page.findAll("wm-tag-input >>> .tag");
95
- expect(tags.length).toBe(0);
96
- });
97
- it("does not allow duplicate tags to be added", async () => {
98
- page = await newE2EPage();
99
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
100
- <wm-tag-input label='label'>
101
- <wm-tag-option selected>one</wm-tag-option>
102
- </wm-tag-input>
103
- </main></body></html>`);
104
- let tags = await page.findAll("wm-tag-input >>> .tag");
105
- expect(tags.length).toBe(1);
106
- await page.keyboard.press("Tab");
107
- await page.waitForChanges();
108
- await page.keyboard.press("Tab");
109
- await page.waitForChanges();
110
- await page.keyboard.type("one");
111
- await page.waitForChanges();
112
- await page.keyboard.press("Enter");
113
- await page.waitForChanges();
114
- await page.keyboard.press("Delete");
115
- await page.keyboard.press("Delete");
116
- await page.keyboard.press("Delete");
117
- await page.waitForChanges();
118
- // it is case insensitive
119
- await page.keyboard.type("OnE");
120
- await page.waitForChanges();
121
- await page.keyboard.press("Enter");
122
- await page.waitForChanges();
123
- expect(tags.length).toBe(1);
124
- });
125
- it("opens dropdown when input field is focused", async () => {
126
- const dropdown = await page.find("wm-tag-input >>> .dropdown-wrapper");
127
- expect(dropdown).not.toHaveClass("open");
128
- await input.focus();
129
- expect(dropdown).toHaveClass("open");
130
- });
131
- it("closes dropdown", async () => {
132
- //
133
- // when pressing escape twice
134
- // when clicking outside of component
135
- // when tabbing out of component
136
- // not while tabbing inside of component
137
- });
138
- it("renders the add new button when typing in the input", async () => { });
139
- it("removes only user-added tags from the dropdown", async () => {
140
- // Removing a pre-existing tag will have it still in the dropdown
141
- // removing a user-added tag will remove it from the dropdown
142
- });
143
- it("navigates the dropdown with arrow keys", async () => {
144
- let options = await page.findAll("wm-tag-input >>> .option");
145
- await page.keyboard.press("Tab");
146
- await page.waitForChanges();
147
- await page.keyboard.press("ArrowDown");
148
- await page.waitForChanges();
149
- expect(options[0]).toHaveClass("focused");
150
- expect(options[1]).not.toHaveClass("focused");
151
- expect(options[2]).not.toHaveClass("focused");
152
- await page.keyboard.press("ArrowDown");
153
- await page.waitForChanges();
154
- expect(options[0]).not.toHaveClass("focused");
155
- expect(options[1]).toHaveClass("focused");
156
- expect(options[2]).not.toHaveClass("focused");
157
- await page.keyboard.press("ArrowDown");
158
- await page.waitForChanges();
159
- expect(options[0]).not.toHaveClass("focused");
160
- expect(options[1]).not.toHaveClass("focused");
161
- expect(options[2]).toHaveClass("focused");
162
- await page.keyboard.press("ArrowDown");
163
- await page.waitForChanges();
164
- expect(options[0]).toHaveClass("focused");
165
- expect(options[1]).not.toHaveClass("focused");
166
- expect(options[2]).not.toHaveClass("focused");
167
- await page.keyboard.press("ArrowUp");
168
- await page.waitForChanges();
169
- expect(options[0]).not.toHaveClass("focused");
170
- expect(options[1]).not.toHaveClass("focused");
171
- expect(options[2]).toHaveClass("focused");
172
- });
173
- it("navigates tags with left and right keys", async () => {
174
- page = await newE2EPage();
175
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
176
- <wm-tag-input label='label'>
177
- <wm-tag-option selected>One</wm-tag-option>
178
- <wm-tag-option selected>Two</wm-tag-option>
179
- <wm-tag-option selected>Three</wm-tag-option>
180
- </wm-tag-input>
181
- </main></body></html>`);
182
- let tags = await page.findAll("wm-tag-input >>> .tag");
183
- await page.keyboard.press("Tab");
184
- await page.waitForChanges();
185
- expect(tags[0]).toHaveClass("focused");
186
- expect(tags[1]).not.toHaveClass("focused");
187
- expect(tags[2]).not.toHaveClass("focused");
188
- await page.keyboard.press("ArrowRight");
189
- await page.waitForChanges();
190
- expect(tags[0]).not.toHaveClass("focused");
191
- expect(tags[1]).toHaveClass("focused");
192
- expect(tags[2]).not.toHaveClass("focused");
193
- await page.keyboard.press("ArrowLeft");
194
- await page.waitForChanges();
195
- expect(tags[0]).toHaveClass("focused");
196
- expect(tags[1]).not.toHaveClass("focused");
197
- expect(tags[2]).not.toHaveClass("focused");
198
- await page.keyboard.press("ArrowLeft");
199
- await page.waitForChanges();
200
- expect(tags[0]).not.toHaveClass("focused");
201
- expect(tags[1]).not.toHaveClass("focused");
202
- expect(tags[2]).toHaveClass("focused");
203
- });
204
- });
@@ -1,195 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { TagInput } from "./wm-tag-input";
3
- import { TagOption } from "./wm-tag-option/wm-tag-option";
4
- import * as globalFuncs from "../../global/functions";
5
- jest.spyOn(globalFuncs, "generateId");
6
- // @ts-ignore
7
- globalFuncs.generateId.mockImplementation(() => "random-id");
8
- // mock observers
9
- global.ResizeObserver = jest.fn().mockImplementation(() => ({
10
- observe: jest.fn(),
11
- unobserve: jest.fn(),
12
- disconnect: jest.fn(),
13
- }));
14
- global.MutationObserver = jest.fn().mockImplementation(() => ({
15
- observe: jest.fn(),
16
- unobserve: jest.fn(),
17
- disconnect: jest.fn(),
18
- }));
19
- // mockComputedStyle, component measures the placeholder on render to properly position the input
20
- global.getComputedStyle = jest
21
- .fn()
22
- .mockImplementation(() => ({
23
- paddingLeft: "0px",
24
- paddingRight: "0px",
25
- marginLeft: "0px",
26
- marginRight: "0px",
27
- }));
28
- describe("taginput", () => {
29
- let page;
30
- beforeEach(async () => {
31
- page = await newSpecPage({
32
- components: [TagInput, TagOption],
33
- html: `<wm-tag-input id="input" label="label">
34
- <wm-tag-option>one</wm-tag-option>
35
- <wm-tag-option>two</wm-tag-option>
36
- <wm-tag-option>three</wm-tag-option>
37
- <wm-tag-option>four</wm-tag-option>
38
- </wm-tag-input>`,
39
- });
40
- });
41
- it("builds", async () => {
42
- expect(page.root).toMatchSnapshot();
43
- });
44
- it("has right aria roles", async () => {
45
- page = await newSpecPage({
46
- components: [TagInput, TagOption],
47
- html: `<wm-tag-input label="label" info="info text">
48
- <wm-tag-option selected>one</wm-tag-option>
49
- <wm-tag-option>two</wm-tag-option>
50
- <wm-tag-option selected>three</wm-tag-option>
51
- <wm-tag-option>four</wm-tag-option>
52
- </wm-tag-input>`,
53
- });
54
- const label = await page.root.shadowRoot.querySelector("label");
55
- expect(label.textContent).toBe("label");
56
- const input = await page.root.shadowRoot.querySelector("input");
57
- expect(input).toEqualAttribute("role", "combobox");
58
- expect(input).toEqualAttribute("aria-label", "label 50 characters allowed.");
59
- const helpText = await page.root.shadowRoot.querySelector(".help-text");
60
- expect(input).toEqualAttribute("aria-describedby", helpText.id);
61
- const dropdown = await page.root.shadowRoot.querySelector(".dropdown");
62
- expect(dropdown).toEqualAttribute("role", "listbox");
63
- expect(dropdown).toHaveAttribute("aria-multiselectable");
64
- const options = await page.root.shadowRoot.querySelectorAll(".option");
65
- options.forEach((option) => {
66
- expect(option).toEqualAttribute("role", "option");
67
- });
68
- const tagArea = await page.root.shadowRoot.querySelector(".tag-area");
69
- expect(tagArea).toEqualAttribute("role", "listbox");
70
- expect(tagArea).toEqualAttribute("aria-label", "label tag selection. Press Backspace or Delete to remove a tag.");
71
- expect(tagArea).toEqualAttribute("aria-describedby", "info max-tags");
72
- expect(tagArea).toEqualAttribute("aria-orientation", "horizontal");
73
- const tags = await page.root.shadowRoot.querySelectorAll(".tag");
74
- tags.forEach((tag) => {
75
- expect(tag).toEqualAttribute("role", "option");
76
- });
77
- });
78
- it("changes help text when options are not provided", async () => {
79
- // not editable with options
80
- page = await newSpecPage({
81
- components: [TagInput, TagOption],
82
- html: `<wm-tag-input label="label" add-new="false">
83
- <wm-tag-option>One</wm-tag-option>
84
- <wm-tag-option>Two</wm-tag-option>
85
- <wm-tag-option>Three</wm-tag-option>
86
- </wm-tag-input>`,
87
- });
88
- const el = page.root;
89
- let helpText = await el.shadowRoot.querySelector(".help-text");
90
- expect(helpText.textContent).toBe("Search and select a tag.");
91
- // editable with options
92
- page = await newSpecPage({
93
- components: [TagInput, TagOption],
94
- html: `<wm-tag-input label="label">
95
- <wm-tag-option>One</wm-tag-option>
96
- <wm-tag-option>Two</wm-tag-option>
97
- <wm-tag-option>Three</wm-tag-option>
98
- </wm-tag-input>`,
99
- });
100
- helpText = await page.root.shadowRoot.querySelector(".help-text");
101
- expect(helpText.textContent).toBe("Search and select a tag. Press the Enter or Comma key to add a new tag.");
102
- // editable without options
103
- page = await newSpecPage({
104
- components: [TagInput, TagOption],
105
- html: `<wm-tag-input label="label"></wm-tag-input>`,
106
- });
107
- helpText = await page.root.shadowRoot.querySelector(".help-text");
108
- expect(helpText.textContent).toBe(" Press the Enter or Comma key to add a new tag.");
109
- });
110
- it("shows the appropriate default placeholder text", async () => {
111
- // editable with options
112
- await page.setContent(`<wm-tag-input label="label">
113
- <wm-tag-option>One</wm-tag-option>
114
- <wm-tag-option>Two</wm-tag-option>
115
- </wm-tag-input>`);
116
- let input = await page.root.shadowRoot.querySelector("input");
117
- expect(input).toEqualAttribute("placeholder", "Add or search for a tag");
118
- // editable without options
119
- page = await newSpecPage({
120
- components: [TagInput, TagOption],
121
- html: `<wm-tag-input label="label"></wm-tag-input>`,
122
- });
123
- input = await page.root.shadowRoot.querySelector("input");
124
- expect(input).toEqualAttribute("placeholder", "Add a new tag");
125
- // not editable
126
- page = await newSpecPage({
127
- components: [TagInput, TagOption],
128
- html: `<wm-tag-input label="label" add-new="false">
129
- <wm-tag-option>One</wm-tag-option>
130
- <wm-tag-option>Two</wm-tag-option>
131
- <wm-tag-option>Three</wm-tag-option>
132
- </wm-tag-input>`,
133
- });
134
- input = await page.root.shadowRoot.querySelector("input");
135
- expect(input).toEqualAttribute("placeholder", "Search and select a tag");
136
- });
137
- it("throws error if no label prop is passed", async () => {
138
- const mockConsoleError = (console.error = jest.fn());
139
- await page.setContent(`<wm-tag-input></wm-tag-input>`);
140
- expect(mockConsoleError).toHaveBeenCalledWith("wm-tag-input must have a label property");
141
- jest.restoreAllMocks();
142
- });
143
- describe("handles announcements", () => {
144
- it("announces live region notifications", async () => {
145
- // announce
146
- const component = new TagInput();
147
- const div = document.createElement("div");
148
- div.textContent = "";
149
- //@ts-ignore
150
- component.liveRegionEl = div;
151
- component.announce("Message");
152
- expect(component.liveRegionMessage).toBe("Message");
153
- });
154
- it("announces existing options", async () => {
155
- // announceExistingOptions
156
- const component = new TagInput();
157
- const element1 = {};
158
- const element2 = {};
159
- const mockAnnounce = (component.announce = jest.fn());
160
- jest.spyOn(component, "optionEls", "get").mockReturnValue([element1, element2]);
161
- const spyRequestAnimationFrame = jest
162
- .spyOn(window, "requestAnimationFrame")
163
- //@ts-ignore
164
- .mockImplementation((cb) => cb());
165
- component.announceExistingOptions();
166
- expect(spyRequestAnimationFrame).toHaveBeenCalledTimes(1);
167
- expect(mockAnnounce).toHaveBeenCalledTimes(1);
168
- expect(mockAnnounce).toHaveBeenLastCalledWith("2 existing options.");
169
- jest.clearAllMocks();
170
- jest.spyOn(component, "optionEls", "get").mockReturnValue([element1]);
171
- component.announceExistingOptions();
172
- expect(spyRequestAnimationFrame).toHaveBeenCalledTimes(1);
173
- expect(mockAnnounce).toHaveBeenCalledTimes(1);
174
- expect(mockAnnounce).toHaveBeenLastCalledWith("1 existing option.");
175
- jest.clearAllMocks();
176
- jest.spyOn(component, "optionEls", "get").mockReturnValue([]);
177
- component.announceExistingOptions();
178
- expect(spyRequestAnimationFrame).toHaveBeenCalledTimes(1);
179
- expect(mockAnnounce).toHaveBeenCalledTimes(1);
180
- expect(mockAnnounce).toHaveBeenLastCalledWith("0 existing options.");
181
- jest.restoreAllMocks();
182
- });
183
- it("announces character limits warnings", async () => {
184
- const component = new TagInput();
185
- let message = component.generateCharacterLimitWarning(0, 50);
186
- expect(message).toBe("0 of 50 characters entered.");
187
- message = component.generateCharacterLimitWarning(30, 50);
188
- expect(message).toBe("30 of 50 characters entered.");
189
- message = component.generateCharacterLimitWarning(50, 50);
190
- expect(message).toBe("50 of 50 characters entered. No additional characters will be entered.");
191
- message = component.generateCharacterLimitWarning(75, 50);
192
- expect(message).toBe("75 of 50 characters entered. No additional characters will be entered.");
193
- });
194
- });
195
- });
@@ -1,41 +0,0 @@
1
- import AxePuppeteer from "@axe-core/puppeteer";
2
- import { newE2EPage } from "@stencil/core/testing";
3
- describe("wm-textarea", () => {
4
- // ts throws erroneous warning about vars being unused...
5
- // @ts-ignore
6
- let page, el, textarea;
7
- beforeEach(async () => {
8
- page = await newE2EPage();
9
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
10
- <wm-textarea label='label' character-limit="20"></wm-textarea>
11
- </main></body></html>`);
12
- el = await page.find("wm-textarea");
13
- textarea = await page.find("wm-textarea >>> textarea");
14
- await page.waitForChanges();
15
- });
16
- it("passes Axe checks", async () => {
17
- const results = await new AxePuppeteer(page).analyze();
18
- expect(results.violations.length).toBe(0);
19
- });
20
- it("updates character count on text entry", async () => {
21
- await page.keyboard.press("Tab");
22
- await page.keyboard.type("1234");
23
- await page.waitForChanges();
24
- const characterCount = await page.find("wm-textarea >>> .character-count");
25
- expect(characterCount.textContent).toBe("4/20");
26
- });
27
- it("emits event on value change", async () => {
28
- const eventSpy = await el.spyOnEvent("wmTextareaValueChanged");
29
- await el.focus();
30
- await page.keyboard.type("1234");
31
- await page.waitForChanges();
32
- expect(eventSpy).toHaveReceivedEventTimes(0);
33
- await page.keyboard.press("Tab");
34
- expect(eventSpy).toHaveReceivedEventTimes(1);
35
- await el.focus();
36
- await page.keyboard.press("Tab");
37
- await page.waitForChanges();
38
- // expect event to still have fired only once, because value has not changed
39
- expect(eventSpy).toHaveReceivedEventTimes(1);
40
- });
41
- });
@@ -1,79 +0,0 @@
1
- import { newSpecPage } from "@stencil/core/testing";
2
- import { Textarea } from "./wm-textarea";
3
- // mock observers
4
- // global.ResizeObserver = jest.fn().mockImplementation(() => ({
5
- // observe: jest.fn(),
6
- // unobserve: jest.fn(),
7
- // disconnect: jest.fn(),
8
- // }));
9
- // global.MutationObserver = jest.fn().mockImplementation(() => ({
10
- // observe: jest.fn(),
11
- // unobserve: jest.fn(),
12
- // disconnect: jest.fn(),
13
- // }));
14
- describe("textarea", () => {
15
- let page;
16
- let component;
17
- beforeEach(async () => {
18
- page = await newSpecPage({
19
- components: [Textarea],
20
- html: `<wm-textarea id="textarea" label="label"></wm-textarea>`,
21
- });
22
- component = page.root;
23
- });
24
- it("builds", async () => {
25
- expect(page.root).toMatchSnapshot();
26
- });
27
- it("has right aria roles", async () => {
28
- page = await newSpecPage({
29
- components: [Textarea],
30
- html: `<wm-textarea id="textarea" label="label" disabled required-field></wm-textarea>`,
31
- });
32
- const textarea = await page.root.shadowRoot.querySelector("textarea");
33
- expect(textarea).toEqualAttribute("aria-describedby", "info error");
34
- expect(textarea).toHaveAttribute("disabled");
35
- const error = await page.root.shadowRoot.querySelector("#error");
36
- expect(error).toEqualAttribute("aria-live", "assertive");
37
- const livePolite = await page.root.shadowRoot.querySelector("#live-polite");
38
- expect(livePolite).toEqualAttribute("aria-live", "polite");
39
- });
40
- it("sets initial value from textcontent", async () => {
41
- page = await newSpecPage({
42
- components: [Textarea],
43
- html: `<wm-textarea id="textarea" label="label">Initial value</wm-textarea>`,
44
- });
45
- component = page.root;
46
- expect(component.value).toBe("Initial value");
47
- });
48
- it("renders character limit", async () => {
49
- page = await newSpecPage({
50
- components: [Textarea],
51
- html: `<wm-textarea id="textarea" label="label" character-limit="20">Hello</wm-textarea>`,
52
- });
53
- component = page.root;
54
- const characterLimitArea = await page.root.shadowRoot.querySelector(".character-count");
55
- expect(characterLimitArea.textContent).toBe("5/20");
56
- });
57
- it("properties override height and width", async () => {
58
- page = await newSpecPage({
59
- components: [Textarea],
60
- html: `<wm-textarea id="textarea" label="label" input-width="200px" input-height="300px"></wm-textarea>`,
61
- });
62
- component = page.root;
63
- const textarea = await component.shadowRoot.querySelector("textarea");
64
- expect(textarea).toEqualAttribute("style", "height: 300px;");
65
- const widthWrapper = await component.shadowRoot.querySelector(".inputfield-wrapper");
66
- expect(widthWrapper).toEqualAttribute("style", "width: 200px;");
67
- });
68
- it("displays info and error-message properties", async () => {
69
- page = await newSpecPage({
70
- components: [Textarea],
71
- html: `<wm-textarea id="textarea" label="label" info="example info text" error-message="example error text"></wm-textarea>`,
72
- });
73
- component = page.root;
74
- const info = await component.shadowRoot.querySelector("#info");
75
- expect(info.textContent).toBe("example info text");
76
- const error = await component.shadowRoot.querySelector("#error");
77
- expect(error.textContent).toBe("example error text");
78
- });
79
- });