@watermarkinsights/ripple 3.24.0 → 3.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-5309f8ed.js → chartFunctions-da36e4cb.js} +591 -586
  3. package/dist/cjs/chartFunctions-da36e4cb.js.map +1 -0
  4. package/dist/cjs/{functions-6d2a5824.js → functions-9ddaeb33.js} +468 -468
  5. package/dist/cjs/{functions-6d2a5824.js.map → functions-9ddaeb33.js.map} +1 -1
  6. package/dist/cjs/{global-d20d5267.js → global-a563c2d1.js} +63 -63
  7. package/dist/cjs/global-a563c2d1.js.map +1 -0
  8. package/dist/cjs/{http-service-9e8c4dd5.js → http-service-494d81de.js} +50 -50
  9. package/dist/cjs/http-service-494d81de.js.map +1 -0
  10. package/dist/cjs/{interfaces-30a74c1f.js → interfaces-a3338581.js} +30 -30
  11. package/dist/cjs/interfaces-a3338581.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/priv-chart-popover.cjs.entry.js +91 -91
  14. package/dist/cjs/priv-chart-popover.cjs.entry.js.map +1 -1
  15. package/dist/cjs/priv-datepicker.cjs.entry.js +657 -657
  16. package/dist/cjs/priv-datepicker.cjs.entry.js.map +1 -1
  17. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  18. package/dist/cjs/priv-navigator-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/priv-navigator-item.cjs.entry.js +23 -23
  20. package/dist/cjs/priv-navigator-item.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ripple.cjs.js +1 -1
  22. package/dist/cjs/wm-action-menu_2.cjs.entry.js +334 -334
  23. package/dist/cjs/wm-action-menu_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/wm-button.cjs.entry.js +260 -260
  25. package/dist/cjs/wm-button.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wm-chart-slice.cjs.entry.js +18 -18
  27. package/dist/cjs/wm-chart-slice.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wm-chart.cjs.entry.js +179 -179
  29. package/dist/cjs/wm-chart.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wm-datepicker.cjs.entry.js +263 -263
  31. package/dist/cjs/wm-datepicker.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wm-file-list.cjs.entry.js +35 -35
  33. package/dist/cjs/wm-file-list.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wm-file.cjs.entry.js +201 -201
  35. package/dist/cjs/wm-file.cjs.entry.js.map +1 -1
  36. package/dist/cjs/wm-input.cjs.entry.js +139 -139
  37. package/dist/cjs/wm-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wm-modal-footer.cjs.entry.js +33 -33
  39. package/dist/cjs/wm-modal-footer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wm-modal-header.cjs.entry.js +36 -36
  41. package/dist/cjs/wm-modal-header.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wm-modal.cjs.entry.js +152 -152
  43. package/dist/cjs/wm-modal.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wm-navigation_3.cjs.entry.js +234 -234
  45. package/dist/cjs/wm-navigation_3.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wm-navigator.cjs.entry.js +264 -264
  47. package/dist/cjs/wm-navigator.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wm-network-uploader.cjs.entry.js +467 -467
  49. package/dist/cjs/wm-network-uploader.cjs.entry.js.map +1 -1
  50. package/dist/cjs/wm-option_2.cjs.entry.js +771 -771
  51. package/dist/cjs/wm-option_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/wm-pagination.cjs.entry.js +179 -179
  53. package/dist/cjs/wm-pagination.cjs.entry.js.map +1 -1
  54. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js +155 -155
  55. package/dist/cjs/wm-progress-indicator_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wm-search.cjs.entry.js +191 -191
  57. package/dist/cjs/wm-search.cjs.entry.js.map +1 -1
  58. package/dist/cjs/wm-snackbar.cjs.entry.js +169 -169
  59. package/dist/cjs/wm-snackbar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wm-tab-item_3.cjs.entry.js +264 -264
  61. package/dist/cjs/wm-tab-item_3.cjs.entry.js.map +1 -1
  62. package/dist/cjs/wm-tag-input-row.cjs.entry.js +14 -14
  63. package/dist/cjs/wm-tag-input-row.cjs.entry.js.map +1 -1
  64. package/dist/cjs/wm-tag-input.cjs.entry.js +908 -908
  65. package/dist/cjs/wm-tag-input.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  67. package/dist/cjs/wm-timepicker.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wm-toggletip.cjs.entry.js +130 -130
  69. package/dist/cjs/wm-toggletip.cjs.entry.js.map +1 -1
  70. package/dist/cjs/wm-uploader.cjs.entry.js +510 -510
  71. package/dist/cjs/wm-uploader.cjs.entry.js.map +1 -1
  72. package/dist/cjs/wm-wrapper.cjs.entry.js +12 -12
  73. package/dist/cjs/wm-wrapper.cjs.entry.js.map +1 -1
  74. package/dist/collection/components/charts/chartFunctions.js +557 -552
  75. package/dist/collection/components/charts/chartFunctions.js.map +1 -1
  76. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +268 -268
  77. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js.map +1 -1
  78. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +126 -126
  79. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js.map +1 -1
  80. package/dist/collection/components/charts/wm-chart/wm-chart.js +447 -447
  81. package/dist/collection/components/charts/wm-chart/wm-chart.js.map +1 -1
  82. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +208 -208
  83. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js.map +1 -1
  84. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +144 -144
  85. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js.map +1 -1
  86. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +122 -122
  87. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js.map +1 -1
  88. package/dist/collection/components/wm-action-menu/wm-action-menu.js +473 -473
  89. package/dist/collection/components/wm-action-menu/wm-action-menu.js.map +1 -1
  90. package/dist/collection/components/wm-button/wm-button.js +576 -576
  91. package/dist/collection/components/wm-button/wm-button.js.map +1 -1
  92. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +984 -984
  93. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js.map +1 -1
  94. package/dist/collection/components/wm-datepicker/wm-datepicker.js +492 -492
  95. package/dist/collection/components/wm-datepicker/wm-datepicker.js.map +1 -1
  96. package/dist/collection/components/wm-file/wm-file.js +334 -334
  97. package/dist/collection/components/wm-file/wm-file.js.map +1 -1
  98. package/dist/collection/components/wm-file-list/wm-file-list.js +153 -153
  99. package/dist/collection/components/wm-file-list/wm-file-list.js.map +1 -1
  100. package/dist/collection/components/wm-input/wm-input.js +444 -444
  101. package/dist/collection/components/wm-input/wm-input.js.map +1 -1
  102. package/dist/collection/components/wm-menuitem/wm-menuitem.js +455 -455
  103. package/dist/collection/components/wm-menuitem/wm-menuitem.js.map +1 -1
  104. package/dist/collection/components/wm-modal/wm-modal-footer.js +139 -139
  105. package/dist/collection/components/wm-modal/wm-modal-footer.js.map +1 -1
  106. package/dist/collection/components/wm-modal/wm-modal-header.js +88 -88
  107. package/dist/collection/components/wm-modal/wm-modal-header.js.map +1 -1
  108. package/dist/collection/components/wm-modal/wm-modal.js +463 -463
  109. package/dist/collection/components/wm-modal/wm-modal.js.map +1 -1
  110. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +177 -177
  111. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js.map +1 -1
  112. package/dist/collection/components/wm-navigation/wm-navigation-item.js +131 -131
  113. package/dist/collection/components/wm-navigation/wm-navigation-item.js.map +1 -1
  114. package/dist/collection/components/wm-navigation/wm-navigation.js +227 -227
  115. package/dist/collection/components/wm-navigation/wm-navigation.js.map +1 -1
  116. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +107 -107
  117. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js.map +1 -1
  118. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +124 -124
  119. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js.map +1 -1
  120. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  121. package/dist/collection/components/wm-navigator/wm-navigator.js.map +1 -1
  122. package/dist/collection/components/wm-option/wm-option.js +436 -436
  123. package/dist/collection/components/wm-option/wm-option.js.map +1 -1
  124. package/dist/collection/components/wm-pagination/wm-pagination.js +371 -371
  125. package/dist/collection/components/wm-pagination/wm-pagination.js.map +1 -1
  126. package/dist/collection/components/wm-search/wm-search.js +447 -447
  127. package/dist/collection/components/wm-search/wm-search.js.map +1 -1
  128. package/dist/collection/components/wm-select/wm-select.js +1058 -1058
  129. package/dist/collection/components/wm-select/wm-select.js.map +1 -1
  130. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  131. package/dist/collection/components/wm-snackbar/wm-snackbar.js.map +1 -1
  132. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +212 -212
  133. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js.map +1 -1
  134. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +328 -328
  135. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js.map +1 -1
  136. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +109 -109
  137. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js.map +1 -1
  138. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js +123 -123
  139. package/dist/collection/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.js.map +1 -1
  140. package/dist/collection/components/wm-tag-input/wm-tag-input.js +1209 -1209
  141. package/dist/collection/components/wm-tag-input/wm-tag-input.js.map +1 -1
  142. package/dist/collection/components/wm-timepicker/wm-timepicker.js +606 -606
  143. package/dist/collection/components/wm-timepicker/wm-timepicker.js.map +1 -1
  144. package/dist/collection/components/wm-toggletip/wm-toggletip.js +254 -254
  145. package/dist/collection/components/wm-toggletip/wm-toggletip.js.map +1 -1
  146. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +775 -775
  147. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js.map +1 -1
  148. package/dist/collection/components/wm-uploader/wm-uploader.js +1034 -1034
  149. package/dist/collection/components/wm-uploader/wm-uploader.js.map +1 -1
  150. package/dist/collection/components/wm-wrapper/wm-wrapper.js +29 -29
  151. package/dist/collection/components/wm-wrapper/wm-wrapper.js.map +1 -1
  152. package/dist/collection/dev/scripts.js +20 -20
  153. package/dist/collection/global/__mocks__/functions.js +7 -7
  154. package/dist/collection/global/__mocks__/functions.js.map +1 -1
  155. package/dist/collection/global/functions.js +511 -511
  156. package/dist/collection/global/functions.js.map +1 -1
  157. package/dist/collection/global/global.js +70 -70
  158. package/dist/collection/global/global.js.map +1 -1
  159. package/dist/collection/global/interfaces.js +50 -50
  160. package/dist/collection/global/interfaces.js.map +1 -1
  161. package/dist/collection/global/services/__mocks__/http-service.js +131 -131
  162. package/dist/collection/global/services/__mocks__/http-service.js.map +1 -1
  163. package/dist/collection/global/services/http-service.js +51 -51
  164. package/dist/collection/global/services/http-service.js.map +1 -1
  165. package/dist/collection/lang/lang.js +6 -6
  166. package/dist/collection/lang/lang.js.map +1 -1
  167. package/dist/collection/lang/missing.js +43 -43
  168. package/dist/collection/lang/piglatin.js +93 -93
  169. package/dist/esm/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +591 -586
  170. package/dist/esm/chartFunctions-b0a9e440.js.map +1 -0
  171. package/dist/esm/{functions-c58046f2.js → functions-1c41e984.js} +468 -468
  172. package/dist/esm/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
  173. package/dist/esm/{global-fee3549b.js → global-65156bcf.js} +63 -63
  174. package/dist/esm/global-65156bcf.js.map +1 -0
  175. package/dist/esm/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +50 -50
  176. package/dist/esm/http-service-3dc3b3e7.js.map +1 -0
  177. package/dist/esm/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +30 -30
  178. package/dist/esm/interfaces-2b97fab2.js.map +1 -0
  179. package/dist/esm/loader.js +1 -1
  180. package/dist/esm/polyfills/core-js.js +0 -0
  181. package/dist/esm/polyfills/dom.js +0 -0
  182. package/dist/esm/polyfills/es5-html-element.js +0 -0
  183. package/dist/esm/polyfills/index.js +0 -0
  184. package/dist/esm/polyfills/system.js +0 -0
  185. package/dist/esm/priv-chart-popover.entry.js +91 -91
  186. package/dist/esm/priv-chart-popover.entry.js.map +1 -1
  187. package/dist/esm/priv-datepicker.entry.js +657 -657
  188. package/dist/esm/priv-datepicker.entry.js.map +1 -1
  189. package/dist/esm/priv-navigator-button.entry.js +19 -19
  190. package/dist/esm/priv-navigator-button.entry.js.map +1 -1
  191. package/dist/esm/priv-navigator-item.entry.js +23 -23
  192. package/dist/esm/priv-navigator-item.entry.js.map +1 -1
  193. package/dist/esm/ripple.js +1 -1
  194. package/dist/esm/wm-action-menu_2.entry.js +334 -334
  195. package/dist/esm/wm-action-menu_2.entry.js.map +1 -1
  196. package/dist/esm/wm-button.entry.js +260 -260
  197. package/dist/esm/wm-button.entry.js.map +1 -1
  198. package/dist/esm/wm-chart-slice.entry.js +18 -18
  199. package/dist/esm/wm-chart-slice.entry.js.map +1 -1
  200. package/dist/esm/wm-chart.entry.js +179 -179
  201. package/dist/esm/wm-chart.entry.js.map +1 -1
  202. package/dist/esm/wm-datepicker.entry.js +263 -263
  203. package/dist/esm/wm-datepicker.entry.js.map +1 -1
  204. package/dist/esm/wm-file-list.entry.js +35 -35
  205. package/dist/esm/wm-file-list.entry.js.map +1 -1
  206. package/dist/esm/wm-file.entry.js +201 -201
  207. package/dist/esm/wm-file.entry.js.map +1 -1
  208. package/dist/esm/wm-input.entry.js +139 -139
  209. package/dist/esm/wm-input.entry.js.map +1 -1
  210. package/dist/esm/wm-modal-footer.entry.js +33 -33
  211. package/dist/esm/wm-modal-footer.entry.js.map +1 -1
  212. package/dist/esm/wm-modal-header.entry.js +36 -36
  213. package/dist/esm/wm-modal-header.entry.js.map +1 -1
  214. package/dist/esm/wm-modal.entry.js +152 -152
  215. package/dist/esm/wm-modal.entry.js.map +1 -1
  216. package/dist/esm/wm-navigation_3.entry.js +234 -234
  217. package/dist/esm/wm-navigation_3.entry.js.map +1 -1
  218. package/dist/esm/wm-navigator.entry.js +264 -264
  219. package/dist/esm/wm-navigator.entry.js.map +1 -1
  220. package/dist/esm/wm-network-uploader.entry.js +467 -467
  221. package/dist/esm/wm-network-uploader.entry.js.map +1 -1
  222. package/dist/esm/wm-option_2.entry.js +771 -771
  223. package/dist/esm/wm-option_2.entry.js.map +1 -1
  224. package/dist/esm/wm-pagination.entry.js +179 -179
  225. package/dist/esm/wm-pagination.entry.js.map +1 -1
  226. package/dist/esm/wm-progress-indicator_3.entry.js +155 -155
  227. package/dist/esm/wm-progress-indicator_3.entry.js.map +1 -1
  228. package/dist/esm/wm-search.entry.js +191 -191
  229. package/dist/esm/wm-search.entry.js.map +1 -1
  230. package/dist/esm/wm-snackbar.entry.js +169 -169
  231. package/dist/esm/wm-snackbar.entry.js.map +1 -1
  232. package/dist/esm/wm-tab-item_3.entry.js +264 -264
  233. package/dist/esm/wm-tab-item_3.entry.js.map +1 -1
  234. package/dist/esm/wm-tag-input-row.entry.js +14 -14
  235. package/dist/esm/wm-tag-input-row.entry.js.map +1 -1
  236. package/dist/esm/wm-tag-input.entry.js +908 -908
  237. package/dist/esm/wm-tag-input.entry.js.map +1 -1
  238. package/dist/esm/wm-timepicker.entry.js +385 -385
  239. package/dist/esm/wm-timepicker.entry.js.map +1 -1
  240. package/dist/esm/wm-toggletip.entry.js +130 -130
  241. package/dist/esm/wm-toggletip.entry.js.map +1 -1
  242. package/dist/esm/wm-uploader.entry.js +510 -510
  243. package/dist/esm/wm-uploader.entry.js.map +1 -1
  244. package/dist/esm/wm-wrapper.entry.js +12 -12
  245. package/dist/esm/wm-wrapper.entry.js.map +1 -1
  246. package/dist/esm-es5/{chartFunctions-e22110b8.js → chartFunctions-b0a9e440.js} +2 -2
  247. package/dist/esm-es5/chartFunctions-b0a9e440.js.map +1 -0
  248. package/dist/esm-es5/{functions-c58046f2.js → functions-1c41e984.js} +1 -1
  249. package/dist/esm-es5/{functions-c58046f2.js.map → functions-1c41e984.js.map} +1 -1
  250. package/dist/esm-es5/{global-fee3549b.js → global-65156bcf.js} +2 -2
  251. package/dist/esm-es5/global-65156bcf.js.map +1 -0
  252. package/dist/esm-es5/{http-service-5d037e16.js → http-service-3dc3b3e7.js} +1 -1
  253. package/dist/esm-es5/http-service-3dc3b3e7.js.map +1 -0
  254. package/dist/esm-es5/{interfaces-61c6305b.js → interfaces-2b97fab2.js} +1 -1
  255. package/dist/esm-es5/interfaces-2b97fab2.js.map +1 -0
  256. package/dist/esm-es5/loader.js +1 -1
  257. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  258. package/dist/esm-es5/priv-chart-popover.entry.js.map +1 -1
  259. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  260. package/dist/esm-es5/priv-datepicker.entry.js.map +1 -1
  261. package/dist/esm-es5/priv-navigator-button.entry.js.map +1 -1
  262. package/dist/esm-es5/priv-navigator-item.entry.js.map +1 -1
  263. package/dist/esm-es5/ripple.js +1 -1
  264. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  265. package/dist/esm-es5/wm-action-menu_2.entry.js.map +1 -1
  266. package/dist/esm-es5/wm-button.entry.js +1 -1
  267. package/dist/esm-es5/wm-button.entry.js.map +1 -1
  268. package/dist/esm-es5/wm-chart-slice.entry.js.map +1 -1
  269. package/dist/esm-es5/wm-chart.entry.js +1 -1
  270. package/dist/esm-es5/wm-chart.entry.js.map +1 -1
  271. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  272. package/dist/esm-es5/wm-datepicker.entry.js.map +1 -1
  273. package/dist/esm-es5/wm-file-list.entry.js.map +1 -1
  274. package/dist/esm-es5/wm-file.entry.js +1 -1
  275. package/dist/esm-es5/wm-file.entry.js.map +1 -1
  276. package/dist/esm-es5/wm-input.entry.js +1 -1
  277. package/dist/esm-es5/wm-input.entry.js.map +1 -1
  278. package/dist/esm-es5/wm-modal-footer.entry.js.map +1 -1
  279. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  280. package/dist/esm-es5/wm-modal-header.entry.js.map +1 -1
  281. package/dist/esm-es5/wm-modal.entry.js +1 -1
  282. package/dist/esm-es5/wm-modal.entry.js.map +1 -1
  283. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  284. package/dist/esm-es5/wm-navigation_3.entry.js.map +1 -1
  285. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  286. package/dist/esm-es5/wm-navigator.entry.js.map +1 -1
  287. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  288. package/dist/esm-es5/wm-network-uploader.entry.js.map +1 -1
  289. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  290. package/dist/esm-es5/wm-option_2.entry.js.map +1 -1
  291. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  292. package/dist/esm-es5/wm-pagination.entry.js.map +1 -1
  293. package/dist/esm-es5/wm-progress-indicator_3.entry.js +1 -1
  294. package/dist/esm-es5/wm-progress-indicator_3.entry.js.map +1 -1
  295. package/dist/esm-es5/wm-search.entry.js +1 -1
  296. package/dist/esm-es5/wm-search.entry.js.map +1 -1
  297. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  298. package/dist/esm-es5/wm-snackbar.entry.js.map +1 -1
  299. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  300. package/dist/esm-es5/wm-tab-item_3.entry.js.map +1 -1
  301. package/dist/esm-es5/wm-tag-input-row.entry.js.map +1 -1
  302. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  303. package/dist/esm-es5/wm-tag-input.entry.js.map +1 -1
  304. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  305. package/dist/esm-es5/wm-timepicker.entry.js.map +1 -1
  306. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  307. package/dist/esm-es5/wm-toggletip.entry.js.map +1 -1
  308. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  309. package/dist/esm-es5/wm-uploader.entry.js.map +1 -1
  310. package/dist/esm-es5/wm-wrapper.entry.js.map +1 -1
  311. package/dist/ripple/{p-8e6bd600.system.entry.js → p-010b2cac.system.entry.js} +2 -2
  312. package/dist/ripple/p-010b2cac.system.entry.js.map +1 -0
  313. package/dist/ripple/{p-b22ba3a2.system.js → p-08950379.system.js} +2 -2
  314. package/dist/ripple/{p-c25abcc5.system.js → p-0b21e936.system.js} +2 -2
  315. package/dist/ripple/p-0b21e936.system.js.map +1 -0
  316. package/dist/ripple/p-0d7bccf7.entry.js.map +1 -1
  317. package/dist/ripple/{p-98a9eb8c.entry.js → p-136460c0.entry.js} +2 -2
  318. package/dist/ripple/p-136460c0.entry.js.map +1 -0
  319. package/dist/ripple/{p-695286e7.entry.js → p-1da75922.entry.js} +2 -2
  320. package/dist/ripple/p-1da75922.entry.js.map +1 -0
  321. package/dist/ripple/{p-0a23f0fa.entry.js → p-22d9c36e.entry.js} +2 -2
  322. package/dist/ripple/p-22d9c36e.entry.js.map +1 -0
  323. package/dist/ripple/p-24a4cb11.system.entry.js.map +1 -1
  324. package/dist/ripple/{p-c5a50724.entry.js → p-24f7d6eb.entry.js} +2 -2
  325. package/dist/ripple/p-24f7d6eb.entry.js.map +1 -0
  326. package/dist/ripple/{p-4c383e9e.system.entry.js → p-27d3e1ab.system.entry.js} +2 -2
  327. package/dist/ripple/p-27d3e1ab.system.entry.js.map +1 -0
  328. package/dist/ripple/p-2c2a7092.system.entry.js.map +1 -1
  329. package/dist/ripple/{p-fe63519a.system.entry.js → p-2f4b4e3a.system.entry.js} +2 -2
  330. package/dist/ripple/p-2f4b4e3a.system.entry.js.map +1 -0
  331. package/dist/ripple/{p-e8fd25c8.js → p-3303b568.js} +2 -2
  332. package/dist/ripple/p-3303b568.js.map +1 -0
  333. package/dist/ripple/p-33558ec4.system.entry.js.map +1 -1
  334. package/dist/ripple/{p-1a2d8112.system.entry.js → p-337f2c82.system.entry.js} +2 -2
  335. package/dist/ripple/p-337f2c82.system.entry.js.map +1 -0
  336. package/dist/ripple/{p-bfc8d2bb.entry.js → p-34567f7e.entry.js} +2 -2
  337. package/dist/ripple/p-34567f7e.entry.js.map +1 -0
  338. package/dist/ripple/{p-67373e6f.system.entry.js → p-3655a421.system.entry.js} +2 -2
  339. package/dist/ripple/p-3655a421.system.entry.js.map +1 -0
  340. package/dist/ripple/p-3759b7af.system.entry.js.map +1 -1
  341. package/dist/ripple/{p-0b31c210.entry.js → p-40cc5375.entry.js} +2 -2
  342. package/dist/ripple/p-40cc5375.entry.js.map +1 -0
  343. package/dist/ripple/{p-76830e28.entry.js → p-4370bb17.entry.js} +2 -2
  344. package/dist/ripple/p-4370bb17.entry.js.map +1 -0
  345. package/dist/ripple/p-4391166c.entry.js.map +1 -1
  346. package/dist/ripple/{p-888bec42.js → p-43f1298b.js} +1 -1
  347. package/dist/ripple/p-43f1298b.js.map +1 -0
  348. package/dist/ripple/{p-18e58141.system.entry.js → p-48c8619f.system.entry.js} +2 -2
  349. package/dist/ripple/p-48c8619f.system.entry.js.map +1 -0
  350. package/dist/ripple/p-4a014591.entry.js.map +1 -1
  351. package/dist/ripple/{p-ccd0d43b.system.entry.js → p-4acc9e8d.system.entry.js} +2 -2
  352. package/dist/ripple/p-4acc9e8d.system.entry.js.map +1 -0
  353. package/dist/ripple/{p-a3b9c87d.system.entry.js → p-52655351.system.entry.js} +2 -2
  354. package/dist/ripple/p-52655351.system.entry.js.map +1 -0
  355. package/dist/ripple/{p-2a9fa9b5.entry.js → p-54df11c8.entry.js} +2 -2
  356. package/dist/ripple/p-54df11c8.entry.js.map +1 -0
  357. package/dist/ripple/p-59654f8e.entry.js.map +1 -1
  358. package/dist/ripple/{p-535e33d7.entry.js → p-5bf24119.entry.js} +2 -2
  359. package/dist/ripple/p-5bf24119.entry.js.map +1 -0
  360. package/dist/ripple/{p-e746fe88.system.entry.js → p-60e941cc.system.entry.js} +2 -2
  361. package/dist/ripple/p-60e941cc.system.entry.js.map +1 -0
  362. package/dist/ripple/{p-f38332ed.system.entry.js → p-684f2c1e.system.entry.js} +2 -2
  363. package/dist/ripple/p-684f2c1e.system.entry.js.map +1 -0
  364. package/dist/ripple/{p-e61d2c52.entry.js → p-75c9cad6.entry.js} +2 -2
  365. package/dist/ripple/p-75c9cad6.entry.js.map +1 -0
  366. package/dist/ripple/{p-e252738e.entry.js → p-78a7278d.entry.js} +2 -2
  367. package/dist/ripple/p-78a7278d.entry.js.map +1 -0
  368. package/dist/ripple/{p-45e7b944.entry.js → p-81c698e2.entry.js} +2 -2
  369. package/dist/ripple/p-81c698e2.entry.js.map +1 -0
  370. package/dist/ripple/{p-87da5d8e.entry.js → p-82323561.entry.js} +2 -2
  371. package/dist/ripple/p-82323561.entry.js.map +1 -0
  372. package/dist/ripple/{p-2b577e99.entry.js → p-873a5f0f.entry.js} +2 -2
  373. package/dist/ripple/p-873a5f0f.entry.js.map +1 -0
  374. package/dist/ripple/p-8c51e9f8.system.entry.js.map +1 -1
  375. package/dist/ripple/{p-be954fba.system.entry.js → p-8e11777d.system.entry.js} +2 -2
  376. package/dist/ripple/p-8e11777d.system.entry.js.map +1 -0
  377. package/dist/ripple/{p-63166c83.system.entry.js → p-90d67afa.system.entry.js} +2 -2
  378. package/dist/ripple/p-90d67afa.system.entry.js.map +1 -0
  379. package/dist/ripple/p-976b2789.system.entry.js.map +1 -1
  380. package/dist/ripple/{p-3e9da0fb.system.entry.js → p-97f0722e.system.entry.js} +2 -2
  381. package/dist/ripple/p-97f0722e.system.entry.js.map +1 -0
  382. package/dist/ripple/p-9b9eb944.entry.js.map +1 -1
  383. package/dist/ripple/{p-4a45a473.entry.js → p-9c9cf5e7.entry.js} +2 -2
  384. package/dist/ripple/p-9c9cf5e7.entry.js.map +1 -0
  385. package/dist/ripple/{p-313b6073.system.js → p-9d02957d.system.js} +1 -1
  386. package/dist/ripple/p-9d02957d.system.js.map +1 -0
  387. package/dist/ripple/{p-7b85f5a8.entry.js → p-a1c4d1d2.entry.js} +2 -2
  388. package/dist/ripple/p-a1c4d1d2.entry.js.map +1 -0
  389. package/dist/ripple/{p-9727c8f5.entry.js → p-a6cd8eb1.entry.js} +2 -2
  390. package/dist/ripple/p-a6cd8eb1.entry.js.map +1 -0
  391. package/dist/ripple/{p-dfeb2a0f.system.entry.js → p-ab792e0d.system.entry.js} +2 -2
  392. package/dist/ripple/p-ab792e0d.system.entry.js.map +1 -0
  393. package/dist/ripple/{p-5e2be836.entry.js → p-ab996399.entry.js} +2 -2
  394. package/dist/ripple/p-ab996399.entry.js.map +1 -0
  395. package/dist/ripple/{p-85b47217.system.entry.js → p-ac27d425.system.entry.js} +2 -2
  396. package/dist/ripple/p-ac27d425.system.entry.js.map +1 -0
  397. package/dist/ripple/{p-4091aa36.system.js → p-b8783b39.system.js} +2 -2
  398. package/dist/ripple/p-b8783b39.system.js.map +1 -0
  399. package/dist/ripple/{p-525fbd6b.system.entry.js → p-be2aab24.system.entry.js} +2 -2
  400. package/dist/ripple/p-be2aab24.system.entry.js.map +1 -0
  401. package/dist/ripple/p-bf569af0.entry.js.map +1 -1
  402. package/dist/ripple/{p-d6478e67.system.entry.js → p-c63b63ee.system.entry.js} +2 -2
  403. package/dist/ripple/p-c63b63ee.system.entry.js.map +1 -0
  404. package/dist/ripple/{p-90f42d65.system.entry.js → p-ce0002d4.system.entry.js} +2 -2
  405. package/dist/ripple/p-ce0002d4.system.entry.js.map +1 -0
  406. package/dist/ripple/{p-54f29e18.entry.js → p-d23db6e2.entry.js} +2 -2
  407. package/dist/ripple/p-d23db6e2.entry.js.map +1 -0
  408. package/dist/ripple/p-d939cb54.entry.js.map +1 -1
  409. package/dist/ripple/p-dbfd1640.system.entry.js.map +1 -1
  410. package/dist/ripple/{p-bc883afc.entry.js → p-e29c4789.entry.js} +2 -2
  411. package/dist/ripple/p-e29c4789.entry.js.map +1 -0
  412. package/dist/ripple/{p-0cd88c74.entry.js → p-e6b9766e.entry.js} +2 -2
  413. package/dist/ripple/p-e6b9766e.entry.js.map +1 -0
  414. package/dist/ripple/{p-2abe8404.system.entry.js → p-e8dab7c0.system.entry.js} +2 -2
  415. package/dist/ripple/p-e8dab7c0.system.entry.js.map +1 -0
  416. package/dist/ripple/{p-dcd38073.system.entry.js → p-eb64d16a.system.entry.js} +2 -2
  417. package/dist/ripple/p-eb64d16a.system.entry.js.map +1 -0
  418. package/dist/ripple/{p-a31a30ac.system.entry.js → p-eccbad16.system.entry.js} +2 -2
  419. package/dist/ripple/p-eccbad16.system.entry.js.map +1 -0
  420. package/dist/ripple/{p-054e206a.entry.js → p-edae6ef2.entry.js} +2 -2
  421. package/dist/ripple/p-edae6ef2.entry.js.map +1 -0
  422. package/dist/ripple/{p-9fd3badc.js → p-edfba0e1.js} +1 -1
  423. package/dist/ripple/{p-9fd3badc.js.map → p-edfba0e1.js.map} +1 -1
  424. package/dist/ripple/{p-d0c3d25a.entry.js → p-efc36352.entry.js} +2 -2
  425. package/dist/ripple/p-efc36352.entry.js.map +1 -0
  426. package/dist/ripple/{p-e782194d.system.js → p-f08e6a5a.system.js} +1 -1
  427. package/dist/ripple/{p-e782194d.system.js.map → p-f08e6a5a.system.js.map} +1 -1
  428. package/dist/ripple/{p-29cd07d5.system.entry.js → p-f09541fc.system.entry.js} +2 -2
  429. package/dist/ripple/p-f09541fc.system.entry.js.map +1 -0
  430. package/dist/ripple/{p-4aa0ee75.system.entry.js → p-f4487f66.system.entry.js} +2 -2
  431. package/dist/ripple/p-f4487f66.system.entry.js.map +1 -0
  432. package/dist/ripple/{p-08b7ec08.system.js → p-f5df5903.system.js} +1 -1
  433. package/dist/ripple/p-f5df5903.system.js.map +1 -0
  434. package/dist/ripple/{p-23e54ad4.js → p-f8d1e5a0.js} +2 -2
  435. package/dist/ripple/p-f8d1e5a0.js.map +1 -0
  436. package/dist/ripple/{p-a6d6eae7.js → p-fd8070fb.js} +1 -1
  437. package/dist/ripple/p-fd8070fb.js.map +1 -0
  438. package/dist/ripple/ripple.esm.js +1 -1
  439. package/dist/ripple/ripple.js +1 -1
  440. package/dist/types/components/charts/chartFunctions.d.ts +37 -37
  441. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +27 -27
  442. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  443. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +47 -47
  444. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +29 -29
  445. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +20 -20
  446. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  447. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +49 -49
  448. package/dist/types/components/wm-button/wm-button.d.ts +49 -49
  449. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  450. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +42 -42
  451. package/dist/types/components/wm-file/wm-file.d.ts +42 -42
  452. package/dist/types/components/wm-file-list/wm-file-list.d.ts +16 -16
  453. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  454. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  455. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +14 -14
  456. package/dist/types/components/wm-modal/wm-modal-header.d.ts +11 -11
  457. package/dist/types/components/wm-modal/wm-modal.d.ts +40 -40
  458. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  459. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  460. package/dist/types/components/wm-navigation/wm-navigation.d.ts +28 -28
  461. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  462. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  463. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  464. package/dist/types/components/wm-option/wm-option.d.ts +34 -34
  465. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  466. package/dist/types/components/wm-search/wm-search.d.ts +77 -77
  467. package/dist/types/components/wm-select/wm-select.d.ts +102 -102
  468. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  469. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +37 -37
  470. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +52 -52
  471. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  472. package/dist/types/components/wm-tag-input/wm-tag-input-row/wm-tag-input-row.d.ts +11 -11
  473. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +127 -127
  474. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +62 -62
  475. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +28 -28
  476. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  477. package/dist/types/components/wm-uploader/wm-uploader.d.ts +104 -104
  478. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  479. package/dist/types/components.d.ts +27 -27
  480. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  481. package/dist/types/global/functions.d.ts +47 -47
  482. package/dist/types/global/global.d.ts +1 -1
  483. package/dist/types/global/interfaces.d.ts +74 -74
  484. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  485. package/dist/types/global/services/http-service.d.ts +4 -4
  486. package/dist/types/lang/lang.d.ts +5 -5
  487. package/package.json +46 -46
  488. package/dist/cjs/chartFunctions-5309f8ed.js.map +0 -1
  489. package/dist/cjs/global-d20d5267.js.map +0 -1
  490. package/dist/cjs/http-service-9e8c4dd5.js.map +0 -1
  491. package/dist/cjs/interfaces-30a74c1f.js.map +0 -1
  492. package/dist/esm/chartFunctions-e22110b8.js.map +0 -1
  493. package/dist/esm/global-fee3549b.js.map +0 -1
  494. package/dist/esm/http-service-5d037e16.js.map +0 -1
  495. package/dist/esm/interfaces-61c6305b.js.map +0 -1
  496. package/dist/esm-es5/chartFunctions-e22110b8.js.map +0 -1
  497. package/dist/esm-es5/global-fee3549b.js.map +0 -1
  498. package/dist/esm-es5/http-service-5d037e16.js.map +0 -1
  499. package/dist/esm-es5/interfaces-61c6305b.js.map +0 -1
  500. package/dist/ripple/p-054e206a.entry.js.map +0 -1
  501. package/dist/ripple/p-08b7ec08.system.js.map +0 -1
  502. package/dist/ripple/p-0a23f0fa.entry.js.map +0 -1
  503. package/dist/ripple/p-0b31c210.entry.js.map +0 -1
  504. package/dist/ripple/p-0cd88c74.entry.js.map +0 -1
  505. package/dist/ripple/p-18e58141.system.entry.js.map +0 -1
  506. package/dist/ripple/p-1a2d8112.system.entry.js.map +0 -1
  507. package/dist/ripple/p-23e54ad4.js.map +0 -1
  508. package/dist/ripple/p-29cd07d5.system.entry.js.map +0 -1
  509. package/dist/ripple/p-2a9fa9b5.entry.js.map +0 -1
  510. package/dist/ripple/p-2abe8404.system.entry.js.map +0 -1
  511. package/dist/ripple/p-2b577e99.entry.js.map +0 -1
  512. package/dist/ripple/p-313b6073.system.js.map +0 -1
  513. package/dist/ripple/p-3e9da0fb.system.entry.js.map +0 -1
  514. package/dist/ripple/p-4091aa36.system.js.map +0 -1
  515. package/dist/ripple/p-45e7b944.entry.js.map +0 -1
  516. package/dist/ripple/p-4a45a473.entry.js.map +0 -1
  517. package/dist/ripple/p-4aa0ee75.system.entry.js.map +0 -1
  518. package/dist/ripple/p-4c383e9e.system.entry.js.map +0 -1
  519. package/dist/ripple/p-525fbd6b.system.entry.js.map +0 -1
  520. package/dist/ripple/p-535e33d7.entry.js.map +0 -1
  521. package/dist/ripple/p-54f29e18.entry.js.map +0 -1
  522. package/dist/ripple/p-5e2be836.entry.js.map +0 -1
  523. package/dist/ripple/p-63166c83.system.entry.js.map +0 -1
  524. package/dist/ripple/p-67373e6f.system.entry.js.map +0 -1
  525. package/dist/ripple/p-695286e7.entry.js.map +0 -1
  526. package/dist/ripple/p-76830e28.entry.js.map +0 -1
  527. package/dist/ripple/p-7b85f5a8.entry.js.map +0 -1
  528. package/dist/ripple/p-85b47217.system.entry.js.map +0 -1
  529. package/dist/ripple/p-87da5d8e.entry.js.map +0 -1
  530. package/dist/ripple/p-888bec42.js.map +0 -1
  531. package/dist/ripple/p-8e6bd600.system.entry.js.map +0 -1
  532. package/dist/ripple/p-90f42d65.system.entry.js.map +0 -1
  533. package/dist/ripple/p-9727c8f5.entry.js.map +0 -1
  534. package/dist/ripple/p-98a9eb8c.entry.js.map +0 -1
  535. package/dist/ripple/p-a31a30ac.system.entry.js.map +0 -1
  536. package/dist/ripple/p-a3b9c87d.system.entry.js.map +0 -1
  537. package/dist/ripple/p-a6d6eae7.js.map +0 -1
  538. package/dist/ripple/p-bc883afc.entry.js.map +0 -1
  539. package/dist/ripple/p-be954fba.system.entry.js.map +0 -1
  540. package/dist/ripple/p-bfc8d2bb.entry.js.map +0 -1
  541. package/dist/ripple/p-c25abcc5.system.js.map +0 -1
  542. package/dist/ripple/p-c5a50724.entry.js.map +0 -1
  543. package/dist/ripple/p-ccd0d43b.system.entry.js.map +0 -1
  544. package/dist/ripple/p-d0c3d25a.entry.js.map +0 -1
  545. package/dist/ripple/p-d6478e67.system.entry.js.map +0 -1
  546. package/dist/ripple/p-dcd38073.system.entry.js.map +0 -1
  547. package/dist/ripple/p-dfeb2a0f.system.entry.js.map +0 -1
  548. package/dist/ripple/p-e252738e.entry.js.map +0 -1
  549. package/dist/ripple/p-e61d2c52.entry.js.map +0 -1
  550. package/dist/ripple/p-e746fe88.system.entry.js.map +0 -1
  551. package/dist/ripple/p-e8fd25c8.js.map +0 -1
  552. package/dist/ripple/p-f38332ed.system.entry.js.map +0 -1
  553. package/dist/ripple/p-fe63519a.system.entry.js.map +0 -1
  554. /package/dist/ripple/{p-b22ba3a2.system.js.map → p-08950379.system.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["wmModalFooterCss","ModalFooter","componentWillLoad","this","uid","el","parentElement","addEventListener","lastElement","focus","emitParentPrimaryEvent","parentModal","emitPrimaryEvent","emitParentSecondaryEvent","emitSecondaryEvent","render","h","class","infoText","secondaryText","onClick","id","ref","primaryActionDisabled","deleteStyle","disabled","primaryText"],"sources":["./src/components/wm-modal/wm-modal-footer.scss?tag=wm-modal-footer","./src/components/wm-modal/wm-modal-footer.tsx"],"sourcesContent":["wm-modal-footer {\n @include border-radius(0px 0px 5px 5px);\n //Fix for Chrome sometimes leaving space between footer and content, making the overlay show through\n margin-top: -1px;\n\n .wm-wrapper {\n @include displayFlex();\n @include justifyContent(space-between);\n @include alignItems(center);\n\n &.footer-text {\n @media only screen and (max-width: 650px) {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n\n wm-button + wm-button {\n margin-left: rem-calc(16);\n // @media only screen and (max-width: 768px) {\n // margin-right: 15px;\n // }\n }\n\n .wm-info {\n font-size: rem-calc(14);\n font-style: italic;\n @media only screen and (max-width: 650px) {\n padding-bottom: rem-calc(10);\n }\n\n &:focus {\n outline: none;\n }\n }\n }\n}\n","import { h, Component, Element, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"wm-modal-footer\",\n styleUrl: \"wm-modal-footer.scss\",\n})\nexport class ModalFooter {\n @Element() el!: HTMLElement;\n\n @Prop() secondaryText?: string = \"\";\n @Prop() primaryText?: string = \"\";\n @Prop() infoText?: string = \"\";\n @Prop() primaryActionDisabled: boolean = false;\n @Prop() deleteStyle: boolean = false;\n private uid!: string;\n private lastElement!: HTMLElement;\n\n componentWillLoad() {\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\n\n // Trap focus when user shift+tabs past first element in modal\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\n // if we listen to the whole doc each modal on the page reacts to every event\n this.el.parentElement!.addEventListener(\"focusLastElement\", () => {\n this.lastElement.focus();\n });\n }\n\n emitParentPrimaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitPrimaryEvent();\n }\n\n emitParentSecondaryEvent() {\n const parentModal = this.el.parentElement;\n //@ts-ignore\n parentModal.emitSecondaryEvent();\n }\n\n render() {\n return (\n <div class={`wm-wrapper ${this.infoText ? \" footer-text\" : \"\"}`}>\n <div class=\"wm-info\" aria-live=\"polite\">{this.infoText}</div>\n <div class=\"wm-button-collection\">\n {this.secondaryText && (\n <wm-button\n onClick={() => this.emitParentSecondaryEvent()}\n id={`wm-secondary-${this.uid}`}\n ref={(el) => (this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.secondaryText}\n </wm-button>\n )}\n <wm-button\n button-type={this.deleteStyle ? \"secondary\" : \"primary\"}\n permanently-delete={this.deleteStyle}\n onClick={() => this.emitParentPrimaryEvent()}\n disabled={this.primaryActionDisabled}\n id={`wm-primary-${this.uid}`}\n ref={(el) => (!this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\n >\n {this.primaryText}\n </wm-button>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAmB,47B,MCMZC,EAAW,M,4CAGW,G,iBACF,G,cACH,G,2BACa,M,iBACV,K,CAI/BC,oBACEC,KAAKC,IAAOD,KAAKE,GAAGC,cAAqCF,IAKzDD,KAAKE,GAAGC,cAAeC,iBAAiB,oBAAoB,KAC1DJ,KAAKK,YAAYC,OAAO,G,CAI5BC,yBACE,MAAMC,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYC,kB,CAGdC,2BACE,MAAMF,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYG,oB,CAGdC,SACE,OACEC,EAAA,OAAKC,MAAO,cAAcd,KAAKe,SAAW,eAAiB,MACzDF,EAAA,OAAKC,MAAM,UAAS,YAAW,UAAUd,KAAKe,UAC9CF,EAAA,OAAKC,MAAM,wBACRd,KAAKgB,eACJH,EAAA,aACEI,QAAS,IAAMjB,KAAKU,2BACpBQ,GAAI,gBAAgBlB,KAAKC,MACzBkB,IAAMjB,GAAQF,KAAKoB,sBAAyBpB,KAAKK,YAAcH,EAAqB,MAEnFF,KAAKgB,eAGVH,EAAA,2BACeb,KAAKqB,YAAc,YAAc,UAAS,qBACnCrB,KAAKqB,YACzBJ,QAAS,IAAMjB,KAAKO,yBACpBe,SAAUtB,KAAKoB,sBACfF,GAAI,cAAclB,KAAKC,MACvBkB,IAAMjB,IAASF,KAAKoB,sBAAyBpB,KAAKK,YAAcH,EAAqB,MAEpFF,KAAKuB,c"}
1
+ {"version":3,"names":["wmModalFooterCss","ModalFooter","componentWillLoad","this","uid","el","parentElement","addEventListener","lastElement","focus","emitParentPrimaryEvent","parentModal","emitPrimaryEvent","emitParentSecondaryEvent","emitSecondaryEvent","render","h","class","infoText","secondaryText","onClick","id","ref","primaryActionDisabled","deleteStyle","disabled","primaryText"],"sources":["./src/components/wm-modal/wm-modal-footer.scss?tag=wm-modal-footer","./src/components/wm-modal/wm-modal-footer.tsx"],"sourcesContent":["wm-modal-footer {\r\n @include border-radius(0px 0px 5px 5px);\r\n //Fix for Chrome sometimes leaving space between footer and content, making the overlay show through\r\n margin-top: -1px;\r\n\r\n .wm-wrapper {\r\n @include displayFlex();\r\n @include justifyContent(space-between);\r\n @include alignItems(center);\r\n\r\n &.footer-text {\r\n @media only screen and (max-width: 650px) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n }\r\n\r\n wm-button + wm-button {\r\n margin-left: rem-calc(16);\r\n // @media only screen and (max-width: 768px) {\r\n // margin-right: 15px;\r\n // }\r\n }\r\n\r\n .wm-info {\r\n font-size: rem-calc(14);\r\n font-style: italic;\r\n @media only screen and (max-width: 650px) {\r\n padding-bottom: rem-calc(10);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n }\r\n}\r\n","import { h, Component, Element, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"wm-modal-footer\",\r\n styleUrl: \"wm-modal-footer.scss\",\r\n})\r\nexport class ModalFooter {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() secondaryText?: string = \"\";\r\n @Prop() primaryText?: string = \"\";\r\n @Prop() infoText?: string = \"\";\r\n @Prop() primaryActionDisabled: boolean = false;\r\n @Prop() deleteStyle: boolean = false;\r\n private uid!: string;\r\n private lastElement!: HTMLElement;\r\n\r\n componentWillLoad() {\r\n this.uid = (this.el.parentElement as HTMLWmModalElement).uid;\r\n\r\n // Trap focus when user shift+tabs past first element in modal\r\n // NB @Listen doesn't allow to listen on a specific element (the parent modal)\r\n // if we listen to the whole doc each modal on the page reacts to every event\r\n this.el.parentElement!.addEventListener(\"focusLastElement\", () => {\r\n this.lastElement.focus();\r\n });\r\n }\r\n\r\n emitParentPrimaryEvent() {\r\n const parentModal = this.el.parentElement;\r\n //@ts-ignore\r\n parentModal.emitPrimaryEvent();\r\n }\r\n\r\n emitParentSecondaryEvent() {\r\n const parentModal = this.el.parentElement;\r\n //@ts-ignore\r\n parentModal.emitSecondaryEvent();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`wm-wrapper ${this.infoText ? \" footer-text\" : \"\"}`}>\r\n <div class=\"wm-info\" aria-live=\"polite\">{this.infoText}</div>\r\n <div class=\"wm-button-collection\">\r\n {this.secondaryText && (\r\n <wm-button\r\n onClick={() => this.emitParentSecondaryEvent()}\r\n id={`wm-secondary-${this.uid}`}\r\n ref={(el) => (this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\r\n >\r\n {this.secondaryText}\r\n </wm-button>\r\n )}\r\n <wm-button\r\n button-type={this.deleteStyle ? \"secondary\" : \"primary\"}\r\n permanently-delete={this.deleteStyle}\r\n onClick={() => this.emitParentPrimaryEvent()}\r\n disabled={this.primaryActionDisabled}\r\n id={`wm-primary-${this.uid}`}\r\n ref={(el) => (!this.primaryActionDisabled ? (this.lastElement = el as HTMLElement) : null)}\r\n >\r\n {this.primaryText}\r\n </wm-button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAA,MAAMA,EAAmB,47B,MCMZC,EAAW,M,4CAGW,G,iBACF,G,cACH,G,2BACa,M,iBACV,K,CAI/BC,oBACEC,KAAKC,IAAOD,KAAKE,GAAGC,cAAqCF,IAKzDD,KAAKE,GAAGC,cAAeC,iBAAiB,oBAAoB,KAC1DJ,KAAKK,YAAYC,OAAO,G,CAI5BC,yBACE,MAAMC,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYC,kB,CAGdC,2BACE,MAAMF,EAAcR,KAAKE,GAAGC,cAE5BK,EAAYG,oB,CAGdC,SACE,OACEC,EAAA,OAAKC,MAAO,cAAcd,KAAKe,SAAW,eAAiB,MACzDF,EAAA,OAAKC,MAAM,UAAS,YAAW,UAAUd,KAAKe,UAC9CF,EAAA,OAAKC,MAAM,wBACRd,KAAKgB,eACJH,EAAA,aACEI,QAAS,IAAMjB,KAAKU,2BACpBQ,GAAI,gBAAgBlB,KAAKC,MACzBkB,IAAMjB,GAAQF,KAAKoB,sBAAyBpB,KAAKK,YAAcH,EAAqB,MAEnFF,KAAKgB,eAGVH,EAAA,2BACeb,KAAKqB,YAAc,YAAc,UAAS,qBACnCrB,KAAKqB,YACzBJ,QAAS,IAAMjB,KAAKO,yBACpBe,SAAUtB,KAAKoB,sBACfF,GAAI,cAAclB,KAAKC,MACvBkB,IAAMjB,IAASF,KAAKoB,sBAAyBpB,KAAKK,YAAcH,EAAqB,MAEpFF,KAAKuB,c"}
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(t,e,r,n){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function s(t){try{u(n.next(t))}catch(t){i(t)}}function a(t){try{u(n["throw"](t))}catch(t){i(t)}}function u(t){t.done?r(t.value):o(t.value).then(s,a)}u((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return u([t,e])}}function u(a){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(r=0)),r)try{if(n=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;o=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){r.label=a[1];break}if(a[0]===6&&r.label<i[1]){r.label=i[1];i=a;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(a);break}if(i[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];o=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-08b7ec08.system.js","./p-e782194d.system.js","./p-313b6073.system.js"],(function(t){"use strict";var e,r,n,o,i,s,a,u,c,l;return{setters:[function(t){e=t.r;r=t.c;n=t.h;o=t.H;i=t.g},function(t){s=t.a},function(t){a=t.k;u=t.l;c=t.i},function(t){l=t.g}],execute:function(){var 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}";var f=t("wm_navigator",function(){function t(t){e(this,t);this.wmNavigatorLogout=r(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}t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(!this.userName){console.error("wm-navigator: user-name is a required property.")}return[4,this.parseData()];case 1:t.sent();this.setFocusIndex();return[2]}}))}))};t.prototype.parseData=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){switch(e.label){case 0:if(!!!this.loadFromUserinfo)return[3,2];return[4,l("/platform/navigator/userinfo").then((function(e){t.email=e.email;t.currentProductId=e.current_product_id;t.parsedProducts=t.productKeysToCamelCase(e.products);t.logoutUrl=t.logoutUrl?t.logoutUrl:e.logout_url;t.connectionName=t.connectionName?t.connectionName:e.connection_name;if(!!t.email&&!!t.currentProductId){t.retrievedInfo=true}})).catch((function(t){console.error(t)}))];case 1:e.sent();return[3,3];case 2:this.currentProductId=s(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)}e.label=3;case 3:this.parsedProducts.sort((function(t,e){return t.name<e.name?-1:1}));return[2]}}))}))};t.prototype.productKeysToCamelCase=function(t){t=t.map((function(t){var e=Object.keys(t);var r={};e.forEach((function(e){r[a(e)]=t[e]}));return r}));return t};t.prototype.setFocusIndex=function(){if(this.parsedProducts.length>1){var t=this.getProduct(this.currentProductId);if(t){this.itemIndexToFocus=this.parsedProducts.indexOf(t)}}};t.prototype.toggleTabbingOn=function(){this.isTabbing=true};t.prototype.toggleTabbingOff=function(){this.isTabbing=false};t.prototype.handleKeys=function(t){switch(t.key){case"Escape":t.preventDefault();this.closeMenu();break;case"ArrowDown":case"ArrowUp":t.preventDefault();if(!this.isOpen){this.itemIndexToFocus=u(this.itemIndexToFocus,t.key,this.navigatorItems.length);this.openMenu()}break}};t.prototype.handleKeydown=function(t){var e=t.detail.key;var r=t.detail.navItem;switch(e){case"Tab":this.closeMenu();break;case"Enter":case" ":r.click();break;case"ArrowDown":case"ArrowUp":var n=this.itemIndexToFocus;this.itemIndexToFocus=u(this.itemIndexToFocus,e,this.navigatorItems.length);this.focusItem();this.unfocusItem(n);break}};t.prototype.handleClick=function(t){var e=t.target===this.el||this.el.contains(t.target);if(!e&&this.isOpen){this.closeMenu()}};t.prototype.handleButtonClick=function(){this.isOpen?this.closeMenu():this.openMenu()};t.prototype.openMenu=function(){if(this.wrapperEl){var t=this.wrapperEl.clientWidth;var e=this.el.getBoundingClientRect().left;var r=document.documentElement.clientWidth-this.el.getBoundingClientRect().right;this.openRight=t>e&&r>e}this.isOpen=true;this.focusItem()};t.prototype.closeMenu=function(){this.isOpen=false;this.buttonFocusHandler();this.unfocusItem(this.itemIndexToFocus);this.setFocusIndex()};t.prototype.focusItem=function(){var t=this.navigatorItems[this.itemIndexToFocus];t.tabIndex=0;t.focused=true;window.requestAnimationFrame((function(){return t.focus()}))};t.prototype.unfocusItem=function(t){var e=this.navigatorItems[t];e.tabIndex=-1;e.focused=false};t.prototype.buttonFocusHandler=function(){var t=this.el.shadowRoot.querySelector("priv-navigator-button");var e=t.shadowRoot.querySelector("button");window.requestAnimationFrame((function(){return e.focus()}))};t.prototype.renderUserInfo=function(){return n("div",{class:"user",id:"wm-nav-user","aria-label":c.formatMessage({id:"navigator.userinfoLabel",defaultMessage:"for {name}, email {email}"},{name:this.userName,email:this.email})},n("p",null,this.userName),n("p",null,this.email))};t.prototype.setAltText=function(){if(this.parsedProducts.length>1){return c.formatMessage({id:"navigator.userinfoAndProductNavigator",defaultMessage:"User information and product navigator"})}else{return c.formatMessage({id:"navigator.userinfo",defaultMessage:"User information"})}};t.prototype.renderHeading=function(){return n("h2",null,c.formatMessage({id:"navigator.watermarkApps",defaultMessage:"Watermark Apps",description:"Applications made by Watermark Insights"}))};t.prototype.renderList=function(){return n("ul",{role:"listbox","aria-label":"".concat(c.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())};t.prototype.renderProductOptions=function(){var t=this;return this.parsedProducts.map((function(e){var r,o,i,s;r=e.name;o=e.iconUrl;s=t.setProductOnClick(e.id);if(!!r&&!!o){i=t.currentProductId===e.id;return n("priv-navigator-item",{selected:i,id:e.id,onClick:s,role:"option","aria-label":r},n("img",{src:o,alt:r}))}}))};t.prototype.setProductOnClick=function(t){var e=this.getProduct(t);if(this.currentProductId===t){return function(){}}else if(e){if(!!this.loadFromUserinfo||this.authType===2){return function(){return window.location.href=e.linkUrl}}else if(this.authType===3){var r=this.connectionName?"/?connection_name=".concat(this.connectionName):"";return function(){return window.location.href=e.samlLinkUrl+r}}}};t.prototype.renderLogoutOption=function(){return n("priv-navigator-item",{class:"logout",selected:!(this.parsedProducts.length>1),id:"nav-logout",onClick:this.setLogoutOnclick(),role:"option"},n("span",{class:"logout"},c.formatMessage({id:"navigator.logout",defaultMessage:"Log Out"})))};t.prototype.setLogoutOnclick=function(){var t=this;return function(){t.wmNavigatorLogout.emit();if(t.logoutUrl){window.location.href=t.logoutUrl}}};Object.defineProperty(t.prototype,"navigatorItems",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"))},enumerable:false,configurable:true});t.prototype.getProduct=function(t){return this.parsedProducts.find((function(e){return e.id===t}))};t.prototype.render=function(){var t=this;return this.retrievedInfo?n(o,{class:this.isTabbing?"user-is-tabbing":""},n("priv-navigator-button",{expanded:this.isOpen,altText:this.setAltText(),isTabbing:this.isTabbing}),n("div",{class:"wrapper ".concat(this.isOpen?"":"hide"," ").concat(this.openRight?"right":""),ref:function(e){return t.wrapperEl=e}},this.renderUserInfo(),this.parsedProducts.length>1&&this.renderHeading(),this.renderList())):""};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{products:["parseData"]}},enumerable:false,configurable:true});return t}());f.style=p}}}));
2
- //# sourceMappingURL=p-ccd0d43b.system.entry.js.map
1
+ var __awaiter=this&&this.__awaiter||function(t,e,r,n){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,i){function s(t){try{u(n.next(t))}catch(t){i(t)}}function a(t){try{u(n["throw"](t))}catch(t){i(t)}}function u(t){t.done?r(t.value):o(t.value).then(s,a)}u((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return u([t,e])}}function u(a){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(r=0)),r)try{if(n=1,o&&(i=a[0]&2?o["return"]:a[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,a[1])).done)return i;if(o=0,i)a=[a[0]&2,i.value];switch(a[0]){case 0:case 1:i=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;o=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!i||a[1]>i[0]&&a[1]<i[3])){r.label=a[1];break}if(a[0]===6&&r.label<i[1]){r.label=i[1];i=a;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(a);break}if(i[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];o=0}finally{n=i=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-7b2fc615.system.js","./p-f5df5903.system.js","./p-f08e6a5a.system.js","./p-9d02957d.system.js"],(function(t){"use strict";var e,r,n,o,i,s,a,u,c,l;return{setters:[function(t){e=t.r;r=t.c;n=t.h;o=t.H;i=t.g},function(t){s=t.a},function(t){a=t.k;u=t.l;c=t.i},function(t){l=t.g}],execute:function(){var 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}";var f=t("wm_navigator",function(){function t(t){e(this,t);this.wmNavigatorLogout=r(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}t.prototype.componentWillLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(!this.userName){console.error("wm-navigator: user-name is a required property.")}return[4,this.parseData()];case 1:t.sent();this.setFocusIndex();return[2]}}))}))};t.prototype.parseData=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){switch(e.label){case 0:if(!!!this.loadFromUserinfo)return[3,2];return[4,l("/platform/navigator/userinfo").then((function(e){t.email=e.email;t.currentProductId=e.current_product_id;t.parsedProducts=t.productKeysToCamelCase(e.products);t.logoutUrl=t.logoutUrl?t.logoutUrl:e.logout_url;t.connectionName=t.connectionName?t.connectionName:e.connection_name;if(!!t.email&&!!t.currentProductId){t.retrievedInfo=true}})).catch((function(t){console.error(t)}))];case 1:e.sent();return[3,3];case 2:this.currentProductId=s(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)}e.label=3;case 3:this.parsedProducts.sort((function(t,e){return t.name<e.name?-1:1}));return[2]}}))}))};t.prototype.productKeysToCamelCase=function(t){t=t.map((function(t){var e=Object.keys(t);var r={};e.forEach((function(e){r[a(e)]=t[e]}));return r}));return t};t.prototype.setFocusIndex=function(){if(this.parsedProducts.length>1){var t=this.getProduct(this.currentProductId);if(t){this.itemIndexToFocus=this.parsedProducts.indexOf(t)}}};t.prototype.toggleTabbingOn=function(){this.isTabbing=true};t.prototype.toggleTabbingOff=function(){this.isTabbing=false};t.prototype.handleKeys=function(t){switch(t.key){case"Escape":t.preventDefault();this.closeMenu();break;case"ArrowDown":case"ArrowUp":t.preventDefault();if(!this.isOpen){this.itemIndexToFocus=u(this.itemIndexToFocus,t.key,this.navigatorItems.length);this.openMenu()}break}};t.prototype.handleKeydown=function(t){var e=t.detail.key;var r=t.detail.navItem;switch(e){case"Tab":this.closeMenu();break;case"Enter":case" ":r.click();break;case"ArrowDown":case"ArrowUp":var n=this.itemIndexToFocus;this.itemIndexToFocus=u(this.itemIndexToFocus,e,this.navigatorItems.length);this.focusItem();this.unfocusItem(n);break}};t.prototype.handleClick=function(t){var e=t.target===this.el||this.el.contains(t.target);if(!e&&this.isOpen){this.closeMenu()}};t.prototype.handleButtonClick=function(){this.isOpen?this.closeMenu():this.openMenu()};t.prototype.openMenu=function(){if(this.wrapperEl){var t=this.wrapperEl.clientWidth;var e=this.el.getBoundingClientRect().left;var r=document.documentElement.clientWidth-this.el.getBoundingClientRect().right;this.openRight=t>e&&r>e}this.isOpen=true;this.focusItem()};t.prototype.closeMenu=function(){this.isOpen=false;this.buttonFocusHandler();this.unfocusItem(this.itemIndexToFocus);this.setFocusIndex()};t.prototype.focusItem=function(){var t=this.navigatorItems[this.itemIndexToFocus];t.tabIndex=0;t.focused=true;window.requestAnimationFrame((function(){return t.focus()}))};t.prototype.unfocusItem=function(t){var e=this.navigatorItems[t];e.tabIndex=-1;e.focused=false};t.prototype.buttonFocusHandler=function(){var t=this.el.shadowRoot.querySelector("priv-navigator-button");var e=t.shadowRoot.querySelector("button");window.requestAnimationFrame((function(){return e.focus()}))};t.prototype.renderUserInfo=function(){return n("div",{class:"user",id:"wm-nav-user","aria-label":c.formatMessage({id:"navigator.userinfoLabel",defaultMessage:"for {name}, email {email}"},{name:this.userName,email:this.email})},n("p",null,this.userName),n("p",null,this.email))};t.prototype.setAltText=function(){if(this.parsedProducts.length>1){return c.formatMessage({id:"navigator.userinfoAndProductNavigator",defaultMessage:"User information and product navigator"})}else{return c.formatMessage({id:"navigator.userinfo",defaultMessage:"User information"})}};t.prototype.renderHeading=function(){return n("h2",null,c.formatMessage({id:"navigator.watermarkApps",defaultMessage:"Watermark Apps",description:"Applications made by Watermark Insights"}))};t.prototype.renderList=function(){return n("ul",{role:"listbox","aria-label":"".concat(c.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())};t.prototype.renderProductOptions=function(){var t=this;return this.parsedProducts.map((function(e){var r,o,i,s;r=e.name;o=e.iconUrl;s=t.setProductOnClick(e.id);if(!!r&&!!o){i=t.currentProductId===e.id;return n("priv-navigator-item",{selected:i,id:e.id,onClick:s,role:"option","aria-label":r},n("img",{src:o,alt:r}))}}))};t.prototype.setProductOnClick=function(t){var e=this.getProduct(t);if(this.currentProductId===t){return function(){}}else if(e){if(!!this.loadFromUserinfo||this.authType===2){return function(){return window.location.href=e.linkUrl}}else if(this.authType===3){var r=this.connectionName?"/?connection_name=".concat(this.connectionName):"";return function(){return window.location.href=e.samlLinkUrl+r}}}};t.prototype.renderLogoutOption=function(){return n("priv-navigator-item",{class:"logout",selected:!(this.parsedProducts.length>1),id:"nav-logout",onClick:this.setLogoutOnclick(),role:"option"},n("span",{class:"logout"},c.formatMessage({id:"navigator.logout",defaultMessage:"Log Out"})))};t.prototype.setLogoutOnclick=function(){var t=this;return function(){t.wmNavigatorLogout.emit();if(t.logoutUrl){window.location.href=t.logoutUrl}}};Object.defineProperty(t.prototype,"navigatorItems",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll("priv-navigator-item"))},enumerable:false,configurable:true});t.prototype.getProduct=function(t){return this.parsedProducts.find((function(e){return e.id===t}))};t.prototype.render=function(){var t=this;return this.retrievedInfo?n(o,{class:this.isTabbing?"user-is-tabbing":""},n("priv-navigator-button",{expanded:this.isOpen,altText:this.setAltText(),isTabbing:this.isTabbing}),n("div",{class:"wrapper ".concat(this.isOpen?"":"hide"," ").concat(this.openRight?"right":""),ref:function(e){return t.wrapperEl=e}},this.renderUserInfo(),this.parsedProducts.length>1&&this.renderHeading(),this.renderList())):""};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{products:["parseData"]}},enumerable:false,configurable:true});return t}());f.style=p}}}));
2
+ //# sourceMappingURL=p-4acc9e8d.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmNavigatorCss","Navigator","exports","this","retrievedInfo","loadFromUserinfo","parsedProducts","openRight","class_1","prototype","componentWillLoad","userName","console","error","parseData","_a","sent","setFocusIndex","getRequest","then","response","_this","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","concat","renderProductOptions","renderLogoutOption","icon","isSelected","clickRedirect","iconUrl","setProductOnClick","selected","onClick","src","alt","productId","authType","location","href","linkUrl","connName_1","samlLinkUrl","setLogoutOnclick","wmNavigatorLogout","emit","defineProperty","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,\r\nwm-navigator {\r\n min-width: 0;\r\n position: relative;\r\n display: inline-block;\r\n\r\n .wrapper {\r\n overflow: auto;\r\n font-size: rem-calc(18);\r\n min-width: rem-calc(210);\r\n width: auto;\r\n max-height: 80vh;\r\n text-align: left;\r\n position: absolute;\r\n z-index: 50;\r\n top: 100%;\r\n right: 20px;\r\n left: auto;\r\n background: #fff;\r\n letter-spacing: normal;\r\n @include box-shadow(0 4px 15px 0 rgba(0, 0, 0, 0.2));\r\n @include transition(transform 0.25s ease);\r\n @include transformOrigin(center top);\r\n @include scale($xVal: 1, $yVal: 1);\r\n\r\n .user {\r\n background: $background;\r\n padding: rem-calc(10 20);\r\n font-size: rem-calc(14);\r\n\r\n p {\r\n margin: 0;\r\n }\r\n p:first-child {\r\n font-weight: 700;\r\n text-transform: capitalize;\r\n }\r\n }\r\n\r\n h2 {\r\n background: #2e1b46;\r\n color: #fff;\r\n font-weight: 700;\r\n margin: 0;\r\n padding: rem-calc(10 20);\r\n font-size: rem-calc(14);\r\n }\r\n\r\n [role=\"listbox\"] {\r\n list-style: none;\r\n margin: 0;\r\n padding-left: 0;\r\n }\r\n\r\n &.hide {\r\n @include scale($xVal: 1, $yVal: 0);\r\n }\r\n\r\n &.right {\r\n right: auto;\r\n left: 20px;\r\n }\r\n }\r\n\r\n img {\r\n transform: scale(0.8);\r\n transform-origin: left center;\r\n display: block;\r\n }\r\n\r\n .logout {\r\n text-align: center;\r\n text-transform: capitalize;\r\n }\r\n}\r\n\r\npriv-navigator-item:focus {\r\n outline: none;\r\n}\r\n","import { Component, Element, h, Host, Prop, State, Listen, EventEmitter, Event, Watch } from \"@stencil/core\";\r\nimport { getWmMode, Product, NavigatorPayload } from \"../../global/interfaces\";\r\nimport { intl, snakeCaseToCamelCase, getNewIndexToFocus } from \"../../global/functions\";\r\nimport { getRequest } from \"../../global/services/http-service\";\r\n\r\n@Component({\r\n tag: \"wm-navigator\",\r\n styleUrl: \"wm-navigator.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class Navigator {\r\n @Element() el!: any;\r\n private wrapperEl?: HTMLDivElement;\r\n\r\n // Component can receive user info and products as props (this is how it worked before)\r\n @Prop() userName?: string;\r\n @Prop() email?: string;\r\n @Prop() authType: number = 1; // 1: none or off, 2: username-password or username_password_sso, 3: saml or saml_sso\r\n @Prop() connectionName?: string;\r\n @Prop() logoutUrl?: string;\r\n @Prop() products?: string | []; // products as JSON string, parsed on load\r\n\r\n // The new way is to retrieve user info from an endpoint\r\n // dev needs to opt-in by setting loadFromUserinfo to true\r\n @Prop() loadFromUserinfo: boolean = false;\r\n // comp can check whether the info was successfully retrieved with:\r\n private retrievedInfo: boolean = !this.loadFromUserinfo; // when in endpoint mode, only render after get request completed\r\n\r\n // used either way to store the products\r\n parsedProducts: Array<Product> = [];\r\n\r\n /**\r\n * Event emitted from child wm-navigator-button updates the state, which is then passed down as a prop by wm-navigator.\r\n */\r\n @State() isOpen: boolean = false;\r\n private openRight: boolean = false; // whether the menu should open on the right side\r\n\r\n @State() isTabbing: boolean = false;\r\n\r\n /**\r\n * Value is set to the index of the current product on load.\r\n * Keyboard navigation updates the state to keep track of focus in the dropdown.\r\n * State resets to the index of the current product when the dropdown closes.\r\n */\r\n @State() itemIndexToFocus: number = 0;\r\n\r\n @Event() wmNavigatorLogout!: EventEmitter;\r\n\r\n private currentProductId!: string;\r\n\r\n async componentWillLoad() {\r\n if (!this.userName) {\r\n console.error(\"wm-navigator: user-name is a required property.\");\r\n }\r\n\r\n await this.parseData();\r\n this.setFocusIndex();\r\n }\r\n\r\n // async because we need the http request to complete before proceeding\r\n @Watch(\"products\")\r\n async parseData() {\r\n if (!!this.loadFromUserinfo) {\r\n await getRequest(\"/platform/navigator/userinfo\")\r\n .then((response: NavigatorPayload) => {\r\n this.email = response.email;\r\n this.currentProductId = response.current_product_id;\r\n this.parsedProducts = this.productKeysToCamelCase(response.products);\r\n this.logoutUrl = this.logoutUrl ? this.logoutUrl : response.logout_url;\r\n this.connectionName = this.connectionName ? this.connectionName : response.connection_name;\r\n if (!!this.email && !!this.currentProductId) {\r\n this.retrievedInfo = true;\r\n }\r\n })\r\n .catch((errStatus) => {\r\n console.error(errStatus);\r\n });\r\n } else {\r\n this.currentProductId = getWmMode(this.el);\r\n if (!!this.products) {\r\n if (typeof this.products === \"string\") {\r\n this.parsedProducts = JSON.parse(this.products);\r\n } else {\r\n this.parsedProducts = this.products;\r\n }\r\n this.parsedProducts = this.productKeysToCamelCase(this.parsedProducts);\r\n }\r\n }\r\n // products is initialized as empty array in case nothing is passed\r\n this.parsedProducts.sort((a, b) => (a.name < b.name ? -1 : 1));\r\n }\r\n\r\n productKeysToCamelCase(products: object[]): Product[] {\r\n products = products.map((product: any) => {\r\n const keys = Object.keys(product);\r\n let newProduct: { [key: string]: string } = {};\r\n keys.forEach((key) => {\r\n newProduct[snakeCaseToCamelCase(key)] = product[key];\r\n });\r\n return newProduct;\r\n });\r\n return products as Product[];\r\n }\r\n\r\n /**\r\n * Sets index to focus on open to the selected product. This index resets it when the menu closes.\r\n */\r\n setFocusIndex() {\r\n if (this.parsedProducts.length > 1) {\r\n const currentProduct = this.getProduct(this.currentProductId);\r\n\r\n if (currentProduct) {\r\n this.itemIndexToFocus = this.parsedProducts.indexOf(currentProduct);\r\n }\r\n }\r\n }\r\n\r\n @Listen(\"wmUserIsTabbing\", { target: \"window\" })\r\n toggleTabbingOn() {\r\n this.isTabbing = true;\r\n }\r\n\r\n @Listen(\"wmUserIsNotTabbing\", { target: \"window\" })\r\n toggleTabbingOff() {\r\n this.isTabbing = false;\r\n }\r\n\r\n @Listen(\"keydown\")\r\n handleKeys(ev: KeyboardEvent) {\r\n switch (ev.key) {\r\n case \"Escape\":\r\n ev.preventDefault();\r\n this.closeMenu();\r\n break;\r\n case \"ArrowDown\":\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n if (!this.isOpen) {\r\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, ev.key, this.navigatorItems.length);\r\n this.openMenu();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n @Listen(\"keydownOnNavItem\")\r\n handleKeydown(ev: CustomEvent) {\r\n const key = ev.detail.key;\r\n const item = ev.detail.navItem;\r\n switch (key) {\r\n case \"Tab\":\r\n this.closeMenu();\r\n break;\r\n case \"Enter\":\r\n case \" \":\r\n item.click();\r\n break;\r\n case \"ArrowDown\":\r\n case \"ArrowUp\":\r\n const oldIndex = this.itemIndexToFocus;\r\n this.itemIndexToFocus = getNewIndexToFocus(this.itemIndexToFocus, key, this.navigatorItems.length);\r\n this.focusItem();\r\n this.unfocusItem(oldIndex);\r\n break;\r\n }\r\n }\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n handleClick(ev: MouseEvent) {\r\n const isElOrChild = ev.target === this.el || this.el.contains(ev.target as Node);\r\n\r\n if (!isElOrChild && this.isOpen) {\r\n this.closeMenu();\r\n }\r\n }\r\n\r\n @Listen(\"buttonActivated\")\r\n handleButtonClick() {\r\n this.isOpen ? this.closeMenu() : this.openMenu();\r\n }\r\n\r\n openMenu() {\r\n if (this.wrapperEl) {\r\n const wrapperWidth = this.wrapperEl.clientWidth;\r\n const spaceLeft = this.el.getBoundingClientRect().left;\r\n const spaceRight = document.documentElement.clientWidth - this.el.getBoundingClientRect().right;\r\n this.openRight = wrapperWidth > spaceLeft && spaceRight > spaceLeft;\r\n }\r\n this.isOpen = true;\r\n this.focusItem();\r\n }\r\n\r\n closeMenu() {\r\n this.isOpen = false;\r\n this.buttonFocusHandler();\r\n this.unfocusItem(this.itemIndexToFocus);\r\n this.setFocusIndex();\r\n }\r\n\r\n focusItem() {\r\n const newSelection = this.navigatorItems[this.itemIndexToFocus];\r\n newSelection.tabIndex = 0;\r\n newSelection.focused = true;\r\n window.requestAnimationFrame(() => newSelection.focus());\r\n }\r\n\r\n unfocusItem(index: number) {\r\n const oldSelection = this.navigatorItems[index];\r\n oldSelection.tabIndex = -1;\r\n oldSelection.focused = false;\r\n }\r\n\r\n buttonFocusHandler() {\r\n const hostButton = this.el.shadowRoot.querySelector(\"priv-navigator-button\");\r\n const button = hostButton.shadowRoot.querySelector(\"button\");\r\n window.requestAnimationFrame(() => button.focus());\r\n }\r\n\r\n /**\r\n * HELPERS FOR RENDER\r\n */\r\n renderUserInfo() {\r\n return (\r\n <div\r\n class=\"user\"\r\n id=\"wm-nav-user\"\r\n aria-label={intl.formatMessage(\r\n {\r\n id: \"navigator.userinfoLabel\",\r\n defaultMessage: \"for {name}, email {email}\",\r\n },\r\n { name: this.userName, email: this.email }\r\n )}\r\n >\r\n <p>{this.userName}</p>\r\n <p>{this.email}</p>\r\n </div>\r\n );\r\n }\r\n\r\n setAltText(): string {\r\n if (this.parsedProducts.length > 1) {\r\n return intl.formatMessage({\r\n id: \"navigator.userinfoAndProductNavigator\",\r\n defaultMessage: \"User information and product navigator\",\r\n });\r\n } else {\r\n return intl.formatMessage({\r\n id: \"navigator.userinfo\",\r\n defaultMessage: \"User information\",\r\n });\r\n }\r\n }\r\n\r\n renderHeading() {\r\n return (\r\n <h2>\r\n {intl.formatMessage({\r\n id: \"navigator.watermarkApps\",\r\n defaultMessage: \"Watermark Apps\",\r\n description: \"Applications made by Watermark Insights\",\r\n })}\r\n </h2>\r\n );\r\n }\r\n\r\n renderList() {\r\n return (\r\n <ul\r\n role=\"listbox\"\r\n aria-label={`${intl.formatMessage({\r\n id: \"navigator.WatermarkAppNavigation\",\r\n defaultMessage: \"Watermark App Navigation\",\r\n description: \"list of applications by Watermark Insights\",\r\n })}`}\r\n aria-describedby=\"wm-nav-user\"\r\n >\r\n {this.parsedProducts.length > 1 && this.renderProductOptions()}\r\n {this.renderLogoutOption()}\r\n </ul>\r\n );\r\n }\r\n\r\n renderProductOptions(): Array<HTMLPrivNavigatorItemElement> {\r\n return this.parsedProducts.map((product: Product) => {\r\n let name: string | undefined, icon: string | undefined, isSelected: boolean, clickRedirect: any;\r\n\r\n name = product.name;\r\n icon = (product as Product).iconUrl;\r\n\r\n clickRedirect = this.setProductOnClick(product.id);\r\n\r\n if (!!name && !!icon) {\r\n isSelected = this.currentProductId === product.id;\r\n\r\n return (\r\n <priv-navigator-item\r\n selected={isSelected}\r\n id={product.id}\r\n onClick={clickRedirect}\r\n role=\"option\"\r\n aria-label={name}\r\n >\r\n <img src={icon} alt={name} />\r\n </priv-navigator-item>\r\n );\r\n }\r\n });\r\n }\r\n\r\n setProductOnClick(productId: string) {\r\n const product = this.getProduct(productId);\r\n\r\n if (this.currentProductId === productId) {\r\n return () => {};\r\n } else if (product) {\r\n if (!!this.loadFromUserinfo || this.authType === 2) {\r\n return () => (window.location.href = (product as Product).linkUrl);\r\n } else if (this.authType === 3) {\r\n // products passed as prop, saml\r\n const connName = this.connectionName ? `/?connection_name=${this.connectionName}` : \"\";\r\n return () => (window.location.href = (product as Product).samlLinkUrl + connName);\r\n }\r\n }\r\n }\r\n\r\n renderLogoutOption() {\r\n return (\r\n <priv-navigator-item\r\n class=\"logout\"\r\n selected={!(this.parsedProducts.length > 1)}\r\n id=\"nav-logout\"\r\n onClick={this.setLogoutOnclick()}\r\n role=\"option\"\r\n >\r\n <span class=\"logout\">\r\n {intl.formatMessage({\r\n id: \"navigator.logout\",\r\n defaultMessage: \"Log Out\",\r\n })}\r\n </span>\r\n </priv-navigator-item>\r\n );\r\n }\r\n\r\n setLogoutOnclick() {\r\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).\r\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.\r\n return () => {\r\n this.wmNavigatorLogout.emit();\r\n if (this.logoutUrl) {\r\n window.location.href = this.logoutUrl;\r\n }\r\n };\r\n }\r\n\r\n private get navigatorItems(): Array<HTMLPrivNavigatorItemElement> {\r\n return Array.from(this.el.shadowRoot.querySelectorAll(\"priv-navigator-item\"));\r\n }\r\n\r\n private getProduct(id: string): Product | undefined {\r\n return this.parsedProducts.find((product) => product.id === id);\r\n }\r\n\r\n render() {\r\n return this.retrievedInfo ? (\r\n <Host class={this.isTabbing ? \"user-is-tabbing\" : \"\"}>\r\n <priv-navigator-button expanded={this.isOpen} altText={this.setAltText()} isTabbing={this.isTabbing} />\r\n <div\r\n class={`wrapper ${this.isOpen ? \"\" : \"hide\"} ${this.openRight ? \"right\" : \"\"}`}\r\n ref={(el) => (this.wrapperEl = el as HTMLDivElement)}\r\n >\r\n {this.renderUserInfo()}\r\n {this.parsedProducts.length > 1 && this.renderHeading()}\r\n {this.renderList()}\r\n </div>\r\n </Host>\r\n ) : (\r\n \"\"\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var __spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||arguments.length===2)for(var o=0,r=e.length,a;o<r;o++){if(a||!(o in e)){if(!a)a=Array.prototype.slice.call(e,0,o);a[o]=e[o]}}return t.concat(a||Array.prototype.slice.call(e))};System.register(["./p-7b2fc615.system.js","./p-e782194d.system.js"],(function(t){"use strict";var e,i,o,r,a,n,s,l,p,d,c,h,u,g;return{setters:[function(t){e=t.r;i=t.c;o=t.f;r=t.h;a=t.H;n=t.g},function(t){s=t.g;l=t.i;p=t.d;d=t.q;c=t.r;h=t.j;u=t.s;g=t.m}],execute:function(){var f=':host,wm-tag-input{font-family:inherit;width:100%;display:block}:host *,wm-tag-input *{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px}:host .wrapper,wm-tag-input .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-tag-input .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-tag-input .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-tag-input .wrapper.label-left{-ms-flex-direction:row;flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-tag-input .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-tag-input .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}:host .wrapper.label-none label,wm-tag-input .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}:host .wrapper.invalid .label,wm-tag-input .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-tag-input .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] :host .wrapper.invalid .label:after,[dir=RTL] wm-tag-input .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-tag-input .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper,wm-tag-input .wrapper{width:100%;height:100%;position:relative}:host .field-wrapper,wm-tag-input .field-wrapper{position:relative;width:100%;border:1px solid #4a4a4a;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px}:host .field-wrapper.focused,wm-tag-input .field-wrapper.focused{-webkit-box-shadow:0 0 0 1px #20cbd4;-moz-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;outline:none;border-color:#20cbd4}:host .character-count,wm-tag-input .character-count{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:5rem;background-color:rgba(74, 74, 74, 0.05);font-size:0.875rem;font-weight:500;-ms-flex-item-align:stretch;align-self:stretch}:host .tags-and-input-wrapper,wm-tag-input .tags-and-input-wrapper{position:relative;width:100%;padding:0.5rem 0.25rem 0.5rem 0;margin-bottom:-0.5rem}:host .upper-row,wm-tag-input .upper-row{width:100%;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-pack:justify;justify-content:space-between}:host .upper-row:before,wm-tag-input .upper-row:before{-ms-flex-item-align:start;align-self:flex-start;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:#b5b5b5;padding:0.75rem 0.5rem 0.75rem 0.75rem}:host .lower-row,wm-tag-input .lower-row{width:100%;min-height:1.875rem}:host #max-tags,wm-tag-input #max-tags{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:1.875rem;background-color:#e6e6e6;padding:0.5rem 1rem;color:#4a4a4a;font-size:0.875rem;border-top:1px solid rgba(35, 35, 35, 0.6);border-radius:0 0 3px 3px}:host .tag-area,wm-tag-input .tag-area{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0}:host .tag-area:focus,wm-tag-input .tag-area:focus{outline:none}:host .tag-area [role=option],wm-tag-input .tag-area [role=option]{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;height:1.75rem;list-style:none;color:#4a4a4a;background-color:rgba(3, 0, 0, 0.1);padding:0.5rem 0.625rem;margin-bottom:0.5rem;margin-right:0.25rem;margin-left:0.25rem;-webkit-transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);white-space:pre}:host .tag-area [role=option].highlight,wm-tag-input .tag-area [role=option].highlight{-webkit-animation:fadeIn 1s;animation:fadeIn 1s}@-webkit-keyframes fadeIn{0%{background-color:rgba(3, 0, 0, 0.1)}50%{background-color:#c8dfcc}100%{background-color:rgba(3, 0, 0, 0.1)}}@keyframes fadeIn{0%{background-color:rgba(3, 0, 0, 0.1)}50%{background-color:#c8dfcc}100%{background-color:rgba(3, 0, 0, 0.1)}}:host .tag-area [role=option].focused,wm-tag-input .tag-area [role=option].focused{background-color:#d1d1d1}:host .tag-area [role=option].locked,wm-tag-input .tag-area [role=option].locked{background-color:#6b6b6b;color:white}:host .tag-area [role=option] .icon,wm-tag-input .tag-area [role=option] .icon{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:1.25rem;width:1.25rem;padding:0;margin-left:0.5rem}:host .tag-area [role=option] .icon.remove-btn,wm-tag-input .tag-area [role=option] .icon.remove-btn{border:1px solid #575195;color:#575195;border-radius:50%;cursor:pointer;-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 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)}:host .tag-area [role=option] .icon.remove-btn:hover,wm-tag-input .tag-area [role=option] .icon.remove-btn:hover{color:white;background-color:#575195}:host .tag-area [role=option] .icon.remove-btn:before,wm-tag-input .tag-area [role=option] .icon.remove-btn: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:"\\f156"}:host .tag-area [role=option] .icon.lock,wm-tag-input .tag-area [role=option] .icon.lock{color:white}:host .tag-area [role=option] .icon.lock:before,wm-tag-input .tag-area [role=option] .icon.lock: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:"\\f341"}:host input,wm-tag-input input{font-family:inherit;border:none;height:1.75rem;padding:0;margin-bottom:0.5rem;margin-right:0.25rem;padding-left:0.5rem;right:0px}:host input.hidden,wm-tag-input input.hidden{display:none}:host input:focus,wm-tag-input input:focus{outline:none}:host .dropdown-wrapper,wm-tag-input .dropdown-wrapper{margin:0;padding:0;-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:calc(100% + 2px);right:0;background:#fff;z-index:100;width:100%;font-size:0.875rem}:host .dropdown-wrapper .dropdown,wm-tag-input .dropdown-wrapper .dropdown{-webkit-overflow-scrolling:touch;overflow:auto;max-height:12.5rem;margin:0;padding:0}:host .dropdown-wrapper.open,wm-tag-input .dropdown-wrapper.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .dropdown-wrapper.upwards,wm-tag-input .dropdown-wrapper.upwards{top:unset;bottom:calc(100% + 2px);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}:host .dropdown-wrapper li,:host .dropdown-wrapper div,wm-tag-input .dropdown-wrapper li,wm-tag-input .dropdown-wrapper div{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 1rem;background:#fff;list-style:none;height:2.6875rem;white-space:pre}:host .dropdown-wrapper li[role=option],:host .dropdown-wrapper li.add-new-btn,:host .dropdown-wrapper div[role=option],:host .dropdown-wrapper div.add-new-btn,wm-tag-input .dropdown-wrapper li[role=option],wm-tag-input .dropdown-wrapper li.add-new-btn,wm-tag-input .dropdown-wrapper div[role=option],wm-tag-input .dropdown-wrapper div.add-new-btn{cursor:pointer;color:#575195;font-weight:bold;width:100%;border:none}:host .dropdown-wrapper li[role=option][aria-selected=true],:host .dropdown-wrapper li.add-new-btn[aria-selected=true],:host .dropdown-wrapper div[role=option][aria-selected=true],:host .dropdown-wrapper div.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper li[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper li.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper div[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper div.add-new-btn[aria-selected=true]{color:#6b6b6b;font-style:italic;font-weight:normal;cursor:unset}:host .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper li[role=option].focused,:host .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper li.add-new-btn.focused,:host .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper div[role=option].focused,:host .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper div.add-new-btn.focused,wm-tag-input .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li[role=option].focused,wm-tag-input .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li.add-new-btn.focused,wm-tag-input .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div[role=option].focused,wm-tag-input .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div.add-new-btn.focused{outline:none;background:#f4f4f4}:host .dropdown-wrapper li.help-text,:host .dropdown-wrapper div.help-text,wm-tag-input .dropdown-wrapper li.help-text,wm-tag-input .dropdown-wrapper div.help-text{color:#4a4a4a;min-height:2.6875rem;padding-top:0.25rem;padding-bottom:0.25rem;white-space:normal}:host .dropdown-wrapper li:not(:last-child),:host .dropdown-wrapper div:not(:last-child),wm-tag-input .dropdown-wrapper li:not(:last-child),wm-tag-input .dropdown-wrapper div:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host .info-text,wm-tag-input .info-text{font-style:italic;margin-top:0.25rem}:host .table-wrapper,wm-tag-input .table-wrapper{min-height:10rem;overflow:auto;margin-top:1.5rem}:host .table-wrapper #table,wm-tag-input .table-wrapper #table{width:100%;border-spacing:0px}:host .table-wrapper #table.fixed-widths,wm-tag-input .table-wrapper #table.fixed-widths{table-layout:fixed}:host .table-wrapper #table .headers,wm-tag-input .table-wrapper #table .headers{height:2.5rem;background-color:#eeedf4}:host .table-wrapper #table .headers th,wm-tag-input .table-wrapper #table .headers th{text-align:left;font-size:0.75rem;font-weight:700;text-transform:uppercase;padding:0 1.5rem}:host .table-wrapper tr:nth-child(even),wm-tag-input .table-wrapper tr:nth-child(even){background-color:#fafafa}:host .table-wrapper tr.selected,wm-tag-input .table-wrapper tr.selected{background-color:rgba(25, 161, 169, 0.2);-webkit-box-shadow:inset 0 0 0 1px #19a1a9;box-shadow:inset 0 0 0 1px #19a1a9;font-weight:500}:host .table-wrapper tr.focused:not(.locked),:host .table-wrapper tr:hover:not(.locked),wm-tag-input .table-wrapper tr.focused:not(.locked),wm-tag-input .table-wrapper tr:hover:not(.locked){background-color:#e9e7ec;-webkit-box-shadow:none;box-shadow:none}:host .table-wrapper tr.locked td,wm-tag-input .table-wrapper tr.locked td{cursor:auto}:host .table-wrapper tr.locked td:first-child .cell-content-wrapper:before,wm-tag-input .table-wrapper tr.locked td:first-child .cell-content-wrapper: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:"\\f33e";margin-right:0.5rem;color:#4a4a4a}:host .table-wrapper td,wm-tag-input .table-wrapper td{height:3.75rem;vertical-align:middle;padding:0 1.5rem;cursor:pointer}:host .table-wrapper td.focused,wm-tag-input .table-wrapper td.focused{-webkit-box-shadow:inset 0 2px 2px 0 rgba(244, 243, 246, 0.2), inset 0 2px 2px 0 rgba(0, 0, 0, 0.1), inset 0 0 4px 3px #61279e;box-shadow:inset 0 2px 2px 0 rgba(244, 243, 246, 0.2), inset 0 2px 2px 0 rgba(0, 0, 0, 0.1), inset 0 0 4px 3px #61279e}:host .table-wrapper td .cell-content-wrapper.trunc,wm-tag-input .table-wrapper td .cell-content-wrapper.trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .table-wrapper td .description,wm-tag-input .table-wrapper td .description{display:none}:host .no-results,wm-tag-input .no-results{padding:1.25rem 1.5rem}:host .sr-only,wm-tag-input .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 m=t("wm_tag_input",function(){function t(t){var r=this;e(this,t);this.wmTagInputChanged=i(this,"wmTagInputChanged",7);this.uid=this.el.id?this.el.id:s();this.openUp=false;this.tooltipVisible=false;this.tagAreaInstructions=l.formatMessage({id:"tagInput.tagAreaInstructions",defaultMessage:"tag selection. Press Backspace or Delete to remove a tag."});this.maxTagsReachedMessage=l.formatMessage({id:"tagInput.maxTagsReached",defaultMessage:"No more tags can be added because the limit has been reached."});this.debouncedUpdate=p((function(){return o(r.el)}),30);this.label=undefined;this.labelPosition="top";this.options="";this.selectedTags="";this.info=undefined;this.addNew=true;this.placeholder=undefined;this.characterLimit=50;this.maxTags=undefined;this.tagInputType="dropdown";this.colHeaders=undefined;this.colWidths=undefined;this.colWrap=undefined;this.focusedListItem=undefined;this.focusedTag=null;this.tablePosition={row:0,column:1};this.isExpanded=false;this.tagsList=d(this.selectedTags);this.optionsList=d(this.options);this.charCount=0;this.liveRegionMessage=""}Object.defineProperty(t.prototype,"focusedElement",{get:function(){return this.el.shadowRoot.activeElement},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"listItemEls",{get:function(){return Array.from(this.dropdownEl.querySelectorAll("li"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tagEls",{get:function(){return this.tagAreaEl?Array.from(this.tagAreaEl.querySelectorAll(".tag")):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"nonLockedTagEls",{get:function(){return this.tagEls.filter((function(t){return!t.classList.contains("locked")}))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"optionEls",{get:function(){return Array.from(this.dropdownEl.querySelectorAll(".option"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"wmRowEls",{get:function(){return Array.from(this.el.querySelectorAll("wm-tag-input-row"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"localRowEls",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll("tr"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"filteredRows",{get:function(){var t=this;return this.wmRowEls.filter((function(e){var i=[e.col1,e.col2,e.col3,e.col4].join("").toLowerCase();return t.inputEl&&t.inputEl.value?i.includes(t.inputEl.value.toLowerCase()):true}))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"nonLockedTagsList",{get:function(){var t=this;var e=[];if(this.tagInputType==="table"){this.tagsList.forEach((function(i){var o=t.wmRowEls.filter((function(t){return i===t.id}))[0];if(!o.locked){e.push(i)}}))}else if(this.tagInputType==="dropdown"){e=this.tagsList}return e},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tagLimitReached",{get:function(){return!!(this.maxTags&&this.tagsList.length>=this.maxTags)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"noResultsMessage",{get:function(){return l.formatMessage({id:"tagInput.noResults",defaultMessage:"No results match your search.",description:"Message displayed when a user's search returns empty."})},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"inputMinimumWidth",{get:function(){var t=getComputedStyle(this.inputEl);var e=getComputedStyle(this.tagEls[this.tagEls.length-1]);var i=[t.paddingLeft,t.paddingRight,t.marginLeft,t.marginRight,e.marginRight].reduce((function(t,e){return t+parseInt(e.replace("px",""))}),0);var o=Math.max(150,c(this.inputEl,this.placeholder).width+i);return o},enumerable:false,configurable:true});t.prototype.generateTagAddedMessage=function(t){return l.formatMessage({id:"tagInput.tagAdded",defaultMessage:"{tagName} added.",description:"A confirmation for adding a tag."},{tagName:t})};t.prototype.generateTagAlreadyAddedMessage=function(t){return l.formatMessage({id:"tagInput.tagAlreadyAdded",defaultMessage:"{tagName} has already been added.",description:"An alert for adding a tag that is already present."},{tagName:t})};t.prototype.generateTagCounterMessage=function(t,e){return l.formatMessage({id:"tagInput.tagsAddedCounter",defaultMessage:"Tags added: {x, number}/{y, number}",description:"For the user to understand how close they are to the tag limit."},{x:t,y:e})};t.prototype.generateCharacterLimitLabel=function(t){return l.formatMessage({id:"global.characterLimit",defaultMessage:"{limit, number} characters allowed.",description:"for screen readers"},{limit:t})};t.prototype.componentWillLoad=function(){var t=this;if(!this.placeholder){this.placeholder=this.createPlaceholderDefault(this.addNew,!!this.options)}if(!this.label){console.error("wm-tag-input must have a label property")}this.consolidateSelectedTags();this.el.focus=function(){var e=t.nonLockedTagEls[0];if(e){t.tagAreaEl.focus();t.focusTag(e)}else{t.inputEl.focus()}};var e=new ResizeObserver((function(){return t.debouncedUpdate()}));e.observe(this.el)};t.prototype.componentDidLoad=function(){this.tagEls.forEach((function(t){return t.classList.remove("highlight")}))};t.prototype.componentDidRender=function(){this.positionInput()};t.prototype.consolidateSelectedTags=function(){var t=this;this.tagsList.forEach((function(e){if(!t.includesCaseInsensitive(t.optionsList,e)){t.options+="".concat(t.options.length>0?",":"").concat(e)}}));this.optionsList=d(this.options)};t.prototype.createPlaceholderDefault=function(t,e){var i=l.formatMessage({id:"tagInput.placeholderAddAndSearch",defaultMessage:"Add or search for a tag",description:"Placeholder text. Use imperative"});var o=l.formatMessage({id:"tagInput.placeholderSearch",defaultMessage:"Search and select a tag",description:"Placeholder text. Use imperative"});var r=l.formatMessage({id:"tagInput.placeholderAdd",defaultMessage:"Add a new tag",description:"Placeholder text. Use imperative"});var a="";if(t&&e){a=i}else if(!t&&e){a=o}else if(t){a=r}return a};t.prototype.reflectSelectedTags=function(t,e){var i=this;var o=t.length>e.length;var r="";var a=this.tagsList;if(o){r=t.filter((function(t){return!e.includes(t)}))[0]}else{r=e.filter((function(e){return!t.includes(e)}))[0]}if(this.tagInputType==="table"){r=this.wmRowEls.filter((function(t){return t.id===r}))[0];a=this.tagsList.map((function(t){return i.el.querySelector("#".concat(t))}))}this.selectedTags=this.listToCSV(this.tagsList);var n={value:a,tagChanged:r};this.wmTagInputChanged.emit(n)};t.prototype.handleRowUpdate=function(){o(this.el)};t.prototype.closeIfNotElOrChild=function(t){var e=t.target!==this.el&&!this.el.shadowRoot.contains(t.target);if(this.tagInputType==="dropdown"&&e&&this.isExpanded){this.closeDropdown()}};t.prototype.dismissTooltip=function(){if(this.tooltipVisible){h();this.tooltipVisible=false}};t.prototype.handleInputKeyDown=function(t){if(/^.$/.test(t.key)&&this.inputEl.value.length>=this.characterLimit){this.announceCharacterLimitWarning(this.inputEl.value.length,this.characterLimit)}t.stopPropagation();switch(t.key){case"Enter":case",":t.preventDefault();this.handleInputEnter();break;case"ArrowDown":t.preventDefault();this.handleInputArrowDown();break;case"ArrowUp":t.preventDefault();this.handleInputArrowUp();break;case"ArrowLeft":t.preventDefault();if(this.tagInputType==="table"&&this.tablePosition.row){this.moveLeftCell()}break;case"ArrowRight":t.preventDefault();if(this.tagInputType==="table"&&this.tablePosition.row){this.moveRightCell()}break;case"Escape":if(this.tagInputType==="dropdown"&&this.isExpanded){this.closeDropdown()}break;case"ArrowLeft":case"Backspace":this.handleInputBackspace();break}};t.prototype.handleInputFocus=function(){if(this.tagInputType==="dropdown"){this.openDropdown();this.clearListItemFocus()}o(this.el)};t.prototype.handleInputChanged=function(t){this.charCount=t.length;if(this.tagInputType==="dropdown"){this.clearListItemFocus();if(this.charCount>=this.characterLimit-5){this.announceCharacterLimitWarning(this.charCount,this.characterLimit)}if(!this.isExpanded){this.openDropdown()}}else if(this.tagInputType==="table"){this.clearCellFocus()}this.announceExistingOptions()};t.prototype.handleInputEnter=function(){if(this.tagInputType==="dropdown"){if(this.focusedListItem){this.handleListItemClick(this.focusedListItem)}else{this.submitInput(this.addNew,this.inputEl.value.trim())}}else if(this.tagInputType==="table"&&this.tablePosition.row>0){this.handleTableRowClick(this.localRowEls[this.tablePosition.row].id)}};t.prototype.submitInput=function(t,e){var i=e.match(/\S/);if(t&&i){this.addTag(e);this.optionsList=this.addOption(e);this.resetInput()}};t.prototype.handleInputArrowDown=function(){if(this.tagInputType==="table"){this.moveDownRow()}else if(this.tagInputType==="dropdown"&&this.isExpanded){this.moveDownListItem()}else if(this.tagInputType==="dropdown"){this.openDropdown()}};t.prototype.handleInputArrowUp=function(){if(this.tagInputType==="table"){this.moveUpRow()}else if(this.tagInputType==="dropdown"&&this.isExpanded){this.moveUpListItem()}else if(this.tagInputType==="dropdown"){this.openDropdown()}};t.prototype.handleInputBackspace=function(){var t=this;if(this.inputEl.value===""&&this.tagsList.length>0){window.requestAnimationFrame((function(){if(t.nonLockedTagsList.length>0){t.tagAreaEl.focus();t.focusTag(t.tagEls[t.tagEls.length-1])}}))}};t.prototype.handleListItemKeyDown=function(t){var e=t.target;switch(t.key){case"Enter":case" ":t.preventDefault();e.click();break;case"ArrowDown":t.preventDefault();this.moveDownListItem();break;case"ArrowUp":t.preventDefault();this.moveUpListItem();break;case"Escape":if(this.focusedElement!==this.inputEl){this.inputEl.focus()}else if(this.tagInputType==="dropdown"){this.closeDropdown()}break}};t.prototype.handleListItemClick=function(t){var e=t.dataset.option.trim()||"";if(this.includesCaseInsensitive(this.tagsList,e)){this.announce(this.generateTagAlreadyAddedMessage(e))}else{this.resetInput();this.addTag(e);this.optionsList=this.addOption(e);this.focusedListItem=null}};t.prototype.handleTableRowClick=function(t){var e=this.el.querySelector("#".concat(t));var i=e.locked;if(!i){if(this.includesCaseInsensitive(this.tagsList,t)){this.removeTag(t)}else if(!this.tagLimitReached){this.addTag(t);this.resetInput()}}};t.prototype.handleTagAreaKeyDown=function(t){switch(t.key){case"ArrowLeft":case"ArrowUp":t.preventDefault();this.moveLeftTag();break;case"ArrowRight":case"ArrowDown":t.preventDefault();this.moveRightTag();break;case"Backspace":case"Delete":this.handleTagAreaDelete();break}};t.prototype.handleTagAreaDelete=function(){var t=this.focusedTag&&this.focusedTag.classList.contains("locked");if(this.focusedTag&&this.focusedTag.dataset.tag&&!t){this.removeTag(this.focusedTag.dataset.tag);if(this.nonLockedTagsList.length===0){this.inputEl.focus()}else if(this.focusedTag===this.tagEls[this.tagEls.length-1]){this.focusedTag=this.tagEls[this.tagEls.length-2];this.focusTag(this.focusedTag)}}};t.prototype.handleBlur=function(t,e){var i=t.relatedTarget!==e&&!this.el.shadowRoot.contains(t.relatedTarget);this.dismissTooltip();this.clearCellFocus();if(i){this.fieldWrapperEl.classList.remove("focused");if(this.tagInputType==="dropdown"){this.closeDropdown()}}};t.prototype.handleCellMouseEnter=function(t){var e=t.target;var i=e.querySelector(".cell-content-wrapper");var o=i.scrollWidth>i.clientWidth;if(o){u("bottom",e,e.innerText);this.tooltipVisible=true}};t.prototype.handleTagAreaFocus=function(){if(this.tagInputType==="dropdown"){this.closeDropdown()}var t=this.nonLockedTagEls[0];t&&this.focusTag(t)};t.prototype.handleRemoveButtonClick=function(t){this.moveLeftTag();this.removeTag(t)};t.prototype.moveDownListItem=function(){if(this.listItemEls.length>0){var t=this.listItemEls[0];if(!this.focusedListItem){this.focusListItem(t)}else if(this.focusedListItem.nextElementSibling){this.focusListItem(this.focusedListItem.nextElementSibling)}else{this.focusListItem(t)}}};t.prototype.moveUpListItem=function(){if(this.listItemEls.length>0){var t=this.listItemEls[this.listItemEls.length-1];if(!this.focusedListItem){this.focusListItem(t)}else if(this.focusedListItem.previousElementSibling){this.focusListItem(this.focusedListItem.previousElementSibling)}else{this.clearListItemFocus()}}};t.prototype.moveDownRow=function(){if(this.filteredRows.length>0){if(this.tablePosition.row===0){this.tablePosition.row=1}else if(this.tablePosition.row===this.filteredRows.length){this.tablePosition.row=1}else{this.tablePosition.row++}var t=this.wmRowEls[this.tablePosition.row-1];if(t.locked){this.moveDownRow()}else{this.focusCell(this.tablePosition)}}};t.prototype.moveUpRow=function(){if(this.filteredRows.length>0){if(this.tablePosition.row===0){this.tablePosition.row=this.filteredRows.length}else if(this.tablePosition.row===1){this.tablePosition.row=0}else{this.tablePosition.row--}var t=this.wmRowEls[this.tablePosition.row-1];if(t&&t.locked){this.moveUpRow()}else if(t){this.focusCell(this.tablePosition)}else{this.clearCellFocus()}}};t.prototype.moveLeftCell=function(){if(this.tablePosition.column!=1){this.tablePosition.column--;this.focusCell(this.tablePosition)}};t.prototype.moveRightCell=function(){var t=d(this.colHeaders).length;if(this.tablePosition.column<t){this.tablePosition.column++;this.focusCell(this.tablePosition)}};t.prototype.moveLeftTag=function(){var t=this.tagEls[this.tagEls.length-1];if(this.focusedTag&&this.tagEls.includes(this.focusedTag.previousElementSibling)){this.focusedTag=this.focusedTag.previousElementSibling}else{this.focusedTag=t}if(this.focusedTag.classList.contains("locked")&&this.nonLockedTagEls.length>0){this.moveLeftTag()}else{this.focusTag(this.focusedTag)}};t.prototype.moveRightTag=function(){var t=this.tagEls[0];if(this.focusedTag&&this.tagEls.includes(this.focusedTag.nextElementSibling)){this.focusedTag=this.focusedTag.nextElementSibling}else{this.focusedTag=t}if(this.focusedTag.classList.contains("locked")){this.moveRightTag()}else{this.focusTag(this.focusedTag)}};t.prototype.addOption=function(t){var e=this.optionsList;var i=this.includesCaseInsensitive(this.optionsList,t);if(!i){e=e.concat(t)}return e};t.prototype.removeOption=function(t){this.optionsList=this.filterCaseInsensitive(this.optionsList,t)};t.prototype.addTag=function(t){var e=this.tagsList;var i=this.includesCaseInsensitive(this.tagsList,t);var o=this.optionsList.filter((function(e){return e.toLowerCase()===t.toLowerCase()}))[0];if(!i){var r=t;if(this.tagInputType==="table"){var a=this.el.querySelector("#".concat(t));r=a.col1}this.announce(this.generateTagAddedMessage(r));this.tagsList=e.concat(o||t);if(this.tagLimitReached){this.tagAreaEl.focus()}}};t.prototype.removeTag=function(t){var e=t;if(this.tagInputType==="table"){var i=this.el.querySelector("#".concat(t));e=i.col1}var o=l.formatMessage({id:"tagInput.tagRemoved",defaultMessage:"{tag} removed"},{tag:e});this.announce(o);this.tagsList=this.filterCaseInsensitive(this.tagsList,t);if(this.tagInputType==="dropdown"){var r=d(this.options);if(this.includesCaseInsensitive(this.optionsList,t)&&!this.includesCaseInsensitive(r,t)){this.removeOption(t)}}};t.prototype.focusListItem=function(t){this.focusedListItem=t;this.inputEl.setAttribute("aria-activedescendant",this.focusedListItem.id);t.scrollIntoView({block:"nearest"})};t.prototype.focusTag=function(t){if(t.classList.contains("locked")){this.focusedTag=null;this.tagAreaEl.setAttribute("aria-activedescendant","")}else{this.focusedTag=t;this.tagAreaEl.setAttribute("aria-activedescendant",this.focusedTag.id)}};t.prototype.focusCell=function(t){this.clearCellFocus(false);if(t.row){var e=this.localRowEls[t.row];var i=e.querySelectorAll("td");var o=i[t.column-1];var r=o.querySelector(".cell-content-wrapper");var a=r.scrollWidth>r.clientWidth;e.classList.add("focused");o.classList.add("focused");o.scrollIntoView({block:"nearest"});this.inputEl.setAttribute("aria-activedescendant",o.id);this.dismissTooltip();if(a){u("bottom",o,o.innerText);this.tooltipVisible=true}}};t.prototype.clearTagFocus=function(){this.tagAreaEl.setAttribute("aria-activedescendant","");this.focusedTag=null};t.prototype.clearCellFocus=function(t){if(t===void 0){t=true}this.inputEl.setAttribute("aria-activedescendant","");if(t){this.tablePosition={row:0,column:1}}this.localRowEls.forEach((function(t){t.classList.remove("focused");t.querySelectorAll("td").forEach((function(t){t.classList.remove("focused")}))}))};t.prototype.openDropdown=function(){this.openUp=g(this.el,this.dropdownEl,this.el.clientHeight,-2);this.isExpanded=true};t.prototype.closeDropdown=function(){this.clearListItemFocus();this.isExpanded=false};t.prototype.clearListItemFocus=function(){this.focusedListItem=null;this.inputEl.setAttribute("aria-activedescendant","");this.listItemEls.forEach((function(t){t.classList.remove("focused")}))};t.prototype.resetInput=function(){this.charCount=0;this.inputEl.value=""};t.prototype.announce=function(t){if(this.liveRegionEl.textContent===t){t+=" "}this.liveRegionMessage=t};t.prototype.announceExistingOptions=function(){var t=this;window.requestAnimationFrame((function(){var e=0;if(t.tagInputType==="dropdown"){e=t.optionEls.length}else if(t.tagInputType==="table"){e=t.filteredRows.length}var i=l.formatMessage({id:"tagInput.existingOptions",defaultMessage:"{num, plural, one {1 existing option.} other {# existing options.}}"},{num:e});t.announce(i)}))};t.prototype.announceCharacterLimitWarning=function(t,e){var i=l.formatMessage({id:"global.charactersEntered",defaultMessage:"{x, number} of {y, number} characters entered.",description:"for screen readers"},{x:t,y:e});var o=l.formatMessage({id:"global.characterLimitReached",defaultMessage:"No additional characters will be entered.",description:"for screen readers"});this.announce("".concat(i).concat(t>=e?" "+o:""))};t.prototype.positionInput=function(){var t=this.tagEls[this.tagEls.length-1];this.inputEl.style.position="static";this.inputEl.style.width="100%";if(t){var e=this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right;if(e>=this.inputMinimumWidth){this.inputEl.style.position="absolute";this.inputEl.style.top=t.offsetTop.toString()+"px";this.inputEl.style.width=(this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right-8).toString()+"px"}}};t.prototype.listToCSV=function(t){return t.join(",")};t.prototype.includesCaseInsensitive=function(t,e){var i=t.map((function(t){return t.toLowerCase()}));return i.includes(e.toLowerCase())};t.prototype.filterCaseInsensitive=function(t,e){return t.filter((function(t){return t.toLowerCase()!==e.toLowerCase()}))};t.prototype.sortCaseInsensitive=function(t){return t.sort((function(t,e){t=t.toLowerCase();e=e.toLowerCase();return t>e?1:t<e?-1:0}))};t.prototype.renderTags=function(){var t=this;var e=[];var i=[];this.tagsList.forEach((function(o,a){var n="tag".concat(a+1);var s="";var l=false;if(t.tagInputType==="dropdown"){s=o}else if(t.tagInputType==="table"){var p=t.el.querySelector("#".concat(o));s=p?p.col1:"";l=p?p.locked:false}var d=l?e:i;d.push(r("li",{id:n,class:"tag highlight ".concat(t.focusedTag&&t.focusedTag.id===n?"focused":""," ").concat(l?"locked":""),"data-tag":o,role:"option"},s,l?r("div",{class:"icon lock"}):r("button",{class:"icon remove-btn",tabIndex:-1,onClick:function(){return t.handleRemoveButtonClick(o)}})))}));return __spreadArray(__spreadArray([],e,true),i,true)};t.prototype.renderDropdown=function(){var t=this;return r("div",{class:"dropdown-wrapper ".concat(this.isExpanded?"open":""," ").concat(this.openUp?"upwards":""),ref:function(e){return t.dropdownEl=e}},r("div",{id:"help-text",class:"help-text"},this.renderHelpText()),r("ul",{class:"dropdown",id:"dropdown",role:"listbox","aria-multiselectable":"true","aria-expanded":this.isExpanded?"true":false,"aria-label":this.label,tabindex:-1},this.inputEl&&this.renderAddNewButton(),this.renderListItems(this.optionsList)))};t.prototype.renderListItems=function(t){var e=this;t=this.sortCaseInsensitive(t);if(this.inputEl&&this.inputEl.value){t=this.optionsList.filter((function(t){return t.toLowerCase().includes(e.inputEl.value.toLowerCase())}))}return t.map((function(t,i){var o="option".concat(i+1);var a=e.focusedListItem&&e.focusedListItem.id===o;var n=e.includesCaseInsensitive(e.tagsList,t);return r("li",{class:"option ".concat(a?"focused":""),role:"option",id:o,"data-option":t,"aria-selected":n?"true":"false","aria-disabled":n?"true":"false",onKeyDown:function(t){return e.handleListItemKeyDown(t)},onBlur:function(t){return e.handleBlur(t,e.el)},onClick:function(t){return e.handleListItemClick(t.target)}},t)}))};t.prototype.renderAddNewButton=function(){var t=this;var e=this.inputEl.value.match(/\S/);var i=this.includesCaseInsensitive(this.optionsList,this.inputEl.value.trim());if(this.addNew&&e&&!i){var o="add-new-btn";var a=this.focusedListItem&&this.focusedListItem.id===o;return r("li",{role:"option",class:"add-new-btn ".concat(a?"focused":""),id:o,"data-option":this.inputEl.value,onKeyDown:function(e){return t.handleListItemKeyDown(e)},onBlur:function(e){return t.handleBlur(e,t.el)},onClick:function(e){return t.handleListItemClick(e.target)},tabIndex:a?0:-1},'Add "'.concat(this.inputEl.value.trim(),'"'))}else return""};t.prototype.renderHelpText=function(){var t=l.formatMessage({id:"tagInput.helpTextCanSelect",defaultMessage:"Search and select a tag.",description:"Placeholder text. Use imperative"});var e=l.formatMessage({id:"tagInput.helpTextEditable",defaultMessage:"Press the Enter or Comma key to add a new tag.",description:"Placeholder text. Use imperative"});var i="";if(this.optionsList.length>0){i+=t}if(this.addNew){i+=" "+e}return i};t.prototype.renderTagCounter=function(){if(this.maxTags){return r("div",{class:"lower-row"},r("div",{id:"max-tags"},this.generateTagCounterMessage(this.tagsList.length,this.maxTags),this.tagLimitReached&&" - ".concat(this.maxTagsReachedMessage)))}};t.prototype.renderTable=function(){var t=this;return r("div",{class:"table-wrapper",onScroll:function(){return t.dismissTooltip()}},r("table",{id:"table",role:"grid",class:"".concat(this.colWidths?"fixed-widths":""),"aria-label":this.label,"aria-multiselectable":"true"},this.renderTableHeaders(),this.filteredRows.length?this.renderTableRows():r("div",{class:"no-results"},this.noResultsMessage)))};t.prototype.renderTableHeaders=function(){var t=this;return r("tr",{class:"headers",role:"row"},d(this.colHeaders).map((function(e,i){var o="wrap";if(t.colWrap&&d(t.colWrap)[i]){o=d(t.colWrap)[i]}return r("th",{class:"header-cell ".concat(o),role:"columnheader",width:t.colWidths?d(t.colWidths)[i]:""},e)})))};t.prototype.renderTableRows=function(){var t=this;return this.filteredRows.map((function(e){var i=t.includesCaseInsensitive(t.tagsList,e.id);return r("tr",{id:e.id,class:"".concat(e.locked?"locked":""," ").concat(i?"selected":""),role:"row",onClick:function(){return t.handleTableRowClick(e.id)}},t.renderTableCells(e))}))};t.prototype.renderTableCells=function(t){var e=this;var i=[t.col1,t.col2,t.col3,t.col4].filter((function(t){return!!t}));var o=this.includesCaseInsensitive(this.tagsList,t.id);return i.map((function(i,a){var n="".concat(t.id,"-col").concat(a+1);var s="wrap";if(e.colWrap&&d(e.colWrap)[a]){s=d(e.colWrap)[a]}return r("td",{id:n,role:"gridcell","aria-describedby":"".concat(n,"-description"),"aria-selected":o.toString(),onMouseEnter:function(t){return e.handleCellMouseEnter(t)},onMouseLeave:function(){return e.dismissTooltip()}},r("div",{class:"cell-content-wrapper ".concat(s)},i),r("div",{class:"description",id:"".concat(n,"-description")},t.locked?"locked":""))}))};t.prototype.render=function(){var t=this;return r(a,{id:this.uid},r("div",{class:"wrapper label-".concat(this.labelPosition)},r("div",{class:"label-wrapper"},r("label",{class:"label",htmlFor:"input".concat(this.uid)},this.label)),r("div",{class:"field-wrapper ".concat(this.focusedElement?"focused":""),ref:function(e){return t.fieldWrapperEl=e}},r("div",{class:"upper-row"},r("div",{class:"tags-and-input-wrapper"},this.tagsList.length>0&&r("ul",{ref:function(e){return t.tagAreaEl=e},class:"tag-area",role:"listbox","aria-activedescendant":"","aria-orientation":"horizontal","aria-label":"".concat(this.label," ").concat(this.tagsList.length>0?this.tagAreaInstructions:""),tabindex:this.nonLockedTagsList.length>0?0:-1,"aria-describedby":"info max-tags",onFocus:function(){return t.handleTagAreaFocus()},onBlur:function(e){t.clearTagFocus();t.handleBlur(e,t.el)},onKeyDown:function(e){return t.handleTagAreaKeyDown(e)}},this.renderTags()),r("input",{id:"input".concat(this.uid),class:this.tagLimitReached?"hidden":"",role:"combobox",ref:function(e){return t.inputEl=e},autocomplete:"off","aria-controls":this.tagInputType,"aria-describedby":"help-text","aria-label":"".concat(this.label," ").concat(this.tagInputType==="dropdown"?this.generateCharacterLimitLabel(this.characterLimit):""),"aria-expanded":this.tagInputType==="dropdown"?this.isExpanded.toString():null,placeholder:this.placeholder,maxLength:this.tagInputType==="dropdown"?this.characterLimit:undefined,onInput:function(){return t.handleInputChanged(t.inputEl.value)},onBlur:function(e){t.handleBlur(e,t.el)},onFocus:function(){return t.handleInputFocus()},onKeyDown:function(e){return t.handleInputKeyDown(e)}})),this.tagInputType==="dropdown"&&r("div",{class:"character-count"},this.charCount,"/",this.characterLimit)),this.renderTagCounter(),this.tagInputType==="dropdown"&&this.renderDropdown()),this.info?r("div",{id:"info",class:"info-text"},this.info):"",r("div",{class:"sr-only","aria-live":"assertive",ref:function(e){return t.liveRegionEl=e},"aria-atomic":"true"},this.liveRegionMessage),this.tagInputType==="table"&&this.renderTable()))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{tagsList:["reflectSelectedTags"]}},enumerable:false,configurable:true});return t}());m.style=f}}}));
2
- //# sourceMappingURL=p-a3b9c87d.system.entry.js.map
1
+ var __spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||arguments.length===2)for(var o=0,r=e.length,a;o<r;o++){if(a||!(o in e)){if(!a)a=Array.prototype.slice.call(e,0,o);a[o]=e[o]}}return t.concat(a||Array.prototype.slice.call(e))};System.register(["./p-7b2fc615.system.js","./p-f08e6a5a.system.js"],(function(t){"use strict";var e,i,o,r,a,n,s,l,p,d,c,h,u,g;return{setters:[function(t){e=t.r;i=t.c;o=t.f;r=t.h;a=t.H;n=t.g},function(t){s=t.g;l=t.i;p=t.d;d=t.q;c=t.r;h=t.j;u=t.s;g=t.m}],execute:function(){var f=':host,wm-tag-input{font-family:inherit;width:100%;display:block}:host *,wm-tag-input *{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px}:host .wrapper,wm-tag-input .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;font-size:0.875rem}:host .wrapper .label,wm-tag-input .wrapper .label{display:block;line-height:normal;font-weight:600;white-space:nowrap;margin-bottom:0.25rem}:host .wrapper .label .required,wm-tag-input .wrapper .label .required{color:#c0392b}:host .wrapper.label-left,wm-tag-input .wrapper.label-left{-ms-flex-direction:row;flex-direction:row}:host .wrapper.label-left .label-wrapper,wm-tag-input .wrapper.label-left .label-wrapper{line-height:2.5rem}:host .wrapper.label-left .label-wrapper .label,wm-tag-input .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}:host .wrapper.label-none label,wm-tag-input .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}:host .wrapper.invalid .label,wm-tag-input .wrapper.invalid .label{color:#c0392b}:host .wrapper.invalid .label:after,wm-tag-input .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] :host .wrapper.invalid .label:after,[dir=RTL] wm-tag-input .wrapper.invalid .label:after{margin-left:0;margin-right:0.3125rem}:host .wrapper.rtl.label-left .label,wm-tag-input .wrapper.rtl.label-left .label{margin-right:0;margin-left:0.75rem}:host .wrapper,wm-tag-input .wrapper{width:100%;height:100%;position:relative}:host .field-wrapper,wm-tag-input .field-wrapper{position:relative;width:100%;border:1px solid #4a4a4a;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;border-radius:3px}:host .field-wrapper.focused,wm-tag-input .field-wrapper.focused{-webkit-box-shadow:0 0 0 1px #20cbd4;-moz-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;outline:none;border-color:#20cbd4}:host .character-count,wm-tag-input .character-count{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:5rem;background-color:rgba(74, 74, 74, 0.05);font-size:0.875rem;font-weight:500;-ms-flex-item-align:stretch;align-self:stretch}:host .tags-and-input-wrapper,wm-tag-input .tags-and-input-wrapper{position:relative;width:100%;padding:0.5rem 0.25rem 0.5rem 0;margin-bottom:-0.5rem}:host .upper-row,wm-tag-input .upper-row{width:100%;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-pack:justify;justify-content:space-between}:host .upper-row:before,wm-tag-input .upper-row:before{-ms-flex-item-align:start;align-self:flex-start;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:#b5b5b5;padding:0.75rem 0.5rem 0.75rem 0.75rem}:host .lower-row,wm-tag-input .lower-row{width:100%;min-height:1.875rem}:host #max-tags,wm-tag-input #max-tags{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:1.875rem;background-color:#e6e6e6;padding:0.5rem 1rem;color:#4a4a4a;font-size:0.875rem;border-top:1px solid rgba(35, 35, 35, 0.6);border-radius:0 0 3px 3px}:host .tag-area,wm-tag-input .tag-area{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0}:host .tag-area:focus,wm-tag-input .tag-area:focus{outline:none}:host .tag-area [role=option],wm-tag-input .tag-area [role=option]{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;height:1.75rem;list-style:none;color:#4a4a4a;background-color:rgba(3, 0, 0, 0.1);padding:0.5rem 0.625rem;margin-bottom:0.5rem;margin-right:0.25rem;margin-left:0.25rem;-webkit-transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);transition:background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);white-space:pre}:host .tag-area [role=option].highlight,wm-tag-input .tag-area [role=option].highlight{-webkit-animation:fadeIn 1s;animation:fadeIn 1s}@-webkit-keyframes fadeIn{0%{background-color:rgba(3, 0, 0, 0.1)}50%{background-color:#c8dfcc}100%{background-color:rgba(3, 0, 0, 0.1)}}@keyframes fadeIn{0%{background-color:rgba(3, 0, 0, 0.1)}50%{background-color:#c8dfcc}100%{background-color:rgba(3, 0, 0, 0.1)}}:host .tag-area [role=option].focused,wm-tag-input .tag-area [role=option].focused{background-color:#d1d1d1}:host .tag-area [role=option].locked,wm-tag-input .tag-area [role=option].locked{background-color:#6b6b6b;color:white}:host .tag-area [role=option] .icon,wm-tag-input .tag-area [role=option] .icon{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:1.25rem;width:1.25rem;padding:0;margin-left:0.5rem}:host .tag-area [role=option] .icon.remove-btn,wm-tag-input .tag-area [role=option] .icon.remove-btn{border:1px solid #575195;color:#575195;border-radius:50%;cursor:pointer;-webkit-transition:background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 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)}:host .tag-area [role=option] .icon.remove-btn:hover,wm-tag-input .tag-area [role=option] .icon.remove-btn:hover{color:white;background-color:#575195}:host .tag-area [role=option] .icon.remove-btn:before,wm-tag-input .tag-area [role=option] .icon.remove-btn: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:"\\f156"}:host .tag-area [role=option] .icon.lock,wm-tag-input .tag-area [role=option] .icon.lock{color:white}:host .tag-area [role=option] .icon.lock:before,wm-tag-input .tag-area [role=option] .icon.lock: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:"\\f341"}:host input,wm-tag-input input{font-family:inherit;border:none;height:1.75rem;padding:0;margin-bottom:0.5rem;margin-right:0.25rem;padding-left:0.5rem;right:0px}:host input.hidden,wm-tag-input input.hidden{display:none}:host input:focus,wm-tag-input input:focus{outline:none}:host .dropdown-wrapper,wm-tag-input .dropdown-wrapper{margin:0;padding:0;-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:calc(100% + 2px);right:0;background:#fff;z-index:100;width:100%;font-size:0.875rem}:host .dropdown-wrapper .dropdown,wm-tag-input .dropdown-wrapper .dropdown{-webkit-overflow-scrolling:touch;overflow:auto;max-height:12.5rem;margin:0;padding:0}:host .dropdown-wrapper.open,wm-tag-input .dropdown-wrapper.open{-ms-transform:scale(1, 1);-webkit-transform:scale(1, 1);-moz-transform:scale(1, 1);transform:scale(1, 1)}:host .dropdown-wrapper.upwards,wm-tag-input .dropdown-wrapper.upwards{top:unset;bottom:calc(100% + 2px);-ms-transform-origin:center bottom;-webkit-transform-origin:center bottom;-moz-transform-origin:center bottom;transform-origin:center bottom}:host .dropdown-wrapper li,:host .dropdown-wrapper div,wm-tag-input .dropdown-wrapper li,wm-tag-input .dropdown-wrapper div{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 1rem;background:#fff;list-style:none;height:2.6875rem;white-space:pre}:host .dropdown-wrapper li[role=option],:host .dropdown-wrapper li.add-new-btn,:host .dropdown-wrapper div[role=option],:host .dropdown-wrapper div.add-new-btn,wm-tag-input .dropdown-wrapper li[role=option],wm-tag-input .dropdown-wrapper li.add-new-btn,wm-tag-input .dropdown-wrapper div[role=option],wm-tag-input .dropdown-wrapper div.add-new-btn{cursor:pointer;color:#575195;font-weight:bold;width:100%;border:none}:host .dropdown-wrapper li[role=option][aria-selected=true],:host .dropdown-wrapper li.add-new-btn[aria-selected=true],:host .dropdown-wrapper div[role=option][aria-selected=true],:host .dropdown-wrapper div.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper li[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper li.add-new-btn[aria-selected=true],wm-tag-input .dropdown-wrapper div[role=option][aria-selected=true],wm-tag-input .dropdown-wrapper div.add-new-btn[aria-selected=true]{color:#6b6b6b;font-style:italic;font-weight:normal;cursor:unset}:host .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper li[role=option].focused,:host .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper li.add-new-btn.focused,:host .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),:host .dropdown-wrapper div[role=option].focused,:host .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),:host .dropdown-wrapper div.add-new-btn.focused,wm-tag-input .dropdown-wrapper li[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li[role=option].focused,wm-tag-input .dropdown-wrapper li.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper li.add-new-btn.focused,wm-tag-input .dropdown-wrapper div[role=option]:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div[role=option].focused,wm-tag-input .dropdown-wrapper div.add-new-btn:hover:not([aria-selected=true]),wm-tag-input .dropdown-wrapper div.add-new-btn.focused{outline:none;background:#f4f4f4}:host .dropdown-wrapper li.help-text,:host .dropdown-wrapper div.help-text,wm-tag-input .dropdown-wrapper li.help-text,wm-tag-input .dropdown-wrapper div.help-text{color:#4a4a4a;min-height:2.6875rem;padding-top:0.25rem;padding-bottom:0.25rem;white-space:normal}:host .dropdown-wrapper li:not(:last-child),:host .dropdown-wrapper div:not(:last-child),wm-tag-input .dropdown-wrapper li:not(:last-child),wm-tag-input .dropdown-wrapper div:not(:last-child){border-bottom:2px solid rgba(46, 27, 70, 0.05)}:host .info-text,wm-tag-input .info-text{font-style:italic;margin-top:0.25rem}:host .table-wrapper,wm-tag-input .table-wrapper{min-height:10rem;overflow:auto;margin-top:1.5rem}:host .table-wrapper #table,wm-tag-input .table-wrapper #table{width:100%;border-spacing:0px}:host .table-wrapper #table.fixed-widths,wm-tag-input .table-wrapper #table.fixed-widths{table-layout:fixed}:host .table-wrapper #table .headers,wm-tag-input .table-wrapper #table .headers{height:2.5rem;background-color:#eeedf4}:host .table-wrapper #table .headers th,wm-tag-input .table-wrapper #table .headers th{text-align:left;font-size:0.75rem;font-weight:700;text-transform:uppercase;padding:0 1.5rem}:host .table-wrapper tr:nth-child(even),wm-tag-input .table-wrapper tr:nth-child(even){background-color:#fafafa}:host .table-wrapper tr.selected,wm-tag-input .table-wrapper tr.selected{background-color:rgba(25, 161, 169, 0.2);-webkit-box-shadow:inset 0 0 0 1px #19a1a9;box-shadow:inset 0 0 0 1px #19a1a9;font-weight:500}:host .table-wrapper tr.focused:not(.locked),:host .table-wrapper tr:hover:not(.locked),wm-tag-input .table-wrapper tr.focused:not(.locked),wm-tag-input .table-wrapper tr:hover:not(.locked){background-color:#e9e7ec;-webkit-box-shadow:none;box-shadow:none}:host .table-wrapper tr.locked td,wm-tag-input .table-wrapper tr.locked td{cursor:auto}:host .table-wrapper tr.locked td:first-child .cell-content-wrapper:before,wm-tag-input .table-wrapper tr.locked td:first-child .cell-content-wrapper: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:"\\f33e";margin-right:0.5rem;color:#4a4a4a}:host .table-wrapper td,wm-tag-input .table-wrapper td{height:3.75rem;vertical-align:middle;padding:0 1.5rem;cursor:pointer}:host .table-wrapper td.focused,wm-tag-input .table-wrapper td.focused{-webkit-box-shadow:inset 0 2px 2px 0 rgba(244, 243, 246, 0.2), inset 0 2px 2px 0 rgba(0, 0, 0, 0.1), inset 0 0 4px 3px #61279e;box-shadow:inset 0 2px 2px 0 rgba(244, 243, 246, 0.2), inset 0 2px 2px 0 rgba(0, 0, 0, 0.1), inset 0 0 4px 3px #61279e}:host .table-wrapper td .cell-content-wrapper.trunc,wm-tag-input .table-wrapper td .cell-content-wrapper.trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .table-wrapper td .description,wm-tag-input .table-wrapper td .description{display:none}:host .no-results,wm-tag-input .no-results{padding:1.25rem 1.5rem}:host .sr-only,wm-tag-input .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 m=t("wm_tag_input",function(){function t(t){var r=this;e(this,t);this.wmTagInputChanged=i(this,"wmTagInputChanged",7);this.uid=this.el.id?this.el.id:s();this.openUp=false;this.tooltipVisible=false;this.tagAreaInstructions=l.formatMessage({id:"tagInput.tagAreaInstructions",defaultMessage:"tag selection. Press Backspace or Delete to remove a tag."});this.maxTagsReachedMessage=l.formatMessage({id:"tagInput.maxTagsReached",defaultMessage:"No more tags can be added because the limit has been reached."});this.debouncedUpdate=p((function(){return o(r.el)}),30);this.label=undefined;this.labelPosition="top";this.options="";this.selectedTags="";this.info=undefined;this.addNew=true;this.placeholder=undefined;this.characterLimit=50;this.maxTags=undefined;this.tagInputType="dropdown";this.colHeaders=undefined;this.colWidths=undefined;this.colWrap=undefined;this.focusedListItem=undefined;this.focusedTag=null;this.tablePosition={row:0,column:1};this.isExpanded=false;this.tagsList=d(this.selectedTags);this.optionsList=d(this.options);this.charCount=0;this.liveRegionMessage=""}Object.defineProperty(t.prototype,"focusedElement",{get:function(){return this.el.shadowRoot.activeElement},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"listItemEls",{get:function(){return Array.from(this.dropdownEl.querySelectorAll("li"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tagEls",{get:function(){return this.tagAreaEl?Array.from(this.tagAreaEl.querySelectorAll(".tag")):[]},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"nonLockedTagEls",{get:function(){return this.tagEls.filter((function(t){return!t.classList.contains("locked")}))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"optionEls",{get:function(){return Array.from(this.dropdownEl.querySelectorAll(".option"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"wmRowEls",{get:function(){return Array.from(this.el.querySelectorAll("wm-tag-input-row"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"localRowEls",{get:function(){return Array.from(this.el.shadowRoot.querySelectorAll("tr"))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"filteredRows",{get:function(){var t=this;return this.wmRowEls.filter((function(e){var i=[e.col1,e.col2,e.col3,e.col4].join("").toLowerCase();return t.inputEl&&t.inputEl.value?i.includes(t.inputEl.value.toLowerCase()):true}))},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"nonLockedTagsList",{get:function(){var t=this;var e=[];if(this.tagInputType==="table"){this.tagsList.forEach((function(i){var o=t.wmRowEls.filter((function(t){return i===t.id}))[0];if(!o.locked){e.push(i)}}))}else if(this.tagInputType==="dropdown"){e=this.tagsList}return e},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"tagLimitReached",{get:function(){return!!(this.maxTags&&this.tagsList.length>=this.maxTags)},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"noResultsMessage",{get:function(){return l.formatMessage({id:"tagInput.noResults",defaultMessage:"No results match your search.",description:"Message displayed when a user's search returns empty."})},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"inputMinimumWidth",{get:function(){var t=getComputedStyle(this.inputEl);var e=getComputedStyle(this.tagEls[this.tagEls.length-1]);var i=[t.paddingLeft,t.paddingRight,t.marginLeft,t.marginRight,e.marginRight].reduce((function(t,e){return t+parseInt(e.replace("px",""))}),0);var o=Math.max(150,c(this.inputEl,this.placeholder).width+i);return o},enumerable:false,configurable:true});t.prototype.generateTagAddedMessage=function(t){return l.formatMessage({id:"tagInput.tagAdded",defaultMessage:"{tagName} added.",description:"A confirmation for adding a tag."},{tagName:t})};t.prototype.generateTagAlreadyAddedMessage=function(t){return l.formatMessage({id:"tagInput.tagAlreadyAdded",defaultMessage:"{tagName} has already been added.",description:"An alert for adding a tag that is already present."},{tagName:t})};t.prototype.generateTagCounterMessage=function(t,e){return l.formatMessage({id:"tagInput.tagsAddedCounter",defaultMessage:"Tags added: {x, number}/{y, number}",description:"For the user to understand how close they are to the tag limit."},{x:t,y:e})};t.prototype.generateCharacterLimitLabel=function(t){return l.formatMessage({id:"global.characterLimit",defaultMessage:"{limit, number} characters allowed.",description:"for screen readers"},{limit:t})};t.prototype.componentWillLoad=function(){var t=this;if(!this.placeholder){this.placeholder=this.createPlaceholderDefault(this.addNew,!!this.options)}if(!this.label){console.error("wm-tag-input must have a label property")}this.consolidateSelectedTags();this.el.focus=function(){var e=t.nonLockedTagEls[0];if(e){t.tagAreaEl.focus();t.focusTag(e)}else{t.inputEl.focus()}};var e=new ResizeObserver((function(){return t.debouncedUpdate()}));e.observe(this.el)};t.prototype.componentDidLoad=function(){this.tagEls.forEach((function(t){return t.classList.remove("highlight")}))};t.prototype.componentDidRender=function(){this.positionInput()};t.prototype.consolidateSelectedTags=function(){var t=this;this.tagsList.forEach((function(e){if(!t.includesCaseInsensitive(t.optionsList,e)){t.options+="".concat(t.options.length>0?",":"").concat(e)}}));this.optionsList=d(this.options)};t.prototype.createPlaceholderDefault=function(t,e){var i=l.formatMessage({id:"tagInput.placeholderAddAndSearch",defaultMessage:"Add or search for a tag",description:"Placeholder text. Use imperative"});var o=l.formatMessage({id:"tagInput.placeholderSearch",defaultMessage:"Search and select a tag",description:"Placeholder text. Use imperative"});var r=l.formatMessage({id:"tagInput.placeholderAdd",defaultMessage:"Add a new tag",description:"Placeholder text. Use imperative"});var a="";if(t&&e){a=i}else if(!t&&e){a=o}else if(t){a=r}return a};t.prototype.reflectSelectedTags=function(t,e){var i=this;var o=t.length>e.length;var r="";var a=this.tagsList;if(o){r=t.filter((function(t){return!e.includes(t)}))[0]}else{r=e.filter((function(e){return!t.includes(e)}))[0]}if(this.tagInputType==="table"){r=this.wmRowEls.filter((function(t){return t.id===r}))[0];a=this.tagsList.map((function(t){return i.el.querySelector("#".concat(t))}))}this.selectedTags=this.listToCSV(this.tagsList);var n={value:a,tagChanged:r};this.wmTagInputChanged.emit(n)};t.prototype.handleRowUpdate=function(){o(this.el)};t.prototype.closeIfNotElOrChild=function(t){var e=t.target!==this.el&&!this.el.shadowRoot.contains(t.target);if(this.tagInputType==="dropdown"&&e&&this.isExpanded){this.closeDropdown()}};t.prototype.dismissTooltip=function(){if(this.tooltipVisible){h();this.tooltipVisible=false}};t.prototype.handleInputKeyDown=function(t){if(/^.$/.test(t.key)&&this.inputEl.value.length>=this.characterLimit){this.announceCharacterLimitWarning(this.inputEl.value.length,this.characterLimit)}t.stopPropagation();switch(t.key){case"Enter":case",":t.preventDefault();this.handleInputEnter();break;case"ArrowDown":t.preventDefault();this.handleInputArrowDown();break;case"ArrowUp":t.preventDefault();this.handleInputArrowUp();break;case"ArrowLeft":t.preventDefault();if(this.tagInputType==="table"&&this.tablePosition.row){this.moveLeftCell()}break;case"ArrowRight":t.preventDefault();if(this.tagInputType==="table"&&this.tablePosition.row){this.moveRightCell()}break;case"Escape":if(this.tagInputType==="dropdown"&&this.isExpanded){this.closeDropdown()}break;case"ArrowLeft":case"Backspace":this.handleInputBackspace();break}};t.prototype.handleInputFocus=function(){if(this.tagInputType==="dropdown"){this.openDropdown();this.clearListItemFocus()}o(this.el)};t.prototype.handleInputChanged=function(t){this.charCount=t.length;if(this.tagInputType==="dropdown"){this.clearListItemFocus();if(this.charCount>=this.characterLimit-5){this.announceCharacterLimitWarning(this.charCount,this.characterLimit)}if(!this.isExpanded){this.openDropdown()}}else if(this.tagInputType==="table"){this.clearCellFocus()}this.announceExistingOptions()};t.prototype.handleInputEnter=function(){if(this.tagInputType==="dropdown"){if(this.focusedListItem){this.handleListItemClick(this.focusedListItem)}else{this.submitInput(this.addNew,this.inputEl.value.trim())}}else if(this.tagInputType==="table"&&this.tablePosition.row>0){this.handleTableRowClick(this.localRowEls[this.tablePosition.row].id)}};t.prototype.submitInput=function(t,e){var i=e.match(/\S/);if(t&&i){this.addTag(e);this.optionsList=this.addOption(e);this.resetInput()}};t.prototype.handleInputArrowDown=function(){if(this.tagInputType==="table"){this.moveDownRow()}else if(this.tagInputType==="dropdown"&&this.isExpanded){this.moveDownListItem()}else if(this.tagInputType==="dropdown"){this.openDropdown()}};t.prototype.handleInputArrowUp=function(){if(this.tagInputType==="table"){this.moveUpRow()}else if(this.tagInputType==="dropdown"&&this.isExpanded){this.moveUpListItem()}else if(this.tagInputType==="dropdown"){this.openDropdown()}};t.prototype.handleInputBackspace=function(){var t=this;if(this.inputEl.value===""&&this.tagsList.length>0){window.requestAnimationFrame((function(){if(t.nonLockedTagsList.length>0){t.tagAreaEl.focus();t.focusTag(t.tagEls[t.tagEls.length-1])}}))}};t.prototype.handleListItemKeyDown=function(t){var e=t.target;switch(t.key){case"Enter":case" ":t.preventDefault();e.click();break;case"ArrowDown":t.preventDefault();this.moveDownListItem();break;case"ArrowUp":t.preventDefault();this.moveUpListItem();break;case"Escape":if(this.focusedElement!==this.inputEl){this.inputEl.focus()}else if(this.tagInputType==="dropdown"){this.closeDropdown()}break}};t.prototype.handleListItemClick=function(t){var e=t.dataset.option.trim()||"";if(this.includesCaseInsensitive(this.tagsList,e)){this.announce(this.generateTagAlreadyAddedMessage(e))}else{this.resetInput();this.addTag(e);this.optionsList=this.addOption(e);this.focusedListItem=null}};t.prototype.handleTableRowClick=function(t){var e=this.el.querySelector("#".concat(t));var i=e.locked;if(!i){if(this.includesCaseInsensitive(this.tagsList,t)){this.removeTag(t)}else if(!this.tagLimitReached){this.addTag(t);this.resetInput()}}};t.prototype.handleTagAreaKeyDown=function(t){switch(t.key){case"ArrowLeft":case"ArrowUp":t.preventDefault();this.moveLeftTag();break;case"ArrowRight":case"ArrowDown":t.preventDefault();this.moveRightTag();break;case"Backspace":case"Delete":this.handleTagAreaDelete();break}};t.prototype.handleTagAreaDelete=function(){var t=this.focusedTag&&this.focusedTag.classList.contains("locked");if(this.focusedTag&&this.focusedTag.dataset.tag&&!t){this.removeTag(this.focusedTag.dataset.tag);if(this.nonLockedTagsList.length===0){this.inputEl.focus()}else if(this.focusedTag===this.tagEls[this.tagEls.length-1]){this.focusedTag=this.tagEls[this.tagEls.length-2];this.focusTag(this.focusedTag)}}};t.prototype.handleBlur=function(t,e){var i=t.relatedTarget!==e&&!this.el.shadowRoot.contains(t.relatedTarget);this.dismissTooltip();this.clearCellFocus();if(i){this.fieldWrapperEl.classList.remove("focused");if(this.tagInputType==="dropdown"){this.closeDropdown()}}};t.prototype.handleCellMouseEnter=function(t){var e=t.target;var i=e.querySelector(".cell-content-wrapper");var o=i.scrollWidth>i.clientWidth;if(o){u("bottom",e,e.innerText);this.tooltipVisible=true}};t.prototype.handleTagAreaFocus=function(){if(this.tagInputType==="dropdown"){this.closeDropdown()}var t=this.nonLockedTagEls[0];t&&this.focusTag(t)};t.prototype.handleRemoveButtonClick=function(t){this.moveLeftTag();this.removeTag(t)};t.prototype.moveDownListItem=function(){if(this.listItemEls.length>0){var t=this.listItemEls[0];if(!this.focusedListItem){this.focusListItem(t)}else if(this.focusedListItem.nextElementSibling){this.focusListItem(this.focusedListItem.nextElementSibling)}else{this.focusListItem(t)}}};t.prototype.moveUpListItem=function(){if(this.listItemEls.length>0){var t=this.listItemEls[this.listItemEls.length-1];if(!this.focusedListItem){this.focusListItem(t)}else if(this.focusedListItem.previousElementSibling){this.focusListItem(this.focusedListItem.previousElementSibling)}else{this.clearListItemFocus()}}};t.prototype.moveDownRow=function(){if(this.filteredRows.length>0){if(this.tablePosition.row===0){this.tablePosition.row=1}else if(this.tablePosition.row===this.filteredRows.length){this.tablePosition.row=1}else{this.tablePosition.row++}var t=this.wmRowEls[this.tablePosition.row-1];if(t.locked){this.moveDownRow()}else{this.focusCell(this.tablePosition)}}};t.prototype.moveUpRow=function(){if(this.filteredRows.length>0){if(this.tablePosition.row===0){this.tablePosition.row=this.filteredRows.length}else if(this.tablePosition.row===1){this.tablePosition.row=0}else{this.tablePosition.row--}var t=this.wmRowEls[this.tablePosition.row-1];if(t&&t.locked){this.moveUpRow()}else if(t){this.focusCell(this.tablePosition)}else{this.clearCellFocus()}}};t.prototype.moveLeftCell=function(){if(this.tablePosition.column!=1){this.tablePosition.column--;this.focusCell(this.tablePosition)}};t.prototype.moveRightCell=function(){var t=d(this.colHeaders).length;if(this.tablePosition.column<t){this.tablePosition.column++;this.focusCell(this.tablePosition)}};t.prototype.moveLeftTag=function(){var t=this.tagEls[this.tagEls.length-1];if(this.focusedTag&&this.tagEls.includes(this.focusedTag.previousElementSibling)){this.focusedTag=this.focusedTag.previousElementSibling}else{this.focusedTag=t}if(this.focusedTag.classList.contains("locked")&&this.nonLockedTagEls.length>0){this.moveLeftTag()}else{this.focusTag(this.focusedTag)}};t.prototype.moveRightTag=function(){var t=this.tagEls[0];if(this.focusedTag&&this.tagEls.includes(this.focusedTag.nextElementSibling)){this.focusedTag=this.focusedTag.nextElementSibling}else{this.focusedTag=t}if(this.focusedTag.classList.contains("locked")){this.moveRightTag()}else{this.focusTag(this.focusedTag)}};t.prototype.addOption=function(t){var e=this.optionsList;var i=this.includesCaseInsensitive(this.optionsList,t);if(!i){e=e.concat(t)}return e};t.prototype.removeOption=function(t){this.optionsList=this.filterCaseInsensitive(this.optionsList,t)};t.prototype.addTag=function(t){var e=this.tagsList;var i=this.includesCaseInsensitive(this.tagsList,t);var o=this.optionsList.filter((function(e){return e.toLowerCase()===t.toLowerCase()}))[0];if(!i){var r=t;if(this.tagInputType==="table"){var a=this.el.querySelector("#".concat(t));r=a.col1}this.announce(this.generateTagAddedMessage(r));this.tagsList=e.concat(o||t);if(this.tagLimitReached){this.tagAreaEl.focus()}}};t.prototype.removeTag=function(t){var e=t;if(this.tagInputType==="table"){var i=this.el.querySelector("#".concat(t));e=i.col1}var o=l.formatMessage({id:"tagInput.tagRemoved",defaultMessage:"{tag} removed"},{tag:e});this.announce(o);this.tagsList=this.filterCaseInsensitive(this.tagsList,t);if(this.tagInputType==="dropdown"){var r=d(this.options);if(this.includesCaseInsensitive(this.optionsList,t)&&!this.includesCaseInsensitive(r,t)){this.removeOption(t)}}};t.prototype.focusListItem=function(t){this.focusedListItem=t;this.inputEl.setAttribute("aria-activedescendant",this.focusedListItem.id);t.scrollIntoView({block:"nearest"})};t.prototype.focusTag=function(t){if(t.classList.contains("locked")){this.focusedTag=null;this.tagAreaEl.setAttribute("aria-activedescendant","")}else{this.focusedTag=t;this.tagAreaEl.setAttribute("aria-activedescendant",this.focusedTag.id)}};t.prototype.focusCell=function(t){this.clearCellFocus(false);if(t.row){var e=this.localRowEls[t.row];var i=e.querySelectorAll("td");var o=i[t.column-1];var r=o.querySelector(".cell-content-wrapper");var a=r.scrollWidth>r.clientWidth;e.classList.add("focused");o.classList.add("focused");o.scrollIntoView({block:"nearest"});this.inputEl.setAttribute("aria-activedescendant",o.id);this.dismissTooltip();if(a){u("bottom",o,o.innerText);this.tooltipVisible=true}}};t.prototype.clearTagFocus=function(){this.tagAreaEl.setAttribute("aria-activedescendant","");this.focusedTag=null};t.prototype.clearCellFocus=function(t){if(t===void 0){t=true}this.inputEl.setAttribute("aria-activedescendant","");if(t){this.tablePosition={row:0,column:1}}this.localRowEls.forEach((function(t){t.classList.remove("focused");t.querySelectorAll("td").forEach((function(t){t.classList.remove("focused")}))}))};t.prototype.openDropdown=function(){this.openUp=g(this.el,this.dropdownEl,this.el.clientHeight,-2);this.isExpanded=true};t.prototype.closeDropdown=function(){this.clearListItemFocus();this.isExpanded=false};t.prototype.clearListItemFocus=function(){this.focusedListItem=null;this.inputEl.setAttribute("aria-activedescendant","");this.listItemEls.forEach((function(t){t.classList.remove("focused")}))};t.prototype.resetInput=function(){this.charCount=0;this.inputEl.value=""};t.prototype.announce=function(t){if(this.liveRegionEl.textContent===t){t+=" "}this.liveRegionMessage=t};t.prototype.announceExistingOptions=function(){var t=this;window.requestAnimationFrame((function(){var e=0;if(t.tagInputType==="dropdown"){e=t.optionEls.length}else if(t.tagInputType==="table"){e=t.filteredRows.length}var i=l.formatMessage({id:"tagInput.existingOptions",defaultMessage:"{num, plural, one {1 existing option.} other {# existing options.}}"},{num:e});t.announce(i)}))};t.prototype.announceCharacterLimitWarning=function(t,e){var i=l.formatMessage({id:"global.charactersEntered",defaultMessage:"{x, number} of {y, number} characters entered.",description:"for screen readers"},{x:t,y:e});var o=l.formatMessage({id:"global.characterLimitReached",defaultMessage:"No additional characters will be entered.",description:"for screen readers"});this.announce("".concat(i).concat(t>=e?" "+o:""))};t.prototype.positionInput=function(){var t=this.tagEls[this.tagEls.length-1];this.inputEl.style.position="static";this.inputEl.style.width="100%";if(t){var e=this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right;if(e>=this.inputMinimumWidth){this.inputEl.style.position="absolute";this.inputEl.style.top=t.offsetTop.toString()+"px";this.inputEl.style.width=(this.tagAreaEl.getBoundingClientRect().right-t.getBoundingClientRect().right-8).toString()+"px"}}};t.prototype.listToCSV=function(t){return t.join(",")};t.prototype.includesCaseInsensitive=function(t,e){var i=t.map((function(t){return t.toLowerCase()}));return i.includes(e.toLowerCase())};t.prototype.filterCaseInsensitive=function(t,e){return t.filter((function(t){return t.toLowerCase()!==e.toLowerCase()}))};t.prototype.sortCaseInsensitive=function(t){return t.sort((function(t,e){t=t.toLowerCase();e=e.toLowerCase();return t>e?1:t<e?-1:0}))};t.prototype.renderTags=function(){var t=this;var e=[];var i=[];this.tagsList.forEach((function(o,a){var n="tag".concat(a+1);var s="";var l=false;if(t.tagInputType==="dropdown"){s=o}else if(t.tagInputType==="table"){var p=t.el.querySelector("#".concat(o));s=p?p.col1:"";l=p?p.locked:false}var d=l?e:i;d.push(r("li",{id:n,class:"tag highlight ".concat(t.focusedTag&&t.focusedTag.id===n?"focused":""," ").concat(l?"locked":""),"data-tag":o,role:"option"},s,l?r("div",{class:"icon lock"}):r("button",{class:"icon remove-btn",tabIndex:-1,onClick:function(){return t.handleRemoveButtonClick(o)}})))}));return __spreadArray(__spreadArray([],e,true),i,true)};t.prototype.renderDropdown=function(){var t=this;return r("div",{class:"dropdown-wrapper ".concat(this.isExpanded?"open":""," ").concat(this.openUp?"upwards":""),ref:function(e){return t.dropdownEl=e}},r("div",{id:"help-text",class:"help-text"},this.renderHelpText()),r("ul",{class:"dropdown",id:"dropdown",role:"listbox","aria-multiselectable":"true","aria-expanded":this.isExpanded?"true":false,"aria-label":this.label,tabindex:-1},this.inputEl&&this.renderAddNewButton(),this.renderListItems(this.optionsList)))};t.prototype.renderListItems=function(t){var e=this;t=this.sortCaseInsensitive(t);if(this.inputEl&&this.inputEl.value){t=this.optionsList.filter((function(t){return t.toLowerCase().includes(e.inputEl.value.toLowerCase())}))}return t.map((function(t,i){var o="option".concat(i+1);var a=e.focusedListItem&&e.focusedListItem.id===o;var n=e.includesCaseInsensitive(e.tagsList,t);return r("li",{class:"option ".concat(a?"focused":""),role:"option",id:o,"data-option":t,"aria-selected":n?"true":"false","aria-disabled":n?"true":"false",onKeyDown:function(t){return e.handleListItemKeyDown(t)},onBlur:function(t){return e.handleBlur(t,e.el)},onClick:function(t){return e.handleListItemClick(t.target)}},t)}))};t.prototype.renderAddNewButton=function(){var t=this;var e=this.inputEl.value.match(/\S/);var i=this.includesCaseInsensitive(this.optionsList,this.inputEl.value.trim());if(this.addNew&&e&&!i){var o="add-new-btn";var a=this.focusedListItem&&this.focusedListItem.id===o;return r("li",{role:"option",class:"add-new-btn ".concat(a?"focused":""),id:o,"data-option":this.inputEl.value,onKeyDown:function(e){return t.handleListItemKeyDown(e)},onBlur:function(e){return t.handleBlur(e,t.el)},onClick:function(e){return t.handleListItemClick(e.target)},tabIndex:a?0:-1},'Add "'.concat(this.inputEl.value.trim(),'"'))}else return""};t.prototype.renderHelpText=function(){var t=l.formatMessage({id:"tagInput.helpTextCanSelect",defaultMessage:"Search and select a tag.",description:"Placeholder text. Use imperative"});var e=l.formatMessage({id:"tagInput.helpTextEditable",defaultMessage:"Press the Enter or Comma key to add a new tag.",description:"Placeholder text. Use imperative"});var i="";if(this.optionsList.length>0){i+=t}if(this.addNew){i+=" "+e}return i};t.prototype.renderTagCounter=function(){if(this.maxTags){return r("div",{class:"lower-row"},r("div",{id:"max-tags"},this.generateTagCounterMessage(this.tagsList.length,this.maxTags),this.tagLimitReached&&" - ".concat(this.maxTagsReachedMessage)))}};t.prototype.renderTable=function(){var t=this;return r("div",{class:"table-wrapper",onScroll:function(){return t.dismissTooltip()}},r("table",{id:"table",role:"grid",class:"".concat(this.colWidths?"fixed-widths":""),"aria-label":this.label,"aria-multiselectable":"true"},this.renderTableHeaders(),this.filteredRows.length?this.renderTableRows():r("div",{class:"no-results"},this.noResultsMessage)))};t.prototype.renderTableHeaders=function(){var t=this;return r("tr",{class:"headers",role:"row"},d(this.colHeaders).map((function(e,i){var o="wrap";if(t.colWrap&&d(t.colWrap)[i]){o=d(t.colWrap)[i]}return r("th",{class:"header-cell ".concat(o),role:"columnheader",width:t.colWidths?d(t.colWidths)[i]:""},e)})))};t.prototype.renderTableRows=function(){var t=this;return this.filteredRows.map((function(e){var i=t.includesCaseInsensitive(t.tagsList,e.id);return r("tr",{id:e.id,class:"".concat(e.locked?"locked":""," ").concat(i?"selected":""),role:"row",onClick:function(){return t.handleTableRowClick(e.id)}},t.renderTableCells(e))}))};t.prototype.renderTableCells=function(t){var e=this;var i=[t.col1,t.col2,t.col3,t.col4].filter((function(t){return!!t}));var o=this.includesCaseInsensitive(this.tagsList,t.id);return i.map((function(i,a){var n="".concat(t.id,"-col").concat(a+1);var s="wrap";if(e.colWrap&&d(e.colWrap)[a]){s=d(e.colWrap)[a]}return r("td",{id:n,role:"gridcell","aria-describedby":"".concat(n,"-description"),"aria-selected":o.toString(),onMouseEnter:function(t){return e.handleCellMouseEnter(t)},onMouseLeave:function(){return e.dismissTooltip()}},r("div",{class:"cell-content-wrapper ".concat(s)},i),r("div",{class:"description",id:"".concat(n,"-description")},t.locked?"locked":""))}))};t.prototype.render=function(){var t=this;return r(a,{id:this.uid},r("div",{class:"wrapper label-".concat(this.labelPosition)},r("div",{class:"label-wrapper"},r("label",{class:"label",htmlFor:"input".concat(this.uid)},this.label)),r("div",{class:"field-wrapper ".concat(this.focusedElement?"focused":""),ref:function(e){return t.fieldWrapperEl=e}},r("div",{class:"upper-row"},r("div",{class:"tags-and-input-wrapper"},this.tagsList.length>0&&r("ul",{ref:function(e){return t.tagAreaEl=e},class:"tag-area",role:"listbox","aria-activedescendant":"","aria-orientation":"horizontal","aria-label":"".concat(this.label," ").concat(this.tagsList.length>0?this.tagAreaInstructions:""),tabindex:this.nonLockedTagsList.length>0?0:-1,"aria-describedby":"info max-tags",onFocus:function(){return t.handleTagAreaFocus()},onBlur:function(e){t.clearTagFocus();t.handleBlur(e,t.el)},onKeyDown:function(e){return t.handleTagAreaKeyDown(e)}},this.renderTags()),r("input",{id:"input".concat(this.uid),class:this.tagLimitReached?"hidden":"",role:"combobox",ref:function(e){return t.inputEl=e},autocomplete:"off","aria-controls":this.tagInputType,"aria-describedby":"help-text","aria-label":"".concat(this.label," ").concat(this.tagInputType==="dropdown"?this.generateCharacterLimitLabel(this.characterLimit):""),"aria-expanded":this.tagInputType==="dropdown"?this.isExpanded.toString():null,placeholder:this.placeholder,maxLength:this.tagInputType==="dropdown"?this.characterLimit:undefined,onInput:function(){return t.handleInputChanged(t.inputEl.value)},onBlur:function(e){t.handleBlur(e,t.el)},onFocus:function(){return t.handleInputFocus()},onKeyDown:function(e){return t.handleInputKeyDown(e)}})),this.tagInputType==="dropdown"&&r("div",{class:"character-count"},this.charCount,"/",this.characterLimit)),this.renderTagCounter(),this.tagInputType==="dropdown"&&this.renderDropdown()),this.info?r("div",{id:"info",class:"info-text"},this.info):"",r("div",{class:"sr-only","aria-live":"assertive",ref:function(e){return t.liveRegionEl=e},"aria-atomic":"true"},this.liveRegionMessage),this.tagInputType==="table"&&this.renderTable()))};Object.defineProperty(t,"delegatesFocus",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"el",{get:function(){return n(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{tagsList:["reflectSelectedTags"]}},enumerable:false,configurable:true});return t}());m.style=f}}}));
2
+ //# sourceMappingURL=p-52655351.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wmTagInputCss","TagInput","exports","this","uid","el","id","generateId","openUp","tooltipVisible","tagAreaInstructions","intl","formatMessage","defaultMessage","maxTagsReachedMessage","debouncedUpdate","debounce","forceUpdate","_this","row","column","csvToArray","selectedTags","options","Object","defineProperty","class_1","prototype","shadowRoot","activeElement","Array","from","dropdownEl","querySelectorAll","tagAreaEl","tagEls","filter","tag","classList","contains","wmRowEls","colValues","col1","col2","col3","col4","join","toLowerCase","inputEl","value","includes","list","tagInputType","tagsList","forEach","correspondingRowEl","locked","push","maxTags","length","description","inputElStyles","getComputedStyle","tagElStyles","inputElBuffer","paddingLeft","paddingRight","marginLeft","marginRight","reduce","prev","curr","parseInt","replace","minimumWidth","Math","max","measureText","placeholder","width","generateTagAddedMessage","tagName","generateTagAlreadyAddedMessage","generateTagCounterMessage","x","y","generateCharacterLimitLabel","characterLimit","limit","componentWillLoad","createPlaceholderDefault","addNew","label","console","error","consolidateSelectedTags","focus","firstFocusableTag","nonLockedTagEls","focusTag","resizeObserver","ResizeObserver","observe","componentDidLoad","remove","componentDidRender","positionInput","includesCaseInsensitive","optionsList","concat","hasOptions","addAndSearchPlaceholder","searchPlaceholder","addPlaceholder","reflectSelectedTags","newValue","oldValue","isAddition","changedTag","val","map","querySelector","listToCSV","detail","tagChanged","wmTagInputChanged","emit","handleRowUpdate","closeIfNotElOrChild","ev","isntElOrChild","target","isExpanded","closeDropdown","dismissTooltip","hideTooltip","handleInputKeyDown","test","key","announceCharacterLimitWarning","stopPropagation","preventDefault","handleInputEnter","handleInputArrowDown","handleInputArrowUp","tablePosition","moveLeftCell","moveRightCell","handleInputBackspace","handleInputFocus","openDropdown","clearListItemFocus","handleInputChanged","charCount","clearCellFocus","announceExistingOptions","focusedListItem","handleListItemClick","submitInput","trim","handleTableRowClick","localRowEls","canAddNew","hasNonWhiteSpaceCharacters","match","addTag","addOption","resetInput","moveDownRow","moveDownListItem","moveUpRow","moveUpListItem","window","requestAnimationFrame","nonLockedTagsList","handleListItemKeyDown","typedEvTarget","click","focusedElement","item","dataset","option","announce","rowId","referencedRow","isLocked","removeTag","tagLimitReached","handleTagAreaKeyDown","moveLeftTag","moveRightTag","handleTagAreaDelete","focusedTag","handleBlur","component","relatedTarget","fieldWrapperEl","handleCellMouseEnter","cell","contentWrapper","isTruncated","scrollWidth","clientWidth","showTooltip","innerText","handleTagAreaFocus","handleRemoveButtonClick","listItemEls","firstListItem","focusListItem","nextElementSibling","lastListItem","previousElementSibling","filteredRows","rowToFocus","focusCell","numCols","colHeaders","lastTag","firstTag","newOptionsList","optionAlreadyExists","removeOption","filterCaseInsensitive","newTagsList","tagAlreadyAdded","tagExistsAsOption","textToAnnounce","tagRemovedMessage","devOptionsList","setAttribute","scrollIntoView","block","element","position","rowCells","cellToFocus","add","clearTagFocus","resetPosition","shouldOpenUp","clientHeight","message","liveRegionEl","textContent","liveRegionMessage","numResults","optionEls","existingOptionsMessage","num","charLimit","charactersEnteredMessage","characterLimitReachedMessage","style","spaceAvailable","getBoundingClientRect","right","inputMinimumWidth","top","offsetTop","toString","lowercaseList","str","sortCaseInsensitive","sort","a","b","renderTags","lockedTags","unlockedTags","idx","tagText","targetList","h","class","role","tabIndex","onClick","__spreadArray","renderDropdown","ref","renderHelpText","tabindex","renderAddNewButton","renderListItems","isFocused","isSelected","onKeyDown","onBlur","helpTextHasOptions","helpTextEditable","helpText","renderTagCounter","renderTable","onScroll","colWidths","renderTableHeaders","renderTableRows","noResultsMessage","header","overflowRule","colWrap","renderTableCells","localId","onMouseEnter","onMouseLeave","render","Host","labelPosition","htmlFor","onFocus","autocomplete","maxLength","undefined","onInput","info"],"sources":["src/components/wm-tag-input/wm-tag-input.scss?tag=wm-tag-input&encapsulation=shadow","src/components/wm-tag-input/wm-tag-input.tsx"],"sourcesContent":[":host,\r\nwm-tag-input {\r\n font-family: inherit;\r\n width: 100%;\r\n display: block;\r\n\r\n * {\r\n box-sizing: border-box;\r\n font-size: 14px;\r\n }\r\n\r\n @include label;\r\n\r\n .wrapper {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n }\r\n\r\n .field-wrapper {\r\n position: relative;\r\n width: 100%;\r\n border: 1px solid $input-border-color;\r\n @include border-radius(3px);\r\n\r\n &.focused {\r\n @include field-focus;\r\n }\r\n }\r\n\r\n .character-count {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: rem-calc(80);\r\n background-color: rgba(74, 74, 74, 0.05);\r\n font-size: rem-calc(14);\r\n font-weight: 500;\r\n align-self: stretch;\r\n }\r\n\r\n .tags-and-input-wrapper {\r\n position: relative;\r\n width: 100%;\r\n padding: rem-calc(8) rem-calc(4) rem-calc(8) 0;\r\n margin-bottom: rem-calc(-8);\r\n }\r\n\r\n .upper-row {\r\n width: 100%;\r\n display: flex;\r\n flex: 1;\r\n justify-content: space-between;\r\n &:before {\r\n align-self: flex-start;\r\n @include mdi-icon;\r\n content: \"\\f349\"; // magnifying glass\r\n color: $tag-input-search-icon-color;\r\n padding: rem-calc(12) rem-calc(8) rem-calc(12) rem-calc(12);\r\n }\r\n }\r\n\r\n .lower-row {\r\n width: 100%;\r\n min-height: rem-calc(30);\r\n }\r\n\r\n #max-tags {\r\n display: flex;\r\n align-items: center;\r\n min-height: rem-calc(30);\r\n background-color: $tag-input-max-tags-bg;\r\n padding: rem-calc(8) rem-calc(16);\r\n color: $tag-input-max-tags-color;\r\n font-size: rem-calc(14);\r\n border-top: 1px solid $tag-input-max-tags-border;\r\n border-radius: 0 0 3px 3px;\r\n }\r\n\r\n .tag-area {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0;\r\n padding: 0;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n [role=\"option\"] {\r\n display: inline-flex;\r\n align-items: center;\r\n height: rem-calc(28);\r\n list-style: none;\r\n color: $charcoal;\r\n background-color: rgba(3, 0, 0, 0.1);\r\n padding: rem-calc(8) rem-calc(10);\r\n margin-bottom: rem-calc(8);\r\n margin-right: rem-calc(4);\r\n margin-left: rem-calc(4);\r\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n white-space: pre;\r\n\r\n &.highlight {\r\n animation: fadeIn 1s;\r\n @keyframes fadeIn {\r\n 0% {\r\n background-color: rgba(3, 0, 0, 0.1);\r\n }\r\n 50% {\r\n background-color: #c8dfcc;\r\n }\r\n\r\n 100% {\r\n background-color: rgba(3, 0, 0, 0.1);\r\n }\r\n }\r\n }\r\n\r\n &.focused {\r\n background-color: #d1d1d1;\r\n }\r\n\r\n &.locked {\r\n background-color: $tag-input-locked-tag-bg;\r\n color: white;\r\n }\r\n\r\n .icon {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: rem-calc(20);\r\n width: rem-calc(20);\r\n padding: 0;\r\n margin-left: rem-calc(8);\r\n &.remove-btn {\r\n border: 1px solid $periwinkle;\r\n color: $periwinkle;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n transition: background-color 500ms cubic-bezier(0.4, 0, 0.2, 1), color 500ms cubic-bezier(0.4, 0, 0.2, 1);\r\n\r\n &:hover {\r\n color: white;\r\n background-color: $periwinkle;\r\n }\r\n\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f156\";\r\n }\r\n }\r\n\r\n &.lock {\r\n color: white;\r\n &:before {\r\n @include mdi-icon;\r\n content: \"\\f341\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n input {\r\n font-family: inherit;\r\n border: none;\r\n height: rem-calc(28);\r\n padding: 0;\r\n margin-bottom: rem-calc(8);\r\n margin-right: rem-calc(4);\r\n padding-left: rem-calc(8);\r\n right: 0px;\r\n\r\n &.hidden {\r\n display: none;\r\n }\r\n &:focus {\r\n outline: none;\r\n }\r\n }\r\n\r\n .dropdown-wrapper {\r\n margin: 0;\r\n padding: 0;\r\n @include box-shadow(0 4px 15px 0 rgba(0, 0, 0, 0.2));\r\n @include transition(transform 0.25s ease);\r\n @include scale($xVal: 1, $yVal: 0);\r\n @include transformOrigin(center top);\r\n @include border-radius(3px);\r\n position: absolute;\r\n top: calc(100% + 2px);\r\n right: 0;\r\n background: #fff;\r\n z-index: 100;\r\n width: 100%;\r\n font-size: rem-calc(14);\r\n\r\n .dropdown {\r\n -webkit-overflow-scrolling: touch;\r\n overflow: auto;\r\n max-height: rem-calc(200);\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n &.open {\r\n @include scale($xVal: 1, $yVal: 1);\r\n }\r\n\r\n &.upwards {\r\n top: unset;\r\n bottom: calc(100% + 2px);\r\n @include transformOrigin(center bottom);\r\n }\r\n\r\n li,\r\n div {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 rem-calc(16);\r\n background: #fff;\r\n list-style: none;\r\n height: rem-calc(43);\r\n white-space: pre;\r\n\r\n &[role=\"option\"],\r\n &.add-new-btn {\r\n cursor: pointer;\r\n color: $periwinkle;\r\n font-weight: bold;\r\n width: 100%;\r\n border: none;\r\n\r\n &[aria-selected=\"true\"] {\r\n color: $gray;\r\n font-style: italic;\r\n font-weight: normal;\r\n cursor: unset;\r\n }\r\n &:hover:not([aria-selected=\"true\"]),\r\n &.focused {\r\n outline: none;\r\n background: $background;\r\n }\r\n }\r\n\r\n &.help-text {\r\n color: $charcoal;\r\n min-height: rem-calc(43);\r\n padding-top: rem-calc(4);\r\n padding-bottom: rem-calc(4);\r\n white-space: normal;\r\n }\r\n\r\n &:not(:last-child) {\r\n border-bottom: 2px solid rgba(#2e1b46, 0.05);\r\n }\r\n }\r\n }\r\n\r\n .info-text {\r\n font-style: italic;\r\n margin-top: rem-calc(4);\r\n }\r\n\r\n .table-wrapper {\r\n min-height: rem-calc(160);\r\n overflow: auto;\r\n margin-top: rem-calc(24);\r\n\r\n #table {\r\n width: 100%;\r\n border-spacing: 0px;\r\n &.fixed-widths {\r\n table-layout: fixed;\r\n }\r\n\r\n .headers {\r\n height: rem-calc(40);\r\n background-color: #eeedf4;\r\n th {\r\n text-align: left;\r\n font-size: rem-calc(12);\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n padding: 0 rem-calc(24);\r\n }\r\n }\r\n }\r\n\r\n tr {\r\n // the following colors are in a css-specificity order, do not move\r\n &:nth-child(even) {\r\n background-color: $tag-input-row-zebra-bg;\r\n }\r\n\r\n &.selected {\r\n background-color: $tag-input-row-selected-bg;\r\n // box-shadow to add border without affecting surrounding cell borders\r\n box-shadow: inset 0 0 0 1px $tag-input-row-selected-border;\r\n font-weight: 500;\r\n }\r\n\r\n &.focused:not(.locked),\r\n &:hover:not(.locked) {\r\n background-color: $tag-input-row-focused;\r\n box-shadow: none;\r\n }\r\n\r\n &.locked {\r\n td {\r\n cursor: auto;\r\n }\r\n\r\n td:first-child {\r\n .cell-content-wrapper:before {\r\n @include mdi-icon;\r\n content: \"\\f33e\";\r\n margin-right: rem-calc(8);\r\n color: $tag-input-row-lock-color;\r\n }\r\n }\r\n }\r\n }\r\n\r\n td {\r\n height: rem-calc(60);\r\n vertical-align: middle;\r\n padding: 0 rem-calc(24);\r\n cursor: pointer;\r\n &.focused {\r\n // from wm-navigation\r\n box-shadow: inset 0 2px 2px 0 rgb(244 243 246 / 20%), inset 0 2px 2px 0 rgb(0 0 0 / 10%),\r\n inset 0 0 4px 3px #61279e;\r\n }\r\n .cell-content-wrapper.trunc {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .description {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n .no-results {\r\n padding: rem-calc(20) rem-calc(24);\r\n }\r\n\r\n .sr-only {\r\n @include srOnly;\r\n }\r\n}\r\n","import {\r\n h,\r\n Component,\r\n Host,\r\n Element,\r\n Prop,\r\n Listen,\r\n State,\r\n Event,\r\n EventEmitter,\r\n Watch,\r\n forceUpdate,\r\n} from \"@stencil/core\";\r\nimport {\r\n csvToArray,\r\n debounce,\r\n generateId,\r\n hideTooltip,\r\n intl,\r\n measureText,\r\n shouldOpenUp,\r\n showTooltip,\r\n} from \"../../global/functions\";\r\n\r\ninterface TablePosition {\r\n row: number;\r\n column: number;\r\n}\r\n\r\n@Component({\r\n tag: \"wm-tag-input\",\r\n styleUrl: \"wm-tag-input.scss\",\r\n shadow: { delegatesFocus: true },\r\n})\r\nexport class TagInput {\r\n @Element() el!: HTMLWmTagInputElement;\r\n private inputEl!: HTMLInputElement;\r\n private dropdownEl!: HTMLDivElement;\r\n private tagAreaEl!: HTMLUListElement;\r\n private liveRegionEl!: HTMLDivElement;\r\n private fieldWrapperEl!: HTMLDivElement;\r\n\r\n @Prop() label!: string;\r\n @Prop() labelPosition: \"top\" | \"left\" | \"none\" = \"top\";\r\n @Prop({ mutable: true }) options: string = \"\"; // csv\r\n @Prop({ reflect: true, mutable: true }) selectedTags: string = \"\"; // csv\r\n @Prop() info?: string;\r\n @Prop() addNew: boolean = true;\r\n @Prop({ mutable: true }) placeholder?: string;\r\n @Prop() characterLimit: number = 50;\r\n @Prop() maxTags?: number;\r\n @Prop() tagInputType: \"dropdown\" | \"table\" = \"dropdown\";\r\n @Prop() colHeaders!: string;\r\n @Prop() colWidths?: string;\r\n @Prop() colWrap?: string;\r\n @Event() wmTagInputChanged!: EventEmitter<{\r\n value: string[] | HTMLWmTagInputRowElement[];\r\n tagChanged: string | HTMLWmTagInputRowElement;\r\n }>;\r\n\r\n private uid: string = this.el.id ? this.el.id : generateId();\r\n private openUp: boolean = false;\r\n private tooltipVisible: boolean = false;\r\n @State() focusedListItem!: HTMLLIElement | null;\r\n @State() focusedTag: HTMLLIElement | null = null;\r\n @State() tablePosition: TablePosition = { row: 0, column: 1 };\r\n @State() isExpanded: boolean = false;\r\n @State() tagsList: string[] = csvToArray(this.selectedTags);\r\n @State() optionsList: string[] = csvToArray(this.options);\r\n @State() charCount: number = 0;\r\n @State() liveRegionMessage = \"\";\r\n private tagAreaInstructions = intl.formatMessage({\r\n id: \"tagInput.tagAreaInstructions\",\r\n defaultMessage: \"tag selection. Press Backspace or Delete to remove a tag.\",\r\n });\r\n private maxTagsReachedMessage = intl.formatMessage({\r\n id: \"tagInput.maxTagsReached\",\r\n defaultMessage: \"No more tags can be added because the limit has been reached.\",\r\n });\r\n\r\n get focusedElement(): Element | null {\r\n return this.el.shadowRoot!.activeElement;\r\n }\r\n get listItemEls(): HTMLLIElement[] {\r\n return Array.from(this.dropdownEl.querySelectorAll(\"li\"));\r\n }\r\n get tagEls(): HTMLLIElement[] {\r\n return this.tagAreaEl ? Array.from(this.tagAreaEl.querySelectorAll(\".tag\")) : [];\r\n }\r\n get nonLockedTagEls(): HTMLLIElement[] {\r\n return this.tagEls.filter((tag) => !tag.classList.contains(\"locked\"));\r\n }\r\n get optionEls(): HTMLLIElement[] {\r\n return Array.from(this.dropdownEl.querySelectorAll(\".option\"));\r\n }\r\n get wmRowEls(): HTMLWmTagInputRowElement[] {\r\n return Array.from(this.el.querySelectorAll(\"wm-tag-input-row\"));\r\n }\r\n get localRowEls(): HTMLElement[] {\r\n return Array.from(this.el.shadowRoot!.querySelectorAll(\"tr\"));\r\n }\r\n get filteredRows(): HTMLWmTagInputRowElement[] {\r\n return this.wmRowEls.filter((row) => {\r\n const colValues = [row.col1, row.col2, row.col3, row.col4].join(\"\").toLowerCase();\r\n return this.inputEl && this.inputEl.value ? colValues.includes(this.inputEl.value.toLowerCase()) : true;\r\n });\r\n }\r\n get nonLockedTagsList() {\r\n let list: string[] = [];\r\n\r\n if (this.tagInputType === \"table\") {\r\n this.tagsList.forEach((id) => {\r\n const correspondingRowEl = this.wmRowEls.filter((row) => id === row.id)[0];\r\n if (!correspondingRowEl.locked) {\r\n list.push(id);\r\n }\r\n });\r\n } else if (this.tagInputType === \"dropdown\") {\r\n list = this.tagsList;\r\n }\r\n\r\n return list;\r\n }\r\n get tagLimitReached(): boolean {\r\n return !!(this.maxTags && this.tagsList.length >= this.maxTags);\r\n }\r\n\r\n get noResultsMessage() {\r\n return intl.formatMessage({\r\n id: \"tagInput.noResults\",\r\n defaultMessage: \"No results match your search.\",\r\n description: \"Message displayed when a user's search returns empty.\",\r\n });\r\n }\r\n\r\n get inputMinimumWidth(): number {\r\n // 150px is the minimum width of the input field, or the length of the placeholder text\r\n const inputElStyles = getComputedStyle(this.inputEl);\r\n const tagElStyles = getComputedStyle(this.tagEls[this.tagEls.length - 1]);\r\n const inputElBuffer = [\r\n inputElStyles.paddingLeft,\r\n inputElStyles.paddingRight,\r\n inputElStyles.marginLeft,\r\n inputElStyles.marginRight,\r\n tagElStyles.marginRight,\r\n ].reduce((prev, curr) => prev + parseInt(curr.replace(\"px\", \"\")), 0);\r\n\r\n const minimumWidth = Math.max(150, measureText(this.inputEl, this.placeholder!).width + inputElBuffer);\r\n return minimumWidth;\r\n }\r\n\r\n generateTagAddedMessage(tag: string): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagAdded\",\r\n defaultMessage: \"{tagName} added.\",\r\n description: \"A confirmation for adding a tag.\",\r\n },\r\n { tagName: tag }\r\n );\r\n }\r\n\r\n generateTagAlreadyAddedMessage(tag: string): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagAlreadyAdded\",\r\n defaultMessage: \"{tagName} has already been added.\",\r\n description: \"An alert for adding a tag that is already present.\",\r\n },\r\n { tagName: tag }\r\n );\r\n }\r\n\r\n generateTagCounterMessage(x: number, y: number) {\r\n return intl.formatMessage(\r\n {\r\n id: \"tagInput.tagsAddedCounter\",\r\n defaultMessage: \"Tags added: {x, number}/{y, number}\",\r\n description: \"For the user to understand how close they are to the tag limit.\",\r\n },\r\n {\r\n x: x,\r\n y: y,\r\n }\r\n );\r\n }\r\n\r\n generateCharacterLimitLabel(characterLimit: number): string {\r\n return intl.formatMessage(\r\n {\r\n id: \"global.characterLimit\",\r\n defaultMessage: \"{limit, number} characters allowed.\",\r\n description: \"for screen readers\",\r\n },\r\n { limit: characterLimit }\r\n );\r\n }\r\n\r\n componentWillLoad() {\r\n if (!this.placeholder) {\r\n this.placeholder = this.createPlaceholderDefault(this.addNew, !!this.options);\r\n }\r\n if (!this.label) {\r\n console.error(\"wm-tag-input must have a label property\");\r\n }\r\n\r\n this.consolidateSelectedTags();\r\n\r\n this.el.focus = () => {\r\n const firstFocusableTag = this.nonLockedTagEls[0];\r\n if (firstFocusableTag) {\r\n this.tagAreaEl.focus();\r\n this.focusTag(firstFocusableTag);\r\n } else {\r\n this.inputEl.focus();\r\n }\r\n };\r\n\r\n // on resize of component, trigger componentDidRender -> positionInput\r\n const resizeObserver = new ResizeObserver(() => this.debouncedUpdate());\r\n resizeObserver.observe(this.el);\r\n }\r\n\r\n componentDidLoad() {\r\n // prevent highlighting of pre-selected tags\r\n this.tagEls.forEach((el) => el.classList.remove(\"highlight\"));\r\n }\r\n\r\n componentDidRender() {\r\n this.positionInput();\r\n }\r\n\r\n consolidateSelectedTags() {\r\n this.tagsList.forEach((tag) => {\r\n if (!this.includesCaseInsensitive(this.optionsList, tag)) {\r\n this.options += `${this.options.length > 0 ? \",\" : \"\"}${tag}`;\r\n }\r\n });\r\n\r\n this.optionsList = csvToArray(this.options);\r\n }\r\n\r\n createPlaceholderDefault(addNew: boolean, hasOptions: boolean): string {\r\n const addAndSearchPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderAddAndSearch\",\r\n defaultMessage: \"Add or search for a tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const searchPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderSearch\",\r\n defaultMessage: \"Search and select a tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const addPlaceholder = intl.formatMessage({\r\n id: \"tagInput.placeholderAdd\",\r\n defaultMessage: \"Add a new tag\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n\r\n let placeholder = \"\";\r\n if (addNew && hasOptions) {\r\n placeholder = addAndSearchPlaceholder;\r\n } else if (!addNew && hasOptions) {\r\n placeholder = searchPlaceholder;\r\n } else if (addNew) {\r\n placeholder = addPlaceholder;\r\n }\r\n return placeholder;\r\n }\r\n\r\n @Watch(\"tagsList\")\r\n reflectSelectedTags(newValue: string[], oldValue: string[]) {\r\n const isAddition = newValue.length > oldValue.length;\r\n let changedTag: string | HTMLWmTagInputRowElement = \"\";\r\n let selectedTags: string[] | HTMLWmTagInputRowElement[] = this.tagsList;\r\n\r\n if (isAddition) {\r\n changedTag = newValue.filter((val) => !oldValue.includes(val))[0];\r\n } else {\r\n changedTag = oldValue.filter((val) => !newValue.includes(val))[0];\r\n }\r\n\r\n // event emitted by type table uses element references instead of strings\r\n if (this.tagInputType === \"table\") {\r\n changedTag = this.wmRowEls.filter((row) => row.id === changedTag)[0];\r\n selectedTags = this.tagsList.map((id) => this.el.querySelector(`#${id}`) as HTMLWmTagInputRowElement);\r\n }\r\n\r\n this.selectedTags = this.listToCSV(this.tagsList);\r\n let detail = { value: selectedTags, tagChanged: changedTag };\r\n this.wmTagInputChanged.emit(detail);\r\n }\r\n\r\n @Listen(\"wmTagInputRowUpdated\")\r\n handleRowUpdate() {\r\n forceUpdate(this.el);\r\n }\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n closeIfNotElOrChild(ev: MouseEvent): void {\r\n const isntElOrChild = ev.target !== this.el && !this.el.shadowRoot!.contains(ev.target as HTMLElement);\r\n\r\n if (this.tagInputType === \"dropdown\" && isntElOrChild && this.isExpanded) {\r\n this.closeDropdown();\r\n }\r\n }\r\n\r\n // From wm-button\r\n // we need to listen for scroll events during the capture phase because they do not bubble up\r\n // there can be layouts where the main content has 100vh and overflows\r\n // in these cases window will register no scroll events unless we catch on they way down\r\n @Listen(\"scroll\", { target: \"window\", capture: true })\r\n dismissTooltip() {\r\n if (this.tooltipVisible) {\r\n hideTooltip();\r\n this.tooltipVisible = false;\r\n }\r\n }\r\n\r\n debouncedUpdate = debounce(() => forceUpdate(this.el), 30);\r\n\r\n handleInputKeyDown(ev: KeyboardEvent) {\r\n if (/^.$/.test(ev.key) && this.inputEl.value.length >= this.characterLimit) {\r\n this.announceCharacterLimitWarning(this.inputEl.value.length, this.characterLimit);\r\n }\r\n\r\n // prevent keydown triggering on tag area\r\n ev.stopPropagation();\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \",\":\r\n ev.preventDefault();\r\n this.handleInputEnter();\r\n break;\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.handleInputArrowDown();\r\n break;\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.handleInputArrowUp();\r\n break;\r\n case \"ArrowLeft\":\r\n ev.preventDefault();\r\n if (this.tagInputType === \"table\" && this.tablePosition.row) {\r\n this.moveLeftCell();\r\n }\r\n break;\r\n case \"ArrowRight\":\r\n ev.preventDefault();\r\n if (this.tagInputType === \"table\" && this.tablePosition.row) {\r\n this.moveRightCell();\r\n }\r\n break;\r\n case \"Escape\":\r\n if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.closeDropdown();\r\n }\r\n break;\r\n case \"ArrowLeft\":\r\n case \"Backspace\":\r\n this.handleInputBackspace();\r\n break;\r\n }\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n this.clearListItemFocus();\r\n }\r\n // force update needed to apply styled state of field-wrapper el\r\n forceUpdate(this.el);\r\n }\r\n\r\n handleInputChanged(value: string) {\r\n this.charCount = value.length;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n this.clearListItemFocus();\r\n if (this.charCount >= this.characterLimit - 5) {\r\n this.announceCharacterLimitWarning(this.charCount, this.characterLimit);\r\n }\r\n if (!this.isExpanded) {\r\n this.openDropdown();\r\n }\r\n } else if (this.tagInputType === \"table\") {\r\n this.clearCellFocus();\r\n }\r\n this.announceExistingOptions();\r\n }\r\n\r\n handleInputEnter() {\r\n if (this.tagInputType === \"dropdown\") {\r\n if (this.focusedListItem) {\r\n this.handleListItemClick(this.focusedListItem);\r\n } else {\r\n this.submitInput(this.addNew, this.inputEl.value.trim());\r\n }\r\n } else if (this.tagInputType === \"table\" && this.tablePosition.row > 0) {\r\n this.handleTableRowClick(this.localRowEls[this.tablePosition.row].id);\r\n }\r\n }\r\n\r\n submitInput(canAddNew: boolean, value: string) {\r\n const hasNonWhiteSpaceCharacters = value.match(/\\S/);\r\n if (canAddNew && hasNonWhiteSpaceCharacters) {\r\n this.addTag(value);\r\n this.optionsList = this.addOption(value);\r\n this.resetInput();\r\n }\r\n }\r\n\r\n handleInputArrowDown() {\r\n if (this.tagInputType === \"table\") {\r\n this.moveDownRow();\r\n } else if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.moveDownListItem();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n handleInputArrowUp() {\r\n if (this.tagInputType === \"table\") {\r\n this.moveUpRow();\r\n } else if (this.tagInputType === \"dropdown\" && this.isExpanded) {\r\n this.moveUpListItem();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n handleInputBackspace() {\r\n if (this.inputEl.value === \"\" && this.tagsList.length > 0) {\r\n // wait for events to finish firing before redirecting focus\r\n // prevents double input in input area and tag area\r\n window.requestAnimationFrame(() => {\r\n if (this.nonLockedTagsList.length > 0) {\r\n this.tagAreaEl.focus();\r\n this.focusTag(this.tagEls[this.tagEls.length - 1]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleListItemKeyDown(ev: KeyboardEvent) {\r\n const typedEvTarget = ev.target as HTMLElement;\r\n\r\n switch (ev.key) {\r\n case \"Enter\":\r\n case \" \":\r\n ev.preventDefault();\r\n typedEvTarget.click();\r\n break;\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.moveDownListItem();\r\n break;\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.moveUpListItem();\r\n break;\r\n case \"Escape\":\r\n if (this.focusedElement !== this.inputEl) {\r\n this.inputEl.focus();\r\n } else if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handleListItemClick(item: HTMLElement) {\r\n const tag = item.dataset.option!.trim() || \"\";\r\n\r\n if (this.includesCaseInsensitive(this.tagsList, tag)) {\r\n this.announce(this.generateTagAlreadyAddedMessage(tag));\r\n } else {\r\n this.resetInput();\r\n this.addTag(tag);\r\n this.optionsList = this.addOption(tag);\r\n this.focusedListItem = null;\r\n }\r\n }\r\n\r\n handleTableRowClick(rowId: string) {\r\n const referencedRow = this.el.querySelector(`#${rowId}`) as HTMLWmTagInputRowElement;\r\n const isLocked = referencedRow.locked;\r\n\r\n if (!isLocked) {\r\n if (this.includesCaseInsensitive(this.tagsList, rowId)) {\r\n this.removeTag(rowId);\r\n } else if (!this.tagLimitReached) {\r\n this.addTag(rowId);\r\n this.resetInput();\r\n }\r\n }\r\n }\r\n\r\n handleTagAreaKeyDown(ev: KeyboardEvent) {\r\n switch (ev.key) {\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n ev.preventDefault();\r\n this.moveLeftTag();\r\n break;\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n ev.preventDefault();\r\n this.moveRightTag();\r\n break;\r\n case \"Backspace\":\r\n case \"Delete\":\r\n this.handleTagAreaDelete();\r\n break;\r\n }\r\n }\r\n\r\n handleTagAreaDelete() {\r\n const isLocked = this.focusedTag && this.focusedTag.classList.contains(\"locked\");\r\n\r\n if (this.focusedTag && this.focusedTag.dataset.tag && !isLocked) {\r\n this.removeTag(this.focusedTag.dataset.tag);\r\n\r\n if (this.nonLockedTagsList.length === 0) {\r\n // focus input if no tags are left\r\n this.inputEl.focus();\r\n } else if (this.focusedTag === this.tagEls[this.tagEls.length - 1]) {\r\n // reassign focus if removing the last tag but there are still tags remaining\r\n this.focusedTag = this.tagEls[this.tagEls.length - 2];\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n }\r\n\r\n handleBlur(ev: FocusEvent, component: HTMLElement) {\r\n const isntElOrChild =\r\n ev.relatedTarget !== component && !this.el.shadowRoot!.contains(ev.relatedTarget as HTMLElement);\r\n\r\n this.dismissTooltip();\r\n this.clearCellFocus();\r\n\r\n if (isntElOrChild) {\r\n this.fieldWrapperEl.classList.remove(\"focused\");\r\n if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n }\r\n }\r\n\r\n handleCellMouseEnter(ev: MouseEvent) {\r\n const cell = ev.target as HTMLElement;\r\n const contentWrapper = cell.querySelector(\".cell-content-wrapper\")!;\r\n const isTruncated = contentWrapper.scrollWidth > contentWrapper.clientWidth;\r\n\r\n if (isTruncated) {\r\n // innerText is necessary vs textContent, as innerText ignores sr-only / display: none text\r\n showTooltip(\"bottom\", cell, cell.innerText!);\r\n this.tooltipVisible = true;\r\n }\r\n }\r\n\r\n handleTagAreaFocus() {\r\n if (this.tagInputType === \"dropdown\") {\r\n this.closeDropdown();\r\n }\r\n\r\n const firstFocusableTag = this.nonLockedTagEls[0];\r\n firstFocusableTag && this.focusTag(firstFocusableTag);\r\n }\r\n\r\n handleRemoveButtonClick(tag: string) {\r\n this.moveLeftTag();\r\n this.removeTag(tag);\r\n }\r\n\r\n moveDownListItem() {\r\n if (this.listItemEls.length > 0) {\r\n const firstListItem = this.listItemEls[0];\r\n\r\n if (!this.focusedListItem) {\r\n this.focusListItem(firstListItem);\r\n } else if (this.focusedListItem.nextElementSibling) {\r\n this.focusListItem(this.focusedListItem.nextElementSibling as HTMLLIElement);\r\n } else {\r\n this.focusListItem(firstListItem);\r\n }\r\n }\r\n }\r\n\r\n moveUpListItem() {\r\n if (this.listItemEls.length > 0) {\r\n const lastListItem = this.listItemEls[this.listItemEls.length - 1];\r\n\r\n if (!this.focusedListItem) {\r\n this.focusListItem(lastListItem);\r\n } else if (this.focusedListItem.previousElementSibling) {\r\n this.focusListItem(this.focusedListItem.previousElementSibling as HTMLLIElement);\r\n } else {\r\n this.clearListItemFocus();\r\n }\r\n }\r\n }\r\n\r\n moveDownRow() {\r\n if (this.filteredRows.length > 0) {\r\n if (this.tablePosition.row === 0) {\r\n this.tablePosition.row = 1;\r\n } else if (this.tablePosition.row === this.filteredRows.length) {\r\n this.tablePosition.row = 1;\r\n } else {\r\n this.tablePosition.row++;\r\n }\r\n\r\n // skip locked rows\r\n const rowToFocus = this.wmRowEls[this.tablePosition.row - 1] as HTMLWmTagInputRowElement;\r\n if (rowToFocus.locked) {\r\n this.moveDownRow();\r\n } else {\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n }\r\n\r\n moveUpRow() {\r\n if (this.filteredRows.length > 0) {\r\n if (this.tablePosition.row === 0) {\r\n this.tablePosition.row = this.filteredRows.length;\r\n } else if (this.tablePosition.row === 1) {\r\n this.tablePosition.row = 0;\r\n } else {\r\n this.tablePosition.row--;\r\n }\r\n\r\n // skip locked rows\r\n const rowToFocus = this.wmRowEls[this.tablePosition.row - 1] as HTMLWmTagInputRowElement;\r\n if (rowToFocus && rowToFocus.locked) {\r\n this.moveUpRow();\r\n } else if (rowToFocus) {\r\n this.focusCell(this.tablePosition);\r\n } else {\r\n this.clearCellFocus();\r\n }\r\n }\r\n }\r\n\r\n moveLeftCell() {\r\n if (this.tablePosition.column != 1) {\r\n this.tablePosition.column--;\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n\r\n moveRightCell() {\r\n const numCols = csvToArray(this.colHeaders).length;\r\n\r\n if (this.tablePosition.column < numCols) {\r\n this.tablePosition.column++;\r\n this.focusCell(this.tablePosition);\r\n }\r\n }\r\n\r\n moveLeftTag() {\r\n const lastTag = this.tagEls[this.tagEls.length - 1];\r\n if (this.focusedTag && this.tagEls.includes(this.focusedTag.previousElementSibling as HTMLLIElement)) {\r\n this.focusedTag = this.focusedTag.previousElementSibling as HTMLLIElement;\r\n } else {\r\n this.focusedTag = lastTag;\r\n }\r\n // skip locked tags\r\n if (this.focusedTag.classList.contains(\"locked\") && this.nonLockedTagEls.length > 0) {\r\n this.moveLeftTag();\r\n } else {\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n\r\n moveRightTag() {\r\n const firstTag = this.tagEls[0];\r\n if (this.focusedTag && this.tagEls.includes(this.focusedTag.nextElementSibling as HTMLLIElement)) {\r\n this.focusedTag = this.focusedTag.nextElementSibling as HTMLLIElement;\r\n } else {\r\n this.focusedTag = firstTag;\r\n }\r\n // skip locked tags\r\n if (this.focusedTag.classList.contains(\"locked\")) {\r\n this.moveRightTag();\r\n } else {\r\n this.focusTag(this.focusedTag);\r\n }\r\n }\r\n\r\n addOption(option: string): string[] {\r\n let newOptionsList = this.optionsList;\r\n const optionAlreadyExists = this.includesCaseInsensitive(this.optionsList, option);\r\n if (!optionAlreadyExists) {\r\n newOptionsList = newOptionsList.concat(option);\r\n }\r\n return newOptionsList;\r\n }\r\n\r\n removeOption(option: string) {\r\n this.optionsList = this.filterCaseInsensitive(this.optionsList, option);\r\n }\r\n\r\n addTag(tag: string): void {\r\n let newTagsList = this.tagsList;\r\n const tagAlreadyAdded = this.includesCaseInsensitive(this.tagsList, tag);\r\n const tagExistsAsOption = this.optionsList.filter((x) => x.toLowerCase() === tag.toLowerCase())[0];\r\n\r\n if (!tagAlreadyAdded) {\r\n let textToAnnounce = tag;\r\n if (this.tagInputType === \"table\") {\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n textToAnnounce = referencedRow.col1!;\r\n }\r\n this.announce(this.generateTagAddedMessage(textToAnnounce));\r\n this.tagsList = newTagsList.concat(tagExistsAsOption || tag);\r\n // if maxTags has been reached, focus should go to the tagArea\r\n if (this.tagLimitReached) {\r\n this.tagAreaEl.focus();\r\n }\r\n }\r\n }\r\n\r\n removeTag(tag: string) {\r\n let textToAnnounce = tag;\r\n if (this.tagInputType === \"table\") {\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n textToAnnounce = referencedRow.col1!;\r\n }\r\n const tagRemovedMessage = intl.formatMessage(\r\n { id: \"tagInput.tagRemoved\", defaultMessage: \"{tag} removed\" },\r\n { tag: textToAnnounce }\r\n );\r\n this.announce(tagRemovedMessage);\r\n this.tagsList = this.filterCaseInsensitive(this.tagsList, tag);\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n // if a tag was introduced by the user, also remove it from the dropdown options\r\n const devOptionsList = csvToArray(this.options);\r\n if (this.includesCaseInsensitive(this.optionsList, tag) && !this.includesCaseInsensitive(devOptionsList, tag)) {\r\n this.removeOption(tag);\r\n }\r\n }\r\n }\r\n\r\n focusListItem(item: HTMLLIElement): void {\r\n this.focusedListItem = item;\r\n this.inputEl.setAttribute(\"aria-activedescendant\", this.focusedListItem.id);\r\n item.scrollIntoView({ block: \"nearest\" });\r\n }\r\n\r\n focusTag(element: HTMLLIElement): void {\r\n if (element.classList.contains(\"locked\")) {\r\n this.focusedTag = null;\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", \"\");\r\n } else {\r\n this.focusedTag = element;\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", this.focusedTag.id);\r\n }\r\n }\r\n\r\n focusCell(position: TablePosition) {\r\n this.clearCellFocus(false);\r\n\r\n if (position.row) {\r\n const rowToFocus = this.localRowEls[position.row];\r\n const rowCells = rowToFocus.querySelectorAll(\"td\");\r\n const cellToFocus = rowCells[position.column - 1];\r\n const contentWrapper = cellToFocus.querySelector(\".cell-content-wrapper\")!;\r\n const isTruncated = contentWrapper.scrollWidth > contentWrapper.clientWidth;\r\n\r\n rowToFocus.classList.add(\"focused\");\r\n cellToFocus.classList.add(\"focused\");\r\n cellToFocus.scrollIntoView({ block: \"nearest\" });\r\n this.inputEl.setAttribute(\"aria-activedescendant\", cellToFocus.id);\r\n\r\n this.dismissTooltip();\r\n if (isTruncated) {\r\n // innerText is necessary vs textContent, as innerText ignores sr-only / display: none text\r\n showTooltip(\"bottom\", cellToFocus, cellToFocus.innerText!);\r\n this.tooltipVisible = true;\r\n }\r\n }\r\n }\r\n\r\n clearTagFocus() {\r\n this.tagAreaEl.setAttribute(\"aria-activedescendant\", \"\");\r\n this.focusedTag = null;\r\n }\r\n\r\n clearCellFocus(resetPosition: boolean = true) {\r\n this.inputEl.setAttribute(\"aria-activedescendant\", \"\");\r\n if (resetPosition) {\r\n this.tablePosition = { row: 0, column: 1 };\r\n }\r\n\r\n this.localRowEls.forEach((row) => {\r\n row.classList.remove(\"focused\");\r\n row.querySelectorAll(\"td\").forEach((cell) => {\r\n cell.classList.remove(\"focused\");\r\n });\r\n });\r\n }\r\n\r\n openDropdown() {\r\n // given an offset of -2px because the dropdown is transformed downwards to avoid overlapping the focus border\r\n this.openUp = shouldOpenUp(this.el, this.dropdownEl, this.el.clientHeight, -2);\r\n this.isExpanded = true;\r\n }\r\n\r\n closeDropdown() {\r\n this.clearListItemFocus();\r\n this.isExpanded = false;\r\n }\r\n\r\n clearListItemFocus() {\r\n this.focusedListItem = null;\r\n this.inputEl.setAttribute(\"aria-activedescendant\", \"\");\r\n\r\n this.listItemEls.forEach((el) => {\r\n el.classList.remove(\"focused\");\r\n });\r\n }\r\n\r\n resetInput() {\r\n this.charCount = 0;\r\n this.inputEl.value = \"\";\r\n }\r\n\r\n announce(message: string) {\r\n // \\u00A0 is a non-breaking space character, which causes the message to be read as a new one\r\n if (this.liveRegionEl.textContent === message) {\r\n message += \"\\u00A0\";\r\n }\r\n this.liveRegionMessage = message;\r\n }\r\n\r\n announceExistingOptions() {\r\n // request animation frame to wait for re-rendering of filtered options\r\n window.requestAnimationFrame(() => {\r\n let numResults = 0;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n numResults = this.optionEls.length;\r\n } else if (this.tagInputType === \"table\") {\r\n numResults = this.filteredRows.length;\r\n }\r\n\r\n const existingOptionsMessage = intl.formatMessage(\r\n {\r\n id: \"tagInput.existingOptions\",\r\n defaultMessage: \"{num, plural, one {1 existing option.} other {# existing options.}}\",\r\n },\r\n { num: numResults }\r\n );\r\n\r\n this.announce(existingOptionsMessage);\r\n });\r\n }\r\n\r\n announceCharacterLimitWarning(charCount: number, charLimit: number) {\r\n const charactersEnteredMessage = intl.formatMessage(\r\n {\r\n id: \"global.charactersEntered\",\r\n defaultMessage: \"{x, number} of {y, number} characters entered.\",\r\n description: \"for screen readers\",\r\n },\r\n { x: charCount, y: charLimit }\r\n );\r\n\r\n const characterLimitReachedMessage = intl.formatMessage({\r\n id: \"global.characterLimitReached\",\r\n defaultMessage: \"No additional characters will be entered.\",\r\n description: \"for screen readers\",\r\n });\r\n\r\n this.announce(`${charactersEnteredMessage}${charCount >= charLimit ? \" \" + characterLimitReachedMessage : \"\"}`);\r\n }\r\n\r\n positionInput() {\r\n const lastTag = this.tagEls[this.tagEls.length - 1];\r\n // default placement to fall back to when no tags are present, or not enough space is available\r\n this.inputEl.style.position = \"static\";\r\n this.inputEl.style.width = \"100%\";\r\n\r\n if (lastTag) {\r\n const spaceAvailable = this.tagAreaEl.getBoundingClientRect().right - lastTag.getBoundingClientRect().right;\r\n if (spaceAvailable >= this.inputMinimumWidth) {\r\n // because the input has right: 0px\r\n // all thats needed to properly place it is setting position: absolute, top, and width\r\n this.inputEl.style.position = \"absolute\";\r\n this.inputEl.style.top = lastTag.offsetTop.toString() + \"px\";\r\n this.inputEl.style.width =\r\n (this.tagAreaEl.getBoundingClientRect().right - lastTag.getBoundingClientRect().right - 8).toString() + \"px\";\r\n }\r\n }\r\n }\r\n\r\n /// Helpers\r\n\r\n listToCSV(list: string[]): string {\r\n return list.join(\",\");\r\n }\r\n\r\n includesCaseInsensitive(list: string[], element: string): boolean {\r\n const lowercaseList = list.map((str) => str.toLowerCase());\r\n return lowercaseList.includes(element.toLowerCase());\r\n }\r\n\r\n filterCaseInsensitive(list: string[], element: string): string[] {\r\n return list.filter((x) => x.toLowerCase() !== element.toLowerCase());\r\n }\r\n\r\n sortCaseInsensitive(list: string[]) {\r\n // The vanilla .sort method places words that start with capital letters above others (ASCII order)\r\n // so we need to pass in our own compare function to sort case-insensitive\r\n return list.sort((a, b) => {\r\n a = a.toLowerCase();\r\n b = b.toLowerCase();\r\n return a > b ? 1 : a < b ? -1 : 0;\r\n });\r\n }\r\n\r\n /// Renders\r\n\r\n renderTags() {\r\n let lockedTags: HTMLLIElement[] = [];\r\n let unlockedTags: HTMLLIElement[] = [];\r\n\r\n this.tagsList.forEach((tag, idx) => {\r\n const id = `tag${idx + 1}`;\r\n let tagText = \"\";\r\n let isLocked = false;\r\n\r\n if (this.tagInputType === \"dropdown\") {\r\n tagText = tag;\r\n } else if (this.tagInputType === \"table\") {\r\n // display table tags using col1 of the row with the same id\r\n // if one can't be found, display as empty\r\n const referencedRow = this.el.querySelector(`#${tag}`) as HTMLWmTagInputRowElement;\r\n tagText = referencedRow ? referencedRow.col1! : \"\";\r\n isLocked = referencedRow ? referencedRow.locked : false;\r\n }\r\n\r\n // make sure locked tags always appear in front of list\r\n const targetList = isLocked ? lockedTags : unlockedTags;\r\n targetList.push(\r\n <li\r\n id={id}\r\n class={`tag highlight ${this.focusedTag && this.focusedTag.id === id ? \"focused\" : \"\"} ${\r\n isLocked ? \"locked\" : \"\"\r\n }`}\r\n data-tag={tag}\r\n role=\"option\"\r\n >\r\n {tagText}\r\n {isLocked ? (\r\n <div class=\"icon lock\"></div>\r\n ) : (\r\n <button class=\"icon remove-btn\" tabIndex={-1} onClick={() => this.handleRemoveButtonClick(tag)}></button>\r\n )}\r\n </li>\r\n );\r\n });\r\n\r\n return [...lockedTags, ...unlockedTags];\r\n }\r\n\r\n renderDropdown() {\r\n return (\r\n <div\r\n class={`dropdown-wrapper ${this.isExpanded ? \"open\" : \"\"} ${this.openUp ? \"upwards\" : \"\"}`}\r\n ref={(el) => (this.dropdownEl = el as HTMLDivElement)}\r\n >\r\n <div id=\"help-text\" class=\"help-text\">\r\n {this.renderHelpText()}\r\n </div>\r\n <ul\r\n class=\"dropdown\"\r\n id=\"dropdown\"\r\n role=\"listbox\"\r\n aria-multiselectable=\"true\"\r\n aria-expanded={this.isExpanded ? \"true\" : false}\r\n aria-label={this.label}\r\n tabindex={-1}\r\n >\r\n {this.inputEl && this.renderAddNewButton()}\r\n {this.renderListItems(this.optionsList)}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n\r\n renderListItems(optionsList: string[]) {\r\n optionsList = this.sortCaseInsensitive(optionsList);\r\n\r\n // filter by input\r\n if (this.inputEl && this.inputEl.value) {\r\n optionsList = this.optionsList.filter((option) =>\r\n option.toLowerCase().includes(this.inputEl.value.toLowerCase())\r\n );\r\n }\r\n\r\n return optionsList.map((option, idx) => {\r\n const id = `option${idx + 1}`;\r\n const isFocused = this.focusedListItem && this.focusedListItem.id === id;\r\n const isSelected = this.includesCaseInsensitive(this.tagsList, option);\r\n\r\n return (\r\n <li\r\n class={`option ${isFocused ? \"focused\" : \"\"}`}\r\n role=\"option\"\r\n id={id}\r\n data-option={option}\r\n aria-selected={isSelected ? \"true\" : \"false\"}\r\n aria-disabled={isSelected ? \"true\" : \"false\"}\r\n onKeyDown={(ev) => this.handleListItemKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev, this.el)}\r\n onClick={(ev) => this.handleListItemClick(ev.target as HTMLElement)}\r\n >\r\n {option}\r\n </li>\r\n );\r\n });\r\n }\r\n\r\n renderAddNewButton() {\r\n const hasNonWhiteSpaceCharacters = this.inputEl.value.match(/\\S/);\r\n const optionAlreadyExists = this.includesCaseInsensitive(this.optionsList, this.inputEl.value.trim());\r\n if (this.addNew && hasNonWhiteSpaceCharacters && !optionAlreadyExists) {\r\n const id = `add-new-btn`;\r\n const isFocused = this.focusedListItem && this.focusedListItem.id === id;\r\n return (\r\n <li\r\n role=\"option\"\r\n class={`add-new-btn ${isFocused ? \"focused\" : \"\"}`}\r\n id={id}\r\n data-option={this.inputEl.value}\r\n onKeyDown={(ev) => this.handleListItemKeyDown(ev)}\r\n onBlur={(ev) => this.handleBlur(ev, this.el)}\r\n onClick={(ev) => this.handleListItemClick(ev.target as HTMLElement)}\r\n tabIndex={isFocused ? 0 : -1}\r\n >\r\n {`Add \"${this.inputEl.value.trim()}\"`}\r\n </li>\r\n );\r\n } else return \"\";\r\n }\r\n\r\n renderHelpText() {\r\n const helpTextHasOptions = intl.formatMessage({\r\n id: \"tagInput.helpTextCanSelect\",\r\n defaultMessage: \"Search and select a tag.\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n const helpTextEditable = intl.formatMessage({\r\n id: \"tagInput.helpTextEditable\",\r\n defaultMessage: \"Press the Enter or Comma key to add a new tag.\",\r\n description: \"Placeholder text. Use imperative\",\r\n });\r\n\r\n let helpText = \"\";\r\n\r\n if (this.optionsList.length > 0) {\r\n helpText += helpTextHasOptions;\r\n }\r\n if (this.addNew) {\r\n helpText += \" \" + helpTextEditable;\r\n }\r\n\r\n return helpText;\r\n }\r\n\r\n renderTagCounter() {\r\n if (this.maxTags) {\r\n return (\r\n <div class=\"lower-row\">\r\n <div id=\"max-tags\">\r\n {this.generateTagCounterMessage(this.tagsList.length, this.maxTags)}\r\n {this.tagLimitReached && ` - ${this.maxTagsReachedMessage}`}\r\n </div>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n renderTable() {\r\n return (\r\n <div class=\"table-wrapper\" onScroll={() => this.dismissTooltip()}>\r\n <table\r\n id=\"table\"\r\n role=\"grid\"\r\n class={`${this.colWidths ? \"fixed-widths\" : \"\"}`}\r\n aria-label={this.label}\r\n aria-multiselectable=\"true\"\r\n >\r\n {this.renderTableHeaders()}\r\n {this.filteredRows.length ? this.renderTableRows() : <div class=\"no-results\">{this.noResultsMessage}</div>}\r\n </table>\r\n </div>\r\n );\r\n }\r\n\r\n renderTableHeaders() {\r\n return (\r\n <tr class=\"headers\" role=\"row\">\r\n {csvToArray(this.colHeaders).map((header, idx) => {\r\n let overflowRule = \"wrap\";\r\n if (this.colWrap && csvToArray(this.colWrap)[idx]) {\r\n overflowRule = csvToArray(this.colWrap)[idx];\r\n }\r\n return (\r\n <th\r\n class={`header-cell ${overflowRule}`}\r\n role=\"columnheader\"\r\n // @ts-ignore\r\n width={this.colWidths ? csvToArray(this.colWidths)[idx] : \"\"}\r\n >\r\n {header}\r\n </th>\r\n );\r\n })}\r\n </tr>\r\n );\r\n }\r\n\r\n renderTableRows() {\r\n return this.filteredRows.map((row) => {\r\n const isSelected: boolean = this.includesCaseInsensitive(this.tagsList, row.id);\r\n\r\n return (\r\n <tr\r\n id={row.id}\r\n class={`${row.locked ? \"locked\" : \"\"} ${isSelected ? \"selected\" : \"\"}`}\r\n role=\"row\"\r\n onClick={() => this.handleTableRowClick(row.id)}\r\n >\r\n {this.renderTableCells(row)}\r\n </tr>\r\n );\r\n });\r\n }\r\n\r\n renderTableCells(row: HTMLWmTagInputRowElement) {\r\n const colValues = [row.col1, row.col2, row.col3, row.col4].filter((val) => !!val);\r\n const isSelected: boolean = this.includesCaseInsensitive(this.tagsList, row.id);\r\n\r\n return colValues.map((val, idx) => {\r\n const localId = `${row.id}-col${idx + 1}`;\r\n let overflowRule = \"wrap\";\r\n if (this.colWrap && csvToArray(this.colWrap)[idx]) {\r\n overflowRule = csvToArray(this.colWrap)[idx];\r\n }\r\n\r\n return (\r\n <td\r\n id={localId}\r\n role=\"gridcell\"\r\n aria-describedby={`${localId}-description`}\r\n aria-selected={isSelected.toString()}\r\n onMouseEnter={(ev) => this.handleCellMouseEnter(ev)}\r\n onMouseLeave={() => this.dismissTooltip()}\r\n >\r\n <div class={`cell-content-wrapper ${overflowRule}`}>{val}</div>\r\n <div class=\"description\" id={`${localId}-description`}>\r\n {row.locked ? \"locked\" : \"\"}\r\n </div>\r\n </td>\r\n );\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <Host id={this.uid}>\r\n <div class={`wrapper label-${this.labelPosition}`}>\r\n <div class=\"label-wrapper\">\r\n <label class=\"label\" htmlFor={`input${this.uid}`}>\r\n {this.label}\r\n </label>\r\n </div>\r\n <div\r\n class={`field-wrapper ${this.focusedElement ? \"focused\" : \"\"}`}\r\n ref={(el) => (this.fieldWrapperEl = el as HTMLDivElement)}\r\n >\r\n <div class=\"upper-row\">\r\n <div class=\"tags-and-input-wrapper\">\r\n {this.tagsList.length > 0 && (\r\n <ul\r\n ref={(el) => (this.tagAreaEl = el as HTMLUListElement)}\r\n class=\"tag-area\"\r\n role=\"listbox\"\r\n aria-activedescendant=\"\"\r\n aria-orientation=\"horizontal\"\r\n aria-label={`${this.label} ${this.tagsList.length > 0 ? this.tagAreaInstructions : \"\"}`}\r\n tabindex={this.nonLockedTagsList.length > 0 ? 0 : -1}\r\n aria-describedby={`info max-tags`}\r\n onFocus={() => this.handleTagAreaFocus()}\r\n onBlur={(ev) => {\r\n this.clearTagFocus();\r\n this.handleBlur(ev, this.el);\r\n }}\r\n onKeyDown={(ev) => this.handleTagAreaKeyDown(ev)}\r\n >\r\n {this.renderTags()}\r\n </ul>\r\n )}\r\n <input\r\n id={`input${this.uid}`}\r\n class={this.tagLimitReached ? \"hidden\" : \"\"}\r\n role=\"combobox\"\r\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\r\n autocomplete=\"off\"\r\n aria-controls={this.tagInputType}\r\n aria-describedby=\"help-text\"\r\n aria-label={`${this.label} ${\r\n this.tagInputType === \"dropdown\" ? this.generateCharacterLimitLabel(this.characterLimit) : \"\"\r\n }`}\r\n aria-expanded={this.tagInputType === \"dropdown\" ? this.isExpanded.toString() : null}\r\n placeholder={this.placeholder}\r\n maxLength={this.tagInputType === \"dropdown\" ? this.characterLimit : undefined}\r\n onInput={() => this.handleInputChanged(this.inputEl.value)}\r\n onBlur={(ev) => {\r\n this.handleBlur(ev, this.el);\r\n }}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={(ev) => this.handleInputKeyDown(ev)}\r\n ></input>\r\n </div>\r\n {this.tagInputType === \"dropdown\" && (\r\n <div class=\"character-count\">\r\n {this.charCount}/{this.characterLimit}\r\n </div>\r\n )}\r\n </div>\r\n {this.renderTagCounter()}\r\n {this.tagInputType === \"dropdown\" && this.renderDropdown()}\r\n </div>\r\n {this.info ? (\r\n <div id=\"info\" class=\"info-text\">\r\n {this.info}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n <div\r\n class=\"sr-only\"\r\n aria-live=\"assertive\"\r\n ref={(el) => (this.liveRegionEl = el as HTMLDivElement)}\r\n aria-atomic=\"true\"\r\n >\r\n {this.liveRegionMessage}\r\n </div>\r\n {this.tagInputType === \"table\" && this.renderTable()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}