@watermarkinsights/ripple 3.25.0-2 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-9dce0ea3.js → chartFunctions-2f04ab6a.js} +591 -591
  3. package/dist/cjs/chartFunctions-2f04ab6a.js.map +1 -0
  4. package/dist/cjs/{functions-53aff314.js → functions-d2d99997.js} +478 -478
  5. package/dist/cjs/{functions-53aff314.js.map → functions-d2d99997.js.map} +1 -1
  6. package/dist/cjs/{global-c22b1249.js → global-d0584d18.js} +63 -63
  7. package/dist/cjs/global-d0584d18.js.map +1 -0
  8. package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +50 -50
  9. package/dist/cjs/http-service-9e8c4dd5.js.map +1 -0
  10. package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +30 -30
  11. package/dist/cjs/interfaces-30a74c1f.js.map +1 -0
  12. package/dist/cjs/intl-a1ccf587.js +140 -0
  13. package/dist/cjs/intl-a1ccf587.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  16. package/dist/cjs/priv-chart-popover.cjs.entry.js.map +1 -1
  17. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  18. package/dist/cjs/priv-datepicker.cjs.entry.js.map +1 -1
  19. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  20. package/dist/cjs/priv-navigator-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  22. package/dist/cjs/priv-navigator-item.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ripple.cjs.js +2 -2
  24. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  25. package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wm-button.cjs.entry.js +260 -260
  27. package/dist/cjs/wm-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  29. package/dist/cjs/wm-chart-slice.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wm-chart.cjs.entry.js +179 -179
  31. package/dist/cjs/wm-chart.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wm-datepicker.cjs.entry.js +264 -264
  33. package/dist/cjs/wm-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  35. package/dist/cjs/wm-file-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wm-file.cjs.entry.js +201 -201
  37. package/dist/cjs/wm-file.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wm-input.cjs.entry.js +124 -140
  39. package/dist/cjs/wm-input.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  41. package/dist/cjs/wm-modal-footer.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wm-modal-header.cjs.entry.js +32 -32
  43. package/dist/cjs/wm-modal-header.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  45. package/dist/cjs/wm-modal.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wm-navigation_3.cjs.entry.js +225 -230
  47. package/dist/cjs/wm-navigation_3.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  49. package/dist/cjs/wm-navigator.cjs.entry.js.map +1 -1
  50. package/dist/cjs/wm-network-uploader.cjs.entry.js +465 -467
  51. package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
  52. package/dist/cjs/wm-option_2.cjs.entry.js +769 -772
  53. package/dist/cjs/wm-option_2.cjs.entry.js.map +1 -1
  54. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  55. package/dist/cjs/wm-pagination.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  57. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +1 -1
  58. package/dist/cjs/wm-search.cjs.entry.js +185 -192
  59. package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wm-snackbar.cjs.entry.js +155 -159
  61. package/dist/cjs/wm-snackbar.cjs.entry.js.map +1 -1
  62. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  63. package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +1 -1
  64. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  65. package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wm-tag-input.cjs.entry.js +912 -924
  67. package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wm-timepicker.cjs.entry.js +386 -386
  69. package/dist/cjs/wm-timepicker.cjs.entry.js.map +1 -1
  70. package/dist/cjs/wm-toggletip.cjs.entry.js +130 -130
  71. package/dist/cjs/wm-toggletip.cjs.entry.js.map +1 -1
  72. package/dist/cjs/wm-uploader.cjs.entry.js +441 -510
  73. package/dist/cjs/wm-uploader.cjs.entry.js.map +1 -1
  74. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  75. package/dist/cjs/wm-wrapper.cjs.entry.js.map +1 -1
  76. package/dist/collection/components/charts/chartFunctions.js +557 -557
  77. package/dist/collection/components/charts/chartFunctions.js.map +1 -1
  78. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -270
  79. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +1 -1
  80. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +126 -126
  81. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +1 -1
  82. package/dist/collection/components/charts/wm-chart/wm-chart.js +447 -447
  83. package/dist/collection/components/charts/wm-chart/wm-chart.js.map +1 -1
  84. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +208 -208
  85. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +1 -1
  86. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +144 -144
  87. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +1 -1
  88. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +122 -122
  89. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +1 -1
  90. package/dist/collection/components/wm-action-menu/wm-action-menu.js +473 -473
  91. package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +1 -1
  92. package/dist/collection/components/wm-button/wm-button.js +576 -576
  93. package/dist/collection/components/wm-button/wm-button.js.map +1 -1
  94. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +984 -984
  95. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +1 -1
  96. package/dist/collection/components/wm-datepicker/wm-datepicker.css +4 -4
  97. package/dist/collection/components/wm-datepicker/wm-datepicker.js +492 -492
  98. package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +1 -1
  99. package/dist/collection/components/wm-file/wm-file.js +334 -334
  100. package/dist/collection/components/wm-file/wm-file.js.map +1 -1
  101. package/dist/collection/components/wm-file-list/wm-file-list.js +153 -153
  102. package/dist/collection/components/wm-file-list/wm-file-list.js.map +1 -1
  103. package/dist/collection/components/wm-input/wm-input.css +4 -4
  104. package/dist/collection/components/wm-input/wm-input.js +428 -444
  105. package/dist/collection/components/wm-input/wm-input.js.map +1 -1
  106. package/dist/collection/components/wm-menuitem/wm-menuitem.js +455 -455
  107. package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +1 -1
  108. package/dist/collection/components/wm-modal/wm-modal-footer.js +139 -139
  109. package/dist/collection/components/wm-modal/wm-modal-footer.js.map +1 -1
  110. package/dist/collection/components/wm-modal/wm-modal-header.js +83 -83
  111. package/dist/collection/components/wm-modal/wm-modal-header.js.map +1 -1
  112. package/dist/collection/components/wm-modal/wm-modal.js +463 -463
  113. package/dist/collection/components/wm-modal/wm-modal.js.map +1 -1
  114. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +177 -177
  115. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +1 -1
  116. package/dist/collection/components/wm-navigation/wm-navigation-item.js +131 -131
  117. package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +1 -1
  118. package/dist/collection/components/wm-navigation/wm-navigation.js +218 -223
  119. package/dist/collection/components/wm-navigation/wm-navigation.js.map +1 -1
  120. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +107 -107
  121. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +1 -1
  122. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +124 -124
  123. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +1 -1
  124. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  125. package/dist/collection/components/wm-navigator/wm-navigator.js.map +1 -1
  126. package/dist/collection/components/wm-option/wm-option.js +436 -436
  127. package/dist/collection/components/wm-option/wm-option.js.map +1 -1
  128. package/dist/collection/components/wm-pagination/wm-pagination.js +371 -371
  129. package/dist/collection/components/wm-pagination/wm-pagination.js.map +1 -1
  130. package/dist/collection/components/wm-search/wm-search.css +5 -3
  131. package/dist/collection/components/wm-search/wm-search.js +440 -447
  132. package/dist/collection/components/wm-search/wm-search.js.map +1 -1
  133. package/dist/collection/components/wm-select/wm-select.css +4 -4
  134. package/dist/collection/components/wm-select/wm-select.js +1055 -1058
  135. package/dist/collection/components/wm-select/wm-select.js.map +1 -1
  136. package/dist/collection/components/wm-snackbar/wm-snackbar.js +283 -287
  137. package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +1 -1
  138. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +212 -212
  139. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +1 -1
  140. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +328 -328
  141. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +1 -1
  142. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +109 -109
  143. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +1 -1
  144. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +123 -123
  145. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +1 -1
  146. package/dist/collection/components/wm-tag-input/wm-tag-input.css +4 -4
  147. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1267 -1279
  148. package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
  149. package/dist/collection/components/wm-timepicker/wm-timepicker.css +4 -4
  150. package/dist/collection/components/wm-timepicker/wm-timepicker.js +606 -606
  151. package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +1 -1
  152. package/dist/collection/components/wm-toggletip/wm-toggletip.js +254 -254
  153. package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +1 -1
  154. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +773 -775
  155. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +1 -1
  156. package/dist/collection/components/wm-uploader/wm-uploader.js +965 -1034
  157. package/dist/collection/components/wm-uploader/wm-uploader.js.map +1 -1
  158. package/dist/collection/components/wm-wrapper/wm-wrapper.js +29 -29
  159. package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +1 -1
  160. package/dist/collection/dev/scripts.js +20 -20
  161. package/dist/collection/global/__mocks__/functions.js +7 -7
  162. package/dist/collection/global/__mocks__/functions.js.map +1 -1
  163. package/dist/collection/global/functions.js +521 -521
  164. package/dist/collection/global/functions.js.map +1 -1
  165. package/dist/collection/global/global.js +70 -70
  166. package/dist/collection/global/global.js.map +1 -1
  167. package/dist/collection/global/interfaces.js +50 -50
  168. package/dist/collection/global/interfaces.js.map +1 -1
  169. package/dist/collection/global/intl.js +133 -7
  170. package/dist/collection/global/intl.js.map +1 -1
  171. package/dist/collection/global/services/__mocks__/http-service.js +131 -131
  172. package/dist/collection/global/services/__mocks__/http-service.js.map +1 -1
  173. package/dist/collection/global/services/http-service.js +51 -51
  174. package/dist/collection/global/services/http-service.js.map +1 -1
  175. package/dist/collection/lang/lang.js +6 -6
  176. package/dist/collection/lang/lang.js.map +1 -1
  177. package/dist/collection/lang/missing.js +43 -43
  178. package/dist/collection/lang/piglatin.js +93 -93
  179. package/dist/esm/{chartFunctions-1df8043a.js → chartFunctions-a72f5835.js} +591 -591
  180. package/dist/esm/chartFunctions-a72f5835.js.map +1 -0
  181. package/dist/esm/{functions-bb1309d0.js → functions-dc9964aa.js} +478 -478
  182. package/dist/esm/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
  183. package/dist/esm/{global-2c5c2727.js → global-3d0ef32b.js} +63 -63
  184. package/dist/esm/global-3d0ef32b.js.map +1 -0
  185. package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +50 -50
  186. package/dist/esm/http-service-5d037e16.js.map +1 -0
  187. package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +30 -30
  188. package/dist/esm/interfaces-61c6305b.js.map +1 -0
  189. package/dist/esm/intl-4d4826dd.js +137 -0
  190. package/dist/esm/intl-4d4826dd.js.map +1 -0
  191. package/dist/esm/loader.js +2 -2
  192. package/dist/esm/polyfills/core-js.js +0 -0
  193. package/dist/esm/polyfills/dom.js +0 -0
  194. package/dist/esm/polyfills/es5-html-element.js +0 -0
  195. package/dist/esm/polyfills/index.js +0 -0
  196. package/dist/esm/polyfills/system.js +0 -0
  197. package/dist/esm/priv-chart-popover.entry.js +91 -91
  198. package/dist/esm/priv-chart-popover.entry.js.map +1 -1
  199. package/dist/esm/priv-datepicker.entry.js +657 -657
  200. package/dist/esm/priv-datepicker.entry.js.map +1 -1
  201. package/dist/esm/priv-navigator-button.entry.js +19 -19
  202. package/dist/esm/priv-navigator-button.entry.js.map +1 -1
  203. package/dist/esm/priv-navigator-item.entry.js +23 -23
  204. package/dist/esm/priv-navigator-item.entry.js.map +1 -1
  205. package/dist/esm/ripple.js +2 -2
  206. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  207. package/dist/esm/wm-action-menu_2.entry.js.map +1 -1
  208. package/dist/esm/wm-button.entry.js +260 -260
  209. package/dist/esm/wm-button.entry.js.map +1 -1
  210. package/dist/esm/wm-chart-slice.entry.js +18 -18
  211. package/dist/esm/wm-chart-slice.entry.js.map +1 -1
  212. package/dist/esm/wm-chart.entry.js +179 -179
  213. package/dist/esm/wm-chart.entry.js.map +1 -1
  214. package/dist/esm/wm-datepicker.entry.js +264 -264
  215. package/dist/esm/wm-datepicker.entry.js.map +1 -1
  216. package/dist/esm/wm-file-list.entry.js +35 -35
  217. package/dist/esm/wm-file-list.entry.js.map +1 -1
  218. package/dist/esm/wm-file.entry.js +201 -201
  219. package/dist/esm/wm-file.entry.js.map +1 -1
  220. package/dist/esm/wm-input.entry.js +124 -140
  221. package/dist/esm/wm-input.entry.js.map +1 -1
  222. package/dist/esm/wm-modal-footer.entry.js +33 -33
  223. package/dist/esm/wm-modal-footer.entry.js.map +1 -1
  224. package/dist/esm/wm-modal-header.entry.js +32 -32
  225. package/dist/esm/wm-modal-header.entry.js.map +1 -1
  226. package/dist/esm/wm-modal.entry.js +152 -152
  227. package/dist/esm/wm-modal.entry.js.map +1 -1
  228. package/dist/esm/wm-navigation_3.entry.js +225 -230
  229. package/dist/esm/wm-navigation_3.entry.js.map +1 -1
  230. package/dist/esm/wm-navigator.entry.js +264 -264
  231. package/dist/esm/wm-navigator.entry.js.map +1 -1
  232. package/dist/esm/wm-network-uploader.entry.js +465 -467
  233. package/dist/esm/wm-network-uploader.entry.js.map +1 -1
  234. package/dist/esm/wm-option_2.entry.js +769 -772
  235. package/dist/esm/wm-option_2.entry.js.map +1 -1
  236. package/dist/esm/wm-pagination.entry.js +179 -179
  237. package/dist/esm/wm-pagination.entry.js.map +1 -1
  238. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  239. package/dist/esm/wm-progress-indicator_3.entry.js.map +1 -1
  240. package/dist/esm/wm-search.entry.js +185 -192
  241. package/dist/esm/wm-search.entry.js.map +1 -1
  242. package/dist/esm/wm-snackbar.entry.js +155 -159
  243. package/dist/esm/wm-snackbar.entry.js.map +1 -1
  244. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  245. package/dist/esm/wm-tab-item_3.entry.js.map +1 -1
  246. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  247. package/dist/esm/wm-tag-input-row.entry.js.map +1 -1
  248. package/dist/esm/wm-tag-input.entry.js +912 -924
  249. package/dist/esm/wm-tag-input.entry.js.map +1 -1
  250. package/dist/esm/wm-timepicker.entry.js +386 -386
  251. package/dist/esm/wm-timepicker.entry.js.map +1 -1
  252. package/dist/esm/wm-toggletip.entry.js +130 -130
  253. package/dist/esm/wm-toggletip.entry.js.map +1 -1
  254. package/dist/esm/wm-uploader.entry.js +441 -510
  255. package/dist/esm/wm-uploader.entry.js.map +1 -1
  256. package/dist/esm/wm-wrapper.entry.js +12 -12
  257. package/dist/esm/wm-wrapper.entry.js.map +1 -1
  258. package/dist/esm-es5/{chartFunctions-1df8043a.js → chartFunctions-a72f5835.js} +2 -2
  259. package/dist/esm-es5/chartFunctions-a72f5835.js.map +1 -0
  260. package/dist/esm-es5/{functions-bb1309d0.js → functions-dc9964aa.js} +1 -1
  261. package/dist/esm-es5/{functions-bb1309d0.js.map → functions-dc9964aa.js.map} +1 -1
  262. package/dist/esm-es5/global-3d0ef32b.js +2 -0
  263. package/dist/esm-es5/global-3d0ef32b.js.map +1 -0
  264. package/dist/esm-es5/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +1 -1
  265. package/dist/esm-es5/http-service-5d037e16.js.map +1 -0
  266. package/dist/esm-es5/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +1 -1
  267. package/dist/esm-es5/interfaces-61c6305b.js.map +1 -0
  268. package/dist/esm-es5/intl-4d4826dd.js +2 -0
  269. package/dist/esm-es5/intl-4d4826dd.js.map +1 -0
  270. package/dist/esm-es5/loader.js +1 -1
  271. package/dist/esm-es5/loader.js.map +1 -1
  272. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  273. package/dist/esm-es5/priv-chart-popover.entry.js.map +1 -1
  274. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  275. package/dist/esm-es5/priv-datepicker.entry.js.map +1 -1
  276. package/dist/esm-es5/priv-navigator-button.entry.js.map +1 -1
  277. package/dist/esm-es5/priv-navigator-item.entry.js.map +1 -1
  278. package/dist/esm-es5/ripple.js +1 -1
  279. package/dist/esm-es5/ripple.js.map +1 -1
  280. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  281. package/dist/esm-es5/wm-action-menu_2.entry.js.map +1 -1
  282. package/dist/esm-es5/wm-button.entry.js +1 -1
  283. package/dist/esm-es5/wm-button.entry.js.map +1 -1
  284. package/dist/esm-es5/wm-chart-slice.entry.js.map +1 -1
  285. package/dist/esm-es5/wm-chart.entry.js +1 -1
  286. package/dist/esm-es5/wm-chart.entry.js.map +1 -1
  287. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  288. package/dist/esm-es5/wm-datepicker.entry.js.map +1 -1
  289. package/dist/esm-es5/wm-file-list.entry.js.map +1 -1
  290. package/dist/esm-es5/wm-file.entry.js +1 -1
  291. package/dist/esm-es5/wm-file.entry.js.map +1 -1
  292. package/dist/esm-es5/wm-input.entry.js +1 -1
  293. package/dist/esm-es5/wm-input.entry.js.map +1 -1
  294. package/dist/esm-es5/wm-modal-footer.entry.js.map +1 -1
  295. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  296. package/dist/esm-es5/wm-modal-header.entry.js.map +1 -1
  297. package/dist/esm-es5/wm-modal.entry.js +1 -1
  298. package/dist/esm-es5/wm-modal.entry.js.map +1 -1
  299. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  300. package/dist/esm-es5/wm-navigation_3.entry.js.map +1 -1
  301. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  302. package/dist/esm-es5/wm-navigator.entry.js.map +1 -1
  303. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  304. package/dist/esm-es5/wm-network-uploader.entry.js.map +1 -1
  305. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  306. package/dist/esm-es5/wm-option_2.entry.js.map +1 -1
  307. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  308. package/dist/esm-es5/wm-pagination.entry.js.map +1 -1
  309. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  310. package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +1 -1
  311. package/dist/esm-es5/wm-search.entry.js +1 -1
  312. package/dist/esm-es5/wm-search.entry.js.map +1 -1
  313. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  314. package/dist/esm-es5/wm-snackbar.entry.js.map +1 -1
  315. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  316. package/dist/esm-es5/wm-tab-item_3.entry.js.map +1 -1
  317. package/dist/esm-es5/wm-tag-input-row.entry.js.map +1 -1
  318. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  319. package/dist/esm-es5/wm-tag-input.entry.js.map +1 -1
  320. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  321. package/dist/esm-es5/wm-timepicker.entry.js.map +1 -1
  322. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  323. package/dist/esm-es5/wm-toggletip.entry.js.map +1 -1
  324. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  325. package/dist/esm-es5/wm-uploader.entry.js.map +1 -1
  326. package/dist/esm-es5/wm-wrapper.entry.js.map +1 -1
  327. package/dist/ripple/{p-3f6c7e6c.entry.js → p-002d067e.entry.js} +2 -2
  328. package/dist/ripple/p-002d067e.entry.js.map +1 -0
  329. package/dist/ripple/p-02a1000a.entry.js +2 -0
  330. package/dist/ripple/p-02a1000a.entry.js.map +1 -0
  331. package/dist/ripple/{p-21bb563a.system.entry.js → p-04ae66fd.system.entry.js} +2 -2
  332. package/dist/ripple/p-04ae66fd.system.entry.js.map +1 -0
  333. package/dist/ripple/{p-c38f6103.system.js → p-0826dc64.system.js} +2 -2
  334. package/dist/ripple/{p-c38f6103.system.js.map → p-0826dc64.system.js.map} +1 -1
  335. package/dist/ripple/{p-f5df5903.system.js → p-08b7ec08.system.js} +1 -1
  336. package/dist/ripple/p-08b7ec08.system.js.map +1 -0
  337. package/dist/ripple/{p-d5b0809e.entry.js → p-0ad3a708.entry.js} +2 -2
  338. package/dist/ripple/p-0ad3a708.entry.js.map +1 -0
  339. package/dist/ripple/p-0cd13c7d.system.entry.js +2 -0
  340. package/dist/ripple/p-0cd13c7d.system.entry.js.map +1 -0
  341. package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
  342. package/dist/ripple/p-0eb7b1b7.system.entry.js +2 -0
  343. package/dist/ripple/p-0eb7b1b7.system.entry.js.map +1 -0
  344. package/dist/ripple/{p-70768add.entry.js → p-11124a23.entry.js} +2 -2
  345. package/dist/ripple/p-11124a23.entry.js.map +1 -0
  346. package/dist/ripple/p-1808b90a.entry.js +2 -0
  347. package/dist/ripple/p-1808b90a.entry.js.map +1 -0
  348. package/dist/ripple/p-1fd20e05.system.entry.js +2 -0
  349. package/dist/ripple/p-1fd20e05.system.entry.js.map +1 -0
  350. package/dist/ripple/{p-f36b1c58.system.entry.js → p-23fa1ff6.system.entry.js} +2 -2
  351. package/dist/ripple/p-23fa1ff6.system.entry.js.map +1 -0
  352. package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
  353. package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
  354. package/dist/ripple/{p-9d02957d.system.js → p-313b6073.system.js} +1 -1
  355. package/dist/ripple/p-313b6073.system.js.map +1 -0
  356. package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
  357. package/dist/ripple/{p-28c12986.system.entry.js → p-33ec18d4.system.entry.js} +2 -2
  358. package/dist/ripple/p-33ec18d4.system.entry.js.map +1 -0
  359. package/dist/ripple/{p-7d0f3abe.entry.js → p-341aa131.entry.js} +2 -2
  360. package/dist/ripple/p-341aa131.entry.js.map +1 -0
  361. package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
  362. package/dist/ripple/p-38449dff.system.entry.js +2 -0
  363. package/dist/ripple/p-38449dff.system.entry.js.map +1 -0
  364. package/dist/ripple/{p-ee97c3f6.entry.js → p-384c4981.entry.js} +2 -2
  365. package/dist/ripple/p-384c4981.entry.js.map +1 -0
  366. package/dist/ripple/{p-b81ce905.system.entry.js → p-3869a69e.system.entry.js} +2 -2
  367. package/dist/ripple/p-3869a69e.system.entry.js.map +1 -0
  368. package/dist/ripple/p-4391166c.entry.js.map +1 -1
  369. package/dist/ripple/{p-e6e7cb2d.entry.js → p-43be123d.entry.js} +2 -2
  370. package/dist/ripple/p-43be123d.entry.js.map +1 -0
  371. package/dist/ripple/p-4a014591.entry.js.map +1 -1
  372. package/dist/ripple/p-4a06d0a9.system.entry.js +2 -0
  373. package/dist/ripple/p-4a06d0a9.system.entry.js.map +1 -0
  374. package/dist/ripple/p-4e02e2ae.entry.js +2 -0
  375. package/dist/ripple/p-4e02e2ae.entry.js.map +1 -0
  376. package/dist/ripple/p-56cd4d5e.entry.js +2 -0
  377. package/dist/ripple/p-56cd4d5e.entry.js.map +1 -0
  378. package/dist/ripple/p-59654f8e.entry.js.map +1 -1
  379. package/dist/ripple/p-5cc287d2.entry.js +2 -0
  380. package/dist/ripple/p-5cc287d2.entry.js.map +1 -0
  381. package/dist/ripple/{p-8eebf787.entry.js → p-7e0e6b00.entry.js} +2 -2
  382. package/dist/ripple/p-7e0e6b00.entry.js.map +1 -0
  383. package/dist/ripple/{p-0400599e.system.entry.js → p-833c622f.system.entry.js} +2 -2
  384. package/dist/ripple/p-833c622f.system.entry.js.map +1 -0
  385. package/dist/ripple/{p-b00991d9.system.entry.js → p-8613600d.system.entry.js} +2 -2
  386. package/dist/ripple/p-8613600d.system.entry.js.map +1 -0
  387. package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +1 -1
  388. package/dist/ripple/p-888bec42.js.map +1 -0
  389. package/dist/ripple/p-889579fc.entry.js +2 -0
  390. package/dist/ripple/p-889579fc.entry.js.map +1 -0
  391. package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
  392. package/dist/ripple/{p-42158d44.entry.js → p-8db604d2.entry.js} +2 -2
  393. package/dist/ripple/p-8db604d2.entry.js.map +1 -0
  394. package/dist/ripple/{p-24ef6556.system.entry.js → p-91deb45f.system.entry.js} +2 -2
  395. package/dist/ripple/p-91deb45f.system.entry.js.map +1 -0
  396. package/dist/ripple/p-9338011f.system.entry.js +2 -0
  397. package/dist/ripple/p-9338011f.system.entry.js.map +1 -0
  398. package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
  399. package/dist/ripple/{p-1aa16d42.js → p-994303f2.js} +2 -2
  400. package/dist/ripple/p-994303f2.js.map +1 -0
  401. package/dist/ripple/p-9b2dfb54.js +2 -0
  402. package/dist/ripple/p-9b2dfb54.js.map +1 -0
  403. package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
  404. package/dist/ripple/{p-980afed1.system.entry.js → p-a6d64d8a.system.entry.js} +2 -2
  405. package/dist/ripple/p-a6d64d8a.system.entry.js.map +1 -0
  406. package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +1 -1
  407. package/dist/ripple/p-a6d6eae7.js.map +1 -0
  408. package/dist/ripple/{p-219fbe2b.system.entry.js → p-a73cf968.system.entry.js} +2 -2
  409. package/dist/ripple/p-a73cf968.system.entry.js.map +1 -0
  410. package/dist/ripple/{p-76aafb99.system.entry.js → p-aed625c1.system.entry.js} +2 -2
  411. package/dist/ripple/p-aed625c1.system.entry.js.map +1 -0
  412. package/dist/ripple/{p-0d36ceba.system.entry.js → p-b5b521e4.system.entry.js} +2 -2
  413. package/dist/ripple/p-b5b521e4.system.entry.js.map +1 -0
  414. package/dist/ripple/{p-47d223f1.system.entry.js → p-b7451e73.system.entry.js} +2 -2
  415. package/dist/ripple/p-b7451e73.system.entry.js.map +1 -0
  416. package/dist/ripple/p-bafdcb4e.system.entry.js +2 -0
  417. package/dist/ripple/p-bafdcb4e.system.entry.js.map +1 -0
  418. package/dist/ripple/{p-262713b9.entry.js → p-bb45e122.entry.js} +2 -2
  419. package/dist/ripple/p-bb45e122.entry.js.map +1 -0
  420. package/dist/ripple/p-bd84628c.system.entry.js +2 -0
  421. package/dist/ripple/p-bd84628c.system.entry.js.map +1 -0
  422. package/dist/ripple/p-bf569af0.entry.js.map +1 -1
  423. package/dist/ripple/p-c094f6a8.entry.js +2 -0
  424. package/dist/ripple/p-c094f6a8.entry.js.map +1 -0
  425. package/dist/ripple/p-c36002b6.system.js +2 -0
  426. package/dist/ripple/p-c36002b6.system.js.map +1 -0
  427. package/dist/ripple/p-c5bf7db8.entry.js +2 -0
  428. package/dist/ripple/p-c5bf7db8.entry.js.map +1 -0
  429. package/dist/ripple/p-c68b3798.system.js +2 -0
  430. package/dist/ripple/p-c68b3798.system.js.map +1 -0
  431. package/dist/ripple/{p-05e0f901.js → p-c6a0f7e5.js} +1 -1
  432. package/dist/ripple/{p-05e0f901.js.map → p-c6a0f7e5.js.map} +1 -1
  433. package/dist/ripple/{p-bcba3ce8.entry.js → p-d46f5794.entry.js} +2 -2
  434. package/dist/ripple/p-d46f5794.entry.js.map +1 -0
  435. package/dist/ripple/{p-d7ffac2f.entry.js → p-d48313e0.entry.js} +2 -2
  436. package/dist/ripple/p-d48313e0.entry.js.map +1 -0
  437. package/dist/ripple/p-d939cb54.entry.js.map +1 -1
  438. package/dist/ripple/p-dbfd1640.system.entry.js.map +1 -1
  439. package/dist/ripple/{p-d7c55ce1.entry.js → p-e22854c1.entry.js} +2 -2
  440. package/dist/ripple/p-e22854c1.entry.js.map +1 -0
  441. package/dist/ripple/p-e70bb79f.js +2 -0
  442. package/dist/ripple/p-e70bb79f.js.map +1 -0
  443. package/dist/ripple/{p-e99a7f36.entry.js → p-ed82573a.entry.js} +2 -2
  444. package/dist/ripple/p-ed82573a.entry.js.map +1 -0
  445. package/dist/ripple/{p-bc28c815.system.js → p-f0fd8695.system.js} +1 -1
  446. package/dist/ripple/{p-bc28c815.system.js.map → p-f0fd8695.system.js.map} +1 -1
  447. package/dist/ripple/{p-e5f84104.system.entry.js → p-f312d59a.system.entry.js} +2 -2
  448. package/dist/ripple/p-f312d59a.system.entry.js.map +1 -0
  449. package/dist/ripple/{p-c19ddc00.system.entry.js → p-f59a495a.system.entry.js} +2 -2
  450. package/dist/ripple/p-f59a495a.system.entry.js.map +1 -0
  451. package/dist/ripple/{p-cc8ca6bd.system.js → p-f80eb8a5.system.js} +2 -2
  452. package/dist/ripple/p-f80eb8a5.system.js.map +1 -0
  453. package/dist/ripple/{p-1be55579.system.entry.js → p-fb67c39e.system.entry.js} +2 -2
  454. package/dist/ripple/p-fb67c39e.system.entry.js.map +1 -0
  455. package/dist/ripple/{p-20d0d019.entry.js → p-fc08d5e1.entry.js} +2 -2
  456. package/dist/ripple/p-fc08d5e1.entry.js.map +1 -0
  457. package/dist/ripple/{p-d7b946ed.entry.js → p-fe7da854.entry.js} +2 -2
  458. package/dist/ripple/p-fe7da854.entry.js.map +1 -0
  459. package/dist/ripple/ripple.esm.js +1 -1
  460. package/dist/ripple/ripple.esm.js.map +1 -1
  461. package/dist/ripple/ripple.js +1 -1
  462. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  463. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -0
  464. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  465. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -0
  466. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -0
  467. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -0
  468. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  469. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -0
  470. package/dist/types/components/wm-button/wm-button.d.ts +49 -0
  471. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -0
  472. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -0
  473. package/dist/types/components/wm-file/wm-file.d.ts +42 -0
  474. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -0
  475. package/dist/types/components/wm-input/wm-input.d.ts +45 -0
  476. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -0
  477. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  478. package/dist/types/components/wm-modal/wm-modal-header.d.ts +10 -10
  479. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -0
  480. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -0
  481. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -0
  482. package/dist/types/components/wm-navigation/wm-navigation.d.ts +26 -0
  483. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  484. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -0
  485. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -0
  486. package/dist/types/components/wm-option/wm-option.d.ts +34 -0
  487. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  488. package/dist/types/components/wm-search/wm-search.d.ts +77 -0
  489. package/dist/types/components/wm-select/wm-select.d.ts +101 -0
  490. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +31 -32
  491. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -0
  492. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -0
  493. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -0
  494. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -0
  495. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +135 -0
  496. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -0
  497. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -0
  498. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -0
  499. package/dist/types/components/wm-uploader/wm-uploader.d.ts +99 -0
  500. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  501. package/dist/types/components.d.ts +27 -27
  502. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  503. package/dist/types/global/functions.d.ts +48 -48
  504. package/dist/types/global/global.d.ts +1 -1
  505. package/dist/types/global/interfaces.d.ts +74 -74
  506. package/dist/types/global/intl.d.ts +29 -1
  507. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  508. package/dist/types/global/services/http-service.d.ts +4 -4
  509. package/dist/types/lang/lang.d.ts +5 -5
  510. package/package.json +46 -46
  511. package/dist/cjs/chartFunctions-9dce0ea3.js.map +0 -1
  512. package/dist/cjs/global-c22b1249.js.map +0 -1
  513. package/dist/cjs/http-service-494d81de.js.map +0 -1
  514. package/dist/cjs/interfaces-a3338581.js.map +0 -1
  515. package/dist/cjs/intl-e14dc0a1.js +0 -13
  516. package/dist/cjs/intl-e14dc0a1.js.map +0 -1
  517. package/dist/esm/chartFunctions-1df8043a.js.map +0 -1
  518. package/dist/esm/global-2c5c2727.js.map +0 -1
  519. package/dist/esm/http-service-3dc3b3e7.js.map +0 -1
  520. package/dist/esm/interfaces-2b97fab2.js.map +0 -1
  521. package/dist/esm/intl-4153b9ef.js +0 -11
  522. package/dist/esm/intl-4153b9ef.js.map +0 -1
  523. package/dist/esm-es5/chartFunctions-1df8043a.js.map +0 -1
  524. package/dist/esm-es5/global-2c5c2727.js +0 -2
  525. package/dist/esm-es5/global-2c5c2727.js.map +0 -1
  526. package/dist/esm-es5/http-service-3dc3b3e7.js.map +0 -1
  527. package/dist/esm-es5/interfaces-2b97fab2.js.map +0 -1
  528. package/dist/esm-es5/intl-4153b9ef.js +0 -2
  529. package/dist/esm-es5/intl-4153b9ef.js.map +0 -1
  530. package/dist/ripple/p-0400599e.system.entry.js.map +0 -1
  531. package/dist/ripple/p-075607ac.entry.js +0 -2
  532. package/dist/ripple/p-075607ac.entry.js.map +0 -1
  533. package/dist/ripple/p-08d17d5a.entry.js +0 -2
  534. package/dist/ripple/p-08d17d5a.entry.js.map +0 -1
  535. package/dist/ripple/p-0d36ceba.system.entry.js.map +0 -1
  536. package/dist/ripple/p-124da634.entry.js +0 -2
  537. package/dist/ripple/p-124da634.entry.js.map +0 -1
  538. package/dist/ripple/p-1aa16d42.js.map +0 -1
  539. package/dist/ripple/p-1be55579.system.entry.js.map +0 -1
  540. package/dist/ripple/p-20d0d019.entry.js.map +0 -1
  541. package/dist/ripple/p-219fbe2b.system.entry.js.map +0 -1
  542. package/dist/ripple/p-21bb563a.system.entry.js.map +0 -1
  543. package/dist/ripple/p-241d4d41.system.entry.js +0 -2
  544. package/dist/ripple/p-241d4d41.system.entry.js.map +0 -1
  545. package/dist/ripple/p-24ef6556.system.entry.js.map +0 -1
  546. package/dist/ripple/p-262713b9.entry.js.map +0 -1
  547. package/dist/ripple/p-28c12986.system.entry.js.map +0 -1
  548. package/dist/ripple/p-3f6c7e6c.entry.js.map +0 -1
  549. package/dist/ripple/p-42158d44.entry.js.map +0 -1
  550. package/dist/ripple/p-43f1298b.js.map +0 -1
  551. package/dist/ripple/p-47d223f1.system.entry.js.map +0 -1
  552. package/dist/ripple/p-4d30004f.entry.js +0 -2
  553. package/dist/ripple/p-4d30004f.entry.js.map +0 -1
  554. package/dist/ripple/p-58b1415e.system.js +0 -2
  555. package/dist/ripple/p-58b1415e.system.js.map +0 -1
  556. package/dist/ripple/p-5cda4e9c.system.entry.js +0 -2
  557. package/dist/ripple/p-5cda4e9c.system.entry.js.map +0 -1
  558. package/dist/ripple/p-64f15a9e.system.entry.js +0 -2
  559. package/dist/ripple/p-64f15a9e.system.entry.js.map +0 -1
  560. package/dist/ripple/p-6e6b5b2c.system.entry.js +0 -2
  561. package/dist/ripple/p-6e6b5b2c.system.entry.js.map +0 -1
  562. package/dist/ripple/p-70768add.entry.js.map +0 -1
  563. package/dist/ripple/p-76aafb99.system.entry.js.map +0 -1
  564. package/dist/ripple/p-7d0f3abe.entry.js.map +0 -1
  565. package/dist/ripple/p-8aa85021.system.entry.js +0 -2
  566. package/dist/ripple/p-8aa85021.system.entry.js.map +0 -1
  567. package/dist/ripple/p-8eebf787.entry.js.map +0 -1
  568. package/dist/ripple/p-96b0ca93.system.js +0 -2
  569. package/dist/ripple/p-96b0ca93.system.js.map +0 -1
  570. package/dist/ripple/p-980afed1.system.entry.js.map +0 -1
  571. package/dist/ripple/p-9d02957d.system.js.map +0 -1
  572. package/dist/ripple/p-adbeb6a8.system.entry.js +0 -2
  573. package/dist/ripple/p-adbeb6a8.system.entry.js.map +0 -1
  574. package/dist/ripple/p-b00991d9.system.entry.js.map +0 -1
  575. package/dist/ripple/p-b81ce905.system.entry.js.map +0 -1
  576. package/dist/ripple/p-bcba3ce8.entry.js.map +0 -1
  577. package/dist/ripple/p-bf808ec4.entry.js +0 -2
  578. package/dist/ripple/p-bf808ec4.entry.js.map +0 -1
  579. package/dist/ripple/p-c19ddc00.system.entry.js.map +0 -1
  580. package/dist/ripple/p-cc8ca6bd.system.js.map +0 -1
  581. package/dist/ripple/p-ce52357e.js +0 -2
  582. package/dist/ripple/p-ce52357e.js.map +0 -1
  583. package/dist/ripple/p-d0f5773a.entry.js +0 -2
  584. package/dist/ripple/p-d0f5773a.entry.js.map +0 -1
  585. package/dist/ripple/p-d5b0809e.entry.js.map +0 -1
  586. package/dist/ripple/p-d7b946ed.entry.js.map +0 -1
  587. package/dist/ripple/p-d7c55ce1.entry.js.map +0 -1
  588. package/dist/ripple/p-d7ffac2f.entry.js.map +0 -1
  589. package/dist/ripple/p-dbf657c5.js +0 -2
  590. package/dist/ripple/p-dbf657c5.js.map +0 -1
  591. package/dist/ripple/p-e1b812ed.entry.js +0 -2
  592. package/dist/ripple/p-e1b812ed.entry.js.map +0 -1
  593. package/dist/ripple/p-e5f84104.system.entry.js.map +0 -1
  594. package/dist/ripple/p-e6e7cb2d.entry.js.map +0 -1
  595. package/dist/ripple/p-e99a7f36.entry.js.map +0 -1
  596. package/dist/ripple/p-ed14d37c.system.entry.js +0 -2
  597. package/dist/ripple/p-ed14d37c.system.entry.js.map +0 -1
  598. package/dist/ripple/p-ee97c3f6.entry.js.map +0 -1
  599. package/dist/ripple/p-f3130941.entry.js +0 -2
  600. package/dist/ripple/p-f3130941.entry.js.map +0 -1
  601. package/dist/ripple/p-f36b1c58.system.entry.js.map +0 -1
  602. package/dist/ripple/p-f4a622a9.system.entry.js +0 -2
  603. package/dist/ripple/p-f4a622a9.system.entry.js.map +0 -1
  604. package/dist/ripple/p-f5df5903.system.js.map +0 -1
  605. package/dist/ripple/p-fd8070fb.js.map +0 -1
