@watermarkinsights/ripple 3.9.0-2 → 3.9.0-5

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 (354) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/{chartFunctions-a1dd1291.js → chartFunctions-08c7054a.js} +416 -416
  3. package/dist/cjs/{functions-0750b767.js → functions-04933f19.js} +544 -506
  4. package/dist/cjs/{global-0a6b313f.js → global-5faea609.js} +60 -60
  5. package/dist/cjs/{http-service-494d81de.js → http-service-9e8c4dd5.js} +49 -49
  6. package/dist/cjs/{index-98c6524c.js → index-acad7ab3.js} +96 -64
  7. package/dist/cjs/{interfaces-a3338581.js → interfaces-30a74c1f.js} +29 -29
  8. package/dist/cjs/loader.cjs.js +4 -4
  9. package/dist/cjs/priv-chart-popover.cjs.entry.js +87 -87
  10. package/dist/cjs/priv-datepicker.cjs.entry.js +659 -659
  11. package/dist/cjs/priv-navigator-button.cjs.entry.js +19 -19
  12. package/dist/cjs/priv-navigator-item.cjs.entry.js +24 -24
  13. package/dist/cjs/ripple.cjs.js +4 -4
  14. package/dist/cjs/wm-action-menu_2.cjs.entry.js +342 -342
  15. package/dist/cjs/wm-button.cjs.entry.js +228 -228
  16. package/dist/cjs/wm-chart-slice.cjs.entry.js +14 -14
  17. package/dist/cjs/wm-chart.cjs.entry.js +116 -116
  18. package/dist/cjs/wm-datepicker.cjs.entry.js +267 -267
  19. package/dist/cjs/wm-input.cjs.entry.js +136 -136
  20. package/dist/cjs/wm-modal-footer.cjs.entry.js +32 -32
  21. package/dist/cjs/wm-modal-header.cjs.entry.js +35 -35
  22. package/dist/cjs/wm-modal.cjs.entry.js +164 -164
  23. package/dist/cjs/wm-navigation_3.cjs.entry.js +222 -222
  24. package/dist/cjs/wm-navigator.cjs.entry.js +269 -269
  25. package/dist/cjs/wm-network-uploader.cjs.entry.js +454 -422
  26. package/dist/cjs/wm-option_2.cjs.entry.js +487 -487
  27. package/dist/cjs/wm-pagination.cjs.entry.js +168 -168
  28. package/dist/cjs/wm-progress-indicator.cjs.entry.js +82 -82
  29. package/dist/cjs/wm-progress-monitor.cjs.entry.js +51 -47
  30. package/dist/cjs/wm-progress-slice.cjs.entry.js +9 -9
  31. package/dist/cjs/wm-search.cjs.entry.js +233 -233
  32. package/dist/cjs/wm-snackbar.cjs.entry.js +172 -172
  33. package/dist/cjs/wm-tab-item_3.cjs.entry.js +298 -298
  34. package/dist/cjs/wm-tag-input.cjs.entry.js +581 -581
  35. package/dist/cjs/wm-timepicker.cjs.entry.js +385 -385
  36. package/dist/cjs/wm-toggletip.cjs.entry.js +126 -126
  37. package/dist/cjs/wm-uploader.cjs.entry.js +380 -348
  38. package/dist/cjs/wm-wrapper.cjs.entry.js +13 -13
  39. package/dist/collection/collection-manifest.json +2 -2
  40. package/dist/collection/components/charts/priv-chart-popover/priv-chart-popover.js +258 -258
  41. package/dist/collection/components/charts/wm-chart/wm-chart-slice.js +115 -115
  42. package/dist/collection/components/charts/wm-chart/wm-chart.js +332 -332
  43. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-indicator.js +199 -199
  44. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-monitor.js +92 -95
  45. package/dist/collection/components/charts/wm-progress-monitor/wm-progress-slice.js +111 -111
  46. package/dist/collection/components/wm-action-menu/wm-action-menu.js +460 -460
  47. package/dist/collection/components/wm-button/wm-button.css +20 -21
  48. package/dist/collection/components/wm-button/wm-button.js +491 -491
  49. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.css +3 -4
  50. package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +1024 -1024
  51. package/dist/collection/components/wm-datepicker/wm-datepicker.css +1 -2
  52. package/dist/collection/components/wm-datepicker/wm-datepicker.js +471 -471
  53. package/dist/collection/components/wm-input/wm-input.css +1 -2
  54. package/dist/collection/components/wm-input/wm-input.js +423 -423
  55. package/dist/collection/components/wm-menuitem/wm-menuitem.js +444 -444
  56. package/dist/collection/components/wm-modal/wm-modal-footer.js +141 -141
  57. package/dist/collection/components/wm-modal/wm-modal-header.js +92 -92
  58. package/dist/collection/components/wm-modal/wm-modal.js +461 -461
  59. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.css +1 -2
  60. package/dist/collection/components/wm-navigation/wm-navigation-hamburger.js +162 -162
  61. package/dist/collection/components/wm-navigation/wm-navigation-item.js +121 -121
  62. package/dist/collection/components/wm-navigation/wm-navigation.js +211 -211
  63. package/dist/collection/components/wm-navigator/priv-navigator-button/priv-navigator-button.js +97 -97
  64. package/dist/collection/components/wm-navigator/priv-navigator-item/priv-navigator-item.js +114 -114
  65. package/dist/collection/components/wm-navigator/wm-navigator.js +468 -468
  66. package/dist/collection/components/wm-option/wm-option.css +2 -3
  67. package/dist/collection/components/wm-option/wm-option.js +414 -414
  68. package/dist/collection/components/wm-pagination/wm-pagination.js +368 -368
  69. package/dist/collection/components/wm-search/wm-search.js +480 -480
  70. package/dist/collection/components/wm-select/wm-select.css +2 -3
  71. package/dist/collection/components/wm-select/wm-select.js +718 -718
  72. package/dist/collection/components/wm-snackbar/wm-snackbar.css +2 -3
  73. package/dist/collection/components/wm-snackbar/wm-snackbar.js +297 -297
  74. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.css +2 -2
  75. package/dist/collection/components/wm-tabs/wm-tab-item/wm-tab-item.js +216 -216
  76. package/dist/collection/components/wm-tabs/wm-tab-list/wm-tab-list.js +330 -330
  77. package/dist/collection/components/wm-tabs/wm-tab-panel/wm-tab-panel.js +104 -104
  78. package/dist/collection/components/wm-tag-input/wm-tag-input.css +2 -3
  79. package/dist/collection/components/wm-tag-input/wm-tag-input.js +810 -810
  80. package/dist/collection/components/wm-timepicker/wm-timepicker.css +2 -3
  81. package/dist/collection/components/wm-timepicker/wm-timepicker.js +583 -583
  82. package/dist/collection/components/wm-toggletip/wm-toggletip.css +1 -2
  83. package/dist/collection/components/wm-toggletip/wm-toggletip.js +241 -241
  84. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.css +20 -21
  85. package/dist/collection/components/wm-uploader/wm-network-uploader/wm-network-uploader.js +785 -753
  86. package/dist/collection/components/wm-uploader/wm-uploader.css +24 -21
  87. package/dist/collection/components/wm-uploader/wm-uploader.js +780 -748
  88. package/dist/collection/components/wm-wrapper/wm-wrapper.js +27 -27
  89. package/dist/collection/dev/scripts.js +20 -20
  90. package/dist/collection/global/__mocks__/functions.js +6 -6
  91. package/dist/collection/global/chartFunctions.js +417 -417
  92. package/dist/collection/global/functions.js +468 -468
  93. package/dist/collection/global/global.js +67 -67
  94. package/dist/collection/global/interfaces.js +49 -49
  95. package/dist/collection/global/services/__mocks__/http-service.js +130 -130
  96. package/dist/collection/global/services/http-service.js +50 -50
  97. package/dist/collection/lang/lang.js +5 -5
  98. package/dist/collection/lang/missing.js +43 -39
  99. package/dist/collection/lang/piglatin.js +93 -93
  100. package/dist/esm/{chartFunctions-fc11df2b.js → chartFunctions-aa8b2cfe.js} +416 -416
  101. package/dist/esm/{functions-b478ef24.js → functions-ecba807c.js} +544 -506
  102. package/dist/esm/{global-b8be90a6.js → global-8eb97f09.js} +60 -60
  103. package/dist/esm/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +49 -49
  104. package/dist/esm/{index-d649a861.js → index-7603f98e.js} +96 -64
  105. package/dist/esm/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +29 -29
  106. package/dist/esm/loader.js +4 -4
  107. package/dist/esm/polyfills/core-js.js +0 -0
  108. package/dist/esm/polyfills/css-shim.js +1 -1
  109. package/dist/esm/polyfills/dom.js +0 -0
  110. package/dist/esm/polyfills/es5-html-element.js +0 -0
  111. package/dist/esm/polyfills/index.js +0 -0
  112. package/dist/esm/polyfills/system.js +0 -0
  113. package/dist/esm/priv-chart-popover.entry.js +87 -87
  114. package/dist/esm/priv-datepicker.entry.js +659 -659
  115. package/dist/esm/priv-navigator-button.entry.js +19 -19
  116. package/dist/esm/priv-navigator-item.entry.js +24 -24
  117. package/dist/esm/ripple.js +4 -4
  118. package/dist/esm/wm-action-menu_2.entry.js +342 -342
  119. package/dist/esm/wm-button.entry.js +228 -228
  120. package/dist/esm/wm-chart-slice.entry.js +14 -14
  121. package/dist/esm/wm-chart.entry.js +116 -116
  122. package/dist/esm/wm-datepicker.entry.js +267 -267
  123. package/dist/esm/wm-input.entry.js +136 -136
  124. package/dist/esm/wm-modal-footer.entry.js +32 -32
  125. package/dist/esm/wm-modal-header.entry.js +35 -35
  126. package/dist/esm/wm-modal.entry.js +164 -164
  127. package/dist/esm/wm-navigation_3.entry.js +222 -222
  128. package/dist/esm/wm-navigator.entry.js +269 -269
  129. package/dist/esm/wm-network-uploader.entry.js +454 -422
  130. package/dist/esm/wm-option_2.entry.js +487 -487
  131. package/dist/esm/wm-pagination.entry.js +168 -168
  132. package/dist/esm/wm-progress-indicator.entry.js +82 -82
  133. package/dist/esm/wm-progress-monitor.entry.js +51 -47
  134. package/dist/esm/wm-progress-slice.entry.js +9 -9
  135. package/dist/esm/wm-search.entry.js +233 -233
  136. package/dist/esm/wm-snackbar.entry.js +172 -172
  137. package/dist/esm/wm-tab-item_3.entry.js +298 -298
  138. package/dist/esm/wm-tag-input.entry.js +581 -581
  139. package/dist/esm/wm-timepicker.entry.js +385 -385
  140. package/dist/esm/wm-toggletip.entry.js +126 -126
  141. package/dist/esm/wm-uploader.entry.js +380 -348
  142. package/dist/esm/wm-wrapper.entry.js +13 -13
  143. package/dist/esm-es5/chartFunctions-aa8b2cfe.js +1 -0
  144. package/dist/esm-es5/functions-ecba807c.js +15 -0
  145. package/dist/esm-es5/{global-b8be90a6.js → global-8eb97f09.js} +1 -1
  146. package/dist/esm-es5/{http-service-3dc3b3e7.js → http-service-5d037e16.js} +1 -1
  147. package/dist/esm-es5/index-7603f98e.js +1 -0
  148. package/dist/esm-es5/{interfaces-2b97fab2.js → interfaces-61c6305b.js} +0 -0
  149. package/dist/esm-es5/loader.js +1 -1
  150. package/dist/esm-es5/priv-chart-popover.entry.js +1 -1
  151. package/dist/esm-es5/priv-datepicker.entry.js +1 -1
  152. package/dist/esm-es5/priv-navigator-button.entry.js +1 -1
  153. package/dist/esm-es5/priv-navigator-item.entry.js +1 -1
  154. package/dist/esm-es5/ripple.js +1 -1
  155. package/dist/esm-es5/wm-action-menu_2.entry.js +1 -1
  156. package/dist/esm-es5/wm-button.entry.js +1 -1
  157. package/dist/esm-es5/wm-chart-slice.entry.js +1 -1
  158. package/dist/esm-es5/wm-chart.entry.js +1 -1
  159. package/dist/esm-es5/wm-datepicker.entry.js +1 -1
  160. package/dist/esm-es5/wm-input.entry.js +1 -1
  161. package/dist/esm-es5/wm-modal-footer.entry.js +1 -1
  162. package/dist/esm-es5/wm-modal-header.entry.js +1 -1
  163. package/dist/esm-es5/wm-modal.entry.js +1 -1
  164. package/dist/esm-es5/wm-navigation_3.entry.js +1 -1
  165. package/dist/esm-es5/wm-navigator.entry.js +1 -1
  166. package/dist/esm-es5/wm-network-uploader.entry.js +1 -1
  167. package/dist/esm-es5/wm-option_2.entry.js +1 -1
  168. package/dist/esm-es5/wm-pagination.entry.js +1 -1
  169. package/dist/esm-es5/wm-progress-indicator.entry.js +1 -1
  170. package/dist/esm-es5/wm-progress-monitor.entry.js +1 -1
  171. package/dist/esm-es5/wm-progress-slice.entry.js +1 -1
  172. package/dist/esm-es5/wm-search.entry.js +1 -1
  173. package/dist/esm-es5/wm-snackbar.entry.js +1 -1
  174. package/dist/esm-es5/wm-tab-item_3.entry.js +1 -1
  175. package/dist/esm-es5/wm-tag-input.entry.js +1 -1
  176. package/dist/esm-es5/wm-timepicker.entry.js +1 -1
  177. package/dist/esm-es5/wm-toggletip.entry.js +1 -1
  178. package/dist/esm-es5/wm-uploader.entry.js +1 -1
  179. package/dist/esm-es5/wm-wrapper.entry.js +1 -1
  180. package/dist/loader/index.d.ts +0 -1
  181. package/dist/ripple/p-04255a42.entry.js +1 -0
  182. package/dist/ripple/{p-f5df5903.system.js → p-08b7ec08.system.js} +0 -0
  183. package/dist/ripple/p-0a840636.entry.js +1 -0
  184. package/dist/ripple/p-0c480b92.system.entry.js +1 -0
  185. package/dist/ripple/{p-1b7be30d.system.entry.js → p-11ff0109.system.entry.js} +1 -1
  186. package/dist/ripple/{p-366e00f9.js → p-1523f1e1.js} +1 -1
  187. package/dist/ripple/{p-bfc1ab2e.system.entry.js → p-1df2adee.system.entry.js} +1 -1
  188. package/dist/ripple/p-268f470a.system.entry.js +1 -0
  189. package/dist/ripple/p-2a9e03d8.system.entry.js +1 -0
  190. package/dist/ripple/p-313b6073.system.js +1 -0
  191. package/dist/ripple/{p-fd9380f2.system.entry.js → p-314c79cc.system.entry.js} +1 -1
  192. package/dist/ripple/{p-30e1daf7.system.entry.js → p-32ff1f4d.system.entry.js} +1 -1
  193. package/dist/ripple/p-358bde27.entry.js +1 -0
  194. package/dist/ripple/{p-2b63995f.system.entry.js → p-3b3e847c.system.entry.js} +1 -1
  195. package/dist/ripple/p-3bdad453.system.js +15 -0
  196. package/dist/ripple/p-3e80a569.system.entry.js +1 -0
  197. package/dist/ripple/p-461f08d4.entry.js +1 -0
  198. package/dist/ripple/p-4d20fc46.system.entry.js +1 -0
  199. package/dist/ripple/p-4d59fe86.entry.js +1 -0
  200. package/dist/ripple/p-51aaaedf.entry.js +1 -0
  201. package/dist/ripple/{p-063bc67c.system.entry.js → p-520211f0.system.entry.js} +1 -1
  202. package/dist/ripple/p-52270154.system.entry.js +1 -0
  203. package/dist/ripple/p-5322c156.entry.js +1 -0
  204. package/dist/ripple/p-56fa3181.entry.js +1 -0
  205. package/dist/ripple/p-631aa708.entry.js +1 -0
  206. package/dist/ripple/p-64ca10ea.js +16 -0
  207. package/dist/ripple/{p-3b31eaec.system.js → p-722fbb3c.system.js} +1 -1
  208. package/dist/ripple/p-766def9b.system.entry.js +1 -0
  209. package/dist/ripple/p-781e8913.system.entry.js +1 -0
  210. package/dist/ripple/p-7fae0cc2.entry.js +1 -0
  211. package/dist/ripple/p-8647d034.system.entry.js +1 -0
  212. package/dist/ripple/{p-43f1298b.js → p-888bec42.js} +0 -0
  213. package/dist/ripple/p-8943b3e4.system.js +1 -0
  214. package/dist/ripple/p-8e747ee0.entry.js +1 -0
  215. package/dist/ripple/p-9045fdcc.entry.js +1 -0
  216. package/dist/ripple/p-90dd1cc5.entry.js +1 -0
  217. package/dist/ripple/{p-099df7b7.system.entry.js → p-90ed3268.system.entry.js} +1 -1
  218. package/dist/ripple/p-9233b6c7.entry.js +1 -0
  219. package/dist/ripple/p-93e6bfbe.system.entry.js +1 -0
  220. package/dist/ripple/p-952eab56.entry.js +1 -0
  221. package/dist/ripple/p-98c0e6a6.entry.js +1 -0
  222. package/dist/ripple/p-9b32db76.system.entry.js +1 -0
  223. package/dist/ripple/p-9ce7fa33.entry.js +1 -0
  224. package/dist/ripple/p-9dc909f9.system.entry.js +1 -0
  225. package/dist/ripple/p-a084e205.entry.js +1 -0
  226. package/dist/ripple/p-a0c3ef16.system.js +1 -0
  227. package/dist/ripple/p-a193df9f.entry.js +1 -0
  228. package/dist/ripple/p-a4aa450f.entry.js +1 -0
  229. package/dist/ripple/{p-fd8070fb.js → p-a6d6eae7.js} +0 -0
  230. package/dist/ripple/p-a9e0ce88.entry.js +1 -0
  231. package/dist/ripple/p-ae04257e.entry.js +1 -0
  232. package/dist/ripple/{p-a1511315.system.entry.js → p-ae6cfbca.system.entry.js} +1 -1
  233. package/dist/ripple/{p-ea33bda7.system.entry.js → p-af1d4b36.system.entry.js} +1 -1
  234. package/dist/ripple/p-af301845.system.entry.js +1 -0
  235. package/dist/ripple/p-b3c71506.js +1 -0
  236. package/dist/ripple/p-b4e545e2.entry.js +1 -0
  237. package/dist/ripple/{p-ddf157c8.system.entry.js → p-b4efa7d1.system.entry.js} +1 -1
  238. package/dist/ripple/p-bd98cbba.entry.js +1 -0
  239. package/dist/ripple/p-bd9e522e.system.entry.js +1 -0
  240. package/dist/ripple/p-bf64c818.entry.js +1 -0
  241. package/dist/ripple/{p-cb7d8ade.system.entry.js → p-c1795546.system.entry.js} +1 -1
  242. package/dist/ripple/{p-647edff3.system.entry.js → p-c1c25924.system.entry.js} +1 -1
  243. package/dist/ripple/{p-36be0612.js → p-cbdefe19.js} +1 -1
  244. package/dist/ripple/p-cc789f12.system.entry.js +1 -0
  245. package/dist/ripple/p-ce641de3.entry.js +1 -0
  246. package/dist/ripple/p-cfb81685.entry.js +1 -0
  247. package/dist/ripple/p-d636cb95.system.js +1 -0
  248. package/dist/ripple/{p-2b9c54e7.system.entry.js → p-d863abe4.system.entry.js} +1 -1
  249. package/dist/ripple/p-e47a097b.entry.js +1 -0
  250. package/dist/ripple/p-e72c1d68.entry.js +1 -0
  251. package/dist/ripple/p-e75f7966.system.entry.js +1 -0
  252. package/dist/ripple/ripple.esm.js +1 -1
  253. package/dist/ripple/ripple.js +1 -1
  254. package/dist/types/components/charts/wm-chart/wm-chart-slice.d.ts +11 -11
  255. package/dist/types/components/charts/wm-chart/wm-chart.d.ts +35 -35
  256. package/dist/types/components/charts/wm-progress-monitor/wm-progress-slice.d.ts +10 -10
  257. package/dist/types/components/wm-action-menu/wm-action-menu.d.ts +48 -48
  258. package/dist/types/components/wm-button/wm-button.d.ts +43 -43
  259. package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +80 -80
  260. package/dist/types/components/wm-datepicker/wm-datepicker.d.ts +41 -41
  261. package/dist/types/components/wm-input/wm-input.d.ts +46 -46
  262. package/dist/types/components/wm-menuitem/wm-menuitem.d.ts +34 -34
  263. package/dist/types/components/wm-modal/wm-modal-footer.d.ts +15 -15
  264. package/dist/types/components/wm-modal/wm-modal-header.d.ts +12 -12
  265. package/dist/types/components/wm-modal/wm-modal.d.ts +41 -41
  266. package/dist/types/components/wm-navigation/wm-navigation-hamburger.d.ts +21 -21
  267. package/dist/types/components/wm-navigation/wm-navigation-item.d.ts +13 -13
  268. package/dist/types/components/wm-navigation/wm-navigation.d.ts +30 -30
  269. package/dist/types/components/wm-navigator/priv-navigator-button/priv-navigator-button.d.ts +10 -10
  270. package/dist/types/components/wm-navigator/priv-navigator-item/priv-navigator-item.d.ts +13 -13
  271. package/dist/types/components/wm-navigator/wm-navigator.d.ts +61 -61
  272. package/dist/types/components/wm-option/wm-option.d.ts +32 -32
  273. package/dist/types/components/wm-pagination/wm-pagination.d.ts +32 -32
  274. package/dist/types/components/wm-search/wm-search.d.ts +86 -86
  275. package/dist/types/components/wm-select/wm-select.d.ts +66 -66
  276. package/dist/types/components/wm-snackbar/wm-snackbar.d.ts +35 -35
  277. package/dist/types/components/wm-tabs/wm-tab-item/wm-tab-item.d.ts +38 -38
  278. package/dist/types/components/wm-tabs/wm-tab-list/wm-tab-list.d.ts +53 -53
  279. package/dist/types/components/wm-tabs/wm-tab-panel/wm-tab-panel.d.ts +20 -20
  280. package/dist/types/components/wm-tag-input/wm-tag-input.d.ts +92 -92
  281. package/dist/types/components/wm-timepicker/wm-timepicker.d.ts +61 -61
  282. package/dist/types/components/wm-toggletip/wm-toggletip.d.ts +27 -27
  283. package/dist/types/components/wm-uploader/wm-network-uploader/wm-network-uploader.d.ts +85 -85
  284. package/dist/types/components/wm-uploader/wm-uploader.d.ts +80 -80
  285. package/dist/types/components/wm-wrapper/wm-wrapper.d.ts +7 -7
  286. package/dist/types/components.d.ts +24 -24
  287. package/dist/types/global/__mocks__/functions.d.ts +6 -6
  288. package/dist/types/global/chartFunctions.d.ts +28 -28
  289. package/dist/types/global/functions.d.ts +42 -42
  290. package/dist/types/global/global.d.ts +1 -1
  291. package/dist/types/global/interfaces.d.ts +44 -44
  292. package/dist/types/global/services/__mocks__/http-service.d.ts +6 -6
  293. package/dist/types/global/services/http-service.d.ts +4 -4
  294. package/dist/types/lang/lang.d.ts +5 -5
  295. package/dist/types/stencil-public-runtime.d.ts +6 -4
  296. package/package.json +47 -47
  297. package/dist/esm-es5/chartFunctions-fc11df2b.js +0 -1
  298. package/dist/esm-es5/functions-b478ef24.js +0 -15
  299. package/dist/esm-es5/index-d649a861.js +0 -1
  300. package/dist/ripple/p-0b23a4fe.entry.js +0 -1
  301. package/dist/ripple/p-1b2c3251.system.entry.js +0 -1
  302. package/dist/ripple/p-1e2c46f1.entry.js +0 -1
  303. package/dist/ripple/p-1e7fc028.entry.js +0 -1
  304. package/dist/ripple/p-2296c2c3.entry.js +0 -1
  305. package/dist/ripple/p-24cd6213.system.entry.js +0 -1
  306. package/dist/ripple/p-2587031d.system.entry.js +0 -1
  307. package/dist/ripple/p-29d527c8.entry.js +0 -1
  308. package/dist/ripple/p-2b6246d9.entry.js +0 -1
  309. package/dist/ripple/p-2cc9e6cf.system.entry.js +0 -1
  310. package/dist/ripple/p-30db4ad7.entry.js +0 -1
  311. package/dist/ripple/p-3388ca40.entry.js +0 -1
  312. package/dist/ripple/p-34736928.entry.js +0 -1
  313. package/dist/ripple/p-3eb3a1f8.entry.js +0 -1
  314. package/dist/ripple/p-492ad5d0.system.entry.js +0 -1
  315. package/dist/ripple/p-4f23cdc6.entry.js +0 -1
  316. package/dist/ripple/p-50be3b44.js +0 -1
  317. package/dist/ripple/p-5743d4bc.system.entry.js +0 -1
  318. package/dist/ripple/p-59963be9.system.entry.js +0 -1
  319. package/dist/ripple/p-5d6cc9da.system.js +0 -1
  320. package/dist/ripple/p-5e5f162c.system.entry.js +0 -1
  321. package/dist/ripple/p-6c295beb.entry.js +0 -1
  322. package/dist/ripple/p-6c751341.entry.js +0 -1
  323. package/dist/ripple/p-6f9e8fbc.entry.js +0 -1
  324. package/dist/ripple/p-70ececb5.entry.js +0 -1
  325. package/dist/ripple/p-7674c9b0.system.entry.js +0 -1
  326. package/dist/ripple/p-76b96f77.entry.js +0 -1
  327. package/dist/ripple/p-7a2a0d2e.js +0 -16
  328. package/dist/ripple/p-7c2b1682.entry.js +0 -1
  329. package/dist/ripple/p-7f0c64ac.entry.js +0 -1
  330. package/dist/ripple/p-803f1f22.entry.js +0 -1
  331. package/dist/ripple/p-84fb34b5.entry.js +0 -1
  332. package/dist/ripple/p-8a583f84.entry.js +0 -1
  333. package/dist/ripple/p-8daa2613.system.entry.js +0 -1
  334. package/dist/ripple/p-935a266f.entry.js +0 -1
  335. package/dist/ripple/p-9d02957d.system.js +0 -1
  336. package/dist/ripple/p-a14ac623.entry.js +0 -1
  337. package/dist/ripple/p-b325c35a.system.entry.js +0 -1
  338. package/dist/ripple/p-bfe93d8d.system.entry.js +0 -1
  339. package/dist/ripple/p-c1c7b0b1.system.js +0 -15
  340. package/dist/ripple/p-c20a179f.system.entry.js +0 -1
  341. package/dist/ripple/p-c8bbf15e.entry.js +0 -1
  342. package/dist/ripple/p-cfb62ded.entry.js +0 -1
  343. package/dist/ripple/p-d12e0f49.system.js +0 -1
  344. package/dist/ripple/p-d648d193.entry.js +0 -1
  345. package/dist/ripple/p-d7ff84eb.entry.js +0 -1
  346. package/dist/ripple/p-e90f6915.system.js +0 -1
  347. package/dist/ripple/p-f2566a42.system.entry.js +0 -1
  348. package/dist/ripple/p-f62fc5ea.system.entry.js +0 -1
  349. package/dist/ripple/p-fe0abd10.system.entry.js +0 -1
  350. package/dist/ripple/p-fe2a30d3.entry.js +0 -1
  351. package/dist/ripple/p-ffbc5db3.entry.js +0 -1
  352. package/dist/types/components/charts/priv-chart-popover/priv-chart-popover.d.ts +0 -27
  353. package/dist/types/components/charts/wm-progress-monitor/wm-progress-indicator.d.ts +0 -26
  354. package/dist/types/components/charts/wm-progress-monitor/wm-progress-monitor.d.ts +0 -17
