@watermarkinsights/ripple 5.12.0 → 5.13.0-alpha.2

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 (461) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/components/index.d.ts +33 -0
  4. package/dist/components/priv-calendar.d.ts +11 -0
  5. package/dist/components/priv-chart-popover.d.ts +11 -0
  6. package/dist/components/priv-navigator-button.d.ts +11 -0
  7. package/dist/components/priv-navigator-item.d.ts +11 -0
  8. package/dist/components/priv-option-list.d.ts +11 -0
  9. package/dist/components/wm-action-menu.d.ts +11 -0
  10. package/dist/components/wm-button.d.ts +11 -0
  11. package/dist/components/wm-chart-slice.d.ts +11 -0
  12. package/dist/components/wm-chart.d.ts +11 -0
  13. package/dist/components/wm-date-range.d.ts +11 -0
  14. package/dist/components/wm-datepicker.d.ts +11 -0
  15. package/dist/components/wm-file-list.d.ts +11 -0
  16. package/dist/components/wm-file.d.ts +11 -0
  17. package/dist/components/wm-input.d.ts +11 -0
  18. package/dist/components/wm-line-chart.d.ts +11 -0
  19. package/dist/components/wm-menuitem.d.ts +11 -0
  20. package/dist/components/wm-modal-footer.d.ts +11 -0
  21. package/dist/components/wm-modal-header.d.ts +11 -0
  22. package/dist/components/wm-modal-pss-footer.d.ts +11 -0
  23. package/dist/components/wm-modal-pss-header.d.ts +11 -0
  24. package/dist/components/wm-modal-pss.d.ts +11 -0
  25. package/dist/components/wm-modal.d.ts +11 -0
  26. package/dist/components/wm-navigation-hamburger.d.ts +11 -0
  27. package/dist/components/wm-navigation-item.d.ts +11 -0
  28. package/dist/components/wm-navigation.d.ts +11 -0
  29. package/dist/components/wm-navigator.d.ts +11 -0
  30. package/dist/components/wm-nested-select.d.ts +11 -0
  31. package/dist/components/wm-optgroup.d.ts +11 -0
  32. package/dist/components/wm-option.d.ts +11 -0
  33. package/dist/components/wm-pagination.d.ts +11 -0
  34. package/dist/components/wm-progress-indicator.d.ts +11 -0
  35. package/dist/components/wm-progress-monitor.d.ts +11 -0
  36. package/dist/components/wm-progress-slice.d.ts +11 -0
  37. package/dist/components/wm-search.d.ts +11 -0
  38. package/dist/components/wm-select.d.ts +11 -0
  39. package/dist/components/wm-snackbar.d.ts +11 -0
  40. package/dist/components/wm-tab-item.d.ts +11 -0
  41. package/dist/components/wm-tab-list.d.ts +11 -0
  42. package/dist/components/wm-tab-panel.d.ts +11 -0
  43. package/dist/components/wm-tag-input.d.ts +11 -0
  44. package/dist/components/wm-tag-option.d.ts +11 -0
  45. package/dist/components/wm-textarea.d.ts +11 -0
  46. package/dist/components/wm-timepicker.d.ts +11 -0
  47. package/dist/components/wm-toggletip.d.ts +11 -0
  48. package/dist/components/wm-uploader.d.ts +11 -0
  49. package/dist/components/wm-wrapper.d.ts +11 -0
  50. package/dist/types/stencil-public-runtime.d.ts +31 -10
  51. package/package.json +4 -8
  52. package/dist/cjs/chartFunctions-a1981e06.js +0 -732
  53. package/dist/cjs/functions-4b187487.js +0 -9679
  54. package/dist/cjs/global-4e034486.js +0 -85
  55. package/dist/cjs/index-e86c28b6.js +0 -2649
  56. package/dist/cjs/index.cjs.js +0 -2
  57. package/dist/cjs/interfaces-85d78ae9.js +0 -37
  58. package/dist/cjs/intl-7fd0760e.js +0 -283
  59. package/dist/cjs/loader.cjs.js +0 -14
  60. package/dist/cjs/priv-calendar.cjs.entry.js +0 -573
  61. package/dist/cjs/priv-chart-popover.cjs.entry.js +0 -139
  62. package/dist/cjs/priv-navigator-button.cjs.entry.js +0 -28
  63. package/dist/cjs/priv-navigator-item.cjs.entry.js +0 -34
  64. package/dist/cjs/priv-option-list.cjs.entry.js +0 -392
  65. package/dist/cjs/ripple.cjs.js +0 -24
  66. package/dist/cjs/wm-action-menu_2.cjs.entry.js +0 -333
  67. package/dist/cjs/wm-button.cjs.entry.js +0 -206
  68. package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -27
  69. package/dist/cjs/wm-chart.cjs.entry.js +0 -162
  70. package/dist/cjs/wm-date-range.cjs.entry.js +0 -483
  71. package/dist/cjs/wm-datepicker.cjs.entry.js +0 -253
  72. package/dist/cjs/wm-file-list.cjs.entry.js +0 -22
  73. package/dist/cjs/wm-file.cjs.entry.js +0 -193
  74. package/dist/cjs/wm-input.cjs.entry.js +0 -124
  75. package/dist/cjs/wm-line-chart.cjs.entry.js +0 -460
  76. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +0 -214
  77. package/dist/cjs/wm-modal_3.cjs.entry.js +0 -212
  78. package/dist/cjs/wm-navigation_3.cjs.entry.js +0 -185
  79. package/dist/cjs/wm-navigator.cjs.entry.js +0 -326
  80. package/dist/cjs/wm-nested-select.cjs.entry.js +0 -314
  81. package/dist/cjs/wm-optgroup.cjs.entry.js +0 -73
  82. package/dist/cjs/wm-option_2.cjs.entry.js +0 -425
  83. package/dist/cjs/wm-pagination.cjs.entry.js +0 -227
  84. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +0 -202
  85. package/dist/cjs/wm-search.cjs.entry.js +0 -193
  86. package/dist/cjs/wm-snackbar.cjs.entry.js +0 -181
  87. package/dist/cjs/wm-tab-item_3.cjs.entry.js +0 -260
  88. package/dist/cjs/wm-tag-input.cjs.entry.js +0 -891
  89. package/dist/cjs/wm-tag-option.cjs.entry.js +0 -43
  90. package/dist/cjs/wm-textarea.cjs.entry.js +0 -87
  91. package/dist/cjs/wm-timepicker.cjs.entry.js +0 -306
  92. package/dist/cjs/wm-toggletip.cjs.entry.js +0 -182
  93. package/dist/cjs/wm-uploader.cjs.entry.js +0 -324
  94. package/dist/cjs/wm-wrapper.cjs.entry.js +0 -21
  95. package/dist/collection/collection-manifest.json +0 -191
  96. package/dist/collection/components/charts/chartFunctions.js +0 -665
  97. package/dist/collection/components/charts/chartFunctions.spec.js +0 -16
  98. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +0 -908
  99. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +0 -81
  100. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +0 -257
  101. package/dist/collection/components/charts/screenshots.e2e.js +0 -96
  102. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +0 -125
  103. package/dist/collection/components/charts/wm-chart/wm-chart.css +0 -1274
  104. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +0 -213
  105. package/dist/collection/components/charts/wm-chart/wm-chart.js +0 -422
  106. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +0 -37
  107. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +0 -1067
  108. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +0 -176
  109. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +0 -723
  110. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +0 -163
  111. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +0 -1274
  112. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +0 -264
  113. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +0 -909
  114. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +0 -69
  115. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +0 -151
  116. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +0 -79
  117. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +0 -121
  118. package/dist/collection/components/datepickers/datepicker.css +0 -1043
  119. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +0 -1279
  120. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +0 -840
  121. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +0 -89
  122. package/dist/collection/components/datepickers/wm-date-range.e2e.js +0 -443
  123. package/dist/collection/components/datepickers/wm-date-range.js +0 -845
  124. package/dist/collection/components/datepickers/wm-date-range.spec.js +0 -22
  125. package/dist/collection/components/datepickers/wm-datepicker.e2e.js +0 -382
  126. package/dist/collection/components/datepickers/wm-datepicker.js +0 -520
  127. package/dist/collection/components/datepickers/wm-datepicker.spec.js +0 -21
  128. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +0 -918
  129. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +0 -778
  130. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +0 -1181
  131. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +0 -620
  132. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +0 -830
  133. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +0 -258
  134. package/dist/collection/components/selects/wm-option/wm-option.css +0 -931
  135. package/dist/collection/components/selects/wm-option/wm-option.e2e.js +0 -22
  136. package/dist/collection/components/selects/wm-option/wm-option.js +0 -530
  137. package/dist/collection/components/selects/wm-option/wm-option.spec.js +0 -63
  138. package/dist/collection/components/selects/wm-select/wm-select.css +0 -1104
  139. package/dist/collection/components/selects/wm-select/wm-select.e2e.js +0 -521
  140. package/dist/collection/components/selects/wm-select/wm-select.js +0 -584
  141. package/dist/collection/components/selects/wm-select/wm-select.spec.js +0 -271
  142. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -891
  143. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +0 -200
  144. package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -435
  145. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +0 -48
  146. package/dist/collection/components/wm-button/wm-button.css +0 -1261
  147. package/dist/collection/components/wm-button/wm-button.e2e.js +0 -55
  148. package/dist/collection/components/wm-button/wm-button.js +0 -489
  149. package/dist/collection/components/wm-button/wm-button.spec.js +0 -74
  150. package/dist/collection/components/wm-file/wm-file.css +0 -927
  151. package/dist/collection/components/wm-file/wm-file.js +0 -412
  152. package/dist/collection/components/wm-file/wm-file.spec.js +0 -194
  153. package/dist/collection/components/wm-file-list/wm-file-list.css +0 -820
  154. package/dist/collection/components/wm-file-list/wm-file-list.js +0 -45
  155. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +0 -69
  156. package/dist/collection/components/wm-input/wm-input.css +0 -992
  157. package/dist/collection/components/wm-input/wm-input.e2e.js +0 -32
  158. package/dist/collection/components/wm-input/wm-input.js +0 -471
  159. package/dist/collection/components/wm-input/wm-input.spec.js +0 -173
  160. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -891
  161. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +0 -23
  162. package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -419
  163. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +0 -54
  164. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -845
  165. package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -141
  166. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +0 -11
  167. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -844
  168. package/dist/collection/components/wm-modal/wm-modal-header.js +0 -78
  169. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +0 -8
  170. package/dist/collection/components/wm-modal/wm-modal.css +0 -891
  171. package/dist/collection/components/wm-modal/wm-modal.e2e.js +0 -104
  172. package/dist/collection/components/wm-modal/wm-modal.js +0 -350
  173. package/dist/collection/components/wm-modal/wm-modal.spec.js +0 -30
  174. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +0 -852
  175. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +0 -138
  176. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +0 -846
  177. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +0 -82
  178. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +0 -927
  179. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +0 -362
  180. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -847
  181. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +0 -119
  182. package/dist/collection/components/wm-navigation/wm-navigation-item.css +0 -856
  183. package/dist/collection/components/wm-navigation/wm-navigation-item.js +0 -98
  184. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -898
  185. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +0 -102
  186. package/dist/collection/components/wm-navigation/wm-navigation.js +0 -190
  187. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +0 -91
  188. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -849
  189. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +0 -50
  190. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -86
  191. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -830
  192. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -124
  193. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -903
  194. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +0 -209
  195. package/dist/collection/components/wm-navigator/wm-navigator.js +0 -496
  196. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +0 -177
  197. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -971
  198. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +0 -312
  199. package/dist/collection/components/wm-pagination/wm-pagination.js +0 -363
  200. package/dist/collection/components/wm-search/wm-search.css +0 -895
  201. package/dist/collection/components/wm-search/wm-search.e2e.js +0 -76
  202. package/dist/collection/components/wm-search/wm-search.js +0 -426
  203. package/dist/collection/components/wm-search/wm-search.spec.js +0 -71
  204. package/dist/collection/components/wm-snackbar/wm-snackbar.css +0 -1077
  205. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +0 -112
  206. package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -269
  207. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +0 -9
  208. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -868
  209. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -175
  210. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -840
  211. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -273
  212. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -825
  213. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -87
  214. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +0 -91
  215. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +0 -12
  216. package/dist/collection/components/wm-tag-input/wm-tag-input.css +0 -1275
  217. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +0 -204
  218. package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -1227
  219. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +0 -195
  220. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +0 -243
  221. package/dist/collection/components/wm-textarea/wm-textarea.css +0 -979
  222. package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +0 -41
  223. package/dist/collection/components/wm-textarea/wm-textarea.js +0 -313
  224. package/dist/collection/components/wm-textarea/wm-textarea.spec.js +0 -79
  225. package/dist/collection/components/wm-timepicker/wm-timepicker.css +0 -1093
  226. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +0 -163
  227. package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -544
  228. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +0 -147
  229. package/dist/collection/components/wm-toggletip/wm-toggletip.css +0 -1152
  230. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +0 -69
  231. package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -289
  232. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +0 -21
  233. package/dist/collection/components/wm-uploader/wm-uploader.css +0 -1563
  234. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +0 -70
  235. package/dist/collection/components/wm-uploader/wm-uploader.js +0 -603
  236. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +0 -234
  237. package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -28
  238. package/dist/collection/dev/button.js +0 -0
  239. package/dist/collection/dev/chart-small.js +0 -56
  240. package/dist/collection/dev/chart.js +0 -18
  241. package/dist/collection/dev/date-range.js +0 -6
  242. package/dist/collection/dev/datepicker.js +0 -46
  243. package/dist/collection/dev/file-list.js +0 -16
  244. package/dist/collection/dev/file.js +0 -0
  245. package/dist/collection/dev/input.js +0 -6
  246. package/dist/collection/dev/line-chart.js +0 -0
  247. package/dist/collection/dev/modal.js +0 -48
  248. package/dist/collection/dev/navigation.js +0 -13
  249. package/dist/collection/dev/navigator.js +0 -34
  250. package/dist/collection/dev/nested-select.js +0 -36
  251. package/dist/collection/dev/pagination.js +0 -7
  252. package/dist/collection/dev/progress-monitor.js +0 -0
  253. package/dist/collection/dev/pss-modal.js +0 -8
  254. package/dist/collection/dev/scripts.js +0 -49
  255. package/dist/collection/dev/search.js +0 -72
  256. package/dist/collection/dev/select.js +0 -57
  257. package/dist/collection/dev/snackbar.js +0 -54
  258. package/dist/collection/dev/tabs.js +0 -44
  259. package/dist/collection/dev/tag-input.js +0 -32
  260. package/dist/collection/dev/textarea.js +0 -28
  261. package/dist/collection/dev/timepicker.js +0 -32
  262. package/dist/collection/dev/toggletip.js +0 -9
  263. package/dist/collection/dev/uploader.js +0 -139
  264. package/dist/collection/global/__mocks__/functions.js +0 -6
  265. package/dist/collection/global/functions.js +0 -825
  266. package/dist/collection/global/functions.spec.js +0 -126
  267. package/dist/collection/global/global.js +0 -88
  268. package/dist/collection/global/interfaces.js +0 -51
  269. package/dist/collection/global/intl.js +0 -274
  270. package/dist/collection/global/services/__mocks__/http-service.js +0 -130
  271. package/dist/collection/global/services/http-service.js +0 -50
  272. package/dist/collection/lang/lang.js +0 -5
  273. package/dist/collection/lang/lang.spec.js +0 -20
  274. package/dist/collection/lang/missing.js +0 -43
  275. package/dist/collection/lang/piglatin.js +0 -101
  276. package/dist/esm/chartFunctions-9099c7e9.js +0 -715
  277. package/dist/esm/functions-00e1916b.js +0 -9639
  278. package/dist/esm/global-c76064cb.js +0 -83
  279. package/dist/esm/index-558b5a82.js +0 -2618
  280. package/dist/esm/index.js +0 -1
  281. package/dist/esm/interfaces-cc5b177f.js +0 -34
  282. package/dist/esm/intl-a6f16883.js +0 -277
  283. package/dist/esm/loader.js +0 -10
  284. package/dist/esm/polyfills/core-js.js +0 -11
  285. package/dist/esm/polyfills/dom.js +0 -79
  286. package/dist/esm/polyfills/es5-html-element.js +0 -1
  287. package/dist/esm/polyfills/index.js +0 -34
  288. package/dist/esm/polyfills/system.js +0 -6
  289. package/dist/esm/priv-calendar.entry.js +0 -569
  290. package/dist/esm/priv-chart-popover.entry.js +0 -135
  291. package/dist/esm/priv-navigator-button.entry.js +0 -24
  292. package/dist/esm/priv-navigator-item.entry.js +0 -30
  293. package/dist/esm/priv-option-list.entry.js +0 -388
  294. package/dist/esm/ripple.js +0 -19
  295. package/dist/esm/wm-action-menu_2.entry.js +0 -328
  296. package/dist/esm/wm-button.entry.js +0 -202
  297. package/dist/esm/wm-chart-slice.entry.js +0 -23
  298. package/dist/esm/wm-chart.entry.js +0 -158
  299. package/dist/esm/wm-date-range.entry.js +0 -479
  300. package/dist/esm/wm-datepicker.entry.js +0 -249
  301. package/dist/esm/wm-file-list.entry.js +0 -18
  302. package/dist/esm/wm-file.entry.js +0 -189
  303. package/dist/esm/wm-input.entry.js +0 -120
  304. package/dist/esm/wm-line-chart.entry.js +0 -456
  305. package/dist/esm/wm-modal-pss_3.entry.js +0 -208
  306. package/dist/esm/wm-modal_3.entry.js +0 -206
  307. package/dist/esm/wm-navigation_3.entry.js +0 -179
  308. package/dist/esm/wm-navigator.entry.js +0 -322
  309. package/dist/esm/wm-nested-select.entry.js +0 -310
  310. package/dist/esm/wm-optgroup.entry.js +0 -69
  311. package/dist/esm/wm-option_2.entry.js +0 -420
  312. package/dist/esm/wm-pagination.entry.js +0 -223
  313. package/dist/esm/wm-progress-indicator_3.entry.js +0 -196
  314. package/dist/esm/wm-search.entry.js +0 -189
  315. package/dist/esm/wm-snackbar.entry.js +0 -177
  316. package/dist/esm/wm-tab-item_3.entry.js +0 -254
  317. package/dist/esm/wm-tag-input.entry.js +0 -887
  318. package/dist/esm/wm-tag-option.entry.js +0 -39
  319. package/dist/esm/wm-textarea.entry.js +0 -83
  320. package/dist/esm/wm-timepicker.entry.js +0 -302
  321. package/dist/esm/wm-toggletip.entry.js +0 -178
  322. package/dist/esm/wm-uploader.entry.js +0 -320
  323. package/dist/esm/wm-wrapper.entry.js +0 -17
  324. package/dist/esm-es5/chartFunctions-9099c7e9.js +0 -1
  325. package/dist/esm-es5/functions-00e1916b.js +0 -1
  326. package/dist/esm-es5/global-c76064cb.js +0 -1
  327. package/dist/esm-es5/index-558b5a82.js +0 -1
  328. package/dist/esm-es5/index.js +0 -0
  329. package/dist/esm-es5/interfaces-cc5b177f.js +0 -1
  330. package/dist/esm-es5/intl-a6f16883.js +0 -1
  331. package/dist/esm-es5/loader.js +0 -1
  332. package/dist/esm-es5/priv-calendar.entry.js +0 -1
  333. package/dist/esm-es5/priv-chart-popover.entry.js +0 -1
  334. package/dist/esm-es5/priv-navigator-button.entry.js +0 -1
  335. package/dist/esm-es5/priv-navigator-item.entry.js +0 -1
  336. package/dist/esm-es5/priv-option-list.entry.js +0 -1
  337. package/dist/esm-es5/ripple.js +0 -1
  338. package/dist/esm-es5/wm-action-menu_2.entry.js +0 -1
  339. package/dist/esm-es5/wm-button.entry.js +0 -1
  340. package/dist/esm-es5/wm-chart-slice.entry.js +0 -1
  341. package/dist/esm-es5/wm-chart.entry.js +0 -1
  342. package/dist/esm-es5/wm-date-range.entry.js +0 -1
  343. package/dist/esm-es5/wm-datepicker.entry.js +0 -1
  344. package/dist/esm-es5/wm-file-list.entry.js +0 -1
  345. package/dist/esm-es5/wm-file.entry.js +0 -1
  346. package/dist/esm-es5/wm-input.entry.js +0 -1
  347. package/dist/esm-es5/wm-line-chart.entry.js +0 -1
  348. package/dist/esm-es5/wm-modal-pss_3.entry.js +0 -1
  349. package/dist/esm-es5/wm-modal_3.entry.js +0 -1
  350. package/dist/esm-es5/wm-navigation_3.entry.js +0 -1
  351. package/dist/esm-es5/wm-navigator.entry.js +0 -1
  352. package/dist/esm-es5/wm-nested-select.entry.js +0 -1
  353. package/dist/esm-es5/wm-optgroup.entry.js +0 -1
  354. package/dist/esm-es5/wm-option_2.entry.js +0 -1
  355. package/dist/esm-es5/wm-pagination.entry.js +0 -1
  356. package/dist/esm-es5/wm-progress-indicator_3.entry.js +0 -1
  357. package/dist/esm-es5/wm-search.entry.js +0 -1
  358. package/dist/esm-es5/wm-snackbar.entry.js +0 -1
  359. package/dist/esm-es5/wm-tab-item_3.entry.js +0 -1
  360. package/dist/esm-es5/wm-tag-input.entry.js +0 -1
  361. package/dist/esm-es5/wm-tag-option.entry.js +0 -1
  362. package/dist/esm-es5/wm-textarea.entry.js +0 -1
  363. package/dist/esm-es5/wm-timepicker.entry.js +0 -1
  364. package/dist/esm-es5/wm-toggletip.entry.js +0 -1
  365. package/dist/esm-es5/wm-uploader.entry.js +0 -1
  366. package/dist/esm-es5/wm-wrapper.entry.js +0 -1
  367. package/dist/index.cjs.js +0 -1
  368. package/dist/index.js +0 -1
  369. package/dist/loader/cdn.js +0 -3
  370. package/dist/loader/index.cjs.js +0 -3
  371. package/dist/loader/index.d.ts +0 -21
  372. package/dist/loader/index.es2017.js +0 -3
  373. package/dist/loader/index.js +0 -4
  374. package/dist/loader/package.json +0 -11
  375. package/dist/ripple/index.esm.js +0 -0
  376. package/dist/ripple/p-05ae54d7.entry.js +0 -1
  377. package/dist/ripple/p-0d89d63c.system.entry.js +0 -1
  378. package/dist/ripple/p-118c47eb.system.entry.js +0 -1
  379. package/dist/ripple/p-1a4b6b02.system.entry.js +0 -1
  380. package/dist/ripple/p-1a4b7504.system.entry.js +0 -1
  381. package/dist/ripple/p-1a71d867.system.entry.js +0 -1
  382. package/dist/ripple/p-1a951dfb.entry.js +0 -1
  383. package/dist/ripple/p-1c8f550f.system.entry.js +0 -1
  384. package/dist/ripple/p-1f751b87.js +0 -1
  385. package/dist/ripple/p-1fac5bf9.js +0 -1
  386. package/dist/ripple/p-20a8f732.system.entry.js +0 -1
  387. package/dist/ripple/p-249b56fb.entry.js +0 -1
  388. package/dist/ripple/p-249d13a1.system.entry.js +0 -1
  389. package/dist/ripple/p-26906899.entry.js +0 -1
  390. package/dist/ripple/p-2732bddd.js +0 -1
  391. package/dist/ripple/p-28119645.system.entry.js +0 -1
  392. package/dist/ripple/p-2f37f3ee.system.js +0 -1
  393. package/dist/ripple/p-32bf3f5b.system.entry.js +0 -1
  394. package/dist/ripple/p-335c03d3.system.entry.js +0 -1
  395. package/dist/ripple/p-363b534b.entry.js +0 -1
  396. package/dist/ripple/p-393e4636.js +0 -1
  397. package/dist/ripple/p-39f79d71.system.entry.js +0 -1
  398. package/dist/ripple/p-3a231f4b.system.entry.js +0 -1
  399. package/dist/ripple/p-3d4bb85f.entry.js +0 -1
  400. package/dist/ripple/p-4228de00.entry.js +0 -1
  401. package/dist/ripple/p-42fa7a77.system.js +0 -1
  402. package/dist/ripple/p-48e09589.entry.js +0 -1
  403. package/dist/ripple/p-4f8fe1d1.system.js +0 -1
  404. package/dist/ripple/p-50ea2036.system.js +0 -1
  405. package/dist/ripple/p-522ecb7d.system.entry.js +0 -1
  406. package/dist/ripple/p-54d6f0f9.entry.js +0 -1
  407. package/dist/ripple/p-568c595f.js +0 -2
  408. package/dist/ripple/p-56aeee6e.system.entry.js +0 -1
  409. package/dist/ripple/p-5e6a4f70.system.js +0 -1
  410. package/dist/ripple/p-5f082360.system.entry.js +0 -1
  411. package/dist/ripple/p-5f5fe905.js +0 -1
  412. package/dist/ripple/p-617c2c75.entry.js +0 -1
  413. package/dist/ripple/p-6524c53e.system.entry.js +0 -1
  414. package/dist/ripple/p-65d26233.system.entry.js +0 -1
  415. package/dist/ripple/p-6834a6d3.entry.js +0 -1
  416. package/dist/ripple/p-68e04222.entry.js +0 -1
  417. package/dist/ripple/p-68fddfaa.system.entry.js +0 -1
  418. package/dist/ripple/p-694903e6.system.entry.js +0 -1
  419. package/dist/ripple/p-73ca2f26.system.js +0 -1
  420. package/dist/ripple/p-7b6a65f8.system.entry.js +0 -1
  421. package/dist/ripple/p-7b7e1eb5.system.entry.js +0 -1
  422. package/dist/ripple/p-88ebddd7.entry.js +0 -1
  423. package/dist/ripple/p-8c1d27a7.entry.js +0 -1
  424. package/dist/ripple/p-8e9c24f3.entry.js +0 -1
  425. package/dist/ripple/p-8f836507.system.entry.js +0 -1
  426. package/dist/ripple/p-94495341.entry.js +0 -1
  427. package/dist/ripple/p-958331bf.entry.js +0 -1
  428. package/dist/ripple/p-9872623b.entry.js +0 -1
  429. package/dist/ripple/p-9ab3c088.system.entry.js +0 -1
  430. package/dist/ripple/p-9aedd599.entry.js +0 -1
  431. package/dist/ripple/p-9b848151.entry.js +0 -1
  432. package/dist/ripple/p-a04ef164.system.entry.js +0 -1
  433. package/dist/ripple/p-a78bb423.system.entry.js +0 -1
  434. package/dist/ripple/p-a880d9a0.system.entry.js +0 -1
  435. package/dist/ripple/p-ab8d78cc.system.js +0 -2
  436. package/dist/ripple/p-adc254e6.entry.js +0 -1
  437. package/dist/ripple/p-b165d61a.entry.js +0 -1
  438. package/dist/ripple/p-b39377c7.entry.js +0 -1
  439. package/dist/ripple/p-b9bca547.entry.js +0 -1
  440. package/dist/ripple/p-bae2c236.entry.js +0 -1
  441. package/dist/ripple/p-c53f3704.system.entry.js +0 -1
  442. package/dist/ripple/p-c56ff16f.entry.js +0 -1
  443. package/dist/ripple/p-c8cf09a2.system.entry.js +0 -1
  444. package/dist/ripple/p-cbdceb6e.entry.js +0 -1
  445. package/dist/ripple/p-cc813406.system.js +0 -1
  446. package/dist/ripple/p-d20a0f0c.system.entry.js +0 -1
  447. package/dist/ripple/p-d6111226.entry.js +0 -1
  448. package/dist/ripple/p-da68c87c.entry.js +0 -1
  449. package/dist/ripple/p-ddef82fa.system.entry.js +0 -1
  450. package/dist/ripple/p-dee6d5a3.entry.js +0 -1
  451. package/dist/ripple/p-e55d5371.entry.js +0 -1
  452. package/dist/ripple/p-e8c22f01.system.entry.js +0 -1
  453. package/dist/ripple/p-f555831b.entry.js +0 -1
  454. package/dist/ripple/p-f5c40e9e.system.entry.js +0 -1
  455. package/dist/ripple/p-f9cade98.entry.js +0 -1
  456. package/dist/ripple/p-fa09191b.system.entry.js +0 -1
  457. package/dist/ripple/p-fdfca58b.entry.js +0 -1
  458. package/dist/ripple/ripple.css +0 -1
  459. package/dist/ripple/ripple.esm.js +0 -1
  460. package/dist/ripple/ripple.js +0 -127
  461. /package/dist/{collection/dev/action-menu.js → types/test-setup.d.ts} +0 -0
