@watermarkinsights/ripple 5.12.0 → 5.13.0-alpha.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 (483) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/{esm/chartFunctions-9099c7e9.js → components/chartFunctions.js} +4 -4
  4. package/dist/components/functions.js +17465 -0
  5. package/dist/components/index.d.ts +33 -0
  6. package/dist/{collection/global/global.js → components/index.js} +52 -2
  7. package/dist/{collection/global → components}/interfaces.js +6 -4
  8. package/dist/{esm/intl-a6f16883.js → components/intl.js} +1 -1
  9. package/dist/components/priv-calendar.d.ts +11 -0
  10. package/dist/components/priv-calendar.js +6 -0
  11. package/dist/{esm/priv-calendar.entry.js → components/priv-calendar2.js} +40 -17
  12. package/dist/components/priv-chart-popover.d.ts +11 -0
  13. package/dist/components/priv-chart-popover.js +6 -0
  14. package/dist/{esm/priv-chart-popover.entry.js → components/priv-chart-popover2.js} +32 -13
  15. package/dist/components/priv-navigator-button.d.ts +11 -0
  16. package/dist/components/priv-navigator-button.js +6 -0
  17. package/dist/{esm/priv-navigator-button.entry.js → components/priv-navigator-button2.js} +27 -9
  18. package/dist/components/priv-navigator-item.d.ts +11 -0
  19. package/dist/components/priv-navigator-item.js +6 -0
  20. package/dist/{esm/priv-navigator-item.entry.js → components/priv-navigator-item2.js} +28 -9
  21. package/dist/components/priv-option-list.d.ts +11 -0
  22. package/dist/components/priv-option-list.js +6 -0
  23. package/dist/{esm/priv-option-list.entry.js → components/priv-option-list2.js} +54 -21
  24. package/dist/components/wm-action-menu.d.ts +11 -0
  25. package/dist/components/wm-action-menu.js +6 -0
  26. package/dist/{cjs/wm-pagination.cjs.entry.js → components/wm-action-menu2.js} +216 -212
  27. package/dist/components/wm-button.d.ts +11 -0
  28. package/dist/components/wm-button.js +6 -0
  29. package/dist/{esm/wm-button.entry.js → components/wm-button2.js} +49 -20
  30. package/dist/components/wm-chart-slice.d.ts +11 -0
  31. package/dist/components/wm-chart-slice.js +41 -0
  32. package/dist/components/wm-chart.d.ts +11 -0
  33. package/dist/{esm/wm-chart.entry.js → components/wm-chart.js} +61 -22
  34. package/dist/components/wm-date-range.d.ts +11 -0
  35. package/dist/{esm/wm-date-range.entry.js → components/wm-date-range.js} +66 -23
  36. package/dist/components/wm-datepicker.d.ts +11 -0
  37. package/dist/{esm/wm-datepicker.entry.js → components/wm-datepicker.js} +58 -20
  38. package/dist/components/wm-file-list.d.ts +11 -0
  39. package/dist/{cjs/wm-file-list.cjs.entry.js → components/wm-file-list.js} +29 -13
  40. package/dist/components/wm-file.d.ts +11 -0
  41. package/dist/{esm/wm-file.entry.js → components/wm-file.js} +59 -20
  42. package/dist/components/wm-input.d.ts +11 -0
  43. package/dist/{esm/wm-input.entry.js → components/wm-input.js} +54 -22
  44. package/dist/components/wm-line-chart.d.ts +11 -0
  45. package/dist/{esm/wm-line-chart.entry.js → components/wm-line-chart.js} +80 -39
  46. package/dist/components/wm-menuitem.d.ts +11 -0
  47. package/dist/components/wm-menuitem.js +6 -0
  48. package/dist/{cjs/wm-optgroup.cjs.entry.js → components/wm-menuitem2.js} +130 -57
  49. package/dist/components/wm-modal-footer.d.ts +11 -0
  50. package/dist/components/wm-modal-footer.js +73 -0
  51. package/dist/components/wm-modal-header.d.ts +11 -0
  52. package/dist/components/wm-modal-header.js +61 -0
  53. package/dist/components/wm-modal-pss-footer.d.ts +11 -0
  54. package/dist/{cjs/priv-chart-popover.cjs.entry.js → components/wm-modal-pss-footer.js} +58 -128
  55. package/dist/components/wm-modal-pss-header.d.ts +11 -0
  56. package/dist/components/wm-modal-pss-header.js +64 -0
  57. package/dist/components/wm-modal-pss.d.ts +11 -0
  58. package/dist/{cjs/wm-textarea.cjs.entry.js → components/wm-modal-pss.js} +141 -66
  59. package/dist/components/wm-modal.d.ts +11 -0
  60. package/dist/{cjs/wm-input.cjs.entry.js → components/wm-modal.js} +140 -103
  61. package/dist/components/wm-navigation-hamburger.d.ts +11 -0
  62. package/dist/{ripple/p-f9cade98.entry.js → components/wm-navigation-hamburger.js} +70 -1
  63. package/dist/components/wm-navigation-item.d.ts +11 -0
  64. package/dist/components/wm-navigation-item.js +40 -0
  65. package/dist/components/wm-navigation.d.ts +11 -0
  66. package/dist/{ripple/p-1a71d867.system.entry.js → components/wm-navigation.js} +144 -1
  67. package/dist/components/wm-navigator.d.ts +11 -0
  68. package/dist/{esm/wm-navigator.entry.js → components/wm-navigator.js} +106 -18
  69. package/dist/components/wm-nested-select.d.ts +11 -0
  70. package/dist/{esm/wm-nested-select.entry.js → components/wm-nested-select.js} +56 -23
  71. package/dist/components/wm-optgroup.d.ts +11 -0
  72. package/dist/{esm/wm-optgroup.entry.js → components/wm-optgroup.js} +49 -11
  73. package/dist/components/wm-option.d.ts +11 -0
  74. package/dist/components/wm-option.js +6 -0
  75. package/dist/{cjs/wm-search.cjs.entry.js → components/wm-option2.js} +168 -165
  76. package/dist/components/wm-pagination.d.ts +11 -0
  77. package/dist/{esm/wm-pagination.entry.js → components/wm-pagination.js} +45 -17
  78. package/dist/components/wm-progress-indicator.d.ts +11 -0
  79. package/dist/{esm/wm-progress-indicator_3.entry.js → components/wm-progress-indicator.js} +52 -104
  80. package/dist/components/wm-progress-monitor.d.ts +11 -0
  81. package/dist/components/wm-progress-monitor.js +93 -0
  82. package/dist/components/wm-progress-slice.d.ts +11 -0
  83. package/dist/components/wm-progress-slice.js +37 -0
  84. package/dist/components/wm-search.d.ts +11 -0
  85. package/dist/{esm/wm-search.entry.js → components/wm-search.js} +76 -15
  86. package/dist/components/wm-select.d.ts +11 -0
  87. package/dist/components/wm-select.js +6 -0
  88. package/dist/components/wm-select2.js +294 -0
  89. package/dist/components/wm-snackbar.d.ts +11 -0
  90. package/dist/{esm/wm-snackbar.entry.js → components/wm-snackbar.js} +41 -16
  91. package/dist/components/wm-tab-item.d.ts +11 -0
  92. package/dist/components/wm-tab-item.js +85 -0
  93. package/dist/components/wm-tab-list.d.ts +11 -0
  94. package/dist/{cjs/wm-uploader.cjs.entry.js → components/wm-tab-list.js} +174 -281
  95. package/dist/components/wm-tab-panel.d.ts +11 -0
  96. package/dist/{esm/wm-file-list.entry.js → components/wm-tab-panel.js} +46 -12
  97. package/dist/components/wm-tag-input.d.ts +11 -0
  98. package/dist/{esm/wm-tag-input.entry.js → components/wm-tag-input.js} +64 -32
  99. package/dist/components/wm-tag-option.d.ts +11 -0
  100. package/dist/components/wm-tag-option.js +63 -0
  101. package/dist/components/wm-textarea.d.ts +11 -0
  102. package/dist/{esm/wm-textarea.entry.js → components/wm-textarea.js} +47 -17
  103. package/dist/components/wm-timepicker.d.ts +11 -0
  104. package/dist/{esm/wm-timepicker.entry.js → components/wm-timepicker.js} +51 -20
  105. package/dist/components/wm-toggletip.d.ts +11 -0
  106. package/dist/{esm/wm-toggletip.entry.js → components/wm-toggletip.js} +38 -16
  107. package/dist/components/wm-uploader.d.ts +11 -0
  108. package/dist/{esm/wm-uploader.entry.js → components/wm-uploader.js} +52 -24
  109. package/dist/components/wm-wrapper.d.ts +11 -0
  110. package/dist/components/wm-wrapper.js +34 -0
  111. package/dist/types/stencil-public-runtime.d.ts +31 -10
  112. package/package.json +4 -8
  113. package/dist/cjs/chartFunctions-a1981e06.js +0 -732
  114. package/dist/cjs/functions-4b187487.js +0 -9679
  115. package/dist/cjs/global-4e034486.js +0 -85
  116. package/dist/cjs/index-e86c28b6.js +0 -2649
  117. package/dist/cjs/index.cjs.js +0 -2
  118. package/dist/cjs/interfaces-85d78ae9.js +0 -37
  119. package/dist/cjs/intl-7fd0760e.js +0 -283
  120. package/dist/cjs/loader.cjs.js +0 -14
  121. package/dist/cjs/priv-calendar.cjs.entry.js +0 -573
  122. package/dist/cjs/priv-navigator-button.cjs.entry.js +0 -28
  123. package/dist/cjs/priv-navigator-item.cjs.entry.js +0 -34
  124. package/dist/cjs/priv-option-list.cjs.entry.js +0 -392
  125. package/dist/cjs/ripple.cjs.js +0 -24
  126. package/dist/cjs/wm-action-menu_2.cjs.entry.js +0 -333
  127. package/dist/cjs/wm-button.cjs.entry.js +0 -206
  128. package/dist/cjs/wm-chart-slice.cjs.entry.js +0 -27
  129. package/dist/cjs/wm-chart.cjs.entry.js +0 -162
  130. package/dist/cjs/wm-date-range.cjs.entry.js +0 -483
  131. package/dist/cjs/wm-datepicker.cjs.entry.js +0 -253
  132. package/dist/cjs/wm-file.cjs.entry.js +0 -193
  133. package/dist/cjs/wm-line-chart.cjs.entry.js +0 -460
  134. package/dist/cjs/wm-modal-pss_3.cjs.entry.js +0 -214
  135. package/dist/cjs/wm-modal_3.cjs.entry.js +0 -212
  136. package/dist/cjs/wm-navigation_3.cjs.entry.js +0 -185
  137. package/dist/cjs/wm-navigator.cjs.entry.js +0 -326
  138. package/dist/cjs/wm-nested-select.cjs.entry.js +0 -314
  139. package/dist/cjs/wm-option_2.cjs.entry.js +0 -425
  140. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +0 -202
  141. package/dist/cjs/wm-snackbar.cjs.entry.js +0 -181
  142. package/dist/cjs/wm-tab-item_3.cjs.entry.js +0 -260
  143. package/dist/cjs/wm-tag-input.cjs.entry.js +0 -891
  144. package/dist/cjs/wm-tag-option.cjs.entry.js +0 -43
  145. package/dist/cjs/wm-timepicker.cjs.entry.js +0 -306
  146. package/dist/cjs/wm-toggletip.cjs.entry.js +0 -182
  147. package/dist/cjs/wm-wrapper.cjs.entry.js +0 -21
  148. package/dist/collection/collection-manifest.json +0 -191
  149. package/dist/collection/components/charts/chartFunctions.js +0 -665
  150. package/dist/collection/components/charts/chartFunctions.spec.js +0 -16
  151. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.css +0 -908
  152. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.e2e.js +0 -81
  153. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +0 -257
  154. package/dist/collection/components/charts/screenshots.e2e.js +0 -96
  155. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +0 -125
  156. package/dist/collection/components/charts/wm-chart/wm-chart.css +0 -1274
  157. package/dist/collection/components/charts/wm-chart/wm-chart.e2e.js +0 -213
  158. package/dist/collection/components/charts/wm-chart/wm-chart.js +0 -422
  159. package/dist/collection/components/charts/wm-chart/wm-chart.spec.js +0 -37
  160. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.css +0 -1067
  161. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.e2e.js +0 -176
  162. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.js +0 -723
  163. package/dist/collection/components/charts/wm-line-chart/wm-line-chart.spec.js +0 -163
  164. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.css +0 -1274
  165. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +0 -264
  166. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.css +0 -909
  167. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.e2e.js +0 -69
  168. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +0 -151
  169. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.spec.js +0 -79
  170. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +0 -121
  171. package/dist/collection/components/datepickers/datepicker.css +0 -1043
  172. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.css +0 -1279
  173. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.js +0 -840
  174. package/dist/collection/components/datepickers/priv-calendar/priv-calendar.spec.js +0 -89
  175. package/dist/collection/components/datepickers/wm-date-range.e2e.js +0 -443
  176. package/dist/collection/components/datepickers/wm-date-range.js +0 -845
  177. package/dist/collection/components/datepickers/wm-date-range.spec.js +0 -22
  178. package/dist/collection/components/datepickers/wm-datepicker.e2e.js +0 -382
  179. package/dist/collection/components/datepickers/wm-datepicker.js +0 -520
  180. package/dist/collection/components/datepickers/wm-datepicker.spec.js +0 -21
  181. package/dist/collection/components/selects/priv-option-list/priv-option-list.css +0 -918
  182. package/dist/collection/components/selects/priv-option-list/priv-option-list.js +0 -778
  183. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.css +0 -1181
  184. package/dist/collection/components/selects/wm-nested-select/wm-nested-select.js +0 -620
  185. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.css +0 -830
  186. package/dist/collection/components/selects/wm-optgroup/wm-optgroup.js +0 -258
  187. package/dist/collection/components/selects/wm-option/wm-option.css +0 -931
  188. package/dist/collection/components/selects/wm-option/wm-option.e2e.js +0 -22
  189. package/dist/collection/components/selects/wm-option/wm-option.js +0 -530
  190. package/dist/collection/components/selects/wm-option/wm-option.spec.js +0 -63
  191. package/dist/collection/components/selects/wm-select/wm-select.css +0 -1104
  192. package/dist/collection/components/selects/wm-select/wm-select.e2e.js +0 -521
  193. package/dist/collection/components/selects/wm-select/wm-select.js +0 -584
  194. package/dist/collection/components/selects/wm-select/wm-select.spec.js +0 -271
  195. package/dist/collection/components/wm-action-menu/wm-action-menu.css +0 -891
  196. package/dist/collection/components/wm-action-menu/wm-action-menu.e2e.js +0 -200
  197. package/dist/collection/components/wm-action-menu/wm-action-menu.js +0 -435
  198. package/dist/collection/components/wm-action-menu/wm-action-menu.spec.js +0 -48
  199. package/dist/collection/components/wm-button/wm-button.css +0 -1261
  200. package/dist/collection/components/wm-button/wm-button.e2e.js +0 -55
  201. package/dist/collection/components/wm-button/wm-button.js +0 -489
  202. package/dist/collection/components/wm-button/wm-button.spec.js +0 -74
  203. package/dist/collection/components/wm-file/wm-file.css +0 -927
  204. package/dist/collection/components/wm-file/wm-file.js +0 -412
  205. package/dist/collection/components/wm-file/wm-file.spec.js +0 -194
  206. package/dist/collection/components/wm-file-list/wm-file-list.css +0 -820
  207. package/dist/collection/components/wm-file-list/wm-file-list.js +0 -45
  208. package/dist/collection/components/wm-file-list/wm-file-list.spec.js +0 -69
  209. package/dist/collection/components/wm-input/wm-input.css +0 -992
  210. package/dist/collection/components/wm-input/wm-input.e2e.js +0 -32
  211. package/dist/collection/components/wm-input/wm-input.js +0 -471
  212. package/dist/collection/components/wm-input/wm-input.spec.js +0 -173
  213. package/dist/collection/components/wm-menuitem/wm-menuitem.css +0 -891
  214. package/dist/collection/components/wm-menuitem/wm-menuitem.e2e.js +0 -23
  215. package/dist/collection/components/wm-menuitem/wm-menuitem.js +0 -419
  216. package/dist/collection/components/wm-menuitem/wm-menuitem.spec.js +0 -54
  217. package/dist/collection/components/wm-modal/wm-modal-footer.css +0 -845
  218. package/dist/collection/components/wm-modal/wm-modal-footer.js +0 -141
  219. package/dist/collection/components/wm-modal/wm-modal-footer.spec.js +0 -11
  220. package/dist/collection/components/wm-modal/wm-modal-header.css +0 -844
  221. package/dist/collection/components/wm-modal/wm-modal-header.js +0 -78
  222. package/dist/collection/components/wm-modal/wm-modal-header.spec.js +0 -8
  223. package/dist/collection/components/wm-modal/wm-modal.css +0 -891
  224. package/dist/collection/components/wm-modal/wm-modal.e2e.js +0 -104
  225. package/dist/collection/components/wm-modal/wm-modal.js +0 -350
  226. package/dist/collection/components/wm-modal/wm-modal.spec.js +0 -30
  227. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.css +0 -852
  228. package/dist/collection/components/wm-modal-pss/wm-modal-pss-footer.js +0 -138
  229. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.css +0 -846
  230. package/dist/collection/components/wm-modal-pss/wm-modal-pss-header.js +0 -82
  231. package/dist/collection/components/wm-modal-pss/wm-modal-pss.css +0 -927
  232. package/dist/collection/components/wm-modal-pss/wm-modal-pss.js +0 -362
  233. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +0 -847
  234. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +0 -119
  235. package/dist/collection/components/wm-navigation/wm-navigation-item.css +0 -856
  236. package/dist/collection/components/wm-navigation/wm-navigation-item.js +0 -98
  237. package/dist/collection/components/wm-navigation/wm-navigation.css +0 -898
  238. package/dist/collection/components/wm-navigation/wm-navigation.e2e.js +0 -102
  239. package/dist/collection/components/wm-navigation/wm-navigation.js +0 -190
  240. package/dist/collection/components/wm-navigation/wm-navigation.spec.js +0 -91
  241. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.css +0 -849
  242. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.e2e.js +0 -50
  243. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +0 -86
  244. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.css +0 -830
  245. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +0 -124
  246. package/dist/collection/components/wm-navigator/wm-navigator.css +0 -903
  247. package/dist/collection/components/wm-navigator/wm-navigator.e2e.js +0 -209
  248. package/dist/collection/components/wm-navigator/wm-navigator.js +0 -496
  249. package/dist/collection/components/wm-navigator/wm-navigator.spec.js +0 -177
  250. package/dist/collection/components/wm-pagination/wm-pagination.css +0 -971
  251. package/dist/collection/components/wm-pagination/wm-pagination.e2e.js +0 -312
  252. package/dist/collection/components/wm-pagination/wm-pagination.js +0 -363
  253. package/dist/collection/components/wm-search/wm-search.css +0 -895
  254. package/dist/collection/components/wm-search/wm-search.e2e.js +0 -76
  255. package/dist/collection/components/wm-search/wm-search.js +0 -426
  256. package/dist/collection/components/wm-search/wm-search.spec.js +0 -71
  257. package/dist/collection/components/wm-snackbar/wm-snackbar.css +0 -1077
  258. package/dist/collection/components/wm-snackbar/wm-snackbar.e2e.js +0 -112
  259. package/dist/collection/components/wm-snackbar/wm-snackbar.js +0 -269
  260. package/dist/collection/components/wm-snackbar/wm-snackbar.spec.js +0 -9
  261. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +0 -868
  262. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +0 -175
  263. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.css +0 -840
  264. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +0 -273
  265. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.css +0 -825
  266. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +0 -87
  267. package/dist/collection/components/wm-tabs/wm-tabs.e2e.js +0 -91
  268. package/dist/collection/components/wm-tabs/wm-tabs.spec.js +0 -12
  269. package/dist/collection/components/wm-tag-input/wm-tag-input.css +0 -1275
  270. package/dist/collection/components/wm-tag-input/wm-tag-input.e2e.js +0 -204
  271. package/dist/collection/components/wm-tag-input/wm-tag-input.js +0 -1227
  272. package/dist/collection/components/wm-tag-input/wm-tag-input.spec.js +0 -195
  273. package/dist/collection/components/wm-tag-input/wm-tag-option/wm-tag-option.js +0 -243
  274. package/dist/collection/components/wm-textarea/wm-textarea.css +0 -979
  275. package/dist/collection/components/wm-textarea/wm-textarea.e2e.js +0 -41
  276. package/dist/collection/components/wm-textarea/wm-textarea.js +0 -313
  277. package/dist/collection/components/wm-textarea/wm-textarea.spec.js +0 -79
  278. package/dist/collection/components/wm-timepicker/wm-timepicker.css +0 -1093
  279. package/dist/collection/components/wm-timepicker/wm-timepicker.e2e.js +0 -163
  280. package/dist/collection/components/wm-timepicker/wm-timepicker.js +0 -544
  281. package/dist/collection/components/wm-timepicker/wm-timepicker.spec.js +0 -147
  282. package/dist/collection/components/wm-toggletip/wm-toggletip.css +0 -1152
  283. package/dist/collection/components/wm-toggletip/wm-toggletip.e2e.js +0 -69
  284. package/dist/collection/components/wm-toggletip/wm-toggletip.js +0 -289
  285. package/dist/collection/components/wm-toggletip/wm-toggletip.spec.js +0 -21
  286. package/dist/collection/components/wm-uploader/wm-uploader.css +0 -1563
  287. package/dist/collection/components/wm-uploader/wm-uploader.e2e.js +0 -70
  288. package/dist/collection/components/wm-uploader/wm-uploader.js +0 -603
  289. package/dist/collection/components/wm-uploader/wm-uploader.spec.js +0 -234
  290. package/dist/collection/components/wm-wrapper/wm-wrapper.js +0 -28
  291. package/dist/collection/dev/button.js +0 -0
  292. package/dist/collection/dev/chart-small.js +0 -56
  293. package/dist/collection/dev/chart.js +0 -18
  294. package/dist/collection/dev/date-range.js +0 -6
  295. package/dist/collection/dev/datepicker.js +0 -46
  296. package/dist/collection/dev/file-list.js +0 -16
  297. package/dist/collection/dev/file.js +0 -0
  298. package/dist/collection/dev/input.js +0 -6
  299. package/dist/collection/dev/line-chart.js +0 -0
  300. package/dist/collection/dev/modal.js +0 -48
  301. package/dist/collection/dev/navigation.js +0 -13
  302. package/dist/collection/dev/navigator.js +0 -34
  303. package/dist/collection/dev/nested-select.js +0 -36
  304. package/dist/collection/dev/pagination.js +0 -7
  305. package/dist/collection/dev/progress-monitor.js +0 -0
  306. package/dist/collection/dev/pss-modal.js +0 -8
  307. package/dist/collection/dev/scripts.js +0 -49
  308. package/dist/collection/dev/search.js +0 -72
  309. package/dist/collection/dev/select.js +0 -57
  310. package/dist/collection/dev/snackbar.js +0 -54
  311. package/dist/collection/dev/tabs.js +0 -44
  312. package/dist/collection/dev/tag-input.js +0 -32
  313. package/dist/collection/dev/textarea.js +0 -28
  314. package/dist/collection/dev/timepicker.js +0 -32
  315. package/dist/collection/dev/toggletip.js +0 -9
  316. package/dist/collection/dev/uploader.js +0 -139
  317. package/dist/collection/global/__mocks__/functions.js +0 -6
  318. package/dist/collection/global/functions.js +0 -825
  319. package/dist/collection/global/functions.spec.js +0 -126
  320. package/dist/collection/global/intl.js +0 -274
  321. package/dist/collection/global/services/__mocks__/http-service.js +0 -130
  322. package/dist/collection/global/services/http-service.js +0 -50
  323. package/dist/collection/lang/lang.js +0 -5
  324. package/dist/collection/lang/lang.spec.js +0 -20
  325. package/dist/collection/lang/missing.js +0 -43
  326. package/dist/collection/lang/piglatin.js +0 -101
  327. package/dist/esm/functions-00e1916b.js +0 -9639
  328. package/dist/esm/global-c76064cb.js +0 -83
  329. package/dist/esm/index-558b5a82.js +0 -2618
  330. package/dist/esm/index.js +0 -1
  331. package/dist/esm/interfaces-cc5b177f.js +0 -34
  332. package/dist/esm/loader.js +0 -10
  333. package/dist/esm/polyfills/core-js.js +0 -11
  334. package/dist/esm/polyfills/dom.js +0 -79
  335. package/dist/esm/polyfills/es5-html-element.js +0 -1
  336. package/dist/esm/polyfills/index.js +0 -34
  337. package/dist/esm/polyfills/system.js +0 -6
  338. package/dist/esm/ripple.js +0 -19
  339. package/dist/esm/wm-action-menu_2.entry.js +0 -328
  340. package/dist/esm/wm-chart-slice.entry.js +0 -23
  341. package/dist/esm/wm-modal-pss_3.entry.js +0 -208
  342. package/dist/esm/wm-modal_3.entry.js +0 -206
  343. package/dist/esm/wm-navigation_3.entry.js +0 -179
  344. package/dist/esm/wm-option_2.entry.js +0 -420
  345. package/dist/esm/wm-tab-item_3.entry.js +0 -254
  346. package/dist/esm/wm-tag-option.entry.js +0 -39
  347. package/dist/esm/wm-wrapper.entry.js +0 -17
  348. package/dist/esm-es5/chartFunctions-9099c7e9.js +0 -1
  349. package/dist/esm-es5/functions-00e1916b.js +0 -1
  350. package/dist/esm-es5/global-c76064cb.js +0 -1
  351. package/dist/esm-es5/index-558b5a82.js +0 -1
  352. package/dist/esm-es5/index.js +0 -0
  353. package/dist/esm-es5/interfaces-cc5b177f.js +0 -1
  354. package/dist/esm-es5/intl-a6f16883.js +0 -1
  355. package/dist/esm-es5/loader.js +0 -1
  356. package/dist/esm-es5/priv-calendar.entry.js +0 -1
  357. package/dist/esm-es5/priv-chart-popover.entry.js +0 -1
  358. package/dist/esm-es5/priv-navigator-button.entry.js +0 -1
  359. package/dist/esm-es5/priv-navigator-item.entry.js +0 -1
  360. package/dist/esm-es5/priv-option-list.entry.js +0 -1
  361. package/dist/esm-es5/ripple.js +0 -1
  362. package/dist/esm-es5/wm-action-menu_2.entry.js +0 -1
  363. package/dist/esm-es5/wm-button.entry.js +0 -1
  364. package/dist/esm-es5/wm-chart-slice.entry.js +0 -1
  365. package/dist/esm-es5/wm-chart.entry.js +0 -1
  366. package/dist/esm-es5/wm-date-range.entry.js +0 -1
  367. package/dist/esm-es5/wm-datepicker.entry.js +0 -1
  368. package/dist/esm-es5/wm-file-list.entry.js +0 -1
  369. package/dist/esm-es5/wm-file.entry.js +0 -1
  370. package/dist/esm-es5/wm-input.entry.js +0 -1
  371. package/dist/esm-es5/wm-line-chart.entry.js +0 -1
  372. package/dist/esm-es5/wm-modal-pss_3.entry.js +0 -1
  373. package/dist/esm-es5/wm-modal_3.entry.js +0 -1
  374. package/dist/esm-es5/wm-navigation_3.entry.js +0 -1
  375. package/dist/esm-es5/wm-navigator.entry.js +0 -1
  376. package/dist/esm-es5/wm-nested-select.entry.js +0 -1
  377. package/dist/esm-es5/wm-optgroup.entry.js +0 -1
  378. package/dist/esm-es5/wm-option_2.entry.js +0 -1
  379. package/dist/esm-es5/wm-pagination.entry.js +0 -1
  380. package/dist/esm-es5/wm-progress-indicator_3.entry.js +0 -1
  381. package/dist/esm-es5/wm-search.entry.js +0 -1
  382. package/dist/esm-es5/wm-snackbar.entry.js +0 -1
  383. package/dist/esm-es5/wm-tab-item_3.entry.js +0 -1
  384. package/dist/esm-es5/wm-tag-input.entry.js +0 -1
  385. package/dist/esm-es5/wm-tag-option.entry.js +0 -1
  386. package/dist/esm-es5/wm-textarea.entry.js +0 -1
  387. package/dist/esm-es5/wm-timepicker.entry.js +0 -1
  388. package/dist/esm-es5/wm-toggletip.entry.js +0 -1
  389. package/dist/esm-es5/wm-uploader.entry.js +0 -1
  390. package/dist/esm-es5/wm-wrapper.entry.js +0 -1
  391. package/dist/index.cjs.js +0 -1
  392. package/dist/index.js +0 -1
  393. package/dist/loader/cdn.js +0 -3
  394. package/dist/loader/index.cjs.js +0 -3
  395. package/dist/loader/index.d.ts +0 -21
  396. package/dist/loader/index.es2017.js +0 -3
  397. package/dist/loader/index.js +0 -4
  398. package/dist/loader/package.json +0 -11
  399. package/dist/ripple/index.esm.js +0 -0
  400. package/dist/ripple/p-05ae54d7.entry.js +0 -1
  401. package/dist/ripple/p-0d89d63c.system.entry.js +0 -1
  402. package/dist/ripple/p-118c47eb.system.entry.js +0 -1
  403. package/dist/ripple/p-1a4b6b02.system.entry.js +0 -1
  404. package/dist/ripple/p-1a4b7504.system.entry.js +0 -1
  405. package/dist/ripple/p-1a951dfb.entry.js +0 -1
  406. package/dist/ripple/p-1c8f550f.system.entry.js +0 -1
  407. package/dist/ripple/p-1f751b87.js +0 -1
  408. package/dist/ripple/p-1fac5bf9.js +0 -1
  409. package/dist/ripple/p-20a8f732.system.entry.js +0 -1
  410. package/dist/ripple/p-249b56fb.entry.js +0 -1
  411. package/dist/ripple/p-249d13a1.system.entry.js +0 -1
  412. package/dist/ripple/p-26906899.entry.js +0 -1
  413. package/dist/ripple/p-2732bddd.js +0 -1
  414. package/dist/ripple/p-28119645.system.entry.js +0 -1
  415. package/dist/ripple/p-2f37f3ee.system.js +0 -1
  416. package/dist/ripple/p-32bf3f5b.system.entry.js +0 -1
  417. package/dist/ripple/p-335c03d3.system.entry.js +0 -1
  418. package/dist/ripple/p-363b534b.entry.js +0 -1
  419. package/dist/ripple/p-393e4636.js +0 -1
  420. package/dist/ripple/p-39f79d71.system.entry.js +0 -1
  421. package/dist/ripple/p-3a231f4b.system.entry.js +0 -1
  422. package/dist/ripple/p-3d4bb85f.entry.js +0 -1
  423. package/dist/ripple/p-4228de00.entry.js +0 -1
  424. package/dist/ripple/p-42fa7a77.system.js +0 -1
  425. package/dist/ripple/p-48e09589.entry.js +0 -1
  426. package/dist/ripple/p-4f8fe1d1.system.js +0 -1
  427. package/dist/ripple/p-50ea2036.system.js +0 -1
  428. package/dist/ripple/p-522ecb7d.system.entry.js +0 -1
  429. package/dist/ripple/p-54d6f0f9.entry.js +0 -1
  430. package/dist/ripple/p-568c595f.js +0 -2
  431. package/dist/ripple/p-56aeee6e.system.entry.js +0 -1
  432. package/dist/ripple/p-5e6a4f70.system.js +0 -1
  433. package/dist/ripple/p-5f082360.system.entry.js +0 -1
  434. package/dist/ripple/p-5f5fe905.js +0 -1
  435. package/dist/ripple/p-617c2c75.entry.js +0 -1
  436. package/dist/ripple/p-6524c53e.system.entry.js +0 -1
  437. package/dist/ripple/p-65d26233.system.entry.js +0 -1
  438. package/dist/ripple/p-6834a6d3.entry.js +0 -1
  439. package/dist/ripple/p-68e04222.entry.js +0 -1
  440. package/dist/ripple/p-68fddfaa.system.entry.js +0 -1
  441. package/dist/ripple/p-694903e6.system.entry.js +0 -1
  442. package/dist/ripple/p-73ca2f26.system.js +0 -1
  443. package/dist/ripple/p-7b6a65f8.system.entry.js +0 -1
  444. package/dist/ripple/p-7b7e1eb5.system.entry.js +0 -1
  445. package/dist/ripple/p-88ebddd7.entry.js +0 -1
  446. package/dist/ripple/p-8c1d27a7.entry.js +0 -1
  447. package/dist/ripple/p-8e9c24f3.entry.js +0 -1
  448. package/dist/ripple/p-8f836507.system.entry.js +0 -1
  449. package/dist/ripple/p-94495341.entry.js +0 -1
  450. package/dist/ripple/p-958331bf.entry.js +0 -1
  451. package/dist/ripple/p-9872623b.entry.js +0 -1
  452. package/dist/ripple/p-9ab3c088.system.entry.js +0 -1
  453. package/dist/ripple/p-9aedd599.entry.js +0 -1
  454. package/dist/ripple/p-9b848151.entry.js +0 -1
  455. package/dist/ripple/p-a04ef164.system.entry.js +0 -1
  456. package/dist/ripple/p-a78bb423.system.entry.js +0 -1
  457. package/dist/ripple/p-a880d9a0.system.entry.js +0 -1
  458. package/dist/ripple/p-ab8d78cc.system.js +0 -2
  459. package/dist/ripple/p-adc254e6.entry.js +0 -1
  460. package/dist/ripple/p-b165d61a.entry.js +0 -1
  461. package/dist/ripple/p-b39377c7.entry.js +0 -1
  462. package/dist/ripple/p-b9bca547.entry.js +0 -1
  463. package/dist/ripple/p-bae2c236.entry.js +0 -1
  464. package/dist/ripple/p-c53f3704.system.entry.js +0 -1
  465. package/dist/ripple/p-c56ff16f.entry.js +0 -1
  466. package/dist/ripple/p-c8cf09a2.system.entry.js +0 -1
  467. package/dist/ripple/p-cbdceb6e.entry.js +0 -1
  468. package/dist/ripple/p-cc813406.system.js +0 -1
  469. package/dist/ripple/p-d20a0f0c.system.entry.js +0 -1
  470. package/dist/ripple/p-d6111226.entry.js +0 -1
  471. package/dist/ripple/p-da68c87c.entry.js +0 -1
  472. package/dist/ripple/p-ddef82fa.system.entry.js +0 -1
  473. package/dist/ripple/p-dee6d5a3.entry.js +0 -1
  474. package/dist/ripple/p-e55d5371.entry.js +0 -1
  475. package/dist/ripple/p-e8c22f01.system.entry.js +0 -1
  476. package/dist/ripple/p-f555831b.entry.js +0 -1
  477. package/dist/ripple/p-f5c40e9e.system.entry.js +0 -1
  478. package/dist/ripple/p-fa09191b.system.entry.js +0 -1
  479. package/dist/ripple/p-fdfca58b.entry.js +0 -1
  480. package/dist/ripple/ripple.css +0 -1
  481. package/dist/ripple/ripple.esm.js +0 -1
  482. package/dist/ripple/ripple.js +0 -127
  483. /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
- }