@@ -1,53 +1,57 @@
1
- import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-d649a861.js';
2
- import { r as throttle } from './functions-b478ef24.js';
1
+ import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-7603f98e.js';
2
+ import { r as throttle } from './functions-ecba807c.js';
3
3
 
4
4
  const wmProgressMonitorCss = ":host,wm-progress-monitor{display:-ms-flexbox;display:flex}:host(.row){-ms-flex-direction:row;flex-direction:row}:host(.column){-ms-flex-direction:column;flex-direction:column}";
5
5
 
6
- const ProgressMonitor = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.wmProgressMonitorModeChange = createEvent(this, "wmProgressMonitorModeChange", 7);
10
- this.doughnutWidth = 300;
11
- this.modeInitialized = false;
12
- this.throttledUpdate = throttle(() => forceUpdate(this.el), 50);
13
- }
14
- get parsedBreakpoint() {
15
- const asNumber = this.parseToNum(this.breakpoint ? this.breakpoint : this.el.children.length);
16
- // if number < 20, it is treated as width in terms of # of indicators. Otherwise it is a pixel value
17
- // e.g. 4 -> 1200px, while 768 -> 768 px
18
- const asPixels = asNumber >= 20 ? asNumber : asNumber * this.doughnutWidth;
19
- return asPixels;
20
- }
21
- get mode() {
22
- return this.el.clientWidth > this.parsedBreakpoint ? "doughnut" : "bar";
23
- }
24
- componentDidLoad() {
25
- // emit initial mode for Indicators, must happen post-load as this.el measurement is needed
26
- this.wmProgressMonitorModeChange.emit(this.mode);
27
- this.modeInitialized = true;
28
- // once indicators have initialized modes, rerender to reveal
29
- forceUpdate(this.el);
30
- }
31
- componentWillUpdate() {
32
- // store prevMode before every render except first to determine when it has changed
33
- if (this.prevMode !== this.mode) {
34
- this.wmProgressMonitorModeChange.emit(this.mode);
35
- }
36
- this.prevMode = this.mode;
37
- }
38
- handleResize() {
39
- this.throttledUpdate();
40
- }
41
- parseToNum(num) {
42
- const asString = num.toString();
43
- const withoutPx = asString.replace("px", "");
44
- return parseInt(withoutPx);
45
- }
46
- render() {
47
- return (h(Host, { class: this.mode === "doughnut" ? "row" : "column" }, this.modeInitialized && h("slot", null)));
48
- }
49
- get el() { return getElement(this); }
50
- };
6
+ let ProgressMonitor = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.wmProgressMonitorModeChange = createEvent(this, "wmProgressMonitorModeChange", 7);
10
+ this.doughnutWidth = 300;
11
+ this.modeInitialized = false;
12
+ this.throttledUpdate = throttle(() => forceUpdate(this.el), 50);
13
+ }
14
+ get parsedBreakpoint() {
15
+ const asNumber = this.parseToNum(this.breakpoint ? this.breakpoint : this.el.children.length);
16
+ // if number < 20, it is treated as width in terms of # of indicators. Otherwise it is a pixel value
17
+ // e.g. 4 -> 1200px, while 768 -> 768 px
18
+ const asPixels = asNumber >= 20 ? asNumber : asNumber * this.doughnutWidth;
19
+ return asPixels;
20
+ }
21
+ get mode() {
22
+ return this.el.clientWidth > this.parsedBreakpoint ? "doughnut" : "bar";
23
+ }
24
+ componentWillLoad() {
25
+ // rerender on resize in case layout needs to change
26
+ const resizeObserver = new ResizeObserver(() => this.throttledUpdate());
27
+ // handles cases when just Progress Monitor resizes, and when just document resizes
28
+ resizeObserver.observe(this.el);
29
+ resizeObserver.observe(document.body);
30
+ }
31
+ componentDidLoad() {
32
+ // emit initial mode for Indicators, must happen post-load as this.el measurement is needed
33
+ this.wmProgressMonitorModeChange.emit(this.mode);
34
+ this.modeInitialized = true;
35
+ // once indicators have initialized modes, rerender to reveal
36
+ forceUpdate(this.el);
37
+ }
38
+ componentWillUpdate() {
39
+ // store prevMode before every render except first to determine when it has changed
40
+ if (this.prevMode !== this.mode) {
41
+ this.wmProgressMonitorModeChange.emit(this.mode);
42
+ }
43
+ this.prevMode = this.mode;
44
+ }
45
+ parseToNum(num) {
46
+ const asString = num.toString();
47
+ const withoutPx = asString.replace("px", "");
48
+ return parseInt(withoutPx);
49
+ }
50
+ render() {
51
+ return (h(Host, { class: this.mode === "doughnut" ? "row" : "column" }, this.modeInitialized && h("slot", null)));
52
+ }
53
+ get el() { return getElement(this); }
54
+ };
51
55
  ProgressMonitor.style = wmProgressMonitorCss;