@@ -1,200 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- import { AxePuppeteer } from "@axe-core/puppeteer";
3
- describe("wm-action-menu", () => {
4
- let page;
5
- beforeEach(async () => {
6
- page = await newE2EPage();
7
- await page.setContent("<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1><wm-action-menu id='test' tooltip='menu name'><wm-menuitem id='first' onClick='action()'>First action</wm-menuitem><wm-menuitem id='second'>Second action</wm-menuitem><wm-menuitem id='third'>Third action</wm-menuitem></wm-action-menu><script>function action() {document.getElementById('first').innerHTML = 'Changed text'}</script></main></body></html>");
8
- });
9
- it("passes Axe checks", async () => {
10
- const results = await new AxePuppeteer(page).analyze();
11
- expect(results.violations.length).toBe(0);
12
- });
13
- //ATTRIBUTES;
14
- it("has the right WAI_ARIA roles, states and properties", async () => {
15
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
16
- const menu = await page.find("wm-action-menu >>> #menu-test");
17
- const second = await page.find("#second");
18
- const third = await page.find("#third");
19
- await page.waitForChanges();
20
- // check aria-expanded attribute
21
- expect(wmbtn).toEqualAttribute("aria-expanded", "false");
22
- // If the element with the aria-expanded attribute controls the expansion of another grouping container that is not 'owned by' the element, the author SHOULD reference the container by using the aria-controls attribute.
23
- // src: https://www.w3.org/WAI/PF/aria/states_and_properties#aria-expanded
24
- expect(wmbtn).toEqualAttribute("aria-controls", "menu-test");
25
- // An element that contains or owns all the menu items has role menu.
26
- expect(menu).toEqualAttribute("role", "menu");
27
- expect(menu).toEqualAttribute("tabindex", "-1");
28
- // Each menuitem in the menu has role menuitem.
29
- expect(second).toEqualAttribute("role", "menuitem"); // just checking one randomly
30
- expect(third).toEqualAttribute("tabindex", "-1");
31
- });
32
- // Down Arrow: Moves focus to the first menuitem. If the dropdown is collapsed, it also expands the list.
33
- // Up Arrow: Moves focus to the last menuitem. If the dropdown is collapsed, it also expands the list.
34
- it("handles Up and Down Arrow keys", async () => {
35
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
36
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("false");
37
- await page.keyboard.press("Tab");
38
- await page.waitForChanges();
39
- await page.keyboard.press("ArrowDown");
40
- await page.waitForChanges();
41
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
42
- const first = await page.find("wm-menuitem#first >>> div");
43
- const second = await page.find("wm-menuitem#second >>> div");
44
- expect(first).toHaveClass("focus");
45
- await page.keyboard.press("ArrowDown");
46
- await page.waitForChanges();
47
- expect(second).toHaveClass("focus");
48
- await page.keyboard.press("ArrowUp");
49
- await page.waitForChanges();
50
- expect(first).toHaveClass("focus");
51
- await page.keyboard.press("Enter");
52
- await page.waitForChanges();
53
- await page.waitForTimeout(500); //allow closing animation and setTimeout to finish
54
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("false");
55
- await page.keyboard.press("ArrowUp");
56
- await page.waitForChanges();
57
- // after the action runs the dropdown close and the dev should focus the relevant element.
58
- // in case they don't, focus will return to the body. The component checks that and brings focus
59
- // back to the button when that's the case.
60
- // Things seem to happen differently with headless chrome / puppeteer. Focus stays on the menuitem even after
61
- // it has become unable to have focus in normal browsers (after dropdown closes). Focus never gets to body.
62
- // So here we simply test that the active el is not the body
63
- const activeEl = await page.evaluate(() => document.activeElement.tagName);
64
- expect(activeEl).not.toEqual("BODY");
65
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
66
- await page.keyboard.press("ArrowUp");
67
- await page.waitForChanges();
68
- expect(second).toHaveClass("focus");
69
- });
70
- // Home: If the dropdown is displayed, moves focus to first menuitem.
71
- // End: If the dropdown is displayed, moves focus to last menuitem.
72
- it("handles Home and End keys", async () => {
73
- await page.keyboard.press("Tab");
74
- await page.keyboard.press("Enter");
75
- await page.waitForTimeout(40);
76
- await page.keyboard.press("ArrowDown");
77
- await page.keyboard.press("ArrowDown");
78
- await page.waitForChanges();
79
- const focusedEl = await page.find("wm-menuitem#third >>> div");
80
- expect(focusedEl).toHaveClass("focus");
81
- await page.keyboard.press("Home");
82
- await page.waitForChanges();
83
- const homefocusedEl = await page.find("wm-menuitem#first >>> div");
84
- expect(focusedEl).not.toHaveClass("focus");
85
- expect(homefocusedEl).toHaveClass("focus");
86
- await page.keyboard.press("End");
87
- await page.waitForChanges();
88
- const endfocusedEl = await page.find("wm-menuitem#third >>> div");
89
- expect(endfocusedEl).toHaveClass("focus");
90
- });
91
- // - Type a character: focus moves to the next menuitem with a name that starts with the typed character.
92
- // - Type multiple characters in rapid succession: focus moves to the next menuitem with a name that starts with the string of characters typed
93
- it("handles typing", async () => {
94
- await page.keyboard.press("Tab");
95
- await page.keyboard.press("Enter");
96
- await page.waitForChanges();
97
- await page.keyboard.press("t");
98
- await page.waitForChanges();
99
- const focusedEl = await page.find("wm-menuitem#third >>> div");
100
- expect(focusedEl).toHaveClass("focus");
101
- });
102
- // OPEN / CLOSE
103
- // Spacebar: Should open the popup (we didn't implement, comes for free. Test is to make sure we don't break it)
104
- it("handles the Spacebar key", async () => {
105
- await page.keyboard.press("Tab");
106
- await page.keyboard.press("Space");
107
- await page.waitForChanges();
108
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
109
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
110
- });
111
- // Escape: If the menu is displayed, closes the popup and returns focus to the button.
112
- it("handles the Escape key", async () => {
113
- await page.keyboard.press("Tab");
114
- await page.keyboard.press("Enter");
115
- await page.waitForChanges();
116
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
117
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
118
- await page.keyboard.press("ArrowDown");
119
- await page.keyboard.press("Escape");
120
- await page.waitForChanges();
121
- await page.waitForTimeout(500); //allow closing animation and setTimeout to finish
122
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("false");
123
- const activeElId = await page.evaluate(() => document.activeElement.id);
124
- expect(activeElId).toEqual("test");
125
- //When dropdown reopens, focus returns to first element
126
- await page.keyboard.press("Enter");
127
- await page.waitForChanges();
128
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
129
- const focusedEl = await page.find("wm-menuitem#first >>> div");
130
- expect(focusedEl).toHaveClass("focus"); //
131
- });
132
- // Enter:
133
- // - If the focus is on the button, it expands the dropdown and places focuses on the first menuitem.
134
- // - If the dropdown is open, it closes the dropdown.
135
- it("opens and closes the dropdown when enter key is pressed", async () => {
136
- await page.keyboard.press("Tab");
137
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
138
- await page.keyboard.press("Enter");
139
- await page.waitForChanges();
140
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("true");
141
- await page.keyboard.press("Enter");
142
- await page.waitForChanges();
143
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("false");
144
- });
145
- it("runs the onClick function passed to the menuitem when clicked or key pressed", async () => {
146
- page = await newE2EPage();
147
- await page.setContent(`<html lang='en'><head><title>Page</title></head><body><main><h1>Title</h1>
148
- <wm-action-menu id='test' tooltip='menu name'>
149
- <wm-menuitem id='first' onClick='action()'>First action</wm-menuitem>
150
- </wm-action-menu>
151
- <div id='changeMe'>default</div>
152
- <script>
153
- function action() {
154
- document.getElementById('changeMe').textContent += "&"
155
- }
156
- </script></main></body></html>`);
157
- const div = await page.find("#changeMe");
158
- await page.keyboard.press("Tab");
159
- await page.waitForChanges();
160
- await page.keyboard.press("Enter");
161
- await page.waitForChanges();
162
- await page.keyboard.press("Enter");
163
- await page.waitForChanges();
164
- expect(div.textContent).toBe("default&");
165
- await page.waitForTimeout(300); // make sure menu is closed before reopening (closes after the 250ms animation)
166
- await page.keyboard.press("Enter");
167
- await page.waitForChanges();
168
- await page.click("#first");
169
- await page.waitForChanges();
170
- expect(div.textContent).toBe("default&&");
171
- });
172
- it("doesn't open the dropdown if the dropdown is disabled", async () => {
173
- await page.evaluate(() => document.querySelector("wm-action-menu").setAttribute("disabled", "true"));
174
- await page.keyboard.press("Tab");
175
- await page.keyboard.press("Enter");
176
- await page.waitForChanges();
177
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
178
- await page.waitForChanges();
179
- expect(wmbtn.getAttribute("aria-expanded")).toEqual("false");
180
- });
181
- // TOOLTIP
182
- it("renders a tooltip when type is icon", async () => {
183
- await page.keyboard.press("Tab");
184
- await page.waitForChanges();
185
- const tooltipEl = await page.find("#wm-tooltip");
186
- expect(tooltipEl.textContent).toBe("menu name");
187
- });
188
- it("uses the label instead of tooltip text", async () => {
189
- page = await newE2EPage();
190
- await page.setContent("<wm-action-menu icon='f1c0' action-menu-type='icon' tooltip='delete' label-for-identical-buttons='delete this particular thing'><wm-menuitem>1</wm-menuitem></wm-action-menu>");
191
- // use case: when the tooltip is something like "edit" and there are several buttons on a page, the aria label should be more specific than the tooltip
192
- const wmbtn = await page.find("wm-action-menu >>> wm-button");
193
- const btn = wmbtn.shadowRoot.querySelector("button");
194
- await page.keyboard.press("Tab");
195
- await page.waitForChanges();
196
- const tooltipEl = await page.find("#wm-tooltip");
197
- expect(tooltipEl.textContent).toEqual("delete");
198
- expect(btn).toEqualAttribute("aria-label", "delete this particular thing");
199
- });
200
- });
@@ -1,435 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- import { debounce, getTextDir, shouldOpenUp, shouldShiftRight } from "../../global/functions";
3
- export class ActionMenu {
4
- constructor() {
5
- this.openUp = false;
6
- this.keysSoFar = "";
7
- this.searchIndex = 0;
8
- this.debouncedClearKeysSoFar = debounce(() => {
9
- this.keysSoFar = "";
10
- }, 500);
11
- this.isExpanded = false;
12
- this.tooltipPosition = undefined;
13
- this.actionMenuType = "icon";
14
- this.buttonText = undefined;
15
- this.disabled = false;
16
- this.tooltip = undefined;
17
- this.labelForIdenticalButtons = undefined;
18
- this.darkMode = undefined;
19
- }
20
- get horizontalPosition() {
21
- return !!this.el && !!this.itemsEl && shouldShiftRight(this.el, this.itemsEl.clientWidth) ? "right" : "left";
22
- }
23
- get childItems() {
24
- return Array.from(this.el.querySelectorAll("wm-menuitem"));
25
- }
26
- get internalButtonType() {
27
- return this.actionMenuType === "icon" || this.actionMenuType === "text"
28
- ? this.actionMenuType + "only"
29
- : this.actionMenuType;
30
- }
31
- handleClickedItem() {
32
- this.close();
33
- }
34
- handleKeyUp(ev) {
35
- this.moveUp(ev.target);
36
- }
37
- handleKeyDown(ev) {
38
- this.moveDown(ev.detail);
39
- }
40
- handleHomeKey() {
41
- this.focusFirstItem();
42
- }
43
- handleEndKey() {
44
- this.focusLastItem();
45
- }
46
- handleTabKey() {
47
- if (this.isExpanded) {
48
- this.close();
49
- }
50
- }
51
- handleEscKey() {
52
- this.close();
53
- this.wmButtonEl.focus();
54
- }
55
- handleKey(ev) {
56
- switch (ev.key) {
57
- case "ArrowDown":
58
- if (!this.isExpanded) {
59
- ev.preventDefault();
60
- this.open();
61
- window.requestAnimationFrame(() => this.focusFirstItem());
62
- }
63
- break;
64
- case "ArrowUp":
65
- if (!this.isExpanded) {
66
- ev.preventDefault();
67
- this.open();
68
- window.requestAnimationFrame(() => this.focusLastItem());
69
- }
70
- break;
71
- }
72
- }
73
- handleMenuitemBlur(ev) {
74
- const toElOrChild = ev.detail.relatedTarget === this.el || this.el.contains(ev.detail.relatedTarget);
75
- // if the Menuitem is blurred to something other than the component, emit a blur event with the appropriate relatedTarget
76
- // keeps our component's blur events accurate, and closes when focusing browser address bar
77
- if (!toElOrChild) {
78
- const event = new CustomEvent("blur");
79
- // @ts-ignore
80
- event.relatedTarget = ev.detail.relatedTarget;
81
- this.el.dispatchEvent(event);
82
- }
83
- }
84
- handleButtonBlur(ev) {
85
- const toElOrChild = ev.relatedTarget === this.el || this.el.contains(ev.relatedTarget);
86
- if (toElOrChild) {
87
- // do not emit a blur event when opening the dropdown and focusing the Menuitems
88
- ev.stopPropagation();
89
- }
90
- }
91
- componentDidLoad() {
92
- if (this.actionMenuType !== "icon" && !this.buttonText) {
93
- console.error("wm-action-menu should have a valid button-text property when action-menu-type is set to 'text' or 'selector'");
94
- }
95
- if (this.actionMenuType === "icon" && !this.tooltip) {
96
- console.error("wm-action-menu should have a valid tooltip when action-menu-type is set to 'icon'");
97
- }
98
- this.wmActionMenuLoaded.emit();
99
- this.menuLoaded.emit(); // deprecated
100
- }
101
- moveUp(el) {
102
- const index = this.childItems.indexOf(el);
103
- if (index === 0) {
104
- this.focusLastItem();
105
- }
106
- else {
107
- this.childItems[index - 1].focus();
108
- }
109
- }
110
- moveDown(el) {
111
- const index = this.childItems.indexOf(el);
112
- if (index === this.childItems.length - 1) {
113
- this.focusFirstItem();
114
- }
115
- else {
116
- this.childItems[index + 1].focus();
117
- }
118
- }
119
- open() {
120
- if (!this.disabled) {
121
- this.openUp = shouldOpenUp(this.el, this.itemsEl.clientHeight);
122
- // action menu usually is on the right side of the screen,
123
- // so dropdown opens to the left (is anchored on the right corner)
124
- // if there is not enough space on the left and enough on the right though,
125
- // it will open on the right side
126
- this.isExpanded = true;
127
- this.itemsEl.classList.remove("hidden");
128
- window.requestAnimationFrame(() => this.focusFirstItem());
129
- }
130
- }
131
- close(returnFocus = true) {
132
- this.isExpanded = false;
133
- window.setTimeout(() => {
134
- this.itemsEl.classList.add("hidden");
135
- }, 150);
136
- window.setTimeout(() => {
137
- // if dev omits to assign focus after an action is triggered,
138
- // the component brings the focus back on the button
139
- // Focus will only be lost (and go to the body) once the menuitem
140
- // is not visible anymore, so we need to wait for the transition to
141
- // finish and the hidden class to be applied.
142
- // also checking if focus stayed on the menuitem
143
- if (returnFocus &&
144
- (document.activeElement.tagName === "BODY" || document.activeElement.tagName === "WM-MENUITEM")) {
145
- this.wmButtonEl.focus();
146
- }
147
- }, 250);
148
- }
149
- focusFirstItem() {
150
- this.childItems[0].focus();
151
- }
152
- focusLastItem() {
153
- this.childItems[this.childItems.length - 1].focus();
154
- }
155
- findAndFocusItem(ev) {
156
- if (!this.keysSoFar && ev.detail == " ") {
157
- // if the first key entered is space, treat as a click. Otherwise include in
158
- ev.target.click();
159
- }
160
- else {
161
- const character = ev.detail.toLowerCase();
162
- this.focusFirstItem();
163
- if (!this.keysSoFar) {
164
- this.childItems.forEach((item, idx) => {
165
- if (item === document.activeElement) {
166
- this.searchIndex = idx;
167
- }
168
- });
169
- }
170
- this.keysSoFar += character;
171
- let nextMatch = this.findMatchInRange(this.childItems, this.searchIndex + 1, this.childItems.length);
172
- if (!nextMatch) {
173
- nextMatch = this.findMatchInRange(this.childItems, 0, this.searchIndex);
174
- }
175
- if (nextMatch) {
176
- nextMatch.focus();
177
- }
178
- this.debouncedClearKeysSoFar();
179
- }
180
- }
181
- findMatchInRange(list, startIndex, endIndex) {
182
- // Find the first item starting with the keysSoFar substring, searching in
183
- // the specified range of items
184
- for (var n = startIndex; n < endIndex; n++) {
185
- var label = list[n].textContent;
186
- if (label && label.toLowerCase().indexOf(this.keysSoFar) === 0) {
187
- return list[n];
188
- }
189
- }
190
- return null;
191
- }
192
- render() {
193
- return (h(Host, { onBlur: () => this.close(false) }, h("div", { class: getTextDir() }, h("wm-button", { "button-type": this.internalButtonType, tooltip: this.tooltip, "custom-background": this.darkMode ? "dark" : undefined, "label-for-identical-buttons": this.labelForIdenticalButtons, icon: this.actionMenuType === "icon" ? "#more-options" : "", iconSize: this.actionMenuType === "icon" ? "24px" : undefined, id: "menubtn", onClick: () => (this.isExpanded ? this.close() : this.open()), onBlur: (ev) => this.handleButtonBlur(ev), disabled: this.disabled, ref: (el) => (this.wmButtonEl = el), "tooltip-position": this.tooltipPosition || this.horizontalPosition, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? "true" : "false", "aria-controls": "menu" }, this.buttonText), h("div", { class: `dropdown ${this.openUp ? "open-up" : ""} ${this.horizontalPosition} ${this.isExpanded ? "open" : ""} hidden`, id: "menu", tabindex: -1, role: "menu", ref: (el) => (this.itemsEl = el) }, h("slot", null)))));
194
- }
195
- static get is() { return "wm-action-menu"; }
196
- static get encapsulation() { return "shadow"; }
197
- static get delegatesFocus() { return true; }
198
- static get originalStyleUrls() {
199
- return {
200
- "$": ["wm-action-menu.scss"]
201
- };
202
- }
203
- static get styleUrls() {
204
- return {
205
- "$": ["wm-action-menu.css"]
206
- };
207
- }
208
- static get properties() {
209
- return {
210
- "tooltipPosition": {
211
- "type": "string",
212
- "mutable": false,
213
- "complexType": {
214
- "original": "| \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-right\"\n | \"top-left\"",
215
- "resolved": "\"bottom\" | \"bottom-left\" | \"bottom-right\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\" | undefined",
216
- "references": {}
217
- },
218
- "required": false,
219
- "optional": true,
220
- "docs": {
221
- "tags": [],
222
- "text": ""
223
- },
224
- "attribute": "tooltip-position",
225
- "reflect": false
226
- },
227
- "actionMenuType": {
228
- "type": "string",
229
- "mutable": false,
230
- "complexType": {
231
- "original": "\"icon\" | \"text\" | \"selector\" | \"selector-primary\"",
232
- "resolved": "\"icon\" | \"selector\" | \"selector-primary\" | \"text\"",
233
- "references": {}
234
- },
235
- "required": false,
236
- "optional": false,
237
- "docs": {
238
- "tags": [],
239
- "text": ""
240
- },
241
- "attribute": "action-menu-type",
242
- "reflect": false,
243
- "defaultValue": "\"icon\""
244
- },
245
- "buttonText": {
246
- "type": "string",
247
- "mutable": false,
248
- "complexType": {
249
- "original": "string",
250
- "resolved": "string | undefined",
251
- "references": {}
252
- },
253
- "required": false,
254
- "optional": true,
255
- "docs": {
256
- "tags": [],
257
- "text": ""
258
- },
259
- "attribute": "button-text",
260
- "reflect": false
261
- },
262
- "disabled": {
263
- "type": "boolean",
264
- "mutable": false,
265
- "complexType": {
266
- "original": "boolean",
267
- "resolved": "boolean",
268
- "references": {}
269
- },
270
- "required": false,
271
- "optional": false,
272
- "docs": {
273
- "tags": [],
274
- "text": ""
275
- },
276
- "attribute": "disabled",
277
- "reflect": true,
278
- "defaultValue": "false"
279
- },
280
- "tooltip": {
281
- "type": "string",
282
- "mutable": false,
283
- "complexType": {
284
- "original": "string",
285
- "resolved": "string | undefined",
286
- "references": {}
287
- },
288
- "required": false,
289
- "optional": true,
290
- "docs": {
291
- "tags": [],
292
- "text": ""
293
- },
294
- "attribute": "tooltip",
295
- "reflect": false
296
- },
297
- "labelForIdenticalButtons": {
298
- "type": "string",
299
- "mutable": false,
300
- "complexType": {
301
- "original": "string",
302
- "resolved": "string | undefined",
303
- "references": {}
304
- },
305
- "required": false,
306
- "optional": true,
307
- "docs": {
308
- "tags": [],
309
- "text": ""
310
- },
311
- "attribute": "label-for-identical-buttons",
312
- "reflect": false
313
- },
314
- "darkMode": {
315
- "type": "boolean",
316
- "mutable": false,
317
- "complexType": {
318
- "original": "boolean",
319
- "resolved": "boolean | undefined",
320
- "references": {}
321
- },
322
- "required": false,
323
- "optional": true,
324
- "docs": {
325
- "tags": [],
326
- "text": ""
327
- },
328
- "attribute": "dark-mode",
329
- "reflect": false
330
- }
331
- };
332
- }
333
- static get states() {
334
- return {
335
- "isExpanded": {}
336
- };
337
- }
338
- static get events() {
339
- return [{
340
- "method": "wmActionMenuLoaded",
341
- "name": "wmActionMenuLoaded",
342
- "bubbles": true,
343
- "cancelable": true,
344
- "composed": true,
345
- "docs": {
346
- "tags": [],
347
- "text": ""
348
- },
349
- "complexType": {
350
- "original": "any",
351
- "resolved": "any",
352
- "references": {}
353
- }
354
- }, {
355
- "method": "menuLoaded",
356
- "name": "menuLoaded",
357
- "bubbles": true,
358
- "cancelable": true,
359
- "composed": true,
360
- "docs": {
361
- "tags": [],
362
- "text": ""
363
- },
364
- "complexType": {
365
- "original": "any",
366
- "resolved": "any",
367
- "references": {}
368
- }
369
- }];
370
- }
371
- static get elementRef() { return "el"; }
372
- static get listeners() {
373
- return [{
374
- "name": "wmMenuitemClicked",
375
- "method": "handleClickedItem",
376
- "target": undefined,
377
- "capture": false,
378
- "passive": false
379
- }, {
380
- "name": "wmKeyUpPressed",
381
- "method": "handleKeyUp",
382
- "target": undefined,
383
- "capture": false,
384
- "passive": false
385
- }, {
386
- "name": "wmKeyDownPressed",
387
- "method": "handleKeyDown",
388
- "target": undefined,
389
- "capture": false,
390
- "passive": false
391
- }, {
392
- "name": "wmHomeKeyPressed",
393
- "method": "handleHomeKey",
394
- "target": undefined,
395
- "capture": false,
396
- "passive": false
397
- }, {
398
- "name": "wmEndKeyPressed",
399
- "method": "handleEndKey",
400
- "target": undefined,
401
- "capture": false,
402
- "passive": false
403
- }, {
404
- "name": "wmTabKeyPressed",
405
- "method": "handleTabKey",
406
- "target": undefined,
407
- "capture": false,
408
- "passive": false
409
- }, {
410
- "name": "wmEscKeyPressed",
411
- "method": "handleEscKey",
412
- "target": undefined,
413
- "capture": false,
414
- "passive": false
415
- }, {
416
- "name": "keydown",
417
- "method": "handleKey",
418
- "target": undefined,
419
- "capture": false,
420
- "passive": false
421
- }, {
422
- "name": "wmMenuitemBlurred",
423
- "method": "handleMenuitemBlur",
424
- "target": undefined,
425
- "capture": false,
426
- "passive": false
427
- }, {
428
- "name": "wmLetterPressed",
429
- "method": "findAndFocusItem",
430
- "target": undefined,
431
- "capture": false,
432
- "passive": false
433
- }];
434
- }
435
- }