@@ -1,2 +1,2 @@
1
- System.register(["./p-7b2fc615.system.js","./p-f5df5903.system.js","./p-bc28c815.system.js"],(function(t){"use strict";var o,n,e,i,r,a,s,b;return{setters:[function(t){o=t.r;n=t.h;e=t.H;i=t.g},function(t){r=t.g},function(t){a=t.g;s=t.t;b=t.a}],execute:function(){var l=':host .wm-button,wm-button .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-button .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-button .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-button .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-button .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-button .wm-button.-textonly .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-button .wm-button.-textonly .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-button .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-button .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-button .mdi,wm-button .wm-button .mdi{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-button .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-button .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-button .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-button .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-secondary:hover:not(:disabled):not(.disabled),wm-button .wm-button.-secondary:hover:not(:disabled):not(.disabled),:host .wm-button.-selector:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selector:hover:not(:disabled):not(.disabled),:host .wm-button.-icononly:hover:not(:disabled):not(.disabled),wm-button .wm-button.-icononly:hover:not(:disabled):not(.disabled){background:#464177;color:#fff}:host .wm-button.-textonly,wm-button .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-button .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-button .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-button .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #fff), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-button .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-button .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline}:host .wm-button.-textonly.-permanentlydelete,wm-button .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark){text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-button .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled),wm-button .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled){text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-button .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-button .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-button .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-button .wm-button.-icononly:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-navigational,wm-button .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled),wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected,wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-button .wm-button.-navigational:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-permanentlydelete:not(.-textonly),wm-button .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark){background:#9a2e22;border-color:#9a2e22}:host .wm-button.-pairnegative,wm-button .wm-button.-pairnegative{background:#cc4c3e;border-color:#cc4c3e;color:#fff}:host .wm-button.-pairnegative:hover:not(:disabled):not(.disabled),wm-button .wm-button.-pairnegative:hover:not(:disabled):not(.disabled){background:#a33d32;border-color:#a33d32}:host .wm-button.-pairpositive,wm-button .wm-button.-pairpositive{background:#15868d;border-color:#15868d;color:#fff}:host .wm-button.-pairpositive:hover:not(:disabled):not(.disabled),wm-button .wm-button.-pairpositive:hover:not(:disabled):not(.disabled){background:#116b71;border-color:#116b71}:host .wm-button.-selector,wm-button .wm-button.-selector,:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:2px solid #575195;border-radius:3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selector,wm-button .wm-button.-selector,:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{height:2.5rem}}:host .wm-button.-selector:before,wm-button .wm-button.-selector:before,:host .wm-button.-selector-primary:before,wm-button .wm-button.-selector-primary:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f140";position:absolute;right:0.5625rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:0.875rem;font-weight:700;pointer-events:none}:host .wm-button.-selector:active,wm-button .wm-button.-selector:active,:host .wm-button.-selector-primary:active,wm-button .wm-button.-selector-primary:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selector::-moz-focus-inner,wm-button .wm-button.-selector::-moz-focus-inner,:host .wm-button.-selector-primary::-moz-focus-inner,wm-button .wm-button.-selector-primary::-moz-focus-inner{border:0}:host .wm-button.-selector .overflowcontrol,wm-button .wm-button.-selector .overflowcontrol,:host .wm-button.-selector-primary .overflowcontrol,wm-button .wm-button.-selector-primary .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{background:#575195;color:#fff}:host .wm-button.-selector-primary:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selector-primary:hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled),wm-button .wm-button.-selector-primary.dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button:disabled,wm-button .wm-button:disabled,:host .wm-button.disabled,wm-button .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.-primary,wm-button .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-button .wm-button:disabled.-permanentlydelete,:host .wm-button:disabled.-pairnegative,wm-button .wm-button:disabled.-pairnegative,:host .wm-button:disabled.-pairpositive,wm-button .wm-button:disabled.-pairpositive,:host .wm-button.disabled.-primary,wm-button .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-button .wm-button.disabled.-permanentlydelete,:host .wm-button.disabled.-pairnegative,wm-button .wm-button.disabled.-pairnegative,:host .wm-button.disabled.-pairpositive,wm-button .wm-button.disabled.-pairpositive{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-secondary,wm-button .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-button .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selector,wm-button .wm-button:disabled.-selector,:host .wm-button.disabled.-selector,wm-button .wm-button.disabled.-selector{color:#737373}:host .wm-button:disabled.-selector-primary,wm-button .wm-button:disabled.-selector-primary,:host .wm-button.disabled.-selector-primary,wm-button .wm-button.disabled.-selector-primary{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-textonly,wm-button .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-button .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),wm-button .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button:disabled.dark.-selector,wm-button .wm-button:disabled.dark.-selector,:host .wm-button:disabled.dark.-textonly,wm-button .wm-button:disabled.dark.-textonly,:host .wm-button:disabled.dark.-navigational,wm-button .wm-button:disabled.dark.-navigational,:host .wm-button:disabled.dark.-icononly,wm-button .wm-button:disabled.dark.-icononly,:host .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),wm-button .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button.disabled.dark.-selector,wm-button .wm-button.disabled.dark.-selector,:host .wm-button.disabled.dark.-textonly,wm-button .wm-button.disabled.dark.-textonly,:host .wm-button.disabled.dark.-navigational,wm-button .wm-button.disabled.dark.-navigational,:host .wm-button.disabled.dark.-icononly,wm-button .wm-button.disabled.dark.-icononly{color:#b5b5b5;border-color:#b5b5b5}:host .wm-button:disabled.dark.-primary,wm-button .wm-button:disabled.dark.-primary,:host .wm-button:disabled.dark.-selector-primary,wm-button .wm-button:disabled.dark.-selector-primary,:host .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),wm-button .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),:host .wm-button.disabled.dark.-primary,wm-button .wm-button.disabled.dark.-primary,:host .wm-button.disabled.dark.-selector-primary,wm-button .wm-button.disabled.dark.-selector-primary,:host .wm-button.disabled.dark.-permanentlydelete:not(.-textonly),wm-button .wm-button.disabled.dark.-permanentlydelete:not(.-textonly){background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host a.wm-button,wm-button a.wm-button,:host label.wm-button,wm-button label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host([disabled]),:host(.button-disabled){pointer-events:none}:host([disabled=false]){pointer-events:initial}:host,wm-button{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .sr-only,wm-button .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}';var d=t("wm_button",function(){function t(t){o(this,t);this.btnPos={old:{},new:{}};this.id=a();this.ariaPopup=false;this.disabled=false;this.buttonType=null;this.buttonStyle=null;this.icon=undefined;this.iconSize=undefined;this.iconRotate=undefined;this.iconFlip=undefined;this.tooltip=undefined;this.labelForIdenticalButtons=undefined;this.tooltipPosition="bottom-right";this.permanentlyDelete=false;this.textWrap=true;this.customBackground=undefined;this.tooltipVisible=false;this.isTabbing=false}Object.defineProperty(t.prototype,"isDisabled",{get:function(){return s(this.disabled)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tempButtonType",{get:function(){return this.buttonType||this.buttonStyle||"secondary"},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"isTruncated",{get:function(){return!!this.buttonEl&&this.tempButtonType==="textonly"&&this.buttonEl.offsetWidth<this.buttonEl.scrollWidth},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"hasTooltip",{get:function(){return this.tempButtonType==="icononly"||this.tempButtonType==="navigational"||this.isTruncated},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tooltipEl",{get:function(){return document.getElementById("wm-tooltip")},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"buttonClasses",{get:function(){var t="wm-button";t+=this.permanentlyDelete?" -permanentlydelete":"";t+=this.tempButtonType?" -"+this.tempButtonType:" -secondary";t+=this.textWrap?"":" nowrap";t+=this.isTabbing?" user-is-tabbing":"";t+=this.isTruncated?" -truncated":"";t+=this.customBackground==="dark"?" dark":"";return t},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"iconStyles",{get:function(){var t="";t+=this.iconRotate?"rotate(".concat(this.iconRotate,"deg)"):"";t+=this.iconFlip==="horizontal"?"scaleX(-1)":"";t+=this.iconFlip==="vertical"?"scaleY(-1)":"";return Object.assign(Object.assign({},this.iconSize&&{fontSize:this.iconSize}),(this.iconRotate||this.iconFlip)&&{transform:t})},enumerable:false,configurable:true});t.prototype.toggleTabbingOn=function(){this.isTabbing=true};t.prototype.toggleTabbingOff=function(){this.isTabbing=false};t.prototype.handleScroll=function(){if(this.tooltipVisible){this.hideTooltip()}};t.prototype.validateType=function(t){var o=["primary","secondary","textonly","icononly","navigational","selector","selector-primary","pairpositive","pairnegative"].includes(t);if(!o){this.buttonType="secondary"}this.validateIcon()};t.prototype.validateDeprecatedType=function(t){var o=["primary","secondary","textonly","icononly","navigational","selector"].includes(t);if(!o){this.buttonStyle="secondary"}this.validateIcon()};t.prototype.updateIcon=function(){this.icon=r(this.icon)};t.prototype.validateIcon=function(){switch(this.tempButtonType){case"icononly":case"navigational":if(!this.icon){console.error("wm-button should have a valid 'icon' property when button-type is set to 'icononly' or 'navigational'.")}if(!this.tooltip){console.error("wm-button should have a valid 'tooltip' property when button-type is set to 'icononly' or 'navigational'.")}break;case"pairpositive":this.icon="f12c";break;case"pairnegative":this.icon="f739";break}};t.prototype.handleKeydown=function(t){switch(t.key){case"Enter":t.preventDefault();if(!this.isDisabled){this.el.click()}break}};t.prototype.componentWillLoad=function(){if(this.buttonStyle){console.warn("wm-button: button-style has been deprecated as of v3.1.0. Please use button-type instead.")}this.validateType(this.tempButtonType);if(this.icon){this.icon=this.icon=r(this.icon)}};t.prototype.componentDidLoad=function(){if(document.body.classList.contains("wmcl-user-is-tabbing")){this.toggleTabbingOn()}this.ariaPopup=!!this.el.getAttribute("aria-haspopup");this.btnPos.new=this.buttonEl.getBoundingClientRect()};t.prototype.showTooltip=function(){var t=this;if(this.hasTooltip){var o="";if(this.isTruncated&&this.el.textContent){o=this.el.textContent}else if(this.tooltip){o=this.tooltip}this.tooltipEl.textContent=o;var n=o.match(/^[^\s]+$/);if(n){this.tooltipEl.classList.add("single-word");this.tooltipEl.style.setProperty("--wmTooltipMaxWidth","none")}else{this.tooltipEl.classList.remove("single-word");this.tooltipEl.style.removeProperty("--wmTooltipMaxWidth")}var e=b(this.tooltipPosition,this.buttonEl,this.tooltipEl);this.btnPos.old={};var i=this.tooltipEl.getBoundingClientRect();this.tooltipEl.style.transitionDelay="500ms";this.tooltipEl.style.opacity="1";setTimeout((function(){t.tooltipVisible=true;t.positionTooltip(e,i)}),50)}};t.prototype.positionTooltip=function(t,o){var n=this;if(this.tooltipVisible){window.requestAnimationFrame((function(){return n.positionTooltip(t,o)}))}this.btnPos.new=this.buttonEl.getBoundingClientRect();if(this.btnPos.new.top!=this.btnPos.old.top||this.btnPos.new.left!=this.btnPos.old.left){var e=(this.btnPos.new.height-o.height)/2;var i=(this.btnPos.new.width-o.width)/2;var r=this.btnPos.new.top+e;var a=this.btnPos.new.left+i;if(t.includes("top")){r=this.btnPos.new.top-o.height-8}if(t.includes("bottom")){r=this.btnPos.new.bottom+8}if(t.includes("left")){a=this.btnPos.new.left-o.width-8}if(t.includes("right")){a=this.btnPos.new.right+8}a=Math.max(a,24);this.tooltipEl.style.setProperty("--wmTooltipTop",r+"px");this.tooltipEl.style.setProperty("--wmTooltipLeft",a+"px");this.btnPos.old=this.btnPos.new}};t.prototype.hideTooltip=function(){if(this.hasTooltip){this.tooltipEl.style.transitionDelay="0s";this.tooltipEl.style.opacity="0";this.tooltipVisible=false}};t.prototype.showTooltipForKeyboardUsers=function(){if(this.isTabbing){this.showTooltip()}};t.prototype.getAriaLabel=function(){if(this.tempButtonType==="icononly"||this.tempButtonType==="navigational"){return this.labelForIdenticalButtons||this.tooltip}if(this.labelForIdenticalButtons){return this.labelForIdenticalButtons}};t.prototype.render=function(){var t=this;return n(e,{class:this.isDisabled?"button-disabled":""},n("button",{id:this.id,class:"".concat(this.buttonClasses),disabled:this.isDisabled,ref:function(o){return t.buttonEl=o},"aria-label":this.getAriaLabel(),"aria-hasPopup":this.ariaPopup?"menu":null,onMouseEnter:function(){return t.showTooltip()},onMouseLeave:function(){return t.hideTooltip()},onFocus:function(){return t.showTooltipForKeyboardUsers()},onBlur:function(){return t.hideTooltip()},onClick:function(){return t.hideTooltip()}},this.icon&&n("span",{class:"mdi",style:this.iconStyles},String.fromCodePoint(parseInt("0x".concat(this.icon)))),n("span",{class:"button-text"},n("slot",null))))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{buttonType:["validateType"],buttonStyle:["validateDeprecatedType"],icon:["updateIcon"]}},enumerable:false,configurable:true});return t}());d.style=l}}}));
2
- //# sourceMappingURL=p-b00991d9.system.entry.js.map
1
+ System.register(["./p-7b2fc615.system.js","./p-08b7ec08.system.js","./p-f0fd8695.system.js"],(function(t){"use strict";var o,n,e,i,r,a,s,b;return{setters:[function(t){o=t.r;n=t.h;e=t.H;i=t.g},function(t){r=t.g},function(t){a=t.g;s=t.t;b=t.a}],execute:function(){var l=':host .wm-button,wm-button .wm-button{-ms-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-moz-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1), border 500ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;width:inherit;border:2px solid #575195;color:#575195;font-family:inherit;font-size:0.75rem;font-weight:700;height:2.75rem;padding:0 1.3333333333em;cursor:pointer;position:relative;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:0.01875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button,wm-button .wm-button{height:3.3333333333em}}:host .wm-button.nowrap,wm-button .wm-button.nowrap{display:inline-block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .wm-button:focus,wm-button .wm-button:focus{outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button::-moz-focus-inner,wm-button .wm-button::-moz-focus-inner{border:0;outline:none}:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) :host .wm-button.-textonly .button-text,:host .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-button .wm-button.-textonly .button-text,wm-button .wm-button.user-is-tabbing:focus:not(:disabled):not(.disabled) wm-button .wm-button.-textonly .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark){-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}:host .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner,wm-button .wm-button.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled):not(.dark)::-moz-focus-inner{border:0}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled),wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled){background:transparent;border:2px solid #fff;color:#fff}:host .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover,wm-button .wm-button.dark:not(.-textonly):not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark,wm-button .wm-button.dark.user-is-tabbing:focus:not(.-textonly):not(:disabled):not(.disabled).dark{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #c6b4e3;outline:none}:host .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption),wm-button .wm-button:active:not(:disabled):not(.disabled):not(.-textonly):not(.-actionbutton):not(.displayedoption){-ms-transform:scale(0.9, 0.9);-webkit-transform:scale(0.9, 0.9);-moz-transform:scale(0.9, 0.9);transform:scale(0.9, 0.9)}:host .wm-button .mdi,wm-button .wm-button .mdi{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button:not(.-icononly):not(.-navigational) .mdi,wm-button .wm-button:not(.-icononly):not(.-navigational) .mdi{margin-right:0.3125rem}:host .wm-button[dir=RTL] :not(.-icononly) .mdi,wm-button .wm-button[dir=RTL] :not(.-icononly) .mdi{margin-left:0.3125rem;margin-right:0}:host .wm-button.-primary:not(.-textonly),wm-button .wm-button.-primary:not(.-textonly){background:#575195;color:#fff}:host .wm-button.-primary:not(.-textonly):not(:focus),wm-button .wm-button.-primary:not(.-textonly):not(:focus){-webkit-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2);box-shadow:0 2px 2px 0 rgba(87, 81, 149, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.2)}:host .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly):hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled),wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-primary:not(.-textonly).dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-secondary:hover:not(:disabled):not(.disabled),wm-button .wm-button.-secondary:hover:not(:disabled):not(.disabled),:host .wm-button.-selector:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selector:hover:not(:disabled):not(.disabled),:host .wm-button.-icononly:hover:not(:disabled):not(.disabled),wm-button .wm-button.-icononly:hover:not(:disabled):not(.disabled){background:#464177;color:#fff}:host .wm-button.-textonly,wm-button .wm-button.-textonly{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;letter-spacing:0;text-transform:none;text-align:initial;font-size:0.875rem;border:none;background:transparent;padding-left:0;padding-right:0;height:auto;border-radius:0;line-height:1}:host .wm-button.-textonly+.-textonly,wm-button .wm-button.-textonly+.-textonly{margin-left:0.3125rem}:host .wm-button.-textonly:focus,wm-button .wm-button.-textonly:focus{outline:none}:host .wm-button.-textonly::-moz-focus-inner,wm-button .wm-button.-textonly::-moz-focus-inner{border:0;outline:none}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled) .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text,wm-button .wm-button.-textonly.user-is-tabbing:focus:not(:disabled):not(.disabled).dark .button-text{background:-webkit-gradient(linear, left top, right top, color-stop(66%, #fff), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #fff 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1em;border-radius:0;line-height:normal}:host .wm-button.-textonly.small,wm-button .wm-button.-textonly.small{font-size:0.625rem}:host .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete),wm-button .wm-button.-textonly:hover:not(:disabled):not(.disabled):not(.-permanentlydelete){text-decoration:underline}:host .wm-button.-textonly.-permanentlydelete,wm-button .wm-button.-textonly.-permanentlydelete{color:#c0392b}:host .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.-textonly.-permanentlydelete:hover:not(:disabled):not(.disabled):not(.dark){text-decoration:underline;color:#c0392b !important}:host .wm-button.-textonly.dark,wm-button .wm-button.-textonly.dark{color:#fff}:host .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled),wm-button .wm-button.-textonly.dark:hover:not(:disabled):not(.disabled){text-decoration:underline;color:#fff !important}:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;border-radius:50%;font-size:1rem;padding:0;height:auto;line-height:1;min-width:2.75rem;min-height:2.75rem;text-align:center;letter-spacing:normal}:host .wm-button.-icononly:not(:focus),wm-button .wm-button.-icononly:not(:focus),:host .wm-button.-navigational:not(:focus),wm-button .wm-button.-navigational:not(:focus){-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media screen and (min-width: 48rem){:host .wm-button.-icononly,wm-button .wm-button.-icononly,:host .wm-button.-navigational,wm-button .wm-button.-navigational{min-width:2.5rem;min-height:2.5rem}}:host .wm-button.-icononly,wm-button .wm-button.-icononly{border-width:1px !important}:host .wm-button.-icononly:before,wm-button .wm-button.-icononly:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-navigational,wm-button .wm-button.-navigational{border:none !important;background-color:transparent}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled),wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled){color:#575195}:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled):hover,:host .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected,wm-button .wm-button.-navigational:not(.dark):not(:disabled):not(.disabled).selected{background-color:#d7d6d9}:host .wm-button.-navigational:before,wm-button .wm-button.-navigational:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host .wm-button.-permanentlydelete:not(.-textonly),wm-button .wm-button.-permanentlydelete:not(.-textonly){background:#c0392b;border-color:#c0392b;color:#fff}:host .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark),wm-button .wm-button.-permanentlydelete:not(.-textonly):hover:not(:disabled):not(.disabled):not(.dark){background:#9a2e22;border-color:#9a2e22}:host .wm-button.-pairnegative,wm-button .wm-button.-pairnegative{background:#cc4c3e;border-color:#cc4c3e;color:#fff}:host .wm-button.-pairnegative:hover:not(:disabled):not(.disabled),wm-button .wm-button.-pairnegative:hover:not(:disabled):not(.disabled){background:#a33d32;border-color:#a33d32}:host .wm-button.-pairpositive,wm-button .wm-button.-pairpositive{background:#15868d;border-color:#15868d;color:#fff}:host .wm-button.-pairpositive:hover:not(:disabled):not(.disabled),wm-button .wm-button.-pairpositive:hover:not(:disabled):not(.disabled){background:#116b71;border-color:#116b71}:host .wm-button.-selector,wm-button .wm-button.-selector,:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;display:block;background:transparent;border:2px solid #575195;border-radius:3px;height:2.75rem;min-width:11.4375rem;padding:0 1.875rem 0 0.9375rem;line-height:normal;font-family:inherit;color:#575195;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.01875rem;text-align:left}@media screen and (min-width: 48rem){:host .wm-button.-selector,wm-button .wm-button.-selector,:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{height:2.5rem}}:host .wm-button.-selector:before,wm-button .wm-button.-selector:before,:host .wm-button.-selector-primary:before,wm-button .wm-button.-selector-primary:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f140";position:absolute;right:0.5625rem;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:0.875rem;font-weight:700;pointer-events:none}:host .wm-button.-selector:active,wm-button .wm-button.-selector:active,:host .wm-button.-selector-primary:active,wm-button .wm-button.-selector-primary:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}:host .wm-button.-selector::-moz-focus-inner,wm-button .wm-button.-selector::-moz-focus-inner,:host .wm-button.-selector-primary::-moz-focus-inner,wm-button .wm-button.-selector-primary::-moz-focus-inner{border:0}:host .wm-button.-selector .overflowcontrol,wm-button .wm-button.-selector .overflowcontrol,:host .wm-button.-selector-primary .overflowcontrol,wm-button .wm-button.-selector-primary .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:visible}:host .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-selector.dark:not(:disabled):not(.disabled):hover,:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover,wm-button .wm-button.-selector-primary.dark:not(:disabled):not(.disabled):hover{color:#575195;background:#e6e6e6;border:2px solid #e6e6e6}:host .wm-button.-selector-primary,wm-button .wm-button.-selector-primary{background:#575195;color:#fff}:host .wm-button.-selector-primary:hover:not(:disabled):not(.disabled),wm-button .wm-button.-selector-primary:hover:not(:disabled):not(.disabled){background:#464177}:host .wm-button.-selector-primary.dark:not(:disabled):not(.disabled),wm-button .wm-button.-selector-primary.dark:not(:disabled):not(.disabled){color:#575195;background:#fff;border:2px solid #fff}:host .wm-button:disabled,wm-button .wm-button:disabled,:host .wm-button.disabled,wm-button .wm-button.disabled{background:inherit;border-color:#737373;color:#737373;cursor:default;pointer-events:none}:host .wm-button:disabled.-primary,wm-button .wm-button:disabled.-primary,:host .wm-button:disabled.-permanentlydelete,wm-button .wm-button:disabled.-permanentlydelete,:host .wm-button:disabled.-pairnegative,wm-button .wm-button:disabled.-pairnegative,:host .wm-button:disabled.-pairpositive,wm-button .wm-button:disabled.-pairpositive,:host .wm-button.disabled.-primary,wm-button .wm-button.disabled.-primary,:host .wm-button.disabled.-permanentlydelete,wm-button .wm-button.disabled.-permanentlydelete,:host .wm-button.disabled.-pairnegative,wm-button .wm-button.disabled.-pairnegative,:host .wm-button.disabled.-pairpositive,wm-button .wm-button.disabled.-pairpositive{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-secondary,wm-button .wm-button:disabled.-secondary,:host .wm-button.disabled.-secondary,wm-button .wm-button.disabled.-secondary{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .wm-button:disabled.-selector,wm-button .wm-button:disabled.-selector,:host .wm-button.disabled.-selector,wm-button .wm-button.disabled.-selector{color:#737373}:host .wm-button:disabled.-selector-primary,wm-button .wm-button:disabled.-selector-primary,:host .wm-button.disabled.-selector-primary,wm-button .wm-button.disabled.-selector-primary{background:#737373;color:#fff;border-color:#737373}:host .wm-button:disabled.-textonly,wm-button .wm-button:disabled.-textonly,:host .wm-button.disabled.-textonly,wm-button .wm-button.disabled.-textonly{color:#6b6b6b;background:transparent}:host .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),wm-button .wm-button:disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button:disabled.dark.-selector,wm-button .wm-button:disabled.dark.-selector,:host .wm-button:disabled.dark.-textonly,wm-button .wm-button:disabled.dark.-textonly,:host .wm-button:disabled.dark.-navigational,wm-button .wm-button:disabled.dark.-navigational,:host .wm-button:disabled.dark.-icononly,wm-button .wm-button:disabled.dark.-icononly,:host .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),wm-button .wm-button.disabled.dark.-secondary:not(.-permanentlydelete),:host .wm-button.disabled.dark.-selector,wm-button .wm-button.disabled.dark.-selector,:host .wm-button.disabled.dark.-textonly,wm-button .wm-button.disabled.dark.-textonly,:host .wm-button.disabled.dark.-navigational,wm-button .wm-button.disabled.dark.-navigational,:host .wm-button.disabled.dark.-icononly,wm-button .wm-button.disabled.dark.-icononly{color:#b5b5b5;border-color:#b5b5b5}:host .wm-button:disabled.dark.-primary,wm-button .wm-button:disabled.dark.-primary,:host .wm-button:disabled.dark.-selector-primary,wm-button .wm-button:disabled.dark.-selector-primary,:host .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),wm-button .wm-button:disabled.dark.-permanentlydelete:not(.-textonly),:host .wm-button.disabled.dark.-primary,wm-button .wm-button.disabled.dark.-primary,:host .wm-button.disabled.dark.-selector-primary,wm-button .wm-button.disabled.dark.-selector-primary,:host .wm-button.disabled.dark.-permanentlydelete:not(.-textonly),wm-button .wm-button.disabled.dark.-permanentlydelete:not(.-textonly){background:#a6a6a6;border-color:#a6a6a6;color:#353b48}:host a.wm-button,wm-button a.wm-button,:host label.wm-button,wm-button label.wm-button{height:auto;padding-top:0.75rem;padding-bottom:0.75rem}:host([disabled]),:host(.button-disabled){pointer-events:none}:host([disabled=false]){pointer-events:initial}:host,wm-button{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}:host .sr-only,wm-button .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}';var d=t("wm_button",function(){function t(t){o(this,t);this.btnPos={old:{},new:{}};this.id=a();this.ariaPopup=false;this.disabled=false;this.buttonType=null;this.buttonStyle=null;this.icon=undefined;this.iconSize=undefined;this.iconRotate=undefined;this.iconFlip=undefined;this.tooltip=undefined;this.labelForIdenticalButtons=undefined;this.tooltipPosition="bottom-right";this.permanentlyDelete=false;this.textWrap=true;this.customBackground=undefined;this.tooltipVisible=false;this.isTabbing=false}Object.defineProperty(t.prototype,"isDisabled",{get:function(){return s(this.disabled)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tempButtonType",{get:function(){return this.buttonType||this.buttonStyle||"secondary"},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"isTruncated",{get:function(){return!!this.buttonEl&&this.tempButtonType==="textonly"&&this.buttonEl.offsetWidth<this.buttonEl.scrollWidth},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"hasTooltip",{get:function(){return this.tempButtonType==="icononly"||this.tempButtonType==="navigational"||this.isTruncated},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tooltipEl",{get:function(){return document.getElementById("wm-tooltip")},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"buttonClasses",{get:function(){var t="wm-button";t+=this.permanentlyDelete?" -permanentlydelete":"";t+=this.tempButtonType?" -"+this.tempButtonType:" -secondary";t+=this.textWrap?"":" nowrap";t+=this.isTabbing?" user-is-tabbing":"";t+=this.isTruncated?" -truncated":"";t+=this.customBackground==="dark"?" dark":"";return t},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"iconStyles",{get:function(){var t="";t+=this.iconRotate?"rotate(".concat(this.iconRotate,"deg)"):"";t+=this.iconFlip==="horizontal"?"scaleX(-1)":"";t+=this.iconFlip==="vertical"?"scaleY(-1)":"";return Object.assign(Object.assign({},this.iconSize&&{fontSize:this.iconSize}),(this.iconRotate||this.iconFlip)&&{transform:t})},enumerable:false,configurable:true});t.prototype.toggleTabbingOn=function(){this.isTabbing=true};t.prototype.toggleTabbingOff=function(){this.isTabbing=false};t.prototype.handleScroll=function(){if(this.tooltipVisible){this.hideTooltip()}};t.prototype.validateType=function(t){var o=["primary","secondary","textonly","icononly","navigational","selector","selector-primary","pairpositive","pairnegative"].includes(t);if(!o){this.buttonType="secondary"}this.validateIcon()};t.prototype.validateDeprecatedType=function(t){var o=["primary","secondary","textonly","icononly","navigational","selector"].includes(t);if(!o){this.buttonStyle="secondary"}this.validateIcon()};t.prototype.updateIcon=function(){this.icon=r(this.icon)};t.prototype.validateIcon=function(){switch(this.tempButtonType){case"icononly":case"navigational":if(!this.icon){console.error("wm-button should have a valid 'icon' property when button-type is set to 'icononly' or 'navigational'.")}if(!this.tooltip){console.error("wm-button should have a valid 'tooltip' property when button-type is set to 'icononly' or 'navigational'.")}break;case"pairpositive":this.icon="f12c";break;case"pairnegative":this.icon="f739";break}};t.prototype.handleKeydown=function(t){switch(t.key){case"Enter":t.preventDefault();if(!this.isDisabled){this.el.click()}break}};t.prototype.componentWillLoad=function(){if(this.buttonStyle){console.warn("wm-button: button-style has been deprecated as of v3.1.0. Please use button-type instead.")}this.validateType(this.tempButtonType);if(this.icon){this.icon=this.icon=r(this.icon)}};t.prototype.componentDidLoad=function(){if(document.body.classList.contains("wmcl-user-is-tabbing")){this.toggleTabbingOn()}this.ariaPopup=!!this.el.getAttribute("aria-haspopup");this.btnPos.new=this.buttonEl.getBoundingClientRect()};t.prototype.showTooltip=function(){var t=this;if(this.hasTooltip){var o="";if(this.isTruncated&&this.el.textContent){o=this.el.textContent}else if(this.tooltip){o=this.tooltip}this.tooltipEl.textContent=o;var n=o.match(/^[^\s]+$/);if(n){this.tooltipEl.classList.add("single-word");this.tooltipEl.style.setProperty("--wmTooltipMaxWidth","none")}else{this.tooltipEl.classList.remove("single-word");this.tooltipEl.style.removeProperty("--wmTooltipMaxWidth")}var e=b(this.tooltipPosition,this.buttonEl,this.tooltipEl);this.btnPos.old={};var i=this.tooltipEl.getBoundingClientRect();this.tooltipEl.style.transitionDelay="500ms";this.tooltipEl.style.opacity="1";setTimeout((function(){t.tooltipVisible=true;t.positionTooltip(e,i)}),50)}};t.prototype.positionTooltip=function(t,o){var n=this;if(this.tooltipVisible){window.requestAnimationFrame((function(){return n.positionTooltip(t,o)}))}this.btnPos.new=this.buttonEl.getBoundingClientRect();if(this.btnPos.new.top!=this.btnPos.old.top||this.btnPos.new.left!=this.btnPos.old.left){var e=(this.btnPos.new.height-o.height)/2;var i=(this.btnPos.new.width-o.width)/2;var r=this.btnPos.new.top+e;var a=this.btnPos.new.left+i;if(t.includes("top")){r=this.btnPos.new.top-o.height-8}if(t.includes("bottom")){r=this.btnPos.new.bottom+8}if(t.includes("left")){a=this.btnPos.new.left-o.width-8}if(t.includes("right")){a=this.btnPos.new.right+8}a=Math.max(a,24);this.tooltipEl.style.setProperty("--wmTooltipTop",r+"px");this.tooltipEl.style.setProperty("--wmTooltipLeft",a+"px");this.btnPos.old=this.btnPos.new}};t.prototype.hideTooltip=function(){if(this.hasTooltip){this.tooltipEl.style.transitionDelay="0s";this.tooltipEl.style.opacity="0";this.tooltipVisible=false}};t.prototype.showTooltipForKeyboardUsers=function(){if(this.isTabbing){this.showTooltip()}};t.prototype.getAriaLabel=function(){if(this.tempButtonType==="icononly"||this.tempButtonType==="navigational"){return this.labelForIdenticalButtons||this.tooltip}if(this.labelForIdenticalButtons){return this.labelForIdenticalButtons}};t.prototype.render=function(){var t=this;return n(e,{class:this.isDisabled?"button-disabled":""},n("button",{id:this.id,class:"".concat(this.buttonClasses),disabled:this.isDisabled,ref:function(o){return t.buttonEl=o},"aria-label":this.getAriaLabel(),"aria-hasPopup":this.ariaPopup?"menu":null,onMouseEnter:function(){return t.showTooltip()},onMouseLeave:function(){return t.hideTooltip()},onFocus:function(){return t.showTooltipForKeyboardUsers()},onBlur:function(){return t.hideTooltip()},onClick:function(){return t.hideTooltip()}},this.icon&&n("span",{class:"mdi",style:this.iconStyles},String.fromCodePoint(parseInt("0x".concat(this.icon)))),n("span",{class:"button-text"},n("slot",null))))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{buttonType:["validateType"],buttonStyle:["validateDeprecatedType"],icon:["updateIcon"]}},enumerable:false,configurable:true});return t}());d.style=l}}}));
2
+ //# sourceMappingURL=p-8613600d.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmButtonCss","Button","exports","this","btnPos","old","new","id","generateId","ariaPopup","Object","defineProperty","class_1","prototype","toBool","disabled","buttonType","buttonStyle","buttonEl","tempButtonType","offsetWidth","scrollWidth","isTruncated","document","getElementById","classes","permanentlyDelete","textWrap","isTabbing","customBackground","transformStyle","iconRotate","concat","iconFlip","assign","iconSize","fontSize","transform","toggleTabbingOn","toggleTabbingOff","handleScroll","tooltipVisible","hideTooltip","validateType","newValue","valid","includes","validateIcon","validateDeprecatedType","updateIcon","icon","getIconCodeFromName","console","error","tooltip","handleKeydown","ev","key","preventDefault","isDisabled","el","click","componentWillLoad","warn","componentDidLoad","body","classList","contains","getAttribute","getBoundingClientRect","showTooltip","_this","hasTooltip","tooltipText","textContent","tooltipEl","hasNoWhitespace","match","add","style","setProperty","remove","removeProperty","adjustedTooltipPlacement_1","adjustTooltipPlacement","tooltipPosition","tooltipRect_1","transitionDelay","opacity","setTimeout","positionTooltip","tPos","tooltipRect","window","requestAnimationFrame","top","left","vDiff","height","hDiff","width","vPos","hPos","bottom","right","Math","max","showTooltipForKeyboardUsers","getAriaLabel","labelForIdenticalButtons","render","h","Host","class","buttonClasses","ref","onMouseEnter","onMouseLeave","onFocus","onBlur","onClick","iconStyles","String","fromCodePoint","parseInt"],"sources":["src/components/wm-button/wm-button.scss?tag=wm-button&encapsulation=shadow","src/components/wm-button/wm-button.tsx"],"sourcesContent":[":host([disabled]),\n:host(.button-disabled) {\n pointer-events: none;\n}\n\n:host([disabled=\"false\"]) {\n // override disabled behavior from occuring when the string is \"false\", which would evaluate as truthy\n pointer-events: initial;\n}\n\n:host,\nwm-button {\n display: inline-block;\n width: fit-content;\n position: relative; // for tooltip\n @include box-shadow(none);\n\n .sr-only {\n @include srOnly;\n }\n\n @extend %wm-button;\n}\n","import { h, Component, Prop, Element, Listen, Watch, Host, State } from \"@stencil/core\";\nimport { getIconCodeFromName, TooltipPlacement, validButtonTypes } from \"../../global/interfaces\";\nimport { generateId, adjustTooltipPlacement, toBool } from \"../../global/functions\";\n\n@Component({\n tag: \"wm-button\",\n styleUrl: \"wm-button.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Button {\n @Element() el!: HTMLWmButtonElement;\n private buttonEl!: HTMLButtonElement;\n\n // icon and tooltip have reflect set to true. Without reflect, the react wrappers don't expose the attribute\n // and the component throws errors when they are required (when buttonType is icononly or navigational)\n @Prop({ reflect: true }) disabled: boolean = false;\n get isDisabled(): boolean {\n // string \"false\" needs to be treated as bool False because react wrappers convert bool to string.\n return toBool(this.disabled);\n }\n @Prop({ mutable: true }) buttonType: validButtonTypes | null = null;\n @Prop({ mutable: true }) buttonStyle: validButtonTypes | null = null; // DEPRECATED in favor of button-type\n get tempButtonType(): validButtonTypes {\n // uses of this getter should be replaced with this.buttonType when buttonStyle is fully phased out\n // don't forget to reset this.buttonType's default value to secondary\n return this.buttonType || this.buttonStyle || \"secondary\";\n }\n @Prop({ reflect: true, mutable: true }) icon?: string;\n @Prop() iconSize?: string;\n @Prop() iconRotate?: number;\n @Prop() iconFlip?: \"horizontal\" | \"vertical\";\n @Prop({ reflect: true, mutable: true }) tooltip?: string;\n @Prop() labelForIdenticalButtons?: string;\n @Prop() tooltipPosition: TooltipPlacement = \"bottom-right\";\n @Prop() permanentlyDelete?: boolean = false;\n @Prop() textWrap: boolean = true;\n @Prop() customBackground?: string;\n @Prop({ mutable: true }) tooltipVisible = false; // this is not part of the documented API but we need to expose as prop in order to change it from the focus method defined in WillLoad()\n\n @State() isTabbing: boolean = false;\n\n private btnPos: any = { old: {}, new: {} }; // for tooltip position. old and new are DOMRect\n private id = generateId();\n private ariaPopup: boolean = false;\n\n get isTruncated(): boolean {\n return (\n !!this.buttonEl && this.tempButtonType === \"textonly\" && this.buttonEl.offsetWidth < this.buttonEl.scrollWidth\n );\n }\n\n get hasTooltip(): boolean {\n // tooltip is only rendered for icononly and navigational types, or if the button text is truncated\n return this.tempButtonType === \"icononly\" || this.tempButtonType === \"navigational\" || this.isTruncated;\n }\n\n get tooltipEl(): HTMLElement {\n return document.getElementById(\"wm-tooltip\")!;\n }\n\n get buttonClasses() {\n let classes = \"wm-button\";\n classes += this.permanentlyDelete ? \" -permanentlydelete\" : \"\";\n classes += this.tempButtonType ? \" -\" + this.tempButtonType : \" -secondary\";\n classes += this.textWrap ? \"\" : \" nowrap\";\n classes += this.isTabbing ? \" user-is-tabbing\" : \"\";\n classes += this.isTruncated ? \" -truncated\" : \"\";\n classes += this.customBackground === \"dark\" ? \" dark\" : \"\";\n return classes;\n }\n\n get iconStyles() {\n let transformStyle = \"\";\n transformStyle += this.iconRotate ? `rotate(${this.iconRotate}deg)` : \"\";\n transformStyle += this.iconFlip === \"horizontal\" ? `scaleX(-1)` : \"\";\n transformStyle += this.iconFlip === \"vertical\" ? `scaleY(-1)` : \"\";\n\n return {\n ...(this.iconSize && { fontSize: this.iconSize }),\n ...((this.iconRotate || this.iconFlip) && { transform: transformStyle }),\n };\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n // we need to listen for scroll events during the capture phase because they do not bubble up\n // there can be layouts where the main content has 100vh and overflows\n // in these cases window will register no scroll events unless we catch on they way down\n @Listen(\"scroll\", { target: \"window\", capture: true })\n handleScroll() {\n if (this.tooltipVisible) {\n this.hideTooltip();\n }\n }\n\n @Watch(\"buttonType\")\n validateType(newValue: string) {\n const valid = [\n \"primary\",\n \"secondary\",\n \"textonly\",\n \"icononly\",\n \"navigational\",\n \"selector\",\n \"selector-primary\",\n \"pairpositive\",\n \"pairnegative\",\n ].includes(newValue);\n\n if (!valid) {\n this.buttonType = \"secondary\";\n }\n\n this.validateIcon();\n }\n\n // remove entire watcher after buttonStyle has been fully removed\n @Watch(\"buttonStyle\")\n validateDeprecatedType(newValue: string) {\n const valid = [\"primary\", \"secondary\", \"textonly\", \"icononly\", \"navigational\", \"selector\"].includes(newValue);\n\n if (!valid) {\n this.buttonStyle = \"secondary\";\n }\n\n this.validateIcon();\n }\n\n @Watch(\"icon\")\n updateIcon() {\n this.icon = getIconCodeFromName(this.icon!);\n }\n\n validateIcon() {\n switch (this.tempButtonType) {\n case \"icononly\":\n case \"navigational\":\n // if the style is icononly or navigational...\n // - an icon must be provided\n if (!this.icon) {\n console.error(\n \"wm-button should have a valid 'icon' property when button-type is set to 'icononly' or 'navigational'.\"\n );\n }\n // - if no tooltip text was passed and we couldn't generate one, throw an error\n if (!this.tooltip) {\n console.error(\n \"wm-button should have a valid 'tooltip' property when button-type is set to 'icononly' or 'navigational'.\"\n );\n }\n break;\n case \"pairpositive\":\n this.icon = \"f12c\";\n break;\n case \"pairnegative\":\n this.icon = \"f739\";\n break;\n }\n }\n\n @Listen(\"keydown\")\n handleKeydown(ev: KeyboardEvent) {\n switch (ev.key) {\n case \"Enter\":\n ev.preventDefault();\n if (!this.isDisabled) {\n this.el.click();\n }\n break;\n }\n }\n\n componentWillLoad() {\n if (this.buttonStyle) {\n console.warn(\"wm-button: button-style has been deprecated as of v3.1.0. Please use button-type instead.\");\n }\n\n this.validateType(this.tempButtonType);\n\n if (this.icon) {\n this.icon = this.icon = getIconCodeFromName(this.icon);\n }\n }\n\n componentDidLoad() {\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\n this.toggleTabbingOn();\n }\n\n this.ariaPopup = !!this.el.getAttribute(\"aria-haspopup\");\n\n this.btnPos.new = this.buttonEl.getBoundingClientRect();\n }\n\n showTooltip() {\n if (this.hasTooltip) {\n // set tooltip text\n let tooltipText = \"\";\n if (this.isTruncated && this.el.textContent) {\n // when truncated, tooltip text is the button's content\n tooltipText = this.el.textContent;\n } else if (this.tooltip) {\n // otherwise it is the tooltip property if present\n tooltipText = this.tooltip;\n }\n this.tooltipEl.textContent = tooltipText;\n\n // tooltip only has a maxWidth if it contains whitespace and can break\n const hasNoWhitespace = tooltipText.match(/^[^\\s]+$/);\n if (hasNoWhitespace) {\n this.tooltipEl.classList.add(\"single-word\");\n this.tooltipEl.style.setProperty(\"--wmTooltipMaxWidth\", \"none\");\n } else {\n this.tooltipEl.classList.remove(\"single-word\");\n this.tooltipEl.style.removeProperty(\"--wmTooltipMaxWidth\");\n }\n\n // adjust placement in case there is no space to place the tooltip where specified via prop\n // calculation outside of the function to keep it pure\n const adjustedTooltipPlacement = adjustTooltipPlacement(this.tooltipPosition, this.buttonEl, this.tooltipEl);\n\n this.btnPos.old = {};\n const tooltipRect = this.tooltipEl.getBoundingClientRect();\n this.tooltipEl.style.transitionDelay = \"500ms\";\n this.tooltipEl.style.opacity = \"1\";\n // This slight delay fixes an issue for keyboard users:\n // if they tab to a button out of screen bounds, the page scrolls\n // and hideTooltip() would be triggered before the tooltip would show\n setTimeout(() => {\n this.tooltipVisible = true;\n this.positionTooltip(adjustedTooltipPlacement, tooltipRect);\n }, 50);\n }\n }\n\n positionTooltip(tPos: string, tooltipRect: DOMRect) {\n if (this.tooltipVisible) {\n window.requestAnimationFrame(() => this.positionTooltip(tPos, tooltipRect));\n }\n this.btnPos.new = this.buttonEl.getBoundingClientRect();\n if (this.btnPos.new.top != this.btnPos.old.top || this.btnPos.new.left != this.btnPos.old.left) {\n // this is to figure out how to offset, given the size of the button and of the tooltip\n // to get the center positions, calculate the difference between the button width and the tooltip width\n const vDiff = (this.btnPos.new.height - tooltipRect.height) / 2;\n const hDiff = (this.btnPos.new.width - tooltipRect.width) / 2;\n // the naming convention defaults to center in the absence of a value\n // Values \"top\" and \"bottom\" imply horizontal centering; Values \"right\" and \"left\" imply vertical centering\n // therefore we first set to center first, then adjust accordingly\n let vPos = this.btnPos.new.top + vDiff;\n let hPos = this.btnPos.new.left + hDiff;\n\n if (tPos.includes(\"top\")) {\n vPos = this.btnPos.new.top - tooltipRect.height - 8;\n }\n if (tPos.includes(\"bottom\")) {\n vPos = this.btnPos.new.bottom + 8;\n }\n if (tPos.includes(\"left\")) {\n hPos = this.btnPos.new.left - tooltipRect.width - 8;\n }\n if (tPos.includes(\"right\")) {\n hPos = this.btnPos.new.right + 8;\n }\n\n // after all positioning has been calculated, if tooltip is off-screen or closer than 24px it is readjusted\n // this only occurs when the tooltip is overflowing to the left and is positioned top or bottom\n // (button placed too far left, or screen size under 268px)\n hPos = Math.max(hPos, 24);\n this.tooltipEl.style.setProperty(\"--wmTooltipTop\", vPos + \"px\");\n this.tooltipEl.style.setProperty(\"--wmTooltipLeft\", hPos + \"px\");\n // this.tooltipEl.style.top = vPos + \"px\";\n // this.tooltipEl.style.left = hPos + \"px\";\n // this.tooltipEl.style.top = (vPos / 16).toString() + \"rem\";\n // this.tooltipEl.style.left = (hPos / 16).toString() + \"rem\";\n\n this.btnPos.old = this.btnPos.new;\n }\n }\n\n hideTooltip() {\n if (this.hasTooltip) {\n this.tooltipEl.style.transitionDelay = \"0s\";\n this.tooltipEl.style.opacity = \"0\";\n this.tooltipVisible = false;\n }\n }\n\n showTooltipForKeyboardUsers() {\n if (this.isTabbing) {\n this.showTooltip();\n }\n }\n\n getAriaLabel() {\n if (this.tempButtonType === \"icononly\" || this.tempButtonType === \"navigational\") {\n return this.labelForIdenticalButtons || this.tooltip;\n }\n\n if (this.labelForIdenticalButtons) {\n return this.labelForIdenticalButtons;\n }\n }\n\n render() {\n return (\n <Host class={this.isDisabled ? \"button-disabled\" : \"\"}>\n <button\n id={this.id}\n class={`${this.buttonClasses}`}\n disabled={this.isDisabled}\n ref={(el) => (this.buttonEl = el as HTMLButtonElement)}\n aria-label={this.getAriaLabel()}\n aria-hasPopup={this.ariaPopup ? \"menu\" : null}\n onMouseEnter={() => this.showTooltip()}\n onMouseLeave={() => this.hideTooltip()}\n onFocus={() => this.showTooltipForKeyboardUsers()}\n onBlur={() => this.hideTooltip()}\n onClick={() => this.hideTooltip()}\n >\n {this.icon && (\n <span class=\"mdi\" style={this.iconStyles}>\n {String.fromCodePoint(parseInt(`0x${this.icon}`))}\n </span>\n )}\n <span class=\"button-text\">\n <slot />\n </span>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  function e(e){return f[e]||e}const f={close:"f156",pencil:"f3eb",cancel:"f739",check:"f12c",delete:"f1c0",magnify:"f349",export:"f207","dots-vertical":"f1d9","arrow-left":"f04d","arrow-right":"f054","chevron-left":"f141","chevron-right":"f142","menu-left":"f35e","menu-down":"f35d","keyboard-backspace":"f30d","file-tree":"f645","sort-alphabetical":"f4bb","checkbox-marked-circle":"f133","account-settings":"f630","backup-restore":"f06f"};const c="planning";const t=e=>e.getAttribute("mode")||document.documentElement.getAttribute("mode")||c;export{t as a,e as g};
2
- //# sourceMappingURL=p-43f1298b.js.map
2
+ //# sourceMappingURL=p-888bec42.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getIconCodeFromName","icon","iconCodes","close","pencil","cancel","check","delete","magnify","export","defaultMode","getWmMode","ref","getAttribute","document","documentElement"],"sources":["./src/global/interfaces.ts"],"sourcesContent":["export type Notification = {\n message: string;\n id: string;\n link: string;\n newWindow: boolean;\n};\n\n// Create label for icon-only buttons\nexport type label = string | undefined;\n\nexport type CssClassMap = { [className: string]: boolean };\n\ninterface IconLabels {\n [index: string]: string;\n}\n\nexport type Product = {\n description?: string;\n samlLinkUrl?: string;\n iconUrl: string;\n id: string;\n linkUrl: string;\n name: string;\n};\n\n// products retrieved from endpoint:\nexport type NavigatorPayload = {\n connection_name?: string;\n current_product_id: string;\n email: string;\n logout_url: string;\n products: Product[];\n};\n\nexport type validButtonTypes =\n | \"primary\"\n | \"secondary\"\n | \"textonly\"\n | \"icononly\"\n | \"navigational\"\n | \"selector\"\n | \"selector-primary\"\n | \"pairpositive\"\n | \"pairnegative\";\n\n//List of icon codes with more indicative descriptors to create labels for icon-only buttons\nexport const iconLabels: IconLabels = {\n f156: \"Close\",\n f3eb: \"Edit\",\n f739: \"Cancel\",\n f12c: \"Save\",\n f1c0: \"Delete\",\n f349: \"Search\",\n f207: \"Export info\",\n f1d9: \"Open dropdown\",\n f04d: \"Go back\",\n f054: \"Go forward\",\n f141: \"Left\",\n f142: \"Right\",\n f35e: \"Menu left\",\n f35d: \"Toggle menu down\",\n f30d: \"Backspace\",\n f645: \"Sort hierarchically\",\n f4bb: \"Sort alphabetically\",\n};\n\n// For backwards compatibility, the icon prop accepts the icon name minus mdi- prefix, e.g. \"icon\"\n// this function converts the name to the corresponding code or returns what it was passed\ninterface IconCodes {\n [index: string]: string;\n}\nexport function getIconCodeFromName(icon: string): string {\n return iconCodes[icon] || icon;\n}\n\nconst iconCodes: IconCodes = {\n close: \"f156\",\n pencil: \"f3eb\",\n cancel: \"f739\",\n check: \"f12c\",\n delete: \"f1c0\",\n magnify: \"f349\",\n export: \"f207\",\n \"dots-vertical\": \"f1d9\",\n \"arrow-left\": \"f04d\",\n \"arrow-right\": \"f054\",\n \"chevron-left\": \"f141\",\n \"chevron-right\": \"f142\",\n \"menu-left\": \"f35e\",\n \"menu-down\": \"f35d\",\n \"keyboard-backspace\": \"f30d\",\n \"file-tree\": \"f645\",\n \"sort-alphabetical\": \"f4bb\",\n \"checkbox-marked-circle\": \"f133\",\n \"account-settings\": \"f630\",\n \"backup-restore\": \"f06f\",\n};\n\nexport const defaultMode = \"planning\";\n\nexport const getWmMode = (ref?: any) => {\n return ref.getAttribute(\"mode\") || document.documentElement.getAttribute(\"mode\") || defaultMode;\n};\n\nexport type TooltipPlacement =\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-right\"\n | \"top-left\";\n\nexport type SliceElement = (SVGElement | HTMLElement);\n\nexport type SliceDetails = {\n amount: number;\n perc: number;\n legend: string | null;\n color: string;\n offset: number;\n id: string;\n title: string | null;\n text: string | null;\n buttonText: string | null;\n sliceRef: Element;\n inSmallCluster: boolean;\n coords?: {x: number, y: number};\n};\n\nexport type ChartDetails = {\n size: number;\n colors: Array<string>;\n thickness?: number;\n padding: number;\n category: \"doughnut\" | \"stackedBar\" | \"simpleBar\";\n};\n\nexport type ChartType =\n // progress monitor types\n | \"doughnut\"\n | \"bar\"\n // chart types\n | \"doughnut1\"\n | \"doughnut2\"\n | \"doughnut2plus\"\n | \"doughnut3\"\n | \"bar2\"\n | \"bar3\"\n | \"bar4\"\n | \"bar5\"\n | \"bar6\"\n | \"bar7\"\n // deprecated\n | \"doughnut0\"\n | \"bar1\";\n\nexport type LegendItem = { key: string; color: string };\n\nexport type UploadedFile = {\n name: string;\n id: string;\n type: string;\n lastUpdated: string; // in display format\n progress?: number;\n fileActions?: string;\n size?: string; // in display format\n};\n"],"mappings":"SAuEgBA,EAAoBC,GAClC,OAAOC,EAAUD,IAASA,CAC5B,CAEA,MAAMC,EAAuB,CAC3BC,MAAO,OACPC,OAAQ,OACRC,OAAQ,OACRC,MAAO,OACPC,OAAQ,OACRC,QAAS,OACTC,OAAQ,OACR,gBAAiB,OACjB,aAAc,OACd,cAAe,OACf,eAAgB,OAChB,gBAAiB,OACjB,YAAa,OACb,YAAa,OACb,qBAAsB,OACtB,YAAa,OACb,oBAAqB,OACrB,yBAA0B,OAC1B,mBAAoB,OACpB,iBAAkB,QAGb,MAAMC,EAAc,W,MAEdC,EAAaC,GACjBA,EAAIC,aAAa,SAAWC,SAASC,gBAAgBF,aAAa,SAAWH,S"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as s,g as o,f as r}from"./p-1c23de4a.js";import{i as n,d as a,g as l,m as h,w as p}from"./p-c6a0f7e5.js";import{g as d}from"./p-9b2dfb54.js";const c=':host(:not(:last-child)),wm-option:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host,wm-option{display:block;cursor:pointer;position:relative;padding:1.25rem;background:#fff;font-family:inherit;list-style:none;color:#4a4a4a;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host:focus,:host.focus,wm-option:focus,wm-option.focus{outline:none;background:#f4f4f4}:host.icon,wm-option.icon{color:#575195}:host .sr-only,wm-option .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.checkbox:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f131";display:inline;margin-right:0.25rem;color:#575195}:host([aria-selected=true]),wm-option[aria-selected=true]{background:rgba(46, 27, 70, 0.05);font-weight:500}:host([aria-selected=true]) .checkbox:before,wm-option[aria-selected=true] .checkbox:before{content:"\\f132"}:host([aria-disabled=true]),wm-option[aria-disabled=true]{font-style:italic;color:#6b6b6b;cursor:default}:host([aria-disabled=true]) .checkbox:before,wm-option[aria-disabled=true] .checkbox:before{color:#6b6b6b}:host(.multi-option),wm-option.multi-option{background:unset}:host(.hidden),wm-option.hidden,:host(.filtered-out),wm-option.filtered-out{display:none}:host(.duplicate.last),wm-option.duplicate.last{border-bottom:12px solid rgba(46, 27, 70, 0.05)}:host(.hassubinfo),wm-option.hassubinfo{display:-ms-flexbox;display:flex}:host(.hassubinfo) .option-wrapper,wm-option.hassubinfo .option-wrapper{-ms-flex:1;flex:1}:host(.hassubinfo) .subinfo,wm-option.hassubinfo .subinfo{-ms-flex:none;flex:none}.subinfo{font-style:italic}.option-wrapper{display:inline-block}::slotted{font-family:inherit}::slotted(i){font-size:0.875rem}::slotted(i):before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;margin-right:0.625rem;pointer-events:none}:host(:focus),wm-option:focus{outline:none;background:#f4f4f4}:host(:hover){background:#f4f4f4;outline:none}';const f=class{constructor(i){t(this,i);this.wmOptionSelected=e(this,"wmOptionSelected",7);this.wmKeyUpPressed=e(this,"wmKeyUpPressed",7);this.wmKeyDownPressed=e(this,"wmKeyDownPressed",7);this.wmEscKeyPressed=e(this,"wmEscKeyPressed",7);this.wmHomeKeyPressed=e(this,"wmHomeKeyPressed",7);this.wmEndKeyPressed=e(this,"wmEndKeyPressed",7);this.wmEnterKeyPressed=e(this,"wmEnterKeyPressed",7);this.wmLetterPressed=e(this,"wmLetterPressed",7);this.wmOptionBlurred=e(this,"wmOptionBlurred",7);this.value=undefined;this.subinfo=undefined;this.disabled=false;this.selected=false;this.focused=false;this.searchTerm=""}get hostClasses(){let t=[];if(this.subinfo){t.push("hassubinfo")}if(this.parentSelectEl.multiple){t.push("multi-option")}if(!this.el.textContent.toLowerCase().includes(this.searchTerm)){t.push("filtered-out")}return t.join(" ")}get parentSelectEl(){var t;return((t=this.el.parentElement)===null||t===void 0?void 0:t.nodeName)!=="WM-SELECT"?this.el.getRootNode().host:this.el.parentElement}handleKeydown(t){switch(t.key){case"ArrowUp":t.preventDefault();this.wmKeyUpPressed.emit(this.el);break;case"ArrowDown":t.preventDefault();this.wmKeyDownPressed.emit(this.el);break;case"Enter":t.preventDefault();if(!this.disabled){this.el.click();this.wmEnterKeyPressed.emit(this.el)}break;case" ":t.preventDefault();this.el.click();break;case"Escape":t.preventDefault();t.stopPropagation();this.wmEscKeyPressed.emit();break;case"Home":t.preventDefault();this.wmHomeKeyPressed.emit();break;case"End":t.preventDefault();this.wmEndKeyPressed.emit();break;default:if(t.key.length===1){this.wmLetterPressed.emit(t.key)}}}handleSelection(){if(!this.disabled){this.wmOptionSelected.emit(this.el)}}handleBlur(t){this.wmOptionBlurred.emit({relatedTarget:t.relatedTarget})}syncAriaSelected(){this.selected?this.el.setAttribute("aria-selected","true"):this.el.removeAttribute("aria-selected")}syncAriaDisabled(){this.disabled?this.el.setAttribute("aria-disabled","true"):this.el.removeAttribute("aria-disabled")}updateDisabledOnClick(){if(this.disabled&&this.el.onclick){this.onClickFunc=this.el.onclick;this.el.onclick=null}else if(!this.disabled&&this.onClickFunc){this.el.onclick=this.onClickFunc}}handleSearch(t){this.searchTerm=t.detail.searchTerm.toLowerCase();if(this.searchTerm){const t=new RegExp(`${this.searchTerm}`,"gi");const e=this.el.textContent.replace(t,(t=>`<strong>${t}</strong>`));this.textEl.innerHTML=e}else{this.textEl.innerHTML=this.el.textContent}}componentWillLoad(){this.syncAriaSelected();this.syncAriaDisabled();this.updateDisabledOnClick();this.parentSelectEl.addEventListener("wmSelectSearchChanged",(t=>this.handleSearch(t)))}render(){return i(s,{role:"option",tabindex:this.focused?0:-1,class:this.hostClasses},i("div",{class:`option-wrapper ${this.parentSelectEl.multiple?"checkbox":""}`},i("span",{"aria-hidden":"true",ref:t=>this.textEl=t},this.el.textContent),i("span",{class:"sr-only"},this.el.textContent)),i("div",{class:"subinfo"},this.subinfo))}get el(){return o(this)}static get watchers(){return{selected:["syncAriaSelected"],disabled:["syncAriaDisabled","updateDisabledOnClick"]}}};f.style=c;const b=':host{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:inherit}:host .sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}.wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}.wrapper .label .required{color:#c0392b}.wrapper.label-left{-ms-flex-direction:row;flex-direction:row}.wrapper.label-left .label-wrapper{line-height:2.5rem}.wrapper.label-left .label-wrapper .label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:2.5rem;white-space:normal;margin-bottom:0;margin-right:0.75rem}.wrapper.label-none label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;border:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;white-space:nowrap !important;margin:-1px !important}.wrapper.invalid .label{color:#c0392b}.wrapper.invalid .label:after{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f026";margin-left:0.3125rem}[dir=RTL] .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}.wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}.wrapper .button-wrapper{position:relative;-ms-flex:1;flex:1;font-size:1.125rem;color:#575195;min-width:8.75rem}.wrapper .button-wrapper .displayedoption{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-wrap:nowrap;flex-wrap:nowrap;background:transparent;width:100%;border:solid 1px rgba(35, 35, 35, 0.6);padding:0 1.875rem 0 0.9375rem;cursor:pointer;height:2.5rem;line-height:normal;font-family:inherit;color:#575195;font-weight:400;font-size:0.875rem;text-transform:none;text-align:left}@media only screen and (max-width: 768px){.wrapper .button-wrapper .displayedoption{height:2.75rem}}.wrapper .button-wrapper .displayedoption:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f140";position:absolute;right:0.5625rem;pointer-events:none}.wrapper .button-wrapper .displayedoption:hover:not(:disabled):not(.-disabled):not(.-raised){background:transparent;text-decoration:none}.wrapper .button-wrapper .displayedoption:active{-ms-transform:scale(1, 1) !important;-webkit-transform:scale(1, 1) !important;transform:scale(1, 1) !important}.wrapper .button-wrapper .displayedoption:focus{outline:none}.wrapper .button-wrapper .displayedoption::-moz-focus-inner{border:0}.wrapper .button-wrapper .displayedoption.user-is-tabbing:focus{-webkit-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;-moz-box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e;box-shadow:0 2px 2px 0 rgba(244, 243, 246, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 0 4px 3px #61279e}.wrapper .button-wrapper .displayedoption.user-is-tabbing:focus::-moz-focus-inner{border:0}.wrapper .button-wrapper .displayedoption .overflowcontrol{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-ms-flex:1;flex:1}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo{display:-ms-flexbox;display:flex}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .button-text{-ms-flex:1;flex:1;text-overflow:ellipsis;overflow:hidden;min-width:0}.wrapper .button-wrapper .displayedoption .overflowcontrol.hassubinfo .subinfo{-ms-flex:none;flex:none;font-style:italic}.wrapper .button-wrapper .displayedoption .overflow-counter{font-weight:bold;margin-left:0.5rem}.wrapper .button-wrapper>.displayedoption[disabled]{color:#6b6b6b;border-color:#8a8a8a;background:#f0f0f0;cursor:default}.wrapper .button-wrapper>.dropdown{-webkit-overflow-scrolling:touch;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0);-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;position:absolute;top:0;right:0;background:#fff;z-index:100;width:100%;font-size:0.875rem}.wrapper .button-wrapper>.dropdown.upwards{top:unset;bottom:calc(100% - 2.5rem);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}.wrapper .button-wrapper>.dropdown.hidden{visibility:hidden}.wrapper .button-wrapper>.dropdown.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}.wrapper.invalid .button-wrapper .displayedoption{-webkit-box-shadow:0 0 0 1px #c0392b;-moz-box-shadow:0 0 0 1px #c0392b;box-shadow:0 0 0 1px #c0392b;border-color:#c0392b}.wrapper .error-message{display:block;font-style:italic;color:#c0392b;font-size:0.875rem;margin-top:0.25rem;margin-bottom:0.25rem;top:100%;left:0}.options-wrapper{max-height:12.5rem;overflow:auto}.select-all{width:100%;cursor:pointer;padding:1.25rem;border:none;margin:0;border-bottom:2px solid rgba(46, 27, 70, 0.05);background:#fff;font-family:inherit;font-size:inherit;text-align:left;text-align:start;font-weight:500;color:#575195;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-all:hover,.select-all:focus{outline:none;background:#f4f4f4}.search{-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(46, 27, 70, 0.05);padding:1.25rem}.search .searchfield-wrapper{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:2.75rem;width:100%;padding:0 0.75rem;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px;border:1px solid #4a4a4a}.search .searchfield-wrapper:focus,.search .searchfield-wrapper.focus{-webkit-box-shadow:0 0 0 1px #19a1a9;-moz-box-shadow:0 0 0 1px #19a1a9;box-shadow:0 0 0 1px #19a1a9;outline:none;border-color:#19a1a9}.search .searchfield{width:100%;border:none;outline:none;font-family:inherit;font-size:0.875rem;margin-left:0.25rem}.search .icon:before{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\\f349";color:#6b6b6b;font-size:0.875rem}.search-results-message{padding:1.25rem;color:#4a4a4a;font-size:0.875rem;font-style:italic}.rtl>.dropdown{-ms-transform-origin:left top;-webkit-transform-origin:left top;-moz-transform-origin:left top;transform-origin:left top;left:0;right:auto}.rtl>.dropdown .option{padding-left:3rem;padding-right:1.25rem}.rtl>.displayedoption{padding:0 0.9375rem 0 1.875rem;text-align:right}.rtl>.displayedoption:before{right:auto;left:0.5625rem}';const m=class{constructor(i){t(this,i);this.wmSelectDidLoad=e(this,"wmSelectDidLoad",7);this.wmSelectBlurred=e(this,"wmSelectBlurred",7);this.wmSelectChanged=e(this,"wmSelectChanged",7);this.wmComponentBlurred=e(this,"wmComponentBlurred",7);this.wmSelectSearchChanged=e(this,"wmSelectSearchChanged",7);this.selectAllMessage=n.formatMessage({id:"select.selectAll",defaultMessage:"Select All"});this.deselectAllMessage=n.formatMessage({id:"select.deselectAll",defaultMessage:"Deselect All"});this.allOptionsSelectedMessage=n.formatMessage({id:"select.allOptionsSelected",defaultMessage:"All options selected"});this.allOptionsDeselectedMessage=n.formatMessage({id:"select.allOptionsDeselected",defaultMessage:"All options deselected"});this.keysSoFar="";this.searchIndex=0;this.openUp=false;this.overflowCount=0;this.displayedOptions=[];this.debouncedClearKeysSoFar=a((()=>{this.keysSoFar=""}),500);this.debouncedSearch=a((()=>{this.wmSelectSearchChanged.emit({searchTerm:this.searchTerm});if(this.filteredOptions.length){this.announce(this.resultsFoundMessage)}else{this.announce(this.noResultsFoundMessage)}}),150);this.disabled=false;this.invalid=false;this.maxHeight=undefined;this.label=undefined;this.labelPosition="top";this.requiredField=false;this.errorMessage="";this.multiple=false;this.search=false;this.selectAll=false;this.placeholder=n.formatMessage({id:"select.multiPlaceholder",defaultMessage:"Make a selection",description:"Placeholder text. Use imperative"});this.searchPlaceholder=n.formatMessage({id:"select.searchPlaceholder",defaultMessage:"Search",description:"Placeholder text. Use imperative"});this.allSelectedMessage=n.formatMessage({id:"select.allSelected",defaultMessage:"All selected",description:"Text displayed when all options are selected"});this.isTabbing=false;this.isExpanded=false;this.announcement=""}get childOptions(){return Array.from(this.el.querySelectorAll("wm-option"))}get duplicateOptions(){return Array.from(this.el.shadowRoot.querySelectorAll("wm-option"))}get allOptionEls(){return this.duplicateOptions.concat(this.childOptions)}get visibleOptionEls(){return this.allOptionEls.filter((t=>!t.classList.contains("hidden")&&!t.classList.contains("filtered-out")))}get searchTerm(){return this.searchFieldEl?this.searchFieldEl.value:""}get filteredOptions(){return this.childOptions.filter((t=>{var e;return(e=t.textContent)===null||e===void 0?void 0:e.toLowerCase().includes(this.searchTerm.toLowerCase())}))}get selectedOptions(){return Array.from(this.el.querySelectorAll("wm-option")).filter((t=>t.selected))}get allSelected(){return this.childOptions.every((t=>t.selected))}get resultsFoundMessage(){return n.formatMessage({id:"select.searchResultsFound",defaultMessage:"{numResults, plural, one {1 option found} other {# options found}}",description:"The message read by the screen reader, indicating how many results a search returned"},{numResults:this.filteredOptions.length})}get noResultsFoundMessage(){return n.formatMessage({id:"select.noSearchResults",defaultMessage:"No results found. Please try your search again.",description:"The message displayed when no options pass the search filter"})}toggleTabbingOn(){this.isTabbing=true}toggleTabbingOff(){this.isTabbing=false}handleOptionSelection(t){const e=t.detail;this.focusOption(e);if(!this.multiple){if(!e.selected){this.selectOption(e);const t={changedOption:e,selectedOptions:[e]};this.wmSelectChanged.emit(t);const i=new CustomEvent("change",{detail:t});this.el.dispatchEvent(i)}this.close()}else{this.selectOption(e);const t=e.classList.contains("duplicate");const i=t?this.findCorrespondingOption(e):e;const s=this.childOptions.filter((t=>t.selected));const o={changedOption:i,selectedOptions:s};this.wmSelectChanged.emit(o);const r=new CustomEvent("change",{detail:o});this.el.dispatchEvent(r)}}handleChildEnter(){this.close()}handleChildUp(t){this.moveUp(t.detail)}handleChildDown(t){this.moveDown(t.detail)}moveToFirstOption(){this.focusOption(this.visibleOptionEls[0])}moveToLastOption(){this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length-1])}closePopupOnEscape(){this.close()}handleOptionBlur(t){if(!this.isElOrChild(t.detail.relatedTarget)){const e=new CustomEvent("blur");e.relatedTarget=t.detail.relatedTarget;this.el.dispatchEvent(e)}}handleClick(t){if(!this.isElOrChild(t.target)){this.close()}}handleSelectAllClick(){this.allSelected?this.deselectAllOptions():this.selectAllOptions()}selectAllOptions(){this.allOptionEls.forEach((t=>t.selected=true));this.setSelectAllButton();this.setButtonText();const t={changedOption:null,selectedOptions:this.childOptions};this.wmSelectChanged.emit(t)}deselectAllOptions(){this.allOptionEls.forEach((t=>t.selected=false));this.setSelectAllButton();this.setButtonText();const t={changedOption:null,selectedOptions:[]};this.wmSelectChanged.emit(t)}handleButtonBlur(t){if(this.isElOrChild(t.relatedTarget)){t.stopPropagation()}}handleSearchFieldBlur(t){this.searchFieldWrapperEl.classList.remove("focus");if(this.isElOrChild(t.relatedTarget)){t.stopPropagation()}}handleKey(t){switch(t.key){case"ArrowDown":if(this.isExpanded===false){t.preventDefault();this.open("next")}break;case"ArrowUp":if(this.isExpanded===false){t.preventDefault();this.open("previous")}break}}componentWillLoad(){if(!this.label){console.error("For accessibility purposes, this component requires a label (even if `label-position` is set to `none`).")}this.uid=this.el.id?this.el.id:l();if(document.body.classList.contains("wmcl-user-is-tabbing")){this.toggleTabbingOn()}if(this.selectedOptions.length>0){this.selectedOptions.forEach((t=>{this.displayedOptions.push(t)}))}else if(!this.multiple){this.selectOption(this.allOptionEls[0])}}componentDidLoad(){this.wmSelectDidLoad.emit();this.dropdownEl.classList.add("hidden");r(this.el);if(this.maxHeight){this.listboxEl.style.maxHeight=this.maxHeight}if(this.multiple){this.updateOptionVisibility()}this.setButtonText()}componentWillUpdate(){if(this.multiple){const t=this.visibleOptionEls.filter((t=>t.classList.contains("duplicate")));t.forEach(((e,i)=>{if(i===t.length-1){e.classList.add("last")}else{e.classList.remove("last")}}))}}moveUp(t){const e=this.visibleOptionEls;if(this.selectAllEl){e.unshift(this.selectAllEl)}if(this.searchFieldEl){e.unshift(this.searchFieldEl)}const i=e[e.indexOf(t)-1]||e[e.length-1];if(i){this.focusOption(i)}}moveDown(t){const e=this.visibleOptionEls;if(this.selectAllEl){e.unshift(this.selectAllEl)}if(this.searchFieldEl){e.unshift(this.searchFieldEl)}const i=e[e.indexOf(t)+1]||e[0];if(i){this.focusOption(i)}}open(t){if(!this.disabled){const e=this.el.clientHeight;const i=this.buttonEl.clientHeight;this.openUp=h(this.el,this.dropdownEl,e,i);this.isExpanded=true;this.dropdownEl.classList.remove("hidden");window.requestAnimationFrame((()=>{switch(t){case"next":if(this.search){this.searchFieldEl.focus();this.listboxEl.scrollTop=0}else{this.moveDown(this.visibleOptionEls.filter((t=>t.selected)).slice(-1)[0])}break;case"previous":if(this.search){this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length-1])}else{this.moveUp(this.visibleOptionEls.filter((t=>t.selected))[0])}break;default:if(this.search){this.searchFieldEl.focus();this.listboxEl.scrollTop=0}else if(this.selectedOptions.length>0){this.focusOption(this.visibleOptionEls.filter((t=>t.selected))[0])}else{this.focusOption(this.visibleOptionEls[0])}break}}))}}close(t=true){if(this.isExpanded){this.isExpanded=false;this.allOptionEls.map((t=>t.focused=false));window.setTimeout((()=>{this.dropdownEl.classList.add("hidden");if(this.multiple){this.updateOptionVisibility()}if(this.search){this.searchFieldEl.value="";this.wmSelectSearchChanged.emit({searchTerm:this.searchTerm})}if(t){this.buttonEl.focus()}}),150)}}updateOptionVisibility(){this.childOptions.forEach(((t,e)=>{const i=this.duplicateOptions[e];if(t.selected){t.classList.add("hidden");i.classList.remove("hidden")}else{t.classList.remove("hidden");i.classList.add("hidden")}}))}focusOption(t){this.allOptionEls.forEach((e=>e.focused=e===t));t.scrollIntoView({block:"nearest"});window.setTimeout((()=>t.scrollIntoView({block:"nearest"})),60);t.focus()}selectOption(t){if(t.classList.contains("duplicate")){const e=this.findCorrespondingOption(t);e.selected=!e.selected;r(this.el)}else if(this.multiple){t.selected=!t.selected}else{this.childOptions.forEach((e=>e.selected=e===t))}if(this.selectAllEl){this.setSelectAllButton()}this.setButtonText()}findAndFocusOption(t){const e=t.detail.toLowerCase();if(!this.keysSoFar){this.visibleOptionEls.forEach(((t,e)=>{if(t.focused){this.searchIndex=e}}))}this.keysSoFar+=e;let i=this.findMatchInRange(this.visibleOptionEls,this.searchIndex+1,this.visibleOptionEls.length);if(!i){i=this.findMatchInRange(this.visibleOptionEls,0,this.searchIndex)}if(i){this.focusOption(i)}this.debouncedClearKeysSoFar()}findMatchInRange(t,e,i){let s=null;let o=t.slice(e,i);o.forEach((t=>{const e=t.textContent;if(!s&&e&&e.toLowerCase().startsWith(this.keysSoFar)){s=t}}));return s}findCorrespondingOption(t){const e=t.classList.contains("duplicate");return e?this.childOptions[this.duplicateOptions.indexOf(t)]:this.duplicateOptions[this.childOptions.indexOf(t)]}isElOrChild(t){var e;return t===this.el||this.el.contains(t)||((e=this.el.shadowRoot)===null||e===void 0?void 0:e.contains(t))}exposeErrors(){const t=l();this.errorContainer.id=`wm-errors-${t}`;this.buttonEl.setAttribute("aria-describedby",`wm-errors-${t}`)}renderErrorContainer(){return i("div",{id:"wm-errors",class:this.errorMessage?"error-message":"",ref:t=>this.errorContainer=t,"aria-live":"assertive","aria-atomic":"true"},this.errorMessage)}handleComponentBlur(t){if(!this.el.contains(t.relatedTarget)){this.close(false);this.wmSelectBlurred.emit();this.wmComponentBlurred.emit()}}handleKeyDown(t){const e=t.target;switch(t.key){case"ArrowDown":t.preventDefault();this.moveDown(t.target);break;case"ArrowUp":t.preventDefault();this.moveUp(t.target);break;case"Escape":t.preventDefault();this.close();break;case"Enter":if(e===this.selectAllEl){t.preventDefault();this.handleSelectAllClick();this.close()}break;case" ":if(e===this.selectAllEl){t.preventDefault();this.handleSelectAllClick()}break}}setButtonText(){this.displayedOptions=this.childOptions.filter((t=>t.selected)).map((t=>!t.classList.contains("hidden")?t:this.findCorrespondingOption(t)));if(this.multiple){const t=38;const e=window.getComputedStyle(this.buttonEl);const i=parseInt(e.getPropertyValue("padding-left").slice(0,-2));const s=parseInt(e.getPropertyValue("padding-right").slice(0,-2));const o=this.buttonEl.clientWidth-i-s-t;let r=this.displayedOptions.map((t=>t.shadowRoot.querySelector(".option-wrapper").clientWidth));let n=r.reduce(((t,e)=>t+e),0);this.overflowCount=0;while(n>o&&this.displayedOptions.length>1){this.overflowCount++;n-=r[r.length-1];r.pop();this.displayedOptions.pop()}}}setSelectAllButton(){if(this.allSelected){this.selectAllEl.textContent=this.deselectAllMessage;this.announce(this.allOptionsSelectedMessage)}else{this.selectAllEl.textContent=this.selectAllMessage;if(this.selectedOptions.length===0){this.announce(this.allOptionsDeselectedMessage)}}}announce(t){if(this.liveRegionEl.textContent===t){t+=" "}this.announcement=t}renderButtonText(){if(this.multiple&&this.displayedOptions.length<1){return i("span",null,this.placeholder)}else if(this.multiple&&this.allSelected&&this.overflowCount>0){return this.allSelectedMessage}else{return this.displayedOptions.map(((t,e)=>i("span",null,e>0?", ":"",t.textContent)))}}renderSubinfo(){if(!this.multiple&&this.selectedOptions.length>0&&this.selectedOptions[0].subinfo){return i("span",{class:"subinfo"},this.selectedOptions[0].subinfo)}}renderOverflowCount(){if(this.overflowCount>0&&!this.allSelected){return i("span",null,i("span",{class:"overflow-counter"},"+",this.overflowCount))}}renderSearchField(){return i("div",{class:"search"},i("div",{class:"searchfield-wrapper",ref:t=>this.searchFieldWrapperEl=t},i("div",{class:"icon"}),i("input",{ref:t=>this.searchFieldEl=t,class:"searchfield",role:"combobox","aria-controls":`list-${this.uid}`,"aria-expanded":this.isExpanded?"true":"false",onKeyDown:t=>this.handleKeyDown(t),onFocus:()=>this.searchFieldWrapperEl.classList.add("focus"),onBlur:t=>this.handleSearchFieldBlur(t),onInput:()=>this.debouncedSearch(),placeholder:this.searchPlaceholder})))}renderSearchFailedMessage(){return i("div",{class:"search-results-message"},this.noResultsFoundMessage)}renderSelectAllButton(){if(this.selectAll&&this.multiple&&this.searchTerm==""){return i("button",{ref:t=>this.selectAllEl=t,class:"select-all",onClick:()=>this.handleSelectAllClick(),onKeyDown:t=>this.handleKeyDown(t),tabindex:"-1"},this.allSelected?this.deselectAllMessage:this.selectAllMessage)}}renderDuplicateOptions(){return Array.from(this.el.children).map((t=>i("wm-option",{class:"duplicate",selected:t.selected},t.textContent)))}render(){const t={id:`selectbtn-${this.uid}`,["disabled"]:this.disabled,["aria-controls"]:`list-${this.uid}`,["aria-labelledby"]:`label-${this.uid} selectbtn-${this.uid}`,["aria-describedby"]:"wm-errors",["aria-expanded"]:this.isExpanded?"true":"false",onClick:()=>this.isExpanded?this.close():this.open()};return i(s,{onBlur:t=>this.handleComponentBlur(t)},i("div",{class:`wrapper ${p()} label-${this.labelPosition} ${this.invalid||this.errorMessage?"invalid":""}`},i("div",{class:"label-wrapper"},i("label",{class:"label",id:`label-${this.uid}`,htmlFor:`selectbtn-${this.uid}`},this.label,this.requiredField?i("span",{class:"required"},i("span",{class:"sr-only"},d.requiredField),i("span",{"aria-hidden":"true"},"*")):"")),i("div",{class:"button-wrapper"},i("button",Object.assign({},t,{class:`displayedoption ${this.isTabbing?"user-is-tabbing":""}`,ref:t=>this.buttonEl=t,onBlur:t=>this.handleButtonBlur(t),onFocus:()=>this.close()}),i("span",{class:this.selectedOptions.length>0&&this.selectedOptions.filter((t=>t.subinfo)).length>0?"overflowcontrol hassubinfo":"overflowcontrol"},i("span",{class:"button-text"},this.renderButtonText()),this.renderSubinfo()),this.renderOverflowCount()),i("div",{class:`dropdown ${this.isExpanded?"open":""} ${this.openUp?"upwards":""}`,ref:t=>this.dropdownEl=t},this.search&&this.renderSearchField(),i("div",{id:`list-${this.uid}`,class:"options-wrapper",tabindex:-1,role:"listbox","aria-multiselectable":this.multiple?"true":null,"aria-labelledby":`label-${this.uid}`,ref:t=>this.listboxEl=t},this.search&&this.filteredOptions.length===0&&this.renderSearchFailedMessage(),this.renderSelectAllButton(),this.multiple&&this.renderDuplicateOptions(),i("slot",null))),this.renderErrorContainer(),i("div",{id:"announcement","aria-live":"polite",class:"sr-only",ref:t=>this.liveRegionEl=t},this.announcement))))}static get delegatesFocus(){return true}get el(){return o(this)}static get watchers(){return{errorMessage:["exposeErrors"]}}};m.style=b;export{f as wm_option,m as wm_select};
2
+ //# sourceMappingURL=p-889579fc.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmOptionCss","Option","undefined","hostClasses","classes","this","subinfo","push","parentSelectEl","multiple","el","textContent","toLowerCase","includes","searchTerm","join","_a","parentElement","nodeName","getRootNode","host","handleKeydown","ev","key","preventDefault","wmKeyUpPressed","emit","wmKeyDownPressed","disabled","click","wmEnterKeyPressed","stopPropagation","wmEscKeyPressed","wmHomeKeyPressed","wmEndKeyPressed","length","wmLetterPressed","handleSelection","wmOptionSelected","handleBlur","wmOptionBlurred","relatedTarget","syncAriaSelected","selected","setAttribute","removeAttribute","syncAriaDisabled","updateDisabledOnClick","onclick","onClickFunc","handleSearch","detail","regexp","RegExp","boldedText","replace","match","textEl","innerHTML","componentWillLoad","addEventListener","render","h","Host","role","tabindex","focused","class","ref","wmSelectCss","Select","selectAllMessage","intl","formatMessage","id","defaultMessage","deselectAllMessage","allOptionsSelectedMessage","allOptionsDeselectedMessage","keysSoFar","searchIndex","openUp","overflowCount","displayedOptions","debouncedClearKeysSoFar","debounce","debouncedSearch","wmSelectSearchChanged","filteredOptions","announce","resultsFoundMessage","noResultsFoundMessage","description","childOptions","Array","from","querySelectorAll","duplicateOptions","shadowRoot","allOptionEls","concat","visibleOptionEls","filter","option","classList","contains","searchFieldEl","value","selectedOptions","x","allSelected","every","numResults","toggleTabbingOn","isTabbing","toggleTabbingOff","handleOptionSelection","focusOption","selectOption","changedOption","wmSelectChanged","event","CustomEvent","dispatchEvent","close","isDuplicate","originalOption","findCorrespondingOption","o","handleChildEnter","handleChildUp","moveUp","handleChildDown","moveDown","moveToFirstOption","moveToLastOption","closePopupOnEscape","handleOptionBlur","isElOrChild","handleClick","target","handleSelectAllClick","deselectAllOptions","selectAllOptions","forEach","setSelectAllButton","setButtonText","handleButtonBlur","handleSearchFieldBlur","searchFieldWrapperEl","remove","handleKey","isExpanded","open","label","console","error","uid","generateId","document","body","componentDidLoad","wmSelectDidLoad","dropdownEl","add","forceUpdate","maxHeight","listboxEl","style","updateOptionVisibility","componentWillUpdate","visibleDuplicateOptions","idx","focusableEls","selectAllEl","unshift","prevEl","indexOf","nextEl","optionToSelect","elHeight","clientHeight","buttonHeight","buttonEl","shouldOpenUp","window","requestAnimationFrame","search","focus","scrollTop","slice","returnFocus","map","i","setTimeout","duplicateOption","scrollIntoView","block","correspondingOption","findAndFocusOption","character","nextMatch","findMatchInRange","list","startIndex","endIndex","optionsInRange","startsWith","exposeErrors","newId","errorContainer","renderErrorContainer","errorMessage","handleComponentBlur","wmSelectBlurred","wmComponentBlurred","handleKeyDown","y","overflowCounterWidth","computedStyle","getComputedStyle","paddingLeft","parseInt","getPropertyValue","paddingRight","availableSpace","clientWidth","optionsWidths","querySelector","optionsTotalWidth","reduce","acc","pop","message","liveRegionEl","announcement","renderButtonText","placeholder","allSelectedMessage","renderSubinfo","renderOverflowCount","renderSearchField","onKeyDown","onFocus","onBlur","onInput","searchPlaceholder","renderSearchFailedMessage","renderSelectAllButton","selectAll","onClick","renderDuplicateOptions","children","buttonProps","getTextDir","labelPosition","invalid","htmlFor","requiredField","globalMessages","Object","assign"],"sources":["./src/components/wm-option/wm-option.scss?tag=wm-option&encapsulation=shadow","./src/components/wm-option/wm-option.tsx","./src/components/wm-select/wm-select.scss?tag=wm-select&encapsulation=shadow","./src/components/wm-select/wm-select.tsx"],"sourcesContent":[":host(:not(:last-child)),\nwm-option:not(:last-child) {\n border-bottom: 2px solid $list-border-bottom-color;\n}\n\n:host,\nwm-option {\n display: block;\n cursor: pointer;\n position: relative;\n padding: rem-calc(20);\n background: $light-background;\n font-family: inherit;\n list-style: none;\n color: $body-text-color;\n user-select: none;\n\n &:focus,\n &.focus {\n outline: none;\n background: $background;\n }\n\n &.icon {\n color: $button-default-text;\n }\n\n .sr-only {\n @include srOnly;\n }\n}\n\n.checkbox {\n &:before {\n @include mdi-icon;\n content: \"\\f131\";\n display: inline;\n margin-right: rem-calc(4);\n color: $periwinkle;\n }\n}\n\n:host([aria-selected=\"true\"]),\nwm-option[aria-selected=\"true\"] {\n background: $list-selected-background-color;\n font-weight: 500;\n\n .checkbox {\n &:before {\n content: \"\\f132\";\n }\n }\n}\n\n:host([aria-disabled=\"true\"]),\nwm-option[aria-disabled=\"true\"] {\n font-style: italic;\n color: $gray;\n cursor: default;\n\n .checkbox {\n &:before {\n color: $gray;\n }\n }\n}\n\n:host(.multi-option),\nwm-option.multi-option {\n background: unset;\n}\n\n:host(.hidden),\nwm-option.hidden,\n:host(.filtered-out),\nwm-option.filtered-out {\n display: none;\n}\n\n:host(.duplicate.last),\nwm-option.duplicate.last {\n border-bottom: 12px solid $list-border-bottom-color;\n}\n\n:host(.hassubinfo),\nwm-option.hassubinfo {\n display: flex;\n\n .option-wrapper {\n flex: 1;\n }\n .subinfo {\n flex: none;\n }\n}\n\n.subinfo {\n font-style: italic;\n}\n\n.option-wrapper {\n // necessary for multiselect overflow measurement\n display: inline-block;\n}\n\n::slotted {\n font-family: inherit;\n}\n\n::slotted(i) {\n font-size: rem-calc(14);\n\n &:before {\n @include mdi-icon;\n display: inline-block;\n margin-right: rem-calc(10);\n pointer-events: none;\n }\n}\n\n:host(:focus),\nwm-option:focus {\n outline: none;\n background: $background;\n}\n\n:host(:hover) {\n background: $background;\n outline: none;\n}\n","import { h, Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-option\",\n styleUrl: \"wm-option.scss\",\n shadow: true,\n})\nexport class Option {\n @Element() el!: HTMLElement;\n\n @Prop() value?: string | null; // if devs pass a value as attribute they should be able to retrieve it by querying the property. This is untouched by the component.\n @Prop({ mutable: true }) subinfo?: string = undefined;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop() focused: boolean = false;\n\n @Event() wmOptionSelected!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmKeyUpPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmKeyDownPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEscKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmHomeKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEndKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmEnterKeyPressed!: EventEmitter<HTMLWmOptionElement>;\n @Event() wmLetterPressed!: EventEmitter<string>;\n @Event() wmOptionBlurred!: EventEmitter<{ relatedTarget: EventTarget | null }>;\n\n private onClickFunc!: (this: GlobalEventHandlers, ev: MouseEvent) => any;\n @State() searchTerm: string = \"\";\n private textEl!: HTMLDivElement;\n\n get hostClasses() {\n let classes = [];\n if (this.subinfo) {\n classes.push(\"hassubinfo\");\n }\n if (this.parentSelectEl.multiple) {\n classes.push(\"multi-option\");\n }\n if (!this.el.textContent!.toLowerCase().includes(this.searchTerm)) {\n classes.push(\"filtered-out\");\n }\n return classes.join(\" \");\n }\n\n get parentSelectEl() {\n return this.el.parentElement?.nodeName !== \"WM-SELECT\"\n ? ((this.el.getRootNode() as ShadowRoot).host as HTMLWmSelectElement)\n : (this.el.parentElement as HTMLWmSelectElement);\n }\n\n @Listen(\"keydown\")\n handleKeydown(ev: KeyboardEvent) {\n switch (ev.key) {\n case \"ArrowUp\":\n ev.preventDefault();\n this.wmKeyUpPressed.emit(this.el as HTMLWmOptionElement);\n break;\n\n case \"ArrowDown\":\n ev.preventDefault();\n this.wmKeyDownPressed.emit(this.el as HTMLWmOptionElement);\n break;\n\n case \"Enter\":\n ev.preventDefault();\n if (!this.disabled) {\n this.el.click();\n this.wmEnterKeyPressed.emit(this.el as HTMLWmOptionElement);\n }\n break;\n\n case \" \":\n ev.preventDefault();\n this.el.click();\n break;\n\n case \"Escape\":\n ev.preventDefault();\n ev.stopPropagation(); // for instance if select is in a modal, esc should close the select but not the modal\n this.wmEscKeyPressed.emit();\n break;\n\n case \"Home\":\n ev.preventDefault();\n this.wmHomeKeyPressed.emit();\n break;\n\n case \"End\":\n ev.preventDefault();\n this.wmEndKeyPressed.emit();\n break;\n\n default:\n if (ev.key.length === 1) {\n // emit for single characters (\"a\",\"l\",\"5\", etc), avoid others (\"shift\", \"control\", etc)\n this.wmLetterPressed.emit(ev.key);\n }\n }\n }\n\n @Listen(\"click\")\n handleSelection() {\n if (!this.disabled) {\n // the parent wm-select is in charge of the actual selection\n // using ev.detail because ev.target returns the wm-select for duplicate options\n this.wmOptionSelected.emit(this.el as HTMLWmOptionElement);\n }\n }\n\n @Listen(\"blur\")\n handleBlur(ev: FocusEvent) {\n this.wmOptionBlurred.emit({ relatedTarget: ev.relatedTarget });\n }\n\n @Watch(\"selected\")\n syncAriaSelected() {\n // this function only keeps the aria-selected attr in sync with the selected prop\n // all the logic for selecting / deselecting happens in the parent wm-select\n this.selected ? this.el.setAttribute(\"aria-selected\", \"true\") : this.el.removeAttribute(\"aria-selected\");\n }\n\n @Watch(\"disabled\")\n syncAriaDisabled() {\n this.disabled ? this.el.setAttribute(\"aria-disabled\", \"true\") : this.el.removeAttribute(\"aria-disabled\");\n }\n\n @Watch(\"disabled\")\n updateDisabledOnClick() {\n if (this.disabled && this.el.onclick) {\n this.onClickFunc = this.el.onclick;\n this.el.onclick = null;\n } else if (!this.disabled && this.onClickFunc) {\n this.el.onclick = this.onClickFunc;\n }\n }\n\n handleSearch(ev: CustomEvent) {\n // filter is case-insensitive, so\n this.searchTerm = ev.detail.searchTerm.toLowerCase();\n\n if (this.searchTerm) {\n const regexp = new RegExp(`${this.searchTerm}`, \"gi\");\n const boldedText = this.el.textContent!.replace(regexp, (match) => `<strong>${match}</strong>`);\n // for voiceover, text splitting is read as separate phrases. i.e. hel<b>lo</b> will be read as \"hel lo\"\n // aria-hidden and sr-only is used to circumvent this\n this.textEl.innerHTML = boldedText;\n } else {\n this.textEl.innerHTML = this.el.textContent!;\n }\n }\n\n componentWillLoad() {\n this.syncAriaSelected();\n this.syncAriaDisabled();\n this.updateDisabledOnClick();\n\n this.parentSelectEl.addEventListener(\"wmSelectSearchChanged\", (ev) => this.handleSearch(ev as CustomEvent));\n }\n\n render() {\n return (\n <Host role=\"option\" tabindex={this.focused ? 0 : -1} class={this.hostClasses}>\n <div class={`option-wrapper ${this.parentSelectEl.multiple ? \"checkbox\" : \"\"}`}>\n <span aria-hidden=\"true\" ref={(el) => (this.textEl = el as HTMLDivElement)}>\n {this.el.textContent}\n </span>\n <span class=\"sr-only\">{this.el.textContent}</span>\n </div>\n <div class=\"subinfo\">{this.subinfo}</div>\n </Host>\n );\n }\n}\n",":host {\n position: relative;\n display: block;\n box-sizing: border-box;\n font-family: inherit;\n\n .sr-only {\n @include srOnly;\n }\n}\n\n@include label;\n\n.wrapper {\n & .button-wrapper {\n position: relative;\n flex: 1;\n font-size: rem-calc(18);\n color: $button-default-text;\n min-width: rem-calc(140);\n\n .displayedoption {\n @include border-radius(3px);\n @include box-shadow(none);\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n background: transparent;\n width: 100%;\n border: solid 1px rgba(35, 35, 35, 0.6);\n padding: rem-calc(0 30 0 15);\n cursor: pointer;\n height: rem-calc(40);\n line-height: normal;\n font-family: inherit;\n color: $button-default-text;\n font-weight: 400;\n font-size: rem-calc(14);\n text-transform: none;\n text-align: left;\n\n @media only screen and (max-width: 768px) {\n height: rem-calc(44);\n }\n\n &:before {\n @include mdi-icon;\n content: \"\\f140\";\n position: absolute;\n right: rem-calc(9);\n pointer-events: none;\n }\n\n &:hover:not(:disabled):not(.-disabled):not(.-raised) {\n background: transparent;\n text-decoration: none;\n }\n\n &:active {\n // fix style bleed in Edge\n -ms-transform: scale(1, 1) !important;\n transform: scale(1, 1) !important;\n }\n\n &:focus {\n outline: none;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &.user-is-tabbing:focus {\n @include focus-style;\n }\n\n .overflowcontrol {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 1;\n\n &.hassubinfo {\n display: flex;\n\n .button-text {\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 0;\n }\n .subinfo {\n flex: none;\n font-style: italic;\n }\n }\n }\n\n .overflow-counter {\n font-weight: bold;\n margin-left: rem-calc(8);\n }\n }\n\n > .displayedoption[disabled] {\n color: #6b6b6b;\n border-color: #8a8a8a;\n background: #f0f0f0;\n cursor: default;\n }\n\n > .dropdown {\n -webkit-overflow-scrolling: touch;\n\n @include box-shadow(0 4px 15px 0 rgba(0, 0, 0, 0.2));\n @include transition(transform 0.25s ease);\n @include scale($xVal: 1, $yVal: 0);\n @include transformOrigin(center top);\n @include border-radius(3px);\n position: absolute;\n top: 0;\n right: 0;\n background: #fff;\n z-index: 100;\n width: 100%;\n font-size: rem-calc(14);\n\n &.upwards {\n top: unset;\n bottom: calc(100% - 2.5rem);\n @include transformOrigin(center bottom);\n }\n\n &.hidden {\n visibility: hidden;\n }\n }\n\n > .dropdown.open {\n @include scale($xVal: 1, $yVal: 1);\n }\n }\n\n &.invalid {\n & .button-wrapper {\n & .displayedoption {\n @include invalidBorder;\n }\n }\n }\n\n & .error-message {\n @include errorMessage;\n margin-bottom: rem-calc(4);\n top: 100%;\n left: 0;\n }\n}\n\n.options-wrapper {\n max-height: rem-calc(200);\n overflow: auto;\n}\n\n.select-all {\n //display: inline-block;\n width: 100%;\n cursor: pointer;\n padding: rem-calc(20);\n border: none;\n margin: 0;\n border-bottom: 2px solid $list-border-bottom-color;\n background: $light-background;\n font-family: inherit;\n font-size: inherit;\n text-align: left; // fallback for browsers not supporting logical properties\n text-align: start;\n font-weight: 500;\n color: $interactive-element;\n user-select: none;\n\n &:hover,\n &:focus {\n outline: none;\n background: #f4f4f4;\n }\n}\n\n.search {\n box-sizing: border-box;\n border-bottom: 2px solid $list-border-bottom-color;\n padding: rem-calc(20);\n\n .searchfield-wrapper {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n height: rem-calc(44);\n width: 100%;\n padding: 0 rem-calc(12);\n @include border-radius(3px);\n border: 1px solid $input-border-color;\n &:focus,\n &.focus {\n @include field-focus;\n }\n }\n .searchfield {\n width: 100%;\n border: none;\n outline: none;\n font-family: inherit;\n font-size: rem-calc(14);\n margin-left: rem-calc(4);\n }\n .icon:before {\n @include mdi-icon;\n content: \"\\f349\";\n color: $gray;\n font-size: rem-calc(14);\n }\n}\n\n.search-results-message {\n padding: rem-calc(20);\n color: $body-text-color;\n font-size: rem-calc(14);\n font-style: italic;\n}\n\n.rtl {\n > .dropdown {\n @include transformOrigin(left top);\n left: 0;\n right: auto;\n\n .option {\n padding-left: rem-calc(48);\n padding-right: rem-calc(20);\n }\n }\n\n > .displayedoption {\n padding: rem-calc(0 15 0 30);\n text-align: right;\n\n &:before {\n right: auto;\n left: rem-calc(9);\n }\n }\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch, Host } from \"@stencil/core\";\nimport { forceUpdate } from \"@stencil/core\";\nimport { generateId, getTextDir, shouldOpenUp, intl, debounce } from \"../../global/functions\";\nimport { globalMessages } from \"../../global/intl\";\n\n@Component({\n tag: \"wm-select\",\n styleUrl: \"wm-select.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Select {\n @Element() el!: HTMLWmSelectElement;\n\n private uid!: string;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ mutable: true }) invalid: boolean = false;\n @Prop() maxHeight?: string;\n @Prop({ mutable: true }) label?: string;\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\n @Prop() requiredField: boolean = false;\n @Prop({ mutable: true }) errorMessage: string = \"\";\n @Prop() multiple: boolean = false;\n @Prop() search: boolean = false;\n @Prop() selectAll: boolean = false;\n @Prop() placeholder: string = intl.formatMessage({\n id: \"select.multiPlaceholder\",\n defaultMessage: \"Make a selection\",\n description: \"Placeholder text. Use imperative\",\n });\n @Prop() searchPlaceholder: string = intl.formatMessage({\n id: \"select.searchPlaceholder\",\n defaultMessage: \"Search\",\n description: \"Placeholder text. Use imperative\",\n });\n @Prop() allSelectedMessage: string = intl.formatMessage({\n id: \"select.allSelected\",\n defaultMessage: \"All selected\",\n description: \"Text displayed when all options are selected\",\n });\n\n selectAllMessage = intl.formatMessage({\n id: \"select.selectAll\",\n defaultMessage: \"Select All\",\n });\n\n deselectAllMessage = intl.formatMessage({\n id: \"select.deselectAll\",\n defaultMessage: \"Deselect All\",\n });\n\n allOptionsSelectedMessage = intl.formatMessage({\n id: \"select.allOptionsSelected\",\n defaultMessage: \"All options selected\",\n });\n\n allOptionsDeselectedMessage = intl.formatMessage({\n id: \"select.allOptionsDeselected\",\n defaultMessage: \"All options deselected\",\n });\n\n @State() isTabbing: boolean = false;\n @State() isExpanded: boolean = false;\n @State() announcement: string = \"\";\n @Event() wmSelectDidLoad!: EventEmitter<void>;\n @Event() wmSelectBlurred!: EventEmitter<void>;\n @Event() wmSelectChanged!: EventEmitter<Object>;\n @Event() wmComponentBlurred!: EventEmitter<void>; // deprecated in favor of wmSelectBlurred\n @Event() wmSelectSearchChanged!: EventEmitter<Object>;\n\n private buttonEl!: HTMLButtonElement;\n private dropdownEl!: HTMLDivElement;\n private selectAllEl!: HTMLButtonElement;\n private listboxEl!: HTMLDivElement;\n private liveRegionEl!: HTMLDivElement;\n private searchFieldWrapperEl!: HTMLDivElement;\n private searchFieldEl!: HTMLInputElement;\n private errorContainer!: HTMLDivElement;\n private keysSoFar: string = \"\";\n private searchIndex: number = 0;\n private openUp: boolean = false;\n get childOptions() {\n return Array.from(this.el.querySelectorAll(\"wm-option\"));\n }\n get duplicateOptions(): HTMLWmOptionElement[] {\n return Array.from(this.el.shadowRoot!.querySelectorAll(\"wm-option\"));\n }\n get allOptionEls(): HTMLWmOptionElement[] {\n // this includes both slotted wm-options and internally created wm-options\n return this.duplicateOptions.concat(this.childOptions);\n }\n get visibleOptionEls(): HTMLWmOptionElement[] {\n return this.allOptionEls.filter(\n (option) => !option.classList.contains(\"hidden\") && !option.classList.contains(\"filtered-out\")\n );\n }\n\n //////////////////////////////////////\n // for search variants\n get searchTerm(): string {\n return this.searchFieldEl ? this.searchFieldEl.value : \"\";\n }\n get filteredOptions(): HTMLWmOptionElement[] {\n return this.childOptions.filter((option) =>\n option.textContent?.toLowerCase().includes(this.searchTerm.toLowerCase())\n );\n }\n //////////////////////////////////////\n\n //////////////////////////////////////\n // for multiselect button text\n private overflowCount: number = 0;\n get selectedOptions(): HTMLWmOptionElement[] {\n return Array.from(this.el.querySelectorAll(\"wm-option\")).filter((x) => x.selected);\n }\n private displayedOptions: HTMLWmOptionElement[] = [];\n get allSelected() {\n return this.childOptions.every((option) => option.selected);\n }\n //////////////////////////////////////\n\n get resultsFoundMessage() {\n return intl.formatMessage(\n {\n id: \"select.searchResultsFound\",\n defaultMessage: \"{numResults, plural, one {1 option found} other {# options found}}\",\n description: \"The message read by the screen reader, indicating how many results a search returned\",\n },\n { numResults: this.filteredOptions.length }\n );\n }\n\n get noResultsFoundMessage() {\n return intl.formatMessage({\n id: \"select.noSearchResults\",\n defaultMessage: \"No results found. Please try your search again.\",\n description: \"The message displayed when no options pass the search filter\",\n });\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n @Listen(\"wmOptionSelected\")\n handleOptionSelection(ev: CustomEvent): void {\n const option: HTMLWmOptionElement = ev.detail;\n this.focusOption(option);\n if (!this.multiple) {\n // if the option was already selected, leave selected states untouched and don't fire the event\n if (!option.selected) {\n this.selectOption(option);\n const detail = { changedOption: option, selectedOptions: [option] };\n this.wmSelectChanged.emit(detail);\n // change is deprecated in favor of wmSelectChanged\n // because of issues with React wrappers when using native events name\n const event = new CustomEvent(\"change\", { detail: detail });\n // @ts-ignore\n this.el.dispatchEvent(event);\n }\n this.close();\n } else {\n this.selectOption(option);\n // we pass the original option with the event, as it's the only one the devs know or care about\n // devs will typically set a `value` on the option, which is not copied over\n // we could have taken the value and put it on the duplicate option,\n // but this approach is more flexible (what if they want to have a data attribute?)\n const isDuplicate: boolean = option.classList.contains(\"duplicate\");\n const originalOption: HTMLWmOptionElement = isDuplicate ? this.findCorrespondingOption(option) : option;\n const selectedOptions = this.childOptions.filter((o) => o.selected);\n const detail = { changedOption: originalOption, selectedOptions: selectedOptions };\n this.wmSelectChanged.emit(detail);\n // change is deprecated in favor of wmSelectChanged\n // because of issues with React wrappers when using native events name\n const event = new CustomEvent(\"change\", { detail: detail });\n // @ts-ignore\n this.el.dispatchEvent(event);\n }\n }\n\n @Listen(\"wmEnterKeyPressed\")\n handleChildEnter(): void {\n // only occurs for multiselects. handle the click, then close\n this.close();\n }\n\n @Listen(\"wmKeyUpPressed\")\n handleChildUp(ev: CustomEvent): void {\n this.moveUp(ev.detail as HTMLWmOptionElement);\n }\n\n @Listen(\"wmKeyDownPressed\")\n handleChildDown(ev: CustomEvent): void {\n this.moveDown(ev.detail as HTMLWmOptionElement);\n }\n\n @Listen(\"wmHomeKeyPressed\")\n moveToFirstOption(): void {\n this.focusOption(this.visibleOptionEls[0]);\n }\n\n @Listen(\"wmEndKeyPressed\")\n moveToLastOption(): void {\n this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length - 1]);\n }\n\n @Listen(\"wmEscKeyPressed\")\n closePopupOnEscape(): void {\n this.close();\n }\n\n @Listen(\"wmOptionBlurred\")\n handleOptionBlur(ev: CustomEvent): void {\n // if the Option is blurred to something other than the component emit a blur event with the appropriate relatedTarget\n // keeps our component's blur events accurate, and closes when focusing browser address bar\n if (!this.isElOrChild(ev.detail.relatedTarget)) {\n const event = new CustomEvent(\"blur\");\n // @ts-ignore\n event.relatedTarget = ev.detail.relatedTarget;\n this.el.dispatchEvent(event);\n }\n }\n\n @Listen(\"click\", { target: \"document\", capture: true })\n handleClick(ev: MouseEvent): void {\n if (!this.isElOrChild(ev.target as HTMLElement)) {\n this.close();\n }\n }\n\n handleSelectAllClick() {\n this.allSelected ? this.deselectAllOptions() : this.selectAllOptions();\n }\n\n selectAllOptions() {\n this.allOptionEls.forEach((o) => (o.selected = true));\n this.setSelectAllButton();\n this.setButtonText();\n const detail = { changedOption: null, selectedOptions: this.childOptions };\n this.wmSelectChanged.emit(detail);\n }\n\n deselectAllOptions() {\n this.allOptionEls.forEach((o) => (o.selected = false));\n this.setSelectAllButton();\n this.setButtonText();\n const detail = { changedOption: null, selectedOptions: [] };\n this.wmSelectChanged.emit(detail);\n }\n\n handleButtonBlur(ev: FocusEvent) {\n if (this.isElOrChild(ev.relatedTarget as HTMLElement)) {\n // do not emit a blur event when opening the dropdown and focusing the Options\n ev.stopPropagation();\n }\n }\n\n handleSearchFieldBlur(ev: FocusEvent) {\n this.searchFieldWrapperEl.classList.remove(\"focus\");\n if (this.isElOrChild(ev.relatedTarget as HTMLElement)) {\n // do not emit a blur event when moving from searchfield to options\n ev.stopPropagation();\n }\n }\n\n @Listen(\"keydown\")\n handleKey(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n if (this.isExpanded === false) {\n ev.preventDefault();\n this.open(\"next\");\n }\n break;\n\n case \"ArrowUp\":\n if (this.isExpanded === false) {\n ev.preventDefault();\n this.open(\"previous\");\n }\n break;\n }\n }\n\n componentWillLoad() {\n if (!this.label) {\n console.error(\n \"For accessibility purposes, this component requires a label (even if `label-position` is set to `none`).\"\n );\n }\n\n this.uid = this.el.id ? this.el.id : generateId();\n\n if (document.body.classList.contains(\"wmcl-user-is-tabbing\")) {\n this.toggleTabbingOn();\n }\n\n // set initial selections\n if (this.selectedOptions.length > 0) {\n this.selectedOptions.forEach((x) => {\n this.displayedOptions.push(x);\n });\n // single Select only, pre-select if no default option from dev\n } else if (!this.multiple) {\n this.selectOption(this.allOptionEls[0]);\n }\n }\n\n componentDidLoad() {\n this.wmSelectDidLoad.emit();\n this.dropdownEl.classList.add(\"hidden\");\n forceUpdate(this.el);\n\n // Dev can overwrite the max-height rule set in the Sass file\n if (this.maxHeight) {\n this.listboxEl.style.maxHeight = this.maxHeight;\n }\n\n if (this.multiple) {\n this.updateOptionVisibility();\n }\n this.setButtonText();\n }\n\n componentWillUpdate() {\n if (this.multiple) {\n // find last visible duplicate option and apply .last class\n const visibleDuplicateOptions = this.visibleOptionEls.filter((option) => option.classList.contains(\"duplicate\"));\n visibleDuplicateOptions.forEach((option, idx) => {\n if (idx === visibleDuplicateOptions.length - 1) {\n option.classList.add(\"last\");\n } else {\n option.classList.remove(\"last\");\n }\n });\n }\n }\n\n moveUp(el: HTMLElement) {\n const focusableEls: HTMLElement[] = this.visibleOptionEls;\n if (this.selectAllEl) {\n focusableEls.unshift(this.selectAllEl);\n }\n if (this.searchFieldEl) {\n focusableEls.unshift(this.searchFieldEl);\n }\n\n const prevEl = focusableEls[focusableEls.indexOf(el) - 1] || focusableEls[focusableEls.length - 1];\n\n if (prevEl) {\n this.focusOption(prevEl);\n }\n }\n\n moveDown(el: HTMLElement) {\n const focusableEls: HTMLElement[] = this.visibleOptionEls;\n if (this.selectAllEl) {\n focusableEls.unshift(this.selectAllEl);\n }\n if (this.searchFieldEl) {\n focusableEls.unshift(this.searchFieldEl);\n }\n\n const nextEl = focusableEls[focusableEls.indexOf(el) + 1] || focusableEls[0];\n\n if (nextEl) {\n this.focusOption(nextEl);\n }\n }\n\n open(optionToSelect?: \"next\" | \"previous\"): void {\n if (!this.disabled) {\n const elHeight = this.el.clientHeight;\n const buttonHeight = this.buttonEl.clientHeight;\n this.openUp = shouldOpenUp(\n this.el,\n this.dropdownEl,\n // when opening up, dropdown covers both label and button\n elHeight,\n // when opening down, dropdown covers only the button\n buttonHeight\n );\n this.isExpanded = true;\n this.dropdownEl.classList.remove(\"hidden\");\n\n window.requestAnimationFrame(() => {\n switch (optionToSelect) {\n case \"next\":\n // search variant focuses search field\n // all others focus option \"after\" last selected option (this can be the first option)\n if (this.search) {\n this.searchFieldEl.focus();\n this.listboxEl.scrollTop = 0;\n } else {\n this.moveDown(this.visibleOptionEls.filter((x) => x.selected).slice(-1)[0]);\n }\n break;\n case \"previous\":\n // search variant focuses last option\n // all others focus option \"above\" first selected option (this can be the last option)\n if (this.search) {\n this.focusOption(this.visibleOptionEls[this.visibleOptionEls.length - 1]);\n } else {\n this.moveUp(this.visibleOptionEls.filter((x) => x.selected)[0]);\n }\n break;\n default:\n // search variant focuses search field\n // all others focus the selected option\n // if no option is selected (empty multiselect), focuses first option\n if (this.search) {\n this.searchFieldEl.focus();\n this.listboxEl.scrollTop = 0;\n } else if (this.selectedOptions.length > 0) {\n this.focusOption(this.visibleOptionEls.filter((x) => x.selected)[0]);\n } else {\n this.focusOption(this.visibleOptionEls[0]);\n }\n break;\n }\n });\n }\n }\n\n close(returnFocus: boolean = true): void {\n if (this.isExpanded) {\n this.isExpanded = false;\n this.allOptionEls.map((i) => (i.focused = false));\n\n window.setTimeout(() => {\n this.dropdownEl.classList.add(\"hidden\");\n if (this.multiple) {\n this.updateOptionVisibility();\n }\n // clear search field, reset filtered / bolded state of wm-options\n if (this.search) {\n this.searchFieldEl.value = \"\";\n this.wmSelectSearchChanged.emit({ searchTerm: this.searchTerm });\n }\n // Returns focus to button after popup closes (no need if user is tabbing)\n // Delay is necessary for screenreader to get new expanded state before focus\n // window.requestAnimationFrame is probably enough, but since we are already using setTimeout it may as well be here\n // also UX wise, it makes sense for the button to only be focused after the animation is complete\n if (returnFocus) {\n this.buttonEl.focus();\n }\n }, 150);\n }\n }\n\n updateOptionVisibility() {\n // this runs for search multiselects, where selected options are rendered at the top of the dropdown list\n // slotted wm-options are hidden if selected, and duplicate wm-options are made visible if selected\n this.childOptions.forEach((option, idx) => {\n const duplicateOption = this.duplicateOptions[idx];\n if (option.selected) {\n option.classList.add(\"hidden\");\n duplicateOption.classList.remove(\"hidden\");\n } else {\n option.classList.remove(\"hidden\");\n duplicateOption.classList.add(\"hidden\");\n }\n });\n }\n\n focusOption(option: HTMLElement): void {\n this.allOptionEls.forEach((i) => (i.focused = i === option));\n\n // option must be scrolledIntoView before focused\n // if focus is called first the option might be positioned incorrectly (in the center of the dropdown) and scrollIntoView will do nothing as the option will already be in view\n option.scrollIntoView({ block: \"nearest\" });\n\n // scrollIntoView does not work when the container of the element it's called on is not rendered to the page (in our case the dropdown is still closed and has transform: scaleY(0))\n // when opening the dropdown, scrollIntoView must be delayed to a point where the browser recognizes content within it as able to be scrolled to\n // in Safari in particular, the soonest this seems to happen is 20ms. The longest we can wait before any jumping in the open dropdown is noticeable is 60ms\n window.setTimeout(() => option.scrollIntoView({ block: \"nearest\" }), 60);\n\n option.focus();\n }\n\n selectOption(option: HTMLWmOptionElement): void {\n // beware of this function's name. For multiselect it actually toggles the selected state, so it can also deselect the option\n if (option.classList.contains(\"duplicate\")) {\n // if clicking on a duplicate option, toggle selected property of real one, then rerender\n const correspondingOption = this.findCorrespondingOption(option);\n correspondingOption.selected = !correspondingOption.selected;\n forceUpdate(this.el);\n } else if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.childOptions.forEach((x) => (x.selected = x === option));\n }\n // update the selectAll checkbox when an option is de/selected\n // checking is the el is present, implies that this.multiple and this.selectAll are true\n if (this.selectAllEl) {\n this.setSelectAllButton();\n }\n this.setButtonText();\n }\n\n @Listen(\"wmLetterPressed\")\n findAndFocusOption(ev: CustomEvent): void {\n const character = ev.detail.toLowerCase();\n\n if (!this.keysSoFar) {\n // if first character entered, set currently focused option as the starting index for the search\n this.visibleOptionEls.forEach((option, idx) => {\n if (option.focused) {\n this.searchIndex = idx;\n }\n });\n }\n\n this.keysSoFar += character;\n\n let nextMatch = this.findMatchInRange(this.visibleOptionEls, this.searchIndex + 1, this.visibleOptionEls.length);\n if (!nextMatch) {\n // if match can't be found from starting option downwards, search from top\n nextMatch = this.findMatchInRange(this.visibleOptionEls, 0, this.searchIndex);\n }\n\n if (nextMatch) {\n // findMatchInRange still might have returned null, only focus if match found\n this.focusOption(nextMatch as HTMLWmOptionElement);\n }\n this.debouncedClearKeysSoFar();\n }\n\n debouncedClearKeysSoFar = debounce(() => {\n this.keysSoFar = \"\";\n }, 500);\n\n findMatchInRange(list: HTMLWmOptionElement[], startIndex: number, endIndex: number): HTMLWmOptionElement | null {\n let match: HTMLWmOptionElement | null = null;\n let optionsInRange = list.slice(startIndex, endIndex);\n\n // Find the first option starting with the keysSoFar substring, searching in\n // the specified range of options\n optionsInRange.forEach((option) => {\n const label = option.textContent;\n if (!match && label && label.toLowerCase().startsWith(this.keysSoFar)) {\n match = option;\n }\n });\n\n return match;\n }\n\n findCorrespondingOption(el: HTMLWmOptionElement): HTMLWmOptionElement {\n // if duplicate, returns the child wm-option\n // if child wm-option, returns duplicate\n const isDuplicate = el.classList.contains(\"duplicate\");\n return isDuplicate\n ? this.childOptions[this.duplicateOptions.indexOf(el)]\n : this.duplicateOptions[this.childOptions.indexOf(el)];\n }\n\n isElOrChild(el: HTMLElement) {\n // determines whether or not the element is the component, a child of the component, or exists within the component's shadowroot\n return el === this.el || this.el.contains(el) || this.el.shadowRoot?.contains(el);\n }\n\n @Watch(\"errorMessage\")\n exposeErrors() {\n // When the error changes, a new id is set for the error container and the button's aria-describedby attribute is updated accordingly. This is to make sure the screen reader announces teh updated errors in Firefox. See this longstanding bug: https://bugzilla.mozilla.org/show_bug.cgi?id=493683\n const newId = generateId();\n this.errorContainer.id = `wm-errors-${newId}`;\n this.buttonEl.setAttribute(\"aria-describedby\", `wm-errors-${newId}`);\n }\n\n renderErrorContainer() {\n return (\n <div\n id=\"wm-errors\"\n class={this.errorMessage ? \"error-message\" : \"\"}\n ref={(el) => (this.errorContainer = el as HTMLDivElement)}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n >\n {this.errorMessage}\n </div>\n );\n }\n\n handleComponentBlur(ev: FocusEvent): void {\n // Do not close or emit custom blur event when blurring to an element inside (wm-option)\n if (!this.el.contains(ev.relatedTarget as Node)) {\n this.close(false);\n this.wmSelectBlurred.emit();\n this.wmComponentBlurred.emit(); // deprecated\n }\n }\n\n // on search field or select all. keydown on options is handled via events.\n handleKeyDown(ev: KeyboardEvent) {\n const el = ev.target as HTMLElement;\n switch (ev.key) {\n case \"ArrowDown\":\n ev.preventDefault();\n this.moveDown(ev.target as HTMLElement);\n break;\n case \"ArrowUp\":\n ev.preventDefault();\n this.moveUp(ev.target as HTMLElement);\n break;\n case \"Escape\":\n ev.preventDefault();\n this.close();\n break;\n case \"Enter\":\n if (el === this.selectAllEl) {\n ev.preventDefault();\n this.handleSelectAllClick();\n this.close();\n }\n break;\n case \" \":\n if (el === this.selectAllEl) {\n ev.preventDefault();\n this.handleSelectAllClick();\n }\n break;\n }\n }\n\n debouncedSearch = debounce(() => {\n this.wmSelectSearchChanged.emit({ searchTerm: this.searchTerm });\n\n if (this.filteredOptions.length) {\n this.announce(this.resultsFoundMessage);\n } else {\n this.announce(this.noResultsFoundMessage);\n }\n }, 150);\n\n setButtonText() {\n this.displayedOptions = this.childOptions\n .filter((x) => x.selected)\n .map((y) => (!y.classList.contains(\"hidden\") ? y : this.findCorrespondingOption(y)));\n\n // handle overflow + counter for multiselect\n if (this.multiple) {\n // this is a fixed measurement accounting for the max width of a 3 character overflow counter\n const overflowCounterWidth = 38;\n const computedStyle = window.getComputedStyle(this.buttonEl);\n\n // there seems to be no quick way to get an elements width without padding, except for subtracting padding manually\n const paddingLeft = parseInt(computedStyle.getPropertyValue(\"padding-left\").slice(0, -2));\n const paddingRight = parseInt(computedStyle.getPropertyValue(\"padding-right\").slice(0, -2));\n\n const availableSpace = this.buttonEl.clientWidth - paddingLeft - paddingRight - overflowCounterWidth;\n\n let optionsWidths = this.displayedOptions.map((x) => x.shadowRoot!.querySelector(\".option-wrapper\")!.clientWidth);\n\n let optionsTotalWidth = optionsWidths.reduce((acc, x) => acc + x, 0);\n this.overflowCount = 0;\n\n while (optionsTotalWidth > availableSpace && this.displayedOptions.length > 1) {\n this.overflowCount++;\n optionsTotalWidth -= optionsWidths[optionsWidths.length - 1];\n optionsWidths.pop();\n this.displayedOptions.pop();\n }\n }\n }\n\n setSelectAllButton() {\n if (this.allSelected) {\n this.selectAllEl.textContent = this.deselectAllMessage;\n this.announce(this.allOptionsSelectedMessage);\n } else {\n this.selectAllEl.textContent = this.selectAllMessage;\n if (this.selectedOptions.length === 0) {\n this.announce(this.allOptionsDeselectedMessage);\n }\n }\n }\n\n announce(message: string) {\n // \\u00A0 is a non-breaking space character, which causes the message to be read as a new one\n if (this.liveRegionEl.textContent === message) {\n message += \"\\u00A0\";\n }\n this.announcement = message;\n }\n\n renderButtonText() {\n if (this.multiple && this.displayedOptions.length < 1) {\n return <span>{this.placeholder}</span>;\n } else if (this.multiple && this.allSelected && this.overflowCount > 0) {\n return this.allSelectedMessage;\n } else {\n return this.displayedOptions.map((x, idx) => (\n <span>\n {idx > 0 ? \", \" : \"\"}\n {x.textContent}\n </span>\n ));\n }\n }\n\n renderSubinfo() {\n // multiselects cannot have subinfo for options\n if (!this.multiple && this.selectedOptions.length > 0 && this.selectedOptions[0].subinfo) {\n return <span class=\"subinfo\">{this.selectedOptions[0].subinfo}</span>;\n }\n }\n\n renderOverflowCount() {\n if (this.overflowCount > 0 && !this.allSelected) {\n return (\n <span>\n <span class=\"overflow-counter\">+{this.overflowCount}</span>\n </span>\n );\n }\n }\n\n renderSearchField() {\n return (\n <div class=\"search\">\n <div class=\"searchfield-wrapper\" ref={(el) => (this.searchFieldWrapperEl = el as HTMLInputElement)}>\n <div class=\"icon\"></div>\n <input\n ref={(el) => (this.searchFieldEl = el as HTMLInputElement)}\n class=\"searchfield\"\n role=\"combobox\"\n aria-controls={`list-${this.uid}`}\n aria-expanded={this.isExpanded ? \"true\" : \"false\"}\n onKeyDown={(ev) => this.handleKeyDown(ev)}\n onFocus={() => this.searchFieldWrapperEl.classList.add(\"focus\")}\n onBlur={(ev) => this.handleSearchFieldBlur(ev)}\n onInput={() => this.debouncedSearch()}\n placeholder={this.searchPlaceholder}\n ></input>\n </div>\n </div>\n );\n }\n\n renderSearchFailedMessage() {\n return <div class=\"search-results-message\">{this.noResultsFoundMessage}</div>;\n }\n\n renderSelectAllButton() {\n if (this.selectAll && this.multiple && this.searchTerm == \"\") {\n return (\n <button\n ref={(el) => (this.selectAllEl = el as HTMLButtonElement)}\n class=\"select-all\"\n onClick={() => this.handleSelectAllClick()}\n onKeyDown={(ev) => this.handleKeyDown(ev)}\n tabindex=\"-1\"\n >\n {this.allSelected ? this.deselectAllMessage : this.selectAllMessage}\n </button>\n );\n }\n }\n\n renderDuplicateOptions() {\n return Array.from(this.el.children).map((option) => {\n return (\n <wm-option class=\"duplicate\" selected={(option as HTMLWmOptionElement).selected}>\n {option.textContent}\n </wm-option>\n );\n });\n }\n\n render() {\n const buttonProps = {\n id: `selectbtn-${this.uid}`,\n [\"disabled\"]: this.disabled,\n [\"aria-controls\"]: `list-${this.uid}`,\n [\"aria-labelledby\"]: `label-${this.uid} selectbtn-${this.uid}`,\n [\"aria-describedby\"]: \"wm-errors\",\n [\"aria-expanded\"]: this.isExpanded ? \"true\" : \"false\",\n onClick: () => (this.isExpanded ? this.close() : this.open()),\n };\n\n return (\n <Host onBlur={(ev: FocusEvent) => this.handleComponentBlur(ev)}>\n <div\n class={`wrapper ${getTextDir()} label-${this.labelPosition} ${\n this.invalid || this.errorMessage ? \"invalid\" : \"\"\n }`}\n >\n <div class=\"label-wrapper\">\n <label class=\"label\" id={`label-${this.uid}`} htmlFor={`selectbtn-${this.uid}`}>\n {this.label}\n {\n // we can't use aria-required or required attributes because it's invalid on the elements we're using (button controlling a listbox)\n this.requiredField ? (\n <span class=\"required\">\n <span class=\"sr-only\">{globalMessages.requiredField}</span>\n <span aria-hidden=\"true\">*</span>\n </span>\n ) : (\n \"\"\n )\n }\n </label>\n </div>\n <div class=\"button-wrapper\">\n <button\n {...buttonProps}\n class={`displayedoption ${this.isTabbing ? \"user-is-tabbing\" : \"\"}`}\n ref={(el) => (this.buttonEl = el as HTMLButtonElement)}\n onBlur={(ev) => this.handleButtonBlur(ev)}\n onFocus={() => this.close()}\n >\n <span\n class={\n this.selectedOptions.length > 0 && this.selectedOptions.filter((x) => x.subinfo).length > 0\n ? \"overflowcontrol hassubinfo\"\n : \"overflowcontrol\"\n }\n >\n <span class=\"button-text\">{this.renderButtonText()}</span>\n {this.renderSubinfo()}\n </span>\n {this.renderOverflowCount()}\n </button>\n <div\n class={`dropdown ${this.isExpanded ? \"open\" : \"\"} ${this.openUp ? \"upwards\" : \"\"}`}\n ref={(el) => (this.dropdownEl = el as HTMLDivElement)}\n >\n {this.search && this.renderSearchField()}\n <div\n id={`list-${this.uid}`}\n class=\"options-wrapper\"\n tabindex={-1}\n role=\"listbox\"\n aria-multiselectable={this.multiple ? \"true\" : null}\n aria-labelledby={`label-${this.uid}`}\n ref={(el) => (this.listboxEl = el as HTMLDivElement)}\n >\n {this.search && this.filteredOptions.length === 0 && this.renderSearchFailedMessage()}\n {this.renderSelectAllButton()}\n {this.multiple && this.renderDuplicateOptions()}\n <slot />\n </div>\n </div>\n {this.renderErrorContainer()}\n <div\n id=\"announcement\"\n aria-live=\"polite\"\n class=\"sr-only\"\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\n >\n {this.announcement}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["privNavigatorItemCss","PrivNavigatorItem","exports","class_1","prototype","handleKeyDown","ev","key","el","this","preventDefault","keydownOnNavItem","emit","navItem","render","selectedClass","selected","focusedClass","focused","h","class","concat"],"sources":["src/components/wm-navigator/priv-navigator-item/priv-navigator-item.scss?tag=priv-navigator-item&encapsulation=shadow","src/components/wm-navigator/priv-navigator-item/priv-navigator-item.tsx"],"sourcesContent":[":host,\r\npriv-navigator-item {\r\n list-style: none;\r\n border-bottom: 1px solid #e0dde4;\r\n width: 100%;\r\n display: block;\r\n cursor: pointer;\r\n\r\n .navoption {\r\n color: #404248;\r\n padding: 0.9375rem 1.25rem;\r\n background: #fff;\r\n font-size: rem-calc(14);\r\n\r\n &.selected,\r\n &:hover {\r\n background: #e5e5e5;\r\n }\r\n\r\n &.focused:not(.selected) {\r\n background: $background;\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n","import { Component, Element, h, Prop, Event, EventEmitter, Listen } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"priv-navigator-item\",\r\n styleUrl: \"priv-navigator-item.scss\",\r\n shadow: true,\r\n})\r\nexport class PrivNavigatorItem {\r\n @Element() el!: any;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop({ mutable: true }) focused: boolean = false;\r\n @Prop({ mutable: true }) link: string = \"\";\r\n @Event() keydownOnNavItem!: EventEmitter<{\r\n navItem: HTMLPrivNavigatorItemElement;\r\n key: string;\r\n }>;\r\n\r\n @Listen(\"keydown\")\r\n handleKeyDown(ev: KeyboardEvent) {\r\n const key = ev.key;\r\n const el = this.el;\r\n if (key !== \"Tab\") {\r\n ev.preventDefault();\r\n }\r\n this.keydownOnNavItem.emit({ navItem: el, key: key });\r\n }\r\n\r\n render() {\r\n const selectedClass = this.selected ? \"selected\" : \"\";\r\n const focusedClass = this.focused ? \"focused\" : \"\";\r\n\r\n return (\r\n <div class={`navoption ${selectedClass} ${focusedClass}`}>\r\n <slot />\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"0JAAA,IAAMA,EAAuB,4f,ICOhBC,EAAiBC,EAAA,iC,yFAEiB,M,aACD,M,UACJ,E,CAOxCC,EAAAC,UAAAC,cAAA,SAAcC,GACZ,IAAMC,EAAMD,EAAGC,IACf,IAAMC,EAAKC,KAAKD,GAChB,GAAID,IAAQ,MAAO,CACjBD,EAAGI,gB,CAELD,KAAKE,iBAAiBC,KAAK,CAAEC,QAASL,EAAID,IAAKA,G,EAGjDJ,EAAAC,UAAAU,OAAA,WACE,IAAMC,EAAgBN,KAAKO,SAAW,WAAa,GACnD,IAAMC,EAAeR,KAAKS,QAAU,UAAY,GAEhD,OACEC,EAAA,OAAKC,MAAO,aAAAC,OAAaN,EAAa,KAAAM,OAAIJ,IACxCE,EAAA,a,uHA1BsB,I"}
1
+ {"version":3,"names":["privNavigatorItemCss","PrivNavigatorItem","exports","class_1","prototype","handleKeyDown","ev","key","el","this","preventDefault","keydownOnNavItem","emit","navItem","render","selectedClass","selected","focusedClass","focused","h","class","concat"],"sources":["src/components/wm-navigator/priv-navigator-item/priv-navigator-item.scss?tag=priv-navigator-item&encapsulation=shadow","src/components/wm-navigator/priv-navigator-item/priv-navigator-item.tsx"],"sourcesContent":[":host,\npriv-navigator-item {\n list-style: none;\n border-bottom: 1px solid #e0dde4;\n width: 100%;\n display: block;\n cursor: pointer;\n\n .navoption {\n color: #404248;\n padding: 0.9375rem 1.25rem;\n background: #fff;\n font-size: rem-calc(14);\n\n &.selected,\n &:hover {\n background: #e5e5e5;\n }\n\n &.focused:not(.selected) {\n background: $background;\n opacity: 1;\n }\n }\n}\n","import { Component, Element, h, Prop, Event, EventEmitter, Listen } from \"@stencil/core\";\n\n@Component({\n tag: \"priv-navigator-item\",\n styleUrl: \"priv-navigator-item.scss\",\n shadow: true,\n})\nexport class PrivNavigatorItem {\n @Element() el!: any;\n @Prop({ mutable: true }) selected: boolean = false;\n @Prop({ mutable: true }) focused: boolean = false;\n @Prop({ mutable: true }) link: string = \"\";\n @Event() keydownOnNavItem!: EventEmitter<{\n navItem: HTMLPrivNavigatorItemElement;\n key: string;\n }>;\n\n @Listen(\"keydown\")\n handleKeyDown(ev: KeyboardEvent) {\n const key = ev.key;\n const el = this.el;\n if (key !== \"Tab\") {\n ev.preventDefault();\n }\n this.keydownOnNavItem.emit({ navItem: el, key: key });\n }\n\n render() {\n const selectedClass = this.selected ? \"selected\" : \"\";\n const focusedClass = this.focused ? \"focused\" : \"\";\n\n return (\n <div class={`navoption ${selectedClass} ${focusedClass}`}>\n <slot />\n </div>\n );\n }\n}\n"],"mappings":"0JAAA,IAAMA,EAAuB,4f,ICOhBC,EAAiBC,EAAA,iC,yFAEiB,M,aACD,M,UACJ,E,CAOxCC,EAAAC,UAAAC,cAAA,SAAcC,GACZ,IAAMC,EAAMD,EAAGC,IACf,IAAMC,EAAKC,KAAKD,GAChB,GAAID,IAAQ,MAAO,CACjBD,EAAGI,gB,CAELD,KAAKE,iBAAiBC,KAAK,CAAEC,QAASL,EAAID,IAAKA,G,EAGjDJ,EAAAC,UAAAU,OAAA,WACE,IAAMC,EAAgBN,KAAKO,SAAW,WAAa,GACnD,IAAMC,EAAeR,KAAKS,QAAU,UAAY,GAEhD,OACEC,EAAA,OAAKC,MAAO,aAAAC,OAAaN,EAAa,KAAAM,OAAIJ,IACxCE,EAAA,a,uHA1BsB,I"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as i,H as r,g as e}from"./p-1c23de4a.js";import{a}from"./p-43f1298b.js";import{k as o,l as n,i as h}from"./p-05e0f901.js";import{g as l}from"./p-fd8070fb.js";const p=":host,wm-navigator{min-width:0;position:relative;display:inline-block}:host .wrapper,wm-navigator .wrapper{overflow:auto;font-size:1.125rem;min-width:13.125rem;width:auto;max-height:80vh;text-align:left;position:absolute;z-index:50;top:100%;right:20px;left:auto;background:#fff;letter-spacing:normal;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .wrapper .user,wm-navigator .wrapper .user{background:#f4f4f4;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper .user p,wm-navigator .wrapper .user p{margin:0}:host .wrapper .user p:first-child,wm-navigator .wrapper .user p:first-child{font-weight:700;text-transform:capitalize}:host .wrapper h2,wm-navigator .wrapper h2{background:#2e1b46;color:#fff;font-weight:700;margin:0;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper [role=listbox],wm-navigator .wrapper [role=listbox]{list-style:none;margin:0;padding-left:0}:host .wrapper.hide,wm-navigator .wrapper.hide{-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0)}:host .wrapper.right,wm-navigator .wrapper.right{right:auto;left:20px}:host img,wm-navigator img{-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transform-origin:left center;transform-origin:left center;display:block}:host .logout,wm-navigator .logout{text-align:center;text-transform:capitalize}priv-navigator-item:focus{outline:none}";const f=class{constructor(i){t(this,i);this.wmNavigatorLogout=s(this,"wmNavigatorLogout",7);this.retrievedInfo=!this.loadFromUserinfo;this.parsedProducts=[];this.openRight=false;this.userName=undefined;this.email=undefined;this.authType=1;this.connectionName=undefined;this.logoutUrl=undefined;this.products=undefined;this.loadFromUserinfo=false;this.isOpen=false;this.isTabbing=false;this.itemIndexToFocus=0}async componentWillLoad(){if(!this.userName){console.error("wm-navigator: user-name is a required property.")}await this.parseData();this.setFocusIndex()}async parseData(){if(!!this.loadFromUserinfo){await l("/platform/navigator/userinfo").then((t=>{this.email=t.email;this.currentProductId=t.current_product_id;this.parsedProducts=this.productKeysToCamelCase(t.products);this.logoutUrl=this.logoutUrl?this.logoutUrl:t.logout_url;this.connectionName=this.connectionName?this.connectionName:t.connection_name;if(!!this.email&&!!this.currentProductId){this.retrievedInfo=true}})).catch((t=>{console.error(t)}))}else{this.currentProductId=a(this.el);if(!!this.products){if(typeof this.products==="string"){this.parsedProducts=JSON.parse(this.products)}else{this.parsedProducts=this.products}this.parsedProducts=this.productKeysToCamelCase(this.parsedProducts)}}this.parsedProducts.sort(((t,s)=>t.name<s.name?-1:1))}productKeysToCamelCase(t){t=t.map((t=>{const s=Object.keys(t);let i={};s.forEach((s=>{i[o(s)]=t[s]}));return i}));return t}setFocusIndex(){if(this.parsedProducts.length>1){const t=this.getProduct(this.currentProductId);if(t){this.itemIndexToFocus=this.parsedProducts.indexOf(t)}}}toggleTabbingOn(){this.isTabbing=true}toggleTabbingOff(){this.isTabbing=false}handleKeys(t){switch(t.key){case"Escape":t.preventDefault();this.closeMenu();break;case"ArrowDown":case"ArrowUp":t.preventDefault();if(!this.isOpen){this.itemIndexToFocus=n(this.itemIndexToFocus,t.key,this.navigatorItems.length);this.openMenu()}break}}handleKeydown(t){const s=t.detail.key;const i=t.detail.navItem;switch(s){case"Tab":this.closeMenu();break;case"Enter":case" ":i.click();break;case"ArrowDown":case"ArrowUp":const t=this.itemIndexToFocus;this.itemIndexToFocus=n(this.itemIndexToFocus,s,this.navigatorItems.length);this.focusItem();this.unfocusItem(t);break}}handleClick(t){const s=t.target===this.el||this.el.contains(t.target);if(!s&&this.isOpen){this.closeMenu()}}handleButtonClick(){this.isOpen?this.closeMenu():this.openMenu()}openMenu(){if(this.wrapperEl){const t=this.wrapperEl.clientWidth;const s=this.el.getBoundingClientRect().left;const i=document.documentElement.clientWidth-this.el.getBoundingClientRect().right;this.openRight=t>s&&i>s}this.isOpen=true;this.focusItem()}closeMenu(){this.isOpen=false;this.buttonFocusHandler();this.unfocusItem(this.itemIndexToFocus);this.setFocusIndex()}focusItem(){const t=this.navigatorItems[this.itemIndexToFocus];t.tabIndex=0;t.focused=true;window.requestAnimationFrame((()=>t.focus()))}unfocusItem(t){const s=this.navigatorItems[t];s.tabIndex=-1;s.focused=false}buttonFocusHandler(){const t=this.el.shadowRoot.querySelector("priv-navigator-button");const s=t.shadowRoot.querySelector("button");window.requestAnimationFrame((()=>s.focus()))}renderUserInfo(){return i("div",{class:"user",id:"wm-nav-user","aria-label":h.formatMessage({id:"navigator.userinfoLabel",defaultMessage:"for {name}, email {email}"},{name:this.userName,email:this.email})},i("p",null,this.userName),i("p",null,this.email))}setAltText(){if(this.parsedProducts.length>1){return h.formatMessage({id:"navigator.userinfoAndProductNavigator",defaultMessage:"User information and product navigator"})}else{return h.formatMessage({id:"navigator.userinfo",defaultMessage:"User information"})}}renderHeading(){return i("h2",null,h.formatMessage({id:"navigator.watermarkApps",defaultMessage:"Watermark Apps",description:"Applications made by Watermark Insights"}))}renderList(){return i("ul",{role:"listbox","aria-label":`${h.formatMessage({id:"navigator.WatermarkAppNavigation",defaultMessage:"Watermark App Navigation",description:"list of applications by Watermark Insights"})}`,"aria-describedby":"wm-nav-user"},this.parsedProducts.length>1&&this.renderProductOptions(),this.renderLogoutOption())}renderProductOptions(){return this.parsedProducts.map((t=>{let s,r,e,a;s=t.name;r=t.iconUrl;a=this.setProductOnClick(t.id);if(!!s&&!!r){e=this.currentProductId===t.id;return i("priv-navigator-item",{selected:e,id:t.id,onClick:a,role:"option","aria-label":s},i("img",{src:r,alt:s}))}}))}setProductOnClick(t){const s=this.getProduct(t);if(this.currentProductId===t){return()=>{}}else if(s){if(!!this.loadFromUserinfo||this.authType===2){return()=>window.location.href=s.linkUrl}else if(this.authType===3){const t=this.connectionName?`/?connection_name=${this.connectionName}`:"";return()=>window.location.href=s.samlLinkUrl+t}}}renderLogoutOption(){return i("priv-navigator-item",{class:"logout",selected:!(this.parsedProducts.length>1),id:"nav-logout",onClick:this.setLogoutOnclick(),role:"option"},i("span",{class:"logout"},h.formatMessage({id:"navigator.logout",defaultMessage:"Log Out"})))}setLogoutOnclick(){return()=>{this.wmNavigatorLogout.emit();if(this.logoutUrl){window.location.href=this.logoutUrl}}}get navigatorItems(){return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"))}getProduct(t){return this.parsedProducts.find((s=>s.id===t))}render(){return this.retrievedInfo?i(r,{class:this.isTabbing?"user-is-tabbing":""},i("priv-navigator-button",{expanded:this.isOpen,altText:this.setAltText(),isTabbing:this.isTabbing}),i("div",{class:`wrapper ${this.isOpen?"":"hide"} ${this.openRight?"right":""}`,ref:t=>this.wrapperEl=t},this.renderUserInfo(),this.parsedProducts.length>1&&this.renderHeading(),this.renderList())):""}static get delegatesFocus(){return true}get el(){return e(this)}static get watchers(){return{products:["parseData"]}}};f.style=p;export{f as wm_navigator};
2
- //# sourceMappingURL=p-42158d44.entry.js.map
1
+ import{r as t,c as s,h as i,H as e,g as r}from"./p-1c23de4a.js";import{a}from"./p-888bec42.js";import{k as o,l as n,i as h}from"./p-c6a0f7e5.js";import{g as l}from"./p-a6d6eae7.js";const p=":host,wm-navigator{min-width:0;position:relative;display:inline-block}:host .wrapper,wm-navigator .wrapper{overflow:auto;font-size:1.125rem;min-width:13.125rem;width:auto;max-height:80vh;text-align:left;position:absolute;z-index:50;top:100%;right:20px;left:auto;background:#fff;letter-spacing:normal;-webkit-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-moz-box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 4px 15px 0 rgba(0, 0, 0, 0.2);-ms-transition:transform 0.25s ease;-webkit-transition:transform 0.25s ease;-moz-transition:transform 0.25s ease;-webkit-transition:-webkit-transform 0.25s ease;transition:-webkit-transform 0.25s ease;transition:transform 0.25s ease;transition:transform 0.25s ease, -webkit-transform 0.25s ease;-ms-transform-origin:center top;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top;-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .wrapper .user,wm-navigator .wrapper .user{background:#f4f4f4;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper .user p,wm-navigator .wrapper .user p{margin:0}:host .wrapper .user p:first-child,wm-navigator .wrapper .user p:first-child{font-weight:700;text-transform:capitalize}:host .wrapper h2,wm-navigator .wrapper h2{background:#2e1b46;color:#fff;font-weight:700;margin:0;padding:0.625rem 1.25rem;font-size:0.875rem}:host .wrapper [role=listbox],wm-navigator .wrapper [role=listbox]{list-style:none;margin:0;padding-left:0}:host .wrapper.hide,wm-navigator .wrapper.hide{-ms-transform:scale(1, 0);-webkit-transform:scale(1, 0);-moz-transform:scale(1, 0);transform:scale(1, 0)}:host .wrapper.right,wm-navigator .wrapper.right{right:auto;left:20px}:host img,wm-navigator img{-webkit-transform:scale(0.8);transform:scale(0.8);-webkit-transform-origin:left center;transform-origin:left center;display:block}:host .logout,wm-navigator .logout{text-align:center;text-transform:capitalize}priv-navigator-item:focus{outline:none}";const c=class{constructor(i){t(this,i);this.wmNavigatorLogout=s(this,"wmNavigatorLogout",7);this.retrievedInfo=!this.loadFromUserinfo;this.parsedProducts=[];this.openRight=false;this.userName=undefined;this.email=undefined;this.authType=1;this.connectionName=undefined;this.logoutUrl=undefined;this.products=undefined;this.loadFromUserinfo=false;this.isOpen=false;this.isTabbing=false;this.itemIndexToFocus=0}async componentWillLoad(){if(!this.userName){console.error("wm-navigator: user-name is a required property.")}await this.parseData();this.setFocusIndex()}async parseData(){if(!!this.loadFromUserinfo){await l("/platform/navigator/userinfo").then((t=>{this.email=t.email;this.currentProductId=t.current_product_id;this.parsedProducts=this.productKeysToCamelCase(t.products);this.logoutUrl=this.logoutUrl?this.logoutUrl:t.logout_url;this.connectionName=this.connectionName?this.connectionName:t.connection_name;if(!!this.email&&!!this.currentProductId){this.retrievedInfo=true}})).catch((t=>{console.error(t)}))}else{this.currentProductId=a(this.el);if(!!this.products){if(typeof this.products==="string"){this.parsedProducts=JSON.parse(this.products)}else{this.parsedProducts=this.products}this.parsedProducts=this.productKeysToCamelCase(this.parsedProducts)}}this.parsedProducts.sort(((t,s)=>t.name<s.name?-1:1))}productKeysToCamelCase(t){t=t.map((t=>{const s=Object.keys(t);let i={};s.forEach((s=>{i[o(s)]=t[s]}));return i}));return t}setFocusIndex(){if(this.parsedProducts.length>1){const t=this.getProduct(this.currentProductId);if(t){this.itemIndexToFocus=this.parsedProducts.indexOf(t)}}}toggleTabbingOn(){this.isTabbing=true}toggleTabbingOff(){this.isTabbing=false}handleKeys(t){switch(t.key){case"Escape":t.preventDefault();this.closeMenu();break;case"ArrowDown":case"ArrowUp":t.preventDefault();if(!this.isOpen){this.itemIndexToFocus=n(this.itemIndexToFocus,t.key,this.navigatorItems.length);this.openMenu()}break}}handleKeydown(t){const s=t.detail.key;const i=t.detail.navItem;switch(s){case"Tab":this.closeMenu();break;case"Enter":case" ":i.click();break;case"ArrowDown":case"ArrowUp":const t=this.itemIndexToFocus;this.itemIndexToFocus=n(this.itemIndexToFocus,s,this.navigatorItems.length);this.focusItem();this.unfocusItem(t);break}}handleClick(t){const s=t.target===this.el||this.el.contains(t.target);if(!s&&this.isOpen){this.closeMenu()}}handleButtonClick(){this.isOpen?this.closeMenu():this.openMenu()}openMenu(){if(this.wrapperEl){const t=this.wrapperEl.clientWidth;const s=this.el.getBoundingClientRect().left;const i=document.documentElement.clientWidth-this.el.getBoundingClientRect().right;this.openRight=t>s&&i>s}this.isOpen=true;this.focusItem()}closeMenu(){this.isOpen=false;this.buttonFocusHandler();this.unfocusItem(this.itemIndexToFocus);this.setFocusIndex()}focusItem(){const t=this.navigatorItems[this.itemIndexToFocus];t.tabIndex=0;t.focused=true;window.requestAnimationFrame((()=>t.focus()))}unfocusItem(t){const s=this.navigatorItems[t];s.tabIndex=-1;s.focused=false}buttonFocusHandler(){const t=this.el.shadowRoot.querySelector("priv-navigator-button");const s=t.shadowRoot.querySelector("button");window.requestAnimationFrame((()=>s.focus()))}renderUserInfo(){return i("div",{class:"user",id:"wm-nav-user","aria-label":h.formatMessage({id:"navigator.userinfoLabel",defaultMessage:"for {name}, email {email}"},{name:this.userName,email:this.email})},i("p",null,this.userName),i("p",null,this.email))}setAltText(){if(this.parsedProducts.length>1){return h.formatMessage({id:"navigator.userinfoAndProductNavigator",defaultMessage:"User information and product navigator"})}else{return h.formatMessage({id:"navigator.userinfo",defaultMessage:"User information"})}}renderHeading(){return i("h2",null,h.formatMessage({id:"navigator.watermarkApps",defaultMessage:"Watermark Apps",description:"Applications made by Watermark Insights"}))}renderList(){return i("ul",{role:"listbox","aria-label":`${h.formatMessage({id:"navigator.WatermarkAppNavigation",defaultMessage:"Watermark App Navigation",description:"list of applications by Watermark Insights"})}`,"aria-describedby":"wm-nav-user"},this.parsedProducts.length>1&&this.renderProductOptions(),this.renderLogoutOption())}renderProductOptions(){return this.parsedProducts.map((t=>{let s,e,r,a;s=t.name;e=t.iconUrl;a=this.setProductOnClick(t.id);if(!!s&&!!e){r=this.currentProductId===t.id;return i("priv-navigator-item",{selected:r,id:t.id,onClick:a,role:"option","aria-label":s},i("img",{src:e,alt:s}))}}))}setProductOnClick(t){const s=this.getProduct(t);if(this.currentProductId===t){return()=>{}}else if(s){if(!!this.loadFromUserinfo||this.authType===2){return()=>window.location.href=s.linkUrl}else if(this.authType===3){const t=this.connectionName?`/?connection_name=${this.connectionName}`:"";return()=>window.location.href=s.samlLinkUrl+t}}}renderLogoutOption(){return i("priv-navigator-item",{class:"logout",selected:!(this.parsedProducts.length>1),id:"nav-logout",onClick:this.setLogoutOnclick(),role:"option"},i("span",{class:"logout"},h.formatMessage({id:"navigator.logout",defaultMessage:"Log Out"})))}setLogoutOnclick(){return()=>{this.wmNavigatorLogout.emit();if(this.logoutUrl){window.location.href=this.logoutUrl}}}get navigatorItems(){return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"))}getProduct(t){return this.parsedProducts.find((s=>s.id===t))}render(){return this.retrievedInfo?i(e,{class:this.isTabbing?"user-is-tabbing":""},i("priv-navigator-button",{expanded:this.isOpen,altText:this.setAltText(),isTabbing:this.isTabbing}),i("div",{class:`wrapper ${this.isOpen?"":"hide"} ${this.openRight?"right":""}`,ref:t=>this.wrapperEl=t},this.renderUserInfo(),this.parsedProducts.length>1&&this.renderHeading(),this.renderList())):""}static get delegatesFocus(){return true}get el(){return r(this)}static get watchers(){return{products:["parseData"]}}};c.style=p;export{c as wm_navigator};
2
+ //# sourceMappingURL=p-8db604d2.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmNavigatorCss","Navigator","this","retrievedInfo","loadFromUserinfo","parsedProducts","openRight","async","userName","console","error","parseData","setFocusIndex","getRequest","then","response","email","currentProductId","current_product_id","productKeysToCamelCase","products","logoutUrl","logout_url","connectionName","connection_name","catch","errStatus","getWmMode","el","JSON","parse","sort","a","b","name","map","product","keys","Object","newProduct","forEach","key","snakeCaseToCamelCase","length","currentProduct","getProduct","itemIndexToFocus","indexOf","toggleTabbingOn","isTabbing","toggleTabbingOff","handleKeys","ev","preventDefault","closeMenu","isOpen","getNewIndexToFocus","navigatorItems","openMenu","handleKeydown","detail","item","navItem","click","oldIndex","focusItem","unfocusItem","handleClick","isElOrChild","target","contains","handleButtonClick","wrapperEl","wrapperWidth","clientWidth","spaceLeft","getBoundingClientRect","left","spaceRight","document","documentElement","right","buttonFocusHandler","newSelection","tabIndex","focused","window","requestAnimationFrame","focus","index","oldSelection","hostButton","shadowRoot","querySelector","button","renderUserInfo","h","class","id","intl","formatMessage","defaultMessage","setAltText","renderHeading","description","renderList","role","renderProductOptions","renderLogoutOption","icon","isSelected","clickRedirect","iconUrl","setProductOnClick","selected","onClick","src","alt","productId","authType","location","href","linkUrl","connName","samlLinkUrl","setLogoutOnclick","wmNavigatorLogout","emit","Array","from","querySelectorAll","find","render","Host","expanded","altText","ref"],"sources":["./src/components/wm-navigator/wm-navigator.scss?tag=wm-navigator&encapsulation=shadow","./src/components/wm-navigator/wm-navigator.tsx"],"sourcesContent":[":host,\nwm-navigator {\n min-width: 0;\n position: relative;\n display: inline-block;\n\n .wrapper {\n overflow: auto;\n font-size: rem-calc(18);\n min-width: rem-calc(210);\n width: auto;\n max-height: 80vh;\n text-align: left;\n position: absolute;\n z-index: 50;\n top: 100%;\n right: 20px;\n left: auto;\n background: #fff;\n letter-spacing: normal;\n @include box-shadow(0 4px 15px 0 rgba(0, 0, 0, 0.2));\n @include transition(transform 0.25s ease);\n @include transformOrigin(center top);\n @include scale($xVal: 1, $yVal: 1);\n\n .user {\n background: $background;\n padding: rem-calc(10 20);\n font-size: rem-calc(14);\n\n p {\n margin: 0;\n }\n p:first-child {\n font-weight: 700;\n text-transform: capitalize;\n }\n }\n\n h2 {\n background: #2e1b46;\n color: #fff;\n font-weight: 700;\n margin: 0;\n padding: rem-calc(10 20);\n font-size: rem-calc(14);\n }\n\n [role=\"listbox\"] {\n list-style: none;\n margin: 0;\n padding-left: 0;\n }\n\n &.hide {\n @include scale($xVal: 1, $yVal: 0);\n }\n\n &.right {\n right: auto;\n left: 20px;\n }\n }\n\n img {\n transform: scale(0.8);\n transform-origin: left center;\n display: block;\n }\n\n .logout {\n text-align: center;\n text-transform: capitalize;\n }\n}\n\npriv-navigator-item:focus {\n outline: none;\n}\n","import { Component, Element, h, Host, Prop, State, Listen, EventEmitter, Event, Watch } from \"@stencil/core\";\nimport { getWmMode, Product, NavigatorPayload } from \"../../global/interfaces\";\nimport { intl, snakeCaseToCamelCase, getNewIndexToFocus } from \"../../global/functions\";\nimport { getRequest } from \"../../global/services/http-service\";\n\n@Component({\n tag: \"wm-navigator\",\n styleUrl: \"wm-navigator.scss\",\n shadow: { delegatesFocus: true },\n})\nexport class Navigator {\n @Element() el!: any;\n private wrapperEl?: HTMLDivElement;\n\n // Component can receive user info and products as props (this is how it worked before)\n @Prop() userName?: string;\n @Prop() email?: string;\n @Prop() authType: number = 1; // 1: none or off, 2: username-password or username_password_sso, 3: saml or saml_sso\n @Prop() connectionName?: string;\n @Prop() logoutUrl?: string;\n @Prop() products?: string | []; // products as JSON string, parsed on load\n\n // The new way is to retrieve user info from an endpoint\n // dev needs to opt-in by setting loadFromUserinfo to true\n @Prop() loadFromUserinfo: boolean = false;\n // comp can check whether the info was successfully retrieved with:\n private retrievedInfo: boolean = !this.loadFromUserinfo; // when in endpoint mode, only render after get request completed\n\n // used either way to store the products\n parsedProducts: Array<Product> = [];\n\n /**\n * Event emitted from child wm-navigator-button updates the state, which is then passed down as a prop by wm-navigator.\n */\n @State() isOpen: boolean = false;\n private openRight: boolean = false; // whether the menu should open on the right side\n\n @State() isTabbing: boolean = false;\n\n /**\n * Value is set to the index of the current product on load.\n * Keyboard navigation updates the state to keep track of focus in the dropdown.\n * State resets to the index of the current product when the dropdown closes.\n */\n @State() itemIndexToFocus: number = 0;\n\n @Event() wmNavigatorLogout!: EventEmitter;\n\n private currentProductId!: string;\n\n async componentWillLoad() {\n if (!this.userName) {\n console.error(\"wm-navigator: user-name is a required property.\");\n }\n\n await this.parseData();\n this.setFocusIndex();\n }\n\n // async because we need the http request to complete before proceeding\n @Watch(\"products\")\n async parseData() {\n if (!!this.loadFromUserinfo) {\n await getRequest(\"/platform/navigator/userinfo\")\n .then((response: NavigatorPayload) => {\n this.email = response.email;\n this.currentProductId = response.current_product_id;\n this.parsedProducts = this.productKeysToCamelCase(response.products);\n this.logoutUrl = this.logoutUrl ? this.logoutUrl : response.logout_url;\n this.connectionName = this.connectionName ? this.connectionName : response.connection_name;\n if (!!this.email && !!this.currentProductId) {\n this.retrievedInfo = true;\n }\n })\n .catch((errStatus) => {\n console.error(errStatus);\n });\n } else {\n this.currentProductId = getWmMode(this.el);\n if (!!this.products) {\n if (typeof this.products === \"string\") {\n this.parsedProducts = JSON.parse(this.products);\n } else {\n this.parsedProducts = this.products;\n }\n this.parsedProducts = this.productKeysToCamelCase(this.parsedProducts);\n }\n }\n // products is initialized as empty array in case nothing is passed\n this.parsedProducts.sort((a, b) => (a.name < b.name ? -1 : 1));\n }\n\n productKeysToCamelCase(products: object[]): Product[] {\n products = products.map((product: any) => {\n const keys = Object.keys(product);\n let newProduct: { [key: string]: string } = {};\n keys.forEach((key) => {\n newProduct[snakeCaseToCamelCase(key)] = product[key];\n });\n return newProduct;\n });\n return products as Product[];\n }\n\n /**\n * Sets index to focus on open to the selected product. This index resets it when the menu closes.\n */\n setFocusIndex() {\n if (this.parsedProducts.length > 1) {\n const currentProduct = this.getProduct(this.currentProductId);\n\n if (currentProduct) {\n this.itemIndexToFocus = this.parsedProducts.indexOf(currentProduct);\n }\n }\n }\n\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\n toggleTabbingOn() {\n this.isTabbing = true;\n }\n\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\n toggleTabbingOff() {\n this.isTabbing = false;\n }\n\n @Listen(\"keydown\")\n handleKeys(ev: KeyboardEvent) {\n switch (ev.key) {\n case \"Escape\":\n ev.preventDefault();\n this.closeMenu();\n break;\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n if (!this.isOpen) {\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, ev.key, this.navigatorItems.length);\n this.openMenu();\n }\n break;\n }\n }\n\n @Listen(\"keydownOnNavItem\")\n handleKeydown(ev: CustomEvent) {\n const key = ev.detail.key;\n const item = ev.detail.navItem;\n switch (key) {\n case \"Tab\":\n this.closeMenu();\n break;\n case \"Enter\":\n case \" \":\n item.click();\n break;\n case \"ArrowDown\":\n case \"ArrowUp\":\n const oldIndex = this.itemIndexToFocus;\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, key, this.navigatorItems.length);\n this.focusItem();\n this.unfocusItem(oldIndex);\n break;\n }\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: MouseEvent) {\n const isElOrChild = ev.target === this.el || this.el.contains(ev.target as Node);\n\n if (!isElOrChild && this.isOpen) {\n this.closeMenu();\n }\n }\n\n @Listen(\"buttonActivated\")\n handleButtonClick() {\n this.isOpen ? this.closeMenu() : this.openMenu();\n }\n\n openMenu() {\n if (this.wrapperEl) {\n const wrapperWidth = this.wrapperEl.clientWidth;\n const spaceLeft = this.el.getBoundingClientRect().left;\n const spaceRight = document.documentElement.clientWidth - this.el.getBoundingClientRect().right;\n this.openRight = wrapperWidth > spaceLeft && spaceRight > spaceLeft;\n }\n this.isOpen = true;\n this.focusItem();\n }\n\n closeMenu() {\n this.isOpen = false;\n this.buttonFocusHandler();\n this.unfocusItem(this.itemIndexToFocus);\n this.setFocusIndex();\n }\n\n focusItem() {\n const newSelection = this.navigatorItems[this.itemIndexToFocus];\n newSelection.tabIndex = 0;\n newSelection.focused = true;\n window.requestAnimationFrame(() => newSelection.focus());\n }\n\n unfocusItem(index: number) {\n const oldSelection = this.navigatorItems[index];\n oldSelection.tabIndex = -1;\n oldSelection.focused = false;\n }\n\n buttonFocusHandler() {\n const hostButton = this.el.shadowRoot.querySelector(\"priv-navigator-button\");\n const button = hostButton.shadowRoot.querySelector(\"button\");\n window.requestAnimationFrame(() => button.focus());\n }\n\n /**\n * HELPERS FOR RENDER\n */\n renderUserInfo() {\n return (\n <div\n class=\"user\"\n id=\"wm-nav-user\"\n aria-label={intl.formatMessage(\n {\n id: \"navigator.userinfoLabel\",\n defaultMessage: \"for {name}, email {email}\",\n },\n { name: this.userName, email: this.email }\n )}\n >\n <p>{this.userName}</p>\n <p>{this.email}</p>\n </div>\n );\n }\n\n setAltText(): string {\n if (this.parsedProducts.length > 1) {\n return intl.formatMessage({\n id: \"navigator.userinfoAndProductNavigator\",\n defaultMessage: \"User information and product navigator\",\n });\n } else {\n return intl.formatMessage({\n id: \"navigator.userinfo\",\n defaultMessage: \"User information\",\n });\n }\n }\n\n renderHeading() {\n return (\n <h2>\n {intl.formatMessage({\n id: \"navigator.watermarkApps\",\n defaultMessage: \"Watermark Apps\",\n description: \"Applications made by Watermark Insights\",\n })}\n </h2>\n );\n }\n\n renderList() {\n return (\n <ul\n role=\"listbox\"\n aria-label={`${intl.formatMessage({\n id: \"navigator.WatermarkAppNavigation\",\n defaultMessage: \"Watermark App Navigation\",\n description: \"list of applications by Watermark Insights\",\n })}`}\n aria-describedby=\"wm-nav-user\"\n >\n {this.parsedProducts.length > 1 && this.renderProductOptions()}\n {this.renderLogoutOption()}\n </ul>\n );\n }\n\n renderProductOptions(): Array<HTMLPrivNavigatorItemElement> {\n return this.parsedProducts.map((product: Product) => {\n let name: string | undefined, icon: string | undefined, isSelected: boolean, clickRedirect: any;\n\n name = product.name;\n icon = (product as Product).iconUrl;\n\n clickRedirect = this.setProductOnClick(product.id);\n\n if (!!name && !!icon) {\n isSelected = this.currentProductId === product.id;\n\n return (\n <priv-navigator-item\n selected={isSelected}\n id={product.id}\n onClick={clickRedirect}\n role=\"option\"\n aria-label={name}\n >\n <img src={icon} alt={name} />\n </priv-navigator-item>\n );\n }\n });\n }\n\n setProductOnClick(productId: string) {\n const product = this.getProduct(productId);\n\n if (this.currentProductId === productId) {\n return () => {};\n } else if (product) {\n if (!!this.loadFromUserinfo || this.authType === 2) {\n return () => (window.location.href = (product as Product).linkUrl);\n } else if (this.authType === 3) {\n // products passed as prop, saml\n const connName = this.connectionName ? `/?connection_name=${this.connectionName}` : \"\";\n return () => (window.location.href = (product as Product).samlLinkUrl + connName);\n }\n }\n }\n\n renderLogoutOption() {\n return (\n <priv-navigator-item\n class=\"logout\"\n selected={!(this.parsedProducts.length > 1)}\n id=\"nav-logout\"\n onClick={this.setLogoutOnclick()}\n role=\"option\"\n >\n <span class=\"logout\">\n {intl.formatMessage({\n id: \"navigator.logout\",\n defaultMessage: \"Log Out\",\n })}\n </span>\n </priv-navigator-item>\n );\n }\n\n setLogoutOnclick() {\n // The logout item will always emit a custom event on click so that the dev can run any business logic specific to the app on logout (e.g., clearing local storage).\n // It will only redirect if the dev has set the logoutUrl. If some sort of custom redirect is needed, the logoutUrl should not be set.\n return () => {\n this.wmNavigatorLogout.emit();\n if (this.logoutUrl) {\n window.location.href = this.logoutUrl;\n }\n };\n }\n\n private get navigatorItems(): Array<HTMLPrivNavigatorItemElement> {\n return Array.from(this.el.shadowRoot.querySelectorAll(\"priv-navigator-item\"));\n }\n\n private getProduct(id: string): Product | undefined {\n return this.parsedProducts.find((product) => product.id === id);\n }\n\n render() {\n return this.retrievedInfo ? (\n <Host class={this.isTabbing ? \"user-is-tabbing\" : \"\"}>\n <priv-navigator-button expanded={this.isOpen} altText={this.setAltText()} isTabbing={this.isTabbing} />\n <div\n class={`wrapper ${this.isOpen ? \"\" : \"hide\"} ${this.openRight ? \"right\" : \"\"}`}\n ref={(el) => (this.wrapperEl = el as HTMLDivElement)}\n >\n {this.renderUserInfo()}\n {this.parsedProducts.length > 1 && this.renderHeading()}\n {this.renderList()}\n </div>\n </Host>\n ) : (\n \"\"\n );\n }\n}\n"],"mappings":"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"}