52
56
 
53
57
  export { ProgressMonitor as wm_progress_monitor };
@@ -1,13 +1,13 @@
1
- import { r as registerInstance, c as createEvent } from './index-d649a861.js';
1
+ import { r as registerInstance, c as createEvent } from './index-7603f98e.js';
2
2
 
3
- const ProgressSlice = class {
4
- constructor(hostRef) {
5
- registerInstance(this, hostRef);
6
- this.wmProgressSliceUpdated = createEvent(this, "wmProgressSliceUpdated", 7);
7
- }
8
- componentDidUpdate() {
9
- this.wmProgressSliceUpdated.emit();
10
- }
3
+ let ProgressSlice = class {
4
+ constructor(hostRef) {
5
+ registerInstance(this, hostRef);
6
+ this.wmProgressSliceUpdated = createEvent(this, "wmProgressSliceUpdated", 7);
7
+ }
8
+ componentDidUpdate() {
9
+ this.wmProgressSliceUpdated.emit();
10
+ }
11
11
  };
12
12
 
13
13
  export { ProgressSlice as wm_progress_slice };
@@ -1,239 +1,239 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-d649a861.js';
2
- import { i as intl } from './functions-b478ef24.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7603f98e.js';
2
+ import { i as intl } from './functions-ecba807c.js';
3
3
 
4
4
  const wmSearchCss = ":host,wm-search{width:100%;font-size:0.875rem}:host *,wm-search *{-webkit-box-sizing:border-box;box-sizing:border-box}:host .wm-search-wrapper,wm-search .wm-search-wrapper{border-radius:3px;position:relative;border:1px solid rgba(35, 35, 35, 0.6);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}:host .wm-search-wrapper .search-icon,wm-search .wm-search-wrapper .search-icon{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;font-size:1.0625rem;position:absolute;left:0.4375rem}:host .wm-search-wrapper input,wm-search .wm-search-wrapper input{border:none;height:40px;padding:0 1.75rem;background:transparent;overflow:visible;width:100%;-ms-flex:1;flex:1;font-family:inherit}:host .wm-search-wrapper input:focus,wm-search .wm-search-wrapper input:focus{outline:none}:host .wm-search-wrapper.focus,wm-search .wm-search-wrapper.focus{-webkit-box-shadow:0 0 0 1px #20cbd4;box-shadow:0 0 0 1px #20cbd4;border-color:#20cbd4;border-radius:3px}:host .find,wm-search .find{min-height:3rem}:host .find input,wm-search .find input{padding:16px 8px 16px 28px}:host .find .wm-find-elements,wm-search .find .wm-find-elements{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;padding-right:16px}:host .find .wm-find-elements wm-button+wm-button,wm-search .find .wm-find-elements wm-button+wm-button{margin-left:0.25rem}:host .find .wm-find-elements .results,wm-search .find .wm-find-elements .results{margin-right:0.5rem;font-style:italic}:host .sr-only,wm-search .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}:host .show-for-tabbers,wm-search .show-for-tabbers{all:unset;color:#575195;text-decoration:none;font-weight:500;font-size:0.875rem;margin:10px 0}:host .show-for-tabbers:hover,wm-search .show-for-tabbers:hover{background:-webkit-gradient(linear, left top, left bottom, from(#575195), to(#575195)) no-repeat;background:linear-gradient(#575195, #575195) no-repeat;background-size:100% 1px;background-position:0 1.2em;padding-bottom:0.2em}:host .show-for-tabbers:focus,wm-search .show-for-tabbers:focus{outline:none;background:-webkit-gradient(linear, left top, right top, color-stop(66%, #3862e9), color-stop(0, transparent)) repeat-x;background:linear-gradient(90deg, #3862e9 66%, transparent 0) repeat-x;background-size:6px 3px;background-position:0 1.2em;padding-bottom:0.2em}";
5
5
 
6
- const Search = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.wmSearchBrowseResults = createEvent(this, "wmSearchBrowseResults", 7);
10
- this.wmBrowseSearchResults = createEvent(this, "wmBrowseSearchResults", 7);
11
- this.wmSearchValueChanged = createEvent(this, "wmSearchValueChanged", 7);
12
- this.searchType = "basic";
13
- this.disabled = false;
14
- /**
15
- * Props required for both variants.
16
- */
17
- this.placeholder = "";
18
- this.label = "";
19
- this.numResults = 0;
20
- /**
21
- * This exposes the input's value on the host component so that the app can access it.
22
- */
23
- this.value = "";
24
- /**
25
- * If the user is tabbing, the search and find variant will display a link to jump to a search result.
26
- */
27
- this.isTabbing = false;
28
- /**
29
- * Prop specifically for the search and find variant. The id points to the id of the option currently highlighted,
30
- * so that tabbing and screen reader users can jump to this option rather than tab through the list to find it.
31
- */
32
- this.highlightedId = "";
33
- this.highlightedName = null;
34
- /**
35
- * Indicates which of the search results is currently highlighted. It will be displayed as "[highlightedNum] of [numResults]" next to the input in the search and find variant.
36
- * This number updates as the user browses using the buttons.
37
- */
38
- this.highlightedNum = 0;
39
- this.previousBlurredValue = "";
40
- /**
41
- * Element refs
42
- */
43
- this.resultsLiveRegion = null;
44
- this.wrapperEl = null;
45
- this.linkEl = null;
46
- }
47
- toggleTabbingOn() {
48
- this.isTabbing = true;
49
- this.linkEl && this.linkEl.classList.remove("sr-only");
50
- this.linkEl && this.linkEl.classList.add("show-for-tabbers");
51
- }
52
- toggleTabbingOff() {
53
- this.isTabbing = false;
54
- this.linkEl && this.linkEl.classList.add("sr-only");
55
- this.linkEl && this.linkEl.classList.remove("show-for-tabbers");
56
- }
57
- componentWillLoad() {
58
- // replacing the prototype's focus event by our own
59
- // to delegate focus to the appropriate el in the shadow root
60
- // we could replace by ShadowRoot.delegatesFocus()
61
- // when there's enough support for it
62
- // @ts-ignore
63
- this.el.focus = function () {
64
- if (!this.disabled) {
65
- this.shadowRoot.querySelector("#wm-search-input").focus();
66
- // onFocus event doesn't run when focus is programmatic,
67
- // so we reproduce this.addFocusStyle here
68
- this.shadowRoot.querySelector("#wm-search-wrapper").classList.add("focus");
69
- }
70
- };
71
- if (this.placeholder === "") {
72
- console.error("You must set the placeholder property for the wm-search component.");
73
- }
74
- if (this.label === "") {
75
- console.error("You must set the label property for the wm-search component.");
76
- }
77
- this.hookToModal();
78
- }
79
- hookToModal() {
80
- // if the search is in a modal we want to clear the input when the modal closes
81
- let el = this.el;
82
- while (!!el) {
83
- if (el.tagName === "WM-MODAL") {
84
- this.parentModal = el;
85
- }
86
- el = el.parentElement;
87
- }
88
- if (this.parentModal) {
89
- const events = ["wmCloseTriggered", "wmPrimaryTriggered", "wmSecondaryTriggered"];
90
- events.map((event) => {
91
- this.parentModal.addEventListener(event, () => {
92
- this.updateValue("");
93
- });
94
- });
95
- }
96
- }
97
- // this undocumented method is needed in hookToModal (needs to be exposed so we can set the callback func)
98
- async updateValue(value) {
99
- this.value = value;
100
- //For search-and-find, the results should always restart at "[1 or 0] of ..." after any new input.
101
- //Reset the highlight count here just in case the new value doesn't end up changing the number of results.
102
- this.resetHighlightCountToStart();
103
- }
104
- resetHighlightCountToStart() {
105
- if (this.searchType === "find") {
106
- if (this.numResults) {
107
- this.highlightedNum = 1;
108
- }
109
- else {
110
- this.highlightedNum = 0;
111
- }
112
- }
113
- }
114
- /**
115
- * Unfortunately, simply rendering the prop values for the number of results or highlighted option in the live regions, ideally so that the screen reader reads them when they change, does not work
116
- * ---NVDA in Firefox only reads the specific letters that change in the prop value. The innerHTML of the live region must be explicitly changed in order for the screen reader to read the words in full, i.e., coherently.
117
- *
118
- * An update of the props triggers a re-render, so setting the live region in componentDidRender ensures the screen reader announces any changes to the number of results/highlighted option.
119
- * Note: Updating the innerHTML of the live region does not cause the component to re-render so there's no performance hit here.
120
- */
121
- componentDidRender() {
122
- this.announceChanges();
123
- }
124
- /**
125
- * Set live region to blank and then update it with the message ensure the screen reader registers the changes.
126
- */
127
- announceChanges() {
128
- let message = this.getResultsMessage();
129
- if (this.searchType === "find" && this.highlightedName) {
130
- message += `, ${this.highlightedName}`;
131
- }
132
- this.resultsLiveRegion && (this.resultsLiveRegion.innerHTML = "");
133
- window.requestAnimationFrame(() => this.resultsLiveRegion && (this.resultsLiveRegion.innerHTML = message));
134
- }
135
- /**
136
- * Creates the message that should be announced by the screen reader.
137
- */
138
- getResultsMessage() {
139
- //If there's no text in the input, don't give any message
140
- if (this.value) {
141
- if (this.searchType === "basic") {
142
- return intl.formatMessage({
143
- id: "search.resultsFound",
144
- defaultMessage: "{numResults, plural, =0 {No results} one {1 result} other {# results}} found",
145
- }, { numResults: this.numResults });
146
- }
147
- else {
148
- return intl.formatMessage({
149
- id: "search.xOfYResults",
150
- defaultMessage: "{numResults, plural, =0 {No results found} other {{current} of {numResults} results}}",
151
- }, { numResults: this.numResults, current: this.highlightedNum });
152
- }
153
- }
154
- else {
155
- return "";
156
- }
157
- }
158
- changeHighlightedNum(newNum) {
159
- if (this.numResults) {
160
- if (newNum < 1) {
161
- // we were on the first item, going down: go to last item
162
- this.highlightedNum = this.numResults;
163
- }
164
- else if (newNum > this.numResults) {
165
- // we were on the last item, going up: go to first item
166
- this.highlightedNum = 1;
167
- }
168
- else {
169
- this.highlightedNum = newNum;
170
- }
171
- this.wmSearchBrowseResults.emit({ position: this.highlightedNum });
172
- this.wmBrowseSearchResults.emit({ position: this.highlightedNum });
173
- }
174
- }
175
- addFocusStyle() {
176
- if (this.wrapperEl) {
177
- this.wrapperEl.classList.add("focus");
178
- }
179
- }
180
- removeFocusStyle() {
181
- if (this.wrapperEl) {
182
- this.wrapperEl.classList.remove("focus");
183
- }
184
- }
185
- handleBlur() {
186
- this.removeFocusStyle();
187
- if (this.previousBlurredValue !== this.value) {
188
- this.wmSearchValueChanged.emit({ value: this.value });
189
- }
190
- this.previousBlurredValue = this.value;
191
- }
192
- /**
193
- * Functions that return elements specifically for search-and-find.
194
- */
195
- renderResultsAndBrowseButtons() {
196
- return (h("div", { class: "wm-find-elements" }, h("div", { id: "results-display", class: "results" }, this.getResultsMessage()), h("div", { class: "wm-button-collection" }, h("wm-button", { "button-type": "icononly", icon: "f05d", tooltip: intl.formatMessage({
197
- id: "global.previous",
198
- description: "button text",
199
- defaultMessage: "previous",
200
- }), "tooltip-position": "bottom", onClick: () => this.changeHighlightedNum(this.highlightedNum - 1), disabled: this.disabled || this.numResults < 2, "label-for-identical-buttons": intl.formatMessage({
201
- id: "search.previousResult",
202
- defaultMessage: "Press to hear previous matching result",
203
- }) }), h("wm-button", { "button-type": "icononly", icon: "f045", tooltip: intl.formatMessage({
204
- id: "global.next",
205
- description: "button text",
206
- defaultMessage: "next",
207
- }), "tooltip-position": "bottom", onClick: () => this.changeHighlightedNum(this.highlightedNum + 1), disabled: this.disabled || this.numResults < 2, "label-for-identical-buttons": intl.formatMessage({
208
- id: "search.nextResult",
209
- defaultMessage: "Press to hear next matching result",
210
- }) }))));
211
- }
212
- renderJumpToLink() {
213
- if (this.numResults && this.highlightedId) {
214
- return (h("a", { ref: (el) => (this.linkEl = el), href: `#${this.highlightedId}`, class: "sr-only" }, intl.formatMessage({
215
- id: "search.jumpToResult",
216
- defaultMessage: "Jump to search result in list",
217
- })));
218
- }
219
- else {
220
- return null;
221
- }
222
- }
223
- /**
224
- * End search and find render helpers
225
- */
226
- render() {
227
- return (h(Host, null, h("div", { id: "wm-search-wrapper", class: `wm-search-wrapper ${this.searchType}`, ref: (el) => (this.wrapperEl = el) }, h("input", { disabled: this.disabled, id: "wm-search-input", placeholder: this.placeholder, "aria-label": `${this.label ? this.label + ". " : ""}${intl.formatMessage({
228
- id: "search.typeToFilterResults",
229
- defaultMessage: "Type to filter the results",
230
- })}`, onInput: (ev) => this.updateValue(ev.target.value), onFocus: () => this.addFocusStyle(), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { class: "mdi search-icon" }, String.fromCodePoint(parseInt(`0xf349`))), this.searchType === "find" && this.renderResultsAndBrowseButtons(), h("div", { id: "wm-search-live", class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.resultsLiveRegion = el) })), this.searchType === "find" && this.renderJumpToLink()));
231
- }
232
- get el() { return getElement(this); }
233
- static get watchers() { return {
234
- "numResults": ["resetHighlightCountToStart"]
235
- }; }
236
- };
6
+ let Search = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.wmSearchBrowseResults = createEvent(this, "wmSearchBrowseResults", 7);
10
+ this.wmBrowseSearchResults = createEvent(this, "wmBrowseSearchResults", 7);
11
+ this.wmSearchValueChanged = createEvent(this, "wmSearchValueChanged", 7);
12
+ this.searchType = "basic";
13
+ this.disabled = false;
14
+ /**
15
+ * Props required for both variants.
16
+ */
17
+ this.placeholder = "";
18
+ this.label = "";
19
+ this.numResults = 0;
20
+ /**
21
+ * This exposes the input's value on the host component so that the app can access it.
22
+ */
23
+ this.value = "";
24
+ /**
25
+ * If the user is tabbing, the search and find variant will display a link to jump to a search result.
26
+ */
27
+ this.isTabbing = false;
28
+ /**
29
+ * Prop specifically for the search and find variant. The id points to the id of the option currently highlighted,
30
+ * so that tabbing and screen reader users can jump to this option rather than tab through the list to find it.
31
+ */
32
+ this.highlightedId = "";
33
+ this.highlightedName = null;
34
+ /**
35
+ * Indicates which of the search results is currently highlighted. It will be displayed as "[highlightedNum] of [numResults]" next to the input in the search and find variant.
36
+ * This number updates as the user browses using the buttons.
37
+ */
38
+ this.highlightedNum = 0;
39
+ this.previousBlurredValue = "";
40
+ /**
41
+ * Element refs
42
+ */
43
+ this.resultsLiveRegion = null;
44
+ this.wrapperEl = null;
45
+ this.linkEl = null;
46
+ }
47
+ toggleTabbingOn() {
48
+ this.isTabbing = true;
49
+ this.linkEl && this.linkEl.classList.remove("sr-only");
50
+ this.linkEl && this.linkEl.classList.add("show-for-tabbers");
51
+ }
52
+ toggleTabbingOff() {
53
+ this.isTabbing = false;
54
+ this.linkEl && this.linkEl.classList.add("sr-only");
55
+ this.linkEl && this.linkEl.classList.remove("show-for-tabbers");
56
+ }
57
+ componentWillLoad() {
58
+ // replacing the prototype's focus event by our own
59
+ // to delegate focus to the appropriate el in the shadow root
60
+ // we could replace by ShadowRoot.delegatesFocus()
61
+ // when there's enough support for it
62
+ // @ts-ignore
63
+ this.el.focus = function () {
64
+ if (!this.disabled) {
65
+ this.shadowRoot.querySelector("#wm-search-input").focus();
66
+ // onFocus event doesn't run when focus is programmatic,
67
+ // so we reproduce this.addFocusStyle here
68
+ this.shadowRoot.querySelector("#wm-search-wrapper").classList.add("focus");
69
+ }
70
+ };
71
+ if (this.placeholder === "") {
72
+ console.error("You must set the placeholder property for the wm-search component.");
73
+ }
74
+ if (this.label === "") {
75
+ console.error("You must set the label property for the wm-search component.");
76
+ }
77
+ this.hookToModal();
78
+ }
79
+ hookToModal() {
80
+ // if the search is in a modal we want to clear the input when the modal closes
81
+ let el = this.el;
82
+ while (!!el) {
83
+ if (el.tagName === "WM-MODAL") {
84
+ this.parentModal = el;
85
+ }
86
+ el = el.parentElement;
87
+ }
88
+ if (this.parentModal) {
89
+ const events = ["wmCloseTriggered", "wmPrimaryTriggered", "wmSecondaryTriggered"];
90
+ events.map((event) => {
91
+ this.parentModal.addEventListener(event, () => {
92
+ this.updateValue("");
93
+ });
94
+ });
95
+ }
96
+ }
97
+ // this undocumented method is needed in hookToModal (needs to be exposed so we can set the callback func)
98
+ async updateValue(value) {
99
+ this.value = value;
100
+ //For search-and-find, the results should always restart at "[1 or 0] of ..." after any new input.
101
+ //Reset the highlight count here just in case the new value doesn't end up changing the number of results.
102
+ this.resetHighlightCountToStart();
103
+ }
104
+ resetHighlightCountToStart() {
105
+ if (this.searchType === "find") {
106
+ if (this.numResults) {
107
+ this.highlightedNum = 1;
108
+ }
109
+ else {
110
+ this.highlightedNum = 0;
111
+ }
112
+ }
113
+ }
114
+ /**
115
+ * Unfortunately, simply rendering the prop values for the number of results or highlighted option in the live regions, ideally so that the screen reader reads them when they change, does not work
116
+ * ---NVDA in Firefox only reads the specific letters that change in the prop value. The innerHTML of the live region must be explicitly changed in order for the screen reader to read the words in full, i.e., coherently.
117
+ *
118
+ * An update of the props triggers a re-render, so setting the live region in componentDidRender ensures the screen reader announces any changes to the number of results/highlighted option.
119
+ * Note: Updating the innerHTML of the live region does not cause the component to re-render so there's no performance hit here.
120
+ */
121
+ componentDidRender() {
122
+ this.announceChanges();
123
+ }
124
+ /**
125
+ * Set live region to blank and then update it with the message ensure the screen reader registers the changes.
126
+ */
127
+ announceChanges() {
128
+ let message = this.getResultsMessage();
129
+ if (this.searchType === "find" && this.highlightedName) {
130
+ message += `, ${this.highlightedName}`;
131
+ }
132
+ this.resultsLiveRegion && (this.resultsLiveRegion.innerHTML = "");
133
+ window.requestAnimationFrame(() => this.resultsLiveRegion && (this.resultsLiveRegion.innerHTML = message));
134
+ }
135
+ /**
136
+ * Creates the message that should be announced by the screen reader.
137
+ */
138
+ getResultsMessage() {
139
+ //If there's no text in the input, don't give any message
140
+ if (this.value) {
141
+ if (this.searchType === "basic") {
142
+ return intl.formatMessage({
143
+ id: "search.resultsFound",
144
+ defaultMessage: "{numResults, plural, =0 {No results} one {1 result} other {# results}} found",
145
+ }, { numResults: this.numResults });
146
+ }
147
+ else {
148
+ return intl.formatMessage({
149
+ id: "search.xOfYResults",
150
+ defaultMessage: "{numResults, plural, =0 {No results found} other {{current} of {numResults} results}}",
151
+ }, { numResults: this.numResults, current: this.highlightedNum });
152
+ }
153
+ }
154
+ else {
155
+ return "";
156
+ }
157
+ }
158
+ changeHighlightedNum(newNum) {
159
+ if (this.numResults) {
160
+ if (newNum < 1) {
161
+ // we were on the first item, going down: go to last item
162
+ this.highlightedNum = this.numResults;
163
+ }
164
+ else if (newNum > this.numResults) {
165
+ // we were on the last item, going up: go to first item
166
+ this.highlightedNum = 1;
167
+ }
168
+ else {
169
+ this.highlightedNum = newNum;
170
+ }
171
+ this.wmSearchBrowseResults.emit({ position: this.highlightedNum });
172
+ this.wmBrowseSearchResults.emit({ position: this.highlightedNum });
173
+ }
174
+ }
175
+ addFocusStyle() {
176
+ if (this.wrapperEl) {
177
+ this.wrapperEl.classList.add("focus");
178
+ }
179
+ }
180
+ removeFocusStyle() {
181
+ if (this.wrapperEl) {
182
+ this.wrapperEl.classList.remove("focus");
183
+ }
184
+ }
185
+ handleBlur() {
186
+ this.removeFocusStyle();
187
+ if (this.previousBlurredValue !== this.value) {
188
+ this.wmSearchValueChanged.emit({ value: this.value });
189
+ }
190
+ this.previousBlurredValue = this.value;
191
+ }
192
+ /**
193
+ * Functions that return elements specifically for search-and-find.
194
+ */
195
+ renderResultsAndBrowseButtons() {
196
+ return (h("div", { class: "wm-find-elements" }, h("div", { id: "results-display", class: "results" }, this.getResultsMessage()), h("div", { class: "wm-button-collection" }, h("wm-button", { "button-type": "icononly", icon: "f05d", tooltip: intl.formatMessage({
197
+ id: "global.previous",
198
+ description: "button text",
199
+ defaultMessage: "previous",
200
+ }), "tooltip-position": "bottom", onClick: () => this.changeHighlightedNum(this.highlightedNum - 1), disabled: this.disabled || this.numResults < 2, "label-for-identical-buttons": intl.formatMessage({
201
+ id: "search.previousResult",
202
+ defaultMessage: "Press to hear previous matching result",
203
+ }) }), h("wm-button", { "button-type": "icononly", icon: "f045", tooltip: intl.formatMessage({
204
+ id: "global.next",
205
+ description: "button text",
206
+ defaultMessage: "next",
207
+ }), "tooltip-position": "bottom", onClick: () => this.changeHighlightedNum(this.highlightedNum + 1), disabled: this.disabled || this.numResults < 2, "label-for-identical-buttons": intl.formatMessage({
208
+ id: "search.nextResult",
209
+ defaultMessage: "Press to hear next matching result",
210
+ }) }))));
211
+ }
212
+ renderJumpToLink() {
213
+ if (this.numResults && this.highlightedId) {
214
+ return (h("a", { ref: (el) => (this.linkEl = el), href: `#${this.highlightedId}`, class: "sr-only" }, intl.formatMessage({
215
+ id: "search.jumpToResult",
216
+ defaultMessage: "Jump to search result in list",
217
+ })));
218
+ }
219
+ else {
220
+ return null;
221
+ }
222
+ }
223
+ /**
224
+ * End search and find render helpers
225
+ */
226
+ render() {
227
+ return (h(Host, null, h("div", { id: "wm-search-wrapper", class: `wm-search-wrapper ${this.searchType}`, ref: (el) => (this.wrapperEl = el) }, h("input", { disabled: this.disabled, id: "wm-search-input", placeholder: this.placeholder, "aria-label": `${this.label ? this.label + ". " : ""}${intl.formatMessage({
228
+ id: "search.typeToFilterResults",
229
+ defaultMessage: "Type to filter the results",
230
+ })}`, onInput: (ev) => this.updateValue(ev.target.value), onFocus: () => this.addFocusStyle(), onBlur: () => this.handleBlur(), "aria-autocomplete": "none", autocomplete: "off", value: this.value }), h("span", { class: "mdi search-icon" }, String.fromCodePoint(parseInt(`0xf349`))), this.searchType === "find" && this.renderResultsAndBrowseButtons(), h("div", { id: "wm-search-live", class: "sr-only", "aria-live": "polite", "aria-atomic": "true", ref: (el) => (this.resultsLiveRegion = el) })), this.searchType === "find" && this.renderJumpToLink()));
231
+ }
232
+ get el() { return getElement(this); }
233
+ static get watchers() { return {
234
+ "numResults": ["resetHighlightCountToStart"]
235
+ }; }
236
+ };
237
237
  Search.style = wmSearchCss;
238
238
 
239
239
  export { Search as wm_search };